gpt4 book ai didi

linux - 在 linux 中将 tab 转换为 fasta 格式

转载 作者:太空狗 更新时间:2023-10-29 11:40:36 24 4
gpt4 key购买 nike

我有文本 (infile-table.txt) 文件,其中两列由制表符分隔,如下所示:

TRINITY_DN5561_c0_g1_i1 len=391 path=[369:0-390] [-1, 369, -2]  TTGGCTGGAATTCAAAAGCTTTCGATT
TRINITY_DN15396_c0_g1_i1 len=235 path=[213:0-234] [-1, 213, -2] CGAGCTTGGGTAAATGGGATCAAACTAGATTA
len=298 path=[1:0-297] [-1, 1, -2] GCTGTGATTTCTGCCATCGGAGAGGGCACAGACGGC

我想像这样转换它们:

>TRINITY_DN5561_c0_g1_i1 len=391 path=[369:0-390] [-1, 369, -2] 
TTGGCTGGAATTCAAAAGCTTTCGATT
>TRINITY_DN15396_c0_g1_i1 len=235 path=[213:0-234] [-1, 213, -2]
CGAGCTTGGGTAAATGGGATCAAACTAGATTA
>len=298 path=[1:0-297] [-1, 1, -2]
GCTGTGATTTCTGCCATCGGAGAGGGCACAGACGGC

我试过但没有用的命令:

awk '{printf ">%s\n%s\n",$1,$2}' infile-table.txt > outfile.fasta

最佳答案

您只是缺少“制表符分隔”位:

awk -F '\t' '{printf ">%s\n%s\n",$1,$2}' infile-table.txt
#...^^^^^^^

awk 程序可以更简洁一些,如果您愿意:将输出 字段分隔符设置为换行符并:

awk -F'\t' -v OFS='\n' '{$1 = ">" $1} 1' infile-table.txt 

当您更改第一个字段时,awk 将使用 OFS 重新创建 $0,并且尾随“1”打印记录。

而且,由于您添加了 标签:

sed 's/^/>/;s/\t/\n/' infile-table.txt

关于linux - 在 linux 中将 tab 转换为 fasta 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52788098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com