Home > スポンサー広告 > BioPerlで配列を表示してみよう

スポンサーサイト

スポンサード リンク
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

コメント欄

Trackback:-

この記事へのTrackBack URL
http://bioinformatics.blog7.fc2.com/tb.php/477-3cb52388
スポンサーサイト from バイオ やばいぉ・・・

Home > スポンサー広告 > BioPerlで配列を表示してみよう

Home > BioPerl > BioPerlで配列を表示してみよう

BioPerlで配列を表示してみよう

スポンサード リンク
いままでの実習ではとってきた配列をみる方法として拡張子を.txtに変更してテキストエディタでみるという流れでした。ただいちいち拡張子を変えていたら面倒なのでプログラミングをして表示させましょう。

まず今までの実習が完璧な方は

use Bio::Perl;
$test_dna = get_sequence('genbank', "X12671");
print $test_dna;

というコードを使えばいいじゃん! っておもうかもしれません。
実際私も思っていました。
ってことはだめなのか!やってられねーPerlといわずにまずtest5.plなどとして実行してみてください。

またそのファイルの場所は
XPの場合 C:\Documents and Settings\ユーザー名に置きましょう。
アクセス手順はマイコンピューター→Cドライブ→Documents and Settings→ユーザー名とクリックしていけばたどり着きます。
Vistaの場合 C:\Users\ユーザー名に置きましょう。
アクセス手順はコンピューター→ローカルディスク(C)→ユーザー→ユーザー名でたどり着きます。

それで実行した結果は


あれ?配列がでないぞ となりますが、これはプログラムのエラーではありません。
ただ配列がでてないのでエラーと思っていただいてかまいません。

このようにわけわからないことが起きた理由を考えてみましょう。
このプログラムの命令を日本語で言うならば、
BioPerlを使ってGenbankからIDがX12671のDNA配列をとってきてそれを表示させろ
です。
やりたいこととコードがあってるじゃないか と思いますよね。
ただ普通にインターネットブラウザーでGenbankにアクセスしX12671を検索した際の結果をみればすぐわかっていただけると思います。

X12671での検索結果

配列情報だけでなく、ほかの関連情報が表示されています。
$test_dna には、こういった配列以外も格納したので、print文で$test_dna を表示しろといっても変になっちゃうのです。

で、そこで配列だけを取り出す命令を紹介します。
下のコードをtest6.plなどと保存して実行してみてください。
use Bio::Perl;
$test_dna = get_sequence('genbank', "X12671");
$seq = $test_dna->seq();
print $seq;

いきなり画面いっぱいに、塩基配列が表示されましたか。

表示が確認できましたらコードの説明に入りたいと思います。

01:use Bio::Perl;
02:$test_dna = get_sequence('genbank', "X12671");
03:$seq = $test_dna->seq();
04:print $seq;

01:02:今まで通り。

03:ここがきもです。先ほど確認したように$test_dna というのは、Genbankからとってきた配列情報以外も含む情報です。この情報をSeq Object(シーク オブジェクト)といいます。
そして、Seq Objectから配列だけを取ってこいという命令が、seq() です。
つなげ方は-> をつかいます。前回の実習で分子量を計算した際の -> と同じ意味です。
この場合、 $test_dna (に格納されているデータの)の seq() (配列) という意味で -> が使われています。

この、$test_dnaのあとにつけるシリーズを紹介します。
・seq() : 配列を文字列としてとってこいという命令

・subseq(A,B) : (A,Bは整数)配列のA文字目からB文字目をとってこいという命令。

・display_id : とってきた配列の名前の文字列を返します。

・accession_number() :  アクセッション 番号の文字列を返します。

・alphabet() : DNA,RNA,Protein といった、何の配列であるかの情報を示す文字列を返します。

他にも、 annotation() とか speces() とかもあるのですが、そのへんはまたあとでとします。

それでは、このシリーズをつかった命令を使ってみましょう。
use Bio::Perl;
$test_dna = get_sequence('genbank', "X12671");
$subseq = $test_dna->subseq(20,30);
print $subseq,"\n";

$id = $test_dna->display_id;
print $id, "\n";

$acnum = $test_dna->accession_number();
print $acnum,"\n";

$alpha = $test_dna->alphabet();
print $alpha,"\n";


1行目に配列が20文字目から30文字目表示されて
2行目にIDが表示されて
3行目にアクセッション 番号の文字列が表示されて
4行目に何の配列かが表示
されれば成功です。
ちなみに"\n"というのは改行しろという命令です。
改行で情報が読み取りやすくなるので便利な命令です^^

Comments:0

コメント欄

Trackback:0

この記事へのTrackBack URL
http://bioinformatics.blog7.fc2.com/tb.php/477-3cb52388
BioPerlで配列を表示してみよう from バイオ やばいぉ・・・

Home > BioPerl > BioPerlで配列を表示してみよう

あわせて読みたいブログパーツ

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。