Can specify PDB chain to map sequence to - only used by applet so far
[jalview.git] / src / jalview / structure / StructureSelectionManager.java
index 550fce0..5af3d8e 100644 (file)
@@ -69,9 +69,11 @@ public class StructureSelectionManager
      There will be better ways of doing this in the future, for now we'll use
      the tried and tested MCview pdb mapping
    */
-  synchronized public MCview.PDBfile setMapping(SequenceI[] sequence,
-                           String pdbFile,
-                           String protocol)
+  synchronized public MCview.PDBfile setMapping(
+      SequenceI[] sequence,
+      String[] targetChains,
+      String pdbFile,
+      String protocol)
   {
     MCview.PDBfile pdb = null;
     try
@@ -84,15 +86,19 @@ public class StructureSelectionManager
       return null;
     }
 
+    String targetChain;
     for (int s = 0; s < sequence.length; s++)
     {
-      String targetChain = "";
-
-      if (sequence[s].getName().indexOf("|") > -1)
+      if(targetChains!=null && targetChains[s]!=null)
+        targetChain = targetChains[s];
+      else if (sequence[s].getName().indexOf("|") > -1)
       {
         targetChain = sequence[s].getName().substring(
             sequence[s].getName().lastIndexOf("|") + 1);
       }
+      else
+        targetChain = "";
+
 
       int max = -10;
       AlignSeq maxAlignseq = null;
@@ -184,7 +190,7 @@ public class StructureSelectionManager
 
       if(protocol.equals(jalview.io.AppletFormatAdapter.PASTE))
         pdbFile = "INLINE"+pdb.id;
-      
+
       mappings[mappings.length - 1]
           = new StructureMapping(sequence[s], pdbFile, pdb.id, maxChainId,
                                  mapping, mappingDetails.toString());
@@ -242,6 +248,7 @@ public class StructureSelectionManager
 
         for (int j = 0; j < mappings.length; j++)
         {
+
           if (mappings[j].pdbfile.equals(pdbfile) &&
               mappings[j].pdbchain.equals(chain))
           {
@@ -286,7 +293,10 @@ public class StructureSelectionManager
 
   public Annotation[] colourSequenceFromStructure(SequenceI seq, String pdbid)
   {
-    Annotation [] annotations = new Annotation[seq.getLength()];
+    return null;
+    //THIS WILL NOT BE AVAILABLE IN JALVIEW 2.3,
+    //UNTIL THE COLOUR BY ANNOTATION IS REWORKED
+   /* Annotation [] annotations = new Annotation[seq.getLength()];
 
     StructureListener sl;
     int atomNo = 0;
@@ -320,9 +330,6 @@ public class StructureSelectionManager
                                  mappings[j].getPDBResNum(index),
                                  mappings[j].pdbchain,
                                  mappings[j].pdbfile);
-
-            //    System.out.println(atomNo+" "+mappings[j].getPDBResNum(index)
-            //                     +" "+index+" "+col);
               }
 
               annotations[index] = new Annotation("X",null,' ',0,col);
@@ -333,27 +340,15 @@ public class StructureSelectionManager
       }
     }
 
-    return annotations;
+    return annotations;*/
   }
 
 
   public void structureSelectionChanged()
-  {
-    StructureListener svl;
-    for (int i = 0; i < listeners.size(); i++)
-    {
-      svl = (StructureListener) listeners.elementAt(i);
-    }
-  }
+  {  }
 
   public void sequenceSelectionChanged()
-  {
-    StructureListener svl;
-    for (int i = 0; i < listeners.size(); i++)
-    {
-      svl = (StructureListener) listeners.elementAt(i);
-    }
-  }
+  {  }
 
   public void sequenceColoursChanged(Object source)
   {