<?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; pcr</title>
	<atom:link href="http://www.bio-info-trainee.com/tag/pcr/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>仔细探究picard的MarkDuplicates 是如何行使去除PCR重复reads功能的</title>
		<link>http://www.bio-info-trainee.com/2008.html</link>
		<comments>http://www.bio-info-trainee.com/2008.html#comments</comments>
		<pubDate>Sat, 12 Nov 2016 02:11:23 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[基础软件]]></category>
		<category><![CDATA[生信基础]]></category>
		<category><![CDATA[MarkDuplicates]]></category>
		<category><![CDATA[pcr]]></category>
		<category><![CDATA[picard]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2008</guid>
		<description><![CDATA[本帖紧跟前面的仔细探究samtools的rmdup是如何行使去除PCR重复rea &#8230; <a href="http://www.bio-info-trainee.com/2008.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>本帖紧跟前面的<a title="详细阅读 仔细探究samtools的rmdup是如何行使去除PCR重复reads功能的" href="http://www.bio-info-trainee.com/2003.html" rel="bookmark">仔细探究samtools的rmdup是如何行使去除PCR重复reads功能的</a></p>
<p>同样的我们也是分单端和双端测序来看结果，并且比较两个工具的区别！</p>
<p>首先对于那个单端数据，samtools给出的结果是：[bam_rmdupse_core] 25 / 53 = 0.4717 in library<span id="more-2008"></span></p>
<p>而我用picard得到的结果是：</p>
<blockquote><p>INFO 2016-11-12 09:48:29 MarkDuplicates <strong><span style="color: #ff00ff;">Read 53 records. 0 pairs never matched.</span></strong><br />
INFO 2016-11-12 09:48:31 MarkDuplicates After buildSortedReadEndLists freeMemory: 248541856; totalMemory: 3887595520; maxMemory: 57266405376<br />
INFO 2016-11-12 09:48:31 MarkDuplicates Will retain up to 1789575168 duplicate indices before spilling to disk.<br />
INFO 2016-11-12 09:49:14 MarkDuplicates Traversing read pair information and detecting duplicates.<br />
INFO 2016-11-12 09:49:15 MarkDuplicates Traversing fragment information and detecting duplicates.<br />
INFO 2016-11-12 09:49:15 MarkDuplicates Sorting list of duplicate records.<br />
INFO 2016-11-12 09:54:35 MarkDuplicates After generateDuplicateIndexes freeMemory: 3885082288; totalMemory: 18204327936; maxMemory: 57266405376<br />
INFO 2016-11-12 09:54:35 MarkDuplicates <span style="color: #ff00ff;"><strong>Marking 25 records as duplicates.</strong></span><br />
INFO 2016-11-12 09:54:35 MarkDuplicates Found 0 optical duplicate clusters.</p>
<p>&nbsp;</p></blockquote>
<p>看起来并没有差别哦，找到的duplicate都是一样的，但是这种java软件的缺点就是奇慢无比~~~~</p>
<p>而且picard对于单端或者双端测序数据并没有区分参数，可以用同一个命令！</p>
<p>那么接下来我测试双端测序数据, 依然是没有差别，都是去掉了4个，可能是我给出的测试数据太少了。</p>
<blockquote><p>INFO 2016-11-12 09:57:45 MarkDuplicates<strong><span style="color: #ff00ff;"> Read 30 records. 3 pairs never matched.</span></strong><br />
INFO 2016-11-12 09:57:47 MarkDuplicates After buildSortedReadEndLists freeMemory: 248541896; totalMemory: 3887595520; maxMemory: 57266405376<br />
INFO 2016-11-12 09:57:47 MarkDuplicates Will retain up to 1789575168 duplicate indices before spilling to disk.<br />
INFO 2016-11-12 09:58:26 MarkDuplicates Traversing read pair information and detecting duplicates.<br />
INFO 2016-11-12 09:58:26 MarkDuplicates Traversing fragment information and detecting duplicates.<br />
INFO 2016-11-12 09:58:26 MarkDuplicates Sorting list of duplicate records.<br />
INFO 2016-11-12 10:02:59 MarkDuplicates After generateDuplicateIndexes freeMemory: 3885083112; totalMemory: 18204327936; maxMemory: 57266405376<br />
INFO 2016-11-12 10:02:59 MarkDuplicates <strong><span style="color: #ff00ff;">Marking 4 records as duplicates.</span></strong></p>
<p>&nbsp;</p></blockquote>
<p>测试数据，大家可以去下载，里面有脚本和测试数据！<a href="http://www.biotrainee.com/jmzeng/rmDuplicate.zip " target="_blank">http://www.biotrainee.com/jmzeng/rmDuplicate.zip </a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2008.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>仔细探究samtools的rmdup是如何行使去除PCR重复reads功能的</title>
		<link>http://www.bio-info-trainee.com/2003.html</link>
		<comments>http://www.bio-info-trainee.com/2003.html#comments</comments>
		<pubDate>Sat, 12 Nov 2016 01:51:30 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[基础软件]]></category>
		<category><![CDATA[生信基础]]></category>
		<category><![CDATA[pcr]]></category>
		<category><![CDATA[picard]]></category>
		<category><![CDATA[rmdup]]></category>
		<category><![CDATA[samtools]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2003</guid>
		<description><![CDATA[在做这个去除PCR重复reads时候必须要明白为什么要做这个呢？WGS？WES？ &#8230; <a href="http://www.bio-info-trainee.com/2003.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div>在做这个去除PCR重复reads时候必须要明白为什么要做这个呢？WGS？WES？RNA-SEQ?CHIP-SEQ？都需要吗？随机打断测序才需要？特异性捕获不需要？</div>
<div>搞明白了，我们就开始做，首先拿一个小的单端测序数据比对结果来做测试！</div>
<div>samtools rmdup -s tmp.sorted.bam tmp.rmdup.bam</div>
<div>[bam_rmdupse_core] 25 / 53 = 0.4717 in library</div>
<div>我们的测试数据里面有53条records根据软件算出了25条reads都是PCR的duplicate，所以去除了！</div>
<div></div>
<p><span id="more-2003"></span></p>
<div><img src="file:///C:/Users/jimmy1314/AppData/Local/YNote/data/jmzeng1314@163.com/18c083a443ef43a683427e7c7b1e1f7e/clipboard.png" alt="" data-media-type="image" data-attr-org-src-id="4798B43C7B154A5F86731005CA2CBCE4" /> <a href="http://www.bio-info-trainee.com/wp-content/uploads/2016/11/1.png"><img class="alignnone size-full wp-image-2005" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/11/1.png" alt="1" width="981" height="804" /></a></div>
<div>samtools rmdup 的官方说明书见： <a href="http://www.htslib.org/doc/samtools.html">http://www.htslib.org/doc/samtools.html</a></div>
<div>samtools rmdup [-sS] &lt;input.srt.bam&gt; &lt;out.bam&gt;</div>
<div>只需要开始-s的标签， 就可以对单端测序进行去除PCR重复。其实对单端测序去除PCR重复很简单的~，因为比对flag情况只有0,4,16，只需要它们比对到染色体的起始终止坐标一致即可，flag很容易一致。但是对于双端测序就有点复杂了~</div>
<div>Remove potential PCR duplicates: if multiple read pairs have identical external coordinates, only retain the pair with highest mapping quality. In the paired-end mode, this command ONLY works with FR orientation and requires ISIZE is correctly set. It does not work for unpaired reads (e.g. two ends mapped to different chromosomes or orphan reads).</div>
<div></div>
<div>然后我们再拿一个小的双端测序数据来测试一下：</div>
<div>samtools rmdup tmp.sorted.bam tmp.rmdup.bam</div>
<div>[bam_rmdup_core] processing reference chr10...</div>
<div>[bam_rmdup_core] 2 / 12 = 0.1667 in library</div>
<div><img class="alignnone size-full wp-image-2004" src="http://www.bio-info-trainee.com/wp-content/uploads/2016/11/2.png" alt="2" width="1126" height="850" /></div>
<div>很明显可以看出，去除PCR重复不仅仅需要它们比对到染色体的起始终止坐标一致，尤其是flag，在双端测序里面一大堆的flag情况，所以我们的94741坐标的5个reads，一个都没有去除！</div>
<div><img src="file:///C:/Users/jimmy1314/AppData/Local/YNote/data/jmzeng1314@163.com/a5fa5ed819284d90813dc105eab41b26/clipboard.png" alt="" data-media-type="image" data-attr-org-src-id="DA34A96CFC794961AD847A279ADE8253" /></div>
<div>这样的话，双端测序数据，用samtools rmdup效果就很差，所以很多人建议用picard工具的MarkDuplicates 功能~~~</div>
<div>The optimal solution depends on many factors - the consensus seems to be the the picard markduplicates could be the best current solution.</div>
<div></div>
<div>The appropriateness of duplicate removal depends on coverage - one would want to only remove artificial duplicates and keep the natural duplicates.</div>
<div></div>
<div>MarkDuplicates is "more correct" in the strict sense. Rmdup is more efficient simply because it does handle those tough cases. Rmdup works for single-end, too, but it cannot do paired-end and single-end at the same time. It does not work properly for mate-pair reads if read lengths are different.</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2003.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
