canu
canuはPacBioやnanoporeなどのlong read sequence用のアセンブラとして開発された。
使用例を、以下に示す。尚、下準備として、作業環境の整備とトリミングが必要となる。
作業環境の整備
ディレクトリ(フォルダ)の作成とデータフォルダの移動
(base) ~ % cd desktop #作業ディレクトリをdesktopに
(base) desktop % mkdir 3D_bioinformatics #desktopに3D_bioinfomaticsというディレクトリを作成
(base) desktop % cd 3D_bioinformatics #作業ディレクトリを3D_bioinfomaticsに
(base) 3D_bioinformatics % mkdir WD DATA OUT #3D_bioinfomaticsにWD DATA OUTという3つのディレクトリを作成
(base) 3D_bioinformatics % ls #3D_bioinfomaticsの中身(リスト)を表示
DATA OUT WD # 作成した3つのディレクトリが表示される
(base) 3D_bioinformatics % cd DATA #作業ディレクトリをDATAに
(base) DATA % mkdir short_reads long_reads #DATAに2つのディレクトリを作成
(base) DATA % ls #DATAの中身を表示
long_reads short_reads #作成した2つのディレクトリが表示される
(base) DATA % cd long_reads #作業ディレクトリをlong_readsに
(base) long_reads % mv /xxx/xxx/xxx/long .
#LRSデータのあるディレクトリを現在のディレクトリ内に移動
(base) long_reads % cd ../short_reads #作業ディレクトリを../short_readsに
(base) short_reads % mv /xxx/xxx/xxx/short .
#SRSデータのあるディレクトリを現在のディレクトリ内に移動
- (base)は、base環境にいることを示す。
- ~ % はホームディレクトリにいることを示す。
- %よりも右側が入力するコマンドになる。
- #がついている部分は、その行の説明である。
- unicyclerでのハイブリッドアセンブリのためにshort read sequenceのための作業環境の整備を兼ねている。
ディレクトリ(フォルダ)の作成とデータフォルダの移動
(base) ~ % cd Desktop/3D_bioinformatics/WD #作業ディレクトリをWDに
(base) WD % mkdir data #dataディレクトリを作成
(base) WD % cd data #作業ディレクトリをdataに
(base) data % mkdir long_reads #data内にlong_readsディレクトリを作成
(base) data % cd long_reads #作業ディレクトリをlong_readsに
(base) long_reads % cat /xxx/xxx/xxx/fastq_pass/AGD454_pass_637b5972_*.fastq | gzip > all_passed_reads.fastq.gz #fastq_passディレクトリ内の複数ファイルを結合後、gzipで圧縮
(base) long_reads % ls #long_readsの中身を表示
all_passed_reads.fastq.gz #作成されたファイルが表示される
(base) long_reads % seqstats all_passed_reads.fastq
# seqstatsを用いてファイルの状況を確認(seqstatsがインストールされていない場合 conda install -c Bioconda seqstats で事前にインストール)
- catコマンドで複数ファイル(*はワイルドカード)を結合する場合は、以下のように用いる。
cat path/XXX_*.fastq > out_put.fastq.gz
- |(パイプ)はタンデムに行うコマンドを1行に記述するときに使う目印である。
nanoQCによるquality checkとfiltlongによるトリミング
(base) long_reads % conda activate nanoQC #仮想環境nanoQCの活性化
(nanoQC) long_reads % nanoQC all_passed_reads.fastq -o out_dir_long #nanoQCによるトリミング前のデータのクオリティチェック
(nanoQC) long_reads % conda deactivate #仮想環境の非活性化(nanoQCからbaseに戻る)
(base) long_reads % filtlong --min_length 1000 --keep_percent 90 all_passed_reads.fastq | gzip - > Ac18_trimed.fq.gz #filtlongを用いて.fqをトリミングさらにパイプで繋ぎgzipで圧縮
(base) long_reads % seqstats Ac18_trimed.fq.gz #seqstatsを用いてoutputファイルの状況を確認
(base) long_reads % conda activate nanoQC #仮想環境nanoQCを活性化
(nanoQC) long_reads % nanoQC Ac18_trimed.fq -o out_dir_trimed_long #トリミングしたデータをnanoQCでクオリティチェック
(nanoQC) long_reads % conda deactivate #仮想環境を非活性化
- 仮想環境が事前にできていることを前提としているので、仮想環境が作成されていない場合には、nanoQCを仮想環境内にインストールしておく必要がある(下記参照)
- nanoQCという仮想環境の中でnanoQCを動かす場合には、以下のように記述する。
nanoQC input.fq -o out_dir (インプットするファイル事前に結合したファイルを用いるが、アウトプットとなるディレクトリ名は任意に決めることができる)
- nanoQCは.gzファイルのままでは読み込めないので、事前に解凍しておく。
- --min_length number: 今回のデータはlong readなので1 kbp以下のリードは必要ないと考え1000 bpに設定
- --keep_percent number (%) :90%の場合、クオリティーの低いものから10%のリードの塩基を捨てる。
canuによるアセンブリ
(base) ~ % cd Desktop/3D_bioinformatics/WD #作業ディレクトリをWDに
(base) WD % cd mkdir canu #canuディレクトリを作成
(base) WD % cd Desktop/3D_bioinformatics/WD/canu #canuディレクトリを作成
(base) canu % canu -p Ac18 -d canu_out genomeSize=4.5m -nanopore ../data/long_reads/Ac18_trimed.fq
#canuを用いて先ほどトリミングしたreadをアセンブリ
- -p: ファイルの接頭語
- -d: ディレクトリ
- genomeSize: おおよそのゲノムサイズを入力
- -nanopore: nanoporeのデータであることを知らせる。
参考:仮想環境の作成
通常のプログラムが動く環境は、root内にあり(base)と呼ばれる。仮想環境は、baseと並列して作成することができ、名称も任意に決めることが可能である。例えば、今回仮想環境中にインストールするnanoQCは、分かりやすいようにnanoQCという仮想環境中にインストールするが、1や2という名称の仮想環境にすることも可能である。
仮想環境の作り方とプログラムのインストール
例 nanoQCという仮想環境にnanoQCをインストールする場合
(base) ~ % conda create -n nanoQC #nanoQCという仮想環境を作成
(base) ~ % conda activate nanoQC #nanoQCという仮想環境を活性化(仮想環境内に入る)
(nanoQC) ~ % conda install -c bioconda nanoQC #仮想環境にnanoQCというプログラムをインストール
(nanoQC) ~ % conda deactivate #仮想環境を非活性化(仮想環境から抜け出す)
(base) ~ %
関連項目 アセンブリ 仮想環境 unicycler