2019年2月23日
我们提供了一种实验方案及相关的编程代码和元数据样本,以支持基于云平台的自动化识别,在生物医学文献中识别用户选定知识领域内代表独特概念的短语与类别之间的关联。通过本方案量化的短语-类别关联可促进对选定知识领域的深入分析。
本方案提供了一种构建基于云的短语挖掘平台的逐步操作方法,用于用户自定义实体类别关联分析,以评估蛋白质、基因组或化学物质与特定疾病之间的关联性。该技术的主要优势在于,相较于人工进行实体类别关联评估,其效率更高,且可显著提升短语挖掘工具的可访问性,适用于广泛的生物医学研究应用。用户可在生物医学文献或与特定关键词相关的文本文件中,选择感兴趣的实体和类别。
新用户可遵循本文提供的方案及参考文献,并可在我们的 GitHub 仓库中提出技术问题。对该内容的可视化演示能够更清晰地展示如何执行该方案,并促进新型文本挖掘工具的应用。要创建文本立方体,首先下载最新可用的医学主题词表(Medical Subject Headings)或 MeSH 树状结构。
网格树2018的代码为MESHTree2018.bin,应将其输入至输入目录中。使用一个或多个网格描述符定义感兴趣类别,并收集某一类别的网格ID。
将分类名称保存在 config 目录下的 textcube_config.json 文件中,并将收集到的 mesh ID 分类以空格分隔的形式添加为一行。将该分类文件保存为 categories。
输入目录中的 txt 文件。该算法会自动选择所有子代主题词(mesh)描述符。请确保 mesh2pmid。
json 文件位于 data 目录中。如果输入目录中的网格树已使用不同的名称更新,请确保在 run_textcube.py 文件的输入数据路径中正确反映该名称。
要创建名为 text-cube 的文档结构,请在终端中输入 python run_textcube.py,以为每个类别创建一组文档。单个文档可能属于多个类别。
完成文本立方体(text-cube)创建步骤后,需确保将细胞到PMID的映射表作为 textcube_cell2pmid.json 保存在数据目录中。将PMID到细胞的映射表作为 textcube_pmid2cell.json 保存在数据目录中。将每个细胞对应的所有下级MeSH术语集合作为 meshterms_per_cat.json 保存在数据目录中。
文本立方体数据的统计结果将保存在数据目录中,文件名为 textcube_stat.txt。然后,请前往日志目录查看 textcube_log.txt 中的日志信息,以防该过程失败。
如果过程成功完成,文本立方体创建的调试信息将被打印在日志文件中。对于实体计数,请创建用户自定义的实体,将一个实体及其缩写放在一行内,用竖线符号分隔。将实体文件保存为 entities。
txt 文件放入输入目录,并确保 Elasticsearch 服务器正在运行。如果 Elasticsearch 服务器中已存在名为 PubMed 的索引数据库,请确认 data 目录中存在 textcube_pmid2cell.json 文件,然后输入命令 python run_entitycount。
在终端中运行 py 以执行实体计数操作。当索引数据库中的所有文档及其每篇文档中的实体数量均被统计,并且已收集到包含这些实体的 PMIDs 后,将最终结果保存为 entitycount.txt 和 entityfound_pmid2cell。
数据目录中的 json 文件。然后,打开日志目录以读取 entitycount_log.txt 中的日志消息,以防此过程失败。
如果流程成功完成,实体数量的调试信息将被打印到日志文件中。请确保所有输入数据均位于数据目录中。这些数据是元数据更新的输入文件。
为准备元数据集,请在终端中输入 python run_metadata_update.py 以更新元数据。元数据更新完成后,请确保 metadata_pmid2pcount。
json 文件和 metadata_cell2pmid.json 文件已保存在 data 目录中。请进入 log 目录以查看 metadata_update_log 中的日志信息。
txt 文件,以防此过程失败。如果过程成功完成,元数据更新的调试信息将打印在日志文件中。对于上下文感知的语义在线分析处理评分计算,请确认存在 metadata_pmid2pcount。
数据目录中的 json 和 metadata_cell2pmid.json 文件。这些文件是评分计算的输入数据。
在终端中输入 python run_caseolap_score.py,以根据用户定义的类别对实体进行上下文感知的语义在线分析处理评分计算。该评分是完整性、流行度和独特性的乘积。
评分计算完成后,请确认结果已保存至结果目录。然后,访问日志目录,查看 caseolab_score_log.txt 文件中的日志信息,以防该过程失败。
如果该过程成功完成,案例评分计算的调试信息将被打印在日志文件中。利用从婴儿、儿童、青少年和成人四个年龄组子类别中获取的元数据和统计信息,可以显示文本立方体各单元格之间文档数量的比较结果。其中,成年子类别在所有单元格中包含的文档数量最多,而成年与青少年子类别之间共享的文档数量最多,并且包含了本次代表性分析所关注的目标实体。
通过评估蛋白质年龄组关联作为上下文感知的语义在线分析处理评分,可确定与婴儿、儿童、青少年和成人子类别相关的前10种蛋白质。此处展示了获得的营养与代谢性疾病子类别的元数据和统计信息。代谢性疾病子类别所包含的文献数量几乎是营养障碍子类别的三倍。
代谢性疾病与营养障碍亚类共有 7,101 篇共享文献。值得注意的是,这些文献包含了代表性研究中关注的实体。两个亚类之间共享了超过一半的蛋白质,其中代谢性疾病亚类中近一半的相关蛋白质为该亚类所独有,而营养障碍亚类中仅有少数蛋白质为其独有。
独立且明确的类别,以及实体所有同义词和缩写的集合,将提供最佳结果。由于实体类别关联以数值形式呈现,这为实施无监督学习技术(如聚类分析和主成分分析)提供了可能。该技术有助于发现这些关联中隐藏的或先前未识别的关系,为进一步深入理解生物过程奠定了基础。
本文介绍了一种构建基于云的短语挖掘平台的方案,该平台可促进生物医学实体与特定疾病之间的关联分析。该方法提高了生物医学研究的效率和可及性。
自动化生物医学文献中的实体-类别关联可减少人工整理的瓶颈,从而加速靶点验证。基于云的 CaseOLAP 流程能够对短语-类别关系进行可扩展且可重复的量化,支持在早期发现阶段实现数据驱动的假设生成。这通过客观、定量的输出提高了靶点选择的预测可信度,并简化了项目组合的筛选流程。
CaseOLAP 分析流程适用于从早期假设生成到先导物鉴定的整个发现过程,能够对生物医学文献进行可扩展的分析,从而为靶点选择和验证策略提供依据。