X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FSequenceFetcher.java;fp=src%2Fjalview%2Fws%2FSequenceFetcher.java;h=111c5104ef64a9d3b08d8d362e2d038b3624bc2f;hb=a049d57f4693f1b60ab02fdf2c9403a2e9c59444;hp=b1d3f3c01d4b8793588efadda07a65cffa8f1bf3;hpb=ba53bdc57a25723eb975110fe457a2b82a138400;p=jalview.git diff --git a/src/jalview/ws/SequenceFetcher.java b/src/jalview/ws/SequenceFetcher.java index b1d3f3c..111c510 100644 --- a/src/jalview/ws/SequenceFetcher.java +++ b/src/jalview/ws/SequenceFetcher.java @@ -48,6 +48,10 @@ public class SequenceFetcher extends ASequenceFetcher */ public SequenceFetcher() { + this(true); + } + public SequenceFetcher(boolean addDas) + { addDBRefSourceImpl(jalview.ws.dbsources.EmblSource.class); addDBRefSourceImpl(jalview.ws.dbsources.EmblCdsSouce.class); addDBRefSourceImpl(jalview.ws.dbsources.Uniprot.class); @@ -60,7 +64,9 @@ public class SequenceFetcher extends ASequenceFetcher // PFAM addDBRefSourceImpl(jalview.ws.dbsources.RfamFull.class); addDBRefSourceImpl(jalview.ws.dbsources.RfamSeed.class); - registerDasSequenceSources(); + if (addDas) { + registerDasSequenceSources(); + } } /** @@ -208,12 +214,22 @@ public class SequenceFetcher extends ASequenceFetcher { AlignmentI ds = null; Vector noProds = new Vector(); - String usage = "SequenceFetcher.main [ ]\n" + String usage = "SequenceFetcher.main [-nodas] [ []]\n" + "With no arguments, all DbSources will be queried with their test Accession number.\n" - + "If given two arguments, SequenceFetcher will try to find the DbFetcher corresponding to and retrieve from it."; + + "With one argument, the argument will be resolved to one or more db sources and each will be queried with their test accession only.\n" + + "If given two arguments, SequenceFetcher will try to find the DbFetcher corresponding to and retrieve from it.\n" + + "The -nodas option will exclude DAS sources from the database fetchers Jalview will try to use."; + boolean withDas=true; + if (argv!=null && argv.length>0 && argv[0].toLowerCase().startsWith("-nodas")) + { + withDas=false; + String targs[] = new String[argv.length-1]; + System.arraycopy(argv, 1, targs, 0, targs.length); + argv=targs; + } if (argv != null && argv.length > 0) { - List sps = new SequenceFetcher() + List sps = new SequenceFetcher(withDas) .getSourceProxy(argv[0]); if (sps != null) @@ -223,11 +239,11 @@ public class SequenceFetcher extends ASequenceFetcher AlignmentI al = null; try { - al = sp.getSequenceRecords(argv[1]); + al = sp.getSequenceRecords(argv.length>1 ? argv[1] : sp.getTestQuery()); } catch (Exception e) { e.printStackTrace(); - System.err.println("Error when retrieving " + argv[1] + System.err.println("Error when retrieving " + (argv.length>1 ? argv[1] : sp.getTestQuery()) + " from " + argv[0] + "\nUsage: " + usage); } SequenceI[] prod = al.getSequencesArray(); @@ -252,7 +268,7 @@ public class SequenceFetcher extends ASequenceFetcher System.out.println(usage); return; } - ASequenceFetcher sfetcher = new SequenceFetcher(); + ASequenceFetcher sfetcher = new SequenceFetcher(withDas); String[] dbSources = sfetcher.getSupportedDb(); for (int dbsource = 0; dbsource < dbSources.length; dbsource++) {