synbio设计和构建库

synbio的Python项目详细描述


合成生物

synbio是设计和组装dna的库。用户可以设计质粒或库并导出多步骤构建协议。输入seqrecords;输出assembly seqrecords、protocols、plate maps和robotic picklists。

安装

# with pip
pip install synbio

# OR with conda
conda install -c jtimmons synbio

型号

synbio只希望用户定义他们的DesignProtocol。有几个协议是预先定义的。

设计

都在synbio.designs

  • Combinatorial-要组合退火到所有有效程序集的seqrecords列表
  • CombinatorialBins-用于容器间组合装配的seqrecords容器列表
  • Plasmid-要组合成质粒的seqrecords的单个列表
  • PlasmidLibrary-要合并为质粒的seqrecords列表

协议

都在synbio.protocols

示例

在下面的示例中,用户指定组合库设计。所有seqrecords与其他seqrecords一起进行循环测试。新的和有效的质粒被组装。

在幕后,synbio正在过滤来自设计的seqrecords的所有组合,这些组合将循环成有效的质粒(通过circuits in a graph)。运行protocol之后,用户可以导出板映射(to_csv())、复合质粒(to_fasta()to_genbank())和汇编指令(to_txt()to_picklists())。

"""Example of a Combinatorial Golden Gate assembly with human and robot output protocols."""importosfromBio.SeqIOimportparsefromsynbio.designsimportCombinatorialfromsynbio.protocolsimportGoldenGatedefread_all_records():"""Gather all SeqRecords from "goldengate" dir in data."""GG_DIR=os.path.join(".","data","goldengate")records=[]forfileinos.listdir(GG_DIR):iffile.endswith(".gb"):records.extend(parse(os.path.join(GG_DIR,file),"genbank"))returnrecords# create a combinatorial library design from all valid combinationsdesign=Combinatorial(read_all_records())# create a protocol using Golden Gate as the sole composite step and runprotocol=GoldenGate(name="CombinatorialBins Golden Gate",design=design,include=["KanR"],# only keep circularized plasmids with KanRmin_count=5,# only keep circularized plasmids from >=5 SeqRecords)# export all the output plasmids to a multi-FASTAprotocol.to_fasta("plasmids.fasta")# export plate layoutsprotocol.to_csv("plates.csv")# export human protocolprotocol.to_txt("protocol.txt")# export a hamilton picklistprotocol.to_picklists("picklist",platform="hamilton")

质粒.fasta:

>J23100_AB+B0032m_BC+C0012m_CD+B0015_DE+DVK_AE
GGAGTTGACGGCTAGCTCAGTCCTAGGTACAGTGCTAGCTACTAGAGTCACACAGGAAAG
TACTAAATGATGGTGAATGTGAAACCAGTAACGTTATACGATGTCGCAGAGTATGCCGGT
...

plates.csv:

Setup Wells with volumes (uL) shown:
Plate:1,1,2,3,4,5,6,7,8,9,10,11,12
A,B0015_DE(4),C0080_CD(18),R0010_AB(54),water(36)
B,B0015_DE(160),DVK_AE(160),cre_CD(18),water(156)
...

protocol.txt:

Combinatorial GoldenGate:
1. Setup PCR plate with (volumes) shown:
	1.1. Dilute plasmid DNA to 75 ng/µL in 'water'
	1.2. Create 'assembly-mix' from 1:1 T4 Ligase Buffer (10X) and NEB Golden Gate Assembly Mix
...

picklist.gwl:

A;Plate:2;;;15;;2.0;;;
D;Plate:3;;;80;;2.0;;;
W;;;;;;;;;
...

备选方案

这是一份不详尽的清单。请与我联系以比较这些库/平台和synbio

  • Aquarium是一个用于lims、协议定义/执行和工作流设计的扩展库/应用程序。实验室操作系统。
  • Autoprotocol是生命科学实验的规范标准。
  • BioBricks是一个基于web的通用焦点编辑器,用于描述生物学实验。
  • Biocoder是一个具有广泛的协议级定义能力的C++库。
  • Plateo是一个python库,用于规划、运行和检查实验室实验。非常适合解析和导出多种格式的板和选择器。
  • pydna是一个python-dna组装模拟库,具有人类可读的克隆和组装策略描述。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?