Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run controls through cttso pipeline #506

Open
alexiswl opened this issue Sep 29, 2022 · 5 comments
Open

Run controls through cttso pipeline #506

alexiswl opened this issue Sep 29, 2022 · 5 comments
Assignees
Labels
change request question Further information is requested triage & trello Triage and migrate into respective Trello project

Comments

@alexiswl
Copy link
Member

alexiswl commented Sep 29, 2022

Under dragen_tso_ctdna_step.py snippet below; we currently remove samples that have qc selected and only include samples that must be tumor.

LabMetadataRule(this_metadata) \
.must_set_workflow() \
.must_not_manual() \
.must_not_bcl() \
.must_not_qc() \
.must_be_cttso_ctdna() \
.must_be_tumor()

If we wish to also run the control samples, should this rule be reduced to the following criteria?

must_set_workflow()
must_not_bcl()
must_be_cttso_ctdna()
@victorskl
Copy link
Member

Ok. I reckon, we still need not being manual flag set i.e. it evaluates Lab meta workflow column:

def must_not_manual(self):
from data_portal.models.labmetadata import LabMetadataWorkflow
if self.this_metadata.workflow.lower() == LabMetadataWorkflow.MANUAL.value.lower():
raise LabMetadataRuleError(f"Workflow is set to manual.")
return self

@victorskl
Copy link
Member

Think, tumor flag is required, purely based on workflow type name there.. i.e. tso_ctdna_tumor_only. So, any sample flag not tumor get better filtered out.

def must_be_tumor(self):
"""Sample Phenotype must be tumor"""
from data_portal.models.labmetadata import LabMetadataPhenotype
if self.this_metadata.phenotype.lower() != LabMetadataPhenotype.TUMOR.value.lower():
raise LabMetadataRuleError(f"Not tumor sample.")
return self

class WorkflowType(Enum):
BCL_CONVERT = "bcl_convert"
DRAGEN_WGS_QC = "wgs_alignment_qc"
TUMOR_NORMAL = "wgs_tumor_normal"
DRAGEN_TSO_CTDNA = "tso_ctdna_tumor_only"
DRAGEN_WTS = "wts_tumor_only"
UMCCRISE = "umccrise"
RNASUM = "rnasum"

@victorskl
Copy link
Member

Historically, qc flag use to annotate; say that those samples that wish only want FASTQs and, run alignment QC if WGS.

def must_not_qc(self):
"""Demultiplex and run QC on FASTQ (once on ICA that includes DRAGEN alignment for better stats)"""
from data_portal.models.labmetadata import LabMetadataWorkflow
if self.this_metadata.workflow.lower() == LabMetadataWorkflow.QC.value.lower():
raise LabMetadataRuleError(f"Workflow is set to QC.")
return self

@victorskl
Copy link
Member

I guess; without changing to current LabMetadataRule and as-is; in order to run TSO control samples through ctTSO pipeline, we annotate them in Lab tracking sheet as follows.

Type: ctDNA
Assay: ctTSO
Workflow: control
Phenotype: tumor

That should work?

@mhlunimelb @alexiswl @ohofmann @reisingerf

@victorskl victorskl removed this from the Release 2.0 milestone Oct 31, 2022
@victorskl
Copy link
Member

Descope from 2.0 release for now further discussion

@victorskl victorskl added the question Further information is requested label Jan 30, 2023
@victorskl victorskl added the triage & trello Triage and migrate into respective Trello project label May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
change request question Further information is requested triage & trello Triage and migrate into respective Trello project
Projects
None yet
Development

No branches or pull requests

3 participants