混合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第三方库


热门话题
如何在Eclipse中设置Java路径,以便在外部驱动器上运行它?   在windows上使用Java服务包装器GUI与桌面交互   java是与此字符序列不匹配的正则表达式   java无法使用kafka管理客户端API创建具有所需分区的kafka主题   java基于单个单元格值获取整个excel行   当使用Spring的构造函数注入时,java bean是否在构造函数中完全初始化?   java重置LineNumberReader的计数器   将字符串从Java文件传递到jQuery   安卓在来自不同Java类文件的活动中祝酒   java在使用mvvm时如何在zk中更新progressmeter   使用regex获取由“”Java包围的值   使用tester类的java猜谜游戏   api响应的java POJO,其密钥为“”   java正则表达式,用于匹配长度大于n的字母和数字字符串?   java如何使用Json保存和恢复RecyclerView项的位置   在Java中用字符代码替换字符串   Jenkins中的java PermGen错误   java swing panel问题   boolean在Java中,false如何可能等于true   java如何使用Servlet从HTML表单中检索“分组”项?