Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ayushraman
    Junior Member
    • Jul 2009
    • 8

    #1

    Convert Paired End Reads BAM file to GRanges

    Hi,

    I would like to know ways to convert the Paired end bam file into GRanges (R Data Structure). I have readBamGappedAlignments function but I don't know if it works for paired end reads or not ? Any help/advice/hints would be appreciated..

    thanks
  • jurassicMarc
    Junior Member
    • Oct 2012
    • 1

    #2
    Hi ayushraman

    I've used the readGappedAlignments function in the Rsamtools package to plot gene coverage across genes. I had paired end Illumina data, and I used the function to read the data into a GRanges object as follows:

    Firstly, I created a GRanges object of genome position (with coordinated extracted from the CCDS database)
    Code:
    library(ggplot2)
    library(ggbio) 
    library(IRanges)
    library(GenomicRanges)
    library(Rsamtools)
    
    gene_coords <- GRanges (seqnames = chr, ranges = IRanges(start = cds_start, end = cds_end))
    I then used the readGappedAlignments function to read in paired-end data from the BAM file
    Code:
    bam_fields <- c("pos", "qwidth") #I believe these are the minimal parameters required
    				
    param <- ScanBamParam(which = gene_coords, what = bam_fields)
    				
    bam_file <- "path/to/paired-end-data-file.bam"
    				
    bam <- readGappedAlignments(bam_file, param = param)
    I converted the input data to a GRanges object
    Code:
    gr <- granges(bam)
    Once I had that I could plot the coverage (Providing the gene had any coverage) using the ggbio's autoplot function:
    Code:
    #Plot a gene if the gene region has any coverage
    gene_plot <- if(length(width(gr)) >= 1){
            #exons contains the start and stop regions for each exon in the gene
            exons <- data.frame(xmin = exon_starts, xmax = exon_ends, ymin = 0, ymax = Inf)
    					
    	cov_plot <- autoplot (
    		gr, 
    		stat = "coverage",
    		geom = "area",
    		colour = "black",
    		fill = "green",
    		xlab = "Position",
    		ylab = "Coverage",
    		main = "Coverage across gene"
    	
            #Marks the exon regions out so that you can see how much of the sequencing is on target				
    	) + geom_rect(
    		data = exons, 
    		aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax), 
    		fill = "yellow", 
    		colour = "black", alpha = 0.5
    					
    	)
    }
    
    #plot the graph				
    gene_plot
    This method for reading in data is relatively quick, not that memory intensive and quite simple.

    Hope this helps!
    Attached Files

    Comment

    Latest Articles

    Collapse

    • 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, detection...
      10-30-2026, 06:46 AM
    • 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

    ad_right_rmr

    Collapse

    News

    Collapse

    Topics Statistics Last Post
    Started by SEQadmin2, 10-28-2026, 09:57 AM
    0 responses
    44 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-28-2026, 09:51 AM
    0 responses
    26 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-22-2026, 11:13 AM
    0 responses
    74 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-22-2026, 10:48 AM
    0 responses
    48 views
    0 reactions
    Last Post SEQadmin2  
    Working...