<?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/%e5%af%b9%e8%b1%a1/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>R一大利器之对象的操作函数查询</title>
		<link>http://www.bio-info-trainee.com/1951.html</link>
		<comments>http://www.bio-info-trainee.com/1951.html#comments</comments>
		<pubDate>Sat, 15 Oct 2016 13:44:09 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[基础软件]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[对象]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=1951</guid>
		<description><![CDATA[对于生物出身的部分生物信息学工程师来说，很多计算机概念让人很头疼，尤其是计算机语 &#8230; <a href="http://www.bio-info-trainee.com/1951.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>对于生物出身的部分生物信息学工程师来说，很多计算机概念让人很头疼，尤其是计算机语言里面的高级对象。我以前学编程的时候，给我一个变量，一个数据，一个hash，我就心满意足了，可以解决大部分我数据处理问题，可事情远比想象之中复杂。因为很多高手喜欢用封装，代码复用，喜欢用高级对象。在R的bioconductor里面尤其是如此，经常会遇到各种包装好的S3，S4对象，看过说明书，倒是知道一些对象里面有什么，可以去如何处理那些对象，提取我们想要的信息，比如我就写过一系列的帖子：</p>
<div><a href="http://www.bio-info-trainee.com/886.html">Bioconductor系列之GenomicAlignments</a></div>
<div><a href="http://www.bio-info-trainee.com/883.html">Bioconductor系列之GenomicFeatures</a></div>
<div><a href="http://www.bio-info-trainee.com/831.html">R的bioconductor包TxDb.Hsapiens.UCSC.hg19.knownGene详解</a></div>
<div><a href="http://www.bio-info-trainee.com/828.html">R的bioconductor包里面的txdb对象及GRange对象详解</a></div>
<p><span id="more-1951"></span></p>
<p>那个时候傻傻的去搜集总结每个对象的操作函数，辛苦死了，一直想有没有地方可以查询这些对象，到底应该用什么函数呢？人怎么能记住一堆函数呢《比如seqnames(),strand(),cigar(),qwidth(),start(),end(),width(),njunc() 这些函数对这个GAlignments对象进行处理》</p>
<p>今天我又遇到了一个LumiBatch对象，也是很复杂，我明明知道里面有基因和探针，但就是拿它没办法：</p>
<blockquote><p>Summary of data information:<br />
Illumina Inc. BeadStudio version 1.4.0.1<br />
Normalization = none<br />
Array Content = 11188230_100CP_MAGE-ML.XML<br />
Error Model = none<br />
DateTime = 2/3/2005 3:21 PM<br />
Local Settings = en-US</p>
<p>Major Operation History:<br />
submitted finished command lumiVersion<br />
1 2007-04-22 00:08:36 2007-04-22 00:10:36 lumiR("../data/Barnes_gene_profile.txt") 1.1.6<br />
2 2007-04-22 00:10:36 2007-04-22 00:10:38 lumiQ(x.lumi = x.lumi) 1.1.6<br />
3 2007-04-22 00:13:06 2007-04-22 00:13:10 addNuId2lumi(x.lumi = x.lumi, lib = "lumiHumanV1") 1.1.6<br />
4 2007-04-22 00:59:20 2007-04-22 00:59:36 Subsetting 8000 features and 4 samples. 1.1.6</p>
<p>Object Information:<br />
LumiBatch (storageMode: lockedEnvironment)<br />
assayData: 8000 features, 4 samples<br />
element names: beadNum, detection, exprs, se.exprs<br />
protocolData: none<br />
phenoData<br />
sampleNames: A01 A02 B01 B02<br />
varLabels: sampleID label<br />
varMetadata: labelDescription<br />
featureData<br />
featureNames: oZsQEQXp9ccVIlwoQo 9qedFRd_5Cul.ueZeQ ... 33KnLHy.RFaieogAF4 (8000 total)<br />
fvarLabels: TargetID<br />
fvarMetadata: labelDescription<br />
experimentData: use 'experimentData(object)'<br />
Annotation: lumiHumanAll.db<br />
Control Data: Available<br />
QC information: Please run summary(x, 'QC') for details!</p></blockquote>
<p>看起来极度的复杂，教程里面有提到一些函数可以操作这个对象，用来画图，提取数据，但是不能满足我的需要。搜索了好久，终于找到了解决方法：</p>
<div><a href="https://www.rdocumentation.org/packages/Biobase/versions/2.26.0/topics/AnnotatedDataFrame?">https://www.rdocumentation.org/packages/Biobase/versions/2.26.0/topics/AnnotatedDataFrame?</a></div>
<div><a href="https://www.rdocumentation.org/packages/Biobase/versions/2.26.0/topics/ExpressionSet?">https://www.rdocumentation.org/packages/Biobase/versions/2.26.0/topics/ExpressionSet?</a></div>
<div><a href="https://www.rdocumentation.org/packages/Biobase/versions/2.26.0/topics/eSet?">https://www.rdocumentation.org/packages/Biobase/versions/2.26.0/topics/eSet?</a></div>
<div><a href="https://www.rdocumentation.org/packages/lumi/versions/2.24.0/topics/LumiBatch-class">https://www.rdocumentation.org/packages/lumi/versions/2.24.0/topics/LumiBatch-class</a></div>
<div><a href="https://www.rdocumentation.org/packages/GenomicFeatures/versions/1.24.4/topics/TxDb-class">https://www.rdocumentation.org/packages/GenomicFeatures/versions/1.24.4/topics/TxDb-class</a></div>
<div>这些函数是有规律的，而且这个网站也提供了查询接口，很容易就可以了解每个对象是如何设置的，有哪些属性，定义好了哪些函数可以去操作它。</div>
<div></div>
<div>我需要自己组合 pData(featureData(x.lumi)) 才能从 x.lumi这个对象里面提取到我想要的 ProbeID TargetID</div>
<blockquote>
<div>&gt; head(pData(featureData(x.lumi))）<br />
<span style="color: #ff0000;">ProbeID TargetID</span><br />
6450255 6450255 7A5<br />
2570615 2570615 A1BG<br />
6370619 6370619 A1BG<br />
2600039 2600039 A1CF<br />
2650615 2650615 A1CF<br />
5340672 5340672 A1CF</div>
</blockquote>
<div>以前就是把说明书给翻烂也找不到！</div>
<div> 而且，你只需要class一下你的对象，就知道它的具体名字，然后用method就可以看到它所有可供操作的函数！</div>
<div>
<div>&gt; class(x.lumi)</div>
<div>[1] "LumiBatch"</div>
<div>attr(,"package")</div>
<div>[1] "lumi"</div>
<div>&gt; methods(class='LumiBatch')</div>
<div>[1] $ $&lt;- [ [[ [[&lt;- abstract annotation annotation&lt;-</div>
<div>[9] as.matrix asBigMatrix assayData assayData&lt;- beadNum beadNum&lt;- boxplot classVersion</div>
<div>[17] classVersion&lt;- coerce combine controlData controlData&lt;- density description description&lt;-</div>
<div>[25] detection detection&lt;- dim dimnames dimnames&lt;- dims esApply experimentData</div>
<div>[33] experimentData&lt;- exprs exprs&lt;- fData fData&lt;- featureData featureData&lt;- featureNames</div>
<div>[41] featureNames&lt;- fvarLabels fvarLabels&lt;- fvarMetadata fvarMetadata&lt;- getHistory hist initialize</div>
<div>[49] isCurrent isVersioned makeDataPackage MAplot notes notes&lt;- pairs pData</div>
<div>[57] pData&lt;- phenoData phenoData&lt;- plot preproc preproc&lt;- protocolData protocolData&lt;-</div>
<div>[65] pubMedIds pubMedIds&lt;- rowMedians rowQ sampleNames sampleNames&lt;- se.exprs se.exprs&lt;-</div>
<div>[73] show storageMode storageMode&lt;- summary updateObject updateObjectTo varLabels varLabels&lt;-</div>
<div>[81] varMetadata varMetadata&lt;- write.exprs</div>
<div>see '?methods' for accessing help and source code</div>
<div>&gt;</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/1951.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
