https://www.seqchina.cn/16390.html 文中介绍的这篇文献,很是有趣,近期想运行一下,看看自己之前测的cf DNA有什么有趣的东西。
一、问题
但是刚客服了在linux上安装R和R包的障碍后,把各种XX.R和XX.sh 放到linux下,运行下面这个:
Rscript runEPIC.R –-bamdir <path to directory> –-tssinfo <path to file> –-panelbed <path to file> –-targeted <character; yes or no> –-outdir <path to output directory> –-mapq <min MAPQ> –-groupref <character> –-groupsize <double, number of genes per group> –-skipHist <binary, 0 or 1> –-skipOCFFrags <binary, 0 or 1>
后面报错,说权限不够,不能运行sh。仔细看了这个R脚本,发现它还调用了其他sh,估计我这非root不能直接调用运行sh??
二、尝试北鲲云超算
通过怡美通德注册了账号。观看命令行操作方法。
- 登录后只需要输入:
module avail 就可以查看已经安装的软件
module add <软件名>就可以加载使用
比如想使用R,只需要Module add R
2.管理节点配置:2核4G
3.提交作业通过slurm作业提交系统。(这个和所里计算中心的很不一样哦。)
通过sinfo 命令查看可选节点队列,每个队列对应一种硬件规格。c-4-1表示4核,每核1G内存CPU的节点队列。
sbatch -c1 -n4 -pc-4-1 --wrap='sleep 10' #提交作业-p参数可以选择队列
squeue #查看作业情况
4.建立epic.slurm脚本文件
sbatch epic.slurm -n -pc-16-1
在e文件中看到报错:-sh: ./**: Permission denied。。
5.执行下面命令:给这些文件可执行权限(把所有.sh .py的文件都改成可执行。)
chmod 755 epic_wrapper.sh
chmod 755 sizedist_parallel.sh
chmod 755 sizedist_subroutine.sh
chmod 755 ocf_parallel.sh
chmod 755 ocf_subroutine.sh
chmod 755 len2dist.py
chmod 755 len2ocf.py
三、
在北鲲上安装r包:
module add R
R
install.packages("https://cran.r-project.org/bin/macosx/contrib/4.1/DescTools_0.99.45.tgz", repos = NULL, type="source")
安装目录在:
cd R/x86_64-pc-linux-gnu-library/3.6/DescTools/R
用查找命令看目录:
.libPaths()
[1] "/home/cloudam/R/x86_64-pc-linux-gnu-library/3.6"
[2] "/public/software/.local/easybuild/software/R/3.6.3-foss-2020a/lib64/R/library"
还可以用
find.package('DescTools')
四、修改EPIC-code中的一些指令
1,比如sh文件开头加上
module add BEDTools/2.29.2-GCC-8.3.0
module add R/3.6.3-foss-2020a
module add SAMtools/1.9-iccifort-2019.1.144-GCC-8.2.0-2.31.1
2,在R文件开头加上
setwd('/home/cloudam/software/EPIC-code')
3,在遇到要执行sh得命令里面把绝对路径写进去
4,安装parallel软件。
GNU Parallel (https://www.gnu.org/software/parallel/) 是Linux下高效的并行神器。通过使用它,我们将可以快速地为CPU们分配Pyrosetta任务,实现多进程。
在EPIC-seq流程里面用到这个命令,报错了。发现还需要安装这个软件。
wget http://ftp.gnu.org/gnu/parallel/parallel-latest.tar.bz2
tar xjf parallel-latest.tar.bz2
cd parallel-yyyymmdd
./configure --prefix=/home/cloudam/software/parallel
make
上述失败!
5.先建立一个虚拟环境吧。然后再安装parallel。。。
查看:python -V
然后建立一个名叫R-4.0的环境。
conda create -n R_4.0 python=3.7.13(名字搞错了,应该是3.6,汗)
建立好了:
environment location: /home/cloudam/.conda/envs/R_4.0
进入环境需要下面步骤:
module add Anaconda3/2020.02
source activate
conda activate R_4.0 #进入虚拟环境
conda install -c conda-forge parallel #conda安装parallel
之后查看使用parallel
(R_4.0) [cloudam@master ~]$ which parallel #查看
~/.conda/envs/R_4.0/bin/parallel #在本地了哦,只要进入这个虚拟环境就可以用它了
6.终于运行了
输入sbatch epic.slurm 然后就运行了大约6个小时,早晨看是晚上11点多报的结果和错误包。这次报错很奇怪,e文件中没有明确不能运行什么
7.后来发现所有sh文件的里面加的“/”多了,或者少了
比如这个R文件中就出现了斜杠的标注错误,也不知道作者咋想的。
8.还有最后一步要求输入newpath,可事实上这里必须输入前一步的生成文件:
“epicseq.features.merged.by.10.txt”才行,要把这个文件的绝对路径标注清楚。