From 0b11d8dc8353a5d97c16c34a37870259a08c1acc Mon Sep 17 00:00:00 2001 From: Roel <roel.vanesch@wur.nl> Date: Fri, 9 Dec 2022 15:07:52 +0100 Subject: [PATCH] Group.RelaxationSettings is now a required argument. Defaults for relaxation sub-parameters are now in line with relaxation 4. --- .../java/nl/wur/bif/pantools/cli/Group.java | 22 +++++++++++-------- ...antools.properties => Defaults.properties} | 9 ++++---- src/main/resources/MessageBundle.properties | 2 +- 3 files changed, 18 insertions(+), 15 deletions(-) rename src/main/resources/{.Pantools.properties => Defaults.properties} (87%) diff --git a/src/main/java/nl/wur/bif/pantools/cli/Group.java b/src/main/java/nl/wur/bif/pantools/cli/Group.java index fecbdf62b..393dbc646 100644 --- a/src/main/java/nl/wur/bif/pantools/cli/Group.java +++ b/src/main/java/nl/wur/bif/pantools/cli/Group.java @@ -1,18 +1,22 @@ package nl.wur.bif.pantools.cli; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; import nl.wur.bif.pantools.cli.mixins.SelectGenomes; import nl.wur.bif.pantools.cli.mixins.ThreadNumber; +import nl.wur.bif.pantools.cli.validation.BeanValidation; import nl.wur.bif.pantools.pantools.Pantools; -import jakarta.validation.constraints.*; import java.nio.file.Path; import java.util.concurrent.Callable; +import static nl.wur.bif.pantools.cli.validation.Constraints.GraphDatabase; +import static nl.wur.bif.pantools.cli.validation.Constraints.InputFile; import static nl.wur.bif.pantools.utils.Globals.*; -import nl.wur.bif.pantools.cli.validation.BeanValidation; -import static nl.wur.bif.pantools.cli.validation.Constraints.*; import static picocli.CommandLine.*; -import static picocli.CommandLine.Model.*; +import static picocli.CommandLine.Model.CommandSpec; /** * Generate homology groups based on similarity of protein sequences. @@ -39,21 +43,21 @@ public class Group implements Callable<Integer> { @DecimalMin(value = "0.001", message = "{range.ir}") @DecimalMax(value = "0.1", message = "{range.ir") - static double intersectionRate = 0.08; + static double intersectionRate = 0.05; @Min(value = 1, message = "{min.st}") @Max(value = 99, message = "{max.st}") - static int similarityThreshold = 95; + static int similarityThreshold = 65; @Min(value = 1, message = "{min.mcl-i}") @Max(value = 99, message = "{max.mcl-i}") - static double mclInflation = 10.8; + static double mclInflation = 7.2; @DecimalMin(value = "0", message = "{min.contrast}") @DecimalMax(value = "10", message = "{max.contrast}") - static double contrast = 8; + static double contrast = 5; - @ArgGroup RelaxationSettings relaxationSettings; + @ArgGroup(multiplicity = "1") RelaxationSettings relaxationSettings; private static class RelaxationSettings { @Option(names = {"--relaxation"}) void setParams(int value) { diff --git a/src/main/resources/.Pantools.properties b/src/main/resources/Defaults.properties similarity index 87% rename from src/main/resources/.Pantools.properties rename to src/main/resources/Defaults.properties index 98b47a402..7399c2833 100644 --- a/src/main/resources/.Pantools.properties +++ b/src/main/resources/Defaults.properties @@ -19,11 +19,10 @@ pantools.create_tree_template.color = 2 # GoEnrichment pantools.go_enrichment.fdr = 5 # Group -pantools.group.intersection-rate = 0.08 -pantools.group.similarity-threshold = 95 -pantools.group.mcl-inflation = 10.8 -pantools.group.contrast = 8 -pantools.group.threads = 0 +pantools.group.intersection-rate = 0.05 +pantools.group.similarity-threshold = 65 +pantools.group.mcl-inflation = 7.2 +pantools.group.contrast = 5 # LocateGenes pantools.locate_genes.core-threshold = 0 pantools.locate_genes.gap-open = 0 diff --git a/src/main/resources/MessageBundle.properties b/src/main/resources/MessageBundle.properties index c169a4bd0..b092e139f 100644 --- a/src/main/resources/MessageBundle.properties +++ b/src/main/resources/MessageBundle.properties @@ -249,7 +249,7 @@ pantools.group.intersection-rate = The fraction of k-mers that needs to be share be in range [0.001,0.1] (default: ${DEFAULT-VALUE}). pantools.group.mcl-inflation = The MCL inflation. Should be in range [1,19] (default: ${DEFAULT-VALUE}). pantools.group.relaxation = The relaxation in homology calls. Should be in range [1..8], from strict to relaxed. \ - (default: 1). + Use optimal_grouping to determine the best relaxation setting. # GroupInfo pantools.group_info.functions = Name of function identifiers from GO, PFAM, InterPro or TIGRAM. pantools.group_info.node = Retrieve the nucleotide nodes belonging to genes in homology groups -- GitLab