Bowfast
Run bowtie, then BFAST on single-end colorspace reads and get a single BAM file.
Example
bowfast -f hg19.fa -p output_prefix input.csfasta input.qual
Will create output_prefix.calmd.bam which has samtools calmd -E adjusted qualities of the merged output from bowtie and BFAST
- Run ./bowfast with no options to see full help.
Pipeline
automates mapping single-end colorspace reads with this pipeline:
- run bowtie with conservative parameters to map high-quality reads quickly and discard reads that map to multiple locations
- quality trim reads that are unmapped by bowtie
- map trimmed reads with BFAST
- sort and merge bowtie and BFAST outputs
- index and run samtools calmd -E on merged file.
The alignments from bowtie are given fake mapping quality scores based on the number of mismatches (it's completely ad-hoc, but is tuned so that it seems to give the ability to filter).
Options
-f reference fasta file. [required] -p output prefix for all files. e.g. 'data/sample1' [required] -t number of threads. [default: 8] -a option to BFAST [default: 3] 2 - keep only uniquely mapped reads (most stringent) 3 - choose the best scoring alignment.
Installation
- Note: this assumes that samtools, bowtie, and BFAST are on your path
- and that indexes for bowtie and BFAST have been created. If you use the build-all.sh script in this repo, it will download and build them for you in the lib/ directory. the bowfast executable adds lib/* to your path during the execution of the script.
Download and build:
$ git clone --recursive https://github.com/brentp/bowfast/ $ cd bowfast $ bash build-all.sh $ ./bowfast
TODO
- can add a meta script to split, parallize, and merge.
- figure out trimming with sickle (see: najoshi/sickle#3)
- current defaults seem to do pretty well, but can adjust -e to bowtie and -a, -b to BFAST and check results.