useDynLib(PING,.registration=TRUE)

importMethodsFrom(IRanges, "score", "sort", "unique", "order", "duplicated","start","end","lapply")

import(methods)
importFrom(graphics, abline, axis, grid, layout, lines, mtext, par, plot, points, segments, stripchart, symbols, title)
importFrom(grDevices, grey)
importFrom(stats, density, dt, integrate, kmeans, pt)
importFrom(BiocGenerics, density)
importFrom(stats4, summary)

importFrom(IRanges, IRanges, RangedData)
importClassesFrom(IRanges, IRanges, RangedData)
importMethodsFrom(IRanges, duplicated, end, lapply, order, score, space, start, unique)

importMethodsFrom(GenomicRanges, strand)

importFrom(BSgenome, GenomeData)
importClassesFrom(BSgenome, GenomeData)

import(GenomeGraphs)
import(GenomicRanges)


### export anything w/out a dot in front. 
#exportPattern(".+")

exportClasses(segReads, segReadsList, ping, pingError, pingList)
exportMethods(show, summary, plot, density, chromosome, score, se, seF, seR, sigmaSqF, sigmaSqR, mu, delta, w, code, length, K,"[","[[")

# I export the default parameters for the PING code, so that the user does not have to worry about them
export(paraPriorH,paraPriorTF,paraEMH,paraEMTF,segmentReads,PING,postPING,setParaEM,setParaPrior,makeRangedDataOutput,newPingError)
