scikit-bio 是面向生物信息学的 Python 库,用于序列操作、比对、系统发育、微生物生态与多元统计。
用途:处理 DNA/RNA/蛋白质序列,读写 FASTA、FASTQ、GenBank、EMBL、Newick、BIOM 等格式;做序列比对与保守基序查找;构建和分析系统发育树;计算 alpha/beta 多样性与 UniFrac;进行排序分析(PCoA、CCA、RDA);对群落数据做 PERMANOVA、ANOSIM、Mantel 等检验;处理蛋白语言模型嵌入。
主要能力:
- 序列:DNA/RNA/Protein/Sequence 类,反向互补、转录、翻译、正则查找基序、去 gap,FASTQ 质量值自动进入位置元数据。
- 比对:pair_align(默认 mode='global' 可设 local 等)及 pair_align_nucl、pair_align_prot;支持 (match, mismatch) 或矩阵名(如 NUC.4.4、BLOSUM62),线性或仿射 gap;结果含 CIGAR,可转 TabularMSA。
- 树:nj、upgma、gme、bme 构建,nni 重排,shear 剪枝,lca,cophenet 计算 patristic 距离,compare_rfd 比较树。
- 多样性:alpha_diversity、beta_diversity,需整数计数;系统发育指标需传 tree 与 taxa。
- 统计:skbio.stats.distance 下的 permanova、anosim、mantel;skbio.stats.composition 的差异丰度(ancom、dirmult_ttest、dirmult_lme)。
使用方式:安装命令资料以 “uv p” 截断,暂未提供完整安装方式。常见用法如 skbio.DNA.read('input.fasta')、pair_align_nucl(seq1, seq2)、TreeNode.read('tree.nwk')、alpha_diversity('shannon', counts_matrix, ids=sample_ids)、pcoa(distance_matrix, dimensions=3)、permanova(distance_matrix, grouping, permutations=999)。大文件可用生成器迭代读取。
限制:多样性输入须为原始整数计数,不能是相对丰度;系统发育指标需树与特征到叶节点的映射;PERMANOVA 对离散度敏感,建议配合 PERMDISP;差异丰度应用原始计数;部分指标对树是否生根有要求。其余收费、平台等信息暂未提供。