混合dna样本的菌株消歧方法

strainpycon的Python项目详细描述


简介

strainpycon是一个python 3包,可用于消除多个 混合DNA样本中的菌株。在数学上,strainpycon可以解二进制 盲源分离问题及某些高维积分的计算 涉及二进制变量。这些数学概念之间的联系 应变识别在以下期刊文章中讨论:

L.Mustonen、X.Gao、A.Santana、R.M.Mitchell、Y.Vigfuson和L.Ruthotto,
从混合诊断样本中识别分子菌株的贝叶斯框架,
反问题34(10),1050092018,
https://doi.org/10.1088/1361-6420/aad7cd

strainpycon基于用julia编写的strainrecon.jl包: https://github.com/lruthotto/StrainRecon.jl

动机

作为一个激励性的例子,假设你有一个血样被多重感染 恶性疟原虫疟原虫。假设你已经对选定的 snp位点,与参考基因组不同的调用数是 表明在那个snp上变异的菌株的比例。 strainpycon是通过 消除歧义(反褶积),无需事先了解 样本或寄生虫。这个过程还可以帮助评估 样本中的感染有助于疟疾监测工作 实例。

引文

如果您在项目中使用strainpycon,请引用上面的日志文章。

完整文档

请参阅strainpycon的完整文档: https://www.ymsir.com/strainpycon/

要求

strainpycon在以下环境中进行了测试:

  • 64位Linux
  • python 3.6.5和numpy 1.14.3

基本用法

通常,用户只想访问straintrecon类中的一些方法:

importstrainpyconS=strainpycon.StrainRecon()

让我们用三个菌株和24个snp位点生成综合测量数据 然后解反问题:

(measurements,strains,freq)=S.random_data(24,3)(strains_recon,freq_recon)=S.compute(measurements,3)

这里,strains_recon应该等于strainsfreq_recon应该等于 freq

接下来,让我们画另一个随机测量,现在是高斯加性噪声。 我们计算misfit或负对数似然,当菌株的数量 在重建中从1到7不等。此外,我们计算后验 量化不确定性的统计:

gamma=0.1# standard deviation of Gaussian noise(measurements,strains,freq)=S.random_data(18,4,gamma=gamma)misfits=S.misfits(measurements,range(1,8))(strains_mean,freq_mean,strains_dev,freq_dev)=S.posterior_stats(measurements,4,gamma)

有关方法和详细示例的完整说明,请参见: 见https://www.ymsir.com/strainpycon/

已知问题

strainpycon还不支持多线程。

联系人

请直接提问: 伊米尔·维弗森,埃默里大学,ymir.vigfusson@emory.edu

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

推荐PyPI第三方库


热门话题
java中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动