Skip to content
Bayesian-based fetal genotyping using maternal cell-free DNA and parental sequencing data.
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


a Bayesian-based noninvasive fetal variant detector

user manual and guide


Hoobari (Hebrew: hoo - him, bari - healthy, oobari - fetal) is the first fetal variant calling program, designed to prenataly find SNPs (single-nucleotide polymorphisms) and indels (insertions and deletions) in a noninvasive manner. It requires sequencing data of the mother, the father and the cell-free DNA (cfDNA), that is found in the maternal plasma and contains both fetal and maternal DNA fragments.

Hoobari is based on a Bayesian algorithm in which each cfDNA fragment has its own probability of being fetal. Its output is a standard Variant Calling Format (VCF) file, that can be further analyzed and annonated by different tools.

One of Hoobari's main goals is to create a general framework for the process of noninvasive fetal genotyping, that follows existing standards and is compatible with other bioinformatical tools. Hoobari's workflow is therefore similar to that of other variant callers, and conveniently allows the introduction of future improvements. Hopefully, Hoobari will help make this field, which is still in its infancy, somewhat more accessible for other researchers.

Citing Hoobari

If you are using the Hoobari in your research, please cite our paper as follows:

Bayesian-based noninvasive prenatal diagnosis of single-gene disorders. Tom Rabinowitz, Avital Polsky, David Golan, Artem Danilevsky, Guy Shapira, Chen Raff, Lina Basel-Salmon, Reut Tomashov Matar, and Noam Shomron. Genome Research. 2019. doi:10.1101/gr.235796.118


To download Hoobari:

git clone --recursive git://

Note the use of --recursive. This is required in order to download all nested git submodules for external repositories.


Hoobari's pipeline consists of 3 steps:

  1. Parental variant detection (Freebayes)
  2. Pre-processing of cfDNA (Freebayes + patch)
  3. Fetal variant calling (Hoobari)

Parental variant detection:

freebayes \
--fasta-reference h.sapiens.fasta \
mother.sorted.mdup.bam \
father.sorted.mdup.bam \
> parents.vcf

Pre-processing of cfDNA:

freebayes \
-d \
--fasta-reference h.sapiens.fasta \
--bam cfdna.sorted.mdup.bam \
--variant-input parents.vcf \
--only-use-input-alleles \
|& python /path/to/hoobari/src/ \
-b cfdna.sorted.mdup.bam \
-parents_vcf parents.vcf \
-m mother.sorted.mdup.bam \
-p father.sorted.mdup.bam

Fetal variant calling:

hoobari \
-parents_vcf parents.vcf \
-cfdna_vcf cfdna.vcf
You can’t perform that action at this time.