From a52bf269c601c87646287961ab3029198eec51d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Mon, 18 Nov 2024 17:22:06 +0100 Subject: [PATCH 1/7] Add gap and sim threshold values to verbose info --- include/reportsystem.h | 4 ++++ source/Cleaner.cpp | 10 ++++++++++ source/reportMessages/infoMessages.cpp | 8 +++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/include/reportsystem.h b/include/reportsystem.h index 354a71e77..45aeecc1a 100644 --- a/include/reportsystem.h +++ b/include/reportsystem.h @@ -309,6 +309,10 @@ enum InfoCode { OnlyReadAndWrite = 6, + GapThreshold = 7, + + SimilarityThreshold = 8, + __MAXINFO }; diff --git a/source/Cleaner.cpp b/source/Cleaner.cpp index 183393f6f..786640ad7 100644 --- a/source/Cleaner.cpp +++ b/source/Cleaner.cpp @@ -108,6 +108,10 @@ Alignment *Cleaner::cleanByCutValueOverpass( int residueIndex, numberColumnsToRecover, *keptResiduesGaps; int oldNumberKeptResidues = 0, newNumberKeptResidues = 0; Alignment *newAlig = new Alignment(*alig); + double gapThreshold = maxGaps / alig->originalNumberOfResidues; + + debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string((int) maxGaps), std::to_string(gapThreshold)}); + // Select the columns with a gaps value // less or equal than the cut point. @@ -530,6 +534,12 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con int i, x, pos, counter, lenBlock; Alignment *newAlig = new Alignment(*alig); + double gapThreshold = (double) gapCut / alig->originalNumberOfResidues; + + debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string(gapCut), std::to_string(gapThreshold)}); + + debug.report(InfoCode::SimilarityThreshold, new std::string[1]{std::to_string(simCut)}); + // Reject columns with gaps number greater than the gap threshold. for (i = 0; i < alig->originalNumberOfResidues; i++) { diff --git a/source/reportMessages/infoMessages.cpp b/source/reportMessages/infoMessages.cpp index faac75a8c..e0f64d8a4 100644 --- a/source/reportMessages/infoMessages.cpp +++ b/source/reportMessages/infoMessages.cpp @@ -50,5 +50,11 @@ const std::map reporting::reportManager::InfoMessages = "Using \"[tag]\" CPU extensions to compute statistics."}, {InfoCode::OnlyReadAndWrite, - "No filtering or calculation performed. Output same MSA as input."} + "No filtering or calculation performed. Output same MSA as input."}, + + {InfoCode::GapThreshold, + "The maximum amount of gaps is \"[tag]\". The threshold value used is \"[tag]\"."}, + + {InfoCode::SimilarityThreshold, + "The similarity threshold value used is \"[tag]\"."} }; \ No newline at end of file From 65dd414c70255650c396a76c20e8b6fc2d4b49f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Thu, 21 Nov 2024 16:55:38 +0100 Subject: [PATCH 2/7] Add disclaimer on thresholds --- source/reportMessages/infoMessages.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/reportMessages/infoMessages.cpp b/source/reportMessages/infoMessages.cpp index e0f64d8a4..6c1bb4ac1 100644 --- a/source/reportMessages/infoMessages.cpp +++ b/source/reportMessages/infoMessages.cpp @@ -53,8 +53,10 @@ const std::map reporting::reportManager::InfoMessages = "No filtering or calculation performed. Output same MSA as input."}, {InfoCode::GapThreshold, - "The maximum amount of gaps is \"[tag]\". The threshold value used is \"[tag]\"."}, + "The maximum amount of gaps is \"[tag]\". The threshold value used is \"[tag]\". Column/sequence trimming may be affected by other parameters (e.g." + " conservation threshold)."}, {InfoCode::SimilarityThreshold, - "The similarity threshold value used is \"[tag]\"."} + "The similarity threshold value used is \"[tag]\". Column/sequence trimming may be affected by other parameters (e.g." + " conservation threshold)."} }; \ No newline at end of file From 6c7fa1a9c2901fa536f771a874cd999124d76d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Thu, 21 Nov 2024 16:56:09 +0100 Subject: [PATCH 3/7] Add info to manual similarity threshold --- source/Cleaner.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/Cleaner.cpp b/source/Cleaner.cpp index 786640ad7..2c736ae2b 100644 --- a/source/Cleaner.cpp +++ b/source/Cleaner.cpp @@ -255,6 +255,8 @@ Alignment *Cleaner::cleanByCutValueFallBehind( int i, j, k, jn, oth, block = 0, residues; Alignment *newAlig = new Alignment(*alig); + debug.report(InfoCode::SimilarityThreshold, new std::string[1]{std::to_string(cut)}); + // Select the columns with a gaps value // less or equal than the cut point. // @@ -535,12 +537,8 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con Alignment *newAlig = new Alignment(*alig); double gapThreshold = (double) gapCut / alig->originalNumberOfResidues; - debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string(gapCut), std::to_string(gapThreshold)}); - debug.report(InfoCode::SimilarityThreshold, new std::string[1]{std::to_string(simCut)}); - - // Reject columns with gaps number greater than the gap threshold. for (i = 0; i < alig->originalNumberOfResidues; i++) { if (gInCol[i] > gapCut || MDK_W[i] < simCut) From 9a598e6c381ec00f85ae01c06a3fd519893b0dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Fri, 22 Nov 2024 10:46:20 +0100 Subject: [PATCH 4/7] Fix printed threshold calculation --- source/Cleaner.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/Cleaner.cpp b/source/Cleaner.cpp index 2c736ae2b..335a614fa 100644 --- a/source/Cleaner.cpp +++ b/source/Cleaner.cpp @@ -108,11 +108,10 @@ Alignment *Cleaner::cleanByCutValueOverpass( int residueIndex, numberColumnsToRecover, *keptResiduesGaps; int oldNumberKeptResidues = 0, newNumberKeptResidues = 0; Alignment *newAlig = new Alignment(*alig); - double gapThreshold = maxGaps / alig->originalNumberOfResidues; + double gapThreshold = maxGaps / alig->originalNumberOfSequences; debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string((int) maxGaps), std::to_string(gapThreshold)}); - // Select the columns with a gaps value // less or equal than the cut point. // @@ -536,7 +535,7 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con int i, x, pos, counter, lenBlock; Alignment *newAlig = new Alignment(*alig); - double gapThreshold = (double) gapCut / alig->originalNumberOfResidues; + double gapThreshold = (double) gapCut / alig->originalNumberOfSequences; debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string(gapCut), std::to_string(gapThreshold)}); // Reject columns with gaps number greater than the gap threshold. From 2600bdb9d48552bbfd18e084d73466ab1ae53bea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Fri, 22 Nov 2024 15:10:19 +0100 Subject: [PATCH 5/7] Add info of number of columns and block size --- include/reportsystem.h | 4 +++ source/Cleaner.cpp | 39 ++++++++++++++++++++------ source/reportMessages/infoMessages.cpp | 12 ++++++-- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/include/reportsystem.h b/include/reportsystem.h index 45aeecc1a..a8bae2305 100644 --- a/include/reportsystem.h +++ b/include/reportsystem.h @@ -313,6 +313,10 @@ enum InfoCode { SimilarityThreshold = 8, + ColumnsToKeep = 9, + + BlockSize = 10, + __MAXINFO }; diff --git a/source/Cleaner.cpp b/source/Cleaner.cpp index 335a614fa..fe0bf7dcb 100644 --- a/source/Cleaner.cpp +++ b/source/Cleaner.cpp @@ -108,9 +108,9 @@ Alignment *Cleaner::cleanByCutValueOverpass( int residueIndex, numberColumnsToRecover, *keptResiduesGaps; int oldNumberKeptResidues = 0, newNumberKeptResidues = 0; Alignment *newAlig = new Alignment(*alig); - double gapThreshold = maxGaps / alig->originalNumberOfSequences; - - debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string((int) maxGaps), std::to_string(gapThreshold)}); + + double maxGapThreshold = ((double) maxGaps / alig->originalNumberOfSequences) * 100.0; + debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string((int) maxGaps), std::to_string(maxGapThreshold)}); // Select the columns with a gaps value // less or equal than the cut point. @@ -238,9 +238,10 @@ Alignment *Cleaner::cleanByCutValueOverpass( // Compute new sequences and columns numbers newAlig->Cleaning->removeAllGapsSeqsAndCols(); + + // Return the new alignment reference return newAlig; - } Alignment *Cleaner::cleanByCutValueFallBehind( @@ -535,15 +536,31 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con int i, x, pos, counter, lenBlock; Alignment *newAlig = new Alignment(*alig); - double gapThreshold = (double) gapCut / alig->originalNumberOfSequences; - debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string(gapCut), std::to_string(gapThreshold)}); + double maxGapThreshold = ((double) gapCut / alig->originalNumberOfSequences) * 100.0; + debug.report(InfoCode::GapThreshold, new std::string[2]{std::to_string(gapCut), std::to_string(maxGapThreshold)}); + debug.report(InfoCode::SimilarityThreshold, new std::string[1]{std::to_string(simCut)}); // Reject columns with gaps number greater than the gap threshold. - for (i = 0; i < alig->originalNumberOfResidues; i++) { - if (gInCol[i] > gapCut || MDK_W[i] < simCut) - newAlig->saveResidues[i] = -1; + int residueIndex = 0; + int oldNumberKeptResidues = 0; + int newNumberKeptResidues = 0; + for (residueIndex = 0; residueIndex < alig->originalNumberOfResidues; residueIndex++) { + if (alig->saveResidues[residueIndex] == -1) continue; + + if (gInCol[residueIndex] > gapCut || MDK_W[residueIndex] < simCut) { + newAlig->saveResidues[residueIndex] = -1; + } else { + newNumberKeptResidues++; + } + + oldNumberKeptResidues++; } + double percentageColumnsOriginal = ((double) oldNumberKeptResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"before strict method", std::to_string(oldNumberKeptResidues), std::to_string(percentageColumnsOriginal)}); + percentageColumnsOriginal = ((double) newNumberKeptResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after strict method clean based on gaps and similarity", std::to_string(newNumberKeptResidues), std::to_string(percentageColumnsOriginal)}); + // Rescue residues based on their neighbouring residues. We are going to rescue those residues that would be rejected but have at least, 3 non-rejected residues. { // We're going to store a 5-value window of values that we are goint to move residue by residue. @@ -727,6 +744,10 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con // Compute new sequences and columns numbers newAlig->Cleaning->removeAllGapsSeqsAndCols(); + percentageColumnsOriginal = ((double) newAlig->numberOfResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::BlockSize, new std::string[1]{std::to_string(blockSize)}); + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after strict method recovered neighbours and filtered by block size", std::to_string(newAlig->numberOfResidues), std::to_string(percentageColumnsOriginal)}); + return newAlig; } diff --git a/source/reportMessages/infoMessages.cpp b/source/reportMessages/infoMessages.cpp index 6c1bb4ac1..52435d02c 100644 --- a/source/reportMessages/infoMessages.cpp +++ b/source/reportMessages/infoMessages.cpp @@ -53,10 +53,16 @@ const std::map reporting::reportManager::InfoMessages = "No filtering or calculation performed. Output same MSA as input."}, {InfoCode::GapThreshold, - "The maximum amount of gaps is \"[tag]\". The threshold value used is \"[tag]\". Column/sequence trimming may be affected by other parameters (e.g." - " conservation threshold)."}, + "The maximum amount of gaps is \"[tag]\", representing a gap in the \"[tag]\" percent or more of the sequences. Column/sequence trimming may be affected by other parameters (e.g." + " conservation threshold, block size)."}, {InfoCode::SimilarityThreshold, "The similarity threshold value used is \"[tag]\". Column/sequence trimming may be affected by other parameters (e.g." - " conservation threshold)."} + " conservation threshold, block size)."}, + + {InfoCode::ColumnsToKeep, + "The number of columns to keep [tag] is \"[tag]\", representing \"[tag]\" percent of the original alignment"}, + + {InfoCode::BlockSize, + "The block size used is \"[tag]\""}, }; \ No newline at end of file From 73fd72c8a359c515424612160566478970ef6292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Fri, 20 Dec 2024 14:56:57 +0100 Subject: [PATCH 6/7] Remove duplicated script --- generate_trimmed_msas.sh | 512 --------------------------------------- 1 file changed, 512 deletions(-) delete mode 100755 generate_trimmed_msas.sh diff --git a/generate_trimmed_msas.sh b/generate_trimmed_msas.sh deleted file mode 100755 index 20ce2578a..000000000 --- a/generate_trimmed_msas.sh +++ /dev/null @@ -1,512 +0,0 @@ -mkdir test_msas -mkdir test_msas/gappyout -mkdir test_msas/strict -mkdir test_msas/strictplus -mkdir test_msas/automated1 -mkdir test_msas/nogaps -mkdir test_msas/noallgaps - -./source/trimal -in dataset/example.004.AA.fasta -gappyout -out test_msas/gappyout/example.004.AA.fasta -./source/trimal -in dataset/example.004.AA.fasta -strict -out test_msas/strict/example.004.AA.fasta -./source/trimal -in dataset/example.004.AA.fasta -strictplus -out test_msas/strictplus/example.004.AA.fasta -./source/trimal -in dataset/example.004.AA.fasta -automated1 -out test_msas/automated1/example.004.AA.fasta -./source/trimal -in dataset/example.004.AA.fasta -nogaps -out test_msas/nogaps/example.004.AA.fasta -./source/trimal -in dataset/example.004.AA.fasta -noallgaps -out test_msas/noallgaps/example.004.AA.fasta -./source/trimal -in dataset/example.005.AA.fasta -gappyout -out test_msas/gappyout/example.005.AA.fasta -./source/trimal -in dataset/example.005.AA.fasta -strict -out test_msas/strict/example.005.AA.fasta -./source/trimal -in dataset/example.005.AA.fasta -strictplus -out test_msas/strictplus/example.005.AA.fasta -./source/trimal -in dataset/example.005.AA.fasta -automated1 -out test_msas/automated1/example.005.AA.fasta -./source/trimal -in dataset/example.005.AA.fasta -nogaps -out test_msas/nogaps/example.005.AA.fasta -./source/trimal -in dataset/example.005.AA.fasta -noallgaps -out test_msas/noallgaps/example.005.AA.fasta -./source/trimal -in dataset/example.007.AA.fasta -gappyout -out test_msas/gappyout/example.007.AA.fasta -./source/trimal -in dataset/example.007.AA.fasta -strict -out test_msas/strict/example.007.AA.fasta -./source/trimal -in dataset/example.007.AA.fasta -strictplus -out test_msas/strictplus/example.007.AA.fasta -./source/trimal -in dataset/example.007.AA.fasta -automated1 -out test_msas/automated1/example.007.AA.fasta -./source/trimal -in dataset/example.007.AA.fasta -nogaps -out test_msas/nogaps/example.007.AA.fasta -./source/trimal -in dataset/example.007.AA.fasta -noallgaps -out test_msas/noallgaps/example.007.AA.fasta -./source/trimal -in dataset/example.009.AA.fasta -gappyout -out test_msas/gappyout/example.009.AA.fasta -./source/trimal -in dataset/example.009.AA.fasta -strict -out test_msas/strict/example.009.AA.fasta -./source/trimal -in dataset/example.009.AA.fasta -strictplus -out test_msas/strictplus/example.009.AA.fasta -./source/trimal -in dataset/example.009.AA.fasta -automated1 -out test_msas/automated1/example.009.AA.fasta -./source/trimal -in dataset/example.009.AA.fasta -nogaps -out test_msas/nogaps/example.009.AA.fasta -./source/trimal -in dataset/example.009.AA.fasta -noallgaps -out test_msas/noallgaps/example.009.AA.fasta -./source/trimal -in dataset/example.010.AA.fasta -gappyout -out test_msas/gappyout/example.010.AA.fasta -./source/trimal -in dataset/example.010.AA.fasta -strict -out test_msas/strict/example.010.AA.fasta -./source/trimal -in dataset/example.010.AA.fasta -strictplus -out test_msas/strictplus/example.010.AA.fasta -./source/trimal -in dataset/example.010.AA.fasta -automated1 -out test_msas/automated1/example.010.AA.fasta -./source/trimal -in dataset/example.010.AA.fasta -nogaps -out test_msas/nogaps/example.010.AA.fasta -./source/trimal -in dataset/example.010.AA.fasta -noallgaps -out test_msas/noallgaps/example.010.AA.fasta -./source/trimal -in dataset/example.011.AA.YKL197C.fasta -gappyout -out test_msas/gappyout/example.011.AA.YKL197C.fasta -./source/trimal -in dataset/example.011.AA.YKL197C.fasta -strict -out test_msas/strict/example.011.AA.YKL197C.fasta -./source/trimal -in dataset/example.011.AA.YKL197C.fasta -strictplus -out test_msas/strictplus/example.011.AA.YKL197C.fasta -./source/trimal -in dataset/example.011.AA.YKL197C.fasta -automated1 -out test_msas/automated1/example.011.AA.YKL197C.fasta -./source/trimal -in dataset/example.011.AA.YKL197C.fasta -nogaps -out test_msas/nogaps/example.011.AA.YKL197C.fasta -./source/trimal -in dataset/example.011.AA.YKL197C.fasta -noallgaps -out test_msas/noallgaps/example.011.AA.YKL197C.fasta -./source/trimal -in dataset/example.014.AA.EggNOG.COG0591.fasta -gappyout -out test_msas/gappyout/example.014.AA.EggNOG.COG0591.fasta -./source/trimal -in dataset/example.014.AA.EggNOG.COG0591.fasta -strict -out test_msas/strict/example.014.AA.EggNOG.COG0591.fasta -./source/trimal -in dataset/example.014.AA.EggNOG.COG0591.fasta -strictplus -out test_msas/strictplus/example.014.AA.EggNOG.COG0591.fasta -./source/trimal -in dataset/example.014.AA.EggNOG.COG0591.fasta -automated1 -out test_msas/automated1/example.014.AA.EggNOG.COG0591.fasta -./source/trimal -in dataset/example.014.AA.EggNOG.COG0591.fasta -nogaps -out test_msas/nogaps/example.014.AA.EggNOG.COG0591.fasta -./source/trimal -in dataset/example.014.AA.EggNOG.COG0591.fasta -noallgaps -out test_msas/noallgaps/example.014.AA.EggNOG.COG0591.fasta -./source/trimal -in dataset/example.015.AA.bctoNOG.ENOG41099F3.fasta -gappyout -out test_msas/gappyout/example.015.AA.bctoNOG.ENOG41099F3.fasta -./source/trimal -in dataset/example.015.AA.bctoNOG.ENOG41099F3.fasta -strict -out test_msas/strict/example.015.AA.bctoNOG.ENOG41099F3.fasta -./source/trimal -in dataset/example.015.AA.bctoNOG.ENOG41099F3.fasta -strictplus -out test_msas/strictplus/example.015.AA.bctoNOG.ENOG41099F3.fasta -./source/trimal -in dataset/example.015.AA.bctoNOG.ENOG41099F3.fasta -automated1 -out test_msas/automated1/example.015.AA.bctoNOG.ENOG41099F3.fasta -./source/trimal -in dataset/example.015.AA.bctoNOG.ENOG41099F3.fasta -nogaps -out test_msas/nogaps/example.015.AA.bctoNOG.ENOG41099F3.fasta -./source/trimal -in dataset/example.015.AA.bctoNOG.ENOG41099F3.fasta -noallgaps -out test_msas/noallgaps/example.015.AA.bctoNOG.ENOG41099F3.fasta -./source/trimal -in dataset/example.016.AA.bctoNOG.ENOG41099FB.fasta -gappyout -out test_msas/gappyout/example.016.AA.bctoNOG.ENOG41099FB.fasta -./source/trimal -in dataset/example.016.AA.bctoNOG.ENOG41099FB.fasta -strict -out test_msas/strict/example.016.AA.bctoNOG.ENOG41099FB.fasta -./source/trimal -in dataset/example.016.AA.bctoNOG.ENOG41099FB.fasta -strictplus -out test_msas/strictplus/example.016.AA.bctoNOG.ENOG41099FB.fasta -./source/trimal -in dataset/example.016.AA.bctoNOG.ENOG41099FB.fasta -automated1 -out test_msas/automated1/example.016.AA.bctoNOG.ENOG41099FB.fasta -./source/trimal -in dataset/example.016.AA.bctoNOG.ENOG41099FB.fasta -nogaps -out test_msas/nogaps/example.016.AA.bctoNOG.ENOG41099FB.fasta -./source/trimal -in dataset/example.016.AA.bctoNOG.ENOG41099FB.fasta -noallgaps -out test_msas/noallgaps/example.016.AA.bctoNOG.ENOG41099FB.fasta -./source/trimal -in dataset/example.017.AA.bctoNOG.ENOG41099FJ.fasta -gappyout -out test_msas/gappyout/example.017.AA.bctoNOG.ENOG41099FJ.fasta -./source/trimal -in dataset/example.017.AA.bctoNOG.ENOG41099FJ.fasta -strict -out test_msas/strict/example.017.AA.bctoNOG.ENOG41099FJ.fasta -./source/trimal -in dataset/example.017.AA.bctoNOG.ENOG41099FJ.fasta -strictplus -out test_msas/strictplus/example.017.AA.bctoNOG.ENOG41099FJ.fasta -./source/trimal -in dataset/example.017.AA.bctoNOG.ENOG41099FJ.fasta -automated1 -out test_msas/automated1/example.017.AA.bctoNOG.ENOG41099FJ.fasta -./source/trimal -in dataset/example.017.AA.bctoNOG.ENOG41099FJ.fasta -nogaps -out test_msas/nogaps/example.017.AA.bctoNOG.ENOG41099FJ.fasta -./source/trimal -in dataset/example.017.AA.bctoNOG.ENOG41099FJ.fasta -noallgaps -out test_msas/noallgaps/example.017.AA.bctoNOG.ENOG41099FJ.fasta -./source/trimal -in dataset/example.018.AA.bctoNOG.ENOG41099FV.fasta -gappyout -out test_msas/gappyout/example.018.AA.bctoNOG.ENOG41099FV.fasta -./source/trimal -in dataset/example.018.AA.bctoNOG.ENOG41099FV.fasta -strict -out test_msas/strict/example.018.AA.bctoNOG.ENOG41099FV.fasta -./source/trimal -in dataset/example.018.AA.bctoNOG.ENOG41099FV.fasta -strictplus -out test_msas/strictplus/example.018.AA.bctoNOG.ENOG41099FV.fasta -./source/trimal -in dataset/example.018.AA.bctoNOG.ENOG41099FV.fasta -automated1 -out test_msas/automated1/example.018.AA.bctoNOG.ENOG41099FV.fasta -./source/trimal -in dataset/example.018.AA.bctoNOG.ENOG41099FV.fasta -nogaps -out test_msas/nogaps/example.018.AA.bctoNOG.ENOG41099FV.fasta -./source/trimal -in dataset/example.018.AA.bctoNOG.ENOG41099FV.fasta -noallgaps -out test_msas/noallgaps/example.018.AA.bctoNOG.ENOG41099FV.fasta -./source/trimal -in dataset/example.019.AA.bctoNOG.ENOG41099HI.fasta -gappyout -out test_msas/gappyout/example.019.AA.bctoNOG.ENOG41099HI.fasta -./source/trimal -in dataset/example.019.AA.bctoNOG.ENOG41099HI.fasta -strict -out test_msas/strict/example.019.AA.bctoNOG.ENOG41099HI.fasta -./source/trimal -in dataset/example.019.AA.bctoNOG.ENOG41099HI.fasta -strictplus -out test_msas/strictplus/example.019.AA.bctoNOG.ENOG41099HI.fasta -./source/trimal -in dataset/example.019.AA.bctoNOG.ENOG41099HI.fasta -automated1 -out test_msas/automated1/example.019.AA.bctoNOG.ENOG41099HI.fasta -./source/trimal -in dataset/example.019.AA.bctoNOG.ENOG41099HI.fasta -nogaps -out test_msas/nogaps/example.019.AA.bctoNOG.ENOG41099HI.fasta -./source/trimal -in dataset/example.019.AA.bctoNOG.ENOG41099HI.fasta -noallgaps -out test_msas/noallgaps/example.019.AA.bctoNOG.ENOG41099HI.fasta -./source/trimal -in dataset/example.020.AA.bctoNOG.ENOG41099HN.fasta -gappyout -out test_msas/gappyout/example.020.AA.bctoNOG.ENOG41099HN.fasta -./source/trimal -in dataset/example.020.AA.bctoNOG.ENOG41099HN.fasta -strict -out test_msas/strict/example.020.AA.bctoNOG.ENOG41099HN.fasta -./source/trimal -in dataset/example.020.AA.bctoNOG.ENOG41099HN.fasta -strictplus -out test_msas/strictplus/example.020.AA.bctoNOG.ENOG41099HN.fasta -./source/trimal -in dataset/example.020.AA.bctoNOG.ENOG41099HN.fasta -automated1 -out test_msas/automated1/example.020.AA.bctoNOG.ENOG41099HN.fasta -./source/trimal -in dataset/example.020.AA.bctoNOG.ENOG41099HN.fasta -nogaps -out test_msas/nogaps/example.020.AA.bctoNOG.ENOG41099HN.fasta -./source/trimal -in dataset/example.020.AA.bctoNOG.ENOG41099HN.fasta -noallgaps -out test_msas/noallgaps/example.020.AA.bctoNOG.ENOG41099HN.fasta -./source/trimal -in dataset/example.021.AA.bctoNOG.ENOG41099I5.fasta -gappyout -out test_msas/gappyout/example.021.AA.bctoNOG.ENOG41099I5.fasta -./source/trimal -in dataset/example.021.AA.bctoNOG.ENOG41099I5.fasta -strict -out test_msas/strict/example.021.AA.bctoNOG.ENOG41099I5.fasta -./source/trimal -in dataset/example.021.AA.bctoNOG.ENOG41099I5.fasta -strictplus -out test_msas/strictplus/example.021.AA.bctoNOG.ENOG41099I5.fasta -./source/trimal -in dataset/example.021.AA.bctoNOG.ENOG41099I5.fasta -automated1 -out test_msas/automated1/example.021.AA.bctoNOG.ENOG41099I5.fasta -./source/trimal -in dataset/example.021.AA.bctoNOG.ENOG41099I5.fasta -nogaps -out test_msas/nogaps/example.021.AA.bctoNOG.ENOG41099I5.fasta -./source/trimal -in dataset/example.021.AA.bctoNOG.ENOG41099I5.fasta -noallgaps -out test_msas/noallgaps/example.021.AA.bctoNOG.ENOG41099I5.fasta -./source/trimal -in dataset/example.022.AA.bctoNOG.ENOG41099IZ.fasta -gappyout -out test_msas/gappyout/example.022.AA.bctoNOG.ENOG41099IZ.fasta -./source/trimal -in dataset/example.022.AA.bctoNOG.ENOG41099IZ.fasta -strict -out test_msas/strict/example.022.AA.bctoNOG.ENOG41099IZ.fasta -./source/trimal -in dataset/example.022.AA.bctoNOG.ENOG41099IZ.fasta -strictplus -out test_msas/strictplus/example.022.AA.bctoNOG.ENOG41099IZ.fasta -./source/trimal -in dataset/example.022.AA.bctoNOG.ENOG41099IZ.fasta -automated1 -out test_msas/automated1/example.022.AA.bctoNOG.ENOG41099IZ.fasta -./source/trimal -in dataset/example.022.AA.bctoNOG.ENOG41099IZ.fasta -nogaps -out test_msas/nogaps/example.022.AA.bctoNOG.ENOG41099IZ.fasta -./source/trimal -in dataset/example.022.AA.bctoNOG.ENOG41099IZ.fasta -noallgaps -out test_msas/noallgaps/example.022.AA.bctoNOG.ENOG41099IZ.fasta -./source/trimal -in dataset/example.023.AA.bctoNOG.ENOG41099K3.fasta -gappyout -out test_msas/gappyout/example.023.AA.bctoNOG.ENOG41099K3.fasta -./source/trimal -in dataset/example.023.AA.bctoNOG.ENOG41099K3.fasta -strict -out test_msas/strict/example.023.AA.bctoNOG.ENOG41099K3.fasta -./source/trimal -in dataset/example.023.AA.bctoNOG.ENOG41099K3.fasta -strictplus -out test_msas/strictplus/example.023.AA.bctoNOG.ENOG41099K3.fasta -./source/trimal -in dataset/example.023.AA.bctoNOG.ENOG41099K3.fasta -automated1 -out test_msas/automated1/example.023.AA.bctoNOG.ENOG41099K3.fasta -./source/trimal -in dataset/example.023.AA.bctoNOG.ENOG41099K3.fasta -nogaps -out test_msas/nogaps/example.023.AA.bctoNOG.ENOG41099K3.fasta -./source/trimal -in dataset/example.023.AA.bctoNOG.ENOG41099K3.fasta -noallgaps -out test_msas/noallgaps/example.023.AA.bctoNOG.ENOG41099K3.fasta -./source/trimal -in dataset/example.024.AA.bctoNOG.ENOG41099KM.fasta -gappyout -out test_msas/gappyout/example.024.AA.bctoNOG.ENOG41099KM.fasta -./source/trimal -in dataset/example.024.AA.bctoNOG.ENOG41099KM.fasta -strict -out test_msas/strict/example.024.AA.bctoNOG.ENOG41099KM.fasta -./source/trimal -in dataset/example.024.AA.bctoNOG.ENOG41099KM.fasta -strictplus -out test_msas/strictplus/example.024.AA.bctoNOG.ENOG41099KM.fasta -./source/trimal -in dataset/example.024.AA.bctoNOG.ENOG41099KM.fasta -automated1 -out test_msas/automated1/example.024.AA.bctoNOG.ENOG41099KM.fasta -./source/trimal -in dataset/example.024.AA.bctoNOG.ENOG41099KM.fasta -nogaps -out test_msas/nogaps/example.024.AA.bctoNOG.ENOG41099KM.fasta -./source/trimal -in dataset/example.024.AA.bctoNOG.ENOG41099KM.fasta -noallgaps -out test_msas/noallgaps/example.024.AA.bctoNOG.ENOG41099KM.fasta -./source/trimal -in dataset/example.025.AA.bctoNOG.ENOG41099KP.fasta -gappyout -out test_msas/gappyout/example.025.AA.bctoNOG.ENOG41099KP.fasta -./source/trimal -in dataset/example.025.AA.bctoNOG.ENOG41099KP.fasta -strict -out test_msas/strict/example.025.AA.bctoNOG.ENOG41099KP.fasta -./source/trimal -in dataset/example.025.AA.bctoNOG.ENOG41099KP.fasta -strictplus -out test_msas/strictplus/example.025.AA.bctoNOG.ENOG41099KP.fasta -./source/trimal -in dataset/example.025.AA.bctoNOG.ENOG41099KP.fasta -automated1 -out test_msas/automated1/example.025.AA.bctoNOG.ENOG41099KP.fasta -./source/trimal -in dataset/example.025.AA.bctoNOG.ENOG41099KP.fasta -nogaps -out test_msas/nogaps/example.025.AA.bctoNOG.ENOG41099KP.fasta -./source/trimal -in dataset/example.025.AA.bctoNOG.ENOG41099KP.fasta -noallgaps -out test_msas/noallgaps/example.025.AA.bctoNOG.ENOG41099KP.fasta -./source/trimal -in dataset/example.026.AA.bctoNOG.ENOG41099MV.fasta -gappyout -out test_msas/gappyout/example.026.AA.bctoNOG.ENOG41099MV.fasta -./source/trimal -in dataset/example.026.AA.bctoNOG.ENOG41099MV.fasta -strict -out test_msas/strict/example.026.AA.bctoNOG.ENOG41099MV.fasta -./source/trimal -in dataset/example.026.AA.bctoNOG.ENOG41099MV.fasta -strictplus -out test_msas/strictplus/example.026.AA.bctoNOG.ENOG41099MV.fasta -./source/trimal -in dataset/example.026.AA.bctoNOG.ENOG41099MV.fasta -automated1 -out test_msas/automated1/example.026.AA.bctoNOG.ENOG41099MV.fasta -./source/trimal -in dataset/example.026.AA.bctoNOG.ENOG41099MV.fasta -nogaps -out test_msas/nogaps/example.026.AA.bctoNOG.ENOG41099MV.fasta -./source/trimal -in dataset/example.026.AA.bctoNOG.ENOG41099MV.fasta -noallgaps -out test_msas/noallgaps/example.026.AA.bctoNOG.ENOG41099MV.fasta -./source/trimal -in dataset/example.027.AA.bctoNOG.ENOG41099NY.fasta -gappyout -out test_msas/gappyout/example.027.AA.bctoNOG.ENOG41099NY.fasta -./source/trimal -in dataset/example.027.AA.bctoNOG.ENOG41099NY.fasta -strict -out test_msas/strict/example.027.AA.bctoNOG.ENOG41099NY.fasta -./source/trimal -in dataset/example.027.AA.bctoNOG.ENOG41099NY.fasta -strictplus -out test_msas/strictplus/example.027.AA.bctoNOG.ENOG41099NY.fasta -./source/trimal -in dataset/example.027.AA.bctoNOG.ENOG41099NY.fasta -automated1 -out test_msas/automated1/example.027.AA.bctoNOG.ENOG41099NY.fasta -./source/trimal -in dataset/example.027.AA.bctoNOG.ENOG41099NY.fasta -nogaps -out test_msas/nogaps/example.027.AA.bctoNOG.ENOG41099NY.fasta -./source/trimal -in dataset/example.027.AA.bctoNOG.ENOG41099NY.fasta -noallgaps -out test_msas/noallgaps/example.027.AA.bctoNOG.ENOG41099NY.fasta -./source/trimal -in dataset/example.028.AA.bctoNOG.ENOG41099PA.fasta -gappyout -out test_msas/gappyout/example.028.AA.bctoNOG.ENOG41099PA.fasta -./source/trimal -in dataset/example.028.AA.bctoNOG.ENOG41099PA.fasta -strict -out test_msas/strict/example.028.AA.bctoNOG.ENOG41099PA.fasta -./source/trimal -in dataset/example.028.AA.bctoNOG.ENOG41099PA.fasta -strictplus -out test_msas/strictplus/example.028.AA.bctoNOG.ENOG41099PA.fasta -./source/trimal -in dataset/example.028.AA.bctoNOG.ENOG41099PA.fasta -automated1 -out test_msas/automated1/example.028.AA.bctoNOG.ENOG41099PA.fasta -./source/trimal -in dataset/example.028.AA.bctoNOG.ENOG41099PA.fasta -nogaps -out test_msas/nogaps/example.028.AA.bctoNOG.ENOG41099PA.fasta -./source/trimal -in dataset/example.028.AA.bctoNOG.ENOG41099PA.fasta -noallgaps -out test_msas/noallgaps/example.028.AA.bctoNOG.ENOG41099PA.fasta -./source/trimal -in dataset/example.029.AA.bctoNOG.ENOG41099Q3.fasta -gappyout -out test_msas/gappyout/example.029.AA.bctoNOG.ENOG41099Q3.fasta -./source/trimal -in dataset/example.029.AA.bctoNOG.ENOG41099Q3.fasta -strict -out test_msas/strict/example.029.AA.bctoNOG.ENOG41099Q3.fasta -./source/trimal -in dataset/example.029.AA.bctoNOG.ENOG41099Q3.fasta -strictplus -out test_msas/strictplus/example.029.AA.bctoNOG.ENOG41099Q3.fasta -./source/trimal -in dataset/example.029.AA.bctoNOG.ENOG41099Q3.fasta -automated1 -out test_msas/automated1/example.029.AA.bctoNOG.ENOG41099Q3.fasta -./source/trimal -in dataset/example.029.AA.bctoNOG.ENOG41099Q3.fasta -nogaps -out test_msas/nogaps/example.029.AA.bctoNOG.ENOG41099Q3.fasta -./source/trimal -in dataset/example.029.AA.bctoNOG.ENOG41099Q3.fasta -noallgaps -out test_msas/noallgaps/example.029.AA.bctoNOG.ENOG41099Q3.fasta -./source/trimal -in dataset/example.030.AA.bctoNOG.ENOG41099RG.fasta -gappyout -out test_msas/gappyout/example.030.AA.bctoNOG.ENOG41099RG.fasta -./source/trimal -in dataset/example.030.AA.bctoNOG.ENOG41099RG.fasta -strict -out test_msas/strict/example.030.AA.bctoNOG.ENOG41099RG.fasta -./source/trimal -in dataset/example.030.AA.bctoNOG.ENOG41099RG.fasta -strictplus -out test_msas/strictplus/example.030.AA.bctoNOG.ENOG41099RG.fasta -./source/trimal -in dataset/example.030.AA.bctoNOG.ENOG41099RG.fasta -automated1 -out test_msas/automated1/example.030.AA.bctoNOG.ENOG41099RG.fasta -./source/trimal -in dataset/example.030.AA.bctoNOG.ENOG41099RG.fasta -nogaps -out test_msas/nogaps/example.030.AA.bctoNOG.ENOG41099RG.fasta -./source/trimal -in dataset/example.030.AA.bctoNOG.ENOG41099RG.fasta -noallgaps -out test_msas/noallgaps/example.030.AA.bctoNOG.ENOG41099RG.fasta -./source/trimal -in dataset/example.031.AA.bctoNOG.ENOG41099UK.fasta -gappyout -out test_msas/gappyout/example.031.AA.bctoNOG.ENOG41099UK.fasta -./source/trimal -in dataset/example.031.AA.bctoNOG.ENOG41099UK.fasta -strict -out test_msas/strict/example.031.AA.bctoNOG.ENOG41099UK.fasta -./source/trimal -in dataset/example.031.AA.bctoNOG.ENOG41099UK.fasta -strictplus -out test_msas/strictplus/example.031.AA.bctoNOG.ENOG41099UK.fasta -./source/trimal -in dataset/example.031.AA.bctoNOG.ENOG41099UK.fasta -automated1 -out test_msas/automated1/example.031.AA.bctoNOG.ENOG41099UK.fasta -./source/trimal -in dataset/example.031.AA.bctoNOG.ENOG41099UK.fasta -nogaps -out test_msas/nogaps/example.031.AA.bctoNOG.ENOG41099UK.fasta -./source/trimal -in dataset/example.031.AA.bctoNOG.ENOG41099UK.fasta -noallgaps -out test_msas/noallgaps/example.031.AA.bctoNOG.ENOG41099UK.fasta -./source/trimal -in dataset/example.032.AA.bctoNOG.ENOG41099UW.fasta -gappyout -out test_msas/gappyout/example.032.AA.bctoNOG.ENOG41099UW.fasta -./source/trimal -in dataset/example.032.AA.bctoNOG.ENOG41099UW.fasta -strict -out test_msas/strict/example.032.AA.bctoNOG.ENOG41099UW.fasta -./source/trimal -in dataset/example.032.AA.bctoNOG.ENOG41099UW.fasta -strictplus -out test_msas/strictplus/example.032.AA.bctoNOG.ENOG41099UW.fasta -./source/trimal -in dataset/example.032.AA.bctoNOG.ENOG41099UW.fasta -automated1 -out test_msas/automated1/example.032.AA.bctoNOG.ENOG41099UW.fasta -./source/trimal -in dataset/example.032.AA.bctoNOG.ENOG41099UW.fasta -nogaps -out test_msas/nogaps/example.032.AA.bctoNOG.ENOG41099UW.fasta -./source/trimal -in dataset/example.032.AA.bctoNOG.ENOG41099UW.fasta -noallgaps -out test_msas/noallgaps/example.032.AA.bctoNOG.ENOG41099UW.fasta -./source/trimal -in dataset/example.033.AA.bctoNOG.ENOG41099VK.fasta -gappyout -out test_msas/gappyout/example.033.AA.bctoNOG.ENOG41099VK.fasta -./source/trimal -in dataset/example.033.AA.bctoNOG.ENOG41099VK.fasta -strict -out test_msas/strict/example.033.AA.bctoNOG.ENOG41099VK.fasta -./source/trimal -in dataset/example.033.AA.bctoNOG.ENOG41099VK.fasta -strictplus -out test_msas/strictplus/example.033.AA.bctoNOG.ENOG41099VK.fasta -./source/trimal -in dataset/example.033.AA.bctoNOG.ENOG41099VK.fasta -automated1 -out test_msas/automated1/example.033.AA.bctoNOG.ENOG41099VK.fasta -./source/trimal -in dataset/example.033.AA.bctoNOG.ENOG41099VK.fasta -nogaps -out test_msas/nogaps/example.033.AA.bctoNOG.ENOG41099VK.fasta -./source/trimal -in dataset/example.033.AA.bctoNOG.ENOG41099VK.fasta -noallgaps -out test_msas/noallgaps/example.033.AA.bctoNOG.ENOG41099VK.fasta -./source/trimal -in dataset/example.034.AA.bctoNOG.ENOG41099WA.fasta -gappyout -out test_msas/gappyout/example.034.AA.bctoNOG.ENOG41099WA.fasta -./source/trimal -in dataset/example.034.AA.bctoNOG.ENOG41099WA.fasta -strict -out test_msas/strict/example.034.AA.bctoNOG.ENOG41099WA.fasta -./source/trimal -in dataset/example.034.AA.bctoNOG.ENOG41099WA.fasta -strictplus -out test_msas/strictplus/example.034.AA.bctoNOG.ENOG41099WA.fasta -./source/trimal -in dataset/example.034.AA.bctoNOG.ENOG41099WA.fasta -automated1 -out test_msas/automated1/example.034.AA.bctoNOG.ENOG41099WA.fasta -./source/trimal -in dataset/example.034.AA.bctoNOG.ENOG41099WA.fasta -nogaps -out test_msas/nogaps/example.034.AA.bctoNOG.ENOG41099WA.fasta -./source/trimal -in dataset/example.034.AA.bctoNOG.ENOG41099WA.fasta -noallgaps -out test_msas/noallgaps/example.034.AA.bctoNOG.ENOG41099WA.fasta -./source/trimal -in dataset/example.035.AA.bctoNOG.ENOG41099WF.fasta -gappyout -out test_msas/gappyout/example.035.AA.bctoNOG.ENOG41099WF.fasta -./source/trimal -in dataset/example.035.AA.bctoNOG.ENOG41099WF.fasta -strict -out test_msas/strict/example.035.AA.bctoNOG.ENOG41099WF.fasta -./source/trimal -in dataset/example.035.AA.bctoNOG.ENOG41099WF.fasta -strictplus -out test_msas/strictplus/example.035.AA.bctoNOG.ENOG41099WF.fasta -./source/trimal -in dataset/example.035.AA.bctoNOG.ENOG41099WF.fasta -automated1 -out test_msas/automated1/example.035.AA.bctoNOG.ENOG41099WF.fasta -./source/trimal -in dataset/example.035.AA.bctoNOG.ENOG41099WF.fasta -nogaps -out test_msas/nogaps/example.035.AA.bctoNOG.ENOG41099WF.fasta -./source/trimal -in dataset/example.035.AA.bctoNOG.ENOG41099WF.fasta -noallgaps -out test_msas/noallgaps/example.035.AA.bctoNOG.ENOG41099WF.fasta -./source/trimal -in dataset/example.036.AA.bctoNOG.ENOG41099XJ.fasta -gappyout -out test_msas/gappyout/example.036.AA.bctoNOG.ENOG41099XJ.fasta -./source/trimal -in dataset/example.036.AA.bctoNOG.ENOG41099XJ.fasta -strict -out test_msas/strict/example.036.AA.bctoNOG.ENOG41099XJ.fasta -./source/trimal -in dataset/example.036.AA.bctoNOG.ENOG41099XJ.fasta -strictplus -out test_msas/strictplus/example.036.AA.bctoNOG.ENOG41099XJ.fasta -./source/trimal -in dataset/example.036.AA.bctoNOG.ENOG41099XJ.fasta -automated1 -out test_msas/automated1/example.036.AA.bctoNOG.ENOG41099XJ.fasta -./source/trimal -in dataset/example.036.AA.bctoNOG.ENOG41099XJ.fasta -nogaps -out test_msas/nogaps/example.036.AA.bctoNOG.ENOG41099XJ.fasta -./source/trimal -in dataset/example.036.AA.bctoNOG.ENOG41099XJ.fasta -noallgaps -out test_msas/noallgaps/example.036.AA.bctoNOG.ENOG41099XJ.fasta -./source/trimal -in dataset/example.037.AA.bctoNOG.ENOG41099XP.fasta -gappyout -out test_msas/gappyout/example.037.AA.bctoNOG.ENOG41099XP.fasta -./source/trimal -in dataset/example.037.AA.bctoNOG.ENOG41099XP.fasta -strict -out test_msas/strict/example.037.AA.bctoNOG.ENOG41099XP.fasta -./source/trimal -in dataset/example.037.AA.bctoNOG.ENOG41099XP.fasta -strictplus -out test_msas/strictplus/example.037.AA.bctoNOG.ENOG41099XP.fasta -./source/trimal -in dataset/example.037.AA.bctoNOG.ENOG41099XP.fasta -automated1 -out test_msas/automated1/example.037.AA.bctoNOG.ENOG41099XP.fasta -./source/trimal -in dataset/example.037.AA.bctoNOG.ENOG41099XP.fasta -nogaps -out test_msas/nogaps/example.037.AA.bctoNOG.ENOG41099XP.fasta -./source/trimal -in dataset/example.037.AA.bctoNOG.ENOG41099XP.fasta -noallgaps -out test_msas/noallgaps/example.037.AA.bctoNOG.ENOG41099XP.fasta -./source/trimal -in dataset/example.038.AA.bctoNOG.ENOG41099Y4.fasta -gappyout -out test_msas/gappyout/example.038.AA.bctoNOG.ENOG41099Y4.fasta -./source/trimal -in dataset/example.038.AA.bctoNOG.ENOG41099Y4.fasta -strict -out test_msas/strict/example.038.AA.bctoNOG.ENOG41099Y4.fasta -./source/trimal -in dataset/example.038.AA.bctoNOG.ENOG41099Y4.fasta -strictplus -out test_msas/strictplus/example.038.AA.bctoNOG.ENOG41099Y4.fasta -./source/trimal -in dataset/example.038.AA.bctoNOG.ENOG41099Y4.fasta -automated1 -out test_msas/automated1/example.038.AA.bctoNOG.ENOG41099Y4.fasta -./source/trimal -in dataset/example.038.AA.bctoNOG.ENOG41099Y4.fasta -nogaps -out test_msas/nogaps/example.038.AA.bctoNOG.ENOG41099Y4.fasta -./source/trimal -in dataset/example.038.AA.bctoNOG.ENOG41099Y4.fasta -noallgaps -out test_msas/noallgaps/example.038.AA.bctoNOG.ENOG41099Y4.fasta -./source/trimal -in dataset/example.039.AA.bctoNOG.ENOG41099YD.fasta -gappyout -out test_msas/gappyout/example.039.AA.bctoNOG.ENOG41099YD.fasta -./source/trimal -in dataset/example.039.AA.bctoNOG.ENOG41099YD.fasta -strict -out test_msas/strict/example.039.AA.bctoNOG.ENOG41099YD.fasta -./source/trimal -in dataset/example.039.AA.bctoNOG.ENOG41099YD.fasta -strictplus -out test_msas/strictplus/example.039.AA.bctoNOG.ENOG41099YD.fasta -./source/trimal -in dataset/example.039.AA.bctoNOG.ENOG41099YD.fasta -automated1 -out test_msas/automated1/example.039.AA.bctoNOG.ENOG41099YD.fasta -./source/trimal -in dataset/example.039.AA.bctoNOG.ENOG41099YD.fasta -nogaps -out test_msas/nogaps/example.039.AA.bctoNOG.ENOG41099YD.fasta -./source/trimal -in dataset/example.039.AA.bctoNOG.ENOG41099YD.fasta -noallgaps -out test_msas/noallgaps/example.039.AA.bctoNOG.ENOG41099YD.fasta -./source/trimal -in dataset/example.040.AA.bctoNOG.ENOG4109A32.fasta -gappyout -out test_msas/gappyout/example.040.AA.bctoNOG.ENOG4109A32.fasta -./source/trimal -in dataset/example.040.AA.bctoNOG.ENOG4109A32.fasta -strict -out test_msas/strict/example.040.AA.bctoNOG.ENOG4109A32.fasta -./source/trimal -in dataset/example.040.AA.bctoNOG.ENOG4109A32.fasta -strictplus -out test_msas/strictplus/example.040.AA.bctoNOG.ENOG4109A32.fasta -./source/trimal -in dataset/example.040.AA.bctoNOG.ENOG4109A32.fasta -automated1 -out test_msas/automated1/example.040.AA.bctoNOG.ENOG4109A32.fasta -./source/trimal -in dataset/example.040.AA.bctoNOG.ENOG4109A32.fasta -nogaps -out test_msas/nogaps/example.040.AA.bctoNOG.ENOG4109A32.fasta -./source/trimal -in dataset/example.040.AA.bctoNOG.ENOG4109A32.fasta -noallgaps -out test_msas/noallgaps/example.040.AA.bctoNOG.ENOG4109A32.fasta -./source/trimal -in dataset/example.041.AA.bctoNOG.ENOG4109A5T.fasta -gappyout -out test_msas/gappyout/example.041.AA.bctoNOG.ENOG4109A5T.fasta -./source/trimal -in dataset/example.041.AA.bctoNOG.ENOG4109A5T.fasta -strict -out test_msas/strict/example.041.AA.bctoNOG.ENOG4109A5T.fasta -./source/trimal -in dataset/example.041.AA.bctoNOG.ENOG4109A5T.fasta -strictplus -out test_msas/strictplus/example.041.AA.bctoNOG.ENOG4109A5T.fasta -./source/trimal -in dataset/example.041.AA.bctoNOG.ENOG4109A5T.fasta -automated1 -out test_msas/automated1/example.041.AA.bctoNOG.ENOG4109A5T.fasta -./source/trimal -in dataset/example.041.AA.bctoNOG.ENOG4109A5T.fasta -nogaps -out test_msas/nogaps/example.041.AA.bctoNOG.ENOG4109A5T.fasta -./source/trimal -in dataset/example.041.AA.bctoNOG.ENOG4109A5T.fasta -noallgaps -out test_msas/noallgaps/example.041.AA.bctoNOG.ENOG4109A5T.fasta -./source/trimal -in dataset/example.042.AA.bctoNOG.ENOG4109A9M.fasta -gappyout -out test_msas/gappyout/example.042.AA.bctoNOG.ENOG4109A9M.fasta -./source/trimal -in dataset/example.042.AA.bctoNOG.ENOG4109A9M.fasta -strict -out test_msas/strict/example.042.AA.bctoNOG.ENOG4109A9M.fasta -./source/trimal -in dataset/example.042.AA.bctoNOG.ENOG4109A9M.fasta -strictplus -out test_msas/strictplus/example.042.AA.bctoNOG.ENOG4109A9M.fasta -./source/trimal -in dataset/example.042.AA.bctoNOG.ENOG4109A9M.fasta -automated1 -out test_msas/automated1/example.042.AA.bctoNOG.ENOG4109A9M.fasta -./source/trimal -in dataset/example.042.AA.bctoNOG.ENOG4109A9M.fasta -nogaps -out test_msas/nogaps/example.042.AA.bctoNOG.ENOG4109A9M.fasta -./source/trimal -in dataset/example.042.AA.bctoNOG.ENOG4109A9M.fasta -noallgaps -out test_msas/noallgaps/example.042.AA.bctoNOG.ENOG4109A9M.fasta -./source/trimal -in dataset/example.043.AA.bctoNOG.ENOG4109ADN.fasta -gappyout -out test_msas/gappyout/example.043.AA.bctoNOG.ENOG4109ADN.fasta -./source/trimal -in dataset/example.043.AA.bctoNOG.ENOG4109ADN.fasta -strict -out test_msas/strict/example.043.AA.bctoNOG.ENOG4109ADN.fasta -./source/trimal -in dataset/example.043.AA.bctoNOG.ENOG4109ADN.fasta -strictplus -out test_msas/strictplus/example.043.AA.bctoNOG.ENOG4109ADN.fasta -./source/trimal -in dataset/example.043.AA.bctoNOG.ENOG4109ADN.fasta -automated1 -out test_msas/automated1/example.043.AA.bctoNOG.ENOG4109ADN.fasta -./source/trimal -in dataset/example.043.AA.bctoNOG.ENOG4109ADN.fasta -nogaps -out test_msas/nogaps/example.043.AA.bctoNOG.ENOG4109ADN.fasta -./source/trimal -in dataset/example.043.AA.bctoNOG.ENOG4109ADN.fasta -noallgaps -out test_msas/noallgaps/example.043.AA.bctoNOG.ENOG4109ADN.fasta -./source/trimal -in dataset/example.044.AA.bctoNOG.ENOG4109AED.fasta -gappyout -out test_msas/gappyout/example.044.AA.bctoNOG.ENOG4109AED.fasta -./source/trimal -in dataset/example.044.AA.bctoNOG.ENOG4109AED.fasta -strict -out test_msas/strict/example.044.AA.bctoNOG.ENOG4109AED.fasta -./source/trimal -in dataset/example.044.AA.bctoNOG.ENOG4109AED.fasta -strictplus -out test_msas/strictplus/example.044.AA.bctoNOG.ENOG4109AED.fasta -./source/trimal -in dataset/example.044.AA.bctoNOG.ENOG4109AED.fasta -automated1 -out test_msas/automated1/example.044.AA.bctoNOG.ENOG4109AED.fasta -./source/trimal -in dataset/example.044.AA.bctoNOG.ENOG4109AED.fasta -nogaps -out test_msas/nogaps/example.044.AA.bctoNOG.ENOG4109AED.fasta -./source/trimal -in dataset/example.044.AA.bctoNOG.ENOG4109AED.fasta -noallgaps -out test_msas/noallgaps/example.044.AA.bctoNOG.ENOG4109AED.fasta -./source/trimal -in dataset/example.045.AA.bctoNOG.ENOG4109AGT.fasta -gappyout -out test_msas/gappyout/example.045.AA.bctoNOG.ENOG4109AGT.fasta -./source/trimal -in dataset/example.045.AA.bctoNOG.ENOG4109AGT.fasta -strict -out test_msas/strict/example.045.AA.bctoNOG.ENOG4109AGT.fasta -./source/trimal -in dataset/example.045.AA.bctoNOG.ENOG4109AGT.fasta -strictplus -out test_msas/strictplus/example.045.AA.bctoNOG.ENOG4109AGT.fasta -./source/trimal -in dataset/example.045.AA.bctoNOG.ENOG4109AGT.fasta -automated1 -out test_msas/automated1/example.045.AA.bctoNOG.ENOG4109AGT.fasta -./source/trimal -in dataset/example.045.AA.bctoNOG.ENOG4109AGT.fasta -nogaps -out test_msas/nogaps/example.045.AA.bctoNOG.ENOG4109AGT.fasta -./source/trimal -in dataset/example.045.AA.bctoNOG.ENOG4109AGT.fasta -noallgaps -out test_msas/noallgaps/example.045.AA.bctoNOG.ENOG4109AGT.fasta -./source/trimal -in dataset/example.046.AA.bctoNOG.ENOG4109AGW.fasta -gappyout -out test_msas/gappyout/example.046.AA.bctoNOG.ENOG4109AGW.fasta -./source/trimal -in dataset/example.046.AA.bctoNOG.ENOG4109AGW.fasta -strict -out test_msas/strict/example.046.AA.bctoNOG.ENOG4109AGW.fasta -./source/trimal -in dataset/example.046.AA.bctoNOG.ENOG4109AGW.fasta -strictplus -out test_msas/strictplus/example.046.AA.bctoNOG.ENOG4109AGW.fasta -./source/trimal -in dataset/example.046.AA.bctoNOG.ENOG4109AGW.fasta -automated1 -out test_msas/automated1/example.046.AA.bctoNOG.ENOG4109AGW.fasta -./source/trimal -in dataset/example.046.AA.bctoNOG.ENOG4109AGW.fasta -nogaps -out test_msas/nogaps/example.046.AA.bctoNOG.ENOG4109AGW.fasta -./source/trimal -in dataset/example.046.AA.bctoNOG.ENOG4109AGW.fasta -noallgaps -out test_msas/noallgaps/example.046.AA.bctoNOG.ENOG4109AGW.fasta -./source/trimal -in dataset/example.047.AA.bctoNOG.ENOG4109AIC.fasta -gappyout -out test_msas/gappyout/example.047.AA.bctoNOG.ENOG4109AIC.fasta -./source/trimal -in dataset/example.047.AA.bctoNOG.ENOG4109AIC.fasta -strict -out test_msas/strict/example.047.AA.bctoNOG.ENOG4109AIC.fasta -./source/trimal -in dataset/example.047.AA.bctoNOG.ENOG4109AIC.fasta -strictplus -out test_msas/strictplus/example.047.AA.bctoNOG.ENOG4109AIC.fasta -./source/trimal -in dataset/example.047.AA.bctoNOG.ENOG4109AIC.fasta -automated1 -out test_msas/automated1/example.047.AA.bctoNOG.ENOG4109AIC.fasta -./source/trimal -in dataset/example.047.AA.bctoNOG.ENOG4109AIC.fasta -nogaps -out test_msas/nogaps/example.047.AA.bctoNOG.ENOG4109AIC.fasta -./source/trimal -in dataset/example.047.AA.bctoNOG.ENOG4109AIC.fasta -noallgaps -out test_msas/noallgaps/example.047.AA.bctoNOG.ENOG4109AIC.fasta -./source/trimal -in dataset/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -gappyout -out test_msas/gappyout/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -./source/trimal -in dataset/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -strict -out test_msas/strict/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -./source/trimal -in dataset/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -strictplus -out test_msas/strictplus/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -./source/trimal -in dataset/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -automated1 -out test_msas/automated1/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -./source/trimal -in dataset/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -nogaps -out test_msas/nogaps/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -./source/trimal -in dataset/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -noallgaps -out test_msas/noallgaps/example.048.AA.bctoNOG.ENOG4109AJ3.fasta -./source/trimal -in dataset/example.049.AA.bctoNOG.ENOG4109AY5.fasta -gappyout -out test_msas/gappyout/example.049.AA.bctoNOG.ENOG4109AY5.fasta -./source/trimal -in dataset/example.049.AA.bctoNOG.ENOG4109AY5.fasta -strict -out test_msas/strict/example.049.AA.bctoNOG.ENOG4109AY5.fasta -./source/trimal -in dataset/example.049.AA.bctoNOG.ENOG4109AY5.fasta -strictplus -out test_msas/strictplus/example.049.AA.bctoNOG.ENOG4109AY5.fasta -./source/trimal -in dataset/example.049.AA.bctoNOG.ENOG4109AY5.fasta -automated1 -out test_msas/automated1/example.049.AA.bctoNOG.ENOG4109AY5.fasta -./source/trimal -in dataset/example.049.AA.bctoNOG.ENOG4109AY5.fasta -nogaps -out test_msas/nogaps/example.049.AA.bctoNOG.ENOG4109AY5.fasta -./source/trimal -in dataset/example.049.AA.bctoNOG.ENOG4109AY5.fasta -noallgaps -out test_msas/noallgaps/example.049.AA.bctoNOG.ENOG4109AY5.fasta -./source/trimal -in dataset/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -gappyout -out test_msas/gappyout/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -./source/trimal -in dataset/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -strict -out test_msas/strict/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -./source/trimal -in dataset/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -strictplus -out test_msas/strictplus/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -./source/trimal -in dataset/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -automated1 -out test_msas/automated1/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -./source/trimal -in dataset/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -nogaps -out test_msas/nogaps/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -./source/trimal -in dataset/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -noallgaps -out test_msas/noallgaps/example.050.AA.bctoNOG.ENOG4109B8Z.fasta -./source/trimal -in dataset/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -gappyout -out test_msas/gappyout/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -./source/trimal -in dataset/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -strict -out test_msas/strict/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -./source/trimal -in dataset/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -strictplus -out test_msas/strictplus/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -./source/trimal -in dataset/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -automated1 -out test_msas/automated1/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -./source/trimal -in dataset/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -nogaps -out test_msas/nogaps/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -./source/trimal -in dataset/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -noallgaps -out test_msas/noallgaps/example.051.AA.bctoNOG.ENOG4109BCJ.fasta -./source/trimal -in dataset/example.052.AA.bctoNOG.ENOG4109CTU.fasta -gappyout -out test_msas/gappyout/example.052.AA.bctoNOG.ENOG4109CTU.fasta -./source/trimal -in dataset/example.052.AA.bctoNOG.ENOG4109CTU.fasta -strict -out test_msas/strict/example.052.AA.bctoNOG.ENOG4109CTU.fasta -./source/trimal -in dataset/example.052.AA.bctoNOG.ENOG4109CTU.fasta -strictplus -out test_msas/strictplus/example.052.AA.bctoNOG.ENOG4109CTU.fasta -./source/trimal -in dataset/example.052.AA.bctoNOG.ENOG4109CTU.fasta -automated1 -out test_msas/automated1/example.052.AA.bctoNOG.ENOG4109CTU.fasta -./source/trimal -in dataset/example.052.AA.bctoNOG.ENOG4109CTU.fasta -nogaps -out test_msas/nogaps/example.052.AA.bctoNOG.ENOG4109CTU.fasta -./source/trimal -in dataset/example.052.AA.bctoNOG.ENOG4109CTU.fasta -noallgaps -out test_msas/noallgaps/example.052.AA.bctoNOG.ENOG4109CTU.fasta -./source/trimal -in dataset/example.053.AA.bctoNOG.ENOG4109CVC.fasta -gappyout -out test_msas/gappyout/example.053.AA.bctoNOG.ENOG4109CVC.fasta -./source/trimal -in dataset/example.053.AA.bctoNOG.ENOG4109CVC.fasta -strict -out test_msas/strict/example.053.AA.bctoNOG.ENOG4109CVC.fasta -./source/trimal -in dataset/example.053.AA.bctoNOG.ENOG4109CVC.fasta -strictplus -out test_msas/strictplus/example.053.AA.bctoNOG.ENOG4109CVC.fasta -./source/trimal -in dataset/example.053.AA.bctoNOG.ENOG4109CVC.fasta -automated1 -out test_msas/automated1/example.053.AA.bctoNOG.ENOG4109CVC.fasta -./source/trimal -in dataset/example.053.AA.bctoNOG.ENOG4109CVC.fasta -nogaps -out test_msas/nogaps/example.053.AA.bctoNOG.ENOG4109CVC.fasta -./source/trimal -in dataset/example.053.AA.bctoNOG.ENOG4109CVC.fasta -noallgaps -out test_msas/noallgaps/example.053.AA.bctoNOG.ENOG4109CVC.fasta -./source/trimal -in dataset/example.054.AA.bctoNOG.ENOG4109FIT.fasta -gappyout -out test_msas/gappyout/example.054.AA.bctoNOG.ENOG4109FIT.fasta -./source/trimal -in dataset/example.054.AA.bctoNOG.ENOG4109FIT.fasta -strict -out test_msas/strict/example.054.AA.bctoNOG.ENOG4109FIT.fasta -./source/trimal -in dataset/example.054.AA.bctoNOG.ENOG4109FIT.fasta -strictplus -out test_msas/strictplus/example.054.AA.bctoNOG.ENOG4109FIT.fasta -./source/trimal -in dataset/example.054.AA.bctoNOG.ENOG4109FIT.fasta -automated1 -out test_msas/automated1/example.054.AA.bctoNOG.ENOG4109FIT.fasta -./source/trimal -in dataset/example.054.AA.bctoNOG.ENOG4109FIT.fasta -nogaps -out test_msas/nogaps/example.054.AA.bctoNOG.ENOG4109FIT.fasta -./source/trimal -in dataset/example.054.AA.bctoNOG.ENOG4109FIT.fasta -noallgaps -out test_msas/noallgaps/example.054.AA.bctoNOG.ENOG4109FIT.fasta -./source/trimal -in dataset/example.055.AA.bctoNOG.ENOG4109GY9.fasta -gappyout -out test_msas/gappyout/example.055.AA.bctoNOG.ENOG4109GY9.fasta -./source/trimal -in dataset/example.055.AA.bctoNOG.ENOG4109GY9.fasta -strict -out test_msas/strict/example.055.AA.bctoNOG.ENOG4109GY9.fasta -./source/trimal -in dataset/example.055.AA.bctoNOG.ENOG4109GY9.fasta -strictplus -out test_msas/strictplus/example.055.AA.bctoNOG.ENOG4109GY9.fasta -./source/trimal -in dataset/example.055.AA.bctoNOG.ENOG4109GY9.fasta -automated1 -out test_msas/automated1/example.055.AA.bctoNOG.ENOG4109GY9.fasta -./source/trimal -in dataset/example.055.AA.bctoNOG.ENOG4109GY9.fasta -nogaps -out test_msas/nogaps/example.055.AA.bctoNOG.ENOG4109GY9.fasta -./source/trimal -in dataset/example.055.AA.bctoNOG.ENOG4109GY9.fasta -noallgaps -out test_msas/noallgaps/example.055.AA.bctoNOG.ENOG4109GY9.fasta -./source/trimal -in dataset/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -gappyout -out test_msas/gappyout/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -./source/trimal -in dataset/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -strict -out test_msas/strict/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -./source/trimal -in dataset/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -strictplus -out test_msas/strictplus/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -./source/trimal -in dataset/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -automated1 -out test_msas/automated1/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -./source/trimal -in dataset/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -nogaps -out test_msas/nogaps/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -./source/trimal -in dataset/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -noallgaps -out test_msas/noallgaps/example.056.AA.bctoNOG.ENOG4109IPJ.fasta -./source/trimal -in dataset/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -gappyout -out test_msas/gappyout/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -./source/trimal -in dataset/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -strict -out test_msas/strict/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -./source/trimal -in dataset/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -strictplus -out test_msas/strictplus/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -./source/trimal -in dataset/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -automated1 -out test_msas/automated1/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -./source/trimal -in dataset/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -nogaps -out test_msas/nogaps/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -./source/trimal -in dataset/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -noallgaps -out test_msas/noallgaps/example.057.AA.bctoNOG.ENOG4109SZ2.fasta -./source/trimal -in dataset/example.058.AA.strNOG.ENOG411BBR6.fasta -gappyout -out test_msas/gappyout/example.058.AA.strNOG.ENOG411BBR6.fasta -./source/trimal -in dataset/example.058.AA.strNOG.ENOG411BBR6.fasta -strict -out test_msas/strict/example.058.AA.strNOG.ENOG411BBR6.fasta -./source/trimal -in dataset/example.058.AA.strNOG.ENOG411BBR6.fasta -strictplus -out test_msas/strictplus/example.058.AA.strNOG.ENOG411BBR6.fasta -./source/trimal -in dataset/example.058.AA.strNOG.ENOG411BBR6.fasta -automated1 -out test_msas/automated1/example.058.AA.strNOG.ENOG411BBR6.fasta -./source/trimal -in dataset/example.058.AA.strNOG.ENOG411BBR6.fasta -nogaps -out test_msas/nogaps/example.058.AA.strNOG.ENOG411BBR6.fasta -./source/trimal -in dataset/example.058.AA.strNOG.ENOG411BBR6.fasta -noallgaps -out test_msas/noallgaps/example.058.AA.strNOG.ENOG411BBR6.fasta -./source/trimal -in dataset/example.059.AA.strNOG.ENOG411BBRR.fasta -gappyout -out test_msas/gappyout/example.059.AA.strNOG.ENOG411BBRR.fasta -./source/trimal -in dataset/example.059.AA.strNOG.ENOG411BBRR.fasta -strict -out test_msas/strict/example.059.AA.strNOG.ENOG411BBRR.fasta -./source/trimal -in dataset/example.059.AA.strNOG.ENOG411BBRR.fasta -strictplus -out test_msas/strictplus/example.059.AA.strNOG.ENOG411BBRR.fasta -./source/trimal -in dataset/example.059.AA.strNOG.ENOG411BBRR.fasta -automated1 -out test_msas/automated1/example.059.AA.strNOG.ENOG411BBRR.fasta -./source/trimal -in dataset/example.059.AA.strNOG.ENOG411BBRR.fasta -nogaps -out test_msas/nogaps/example.059.AA.strNOG.ENOG411BBRR.fasta -./source/trimal -in dataset/example.059.AA.strNOG.ENOG411BBRR.fasta -noallgaps -out test_msas/noallgaps/example.059.AA.strNOG.ENOG411BBRR.fasta -./source/trimal -in dataset/example.060.AA.strNOG.ENOG411BBWK.fasta -gappyout -out test_msas/gappyout/example.060.AA.strNOG.ENOG411BBWK.fasta -./source/trimal -in dataset/example.060.AA.strNOG.ENOG411BBWK.fasta -strict -out test_msas/strict/example.060.AA.strNOG.ENOG411BBWK.fasta -./source/trimal -in dataset/example.060.AA.strNOG.ENOG411BBWK.fasta -strictplus -out test_msas/strictplus/example.060.AA.strNOG.ENOG411BBWK.fasta -./source/trimal -in dataset/example.060.AA.strNOG.ENOG411BBWK.fasta -automated1 -out test_msas/automated1/example.060.AA.strNOG.ENOG411BBWK.fasta -./source/trimal -in dataset/example.060.AA.strNOG.ENOG411BBWK.fasta -nogaps -out test_msas/nogaps/example.060.AA.strNOG.ENOG411BBWK.fasta -./source/trimal -in dataset/example.060.AA.strNOG.ENOG411BBWK.fasta -noallgaps -out test_msas/noallgaps/example.060.AA.strNOG.ENOG411BBWK.fasta -./source/trimal -in dataset/example.061.AA.strNOG.ENOG411BCDZ.fasta -gappyout -out test_msas/gappyout/example.061.AA.strNOG.ENOG411BCDZ.fasta -./source/trimal -in dataset/example.061.AA.strNOG.ENOG411BCDZ.fasta -strict -out test_msas/strict/example.061.AA.strNOG.ENOG411BCDZ.fasta -./source/trimal -in dataset/example.061.AA.strNOG.ENOG411BCDZ.fasta -strictplus -out test_msas/strictplus/example.061.AA.strNOG.ENOG411BCDZ.fasta -./source/trimal -in dataset/example.061.AA.strNOG.ENOG411BCDZ.fasta -automated1 -out test_msas/automated1/example.061.AA.strNOG.ENOG411BCDZ.fasta -./source/trimal -in dataset/example.061.AA.strNOG.ENOG411BCDZ.fasta -nogaps -out test_msas/nogaps/example.061.AA.strNOG.ENOG411BCDZ.fasta -./source/trimal -in dataset/example.061.AA.strNOG.ENOG411BCDZ.fasta -noallgaps -out test_msas/noallgaps/example.061.AA.strNOG.ENOG411BCDZ.fasta -./source/trimal -in dataset/example.062.AA.strNOG.ENOG411BCX3.fasta -gappyout -out test_msas/gappyout/example.062.AA.strNOG.ENOG411BCX3.fasta -./source/trimal -in dataset/example.062.AA.strNOG.ENOG411BCX3.fasta -strict -out test_msas/strict/example.062.AA.strNOG.ENOG411BCX3.fasta -./source/trimal -in dataset/example.062.AA.strNOG.ENOG411BCX3.fasta -strictplus -out test_msas/strictplus/example.062.AA.strNOG.ENOG411BCX3.fasta -./source/trimal -in dataset/example.062.AA.strNOG.ENOG411BCX3.fasta -automated1 -out test_msas/automated1/example.062.AA.strNOG.ENOG411BCX3.fasta -./source/trimal -in dataset/example.062.AA.strNOG.ENOG411BCX3.fasta -nogaps -out test_msas/nogaps/example.062.AA.strNOG.ENOG411BCX3.fasta -./source/trimal -in dataset/example.062.AA.strNOG.ENOG411BCX3.fasta -noallgaps -out test_msas/noallgaps/example.062.AA.strNOG.ENOG411BCX3.fasta -./source/trimal -in dataset/example.063.AA.strNOG.ENOG411BDBU.fasta -gappyout -out test_msas/gappyout/example.063.AA.strNOG.ENOG411BDBU.fasta -./source/trimal -in dataset/example.063.AA.strNOG.ENOG411BDBU.fasta -strict -out test_msas/strict/example.063.AA.strNOG.ENOG411BDBU.fasta -./source/trimal -in dataset/example.063.AA.strNOG.ENOG411BDBU.fasta -strictplus -out test_msas/strictplus/example.063.AA.strNOG.ENOG411BDBU.fasta -./source/trimal -in dataset/example.063.AA.strNOG.ENOG411BDBU.fasta -automated1 -out test_msas/automated1/example.063.AA.strNOG.ENOG411BDBU.fasta -./source/trimal -in dataset/example.063.AA.strNOG.ENOG411BDBU.fasta -nogaps -out test_msas/nogaps/example.063.AA.strNOG.ENOG411BDBU.fasta -./source/trimal -in dataset/example.063.AA.strNOG.ENOG411BDBU.fasta -noallgaps -out test_msas/noallgaps/example.063.AA.strNOG.ENOG411BDBU.fasta -./source/trimal -in dataset/example.064.AA.strNOG.ENOG411BDKC.fasta -gappyout -out test_msas/gappyout/example.064.AA.strNOG.ENOG411BDKC.fasta -./source/trimal -in dataset/example.064.AA.strNOG.ENOG411BDKC.fasta -strict -out test_msas/strict/example.064.AA.strNOG.ENOG411BDKC.fasta -./source/trimal -in dataset/example.064.AA.strNOG.ENOG411BDKC.fasta -strictplus -out test_msas/strictplus/example.064.AA.strNOG.ENOG411BDKC.fasta -./source/trimal -in dataset/example.064.AA.strNOG.ENOG411BDKC.fasta -automated1 -out test_msas/automated1/example.064.AA.strNOG.ENOG411BDKC.fasta -./source/trimal -in dataset/example.064.AA.strNOG.ENOG411BDKC.fasta -nogaps -out test_msas/nogaps/example.064.AA.strNOG.ENOG411BDKC.fasta -./source/trimal -in dataset/example.064.AA.strNOG.ENOG411BDKC.fasta -noallgaps -out test_msas/noallgaps/example.064.AA.strNOG.ENOG411BDKC.fasta -./source/trimal -in dataset/example.065.AA.strNOG.ENOG411BDSZ.fasta -gappyout -out test_msas/gappyout/example.065.AA.strNOG.ENOG411BDSZ.fasta -./source/trimal -in dataset/example.065.AA.strNOG.ENOG411BDSZ.fasta -strict -out test_msas/strict/example.065.AA.strNOG.ENOG411BDSZ.fasta -./source/trimal -in dataset/example.065.AA.strNOG.ENOG411BDSZ.fasta -strictplus -out test_msas/strictplus/example.065.AA.strNOG.ENOG411BDSZ.fasta -./source/trimal -in dataset/example.065.AA.strNOG.ENOG411BDSZ.fasta -automated1 -out test_msas/automated1/example.065.AA.strNOG.ENOG411BDSZ.fasta -./source/trimal -in dataset/example.065.AA.strNOG.ENOG411BDSZ.fasta -nogaps -out test_msas/nogaps/example.065.AA.strNOG.ENOG411BDSZ.fasta -./source/trimal -in dataset/example.065.AA.strNOG.ENOG411BDSZ.fasta -noallgaps -out test_msas/noallgaps/example.065.AA.strNOG.ENOG411BDSZ.fasta -./source/trimal -in dataset/example.066.AA.strNOG.ENOG411BDUE.fasta -gappyout -out test_msas/gappyout/example.066.AA.strNOG.ENOG411BDUE.fasta -./source/trimal -in dataset/example.066.AA.strNOG.ENOG411BDUE.fasta -strict -out test_msas/strict/example.066.AA.strNOG.ENOG411BDUE.fasta -./source/trimal -in dataset/example.066.AA.strNOG.ENOG411BDUE.fasta -strictplus -out test_msas/strictplus/example.066.AA.strNOG.ENOG411BDUE.fasta -./source/trimal -in dataset/example.066.AA.strNOG.ENOG411BDUE.fasta -automated1 -out test_msas/automated1/example.066.AA.strNOG.ENOG411BDUE.fasta -./source/trimal -in dataset/example.066.AA.strNOG.ENOG411BDUE.fasta -nogaps -out test_msas/nogaps/example.066.AA.strNOG.ENOG411BDUE.fasta -./source/trimal -in dataset/example.066.AA.strNOG.ENOG411BDUE.fasta -noallgaps -out test_msas/noallgaps/example.066.AA.strNOG.ENOG411BDUE.fasta -./source/trimal -in dataset/example.067.AA.strNOG.ENOG411BDX3.fasta -gappyout -out test_msas/gappyout/example.067.AA.strNOG.ENOG411BDX3.fasta -./source/trimal -in dataset/example.067.AA.strNOG.ENOG411BDX3.fasta -strict -out test_msas/strict/example.067.AA.strNOG.ENOG411BDX3.fasta -./source/trimal -in dataset/example.067.AA.strNOG.ENOG411BDX3.fasta -strictplus -out test_msas/strictplus/example.067.AA.strNOG.ENOG411BDX3.fasta -./source/trimal -in dataset/example.067.AA.strNOG.ENOG411BDX3.fasta -automated1 -out test_msas/automated1/example.067.AA.strNOG.ENOG411BDX3.fasta -./source/trimal -in dataset/example.067.AA.strNOG.ENOG411BDX3.fasta -nogaps -out test_msas/nogaps/example.067.AA.strNOG.ENOG411BDX3.fasta -./source/trimal -in dataset/example.067.AA.strNOG.ENOG411BDX3.fasta -noallgaps -out test_msas/noallgaps/example.067.AA.strNOG.ENOG411BDX3.fasta -./source/trimal -in dataset/example.068.AA.strNOG.ENOG411BE45.fasta -gappyout -out test_msas/gappyout/example.068.AA.strNOG.ENOG411BE45.fasta -./source/trimal -in dataset/example.068.AA.strNOG.ENOG411BE45.fasta -strict -out test_msas/strict/example.068.AA.strNOG.ENOG411BE45.fasta -./source/trimal -in dataset/example.068.AA.strNOG.ENOG411BE45.fasta -strictplus -out test_msas/strictplus/example.068.AA.strNOG.ENOG411BE45.fasta -./source/trimal -in dataset/example.068.AA.strNOG.ENOG411BE45.fasta -automated1 -out test_msas/automated1/example.068.AA.strNOG.ENOG411BE45.fasta -./source/trimal -in dataset/example.068.AA.strNOG.ENOG411BE45.fasta -nogaps -out test_msas/nogaps/example.068.AA.strNOG.ENOG411BE45.fasta -./source/trimal -in dataset/example.068.AA.strNOG.ENOG411BE45.fasta -noallgaps -out test_msas/noallgaps/example.068.AA.strNOG.ENOG411BE45.fasta -./source/trimal -in dataset/example.069.AA.strNOG.ENOG411BE8B.fasta -gappyout -out test_msas/gappyout/example.069.AA.strNOG.ENOG411BE8B.fasta -./source/trimal -in dataset/example.069.AA.strNOG.ENOG411BE8B.fasta -strict -out test_msas/strict/example.069.AA.strNOG.ENOG411BE8B.fasta -./source/trimal -in dataset/example.069.AA.strNOG.ENOG411BE8B.fasta -strictplus -out test_msas/strictplus/example.069.AA.strNOG.ENOG411BE8B.fasta -./source/trimal -in dataset/example.069.AA.strNOG.ENOG411BE8B.fasta -automated1 -out test_msas/automated1/example.069.AA.strNOG.ENOG411BE8B.fasta -./source/trimal -in dataset/example.069.AA.strNOG.ENOG411BE8B.fasta -nogaps -out test_msas/nogaps/example.069.AA.strNOG.ENOG411BE8B.fasta -./source/trimal -in dataset/example.069.AA.strNOG.ENOG411BE8B.fasta -noallgaps -out test_msas/noallgaps/example.069.AA.strNOG.ENOG411BE8B.fasta -./source/trimal -in dataset/example.070.AA.strNOG.ENOG411BEUV.fasta -gappyout -out test_msas/gappyout/example.070.AA.strNOG.ENOG411BEUV.fasta -./source/trimal -in dataset/example.070.AA.strNOG.ENOG411BEUV.fasta -strict -out test_msas/strict/example.070.AA.strNOG.ENOG411BEUV.fasta -./source/trimal -in dataset/example.070.AA.strNOG.ENOG411BEUV.fasta -strictplus -out test_msas/strictplus/example.070.AA.strNOG.ENOG411BEUV.fasta -./source/trimal -in dataset/example.070.AA.strNOG.ENOG411BEUV.fasta -automated1 -out test_msas/automated1/example.070.AA.strNOG.ENOG411BEUV.fasta -./source/trimal -in dataset/example.070.AA.strNOG.ENOG411BEUV.fasta -nogaps -out test_msas/nogaps/example.070.AA.strNOG.ENOG411BEUV.fasta -./source/trimal -in dataset/example.070.AA.strNOG.ENOG411BEUV.fasta -noallgaps -out test_msas/noallgaps/example.070.AA.strNOG.ENOG411BEUV.fasta -./source/trimal -in dataset/example.071.AA.strNOG.ENOG411BEZ0.fasta -gappyout -out test_msas/gappyout/example.071.AA.strNOG.ENOG411BEZ0.fasta -./source/trimal -in dataset/example.071.AA.strNOG.ENOG411BEZ0.fasta -strict -out test_msas/strict/example.071.AA.strNOG.ENOG411BEZ0.fasta -./source/trimal -in dataset/example.071.AA.strNOG.ENOG411BEZ0.fasta -strictplus -out test_msas/strictplus/example.071.AA.strNOG.ENOG411BEZ0.fasta -./source/trimal -in dataset/example.071.AA.strNOG.ENOG411BEZ0.fasta -automated1 -out test_msas/automated1/example.071.AA.strNOG.ENOG411BEZ0.fasta -./source/trimal -in dataset/example.071.AA.strNOG.ENOG411BEZ0.fasta -nogaps -out test_msas/nogaps/example.071.AA.strNOG.ENOG411BEZ0.fasta -./source/trimal -in dataset/example.071.AA.strNOG.ENOG411BEZ0.fasta -noallgaps -out test_msas/noallgaps/example.071.AA.strNOG.ENOG411BEZ0.fasta -./source/trimal -in dataset/example.072.AA.strNOG.ENOG411BF1S.fasta -gappyout -out test_msas/gappyout/example.072.AA.strNOG.ENOG411BF1S.fasta -./source/trimal -in dataset/example.072.AA.strNOG.ENOG411BF1S.fasta -strict -out test_msas/strict/example.072.AA.strNOG.ENOG411BF1S.fasta -./source/trimal -in dataset/example.072.AA.strNOG.ENOG411BF1S.fasta -strictplus -out test_msas/strictplus/example.072.AA.strNOG.ENOG411BF1S.fasta -./source/trimal -in dataset/example.072.AA.strNOG.ENOG411BF1S.fasta -automated1 -out test_msas/automated1/example.072.AA.strNOG.ENOG411BF1S.fasta -./source/trimal -in dataset/example.072.AA.strNOG.ENOG411BF1S.fasta -nogaps -out test_msas/nogaps/example.072.AA.strNOG.ENOG411BF1S.fasta -./source/trimal -in dataset/example.072.AA.strNOG.ENOG411BF1S.fasta -noallgaps -out test_msas/noallgaps/example.072.AA.strNOG.ENOG411BF1S.fasta -./source/trimal -in dataset/example.073.AA.strNOG.ENOG411BFCW.fasta -gappyout -out test_msas/gappyout/example.073.AA.strNOG.ENOG411BFCW.fasta -./source/trimal -in dataset/example.073.AA.strNOG.ENOG411BFCW.fasta -strict -out test_msas/strict/example.073.AA.strNOG.ENOG411BFCW.fasta -./source/trimal -in dataset/example.073.AA.strNOG.ENOG411BFCW.fasta -strictplus -out test_msas/strictplus/example.073.AA.strNOG.ENOG411BFCW.fasta -./source/trimal -in dataset/example.073.AA.strNOG.ENOG411BFCW.fasta -automated1 -out test_msas/automated1/example.073.AA.strNOG.ENOG411BFCW.fasta -./source/trimal -in dataset/example.073.AA.strNOG.ENOG411BFCW.fasta -nogaps -out test_msas/nogaps/example.073.AA.strNOG.ENOG411BFCW.fasta -./source/trimal -in dataset/example.073.AA.strNOG.ENOG411BFCW.fasta -noallgaps -out test_msas/noallgaps/example.073.AA.strNOG.ENOG411BFCW.fasta -./source/trimal -in dataset/example.074.AA.strNOG.ENOG411BFPF.fasta -gappyout -out test_msas/gappyout/example.074.AA.strNOG.ENOG411BFPF.fasta -./source/trimal -in dataset/example.074.AA.strNOG.ENOG411BFPF.fasta -strict -out test_msas/strict/example.074.AA.strNOG.ENOG411BFPF.fasta -./source/trimal -in dataset/example.074.AA.strNOG.ENOG411BFPF.fasta -strictplus -out test_msas/strictplus/example.074.AA.strNOG.ENOG411BFPF.fasta -./source/trimal -in dataset/example.074.AA.strNOG.ENOG411BFPF.fasta -automated1 -out test_msas/automated1/example.074.AA.strNOG.ENOG411BFPF.fasta -./source/trimal -in dataset/example.074.AA.strNOG.ENOG411BFPF.fasta -nogaps -out test_msas/nogaps/example.074.AA.strNOG.ENOG411BFPF.fasta -./source/trimal -in dataset/example.074.AA.strNOG.ENOG411BFPF.fasta -noallgaps -out test_msas/noallgaps/example.074.AA.strNOG.ENOG411BFPF.fasta -./source/trimal -in dataset/example.075.AA.strNOG.ENOG411BFQS.fasta -gappyout -out test_msas/gappyout/example.075.AA.strNOG.ENOG411BFQS.fasta -./source/trimal -in dataset/example.075.AA.strNOG.ENOG411BFQS.fasta -strict -out test_msas/strict/example.075.AA.strNOG.ENOG411BFQS.fasta -./source/trimal -in dataset/example.075.AA.strNOG.ENOG411BFQS.fasta -strictplus -out test_msas/strictplus/example.075.AA.strNOG.ENOG411BFQS.fasta -./source/trimal -in dataset/example.075.AA.strNOG.ENOG411BFQS.fasta -automated1 -out test_msas/automated1/example.075.AA.strNOG.ENOG411BFQS.fasta -./source/trimal -in dataset/example.075.AA.strNOG.ENOG411BFQS.fasta -nogaps -out test_msas/nogaps/example.075.AA.strNOG.ENOG411BFQS.fasta -./source/trimal -in dataset/example.075.AA.strNOG.ENOG411BFQS.fasta -noallgaps -out test_msas/noallgaps/example.075.AA.strNOG.ENOG411BFQS.fasta -./source/trimal -in dataset/example.076.AA.strNOG.ENOG411BH75.fasta -gappyout -out test_msas/gappyout/example.076.AA.strNOG.ENOG411BH75.fasta -./source/trimal -in dataset/example.076.AA.strNOG.ENOG411BH75.fasta -strict -out test_msas/strict/example.076.AA.strNOG.ENOG411BH75.fasta -./source/trimal -in dataset/example.076.AA.strNOG.ENOG411BH75.fasta -strictplus -out test_msas/strictplus/example.076.AA.strNOG.ENOG411BH75.fasta -./source/trimal -in dataset/example.076.AA.strNOG.ENOG411BH75.fasta -automated1 -out test_msas/automated1/example.076.AA.strNOG.ENOG411BH75.fasta -./source/trimal -in dataset/example.076.AA.strNOG.ENOG411BH75.fasta -nogaps -out test_msas/nogaps/example.076.AA.strNOG.ENOG411BH75.fasta -./source/trimal -in dataset/example.076.AA.strNOG.ENOG411BH75.fasta -noallgaps -out test_msas/noallgaps/example.076.AA.strNOG.ENOG411BH75.fasta -./source/trimal -in dataset/example.077.AA.strNOG.ENOG411BH79.fasta -gappyout -out test_msas/gappyout/example.077.AA.strNOG.ENOG411BH79.fasta -./source/trimal -in dataset/example.077.AA.strNOG.ENOG411BH79.fasta -strict -out test_msas/strict/example.077.AA.strNOG.ENOG411BH79.fasta -./source/trimal -in dataset/example.077.AA.strNOG.ENOG411BH79.fasta -strictplus -out test_msas/strictplus/example.077.AA.strNOG.ENOG411BH79.fasta -./source/trimal -in dataset/example.077.AA.strNOG.ENOG411BH79.fasta -automated1 -out test_msas/automated1/example.077.AA.strNOG.ENOG411BH79.fasta -./source/trimal -in dataset/example.077.AA.strNOG.ENOG411BH79.fasta -nogaps -out test_msas/nogaps/example.077.AA.strNOG.ENOG411BH79.fasta -./source/trimal -in dataset/example.077.AA.strNOG.ENOG411BH79.fasta -noallgaps -out test_msas/noallgaps/example.077.AA.strNOG.ENOG411BH79.fasta -./source/trimal -in dataset/example.078.AA.strNOG.ENOG411BH99.fasta -gappyout -out test_msas/gappyout/example.078.AA.strNOG.ENOG411BH99.fasta -./source/trimal -in dataset/example.078.AA.strNOG.ENOG411BH99.fasta -strict -out test_msas/strict/example.078.AA.strNOG.ENOG411BH99.fasta -./source/trimal -in dataset/example.078.AA.strNOG.ENOG411BH99.fasta -strictplus -out test_msas/strictplus/example.078.AA.strNOG.ENOG411BH99.fasta -./source/trimal -in dataset/example.078.AA.strNOG.ENOG411BH99.fasta -automated1 -out test_msas/automated1/example.078.AA.strNOG.ENOG411BH99.fasta -./source/trimal -in dataset/example.078.AA.strNOG.ENOG411BH99.fasta -nogaps -out test_msas/nogaps/example.078.AA.strNOG.ENOG411BH99.fasta -./source/trimal -in dataset/example.078.AA.strNOG.ENOG411BH99.fasta -noallgaps -out test_msas/noallgaps/example.078.AA.strNOG.ENOG411BH99.fasta -./source/trimal -in dataset/example.079.AA.strNOG.ENOG411BJDC.fasta -gappyout -out test_msas/gappyout/example.079.AA.strNOG.ENOG411BJDC.fasta -./source/trimal -in dataset/example.079.AA.strNOG.ENOG411BJDC.fasta -strict -out test_msas/strict/example.079.AA.strNOG.ENOG411BJDC.fasta -./source/trimal -in dataset/example.079.AA.strNOG.ENOG411BJDC.fasta -strictplus -out test_msas/strictplus/example.079.AA.strNOG.ENOG411BJDC.fasta -./source/trimal -in dataset/example.079.AA.strNOG.ENOG411BJDC.fasta -automated1 -out test_msas/automated1/example.079.AA.strNOG.ENOG411BJDC.fasta -./source/trimal -in dataset/example.079.AA.strNOG.ENOG411BJDC.fasta -nogaps -out test_msas/nogaps/example.079.AA.strNOG.ENOG411BJDC.fasta -./source/trimal -in dataset/example.079.AA.strNOG.ENOG411BJDC.fasta -noallgaps -out test_msas/noallgaps/example.079.AA.strNOG.ENOG411BJDC.fasta -./source/trimal -in dataset/example.080.AA.strNOG.ENOG411BJIF.fasta -gappyout -out test_msas/gappyout/example.080.AA.strNOG.ENOG411BJIF.fasta -./source/trimal -in dataset/example.080.AA.strNOG.ENOG411BJIF.fasta -strict -out test_msas/strict/example.080.AA.strNOG.ENOG411BJIF.fasta -./source/trimal -in dataset/example.080.AA.strNOG.ENOG411BJIF.fasta -strictplus -out test_msas/strictplus/example.080.AA.strNOG.ENOG411BJIF.fasta -./source/trimal -in dataset/example.080.AA.strNOG.ENOG411BJIF.fasta -automated1 -out test_msas/automated1/example.080.AA.strNOG.ENOG411BJIF.fasta -./source/trimal -in dataset/example.080.AA.strNOG.ENOG411BJIF.fasta -nogaps -out test_msas/nogaps/example.080.AA.strNOG.ENOG411BJIF.fasta -./source/trimal -in dataset/example.080.AA.strNOG.ENOG411BJIF.fasta -noallgaps -out test_msas/noallgaps/example.080.AA.strNOG.ENOG411BJIF.fasta -./source/trimal -in dataset/example.081.AA.strNOG.ENOG411BK9X.fasta -gappyout -out test_msas/gappyout/example.081.AA.strNOG.ENOG411BK9X.fasta -./source/trimal -in dataset/example.081.AA.strNOG.ENOG411BK9X.fasta -strict -out test_msas/strict/example.081.AA.strNOG.ENOG411BK9X.fasta -./source/trimal -in dataset/example.081.AA.strNOG.ENOG411BK9X.fasta -strictplus -out test_msas/strictplus/example.081.AA.strNOG.ENOG411BK9X.fasta -./source/trimal -in dataset/example.081.AA.strNOG.ENOG411BK9X.fasta -automated1 -out test_msas/automated1/example.081.AA.strNOG.ENOG411BK9X.fasta -./source/trimal -in dataset/example.081.AA.strNOG.ENOG411BK9X.fasta -nogaps -out test_msas/nogaps/example.081.AA.strNOG.ENOG411BK9X.fasta -./source/trimal -in dataset/example.081.AA.strNOG.ENOG411BK9X.fasta -noallgaps -out test_msas/noallgaps/example.081.AA.strNOG.ENOG411BK9X.fasta -./source/trimal -in dataset/example.082.AA.strNOG.ENOG411BKC5.fasta -gappyout -out test_msas/gappyout/example.082.AA.strNOG.ENOG411BKC5.fasta -./source/trimal -in dataset/example.082.AA.strNOG.ENOG411BKC5.fasta -strict -out test_msas/strict/example.082.AA.strNOG.ENOG411BKC5.fasta -./source/trimal -in dataset/example.082.AA.strNOG.ENOG411BKC5.fasta -strictplus -out test_msas/strictplus/example.082.AA.strNOG.ENOG411BKC5.fasta -./source/trimal -in dataset/example.082.AA.strNOG.ENOG411BKC5.fasta -automated1 -out test_msas/automated1/example.082.AA.strNOG.ENOG411BKC5.fasta -./source/trimal -in dataset/example.082.AA.strNOG.ENOG411BKC5.fasta -nogaps -out test_msas/nogaps/example.082.AA.strNOG.ENOG411BKC5.fasta -./source/trimal -in dataset/example.082.AA.strNOG.ENOG411BKC5.fasta -noallgaps -out test_msas/noallgaps/example.082.AA.strNOG.ENOG411BKC5.fasta -./source/trimal -in dataset/example.083.AA.strNOG.ENOG411BMKC.fasta -gappyout -out test_msas/gappyout/example.083.AA.strNOG.ENOG411BMKC.fasta -./source/trimal -in dataset/example.083.AA.strNOG.ENOG411BMKC.fasta -strict -out test_msas/strict/example.083.AA.strNOG.ENOG411BMKC.fasta -./source/trimal -in dataset/example.083.AA.strNOG.ENOG411BMKC.fasta -strictplus -out test_msas/strictplus/example.083.AA.strNOG.ENOG411BMKC.fasta -./source/trimal -in dataset/example.083.AA.strNOG.ENOG411BMKC.fasta -automated1 -out test_msas/automated1/example.083.AA.strNOG.ENOG411BMKC.fasta -./source/trimal -in dataset/example.083.AA.strNOG.ENOG411BMKC.fasta -nogaps -out test_msas/nogaps/example.083.AA.strNOG.ENOG411BMKC.fasta -./source/trimal -in dataset/example.083.AA.strNOG.ENOG411BMKC.fasta -noallgaps -out test_msas/noallgaps/example.083.AA.strNOG.ENOG411BMKC.fasta -./source/trimal -in dataset/example.084.AA.strNOG.ENOG411BNP9.fasta -gappyout -out test_msas/gappyout/example.084.AA.strNOG.ENOG411BNP9.fasta -./source/trimal -in dataset/example.084.AA.strNOG.ENOG411BNP9.fasta -strict -out test_msas/strict/example.084.AA.strNOG.ENOG411BNP9.fasta -./source/trimal -in dataset/example.084.AA.strNOG.ENOG411BNP9.fasta -strictplus -out test_msas/strictplus/example.084.AA.strNOG.ENOG411BNP9.fasta -./source/trimal -in dataset/example.084.AA.strNOG.ENOG411BNP9.fasta -automated1 -out test_msas/automated1/example.084.AA.strNOG.ENOG411BNP9.fasta -./source/trimal -in dataset/example.084.AA.strNOG.ENOG411BNP9.fasta -nogaps -out test_msas/nogaps/example.084.AA.strNOG.ENOG411BNP9.fasta -./source/trimal -in dataset/example.084.AA.strNOG.ENOG411BNP9.fasta -noallgaps -out test_msas/noallgaps/example.084.AA.strNOG.ENOG411BNP9.fasta -./source/trimal -in dataset/example.085.AA.strNOG.ENOG411BQTJ.fasta -gappyout -out test_msas/gappyout/example.085.AA.strNOG.ENOG411BQTJ.fasta -./source/trimal -in dataset/example.085.AA.strNOG.ENOG411BQTJ.fasta -strict -out test_msas/strict/example.085.AA.strNOG.ENOG411BQTJ.fasta -./source/trimal -in dataset/example.085.AA.strNOG.ENOG411BQTJ.fasta -strictplus -out test_msas/strictplus/example.085.AA.strNOG.ENOG411BQTJ.fasta -./source/trimal -in dataset/example.085.AA.strNOG.ENOG411BQTJ.fasta -automated1 -out test_msas/automated1/example.085.AA.strNOG.ENOG411BQTJ.fasta -./source/trimal -in dataset/example.085.AA.strNOG.ENOG411BQTJ.fasta -nogaps -out test_msas/nogaps/example.085.AA.strNOG.ENOG411BQTJ.fasta -./source/trimal -in dataset/example.085.AA.strNOG.ENOG411BQTJ.fasta -noallgaps -out test_msas/noallgaps/example.085.AA.strNOG.ENOG411BQTJ.fasta -./source/trimal -in dataset/example.086.AA.strNOG.ENOG411BR1D.fasta -gappyout -out test_msas/gappyout/example.086.AA.strNOG.ENOG411BR1D.fasta -./source/trimal -in dataset/example.086.AA.strNOG.ENOG411BR1D.fasta -strict -out test_msas/strict/example.086.AA.strNOG.ENOG411BR1D.fasta -./source/trimal -in dataset/example.086.AA.strNOG.ENOG411BR1D.fasta -strictplus -out test_msas/strictplus/example.086.AA.strNOG.ENOG411BR1D.fasta -./source/trimal -in dataset/example.086.AA.strNOG.ENOG411BR1D.fasta -automated1 -out test_msas/automated1/example.086.AA.strNOG.ENOG411BR1D.fasta -./source/trimal -in dataset/example.086.AA.strNOG.ENOG411BR1D.fasta -nogaps -out test_msas/nogaps/example.086.AA.strNOG.ENOG411BR1D.fasta -./source/trimal -in dataset/example.086.AA.strNOG.ENOG411BR1D.fasta -noallgaps -out test_msas/noallgaps/example.086.AA.strNOG.ENOG411BR1D.fasta -./source/trimal -in dataset/example.087.AA.strNOG.ENOG411BRCH.fasta -gappyout -out test_msas/gappyout/example.087.AA.strNOG.ENOG411BRCH.fasta -./source/trimal -in dataset/example.087.AA.strNOG.ENOG411BRCH.fasta -strict -out test_msas/strict/example.087.AA.strNOG.ENOG411BRCH.fasta -./source/trimal -in dataset/example.087.AA.strNOG.ENOG411BRCH.fasta -strictplus -out test_msas/strictplus/example.087.AA.strNOG.ENOG411BRCH.fasta -./source/trimal -in dataset/example.087.AA.strNOG.ENOG411BRCH.fasta -automated1 -out test_msas/automated1/example.087.AA.strNOG.ENOG411BRCH.fasta -./source/trimal -in dataset/example.087.AA.strNOG.ENOG411BRCH.fasta -nogaps -out test_msas/nogaps/example.087.AA.strNOG.ENOG411BRCH.fasta -./source/trimal -in dataset/example.087.AA.strNOG.ENOG411BRCH.fasta -noallgaps -out test_msas/noallgaps/example.087.AA.strNOG.ENOG411BRCH.fasta -./source/trimal -in dataset/example.088.AA.strNOG.ENOG411BSXF.fasta -gappyout -out test_msas/gappyout/example.088.AA.strNOG.ENOG411BSXF.fasta -./source/trimal -in dataset/example.088.AA.strNOG.ENOG411BSXF.fasta -strict -out test_msas/strict/example.088.AA.strNOG.ENOG411BSXF.fasta -./source/trimal -in dataset/example.088.AA.strNOG.ENOG411BSXF.fasta -strictplus -out test_msas/strictplus/example.088.AA.strNOG.ENOG411BSXF.fasta -./source/trimal -in dataset/example.088.AA.strNOG.ENOG411BSXF.fasta -automated1 -out test_msas/automated1/example.088.AA.strNOG.ENOG411BSXF.fasta -./source/trimal -in dataset/example.088.AA.strNOG.ENOG411BSXF.fasta -nogaps -out test_msas/nogaps/example.088.AA.strNOG.ENOG411BSXF.fasta -./source/trimal -in dataset/example.088.AA.strNOG.ENOG411BSXF.fasta -noallgaps -out test_msas/noallgaps/example.088.AA.strNOG.ENOG411BSXF.fasta -./source/trimal -in dataset/example.089.AA.strNOG.ENOG411BV9B.fasta -gappyout -out test_msas/gappyout/example.089.AA.strNOG.ENOG411BV9B.fasta -./source/trimal -in dataset/example.089.AA.strNOG.ENOG411BV9B.fasta -strict -out test_msas/strict/example.089.AA.strNOG.ENOG411BV9B.fasta -./source/trimal -in dataset/example.089.AA.strNOG.ENOG411BV9B.fasta -strictplus -out test_msas/strictplus/example.089.AA.strNOG.ENOG411BV9B.fasta -./source/trimal -in dataset/example.089.AA.strNOG.ENOG411BV9B.fasta -automated1 -out test_msas/automated1/example.089.AA.strNOG.ENOG411BV9B.fasta -./source/trimal -in dataset/example.089.AA.strNOG.ENOG411BV9B.fasta -nogaps -out test_msas/nogaps/example.089.AA.strNOG.ENOG411BV9B.fasta -./source/trimal -in dataset/example.089.AA.strNOG.ENOG411BV9B.fasta -noallgaps -out test_msas/noallgaps/example.089.AA.strNOG.ENOG411BV9B.fasta -./source/trimal -in dataset/example.090.AA.strNOG.ENOG411BVKR.fasta -gappyout -out test_msas/gappyout/example.090.AA.strNOG.ENOG411BVKR.fasta -./source/trimal -in dataset/example.090.AA.strNOG.ENOG411BVKR.fasta -strict -out test_msas/strict/example.090.AA.strNOG.ENOG411BVKR.fasta -./source/trimal -in dataset/example.090.AA.strNOG.ENOG411BVKR.fasta -strictplus -out test_msas/strictplus/example.090.AA.strNOG.ENOG411BVKR.fasta -./source/trimal -in dataset/example.090.AA.strNOG.ENOG411BVKR.fasta -automated1 -out test_msas/automated1/example.090.AA.strNOG.ENOG411BVKR.fasta -./source/trimal -in dataset/example.090.AA.strNOG.ENOG411BVKR.fasta -nogaps -out test_msas/nogaps/example.090.AA.strNOG.ENOG411BVKR.fasta -./source/trimal -in dataset/example.090.AA.strNOG.ENOG411BVKR.fasta -noallgaps -out test_msas/noallgaps/example.090.AA.strNOG.ENOG411BVKR.fasta -./source/trimal -in dataset/example.091.AA.strNOG.ENOG411BWBU.fasta -gappyout -out test_msas/gappyout/example.091.AA.strNOG.ENOG411BWBU.fasta -./source/trimal -in dataset/example.091.AA.strNOG.ENOG411BWBU.fasta -strict -out test_msas/strict/example.091.AA.strNOG.ENOG411BWBU.fasta -./source/trimal -in dataset/example.091.AA.strNOG.ENOG411BWBU.fasta -strictplus -out test_msas/strictplus/example.091.AA.strNOG.ENOG411BWBU.fasta -./source/trimal -in dataset/example.091.AA.strNOG.ENOG411BWBU.fasta -automated1 -out test_msas/automated1/example.091.AA.strNOG.ENOG411BWBU.fasta -./source/trimal -in dataset/example.091.AA.strNOG.ENOG411BWBU.fasta -nogaps -out test_msas/nogaps/example.091.AA.strNOG.ENOG411BWBU.fasta -./source/trimal -in dataset/example.091.AA.strNOG.ENOG411BWBU.fasta -noallgaps -out test_msas/noallgaps/example.091.AA.strNOG.ENOG411BWBU.fasta From a5574d27ab10d99c5c50d5c96099e187a8afd6f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20D=C3=ADaz=20Roussel?= Date: Fri, 20 Dec 2024 15:05:49 +0100 Subject: [PATCH 7/7] Add more info to verbose and fix last column recovering --- source/Cleaner.cpp | 179 +++++++++++++++++++++++++++++---------------- 1 file changed, 114 insertions(+), 65 deletions(-) diff --git a/source/Cleaner.cpp b/source/Cleaner.cpp index fe0bf7dcb..d6900c664 100644 --- a/source/Cleaner.cpp +++ b/source/Cleaner.cpp @@ -129,6 +129,11 @@ Alignment *Cleaner::cleanByCutValueOverpass( oldNumberKeptResidues++; } + double percentageColumnsOriginal = ((double) oldNumberKeptResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"before gappyout method", std::to_string(oldNumberKeptResidues), std::to_string(percentageColumnsOriginal)}); + percentageColumnsOriginal = ((double) newNumberKeptResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after gappyout method clean based on gaps", std::to_string(newNumberKeptResidues), std::to_string(percentageColumnsOriginal)}); + alig->numberOfResidues = oldNumberKeptResidues; float minCoverageRatio; @@ -195,6 +200,7 @@ Alignment *Cleaner::cleanByCutValueOverpass( if (gapsInColumn[residueIndex] <= maxGaps) { newAlig->saveResidues[residueIndex] = residueIndex; numberColumnsToRecover--; + newNumberKeptResidues++; } else { break; } @@ -221,6 +227,7 @@ Alignment *Cleaner::cleanByCutValueOverpass( if (gapsInColumn[residueIndex] <= maxGaps) { newAlig->saveResidues[residueIndex] = residueIndex; numberColumnsToRecover--; + newNumberKeptResidues++; } else { break; } @@ -232,6 +239,9 @@ Alignment *Cleaner::cleanByCutValueOverpass( } } + percentageColumnsOriginal = ((double) newNumberKeptResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after gappyout method column recovering based on minimum coverage", std::to_string(newNumberKeptResidues), std::to_string(percentageColumnsOriginal)}); + newAlig->Cleaning->removeSmallerBlocks(blockSize, *alig); // Check for any additional column/sequence to be removed @@ -581,68 +591,88 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con // Special case: Position 0 of newAlig if (num > 2) { - if (rejectResiduesBuffer[0]) - newAlig->saveResidues[positionResidueBuffer[0]] = - // Compare the sum of the booleans to 0. If any of the neighbours is rejected, we don't have 3 non-rejected residues. - (rejectResiduesBuffer[1] + - rejectResiduesBuffer[2]) > 0 ? -1 : positionResidueBuffer[0]; + if (rejectResiduesBuffer[0]) { + // If any of the neighbours is rejected, we don't have 3 non-rejected residues. + int numNeighboursRejected = rejectResiduesBuffer[1] + rejectResiduesBuffer[2]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[0]] = positionResidueBuffer[0]; + newNumberKeptResidues++; + } + } } // Special case: Position 1 { // Special case: Position 1 of newAlig in case the alignment has more than 3 residues. if (num > 3) { - if (rejectResiduesBuffer[1]) - newAlig->saveResidues[positionResidueBuffer[1]] = - // Compare the sum of the booleans to 0. If any of the neighbours is rejected, we don't have 3 non-rejected residues. - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[2] + - rejectResiduesBuffer[3]) > 0 ? -1 : positionResidueBuffer[1]; + if (rejectResiduesBuffer[1]) { + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[2] + rejectResiduesBuffer[3]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[1]] = positionResidueBuffer[1]; + newNumberKeptResidues++; + } + } } - // Special case: Position 1 of newAlig in case the alignment has 3 residues. + + // Special case: Position 1 of newAlig in case the alignment has 3 residues. else if (num > 2) { - if (rejectResiduesBuffer[1]) - newAlig->saveResidues[positionResidueBuffer[1]] = - // Compare the sum of the booleans to 0. If any of the neighbours is rejected, we don't have 3 non-rejected residues. - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[2]) > 0 ? -1 : positionResidueBuffer[1]; + if (rejectResiduesBuffer[1]) { + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[2]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[1]] = positionResidueBuffer[1]; + newNumberKeptResidues++; + } + } } } + // Special case: Position 2 { // Special case: Position 2 of newAlig in case the alignment has more than 4 residues. if (num > 4) { - if (rejectResiduesBuffer[2]) - newAlig->saveResidues[positionResidueBuffer[2]] = - // Compare the sum of the booleans to 0. As we have 4 neighbours to compare and only need 3 of them to be non-rejected, - // we can have 1 rejected residue on the neighbouring. - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[1] + - rejectResiduesBuffer[3] + - rejectResiduesBuffer[4]) > 1 ? -1 : positionResidueBuffer[2]; + if (rejectResiduesBuffer[2]) { + // As we have 4 neighbours to compare and only need 3 of them to be non-rejected, + // we can have 1 rejected residue on the neighbouring. + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[1] + rejectResiduesBuffer[3] + rejectResiduesBuffer[4]; + bool threeOrMoreNeighboursKept = numNeighboursRejected <= 1; + if (threeOrMoreNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[2]] = positionResidueBuffer[2]; + newNumberKeptResidues++; + } + } } - // Special case: Position 2 of newAlig in case the alignment has 4 residues + + // Special case: Position 2 of newAlig in case the alignment has 4 residues else if (num > 3) { - if (rejectResiduesBuffer[2]) - newAlig->saveResidues[positionResidueBuffer[2]] = - // Compare the sum of the booleans to 0. As we have 4 neighbours to compare and only need 3 of them to be non-rejected, - // we can have 1 rejected residue on the neighbouring. - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[1] + - rejectResiduesBuffer[3]) > 0 ? -1 : positionResidueBuffer[2]; + if (rejectResiduesBuffer[2]) { + // As we have 4 neighbours to compare and only need 3 of them to be non-rejected, + // we can have 1 rejected residue on the neighbouring. + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[1] + rejectResiduesBuffer[3]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[2]] = positionResidueBuffer[2]; + newNumberKeptResidues++; + } + } } - // Special case: Position 2 of newAlig in case the alignment has 3 residues + + // Special case: Position 2 of newAlig in case the alignment has 3 residues else if (num > 2) { - if (rejectResiduesBuffer[2]) - newAlig->saveResidues[positionResidueBuffer[2]] = - // Compare the sum of the booleans to 0. As we have 4 neighbours to compare and only need 3 of them to be non-rejected, - // we can have 1 rejected residue on the neighbouring. - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[1]) > 0 ? -1 : positionResidueBuffer[2]; + if (rejectResiduesBuffer[2]) { + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[1]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[2]] = positionResidueBuffer[2]; + newNumberKeptResidues++; + } + } } } // Move the window until it arrives to the end of the alignment. - if (num == 5) + if (num == 5) { for (; i < alig->originalNumberOfResidues; i++) { if (alig->saveResidues[i] == -1) continue; // If we find a new newAlig residue... @@ -659,45 +689,64 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con // Take a look at the neighbours of the new middle-point, positionResidueBuffer[2]. // As we stored the rejectResiduesBuffer as booleans, we can add them and compare the result. // If the result is bigger than 1, means that we have rejected at least 2 neighbouring residues, thus, we cannot rescue this residue. - newAlig->saveResidues[positionResidueBuffer[2]] = - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[1] + - rejectResiduesBuffer[3] + - rejectResiduesBuffer[4]) > 1 ? -1 : positionResidueBuffer[2]; + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[1] + rejectResiduesBuffer[3] + rejectResiduesBuffer[4]; + bool threeOrMoreNeighboursKept = numNeighboursRejected <= 1; + if (threeOrMoreNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[2]] = positionResidueBuffer[2]; + newNumberKeptResidues++; + } } } } + } // Special case: Position -1 of newAlig { if (num > 4) { - if (rejectResiduesBuffer[3]) - newAlig->saveResidues[positionResidueBuffer[3]] = - (rejectResiduesBuffer[1] + - rejectResiduesBuffer[2] + - rejectResiduesBuffer[4]) > 0 ? -1 : positionResidueBuffer[3]; + if (rejectResiduesBuffer[3]) { + int numNeighboursRejected = rejectResiduesBuffer[1] + rejectResiduesBuffer[2] + rejectResiduesBuffer[4]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[3]] = positionResidueBuffer[3]; + newNumberKeptResidues++; + } + } } else if (num > 3) { - if (rejectResiduesBuffer[2]) - newAlig->saveResidues[positionResidueBuffer[2]] = - (rejectResiduesBuffer[0] + - rejectResiduesBuffer[1] + - rejectResiduesBuffer[3]) > 0 ? -1 : positionResidueBuffer[2]; + if (rejectResiduesBuffer[2]) { + int numNeighboursRejected = rejectResiduesBuffer[0] + rejectResiduesBuffer[1] + rejectResiduesBuffer[3]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[2]] = positionResidueBuffer[2]; + newNumberKeptResidues++; + } + } } } + // Special case: Position -2 of newAlig if (num > 4) { - if (rejectResiduesBuffer[4]) - newAlig->saveResidues[positionResidueBuffer[4]] = - (rejectResiduesBuffer[2] + - rejectResiduesBuffer[3]) > 0 ? -1 : positionResidueBuffer[4]; + if (rejectResiduesBuffer[4]) { + int numNeighboursRejected = rejectResiduesBuffer[2] + rejectResiduesBuffer[3]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[4]] = positionResidueBuffer[4]; + newNumberKeptResidues++; + } + } } else if (num > 3) { - if (rejectResiduesBuffer[3]) - newAlig->saveResidues[positionResidueBuffer[4]] = - (rejectResiduesBuffer[1] + - rejectResiduesBuffer[2]) > 0 ? -1 : positionResidueBuffer[3]; + if (rejectResiduesBuffer[3]) { + int numNeighboursRejected = rejectResiduesBuffer[1] + rejectResiduesBuffer[2]; + bool allNeighboursKept = numNeighboursRejected == 0; + if (allNeighboursKept) { + newAlig->saveResidues[positionResidueBuffer[3]] = positionResidueBuffer[3]; + newNumberKeptResidues++; + } + } } } + percentageColumnsOriginal = ((double) newNumberKeptResidues / alig->originalNumberOfResidues) * 100.0; + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after strict method recovered neighbours", std::to_string(newNumberKeptResidues), std::to_string(percentageColumnsOriginal)}); // Select blocks size based on user input. It can be set either to 5 or to a // variable number between 3 and 12 depending on alignment's length (1% alig) @@ -746,7 +795,7 @@ Alignment *Cleaner::cleanStrict(int gapCut, const int *gInCol, float simCut, con percentageColumnsOriginal = ((double) newAlig->numberOfResidues / alig->originalNumberOfResidues) * 100.0; debug.report(InfoCode::BlockSize, new std::string[1]{std::to_string(blockSize)}); - debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after strict method recovered neighbours and filtered by block size", std::to_string(newAlig->numberOfResidues), std::to_string(percentageColumnsOriginal)}); + debug.report(InfoCode::ColumnsToKeep, new std::string[3]{"after strict method filtered by block size", std::to_string(newAlig->numberOfResidues), std::to_string(percentageColumnsOriginal)}); return newAlig; }