X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FEBIAlfaFold.java;h=fd10c794f0a095fcfa5c561d2d9f3129da813651;hb=beb2fee66dde629e3bbb7febb38d0116e1a64df2;hp=b6fa642fa1ab72c3e3bae5915a0b62c8c5fbad58;hpb=80b889f0cca49103e1b20ed806755a0719789906;p=jalview.git diff --git a/src/jalview/ws/dbsources/EBIAlfaFold.java b/src/jalview/ws/dbsources/EBIAlfaFold.java index b6fa642..fd10c79 100644 --- a/src/jalview/ws/dbsources/EBIAlfaFold.java +++ b/src/jalview/ws/dbsources/EBIAlfaFold.java @@ -295,11 +295,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 @@ -314,12 +315,14 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy if (isStruct) { + // ###### WRITE A TEST for this bit of the logic addAlphaFoldPAE with + // different params. StructureSelectionManager ssm = StructureSelectionManager .getStructureSelectionManager(Desktop.instance); if (ssm != null) { String structFilename = isStructId ? ssm.findFileForPDBId(id) : id; - addPAEToStructure(ssm, structFilename, pae); + addPAEToStructure(ssm, structFilename, pae, label); } } @@ -329,7 +332,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."); @@ -348,7 +351,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 @@ -371,7 +374,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."); @@ -401,7 +405,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) @@ -428,12 +432,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) @@ -446,6 +451,8 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy matrix.setGroupSet(GroupSet.makeGroups(matrix, 5f, true)); AlignmentAnnotation cmannot = sequence.addContactList(matrix); + if (label != null) + cmannot.label = label; pdbAlignment.addAnnotation(cmannot); return true; @@ -470,22 +477,23 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy return paeDict; } + // ###### TEST THIS 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); @@ -495,12 +503,14 @@ public class EBIAlfaFold extends EbiFileRetrievedProxy return false; } - ContactMatrixI matrix = new PAEContactMatrix(sm.getSequence(), + SequenceI seq = sm.getSequence(); + ContactMatrixI matrix = new PAEContactMatrix(seq, (Map) pae_obj); matrix.setGroupSet(GroupSet.makeGroups(matrix, 5f, true)); AlignmentAnnotation cmannot = sm.getSequence().addContactList(matrix); - sm.getSequence().addAlignmentAnnotation(cmannot); - + /* this already happens in Sequence.addContactList() + seq.addAlignmentAnnotation(cmannot); + */ return true; }