Linux 中shell脚本输出fasta文件中每一条scaffold碱基的总长度

 

001、

复制代码
[root@PC1 test]# ls
a.fa
[root@PC1 test]# cat a.fa               ##  测试fasta文件
>chr1
AACCCTTG
TTCCCCC
>chr2
CCCTTTTT
CCCCCCCC
TTTT
>chr3
TTTTCCCC
GGGG
[root@PC1 test]# awk 'NR > 1 {if($0 ~ />/) {print sum; sum = 0} else {sum += length($0)}} END {print sum}' a.fa      ## 统计每一条scaffold碱基的总长度
15
20
12
复制代码

 

 

002、增加每一条scaffold的名称

复制代码
[root@PC1 test]# ls
a.fa
[root@PC1 test]# cat a.fa
>chr1
AACCCTTG
TTCCCCC
>chr2
CCCTTTTT
CCCCCCCC
TTTT
>chr3
TTTTCCCC
GGGG
[root@PC1 test]# awk '{if(NR == 1) {printf($0"\t")} else if($0 ~ />/) {print sum; printf($0"\t"); sum = 0} else {sum += length($0)}} END {print sum}' a.fa
>chr1   15
>chr2   20
>chr3   12
复制代码

 

posted @   小鲨鱼2018  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-01-10 linux 中 sort -n -k -u选项实现按照某一列对数据进行去重复
2022-01-10 linux 中sort 排序异常
2022-01-10 linux 中sort命令 -k选项
2021-01-10 ppplot2绘图隐去x轴、y轴名称
2021-01-10 ggplot2绘图调整x轴、y轴标签及刻度标签的大小
2021-01-10 ggplot2绘图指定x轴因子水平顺序
2021-01-10 ggplot2绘图调整绘图边框的粗细
点击右上角即可分享
微信分享提示