#はじめに
ゲノミクスをやってるとしばし、DNA配列と睨めっこしたり、相補鎖見たり、転写産物をみたり、翻訳したりといったことをする。
これまでの私はその都度、配列をWEBのツールとか使って処理したりしてました。
例えば以下のような配列があったとすると、以下のような処理をすることがあります。
元のDNA配列
ACCCACGCCAACAAGAGCAT
転写
ACCCACGCCAACAAGAGCAU
翻訳(アミノ酸一文字表記)
THANKS
相補鎖
TGGGTGCGGTTGTTCTCGTA
相補鎖を反対から読んでいった配列
ATGCTCTTGTTGGCGTGGGT
相補鎖での翻訳
MLLLAW
こんな感じのことを、エクセルなんかを使いつつ非効率に処理してました。
#biopythonだと
biopythonだと上で書いた処理が全て一行のコマンドでできちゃいます。
まずはインポートしたり配列を変数に入れたり。
from Bio.Seq import Seq
sequence = Seq("ACCCACGCCAACAAGAGCAT")
print(sequence)
# 実行結果
ACCCACGCCAACAAGAGCAT
これで準備ができたので、あとは用意したsequenceに関数を実行するだけ。
#転写
print (sequence.transcribe())
# 実行結果
Seq('ACCCACGCCAACAAGAGCAU')
#翻訳
print (sequence.translate())
# 実行結果
Seq('THANKS')
#相補鎖
print (sequence.complement())
# 実行結果
Seq('TGGGTGCGGTTGTTCTCGTA')
#相補鎖を反対から読んでいった配列
print (sequence.reverse_complement())
# 実行結果
Seq('ATGCTCTTGTTGGCGTGGGT')
#相補鎖を反対から読んでいった配列を翻訳
print (sequence.reverse_complement().translate())
# 実行結果
Seq('MLLLAW')
seq内はすべて普通のpython文字列として扱うことができるので、部分的な切り貼りなんかもできて便利です。
# 3塩基目から最後まで
print (sequence[2:])
# 先頭から4塩基目まで
print (sequence[:4])
# 逆順に返す
print (sequence[::-1])
# 配列をくっつける
print (sequence + sequence)
# 実行結果
CCACGCCAACAAGAGCAT
ACCC
TACGAGAACAACCGCACCCA
ACCCACGCCAACAAGAGCATACCCACGCCAACAAGAGCAT
#Python環境
私の場合はanaconda(Python 3.8.5)を入れてるので、以下のような感じでanaconda.navigatorからbiopythonをインストールしてます。
他のPythonのパッケージと同じくターミナルコマンドでpipを使って入れることもできます。
Google collabとか使う人でも
以下のコマンドを打てばbiopythonをすくに使えます。(先頭に「!」をつけると、ターミナルコマンドになるみたいです。)
! pip install biopython
#他にも色んな機能があるみたいです
他にも以下のような便利機能があります。
まだまだたくさんあると思いますが一部紹介。
from Bio.SeqUtils import GC
print (GC(sequence))
#実行結果
55.0
#sequence.faというFASTAファイルの読み込み
from Bio import SeqIO
record = SeqIO.read ('sequence.fa', 'fasta')
#配列のIDは.idで取得できる
print (sequence.id)
#配列情報は.seqで取得できる
print (sequence.seq)
#biopythonの演習に
以下のKaggleの解答がbiopythonいいお勉強になるのでおすすめです!
コードは全部書いてあるので、Google collabとかで実行するだけで、なんか賢くなった気になれますのでおすすめです笑
#ちょっとひとこと
biopythonに入ってる関数はどれも簡単なものばかりでちょっと頑張れば自分でも書けるものばかりですが、
(例えば翻訳の関数なんて、それぞれのコドンに対してアミノ酸が辞書型で登録されているだけという、なんとシンプルだけど自分じゃ絶対書かないめんどくさいやつ笑)
そんな感じなので、用意してくれてるのであれば、使えるものは使っていきましょう!笑
#おわりに
こんな風にバイオインフォマティクスの便利ツールが詰まってるbiopythonを皆さんもぜひ使ってみてください(^^)
以下記事の参考にさせていただきました。ありがとうございます。