安装¶
从 PyPI¶
pip install alnkit # 分析链路
pip install "alnkit[plot]" # + 绘图(matplotlib)
要求 Python >= 3.10。
- 必需:
pysam(读 BAM/FASTA;自带 samtools 能力,但 0.3.0 起包内不再做排序/建索引); - 长读长链路必需:
minimap2(long classify的 overlap、long locate的锚点比对、plot ribbon的内部比对、long assemble默认的assembly_support.tsv都要它; 目前没有纯 Python 等价替代); - 可选:
matplotlib(alnkit[plot],只有绘图子命令需要)。 - 不要装
mappy也能用:它只是 minimap2 的 Python 绑定,只返回比对命中,不产出 BAM/PAF, 无法替代本包对minimap2命令行输出的依赖。
从源码(开发)¶
git clone git@github.com:liuyinzhe/alnkit.git
cd alnkit
pip install -e ".[dev,docs]"
python -m pytest
外部命令(不在 wheel 里)¶
| 命令 | 用途 | 建议版本 | 装法 |
|---|---|---|---|
minimap2 |
比对(长读长 / overlap / 丝带图内部比对) | >= 2.24 | conda install -c bioconda minimap2 |
samtools |
可选:只有 plot tracks --bam-mode subset 会调用外部 samtools;准备上游文件(faidx/sort/index)时你自己需要 |
>= 1.16 | conda install -c bioconda samtools |
bwa |
二代比对(可选,用户自己跑) | — | conda install -c bioconda bwa |
装完自检:
alnkit doctor
它会打印每个组件的版本;必需项缺失时退出码为 1,可选项缺失只提示。
不装外部命令会怎样¶
long locate、long assemble(默认开启的支撑度报告,可用 --no-support-report 关掉)、
plot ribbon 的「内部比对」模式都会调用 minimap2——它们要吃 minimap2 的 SAM/PAF 输出,
没有替代实现。缺 minimap2 时:long assemble 只警告并跳过该报告(其余产物照常),
long locate 与 plot ribbon 直接报错(退出码 1)。
其余命令只吃你自带的 BAM/PAF,不需要任何外部比对器;
samtools 只有 plot tracks --bam-mode subset 会用。