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

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=886</guid>
		<description><![CDATA[Bioconductor系列包的安装方法都一样 source("http://b &#8230; <a href="http://www.bio-info-trainee.com/886.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(“GenomicAlignments”)</p>
<p>这个包设计就是用来处理bam格式的比对结果的，具体功能非常多，其实还不如自己写脚本来做这些工作，更方便一点，实在没必要学别人的语法。大家有兴趣可以看GenomicAlignments的主页介绍，三个pdf文档来介绍。</p>
<p><a href="http://www.bioconductor.org/packages/release/bioc/html/GenomicAlignments.html">http://www.bioconductor.org/packages/release/bioc/html/GenomicAlignments.html</a></p>
<p>我们首先读取示例pasillaBamSubset包带有的bam文件</p>
<p>library(pasillaBamSubset)</p>
<p>un1 &lt;- untreated1_chr4()  # single-end reads</p>
<p>library(GenomicAlignments)</p>
<p>reads1 &lt;- <b>readGAlignments</b>(un1)</p>
<p>查看reads1这个结果，可以看到把这个bam文件都读成了一个数据对象GAlignments object，</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments632.png"><img class="alignnone size-full wp-image-887" src="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments632.png" alt="Bioconductor系列之GenomicAlignments632" width="554" height="219" /></a></p>
<p><b>readGAlignments这个函数就是读取我们bam文件的，生成的对象可以用多个函数来继续查看信息，比如它的列名都是函数</b></p>
<p>Seqnames(),strand(),cigar(),qwidth(),start(),end(),width(),njunc() 这些函数对这个GAlignments对象处理后会得到比对的各个情况的向量。</p>
<p>我们也可以读取这个GenomicAlignments包自带的bam文件，而不是pasillaBamSubset包带有的bam文件</p>
<p>&gt; fls &lt;- list.files(system.file("extdata", package="GenomicAlignments"),+                   recursive=TRUE, pattern="*bam$", full=TRUE)</p>
<p>&gt; fls</p>
<p>[1] "C:/Program Files/R/R-3.1.2/library/GenomicAlignments/extdata/sm_treated1.bam"  [2] "C:/Program Files/R/R-3.1.2/library/GenomicAlignments/extdata/sm_untreated1.bam"</p>
<p>reads1 &lt;- <b>readGAlignments</b>(fls[1])</p>
<p>比如我随意截图 cigar(reads1)的结果，就可以看出，大部分都是75M这样的比对情况，可以对这个向量进行统计完全匹配的情况，总共有6077总比对情况。</p>
<p>unique(cigar(reads1))</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments1315.png"><img class="alignnone size-full wp-image-888" src="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments1315.png" alt="Bioconductor系列之GenomicAlignments1315" width="553" height="166" /></a></p>
<p>也可以用table格式来查看cigar，可以看到大部分都是M</p>
<p>head(cigarOpTable(cigar(reads1)))</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments1385.png"><img class="alignnone size-full wp-image-889" src="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments1385.png" alt="Bioconductor系列之GenomicAlignments1385" width="554" height="275" /></a></p>
<p>接下来我们再读取PE测序数据的比对bam结果，看看分析方法有哪些。</p>
<p><a href="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments1422.png"><img class="alignnone size-full wp-image-890" src="http://www.bio-info-trainee.com/wp-content/uploads/2015/07/Bioconductor系列之GenomicAlignments1422.png" alt="Bioconductor系列之GenomicAlignments1422" width="538" height="321" /></a></p>
<p>U3.galp &lt;- readGAlignmentPairs(untreated3_chr4(), use.names=TRUE, param=param0)head(U3.galp)</p>
<p>也可以分开查看左右两端测序数据的比对情况，跟上面的head是对应关系，上面的</p>
<p>[169,  205] -- [ 326,  362]在下面就被分成左右两个比对情况了。</p>
<p>&gt; head(first(U3.galp))</p>
<p>GAlignments object with 6 alignments and 0 metadata columns:      seqnames strand       cigar    qwidth     start       end     width     njunc         &lt;Rle&gt;  &lt;Rle&gt; &lt;character&gt; &lt;integer&gt; &lt;integer&gt; &lt;integer&gt; &lt;integer&gt; &lt;integer&gt;  [1]     chr4      +         37M        37       169       205        37         0  [2]     chr4      +         37M        37       943       979        37         0  [3]     chr4      +         37M        37       944       980        37         0  [4]     chr4      +         37M        37       946       982        37         0  [5]     chr4      +         37M        37       966      1002        37         0  [6]     chr4      +         37M        37       966      1002        37         0  -------  seqinfo: 8 sequences from an unspecified genome</p>
<p>&gt; head(last(U3.galp))</p>
<p>GAlignments object with 6 alignments and 0 metadata columns:      seqnames strand       cigar    qwidth     start       end     width     njunc         &lt;Rle&gt;  &lt;Rle&gt; &lt;character&gt; &lt;integer&gt; &lt;integer&gt; &lt;integer&gt; &lt;integer&gt; &lt;integer&gt;  [1]     chr4      -         37M        37       326       362        37         0  [2]     chr4      -         37M        37      1086      1122        37         0  [3]     chr4      -         37M        37      1119      1155        37         0  [4]     chr4      -         37M        37       986      1022        37         0  [5]     chr4      -         37M        37      1108      1144        37         0  [6]     chr4      -         37M        37      1114      1150        37         0  -------  seqinfo: 8 sequences from an unspecified genome</p>
<p>用isProperPair可以查看pe测序数据比对情况的，哪些没有配对比对成功</p>
<p>&gt; table(isProperPair(U3.galp))FALSE  TRUE 29518 45828</p>
<p>还可以用Rsamtools包对我们的bam文件进行统计，看下面的代码中fls[1]和un1都是上面得到的bam文件全路径。</p>
<p>&gt; library(Rsamtools)</p>
<p>&gt; quickBamFlagSummary(fls[1], main.groups.only=TRUE)</p>
<p>group |    nb of |    nb of | mean / max                                   of |  records |   unique | records per                              records | in group |   QNAMEs | unique QNAMEAll records........................ A |     1800 |     1800 |    1 / 1  o template has single segment.... S |     1800 |     1800 |    1 / 1  o template has multiple segments. M |        0 |        0 |   NA / NA      - first segment.............. F |        0 |        0 |   NA / NA      - last segment............... L |        0 |        0 |   NA / NA      - other segment.............. O |        0 |        0 |   NA / NA Note that (S, M) is a partitioning of A, and (F, L, O) is a partitioning of M.Indentation reflects this.</p>
<p>&gt; library(Rsamtools)</p>
<p>&gt; quickBamFlagSummary(un1, main.groups.only=TRUE)</p>
<p>group |    nb of |    nb of | mean / max                                   of |  records |   unique | records per                              records | in group |   QNAMEs | unique QNAMEAll records........................ A |   204355 |   190770 | 1.07 / 10  o template has single segment.... S |   204355 |   190770 | 1.07 / 10  o template has multiple segments. M |        0 |        0 |   NA / NA      - first segment.............. F |        0 |        0 |   NA / NA      - last segment............... L |        0 |        0 |   NA / NA      - other segment.............. O |        0 |        0 |   NA / NA Note that (S, M) is a partitioning of A, and (F, L, O) is a partitioning of M.Indentation reflects this.</p>
<p>&nbsp;</p>
<p>下面讲最后一个综合应用</p>
<p>biocLite("RNAseqData.HNRNPC.bam.chr14")</p>
<p>#这是一个665.5MB的RNA-seq测序数据的比对结果</p>
<p>library(RNAseqData.HNRNPC.bam.chr14)bamfiles &lt;- RNAseqData.HNRNPC.bam.chr14_BAMFILESnames(bamfiles)  # the names of the runslibrary(Rsamtools)quickBamFlagSummary(bamfiles[1], main.groups.only=TRUE)flag1 &lt;- scanBamFlag(isFirstMateRead=TRUE, isSecondMateRead=FALSE,                     isDuplicate=FALSE, isNotPassingQualityControls=FALSE)param1 &lt;- ScanBamParam(flag=flag1, what="seq") #这里是设置readGAlignments的读取参数library(GenomicAlignments)gal1 &lt;- readGAlignments(bamfiles[1], use.names=TRUE, param=param1)</p>
<p>mcols(gal1)$seqoqseq1 &lt;- mcols(gal1)$seqis_on_minus &lt;- as.logical(strand(gal1) == "-")oqseq1[is_on_minus] &lt;- reverseComplement(oqseq1[is_on_minus])</p>
<p>这样就还原得到了原始测序数据啦！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/886.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
