Skip to content

Commit

Permalink
Merge branch 'TASK-6766' of github.com:opencb/opencga into TASK-6766
Browse files Browse the repository at this point in the history
  • Loading branch information
xim56 committed Sep 19, 2024
2 parents 041bc33 + bf8e1e8 commit 6d82292
Show file tree
Hide file tree
Showing 23 changed files with 808 additions and 825 deletions.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.opencb.biodata.models.core.SexOntologyTermAnnotation;
import org.opencb.biodata.models.pedigree.IndividualProperty;
import org.opencb.opencga.core.models.common.AnnotationSet;
import org.opencb.opencga.core.models.common.QualityControlStatus;
import org.opencb.opencga.core.models.common.StatusParams;
import org.opencb.opencga.core.models.individual.*;
import org.opencb.opencga.core.models.sample.SampleReferenceParam;
Expand All @@ -27,7 +28,7 @@ public IndividualPrivateUpdateParams(String id, String name, IndividualReference
IndividualProperty.LifeStatus lifeStatus, List<SampleReferenceParam> samples,
List<AnnotationSet> annotationSets, List<Phenotype> phenotypes, List<Disorder> disorders,
StatusParams status, IndividualQualityControl qualityControl,
IndividualQualityControlStatus qualityControlStatus, Map<String, Object> attributes,
QualityControlStatus qualityControlStatus, Map<String, Object> attributes,
IndividualInternal internal) {
super(id, name, father, mother, creationDate, modificationDate, parentalConsanguinity, location, sex, ethnicity, population,
dateOfBirth, karyotypicSex, lifeStatus, samples, annotationSets, phenotypes, disorders, status, qualityControl,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import org.opencb.biodata.models.clinical.Phenotype;
import org.opencb.opencga.core.models.common.AnnotationSet;
import org.opencb.opencga.core.models.common.ExternalSource;
import org.opencb.opencga.core.models.common.QualityControlStatus;
import org.opencb.opencga.core.models.common.StatusParams;
import org.opencb.opencga.core.models.sample.*;

Expand All @@ -18,7 +19,7 @@ public SamplePrivateUpdateParams() {

public SamplePrivateUpdateParams(String id, String description, String creationDate, String modificationDate, String individualId,
ExternalSource source, SampleProcessing processing, SampleCollection collection,
SampleQualityControl qualityControl, SampleQualityControlStatus qualityControlStatus, Boolean somatic,
SampleQualityControl qualityControl, QualityControlStatus qualityControlStatus, Boolean somatic,
List<Phenotype> phenotypes, List<AnnotationSet> annotationSets, Map<String, Object> attributes,
StatusParams status, SampleInternal internal) {
super(id, description, creationDate, modificationDate, individualId, source, processing, collection, qualityControl,
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
import org.opencb.opencga.core.models.cohort.CohortCreateParams;
import org.opencb.opencga.core.models.cohort.CohortUpdateParams;
import org.opencb.opencga.core.models.common.AnnotationSet;
import org.opencb.opencga.core.models.common.QualityControlStatus;
import org.opencb.opencga.core.models.family.Family;
import org.opencb.opencga.core.models.family.FamilyQualityControl;
import org.opencb.opencga.core.models.family.FamilyUpdateParams;
Expand All @@ -83,7 +84,10 @@
import org.opencb.opencga.core.models.organizations.OrganizationUpdateParams;
import org.opencb.opencga.core.models.project.ProjectCreateParams;
import org.opencb.opencga.core.models.project.ProjectOrganism;
import org.opencb.opencga.core.models.sample.*;
import org.opencb.opencga.core.models.sample.Sample;
import org.opencb.opencga.core.models.sample.SampleQualityControl;
import org.opencb.opencga.core.models.sample.SampleReferenceParam;
import org.opencb.opencga.core.models.sample.SampleUpdateParams;
import org.opencb.opencga.core.models.variant.*;
import org.opencb.opencga.core.response.OpenCGAResult;
import org.opencb.opencga.core.testclassification.duration.LongTests;
Expand Down Expand Up @@ -775,15 +779,15 @@ public void testSampleQcStats() throws Exception {
System.out.println("outDir = " + outDir);

SampleQualityControl qc = new SampleQualityControl();
SampleUpdateParams updateParams = new SampleUpdateParams().setQualityControl(qc).setQualityControlStatus(new SampleQualityControlStatus());
SampleUpdateParams updateParams = new SampleUpdateParams().setQualityControl(qc).setQualityControlStatus(new QualityControlStatus());
catalogManager.getSampleManager().update(CANCER_STUDY, cancer_sample, updateParams, null, token);

SampleQcAnalysisParams params = new SampleQcAnalysisParams();
params.setSamples(Collections.singletonList(cancer_sample));
params.setVsId("test");
params.setVsDescription("Description test");
params.setVsQuery(new AnnotationVariantQueryParams());
params.setSkip(Arrays.asList(SIGNATURE_ANALYSIS_ID, GENOME_PLOT_ANALYSIS_ID));
params.setSkipAnalysis(Arrays.asList(SIGNATURE_ANALYSIS_ID, GENOME_PLOT_ANALYSIS_ID));

toolRunner.execute(SampleVariantQcAnalysis.class, params, new ObjectMap(ParamConstants.STUDY_PARAM, CANCER_STUDY),
outDir, null, false, token);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -941,7 +941,7 @@ private RestResponse<Job> runIndividualQc() throws Exception {
putNestedIfNotEmpty(beanParams, "sample",commandOptions.sample, true);
putNestedIfNotEmpty(beanParams, "inferredSexMethod",commandOptions.inferredSexMethod, true);
putNestedIfNotEmpty(beanParams, "resourcesDir",commandOptions.resourcesDir, true);
putNestedIfNotNull(beanParams, "skip",commandOptions.skip, true);
putNestedIfNotNull(beanParams, "skipAnalysis",commandOptions.skipAnalysis, true);
putNestedIfNotNull(beanParams, "skipIndex",commandOptions.skipIndex, true);
putNestedIfNotNull(beanParams, "overwrite",commandOptions.overwrite, true);
putNestedIfNotEmpty(beanParams, "outdir",commandOptions.outdir, true);
Expand Down Expand Up @@ -1529,7 +1529,7 @@ private RestResponse<Job> runSampleQc() throws Exception {
putNestedIfNotEmpty(beanParams, "gpId",commandOptions.gpId, true);
putNestedIfNotEmpty(beanParams, "gpDescription",commandOptions.gpDescription, true);
putNestedIfNotEmpty(beanParams, "gpConfigFile",commandOptions.gpConfigFile, true);
putNestedIfNotNull(beanParams, "skip",commandOptions.skip, true);
putNestedIfNotNull(beanParams, "skipAnalysis",commandOptions.skipAnalysis, true);
putNestedIfNotNull(beanParams, "skipIndex",commandOptions.skipIndex, true);
putNestedIfNotNull(beanParams, "overwrite",commandOptions.overwrite, true);
putNestedIfNotEmpty(beanParams, "resourcesDir",commandOptions.resourcesDir, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.opencb.opencga.catalog.utils.ParamUtils.CompleteUpdateAction;
import org.opencb.opencga.client.exceptions.ClientException;
import org.opencb.opencga.core.common.JacksonUtils;
import org.opencb.opencga.core.models.common.QualityControlStatus;
import org.opencb.opencga.core.models.common.StatusParams;
import org.opencb.opencga.core.models.common.TsvAnnotationParams;
import org.opencb.opencga.core.models.individual.Individual;
Expand All @@ -27,7 +28,6 @@
import org.opencb.opencga.core.models.individual.IndividualCreateParams;
import org.opencb.opencga.core.models.individual.IndividualPopulation;
import org.opencb.opencga.core.models.individual.IndividualQualityControl;
import org.opencb.opencga.core.models.individual.IndividualQualityControlStatus;
import org.opencb.opencga.core.models.individual.IndividualReferenceParam;
import org.opencb.opencga.core.models.individual.IndividualUpdateParams;
import org.opencb.opencga.core.models.individual.Location;
Expand Down Expand Up @@ -453,7 +453,6 @@ private RestResponse<Individual> update() throws Exception {
putNestedIfNotEmpty(beanParams, "qualityControlStatus.date",commandOptions.qualityControlStatusDate, true);
putNestedIfNotEmpty(beanParams, "qualityControlStatus.version",commandOptions.qualityControlStatusVersion, true);
putNestedIfNotEmpty(beanParams, "qualityControlStatus.commit",commandOptions.qualityControlStatusCommit, true);
putNestedIfNotNull(beanParams, "qualityControlStatus.code",commandOptions.qualityControlStatusCode, true);
putNestedIfNotNull(beanParams, "attributes",commandOptions.attributes, true);

individualUpdateParams = JacksonUtils.getDefaultObjectMapper().copy()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import org.opencb.opencga.client.exceptions.ClientException;
import org.opencb.opencga.core.common.JacksonUtils;
import org.opencb.opencga.core.models.common.ExternalSource;
import org.opencb.opencga.core.models.common.QualityControlStatus;
import org.opencb.opencga.core.models.common.RgaIndex.Status;
import org.opencb.opencga.core.models.common.StatusParams;
import org.opencb.opencga.core.models.common.TsvAnnotationParams;
Expand All @@ -29,7 +30,6 @@
import org.opencb.opencga.core.models.sample.SampleCreateParams;
import org.opencb.opencga.core.models.sample.SampleProcessing;
import org.opencb.opencga.core.models.sample.SampleQualityControl;
import org.opencb.opencga.core.models.sample.SampleQualityControlStatus;
import org.opencb.opencga.core.models.sample.SampleUpdateParams;
import org.opencb.opencga.core.models.sample.SampleVariantQualityControlMetrics;
import org.opencb.opencga.core.response.QueryType;
Expand Down Expand Up @@ -473,7 +473,6 @@ private RestResponse<Sample> update() throws Exception {
putNestedIfNotEmpty(beanParams, "qualityControlStatus.date",commandOptions.qualityControlStatusDate, true);
putNestedIfNotEmpty(beanParams, "qualityControlStatus.version",commandOptions.qualityControlStatusVersion, true);
putNestedIfNotEmpty(beanParams, "qualityControlStatus.commit",commandOptions.qualityControlStatusCommit, true);
putNestedIfNotNull(beanParams, "qualityControlStatus.code",commandOptions.qualityControlStatusCode, true);
putNestedIfNotNull(beanParams, "somatic",commandOptions.somatic, true);
putNestedIfNotNull(beanParams, "attributes",commandOptions.attributes, true);
putNestedIfNotEmpty(beanParams, "status.id",commandOptions.statusId, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1301,8 +1301,8 @@ public class RunIndividualQcCommandOptions {
@Parameter(names = {"--resources-dir"}, description = "Directory where the QC resource files are located", required = false, arity = 1)
public String resourcesDir;

@Parameter(names = {"--skip"}, description = "Individual QC analysis to skip. Valid values are: inferred-sex, mendelian-errors", required = false, arity = 1)
public String skip;
@Parameter(names = {"--skip-analysis"}, description = "List of individual QC analysis to skip. Valid values are: inferred-sex, mendelian-errors and relatedness (if parents are present)", required = false, arity = 1)
public String skipAnalysis;

@Parameter(names = {"--skip-index"}, description = "Do not save the computed quality control in catalog", required = false, arity = 1)
public Boolean skipIndex;
Expand Down Expand Up @@ -2307,8 +2307,8 @@ public class RunSampleQcCommandOptions {
@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 = {"--skip-analysis"}, description = "Quality control metrics to skip. Valid values are: variant-stats, signature, signature-catalogue, signature-fitting, genome-plot", required = false, arity = 1)
public String skipAnalysis;

@Parameter(names = {"--skip-index"}, description = "Do not save the computed quality control in catalog", required = false, arity = 1)
public Boolean skipIndex;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -680,9 +680,6 @@ public class UpdateCommandOptions {
@Parameter(names = {"--quality-control-status-commit"}, description = "The body web service commit parameter", required = false, arity = 1)
public String qualityControlStatusCommit;

@Parameter(names = {"--quality-control-status-code"}, description = "The body web service code parameter", required = false, arity = 1)
public Integer qualityControlStatusCode;

@DynamicParameter(names = {"--attributes"}, description = "The body web service attributes parameter. Use: --attributes key=value", required = false)
public java.util.Map<java.lang.String,java.lang.Object> attributes = new HashMap<>(); //Dynamic parameters must be initialized;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -712,9 +712,6 @@ public class UpdateCommandOptions {
@Parameter(names = {"--quality-control-status-commit"}, description = "The body web service commit parameter", required = false, arity = 1)
public String qualityControlStatusCommit;

@Parameter(names = {"--quality-control-status-code"}, description = "The body web service code parameter", required = false, arity = 1)
public Integer qualityControlStatusCode;

@Parameter(names = {"--somatic"}, description = "The body web service somatic parameter", required = false, arity = 1)
public Boolean somatic;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,8 @@ public class FieldConstants {
public static final String INDIVIDUAL_QC_SAMPLE_ID_DESCRIPTION = "Sample ID (required when the individual has multiple samples)";
@Deprecated
public static final String INFERRED_SEX_METHOD_DESCRIPTION = "Inferred sex method.";
public static final String INDIVIDUAL_QC_SKIP_DESCRIPTION = "Individual QC analysis to skip. Valid values are: " + INFERRED_SEX_ID
+ ", " + MENDELIAN_ERRORS_ID;
public static final String INDIVIDUAL_QC_SKIP_ANALYSIS_DESCRIPTION = "List of individual QC analysis to skip. Valid values are: "
+ INFERRED_SEX_ID + ", " + MENDELIAN_ERRORS_ID + " and " + RELATEDNESS_ID + " (if parents are present)";
public static final String INDIVIDUAL_QC_INFERRED_SEX_DESCRIPTION = "Inferred sex results for the individual";
public static final String INDIVIDUAL_QC_RELATEDNESS_DESCRIPTION = "Relatedness results for the individual";
public static final String INDIVIDUAL_QC_MENDELIAN_ERROR_DESCRIPTION = "Mendelian error results for the individual";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,13 @@ public class QualityControlStatus extends InternalStatus {
/*
* States
*
* NONE --> COMPUTING --> READY
* --> INCOMPLETE
* NONE --> READY
* ERROR
*/
public static final String NONE = "NONE";
public static final String COMPUTING = "COMPUTING";
public static final String INCOMPLETE = "INCOMPLETE";
public static final String ERROR = "ERROR";

protected static final List<String> STATUS_LIST = Arrays.asList(READY, DELETED, NONE, COMPUTING, INCOMPLETE);
protected static final List<String> STATUS_LIST = Arrays.asList(READY, DELETED, NONE, ERROR);

public QualityControlStatus(String status, String message) {
if (isValid(status)) {
Expand All @@ -57,8 +56,7 @@ public static boolean isValid(String status) {
return status != null
&& (status.equals(READY)
|| status.equals(DELETED)
|| status.equals(INCOMPLETE)
|| status.equals(NONE)
|| status.equals(COMPUTING));
|| status.equals(ERROR));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,20 @@

public class IndividualInternal extends Internal {

private IndividualQualityControlStatus qualityControlStatus;
private QualityControlStatus qualityControlStatus;

public IndividualInternal() {
}

public IndividualInternal(InternalStatus status, String registrationDate, String modificationDate,
IndividualQualityControlStatus qualityControlStatus) {
QualityControlStatus qualityControlStatus) {
super(status, registrationDate, modificationDate);
this.qualityControlStatus = qualityControlStatus;
}

public static IndividualInternal init() {
String time = TimeUtils.getTime();
return new IndividualInternal(new InternalStatus(InternalStatus.READY), time, time, new IndividualQualityControlStatus());
return new IndividualInternal(new InternalStatus(InternalStatus.READY), time, time, new QualityControlStatus());
}

@Override
Expand Down Expand Up @@ -77,11 +77,11 @@ public IndividualInternal setLastModified(String lastModified) {
return this;
}

public IndividualQualityControlStatus getQualityControlStatus() {
public QualityControlStatus getQualityControlStatus() {
return qualityControlStatus;
}

public IndividualInternal setQualityControlStatus(IndividualQualityControlStatus qualityControlStatus) {
public IndividualInternal setQualityControlStatus(QualityControlStatus qualityControlStatus) {
this.qualityControlStatus = qualityControlStatus;
return this;
}
Expand Down
Loading

0 comments on commit 6d82292

Please sign in to comment.