HISAT2 by CWL
CWL使ってHISAT2
約1年前にも似たようなことしていた(作成したCWL ツール・ワークフローを実際に動かしてみた)が、HISAT2をインストールしてない新しい環境で動かす必要が出てきて。
Common Workflow Language(CWL)に関しては、上述の過去のブログや次世代シークエンサーDRY解析教本 改訂第2版のLevel2の一番最後(p331-338)の付録「CWLがあれば、DRY解析はもう怖くない」などを参照。
まず、HISAT2用のindexを作成する必要がある。
もっともメジャーな生物だとすでにindexを直接ダウンロードできたりするが、いつもそうであるとは限らない。
FASTA形式のゲノム配列ファイルをゲットしてそれに対してindexを作成する。
幸い、pitagora-networkプロジェクトでHISAT2のCWLを作成し公開してくれているので、それをgit clone
してありがたく利用させていただく。
% git clone https://github.com/pitagora-network/pitagora-cwl
そして、コマンドラインツールとしてHISAT2のINDEX作成。
% cwltool pitagora-cwl/tools/hisat2/index/hisat2_index.cwl \
--index_basename org1 --reference_fasta organism1.fa
無事、indexができたので、先日のlive codingで作成していただいたrepoをgit clone
してくる。
そして、それをつかってHISAT2のmappingを実行する。
#!/bin/sh
SRRS=(SRRxxxxxxx SRRxxxxxxx SRRxxxxxxx)
for SRR in ${SRRS[@]}; do
cwltool pitagora-cwl/tools/hisat2/mapping/paired_end/hisat2_mapping_pe.cwl \
--fq1 $SRR.sra_1_val_1.fq.gz \
--fq2 $SRR.sra_2_val_2.fq.gz \
--hisat2_idx_basename org1 --hisat2_idx_basedir \
/Users/bono/hisat2_idx --nthreads 28 \
--out_sam_name $SRR.sam
done
という具合に。