如果对于docker不熟,想来个docker案例的实战的话,使用这个软件的过程应该是不错的选择
DROMPAplus: 一个用于 ChIP-seq 分析的流水线工具,可以满足各种需求,包括质量检查、分析和多个 ChIP 示例的可视化。
Installation — DROMPAplus 1.4.0 documentation

下载安装DROMPAplus软件的docker
docker pull rnakato/ssp_drompa
docker run -it --rm rnakato/ssp_drompa drompa+
进入到这个docker里面去
会看到里面就是个新的系统
docker run -it --rm rnakato/ssp_drompa /bin/bash
exit
(base) [lp@localhost parse2wigdir+]$ docker run -it --rm rnakato/ssp_drompa /bin/bash
root@b6f2e8c0b025:/home# ls
ChIPseqTools DROMPA3 DROMPAplus SSP ubuntu
### 有四个文件夹
文档基本使用和解释
前面的我的一篇文章简介已经说过,docker就是个封闭的迷你的操作系统。因此如果你用了上面这个进入到docker系统里面看了一下,就会明白下面这个命令在干啥。因为docker里面和外界这个操作系统其实是完全隔绝的,所以正常来说docker里面是无法读取docker外面的数据的,所以就要给这个封闭的环境开个口子——就如同电视里面给危险犯人送饭一样,需要给封闭牢房开一个口子,这样犯人才能吃饭。
所以注意这个-v,就是叫你把你当前目录映射为这个docker里面的/mnt这个目录,然后你当前目录比如有ChIP.bam这个文件,那么映射到docker里面就是/mnt/ChIP.bam,这样docker里面的软件才能够读取外界这个系统的数据。
docker run -it --rm -v $(pwd):/mnt rnakato/ssp_drompa parse2wig+ \
-i /mnt/ChIP.bam -o ChIP --odir /mnt/parse2wigdir+ --gt /mnt/genometable.txt
实操
这里必须要对于作者表示无语,这个软件需要一个genometable.txt的文件,其实就是每行就是染色体的长度,但是实际上这个软件在DROMPAplus内部已经有了,有常见的一些基因组的染色体大小的文件,就在/home/DROMPAplus/data/genometable/里面,但是一点内容示例都没有(虽然看它说每行长度的染色体文件我就知道是什么了,也知道怎么获取,毕竟以前弄过,但是这样对于新手真的不是那么友好),而且它的基本所有操作都需要这个
root@b6f2e8c0b025:/home/DROMPAplus/data/genometable# cat genometable.hg38.txt
chr1 248956422
chr2 242193529
chr3 198295559
chr4 190214555
chr5 181538259
chr6 170805979
chr7 159345973
chr8 145138636
chr9 138394717
chr10 133797422
chr11 135086622
chr12 133275309
chr13 114364328
chr14 107043718
chr15 101991189
chr16 90338345
chr17 83257441
chr18 80373285
chr19 58617616
chr20 64444167
chr21 46709983
chr22 50818468
chrX 156040895
chrY 57227415
chrM 16569
可以进入docker把所有文件都copy过去到/mnt
docker run -it --rm rnakato/ssp_drompa /bin/bash
cp /home/DROMPAplus/data/genometable/*txt /mnt
exit
正因为这个hg38缺乏很多类似于Un_GL000218v等序列长度的文件,所以不断发生这个报错,不过要是只想看染色体的,就忽略掉这些就好了
docker run -it --rm -v $(pwd):/mnt rnakato/ssp_drompa parse2wig+ -i /mnt/me.sorted.bam -o ChIP --odir /mnt/parse2wigdir+ --gt /home/DROMPAplus/data/genometable/genometable.hg38.txt
循环计算多个bam文件
(当然还有其他方式可以并行而不是顺序循环)
注意里面要去掉那个-it,这个-it就是指要交互式的使用docker,现在是类似于脚本那样用它,不需要docker
ls *bam|while read id ; do echo $id;docker run --rm -v $(pwd):/mnt rnakato/ssp_drompa parse2wig+ -i /mnt/$id -o ChIP --odir /mnt/${id}_p --gt /home/DROMPAplus/data/genometable/genometable.hg38.txt;done
网友评论