Skip to main content

用于计算分子生物学的免费工具。

项目描述

Python 包索引 (PyPI) 上的 Biopython Conda 包 conda-forge 频道上的 Biopython 使用 TravisCI 进行 Linux 测试 使用 CircleCI 进行 Linux 测试 使用 AppVeyor 进行 Windows 测试 TravisCI 测试覆盖率 研究软件对 Depsy 的影响 Biopython 项目

Biopython 自述文件

Biopython 项目是一个国际协会,由免费提供的用于计算分子生物学的 Python 工具的开发者组成。

我们以用户为中心的文档托管在http://biopython.org上,包括主要的 Biopython 教程和食谱:

此 README 文件主要面向对使用 Biopython 源代码感兴趣的人,该源代码可以是来自 http://biopython.org网站的版本之一,也可以来自我们在 GitHub 上的存储库 https://github.com/biopython/biopython

NEWS 文件总结了 Biopython 每个版本的变化。

Biopython 软件包是在慷慨的条件下提供的开源软件。请参阅许可证文件以获取更多详细信息。

如果您在为科学出版物做出贡献的工作中使用 Biopython,我们要求您引用我们的应用说明(如下)或模块特定出版物之一(在我们的网站上列出):

公鸡,PJA 等人。Biopython:用于计算分子生物学和生物信息学的免费 Python 工具。生物信息学 2009 年 6 月 1 日;25(11) 1422-3 https://doi.org/10.1093/bioinformatics/btp163 pmid:19304878

对于不耐烦的

从 Python 3.6 开始,包括包管理系统“pip”,它应该允许您安装 Biopython(以及它的依赖项 NumPy,如果需要),只需一个终端命令即可升级或卸载:

pip install biopython
pip install --upgrade biopython
pip uninstall biopython

自 Biopython 1.70 以来,我们在 PyPI 上为 Linux、Mac OS X 和 Windows 提供了预编译的二进制轮包。这意味着 pip install 应该很快,并且不需要编译器。

作为开发人员或潜在贡献者,您可能希望自己下载、构建和安装 Biopython。这在下面描述。

Python 要求

我们目前推荐使用来自http://www.python.org的 Python 3.9

Biopython 目前在以下 Python 实现上得到支持和测试:

Biopython 1.68 是我们支持 Python 2.6 的最终版本,而 Biopython 1.76 是我们支持 Python 2.7 和 Python 3.5 的最终版本。

可选依赖项

Biopython 需要 NumPy(请参阅http://www.numpy.org),如果您使用 pip 安装 Biopython,它将自动安装(请参阅下面的自行编译 Biopython)。

根据您计划使用 Biopython 的哪些部分,还有许多其他可选的 Python 依赖项,如果需要,可以稍后安装:

此外,您可能希望安装许多有用的第三方工具,例如独立的 NCBI BLAST、EMBOSS 或 ClustalW。

从源安装

我们建议使用 PyPI 上可用的预编译二进制轮子:

pip install biopython

但是,如果您需要自己编译 Biopython,则在编译时需要以下内容:

  • Python 包括诸如python.h 之类的开发头文件,默认情况下通常不会在 Linux 上安装这些文件(尝试查找并安装名为python-devpython-devel的包以及python pacakge)。

  • 适合您的 Python 版本的 C 编译器,例如 Linux 上的 GCC、Windows 上的 MSVC。对于 Mac OS X 或现在的品牌 macOS,使用 Apple 的命令行工具,可以使用终端命令安装:

    xcode-select --install

    这将提供安装 Apple 的 XCode 开发套件 - 您可以,但它不是必需的,并且会占用大量磁盘空间。

然后下载并解压我们的源代码,或者使用 git 获取它。现在将目录更改为 Biopython 源代码文件夹并运行:

python setup.py build
python setup.py test
sudo python setup.py install

如果需要,用您的特定版本替换python,例如 python3pypy3

要排除需要 Internet 连接(并且可能需要很长时间)的测试,请使用--offline选项:

python setup.py test --offline

如果您需要进行其他配置,例如更改安装目录前缀,请键入python setup.py

测试

Biopython 包括一套回归测试来检查一切是否正常运行。要运行测试,请转到 biopython 源代码目录并键入:

python setup.py build
python setup.py test

如果您想跳过在线测试(重复测试时建议这样做),请使用:

python setup.py test --offline

如果您看到有关跳过测试的警告消息,请不要惊慌:

test_DocSQL ... skipping. Install MySQLdb if you want to use Bio.DocSQL.

这很可能意味着未安装软件包。如果它发生在您不打算使用的模块的测试中,您可以忽略它。如果您确实想使用该模块,请安装所需的依赖项并重新运行测试。

由于网络问题,某些测试可能会失败,这通常是偶然的或服务中断。如果问题在重新运行测试时没有消失,您可以使用--offline选项。

Biopython Tutorial & Cookbook 中有更多的测试信息。

实验代码

Biopython 1.61 引入了一个新警告,Bio.BiopythonExperimentalWarning,用于标记包含在其他稳定的 Biopython 版本中的任何实验代码。这样的“beta”级代码已准备好进行更广泛的测试,但仍有可能发生变化,并且只能由早期采用者尝试,以便通过 biopython-dev 邮件列表提供反馈。

我们希望这样的实验代码在一两个版本中达到稳定状态,此时我们关于尝试保持向后兼容性的正常策略将适用。

错误

当我们尝试发布一个强大的包时,不可避免地会出现错误。如果您遇到的问题可能是由 Biopython 中的错误引起的,那么它可能已经被识别出来。如果您还没有使用它,请更新到最新版本,然后重试。如果问题仍然存在,请搜索我们的错误数据库和我们的邮件列表,看看它是否已经被报告(并希望得到修复),如果没有,请报告错误。我们无法解决我们不知道的问题;)

问题跟踪器:https ://github.com/biopython/biopython/issues

如果您怀疑问题出在解析器中,则数据格式可能已更改并破坏了解析代码。(文本 BLAST 和 GenBank 格式似乎特别脆弱。)因此,Biopython 中的解析代码的更新速度有时比我们构建 Biopython 版本的速度更快。您可以通过从我们的 git 存储库中提取相关文件(例如Bio.SeqIOBio.Blast中的文件)来获取最新的解析器。但是,这样做时要小心,因为 github 中的代码没有经过测试的已发布代码,并且可能包含新的依赖项。

在任何错误报告中,请让我们知道:

  1. 您使用的是哪种操作系统和硬件(32 位或 64 位)

  2. 蟒蛇版本

  3. Biopython 版本(或 git commit/date)

  4. 发生的回溯(完整的错误消息)

理想情况下:

  1. 中断的示例代码

  2. 导致问题的数据文件

贡献,错误报告

Biopython 由来自世界各地的志愿者经营,具有多种背景。我们一直在寻找对代码开发、网站管理、文档编写、技术管理以及任何其他方面的帮助感兴趣的人。

如果您想投稿,请先在这里阅读CONTRIBUTING.rst,访问我们的网站http://biopython.org并加入我们的邮件列表: http ://biopython.org/wiki/Mailing_lists

分布结构

  • README.rst—— 这个文件。

  • NEWS.rst – 发布说明和新闻。

  • LICENSE.rst - 你可以用代码做什么。

  • CONTRIB.rst - 以某种方式帮助 Biopython 的人员(不完整)列表。

  • CONTRIBUTING.rst – 关于如何为 Biopython 做出贡献的概述。

  • DEPRECATED.rst - 包含有关 Biopython 中已删除或不再推荐使用的模块的信息,以及如何更新使用这些模块的代码。

  • MANIFEST.in – 配置要包含在版本中的文件。

  • setup.py – 安装文件。

  • Bio/ - 主要代码基础代码。

  • BioSQL/ – 将 Biopython 与 BioSQL 数据库结合使用的代码。

  • Doc/ - 文档。

  • Scripts/ – 杂项,可能有用的独立脚本。

  • 测试/ - 回归测试代码,包括示例数据文件。