X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FXfam.java;h=508047dce2190107db0ba2065fd2fdb3f3dbdb22;hb=44cbaf5e4c094d90ef1294dd47c75a652e5f2509;hp=b092a258633e3da1e17f690eb8502fb66f4c662b;hpb=8daeb715c3e8ec8486f26708361698095084232f;p=jalview.git diff --git a/src/jalview/ws/dbsources/Xfam.java b/src/jalview/ws/dbsources/Xfam.java index b092a25..508047d 100644 --- a/src/jalview/ws/dbsources/Xfam.java +++ b/src/jalview/ws/dbsources/Xfam.java @@ -1,24 +1,28 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws.dbsources; import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; +import jalview.io.FormatAdapter; import jalview.ws.seqfetcher.DbSourceProxyImpl; /** @@ -37,18 +41,22 @@ 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 // individual references to each sequence in each family alignment that's // retrieved. startQuery(); - AlignmentI rcds = new jalview.io.FormatAdapter().readFile(getXFAMURL() - + queries.trim().toUpperCase(), jalview.io.FormatAdapter.URL, + // TODO: trap HTTP 404 exceptions and return null + AlignmentI rcds = new FormatAdapter().readFile(getXFAMURL() + + queries.trim().toUpperCase() + getXFAMURLSUFFIX(), + jalview.io.FormatAdapter.URL, "STH"); for (int s = 0, sNum = rcds.getHeight(); s < sNum; s++) { @@ -66,4 +74,23 @@ public abstract class Xfam extends DbSourceProxyImpl return rcds; } -} \ No newline at end of file + /** + * 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 ""; + } + +}