X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FCigarArray.java;h=c17e01eecbbb9b336a63369fb0c306d6c9e2535d;hb=449db06a788539e8ea7463ff4b56f012280994d0;hp=33e91a889315f4d0f89e7b61618c59e03e302500;hpb=108d9a136d1794445f2169c04d80b7662085390d;p=jalview.git diff --git a/src/jalview/datamodel/CigarArray.java b/src/jalview/datamodel/CigarArray.java index 33e91a8..c17e01e 100644 --- a/src/jalview/datamodel/CigarArray.java +++ b/src/jalview/datamodel/CigarArray.java @@ -1,18 +1,38 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * + * 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 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. + * + * 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 + */ package jalview.datamodel; -public class CigarArray extends CigarBase +public class CigarArray + extends CigarBase { - /** - * Do CIGAR operations on a set of sequences from many other cigars - * BAD THINGS WILL HAPPEN IF A CIGARARRAY IS PASSED TO A CIGARARRAY - * or a CIGARCIGAR is given a CIGARARRAY to insert gaps into. - */ - /** - * array of subject cigars - */ - public CigarSimple refCigars[]=null; - private boolean seqcigararray=false; - private CigarArray() { + /** + * Do CIGAR operations on a set of sequences from many other cigars + * BAD THINGS WILL HAPPEN IF A CIGARARRAY IS PASSED TO A CIGARARRAY + * or a CIGARCIGAR is given a CIGARARRAY to insert gaps into. + */ + /** + * array of subject cigars + */ + public CigarSimple refCigars[] = null; + private boolean seqcigararray = false; + private CigarArray() + { super(); } @@ -24,12 +44,14 @@ public class CigarArray extends CigarBase { return seqcigararray; } + /** * Apply CIGAR operations to several cigars in parallel * will throw an error if any of cigar are actually CigarArrays. * @param cigar Cigar[] */ - public CigarArray(CigarSimple[] cigars) { + public CigarArray(CigarSimple[] cigars) + { super(); seqcigararray = true; if (cigars != null && cigars.length > 0) @@ -46,27 +68,34 @@ public class CigarArray extends CigarBase } } } + /** * @see Cigar.getSequenceAndDeletions * @param GapChar char * @return Object[][] */ - protected Object[][] getArrayofSequenceAndDeletions(char GapChar) { - if (refCigars == null || refCigars.length == 0 || length == 0) { - return null; + protected Object[][] getArrayofSequenceAndDeletions(char GapChar) + { + if (refCigars == null || refCigars.length == 0 || length == 0) + { + return null; + } + Object[][] sqanddels = new Object[refCigars.length][]; + for (int c = 0; c < refCigars.length; c++) + { + String refString = refCigars[c].getSequenceString(GapChar); + if (refString != null) + { + sqanddels[c] = getSequenceAndDeletions(refString, GapChar); } - Object[][] sqanddels = new Object[refCigars.length][]; - for (int c=0; c