X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FPIRFile.java;h=d9ed5166d9f88d04d0818007dc6114cd8f297b7f;hb=92d66803db3319c4db605177d502de91302ef684;hp=7a46d21afb5c5983445ec00e5d4f22a5a3ba2020;hpb=2de8acfae59aced665e4c37ad0f7dcc2ed68818e;p=jalview.git diff --git a/src/jalview/io/PIRFile.java b/src/jalview/io/PIRFile.java index 7a46d21..d9ed516 100755 --- a/src/jalview/io/PIRFile.java +++ b/src/jalview/io/PIRFile.java @@ -1,27 +1,31 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) - * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ 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.Comparison; -import jalview.datamodel.*; +import java.io.IOException; +import java.util.Vector; public class PIRFile extends AlignFile { @@ -33,9 +37,10 @@ public class PIRFile extends AlignFile { } - public PIRFile(String inFile, String type) throws IOException + public PIRFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public PIRFile(FileParse source) throws IOException @@ -43,6 +48,7 @@ public class PIRFile extends AlignFile super(source); } + @Override public void parse() throws IOException { StringBuffer sequence; @@ -97,14 +103,10 @@ public class PIRFile extends AlignFile } } - public String print() - { - return print(getSeqsAsArray()); - } - - public String print(SequenceI[] s) + @Override + public String print(SequenceI[] s, boolean jvsuffix) { - boolean is_NA = jalview.util.Comparison.isNucleotide(s); + boolean is_NA = Comparison.isNucleotide(s); int len = 72; StringBuffer out = new StringBuffer(); int i = 0; @@ -128,16 +130,19 @@ public class PIRFile extends AlignFile // tRNA N3 // other functional RNA N1 - out.append(">N1;" + s[i].getName() + "\n"); + out.append(">N1;" + s[i].getName()); + out.append(newline); if (s[i].getDescription() == null) { out.append(s[i].getName() + " " + (s[i].getEnd() - s[i].getStart() + 1)); - out.append(is_NA ? " bases\n" : " residues\n"); + out.append(is_NA ? " bases" : " residues"); + out.append(newline); } else { - out.append(s[i].getDescription() + "\n"); + out.append(s[i].getDescription()); + out.append(newline); } } else @@ -145,27 +150,31 @@ public class PIRFile extends AlignFile if (useModellerOutput) { - out.append(">P1;" + s[i].getName() + "\n"); + out.append(">P1;" + s[i].getName()); + out.append(newline); md = new ModellerDescription(s[i]); - out.append(md.getDescriptionLine() + "\n"); + out.append(md.getDescriptionLine()); + out.append(newline); } else { - out.append(">P1;" + printId(s[i]) + "\n"); + out.append(">P1;" + printId(s[i], jvsuffix)); + out.append(newline); if (s[i].getDescription() != null) { - out.append(s[i].getDescription() + "\n"); + out.append(s[i].getDescription()); + out.append(newline); } else { - out - .append(s[i].getName() + " " - + (s[i].getEnd() - s[i].getStart() + 1) - + " residues\n"); + out.append(s[i].getName() + " " + + (s[i].getEnd() - s[i].getStart() + 1) + " residues"); + out.append(newline); } } } - int nochunks = (seq.length() / len) + 1; + int nochunks = (seq.length() / len) + + (seq.length() % len > 0 ? 1 : 0); for (int j = 0; j < nochunks; j++) { @@ -174,11 +183,13 @@ public class PIRFile extends AlignFile if (end < seq.length()) { - out.append(seq.substring(start, end) + "\n"); + out.append(seq.substring(start, end)); + out.append(newline); } else if (start < seq.length()) { - out.append(seq.substring(start) + "\n"); + out.append(seq.substring(start)); + out.append(newline); } }