跳转至

使用本地存储

集群的队列本地均为SSD,IO性能较好,如果作业有大量的小文件读写,此时使用计算节点本地SSD进行文件读写会有较大的速度提升。

Warning

由于本地盘较小(normalhigh为480G,smp为1.4T),因此不可拷入或生成大型文件。使用LSF选项-R "rusage[tmp=10G]"来指定预计使用的本地存储大小,以免出现/tmp目录写满或/tmp空间不够导致作业挂掉。

使用方式如下,输入和输出文件分别为inputfile和outputfile,两个文件大小一起不超过5G。

#BSUB -J program
#BSUB -n 10
#BSUB -R "rusage[tmp=5G]"
#BSUB -o %J.out
#BSUB -e %J.err
#BSUB -q normal

# 生成随机字符串,以免与其它目录重复
tmpn=`mktemp -u program_XXXXX`

# 在/tmp/中新建运行目录,并进入该目录
tmpd="/tmp/${tmpn}"
mkdir ${tmpd}

# 打印节点名称和新建目录名称,以方便出错处理
hostname
echo ${tmpd}

# 将输入文件拷到节点本地存储目录
cp /path/inputfile ${tmpd}

# 运行程序
program ${tmpd}/inputfile ${tmpd}/outputfile

# 程序运行结束后,将生成文件拷回共享存储目录
mv ${tmpd}/outputfile .

# 清理临时文件
rm -r ${tmpd} && echo "program done"

# 如果因程序出错、节点宕机等原因导致作业日志没有输出program done的提示,此时节点本地数据很可能未删除,需要另外提作业到该节点将本地数据删除。
# 节点和目录为23和24行的输出,可以在作业日志中获取。

数据下载

Warning

数据下载不需要提交lsf作业,直接在登录节点运行wget、prefetch等下载程序即可。

目前集群只有??台登录节点联网、并具有独立IP,每个节点理论最高网速为100MB/s。计算节点禁止联网,因此数据下载仅能在登录节点进行,数据上传到ncbi同理。

有大批量数据下载时,建议在3台节点上分别跑一部分下载任务,方可达到最高的下载速度。

如果下载时间较长,建议开个screen进行操作,使用wget时加上断点续传选项。screen 和 wget 使用见 Linux基础。

大量数据下载时,一个用户在登录节点上同时运行不超过3个下载任务,以prefetch为例:

$ screen -S prefetch

$ cat id_list
ID1
ID2 
ID3 
ID4 
ID5 
ID6 
ID7 
ID8 
ID9 
ID10

$ cat id_list|xargr -i -P 3 prefetch {}

kingfisher

使用kingfisher可以快速从多个源下载公共测序数据 (EBI ENA, NCBI SRA, Amazon AWS 和 Google Cloud ),用户提供一个或多个"run accession number",如 ERR1739691,或 "BioProject accession number",如 PRJNA621514` 或SRP260223

SRA数据下载可以使用kingfisher代替prefetch、ascp等工具,具体使用见 kingfisher。

ascp

$ module load aspera-connect/3.9.9.177872
$ ascp -i $ASPERAKEY -k 1 -T -l1000m anonftp@ftp.ncbi.nih.gov:/blast/db/FASTA/nr.gz ./
nr                         100%  186GB 19.4Mb/s  7:37:51    
Completed: 195328267K bytes transferred in 27472 seconds
(58245K bits/sec), in 1 file.

EdgeTurbo

CNCB 数据下载

https://cloud.tencent.com/developer/article/2228281

百度云

集群上可以使用命令行工具 BaiduPCS-Go 进行百度云文件的上传和下载,具体使用见 BaiduPCS-Go

本文阅读量  次    本站总访问量  次