估计生长曲线中增长率的工具。
croissance的Python项目详细描述
说明
估计生长曲线中增长率的工具。该工具将λeμ_x+n0拟合到生长曲线中任何具有增长的候选生长阶段,即生长函数的一阶和二阶导数均为正的生长阶段。为了可靠地识别这些相位,该工具使用了一个自定义平滑函数,该函数解决了其他平滑方法在生长曲线中存在的问题,这些曲线的区域具有不同程度的噪声(例如,开始时有大量噪声,开始生长后噪声较少,然后静止阶段噪声较多)。
可以选择约束模型的参数n0。如果已知该值,则建议这样做。只有当它们的n0(基线od;当生物体处于初始种群时)指向实际生长的相似阶段时,才能正确比较计算生长阶段的生长率。
安装
要安装croissance,请使用python 3.xpip:
pip3 install croissance
用法
croissance可以从命令行使用,也可以用作python库。命令行工具的输入通常是一个或多个*.tsv文件(制表符分隔值),格式如下:
time | A1 | A2 | … |
---|---|---|---|
0.0 | 0.0 | 0.01 | … |
0.17 | 0.14 | 0.06 | … |
… | … | … | … |
每个样本应记录在其自己的列中,并在标题行中显示样本名称。时间单位是小时,值单位应该是od或与od相关的某个值。
要处理此文件,请输入:
croissance example.tsv
输出将在example.output.tsv生成。输出的格式为列标题:name(示例名称)、phase(第n个增长阶段)、start(开始时间)、end(结束时间)、slope(μ)、intercept(λ)、n0(n0)和其他一些。默认情况下,每个样本由至少一行表示,其中包含阶段“0”。如果为该曲线找到一个级别最高的阶段,则这只是一个级别最高的阶段;否则,其余列为空。
要同时输出带有数字(example.output.pdf)的pdf文件,请输入:
croissance --figures example.tsv
要查看所有可用命令行选项的说明,请输入croissance --help。
要从python中使用,请将增长曲线作为pandas.Series对象提供。使用croissance.process_curve(curve)估计增长率。返回值是具有属性series、outliers和growth_phases的namedtuple对象。每个生长阶段都有属性start(开始时间)、end(结束时间)、slope(μ)、intercept(λ)、n0(n0)以及其他属性,如SNR(拟合的信噪比)和rank。
from croissance import process_curve result = process_curve(my_curve) print(result.growth_phases)