X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fmsa%2FResampleableMsa.java;h=a44c5d1824be171644180932256279b831fca0eb;hb=8d6e81da091d432309f2f7034cf93dbc5ba5e82a;hp=b7c8a7dd70b87f17890c049b9a5ec11f294e77bb;hpb=656be28debec520e0e35a8b311114398a40ea366;p=jalview.git diff --git a/forester/java/src/org/forester/msa/ResampleableMsa.java b/forester/java/src/org/forester/msa/ResampleableMsa.java index b7c8a7d..a44c5d1 100644 --- a/forester/java/src/org/forester/msa/ResampleableMsa.java +++ b/forester/java/src/org/forester/msa/ResampleableMsa.java @@ -25,6 +25,9 @@ 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() ); } }