X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FPfam.java;h=456236a02efd63d3b5954230320e0aa5f646ab77;hb=1724567f3dfc3b4637aac7bdeb6633628e6a8335;hp=941bf1afa2330f293781c7df61cc1afe903ef3fc;hpb=7d67fb613ec026dc9a265e351e7fab542e3f1d61;p=jalview.git diff --git a/src/jalview/ws/dbsources/Pfam.java b/src/jalview/ws/dbsources/Pfam.java index 941bf1a..456236a 100644 --- a/src/jalview/ws/dbsources/Pfam.java +++ b/src/jalview/ws/dbsources/Pfam.java @@ -20,12 +20,9 @@ */ package jalview.ws.dbsources; -import jalview.datamodel.AlignmentI; -import jalview.datamodel.DBRefEntry; +import jalview.bin.Cache; import jalview.datamodel.DBRefSource; -import jalview.io.DataSourceType; -import jalview.io.FileFormat; -import jalview.io.FormatAdapter; +import jalview.util.Platform; import com.stevesoft.pat.Regex; @@ -39,6 +36,17 @@ import com.stevesoft.pat.Regex; */ abstract public class Pfam extends Xfam { + /* + * append to URLs to retrieve as a gzipped file + */ + protected static final String GZIPPED = "/gzipped"; + + static final String PFAM_BASEURL_KEY = "PFAM_BASEURL"; + + private static final String DEFAULT_PFAM_BASEURL = "https://pfam.xfam.org"; + static { + Platform.addJ2SDirectDatabaseCall(DEFAULT_PFAM_BASEURL); + } public Pfam() { @@ -53,7 +61,6 @@ abstract public class Pfam extends Xfam @Override public String getAccessionSeparator() { - // TODO Auto-generated method stub return null; } @@ -65,7 +72,6 @@ abstract public class Pfam extends Xfam @Override public Regex getAccessionValidator() { - // TODO Auto-generated method stub return null; } @@ -96,47 +102,13 @@ abstract public class Pfam extends Xfam @Override public String getDbVersion() { - // TODO Auto-generated method stub return null; } - /** - * Returns base URL for selected Pfam alignment type - * - * @return PFAM URL stub for this DbSource - */ - @Override - protected abstract String getXFAMURL(); - - /* - * (non-Javadoc) - * - * @see jalview.ws.DbSourceProxy#getSequenceRecords(java.lang.String[]) - */ @Override - public AlignmentI getSequenceRecords(String queries) throws Exception + protected String getURLPrefix() { - // TODO: this is not a perfect implementation. We need to be able to add - // individual references to each sequence in each family alignment that's - // retrieved. - startQuery(); - AlignmentI rcds = new FormatAdapter().readFile(getXFAMURL() - + queries.trim().toUpperCase(), DataSourceType.URL, - FileFormat.Stockholm); - for (int s = 0, sNum = rcds.getHeight(); s < sNum; s++) - { - rcds.getSequenceAt(s).addDBRef(new DBRefEntry(DBRefSource.PFAM, - // getDbSource(), - getDbVersion(), queries.trim().toUpperCase())); - if (!getDbSource().equals(DBRefSource.PFAM)) - { // add the specific ref too - rcds.getSequenceAt(s).addDBRef( - new DBRefEntry(getDbSource(), getDbVersion(), queries - .trim().toUpperCase())); - } - } - stopQuery(); - return rcds; + return Cache.getDefault(PFAM_BASEURL_KEY, DEFAULT_PFAM_BASEURL); } /*