Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Scotch
    Junior Member
    • Aug 2010
    • 6

    #1

    Software to find gaps in coverage

    I'm trying to make a list of gaps in coverage in Illumina sequence data? IGV displays the number of reads covering each base, but is there a way to output this count data to a text file? This will save me having to manually scroll through the data in IGV and annotate by hand. Many thanks in advance.
  • simonandrews
    Simon Andrews
    • May 2009
    • 870

    #2
    You could do this in SeqMonk. The process would be:
    1. Import your raw data
    2. Do a contig probe generation with a depth of 1 read
    3. Do a read count quantitation
    4. Go back to probe generation and do an interstitial probe generation (so you put probes between the existing probes, which will be all the gaps in your assembly) - make sure not to exclude probes with no data!
    5. Do a read count quantitation (even through they will all be 0)
    6. Create an annotated probe report and you'll have a list of all of the gaps in your assembly
    7. Alternatively you can convert your probe set into an annotation track so you can see where the gaps are when performing further analyses

    Comment

    • msincan
      Member
      • Dec 2009
      • 19

      #3
      I have a python program that can do that. Please contact me at [email protected] if you are interested in using it. It can do sums, averages and determine streches of coverages based on thresholds using aligned bam files as input.

      Comment

      • quinlana
        Senior Member
        • Sep 2008
        • 119

        #4
        Originally posted by Scotch View Post
        I'm trying to make a list of gaps in coverage in Illumina sequence data? IGV displays the number of reads covering each base, but is there a way to output this count data to a text file? This will save me having to manually scroll through the data in IGV and annotate by hand. Many thanks in advance.
        genomeCoverageBed in the BEDTools package will do this for you.

        The "-d" option will report depth at every base (perhaps excessive). The -bga option will create a BEDGRAPH file documenting intervals with common depth. You could use awk on the output to report solely those intervals with 0 or <X coverage. Something like this:

        Code:
        genomeCoverageBed -ibam aln.possorted.bam -bga | awk '$4 == 0' > intervals.with.0.cov.bedg

        Check out the BEDTools manual or see the examples here:

        Comment

        • Adjuvant
          Member
          • Sep 2010
          • 13

          #5
          I also go the Bedtools route, but I wrote a quick perlscript to output some coverage statistics that can then be imported into Excel. I've been working with alignments against multiple fragments, but it works for single sequence alignments as well.

          Here's my method:

          Calculating alignment coverage

          Code:
          genomecoveragebed –ibam alignment_sorted.bam –g reference.fa.fai –bga > alignment.coverage
          ** Generates a file listing read coverage at each base for each genome. The "reference.fa.fai" file is the one created by samtools faidx.

          Code:
          perl path/to/get_fragment_coverage.pl –c alignment.coverage –o alignment_coverage.txt –d 1
          ** Generates a text file with the number of uncovered bases per genome or fragment and the total percent coverage of the entire genome or fragment. The –d flag is optional and designates how deep the coverage at a base should be for it to be counted as “covered.” The default is that if even a single read covers a base, it is counted as covered.

          By the way, if you want you can pipe genomecoveragebed and get_fragment_coverage.pl together if you want, like so:
          Code:
          genomecoveragebed –ibam alignment_sorted.bam –g reference.fa.fai –bga | perl path/to/get_fragment_coverage.pl –c STDIN –o alignment_coverage.txt –d 1
          And here's my script. Remember, I wrote it myself and it works pretty well for me, but feel free to adapt it for your purposes as needed.
          Attached Files

          Comment

          • msincan
            Member
            • Dec 2009
            • 19

            #6
            I just tried bedtools genomeCoverage and it gave an error and exit. The error is Chromosome chr_random10 found in your bed file but not in your genome file . So my hg18.fai only has regular chromosomes and it is these type of issues that led me to write my own program. I agree that bedtools is very fast and efficient but it doesn't fit every requirement easily at least for me. Do you know any workaround to this (i.e a flag to tell bedtools to ignore such errors) other than creating another fai with random chromosome positions.

            Comment

            • quinlana
              Senior Member
              • Sep 2008
              • 119

              #7
              I'm not sure why you wouldn't be using the same .fai as the header in your BAM, but in this case you could just make a new "genome" file from your BAM header.

              Code:
              samtools view -H [BAM] | grep "@SQ" | sed -e "s/SN://" -e "s/LN://" | cut -f 2,3 > chroms.txt

              Comment

              • msincan
                Member
                • Dec 2009
                • 19

                #8
                Originally posted by quinlana View Post
                I'm not sure why you wouldn't be using the same .fai as the header in your BAM, but in this case you could just make a new "genome" file from your BAM header.

                Code:
                samtools view -H [BAM] | grep "@SQ" | sed -e "s/SN://" -e "s/LN://" | cut -f 2,3 > chroms.txt
                It works, thanks, but how can I get coverage for only those regular (non-random) chromosomes?
                Last edited by msincan; 02-09-2011, 01:23 PM.

                Comment

                • bpetersen
                  Member
                  • Mar 2010
                  • 20

                  #9
                  At the risk of this being a stupid question: What exactly are these "random" chromosomes? I stumbled over this when converting a soap alignment to bam. I think alignments to these random chromosome s were just skipped in the conversion and I would like to know if I'm now missing important data in my bamfile.

                  Comment

                  • Bruins
                    Member
                    • Feb 2010
                    • 78

                    #10
                    They are unassembled supercontigs. They can be found in hg19 (at least, in 1kg.37) but not in hg18.

                    Can someone confirm if I got this right?

                    Anyway, we do use them to align to, because there may be reads that should be aligned there instead of at the regular chromosomes. If the supercontigs are missing, those reads may be forced to align in a place where they don't belong. In short: reduce the number of false positives.

                    Sorry for being slightly off topic.

                    Comment

                    • quinlana
                      Senior Member
                      • Sep 2008
                      • 119

                      #11
                      Originally posted by msincan View Post
                      It works, thanks, but how can I get coverage for only those regular (non-random) chromosomes?
                      Just add a grep -v "_random" after the output of genomeCoverageBed to filter any intervals arising from the "random" chroms.

                      Comment

                      • colindaven
                        Senior Member
                        • Oct 2008
                        • 417

                        #12
                        I couldn't get the following command to work:

                        genomeCoverageBed -ibam aln.possorted.bam -bga | awk '$4 == 0' > intervals.with.0.cov.bedg

                        The following worked fine:

                        samtools view -b mybam.bam | genomeCoverageBed -ibam stdin -g PA14genome.txt -bga | awk '$4 == 0' > intervals.with.0.cov.bedg

                        Comment

                        Latest Articles

                        Collapse

                        • SEQadmin2
                          Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
                          by SEQadmin2



                          Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

                          Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
                          ...
                          10-14-2026, 09:55 AM
                        • SEQadmin2
                          New Genomics Technologies Take Aim at Long-Standing Limits
                          by SEQadmin2


                          Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.

                          We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing
                          ...
                          09-28-2026, 10:25 AM

                        ad_right_rmr

                        Collapse

                        News

                        Collapse

                        Topics Statistics Last Post
                        Started by SEQadmin2, 10-22-2026, 11:13 AM
                        0 responses
                        28 views
                        0 reactions
                        Last Post SEQadmin2  
                        Started by SEQadmin2, 10-22-2026, 10:48 AM
                        0 responses
                        21 views
                        0 reactions
                        Last Post SEQadmin2  
                        Started by SEQadmin2, 10-15-2026, 10:52 AM
                        0 responses
                        38 views
                        0 reactions
                        Last Post SEQadmin2  
                        Started by SEQadmin2, 10-14-2026, 05:39 AM
                        0 responses
                        44 views
                        0 reactions
                        Last Post SEQadmin2  
                        Working...