在Excel中透视表是非常有用的工具,类似的,ChemAxon在最新的Instant JChem版本(16.10.3.0)中发布了透视表的功能,在Instant JChem中可以使用Pivot功能共建立透视表视图,方便按照不同方式浏览及分析数据。
数据透视表(Pivot Table)
数据透视表可以动态地将原始数据表格进行重排,按照需要设置行与列,对数据进行重新归类,并且计算新的行列定义值。例如下面的化合物生物活性实验结果,一行记录一次实验结果,一个化合物进行了多种生物测试,或者多次重复实验。
通过数据透视表可以将化合物的所有实验结果归纳成一行,这样可以直观的对比同一个化合物不同实验的结果,以及不同化合物的活性。在创建数据透视表时,选择字段作为透视表的行,该字段的值将定义新的行,例如选择Compound ID作为行,在透视表中一个化合物数据将作为一行。选择字段作为透视表的列,该字段的值将定义新的列,例如选择Target作为列,可以将不同实验测试转置为列。选择计算值,按照新的行列定义选择计算值,可以显示原始值,也可以利用函数进行一些计算,计算加合、平均值、最大值和最小值等等。
创建透视表(Pivot Table)
在Instant JChem中创建透视表非常简单,在对应的Schema右键可以选择新建Pivot entity,可以打开New Pivot Entity设置界面,在Original Entity中选择数据来源,然后选择需要作为Pivot表格行的字段,点击“As Row”,对于化合物结构,需要选择化合物的SMILES字段;选择需要作为Pivot表格列的字段,点击“As Column”;选择作为Pivot表格值的字段,点击“As Value”;点击“Finish”将新建一个Pivot entity。
New Pivot Entity设置项:
Display Name :新建透视表的显示名称,默认为Data
Original Entity:在下拉菜单中选择数据来源表,在下方的窗口中显示所选数据表的字段及类型
As Row :将选择字段设置为透视表的行值;可以选择多个字段对行进行定义
As Column :将选择字段设置为透视表的列值;可以选择多个字段对列进行定义
As Value:将选择字段设置为透视表的值;可以选择多个字段对值进行定义
As Extra Value:将选择字段设置为附加值;可以选择多个字段对附加值进行定义
Allow creation of empty fields:控制创建空的透视表字段
Show empty rows:控制空行的显示
所有的透视表字段可以在Order中设置升序或者降序排列,对于值或者附加值字段,可以在Aggregation中选择函数计算值的加合、平均值、最大值和最小值。
在新建的Pivot表格中,在表格设置中将SMILES字段对应的Cell Renderer改为Structure Renderer从而将SMILES转换为化合物结构,得到最终的Pivot表格如下图所示:
数据检索:
Pivot table将通过多对一的关系与原始数据表建立关联关系。在Data tree中将新建的Pivot表格加入到原始数据表中,这样可以在原始数据表中新建视图,通过检索原始数据对Pivot表格进行检索。
数据更新
当原始表格数据更新时,可以通过Refresh Pivot Entity更新透视表中的数据。
数据导出:
通过数据导出可以将Pivot table中的数据保存到文件中,支持多种文件格式,例如xlsx, csv, tab等。数据导出同样通过Export to file wizard设置导出文件及字段等。