import(methods, coda, foreach, parallel, stats, graphics, utils)
useDynLib(cubfits)
# exportPattern("^[[:alpha:]]+")

export(
# Main
  "cubfits",
  "cubpred",
  "cubappr",
# Utility
  "init.function",
  "fitMultinom",
  "estimatePhi",
# Ploting
  "plotprxy",
  "plotbin",
  "plotmodel",
  "plotaddmodel",
  "prop.bin.roc",
  "prop.model.roc",
# NSE Plotting
  "plotCUB.NSE",
  "prop.model.nse",
  "plotbin.NSE",
# SCUO
  "calc_scuo_values",
  "scuo.random",
# CAI
  "calc_cai_values",
# SCU
  "calc_scu_values",
# Simulation
  "simu.orf",
  "simu.phi.Obs",
  "simu.mixnormerr",
# Data structure
  "codon.low2up",
  "codon.up2low",
  "dna.low2up",
  "dna.up2low",
  "get.expath",
  "gen.n",
  "gen.reu13.df",
  "gen.scuo",
  "gen.phi.Obs",
  "gen.y",
  "gen.reu13.list",
  "read.seq",
  "write.seq",
  "read.phi.df",
  "write.phi.df",
# ASL
  "dasl",
  "dasla",
  "pasl",
  "pasla",
  "qasl",
  "qasla",
  "rasl",
  "rasla",
  "asl.optim",
# Workflow
  "get.workflow",
  "cp.workflow",
# MLE for mixnorm.
  "mixnormerr.optim",
  "dmixnormerr",
# Cedric
  "plotCUB",
  "plotTraces",
  "plotBMatrixPosterior",
  "plotExpectedPhiTrace",
  "plotPTraces",
  # "appendCUBresults",
  "readGenome",
  "cubmultichain",
  "cubsinglechain",
  "normalizeDataSet"
  #"isConverged"
)

# Converting
exportPattern("^convert.[[:alpha:]]+")

# Reordering
exportPattern("^rearrange.[[:alpha:]]+")

# S3 method
S3method("print", "mixnormerr")
