@@ -5,87 +5,92 @@ mity is a bioinformatic analysis pipeline designed to call mitochondrial SNV and
5
5
* easily integrate with existing nuclear DNA analysis pipelines (mity merge)
6
6
* provide an annotated report, designed for clinicians and researchers to interrogate
7
7
8
-
9
8
# Usage
10
9
mity -h
11
10
12
11
# Dependencies
12
+ * python3 (tested on 3.7.4)
13
13
* freebayes >= 1.2.0
14
14
* bgzip + tabix
15
15
* gsort (https://github.com/brentp/gsort )
16
- * python3 (tested on 3.7.4)
17
16
* pyvcf
18
17
* xlsxwriter
19
18
* pandas
20
19
20
+ # Installation
21
+ Installation instructions via Docker, pip, or manually are available in INSTALL.md
22
+
21
23
# Example Usage
22
24
This is an example of calling variants in the Ashkenazim Trio.
23
25
24
- First make sure mity is in your PATH variable.
25
-
26
- ``` bash
27
- PATH=" PATH_TO_MITY_FOLDER:${PATH} "
28
- export PATH
29
- ```
30
-
31
26
## mity-call
32
27
First run mity-call on three MT BAMs provided in mity/test_in
33
28
34
- We can run it in normalised mode:
29
+ We can run it in normalised mode & recommend always using --normalise (or ` mity report ` won't work) :
35
30
``` bash
36
31
mity call \
37
32
--prefix ashkenazim \
38
- --out-folder-path test_out/normalised \
39
- --min-alternate-fraction 0.5 \
33
+ --out-folder-path test_out \
40
34
--region MT:1-500 \
41
35
--normalise \
42
- --p 0.001 \
43
36
test_in/HG002.hs37d5.2x250.small.MT.RG.bam \
44
37
test_in/HG003.hs37d5.2x250.small.MT.RG.bam \
45
38
test_in/HG004.hs37d5.2x250.small.MT.RG.bam
46
39
```
47
- This should create test_out/normalised/ashkenazim.mity.vcf.gz and test_out/normalised/ashkenazim.mity.vcf.gz.tbi
48
-
49
- We can run it without the normalisation:
50
-
51
- ``` bash
52
- mity call \
53
- --prefix ashkenazim \
54
- --out-folder-path test_out/unnormalised \
55
- --min-alternate-fraction 0.5 \
56
- --region MT:1-500 \
57
- --p 0.001 \
58
- test_in/HG002.hs37d5.2x250.small.MT.RG.bam \
59
- test_in/HG003.hs37d5.2x250.small.MT.RG.bam \
60
- test_in/HG004.hs37d5.2x250.small.MT.RG.bam
61
- ```
62
-
63
- This should create test_out/unnormalised/ashkenazim.mity.vcf.gz and test_out/unnormalised/ashkenazim.mity.vcf.gz.tbi
40
+ This will create ` test_out/normalised/ashkenazim.mity.vcf.gz ` (and tbi file).
64
41
65
42
## mity-report
66
43
67
- We can create a mity report on the normalised VCF:
44
+ We can create a ` mity report ` on the normalised VCF:
68
45
``` bash
69
46
mity report \
70
47
--prefix ashkenazim \
71
- --min_vaf 0.1 \
72
- --out-folder-path /Users/putticc/Projects/mity/ test_out/normalised \
73
- test_out/normalised/ ashkenazim.mity.vcf.gz
48
+ --min_vaf 0.01 \
49
+ --out-folder-path test_out \
50
+ test_out/ashkenazim.mity.vcf.gz
74
51
```
52
+ This will create: ` test_out/ashkenazim.annotated_variants.csv ` and ` test_out/ashkenazim.annotated_variants.xlsx ` .
53
+
54
+ ## mity-normalise
55
+ High-depth sequencing and sensitive variant calling can create many variants with more than 2 alleles, and in some
56
+ cases, joins two nearby variants separated by shared REF sequenced into a multi-nucleotide polymorphism
57
+ as discussed in the manuscript. Here, variant normalisation relates to decomposing the multi-allelic variants and
58
+ where possible, splitting multi-nucleotide polymorphisms into their cognate smaller variants. At the time of writing,
59
+ all variant decomposition tools we used failed to propagate the metadata in a multi-allelic variant to the split
60
+ variants which caused problems when reporting the quality scores associated with each variant.
61
+
62
+ Technically you can run ` mity call ` and ` mity normalise ` separately, but since ` mity report ` requires a normalised
63
+ vcf file, we recommend running ` mity call --normalise ` .
75
64
76
- This should create: test_out/normalised/ashkenazim.annotated_variants.csv and test_out/normalised/ashkenazim.annotated_variants.xlsx
65
+ ## mity-merge
66
+ You can merge a nuclear vcf.gz file and a mity.vcf.gz file thereby replacing the MT calls from the nuclear VCF (
67
+ presumably from a caller like HaplotypeCaller which is not able to sensitively call mitochondrial variants) with
68
+ the calls from mity.
77
69
78
- On the unnormalised VCF - this doesn't work.
79
70
``` bash
80
- mity report \
71
+ mity merge \
81
72
--prefix ashkenazim \
82
- --min_vaf 0.1 \
83
- --out-folder-path /Users/putticc/Projects/mity/test_out/unnormalised \
84
- test_out/unnormalised/ashkenazim.mity.vcf.gz
73
+ --mity_vcf test_out/ashkenazim.mity.vcf.gz \
74
+ --nuclear_vcf todo-create-example-nuclear.vcf.gz
85
75
```
86
- ## mity-merge
76
+
77
+ # Recommendations for interpreting the report
78
+ Assuming that you are looking for a pathogenic variant underlying a patient with a rare genetic disorder potentially
79
+ caused by a Mitochondrial mutation, then we recommend the following strategy:
80
+ 1 . tier 1 or 2 variants included in the 'commercial_panels' column
81
+ 2 . tier 1 or 2 variants that match the clinical presentation and the phenotype in 'disease_mitomap', preferably
82
+ those that are annotated with Confirmed evidence in the 'status_mitomap' column
83
+ 3 . exclude common variants: anything linked to 'phylotree_haplotype', high 'phylotree_haplotype', high
84
+ 'MGRB_frequency', high 'GenBank_frequency_mitomap'.
85
+ 4 . consider any remaining tier 1 or 2 variants that may have a predicted impact on tRNA
86
+ 5 . consider any remaining variants with high numbers of 'variant_references_mitomap'
87
+ 5 . if you have analysed multiple family members, consider variants who's level of 'variant_heteroplasmy' match the
88
+ disease burden
87
89
88
90
# Acknowledgements
89
- We thank the Kinghorn Centre for Clinical Genomics and collaborators, who helped
90
- with feedback for running mity.
91
- We thank Eric Talevich who's CNVkit helped us structure mity as a package
91
+ We would like to thank
92
+ * The Kinghorn Centre for Clinical Genomics and collaborators, who helped with feedback for running mity.
93
+ * The Genome in a Bottle consortium for providing the test data used here
94
+ * Eric Talevich who's CNVkit helped us structure mity as a package
95
+ * Erik Garrison for developing FreeBayes and his early feedback in optimising FreeBayes for sensitive variant detection.
96
+ * Brent Pederson for developing gsort
0 commit comments