Skip to main content

代表双链 DNA 和模拟 DNA 分子之间的克隆和同源重组的功能。

项目描述

图标pydna

测试与覆盖 编解码器 PyPI 版本 Anaconda-服务器徽章0 谷歌组:pydna
文件状态 GitHub 问题 Anaconda-服务器徽章2 GitHub 星星

规划具有许多部分和组装步骤的遗传构建体,例如重组代谢途径:petri_dish:,通常难以正确记录,这从科学文献中此类文件的状态中可以看出:radioactive:。

pydna python 包提供人类可读的正式描述:dna:Python 中的克隆和基因组装策略:snake:允许模拟和验证。

Pydna 可以作为用于克隆的可执行文档。

pydna 中表达的克隆策略是完整的、明确的和稳定的。

Pydna 提供以下模拟:

  • 限制性消化
  • 结扎
  • 聚合酶链反应
  • 引物设计
  • 吉布森组装
  • 金门总成
  • 同源重组
  • DNA 凝胶电泳并生成凝胶图像

实际上,任何亚克隆实验都可以在 pydna 中进行描述,并且其执行会产生中间和最终产生的 DNA 分子的序列。

Pydna 的设计目的是让对 Python 有一些基本了解的生物学家可以理解。

Pydna 可以正式规划和共享克隆策略,特别适用于复杂或组合 DNA 分子构建。

查看以 Jupyter 笔记本格式MetabolicEngineeringGroupCBMA/ypk-xylose-pathways制作的 D-木糖代谢途径的一些组装策略。

BMC Bioinformatics 中有一篇描述 pydna 的开放获取论文:

抽象的

请参考上述论文:

Pereira, F.、Azevedo, F.、Carvalho, Â.、Ribeiro, GF、Budde, MW 和 Johansson, B. (2015)。Pydna:使用 python 进行 DNA 组装策略的模拟和文档工具。BMC 生物信息学,16(142),142。

如果在科学出版物中使用 pydna。

-------------------------------------------------- ---

用法

大多数 pydna 功能是作为双链 DNA 序列记录类 Dseq 和 Dseqrecord 的方法实现的,它们是Biopython SeqSeqRecord类的子类。

这些类使剪切和粘贴克隆和 PCR 变得非常简单:

::

>>> from pydna.dseq import Dseq
>>> seq = Dseq("GGATCCAAA","TTTGGATCC",ovhg=0)
>>> seq
Dseq(-9)
GGATCCAAA
CCTAGGTTT
>>> from Bio.Restriction import BamHI
>>> a,b = seq.cut(BamHI)
>>> a
Dseq(-5)
G
CCTAG
>>> b
Dseq(-8)
GATCCAAA
    GTTT
>>> a+b
Dseq(-9)
GGATCCAAA
CCTAGGTTT
>>> b+a
Dseq(-13)
GATCCAAAG
    GTTTCCTAG
>>> b+a+b
Dseq(-17)
GATCCAAAGGATCCAAA
    GTTTCCTAGGTTT
>>> b+a+a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pydna/dsdna.py", line 217, in __add__
    raise TypeError("sticky ends not compatible!")
TypeError: sticky ends not compatible!
>>>

如上例所示,pydna 跟踪粘性末端。

值得注意的是,线性 DNA 片段之间的同源重组和 Gibson 组装可以很容易地模拟,除了片段的一级序列外,无需任何其他信息。

可以使用随附的凝胶模块模拟 DNA 片段的凝胶电泳

Jupyter QtConsole 4.7.7
Python 3.8.5 | packaged by conda-forge | (default, Aug 29 2020, 01:22:49)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.18.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from pydna.gel import gel

In [2]: from pydna.ladders import PennStateLadder

In [3]: from pydna.dseqrecord import Dseqrecord

In [4]: gel([PennStateLadder,[Dseqrecord("A"*2000)]])
Out[4]:

Pydna 可以非常紧凑。下面的 11 行 Python 模拟了重组质粒的构建。DNA 序列通过保证随时间稳定的登录号从 Genbank 下载。

from pydna.genbank import Genbank
gb = Genbank("myself@email.com") # Tell Genbank who you are!
gene = gb.nucleotide("X06997") # Kluyveromyces lactis LAC12 gene for lactose permease.
from pydna.parsers import parse_primers
primer_f,primer_r = parse_primers(''' >760_KlLAC12_rv (20-mer)
                                      ttaaacagattctgcctctg

                                      >759_KlLAC12_fw (19-mer)
                                      aaatggcagatcattcgag ''')
from pydna.amplify import pcr
pcr_prod = pcr(primer_f,primer_r, gene)
vector = gb.nucleotide("AJ001614") # pCAPs cloning vector
from Bio.Restriction import EcoRV
lin_vector = vector.linearize(EcoRV)
rec_vec =  ( lin_vector + pcr_prod ).looped()

Pydna 可以使用 python 自动模拟亚克隆实验这有助于为教学目的生成示例。

阅读文档(下方)或带有示例文件的说明书以获取更多信息

如果您需要帮助或有问题、疑问或意见,请在 pydna 的google 组中发布消息 :sos:。

非常欢迎反馈和建议!

-------------------------------------------------- ---

谁在使用 pydna?

具有转录和 Snakemake 的自动蛋白质合成管道

Pyviko:一种自动化的 Python 工具,用于在具有重叠基因的复杂病毒中设计基因敲除

其他人

-------------------------------------------------- ---

文档

文档是使用来自代码中的文档字符串的Sphinx构建 的,并显示在 readthedocs文件状态

使用numpy 文档字符串格式

-------------------------------------------------- ---

在 Anaconda 上使用 conda 安装

安装和使用 pydna 的最佳方式是使用免费的AnacondaMiniconda python 发行版。

Anaconda 下载量很大(大约 400 Mb),而 Miniconda 大约 40-50 Mb。

一旦安装了 Anaconda(或 Miniconda),就可以使用 conda 包管理器来安装 pydna。

键入以下命令,然后返回:

conda install -c bjornfjohansson pydna

这适用于 Windows、MacOSX 和 Linux,并自动安装所有必要和可选的依赖项(见下文)。

conda install 命令将安装最新版本,即使这是 alpha 版本。

其他版本的 pydna 可从BjornFJohansson软件包频道获得。

-------------------------------------------------- ---

使用 pip 安装

安装 pydna 的第二个最佳方法是使用官方推荐的工具 pip。

Pip 包含在最近的 Python 版本中。

Pip 会自动安装最低安装要求,但不会安装可选要求(见下文)。

::

sudo pip install pydna --pre

使用 --pre 开关获取最新版本的 pydna。

视窗:

您应该能够从 Windows 终端 pip install pydna,因为 biopython 现在也可以使用 pip 安装。

C:\> pip install pydna --pre

默认情况下,python 和 pip 不在 PATH 上。您可以重新安装 Python 并在安装期间选择此选项,或者提供 pip 的完整路径。尝试这样的事情,具体取决于您的 Python 副本的安装位置:

C:\Python37\Scripts\pip install pydna --pre

安装要求

如果你想在安装 pydna 之前安装需求,你可以这样做:

pip install -r requirements.txt

或者

conda install --file requirements.txt

-------------------------------------------------- ---

从源安装

如果从源代码安装,则需要单独安装所有依赖项(如上所列)。从 pypi 站点或 Github 下载源安装程序之一并解压缩文件。在终端中打开 pydna 源代码目录(包含 setup.py 文件)并键入:

python setup.py install

-------------------------------------------------- ---

源代码

Pydna 是在Github :octocat:上开发的。

-------------------------------------------------- ---

最低安装要求

Pydna 目前是在 Python 3.6 - 3.9 上开发的。1.0.0 之前的 Pydna 版本仅与 python 2.7 兼容。下面的列表是安装 pydna 的最低要求。Biopython 有 c 扩展,但其他模块是纯 python。

-------------------------------------------------- ---

可选要求

Pydna 被设计为在 Jupyter notebook 中使用。如果安装了IPythonJupyter,则支持将 ipython 笔记本作为模块导入其中。

如果安装了下面列出的模块,凝胶模拟功能将可用。

pydna conda 包安装上面列出的可选要求以及:

-------------------------------------------------- ---

运行测试的要求

-------------------------------------------------- ---

分析代码覆盖率的要求

-------------------------------------------------- ---

自动测试

每次在 Linux、macOS 和 Windows 上使用 GitHub 操作提交后,测试套件都会自动运行。

-------------------------------------------------- ---

变更日志

有关最近的更改,请参阅更改日志

-------------------------------------------------- ---

发布流程

与此包相关的三个 github 操作:

  • pydna_test_and_coverage_workflow.yml
  • pydna_setuptools_build_workflow.yml
  • pydna_conda_build_workflow.yml

`pydna_test_and_coverage_workflow.yml 在所有推送的非标记提交上触发。此工作流程使用 pytest 运行测试、文档测试和一系列 Jupyter 笔记本。

另外两个工作流程为 Linux、Windows 和 macOS 上的不同 Python 版本构建了一个 setuptools 轮和包。这些是通过从 github 界面手动发布 github 版本来触发的。

:微生物:

:葡萄牙:

项目详情