nf-core on macos
久しぶりにnextflowをやっていきます
これを使いたい
マシンにnfが入っていなかったのでインスコ
その前にjavaすら入っていなかったのでインスコ
brew install java11
sotfware update をしろと怒られる
Docker でばかり仕事をしているとnativeにマジで何も入っていない
nfはすんなり入る、ありがたい
まずはテストを通す
nextflow run nf-core/chipseq -profile test,docker
brew の java の場所を export JAVA_HOME=/usr/local/opt/openjdk@11 で教えないとだめ
無事に通るが graphviz がないと言って怒られるので brew install graphviz しとく
次に自前のデータをやる
encode のデータを食わせます
データは予め download-fastq で取っておく
design.csv をいじる
ログを見るとここからテスト用のものを取っているぽいのでこれをいじる
csvをCLIでいじるときは visidata vd が便利
カーソル移動してセルの中身を zd で削除
e で edit
edit 完了したら Ctl+S で save
便利すぎる
Andiamo!!
nextflow run nf-core/chipseq -profile docker --input job/encode.design.csv --genome GRCh38
AWS credential がどうのと言われてコケる
.aws/credentials の default キーを使って AWS 上に置いてある igenome のリファレンスを取りに行く仕様らしい
defaultの鍵がexpireしてたっぽいのでvalidなキーに書き換えておく
拡張子が違うと言ってコケる
ERROR: Please check design file: FastQ file has incorrect extension (has to be '.fastq.gz' or 'fq.gz')
gzipで固めておかなければいけないらしい
ls *fastq | xargs gzip してから design.csv の中身を編集
死んだ
code:nextflow.log
executor > local (3)
f0/76fdbc process > CHECK_DESIGN (encode.design.csv) 100% 1 of 1 ✔ executor > local (3)
f0/76fdbc process > CHECK_DESIGN (encode.design.csv) 100% 1 of 1 ✔ process > MAKE_GENOME_FILTER -
process > FASTQC -
process > TRIMGALORE -
process > BWA_MEM -
process > SORT_BAM -
process > MERGED_BAM -
process > MERGED_BAM_FILTER -
process > MERGED_BAM_REMOVE_ORPHAN -
process > PRESEQ -
process > PICARD_METRICS -
process > BIGWIG -
process > PLOTPROFILE -
process > PHANTOMPEAKQUALTOOLS -
process > PLOTFINGERPRINT -
process > MACS2 -
process > MACS2_ANNOTATE -
process > MACS2_QC -
process > CONSENSUS_PEAKS -
process > CONSENSUS_PEAKS_ANNOTATE -
process > CONSENSUS_PEAKS_COUNTS -
process > CONSENSUS_PEAKS_DESEQ2 -
process > IGV -
process > get_software_versions -
process > MULTIQC -
process > output_documentation
Argument of file function cannot be empty
-- Check script '/Users/inutano/.nextflow/assets/nf-core/chipseq/main.nf' at line: 347 or see '.nextflow.log' file for more details
つらい
該当行は paired/single の条件分岐なので single end であることを明示する必要があるかも
nextflow run nf-core/chipseq -profile docker --input job/encode.design.csv --genome GRCh38 --single_end
動いた
けど別のエラー
code:nextflow.log
Error executing process > 'TRIMGALORE (SRX095368_R1_T1)'
Caused by:
Process requirement exceed available memory -- req: 72 GB; avail: 64 GB
Command executed:
trim_galore --cores 4 --fastqc --gzip SRX095368_R1_T1.fastq.gz
Command exit status:
-
Command output:
(empty)
Work dir:
/Users/inutano/work/machima/nf/work/f0/6ad5147efd129a811a254eb38fc4b1
Tip: you can try to figure out what's wrong by changing to the process work dir and showing the script file named .command.sh
きっつ
さすがに128GBのMacは手元にないです
でもこれSRAから取ってきたアダプタのないやつなんでtrimしなくていいはず
nextflow run nf-core/chipseq -profile docker --input job/encode.design.csv --genome GRCh38 --single_end --skip_trimming
ENCODEのデータはGEOにnarrowpeakがあるからこれを使うのでもいいかもしれない
broadpeakないの?
strand info が . になっているので bed2bin がコケる
そもそもこれは hg19 であるということに気付く
Roadmap の方にある
なんでこれが今まで出てこなかったのか、、? => dbGaP のデータだかららしい