SlideShare a Scribd company logo
1 of 14
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
BiopythonBiopython
とと PythonPython のご紹介のご紹介
Yasushi MASUDAYasushi MASUDA
ymasuda at cubelab.comymasuda at cubelab.com
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
プログラミング言語プログラミング言語 PythonPython
– (Perl(Perl やや RubyRuby のようなのような )) スクリプト言語スクリプト言語
– 19901990 年ごろから開発,安定したリリース年ごろから開発,安定したリリース
– トリッキーな言語機能より読みやすさ優先トリッキーな言語機能より読みやすさ優先
– C/C++C/C++ ライブラリの組み込みが容易ライブラリの組み込みが容易
– (( 最近は最近は )) 和文ドキュメントが充実している和文ドキュメントが充実している
Python Home
http://python.org/
PyJUG (Japanese UG)
http://python.jp/
def xpdlist(fname):
f = open(fname, 'r')
ret = []
for i in f.readlines():
si = i.strip()
if len(si)>0:
ret.append(si)
return ret
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
バイオインフォマティクスとバイオインフォマティクスと Python (1/3)Python (1/3)
 日々の雑用をこなす日々の雑用をこなす
– csvcsv ,, XMLXML データの読み書きデータの読み書き (csv, xml)(csv, xml)
– パーザの構築パーザの構築 (formatter, re)(formatter, re)
– ディレクトリツリー単位の反復処理,ディレクトリツリー単位の反復処理, zip/tarzip/tar
の読み書きの読み書き
(os.path, zipfile, tarfile)(os.path, zipfile, tarfile)
– HTTPHTTP やや FTPFTP からの反復ダウンロードからの反復ダウンロード
(urllib, ftplib)(urllib, ftplib)
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
バイオインフォマティクスとバイオインフォマティクスと Python (2/3)Python (2/3)
 DBDB サービスの構築サービスの構築
– DBMSDBMS
(PostgreSQL(PostgreSQL ,, MySQLMySQL ,, OracleOracle ,, etc...)etc...) やや
ファイルベースファイルベース DB (Access, FileMaker)DB (Access, FileMaker) の操の操
作作
CGICGI インタフェースの開発インタフェースの開発 (cgi, httpserver)(cgi, httpserver)
XPAK (appeared in GIW2000, Python+PostgreSQL+Python Imaging
Library)
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
バイオインフォマティクスとバイオインフォマティクスと Python (3/3)Python (3/3)
 データの解析や表示データの解析や表示
– CC ライブラリでの数値計算ライブラリでの数値計算
(Numeric/numarray)(Numeric/numarray)
– 画像処理/グラフ化画像処理/グラフ化 (PIL,(PIL,
matplotlib etc)matplotlib etc)
– クロスプラットフォームなクロスプラットフォームな
GUIGUI アプリケーションのアプリケーションの
開発開発
(Tkinter, PyQt, wxPython,(Tkinter, PyQt, wxPython,
etc.)etc.)Spherical Som visualization (Python+
wxPython+VTK, not published)
BL-SOM visualization (Python +Tk+
DDBJ ClastalX, not published)
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
BioPythonBioPython プロジェクトプロジェクト
Jeffrey Chang, Andrew DalkeJeffrey Chang, Andrew Dalke
(Aug 1999)(Aug 1999)
The Biopython ProjectThe Biopython Project
(http://www.biopython.org/) is a(http://www.biopython.org/) is a
new open collaborative effort tonew open collaborative effort to
developdevelop freely available Python
libraries and applicationsand applications thatthat
address the needs of currentaddress the needs of current
and future work inand future work in
bioinformatics, includingbioinformatics, including
sequence analysissequence analysis,, structuralstructural
biologybiology,, pathwayspathways,, expressionexpression
datadata, etc., etc.
Biopython project
http://www.biopython.org/
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
BiopythonBiopython の機能の機能 (1/2)(1/2)
 配列情報の操作配列情報の操作
– 相補鎖,転写,翻訳相補鎖,転写,翻訳
 データファイルの解釈データファイルの解釈
– CDD, ECell, EMBL, Enzyme, FASTA, GenBank,CDD, ECell, EMBL, Enzyme, FASTA, GenBank,
NCBI Geo, Gobase, MASE, MetaTool, InterPro,NCBI Geo, Gobase, MASE, MetaTool, InterPro,
Kabat, KEGG, LocusLink, NBRF/PIR, Affymetirx Cel,Kabat, KEGG, LocusLink, NBRF/PIR, Affymetirx Cel,
NDB, PDB, Prosite, Rebase, SAF, SwissProt, etc..NDB, PDB, Prosite, Rebase, SAF, SwissProt, etc..
 WebWeb サービスへのアクセスサービスへのアクセス
– NCBI (Entrez, BLAST, PubMed), Swiss-Prot, ExPASyNCBI (Entrez, BLAST, PubMed), Swiss-Prot, ExPASy
 スタンドアロンプログラムへのアクセススタンドアロンプログラムへのアクセス
– BLAST, Clustalw, EMBOSS, SVM etc...BLAST, Clustalw, EMBOSS, SVM etc...
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
BiopythonBiopython の機能の機能 (2/2)(2/2)
 汎用の解析アルゴリズ汎用の解析アルゴリズ
ム実装ム実装
 GA, HMM, k-Means, k-GA, HMM, k-Means, k-
NN, naive Bayes, ANN,NN, naive Bayes, ANN,
pairwise alignment, SVDpairwise alignment, SVD
 お絵かきツールお絵かきツール
– Cromosome, PathwayCromosome, Pathway
 SQL DBSQL DB との連携との連携
– BioSQL: BiopythonBioSQL: Biopython のオのオ
ブジェクトをブジェクトを DBDB 化化
0 1
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
いいところばかりではありませんいいところばかりではありません
 ドキュメントの整備がいまひとつドキュメントの整備がいまひとつ
– 各機能の説明がソースコードにしかない各機能の説明がソースコードにしかない
– 入門者向けの機能網羅的な文書がない入門者向けの機能網羅的な文書がない
⇒⇒   もっとドキュメントの充実と整理を!もっとドキュメントの充実と整理を!
 コア開発者のアクティビティコア開発者のアクティビティ
– 進学,就職などで手が離せない進学,就職などで手が離せない (( らしいらしい ))
– メンテナンスの停止しているモジュールがあるメンテナンスの停止しているモジュールがある
⇒⇒   現在,メンテナンス体制を見直し中現在,メンテナンス体制を見直し中
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
情報源とコミュニティ情報源とコミュニティ
 公式ページ公式ページ
– http://www.biopython.org/http://www.biopython.org/
– ダウンロード,マニュアルなどダウンロード,マニュアルなど
 メイリングリストメイリングリスト
– ユーザユーザ : biopython@biopython.org: biopython@biopython.org
– 開発開発 : biopython-dev@biopython.org: biopython-dev@biopython.org
 和訳マニュアル和訳マニュアル
– http://www.cubelab.com/ymasuda/python/biopython/http://www.cubelab.com/ymasuda/python/biopython/
– 坂井俊哉氏,石田貴士氏,増田により翻訳坂井俊哉氏,石田貴士氏,増田により翻訳
– 日本語のメイリングリスト,コミュニティページ日本語のメイリングリスト,コミュニティページ ......
はまだはまだ (( 必要ですか?必要ですか? ))
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
まとめまとめ
 BiopythonBiopython には魅力的な機能が一杯ですには魅力的な機能が一杯です
..
 ぜひぜひ BiopythonBiopython にトライしてみてくださにトライしてみてくださ
い.い.
 BiopythonBiopython はは
あなたを求めていますあなたを求めています !!!!!!
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
例題例題 (1/2)(1/2)
from Bio.WWW import NCBI
# NCBI にクエリを出す
res = NCBI.query('Search', 'PubMed',   term='BioPython',doptcmdl='Summary')
# 結果を読み出してファイルに保存
of = open('outfile.html', 'wb')
of.write(res.read())
of.close()
# ブラウザで表示
import webbrowser
webbrowser.open('outfile.html')
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
例題例題 (2/2)(2/2)
['15336256', '15221224', '15210717', '15186836', '15161048', '15141082', '15133320', '15133034',
...
'6263546', '7426031', '6774736', '229857', '4992780', '5273780']
['Saito A', 'Doi Y', 'Tanaka A', 'Matsuura N', 'Ubukata M', 'Nakajima N'] Systematic synthesis of four
epicatechin series procyanidin trimers and
their inhibitory activity on the Maillard reaction and antioxidant
activity. Bioorg Med Chem 2004 Sep 15;12(18):4783-90.
['Ihara N', 'Kurisawa M', 'Chung JE', 'Uyama H', 'Kobayashi S'] Enzymatic synthesis of a catechin
conjugate of polyhedral oligomeric
...
from Bio.PubMed import Dictionary, search_for
# カテキン合成を PubMed でサーチ
entries = search_for('catechin synthesis')
print entries
from Bio.Medline import RecordParser
# Medline エントリのパーザを作成
recparser = RecordParser()
# 最初の 10 件について, 3 秒ごとにクエリを出し,サーチ結果をパーザで解析して,
# 著者,タイトル,出典を表示
rdict = Dictionary(delay=3.0, parser=recparser)
for e in entries[:10]:
record = rdict[e]
print record.authors, record.title, record.source
Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004
Acknowledgements and CopyrightsAcknowledgements and Copyrights
 資料中に使われているクリップアートワークは,資料中に使われているクリップアートワークは, MicrosoftMicrosoft
OfficeOnlineOfficeOnline クリップアートコレクションをもとに作成しました.クリップアートコレクションをもとに作成しました.
使用条件については使用条件については http://office.microsoft.com/clipart/http://office.microsoft.com/clipart/ をご覧くださいをご覧ください
..
 その他クリップアートを使わない図形や写真,および本文テキストその他クリップアートを使わない図形や写真,および本文テキスト
の著作権は増田泰の著作権は増田泰 (ymasuda at ethercube.com)(ymasuda at ethercube.com) に帰属し,以下のに帰属し,以下の
条件で再配布および改変を認めます.条件で再配布および改変を認めます.Copyright Notice
Copyright Yasushi Masuda, 2004 All Rights Reserved
Permission to use, copy, modify, and distribute this product for any purpose and without fee is hereby granted, provided that above
copyright notice and this permission notice is attached with every copies or distributions.
Disclaimer
Yasushi Masuda (the author hereafter) disclaims all warranties with regard to this product, including all implied warranties of merchantability
and fitness, in no event the author shall be liable for any special, indirect or consequential damages or any damages whatsoever resulting
from loss of use, data or profits, whatever in an action pf contract, negligence or other tortious action, arising out of or in connection with the
use or derivation of this product.
The author makes any warranty, express or implied, or assumes any liability or responsibility for the accuracy, completeness, or usefulness
of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately-owned rights.
Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not
necessarily constitute or imply its endorsement, recommendation, or favoring by the author. The views and opinions of authors expressed
herein do not necessarily state or reflect those of the author, and shall not be used for advertising or product endorsement purposes.
PDF 版は http://www.cubelab.com/ymasuda/python/misc/ で入手できます

More Related Content

What's hot

Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会Tetsuya Morimoto
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Kir Chou
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?Aki Ariga
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところEmma Haruka Iwao
 
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望Lina Katayose
 
2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会虎の穴 開発室
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Yusuke Miyazaki
 
PEP8を読んでみよう
PEP8を読んでみようPEP8を読んでみよう
PEP8を読んでみよう2bo 2bo
 
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツールaoshiman
 
Python 2/3コード共存戦略 #osakapy
Python 2/3コード共存戦略 #osakapyPython 2/3コード共存戦略 #osakapy
Python 2/3コード共存戦略 #osakapy敦志 金谷
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたYusuke Kon
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone teradaManabu Terada
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LTdrillan
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
Python×ドローンについて過去のPyConJP登壇から今までの進化。
Python×ドローンについて過去のPyConJP登壇から今までの進化。Python×ドローンについて過去のPyConJP登壇から今までの進化。
Python×ドローンについて過去のPyConJP登壇から今までの進化。Lina Katayose
 

What's hot (20)

Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
 
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
 
2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
 
PEP8を読んでみよう
PEP8を読んでみようPEP8を読んでみよう
PEP8を読んでみよう
 
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
 
Python 2/3コード共存戦略 #osakapy
Python 2/3コード共存戦略 #osakapyPython 2/3コード共存戦略 #osakapy
Python 2/3コード共存戦略 #osakapy
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone terada
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LT
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
Python×ドローンについて過去のPyConJP登壇から今までの進化。
Python×ドローンについて過去のPyConJP登壇から今までの進化。Python×ドローンについて過去のPyConJP登壇から今までの進化。
Python×ドローンについて過去のPyConJP登壇から今までの進化。
 

Similar to Open bio2004 biopython

Sphinxを用いたBiopythonチュートリアル翻訳
Sphinxを用いたBiopythonチュートリアル翻訳Sphinxを用いたBiopythonチュートリアル翻訳
Sphinxを用いたBiopythonチュートリアル翻訳Kozo Nishida
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)takanori suzuki
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトTetsuya Morimoto
 
過疎集落の再生や地域づくり活動における動画活用
過疎集落の再生や地域づくり活動における動画活用過疎集落の再生や地域づくり活動における動画活用
過疎集落の再生や地域づくり活動における動画活用Takeo Noda
 
Iot2bio2 20160521
Iot2bio2 20160521Iot2bio2 20160521
Iot2bio2 20160521Takao Ikoma
 
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)株式会社MonotaRO Tech Team
 
kintone Cafe Tokyo vol.5/ultra fast recovery
kintone Cafe Tokyo vol.5/ultra fast recoverykintone Cafe Tokyo vol.5/ultra fast recovery
kintone Cafe Tokyo vol.5/ultra fast recoveryTakahiro Kubo
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組みTakayuki Shimizukawa
 
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93Takayuki Shimizukawa
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントMasaki NIWA
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botdcubeio
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Hironori Washizaki
 
Generating word clouds in python
Generating word clouds in pythonGenerating word clouds in python
Generating word clouds in pythonAyakaHonda1
 
Cytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureCytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureKeiichiro Ono
 
A Report on process Assessment for open source projects
A Report on process Assessment for open source projectsA Report on process Assessment for open source projects
A Report on process Assessment for open source projectsKiyoshi Ogawa
 

Similar to Open bio2004 biopython (20)

Sphinxを用いたBiopythonチュートリアル翻訳
Sphinxを用いたBiopythonチュートリアル翻訳Sphinxを用いたBiopythonチュートリアル翻訳
Sphinxを用いたBiopythonチュートリアル翻訳
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
過疎集落の再生や地域づくり活動における動画活用
過疎集落の再生や地域づくり活動における動画活用過疎集落の再生や地域づくり活動における動画活用
過疎集落の再生や地域づくり活動における動画活用
 
Iot2bio2 20160521
Iot2bio2 20160521Iot2bio2 20160521
Iot2bio2 20160521
 
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
 
kintone Cafe Tokyo vol.5/ultra fast recovery
kintone Cafe Tokyo vol.5/ultra fast recoverykintone Cafe Tokyo vol.5/ultra fast recovery
kintone Cafe Tokyo vol.5/ultra fast recovery
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
 
Why python
Why pythonWhy python
Why python
 
Why python
Why pythonWhy python
Why python
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
 
Generating word clouds in python
Generating word clouds in pythonGenerating word clouds in python
Generating word clouds in python
 
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreadingStorm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
 
Cytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureCytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructure
 
Piwik fluentd
Piwik fluentdPiwik fluentd
Piwik fluentd
 
A Report on process Assessment for open source projects
A Report on process Assessment for open source projectsA Report on process Assessment for open source projects
A Report on process Assessment for open source projects
 
osc_tokyo20100226
osc_tokyo20100226osc_tokyo20100226
osc_tokyo20100226
 

More from 泰 増田

PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key泰 増田
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
SQLAlchemy Primer
SQLAlchemy PrimerSQLAlchemy Primer
SQLAlchemy Primer泰 増田
 
Taming robotframework
Taming robotframeworkTaming robotframework
Taming robotframework泰 増田
 
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)泰 増田
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)泰 増田
 

More from 泰 増田 (7)

PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
SQLAlchemy Primer
SQLAlchemy PrimerSQLAlchemy Primer
SQLAlchemy Primer
 
Taming robotframework
Taming robotframeworkTaming robotframework
Taming robotframework
 
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
 
Django boodoo
Django boodooDjango boodoo
Django boodoo
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
 

Open bio2004 biopython

  • 1. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 BiopythonBiopython とと PythonPython のご紹介のご紹介 Yasushi MASUDAYasushi MASUDA ymasuda at cubelab.comymasuda at cubelab.com
  • 2. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 プログラミング言語プログラミング言語 PythonPython – (Perl(Perl やや RubyRuby のようなのような )) スクリプト言語スクリプト言語 – 19901990 年ごろから開発,安定したリリース年ごろから開発,安定したリリース – トリッキーな言語機能より読みやすさ優先トリッキーな言語機能より読みやすさ優先 – C/C++C/C++ ライブラリの組み込みが容易ライブラリの組み込みが容易 – (( 最近は最近は )) 和文ドキュメントが充実している和文ドキュメントが充実している Python Home http://python.org/ PyJUG (Japanese UG) http://python.jp/ def xpdlist(fname): f = open(fname, 'r') ret = [] for i in f.readlines(): si = i.strip() if len(si)>0: ret.append(si) return ret
  • 3. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 バイオインフォマティクスとバイオインフォマティクスと Python (1/3)Python (1/3)  日々の雑用をこなす日々の雑用をこなす – csvcsv ,, XMLXML データの読み書きデータの読み書き (csv, xml)(csv, xml) – パーザの構築パーザの構築 (formatter, re)(formatter, re) – ディレクトリツリー単位の反復処理,ディレクトリツリー単位の反復処理, zip/tarzip/tar の読み書きの読み書き (os.path, zipfile, tarfile)(os.path, zipfile, tarfile) – HTTPHTTP やや FTPFTP からの反復ダウンロードからの反復ダウンロード (urllib, ftplib)(urllib, ftplib)
  • 4. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 バイオインフォマティクスとバイオインフォマティクスと Python (2/3)Python (2/3)  DBDB サービスの構築サービスの構築 – DBMSDBMS (PostgreSQL(PostgreSQL ,, MySQLMySQL ,, OracleOracle ,, etc...)etc...) やや ファイルベースファイルベース DB (Access, FileMaker)DB (Access, FileMaker) の操の操 作作 CGICGI インタフェースの開発インタフェースの開発 (cgi, httpserver)(cgi, httpserver) XPAK (appeared in GIW2000, Python+PostgreSQL+Python Imaging Library)
  • 5. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 バイオインフォマティクスとバイオインフォマティクスと Python (3/3)Python (3/3)  データの解析や表示データの解析や表示 – CC ライブラリでの数値計算ライブラリでの数値計算 (Numeric/numarray)(Numeric/numarray) – 画像処理/グラフ化画像処理/グラフ化 (PIL,(PIL, matplotlib etc)matplotlib etc) – クロスプラットフォームなクロスプラットフォームな GUIGUI アプリケーションのアプリケーションの 開発開発 (Tkinter, PyQt, wxPython,(Tkinter, PyQt, wxPython, etc.)etc.)Spherical Som visualization (Python+ wxPython+VTK, not published) BL-SOM visualization (Python +Tk+ DDBJ ClastalX, not published)
  • 6. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 BioPythonBioPython プロジェクトプロジェクト Jeffrey Chang, Andrew DalkeJeffrey Chang, Andrew Dalke (Aug 1999)(Aug 1999) The Biopython ProjectThe Biopython Project (http://www.biopython.org/) is a(http://www.biopython.org/) is a new open collaborative effort tonew open collaborative effort to developdevelop freely available Python libraries and applicationsand applications thatthat address the needs of currentaddress the needs of current and future work inand future work in bioinformatics, includingbioinformatics, including sequence analysissequence analysis,, structuralstructural biologybiology,, pathwayspathways,, expressionexpression datadata, etc., etc. Biopython project http://www.biopython.org/
  • 7. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 BiopythonBiopython の機能の機能 (1/2)(1/2)  配列情報の操作配列情報の操作 – 相補鎖,転写,翻訳相補鎖,転写,翻訳  データファイルの解釈データファイルの解釈 – CDD, ECell, EMBL, Enzyme, FASTA, GenBank,CDD, ECell, EMBL, Enzyme, FASTA, GenBank, NCBI Geo, Gobase, MASE, MetaTool, InterPro,NCBI Geo, Gobase, MASE, MetaTool, InterPro, Kabat, KEGG, LocusLink, NBRF/PIR, Affymetirx Cel,Kabat, KEGG, LocusLink, NBRF/PIR, Affymetirx Cel, NDB, PDB, Prosite, Rebase, SAF, SwissProt, etc..NDB, PDB, Prosite, Rebase, SAF, SwissProt, etc..  WebWeb サービスへのアクセスサービスへのアクセス – NCBI (Entrez, BLAST, PubMed), Swiss-Prot, ExPASyNCBI (Entrez, BLAST, PubMed), Swiss-Prot, ExPASy  スタンドアロンプログラムへのアクセススタンドアロンプログラムへのアクセス – BLAST, Clustalw, EMBOSS, SVM etc...BLAST, Clustalw, EMBOSS, SVM etc...
  • 8. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 BiopythonBiopython の機能の機能 (2/2)(2/2)  汎用の解析アルゴリズ汎用の解析アルゴリズ ム実装ム実装  GA, HMM, k-Means, k-GA, HMM, k-Means, k- NN, naive Bayes, ANN,NN, naive Bayes, ANN, pairwise alignment, SVDpairwise alignment, SVD  お絵かきツールお絵かきツール – Cromosome, PathwayCromosome, Pathway  SQL DBSQL DB との連携との連携 – BioSQL: BiopythonBioSQL: Biopython のオのオ ブジェクトをブジェクトを DBDB 化化 0 1
  • 9. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 いいところばかりではありませんいいところばかりではありません  ドキュメントの整備がいまひとつドキュメントの整備がいまひとつ – 各機能の説明がソースコードにしかない各機能の説明がソースコードにしかない – 入門者向けの機能網羅的な文書がない入門者向けの機能網羅的な文書がない ⇒⇒   もっとドキュメントの充実と整理を!もっとドキュメントの充実と整理を!  コア開発者のアクティビティコア開発者のアクティビティ – 進学,就職などで手が離せない進学,就職などで手が離せない (( らしいらしい )) – メンテナンスの停止しているモジュールがあるメンテナンスの停止しているモジュールがある ⇒⇒   現在,メンテナンス体制を見直し中現在,メンテナンス体制を見直し中
  • 10. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 情報源とコミュニティ情報源とコミュニティ  公式ページ公式ページ – http://www.biopython.org/http://www.biopython.org/ – ダウンロード,マニュアルなどダウンロード,マニュアルなど  メイリングリストメイリングリスト – ユーザユーザ : biopython@biopython.org: biopython@biopython.org – 開発開発 : biopython-dev@biopython.org: biopython-dev@biopython.org  和訳マニュアル和訳マニュアル – http://www.cubelab.com/ymasuda/python/biopython/http://www.cubelab.com/ymasuda/python/biopython/ – 坂井俊哉氏,石田貴士氏,増田により翻訳坂井俊哉氏,石田貴士氏,増田により翻訳 – 日本語のメイリングリスト,コミュニティページ日本語のメイリングリスト,コミュニティページ ...... はまだはまだ (( 必要ですか?必要ですか? ))
  • 11. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 まとめまとめ  BiopythonBiopython には魅力的な機能が一杯ですには魅力的な機能が一杯です ..  ぜひぜひ BiopythonBiopython にトライしてみてくださにトライしてみてくださ い.い.  BiopythonBiopython はは あなたを求めていますあなたを求めています !!!!!!
  • 12. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 例題例題 (1/2)(1/2) from Bio.WWW import NCBI # NCBI にクエリを出す res = NCBI.query('Search', 'PubMed',   term='BioPython',doptcmdl='Summary') # 結果を読み出してファイルに保存 of = open('outfile.html', 'wb') of.write(res.read()) of.close() # ブラウザで表示 import webbrowser webbrowser.open('outfile.html')
  • 13. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 例題例題 (2/2)(2/2) ['15336256', '15221224', '15210717', '15186836', '15161048', '15141082', '15133320', '15133034', ... '6263546', '7426031', '6774736', '229857', '4992780', '5273780'] ['Saito A', 'Doi Y', 'Tanaka A', 'Matsuura N', 'Ubukata M', 'Nakajima N'] Systematic synthesis of four epicatechin series procyanidin trimers and their inhibitory activity on the Maillard reaction and antioxidant activity. Bioorg Med Chem 2004 Sep 15;12(18):4783-90. ['Ihara N', 'Kurisawa M', 'Chung JE', 'Uyama H', 'Kobayashi S'] Enzymatic synthesis of a catechin conjugate of polyhedral oligomeric ... from Bio.PubMed import Dictionary, search_for # カテキン合成を PubMed でサーチ entries = search_for('catechin synthesis') print entries from Bio.Medline import RecordParser # Medline エントリのパーザを作成 recparser = RecordParser() # 最初の 10 件について, 3 秒ごとにクエリを出し,サーチ結果をパーザで解析して, # 著者,タイトル,出典を表示 rdict = Dictionary(delay=3.0, parser=recparser) for e in entries[:10]: record = rdict[e] print record.authors, record.title, record.source
  • 14. Open-Bio BOF 2004 at GIW2004Open-Bio BOF 2004 at GIW2004 Acknowledgements and CopyrightsAcknowledgements and Copyrights  資料中に使われているクリップアートワークは,資料中に使われているクリップアートワークは, MicrosoftMicrosoft OfficeOnlineOfficeOnline クリップアートコレクションをもとに作成しました.クリップアートコレクションをもとに作成しました. 使用条件については使用条件については http://office.microsoft.com/clipart/http://office.microsoft.com/clipart/ をご覧くださいをご覧ください ..  その他クリップアートを使わない図形や写真,および本文テキストその他クリップアートを使わない図形や写真,および本文テキスト の著作権は増田泰の著作権は増田泰 (ymasuda at ethercube.com)(ymasuda at ethercube.com) に帰属し,以下のに帰属し,以下の 条件で再配布および改変を認めます.条件で再配布および改変を認めます.Copyright Notice Copyright Yasushi Masuda, 2004 All Rights Reserved Permission to use, copy, modify, and distribute this product for any purpose and without fee is hereby granted, provided that above copyright notice and this permission notice is attached with every copies or distributions. Disclaimer Yasushi Masuda (the author hereafter) disclaims all warranties with regard to this product, including all implied warranties of merchantability and fitness, in no event the author shall be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whatever in an action pf contract, negligence or other tortious action, arising out of or in connection with the use or derivation of this product. The author makes any warranty, express or implied, or assumes any liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately-owned rights. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the author. The views and opinions of authors expressed herein do not necessarily state or reflect those of the author, and shall not be used for advertising or product endorsement purposes. PDF 版は http://www.cubelab.com/ymasuda/python/misc/ で入手できます