Load pdb file with applet
[jalview.git] / src / MCview / PDBChain.java
index 3cf73d1..1fade31 100755 (executable)
@@ -25,6 +25,7 @@ import jalview.schemes.ResidueProperties;
 import java.awt.*;\r
 \r
 import java.util.*;\r
+import jalview.analysis.AlignSeq;\r
 \r
 \r
 public class PDBChain {\r
@@ -39,9 +40,7 @@ public class PDBChain {
     public int pdbend = 0;\r
     public int seqstart = 0;\r
     public int seqend = 0;\r
-    public int [] seqMapping;\r
 \r
-    //public DrawableSequence ds;\r
     public PDBChain(String id) {\r
         this.id = id;\r
     }\r
@@ -58,6 +57,38 @@ public class PDBChain {
         return tmp;\r
     }\r
 \r
+    void makeExactMapping(AlignSeq as, Sequence s1)\r
+    {\r
+        int pdbpos =   as.getSeq2Start()-2;\r
+        int alignpos = s1.getStart() + as.getSeq1Start()-3;\r
+\r
+        for(int i=0; i<as.astr1.length(); i++)\r
+        {\r
+            if (as.astr1.charAt(i) != '-')\r
+            {\r
+              alignpos++;\r
+            }\r
+\r
+            if (as.astr2.charAt(i) != '-')\r
+            {\r
+              pdbpos++;\r
+            }\r
+\r
+            if (as.astr1.charAt(i) == as.astr2.charAt(i))\r
+            {\r
+                Residue res = (Residue) residues.elementAt(pdbpos);\r
+                Enumeration en = res.atoms.elements();\r
+                while (en.hasMoreElements())\r
+                {\r
+                  Atom atom = (Atom) en.nextElement();\r
+                  atom.alignmentMapping = alignpos;\r
+                }\r
+            }\r
+        }\r
+\r
+    }\r
+\r
+\r
     public void makeCaBondList()\r
     {\r
         for (int i = 0; i < (residues.size() - 1); i++)\r