Python从零开始第五章生物信息学①提取差异基因

目前来说,做生物信息学的人越来越多,但是我觉得目前而言做生信的主要有三类人:老本行是做实验的,做生信可能是为了辅助研究或者是为了发paper(有非常多的临床生选择趟生信这波水)主要是做生信的,主要涵盖高通量测序数据分析,组学数据分析等等,专门从事生物学数据分析的这群人,其大部分也是本科生物狗作为强大的生力军,以调包写R,python为主。那么这群人就要熟悉看各种包的tutorial以及如何进行常规的数据的处理和分析等等。那么其实这群人,我个人认为对python的编程要求不是很高,在coursera先上两门课程,然后照着参考书在项目中练练就熟络了。也是做生信的,但是主要以写包为主,什么意思?就是以开发算法供给第二类人用,做这部分工作的人需要具有良好的数理基础,所以一般大部分都是本科属于物理,数学等理工科的人在做这部分工作。当然对编程也提出较高要求。我入门生物信息学是通过R语言入门的,但是接触到了python,这个也是目前用户数量数一数二的语言。python去做生信得优点是①过程更加直观,因为常见的R包功能一般已经封装好了,直接应用就可,虽然足够简单友好,但是不利于长期学习②基因组数据一般比较大,python速度一般比R快。下面我就记录一个通过python做生信分析的流程。使用的数据集是GSE5583,来自于2006年的基因芯片结果,该芯片目的是提取野生型和HDAC1小鼠胚胎干细胞用于Affymetrix微阵列上的差异RNA。导入包%clear%reset -f# In[*]import seaborn as snsimport matplotlib.pyplot as plt%matplotlib inlineimport osimport numpy as npimport pandas as pdos.chdir('D:\\train')from scipy import stats导入数据# In[*]data = pd.read_table("http://ahmedmoustafa.io/notebooks/GSE5583.txt", header = 0, index_col = 0)data.head()Out[27]: WT.GSM130365 WT.GSM130366 ... KO.GSM130369 KO.GSM130370100001_at 11.5 5.6 ... 36.0 42.0100002_at 20.5 32.4 ... 14.4 22.9100003_at 72.4 89.0 ... 130.1 86.7100004_at 261.0 226.2 ... 447.3 288.1100005_at 1086.2 1555.6 ... 1365.9 1436.2每一行是一个基因,每一列是一个样本,这也是比较经典的芯片数据集查看数据维度# In[*]# Check the dimension of the loaded data (rows & columns)data.shape(12488, 6)# In[*]# Number of rowsnumber_of_genes = len(data.index)print(number_of_genes)12488总共12488个基因,6个样本。标准化这一步是标准化,使用的是常见的log2()标准化# In[*]data2 = np.log2(data+0.0001)data2.head()Out[30]: WT.GSM130365 WT.GSM130366 ... KO.GSM130369 KO.GSM130370100001_at 3.523575 2.485453 ... 5.169929 5.392321100002_at 4.357559 5.017926 ... 3.848007 4.517282100003_at 6.177920 6.475735 ... 7.023478 6.437962100004_at 8.027907 7.821456 ... 8.805099 8.170426100005_at 10.085074 10.603256 ... 10.415636 10.488041绘制盒须图# In[*]# Boxplot of each microarrayplt.show(data2.plot(kind = 'box', title = 'GSE5583 Boxplot', rot = 90))

这一步目的是查看不同样本之间是否有总体差异。# Densityplt.show(data2.plot(kind = 'density', title = 'GSE5583 Density'))

可以看出样本之间没有总体差异,可以做差异分析。# In[*]# The mean of expression of the wt samples for each gene (row)wt = data2.loc[:, 'WT.GSM130365' : 'WT.GSM130367'].mean(axis = 1)wt.head()# In[*]# The mean of expression of the ko samples for each gene (row)ko = data2.loc[:,'KO.GSM130368':'KO.GSM130370'].mean(axis = 1)ko.head()查看基因差异的差异倍数fold分布# In[*]fold = ko - wt# Histogram of the fold-changeplt.hist(fold)plt.title("Histogram of fold-change")plt.show()

查看基因差异的P值分布from scipy import statspvalue = []for i in range(0, number_of_genes): ttest = stats.ttest_ind(data2.ix[i,0:3], data2.ix[i,3:6]) pvalue.append(ttest[1])# Histogram of the p-valuesplt.hist(-np.log(pvalue))plt.title("Histogram of p-value")plt.show()

(0)

相关推荐

  • cox可以火山图为什么gsea结果不行

    最近看到一个文献,是数据集:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE101668 GSM2711785    RKO-WT-rep1 ...

  • ccRCC数据分析-GSE14672-GPL4866

    五月份的学徒专注于GEO数据库里面的表达量芯片数据处理,主要的难点是表达量矩阵获取和探针的基因名字转换,合理的分组后就是标准的差异分析,富集分析.主要是参考我八年前的笔记: 解读GEO数据存放规律及下 ...

  • 物种保守行能说明它是目标分子吗

    有一个ABCD的生命科学领域划水套路很流行,就是A 基因通过 B 信号通路在 C疾病中发挥 D 功能.其它划水方式见:你的科研也是在划水吗 ? 但是在高通量测序大行其道的这10年,困扰大家的问题在于如 ...

  • R语言GEO数据挖掘01-数据下载及提取表达矩阵

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. 这一节的内容包括应用 GEOquery包下载芯片数据,提取表达矩阵,提取m ...

  • GEO(Gene Expression Omnibus):高通量基因表达数据库

    #GEO是什么? GEO全称Gene Expression Omnibus data base,由美国国立生物技术信息中心NCBI创建并维护的基因表达数据库(通过NCBI首页,All Database ...

  • RNA芯片和测序技术的比较(学徒作业)

    有学员提出来了一个问题,就是可以比较同样实验设计的表达量探索研究,一个研究使用的是芯片,一个是测序,看看两者的差异基因情况的overlap情况.其实这样的例子非常多,比如下面这样的展现方式: 下面给大 ...

  • HNSCC数据分析-GSE2379-GPL830-GPL91

    五月份的学徒专注于GEO数据库里面的表达量芯片数据处理,主要的难点是表达量矩阵获取和探针的基因名字转换,合理的分组后就是标准的差异分析,富集分析.主要是参考我八年前的笔记: 解读GEO数据存放规律及下 ...

  • 一条代码完成完成无限分组的微生物差异分析

    写在前面 今天是2020年10月6日,这几天都很忙碌,许多批次的数据需要再次分析和进一步分析,许多材料需要赶出来,百忙之中还有几位同学的婚礼,确实非南京很难到场,这里祝愿这几位百年好合,早生贵子.国庆 ...

  • ccRCC数据分析-GSE66270-GPL570

    数据集介绍 GEO链接:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE66270 芯片平台:GPL570,  [HG-U133_Plus_ ...

  • 如今的测序和八年前的芯片差异大吗

    课程配套思维导图见:https://mubu.com/doc/7A3T8hpUlLv miRNA相关资料在:https://share.weiyun.com/k6ZbUg6H 但是阅读量超级低哦,可能 ...

  • RNA-seq和ATAC-seq数据整合分析怎么少的了相关性散点图

    于2021年3月发表在CELL杂志的文章, 标题是:<In vivo CD8+ T cell CRISPR screening reveals control by Fli1 in infect ...

  • 愿所有的基因都有一个正式的名字

    最近连续看到了两个单基因研究文章,它们的落脚点都是敲减过表达具体的某个基因看它的效果.但是我仔细看了文章里面提到的基因名字,和其上传到geo数据库的居然是不一致的! 首先是Mth938 domain ...