JAL-2003 export features on alignment, not alignment dataset
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 4 Feb 2016 10:28:29 +0000 (10:28 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 4 Feb 2016 10:28:29 +0000 (10:28 +0000)
src/jalview/ext/ensembl/EnsemblOverlap.java [deleted file]
src/jalview/gui/AnnotationExporter.java

diff --git a/src/jalview/ext/ensembl/EnsemblOverlap.java b/src/jalview/ext/ensembl/EnsemblOverlap.java
deleted file mode 100644 (file)
index 507b6f8..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-package jalview.ext.ensembl;
-
-import jalview.datamodel.Alignment;
-import jalview.datamodel.AlignmentI;
-import jalview.io.FeaturesFile;
-import jalview.io.FileParse;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A client for fetching and processing Ensembl overlap data in GFF feature
- * format
- * 
- * @author gmcarstairs
- * @see http://rest.ensembl.org/documentation/info/overlap_id
- */
-public class EnsemblOverlap extends EnsemblRestClient
-{
-  /*
-   * The default features to retrieve from Ensembl; can override in getSequenceRecords
-   */
-  private EnsemblFeatureType[] featuresWanted = { EnsemblFeatureType.cds,
-      EnsemblFeatureType.exon, EnsemblFeatureType.variation };
-
-  @Override
-  public String getDbName()
-  {
-    return "ENSEMBL (overlap)";
-  }
-
-  /**
-   * Makes a query to the REST overlap endpoint for the given sequence
-   * identifier. This returns an 'alignment' consisting of one 'dummy sequence'
-   * (the genomic sequence for which overlap features are returned by the
-   * service). This sequence will have on it sequence features which are the
-   * real information of interest, such as CDS regions or sequence variations.
-   */
-  @Override
-  public AlignmentI getSequenceRecords(String query) throws IOException
-  {
-    // TODO: use a vararg String... for getSequenceRecords instead?
-    List<String> queries = new ArrayList<String>();
-    queries.add(query);
-    FileParse fp = getSequenceReader(queries);
-    FeaturesFile fr = new FeaturesFile(fp);
-    return new Alignment(fr.getSeqsAsArray());
-  }
-
-  /**
-   * Returns a URL for the REST overlap endpoint
-   * 
-   * @param ids
-   * @return
-   */
-  @Override
-  protected URL getUrl(List<String> ids) throws MalformedURLException
-  {
-    StringBuffer urlstring = new StringBuffer(128);
-    urlstring.append(ENSEMBL_REST).append("/overlap/id/")
-            .append(ids.get(0));
-
-    // @see https://github.com/Ensembl/ensembl-rest/wiki/Output-formats
-    urlstring.append("?content-type=text/x-gff3");
-
-    /*
-     * specify  features to retrieve
-     * @see http://rest.ensembl.org/documentation/info/overlap_id
-     * could make the list a configurable entry in jalview.properties
-     */
-    for (EnsemblFeatureType feature : featuresWanted)
-    {
-      urlstring.append("&feature=").append(feature.name());
-    }
-
-    return new URL(urlstring.toString());
-  }
-
-  @Override
-  protected boolean useGetRequest()
-  {
-    return true;
-  }
-
-  /**
-   * Returns the MIME type for GFF3. For GET requests the Content-type header
-   * describes the required encoding of the response.
-   */
-  @Override
-  protected String getRequestMimeType(boolean multipleIds)
-  {
-    return "text/x-gff3";
-  }
-
-  /**
-   * Returns the MIME type for GFF3.
-   */
-  @Override
-  protected String getResponseMimeType()
-  {
-    return "text/x-gff3";
-  }
-
-  /**
-   * Overloaded method that allows a list of features to retrieve to be
-   * specified
-   * 
-   * @param accId
-   * @param features
-   * @return
-   * @throws IOException
-   */
-  protected AlignmentI getSequenceRecords(String accId,
-          EnsemblFeatureType[] features) throws IOException
-  {
-    featuresWanted = features;
-    return getSequenceRecords(accId);
-  }
-}
index 136a38e..d688ddd 100644 (file)
@@ -156,8 +156,7 @@ public class AnnotationExporter extends JPanel
     if (features)
     {
       FeaturesFile formatter = new FeaturesFile();
-      SequenceI[] sequences = ap.av.getAlignment().getDataset()
-              .getSequencesArray();
+      SequenceI[] sequences = ap.av.getAlignment().getSequencesArray();
       Map<String, Object> featureColours = ap.getFeatureRenderer()
               .getDisplayedFeatureCols();
       boolean includeNonPositional = ap.av.isShowNPFeats();