All Projects → pughlab → bamgineer

pughlab / bamgineer

Licence: Apache-2.0 license
Bamgineer: Introduction of simulated allele-specific copy number variants into exome and targeted sequence data sets

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to bamgineer

HighlightTranslator
Highlight Translator can help you to translate the words quickly and accurately. By only highlighting, copying, or screenshoting the content you want to translate anywhere on your computer (ex. PDF, PPT, WORD etc.), the translated results will then be automatically displayed before you.
Stars: ✭ 54 (+54.29%)
Mutual labels:  copy
Random-Number-Generator
A clean, simple random number generator for Android. Downloaded 180,000+ times and rated 2,000+ times on Google Play with 4.7+ average rating.
Stars: ✭ 30 (-14.29%)
Mutual labels:  number
lrng
Linux Random Number Generator
Stars: ✭ 57 (+62.86%)
Mutual labels:  number
react-gluejar
Paste images from your clipboard, declaratively
Stars: ✭ 58 (+65.71%)
Mutual labels:  copy
terbilang
Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia
Stars: ✭ 46 (+31.43%)
Mutual labels:  number
deepClone
A tiny library for deeply copying Javascript objects and arrays
Stars: ✭ 17 (-51.43%)
Mutual labels:  copy
phonenumber
With a given country and phone number, validate and format the MOBILE phone number to E.164 standard
Stars: ✭ 108 (+208.57%)
Mutual labels:  number
DNA-Sequence-Machine-learning
Understand DNA structure and how machine learning can be used to work with DNA sequence data.
Stars: ✭ 25 (-28.57%)
Mutual labels:  dna
sequencework
programs and scripts, mainly python, for analyses related to nucleic or protein sequences
Stars: ✭ 22 (-37.14%)
Mutual labels:  dna
jQuery.EAN13
A jQuery & plain JavaScript library for generating EAN13-barcodes
Stars: ✭ 45 (+28.57%)
Mutual labels:  number
ChangeNumbersJs
Tiny Library for change number from a language in other language.
Stars: ✭ 14 (-60%)
Mutual labels:  number
break infinity.js
A replacement for decimal.js for incremental games who want to deal with very large numbers (bigger in magnitude than 1e308, up to as much as 1e(9e15) ) and want to prioritize speed over accuracy.
Stars: ✭ 145 (+314.29%)
Mutual labels:  number
SQL-for-Data-Analytics
Perform fast and efficient data analysis with the power of SQL
Stars: ✭ 187 (+434.29%)
Mutual labels:  copy
coala
A Framework for Coalescent Simulation in R
Stars: ✭ 21 (-40%)
Mutual labels:  dna
cora-docs
CoRA Docs
Stars: ✭ 36 (+2.86%)
Mutual labels:  dna
cloner
A deep copy algorithm for haxe
Stars: ✭ 24 (-31.43%)
Mutual labels:  copy
cassandra-exporter
Simple Tool to Export / Import Cassandra Tables into JSON
Stars: ✭ 44 (+25.71%)
Mutual labels:  copy
format-number
文本框数字格式化
Stars: ✭ 17 (-51.43%)
Mutual labels:  number
kor-to-number.js
한글로 적힌 한국어 수사를 숫자로 변환하는 자바스크립트 라이브러리입니다.
Stars: ✭ 39 (+11.43%)
Mutual labels:  number
from-exponential
Lightweight module to convert number from exponential notation to a human readable string.
Stars: ✭ 27 (-22.86%)
Mutual labels:  number

Bamgineer

Introduces simulated allele-specific copy number variants into exome and targeted sequence data sets

Author

Soroush Samadian

Maintainer

Suluxan Mohanraj [email protected]

Description

Bamgineer is a tool that can be used to introduce user-defined haplotype-phased allele-specific copy number variations (CNV) into an existing Binary Alignment Mapping (BAM) file with demonstrated applicability to simulate somatic cancer CNVs in phased whole-genome sequencing datsets. This is done by introducing new read pairs sampled from existing reads, thereby retaining biases of the original data such as local coverage, strand bias, and insert size. As input, Bamgineer requires a BAM file and a list of non-overlapping genomic coordinates to introduce allele-specific gains and losses. We implemented parallelization of the Bamgineer algorithm for both standalone and high performance computing cluster environments, significantly improving the scalability of the algorithm. Bamgineer has been extensively tested on phased, whole-genome sequencing samples.

Contact

If you have any questions with the package, please feel free to email Suluxan at [email protected].

Running example Bamgineer workflow with Docker

Please see bamgineer/docs/input_preparation for preparing your own files

CHR21 bam files for NA12878 10X can be found here:

https://drive.google.com/file/d/1km9gupGi7W6aUE9XqBsiamGnwTpDrGpZ/view?usp=sharing

Tested with Docker version 17.05.0-ce, build 89658be

docker pull suluxan/bamgineer-v2
git clone https://github.com/pughlab/bamgineer.git
cd bamgineer/docker-example
# download google drive file (link above) and move into this directory
tar xjf splitbams.tar.bz2 
# start of bamgineer command
docker run --rm \
-v $(pwd):/src \
-it suluxan/bamgineer-v2 \
-config /src/inputs/config.cfg \
-splitbamdir src/splitbams \
-cnv_bed /src/inputs/cnv.bed \
-vcf src/inputs/normal_het.vcf \
-exons src/inputs/exons.bed \
-outbam tumour.bam \
-results src/outputs \
-cancertype LUAC1 

Running without Docker:

    usage: python bamgineer/src/simulate.py 
  
    arguments:
       -config CONFIG_FILE,        configuration file including paths to tools/executables
       -splitdir SPLIT_BAMS_DIR,   input bam split by chromosomes
       -cnv_bed CNV_BED_FILE,      bed file containing non-overlapping CNVs following template
       -vcf FILTERED_VCF_FILE,     phased vcf file with indels removed 
       -exons COORDINATES_BED      bed file of whole genome coordinates or exons
       -outbam OUTPUT_BAM,         bam file name for output
       -results RESULTS_DIR,       output directory for final simulated bam results
       -cancertype CANCER_TYPE,    cancer type/acronym (OPTIONAL)

Prerequisites - NOTE: many dependencies are outdated but will be continuously updated throughout the bamgineer development, docker image and docker workflow outlined above is ideal for ease-of-use

General NGS tools

Samtools (version 1.2): samtools
Bedtools:bedtools
VCFtools:vcftools
BamUtil:bamutil

Python packages

pysam (version 0.8.4): pysam
Note: the latest version of pysam (0.9.0) is not backward compatible with Samtools1.2
pyVCF pyvcf
pyBedTools pybedtools

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].