Join 如何连接fasta文件和txt文件?
我有一个fasta文件,看起来像这样:Join 如何连接fasta文件和txt文件?,join,awk,Join,Awk,我有一个fasta文件,看起来像这样: > ASst1|LK||eukaryota|Homo sapiens YYNRLINTLLDNGIEPIVSIYHWDLPQRLQDLGGWPNIVLAIYTENYARVLFKNFGDRVK LWITFNEPRIFMGGYTSDTGMAPSINTPGIGDYLTSRTVLIAHANIYHMYEREFKQQQKG KIGITLTGFWCEPLTPDFTERCERYQQFQLGLYAHPIFTGHGDYPSVVIERVDNNSKVEG FTTSRLPKL
> ASst1|LK||eukaryota|Homo sapiens
YYNRLINTLLDNGIEPIVSIYHWDLPQRLQDLGGWPNIVLAIYTENYARVLFKNFGDRVK
LWITFNEPRIFMGGYTSDTGMAPSINTPGIGDYLTSRTVLIAHANIYHMYEREFKQQQKG
KIGITLTGFWCEPLTPDFTERCERYQQFQLGLYAHPIFTGHGDYPSVVIERVDNNSKVEG
FTTSRLPKLTSEEVNYIKGTYDFFGINFYTAQVGLNGVVGGIPSRERDMGTIVLQDPNWP
> >ASstj1|TH1||eukaryota|Mus musculus
FWLVVSQLLYFPRDAHCLADIPSEAILDNNIPLINNLTFPDGFLFGAATAAYQIEGAWN
VDGKGPSIWDEFTHTHPEIITDHSTGDDACKSYYKYKEDVQAAKTMGLDSYRFSMSWPRI
MPTGFPDNINQKGIDYYNNLINELVDNGIMPLVTMYHWDLPQNLQTYGGWLNESIVPLYV
SYARVLFENFGDRVKWWLTFNEPQFVSLGYEFRVMAPGIFTNGTGPYIASTNVLKAHA
我有另一个包含以下信息的文件:
Homo sapiens 9606 cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi;Euteleostomi;Sarcopterygii;Dipnotetrapodomorpha;Tetrapoda;Amniota;Mammalia;Theria;Eutheria;Boreoeutheria;Euarchontoglires;Primates;Haplorrhini;Simiiformes;Catarrhini;Hominoidea;Hominidae;Homininae;Homo;Homo sapiens
Mus musculus 10090 cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi;Euteleostomi;Sarcopterygii;Dipnotetrapodomorpha;Tetrapoda;Amniota;Mammalia;Theria;Eutheria;Boreoeutheria;Euarchontoglires;Glires;Rodentia;Myomorpha;Muroidea;Muridae;Murinae;Mus;Mus;Mus musculus
我想对这两个文件进行jin处理,使其看起来如下所示:
> ASst1|LK||eukaryota|Homo sapiens cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi;Euteleostomi;Sarcopterygii;Dipnotetrapodomorpha;Tetrapoda;Amniota;Mammalia;Theria;Eutheria;Boreoeutheria;Euarchontoglires;Primates;Haplorrhini;Simiiformes;Catarrhini;Hominoidea;Hominidae;Homininae;Homo;Homo sapiens
YYNRLINTLLDNGIEPIVSIYHWDLPQRLQDLGGWPNIVLAIYTENYARVLFKNFGDRVK
LWITFNEPRIFMGGYTSDTGMAPSINTPGIGDYLTSRTVLIAHANIYHMYEREFKQQQKG
KIGITLTGFWCEPLTPDFTERCERYQQFQLGLYAHPIFTGHGDYPSVVIERVDNNSKVEG
FTTSRLPKLTSEEVNYIKGTYDFFGINFYTAQVGLNGVVGGIPSRERDMGTIVLQDPNWP
> >ASstj1|TH1||eukaryota|Mus musculus cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi;Euteleostomi;Sarcopterygii;Dipnotetrapodomorpha;Tetrapoda;Amniota;Mammalia;Theria;Eutheria;Boreoeutheria;Euarchontoglires;Glires;Rodentia;Myomorpha;Muroidea;Muridae;Murinae;Mus;Mus;Mus musculus
FWLVVSQLLYFPRDAHCLADIPSEAILDNNIPLINNLTFPDGFLFGAATAAYQIEGAWN
VDGKGPSIWDEFTHTHPEIITDHSTGDDACKSYYKYKEDVQAAKTMGLDSYRFSMSWPRI
MPTGFPDNINQKGIDYYNNLINELVDNGIMPLVTMYHWDLPQNLQTYGGWLNESIVPLYV
SYARVLFENFGDRVKWWLTFNEPQFVSLGYEFRVMAPGIFTNGTGPYIASTNVLKAHA
我在想,在这个例子中,join不起作用。如果我首先将标题解析为一个单独的列表,即grep>,然后将这两个文件合并在一起,这将是可行的。但我真的需要下面打印的序列。任何想法都会很有帮助 尝试以下操作:
awk -F'[\t|]' '
FNR==NR { dict[$1]=$3; next }
/^> / { $0 = $0 " " dict[$NF] }
{ print }
' fileLookup fileFasta
假设:
- 查找文件以选项卡分隔
- fasta文件样本中
后面的尾随空格不在实际数据文件中肌肉