idepのinputとして発現量テーブル(gene × sample)をexperiment matrixから自動でつくる。salmonを用いる。
ikraのtximport_R.R
にサンプルを取り違えうる重大なバグが見つかり、修正しました。最新版に更新してお使いください。古いバージョンを使われていた方は、中間ファイルは問題ありませんので、output.tsv
およびexperiment matrixと同じディレクトリにコピーされているtximport_R.R
を削除し、もう一度新しいikra.shを実行してください。大変ご迷惑をおかけいたしました。
Usage: ikra.sh experiment_table.csv species \
[--test, --fastq, --help, --without-docker, --udocker --protein-coding] \
[--threads [VALUE]][--output [VALUE]]\
[--suffix_PE_1 [VALUE]][--suffix_PE_2 [VALUE]]
args
1.experiment matrix(csv)
2.reference(human or mouse)
Options:
--test test mode(MAX_SPOT_ID=100000).(dafault : False)
--fastq use fastq files instead of SRRid. The extension must be foo.fastq.gz (default : False)
-u, --udocker
-w, --without-docker
-pc, --protein-coding use protein coding transcripts instead of comprehensive transcripts.
-t, --threads
-o, --output output file. (default : output.tsv)
-s1, --suffix_PE_1 suffix for PE fastq files. (default : _1.fastq.gz)
-s2, --suffix_PE_2 suffix for PE fastq files. (default : _2.fastq.gz)
-h, --help Show usage.
-v, --version Show version.
- test optionは各サンプルにおいてリード数を100000に限定する。
- udocker modeはUser権限しか使えないサーバー環境用。詳しくはhttps://github.com/indigo-dc/udocker。
- without-docker modeはすべてのツールをインストールした状態で動く。非推奨。
- protein-coding modeはgenesをprotein coding genesのみに限定する。
- threads
- outputはデフォルトでは
output.tsv
。
experiment matrixはカンマ区切りで(csv形式)。
SRR mode
name | SRR | Layout | condition1 | ... |
---|---|---|---|---|
Treg_LN_1 | SRR5385247 | SE | Treg | ... |
Treg_LN_2 | SRR5385248 | SE | Treg | ... |
fastq mode
name | fastq(PREFIX) | Layout | condition1 | ... |
---|---|---|---|---|
Treg_LN_1 | hoge/SRR5385247 | SE | Treg | ... |
Treg_LN_2 | hoge/SRR5385248 | SE | Treg | ... |
-
nameはアンダーバー区切りでcondition、replicateをつなげて書く。
-
前3列は必須。
-
自前のfastq fileを使いたいときは
--fastq
をつける。拡張子は.fq
,.fq.gz
,.fastq
,fastq.gz
のみに対応。 -
fastq fileは
fastq.gz
もしくは_1.fastq.gz
,_2.fastq.gz
を除いたpathを。例えばhoge/SRR5385247.fastq.gz
ならhoge/SRR5385247
と記載。 -
suffixが
_1.fastq.gz
,_2.fastq.gz
ではない場合は-s1, -s2オプションをつける。 -
../fq/**.fastq.gz
など、実行ディレクトリより上の階層を指定することはdockerの都合上不可能だが、symbolic linkを貼ることで回避できる。 bonohu blog -
Illumina用 : trimmomatic -> trim_galoreに切り替えた。
-
Ion S5用: SEしか無い。trimmomaticではなくfastx-toolsを使う。adapterはNoneを入れておく。(test : DRP003376)
-
output.tsv(scaledTPM)
-
multiqc_report.html salmonのマッピング率(トランスクリプトに対するマッピング率)
- outputはscaledTPM (see. Soneson, C., Love, M. I. & Robinson, M. D. Differential analyses for RNA-seq: transcript-level estimates improve gene-level inferences. F1000Research 4, 1521 (2015).)。
- GCbiasについて、salmonで
--gcBias
を追加した。GCbiasのRNAseqにおける影響に関してはMike Love's blog : RNA-seq fragment sequence bias。 - validateMappings optionを採用。(alignment-base modeでは使えない。)詳しくはsalmon Frequently Asked Questions。
ikraのtximport_R.R
にサンプルを取り違えうる重大なバグが見つかり、修正しました。必ずv1.1.1以降に更新してお使いください。古いバージョンを使われていた方は、中間ファイルは問題ありませんので、output.tsv
を削除し、もう一度新しいikra.shを実行してください。大変ご迷惑をおかけいたしました。
dockerかudocker(v1.1.3)をインストール済みであること。
もしくはどちらも使いたくない場合は、すべてのソフトを手動でインストールして、--without-docker
を用いる。
shell scriptなのでcloneするだけ。
$ git clone https://github.com/yyoshiaki/ikra.git
SRR mode
$ cd test/Illumina_SE && bash ../../ikra.sh Illumina_SE_SRR.csv mouse --test -t 10
fastq mode
SRR modeを実行したあとしかできない。(fastqはつけていないから。)
$ cd test/Illumina_SE && bash ../../ikra.sh Illumina_SE_fastq.csv mouse --fastq -t 10
SRR mode
$ cd test/Illumina_PE && bash ../../ikra.sh Illumina_PE_SRR.csv mouse --test -t 10
fastq mode
SRR modeを実行したあとしかできない。(fastqはつけていないから。)
$ cd test/Illumina_PE && bash ../../ikra.sh Illumina_PE_fastq.csv mouse --fastq -t 10
書きを実行できてからcommitすべし。
$ cd test && bash test.sh
$ cd test/Ion && bash ../../ikra_Ion_SRR.sh Ion_SRR.csv mouse
salmonがmacで走らない問題だが、DBCLS大田さんに解決していただいた。macではdefaultで2Gbしかメモリをdockerに振っていないことが原因らしい。写真のように、8Gb等大きめのメモリ量を割り振って、Apply & Restartすると解決する。
SRRデータを探している場合はhttp://sra.dbcls.jp/が爆速でおすすめ。
今後、ikra使用者から受け付けた質問への回答はこちらで公開してまいります。
- output.tsvをiDEPに読み込ませる場合は、Read counts dataにチェックを入れてください。
- mouseのリファレンスはgencode.vM21で、GRCm38に対応しております。
issueを参照のこと。
詳しくはRelasesを参照。
- udockerの対応
- 生物種の判別(アナログ)
- gtf, transcript file をGENCODEから
- salmon
- trimmomatic(legacy)
- trim_galore!
- tximport
- fastxtools(Ion用)
- fastqかSRRの判別(マニュアル)
- salmon gcbias correctionの導入
- salomn validateMappings
- pigz(gzipのマルチスレッド版)
- fasterq-dump
- cwl開発少しだけ
- 名前の変更(ikra)
- protein coding option
trimmomaticを使ったトリミングを用いたフローは./legacy
に移動しました。
今はまだ完成とは言えないので各自
"development" branchの中 でFork -> Pull Request。直接masterは変えない。
2019/03/22 https://youtu.be/weJrq5QNt1M cwl作者のMichaelさんの来日配信に合わせてやってみた。 とりあえずPEでtrim_galoreとsalmonをcwl化した。
cd test/cwl_PE && bash test.sh