生物数据格式 - fasta

格式

fasta是一种仅包含序列与序列名称的文件格式,主要用于存储生物的序列信息,如基因组、基因的核酸序列或氨基酸序列,文件拓展名一般为fa、fasta、fna,是最常见的生物数据格式。fasta的序列格式如下,每条序列的信息包括两行:

>NP_224538.1 hypothetical protein
ATGACGGGTTCTGTTGACCGGCCCGACCAGAATCGCGGTGAGCGATCAATGAAGTCACCAGGGTTGGATTTGGTCAGGCGCACCCTGGACGAAGCTCGTGCTGCTGCCCGCGCGCGCGGACAAGACGCCGGTCGAGGGCGGGTCGCTTCCGTTGCGTCGGGTCGGGTGGCCGGACGGCGACGAAGCTGGTCGGGTCCGGGGCCCGACATTCGTGATCCACAACCGCTGGGTAAGGCCGCTCGTGAGCTGGCAAAGAAACGCGGCTGGTCGGTGCGGGTCGCCGAGGGTATGGTGCTCGGCCAGTGGTCTGCGGTGGTCGGCCACCAGATCGCCGAACATGCACGCCCGACTGCGCTAAACGACGGGGTGTTGAGCGTGATTGCGGAGTCGACGGCGTGGGCGACGCAGTTGAGGATCATGCAGGCCCAGCTTCTGGCCAAGATCGCCGCAGCGGTTGGCAACGATGTGGTGCGATCGCTAAAGATCACCGGGCCGGCGGCACCATCGTGGCGCAAGGGGCCTCGCCATATTGCCGGTAGGGGTCCGCGCGACACCTACGG
ATAA

第一行:以“>”开头的任意文字说明,用于标记序列,是每条序列的唯一标志符,以保证后续分析中能区分文件中的序列,序列ID中可以包含注释信息。
第二行:使用既定的核苷酸或氨基酸编码符号代表的序列,可以在一行,也可以被分割成多行,直到下一个>开头的行之前都是一条序列。

获取

ncbi Genomeebi上存储有大量的基因组或者基因序列,Uniport上存储有大量的蛋白组或蛋白序列,可以从这些地方下载。当获得下载链接地址后,使用wget命令直接下载(Windows随意)。

wget 超链接地址

处理
文件与序列处理
#格式化
seqtk  seq -l 0 gene.fa #所有序列显示在一行
seqtk  seq -l 50 gene.fa #每行显示50个碱基
## 排序 使用seqkit sort通过id/名称/序列/长度来排序
seqkit sort [flags] #Flags: -l,通过序列长度;-n,通过全名而不是id;-s,通过序列;-i,忽视大小写;-r,反向排序;-2,双流程模式读取文件来降低内存使用。
##统计
seqkit stats XX.fa #统计序列条数,碱基总数,reads读长分布等
seqtk comp XX.fa #统计fastq文件每条序列ATCG四种碱基组成以及质量值分布
seqtk  seq -l 0 gene.fa  | grep -v ">" | awk '{print length($0)}' | head #统计每条序列长度
seqtk  seq -l 0 gene.fa  |grep -v ">" | awk '{print length($0)}' | sort | uniq -c #统计长度并按照长度计算频数
##提取序列
  #  lcl|NC_000962.3_cds_NP_216564.2_2038
  #  lcl|NC_000962.3_cds_YP_177964.1_3341
seqtk subseq gene.fa name.list #根据ID列表提取序列
##截取序列
  #  lcl|NC_000962.3_cds_NP_216564.2_2038    100    2000
  #  lcl|NC_000962.3_cds_YP_177964.1_3341     45     567
seqtk subseq gene.fa name.list #根据包含|ID 起始位置 终止位置|的bed文件截取序列
##按长度过滤
seqtk seq -L 1000 gene.fa #过滤长度小于1000bp序列
seqkit seq -m 1000 gene.fa #过滤长度小于1000bp序列
seqkit seq -M 1000 gene.fa #过滤长度大于1000bp序列
##反向互补
seqtk seq -r test.fa #seqtk取反向互补序列
seqkit seq -r test.fa #seqkit取反向序列
seqkit seq -r -p test.fa #seqkit seq 加-r -p同时取反向互补序列
##转换大小写
seqkit seq -l gene.fa #小写
seqkit seq -u gene.fa #大写
功能相关处理
##预测基因
prodigal -a ref.pep -d ref.cds -f gff -g 11  -o ref.gff  -s ref.stat -i ref.fna >prodigal.log #原核生物
  #  -i:输入文件,fasta格式
  #  -o:输出结果文件,有多种格式可选
  #  -f:输出文件类型gbk, gff, or sco
  #  -d:基因的核酸序列
  #  -a:基因的氨基酸序列
  #  -g:密码子表,细菌为第11
  #  -p:模式,单菌还是宏基因组
  #  -s:统计信息
augustus --strand=both --genemodel=partial --singlestrand=false --protein=on --introns=on --start=on --stop=on --cds=on --codingseq=on --alternatives-from-evidence=true --gff3=on --UTR=on --outfile=XX.gff --species=human human.genome.fa #真核生物(案例为人类)
  #  --strand=both/forward /backward 表示注释基因在两条链还是其中一条
  #  --genemodel=partial/intronless/complete/atleastone /exactlyone  
  #  partial : 允许在序列边界预测不完整的基因(默认)   intronless : 只预测单外显子基因,适用于原核生物某些些真核生物中  complete : 只预测完整基因  atleastone : 预测至少一个完整的基因   exactlyone : 准确预测一个完整的基因
  #  --singlestrand=true 独立预测每条链上的基因,允许在相反的链上有重叠的基因,默认关闭
  #  --protein=on/off;--introns=on/off;--start=on/off;--stop=on/off;--cds=on/off;--codingseq=on/off
  #  输出选项。输出预测蛋白序列,内含子,起始密码子,终止密码子。或者在“初始”、“内部”、“终端”和“单外显子”之外使用“cds”。cds不包括停止密码子(除非stopCodonExcludedFromCDS=false),而终端和单个外显子包含停止密码子
  #  --alternatives-from-evidence=true report alternative transcripts when they are suggested by hints
  #  --gff3=on/off 输出gff3格式
  #  --UTR=on/off 预测除编码序列外的未翻译区域。目前,这只适用于人类,galdieria, toxopl asma和caenorhabditis
  #  --outfile=filename 打印输出到文件
  #  --species 物种
##预测rRNA
rnammer -S bac -m tsu,lsu,ssu  -gff ref.gff -f ref.frn ref.fna  
  #  -S:物种类型,古细菌,细菌或者真菌
  #  -m:需要rRNA类型,如果真要16S,则单独选择lsu  
  #  -gff:输出gff格式结果
  #  -f:输出fasta格式序列
##预测tRNA
tRNAscan-SE  -B  -o tRNAScan.out -f tRNAScan.out.structure -m stat.list ref.fna  
  #  -B :物种为细菌; -A :物种为古细菌;-O :输入序列为细胞器; -G :包括全部类型
  #  -o:输出结果
  #  -f:tRNA二级结构
  #  -m:统计结果
##翻译氨基酸
有多种在线工具例如ExPaSy(https://web.expasy.org/translate/),EMBOSS Transeq from EBI(https://www.ebi.ac.uk/Tools/st/emboss_transeq/),DNA to ProteinTranslation(http://bio.lundberg.gu.se/edu/translat.html)等支持将核酸序列转换成蛋白质序列,直接上传基因的核酸序列即可。
##功能注释
emapper.py -m diamond -i XX.fa -o Prefix --output data_dir --cpu 6 #eggnog-mapper注释
  #  -i:输入文件,基因的氨基酸序列
  #  -m:选择运行模式
  #  -h:输出帮助文档
  #  --output:输出结果前缀
  #  --output_dir:输出结果目录
##查找重复序列
RepeatMasker -pa 2 -q -species tuber -html -gff -dir repeat ref.fna
  #  -pa:线程数
  #  -q:快速模式,敏感性稍低,-s为慢速模式,敏感性更高
  #  -species:物种名
  #  -html:输出html结果
  #  -gff:输出gff格式结果
  #  -dir:输出文件夹
##串联重复序列
trf ref.fna 2 7 7 80 10 50 500 -f -d -m 
  #  2 7 7 80 10 50:为运行模式选项,各种罚分标准。
  #  -m:输出屏蔽序列
  #  -f :输出侧翼序列
  #  -d :输出结果文件
  #  -h:输出html格式结果
##基因组拼接 fasta格式的pacbio或者nanopore测序,可以直接进行拼接。
canu -p ouput -d result genomeSize=2.8m -num_threads 2 -nanopore-raw pacbio.fasta 
##建立索引
bwa index -a is ref.fna #bwa建立索引

##blast比对
makeblastdb -in ref.fa -dbtype nucl -parse_seqids -out ref.fa #核酸序列建立索引
blastn -query gene.fa -db ref.fna -out blastn.out -outfmt 0 -evalue 1e-5 #blastn比对
————————————————————————————————————————————————————————————————————————————————————————
makeblastdb -in XX.fasta -dbtype prot -out XX.db #蛋白质序列建立索引
blastp -query test.fasta -out test.blast -db XX.db -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_alignments 1 -num_threads 4 #blastp比对

##多序列比对 用于构建系统发育树,对多个样品的fasta可以直接使用muscle,clustalw,mafft,megacc进行多序列比对。
muscle -in input1.fasta input2.fasta input3.fasta -out output.mfa #muscle
orthofinder -f fasta_dir/ -S diamond -M msa -T raxml -t 6 #orthofinder

———以上纯属个人理解与记录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,501评论 6 544
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,673评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,610评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,939评论 1 318
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,668评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,004评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,001评论 3 449
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,173评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,705评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,426评论 3 359
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,656评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,139评论 5 364
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,833评论 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,247评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,580评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,371评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,621评论 2 380

推荐阅读更多精彩内容