生成图文并茂的分析报告/实验报告/质检报告(固定模版)。当用户要求"生成报告/总结报告/实验报告/质检报告/QC报告",或分析流程收尾需要交付报告时使用。报告必须基于真实分析输出,包含固定章节结构、关键指标表格和真实结果图。
日本語の概要は準備中です。原文の説明を表示しています。
集群数据管理 Skill —— 涵盖数据使用规范、压缩优化、数据共享(ACL)、文件扫描与清理、文件完整性校验、genozip 基因组压缩等全流程。
Use when the user asks about: managing data on the HPC cluster, compressing genomic files (fq/bam/vcf), sharing data between users/groups, scanning for large files or cleaning up disk space, checking file integrity (md5/gzip/bam), using genozip, checking disk quota, or any data lifecycle management task on the NCPGR HPC cluster.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
当用户需要执行以下任何操作时使用本 Skill:
以下是集群数据管理的核心原则,在回答用户问题时应始终遵循:
diskquota 命令查看使用情况,超过配额无法写入数据# 查看当前账号的存储配额使用情况
diskquota
# 查看当前目录各子目录的大小
du -sh */
# 查看指定目录的总大小
du -sh /path/to/directory
# 按大小排序列出子目录
du -sm */ | sort -rn | head -20
# 开放本账号 home 目录的读权限给本组用户
chmod 750 ~
开放后本组其他用户可以访问、拷贝本账号内的数据。除非特殊情况,不建议开放写权限。
# 添加权限:将 user1 的 home 目录对 GROUP2 组开放读权限
setfacl -m g:GROUP2:rx /public/home/user1
# 查看权限
getfacl /public/home/user1
# 课题合作结束后删除权限
setfacl -x g:GROUP2 /public/home/user1
# 添加权限:将 user1 的 home 目录对 user2 开放读权限
setfacl -m u:user2:rx /public/home/user1
# 查看权限
getfacl /public/home/user1
# 课题合作结束后删除权限
setfacl -x u:user2 /public/home/user1
/public/home/user1/data,需先对 /public/home/user1 开放权限,再对 data 目录开放setfacl -m u:user2:rx /public/home/user1,然后测试 user2 能否访问目标目录扫描当前账号下大于 100M 的文本文件(fq、fa、sam、vcf、bed 等):
# 扫描大文本文件
bsub -n 5 -J scan -o filescan.out -e filescan.err \
"ls -d ~/* |xargs -I[] -P 5 find [] -size +100M -type f -exec sh ASCII.sh {} \; >filetxt_$(whoami)_$(date +%y%m%d)"
其中 ASCII.sh 脚本内容:
#!/bin/sh
na=$1
ty=`file -b $1|xargs echo -n|cut -d" " -f 1`
si=`du -sm $1`
if [ $ty == ASCII ];then
echo $si
fi
从扫描结果中剔除需要保留的文件后,批量 gzip 压缩:
bsub -n 5 -J gzip -o filegzip.out -e filesgzip.err \
"cat filetxt_$(whoami)_$(date +%y%m%d)|awk '{print \$2}'|xargs -P 5 -i sh gzip.sh {} > filegzip_$(whoami)_$(date +%y%m%d) 2>&1"
其中 gzip.sh 脚本内容:
#!/bin/sh
file=$1
if [ -f $file ];then
echo $file
gzip $file
fi
清理建议:
# 扫描所有大于 100M 的文件
bsub -n 5 -J scan -o filescan.out -e filescan.err \
"ls -d ~/* |xargs -I[] -P 5 find [] -size +100M -type f |xargs du -sm >fileall_$(whoami)_$(date +%y%m%d)"
# 扫描大于 100M 且修改时间超过 90 天的文件
bsub -n 5 -J scan -o filescan.out -e filescan.err \
"ls -d ~/* |xargs -I[] -P 5 find [] -mtime +90 -size +100M -type f |xargs du -sm >fileall_$(whoami)_$(date +%y%m%d)"
# 进入交互节点,查看当前目录下每个子目录的文件数
find . -maxdepth 1 -type d -print0 | xargs -P 10 -0 -I{} sh -c 'printf "%s\t%s\n" "{}" "$(find "{}" -type f -print | wc -l)"'
# 生成 md5 校验文件(同时对 5 个文件并行计算)
ls *gz|xargs -i -P 5 md5sum {} > md5.txt
# 查看生成的校验文件
cat md5.txt
# 利用 md5 校验文件验证数据完整性
md5sum -c md5.txt
适用于没有原始 md5 校验文件的 gzip 文件:
# 批量并行检查(无输出则表示文件完整)
ls|xargs -i -P 5 gzip -t {}
# 单文件检查 — 出现如下报错则说明文件不完整
gzip -t file.fastq.gz
# 报错示例:gzip: file.fastq.gz: unexpected end of file
如有 pigz,使用 pigz 替代 gzip 速度更快。
# -j 10 多线程,-e 跳过错误继续
seqkit stats -j 10 *.fq.gz -e
文件有问题时会输出 WARN,正常则输出统计信息。
# 批量检查 bam 文件(cram 文件同样适用)
for i in *.bam; do (samtools quickcheck $i && echo "ok" || echo $i error); done
建议在以下场景检查 bam 完整性:
# 校验双端测序文件配对完整性
pecheck -i sample_R1.fq.gz -I sample_R2.fq.gz -j sample.json
输出 result 为 "passed" 则表示配对完整。
Genozip 是专为基因组数据设计的高效压缩工具,相比 gzip 可节省至少 50% 以上空间。
支持格式:FASTQ、BAM、CRAM、VCF、FASTA 等 关键特性:
注意:压缩和解压建议使用相同版本的 genozip。
# 载入 genozip 模块
module load genozip/15.0.4
# 将 license 拷到自己的 home 目录(执行一次即可)
cp $LIC ~
# 或使用 --licfile 参数指定 license 位置
genozip --licfile $LIC
# 压缩单个 fq.gz 文件
# -@4 使用 4 个线程
# --reference 使用参考基因组压缩(首次使用会生成 .genozip 索引文件)
genozip -@4 sample.fq.gz --reference ref.fa
# 解压(需指定参考基因组,若路径未变可省略 --reference)
genounzip -@4 sample.fq.genozip
# 使用 --REFERENCE(大写),输出文件中包含部分参考基因组,解压时不需要基因组
genozip -@4 sample.fq.gz --REFERENCE ref.fa
genounzip -@4 sample.fq.genozip
# 双端 fq 合并压缩(可获得更高压缩率)
genozip -@4 --reference ref.fa --pair sample_1.fq.gz sample_2.fq.gz
# 解压双端合并文件
genounzip -@4 --reference ref.fa sample_1+2.clean.fq.genozip
genozip -@4 sample_sorted.bam
genounzip -@4 sample_sorted.bam.genozip
fq 和 bam 联合压缩后,bam 文件大小几乎可以不计:
genozip -@4 --deep --reference ref.fa sample_sorted.bam sample_1.fq.gz sample_2.fq.gz
genounzip sample_sorted.deep.genozip
genozip -@4 sample.vcf.gz
genounzip -@4 sample.vcf.gz.genozip
genozip 压缩过程分 2 步:压缩和校验。压缩完成后会自动将压缩文件在内存中解压并与原始文件比较,校验通过才算压缩完成。压缩成功后输出类似:
testing: genounzip sample.R1.fq.gz : verified as identical to the original FASTQ
注意:原始 gz 文件与 genozip 解压后的 gz 文件的 md5 值不一致,只有两者都解压成文本文件后的 md5 才一致:
# 验证方式
zcat file.fastq.gz | md5sum
| 物种 | 文件类型 | 原始大小 | genozip 大小 | 压缩率 |
|---|---|---|---|---|
| 水稻 | fq.gz (R1) | 4.6G | 1.1G | ~76% |
| 棉花 | fq.gz (R1) | 15G | 3.2G | ~79% |
| 玉米 | fq.gz (R1) | 9.4G | 3.0G | ~68% |
| 水稻 | bam | 7.0G | 2.3G | ~67% |
| 棉花 | bam | 52G | 16G | ~69% |
| 水稻 | fq+fq+bam | 16.4G | 2.5G | ~85% |
| 水稻 | vcf.gz | 18M | 7.5M | ~58% |
genozip 将双端 fq 合并压缩后,文件格式为 interleaved(序列条目交替存储)。部分比对软件支持 interleaved 输入,可直接使用 genozip 文件而无需解压。
genocat sample_1+2.fq.genozip | bwa mem $ref - -p -t 20 -T 0 \
-R "@RG\tID:id\tSM:sample\tPL:Illumina" | samtools sort -@20 -o sample_sorted.bam
Bowtie2 的 --interleaved 选项支持 interleaved 格式输入。
-@ 参数)genozip --deep 压缩人的 fq+bam 时报错:目前暂无法解决,建议分开压缩| 操作 | 命令 |
|---|---|
| 查看存储配额 | diskquota |
| 多线程压缩文件 | pigz file.txt |
| 多线程解压文件 | pigz -d file.txt.gz |
| 大文件远程拷贝 | rsync -avP src/ dest/ |
| 生成 md5 校验 | ls *gz|xargs -i -P 5 md5sum {} > md5.txt |
| 验证 md5 校验 | md5sum -c md5.txt |
| gzip 完整性检查 | gzip -t file.gz |
| bam 完整性检查 | samtools quickcheck file.bam |
| 双端 fq 校验 | pecheck -i R1.fq.gz -I R2.fq.gz |
| genozip 压缩 fq | genozip -@4 file.fq.gz --reference ref.fa |
| genozip 解压 | genounzip -@4 file.genozip |
| 共享给组 | setfacl -m g:GROUP:rx /path |
| 共享给用户 | setfacl -m u:user:rx /path |
| 删除共享权限 | setfacl -x g:GROUP /path |
| 查看 ACL 权限 | getfacl /path |
| 扫描大文本文件 | find ~ -size +100M -type f -exec file {} \; |
| 统计子目录文件数 | find . -maxdepth 1 -type d | xargs -I{} sh -c 'echo $(find "{}" -type f | wc -l) {}' |
diskquota 检查配额まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
生成图文并茂的分析报告/实验报告/质检报告(固定模版)。当用户要求"生成报告/总结报告/实验报告/质检报告/QC报告",或分析流程收尾需要交付报告时使用。报告必须基于真实分析输出,包含固定章节结构、关键指标表格和真实结果图。
日本語の概要は準備中です。原文の説明を表示しています。
Predicts ADMET properties using ADMETlab 3.0 (119 endpoints with uncertainty), ADMET-AI, DeepChem MolNet, and chemprop D-MPNN with explicit handling of OECD QSAR principles, applicability domain assessment, calibration, hERG/CYP/AMES gold-standard endpoints, and PAINS / Lipinski / Ro5 / Veber / BBB druglikeness filters. Use when filtering compounds for drug-likeness, prioritizing leads by predicted safety, or building an in-house ADMET QSAR model.
日本語の概要は準備中です。原文の説明を表示しています。
Trim PCR primers from aligned reads in amplicon-panel BAMs using samtools ampliconclip. Use when processing SARS-CoV-2 ARTIC, hereditary cancer panels, ctDNA hot-spot panels, or any amplicon assay where primer-derived bases would falsely confirm reference at primer footprints.
日本語の概要は準備中です。原文の説明を表示しています。
Filter alignments by flags, mapping quality, and regions using samtools view and pysam. Use when extracting specific reads, removing low-quality alignments, or subsetting to target regions.
日本語の概要は準備中です。原文の説明を表示しています。
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam. Use when enabling random access to alignment files or fetching specific genomic regions.
日本語の概要は準備中です。原文の説明を表示しています。
Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO. Supports Clustal, PHYLIP, Stockholm, FASTA, Nexus, and other alignment formats for phylogenetics and conservation analysis. Use when reading, writing, or converting alignment file formats.
日本語の概要は準備中です。原文の説明を表示しています。