代表双链 DNA 和模拟 DNA 分子之间的克隆和同源重组的功能。
项目描述
pydna
规划具有许多部分和组装步骤的遗传构建体,例如重组代谢途径: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 Seq和SeqRecord类的子类。
这些类使剪切和粘贴克隆和 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?
Pyviko:一种自动化的 Python 工具,用于在具有重叠基因的复杂病毒中设计基因敲除
和其他人
文档
文档是使用来自代码中的文档字符串的Sphinx构建
的,并显示在 readthedocs
在 Anaconda 上使用 conda 安装
安装和使用 pydna 的最佳方式是使用免费的Anaconda或Miniconda 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。
- Python 3.6、3.7、3.8 或 3.9
- 生物蟒 >= 1.79
- 网络x >= 1.8.1
- pyparsing >= 2.1.10
- 应用程序目录 >=1.3.0
- 漂亮>=0.7.2
- 要求
- pydrive2
- 蔡
- 正则表达式
可选要求
Pydna 被设计为在 Jupyter notebook 中使用。如果安装了IPython 和Jupyter,则支持将 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 版本来触发的。
:微生物:
:葡萄牙: