library(rbamtools)
bam <- system.file("extdata", "accepted_hits.bam", package="rbamtools")
idx<-paste(bam,"bai",sep=".")
# Open BAM file
reader<-bamReader(bam)
# +++++++++++++++++++++++++++++++++++++++++++++++
# Create empty range and fill with push_back
range<-bamRange()
for(i in 1:10)
{
align<-getNextAlign(reader)
push_back(range,align)
}
size(range)
# +++++++++++++++++++++++++++++++++++++++++++++++
#
# create.index(reader,idx)
# Load BAM index file
load.index(reader,idx)
index.initialized(reader) # Should return 'TRUE'
# +++++++++++++++++++++++++++++++++++++++++++++++
# Find appropriate refid (=ID)
# Returns a data.frame with three columns:
# ID=refid, SN=Sequence Name, LN=Sequence length
rdf<-getRefData(reader)
head(rdf)
# +++++++++++++++++++++++++++++++++++++++++++++++
# The sequence length (LN) also determines valid
# range for start and stop coordinates
# Invalid refid-, start- or stop-coordinates will
# release an error.
# coords: refid=0, start=0, stop=249250621
# +++++++++++++++++++++++++++++++++++++++++++++++
coords<-as.integer(c(0,0,249250621))
range<-bamRange(reader,coords)
size(range)
range<-bamRange(reader,coords)
size(range)
align<-getNextAlign(range)
cigarData(align)
range<-bamRange(reader,coords,complex=TRUE)
size(range)
align<-getNextAlign(range)
cigarData(align)
# while(!is.null(align))
# {
# print(position(align))
# align<-getNextAlign(range)
# }
bamClose(reader)
Run the code above in your browser using DataLab