甲基化#
各工具的参数沿用 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 退出。