import(methods)
import(utils)

importFrom(igraph, graph.data.frame, get.data.frame, layout.kamada.kawai,
                   plot.igraph, igraph.to.graphNEL)


import(BiocGenerics)
import(IRanges)
import(GenomicRanges)

importFrom(graph, nodeDataDefaults, nodeData,
                  edgeDataDefaults, edgeNames, edgeData)

importFrom(Rgraphviz, agopen)

import(GenomicFeatures)
import(Rsamtools)

exportClasses(.SplicingGraphGenes, SplicingGraphs)


### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Export S4 methods for generics not defined in SplicingGraphs
###

exportMethods(
    length,
    names,
    "[",
    "[[",
    elementLengths,
    unlist,
    intronsByTranscript,
    plot
)


### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Export non-generic functions (and non-function symbols)
###

export(
    ## sgedges-methods.R:
    sgedges2,

    ## sgraph-methods.R:
    sgraph2,
    slideshow,

    ## bubbles-methods.R:
    ASCODE2DESC,

    ## countReads.R:
    assignSubfeatureHits,

    ## toy_data.R:
    toy_genes_gff,
    toy_reads_sam,
    toy_reads_bam,
    toy_overlaps,
    plotToyReads
)


### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Export S4 generics defined in SplicingGraphs + export corresponding
### methods
###

export(
    ## SplicingGraphs-class.R:
    plotTranscripts,
    SplicingGraphs,

    ## sgedges-methods.R:
    txpaths,
    UATXHcount,
    sgedges,
    sgnodes,
    outdeg, indeg,
    uninformativeSSids,

    ## sgraph-methods.R:
    sgraph,

    ## bubbles-methods.R:
    bubbles
)

### Exactly the same list as above.
exportMethods(
    plotTranscripts,
    SplicingGraphs,
    txpaths,
    UATXHcount,
    sgedges,
    sgnodes,
    outdeg, indeg,
    uninformativeSSids,
    sgraph,
    bubbles
)