日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bioperl 自动化下载genbank 中的序列

發布時間:2023/12/8 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bioperl 自动化下载genbank 中的序列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當我們想要從genbank 中下載序列的時候,總需要點擊右上角的download 按鈕,選擇對應的格式,然后通過瀏覽器進行下載,這樣反復的點擊很費時間了

其實可以通過bioperl 自動化的完成下載;

代碼如下:

#!/usr/bin/env perl use Bio::SeqIO; use Bio::DB::GenBank;my ($acc, $out_dir) = @ARGV;die "Usage:perl $0 <acc_number> <out_dir>\n" if scalar @ARGV != 2;system qq{mkdir -p $out_dir} if not -d $out_dir;my $seq_obj = retriev_seq($acc);download_seq($seq_obj, 'fasta', qq{>$out_dir/sequence.fasta}); download_seq($seq_obj, 'genbank', qq{>$out_dir/sequence.gb});sub retriev_seq {my $acc = shift;my $db_obj = Bio::DB::GenBank->new;my $seq_obj = $db_obj->get_Seq_by_acc($acc);return $seq_obj; }sub download_seq {my $seq_obj = shift;my $fmt = shift;my $out = shift;my $seqio_obj = Bio::SeqIO->new(-file => $out, -format => $fmt );$seqio_obj->write_seq($seq_obj); }

?

?這個腳本接受兩個參數,第一個參數為 序列對應的編號,第二個參數為輸出的目錄

以 https://www.ncbi.nlm.nih.gov/nuccore/NC_024541.1 為例:

通過瀏覽器下載是這個樣子的:

點擊Send 按鈕,在彈出的對話框中選擇下載的序列的區間,對應的格式

?通過腳本下載是這個樣子的,首先得到序列對應的編號,如下圖所示:

然后運行下面的命令:

perl download_reference.pl NC_024541 ./

?

?這樣通過序列對應的編號就可以自動化的下載對應的序列了

其實,bioperl 當中還提供了其他的檢索序列的方式,比如按照 gi號,功能非常強大。

參考資料:

http://bioperl.org/howtos/Beginners_HOWTO.html

?

總結

以上是生活随笔為你收集整理的bioperl 自动化下载genbank 中的序列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。