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 != ; 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 中的序列的更多相关文章
- 用python做youtube自动化下载器 代码
目录 项目地址 思路 流程 1. post i. 先把post中的headers格式化 ii.然后把参数也格式化 iii. 最后再执行requests库的post请求 iv. 封装成一个函数 2. 调 ...
- (26)odoo中的序列运用
* 模块中增加序列 __openerp__.py : ... 'data': [ 'product_data.xml', ], ... ------ ...
- 据序和中序序列或者也许为了一个二进制序列,恢复二进制和打印图像(c语言)
首先要预购和序,以恢复它: 1.首先,我们使用的是递归的方式来完成 2.递归的最小单位:一个空的树和书的前言和第一序.该序列的第一个元素是树的第一序列根,调用这种方法 3.递归的终止条件是.当这棵树的 ...
- 48. leetcode 105题 由树的前序序列和中序序列构建树结构
leetcode 105题,由树的前序序列和中序序列构建树结构.详细解答参考<剑指offer>page56. 先序遍历结果的第一个节点为根节点,在中序遍历结果中找到根节点的位置.然后就可以 ...
- Java由先序序列和中序序列还原二叉树
还原本来的二叉树并不是一个非常简单的事,虽然思想比较简单,但过程却是比较繁琐.下面我拿先序序列和中序序列来讲一下原理吧. 从先序序列中我们一下子就可以得到二叉树的根节点是第一个元素,然后再中序序列中我 ...
- 【.net】在ASP.NET中,IE与Firefox下载文件名中带中文汉字的文件,文件名乱码的问题
#问题:客户端为ie或Firefox,服务端为asp.net时,下载文件名中包含中文汉字时,下载下来的文件的文件名是乱码: #解决方案: 示例代码:下载名称中带汉字的文件: public void P ...
- C# 网络编程之webBrowser获取网页url和下载网页中图片
该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试瞎子啊网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url. ...
- 【Oracle】详解Oracle中的序列
序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 创建序列: 1. 要有创建序列的权限 create ...
- 用firefox的插件下载网页中的视频
对于网页中的一些视频,直接下载不了,可以用专用下载软件下载,也可以用firefox的NetVideohunter Video Downloader插件下载网页中的视频,方便快捷. 工具/原料 fi ...
随机推荐
- alluxio网络流量异常分析【转】
1. 介绍 2. 准备工作 2.1 tcpdump 2.2 winshark 2.3 安装iftop 2.4 alluxio网络通信相关的端口 3.iftop 锁定消耗流量最大的端口 4. dump数 ...
- 【Gtk】feorda下gtk安装详解
feorda下gtk安装详解 1.yum在线安装gtk 1)pkg-config -version查看pkg-config的版本(本机测试是0.25) 2)安装必要组建:(在root权限下) ...
- django HttpResponse对象
HttpResponse对象 概述: 作用:给浏览器返回数据 HttpRequest对象是由Django创建的,HttpResponse对象是由程序员创建 用法: 不用模板,直接返回数据 语句示例:r ...
- django 目录结构修改
├── manage.py └── myxunlei ├── settings.py ├── settings.pyc ├── urls.py ├── urls.pyc ├── wsgi.py └── ...
- kali Rolling安装之后的一些常用配置总结(更新)
原文: https://ssooking.github.io/kali-rolling-an-zhuang-zhi-hou-de-yi-xie-chang-yong-pei-zhi-zong-jie/ ...
- CLR笔记-枚举类型
class Program { static void Main(string[] args) { Color color = Color.Red; Console.WriteLine(color.T ...
- JAVA传入一个字符串,返回一个字符串中的大写字母
/** * * @param 传入一个字符串 * @return 返回一个字符串中的大写字母 */ private static String str ...
- 中文字符通过URL转给PHP处理,导致中文乱码的解决办法!
在JS中 var content = encodeURI(encodeURI('中文字符')); 在PHP服务端接收 header("Content-type: text/html; cha ...
- <聪明的投资者(第四版点评)>读书笔记
书在这里 企业的内在价值并不依赖于其股票价格 投资者的最大问题甚至最可怕的敌人,很可能就是他们自己 投资者不能指望通过买任何新股或“热门”股,而获得优于平均水平的收益.从长远来看,这几乎无疑会产生相反 ...
- CPP_类默认函数:构造函数,拷贝构造函数,赋值函数和析构函数
类默认函数:构造函数,拷贝构造函数,赋值函数和析构函数 // person.h #ifndef _PERSON_H_ #define _PERSON_H_ class Person{ public : ...