pilon

 pilonは、アセンブル後のpolishingに用いるプログラムである。
 unicyclerの項目で用いたデータを用いて使用例を記載しておく。
 流れとしては、@作業環境の整備→Abwaによるmapping→Bpilonによるpolishingで、AとBを繰り返し行う。
 尚、bwasamtoolsについてはこちらを参照のこと。

作業環境の整備

(base) ~ % cd /Users/ocumbacteriology/Desktop/3D_bioinformatics/WD
(base) WD % mkdir pilon #pilonディレクトリを作成
(base) WD % cd pilon #作業ディレクトリをpilonに
(base) pilon % mkdir db mapping #dbディレクトリとmappingディレクトリを作成
(base) pilon % cd db #作業ディレクトリをdbに
(base) db % cp .../unicycler/output_/assembly.fasta . #assembly.fastaファイルをdb(現在のディレクトリを「.」で表現)にコピーする
(base) db % conda activate unicycler #仮想環境unicyclerを活性化
(base) ~ % cd /Users/ocumbacteriology/Desktop/3D_bioinformatics/WD #作業ディレクトリをWDに
(base) WD % mkdir unicycler #unicyclerディレクトリを作成
(base) WD % cd unicycler #作業ディレクトリをunicyclerに
(base) unicycler % conda activate unicycler #unicyclerという仮想環境を活性化(unicyclerも仮想環境にインストールしてある)

bwaによるmapping

LRSのマッピングを行う。

(unicycler) db % bwa index assembly.fasta #fastaファイルをインデックス化する
(unicycler) db % ls #index化の確認(db内のリストを表示)
assembly.fasta assembly.fasta.ann assembly.fasta.pac
assembly.fasta.amb assembly.fasta.bwt assembly.fasta.sa
(unicycler) db % cd ../mapping #作業ディレクトリをmappingに
(unicycler) mapping % bwa mem -t 20 ../db/assembly.fasta .../data/long_reads/Ac18_trimed.fq > LRS_out.sam
#bwa memを用いてlong reads fastqデータをインデックス化したfastaファイルにマッピング

samtoolsでLRSデータの操作を行う。

(unicycler) mapping % samtools view -@ 8 -bS LRS_out.sam > LRS_out.bam
(unicycler) mapping % samtools sort -@ 8 LRS_out.bam >LRS_sorted.bam
#作成したマッピングデータを使用できるように変換
(unicycler) mapping % samtools index LRS_sorted.bam #LRS_sorted.bamのインデックス化

SRSのマッピングを行う。

(unicycler) mapping % bwa mem -t 20 ../db/assembly.fasta .../data/short_reads/fastp_-t-T_-3_-5/out_pair1.fq .../data/short_reads/fastp_-t-T_-3_-5/out_pair2.fq > SRS_out.sam #bwa memを用いてshort reads fastqデータをインデックス化したfastaファイルにマッピング

samtoolsでSRSデータの操作を行う。

(unicycler) mapping % samtools view -@ 8 -bS SRS_out.sam > SRS_out.bam #samからbamに変換
(unicycler) mapping % samtools sort -@ 8 SRS_out.bam > SRS_sorted.bam #bamのデータをソート
(unicycler) mapping % samtools index SRS_sorted.bam #SRS_sorted.bamのインデックス化

pilonを用いたpolishing

 作成したsorted.bamファイルを用いてcontigをポリッシュする。この時、sorted.bamファイルが存在しているディレクトリにpilon-1.24.jarファイルが存在している必要がある
(unicycler) mapping % java -Xmx24G -jar pilon-1.24.jar --genome .../pilon/db/assembly.fasta --frags .../pilon/mapping/SRS_sorted.bam --nanopore .../pilon/mapping/LRS_sorted.bam --vcf --tracks --changes --verbose --threads 20 --outdir ../pilon1

pilonを用いたpolishing〜2回目以降

 作成したsorted.bamファイルを用いてcontigをポリッシュする。この時、sorted.bamファイルが存在しているディレクトリにpilon-1.24.jarファイルが存在している必要がある。

2回目のpilon用の作業環境を作成する。
(unicycler) mapping % cd ..  #作業ディレクトリを1つ上のディレクトリに
(unicycler) pilon % mkdir pilon2 #pilon2ディレクトリを作成
(unicycler) pilon % cd pilon2 #作業ディレクトリをpilon2に
(unicycler) pilon2 % mkdir db #dbディレクトリを作成
(unicycler) pilon2 % cd db #作業ディレクトリをdbに

1回目で作成したpilon.fastaを用いて2回目のpilonを行う。
(unicycler) db % cp .../pilon/pilon1/pilon.fasta . #前回作成したfastaファイル(pilon1内にある)を現在のディレクトリ(pilon2内のdb)にコピー
(unicycler) db % bwa index pilon.fasta #index化
(unicycler) db % cd .. #作業ディレクトリを1つ上のディレクトリに
(unicycler) pilon2 % bwa mem -t 20 ../pilon2/db/pilon.fasta .../data/long_reads/Ac18_trimed.fq > LRS_out.sam
long readのマッピング
(unicycler) pilon2 % samtools view -@ 8 -bS LRS_out.sam |samtools sort > LRS_sorted.bam
#|(パイプ)を用いてタンデムでsamtools viewとsamtools sortを実行
(unicycler) pilon2 % samtools index LRS_sorted.bam #LRS_sorted.bamのインデックス化
(unicycler) pilon2 % bwa mem -t 20 db/pilon.fasta .../data/short_reads/fastp_-t-T_-3_-5/out_pair1.fq .../data/short_reads/fastp_-t-T_-3_-5/out_pair2.fq > SRS_out.sam
short readのマッピング
(unicycler) pilon2 % samtools view -@ 8 -bS SRS_out.sam | samtools sort > SRS_sorted.bam #|(パイプ)を用いてタンデムでsamtools viewとsamtools sortを実行
(unicycler) pilon2 % samtools index SRS_sorted.bam #SRS_sorted.bamのインデックス化
(unicycler) mapping % java -Xmx24G -jar pilon-1.24.jar --genome .../pilon/pilon2/db/pilon.fasta --frags .../pilon/pilon2/SRS_sorted.bam --nanopore .../pilon/pilon2/LRS_sorted.bam --vcf --tracks --changes --verbose --threads 20 --outdir ../pilon2

[戻る]