## IMPORTS
import(methods, graphics, stats, RCurl, rjson, DBI,digest,Rcpp,
	ggplot2,grid,gridExtra,png,base64enc,DT,rsvg)

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<-", "sdfid<-",
    "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",
	 "getAtomAttr","getBondAttr",

    
    ## Atom pair methods
    ## Source: AllClasses.R
    "ap"
)

## Functions
# exportPattern("^[[:alpha:]]+")
export(
    ## Data sets
    ## Source: ./data/
	 ## these are exporting variables, not "data" objects (though they may also be "data" objects)
    "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", 
	 "openBabelPlot",
	 "draw_sdf",

    ## 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",
	 "largestComponent",
    
    ## Fingerprint functions
    ## Source: sim.R
    "fp2bit", "fpSim",

    ## Web Tool function   These are all deprecated now, in favor of the pubchem* functions below
    ## Source: chemmine_tools.R
    "getIds", "searchString", "searchSim", "sdf2smiles", "smiles2sdf",

	 "pubchemCidToSDF","pubchemSmilesSearch","pubchemSDFSearch","pubchemName2CID",
	 "pubchemInchi2cid","pubchemInchikey2sdf",

    ## 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",

	 "genParameters",
	 "SDFDataTable"

)

