JAL-1705 fetch all Ensembl xrefs (except GO terms)
[jalview.git] / src / jalview / ext / ensembl / EnsemblGene.java
index aa5e0ab..0bc6a74 100644 (file)
@@ -1,7 +1,7 @@
 package jalview.ext.ensembl;
 
 import jalview.api.FeatureColourI;
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceFeature;
@@ -325,19 +325,19 @@ public class EnsemblGene extends EnsemblSeqProxy
     List<int[]> mapTo = new ArrayList<int[]>();
     mapTo.add(new int[] { 1, transcriptLength });
     MapList mapping = new MapList(mappedFrom, mapTo, 1, 1);
-    new EnsemblCdna(getDomain()).transferFeatures(
-            gene.getSequenceFeatures(), transcript.getDatasetSequence(),
-            mapping, parentId);
+    EnsemblCdna cdna = new EnsemblCdna(getDomain());
+    cdna.transferFeatures(gene.getSequenceFeatures(),
+            transcript.getDatasetSequence(), mapping, parentId);
 
     /*
      * fetch and save cross-references
      */
-    super.getCrossReferences(transcript);
+    cdna.getCrossReferences(transcript);
 
     /*
      * and finally fetch the protein product and save as a cross-reference
      */
-    new EnsemblCdna(getDomain()).addProteinProduct(transcript);
+    cdna.addProteinProduct(transcript);
 
     return transcript;
   }
@@ -462,15 +462,6 @@ public class EnsemblGene extends EnsemblSeqProxy
     return false;
   }
 
-  @Override
-  protected List<String> getCrossReferenceDatabases()
-  {
-    // found these for ENSG00000157764 on 30/01/2016:
-    // return new String[] {"Vega_gene", "OTTG", "ENS_LRG_gene", "ArrayExpress",
-    // "EntrezGene", "HGNC", "MIM_GENE", "MIM_MORBID", "WikiGene"};
-    return super.getCrossReferenceDatabases();
-  }
-
   /**
    * Override to do nothing as Ensembl doesn't return a protein sequence for a
    * gene identifier
@@ -486,8 +477,18 @@ public class EnsemblGene extends EnsemblSeqProxy
     return ACCESSION_REGEX;
   }
 
+  /**
+   * Returns a descriptor for suitable feature display settings with
+   * <ul>
+   * <li>only exon or sequence_variant features (or their subtypes in the
+   * Sequence Ontology) visible</li>
+   * <li>variant features coloured red</li>
+   * <li>exon features coloured by label (exon name)</li>
+   * <li>variants displayed above (on top of) exons</li>
+   * </ul>
+   */
   @Override
-  public FeatureSettingsI getFeatureColourScheme()
+  public FeatureSettingsModelI getFeatureColourScheme()
   {
     return new FeatureSettingsAdapter()
     {