X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FXfam.java;h=36d98915a11341da8e5059603d6cc78b0c55fb5d;hb=1128674a17df402a2219d278ab332c291cb93443;hp=3554f0177faf6efc15f549db7b1342f2a950e918;hpb=230fac58c5afe1843bf7177834fe1bd1d7e6f9d5;p=jalview.git diff --git a/src/jalview/ws/dbsources/Xfam.java b/src/jalview/ws/dbsources/Xfam.java index 3554f01..36d9891 100644 --- a/src/jalview/ws/dbsources/Xfam.java +++ b/src/jalview/ws/dbsources/Xfam.java @@ -20,6 +20,9 @@ */ package jalview.ws.dbsources; +import java.util.Locale; + +import jalview.bin.Console; import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; import jalview.io.DataSourceType; @@ -35,13 +38,17 @@ import jalview.ws.seqfetcher.DbSourceProxyImpl; */ public abstract class Xfam extends DbSourceProxyImpl { - public Xfam() { super(); } - protected abstract String getXFAMURL(); + /** + * the base URL for this Xfam-like service + * + * @return + */ + protected abstract String getURLPrefix(); @Override public abstract String getDbVersion(); @@ -56,25 +63,34 @@ public abstract class Xfam extends DbSourceProxyImpl // retrieved. startQuery(); // TODO: trap HTTP 404 exceptions and return null - AlignmentI rcds = new FormatAdapter().readFile(getXFAMURL() - + queries.trim().toUpperCase() + getXFAMURLSUFFIX(), + String xfamUrl = getURL(queries); + + Console.debug("XFAM URL for retrieval is: " + xfamUrl); + + AlignmentI rcds = new FormatAdapter().readFile(xfamUrl, DataSourceType.URL, FileFormat.Stockholm); + for (int s = 0, sNum = rcds.getHeight(); s < sNum; s++) { rcds.getSequenceAt(s).addDBRef(new DBRefEntry(getXfamSource(), - // getDbSource(), - getDbVersion(), queries.trim().toUpperCase())); + // getDbSource(), + getDbVersion(), queries.trim().toUpperCase(Locale.ROOT))); if (!getDbSource().equals(getXfamSource())) { // add the specific ref too - rcds.getSequenceAt(s).addDBRef( - new DBRefEntry(getDbSource(), getDbVersion(), queries - .trim().toUpperCase())); + rcds.getSequenceAt(s).addDBRef(new DBRefEntry(getDbSource(), + getDbVersion(), queries.trim().toUpperCase(Locale.ROOT))); } } stopQuery(); return rcds; } + String getURL(String queries) + { + return getURLPrefix() + "/family/" + + queries.trim().toUpperCase(Locale.ROOT) + getURLSuffix(); + } + /** * Pfam and Rfam provide alignments */ @@ -89,7 +105,7 @@ public abstract class Xfam extends DbSourceProxyImpl * * @return "" for most Xfam sources */ - public String getXFAMURLSUFFIX() + public String getURLSuffix() { return ""; }