Code Monkey home page Code Monkey logo

misc's Introduction

Misc: Various programms for read mapping with optimum search schemes

Installation

The following instructions assume Linux or OS X. For more information, including Windows instructions, refer to the SeqAn getting started tutorial.

Software requirements

A modern C++11 compiler with OpenMP 3.0 extensions is required to build Yara. If unsure, use GNU G++ 4.9 or newer.

  • Git.
  • CMake 3.2 or newer.
  • G++ 4.9 or newer.

Download

Misc sources downloaded by executing:

$git clone https://github.com/svnbgnk/misc.git

Configuration

Create a build project by executing CMake as follows:

$ mkdir misc-build
$ cd misc-build
$ cmake ../misc

Build

Invoke make as follows:

$ make

Usage

testOSSAlignments

Count alternative Alignments of a single Occurrence when search with up 3 errors with my Version of the OSS

$ testOSSAlignments -l 100 -mv -e 3

MapMap Instructions

MapMap Short Instructions

MapMap setup (requires 6-7 GB of RAM)

$ git clone --recurse-submodules https://github.com/svnbgnk/dream_yara.git
$ git checkout oss
$ cd dream_yara/include/seqan/
$ git remote add upstream https://github.com/svnbgnk/seqan.git
$ git checkout upstream/mappa
$ cd ../../..
$ mkdir mapmap-build
$ cd mapmap-build
$ cmake ../dream_yara
$ make all

Acquiring hg38.fa

$ DATA/reference
$ wget http://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz
$ gunzip hg38.fa.gz
$ mkdir bin
$ cp hg38.fa bin/0.fa

Building the Index (requires 200GB of secondary memory)

$ dream_yara_indexer --threads 8 --output-prefix DATA/hg38_N_index/ DATA/reference/bin/*.fa -td /srv/public/svnbngk/tmp/

Computing sequence mappability and bit vectors with TH = 10

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 10 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability10E3

All mapping with up to 3 errors

$ dream_yara_mapper DATA/hg38_N_index/ DATA/reads/illumina/illumina_1.fa -t 1 -b 1 -ft none -e 3 -s 3 -o result.sam -vv

Stratified all-mapping with strata 2 and 3 errors

$ dream_yara_mapper DATA/hg38_N_index/ DATA/reads/illumina/illumina_1.fa -t 1 -b 1 -ft none -e 3 -s 3 -o result.sam -vv

Mapping with sequence mappability up to 3 errors

$ dream_yara_mapper DATA/hg38_N_index/ DATA/reads/illumina/illumina_1.fa -t 1 -b 1 -ft none -e 3 -s 3 -m DATA/hg38_N_index/mappability10E3/ -o result.sam -vv

Complete replication of results

testOSSAlignments

Default OSS

$ testOSSAlignments -l 100 -e 1
$ testOSSAlignments -l 100 -e 2
$ testOSSAlignments -l 100 -e 3
$ testOSSAlignments -l 100 -e 4

With 1 read error

$ testOSSAlignments -l 100 -e 4 -em -m 1

Simulating on MapMap OSS

$ testOSSAlignments -l 100 -mv -e 1
$ testOSSAlignments -l 100 -mv -e 2
$ testOSSAlignments -l 100 -mv -e 3
$ testOSSAlignments -l 100 -mv -e 4

With 1 read error

$ testOSSAlignments -l 100 -mv -e 3 -em -m 1

MapMap

Computation of Sequence Mappability:

T = 5

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 5 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability5E3

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 5 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability5E2

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 1 -T 5 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability5E1

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 5 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability5H3

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 5 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability5H2

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 1 -T 5 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability5H1

T = 10

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 10 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability10E3

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 10 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability10E2

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 1 -T 10 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability10E1

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 10 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability10H3

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 10 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability10H2

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 1 -T 10 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability10H1

T = 100

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 100 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability100E3

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 100 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability100E2

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 100 -s 0 -t 20 -o 35 -v -i -O DATA/hg38_N_index/mappability100E1

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 3 -T 100 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability100H3

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 2 -T 100 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability100H2

$ dream_yara_mappability DATA/hg38_N_index/ -b 1 -K 100 -E 1 -T 100 -s 0 -t 20 -o 35 -v -O DATA/hg38_N_index/mappability100H1

Using bashscripts in ./bashscripts and reads in ./reads

$ benchmark_v2.sh master.log DATA/hg38_N_index/ DATA/reads/illumina/illumina_1.fa

$ benchmark_hamming.sh masterHamming.log DATA/hg38_N_index/ DATA/reads/illumina/illumina_1.fa

$ benchmark_f2.sh map5.log srv/public/svnbngk/Data/hg38_N_index/ DATA/reads/illumina/illumina_1.fa DATA/hg38_N_index/ mappability5

$ benchmark_f2.sh map10.log srv/public/svnbngk/Data/hg38_N_index/ DATA/reads/illumina/illumina_1.fa DATA/hg38_N_index/ mappability10

$ benchmark_f2.sh map100.log srv/public/svnbngk/Data/hg38_N_index/ DATA/reads/illumina/illumina_1.fa DATA/hg38_N_index/ mappability100

Benchmarking Dream-Yara on a bidirectional index (based on EPR dictionaries) use flag -of

Benchmarking Dream-Yara with -ft none on a unidirectional Index
$ git checkout yaraben

To use my fix for mapping without an filter.

misc's People

Contributors

bngksvn avatar svnbgnk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.