私FASTAフォーマットファイル名は「>」記号の後に続き、その後にそのシーケンスを含む2行目が続きます。名前(最初の行)でrefseqIDをフィルタリングして浮動値を削除したいと思います。完全なファイルには多くの名前/シーケンスがあります。
以下を使用して、タグから「hg38_ncbiRefSeq_」を削除できます。
sed 's/hg38_ncbiRefSeq_//g' file
オリジナルフォーマット
>hg38_ncbiRefSeq_NM_001276352.2 range=chr1:67093580-67127240 5'pad=0 3'pad=0 strand=- repeatMasking=none
MAEKILEKLDVLDKQAEIILARRTKINRLQSEGRKTTMAIPLTFDFQLEFEEALATSASKAISKIKEDKSCSITKSKMHVSFKCEPEPRKSNFEKSNLRPFFIQTNVKNKESESTEPVEEHLKSRSIRPYLYLKDTTEMENAGPLNVLYSQHRQACRRSLGSTDFSPMFNIQSNAHKKEKDSTLFTAQIEKKPRKPLDSVGLLEGDRNKRNKRTQIP
>hg38_ncbiRefSeq_NM_001276351.2 range=chr1:67093005-67127240 5'pad=0 3'pad=0 strand=- repeatMasking=none
MAEKILEKLDVLDKQAEIILARRTKINRLQSEGRKTTMAIPLTFDFQLEFEEALATSASKAISKIKEDKSCSITKSKMHVSFKCEPEPRKSNFEKSNLRPFFIQTNVKNKESESTAQIEKKPRKPLDSVGLLEGDRNKRKKSPQMNDFNIKENKSVRNYQLSKYRSVRKKSLLPLCFEDELKNPHAKIVNVSPTKTVTSHMEQKDTNPIIFHDTEYVRMLLLTKNRFSSHPLENENIYPHKRTNFILERNCEILKSIIGNQSISLFKPQKTMPTVQRKDIQIPMSFKAGHTTVDDKLKKKTNKQTLENRSWNTLYNFSQNFSSLTKQFVGYLDKAVIHEMSAQTGKFERMFSAGKPTSIPTSSALPVKCYSKPFKYIYELNNVTPLDNLLNLSNEILNAS
最終フォーマット
>NM_001276352
MAEKILEKLDVLDKQAEIILARRTKINRLQSEGRKTTMAIPLTFDFQLEFEEALATSASKAISKIKEDKSCSITKSKMHVSFKCEPEPRKSNFEKSNLRPFFIQTNVKNKESESTEPVEEHLKSRSIRPYLYLKDTTEMENAGPLNVLYSQHRQACRRSLGSTDFSPMFNIQSNAHKKEKDSTLFTAQIEKKPRKPLDSVGLLEGDRNKRNKRTQIP
>NM_001276351
MAEKILEKLDVLDKQAEIILARRTKINRLQSEGRKTTMAIPLTFDFQLEFEEALATSASKAISKIKEDKSCSITKSKMHVSFKCEPEPRKSNFEKSNLRPFFIQTNVKNKESESTAQIEKKPRKPLDSVGLLEGDRNKRKKSPQMNDFNIKENKSVRNYQLSKYRSVRKKSLLPLCFEDELKNPHAKIVNVSPTKTVTSHMEQKDTNPIIFHDTEYVRMLLLTKNRFSSHPLENENIYPHKRTNFILERNCEILKSIIGNQSISLFKPQKTMPTVQRKDIQIPMSFKAGHTTVDDKLKKKTNKQTLENRSWNTLYNFSQNFSSLTKQFVGYLDKAVIHEMSAQTGKFERMFSAGKPTSIPTSSALPVKCYSKPFKYIYELNNVTPLDNLLNLSNEILNAS
ベストアンサー1
次のように試すことができますawk
。
awk -F'[ _.]' '{if ($0~"^>") print ">"$3"_"$4; else print $0}' input_file
以前のコメントで提案したように、より短い形式を使用できます。エドモートン:
awk -F'[ _.]' '{print (/^>/ ? ">"$3"_"$4 : $0)}' input_file