## ============================================================
## Import
## ============================================================
## ggplot2
import(methods)
import(BiocGenerics)
import(biovizBase)
import(grid)
import(ggplot2)
## importFrom(gtable, gtable_add_padding, gtable_add_grob, gtable_add_cols,
##            gtable_add_rows, cbind)
import(gtable)
import(reshape2)
import(scales)
import(plyr)
importFrom(gridExtra, grid.arrange, arrangeGrob)
importFrom(Hmisc, bezier)
## GenomicRanges
## IRanges
importFrom(IRanges, IRanges,  disjointBins,
           matchMatrix, findOverlaps, subsetByOverlaps,
           "elementMetadata", "elementMetadata<-",
           start, width, end,  resize, metadata, "metadata<-",
           "values", "values<-",
           ranges, "ranges<-", 
           isTRUEorFALSE, coverage, slice,
           elementLengths,  
           reduce, punion, pgap, gaps, "%in%")

importMethodsFrom(IRanges,  split, 
                  unlist, psetdiff,
                  range, endoapply,
                  as.data.frame,
                  length, as.list, as.matrix,
                  "[","[<-","[[", "[[<-","$",
                  show)

importClassesFrom(IRanges, Rle, RleList, IRanges, characterORNULL, Views, ViewsList)

## ## GenomicRanges

importFrom(GenomicRanges, "seqnames<-",
           seqlevels, "seqlevels<-", genome, "genome<-",
           GRanges, GRangesList, Seqinfo, seqlengths, "seqlengths<-")
importMethodsFrom(GenomicRanges, ranges, "ranges<-",
                  start, end, width, "start<-", "end<-", "width<-",
                  seqnames, seqinfo, show, 
                   "elementMetadata<-", elementMetadata,
                  as.data.frame, keepSeqlevels, renameSeqlevels,
                  sort)


importClassesFrom(GenomicRanges, GRanges, GRangesList, GenomicRangesList)

## ## ## Rsamtools

importFrom(Rsamtools, ScanBamParam, scanBam, scanBamHeader,
           scanBamFlag,BamFile,
           PileupFiles, PileupParam ,
           readBamGappedAlignments)
importMethodsFrom(Rsamtools, applyPileups, path)
importClassesFrom(Rsamtools, BamFile)

## ## ## BSgenome
importClassesFrom(BSgenome, BSgenome)

## ## ## GenomicFeatures
importClassesFrom(GenomicFeatures,TranscriptDb)
importFrom(GenomicFeatures,
           transcriptsByOverlaps,
           exonsBy, 
           cdsBy)


## rtracklayer
importMethodsFrom(rtracklayer, import)

## VariantAnnotation
importClassesFrom(VariantAnnotation, VCF)
importMethodsFrom(VariantAnnotation, fixed, "fixed<-", ref, "ref<-",
                  alt, "alt<-", info, "info<-", geno, "geno<-",  readVcf) 


## ============================================================
## Export
## ============================================================
## utils
exportMethods(autoplot, rescale, mold, fixed, "fixed<-", 
              xlim, "xlim<-", update, reset, backup,
              bgColor, "bgColor<-", labeled, "labeled<-",
              mutable, "mutable<-", height, "height<-",
              hasAxis, "hasAxis<-", ggplot)


export(arrangeGrobByParsingLegend, ggbio)

## scale
export(scale_x_sequnit, scale_fill_giemsa, scale_fill_fold_change)

## geom
exportMethods(geom_chevron,
              geom_arch,
              geom_alignment,
              geom_arrow,
              geom_arrowrect,
              geom_rect,
              geom_bar,              
              geom_segment)

## stat
exportMethods(stat_aggregate,
              stat_coverage,
              stat_identity,	
              stat_mismatch, 	
              stat_stepping,
              stat_gene,
              stat_table,
              stat_slice,
              stat_bin,
              stat_reduce)

## layout
exportMethods(layout_karyogram,
              layout_circle)


## coord
export(coord_genome)
export(tracks,
       align.plots,
       alignPlots,
       plotFragLength,        
       plotSpliceSum,       
       plotStackedOverview,
       plotKaryogram,       
       plotSingleChrom,
       plotIdeogram,       
       plotGrandLinear,
       plotRangesLinkedToData)

export(theme_null, theme_alignment, theme_clear, theme_tracks_sunset,
       theme_pack_panels, theme_noexpand)

 

