X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2Fdas%2Fdatamodel%2FDasSequenceSource.java;h=eeaccf4cd2befe6376f49f13b56cbb2d7ebf534f;hb=b57a02c25e335d033c97f8a6bacd6b54f62bd2b6;hp=a63727ffd199cfd4dd8d72feaf7d0c8a1fcaebf3;hpb=a7f34b0d86a0ebc79dcb26d36e73fc7a64581fee;p=jalview.git diff --git a/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java b/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java index a63727f..eeaccf4 100644 --- a/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java +++ b/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java @@ -67,7 +67,9 @@ public class DasSequenceSource extends DbSourceProxyImpl implements protected String dbname = "DASCS"; protected String dbrefname = "das:source"; - protected MultipleConnectionPropertyProviderI connprops=null; + + protected MultipleConnectionPropertyProviderI connprops = null; + /** * create a new DbSource proxy for a DAS 1 source * @@ -84,20 +86,23 @@ public class DasSequenceSource extends DbSourceProxyImpl implements * if source is not capable of the 'sequence' command */ public DasSequenceSource(String dbname, String dbrefname, SOURCE source, - VERSION version, COORDINATES coordsys, MultipleConnectionPropertyProviderI connprops) throws Exception + VERSION version, COORDINATES coordsys, + MultipleConnectionPropertyProviderI connprops) throws Exception { - if (!(jsrc = new JalviewSource(source, connprops, false)).isSequenceSource()) + if (!(jsrc = new JalviewSource(source, connprops, false)) + .isSequenceSource()) { throw new Exception("Source " + source.getTitle() + " does not support the sequence command."); } this.source = source; this.dbname = dbname; - this.dbrefname = dbrefname; - if (coordsys!=null ) { + this.dbrefname = dbrefname.toUpperCase(); + if (coordsys != null) + { this.coordsys = coordsys; } - this.connprops=connprops; + this.connprops = connprops; } public String getAccessionSeparator() @@ -108,7 +113,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements public Regex getAccessionValidator() { /** ? * */ - return Regex.perlCode("\\S+"); + return Regex.perlCode("m/([^:]+)(:\\d+,\\d+)?/"); } public String getDbName() @@ -124,7 +129,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements public String getDbVersion() { - return coordsys!=null ? coordsys.getVersion() : ""; + return coordsys != null ? coordsys.getVersion() : ""; } public AlignmentI getSequenceRecords(String queries) throws Exception @@ -140,7 +145,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements src.add(jsrc.getSourceURL()); Map, DasSequenceAdapter>> resultset = new HashMap, DasSequenceAdapter>>(); Map, Exception>> errors = new HashMap, Exception>>(); - + // First try multiple sources boolean multiple = true, retry = false; do @@ -154,7 +159,8 @@ public class DasSequenceSource extends DbSourceProxyImpl implements System.err .println("Retrieving IDs individually from das source: " + sr); - org.biodas.jdas.client.SequenceClient sq = new SequenceClient(connprops.getConnectionPropertyProviderFor(sr)); + org.biodas.jdas.client.SequenceClient sq = new SequenceClient( + connprops.getConnectionPropertyProviderFor(sr)); for (String q : toks) { List qset = Arrays.asList(new String[] @@ -253,6 +259,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements // in the XML Sequence sq = new Sequence(lbl, e.getContent().replaceAll( "\\s+", "")); + sq.setStart(e.getStart().intValue()); sq.addDBRef(new DBRefEntry(getDbSource(), getDbVersion() + ":" + e.getVersion(), lbl)); seqs.addElement(sq); @@ -275,18 +282,19 @@ public class DasSequenceSource extends DbSourceProxyImpl implements srcs.addElement(jsrc); try { - jalview.ws.DasSequenceFeatureFetcher dssf=new jalview.ws.DasSequenceFeatureFetcher(sqs, null, srcs, false, - false, multiple); + jalview.ws.DasSequenceFeatureFetcher dssf = new jalview.ws.DasSequenceFeatureFetcher( + sqs, null, srcs, false, false, multiple); while (dssf.isRunning()) { - try { + try + { Thread.sleep(200); } catch (InterruptedException x) { - + } } - + } catch (Exception x) { Cache.log @@ -301,7 +309,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements public String getTestQuery() { - return coordsys==null ? "" : coordsys.getTestRange(); + return coordsys == null ? "" : coordsys.getTestRange(); } public boolean isValidReference(String accession)