linux 中shell脚本实现将fasta文件的scaffold拆分为单独的文件

 

001、 shell实现

复制代码
[root@PC1 test]# ls
test.fa
[root@PC1 test]# cat test.fa                ## 测试fasta文件
> chr1
ddddgggg
ddfgg
> chr2
eertttt
dddddg
> chr3
dfdfgggg
lljhhhh                                     ## 拆分脚本
[root@PC1 test]# grep -n "^>" test.fa | cut -d ":" -f 1 | paste - <(grep -n "^>" test.fa | cut -d ":" -f 1 | awk '{print $0 - 1}' | sed 1d | sed '$a $') | awk '{OFS = "\t"; print $0, NR}' | while read {i,j,k}; do sed -n "$i, $j"p test.fa > chr$k.fa; done
[root@PC1 test]# ls
chr1.fa  chr2.fa  chr3.fa  test.fa
[root@PC1 test]# cat chr1.fa   ## 第一个scaffold
> chr1
ddddgggg
ddfgg
复制代码

 

 

002、python实现

 

posted @   小鲨鱼2018  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-09-28 -bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
2020-09-28 linux系统中split命令
2020-09-28 R语言中创建数据框、数据框的常规操作
点击右上角即可分享
微信分享提示