次世代シークエンシング(NGS)技術によって生成されるロングリードの数は急速に増加している。リファレンスゲノムへのこれらロングリードの効率的かつ正確なマッピングは、明らかに、リシーケンス解析、RNA-Seq、およびChIP-Seqなどのアプリケーションにおける下流の分析を改善するだけでなく、全体的なNGSコストを低減する上で重要な役割を果たす。現在、NGS技術は、リードの全体的な品質と長さに基づいて2つのカテゴリに分けられる。 Illumina-HIseqやIon Torrent-Protonなどのシーケンサは、最初のカテゴリに分類されるが、PacBio-RS IIやNanopore-Minionは、長くてもノイズの多いシーケンスを提供するシーケンサの典型的な例である。
(1段落省略)
この論文では、我々(著者ら)はより長い塩基配列(300bp以上)のアライメントに関心がある。この領域の1つの一般的な設計は、リードからシード(小さな配列)を抽出し、シードについてリファレンスと正確にまたは非常に類似した配列をを見つけることである。抽出されたシードをいくつかの場所にアンカリングした後、ローカルアライメントアルゴリズムを使用して、ベストマッチを決定する。一般的に、利用可能なロングリードアライナーの共通テーマの1つは、すべてのリードを均等に扱うことである。ただし、このペーパーで示されているように、リピート領域由来リードとノンリピート領域由来リードを区別すると、アライメントスキームのパフォーマンスが大幅に向上する。実際、我々(著者ら)のアプローチと従来のアライナーとの間の主な違いは、固有のゲノム構造と、最初からリードの基礎となるstatisticsを活用することに焦点を当てることである。
高レベルの視点では、Meta-aligner は、アライメントとアサインの2つの異なるステージから構成されている。第1ステージは、従来のショートリードアライナーを用いてリードの小断片をリファレンスゲノムに迅速かつ正確に位置合わせするように設計されている。著者らの結果は、実際のゲノムの統計的性質のために、この段階で大量のリードが処理されることを明確に示している。残りのリードは比較的揃えにくいため、アサイン段階での追加の処理を適切に調整する必要がある。これらのリードは、残りのすべての小さな断片をアライメントさせることによって処理される。しかし、第2段階で処理されるリード数が比較的少ないので、第2段階の全体的な時間消費は第1段階よりも少ない。
Meta-alignerに関するツイート。
インストール
cent os6でテストした。
依存
本体はラボHPからダウンロードする。
http://brl.ce.sharif.edu/software/meta-aligner/
#コンパイル
g++ launcher.cpp -O2 -std=c++0x -o PE.out
g++ main.cpp Idea.cpp SamAnalyzer.cpp LocalAligner.cpp -pthread -O2 -std=c++11 -o meta-align.out
g++ Assignment.cpp Path.cpp LocalAligner.cpp -pthread -std=c++11 -O2 -o assignment.out
> ./meta-align.out -h
$ ./meta-align.out -h
*** Welcome to Meta-aligner ***
./meta-aligner [options]* -x <index name> -fa <ref name> -r <read name> -o [<hit>]
Main arguments:
============================
-x <index name>
The base name of the indexes. All indexes must exist with this name.
For Soap2 and mrsFast aligners, this name must be used without any suffix.
-fa <ref name>
The reference genome in FASTA format.
-r <read name>
The base name of the input read set (assumed to be in FastQ format).
-o <output name>
File to write outputs in SAM format (default is "output.sam").
============================
Options:
============================
Input option:
============================
-FA
This command is for Fasta input reads.
-pg
Percent of gap within the input read set which can be estimated by the PE algorithm.(default is 0.01).
============================
Alignment options:
============================
-al <int>
Flag for using different short-read aligners at the alignment stage. Flag values are: Bowtie 1 / mrsFast 2 / SOAP2 3 (default is 1 - Bowtie).
-l1 <int>
The subfragment length (l1) which can be estimated by the PE algorithm (default is 40).
-sl1 <int>
The length of sliding window which can be estimated by the PE algorithm (default is 0 with no sliding).
-cfd1 <int>
The consecutive distance between two anchored subfragments (g1) which is used for confirming two fragments of a read (default is 0.1*l1).
-d <int>
Edit distance between fragments and the reference genome which can be estimated by the PE algorithm. (default value is 2).
For Bowtie: this command works as -v (may be an integer from 0 through 3) and determines only number of mismatches.
For mrsFast: this command works as -e.
For Soap2: this command works as -v.
-tr <int>
Length of reads that are trimmed and only <int> bases of each read is used for anchoring and the remaining bases are used in the local alignment (default is not used).
============================
Assignment options:
============================
-l2 <int>
The subfragment length (l2) which is used at the 2nd step of the assignment stage (default is 150).
-sl2 <int>
The length of sliding window for the 2nd step of the assignment stage (default is 50).
-cfd2 <int>
The consecutive fragments distance which is used for confirming two fragments of a read and anchor it (g2) at the 2nd step of the assignment stage (default is 0.1*l2).
-seedmm2 <int>
Number of mismatches which is allowed in a seed alignment at the 2nd step of the assignment stage (default is 1).
-seedlen2 <int>
Length of the seed substrings to align at the 2nd step of the assignment stage (default is 20).
-ls1 <int>
List size of the assignment stage when Bowtie is used at the 1st step of the assignment stage (default is 10).
-ls2 <int>
List size of the assignment stage when Bowtie2 is used at the 2nd step of the assignment stage (default is 40).
-thrsc <double>
Threshold of path selection from their scores at the assignment stages (default is 0.3).
============================
Scoring options:
============================
-ms <double>
The match score.
-mp <double>
The mismatch penalty.
-gp <double>
The gap penalty.
============================
Reporting options:
============================
-dis
This option discards local alignment of the anchored reads. Reports are flags and positions of anchored reads.
-disHeader
This option suppresses the header of the output SAM file.
============================
Other options:
============================
-step <1 or 2 or 3>
This parameter specifies that Meta-aligner is run up to the selected step, in case of selecting "1": run only the alignment stage; "2": run the alignment stage and the 1st step of the assignment stage; "3": run all steps (default is "2").
-dir <address>
Meta-aligner creates a new directory at the input address, and all steps are executed at that address (default is "./results").
-p <int>
Number of threads (default value is 1).
-ed <double>
This parameter controls the normalized cutting length for the local alignment table. Only ed/2*(read_length) cells adjacent to the original diagonal of the local alignment table are used for local alignment procedure (between 0 and 2). This parameter can be estimated from indel rate by the PE algorithm (default is 5*pg).
-ram <double>
The available RAM. Meta-aligner runs without any restriction of RAM. If some reads cannot be processed by this value of RAM (even with one thread), Meta-aligner reports these reads in a file (named "NotEnoughRAM.txt") in Fastq format and their flags and the anchored positions are written in their header section by underline.
-h
Help.
——
ラン
1、bowtie indexの作成
bowtie2-build -f ref.fa genomeindex
2、マッピング。
./meta-align.out -x genomeindex -fa chr1.fa -r reads.fq -o output.sam -l1 25 -d 1 -sl1 10 -p 4 -ram 4
Core dumpedになる。 改善したら追記します。
引用
Meta-aligner: long-read alignment based on genome statistics
Damoon Nashta-ali, Ali Aliyari, Ahmad Ahmadian Moghadam†, Mohammad Amin Edrisi, Seyed Abolfazl Motahari and Babak Hossein Khalaj
BMC BioinformaticsBMC series – open, inclusive and trusted201718:126