<?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%8a%af%e7%89%87/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>用lumi包来处理illumina的bead系列表达芯片</title>
		<link>http://www.bio-info-trainee.com/1944.html</link>
		<comments>http://www.bio-info-trainee.com/1944.html#comments</comments>
		<pubDate>Sat, 15 Oct 2016 12:01:03 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[芯片数据处理]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[illumina]]></category>
		<category><![CDATA[lumi]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=1944</guid>
		<description><![CDATA[表达芯片大家最熟悉的当然是affymetrix系列芯片啦，而且分析套路很简单，直 &#8230; <a href="http://www.bio-info-trainee.com/1944.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>表达芯片大家最熟悉的当然是affymetrix系列芯片啦，而且分析套路很简单，直接用R的affy包，就可以把cel文件经过RMA或者MAS5方法得到表达矩阵。illumina出厂的芯片略微有点不一样，它的原始数据有3个层级，一般拿到的是<span style="color: #ff0000;">Processed data</span> (<a href="ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE30nnn/GSE30669/suppl/GSE30669_HEK_Sample_Probe_Profile.txt.gz%20" target="_blank">示例</a>), 当仍然需要一系列的统计学方法才能提取到表达矩阵。我比较喜欢用bioconductor，所以下面讲一讲如何用lumi包来处理这个芯片数据！</p>
<div>这个lumi包的使用代码和说明书都有，按部就班的学一遍就好了。</div>
<div><a href="http://www.bioconductor.org/packages/release/bioc/vignettes/lumi/inst/doc/lumi.R">http://www.bioconductor.org/packages/release/bioc/vignettes/lumi/inst/doc/lumi.R</a></div>
<div><a href="http://www.bioconductor.org/packages/release/bioc/vignettes/lumi/inst/doc/lumi.pdf">http://www.bioconductor.org/packages/release/bioc/vignettes/lumi/inst/doc/lumi.pdf</a></div>
<div>如果仅仅是分析数据，那么并不难，但是每个分析步骤后面都隐含着一系列的统计学方法，想彻底搞清楚他它们， 就很难了。</div>
<p><span id="more-1944"></span></p>
<div>data(example.lumi)</div>
<div>lumi.N.Q &lt;- <span style="color: #ff0000;">lumiExpresso</span>(example.lumi)</div>
<div>dataMatrix &lt;- <span style="color: #ff0000;">exprs</span>(lumi.N.Q)</div>
<div>重点就是得到表达矩阵，它封装好了一个函数，lumiExpresso可以直接处理LumiBatch对象，这个函数结合了,N,T,B,Q(normalization,transformation,backgroud correction,qulity control)四个步骤，其中Q这个步骤又包括8种统计学图片。在该包的文章有详细说明：<a href="http://bioinformatics.oxfordjournals.org/content/24/13/1547.full " target="_blank">http://bioinformatics.oxfordjournals.org/content/24/13/1547.full </a></div>
<div>而 LumiBatch 对象是通过<span style="color: #ff0000;"> lumiR.batch 读取</span>的芯片文件被Illumina Bead Studio toolkit 处理的结果，也就是通常我们<span style="color: #ff0000;">从公司或者GEO下载的数据( level 3 的 process data)</span>，如下所示：</div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/illumina-microarray-level3-data-example.png"><img class="alignnone size-full wp-image-1945" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/illumina-microarray-level3-data-example.png" alt="illumina-microarray-level3-data-example" width="704" height="666" /></a></div>
<div></div>
<div>这个包用的<span style="color: #ff0000;">测试文件Barnes_gene_profile.txt</span>可以在<a href="http://www.chibi.ubc.ca/wp-content/uploads/2013/02/">http://www.chibi.ubc.ca/wp-content/uploads/2013/02/</a> 下载。</div>
<div>
<div>如果是在GEO下载公共数据，每个study都会给芯片描述文件，基本没有用，只需要下载<span style="color: #ff0000;">non-normalized.txt.gz类似的文件</span>就好了</div>
<div>GPL10558_HumanHT-12_V4_0_R1_15002873_B.txt.gz 13.1 Mb</div>
<div>GPL10558_HumanHT-12_V4_0_R2_15002873_B.txt.gz 13.1 Mb</div>
<div>比如我下载了：<a href="ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE30nnn/GSE30669/suppl/GSE30669_HEK_Sample_Probe_Profile.txt.gz">ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE30nnn/GSE30669/suppl/GSE30669_HEK_Sample_Probe_Profile.txt.gz</a> 这个文件，就可以直接用lumi包的lumiR.batch 函数读取文件成为LumiBatch对象，然后被lumiExpresso函数直接处理，然后被exprs函数提取表达矩阵。</div>
<blockquote>
<div>rm(list=ls())</div>
<div>library(lumi)</div>
<div># setwd('G:/array/illumina-beadseed-v4/lumi_example')</div>
<div># fileName &lt;- 'Barnes_gene_profile.txt' # Not Run</div>
<div>## 首先是从illumina的芯片结果文件，自己用R的lumi包来获取表达矩阵。</div>
<div>setwd('G:/array/illumina-beadseed-v4/GSE30669')</div>
<div>fileName &lt;- 'GSE30669_HEK_Sample_Probe_Profile.txt' # Not Run</div>
<div>x.lumi &lt;- lumiR.batch(fileName) ##, sampleInfoFile='sampleInfo.txt')</div>
<div>pData(phenoData(x.lumi))</div>
<div>## Do all the default preprocessing in one step</div>
<div>lumi.N.Q &lt;- lumiExpresso(x.lumi)</div>
<div>### retrieve normalized data</div>
<div>dataMatrix &lt;- exprs(lumi.N.Q)</div>
<div>## 下面是从GEO里面下载表达矩阵</div>
<div>rm(list=ls())</div>
<div>library(GEOquery)</div>
<div>library(limma)</div>
<div>GSE30669 &lt;- getGEO('GSE30669', destdir=".",getGPL = F)</div>
<div>exprSet=exprs(GSE30669[[1]])</div>
<div>GSE30669[[1]]</div>
<div>pdata=pData(GSE30669[[1]])</div>
<div>exprSet=exprs(GSE30669[[1]])</div>
<div>很明显可以看到前面得到的dataMatrix 和后面得到的 exprSet 都是我们想要的表达矩阵</div>
</blockquote>
<div>## 因为你有时候获取别人处理好的表达矩阵，不符合你的normalization要求。</div>
<div>这个芯片一般是处理12个样本，从GEO里面很容易看到样品是如何分组的。</div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/tmp.png"><img class="alignnone size-full wp-image-1946" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/tmp.png" alt="tmp" width="514" height="308" /></a></div>
<div>
<div>lumi这个包甚至还提供了一个函数produceGEOSubmissionFile来直接把我们的芯片数据转换成NCBI的GEO要求的格式</div>
<div></div>
<div><strong><span style="color: #ff0000;">最后，官网链接很重要：https://support.illumina.com/array/array_kits/humanht-12_v4_expression_beadchip_kit/downloads.html </span></strong></div>
<div></div>
<div></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/1944.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>illumina的bead 系列表达芯片扫盲</title>
		<link>http://www.bio-info-trainee.com/1937.html</link>
		<comments>http://www.bio-info-trainee.com/1937.html#comments</comments>
		<pubDate>Sat, 15 Oct 2016 11:54:38 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[芯片数据处理]]></category>
		<category><![CDATA[bead]]></category>
		<category><![CDATA[illumina]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=1937</guid>
		<description><![CDATA[表达芯片大家最熟悉的当然是affymetrix系列芯片啦，而且分析套路很简单，直 &#8230; <a href="http://www.bio-info-trainee.com/1937.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>表达芯片大家最熟悉的当然是affymetrix系列芯片啦，而且分析套路很简单，直接用R的affy包，就可以把cel文件经过RMA或者MAS5方法得到表达矩阵。illumina出厂的芯片略微有点不一样，它的原始数据有3个层级，一般拿到的是Processed data (<a href="ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE30nnn/GSE30669/suppl/GSE30669_HEK_Sample_Probe_Profile.txt.gz%20" target="_blank">示例</a>), 当仍然需要一系列的统计学方法才能提取到表达矩阵。接下来我们首先讲一讲illumina的bead 系列表达芯片基础知识吧：<span id="more-1937"></span></p>
<div>illumina是大厂家，所以芯片包括人类的，小鼠以及大鼠的，然后对于人来说，经历了V1~V4的进化过程，最新版是 V4。</div>
<div>GEO里面是这样介绍illumina bead V4这个芯片的：</div>
<div>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>The HumanHT-12 v4 Expression BeadChip provides high throughput processing of 12 samples per BeadChip without the need for expensive, specialized automation. The BeadChip is designed to support flexible usage across a wide-spectrum of experiments.</td>
</tr>
</tbody>
</table>
</div>
<div>可以在官网下载芯片探针的详情，manifest数据文件：<a href="http://support.illumina.com/array/array_kits/humanht-12_v4_expression_beadchip_kit/downloads.html">http://support.illumina.com/array/array_kits/humanht-12_v4_expression_beadchip_kit/downloads.html</a> 这些文件写清楚了芯片用的探针的详情，包括使用了哪些control探针，主要是给它自己的BeadStudio 软件来使用的。</div>
<div>NCBI的GEO也提供大批量的公共数据：<a href="https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL10558">https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL10558</a></div>
<div>芯片厂家illumina本身提供数据<span style="color: #ff0000;">处理软件BeadStudio, GenomeStudio，在R/bioconductor上面也有开源的包做同样的事情，Illuminaio ，beadarray，lumi</span></div>
<div>数据的前期处理有3个层次，都在bioconductor有对应的包可以来处理</div>
<div>Data can be in raw form, where pixel-level data are available from TIFF images, allowing the complete data processing pipeline, including image analysis, to be carried out in R. 这种图片格式的数据，基本上没有人愿意去开始处理的，TIFF格式的图片压缩包，在BeadArrayUseCases包里面附带有一个测试数据</div>
<div>The next level, referred to as bead-level, refers to the availability of intensity and location information for individual beads. In this format, a given probe will have a variable number of replicate intensities per sample. Processed data, where replicate intensities have been summarized and outliers removed to give a mean, a measure of variability, and a number of observations per probe in each sample, is the most commonly available format.</div>
<div>数据处理流程如下：</div>
<div><img class="alignnone  wp-image-1939" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/illumina-microarray-data-3-step-processing.png" alt="illumina-microarray-data-3-step-processing" width="774" height="479" /></div>
<div>其实对芯片数据处理最重要的过程，就是如何做QC以及拿到表达量矩阵，后面的差异分析，功能富集分析其实是大同小异的。我比较喜欢用bioconductor包，会讲如何用 lumi包来处理这个芯片数据。</div>
<div>
<div>用bioconductor系列包来处理是最方便的，看这个教程就够了：<a href="https://bioconductor.org/packages/release/data/experiment/vignettes/BeadArrayUseCases/inst/doc/BeadArrayUseCases.pdf">https://bioconductor.org/packages/release/data/experiment/vignettes/BeadArrayUseCases/inst/doc/BeadArrayUseCases.pdf</a></div>
<div>数据处理流程还在plos one杂志上面发表过文章：<a href="http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002276">http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002276</a></div>
<div>BMC也有一篇：<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4486126/">https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4486126/</a> 他们团队做了一个网页版工具，直接可以上传illumina芯片的原始数据去做 全套分析：<a href="http://www.arrayanalysis.org/">http://www.arrayanalysis.org/</a></div>
<div>在R/bioconductor里面，跟人类相关的illumina beadseed芯片注释包如下：</div>
<div>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.bioconductor.org/packages/release/data/annotation/html/illuminaHumanv1.db.html" target="_blank">illuminaHumanv1.db</a></td>
<td>Mark Dunning</td>
<td>Illumina HumanWG6v1 annotation data (chip illuminaHumanv1)</td>
</tr>
<tr>
<td><a href="http://www.bioconductor.org/packages/release/data/annotation/html/illuminaHumanv2.db.html" target="_blank">illuminaHumanv2.db</a></td>
<td>Mark Dunning</td>
<td>Illumina HumanWG6v2 annotation data (chip illuminaHumanv2)</td>
</tr>
<tr>
<td><a href="http://www.bioconductor.org/packages/release/data/annotation/html/illuminaHumanv2BeadID.db.html" target="_blank">illuminaHumanv2BeadID.db</a></td>
<td>Mark Dunning</td>
<td>Illumina HumanWGv2 annotation data (chip illuminaHumanv2BeadID)</td>
</tr>
<tr>
<td><a href="http://www.bioconductor.org/packages/release/data/annotation/html/illuminaHumanv3.db.html" target="_blank">illuminaHumanv3.db</a></td>
<td>Mark Dunning</td>
<td>Illumina HumanHT12v3 annotation data (chip illuminaHumanv3)</td>
</tr>
<tr>
<td><a href="http://www.bioconductor.org/packages/release/data/annotation/html/illuminaHumanv4.db.html" target="_blank">illuminaHumanv4.db</a></td>
<td>Mark Dunning</td>
<td>Illumina HumanHT12v4 annotation data (chip illuminaHumanv4)</td>
</tr>
</tbody>
</table>
</div>
<div>详情可以去bioconductor官网搜索：<a href="http://www.bioconductor.org/packages/release/BiocViews.html#___AnnotationData">http://www.bioconductor.org/packages/release/BiocViews.html#___AnnotationData</a></div>
<div>芯片包装如下：</div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/illumina-microarray.png"><img class="alignnone  wp-image-1942" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/10/illumina-microarray.png" alt="illumina-microarray" width="694" height="511" /></a></div>
</div>
<div></div>
<div></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/1937.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>芯片探针注释基因ID或者symbol，并对每个基因挑选最大表达量探针</title>
		<link>http://www.bio-info-trainee.com/1502.html</link>
		<comments>http://www.bio-info-trainee.com/1502.html#comments</comments>
		<pubDate>Tue, 29 Mar 2016 10:14:06 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[基础数据格式]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[探针]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=1502</guid>
		<description><![CDATA[在R里面实现这个功能其实非常简单，难的是很多packages经常会出现安装问题， &#8230; <a href="http://www.bio-info-trainee.com/1502.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>在R里面实现这个功能其实非常简单，难的是很多packages经常会出现安装问题，更有的人压根不看芯片平台是什么，芯片对应的package是什么，就开始到处发问，自学能力实在是堪忧！</p>
<p>我前面有写目前所有bioconductor支持的芯片平台对应关系：<a title="详细阅读 通过bioconductor包来获取所有的芯片探针与gene的对应关系" href="http://www.bio-info-trainee.com/1399.html" rel="bookmark">通过bioconductor包来获取所有的芯片探针与gene的对应关系</a></p>
<p>但那其实是一个很笨的办法，得到所有的各式各样的探针ID与基因的对应关系，以为它绕路了，正常情况只需要在GEO里面找到芯片对应基因关系即可，没必要下载那么多package的，但是这样做的好处也是很明显的， 对很多初学者来说，如果package能解决的话，就省心很多，比如下面这个转换关系：</p>
<blockquote>
<div>suppressPackageStartupMessages(library(CLL))</div>
<div>## 这个package自带了一个数据，是我们需要用的</div>
<div>data(sCLLex)  ## 这个数据里面有24个样本，分成两组，可以直接拿来测试差异基因分析</div>
<div>library(hgu95av2.db) <strong> ## 一定要搞清楚自己的芯片是什么数据包</strong></div>
<div><a href="http://www.bio-info-trainee.com/1399.html"><strong>## 常见的芯片平台，都是有对应的bioconductor数据包的</strong></a></div>
<div>exprSet=exprs(sCLLex)  ##得到表达数据矩阵，但是矩阵的行名，是探针ID，无法理解，需要转换</div>
<div>##首先你取出所有的探针ID，<span style="color: #ff0000;">#这里可以用三种方法来得到symbol，或者得到entrezID也可以</span></div>
<div>probeset=rownames(exprSet)</div>
<div>Symbol=as.character(as.list(<span style="color: #ff0000;">hgu95av2SYMBOL</span>[probeset]))</div>
<div><span style="color: #ff0000;">#annotate包提供              getSYMBOL( probeset ,"hgu95av2" )</span></div>
<div><span style="color: #ff0000;">#还可以用lookUp函数     lookUp( probeset , "hgu95av2", "SYMBOL")</span></div>
<div><span style="color: #ff0000;">#这些只是技巧而已啦</span></div>
<div>a=cbind.data.frame(Symbol,exprSet)</div>
<div><strong><span style="color: #ff0000;">## 下面这个函数是对每个基因挑选最大表达量探针</span></strong></div>
<div>rmDupID &lt;-function(a=matrix(c(1,1:5,2,2:6,2,3:7),ncol=6)){</div>
<div>  exprSet=a[,-1]</div>
<div>  rowMeans=apply(exprSet,1,function(x) mean(as.numeric(x),na.rm=T))</div>
<div>  a=a[order(rowMeans,decreasing=T),]</div>
<div>  exprSet=a[!duplicated(a[,1]),]</div>
<div>  #exprSet=apply(exprSet,2,as.numeric)</div>
<div>  exprSet=exprSet[!<a href="http://is.na">is.na</a>(exprSet[,1]),]</div>
<div>  rownames(exprSet)=exprSet[,1]</div>
<div>  exprSet=exprSet[,-1]</div>
<div>  return(exprSet)</div>
<div>}</div>
<div>exprSet=rmDupID(a)</div>
</blockquote>
<div><strong>对每个基因挑选最大表达量探针</strong>，只是一种处理方法而已，只是我一般处理芯片是这样做的，并不一定就是最好的！</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/1502.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于芯片平台GPL15308和GPL570</title>
		<link>http://www.bio-info-trainee.com/1331.html</link>
		<comments>http://www.bio-info-trainee.com/1331.html#comments</comments>
		<pubDate>Mon, 11 Jan 2016 11:44:57 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=1331</guid>
		<description><![CDATA[它们虽然被GEO数据标记了不同的ID号，但是其实都是一种芯片，都是昂飞公司的U1 &#8230; <a href="http://www.bio-info-trainee.com/1331.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>它们虽然被GEO数据标记了不同的ID号，但是其实都是一种芯片，都是昂飞公司的U133++2芯片，分析过芯片数据的人肯定不会陌生了</p>
<p><a href="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL15308">http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL15308</a></p>
<p>事实上，这个平台应该是GPL570，但是被CCLE数据库给稍微变通了一下，就给了一个GPL15308的标签，平台主页也写的很清楚，它的探针ID是伪ID，其实就是entrez gene ID</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/01/1.jpg"><img class="alignnone size-full wp-image-1332" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/01/1.jpg" alt="1" width="679" height="418" /></a></p>
<div>
<table width="600" cellspacing="0" cellpadding="2">
<tbody>
<tr valign="top">
<td>本来这个芯片设计的是五万多个探针，最后只剩下了<strong>18926</strong>个基因</td>
</tr>
</tbody>
</table>
<table width="600" cellspacing="0" cellpadding="2">
<tbody>
<tr valign="top">
<td>This array is identical to GPL570 but the data were analyzed with a custom CDF Brainarray Version 15, hgu133plus2hsentrezg.</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/1331.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>拷贝数变异检测芯片介绍</title>
		<link>http://www.bio-info-trainee.com/1295.html</link>
		<comments>http://www.bio-info-trainee.com/1295.html#comments</comments>
		<pubDate>Wed, 06 Jan 2016 01:00:08 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[基础数据格式]]></category>
		<category><![CDATA[cnv]]></category>
		<category><![CDATA[snp]]></category>
		<category><![CDATA[拷贝数]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=1295</guid>
		<description><![CDATA[这里的拷贝数变异检测芯片指的是Affymetrix Genome-Wide Hu &#8230; <a href="http://www.bio-info-trainee.com/1295.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div>这里的拷贝数变异检测芯片指的是Affymetrix Genome-Wide Human SNP Array 6.0</p>
<div>cel数据，需要处理成segment及genotype数据</div>
</div>
<div>这个芯片在TCGA计划里面用的非常多，是标配了。大家只要记住，这是一个跟拷贝数变异检测相关的芯片，而且还可以测一些genotype <span class="Apple-converted-space"> </span></div>
<div>Affymetrix Genome-Wide Human SNP Array 6.0是唯一可以真正将CNP(拷贝数多态性)转化成高分辨率的参考图谱的平台。主要应用领域包括全基因组SNP分型、全基因组CNV分型、全基因组关联 分析、全基因组连锁分析。除了进行基因分型外，还为拷贝数研究和LOH研究提供帮助，从而能够进行：UPD检测、亲子鉴定、异常的亲代起源分析（针对 UPD和缺失）、纯合性分析、血缘关系鉴定。</div>
<div>参考：<a href="http://www.affymetrix.com/support/technical/byproduct.affx?product=genomewidesnp_6">http://www.affymetrix.com/support/technical/byproduct.affx?product=genomewidesnp_6</a></div>
<div></div>
<div>SNP Array 6.0是昂飞公司继Mapping10k、100k、500k和SNP5.0芯片后推出的新一代SNP芯片。在一张芯片上可以分析一个样本<b>906,600 个SNP的基因型</b>, 大约有482，000个SNP来自于前代产品500K和SNP5.0芯片。剩下424，000个SNP包括了来源于国际HapMap计划中的标签 SNP，X，Y染色体和线粒体上更具代表性的SNP,以及来自于重组热点区域和500K芯片设计完成后新加入dbSNP数据库的SNP。<b>该芯片同时含 946,000个非多态性CNV探针</b>，用于检测拷贝数变异，其中202,000个用于检测5677个已知拷贝数变异区域的探针，这些区域来源于多伦多基因 组变异体数据库。该数据库中每隔3,182个非重叠片段区域分别用61个探针来检测。除了检测这些已知的拷贝数多态区域，还有超过744,000个探针平 均分配到整个基因组上，用来发现未知的拷贝数变异区域。SNP和CNV两种探针高密度且均匀地分布在整个基因组<b>，作为拷贝数变异和杂合性缺失(LOH)检 测的工具来发现微小的染色体增加和缺失</b>。为广大生命科学研究者提高发现复杂疾病相关基因的可能提供了强有力的工具。<br />
通过与哈佛大学合办的Broad研究所合作，SNP6.0芯片在数据准确性和一致性方面达到了新的高度。相应推出的Genotyping Console用来处理SNP6.0芯片数据和全基因组遗传分析及质量控制。</div>
<div>
<p><strong>产品特点：</strong></p>
<p>1.涵盖超过1,800,000个遗传变异标志物：包括超过<b>906,600个SNP和超过946,000个用于检测拷贝数变化（CNV，Copy Number Variation）</b>的探针；</p>
<p>2.SNP和CNV两种探针高密度且均匀地分布在整个基因组，不仅可以用于SNP基因精确分型，还可用于拷贝数变异CNV的研究；</p>
<p>3.744,000个探针平均分配到整个基因组上，用来发现未知的拷贝数变异区域；</p>
<p>4.可用于Copy-neutral LOH/UPD检测，亲子鉴定，纯合性分析、血缘关系鉴定、遗传病或其它疾病的研究。</p>
<p>参考：<a href="http://www.biomart.cn/specials/cnv2014/article/84169">http://www.biomart.cn/specials/cnv2014/article/84169</a></div>
<div>在NCBI的GEO数据库里面可以查到这个芯片，已经有一万多个样本数据啦!</div>
<div>图中第一个是CCLE计划的近千个样本，可能是定制化了的snp6.0芯片吧</div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/01/clipboard.png"><img class="alignnone size-full wp-image-1296" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/01/clipboard.png" alt="clipboard" width="1028" height="343" /></a></div>
<div>使用这个芯片数据来发文章的非常多，见列表：<a href="http://media.affymetrix.com/support/technical/other/snp6_array_publications.pdf">http://media.affymetrix.com/support/technical/other/snp6_array_publications.pdf</a></div>
<div>还有一篇2010-nature文章讲了如何用picnic来研究cnv，<a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3145113/">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3145113/</a></div>
<div>也有一篇2010年的文章提出了新的软件来分析这个芯片cnv数据<a href="http://bioinformatics.oxfordjournals.org/content/26/11/1395.long">http://bioinformatics.oxfordjournals.org/content/26/11/1395.long</a></div>
<div>实现同样功能的软件，非常之多，还有一个R的bioconductor系列的包</div>
<div><a href="http://www.bioconductor.org/help/search/index.html?q=cnv/">http://www.bioconductor.org/help/search/index.html?q=cnv/</a></div>
<div><a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/01/clipboard2.png"><img class="alignnone size-full wp-image-1297" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/01/clipboard2.png" alt="clipboard2" width="710" height="602" /></a></div>
<div>随便进去都可以找到很多raw data，可以自己进行分析的！</div>
<div><a href="http://www.ncbi.nlm.nih.gov/geo/browse/?view=samples&amp;platform=6801">http://www.ncbi.nlm.nih.gov/geo/browse/?view=samples&amp;platform=6801</a></div>
<div>比如：<a href="ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM1949nnn/GSM1949207/suppl/GSM1949207_SB_CID0102B_071708.CEL.gz">ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM1949nnn/GSM1949207/suppl/GSM1949207%5FSB%5FCID0102B%5F071708%2ECEL%2Egz</a></div>
<div></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/1295.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>affymetix的基因表达芯片数据差异基因分析</title>
		<link>http://www.bio-info-trainee.com/998.html</link>
		<comments>http://www.bio-info-trainee.com/998.html#comments</comments>
		<pubDate>Wed, 09 Sep 2015 15:21:27 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[差异]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=998</guid>
		<description><![CDATA[我主要是看了一个差异分析的教程，讲的非常详细，全面，我先简单列出这个教程，然后再 &#8230; <a href="http://www.bio-info-trainee.com/998.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>我主要是看了一个差异分析的教程，讲的非常详细，全面，我先简单列出这个教程，然后再贴出我的代码</p>
<div>GEO本来只有三种层级的数据，分别是Sample, Platform, and Series</div>
<div>
<div>现在共有14,927 platforms，包括主流的affymetrix，agilent，illumina等产商的芯片，以及它们在不同领域的应用（snp，snv，gwas等等），以及各种不同的生物体（人，小鼠，大鼠）</div>
<div>这个分析流程，仅仅针对于affymetrix公司的基因表达相关的芯片数据。</div>
<div>
<div>目录如下：</div>
<div><a href="http://helloxxxxxx.blog.163.com/blog/static/216015095201312653134662/" target="_blank">基因芯片（Affymetrix）分析1：芯片质量分析</a><br />
<a href="http://helloxxxxxx.blog.163.com/blog/static/216015095201312851632643/" target="_blank">基因芯片（Affymetrix）分析2：芯片数据预处理</a><br />
<a href="http://helloxxxxxx.blog.163.com/blog/static/21601509520132653218840/" target="_blank">基因芯片（Affymetrix）分析3：获取差异表达基因</a><br />
<a href="http://helloxxxxxx.blog.163.com/blog/static/216015095201321514655905/" target="_blank">基因芯片（Affymetrix）分析4：GO和KEGG分析</a><br />
<a href="http://helloxxxxxx.blog.163.com/blog/static/216015095201322683815364/" target="_blank">基因芯片（Affymetrix）分析5：聚类分析</a></div>
<div>因为他也是转载，所以链接失效了，现在的链接如下：</div>
<div><a href="http://seuzsl.blog.163.com/blog/static/2187980520134910258605/">http://seuzsl.blog.163.com/blog/static/2187980520134910258605/</a></div>
<div><a href="http://seuzsl.blog.163.com/blog/static/2187980520134910339429/">http://seuzsl.blog.163.com/blog/static/2187980520134910339429/</a></div>
<div><a href="http://seuzsl.blog.163.com/blog/static/2187980520134910354705/">http://seuzsl.blog.163.com/blog/static/2187980520134910354705/</a></div>
<div><a href="http://seuzsl.blog.163.com/blog/static/218798052013491049169/">http://seuzsl.blog.163.com/blog/static/218798052013491049169/</a></div>
<div><a href="http://seuzsl.blog.163.com/blog/static/2187980520134910425132/">http://seuzsl.blog.163.com/blog/static/2187980520134910425132/</a></div>
<div>其实根据目录名重新搜索肯定能得到内容的， 链接失效太正常了。</div>
<div>具体内容，我整理并且重新注释了以下，在有道云笔记里面。</div>
<div><a href="http://note.youdao.com/share/?id=e24163d717caa31265a449ba227af491&amp;type=note">http://note.youdao.com/share/?id=e24163d717caa31265a449ba227af491&amp;type=note</a></div>
<div>基本上只需要用心看这个教程，都能上手芯片数据的差异分析，但这只是差异分析的一种方法而已，而且还是非常过时的方法。</div>
<div>现在比较流行DESeq，edgeR等高通量测序的差异分析包，即使是十几年前的芯片数据，也不需要下载cel那种数据，可以直接下载每个项目的表达量矩阵<a href="ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE36nnn/GSE36138/matrix/" target="_blank">Series Matrix File(s)</a></div>
<div>然后在R里面用read.table，调整好参数就可以直接读取啦！</div>
<div></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/998.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bioconductor系列之hgu95av2.db</title>
		<link>http://www.bio-info-trainee.com/875.html</link>
		<comments>http://www.bio-info-trainee.com/875.html#comments</comments>
		<pubDate>Sat, 18 Jul 2015 11:33:13 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[hgu95av2.db]]></category>
		<category><![CDATA[芯片]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=875</guid>
		<description><![CDATA[这个包主要都是芯片数据处理方面的应用，本来我是懒得看的，但是我无意中浏览了一下r &#8230; <a href="http://www.bio-info-trainee.com/875.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>这个包主要都是芯片数据处理方面的应用，本来我是懒得看的，但是我无意中浏览了一下readme，发现它挺适合被作为数据库的典范来学习。<br />
source("http://bioconductor.org/biocLite.R")<br />
biocLite("org.Hs.eg.db")<br />
biocLite("hgu95av2.db")<br />
还是老办法安装了hgu95av2.db之后用ls可以查看这个包里面有36个映射数据，都是把芯片探针ID号转为其它36种主流ID号的映射而已。<br />
library(hgu95av2.db)<br />
> ls("package:hgu95av2.db")<br />
 [1] "hgu95av2"              "hgu95av2ACCNUM"        "hgu95av2ALIAS2PROBE"<br />
 [4] "hgu95av2CHR"           "hgu95av2CHRLENGTHS"    "hgu95av2CHRLOC"<br />
 [7] "hgu95av2CHRLOCEND"     "hgu95av2.db"           "hgu95av2_dbconn"<br />
[10] "hgu95av2_dbfile"       "hgu95av2_dbInfo"       "hgu95av2_dbschema"<br />
[13] "hgu95av2ENSEMBL"       "hgu95av2ENSEMBL2PROBE" "hgu95av2ENTREZID"<br />
[16] "hgu95av2ENZYME"        "hgu95av2ENZYME2PROBE"  "hgu95av2GENENAME"<br />
[19] "hgu95av2GO"            "hgu95av2GO2ALLPROBES"  "hgu95av2GO2PROBE"<br />
[22] "hgu95av2MAP"           "hgu95av2MAPCOUNTS"     "hgu95av2OMIM"<br />
[25] "hgu95av2ORGANISM"      "hgu95av2ORGPKG"        "hgu95av2PATH"<br />
[28] "hgu95av2PATH2PROBE"    "hgu95av2PFAM"          "hgu95av2PMID"<br />
[31] "hgu95av2PMID2PROBE"    "hgu95av2PROSITE"       "hgu95av2REFSEQ"<br />
[34] "hgu95av2SYMBOL"        "hgu95av2UNIGENE"       "hgu95av2UNIPROT"<br />
但是用这个包自带的函数capture.output(hgu95av2())可以看到这些映射并没有囊括我们标准的hg19版本的2.3万个基因，也就说这个芯片设计的探针只有1.1万个左右。但它根据已有的org.Hs.eg.db来构建了它自己芯片独有的数据包，这样就显得更加正式规范化了，这启发我们研发人员在做一些市场产品的同时也可以把自己的研究成果通主流数据库数据形式结合起来，更易让他人接受。<br />
> capture.output(hgu95av2())<br />
 [1] "Quality control information for hgu95av2:"<br />
 [2] ""<br />
 [3] ""<br />
 [4] "This package has the following mappings:"<br />
 [5] ""<br />
 [6] "hgu95av2ACCNUM has 12625 mapped keys (of 12625 keys)"<br />
 [7] "hgu95av2ALIAS2PROBE has 33755 mapped keys (of 103735 keys)"<br />
 [8] "hgu95av2CHR has 11540 mapped keys (of 12625 keys)"<br />
 [9] "hgu95av2CHRLENGTHS has 93 mapped keys (of 93 keys)"<br />
[10] "hgu95av2CHRLOC has 11474 mapped keys (of 12625 keys)"<br />
[11] "hgu95av2CHRLOCEND has 11474 mapped keys (of 12625 keys)"<br />
[12] "hgu95av2ENSEMBL has 11460 mapped keys (of 12625 keys)"<br />
[13] "hgu95av2ENSEMBL2PROBE has 9814 mapped keys (of 28553 keys)"<br />
[14] "hgu95av2ENTREZID has 11543 mapped keys (of 12625 keys)"<br />
[15] "hgu95av2ENZYME has 2125 mapped keys (of 12625 keys)"<br />
[16] "hgu95av2ENZYME2PROBE has 786 mapped keys (of 975 keys)"<br />
[17] "hgu95av2GENENAME has 11543 mapped keys (of 12625 keys)"<br />
[18] "hgu95av2GO has 11245 mapped keys (of 12625 keys)"<br />
[19] "hgu95av2GO2ALLPROBES has 17214 mapped keys (of 18826 keys)"<br />
[20] "hgu95av2GO2PROBE has 12920 mapped keys (of 14714 keys)"<br />
[21] "hgu95av2MAP has 11519 mapped keys (of 12625 keys)"<br />
[22] "hgu95av2OMIM has 10541 mapped keys (of 12625 keys)"<br />
[23] "hgu95av2PATH has 5374 mapped keys (of 12625 keys)"<br />
[24] "hgu95av2PATH2PROBE has 228 mapped keys (of 229 keys)"<br />
[25] "hgu95av2PMID has 11529 mapped keys (of 12625 keys)"<br />
[26] "hgu95av2PMID2PROBE has 372382 mapped keys (of 432400 keys)"<br />
[27] "hgu95av2REFSEQ has 11506 mapped keys (of 12625 keys)"<br />
[28] "hgu95av2SYMBOL has 11543 mapped keys (of 12625 keys)"<br />
[29] "hgu95av2UNIGENE has 11533 mapped keys (of 12625 keys)"<br />
[30] "hgu95av2UNIPROT has 11315 mapped keys (of 12625 keys)"<br />
[31] ""<br />
[32] ""<br />
[33] "Additional Information about this package:"<br />
[34] ""<br />
[35] "DB schema: HUMANCHIP_DB"<br />
[36] "DB schema version: 2.1"<br />
[37] "Organism: Homo sapiens"<br />
[38] "Date for NCBI data: 2014-Sep19"<br />
[39] "Date for GO data: 20140913"<br />
[40] "Date for KEGG data: 2011-Mar15"<br />
[41] "Date for Golden Path data: 2010-Mar22"<br />
[42] "Date for Ensembl data: 2014-Aug6"<br />
这个hgu95av2.db所加载的36个包都是一种特殊的对象，但是可以把它当做list来操作，是一种类似于hash的对应表格，其中keys是独特的，但是value可以有多个。<br />
既然是类似于list，那我就简单讲几个小技巧来操作这些数据对象。所有的操作都要用as.list()函数来把数据展现出来<br />
> as.list(hgu95av2ENZYME[1])<br />
$`1000_at`<br />
[1] "2.7.11.24"<br />
可以看到这样就提取出来了hgu95av2ENZYME的第一个元素，key是`1000_at`，它所映射的value是 "2.7.11.24"这个酶。<br />
同理对list取元素的三个操作在这里都可以用<br />
> as.list(hgu95av2ENZYME['1000_at'])<br />
$`1000_at`<br />
[1] "2.7.11.24"<br />
> as.list(hgu95av2ENZYME$'1000_at')<br />
[[1]]<br />
[1] "2.7.11.24"<br />
然而这只是list的操作，我们还有一个函数专门对这个对象来取元素，那就是get函数，取多个元素用mget，类似于as.list(hgu95av2ENZYME[1:10])<br />
用函数mget(probes_id,hgu95av2ENZYME)就可以根据自己的probes_id这个向量来选取数据了，当然也要用as.list()来展示出来。<br />
值得一提的是这里有个非常重要的函数是revmap，可以把我们的key和value调换位置。<br />
因为我们的数据对象里面的对应关系不是一对一，而是一对多，例如一个基因往往有多个go通路信息，例如这个就有十几个<br />
as.list(hgu95av2GO$'1000_at')<br />
$`GO:0000165`<br />
$`GO:0000165`$GOID<br />
[1] "GO:0000165"</p>
<p>$`GO:0000165`$Evidence<br />
[1] "TAS"</p>
<p>$`GO:0000165`$Ontology<br />
[1] "BP"</p>
<p>$`GO:0000186`<br />
$`GO:0000186`$GOID<br />
[1] "GO:0000186"</p>
<p>$`GO:0000186`$Evidence<br />
[1] "TAS"</p>
<p>$`GO:0000186`$Ontology<br />
[1] "BP"<br />
一层层的数据结构非常清晰，但是数据太多，所以它给了一个toTable函数来格式化，就是把一对多的list压缩成表格。<br />
> toTable(hgu95av2GO[1])<br />
   probe_id      go_id Evidence Ontology<br />
1   1000_at GO:0000165      TAS       BP<br />
2   1000_at GO:0000186      TAS       BP<br />
3   1000_at GO:0000187      TAS       BP<br />
4   1000_at GO:0002224      TAS       BP<br />
5   1000_at GO:0002755      TAS       BP<br />
6   1000_at GO:0002756      TAS       BP<br />
7   1000_at GO:0006360      TAS       BP<br />
------------------------------------------------------------<br />
81  1000_at GO:0004707      NAS       MF<br />
82  1000_at GO:0001784      IEA       MF<br />
83  1000_at GO:0005524      IEA       MF<br />
这样就非常方便的查看啦。<br />
当然对这个数据对象还有很多实用的操作。length(),Llength(),Rlength(),keys(),Lkeys(),Rkeys()等等，还有count.mappedkeys(),mappedLkeys()，还有个比较特殊的isNA来判断是否有些keys探针没有对应任何信息。<br />
而且以上这些函数不仅可以用来获取数据对象的信息，还可以修改这个数据对象。<br />
Lkeys(hgu95av2CHR) 可以查看这个对象有12625个探针。<br />
而> Rkeys(hgu95av2CHR)<br />
 [1] "19" "12" "8"  "14" "3"  "2"  "17" "16" "9"  "X"  "6"  "1"  "7"  "10" "11"<br />
[16] "22" "5"  "18" "15" "Y"  "20" "21" "4"  "13" "MT" "Un"<br />
可以看到这些探针分布在不同的染色体上面，如果我这时候给<br />
x=hgu95av2CHR<br />
Rkeys(x) = c("1","2")<br />
toTable(x)可以看到这时候x只剩下1946个探针了，就是1,2号染色体上面的基因了。<br />
然后可以一个个看这些函数的用法，其实就是SQL的增删改查的基本操作而已。<br />
> length(x)<br />
[1] 12625<br />
> Llength(x)<br />
[1] 12625<br />
> Rlength(x)<br />
[1] 2<br />
> head(keys(x))<br />
[1] "1000_at"   "1001_at"   "1002_f_at" "1003_s_at" "1004_at"   "1005_at"<br />
> head(Lkeys(x))<br />
[1] "1000_at"   "1001_at"   "1002_f_at" "1003_s_at" "1004_at"   "1005_at"<br />
> head(Rkeys(x))<br />
[1] "1" "2"<br />
> count<br />
count.fields       count.mappedLkeys  countOverlaps      counts<-           
count.links        count.mappedRkeys  countQueryHits     countSubjectHits   
count.mappedkeys   countMatches       counts             
> count.mappedkeys(x)<br />
[1] 1946<br />
> count.mappedLkeys(x)<br />
[1] 1946<br />
> count.mappedRkeys(x)<br />
[1] 2</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/875.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
