X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FSequenceFetcher.java;h=29d4ec790de4508477b4d0325d7dd2d5b5c1e98c;hb=20a4d7ddb86ee996f2b6617a0470922b83354c35;hp=007c85cf0ffcbe8f167de3439d3ad302ab6756e4;hpb=c406d789d51e6ac1ff45e3568d37e9ed53025f03;p=jalview.git diff --git a/src/jalview/ws/SequenceFetcher.java b/src/jalview/ws/SequenceFetcher.java index 007c85c..29d4ec7 100644 --- a/src/jalview/ws/SequenceFetcher.java +++ b/src/jalview/ws/SequenceFetcher.java @@ -21,26 +21,21 @@ package jalview.ws; import jalview.ext.ensembl.EnsemblGene; +import jalview.ext.ensembl.EnsemblGenomes; import jalview.ws.dbsources.EmblCdsSource; import jalview.ws.dbsources.EmblSource; import jalview.ws.dbsources.Pdb; import jalview.ws.dbsources.PfamFull; import jalview.ws.dbsources.PfamSeed; -import jalview.ws.dbsources.RfamFull; import jalview.ws.dbsources.RfamSeed; import jalview.ws.dbsources.Uniprot; -import jalview.ws.dbsources.UniprotName; -import jalview.ws.dbsources.das.api.jalviewSourceI; import jalview.ws.seqfetcher.ASequenceFetcher; import jalview.ws.seqfetcher.DbSourceProxy; import java.util.ArrayList; -import java.util.List; /** - * This is the the concrete implementation of the sequence retrieval interface - * and abstract class in jalview.ws.seqfetcher. This implements the run-time - * discovery of sequence database clientss. + * This implements the run-time discovery of sequence database clients. * */ public class SequenceFetcher extends ASequenceFetcher @@ -53,44 +48,28 @@ public class SequenceFetcher extends ASequenceFetcher */ public SequenceFetcher() { - this(true); - } - - public SequenceFetcher(boolean addDas) - { - // addDBRefSourceImpl(EnsemblProtein.class); - // addDBRefSourceImpl(EnsemblCds.class); - // addDBRefSourceImpl(EnsemblGenome.class); addDBRefSourceImpl(EnsemblGene.class); - // addDBRefSourceImpl(EnsemblCdna.class); + addDBRefSourceImpl(EnsemblGenomes.class); addDBRefSourceImpl(EmblSource.class); addDBRefSourceImpl(EmblCdsSource.class); addDBRefSourceImpl(Uniprot.class); - addDBRefSourceImpl(UniprotName.class); addDBRefSourceImpl(Pdb.class); addDBRefSourceImpl(PfamFull.class); addDBRefSourceImpl(PfamSeed.class); - // ensures Seed alignment is 'default' for PFAM - addDBRefSourceImpl(RfamFull.class); addDBRefSourceImpl(RfamSeed.class); - if (addDas) - { - registerDasSequenceSources(); - } } /** - * return an ordered list of database sources where non-das database classes - * appear before das database classes + * return an ordered list of database sources excluding alignment only databases */ public String[] getOrderedSupportedSources() { String[] srcs = this.getSupportedDb(); - ArrayList dassrc = new ArrayList(), nondas = new ArrayList(); + ArrayList src = new ArrayList<>(); + for (int i = 0; i < srcs.length; i++) { - boolean das = false, skip = false; - String nm; + boolean skip = false; for (DbSourceProxy dbs : getSourceProxy(srcs[i])) { // Skip the alignment databases for the moment - they're not useful for @@ -99,85 +78,28 @@ public class SequenceFetcher extends ASequenceFetcher { skip = true; } - else - { - nm = dbs.getDbName(); - if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource) - { - if (nm.startsWith("das:")) - { - nm = nm.substring(4); - das = true; - } - break; - } - } } if (skip) { continue; } - if (das) { - dassrc.add(srcs[i]); - } - else - { - nondas.add(srcs[i]); + src.add(srcs[i]); } } - String[] tosort = nondas.toArray(new String[0]), sorted = nondas - .toArray(new String[0]); + String[] tosort = src.toArray(new String[0]), + sorted = src.toArray(new String[0]); for (int j = 0, jSize = sorted.length; j < jSize; j++) { tosort[j] = tosort[j].toLowerCase(); } jalview.util.QuickSort.sort(tosort, sorted); // construct array with all sources listed - - srcs = new String[sorted.length + dassrc.size()]; int i = 0; for (int j = sorted.length - 1; j >= 0; j--, i++) { srcs[i] = sorted[j]; - sorted[j] = null; - } - - sorted = dassrc.toArray(new String[0]); - tosort = dassrc.toArray(new String[0]); - for (int j = 0, jSize = sorted.length; j < jSize; j++) - { - tosort[j] = tosort[j].toLowerCase(); - } - jalview.util.QuickSort.sort(tosort, sorted); - for (int j = sorted.length - 1; j >= 0; j--, i++) - { - srcs[i] = sorted[j]; } return srcs; } - - /** - * query the currently defined DAS source registry for sequence sources and - * add a DasSequenceSource instance for each source to the SequenceFetcher - * source list. - */ - public void registerDasSequenceSources() - { - // TODO: define a context as a registry provider (either desktop, - // jalview.bin.cache, or something else). - for (jalviewSourceI source : jalview.bin.Cache.getDasSourceRegistry() - .getSources()) - { - if (source.isSequenceSource()) - { - List dassources = source.getSequenceSourceProxies(); - for (DbSourceProxy seqsrc : dassources) - { - addDbRefSourceImpl(seqsrc); - } - } - } - } - }