No announcement yet.

SAM file after running bowtie2

  • Filter
  • Time
  • Show
Clear All
new posts

  • SAM file after running bowtie2

    Hello experts,

    I ran bowtie2 mapping with "local" setting on my illumina datasets a while ago and sam files were generated. Basically, I mapped reads onto assembled contigs. Unfortunately, sequence reads used for mapping are not available anymore so I need run bowtie2 again without "local" setting. Is there any way that I can do something with the sam files generated before? Any comments would be appreciated.

  • #2
    Can you clarify your goal? It sounds like you want to convert the sam files to fastq files in order to remap them; is that correct? The other option, converting local alignments into global alignments, is not really as far as I know. Converting the sam to fastq is easy, though, as long as the reads were soft-clipped rather than hard-clipped.


    • #3
      You can transform your bam files into fastq files. There is a great tool called bam2fastq for this purpose.


      to extract only unaligned reads:
      bam2fastq -o yourdata_unaligned.fastq --no-aligned yourdata.bam

      to extract only aligned reads:
      bam2fastq -o yourdata_aligned.fastq --no-unaligned yourdata.bam
      Last edited by diego diaz; 02-25-2015, 12:31 PM.


      • #4

        To clarify my goal, I would like to obtain fastq files used for mapping from SAM files. Based on comments from Brian Bushnell and diego diaz, it looks doable. Is there any tool for SAM files not BAM files? Thanks.


        • #5
          Reformat will do that:
 in=reads.sam out=reads.fastq

          Depending on whether the reads were initially paired, you may need to reprocess the output. Do you happen to know if they were paired?


          • #6
            For input of bowtie2 mapping, i used paired reads with flags -1 and -2.


            • #7
              OK - in that case, after you convert the sam to fastq as above, you should first test if the pairs are correctly ordered, like this:

     in=reads.fastq verifypairing

              If that completes successfully and says the reads were correctly paired, then you can simply de-interleave it into two files like this:

     in=reads.fastq out1=r1.fastq out2=r2.fastq

              That will probably be the case. If not, let me know and that can be solved also.


              • #8
                Also you can use SamToFastq from PicardTools to convert your sam files into fastqs.


                • #9
                  Did you check to see if bowtie will take a .bam as input, instead of a fastq?

                  My version, which might be a little old says it has an option

                   -r                 query input files are raw one-sequence-per-line
                  So rather than reformat the .sam to a fastq, maybe you could do a little unix piping, and use the file you already have, without having to make a fastq version of it.


                  • #10
                    Thanks all for the valuable comments.

                    Basically, I have tried reformat with multiple sam files and it worked great. I will also try with other comments (e.g. PicardTools). Thanks again!