<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>bioperl / Drkcore</title><link>http://blog.kzfmix.com/bioperl</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Wed, 06 Sep 2006 22:38:36 +0919</lastBuildDate><item><title>BiopythonはbioperlよりもPDBファイルの処理が速かった</title><link>http://blog.kzfmix.com/entry/1157549916</link><description>&lt;p&gt;みんなのpythonも読んだし、フレームワークでも試してみるかと、&lt;a href="http://www.turbogears.org/"&gt;django&lt;/a&gt;とか&lt;a href="http://www.djangoproject.com/"&gt;Turbogears&lt;/a&gt;に手をだしたら、火傷した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml"&gt;http://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www-06.ibm.com/jp/developerworks/linux/060825/j_l-turbogears.shtml"&gt;http://www-06.ibm.com/jp/developerworks/linux/060825/j_l-turbogears.shtml&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;djangoは一通りサンプル動作をさせることができたけど、Turbogearsはコントローラのあたりからさっぱりわからん。 &lt;br /&gt;
いきなりフレームワークは無謀すぎたかなということで、&lt;a href="http://biopython.org/wiki/Main_Page"&gt;Biopython&lt;/a&gt;でも入れて、もう少しpython慣れすることに。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;easy_install&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;

&lt;span class="n"&gt;wget&lt;/span&gt; &lt;span class="n"&gt;http:&lt;/span&gt;&lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;egenix&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="sr"&gt;/files/&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;egenix&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mx&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.0.6&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tar&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gz&lt;/span&gt;
&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt;

&lt;span class="n"&gt;svn&lt;/span&gt; &lt;span class="n"&gt;co&lt;/span&gt; &lt;span class="n"&gt;http:&lt;/span&gt;&lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reportlab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;co&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uk&lt;/span&gt;&lt;span class="sr"&gt;/svn/&lt;/span&gt;&lt;span class="n"&gt;public&lt;/span&gt;&lt;span class="sr"&gt;/reportlab/&lt;/span&gt;&lt;span class="n"&gt;trunk&lt;/span&gt;
&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt;

&lt;span class="n"&gt;wget&lt;/span&gt; &lt;span class="n"&gt;http:&lt;/span&gt;&lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;biopython&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="sr"&gt;/DIST/&lt;/span&gt;&lt;span class="n"&gt;biopython&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.42&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tar&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gz&lt;/span&gt;
&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;easy_installはperlでいうところのcpanコマンドみたいで楽チンです（ちゃんと動けば）。動かないのは地味にダウンロード、展開、setup.pyを行なった。&lt;/p&gt;
&lt;p&gt;さて、インストールも無事に終了したところで、&lt;a href="http://www.bioperl.org/wiki/Main_Page"&gt;bioperl&lt;/a&gt;と比べてみた。比較したのはpdbファイルの処理。というのは、&lt;a href="http://blog.kzfmix.com/entry/1138764466"&gt;FMO用のインプット&lt;/a&gt;作るときに使っているPDBパーザーつまりBio::Structure::IOがやたらと遅く、不満だったからというありがちな理由。&lt;/p&gt;
&lt;p&gt;コードはこんな感じで、&lt;a href="http://www.rcsb.org/pdb/navbarsearch.do?newSearch=yes&amp;amp;isAuthorSearch=no&amp;amp;radioset=All&amp;amp;inputQuickSearch=1fat&amp;amp;image.x=0&amp;amp;image.y=0&amp;amp;image=Search"&gt;1fat&lt;/a&gt;っていうpdbファイル読み込んでCalphaを出力してみた。&lt;/p&gt;
&lt;p&gt;python&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;Bio&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PDB&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PDBParser&lt;/span&gt; &lt;span class="nb"&gt;import&lt;/span&gt; &lt;span class="n"&gt;PDBParser&lt;/span&gt;

&lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;PDBParser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PERMISSIVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;structure&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_structure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;1fat&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;1fat.pdb&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;structure&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_list&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chain&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_list&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;residue&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;chain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_list&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;residue&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;has_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;CA&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                &lt;span class="n"&gt;ca_atom&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;residue&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;CA&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;ca_atom&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_coord&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;perl&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="n"&gt;strict&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nn"&gt;Bio::Structure::&lt;/span&gt;&lt;span class="n"&gt;IO&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$pdb_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;1fat.pdb&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$structio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="nn"&gt;Bio::Structure::&lt;/span&gt;&lt;span class="n"&gt;IO&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;$pdb_file&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                            &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;PDB&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$struc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$structio&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next_structure&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$chain&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$struc&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;get_chains&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$res&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$struc&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;get_residues&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$chain&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$atom&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$struc&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;get_atoms&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$res&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="nb"&gt;join&lt;/span&gt; &lt;span class="s"&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$atom&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;xyz&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;$atom&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;pdb_atomname&lt;/span&gt; &lt;span class="ow"&gt;eq&lt;/span&gt; &lt;span class="s"&gt;&amp;quot; CA &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;        
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;で、ベンチマーク&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$&lt;/span&gt; &lt;span class="nv"&gt;time&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="n"&gt;test&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt;
&lt;span class="n"&gt;real&lt;/span&gt;    &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;m1&lt;/span&gt;&lt;span class="mf"&gt;.161&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="n"&gt;user&lt;/span&gt;    &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;m0&lt;/span&gt;&lt;span class="mf"&gt;.996&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="n"&gt;sys&lt;/span&gt;     &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;m0&lt;/span&gt;&lt;span class="mf"&gt;.116&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;

&lt;span class="nv"&gt;$&lt;/span&gt; &lt;span class="nv"&gt;time&lt;/span&gt; &lt;span class="n"&gt;perl&lt;/span&gt; &lt;span class="n"&gt;pdbtest&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pl&lt;/span&gt;
&lt;span class="n"&gt;real&lt;/span&gt;    &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;m3&lt;/span&gt;&lt;span class="mf"&gt;.183&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="n"&gt;user&lt;/span&gt;    &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;m3&lt;/span&gt;&lt;span class="mf"&gt;.056&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="n"&gt;sys&lt;/span&gt;     &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;m0&lt;/span&gt;&lt;span class="mf"&gt;.044&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;平均とってないけど、何回か実行してみてもpythonのほうがbioperlよりも3倍くらい速かった。bioperlのコードってなんだかなと思うことがままある。pdb_atomnameなんかも4文字で前後にスペース入ってるし。というわけで、SBDD周りのプログラミングはbiopythonのほうが扱いやすい感じがしてる。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/479733665X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/416wPnQ9tWL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;みんなのPython&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    柴田 淳&lt;br /&gt;
    ソフトバンククリエイティブ / ?円 ( 2006-08-22 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;余談だが、Turbogears普通に触れる程度までpython覚えてやる（意地でも）とか思ったので、&lt;a href="http://www.diveintopython.org/"&gt;Dive Into Python&lt;/a&gt;も読み中。&lt;/p&gt;</description><pubDate>Wed, 06 Sep 2006 22:38:36 +0919</pubDate><category>perl</category><category>bioinformatics</category><category>Python</category><category>bioperl</category></item><item><title>BUGJAのWikiはPHP</title><link>http://blog.kzfmix.com/entry/1145626892</link><description>&lt;p&gt;どうでもいいひとにとっては些細なことかもしれんが&lt;a href="http://bugja.sourceforge.jp/"&gt;Bioperl Users Group in Japan&lt;/a&gt;がPHPなのが気になった。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kwiki.org/"&gt;KWIKI&lt;/a&gt;とか&lt;a href="http://fswiki.poi.jp/wiki.cgi"&gt;FreeStyle Wiki&lt;/a&gt;とかのperlなwikiという選択肢はなかったのかにゃ。&lt;/p&gt;
&lt;p&gt;とか思ったら、&lt;a href="http://bioperl.org/wiki/Main_Page"&gt;本家&lt;/a&gt;も&lt;a href="http://www.mediawiki.org/wiki/MediaWiki/ja"&gt;Mediawiki&lt;/a&gt;だからPHPなのね。&lt;/p&gt;
&lt;p&gt;biophpってあんのかな？とかおもったら&lt;a href="http://genephp.sourceforge.net/"&gt;あんのね&lt;/a&gt;、びびった。&lt;/p&gt;
&lt;p&gt;あと、Ajaxとかそんな処理するためにbioprototype.jsとかあればええなぁ。マルチプルアライメントの結果のアミノ酸onmouseoverしたら対応する立体構造の領域がハイライトするとか。そんな素敵なライブラリがあればええかも。&lt;/p&gt;</description><pubDate>Fri, 21 Apr 2006 22:41:32 +0919</pubDate><category>bioperl</category></item><item><title>bioperlがWIKIっとる</title><link>http://blog.kzfmix.com/entry/1138160248</link><description>&lt;p&gt;&lt;a href="http://www.bioperl.org/wiki/Main_Page"&gt;bioperlがWIKIになっとる!&lt;/a&gt;。&lt;a href="http://www.mediawiki.org/wiki/MediaWiki"&gt;MediaWiki&lt;/a&gt;が流行なのかな？&lt;/p&gt;
&lt;p&gt;というより、モジュールリファレンスとかbioperl courseはどこだ？&lt;/p&gt;</description><pubDate>Wed, 25 Jan 2006 12:37:28 +0919</pubDate><category>bioperl</category></item><item><title>colinux(debian)にBioperlとPerlMolをインストール</title><link>http://blog.kzfmix.com/entry/1135049355</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1134996362"&gt;colinux&lt;/a&gt;はtelnetとftpの設定してしまえば、後はpoderosaみたいなターミナルソフトでアクセスだ(colinuxのコンソールは使いづらい)
あとキーボードを日本語対応にしたり、タイムゾーンを変更したりは&lt;a href="http://www2.starcat.ne.jp/~kanocl/colinux/colinuxtips.htm"&gt;ココ&lt;/a&gt;参照だ。&lt;/p&gt;
&lt;p&gt;とりあえず、せっかくdebian入れたことだし、sargeにアップグレードしておく。/etc/apt/source.list変えて、コマンドポチポチするだけダ。apt-getかなり便利と思った。&lt;/p&gt;
&lt;p&gt;さて、Linux側の環境を整えたら、&lt;a href="http://bio.perl.org/"&gt;Bioperl&lt;/a&gt;と&lt;a href="http://www.perlmol.org/"&gt;PerlMol&lt;/a&gt;をインストールするヨ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PerlMol&lt;/li&gt;
&lt;li&gt;オブジェクト指向で化合物とか反応を扱う。酸クロとかの反応用のモジュール作っておくとさらに便利。ただし、蛋白質とかの巨大なものを扱うにはどうじゃろか？今ひとつな気もする。構造立ち上げとかしっかりしてくればかなりいいツールになるんじゃないかと思っている。&lt;/li&gt;
&lt;li&gt;Bioperl&lt;/li&gt;
&lt;li&gt;とりあえずお約束。フォーマット変換とかは便利。ただし、モジュールの質はまちまち。ドキュメントに不備がある場合、直接コードを読むことになるが、そういうモジュールに限って泣きたくなる度が高い。で、結局自分で書いちゃったみたいな。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PerlMolはCPAN経由で入れる。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;&lt;pre&gt;
perl -MCPAN -e 'install PerlMol'
&lt;/pre&gt;&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;BioperlはCPAN経由だとやたらとはまって口が半開きになって、なんでだよチクショーなんてむかつきまくってイカリンコ汁が漏れるので、素直にapt-getで（それが大人スタイル）。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://packages.debian.org/unstable/science/bioperl"&gt;Package: bioperl &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;素直にしこしこapt-get installしましょう。blastとかclustalwなんかも一緒に入れておくと良いですぞ。&lt;/p&gt;</description><pubDate>Tue, 20 Dec 2005 12:29:15 +0919</pubDate><category>bioperl</category><category>colinux</category><category>perlmol</category></item><item><title>Bio::Biblio</title><link>http://blog.kzfmix.com/entry/1133917657</link><description>&lt;p&gt;&lt;a href="http://docs.tdiary.org/ja/?pubmed.rb"&gt;PubMed ID から論文のリファレンスを作成して表示するプラグイン&lt;/a&gt;が欲しいのでbioperlにいい感じのスクリプトが転がってないか調べていたのだが、どうもナサゲ。というより、実はちゃんとみたのが初めてだが、&lt;strong&gt;EBIとbless多め、サンプルスクリプト少な目&lt;/strong&gt;な感じです(biblio関連だけ？)。&lt;/p&gt;
&lt;p&gt;半日ぐらい費やして眺めていたらBio::Biblio*あたりはなんとなくわかったが、フェッチすると&lt;a href="http://industry.ebi.ac.uk/openBQS/"&gt;openBQS&lt;/a&gt;に行ってしまう。-accessでNCBIに変えられるみたいだがイマイチいいサンプルがない。&lt;/p&gt;
&lt;p&gt;bioperlに頼らずEutilsのRESTとXML-Parserでゴリゴリやったほうが早かったが、ワンライナーは便利だ。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
$ perl -MBio::Biblio -e 'print new Bio::Biblio-&gt;get_by_id ("15931766")'
&lt;/blockquote&gt;

&lt;p&gt;というわけで、週末にでもblosxom用のpubmedリファレンス用のプラグインを作ります。&lt;/p&gt;</description><pubDate>Wed, 07 Dec 2005 10:07:37 +0919</pubDate><category>bioperl</category></item><item><title>pubmedプラグイン</title><link>http://blog.kzfmix.com/entry/1133917587</link><description>&lt;p&gt;blosxomで&lt;a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed"&gt;pubmed&lt;/a&gt;の文献リストをってことで、&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&amp;lt;pubmed&amp;gt;
12368254
15949046
15942029
&amp;lt;/pubmed&amp;gt;
&lt;/blockquote&gt;

&lt;p&gt;みたいに書くとpubmedからタイトルとかとってきて表示してくれるプラグインを作ってみた。&lt;/p&gt;
&lt;pubmed&gt;
12368254
15949046
15942029
&lt;/pubmed&gt;

&lt;p&gt;結局NCBIの&lt;a href="http://eutils.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html"&gt;Eutils&lt;/a&gt;を使ってリストを作ってそれをキャッシュするようにした。後は、NCBIの文献情報にリンク張ったり、表示のおかしいとこなおしたりせねばならんが、、、、、&lt;/p&gt;
&lt;p&gt;最近眠い。&lt;/p&gt;</description><pubDate>Wed, 07 Dec 2005 10:06:27 +0919</pubDate><category>blosxom</category><category>bioperl</category></item><item><title>bioperlでproxy</title><link>http://blog.kzfmix.com/entry/1133917412</link><description>&lt;p&gt;こんな感じに設定する。環境変数設定しとけばいいみたいな気もしたし、そういう記述も多かったので、ちょっとはまった。&lt;/p&gt;
&lt;blockquote class="termina"&gt;
use Bio::DB::GenBank;
$gb = new Bio::DB::GenBank;
$gb-&gt;proxy(['http'],'http://proxy:port');
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://oshiete1.goo.ne.jp/kotaeru.php3?q=1485665"&gt;http://oshiete1.goo.ne.jp/kotaeru.php3?q=1485665&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 07 Dec 2005 10:03:32 +0919</pubDate><category>bioperl</category></item></channel></rss>