Due to HmtVar not being available anymore, this tool is now archived. Apologies for any inconvenience.
Human mitochondrial variants annotation using HmtVar.
- Free software: MIT license
- Documentation: https://hmtnote.readthedocs.io
- GitHub repo: https://github.com/robertopreste/HmtNote
- Publication: https://doi.org/10.1101/600619
HmtNote is a bioinformatics Python module and command line interface that can be used to annotate human mitochondrial variants from a VCF file, using data available on HmtVar.
Annotations are grouped into basic, cross-reference, variability and predictions, depending on the type of information they provide. It is possible to either use all of them to fully annotate a VCF file, or choose specific annotations of interest.
HmtNote works by pulling the required data from HmtVar on the fly, but if you're planning to annotate VCF files offline, it is possible to download the annotation database so that HmtNote can use it when no internet connection is available.
For more information, please refer to the Usage section of the documentation.
PLEASE NOTE: HmtNote only supports Python >= 3.6!
The preferred installation method for HmtNote is using pip
:
$ pip install hmtnote
For more information, please refer to the Installation section of the documentation.
HmtNote can be used as a command line tool, using the annotate
command and providing the input VCF file name and the file name or path where the annotated VCF will be saved:
hmtnote annotate input.vcf annotated.vcf
By default, HmtNote will annotate the VCF file using all four groups of annotations (basic, cross-reference, variability and predictions). If desired, you can select which specific annotation you want, using respectively --basic
, --crossref
, --variab
and --predict
(or -b
, -c
, -v
, -p
), or any combination of these options:
hmtnote annotate input.vcf annotated_basic.vcf --basic hmtnote annotate input.vcf annotated_crossreferences.vcf --crossref hmtnote annotate input.vcf annotated_variability.vcf --variab hmtnote annotate input.vcf annotated_predictions.vcf --predict hmtnote annotate input.vcf annotate_basic_variability.vcf --basic --variab
It is also possible to convert the resulting annotated VCF file to CSV format, for a simpler visual inspection of the data, by simply specifying the --csv
option (please note that an output VCF file name must be provided):
hmtnote annotate input.vcf annotated.vcf --csv
An additional annotated.csv
file will be created in the same directory of annotated.vcf
.
By default, HmtNote works by pulling the required data from HmtVar on the fly, but if you're planning to annotate VCF files offline, first download the annotation database using the dump
command:
hmtnote dump
After that, HmtNote is capable of working even when no internet connection is available; this can be achieved using the --offline
option after the usual annotation command:
hmtnote annotate input.vcf annotated.vcf --offline hmtnote annotate input.vcf annotated_variability.vcf --variab --offline
For more information, please refer to the Usage section of the documentation.
HmtNote can also be imported in a Python script and its function annotate_vcf()
can be used to annotate a given VCF:
from hmtnote import annotate annotate("input.vcf", "annotated.vcf")
By default, annotate_vcf()
will annotate the VCF using all four groups of annotations (basic, cross-reference, variability and predictions). If desired, you can specify which kind of annotation you want, using respectively the basic=True
, crossref=True
, variab=True
, predict=True
arguments, or any combination of them:
annotate("input.vcf", "annotated_basic.vcf", basic=True) annotate("input.vcf", "annotated_crossreferences.vcf", crossref=True) annotate("input.vcf", "annotated_variability.vcf", variab=True) annotate("input.vcf", "annotated_predictions.vcf", predict=True)
An additional annotated CSV can be produced from the output VCF using the csv=True
argument:
annotate("input.vcf", "annotated.vcf", csv=True)
It is also possible to download the annotation database using the dump()
function, and perform offline annotation of VCF files by simply adding the offline=True
argument to annotate_vcf()
:
from hmtnote import dump dump() annotate("input.vcf", "annotated.vcf", offline=True)
For more information, please refer to the Usage section of the documentation.
If you find HmtNote useful for your research, please cite this work:
Preste R. et al - Human mitochondrial variant annotation with HmtNote (doi: https://doi.org/10.1101/600619)
This package was created with Cookiecutter and the cc-pypackage project template.