import org.forester.tools.ConfidenceAssessor;
import org.forester.util.ForesterUtil;
-public class PhylogeneticInferrer implements Runnable {
+public class PhylogeneticInferrer extends RunnableProcess {
private Msa _msa;
private final MainFrameApplication _mf;
private final PhylogeneticInferenceOptions _options;
private final List<Sequence> _seqs;
- private final boolean DEBUG = true;
+ private final boolean DEBUG = true;
public final static String MSA_FILE_SUFFIX = ".aln";
public final static String PWD_FILE_SUFFIX = ".pwd";
private Msa inferMsa() throws IOException, InterruptedException {
final File temp_seqs_file = File.createTempFile( "__msa__temp__", ".fasta" );
if ( DEBUG ) {
- System.out.println();
- System.out.println( "temp file: " + temp_seqs_file );
- System.out.println();
+ System.out.println();
+ System.out.println( "temp file: " + temp_seqs_file );
+ System.out.println();
}
//final File temp_seqs_file = new File( _options.getTempDir() + ForesterUtil.FILE_SEPARATOR + "s.fasta" );
final BufferedWriter writer = new BufferedWriter( new FileWriter( temp_seqs_file ) );
e.printStackTrace();
}
}
- final NeighborJoining nj = new NeighborJoining();
+ final NeighborJoining nj = NeighborJoining.createInstance();
final Phylogeny phy = nj.execute( m );
PhylogeneticInferrer.extractFastaInformation( phy );
return phy;
if ( ( _msa == null ) && ( _seqs == null ) ) {
throw new IllegalArgumentException( "cannot run phylogenetic analysis with null msa and seq array" );
}
+ start( _mf, "phylogenetic inference" );
if ( _msa == null ) {
Msa msa = null;
try {
msa = inferMsa();
}
catch ( final IOException e ) {
+ end( _mf );
JOptionPane.showMessageDialog( _mf,
"Could not create multiple sequence alignment with \""
+ _options.getMsaPrg() + "\" and the following parameters:\n\""
"Failed to Calculate MSA",
JOptionPane.ERROR_MESSAGE );
if ( DEBUG ) {
- e.printStackTrace();
+ e.printStackTrace();
}
return;
}
catch ( final Exception e ) {
+ end( _mf );
JOptionPane.showMessageDialog( _mf,
"Could not create multiple sequence alignment with \""
+ _options.getMsaPrg() + "\" and the following parameters:\n\""
"Unexpected Exception During MSA Calculation",
JOptionPane.ERROR_MESSAGE );
if ( DEBUG ) {
- e.printStackTrace();
+ e.printStackTrace();
}
return;
}
if ( msa == null ) {
+ end( _mf );
JOptionPane.showMessageDialog( _mf,
"Could not create multiple sequence alignment with "
+ _options.getMsaPrg() + "\nand the following parameters:\n\""
return;
}
if ( DEBUG ) {
- System.out.println( msa.toString() );
- System.out.println( MsaMethods.calcBasicGapinessStatistics( msa ).toString() );
+ System.out.println( msa.toString() );
+ System.out.println( MsaMethods.calcBasicGapinessStatistics( msa ).toString() );
}
final MsaMethods msa_tools = MsaMethods.createInstance();
if ( _options.isExecuteMsaProcessing() ) {
_options.getMsaProcessingMinAllowedLength(),
msa );
if ( msa == null ) {
+ end( _mf );
JOptionPane.showMessageDialog( _mf,
"Less than two sequences longer than "
+ _options.getMsaProcessingMinAllowedLength()
}
}
if ( DEBUG ) {
- System.out.println( msa_tools.getIgnoredSequenceIds() );
- System.out.println( msa.toString() );
- System.out.println( MsaMethods.calcBasicGapinessStatistics( msa ).toString() );
+ System.out.println( msa_tools.getIgnoredSequenceIds() );
+ System.out.println( msa.toString() );
+ System.out.println( MsaMethods.calcBasicGapinessStatistics( msa ).toString() );
}
_msa = msa;
}
ConfidenceAssessor.evaluate( "bootstrap", eval_phys, master_phy, true, 1 );
}
_mf.getMainPanel().addPhylogenyInNewTab( master_phy, _mf.getConfiguration(), "nj", "njpath" );
- _mf.getMainPanel().getCurrentTreePanel().setArrowCursor();
+ // _mf.getMainPanel().getCurrentTreePanel().setArrowCursor();
+ end( _mf );
JOptionPane.showMessageDialog( _mf,
"Inference successfully completed",
"Inference Completed",