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

                    • SEQadmin2
                      Beyond CRISPR/Cas9: Understand, Choose, and Use the Right Genome Editing Tool
                      by SEQadmin2



                      CRISPR/Cas9 sparked the gene editing revolution for both research and therapeutics.1 But this system still showed severe issues that limited its applications. The most prominent were the heavy reliance on PAM sequences, delivery limitations, double-stranded breaks that prompt unintended edits and cell death, and editing inefficiency (both in targeting and in knock-in reliability).

                      Despite this, “CRISPR helped turn genome editing from a specialized technique into
                      ...
                      07-31-2026, 11:01 AM
                    • SEQadmin2
                      Proteomic Platforms: How to Choose the Right Analytical Strategy to Improve Detection and Clinical Applications
                      by SEQadmin2


                      Proteomics platforms are evolving rapidly, with advances in mass spectrometry and affinity-based approaches expanding what researchers can detect and at what scale. As the field moves toward deeper proteome coverage and clinical applications, scientists face an increasingly complex landscape of tools. This article will explore how researchers are navigating these choices to find the right platform for their work.

                      The systematic characterization of the human proteome has
                      ...
                      07-20-2026, 11:48 AM

                    ad_right_rmr

                    Collapse

                    News

                    Collapse

                    Topics Statistics Last Post
                    Started by SEQadmin2, 08-06-2026, 07:41 AM
                    0 responses
                    23 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 08-03-2026, 10:13 AM
                    0 responses
                    37 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 07-31-2026, 02:55 AM
                    0 responses
                    43 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 07-24-2026, 12:17 PM
                    0 responses
                    26 views
                    0 reactions
                    Last Post SEQadmin2  
                    Working...