X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FPileUpfile.java;h=f7f718b0d34b73c8d3d65a4ddb84d1f934fce25b;hb=72fb6df14f1ff426bbafa18dcc9a90450da93018;hp=ce67cc0ef51b1162e3a2c93585cbf572cf66626e;hpb=2de8acfae59aced665e4c37ad0f7dcc2ed68818e;p=jalview.git diff --git a/src/jalview/io/PileUpfile.java b/src/jalview/io/PileUpfile.java index ce67cc0..f7f718b 100755 --- a/src/jalview/io/PileUpfile.java +++ b/src/jalview/io/PileUpfile.java @@ -1,20 +1,22 @@ /* - * 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; @@ -33,10 +35,10 @@ package jalview.io; * found in Emboss (thanks David Martin!) * */ -import java.io.*; +import jalview.datamodel.SequenceI; +import jalview.util.Format; -import jalview.datamodel.*; -import jalview.util.*; +import java.io.IOException; public class PileUpfile extends MSFfile { @@ -52,16 +54,17 @@ public class PileUpfile extends MSFfile * Creates a new MSFfile object. * * @param inFile - * DOCUMENT ME! - * @param type - * DOCUMENT ME! + * DOCUMENT ME! + * @param sourceType + * DOCUMENT ME! * * @throws IOException - * DOCUMENT ME! + * DOCUMENT ME! */ - public PileUpfile(String inFile, String type) throws IOException + public PileUpfile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public PileUpfile(FileParse source) throws IOException @@ -69,19 +72,12 @@ public class PileUpfile extends MSFfile super(source); } - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ - public String print() + @Override + public String print(SequenceI[] s, boolean jvsuffix) { - return print(getSeqsAsArray()); - } - - public String print(SequenceI[] s) - { - StringBuffer out = new StringBuffer("PileUp\n\n"); + StringBuffer out = new StringBuffer("PileUp"); + out.append(newline); + out.append(newline); int max = 0; int maxid = 0; @@ -96,16 +92,20 @@ public class PileUpfile extends MSFfile i++; } - out.append(" MSF: " + s[0].getSequence().length - + " Type: P Check: " + bigChecksum % 10000 - + " ..\n\n\n"); + out.append(" MSF: " + s[0].getLength() + + " Type: P Check: " + bigChecksum % 10000 + " .."); + out.append(newline); + out.append(newline); + out.append(newline); i = 0; while ((i < s.length) && (s[i] != null)) { String seq = s[i].getSequenceAsString(); - out.append(" Name: " + printId(s[i]) + " oo Len: " + seq.length() - + " Check: " + checksums[i] + " Weight: 1.00\n"); + out.append(" Name: " + printId(s[i], jvsuffix) + " oo Len: " + + seq.length() + " Check: " + checksums[i] + + " Weight: 1.00"); + out.append(newline); if (seq.length() > max) { @@ -126,16 +126,15 @@ public class PileUpfile extends MSFfile } maxid++; - out.append("\n\n//\n\n"); + out.append(newline); + out.append(newline); + out.append("//"); + out.append(newline); + out.append(newline); int len = 50; - int nochunks = (max / len) + 1; - - if ((max % len) == 0) - { - nochunks--; - } + int nochunks = (max / len) + (max % len > 0 ? 1 : 0); for (i = 0; i < nochunks; i++) { @@ -143,7 +142,7 @@ public class PileUpfile extends MSFfile while ((j < s.length) && (s[j] != null)) { - String name = printId(s[j]); + String name = printId(s[j], jvsuffix); out.append(new Format("%-" + maxid + "s").form(name + " ")); @@ -152,8 +151,8 @@ public class PileUpfile extends MSFfile int start = (i * 50) + (k * 10); int end = start + 10; - if ((end < s[j].getSequence().length) - && (start < s[j].getSequence().length)) + int length = s[j].getLength(); + if ((end < length) && (start < length)) { out.append(s[j].getSequence(start, end)); @@ -163,21 +162,21 @@ public class PileUpfile extends MSFfile } else { - out.append("\n"); + out.append(newline); } } else { - if (start < s[j].getSequence().length) + if (start < length) { out.append(s[j].getSequenceAsString().substring(start)); - out.append("\n"); + out.append(newline); } else { if (k == 0) { - out.append("\n"); + out.append(newline); } } } @@ -186,7 +185,7 @@ public class PileUpfile extends MSFfile j++; } - out.append("\n"); + out.append(newline); } return out.toString();