<?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; txdb</title>
	<atom:link href="http://www.bio-info-trainee.com/tag/txdb/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>Bioconductor系列之GenomicFeatures</title>
		<link>http://www.bio-info-trainee.com/883.html</link>
		<comments>http://www.bio-info-trainee.com/883.html#comments</comments>
		<pubDate>Sun, 19 Jul 2015 08:41:17 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[GenomicFeatures]]></category>
		<category><![CDATA[txdb]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=883</guid>
		<description><![CDATA[Bioconductor系列包的安装方法都一样 source("http://b &#8230; <a href="http://www.bio-info-trainee.com/883.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Bioconductor系列包的安装方法都一样</p>
<p>source("http://bioconductor.org/biocLite.R")biocLite(“GenomicFeatures”)</p>
<p>安装成功之后就可以找到这个包自带的pdf说明书。<span id="more-883"></span></p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicFeatures154.png"><img class="alignnone size-full wp-image-884" src="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicFeatures154.png" alt="Bioconductor系列之GenomicFeatures154" width="554" height="482" /></a></p>
<p>先简单回顾一下这个包的用法，在前面的日志里面我重点讲解了txdb对象，就是这个包的重点。</p>
<p>## ----loadGenomicFeatures----------------------------------------------------------------</p>
<p>library("GenomicFeatures")</p>
<p>第一种方法构建txdb对象，从本地读取数据库文件，支持sqlite数据库。</p>
<p>## ----loadDb-----------------------------------------------------------------------------</p>
<p>samplefile &lt;- system.file("extdata", "hg19_knownGene_sample.sqlite",</p>
<p>package="GenomicFeatures")</p>
<p>txdb &lt;- loadDb(samplefile)</p>
<p>txdb</p>
<p>第二种方法构建txdb对象，安装独立的包</p>
<p>## ----loadPackage------------------------------------------------------------------------</p>
<p>biocLite("TxDb.Hsapiens.UCSC.hg19.knownGene") #每个物种都有类似的包</p>
<p>library(TxDb.Hsapiens.UCSC.hg19.knownGene)</p>
<p>txdb &lt;- TxDb.Hsapiens.UCSC.hg19.knownGene #shorthand (for convenience)</p>
<p>Txdb</p>
<p>R语言里面的数据库都支持select函数操作，包括前面讲解的biomaRt和db型数据库</p>
<p>## ----selectExample----------------------------------------------------------------------</p>
<p>Version:1.0 StartHTML:0000000105 EndHTML:0000003832 StartFragment:0000000127 EndFragment:0000003814</p>
<p>&gt; library(TxDb.Hsapiens.UCSC.hg19.knownGene)</p>
<p>&gt; txdb &lt;- TxDb.Hsapiens.UCSC.hg19.knownGene #shorthand (for convenience)</p>
<p>&gt; txdb</p>
<p>TxDb object:| Db type: TxDb| Supporting package: GenomicFeatures| Data source: UCSC| Genome: hg19| Organism: Homo sapiens| UCSC Table: knownGene| Resource URL: http://genome.ucsc.edu/| Type of Gene ID: Entrez Gene ID| Full dataset: yes| miRBase build ID: GRCh37| transcript_nrow: 82960| exon_nrow: 289969| cds_nrow: 237533| Db created by: GenomicFeatures package from Bioconductor| Creation time: 2014-09-26 11:16:12 -0700 (Fri, 26 Sep 2014)| GenomicFeatures version at creation time: 1.17.17| RSQLite version at creation time: 0.11.4| DBSCHEMAVERSION: 1.0</p>
<p>&gt; keys &lt;- c("100033416", "100033417", "100033420")</p>
<p>&gt; columns(txdb)</p>
<p>[1] "CDSID"      "CDSNAME"    "CDSCHROM"   "CDSSTRAND"  "CDSSTART"   "CDSEND"     "EXONID"     "EXONNAME"   "EXONCHROM"  "EXONSTRAND" "EXONSTART"  "EXONEND"   [13] "GENEID"     "TXID"       "EXONRANK"   "TXNAME"     "TXCHROM"    "TXSTRAND"   "TXSTART"    "TXEND"</p>
<p>&gt; keytypes(txdb)</p>
<p>[1] "GENEID"   "TXID"     "TXNAME"   "EXONID"   "EXONNAME" "CDSID"    "CDSNAME"</p>
<p>&gt; select(txdb, keys = keys, <b>columns="TXNAME", keytype="GENEID"</b>)</p>
<p>GENEID     TXNAME1 100033416 uc001yxl.42 100033417 uc001yxo.33 100033420 uc001yxr.3</p>
<p>必须要看仔细这个包所支持的columns和keytypes，严格字符串相等才能进行数据库查询操作。</p>
<p>&nbsp;</p>
<p>还有之前我讲过的genes,transcripts,exons,cds等函数作用于txdb对象都会生成Granges对象。</p>
<p>当然还有transcriptsBy(),exonsBy()等函数作用于txdb对象都会生成Granges 对象。</p>
<p>还有几个函数是我之前没有讲到的，找到所有转录本的内含子，5端或者3端的UTR序列，也是生成Granges 对象。</p>
<p>## ----introns-UTRs-----------------------------------------------------------------------</p>
<p>length(intronsByTranscript(txdb))</p>
<p>length(fiveUTRsByTranscript(txdb))</p>
<p>length(threeUTRsByTranscript(txdb))</p>
<p>上面简单的介绍了这个包的使用方法，关于这个包的一些应用，就要与其它一些包结合起来看了，我先把另外两个包给讲完了，再讲综合应用</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/883.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R的bioconductor包TxDb.Hsapiens.UCSC.hg19.knownGene详解</title>
		<link>http://www.bio-info-trainee.com/831.html</link>
		<comments>http://www.bio-info-trainee.com/831.html#comments</comments>
		<pubDate>Thu, 02 Jul 2015 08:14:57 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[GRange]]></category>
		<category><![CDATA[hg19.knownGene]]></category>
		<category><![CDATA[txdb]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=831</guid>
		<description><![CDATA[#这里是下载人类的已知基因的信息 (35.4 MB) source("http: &#8230; <a href="http://www.bio-info-trainee.com/831.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#这里是下载人类的已知基因的信息 (35.4 MB)</p>
<p>source("http://bioconductor.org/biocLite.R")</p>
<p>biocLite("TxDb.Hsapiens.UCSC.hg19.knownGene")</p>
<p>然后查看我们下载的这个包里面所包含的信息<span id="more-831"></span></p>
<p>&gt; txdb &lt;- TxDb.Hsapiens.UCSC.hg19.knownGene</p>
<p>&gt; txdb</p>
<p>TxDb object:</p>
<p>| Db type: TxDb</p>
<p>| Supporting package: GenomicFeatures</p>
<p>| Data source: UCSC</p>
<p>| Genome: hg19</p>
<p>| Organism: Homo sapiens</p>
<p>| UCSC Table: knownGene</p>
<p>| Resource URL: http://genome.ucsc.edu/</p>
<p>| Type of Gene ID: Entrez Gene ID</p>
<p>| Full dataset: yes</p>
<p>| miRBase build ID: GRCh37</p>
<p>| transcript_nrow: 82960</p>
<p>| exon_nrow: 289969</p>
<p>| cds_nrow: 237533</p>
<p>| Db created by: GenomicFeatures package from Bioconductor</p>
<p>| Creation time: 2014-09-26 11:16:12 -0700 (Fri, 26 Sep 2014)</p>
<p>| GenomicFeatures version at creation time: 1.17.17</p>
<p>| RSQLite version at creation time: 0.11.4</p>
<p>| DBSCHEMAVERSION: 1.0</p>
<p>可以看到这个UCSC数据库发布的经典的hg19版本基因组所有的基因信息，共有237533个CDS，共有289969个外显子</p>
<p>&nbsp;</p>
<p>然后我们可以用几个简单的函数提取信息</p>
<p>&gt;genes(txdb)</p>
<p>可以看到genes函数可以提取23056个基因信息，还是一个Granges对象</p>
<p>&gt;exons(txdb)</p>
<p>而用exons函数可以提取这个txdb对象的exons信息，共289969个exon</p>
<p>同理还有 transcripts函数可以提取转录本信息，共82960个转录本</p>
<p>还有cds函数，提取到237533个cds信息</p>
<p>#我们可以提取外显子的<strong>GRanges</strong><strong>对象</strong>来具体看看，也可以用genes,transcripts,cds等函数</p>
<p>exon_txdb=exons(txdb)</p>
<p>seqnames(exon_txdb)返回一个class 'Rle' [package "S4Vectors"] with 4 slots，有93个染色体信息，以及每条染色体上面有多少个外显子信息</p>
<p>ranges(exon_txdb)返回外显子的起始终止位点，长度，以及其它信息，也是一个对象class 'IRanges' [package "IRanges"] with 6 slots</p>
<p>还有很多函数</p>
<p>strand(exon_txdb)返回外显子的正负链信息，要么在正链要么在负链</p>
<p>mcols(exon_txdb)返回exon的id编号，1到27750个</p>
<p>seqlengths(exon_txdb)返回每条染色体的长度信息</p>
<p>names,length</p>
<p>GRanges对象还有很多其它类型的操作，非常好玩的，split,shift,resize,flank,reduce,gaps,disjoin,coverage</p>
<p>其它求交集并集和都可以用,union,intersect,setdiff,pintersect,psetdiff</p>
<p>然后我们再回头看看我们的重点，txdb对象</p>
<p>transcriptsBy(txdb,by="gene")</p>
<p>这个是把我们对象按照gene来对转录本分组，可以看到，分成了23459个元素的list，其中第一个基因有两个转录本，也有一些基因只有一个转录本，甚至有些基因会有非常多的转录本，也可以用exonsBy,cdsBy来对它进行处理</p>
<p>每一个元素都是GRangesList对象，就是前面的<strong>GRanges对象，</strong></p>
<p>seqnames(x)</p>
<p>ranges(x)</p>
<p>strand(x)</p>
<p>mcols(x, use.names=FALSE)</p>
<p>elementMetadata(x)</p>
<p>values(x)</p>
<p>seqinfo(x)</p>
<p>seqlevels(x)</p>
<p>seqlengths(x)</p>
<p>isCircular(x)</p>
<p>genome(x)</p>
<p>seqnameStyle(x)</p>
<p>seqnames(x)</p>
<p>score(x)</p>
<p>还有很多关于它的介绍</p>
<p>http://web.mit.edu/r_v3.0.1/lib/R/library/GenomicRanges/html/GRangesList-class.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/831.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R的bioconductor包里面的txdb对象及GRange对象详解</title>
		<link>http://www.bio-info-trainee.com/828.html</link>
		<comments>http://www.bio-info-trainee.com/828.html#comments</comments>
		<pubDate>Thu, 02 Jul 2015 07:52:22 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[bioconductor]]></category>
		<category><![CDATA[GRange]]></category>
		<category><![CDATA[txdb]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=828</guid>
		<description><![CDATA[创建txdb对象的三种方法： 一是读取实例文件 library(GenomicF &#8230; <a href="http://www.bio-info-trainee.com/828.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>创建txdb对象的三种方法：<br />
一是读取实例文件<br />
library(GenomicFeatures)<br />
samplefile &lt;- system.file("extdata", "hg19_knownGene_sample.sqlite",<br />
package="GenomicFeatures")<br />
txdb &lt;- loadDb(samplefile)<br />
这个文件是hg19的一个子集，里面只有178个转录本，620个外显子<span id="more-828"></span><br />
二是直接读取包里面的hg19全对象<br />
source("http://bioconductor.org/biocLite.R")<br />
biocLite("TxDb.Hsapiens.UCSC.hg19.knownGene")<br />
library("TxDb.Hsapiens.UCSC.hg19.knownGene")<br />
txdb &lt;- TxDb.Hsapiens.UCSC.hg19.knownGene<br />
这是hg19所有已知基因的全部信息，共有23056个基因信息，289969个外显子<br />
三是自己创建，这将是非常麻烦的事情，我就不多说了！</p>
<p>然后我们讲讲对这个对象可以做些什么操作吧：<br />
首先讲讲这个txdb对象有几个常用的方法，其中genes,transcripts,exons,cds肯定是最简单啦，<br />
就是txdb对象处理之后都会返回Granges对象<br />
比如下面的代码<br />
exon_txdb=exons(txdb)<br />
genes_txdb=genes(txdb)<br />
tmp=as.data.frame(exon_txdb)<br />
write.table(tmp,"exon.pos",row.names=F)<br />
tmp=as.data.frame(genes_txdb)<br />
write.table(tmp,"gene.pos",row.names=F)<br />
这样就输出了我们所有的23056个基因的染色体位置，起始终止坐标信息，还有289969个外显子信息。<br />
外显子文件如下<br />
"seqnames" "start" "end" "width" "strand" "exon_id"<br />
"chr1" 11874 12227 354 "+" 1<br />
"chr1" 12595 12721 127 "+" 2<br />
"chr1" 12613 12721 109 "+" 3<br />
"chr1" 12646 12697 52 "+" 4<br />
"chr1" 13221 14409 1189 "+" 5<br />
gene文件如下<br />
"seqnames" "start" "end" "width" "strand" "gene_id"<br />
"chr19" 58858172 58874214 16043 "-" "1"<br />
"chr8" 18248755 18258723 9969 "+" "10"<br />
"chr20" 43248163 43280376 32214 "-" "100"<br />
"chr18" 25530930 25757445 226516 "-" "1000"<br />
还有几个类似的方法：transcriptsBy(txdb,by="gene")对象按照gene来对转录本分组，<br />
可以看到，分成了23459个元素的list，其中第一个基因有两个转录本，也有一些基因只有一个转录本，甚至有些基因会有非常多的转录本，<br />
也可以用exonsBy,cdsBy来对它进行处理，都会返回Granges对象</p>
<p>还有，因为这个txdb对象是数据库对象，所以对数据库的操作可以对它一样，详解见biomaRt里面的</p>
<p>columns可以查看这个数据库对象的values，用keytypes可以查看它的一些检索主键，这样就可以用select来通过主键对属性values进行检索。</p>
<p>用select进行检索的代码如下</p>
<p>keys &lt;- c("100033416", "100033417", "100033420")</p>
<p>select(txdb, keys = keys, columns="TXNAME", keytype="GENEID")</p>
<p>cols &lt;- c("TXNAME", "TXSTRAND", "TXCHROM")</p>
<p>select(txdb, keys=keys, columns=cols, keytype="GENEID")</p>
<p>&nbsp;</p>
<p>上面我们演示了如何把Granges对象写到txt文档里面，但是这个对象的重要性远远不止如此<br />
我们接下来再讲讲这个Granges对象吧，首先还是如何创建它！<br />
第一种方法就是上面的txdb对象通过函数处理返回Granges对象！<br />
第二种是自己手动创建</p>
<p>同样的对这个对象也会有很多很多的方法<br />
seqnames(exon_txdb)返回一个class 'Rle' [package "S4Vectors"] with 4 slots，有93个染色体信息，以及每条染色体上面有多少个外显子信息<br />
ranges(exon_txdb)返回外显子的起始终止位点，长度，以及其它信息，也是一个对象class 'IRanges' [package "IRanges"] with 6 slots<br />
还有很多函数<br />
strand(exon_txdb)返回外显子的正负链信息，要么在正链要么在负链<br />
mcols(exon_txdb)返回exon的id编号，1到27750个<br />
seqlengths(exon_txdb)返回每条染色体的长度信息<br />
names,length<br />
GRanges对象还有很多其它类型的操作，非常好玩的，split,shift,resize,flank,reduce,gaps,disjoin,coverage<br />
其它求交集并集和都可以用,union,intersect,setdiff,pintersect,psetdiff<br />
还有非常多的高级功能，我也还没开始用</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/828.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
