jbei ice示例管理器的python api。
icebreaker的Python项目详细描述
安装
Icebreaker是为Python3+编写的。您可以通过pip安装破冰船:
sudo pip install icebreaker
或者,您可以解压缩文件夹中的源并键入
sudo python setup.py install
使用示例
在本例中,我们假设我们是一个实验室,希望从 对给定构造进行排序的数据库。我们将(1)从 ice,(2)使用 Primavera package,和 (3)我们将向ICE询问所选底漆的位置。
< H3>结冰实例< EH3>
您可以使用一个api令牌连接到您的ice实例(见下面 如何创建令牌),或电子邮件/密码身份验证。
importicebreaker# CONNECT TO ICEconfiguration=dict(root="https://my.ice.instance.org",api_token="WMnlYlWHz+BC+7eFV=...",api_token_client="icebot")ice=icebreaker.IceClient(configuration)
或:
# CONNECT TO ICEconfiguration=dict(root="https://my.ice.instance.org",email="michael.swann@genomefoundry.org",password="ic3ic3baby")ice=icebreaker.IceClient(configuration)
配置也可以写在一个yaml文件中,这样您就可以编写 IceClient('config.yml'),其中config.yml读取如下:
root:https://my.ice.instance.orgemail:michael.swann@genomefoundry.orgpassword:ic3ic3baby
从文件夹中提取所有记录
接下来,我们提取数据库中的所有引物:
# FIND THE ID OF THE FOLDER WITH ALL PRIMERSprimers_folder=ice.get_folder_id("PRIMERS",collection="SHARED")# GET INFOS ON ALL ENTRIES IN THE FOLDER (PRIMER NAME, ID, CREATOR...)primers_entries=ice.get_folder_entries(primers_folder)# GET A BIOPYTHON RECORD FOR EACH PRIMERprimers_records={primer["id"]:ice.get_record(primer["id"])forprimerinprimers_entries}
primavera
的引物选择接下来向Primavera提供此信息并选择一些引物(请参见 Primavera docs):
fromprimaveraimportPrimerSelector,Primer,load_recordavailable_primers=[Primer(sequence=primers_records[entry['id']].seq.tostring(),name=entry['name'],metadata=dict(ice_id=entry['id']))forentryinprimers_entries]constructs=[load_record("RTM3_39.gb",linear=False)]selector=PrimerSelector(read_range=(150,1000),tm_range=(55,70),size_range=(16,25),coverage_resolution=10,primer_reuse_bonus=200)selected_primers=selector.select_primers(constructs,available_primers)
寻找可用样本
最后,我们为每个底漆寻找可用的样品:
selected_primers=set(sum(selected_primers,[]))forprimerinselected_primers:ice_id=primer.metadata.get("ice_id",None)ifice_idisnotNone:samples=ice.get_samples(ice_id)iflen(samples)>0:location=icebreaker.sample_location_string(samples[0])print("Primer %s is in %s."%(primer.name,location))
结果:
Primer PRV_EMMA_IN00042 is in PRIMER_PLATE_1/E06. Primer PRV_EMMA_IN00043 is in PRIMER_PLATE_1/F06. Primer PRV_EMMA_IN00028 is in PRIMER_PLATE_1/G04. Primer PRV_EMMA_IN00060 is in PRIMER_PLATE_1/G08. Primer PRV_EMMA_IN00064 is in PRIMER_PLATE_1/C09. Primer PRV_EMMA_IN00038 is in PRIMER_PLATE_1/A06. Primer PRV_EMMA_IN00068 is in PRIMER_PLATE_1/G09.
获得冰牌
有几种方法可以获得冰牌。我们建议你通过 Web界面如下(有关指示,请参见屏幕截图):
- 创建具有管理员权限的帐户
- 转到“管理员”面板
- 单击“API密钥”
- 点击“新建”。把一切都记下来!
许可证=麻省理工学院
破冰者是一个开源软件,最初是在爱丁堡编写的。 基因组铸造 麻省理工学院执照(爱丁堡基因组铸造厂)。欢迎大家来 贡献!