From f35865a33c8ea8c167be52afade2769974352a53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 23 May 2024 10:25:07 +0200 Subject: [PATCH 01/13] analysis: update Exomiser analysis in order to use the Docker version 14.0.0 by taking it from the configuration file, #TASK-6297, #TASK-6255 --- .../ExomiserInterpretationAnalysis.java | 32 ++++- .../opencga/analysis/tools/OpenCgaTool.java | 2 +- .../analysis/variant/gwas/GwasAnalysis.java | 2 +- .../DockerWrapperAnalysisExecutor.java | 52 ++++++-- .../exomiser/ExomiserWrapperAnalysis.java | 9 ++ .../ExomiserWrapperAnalysisExecutor.java | 112 +++++++++++++----- .../ExomiserInterpretationAnalysisTest.java | 11 +- .../resources/exomiser/application.properties | 4 +- .../analysis/exomiser/application.properties | 4 +- .../VariantInternalCommandExecutor.java | 1 + .../options/VariantCommandOptions.java | 3 + .../src/test/resources/configuration-test.yml | 16 +++ .../opencb/opencga/core/config/Analysis.java | 34 ++++++ .../org/opencb/opencga/core/config/Tool.java | 76 ++++++++++++ .../ExomiserInterpretationAnalysisParams.java | 15 ++- .../clinical/ExomiserWrapperParams.java | 14 ++- .../core/tools/OpenCgaToolExecutor.java | 11 +- .../tools/variant/GwasAnalysisExecutor.java | 14 +-- .../src/main/resources/configuration.yml | 22 +++- .../rest/analysis/VariantWebService.java | 2 +- .../GwasHBaseMapReduceAnalysisExecutor.java | 2 +- 21 files changed, 367 insertions(+), 71 deletions(-) create mode 100644 opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java index 39de4806eb0..92ffe157b7b 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java @@ -32,6 +32,7 @@ import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.clinical.InterpretationAnalysis; import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; +import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis; import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysisExecutor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.utils.ParamUtils; @@ -68,6 +69,7 @@ public class ExomiserInterpretationAnalysis extends InterpretationAnalysis { private String studyId; private String clinicalAnalysisId; private String sampleId; + private String exomiserVersion; private ClinicalAnalysis clinicalAnalysis; @@ -116,6 +118,13 @@ protected void check() throws Exception { } sampleId = clinicalAnalysis.getProband().getSamples().get(0).getId(); + // Check exomiser version + if (StringUtils.isEmpty(exomiserVersion)) { + // Missing exomiser version use the default one + logger.warn("Missing exomiser version, using the default {}", ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION); + exomiserVersion = ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION; + } + // Update executor params with OpenCGA home and session ID setUpStorageEngineExecutor(studyId); } @@ -125,24 +134,26 @@ protected void run() throws ToolException { step(() -> { executorParams.put(EXECUTOR_ID, ExomiserWrapperAnalysisExecutor.ID); - getToolExecutor(ExomiserWrapperAnalysisExecutor.class) + ExomiserWrapperAnalysisExecutor exomiserExecutor = getToolExecutor(ExomiserWrapperAnalysisExecutor.class) .setStudyId(studyId) .setSampleId(sampleId) - .execute(); + .setExomiserVersion(exomiserVersion); + exomiserExecutor.execute(); - saveInterpretation(studyId, clinicalAnalysis); + saveInterpretation(studyId, clinicalAnalysis, exomiserExecutor.getDockerImageName(), exomiserExecutor.getDockerImageVersion()); }); } - protected void saveInterpretation(String studyId, ClinicalAnalysis clinicalAnalysis) throws ToolException, StorageEngineException, + protected void saveInterpretation(String studyId, ClinicalAnalysis clinicalAnalysis, String dockerImage, String dockerImageVersion) + throws ToolException, StorageEngineException, CatalogException, IOException { // Interpretation method InterpretationMethod method = new InterpretationMethod(getId(), GitRepositoryState.getInstance().getBuildVersion(), GitRepositoryState.getInstance().getCommitId(), Collections.singletonList( new Software() .setName("Exomiser") - .setRepository("Docker: " + ExomiserWrapperAnalysisExecutor.DOCKER_IMAGE_NAME) - .setVersion(ExomiserWrapperAnalysisExecutor.DOCKER_IMAGE_VERSION))); + .setRepository("Docker: " + dockerImage) + .setVersion(dockerImageVersion))); // Analyst ClinicalAnalyst analyst = clinicalInterpretationManager.getAnalyst(studyId, token); @@ -452,4 +463,13 @@ public ExomiserInterpretationAnalysis setClinicalAnalysisId(String clinicalAnaly this.clinicalAnalysisId = clinicalAnalysisId; return this; } + + public String getExomiserVersion() { + return exomiserVersion; + } + + public ExomiserInterpretationAnalysis setExomiserVersion(String exomiserVersion) { + this.exomiserVersion = exomiserVersion; + return this; + } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/OpenCgaTool.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/OpenCgaTool.java index 7769315137b..c4a3b2aac8c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/OpenCgaTool.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/OpenCgaTool.java @@ -537,7 +537,7 @@ protected final T getToolExecutor(Class clazz toolExecutor.getSource(), toolExecutor.getFramework())); - toolExecutor.setUp(erm, executorParams, outDir); + toolExecutor.setUp(erm, executorParams, outDir, configuration); return toolExecutor; } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/gwas/GwasAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/gwas/GwasAnalysis.java index a5d2484b2d7..270e9e0b213 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/gwas/GwasAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/gwas/GwasAnalysis.java @@ -295,7 +295,7 @@ protected void run() throws ToolException { step("gwas", () -> { GwasAnalysisExecutor gwasExecutor = getToolExecutor(GwasAnalysisExecutor.class); - gwasExecutor.setConfiguration(gwasConfiguration) + gwasExecutor.setGwasConfiguration(gwasConfiguration) .setStudy(study) .setSampleList1(caseCohortSamples) .setSampleList2(controlCohortSamples) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java index ae2b5072473..d2bd9cf63dd 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java @@ -7,8 +7,8 @@ import org.apache.commons.lang3.tuple.Pair; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.exec.Command; -import org.opencb.opencga.analysis.wrappers.deeptools.DeeptoolsWrapperAnalysis; import org.opencb.opencga.core.common.GitRepositoryState; +import org.opencb.opencga.core.config.Tool; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.tools.OpenCgaToolExecutor; import org.slf4j.Logger; @@ -18,12 +18,11 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.*; -public abstract class DockerWrapperAnalysisExecutor extends OpenCgaToolExecutor { +import static org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis.EXOMISER_PREFIX; + +public abstract class DockerWrapperAnalysisExecutor extends OpenCgaToolExecutor { public final static String DOCKER_INPUT_PATH = "/data/input"; public final static String DOCKER_OUTPUT_PATH = "/data/output"; @@ -32,11 +31,50 @@ public abstract class DockerWrapperAnalysisExecutor extends OpenCgaToolExecutor public static final String STDERR_FILENAME = "stderr.txt"; public String getDockerImageName() { - return "opencb/opencga-ext-tools"; + return getConfiguration().getAnalysis().getOpencgaExtTools().split(":")[0]; } public String getDockerImageVersion() { - return GitRepositoryState.getInstance().getBuildVersion(); + if (getConfiguration().getAnalysis().getOpencgaExtTools().contains(":")) { + return getConfiguration().getAnalysis().getOpencgaExtTools().split(":")[1]; + } else { + return GitRepositoryState.getInstance().getBuildVersion(); + } + } + + public String getDockerImageName(String toolKey) { + for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { + if (entry.getKey().equalsIgnoreCase(toolKey)) { + return entry.getValue().getDockerId().split(":")[0]; + } + } + return null; + } + + public String getDockerImageVersion(String toolKey) { + for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { + if (entry.getKey().equalsIgnoreCase(toolKey)) { + if (entry.getValue().getDockerId().contains(":")) { + return entry.getValue().getDockerId().split(":")[1]; + } else { + return null; + } + } + } + return null; + } + + protected String getToolResource(String toolKey, String resourceKey) throws ToolException { + // Get resources from the configuration file + if (!getConfiguration().getAnalysis().getTools().containsKey(toolKey)) { + throw new ToolException("Error getting tool " + toolKey + ": it does not exist in the configuration file"); + } + Tool tool = getConfiguration().getAnalysis().getTools().get(toolKey); + if (!tool.getResources().containsKey(resourceKey)) { + throw new ToolException("Error getting resource " + resourceKey + " of tool " + toolKey + ": it does not exist in the" + + " configuration file"); + } + return tool.getResources().get(resourceKey); } private Logger privateLogger = LoggerFactory.getLogger(DockerWrapperAnalysisExecutor.class); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java index 3d8253861a4..b1d7ad8a92c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java @@ -33,6 +33,15 @@ public class ExomiserWrapperAnalysis extends OpenCgaToolScopeStudy { public final static String DESCRIPTION = "The Exomiser is a Java program that finds potential disease-causing variants" + " from whole-exome or whole-genome sequencing data."; + public final static String DEFAULT_EXOMISER_VERSION = "14.0.0"; + + // It must match the tool prefix in the tool keys for exomiser in the configuration file + public final static String EXOMISER_PREFIX = "exomiser-"; + + // It must match the resources key in the exomiser/tool section in the configuration file + public final static String HG38_RESOURCE_KEY = "HG38"; + public final static String PHENOTYPE_RESOURCE_KEY = "PHENOTYPE"; + @ToolParams protected final ExomiserWrapperParams analysisParams = new ExomiserWrapperParams(); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 86bb3760b3c..111c3a88d49 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -16,6 +16,7 @@ import org.opencb.opencga.analysis.wrappers.executors.DockerWrapperAnalysisExecutor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.managers.FamilyManager; +import org.opencb.opencga.core.config.Tool; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.exceptions.ToolExecutorException; import org.opencb.opencga.core.models.family.Family; @@ -29,10 +30,13 @@ import java.io.*; import java.net.URL; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; +import static org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis.*; + @ToolExecutor(id = ExomiserWrapperAnalysisExecutor.ID, tool = ExomiserWrapperAnalysis.ID, source = ToolExecutor.Source.STORAGE, @@ -45,11 +49,13 @@ public class ExomiserWrapperAnalysisExecutor extends DockerWrapperAnalysisExecut private final static String EXOMISER_PROPERTIES_TEMPLATE_FILENAME = "application.properties"; private static final String EXOMISER_OUTPUT_OPTIONS_FILENAME = "output.yml"; - public final static String DOCKER_IMAGE_NAME = "exomiser/exomiser-cli"; - public final static String DOCKER_IMAGE_VERSION = "13.1.0"; + // These constants must match in the file application.properties to be replaced + private static final String HG38_DATA_VERSION_MARK = "put_here_hg38_data_version"; + private static final String PHENOTYPE_DATA_VERSION_MARK = "put_here_phenotype_data_version"; private String studyId; private String sampleId; + private String exomiserVersion; private Logger logger = LoggerFactory.getLogger(this.getClass()); @@ -155,10 +161,14 @@ public void run() throws ToolException { throw new ToolException("Error copying Exomiser analysis file", e); } - // Copy the application.properties + // Copy the application.properties and update data according to Exomiser version try { - FileUtils.copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile(), - getOutDir().resolve(EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile()); + Path target = getOutDir().resolve(EXOMISER_PROPERTIES_TEMPLATE_FILENAME); + FileUtils.copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile(), target.toFile()); + Command cmd = new Command("sed -i \"s/" + HG38_DATA_VERSION_MARK + "/" + getHg38DataVersion() + "/g\" " + target); + cmd.run(); + cmd = new Command("sed -i \"s/" + PHENOTYPE_DATA_VERSION_MARK + "/" + getPhenotypeDataVersion() + "/g\" " + target); + cmd.run(); } catch (IOException e) { throw new ToolException("Error copying Exomiser properties file", e); } @@ -359,7 +369,7 @@ private Path getAnalysisDataPath(String analysisId) throws ToolException { } private Path getExomiserDataPath(Path openCgaHome) throws ToolException { - Path exomiserDataPath = openCgaHome.resolve("analysis/resources/exomiser"); + Path exomiserDataPath = openCgaHome.resolve("analysis/resources/" + ExomiserWrapperAnalysis.ID); if (!exomiserDataPath.toFile().exists()) { if (!exomiserDataPath.toFile().mkdirs()) { throw new ToolException("Error creating the Exomiser data directory"); @@ -368,33 +378,34 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { // Mutex management to avoid multiple downloadings at the same time // the first to come, download data, others have to wait for - File readyFile = exomiserDataPath.resolve("READY").toFile(); - File preparingFile = exomiserDataPath.resolve("PREPARING").toFile(); + File readyFile = exomiserDataPath.resolve("READY-" + exomiserVersion).toFile(); + File preparingFile = exomiserDataPath.resolve("PREPARING-" + exomiserVersion).toFile(); // If all is ready, then return if (readyFile.exists()) { - logger.info("{}: Exomiser data is already downloaded, so Exomiser analysis is ready to be executed.", ID); + logger.info("Exomiser {} data is already downloaded, so Exomiser analysis is ready to be executed.", exomiserVersion); return exomiserDataPath; } // If it is preparing, then wait for ready and then return if (preparingFile.exists()) { long startTime = System.currentTimeMillis(); - logger.info("{}: Exomiser data is downloading, waiting for it...", ID); + logger.info("Exomiser {} data is downloading, waiting for it...", exomiserVersion); while (!readyFile.exists()) { try { Thread.sleep(10000); } catch (InterruptedException e) { // Nothing to do here + preparingFile.delete(); throw new ToolException(e); } long elapsedTime = System.currentTimeMillis() - startTime; if (elapsedTime > 18000000) { - throw new ToolException("Unable to run the Exomiser analysis because of Exomiser data is not ready yet: maximum" - + " waiting time exceeded"); + throw new ToolException("Unable to run the Exomiser analysis because of Exomiser " + exomiserVersion + " data is not" + + " ready yet: maximum waiting time exceeded"); } } - logger.info("{}: Exomiser data is now downloaded: Exomiser analysis is ready to be executed", ID); + logger.info("Exomiser {} data is now downloaded: Exomiser analysis is ready to be executed", exomiserVersion); return exomiserDataPath; } @@ -402,38 +413,49 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { try { preparingFile.createNewFile(); } catch (IOException e) { - throw new ToolException("Error creating the Exomiser data directory"); + preparingFile.delete(); + throw new ToolException("Error creating the Exomiser " + exomiserVersion + " data directory"); } - // Download and unzip files + // Download resources and unzip files try { - downloadAndUnzip(exomiserDataPath, "2109_hg38.zip"); - downloadAndUnzip(exomiserDataPath, "2109_phenotype.zip"); + downloadAndUnzip(exomiserDataPath, HG38_RESOURCE_KEY); + downloadAndUnzip(exomiserDataPath, PHENOTYPE_RESOURCE_KEY); } catch (ToolException e) { // If something wrong happened, the preparing file has to be deleted preparingFile.delete(); - throw new ToolException("Something wrong happened when preparing Exomiser data", e); + throw new ToolException("Something wrong happened when preparing Exomiser " + exomiserVersion + " data", e); } // Mutex management, signal exomiser data is ready try { readyFile.createNewFile(); } catch (IOException e) { - throw new ToolException("Error preparing Exomiser data", e); + throw new ToolException("Error preparing Exomiser " + exomiserVersion + " data", e); } preparingFile.delete(); return exomiserDataPath; } + private String getHg38DataVersion() throws ToolException { + String resource = getToolResource(EXOMISER_PREFIX + exomiserVersion, HG38_RESOURCE_KEY); + return Paths.get(resource).getFileName().toString().split("_")[0]; + } + + private String getPhenotypeDataVersion() throws ToolException { + String resource = getToolResource(EXOMISER_PREFIX + exomiserVersion, PHENOTYPE_RESOURCE_KEY); + return Paths.get(resource).getFileName().toString().split("_")[0]; + } + @Override public String getDockerImageName() { - return DOCKER_IMAGE_NAME; + return getDockerImageName(EXOMISER_PREFIX + exomiserVersion); } @Override public String getDockerImageVersion() { - return DOCKER_IMAGE_VERSION; + return getDockerImageVersion(EXOMISER_PREFIX + exomiserVersion); } public String getStudyId() { @@ -445,21 +467,38 @@ public ExomiserWrapperAnalysisExecutor setStudyId(String studyId) { return this; } - private void downloadAndUnzip(Path exomiserDataPath, String filename) throws ToolException { - URL url = null; - - // Download data - try { - url = new URL("http://resources.opencb.org/opencb/opencga/analysis/exomiser/" + filename); + private void downloadAndUnzip(Path exomiserDataPath, String resourceKey) throws ToolException { + String filename; + String resource = getToolResource(EXOMISER_PREFIX + exomiserVersion, resourceKey); + if (resource.startsWith("file://")) { + // Copy resouce + try { + Path sourcePath = Paths.get(resource); + filename = sourcePath.getFileName().toString(); + Files.copy(sourcePath, exomiserDataPath.resolve(filename)); + } catch (IOException e) { + throw new ToolException("Error copying Exomiser data from " + resource, e); + } + } else { + // Download resource + String url; + if (resource.startsWith("http://") || resource.startsWith("https://") || resource.startsWith("ftp://")) { + url = resource; + } else { + url = getConfiguration().getAnalysis().getResourceUrl() + resource; + } logger.info("{}: Downloading Exomiser data: {} in {}", ID, url, exomiserDataPath); - ResourceUtils.downloadThirdParty(url, exomiserDataPath); - } catch (IOException e) { - throw new ToolException("Error downloading Exomiser data from " + url, e); + try { + ResourceUtils.downloadThirdParty(new URL(url), exomiserDataPath); + filename = Paths.get(url).getFileName().toString(); + } catch (IOException e) { + throw new ToolException("Error downloading Exomiser data from " + url, e); + } } // Unzip try { - logger.info("{}: Decompressing Exomiser data: {}", ID, filename); + logger.info("Decompressing Exomiser {} data: {}", exomiserDataPath, filename); new Command("unzip -o -d " + exomiserDataPath + " " + exomiserDataPath + "/" + filename) .setOutputOutputStream(new DataOutputStream(new FileOutputStream(getOutDir().resolve("stdout_unzip_" + filename + ".txt").toFile()))) @@ -467,7 +506,7 @@ private void downloadAndUnzip(Path exomiserDataPath, String filename) throws Too + filename + ".txt").toFile()))) .run(); } catch (FileNotFoundException e) { - throw new ToolException("Error unzipping Exomiser data: " + filename, e); + throw new ToolException("Error unzipping Exomiser " + exomiserVersion + " data: " + filename, e); } // Free disk space @@ -483,4 +522,13 @@ public ExomiserWrapperAnalysisExecutor setSampleId(String sampleId) { this.sampleId = sampleId; return this; } + + public String getExomiserVersion() { + return exomiserVersion; + } + + public ExomiserWrapperAnalysisExecutor setExomiserVersion(String exomiserVersion) { + this.exomiserVersion = exomiserVersion; + return this; + } } diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java index 387b439571b..7ac1012241f 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java @@ -12,6 +12,7 @@ import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.clinical.ClinicalAnalysisUtilsTest; import org.opencb.opencga.analysis.variant.OpenCGATestExternalResource; +import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.managers.AbstractClinicalManagerTest; import org.opencb.opencga.core.exceptions.ToolException; @@ -79,11 +80,14 @@ public void singleExomiserAnalysis() throws IOException, CatalogException, ToolE ClinicalAnalysis clinicalAnalysis = caResult.getResults().get(0); assertEquals(0, clinicalAnalysis.getSecondaryInterpretations().size()); - ExomiserInterpretationAnalysis exomiser = new ExomiserInterpretationAnalysis(); + System.out.println("opencga.getOpencgaHome() = " + opencga.getOpencgaHome().toAbsolutePath()); + System.out.println("outDir = " + outDir); + ExomiserInterpretationAnalysis exomiser = new ExomiserInterpretationAnalysis(); exomiser.setUp(opencga.getOpencgaHome().toAbsolutePath().toString(), new ObjectMap(), outDir, clinicalTest.token); exomiser.setStudyId(clinicalTest.studyFqn) - .setClinicalAnalysisId(clinicalTest.CA_ID2); + .setClinicalAnalysisId(clinicalTest.CA_ID2) + .setExomiserVersion("13.1.0"); ExecutionResult result = exomiser.start(); @@ -109,7 +113,8 @@ public void familyExomiserAnalysis() throws IOException, CatalogException, ToolE exomiser.setUp(opencga.getOpencgaHome().toAbsolutePath().toString(), new ObjectMap(), outDir, clinicalTest.token); exomiser.setStudyId(clinicalTest.studyFqn) - .setClinicalAnalysisId(clinicalTest.CA_ID3); + .setClinicalAnalysisId(clinicalTest.CA_ID3) + .setExomiserVersion("13.1.0"); ExecutionResult result = exomiser.start(); diff --git a/opencga-analysis/src/test/resources/exomiser/application.properties b/opencga-analysis/src/test/resources/exomiser/application.properties index e722c2fd89b..ee367632b7f 100644 --- a/opencga-analysis/src/test/resources/exomiser/application.properties +++ b/opencga-analysis/src/test/resources/exomiser/application.properties @@ -37,9 +37,9 @@ exomiser.data-directory=/data #remm.version=0.3.1.post1 #cadd.version=1.4 #exomiser.hg19.data-version=1811 -exomiser.hg38.data-version=2109 +exomiser.hg38.data-version=put_here_hg38_data_version #exomiser.hg19.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg19.tsv.gz #exomiser.hg19.variant-white-list-path=${exomiser.hg19.data-version}_hg19_clinvar_whitelist.tsv.gz exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz -exomiser.phenotype.data-version=2109 +exomiser.phenotype.data-version=put_here_phenotype_data_version logging.file.name=/jobdir/exomiser.log diff --git a/opencga-app/app/analysis/exomiser/application.properties b/opencga-app/app/analysis/exomiser/application.properties index e722c2fd89b..ee367632b7f 100644 --- a/opencga-app/app/analysis/exomiser/application.properties +++ b/opencga-app/app/analysis/exomiser/application.properties @@ -37,9 +37,9 @@ exomiser.data-directory=/data #remm.version=0.3.1.post1 #cadd.version=1.4 #exomiser.hg19.data-version=1811 -exomiser.hg38.data-version=2109 +exomiser.hg38.data-version=put_here_hg38_data_version #exomiser.hg19.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg19.tsv.gz #exomiser.hg19.variant-white-list-path=${exomiser.hg19.data-version}_hg19_clinvar_whitelist.tsv.gz exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz -exomiser.phenotype.data-version=2109 +exomiser.phenotype.data-version=put_here_phenotype_data_version logging.file.name=/jobdir/exomiser.log diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java index e502850d9ee..e052bd94638 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java @@ -1017,6 +1017,7 @@ private void exomiser() throws Exception { ObjectMap params = new ExomiserWrapperParams( cliOptions.sample, + cliOptions.exomiserVersion, cliOptions.outdir) .toObjectMap(cliOptions.commonOptions.params).append(ParamConstants.STUDY_PARAM, cliOptions.study); diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java index bad1beff087..dbb8378535c 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java @@ -1844,6 +1844,9 @@ public class ExomiserAnalysisCommandOptions { @Parameter(names = {"--sample"}, description = "Sample ID.", required = true) public String sample; + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.") + public String exomiserVersion = ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION; + @Parameter(names = {"-o", "--outdir"}, description = "Output directory.") public String outdir; } diff --git a/opencga-catalog/src/test/resources/configuration-test.yml b/opencga-catalog/src/test/resources/configuration-test.yml index 7b84c12702c..27db4eaeee9 100644 --- a/opencga-catalog/src/test/resources/configuration-test.yml +++ b/opencga-catalog/src/test/resources/configuration-test.yml @@ -19,6 +19,22 @@ analysis: packages: # List of packages where to find analysis tools - "org.opencb.opencga" scratchDir: "/tmp/" # Scratch folder for the analysis. + # Default URL for downloading analysis resources. + resourceUrl: "http://resources.opencb.org/opencb/opencga/analysis/" + # Docker used by OpenCGA analysis and containing external tools such as samtools, bcftools, tabix, fastqc, plink1.9, bwa and r-base + # You can indicate the version, e.g: opencb/opencga-ext-tools:2.12.0, otherwise the current OpenCGA version will be used + opencgaExtTools: "opencb/opencga-ext-tools" + tools: + exomiser-13.1.0: + dockerId: "exomiser/exomiser-cli:13.1.0" + resources: + HG38: "exomiser/2109_hg38.zip" + PHENOTYPE: "exomiser/2109_phenotype.zip" + exomiser-14.0.0: + dockerId: "exomiser/exomiser-cli:14.0.0" + resources: + HG38: "exomiser/2402_hg38.zip" + PHENOTYPE: "exomiser/2402_phenotype.zip" execution: # Accepted values are "local", "SGE", "azure-batch", "k8s" # see org.opencb.opencga.master.monitor.executors.ExecutorFactory diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java b/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java index 6eb2beecb49..53864a0037d 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java @@ -17,13 +17,19 @@ package org.opencb.opencga.core.config; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class Analysis { private List packages; private String scratchDir; + private String resourceUrl; + + private String opencgaExtTools; + private Map tools; private Execution execution; @@ -31,6 +37,7 @@ public class Analysis { public Analysis() { packages = new ArrayList<>(); + tools = new HashMap<>(); execution = new Execution(); frameworks = new ArrayList<>(); } @@ -53,6 +60,33 @@ public Analysis setScratchDir(String scratchDir) { return this; } + public String getResourceUrl() { + return resourceUrl; + } + + public Analysis setResourceUrl(String resourceUrl) { + this.resourceUrl = resourceUrl; + return this; + } + + public String getOpencgaExtTools() { + return opencgaExtTools; + } + + public Analysis setOpencgaExtTools(String opencgaExtTools) { + this.opencgaExtTools = opencgaExtTools; + return this; + } + + public Map getTools() { + return tools; + } + + public Analysis setTools(Map tools) { + this.tools = tools; + return this; + } + public Execution getExecution() { return execution; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java b/opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java new file mode 100644 index 00000000000..11800116985 --- /dev/null +++ b/opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java @@ -0,0 +1,76 @@ +/* + * Copyright 2015-2020 OpenCB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opencb.opencga.core.config; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class Tool { + + private String dockerId; + private String params; + private Map resources; + + public Tool() { + resources = new HashMap<>(); + } + + public Tool(String dockerId, String params, Map resources) { + this.dockerId = dockerId; + this.params = params; + this.resources = resources; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("Tool{"); + sb.append("dockerId='").append(dockerId).append('\''); + sb.append(", params='").append(params).append('\''); + sb.append(", resources=").append(resources); + sb.append('}'); + return sb.toString(); + } + + public String getDockerId() { + return dockerId; + } + + public Tool setDockerId(String dockerId) { + this.dockerId = dockerId; + return this; + } + + public String getParams() { + return params; + } + + public Tool setParams(String params) { + this.params = params; + return this; + } + + public Map getResources() { + return resources; + } + + public Tool setResources(Map resources) { + this.resources = resources; + return this; + } +} diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java index 0ebc7f92d22..ac3bf057d08 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java @@ -8,19 +8,21 @@ public class ExomiserInterpretationAnalysisParams extends ToolParams { public static final String DESCRIPTION = "Exomizer interpretation analysis params"; private String clinicalAnalysis; + private String exomiserVersion; public ExomiserInterpretationAnalysisParams() { } - public ExomiserInterpretationAnalysisParams(String clinicalAnalysis) { + public ExomiserInterpretationAnalysisParams(String clinicalAnalysis, String exomiserVersion) { this.clinicalAnalysis = clinicalAnalysis; - + this.exomiserVersion = exomiserVersion; } @Override public String toString() { - final StringBuilder sb = new StringBuilder("TieringInterpretationAnalysisParams{"); + final StringBuilder sb = new StringBuilder("ExomiserInterpretationAnalysisParams{"); sb.append("clinicalAnalysis='").append(clinicalAnalysis).append('\''); + sb.append(", exomiserVersion='").append(exomiserVersion).append('\''); sb.append('}'); return sb.toString(); } @@ -34,5 +36,12 @@ public ExomiserInterpretationAnalysisParams setClinicalAnalysis(String clinicalA return this; } + public String getExomiserVersion() { + return exomiserVersion; + } + public ExomiserInterpretationAnalysisParams setExomiserVersion(String exomiserVersion) { + this.exomiserVersion = exomiserVersion; + return this; + } } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java index 1fa40dfbaf7..3a2ff5722b2 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java @@ -8,13 +8,15 @@ public class ExomiserWrapperParams extends ToolParams { public static final String DESCRIPTION = "Exomiser parameters"; private String sample; + private String exomiserVersion; private String outdir; public ExomiserWrapperParams() { } - public ExomiserWrapperParams(String sample, String outdir) { + public ExomiserWrapperParams(String sample, String exomiserVersion, String outdir) { this.sample = sample; + this.exomiserVersion = exomiserVersion; this.outdir = outdir; } @@ -22,6 +24,7 @@ public ExomiserWrapperParams(String sample, String outdir) { public String toString() { final StringBuilder sb = new StringBuilder("ExomiserWrapperParams{"); sb.append("sample='").append(sample).append('\''); + sb.append("exomiserVersion='").append(exomiserVersion).append('\''); sb.append(", outdir='").append(outdir).append('\''); sb.append('}'); return sb.toString(); @@ -36,6 +39,15 @@ public ExomiserWrapperParams setSample(String sample) { return this; } + public String getExomiserVersion() { + return exomiserVersion; + } + + public ExomiserWrapperParams setExomiserVersion(String exomiserVersion) { + this.exomiserVersion = exomiserVersion; + return this; + } + public String getOutdir() { return outdir; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/tools/OpenCgaToolExecutor.java b/opencga-core/src/main/java/org/opencb/opencga/core/tools/OpenCgaToolExecutor.java index 15cf7a51215..0b16875bebb 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/tools/OpenCgaToolExecutor.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/tools/OpenCgaToolExecutor.java @@ -17,9 +17,10 @@ package org.opencb.opencga.core.tools; import org.opencb.commons.datastore.core.ObjectMap; -import org.opencb.opencga.core.tools.annotations.ToolExecutor; +import org.opencb.opencga.core.config.Configuration; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.exceptions.ToolExecutorException; +import org.opencb.opencga.core.tools.annotations.ToolExecutor; import org.opencb.opencga.core.tools.result.ExecutionResultManager; import java.nio.file.Path; @@ -31,6 +32,7 @@ public abstract class OpenCgaToolExecutor { private ObjectMap executorParams; private Path outDir; private ExecutionResultManager arm; + private Configuration configuration; protected OpenCgaToolExecutor() { } @@ -51,10 +53,11 @@ public final ToolExecutor.Source getSource() { return this.getClass().getAnnotation(ToolExecutor.class).source(); } - public final void setUp(ExecutionResultManager arm, ObjectMap executorParams, Path outDir) { + public final void setUp(ExecutionResultManager arm, ObjectMap executorParams, Path outDir, Configuration configuration) { this.arm = arm; this.executorParams = executorParams; this.outDir = outDir; + this.configuration = configuration; } public final void execute() throws ToolException { @@ -77,6 +80,10 @@ public final Path getOutDir() { return outDir; } + public final Configuration getConfiguration() { + return configuration; + } + protected final String getToken() { return getExecutorParams().getString("token"); } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/GwasAnalysisExecutor.java b/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/GwasAnalysisExecutor.java index 2af4d769513..980a0a8d494 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/GwasAnalysisExecutor.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/GwasAnalysisExecutor.java @@ -33,7 +33,7 @@ public abstract class GwasAnalysisExecutor extends OpenCgaToolExecutor { private String cohort1; private String cohort2; private Path outputFile; - private GwasConfiguration configuration; + private GwasConfiguration gwasConfiguration; public GwasAnalysisExecutor() { } @@ -49,7 +49,7 @@ protected List getHeaderColumns() { columns.add("gene"); columns.add("biotype"); columns.add("consequence-types"); - if (configuration.getMethod() == GwasConfiguration.Method.CHI_SQUARE_TEST) { + if (gwasConfiguration.getMethod() == GwasConfiguration.Method.CHI_SQUARE_TEST) { columns.add("chi-square"); } columns.add("p-value"); @@ -70,7 +70,7 @@ public String toString() { sb.append(", phenotype2='").append(phenotype2).append('\''); sb.append(", cohort1='").append(cohort1).append('\''); sb.append(", cohort2='").append(cohort2).append('\''); - sb.append(", configuration=").append(configuration); + sb.append(", configuration=").append(gwasConfiguration); sb.append(", executorParams=").append(getExecutorParams()); sb.append(", outDir=").append(getOutDir()); sb.append('}'); @@ -149,12 +149,12 @@ public GwasAnalysisExecutor setOutputFile(Path outputFile) { return this; } - public GwasConfiguration getConfiguration() { - return configuration; + public GwasConfiguration getGwasConfiguration() { + return gwasConfiguration; } - public GwasAnalysisExecutor setConfiguration(GwasConfiguration configuration) { - this.configuration = configuration; + public GwasAnalysisExecutor setGwasConfiguration(GwasConfiguration gwasConfiguration) { + this.gwasConfiguration = gwasConfiguration; return this; } } diff --git a/opencga-core/src/main/resources/configuration.yml b/opencga-core/src/main/resources/configuration.yml index ac4acf283d8..82a80023f9f 100644 --- a/opencga-core/src/main/resources/configuration.yml +++ b/opencga-core/src/main/resources/configuration.yml @@ -107,9 +107,27 @@ healthCheck: analysis: - packages: # List of packages where to find analysis tools + # List of packages where to find analysis tools + packages: - "org.opencb.opencga" - scratchDir: "${OPENCGA.ANALYSIS.SCRATCH.DIR}" # Scratch folder for the analysis. + # Scratch folder for the analysis. + scratchDir: "${OPENCGA.ANALYSIS.SCRATCH.DIR}" + # Default URL for downloading analysis resources. + resourceUrl: "http://resources.opencb.org/opencb/opencga/analysis/" + # Docker used by OpenCGA analysis and containing external tools such as samtools, bcftools, tabix, fastqc, plink1.9, bwa and r-base + # You can indicate the version, e.g: opencb/opencga-ext-tools:2.12.0, otherwise the current OpenCGA version will be used + opencgaExtTools: "opencb/opencga-ext-tools" + tools: + exomiser-13.1.0: + dockerId: "exomiser/exomiser-cli:13.1.0" + resources: + HG38: "exomiser/2109_hg38.zip" + PHENOTYPE: "exomiser/2109_phenotype.zip" + exomiser-14.0.0: + dockerId: "exomiser/exomiser-cli:14.0.0" + resources: + HG38: "exomiser-14.0.0/2402_hg38.zip" + PHENOTYPE: "exomiser-14.0.0/2402_phenotype.zip" execution: # Accepted values are "local", "SGE", "azure-batch", "k8s" # see org.opencb.opencga.master.monitor.executors.ExecutorFactory diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java index a62b08e0413..2a98f6412dc 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java @@ -1270,7 +1270,7 @@ public Response circos( ObjectMap executorParams = new ObjectMap(); executorParams.put("opencgaHome", opencgaHome); executorParams.put("token", token); - executor.setUp(null, executorParams, outDir.toPath()); + executor.setUp(null, executorParams, outDir.toPath(), null); // Run Circos executor StopWatch watch = StopWatch.createStarted(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/analysis/gwas/GwasHBaseMapReduceAnalysisExecutor.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/analysis/gwas/GwasHBaseMapReduceAnalysisExecutor.java index ce29e3f18fe..102638aab8c 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/analysis/gwas/GwasHBaseMapReduceAnalysisExecutor.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/analysis/gwas/GwasHBaseMapReduceAnalysisExecutor.java @@ -25,7 +25,7 @@ public void run() throws ToolException { List samples1 = getSampleList1(); List samples2 = getSampleList2(); - if (getConfiguration().getMethod().equals(GwasConfiguration.Method.CHI_SQUARE_TEST)) { + if (getGwasConfiguration().getMethod().equals(GwasConfiguration.Method.CHI_SQUARE_TEST)) { addWarning("Unable to calculate chi-square test."); } From 4867904689dab5886b5a762dbea4d2e7e591942e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 23 May 2024 10:36:10 +0200 Subject: [PATCH 02/13] app: add Exomiser version as paremeter for the Exomiser interpretation analysis, #TASK-6297, #TASK-6255 --- .../app/cli/internal/executors/ClinicalCommandExecutor.java | 3 ++- .../app/cli/internal/options/ClinicalCommandOptions.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/ClinicalCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/ClinicalCommandExecutor.java index 0a32ddece0a..d58fca25609 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/ClinicalCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/ClinicalCommandExecutor.java @@ -339,7 +339,8 @@ private void exomiserInterpretation() throws Exception { ExomiserInterpretationAnalysis exomiserInterpretationAnalysis = new ExomiserInterpretationAnalysis(); exomiserInterpretationAnalysis.setUp(opencgaHome.toString(), new ObjectMap(), outDir, token); exomiserInterpretationAnalysis.setStudyId(cliOptions.study) - .setClinicalAnalysisId(cliOptions.clinicalAnalysis); + .setClinicalAnalysisId(cliOptions.clinicalAnalysis) + .setExomiserVersion(cliOptions.exomiserVersion); // exomiserInterpretationAnalysis.setPrimary(cliOptions.primary); exomiserInterpretationAnalysis.start(); } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java index 853d280736d..8758f9532e7 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java @@ -13,6 +13,7 @@ import org.opencb.opencga.analysis.clinical.tiering.CancerTieringInterpretationAnalysis; import org.opencb.opencga.analysis.clinical.tiering.TieringInterpretationAnalysis; import org.opencb.opencga.analysis.clinical.zetta.ZettaInterpretationAnalysis; +import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis; import org.opencb.opencga.app.cli.GeneralCliOptions; import org.opencb.opencga.app.cli.internal.InternalCliOptionsParser; import org.opencb.opencga.core.api.ParamConstants; @@ -338,6 +339,9 @@ public class ExomiserInterpretationCommandOptions extends GeneralCliOptions.Stud @Parameter(names = {"--" + CLINICAL_ANALYISIS_PARAM_NAME}, description = "Clinical analysis", required = true, arity = 1) public String clinicalAnalysis; + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.") + public String exomiserVersion = ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION; + @Parameter(names = {"-o", "--outdir"}, description = "Directory where output files will be saved", arity = 1) public String outdir; } From ad7bd6accf39a95f026803466ddafda831e84d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 23 May 2024 11:12:43 +0200 Subject: [PATCH 03/13] app: add parameter descriptions, #TASK-6297, #TASK-6255 --- .../exomiser/ExomiserInterpretationAnalysis.java | 8 ++++---- .../wrappers/exomiser/ExomiserWrapperAnalysis.java | 3 +-- .../app/cli/internal/options/ClinicalCommandOptions.java | 8 +++++--- .../app/cli/internal/options/VariantCommandOptions.java | 7 ++++--- .../clinical/ExomiserInterpretationAnalysisParams.java | 8 +++++++- .../core/models/clinical/ExomiserWrapperParams.java | 9 +++++++++ 6 files changed, 30 insertions(+), 13 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java index 92ffe157b7b..b6dcd30fb26 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java @@ -36,6 +36,7 @@ import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysisExecutor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.utils.ParamUtils; +import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.common.GitRepositoryState; import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.common.TimeUtils; @@ -98,8 +99,7 @@ protected void check() throws Exception { try { clinicalAnalysisQueryResult = catalogManager.getClinicalAnalysisManager().get(studyId, clinicalAnalysisId, QueryOptions.empty(), token); - } catch ( - CatalogException e) { + } catch (CatalogException e) { throw new ToolException(e); } if (clinicalAnalysisQueryResult.getNumResults() != 1) { @@ -121,8 +121,8 @@ protected void check() throws Exception { // Check exomiser version if (StringUtils.isEmpty(exomiserVersion)) { // Missing exomiser version use the default one - logger.warn("Missing exomiser version, using the default {}", ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION); - exomiserVersion = ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION; + logger.warn("Missing exomiser version, using the default {}", FieldConstants.EXOMISER_DEFAULT_VERSION); + exomiserVersion = FieldConstants.EXOMISER_DEFAULT_VERSION; } // Update executor params with OpenCGA home and session ID diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java index b1d7ad8a92c..03fb92099e2 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java @@ -33,8 +33,6 @@ public class ExomiserWrapperAnalysis extends OpenCgaToolScopeStudy { public final static String DESCRIPTION = "The Exomiser is a Java program that finds potential disease-causing variants" + " from whole-exome or whole-genome sequencing data."; - public final static String DEFAULT_EXOMISER_VERSION = "14.0.0"; - // It must match the tool prefix in the tool keys for exomiser in the configuration file public final static String EXOMISER_PREFIX = "exomiser-"; @@ -51,6 +49,7 @@ protected void check() throws Exception { if (StringUtils.isEmpty(getStudy())) { throw new ToolException("Missing study"); } + } @Override diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java index 8758f9532e7..c1074f62ee9 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java @@ -24,6 +24,7 @@ import static org.opencb.opencga.analysis.clinical.InterpretationAnalysis.*; import static org.opencb.opencga.analysis.variant.manager.VariantCatalogQueryUtils.*; +import static org.opencb.opencga.core.api.FieldConstants.*; import static org.opencb.opencga.storage.core.variant.adaptors.VariantQueryParam.*; @Parameters(commandNames = {"clinical"}, commandDescription = "Clinical analysis commands") @@ -336,11 +337,12 @@ public class ExomiserInterpretationCommandOptions extends GeneralCliOptions.Stud @ParametersDelegate public InternalCliOptionsParser.JobOptions jobOptions = internalJobOptions; - @Parameter(names = {"--" + CLINICAL_ANALYISIS_PARAM_NAME}, description = "Clinical analysis", required = true, arity = 1) + @Parameter(names = {"--" + CLINICAL_ANALYISIS_PARAM_NAME}, description = EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION, + required = true, arity = 1) public String clinicalAnalysis; - @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.") - public String exomiserVersion = ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION; + @Parameter(names = {"--exomiser-version"}, description = EXOMISER_VERSION_DESCRIPTION) + public String exomiserVersion = EXOMISER_DEFAULT_VERSION; @Parameter(names = {"-o", "--outdir"}, description = "Directory where output files will be saved", arity = 1) public String outdir; diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java index dbb8378535c..4005d4a9df5 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java @@ -69,6 +69,7 @@ import static org.opencb.opencga.app.cli.internal.options.VariantCommandOptions.VariantSampleQueryCommandOptions.SAMPLE_QUERY_COMMAND; import static org.opencb.opencga.app.cli.internal.options.VariantCommandOptions.VariantSecondaryIndexCommandOptions.SECONDARY_INDEX_COMMAND; import static org.opencb.opencga.app.cli.internal.options.VariantCommandOptions.VariantSecondaryIndexDeleteCommandOptions.SECONDARY_INDEX_DELETE_COMMAND; +import static org.opencb.opencga.core.api.FieldConstants.*; import static org.opencb.opencga.core.api.ParamConstants.*; import static org.opencb.opencga.storage.app.cli.client.options.StorageVariantCommandOptions.AggregateCommandOptions.AGGREGATE_COMMAND; import static org.opencb.opencga.storage.app.cli.client.options.StorageVariantCommandOptions.AggregateCommandOptions.AGGREGATE_COMMAND_DESCRIPTION; @@ -1841,11 +1842,11 @@ public class ExomiserAnalysisCommandOptions { @Parameter(names = {"--study"}, description = "Study where all the samples belong to.") public String study; - @Parameter(names = {"--sample"}, description = "Sample ID.", required = true) + @Parameter(names = {"--sample"}, description = EXOMISER_SAMPLE_DESCRIPTION, required = true) public String sample; - @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.") - public String exomiserVersion = ExomiserWrapperAnalysis.DEFAULT_EXOMISER_VERSION; + @Parameter(names = {"--exomiser-version"}, description = EXOMISER_VERSION_DESCRIPTION) + public String exomiserVersion = EXOMISER_DEFAULT_VERSION; @Parameter(names = {"-o", "--outdir"}, description = "Output directory.") public String outdir; diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java index ac3bf057d08..61d33a06ebd 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java @@ -1,13 +1,19 @@ package org.opencb.opencga.core.models.clinical; +import org.opencb.commons.annotations.DataField; +import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.tools.ToolParams; +import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_DEFAULT_VERSION; public class ExomiserInterpretationAnalysisParams extends ToolParams { - public static final String DESCRIPTION = "Exomizer interpretation analysis params"; + public static final String DESCRIPTION = "Exomiser interpretation analysis params"; + @DataField(id = "clinicalAnalysis", description = FieldConstants.EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION, required = true) private String clinicalAnalysis; + + @DataField(id = "exomiserVersion", description = FieldConstants.EXOMISER_VERSION_DESCRIPTION, defaultValue = EXOMISER_DEFAULT_VERSION) private String exomiserVersion; public ExomiserInterpretationAnalysisParams() { diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java index 3a2ff5722b2..15a3954935c 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java @@ -1,14 +1,23 @@ package org.opencb.opencga.core.models.clinical; +import org.opencb.commons.annotations.DataField; +import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.tools.ToolParams; import java.util.Map; +import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_DEFAULT_VERSION; + public class ExomiserWrapperParams extends ToolParams { public static final String DESCRIPTION = "Exomiser parameters"; + @DataField(id = "sample", description = FieldConstants.EXOMISER_SAMPLE_DESCRIPTION, required = true) private String sample; + + @DataField(id = "exomiserVersion", description = FieldConstants.EXOMISER_VERSION_DESCRIPTION, defaultValue = EXOMISER_DEFAULT_VERSION) private String exomiserVersion; + + @DataField(id = "outdir", description = FieldConstants.JOB_OUT_DIR_DESCRIPTION) private String outdir; public ExomiserWrapperParams() { From 28e32c53769618ad36063833a09ae5ca5e1c0234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 23 May 2024 11:13:14 +0200 Subject: [PATCH 04/13] client: generate clients, #TASK-6297, #TASK-6255 --- .../app/cli/main/OpenCgaCompleter.java | 2 +- .../app/cli/main/OpencgaCliOptionsParser.java | 2 +- .../AnalysisClinicalCommandExecutor.java | 1 + .../AnalysisVariantCommandExecutor.java | 1 + .../OrganizationsCommandExecutor.java | 1 + .../main/executors/UsersCommandExecutor.java | 1 - .../AnalysisClinicalCommandOptions.java | 5 +++- .../AnalysisVariantCommandOptions.java | 7 ++++-- .../cli/main/options/UsersCommandOptions.java | 3 --- opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 24 +++++++++---------- .../src/main/R/R/Clinical-methods.R | 6 ++--- opencga-client/src/main/R/R/Cohort-methods.R | 4 ++-- opencga-client/src/main/R/R/Family-methods.R | 4 ++-- opencga-client/src/main/R/R/File-methods.R | 4 ++-- opencga-client/src/main/R/R/GA4GH-methods.R | 4 ++-- .../src/main/R/R/Individual-methods.R | 4 ++-- opencga-client/src/main/R/R/Job-methods.R | 4 ++-- opencga-client/src/main/R/R/Meta-methods.R | 2 +- .../src/main/R/R/Operation-methods.R | 2 +- .../src/main/R/R/Organization-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 4 ++-- opencga-client/src/main/R/R/Project-methods.R | 4 ++-- opencga-client/src/main/R/R/Sample-methods.R | 4 ++-- opencga-client/src/main/R/R/Study-methods.R | 4 ++-- opencga-client/src/main/R/R/User-methods.R | 4 ++-- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 4 ++-- .../client/rest/clients/AlignmentClient.java | 4 ++-- .../rest/clients/ClinicalAnalysisClient.java | 6 ++--- .../client/rest/clients/CohortClient.java | 4 ++-- .../rest/clients/DiseasePanelClient.java | 4 ++-- .../client/rest/clients/FamilyClient.java | 4 ++-- .../client/rest/clients/FileClient.java | 4 ++-- .../client/rest/clients/GA4GHClient.java | 4 ++-- .../client/rest/clients/IndividualClient.java | 4 ++-- .../client/rest/clients/JobClient.java | 4 ++-- .../client/rest/clients/MetaClient.java | 4 ++-- .../rest/clients/OrganizationClient.java | 4 ++-- .../client/rest/clients/ProjectClient.java | 4 ++-- .../client/rest/clients/SampleClient.java | 4 ++-- .../client/rest/clients/StudyClient.java | 4 ++-- .../client/rest/clients/UserClient.java | 4 ++-- .../client/rest/clients/VariantClient.java | 4 ++-- .../rest/clients/VariantOperationClient.java | 4 ++-- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/ClinicalAnalysis.js | 4 ++-- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 2 +- .../src/main/javascript/Organization.js | 2 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 4 ++-- .../rest_clients/alignment_client.py | 4 ++-- .../rest_clients/clinical_analysis_client.py | 6 ++--- .../pyopencga/rest_clients/cohort_client.py | 4 ++-- .../rest_clients/disease_panel_client.py | 4 ++-- .../pyopencga/rest_clients/family_client.py | 4 ++-- .../pyopencga/rest_clients/file_client.py | 4 ++-- .../pyopencga/rest_clients/ga4gh_client.py | 4 ++-- .../rest_clients/individual_client.py | 4 ++-- .../pyopencga/rest_clients/job_client.py | 4 ++-- .../pyopencga/rest_clients/meta_client.py | 4 ++-- .../rest_clients/organization_client.py | 4 ++-- .../pyopencga/rest_clients/project_client.py | 4 ++-- .../pyopencga/rest_clients/sample_client.py | 4 ++-- .../pyopencga/rest_clients/study_client.py | 4 ++-- .../pyopencga/rest_clients/user_client.py | 4 ++-- .../pyopencga/rest_clients/variant_client.py | 4 ++-- .../rest_clients/variant_operation_client.py | 4 ++-- .../opencga/core/api/FieldConstants.java | 5 ++++ 83 files changed, 155 insertions(+), 145 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index 623e23db9fb..e83115c8d1c 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-04-10 OpenCB +* Copyright 2015-2024-05-23 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index 5b96a113110..a00af1b0ca1 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-04-10 OpenCB +* Copyright 2015-2024-05-23 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java index e96ddce01c2..22b4fcf7fa0 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java @@ -573,6 +573,7 @@ private RestResponse runInterpreterExomiser() throws Exception { } else { ObjectMap beanParams = new ObjectMap(); putNestedIfNotEmpty(beanParams, "clinicalAnalysis",commandOptions.clinicalAnalysis, true); + putNestedIfNotEmpty(beanParams, "exomiserVersion",commandOptions.exomiserVersion, true); exomiserInterpretationAnalysisParams = JacksonUtils.getDefaultObjectMapper().copy() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisVariantCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisVariantCommandExecutor.java index 33dfbc54a41..62b81b2df89 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisVariantCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisVariantCommandExecutor.java @@ -427,6 +427,7 @@ private RestResponse runExomiser() throws Exception { } else { ObjectMap beanParams = new ObjectMap(); putNestedIfNotEmpty(beanParams, "sample",commandOptions.sample, true); + putNestedIfNotEmpty(beanParams, "exomiserVersion",commandOptions.exomiserVersion, true); putNestedIfNotEmpty(beanParams, "outdir",commandOptions.outdir, true); exomiserWrapperParams = JacksonUtils.getDefaultObjectMapper().copy() diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OrganizationsCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OrganizationsCommandExecutor.java index e18895e85b2..991f44fd9d8 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OrganizationsCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OrganizationsCommandExecutor.java @@ -22,6 +22,7 @@ import org.opencb.opencga.core.models.organizations.OrganizationConfiguration; import org.opencb.opencga.core.models.organizations.OrganizationCreateParams; import org.opencb.opencga.core.models.organizations.OrganizationUpdateParams; +import org.opencb.opencga.core.models.organizations.TokenConfiguration; import org.opencb.opencga.core.response.QueryType; import org.opencb.opencga.core.response.RestResponse; diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/UsersCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/UsersCommandExecutor.java index f8bd7213886..794d32fd1f6 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/UsersCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/UsersCommandExecutor.java @@ -284,7 +284,6 @@ private RestResponse update() throws Exception { ObjectMap beanParams = new ObjectMap(); putNestedIfNotEmpty(beanParams, "name",commandOptions.name, true); putNestedIfNotEmpty(beanParams, "email",commandOptions.email, true); - putNestedIfNotEmpty(beanParams, "organization",commandOptions.organization, true); putNestedIfNotNull(beanParams, "attributes",commandOptions.attributes, true); userUpdateParams = JacksonUtils.getDefaultObjectMapper().copy() diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java index fcfe1679c19..11a5501bd5f 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java @@ -649,9 +649,12 @@ public class RunInterpreterExomiserCommandOptions { @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) public String jobTags; - @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID.", required = false, arity = 1) public String clinicalAnalysis; + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", required = false, arity = 1) + public String exomiserVersion = "14.0.0"; + } @Parameters(commandNames = {"interpreter-team-run"}, commandDescription ="Run TEAM interpretation analysis") diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java index 82b9edc17a4..f3d490e4fbf 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java @@ -410,10 +410,13 @@ public class RunExomiserCommandOptions { @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) public String jobTags; - @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) + @Parameter(names = {"--sample"}, description = "Sample ID.", required = false, arity = 1) public String sample; - @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", required = false, arity = 1) + public String exomiserVersion = "14.0.0"; + + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/UsersCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/UsersCommandOptions.java index e17ed6588e4..6cdb25f0cda 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/UsersCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/UsersCommandOptions.java @@ -251,9 +251,6 @@ public class UpdateCommandOptions { @Parameter(names = {"--email"}, description = "The body web service email parameter", required = false, arity = 1) public String email; - @Parameter(names = {"--organization"}, description = "The body web service organization parameter", required = false, arity = 1) - public String organization; - @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index 8f5d4877e7f..1aef5e23bb1 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index e9b2195c871..036b855a053 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index fe127eafb19..2a76b8da965 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -5,52 +5,52 @@ setGeneric("organizationClient", function(OpencgaR, organization, id, endpointNa # ############################################################################## ## UserClient -setGeneric("userClient", function(OpencgaR, users, user, filterId, endpointName, params=NULL, ...) +setGeneric("userClient", function(OpencgaR, users, filterId, user, endpointName, params=NULL, ...) standardGeneric("userClient")) # ############################################################################## ## ProjectClient -setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, params=NULL, ...) +setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, params=NULL, ...) standardGeneric("projectClient")) # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, study, studies, variableSet, group, templateId, members, id, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, members, templateId, group, studies, study, variableSet, id, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, file, folder, annotationSet, members, files, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, members, files, file, annotationSet, folder, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -setGeneric("jobClient", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) +setGeneric("jobClient", function(OpencgaR, members, jobs, job, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, samples, annotationSet, members, sample, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, members, annotationSet, individual, individuals, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, families, members, family, annotationSet, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, members, family, annotationSet, families, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, cohort, members, cohorts, annotationSet, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## ## PanelClient -setGeneric("panelClient", function(OpencgaR, panels, members, endpointName, params=NULL, ...) +setGeneric("panelClient", function(OpencgaR, members, panels, endpointName, params=NULL, ...) standardGeneric("panelClient")) # ############################################################################## @@ -65,7 +65,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, clinicalAnalysis, clinicalAnalyses, interpretations, interpretation, annotationSet, members, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, members, interpretations, annotationSet, interpretation, clinicalAnalyses, clinicalAnalysis, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## @@ -80,7 +80,7 @@ setGeneric("metaClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## GA4GHClient -setGeneric("ga4ghClient", function(OpencgaR, study, file, endpointName, params=NULL, ...) +setGeneric("ga4ghClient", function(OpencgaR, file, study, endpointName, params=NULL, ...) standardGeneric("ga4ghClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index 32983a2b6bc..357d379bd5a 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -62,7 +62,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, clinicalAnalysis, clinicalAnalyses, interpretations, interpretation, annotationSet, members, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, members, interpretations, annotationSet, interpretation, clinicalAnalyses, clinicalAnalysis, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: @@ -217,7 +217,7 @@ setMethod("clinicalClient", "OpencgaR", function(OpencgaR, clinicalAnalysis, cli #' @param jobDescription Job description. #' @param jobDependsOn Comma separated list of existing job IDs the job will depend on. #' @param jobTags Job tags. - #' @param data Exomizer interpretation analysis params. + #' @param data Exomiser interpretation analysis params. runInterpreterExomiser=fetchOpenCGA(object=OpencgaR, category="analysis", categoryId=NULL, subcategory="clinical/interpreter/exomiser", subcategoryId=NULL, action="run", params=params, httpMethod="POST", as.queryParam=NULL, ...), diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index 6f37317a6fb..1f3a876aaa9 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, cohort, members, cohorts, annotationSet, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index 18950845d09..f38a6e85189 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +37,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, families, members, family, annotationSet, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, members, family, annotationSet, families, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index 2a108bf3c3c..f1bd5542eab 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, file, folder, annotationSet, members, files, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, members, files, file, annotationSet, folder, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index 6962ac02c5d..35dc15c1113 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -31,7 +31,7 @@ #' [*]: Required parameter #' @export -setMethod("ga4ghClient", "OpencgaR", function(OpencgaR, study, file, endpointName, params=NULL, ...) { +setMethod("ga4ghClient", "OpencgaR", function(OpencgaR, file, study, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/ga4gh/reads/search: diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index 6db8609a2e0..065c23c60a1 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, members, annotationSet, individual, individuals, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index a08f7f1cff9..8ea4cb9e9d4 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("jobClient", "OpencgaR", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) { +setMethod("jobClient", "OpencgaR", function(OpencgaR, members, jobs, job, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index e07d2af2b26..7ce863ddb61 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index 466172bd59c..2793051d9de 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Organization-methods.R b/opencga-client/src/main/R/R/Organization-methods.R index 178042aea75..6c42ae9b06b 100644 --- a/opencga-client/src/main/R/R/Organization-methods.R +++ b/opencga-client/src/main/R/R/Organization-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index a5302a2260d..9e4720691d7 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ #' [*]: Required parameter #' @export -setMethod("panelClient", "OpencgaR", function(OpencgaR, panels, members, endpointName, params=NULL, ...) { +setMethod("panelClient", "OpencgaR", function(OpencgaR, members, panels, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/panels/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index 2b1e2a13c3e..aca59165834 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -33,7 +33,7 @@ #' [*]: Required parameter #' @export -setMethod("projectClient", "OpencgaR", function(OpencgaR, project, projects, endpointName, params=NULL, ...) { +setMethod("projectClient", "OpencgaR", function(OpencgaR, projects, project, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/projects/create: diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index 14252d367ec..65871dcb8bb 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, samples, annotationSet, members, sample, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index 55a5cc88b4c..22276f49f57 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -49,7 +49,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, study, studies, variableSet, group, templateId, members, id, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, members, templateId, group, studies, study, variableSet, id, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index f074c546a88..76772b8a2d4 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("userClient", "OpencgaR", function(OpencgaR, users, user, filterId, endpointName, params=NULL, ...) { +setMethod("userClient", "OpencgaR", function(OpencgaR, users, filterId, user, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/users/anonymous: diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index 2b18e5f5063..70c435fcc6c 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-04-10 +# Autogenerated on: 2024-05-23 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index 77e825b9edb..3b43605603f 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ /** * This class contains methods for the Admin webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: admin */ public class AdminClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index 916156065b5..4d2c0d9fab4 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -49,7 +49,7 @@ /** * This class contains methods for the Alignment webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: analysis/alignment */ public class AlignmentClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index 4ad23e20b19..4bfe0704ebb 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -55,7 +55,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -64,7 +64,7 @@ /** * This class contains methods for the ClinicalAnalysis webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: analysis/clinical */ public class ClinicalAnalysisClient extends AbstractParentClient { @@ -291,7 +291,7 @@ public RestResponse runInterpreterCancerTiering(CancerTieringInterpretation /** * Run exomiser interpretation analysis. - * @param data Exomizer interpretation analysis params. + * @param data Exomiser interpretation analysis params. * @param params Map containing any of the following optional parameters. * study: Study [[organization@]project:]study where study and project can be either the ID or UUID. * jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index db3160eeb6c..0163f130151 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Cohort webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: cohorts */ public class CohortClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index 83d0ffa1175..0ca3b876bcc 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,7 +44,7 @@ /** * This class contains methods for the DiseasePanel webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: panels */ public class DiseasePanelClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 8f8bd680ffc..4f53af041e6 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,7 +44,7 @@ /** * This class contains methods for the Family webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: families */ public class FamilyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index 02e3d914f6d..687e43e6ea5 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -43,7 +43,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -52,7 +52,7 @@ /** * This class contains methods for the File webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: files */ public class FileClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index b687c3d0e47..765d86384d2 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ /** * This class contains methods for the GA4GH webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: ga4gh */ public class GA4GHClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 09e91a32ff7..939a53e5a86 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,7 +44,7 @@ /** * This class contains methods for the Individual webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: individuals */ public class IndividualClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index f6d27510706..8840fd8c7c8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Job webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: jobs */ public class JobClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index 3e77702534c..2fb1c5df290 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +37,7 @@ /** * This class contains methods for the Meta webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: meta */ public class MetaClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java index 1415aeb5605..bbc2d910bbc 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java @@ -33,7 +33,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -42,7 +42,7 @@ /** * This class contains methods for the Organization webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: organizations */ public class OrganizationClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index 4f241541143..570af443ec9 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -31,7 +31,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -40,7 +40,7 @@ /** * This class contains methods for the Project webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: projects */ public class ProjectClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index 5feb046554a..117401694cc 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,7 +44,7 @@ /** * This class contains methods for the Sample webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: samples */ public class SampleClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index a5187a4c7d8..424a5cbc509 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -47,7 +47,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -56,7 +56,7 @@ /** * This class contains methods for the Study webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: studies */ public class StudyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 71b158bca58..468dffded80 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the User webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: users */ public class UserClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index bf91b0a72df..6dc2fdb9bd8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -71,7 +71,7 @@ /** * This class contains methods for the Variant webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: analysis/variant */ public class VariantClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index b208b0332f5..52b0333e713 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-04-10 +* Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -59,7 +59,7 @@ /** * This class contains methods for the VariantOperation webservices. - * Client version: 3.1.0-SNAPSHOT + * Client version: 3.2.0-SNAPSHOT * PATH: operation */ public class VariantOperationClient extends AbstractParentClient { diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index a17bf1209e7..49ab10c86c2 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index 3b0cf840b5a..005457da0ab 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 3a2d4044b61..302b3084adc 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -214,7 +214,7 @@ export default class ClinicalAnalysis extends OpenCGAParentClass { } /** Run exomiser interpretation analysis - * @param {Object} data - Exomizer interpretation analysis params. + * @param {Object} data - Exomiser interpretation analysis params. * @param {Object} [params] - The Object containing the following optional parameters: * @param {String} [params.study] - Study [[organization@]project:]study where study and project can be either the ID or UUID. * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index e8c016fe834..e07f6c58dab 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index f9401a6090f..1a04bd3c77f 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index 1568ca19ad2..e12be40b17d 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index 3aaf33d45a4..ab7b241d600 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index 50c5f456909..eaff0099476 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index 81bc55cc81d..e1304c41a58 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index a7faefab056..ad50f4b336b 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 5f46d66682f..87fb7ba03ce 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Organization.js b/opencga-client/src/main/javascript/Organization.js index 6e96cfe293a..2b94af1924f 100644 --- a/opencga-client/src/main/javascript/Organization.js +++ b/opencga-client/src/main/javascript/Organization.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index 8728cf80482..839907f1003 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index 5687de66b71..1af15198986 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index 1d8a7d97876..0145d803d6b 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index 1b72aa833c4..de654d8761e 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 60baa0f5a0d..9bd0510f536 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index bfd6f99aa40..02f03335138 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-04-10 + * Autogenerated on: 2024-05-23 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 1f344f41988..1b5c9fdd673 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Admin(_ParentRestClient): """ This class contains methods for the 'Admin' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/admin """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index 08ba05a5b76..abdd7e41f3c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Alignment(_ParentRestClient): """ This class contains methods for the 'Analysis - Alignment' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/analysis/alignment """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index c8cf1a2e23b..edd4c870c13 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class ClinicalAnalysis(_ParentRestClient): """ This class contains methods for the 'Analysis - Clinical' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/analysis/clinical """ @@ -275,7 +275,7 @@ def run_interpreter_exomiser(self, data=None, **options): Run exomiser interpretation analysis. PATH: /{apiVersion}/analysis/clinical/interpreter/exomiser/run - :param dict data: Exomizer interpretation analysis params. (REQUIRED) + :param dict data: Exomiser interpretation analysis params. (REQUIRED) :param str study: Study [[organization@]project:]study where study and project can be either the ID or UUID. :param str job_id: Job ID. It must be a unique string within the diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index 1d37bffadd2..a93c8378fdb 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Cohort(_ParentRestClient): """ This class contains methods for the 'Cohorts' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/cohorts """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index 61d984ad048..4da214c272c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class DiseasePanel(_ParentRestClient): """ This class contains methods for the 'Disease Panels' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/panels """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index 9df67f56a94..935e447a4c7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Family(_ParentRestClient): """ This class contains methods for the 'Families' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/families """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index 881832c2eef..a370bb911cc 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class File(_ParentRestClient): """ This class contains methods for the 'Files' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/files """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index 4b66f11cf5f..c6d5a0bf458 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class GA4GH(_ParentRestClient): """ This class contains methods for the 'GA4GH' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/ga4gh """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index 5bef563d519..32f7516aed3 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Individual(_ParentRestClient): """ This class contains methods for the 'Individuals' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/individuals """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 94b4b8d27e5..6def8e09fa7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Job(_ParentRestClient): """ This class contains methods for the 'Jobs' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/jobs """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index a89eb56e683..5090a04eb23 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Meta(_ParentRestClient): """ This class contains methods for the 'Meta' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/meta """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py index 2ba35452d48..7c71bbadfed 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Organization(_ParentRestClient): """ This class contains methods for the 'Organizations' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/organizations """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index 46bc074062d..da71c68e814 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Project(_ParentRestClient): """ This class contains methods for the 'Projects' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/projects """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index 74636b383fb..df13fd02245 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Sample(_ParentRestClient): """ This class contains methods for the 'Samples' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/samples """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index 42433932e42..6b804bc9fd0 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Study(_ParentRestClient): """ This class contains methods for the 'Studies' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/studies """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index d1ebc104bd8..f7c61eb29be 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class User(_ParentRestClient): """ This class contains methods for the 'Users' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/users """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index ecc28f50daa..548eae4ff0a 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Variant(_ParentRestClient): """ This class contains methods for the 'Analysis - Variant' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/analysis/variant """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index 688badda837..a4d4d61a095 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-04-10 + Autogenerated on: 2024-05-23 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class VariantOperation(_ParentRestClient): """ This class contains methods for the 'Operations - Variant Storage' webservices - Client version: 3.1.0-SNAPSHOT + Client version: 3.2.0-SNAPSHOT PATH: /{apiVersion}/operation """ diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java index c2d7cfe4961..a506527e38f 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java @@ -523,4 +523,9 @@ public class FieldConstants { + AlignmentQcParams.FASTQC_METRICS_SKIP_VALUE; public static final String ALIGNMENT_QC_OVERWRITE_DESCRIPTION = "To overwrite the QC metrics already computed."; + // Exomiser + public static final String EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION = "Clinical analysis ID."; + public static final String EXOMISER_SAMPLE_DESCRIPTION = "Sample ID."; + public static final String EXOMISER_VERSION_DESCRIPTION = "Exomiser version."; + public static final String EXOMISER_DEFAULT_VERSION = "14.0.0"; } From d1efc049dbfa137be84e0121b9b7437a72673c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 23 May 2024 13:41:38 +0200 Subject: [PATCH 05/13] core: fix configuration file, #TASK-6297, #TASK-6255 --- opencga-core/src/main/resources/configuration.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opencga-core/src/main/resources/configuration.yml b/opencga-core/src/main/resources/configuration.yml index 82a80023f9f..75d980fc12d 100644 --- a/opencga-core/src/main/resources/configuration.yml +++ b/opencga-core/src/main/resources/configuration.yml @@ -126,8 +126,8 @@ analysis: exomiser-14.0.0: dockerId: "exomiser/exomiser-cli:14.0.0" resources: - HG38: "exomiser-14.0.0/2402_hg38.zip" - PHENOTYPE: "exomiser-14.0.0/2402_phenotype.zip" + HG38: "exomiser/2402_hg38.zip" + PHENOTYPE: "exomiser/2402_phenotype.zip" execution: # Accepted values are "local", "SGE", "azure-batch", "k8s" # see org.opencb.opencga.master.monitor.executors.ExecutorFactory From f0e47fafe735c75ec34599a1ab7dcb9e027abafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Mon, 3 Jun 2024 10:26:37 +0200 Subject: [PATCH 06/13] analysis: use the FileUtils.copyFile and rename Tool to AnalysisTool, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java modified: opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java renamed: opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java -> opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java --- .../executors/DockerWrapperAnalysisExecutor.java | 10 ++++------ .../ExomiserWrapperAnalysisExecutor.java | 9 ++++----- .../org/opencb/opencga/core/config/Analysis.java | 6 +++--- .../core/config/{Tool.java => AnalysisTool.java} | 16 +++++++--------- 4 files changed, 18 insertions(+), 23 deletions(-) rename opencga-core/src/main/java/org/opencb/opencga/core/config/{Tool.java => AnalysisTool.java} (80%) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java index d2bd9cf63dd..380e6d79bfe 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java @@ -8,7 +8,7 @@ import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.exec.Command; import org.opencb.opencga.core.common.GitRepositoryState; -import org.opencb.opencga.core.config.Tool; +import org.opencb.opencga.core.config.AnalysisTool; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.tools.OpenCgaToolExecutor; import org.slf4j.Logger; @@ -20,8 +20,6 @@ import java.io.FileOutputStream; import java.util.*; -import static org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis.EXOMISER_PREFIX; - public abstract class DockerWrapperAnalysisExecutor extends OpenCgaToolExecutor { public final static String DOCKER_INPUT_PATH = "/data/input"; @@ -43,7 +41,7 @@ public String getDockerImageVersion() { } public String getDockerImageName(String toolKey) { - for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { + for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { if (entry.getKey().equalsIgnoreCase(toolKey)) { return entry.getValue().getDockerId().split(":")[0]; } @@ -52,7 +50,7 @@ public String getDockerImageName(String toolKey) { } public String getDockerImageVersion(String toolKey) { - for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { + for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { if (entry.getKey().equalsIgnoreCase(toolKey)) { if (entry.getValue().getDockerId().contains(":")) { return entry.getValue().getDockerId().split(":")[1]; @@ -69,7 +67,7 @@ protected String getToolResource(String toolKey, String resourceKey) throws Tool if (!getConfiguration().getAnalysis().getTools().containsKey(toolKey)) { throw new ToolException("Error getting tool " + toolKey + ": it does not exist in the configuration file"); } - Tool tool = getConfiguration().getAnalysis().getTools().get(toolKey); + AnalysisTool tool = getConfiguration().getAnalysis().getTools().get(toolKey); if (!tool.getResources().containsKey(resourceKey)) { throw new ToolException("Error getting resource " + resourceKey + " of tool " + toolKey + ": it does not exist in the" + " configuration file"); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 111c3a88d49..6521cb224f8 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -1,7 +1,6 @@ package org.opencb.opencga.analysis.wrappers.exomiser; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.models.clinical.Disorder; import org.opencb.biodata.models.clinical.Phenotype; @@ -16,7 +15,6 @@ import org.opencb.opencga.analysis.wrappers.executors.DockerWrapperAnalysisExecutor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.managers.FamilyManager; -import org.opencb.opencga.core.config.Tool; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.exceptions.ToolExecutorException; import org.opencb.opencga.core.models.family.Family; @@ -35,6 +33,7 @@ import java.nio.file.Paths; import java.util.*; +import static org.opencb.commons.utils.FileUtils.copyFile; import static org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis.*; @ToolExecutor(id = ExomiserWrapperAnalysisExecutor.ID, @@ -155,7 +154,7 @@ public void run() throws ToolException { // Copy the analysis try { - FileUtils.copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_ANALYSIS_TEMPLATE_FILENAME).toFile(), + copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_ANALYSIS_TEMPLATE_FILENAME).toFile(), getOutDir().resolve(EXOMISER_ANALYSIS_TEMPLATE_FILENAME).toFile()); } catch (IOException e) { throw new ToolException("Error copying Exomiser analysis file", e); @@ -164,7 +163,7 @@ public void run() throws ToolException { // Copy the application.properties and update data according to Exomiser version try { Path target = getOutDir().resolve(EXOMISER_PROPERTIES_TEMPLATE_FILENAME); - FileUtils.copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile(), target.toFile()); + copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile(), target.toFile()); Command cmd = new Command("sed -i \"s/" + HG38_DATA_VERSION_MARK + "/" + getHg38DataVersion() + "/g\" " + target); cmd.run(); cmd = new Command("sed -i \"s/" + PHENOTYPE_DATA_VERSION_MARK + "/" + getPhenotypeDataVersion() + "/g\" " + target); @@ -175,7 +174,7 @@ public void run() throws ToolException { // Copy the output options try { - FileUtils.copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_OUTPUT_OPTIONS_FILENAME).toFile(), + copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_OUTPUT_OPTIONS_FILENAME).toFile(), getOutDir().resolve(EXOMISER_OUTPUT_OPTIONS_FILENAME).toFile()); } catch (IOException e) { throw new ToolException("Error copying Exomiser output options file", e); diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java b/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java index 53864a0037d..c0450569451 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java @@ -29,7 +29,7 @@ public class Analysis { private String resourceUrl; private String opencgaExtTools; - private Map tools; + private Map tools; private Execution execution; @@ -78,11 +78,11 @@ public Analysis setOpencgaExtTools(String opencgaExtTools) { return this; } - public Map getTools() { + public Map getTools() { return tools; } - public Analysis setTools(Map tools) { + public Analysis setTools(Map tools) { this.tools = tools; return this; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java b/opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java similarity index 80% rename from opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java rename to opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java index 11800116985..65aa7dc08be 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/config/Tool.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java @@ -16,22 +16,20 @@ package org.opencb.opencga.core.config; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; -public class Tool { +public class AnalysisTool { private String dockerId; private String params; private Map resources; - public Tool() { + public AnalysisTool() { resources = new HashMap<>(); } - public Tool(String dockerId, String params, Map resources) { + public AnalysisTool(String dockerId, String params, Map resources) { this.dockerId = dockerId; this.params = params; this.resources = resources; @@ -39,7 +37,7 @@ public Tool(String dockerId, String params, Map resources) { @Override public String toString() { - final StringBuilder sb = new StringBuilder("Tool{"); + final StringBuilder sb = new StringBuilder("AnalysisTool{"); sb.append("dockerId='").append(dockerId).append('\''); sb.append(", params='").append(params).append('\''); sb.append(", resources=").append(resources); @@ -51,7 +49,7 @@ public String getDockerId() { return dockerId; } - public Tool setDockerId(String dockerId) { + public AnalysisTool setDockerId(String dockerId) { this.dockerId = dockerId; return this; } @@ -60,7 +58,7 @@ public String getParams() { return params; } - public Tool setParams(String params) { + public AnalysisTool setParams(String params) { this.params = params; return this; } @@ -69,7 +67,7 @@ public Map getResources() { return resources; } - public Tool setResources(Map resources) { + public AnalysisTool setResources(Map resources) { this.resources = resources; return this; } From e2b001c45122ef9de0152c6314d4b99e6087794e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 5 Jun 2024 18:34:45 +0200 Subject: [PATCH 07/13] analysis: use a list of tools instead of a map in the configuration file and update code according to that, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/ConfigurationUtils.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java modified: opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java modified: opencga-catalog/src/test/resources/configuration-test.yml modified: opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java modified: opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java modified: opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java modified: opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java modified: opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java modified: opencga-core/src/main/resources/configuration.yml --- .../opencga/analysis/ConfigurationUtils.java | 38 + .../ExomiserInterpretationAnalysis.java | 5 +- .../DockerWrapperAnalysisExecutor.java | 48 +- .../exomiser/ExomiserWrapperAnalysis.java | 9 + .../ExomiserWrapperAnalysisExecutor.java | 14 +- .../ExomiserInterpretationAnalysisTest.java | 11 +- .../options/ClinicalCommandOptions.java | 6 +- .../options/VariantCommandOptions.java | 5 +- .../AnalysisClinicalCommandOptions.java | 2468 +++++++++-------- .../AnalysisVariantCommandOptions.java | 2426 ++++++++-------- .../src/test/resources/configuration-test.yml | 7 +- .../opencga/core/api/FieldConstants.java | 1 - .../opencb/opencga/core/config/Analysis.java | 8 +- .../opencga/core/config/AnalysisTool.java | 40 +- .../ExomiserInterpretationAnalysisParams.java | 4 +- .../clinical/ExomiserWrapperParams.java | 6 +- .../src/main/resources/configuration.yml | 7 +- 17 files changed, 2594 insertions(+), 2509 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/ConfigurationUtils.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/ConfigurationUtils.java index bc6e1dc674b..c494f8db7ca 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/ConfigurationUtils.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/ConfigurationUtils.java @@ -16,9 +16,13 @@ package org.opencb.opencga.analysis; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.opencb.commons.utils.FileUtils; +import org.opencb.opencga.core.config.AnalysisTool; import org.opencb.opencga.core.config.Configuration; import org.opencb.opencga.core.config.storage.StorageConfiguration; +import org.opencb.opencga.core.exceptions.ToolException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,10 +32,15 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; public class ConfigurationUtils { private static Logger logger = LoggerFactory.getLogger(ConfigurationUtils.class); + private ConfigurationUtils() { + throw new IllegalStateException("Utility class"); + } /** * This method attempts to load general configuration from OpenCGA installation folder, if not exists then loads JAR configuration.yml. * @@ -83,4 +92,33 @@ public static StorageConfiguration loadStorageConfiguration(String opencgaHome) .load(StorageConfiguration.class.getClassLoader().getResourceAsStream("storage-configuration.yml")); } } + + public static String getToolDefaultVersion(String toolId, Configuration configuration) throws ToolException { + List tools = new ArrayList<>(); + for (AnalysisTool tool : configuration.getAnalysis().getTools()) { + if (tool.getId().equals(toolId)) { + tools.add(tool); + } + } + if (CollectionUtils.isEmpty(tools)) { + throw new ToolException("Tool ID '" + toolId + "' missing in the configuration file"); + } + if (tools.size() == 1) { + return tools.get(0).getVersion(); + } + String defaultVersion = null; + for (AnalysisTool tool : tools) { + if (tool.isDefaultVersion()) { + if (!StringUtils.isEmpty(defaultVersion)) { + throw new ToolException("More than one default version found for tool ID '" + toolId + "'"); + } else { + defaultVersion = tool.getVersion(); + } + } + } + if (StringUtils.isEmpty(defaultVersion)) { + throw new ToolException("Multiple tools '" + toolId + "' were found, but none have the default version set to true"); + } + return defaultVersion; + } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java index b6dcd30fb26..0a2b4934c0c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java @@ -30,6 +30,7 @@ import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; +import org.opencb.opencga.analysis.ConfigurationUtils; import org.opencb.opencga.analysis.clinical.InterpretationAnalysis; import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis; @@ -121,8 +122,8 @@ protected void check() throws Exception { // Check exomiser version if (StringUtils.isEmpty(exomiserVersion)) { // Missing exomiser version use the default one - logger.warn("Missing exomiser version, using the default {}", FieldConstants.EXOMISER_DEFAULT_VERSION); - exomiserVersion = FieldConstants.EXOMISER_DEFAULT_VERSION; + exomiserVersion = ConfigurationUtils.getToolDefaultVersion(ExomiserWrapperAnalysis.ID, configuration); + logger.warn("Missing exomiser version, using the default {}", exomiserVersion); } // Update executor params with OpenCGA home and session ID diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java index 380e6d79bfe..486571e8f36 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java @@ -28,11 +28,11 @@ public abstract class DockerWrapperAnalysisExecutor extends OpenCgaToolExecutor public static final String STDOUT_FILENAME = "stdout.txt"; public static final String STDERR_FILENAME = "stderr.txt"; - public String getDockerImageName() { + public String getDockerImageName() throws ToolException { return getConfiguration().getAnalysis().getOpencgaExtTools().split(":")[0]; } - public String getDockerImageVersion() { + public String getDockerImageVersion() throws ToolException { if (getConfiguration().getAnalysis().getOpencgaExtTools().contains(":")) { return getConfiguration().getAnalysis().getOpencgaExtTools().split(":")[1]; } else { @@ -40,37 +40,35 @@ public String getDockerImageVersion() { } } - public String getDockerImageName(String toolKey) { - for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { - if (entry.getKey().equalsIgnoreCase(toolKey)) { - return entry.getValue().getDockerId().split(":")[0]; + protected AnalysisTool getAnalysisTool(String toolId, String version) throws ToolException { + for (AnalysisTool tool : getConfiguration().getAnalysis().getTools()) { + if (toolId.equals(tool.getId()) && version.equals(tool.getVersion())) { + return tool; } } - return null; + throw new ToolException("Missing analyis tool (ID = " + toolId + ", version = " + version + ") in configuration file"); } - public String getDockerImageVersion(String toolKey) { - for (Map.Entry entry : getConfiguration().getAnalysis().getTools().entrySet()) { - if (entry.getKey().equalsIgnoreCase(toolKey)) { - if (entry.getValue().getDockerId().contains(":")) { - return entry.getValue().getDockerId().split(":")[1]; - } else { - return null; - } - } + public String getDockerImageName(String toolId, String version) throws ToolException { + AnalysisTool tool = getAnalysisTool(toolId, version); + return tool.getDockerId().split(":")[0]; + } + + public String getDockerImageVersion(String toolId, String version) throws ToolException { + AnalysisTool tool = getAnalysisTool(toolId, version); + if (tool.getDockerId().contains(":")) { + return tool.getDockerId().split(":")[1]; + } else { + return null; } - return null; } - protected String getToolResource(String toolKey, String resourceKey) throws ToolException { + protected String getToolResource(String toolId, String version, String resourceKey) throws ToolException { // Get resources from the configuration file - if (!getConfiguration().getAnalysis().getTools().containsKey(toolKey)) { - throw new ToolException("Error getting tool " + toolKey + ": it does not exist in the configuration file"); - } - AnalysisTool tool = getConfiguration().getAnalysis().getTools().get(toolKey); + AnalysisTool tool = getAnalysisTool(toolId, version); if (!tool.getResources().containsKey(resourceKey)) { - throw new ToolException("Error getting resource " + resourceKey + " of tool " + toolKey + ": it does not exist in the" - + " configuration file"); + throw new ToolException("Error getting resource " + resourceKey + " of analysis tool (ID = " + toolId + ", version = " + + version + "): it does not exist in the configuration file"); } return tool.getResources().get(resourceKey); } @@ -118,7 +116,7 @@ protected Map appendMounts(List> inputFilen return mountMap; } - protected void appendCommand(String command, StringBuilder sb) { + protected void appendCommand(String command, StringBuilder sb) throws ToolException { // Docker image and version sb.append(getDockerImageName()); if (StringUtils.isNotEmpty(getDockerImageVersion())) { diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java index 03fb92099e2..63630a0d64d 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java @@ -17,6 +17,7 @@ package org.opencb.opencga.analysis.wrappers.exomiser; import org.apache.commons.lang3.StringUtils; +import org.opencb.opencga.analysis.ConfigurationUtils; import org.opencb.opencga.analysis.tools.OpenCgaToolScopeStudy; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.clinical.ExomiserWrapperParams; @@ -50,6 +51,13 @@ protected void check() throws Exception { throw new ToolException("Missing study"); } + // Check exomiser version + if (StringUtils.isEmpty(analysisParams.getExomiserVersion())) { + // Missing exomiser version use the default one + String exomiserVersion = ConfigurationUtils.getToolDefaultVersion(ExomiserWrapperAnalysis.ID, configuration); + logger.warn("Missing exomiser version, using the default {}", exomiserVersion); + analysisParams.setExomiserVersion(exomiserVersion); + } } @Override @@ -60,6 +68,7 @@ protected void run() throws Exception { getToolExecutor(ExomiserWrapperAnalysisExecutor.class) .setStudyId(study) .setSampleId(analysisParams.getSample()) + .setExomiserVersion(analysisParams.getExomiserVersion()) .execute(); }); } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 6521cb224f8..14753c30e59 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -438,23 +438,23 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { } private String getHg38DataVersion() throws ToolException { - String resource = getToolResource(EXOMISER_PREFIX + exomiserVersion, HG38_RESOURCE_KEY); + String resource = getToolResource(ExomiserWrapperAnalysis.ID, exomiserVersion, HG38_RESOURCE_KEY); return Paths.get(resource).getFileName().toString().split("_")[0]; } private String getPhenotypeDataVersion() throws ToolException { - String resource = getToolResource(EXOMISER_PREFIX + exomiserVersion, PHENOTYPE_RESOURCE_KEY); + String resource = getToolResource(ExomiserWrapperAnalysis.ID, exomiserVersion, PHENOTYPE_RESOURCE_KEY); return Paths.get(resource).getFileName().toString().split("_")[0]; } @Override - public String getDockerImageName() { - return getDockerImageName(EXOMISER_PREFIX + exomiserVersion); + public String getDockerImageName() throws ToolException { + return getDockerImageName(ExomiserWrapperAnalysis.ID, exomiserVersion); } @Override - public String getDockerImageVersion() { - return getDockerImageVersion(EXOMISER_PREFIX + exomiserVersion); + public String getDockerImageVersion() throws ToolException { + return getDockerImageVersion(ExomiserWrapperAnalysis.ID, exomiserVersion); } public String getStudyId() { @@ -468,7 +468,7 @@ public ExomiserWrapperAnalysisExecutor setStudyId(String studyId) { private void downloadAndUnzip(Path exomiserDataPath, String resourceKey) throws ToolException { String filename; - String resource = getToolResource(EXOMISER_PREFIX + exomiserVersion, resourceKey); + String resource = getToolResource(ExomiserWrapperAnalysis.ID, exomiserVersion, resourceKey); if (resource.startsWith("file://")) { // Copy resouce try { diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java index 7ac1012241f..c24cc6ebe41 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java @@ -31,6 +31,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeThat; +import static org.junit.Assume.assumeTrue; @Category(MediumTests.class) public class ExomiserInterpretationAnalysisTest { @@ -70,7 +71,8 @@ public void testNormalization() throws NonStandardCompliantSampleField { @Test public void singleExomiserAnalysis() throws IOException, CatalogException, ToolException { - assumeThat(Paths.get("/opt/opencga/analysis/resources/exomiser").toFile().exists(), is(true)); + String exomiserVersion = "13.1"; + assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + exomiserVersion).toFile().exists()); prepareExomiserData(); outDir = Paths.get(opencga.createTmpOutdir("_interpretation_analysis_single")); @@ -87,7 +89,7 @@ public void singleExomiserAnalysis() throws IOException, CatalogException, ToolE exomiser.setUp(opencga.getOpencgaHome().toAbsolutePath().toString(), new ObjectMap(), outDir, clinicalTest.token); exomiser.setStudyId(clinicalTest.studyFqn) .setClinicalAnalysisId(clinicalTest.CA_ID2) - .setExomiserVersion("13.1.0"); + .setExomiserVersion(exomiserVersion); ExecutionResult result = exomiser.start(); @@ -100,7 +102,8 @@ public void singleExomiserAnalysis() throws IOException, CatalogException, ToolE @Test public void familyExomiserAnalysis() throws IOException, CatalogException, ToolException { - assumeThat(Paths.get("/opt/opencga/analysis/resources/exomiser").toFile().exists(), is(true)); + String exomiserVersion = "13.1"; + assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + exomiserVersion).toFile().exists()); prepareExomiserData(); outDir = Paths.get(opencga.createTmpOutdir("_interpretation_analysis_family")); @@ -114,7 +117,7 @@ public void familyExomiserAnalysis() throws IOException, CatalogException, ToolE exomiser.setUp(opencga.getOpencgaHome().toAbsolutePath().toString(), new ObjectMap(), outDir, clinicalTest.token); exomiser.setStudyId(clinicalTest.studyFqn) .setClinicalAnalysisId(clinicalTest.CA_ID3) - .setExomiserVersion("13.1.0"); + .setExomiserVersion(exomiserVersion); ExecutionResult result = exomiser.start(); diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java index c1074f62ee9..c2bac1cd1aa 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/ClinicalCommandOptions.java @@ -13,7 +13,6 @@ import org.opencb.opencga.analysis.clinical.tiering.CancerTieringInterpretationAnalysis; import org.opencb.opencga.analysis.clinical.tiering.TieringInterpretationAnalysis; import org.opencb.opencga.analysis.clinical.zetta.ZettaInterpretationAnalysis; -import org.opencb.opencga.analysis.wrappers.exomiser.ExomiserWrapperAnalysis; import org.opencb.opencga.app.cli.GeneralCliOptions; import org.opencb.opencga.app.cli.internal.InternalCliOptionsParser; import org.opencb.opencga.core.api.ParamConstants; @@ -24,7 +23,8 @@ import static org.opencb.opencga.analysis.clinical.InterpretationAnalysis.*; import static org.opencb.opencga.analysis.variant.manager.VariantCatalogQueryUtils.*; -import static org.opencb.opencga.core.api.FieldConstants.*; +import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION; +import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_VERSION_DESCRIPTION; import static org.opencb.opencga.storage.core.variant.adaptors.VariantQueryParam.*; @Parameters(commandNames = {"clinical"}, commandDescription = "Clinical analysis commands") @@ -342,7 +342,7 @@ public class ExomiserInterpretationCommandOptions extends GeneralCliOptions.Stud public String clinicalAnalysis; @Parameter(names = {"--exomiser-version"}, description = EXOMISER_VERSION_DESCRIPTION) - public String exomiserVersion = EXOMISER_DEFAULT_VERSION; + public String exomiserVersion; @Parameter(names = {"-o", "--outdir"}, description = "Directory where output files will be saved", arity = 1) public String outdir; diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java index 4005d4a9df5..06a224bb838 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/VariantCommandOptions.java @@ -69,7 +69,8 @@ import static org.opencb.opencga.app.cli.internal.options.VariantCommandOptions.VariantSampleQueryCommandOptions.SAMPLE_QUERY_COMMAND; import static org.opencb.opencga.app.cli.internal.options.VariantCommandOptions.VariantSecondaryIndexCommandOptions.SECONDARY_INDEX_COMMAND; import static org.opencb.opencga.app.cli.internal.options.VariantCommandOptions.VariantSecondaryIndexDeleteCommandOptions.SECONDARY_INDEX_DELETE_COMMAND; -import static org.opencb.opencga.core.api.FieldConstants.*; +import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_SAMPLE_DESCRIPTION; +import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_VERSION_DESCRIPTION; import static org.opencb.opencga.core.api.ParamConstants.*; import static org.opencb.opencga.storage.app.cli.client.options.StorageVariantCommandOptions.AggregateCommandOptions.AGGREGATE_COMMAND; import static org.opencb.opencga.storage.app.cli.client.options.StorageVariantCommandOptions.AggregateCommandOptions.AGGREGATE_COMMAND_DESCRIPTION; @@ -1846,7 +1847,7 @@ public class ExomiserAnalysisCommandOptions { public String sample; @Parameter(names = {"--exomiser-version"}, description = EXOMISER_VERSION_DESCRIPTION) - public String exomiserVersion = EXOMISER_DEFAULT_VERSION; + public String exomiserVersion; @Parameter(names = {"-o", "--outdir"}, description = "Output directory.") public String outdir; diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java index 11a5501bd5f..43b5345b02b 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java @@ -14,14 +14,14 @@ /* -* WARNING: AUTOGENERATED CODE -* -* This code was generated by a tool. -* -* Manual changes to this file may cause unexpected behavior in your application. -* Manual changes to this file will be overwritten if the code is regenerated. -* -*/ + * WARNING: AUTOGENERATED CODE + * + * This code was generated by a tool. + * + * Manual changes to this file may cause unexpected behavior in your application. + * Manual changes to this file will be overwritten if the code is regenerated. + * + */ /** * This class contains methods for the Analysis - Clinical command line. @@ -30,48 +30,48 @@ @Parameters(commandNames = {"clinical"}, commandDescription = "Analysis - Clinical commands") public class AnalysisClinicalCommandOptions { - public JCommander jCommander; - public CommonCommandOptions commonCommandOptions; - - public UpdateAclCommandOptions updateAclCommandOptions; - public LoadAnnotationSetsCommandOptions loadAnnotationSetsCommandOptions; - public UpdateClinicalConfigurationCommandOptions updateClinicalConfigurationCommandOptions; - public CreateCommandOptions createCommandOptions; - public DistinctCommandOptions distinctCommandOptions; - public DistinctInterpretationCommandOptions distinctInterpretationCommandOptions; - public SearchInterpretationCommandOptions searchInterpretationCommandOptions; - public InfoInterpretationCommandOptions infoInterpretationCommandOptions; - public RunInterpreterCancerTieringCommandOptions runInterpreterCancerTieringCommandOptions; - public RunInterpreterExomiserCommandOptions runInterpreterExomiserCommandOptions; - public RunInterpreterTeamCommandOptions runInterpreterTeamCommandOptions; - public RunInterpreterTieringCommandOptions runInterpreterTieringCommandOptions; - public RunInterpreterZettaCommandOptions runInterpreterZettaCommandOptions; - public LoadCommandOptions loadCommandOptions; - public AggregationStatsRgaCommandOptions aggregationStatsRgaCommandOptions; - public QueryRgaGeneCommandOptions queryRgaGeneCommandOptions; - public SummaryRgaGeneCommandOptions summaryRgaGeneCommandOptions; - public RunRgaIndexCommandOptions runRgaIndexCommandOptions; - public QueryRgaIndividualCommandOptions queryRgaIndividualCommandOptions; - public SummaryRgaIndividualCommandOptions summaryRgaIndividualCommandOptions; - public QueryRgaVariantCommandOptions queryRgaVariantCommandOptions; - public SummaryRgaVariantCommandOptions summaryRgaVariantCommandOptions; - public SearchCommandOptions searchCommandOptions; - public QueryVariantCommandOptions queryVariantCommandOptions; - public AclCommandOptions aclCommandOptions; - public DeleteCommandOptions deleteCommandOptions; - public UpdateCommandOptions updateCommandOptions; - public UpdateAnnotationSetsAnnotationsCommandOptions updateAnnotationSetsAnnotationsCommandOptions; - public InfoCommandOptions infoCommandOptions; - public CreateInterpretationCommandOptions createInterpretationCommandOptions; - public ClearInterpretationCommandOptions clearInterpretationCommandOptions; - public DeleteInterpretationCommandOptions deleteInterpretationCommandOptions; - public RevertInterpretationCommandOptions revertInterpretationCommandOptions; - public UpdateInterpretationCommandOptions updateInterpretationCommandOptions; - public UpdateReportCommandOptions updateReportCommandOptions; + public JCommander jCommander; + public CommonCommandOptions commonCommandOptions; + + public UpdateAclCommandOptions updateAclCommandOptions; + public LoadAnnotationSetsCommandOptions loadAnnotationSetsCommandOptions; + public UpdateClinicalConfigurationCommandOptions updateClinicalConfigurationCommandOptions; + public CreateCommandOptions createCommandOptions; + public DistinctCommandOptions distinctCommandOptions; + public DistinctInterpretationCommandOptions distinctInterpretationCommandOptions; + public SearchInterpretationCommandOptions searchInterpretationCommandOptions; + public InfoInterpretationCommandOptions infoInterpretationCommandOptions; + public RunInterpreterCancerTieringCommandOptions runInterpreterCancerTieringCommandOptions; + public RunInterpreterExomiserCommandOptions runInterpreterExomiserCommandOptions; + public RunInterpreterTeamCommandOptions runInterpreterTeamCommandOptions; + public RunInterpreterTieringCommandOptions runInterpreterTieringCommandOptions; + public RunInterpreterZettaCommandOptions runInterpreterZettaCommandOptions; + public LoadCommandOptions loadCommandOptions; + public AggregationStatsRgaCommandOptions aggregationStatsRgaCommandOptions; + public QueryRgaGeneCommandOptions queryRgaGeneCommandOptions; + public SummaryRgaGeneCommandOptions summaryRgaGeneCommandOptions; + public RunRgaIndexCommandOptions runRgaIndexCommandOptions; + public QueryRgaIndividualCommandOptions queryRgaIndividualCommandOptions; + public SummaryRgaIndividualCommandOptions summaryRgaIndividualCommandOptions; + public QueryRgaVariantCommandOptions queryRgaVariantCommandOptions; + public SummaryRgaVariantCommandOptions summaryRgaVariantCommandOptions; + public SearchCommandOptions searchCommandOptions; + public QueryVariantCommandOptions queryVariantCommandOptions; + public AclCommandOptions aclCommandOptions; + public DeleteCommandOptions deleteCommandOptions; + public UpdateCommandOptions updateCommandOptions; + public UpdateAnnotationSetsAnnotationsCommandOptions updateAnnotationSetsAnnotationsCommandOptions; + public InfoCommandOptions infoCommandOptions; + public CreateInterpretationCommandOptions createInterpretationCommandOptions; + public ClearInterpretationCommandOptions clearInterpretationCommandOptions; + public DeleteInterpretationCommandOptions deleteInterpretationCommandOptions; + public RevertInterpretationCommandOptions revertInterpretationCommandOptions; + public UpdateInterpretationCommandOptions updateInterpretationCommandOptions; + public UpdateReportCommandOptions updateReportCommandOptions; public AnalysisClinicalCommandOptions(CommonCommandOptions commonCommandOptions, JCommander jCommander) { - + this.jCommander = jCommander; this.commonCommandOptions = commonCommandOptions; this.updateAclCommandOptions = new UpdateAclCommandOptions(); @@ -109,2267 +109,2269 @@ public AnalysisClinicalCommandOptions(CommonCommandOptions commonCommandOptions, this.revertInterpretationCommandOptions = new RevertInterpretationCommandOptions(); this.updateInterpretationCommandOptions = new UpdateInterpretationCommandOptions(); this.updateReportCommandOptions = new UpdateReportCommandOptions(); - + } - + @Parameters(commandNames = {"acl-update"}, commandDescription ="Update the set of permissions granted for the member") public class UpdateAclCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--members"}, description = "Comma separated list of user or group IDs", required = true, arity = 1) - public String members; - + public String members; + @Parameter(names = {"--action"}, description = "Action to be performed [ADD, SET, REMOVE or RESET].", required = true, arity = 1) - public String action = "ADD"; - + public String action = "ADD"; + @Parameter(names = {"--propagate"}, description = "Propagate permissions to related families, individuals, samples and files", required = false, help = true, arity = 0) - public boolean propagate = false; - + public boolean propagate = false; + @Parameter(names = {"--permissions"}, description = "The body web service permissions parameter", required = true, arity = 1) public String permissions; - + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + } @Parameters(commandNames = {"annotation-sets-load"}, commandDescription ="Load annotation sets from a TSV file") public class LoadAnnotationSetsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--variable-set-id"}, description = "Variable set ID or name", required = true, arity = 1) - public String variableSetId; - + public String variableSetId; + @Parameter(names = {"--path"}, description = "Path where the TSV file is located in OpenCGA or where it should be located.", required = true, arity = 1) - public String path; - + public String path; + @Parameter(names = {"--parents"}, description = "Flag indicating whether to create parent directories if they don't exist (only when TSV file was not previously associated).", required = false, help = true, arity = 0) - public boolean parents = false; - + public boolean parents = false; + @Parameter(names = {"--annotation-set-id"}, description = "Annotation set id. If not provided, variableSetId will be used.", required = false, arity = 1) - public String annotationSetId; - + public String annotationSetId; + @Parameter(names = {"--content"}, description = "The body web service content parameter", required = false, arity = 1) public String content; - + } @Parameters(commandNames = {"clinical-configuration-update"}, commandDescription ="Update Clinical Analysis configuration.") public class UpdateClinicalConfigurationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @DynamicParameter(names = {"--interpretation-default-filter"}, description = "The body web service defaultFilter parameter. Use: --interpretation-default-filter key=value", required = false) public java.util.Map interpretationDefaultFilter = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"create"}, commandDescription ="Create a new clinical analysis") public class CreateCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--skip-create-default-interpretation"}, description = "Flag to skip creating and initialise an empty default primary interpretation (Id will be '{clinicalAnalysisId}.1'). This flag is only considered if no Interpretation object is passed.", required = false, help = true, arity = 0) - public boolean skipCreateDefaultInterpretation = false; - + public boolean skipCreateDefaultInterpretation = false; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = true, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--type"}, description = "Enum param allowed values: SINGLE, FAMILY, CANCER, COHORT, AUTOCOMPARATIVE", required = false, arity = 1) public String type; - + @Parameter(names = {"--disorder-id"}, description = "The body web service id parameter", required = false, arity = 1) public String disorderId; - + @Parameter(names = {"--proband-id"}, description = "The body web service id parameter", required = false, arity = 1) public String probandId; - + @Parameter(names = {"--family-id"}, description = "The body web service id parameter", required = false, arity = 1) public String familyId; - + @Parameter(names = {"--panel-lock"}, description = "The body web service panelLock parameter", required = false, arity = 1) public Boolean panelLock; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--report-title"}, description = "Report title.", required = false, arity = 1) public String reportTitle; - + @Parameter(names = {"--report-overview"}, description = "Report overview.", required = false, arity = 1) public String reportOverview; - + @Parameter(names = {"--report-logo"}, description = "Report logo.", required = false, arity = 1) public String reportLogo; - + @Parameter(names = {"--report-signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) public String reportSignedBy; - + @Parameter(names = {"--report-signature"}, description = "Report signature.", required = false, arity = 1) public String reportSignature; - + @Parameter(names = {"--report-date"}, description = "Report date.", required = false, arity = 1) public String reportDate; - + @Parameter(names = {"--request-id"}, description = "The body web service id parameter", required = false, arity = 1) public String requestId; - + @Parameter(names = {"--request-justification"}, description = "The body web service justification parameter", required = false, arity = 1) public String requestJustification; - + @Parameter(names = {"--request-date"}, description = "The body web service date parameter", required = false, arity = 1) public String requestDate; - + @DynamicParameter(names = {"--request-attributes"}, description = "The body web service attributes parameter. Use: --request-attributes key=value", required = false) public java.util.Map requestAttributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--responsible-id"}, description = "The body web service id parameter", required = false, arity = 1) public String responsibleId; - + @Parameter(names = {"--responsible-name"}, description = "The body web service name parameter", required = false, arity = 1) public String responsibleName; - + @Parameter(names = {"--responsible-email"}, description = "The body web service email parameter", required = false, arity = 1) public String responsibleEmail; - + @Parameter(names = {"--responsible-organization"}, description = "The body web service organization parameter", required = false, arity = 1) public String responsibleOrganization; - + @Parameter(names = {"--responsible-department"}, description = "The body web service department parameter", required = false, arity = 1) public String responsibleDepartment; - + @Parameter(names = {"--responsible-address"}, description = "The body web service address parameter", required = false, arity = 1) public String responsibleAddress; - + @Parameter(names = {"--responsible-city"}, description = "The body web service city parameter", required = false, arity = 1) public String responsibleCity; - + @Parameter(names = {"--responsible-postcode"}, description = "The body web service postcode parameter", required = false, arity = 1) public String responsiblePostcode; - + @Parameter(names = {"--interpretation-description"}, description = "The body web service description parameter", required = false, arity = 1) public String interpretationDescription; - + @Parameter(names = {"--interpretation-clinical-analysis-id"}, description = "The body web service clinicalAnalysisId parameter", required = false, arity = 1) public String interpretationClinicalAnalysisId; - + @Parameter(names = {"--interpretation-creation-date"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String interpretationCreationDate; - + @Parameter(names = {"--interpretation-modification-date"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String interpretationModificationDate; - + @Parameter(names = {"--interpretation-locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean interpretationLocked; - + @DynamicParameter(names = {"--interpretation-attributes"}, description = "The body web service attributes parameter. Use: --interpretation-attributes key=value", required = false) public java.util.Map interpretationAttributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--quality-control-summary"}, description = "Enum param allowed values: HIGH, MEDIUM, LOW, DISCARD, NEEDS_REVIEW, UNKNOWN", required = false, arity = 1) public String qualityControlSummary; - + @Parameter(names = {"--quality-control-comments"}, description = "The body web service comments parameter", required = false, arity = 1) public String qualityControlComments; - + @Parameter(names = {"--quality-control-files"}, description = "The body web service files parameter", required = false, arity = 1) public String qualityControlFiles; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--due-date"}, description = "The body web service dueDate parameter", required = false, arity = 1) public String dueDate; - + @Parameter(names = {"--priority-id"}, description = "The body web service id parameter", required = false, arity = 1) public String priorityId; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + } @Parameters(commandNames = {"distinct"}, commandDescription ="Clinical Analysis distinct method") public class DistinctCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Clinical Analysis IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Clinical Analysis UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--type"}, description = "Clinical Analysis type", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--disorder"}, description = "Clinical Analysis disorder. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String disorder; - + public String disorder; + @Parameter(names = {"--files"}, description = "Clinical Analysis files", required = false, arity = 1) - public String files; - + public String files; + @Parameter(names = {"--sample"}, description = "Sample associated to the proband or any member of a family", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--individual"}, description = "Proband or any member of a family", required = false, arity = 1) - public String individual; - + public String individual; + @Parameter(names = {"--proband"}, description = "Clinical Analysis proband", required = false, arity = 1) - public String proband; - + public String proband; + @Parameter(names = {"--proband-samples"}, description = "Clinical Analysis proband samples", required = false, arity = 1) - public String probandSamples; - + public String probandSamples; + @Parameter(names = {"--family"}, description = "Clinical Analysis family", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-members"}, description = "Clinical Analysis family members", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-member-samples"}, description = "Clinical Analysis family members samples", required = false, arity = 1) - public String familyMemberSamples; - + public String familyMemberSamples; + @Parameter(names = {"--panels"}, description = "Clinical Analysis panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--locked"}, description = "Locked Clinical Analyses", required = false, arity = 1) - public Boolean locked; - + public Boolean locked; + @Parameter(names = {"--analyst-id"}, description = "Clinical Analysis analyst id", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--priority"}, description = "Clinical Analysis priority", required = false, arity = 1) - public String priority; - + public String priority; + @Parameter(names = {"--flags"}, description = "Clinical Analysis flags", required = false, arity = 1) - public String flags; - + public String flags; + @Parameter(names = {"--creation-date", "--cd"}, description = "Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--due-date"}, description = "Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String dueDate; - + public String dueDate; + @Parameter(names = {"--quality-control-summary"}, description = "Clinical Analysis quality control summary", required = false, arity = 1) - public String qualityControlSummary; - + public String qualityControlSummary; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--annotation"}, description = "Annotation filters. Example: age>30;gender=FEMALE. For more information, please visit http://docs.opencb.org/display/opencga/AnnotationSets+1.4.0", required = false, arity = 1) - public String annotation; - + public String annotation; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + @Parameter(names = {"--field"}, description = "Comma separated list of fields for which to obtain the distinct values", required = true, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"interpretation-distinct"}, commandDescription ="Interpretation distinct method") public class DistinctInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Interpretation IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Interpretation UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--clinical-analysis-id"}, description = "Clinical Analysis id", required = false, arity = 1) - public String clinicalAnalysisId; - + public String clinicalAnalysisId; + @Parameter(names = {"--analyst-id"}, description = "Analyst ID", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--method-name"}, description = "Interpretation method name. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String methodName; - + public String methodName; + @Parameter(names = {"--panels"}, description = "Interpretation panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--primary-findings"}, description = "Interpretation primary findings", required = false, arity = 1) - public String primaryFindings; - + public String primaryFindings; + @Parameter(names = {"--secondary-findings"}, description = "Interpretation secondary findings", required = false, arity = 1) - public String secondaryFindings; - + public String secondaryFindings; + @Parameter(names = {"--creation-date", "--cd"}, description = "Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + @Parameter(names = {"--field"}, description = "Comma separated list of fields for which to obtain the distinct values", required = true, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"interpretation-search"}, commandDescription ="Search clinical interpretations") public class SearchInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--sort"}, description = "Sort the results", required = false, help = true, arity = 0) - public boolean sort = false; - + public boolean sort = false; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Interpretation IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Interpretation UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--clinical-analysis-id"}, description = "Clinical Analysis id", required = false, arity = 1) - public String clinicalAnalysisId; - + public String clinicalAnalysisId; + @Parameter(names = {"--analyst-id"}, description = "Analyst ID", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--method-name"}, description = "Interpretation method name. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String methodName; - + public String methodName; + @Parameter(names = {"--panels"}, description = "Interpretation panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--primary-findings"}, description = "Interpretation primary findings", required = false, arity = 1) - public String primaryFindings; - + public String primaryFindings; + @Parameter(names = {"--secondary-findings"}, description = "Interpretation secondary findings", required = false, arity = 1) - public String secondaryFindings; - + public String secondaryFindings; + @Parameter(names = {"--creation-date", "--cd"}, description = "Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + } @Parameters(commandNames = {"interpretation-info"}, commandDescription ="Clinical interpretation information") public class InfoInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--interpretations"}, description = "Comma separated list of clinical interpretation IDs up to a maximum of 100", required = true, arity = 1) - public String interpretations; - + public String interpretations; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--version"}, description = "Comma separated list of interpretation versions. 'all' to get all the interpretation versions. Not supported if multiple interpretation ids are provided.", required = false, arity = 1) - public String version; - + public String version; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + } @Parameters(commandNames = {"interpreter-cancer-tiering-run"}, commandDescription ="Run cancer tiering interpretation analysis") public class RunInterpreterCancerTieringCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--discarded-variants"}, description = "The body web service discardedVariants parameter", required = false, arity = 1) public String discardedVariants; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"interpreter-exomiser-run"}, commandDescription ="Run exomiser interpretation analysis") public class RunInterpreterExomiserCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - - @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - - @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - - @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - - @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - - @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID.", required = false, arity = 1) + public String study; + + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated" + + " automatically if not provided.", arity = 1) + public String jobId; + + @Parameter(names = {"--job-description"}, description = "Job description", arity = 1) + public String jobDescription; + + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", + arity = 1) + public String jobDependsOn; + + @Parameter(names = {"--job-tags"}, description = "Job tags", arity = 1) + public String jobTags; + + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID.", required = true, arity = 1) public String clinicalAnalysis; - - @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", required = false, arity = 1) - public String exomiserVersion = "14.0.0"; - + + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", arity = 1) + public String exomiserVersion; + } @Parameters(commandNames = {"interpreter-team-run"}, commandDescription ="Run TEAM interpretation analysis") public class RunInterpreterTeamCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--panels"}, description = "The body web service panels parameter", required = false, arity = 1) public String panels; - + @Parameter(names = {"--family-segregation"}, description = "The body web service familySegregation parameter", required = false, arity = 1) public String familySegregation; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"interpreter-tiering-run"}, commandDescription ="Run tiering interpretation analysis") public class RunInterpreterTieringCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--panels"}, description = "The body web service panels parameter", required = false, arity = 1) public String panels; - + @Parameter(names = {"--penetrance"}, description = "The body web service penetrance parameter", required = false, arity = 1) public String penetrance; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"interpreter-zetta-run"}, commandDescription ="Run Zetta interpretation analysis") public class RunInterpreterZettaCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--type"}, description = "The body web service type parameter", required = false, arity = 1) public String type; - + @Parameter(names = {"--body_study"}, description = "The body web service study parameter", required = false, arity = 1) public String bodyStudy; - + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + @Parameter(names = {"--filter"}, description = "The body web service filter parameter", required = false, arity = 1) public String filter; - + @Parameter(names = {"--qual"}, description = "The body web service qual parameter", required = false, arity = 1) public String qual; - + @Parameter(names = {"--file-data"}, description = "The body web service fileData parameter", required = false, arity = 1) public String fileData; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--sample-data"}, description = "The body web service sampleData parameter", required = false, arity = 1) public String sampleData; - + @Parameter(names = {"--sample-annotation"}, description = "The body web service sampleAnnotation parameter", required = false, arity = 1) public String sampleAnnotation; - + @Parameter(names = {"--sample-metadata"}, description = "The body web service sampleMetadata parameter", required = false, arity = 1) public String sampleMetadata; - + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String cohortStatsRef; - + @Parameter(names = {"--cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String cohortStatsAlt; - + @Parameter(names = {"--cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String cohortStatsMaf; - + @Parameter(names = {"--cohort-stats-mgf"}, description = "The body web service cohortStatsMgf parameter", required = false, arity = 1) public String cohortStatsMgf; - + @Parameter(names = {"--cohort-stats-pass"}, description = "The body web service cohortStatsPass parameter", required = false, arity = 1) public String cohortStatsPass; - + @Parameter(names = {"--score"}, description = "The body web service score parameter", required = false, arity = 1) public String score; - + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--family-disorder"}, description = "The body web service familyDisorder parameter", required = false, arity = 1) public String familyDisorder; - + @Parameter(names = {"--family-segregation"}, description = "The body web service familySegregation parameter", required = false, arity = 1) public String familySegregation; - + @Parameter(names = {"--family-members"}, description = "The body web service familyMembers parameter", required = false, arity = 1) public String familyMembers; - + @Parameter(names = {"--family-proband"}, description = "The body web service familyProband parameter", required = false, arity = 1) public String familyProband; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String ct; - + @Parameter(names = {"--xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String xref; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String proteinSubstitution; - + @Parameter(names = {"--conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String conservation; - + @Parameter(names = {"--population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String populationFrequencyAlt; - + @Parameter(names = {"--population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String populationFrequencyRef; - + @Parameter(names = {"--population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String populationFrequencyMaf; - + @Parameter(names = {"--transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String transcriptFlag; - + @Parameter(names = {"--gene-trait-id"}, description = "The body web service geneTraitId parameter", required = false, arity = 1) public String geneTraitId; - + @Parameter(names = {"--go"}, description = "The body web service go parameter", required = false, arity = 1) public String go; - + @Parameter(names = {"--expression"}, description = "The body web service expression parameter", required = false, arity = 1) public String expression; - + @Parameter(names = {"--protein-keyword"}, description = "The body web service proteinKeyword parameter", required = false, arity = 1) public String proteinKeyword; - + @Parameter(names = {"--drug"}, description = "The body web service drug parameter", required = false, arity = 1) public String drug; - + @Parameter(names = {"--functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String functionalScore; - + @Parameter(names = {"--clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String clinical; - + @Parameter(names = {"--clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String clinicalSignificance; - + @Parameter(names = {"--clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean clinicalConfirmedStatus = false; - + @Parameter(names = {"--custom-annotation"}, description = "The body web service customAnnotation parameter", required = false, arity = 1) public String customAnnotation; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String panelModeOfInheritance; - + @Parameter(names = {"--panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String panelConfidence; - + @Parameter(names = {"--panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String panelRoleInCancer; - + @Parameter(names = {"--trait"}, description = "The body web service trait parameter", required = false, arity = 1) public String trait; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"load"}, commandDescription ="Load clinical analyses from a file") public class LoadCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + } @Parameters(commandNames = {"rga-aggregation-stats"}, commandDescription ="RGA aggregation stats") public class AggregationStatsRgaCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--field"}, description = "List of fields separated by semicolons, e.g.: clinicalSignificances;type. For nested fields use >>, e.g.: type>>clinicalSignificances;knockoutType", required = true, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"rga-gene-query"}, commandDescription ="Query gene RGA") public class QueryRgaGeneCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--include-individual"}, description = "Include only the comma separated list of individuals to the response", required = false, arity = 1) - public String includeIndividual; - + public String includeIndividual; + @Parameter(names = {"--skip-individual"}, description = "Number of individuals to skip", required = false, arity = 1) - public Integer skipIndividual; - + public Integer skipIndividual; + @Parameter(names = {"--limit-individual"}, description = "Limit number of individuals returned (default: 1000)", required = false, arity = 1) - public Integer limitIndividual; - + public Integer limitIndividual; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-gene-summary"}, commandDescription ="RGA gene summary stats") public class SummaryRgaGeneCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-index-run"}, commandDescription ="Generate Recessive Gene Analysis secondary index") public class RunRgaIndexCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--auxiliar-index"}, description = "Index auxiliar collection to improve performance assuming RGA is completely indexed.", required = false, help = true, arity = 0) - public boolean auxiliarIndex = false; - + public boolean auxiliarIndex = false; + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + } @Parameters(commandNames = {"rga-individual-query"}, commandDescription ="Query individual RGA") public class QueryRgaIndividualCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-individual-summary"}, commandDescription ="RGA individual summary stats") public class SummaryRgaIndividualCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-variant-query"}, commandDescription ="Query variant RGA") public class QueryRgaVariantCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--include-individual"}, description = "Include only the comma separated list of individuals to the response", required = false, arity = 1) - public String includeIndividual; - + public String includeIndividual; + @Parameter(names = {"--skip-individual"}, description = "Number of individuals to skip", required = false, arity = 1) - public Integer skipIndividual; - + public Integer skipIndividual; + @Parameter(names = {"--limit-individual"}, description = "Limit number of individuals returned (default: 1000)", required = false, arity = 1) - public Integer limitIndividual; - + public Integer limitIndividual; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-variant-summary"}, commandDescription ="RGA variant summary stats") public class SummaryRgaVariantCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"search"}, commandDescription ="Clinical analysis search.") public class SearchCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--flatten-annotations"}, description = "Flatten the annotations?", required = false, help = true, arity = 0) - public boolean flattenAnnotations = false; - + public boolean flattenAnnotations = false; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Clinical Analysis IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Clinical Analysis UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--type"}, description = "Clinical Analysis type", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--disorder"}, description = "Clinical Analysis disorder. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String disorder; - + public String disorder; + @Parameter(names = {"--files"}, description = "Clinical Analysis files", required = false, arity = 1) - public String files; - + public String files; + @Parameter(names = {"--sample"}, description = "Sample associated to the proband or any member of a family", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--individual"}, description = "Proband or any member of a family", required = false, arity = 1) - public String individual; - + public String individual; + @Parameter(names = {"--proband"}, description = "Clinical Analysis proband", required = false, arity = 1) - public String proband; - + public String proband; + @Parameter(names = {"--proband-samples"}, description = "Clinical Analysis proband samples", required = false, arity = 1) - public String probandSamples; - + public String probandSamples; + @Parameter(names = {"--family"}, description = "Clinical Analysis family", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-members"}, description = "Clinical Analysis family members", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-member-samples"}, description = "Clinical Analysis family members samples", required = false, arity = 1) - public String familyMemberSamples; - + public String familyMemberSamples; + @Parameter(names = {"--panels"}, description = "Clinical Analysis panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--locked"}, description = "Locked Clinical Analyses", required = false, arity = 1) - public Boolean locked; - + public Boolean locked; + @Parameter(names = {"--analyst-id"}, description = "Clinical Analysis analyst id", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--priority"}, description = "Clinical Analysis priority", required = false, arity = 1) - public String priority; - + public String priority; + @Parameter(names = {"--flags"}, description = "Clinical Analysis flags", required = false, arity = 1) - public String flags; - + public String flags; + @Parameter(names = {"--creation-date", "--cd"}, description = "Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--due-date"}, description = "Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String dueDate; - + public String dueDate; + @Parameter(names = {"--quality-control-summary"}, description = "Clinical Analysis quality control summary", required = false, arity = 1) - public String qualityControlSummary; - + public String qualityControlSummary; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--annotation"}, description = "Annotation filters. Example: age>30;gender=FEMALE. For more information, please visit http://docs.opencb.org/display/opencga/AnnotationSets+1.4.0", required = false, arity = 1) - public String annotation; - + public String annotation; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + } @Parameters(commandNames = {"variant-query"}, commandDescription ="Fetch clinical variants") public class QueryVariantCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--approximate-count"}, description = "Get an approximate count, instead of an exact total count. Reduces execution time", required = false, help = true, arity = 0) - public boolean approximateCount = false; - + public boolean approximateCount = false; + @Parameter(names = {"--approximate-count-sampling-size"}, description = "Sampling size to get the approximate count. Larger values increase accuracy but also increase execution time", required = false, arity = 1) - public Integer approximateCountSamplingSize; - + public Integer approximateCountSamplingSize; + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--include-interpretation"}, description = "Interpretation ID to include the fields related to this interpretation", required = false, arity = 1) - public String includeInterpretation; - + public String includeInterpretation; + @Parameter(names = {"--id"}, description = "List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. rs116600158,19:7177679:C:T", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--qual"}, description = "Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4", required = false, arity = 1) - public String qual; - + public String qual; + @Parameter(names = {"--file-data"}, description = "Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from 'file' filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP", required = false, arity = 1) - public String fileData; - + public String fileData; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--sample-data"}, description = "Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will use all samples from 'sample' or 'genotype' filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10", required = false, arity = 1) - public String sampleData; - + public String sampleData; + @Parameter(names = {"--sample-annotation"}, description = "Selects some samples using metadata information from Catalog. e.g. age>20;phenotype=hpo:123,hpo:456;name=smith", required = false, arity = 1) - public String sampleAnnotation; - + public String sampleAnnotation; + @Parameter(names = {"--cohort"}, description = "Select variants with calculated stats for the selected cohorts", required = false, arity = 1) - public String cohort; - + public String cohort; + @Parameter(names = {"--cohort-stats-ref"}, description = "Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsRef; - + public String cohortStatsRef; + @Parameter(names = {"--cohort-stats-alt"}, description = "Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsAlt; - + public String cohortStatsAlt; + @Parameter(names = {"--cohort-stats-maf"}, description = "Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMaf; - + public String cohortStatsMaf; + @Parameter(names = {"--cohort-stats-mgf"}, description = "Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMgf; - + public String cohortStatsMgf; + @Parameter(names = {"--cohort-stats-pass"}, description = "Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8", required = false, arity = 1) - public String cohortStatsPass; - + public String cohortStatsPass; + @Parameter(names = {"--missing-alleles"}, description = "Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingAlleles; - + public String missingAlleles; + @Parameter(names = {"--missing-genotypes"}, description = "Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingGenotypes; - + public String missingGenotypes; + @Parameter(names = {"--score"}, description = "Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}", required = false, arity = 1) - public String score; - + public String score; + @Parameter(names = {"--family"}, description = "Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT)", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-disorder"}, description = "Specify the disorder to use for the family segregation", required = false, arity = 1) - public String familyDisorder; - + public String familyDisorder; + @Parameter(names = {"--family-segregation"}, description = "Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String familySegregation; - + public String familySegregation; + @Parameter(names = {"--family-members"}, description = "Sub set of the members of a given family", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-proband"}, description = "Specify the proband child to use for the family segregation", required = false, arity = 1) - public String familyProband; - + public String familyProband; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--xref"}, description = "List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ...", required = false, arity = 1) - public String xref; - + public String xref; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--protein-substitution"}, description = "Protein substitution scores include SIFT and PolyPhen. You can query using the score {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant", required = false, arity = 1) - public String proteinSubstitution; - + public String proteinSubstitution; + @Parameter(names = {"--conservation"}, description = "Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1", required = false, arity = 1) - public String conservation; - + public String conservation; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--population-frequency-ref"}, description = "Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyRef; - + public String populationFrequencyRef; + @Parameter(names = {"--population-frequency-maf"}, description = "Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyMaf; - + public String populationFrequencyMaf; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--gene-trait-id"}, description = "List of gene trait association id. e.g. 'umls:C0007222' , 'OMIM:269600'", required = false, arity = 1) - public String geneTraitId; - + public String geneTraitId; + @Parameter(names = {"--go"}, description = "List of GO (Gene Ontology) terms. e.g. 'GO:0002020'", required = false, arity = 1) - public String go; - + public String go; + @Parameter(names = {"--expression"}, description = "List of tissues of interest. e.g. 'lung'", required = false, arity = 1) - public String expression; - + public String expression; + @Parameter(names = {"--protein-keyword"}, description = "List of Uniprot protein variant annotation keywords", required = false, arity = 1) - public String proteinKeyword; - + public String proteinKeyword; + @Parameter(names = {"--drug"}, description = "List of drug names", required = false, arity = 1) - public String drug; - + public String drug; + @Parameter(names = {"--functional-score"}, description = "Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3", required = false, arity = 1) - public String functionalScore; - + public String functionalScore; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--custom-annotation"}, description = "Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}", required = false, arity = 1) - public String customAnnotation; - + public String customAnnotation; + @Parameter(names = {"--panel"}, description = "Filter by genes from the given disease panel", required = false, arity = 1) - public String panel; - + public String panel; + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "Filter genes from specific panels that match certain mode of inheritance. Accepted values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String panelModeOfInheritance; - + public String panelModeOfInheritance; + @Parameter(names = {"--panel-confidence"}, description = "Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low, rejected ]", required = false, arity = 1) - public String panelConfidence; - + public String panelConfidence; + @Parameter(names = {"--panel-role-in-cancer"}, description = "Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene, tumorSuppressorGene, fusion ]", required = false, arity = 1) - public String panelRoleInCancer; - + public String panelRoleInCancer; + @Parameter(names = {"--panel-feature-type"}, description = "Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ]", required = false, arity = 1) - public String panelFeatureType; - + public String panelFeatureType; + @Parameter(names = {"--panel-intersection"}, description = "Intersect panel genes and regions with given genes and regions from que input query. This will prevent returning variants from regions out of the panel.", required = false, help = true, arity = 0) - public boolean panelIntersection = false; - + public boolean panelIntersection = false; + @Parameter(names = {"--trait"}, description = "List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...", required = false, arity = 1) - public String trait; - + public String trait; + } @Parameters(commandNames = {"acl"}, commandDescription ="Returns the acl of the clinical analyses. If member is provided, it will only return the acl for the member.") public class AclCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--clinical-analyses"}, description = "Comma separated list of clinical analysis IDs or names up to a maximum of 100", required = true, arity = 1) - public String clinicalAnalyses; - + public String clinicalAnalyses; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--member"}, description = "User or group ID", required = false, arity = 1) - public String member; - + public String member; + @Parameter(names = {"--silent"}, description = "Boolean to retrieve all possible entries that are queried for, false to raise an exception whenever one of the entries looked for cannot be shown for whichever reason", required = false, help = true, arity = 0) - public boolean silent = false; - + public boolean silent = false; + } @Parameters(commandNames = {"delete"}, commandDescription ="Delete clinical analyses") public class DeleteCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--force"}, description = "Force deletion if the ClinicalAnalysis contains interpretations or is locked", required = false, help = true, arity = 0) - public boolean force = false; - + public boolean force = false; + @Parameter(names = {"--clinical-analyses"}, description = "Comma separated list of clinical analysis IDs or names up to a maximum of 100", required = true, arity = 1) - public String clinicalAnalyses; - + public String clinicalAnalyses; + } @Parameters(commandNames = {"update"}, commandDescription ="Update clinical analysis attributes") public class UpdateCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--clinical-analyses"}, description = "Comma separated list of clinical analysis IDs", required = true, arity = 1) - public String clinicalAnalyses; - + public String clinicalAnalyses; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--analysts-action"}, description = "Action to be performed if the array of analysts is being updated.", required = false, arity = 1) - public String analystsAction = "ADD"; - + public String analystsAction = "ADD"; + @Parameter(names = {"--annotation-sets-action"}, description = "Action to be performed if the array of annotationSets is being updated.", required = false, arity = 1) - public String annotationSetsAction = "ADD"; - + public String annotationSetsAction = "ADD"; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--type"}, description = "Enum param allowed values: SINGLE, FAMILY, CANCER, COHORT, AUTOCOMPARATIVE", required = false, arity = 1) public String type; - + @Parameter(names = {"--disorder-id"}, description = "The body web service id parameter", required = false, arity = 1) public String disorderId; - + @Parameter(names = {"--panel-lock"}, description = "The body web service panelLock parameter", required = false, arity = 1) public Boolean panelLock; - + @Parameter(names = {"--proband-id"}, description = "The body web service id parameter", required = false, arity = 1) public String probandId; - + @Parameter(names = {"--family-id"}, description = "The body web service id parameter", required = false, arity = 1) public String familyId; - + @Parameter(names = {"--locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean locked; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--report-title"}, description = "Report title.", required = false, arity = 1) public String reportTitle; - + @Parameter(names = {"--report-overview"}, description = "Report overview.", required = false, arity = 1) public String reportOverview; - + @Parameter(names = {"--report-logo"}, description = "Report logo.", required = false, arity = 1) public String reportLogo; - + @Parameter(names = {"--report-signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) public String reportSignedBy; - + @Parameter(names = {"--report-signature"}, description = "Report signature.", required = false, arity = 1) public String reportSignature; - + @Parameter(names = {"--report-date"}, description = "Report date.", required = false, arity = 1) public String reportDate; - + @Parameter(names = {"--request-id"}, description = "The body web service id parameter", required = false, arity = 1) public String requestId; - + @Parameter(names = {"--request-justification"}, description = "The body web service justification parameter", required = false, arity = 1) public String requestJustification; - + @Parameter(names = {"--request-date"}, description = "The body web service date parameter", required = false, arity = 1) public String requestDate; - + @DynamicParameter(names = {"--request-attributes"}, description = "The body web service attributes parameter. Use: --request-attributes key=value", required = false) public java.util.Map requestAttributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--responsible-id"}, description = "The body web service id parameter", required = false, arity = 1) public String responsibleId; - + @Parameter(names = {"--responsible-name"}, description = "The body web service name parameter", required = false, arity = 1) public String responsibleName; - + @Parameter(names = {"--responsible-email"}, description = "The body web service email parameter", required = false, arity = 1) public String responsibleEmail; - + @Parameter(names = {"--responsible-organization"}, description = "The body web service organization parameter", required = false, arity = 1) public String responsibleOrganization; - + @Parameter(names = {"--responsible-department"}, description = "The body web service department parameter", required = false, arity = 1) public String responsibleDepartment; - + @Parameter(names = {"--responsible-address"}, description = "The body web service address parameter", required = false, arity = 1) public String responsibleAddress; - + @Parameter(names = {"--responsible-city"}, description = "The body web service city parameter", required = false, arity = 1) public String responsibleCity; - + @Parameter(names = {"--responsible-postcode"}, description = "The body web service postcode parameter", required = false, arity = 1) public String responsiblePostcode; - + @Parameter(names = {"--quality-control-summary"}, description = "Enum param allowed values: HIGH, MEDIUM, LOW, DISCARD, NEEDS_REVIEW, UNKNOWN", required = false, arity = 1) public String qualityControlSummary; - + @Parameter(names = {"--quality-control-comments"}, description = "The body web service comments parameter", required = false, arity = 1) public String qualityControlComments; - + @Parameter(names = {"--quality-control-files"}, description = "The body web service files parameter", required = false, arity = 1) public String qualityControlFiles; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--due-date"}, description = "The body web service dueDate parameter", required = false, arity = 1) public String dueDate; - + @Parameter(names = {"--priority-id"}, description = "The body web service id parameter", required = false, arity = 1) public String priorityId; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + } @Parameters(commandNames = {"annotation-sets-annotations-update"}, commandDescription ="Update annotations from an annotationSet") public class UpdateAnnotationSetsAnnotationsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--annotation-set"}, description = "AnnotationSet ID to be updated.", required = true, arity = 1) - public String annotationSet; - + public String annotationSet; + @Parameter(names = {"--action"}, description = "Action to be performed: ADD to add new annotations; REPLACE to replace the value of an already existing annotation; SET to set the new list of annotations removing any possible old annotations; REMOVE to remove some annotations; RESET to set some annotations to the default value configured in the corresponding variables of the VariableSet if any.", required = false, arity = 1) - public String action = "ADD"; - + public String action = "ADD"; + } @Parameters(commandNames = {"info"}, commandDescription ="Clinical analysis info") public class InfoCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--flatten-annotations"}, description = "Flatten the annotations?", required = false, help = true, arity = 0) - public boolean flattenAnnotations = false; - + public boolean flattenAnnotations = false; + @Parameter(names = {"--clinical-analysis"}, description = "Comma separated list of clinical analysis IDs or names up to a maximum of 100", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + } @Parameters(commandNames = {"interpretation-create"}, commandDescription ="Create a new Interpretation") public class CreateInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study id", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--set-as"}, description = "Set interpretation as", required = false, arity = 1) - public String setAs = "SECONDARY"; - + public String setAs = "SECONDARY"; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--clinical-analysis-id"}, description = "The body web service clinicalAnalysisId parameter", required = false, arity = 1) public String clinicalAnalysisId; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--method-name"}, description = "The body web service name parameter", required = false, arity = 1) public String methodName; - + @Parameter(names = {"--method-version"}, description = "The body web service version parameter", required = false, arity = 1) public String methodVersion; - + @Parameter(names = {"--method-commit"}, description = "The body web service commit parameter", required = false, arity = 1) public String methodCommit; - + @Parameter(names = {"--locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean locked; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"interpretation-clear"}, commandDescription ="Clear the fields of the main interpretation of the Clinical Analysis") public class ClearInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--interpretations"}, description = "Interpretation IDs of the Clinical Analysis", required = true, arity = 1) - public String interpretations; - + public String interpretations; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + } @Parameters(commandNames = {"interpretation-delete"}, commandDescription ="Delete interpretation") public class DeleteInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--interpretations"}, description = "Interpretation IDs of the Clinical Analysis", required = true, arity = 1) - public String interpretations; - + public String interpretations; + @Parameter(names = {"--set-as-primary"}, description = "Interpretation id to set as primary from the list of secondaries in case of deleting the actual primary one", required = false, arity = 1) - public String setAsPrimary; - + public String setAsPrimary; + } @Parameters(commandNames = {"interpretation-revert"}, commandDescription ="Revert to a previous interpretation version") public class RevertInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--interpretation"}, description = "Interpretation ID", required = true, arity = 1) - public String interpretation; - + public String interpretation; + @Parameter(names = {"--version"}, description = "Version to revert to", required = true, arity = 1) - public Integer version; - + public Integer version; + } @Parameters(commandNames = {"interpretation-update"}, commandDescription ="Update interpretation fields") public class UpdateInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--set-as"}, description = "Set interpretation as", required = false, arity = 1) - public String setAs; - + public String setAs; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--interpretation"}, description = "Interpretation ID", required = true, arity = 1) - public String interpretation; - + public String interpretation; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--method-name"}, description = "The body web service name parameter", required = false, arity = 1) public String methodName; - + @Parameter(names = {"--method-version"}, description = "The body web service version parameter", required = false, arity = 1) public String methodVersion; - + @Parameter(names = {"--method-commit"}, description = "The body web service commit parameter", required = false, arity = 1) public String methodCommit; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + @Parameter(names = {"--locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean locked; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"report-update"}, commandDescription ="Update clinical analysis report") public class UpdateReportCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--supporting-evidences-action"}, description = "Action to be performed if the array of supporting evidences is being updated.", required = false, arity = 1) - public String supportingEvidencesAction = "ADD"; - + public String supportingEvidencesAction = "ADD"; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--title"}, description = "Report title.", required = false, arity = 1) public String title; - + @Parameter(names = {"--overview"}, description = "Report overview.", required = false, arity = 1) public String overview; - + @Parameter(names = {"--discussion-author"}, description = "The body web service author parameter", required = false, arity = 1) public String discussionAuthor; - + @Parameter(names = {"--discussion-date"}, description = "The body web service date parameter", required = false, arity = 1) public String discussionDate; - + @Parameter(names = {"--discussion-text"}, description = "The body web service text parameter", required = false, arity = 1) public String discussionText; - + @Parameter(names = {"--logo"}, description = "Report logo.", required = false, arity = 1) public String logo; - + @Parameter(names = {"--signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) public String signedBy; - + @Parameter(names = {"--signature"}, description = "Report signature.", required = false, arity = 1) public String signature; - + @Parameter(names = {"--date"}, description = "Report date.", required = false, arity = 1) public String date; - + } } \ No newline at end of file diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java index f3d490e4fbf..a1dba3af944 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java @@ -1,27 +1,21 @@ package org.opencb.opencga.app.cli.main.options; -import com.beust.jcommander.JCommander; -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; -import com.beust.jcommander.DynamicParameter; -import com.beust.jcommander.ParametersDelegate; +import com.beust.jcommander.*; import java.util.HashMap; -import java.util.Map; -import java.util.List; -import static org.opencb.opencga.app.cli.GeneralCliOptions.*; +import static org.opencb.opencga.app.cli.GeneralCliOptions.CommonCommandOptions; /* -* WARNING: AUTOGENERATED CODE -* -* This code was generated by a tool. -* -* Manual changes to this file may cause unexpected behavior in your application. -* Manual changes to this file will be overwritten if the code is regenerated. -* -*/ + * WARNING: AUTOGENERATED CODE + * + * This code was generated by a tool. + * + * Manual changes to this file may cause unexpected behavior in your application. + * Manual changes to this file will be overwritten if the code is regenerated. + * + */ /** * This class contains methods for the Analysis - Variant command line. @@ -30,52 +24,52 @@ @Parameters(commandNames = {"variant"}, commandDescription = "Analysis - Variant commands") public class AnalysisVariantCommandOptions { - public JCommander jCommander; - public CommonCommandOptions commonCommandOptions; - - public AggregationStatsCommandOptions aggregationStatsCommandOptions; - public MetadataAnnotationCommandOptions metadataAnnotationCommandOptions; - public QueryAnnotationCommandOptions queryAnnotationCommandOptions; - public RunCircosCommandOptions runCircosCommandOptions; - public DeleteCohortStatsCommandOptions deleteCohortStatsCommandOptions; - public InfoCohortStatsCommandOptions infoCohortStatsCommandOptions; - public RunCohortStatsCommandOptions runCohortStatsCommandOptions; - public RunExomiserCommandOptions runExomiserCommandOptions; - public RunExportCommandOptions runExportCommandOptions; - public GenotypesFamilyCommandOptions genotypesFamilyCommandOptions; - public RunFamilyQcCommandOptions runFamilyQcCommandOptions; - public DeleteFileCommandOptions deleteFileCommandOptions; - public RunGatkCommandOptions runGatkCommandOptions; - public RunGenomePlotCommandOptions runGenomePlotCommandOptions; - public RunGwasCommandOptions runGwasCommandOptions; - public RunHrDetectCommandOptions runHrDetectCommandOptions; - public RunIndexCommandOptions runIndexCommandOptions; - public RunIndividualQcCommandOptions runIndividualQcCommandOptions; - public RunInferredSexCommandOptions runInferredSexCommandOptions; - public QueryKnockoutGeneCommandOptions queryKnockoutGeneCommandOptions; - public QueryKnockoutIndividualCommandOptions queryKnockoutIndividualCommandOptions; - public RunKnockoutCommandOptions runKnockoutCommandOptions; - public RunMendelianErrorCommandOptions runMendelianErrorCommandOptions; - public MetadataCommandOptions metadataCommandOptions; - public QueryMutationalSignatureCommandOptions queryMutationalSignatureCommandOptions; - public RunMutationalSignatureCommandOptions runMutationalSignatureCommandOptions; - public RunPlinkCommandOptions runPlinkCommandOptions; - public QueryCommandOptions queryCommandOptions; - public RunRelatednessCommandOptions runRelatednessCommandOptions; - public RunRvtestsCommandOptions runRvtestsCommandOptions; - public AggregationStatsSampleCommandOptions aggregationStatsSampleCommandOptions; - public RunSampleEligibilityCommandOptions runSampleEligibilityCommandOptions; - public RunSampleQcCommandOptions runSampleQcCommandOptions; - public QuerySampleCommandOptions querySampleCommandOptions; - public RunSampleCommandOptions runSampleCommandOptions; - public QuerySampleStatsCommandOptions querySampleStatsCommandOptions; - public RunSampleStatsCommandOptions runSampleStatsCommandOptions; - public RunStatsExportCommandOptions runStatsExportCommandOptions; - public RunStatsCommandOptions runStatsCommandOptions; + public JCommander jCommander; + public CommonCommandOptions commonCommandOptions; + + public AggregationStatsCommandOptions aggregationStatsCommandOptions; + public MetadataAnnotationCommandOptions metadataAnnotationCommandOptions; + public QueryAnnotationCommandOptions queryAnnotationCommandOptions; + public RunCircosCommandOptions runCircosCommandOptions; + public DeleteCohortStatsCommandOptions deleteCohortStatsCommandOptions; + public InfoCohortStatsCommandOptions infoCohortStatsCommandOptions; + public RunCohortStatsCommandOptions runCohortStatsCommandOptions; + public RunExomiserCommandOptions runExomiserCommandOptions; + public RunExportCommandOptions runExportCommandOptions; + public GenotypesFamilyCommandOptions genotypesFamilyCommandOptions; + public RunFamilyQcCommandOptions runFamilyQcCommandOptions; + public DeleteFileCommandOptions deleteFileCommandOptions; + public RunGatkCommandOptions runGatkCommandOptions; + public RunGenomePlotCommandOptions runGenomePlotCommandOptions; + public RunGwasCommandOptions runGwasCommandOptions; + public RunHrDetectCommandOptions runHrDetectCommandOptions; + public RunIndexCommandOptions runIndexCommandOptions; + public RunIndividualQcCommandOptions runIndividualQcCommandOptions; + public RunInferredSexCommandOptions runInferredSexCommandOptions; + public QueryKnockoutGeneCommandOptions queryKnockoutGeneCommandOptions; + public QueryKnockoutIndividualCommandOptions queryKnockoutIndividualCommandOptions; + public RunKnockoutCommandOptions runKnockoutCommandOptions; + public RunMendelianErrorCommandOptions runMendelianErrorCommandOptions; + public MetadataCommandOptions metadataCommandOptions; + public QueryMutationalSignatureCommandOptions queryMutationalSignatureCommandOptions; + public RunMutationalSignatureCommandOptions runMutationalSignatureCommandOptions; + public RunPlinkCommandOptions runPlinkCommandOptions; + public QueryCommandOptions queryCommandOptions; + public RunRelatednessCommandOptions runRelatednessCommandOptions; + public RunRvtestsCommandOptions runRvtestsCommandOptions; + public AggregationStatsSampleCommandOptions aggregationStatsSampleCommandOptions; + public RunSampleEligibilityCommandOptions runSampleEligibilityCommandOptions; + public RunSampleQcCommandOptions runSampleQcCommandOptions; + public QuerySampleCommandOptions querySampleCommandOptions; + public RunSampleCommandOptions runSampleCommandOptions; + public QuerySampleStatsCommandOptions querySampleStatsCommandOptions; + public RunSampleStatsCommandOptions runSampleStatsCommandOptions; + public RunStatsExportCommandOptions runStatsExportCommandOptions; + public RunStatsCommandOptions runStatsCommandOptions; public AnalysisVariantCommandOptions(CommonCommandOptions commonCommandOptions, JCommander jCommander) { - + this.jCommander = jCommander; this.commonCommandOptions = commonCommandOptions; this.aggregationStatsCommandOptions = new AggregationStatsCommandOptions(); @@ -117,2500 +111,2504 @@ public AnalysisVariantCommandOptions(CommonCommandOptions commonCommandOptions, this.runSampleStatsCommandOptions = new RunSampleStatsCommandOptions(); this.runStatsExportCommandOptions = new RunStatsExportCommandOptions(); this.runStatsCommandOptions = new RunStatsCommandOptions(); - + } - + @Parameters(commandNames = {"aggregationstats"}, commandDescription ="Calculate and fetch aggregation stats") public class AggregationStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--cohort"}, description = "Select variants with calculated stats for the selected cohorts", required = false, arity = 1) - public String cohort; - + public String cohort; + @Parameter(names = {"--cohort-stats-ref"}, description = "Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsRef; - + public String cohortStatsRef; + @Parameter(names = {"--cohort-stats-alt"}, description = "Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsAlt; - + public String cohortStatsAlt; + @Parameter(names = {"--cohort-stats-maf"}, description = "Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMaf; - + public String cohortStatsMaf; + @Parameter(names = {"--cohort-stats-mgf"}, description = "Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMgf; - + public String cohortStatsMgf; + @Parameter(names = {"--cohort-stats-pass"}, description = "Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8", required = false, arity = 1) - public String cohortStatsPass; - + public String cohortStatsPass; + @Parameter(names = {"--missing-alleles"}, description = "Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingAlleles; - + public String missingAlleles; + @Parameter(names = {"--missing-genotypes"}, description = "Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingGenotypes; - + public String missingGenotypes; + @Parameter(names = {"--score"}, description = "Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}", required = false, arity = 1) - public String score; - + public String score; + @Parameter(names = {"--annotation-exists"}, description = "Return only annotated variants", required = false, arity = 1) - public Boolean annotationExists; - + public Boolean annotationExists; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--xref"}, description = "List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ...", required = false, arity = 1) - public String xref; - + public String xref; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--protein-substitution"}, description = "Protein substitution scores include SIFT and PolyPhen. You can query using the score {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant", required = false, arity = 1) - public String proteinSubstitution; - + public String proteinSubstitution; + @Parameter(names = {"--conservation"}, description = "Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1", required = false, arity = 1) - public String conservation; - + public String conservation; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--population-frequency-ref"}, description = "Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyRef; - + public String populationFrequencyRef; + @Parameter(names = {"--population-frequency-maf"}, description = "Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyMaf; - + public String populationFrequencyMaf; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--gene-trait-id"}, description = "List of gene trait association id. e.g. 'umls:C0007222' , 'OMIM:269600'", required = false, arity = 1) - public String geneTraitId; - + public String geneTraitId; + @Parameter(names = {"--go"}, description = "List of GO (Gene Ontology) terms. e.g. 'GO:0002020'", required = false, arity = 1) - public String go; - + public String go; + @Parameter(names = {"--expression"}, description = "List of tissues of interest. e.g. 'lung'", required = false, arity = 1) - public String expression; - + public String expression; + @Parameter(names = {"--protein-keyword"}, description = "List of Uniprot protein variant annotation keywords", required = false, arity = 1) - public String proteinKeyword; - + public String proteinKeyword; + @Parameter(names = {"--drug"}, description = "List of drug names", required = false, arity = 1) - public String drug; - + public String drug; + @Parameter(names = {"--functional-score"}, description = "Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3", required = false, arity = 1) - public String functionalScore; - + public String functionalScore; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--custom-annotation"}, description = "Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}", required = false, arity = 1) - public String customAnnotation; - + public String customAnnotation; + @Parameter(names = {"--trait"}, description = "List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...", required = false, arity = 1) - public String trait; - + public String trait; + @Parameter(names = {"--field"}, description = "List of facet fields separated by semicolons, e.g.: studies;type. For nested faceted fields use >>, e.g.: chromosome>>type;percentile(gerp)", required = false, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"annotation-metadata"}, commandDescription ="Read variant annotations metadata from any saved versions") public class MetadataAnnotationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--annotation-id"}, description = "Annotation identifier", required = false, arity = 1) - public String annotationId; - + public String annotationId; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + } @Parameters(commandNames = {"annotation-query"}, commandDescription ="Query variant annotations from any saved versions") public class QueryAnnotationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--id"}, description = "List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. rs116600158,19:7177679:C:T", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--annotation-id"}, description = "Annotation identifier", required = false, arity = 1) - public String annotationId; - + public String annotationId; + } @Parameters(commandNames = {"circos-run"}, commandDescription ="Generate a Circos plot for a given sample.") public class RunCircosCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--title"}, description = "The body web service title parameter", required = false, arity = 1) public String title; - + @Parameter(names = {"--density"}, description = "The body web service density parameter", required = false, arity = 1) public String density; - + @DynamicParameter(names = {"--query"}, description = "The body web service query parameter. Use: --query key=value", required = false) public java.util.Map query = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"cohort-stats-delete"}, commandDescription ="Delete cohort variant stats from a cohort.") public class DeleteCohortStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--cohort"}, description = "Cohort ID or UUID", required = false, arity = 1) - public String cohort; - + public String cohort; + } @Parameters(commandNames = {"cohort-stats-info"}, commandDescription ="Read cohort variant stats from list of cohorts.") public class InfoCohortStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--cohort"}, description = "Comma separated list of cohort IDs or UUIDs up to a maximum of 100", required = true, arity = 1) - public String cohort; - + public String cohort; + } @Parameters(commandNames = {"cohort-stats-run"}, commandDescription ="Compute cohort variant stats for the selected list of samples.") public class RunCohortStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--samples"}, description = "The body web service samples parameter", required = false, arity = 1) public String samples; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--sample-annotation"}, description = "The body web service sampleAnnotation parameter", required = false, arity = 1) public String sampleAnnotation; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } - @Parameters(commandNames = {"exomiser-run"}, commandDescription ="The Exomiser is a Java program that finds potential disease-causing variants from whole-exome or whole-genome sequencing data.") + @Parameters(commandNames = {"exomiser-run"}, commandDescription ="The Exomiser is a Java program that finds potential disease-causing" + + " variants from whole-exome or whole-genome sequencing data.") public class RunExomiserCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - - @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) + + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will" + + " ignore all the other parameters.", arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - - @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - - @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - - @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - - @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - - @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - - @Parameter(names = {"--sample"}, description = "Sample ID.", required = false, arity = 1) + + @Parameter(names = {"--study", "-s"}, description = "study", required = true, arity = 1) + public String study; + + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated" + + " automatically if not provided.", arity = 1) + public String jobId; + + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", + arity = 1) + public String jobDependsOn; + + @Parameter(names = {"--job-description"}, description = "Job description", arity = 1) + public String jobDescription; + + @Parameter(names = {"--job-tags"}, description = "Job tags", arity = 1) + public String jobTags; + + @Parameter(names = {"--sample"}, description = "Sample ID.", arity = 1) public String sample; - - @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", required = false, arity = 1) - public String exomiserVersion = "14.0.0"; - - @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) + + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", arity = 1) + public String exomiserVersion; + + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", arity = 1) public String outdir; - + } @Parameters(commandNames = {"export-run"}, commandDescription ="Filter and export variants from the variant storage to a file") public class RunExportCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--type"}, description = "The body web service type parameter", required = false, arity = 1) public String type; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String panelModeOfInheritance; - + @Parameter(names = {"--panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String panelConfidence; - + @Parameter(names = {"--panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String panelRoleInCancer; - + @Parameter(names = {"--panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean panelIntersection = false; - + @Parameter(names = {"--panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String panelFeatureType; - + @Parameter(names = {"--cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String cohortStatsRef; - + @Parameter(names = {"--cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String cohortStatsAlt; - + @Parameter(names = {"--cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String cohortStatsMaf; - + @Parameter(names = {"--ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String ct; - + @Parameter(names = {"--xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String xref; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String proteinSubstitution; - + @Parameter(names = {"--conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String conservation; - + @Parameter(names = {"--population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String populationFrequencyMaf; - + @Parameter(names = {"--population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String populationFrequencyAlt; - + @Parameter(names = {"--population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String populationFrequencyRef; - + @Parameter(names = {"--transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String transcriptFlag; - + @Parameter(names = {"--functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String functionalScore; - + @Parameter(names = {"--clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String clinical; - + @Parameter(names = {"--clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String clinicalSignificance; - + @Parameter(names = {"--clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean clinicalConfirmedStatus = false; - + @Parameter(names = {"--body_project"}, description = "The body web service project parameter", required = false, arity = 1) public String bodyProject; - + @Parameter(names = {"--body_study"}, description = "The body web service study parameter", required = false, arity = 1) public String bodyStudy; - + @Parameter(names = {"--saved-filter"}, description = "The body web service savedFilter parameter", required = false, arity = 1) public String savedFilter; - + @Parameter(names = {"--chromosome"}, description = "The body web service chromosome parameter", required = false, arity = 1) public String chromosome; - + @Parameter(names = {"--reference"}, description = "The body web service reference parameter", required = false, arity = 1) public String reference; - + @Parameter(names = {"--alternate"}, description = "The body web service alternate parameter", required = false, arity = 1) public String alternate; - + @Parameter(names = {"--release"}, description = "The body web service release parameter", required = false, arity = 1) public String release; - + @Parameter(names = {"--include-study"}, description = "The body web service includeStudy parameter", required = false, arity = 1) public String includeStudy; - + @Parameter(names = {"--include-sample"}, description = "The body web service includeSample parameter", required = false, arity = 1) public String includeSample; - + @Parameter(names = {"--include-file"}, description = "The body web service includeFile parameter", required = false, arity = 1) public String includeFile; - + @Parameter(names = {"--include-sample-data"}, description = "The body web service includeSampleData parameter", required = false, arity = 1) public String includeSampleData; - + @Parameter(names = {"--include-sample-id"}, description = "The body web service includeSampleId parameter", required = false, help = true, arity = 0) public boolean includeSampleId = false; - + @Parameter(names = {"--include-genotype"}, description = "The body web service includeGenotype parameter", required = false, help = true, arity = 0) public boolean includeGenotype = false; - + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + @Parameter(names = {"--qual"}, description = "The body web service qual parameter", required = false, arity = 1) public String qual; - + @Parameter(names = {"--filter"}, description = "The body web service filter parameter", required = false, arity = 1) public String filter; - + @Parameter(names = {"--file-data"}, description = "The body web service fileData parameter", required = false, arity = 1) public String fileData; - + @Parameter(names = {"--genotype"}, description = "The body web service genotype parameter", required = false, arity = 1) public String genotype; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--sample-limit"}, description = "The body web service sampleLimit parameter", required = false, arity = 1) public Integer sampleLimit; - + @Parameter(names = {"--sample-skip"}, description = "The body web service sampleSkip parameter", required = false, arity = 1) public Integer sampleSkip; - + @Parameter(names = {"--sample-data"}, description = "The body web service sampleData parameter", required = false, arity = 1) public String sampleData; - + @Parameter(names = {"--sample-annotation"}, description = "The body web service sampleAnnotation parameter", required = false, arity = 1) public String sampleAnnotation; - + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--family-members"}, description = "The body web service familyMembers parameter", required = false, arity = 1) public String familyMembers; - + @Parameter(names = {"--family-disorder"}, description = "The body web service familyDisorder parameter", required = false, arity = 1) public String familyDisorder; - + @Parameter(names = {"--family-proband"}, description = "The body web service familyProband parameter", required = false, arity = 1) public String familyProband; - + @Parameter(names = {"--family-segregation"}, description = "The body web service familySegregation parameter", required = false, arity = 1) public String familySegregation; - + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--cohort-stats-pass"}, description = "The body web service cohortStatsPass parameter", required = false, arity = 1) public String cohortStatsPass; - + @Parameter(names = {"--cohort-stats-mgf"}, description = "The body web service cohortStatsMgf parameter", required = false, arity = 1) public String cohortStatsMgf; - + @Parameter(names = {"--missing-alleles"}, description = "The body web service missingAlleles parameter", required = false, arity = 1) public String missingAlleles; - + @Parameter(names = {"--missing-genotypes"}, description = "The body web service missingGenotypes parameter", required = false, arity = 1) public String missingGenotypes; - + @Parameter(names = {"--annotation-exists"}, description = "The body web service annotationExists parameter", required = false, arity = 1) public Boolean annotationExists; - + @Parameter(names = {"--score"}, description = "The body web service score parameter", required = false, arity = 1) public String score; - + @Parameter(names = {"--polyphen"}, description = "The body web service polyphen parameter", required = false, arity = 1) public String polyphen; - + @Parameter(names = {"--sift"}, description = "The body web service sift parameter", required = false, arity = 1) public String sift; - + @Parameter(names = {"--gene-role-in-cancer"}, description = "The body web service geneRoleInCancer parameter", required = false, arity = 1) public String geneRoleInCancer; - + @Parameter(names = {"--gene-trait-id"}, description = "The body web service geneTraitId parameter", required = false, arity = 1) public String geneTraitId; - + @Parameter(names = {"--gene-trait-name"}, description = "The body web service geneTraitName parameter", required = false, arity = 1) public String geneTraitName; - + @Parameter(names = {"--trait"}, description = "The body web service trait parameter", required = false, arity = 1) public String trait; - + @Parameter(names = {"--cosmic"}, description = "The body web service cosmic parameter", required = false, arity = 1) public String cosmic; - + @Parameter(names = {"--clinvar"}, description = "The body web service clinvar parameter", required = false, arity = 1) public String clinvar; - + @Parameter(names = {"--hpo"}, description = "The body web service hpo parameter", required = false, arity = 1) public String hpo; - + @Parameter(names = {"--go"}, description = "The body web service go parameter", required = false, arity = 1) public String go; - + @Parameter(names = {"--expression"}, description = "The body web service expression parameter", required = false, arity = 1) public String expression; - + @Parameter(names = {"--protein-keyword"}, description = "The body web service proteinKeyword parameter", required = false, arity = 1) public String proteinKeyword; - + @Parameter(names = {"--drug"}, description = "The body web service drug parameter", required = false, arity = 1) public String drug; - + @Parameter(names = {"--custom-annotation"}, description = "The body web service customAnnotation parameter", required = false, arity = 1) public String customAnnotation; - + @Parameter(names = {"--unknown-genotype"}, description = "The body web service unknownGenotype parameter", required = false, arity = 1) public String unknownGenotype; - + @Parameter(names = {"--sample-metadata"}, description = "The body web service sampleMetadata parameter", required = false, help = true, arity = 0) public boolean sampleMetadata = false; - + @Parameter(names = {"--sort"}, description = "The body web service sort parameter", required = false, help = true, arity = 0) public boolean sort = false; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--output-file-name"}, description = "The body web service outputFileName parameter", required = false, arity = 1) public String outputFileName; - + @Parameter(names = {"--output-file-format"}, description = "The body web service outputFileFormat parameter", required = false, arity = 1) public String outputFileFormat; - + @Parameter(names = {"--variants-file"}, description = "The body web service variantsFile parameter", required = false, arity = 1) public String variantsFile; - + @Parameter(names = {"--body_include"}, description = "The body web service include parameter", required = false, arity = 1) public String bodyInclude; - + @Parameter(names = {"--body_exclude"}, description = "The body web service exclude parameter", required = false, arity = 1) public String bodyExclude; - + @Parameter(names = {"--limit"}, description = "The body web service limit parameter", required = false, arity = 1) public Integer limit; - + @Parameter(names = {"--skip"}, description = "The body web service skip parameter", required = false, arity = 1) public Integer skip; - + @Parameter(names = {"--summary"}, description = "The body web service summary parameter", required = false, help = true, arity = 0) public boolean summary = false; - + } @Parameters(commandNames = {"family-genotypes"}, commandDescription ="Calculate the possible genotypes for the members of a family") public class GenotypesFamilyCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--family"}, description = "Family id", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis id", required = false, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--mode-of-inheritance"}, description = "Mode of inheritance", required = true, arity = 1) - public String modeOfInheritance = "MONOALLELIC"; - + public String modeOfInheritance = "MONOALLELIC"; + @Parameter(names = {"--penetrance"}, description = "Penetrance", required = false, arity = 1) - public String penetrance = "COMPLETE"; - + public String penetrance = "COMPLETE"; + @Parameter(names = {"--disorder"}, description = "Disorder id", required = false, arity = 1) - public String disorder; - + public String disorder; + } @Parameters(commandNames = {"family-qc-run"}, commandDescription ="Run quality control (QC) for a given family. It computes the relatedness scores among the family members") public class RunFamilyQcCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--relatedness-method"}, description = "The body web service relatednessMethod parameter", required = false, arity = 1) public String relatednessMethod; - + @Parameter(names = {"--relatedness-maf"}, description = "The body web service relatednessMaf parameter", required = false, arity = 1) public String relatednessMaf; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"file-delete"}, commandDescription =" [DEPRECATED] Use operation/variant/delete") public class DeleteFileCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Files to remove", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--resume"}, description = "Resume a previously failed indexation", required = false, help = true, arity = 0) - public boolean resume = false; - + public boolean resume = false; + } @Parameters(commandNames = {"gatk-run"}, commandDescription ="GATK is a Genome Analysis Toolkit for variant discovery in high-throughput sequencing data. Supported Gatk commands: HaplotypeCaller") public class RunGatkCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--command"}, description = "The body web service command parameter", required = false, arity = 1) public String command; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @DynamicParameter(names = {"--gatk-params"}, description = "The body web service gatkParams parameter. Use: --gatk-params key=value", required = false) public java.util.Map gatkParams = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"genome-plot-run"}, commandDescription ="Generate a genome plot for a given sample.") public class RunGenomePlotCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--config-file"}, description = "The body web service configFile parameter", required = false, arity = 1) public String configFile; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"gwas-run"}, commandDescription ="Run a Genome Wide Association Study between two cohorts.") public class RunGwasCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--phenotype"}, description = "The body web service phenotype parameter", required = false, arity = 1) public String phenotype; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--index-score-id"}, description = "The body web service indexScoreId parameter", required = false, arity = 1) public String indexScoreId; - + @Parameter(names = {"--method"}, description = "The body web service method parameter", required = false, arity = 1) public String method; - + @Parameter(names = {"--fisher-mode"}, description = "The body web service fisherMode parameter", required = false, arity = 1) public String fisherMode; - + @Parameter(names = {"--case-cohort"}, description = "The body web service caseCohort parameter", required = false, arity = 1) public String caseCohort; - + @Parameter(names = {"--case-cohort-samples-annotation"}, description = "The body web service caseCohortSamplesAnnotation parameter", required = false, arity = 1) public String caseCohortSamplesAnnotation; - + @Parameter(names = {"--case-cohort-samples"}, description = "The body web service caseCohortSamples parameter", required = false, arity = 1) public String caseCohortSamples; - + @Parameter(names = {"--control-cohort"}, description = "The body web service controlCohort parameter", required = false, arity = 1) public String controlCohort; - + @Parameter(names = {"--control-cohort-samples-annotation"}, description = "The body web service controlCohortSamplesAnnotation parameter", required = false, arity = 1) public String controlCohortSamplesAnnotation; - + @Parameter(names = {"--control-cohort-samples"}, description = "The body web service controlCohortSamples parameter", required = false, arity = 1) public String controlCohortSamples; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"hr-detect-run"}, commandDescription ="Run HRDetect analysis for a given somatic sample.") public class RunHrDetectCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "ID to identify the HRDetect results.", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "Decription for these particular HRDetect results.", required = false, arity = 1) public String description; - + @Parameter(names = {"--sample-id"}, description = "Sample data model hosts information about any biological material, normally extracted from an _Individual_, that is used for a particular analysis. This is the main data model, it stores the most basic and important information.", required = false, arity = 1) public String sampleId; - + @Parameter(names = {"--snv-fitting-id"}, description = "Mutational signature fitting ID for SNV.", required = false, arity = 1) public String snvFittingId; - + @Parameter(names = {"--sv-fitting-id"}, description = "Mutational signature fitting ID for SV.", required = false, arity = 1) public String svFittingId; - + @Parameter(names = {"--cnv-query"}, description = "CNV query", required = false, arity = 1) public String cnvQuery; - + @Parameter(names = {"--indel-query"}, description = "INDEL query", required = false, arity = 1) public String indelQuery; - + @Parameter(names = {"--snv3custom-name"}, description = "Custom signature name that will be considered as SNV3 input for HRDetect.", required = false, arity = 1) public String snv3CustomName; - + @Parameter(names = {"--snv8custom-name"}, description = "Custom signature name that will be considered as SNV8 input for HRDetect.", required = false, arity = 1) public String snv8CustomName; - + @Parameter(names = {"--sv3custom-name"}, description = "Custom signature name that will be considered as SV3 input for HRDetect.", required = false, arity = 1) public String sv3CustomName; - + @Parameter(names = {"--sv8custom-name"}, description = "Custom signature name that will be considered as SV8 input for HRDetect.", required = false, arity = 1) public String sv8CustomName; - + @Parameter(names = {"--bootstrap"}, description = "Request HRDetect with bootstrap.", required = false, arity = 1) public Boolean bootstrap; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"index-run"}, commandDescription =" [DEPRECATED] Use operation/variant/index") public class RunIndexCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--file"}, description = "List of files to be indexed.", required = false, arity = 1) public String file; - + @Parameter(names = {"--resume"}, description = "Resume a previously failed index operation", required = false, help = true, arity = 0) public boolean resume = false; - + @Parameter(names = {"--outdir"}, description = "Output directory", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--transform"}, description = "If present it only runs the transform stage, no load is executed", required = false, help = true, arity = 0) public boolean transform = false; - + @Parameter(names = {"--gvcf"}, description = "Hint to indicate that the input file is in gVCF format.", required = false, help = true, arity = 0) public boolean gvcf = false; - + @Parameter(names = {"--normalization-skip"}, description = "Do not execute the normalization process. WARN: INDELs will be stored with the context base", required = false, help = true, arity = 0) public boolean normalizationSkip = false; - + @Parameter(names = {"--reference-genome"}, description = "Reference genome in FASTA format used during the normalization step for a complete left alignment", required = false, arity = 1) public String referenceGenome; - + @Parameter(names = {"--fail-on-malformed-lines"}, description = "Fail when encountering malformed lines. (yes, no, auto) [auto]", required = false, arity = 1) public String failOnMalformedLines; - + @Parameter(names = {"--family"}, description = "Indicate that the files to be loaded are part of a family. This will set 'load-hom-ref' to YES if it was in AUTO and execute 'family-index' afterwards", required = false, help = true, arity = 0) public boolean family = false; - + @Parameter(names = {"--somatic"}, description = "Indicate that the files to be loaded contain somatic samples. This will set 'load-hom-ref' to YES if it was in AUTO.", required = false, help = true, arity = 0) public boolean somatic = false; - + @Parameter(names = {"--load"}, description = "If present only the load stage is executed, transformation is skipped", required = false, help = true, arity = 0) public boolean load = false; - + @Parameter(names = {"--force-reload"}, description = "If the file is already loaded, force a file reload", required = false, help = true, arity = 0) public boolean forceReload = false; - + @Parameter(names = {"--load-split-data"}, description = "Indicate that the variants from a group of samples is split in multiple files, either by CHROMOSOME or by REGION. In either case, variants from different files must not overlap.", required = false, arity = 1) public String loadSplitData; - + @Parameter(names = {"--load-multi-file-data"}, description = "Indicate the presence of multiple files for the same sample. Each file could be the result of a different vcf-caller or experiment over the same sample.", required = false, help = true, arity = 0) public boolean loadMultiFileData = false; - + @Parameter(names = {"--load-sample-index"}, description = "Build sample index while loading. (yes, no, auto) [auto]", required = false, arity = 1) public String loadSampleIndex; - + @Parameter(names = {"--load-archive"}, description = "Load archive data. (yes, no, auto) [auto]", required = false, arity = 1) public String loadArchive; - + @Parameter(names = {"--load-hom-ref"}, description = "Load HOM_REF genotypes. (yes, no, auto) [auto]", required = false, arity = 1) public String loadHomRef; - + @Parameter(names = {"--post-load-check"}, description = "Execute post load checks over the database. (yes, no, auto) [auto]", required = false, arity = 1) public String postLoadCheck; - + @Parameter(names = {"--include-genotypes"}, description = "Load the genotype data for the current file. This only applies to the GT field from the FORMAT. All the rest of fields from the INFO and FORMAT will be loaded. Use this parameter skip load data when the GT field is not reliable, or its only value across the file is './.'. If 'auto', genotypes will be automatically excluded if all genotypes are either missing, ./. or 0/0. (yes, no, auto) [auto]", required = false, arity = 1) public String includeGenotypes; - + @Parameter(names = {"--include-sample-data"}, description = "Index including other sample data fields (i.e. FORMAT fields). Use 'all', 'none', or CSV with the fields to load.", required = false, arity = 1) public String includeSampleData; - + @Parameter(names = {"--merge"}, description = "Currently two levels of merge are supported: 'basic' mode merge genotypes of the same variants while 'advanced' merge multiallelic and overlapping variants.", required = false, arity = 1) public String merge; - + @Parameter(names = {"--deduplication-policy"}, description = "Specify how duplicated variants should be handled. Available policies: 'discard', 'maxQual'", required = false, arity = 1) public String deduplicationPolicy; - + @Parameter(names = {"--calculate-stats"}, description = "Calculate indexed variants statistics after the load step", required = false, help = true, arity = 0) public boolean calculateStats = false; - + @Parameter(names = {"--aggregated"}, description = "Select the type of aggregated VCF file: none, basic, EVS or ExAC", required = false, arity = 1) public String aggregated; - + @Parameter(names = {"--aggregation-mapping-file"}, description = "File containing population names mapping in an aggregated VCF file", required = false, arity = 1) public String aggregationMappingFile; - + @Parameter(names = {"--annotate"}, description = "Annotate indexed variants after the load step", required = false, help = true, arity = 0) public boolean annotate = false; - + @Parameter(names = {"--annotator"}, description = "Annotation source {cellbase_rest, cellbase_db_adaptor}", required = false, arity = 1) public String annotator; - + @Parameter(names = {"--overwrite-annotations"}, description = "Overwrite annotations in variants already present", required = false, help = true, arity = 0) public boolean overwriteAnnotations = false; - + @Parameter(names = {"--index-search"}, description = "Add files to the secondary search index", required = false, help = true, arity = 0) public boolean indexSearch = false; - + @Parameter(names = {"--skip-indexed-files"}, description = "Do not fail if any of the input files was already indexed.", required = false, help = true, arity = 0) public boolean skipIndexedFiles = false; - + } @Parameters(commandNames = {"individual-qc-run"}, commandDescription ="Run quality control (QC) for a given individual. It includes inferred sex and mendelian errors (UDP)") public class RunIndividualQcCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--individual"}, description = "Individual ID", required = false, arity = 1) public String individual; - + @Parameter(names = {"--sample"}, description = "Sample ID (required when the individual has multiple samples)", required = false, arity = 1) public String sample; - + @Parameter(names = {"--inferred-sex-method"}, description = "Inferred sex method. Valid values: CoverageRatio", required = false, arity = 1) public String inferredSexMethod = "CoverageRatio"; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"inferred-sex-run"}, commandDescription ="Infer sex from chromosome mean coverages.") public class RunInferredSexCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--individual"}, description = "Individual ID", required = false, arity = 1) public String individual; - + @Parameter(names = {"--sample"}, description = "Sample ID (required when the individual has multiple samples)", required = false, arity = 1) public String sample; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"knockout-gene-query"}, commandDescription ="Fetch values from KnockoutAnalysis result, by genes") public class QueryKnockoutGeneCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job"}, description = "Job ID or UUID", required = false, arity = 1) - public String job; - + public String job; + } @Parameters(commandNames = {"knockout-individual-query"}, commandDescription ="Fetch values from KnockoutAnalysis result, by individuals") public class QueryKnockoutIndividualCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job"}, description = "Job ID or UUID", required = false, arity = 1) - public String job; - + public String job; + } @Parameters(commandNames = {"knockout-run"}, commandDescription ="Obtains the list of knocked out genes for each sample.") public class RunKnockoutCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--consequence-type"}, description = "The body web service consequenceType parameter", required = false, arity = 1) public String consequenceType; - + @Parameter(names = {"--filter"}, description = "The body web service filter parameter", required = false, arity = 1) public String filter; - + @Parameter(names = {"--qual"}, description = "The body web service qual parameter", required = false, arity = 1) public String qual; - + @Parameter(names = {"--skip-genes-file"}, description = "The body web service skipGenesFile parameter", required = false, help = true, arity = 0) public boolean skipGenesFile = false; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + } @Parameters(commandNames = {"mendelian-error-run"}, commandDescription ="Run mendelian error analysis to infer uniparental disomy regions.") public class RunMendelianErrorCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--individual"}, description = "The body web service individual parameter", required = false, arity = 1) public String individual; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"metadata"}, commandDescription ="") public class MetadataCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--include-study"}, description = "List of studies to include in the result. Accepts 'all' and 'none'.", required = false, arity = 1) - public String includeStudy; - + public String includeStudy; + @Parameter(names = {"--include-file"}, description = "List of files to be returned. Accepts 'all' and 'none'. If undefined, automatically includes files used for filtering. If none, no file is included.", required = false, arity = 1) - public String includeFile; - + public String includeFile; + @Parameter(names = {"--include-sample"}, description = "List of samples to be included in the result. Accepts 'all' and 'none'. If undefined, automatically includes samples used for filtering. If none, no sample is included.", required = false, arity = 1) - public String includeSample; - + public String includeSample; + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + } @Parameters(commandNames = {"mutational-signature-query"}, commandDescription ="Run mutational signature analysis for a given sample. Use context index.") public class QueryMutationalSignatureCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--sample"}, description = "Sample name", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--type"}, description = "Variant type. Valid values: SNV, SV", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--file-data"}, description = "Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from 'file' filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP", required = false, arity = 1) - public String fileData; - + public String fileData; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--qual"}, description = "Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4", required = false, arity = 1) - public String qual; - + public String qual; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--panel"}, description = "Filter by genes from the given disease panel", required = false, arity = 1) - public String panel; - + public String panel; + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "Filter genes from specific panels that match certain mode of inheritance. Accepted values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String panelModeOfInheritance; - + public String panelModeOfInheritance; + @Parameter(names = {"--panel-confidence"}, description = "Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low, rejected ]", required = false, arity = 1) - public String panelConfidence; - + public String panelConfidence; + @Parameter(names = {"--panel-feature-type"}, description = "Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ]", required = false, arity = 1) - public String panelFeatureType; - + public String panelFeatureType; + @Parameter(names = {"--panel-role-in-cancer"}, description = "Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene, tumorSuppressorGene, fusion ]", required = false, arity = 1) - public String panelRoleInCancer; - + public String panelRoleInCancer; + @Parameter(names = {"--panel-intersection"}, description = "Intersect panel genes and regions with given genes and regions from que input query. This will prevent returning variants from regions out of the panel.", required = false, help = true, arity = 0) - public boolean panelIntersection = false; - + public boolean panelIntersection = false; + @Parameter(names = {"--ms-id"}, description = "Signature ID.", required = false, arity = 1) - public String msId; - + public String msId; + @Parameter(names = {"--ms-description"}, description = "Signature description.", required = false, arity = 1) - public String msDescription; - + public String msDescription; + } @Parameters(commandNames = {"mutational-signature-run"}, commandDescription ="Run mutational signature analysis for a given sample.") public class RunMutationalSignatureCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "Signature ID.", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "Signature description.", required = false, arity = 1) public String description; - + @Parameter(names = {"--sample"}, description = "Sample.", required = false, arity = 1) public String sample; - + @Parameter(names = {"--query"}, description = "Signature query in JSON format, e.g: ''{\'sample\':\'NR123456_T\', \'fileData\': \'NR.123456_T_vs_NR.1234567_G.annot.vcf.gz:FILTER=PASS;CLPM<=0;ASMD>=140\'}'.", required = false, arity = 1) public String query; - + @Parameter(names = {"--fit-id"}, description = "Fiiting signature ID", required = false, arity = 1) public String fitId; - + @Parameter(names = {"--fit-method"}, description = "Either Fit or FitMS. If not specified then FitMS", required = false, arity = 1) public String fitMethod = "FitMS"; - + @Parameter(names = {"--fit-n-boot"}, description = "Number of bootstrap to be used.", required = false, arity = 1) public Integer fitNBoot; - + @Parameter(names = {"--fit-sig-version"}, description = "Either COSMICv2, COSMICv3.2, RefSigv1 or RefSigv2. If not specified RefSigv2.", required = false, arity = 1) public String fitSigVersion = "RefSigv2"; - + @Parameter(names = {"--fit-organ"}, description = "When using RefSigv1 or RefSigv2 as SIGVERSION, organ-specific signatures will be used. If SIGVERSION is COSMICv2 or COSMICv3.2, then a selection of signatures found in the given organ will be used. Available organs depend on the selected SIGVERSION. For RefSigv1 or RefSigv2: Biliary, Bladder, Bone_SoftTissue, Breast, Cervix (v1 only), CNS, Colorectal, Esophagus, Head_neck, Kidney, Liver, Lung, Lymphoid, NET (v2 only), Oral_Oropharyngeal (v2 only), Ovary, Pancreas, Prostate, Skin, Stomach, Uterus.", required = false, arity = 1) public String fitOrgan; - + @Parameter(names = {"--fit-threshold-perc"}, description = "Threshold in percentage of total mutations in a sample, only exposures larger than THRPERC are considered. If not specified 5.", required = false, arity = 1) public Float fitThresholdPerc = 5f; - + @Parameter(names = {"--fit-threshold-pval"}, description = "P-value to determine the empirical probability that the exposure is lower than the threshold. If not specified then 0.05.", required = false, arity = 1) public Float fitThresholdPval = 0.05f; - + @Parameter(names = {"--fit-max-rare-sigs"}, description = "Maximum number of rare signatures that are allowed to be present in each sample. If not specified 1.", required = false, arity = 1) public Integer fitMaxRareSigs = 1; - + @Parameter(names = {"--fit-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered common signatures.", required = false, arity = 1) public String fitSignaturesFile; - + @Parameter(names = {"--fit-rare-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered rare signatures.", required = false, arity = 1) public String fitRareSignaturesFile; - + @Parameter(names = {"--skip"}, description = "To skip to compute catalogue counts or the signature fitting. Use the following keywords: catalogue, fitting.", required = false, arity = 1) public String skip; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"plink-run"}, commandDescription ="Plink is a whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses.") public class RunPlinkCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @DynamicParameter(names = {"--plink-params"}, description = "The body web service plinkParams parameter. Use: --plink-params key=value", required = false) public java.util.Map plinkParams = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"query"}, commandDescription ="Filter and fetch variants from indexed VCF files in the variant storage") public class QueryCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sort"}, description = "Sort the results", required = false, help = true, arity = 0) - public boolean sort = false; - + public boolean sort = false; + @Parameter(names = {"--summary"}, description = "Fast fetch of main variant parameters", required = false, help = true, arity = 0) - public boolean summary = false; - + public boolean summary = false; + @Parameter(names = {"--approximate-count"}, description = "Get an approximate count, instead of an exact total count. Reduces execution time", required = false, help = true, arity = 0) - public boolean approximateCount = false; - + public boolean approximateCount = false; + @Parameter(names = {"--approximate-count-sampling-size"}, description = "Sampling size to get the approximate count. Larger values increase accuracy but also increase execution time", required = false, arity = 1) - public Integer approximateCountSamplingSize; - + public Integer approximateCountSamplingSize; + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--id"}, description = "List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. rs116600158,19:7177679:C:T", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--reference"}, description = "Reference allele", required = false, arity = 1) - public String reference; - + public String reference; + @Parameter(names = {"--alternate"}, description = "Main alternate allele", required = false, arity = 1) - public String alternate; - + public String alternate; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--qual"}, description = "Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4", required = false, arity = 1) - public String qual; - + public String qual; + @Parameter(names = {"--file-data"}, description = "Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from 'file' filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP", required = false, arity = 1) - public String fileData; - + public String fileData; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--genotype"}, description = "Samples with a specific genotype: {samp_1}:{gt_1}(,{gt_n})*(;{samp_n}:{gt_1}(,{gt_n})*)* e.g. HG0097:0/0;HG0098:0/1,1/1. Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT. This will automatically set 'includeSample' parameter when not provided", required = false, arity = 1) - public String genotype; - + public String genotype; + @Parameter(names = {"--sample-data"}, description = "Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will use all samples from 'sample' or 'genotype' filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10", required = false, arity = 1) - public String sampleData; - + public String sampleData; + @Parameter(names = {"--sample-annotation"}, description = "Selects some samples using metadata information from Catalog. e.g. age>20;phenotype=hpo:123,hpo:456;name=smith", required = false, arity = 1) - public String sampleAnnotation; - + public String sampleAnnotation; + @Parameter(names = {"--sample-metadata"}, description = "Return the samples metadata group by study. Sample names will appear in the same order as their corresponding genotypes.", required = false, help = true, arity = 0) - public boolean sampleMetadata = false; - + public boolean sampleMetadata = false; + @Parameter(names = {"--unknown-genotype"}, description = "Returned genotype for unknown genotypes. Common values: [0/0, 0|0, ./.]", required = false, arity = 1) - public String unknownGenotype; - + public String unknownGenotype; + @Parameter(names = {"--sample-limit"}, description = "Limit the number of samples to be included in the result", required = false, arity = 1) - public Integer sampleLimit; - + public Integer sampleLimit; + @Parameter(names = {"--sample-skip"}, description = "Skip some samples from the result. Useful for sample pagination.", required = false, arity = 1) - public Integer sampleSkip; - + public Integer sampleSkip; + @Parameter(names = {"--cohort"}, description = "Select variants with calculated stats for the selected cohorts", required = false, arity = 1) - public String cohort; - + public String cohort; + @Parameter(names = {"--cohort-stats-ref"}, description = "Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsRef; - + public String cohortStatsRef; + @Parameter(names = {"--cohort-stats-alt"}, description = "Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsAlt; - + public String cohortStatsAlt; + @Parameter(names = {"--cohort-stats-maf"}, description = "Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMaf; - + public String cohortStatsMaf; + @Parameter(names = {"--cohort-stats-mgf"}, description = "Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMgf; - + public String cohortStatsMgf; + @Parameter(names = {"--cohort-stats-pass"}, description = "Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8", required = false, arity = 1) - public String cohortStatsPass; - + public String cohortStatsPass; + @Parameter(names = {"--missing-alleles"}, description = "Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingAlleles; - + public String missingAlleles; + @Parameter(names = {"--missing-genotypes"}, description = "Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingGenotypes; - + public String missingGenotypes; + @Parameter(names = {"--score"}, description = "Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}", required = false, arity = 1) - public String score; - + public String score; + @Parameter(names = {"--family"}, description = "Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT)", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-disorder"}, description = "Specify the disorder to use for the family segregation", required = false, arity = 1) - public String familyDisorder; - + public String familyDisorder; + @Parameter(names = {"--family-segregation"}, description = "Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String familySegregation; - + public String familySegregation; + @Parameter(names = {"--family-members"}, description = "Sub set of the members of a given family", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-proband"}, description = "Specify the proband child to use for the family segregation", required = false, arity = 1) - public String familyProband; - + public String familyProband; + @Parameter(names = {"--include-study"}, description = "List of studies to include in the result. Accepts 'all' and 'none'.", required = false, arity = 1) - public String includeStudy; - + public String includeStudy; + @Parameter(names = {"--include-file"}, description = "List of files to be returned. Accepts 'all' and 'none'. If undefined, automatically includes files used for filtering. If none, no file is included.", required = false, arity = 1) - public String includeFile; - + public String includeFile; + @Parameter(names = {"--include-sample"}, description = "List of samples to be included in the result. Accepts 'all' and 'none'. If undefined, automatically includes samples used for filtering. If none, no sample is included.", required = false, arity = 1) - public String includeSample; - + public String includeSample; + @Parameter(names = {"--include-sample-data"}, description = "List of Sample Data keys (i.e. FORMAT column from VCF file) from Sample Data to include in the output. e.g: DP,AD. Accepts 'all' and 'none'.", required = false, arity = 1) - public String includeSampleData; - + public String includeSampleData; + @Parameter(names = {"--include-genotype"}, description = "Include genotypes, apart of other formats defined with includeFormat", required = false, arity = 1) - public String includeGenotype; - + public String includeGenotype; + @Parameter(names = {"--include-sample-id"}, description = "Include sampleId on each result", required = false, arity = 1) - public String includeSampleId; - + public String includeSampleId; + @Parameter(names = {"--annotation-exists"}, description = "Return only annotated variants", required = false, arity = 1) - public Boolean annotationExists; - + public Boolean annotationExists; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--xref"}, description = "List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ...", required = false, arity = 1) - public String xref; - + public String xref; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--protein-substitution"}, description = "Protein substitution scores include SIFT and PolyPhen. You can query using the score {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant", required = false, arity = 1) - public String proteinSubstitution; - + public String proteinSubstitution; + @Parameter(names = {"--conservation"}, description = "Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1", required = false, arity = 1) - public String conservation; - + public String conservation; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--population-frequency-ref"}, description = "Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyRef; - + public String populationFrequencyRef; + @Parameter(names = {"--population-frequency-maf"}, description = "Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyMaf; - + public String populationFrequencyMaf; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--gene-trait-id"}, description = "List of gene trait association id. e.g. 'umls:C0007222' , 'OMIM:269600'", required = false, arity = 1) - public String geneTraitId; - + public String geneTraitId; + @Parameter(names = {"--go"}, description = "List of GO (Gene Ontology) terms. e.g. 'GO:0002020'", required = false, arity = 1) - public String go; - + public String go; + @Parameter(names = {"--expression"}, description = "List of tissues of interest. e.g. 'lung'", required = false, arity = 1) - public String expression; - + public String expression; + @Parameter(names = {"--protein-keyword"}, description = "List of Uniprot protein variant annotation keywords", required = false, arity = 1) - public String proteinKeyword; - + public String proteinKeyword; + @Parameter(names = {"--drug"}, description = "List of drug names", required = false, arity = 1) - public String drug; - + public String drug; + @Parameter(names = {"--functional-score"}, description = "Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3", required = false, arity = 1) - public String functionalScore; - + public String functionalScore; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--custom-annotation"}, description = "Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}", required = false, arity = 1) - public String customAnnotation; - + public String customAnnotation; + @Parameter(names = {"--panel"}, description = "Filter by genes from the given disease panel", required = false, arity = 1) - public String panel; - + public String panel; + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "Filter genes from specific panels that match certain mode of inheritance. Accepted values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String panelModeOfInheritance; - + public String panelModeOfInheritance; + @Parameter(names = {"--panel-confidence"}, description = "Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low, rejected ]", required = false, arity = 1) - public String panelConfidence; - + public String panelConfidence; + @Parameter(names = {"--panel-role-in-cancer"}, description = "Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene, tumorSuppressorGene, fusion ]", required = false, arity = 1) - public String panelRoleInCancer; - + public String panelRoleInCancer; + @Parameter(names = {"--panel-feature-type"}, description = "Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ]", required = false, arity = 1) - public String panelFeatureType; - + public String panelFeatureType; + @Parameter(names = {"--panel-intersection"}, description = "Intersect panel genes and regions with given genes and regions from que input query. This will prevent returning variants from regions out of the panel.", required = false, help = true, arity = 0) - public boolean panelIntersection = false; - + public boolean panelIntersection = false; + @Parameter(names = {"--trait"}, description = "List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...", required = false, arity = 1) - public String trait; - + public String trait; + } @Parameters(commandNames = {"relatedness-run"}, commandDescription ="Compute a score to quantify relatedness between samples.") public class RunRelatednessCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--individuals"}, description = "The body web service individuals parameter", required = false, arity = 1) public String individuals; - + @Parameter(names = {"--samples"}, description = "The body web service samples parameter", required = false, arity = 1) public String samples; - + @Parameter(names = {"--minor-allele-freq"}, description = "The body web service minorAlleleFreq parameter", required = false, arity = 1) public String minorAlleleFreq; - + @Parameter(names = {"--method"}, description = "The body web service method parameter", required = false, arity = 1) public String method; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"rvtests-run"}, commandDescription ="Rvtests is a flexible software package for genetic association studies. Supported RvTests commands: rvtest, vcf2kinship") public class RunRvtestsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--command"}, description = "The body web service command parameter", required = false, arity = 1) public String command; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @DynamicParameter(names = {"--rvtests-params"}, description = "The body web service rvtestsParams parameter. Use: --rvtests-params key=value", required = false) public java.util.Map rvtestsParams = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"sample-aggregation-stats"}, commandDescription ="Calculate and fetch sample aggregation stats") public class AggregationStatsSampleCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--genotype"}, description = "Samples with a specific genotype: {samp_1}:{gt_1}(,{gt_n})*(;{samp_n}:{gt_1}(,{gt_n})*)* e.g. HG0097:0/0;HG0098:0/1,1/1. Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT. This will automatically set 'includeSample' parameter when not provided", required = false, arity = 1) - public String genotype; - + public String genotype; + @Parameter(names = {"--sample-annotation"}, description = "Selects some samples using metadata information from Catalog. e.g. age>20;phenotype=hpo:123,hpo:456;name=smith", required = false, arity = 1) - public String sampleAnnotation; - + public String sampleAnnotation; + @Parameter(names = {"--family"}, description = "Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT)", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-disorder"}, description = "Specify the disorder to use for the family segregation", required = false, arity = 1) - public String familyDisorder; - + public String familyDisorder; + @Parameter(names = {"--family-segregation"}, description = "Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String familySegregation; - + public String familySegregation; + @Parameter(names = {"--family-members"}, description = "Sub set of the members of a given family", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-proband"}, description = "Specify the proband child to use for the family segregation", required = false, arity = 1) - public String familyProband; - + public String familyProband; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--field"}, description = "List of facet fields separated by semicolons, e.g.: studies;type. For nested faceted fields use >>, e.g.: chromosome>>type . Accepted values: chromosome, type, genotype, consequenceType, biotype, clinicalSignificance, dp, qual, filter", required = false, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"sample-eligibility-run"}, commandDescription ="Filter samples by a complex query involving metadata and variants data") public class RunSampleEligibilityCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--query"}, description = "The body web service query parameter", required = false, arity = 1) public String query; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--cohort-id"}, description = "The body web service cohortId parameter", required = false, arity = 1) public String cohortId; - + } @Parameters(commandNames = {"sample-qc-run"}, commandDescription ="Run quality control (QC) for a given sample. It includes variant stats, and if the sample is somatic, mutational signature and genome plot are calculated.") public class RunSampleQcCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "Sample data model hosts information about any biological material, normally extracted from an _Individual_, that is used for a particular analysis. This is the main data model, it stores the most basic and important information.", required = false, arity = 1) public String sample; - + @Parameter(names = {"--vs-id"}, description = "Variant stats ID.", required = false, arity = 1) public String vsId; - + @Parameter(names = {"--vs-description"}, description = "Variant stats description.", required = false, arity = 1) public String vsDescription; - + @Parameter(names = {"--vs-query-id"}, description = "The body web service id parameter", required = false, arity = 1) public String vsQueryId; - + @Parameter(names = {"--vs-query-region"}, description = "The body web service region parameter", required = false, arity = 1) public String vsQueryRegion; - + @Parameter(names = {"--vs-query-gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String vsQueryGene; - + @Parameter(names = {"--vs-query-type"}, description = "The body web service type parameter", required = false, arity = 1) public String vsQueryType; - + @Parameter(names = {"--vs-query-panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String vsQueryPanel; - + @Parameter(names = {"--vs-query-panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String vsQueryPanelModeOfInheritance; - + @Parameter(names = {"--vs-query-panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String vsQueryPanelConfidence; - + @Parameter(names = {"--vs-query-panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String vsQueryPanelRoleInCancer; - + @Parameter(names = {"--vs-query-panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean vsQueryPanelIntersection = false; - + @Parameter(names = {"--vs-query-panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String vsQueryPanelFeatureType; - + @Parameter(names = {"--vs-query-cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String vsQueryCohortStatsRef; - + @Parameter(names = {"--vs-query-cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String vsQueryCohortStatsAlt; - + @Parameter(names = {"--vs-query-cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String vsQueryCohortStatsMaf; - + @Parameter(names = {"--vs-query-ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String vsQueryCt; - + @Parameter(names = {"--vs-query-xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String vsQueryXref; - + @Parameter(names = {"--vs-query-biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String vsQueryBiotype; - + @Parameter(names = {"--vs-query-protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String vsQueryProteinSubstitution; - + @Parameter(names = {"--vs-query-conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String vsQueryConservation; - + @Parameter(names = {"--vs-query-population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String vsQueryPopulationFrequencyMaf; - + @Parameter(names = {"--vs-query-population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String vsQueryPopulationFrequencyAlt; - + @Parameter(names = {"--vs-query-population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String vsQueryPopulationFrequencyRef; - + @Parameter(names = {"--vs-query-transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String vsQueryTranscriptFlag; - + @Parameter(names = {"--vs-query-functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String vsQueryFunctionalScore; - + @Parameter(names = {"--vs-query-clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String vsQueryClinical; - + @Parameter(names = {"--vs-query-clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String vsQueryClinicalSignificance; - + @Parameter(names = {"--vs-query-clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean vsQueryClinicalConfirmedStatus = false; - + @Parameter(names = {"--ms-id"}, description = "Signature ID.", required = false, arity = 1) public String msId; - + @Parameter(names = {"--ms-description"}, description = "Signature description.", required = false, arity = 1) public String msDescription; - + @Parameter(names = {"--ms-query"}, description = "Signature query in JSON format, e.g: ''{\'sample\':\'NR123456_T\', \'fileData\': \'NR.123456_T_vs_NR.1234567_G.annot.vcf.gz:FILTER=PASS;CLPM<=0;ASMD>=140\'}'.", required = false, arity = 1) public String msQuery; - + @Parameter(names = {"--ms-fit-id"}, description = "Either Fit or FitMS. If not specified then FitMS", required = false, arity = 1) public String msFitId; - + @Parameter(names = {"--ms-fit-method"}, description = "Either Fit or FitMS. If not specified then FitMS", required = false, arity = 1) public String msFitMethod = "FitMS"; - + @Parameter(names = {"--ms-fit-n-boot"}, description = "Number of bootstrap to be used.", required = false, arity = 1) public Integer msFitNBoot; - + @Parameter(names = {"--ms-fit-sig-version"}, description = "Either COSMICv2, COSMICv3.2, RefSigv1 or RefSigv2. If not specified RefSigv2.", required = false, arity = 1) public String msFitSigVersion = "RefSigv2"; - + @Parameter(names = {"--ms-fit-organ"}, description = "When using RefSigv1 or RefSigv2 as SIGVERSION, organ-specific signatures will be used. If SIGVERSION is COSMICv2 or COSMICv3.2, then a selection of signatures found in the given organ will be used. Available organs depend on the selected SIGVERSION. For RefSigv1 or RefSigv2: Biliary, Bladder, Bone_SoftTissue, Breast, Cervix (v1 only), CNS, Colorectal, Esophagus, Head_neck, Kidney, Liver, Lung, Lymphoid, NET (v2 only), Oral_Oropharyngeal (v2 only), Ovary, Pancreas, Prostate, Skin, Stomach, Uterus.", required = false, arity = 1) public String msFitOrgan; - + @Parameter(names = {"--ms-fit-threshold-perc"}, description = "Threshold in percentage of total mutations in a sample, only exposures larger than THRPERC are considered. If not specified 5.", required = false, arity = 1) public Float msFitThresholdPerc = 5f; - + @Parameter(names = {"--ms-fit-threshold-pval"}, description = "P-value to determine the empirical probability that the exposure is lower than the threshold. If not specified then 0.05.", required = false, arity = 1) public Float msFitThresholdPval = 0.05f; - + @Parameter(names = {"--ms-fit-max-rare-sigs"}, description = "Maximum number of rare signatures that are allowed to be present in each sample. If not specified 1.", required = false, arity = 1) public Integer msFitMaxRareSigs = 1; - + @Parameter(names = {"--ms-fit-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered common signatures.", required = false, arity = 1) public String msFitSignaturesFile; - + @Parameter(names = {"--ms-fit-rare-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered rare signatures.", required = false, arity = 1) public String msFitRareSignaturesFile; - + @Parameter(names = {"--gp-id"}, description = "Genome plot ID.", required = false, arity = 1) public String gpId; - + @Parameter(names = {"--gp-description"}, description = "Genome plot description.", required = false, arity = 1) public String gpDescription; - + @Parameter(names = {"--gp-config-file"}, description = "Genome plot configuration file.", required = false, arity = 1) public String gpConfigFile; - + @Parameter(names = {"--skip"}, description = "Quality control metrics to skip. Valid values are: variant-stats, signature, signature-catalogue, signature-fitting, genome-plot", required = false, arity = 1) public String skip; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"sample-query"}, commandDescription ="Get sample data of a given variant") public class QuerySampleCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--variant"}, description = "Variant", required = false, arity = 1) - public String variant; - + public String variant; + @Parameter(names = {"--study", "-s"}, description = "Study where all the samples belong to", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--genotype"}, description = "Genotypes that the sample must have to be selected", required = false, arity = 1) - public String genotype; - + public String genotype; + } @Parameters(commandNames = {"sample-run"}, commandDescription ="Get samples given a set of variants") public class RunSampleCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--type"}, description = "The body web service type parameter", required = false, arity = 1) public String type; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String panelModeOfInheritance; - + @Parameter(names = {"--panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String panelConfidence; - + @Parameter(names = {"--panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String panelRoleInCancer; - + @Parameter(names = {"--panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean panelIntersection = false; - + @Parameter(names = {"--panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String panelFeatureType; - + @Parameter(names = {"--cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String cohortStatsRef; - + @Parameter(names = {"--cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String cohortStatsAlt; - + @Parameter(names = {"--cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String cohortStatsMaf; - + @Parameter(names = {"--ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String ct; - + @Parameter(names = {"--xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String xref; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String proteinSubstitution; - + @Parameter(names = {"--conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String conservation; - + @Parameter(names = {"--population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String populationFrequencyMaf; - + @Parameter(names = {"--population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String populationFrequencyAlt; - + @Parameter(names = {"--population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String populationFrequencyRef; - + @Parameter(names = {"--transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String transcriptFlag; - + @Parameter(names = {"--functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String functionalScore; - + @Parameter(names = {"--clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String clinical; - + @Parameter(names = {"--clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String clinicalSignificance; - + @Parameter(names = {"--clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean clinicalConfirmedStatus = false; - + @Parameter(names = {"--genotypes"}, description = "The body web service genotypes parameter", required = false, arity = 1) public String genotypes; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--samples-in-all-variants"}, description = "The body web service samplesInAllVariants parameter", required = false, help = true, arity = 0) public boolean samplesInAllVariants = false; - + @Parameter(names = {"--max-variants"}, description = "The body web service maxVariants parameter", required = false, arity = 1) public Integer maxVariants; - + } @Parameters(commandNames = {"sample-stats-query"}, commandDescription ="Obtain sample variant stats from a sample.") public class QuerySampleStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--sample-data"}, description = "Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will use all samples from 'sample' or 'genotype' filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10", required = false, arity = 1) - public String sampleData; - + public String sampleData; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--filter-transcript"}, description = "Do filter transcripts when obtaining transcript counts", required = false, help = true, arity = 0) - public boolean filterTranscript = false; - + public boolean filterTranscript = false; + @Parameter(names = {"--sample"}, description = "Sample ID", required = true, arity = 1) - public String sample; - + public String sample; + } @Parameters(commandNames = {"sample-stats-run"}, commandDescription ="Compute sample variant stats for the selected list of samples.") public class RunSampleStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--individual"}, description = "The body web service individual parameter", required = false, arity = 1) public String individual; - + @Parameter(names = {"--variant-query-id"}, description = "The body web service id parameter", required = false, arity = 1) public String variantQueryId; - + @Parameter(names = {"--variant-query-region"}, description = "The body web service region parameter", required = false, arity = 1) public String variantQueryRegion; - + @Parameter(names = {"--variant-query-gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String variantQueryGene; - + @Parameter(names = {"--variant-query-type"}, description = "The body web service type parameter", required = false, arity = 1) public String variantQueryType; - + @Parameter(names = {"--variant-query-panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String variantQueryPanel; - + @Parameter(names = {"--variant-query-panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String variantQueryPanelModeOfInheritance; - + @Parameter(names = {"--variant-query-panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String variantQueryPanelConfidence; - + @Parameter(names = {"--variant-query-panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String variantQueryPanelRoleInCancer; - + @Parameter(names = {"--variant-query-panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean variantQueryPanelIntersection = false; - + @Parameter(names = {"--variant-query-panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String variantQueryPanelFeatureType; - + @Parameter(names = {"--variant-query-cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String variantQueryCohortStatsRef; - + @Parameter(names = {"--variant-query-cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String variantQueryCohortStatsAlt; - + @Parameter(names = {"--variant-query-cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String variantQueryCohortStatsMaf; - + @Parameter(names = {"--variant-query-ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String variantQueryCt; - + @Parameter(names = {"--variant-query-xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String variantQueryXref; - + @Parameter(names = {"--variant-query-biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String variantQueryBiotype; - + @Parameter(names = {"--variant-query-protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String variantQueryProteinSubstitution; - + @Parameter(names = {"--variant-query-conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String variantQueryConservation; - + @Parameter(names = {"--variant-query-population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String variantQueryPopulationFrequencyMaf; - + @Parameter(names = {"--variant-query-population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String variantQueryPopulationFrequencyAlt; - + @Parameter(names = {"--variant-query-population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String variantQueryPopulationFrequencyRef; - + @Parameter(names = {"--variant-query-transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String variantQueryTranscriptFlag; - + @Parameter(names = {"--variant-query-functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String variantQueryFunctionalScore; - + @Parameter(names = {"--variant-query-clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String variantQueryClinical; - + @Parameter(names = {"--variant-query-clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String variantQueryClinicalSignificance; - + @Parameter(names = {"--variant-query-clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean variantQueryClinicalConfirmedStatus = false; - + @Parameter(names = {"--variant-query-sample-data"}, description = "The body web service sampleData parameter", required = false, arity = 1) public String variantQuerySampleData; - + @Parameter(names = {"--variant-query-file-data"}, description = "The body web service fileData parameter", required = false, arity = 1) public String variantQueryFileData; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--index-overwrite"}, description = "The body web service indexOverwrite parameter", required = false, help = true, arity = 0) public boolean indexOverwrite = false; - + @Parameter(names = {"--index-id"}, description = "The body web service indexId parameter", required = false, arity = 1) public String indexId; - + @Parameter(names = {"--index-description"}, description = "The body web service indexDescription parameter", required = false, arity = 1) public String indexDescription; - + @Parameter(names = {"--batch-size"}, description = "The body web service batchSize parameter", required = false, arity = 1) public Integer batchSize; - + } @Parameters(commandNames = {"stats-export-run"}, commandDescription ="Export calculated variant stats and frequencies") public class RunStatsExportCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--cohorts"}, description = "The body web service cohorts parameter", required = false, arity = 1) public String cohorts; - + @Parameter(names = {"--output"}, description = "The body web service output parameter", required = false, arity = 1) public String output; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--output-file-format"}, description = "The body web service outputFileFormat parameter", required = false, arity = 1) public String outputFileFormat; - + } @Parameters(commandNames = {"stats-run"}, commandDescription ="Compute variant stats for any cohort and any set of variants.") public class RunStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--samples"}, description = "The body web service samples parameter", required = false, arity = 1) public String samples; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--output-file-name"}, description = "The body web service outputFileName parameter", required = false, arity = 1) public String outputFileName; - + @Parameter(names = {"--aggregated"}, description = "The body web service aggregated parameter", required = false, arity = 1) public String aggregated; - + @Parameter(names = {"--aggregation-mapping-file"}, description = "The body web service aggregationMappingFile parameter", required = false, arity = 1) public String aggregationMappingFile; - + } } \ No newline at end of file diff --git a/opencga-catalog/src/test/resources/configuration-test.yml b/opencga-catalog/src/test/resources/configuration-test.yml index 27db4eaeee9..3fcaa74c98a 100644 --- a/opencga-catalog/src/test/resources/configuration-test.yml +++ b/opencga-catalog/src/test/resources/configuration-test.yml @@ -25,12 +25,15 @@ analysis: # You can indicate the version, e.g: opencb/opencga-ext-tools:2.12.0, otherwise the current OpenCGA version will be used opencgaExtTools: "opencb/opencga-ext-tools" tools: - exomiser-13.1.0: + - id: "exomiser" + version: "13.1" dockerId: "exomiser/exomiser-cli:13.1.0" resources: HG38: "exomiser/2109_hg38.zip" PHENOTYPE: "exomiser/2109_phenotype.zip" - exomiser-14.0.0: + - id: "exomiser" + version: "14.0" + defaultVersion: true dockerId: "exomiser/exomiser-cli:14.0.0" resources: HG38: "exomiser/2402_hg38.zip" diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java index a506527e38f..89ffedf5483 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java @@ -527,5 +527,4 @@ public class FieldConstants { public static final String EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION = "Clinical analysis ID."; public static final String EXOMISER_SAMPLE_DESCRIPTION = "Sample ID."; public static final String EXOMISER_VERSION_DESCRIPTION = "Exomiser version."; - public static final String EXOMISER_DEFAULT_VERSION = "14.0.0"; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java b/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java index c0450569451..9f1c7b32683 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/config/Analysis.java @@ -29,7 +29,7 @@ public class Analysis { private String resourceUrl; private String opencgaExtTools; - private Map tools; + private List tools; private Execution execution; @@ -37,7 +37,7 @@ public class Analysis { public Analysis() { packages = new ArrayList<>(); - tools = new HashMap<>(); + tools = new ArrayList<>(); execution = new Execution(); frameworks = new ArrayList<>(); } @@ -78,11 +78,11 @@ public Analysis setOpencgaExtTools(String opencgaExtTools) { return this; } - public Map getTools() { + public List getTools() { return tools; } - public Analysis setTools(Map tools) { + public Analysis setTools(List tools) { this.tools = tools; return this; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java b/opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java index 65aa7dc08be..3744915b6b9 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/config/AnalysisTool.java @@ -21,6 +21,9 @@ public class AnalysisTool { + private String id; + private String version; + private boolean defaultVersion; private String dockerId; private String params; private Map resources; @@ -29,7 +32,10 @@ public AnalysisTool() { resources = new HashMap<>(); } - public AnalysisTool(String dockerId, String params, Map resources) { + public AnalysisTool(String id, String version, boolean defaultVersion, String dockerId, String params, Map resources) { + this.id = id; + this.version = version; + this.defaultVersion = defaultVersion; this.dockerId = dockerId; this.params = params; this.resources = resources; @@ -38,13 +44,43 @@ public AnalysisTool(String dockerId, String params, Map resource @Override public String toString() { final StringBuilder sb = new StringBuilder("AnalysisTool{"); - sb.append("dockerId='").append(dockerId).append('\''); + sb.append("id='").append(id).append('\''); + sb.append(", version='").append(version).append('\''); + sb.append(", defaultVersion=").append(defaultVersion); + sb.append(", dockerId='").append(dockerId).append('\''); sb.append(", params='").append(params).append('\''); sb.append(", resources=").append(resources); sb.append('}'); return sb.toString(); } + public String getId() { + return id; + } + + public AnalysisTool setId(String id) { + this.id = id; + return this; + } + + public String getVersion() { + return version; + } + + public AnalysisTool setVersion(String version) { + this.version = version; + return this; + } + + public boolean isDefaultVersion() { + return defaultVersion; + } + + public AnalysisTool setDefaultVersion(boolean defaultVersion) { + this.defaultVersion = defaultVersion; + return this; + } + public String getDockerId() { return dockerId; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java index 61d33a06ebd..deb5f28ba00 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserInterpretationAnalysisParams.java @@ -4,8 +4,6 @@ import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.tools.ToolParams; -import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_DEFAULT_VERSION; - public class ExomiserInterpretationAnalysisParams extends ToolParams { public static final String DESCRIPTION = "Exomiser interpretation analysis params"; @@ -13,7 +11,7 @@ public class ExomiserInterpretationAnalysisParams extends ToolParams { @DataField(id = "clinicalAnalysis", description = FieldConstants.EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION, required = true) private String clinicalAnalysis; - @DataField(id = "exomiserVersion", description = FieldConstants.EXOMISER_VERSION_DESCRIPTION, defaultValue = EXOMISER_DEFAULT_VERSION) + @DataField(id = "exomiserVersion", description = FieldConstants.EXOMISER_VERSION_DESCRIPTION) private String exomiserVersion; public ExomiserInterpretationAnalysisParams() { diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java index 15a3954935c..88d5b3876dd 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/clinical/ExomiserWrapperParams.java @@ -4,17 +4,13 @@ import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.tools.ToolParams; -import java.util.Map; - -import static org.opencb.opencga.core.api.FieldConstants.EXOMISER_DEFAULT_VERSION; - public class ExomiserWrapperParams extends ToolParams { public static final String DESCRIPTION = "Exomiser parameters"; @DataField(id = "sample", description = FieldConstants.EXOMISER_SAMPLE_DESCRIPTION, required = true) private String sample; - @DataField(id = "exomiserVersion", description = FieldConstants.EXOMISER_VERSION_DESCRIPTION, defaultValue = EXOMISER_DEFAULT_VERSION) + @DataField(id = "exomiserVersion", description = FieldConstants.EXOMISER_VERSION_DESCRIPTION) private String exomiserVersion; @DataField(id = "outdir", description = FieldConstants.JOB_OUT_DIR_DESCRIPTION) diff --git a/opencga-core/src/main/resources/configuration.yml b/opencga-core/src/main/resources/configuration.yml index 75d980fc12d..485e748c3d6 100644 --- a/opencga-core/src/main/resources/configuration.yml +++ b/opencga-core/src/main/resources/configuration.yml @@ -118,12 +118,15 @@ analysis: # You can indicate the version, e.g: opencb/opencga-ext-tools:2.12.0, otherwise the current OpenCGA version will be used opencgaExtTools: "opencb/opencga-ext-tools" tools: - exomiser-13.1.0: + - id: "exomiser" + version: "13.1" dockerId: "exomiser/exomiser-cli:13.1.0" resources: HG38: "exomiser/2109_hg38.zip" PHENOTYPE: "exomiser/2109_phenotype.zip" - exomiser-14.0.0: + - id: "exomiser" + version: "14.0" + defaultVersion: true dockerId: "exomiser/exomiser-cli:14.0.0" resources: HG38: "exomiser/2402_hg38.zip" From 0c2fe66b0cec21263f6b70345787c2e6d229d9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 6 Jun 2024 09:00:24 +0200 Subject: [PATCH 08/13] analysis: use the resource version instead of the exomiser version to identify the Exomiser files to download, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java modified: opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java --- .../ExomiserWrapperAnalysisExecutor.java | 21 +++++++++++-------- .../ExomiserInterpretationAnalysisTest.java | 6 ++++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 14753c30e59..3658c1abc67 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -377,19 +377,22 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { // Mutex management to avoid multiple downloadings at the same time // the first to come, download data, others have to wait for - File readyFile = exomiserDataPath.resolve("READY-" + exomiserVersion).toFile(); - File preparingFile = exomiserDataPath.resolve("PREPARING-" + exomiserVersion).toFile(); + String resource = getToolResource(ExomiserWrapperAnalysis.ID, exomiserVersion, HG38_RESOURCE_KEY); + String resourceVersion = Paths.get(resource).getFileName().toString().split("[_]")[0]; + File readyFile = exomiserDataPath.resolve("READY-" + resourceVersion).toFile(); + File preparingFile = exomiserDataPath.resolve("PREPARING-" + resourceVersion).toFile(); // If all is ready, then return if (readyFile.exists()) { - logger.info("Exomiser {} data is already downloaded, so Exomiser analysis is ready to be executed.", exomiserVersion); + logger.info("Exomiser {} data {} is already downloaded, so Exomiser analysis is ready to be executed.", exomiserVersion, + resourceVersion); return exomiserDataPath; } // If it is preparing, then wait for ready and then return if (preparingFile.exists()) { long startTime = System.currentTimeMillis(); - logger.info("Exomiser {} data is downloading, waiting for it...", exomiserVersion); + logger.info("Exomiser {} data {} is downloading, waiting for it...", exomiserVersion, resourceVersion); while (!readyFile.exists()) { try { Thread.sleep(10000); @@ -400,8 +403,8 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { } long elapsedTime = System.currentTimeMillis() - startTime; if (elapsedTime > 18000000) { - throw new ToolException("Unable to run the Exomiser analysis because of Exomiser " + exomiserVersion + " data is not" - + " ready yet: maximum waiting time exceeded"); + throw new ToolException("Unable to run the Exomiser analysis because of Exomiser " + exomiserVersion + " data " + + resourceVersion + " is not ready yet: maximum waiting time exceeded"); } } logger.info("Exomiser {} data is now downloaded: Exomiser analysis is ready to be executed", exomiserVersion); @@ -413,7 +416,7 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { preparingFile.createNewFile(); } catch (IOException e) { preparingFile.delete(); - throw new ToolException("Error creating the Exomiser " + exomiserVersion + " data directory"); + throw new ToolException("Error creating the Exomiser " + exomiserVersion + " data " + resourceVersion + " directory"); } // Download resources and unzip files @@ -423,14 +426,14 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { } catch (ToolException e) { // If something wrong happened, the preparing file has to be deleted preparingFile.delete(); - throw new ToolException("Something wrong happened when preparing Exomiser " + exomiserVersion + " data", e); + throw new ToolException("Something wrong happened when preparing Exomiser " + exomiserVersion + " data " + resourceVersion, e); } // Mutex management, signal exomiser data is ready try { readyFile.createNewFile(); } catch (IOException e) { - throw new ToolException("Error preparing Exomiser " + exomiserVersion + " data", e); + throw new ToolException("Error preparing Exomiser " + exomiserVersion + " data " + resourceVersion, e); } preparingFile.delete(); diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java index c24cc6ebe41..1fdbaa4b5d6 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java @@ -72,7 +72,8 @@ public void testNormalization() throws NonStandardCompliantSampleField { @Test public void singleExomiserAnalysis() throws IOException, CatalogException, ToolException { String exomiserVersion = "13.1"; - assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + exomiserVersion).toFile().exists()); + String resourceVersion = "2109"; + assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + resourceVersion).toFile().exists()); prepareExomiserData(); outDir = Paths.get(opencga.createTmpOutdir("_interpretation_analysis_single")); @@ -103,7 +104,8 @@ public void singleExomiserAnalysis() throws IOException, CatalogException, ToolE @Test public void familyExomiserAnalysis() throws IOException, CatalogException, ToolException { String exomiserVersion = "13.1"; - assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + exomiserVersion).toFile().exists()); + String resourceVersion = "2109"; + assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + resourceVersion).toFile().exists()); prepareExomiserData(); outDir = Paths.get(opencga.createTmpOutdir("_interpretation_analysis_family")); From dc297304de60e44bf1717d0f2a3d53d2ea379bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 6 Jun 2024 19:19:18 +0200 Subject: [PATCH 09/13] analysis: set dinamically the ClinVar white list depending on the file exists in the Exomiser data, #TASK-6297, TASK-6255 In addition: - the user is set in the docker command line according to the user/group of the job dir. - the assembly is checked (a little step to support GRCh37) On branch TASK-6255 Changes to be committed: modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java modified: opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java modified: opencga-analysis/src/test/resources/exomiser/application.properties modified: opencga-app/app/analysis/exomiser/application.properties modified: opencga-core/src/main/resources/configuration.yml --- .../ExomiserInterpretationAnalysis.java | 13 +++++-- .../DockerWrapperAnalysisExecutor.java | 9 +++++ .../exomiser/ExomiserWrapperAnalysis.java | 1 + .../ExomiserWrapperAnalysisExecutor.java | 35 ++++++++++++++++--- .../ExomiserInterpretationAnalysisTest.java | 12 ++++--- .../resources/exomiser/application.properties | 2 +- .../analysis/exomiser/application.properties | 2 +- .../src/main/resources/configuration.yml | 2 ++ 8 files changed, 64 insertions(+), 12 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java index 0a2b4934c0c..6e94d30138c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysis.java @@ -275,8 +275,17 @@ private List getPrimaryFindings() throws IOException, StorageEn // Convert variants to clinical variants for (Variant variant : variantResults.getResults()) { ClinicalVariant clinicalVariant = clinicalVariantCreator.create(variant); - List exomiserTranscripts = new ArrayList<>(variantTranscriptMap.get(normalizedToTsv - .get(variant.toStringSimple()))); + List exomiserTranscripts = new ArrayList<>(); + if (normalizedToTsv.containsKey(variant.toStringSimple())) { + if (variantTranscriptMap.containsKey(normalizedToTsv.get(variant.toStringSimple()))) { + exomiserTranscripts.addAll(variantTranscriptMap.get(normalizedToTsv.get(variant.toStringSimple()))); + } else { + logger.warn("Variant {} (normalizedToTsv {}), not found in map variantTranscriptMap", variant.toStringSimple(), + normalizedToTsv.get(variant.toStringSimple())); + } + } else { + logger.warn("Variant {} not found in map normalizedToTsv", variant.toStringSimple()); + } for (String[] fields : variantTsvMap.get(variant.toStringSimple())) { ClinicalProperty.ModeOfInheritance moi = getModeOfInheritance(fields[4]); Map attributes = getAttributesFromTsv(fields); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java index 486571e8f36..c2dd3b5249e 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java @@ -7,6 +7,7 @@ import org.apache.commons.lang3.tuple.Pair; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.exec.Command; +import org.opencb.commons.utils.DockerUtils; import org.opencb.opencga.core.common.GitRepositoryState; import org.opencb.opencga.core.config.AnalysisTool; import org.opencb.opencga.core.exceptions.ToolException; @@ -91,6 +92,14 @@ protected StringBuilder initCommandLine() { return new StringBuilder("docker run --log-driver=none -a stdin -a stdout -a stderr "); } + protected StringBuilder initCommandLine(String user) { + StringBuilder sb = initCommandLine(); + if (StringUtils.isNotEmpty(user)) { + sb.append("--user ").append(user); + } + return sb; + } + protected Map appendMounts(List> inputFilenames, StringBuilder sb) { Map mountMap = new HashMap<>(); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java index 63630a0d64d..a4e5dae34c9 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysis.java @@ -38,6 +38,7 @@ public class ExomiserWrapperAnalysis extends OpenCgaToolScopeStudy { public final static String EXOMISER_PREFIX = "exomiser-"; // It must match the resources key in the exomiser/tool section in the configuration file + public final static String HG19_RESOURCE_KEY = "HG19"; public final static String HG38_RESOURCE_KEY = "HG38"; public final static String PHENOTYPE_RESOURCE_KEY = "PHENOTYPE"; diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 3658c1abc67..06bfe9752a2 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -9,6 +9,7 @@ import org.opencb.biodata.models.pedigree.IndividualProperty; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.commons.exec.Command; +import org.opencb.commons.utils.FileUtils; import org.opencb.opencga.analysis.ResourceUtils; import org.opencb.opencga.analysis.StorageToolExecutor; import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; @@ -51,6 +52,7 @@ public class ExomiserWrapperAnalysisExecutor extends DockerWrapperAnalysisExecut // These constants must match in the file application.properties to be replaced private static final String HG38_DATA_VERSION_MARK = "put_here_hg38_data_version"; private static final String PHENOTYPE_DATA_VERSION_MARK = "put_here_phenotype_data_version"; + private static final String CLINVAR_WHITELIST_MARK = "put_here_clinvar_whitelist"; private String studyId; private String sampleId; @@ -59,7 +61,7 @@ public class ExomiserWrapperAnalysisExecutor extends DockerWrapperAnalysisExecut private Logger logger = LoggerFactory.getLogger(this.getClass()); @Override - public void run() throws ToolException { + public void run() throws ToolException, IOException, CatalogException { // Check HPOs, it will use a set to avoid duplicate HPOs, // and it will check both phenotypes and disorders logger.info("{}: Checking individual for sample {} in study {}", ID, sampleId, studyId); @@ -67,6 +69,16 @@ public void run() throws ToolException { Individual individual = IndividualQcUtils.getIndividualBySampleId(studyId, sampleId, getVariantStorageManager().getCatalogManager(), getToken()); + // Check assembly + String assembly = IndividualQcUtils.getAssembly(studyId, getVariantStorageManager().getCatalogManager(), getToken()); + if (assembly.equalsIgnoreCase("GRCh38")) { + assembly = "hg38"; +// } else if (assembly.equalsIgnoreCase("GRCh37")) { +// assembly = "hg19"; + } else { + throw new ToolException("Invalid assembly '" + assembly + "'. Supported assemblies are: GRCh38"); + } + // Set father and mother if necessary (family ?) if (individual.getFather() != null && StringUtils.isNotEmpty(individual.getFather().getId())) { individual.setFather(IndividualQcUtils.getIndividualById(studyId, individual.getFather().getId(), @@ -164,10 +176,22 @@ public void run() throws ToolException { try { Path target = getOutDir().resolve(EXOMISER_PROPERTIES_TEMPLATE_FILENAME); copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile(), target.toFile()); + // Update hg38 data version Command cmd = new Command("sed -i \"s/" + HG38_DATA_VERSION_MARK + "/" + getHg38DataVersion() + "/g\" " + target); cmd.run(); + // Update phenotype data version cmd = new Command("sed -i \"s/" + PHENOTYPE_DATA_VERSION_MARK + "/" + getPhenotypeDataVersion() + "/g\" " + target); cmd.run(); + // Update clinvar whitelist + String whitelist; + String clinvarWhitelistFilename = getHg38DataVersion() + "_hg38_clinvar_whitelist.tsv.gz"; + if (Files.exists(exomiserDataPath.resolve(getHg38DataVersion() + "_" + assembly).resolve(clinvarWhitelistFilename))) { + whitelist = "exomiser.hg38.variant-white-list-path=" + clinvarWhitelistFilename; + } else { + whitelist = "#exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz"; + } + cmd = new Command("sed -i \"s/" + CLINVAR_WHITELIST_MARK + "/" + whitelist + "/g\" " + target); + cmd.run(); } catch (IOException e) { throw new ToolException("Error copying Exomiser properties file", e); } @@ -181,7 +205,8 @@ public void run() throws ToolException { } // Build the docker command line to run Exomiser - StringBuilder sb = initCommandLine(); + String[] userAndGroup = FileUtils.getUserAndGroup(getOutDir(), true); + StringBuilder sb = initCommandLine(userAndGroup[0] + ":" + userAndGroup[1]); // Append mounts sb.append(" --mount type=bind,source=" + exomiserDataPath + ",target=/data") @@ -197,11 +222,13 @@ public void run() throws ToolException { sb.append(" --ped /jobdir/").append(pedigreeFile.getName()); } sb.append(" --vcf /jobdir/" + vcfPath.getFileName()) - .append(" --assembly hg38 --output /jobdir/").append(EXOMISER_OUTPUT_OPTIONS_FILENAME) + .append(" --assembly ").append(assembly) + .append(" --output /jobdir/").append(EXOMISER_OUTPUT_OPTIONS_FILENAME) .append(" --spring.config.location=/jobdir/").append(EXOMISER_PROPERTIES_TEMPLATE_FILENAME); // Execute command and redirect stdout and stderr to the files logger.info("{}: Docker command line: {}", ID, sb); + System.out.println(sb); runCommandLine(sb.toString()); } @@ -377,7 +404,7 @@ private Path getExomiserDataPath(Path openCgaHome) throws ToolException { // Mutex management to avoid multiple downloadings at the same time // the first to come, download data, others have to wait for - String resource = getToolResource(ExomiserWrapperAnalysis.ID, exomiserVersion, HG38_RESOURCE_KEY); + String resource = getToolResource(ExomiserWrapperAnalysis.ID, exomiserVersion, PHENOTYPE_RESOURCE_KEY); String resourceVersion = Paths.get(resource).getFileName().toString().split("[_]")[0]; File readyFile = exomiserDataPath.resolve("READY-" + resourceVersion).toFile(); File preparingFile = exomiserDataPath.resolve("PREPARING-" + resourceVersion).toFile(); diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java index 1fdbaa4b5d6..38d2159c6a9 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/clinical/exomiser/ExomiserInterpretationAnalysisTest.java @@ -71,8 +71,10 @@ public void testNormalization() throws NonStandardCompliantSampleField { @Test public void singleExomiserAnalysis() throws IOException, CatalogException, ToolException { - String exomiserVersion = "13.1"; - String resourceVersion = "2109"; +// String exomiserVersion = "13.1"; +// String resourceVersion = "2109"; + String exomiserVersion = "14.0"; + String resourceVersion = "2402"; assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + resourceVersion).toFile().exists()); prepareExomiserData(); @@ -103,8 +105,10 @@ public void singleExomiserAnalysis() throws IOException, CatalogException, ToolE @Test public void familyExomiserAnalysis() throws IOException, CatalogException, ToolException { - String exomiserVersion = "13.1"; - String resourceVersion = "2109"; +// String exomiserVersion = "13.1"; +// String resourceVersion = "2109"; + String exomiserVersion = "14.0"; + String resourceVersion = "2402"; assumeTrue(Paths.get("/opt/opencga/analysis/resources/exomiser/READY-" + resourceVersion).toFile().exists()); prepareExomiserData(); diff --git a/opencga-analysis/src/test/resources/exomiser/application.properties b/opencga-analysis/src/test/resources/exomiser/application.properties index ee367632b7f..ee9a2b7d7ed 100644 --- a/opencga-analysis/src/test/resources/exomiser/application.properties +++ b/opencga-analysis/src/test/resources/exomiser/application.properties @@ -40,6 +40,6 @@ exomiser.data-directory=/data exomiser.hg38.data-version=put_here_hg38_data_version #exomiser.hg19.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg19.tsv.gz #exomiser.hg19.variant-white-list-path=${exomiser.hg19.data-version}_hg19_clinvar_whitelist.tsv.gz -exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz +put_here_clinvar_whitelist exomiser.phenotype.data-version=put_here_phenotype_data_version logging.file.name=/jobdir/exomiser.log diff --git a/opencga-app/app/analysis/exomiser/application.properties b/opencga-app/app/analysis/exomiser/application.properties index ee367632b7f..ee9a2b7d7ed 100644 --- a/opencga-app/app/analysis/exomiser/application.properties +++ b/opencga-app/app/analysis/exomiser/application.properties @@ -40,6 +40,6 @@ exomiser.data-directory=/data exomiser.hg38.data-version=put_here_hg38_data_version #exomiser.hg19.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg19.tsv.gz #exomiser.hg19.variant-white-list-path=${exomiser.hg19.data-version}_hg19_clinvar_whitelist.tsv.gz -exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz +put_here_clinvar_whitelist exomiser.phenotype.data-version=put_here_phenotype_data_version logging.file.name=/jobdir/exomiser.log diff --git a/opencga-core/src/main/resources/configuration.yml b/opencga-core/src/main/resources/configuration.yml index 485e748c3d6..3c373fce695 100644 --- a/opencga-core/src/main/resources/configuration.yml +++ b/opencga-core/src/main/resources/configuration.yml @@ -122,6 +122,7 @@ analysis: version: "13.1" dockerId: "exomiser/exomiser-cli:13.1.0" resources: + HG19: "exomiser/2109_hg19.zip" HG38: "exomiser/2109_hg38.zip" PHENOTYPE: "exomiser/2109_phenotype.zip" - id: "exomiser" @@ -129,6 +130,7 @@ analysis: defaultVersion: true dockerId: "exomiser/exomiser-cli:14.0.0" resources: + HG19: "exomiser/2402_hg19.zip" HG38: "exomiser/2402_hg38.zip" PHENOTYPE: "exomiser/2402_phenotype.zip" execution: From 2077cc5e500d2d3f342e0ec68135bf8fdefd4d5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Fri, 7 Jun 2024 10:48:25 +0200 Subject: [PATCH 10/13] analysis: improve log messages, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java --- .../ExomiserWrapperAnalysisExecutor.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 06bfe9752a2..7887106f868 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -64,7 +64,7 @@ public class ExomiserWrapperAnalysisExecutor extends DockerWrapperAnalysisExecut public void run() throws ToolException, IOException, CatalogException { // Check HPOs, it will use a set to avoid duplicate HPOs, // and it will check both phenotypes and disorders - logger.info("{}: Checking individual for sample {} in study {}", ID, sampleId, studyId); + logger.info("Checking individual for sample {} in study {}", sampleId, studyId); Set hpos = new HashSet<>(); Individual individual = IndividualQcUtils.getIndividualBySampleId(studyId, sampleId, getVariantStorageManager().getCatalogManager(), getToken()); @@ -89,7 +89,7 @@ public void run() throws ToolException, IOException, CatalogException { getVariantStorageManager().getCatalogManager(), getToken())); } - logger.info("{}: Individual found: {}", ID, individual.getId()); + logger.info("Individual found: {}", individual.getId()); if (CollectionUtils.isNotEmpty(individual.getPhenotypes())) { for (Phenotype phenotype : individual.getPhenotypes()) { if (phenotype.getId().startsWith("HP:")) { @@ -109,7 +109,7 @@ public void run() throws ToolException, IOException, CatalogException { throw new ToolException("Missing phenotypes, i.e. HPO terms, for individual/sample (" + individual.getId() + "/" + sampleId + ")"); } - logger.info("{}: Getting HPO for individual {}: {}", ID, individual.getId(), StringUtils.join(hpos, ",")); + logger.info("Getting HPO for individual {}: {}", individual.getId(), StringUtils.join(hpos, ",")); List samples = new ArrayList<>(); samples.add(sampleId); @@ -150,8 +150,8 @@ public void run() throws ToolException, IOException, CatalogException { QueryOptions queryOptions = new QueryOptions(QueryOptions.INCLUDE, "id,studies.samples"); - logger.info("{}: Exomiser exports variants using the query: {}", ID, query.toJson()); - logger.info("{}: Exomiser exports variants using the query options: {}", ID, queryOptions.toJson()); + logger.info("Exomiser exports variants using the query: {}", query.toJson()); + logger.info("Exomiser exports variants using the query options: {}", queryOptions.toJson()); try { getVariantStorageManager().exportData(vcfPath.toString(), VariantWriterFactory.VariantOutputFormat.VCF_GZ, null, query, @@ -206,7 +206,9 @@ public void run() throws ToolException, IOException, CatalogException { // Build the docker command line to run Exomiser String[] userAndGroup = FileUtils.getUserAndGroup(getOutDir(), true); - StringBuilder sb = initCommandLine(userAndGroup[0] + ":" + userAndGroup[1]); + String dockerUser = userAndGroup[0] + ":" + userAndGroup[1]; + logger.info("Docker user: {}", dockerUser); + StringBuilder sb = initCommandLine(dockerUser); // Append mounts sb.append(" --mount type=bind,source=" + exomiserDataPath + ",target=/data") @@ -227,8 +229,7 @@ public void run() throws ToolException, IOException, CatalogException { .append(" --spring.config.location=/jobdir/").append(EXOMISER_PROPERTIES_TEMPLATE_FILENAME); // Execute command and redirect stdout and stderr to the files - logger.info("{}: Docker command line: {}", ID, sb); - System.out.println(sb); + logger.info("Docker command line: {}", sb); runCommandLine(sb.toString()); } @@ -516,7 +517,7 @@ private void downloadAndUnzip(Path exomiserDataPath, String resourceKey) throws } else { url = getConfiguration().getAnalysis().getResourceUrl() + resource; } - logger.info("{}: Downloading Exomiser data: {} in {}", ID, url, exomiserDataPath); + logger.info("Downloading Exomiser data: {} in {}", url, exomiserDataPath); try { ResourceUtils.downloadThirdParty(new URL(url), exomiserDataPath); filename = Paths.get(url).getFileName().toString(); @@ -539,7 +540,7 @@ private void downloadAndUnzip(Path exomiserDataPath, String resourceKey) throws } // Free disk space - logger.info("{}: Deleting Exomiser data: {}", ID, filename); + logger.info("Deleting Exomiser data: {}", filename); exomiserDataPath.resolve(filename).toFile().delete(); } From 53c4c272deface3998b29f0b39033a7c6b623890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Fri, 7 Jun 2024 11:36:55 +0200 Subject: [PATCH 11/13] core: improve description of the Exomiser version parameter, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java --- .../java/org/opencb/opencga/core/api/FieldConstants.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java index 89ffedf5483..95fc16c6838 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java @@ -45,7 +45,7 @@ public class FieldConstants { public static final String ORGANIZATION_ADMINS_DESCRIPTION = "Administrative users of the organization."; public static final String ORGANIZATION_PROJECTS_DESCRIPTION = "Projects the organization holds."; public static final String ORGANIZATION_NOTES_DESCRIPTION = "Notes of organization scope."; -// public static final String ORGANIZATION_AUTHENTICATION_ORIGINS_DESCRIPTION = "Authentication origins used by the organization. This " + // public static final String ORGANIZATION_AUTHENTICATION_ORIGINS_DESCRIPTION = "Authentication origins used by the organization. This " // + "contains all the configuration necessary to be able to communicate with the external authentication origins."; public static final String ORGANIZATION_CONFIGURATION_DESCRIPTION = "Organization configuration information."; public static final String ORGANIZATION_INTERNAL_DESCRIPTION = "Organization internal information."; @@ -497,7 +497,7 @@ public class FieldConstants { public static final String HRDETECT_CNV_QUERY_DESCRIPTION = "CNV query"; public static final String HRDETECT_INDEL_QUERY_DESCRIPTION = "INDEL query"; public static final String HRDETECT_SNV3_CUSTOM_NAME_DESCRIPTION = "Custom signature name that will be considered as SNV3 input for" - + " HRDetect."; + + " HRDetect."; public static final String HRDETECT_SNV8_CUSTOM_NAME_DESCRIPTION = "Custom signature name that will be considered as SNV8 input for" + " HRDetect."; public static final String HRDETECT_SV3_CUSTOM_NAME_DESCRIPTION = "Custom signature name that will be considered as SV3 input for" @@ -526,5 +526,7 @@ public class FieldConstants { // Exomiser public static final String EXOMISER_CLINICAL_ANALYSIS_DESCRIPTION = "Clinical analysis ID."; public static final String EXOMISER_SAMPLE_DESCRIPTION = "Sample ID."; - public static final String EXOMISER_VERSION_DESCRIPTION = "Exomiser version."; + public static final String EXOMISER_VERSION_DESCRIPTION = "Exomiser version in the format X.Y where X is the major version and Y the" + + " minor version, e.g.: 14.0. If the version is not specified, the default version will be used. Refer to the configuration" + + " file to view all installed Exomiser versions and identify the default version."; } From a7702361ec11b038fb9f39d090bd18e50132bc61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Fri, 7 Jun 2024 11:44:07 +0200 Subject: [PATCH 12/13] client: generate clients, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java modified: opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java modified: opencga-client/src/main/R/R/Admin-methods.R modified: opencga-client/src/main/R/R/Alignment-methods.R modified: opencga-client/src/main/R/R/AllGenerics.R modified: opencga-client/src/main/R/R/Clinical-methods.R modified: opencga-client/src/main/R/R/Cohort-methods.R modified: opencga-client/src/main/R/R/Family-methods.R modified: opencga-client/src/main/R/R/File-methods.R modified: opencga-client/src/main/R/R/GA4GH-methods.R modified: opencga-client/src/main/R/R/Individual-methods.R modified: opencga-client/src/main/R/R/Job-methods.R modified: opencga-client/src/main/R/R/Meta-methods.R modified: opencga-client/src/main/R/R/Operation-methods.R modified: opencga-client/src/main/R/R/Organization-methods.R modified: opencga-client/src/main/R/R/Panel-methods.R modified: opencga-client/src/main/R/R/Project-methods.R modified: opencga-client/src/main/R/R/Sample-methods.R modified: opencga-client/src/main/R/R/Study-methods.R modified: opencga-client/src/main/R/R/User-methods.R modified: opencga-client/src/main/R/R/Variant-methods.R modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java modified: opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java modified: opencga-client/src/main/javascript/Admin.js modified: opencga-client/src/main/javascript/Alignment.js modified: opencga-client/src/main/javascript/ClinicalAnalysis.js modified: opencga-client/src/main/javascript/Cohort.js modified: opencga-client/src/main/javascript/DiseasePanel.js modified: opencga-client/src/main/javascript/Family.js modified: opencga-client/src/main/javascript/File.js modified: opencga-client/src/main/javascript/GA4GH.js modified: opencga-client/src/main/javascript/Individual.js modified: opencga-client/src/main/javascript/Job.js modified: opencga-client/src/main/javascript/Meta.js modified: opencga-client/src/main/javascript/Organization.js modified: opencga-client/src/main/javascript/Project.js modified: opencga-client/src/main/javascript/Sample.js modified: opencga-client/src/main/javascript/Study.js modified: opencga-client/src/main/javascript/User.js modified: opencga-client/src/main/javascript/Variant.js modified: opencga-client/src/main/javascript/VariantOperation.js modified: opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/family_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/file_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/job_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/project_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/study_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/user_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py modified: opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py --- .../app/cli/main/OpenCgaCompleter.java | 2 +- .../app/cli/main/OpencgaCliOptionsParser.java | 2 +- .../AnalysisClinicalCommandOptions.java | 2466 ++++++++--------- .../AnalysisVariantCommandOptions.java | 2426 ++++++++-------- opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 20 +- .../src/main/R/R/Clinical-methods.R | 4 +- opencga-client/src/main/R/R/Cohort-methods.R | 4 +- opencga-client/src/main/R/R/Family-methods.R | 4 +- opencga-client/src/main/R/R/File-methods.R | 4 +- opencga-client/src/main/R/R/GA4GH-methods.R | 2 +- .../src/main/R/R/Individual-methods.R | 4 +- opencga-client/src/main/R/R/Job-methods.R | 4 +- opencga-client/src/main/R/R/Meta-methods.R | 2 +- .../src/main/R/R/Operation-methods.R | 2 +- .../src/main/R/R/Organization-methods.R | 4 +- opencga-client/src/main/R/R/Panel-methods.R | 4 +- opencga-client/src/main/R/R/Project-methods.R | 2 +- opencga-client/src/main/R/R/Sample-methods.R | 4 +- opencga-client/src/main/R/R/Study-methods.R | 4 +- opencga-client/src/main/R/R/User-methods.R | 2 +- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 2 +- .../client/rest/clients/AlignmentClient.java | 2 +- .../rest/clients/ClinicalAnalysisClient.java | 2 +- .../client/rest/clients/CohortClient.java | 2 +- .../rest/clients/DiseasePanelClient.java | 2 +- .../client/rest/clients/FamilyClient.java | 2 +- .../client/rest/clients/FileClient.java | 2 +- .../client/rest/clients/GA4GHClient.java | 2 +- .../client/rest/clients/IndividualClient.java | 2 +- .../client/rest/clients/JobClient.java | 2 +- .../client/rest/clients/MetaClient.java | 2 +- .../rest/clients/OrganizationClient.java | 2 +- .../client/rest/clients/ProjectClient.java | 2 +- .../client/rest/clients/SampleClient.java | 2 +- .../client/rest/clients/StudyClient.java | 2 +- .../client/rest/clients/UserClient.java | 2 +- .../client/rest/clients/VariantClient.java | 2 +- .../rest/clients/VariantOperationClient.java | 2 +- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/ClinicalAnalysis.js | 2 +- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 2 +- .../src/main/javascript/Organization.js | 2 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 2 +- .../rest_clients/alignment_client.py | 2 +- .../rest_clients/clinical_analysis_client.py | 2 +- .../pyopencga/rest_clients/cohort_client.py | 2 +- .../rest_clients/disease_panel_client.py | 2 +- .../pyopencga/rest_clients/family_client.py | 2 +- .../pyopencga/rest_clients/file_client.py | 2 +- .../pyopencga/rest_clients/ga4gh_client.py | 2 +- .../rest_clients/individual_client.py | 2 +- .../pyopencga/rest_clients/job_client.py | 2 +- .../pyopencga/rest_clients/meta_client.py | 2 +- .../rest_clients/organization_client.py | 2 +- .../pyopencga/rest_clients/project_client.py | 2 +- .../pyopencga/rest_clients/sample_client.py | 2 +- .../pyopencga/rest_clients/study_client.py | 2 +- .../pyopencga/rest_clients/user_client.py | 2 +- .../pyopencga/rest_clients/variant_client.py | 2 +- .../rest_clients/variant_operation_client.py | 2 +- 77 files changed, 2540 insertions(+), 2540 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index e83115c8d1c..cdeae77bdd4 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-05-23 OpenCB +* Copyright 2015-2024-06-07 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index a00af1b0ca1..bc0129698f7 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-05-23 OpenCB +* Copyright 2015-2024-06-07 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java index 43b5345b02b..d0169a28ea4 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java @@ -14,14 +14,14 @@ /* - * WARNING: AUTOGENERATED CODE - * - * This code was generated by a tool. - * - * Manual changes to this file may cause unexpected behavior in your application. - * Manual changes to this file will be overwritten if the code is regenerated. - * - */ +* WARNING: AUTOGENERATED CODE +* +* This code was generated by a tool. +* +* Manual changes to this file may cause unexpected behavior in your application. +* Manual changes to this file will be overwritten if the code is regenerated. +* +*/ /** * This class contains methods for the Analysis - Clinical command line. @@ -30,48 +30,48 @@ @Parameters(commandNames = {"clinical"}, commandDescription = "Analysis - Clinical commands") public class AnalysisClinicalCommandOptions { - public JCommander jCommander; - public CommonCommandOptions commonCommandOptions; - - public UpdateAclCommandOptions updateAclCommandOptions; - public LoadAnnotationSetsCommandOptions loadAnnotationSetsCommandOptions; - public UpdateClinicalConfigurationCommandOptions updateClinicalConfigurationCommandOptions; - public CreateCommandOptions createCommandOptions; - public DistinctCommandOptions distinctCommandOptions; - public DistinctInterpretationCommandOptions distinctInterpretationCommandOptions; - public SearchInterpretationCommandOptions searchInterpretationCommandOptions; - public InfoInterpretationCommandOptions infoInterpretationCommandOptions; - public RunInterpreterCancerTieringCommandOptions runInterpreterCancerTieringCommandOptions; - public RunInterpreterExomiserCommandOptions runInterpreterExomiserCommandOptions; - public RunInterpreterTeamCommandOptions runInterpreterTeamCommandOptions; - public RunInterpreterTieringCommandOptions runInterpreterTieringCommandOptions; - public RunInterpreterZettaCommandOptions runInterpreterZettaCommandOptions; - public LoadCommandOptions loadCommandOptions; - public AggregationStatsRgaCommandOptions aggregationStatsRgaCommandOptions; - public QueryRgaGeneCommandOptions queryRgaGeneCommandOptions; - public SummaryRgaGeneCommandOptions summaryRgaGeneCommandOptions; - public RunRgaIndexCommandOptions runRgaIndexCommandOptions; - public QueryRgaIndividualCommandOptions queryRgaIndividualCommandOptions; - public SummaryRgaIndividualCommandOptions summaryRgaIndividualCommandOptions; - public QueryRgaVariantCommandOptions queryRgaVariantCommandOptions; - public SummaryRgaVariantCommandOptions summaryRgaVariantCommandOptions; - public SearchCommandOptions searchCommandOptions; - public QueryVariantCommandOptions queryVariantCommandOptions; - public AclCommandOptions aclCommandOptions; - public DeleteCommandOptions deleteCommandOptions; - public UpdateCommandOptions updateCommandOptions; - public UpdateAnnotationSetsAnnotationsCommandOptions updateAnnotationSetsAnnotationsCommandOptions; - public InfoCommandOptions infoCommandOptions; - public CreateInterpretationCommandOptions createInterpretationCommandOptions; - public ClearInterpretationCommandOptions clearInterpretationCommandOptions; - public DeleteInterpretationCommandOptions deleteInterpretationCommandOptions; - public RevertInterpretationCommandOptions revertInterpretationCommandOptions; - public UpdateInterpretationCommandOptions updateInterpretationCommandOptions; - public UpdateReportCommandOptions updateReportCommandOptions; + public JCommander jCommander; + public CommonCommandOptions commonCommandOptions; + + public UpdateAclCommandOptions updateAclCommandOptions; + public LoadAnnotationSetsCommandOptions loadAnnotationSetsCommandOptions; + public UpdateClinicalConfigurationCommandOptions updateClinicalConfigurationCommandOptions; + public CreateCommandOptions createCommandOptions; + public DistinctCommandOptions distinctCommandOptions; + public DistinctInterpretationCommandOptions distinctInterpretationCommandOptions; + public SearchInterpretationCommandOptions searchInterpretationCommandOptions; + public InfoInterpretationCommandOptions infoInterpretationCommandOptions; + public RunInterpreterCancerTieringCommandOptions runInterpreterCancerTieringCommandOptions; + public RunInterpreterExomiserCommandOptions runInterpreterExomiserCommandOptions; + public RunInterpreterTeamCommandOptions runInterpreterTeamCommandOptions; + public RunInterpreterTieringCommandOptions runInterpreterTieringCommandOptions; + public RunInterpreterZettaCommandOptions runInterpreterZettaCommandOptions; + public LoadCommandOptions loadCommandOptions; + public AggregationStatsRgaCommandOptions aggregationStatsRgaCommandOptions; + public QueryRgaGeneCommandOptions queryRgaGeneCommandOptions; + public SummaryRgaGeneCommandOptions summaryRgaGeneCommandOptions; + public RunRgaIndexCommandOptions runRgaIndexCommandOptions; + public QueryRgaIndividualCommandOptions queryRgaIndividualCommandOptions; + public SummaryRgaIndividualCommandOptions summaryRgaIndividualCommandOptions; + public QueryRgaVariantCommandOptions queryRgaVariantCommandOptions; + public SummaryRgaVariantCommandOptions summaryRgaVariantCommandOptions; + public SearchCommandOptions searchCommandOptions; + public QueryVariantCommandOptions queryVariantCommandOptions; + public AclCommandOptions aclCommandOptions; + public DeleteCommandOptions deleteCommandOptions; + public UpdateCommandOptions updateCommandOptions; + public UpdateAnnotationSetsAnnotationsCommandOptions updateAnnotationSetsAnnotationsCommandOptions; + public InfoCommandOptions infoCommandOptions; + public CreateInterpretationCommandOptions createInterpretationCommandOptions; + public ClearInterpretationCommandOptions clearInterpretationCommandOptions; + public DeleteInterpretationCommandOptions deleteInterpretationCommandOptions; + public RevertInterpretationCommandOptions revertInterpretationCommandOptions; + public UpdateInterpretationCommandOptions updateInterpretationCommandOptions; + public UpdateReportCommandOptions updateReportCommandOptions; public AnalysisClinicalCommandOptions(CommonCommandOptions commonCommandOptions, JCommander jCommander) { - + this.jCommander = jCommander; this.commonCommandOptions = commonCommandOptions; this.updateAclCommandOptions = new UpdateAclCommandOptions(); @@ -109,2269 +109,2267 @@ public AnalysisClinicalCommandOptions(CommonCommandOptions commonCommandOptions, this.revertInterpretationCommandOptions = new RevertInterpretationCommandOptions(); this.updateInterpretationCommandOptions = new UpdateInterpretationCommandOptions(); this.updateReportCommandOptions = new UpdateReportCommandOptions(); - + } - + @Parameters(commandNames = {"acl-update"}, commandDescription ="Update the set of permissions granted for the member") public class UpdateAclCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--members"}, description = "Comma separated list of user or group IDs", required = true, arity = 1) - public String members; - + public String members; + @Parameter(names = {"--action"}, description = "Action to be performed [ADD, SET, REMOVE or RESET].", required = true, arity = 1) - public String action = "ADD"; - + public String action = "ADD"; + @Parameter(names = {"--propagate"}, description = "Propagate permissions to related families, individuals, samples and files", required = false, help = true, arity = 0) - public boolean propagate = false; - + public boolean propagate = false; + @Parameter(names = {"--permissions"}, description = "The body web service permissions parameter", required = true, arity = 1) public String permissions; - + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + } @Parameters(commandNames = {"annotation-sets-load"}, commandDescription ="Load annotation sets from a TSV file") public class LoadAnnotationSetsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--variable-set-id"}, description = "Variable set ID or name", required = true, arity = 1) - public String variableSetId; - + public String variableSetId; + @Parameter(names = {"--path"}, description = "Path where the TSV file is located in OpenCGA or where it should be located.", required = true, arity = 1) - public String path; - + public String path; + @Parameter(names = {"--parents"}, description = "Flag indicating whether to create parent directories if they don't exist (only when TSV file was not previously associated).", required = false, help = true, arity = 0) - public boolean parents = false; - + public boolean parents = false; + @Parameter(names = {"--annotation-set-id"}, description = "Annotation set id. If not provided, variableSetId will be used.", required = false, arity = 1) - public String annotationSetId; - + public String annotationSetId; + @Parameter(names = {"--content"}, description = "The body web service content parameter", required = false, arity = 1) public String content; - + } @Parameters(commandNames = {"clinical-configuration-update"}, commandDescription ="Update Clinical Analysis configuration.") public class UpdateClinicalConfigurationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @DynamicParameter(names = {"--interpretation-default-filter"}, description = "The body web service defaultFilter parameter. Use: --interpretation-default-filter key=value", required = false) public java.util.Map interpretationDefaultFilter = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"create"}, commandDescription ="Create a new clinical analysis") public class CreateCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--skip-create-default-interpretation"}, description = "Flag to skip creating and initialise an empty default primary interpretation (Id will be '{clinicalAnalysisId}.1'). This flag is only considered if no Interpretation object is passed.", required = false, help = true, arity = 0) - public boolean skipCreateDefaultInterpretation = false; - + public boolean skipCreateDefaultInterpretation = false; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = true, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--type"}, description = "Enum param allowed values: SINGLE, FAMILY, CANCER, COHORT, AUTOCOMPARATIVE", required = false, arity = 1) public String type; - + @Parameter(names = {"--disorder-id"}, description = "The body web service id parameter", required = false, arity = 1) public String disorderId; - + @Parameter(names = {"--proband-id"}, description = "The body web service id parameter", required = false, arity = 1) public String probandId; - + @Parameter(names = {"--family-id"}, description = "The body web service id parameter", required = false, arity = 1) public String familyId; - + @Parameter(names = {"--panel-lock"}, description = "The body web service panelLock parameter", required = false, arity = 1) public Boolean panelLock; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--report-title"}, description = "Report title.", required = false, arity = 1) public String reportTitle; - + @Parameter(names = {"--report-overview"}, description = "Report overview.", required = false, arity = 1) public String reportOverview; - + @Parameter(names = {"--report-logo"}, description = "Report logo.", required = false, arity = 1) public String reportLogo; - + @Parameter(names = {"--report-signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) public String reportSignedBy; - + @Parameter(names = {"--report-signature"}, description = "Report signature.", required = false, arity = 1) public String reportSignature; - + @Parameter(names = {"--report-date"}, description = "Report date.", required = false, arity = 1) public String reportDate; - + @Parameter(names = {"--request-id"}, description = "The body web service id parameter", required = false, arity = 1) public String requestId; - + @Parameter(names = {"--request-justification"}, description = "The body web service justification parameter", required = false, arity = 1) public String requestJustification; - + @Parameter(names = {"--request-date"}, description = "The body web service date parameter", required = false, arity = 1) public String requestDate; - + @DynamicParameter(names = {"--request-attributes"}, description = "The body web service attributes parameter. Use: --request-attributes key=value", required = false) public java.util.Map requestAttributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--responsible-id"}, description = "The body web service id parameter", required = false, arity = 1) public String responsibleId; - + @Parameter(names = {"--responsible-name"}, description = "The body web service name parameter", required = false, arity = 1) public String responsibleName; - + @Parameter(names = {"--responsible-email"}, description = "The body web service email parameter", required = false, arity = 1) public String responsibleEmail; - + @Parameter(names = {"--responsible-organization"}, description = "The body web service organization parameter", required = false, arity = 1) public String responsibleOrganization; - + @Parameter(names = {"--responsible-department"}, description = "The body web service department parameter", required = false, arity = 1) public String responsibleDepartment; - + @Parameter(names = {"--responsible-address"}, description = "The body web service address parameter", required = false, arity = 1) public String responsibleAddress; - + @Parameter(names = {"--responsible-city"}, description = "The body web service city parameter", required = false, arity = 1) public String responsibleCity; - + @Parameter(names = {"--responsible-postcode"}, description = "The body web service postcode parameter", required = false, arity = 1) public String responsiblePostcode; - + @Parameter(names = {"--interpretation-description"}, description = "The body web service description parameter", required = false, arity = 1) public String interpretationDescription; - + @Parameter(names = {"--interpretation-clinical-analysis-id"}, description = "The body web service clinicalAnalysisId parameter", required = false, arity = 1) public String interpretationClinicalAnalysisId; - + @Parameter(names = {"--interpretation-creation-date"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String interpretationCreationDate; - + @Parameter(names = {"--interpretation-modification-date"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String interpretationModificationDate; - + @Parameter(names = {"--interpretation-locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean interpretationLocked; - + @DynamicParameter(names = {"--interpretation-attributes"}, description = "The body web service attributes parameter. Use: --interpretation-attributes key=value", required = false) public java.util.Map interpretationAttributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--quality-control-summary"}, description = "Enum param allowed values: HIGH, MEDIUM, LOW, DISCARD, NEEDS_REVIEW, UNKNOWN", required = false, arity = 1) public String qualityControlSummary; - + @Parameter(names = {"--quality-control-comments"}, description = "The body web service comments parameter", required = false, arity = 1) public String qualityControlComments; - + @Parameter(names = {"--quality-control-files"}, description = "The body web service files parameter", required = false, arity = 1) public String qualityControlFiles; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--due-date"}, description = "The body web service dueDate parameter", required = false, arity = 1) public String dueDate; - + @Parameter(names = {"--priority-id"}, description = "The body web service id parameter", required = false, arity = 1) public String priorityId; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + } @Parameters(commandNames = {"distinct"}, commandDescription ="Clinical Analysis distinct method") public class DistinctCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Clinical Analysis IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Clinical Analysis UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--type"}, description = "Clinical Analysis type", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--disorder"}, description = "Clinical Analysis disorder. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String disorder; - + public String disorder; + @Parameter(names = {"--files"}, description = "Clinical Analysis files", required = false, arity = 1) - public String files; - + public String files; + @Parameter(names = {"--sample"}, description = "Sample associated to the proband or any member of a family", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--individual"}, description = "Proband or any member of a family", required = false, arity = 1) - public String individual; - + public String individual; + @Parameter(names = {"--proband"}, description = "Clinical Analysis proband", required = false, arity = 1) - public String proband; - + public String proband; + @Parameter(names = {"--proband-samples"}, description = "Clinical Analysis proband samples", required = false, arity = 1) - public String probandSamples; - + public String probandSamples; + @Parameter(names = {"--family"}, description = "Clinical Analysis family", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-members"}, description = "Clinical Analysis family members", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-member-samples"}, description = "Clinical Analysis family members samples", required = false, arity = 1) - public String familyMemberSamples; - + public String familyMemberSamples; + @Parameter(names = {"--panels"}, description = "Clinical Analysis panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--locked"}, description = "Locked Clinical Analyses", required = false, arity = 1) - public Boolean locked; - + public Boolean locked; + @Parameter(names = {"--analyst-id"}, description = "Clinical Analysis analyst id", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--priority"}, description = "Clinical Analysis priority", required = false, arity = 1) - public String priority; - + public String priority; + @Parameter(names = {"--flags"}, description = "Clinical Analysis flags", required = false, arity = 1) - public String flags; - + public String flags; + @Parameter(names = {"--creation-date", "--cd"}, description = "Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--due-date"}, description = "Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String dueDate; - + public String dueDate; + @Parameter(names = {"--quality-control-summary"}, description = "Clinical Analysis quality control summary", required = false, arity = 1) - public String qualityControlSummary; - + public String qualityControlSummary; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--annotation"}, description = "Annotation filters. Example: age>30;gender=FEMALE. For more information, please visit http://docs.opencb.org/display/opencga/AnnotationSets+1.4.0", required = false, arity = 1) - public String annotation; - + public String annotation; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + @Parameter(names = {"--field"}, description = "Comma separated list of fields for which to obtain the distinct values", required = true, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"interpretation-distinct"}, commandDescription ="Interpretation distinct method") public class DistinctInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Interpretation IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Interpretation UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--clinical-analysis-id"}, description = "Clinical Analysis id", required = false, arity = 1) - public String clinicalAnalysisId; - + public String clinicalAnalysisId; + @Parameter(names = {"--analyst-id"}, description = "Analyst ID", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--method-name"}, description = "Interpretation method name. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String methodName; - + public String methodName; + @Parameter(names = {"--panels"}, description = "Interpretation panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--primary-findings"}, description = "Interpretation primary findings", required = false, arity = 1) - public String primaryFindings; - + public String primaryFindings; + @Parameter(names = {"--secondary-findings"}, description = "Interpretation secondary findings", required = false, arity = 1) - public String secondaryFindings; - + public String secondaryFindings; + @Parameter(names = {"--creation-date", "--cd"}, description = "Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + @Parameter(names = {"--field"}, description = "Comma separated list of fields for which to obtain the distinct values", required = true, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"interpretation-search"}, commandDescription ="Search clinical interpretations") public class SearchInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--sort"}, description = "Sort the results", required = false, help = true, arity = 0) - public boolean sort = false; - + public boolean sort = false; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Interpretation IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Interpretation UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--clinical-analysis-id"}, description = "Clinical Analysis id", required = false, arity = 1) - public String clinicalAnalysisId; - + public String clinicalAnalysisId; + @Parameter(names = {"--analyst-id"}, description = "Analyst ID", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--method-name"}, description = "Interpretation method name. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String methodName; - + public String methodName; + @Parameter(names = {"--panels"}, description = "Interpretation panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--primary-findings"}, description = "Interpretation primary findings", required = false, arity = 1) - public String primaryFindings; - + public String primaryFindings; + @Parameter(names = {"--secondary-findings"}, description = "Interpretation secondary findings", required = false, arity = 1) - public String secondaryFindings; - + public String secondaryFindings; + @Parameter(names = {"--creation-date", "--cd"}, description = "Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + } @Parameters(commandNames = {"interpretation-info"}, commandDescription ="Clinical interpretation information") public class InfoInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--interpretations"}, description = "Comma separated list of clinical interpretation IDs up to a maximum of 100", required = true, arity = 1) - public String interpretations; - + public String interpretations; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--version"}, description = "Comma separated list of interpretation versions. 'all' to get all the interpretation versions. Not supported if multiple interpretation ids are provided.", required = false, arity = 1) - public String version; - + public String version; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + } @Parameters(commandNames = {"interpreter-cancer-tiering-run"}, commandDescription ="Run cancer tiering interpretation analysis") public class RunInterpreterCancerTieringCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--discarded-variants"}, description = "The body web service discardedVariants parameter", required = false, arity = 1) public String discardedVariants; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"interpreter-exomiser-run"}, commandDescription ="Run exomiser interpretation analysis") public class RunInterpreterExomiserCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - - @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated" - + " automatically if not provided.", arity = 1) - public String jobId; - - @Parameter(names = {"--job-description"}, description = "Job description", arity = 1) - public String jobDescription; - - @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", - arity = 1) - public String jobDependsOn; - - @Parameter(names = {"--job-tags"}, description = "Job tags", arity = 1) - public String jobTags; - - @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID.", required = true, arity = 1) + public String study; + + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) + public String jobId; + + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) + public String jobDescription; + + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) + public String jobDependsOn; + + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) + public String jobTags; + + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID.", required = false, arity = 1) public String clinicalAnalysis; - - @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", arity = 1) + + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version in the format X.Y where X is the major version and Y the minor version, e.g.: 14.0. If the version is not specified, the default version will be used. Refer to the configuration file to view all installed Exomiser versions and identify the default version.", required = false, arity = 1) public String exomiserVersion; - + } @Parameters(commandNames = {"interpreter-team-run"}, commandDescription ="Run TEAM interpretation analysis") public class RunInterpreterTeamCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--panels"}, description = "The body web service panels parameter", required = false, arity = 1) public String panels; - + @Parameter(names = {"--family-segregation"}, description = "The body web service familySegregation parameter", required = false, arity = 1) public String familySegregation; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"interpreter-tiering-run"}, commandDescription ="Run tiering interpretation analysis") public class RunInterpreterTieringCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--panels"}, description = "The body web service panels parameter", required = false, arity = 1) public String panels; - + @Parameter(names = {"--penetrance"}, description = "The body web service penetrance parameter", required = false, arity = 1) public String penetrance; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"interpreter-zetta-run"}, commandDescription ="Run Zetta interpretation analysis") public class RunInterpreterZettaCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--clinical-analysis"}, description = "The body web service clinicalAnalysis parameter", required = false, arity = 1) public String clinicalAnalysis; - + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--type"}, description = "The body web service type parameter", required = false, arity = 1) public String type; - + @Parameter(names = {"--body_study"}, description = "The body web service study parameter", required = false, arity = 1) public String bodyStudy; - + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + @Parameter(names = {"--filter"}, description = "The body web service filter parameter", required = false, arity = 1) public String filter; - + @Parameter(names = {"--qual"}, description = "The body web service qual parameter", required = false, arity = 1) public String qual; - + @Parameter(names = {"--file-data"}, description = "The body web service fileData parameter", required = false, arity = 1) public String fileData; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--sample-data"}, description = "The body web service sampleData parameter", required = false, arity = 1) public String sampleData; - + @Parameter(names = {"--sample-annotation"}, description = "The body web service sampleAnnotation parameter", required = false, arity = 1) public String sampleAnnotation; - + @Parameter(names = {"--sample-metadata"}, description = "The body web service sampleMetadata parameter", required = false, arity = 1) public String sampleMetadata; - + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String cohortStatsRef; - + @Parameter(names = {"--cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String cohortStatsAlt; - + @Parameter(names = {"--cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String cohortStatsMaf; - + @Parameter(names = {"--cohort-stats-mgf"}, description = "The body web service cohortStatsMgf parameter", required = false, arity = 1) public String cohortStatsMgf; - + @Parameter(names = {"--cohort-stats-pass"}, description = "The body web service cohortStatsPass parameter", required = false, arity = 1) public String cohortStatsPass; - + @Parameter(names = {"--score"}, description = "The body web service score parameter", required = false, arity = 1) public String score; - + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--family-disorder"}, description = "The body web service familyDisorder parameter", required = false, arity = 1) public String familyDisorder; - + @Parameter(names = {"--family-segregation"}, description = "The body web service familySegregation parameter", required = false, arity = 1) public String familySegregation; - + @Parameter(names = {"--family-members"}, description = "The body web service familyMembers parameter", required = false, arity = 1) public String familyMembers; - + @Parameter(names = {"--family-proband"}, description = "The body web service familyProband parameter", required = false, arity = 1) public String familyProband; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String ct; - + @Parameter(names = {"--xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String xref; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String proteinSubstitution; - + @Parameter(names = {"--conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String conservation; - + @Parameter(names = {"--population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String populationFrequencyAlt; - + @Parameter(names = {"--population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String populationFrequencyRef; - + @Parameter(names = {"--population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String populationFrequencyMaf; - + @Parameter(names = {"--transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String transcriptFlag; - + @Parameter(names = {"--gene-trait-id"}, description = "The body web service geneTraitId parameter", required = false, arity = 1) public String geneTraitId; - + @Parameter(names = {"--go"}, description = "The body web service go parameter", required = false, arity = 1) public String go; - + @Parameter(names = {"--expression"}, description = "The body web service expression parameter", required = false, arity = 1) public String expression; - + @Parameter(names = {"--protein-keyword"}, description = "The body web service proteinKeyword parameter", required = false, arity = 1) public String proteinKeyword; - + @Parameter(names = {"--drug"}, description = "The body web service drug parameter", required = false, arity = 1) public String drug; - + @Parameter(names = {"--functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String functionalScore; - + @Parameter(names = {"--clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String clinical; - + @Parameter(names = {"--clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String clinicalSignificance; - + @Parameter(names = {"--clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean clinicalConfirmedStatus = false; - + @Parameter(names = {"--custom-annotation"}, description = "The body web service customAnnotation parameter", required = false, arity = 1) public String customAnnotation; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String panelModeOfInheritance; - + @Parameter(names = {"--panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String panelConfidence; - + @Parameter(names = {"--panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String panelRoleInCancer; - + @Parameter(names = {"--trait"}, description = "The body web service trait parameter", required = false, arity = 1) public String trait; - + @Parameter(names = {"--primary"}, description = "The body web service primary parameter", required = false, help = true, arity = 0) public boolean primary = false; - + } @Parameters(commandNames = {"load"}, commandDescription ="Load clinical analyses from a file") public class LoadCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + } @Parameters(commandNames = {"rga-aggregation-stats"}, commandDescription ="RGA aggregation stats") public class AggregationStatsRgaCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--field"}, description = "List of fields separated by semicolons, e.g.: clinicalSignificances;type. For nested fields use >>, e.g.: type>>clinicalSignificances;knockoutType", required = true, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"rga-gene-query"}, commandDescription ="Query gene RGA") public class QueryRgaGeneCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--include-individual"}, description = "Include only the comma separated list of individuals to the response", required = false, arity = 1) - public String includeIndividual; - + public String includeIndividual; + @Parameter(names = {"--skip-individual"}, description = "Number of individuals to skip", required = false, arity = 1) - public Integer skipIndividual; - + public Integer skipIndividual; + @Parameter(names = {"--limit-individual"}, description = "Limit number of individuals returned (default: 1000)", required = false, arity = 1) - public Integer limitIndividual; - + public Integer limitIndividual; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-gene-summary"}, commandDescription ="RGA gene summary stats") public class SummaryRgaGeneCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-index-run"}, commandDescription ="Generate Recessive Gene Analysis secondary index") public class RunRgaIndexCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--auxiliar-index"}, description = "Index auxiliar collection to improve performance assuming RGA is completely indexed.", required = false, help = true, arity = 0) - public boolean auxiliarIndex = false; - + public boolean auxiliarIndex = false; + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + } @Parameters(commandNames = {"rga-individual-query"}, commandDescription ="Query individual RGA") public class QueryRgaIndividualCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-individual-summary"}, commandDescription ="RGA individual summary stats") public class SummaryRgaIndividualCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-variant-query"}, commandDescription ="Query variant RGA") public class QueryRgaVariantCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--include-individual"}, description = "Include only the comma separated list of individuals to the response", required = false, arity = 1) - public String includeIndividual; - + public String includeIndividual; + @Parameter(names = {"--skip-individual"}, description = "Number of individuals to skip", required = false, arity = 1) - public Integer skipIndividual; - + public Integer skipIndividual; + @Parameter(names = {"--limit-individual"}, description = "Limit number of individuals returned (default: 1000)", required = false, arity = 1) - public Integer limitIndividual; - + public Integer limitIndividual; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"rga-variant-summary"}, commandDescription ="RGA variant summary stats") public class SummaryRgaVariantCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sample-id"}, description = "Filter by sample id.", required = false, arity = 1) - public String sampleId; - + public String sampleId; + @Parameter(names = {"--individual-id"}, description = "Filter by individual id.", required = false, arity = 1) - public String individualId; - + public String individualId; + @Parameter(names = {"--sex"}, description = "Filter by sex.", required = false, arity = 1) - public String sex; - + public String sex; + @Parameter(names = {"--phenotypes"}, description = "Filter by phenotypes.", required = false, arity = 1) - public String phenotypes; - + public String phenotypes; + @Parameter(names = {"--disorders"}, description = "Filter by disorders.", required = false, arity = 1) - public String disorders; - + public String disorders; + @Parameter(names = {"--num-parents"}, description = "Filter by the number of parents registered.", required = false, arity = 1) - public String numParents; - + public String numParents; + @Parameter(names = {"--gene-id"}, description = "Filter by gene id.", required = false, arity = 1) - public String geneId; - + public String geneId; + @Parameter(names = {"--gene-name"}, description = "Filter by gene name.", required = false, arity = 1) - public String geneName; - + public String geneName; + @Parameter(names = {"--chromosome"}, description = "Filter by chromosome.", required = false, arity = 1) - public String chromosome; - + public String chromosome; + @Parameter(names = {"--start"}, description = "Filter by start position.", required = false, arity = 1) - public String start; - + public String start; + @Parameter(names = {"--end"}, description = "Filter by end position.", required = false, arity = 1) - public String end; - + public String end; + @Parameter(names = {"--transcript-id"}, description = "Filter by transcript id.", required = false, arity = 1) - public String transcriptId; - + public String transcriptId; + @Parameter(names = {"--variants"}, description = "Filter by variant id.", required = false, arity = 1) - public String variants; - + public String variants; + @Parameter(names = {"--db-snps"}, description = "Filter by DB_SNP id.", required = false, arity = 1) - public String dbSnps; - + public String dbSnps; + @Parameter(names = {"--knockout-type"}, description = "Filter by knockout type.", required = false, arity = 1) - public String knockoutType; - + public String knockoutType; + @Parameter(names = {"--filter"}, description = "Filter by filter (PASS, NOT_PASS).", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--type"}, description = "Filter by variant type.", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--clinical-significance"}, description = "Filter by clinical significance.", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--population-frequency"}, description = "Filter by population frequency.", required = false, arity = 1) - public String populationFrequency; - + public String populationFrequency; + @Parameter(names = {"--consequence-type"}, description = "Filter by consequence type.", required = false, arity = 1) - public String consequenceType; - + public String consequenceType; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + } @Parameters(commandNames = {"search"}, commandDescription ="Clinical analysis search.") public class SearchCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--flatten-annotations"}, description = "Flatten the annotations?", required = false, help = true, arity = 0) - public boolean flattenAnnotations = false; - + public boolean flattenAnnotations = false; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--id"}, description = "Comma separated list of Clinical Analysis IDs up to a maximum of 100. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--uuid"}, description = "Comma separated list of Clinical Analysis UUIDs up to a maximum of 100", required = false, arity = 1) - public String uuid; - + public String uuid; + @Parameter(names = {"--type"}, description = "Clinical Analysis type", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--disorder"}, description = "Clinical Analysis disorder. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.", required = false, arity = 1) - public String disorder; - + public String disorder; + @Parameter(names = {"--files"}, description = "Clinical Analysis files", required = false, arity = 1) - public String files; - + public String files; + @Parameter(names = {"--sample"}, description = "Sample associated to the proband or any member of a family", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--individual"}, description = "Proband or any member of a family", required = false, arity = 1) - public String individual; - + public String individual; + @Parameter(names = {"--proband"}, description = "Clinical Analysis proband", required = false, arity = 1) - public String proband; - + public String proband; + @Parameter(names = {"--proband-samples"}, description = "Clinical Analysis proband samples", required = false, arity = 1) - public String probandSamples; - + public String probandSamples; + @Parameter(names = {"--family"}, description = "Clinical Analysis family", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-members"}, description = "Clinical Analysis family members", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-member-samples"}, description = "Clinical Analysis family members samples", required = false, arity = 1) - public String familyMemberSamples; - + public String familyMemberSamples; + @Parameter(names = {"--panels"}, description = "Clinical Analysis panels", required = false, arity = 1) - public String panels; - + public String panels; + @Parameter(names = {"--locked"}, description = "Locked Clinical Analyses", required = false, arity = 1) - public Boolean locked; - + public Boolean locked; + @Parameter(names = {"--analyst-id"}, description = "Clinical Analysis analyst id", required = false, arity = 1) - public String analystId; - + public String analystId; + @Parameter(names = {"--priority"}, description = "Clinical Analysis priority", required = false, arity = 1) - public String priority; - + public String priority; + @Parameter(names = {"--flags"}, description = "Clinical Analysis flags", required = false, arity = 1) - public String flags; - + public String flags; + @Parameter(names = {"--creation-date", "--cd"}, description = "Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String creationDate; - + public String creationDate; + @Parameter(names = {"--modification-date", "--md"}, description = "Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String modificationDate; - + public String modificationDate; + @Parameter(names = {"--due-date"}, description = "Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805", required = false, arity = 1) - public String dueDate; - + public String dueDate; + @Parameter(names = {"--quality-control-summary"}, description = "Clinical Analysis quality control summary", required = false, arity = 1) - public String qualityControlSummary; - + public String qualityControlSummary; + @Parameter(names = {"--release"}, description = "Release when it was created", required = false, arity = 1) - public String release; - + public String release; + @Parameter(names = {"--status"}, description = "Filter by status", required = false, arity = 1) - public String status; - + public String status; + @Parameter(names = {"--internal-status"}, description = "Filter by internal status", required = false, arity = 1) - public String internalStatus; - + public String internalStatus; + @Parameter(names = {"--annotation"}, description = "Annotation filters. Example: age>30;gender=FEMALE. For more information, please visit http://docs.opencb.org/display/opencga/AnnotationSets+1.4.0", required = false, arity = 1) - public String annotation; - + public String annotation; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + } @Parameters(commandNames = {"variant-query"}, commandDescription ="Fetch clinical variants") public class QueryVariantCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--approximate-count"}, description = "Get an approximate count, instead of an exact total count. Reduces execution time", required = false, help = true, arity = 0) - public boolean approximateCount = false; - + public boolean approximateCount = false; + @Parameter(names = {"--approximate-count-sampling-size"}, description = "Sampling size to get the approximate count. Larger values increase accuracy but also increase execution time", required = false, arity = 1) - public Integer approximateCountSamplingSize; - + public Integer approximateCountSamplingSize; + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--include-interpretation"}, description = "Interpretation ID to include the fields related to this interpretation", required = false, arity = 1) - public String includeInterpretation; - + public String includeInterpretation; + @Parameter(names = {"--id"}, description = "List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. rs116600158,19:7177679:C:T", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--qual"}, description = "Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4", required = false, arity = 1) - public String qual; - + public String qual; + @Parameter(names = {"--file-data"}, description = "Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from 'file' filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP", required = false, arity = 1) - public String fileData; - + public String fileData; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--sample-data"}, description = "Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will use all samples from 'sample' or 'genotype' filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10", required = false, arity = 1) - public String sampleData; - + public String sampleData; + @Parameter(names = {"--sample-annotation"}, description = "Selects some samples using metadata information from Catalog. e.g. age>20;phenotype=hpo:123,hpo:456;name=smith", required = false, arity = 1) - public String sampleAnnotation; - + public String sampleAnnotation; + @Parameter(names = {"--cohort"}, description = "Select variants with calculated stats for the selected cohorts", required = false, arity = 1) - public String cohort; - + public String cohort; + @Parameter(names = {"--cohort-stats-ref"}, description = "Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsRef; - + public String cohortStatsRef; + @Parameter(names = {"--cohort-stats-alt"}, description = "Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsAlt; - + public String cohortStatsAlt; + @Parameter(names = {"--cohort-stats-maf"}, description = "Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMaf; - + public String cohortStatsMaf; + @Parameter(names = {"--cohort-stats-mgf"}, description = "Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMgf; - + public String cohortStatsMgf; + @Parameter(names = {"--cohort-stats-pass"}, description = "Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8", required = false, arity = 1) - public String cohortStatsPass; - + public String cohortStatsPass; + @Parameter(names = {"--missing-alleles"}, description = "Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingAlleles; - + public String missingAlleles; + @Parameter(names = {"--missing-genotypes"}, description = "Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingGenotypes; - + public String missingGenotypes; + @Parameter(names = {"--score"}, description = "Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}", required = false, arity = 1) - public String score; - + public String score; + @Parameter(names = {"--family"}, description = "Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT)", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-disorder"}, description = "Specify the disorder to use for the family segregation", required = false, arity = 1) - public String familyDisorder; - + public String familyDisorder; + @Parameter(names = {"--family-segregation"}, description = "Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String familySegregation; - + public String familySegregation; + @Parameter(names = {"--family-members"}, description = "Sub set of the members of a given family", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-proband"}, description = "Specify the proband child to use for the family segregation", required = false, arity = 1) - public String familyProband; - + public String familyProband; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--xref"}, description = "List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ...", required = false, arity = 1) - public String xref; - + public String xref; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--protein-substitution"}, description = "Protein substitution scores include SIFT and PolyPhen. You can query using the score {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant", required = false, arity = 1) - public String proteinSubstitution; - + public String proteinSubstitution; + @Parameter(names = {"--conservation"}, description = "Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1", required = false, arity = 1) - public String conservation; - + public String conservation; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--population-frequency-ref"}, description = "Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyRef; - + public String populationFrequencyRef; + @Parameter(names = {"--population-frequency-maf"}, description = "Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyMaf; - + public String populationFrequencyMaf; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--gene-trait-id"}, description = "List of gene trait association id. e.g. 'umls:C0007222' , 'OMIM:269600'", required = false, arity = 1) - public String geneTraitId; - + public String geneTraitId; + @Parameter(names = {"--go"}, description = "List of GO (Gene Ontology) terms. e.g. 'GO:0002020'", required = false, arity = 1) - public String go; - + public String go; + @Parameter(names = {"--expression"}, description = "List of tissues of interest. e.g. 'lung'", required = false, arity = 1) - public String expression; - + public String expression; + @Parameter(names = {"--protein-keyword"}, description = "List of Uniprot protein variant annotation keywords", required = false, arity = 1) - public String proteinKeyword; - + public String proteinKeyword; + @Parameter(names = {"--drug"}, description = "List of drug names", required = false, arity = 1) - public String drug; - + public String drug; + @Parameter(names = {"--functional-score"}, description = "Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3", required = false, arity = 1) - public String functionalScore; - + public String functionalScore; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--custom-annotation"}, description = "Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}", required = false, arity = 1) - public String customAnnotation; - + public String customAnnotation; + @Parameter(names = {"--panel"}, description = "Filter by genes from the given disease panel", required = false, arity = 1) - public String panel; - + public String panel; + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "Filter genes from specific panels that match certain mode of inheritance. Accepted values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String panelModeOfInheritance; - + public String panelModeOfInheritance; + @Parameter(names = {"--panel-confidence"}, description = "Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low, rejected ]", required = false, arity = 1) - public String panelConfidence; - + public String panelConfidence; + @Parameter(names = {"--panel-role-in-cancer"}, description = "Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene, tumorSuppressorGene, fusion ]", required = false, arity = 1) - public String panelRoleInCancer; - + public String panelRoleInCancer; + @Parameter(names = {"--panel-feature-type"}, description = "Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ]", required = false, arity = 1) - public String panelFeatureType; - + public String panelFeatureType; + @Parameter(names = {"--panel-intersection"}, description = "Intersect panel genes and regions with given genes and regions from que input query. This will prevent returning variants from regions out of the panel.", required = false, help = true, arity = 0) - public boolean panelIntersection = false; - + public boolean panelIntersection = false; + @Parameter(names = {"--trait"}, description = "List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...", required = false, arity = 1) - public String trait; - + public String trait; + } @Parameters(commandNames = {"acl"}, commandDescription ="Returns the acl of the clinical analyses. If member is provided, it will only return the acl for the member.") public class AclCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--clinical-analyses"}, description = "Comma separated list of clinical analysis IDs or names up to a maximum of 100", required = true, arity = 1) - public String clinicalAnalyses; - + public String clinicalAnalyses; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--member"}, description = "User or group ID", required = false, arity = 1) - public String member; - + public String member; + @Parameter(names = {"--silent"}, description = "Boolean to retrieve all possible entries that are queried for, false to raise an exception whenever one of the entries looked for cannot be shown for whichever reason", required = false, help = true, arity = 0) - public boolean silent = false; - + public boolean silent = false; + } @Parameters(commandNames = {"delete"}, commandDescription ="Delete clinical analyses") public class DeleteCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--force"}, description = "Force deletion if the ClinicalAnalysis contains interpretations or is locked", required = false, help = true, arity = 0) - public boolean force = false; - + public boolean force = false; + @Parameter(names = {"--clinical-analyses"}, description = "Comma separated list of clinical analysis IDs or names up to a maximum of 100", required = true, arity = 1) - public String clinicalAnalyses; - + public String clinicalAnalyses; + } @Parameters(commandNames = {"update"}, commandDescription ="Update clinical analysis attributes") public class UpdateCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--clinical-analyses"}, description = "Comma separated list of clinical analysis IDs", required = true, arity = 1) - public String clinicalAnalyses; - + public String clinicalAnalyses; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--analysts-action"}, description = "Action to be performed if the array of analysts is being updated.", required = false, arity = 1) - public String analystsAction = "ADD"; - + public String analystsAction = "ADD"; + @Parameter(names = {"--annotation-sets-action"}, description = "Action to be performed if the array of annotationSets is being updated.", required = false, arity = 1) - public String annotationSetsAction = "ADD"; - + public String annotationSetsAction = "ADD"; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--type"}, description = "Enum param allowed values: SINGLE, FAMILY, CANCER, COHORT, AUTOCOMPARATIVE", required = false, arity = 1) public String type; - + @Parameter(names = {"--disorder-id"}, description = "The body web service id parameter", required = false, arity = 1) public String disorderId; - + @Parameter(names = {"--panel-lock"}, description = "The body web service panelLock parameter", required = false, arity = 1) public Boolean panelLock; - + @Parameter(names = {"--proband-id"}, description = "The body web service id parameter", required = false, arity = 1) public String probandId; - + @Parameter(names = {"--family-id"}, description = "The body web service id parameter", required = false, arity = 1) public String familyId; - + @Parameter(names = {"--locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean locked; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--report-title"}, description = "Report title.", required = false, arity = 1) public String reportTitle; - + @Parameter(names = {"--report-overview"}, description = "Report overview.", required = false, arity = 1) public String reportOverview; - + @Parameter(names = {"--report-logo"}, description = "Report logo.", required = false, arity = 1) public String reportLogo; - + @Parameter(names = {"--report-signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) public String reportSignedBy; - + @Parameter(names = {"--report-signature"}, description = "Report signature.", required = false, arity = 1) public String reportSignature; - + @Parameter(names = {"--report-date"}, description = "Report date.", required = false, arity = 1) public String reportDate; - + @Parameter(names = {"--request-id"}, description = "The body web service id parameter", required = false, arity = 1) public String requestId; - + @Parameter(names = {"--request-justification"}, description = "The body web service justification parameter", required = false, arity = 1) public String requestJustification; - + @Parameter(names = {"--request-date"}, description = "The body web service date parameter", required = false, arity = 1) public String requestDate; - + @DynamicParameter(names = {"--request-attributes"}, description = "The body web service attributes parameter. Use: --request-attributes key=value", required = false) public java.util.Map requestAttributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--responsible-id"}, description = "The body web service id parameter", required = false, arity = 1) public String responsibleId; - + @Parameter(names = {"--responsible-name"}, description = "The body web service name parameter", required = false, arity = 1) public String responsibleName; - + @Parameter(names = {"--responsible-email"}, description = "The body web service email parameter", required = false, arity = 1) public String responsibleEmail; - + @Parameter(names = {"--responsible-organization"}, description = "The body web service organization parameter", required = false, arity = 1) public String responsibleOrganization; - + @Parameter(names = {"--responsible-department"}, description = "The body web service department parameter", required = false, arity = 1) public String responsibleDepartment; - + @Parameter(names = {"--responsible-address"}, description = "The body web service address parameter", required = false, arity = 1) public String responsibleAddress; - + @Parameter(names = {"--responsible-city"}, description = "The body web service city parameter", required = false, arity = 1) public String responsibleCity; - + @Parameter(names = {"--responsible-postcode"}, description = "The body web service postcode parameter", required = false, arity = 1) public String responsiblePostcode; - + @Parameter(names = {"--quality-control-summary"}, description = "Enum param allowed values: HIGH, MEDIUM, LOW, DISCARD, NEEDS_REVIEW, UNKNOWN", required = false, arity = 1) public String qualityControlSummary; - + @Parameter(names = {"--quality-control-comments"}, description = "The body web service comments parameter", required = false, arity = 1) public String qualityControlComments; - + @Parameter(names = {"--quality-control-files"}, description = "The body web service files parameter", required = false, arity = 1) public String qualityControlFiles; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--due-date"}, description = "The body web service dueDate parameter", required = false, arity = 1) public String dueDate; - + @Parameter(names = {"--priority-id"}, description = "The body web service id parameter", required = false, arity = 1) public String priorityId; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + } @Parameters(commandNames = {"annotation-sets-annotations-update"}, commandDescription ="Update annotations from an annotationSet") public class UpdateAnnotationSetsAnnotationsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--annotation-set"}, description = "AnnotationSet ID to be updated.", required = true, arity = 1) - public String annotationSet; - + public String annotationSet; + @Parameter(names = {"--action"}, description = "Action to be performed: ADD to add new annotations; REPLACE to replace the value of an already existing annotation; SET to set the new list of annotations removing any possible old annotations; REMOVE to remove some annotations; RESET to set some annotations to the default value configured in the corresponding variables of the VariableSet if any.", required = false, arity = 1) - public String action = "ADD"; - + public String action = "ADD"; + } @Parameters(commandNames = {"info"}, commandDescription ="Clinical analysis info") public class InfoCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--flatten-annotations"}, description = "Flatten the annotations?", required = false, help = true, arity = 0) - public boolean flattenAnnotations = false; - + public boolean flattenAnnotations = false; + @Parameter(names = {"--clinical-analysis"}, description = "Comma separated list of clinical analysis IDs or names up to a maximum of 100", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--deleted"}, description = "Boolean to retrieve deleted entries", required = false, help = true, arity = 0) - public boolean deleted = false; - + public boolean deleted = false; + } @Parameters(commandNames = {"interpretation-create"}, commandDescription ="Create a new Interpretation") public class CreateInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study id", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--set-as"}, description = "Set interpretation as", required = false, arity = 1) - public String setAs = "SECONDARY"; - + public String setAs = "SECONDARY"; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--clinical-analysis-id"}, description = "The body web service clinicalAnalysisId parameter", required = false, arity = 1) public String clinicalAnalysisId; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--method-name"}, description = "The body web service name parameter", required = false, arity = 1) public String methodName; - + @Parameter(names = {"--method-version"}, description = "The body web service version parameter", required = false, arity = 1) public String methodVersion; - + @Parameter(names = {"--method-commit"}, description = "The body web service commit parameter", required = false, arity = 1) public String methodCommit; - + @Parameter(names = {"--locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean locked; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"interpretation-clear"}, commandDescription ="Clear the fields of the main interpretation of the Clinical Analysis") public class ClearInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--interpretations"}, description = "Interpretation IDs of the Clinical Analysis", required = true, arity = 1) - public String interpretations; - + public String interpretations; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + } @Parameters(commandNames = {"interpretation-delete"}, commandDescription ="Delete interpretation") public class DeleteInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--interpretations"}, description = "Interpretation IDs of the Clinical Analysis", required = true, arity = 1) - public String interpretations; - + public String interpretations; + @Parameter(names = {"--set-as-primary"}, description = "Interpretation id to set as primary from the list of secondaries in case of deleting the actual primary one", required = false, arity = 1) - public String setAsPrimary; - + public String setAsPrimary; + } @Parameters(commandNames = {"interpretation-revert"}, commandDescription ="Revert to a previous interpretation version") public class RevertInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--interpretation"}, description = "Interpretation ID", required = true, arity = 1) - public String interpretation; - + public String interpretation; + @Parameter(names = {"--version"}, description = "Version to revert to", required = true, arity = 1) - public Integer version; - + public Integer version; + } @Parameters(commandNames = {"interpretation-update"}, commandDescription ="Update interpretation fields") public class UpdateInterpretationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--study", "-s"}, description = "[[organization@]project:]study ID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--set-as"}, description = "Set interpretation as", required = false, arity = 1) - public String setAs; - + public String setAs; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--interpretation"}, description = "Interpretation ID", required = true, arity = 1) - public String interpretation; - + public String interpretation; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--analyst-id"}, description = "The body web service id parameter", required = false, arity = 1) public String analystId; - + @Parameter(names = {"--method-name"}, description = "The body web service name parameter", required = false, arity = 1) public String methodName; - + @Parameter(names = {"--method-version"}, description = "The body web service version parameter", required = false, arity = 1) public String methodVersion; - + @Parameter(names = {"--method-commit"}, description = "The body web service commit parameter", required = false, arity = 1) public String methodCommit; - + @Parameter(names = {"--creation-date", "--cd"}, description = "The body web service creationDate parameter", required = false, arity = 1) public String creationDate; - + @Parameter(names = {"--modification-date", "--md"}, description = "The body web service modificationDate parameter", required = false, arity = 1) public String modificationDate; - + @Parameter(names = {"--status-id"}, description = "The body web service id parameter", required = false, arity = 1) public String statusId; - + @Parameter(names = {"--locked"}, description = "The body web service locked parameter", required = false, arity = 1) public Boolean locked; - + @DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false) public java.util.Map attributes = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"report-update"}, commandDescription ="Update clinical analysis report") public class UpdateReportCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--supporting-evidences-action"}, description = "Action to be performed if the array of supporting evidences is being updated.", required = false, arity = 1) - public String supportingEvidencesAction = "ADD"; - + public String supportingEvidencesAction = "ADD"; + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) - public boolean includeResult = false; - + public boolean includeResult = false; + @Parameter(names = {"--title"}, description = "Report title.", required = false, arity = 1) public String title; - + @Parameter(names = {"--overview"}, description = "Report overview.", required = false, arity = 1) public String overview; - + @Parameter(names = {"--discussion-author"}, description = "The body web service author parameter", required = false, arity = 1) public String discussionAuthor; - + @Parameter(names = {"--discussion-date"}, description = "The body web service date parameter", required = false, arity = 1) public String discussionDate; - + @Parameter(names = {"--discussion-text"}, description = "The body web service text parameter", required = false, arity = 1) public String discussionText; - + @Parameter(names = {"--logo"}, description = "Report logo.", required = false, arity = 1) public String logo; - + @Parameter(names = {"--signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) public String signedBy; - + @Parameter(names = {"--signature"}, description = "Report signature.", required = false, arity = 1) public String signature; - + @Parameter(names = {"--date"}, description = "Report date.", required = false, arity = 1) public String date; - + } } \ No newline at end of file diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java index a1dba3af944..42663503e8f 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java @@ -1,21 +1,27 @@ package org.opencb.opencga.app.cli.main.options; -import com.beust.jcommander.*; +import com.beust.jcommander.JCommander; +import com.beust.jcommander.Parameter; +import com.beust.jcommander.Parameters; +import com.beust.jcommander.DynamicParameter; +import com.beust.jcommander.ParametersDelegate; import java.util.HashMap; +import java.util.Map; +import java.util.List; -import static org.opencb.opencga.app.cli.GeneralCliOptions.CommonCommandOptions; +import static org.opencb.opencga.app.cli.GeneralCliOptions.*; /* - * WARNING: AUTOGENERATED CODE - * - * This code was generated by a tool. - * - * Manual changes to this file may cause unexpected behavior in your application. - * Manual changes to this file will be overwritten if the code is regenerated. - * - */ +* WARNING: AUTOGENERATED CODE +* +* This code was generated by a tool. +* +* Manual changes to this file may cause unexpected behavior in your application. +* Manual changes to this file will be overwritten if the code is regenerated. +* +*/ /** * This class contains methods for the Analysis - Variant command line. @@ -24,52 +30,52 @@ @Parameters(commandNames = {"variant"}, commandDescription = "Analysis - Variant commands") public class AnalysisVariantCommandOptions { - public JCommander jCommander; - public CommonCommandOptions commonCommandOptions; - - public AggregationStatsCommandOptions aggregationStatsCommandOptions; - public MetadataAnnotationCommandOptions metadataAnnotationCommandOptions; - public QueryAnnotationCommandOptions queryAnnotationCommandOptions; - public RunCircosCommandOptions runCircosCommandOptions; - public DeleteCohortStatsCommandOptions deleteCohortStatsCommandOptions; - public InfoCohortStatsCommandOptions infoCohortStatsCommandOptions; - public RunCohortStatsCommandOptions runCohortStatsCommandOptions; - public RunExomiserCommandOptions runExomiserCommandOptions; - public RunExportCommandOptions runExportCommandOptions; - public GenotypesFamilyCommandOptions genotypesFamilyCommandOptions; - public RunFamilyQcCommandOptions runFamilyQcCommandOptions; - public DeleteFileCommandOptions deleteFileCommandOptions; - public RunGatkCommandOptions runGatkCommandOptions; - public RunGenomePlotCommandOptions runGenomePlotCommandOptions; - public RunGwasCommandOptions runGwasCommandOptions; - public RunHrDetectCommandOptions runHrDetectCommandOptions; - public RunIndexCommandOptions runIndexCommandOptions; - public RunIndividualQcCommandOptions runIndividualQcCommandOptions; - public RunInferredSexCommandOptions runInferredSexCommandOptions; - public QueryKnockoutGeneCommandOptions queryKnockoutGeneCommandOptions; - public QueryKnockoutIndividualCommandOptions queryKnockoutIndividualCommandOptions; - public RunKnockoutCommandOptions runKnockoutCommandOptions; - public RunMendelianErrorCommandOptions runMendelianErrorCommandOptions; - public MetadataCommandOptions metadataCommandOptions; - public QueryMutationalSignatureCommandOptions queryMutationalSignatureCommandOptions; - public RunMutationalSignatureCommandOptions runMutationalSignatureCommandOptions; - public RunPlinkCommandOptions runPlinkCommandOptions; - public QueryCommandOptions queryCommandOptions; - public RunRelatednessCommandOptions runRelatednessCommandOptions; - public RunRvtestsCommandOptions runRvtestsCommandOptions; - public AggregationStatsSampleCommandOptions aggregationStatsSampleCommandOptions; - public RunSampleEligibilityCommandOptions runSampleEligibilityCommandOptions; - public RunSampleQcCommandOptions runSampleQcCommandOptions; - public QuerySampleCommandOptions querySampleCommandOptions; - public RunSampleCommandOptions runSampleCommandOptions; - public QuerySampleStatsCommandOptions querySampleStatsCommandOptions; - public RunSampleStatsCommandOptions runSampleStatsCommandOptions; - public RunStatsExportCommandOptions runStatsExportCommandOptions; - public RunStatsCommandOptions runStatsCommandOptions; + public JCommander jCommander; + public CommonCommandOptions commonCommandOptions; + + public AggregationStatsCommandOptions aggregationStatsCommandOptions; + public MetadataAnnotationCommandOptions metadataAnnotationCommandOptions; + public QueryAnnotationCommandOptions queryAnnotationCommandOptions; + public RunCircosCommandOptions runCircosCommandOptions; + public DeleteCohortStatsCommandOptions deleteCohortStatsCommandOptions; + public InfoCohortStatsCommandOptions infoCohortStatsCommandOptions; + public RunCohortStatsCommandOptions runCohortStatsCommandOptions; + public RunExomiserCommandOptions runExomiserCommandOptions; + public RunExportCommandOptions runExportCommandOptions; + public GenotypesFamilyCommandOptions genotypesFamilyCommandOptions; + public RunFamilyQcCommandOptions runFamilyQcCommandOptions; + public DeleteFileCommandOptions deleteFileCommandOptions; + public RunGatkCommandOptions runGatkCommandOptions; + public RunGenomePlotCommandOptions runGenomePlotCommandOptions; + public RunGwasCommandOptions runGwasCommandOptions; + public RunHrDetectCommandOptions runHrDetectCommandOptions; + public RunIndexCommandOptions runIndexCommandOptions; + public RunIndividualQcCommandOptions runIndividualQcCommandOptions; + public RunInferredSexCommandOptions runInferredSexCommandOptions; + public QueryKnockoutGeneCommandOptions queryKnockoutGeneCommandOptions; + public QueryKnockoutIndividualCommandOptions queryKnockoutIndividualCommandOptions; + public RunKnockoutCommandOptions runKnockoutCommandOptions; + public RunMendelianErrorCommandOptions runMendelianErrorCommandOptions; + public MetadataCommandOptions metadataCommandOptions; + public QueryMutationalSignatureCommandOptions queryMutationalSignatureCommandOptions; + public RunMutationalSignatureCommandOptions runMutationalSignatureCommandOptions; + public RunPlinkCommandOptions runPlinkCommandOptions; + public QueryCommandOptions queryCommandOptions; + public RunRelatednessCommandOptions runRelatednessCommandOptions; + public RunRvtestsCommandOptions runRvtestsCommandOptions; + public AggregationStatsSampleCommandOptions aggregationStatsSampleCommandOptions; + public RunSampleEligibilityCommandOptions runSampleEligibilityCommandOptions; + public RunSampleQcCommandOptions runSampleQcCommandOptions; + public QuerySampleCommandOptions querySampleCommandOptions; + public RunSampleCommandOptions runSampleCommandOptions; + public QuerySampleStatsCommandOptions querySampleStatsCommandOptions; + public RunSampleStatsCommandOptions runSampleStatsCommandOptions; + public RunStatsExportCommandOptions runStatsExportCommandOptions; + public RunStatsCommandOptions runStatsCommandOptions; public AnalysisVariantCommandOptions(CommonCommandOptions commonCommandOptions, JCommander jCommander) { - + this.jCommander = jCommander; this.commonCommandOptions = commonCommandOptions; this.aggregationStatsCommandOptions = new AggregationStatsCommandOptions(); @@ -111,2504 +117,2500 @@ public AnalysisVariantCommandOptions(CommonCommandOptions commonCommandOptions, this.runSampleStatsCommandOptions = new RunSampleStatsCommandOptions(); this.runStatsExportCommandOptions = new RunStatsExportCommandOptions(); this.runStatsCommandOptions = new RunStatsCommandOptions(); - + } - + @Parameters(commandNames = {"aggregationstats"}, commandDescription ="Calculate and fetch aggregation stats") public class AggregationStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--cohort"}, description = "Select variants with calculated stats for the selected cohorts", required = false, arity = 1) - public String cohort; - + public String cohort; + @Parameter(names = {"--cohort-stats-ref"}, description = "Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsRef; - + public String cohortStatsRef; + @Parameter(names = {"--cohort-stats-alt"}, description = "Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsAlt; - + public String cohortStatsAlt; + @Parameter(names = {"--cohort-stats-maf"}, description = "Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMaf; - + public String cohortStatsMaf; + @Parameter(names = {"--cohort-stats-mgf"}, description = "Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMgf; - + public String cohortStatsMgf; + @Parameter(names = {"--cohort-stats-pass"}, description = "Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8", required = false, arity = 1) - public String cohortStatsPass; - + public String cohortStatsPass; + @Parameter(names = {"--missing-alleles"}, description = "Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingAlleles; - + public String missingAlleles; + @Parameter(names = {"--missing-genotypes"}, description = "Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingGenotypes; - + public String missingGenotypes; + @Parameter(names = {"--score"}, description = "Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}", required = false, arity = 1) - public String score; - + public String score; + @Parameter(names = {"--annotation-exists"}, description = "Return only annotated variants", required = false, arity = 1) - public Boolean annotationExists; - + public Boolean annotationExists; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--xref"}, description = "List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ...", required = false, arity = 1) - public String xref; - + public String xref; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--protein-substitution"}, description = "Protein substitution scores include SIFT and PolyPhen. You can query using the score {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant", required = false, arity = 1) - public String proteinSubstitution; - + public String proteinSubstitution; + @Parameter(names = {"--conservation"}, description = "Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1", required = false, arity = 1) - public String conservation; - + public String conservation; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--population-frequency-ref"}, description = "Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyRef; - + public String populationFrequencyRef; + @Parameter(names = {"--population-frequency-maf"}, description = "Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyMaf; - + public String populationFrequencyMaf; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--gene-trait-id"}, description = "List of gene trait association id. e.g. 'umls:C0007222' , 'OMIM:269600'", required = false, arity = 1) - public String geneTraitId; - + public String geneTraitId; + @Parameter(names = {"--go"}, description = "List of GO (Gene Ontology) terms. e.g. 'GO:0002020'", required = false, arity = 1) - public String go; - + public String go; + @Parameter(names = {"--expression"}, description = "List of tissues of interest. e.g. 'lung'", required = false, arity = 1) - public String expression; - + public String expression; + @Parameter(names = {"--protein-keyword"}, description = "List of Uniprot protein variant annotation keywords", required = false, arity = 1) - public String proteinKeyword; - + public String proteinKeyword; + @Parameter(names = {"--drug"}, description = "List of drug names", required = false, arity = 1) - public String drug; - + public String drug; + @Parameter(names = {"--functional-score"}, description = "Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3", required = false, arity = 1) - public String functionalScore; - + public String functionalScore; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--custom-annotation"}, description = "Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}", required = false, arity = 1) - public String customAnnotation; - + public String customAnnotation; + @Parameter(names = {"--trait"}, description = "List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...", required = false, arity = 1) - public String trait; - + public String trait; + @Parameter(names = {"--field"}, description = "List of facet fields separated by semicolons, e.g.: studies;type. For nested faceted fields use >>, e.g.: chromosome>>type;percentile(gerp)", required = false, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"annotation-metadata"}, commandDescription ="Read variant annotations metadata from any saved versions") public class MetadataAnnotationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--annotation-id"}, description = "Annotation identifier", required = false, arity = 1) - public String annotationId; - + public String annotationId; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + } @Parameters(commandNames = {"annotation-query"}, commandDescription ="Query variant annotations from any saved versions") public class QueryAnnotationCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--id"}, description = "List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. rs116600158,19:7177679:C:T", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--annotation-id"}, description = "Annotation identifier", required = false, arity = 1) - public String annotationId; - + public String annotationId; + } @Parameters(commandNames = {"circos-run"}, commandDescription ="Generate a Circos plot for a given sample.") public class RunCircosCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--title"}, description = "The body web service title parameter", required = false, arity = 1) public String title; - + @Parameter(names = {"--density"}, description = "The body web service density parameter", required = false, arity = 1) public String density; - + @DynamicParameter(names = {"--query"}, description = "The body web service query parameter. Use: --query key=value", required = false) public java.util.Map query = new HashMap<>(); //Dynamic parameters must be initialized; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"cohort-stats-delete"}, commandDescription ="Delete cohort variant stats from a cohort.") public class DeleteCohortStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--cohort"}, description = "Cohort ID or UUID", required = false, arity = 1) - public String cohort; - + public String cohort; + } @Parameters(commandNames = {"cohort-stats-info"}, commandDescription ="Read cohort variant stats from list of cohorts.") public class InfoCohortStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--cohort"}, description = "Comma separated list of cohort IDs or UUIDs up to a maximum of 100", required = true, arity = 1) - public String cohort; - + public String cohort; + } @Parameters(commandNames = {"cohort-stats-run"}, commandDescription ="Compute cohort variant stats for the selected list of samples.") public class RunCohortStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--samples"}, description = "The body web service samples parameter", required = false, arity = 1) public String samples; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--sample-annotation"}, description = "The body web service sampleAnnotation parameter", required = false, arity = 1) public String sampleAnnotation; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } - @Parameters(commandNames = {"exomiser-run"}, commandDescription ="The Exomiser is a Java program that finds potential disease-causing" - + " variants from whole-exome or whole-genome sequencing data.") + @Parameters(commandNames = {"exomiser-run"}, commandDescription ="The Exomiser is a Java program that finds potential disease-causing variants from whole-exome or whole-genome sequencing data.") public class RunExomiserCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - - @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will" - + " ignore all the other parameters.", arity = 1) + + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - - @Parameter(names = {"--study", "-s"}, description = "study", required = true, arity = 1) - public String study; - - @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated" - + " automatically if not provided.", arity = 1) - public String jobId; - - @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", - arity = 1) - public String jobDependsOn; - - @Parameter(names = {"--job-description"}, description = "Job description", arity = 1) - public String jobDescription; - - @Parameter(names = {"--job-tags"}, description = "Job tags", arity = 1) - public String jobTags; - - @Parameter(names = {"--sample"}, description = "Sample ID.", arity = 1) + + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) + public String study; + + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) + public String jobId; + + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) + public String jobDependsOn; + + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) + public String jobDescription; + + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) + public String jobTags; + + @Parameter(names = {"--sample"}, description = "Sample ID.", required = false, arity = 1) public String sample; - - @Parameter(names = {"--exomiser-version"}, description = "Exomiser version.", arity = 1) + + @Parameter(names = {"--exomiser-version"}, description = "Exomiser version in the format X.Y where X is the major version and Y the minor version, e.g.: 14.0. If the version is not specified, the default version will be used. Refer to the configuration file to view all installed Exomiser versions and identify the default version.", required = false, arity = 1) public String exomiserVersion; - - @Parameter(names = {"--outdir"}, description = "Output dir for the job.", arity = 1) + + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"export-run"}, commandDescription ="Filter and export variants from the variant storage to a file") public class RunExportCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--type"}, description = "The body web service type parameter", required = false, arity = 1) public String type; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String panelModeOfInheritance; - + @Parameter(names = {"--panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String panelConfidence; - + @Parameter(names = {"--panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String panelRoleInCancer; - + @Parameter(names = {"--panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean panelIntersection = false; - + @Parameter(names = {"--panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String panelFeatureType; - + @Parameter(names = {"--cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String cohortStatsRef; - + @Parameter(names = {"--cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String cohortStatsAlt; - + @Parameter(names = {"--cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String cohortStatsMaf; - + @Parameter(names = {"--ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String ct; - + @Parameter(names = {"--xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String xref; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String proteinSubstitution; - + @Parameter(names = {"--conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String conservation; - + @Parameter(names = {"--population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String populationFrequencyMaf; - + @Parameter(names = {"--population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String populationFrequencyAlt; - + @Parameter(names = {"--population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String populationFrequencyRef; - + @Parameter(names = {"--transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String transcriptFlag; - + @Parameter(names = {"--functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String functionalScore; - + @Parameter(names = {"--clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String clinical; - + @Parameter(names = {"--clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String clinicalSignificance; - + @Parameter(names = {"--clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean clinicalConfirmedStatus = false; - + @Parameter(names = {"--body_project"}, description = "The body web service project parameter", required = false, arity = 1) public String bodyProject; - + @Parameter(names = {"--body_study"}, description = "The body web service study parameter", required = false, arity = 1) public String bodyStudy; - + @Parameter(names = {"--saved-filter"}, description = "The body web service savedFilter parameter", required = false, arity = 1) public String savedFilter; - + @Parameter(names = {"--chromosome"}, description = "The body web service chromosome parameter", required = false, arity = 1) public String chromosome; - + @Parameter(names = {"--reference"}, description = "The body web service reference parameter", required = false, arity = 1) public String reference; - + @Parameter(names = {"--alternate"}, description = "The body web service alternate parameter", required = false, arity = 1) public String alternate; - + @Parameter(names = {"--release"}, description = "The body web service release parameter", required = false, arity = 1) public String release; - + @Parameter(names = {"--include-study"}, description = "The body web service includeStudy parameter", required = false, arity = 1) public String includeStudy; - + @Parameter(names = {"--include-sample"}, description = "The body web service includeSample parameter", required = false, arity = 1) public String includeSample; - + @Parameter(names = {"--include-file"}, description = "The body web service includeFile parameter", required = false, arity = 1) public String includeFile; - + @Parameter(names = {"--include-sample-data"}, description = "The body web service includeSampleData parameter", required = false, arity = 1) public String includeSampleData; - + @Parameter(names = {"--include-sample-id"}, description = "The body web service includeSampleId parameter", required = false, help = true, arity = 0) public boolean includeSampleId = false; - + @Parameter(names = {"--include-genotype"}, description = "The body web service includeGenotype parameter", required = false, help = true, arity = 0) public boolean includeGenotype = false; - + @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) public String file; - + @Parameter(names = {"--qual"}, description = "The body web service qual parameter", required = false, arity = 1) public String qual; - + @Parameter(names = {"--filter"}, description = "The body web service filter parameter", required = false, arity = 1) public String filter; - + @Parameter(names = {"--file-data"}, description = "The body web service fileData parameter", required = false, arity = 1) public String fileData; - + @Parameter(names = {"--genotype"}, description = "The body web service genotype parameter", required = false, arity = 1) public String genotype; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--sample-limit"}, description = "The body web service sampleLimit parameter", required = false, arity = 1) public Integer sampleLimit; - + @Parameter(names = {"--sample-skip"}, description = "The body web service sampleSkip parameter", required = false, arity = 1) public Integer sampleSkip; - + @Parameter(names = {"--sample-data"}, description = "The body web service sampleData parameter", required = false, arity = 1) public String sampleData; - + @Parameter(names = {"--sample-annotation"}, description = "The body web service sampleAnnotation parameter", required = false, arity = 1) public String sampleAnnotation; - + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--family-members"}, description = "The body web service familyMembers parameter", required = false, arity = 1) public String familyMembers; - + @Parameter(names = {"--family-disorder"}, description = "The body web service familyDisorder parameter", required = false, arity = 1) public String familyDisorder; - + @Parameter(names = {"--family-proband"}, description = "The body web service familyProband parameter", required = false, arity = 1) public String familyProband; - + @Parameter(names = {"--family-segregation"}, description = "The body web service familySegregation parameter", required = false, arity = 1) public String familySegregation; - + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--cohort-stats-pass"}, description = "The body web service cohortStatsPass parameter", required = false, arity = 1) public String cohortStatsPass; - + @Parameter(names = {"--cohort-stats-mgf"}, description = "The body web service cohortStatsMgf parameter", required = false, arity = 1) public String cohortStatsMgf; - + @Parameter(names = {"--missing-alleles"}, description = "The body web service missingAlleles parameter", required = false, arity = 1) public String missingAlleles; - + @Parameter(names = {"--missing-genotypes"}, description = "The body web service missingGenotypes parameter", required = false, arity = 1) public String missingGenotypes; - + @Parameter(names = {"--annotation-exists"}, description = "The body web service annotationExists parameter", required = false, arity = 1) public Boolean annotationExists; - + @Parameter(names = {"--score"}, description = "The body web service score parameter", required = false, arity = 1) public String score; - + @Parameter(names = {"--polyphen"}, description = "The body web service polyphen parameter", required = false, arity = 1) public String polyphen; - + @Parameter(names = {"--sift"}, description = "The body web service sift parameter", required = false, arity = 1) public String sift; - + @Parameter(names = {"--gene-role-in-cancer"}, description = "The body web service geneRoleInCancer parameter", required = false, arity = 1) public String geneRoleInCancer; - + @Parameter(names = {"--gene-trait-id"}, description = "The body web service geneTraitId parameter", required = false, arity = 1) public String geneTraitId; - + @Parameter(names = {"--gene-trait-name"}, description = "The body web service geneTraitName parameter", required = false, arity = 1) public String geneTraitName; - + @Parameter(names = {"--trait"}, description = "The body web service trait parameter", required = false, arity = 1) public String trait; - + @Parameter(names = {"--cosmic"}, description = "The body web service cosmic parameter", required = false, arity = 1) public String cosmic; - + @Parameter(names = {"--clinvar"}, description = "The body web service clinvar parameter", required = false, arity = 1) public String clinvar; - + @Parameter(names = {"--hpo"}, description = "The body web service hpo parameter", required = false, arity = 1) public String hpo; - + @Parameter(names = {"--go"}, description = "The body web service go parameter", required = false, arity = 1) public String go; - + @Parameter(names = {"--expression"}, description = "The body web service expression parameter", required = false, arity = 1) public String expression; - + @Parameter(names = {"--protein-keyword"}, description = "The body web service proteinKeyword parameter", required = false, arity = 1) public String proteinKeyword; - + @Parameter(names = {"--drug"}, description = "The body web service drug parameter", required = false, arity = 1) public String drug; - + @Parameter(names = {"--custom-annotation"}, description = "The body web service customAnnotation parameter", required = false, arity = 1) public String customAnnotation; - + @Parameter(names = {"--unknown-genotype"}, description = "The body web service unknownGenotype parameter", required = false, arity = 1) public String unknownGenotype; - + @Parameter(names = {"--sample-metadata"}, description = "The body web service sampleMetadata parameter", required = false, help = true, arity = 0) public boolean sampleMetadata = false; - + @Parameter(names = {"--sort"}, description = "The body web service sort parameter", required = false, help = true, arity = 0) public boolean sort = false; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--output-file-name"}, description = "The body web service outputFileName parameter", required = false, arity = 1) public String outputFileName; - + @Parameter(names = {"--output-file-format"}, description = "The body web service outputFileFormat parameter", required = false, arity = 1) public String outputFileFormat; - + @Parameter(names = {"--variants-file"}, description = "The body web service variantsFile parameter", required = false, arity = 1) public String variantsFile; - + @Parameter(names = {"--body_include"}, description = "The body web service include parameter", required = false, arity = 1) public String bodyInclude; - + @Parameter(names = {"--body_exclude"}, description = "The body web service exclude parameter", required = false, arity = 1) public String bodyExclude; - + @Parameter(names = {"--limit"}, description = "The body web service limit parameter", required = false, arity = 1) public Integer limit; - + @Parameter(names = {"--skip"}, description = "The body web service skip parameter", required = false, arity = 1) public Integer skip; - + @Parameter(names = {"--summary"}, description = "The body web service summary parameter", required = false, help = true, arity = 0) public boolean summary = false; - + } @Parameters(commandNames = {"family-genotypes"}, commandDescription ="Calculate the possible genotypes for the members of a family") public class GenotypesFamilyCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--family"}, description = "Family id", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis id", required = false, arity = 1) - public String clinicalAnalysis; - + public String clinicalAnalysis; + @Parameter(names = {"--mode-of-inheritance"}, description = "Mode of inheritance", required = true, arity = 1) - public String modeOfInheritance = "MONOALLELIC"; - + public String modeOfInheritance = "MONOALLELIC"; + @Parameter(names = {"--penetrance"}, description = "Penetrance", required = false, arity = 1) - public String penetrance = "COMPLETE"; - + public String penetrance = "COMPLETE"; + @Parameter(names = {"--disorder"}, description = "Disorder id", required = false, arity = 1) - public String disorder; - + public String disorder; + } @Parameters(commandNames = {"family-qc-run"}, commandDescription ="Run quality control (QC) for a given family. It computes the relatedness scores among the family members") public class RunFamilyQcCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--relatedness-method"}, description = "The body web service relatednessMethod parameter", required = false, arity = 1) public String relatednessMethod; - + @Parameter(names = {"--relatedness-maf"}, description = "The body web service relatednessMaf parameter", required = false, arity = 1) public String relatednessMaf; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"file-delete"}, commandDescription =" [DEPRECATED] Use operation/variant/delete") public class DeleteFileCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Files to remove", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--resume"}, description = "Resume a previously failed indexation", required = false, help = true, arity = 0) - public boolean resume = false; - + public boolean resume = false; + } @Parameters(commandNames = {"gatk-run"}, commandDescription ="GATK is a Genome Analysis Toolkit for variant discovery in high-throughput sequencing data. Supported Gatk commands: HaplotypeCaller") public class RunGatkCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--command"}, description = "The body web service command parameter", required = false, arity = 1) public String command; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @DynamicParameter(names = {"--gatk-params"}, description = "The body web service gatkParams parameter. Use: --gatk-params key=value", required = false) public java.util.Map gatkParams = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"genome-plot-run"}, commandDescription ="Generate a genome plot for a given sample.") public class RunGenomePlotCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "The body web service description parameter", required = false, arity = 1) public String description; - + @Parameter(names = {"--config-file"}, description = "The body web service configFile parameter", required = false, arity = 1) public String configFile; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"gwas-run"}, commandDescription ="Run a Genome Wide Association Study between two cohorts.") public class RunGwasCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--phenotype"}, description = "The body web service phenotype parameter", required = false, arity = 1) public String phenotype; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--index-score-id"}, description = "The body web service indexScoreId parameter", required = false, arity = 1) public String indexScoreId; - + @Parameter(names = {"--method"}, description = "The body web service method parameter", required = false, arity = 1) public String method; - + @Parameter(names = {"--fisher-mode"}, description = "The body web service fisherMode parameter", required = false, arity = 1) public String fisherMode; - + @Parameter(names = {"--case-cohort"}, description = "The body web service caseCohort parameter", required = false, arity = 1) public String caseCohort; - + @Parameter(names = {"--case-cohort-samples-annotation"}, description = "The body web service caseCohortSamplesAnnotation parameter", required = false, arity = 1) public String caseCohortSamplesAnnotation; - + @Parameter(names = {"--case-cohort-samples"}, description = "The body web service caseCohortSamples parameter", required = false, arity = 1) public String caseCohortSamples; - + @Parameter(names = {"--control-cohort"}, description = "The body web service controlCohort parameter", required = false, arity = 1) public String controlCohort; - + @Parameter(names = {"--control-cohort-samples-annotation"}, description = "The body web service controlCohortSamplesAnnotation parameter", required = false, arity = 1) public String controlCohortSamplesAnnotation; - + @Parameter(names = {"--control-cohort-samples"}, description = "The body web service controlCohortSamples parameter", required = false, arity = 1) public String controlCohortSamples; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"hr-detect-run"}, commandDescription ="Run HRDetect analysis for a given somatic sample.") public class RunHrDetectCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "ID to identify the HRDetect results.", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "Decription for these particular HRDetect results.", required = false, arity = 1) public String description; - + @Parameter(names = {"--sample-id"}, description = "Sample data model hosts information about any biological material, normally extracted from an _Individual_, that is used for a particular analysis. This is the main data model, it stores the most basic and important information.", required = false, arity = 1) public String sampleId; - + @Parameter(names = {"--snv-fitting-id"}, description = "Mutational signature fitting ID for SNV.", required = false, arity = 1) public String snvFittingId; - + @Parameter(names = {"--sv-fitting-id"}, description = "Mutational signature fitting ID for SV.", required = false, arity = 1) public String svFittingId; - + @Parameter(names = {"--cnv-query"}, description = "CNV query", required = false, arity = 1) public String cnvQuery; - + @Parameter(names = {"--indel-query"}, description = "INDEL query", required = false, arity = 1) public String indelQuery; - + @Parameter(names = {"--snv3custom-name"}, description = "Custom signature name that will be considered as SNV3 input for HRDetect.", required = false, arity = 1) public String snv3CustomName; - + @Parameter(names = {"--snv8custom-name"}, description = "Custom signature name that will be considered as SNV8 input for HRDetect.", required = false, arity = 1) public String snv8CustomName; - + @Parameter(names = {"--sv3custom-name"}, description = "Custom signature name that will be considered as SV3 input for HRDetect.", required = false, arity = 1) public String sv3CustomName; - + @Parameter(names = {"--sv8custom-name"}, description = "Custom signature name that will be considered as SV8 input for HRDetect.", required = false, arity = 1) public String sv8CustomName; - + @Parameter(names = {"--bootstrap"}, description = "Request HRDetect with bootstrap.", required = false, arity = 1) public Boolean bootstrap; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"index-run"}, commandDescription =" [DEPRECATED] Use operation/variant/index") public class RunIndexCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--file"}, description = "List of files to be indexed.", required = false, arity = 1) public String file; - + @Parameter(names = {"--resume"}, description = "Resume a previously failed index operation", required = false, help = true, arity = 0) public boolean resume = false; - + @Parameter(names = {"--outdir"}, description = "Output directory", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--transform"}, description = "If present it only runs the transform stage, no load is executed", required = false, help = true, arity = 0) public boolean transform = false; - + @Parameter(names = {"--gvcf"}, description = "Hint to indicate that the input file is in gVCF format.", required = false, help = true, arity = 0) public boolean gvcf = false; - + @Parameter(names = {"--normalization-skip"}, description = "Do not execute the normalization process. WARN: INDELs will be stored with the context base", required = false, help = true, arity = 0) public boolean normalizationSkip = false; - + @Parameter(names = {"--reference-genome"}, description = "Reference genome in FASTA format used during the normalization step for a complete left alignment", required = false, arity = 1) public String referenceGenome; - + @Parameter(names = {"--fail-on-malformed-lines"}, description = "Fail when encountering malformed lines. (yes, no, auto) [auto]", required = false, arity = 1) public String failOnMalformedLines; - + @Parameter(names = {"--family"}, description = "Indicate that the files to be loaded are part of a family. This will set 'load-hom-ref' to YES if it was in AUTO and execute 'family-index' afterwards", required = false, help = true, arity = 0) public boolean family = false; - + @Parameter(names = {"--somatic"}, description = "Indicate that the files to be loaded contain somatic samples. This will set 'load-hom-ref' to YES if it was in AUTO.", required = false, help = true, arity = 0) public boolean somatic = false; - + @Parameter(names = {"--load"}, description = "If present only the load stage is executed, transformation is skipped", required = false, help = true, arity = 0) public boolean load = false; - + @Parameter(names = {"--force-reload"}, description = "If the file is already loaded, force a file reload", required = false, help = true, arity = 0) public boolean forceReload = false; - + @Parameter(names = {"--load-split-data"}, description = "Indicate that the variants from a group of samples is split in multiple files, either by CHROMOSOME or by REGION. In either case, variants from different files must not overlap.", required = false, arity = 1) public String loadSplitData; - + @Parameter(names = {"--load-multi-file-data"}, description = "Indicate the presence of multiple files for the same sample. Each file could be the result of a different vcf-caller or experiment over the same sample.", required = false, help = true, arity = 0) public boolean loadMultiFileData = false; - + @Parameter(names = {"--load-sample-index"}, description = "Build sample index while loading. (yes, no, auto) [auto]", required = false, arity = 1) public String loadSampleIndex; - + @Parameter(names = {"--load-archive"}, description = "Load archive data. (yes, no, auto) [auto]", required = false, arity = 1) public String loadArchive; - + @Parameter(names = {"--load-hom-ref"}, description = "Load HOM_REF genotypes. (yes, no, auto) [auto]", required = false, arity = 1) public String loadHomRef; - + @Parameter(names = {"--post-load-check"}, description = "Execute post load checks over the database. (yes, no, auto) [auto]", required = false, arity = 1) public String postLoadCheck; - + @Parameter(names = {"--include-genotypes"}, description = "Load the genotype data for the current file. This only applies to the GT field from the FORMAT. All the rest of fields from the INFO and FORMAT will be loaded. Use this parameter skip load data when the GT field is not reliable, or its only value across the file is './.'. If 'auto', genotypes will be automatically excluded if all genotypes are either missing, ./. or 0/0. (yes, no, auto) [auto]", required = false, arity = 1) public String includeGenotypes; - + @Parameter(names = {"--include-sample-data"}, description = "Index including other sample data fields (i.e. FORMAT fields). Use 'all', 'none', or CSV with the fields to load.", required = false, arity = 1) public String includeSampleData; - + @Parameter(names = {"--merge"}, description = "Currently two levels of merge are supported: 'basic' mode merge genotypes of the same variants while 'advanced' merge multiallelic and overlapping variants.", required = false, arity = 1) public String merge; - + @Parameter(names = {"--deduplication-policy"}, description = "Specify how duplicated variants should be handled. Available policies: 'discard', 'maxQual'", required = false, arity = 1) public String deduplicationPolicy; - + @Parameter(names = {"--calculate-stats"}, description = "Calculate indexed variants statistics after the load step", required = false, help = true, arity = 0) public boolean calculateStats = false; - + @Parameter(names = {"--aggregated"}, description = "Select the type of aggregated VCF file: none, basic, EVS or ExAC", required = false, arity = 1) public String aggregated; - + @Parameter(names = {"--aggregation-mapping-file"}, description = "File containing population names mapping in an aggregated VCF file", required = false, arity = 1) public String aggregationMappingFile; - + @Parameter(names = {"--annotate"}, description = "Annotate indexed variants after the load step", required = false, help = true, arity = 0) public boolean annotate = false; - + @Parameter(names = {"--annotator"}, description = "Annotation source {cellbase_rest, cellbase_db_adaptor}", required = false, arity = 1) public String annotator; - + @Parameter(names = {"--overwrite-annotations"}, description = "Overwrite annotations in variants already present", required = false, help = true, arity = 0) public boolean overwriteAnnotations = false; - + @Parameter(names = {"--index-search"}, description = "Add files to the secondary search index", required = false, help = true, arity = 0) public boolean indexSearch = false; - + @Parameter(names = {"--skip-indexed-files"}, description = "Do not fail if any of the input files was already indexed.", required = false, help = true, arity = 0) public boolean skipIndexedFiles = false; - + } @Parameters(commandNames = {"individual-qc-run"}, commandDescription ="Run quality control (QC) for a given individual. It includes inferred sex and mendelian errors (UDP)") public class RunIndividualQcCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--individual"}, description = "Individual ID", required = false, arity = 1) public String individual; - + @Parameter(names = {"--sample"}, description = "Sample ID (required when the individual has multiple samples)", required = false, arity = 1) public String sample; - + @Parameter(names = {"--inferred-sex-method"}, description = "Inferred sex method. Valid values: CoverageRatio", required = false, arity = 1) public String inferredSexMethod = "CoverageRatio"; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"inferred-sex-run"}, commandDescription ="Infer sex from chromosome mean coverages.") public class RunInferredSexCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--individual"}, description = "Individual ID", required = false, arity = 1) public String individual; - + @Parameter(names = {"--sample"}, description = "Sample ID (required when the individual has multiple samples)", required = false, arity = 1) public String sample; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"knockout-gene-query"}, commandDescription ="Fetch values from KnockoutAnalysis result, by genes") public class QueryKnockoutGeneCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job"}, description = "Job ID or UUID", required = false, arity = 1) - public String job; - + public String job; + } @Parameters(commandNames = {"knockout-individual-query"}, commandDescription ="Fetch values from KnockoutAnalysis result, by individuals") public class QueryKnockoutIndividualCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job"}, description = "Job ID or UUID", required = false, arity = 1) - public String job; - + public String job; + } @Parameters(commandNames = {"knockout-run"}, commandDescription ="Obtains the list of knocked out genes for each sample.") public class RunKnockoutCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--consequence-type"}, description = "The body web service consequenceType parameter", required = false, arity = 1) public String consequenceType; - + @Parameter(names = {"--filter"}, description = "The body web service filter parameter", required = false, arity = 1) public String filter; - + @Parameter(names = {"--qual"}, description = "The body web service qual parameter", required = false, arity = 1) public String qual; - + @Parameter(names = {"--skip-genes-file"}, description = "The body web service skipGenesFile parameter", required = false, help = true, arity = 0) public boolean skipGenesFile = false; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + } @Parameters(commandNames = {"mendelian-error-run"}, commandDescription ="Run mendelian error analysis to infer uniparental disomy regions.") public class RunMendelianErrorCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--family"}, description = "The body web service family parameter", required = false, arity = 1) public String family; - + @Parameter(names = {"--individual"}, description = "The body web service individual parameter", required = false, arity = 1) public String individual; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"metadata"}, commandDescription ="") public class MetadataCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--include-study"}, description = "List of studies to include in the result. Accepts 'all' and 'none'.", required = false, arity = 1) - public String includeStudy; - + public String includeStudy; + @Parameter(names = {"--include-file"}, description = "List of files to be returned. Accepts 'all' and 'none'. If undefined, automatically includes files used for filtering. If none, no file is included.", required = false, arity = 1) - public String includeFile; - + public String includeFile; + @Parameter(names = {"--include-sample"}, description = "List of samples to be included in the result. Accepts 'all' and 'none'. If undefined, automatically includes samples used for filtering. If none, no sample is included.", required = false, arity = 1) - public String includeSample; - + public String includeSample; + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + } @Parameters(commandNames = {"mutational-signature-query"}, commandDescription ="Run mutational signature analysis for a given sample. Use context index.") public class QueryMutationalSignatureCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--sample"}, description = "Sample name", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--type"}, description = "Variant type. Valid values: SNV, SV", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--file-data"}, description = "Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from 'file' filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP", required = false, arity = 1) - public String fileData; - + public String fileData; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--qual"}, description = "Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4", required = false, arity = 1) - public String qual; - + public String qual; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--panel"}, description = "Filter by genes from the given disease panel", required = false, arity = 1) - public String panel; - + public String panel; + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "Filter genes from specific panels that match certain mode of inheritance. Accepted values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String panelModeOfInheritance; - + public String panelModeOfInheritance; + @Parameter(names = {"--panel-confidence"}, description = "Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low, rejected ]", required = false, arity = 1) - public String panelConfidence; - + public String panelConfidence; + @Parameter(names = {"--panel-feature-type"}, description = "Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ]", required = false, arity = 1) - public String panelFeatureType; - + public String panelFeatureType; + @Parameter(names = {"--panel-role-in-cancer"}, description = "Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene, tumorSuppressorGene, fusion ]", required = false, arity = 1) - public String panelRoleInCancer; - + public String panelRoleInCancer; + @Parameter(names = {"--panel-intersection"}, description = "Intersect panel genes and regions with given genes and regions from que input query. This will prevent returning variants from regions out of the panel.", required = false, help = true, arity = 0) - public boolean panelIntersection = false; - + public boolean panelIntersection = false; + @Parameter(names = {"--ms-id"}, description = "Signature ID.", required = false, arity = 1) - public String msId; - + public String msId; + @Parameter(names = {"--ms-description"}, description = "Signature description.", required = false, arity = 1) - public String msDescription; - + public String msDescription; + } @Parameters(commandNames = {"mutational-signature-run"}, commandDescription ="Run mutational signature analysis for a given sample.") public class RunMutationalSignatureCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "Signature ID.", required = false, arity = 1) public String id; - + @Parameter(names = {"--description"}, description = "Signature description.", required = false, arity = 1) public String description; - + @Parameter(names = {"--sample"}, description = "Sample.", required = false, arity = 1) public String sample; - + @Parameter(names = {"--query"}, description = "Signature query in JSON format, e.g: ''{\'sample\':\'NR123456_T\', \'fileData\': \'NR.123456_T_vs_NR.1234567_G.annot.vcf.gz:FILTER=PASS;CLPM<=0;ASMD>=140\'}'.", required = false, arity = 1) public String query; - + @Parameter(names = {"--fit-id"}, description = "Fiiting signature ID", required = false, arity = 1) public String fitId; - + @Parameter(names = {"--fit-method"}, description = "Either Fit or FitMS. If not specified then FitMS", required = false, arity = 1) public String fitMethod = "FitMS"; - + @Parameter(names = {"--fit-n-boot"}, description = "Number of bootstrap to be used.", required = false, arity = 1) public Integer fitNBoot; - + @Parameter(names = {"--fit-sig-version"}, description = "Either COSMICv2, COSMICv3.2, RefSigv1 or RefSigv2. If not specified RefSigv2.", required = false, arity = 1) public String fitSigVersion = "RefSigv2"; - + @Parameter(names = {"--fit-organ"}, description = "When using RefSigv1 or RefSigv2 as SIGVERSION, organ-specific signatures will be used. If SIGVERSION is COSMICv2 or COSMICv3.2, then a selection of signatures found in the given organ will be used. Available organs depend on the selected SIGVERSION. For RefSigv1 or RefSigv2: Biliary, Bladder, Bone_SoftTissue, Breast, Cervix (v1 only), CNS, Colorectal, Esophagus, Head_neck, Kidney, Liver, Lung, Lymphoid, NET (v2 only), Oral_Oropharyngeal (v2 only), Ovary, Pancreas, Prostate, Skin, Stomach, Uterus.", required = false, arity = 1) public String fitOrgan; - + @Parameter(names = {"--fit-threshold-perc"}, description = "Threshold in percentage of total mutations in a sample, only exposures larger than THRPERC are considered. If not specified 5.", required = false, arity = 1) public Float fitThresholdPerc = 5f; - + @Parameter(names = {"--fit-threshold-pval"}, description = "P-value to determine the empirical probability that the exposure is lower than the threshold. If not specified then 0.05.", required = false, arity = 1) public Float fitThresholdPval = 0.05f; - + @Parameter(names = {"--fit-max-rare-sigs"}, description = "Maximum number of rare signatures that are allowed to be present in each sample. If not specified 1.", required = false, arity = 1) public Integer fitMaxRareSigs = 1; - + @Parameter(names = {"--fit-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered common signatures.", required = false, arity = 1) public String fitSignaturesFile; - + @Parameter(names = {"--fit-rare-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered rare signatures.", required = false, arity = 1) public String fitRareSignaturesFile; - + @Parameter(names = {"--skip"}, description = "To skip to compute catalogue counts or the signature fitting. Use the following keywords: catalogue, fitting.", required = false, arity = 1) public String skip; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"plink-run"}, commandDescription ="Plink is a whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses.") public class RunPlinkCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @DynamicParameter(names = {"--plink-params"}, description = "The body web service plinkParams parameter. Use: --plink-params key=value", required = false) public java.util.Map plinkParams = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"query"}, commandDescription ="Filter and fetch variants from indexed VCF files in the variant storage") public class QueryCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) - public String include; - + public String include; + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) - public String exclude; - + public String exclude; + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--count"}, description = "Get the total number of results matching the query. Deactivated by default.", required = false, help = true, arity = 0) - public boolean count = false; - + public boolean count = false; + @Parameter(names = {"--sort"}, description = "Sort the results", required = false, help = true, arity = 0) - public boolean sort = false; - + public boolean sort = false; + @Parameter(names = {"--summary"}, description = "Fast fetch of main variant parameters", required = false, help = true, arity = 0) - public boolean summary = false; - + public boolean summary = false; + @Parameter(names = {"--approximate-count"}, description = "Get an approximate count, instead of an exact total count. Reduces execution time", required = false, help = true, arity = 0) - public boolean approximateCount = false; - + public boolean approximateCount = false; + @Parameter(names = {"--approximate-count-sampling-size"}, description = "Sampling size to get the approximate count. Larger values increase accuracy but also increase execution time", required = false, arity = 1) - public Integer approximateCountSamplingSize; - + public Integer approximateCountSamplingSize; + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--id"}, description = "List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. rs116600158,19:7177679:C:T", required = false, arity = 1) - public String id; - + public String id; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--reference"}, description = "Reference allele", required = false, arity = 1) - public String reference; - + public String reference; + @Parameter(names = {"--alternate"}, description = "Main alternate allele", required = false, arity = 1) - public String alternate; - + public String alternate; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--qual"}, description = "Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4", required = false, arity = 1) - public String qual; - + public String qual; + @Parameter(names = {"--file-data"}, description = "Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from 'file' filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP", required = false, arity = 1) - public String fileData; - + public String fileData; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--genotype"}, description = "Samples with a specific genotype: {samp_1}:{gt_1}(,{gt_n})*(;{samp_n}:{gt_1}(,{gt_n})*)* e.g. HG0097:0/0;HG0098:0/1,1/1. Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT. This will automatically set 'includeSample' parameter when not provided", required = false, arity = 1) - public String genotype; - + public String genotype; + @Parameter(names = {"--sample-data"}, description = "Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will use all samples from 'sample' or 'genotype' filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10", required = false, arity = 1) - public String sampleData; - + public String sampleData; + @Parameter(names = {"--sample-annotation"}, description = "Selects some samples using metadata information from Catalog. e.g. age>20;phenotype=hpo:123,hpo:456;name=smith", required = false, arity = 1) - public String sampleAnnotation; - + public String sampleAnnotation; + @Parameter(names = {"--sample-metadata"}, description = "Return the samples metadata group by study. Sample names will appear in the same order as their corresponding genotypes.", required = false, help = true, arity = 0) - public boolean sampleMetadata = false; - + public boolean sampleMetadata = false; + @Parameter(names = {"--unknown-genotype"}, description = "Returned genotype for unknown genotypes. Common values: [0/0, 0|0, ./.]", required = false, arity = 1) - public String unknownGenotype; - + public String unknownGenotype; + @Parameter(names = {"--sample-limit"}, description = "Limit the number of samples to be included in the result", required = false, arity = 1) - public Integer sampleLimit; - + public Integer sampleLimit; + @Parameter(names = {"--sample-skip"}, description = "Skip some samples from the result. Useful for sample pagination.", required = false, arity = 1) - public Integer sampleSkip; - + public Integer sampleSkip; + @Parameter(names = {"--cohort"}, description = "Select variants with calculated stats for the selected cohorts", required = false, arity = 1) - public String cohort; - + public String cohort; + @Parameter(names = {"--cohort-stats-ref"}, description = "Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsRef; - + public String cohortStatsRef; + @Parameter(names = {"--cohort-stats-alt"}, description = "Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsAlt; - + public String cohortStatsAlt; + @Parameter(names = {"--cohort-stats-maf"}, description = "Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMaf; - + public String cohortStatsMaf; + @Parameter(names = {"--cohort-stats-mgf"}, description = "Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4", required = false, arity = 1) - public String cohortStatsMgf; - + public String cohortStatsMgf; + @Parameter(names = {"--cohort-stats-pass"}, description = "Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8", required = false, arity = 1) - public String cohortStatsPass; - + public String cohortStatsPass; + @Parameter(names = {"--missing-alleles"}, description = "Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingAlleles; - + public String missingAlleles; + @Parameter(names = {"--missing-genotypes"}, description = "Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}", required = false, arity = 1) - public String missingGenotypes; - + public String missingGenotypes; + @Parameter(names = {"--score"}, description = "Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}", required = false, arity = 1) - public String score; - + public String score; + @Parameter(names = {"--family"}, description = "Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT)", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-disorder"}, description = "Specify the disorder to use for the family segregation", required = false, arity = 1) - public String familyDisorder; - + public String familyDisorder; + @Parameter(names = {"--family-segregation"}, description = "Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String familySegregation; - + public String familySegregation; + @Parameter(names = {"--family-members"}, description = "Sub set of the members of a given family", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-proband"}, description = "Specify the proband child to use for the family segregation", required = false, arity = 1) - public String familyProband; - + public String familyProband; + @Parameter(names = {"--include-study"}, description = "List of studies to include in the result. Accepts 'all' and 'none'.", required = false, arity = 1) - public String includeStudy; - + public String includeStudy; + @Parameter(names = {"--include-file"}, description = "List of files to be returned. Accepts 'all' and 'none'. If undefined, automatically includes files used for filtering. If none, no file is included.", required = false, arity = 1) - public String includeFile; - + public String includeFile; + @Parameter(names = {"--include-sample"}, description = "List of samples to be included in the result. Accepts 'all' and 'none'. If undefined, automatically includes samples used for filtering. If none, no sample is included.", required = false, arity = 1) - public String includeSample; - + public String includeSample; + @Parameter(names = {"--include-sample-data"}, description = "List of Sample Data keys (i.e. FORMAT column from VCF file) from Sample Data to include in the output. e.g: DP,AD. Accepts 'all' and 'none'.", required = false, arity = 1) - public String includeSampleData; - + public String includeSampleData; + @Parameter(names = {"--include-genotype"}, description = "Include genotypes, apart of other formats defined with includeFormat", required = false, arity = 1) - public String includeGenotype; - + public String includeGenotype; + @Parameter(names = {"--include-sample-id"}, description = "Include sampleId on each result", required = false, arity = 1) - public String includeSampleId; - + public String includeSampleId; + @Parameter(names = {"--annotation-exists"}, description = "Return only annotated variants", required = false, arity = 1) - public Boolean annotationExists; - + public Boolean annotationExists; + @Parameter(names = {"--gene"}, description = "List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter", required = false, arity = 1) - public String gene; - + public String gene; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--xref"}, description = "List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ...", required = false, arity = 1) - public String xref; - + public String xref; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--protein-substitution"}, description = "Protein substitution scores include SIFT and PolyPhen. You can query using the score {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant", required = false, arity = 1) - public String proteinSubstitution; - + public String proteinSubstitution; + @Parameter(names = {"--conservation"}, description = "Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1", required = false, arity = 1) - public String conservation; - + public String conservation; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--population-frequency-ref"}, description = "Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyRef; - + public String populationFrequencyRef; + @Parameter(names = {"--population-frequency-maf"}, description = "Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyMaf; - + public String populationFrequencyMaf; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--gene-trait-id"}, description = "List of gene trait association id. e.g. 'umls:C0007222' , 'OMIM:269600'", required = false, arity = 1) - public String geneTraitId; - + public String geneTraitId; + @Parameter(names = {"--go"}, description = "List of GO (Gene Ontology) terms. e.g. 'GO:0002020'", required = false, arity = 1) - public String go; - + public String go; + @Parameter(names = {"--expression"}, description = "List of tissues of interest. e.g. 'lung'", required = false, arity = 1) - public String expression; - + public String expression; + @Parameter(names = {"--protein-keyword"}, description = "List of Uniprot protein variant annotation keywords", required = false, arity = 1) - public String proteinKeyword; - + public String proteinKeyword; + @Parameter(names = {"--drug"}, description = "List of drug names", required = false, arity = 1) - public String drug; - + public String drug; + @Parameter(names = {"--functional-score"}, description = "Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3", required = false, arity = 1) - public String functionalScore; - + public String functionalScore; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--custom-annotation"}, description = "Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}", required = false, arity = 1) - public String customAnnotation; - + public String customAnnotation; + @Parameter(names = {"--panel"}, description = "Filter by genes from the given disease panel", required = false, arity = 1) - public String panel; - + public String panel; + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "Filter genes from specific panels that match certain mode of inheritance. Accepted values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String panelModeOfInheritance; - + public String panelModeOfInheritance; + @Parameter(names = {"--panel-confidence"}, description = "Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low, rejected ]", required = false, arity = 1) - public String panelConfidence; - + public String panelConfidence; + @Parameter(names = {"--panel-role-in-cancer"}, description = "Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene, tumorSuppressorGene, fusion ]", required = false, arity = 1) - public String panelRoleInCancer; - + public String panelRoleInCancer; + @Parameter(names = {"--panel-feature-type"}, description = "Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ]", required = false, arity = 1) - public String panelFeatureType; - + public String panelFeatureType; + @Parameter(names = {"--panel-intersection"}, description = "Intersect panel genes and regions with given genes and regions from que input query. This will prevent returning variants from regions out of the panel.", required = false, help = true, arity = 0) - public boolean panelIntersection = false; - + public boolean panelIntersection = false; + @Parameter(names = {"--trait"}, description = "List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...", required = false, arity = 1) - public String trait; - + public String trait; + } @Parameters(commandNames = {"relatedness-run"}, commandDescription ="Compute a score to quantify relatedness between samples.") public class RunRelatednessCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--individuals"}, description = "The body web service individuals parameter", required = false, arity = 1) public String individuals; - + @Parameter(names = {"--samples"}, description = "The body web service samples parameter", required = false, arity = 1) public String samples; - + @Parameter(names = {"--minor-allele-freq"}, description = "The body web service minorAlleleFreq parameter", required = false, arity = 1) public String minorAlleleFreq; - + @Parameter(names = {"--method"}, description = "The body web service method parameter", required = false, arity = 1) public String method; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"rvtests-run"}, commandDescription ="Rvtests is a flexible software package for genetic association studies. Supported RvTests commands: rvtest, vcf2kinship") public class RunRvtestsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--command"}, description = "The body web service command parameter", required = false, arity = 1) public String command; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @DynamicParameter(names = {"--rvtests-params"}, description = "The body web service rvtestsParams parameter. Use: --rvtests-params key=value", required = false) public java.util.Map rvtestsParams = new HashMap<>(); //Dynamic parameters must be initialized; - + } @Parameters(commandNames = {"sample-aggregation-stats"}, commandDescription ="Calculate and fetch sample aggregation stats") public class AggregationStatsSampleCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--saved-filter"}, description = "Use a saved filter at User level", required = false, arity = 1) - public String savedFilter; - + public String savedFilter; + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - - @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String study; + + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--sample"}, description = "Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. ", required = false, arity = 1) - public String sample; - + public String sample; + @Parameter(names = {"--genotype"}, description = "Samples with a specific genotype: {samp_1}:{gt_1}(,{gt_n})*(;{samp_n}:{gt_1}(,{gt_n})*)* e.g. HG0097:0/0;HG0098:0/1,1/1. Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT. This will automatically set 'includeSample' parameter when not provided", required = false, arity = 1) - public String genotype; - + public String genotype; + @Parameter(names = {"--sample-annotation"}, description = "Selects some samples using metadata information from Catalog. e.g. age>20;phenotype=hpo:123,hpo:456;name=smith", required = false, arity = 1) - public String sampleAnnotation; - + public String sampleAnnotation; + @Parameter(names = {"--family"}, description = "Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT)", required = false, arity = 1) - public String family; - + public String family; + @Parameter(names = {"--family-disorder"}, description = "Specify the disorder to use for the family segregation", required = false, arity = 1) - public String familyDisorder; - + public String familyDisorder; + @Parameter(names = {"--family-segregation"}, description = "Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ]", required = false, arity = 1) - public String familySegregation; - + public String familySegregation; + @Parameter(names = {"--family-members"}, description = "Sub set of the members of a given family", required = false, arity = 1) - public String familyMembers; - + public String familyMembers; + @Parameter(names = {"--family-proband"}, description = "Specify the proband child to use for the family segregation", required = false, arity = 1) - public String familyProband; - + public String familyProband; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--field"}, description = "List of facet fields separated by semicolons, e.g.: studies;type. For nested faceted fields use >>, e.g.: chromosome>>type . Accepted values: chromosome, type, genotype, consequenceType, biotype, clinicalSignificance, dp, qual, filter", required = false, arity = 1) - public String field; - + public String field; + } @Parameters(commandNames = {"sample-eligibility-run"}, commandDescription ="Filter samples by a complex query involving metadata and variants data") public class RunSampleEligibilityCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--query"}, description = "The body web service query parameter", required = false, arity = 1) public String query; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--cohort-id"}, description = "The body web service cohortId parameter", required = false, arity = 1) public String cohortId; - + } @Parameters(commandNames = {"sample-qc-run"}, commandDescription ="Run quality control (QC) for a given sample. It includes variant stats, and if the sample is somatic, mutational signature and genome plot are calculated.") public class RunSampleQcCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "Sample data model hosts information about any biological material, normally extracted from an _Individual_, that is used for a particular analysis. This is the main data model, it stores the most basic and important information.", required = false, arity = 1) public String sample; - + @Parameter(names = {"--vs-id"}, description = "Variant stats ID.", required = false, arity = 1) public String vsId; - + @Parameter(names = {"--vs-description"}, description = "Variant stats description.", required = false, arity = 1) public String vsDescription; - + @Parameter(names = {"--vs-query-id"}, description = "The body web service id parameter", required = false, arity = 1) public String vsQueryId; - + @Parameter(names = {"--vs-query-region"}, description = "The body web service region parameter", required = false, arity = 1) public String vsQueryRegion; - + @Parameter(names = {"--vs-query-gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String vsQueryGene; - + @Parameter(names = {"--vs-query-type"}, description = "The body web service type parameter", required = false, arity = 1) public String vsQueryType; - + @Parameter(names = {"--vs-query-panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String vsQueryPanel; - + @Parameter(names = {"--vs-query-panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String vsQueryPanelModeOfInheritance; - + @Parameter(names = {"--vs-query-panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String vsQueryPanelConfidence; - + @Parameter(names = {"--vs-query-panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String vsQueryPanelRoleInCancer; - + @Parameter(names = {"--vs-query-panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean vsQueryPanelIntersection = false; - + @Parameter(names = {"--vs-query-panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String vsQueryPanelFeatureType; - + @Parameter(names = {"--vs-query-cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String vsQueryCohortStatsRef; - + @Parameter(names = {"--vs-query-cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String vsQueryCohortStatsAlt; - + @Parameter(names = {"--vs-query-cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String vsQueryCohortStatsMaf; - + @Parameter(names = {"--vs-query-ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String vsQueryCt; - + @Parameter(names = {"--vs-query-xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String vsQueryXref; - + @Parameter(names = {"--vs-query-biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String vsQueryBiotype; - + @Parameter(names = {"--vs-query-protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String vsQueryProteinSubstitution; - + @Parameter(names = {"--vs-query-conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String vsQueryConservation; - + @Parameter(names = {"--vs-query-population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String vsQueryPopulationFrequencyMaf; - + @Parameter(names = {"--vs-query-population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String vsQueryPopulationFrequencyAlt; - + @Parameter(names = {"--vs-query-population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String vsQueryPopulationFrequencyRef; - + @Parameter(names = {"--vs-query-transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String vsQueryTranscriptFlag; - + @Parameter(names = {"--vs-query-functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String vsQueryFunctionalScore; - + @Parameter(names = {"--vs-query-clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String vsQueryClinical; - + @Parameter(names = {"--vs-query-clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String vsQueryClinicalSignificance; - + @Parameter(names = {"--vs-query-clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean vsQueryClinicalConfirmedStatus = false; - + @Parameter(names = {"--ms-id"}, description = "Signature ID.", required = false, arity = 1) public String msId; - + @Parameter(names = {"--ms-description"}, description = "Signature description.", required = false, arity = 1) public String msDescription; - + @Parameter(names = {"--ms-query"}, description = "Signature query in JSON format, e.g: ''{\'sample\':\'NR123456_T\', \'fileData\': \'NR.123456_T_vs_NR.1234567_G.annot.vcf.gz:FILTER=PASS;CLPM<=0;ASMD>=140\'}'.", required = false, arity = 1) public String msQuery; - + @Parameter(names = {"--ms-fit-id"}, description = "Either Fit or FitMS. If not specified then FitMS", required = false, arity = 1) public String msFitId; - + @Parameter(names = {"--ms-fit-method"}, description = "Either Fit or FitMS. If not specified then FitMS", required = false, arity = 1) public String msFitMethod = "FitMS"; - + @Parameter(names = {"--ms-fit-n-boot"}, description = "Number of bootstrap to be used.", required = false, arity = 1) public Integer msFitNBoot; - + @Parameter(names = {"--ms-fit-sig-version"}, description = "Either COSMICv2, COSMICv3.2, RefSigv1 or RefSigv2. If not specified RefSigv2.", required = false, arity = 1) public String msFitSigVersion = "RefSigv2"; - + @Parameter(names = {"--ms-fit-organ"}, description = "When using RefSigv1 or RefSigv2 as SIGVERSION, organ-specific signatures will be used. If SIGVERSION is COSMICv2 or COSMICv3.2, then a selection of signatures found in the given organ will be used. Available organs depend on the selected SIGVERSION. For RefSigv1 or RefSigv2: Biliary, Bladder, Bone_SoftTissue, Breast, Cervix (v1 only), CNS, Colorectal, Esophagus, Head_neck, Kidney, Liver, Lung, Lymphoid, NET (v2 only), Oral_Oropharyngeal (v2 only), Ovary, Pancreas, Prostate, Skin, Stomach, Uterus.", required = false, arity = 1) public String msFitOrgan; - + @Parameter(names = {"--ms-fit-threshold-perc"}, description = "Threshold in percentage of total mutations in a sample, only exposures larger than THRPERC are considered. If not specified 5.", required = false, arity = 1) public Float msFitThresholdPerc = 5f; - + @Parameter(names = {"--ms-fit-threshold-pval"}, description = "P-value to determine the empirical probability that the exposure is lower than the threshold. If not specified then 0.05.", required = false, arity = 1) public Float msFitThresholdPval = 0.05f; - + @Parameter(names = {"--ms-fit-max-rare-sigs"}, description = "Maximum number of rare signatures that are allowed to be present in each sample. If not specified 1.", required = false, arity = 1) public Integer msFitMaxRareSigs = 1; - + @Parameter(names = {"--ms-fit-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered common signatures.", required = false, arity = 1) public String msFitSignaturesFile; - + @Parameter(names = {"--ms-fit-rare-signatures-file"}, description = "The file name containing mutational signatures. Each signature is in a column, with signature names as column hearders and channel names as row names in the first column with no header. Each column must sum to 1. Use only to provide your own signatures. When fitmethod=FitMS, these signatures are considered rare signatures.", required = false, arity = 1) public String msFitRareSignaturesFile; - + @Parameter(names = {"--gp-id"}, description = "Genome plot ID.", required = false, arity = 1) public String gpId; - + @Parameter(names = {"--gp-description"}, description = "Genome plot description.", required = false, arity = 1) public String gpDescription; - + @Parameter(names = {"--gp-config-file"}, description = "Genome plot configuration file.", required = false, arity = 1) public String gpConfigFile; - + @Parameter(names = {"--skip"}, description = "Quality control metrics to skip. Valid values are: variant-stats, signature, signature-catalogue, signature-fitting, genome-plot", required = false, arity = 1) public String skip; - + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; - + } @Parameters(commandNames = {"sample-query"}, commandDescription ="Get sample data of a given variant") public class QuerySampleCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--limit"}, description = "Number of results to be returned", required = false, arity = 1) - public Integer limit; - + public Integer limit; + @Parameter(names = {"--skip"}, description = "Number of results to skip", required = false, arity = 1) - public Integer skip; - + public Integer skip; + @Parameter(names = {"--variant"}, description = "Variant", required = false, arity = 1) - public String variant; - + public String variant; + @Parameter(names = {"--study", "-s"}, description = "Study where all the samples belong to", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--genotype"}, description = "Genotypes that the sample must have to be selected", required = false, arity = 1) - public String genotype; - + public String genotype; + } @Parameters(commandNames = {"sample-run"}, commandDescription ="Get samples given a set of variants") public class RunSampleCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--id"}, description = "The body web service id parameter", required = false, arity = 1) public String id; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--type"}, description = "The body web service type parameter", required = false, arity = 1) public String type; - + @Parameter(names = {"--panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String panel; - + @Parameter(names = {"--panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String panelModeOfInheritance; - + @Parameter(names = {"--panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String panelConfidence; - + @Parameter(names = {"--panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String panelRoleInCancer; - + @Parameter(names = {"--panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean panelIntersection = false; - + @Parameter(names = {"--panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String panelFeatureType; - + @Parameter(names = {"--cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String cohortStatsRef; - + @Parameter(names = {"--cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String cohortStatsAlt; - + @Parameter(names = {"--cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String cohortStatsMaf; - + @Parameter(names = {"--ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String ct; - + @Parameter(names = {"--xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String xref; - + @Parameter(names = {"--biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String biotype; - + @Parameter(names = {"--protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String proteinSubstitution; - + @Parameter(names = {"--conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String conservation; - + @Parameter(names = {"--population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String populationFrequencyMaf; - + @Parameter(names = {"--population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String populationFrequencyAlt; - + @Parameter(names = {"--population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String populationFrequencyRef; - + @Parameter(names = {"--transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String transcriptFlag; - + @Parameter(names = {"--functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String functionalScore; - + @Parameter(names = {"--clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String clinical; - + @Parameter(names = {"--clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String clinicalSignificance; - + @Parameter(names = {"--clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean clinicalConfirmedStatus = false; - + @Parameter(names = {"--genotypes"}, description = "The body web service genotypes parameter", required = false, arity = 1) public String genotypes; - + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--samples-in-all-variants"}, description = "The body web service samplesInAllVariants parameter", required = false, help = true, arity = 0) public boolean samplesInAllVariants = false; - + @Parameter(names = {"--max-variants"}, description = "The body web service maxVariants parameter", required = false, arity = 1) public Integer maxVariants; - + } @Parameters(commandNames = {"sample-stats-query"}, commandDescription ="Obtain sample variant stats from a sample.") public class QuerySampleStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--region"}, description = "List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.: 2,3:100000-200000", required = false, arity = 1) - public String region; - + public String region; + @Parameter(names = {"--type"}, description = "List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL", required = false, arity = 1) - public String type; - + public String type; + @Parameter(names = {"--study", "-s"}, description = "Filter variants from the given studies, these can be either the numeric ID or the alias with the format organization@project:study", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--file"}, description = "Filter variants from the files specified. This will set includeFile parameter when not provided", required = false, arity = 1) - public String file; - + public String file; + @Parameter(names = {"--filter"}, description = "Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.: PASS,LowGQX", required = false, arity = 1) - public String filter; - + public String filter; + @Parameter(names = {"--sample-data"}, description = "Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will use all samples from 'sample' or 'genotype' filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10", required = false, arity = 1) - public String sampleData; - + public String sampleData; + @Parameter(names = {"--ct"}, description = "List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function' and 'protein_altering'", required = false, arity = 1) - public String ct; - + public String ct; + @Parameter(names = {"--biotype"}, description = "List of biotypes, e.g. protein_coding", required = false, arity = 1) - public String biotype; - + public String biotype; + @Parameter(names = {"--transcript-flag"}, description = "List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc, TSO500", required = false, arity = 1) - public String transcriptFlag; - + public String transcriptFlag; + @Parameter(names = {"--population-frequency-alt"}, description = "Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01", required = false, arity = 1) - public String populationFrequencyAlt; - + public String populationFrequencyAlt; + @Parameter(names = {"--clinical"}, description = "Clinical source: clinvar, cosmic", required = false, arity = 1) - public String clinical; - + public String clinical; + @Parameter(names = {"--clinical-significance"}, description = "Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic", required = false, arity = 1) - public String clinicalSignificance; - + public String clinicalSignificance; + @Parameter(names = {"--clinical-confirmed-status"}, description = "Clinical confirmed status", required = false, help = true, arity = 0) - public boolean clinicalConfirmedStatus = false; - + public boolean clinicalConfirmedStatus = false; + @Parameter(names = {"--filter-transcript"}, description = "Do filter transcripts when obtaining transcript counts", required = false, help = true, arity = 0) - public boolean filterTranscript = false; - + public boolean filterTranscript = false; + @Parameter(names = {"--sample"}, description = "Sample ID", required = true, arity = 1) - public String sample; - + public String sample; + } @Parameters(commandNames = {"sample-stats-run"}, commandDescription ="Compute sample variant stats for the selected list of samples.") public class RunSampleStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) public String sample; - + @Parameter(names = {"--individual"}, description = "The body web service individual parameter", required = false, arity = 1) public String individual; - + @Parameter(names = {"--variant-query-id"}, description = "The body web service id parameter", required = false, arity = 1) public String variantQueryId; - + @Parameter(names = {"--variant-query-region"}, description = "The body web service region parameter", required = false, arity = 1) public String variantQueryRegion; - + @Parameter(names = {"--variant-query-gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String variantQueryGene; - + @Parameter(names = {"--variant-query-type"}, description = "The body web service type parameter", required = false, arity = 1) public String variantQueryType; - + @Parameter(names = {"--variant-query-panel"}, description = "The body web service panel parameter", required = false, arity = 1) public String variantQueryPanel; - + @Parameter(names = {"--variant-query-panel-mode-of-inheritance"}, description = "The body web service panelModeOfInheritance parameter", required = false, arity = 1) public String variantQueryPanelModeOfInheritance; - + @Parameter(names = {"--variant-query-panel-confidence"}, description = "The body web service panelConfidence parameter", required = false, arity = 1) public String variantQueryPanelConfidence; - + @Parameter(names = {"--variant-query-panel-role-in-cancer"}, description = "The body web service panelRoleInCancer parameter", required = false, arity = 1) public String variantQueryPanelRoleInCancer; - + @Parameter(names = {"--variant-query-panel-intersection"}, description = "The body web service panelIntersection parameter", required = false, help = true, arity = 0) public boolean variantQueryPanelIntersection = false; - + @Parameter(names = {"--variant-query-panel-feature-type"}, description = "The body web service panelFeatureType parameter", required = false, arity = 1) public String variantQueryPanelFeatureType; - + @Parameter(names = {"--variant-query-cohort-stats-ref"}, description = "The body web service cohortStatsRef parameter", required = false, arity = 1) public String variantQueryCohortStatsRef; - + @Parameter(names = {"--variant-query-cohort-stats-alt"}, description = "The body web service cohortStatsAlt parameter", required = false, arity = 1) public String variantQueryCohortStatsAlt; - + @Parameter(names = {"--variant-query-cohort-stats-maf"}, description = "The body web service cohortStatsMaf parameter", required = false, arity = 1) public String variantQueryCohortStatsMaf; - + @Parameter(names = {"--variant-query-ct"}, description = "The body web service ct parameter", required = false, arity = 1) public String variantQueryCt; - + @Parameter(names = {"--variant-query-xref"}, description = "The body web service xref parameter", required = false, arity = 1) public String variantQueryXref; - + @Parameter(names = {"--variant-query-biotype"}, description = "The body web service biotype parameter", required = false, arity = 1) public String variantQueryBiotype; - + @Parameter(names = {"--variant-query-protein-substitution"}, description = "The body web service proteinSubstitution parameter", required = false, arity = 1) public String variantQueryProteinSubstitution; - + @Parameter(names = {"--variant-query-conservation"}, description = "The body web service conservation parameter", required = false, arity = 1) public String variantQueryConservation; - + @Parameter(names = {"--variant-query-population-frequency-maf"}, description = "The body web service populationFrequencyMaf parameter", required = false, arity = 1) public String variantQueryPopulationFrequencyMaf; - + @Parameter(names = {"--variant-query-population-frequency-alt"}, description = "The body web service populationFrequencyAlt parameter", required = false, arity = 1) public String variantQueryPopulationFrequencyAlt; - + @Parameter(names = {"--variant-query-population-frequency-ref"}, description = "The body web service populationFrequencyRef parameter", required = false, arity = 1) public String variantQueryPopulationFrequencyRef; - + @Parameter(names = {"--variant-query-transcript-flag"}, description = "The body web service transcriptFlag parameter", required = false, arity = 1) public String variantQueryTranscriptFlag; - + @Parameter(names = {"--variant-query-functional-score"}, description = "The body web service functionalScore parameter", required = false, arity = 1) public String variantQueryFunctionalScore; - + @Parameter(names = {"--variant-query-clinical"}, description = "The body web service clinical parameter", required = false, arity = 1) public String variantQueryClinical; - + @Parameter(names = {"--variant-query-clinical-significance"}, description = "The body web service clinicalSignificance parameter", required = false, arity = 1) public String variantQueryClinicalSignificance; - + @Parameter(names = {"--variant-query-clinical-confirmed-status"}, description = "The body web service clinicalConfirmedStatus parameter", required = false, help = true, arity = 0) public boolean variantQueryClinicalConfirmedStatus = false; - + @Parameter(names = {"--variant-query-sample-data"}, description = "The body web service sampleData parameter", required = false, arity = 1) public String variantQuerySampleData; - + @Parameter(names = {"--variant-query-file-data"}, description = "The body web service fileData parameter", required = false, arity = 1) public String variantQueryFileData; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--index"}, description = "The body web service index parameter", required = false, help = true, arity = 0) public boolean index = false; - + @Parameter(names = {"--index-overwrite"}, description = "The body web service indexOverwrite parameter", required = false, help = true, arity = 0) public boolean indexOverwrite = false; - + @Parameter(names = {"--index-id"}, description = "The body web service indexId parameter", required = false, arity = 1) public String indexId; - + @Parameter(names = {"--index-description"}, description = "The body web service indexDescription parameter", required = false, arity = 1) public String indexDescription; - + @Parameter(names = {"--batch-size"}, description = "The body web service batchSize parameter", required = false, arity = 1) public Integer batchSize; - + } @Parameters(commandNames = {"stats-export-run"}, commandDescription ="Export calculated variant stats and frequencies") public class RunStatsExportCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--project", "-p"}, description = "Project [organization@]project where project can be either the ID or the alias", required = false, arity = 1) - public String project; - + public String project; + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--cohorts"}, description = "The body web service cohorts parameter", required = false, arity = 1) public String cohorts; - + @Parameter(names = {"--output"}, description = "The body web service output parameter", required = false, arity = 1) public String output; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--output-file-format"}, description = "The body web service outputFileFormat parameter", required = false, arity = 1) public String outputFileFormat; - + } @Parameters(commandNames = {"stats-run"}, commandDescription ="Compute variant stats for any cohort and any set of variants.") public class RunStatsCommandOptions { - + @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; - + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) public String jsonFile; - + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) public Boolean jsonDataModel = false; - + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) - public String study; - + public String study; + @Parameter(names = {"--job-id"}, description = "Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.", required = false, arity = 1) - public String jobId; - + public String jobId; + @Parameter(names = {"--job-description"}, description = "Job description", required = false, arity = 1) - public String jobDescription; - + public String jobDescription; + @Parameter(names = {"--job-depends-on"}, description = "Comma separated list of existing job IDs the job will depend on.", required = false, arity = 1) - public String jobDependsOn; - + public String jobDependsOn; + @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) - public String jobTags; - + public String jobTags; + @Parameter(names = {"--cohort"}, description = "The body web service cohort parameter", required = false, arity = 1) public String cohort; - + @Parameter(names = {"--samples"}, description = "The body web service samples parameter", required = false, arity = 1) public String samples; - + @Parameter(names = {"--region"}, description = "The body web service region parameter", required = false, arity = 1) public String region; - + @Parameter(names = {"--gene"}, description = "The body web service gene parameter", required = false, arity = 1) public String gene; - + @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) public String outdir; - + @Parameter(names = {"--output-file-name"}, description = "The body web service outputFileName parameter", required = false, arity = 1) public String outputFileName; - + @Parameter(names = {"--aggregated"}, description = "The body web service aggregated parameter", required = false, arity = 1) public String aggregated; - + @Parameter(names = {"--aggregation-mapping-file"}, description = "The body web service aggregationMappingFile parameter", required = false, arity = 1) public String aggregationMappingFile; - + } } \ No newline at end of file diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index 1aef5e23bb1..ae94b1ef729 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index 036b855a053..68ac3049ac6 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index 2a76b8da965..6c2248ff3b2 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -1,6 +1,6 @@ # ############################################################################## ## OrganizationClient -setGeneric("organizationClient", function(OpencgaR, organization, id, endpointName, params=NULL, ...) +setGeneric("organizationClient", function(OpencgaR, id, organization, endpointName, params=NULL, ...) standardGeneric("organizationClient")) # ############################################################################## @@ -15,42 +15,42 @@ setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, members, templateId, group, studies, study, variableSet, id, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, group, members, variableSet, study, id, templateId, studies, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, members, files, file, annotationSet, folder, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, members, annotationSet, file, files, folder, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -setGeneric("jobClient", function(OpencgaR, members, jobs, job, endpointName, params=NULL, ...) +setGeneric("jobClient", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, annotationSet, sample, samples, members, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, members, annotationSet, individual, individuals, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, individuals, individual, annotationSet, members, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, members, family, annotationSet, families, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, annotationSet, family, families, members, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, annotationSet, cohort, cohorts, members, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## ## PanelClient -setGeneric("panelClient", function(OpencgaR, members, panels, endpointName, params=NULL, ...) +setGeneric("panelClient", function(OpencgaR, panels, members, endpointName, params=NULL, ...) standardGeneric("panelClient")) # ############################################################################## @@ -65,7 +65,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, members, interpretations, annotationSet, interpretation, clinicalAnalyses, clinicalAnalysis, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, clinicalAnalysis, interpretation, interpretations, members, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index 357d379bd5a..b2923145986 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -62,7 +62,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, members, interpretations, annotationSet, interpretation, clinicalAnalyses, clinicalAnalysis, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, clinicalAnalysis, interpretation, interpretations, members, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index 1f3a876aaa9..62b021eec99 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, annotationSet, cohort, cohorts, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index f38a6e85189..c8cddece994 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +37,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, members, family, annotationSet, families, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, annotationSet, family, families, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index f1bd5542eab..1621705b60b 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, members, files, file, annotationSet, folder, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, members, annotationSet, file, files, folder, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index 35dc15c1113..462ee8cd504 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index 065c23c60a1..ef43c130f5b 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, members, annotationSet, individual, individuals, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, individuals, individual, annotationSet, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index 8ea4cb9e9d4..59d5b52b29f 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("jobClient", "OpencgaR", function(OpencgaR, members, jobs, job, endpointName, params=NULL, ...) { +setMethod("jobClient", "OpencgaR", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index 7ce863ddb61..6e82b2b93cd 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index 2793051d9de..371a9418d0e 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Organization-methods.R b/opencga-client/src/main/R/R/Organization-methods.R index 6c42ae9b06b..4fef5f13405 100644 --- a/opencga-client/src/main/R/R/Organization-methods.R +++ b/opencga-client/src/main/R/R/Organization-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -34,7 +34,7 @@ #' [*]: Required parameter #' @export -setMethod("organizationClient", "OpencgaR", function(OpencgaR, organization, id, endpointName, params=NULL, ...) { +setMethod("organizationClient", "OpencgaR", function(OpencgaR, id, organization, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/organizations/create: diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index 9e4720691d7..b354c2bd497 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ #' [*]: Required parameter #' @export -setMethod("panelClient", "OpencgaR", function(OpencgaR, members, panels, endpointName, params=NULL, ...) { +setMethod("panelClient", "OpencgaR", function(OpencgaR, panels, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/panels/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index aca59165834..0a72fff1332 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index 65871dcb8bb..0ae9bf5c3a5 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, annotationSet, sample, samples, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index 22276f49f57..598d196e758 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -49,7 +49,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, members, templateId, group, studies, study, variableSet, id, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, group, members, variableSet, study, id, templateId, studies, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 76772b8a2d4..1c20e2108ef 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index 70c435fcc6c..f3c772a36d5 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-05-23 +# Autogenerated on: 2024-06-07 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index 3b43605603f..6805ee60e1a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index 4d2c0d9fab4..df89c23091d 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index 4bfe0704ebb..7b58be847a8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -55,7 +55,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index 0163f130151..7153e499d15 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index 0ca3b876bcc..6e86d3ee3ec 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 4f53af041e6..46deec835bb 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index 687e43e6ea5..d91f720cee8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -43,7 +43,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index 765d86384d2..73c638f2b7d 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 939a53e5a86..8ef51668f7b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index 8840fd8c7c8..75b5b33f8ae 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index 2fb1c5df290..52424b8dca1 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java index bbc2d910bbc..3af322403d9 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java @@ -33,7 +33,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index 570af443ec9..bee02c2c0f7 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -31,7 +31,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index 117401694cc..3398105fabb 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index 424a5cbc509..c4b1b730e3e 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -47,7 +47,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 468dffded80..57d314a52e1 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index 6dc2fdb9bd8..62844cdbc7b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index 52b0333e713..97365adc37c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-05-23 +* Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index 49ab10c86c2..c913713d534 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index 005457da0ab..95dcf16abae 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 302b3084adc..0b305bbbf6f 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index e07f6c58dab..370a67215bf 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index 1a04bd3c77f..85a9f584f7d 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index e12be40b17d..6a9865a8621 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index ab7b241d600..e0f766a1b8f 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index eaff0099476..28f2f6f3109 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index e1304c41a58..823995b5866 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index ad50f4b336b..b61ffc6aa97 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 87fb7ba03ce..f778a22eb2d 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Organization.js b/opencga-client/src/main/javascript/Organization.js index 2b94af1924f..fd5de8823d7 100644 --- a/opencga-client/src/main/javascript/Organization.js +++ b/opencga-client/src/main/javascript/Organization.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index 839907f1003..5e1dae4c60a 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index 1af15198986..725f4269b0f 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index 0145d803d6b..35c37618ac5 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index de654d8761e..b0b4b7ce576 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 9bd0510f536..fcffab2c299 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index 02f03335138..86853659d29 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-05-23 + * Autogenerated on: 2024-06-07 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 1b5c9fdd673..f4af9f3875f 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index abdd7e41f3c..cd9db387e74 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index edd4c870c13..db452e9365a 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index a93c8378fdb..c44071a4a6c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index 4da214c272c..12a26425317 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index 935e447a4c7..b2543574e20 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index a370bb911cc..58601deda50 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index c6d5a0bf458..53c0c9c0d2c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index 32f7516aed3..d58e7490281 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 6def8e09fa7..b614737719c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index 5090a04eb23..1d87605a03b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py index 7c71bbadfed..4b45d0b658e 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index da71c68e814..0e7ed8062d8 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index df13fd02245..d79438ff556 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index 6b804bc9fd0..4ee020670f9 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index f7c61eb29be..0fe1f67c15f 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index 548eae4ff0a..2c20b3d9ebd 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index a4d4d61a095..e28a0e4b837 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-05-23 + Autogenerated on: 2024-06-07 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. From b4319d08b55388f85525715f0e29d2cdadc2b963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 26 Jun 2024 17:32:36 +0200 Subject: [PATCH 13/13] analysis: add config files for Exomiser versions 13.1 and 14.0 using different default values, #TASK-6297, #TASK-6255 On branch TASK-6255 Changes to be committed: modified: opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java modified: opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/OpenCGATestExternalResource.java renamed: opencga-app/app/analysis/exomiser/application.properties -> opencga-app/app/analysis/exomiser/13.1/application.properties renamed: opencga-app/app/analysis/exomiser/exomiser-analysis.yml -> opencga-app/app/analysis/exomiser/13.1/exomiser-analysis.yml renamed: opencga-app/app/analysis/exomiser/output.yml -> opencga-app/app/analysis/exomiser/13.1/output.yml new file: opencga-app/app/analysis/exomiser/14.0/application.properties new file: opencga-app/app/analysis/exomiser/14.0/exomiser-analysis.yml new file: opencga-app/app/analysis/exomiser/14.0/output.yml --- .../ExomiserWrapperAnalysisExecutor.java | 30 ++----- .../variant/OpenCGATestExternalResource.java | 11 ++- .../{ => 13.1}/application.properties | 6 +- .../exomiser/{ => 13.1}/exomiser-analysis.yml | 0 .../analysis/exomiser/{ => 13.1}/output.yml | 0 .../exomiser/14.0/application.properties | 47 ++++++++++ .../exomiser/14.0/exomiser-analysis.yml | 85 +++++++++++++++++++ .../app/analysis/exomiser/14.0/output.yml | 11 +++ 8 files changed, 158 insertions(+), 32 deletions(-) rename opencga-app/app/analysis/exomiser/{ => 13.1}/application.properties (92%) rename opencga-app/app/analysis/exomiser/{ => 13.1}/exomiser-analysis.yml (100%) rename opencga-app/app/analysis/exomiser/{ => 13.1}/output.yml (100%) create mode 100644 opencga-app/app/analysis/exomiser/14.0/application.properties create mode 100644 opencga-app/app/analysis/exomiser/14.0/exomiser-analysis.yml create mode 100644 opencga-app/app/analysis/exomiser/14.0/output.yml diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java index 7887106f868..b5bf468330c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/exomiser/ExomiserWrapperAnalysisExecutor.java @@ -49,11 +49,6 @@ public class ExomiserWrapperAnalysisExecutor extends DockerWrapperAnalysisExecut private final static String EXOMISER_PROPERTIES_TEMPLATE_FILENAME = "application.properties"; private static final String EXOMISER_OUTPUT_OPTIONS_FILENAME = "output.yml"; - // These constants must match in the file application.properties to be replaced - private static final String HG38_DATA_VERSION_MARK = "put_here_hg38_data_version"; - private static final String PHENOTYPE_DATA_VERSION_MARK = "put_here_phenotype_data_version"; - private static final String CLINVAR_WHITELIST_MARK = "put_here_clinvar_whitelist"; - private String studyId; private String sampleId; private String exomiserVersion; @@ -166,8 +161,8 @@ public void run() throws ToolException, IOException, CatalogException { // Copy the analysis try { - copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_ANALYSIS_TEMPLATE_FILENAME).toFile(), - getOutDir().resolve(EXOMISER_ANALYSIS_TEMPLATE_FILENAME).toFile()); + copyFile(openCgaHome.resolve("analysis/exomiser").resolve(exomiserVersion).resolve(EXOMISER_ANALYSIS_TEMPLATE_FILENAME) + .toFile(), getOutDir().resolve(EXOMISER_ANALYSIS_TEMPLATE_FILENAME).toFile()); } catch (IOException e) { throw new ToolException("Error copying Exomiser analysis file", e); } @@ -175,30 +170,15 @@ public void run() throws ToolException, IOException, CatalogException { // Copy the application.properties and update data according to Exomiser version try { Path target = getOutDir().resolve(EXOMISER_PROPERTIES_TEMPLATE_FILENAME); - copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_PROPERTIES_TEMPLATE_FILENAME).toFile(), target.toFile()); - // Update hg38 data version - Command cmd = new Command("sed -i \"s/" + HG38_DATA_VERSION_MARK + "/" + getHg38DataVersion() + "/g\" " + target); - cmd.run(); - // Update phenotype data version - cmd = new Command("sed -i \"s/" + PHENOTYPE_DATA_VERSION_MARK + "/" + getPhenotypeDataVersion() + "/g\" " + target); - cmd.run(); - // Update clinvar whitelist - String whitelist; - String clinvarWhitelistFilename = getHg38DataVersion() + "_hg38_clinvar_whitelist.tsv.gz"; - if (Files.exists(exomiserDataPath.resolve(getHg38DataVersion() + "_" + assembly).resolve(clinvarWhitelistFilename))) { - whitelist = "exomiser.hg38.variant-white-list-path=" + clinvarWhitelistFilename; - } else { - whitelist = "#exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz"; - } - cmd = new Command("sed -i \"s/" + CLINVAR_WHITELIST_MARK + "/" + whitelist + "/g\" " + target); - cmd.run(); + copyFile(openCgaHome.resolve("analysis/exomiser").resolve(exomiserVersion).resolve(EXOMISER_PROPERTIES_TEMPLATE_FILENAME) + .toFile(), target.toFile()); } catch (IOException e) { throw new ToolException("Error copying Exomiser properties file", e); } // Copy the output options try { - copyFile(openCgaHome.resolve("analysis/exomiser/" + EXOMISER_OUTPUT_OPTIONS_FILENAME).toFile(), + copyFile(openCgaHome.resolve("analysis/exomiser").resolve(exomiserVersion).resolve(EXOMISER_OUTPUT_OPTIONS_FILENAME).toFile(), getOutDir().resolve(EXOMISER_OUTPUT_OPTIONS_FILENAME).toFile()); } catch (IOException e) { throw new ToolException("Error copying Exomiser output options file", e); diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/OpenCGATestExternalResource.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/OpenCGATestExternalResource.java index 1f05dfc5dd3..02962b3e3c4 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/OpenCGATestExternalResource.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/OpenCGATestExternalResource.java @@ -263,11 +263,14 @@ public Path isolateOpenCGA() throws IOException { Files.copy(inputStream, analysisPath.resolve("ped.R"), StandardCopyOption.REPLACE_EXISTING); // Exomiser analysis files - analysisPath = Files.createDirectories(opencgaHome.resolve("analysis/exomiser")).toAbsolutePath(); + List exomiserVersions = Arrays.asList("13.1", "14.0"); List exomiserFiles = Arrays.asList("application.properties", "exomiser-analysis.yml", "output.yml"); - for (String exomiserFile : exomiserFiles) { - inputStream = new FileInputStream("../opencga-app/app/analysis/exomiser/" + exomiserFile); - Files.copy(inputStream, analysisPath.resolve(exomiserFile), StandardCopyOption.REPLACE_EXISTING); + for (String exomiserVersion : exomiserVersions) { + analysisPath = Files.createDirectories(opencgaHome.resolve("analysis/exomiser").resolve(exomiserVersion).toAbsolutePath()); + for (String exomiserFile : exomiserFiles) { + inputStream = new FileInputStream("../opencga-app/app/analysis/exomiser/" + exomiserVersion + "/" + exomiserFile); + Files.copy(inputStream, analysisPath.resolve(exomiserFile), StandardCopyOption.REPLACE_EXISTING); + } } return opencgaHome; diff --git a/opencga-app/app/analysis/exomiser/application.properties b/opencga-app/app/analysis/exomiser/13.1/application.properties similarity index 92% rename from opencga-app/app/analysis/exomiser/application.properties rename to opencga-app/app/analysis/exomiser/13.1/application.properties index ee9a2b7d7ed..1775e32d14c 100644 --- a/opencga-app/app/analysis/exomiser/application.properties +++ b/opencga-app/app/analysis/exomiser/13.1/application.properties @@ -37,9 +37,9 @@ exomiser.data-directory=/data #remm.version=0.3.1.post1 #cadd.version=1.4 #exomiser.hg19.data-version=1811 -exomiser.hg38.data-version=put_here_hg38_data_version +exomiser.hg38.data-version=2109 #exomiser.hg19.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg19.tsv.gz #exomiser.hg19.variant-white-list-path=${exomiser.hg19.data-version}_hg19_clinvar_whitelist.tsv.gz -put_here_clinvar_whitelist -exomiser.phenotype.data-version=put_here_phenotype_data_version +exomiser.hg38.variant-white-list-path=2109_hg38_clinvar_whitelist.tsv.gz +exomiser.phenotype.data-version=2109 logging.file.name=/jobdir/exomiser.log diff --git a/opencga-app/app/analysis/exomiser/exomiser-analysis.yml b/opencga-app/app/analysis/exomiser/13.1/exomiser-analysis.yml similarity index 100% rename from opencga-app/app/analysis/exomiser/exomiser-analysis.yml rename to opencga-app/app/analysis/exomiser/13.1/exomiser-analysis.yml diff --git a/opencga-app/app/analysis/exomiser/output.yml b/opencga-app/app/analysis/exomiser/13.1/output.yml similarity index 100% rename from opencga-app/app/analysis/exomiser/output.yml rename to opencga-app/app/analysis/exomiser/13.1/output.yml diff --git a/opencga-app/app/analysis/exomiser/14.0/application.properties b/opencga-app/app/analysis/exomiser/14.0/application.properties new file mode 100644 index 00000000000..d1658370370 --- /dev/null +++ b/opencga-app/app/analysis/exomiser/14.0/application.properties @@ -0,0 +1,47 @@ +# +# The Exomiser - A tool to annotate and prioritize genomic variants +# +# Copyright (c) 2016-2021 Queen Mary University of London. +# Copyright (c) 2012-2016 Charité Universitätsmedizin Berlin and Genome Research Ltd. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +## exomiser root data directory ## +# root path where data is to be downloaded and worked on it is assumed that all the files required by exomiser listed +# in this properties file will be found in the data directory, unless specifically overridden here. +#exomiser.data-directory=/exomiser-data +exomiser.data-directory=/data + +#remm.version=0.3.1.post1 +#cadd.version=1.4 +#exomiser.hg38.data-version=1811 +#exomiser.hg38.data-version=2109 +#exomiser.hg38.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg38.tsv.gz +#exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz +#exomiser.phenotype.data-version=2109 +#logging.file.name=/exomiser-data/logs/exomiser.log + + +#remm.version=0.3.1.post1 +#cadd.version=1.4 +#exomiser.hg19.data-version=1811 +exomiser.hg38.data-version=2402 +#exomiser.hg19.remm-path=${exomiser.data-directory}/remm/ReMM.v${remm.version}.hg19.tsv.gz +#exomiser.hg19.variant-white-list-path=${exomiser.hg19.data-version}_hg19_clinvar_whitelist.tsv.gz +#exomiser.hg38.variant-white-list-path=${exomiser.hg38.data-version}_hg38_clinvar_whitelist.tsv.gz +exomiser.phenotype.data-version=2402 +exomiser.hg38.clin-var-data-version=2402 +exomiser.hg38.use-clinvar-white-list=true +logging.file.name=/jobdir/exomiser.log diff --git a/opencga-app/app/analysis/exomiser/14.0/exomiser-analysis.yml b/opencga-app/app/analysis/exomiser/14.0/exomiser-analysis.yml new file mode 100644 index 00000000000..e3d064ba07b --- /dev/null +++ b/opencga-app/app/analysis/exomiser/14.0/exomiser-analysis.yml @@ -0,0 +1,85 @@ +--- +analysisMode: PASS_ONLY +inheritanceModes: { + AUTOSOMAL_DOMINANT: 0.1, + AUTOSOMAL_RECESSIVE_COMP_HET: 2.0, + AUTOSOMAL_RECESSIVE_HOM_ALT: 0.1, + X_DOMINANT: 0.1, + X_RECESSIVE_COMP_HET: 2.0, + X_RECESSIVE_HOM_ALT: 0.1, + MITOCHONDRIAL: 0.2 +} +frequencySources: [ + UK10K, + + GNOMAD_E_AFR, + GNOMAD_E_AMR, + # GNOMAD_E_ASJ, + GNOMAD_E_EAS, + # GNOMAD_E_FIN, + GNOMAD_E_NFE, + # GNOMAD_E_OTH, + GNOMAD_E_SAS, + + GNOMAD_G_AFR, + GNOMAD_G_AMR, + # GNOMAD_G_ASJ, + GNOMAD_G_EAS, + # GNOMAD_G_FIN, + GNOMAD_G_NFE, + # GNOMAD_G_OTH, + GNOMAD_G_SAS +] +# Possible pathogenicitySources: (POLYPHEN, MUTATION_TASTER, SIFT), (REVEL, MVP), CADD, REMM +# REMM is trained on non-coding regulatory regions +# *WARNING* if you enable CADD or REMM ensure that you have downloaded and installed the CADD/REMM tabix files +# and updated their location in the application.properties. Exomiser will not run without this. +pathogenicitySources: [ REVEL, MVP ] +#this is the standard exomiser order. +#all steps are optional +steps: [ + #hiPhivePrioritiser: {}, + #priorityScoreFilter: {priorityType: HIPHIVE_PRIORITY, minPriorityScore: 0.500}, + #intervalFilter: {interval: 'chr10:123256200-123256300'}, + # or for multiple intervals: + #intervalFilter: {intervals: ['chr10:123256200-123256300', 'chr10:123256290-123256350']}, + # or using a BED file - NOTE this should be 0-based, Exomiser otherwise uses 1-based coordinates in line with VCF + #intervalFilter: {bed: /full/path/to/bed_file.bed}, + #genePanelFilter: {geneSymbols: ['FGFR1','FGFR2']}, + #geneBlacklistFilter: { }, + failedVariantFilter: { }, + #qualityFilter: {minQuality: 50.0}, + variantEffectFilter: { + remove: [ + FIVE_PRIME_UTR_EXON_VARIANT, + FIVE_PRIME_UTR_INTRON_VARIANT, + THREE_PRIME_UTR_EXON_VARIANT, + THREE_PRIME_UTR_INTRON_VARIANT, + NON_CODING_TRANSCRIPT_EXON_VARIANT, + UPSTREAM_GENE_VARIANT, + INTERGENIC_VARIANT, + REGULATORY_REGION_VARIANT, + CODING_TRANSCRIPT_INTRON_VARIANT, + NON_CODING_TRANSCRIPT_INTRON_VARIANT, + DOWNSTREAM_GENE_VARIANT + ] + }, + # removes variants represented in the database + #knownVariantFilter: {}, + frequencyFilter: {maxFrequency: 2.0}, + pathogenicityFilter: {keepNonPathogenic: true}, + # inheritanceFilter and omimPrioritiser should always run AFTER all other filters have completed + # they will analyse genes according to the specified modeOfInheritance above- UNDEFINED will not be analysed. + inheritanceFilter: {}, + # omimPrioritiser isn't mandatory. + omimPrioritiser: {}, + #priorityScoreFilter: {minPriorityScore: 0.4}, + # Other prioritisers: Only combine omimPrioritiser with one of these. + # Don't include any if you only want to filter the variants. + hiPhivePrioritiser: {}, + # or run hiPhive in benchmarking mode: + #hiPhivePrioritiser: {runParams: 'mouse'}, + #phivePrioritiser: {} + #phenixPrioritiser: {} + #exomeWalkerPrioritiser: {seedGeneIds: [11111, 22222, 33333]} +] diff --git a/opencga-app/app/analysis/exomiser/14.0/output.yml b/opencga-app/app/analysis/exomiser/14.0/output.yml new file mode 100644 index 00000000000..4fc4a4faa6b --- /dev/null +++ b/opencga-app/app/analysis/exomiser/14.0/output.yml @@ -0,0 +1,11 @@ +--- +outputContributingVariantsOnly: true +#numGenes options: 0 = all or specify a limit e.g. 500 for the first 500 results +numGenes: 20 +minExomiserGeneScore: 0.7 +# Path to the desired output directory. Will default to the 'results' subdirectory of the exomiser install directory +outputDirectory: /jobdir/ +# Filename for the output files. Will default to {input-vcf-filename}-exomiser +outputFileName: exomiser_output +#out-format options: HTML, JSON, TSV_GENE, TSV_VARIANT, VCF (default: HTML) +outputFormats: [TSV_VARIANT, JSON, HTML]