ITADN
peterjc/biopython
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

.. image:: https://img.shields.io/pypi/v/biopython.svg?logo=pypi :alt: Biopython on the Python Package Index (PyPI) :target: https://pypi.python.org/pypi/biopython .. image:: https://img.shields.io/conda/vn/conda-forge/biopython.svg?logo=conda-forge :alt: Biopython on the Conda package conda-forge channel :target: https://anaconda.org/conda-forge/biopython .. image:: https://results.pre-commit.ci/badge/github/biopython/biopython/master.svg :target: https://results.pre-commit.ci/latest/github/biopython/biopython/master :alt: pre-commit.ci status .. image:: https://img.shields.io/circleci/build/github/biopython/biopython.svg?logo=circleci :alt: Linux testing with CircleCI :target: https://app.circleci.com/pipelines/github/biopython/biopython .. image:: https://img.shields.io/appveyor/ci/biopython/biopython/master.svg?logo=appveyor :alt: Windows testing with AppVeyor :target: https://ci.appveyor.com/project/biopython/biopython/history .. image:: https://img.shields.io/github/actions/workflow/status/biopython/biopython/ci.yml?logo=github-actions :alt: GitHub workflow status :target: https://github.com/biopython/biopython/actions .. image:: https://img.shields.io/codecov/c/github/biopython/biopython/master.svg?logo=codecov :alt: Test coverage on CodeCov :target: https://codecov.io/github/biopython/biopython/ .. image:: https://depsy.org/api/package/pypi/biopython/badge.svg :alt: Research software impact on Depsy :target: https://depsy.org/package/python/biopython

.. image:: https://github.com/biopython/biopython/raw/master/Doc/images/biopython_logo_m.png :alt: The Biopython Project :target: https://biopython.org

Biopython README 文件

The Biopython Project 是一个由开发免费 Python 计算分子生物学工具的国际开发者协会。

本 README 文件主要面向对使用 Biopython 源代码感兴趣的人员,无论是来自 https://biopython.org 网站的某个发布版本,还是来自我们在 GitHub 上的仓库 https://github.com/biopython/biopython

我们面向用户的文档,The Biopython Tutorial and Cookbook, and API documentation <https://biopython.org/docs/latest/>_,是使用 Sphinx 从我们的 仓库生成的。

NEWS <https://github.com/biopython/biopython/blob/master/NEWS.rst>_ 文件总结了 Biopython 每个发布版本的变更,同时还有 DEPRECATED <https://github.com/biopython/biopython/blob/master/DEPRECATED.rst>_ 文件,其中记录了 API 的破坏性变更。

Biopython 包是在宽松条款下提供的开源软件。请参阅 LICENSE <https://github.com/biopython/biopython/blob/master/LICENSE.rst>_ 文件以 获取更多详细信息。

如果您在有助于科学出版物的工作中使用了 Biopython,我们要求您引用我们的应用说明(如下)或其中一个模块特定的 出版物(列在我们的网站上):

Cock, P.J.A. et al. Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics 2009 Jun 1; 25(11) 1422-3 https://doi.org/10.1093/bioinformatics/btp163 pmid:19304878

给不耐烦的人

Python 包含包管理系统 "pip",它应该允许你 通过一条终端命令安装 Biopython(以及其依赖项 NumPy,如果需要的话)、升级或卸载::

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

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

作为开发者或潜在的贡献者,你可能希望自行下载、构建并 安装 Biopython。这将在下文描述。

Python 要求

我们目前建议使用来自 https://www.python.org 的 Python 3.13

Biopython 目前支持并在以下 Python 实现上进行测试:

可选依赖项

Biopython 需要 NumPy(参见 https://www.numpy.org),如果你使用 pip 安装 Biopython,它将被自动安装 (关于自行编译 Biopython,请参见下文)。

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

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

从源码安装

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

pip install biopython

但是,如果您需要自行编译 Biopython,则在编译时需要以下依赖:

  • Python,包括开发头文件,例如 python.h,在 Linux 上 通常默认未安装(尝试查找并安装名为 python-dev or python-devel as well as the python 的软件包)。

  • 适用于您 Python 版本的相应 C 编译器,例如 Linux 上的 GCC, 或 Windows 上的 MSVC。对于 Windows,您必须安装 'Visual Studio Build Tools' 并选择 'Desktop development with C++' 工作负载。对于 macOS,请使用 Apple 的 命令行工具,可通过终端命令安装::

    xcode-select --install
    

    这将提示安装 Apple 的 XCode 开发套件——您可以安装,但 并非必需,且会占用大量磁盘空间。

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

pip install -e . --group dev
cd Tests
python run_tests.py

如有需要,请将 python 替换为您的特定版本,例如 python3, or pypy3

若要排除需要互联网连接的测试(这些测试可能耗时较长),请使用 --offline 选项::

cd Tests
python run_tests.py --offline

测试

Biopython 包含一套回归测试,用于检查一切是否 正常运行。要运行测试,请进入 biopython 源代码 目录并输入::

pip install -e . --group dev
cd Tests
python run_tests.py

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

cd Tests python run_tests.py --offline

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

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

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

部分测试可能因网络问题而失败,这通常是由于偶然因素或服务中断。如果重新运行测试后问题仍未解决,你可以使用 --offline 选项。

Biopython 教程与手册中提供了更多测试信息。

实验性代码

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

我们预计此类实验性代码将在一两个版本内达到稳定状态,届时我们将尝试保持向后兼容性的正常政策将适用。

错误

尽管我们努力发布一个健壮的包,但 bug 不可避免地会出现。 如果你遇到 可能由 Biopython 中的 bug 引起的问题,它可能已经被识别出来。 如果你 尚未使用,请更新到最新版本,然后重试。 如果问题仍然存在,请搜索我们的 bug 数据库和邮件列表,查看它是否已被报告 (并希望已修复),如果没有,请报告该 bug。 我们无法修复 我们不知道的问题 ;)

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

如果你怀疑问题出在解析器中,那么很可能是数据 格式发生了变化,破坏了解析代码。 (文本 BLAST 和 GenBank 格式似乎特别脆弱。) 因此,Biopython 中的 解析代码有时更新得比我们构建 Biopython 发布版本更快。 你可以通过从我们的 git 仓库拉取相关文件(例如 Bio.SeqIO or Bio.Blast 中的文件)来获取最新的解析器。 但是, 这样做时要小心,因为 github 中的代码不如发布版本测试得 那么充分,并且可能包含新的依赖项。

在任何 bug 报告中,请告知我们:

  1. 你使用的操作系统和硬件(32 位或 64 位)
  2. Python 版本
  3. Biopython 版本(或 git 提交/日期)
  4. 发生的 Traceback(完整的错误消息)

并且理想情况下:

  1. 导致问题的示例代码
  2. 导致问题的数据文件

贡献,Bug 报告

Biopython 由来自世界各地的志愿者运营,他们拥有多种类型的 背景。我们始终在寻找对代码 开发、网站管理、文档编写、技术 管理以及其他任何可能出现的工作感兴趣的人。

如果您希望做出贡献,请先阅读 CONTRIBUTING.rst <https://github.com/biopython/biopython/blob/master/CONTRIBUTING.rst>_ 此处, 访问我们的网站 https://biopython.org 并加入我们的邮件列表: https://biopython.org/wiki/Mailing_lists

分发结构

  • README.rst -- 本文件。
  • NEWS.rst -- 发布说明和新闻。
  • LICENSE.rst -- 您可以使用代码做什么。
  • CONTRIB.rst -- 一个(不完整的)以某种方式帮助过 Biopython 的人员列表。
  • CONTRIBUTING.rst -- 关于如何为 Biopython 做出贡献的概述。
  • DEPRECATED.rst -- 包含有关 Biopython 中已移除或不再推荐使用模块的信息,以及如何更新使用这些模块的代码。
  • MANIFEST.in -- 配置发布中包含哪些文件。
  • pyproject.toml -- 项目元数据和构建配置。
  • Bio/ -- 主要代码库代码。
  • BioSQL/ -- 用于将 Biopython 与 BioSQL 数据库一起使用的代码。
  • Doc/ -- 文档。
  • Scripts/ -- 杂项,可能有用的独立脚本。
  • Tests/ -- 包括示例数据文件的回归测试代码。