Biopython 项目是一个国际计算分子生物学 Python 工具开发者协会。
此自述文件主要面向对使用 Biopython 源代码感兴趣的人们,无论是来自 http://biopython.org 网站的版本之一,还是来自我们在 GitHub 上的存储库 https://github.com/biopython/biopython
我们以用户为中心的文档、Biopython 教程和食谱以及 API 文档是使用 Sphinx 从我们的存储库生成的。
NEWS 文件总结了 Biopython 每个版本的更改,以及记录 API 损坏的 DEPRECATED 文件。
Biopython 包是开源软件,以慷慨的条款提供。请参阅许可证文件了解更多详细信息。
如果您在为科学出版物做出贡献的工作中使用 Biopython,我们要求您引用我们的应用说明(如下)或模块特定出版物之一(在我们的网站上列出):
考克,PJA 等人。 Biopython:用于计算分子生物学和生物信息学的免费 Python 工具。生物信息学2009年6月1日; 25(11)1422-3 https://doi.org/10.1093/bioinformatics/btp163 pmid:19304878
Python 包含包管理系统“pip”,它允许您安装 Biopython(及其依赖项 NumPy,如果需要),只需一个终端命令即可升级或卸载:
pip安装biopython pip install --升级biopython pip卸载biopython
从 Biopython 1.70 开始,我们在 PyPI 上为 Linux、macOS 和 Windows 提供了预编译的二进制轮包。这意味着 pip install 应该很快,并且不需要编译器。
作为开发人员或潜在贡献者,您可能希望自己下载、构建和安装 Biopython。下面对此进行描述。
我们目前建议使用 http://www.python.org 中的 Python 3.11
Biopython 目前在以下 Python 实现上受支持和测试:
Biopython 需要 NumPy(参见 http://www.numpy.org),如果您使用 pip 安装 Biopython(参见下文自行编译 Biopython),则会自动安装 NumPy。
根据您计划使用 Biopython 的哪些部分,还有许多其他可选的 Python 依赖项,可以在需要时稍后安装:
Bio.Graphics
中使用,因此如果您不需要此功能,则无需安装此软件包。Bio.Phylo
使用此包来绘制系统发育树。Bio.Phylo
中的某些利基功能。Bio.Phylo
下的 CDAO 解析器。BioSQL
使用这些包来访问 PostgreSQL 数据库。BioSQL
使用该包来访问 MySQL 数据库,PyPy 也支持该包。BioSQL
使用它来访问 MySQL 数据库。它由 PyPy 支持。此外,您可能希望安装许多有用的第三方工具,例如独立的 NCBI BLAST、EMBOSS 或 ClustalW。
我们建议使用 PyPI 上提供的预编译二进制轮:
pip安装biopython
但是,如果需要自己编译Biopython,则编译时需要满足以下条件:
Python 包括像python.h
这样的开发头文件,在 Linux 上通常默认情况下不会安装这些文件(尝试查找并安装名为python-dev
或python-devel
包以及python
包)。
适合您的 Python 版本的 C 编译器,例如 Linux 上的 GCC、Windows 上的 MSVC。对于 Mac OS X,或者现在的 macOS,使用 Apple 的命令行工具,可以使用终端命令安装:
xcode-选择--安装
这将提供安装 Apple 的 XCode 开发套件 - 您可以,但它不是必需的,并且会占用大量磁盘空间。
然后下载并解压我们的源代码,或者使用 git 获取它。现在将目录更改为 Biopython 源代码文件夹并运行:
pip install -e 。 python setup.py 测试 sudo python setup.py 安装
如果需要,请将python
替换为您的特定版本,例如python3
或pypy3
。
要排除需要互联网连接(并且可能需要很长时间)的测试,请使用--offline
选项:
python setup.py 测试 --offline
如果您需要进行其他配置,例如更改安装目录前缀,请输入python setup.py
。
Biopython 包含一套回归测试来检查一切是否正常运行。要运行测试,请转到 biopython 源代码目录并输入:
pip install -e 。 python setup.py 测试
如果您想跳过在线测试(在进行重复测试时建议这样做),请使用:
python setup.py 测试 --offline
如果您看到跳过测试的警告消息,请不要惊慌:
test_DocSQL ... 跳过。如果您想使用 Bio.DocSQL,请安装 MySQLdb。
这很可能意味着未安装软件包。如果它发生在您不打算使用的模块的测试中,您可以忽略它。如果您确实想使用该模块,请安装所需的依赖项并重新运行测试。
一些测试可能会由于网络问题而失败,这通常是偶然的或服务中断。如果重新运行测试后问题仍未消失,您可以使用--offline
选项。
Biopython 教程和食谱中有更多测试信息。
Biopython 1.61 引入了一个新警告Bio.BiopythonExperimentalWarning
,它用于标记稳定 Biopython 版本中包含的任何实验代码。这种“beta”级代码已准备好进行更广泛的测试,但仍然可能会发生变化,并且只能由早期采用者尝试,以便通过 biopython-dev 邮件列表提供反馈。
我们希望此类实验代码在一两个版本内达到稳定状态,此时我们关于尝试保持向后兼容性的正常策略将适用。
当我们尝试提供一个强大的软件包时,错误不可避免地会出现。如果您遇到的问题可能是由 Biopython 中的错误引起的,那么它可能已经被识别出来。如果您尚未使用最新版本,请更新到最新版本,然后重试。如果问题仍然存在,请搜索我们的错误数据库和邮件列表以查看是否已报告(并希望已修复),如果没有,请报告该错误。我们无法解决我们不知道的问题;)
问题跟踪器:https://github.com/biopython/biopython/issues
如果您怀疑问题出在解析器中,则数据格式可能已更改并破坏了解析代码。 (文本 BLAST 和 GenBank 格式似乎特别脆弱。)因此,Biopython 中的解析代码有时更新得比我们构建 Biopython 版本的速度更快。您可以通过从我们的 git 存储库中提取相关文件(例如Bio.SeqIO
或Bio.Blast
中的文件)来获取最新的解析器。但是,执行此操作时要小心,因为 github 中的代码没有像已发布的代码那样经过充分测试,并且可能包含新的依赖项。
在任何错误报告中,请告知我们:
而且理想情况下:
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/
——各种可能有用的独立脚本。Tests/
-- 回归测试代码,包括示例数据文件。