Biopython - Phenotype Microarray

表型定义为生物体针对特定化学品或环境展示的可观察特征或特征.表型微阵列同时测量生物体对大量化学物质的反应.环境和分析数据,以了解基因突变,基因特征等.

Biopython提供了一个很好的模块,Bio.Phenotype来分析表型数据.让我们学习如何解析,插入,提取和分析本章中的表型微阵列数据.

解析

表型微阵列数据可以是两个格式:CSV和JSON. Biopython支持这两种格式. Biopython解析器解析表型微阵列数据并作为PlateRecord对象的集合返回.每个PlateRecord对象都包含一组WellRecord对象.每个WellRecord对象保存8行12列格式的数据.八行由A到H表示,12列由01到12表示.例如,4 th 行和6 th 列由D06表示.

让我们通过以下示例理解解析的格式和概念 :

步骤1 : 下载Biopython团队提供的Plates.csv文件 :   https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/Plates. csv

第2步 : 将phenotpe模块加载如下 :

>>> from Bio import phenotype

第3步 : 传递phenotype.parse方法传递数据文件和格式选项("pm-csv").它返回如下所示的可迭代PlateRecord,

>>> plates = list(phenotype.parse('Plates.csv', "pm-csv")) 
>>> plates 
[PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ..., WellRecord['H12']'), 
PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ..., WellRecord['H12']'), 
PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ..., WellRecord['H12']'), 
PlateRecord('WellRecord['A01'], WellRecord['A02'],WellRecord['A03'], ..., WellRecord['H12']')] 
>>>

第4步 : 从列表中访问第一个牌照,如下所示;

>>> plate = plates[0] 
>>> plate 
PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ...,
WellRecord['H12']')
>>>

第5步 : 如前所述,一个盘子包含8行,每行有12个项目. WellRecord可以通过两种方式访问,如下所示 :

>>> well = plate["A04"] 
>>> well = plate[0, 4] 
>>> well WellRecord('(0.0, 0.0), (0.25, 0.0), (0.5, 0.0), (0.75, 0.0), 
   (1.0, 0.0), ..., (71.75, 388.0)')
>>>

第6步 : 每个井将在不同的时间点进行一系列测量,并且可以使用for循环访问,如下所示 :

>>> for v1, v2 in well: 
... print(v1, v2) 
... 
0.0 0.0 
0.25 0.0 
0.5 0.0 
0.75 0.0 
1.0 0.0 
... 
71.25 388.0 
71.5 388.0 
71.75 388.0
>>>

插值

插值可以更深入地了解数据. Biopython提供了插入WellRecord数据以获取中间时间点信息的方法.语法与列表索引类似,因此易于学习.

要在20.1小时获取数据,只需按下面指定的索引值传递 :

 
>>> [20.10] 
 69.40000000000003 
>>>

我们可以传递开始时间点和结束时间点以及指定的下方和下方;

 
>>> [20:30] 
 [67.0,84.0,1020.0,119.0,135.0,147.0,158.0,168.0,179.0,186.0] 
>>>

上述命令以20小时到30小时内插数据,间隔为1小时.默认情况下,间隔为1小时,我们可以将其更改为任何值.例如,让我们给出15分钟(0.25小时)的间隔,如下所示 :

 
>>> [20:21:0.25] 
 [67.0,73.0,75.0,81.0] 
>>>

分析和提取

Biopython提供了一种适用于使用Gompertz,Logistic和Richards sigmoid函数分析WellRecord数据的方法.默认情况下,fit方法使用Gompertz函数.我们需要调用WellRecord对象的fit方法来完成任务.编码如下 :

>>> well.fit() 
Traceback (most recent call last): 
... 
Bio.MissingPythonDependencyError: Install scipy to extract curve parameters. 
>>> well.model 
>>> getattr(well, 'min') 0.0 
>>> getattr(well, 'max') 388.0 
>>> getattr(well, 'average_height') 
205.42708333333334
>>>

Biopython依靠scipy模块进行高级分析.它将在不使用scipy模块的情况下计算min,max和average_height细节.