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

Add additional evidence/assertion fields to the CIViC consequence annotation #92

Merged
merged 6 commits into from
Jun 19, 2020
26 changes: 26 additions & 0 deletions civicpy/civic.py
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,19 @@ def csq(self, include_status=None):
"{} ({})".format(evidence.source.citation_id, evidence.source.source_type),
str(evidence.variant_origin),
evidence.status,
str(evidence.clinical_significance or ''),
str(evidence.evidence_direction or ''),
"{} (DOID {})".format(evidence.disease.name, evidence.disease.doid),
susannasiebert marked this conversation as resolved.
Show resolved Hide resolved
'&'.join(["{} (NCIt ID {})".format(drug.name, drug.ncit_id) for drug in evidence.drugs]),
susannasiebert marked this conversation as resolved.
Show resolved Hide resolved
str(evidence.drug_interaction_type or ""),
'&'.join(["{} (HPO ID {})".format(phenotype.hpo_class, phenotype.hpo_id) for phenotype in evidence.phenotypes]),
susannasiebert marked this conversation as resolved.
Show resolved Hide resolved
evidence.evidence_level,
str(evidence.rating),
"",
"",
"",
"",
"",
]))
for assertion in self.assertions:
if include_status is not None and assertion.status not in include_status:
Expand All @@ -664,6 +677,19 @@ def csq(self, include_status=None):
"",
str(assertion.variant_origin),
assertion.status,
assertion.clinical_significance,
assertion.evidence_direction,
"{} (DOID {})".format(assertion.disease.name, assertion.disease.doid),
'&'.join(["{} (NCIt ID {})".format(drug.name, drug.ncit_id) for drug in assertion.drugs]),
susannasiebert marked this conversation as resolved.
Show resolved Hide resolved
str(assertion.drug_interaction_type or ''),
"",
"",
"",
"&".join([acmg_code.code for acmg_code in assertion.acmg_codes]),
str(assertion.amp_level or ''),
"{} (v{})".format(assertion.nccn_guideline, assertion.nccn_guideline_version),
str(assertion.fda_regulatory_approval or ''),
str(assertion.fda_companion_test or ''),
]))
return csq

Expand Down
13 changes: 13 additions & 0 deletions civicpy/exports.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,19 @@ class VCFWriter(DictWriter):
'CIViC Entity Source',
'CIViC Entity Variant Origin',
'CIViC Entity Status',
'CIViC Entity Clinical Signifiance',
'CIViC Entity Direction',
'CIViC Entity Disease',
'CIViC Entity Drugs',
'CIViC Entity Drug Interaction Type',
'CIViC Evidence Phenotypes',
'CIViC Evidence Level',
'CIViC Evidence Rating',
'CIViC Assertion ACMG Codes',
'CIViC Assertion AMP Category',
'CIViC Assertion NCCN Guideline',
'CIVIC Assertion Regulatory Approval',
'CIVIC Assertion FDA Companion Test ',
]))


Expand Down