其他
fasta格式文件处理大全(一)
前面我们介绍了fastq格式文件的处理,大概有20多个案例,掌握了这些案例,后面拿到fastq格式之后就可以根据需求,使用合适的软件工具进行处理了,从这次内容开始,我们将逐渐介绍fasta格式文件的处理。相比于fastq格式,fasta格式处理更加容易。
1 文件格式介绍
FASTA文件主要用于存储生物的序列文件,例如基因组,基因的核酸序列以及氨基酸等,是最常见的生物序列格式,一般以扩展名fa,fasta,fna等。
>NP_214518.1 hypothetical protein
ATGACGGGTTCTGTTGACCGGCCCGACCAGAATCGCGGTGAGCGATCAATGAAGTCACCAGGGTTGGATTTGGTCAGGCGCACCCTGGACGAAGCTCGTGCTGCTGCCCGCGCGCGCGGACAAGACGCCGGTCGAGGGCGGGTCGCTTCCGTTGCGTCGGGTCGGGTGGCCGGACGGCGACGAAGCTGGTCGGGTCCGGGGCCCGACATTCGTGATCCACAACCGCTGGGTAAGGCCGCTCGTGAGCTGGCAAAGAAACGCGGCTGGTCGGTGCGGGTCGCCGAGGGTATGGTGCTCGGCCAGTGGTCTGCGGTGGTCGGCCACCAGATCGCCGAACATGCACGCCCGACTGCGCTAAACGACGGGGTGTTGAGCGTGATTGCGGAGTCGACGGCGTGGGCGACGCAGTTGAGGATCATGCAGGCCCAGCTTCTGGCCAAGATCGCCGCAGCGGTTGGCAACGATGTGGTGCGATCGCTAAAGATCACCGGGCCGGCGGCACCATCGTGGCGCAAGGGGCCTCGCCATATTGCCGGTAGGGGTCCGCGCGACACCTACGG
ATAA
fasta文件中,第一行是由大于号">"开头的任意文字说明,用于序列标记,为了保证后续分析软件能够区分每条序列,单个序列的标识必须是唯一的,序列ID部分可以包含注释信息。
从第二行开始为序列本身,只允许使用既定的核苷酸或氨基酸编码符号。序列部分可以在一行,也可以分成多行。
2 下载
fasta格式主要用来存储基因组或者基因序列,从ncbi,ebi上可以下载大量的fasta格式序列,ncbi提供了edirect工具可以通过Accession Number直接下载序列。
efetch -db=nuccore -format=fasta -id=AF086833 > AF086833.fa
也可以从ncbi获得下载链接地址,使用wget,curl后者axel命令直接下载。
wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/195/955/GCF_000195955.2_ASM19595v2/GCF_000195955.2_ASM19595v2_genomic.fna.gz
gunzip GCF_000195955.2_ASM19595v2_genomic.fna.gz
mv GCF_000195955.2_ASM19595v2_genomic.fna ref.fna
wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/195/955/GCF_000195955.2_ASM19595v2/GCF_000195955.2_ASM19595v2_cds_from_genomic.fna.gz
gunzip GCF_000195955.2_ASM19595v2_cds_from_genomic.fna.gz
mv GCF_000195955.2_ASM19595v2_cds_from_genomic.fna gene.fna
3 统计
fasta文件中每个“>”开头代表一条序列,如果想统计文件中序列的条数,最简单的方法就是grep出所有大于号开头的行,然后使用wc统计即可。
$ grep ">" gene.fna | wc
3906 35809 762721
seqkit的统计功能能够提供更多统计信息。
$ seqkit stats gene.fna
file format type num_seqs sum_len min_len avg_len max_len
gene.fna FASTA DNA 3,906 3,958,320 90 1,013.4 12,456
4 格式化
一般的fasta格式第一行是ID,接下来一行或者多行是序列,每行长度固定。不过可以进行调整,例如一行ID一行序列,或者让每行显示固定长度内容。
#所有序列显示在一行
seqtk seq -l 0 gene.fna
#每行显示50个碱基
seqtk seq -l 50 gene.fna
---------- END ----------
(扫描小程序,观看在线课程)
您可能还会感兴趣的
基因学苑文章列表(201906)
上传数据,直接分析,1T内存服务器来了
手把手教你生信分析平台搭建专栏合集
生物信息重要资源站点合集
不会编程,如何进行批量操作
一个人全基因组完整数据分析脚本
一个细菌基因组完整分析脚本
如何在Linux下优雅的装X