+ checkPathToMafft( path_to_mafft );
+ if ( cla.isOptionSet( MAFFT_OPTIONS ) ) {
+ mafft_options = cla.getOptionValueAsCleanString( MAFFT_OPTIONS );
+ if ( ForesterUtil.isEmpty( mafft_options ) || ( mafft_options.length() < 3 ) ) {
+ ForesterUtil.fatalError( PRG_NAME, "illegal or empty MAFFT options: " + mafft_options );
+ }
+ }
+ }
+ else if ( cla.isOptionSet( MAFFT_OPTIONS ) ) {
+ ForesterUtil.fatalError( PRG_NAME, "no need to indicate MAFFT options without realigning" );
+ }
+ if ( cla.isOptionSet( PERFORM_PHYLOGENETIC_INFERENCE ) ) {
+ perform_phylogenetic_inference = true;
+ }
+ if ( chart_only ) {
+ if ( ( out != null ) || ( removed_seqs_out_base != null ) ) {
+ ForesterUtil
+ .fatalError( PRG_NAME,
+ "chart only, no outfile(s) produced, thus no need to indicate output file(s)" );
+ }
+ if ( !realign && cla.isOptionSet( STEP_OPTION ) ) {
+ ForesterUtil.fatalError( PRG_NAME,
+ "chart only, no re-aligning, thus no need to use step for output and re-aligning; use -"
+ + STEP_FOR_DIAGNOSTICS_OPTION + " instead" );
+ }
+ }
+ if ( perform_phylogenetic_inference ) {
+ if ( step_for_diagnostics != 1 ) {
+ ForesterUtil.fatalError( PRG_NAME,
+ "step for diagnostics reports needs to be set to 1 for tree calculation" );
+ }
+ }
+ printInfo( in, msa, initial_msa_stats );
+ if ( !chart_only ) {
+ System.out.println( "Output : " + out );
+ }
+
+ if ( removed_seqs_out_base != null ) {
+ System.out.println( "Write removed sequences to : " + removed_seqs_out_base );
+ }
+ if ( worst_remove > 0 ) {
+ System.out.println( "Number of worst offenders to remove : " + worst_remove );
+ }
+ if ( av_gap > 0 ) {
+ System.out.println( "Target gap-ratio : " + av_gap );
+ }
+ if ( length > 0 ) {
+ System.out.println( "Target MSA length : " + length );
+ }
+ if ( min_length > 1 ) {
+ System.out.println( "Minimal effective sequence length : " + min_length );
+ }
+ if ( gap_ratio > -1 ) {
+ System.out.println( "Maximum allowed gap ratio per column : " + gap_ratio );
+ }
+ if ( ( out != null ) || ( removed_seqs_out_base != null ) ) {
+ System.out.print( "Output format : " );
+ if ( output_format == MSA_FORMAT.FASTA ) {
+ System.out.println( "fasta" );
+ }
+ else if ( output_format == MSA_FORMAT.PHYLIP ) {
+ System.out.println( "phylip" );
+ }
+ else if ( output_format == MSA_FORMAT.NEXUS ) {
+ System.out.println( "nexus" );
+ }
+ }
+ if ( min_length == -1 ) {
+ if ( chart_only && !realign ) {
+ System.out.println( "Step for output and re-aligning : n/a" );