如果一行不是以“a”“c”“t”或“g”开头,并且下一行以“>”开头,我想删除它。在以下示例中,删除了“`>seq3”。
输入:
>seq1
actgatgac
>seq2
ctgacgtca
>seq3
>seq4
gtagctagt
>seq5
tgacatgca
Run Code Online (Sandbox Code Playgroud)
预期输出:
>seq1
actgatgac
>seq2
ctgacgtca
>seq4
gtagctagt
>seq5
tgacatgca
Run Code Online (Sandbox Code Playgroud)
我试过 sed ( sed '/^>.*/{$!N;/^>.*/!P;D}'and sed '/^>/{$d;N;/^[aA;cC;gG;tT]/!D}') 但没有成功。
我有一个包含如下行的文件:
TsM_000477300_transcript_id_TsM_000477300_gene_id_TsM_000477300,extr 29
TsM_000541200_transcript_id_TsM_000541200_gene_id_TsM_000541200,extr 9,plas 7,mito 6.5,cyto_mito 4,E.R. 3,lyso 3,golg 3,E.R._golg 3
TsM_000020400_transcript_id_TsM_000020400_gene_id_TsM_000020400,extr 28,cyto 1,E.R. 1,pero 1,lyso 1,cyto_pero 1
TsM_000268600_transcript_id_TsM_000268600_gene_id_TsM_000268600,extr 13,plas 7,E.R. 5,lyso 3,golg 2
TsM_000533800_transcript_id_TsM_000533800_gene_id_TsM_000533800,extr 31
TsM_000208300_transcript_id_TsM_000208300_gene_id_TsM_000208300,extr 19,pero 5,lyso 4,plas 2,E.R. 2
TsM_000379500_transcript_id_TsM_000379500_gene_id_TsM_000379500,extr 15,golg 12,lyso 3
TsM_000882200_transcript_id_TsM_000882200_gene_id_TsM_000882200,extr 32
TsM_001173700_transcript_id_TsM_001173700_gene_id_TsM_001173700,extr 31
Run Code Online (Sandbox Code Playgroud)
我想要的输出是这个:
TsM_000477300,extr 29
TsM_000541200,extr 9,plas 7,mito 6.5,cyto_mito 4,E.R. 3,lyso 3,golg 3,E.R._golg 3
TsM_000020400,extr 28,cyto 1,E.R. 1,pero 1,lyso 1,cyto_pero 1
TsM_000268600,extr 13,plas 7,E.R. 5,lyso 3,golg 2
TsM_000533800,extr 31
TsM_000208300,extr 19,pero 5,lyso 4,plas 2,E.R. 2
TsM_000379500,extr 15,golg 12,lyso 3
TsM_000882200,extr 32 …Run Code Online (Sandbox Code Playgroud)