Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • biocomputer
    Member
    • Dec 2013
    • 62

    #1

    sam/bam to wig for rna-seq

    What is the best way to convert rna-seq sam/bam files to .wig files? I've come across a few possibilities: deeptools bamcoverage, samtools pileup, samtools depth, bedtools genomecov, igvtools count. Can any of these properly deal with the stranded, spliced, paired-end reads usually generated by rna-seq?
  • dpryan
    Devon Ryan
    • Jul 2011
    • 3478

    #2
    Do you want separate files for each strand or are you ok with both strands being merged? If you're ok with merged values, then samtools pileup (or even just depth) would suffice.

    Comment

    • biocomputer
      Member
      • Dec 2013
      • 62

      #3
      I would like them separate so I can differentiate transcription between the plus and minus strands.

      Comment

      • dpryan
        Devon Ryan
        • Jul 2011
        • 3478

        #4
        If you can't find a prewritten tool then you can do this with either pysam using a pileup or the htslib C API. If you're familiar with either of those then this won't be too bade to write, but if not it'll be a bit daunting. If I have a chance this weekend then I'll see if I can just quickly code something, though the odds of me having a half hour to write and test something before Monday is relatively low.

        Comment

        • blancha
          Senior Member
          • May 2013
          • 367

          #5
          1. Split the BAM files by strand with samtools view (& samtools merge).
          2. Generate bedgraph files for the positive strand and negative strand BAM files with bedtools genome cov.
          3. Generate bigWig files with bedGraphToBigWig

          Comment

          • dpryan
            Devon Ryan
            • Jul 2011
            • 3478

            #6
            Since I can foresee needing something like this at some point anyway, here's a quick C implementation using htslib (the basis for samtools): https://github.com/dpryan79/Answers/...Qanswers_48599

            If you clone that repo, switch to the SEQanswers_48599 directory and type "make", you'll get a bam2wig program that should do what you want. You can filter by MAPQ and phred scores if you want and you should be able to set how the strand is determined (the default is for dUTP-based libraries, which are the most common). This has not been tested other to ensure that it actually runs, so have a look at the output in IGV and ensure it matches the raw data.

            Comment

            • biocomputer
              Member
              • Dec 2013
              • 62

              #7
              Thank you for the replies, I'm going to try both of the options given here and a few others and see what's the best.

              Comment

              • ptr
                Junior Member
                • Oct 2016
                • 1

                #8
                Originally posted by dpryan View Post
                Since I can foresee needing something like this at some point anyway, here's a quick C implementation using htslib (the basis for samtools): https://github.com/dpryan79/Answers/...Qanswers_48599
                Hi Devon,

                thanks for the code, I used it as a template for my own implementation.
                I have a question regarding your -p option for the min base quality of a base being counted: You write that 0 would indicate overlapping bases from paired-end reads, which should be not counted twice. I am wondering if there is a mapper that sets those bases to 0 upon encountering overlapping mates while mapping? Or is this done by on a read merging program prior to mapping?

                thanks,
                Peter

                Comment

                • dpryan
                  Devon Ryan
                  • Jul 2011
                  • 3478

                  #9
                  Hi Peter,

                  I'm not aware of any aligners that do that for you, this is usually done post-hoc...though honestly it'd be an easy enough thing to do. This is only really needed when people are making pileups, at which point it's easy enough to just do it then.

                  Comment

                  • Richard Finney
                    Senior Member
                    • Feb 2009
                    • 701

                    #10
                    I like this bam2wig script ... just need samtools and awk ...

                    samtools depth -aa your.bam | awk '{if (prev!=$1) print "fixedStep chrom="$1" start="$2" step=1 span=1\n"$3; else print $3; prev=$1}' > your.wig

                    Comment

                    Latest Articles

                    Collapse

                    • kinpict.com
                      Reply to 16S/ITS Profiling vs. Shotgun Metagenomics: What Changes in Your Workflow?
                      by kinpict.com
                      The part about this topic feels surprisingly grounded, and the details on the page is the bit that made me slow down. I’d keep <a href="https://kinpict.com/">ai family photo generator</a> bookmarked for later.
                      Today, 06:37 PM
                    • SEQadmin2
                      16S/ITS Profiling vs. Shotgun Metagenomics: What Changes in Your Workflow?
                      by SEQadmin2





                      NGS has revolutionized clinical microbiology by offering new ways to identify and surveil pathogens without prior knowledge of the target. One popular approach is 16S rRNA and ITS amplicon sequencing, which targets specific microbial markers. But studies are increasingly incorporating shotgun metagenomics, a technique that sequences all DNA from a sample without targeting specific microbial markers. This approach allows more detailed taxonomic classification,...
                      10-30-2026, 06:46 AM

                    ad_right_rmr

                    Collapse

                    News

                    Collapse

                    Topics Statistics Last Post
                    Started by SEQadmin2, 11-12-2026, 07:59 AM
                    0 responses
                    28 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 11-05-2026, 09:25 AM
                    0 responses
                    35 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 11-03-2026, 11:54 AM
                    2 responses
                    56 views
                    0 reactions
                    Last Post kinpict.com  
                    Started by SEQadmin2, 10-28-2026, 09:57 AM
                    0 responses
                    175 views
                    0 reactions
                    Last Post SEQadmin2  
                    Working...