## IMPORTS
import(methods, graphics, stats, RCurl, rjson, DBI,digest,Rcpp)

useDynLib(ChemmineR)

#importFrom{Rcpp, evalCpp}

## EXPORTS
## S4 Classes
## Source: AllClasses.R
exportClasses(
    "SDFstr", "SDF", "SDFset", "SMI", "SMIset", "AP", "APset", "FP", "FPset", "jobToken"
)

## Methods
## Source: AllClasses.R
exportMethods(
    "sdfstr2list", "sdf2list", "sdf2str", "SDFset2list", "SDFset2SDF",
    "sdfstr2list<-", "SDFset2SDF<-", "cid<-", 
    "header<-", "atomblock<-", "bondblock<-", "datablock<-",
    "[", "[[", "[<-", "[[<-", "coerce",
    "show", "length", "c", "plot", "as.matrix", 
    "header", "atomblock", "bondblock", "datablock", "view",
    "cid", "sdfid", "atomcount", "datablocktag", "obmol",
	 "fold","foldCount","fptype","numBits",
    
    ## Atom pair methods
    ## Source: AllClasses.R
    "ap"
)

## Functions
# exportPattern("^[[:alpha:]]+")
export(
    ## Data sets
    ## Source: ./data/
    "atomprop", "pubchemFPencoding", 
    
    ## Import/exports
    ## Source: AllClasses.R
    "read.SDFstr", "read.SDFset", "read.SMIset", "sdfStream", "read.AP", 
    "read.SDFindex", "write.SDF", "write.SMI", "write.SDFsplit",

    ## Utilities
    ## Source: AllClasses.R
    "validSDF", "makeUnique", "atomcountMA", "MW", "MF", 
    "datablock2ma", "splitNumChar",  "grepSDFset", 
    "conMA", "bonds", "groups", "rings", "atomsubset", "SDFset", 
	 "maximallyDissimilar",
   
    ## Plotting
    ## Source: AllClasses.R
    "plotStruc", 

    ## Atom pair functions
    ## Source: sim.R
    "SDF2apcmp", "sdf2ap", "apset2descdb", "desc2fp", 
    "cmp.search", "cmp.similarity", "cmp.parse", "cmp.parse1", 
    "sdf.subset", "db.explain", "cluster.sizestat", 
    "cmp.duplicated", "sdf.visualize", "db.subset",
	 "smiles2sdf","sdf2smiles",
	 "propOB","fingerprintOB", "regenerateCoords",
	 "smartsSearchOB","exactMassOB", "generate3DCoords","canonicalize",
	 "canonicalNumbering",
    
    ## Fingerprint functions
    ## Source: sim.R
    "fp2bit", "fpSim",

    ## Web Tool functions
    ## Source: sim.R
    "getIds", "searchString", "searchSim", "sdf2smiles", "smiles2sdf",

    ## Clustering functions
    ## Source: cluster.R
    "cmp.cluster", "jarvisPatrick", "cluster.visualize" ,"nearestNeighbors","trimNeighbors",
    "fromNNMatrix","byCluster",

    ## Database backend functions
    ## Source: compound_db.R
    "initDb","loadSdf","loadSmiles","getCompounds","findCompounds",
    "getCompoundNames","findCompoundsByName","addNewFeatures",
    "listFeatures", "jarvisPatrick_c", "genAPDescriptors",
	 "addDescriptorType", "setPriorities", "randomPriorities",
	 "forestSizePriorities","getAllCompoundIds","getCompoundFeatures",

    ## Large file/query utilites
    "bufferLines","bufferResultSet","parBatchByIndex","batchByIndex","selectInBatches","dbTransaction",

	##ChemmineDrugs functions
	 "DUD","DrugBank",

    ## Chemmine Tools
    "status","browseJob","result","listCMTools","toolDetails","launchCMTool"
)

