<?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; Biopython</title>
	<atom:link href="http://www.yelinsky.com/blog/archives/tag/biopython/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yelinsky.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 11:34:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>在Ubuntu中安装Biopython</title>
		<link>http://www.yelinsky.com/blog/archives/388.html</link>
		<comments>http://www.yelinsky.com/blog/archives/388.html#comments</comments>
		<pubDate>Mon, 17 Oct 2011 13:04:20 +0000</pubDate>
		<dc:creator>叶林</dc:creator>
				<category><![CDATA[电脑相关]]></category>
		<category><![CDATA[Biopython]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.yelinsky.com/blog/?p=388</guid>
		<description><![CDATA[Biopython是Python的计算分子生物学和生物信息学工具包，它使得python在生物学数据处理中变得更加强大和高效，在Windows中安装biopython非常简单，下载之后，双击然后一路点下一步就可以了。在Linu... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://biopython.org/" target="_blank">Biopython</a>是<a href="http://www.yelinsky.com/blog/archives/344.html">Python</a>的计算分子生物学和生物信息学工具包，它使得python在生物学数据处理中变得更加强大和高效，在Windows中安装biopython非常简单，下载之后，双击然后一路点下一步就可以了。在Linux中安装有多种方法，以Ubuntu(10.04)为例：</p>
<p>方法一：使用apt-get install方式安装<br />
sudo apt-get install python-biopython<br />
只有一行命令，可是这种方法安装的不是最新版本，很多新的功能不能用，非常不爽，不建议使用这种方法安装。</p>
<p>方法二：使用easy_install安装<br />
（1）安装python-dev，不然会出现Setup script exited with error: command &#8216;gcc&#8217; failed with exit status 1错误<br />
sudo apt-get install python-dev<br />
（2）安装easy_install工具<br />
sudo apt-get install python-setuptools<br />
（3）安装biopython<br />
sudo easy_install -f http://biopython.org/DIST/ biopython  (DIST/和biopython之间有个空格)<br />
（4） 安装Numpy<br />
从http://numpy.scipy.org/下载numpy，现在的最新版本是numpy-1.6.1.tar.gz<br />
tar -xzvpf numpy-1.6.1.tar.gz<br />
cd numpy-1.6.1/<br />
python setup.py build<br />
sudo python setup.py install</p>
<p>还可以继续安装一些其它的dependencies，如flex，ReportLab等等，暂时不装，需要的时候再装也可以。</p>
<p>这里有<a href="http://biopython.org/DIST/docs/install/Installation.html" target="_blank">biopython的详细安装说明</a>，好长的一大篇，看了头会晕。</p>
<center><div>如转载，请以超链接形式注明：转载自：<a title="有个博客" href="http://www.yelinsky.com/blog/">有个博客</a> [ <a rel="bookmark" title="有个博客" href="http://www.yelinsky.com/blog/">http://www.yelinsky.com/blog/</a> ] </div></center><center><div>本文链接地址：<a rel="bookmark" title="在Ubuntu中安装Biopython" href="http://www.yelinsky.com/blog/archives/388.html">http://www.yelinsky.com/blog/archives/388.html</a></div></center>
	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.yelinsky.com/blog/archives/298.html" title="批量Blast小程序 (2010年7月26日)">批量Blast小程序</a> (5)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/344.html" title="功能强大而又简单易学的编程语言Python (2011年2月5日)">功能强大而又简单易学的编程语言Python</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/368.html" title="高通量测序数据分析 (2011年5月28日)">高通量测序数据分析</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/346.html" title="测试了一下编程水平 (2011年2月6日)">测试了一下编程水平</a> (0)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/370.html" title="在亚马逊EC2上部署Apache和Django (2011年6月11日)">在亚马逊EC2上部署Apache和Django</a> (3)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/390.html" title="在Ubuntu中安装Mothur (2011年10月20日)">在Ubuntu中安装Mothur</a> (0)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/319.html" title="动态作图小程序 (2010年9月5日)">动态作图小程序</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/395.html" title="一些高通量测序数据处理软件 (2011年11月13日)">一些高通量测序数据处理软件</a> (8)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/377.html" title="Win7和Ubuntu双系统问题 (2011年8月12日)">Win7和Ubuntu双系统问题</a> (2)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/380.html" title="FASTA文件拆分与合并 (2011年8月22日)">FASTA文件拆分与合并</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.yelinsky.com/blog/archives/388.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>功能强大而又简单易学的编程语言Python</title>
		<link>http://www.yelinsky.com/blog/archives/344.html</link>
		<comments>http://www.yelinsky.com/blog/archives/344.html#comments</comments>
		<pubDate>Sat, 05 Feb 2011 14:30:19 +0000</pubDate>
		<dc:creator>叶林</dc:creator>
				<category><![CDATA[电脑相关]]></category>
		<category><![CDATA[Biopython]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[小程序]]></category>

		<guid isPermaLink="false">http://www.yelinsky.com/blog/archives/344.html</guid>
		<description><![CDATA[Python是一种面向对象、直译式计算机程序设计语言，也是一种功能强大的通用型语言（维基百科）。自从上次写那个批量Blast小程序的时候接触了Python，发现这个玩意儿真是好用，后来还用它弄... ]]></description>
			<content:encoded><![CDATA[<p>Python是一种面向对象、直译式计算机程序设计语言，也是一种功能强大的通用型语言（<a href="http://zh.wikipedia.org/zh-cn/Python" target="_blank">维基百科</a>）。自从上次写那个<a href="http://www.yelinsky.com/blog/archives/298.html" target="_blank">批量Blast小程序</a>的时候接触了Python，发现这个玩意儿真是好用，后来还用它弄了个<a href="http://www.yelinsky.com/blog/archives/319.html">动态作图小程序</a>，最近在处理<a href="http://www.yelinsky.com/blog/archives/327.html" target="_blank">高通量测序</a>数据的时候也一直用Python，越用觉得好用！给大家推荐一下，如果你想快速学一种实用的编程语言用来写小程序或处理数据，就学Python吧。<br />
<span id="more-344"></span><br />
首先，Python非常简单，以Hello World为例：</p>
<pre>Java的Hello World程序一般这么写：
public class Hello
{
    public static void main(String[] args)
    {
        System.out.println("Hello, world!");
    }
}</pre>
<pre>用C++可以这么写:
#include &lt;iostream&gt;
int main(){
    std::cout &lt;&lt; "Hello, world!" &lt;&lt; std::endl;
    return 0;
}</pre>
<pre>而Python只要这样就可以了:
print "Hello, world!"</pre>
<pre>代码非常清晰，一目了然，变量不用声明，直接就可以用。</pre>
<p>其次，Python非常容易上手。如果你使用Windows操作系统，那么只需要到<a href="http://www.python.org/download/" target="_blank">Python官方网站</a> 下载一个Python X.X.X Windows Installer，双击安装。打开IDLE（python GUI）就可以开始编程了。如果你会一点C/C++语言，那么几个小时就可以学会，一点也不夸张。如果你用过Matlab，你还会觉得它和Matlab有几分相似。而Java、C++在开始之前要花很长时间去搭建环境，进行各种设置，比较麻烦。</p>
<p>再次，Python功能非常强大，试试就知道了。</p>
<p>当然，也不能简单的说Python比C++、Java等编程语言好，在很多地方C++、Java还是有明显的优势。此外，还有一种与Python类似的编程语言叫做Perl，与Python有很多共同的优点，不过似乎喜欢Python的人更多一些。</p>
<p>一些关于Python的学习资源：</p>
<p>Python官方网站： <a href="http://www.python.org/" target="_blank">http://www.python.org/</a></p>
<p>Python 绝对简明手册: <a href="http://wiki.woodpecker.org.cn/moin/PyAbsolutelyZipManual" target="_blank">http://wiki.woodpecker.org.cn/moin/PyAbsolutelyZipManual</a></p>
<p>Python生物信息学工具Biopython: <a title="http://biopython.org/wiki/Biopython" href="http://biopython.org/wiki/Biopython" target="_blank">http://biopython.org/wiki/Biopython</a></p>
<center><div>如转载，请以超链接形式注明：转载自：<a title="有个博客" href="http://www.yelinsky.com/blog/">有个博客</a> [ <a rel="bookmark" title="有个博客" href="http://www.yelinsky.com/blog/">http://www.yelinsky.com/blog/</a> ] </div></center><center><div>本文链接地址：<a rel="bookmark" title="功能强大而又简单易学的编程语言Python" href="http://www.yelinsky.com/blog/archives/344.html">http://www.yelinsky.com/blog/archives/344.html</a></div></center>
	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.yelinsky.com/blog/archives/298.html" title="批量Blast小程序 (2010年7月26日)">批量Blast小程序</a> (5)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/278.html" title="酶切位点分析 (2009年9月26日)">酶切位点分析</a> (5)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/346.html" title="测试了一下编程水平 (2011年2月6日)">测试了一下编程水平</a> (0)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/388.html" title="在Ubuntu中安装Biopython (2011年10月17日)">在Ubuntu中安装Biopython</a> (2)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/319.html" title="动态作图小程序 (2010年9月5日)">动态作图小程序</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/380.html" title="FASTA文件拆分与合并 (2011年8月22日)">FASTA文件拆分与合并</a> (1)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/368.html" title="高通量测序数据分析 (2011年5月28日)">高通量测序数据分析</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/370.html" title="在亚马逊EC2上部署Apache和Django (2011年6月11日)">在亚马逊EC2上部署Apache和Django</a> (3)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/395.html" title="一些高通量测序数据处理软件 (2011年11月13日)">一些高通量测序数据处理软件</a> (8)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/404.html" title="Shell编程中的IF语句 (2011年12月20日)">Shell编程中的IF语句</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.yelinsky.com/blog/archives/344.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>批量Blast小程序</title>
		<link>http://www.yelinsky.com/blog/archives/298.html</link>
		<comments>http://www.yelinsky.com/blog/archives/298.html#comments</comments>
		<pubDate>Mon, 26 Jul 2010 06:13:30 +0000</pubDate>
		<dc:creator>叶林</dc:creator>
				<category><![CDATA[生物技术]]></category>
		<category><![CDATA[Bioperl]]></category>
		<category><![CDATA[Biopython]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[小程序]]></category>

		<guid isPermaLink="false">http://www.yelinsky.com/blog/archives/298.html</guid>
		<description><![CDATA[问题是这样的：有很多很多序列，几百条，想大致了解一下这些序列分别是什么样的微生物，如果一条一条去blast，那是相当的累。想找一个工具告诉我每条序列blast结果的前几条的名称是什么... ]]></description>
			<content:encoded><![CDATA[<p>问题是这样的：有很多很多序列，几百条，想大致了解一下这些序列分别是什么样的微生物，如果一条一条去blast，那是相当的累。想找一个工具告诉我每条序列blast结果的前几条的名称是什么即可，不需要其它信息。</p>
<p>在网上找了一下，没找到合适的软件或工具，虽然有些关于批量blast的教程之类的，比如<a href="http://yunbio.com/49" target="_blank">这个</a>，但是给出的结果及其繁琐，很多不需要的信息。</p>
<p>后来发现Biopython可以很简单就进行批量Blast。只需先安装<a href="http://www.yelinsky.com/blog/archives/tag/python">Python</a>和<a href="http://www.yelinsky.com/blog/archives/tag/biopython">Biopython</a>，Python和Biopython的下载地址分别为：<br />
<a href="http://www.python.org/download/" target="_blank">http://www.python.org/download/</a><br />
<a href="http://www.biopython.org/wiki/Download" target="_blank">http://www.biopython.org/wiki/Download</a></p>
<p><span id="more-298"></span>Windows版本下载后直接双击安装即可，非常简单。<br />
然后打开IDLE（Python GUI)，”File”-&gt;”New Window”, 分如下两步进行：</p>
<p>第一步，运行下面的代码进行Blast</p>
<pre>
from Bio.Blast import NCBIWWW
from Bio import SeqIO
SeqNumber = 0
for record in SeqIO.parse("allseq.seq", "fasta"):
  result_handle = NCBIWWW.qblast("blastn", "nr", record.seq)
  SeqNumber += 1
  save_file = open('xml\\'+str(SeqNumber)+'.xml', 'w')
  save_file.write(result_handle.read())
  save_file.close()
  print 'OK ', SeqNumber
print 'OK! Finished!'
</pre>
<p>序列要以fasta格式放在allseq.seq这个文件中，另外需要在当前目录下建一个名字为xml文件夹，代码运行结束后结果放在这个文件夹中。</p>
<p>第二步，列出每条序列blast结果的前几条的名称</p>
<pre>
from Bio.Blast import NCBIXML
import glob
total_xml_file = len(glob.glob('xml\\*.xml'))
for xmlnumber in range(1,total_xml_file+1):
  result_handle = open('xml\\'+str(xmlnumber)+'.xml')
  blast_records = NCBIXML.parse(result_handle)
  blast_record = blast_records.next()
  i = 0
  print '-------------------No.', xmlnumber, '-------------------'
  for alignment in blast_record.alignments:
    if i<10 : ##如果想看前20条结果就该为20
      print alignment.title
    else:
      break
    i+=1
  result_handle.close()
</pre>
<p>如果序列比较多，第一步可能需要很长时间，可以趁程序运行的时候先出去踢踢球或逛逛街，回来之后再运行第二步，第二步很快：）</p>
<p>第一次接触使用Python语言，非常好用，个人感觉要比<a href="http://www.yelinsky.com/blog/archives/tag/perl">Perl</a>好一些，当然Python的生物信息学组件Biopython的可能现在没有<a href="http://www.yelinsky.com/blog/archives/tag/bioperl">Bioperl</a>强大。</p>
<p>上次做了个<a href="http://www.yelinsky.com/blog/archives/227.html">序列文件合并小程序</a>，后来发现用<a href="http://www.yelinsky.com/blog/archives/275.html">Bioedit就可以很简单地进行合并</a>，白忙活了。如果进行批量Blast也有更好的方法，请留言告诉我一下，谢谢 <img src='http://www.yelinsky.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<center><div>如转载，请以超链接形式注明：转载自：<a title="有个博客" href="http://www.yelinsky.com/blog/">有个博客</a> [ <a rel="bookmark" title="有个博客" href="http://www.yelinsky.com/blog/">http://www.yelinsky.com/blog/</a> ] </div></center><center><div>本文链接地址：<a rel="bookmark" title="批量Blast小程序" href="http://www.yelinsky.com/blog/archives/298.html">http://www.yelinsky.com/blog/archives/298.html</a></div></center>
	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.yelinsky.com/blog/archives/344.html" title="功能强大而又简单易学的编程语言Python (2011年2月5日)">功能强大而又简单易学的编程语言Python</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/278.html" title="酶切位点分析 (2009年9月26日)">酶切位点分析</a> (5)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/346.html" title="测试了一下编程水平 (2011年2月6日)">测试了一下编程水平</a> (0)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/388.html" title="在Ubuntu中安装Biopython (2011年10月17日)">在Ubuntu中安装Biopython</a> (2)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/319.html" title="动态作图小程序 (2010年9月5日)">动态作图小程序</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/380.html" title="FASTA文件拆分与合并 (2011年8月22日)">FASTA文件拆分与合并</a> (1)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/368.html" title="高通量测序数据分析 (2011年5月28日)">高通量测序数据分析</a> (4)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/370.html" title="在亚马逊EC2上部署Apache和Django (2011年6月11日)">在亚马逊EC2上部署Apache和Django</a> (3)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/395.html" title="一些高通量测序数据处理软件 (2011年11月13日)">一些高通量测序数据处理软件</a> (8)</li>
	<li><a href="http://www.yelinsky.com/blog/archives/404.html" title="Shell编程中的IF语句 (2011年12月20日)">Shell编程中的IF语句</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.yelinsky.com/blog/archives/298.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

