プロトコル

[bioinfo]RepeatScoutで新規ゲノム中のリピート領域を同定する

新しいゲノム配列にアノテーションを付けるため、まずはゲノム中に散在するリピート領域をマスクすることにしたのだが、RepBaseが有料であるし、Dfamは両生類に特化したデータはないようなので、まずはどんなものがあるのかを知る上でもRepeatScoutを利用してリピート領域を同定してみることにした。

RepeatScout
http://bix.ucsd.edu/repeatscout/
https://github.com/mmcco/RepeatScout
更新はだいぶ前に止まっている様子。web上ではver1.0.5が最新となっているが、condaでインストールすると1.0.6が入る。
他にもTandem Repeat Finderやnsegも必要になるので、同様にインストールしておく。

上坂さんの記事を参考にした。
インストールは上記のようにconda一択。

conda install -c bioconda repeatscout

染色体レベルまでアセンブルが進んでいる場合は、染色体1本を精査すればOKらしいのだが、ひとまずゲノム全体でやってみることにした。ところが、RepeatScoutのスクリプト”build_lmer_table”は大きなファイルには対応できないらしく、memory allocation errorが出る。そのため、まず、seqkitでゲノムのfastaを10個ぐらいに切り分けて、そのあとにbuild_lmer_tableを行った。

seqkit split -p 10 genome.fasta
for i in 001 002 003 004 005 006 007 008 009 010 ; do build_lmer_table -l 14 -sequence genome.fasta.split/genome.part.$i.fasta -freq lmer_table$i ; done

RepeatScoutでリピートテーブルからFASTAを生成する。

for i in 001 002 003 004 005 006 007 008 009 010 ; do RepeatScout -sequence genome.fasta.split/genome.part.$i.fasta -output out_repeats$i.fasta -freq lmer_table$i -l 14 ; done

filter-stage-1.prlを使って、単純リピートと繰り返し数10以下のリピートを排除する。

for i in 001 002 003 004 005 006 007 008 009 010 ; do cat out_repeats$i.fasta | filter-stage-1.prl > repeats_filtered_stg1_$i.fasta ; done

RepeatMaskerでフィルタリングされた領域を分析しながら、規程回数(3回以上)登場しなかったリピートを排除する。このとき、fastaのIDが50文字以上だと動かないのでsedなどで短くする。

RepeatMasker -pa 20 -s -lib repeats_filtered_stg1.fasta genome.fasta & cat repeats_filtered_stg1.fasta | filter-stage-2.prl --cat=final_assembly.fasta.out --thresh=3 > repeats_filtered_stg2.fasta

(続く)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です