import(methods)
import(utils)
import(Biobase)
import(DBI)
import(RSQLite)

exportClasses(
    ## from R/AllClasses.R
    "Bimap",
    "FlatBimap",
    "AnnDbObj",
    #"AnnDbTable",
    "L2Rlink",
    "AnnDbBimap",
    "GoAnnDbBimap",
    "Go3AnnDbBimap",
    "GOTermsAnnDbBimap",
    "AnnDbMap",
    "IpiAnnDbMap",
    "AgiAnnDbMap",

    ## from R/GOTerms.R
    "GOTerms",

    ## from R/AnnDbPkg-maker.R
    "AnnDbPkgSeed"
)

exportMethods(
    ## from R/AnnDbObj-lowAPI.R
    "dbconn",
    "dbfile",
    "dbmeta",
    "dbschema",
    "dbInfo",
    #"Ltablename", "Rtablename",
    #"Lfilter", "Rfilter",
    #"flatten",

    ## from R/Bimap.R (the Bimap interface)
    "direction", "direction<-",
    "revmap",
    "colnames", "colmetanames",
    "Lkeyname", "Rkeyname", "keyname",
    "tagname",
    "Rattribnames", "Rattribnames<-",
    "Lkeys", "Rkeys", "keys",
    "Lkeys<-", "Rkeys<-", "keys<-",
    "subset",
    "[",
    "Llength", "Rlength", "length",
    "isNA",
    "mappedLkeys", "mappedRkeys", "mappedkeys",
    "count.mappedLkeys", "count.mappedRkeys", "count.mappedkeys",
    "show",
    "summary",
    "toTable",
    "head", "tail",
    "nrow",
    "links",
    "count.links",
    "nhit",
    "ncol", "dim",

    ## from R/GOTerms.R
    "GOID",
    "Term",
    "Ontology",
    "Synonym",
    "Secondary",
    "Definition",

    ## from R/BimapFormatting.R
    "as.list",
    #"toLList", "toRList", "toList",
    "as.character",

    ## from R/AnnDbBimap-envirAPI.R
    "ls",
    "mget",
    "eapply",
    "get",
    "exists",
    "[[",
    "$",
    "contents",
    "sample",

    ## more...
    "initialize",
    "makeAnnDbPkg"
)

export(
    ## from R/AnnDbObj-lowAPI.R
    showQCData,
       
    ## from R/SQL.R
    debugSQL,

    ## from R/GOTerms.R
    GOTerms,

    ## from R/AnnDbPkg-templates-common.R
    dbFileConnect,
    dbFileDisconnect,
    #addToNamespaceAndExport,
    mergeToNamespaceAndExport,

    ## from the R/createAnnObjs.*_DB.R files
    createAnnObjs.HUMANCHIP_DB,
    createAnnObjs.MOUSECHIP_DB,
    createAnnObjs.RATCHIP_DB,
    createAnnObjs.FLYCHIP_DB,
    createAnnObjs.YEASTCHIP_DB,
    createAnnObjs.ARABIDOPSISCHIP_DB,
    createAnnObjs.HUMAN_DB,
    createAnnObjs.MALARIA_DB,
    createAnnObjs.MOUSE_DB,
    createAnnObjs.RAT_DB,
    createAnnObjs.FLY_DB,
    createAnnObjs.YEAST_DB,
    createAnnObjs.YEASTLEGACY_DB,
    createAnnObjs.GO_DB,
    createAnnObjs.KEGG_DB,
    createAnnObjs.INPARANOIDHOMSA_DB,
    createAnnObjs.INPARANOIDMUSMU_DB,
    createAnnObjs.INPARANOIDRATNO_DB,
    createAnnObjs.INPARANOIDDROME_DB,
    createAnnObjs.INPARANOIDSACCE_DB,
    createAnnObjs.PFAM_DB,
    createAnnObjs.AFFYHUEX_DB,

    ## from R/AnnDbPkg-maker.R
    loadAnnDbPkgIndex,

    ## from R/AnnDbPkg-checker.R
    #checkProperty0,
    checkMAPCOUNTS,

    ## helpers for map creation, temporary
    ## until pluggable maps come online
    make_eg_to_go_map,
    make_go_to_eg_map,
    toSQLStringSet,

    ## help functions for making sqlite files
    popHUMANCHIPDB,
    popHUMANDB,
    popMOUSECHIPDB,
    popMOUSEDB,
    popRATCHIPDB,
    popRATDB,
    popARABIDOPSISCHIPDB,
    popFLYCHIPDB,
    popFLYDB,
    popYEASTCHIPDB,
    popYEASTDB,
    popMALARIADB,

    ## wrapper functions for making chip packages
    makeHUMANCHIP_DB,
    makeMOUSECHIP_DB,
    makeRATCHIP_DB,
    makeFLYCHIP_DB,
    makeARABIDOPSISCHIP_DB,
    makeYEASTCHIP_DB,

    #Convenience function to make the intermediate DB pkgs
    wrapBaseDBPackages
)

