目录
欢迎使用Gene Waver。
这是一款基于python3.9开发的完全免费、开源的基因筛查工具,本程序利
用OCR、计算机爬虫等技术可以实现对StarBase、Ualcan、 mirWalk、mirDIP、miRDB、TargetScan
、TarBase、PubMed、中国知网等多个数据库进行检索,获取相应靶基因信息、差异表达、
生存曲线等信息,从而得出可靠的miRNA -> gene symbol通路。同时程序
还可以生成表格、韦恩图等多种输出形式,亦可在公共服务器上运行。
适用人群: 有大批量miRNA检索需求的生信科研人员
项目更新地址:https://github.com/zhuerding/gene_weaver
安装包下载:https://pan.baidu.com/s/1vuHv1Jge21XpvRkUpbk4dw?pwd=5pbl
./gene_waver.exe 主程序./database/hsa-lists.csv miRNA ID互译表./README.md 用户手册(markdown语法)./cancer.txt 癌种代号./test.csv 测试/体验 GSE数据集./config.ini 程序配置文件,包含程序运行所需参数其余文件为主程序依赖的包,请勿修改
本程序提供两种导入GSE数据集方式
./config.ini文件中的[base]模块中米娜桑可以看到gse = ['','','']这一行属性值,当GSE数据集位于本程序所在的文件夹时米娜桑只需要按照['xxx.tsv','xxxx.tsv']的格式 添加数据即可。['C:\Users\xx\Desktop\xx.tsv','C:\Users\xx\Desktop\xx.tsv。手动导入数据集模式启动:提示时 就说明配置文件中没有正确导入或者没有写入数据集地址,此时便要手动导入数据集。C:\Users\xx\Desktop\xxx.tsv或者xxx.tsv,输入完成后敲击回车即可。y或者Y完成导入,至此米娜桑可以开始摸鱼了。1. 多集导入时GSE数据集请使用 .tsv 格式,单集导入可以选择 .txt或 .tsv格式,并且保证其为 utf-8编码格式
编码格式查看可使用windows系统自带记事本软件打开数据集,右下角即为 该tsv文件编码格式,若编码不是utf-8,可以将该文件另存为,在另存为时选择utf-8编码格式。
2. GSE数据集解析分为两种模式
- 单集解析
单集解析即只导入一个数据集,当导入一个数据集时,默认 读取第一列的数据,所以请保证单集导入时,第一列数据为米娜桑的miRNA名称(hsa-miR-***格式)。
- 多集解析
多集解析即导入多个数据集,只要任意两个数据集之间的miRNA存在交集,便会进行查询,此时默认读取第七列的数据(hsa-miR-***格式)(大多数GSE数据集均第七列为miRNA名称)。
此外,请保证GSE数据集第一行为标题行,不然无法查询位于第一行的miRNA信息。
此步不需要操作,仅说明原理
Starbase 是通过对高通量的 CLIP-Seq 实验数据和降解组实验数据来搜寻到 micorRNA 靶标,为探讨 microRNA 的靶标提供了各式各样的可视化界面,该数据库容括了丰富的 miRNA-ncRNA、miRNA-mRNA、RBP-RNA 和 RNA-RNA 的数据。
当成功导入数据集后,程序便会第一个查询StarBase数据库,因为Ualcan数据库相关miRNA信息较少,且服务器位于境外,故本程序不采用Ualacn数据库为筛选数据库。
本程序在这一环节中会使用计算机爬虫技术,获取miRNA的差异表达和生存分析曲线的统计学p值,当两个p值均小于等于0.05,满足统计学意义时,便进入下一查询环节。
在更新1.6.0版本后,该程序可以自动对StarBase上miRNA的箱式图、生存曲线自动分析,得出该miRNA的性质,并比较两图是否对应。不过,需要注意的是,为保证图像质量,程序识别中存在一定的模糊分析,即对比相关数据时会乘以0.95或1.05的系数,使得Normal组和Cancer组或Low组和High组的图像差异性更加显著。
此步不需要操作,仅说明原理
UALCAN是一个易于使用的,交互式的门户网站,可以执行对TCGA基因表达数据的深入分析。UALCAN使用TCGA level 3 RNA-seq和31种癌症的临床数据。
当筛选完可用miRNA后,程序便会进一步查询Ualcan数据库,因为Ualcan数据库相关miRNA较少,可能存在只有前体没有成熟体或只有成熟体没有前体的情况,故本程序提供模糊搜索功能,将会根据miRNA名称,自动对其成熟体或前体再次查询,以达到全面获得数据的目的。
本程序在这一环节中会使用计算机爬虫技术,获取miRNA的差异表达和生存分析曲线的统计学p值,无论两个p值是否均小于等于0.05,都会进行记录并标明前体或成熟体。
此步不需要操作,仅说明原理
本程序会使用计算机爬虫技术对这两个数据库进行检索,获取该miRNA的相关文献,并对其进行词云解析。
'ACC': ['Adrenocortical Carcinoma', 'ACC', '肾上腺皮质癌'],
'BLCA': ['BLCA', 'Bladder Urothelial Carcinoma', '膀胱上皮癌', '膀胱癌', '膀胱尿路上皮癌'],
'BRCA': ['BRCA', 'Breast Invasive Carcinoma', '乳腺癌', '乳腺浸润癌'],
'CESC': ['CESC', 'Cervical Squamous Cell Carcinoma and Endocervical Adenocarcinoma', '宫颈癌', '宫颈鳞状细胞癌和宫颈腺癌'],
'CHOL': ['CHOL', 'Cholangiocarcinoma', '胆管癌', '胆管细胞癌'],
'COAD': ['COAD', 'Colon Adenocarcinoma', '结肠腺癌', '大肠腺癌'],
'DLBC': ['DLBC', 'Lymphoid Neoplasm Diffuse Large B-cell Lymphoma', '淋巴肿瘤弥漫性大B细胞淋巴瘤'],
'ESCA': ['ESCA', 'Esophageal Carcinoma', '食管癌'],
'HNSC': ['HNSC', 'Head and Neck Squamous Cell Carcinoma', '头颈部鳞状细胞癌', '头颈部鳞癌'],
'KICH': ['KICH', 'Kidney Chromophobe', '肾嫌色细胞瘤'],
'KIRC': ['KIRC', 'Kidney Renal Clear Cell Carcinoma', '肾透明细胞癌'],
'KIRP': ['KIRP', 'Kidney Renal Papillary Cell Carcinoma', '肾乳头细胞癌'],
'LAML': ['LAML', 'Acute Myeloid Leukemia', '急性髓系白血病', '白血病'],
'LGG': ['LGG', 'Brain Lower Grade Glioma', '脑低级别胶质瘤', '神经胶质瘤'],
'LIHC': ['LIHC', 'Liver Hepatocellular Carcinoma', '肝细胞癌', '肝癌'],
'LUAD': ['LUAD', 'Lung Adenocarcinoma', '肺腺癌'],
'LUSC': ['LUSC', 'Lung Squamous Cell Carcinoma', '肺鳞状细胞癌'],
'MESO': ['MESO', 'Mesothelioma', '间皮瘤'],
'OV': ['OV', 'Ovarian Serous Cystadenocarcinoma', '卵巢浆液性囊腺癌', '卵巢癌'],
'PAAD': ['PAAD', 'Pancreatic Adenocarcinoma', '胰腺癌'],
'PCPG': ['PCPG', 'Pheochromocytoma and Paraganglioma', '嗜铬细胞瘤和副神经节瘤', '嗜铬细胞瘤', '副神经节瘤'],
'PRAD': ['PRAD', 'Prostate Adenocarcinoma', '前列腺癌', '前列腺肿瘤'],
'READ': ['READ', 'Rectum Adenocarcinoma', '直肠癌'],
'SARC': ['SARC', 'Sarcoma', '肉瘤', '恶性毒瘤'],
'SKCM': ['SKCM', 'Skin Cutaneous Melanoma', '皮肤黑色素瘤'],
'STAD': ['STAD', 'Stomach Adenocarcinoma', '胃癌', '胃腺癌'],
'TGCT': ['TGCT', 'Testicular Germ Cell Tumors', '睾丸生殖细胞瘤', '睾丸癌'],
'THCA': ['THCA', 'Thyroid Carcinoma', '甲状腺癌', '甲状腺肿瘤'],
'THYM': ['THYM', 'Thymoma', '胸腺癌', '胸腺肿瘤'],
'UCEC': ['UCEC', 'Uterine Corpus Endometrial Carcinoma', '子宫体子宫内膜癌'],
'UCS': ['UCS', 'Uterine Carcinosarcoma', '子宫癌肉瘤'],
'UVM': ['UVM', 'Uveal Melanoma', '葡萄膜黑色素瘤'] ***以上为关键词云*** 我们在词云匹配使用了fuzzywuzzy模块,通过与关键词的匹配度计算degree。 > 如果在进行关键词云匹配过程中程序终端报错有可能是因为米娜桑的计算机没有安装Visual C++ Build Tools for Visual Studio 2015 with Update 3。 <https://my.visualstudio.com/Downloads?q=Visual%20Studio%202015%20update%203&pgroup=> 请下载**DVD**版本,如果米娜桑的电脑储存不足,可以在下载后仅安装win10/win7 SDK.
- 当关键词云与相关论文摘要完全匹配时,degree为Very High,即有大概率这个miRNA有人做过相关癌种了,你做了大概率被导师骂一顿。
- 当关键词云与相关论文摘要基本匹配时,degree为High,即有一定概率这个miRNA有人做过相关癌种了。
- 当关键词云与相关论文摘要基本不匹配时(可能有其他癌种有相关研究),degree为Low,即有小概率这个miRNA有人做过相关癌种了。
- 当没有相关论文时,degree为None,即基本没人做过这个基因的任何研究。
程序会自动对miRNA进行分类,根据米娜桑在配置文件中设置的model值进行下一步搜索。
此步不需要操作,仅说明原理
miRWalk是一个综合性的miRNA靶基因数据库,收录了Human、Mouse、Rat、Dog、cow等多个物种的miRNA靶基因信息,不仅仅记录了基因全长序列上的miRNA结合位点,也会将其与已有的12个miRNA靶标预测程序(DIANA-microTv4.0 , DIANA-microT-CDS , miRanda-rel2010 , mirBridge , miRDB4.0 , miRmap , miRNAMap, doRiNA i.e.,PicTar2, PITA RNA22v2 , RNAhybrid2.1 and Targetscan6.2 )的预测结合信息集合进行结合关联。数据库一直在更新收录新的资料,第一版是在2011年发布,之后在2015年发布V2 版本,并登上了Nature methods杂志,目前更新到V3 版本。
根据米娜桑填写的model值,程序会查询mirWalk数据库,程序通过pandas模块对下载到的csv文件进行解析,获取靶蛋白bindingp = 1的靶蛋白。
此步不需要操作,仅说明原理
miRDB是用于miRNA目标预测和功能注释的在线数据库。miRDB中的所有目标都由生物信息学工具MirTarget预测,该工具是通过分析来自高通量测序实验的数千个miRNA-目标相互作用而开发的。与miRNA结合和靶点下调相关的共同特征已被确定并用于通过机器学习方法预测miRNA靶点。
根据米娜桑填写的model值,程序会查询miRDB数据库,程序通过xpath模块对页面进行解析,获取靶蛋白Target Score > 80的靶蛋白。
此步不需要操作,仅说明原理
TargetScan 是一个miRNA 靶基因预测的网站, 包括了 人, 小鼠,果蝇 , 线虫, 斑马鱼 共5个物种的miRNA 靶基因结果。
根据米娜桑填写的model值,程序会查询TargetScan数据库,程序通过panads模块对下载到的xlsx文件进行解析,获取靶蛋白Total context++ score < -0.5 的靶蛋白。
此步不需要操作,仅说明原理
mirDIP集成了30个来源数据库中human相关的靶基因信息,是最全面的人类miRNA靶基因数据库。
根据米娜桑填写的model值,程序会查询mirDIP数据库,程序通过对下载到的tsv文件进行解析,获取靶蛋白very high的靶蛋白。
此步不需要操作,仅说明原理
TarBase收录各种实验验证过的miR-Target数据(只要是人和小鼠的靶基因信息),TarBase将实验证据分为low和high两类,low代表的是传统的实验手段,可靠性相对于高通量测序的分析结果更高一点,我们可以筛选low方法支持的miRNA靶基因信息,得到高质量的miRNA候选靶基因集。TarBase只提供在线检索,可以输入miRNA名称和/或基因名称,miRNA名称为miRBase数据库格式,基因名称支持gene symbol(基因名)和ensembl gene ID。
根据米娜桑填写的model值,程序会查询Tarbase数据库,程序通过xpath模块对页面进行解析,获取靶蛋白Score > 5 的靶蛋白。
此步不需要操作,仅说明原理
根据米娜桑填写的venn值,程序会将在各个数据库中查询到的高可能性靶蛋白取交集,并生成韦恩图和交集表格。

本程序具有多种导出文件的能力,因为导出文件较多故单独列出一章节解析。
导出的文件都位于./output文件夹。
导出文件夹的命名格式为电子签名 + 年-月-日 + 时:分:秒 + 癌种 + gene weaver 1.5 output,例如 “zhuerding 22-08-13 13:18:33 ACC gene weaver 1.5 output”。
符合条件基因的生存曲线、差异分析的p值信息以及文献可疑度指数都位于命名格式为年-月-日 + 时-分-秒 + 癌种.xlsx的excel文件中。
程序运行过程中保存输出的文字信息(方便在程序崩溃后重启)的日志文件位于命名格式为day年_月_日.log的.log文件中,可以用记事本打开。
靶基因信息都位于./miRNA名的文件夹内。
mirWalk.csv储存了从mirWalk数据库中下载到的靶蛋白数据。mirDIP.csv储存了从mirDIP数据库中下载到的靶蛋白数据。TargetScan.xlsx储存了从TargetScan数据库中下载到的靶蛋白数据。miRDB.html储存了从miRDB数据库下载到的靶蛋白数据,如果有需要米娜桑可以用WPS软件中的表格工具打开(或转为.csv或.xlsx格式)。intersection.xlsx储存了从五个靶蛋白数据中筛选到的所有符合条件的靶蛋白名称。/Tarbase文件夹储存了从Tarbase数据库下载到的靶蛋白数据,因为该数据库似乎没有导出功能,所以下载到的靶蛋白数据会以页面编号.html文件的形式储存,有特殊需要如上条所述处理数据。/Venn文件夹储存了程序下载到的韦恩图、交集表格(文字版)、网页界面。
Venn-miRNA名称.svg为韦恩图。Table-miRNA名称.txt为交集表格(米娜桑可以用记事本修改为tsv格式使用)。Page-miRNA名称.html为网页界面(米娜桑可以用截图软件截取其中的交集表格)。 本程序提供了一定的自由度,所以配置文件较为复杂……本章会为米娜桑解释配置文件中的参数含义。当然,在配置文件中也有相应的解释。
./config.ini 为我们的配置文件,其他文件若未在本文档的日后版本中提及,请不要修改。
1. 请不要删去[base]、[query]、model = 等这类符号,此为分隔符或参数名。
2. 如果米娜桑不小心修改了不该修改的东西,而且不小心保存了,可以选择删除config.ini文件,然后运行主程序gene_weaver.exe,主程序在检测到配置文件消失后会自动重新生成一份船新的配置文件。
3. 在输入参数的时候,所以符号请输入半角(即英文状态下输入),'不要用"代替,此外不要写一些奇奇怪怪的东西到参数里面,很有可能程序就瓦塔了。
4. 在程序的更新中会陆续增加新的参数,请在主程序更新后亦更新配置文件,不然新程序可能会罢工……
5. 因为很多生信数据库都是免费的,所以其服务器运营压力较大,很有可能突然就噶了,所以最好在程序运行前检查一下网站还能否使用,不然程序也有可能会报错。
程序的开发者是一只医学牲,所有python语法都是自学,并未系统性学习过编程,所以出现Bug是意料之外,情理之中……不管怎样,本人会尽可能修复Bug,并维持版本更新~
***
本程序将于XXX秒后自动关闭或欢迎使用,按任意键退出程序这两种提示,都算是出现了Bug,除读取配置文件前的Bug,所有的信息都会被记录在日志文件中。./output/电子签名 + 年-月-日 + 时:分:秒 + 癌种 + gene weaver 1.5 output。
day年_月_日.log文件记录了正常运行中所有输出的文字数据,有助于报错后回溯或程序重新运行。bug.log文件记录了程序运行时系统发出的一些信息。以上日志文件均可以用记事本软件打开,若确认不是因为配置文件中写入了一些奇奇怪怪的东西,就麻烦米娜桑打包以上两个日志文件发送标题中带有【BUG】字样的邮件发送至 zhuerding@zhuerding.top ,如果可以的话希望详细说明发生问题的场景和输入的参数(如果涉及课题组机密,请尽可能用相同的数据脱敏告诉我~)。
已查询到X/XXX或开始查询XXX后30秒没有出现想要的数据,建议米娜桑Ctrl+c主动退出程序重试……Clash for windows左侧栏setting下System Proxy中的Specify Protocol,使其变成绿色。
程序作者:zhuerding(一个胡桃厨)
本程序遵循GNU(GNU General Public License)通用公共许可协议,源代码及其衍生代码的开源且免费使用并可以引用、修改,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。希望其他基于本程序开发的同学们遵守该协议。
以及感谢B站、Github、CSDN一些博主,他们提供的一些代码和思路对这个程序的开发有很大帮助。