[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
(続く)