自适应计算机辅助工艺设计
terrarium-capp的Python项目详细描述
玻璃瓶
这个软件利用历史数据自动规划水族馆的科学实验 计划数据和当前实验室清单。数据可以从特定的研究人员那里获取 去模仿那个特定的研究者如何计划实验。
要求
- 开发版trident(v0.1.0)
- python=3.6
- 水族馆登录凭据
用法
安装特定版本
pipinstallterrarium-capp==0.1.2
新型号可按以下方式制造:
frompydentimportAqSessionfromterrariumimportAutoPlannerModelproduction=AqSession("login","pass","url")# pull last 300 experimental to build modelmodel=AutoPlannerModel(production,depth=300)model.build()models.save('terrarium.pkl')
保存的模型可以稍后打开:
model=AutoPlannerModel.load('terrarium.pkl')
使用过滤器可以调整模型使用的协议:
ignore_ots=production.OperationType.where({"category":["Control Blocks","Library Cloning"],"deployed":True})ignore_ots+=production.OperationType.where({"name":"Yeast Mating"})ignore_ots+=production.OperationType.where({"name":"Yeast Auxotrophic Plate Mating"})ignore=[ot.idforotinignore_ots]model.add_model_filter("AllowableFieldType",lambdam:m.field_type.parent_idinignore)
样品组成:
sample_composition=nx.DiGraph()# build a new yeast strain from a plasmid, which is comprised of several fragmentsedges=[('DTBA_backboneA_splitAMP','pyMOD-URA-URA3.A.1-pGPD-yeVenus-tCYC1'),('T1MC_NatMX-Cassette_MCT2 (JV)','pyMOD-URA-URA3.A.1-pGPD-yeVenus-tCYC1'),('BBUT_URA3.A.0_homology1_UTP1 (from genome)','pyMOD-URA-URA3.A.1-pGPD-yeVenus-tCYC1'),('DH5alpha','pyMOD-URA-URA3.A.1-pGPD-yeVenus-tCYC1'),('TP-IRES-EGFP-TS','pyMOD-URA-URA3.A.1-pGPD-yeVenus-tCYC1'),('pyMOD-URA-URA3.A.1-pGPD-yeVenus-tCYC1','CEN.PK2 - MAT alpha | his-pGRR-W5-W8-RGR-W36'),]forn1,n2inedges:s1=browser.find_by_name(n1)s2=browser.find_by_name(n2)sample_composition.add_node(s1.id,sample=s1)sample_composition.add_node(s2.id,sample=s2)sample_composition.add_edge(s1.id,s2.id)
ignore_items=[]# optional to not include certain items in the search.desired_object_type=production.ObjectType.find_by_name('Fragment Stock')cost,paths,graph=network.run(desired_object_type,ignore=ignore_items)
# make a new plancanvas=Planner(production)# add protocols from optimized network to plannetwork.plan(paths,graph,canvas)# submit to Aquariumcanvas.create()
规划酵母结构的示例
连接水族馆协议的概率矩阵
autoplanner使用这种类型的数据,与sample_composition
网络一致,
建立一个最佳实验。
前50个连接
模型工厂
factory=ModelFactory(session)# make a model from a single usermodel1=factory.emulate('user1').build()# make a model from a group of usersuser_group=['user2','user3']model2=factory.emulate(user_group).build()# make a model from the last 100 plansmodel3=factory.new(100).build()# compose a weighted modelmodel=model1+model2*3
未来版本
- 基于以下因素估计某些库存项目或操作的便利性 过去成功率
- 更好的API用于
- 使用“ghost”计划构建模型
- 模拟特定用户/用户组 **执行速度更快(当前约45-60秒)
许可证
2019年2月4日-此软件目前未获得许可。作者(华盛顿大学的justin d.vrana)不允许复制或修改代码库。