1 package jalview.ext.ensembl;
3 import jalview.datamodel.DBRefSource;
4 import jalview.ws.seqfetcher.DbSourceProxyImpl;
6 import com.stevesoft.pat.Regex;
9 * A base class for Ensembl sequence fetchers
14 public abstract class EnsemblSequenceFetcher extends DbSourceProxyImpl
17 * possible values for the 'feature' parameter of the REST overlap endpoint
20 protected enum EnsemblFeatureType
22 gene, transcript, cds, exon, repeat, simple, misc, variation,
23 somatic_variation, structural_variation, somatic_structural_variation,
24 constrained, regulatory
28 public String getDbSource()
30 // NB ensure Uniprot xrefs are canonicalised from "Ensembl" to "ENSEMBL"
31 return DBRefSource.ENSEMBL; // "ENSEMBL"
35 public String getDbVersion()
41 public String getAccessionSeparator()
47 public Regex getAccessionValidator()
49 return new Regex("((ENSP|ENST|ENSG|CCDS)[0-9.]{3,})");
53 public boolean isValidReference(String accession)
55 return getAccessionValidator().search(accession);
65 * Default test query is a transcript
68 public String getTestQuery()
70 // has CDS on reverse strand:
71 return "ENST00000288602";
72 // ENST00000461457 // forward strand
76 public boolean isDnaCoding()