jbei ice示例管理器的python api。

icebreaker的Python项目详细描述


破冰船

https://travis-ci.org/Edinburgh-Genome-Foundry/icebreaker.svg?branch=masterhttps://coveralls.io/repos/github/Edinburgh-Genome-Foundry/icebreaker/badge.svg?branch=master

破冰者为JBEI ICE sample manager提供了python接口。

请参阅完整的api文档here

安装

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界面如下(有关指示,请参见屏幕截图):

  1. 创建具有管理员权限的帐户
  2. 转到“管理员”面板
  3. 单击“API密钥”
  4. 点击“新建”。把一切都记下来!
screenshot

许可证=麻省理工学院

破冰者是一个开源软件,最初是在爱丁堡编写的。 基因组铸造 麻省理工学院执照(爱丁堡基因组铸造厂)。欢迎大家来 贡献!

更多生物软件

https://raw.githubusercontent.com/Edinburgh-Genome-Foundry/Edinburgh-Genome-Foundry.github.io/master/static/imgs/logos/egf-codon-horizontal.png

破冰船是用于DNA设计、制造和验证的合成生物学软件套件的一部分。

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

推荐PyPI第三方库


热门话题
java如何在Android中更新从互联网上获取的时间?   java我可以调用binarySearch方法而不实现comparator/comparable吗?   java如何使用Tomcat7作为React开发服务器来替换节点。js服务器?   java在Android游戏中如何保存和访问数据?   java为什么IntelliJ不能导入本地类?   检查“if”语句后出现java空指针异常   用户界面通过rxtx库和SerialPortEvent接收JAVA中的数据,并在jTextArea中显示字符串文本   javasocket文件传输未正确读取   java错误代码:1215无法添加外键约束   java如何告诉Gradle在哪里查找javax。servlet?   java无法解析匹配的构造函数   mysql从何处开始Java项目   Java在数组中比较字符串   java PrimeFaces仪表板列宽   C++ JNI: java。使用defineClass时lang.AbstractMethodError;