## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)

## ----results='hide', message=FALSE--------------------------------------------
#if (!requireNamespace("BiocManager", quietly=TRUE))
    #install.packages("BiocManager")

library(GenomicRanges)
library(rtracklayer)
library(biovizBase) #needed for stain information
library(IRanges)
library(R.utils)
library(TxDb.Hsapiens.UCSC.hg18.knownGene)

## ----eval=FALSE---------------------------------------------------------------
#  # create a query against a UCSC Table browser
#  query <- rtracklayer::ucscTableQuery("hg18", "cytoBandIdeo")
#  table1 <- rtracklayer::getTable(query) # retrieve table
#  head(table1)
#  
#  #Add an extra column with strand information
#  table1$Strand <- c("*")
#  
#  ## Convert object into GRanges object
#  table1.gr <- GRanges(table1$chrom,
#                      IRanges(table1$chromStart, table1$chromEnd),
#                      table1$Strand,
#                      table1$name, table1$gieStain)
#  
#  head(table1.gr, n = 3)
#  
#  #Save this object for future use
#  save(table1.gr, file = "hg18.ucsctrack.RData")
#  
#  #NOTE : For hg19, simply use "hg19" in query instead of "hg18"

## ----eval=FALSE---------------------------------------------------------------
#  # URL for hg18
#  url <- "http://hgdownload.soe.ucsc.edu/goldenPath/hg18/database/cytoBand.txt.gz"
#  
#  #Download file and un-compress it
#  download.file(url, destfile = "cyto.txt.gz")
#  R.utils::gunzip("cyto.txt.gz")
#  
#  #Read in the downloaded cytoband ideogram txt file
#  cyto1 <- read.table(file = "cyto.txt",
#                      header = FALSE, sep = "\t")
#  
#  #Adding column names
#  colnames(cyto1) <- c("Chrom", "Start", "End", "CytobandName", "Stain")
#  
#  #Add an extra column with strand information
#  cyto1$Strand <- c("*")
#  
#  #The user must ensure that the input object is a GRanges object
#  
#  ## Convert object into GRanges object
#  cyto1.gr <- GRanges(cyto1$Chrom,
#                      IRanges(cyto1$Start, cyto1$End),
#                      cyto1$Strand,
#                      cyto1$CytobandName, cyto1$Stain)
#  
#  head(cyto1.gr, n = 3)
#  
#  #The user must ensure that the input object is a GRanges object
#  
#  #Save this object for future use
#  save(cyto1.gr, file = "hg18.ucsctrack.RData")
#  
#  #NOTE : URL for hg19
#  #url <- "http://hgdownload.soe.ucsc.edu/goldenPath/hg19/database/cytoBand.txt.gz"
#  
#  # URL FOR hg38
#  #url <- "http://hgdownload.soe.ucsc.edu/goldenPath/hg38/database/cytoBand.txt.gz"

## ----eval=FALSE---------------------------------------------------------------
#  hg18.ucsctrack <- biovizBase::getIdeogram("hg18", cytoband = TRUE)
#  
#  head(hg18.ucsctrack, n=3)
#  #The user must ensure that the input object is a GRanges object
#  
#  #Save this object for future use
#  save(hg18.ucsctrack, file = "hg18.ucsctrack.RData")