useDynLib(biovizBase, .registration=TRUE)

## ======================================================================
## Import
## ======================================================================

import(methods)
import(BiocGenerics)

### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### base packages
###

importFrom(grDevices, colorRampPalette)
importFrom(graphics, par, plot, rect, text)
importFrom(stats, approx, as.formula, asOneSidedFormula, setNames)
importFrom(utils, menu)

### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Non-bioconductor packages
###

importFrom(RColorBrewer, brewer.pal)
importFrom(scales, dichromat_pal, dscale, expand_range, rescale)
importFrom(Hmisc, bezier)
importFrom(dichromat, colorschemes)
importFrom(rlang, quo_text)

### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Bioconductor packages
###

import(S4Vectors)
import(IRanges)
import(GenomeInfoDb)
import(GenomicRanges)
import(SummarizedExperiment)

## Biostrings
importFrom(Biostrings, AA_ALPHABET, DNA_ALPHABET, RNA_ALPHABET,
           IUPAC_CODE_MAP, AMINO_ACID_CODE)
importMethodsFrom(Biostrings, getSeq, letterFrequency,
                  letterFrequencyInSlidingView)

## Rsamtools
importClassesFrom(Rsamtools, BamFile)
importFrom(Rsamtools, index, scanBamFlag, PileupFiles, ApplyPileupsParam)
importMethodsFrom(Rsamtools, ScanBamParam, applyPileups, scanBam)

## GenomicAlignments
importFrom(GenomicAlignments, cigar, readGAlignments)
importClassesFrom(GenomicAlignments, GAlignments)

## GenomicFeatures
importClassesFrom(GenomicFeatures, TxDb)
importMethodsFrom(GenomicFeatures, transcripts, cdsBy, cdsByOverlaps, exonsBy,
                  exonsByOverlaps, isActiveSeq, "isActiveSeq<-", transcripts,
                  transcriptsByOverlaps)

## AnnotationDbi
importFrom(AnnotationDbi, unlist2, select, mappedRkeys, revmap, toTable)

## VariantAnnotation
importClassesFrom(VariantAnnotation, VRanges)

## AnnotationFilter
importClassesFrom(AnnotationFilter, AnnotationFilter, GRangesFilter,
                  TxIdFilter)
importFrom(AnnotationFilter, AnnotationFilter, GRangesFilter, TxIdFilter,
           AnnotationFilterList, GenenameFilter)

## ensembldb
importMethodsFrom(ensembldb, listColumns, exons, transcripts)

## ======================================================================
##    export
## ======================================================================
## color
export(getBioColor,
       plotColorLegend,
       genBrewerBlindPalInfo,
       genDichromatPalInfo,
       genBlindPalInfo,
       colorBlindSafePal,
       blind.pal.info,
       brewer.pal.blind.info,
       dichromat.pal.blind.info,
       estimateCoverage)



## transform
export(transformToCircle,
       transformToRectInCircle,
       transformToBarInCircle,
       transformToSegInCircle,
       transformToLinkInCircle,
       transformDfToGr,
       transformGRangesForEvenSpace)
exportMethods(transformToGenome,transformToDf)

## utils
exportMethods(addStepping,
              shrinkageFun,
              maxGap,
              splitByFacets,
              getGaps,
              getXScale,
              getYLab,
              getXLab,
              crunch,
	      mold)

export(isIdeogram, isSimpleIdeogram, getIdeogram, containLetters,
       pileupAsGRanges, pileupGRangesAsVariantTable, GCcontent,
       showColor, isJunctionRead, isMatchedWithModel,
       flatGrl, getIdeoGR, getScale, getFormalNames, subsetArgsByFormals,
       parseArgsForAes, parseArgsForNonAes, strip_formula_dots,
       is_coord_truncate_gaps, is_coord_genome)


## exportPattern("^[^\\.]")