Package
is a module which defines module installation and job parameters. For example, if you use the below process often:
- Install ClinVar and COSMIC modules.
- Annotate with ClinVar and COSMIC modules.
- Collect missense mutations only.
- Make VCF-format reports.
This process can be defined in a package module and you can tell OpenCRAVAT to do exactly the same process by giving the package's name to OpenCRAVAT as an option.
A package is a regular OpenCRAVAT module. In your OpenCRAVAT modules directory (you can find it with oc config md
), make packages
if it does not exist, and then create a package directory with a package name of your choice (should be unique among all modules) under the packages
directory
(for example, mypackage
). Then, create a .py and a .yml file with the package name. For example,
OpenCRAVAT modules directory/
|
+- packages/
|
+- mypackage/
|
+- mypackage.py
mypackage.yml
The .py file can be empty and is not used by OpenCRAVAT, but it needs to exist for administrative purposes.
The .yml file defines the dependency and process of the package. An example of mypackage.yml
is below.
title: Allele Frequency Package
description: Population allele frequency package with 1000 Genomes, ESP6500, gnomdAD, and gnomAD3
type: package
version: 0.0.1
# Modules for this package
requires:
- thousandgenomes
- esp6500
- gnomad
- gnomad3
# oc run and oc report settings
run:
# Annotators
annotators:
- thousandgenomes - esp6500
- gnomad
- gnomad3
# Reports
reports:
- vcf
# Filters
filtersql: >
(
(v.base__so = 'IND')
or
(v.base__so = 'INI')
or
(v.base__so = 'MIS')
)
and
(g.base__hugo = 'BRAF')
includesample:
- sample1
excludesample:
- sample2
Yon can use a package as an option to oc run
and oc report
.
Use --package
option with oc run
or oc report
command to apply a package's settings to run a job or create a report. For example,
oc run input --packge mypackage
This will run thousandgenomes
, esp6500
, gnomad
, and gnomad3
annotator modules on input
and create a VCF-format output file
only with the variants that are in the gene BRAF
, produce either inframe insertion, inframe deletion, or missense protein sequence consequence,
exist in sample1
, and do not exist in sample2
.
oc report input.sqlite --package mypackage
This will create a VCF-format output file only with the variants, among the variants in input.sqlite
,
that are in the gene BRAF
, produce either inframe insertion,
inframe deletion, or missense protein sequence consequence, exist in sample1
, and do not exist in sample2
.