X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FPfamFile.java;h=e696609d7cb303d254fa316919951af6eb338847;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=223e7a468d0a924bc6d16b11e64825bf09df720f;hpb=506d60f0e188723ddc91c26824b41ac7034df3fe;p=jalview.git diff --git a/src/jalview/io/PfamFile.java b/src/jalview/io/PfamFile.java index 223e7a4..e696609 100755 --- a/src/jalview/io/PfamFile.java +++ b/src/jalview/io/PfamFile.java @@ -1,28 +1,34 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors * - * This program 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 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program 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. + * 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. + * + * 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.io; -import java.io.*; -import java.util.*; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceI; +import jalview.util.Format; +import jalview.util.MessageManager; -import jalview.datamodel.*; -import jalview.util.*; +import java.io.IOException; +import java.util.Hashtable; +import java.util.StringTokenizer; +import java.util.Vector; public class PfamFile extends AlignFile { @@ -60,6 +66,8 @@ public class PfamFile extends AlignFile { if (line.indexOf("#") != 0) { + // TODO: verify pfam format requires spaces and not tab characters - + // if not upgrade to use stevesoft regex and look for whitespace. StringTokenizer str = new StringTokenizer(line, " "); String id = ""; @@ -83,8 +91,10 @@ public class PfamFile extends AlignFile { headers.addElement(id); } - - tempseq.append(str.nextToken()); + if (str.hasMoreTokens()) + { + tempseq.append(str.nextToken()); + } } } } @@ -94,7 +104,8 @@ public class PfamFile extends AlignFile if (noSeqs < 1) { - throw new IOException("No sequences found (PFAM input)"); + throw new IOException( + MessageManager.getString("exception.pfam_no_sequences_found")); } for (i = 0; i < headers.size(); i++) @@ -157,11 +168,12 @@ public class PfamFile extends AlignFile { out.append(new Format("%-" + maxid + "s").form(printId(s[j]) + " ")); - out.append(s[j].getSequenceAsString() + "\n"); + out.append(s[j].getSequenceAsString()); + out.append(newline); j++; } - out.append("\n"); + out.append(newline); return out.toString(); }