查看原文
其他

fasta格式文件处理大全(二)

王通 基因学苑 2023-08-18

前面我们介绍了fastq格式文件的处理,大概有20多个案例,掌握了这些案例,后面拿到fastq格式之后就可以根据需求,使用合适的软件工具进行处理了,从这次内容开始,我们将逐渐介绍fasta格式文件的处理。相比于fastq格式,fasta格式处理更加容易。

5 逐条统计

如果文件中有多条序列,想单独统计每一条长度,可以使用如下命令进行统计,并且可以按长度计算频数。

#统计每条序列长度
seqtk  seq -l 0 gene.fna  | grep -v ">" | awk '{print length($0)}' | head
#统计长度并按照长度计算频数
seqtk  seq -l 0 gene.fna  |grep -v ">" | awk '{print length($0)}' | sort | uniq -c

6 成分统计

如果想计算每条序列的长度以及ATCG碱基的组成,可以使用seq comp进行计算。

seqtk comp gene.fna | head

7 提取序列

如何根据基因ID,提取序列。如果不会编程,可以通过以下方法操作。
方法一:利用samtools为fasta建立索引,然后提取

samtools faidx gene.fna
samtools faidx gene.fna "lcl|NC_000962.3_cds_NP_216564.2_2038" "lcl|NC_000962.3_cds_YP_177964.1_3341"  

方法二:利用seqtk工具,给定一个ID列表

$ cat name.list 
lcl|NC_000962.3_cds_NP_216564.2_2038
lcl|NC_000962.3_cds_YP_177964.1_3341

$ seqtk subseq gene.fna name.list

8 截取序列

如果想截取某条序列固定区域,需要给定一个ID列表,包括染色体名字,起始坐标,终止坐标,这种ID列表就是后面要介绍的bed格式。截取序列方法与seqtk subseq功能一致,只不多这次多了坐标信息。

$ cat name.list 
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.fna name.list

---------- END ----------

(添加作者微信,请注明单位姓名)



您可能还会感兴趣的

生物信息暑期班(北京站)开始报名
基因学苑文章列表(201906)

上传数据,直接分析,1T内存服务器来了
手把手教你生信分析平台搭建专栏合集
生物信息重要资源站点合集
不会编程,如何进行批量操作
一个人全基因组完整数据分析脚本
一个细菌基因组完整分析脚本
如何在Linux下优雅的装X

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存