混合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
应该等于strains
,freq_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