useDynLib(qpgraph)

import(graph)

import(methods)

import(Matrix)

importClassesFrom(Biobase,
                  ExpressionSet)

importClassesFrom(GGBase,
                  smlSet)

importMethodsFrom(Biobase,
                  exprs,
                  pData,
                  featureNames,
                  sampleNames,
                  varLabels)

importMethodsFrom(GGBase,
                  smList)

importMethodsFrom(AnnotationDbi,
                  mget,
                  revmap)

importFrom(Biobase,
           subListExtract)

importFrom(annotate,
           getAnnMap)

importFrom(parallel,
           makeCluster,
           clusterSetRNGStream,
           clusterEvalQ,
           stopCluster,
           clusterExport,
           clusterApply,
           clusterCall)

importFrom(mvtnorm,
           rmvnorm)

importFrom(qtl,
           sim.cross)

importFrom(Rgraphviz,
           layoutGraph,
           renderGraph,
           plot)

exportClasses("SsdMatrix",
              "erGraphParam",
              "dRegularGraphParam",
              "erMarkedGraphParam",
              "dRegularMarkedGraphParam",
              "UGgmm",
              "HMgmm",
              "eQTLcross",
              "eQTLcrossParam")

S3method(rmvnorm, UGgmm)
S3method(rmvnorm, numeric)
S3method(sim.cross, eQTLcross)
S3method(sim.cross, matrix)

exportMethods("qpNrr",
              "qpAvgNrr",
              "qpGenNrr",
              "qpPAC",
              "qpPCC",
              "qpCItest",
              "qpAllCItests",
              "qpEdgeNrr",
              "qpFunctionalCoherence",
              "show",
              "determinant",
              "dim",
              "dimnames",
              "summary",
              "rmvnorm",
              "rcmvnorm",
              "sim.cross",
              "plot",
              "rgraphBAM",
              "UGgmm",
              "HMgmm",
              "rUGgmm",
              "rHMgmm",
              "$",
              "eQTLcross",
              "reQTLcross",
              "addGenes",
              "addeQTL",
              "addGeneAssociation",
              "alleQTL",
              "ciseQTL",
              "transeQTL")

export(qpHist,
       qpGraphDensity,
       qpCliqueNumber,
       qpClique,
       qpBoundary,
       qpGraph,
       qpAnyGraph,
       qpGetCliques,
       qpUpdateCliquesRemoving,
       qpIPF,
       qpHTF,
       qpPAC,
       qpPCC,
       qpRndGraph,
       qpRndWishart,
       qpG2Sigma,
       qpUnifRndAssociation,
       qpK2ParCor,
       qpPrecisionRecall,
       qpPRscoreThreshold,
       qpImportNrr,
       qpTopPairs,
       qpPlotNetwork,
       qpPlotMap,
       qpCov,
       qpRndHMGM,
       qpSampleFromHMGM,
       erGraphParam,
       dRegularGraphParam,
       erMarkedGraphParam,
       dRegularMarkedGraphParam,
       eQTLcrossParam)
