X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fmsa%2FResampleableMsa.java;h=4427ea7fe47ffed8f652587851c3673c1e9fa4be;hb=fda4b2cd36f7c4d7edf6381268ebcf5fbbc77297;hp=3823241c4d032e8072a78e1c0d23bc0bf85b9080;hpb=2eb16fa8fc6fa40a6f9829a5d624ada26b026fcc;p=jalview.git diff --git a/forester/java/src/org/forester/msa/ResampleableMsa.java b/forester/java/src/org/forester/msa/ResampleableMsa.java index 3823241..4427ea7 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.Sequence; + public final class ResampleableMsa extends BasicMsa { private int[] _resampled_column_positions = null; @@ -33,7 +36,15 @@ 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() ) { throw new IllegalArgumentException( "illegal attempt to use " + resampled_column_positions.length + " resampled column positions on msa of length " + getLength() ); @@ -42,15 +53,12 @@ public final class ResampleableMsa extends BasicMsa { } @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 Sequence getSequence( final int row ) { + return new BasicSequence( getIdentifier( row ), getSequenceAsString( row ).toString(), getType() ); } }