X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FBinarySequence.java;h=dd4bb6045cd766a22fb235a659ea8d54ba007112;hb=453439b6b855fd668efeb5d5da446bb996dc0a83;hp=a9e80b808ffa62cb3dc41941481569653e599d10;hpb=a442f71fc61f1b8b41cedd2c2fd78a5c5323bafb;p=jalview.git diff --git a/src/jalview/datamodel/BinarySequence.java b/src/jalview/datamodel/BinarySequence.java index a9e80b8..dd4bb60 100755 --- a/src/jalview/datamodel/BinarySequence.java +++ b/src/jalview/datamodel/BinarySequence.java @@ -1,164 +1,168 @@ /* -* Jalview - A Sequence Alignment Editor and Viewer -* Copyright (C) 2006 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 -*/ + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) + * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * + * This file is part of Jalview. + * + * 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 Jalview. If not, see . + */ package jalview.datamodel; import jalview.schemes.*; - - /** * DOCUMENT ME! - * + * * @author $author$ * @version $Revision$ */ public class BinarySequence extends Sequence { - int[] binary; - double[] dbinary; - - /** - * Creates a new BinarySequence object. - * - * @param s DOCUMENT ME! - */ - public BinarySequence(String s) + int[] binary; + + double[] dbinary; + + /** + * Creates a new BinarySequence object. + * + * @param s + * DOCUMENT ME! + */ + public BinarySequence(String s) + { + super("", s, 0, s.length()); + } + + /** + * DOCUMENT ME! + */ + public void encode() + { + // Set all matrix to 0 + dbinary = new double[getSequence().length * 21]; + + int nores = 21; + + for (int i = 0; i < dbinary.length; i++) { - super("", s, 0, s.length()); + dbinary[i] = 0.0; } - /** - * DOCUMENT ME! - */ - public void encode() + for (int i = 0; i < getSequence().length; i++) { - // Set all matrix to 0 - dbinary = new double[getSequence().length * 21]; - - int nores = 21; - - for (int i = 0; i < dbinary.length; i++) - { - dbinary[i] = 0.0; - } - - for (int i = 0; i < getSequence().length; i++) - { - int aanum = 20; - - try - { - aanum = ResidueProperties.aaIndex[getCharAt(i)]; - } - catch (NullPointerException e) - { - aanum = 20; - } - - if (aanum > 20) - { - aanum = 20; - } - - dbinary[(i * nores) + aanum] = 1.0; - } + int aanum = 20; + + try + { + aanum = ResidueProperties.aaIndex[getCharAt(i)]; + } catch (NullPointerException e) + { + aanum = 20; + } + + if (aanum > 20) + { + aanum = 20; + } + + dbinary[(i * nores) + aanum] = 1.0; } - /** - * ancode using substitution matrix given in matrix - * @param matrix - */ - public void matrixEncode(ScoreMatrix matrix) { - matrixEncode(matrix.isDNA()?ResidueProperties.nucleotideIndex: ResidueProperties.aaIndex, matrix.getMatrix()); - } - /** - * DOCUMENT ME! - */ - public void blosumEncode() + } + + /** + * ancode using substitution matrix given in matrix + * + * @param matrix + */ + public void matrixEncode(ScoreMatrix matrix) + { + matrixEncode(matrix.isDNA() ? ResidueProperties.nucleotideIndex + : ResidueProperties.aaIndex, matrix.getMatrix()); + } + + /** + * DOCUMENT ME! + */ + public void blosumEncode() + { + matrixEncode(ResidueProperties.aaIndex, ResidueProperties.getBLOSUM62()); + } + + private void matrixEncode(int[] aaIndex, int[][] matrix) + { + // Set all matrix to 0 + dbinary = new double[getSequence().length * 21]; + + int nores = 21; + + // for (int i = 0; i < dbinary.length; i++) { + // dbinary[i] = 0.0; + // } + for (int i = 0; i < getSequence().length; i++) { - matrixEncode(ResidueProperties.aaIndex, ResidueProperties.getBLOSUM62()); - } - private void matrixEncode(int[] aaIndex, int[][] matrix) { - // Set all matrix to 0 - dbinary = new double[getSequence().length * 21]; - - int nores = 21; - - //for (int i = 0; i < dbinary.length; i++) { - // dbinary[i] = 0.0; - //} - for (int i = 0; i < getSequence().length; i++) - { - int aanum = 20; - - try - { - aanum = aaIndex[getCharAt(i)]; - } - catch (NullPointerException e) - { - aanum = 20; - } - - if (aanum > 20) - { - aanum = 20; - } - - // Do the blosum thing - - for (int j = 0; j < 20; j++) - { - dbinary[(i * nores) + j] = matrix[aanum][j]; - } - } + int aanum = 20; + + try + { + aanum = aaIndex[getCharAt(i)]; + } catch (NullPointerException e) + { + aanum = 20; + } + + if (aanum > 20) + { + aanum = 20; + } + + // Do the blosum thing + + for (int j = 0; j < 20; j++) + { + dbinary[(i * nores) + j] = matrix[aanum][j]; + } } - - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ - public String toBinaryString() + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + public String toBinaryString() + { + String out = ""; + + for (int i = 0; i < binary.length; i++) { - String out = ""; - - for (int i = 0; i < binary.length; i++) - { - out += (new Integer(binary[i])).toString(); - - if (i < (binary.length - 1)) - { - out += " "; - } - } + out += (new Integer(binary[i])).toString(); - return out; + if (i < (binary.length - 1)) + { + out += " "; + } } - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ - public double[] getDBinary() - { - return dbinary; - } + return out; + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + public double[] getDBinary() + { + return dbinary; + } }