1.2.Cluster

0) cluster简介

生物信息学中的大多数数据处理任务比日常工作中需要更多的计算能力,这意味着我们必须使用大型服务器或计算集群。集群(cluster)就是一组相互独立的计算机,通过高速的网络组成一个计算机系统。对外表现为单一的系统,协同起来向用户提供系统资源,系统服务。高性能计算集群(High-perfomance clusters),简称HPC,采用将计算任务分配到集群的不同计算节点儿提高计算能力,因而主要应用在科学计算领域。

下面以清华大学生物计算平台的生物信息计算集群(P cluster) 为例,介绍集群的具体使用。

1) 远程登录cluster

1a) Mac用户:

从“/Applications⁩/⁨Utilities” 中打开 "Terminal" 软件,使用SSH登录远程计算集群。

ssh -p 11*** username@166.111.*.*

在本地机器和远程机器之间传输文件 1. 使用Linux下的scp或者rsync命令; 2. 使用独立软件例如FileZilla: FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,传输速度很快,而且稳定。下载地址:https://www.filezilla.cn/ 选择导航菜单的文件 --> 站点管理,输入名称和主机IP,协议默认SSH,端口默认22。

1b) Windows用户:

安装 Xshell, 下载地址:https://xshell.en.softonic.com/ ,选择家庭/学校免费版下载。

名称

内容

主机IP

166.111.*.* (申请得到)

端口

11** (申请得到)

用户名

user_??(申请得到)

密码

password(申请得到)

协议

SSH or STPF-SSH

2) 获取系统环境

source /app/singularity-images/wrappers/bashrc

3) 计算任务的提交

3.1)准备脚本文件

例如,将下面的信息写入 test.sh 文件中。

#!/bin/bash
#SBATCH -J tophat_test
#SBATCH -p teaching-computer
#SBATCH --nodes=1
#SBATCH --ntasks=4
#SBATCH --output=%j.out
#SBATCH --error=%j.err
# Get the software
export PATH=/Share/home/user_01/bin:$PATH
# run code.
data=/Share/home/user_01/diff-exp/
mkdir ~/mapping
mapping=~/mapping
tophat --bowtie1 -p 4 -G ${data}yeast_annotation.gff --no-coverage-search -o ${mapping}/wt1_thout ${data}bowtie_index/YeastGenome ${data}Raw_reads_10k/wt1.fq
tophat --bowtie1 -p 4 -G ${data}yeast_annotation.gff --no-coverage-search -o ${mapping}/wt2_thout ${data}bowtie_index/YeastGenome ${data}Raw_reads_10k/wt2.fq
tophat --bowtie1 -p 4 -G ${data}yeast_annotation.gff --no-coverage-search -o ${mapping}/wt1X_thout ${data}bowtie_index/YeastGenome ${data}Raw_reads_10k/wt1X.fq
tophat --bowtie1 -p 4 -G ${data}yeast_annotation.gff --no-coverage-search -o ${mapping}/wt2X_thout ${data}bowtie_index/YeastGenome ${data}Raw_reads_10k/wt2X.fq

Name

mean

#SBATCH -J echo

命名job name为“tophat_test”

#SBATCH -p ptest-computer

使用ptest-computer这个队列(queue)

#SBATCH --nodes=1

使用的节点数为1,一般指定线程数就可以,所以一般可以不用这一行

#SBATCH --ntasks=4

使用的任务线程数为4(每个节点有16个核,所以1个节点的最大线程数为16)

#SBATCH --output=%j.out

运行日志输出到当前目录中,以 .out 结尾

#SBATCH --error=%j.err

运行错误日志输出到当前目录中,以 .err 结尾

3.2) 提交任务脚本

sbatch test.sh

4) 监视和控制在运行的任务

  • 查看队列信息

squeue
  • 查看节点信息

sinfo
  • 取消任务

scancel jobib
  • 查看节点

pestat

5) 退出

exit