GEPIA API的自定义用法

2020-08-04

GEPIA 是北京大学张泽民教授团队开发的TCGA数据库数据分析网页工具。掌握其API使用方法,便于实现批量操作,提高工作效率。

使用API

help

安装第三方库

spider, !pip3 install gepia ,

修改gepia.py

实现对所爬取的pdf结果文件名的修改

pdf转为png

pdf转为png方便查看结果。

不过应该同时保留原来的pdf版本,因为pdf版本的图片后续如果需要图片作为figure进行发表,那么pdf格式的文件容易进行修改并获得高分辨率的图片。

实例的应用实战

GEPIA对于查看TCGA 以及GTEX联合数据分析结果很方便,但是存在的问题是:

  1. 网页工具对于批量的分析任务需要重复提交逐一分析,很麻烦。
  2. 对于需要频繁修改分析参数来查看分析结果的变化时,需要反复修改提交,很麻烦。
  3. 分析结果生成的pdf网页结果图,保存时的命名是随机命名,不包含分析参数,需要逐一对应地修改命名添加分析参数,很麻烦。
  4. 分析结果是pdf格式的图片,这对于用AI进行编辑图片并导出高分辨率格式的图片用于发表很方便,但是对于需要同时查看多个分析结果图片时,不如直接查看图片格式的分析结果方便,所以想进行批量转换为图片格式。

实例的解决策略

所以想通过API解决上述问题,幸运的是,北大的GEPIA开发者提供了Python 的API使用,是一个python package,gepia。可以看到说明页面中的对使用方法的介绍,所以进行安装pip install gepia,安装后即可以重现说明页面中举例的使用方法,就可以实现批量的提交分析并下载分析结果的pdf格式图片。从示例页面中,整理合并获得了两个示例脚本文件,分别是gepiaBoxp.pygepiaSurvp.py

如此,便解决了第一个和第二个问题,可以使用for loop ,修改不同的分析参数进行批量分析。

第三个问题的解决,需要查看其API的源代码文件,即gepia.py(注意不要修改存储在site-packages文件夹中的库源代码文件)。查看源代码以后,可以发现,整个代码是面向对象的编程设计,如果需要修改保存的结果图片命名,只需要在每一个分析完成后,用 fname变量存储分析所用的关键参数,然后对代码刚刚保存的pdf文件进行重命名为fname即可。最终得到的脚本文件是gepiaApi.py,使用这个脚本,就不需要另外import gepia,因为这个脚本是在原来源代码基础上修改的,所有函数都在,只是添加了两行重命名的代码,并且用survival 分析的一个for loop 进行了实践,测试worked。已使用此脚本分析了NAPRT、NAMPT在3个癌症中OS DFS用不同阈值划分高表达和低表达组的条件时的生存结果。

第四个问题的解决,写了一个pdf2pngscript.py的脚本文件,可以实现将一个文件夹中的pdf文件批量转化为png格式的清晰图片。因为考虑到这一功能比较常用,所以就添加了easygui的内容,得到脚本pdf2png.py,然后通过pyinstaller 生成了exe可执行文件,测试worked.

知识点

  • 网页API工具的使用,GEPIA是一个极好的例子,使用它大大方便了我对基因TCGA数据的快速分析
  • gepia的源代码是一个面向对象编程的极好例子,显示了面向对象编程的优势。

致谢