BaizeGen 使用手册 手册版本 2026-11-09

甲基化#

各工具的参数沿用 Bismark 3.1.0 的写法(下划线风格),输出文件的名称和内容与 Bismark 相同。流程说明见甲基化分析。

没有实现的 Bismark 选项一律报错退出,不会被静默忽略;只有不改变结果的 Bismark 写法被接受,下文标为"接受但不起作用"。-h / --help 显示帮助(bsreport、bssummary 也接受 Bismark 的 --man)。

bsprep#

基因组准备(bismark_genome_preparation):按 Bismark 的方式写出 Bisulfite_Genome/{CT,GA}_conversion/genome_mfa.*_conversion.fa,再建立比对器的索引。

baizegen bsprep [--bowtie2 | --baize] [选项] GENOME_FOLDER
参数 说明 默认
GENOME_FOLDER 放参考基因组 FASTA 的目录。必需
--bowtie2 对两个转换基因组运行 bowtie2-build(用户自己安装的 bowtie2),供 --aligner bowtie2 使用。可与 --baize 同时给出,两种索引同时建立 不加 --baize 时的默认
--baize 建立两个转换基因组的 FM 索引(Bisulfite_Genome/BS_CTGA/),供 --aligner baize 使用。人类基因组约 1.5 小时,占用约 12 GB 磁盘
--path_to_aligner DIR(也可写作 --path_to_bowtie2) bowtie2-build 所在目录 PATH
--parallel N 两个 bowtie2-build 各自的线程数(--threads N);不影响 --baize 不传,即 bowtie2-build 的默认

bsalign#

亚硫酸氢盐测序比对(bismark)。--aligner bowtie2 按 Bismark 的方式调用用户的 bowtie2,BAM 和比对报告与 Bismark 3.1.0 逐字节相同;--aligner baize 使用 BaizeGen 自己的比对器(bowtie2 的打分规则),可在 GPU 上运行,与 Bismark 的差异控制在 bowtie2 自身两次运行之间的差异水平之内。

baizegen bsalign --aligner baize|bowtie2 --genome GENOME_FOLDER (-1 FASTQ_1 -2 FASTQ_2 | --single_end FASTQ) [-p N] [选项]

输出 <FASTQ_1 名称>_bismark_bt2_pe.bam 和 <FASTQ_1 名称>_bismark_bt2_PE_report.txt(单端为 .bam 和 _SE_report.txt)。

参数 说明 默认
--aligner baize|bowtie2 比对器。必需(没有默认值,以免将来默认值的变化改变你的结果)
--genome DIR(也可写作 --genome_folder) Bismark 基因组目录(FASTA + Bisulfite_Genome/,如 bsprep 的结果)。必需
-1 FILE -2 FILE 双端 reads(FASTQ,可 gzip 压缩)
--single_end FILE(--se) 单端 reads
-p N --aligner bowtie2:每个 bowtie2 实例的线程数(同时使用 --reorder);--aligner baize:比对线程数 bowtie2:不传(每个实例单线程);baize:全部 CPU
--index PREFIX --aligner baize 的索引 Bisulfite_Genome/BS_CTGA/BS_CTGA
--device gpu|cpu --aligner baize:在 GPU 上搜索(仅 GPU 版,结果与 CPU 相同) cpu
--gpus N|all --device gpu 时使用前 N 张可见的卡或全部;放不下索引的卡不使用,没有可用的卡时在 CPU 上运行 all
--pbat PBAT 文库
--non_directional 非定向文库,比对全部四条链(OT、OB、CTOB、CTOT)
--local 局部比对,允许末端软剪切(bowtie2 --local --score-min G,20,8)
-I/--minins N、-X/--maxins N 双端插入片段长度范围 -I 0、-X 500
-o/--output_dir DIR 输出目录 当前目录
--temp_dir DIR 临时文件目录 输出目录
-B/--basename NAME 输出文件的基本名:NAME_pe.bam、NAME_PE_report.txt(单端 NAME.bam、NAME_SE_report.txt) <FASTQ_1 名称>_bismark_bt2
--prefix STR 在输出文件名前加 STR.
--path_to_bowtie2 DIR bowtie2 所在目录 PATH
--unmapped(--un)、--ambiguous 把未比对 / 多重比对的 reads 写成 gzip 压缩的 FASTQ
--bam_threads N BAM 压缩线程数 min(16, CPU 数)
  • 也可按 Bismark 的写法,把基因组目录写成第一个位置参数(不给 --genome 时),把单端 reads 写成位置参数。
  • 接受但不起作用(兼容 Bismark 的写法,都是 Bismark 的默认行为):--bam、--bowtie2(不能代替 --aligner bowtie2)、-q / --fastq、--phred33-quals、--dovetail。

暂不支持:

  • 多重比对的 BAM:--ambig_bam。
  • 其他比对器:--hisat2、--minimap2 / --mm2、--rammap / --ram / --rammap_subprocess。
  • bowtie2 的调参选项:-N / -n / --seedmms、-L / -l / --seedlen、-D、-R、--score_min、--rdg、--rfg。
  • 输入和输出格式:FASTA 输入(-f / --fasta)、--phred64-quals、SAM / CRAM 输出(--sam、--sam-no-hd、--cram)、临时文件压缩(--gzip)。
  • 只比对部分 reads:-s / --skip、-u / --upto。
  • --no_dovetail、--non_bs_mm、--old_flag、--nucleotide_coverage、--add_barcode、--add_umi、--rg_tag、--slam、--illumina_5base / --five_base、组合索引(--combined_index、--combined_index_single_pass、--combined_index_sequential、--combined_index_parallel)。
  • 逗号分隔的多个 reads 文件。

bsdedup#

去重(deduplicate_bismark):按 Bismark 的键保留每个位置的第一个 template,写出 <名称>.deduplicated.bam 和 <名称>.deduplication_report.txt。

baizegen bsdedup [-p|-s] [--output_dir DIR] [--bam] BISMARK_BAM
参数 说明 默认
BISMARK_BAM bsalign 输出的 BAM,不要按坐标排序(双端的两条记录必须相邻)。必需
-p / -s(也可写作 --paired / --single) 双端 / 单端 由第一条记录判断
--output_dir DIR 输出目录 输入 BAM 所在目录
--bam_threads N BAM 压缩线程数 min(16, CPU 数)
--bam 接受但不起作用(兼容 Bismark 的写法;输出总是 BAM)

bsextract#

甲基化提取(bismark_methylation_extractor,含 bismark2bedGraph 和 coverage2cytosine 两步):各 context 的甲基化调用文件、M-bias、splitting report、.bedGraph.gz / .bismark.cov.gz、CpG report 和 context summary,与 Bismark 3.1.0 的输出相同。

baizegen bsextract [-p|-s] [--gzip] [--bedGraph] [--cytosine_report --genome_folder DIR] [--parallel N] [-o DIR] BISMARK_BAM
参数 说明 默认
BISMARK_BAM bsalign 或 bsdedup 输出的 BAM,不要按坐标排序(双端的两条记录必须相邻)。必需
-p / -s(也可写作 --paired-end / --single-end) 双端 / 单端 由第一条记录判断
--no_overlap / --include_overlap 双端:重叠部分只计一次 / 都计入 --no_overlap
--gzip 各 context 的调用文件和胞嘧啶报告用 gzip 压缩(.bedGraph.gz、.bismark.cov.gz 总是压缩)
--bedGraph 生成 .bedGraph.gz 和 .bismark.cov.gz
--cytosine_report 生成全基因组胞嘧啶报告和 context summary,需要 --genome_folder;同时生成 bedGraph / coverage 文件
--genome_folder DIR(也可写作 -g、--genome) 参考基因组目录
--parallel N(--multicore) 调用和 gzip 压缩的线程数;任何 N 下文件内容相同(.gz 解压后文本相同) 全部 CPU
-o DIR(--output_dir) 输出目录 当前目录
--ignore N 不调用 R1(单端为 read)5' 端的前 N 个碱基 0
--ignore_r2 N 不调用 R2 5' 端的前 N 个碱基;单端数据接受但不起作用 0
--ignore_3prime N 不调用 R1(单端为 read)3' 端的最后 N 个碱基 0
--ignore_3prime_r2 N 不调用 R2 3' 端的最后 N 个碱基 0
--comprehensive 不按链拆分:每个 context 一个文件,包含所有链的调用
--merge_non_CpG CHG 和 CHH 合并写入 Non_CpG 文件;splitting report 给出 non-CpG 的甲基化比例
--yacht 仅单端(如 NOMe-seq):全部调用写入一个 any_C_context 文件,每条附带所在 read 的 5' 端、3' 端位置和链;不能与 --merge_non_CpG 同用
--no_header 各 context 的调用文件不写首行
--mbias_only 只写 M-bias 文件和 splitting report;不能与 --bedGraph、--cytosine_report、--mbias_off、--yacht 同用
--mbias_off 不写 M-bias 文件
--fasta 只在 splitting report 中多写一行说明(与 Bismark 相同,不生成 FASTA 文件)
--cutoff N 一个位置至少有 N 次调用才计入 bedGraph、coverage 文件、胞嘧啶报告和 context summary 1
--CX(--CX_context) bedGraph / coverage 文件包含所有 context(默认只有 CpG);胞嘧啶报告改为 CX 报告(.CX_report.txt,基因组中的每个 C)。需要 --bedGraph 或 --cytosine_report
--zero_based 另写一个 0-based 的 coverage 文件(.bismark.zero.cov,bedGraph 和 coverage 文件不变);胞嘧啶报告的坐标改为 0-based。需要 --bedGraph 或 --cytosine_report
--ucsc 另写一个 UCSC 格式的 bedGraph(.bedGraph_UCSC.bedGraph.gz:染色体名前加 chr,已有的不重复加,MT 写成 chrM)。需要 --bedGraph
--split_by_chromosome 胞嘧啶报告和 context summary 按染色体分文件写出(文件名同 Bismark)。需要 --cytosine_report

接受但不起作用(兼容 Bismark 的写法):--counts(Bismark 默认已打开)、--remove_spaces、--report(splitting report 总会写出)、--gazillion、--ample_memory、--buffer_size N、-q / --quiet、--verbose。

fastq2meth#

在一个进程中依次完成 bsalign、bsdedup(--no_dedup 时跳过,用于 RRBS)和 bsextract。比对结果直接送入去重和提取,不回读 BAM;写出的每个文件与分步运行三个命令相同。

baizegen fastq2meth --aligner baize|bowtie2 --genome GENOME_FOLDER (-1 FASTQ_1 -2 FASTQ_2 | --single_end FASTQ) [-p N] \
    [--no_dedup] [--gzip] [--bedGraph] [--cytosine_report] [bsextract 的选项] [bsalign 的选项]
参数 说明
--no_dedup 跳过去重(RRBS 数据)
--gzip 同 bsextract --gzip
--bedGraph 同 bsextract --bedGraph
--cytosine_report 同 bsextract --cytosine_report,使用 --genome 给出的基因组
  • 比对:接受 bsalign 的全部选项(暂不支持的同样报错)。-o 同时是去重和提取结果的输出目录,--bam_threads 也用于去重后的 BAM。
  • 提取:接受 bsextract 表中从 --ignore 到 --split_by_chromosome 的选项,以及 --counts、--remove_spaces(不起作用)。--gzip 和 --fasta 在这里是提取步骤的选项,不是 Bismark 比对器的同名选项(-f 仍不支持)。
  • 由命令自己决定:双端 / 单端取决于是否给出 -2;双端重叠部分只计一次(即 --no_overlap);提取的线程数取 -p(不给时使用全部 CPU)。因此 bsextract 的 -s、--paired-end / --single-end、--no_overlap / --include_overlap、--parallel / --multicore、-g、--buffer_size、--report、--gazillion、--ample_memory、--quiet、--verbose 在这里不接受(-p 是 bsalign 的线程数)。

bsreport#

单个样本的 HTML 报告,内容同 bismark2report(运行信息、比对、各链比例、去重、胞嘧啶甲基化、M-bias),页面为 BaizeGen 自己的单文件页面。

baizegen bsreport [--alignment_report FILE] [--dedup_report FILE|none] [--splitting_report FILE|none] \
    [--mbias_report FILE|none] [--nucleotide_report FILE|none] [--dir DIR] [-o NAME]
参数 说明 默认
--alignment_report FILE 比对报告(*_PE_report.txt / *_SE_report.txt) 当前目录中的每个比对报告
--dedup_report FILE|none 去重报告;none 表示不使用 按比对报告的名称查找
--splitting_report FILE|none 提取的 splitting report;none 表示不使用 按名称查找,先找去重后的
--mbias_report FILE|none M-bias 报告;none 表示不使用 按名称查找,先找去重后的
--nucleotide_report FILE|none 核苷酸组成报告(.nucleotide_stats.txt);none 表示不使用 按名称查找
--dir DIR HTML 页面的输出目录 当前目录
-o NAME(--output) 页面的文件名,只能在处理一个比对报告时使用 比对报告的名称,.txt 换成 .html
--verbose 接受但不起作用(兼容 Bismark 的写法)

按名称查找的报告不存在时跳过;明确给出的文件读不到时报错。

bssummary#

项目汇总(bismark2summary):BASENAME.txt(与 Bismark 3.1.0 的表逐字节相同)和 BASENAME.html(BaizeGen 的页面)。

baizegen bssummary [-o BASENAME] [--title TITLE] [BAM ...]
参数 说明 默认
BAM ... 要汇总的 Bismark BAM,每个 BAM 一行,按给出的顺序 当前目录中的每个 *bismark_bt2[_pe].bam(及 *bismark_hisat2[_pe].bam),按名称排序
-o BASENAME(--basename) 输出文件名的前缀:BASENAME.txt、BASENAME.html bismark_summary_report
--title TITLE HTML 页面的标题 Bismark Summary Report
--verbose 接受但不起作用(兼容 Bismark 的写法)

各 BAM 对应的比对报告(必需)、去重报告和 splitting report 按 BAM 名称自动查找。部分样本去过重、部分没有时,与 bismark2summary 一样只写出 .txt 并以状态 1 退出。

BaizeGen 使用手册 · 手册版本 2026-11-09。命令行参数以所用版本的 baizegen <命令> --help 为准。