import jalview.datamodel.SequenceI;
import jalview.structure.StructureMapping;
+import jalview.ws.sifts.MappingOutputPojo;
+import jalview.ws.sifts.SiftsException;
import jalview.xml.binding.sifts.Entry.Entity;
+import java.util.HashMap;
import java.util.HashSet;
+// JBPComment: this isn't a top-level Jalview API - should be in its own package api
+
public interface SiftsClientI
{
/**
public String getDbCoordSys();
/**
- * Get DB Evidence for the SIFTs Entry
- *
- * @return
- */
- public String getDbEvidence();
-
- /**
* Get DB Source for the SIFTs Entry
*
* @return
* @return Entity
* @throws Exception
*/
- public Entity getEntityById(String id) throws Exception;
+ public Entity getEntityById(String id) throws SiftsException;
/**
* Get all accession Ids available in the current SIFTs entry
* @param accessionId
* @return
*/
- public boolean isFoundInSiftsEntry(String accessionId);
+ public boolean isAccessionMatched(String accessionId);
/**
- * Get the standard DB referenced by the SIFTs Entry
*
- * @return
+ * @param mop
+ * MappingOutputPojo
+ * @return Sequence<->Structure mapping as int[][]
+ * @throws SiftsException
*/
- public String[] getEntryDBs();
-
- /**
- * Get the SIFTs Entry details
- */
- public void getEntryDetails();
-
- /**
- *
- * @param seq1
- * Sequence to map
- * @param seq2
- * Structure Sequence
- * @param seqID1
- * sequence id
- * @param seqID2
- * structure sequence id
- * @param seqType
- * type of sequence for the mapping (pep or protein)
- * @param nochunks
- * @return sequence->structure mapping as int [][]
- */
- public StringBuffer getMappingOutput(String seq1, String seq2,
- String seqID1, String seqID2, String seqType, int nochunks);
+ public StringBuilder getMappingOutput(MappingOutputPojo mop)
+ throws SiftsException;
/**
*
* @param chain
* the chain of the entry to use for mapping
* @return StructureMapping
+ * @throws SiftsException
*/
- public StructureMapping getSiftsStructureMapping(SequenceI seq, String pdbFile,
- String chain);
-
+ public StructureMapping getSiftsStructureMapping(SequenceI seq,
+ String pdbFile, String chain) throws SiftsException;
+
/**
* Get residue by residue mapping for a given Sequence and SIFTs entity
*
* @return generated mapping
* @throws Exception
*/
- public int[][] getGreedyMapping(String entityId, SequenceI seq,
- java.io.PrintStream os) throws Exception;
+ public HashMap<Integer, int[]> getGreedyMapping(String entityId,
+ SequenceI seq, java.io.PrintStream os) throws SiftsException;
}
\ No newline at end of file