JAL-629 improvements to argparser toString. Improvements to cli paeFile structure...
[jalview.git] / src / jalview / ws / dbsources / EBIAlfaFold.java
index 8609046..5165d04 100644 (file)
@@ -154,20 +154,12 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
   @Override
   public AlignmentI getSequenceRecords(String queries) throws Exception
   {
-    // used by the SequenceFetcher. Put forSequencesOnly to true (don't open
-    // structure viewer later)
-    return getSequenceRecords(queries, null, true);
+    return getSequenceRecords(queries, null);
   }
 
   public AlignmentI getSequenceRecords(String queries, String retrievalUrl)
           throws Exception
   {
-    return getSequenceRecords(queries, retrievalUrl, false);
-  }
-
-  public AlignmentI getSequenceRecords(String queries, String retrievalUrl,
-          boolean forSequencesOnly) throws Exception
-  {
     AlignmentI pdbAlignment = null;
     String chain = null;
     String id = null;
@@ -226,8 +218,6 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
       stopQuery();
       throw (ex);
     }
-    // distinguish between AlphaFold cif/pdb opened as structure file or fetched
-    // as sequence/alignment
     return pdbAlignment;
   }
 
@@ -304,11 +294,12 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
           AlignmentI pdbAlignment, String retrievalUrl) throws IOException
   {
     File pae = fetchAlphaFoldPAE(id, retrievalUrl);
-    addAlphaFoldPAE(pdbAlignment, pae, 0, null, false, false);
+    addAlphaFoldPAE(pdbAlignment, pae, 0, null, false, false, null);
   }
 
   public static void addAlphaFoldPAE(AlignmentI pdbAlignment, File pae,
-          int index, String id, boolean isStruct, boolean isStructId)
+          int index, String id, boolean isStruct, boolean isStructId,
+          String label)
   {
     FileInputStream paeInput = null;
     try
@@ -328,7 +319,7 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
       if (ssm != null)
       {
         String structFilename = isStructId ? ssm.findFileForPDBId(id) : id;
-        addPAEToStructure(ssm, structFilename, pae);
+        addPAEToStructure(ssm, structFilename, pae, label);
       }
 
     }
@@ -338,7 +329,7 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
       try
       {
         if (!importPaeJSONAsContactMatrixToSequence(pdbAlignment, paeInput,
-                index, id))
+                index, id, label))
         {
           Console.warn("Could not import contact matrix from '"
                   + pae.getAbsolutePath() + "' to sequence.");
@@ -357,7 +348,7 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
   }
 
   public static void addPAEToStructure(StructureSelectionManager ssm,
-          String structFilename, File pae)
+          String structFilename, File pae, String label)
   {
     FileInputStream paeInput = null;
     try
@@ -380,7 +371,8 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
 
       try
       {
-        if (!importPaeJSONAsContactMatrixToStructure(smArray, paeInput))
+        if (!importPaeJSONAsContactMatrixToStructure(smArray, paeInput,
+                label))
         {
           Console.warn("Could not import contact matrix from '"
                   + pae.getAbsolutePath() + "' to structure.");
@@ -410,7 +402,7 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
    */
   public static boolean importPaeJSONAsContactMatrixToSequence(
           AlignmentI pdbAlignment, InputStream pae_input, int index,
-          String seqId) throws IOException, ParseException
+          String seqId, String label) throws IOException, ParseException
   {
     SequenceI sequence = null;
     if (seqId == null)
@@ -437,12 +429,13 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
       return false;
     }
     return importPaeJSONAsContactMatrixToSequence(pdbAlignment, pae_input,
-            sequence);
+            sequence, label);
   }
 
   public static boolean importPaeJSONAsContactMatrixToSequence(
           AlignmentI pdbAlignment, InputStream pae_input,
-          SequenceI sequence) throws IOException, ParseException
+          SequenceI sequence, String label)
+          throws IOException, ParseException
   {
     JSONObject paeDict = parseJSONtoPAEContactMatrix(pae_input);
     if (paeDict == null)
@@ -454,6 +447,8 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
             (Map<String, Object>) paeDict);
 
     AlignmentAnnotation cmannot = sequence.addContactList(matrix);
+    if (label != null)
+      cmannot.label = label;
     pdbAlignment.addAnnotation(cmannot);
 
     return true;
@@ -479,21 +474,21 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
   }
 
   public static boolean importPaeJSONAsContactMatrixToStructure(
-          StructureMapping[] smArray, InputStream paeInput)
+          StructureMapping[] smArray, InputStream paeInput, String label)
           throws IOException, ParseException
   {
     boolean someDone = false;
     for (StructureMapping sm : smArray)
     {
       boolean thisDone = importPaeJSONAsContactMatrixToStructure(sm,
-              paeInput);
+              paeInput, label);
       someDone |= thisDone;
     }
     return someDone;
   }
 
   public static boolean importPaeJSONAsContactMatrixToStructure(
-          StructureMapping sm, InputStream paeInput)
+          StructureMapping sm, InputStream paeInput, String label)
           throws IOException, ParseException
   {
     JSONObject pae_obj = parseJSONtoPAEContactMatrix(paeInput);
@@ -507,6 +502,11 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy
             (Map<String, Object>) pae_obj);
 
     AlignmentAnnotation cmannot = sm.getSequence().addContactList(matrix);
+    if (label != null)
+    {
+      Console.debug("Setting annotation label to '" + label + "'");
+      cmannot.label = label;
+    }
     sm.getSequence().addAlignmentAnnotation(cmannot);
 
     return true;