<?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>小生这厢有礼了(BioFaceBook Personal Blog) &#187; bioinformatics</title>
	<atom:link href="http://www.biofacebook.com/?feed=rss2&#038;tag=bioinfo-2" rel="self" type="application/rss+xml" />
	<link>http://www.biofacebook.com</link>
	<description>记录生物信息学点滴足迹（NGS,Genome,Meta,Linux)</description>
	<lastBuildDate>Sun, 23 Aug 2020 03:28:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>BEReX :   Biomedical Entity-Relation eXplorer</title>
		<link>http://www.biofacebook.com/?p=844</link>
		<comments>http://www.biofacebook.com/?p=844#comments</comments>
		<pubDate>Fri, 06 Dec 2013 02:14:20 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>
		<category><![CDATA[genome]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=844</guid>
		<description><![CDATA[ BEReX is a new biomedical knowledge integration, search, and exploration tool. BEReX integrates eight popular databases (STRING, DrugBank, KEGG, PharmGKB, BioGRID, GO, HPRD, and MSigDB) and delineates an integrated network by combining the information available from these databases. Users search the integrated network by entering keywords and BEReX returns a sub-network matching the keywords. [...]]]></description>
				<content:encoded><![CDATA[<table width="750" border="0">
<tbody>
<tr>
<td colspan="2"> BEReX is a new biomedical knowledge integration, search, and exploration tool. BEReX integrates eight popular databases (STRING, DrugBank, KEGG, PharmGKB, BioGRID, GO, HPRD, and MSigDB) and delineates an integrated network by combining the information available from these databases. Users search the integrated network by entering keywords and BEReX returns a sub-network matching the keywords. The resulting graph can be explored interactively. BEReX allows users to find the shortest paths between two remote nodes; find the most relevant drugs, diseases, pathways and so on, related to the current network; expand the network by particular types of entities and relations; and modify the network by removing or adding selected nodes. BEReX is implemented as a stand-alone Java application.</p>
<p><center></center></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<h4>1. Program availability and requirements</h4>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<ul>
<li>Operating systems : <strong>Windows, Mac, Linux</strong></li>
<li>Java runtime : <strong>JRE6 or higher is need to run the application</strong></li>
</ul>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<h4>2. Installation</h4>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<ul>
<li>Install <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"><strong>JRE</strong></a>(skip this step if you have JRE 6 or later, or JDK 1.6 or later)</li>
<li>Download BEReX (v.1.0) and unzip the package file:
<ol>
<li>Windows : <a href="http://infos.korea.ac.kr/berex/Windows/berex-v1-windows.zip"><strong><span style="text-decoration: underline;">berex-v1-windows.zip(184MB)</span></strong></a></li>
<li>Mac : <a href="http://infos.korea.ac.kr/berex/Mac/berex-v1-mac.zip"><strong><span style="text-decoration: underline;">berex-v1-mac.zip(184MB)</span></strong></a></li>
<li>Linux : <a href="http://infos.korea.ac.kr/berex/Linux/berex-v1-linux.zip"><strong><span style="text-decoration: underline;">berex-v1-linux.zip(184MB)</span></strong></a></li>
</ol>
</li>
<li>Run <strong>BEReX.bat (for Windows) or BEReX.sh.command (for Mac) or BEReX.sh (for Linux)</strong></li>
<li>Please cite the following article when using BEReX.
<ul>
<li>Jeon,M., Lee,S., Lee,K., Tan,A., Kang,J.; BEReX: Biomedical Entity-Relationship eXplorer. Bioinformatics (2013) doi: 10.1093/bioinformatics/btt598</li>
</ul>
</li>
</ul>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<h4>3. Documentation</h4>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">User Guide : <a href="http://infos.korea.ac.kr/berex/berex_userguide.pdf"><strong><span style="text-decoration: underline;">BEReX v1.0 User Guide</span></strong></a></td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<h4>4. Souce Code</h4>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">Source Code : <a href="http://infos.korea.ac.kr/berex/berex_sourcecode.zip"><strong><span style="text-decoration: underline;">berex_sourcecode.zip</span></strong></a></td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<h4>5. License</h4>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2">BEReX is licensed under the GNU General Public License and is 100% freely available to both commercial and academic users. See the file LICENSE.txt in the BEReX distribution package or this URL for the full text of the license: <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a></td>
</tr>
<tr>
<td colspan="2">&nbsp;</p>
<h4>6. Contact &#8211; for bugs, comments and questions</h4>
<p>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><strong>Minji Jeon: mjjeon@korea.ac.kr<br />
Jaewoo Kang: kangj@korea.ac.kr<br />
</strong></td>
</tr>
<tr>
<td colspan="2">
<p><strong>Last updated on Sep 25, 2013</strong></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=844</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>multiple sequence alignment software</title>
		<link>http://www.biofacebook.com/?p=807</link>
		<comments>http://www.biofacebook.com/?p=807#comments</comments>
		<pubDate>Fri, 09 Aug 2013 03:48:54 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=807</guid>
		<description><![CDATA[<p>PAGAN is a general-purpose method for the alignment of sequence graphs. It includes e.g.:</p> phylogenetic multiple sequence alignment alignment extension by phylogenetic sequence placement modelling of Roche 454 sequencing error alignment and placement of NGS sequences pileup alignment of similar/noisy NGS reads or sequences inference of ancestral sequences <p>&#160;</p> <p>PAGAN documentation is available at the [...]]]></description>
				<content:encoded><![CDATA[<p>PAGAN is a general-purpose method for the alignment of sequence graphs. It includes e.g.:</p>
<ul>
<li>phylogenetic multiple sequence alignment</li>
<li>alignment extension by phylogenetic sequence placement</li>
<li>modelling of Roche 454 sequencing error</li>
<li>alignment and placement of NGS sequences</li>
<li>pileup alignment of similar/noisy NGS reads or sequences</li>
<li>inference of ancestral sequences</li>
</ul>
<p>&nbsp;</p>
<p>PAGAN documentation is available at the <a href="http://code.google.com/p/pagan-msa/wiki/PAGAN">Wiki page</a>. PAGAN source code is available <a href="http://code.google.com/p/pagan-msa/source/checkout" rel="nofollow">with git</a>.</p>
<p>PAGAN is under development. If you have questions, comments or suggestions how to improve the method, please post them through the<a href="http://groups.google.com/group/pagan-msa" rel="nofollow">PAGAN discussion group</a>. Bug reports can be entered through the <a href="http://code.google.com/p/pagan-msa/issues" rel="nofollow">Issues page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=807</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>awk 一些简单的用法</title>
		<link>http://www.biofacebook.com/?p=785</link>
		<comments>http://www.biofacebook.com/?p=785#comments</comments>
		<pubDate>Thu, 25 Jul 2013 02:53:01 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[bioinformatics]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=785</guid>
		<description><![CDATA[<p># 打印每行，并删除第二列</p> awk &#8216;{ $2 = &#8220;&#8221;; print }&#8217; file1 awk &#8216;{ $2 = &#8220;&#8221;;$1 = &#8220;&#8221;; print }&#8217; test1 ＃ 打印部分文本 <p>bash-3.2$ # 打印文件的前十行 （模拟 &#8220;head&#8221;）</p> <p>&#160;</p> <p>bash-3.2$ awk &#8216;NR &#60; 11&#8242; test1</p> <p>&#160;</p> <p>&#160;</p> <p># 打印文件的最后两行 （模拟 &#8220;tail -2&#8243;）</p> <p>awk &#8216;{y=x &#8220;\n&#8221; $0; x=$0};END{print y}&#8217;</p> <p>&#160;</p> <p># 打印文件的最后一行 （模拟 &#8220;tail -1&#8243;）</p> <p>awk &#8216;END{print}&#8217;</p> [...]]]></description>
				<content:encoded><![CDATA[<p># 打印每行，并删除第二列</p>
<ul>
<li>awk &#8216;{ $2 = &#8220;&#8221;; print }&#8217; file1</li>
<li>awk &#8216;{ $2 = &#8220;&#8221;;$1 = &#8220;&#8221;; print }&#8217; test1</li>
</ul>
<div><span style="color: #444444; font-size: x-large;">＃ 打印部分文本</span></div>
<div>
<p><span style="color: #444444; font-size: x-large;">bash-3.2$ # 打印文件的前十行 （模拟 &#8220;head&#8221;）</span></p>
<p>&nbsp;</p>
<p>bash-3.2$ awk &#8216;NR &lt; 11&#8242; test1</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em>#</em> 打印文件的最后两行 （模拟 <em>&#8220;tail -2&#8243;</em>）</p>
<p><em>awk &#8216;{y=x &#8220;\n&#8221; $0; x=$0};END{print y}&#8217;</em></p>
<p>&nbsp;</p>
<p><em>#</em> 打印文件的最后一行 （模拟 <em>&#8220;tail -1&#8243;</em>）</p>
<p><em>awk &#8216;END{print}&#8217;</em></p>
<p>&nbsp;</p>
<p><em>#</em> 打印第<em>5</em>列等于<em>&#8220;abc123&#8243;</em>的行</p>
<p><em>awk &#8216;$5 == &#8220;abc123&#8243;&#8216; file1</em></p>
<p>&nbsp;</p>
<p><em>#</em> 打印指定行之间的内容 （<em>8-12</em>行<em>,</em> 包括第<em>8</em>和第<em>12</em>行）</p>
<p><em>awk &#8216;NR==8,NR==12&#8242;</em></p>
<p>&nbsp;</p>
<p>＃ 打印<em>2,3</em>列</p>
<p>✓ awk &#8216;{print $2, $3}&#8217; file1 &gt; file2</p>
<p>&nbsp;</p>
<p># 打印每行的最后一列</p>
<p>awk &#8216;{ print $NF }&#8217;</p>
<p>&nbsp;</p>
<p># 打印最后一行的最后一列</p>
<p>awk &#8216;{ field = $NF }; END{ print field }&#8217;</p>
<p>&nbsp;</p>
<p># 打印列数超过4的行</p>
<p>awk &#8216;NF &gt; 4&#8242;</p>
<p>&nbsp;</p>
<p># 打印最后一列大于4的行</p>
<p>awk &#8216;$NF &gt; 4&#8242;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><wbr></wbr></p>
<p>选择性的删除某些行：</p>
<p>&nbsp;</p>
<p><em>#</em> 删除所有空白行 （类似于 <em>&#8220;grep &#8216;.&#8217; &#8220;</em>）</p>
<p><em>awk NF</em></p>
<p><em>awk &#8216;/./&#8217;</em></p>
<p>&nbsp;</p>
<p><em>#</em> 删除重复连续的行 （模拟 <em>&#8220;uniq&#8221;</em>）</p>
<p><em>awk &#8216;a !~ $0; {a=$0}&#8217;</em></p>
<p>&nbsp;</p>
<p><em>#</em> 删除重复的、非连续的行</p>
<p><em>awk &#8216;! a[$0]++&#8217; <wbr></wbr></em> <em> <wbr>  <wbr>  <wbr>  <wbr>  <wbr>  <wbr>  <wbr>  <wbr>  <wbr> #</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></em> 最简练</p>
<p><em>awk &#8216;!($0 in a) {a[$0];print}&#8217;</em><em> <wbr>  <wbr>  <wbr> #</wbr></wbr></wbr></em> 最有效</p>
<p>&nbsp;</p>
<p><wbr></wbr></p>
<p>文本间隔：</p>
<p>&nbsp;</p>
<p># 每行后面增加一行空行</p>
<p>awk &#8216;1;{print &#8220;&#8221;}&#8217;</p>
<p>awk &#8216;BEGIN{ORS=&#8221;\n\n&#8221;};1&#8242;</p>
<p>&nbsp;</p>
<p># 每行后面增加两行空行</p>
<p>awk &#8216;1;{print &#8220;\n&#8221;}&#8217;</p>
<p>&nbsp;</p>
<p><wbr></wbr></p>
<p># 以文件为单位，在每句行前加上编号 （左对齐）</p>
<p># 使用制表符 （\t） 来代替空格可以有效保护页变的空白。</p>
<p>awk &#8216;{print FNR &#8220;\t&#8221; $0}&#8217; files*</p>
<p>&nbsp;</p>
<p>其中，0为显示所有列；亦可用1,2来显示1,2列</p>
<p>awk &#8216;{print FNR &#8220;\t&#8221; $1,$2}&#8217; test1</p>
<p>&nbsp;</p>
<p># 用制表符 （\t） 给所有文件加上连贯的编号。</p>
<p>awk &#8216;{print NR &#8220;\t&#8221; $0}&#8217; files*</p>
<p>&nbsp;</p>
<p># 计算行数 （模拟 &#8220;wc -l&#8221;）</p>
<p>awk &#8216;END{print NR}&#8217;</p>
<p>&nbsp;</p>
<p><wbr></wbr></p>
<p>＃ 计算每行之和：</p>
<p>awk &#8216;{s=0; for (i=1; i&lt;=NF; i++) s=s+$i; print s}&#8217; file1</p>
<p>＃＃其中，｛｝内同c语句。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p># 打印每行每区域的绝对值</p>
<p>awk &#8216;{for (i=1; i&lt;=NF; i++) if ($i &lt; 0) $i = -$i; print }&#8217;</p>
<p>awk &#8216;{for (i=1; i&lt;=NF; i++) $i = ($i &lt; 0) ? -$i : $i; print }&#8217;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p># 计算所有行所有区域 行数乘以列数</p>
<p>awk &#8216;{ total = total + NF }; END {print total}&#8217; file</p>
<div></div>
<div></div>
<div>＃替换</div>
<div>
<p><em>#</em> 每行用 <em>&#8220;bar&#8221;</em> 查找替换 <em>&#8220;foo&#8221;</em></p>
<p><em>awk &#8216;{sub(/foo/,&#8221;bar&#8221;)}; 1&#8242; <wbr>  <wbr>  <wbr>  <wbr>  <wbr> #</wbr></wbr></wbr></wbr></wbr></em> 仅仅替换第一个找到的<em>&#8220;foo&#8221;</em></p>
<p><em>gawk &#8216;{$0=gensub(/foo/,&#8221;bar&#8221;,4)}; 1&#8242; #</em> 仅仅替换第四个找到的<em>&#8220;foo&#8221;</em></p>
<p><em>awk &#8216;{gsub(/foo/,&#8221;bar&#8221;)}; 1&#8242; <wbr>  <wbr>  <wbr>  <wbr>  <wbr> #</wbr></wbr></wbr></wbr></wbr></em> 全部替换</p>
<p>&nbsp;</p>
<p><em>#</em> 在包含 <em>&#8220;baz&#8221;</em> 的行里，将 <em>&#8220;foo&#8221;</em> 替换为 <em>&#8220;bar&#8221;</em></p>
<p><em>awk &#8216;/baz/{gsub(/foo/, &#8220;bar&#8221;)}; 1&#8242;</em></p>
<p>&nbsp;</p>
<p><em>#</em> 在不包含 <em>&#8220;baz&#8221;</em> 的行里，将 <em>&#8220;foo&#8221;</em> 替换为 <em>&#8220;bar&#8221;</em></p>
<p><em>awk &#8216;!/baz/{gsub(/foo/, &#8220;bar&#8221;)}; 1&#8242;</em></p>
<p>&nbsp;</p>
<p><em>#</em> 将 <em>&#8220;scarlet&#8221;</em> 或者 <em>&#8220;ruby&#8221;</em> 或者 <em>&#8220;puce&#8221;</em> 替换为 <em>&#8220;red&#8221;</em></p>
<p><em>awk &#8216;{gsub(/scarlet|ruby|puce/, &#8220;red&#8221;)}; 1&#8242;</em></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=785</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cake: a bioinformatics pipeline for the integrated analysis of somatic variants in cancer genomes.</title>
		<link>http://www.biofacebook.com/?p=783</link>
		<comments>http://www.biofacebook.com/?p=783#comments</comments>
		<pubDate>Thu, 25 Jul 2013 01:42:57 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=783</guid>
		<description><![CDATA[<p>&#160;</p> Description <p>&#160;</p> <p id="description">Cake is a bioinformatics tool to identify putative somatic mutations from cancer genome/exome data. Cake combines somatic calls from a number of publicly available SNP/somatic variant calling tools with an array of variant filtering modules to discard unwanted</p> <p>&#160;</p> <p>http://sourceforge.net/projects/cakesomatic/</p> ]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<header>
<h2>Description</h2>
</header>
<p>&nbsp;</p>
<p id="description">Cake is a bioinformatics tool to identify putative somatic mutations from cancer genome/exome data. Cake combines somatic calls from a number of publicly available SNP/somatic variant calling tools with an array of variant filtering modules to discard unwanted</p>
<p>&nbsp;</p>
<p><a href="http://sourceforge.net/projects/cakesomatic/">http://sourceforge.net/projects/cakesomatic/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=783</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading the NCBI&#8217;s GEO microarray SOFT files in R/BioConductor</title>
		<link>http://www.biofacebook.com/?p=774</link>
		<comments>http://www.biofacebook.com/?p=774#comments</comments>
		<pubDate>Thu, 23 May 2013 02:47:38 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[生物信息]]></category>
		<category><![CDATA[生物芯片]]></category>
		<category><![CDATA[bioinformatics]]></category>
		<category><![CDATA[microarry]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=774</guid>
		<description><![CDATA[<p>http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/</p> <p>This page discusses how to load GEO SOFT format microarray data from the Gene Expression Omnibus database (GEO) (hosted by the NCBI) into R/BioConductor. SOFT stands for Simple Omnibus Format in Text. There are actually four types of GEO SOFT file available:</p> <p>GEO Platform (GPL) These files describe a particular type of microarray. They [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/">http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/</a></p>
<p>This page discusses how to load <a href="http://www.ncbi.nlm.nih.gov/projects/geo/info/soft2.html#SOFTformat">GEO SOFT format</a> microarray data from the <a href="http://www.ncbi.nlm.nih.gov/geo/">Gene Expression Omnibus database (GEO)</a> (hosted by the <a href="http://www.ncbi.nlm.nih.gov/">NCBI</a>) into R/BioConductor. SOFT stands for <em>Simple Omnibus Format in Text</em>. There are actually four types of GEO SOFT file available:</p>
<p><strong>GEO Platform (GPL)</strong><br />
These files describe a particular type of microarray. They are annotation files.</p>
<p><strong>GEO Sample (GSM)</strong><br />
Files that contain all the data from the use of a single chip. For each gene there will be multiple scores including the main one, held in the VALUE column.</p>
<p><strong>GEO Series (GSE)</strong><br />
Lists of GSM files that together form a single experiment.</p>
<p><strong>GEO Dataset (GDS)</strong><br />
These are curated files that hold a summarised combination of a GSE file and its GSM files. They contain normalised expression levels for each gene from each sample (i.e. just the VALUE field from the GSM file).</p>
<p>As long as you just need the expression level then a GDS file will suffice. If you need to dig deeper into how the expression levels were calculated, you&#8217;ll need to get all the GSM files instead (which are listed in the GDS or GSE file).</p>
<p>To me, it was natural to ask: How can I turn a GEO DataSet (GDS file) into an R/BioConductor expression set object (exprSet)? (<a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/#GDS">answer</a>) And while we&#8217;re at it, how to load the GEO Platform annotation (GPL file) too? (<a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/#GPL">answer</a>)</p>
<p>In the <a href="http://www2.warwick.ac.uk/fac/sci/moac/degrees/modules/ch923/bioconductor/2005-06/data/">MOAC Module 5 assignment</a>, the approach taken was to sanitize the data by hand, allowing it to be loaded into R with a simple call to the <tt>read.table</tt> command. Its a good idea to look at the raw files to understand what you are dealing with, but surely there is a more elegant way&#8230;</p>
<p>It turns out there are several <a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/other/">existing GEO parsers</a>, but one stands out above all others: Sean Davis&#8217;<a href="http://www.bioconductor.org/packages/bioc/1.8/html/GEOquery.html">GEOquery</a> (released roughly December 2005).</p>
<p><a name="GEOquery"></a></p>
<h2>Installing GEOquery</h2>
<p>Assuming you are running a recent version of BioConductor (1.8 or later) you should be able to install it from within R as follows:</p>
<pre><tt>&gt; source("http://www.bioconductor.org/biocLite.R") &gt; biocLite("GEOquery") Running bioCLite version 0.1.6 with R version 2.3.1 ...</tt></pre>
<p>For those of you on an older version of BioConductor, you will have to download and install it by hand from<a href="http://www.bioconductor.org/packages/bioc/1.8/html/GEOquery.html">here</a>.</p>
<p>If you are using Windows, download <tt>GEOquery_1.6.0.zip</tt> (or similar) and save it. Then from within the R program, use the menu option &#8220;Packages&#8221;, &#8220;Install package(s) from local zip files&#8230;&#8221; and select the ZIP file.</p>
<p>On Linux, download <tt>GEOquery_1.6.0.tar.gz</tt> (or similar) and use <tt>sudo R CMD INSTALL GEOquery_1.6.0.tar.gz</tt> at the command prompt.</p>
<p><a name="GDS"></a></p>
<h2>Loading a GDS file with GEOquery</h2>
<p>Here is a quick introduction to how to load a GDS file, and turn it into an expression set object:</p>
<pre><tt>library(Biobase) library(GEOquery) #Download GDS file, put it in the current directory, and load it: gds858 &lt;- getGEO('GDS858', destdir=".") #Or, open an existing GDS file (even if its compressed): gds858 &lt;- getGEO(filename='GDS858.soft.gz')</tt></pre>
<p>I&#8217;m using <a href="http://www.ncbi.nlm.nih.gov/geo/gds/gds_browse.cgi?gds=858">GDS858</a> as input. The SOFT file is available in compressed form here <a href="ftp://ftp.ncbi.nih.gov/pub/geo/data/gds/soft_gz/GDS858.soft.gz">GDS858.soft.gz</a>, but GEOquery takes care of finding this file for you and unzipping it automatically.</p>
<p>Loading this file from the hard disk takes about two minutes on my laptop.</p>
<p>There are two main things the GDS object gives us, meta data (from the file header) and a table of expression data. These are extracted using the <tt>Meta</tt> and <tt>Table</tt> functions. First lets have a look at the metadata:</p>
<pre><tt>&gt; Meta(gds858)$channel_count [1] "1" &gt; Meta(gds858)$description [1] "Comparison of lung epithelial Calu-3 cells infected ..." &gt; Meta(gds858)$feature_count [1] "22283" &gt; Meta(gds858)$platform [1] "GPL96" &gt; Meta(gds858)$sample_count [1] "19" &gt; Meta(gds858)$sample_organism [1] "Homo sapiens" &gt; Meta(gds858)$sample_type [1] "cDNA" &gt; Meta(gds858)$title [1] "Mucoid and motile Pseudomonas aeruginosa infected lung epithelial cell comparison" &gt; Meta(gds858)$type [1] "gene expression array-based"</tt></pre>
<p>Useful stuff, and now the expression data table:</p>
<pre><tt>&gt; colnames(Table(gds858)) [1] "ID_REF" "IDENTIFIER" "GSM14498" "GSM14499" "GSM14500" [6] "GSM14501" "GSM14513" "GSM14514" "GSM14515" "GSM14516" [11] "GSM14506" "GSM14507" "GSM14508" "GSM14502" "GSM14503" [16] "GSM14504" "GSM14505" "GSM14509" "GSM14510" "GSM14511" [21] "GSM14512" &gt; Table(gds858)[1:10,1:6] ID_REF IDENTIFIER GSM14498 GSM14499 GSM14500 GSM14501 1 1007_s_at U48705 3736.9 3811.0 3699.6 3897.6 2 1053_at M87338 343.0 500.3 288.3 341.3 3 117_at X51757 120.9 34.3 145.8 110.5 4 121_at X69699 1523.8 1281.1 1281.9 1493.4 5 1255_g_at L36861 51.6 15.9 45.9 8.1 6 1294_at L13852 253.2 164.8 200.0 205.2 7 1316_at X55005 199.6 250.7 290.3 218.6 8 1320_at X79510 81.7 13.4 13.9 88.7 9 1405_i_at M21121 18.9 5.6 11.0 9.5 10 1431_at J02843 99.7 74.5 72.6 114.8</tt></pre>
<p>Now, lets turn this GDS object into an expression set object (using base 2 logarithms) and have a look at it:</p>
<pre><tt>&gt; eset &lt;- GDS2eSet(gds858, do.log2=TRUE) &gt; eset Expression Set (exprSet) with 22283 genes 19 samples phenoData object with 4 variables and 19 cases varLabels : sample : infection : genotype/variation : description &gt; geneNames(eset)[1:10] [1] "1007_s_at" "1053_at" "117_at" "121_at" "1255_g_at" [6] "1294_at" "1316_at" "1320_at" "1405_i_at" "1431_at" &gt; sampleNames(eset) [1] "GSM14498" "GSM14499" "GSM14500" "GSM14501" "GSM14513" [6] "GSM14514" "GSM14515" "GSM14516" "GSM14506" "GSM14507" [11] "GSM14508" "GSM14502" "GSM14503" "GSM14504" "GSM14505" [16] "GSM14509" "GSM14510" "GSM14511" "GSM14512"</tt></pre>
<p>GEOquery does an excellent job of extracting the phenotype data, as you can see:</p>
<pre><tt>&gt; pData(eset)$infection [1] FRD1 FRD1 FRD1 FRD1 FRD440 [6] FRD440 FRD440 FRD440 FRD875 FRD875 [11] FRD875 FRD875 FRD1234 FRD1234 FRD1234 [16] uninfected uninfected uninfected uninfected Levels: FRD1 FRD1234 FRD440 FRD875 uninfected &gt; pData(eset)$"genotype/variation" [1] control control [3] control control [5] mucoid mucoid [7] mucoid mucoid [9] motile motile [11] motile motile [13] non-mucoid, non-motile non-mucoid, non-motile [15] non-mucoid, non-motile non-mucoid, non-motile [17] non-mucoid, non-motile non-mucoid, non-motile [19] non-mucoid, non-motile Levels: control motile mucoid non-mucoid, non-motile</tt></pre>
<p>As with any expression set object, its easy to pull out a subset of the data:</p>
<pre><tt>&gt; eset["1320_at","GSM14504"] Expression Set (exprSet) with 1 genes 1 samples phenoData object with 4 variables and 1 cases varLabels : sample : infection : genotype/variation : description &gt; exprs(eset["1320_at","GSM14504"]) GSM14504 1320_at 6.70044</tt></pre>
<p>You should be able to produce a heatmap of differentially expressed genes easily enough <a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/heatmap/">using this page</a>, especially as the phenotype/sub-sample information has been sorted out for you.</p>
<p><a name="GPL"></a></p>
<h2>Loading a GPL (Annotation) file with GEOquery</h2>
<p>In addition to loading a GDS file to get the expression levels, you can also load the associated platform annotation file. You can find this out from the GDS858 meta information:</p>
<pre><tt>&gt; Meta(gds858)$platform [1] "GPL96"</tt></pre>
<p>So, for <a href="http://www.ncbi.nlm.nih.gov/geo/gds/gds_browse.cgi?gds=858">GDS858</a>, the platform is <a href="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL96">GPL96, Affymetrix GeneChip Human Genome U133 Array Set HG-U133A</a>.</p>
<p>Now let&#8217;s load up the GPL file and have a look at it (its a big file, about 12 MB, so this takes a while!):</p>
<pre><tt>library(Biobase) library(GEOquery) #Download GPL file, put it in the current directory, and load it: gpl96 &lt;- getGEO('GPL96', destdir=".") #Or, open an existing GPL file: gpl96 &lt;- getGEO(filename='GPL96.soft')</tt></pre>
<p>As with the GDS object, we can use the <tt>Meta</tt> and <tt>Table</tt> functions to extract information:</p>
<pre><tt>&gt; Meta(gpl96)$title [1] "Affymetrix GeneChip Human Genome U133 Array Set HG-U133A" &gt; colnames(Table(gpl96)) [1] "ID" "Species.Scientific.Name" [3] "Annotation.Date" "GB_LIST" [5] "SPOT_ID" "Sequence.Source" [7] "Representative.Public.ID" "Gene.Title" [9] "Gene.Symbol" "Entrez.Gene" [11] "RefSeq.Transcript.ID" "Gene.Ontology.Biological.Process" [13] "Gene.Ontology.Cellular.Component" "Gene.Ontology.Molecular.Function" </tt></pre>
<p>Lets look at the first four columns, for the first ten genes:</p>
<pre><tt>&gt; Table(gpl96)[1:10,1:4] ID Species.Scientific.Name Annotation.Date GB_LIST 1 1007_s_at Homo sapiens 16-Sep-05 U48705 2 1053_at Homo sapiens 16-Sep-05 M87338 3 117_at Homo sapiens 16-Sep-05 X51757 4 121_at Homo sapiens 16-Sep-05 X69699 5 1255_g_at Homo sapiens 16-Sep-05 L36861 6 1294_at Homo sapiens 16-Sep-05 L13852 7 1316_at Homo sapiens 16-Sep-05 X55005 8 1320_at Homo sapiens 16-Sep-05 X79510 9 1405_i_at Homo sapiens 16-Sep-05 M21121 10 1431_at Homo sapiens 16-Sep-05 J02843 </tt></pre>
<p>This shows a hand picked selection of the columns, again for the first ten genes:</p>
<pre><tt>&gt; Table(gpl96)[1:10,c("ID","GB_LIST","Gene.Title","Gene.Symbol","Entrez.Gene")] ID GB_LIST Gene.Title Gene.Symbol Entrez.Gene 1 1007_s_at U48705 discoidin domain receptor family, member 1 DDR1 780 2 1053_at M87338 replication factor C (activator 1) 2, 40kDa RFC2 5982 3 117_at X51757 heat shock 70kDa protein 6 (HSP70B') HSPA6 3310 4 121_at X69699 paired box gene 8 PAX8 7849 5 1255_g_at L36861 guanylate cyclase activator 1A (retina) GUCA1A 2978 6 1294_at L13852 ubiquitin-activating enzyme E1-like UBE1L 7318 7 1316_at X55005 thyroid hormone receptor, alpha (erythroblastic...) THRA 7067 8 1320_at X79510 protein tyrosine phosphatase, non-receptor type 21 PTPN21 11099 9 1405_i_at M21121 chemokine (C-C motif) ligand 5 CCL5 6352 10 1431_at J02843 cytochrome P450, family 2, subfamily E, polypeptide 1 CYP2E1 1571 </tt></pre>
<p>The above all used the 12MB file <a href="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?targ=self&amp;acc=GPL96&amp;form=text&amp;view=full">GPL96.soft</a>, but you can also get a much smaller 3MB file <tt>GPL96.annot</tt>(compressed as <a href="ftp://ftp.ncbi.nih.gov/pub/geo/data/geo/by_platform/annot/GPL96.annot.gz">GPL96.annot.gz</a>) which has slightly different information in it&#8230; see <a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/geo/other/#GPL">here</a>.</p>
<p><a name="hgu133a"></a></p>
<h2>Using the BioConductor hgu133a package</h2>
<p>Instead of loading the GEO annotation file for <a href="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL96">GPL96/HG-U133A</a>, we could use an existing annotation package from the <a href="http://bioconductor.org/packages/1.8/data/annotation/">BioConductor annotation sets</a>, <a href="http://bioconductor.org/packages/1.8/data/annotation/html/hgu133a.html">hgu133a</a>. These libraries exist for most of the popular microarray gene chips.</p>
<p>First of all, we need to install the package:</p>
<pre><tt>&gt; source("http://www.bioconductor.org/biocLite.R") &gt; biocLite("hgu133a") Running bioCLite version 0.1 with R version 2.1.1 ...</tt></pre>
<p>Then we can load the newly installed library:</p>
<pre><tt>&gt; library(hgu133a)</tt></pre>
<p>There is any easy way to check when this was lasted updated, and what it can translate the Affy probe names into:</p>
<pre><tt>&gt; hgu133a() Quality control information for hgu133a Date built: Created: Tue May 17 13:02:12 2005 Number of probes: 22277 Probe number missmatch: None Probe missmatch: None Mappings found for probe based rda files: hgu133aACCNUM found 22277 of 22277 hgu133aCHRLOC found 20195 of 22277 hgu133aCHR found 21283 of 22277 hgu133aENZYME found 2507 of 22277 hgu133aGENENAME found 18726 of 22277 hgu133aGO found 18647 of 22277 hgu133aLOCUSID found 21747 of 22277 hgu133aMAP found 21183 of 22277 hgu133aOMIM found 15109 of 22277 hgu133aPATH found 5067 of 22277 hgu133aPMID found 21004 of 22277 hgu133aREFSEQ found 21002 of 22277 hgu133aSUMFUNC found 0 of 22277 hgu133aSYMBOL found 21303 of 22277 hgu133aUNIGENE found 21128 of 22277 Mappings found for non-probe based rda files: hgu133aCHRLENGTHS found 25 hgu133aENZYME2PROBE found 663 hgu133aGO2ALLPROBES found 5912 hgu133aGO2PROBE found 4326 hgu133aORGANISM found 1 hgu133aPATH2PROBE found 142 hgu133aPMID2PROBE found 96291</tt></pre>
<p>And now lets test some of those mappings on the fourth gene <tt>121_at</tt> in the GPL file:</p>
<pre><tt>&gt; Table(gpl96)[4,c("ID","GB_LIST","Gene.Title","Gene.Symbol","Entrez.Gene")] ID GB_LIST Gene.Title Gene.Symbol Entrez.Gene 4 121_at X69699 paired box gene 8 PAX8 7849</tt></pre>
<p>Now, what does the annotation file have to say?</p>
<pre><tt>&gt; mget("121_at",hgu133aACCNUM) $"121_at" [1] "X69699" &gt; mget("121_at",hgu133aGENENAME) $"121_at" [1] "paired box gene 8" &gt; mget("121_at",hgu133aSYMBOL) $"121_at" [1] "PAX8" &gt; mget("121_at",hgu133aUNIGENE) $"121_at" [1] "Hs.469728"</tt></pre>
<p>You will notice that there is some overlap between the information in the GEO annotation table, and the<tt>hgu133a</tt> package (which compiles its data from a range of sources). See <tt>help(hgu133a)</tt> .</p>
<p>You should also read this introduction, <a href="http://www.bioconductor.org/repository/devel/vignette/annotate.pdf">Bioconductor: Annotation Package Overview <img src="http://www2.warwick.ac.uk/brands/icons/acrobat.gif" alt="[PDF]" width="16" height="16" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=774</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MrBayes Tree</title>
		<link>http://www.biofacebook.com/?p=761</link>
		<comments>http://www.biofacebook.com/?p=761#comments</comments>
		<pubDate>Thu, 02 May 2013 08:25:11 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>
		<category><![CDATA[TREE]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=761</guid>
		<description><![CDATA[<p>Use clustalw to generate nexus format file</p> <p>#NEXUS BEGIN DATA; dimensions ntax=55 nchar=534; format missing=? symbols=&#8221;ABCDEFGHIKLMNPQRSTUVWXYZ&#8221; interleave datatype=DNA gap= -;</p> <p>Change to as follows: #NEXUS BEGIN DATA; dimensions ntax=55 nchar=534; format datatype=dna interleave=yes gap=- missing=?;</p> <p>then type mb -i *.nex</p> <p>MrBayes > lset nst=6 rates=invgamma</p> <p> Setting Nst to 6 Setting Rates to Invgamma Successfully [...]]]></description>
				<content:encoded><![CDATA[<p>Use clustalw to generate nexus format file</p>
<p>#NEXUS<br />
BEGIN DATA;<br />
dimensions ntax=55 nchar=534;<br />
format missing=?<br />
symbols=&#8221;ABCDEFGHIKLMNPQRSTUVWXYZ&#8221;<br />
interleave datatype=DNA gap= -;</p>
<p><strong>Change to as follows:</strong><br />
#NEXUS<br />
BEGIN DATA;<br />
dimensions ntax=55 nchar=534;<br />
format datatype=dna interleave=yes gap=- missing=?;</p>
<p><strong>then type mb -i *.nex</strong></p>
<p>MrBayes > lset nst=6 rates=invgamma</p>
<p>   Setting Nst to 6<br />
   Setting Rates to Invgamma<br />
   Successfully set likelihood model parameters</p>
<p>MrBayes > mcmc ngen=20000 samplefreq=100 printfreq=100 diagnfreq=1000</p>
<p>   Setting number of generations to 20000<br />
   Setting sample frequency to 100<br />
   Setting print frequency to 100<br />
   Setting diagnosing frequency to 1000<br />
   Running Markov chain<br />
   MCMC stamp = 4956565474<br />
   Seed = 1367482907<br />
   Swapseed = 1367482907<br />
   Model settings:</p>
<p>&#8230;&#8230;&#8230;<br />
MrBayes > sump<br />
Type sump to summarize the parameter values using the same burn-in as<br />
the diagnostics in the mcmc command. The program will output a table with<br />
summaries of the samples of the substitution model parameters, including the<br />
mean, mode, and 95 % credibility interval (region of Highest Posterior Density,<br />
HPD) of each parameter.</p>
<p>MrBayes > sumt<br />
The program will output a cladogram with the posterior<br />
probabilities for each split and a phylogram with mean branch lengths. Both<br />
trees will also be printed to a file that can be read by FigTree and other<br />
tree-drawing programs, such as TreeView and Mesquite.</p>
<p>Note:<br />
If the standard deviation of split frequencies is below 0.01 after 20,000<br />
generations, stop the run by answering no when the program asks Continue the<br />
analysis? (yes/no). Otherwise, keep adding generations until the value falls<br />
below 0.01. If you are interested mainly in the well-supported parts of the tree, a<br />
standard deviation below 0.05 may be adequate.</p>
<p>converting file formats<br />
Having the proper data file format is essential as many programs can only input certain file types. The following are some of the input and output file formats for specific programs.</p>
<p>CLUSTAL file format:<br />
Programs that input this file type: Clustal W/X<br />
Programs that output this file type: Clustal W/X</p>
<p>FASTA file format:<br />
Programs that input this file type: Clustal W/X, MAFFT<br />
Programs that output this file type: Clustal W/X, MAFFT</p>
<p>NEXUS file format:<br />
Programs that input this file type: BEAUti, GARLI, Modeltest, MrBayes, PAUP*<br />
Programs that output this file type: Clustal W/X, PAUP*</p>
<p>PHYLIP file format:<br />
Programs that input this file type: GARLI, LAMARC, Migrate-n, PAML, PHYLIP<br />
Programs that output this file type: Clustal W/X, PAUP*, PHYLIP</p>
<p>PIR file format:<br />
Programs that input this file type: Clustal W/X<br />
Programs that output this file type: Clustal W/X</p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=761</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微生物基因组中的GC-skew(zhuantie)</title>
		<link>http://www.biofacebook.com/?p=759</link>
		<comments>http://www.biofacebook.com/?p=759#comments</comments>
		<pubDate>Mon, 29 Apr 2013 03:11:09 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>
		<category><![CDATA[metagenome]]></category>
		<category><![CDATA[NGS]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=759</guid>
		<description><![CDATA[<p>如果给出两个关键词：生物信息、GC，可能很多人的第一反应是“GC含量”(GC-content)或者“CpG岛”(CpG island)吧。这两个星期开始做非编码RNA(Non-coding RNA)预测(对象是Sinorhizobium meliloti,草木樨中华根瘤菌)，接触到一个以前没听说过的新的“GC理论”：GC-skew.查国内文献，几乎找不到对它的详细介绍（也没有对应的中文翻译，skew有“ 歪，偏， 斜”的意思，通过我对这个理论的理解，就把GC-skew翻译为“GC偏移”吧）。这里翻译一篇Nature上的Review，和大家分享一下。 </p> <p> 微生物基因组中的GC-skew 在大多数细菌基因组中，我们注意到前导链(leading strand)和滞后链(lagging strand)在碱基组成上存在很明显的不同——前导链富含G和T，而滞后链中的A和C更多一些。打破A=T和C=G的碱基频率发生的偏移，被称之为“AT偏移(AT-skew)”和“GC偏移(GC-skew)”。由于通常GC偏移比AT偏移发生的更明显，所以我们更多地只考虑GC偏移。衡量GC偏移的一个方法是延基因序列做一个滑动窗口(sliding window)，计算(G-C)/(G+C)的值并绘图。这个公式给出了G超过C的百分比含量——值为正，则代表的是前导链；值为负，则为滞后链。 （图片来源：Nature.com） 是什么引起了GC偏移呢？我们对此还知之甚少。可能是因为前导链和滞后链在以单链DNA(single-stranded DNA)形态进行复制的时候两者花费的时间不同，所以易受不同的突变压力影响，从而导致暴露在不同的DNA受损环境之中。由于T-G和G-T的碱基互补配对错位(mispair)多于C-A和A-C，所以更容易出错的链(error-prone strand)可能相对地富含G和T.另一个理论依托于胞嘧啶脱氨水解(hydrolytic deamination of cytosine)，这一过程显著地发生在单链DNA之中。复制叉(Replication fork)的非对称结构使得滞后链模板产生暂时性单链，使之更容易发生胞嘧啶脱氨。胞嘧啶脱氨导致生成尿嘧啶，其在复制过程中和鸟嘌呤互补配对，实质是引起了C到T的突变。因此，C到T的脱氨基作用将增加那条链中G和T的百分比含量和其互补链中的C和A的百分比含量。 为什么分析GC偏移很重要呢？因为GC偏移在前导链中是正值而在滞后链中为负值，所以GC偏移值是前导链起点、终点以及转变成滞后链的信号，反之亦然。这使得GC偏移成为在环状染色体(circular chromosomes)中标记起点和终点的一个有用的工具。曲线图中显而易见的局部的变化，可以标记出例如近来反向序列的重组或者与外源DNA的同化。DNA的丢失不会造成GC偏移曲线基本形状的改变，尽管和外部DNA新近的合成可能将会对局部方差产生影响。 实际上，GC偏移的可视化会遭受局部波动的影响。所以最好利用GC偏移的累积量，其值是计算序列中任意某一起点到指定点中相邻滑动窗口GC偏移值的总和。图中所示为Wolinella succinogenes DSM1740基因组的GC偏移值和GC偏移累加值，并表明了GC偏移值如何改变了复制起点和终点的信号。GC偏移累加值分别在这些位置上标记出了最大值和最小值。</p> <p>文章来源：http://www.nature.com/nrmicro/journal/v2/n11/box/nrmicro1024_BX1.html</p> [...]]]></description>
				<content:encoded><![CDATA[<p>如果给出两个关键词：生物信息、GC，可能很多人的第一反应是“GC含量”(<a href="http://en.wikipedia.org/wiki/GC-content" target="_blank">GC-content</a>)或者“CpG岛”(<a href="http://en.wikipedia.org/wiki/CpG_island" target="_blank">CpG island</a>)吧。这两个星期开始做非编码RNA(<a href="http://en.wikipedia.org/wiki/Non-coding_RNA" target="_blank">Non-coding RNA</a>)预测(对象是<em><a href="http://en.wikipedia.org/wiki/Sinorhizobium_meliloti" target="_blank">Sinorhizobium meliloti</a></em>,<a href="http://www.qikan.com.cn/Article/kjsy/kjsy200803/kjsy20080324.html" target="_blank">草木樨中华根瘤菌</a>)，接触到一个以前没听说过的新的“GC理论”：GC-skew.查国内文献，几乎找不到对它的详细介绍（也没有对应的中文翻译，skew有“ <a href="http://www.iciba.com/skew/" target="_blank">歪，偏， 斜</a>”的意思，通过我对这个理论的理解，就把GC-skew翻译为“GC偏移”吧）。这里翻译一篇<a href="http://www.nature.com/" target="_blank">Nature</a>上的<a href="http://www.nature.com/nrmicro/journal/v2/n11/box/nrmicro1024_BX1.html" target="_blank">Review</a>，和大家分享一下。<br />
<strong></strong></p>
<p><strong>                                              微生物基因组中的GC-skew</strong><br />
在大多数细菌基因组中，我们注意到前导链(leading strand)和滞后链(lagging strand)在碱基组成上存在很明显的不同——前导链富含G和T，而滞后链中的A和C更多一些。打破A=T和C=G的碱基频率发生的偏移，被称之为“AT偏移(AT-skew)”和“GC偏移(GC-skew)”。由于通常GC偏移比AT偏移发生的更明显，所以我们更多地只考虑GC偏移。衡量GC偏移的一个方法是延基因序列做一个滑动窗口(sliding window)，计算(G-C)/(G+C)的值并绘图。这个公式给出了G超过C的百分比含量——值为正，则代表的是前导链；值为负，则为滞后链。<br />
<img title="微生物基因组中的GC skew" src="http://www.nature.com/nrmicro/journal/v2/n11/images/nrmicro1024-i1.gif" alt="GC-skew" /><br />
（图片来源：<a href="http://www.nature.com/nrmicro/journal/v2/n11/box/nrmicro1024_BX1.html" target="_blank">Nature.com</a>）<br />
是什么引起了GC偏移呢？我们对此还知之甚少。可能是因为前导链和滞后链在以单链DNA(<a href="http://en.wikipedia.org/w/index.php?title=Single-stranded_DNA&amp;redirect=no" target="_blank">single-stranded DNA</a>)形态进行复制的时候两者花费的时间不同，所以易受不同的突变压力影响，从而导致暴露在不同的DNA受损环境之中。由于T-G和G-T的碱基互补配对错位(mispair)多于C-A和A-C，所以更容易出错的链(error-prone strand)可能相对地富含G和T.另一个理论依托于胞嘧啶脱氨水解(hydrolytic deamination of cytosine)，这一过程显著地发生在单链DNA之中。复制叉(<a href="http://en.wikipedia.org/wiki/Replication_fork" target="_blank">Replication fork</a>)的非对称结构使得滞后链模板产生暂时性单链，使之更容易发生胞嘧啶脱氨。胞嘧啶脱氨导致生成尿嘧啶，其在复制过程中和鸟嘌呤互补配对，实质是引起了C到T的突变。因此，C到T的脱氨基作用将增加那条链中G和T的百分比含量和其互补链中的C和A的百分比含量。<br />
为什么分析GC偏移很重要呢？因为GC偏移在前导链中是正值而在滞后链中为负值，所以GC偏移值是前导链起点、终点以及转变成滞后链的信号，反之亦然。这使得GC偏移成为在环状染色体(<a href="http://en.wikipedia.org/wiki/Circular_bacterial_chromosome" target="_blank">circular chromosomes</a>)中标记起点和终点的一个有用的工具。曲线图中显而易见的局部的变化，可以标记出例如近来反向序列的重组或者与外源DNA的同化。DNA的丢失不会造成GC偏移曲线基本形状的改变，尽管和外部DNA新近的合成可能将会对局部方差产生影响。<br />
实际上，GC偏移的可视化会遭受局部波动的影响。所以最好利用GC偏移的累积量，其值是计算序列中任意某一起点到指定点中相邻滑动窗口GC偏移值的总和。图中所示为<em>Wolinella succinogenes</em> DSM1740基因组的GC偏移值和GC偏移累加值，并表明了GC偏移值如何改变了复制起点和终点的信号。GC偏移累加值分别在这些位置上标记出了最大值和最小值。</p>
<p>文章来源：<a href="http://www.nature.com/nrmicro/journal/v2/n11/box/nrmicro1024_BX1.html" target="_blank">http://www.nature.com/nrmicro/journal/v2/n11/box/nrmicro1024_BX1.html</a></p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=759</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install genometools</title>
		<link>http://www.biofacebook.com/?p=718</link>
		<comments>http://www.biofacebook.com/?p=718#comments</comments>
		<pubDate>Fri, 25 Jan 2013 04:27:52 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[二代测序]]></category>
		<category><![CDATA[bioinformatics]]></category>
		<category><![CDATA[genome]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=718</guid>
		<description><![CDATA[<p></p> <p>the &#8216;new&#8217; error message refers to a nonexistant Cairo library on your system, which is needed for the AnnotationSketch component of GenomeTools. If you do not need this, do a &#8216;make cleanup&#8217; and recompile with the additional make option &#8216;cairo=no&#8217;, e.g. &#8216;make errorcheck=no cairo=no&#8217;. This will disable support for AnnotationSketch and remove the cairo [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.biofacebook.com/wp-content/uploads/2013/01/Screenshot.png"><img class="aligncenter size-large wp-image-719" title="Screenshot" src="http://www.biofacebook.com/wp-content/uploads/2013/01/Screenshot-1024x550.png" alt="" width="640" height="343" /></a></p>
<p>the &#8216;new&#8217; error message refers to a nonexistant Cairo library on your system, which is needed for the AnnotationSketch component of GenomeTools. If you do not need this, do a &#8216;make cleanup&#8217; and recompile with the additional make option &#8216;cairo=no&#8217;, e.g. &#8216;make errorcheck=no cairo=no&#8217;. This will disable support for AnnotationSketch and remove the cairo dependency.</p>
<p>As for your other question, you can use the &#8216;gt suffixerator&#8217; tool as described. However, the &#8216;gt&#8217; binary is placed in the &#8216;bin/&#8217; subdirectory of your GenomeTools source directory after compiling. Please keep that in mind and call &#8216;bin/gt&#8217; if necessary.<br />
You should be able to run the command line exactly as described if you install the &#8216;gt&#8217; binary system-wide (&#8216;make install&#8217;) or add its location to your PATH environment variable.</p>
<p>First, we should also install ruby  and cairo separately !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=718</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DSK: k-mer counting with very low memory usage</title>
		<link>http://www.biofacebook.com/?p=713</link>
		<comments>http://www.biofacebook.com/?p=713#comments</comments>
		<pubDate>Wed, 23 Jan 2013 01:35:07 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=713</guid>
		<description><![CDATA[<p id="p-2">Summary: Counting all the k-mers (substrings of length k) in DNA/RNA sequencing reads is the preliminary step of many bioinformatics applications. However, state of the art k-mer counting methods require that a large data structure resides in memory. Such structure typically grows with the number of distinct k-mers to count.</p> <p id="p-3">We present a [...]]]></description>
				<content:encoded><![CDATA[<p id="p-2"><strong>Summary:</strong> Counting all the <em>k</em>-mers (substrings of length <em>k</em>) in DNA/RNA sequencing reads is the preliminary step of many bioinformatics applications. However, state of the art <em>k</em>-mer counting methods require that a large data structure resides in memory. Such structure typically grows with the number of distinct <em>k</em>-mers to count.</p>
<p id="p-3">We present a new streaming algorithm for <em>k</em>-mer counting, called DSK (<strong>d</strong>isk <strong>s</strong>treaming of <strong>k</strong>-mers), which only requires a fixed, user-defined amount of memory and disk space. This approach realizes a memory, time and disk trade-off. The multi-set of all <em>k</em>-mers present in the reads is partitioned and partitions are saved to disk. Then, each partition is separately loaded in memory in a temporary hash table. The <em>k</em>-mer counts are returned by traversing each hash table. Low-abundance <em>k</em>-mers are optionally filtered.</p>
<p id="p-4">DSK is the first approach that is able to count all the 27-mers of a human genome dataset using only 4.0 GB of memory and moderate disk space (160 GB), in 17.9 hours. DSK can replace a popular <em>k</em>-mer counting software (Jellyfish) on small-memory servers.</p>
<p id="p-5"><strong>Availability:</strong> <a href="http://minia.genouest.org/dsk">http://minia.genouest.org/dsk</a></p>
<p id="p-6"><strong>Contact:</strong> <a href="mailto:rayan.chikhi@ens-cachan.org">rayan.chikhi@ens-cachan.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=713</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to measure codon usage bias</title>
		<link>http://www.biofacebook.com/?p=694</link>
		<comments>http://www.biofacebook.com/?p=694#comments</comments>
		<pubDate>Tue, 15 Jan 2013 07:53:16 +0000</pubDate>
		<dc:creator><![CDATA[szypanther]]></dc:creator>
				<category><![CDATA[My project]]></category>
		<category><![CDATA[生物信息]]></category>
		<category><![CDATA[bioinformatics]]></category>

		<guid isPermaLink="false">http://www.biofacebook.com/?p=694</guid>
		<description><![CDATA[<p>Codon adaptation index (CAI) is one of them. To examine the CAI value of a gene, a reference table of RSCU (relative synonymous codon usage) values for highly expressed genes is compiled.</p> <p>A software call CodonW, you can download it from: http://codonw.sourceforge.net/. There is also a PhD thesis associated to it.</p> <p>shenzy@shenzy-ubuntu:~/Downloads/CondonW/codonW$ codonw input.dat -all_indices [...]]]></description>
				<content:encoded><![CDATA[<p>Codon adaptation index (CAI) is one of them. To examine the CAI value of a gene, a reference table of RSCU (relative synonymous codon usage) values for highly expressed genes is compiled.</p>
<p>A software call CodonW, you can download it from: <a href="http://www.researchgate.net/go.Deref.html?url=http%3A%2F%2Fcodonw.sourceforge.net%2F" target="_blank">http://codonw.sourceforge.net/</a>. There is also a PhD thesis associated to it.</p>
<p>shenzy@shenzy-ubuntu:~/Downloads/CondonW/codonW$ codonw input.dat -all_indices -c_type 2 -f_type 4 -nomenu</p>
<p>eg:</p>
<p>shenzy@shenzy-ubuntu:/winxp_disk2/shenzy/circos/work$ codonw Dehalococcoidessp.BAV1.cds.fasta.dat -all_indices -c_type 2 -f_type 4 -nomenu</p>
<p><a href="http://www.biofacebook.com/wp-content/uploads/2013/01/aa.png"><img class="aligncenter size-large wp-image-695" title="aa" src="http://www.biofacebook.com/wp-content/uploads/2013/01/aa-1024x176.png" alt="" width="640" height="110" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.biofacebook.com/?feed=rss2&#038;p=694</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
