Skip to content

pratikchandrani/simple-synthetic-somatic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple synthetic somatic data for PCAWG validation/merge pipeline

A very simple generator for simple somatic read and caller data for demonstration and testing the PCAWG-1 somatic call validation and merge pipeline.

Uses ART to generate synthetic reads for a normal bam (currently hg19 with no germline mutations) and BAMSurgeon to add somatic SNVs and indels.

Requirements:

  • BAMSurgeon, which requires:
    • velvet
    • bwa
    • samtools, htslib
    • bcftools
    • picard
    • exonerate
  • ART (downloaded by the setup.sh script)

Running

Running the following

./setup.sh         # downloads/indexes reference: takes some time!
./build_small_data small

will result in a directory small containing simulated normal and tumour BAMs for chr20, VCFs for five callers that include false positives and negatives, and truth datasets. Similarly,

./build_full_data full

(which will take much longer) will generate synthetic data for the whole genome.

In addition, a bam (tumour or normal) may be oversampled at sites given by variants in a VCF to (very crudely) simulate validation data:

./supersample -b sim_normal.bam -v variant_targets.vcf -o sim_validation_normal.bam
./supersample -b sim_tumour.bam -v variant_targets.vcf -o sim_validation_tumour.bam

Running with Docker

The provided Dockerfile allows running these tools as a container:

docker build -t simple_synthetic_somatic .
docker run -it -v ${PWD}:/output simple_synthetic_somatic generate small   # generates data for chr20
docker run -it -v ${PWD}:/output simple_synthetic_somatic generate full    # generates whole-genome data
docker run -it -v ${PWD}:/output simple_synthetic_somatic generate supersample -b small/sim_normal.bam -v small/truth.vcf -o small/sim_validation.bam

About

Very simple synthetic somatic read/call generator for testing mechanics of pipelines

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 47.1%
  • Shell 40.6%
  • Dockerfile 12.3%