X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblFeatures.java;h=cb6f54896d66a85e01819df5ba48e402e530b2de;hb=41bb6b94cc3cba97055e0ec02ac42c52f1483700;hp=054743307df33e3a2e86f295847b17866a087271;hpb=b8058f3f849f44740a695c83e96bdca3a197af5c;p=jalview.git
diff --git a/src/jalview/ext/ensembl/EnsemblFeatures.java b/src/jalview/ext/ensembl/EnsemblFeatures.java
index 0547433..cb6f548 100644
--- a/src/jalview/ext/ensembl/EnsemblFeatures.java
+++ b/src/jalview/ext/ensembl/EnsemblFeatures.java
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.ext.ensembl;
import jalview.datamodel.Alignment;
@@ -62,9 +82,13 @@ class EnsemblFeatures extends EnsemblRestClient
public AlignmentI getSequenceRecords(String query) throws IOException
{
// TODO: use a vararg String... for getSequenceRecords instead?
- List queries = new ArrayList();
+ List queries = new ArrayList<>();
queries.add(query);
FileParse fp = getSequenceReader(queries);
+ if (fp == null || !fp.isValid())
+ {
+ return null;
+ }
FeaturesFile fr = new FeaturesFile(fp);
return new Alignment(fr.getSeqsAsArray());
}
@@ -79,16 +103,23 @@ class EnsemblFeatures extends EnsemblRestClient
protected URL getUrl(List ids) throws MalformedURLException
{
StringBuffer urlstring = new StringBuffer(128);
- urlstring.append(getDomain()).append("/overlap/id/")
- .append(ids.get(0));
+ urlstring.append(getDomain()).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 object_type=gene in case is shared by transcript and/or protein;
+ * currently only fetching features for gene sequences;
+ * refactor in future if needed to fetch for transcripts
+ */
+ urlstring.append("&").append(OBJECT_TYPE).append("=")
+ .append(OBJECT_TYPE_GENE);
+
+ /*
* specify features to retrieve
* @see http://rest.ensembl.org/documentation/info/overlap_id
- * could make the list a configurable entry in jalview.properties
+ * could make the list a configurable entry in .jalview_properties
*/
for (EnsemblFeatureType feature : featuresWanted)
{