目前有很多的数据库都存储了蛋白序列,比如NCBI Refseq, protein, swissprot 等,在各个数据库之间,或者是在某个数据库中,蛋白序列有大量冗余;为了方便使用,ncbi 构建了nr 库, 全称是 RefSeq non-redundant proteins;

Non-redundant protein sequences from GenPept,  Swissprot, PIR, PDF, PDB, and NCBI RefSeq

完整的nr 数据库的蛋白序列和预先构建好的blast 索引可以从ncbi 的ftp 服务器上下载得到,地址如下:

https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/

通常情况下,我们直接下载构建好的blast 索引就可以了,因为

1) 整个nr 的蛋白序列非常大,大概30G 左右,如果自己构建索引,非常费时;

2)ncbi 提供的blast索引,在构建时已经把每条序列的种水平的tax id 加进去了,用这个索引可以非常方便的得到序列对应的物种注释信息;

3) 使用blastdbcmd 命令可以从索引中还原出原始的nr 序列;

对于NCBI ftp 的数据,我们可以用aspera  进行下载, 速度非常快

ascp -i ~/asperaweb_id_dsa.openssh  -QTr -l6000m  anonftp@ftp-private.ncbi.nlm.nih.gov:/blast/db/FASTA/nr..tar.gz ./

由于nr 库较大,所以 ncbi 把 nr 库分成了很多小份的fasta 序列,建立索引

对于nr 的序列而言,其标识符中包含了很多的信息

>XP_642131.1 hypothetical protein DDB_G0277827 [Dictyostelium discoideum AX4]P54670.1 RecName: Full=Calfumirin-1; Short=CAF-1BAA06266.1 calfumirin-1 [Dictyostelium discoideum AX2]EAL68086.1 hypothetical protein DDB_G0277827 [Dictyostelium discoideum AX4]

首先是1个蛋白序列的编号,后面是这条序列对应的详细信息,方括号内是物种名称; 由于nr 库是非冗余的,这里的每一条蛋白序列可以理解为 一个聚类的group 中的代表序列,第一条是该代表序列本身的信息,后面几条是属于这个group 下的其他序列的信息;

这里有两种情况,

1) 这一个group 中所有的蛋白序列都来源于同一个物种;

WP_003131952.1 30S ribosomal protein S18 [Lactococcus lactis]

2) 这一个group 中所有的蛋白序列都来源于多个物种;

WP_000184067.1 MULTISPECIES: MbtH family protein [Bacillus]

唯一不同的是,当来源于多个物种时,会在前面加上 MULTISPECIES 关键字

对于nr 中的序列,其标识符有两种:

1) WP 开头 :真实存在的蛋白序列

2)XP 开头: 理论上的蛋白序列(计算机软件预测的结果)

通常情况下,我们比对nr 库有两种用途:

1)蛋白质功能注释: 需要输出蛋白质的描述信息

对于这个需求,nr 库里包含了这些信息,所以比较简单,直接blast 比对,在输出结果中输出这个信息就可以了

2) 物种注释:输出蛋白对应的物种信息

在序列中有明确的 species 水平的注释,但是我们还需要phylum 等水平的注释,这时候就需要借助Taxonomy 数据库,把物种注释信息补充完整。

 
 

NR 数据库简介的更多相关文章

  1. MongoDB数据库简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源 ...

  2. Oracle数据库简介

    Oracle数据库简介 一.介绍 Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览 ...

  3. 数据库 简介 升级 SQLite 总结 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. MongoDB,无模式文档型数据库简介

    MongoDB的名字源自一个形容词humongous(巨大无比的),在向上扩展和快速处理大数据量方面,它会损失一些精度,在旧金山举行的MondoDB大会上,Merriman说:“你不适宜用它来处理复杂 ...

  5. 全球第一开源ERP Odoo操作手册 数据库简介

    1.3 数据库简介 每一个独立核算的企业都有一套相互关联的账簿体系, 把这一套完整的账簿体系建立在计算机系统中就称为一个数据库. 一般一个企业只用一个数据库. 如果企业有几个下属的独立核算的实体,也可 ...

  6. MySql数据库基础之数据库简介及安装

    MySql数据库简介: 众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的.最流行的RDBMS(Relational Database Management Sy ...

  7. Scopus数据库简介

    ScienceDirect数据库1. Elsevier简介荷兰Elsevier 是全球最大的科学文献出版发行商,已有180多年的历史.其产品涵盖科学.技术和医学等各个领域,包括1800多种学术期刊(大 ...

  8. 数据库----ORACLE和MYSQL数据库简介

    一.什么是数据库? 数据库(Database---DB)按照组织.储存和管理数据的仓库.(理解以下三个概念)   数据(Data)用来描述事物的记录都可称数据,如文字音乐图像.   数据库系统(Dat ...

  9. 数据库之一、数据库简介及SQL概要

    1.数据库简介: 数据库(Database,DB)是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合.简单来讲就是可以放大量数据的地方.管理数据库的计算机系统称为数据库管理系统(Dat ...

随机推荐

  1. 利用jenkins的api来完成相关工作流程的自动化

    [本文出自天外归云的博客园] 背景 1. 实际工作中涉及到安卓客户端方面的测试,外推或运营部门经常会有很多的渠道,而每个渠道都对应着一个app的下载包,这些渠道都记录在安卓项目下的一个渠道列表文件中. ...

  2. pandas入门——loc与iloc函数

    oc与iloc函数 loc函数 import pandas as pd import numpy # 导入数据 df = pd.read_csv(filepath_or_buffer="D: ...

  3. hibernate特殊的映射

    <property name="update_date" column="update_date" type="java.sql.Timesta ...

  4. JAVA-数据库之查询记录

    相关资料:<21天学通Java Web开发> ResultSet结果集1.使用exectteQuery()方法查询数据.2.exectueQuery()方法接收一个查询SQL语句.3.返回 ...

  5. phpmyadmin 各种技巧拿 webshell

    site.com/phpMyAdminsite.com/sql D:\wamp\www 账号还有密码 root 密码第一种CREATE TABLE `mysql`.`darkmoon` (`darkm ...

  6. thinkphp前台模版字符串截取

    ThinkPHP\Common\extend.php 中管理前台模版的截取{$vons.title|msubstr=0,26} 原始的代码是无法使用截取支持…. 由于涉及到只有汉字检测最为准确 需要加 ...

  7. Scala 闭包

    Scala 闭包 闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量. 闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数. 如下面这段匿名的函数: val multipl ...

  8. Ext.ux.grid.feature.Searching 解析查询参数,动态产生linq lambda表达式

    上篇文章中http://www.cnblogs.com/qidian10/p/3209439.html我们介绍了如何使用Grid的查询组建,而且将查询的参数传递到了后台. 那么我们后台如何介绍参数,并 ...

  9. java 生成指定区间随机数

    int randNumber =rand.nextInt(MAX - MIN + 1) + MIN; // randNumber 将被赋值为一个 MIN 和 MAX 范围内的随机数

  10. 微信小程序——页面之间传递值

    小程序页面传值的方式: 1.正向传值:上一页面 -->  下一页面 url传值 本地储存 全局的app对象 2.反向传值:下一页面 -->  上一页面 本地储存 全局的app对象 先说一下 ...