This will not handle multi-line fasta (which is pretty common) correctly since each line is reversed individually
>ENST00000014935
TAGGTTTTTAATTACCTTTATTTTATTTTGCCAAACATACCTGGGAATACCTTTTATTTTTTTTTTACCTTGGGGTGATGGTTCCAAACCATAAATGTGATTATAGTTAACACATGACCCTTCTAGCGTCCCAGCCAGTGTTTTTCCTGACCTCTCTTCTTTGGAGAGGAGGATGGAAGGGAGGGGTCCGGCATGCTGCTGGCATTTTGCTGTGTCCTGCAGCCCCTTTCCGGGACACCTGGGTTCACACAGCTTTTTAGCTTACATAACTGGTGCAGATTTTCTGTGTGGAGATGTTGCCTTGACCAGCCTTGGCTGGACTTTACCAGGCATGCAGAAGCCTGTACCAACACAGACTACAGCACCCAGGAGGTGCGAGTGTGGCTGCTCAGCGGTTATAACAGGCCTGACTGCATTGTTCACCGGATTATAATGAGCCAAAATGTTTCCCGGTGTTTGCTGGTTTCAGGGAAGGAGTTTGATATAGCAGATTAACCACCCTCCTTGTAGCTATTGGGGCTTAATGGTTTCCTGGTGATTCTTACCAATCCACAATAAACATGGCCCATTGGCATATCTGCTGCACAAGTGTCCTATCTCACCAATCTGGGTTTTTGTTCTCAGTAACTTTCCTTCTTGTCATACAACATCTTCATTCCTCTTTCTGAACCCTCCCTTCCCCTACCCCAACCCAGAGCCCACTTTGTCTCCACTCCTGATACTACACTACCTGGCAGGTGGCATGAGTGCAGGGCCCCTGGCTTCCTCTCCTAATCTAGGCACAAGCCCAACCAAAGAACAAGAGCCAAATCAAACAAGGCAGGCAGGGGTGGACTACAGTCACAGGGCAACTATAGTTGAAGCCCCCCAGCCCCAGGGCTGGATGGACGGGGGAGGCTGGGGTTTAAGTCCCAAAAGGCAGCAGGCCCTGGGGGGGTAGGGGGACGCTCAGGCAGCAGGGCACAGCTGAGGGGACAGGAGTGATAGCAGCAACAGAACAGTGAGGCTGAGAGGCTGGACGCTGTGCGCCTGGCTCAGCTTCAGCTCCACCTCCACGGGGTAGTGGTCACTGATGTTGAGGGC
>ENST00000014944
TCCTCCTCGGTGAGCTGGAAGCTCGTGGGGAAGTCAAAGGCAGCCGCAGTGTGCAGCAGACTCCGGCAGCGCTCCCCGTGCAGCACGACGCGGTCATAGGTGCAGTGGGTGCTGGCCCGCACTGTGGTGTCCTCCCCATCGGCAATCACCCAGTGGAAGCCTGGCTCAGTCCGCAGCTCCAGCTTGTCCAGGCGCTTTTTGGTCAGTGAAGCGCAGTCAGCATTGAAGTCCCCAAGCAGGATCACGTC
Likewise, I have a huge fasta sequence and I want to reverse the sequence of those fasta sequences like below:-
>ENST00000014935
CGGGAGTTGTAGTCACTGGTGATGGGGCACCTCCACCTCGACTTCGACTCGGTCCGCGTGTCGCAGGTCGGAGAGTCGGAGTGACAAGACAACGACGATAGTGAGGACAGGGGAGTCGACACGGGACGACGGACTCGCAGGGGGATGGGGGGGTCCCGGACGACGGAAAACCCTGAATTTGGGGTCGGAGGGGGCAGGTAGGTCGGGACCCCGACCCCCCGAAGTTGATATCAACGGGACACTGACATCAGGTGGGGACGGACGGAACAAACTAAACCGAGAACAAGAAACCAACCCGAACACGGATCTAATCCTCTCCTTCGGTCCCCGGGACGTGAGTACGGTGGACGGTCCATCACATCATAGTCCTCACCTCTGTTTCACCCGAGACCCAACCCCATCCCCTTCCCTCCCAAGTCTTTCTCCTTACTTCTACAACATACTGTTCTTCCTTTCAATGACTCTTGTTTTTGGGTCTAACCACTCTATCCTGTGAACACGTCGTCTATACGGTTACCCGGTACAAATAACACCTAACCATTCTTAGTGGTCCTTTGGTAATTCGGGGTTATCGATGTTCCTCCCACCAATTAGACGATATAGTTTGAGGAAGGGACTTTGGTCGTTTGTGGCCCTTTGTAAAACCGAGTAATATTAGGCCACTTGTTACGTCAGTCCGGACAATATTGGCGACTCGTCGGTGTGAGCGTGGAGGACCCACGACATCAGACACAACCATGTCCGAAGACGTACGGACCATTTCAGGTCGGTTCCGACCAGTTCCGTTGTAGAGGTGTGTCTTTTAGACGTGGTCAATACATTCGATTTTTCGACACACTTGGGTCCACAGGGCCTTTCCCCGACGTCCTGTGTCGTTTTACGGTCGTCGTACGGCCTGGGGAGGGAAGGTAGGAGGAGAGGTTTCTTCTCTCCAGTCCTTTTTGTGACCGACCCTGCGATCTTCCCAGTACACAATTGATATTAGTGTAAATACCAAACCTTGGTAGTGGGGTTCCATTTTTTTTTTATTTTCCATAAGGGTCCATACAAACCGTTTTATTTTATTTCCATTAATTTTTGGAT
>ENST00000014944
CTGCACTAGGACGAACCCCTGAAGTTACGACTGACGCGAAGTGACTGGTTTTTCGCGGACCTGTTCGACCTCGACGCCTGACTCGGTCCGAAGGTGACCCACTAACGGCTACCCCTCCTGTGGTGTCACGCCCGGTCGTGGGTGACGTGGATACTGGCGCAGCACGACGTGCCCCTCGCGACGGCCTCAGACGACGTGTGACGCCGACGGAAACTGAAGGGGTGCTCGAAGGTCGAGTGGCTCCTCCT
Can anyone tell me how can I do this. Thanks in advance.
2 answers
awk '$1 ~ /^>/ {print $0;next} {print $0 | "rev"}' test.fa
Edit: Forget about cumbersome awk, and just use bioawk (bioawk Github):
cat test.fa
>foo
AATTGGC
GGAT
TGATCGATCGATCGAC
>bar
GGT
TTTTTT
>gee
TATCGACTGACTTTTTTTTTTT
bioawk -c fastx '{print ">"$name;print reverse($seq)}' test.fa
>foo
CAGCTAGCTAGCTAGTTAGGCGGTTAA
>bar
TTTTTTTGG
>gee
TTTTTTTTTTTCAGTCAGCTAT
Correct! Edited it.
If you sequence is unfolded (two lines per sequence), you can do
perl -ne 'if (/^>/) {print} else {chomp; $rev = reverse($_); print "$rev\n"}' file.fa > rev.fa
If it's folded, you can unfold it first:
seqtk seq -l 0 file.fa | perl -ne 'if (/^>/) {print} else {chomp; $rev = reverse($_); print "$rev\n"}' > rev.fa
(If you don't have seqtk, you can get it via conda, or just download the binary from GitHub)
Log in to answer this question.
fasta - reverse complement sequence previously answed. Please have a look.
I don't want reverse complementary sequence, I just want to only reverse the sequence.
If you only want to reverse then change @Pierre's solution to:
you can try (for flattened fasta):
or use
revseq -nocomplementfrom EMBOSS.harry : Don't forget to follow up on your past threads.
If an answer/comment was helpful, you should upvote it; if the answer resolved your question, you should mark it as accepted. You can accept more than one if they work.

Can anyone help me if I have the fasta file in tab separated format which I got from bedtools get fasta. Then is there a way to get the reverse sequence of that fasta sequence.
Thanks in advance
bedtools getfasta returns a normal fasta, not tab. Please be more precise what the problem is.
bedtools getfasta option see below, so as i used -tab option then how i reverse the sequence of the output fasta sequence.
Thanks in advance for helping me to sort this issue.
Don't use tab ¯_(ツ)_/¯
If you need the reversed fasta (output of the bioawk command) as tab-separated file then you can do:
That will replace the newline character \n by tab so you should have the name of the sequence in column1 and the sequence itself in column2.
So 1) get fasta with bedtools, 2) reverse it with bioawk, 3) get tabdelimited file with
tr.Does that make sense in your case?
Hi, I tried it but again I didn't get the reverse sequence. I don't know why is it happen. this command is done fine with pipe command or not. Thanks in advance
I cannot see your screen or your data, cannot comment unfortunately.