2021 7/26 link追加、タイトル変更
ロングリードシーケンシング技術は長い連続性を持つゲノムを生成できるが、エラー率が高くなる。 そこで、長いリードでアセンブリされたゲノムの配列エラーを効率的に修正するツールであるNextPolishを開発した。 この新しいツールは、高品質のショートリードからK-merをスコアリングおよびカウントし、多数のベースエラーを含むゲノムアセンブリを洗練するように設計された2つの相互リンクモジュールで構成されている。NextPolishは、ヒトおよび植物(Arabidopsis thaliana)のゲノムを使用して速度と効率を評価すると、シーケンスエラーをより速く、より高い修正精度で修正することでPilonよりも優れていた。NextPolishはCおよびPythonで実装されている。 ソースコードはhttps://github.com/Nextomics/NextPolishから入手できる。
約15〜10%のシーケンスエラーの生の第3世代シーケンス(TGS)ロングリードを修正するにはNextDenovoを使用する。
Documentation
インストール
ubuntu18.04LTSにて、python2の環境を作ってテストした。
依存
- Python 2.7
- Psutil
- Drmaa (Only required by running under non-local system)
- time (apt install time)
本体 Github
#python2環境に入れる。condaを使っているなら
conda create -y -n python2 python=2.7
conda activate python2
conda install -c anaconda psutil drmaa
#本体
wget https://github.com/Nextomics/NextPolish/releases/download/v1.1.0/NextPolish.tgz
tar -vxzf NextPolish.tgz
cd NextPolish
make -j
> ./nextPolish -h
# ./nextPolish -h
usage: nextPolish [-l FILE] [-v] [-h]
nextDenovo:
Fast and accurately polish the genome generated by noisy long reads
exmples:
nextPolish run.cfg
optional arguments:
-l FILE, --log FILE log file (default: log.info)
-v, --version show program's version number and exit
-h, --help please use the config file to pass parameters
テストラン
nextPolish test_data/run.cfg
[INFO] 2020-03-01 13:34:35,457 merge_bam done
[INFO] 2020-03-01 13:34:35,467 analysis tasks done
[INFO] 2020-03-01 13:34:35,477 total jobs: 2
[INFO] 2020-03-01 13:34:35,478 Throw jobID:[1737] jobCmd:[/data/NextPolish/test_data/01_rundir/02.kmer_count/05.polish.ref.sh.work/polish_genome0/nextPolish.sh] in the local_cycle.
[INFO] 2020-03-01 13:34:35,982 Throw jobID:[1750] jobCmd:[/data/NextPolish/test_data/01_rundir/02.kmer_count/05.polish.ref.sh.work/polish_genome1/nextPolish.sh] in the local_cycle.
[INFO] 2020-03-01 13:34:36,995 polish_genome done
[INFO] 2020-03-01 13:34:36,996 nextPolish has finished, and final polished genome files:
[INFO] 2020-03-01 13:34:36,996 /data/NextPolish/test_data/./01_rundir/02.kmer_count/*polish.ref.sh.work/polish_genome*/genome.nextpolish.part*.fasta
実行方法
#Prepare sgs_fofn、2つ分のペアエンドfastqがあるなら
ls reads1_R1.fq reads1_R2.fq reads2_R1.fq reads2_R2.fq > sgs.fofn
#Create run.cfg
genome=input.genome.fa
echo -e "task = 1212\ngenome = $genome\nsgs_fofn = sgs.fofn" > run.cfg
#Run
nextPolish run.cfg
#Finally polished genome
cat 03.kmer_count/*polish.ref.sh.work/polish_genome*/genome.nextpolish.part*.fasta > input.genome.nextpolish.v2.fa
チュートリアルでは、ショートリードだけ、ロングリードだけ、ショート・ロング両方を使ったdraft assemblyのpolishing手順が説明されています。
https://nextpolish.readthedocs.io/en/latest/TUTORIAL.html#polishing-using-long-reads-only
引用
NextPolish: a fast and efficient genome polishing tool for long read assembly
Hu J, Fan J, Sun Z, Liu S
Bioinformatics. 2019 Nov 28. pii: btz891
2021
こちらの論文でナノポアのリードの修正に使われています。
https://www.nature.com/articles/s41438-020-00455-1