用TCGA数据库分析癌症和癌旁组织的表达差异
上周收到一条求助信息:“如何用TCGA数据库分析LINC00152在卵巢癌与正常组织的的表达差异?”
所以以这个题目为记录分析过程如下:
一、下载数据
a)进入网站https://cancergenome.nih.gov/ 网页截图如下:

b)进入数据下载 Launch Data Portal ,截图如下:

进入数据下载接口后,有Projects Exploration Analysis Repository 四个栏目,我们数据下载可进入Repository菜单栏,截图如下:

网页分成左右两边,左边主要是提供用户数据选择和过滤的窗口,右边是根据用户的选择后显示及其统计结果。左边选择分为 Cases 和 Files两大类。
根据我们的研究,目的是要看LINC RNA在卵巢癌和正常组织的表达差异,所以我们在左边的栏目的Cases下选择Ovary,在Files 下选择 RNA-seq ,这些选项选择完毕,会出现上面的那张截图
c)下载路径文件
选好文件后,如上图将文件加入购物车,截图如下:

然后点击右上角的Cart,出现如下截图:

点击Sample sheet之后,包含所需文件目录的.tsv文件gdc_sample_sheet.2018-05-22.tsv就可以下载了,放到对应的目录下。
用NotePad打开文件如下:

d) 在linux下批量下载文件
将该文件放在linux的 /home/zdwu/rnaseq/11_source_data 目录下,并在该目录下批量下载数据,代码如下:
cat gdc_sample_sheet.--.tsv | while read line
do
echo https://portal.gdc.cancer.gov/files/${line:0:(36-0)}
wget -c https://gdc-api.nci.nih.gov/data/${line:0:(36-0)} -O ${line:167:(184-167)}'.htseq.counts.gz'
done
下载完毕后查看文件如下:

用如下命令,确认文件个数是否完整,完整后数据备用。
ls A-* | wc -l
二、数据分析
a)数据解压
用命令行 解压,解压后得到可读的数据。
zdwu@ubuntu://home/zdwu/rnaseq/11_source_data/ovary$ gunzip *counts
b)找出Linc00152的表达量
由于从TCGA下载的数据里的基因明都是ensemble ID,所以需要 从NCBI 查找Linc00152对应的 ensemble ID,找出的结果是Ensembl:ENSG00000222041

注意:此处只有一个基因,所用手动从NCBI 找出ensemble ID是简单的,但是如果看的是大量的基因,那这将会非常通过,这时就需要通过ID转换文件来编程转换。
基因ID 转换文件的下载地址 :ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/ ,里面有gene2ensemble.gz gene2accession.gz gene2go.gz 等文件可以下载,根据这些文件,写个小脚本就可以批量转换了。
c)整合多样本的LINC00152基因表达counts
zdwu@ubuntu://home/zdwu/rnaseq/11_source_data/ovary$ for file in *counts
> do
> echo ${file::} >> ovary_linc00152.txt
> echo ${file::(-)} >> ovary_linc00152.csv
> cat ${file} | grep "ENSG00000222041" >> ovary_linc00152.csv
> done
最后将得到的ovary_linc00152.csv 文件拷贝至于windows电脑,截图如下:

这是没有normalized的数据,如果需要不同样本之间比较的话进行normalized,再简单的统计不同组之间样本的 t-test。分析完毕。
用TCGA数据库分析癌症和癌旁组织的表达差异的更多相关文章
- PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析
现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...
- Oracle 数据库分析
一.数据库分析 二.表的分析 1.分析表exec dbms_stats.gather_table_stats('SFISM4','R_SN_DETAIL_T',CASCADE=>TRUE);ex ...
- Android 千牛数据库分析
标签(空格分隔): 千牛,逆向 问题:Android 千牛登陆后产生保存用户数据的db无法直接用sqlite3打开,需要解密. 反编译Apk后jd-gui查看源码.熟悉的sqlcrypto模块加密,阿 ...
- [转载] 数据库分析手记 —— InnoDB锁机制分析
作者:倪煜 InnoDB锁机制常常困扰大家,不同的条件下往往表现出不同的锁竞争,在实际工作中经常要分析各种锁超时.死锁的问题.本文通过不同条件下的实验,利用InnoDB系统给出的各种信息,分析了锁的工 ...
- 初识NoSQL 快速认识NoSQL数据库 分析Analytics For Hackers: How To Think About Event Data
做了一年的大一年度项目了,对于关系型数据库结构还是有些了解了,有的时候还是觉得这种二维表不是很顺手.在看过一篇文章之后,对NoSQL有了初步的了解,(https://keen.io/blog/5395 ...
- Navicate for mysql 数据库设计-数据库分析
在使用Navicate for mysql进行数据库设计时,如果要分析已有db的表结构,则可以将已经分析过的表放入一个新建的组中,把精力更加集中在剩下的表中,以免受到干扰.
- kali linux 数据库分析工具简述
bbqsql SQL盲注可能很难被利用. 当可用的工具工作时,它们运行良好,但是当它们不工作时,您必须编写自定义的东西. 这是耗时且乏味的. BBQSQL可以帮助你解决这些问题. BBQSQL是一个用 ...
- 工作流学习之--TPFlow数据库分析
一.TPFlow项目数据库表: 1. 流程相关: a. leipi_flow工作流表: b. leipi_flow_process流程步骤表: c. leipi_run_process运行过程表:记录 ...
- 潭州课堂25班:Ph201805201 django 项目 第二十课 数据库分析设计图 (课堂笔记)
https://www.dbdesigner.net/
随机推荐
- Microsoft Office Visio 2013 (安装 + 激活)
Visio是一款能处理复杂信息.系统和流程进行可视化.分析和交流的软件,从“office 2003”以后,Visio作为一个单独软件发行,不再集成于office办公软件. 工具/原料 Visio 电脑 ...
- Android进程间的通信
1.概述:由于android系统中应用程序之间不能共享内存.因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些.在android SDK中提供了4种用于跨进程通讯的方式.这4种方式正好对应于 ...
- 大容量txt数据导入SQL Server助攻记
小伙伴们有个数据竞赛,提供的数据是944MB大小的TXT数据文档,导入SQL遇到一些麻烦.于是帮着解决,顺便也熟练了SQL Server的一些操作----- 打开如此大的txt需要的时间很长,而且不全 ...
- 【POJ 3179】 Corral the Cows
[题目链接] http://poj.org/problem?id=3179 [算法] 首先,我们发现答案是具有单调性的,也就是说,如果边长为C的正方形可以,那么比边长C大的正方形也可以,因此,可以二分 ...
- PCB 封装中的 公差符号形位公差位置度
PCB 封装中的 公差符号形位公差位置度 0.08 旁边的 十字加圆就是位置度的形位公差.
- Sentry的授权模型
首先在jdbc中指定的hive用户是一个linux的用户(必须和一个同名linux用户一一对应):这个用户如果是管理员用户,那么可以进行管理工作:比如创建.删除角色,查看角色和用户绑定情况等等:如果不 ...
- 在rebar发布的项目中添加监视工具
默认使用rebar创建的项目没法使用observer,可以如下操作 修改app.src {application, tcp_server, [ {description, ""}, ...
- Java-Maven-Runoob:Maven Eclipse
ylbtech-Java-Maven-Runoob:Maven Eclipse 1.返回顶部 1. Maven Eclipse Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 ...
- thinkphp中的_initialize方法
子类的_initialize方法自动调用父类的_initialize方法.而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct( ...
- PL/SQL 训练08--触发器
--什么是触发器呢?--一触即发,某个事件发生时,执行的程序块?--数据库触发器是一个当数据库发生某种事件时作为对这个事件的响应而执行的一个被命名的程序单元 --适合场景--对表的修改做验证--数据库 ...