linux shell统计 fasta文件中每条染色体上的碱基数
001、
root@DESKTOP-1N42TVH:/home/test5/test/test# ls test.fa root@DESKTOP-1N42TVH:/home/test5/test/test# cat test.fa ## 测试fasta文件 >Chr1 ACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAACCCTAAAC ACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAACCCTAAAC >Chr2 ACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAAC >Chr3 CCCTAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACC CCCTAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACC CCC >Chr4 CCCTAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACCCTAAACC CCCTAAC root@DESKTOP-1N42TVH:/home/test5/test/test# grep ">" test.fa | paste - <(grep ">" test.fa | sed 1d | sed '$a >Chrend') >Chr1 >Chr2 ## 创建一个索引文件 >Chr2 >Chr3 >Chr3 >Chr4 >Chr4 >Chrend root@DESKTOP-1N42TVH:/home/test5/test/test# grep ">" test.fa | paste - <(grep ">" test.fa | sed 1d | sed '$a >Chrend') > index.txt root@DESKTOP-1N42TVH:/home/test5/test/test# ls index.txt test.fa root@DESKTOP-1N42TVH:/home/test5/test/test# cat index.txt | while read {i,j}; do sed -n "/^$i$/,/^$j$/{/^$i$/b; /^$j$/b; p}" test.fa | awk -v a=$i '{sum += length($0)}END{print a, sum}' >> result.txt; done root@DESKTOP-1N42TVH:/home/test5/test/test# ls ## 利用循环进行统计 index.txt result.txt test.fa root@DESKTOP-1N42TVH:/home/test5/test/test# cat result.txt ## 查看结果 >Chr1 100 >Chr2 37 >Chr3 103 >Chr4 57
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-07-17 linux系统中如何删除^M
2021-07-17 linux系统中实现文件指定列的互换
2021-07-17 linux系统中awk命令删除指定列
2021-07-17 linux系统中如何将文件的某一列替换为其他文件的指定列
2021-07-17 linux系统中删除文件的第一列