|
1 | 1 | # bpbio: a single binary with a collection of sub-commands useful for genomics
|
2 | 2 |
|
3 | 3 | + plot-sv-vcf: create a plot that shows the number of large and small variants separated by DEL/DUP/BND/INV for a multi-sample SV VCF. (idea from @ernfrid)
|
4 |
| -+ variexpr: simple expression on variants for great good |
5 | 4 |
|
6 | 5 |
|
7 | 6 | ## Libraries
|
|
15 | 14 |
|
16 | 15 | + homsv: look for depth changes in self-chains or homologous regions
|
17 | 16 | + homsv-merge: merge output from homsv
|
18 |
| - |
19 |
| -## Variexpr |
20 |
| - |
21 |
| -variexpr finds all trios in a VCF, PED pair and let's the user specify an expression with indentifiers |
22 |
| -of `kid`, `mom`, `dad` that is applied to each possible trio. samples that pass that filter have the id |
23 |
| -of the kid added to the INFO field. |
24 |
| - |
25 |
| -``` |
26 |
| -bpbio variexpr \ |
27 |
| - --pass-only \ # output only variants that pass one of the filters. |
28 |
| - --vcf $vcf \ |
29 |
| - --ped $ped \ |
30 |
| - --load functions.js \ |
31 |
| - --out-vcf annotated.bcf \ |
32 |
| - --info "variant.call_rate > 0.9" \ # this filter is applied before the trio filters and can speed evaluation if it is stringent. |
33 |
| - --trio "denovo:kid.alts == 1 && mom.alts == 0 && dad.alts == 0 \ |
34 |
| - && kid.AB > 0.25 && kid.AB < 0.75 \ |
35 |
| - && (mom.AD[1] + dad.AD[1]) == 0 \ |
36 |
| - && kid.GQ >= 20 && mom.GQ >= 20 && dad.GQ >= 20 \ |
37 |
| - && kid.DP >= 12 && mom.DP >= 12 && dad.DP >= 12" \ |
38 |
| - --trio "informative:kid.GQ > 20 && dad.GQ > 20 && mom.GQ > 20 && kid.alts == 1 && ((mom.alts == 1 && dad.alts == 0) || (mom.alts == 0 && dad.alts == 1))" \ |
39 |
| - --trio "recessive:recessive_func(kid, mom, dad)" |
40 |
| -
|
41 |
| -
|
42 |
| -Note that `variexpr` does not give direct access to the genotypes, instead exposing `alts` where 0 is homozygous reference, 1 is heterozygous, 2 is |
43 |
| -homozygous alternate and -1 when the genotype is unknown. It is recommended to **decompose** a VCF before sending to `variexpr` |
44 |
| -
|
45 |
| -### Attributes |
46 |
| -
|
47 |
| - + anything in the INFO is available as e.g. INFO.CSQ |
48 |
| - + if FORMAT.AB is not present, it is added so one can filter with kid.AB > 0.25 && kid.AB < 0.25 |
49 |
| - + variant attributes are: `CHROM`, `POS`, `start`, `end`, `ID`, `REF`, `ALT`, `QUAL`, `FILTER` |
50 |
| - + calculated variant attributes include: `aaf`, `hwe_score`, `call_rate`, `num_hom_ref`, `num_het`, `num_hom_alt`, `num_unknown` |
51 |
| -
|
52 |
| - + sample attributes (via `kid`, `mom`, `dad`) include in the FORMAT. available as e.g. kid.AD[1] |
53 |
| - + sample attributes from the ped for `affected`, `sex` are available as, e.g. kid.sex. |
0 commit comments