技能scikit-bio
S

scikit-bio

生物数据工具包。序列分析、比对、系统发育树、群落多样性指标(α/β、UniFrac)、排序分析(PCoA)、PERMANOVA、FASTA/Newick 输入/输出,用于微生物组分析。

scikit-bio - Python 生物数据分析工具包

技能概述

scikit-bio 是一个用于生物数据分析的综合 Python 库,提供序列操作、比对、系统发育学、微生物生态学和多元统计分析等功能,适用于微生物组研究、生物信息学分析和群落生态学研究。

适用场景

1. 微生物组多样性分析

适用于分析微生物群落的物种组成和多样性变化。支持 Alpha 多样性(Shannon、Simpson、Chao1、Faith's PD)和 Beta 多样性(Bray-Curtis、Jaccard、UniFrac)计算,可结合主坐标分析(PCoA)和 PERMANOVA 统计检验,揭示样本间群落结构差异。

2. 序列处理与系统发育分析

适用于处理 DNA、RNA 和蛋白质序列。支持 FASTA、FASTQ、GenBank 等多种格式的读取和写入,提供全局和局部序列比对,可基于距离矩阵构建系统发育树(NJ、UPGMA),并进行树结构比较和进化距离计算。

3. 群落生态学统计检验

适用于对生态学数据进行假设检验。支持 PERMANOVA(评估分组差异)、ANOSIM(替代分组检验)、PERMDISP(检验组内离散度同质性)、Mantel 检验(距离矩阵相关性)等统计方法,为微生物组、植物群落等研究提供严格的统计推断。

核心功能

1. 序列操作与比对

提供 DNA、RNA、蛋白质序列的读取、写入、反向互补、转录和翻译功能。支持全局、局部和半全局比对(pair_align),可配置打分矩阵和间隙罚分。结果包含 CIGAR 字符串和对齐序列,可直接构建 TabularMSA 对象用于下游分析。支持序列质量评分处理和基序搜索。

2. 多样性与排序分析

计算 Alpha 多样性(丰富度、均匀度、系统发育多样性)和 Beta 多样性(包括加权和不加权 UniFrac)。提供主坐标分析(PCoA)、对应分析(CA)、典范对应分析(CCA)和冗余分析(RDA)等降维方法,可视化高维生物学数据。

3. 统计检验与文件 I/O

集成 PERMANOVA、ANOSIM、Mantel 检验等生态学专用统计方法,支持差分丰度分析(ancomdirmult_ttest)。提供 19+ 种生物学文件格式的读写支持,包括序列(FASTA/FASTQ)、系统发育树(Newick)、BIOM 表格、距离矩阵等,可自动检测格式。

常见问题

scikit-bio 和 Biopython 有什么区别?

scikit-bio 专注于微生物组分析、群落生态学和系统发育学,提供多样性分析、排序和生态统计检验;Biopython 则是通用生物信息学工具集,更侧重于序列操作、数据库访问和分子生物学建模。两者可互补使用,scikit-bio 在微生物生态学领域提供更高层次的抽象和统计方法。

如何使用 scikit-bio 进行 UniFrac 分析?

需要准备特征丰度表、系统发育树和特征-分类单元映射。使用 beta_diversity('unweighted_unifrac', counts, ids=sample_ids, tree=tree, taxa=feature_ids) 计算距离矩阵,结果可用于下游的聚类、PCoA 可视化或 PERMANOVA 分组检验。加权 UniFrac 使用 'weighted_unifrac' 作为指标。

scikit-bio 需要什么 Python 版本和依赖?

需要 Python 3.10 或更高版本。核心依赖是 NumPy 2.0+,推荐使用 uv pip install scikit-bio 安装(预编译轮包无需编译器)。可选依赖包括 matplotlib/seaborn/plotly(绘图)、biom-format(BIOM 表格)、polars/anndata(表格互操作)。Conda 用户可使用 conda install -c conda-forge scikit-bio