Perl で塩基配列とアミノ酸配列を操作する方法

Seq

BioPerl の Seq モジュールを利用して塩基配列あるいはアミノ酸配列を取り扱えば、簡単に塩基配列の逆相補鎖を得たり、アミノ酸に翻訳したりすることができる。

Bio::Seq オブジェクトの生成

Bio::Seq のオブジェクトは Bio::Seq->new に、配列名 -display_id、配列 -seq および分子タイプ -alphabet を代入して生成する。分子タイプは、dna、rna または protein の 3 種類を指定できる。

use Bio::Seq;
$seqobj = Bio::Seq->new(-display_id => 'NM_000001',
                               -seq => 'cgcgcgcgcgcgatgcatgcatgcatatatat',
                          -alphabet => 'dna');

配列の処理

Bio::Seq のオブジェクトのメソッドを利用して、逆相補鎖を簡単に求めたりすることができる。

$seq_rev = $seqobj->revcom;
print $seq_rev->seq;
## atatatatgcatgcatgcatcgcgcgcgcgcg

DNA 配列を翻訳するには translate を利用する。

$seq_prot = $seqobj->translate;
print $seq_prot->seq;
## RARAMHACIY

逆相補鎖を求めてから、翻訳するには revcomtranslate を連続して使用する。

$seq_rev_prot = $seqobj->revcom->translate;
print $seq_rev_prot->seq;
## IYMHACIARA

部分配列はを取り出すには trunc メソッドを利用する。

$seq_substr = $seqobj->trunc(5, 10);
print $seq_substr->seq;
## cgcgcg