单基因gsea_10个细胞系仅1个表达你的基因

遇到了粉丝的一个超级好的问题:

感兴趣的一个基因A,研究它在10种乳腺癌细胞系中的表达情况,跑了western和qpcr  。
发现它只在一种乳腺癌细胞系中表达,其他9种都不表达。
结果是一致的,确认自己的实验没有问题!
现在都怀疑唯一有表达的那个细胞系是不是污染了???

实验这个东西,并不是说你做的没有问题就不会有问题,很有可能细胞系本身就是有问题的,类似的新闻屡见不鲜了!

比如我们换数据思维来看这个问题,看看CCLE数据库里面这些细胞系的自己的感兴趣的基因的表达量情况是怎么样的?

很简单啊,去CCLE数据库查询看看!

关于CCLE数据库

肿瘤细胞系数据库CCLE,全称为Broad Institute Cancer Cell Line Encyclopedia上官网链接:

  • https://portals.broadinstitute.org/ccle/about

CCLE数据库是公开的数据库,通过普通的邮箱注册就能获取数据库中公开的数据。据统计数据库中共包含40种癌型(包含未知的癌型),1457个肿瘤细胞系的数据,可以说CCLE数据库和COSMIC都是研究肿瘤细胞系的利器。

据统计CCLE数据包含了细胞系的突变、基因融合、miRNA、蛋白质表达谱、基因表达谱、甲基化谱、拷贝数、代谢谱、药物处理细胞系的IC50值和AUC值等。

值得一提的是,CCLE数据库并不是所有的细胞系在各个组学层面都进行了检测。各种组学数据中包含的细胞系数量都是不相同的。

很多文献直接就使用CCLE数据库的查询结果

比如 :http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0081803#pone.0081803.s001

这篇文章只用了CCLE的一个地方,就是看看不同cancer type里面的某个 基因表达boxplot,这个图的数据用 GEOquery 可以得到,样本的分类信息也用GEOquery可以得到,这样就可以做下面这个图了,非常简单:

Further, the Cancer Cell Line Encyclopedia (CCLE) database demonstrated that of 1062 cell lines representing 37 distinct cancer types, glioma cell lines express the highest levels of STK17A

或者你干脆一点,直接网页数据库搜索这个基因,然后直接截图:https://portals.broadinstitute.org/ccle/page?gene=STK17A

c6044e422d02cec1533cb471e19f7b63.png
1

你会发现是一模一样的!

学徒作业

因为粉丝的课题是保密的,我不能够透露他研究的基因名字,但是只在一种乳腺癌细胞系中表达,其他9种都不表达的基因应该是可以有很多。

我这里布置一个学徒作业,下载CCLE数据库的RNA-seq的表达矩阵,然后提取属于乳腺癌的细胞系的,随机分成9:1的两个组,然后选择那些在其中10%细胞系表达的基因并且在另外的90%的细胞系不表达的基因。

看看这样的基因数量多少,有什么特性?

开放性问题,加油哦!

历年学徒作业目录如下:

  • 生信编程直播课程优秀学员作业展示1
  • 生信编程直播课程优秀学员学习心得及作业展示3
  • 生信编程直播课程优秀学员作业展示2
  • 给学徒的GEO作业
  • 这个WGCNA作业终于有学徒完成了!
  • 上次说的gmt函数(学徒作业)
  • 拖后腿学徒居然也完成作业,理解RNA-seq数据分析结果
  • 肿瘤外显子视频课程小作业
  • ChIPseq视频课程小作业
  • Agilent芯片表达矩阵处理(学徒作业)
  • 学徒作业:TCGA数据库单基因gsea之COAD-READ
  • 学徒作业-在CCLE数据库里面根据指定基因在指定细胞系里面提取表达矩阵
  • 学徒作业-指定基因在指定组织里面的表达量热图
  • 学徒作业-我想看为什么这几个基因的表达量相关性非常高
  • 学徒作业:给你8个甲基化探针, 你在tcga数据库进行任意探索
  • 学徒作业-根据我的甲基化视频教程来完成2015-NPC-methy-GSE52068研究
  • RNA芯片和测序技术的比较(学徒作业)
  • 学徒作业-单基因的tcga数据挖掘分析
  • ATCC终于出来了organoids资源
  • 拿到7个DDR通路的基因集-学徒作业
  • 绘图本身很简单但是获取数据很难
  • 都说lncRNA只有部分具有polyA尾结构,请证明
  • 学徒作业-hisat2+stringtie+ballgown流程
  • 学徒任务-探索DNA甲基化的组织特异性
  • 用WES和RNA-Seq数据提取到的somatic SNVs不一致
  • 《GEO数据挖掘课程》配套练习题

文末友情推荐

要想真正入门生物信息学建议务必购买全套书籍,一点一滴攻克计算机基础知识,书单在:什么,生信入门全套书籍仅需160 。如果大家没有时间自行慢慢摸索着学习,可以考虑我们生信技能树官方举办的学习班。如果你课题涉及到转录组,欢迎添加一对一客服:详见:你还在花三五万做一个单细胞转录组吗?

号外:生信技能树知识整理实习生招募,长期招募,也可以简单参与软件测评笔记撰写,开启你的分享人生!另外,:绝大部分生信技能树粉丝都没有机会加我微信,已经多次满了5000好友,所以我开通了一个微信好友,前100名添加我,仅需150元即可,3折优惠期机会不容错过哈。我的微信小号二维码在:0元,10小时教学视频直播《跟着百度李彦宏学习肿瘤基因组测序数据分析

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简基因GSEA分析代码示例,供参考: ```python import pandas as pd import numpy as np from scipy.stats import norm # 读取基因表达数据 gene_expression_data = pd.read_csv("gene_expression_data.csv") # 读取基因集合数据 gene_set_data = pd.read_csv("gene_set_data.csv") # 计算每个基因表达值的均值 gene_expression_mean = gene_expression_data.mean(axis=1) # 基于基因表达均值计算基因的排名 gene_ranks = gene_expression_mean.rank(method='min') # 初始化GSEA参数 n_genes = len(gene_ranks) n_perms = 1000 gene_set_size_min = 15 gene_set_size_max = 500 alpha = 0.05 # 计算基因集合的ES值 def calculate_es(gene_set): gene_ranks_in_set = gene_ranks[gene_ranks.index.isin(gene_set)] gene_set_size = len(gene_ranks_in_set) if gene_set_size < gene_set_size_min: return np.nan else: es = 0 running_sum = 0 for gene_rank in gene_ranks: if gene_rank in gene_ranks_in_set: running_sum += 1 else: running_sum -= 1 es = max(es, running_sum) return es / gene_set_size # 计算基因集合的NES值 def calculate_nes(gene_set, gene_set_es, gene_set_size): gene_set_mean = gene_expression_mean[gene_expression_mean.index.isin(gene_set)] gene_set_sd = np.std(gene_set_mean, ddof=1) if gene_set_sd == 0: return np.nan else: nes = gene_set_es / gene_set_sd return nes # 计算随机排列基因集合的ES值 def calculate_permutation_es(gene_set): permuted_ranks = gene_ranks.sample(frac=1).reset_index(drop=True) permuted_es = calculate_es(gene_set, permuted_ranks) return permuted_es # 计算基因集合的p值和FDR校正的p值 def calculate_p_value(gene_set_es, permutation_es): p_value = (np.sum(permutation_es >= gene_set_es) + 1) / (len(permutation_es) + 1) fdr_p_value = p_value * n_perms return p_value, fdr_p_value # 进行GSEA分析 results = [] for index, row in gene_set_data.iterrows(): gene_set = row['gene_set'].split(',') gene_set_es = calculate_es(gene_set) if np.isnan(gene_set_es): continue gene_set_size = len(gene_set) if gene_set_size < gene_set_size_min or gene_set_size > gene_set_size_max: continue permutation_es = [calculate_permutation_es(gene_set) for i in range(n_perms)] p_value, fdr_p_value = calculate_p_value(gene_set_es, permutation_es) if fdr_p_value <= alpha: nes = calculate_nes(gene_set, gene_set_es, gene_set_size) results.append({ 'gene_set': row['gene_set'], 'es': gene_set_es, 'nes': nes, 'p_value': p_value, 'fdr_p_value': fdr_p_value, 'gene_set_size': gene_set_size }) # 输出结果 results_df = pd.DataFrame(results) results_df = results_df.sort_values(by=['fdr_p_value'], ascending=True) print(results_df) ``` 这个代码是一个简基因GSEA分析代码示例,具体实现过程如下: 1. 读取基因表达数据和基因集合数据,计算每个基因表达值的均值。 2. 基于基因表达均值计算每个基因的排名。 3. 初始化GSEA参数,包括基因集合的大小范围、置信水平等。 4. 定义计算基因集合的ES值、NES值、随机排列基因集合的ES值、p值和FDR校正的p值的函数。 5. 对每个基因集合进行GSEA分析,计算其ES值、NES值、p值和FDR校正的p值,筛选出FDR校正的p值小于等于置信水平的基因集合,并将结果保存在结果列表中。 6. 输出结果,按照FDR校正的p值升序排列。 需要注意的是,这个代码只是一个简的示例,实际应用中可能需要根据具体情况进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值