###################################################
### chunk number 1: set_width
###################################################
options( width = 80 )


###################################################
### chunk number 2: classes
###################################################
library( genomeIntervals )
data("gen_ints")
i


###################################################
### chunk number 3: ends
###################################################
i[,1]
i[,2]
closed(i)
closed(i)[2,2] <- FALSE


###################################################
### chunk number 4: <quick.closure
###################################################
i2 <- i
closed(i2) <- c( TRUE, FALSE )
i2


###################################################
### chunk number 5: seqname.strand
###################################################
seq_name(i)
strand(i)
strand(i)[2] <- "-"


###################################################
### chunk number 6: combine
###################################################
j
c( i[1:3,], j[1:2,] )


###################################################
### chunk number 7: annotation
###################################################
annotation(i)
annotation(i)$myannot = rep( c("my", "annot"), length=nrow(i) )
annotation(i[2:3,])


###################################################
### chunk number 8: annotationColumns
###################################################
i$myannot
i[["myannot"]]


###################################################
### chunk number 9: close-intervals
###################################################
close_intervals(i)


###################################################
### chunk number 10: size
###################################################
size(i)


###################################################
### chunk number 11: intervalOverlap
###################################################
interval_overlap( target=i, query=j )


###################################################
### chunk number 12: interval-union
###################################################
interval_union(i)


###################################################
### chunk number 13: setoperations
###################################################
interval_intersection(i,j)
interval_complement(j[1:2,])


###################################################
### chunk number 14: distance
###################################################
distance_to_nearest(i,j)


###################################################
### chunk number 15: inter-base
###################################################
k
inter_base(k)
k[inter_base(k),]


###################################################
### chunk number 16: size.inter-base
###################################################
size(k)


###################################################
### chunk number 17: intervalOverlap.inter-base
###################################################
interval_overlap(j,k)


###################################################
### chunk number 18: distance.inter-base
###################################################
distance_to_nearest(j,k)


###################################################
### chunk number 19: setoperations.inter-base
###################################################
interval_union(k)
interval_intersection(k,j)
interval_complement(k[1:2,])


###################################################
### chunk number 20: loadgff
###################################################
libPath <- installed.packages()["genomeIntervals", "LibPath"]
filePath <- file.path(
                      libPath,
                      "genomeIntervals",
                      "example_files"
                      )

gff <- readGff3( 
                file.path( filePath, "sgd_simple.gff" ), 
                isRightOpen=FALSE 
                )
idpa = getGffAttribute( gff, c( "ID", "Parent" ) )
head(idpa)


###################################################
### chunk number 21: sessionInfo
###################################################
si <- as.character( toLatex( sessionInfo() ) )
cat( si[ -grep( "Locale", si ) ], sep = "\n" )


