用于计算分子生物学的免费工具。
项目描述
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 实现上得到支持和测试:
Python 3.6、3.7、3.8、3.9 – 见http://www.python.org
PyPy3.6 v7.3.1 – 或更高版本,请参阅http://www.pypy.org
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 依赖项,如果需要,可以稍后安装:
ReportLab,见http://www.reportlab.com/opensource/(可选) 这个包只在Bio.Graphics中使用,所以如果你不需要这个功能,你不需要安装这个包。
matplotlib,见http://matplotlib.org/(可选) Bio.Phylo使用这个包来绘制系统发育树。
networkx,参见https://networkx.github.io/(可选)和 pygraphviz 或 pydot,参见https://pygraphviz.github.io/和 http://code.google.com/p/pydot/(可选)这些包用于Bio.Phylo中的某些特定功能。
rdflib,见https://github.com/RDFLib/rdflib(可选) 这个包在 Bio.Phylo 下的 CDAO 解析器中使用。
psycopg2,参见http://initd.org/psycopg/(可选)或 PyGreSQL (pgdb),参见http://www.pygresql.org/ (可选) BioSQL使用这些包来访问 PostgreSQL 数据库。
MySQL Connector/Python,见http://dev.mysql.com/downloads/connector/python/ 这个包被BioSQL用来访问 MySQL 数据库,PyPy 也支持。
mysqlclient,见https://github.com/PyMySQL/mysqlclient-python(可选)这是旧 MySQLdb 的一个分支,BioSQL 使用它来访问 MySQL 数据库。PyPy 支持它。
此外,您可能希望安装许多有用的第三方工具,例如独立的 NCBI BLAST、EMBOSS 或 ClustalW。
从源安装
我们建议使用 PyPI 上可用的预编译二进制轮子:
pip install biopython
但是,如果您需要自己编译 Biopython,则在编译时需要以下内容:
Python 包括诸如python.h 之类的开发头文件,默认情况下通常不会在 Linux 上安装这些文件(尝试查找并安装名为python-dev或python-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,例如 python3或pypy3。
要排除需要 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.SeqIO或Bio.Blast中的文件)来获取最新的解析器。但是,这样做时要小心,因为 github 中的代码没有经过测试的已发布代码,并且可能包含新的依赖项。
在任何错误报告中,请让我们知道:
您使用的是哪种操作系统和硬件(32 位或 64 位)
蟒蛇版本
Biopython 版本(或 git commit/date)
发生的回溯(完整的错误消息)
理想情况下:
中断的示例代码
导致问题的数据文件
贡献,错误报告
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/ – 杂项,可能有用的独立脚本。
测试/ - 回归测试代码,包括示例数据文件。