<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>生信菜鸟团 &#187; 表达数据</title>
	<atom:link href="http://www.bio-info-trainee.com/tag/%e8%a1%a8%e8%be%be%e6%95%b0%e6%8d%ae/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bio-info-trainee.com</link>
	<description>欢迎去论坛biotrainee.com留言参与讨论，或者关注同名微信公众号biotrainee</description>
	<lastBuildDate>Sat, 28 Jun 2025 14:30:13 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.33</generator>
	<item>
		<title>TCGA表达数据的多项应用之4–求指定基因在指定癌症里面的表达量相关性矩阵，与所有的基因比较。</title>
		<link>http://www.bio-info-trainee.com/2203.html</link>
		<comments>http://www.bio-info-trainee.com/2203.html#comments</comments>
		<pubDate>Wed, 28 Dec 2016 02:10:08 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[cancer]]></category>
		<category><![CDATA[cor.test]]></category>
		<category><![CDATA[correlation]]></category>
		<category><![CDATA[TCGA]]></category>
		<category><![CDATA[表达数据]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2203</guid>
		<description><![CDATA[这个不出图，会给出TCGA里面涉及到的所有基因跟你指定的基因的表达量相关系数和P &#8230; <a href="http://www.bio-info-trainee.com/2203.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>这个不出图，会给出TCGA里面涉及到的所有基因跟你指定的基因的表达量相关系数和P值，分别你一次性的看清楚你感兴趣的基因跟体内其它基因在该癌症种类的相关性，当然，相关非因果，请谨慎应用！<span id="more-2203"></span></p>
<blockquote>
<div>rm(list=ls())</div>
<div></div>
<div><strong><span style="color: #ff0000;">searchGene = 'TP53';</span></strong></div>
<div><strong><span style="color: #ff0000;">searchTable='tumor_brca_rpkm';</span></strong></div>
<div></div>
<div>library(RMySQL)</div>
<div>con &lt;- dbConnect(MySQL(), host="127.0.0.1", port=3306, user="root", password="11111111")</div>
<div>dbSendQuery(con, "USE gse62944")</div>
<div>dbListTables(con)</div>
<div>query = paste0(' select * from ', searchTable ,' where genesymbol = ',shQuote(searchGene)) ;</div>
<div>expression_1=dbGetQuery(con,query)</div>
<div>expression_1=as.numeric(expression_1[,-1]);</div>
<div></div>
<div>query = paste0(' select geneSymbol from ', searchTable ) ;</div>
<div>allGenes=dbGetQuery(con,query)[,1]</div>
<div><span style="color: #ff0000;">## 重点就是获取这个数据，然后计算相关系数和p值</span></div>
<div><span style="color: #ff0000;">## 这个非常慢，可以考虑加并行，并且显示进度条，当然，这种循环所有的基因我不推荐用mysql来做！！！</span></div>
<div>cor_results &lt;- matrix(unlist(lapply(allGenes, function(x){</div>
<div>  thisGene=x</div>
<div>  query = paste0(' select * from ', searchTable ,' where genesymbol = ',shQuote(thisGene)) ;</div>
<div>  expression_2=dbGetQuery(con,query)</div>
<div>  expression_2=as.numeric(expression_2[,-1]);</div>
<div>  tmp=cor.test(expression_1,expression_2);#str(tmp)</div>
<div>  return(c(thisGene,tmp$estimate,tmp$p.value))</div>
<div>}) ## end for lapply</div>
<div>) ## end for unlist</div>
<div>,ncol = 3, byrow =T) ## end for matrix</div>
</blockquote>
<div></div>
<div></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2203.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCGA表达数据的多项应用之3&#8211;对指定的两个基因，在所有癌种里面找到correlation并作图</title>
		<link>http://www.bio-info-trainee.com/2195.html</link>
		<comments>http://www.bio-info-trainee.com/2195.html#comments</comments>
		<pubDate>Wed, 28 Dec 2016 02:03:35 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[cancer]]></category>
		<category><![CDATA[correlation]]></category>
		<category><![CDATA[TCGA]]></category>
		<category><![CDATA[表达数据]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2195</guid>
		<description><![CDATA[上面是指定一个基因在不同的癌种里面，本次讲指定任意两个基因，在所有癌种里面找到c &#8230; <a href="http://www.bio-info-trainee.com/2195.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>上面是指定一个基因在不同的癌种里面，本次讲指定任意两个基因，在所有癌种里面找到correlation并作图！图如下：</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/TP53_and_BRCA1_in_PRAD.SinalCor.png"><img class="alignnone size-full wp-image-2199" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/TP53_and_BRCA1_in_PRAD.SinalCor.png" alt="tp53_and_brca1_in_prad-sinalcor" width="480" height="480" /></a><span id="more-2195"></span></p>
<blockquote><p>library(RMySQL)<br />
con &lt;- dbConnect(MySQL(), host="127.0.0.1", port=3306, user="root", password="11111111")<br />
dbSendQuery(con, "USE gse62944")<br />
dbListTables(con)<br />
setwd('G:\\GSE62944') ## 这里不需要读本地文件，可以修改为读取数据库内容，因为我们第一讲说明了如何把它们全部load到数据库里面<br />
tumorCancerType2amples=read.table('GSE62944_06_01_15_TCGA_24_CancerType_Samples.txt',sep = '\t',stringsAsFactors = F)<br />
colnames(tumorCancerType2amples)=c('sampleID','CancerType')<br />
## 不同的cancer type是分表存储，所以需要多次查询这两个基因的表达量<br />
tmp=lapply(unique(tumorCancerType2amples$CancerType), function(x){<br />
<span style="color: #ff0000;"><strong>#x='PRAD'; ##可以先不要运行循环，先测试一个癌种</strong></span><br />
<span style="color: #ff0000;"><strong> gene1="TP53";gene2="BRCA1";</strong></span><br />
sqlTable=paste('tumor',x,'RPKM',sep='_')<br />
sqlQuery=paste0(' select * from ', sqlTable ,' where genesymbol = ',shQuote(gene1),' OR genesymbol = ',shQuote(gene2))<br />
matrix2genes=dbGetQuery(con,sqlQuery)<br />
rownames(matrix2genes)=matrix2genes$geneSymbol<br />
matrix2genes=matrix2genes[,- match('geneSymbol',colnames(matrix2genes)) ]<br />
matrix2genes=t(matrix2genes)<br />
valueList1=as.numeric(matrix2genes[,gene1]);valueList2=as.numeric(matrix2genes[,gene2]);<br />
png( paste0(gene1,'_and_',gene2,'_in_',x,'.SinalCor.png') )<br />
plot(valueList1,valueList2,xlab=gene1,ylab=gene2)<br />
abline(lm(valueList2~valueList1),col='red')<br />
title(main =paste0("R2=",cor(valueList1,valueList2)))<br />
dev.off()<br />
return(c(x,fivenum(valueList1),fivenum(valueList2),cor(valueList1,valueList2)))<br />
})</p>
<p>## 这个循环会对每一个癌种种类，都画这两个基因的correlation图<br />
write.csv(x = matrix(unlist(tmp),ncol=12,byrow = T),file = 'tumor.corration.csv')</p>
<p>&nbsp;</p></blockquote>
<p>如果是对正常样本查询，因我TCGA的正常样本不多，所以我存储在同一个表，不需要这样循环查询每一个癌种表格，所以拿到数据非常简单，代码大家可以试试看！</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2195.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCGA表达数据的多项应用之2&#8211;对指定基因在不同癌种里面画boxplot,或者在所有的normal组织里面看表达量！</title>
		<link>http://www.bio-info-trainee.com/2190.html</link>
		<comments>http://www.bio-info-trainee.com/2190.html#comments</comments>
		<pubDate>Wed, 28 Dec 2016 01:55:07 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[cancer]]></category>
		<category><![CDATA[boxplot]]></category>
		<category><![CDATA[TCGA]]></category>
		<category><![CDATA[表达数据]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2190</guid>
		<description><![CDATA[好像文章题目没有长度限制，太好了！本讲所实现的目标非常简单，如题，指定基因在不同 &#8230; <a href="http://www.bio-info-trainee.com/2190.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>好像文章题目没有长度限制，太好了！本讲所实现的目标非常简单，如题，指定基因在不同癌种里面画boxplot,或者在所有的normal组织里面看表达量！下面是一个具体的例子：</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/15.png"><img class="alignnone size-full wp-image-2191" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/15.png" alt="1" width="631" height="427" /></a></p>
<p>&nbsp;</p>
<p><span id="more-2190"></span></p>
<p>代码如下：</p>
<p>稍微懂一点R的小伙伴都看得出来，只需要手动修改指定的基因，然后指定的癌症种类，就可以来容易画上面的图了，但要完成这一步，必须把前面的那一步导入mysql数据库搞懂。</p>
<h1 class="entry-title"><a title="Permalink to TCGA表达数据的多项应用之1–下载数据并且导入mysql" href="http://www.bio-info-trainee.com/2179.html" rel="bookmark">TCGA表达数据的多项应用之1–下载数据并且导入mysql</a></h1>
<blockquote>
<div>rm(list=ls())</div>
<div></div>
<div><span style="color: #ff0000;"><strong>searchGene = 'VCX3B';</strong></span></div>
<div><span style="color: #ff0000;"><strong>searchTable1='tumor_gbm_rpkm';</strong></span></div>
<div><span style="color: #ff0000;"><strong>searchTable2='tumor_lgg_rpkm';</strong></span></div>
<div></div>
<div>library(RMySQL)</div>
<div>con &lt;- dbConnect(MySQL(), host="127.0.0.1", port=3306, user="root", password="11111111")</div>
<div>dbSendQuery(con, "USE gse62944")</div>
<div>dbListTables(con)</div>
<div>query = paste0(' select * from ', searchTable1 ,' where genesymbol = ',shQuote(searchGene)) ;</div>
<div>gbm=dbGetQuery(con,query)</div>
<div>query = paste0(' select * from ', searchTable2 ,' where genesymbol = ',shQuote(searchGene)) ;</div>
<div>lgg=dbGetQuery(con,query)</div>
<div></div>
<div>gbm=as.numeric(gbm[,-1]);gbm=data.frame(value=gbm,type='gbm')</div>
<div>lgg=as.numeric(lgg[,-1]);lgg=data.frame(value=lgg,type='lgg')</div>
<div>dat1= rbind(gbm,lgg)</div>
<div></div>
<div>boxplot( value ~  type, data = dat1, lwd = 2, ylab = 'value')</div>
<div>stripchart(value ~ type, vertical = TRUE, data = dat1,</div>
<div>           method = "jitter", add = TRUE, pch = 20, col = 'blue')</div>
</blockquote>
<div> 还有很多其它的应用，重点就是如何从sql里面提取数据并可视化而已</div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/23.png"><img class="alignnone size-full wp-image-2196" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/23.png" alt="2" width="629" height="495" /></a></div>
<div></div>
<div></div>
<div>
<div>比如上面那个在正常表达量矩阵里面查询，多种癌旁组织合并起来画图！</div>
<blockquote>
<div>sqlTable = 'normalrpkm';</div>
<div>sqlQuery=paste0(' select * from ', sqlTable ,' where genesymbol = ',shQuote(searchGene))</div>
<div>normalExpression=dbGetQuery(con,sqlQuery)</div>
<div>normalExpression= normalExpression[,-length(normalExpression)]</div>
<div>normalExpression = data.frame(sampleID=names(normalExpression),</div>
<div>                              values=as.numeric(normalExpression)</div>
<div>                              )</div>
<div>normalCancerType2amples=dbGetQuery(con,'select * from normalcancertype2amples')</div>
<div>normalCancerType2amples$sampleID=gsub("-",".", normalCancerType2amples$sampleID)</div>
<div>dat2 = merge(normalExpression,normalCancerType2amples,by='sampleID')</div>
<div></div>
<div>boxplot( values ~  CancerType, data = dat2, lwd = 2, ylab = 'values',las=2,main=searchGene)</div>
<div>stripchart(values ~ CancerType, vertical = TRUE, data = dat2,</div>
<div>           method = "jitter", add = TRUE, pch = 20, col = 'blue')</div>
</blockquote>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2190.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCGA表达数据的多项应用之1&#8211;下载数据并且导入mysql</title>
		<link>http://www.bio-info-trainee.com/2179.html</link>
		<comments>http://www.bio-info-trainee.com/2179.html#comments</comments>
		<pubDate>Sun, 25 Dec 2016 15:53:42 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[cancer]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[TCGA]]></category>
		<category><![CDATA[表达数据]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2179</guid>
		<description><![CDATA[这个TCGA表达数据的多项应用系列帖子是应群里朋友的要求来写的，你们也可以继续提 &#8230; <a href="http://www.bio-info-trainee.com/2179.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div>这个TCGA表达数据的多项应用系列帖子是应群里朋友的要求来写的，你们也可以继续提需求，我会接着写下去，其实从TCGA数据库里面下载到了数据之后，后面的所有分析都跟TCGA没有半毛钱关系了，大家要有这个想法，别三两句就问TCGA数据怎么分析，<a href="http://www.bio-info-trainee.com/?s=TCGA&amp;submit=Search" target="_blank">http://www.bio-info-trainee.com/?s=TCGA&amp;submit=Search</a> <span style="color: #ff0000;">本系列最后会形成一个shiny版本的交互式表达数据查询，处理，绘图，统计的网页APP。</span></div>
<div>我这里偷懒一下了，直接下载GEO里面的TCGA的表达数据，而不是去TCGA的官网里面下载：</div>
<div><a href="http://www.bio-info-trainee.com/1274.html">所有TCGA收集的mRNA表达数据集数据集-GSE62944</a></div>
<div>它处理了目前（大概是2015年6月）TCGA收集的所有癌症样本的mRNA表达数据，并且统一处理成了count和RPKM两种表达量形式。 GEO地址：<a href="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE62944">http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE62944</a></div>
<p><span id="more-2179"></span></p>
<div>下载的文件，首先用R连接mysql把<span style="color: #ff0000;"><strong>RPKM形式的表达数据</strong></span>写到数据库啦!</div>
<div>
<div><a href="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE62944">很明显，我们需要下载</a>正常样本和癌症样本的ID和组织对应表格，还有他们的RPKM矩阵，是压缩包格式的txt文档，然后用R语言链接mysql写入，至于为什么要写入的mysql，主要是因为R里面读取文件太慢了，而我后面的一系列表达数据的分析都是高频的，不可能每次都打开R，然后读取几个G的数据，大家看下面的表格就应该明白，我把正常组织样本的表达数据写到了一个表格里面，而把癌症根据tissue来分开存放，主要是因为mysql有最大列数限制，而我们这个GSE62944里面有近万的样本了。</div>
<div> <a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/14.png"><img class="alignnone size-full wp-image-2180" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/14.png" alt="1" width="701" height="606" /></a></div>
</div>
<div>
<div>数据下载就是在GEO的supplement里面找链接，写入到mysql，首先需要你自己安装了mysql，请看我在论坛写的教程：<a href="http://www.biotrainee.com/thread-389-1-1.html">http://www.biotrainee.com/thread-389-1-1.html</a></div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/22.png"><img class="alignnone size-full wp-image-2181" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/12/22.png" alt="2" width="579" height="268" /></a></div>
<div>
<div>可以看到R其实就是通过R的包来调用系统的mysql程序，往mysql里面写入数据，而我们的表达数据还比较大，所以会耗费半小时左右。</div>
<div>后面一系列的分析，都是基于此，所以你要想看懂后面的帖子，必须要用我的代码下载好数据，并导入到自己的mysql里面。(我代码在：<a href="https://github.com/jmzeng1314/myTCGA/blob/master/expression/mRNA/GSE62944/GSE62944data2mysql.R" target="_blank">https://github.com/jmzeng1314/myTCGA/blob/master/expression/mRNA/GSE62944/GSE62944data2mysql.R</a>)</div>
<div>作为一个合格的生信工程师，有些东西，你不得不学习，抱歉！</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2179.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
