我有一個包含數千個蛋白質序列的文件,格式如下;在特定模式後添加換行符
>EgrG_000615900transcript=EgrG_000615900gene=EgrG_000615900MAIRSFGRIAPARSLLIHFKLVTDAFHGEAPSGPYLLPQAARSLLCEKCDGKCVICDSYVRPCTLVRICDECNYGSYQGRCVICGGTGVSDAYYCRESPKPTSFTKGRNMDSKNDLISNKFTMHADVIISILKPGLFVIVDFFIV
每種蛋白質目前都在自己的生產線上。 'MAIRS ... FFIV'代表蛋白質序列和它加入之前的東西。我希望蛋白質在一條新的線上,也就是說我希望在那裏有'.... EgrG_000615900'(這裏的數字有所不同,但總是有9位數字)和'MAIRS ....'之間有一個換行符。 。理想情況下,輸出看起來像這樣;
>EgrG_000615900transcript=EgrG_000615900gene=EgrG_000615900 MAIRSFGRIAPARSLLIHFKLVTDAFHGEAPSGPYLLPQAARSLLCEKCDGKCVICDSYVRPCTLVRICDECNYGSYQGRCVICGGTGVSDAYYCRESPKPTSFTKGRNMDSKNDLISNKFTMHADVIISILKPGLFVIVDFFIV
文件中的每個蛋白質都以>EgrG_.........transcript=EgrG_.........gene=EgrG_.........
(代表任何數字0-9的點)開頭。
我已經試過
sed 's/>EgrG_.........transcript=EgrG_.........gene=EgrG_........./&\n/g' input file > output file
但這不起作用
UPDATE 謝謝大家的關注。事後看來,我覺得我可以簡化我的請求。以下是我的文件中的一個更大的示例;
>EgrG_000615900 transcript=EgrG_000615900 gene=EgrG_000615900MAIRSFGRIAPARSLLIHFKLVTDAFHGEAPSGPYLLPQAARSLLCEKCDGKCVICDSYVRPCTLVRICDECNYGSYQGRCVICGGTGVSDAYYCRESPKPTSFTKGRNMDSKNDLISNKFTMHADVIISILKPGLFVIVDFFIV >EgrG_001057700 transcript=EgrG_001057700 gene=EgrG_001057700MEESNSEPVIFQVSKLAGRHNYTSFGHKEDLDPQNKFSIPSPADHPGKHRSVLRSLFKGMSSGGKNVALEEQQPTYRQAGSSSHHRYHIHHYPHNPSDDRRPLRGPCFPHMSSSSQSASAFSSPNSSSSPGQRVSTFHAGLREEVLEQDGTSSTTQANFSEEPLVLLVLFPASKSKEAVLPLTTVGRNDCCATASVFTLRLASTYCDVAFFINYFS >EgrG_000972800 transcript=EgrG_000972800 gene=EgrG_000972800MTSYCAVFMVPLLTLLILWGHLPACESTPLPSELIVRRGRTLQDLYRYVQQQYLMCLKCPNCPCETKFNIRRRSGGINWPQYMNASGMTAKNMEEALDDY >EgrG_000198800 transcript=EgrG_000198800 gene=EgrG_000198800MPETGKSGGTTISSKTKSTAVSSGTPVKPMKSESCRLISGESPTSVVILKPAWASFVTPFPPVQEKCCKCGQLVRFSDRIELLGKVFHESCFRCAVCNRPLSNSEAIFHSNAWNCEAHASSYPRLYAS`
雖然它不會出現在這裏,我的文件中,這四個序列都在同一行。雖然加入的數字在單個蛋白質上發生變化,但字符數保持不變(因此可以表示登錄號; >EgrG_......... transcript=EgrG_......... gene=EgrG_.........
)。您可能會注意到,每種情況下的實際蛋白質序列都以'M'開始。這些是我文件中所有蛋白質/線條的唯一一致性。目前,我的文件由單一行上的登錄號和蛋白質序列組成,但是我想要對上述序列進行格式化;
>EgrG_000615900 transcript=EgrG_000615900 gene=EgrG_000615900 MAIRSFGRIAPARSLLIHFKLVTDAFHGEAPSGPYLLPQAARSLLCEKCDGKCVICDSYVRPCTLVRICDECNYGSYQGRCVICGGTGVSDAYYCRESPKPTSFTKGRNMDSKNDLISNKFTMHADVIISILKPGLFVIVDFFIV` >EgrG_001057700 transcript=EgrG_001057700 gene=EgrG_001057700 MEESNSEPVIFQVSKLAGRHNYTSFGHKEDLDPQNKFSIPSPADHPGKHRSVLRSLFKGMSSGGKNVALEEQQPTYRQAGSSSHHRYHIHHYPHNPSDDRRPLRGPCFPHMSSSSQSASAFSSPNSSSSPGQRVSTFHAGLREEVLEQDGTSSTTQANFSEEPLVLLVLFPASKSKEAVLPLTTVGRNDCCATASVFTLRLASTYCDVAFFINYFS` >EgrG_000972800 transcript=EgrG_000972800 gene=EgrG_000972800 MTSYCAVFMVPLLTLLILWGHLPACESTPLPSELIVRRGRTLQDLYRYVQQQYLMCLKCPNCPCETKFNIRRRSGGINWPQYMNASGMTAKNMEEALDDY >EgrG_000198800 transcript=EgrG_000198800 gene=EgrG_000198800 MPETGKSGGTTISSKTKSTAVSSGTPVKPMKSESCRLISGESPTSVVILKPAWASFVTPFPPVQEKCCKCGQLVRFSDRIELLGKVFHESCFRCAVCNRPLSNSEAIFHSNAWNCEAHASSYPRLYAS`
即在一行上的登錄,下一個的蛋白質序列。總而言之,在
>EgrG_......... transcript=EgrG_......... gene=EgrG_.........
之間劃分的線和第一'M'是所需要的。
再次感謝您對您的耐心
有該文件的其他行其他類型? – thanasisp