FASTA序列格式说明

2023-12-08 05:18
文章标签 说明 格式 序列 fasta

本文主要是介绍FASTA序列格式说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 fasta序列格式是blast组织数据的基本格式,无论是数据库还是查询序列,大多数情况都使用fasta序列格式,所以首先对fasta格式在做详细说明。 下面是一个来源于NCBI的fasta格式序列:

>gi|187608668|ref|NM_001043364.2| Bombyx mori moricin (Mor), mRNA
AAACCGCGCAGTTATTTAAAATATGAATATTTTAAAACTTTTCTTTGTTTTTA
TTGTGGCAATGTCTCTGGTGTCATGTAGTACAGCCGCTCCAGCAAAAATACCT
ATCAAGGCCATTAAGACTGTAGGAAAGGCAGTCGGTAAAGGTCTAAGAGCCAT
CAATATCGCCAGTACAGCCAACGATGTTTTCAATTTCTTGAAACCGAAGAAAA
GAAAGCATTAAGAAAAGAAATTGAGTGAATGGTATTAGATATATTACTAAAGG
ATCGATCACAATGATATATAGATAGGTCATAGATGTCAACGTGAATTTATGGA
TTTTTGTTTTCCCCTTTGTAGTACTTACTTATAGTCAGTTCTTAAATTGATTG
CAACGACAACTGTGTACTATTTTTTATATTTGGTTCGAAAAGTTGCATTATTA
ACGATTTTAGAAAATAAAACTACTTTACTTTTACACG


     格式首先以大于号“>”开头,接着是序列的标识符“gi|187608668|ref|NM_001043364.2|”,然后是序列的描述信息。换行后是序列信息,标准核苷酸符号或氨基酸单字母符号。通常核苷酸符号大小写均可,而氨基酸一般用大写字母。文件中和每一行都不要超过80个字符(通常60个字符)。序列中允许空格,换行,空行,直到下一个大于号,表示该序列的结束。
     所有来源于NCBI的序列都有一个gi号“gi|gi_identifier”,gi号类似与数据库中的流水号,由数字组成,具有绝对唯一性。一条核酸或者蛋白质改变了,将赋予一个新的gi号(这时序列的接收号可能不变)。gi号后面是序列的标识符,下表是来源于不同数据库的标识符的说明。标识符由序列来源标识、序列标识(如接收号、名称等)等几部分组成,他们之间用“|”隔开,如果某项缺失,可以留空但是“|”不能省略。如上例中标识符为“ref|NM_001043364.2|”,表示序列来源于NCBI的参考序列库,接收号为“NM_001043364.2”。

对于自己构建的序列数据库(序列不是来源与NCBI或其他数据),可以采用“gnl|database|identifier”或者“lcl|identifier”格式,以保证可以使用blast的所有功能database或者identifier是需要指定的数据库的标识和序列标识,指定的名称可以用大小写字母、数字、下划线“_”、破折号“-”或者点号“.”。注意名称是区分大小写的,同时不能出现空格,空格表示序列标识符结束。
数据库中的序列标识符必须保证唯一,许多时候格式数据库是formatdb报告错误,就是因为标示符重复,还有一点需要强调的是序列不能为空,否则也会报错。
下面是一个例子,这四个序列的标识符都是唯一。

  • gnl|H.sapiens|seq1
  • gnl|H.sapiens|seq2
  • gnl|M.Mus|seq1
  • lcl|seq1

 


表:序列来源的数据库与对应的标识符

Database Name数据库名称     Identifier Syntax 标识符
GenBankgb|accession|locus
EMBL Data Libraryemb|accession|locus
DDBJ, DNA Database of Japandbj|accession|locus
NBRF PIRpir||entry
Protein Research Foundationprf||name
SWISS-PROTsp|accession|entry name
Brookhaven Protein Data Bankpdb|entry|chain
Patentspat|country|number
GenInfo Backbone Idbbs|number
General database identifiergnl|database|identifier
NCBI Reference Sequenceref|accession|locus
Local Sequence identifierlcl|identifier

表:序列中的每个字母或字符所代表的含义。

核苷酸序列:
        A --> adenosine           M --> A C (amino)
        C --> cytidine            S --> G C (strong)
        G --> guanine             W --> A T (weak)
        T --> thymidine           B --> G T C
        U --> uridine             D --> G A T
        R --> G A (purine)        H --> A C T
        Y --> T C (pyrimidine)    V --> G C A
        K --> G T (keto)          N --> A G C T (any)
                                  -  gap of indeterminate length

氨基酸序列:
    A  alanine                         P  proline
    B  aspartate or asparagine         Q  glutamine
    C  cystine                         R  arginine
    D  aspartate                       S  serine
    E  glutamate                       T  threonine
    F  phenylalanine                   U  selenocysteine
    G  glycine                         V  valine
    H  histidine                       W  tryptophan
    I  isoleucine                      Y  tyrosine
    K  lysine                          Z  glutamate or glutamine
    L  leucine                         X  any
    M  methionine                      *  translation stop
    N  asparagine                      -  gap of indeterminate length

这篇关于FASTA序列格式说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/468651

相关文章

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1