X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fmsa%2FResampleableMsa.java;h=a44c5d1824be171644180932256279b831fca0eb;hb=0b39293d1577083551ba528d0ac7afcacbf69dde;hp=ad36c539a0171afa4308d253e245ce14dbc38581;hpb=eee996a6476a1e3d84c07f8f690dcde3ff4b2ef5;p=jalview.git diff --git a/forester/java/src/org/forester/msa/ResampleableMsa.java b/forester/java/src/org/forester/msa/ResampleableMsa.java index ad36c53..a44c5d1 100644 --- a/forester/java/src/org/forester/msa/ResampleableMsa.java +++ b/forester/java/src/org/forester/msa/ResampleableMsa.java @@ -21,10 +21,13 @@ // 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.msa; +import org.forester.sequence.BasicSequence; +import org.forester.sequence.MolecularSequence; + public final class ResampleableMsa extends BasicMsa { private int[] _resampled_column_positions = null; @@ -33,25 +36,29 @@ public final class ResampleableMsa extends BasicMsa { super( msa ); } - public void resample( final int[] resampled_column_positions ) { + @Override + final public char getResidueAt( final int row, final int col ) { + if ( _resampled_column_positions != null ) { + return super.getResidueAt( row, _resampled_column_positions[ col ] ); + } + return super.getResidueAt( row, col ); + } + + final public void resample( final int[] resampled_column_positions ) { if ( resampled_column_positions.length != getLength() ) { - _resampled_column_positions = null; throw new IllegalArgumentException( "illegal attempt to use " + resampled_column_positions.length - + " resampled column positions on msa of length " + getLength() ); + + " resampled column positions on msa of length " + getLength() ); } _resampled_column_positions = resampled_column_positions; } @Override - public char getResidueAt( final int row, final int col ) { - if ( _resampled_column_positions != null ) { - return super.getResidueAt( row, _resampled_column_positions[ col ] ); - } - return super.getResidueAt( row, col ); + final public void setResidueAt( final int row, final int col, final char residue ) { + throw new NoSuchMethodError( "illegal attempt to set residue in resampleable msa" ); } @Override - public void setResidueAt( final int row, final int col, final char residue ) { - throw new NoSuchMethodError( "illegal attempt to set residue in resampleable msa" ); + public MolecularSequence getSequence( final int row ) { + return new BasicSequence( getIdentifier( row ), getSequenceAsString( row ).toString(), getType() ); } }