X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FXfam.java;h=3554f0177faf6efc15f549db7b1342f2a950e918;hb=36c3c5a0883c68bb8b007bb392668977331f9f1a;hp=c392ce67e341d757d812c52d6ae8460fa70241dc;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/jalview/ws/dbsources/Xfam.java b/src/jalview/ws/dbsources/Xfam.java index c392ce6..3554f01 100644 --- a/src/jalview/ws/dbsources/Xfam.java +++ b/src/jalview/ws/dbsources/Xfam.java @@ -22,6 +22,9 @@ package jalview.ws.dbsources; import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FormatAdapter; import jalview.ws.seqfetcher.DbSourceProxyImpl; /** @@ -40,10 +43,12 @@ public abstract class Xfam extends DbSourceProxyImpl protected abstract String getXFAMURL(); + @Override public abstract String getDbVersion(); abstract String getXfamSource(); + @Override public AlignmentI getSequenceRecords(String queries) throws Exception { // TODO: this is not a perfect implementation. We need to be able to add @@ -51,9 +56,9 @@ public abstract class Xfam extends DbSourceProxyImpl // retrieved. startQuery(); // TODO: trap HTTP 404 exceptions and return null - AlignmentI rcds = new jalview.io.FormatAdapter().readFile(getXFAMURL() - + queries.trim().toUpperCase(), jalview.io.FormatAdapter.URL, - "STH"); + AlignmentI rcds = new FormatAdapter().readFile(getXFAMURL() + + queries.trim().toUpperCase() + getXFAMURLSUFFIX(), + DataSourceType.URL, FileFormat.Stockholm); for (int s = 0, sNum = rcds.getHeight(); s < sNum; s++) { rcds.getSequenceAt(s).addDBRef(new DBRefEntry(getXfamSource(), @@ -70,4 +75,23 @@ public abstract class Xfam extends DbSourceProxyImpl return rcds; } + /** + * Pfam and Rfam provide alignments + */ + @Override + public boolean isAlignmentSource() + { + return true; + } + + /** + * default suffix to append the retrieval URL for this source. + * + * @return "" for most Xfam sources + */ + public String getXFAMURLSUFFIX() + { + return ""; + } + }