Skip to content
Back to skills

ncpgr-software

ASecurity

NCPGR高性能计算集群软件使用注意事项与优化指南。聚焦各软件的坑点、加速技巧、资源节省建议与软件选型推荐。当用户询问集群上如何高效使用软件、编写LSF作业、或需要软件选型建议时使用。

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
devopspythonrustgojavac++shellbashsqlnodenodejs

Works with

  • vscode
  • api

Security analysis

A92/100
  • mediumUses curl or wget to download content
  • mediumUses curl or wget to download content

Pro scans all 20 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add peacezha/HPClaw --skill skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of ncpgr-software?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for ncpgr-software
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/peacezha-ncpgr-software/badge)](https://www.skillsdirectory.com/skills/peacezha-ncpgr-software)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ncpgr-software
description: NCPGR高性能计算集群软件使用注意事项与优化指南。聚焦各软件的坑点、加速技巧、资源节省建议与软件选型推荐。当用户询问集群上如何高效使用软件、编写LSF作业、或需要软件选型建议时使用。
trigger: 当用户问题中包含"集群"二字时,同时加载 ncpgr-software ncpgr-lsf 两个 skill。
solves: ["软件选型", "资源申请", "module使用", "singularity使用"]
related_to: [lsf-ncpgr, bio/alignment, bio/qc, bio/transcriptome]
---

# NCPGR HPC 集群软件使用注意事项与优化指南

## 总则

- 集群软件通过 **module** (`module av` / `module load`,http://hpc.ncpgr.cn/app/004-Module/) 或 **singularity**(镜像位于 `/share/Singularity/`,http://hpc.ncpgr.cn/app/007-singularity/)调用
- 公共数据库(NR/NT/Pfam/Rfam/swissprot)位于 `/share/database/`,http://hpc.ncpgr.cn/app/025-bioinformatics-database/
  - **使用方法**:`module av` 查看可用版本 → `module load` 加载 → 加载后自动设置环境变量(如 `$NR`、`$NT`、`$Pfam`)直接使用,**不需要自己 `makeblastdb` 建索引**
  - 示例:
    ```bash
    module load nr/20201013
    blastp -query proteins.fa -db $NR -out result.txt -num_threads 8 -outfmt 6

    module load nt/20201013
    blastn -query seqs.fa -db $NT -out result.txt -num_threads 8 -outfmt 6

    module load nr/20201013-diamond   # diamond 专用版本(比 blastp/blastx 快很多)
    ```
  - 可用版本:`nr/20201013`、`nr/20190625`、`nr/20171030`、`nr/20201013-diamond`、`nt/20201013`、`Pfam/32.0`、`Rfam/14.1`、`swissprot/20170604` 等
- 计算节点**无联网能力**,需联网的操作须在登录节点提前完成
- 编写 LSF 作业脚本时结合 `lsf-ncpgr` skill
- `module av` 支持模糊搜索,大小写不确定时都试试
- **不要在作业脚本中随意使用 `/tmp` 目录**,除非用户明确指定或软件文档中有明确提示。计算节点的 `/tmp` 为系统盘,大量临时文件积累会写满导致节点挂起。确需使用时,应创建用户专属临时目录并在作业结束时清理
- **作业脚本应保持简洁**,不可过度编码或使用高级技巧(如复杂的 sed/awk 变量替换、多重临时文件、嵌套逻辑等)。脚本需要让用户易于阅读、检查和自行修改

### 查询软件/数据库是否可用

当用户询问**某个软件**或**某个数据库**是否在集群上可用时,**不要仅凭 skill 中的信息回答**,应实际查询集群当前状态:

1. **查询软件(首选 `mii`)**:集群已安装 `mii`,可搜索 module 中的二进制命令
2. **查询 module**:`module av 软件名` 或 `module av \| grep -i 关键词`
3. **查询 singularity 镜像**:检查 `/share/Singularity/` 目录下的镜像文件
4. **查询数据库**:用 `module av` 查看最下方的数据库列表,或检查 `/share/database/` 目录

```bash
# 查询软件(推荐:mii 可搜索 module 中的所有二进制命令)
mii search bedCoverage        # 查找哪个 module 提供 bedCoverage
mii search bigWigToBedGraph   # 查找 UCSC 工具对应的 module
mii search gmx                # 子串匹配,搜 gmx 会显示 gmx_mpi
mii list                      # 列出所有已索引的 module

# module 模糊搜索
module av bwa
module av \| grep -i star

# 查询 singularity 镜像
ls /share/Singularity/ \| grep -i alphafold

# 查询数据库
module av               # 最下方会列出NR、NT、Pfam等数据库
ls /share/database/
```

**mii 说明**:
- 集群已安装,路径 `/public/home/software/opt/bio/software/mii/1.1.2/`
- 首次使用需 `mii build` 创建索引,后续更新用 `mii sync`
- `mii search <命令>` 可找到任意 module 中的二进制命令,包括工具集中的子命令(如 UCSC Kent Utils 中的 bedCoverage)

- 如果查询结果为空,告知用户集群上暂无该软件/数据库
- 如果找到相关软件/数据库,给出具体版本和使用方法

### 多样本多步骤流程的提交策略

当涉及**多样本 + 每个样本多步骤**的分析流程时(如1000样本变异检测:fastp → 比对 → 变异检测 → joint call),**必须先询问用户采用哪种策略**,再生成脚本:

| 策略 | 做法 | 优点 | 缺点 |
|------|------|------|------|
| **逐步处理** | 每次提交所有样本的第1步,确认完成后提交第2步,以此类推 | 中间结果可控,某步出错可及时调整;便于中间检查 | 需要分多次操作 |
| **依赖链一次提交** | 用 `-w "ended(jobid)"` 建立样本内步骤依赖,一次提交所有样本所有步骤 | 一次提交全自动;中间步骤自动衔接 | 提交后难以中途干预;出错样本需单独处理 |

- **不确定时默认推荐逐步处理**,因为便于用户在中间步骤检查结果、调整参数
- 如果用户选择依赖链一次提交,需为每个样本创建独立的作业依赖链

---

## 常见软件资源推荐(核数与内存)

### 通用原则

1. **多样本优先"样本间并行",不是单样本堆核数**:20个RNA-seq样本,与其每个STAR给32核,不如每个给8~12核、同时跑多个样本,集群吞吐量更高
2. **不是核越多越快**:多数生信软件在4~16核后收益明显变差,内存和磁盘I/O往往才是瓶颈
3. **Java程序要预留系统余量**:申请32GB内存时,`-Xmx` 设为28g左右,JVM、容器、native library、临时buffer都会额外占内存
4. **先跑1~2个代表样本测资源**:记录MaxRSS、CPU利用率、I/O wait;CPU利用率长期低于300%却给了16核 → 降核数、提并发样本数

### CPU 核数推荐

| 软件/场景 | 推荐核数 | 原因 |
|-----------|---------|------|
| **FastQC / MultiQC** | **1~2** | FastQC单文件并行更好;MultiQC基本不需要多核 |
| **fastp** | **4~8** | 速度已经很快,更多核意义不大;`--dont_eval_duplication`可省~1GB内存和10~20%时间 |
| **Trim Galore / cutadapt** | **4~8** | 多核收益有限,继续加核无运行时间收益 |
| **BLAST blastn** | **4~8** | CPU利用率不高,更多核几乎不加速 |
| **Salmon / kallisto** | **4~8** | 通常很快,适合多样本并行 |
| **faST-LMM** | **1**(单线程) | `-maxThreads` 多线程反而比单线程慢1倍 |
| **CNVnator** | **按需设置** | 默认用满整节点,**必须**设置 `MKL_NUM_THREADS=$LSB_DJOB_NUMPROC` |
| **samtools view/index/flagstat** | **2~8** | 压缩/解压相关,多给核有收益但通常不线性 |
| **samtools sort** | **4~8** | 8核以上加速效果有限;注意每线程内存(见下方) |
| **Picard MarkDuplicates** | **2~4** | Java堆内存要设`-Xmx`;大BAM更吃内存和临时盘 |
| **sambamba markdup/sort** | **4~8** | 多线程比Picard友好,但也别无限加核 |
| **GATK HaplotypeCaller** | **1~4**/分片 | 推荐按染色体/区间scatter并行,每shard 1~4核 |
| **GATK GenomicsDBImport / GenotypeGVCFs** | **2~8** | 样本数越多越吃内存;联合分型大队列应按染色体/区间拆分 |
| **Mutect2** | **1~4** | 肿瘤样本深度高时内存和时间显著上升 |
| **bcftools** | **4~8** | 多线程扩展性一般 |
| **BWA mem / BWA-MEM2** | **8~16** | 多线程扩展性好,但超过16核被排序/压缩/I/O抵消 |
| **Bowtie2 / HISAT2** | **8~16** | 剪接比对开销大,超16核收益递减;HISAT2比STAR省内存 |
| **STAR** | **16~24** | 内存带宽密集型,更多核帮助有限 |
| **minimap2** | **8~32** | 长读长比对可给较多核,但仍受I/O和压缩限制 |
| **Trinity** | **16~32** | 多阶段并行,32核内扩展性较好 |
| **BUSCO** | **8~32** | 单基因预测是单线程,多基因并行有效 |
| **MAKER** (MPI) | **50~100** | MPI并行,但过多核排队久 |
| **CellRanger** | **16~20** | 超过20核收益递减 |
| **InterProScan** | **8~16** | 多线程扩展性好,但IO也是瓶颈 |
| **Kraken2** | **16~24** | 分类器并行效果好 |
| **SPAdes / metaSPAdes** | **16~32** | 给内存比给核更重要;内存不足会失败或极慢 |
| **Bismark** | **按 `--multicore N` × 4** | `--multicore 4` → 实际16线程,需 `-n 16` |
| **RepeatModeler** | **按 `-pa N` × 4** | `-pa 5` → 实际20线程,需 `-n 20` |
| **GLnexus** | **16~36** | 内存需求大,用整节点 |
| **Parabricks** | **16** | GPU为主,CPU辅助16核足够 |
| **AlphaFold3 data pipeline** | **16~32** | MSA搜索并行好,32核内扩展性好 |
| **AlphaFold3 inference** | **8~16** | GPU为主,CPU辅助 |

### 内存需求推荐

| 软件/场景 | 内存需求 | 建议 |
|-----------|---------|------|
| **FastQC / MultiQC** | 2~8GB | normal队列足够 |
| **fastp** | 4~8GB;大样本8~16GB | normal队列足够 |
| **Trim Galore / cutadapt** | 4~12GB | normal队列足够 |
| **Salmon / kallisto** | 8~32GB | normal队列足够 |
| **samtools view/index** | 4~16GB | normal队列足够 |
| **samtools sort** | 16~64GB | `-@ 8 -m 3G` 约24GB缓冲+额外开销,建议申请32~40GB |
| **Picard MarkDuplicates** | 16~64GB | `-Xmx` 设为申请内存的80%~85% |
| **比对 (BWA/HISAT2)** | 人类基因组 ~16GB | normal队列 `-n 8` 通常足够 |
| **STAR 比对** | 人基因组 **40~64GB** | **必须用 smp 或 high 队列**;nf-core文档给出Human GRCh37约38GB典型需求 |
| **minimap2** | 16~64GB | 与参考基因组大小正相关 |
| **BUSCO** | 基因组 ~8GB | normal队列足够 |
| **GATK HaplotypeCaller** | WES ~8GB, WGS ~16GB | 按分片给16GB/分片 |
| **GATK GenomicsDBImport / GenotypeGVCFs** | **32~128+GB** | 样本数越多越吃内存;建议用 high/smp |
| **Mutect2** | 16~64GB | 肿瘤样本深度高时内存显著上升 |
| **bcftools** | 与VCF大小正相关 | 一般4GB足够 |
| **Trinity** | **128~512GB** | **必须用 smp 队列整节点** |
| **SPAdes / metaSPAdes** | **128~512GB** | 内存常是主要瓶颈,给内存比给核更重要 |
| **MAKER** | 大基因组 ~16GB/核 | 建议 smp 或 high |
| **CellRanger** | **64~128+GB** | 内存随细胞数、reads、参考而增大;**必须用 smp 或 high** |
| **GLnexus** | 大规模 joint call **50~200GB** | **必须用 high 或 smp 队列整节点** |
| **AlphaFold3 data pipeline** | 单蛋白 ~8GB | normal队列足够 |
| **AlphaFold3 inference** | 单蛋白 ~16GB | GPU队列已配 |
| **Kraken2 建库** | 标准库 ~100GB | **必须用 high 或 smp** |
| **Kraken2 分类** | 标准库 64~256+GB | 取决于数据库大小;大库常需整库进内存 |
| **InterProScan** | 大数据集 ~32GB | 建议 smp 队列 |
| **Parabricks** | ~16GB | GPU队列已配 |
| **Paragraph** | 与VCF大小正相关 | normal队列足够 |

### `samtools sort` 内存计算

`samtools sort -@ N -m MG` 的排序缓冲区约 `N × M` GB,加上压缩线程等额外开销:

```bash
# 稳妥写法:8线程 × 3G = ~24GB 缓冲,作业申请 32~40GB
samtools sort -@ 8 -m 3G -o sample.sorted.bam sample.bam

# 反面教材:不要在16GB作业里这样写
samtools sort -@ 16 -m 2G -o ...   # 仅缓冲就32GB,必定OOM
```

### 节点/队列选择速查

| 队列 | 资源特点 | 适用场景 |
|------|---------|---------|
| **normal** | 自动6~10GB | 大多数常规分析(质控、fastp、BUSCO、blast、BWA),内存需求 <10GB |
| **smp** | 自动12~20GB | 大内存作业(Trinity、STAR、大基因组MAKER、CellRanger) |
| **high** | 自动11~15GB | 超大内存作业(GLnexus、Kraken2建库、GenomicsDBImport) |
| **gpu** | 需确认 | GPU加速作业(Parabricks、AlphaFold3 inference、DeepVariant),**需向管理员申请权限** |

按节点资源快速决策:

| 节点资源 | 推荐策略 |
|----------|---------|
| 8核 / 32GB | HISAT2 / Salmon / kallisto / 小型WES可跑;STAR人基因组偏紧 |
| 16核 / 64GB | bulk RNA-seq、WES、普通WGS单样本比较舒适 |
| 32核 / 128GB | 单细胞、WGS多样本并行、部分宏基因组比较合适 |
| 64核 / 256+GB | 适合组装、大型宏基因组、大队列联合分型、Kraken2大库 |

### 推荐默认模板(不确定时先用这些)

| 软件 | 核数 | 内存 |
|------|------|------|
| fastp | 4 | 8G |
| STAR | 12 | 48G |
| HISAT2 / BWA | 12 | 24G |
| samtools sort | 8 | 32G |
| MarkDuplicates | 4 | 32G |
| HaplotypeCaller | 2/分片 | 16G/分片 |
| Salmon / kallisto | 4 | 16G |
| Cell Ranger | 16 | 128G |
| Kraken2 | 16 | 数据库大小 + 20~40G |
| SPAdes / metaSPAdes | 24 | 256G |

---

## 软件选型速查

### 变异检测

> **Parabricks 是变异检测的首选方案**,除非用户明确提及需要 DeepVariant,否则不要主动推荐 DeepVariant。

| 场景 | 推荐 | 速度 | 说明 |
|------|------|------|------|
| WGS/WES 变异检测(**首选**) | **Parabricks** (GPU) | 30x WGS ~25min | 比对+变异检测全流程GPU加速,学术免费。http://hpc.ncpgr.cn/app/098-parabricks/ |
| 大规模 gVCF joint call | **GLnexus** | 远快于 GATK | 替代 CombineGVCFs+GenotypeGVCFs。http://hpc.ncpgr.cn/app/126-glnexus/ |
| 变异结果基准测试 | **HAPpy** | - | Illumina官方工具,单倍型水平比较。http://hpc.ncpgr.cn/app/164-happy/ |
| 深度学习变异检测(仅用户主动提及) | DeepVariant | 准确率~99% | http://hpc.ncpgr.cn/app/100-deepvariant/ |

### 序列比对
| 场景 | 推荐 | 说明 |
|------|------|------|
| fq→bam (首选) | **Parabricks fq2bam** (GPU) | bwa+sort+dedup 一行完成,GPU加速 |
| fq→bam (CPU) | **BWA** + samtools | 常规方案 |
| RNA-seq 比对 | **HISAT2** | 剪接感知比对 |

### 质控
| 场景 | 推荐 | 说明 |
|------|------|------|
| 质控 | **fastp** | 速度快,同时输出质控报告 |

### 蛋白结构预测
| 场景 | 推荐 | 说明 |
|------|------|------|
| 最高精度 | **AlphaFold3** | Google DeepMind,支持蛋白复合物。http://hpc.ncpgr.cn/app/183-alphafold3/ |
| 快速/省资源 | **RoseTTAFold** | 内存和时间远低于AlphaFold。http://hpc.ncpgr.cn/app/085-RoseTTAFold/ |

### 覆盖度计算
| 场景 | 推荐 | 说明 |
|------|------|------|
| 覆盖度 | **PanDepth** | 比samtools快很多,cram输入比bam更快。http://hpc.ncpgr.cn/app/145-PanDepth/ |

---

## 各软件注意事项与加速技巧

### Parabricks (GPU加速 NGS 分析)
> 集群文档: http://hpc.ncpgr.cn/app/098-parabricks/

30x WGS 约 **25分钟**(传统方法约30小时),从v4.0起**学术用户免费**。

**版本选择**: 除非有特殊需求,**优先使用 `4.0.1-1` 版本**(`$IMAGE/clara-parabricks/4.0.1-1.sif`)。

```bash
#BSUB -J parabricks
#BSUB -n 16
#BSUB -R span[hosts=1]
#BSUB -gpu "num=1:gmem=11G"
#BSUB -q gpu

module load Singularity/3.7.3
singularity exec --nv $IMAGE/clara-parabricks/4.0.1-1.sif pbrun fq2bam \
  --low-memory --ref hg38.fa --in-fq sample.R1.fq.gz sample.R2.fq.gz \
  --out-bam sample.sorted.dedup.bam
```

`fq2bam` 一行完成:bwa mem → sort → mark duplicates → BQSR → 输出bam。

Parabricks 还支持 `haplotypecaller`、`deepvariant`、`genotypegvcf` 等变异检测工具,均基于 GPU 加速,相比开源版本速度有大幅提升。

---

### BWA / HISAT2 比对
> 比对建议: http://hpc.ncpgr.cn/app/071-fq2bam/ | SAM→BAM: http://hpc.ncpgr.cn/app/054-sam-to-bam/ | HISAT2: http://hpc.ncpgr.cn/app/064-hisat2/
- **无需解压 fq.gz**,大部分比对软件可直接读取
- **建议直接输出 bam**(只有 sam 的 1/3 大小),下游支持可进一步压缩为 cram
- 大规模比对需要较高存储带宽,建议在 **normal队列** 运行
```bash
bwa mem -t 8 genome.fa read1.fq.gz read2.fq.gz | samtools sort -@8 -o output_sorted.bam
```

**HISAT2 特别注意**:
- 找不到索引文件时**不会自动退出**,让人误以为还在运行!
- 提交作业后务必用 `bpeek <job_id>` 查看输出确认
- 有异常及时杀掉作业重投

---

### BLAST
> 集群文档: http://hpc.ncpgr.cn/app/041-blast/

- **NR/NT 等公共数据库已配置好,用 `$NR`、`$NT` 变量直接引用**(见总则部分)
- **用 diamond 替代 blastx/blastp**,速度极大提升;`module load nr/20201013-diamond` 有格式化好的 nr 库
- **blastn 运行慢时**: 将 query 分割多段提交多个作业并行跑,线程数设 **4~8** 即可(CPU利用率不高)
- 超短序列(<50nt)用 `-task blastn-short -word_size 4 -gapopen 1 -gapextend 1`
- 小参考序列不用建索引,用 `-subject` 直接比对

---

### BUSCO
> 集群文档: http://hpc.ncpgr.cn/app/042-BUSCO/

- **计算节点无网络,必须用离线模式**: 先在登录节点下载数据库,再提交作业
```bash
# 登录节点下载数据库
singularity exec $IMAGE/busco/5.5.0_cv1.sif busco --download embryophyta_odb10
# 计算节点离线运行
singularity exec -e $IMAGE/busco/5.5.0_cv1.sif busco -i MH63.fa -l ./busco_downloads/lineages/embryophyta_odb10 -o out -m genome -c 30 --offline
```

---

### Bismark (BS-seq 甲基化比对)
> 集群文档: http://hpc.ncpgr.cn/app/040-Bismark/
- **`--multicore N` 实际调用 4N 个 bowtie 线程**!LSF 申请核心数必须是 `--multicore` 值的 **4倍**
  - 如 `--multicore 4` → 实际16线程,需 `-n 16`
- `bismark2bedGraph` 中 sort 可手动添加 `--parallel=8` 加速,用 `--buffer_size` 控制内存

---

### BS-Seeker2
> 集群文档: http://hpc.ncpgr.cn/app/072-bs-seeker/
- **产生大量临时文件写入 `/tmp`,极易写满**(单作业可达 30~70GB)
- **务必使用 `--temp_dir`** 指向自己目录:
```bash
mkdir tmp
bs_seeker2-align.py -1 R1.fq -2 R2.fq -o sample.bam -g genome.fa --temp_dir=./tmp
```

---

### RepeatModeler
> 集群文档: http://hpc.ncpgr.cn/app/182-repeatmodeler/
- **`-pa N` 实际使用 4N 线程**(每个 rmblastn 用4线程)
- `-pa 5` → 20线程,作业脚本需申请 `-n 20`,否则节点过载挂起
- 版本 2.0.6 报错 `build_lmer_table failed. Exit code 256` 需修改 RepeatScout 2行代码重编译(见 commit c5193bb)

---

### MAKER (基因组注释)
> 集群文档: http://hpc.ncpgr.cn/app/050-maker/

- MPI并行,**必须用 parallel 队列**(需申请权限,每人限120核)
- 建议申请 100 核即可(过多排队时间长);**资源紧张时拆分染色体**各跑一个作业
- **运行时需及时关注日志** `*_master_datastore_index.log`,出现 `FAILED` 程序不会停下但会空跑
- 小基因组出错直接杀掉重跑;大基因组将出错染色体单独重跑再合并

---

### CellRanger (单细胞)
> 集群文档: http://hpc.ncpgr.cn/app/077-cellranger/
**两种加速方式组合,可将运行时间从 8h 降至 2h**:

1. **结果输出到计算节点 `/tmp`**(本地磁盘IO更快)
   - 需指定 `rusage[tmp=XXG]`,经验值为输入 fq.gz 的 **2倍**
   - 运行完移回 home
2. **添加 `--no-bam`**(不需要bam文件时)
   - 一般表达矩阵分析无需bam,RNA速率分析才需要

```bash
#BSUB -J cellranger
#BSUB -n 20
#BSUB -R "rusage[tmp=70G]"
#BSUB -q normal
module load cellranger/7.0.0

workdir=`pwd`
tmpd="/tmp/`mktemp -u cellranger_XXXXX`"; mkdir ${tmpd}; cd ${tmpd}
cellranger count --id=sample --transcriptome=ref --fastqs=data --sample=sample \
  --force-cells=8000 --localcores $LSB_DJOB_NUMPROC
mv sample/ ${workdir}
```

---

### Paragraph (SV 基因型分型)
> 集群文档: http://hpc.ncpgr.cn/app/063-paragraph/
- **每个VCF位点生成3个临时文件到 `/tmp`,程序结束后不自动删除**,积累会写满系统盘导致节点挂掉
- **建议**: VCF超10万行拆分;在 **normal队列**(SSD系统盘);单作业申请10核;脚本中创建专属临时目录并在结束时清理
```bash
tmpd="/tmp/`mktemp -u paragraph_XXXXX`"; mkdir ${tmpd}; export TMP=${tmpd}
multigrmpy.py -i input.vcf -r ref.fa --threads $LSB_DJOB_NUMPROC --scratch-dir ${tmpd} -o out
rm -r ${tmpd}   # 务必清理
```

---

### SqueezeMeta (宏基因组)
> 集群文档: http://hpc.ncpgr.cn/app/067-SqueezeMeta/
- **第六步(06.lca.pl)极度吃IO**,数据库在远程分区时速度仅 ~8kb/s(2天的数据量)
- **解决方案**: 用胖节点 s001 的 `/tmp/squeezemeta/db` 数据库,并指定节点 s001
- 集群已有副本: `/share/database/squeezemeta/db/`
- 已运行的修改 `SqueezeMeta_conf.pl` 中数据库路径,用 `restart.pl` 继续

---

### DeepVariant (深度学习变异检测)
> 集群文档: http://hpc.ncpgr.cn/app/100-deepvariant/

> **注意**: 仅当用户明确提及需要使用 DeepVariant 时才推荐此方案,否则默认推荐 Parabricks 进行变异检测。

- GPU版仅 `call_variants` 步骤可用GPU,`make_examples` 和 `postprocess_variants` 只能用CPU
- 三个步骤互相依赖:make_examples → call_variants → postprocess_variants
- 支持 Illumina、PacBio、Nanopore

---

### GLnexus (大规模 gVCF joint call)
> 集群文档: http://hpc.ncpgr.cn/app/126-glnexus/

- 替代 GATK CombineGVCFs + GenotypeGVCFs,**速度快很多**
- **内存需求大**,建议用 high 或 smp 队列整节点(`-q high -n 36`)
- WES 需用 `--bed` 指定目标区域;WGS可不指定
- 输出 bcf 格式,可用 bcftools 转 vcf
- 内存报错 `std::bad_alloc` 时寻求管理员协助

---

### HAPpy (变异检测基准测试)
> 集群文档: http://hpc.ncpgr.cn/app/164-happy/

```bash
hap.py truth.vcf query.vcf -r ref.fa -f chr1.bed --threads 8 -o truth_vs_query
```
- `-f` 指定比较区间(bed),只比较该区间内位点
- 输出 summary.csv(精度/召回率/F1)、ROC曲线、标注VCF等

---

### faST-LMM (群体遗传)
> 集群文档: http://hpc.ncpgr.cn/app/046-fastlmmc/
- **`-maxThreads` 多线程比单线程还慢**!**不要用该选项,默认单线程即可**
- 实测:单线程 2208s vs 20线程 4112s

---

### CNVnator (CNV 检测)
> 集群文档: http://hpc.ncpgr.cn/app/044-cnvnator/
- **默认用满整个节点CPU核**,必须用环境变量控制线程数:
```bash
export MKL_NUM_THREADS=1; export OMP_NUM_THREADS=1
# 或按申请的核心数
export MKL_NUM_THREADS=$LSB_DJOB_NUMPROC; export OMP_NUM_THREADS=$LSB_DJOB_NUMPROC
```

---

### OrthoMCL (同源基因簇)
> 集群文档: http://hpc.ncpgr.cn/app/076-orthomcl/
- MySQL 在 s004 节点,数据库建议命名为 `orthomcl_username` 避免冲突
- **运行完成后及时删除 MySQL 中创建的数据库**
```bash
orthomcl-setup-database.pl --user username --password password --host s004 --database orthomcl_username --outfile orthomcl.conf
orthomcl-pipeline -i pep/ -o out -m orthomcl.conf --nocompliant -s $LSB_DJOB_NUMPROC --yes
```

---

### Trinity (转录组组装)
> 集群文档: http://hpc.ncpgr.cn/app/060-trinity/
- 使用 singularity 镜像 `/share/Singularity/Trinity/2.12.0.sif`
```bash
bsub -o trinity.log -n 30 -q smp -J trinity \
  "module purge; module load Singularity/3.1.1; singularity exec $IMAGE/Trinity/2.12.0.sif Trinity --seqType fq --max_memory 400G --samples_file samples_file --CPU 30 --SS_lib_type RF --output trinity_out"
```

---

### HiC-Pro
> 集群文档: http://hpc.ncpgr.cn/app/049-HiC-Pro/
- 集群中 `HiC-Pro/2.11.14` 已配集群模式
- 生成的 LSF 脚本不能直接提交,需删除 `#BSUB -M/W/N/u/q` 行,添加 `module load HiC-Pro/2.11.4`
- 先提交 step1,日志无报错后再提交 step2(step2 可改 `-n 1`)
- 出错直接重新提交该脚本即可

---

### InterProScan (蛋白功能注释)
> 集群文档: http://hpc.ncpgr.cn/app/123-interproscan/

- **省资源方案**: 用网页API(`iprscan5.pl`),在登录节点运行,**不消耗集群计算资源**
```bash
./iprscan5.pl --multifasta test.fasta --maxJobs 25 --email test@test.com --outformat tsv
```
- 本地运行:`module load interproscan/5.55-88.0`,消耗计算资源

---

### HOMER (Motif发现)
> 集群文档: http://hpc.ncpgr.cn/app/112-homer/

- `module load homer/4.11`
- 支持 ChIP-Seq、RNA-Seq、DNase-Seq、Hi-C 等分析

---

### Augustus (基因预测)
> 集群文档: http://hpc.ncpgr.cn/app/083-augustus/
- `module load augustus/3.3.3`
- 自带模型路径:`$AUGUSTUS_CONFIG_PATH`
- 自定义模型:`export AUGUSTUS_CONFIG_PATH=$HOME/augustus_config`

---

### PASA (转录组注释)
> 集群文档: http://hpc.ncpgr.cn/app/084-pasa/
- 推荐用 sqlite 数据库(比 mysql 方便),配置文件中 `DATABASE=` 写绝对路径
```bash
module load PASA/2.5.2
Launch_PASA_pipeline.pl -c alignAssembly.config -C -r -R --ALT_SPLICE -g genome.fa -t all.fa.clean -T -u all.fa -f accession.txt --TDN TCN.acc --transcribed_is_aligned_orient --ALIGNERS blat,gmap --CPU 20
```

---

### FunGAP (真菌基因组注释)
> 集群文档: http://hpc.ncpgr.cn/app/103-fungap/

- **必须先拷贝配置文件到本地**,否则运行过程权限报错:
```bash
singularity exec $IMAGE/FunGAP/FunGAP.sif cp -r /opt/conda/config FunGAP_config
singularity exec -B ./FunGAP_config/:/opt/conda/config/ $IMAGE/FunGAP/FunGAP.sif \
  /workspace/FunGAP/fungap.py --output_dir fungap_out ...
```
- 离线运行需修改 `check_inputs.py` 中 `check_busco_dataset` 函数,注释掉 159-168 行(禁用 `busco --list-datasets`)

---

### Kraken2 (分类学序列分类)
> 集群文档: http://hpc.ncpgr.cn/app/178-kraken2/

- 数据库含 hash.k2d, opts.k2d, taxo.k2d 三个文件
- 标准库建库:`kraken2-build --standard --threads 24 --db $DBNAME`(下载超50GB,建库用超100GB磁盘)
- 可下载预构建数据库,节省时间

---

### vg (泛基因组分析)
> 集群文档: http://hpc.ncpgr.cn/app/138-vg/

- 支持图构建、比对(BWA-MEM/minimap2/Giraffe)、变异检测、可视化
- 更新快,运行问题多在 GitHub issues 中已有解答
- `module load vg/1.53.0`

---

### PanDepth (覆盖度计算)
> 集群文档: http://hpc.ncpgr.cn/app/145-PanDepth/

- 比 samtools 快很多,多线程加速好
- **cram 输入比 bam 更快**
```bash
module load PanDepth/2.21
pandepth -i test.bam -o test1 -t 6
```

---

### Kingfisher (公共测序数据下载)
> 集群文档: http://hpc.ncpgr.cn/app/135-kingfisher/

- 从 EBI ENA/NCBI SRA/Amazon AWS/Google Cloud 下载
- 三种模式:get(下载)、annotate(样本信息)、extract(sra→fastq)
```bash
module load kingfisher/0.3.1
kingfisher get -r SRR12118866 -m ena-ftp
# 或指定多种下载方式自动选最快的
kingfisher get -r ERR1739691 -m ena-ascp aws-http prefetch
```

---

### GROMACS (分子动力学)
> 集群文档: http://hpc.ncpgr.cn/app/121-gromacs/
- 单节点:`mpirun -np $LSB_DJOB_NUMPROC gmx_mpi mdrun -ntomp 1 -noappend`
- 多节点:需 parallel 队列,`-R "span[ptile=25]"` 每节点25核
- GPU版:`module load GROMACS/2018.3-GPU`,需 gpu 队列

---

### AlphaFold3 (蛋白结构预测)
> 集群文档: http://hpc.ncpgr.cn/app/183-alphafold3/

- 需 GPU 队列,**需向管理员申请 GPU 队列使用权限**
- 两步流程:data pipeline(MSA搜索+模板)→ inference(推理输出mmcif)
- 输入为 json 格式,集群中已有权重文件
- data pipeline 阶段可在 CPU 节点运行,仅 inference 需 GPU

---

### RoseTTAFold (蛋白结构预测)
> 集群文档: http://hpc.ncpgr.cn/app/085-RoseTTAFold/

- 精度略低于 AlphaFold,但**内存和时间需求大幅降低**
- 数据库已在 `/share/database/RosettaFold`,可软链接到自己目录
- 集群默认 cuda11.4,使用 `conda env create -f RoseTTAFold-linux.yml`
- PyRosetta 需额外许可证

---

### bgzip + tabix (VCF压缩与快速访问)
> 集群文档: http://hpc.ncpgr.cn/app/124-bgzip/
- bgzip 块压缩 + tabix 索引,支持按区域快速检索,无需解压全文
```bash
module load HTSlib/1.18
bgzip data.vcf              # 压缩 → data.vcf.gz
tabix -p vcf data.vcf.gz    # 建索引 → data.vcf.gz.tbi
tabix data.vcf.gz 11:2343540-2343596  # 快速访问指定区域
```

---

### Genozip (基因组数据压缩)
> 集群文档: http://hpc.ncpgr.cn/app/109-genozip/

- 压缩率为原始大小的 10%~20%,支持 FASTA/VCF/BAM/CRAM
- **学术用户免费**,需申请 license
- **建议用相同版本压缩和解压**
- 使用 `--reference` 参考基因组压缩可获得更高压缩率
- `genozip -@4 file.fq.gz --reference ref.fa`

---

### gzip 文件操作
> 集群文档: http://hpc.ncpgr.cn/app/056-api_read_write_gzip/
- Linux命令:`zcat`/`zless`/`zmore`/`less` 直接读取
- 合并:`cat file1.gz file2.gz > file3.gz`(直接拼接,无需解压)
- 管道处理,无需解压:
```bash
# 按列合并
paste <(gzip -dc file1.gz) <(gzip -dc file2.gz) | gzip > merge.gz
# blastn 直接读gz
blastn -query <(gzip -dc data.fa.gz) -db ./ref -outfmt 6 | gzip > out.gz
```
- Python:`gzip.open("file.gz", "rt")` / `gzip.open("file.gz", "wt")`
- Perl:`open FI, "<:gzip", "file.gz"` / `open FO, ">:gzip", "file.gz"`

---

### ELAI (局部祖源推断)
> 集群文档: http://hpc.ncpgr.cn/app/162-elai/

- 直接处理二倍体数据,无需相位推断,无需重组图谱
- 集群提供多线程版本:`module load Singularity/3.7.3 elai/1.21`
```bash
singularity exec -B $ROOT:/opt/ $IMAGE/debian/debian11.sif /opt/bin/elai-mt \
  -g geno.txt -p 10 -g parv.txt -p 11 -pos pos.txt -s 20 -o chr5 -C 3 -c 20 -mg 6000 -nthreads 4
```

---

### GCC / glibc
> GCC: http://hpc.ncpgr.cn/app/034-gcc/ | glibc: http://hpc.ncpgr.cn/app/095-glibc/
- CentOS7 glibc 为 **2.17**(10年前的版本),越来越多软件不兼容
- 预装GCC:4.8.5, 4.9.2, 5.4.0, 6.2.0, 6.4.0, 7.2.0, 9.4.0, 10.3.0, 11.2.0
- 高版本glibc编译的软件无法在低版本运行 → 用 **singularity容器** 解决
- 查看系统glibc:`ldd --version`

---

### R / RStudio
> R: http://hpc.ncpgr.cn/app/006-R/ | RStudio: http://hpc.ncpgr.cn/app/105-rstudio/
- 推荐优先用 `R/4.0.0`(内置大量R包),无高版本需求时不必换
- R包默认安装:`~/R/x86_64-pc-linux-gnu-library/4.0`
- 部分R包依赖高版本GCC,需先 `module load GCC/x.x.x`
- **RStudio 仅限校内使用**
- 计算节点无联网,R包须在登录节点安装:`install.packages("pkg", lib="~/R/rstudio/4.2/")`
- `rstudio_submit` 提交后用 `bpeek` 获取SSH隧道信息和登录密码

---

### Mamba (快速包管理)
> 集群文档: http://hpc.ncpgr.cn/app/099-mamba/

- C++编写,比 conda 快很多,兼容 conda 命令
- 推荐 **micromamba**(精简版,无需base环境和Python):
```bash
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
~/bin/micromamba shell init -s bash -p ~/micromamba
```
- 集群已有:`module load micromamba`
- 安装优先级:mamba → singularity → 源码编译

---

### Node.js
> 集群文档: http://hpc.ncpgr.cn/app/146-nodejs/
- CentOS7 需用非官方编译版本(`linux-x64-glibc-217` 后缀)
- `module load nodejs/21.6.0`
- 全局安装权限报错:`export NPM_CONFIG_PREFIX=~/.npm-global`

---

### Rust
> 集群文档: http://hpc.ncpgr.cn/app/153-rust/
- 用户调用 cargo 安装软件需设置 `CARGO_HOME` 到个人目录,否则权限拒绝
```bash
export CARGO_HOME=$HOME/.cargo
module load rust/1.76.0
cargo install ripgrep
export PATH="$HOME/.cargo/bin:$PATH"
```

---

### MySQL
> 集群文档: http://hpc.ncpgr.cn/app/014-mysql-database/
- Server 在 s005 节点,联系管理员获取账号密码
```bash
mysql -uUSERNAME -pPASSWORD -h s005
```

---

### 32位软件
> 集群文档: http://hpc.ncpgr.cn/app/101-run-32bit-software/
```bash
singularity exec -B ${PWD}:/opt/ $IMAGE/centos/centos7_32.sif /opt/32bitprogram -h
```

---

### VSCode Remote-SSH
> 集群文档: http://hpc.ncpgr.cn/app/188-vscode/
- CentOS7 glibc 低,最新版 Remote-SSH 无法使用
- **推荐版本 1.98**,提示"不受支持的OS版本"时点击 Allow,不影响使用
- 禁用自动更新:设置中 Update:Channel → 'manual'
- SSH config 添加 `KbdInteractiveAuthentication yes` 支持二次验证

---

### GitHub / Docker 加速
> 集群文档: http://hpc.ncpgr.cn/app/075-github/
- 代理:ghproxy.com, gh-proxy.com, ghfast.top, wget.la
- 多站加速:https://github.com/xixu-me/Xget
```bash
# 下载
wget https://xget.xi-xu.me/gh/samtools/samtools/releases/download/1.22.1/samtools-1.22.1.tar.bz2
# git clone
git clone https://xget.xi-xu.me/gh/samtools/samtools.git
# docker 镜像
singularity pull docker://docker.m.ixdev.cn/dfam/tetools
```

---

## 常见陷阱速查

| 陷阱 | 影响 | 解决 |
|------|------|------|
| GPU 队列权限 | 未申请权限作业会被拒绝 | 先向管理员申请 GPU 队列使用权限 |
| Parabricks 版本选择 | 新版可能有兼容性问题 | 优先使用 `4.0.1-1` 版本,除非有特殊需求 |
| 软件/数据库可用性查询 | 凭记忆或过时信息回答可能错误 | 实际运行 `mii search` 或 `module av` 查询,或检查 `/share/Singularity/`、`/share/database/` |
| BLAST 核数过多 | CPU利用率低,核多不加速 | blastn 设4~8核即可 |
| faST-LMM 多线程 | 多线程比单线程慢1倍 | **不要用** `-maxThreads`,单线程即可 |
| 多样本多步骤策略 | 未询问用户直接选择策略 | 必须先问:逐步处理 vs 依赖链一次提交 |
| 变异检测选型 | DeepVariant 慢且仅用户主动要求才用 | 默认使用 Parabricks,除非用户明确要求 DeepVariant |
| Bismark `--multicore N` | 实际使用 4N 线程 | 申请核心数设为 4N |
| RepeatModeler `-pa N` | 实际使用 4N 线程 | 申请核心数设为 4N |
| CNVnator | 默认用满整节点 | 必须设置 `MKL_NUM_THREADS`/`OMP_NUM_THREADS` |
| faST-LMM `-maxThreads` | 多线程比单线程慢1倍 | **不要用**,单线程即可 |
| Paragraph `/tmp` | 临时文件积累写满系统盘 | 创建专属tmp目录,运行完清理 |
| BS-Seeker2 `/tmp` | 单作业产生30~70GB临时文件 | 用 `--temp_dir=./tmp` |
| HISAT2 找不到索引 | 不报错不退出,假运行 | `bpeek` 检查作业输出 |
| MAKER FAILED | 程序空跑不停止 | 及时查看日志,出错杀掉重跑 |
| SqueezeMeta 第6步 | IO极慢(~8kb/s) | 用 s001 胖节点本地数据库 |
| CellRanger 慢 | 默认8h | 输出到/tmp + `--no-bam` → 2h |
| FunGAP 权限报错 | 运行时无法访问配置 | 先 `cp -r /opt/conda/config` 到本地 |
| BUSCO 离线 | 计算节点无网络 | 登录节点先下载数据库 |
| InterProScan | 本地运行消耗大量资源 | 用网页API,不消耗计算资源 |
| BLAST blastn | CPU利用率低 | 拆分query多作业并行,线程4~8 |
| NR/NT 公共数据库 | 自己下载并 makeblastdb 浪费时间 | `module load nr/xxx` 后直接用 `$NR` 变量引用,已格式化好 |
| blastx/blastp | 速度慢 | 用 diamond 替代 |
| 比对中间文件 | sam文件占空间大 | 管道直接输出bam,不存sam |
| fq.gz 解压 | 浪费存储和时间 | 比对软件多数直接支持 gz |
| RStudio R包 | 计算节点无法联网安装 | 在登录节点安装到指定目录 |
| Node.js >= 18 | 不支持 CentOS7 | 用 glibc-217 非官方编译版 |
| cargo install | Permission denied | 设 `CARGO_HOME` 到个人目录 |
| CentOS7 glibc 2.17 | 新软件不兼容 | 用 singularity 容器 |
| GitHub 下载慢 | 网络限制 | 用 ghproxy / xget 等加速 |

Files in this skill

  • SKILL.md34.3 KB
  • bio/analysis-report/SKILL.md3.8 KB
  • bioSkills/.gitignore731 B
  • bioSkills/CONTRIBUTING.md4 KB
  • bioSkills/LICENSE1 KB
  • bioSkills/README.md35.2 KB
  • bioSkills/alignment-files/README.md3.1 KB
  • bioSkills/alignment-files/alignment-amplicon-clipping/SKILL.md8 KB
  • bioSkills/alignment-files/alignment-amplicon-clipping/examples/ampliconclip_workflow.sh1.7 KB
  • bioSkills/alignment-files/alignment-amplicon-clipping/usage-guide.md4.4 KB
  • bioSkills/alignment-files/alignment-filtering/SKILL.md13.7 KB
  • bioSkills/alignment-files/alignment-filtering/examples/filter_bam.py2.4 KB
  • bioSkills/alignment-files/alignment-filtering/usage-guide.md7.3 KB
  • bioSkills/alignment-files/alignment-indexing/SKILL.md9.4 KB
  • bioSkills/alignment-files/alignment-indexing/examples/fetch_regions.py1.2 KB
  • bioSkills/alignment-files/alignment-indexing/usage-guide.md4.8 KB
  • bioSkills/alignment-files/alignment-sorting/SKILL.md9.8 KB
  • bioSkills/alignment-files/alignment-sorting/examples/sort_pipeline.sh785 B
  • bioSkills/alignment-files/alignment-sorting/usage-guide.md4.4 KB
  • bioSkills/alignment-files/alignment-validation/SKILL.md14.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…