+ 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" );
+ }
+ }
+ ForesterUtil.printProgramInformation( PRG_NAME,
+ PRG_DESC,
+ PRG_VERSION,
+ PRG_DATE,
+ E_MAIL,
+ WWW,
+ ForesterUtil.getForesterLibraryInformation() );
+ System.out.println( "Input MSA : " + in );
+ System.out.println( " MSA length : " + msa.getLength() );
+ System.out.println( " Number of sequences : " + msa.getNumberOfSequences() );
+ System.out.println( " Median sequence length : " + NF_1.format( initial_msa_stats.median() ) );
+ System.out.println( " Mean sequence length : "
+ + NF_1.format( initial_msa_stats.arithmeticMean() ) );
+ System.out.println( " Max sequence length : " + ( ( int ) initial_msa_stats.getMax() ) );
+ System.out.println( " Min sequence length : " + ( ( int ) initial_msa_stats.getMin() ) );
+ System.out.println( " Gap ratio : "
+ + NF_4.format( MsaMethods.calcGapRatio( msa ) ) );
+ System.out.println( " Normalized Shannon Entropy (entn21): "
+ + NF_4.format( MsaMethods.calcNormalizedShannonsEntropy( 21, msa ) ) );
+ if ( !chart_only ) {
+ System.out.println( "Output : " + out );
+ }
+ else {
+ System.out.println( "Output : n/a" );
+ }
+ if ( removed_seqs_out_base != null ) {
+ System.out.println( "Write removed sequences to : " + removed_seqs_out_base );