This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Extract header from fasta file

Hello, How can I extract the id from the Orffinder fasta file result?

>lcl|ORF2_TRINITY_DN74698_c0_g1_i1:302:0 unnamed protein product, partial
MRIRSVVFTLRPRAKWMAPSSGMRLLLMFRSSSVLLCLSASSRATAPSLPRPLYDKSRVRKKIFPSRPLAAMAPFPRMQFQARLSDFIPAFSAIAAPRIS

I need to extract the id like this, Kindly let me know.

>TRINITY_DN74698_c0_g1_i1
header fasta

2 answers

A seqkit answer. You may need to tweak the regex depending on the variability in the naming scheme.

seqkit replace -p ".*ORF\d+_([^:]+).*" -r "\$1" test.fasta

>TRINITY_DN74698_c0_g1_i1
MRIRSVVFTLRPRAKWMAPSSGMRLLLMFRSSSVLLCLSASSRATAPSLPRPLYDKSRVR
KKIFPSRPLAAMAPFPRMQFQARLSDFIPAFSAIAAPRIS
$ awk -F "_|:" -v OFS="_" '/^>/{print ">"$2,$3,$4,$5,$6};!/>/' test.fa

>TRINITY_DN74698_c0_g1_i1
MRIRSVVFTLRPRAKWMAPSSGMRLLLMFRSSSVLLCLSASSRATAPSLPRPLYDKSRVRKKIFPSRPLAAMAPFPRMQFQARLSDFIPAFSAIAAP


$ sed -r '/^>/ s/.*ORF2_/>/;s/:.*//' test.fa

>TRINITY_DN74698_c0_g1_i1
MRIRSVVFTLRPRAKWMAPSSGMRLLLMFRSSSVLLCLSASSRATAPSLPRPLYDKSRVRKKIFPSRPLAAMAPFPRMQFQARLSDFIPAFSAIAAP

Log in to answer this question.