vcf2fhir

vcf2fhir: a utility to convert VCF files into HL7 FHIR format for genomics-EHR integration

https://github.com/elimuinformatics/vcf2fhir

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

fhir hl7 vcf
Last synced: 6 months ago · JSON representation

Repository

vcf2fhir: a utility to convert VCF files into HL7 FHIR format for genomics-EHR integration

Basic Info
  • Host: GitHub
  • Owner: elimuinformatics
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 2.1 MB
Statistics
  • Stars: 40
  • Watchers: 13
  • Forks: 24
  • Open Issues: 11
  • Releases: 0
Topics
fhir hl7 vcf
Created over 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.md

VCF to FHIR Converter

Introduction

VCF-formatted files are the lingua franca of next-generation sequencing, whereas HL7 FHIR is emerging as a standard language for electronic health record interoperability. A growing number of clinical genomics applications are emerging, based on the HL7 FHIR Genomics standard. Here, we provide an open source utility for converting variants from VCF format into HL7 FHIR Genomics format. Details of the translation logic are on the manual page. Additional information and case studies are described in our BMC Bioinformatics article. Conceptually, the utility takes a VCF as input and outputs a FHIR Genomics report.

Install

Before installing vcf2fhir you need to install cython and wheel. pip install cython wheel Now, install vcf2fhir binary from pip. pip install vcf2fhir

Quick Examples

(some sample VCF files are here)

```python

import vcf2fhir vcffhirconverter = vcf2fhir.Converter('sample.vcf', 'GRCh37') vcffhirconverter.convert() ```

Logging

You can use python standard logging to enable logs. Two loggers ('vcf2fhir.general') and ('vcf2fhir.invalidrecord') are available to configure. * vcf2fhir.general: standard library logs. * vcf2fhir.invalidrecord: logs all the records from vcf file which are in conversion region but are not converted to fhir format.

```python

import logging

create logger

logger = logging.getLogger('vcf2fhir.invalidrecord') logger.setLevel(logging.DEBUG)

create console handler and set level to debug

ch = logging.FileHandler('invalidrecord.log') ch.setLevel(logging.DEBUG)

create formatter

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

add formatter to ch

ch.setFormatter(formatter)

add ch to logger

logger.addHandler(ch) ```

Documentation

You can find the detailed documantation of the package on the official website here.

Scope

Software converts simple (SNV, MNV, Indel) and structural (CNV, DEL, DUP, INV, INS) variants from VCF to FHIR format. Clinical annotations, where supplied, are incorporated into the FHIR representation.

  • Not supported
    • Alt contigs: Software does not support conversion of variants aligned to Alt contigs. We recommend caution in using this software against VCFs generated with an alternate-locus aware variant caller, as variants mapped to Alt contigs will not be converted.
    • Query liftover: Software assumes that regions (e.g. conversion region, studied region) and VCF are based on the same genomic build.
    • Chromosome synonyms (e.g. '1' vs. 'chr1'): Software assumes that chromosome representation is consistent between regions (e.g. in BED files) and VCF. For instance, if VCF uses 'chr1', then BED file must also use 'chr1'

License and Limitations

Software is available for use under an Apache 2.0 license, and is intended solely for experimental use, to help further Genomics-EHR integration exploration. Software is expressly not ready to be used with identifiable patient data or in delivering care to patients. Code issues should be tracked here. Comments and questions can also be directed to info@elimu.io or srikarchamala@gmail.com.

Owner

  • Name: Elimu Informatics
  • Login: elimuinformatics
  • Kind: organization

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 116
  • Total Committers: 9
  • Avg Commits per committer: 12.889
  • Development Distribution Score (DDS): 0.647
Top Committers
Name Email Commits
rohangupta r****u@g****m 41
Bob Dolin b****n@e****o 24
Shailesh Gothi s****e@g****m 19
Shailesh Gothi s****i@y****m 12
Shubham Londhe s****l@c****m 10
Abhishek a****9@g****m 4
Meghana Reddy m****i@g****m 3
Srikar Chamala s****a@g****m 2
theanmolsharma 6****a@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 42
  • Total pull requests: 62
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 2.57
  • Average comments per pull request: 1.85
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • rhdolin (19)
  • srgothi92 (10)
  • Rohan-cod (5)
  • abhishek-jain-1999 (2)
  • mad-scientist-in-training (2)
  • clake-deloitte (1)
  • Yun-00 (1)
  • pankajsurti (1)
  • bwalsh (1)
Pull Request Authors
  • Rohan-cod (40)
  • LondheShubham153 (6)
  • dependabot[bot] (6)
  • rhdolin (5)
  • abhishek-jain-1999 (4)
  • theanmolsharma (2)
  • srgothi92 (2)
Top Labels
Issue Labels
defer (4) good first issue (1)
Pull Request Labels
dependencies (6)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 77 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 4
pypi.org: vcf2fhir

Convert .vcf files to HL7 FHIR standard

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 77 Last month
Rankings
Forks count: 8.1%
Dependent packages count: 10.0%
Stargazers count: 11.0%
Average: 17.8%
Dependent repos count: 21.7%
Downloads: 38.1%
Last synced: 7 months ago

Dependencies

requirements.txt pypi
  • Cython >=0.29.21
  • PyVCF3 >=1.0.3
  • fhirclient ==3.2.0
  • pandas *
  • pyranges >=0.0.96
  • pysam *
  • pytz >=2019.3
.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • andymckay/pycodestyle-action 0.1.3 composite