X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fio%2Fparsers%2FSymmetricalDistanceMatrixParser.java;h=c5271406eb3147c476630bd7189433f6aa820e36;hb=10297bd8b8a4b4ab198a17a42fc6ff24ae2ed49b;hp=b9df246cd973130d4682b196ca51bb03e63bb388;hpb=48f7a89be9d34f1930a1f863e608235cc27184c5;p=jalview.git diff --git a/forester/java/src/org/forester/io/parsers/SymmetricalDistanceMatrixParser.java b/forester/java/src/org/forester/io/parsers/SymmetricalDistanceMatrixParser.java index b9df246..c527140 100644 --- a/forester/java/src/org/forester/io/parsers/SymmetricalDistanceMatrixParser.java +++ b/forester/java/src/org/forester/io/parsers/SymmetricalDistanceMatrixParser.java @@ -6,7 +6,7 @@ // Copyright (C) 2008-2009 Christian M. Zmasek // Copyright (C) 2008-2009 Burnham Institute for Medical Research // All rights reserved -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either @@ -16,13 +16,13 @@ // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.io.parsers; @@ -39,23 +39,23 @@ import org.forester.util.ForesterUtil; * This can read full, lower triangular, and upper triangular distance matrices. * In the case of a full matrix, the lower triangular values are used. Format * (by example): id1 0 id2 0.3 0 id3 0.4 0.4 0 - * + * * OR - * + * * id1 id2 0.3 id3 0.4 0.4 - * + * * Numbers before are after the data are ignored. - * - * - * - * + * + * + * + * * @author Christian M Zmasek */ public class SymmetricalDistanceMatrixParser { private final static InputMatrixType INPUT_MATRIX_TYPE_DEFAULT = InputMatrixType.LOWER_TRIANGLE; private final static String COMMENT = "#"; - private final static String VALUE_SEPARATOR = " "; + private final static char VALUE_SEPARATOR = ' '; private int _matrix_size; private InputMatrixType _input_matrix_type; @@ -75,11 +75,11 @@ public class SymmetricalDistanceMatrixParser { } catch ( final NumberFormatException e ) { throw new IOException( "illegal format for distance [" + table_value + "] at [" + ( i - 1 ) + ", " + row - + "]" ); + + "]" ); } if ( !ForesterUtil.isEqual( 0.0, d ) ) { throw new IOException( "attempt to use non-zero diagonal value [" + table_value + "] at [" + ( i - 1 ) - + ", " + row + "]" ); + + ", " + row + "]" ); } } @@ -98,7 +98,12 @@ public class SymmetricalDistanceMatrixParser { public DistanceMatrix[] parse( final Object source ) throws IOException { reset(); - final List> tables = BasicTableParser.parse( source, VALUE_SEPARATOR, false, COMMENT, true ); + final List> tables = BasicTableParser.parse( source, + VALUE_SEPARATOR, + false, + false, + COMMENT, + true ); final DistanceMatrix[] distance_matrices = new DistanceMatrix[ tables.size() ]; int i = 0; for( final BasicTable table : tables ) { @@ -135,9 +140,9 @@ public class SymmetricalDistanceMatrixParser { } catch ( final NumberFormatException e ) { throw new IOException( "illegal format for distance [" + table_value + "] at [" + ( col - 1 ) + ", " + row - + "]" ); + + "]" ); } - distance_matrix.setValue( col - 1 + col_offset, row, d ); + distance_matrix.setValue( ( col - 1 ) + col_offset, row, d ); } private DistanceMatrix transform( final BasicTable table ) throws IllegalArgumentException, IOException { @@ -149,7 +154,7 @@ public class SymmetricalDistanceMatrixParser { if ( table.getNumberOfColumns() == table.getNumberOfRows() ) { first_line_is_size = true; } - else if ( table.getNumberOfColumns() != table.getNumberOfRows() + 1 ) { + else if ( table.getNumberOfColumns() != ( table.getNumberOfRows() + 1 ) ) { throw new IllegalArgumentException( "attempt to create distance matrix with illegal dimensions [columns: " + table.getNumberOfColumns() + ", rows: " + table.getNumberOfRows() + "]" ); } @@ -158,7 +163,7 @@ public class SymmetricalDistanceMatrixParser { if ( first_line_is_size ) { start_row = 1; } - for( int row = 0; row < table.getNumberOfRows() - start_row; row++ ) { + for( int row = 0; row < ( table.getNumberOfRows() - start_row ); row++ ) { distance_matrix.setIdentifier( row, table.getValue( 0, row + start_row ) ); switch ( getInputMatrixType() ) { case LOWER_TRIANGLE: