JAL-1705 refactored cross-reference fetching (CCDS, Uniprot, PDB)
[jalview.git] / src / jalview / ext / ensembl / EnsemblProtein.java
1 package jalview.ext.ensembl;
2
3 import jalview.datamodel.AlignmentI;
4 import jalview.datamodel.SequenceFeature;
5
6 import java.util.Arrays;
7 import java.util.List;
8
9 public class EnsemblProtein extends EnsemblSeqProxy
10 {
11
12   private static final List<String> CROSSREFS = Arrays.asList(new String[] {
13       "PDB", "Uniprot/SPTREMBL", "Uniprot/SWISSPROT" });
14
15   public EnsemblProtein()
16   {
17     super();
18   }
19
20   @Override
21   public String getDbName()
22   {
23     return "ENSEMBL (Protein)";
24   }
25
26   @Override
27   protected EnsemblSeqType getSourceEnsemblType()
28   {
29     return EnsemblSeqType.PROTEIN;
30   }
31
32   /**
33    * Returns false, as this fetcher does not retrieve DNA sequences.
34    */
35   @Override
36   public boolean isDnaCoding()
37   {
38     return false;
39   }
40
41   /**
42    * Test query is to the protein translation of transcript ENST00000288602
43    */
44   @Override
45   public String getTestQuery()
46   {
47     return "ENSP00000288602";
48   }
49
50   /**
51    * Overrides base class method to do nothing - genomic features are not
52    * applicable to the protein product sequence
53    */
54   @Override
55   protected void addFeaturesAndProduct(String accId, AlignmentI alignment)
56   {
57   }
58
59   @Override
60   protected EnsemblFeatureType[] getFeaturesToFetch()
61   {
62     // not applicable - can't fetch genomic features for a protein sequence
63     return null;
64   }
65
66   @Override
67   protected boolean identifiesSequence(SequenceFeature sf, String accId)
68   {
69     // not applicable - protein sequence is not a 'subset' of genomic sequence
70     return false;
71   }
72
73   @Override
74   protected List<String> getCrossReferenceDatabases()
75   {
76     return CROSSREFS;
77   }
78
79 }