package org.forester.evoinference.matrix.character;
import java.io.IOException;
+import java.io.StringWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.List;
@Override
public CharacterStateMatrix<S> copy() {
final CharacterStateMatrix<S> new_matrix = new BasicCharacterStateMatrix<S>( getNumberOfIdentifiers(),
- getNumberOfCharacters() );
+ getNumberOfCharacters() );
for( int character = 0; character < getNumberOfCharacters(); ++character ) {
if ( getCharacter( character ) != null ) {
new_matrix.setCharacter( character, getCharacter( character ) );
}
@Override
+ @SuppressWarnings("unchecked")
public boolean equals( final Object o ) {
if ( this == o ) {
return true;
}
else if ( o.getClass() != this.getClass() ) {
throw new IllegalArgumentException( "attempt to check character state matrix to " + o + " [" + o.getClass()
- + "]" );
+ + "]" );
}
else {
final CharacterStateMatrix<S> other = ( CharacterStateMatrix<S> ) o;
}
@Override
+ @SuppressWarnings("unchecked")
public S getState( final int identifier_index, final int character_index ) {
return ( S ) _states[ identifier_index ][ character_index ];
}
@Override
public CharacterStateMatrix<S> pivot() {
final CharacterStateMatrix<S> new_matrix = new BasicCharacterStateMatrix<S>( getNumberOfCharacters(),
- getNumberOfIdentifiers() );
+ getNumberOfIdentifiers() );
for( int character = 0; character < getNumberOfCharacters(); ++character ) {
if ( getCharacter( character ) != null ) {
new_matrix.setIdentifier( character, getCharacter( character ) );
}
setState( _identifier_index_map.get( identifier ), _character_index_map.get( character ), state );
}
+
+
+ public String toString() {
+ StringWriter w = new StringWriter();
+ try {
+ toForester( w );
+ }
+ catch ( IOException e ) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return w.toString();
+ }
private void toForester( final Writer writer ) throws IOException {
final int longest = getLengthOfLongestState() + 5;
}
}
- //TODO
- //to format for microarray-style clustering
- // states are ints in this case
- //TODO
+
@Override
public void toWriter( final Writer writer ) throws IOException {
toForester( writer );
public void writeNexusBinaryChractersBlock( final Writer w ) throws IOException {
//BEGIN CHARACTERS;
// DIMENSIONS NCHAR=x;
- //BEGIN CHARSTATELABELS
+ //BEGIN CHARSTATELABELS
// 1 bcl,
// 2 tir,
//END;