useDynLib(DECIPHER)

import(methods)
import(S4Vectors)
import(IRanges)
import(XVector)
import(Biostrings)
import(RSQLite)
import(DBI)
import(parallel)

importFrom("grDevices", "colorRampPalette", "colors", "dev.flush", "dev.hold", "dev.size", "rainbow", "rgb", "as.graphicsAnnot", "col2rgb")
importFrom("graphics", "abline", "axis", "box", "legend", "mtext", "par", "plot", "points", "rect", "segments", "strheight", "strwidth", "text", "axTicks", "hist", "layout", "lines", "polygon", "locator")
importFrom("stats", "dendrapply", "dist", "is.leaf", "nlminb", "optimize", "order.dendrogram", "pbinom", "reorder", "setNames", "step", "uniroot", "weighted.mean", "binomial", "glm", "glm.control", "optim", "predict", "smooth.spline", "dlnorm", "plnorm", "qlnorm", "chisq.test", "dmultinom", "ecdf", "pchisq", "qbinom", "as.dist", "pgamma", "prcomp", "qgamma", "qnorm", "rnorm", "runif")
importFrom("utils", "browseURL", "data", "flush.console", "object.size", "setTxtProgressBar", "txtProgressBar", "packageVersion", "write.table")

export(
# interacting with a database:
Add2DB, Codec, Seqs2DB, SearchDB, DB2Seqs,
# assigning group labels:
FormGroups, IdClusters, IdentifyByRank,
# lengths:
IdLengths, TerminalChar,
# phylogenetics:
Cophenetic, DistanceMatrix, MapCharacters, MODELS, ReadDendrogram, TreeLine, WriteDendrogram,
# forming consensus:
ConsensusSequence, Disambiguate, IdConsensus, TileSeqs,
# chimeras:
FindChimeras, CreateChimeras,
# microarrays:
DesignArray, Array2Matrix, NNLS, CalculateEfficiencyArray,
# primers:
AmplifyDNA, CalculateEfficiencyPCR, DesignPrimers, DesignSignatures, DigestDNA, MeltDNA,
# probes:
CalculateEfficiencyFISH, DesignProbes,
# viewing information:
BrowseSeqs, BrowseDB,
# sequence analysis/manipulation:
CorrectFrameshifts, DetectRepeats, OrientNucleotides, PredictDBN, PredictHEC, RemoveGaps, TrimDNA,
# multiple alignment:
AdjustAlignment, AlignDB, AlignProfiles, AlignSeqs, AlignTranslation, MaskAlignment, ScoreAlignment, StaggerAlignment,
# synteny:
AA_REDUCED, AlignSynteny, FindSynteny,
# taxonomic classification:
LearnTaxa, IdTaxa,
# genes:
FindGenes, FindNonCoding, ExtractGenes, LearnNonCoding, WriteGenes
)

S3method(`[`, "Synteny")
S3method(pairs, "Synteny")
S3method(plot, "Synteny")
S3method(print, "Synteny")
S3method(`[`, "Taxa")
S3method(c, "Taxa")
S3method(plot, "Taxa")
S3method(print, "Taxa")
S3method(`[`, "Genes")
S3method(`plot`, "Genes")
S3method(`print`, "Genes")
S3method(`print`, "NonCoding")
