bamRange: bamRange(object, coordinates, complex=FALSE): Function for...

Description Usage Arguments Details Value Examples

View source: R/rbamtools.R

Description

The bamRange function takes a bamReader object, a set of reference coordinates and the 'complex' argument and returns an instance of class 'bamRange'.

Usage

1
bamRange(object=NULL, coords=NULL, complex=FALSE)

Arguments

object

An instance of bamReader. Must be opened and contain initialized index

coords

Integer vector of length 3: coords=c(refid, start, stop)

complex

A logical value (of length 1). Default value: FALSE

Details

The method returns a list of bamAlign's from which overlap with the specified region. When complex is TRUE, the function only retrieves Aligns where nCigar > 1 ('complex' aligns, e.g. 45M329N56M). When reader is NULL, an empty range-list ist constructed (can be filled with push_back). When complex is FALSE, the function retrieves all alignments which fall into the given range.

Value

An instance of class bamRange which can be accessed sequentially, modified or written to a BAM-file.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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)

# Eventually:
createIndex(reader,idx)
# Load BAM index file
loadIndex(reader,idx)
indexInitialized(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)
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)

rbamtools documentation built on Nov. 11, 2019, 5:09 p.m.