2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
23 import jalview.datamodel.SequenceI;
24 import jalview.structure.StructureMapping;
25 import jalview.ws.sifts.MappingOutputPojo;
26 import jalview.ws.sifts.SiftsException;
27 import jalview.xml.binding.sifts.Entry.Entity;
29 import java.util.HashMap;
30 import java.util.HashSet;
32 // JBPComment: this isn't a top-level Jalview API - should be in its own package api
34 public interface SiftsClientI
37 * Get the DB Accession Id for the SIFTs Entry
41 public String getDbAccessionId();
44 * Get DB Coordinate system for the SIFTs Entry
48 public String getDbCoordSys();
51 * Get DB Evidence for the SIFTs Entry
55 public String getDbEvidence();
58 * Get DB Source for the SIFTs Entry
62 public String getDbSource();
65 * Get DB version for the SIFTs Entry
69 public String getDbVersion();
72 * Get Number of Entities available in the SIFTs Entry
76 public int getEntityCount();
79 * Get a unique Entity by its Id
82 * ID of the entity to fetch
86 public Entity getEntityById(String id) throws SiftsException;
89 * Get all accession Ids available in the current SIFTs entry
91 * @return a unique set of discovered accession strings
93 public HashSet<String> getAllMappingAccession();
96 * Check if the accessionId is available in current SIFTs Entry
101 public boolean isAccessionMatched(String accessionId);
104 * Get the standard DB referenced by the SIFTs Entry
108 public String[] getEntryDBs();
114 * @return Sequence<->Structure mapping as int[][]
115 * @throws SiftsException
117 public StringBuffer getMappingOutput(MappingOutputPojo mop)
118 throws SiftsException;
123 * sequence to generate mapping against the structure
125 * PDB file for the mapping
127 * the chain of the entry to use for mapping
128 * @return StructureMapping
129 * @throws SiftsException
131 public StructureMapping getSiftsStructureMapping(SequenceI seq,
132 String pdbFile, String chain) throws SiftsException;
135 * Get residue by residue mapping for a given Sequence and SIFTs entity
138 * Id of the target entity in the SIFTs entry
141 * @return generated mapping
144 public HashMap<Integer, int[]> getGreedyMapping(String entityId,
146 java.io.PrintStream os) throws SiftsException;