macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

DACCOR

 

 シーケンシングリードからのゲノムの再構築は、デノボアセンブリによって達成でき、重複したリードが同定され、コンティグと呼ばれるより長い連続配列に拡張される。あるいは、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という全自動ツールで結びつけられる。

 

f:id:kazumaxneo:20180615213456j:plain

ワークフロー。論文より転載。

  

インストール

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

#if ! -f  のところは存在すれば真(参考)。

前半は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.