This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Converting to fasta from .bam

Hello,

​I haven't found a good reference on how to convert an alignment currently in the .bam format back to .fasta. I was assuming there was a way to do this using Samtools, but I haven't found one. I did see a reference to a Bam2fastq converter, but that is a separate software package.

Thanks very much for any insights you might have.

Zach

alignment

1 answer

One easy way is to convert to BED with bam2bed and awk the columns you want into FASTA form:

$ bam2bed < reads.bam | awk '{print ">"$4"\n"$12;}' - > reads.fa

For instance:

$ bam2bed < contigs.bam | awk '{print ">"$4"\n"$12;}' - | head
>Contig545|m.1503
ATGGAGGTGATTGATTTTTCGGAGACGGAGATGGAAGCAGCGGAGCAGCTAGTGCAATTGAGCGAGGATGATACGTTGAGCTGTAGCAGCGGTACAGGCTTGAGCGTTAGCGGTTGTGAAGGCGGATTCCATAGGAAGAGACACAGCGATGTTATTAGTGATGAGGTGCAAAACGACGGCGTTGTACGTACGACGATGAATAACAATGCTACAGACGCTCAATGTTTTGTGAAGGCAATCACGGAGACGAACATAATAAGGAGGAGGTATAAGAAGAAAAAGTTTCGGTCTCTTGCGAGTCTTTACAGGGCAACGAAGGAGATGACGACGGACGAGTTGATCTAG
>Contig1727|m.4383
TTAATCCATTTGTTTCACTTTGTTAGCAGTCTCAATTGGTTTCTTGCTGATCATTTCATGATGGGATATATCTGTGTGGAATCTTTGTTTTGGTTTGACTTTTTGGTCGATGATGATTGACGTTAAGGCTTGTTTCTCAAAACATTCGCAGTGGCCGCCTAAGGCTTTCGCCTTTCGCCGGGCTTGAGAGCTTATGATGTTTTTATCCTTCCTTGGATGTCTGAGACCAAT
>Contig1477|m.3679
TTATAAAAAAGCAATACTATCATGGCGTTGGGGCGAGAAAGAGGCGCAACACATGCCTGTGAGTCCATGACGGCTCCAGAACTCTTCAGTATCAGCGACTCCGTGGATCCTGACTCTTCTCGTGCTCTTCGTGTCTGTGTTGAAGTAGAAAACATAGAAGGGCTGGGCAGGGCCTGGCAGAGATGTTGGGGAGAAAATGATTTCACCGGCCTTGTTGGTTCCTTGGGAGATCATACGCTGACTCCTCCGGAAAGCGAAGGGAAGAGACAAGGAAAGCTGAAATGATTGTCTGGACCACTCATGTTTGGTCACATCCTCCAGTATCCAAAGATCAAAACGGTCGAAAGAAGAACCAGTTCTCAAACAGTTTGTTGGTACAAGGACATCTAGCTTCCCTTTGTATTCTATCAATGATGTATAAACCTTCCAAACCAGGACCTCCTTAGGCGTAGTGATAAAACTTAGTATCCTCTCATATCTTACATCAAAGCACACAAACACAGGAGGAGTTTGATTTGGAACAGAAGCAGCATAATAGATGAAACCATTGATGCTTAGTCCCACAGTCATAGGGCAATAATACGGGGAGGTTCCTTGCGTTTC

Thank you very much for your help.

Log in to answer this question.