作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含数千个登录号的文件:
看起来像这样..
>NC_033829.1 Kallithea virus isolate DrosEU46_Kharkiv_2014, complete genome
AGTCAGCAACGTCGATGTGGCGTACAATTTCTTGATTACATTTTTGTTCCTAACAAAATGTTGATATACT
>NC_020414.2 Escherichia phage UAB_Phi78, complete genome
TAGGCGTGTGTCAGGTCTCTCGGCCTCGGCCTCGCCGGGATGTCCCCATAGGGTGCCTGTGGGCGCTAGG
如果想将其拆分为多个文件,每个文件都有一个登录号,那么我可以使用以下代码
awk -F '|' '/^>/ {F=sprintf("%s.fasta",$2); print > F;next;} {print >> F;}' < yourfile.fa
我有一个包含数千个登录号(又名 >NC_*)的文件,并希望将其拆分,例如每个文件包含约 5000 个登录号。因为我是 awk/bash/python 的新手,所以我很难找到一个巧妙的解决方案
最佳答案
假设:部分由空行分隔。
算法:
>
字符分隔第二个字段将是登录号。
>
或空格,然后将该行输出到以第二个字段命名的文件名:
awk -v RS='' -v FS='[> ]' '{f=($2 ".txt"); print >> f; close(f)}'
@edit 已更改
>
至
>>
和
RS='\n\n'
至
RS=''
@edit 并添加关闭
关于python - 将多个 fasta 文件拆分为具有相同编号的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68521944/
我是一名优秀的程序员,十分优秀!