## IMPORT NAMESPACES

import(BiocGenerics)
import(S4Vectors)
import(IRanges)
import(GenomicRanges)
import(GenomicAlignments)
import(SummarizedExperiment)
import(Rsamtools)
import(methods)

## IMPORT FUNCTIONS

importFrom(AnnotationDbi, select)
importFrom(Biostrings, DNAString, DNAStringSet, getSeq, translate)
importFrom(GenomicFeatures, cdsBy, exonsBy, mapFromTranscripts,
    mapToTranscripts)
importFrom(GenomeInfoDb, keepSeqlevels, seqinfo, seqlengths, seqlevels)
importFrom(RUnit, checkIdentical, checkTrue)
importFrom(grDevices, col2rgb, colorRampPalette, dev.size, rgb)
importFrom(graphics, axis, frame, layout, mtext, par, plot, polygon, rect,
    text)
importFrom(igraph, clusters, degree, delete.edges, delete.vertices,
    edge.connectivity, get.data.frame, get.shortest.paths,
    graph.data.frame, induced.subgraph, neighborhood, plot.igraph,
    shortest.paths, subcomponent)
importFrom(parallel, mclapply, mcmapply)
importFrom(rtracklayer, export, import)
importFrom(stats, dist, hclust, setNames)

## EXPORT FUNCTIONS

export(
    analyzeFeatures,
    analyzeVariants,
    annotate,
    convertToSGFeatures,
    convertToTxFeatures,
    exportFeatures,
    findSGVariants,
    getBamInfo,
    getSGFeatureCounts,
    getSGVariantCounts,
    importTranscripts,
    makeSGFeatureCounts,
    makeVariantNames,
    mergeTxFeatures,
    plotCoverage,
    plotFeatures,
    plotSpliceGraph,
    plotVariants,
    predictTxFeatures,
    predictVariantEffects,
    processTerminalExons
)

## EXPORT METHODS

exportMethods(
    updateObject)

## EXPORT CONSTRUCTORS

export(
    TxFeatures,
    SGFeatures,
    SGVariants,
    SGFeatureCounts,
    SGVariantCounts
)

## EXPORT ACCESSORS

exportMethods(
    type,
    txName,
    geneName,
    splice5p,
    splice3p,
    featureID,
    geneID,
    from,
    to,
    segmentID,
    eventID,
    variantID,
    closed5p,
    closed3p,
    closed5pEvent,
    closed3pEvent,
    variantType,
    variantName,
    featureID5p,
    featureID3p,
    featureID5pEvent,
    featureID3pEvent,
    counts,
    FPKM,
    variantFreq
)

exportMethods(
    'type<-',
    'txName<-',
    'geneName<-',
    'splice5p<-',
    'splice3p<-',
    'featureID<-',
    'geneID<-',
    'from<-',
    'to<-',
    'segmentID<-',
    'eventID<-',
    'variantID<-',
    'closed5p<-',
    'closed3p<-',
    'closed5pEvent<-',
    'closed3pEvent<-',
    'variantType<-',
    'variantName<-',
    'featureID5p<-',
    'featureID3p<-',
    'featureID5pEvent<-',
    'featureID3pEvent<-',
    'counts<-',
    'FPKM<-',
    'variantFreq<-'
)