シーケンシングリードからのゲノムの再構築は、デノボアセンブリによって達成でき、重複したリードが同定され、コンティグと呼ばれるより長い連続配列に拡張される。あるいは、highly closedなリファレンスゲノムが利用可能であれば、このゲノムに対してリードをマッピングでき、再構成はリードのコンセンサスに基づく。
マッピングベースのアプローチでは、BWA(Li&Durbin、2009)やBowtie2(Langmead&Salzberg、2012)などのプログラムを使用して、次世代シーケンシング(NGS)技術によって生成されたリードを既知リファレンスゲノムにマッピングする(Veeramah&Hammer、2014)。次いで、サンプルが十分なカバレッジ深度でシーケンスされたと仮定して、アライメントされたリードのコンセンサス配列を使用して、新たに配列決定されたサンプルのゲノム配列を生成する。これにより、短い挿入、欠失、一塩基変異(SNV)または一塩基多型(SNP)の迅速な同定が可能になる。マッピングプログラムは、通常、アラインメントクオリティに相当する各リードのアライメントスコアを計算する(Li、Ruan&Durbin、2008)。スコアは、リードが正しいゲノムポジションに置かれている確率を定量化する。低いマッピングクオリティのリードはコンタミや低いクオリティでシーケンスされたリードに由来しており、フィラタリングで除外できる(Smith、Xuan&Zhang、2008)。低クオリティのリードの他に、リピート領域へのマッピングも、ユニークなポジションにマッピングできない場合、低クオリティのスコアを生成する可能性がある。マッピングクオリティが低いリードのフィルタリングには、これらのリードも含まれる。このフィルタリングはancient DNA(aDNA)(Bos et al、2016)で行われることが多く、このようなサンプルの場合、それぞれの再構成ゲノムのリピート領域が一般に影響を受け、多くの未知(N)が生じる。また、デノボアセンブリアプローチは、リピート領域を再構成する際に問題があり、少なくともリード長よりもはるかに長いものがある(Simpson&Durbin、2012)。
しかしながら、リピート領域は多くのゲノムにおいて必須の役割を果たす(Shapiro&von Sternberg、2005)。数百から数千ものそのような領域が原核および真核染色体に存在する(Treangen et al、2009)。ヒトゲノムは、例えば、約50%がリピート領域からなる(International Human Genome Sequencing Consortium、2001)。バクテリアのタンデムリピート領域は、外膜タンパク質と関連しているようであり、病原体が宿主に適応するのを助けることを示唆している(Denoeud&Vergnaud、2004)(一部略)。
Illumina SLRプラットフォーム、PacBio、Oxford Nanoporeなどの新しいシーケンシング技術は、ほとんどの反復領域をカバーできるロングリードを作成することができる(Huddleston et al、2014)。しかし、これらの技術をDNAサンプルに適用することは必ずしも可能ではない。例えば、aDNAプロジェクトでは、DNAの平均抽出断片長は約44〜72塩基対である(Sawyer et al、2012)。 Illuminaのショートリード技術でも断片全体をシーケンスできるため、ロングリード技術でこれらの断片をシーケンシングしても情報は得られない。短いDNA断片はaDNAに限定されない。これらはまた、培養困難なT.pallidumのような配列にも現れる(Arora et al、2016 pubmed)。
ショートリードを使用してリピート領域をよりよく解決するために、研究者は最初に、マッピングの前に重複領域と低複雑領域をマスクする(Frith、Hamada&Horton、2010)。 1つの例は、マスクされたバージョンが既に利用可能なヒトリファレンスゲノムである(University of California Santa Cruz(UCSC)、2014)。マスクされたゲノムがない場合、RepeatMasker(Smitt、Hubley&Green、1996)のようなプログラムでリピート領域を特定し、マスクされたリファレンスを作成することができる。 RepeatMaskerは、既知のリピート領域のライブラリを使用し、入力シーケンスと比較する。これはゲノムのマスキングを可能にするが、リピート領域の新規同定は不可能である。
リピート領域を新しく識別できるプログラムの1つはVMatch(Kurtz、2003)である。それはリピート領域を特定するためにprefix配列(Weiner、1973)を使用する。 VMatchは、マスキングタスク(Assuncao et al。、2010)と同様に、繰り返し領域のアノテーション(例えば、Lindow&Krogh(2005))のために複数のゲノムプロジェクトに適用されている。もちろん、GalaxyのウェブツールであるRepeatExplorer(Novak et al、2013)やシーケンスリード基づくRepARK(Koch、Platzer&Downie、2014)のようなデノボの繰り返し検索プログラムもある。現在までユーザーがNGSデータからリピート同定とゲノムの再構成を組み合わせることができるツールは存在しない。
著者らのアプローチの一般的な考え方は、最初に、与えられたリファレンスゲノム中のすべてのリピート領域の新規同定から始まる。 NGSデータ中のリードは、同定されたすべてのリピート領域と同様に、リファレンスゲノムに対して個別にマッピングされ、再構成する。各試料の再構成ゲノムの塩基対分解能を高めるために、個々に再構成されたリピート領域を用いて、ゲノムの対応する再構築されたリピート領域を置換する。これらゲノム中のリピート領域の検出、特徴付けおよび再構成すべてのステップは、DACCORという全自動ツールで結びつけられる。
ワークフロー。論文より転載。
インストール
cent os6とmac os10.12でテストした。
本体 Github
https://github.com/Integrative-Transcriptomics/Daccor
git clone https://github.com/Integrative-Transcriptomics/Daccor.git
cd Daccor/Releases/
> java -jar DACCOR-1.0.0.jar
$ java -jar DACCOR-1.0.0.jar
Program: DACCOR
Version: 1.0.0
usage: Daccor <tool> <options>
--HELP--
Tool Description
identify Analyze a reference file and identify repetitive regions
reconstruct Reconstruct each region separately with EAGER
combine Combine the reconstructed regions with the reconstructed references
pipeline Pipeline from the identification of repetitive regions
to the combined reconstruction of the genome
--End of HELP--
> java -jar DACCOR-1.0.0.jar identify
$ java -jar DACCOR-1.0.0.jar identify
usage: [-g <arg>] [-h] -i <arg> [-k <arg>] [-m <arg>] [-M <arg>] -o <arg> [-p
<arg>] [-rl <arg>] [-S] [-t <arg>] [-v <arg>] [-ws]
--HELP--
-g,--gff <arg> Path of GFF file
-h,--help Prints options
-i,--input <arg> input filename, REQUIRED
-k,--kmersize <arg> size of initial kmer [readlength/2 OR 17]
-m,--mismatches <arg> number of mismatches allowed [0]
-M,--margin <arg> Margin around repeat to extract [0]
-o,--output <arg> output filename, REQUIRED
-p,--processes <arg> Number of threads per genome [1]
-rl,--readlength <arg> readlength [17]
-S,--separately Analyze each sequence separately [false]
-t,--threshold <arg> Min length of displayed results [readlength OR 51]
-v,--vmatch <arg> don't analyze but parse vmatch output
-ws,--writeSeparately write entries into separate files [false]
--End of HELP--
> java -jar DACCOR-1.0.0.jar reconstruct
$ java -jar DACCOR-1.0.0.jar reconstruct
usage: [-e <arg>] -f <arg> [-h] -i <arg> -o <arg> -r <arg>
--HELP--
-e,--eager <arg> config file for reconstructed samples already
reconstructed with EAGER
-f,--fastqs <arg> config file for fastq files, REQUIRED
-h,--help Prints options
-i,--input <arg> input filename (reference), REQUIRED
-o,--output <arg> output folder, REQUIRED
-r,--repeats <arg> config file for repeat input files, REQUIRED
--End of HELP--
>java -jar DACCOR-1.0.0.jar combine
$ java -jar DACCOR-1.0.0.jar combine
usage: -g <arg> [-h] -o <arg> -r <arg>
--HELP--
-g,--genomes <arg> config file for reconstructed genomes, REQUIRED
-h,--help Prints options
-o,--output <arg> output folder, REQUIRED
-r,--repeats <arg> config file for reconstructed repeats, REQUIRED
--End of HELP--
ラン
1、Identify repeats de novo
リファレンスゲノムGCF_000008605.1_ASM860v1_genomic.fnaのリピートをde novo検出する(examples/data/identify/GCF_000008605.1_ASM860v1_genomic.fna)。
java -jar DACCOR-1.0.0.jar identify -i GCF_000008605.1_ASM860v1_genomic.fna -k 31 -m 5 -o Nichols_repeats -p 10R -t 101
> head Nichols_repeats_k31_Mis5_Thres101.bed
$ head Nichols_repeats_k31_Mis5_Thres101.bed
NC_000919.1 134890 136735 repeat_0 0 +
NC_000919.1 135149 135365 repeat_1 0 +
NC_000919.1 151090 152935 repeat_0 0 +
NC_000919.1 151349 151565 repeat_1 0 +
NC_000919.1 229895 230295 repeat_2 0 +
NC_000919.1 230294 231763 repeat_3 0 +
NC_000919.1 231827 235110 repeat_4 0 +
NC_000919.1 278328 278728 repeat_2 0 +
NC_000919.1 278728 280197 repeat_3 0 +
NC_000919.1 280271 283554 repeat_4 0 +
> head -n 15 Nichols_repeats_k31_Mis5_Thres101_Summary.csv |column -t
$ head -n 15 Nichols_repeats_k31_Mis5_Thres101_Summary.csv |column -t
>NC_000919.1 Treponema pallidum subsp. pallidum str. Nichols complete genome
category value
Total number of repetitive regions 23
Total number of different repetitive regions 11
Minimum length 115
Maximum length 3283
Average length 965
Number of repetitive regions containing mutations 2
Number of repetitive regions also contained in other sequences 0
fastaName repeatName startindex endIndex length number mismatches indices of mismatches
NC_000919.1Treponemapallidumsubsp.pallidumstr.Nicholscompletegenome_pos_[134890,151090]_length_1845 repeat_0 134890 136735 1845 0
NC_000919.1Treponemapallidumsubsp.pallidumstr.Nicholscompletegenome_pos_[135149,151349,671306]_length_216 repeat_1 135149 135365 216 0
NC_000919.1Treponemapallidumsubsp.pallidumstr.Nicholscompletegenome_pos_[134890,151090]_length_1845 repeat_0 151090 152935 1845 0
NC_000919.1Treponemapallidumsubsp.pallidumstr.Nicholscompletegenome_pos_[135149,151349,671306]_length_216 repeat_1 151349 151565 216 0
NC_000919.1Treponemapallidumsubsp.pallidumstr.Nicholscompletegenome_pos_[229895,278328]_length_400 repeat_2 229895 230295 400 0
——
2、Reconstruct identified repetitive regions individually
スクリプト中のfastq-dumpのパスを修正してからランする。
./runReconstructExample.sh
以下のような実行内容になっている。
> cat runReconstructExample.sh
$ cat runReconstructExample.sh
#!/bin/sh
# location of the fastq-dump program from the SRA toolkit(https://www.ncbi.nlm.nih.gov/sra/docs/toolkitsoft/)
fastqdump=/usr/local/bin/fastq-dump
# download the syphilis sample SRR3584843
echo "downloading fastq files"
if ! -f data/SRR3584843_R1.fastq.gz || ! -f data/SRR3584843_R2.fastq.gz ; then
$fastqdump --gzip -O data --split-3 SRR3584843
mv data/SRR3584843_1.fastq.gz data/SRR3584843_R1.fastq.gz
mv data/SRR3584843_2.fastq.gz data/SRR3584843_R2.fastq.gz
fi
# setting the variables
genome=../examples/data/identify/GCF_000008605.1_ASM860v1_genomic.fna
fqConfig=../examples/data/exampleFQConfig.txt
outPrefix=SRR3584843
repeatConfig=../examples/data/exampleRepeatConfig.txt
echo "starting reconstruction"
java -jar Daccor-0.0.1.jar reconstruct -f $fqConfig -i $genome -o $outPrefix -r $repeatConfig
前半はfastqの調達作業。中盤は変数やパス定義。最終的に実行しているのは以下のコマンドになる。
java -jar Daccor-0.0.1.jar reconstruct -f exampleFQConfig.txt -i GCF_000008605.1_ASM860v1_genomic.fna-o SRR3584843 -r exampleRepeatConfig.txt
mapping base assembly toolのeagerの読み込みでエラーになる。修正できたら追記します。
3、Combine reconstructed sequences with reconstructed genome
./runCombineExample.sh
引用
DACCOR-Detection, characterization, and reconstruction of repetitive regions in bacterial genomes
Seitz A, Hanssen F, Nieselt K
PeerJ. 2018 May 29;6:e4742.