用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/
随机推荐
- Arcgis Desktop连接GIS Servers报错“Proxy server got bad address from remote server ...”
今天打开Arcgis Desktop时突然发现连接GIS Servers报错“Proxy server got bad address from remote server ...” 网上查找到解决方 ...
- vue前端开发那些事——vue开发遇到的问题
vue web开发并不是孤立的.它需要众多插件的配合以及其它js框架的支持.本篇想把vue web开发的一些问题,拿出来讨论下. 1.web界面采用哪个UI框架?项目中引用了layui框架.引入框架 ...
- inline 关键字
inline 定义一个函数时最好前面再加上static: static inline 定义的函数,会在链接阶段将代码段中没有使用的inline 函数定义“剔除”,从而减小编译体积:即使加了-g参数仍然 ...
- Python的Django框架中if标签的相关使用
{% if today_is_weekend%} {% end if %} 系统会显示在这之间的内容 {% else %}标签是可选的 在python和django模板系统中,以下对象相当于布尔值的F ...
- 布局类,让多个div在一行显示
原文链接:http://www.divcss5.com/wenji/w472.shtml
- JavaWeb中验证码的实现
在Web程序中,验证码是经常使用的技术之一.Web程序永远面临未知用户和未知程序的探测.为了防止恶意脚本的执行,验证码技术无疑是首选方案之一.本文将讨论如何在JSP和Servlet中使用验证码技术. ...
- yum 报错
Loaded plugins: fastestmirror, prestoLoading mirror speeds from cached hostfileCould not retrieve mi ...
- cowboy的例子
大体参考的这里,非常感谢他的例子 开发的时候先下载好cowboy的库,放到~/.erlang里面 code:add_pathz("/Users/mmc/erlang/3rd_libs/cow ...
- Studio 3T 如何使用 Query Builder 查询数据
Studio 3T 是一款对 MongoDB 进行数据操作的可视化工具. 在 Studio 3T 中,我们可以借助 Query Builder 的 Drag & Drop 来构建查询条件. 具 ...
- java.输入水果的编号,求它对应的单价
总结:可以if-else 循环或switch循环 package com.b; import java.util.Scanner; /*以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4. ...