X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblFeatures.java;h=2772498cd49039120292bfa651203c68a01a3e35;hb=26b115b0a77d521da92a06572d9b7819c2d0d49a;hp=6a0d67cf19609ac6554c33cf55915a677705549d;hpb=2ff87ed8f1a344303ed46c9fda7d11fd4d469dc7;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblFeatures.java b/src/jalview/ext/ensembl/EnsemblFeatures.java index 6a0d67c..2772498 100644 --- a/src/jalview/ext/ensembl/EnsemblFeatures.java +++ b/src/jalview/ext/ensembl/EnsemblFeatures.java @@ -27,6 +27,7 @@ import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.io.gff.SequenceOntologyI; import jalview.util.JSONUtils; +import jalview.util.Platform; import java.io.BufferedReader; import java.io.IOException; @@ -90,12 +91,14 @@ class EnsemblFeatures extends EnsemblRestClient public AlignmentI getSequenceRecords(String query) throws IOException { // TODO: use a vararg String... for getSequenceRecords instead? + List queries = new ArrayList<>(); queries.add(query); SequenceI seq = parseFeaturesJson(queries); if (seq == null) return null; return new Alignment(new SequenceI[] { seq }); + } /** @@ -119,7 +122,7 @@ private SequenceI parseFeaturesJson(List queries) if (rvals == null) return null; while (rvals.hasNext()) - { + { try { Map obj = (Map) rvals.next(); @@ -147,7 +150,7 @@ private SequenceI parseFeaturesJson(List queries) { type = SequenceOntologyI.CDS; } - + String desc = getFirstNotNull(obj, "alleles", "external_name", JSON_ID); SequenceFeature sf = new SequenceFeature(type, desc, start, end, @@ -160,6 +163,7 @@ private SequenceI parseFeaturesJson(List queries) sf.setValue("clinical_significance", clinSig); seq.addSequenceFeature(sf); + } catch (Throwable t) { // ignore - keep trying other features