Skip to main content
PIE logo

PIE

PIE (Phasing all-In-one Evaluator) is a command-line tool for evaluating haplotype phasing.

Installation

Currently, the prebuilt wheel supports Python 3.8 on Linux x86_64.

Option1. Install through pip

Due to name conflict on PyPI, we have to use pie-phasing-eval for pip installation. It is just a name change, won't affect the command line.

conda create -n pie python=3.8;
conda activate pie;
pip install pie-phasing-eval;

Option2. Install through Conda

conda create -n pie python=3.8;
conda activate pie;
conda install -c bioconda pie;

Option3. Local installation

conda create -n pie python=3.8;
conda activate pie

# Download and extract PIE, then enter the directory containing setup.py
pip install .;

Usage

Required arguments

Parameters Description Format or example
-i or --input file for evaluation .vcf / .vcf.gz / .bcf
-c or --compare ground truth file .vcf / .vcf.gz / .bcf
-r or --ref reference file .fa / .fasta / .fai
-o or --output Output file prefix exmaple: ./test/output_name

Recommend flag

Use --verbose to monitor the running process and enable detailed logging.

Full usages

Usage: pie [OPTIONS]

Options:
  -i, --input TEXT       Input vcf/vcf.gz file for evaluation  [required]
  -n, --name TEXT        User defined sample name, [default: Sample]
  -c, --compare TEXT     Ground truth vcf/vcf.gz file for comparison
                         [required]
  -r, --ref TEXT         Reference file fasta file (.fasta or .fa) or fasta
                         index file (.fai)  [required]
  -o, --output TEXT      Output file prefix,  such as -o ./test/output_name
                         [required]
  -t, --threads INTEGER  Maximum number of parallel threads [default: 24]
  -m, --max-len INTEGER  Maximum variant distance for pairwise calculation
                         [default: 2473538]
  -b, --bed TEXT         .bed file specifying genomic regions to include
                         [default: None]
  --min-sv INTEGER       Minimal length threshold of Structural Variant
                         [default: 30, ALT length > 30 bp is SV]
  --chrom TEXT           Chromosome to evaluate,use comma to join chromosome
                         name e.g. --chrom chr1,chr2,chr3
                         [default:chr1,chr2,chr3,...,chr22]
  --sexchrom TEXT        Sex chromosome,use comma to join chromosome name e.g.
                         --sexchrom chrX,chrY [default: chrX,chrY]
  --mincount INTEGER     Minimum number of phased sites in a phase block
                         [default: 2]
  --block                Output phasing block start and end positions in a BED
                         file
  --no-sex               Ignore sex chromosome
  --canonical            Canonical mode, only evaluate single mutation SNV
                         ignore double heterozygous site
  --only-snv             Only evaluate single nucleotide variation
  --only-indel           Only evaluate insertion and deletion
  --only-sv              Only evaluate structural variant
  --no-snv               Ignore single nucleotide variation
  --no-indel             Ignore insertion and deletion
  --no-sv                Ignore structural variant
  --no-double            Ignore double heterozygous site
  --no-sort              Do not sort chromosome or regions, directly use the
                         input order
  --verbose              Enable verbose mode, printing parameters and progress
                         to standard output
  --version              Show the version and exit.
  --help                 Show this message and exit.

Examples

Suppose phase.vcf is the sample VCF file to be evaluated against the ground truth VCF file (truth.vcf).

  1. (Comprehensive) Evaluate all autosomes
pie --verbose -i phase.vcf -c truth.vcf -r ref.fa -o ./output/comprehensive
  1. (Chromosome specific) Restrict evaluation to selected chromosome
pie --verbose --chrom chr6 -i phase.vcf -c truth.vcf -r ref.fa -o ./output/chr6
  1. (Region specific) Focus only on regions defined in a BED file.
pie --verbose -i phase.vcf -c truth.vcf -r ref.fa --bed mhc.bed -o ./output/mhc
  1. (Filter) Exclude Structural Variants (SV) from the analysis
pie --verbose -i phase.vcf -c truth.vcf -r ref.fa --no-sv -o ./output/no_sv
  1. (More output) Output raw phasing block start and end positions to a BED file
pie --verbose -i phase.vcf -c truth.vcf -r ref.fa --block -o ./output/more
  1. (Miscellaneous) Evaluate only SNVs on chromosome 6 and output raw block start and end positions to a BED file.
pie --verbose -i phase.vcf -c truth.vcf -r ref.fa --chrom chr6 --only-snv --block -o ./output/misc

Test data

Small query and truth test files are provided in here including three formats:

Filename Format Description
small_query.vcf VCF Uncompressed VCF
small_query.vcf.gz VCF.GZ Compressed VCF
small_query.bcf BCF Binary VCF

small_truth.vcf is provided as the truth.

The VCF format follows the VCF v4.1 specification https://samtools.github.io/hts-specs/VCFv4.1.pdf

Output file

Output suffix Description Condition
.variant.stats.csv Genotype evaluation result and phased percentage Always generated
.perchrom.csv Per chromosome phasing evaluation result Always generated
.overall.csv Overall sample evaluation result Always generated
.blocks.bed Raw phasing block start and end in -i or --input file with --block set

Resource consumption

Pie is expected to complete evaluation within minutes with the default 24 threads on an x86_64 platform.

The actual performance may vary depending on factors such as size of vcf, I/O speed, memory speed, and CPU capabilities.

Acknowledgements

Pie is dependent on the following libraries, we are grateful to all the developers/maintainers:

Release files for pie-phasing-eval 0.11.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pie-phasing-eval 0.11.2
File Size Uploaded
pie_phasing_eval-0.11.2.tar.gz 20.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pie-phasing-eval 0.11.2
File Interpreter ABI Platform
pie_phasing_eval-0.11.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details

Total release size: 46.8 kB

Release files / pie_phasing_eval-0.11.2.tar.gz

Download URL pie_phasing_eval-0.11.2.tar.gz
Size 20.9 kB
Tags Source
SHA-256 checksum
How to use checksums
afbb268e89494c82966caf141b30b0c71c986a777c08913effff7b467baf3c35
BLAKE2b-256 checksum
How to use checksums
002d7c6d459b37c77d279eacf448899bc957f2a2da2f223e1f712cc970fff667
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.20

Release files / pie_phasing_eval-0.11.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL pie_phasing_eval-0.11.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 25.9 kB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7312e491c6a01b1462e585c4e86e217488de460450ecd70d8c9e454a295204ec
BLAKE2b-256 checksum
How to use checksums
a68fef1ca02be3241bf035887680489e82df5996967c3a39e4c6c94a4e96120d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.20

Release history Release notifications | RSS feed

This release

0.11.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page