Running kallisto via CWL
Common Workflow Language(CWL)を使ってkallistoを実行する
このエントリは、Shizuoka.ngs#2で行われたワークショップの上級者用コンテンツです。
「生命科学データ解析を支える情報技術」の 「第2章 解析環境の構築」の 「2.8 遺伝子発現データ解析の実際」にあるkallistoを実行する手順をCommon Workflow Language (CWL)を使って動かしてみよう。
実行に必要な配列セット(1. queryの配列(FASTQ形式)、2. 検索対象のtranscriptome配列セット(FASTA形式))はすでにあるものとする。 ここでは例として以下の配列セットを用いる。
- 「生命科学データ解析を支える情報技術」p48にある
SRR7300567
(タモキシフェン投与したMCF-7細胞株) - transcriptome配列セットとしては(上記のMCF-7はヒト由来の細胞株であるので)EnsemblのhumanのTranscript sequences
ftp://ftp.ensembl.org/pub/release-96/fasta/homo_sapiens/cdna/Homo_sapiens.GRCh38.cdna.all.fa.gz
これらの2種類のデータをあらかじめダウンロードして用意しておく。
各種install
Install freeとはいえ、DockerとCWLを動かすためのcwltoolは前もってインストールしておく必要がある。
Docker
Docker Desktop for Macをインストール。
インストールできたら、設定を変更してメモリの割り当てを増やしておく。
cwltool
manabuishiirbさんによるqiitaの記事を参考に。
#! /bin/sh
# pipによるcwltoolのinstall
pip install cwltool
なお、conda
でもcwltool
が入る模様。
pitagora-networkのpitagora-cwlをgit clone
#! /bin/sh
# downloadするためのdirectoryに移動
cd ~/Downloads
# pitagora-cwlをgit clone
git clone https://github.com/pitagora-network/pitagora-cwl
RNA-seqデータ解析
上で準備したツールを用いて、RNA-seqデータ解析。
SRAをFASTQに変換
まずは、データの加工から。
SRAのRUNのファイル(通称:SRAファイル)は、~/Downloads/
にあるものとする。以下の例
#! /bin/sh
# 作業するためのdirectoryに移動
cd ~/Downloads
# pitagora-cwlを使ってfasterq-dumpを手元のマシンにインストールすることなく実行
cwltool pitagora-cwl/tools/fasterq-dump/fasterq-dump.cwl \
--srafile SRR7300567.sra
# pigzで生成されたFASTQファイルを圧縮
pigz SRR7300567.sra*.fastq
pigz
(並列版gzip
)がインストールされていない場合は、この際入れておく。
#! /bin/sh
# condaでpigzをinstall
conda install pigz
fasterq-dump
を使うとデータの種類(paired-end(PE) or single-end(SE))は自動認識のため、この変換の際に指定しないですむ。
しかしながらこの後の計算に使うCWLのファイルが異なってくるため、ここで生成されたファイルを見てどちらだったかを把握しておく必要がある。
トリミングと呼ばれるQualityが低いところを削る作業をこのタイミングでする。
kallisto index作成
#! /bin/sh
# 作業するためのdirectoryに移動
cd ~/Downloads
# pitagora-cwlを使ってkallistoを手元のマシンにインストールすることなく実行
cwltool pitagora-cwl/tools/kallisto/index/kallisto_index.cwl \
--fasta_files Homo_sapiens.GRCh38.cdna.all.fa.gz \
--index_name Human
エラーなく終了し、current directoryにHuman
という名前の、サイズの巨大なファイルができていれば実行はうまくいっている。
#! /bin/sh
# 出力結果の確認
ls -l Human
kallisto quant実行(paired-end)
#! /bin/sh
# 作業するためのdirectoryに移動
cd ~/Downloads
# pitagora-cwlを使ってkallistoを手元のマシンにインストールすることなく実行
cwltool pitagora-cwl/tools/kallisto/quant/paired_end/kallisto_quant_pe.cwl \
--index_file Human \
--fq1 SRR7300567.sra_1.fastq.gz \
--fq2 SRR7300567.sra_2.fastq.gz \
--nthreads 2 \
--bootstrap_samples 100 \
--out_dir_name kallisto_output_SRR7300567
current directoryにkallisto_output_SRR7300567
ができて、その中にabundance.tsv
ファイルに定量結果があればうまく実行できている。
#! /bin/sh
# 出力結果の確認
ls -l kallisto_output_SRR7300567
less -x 18 kallisto_output_SRR7300567/abundance.tsv
早く終わってしまった人へ
DRR100656
(低酸素状態のCell line, RCC4-EV)DRR100657
(低酸素状態をレスキューしたサンプル、RCC4-VHL)
で同じ計算をやってみよう。 配列の取得はDBCLS SRAから可能。