## oligoClasses NAMESPACE
## Importing
importClassesFrom(methods, ANY, character, data.frame, "function", integer, matrix, numeric, ordered, missing)
importMethodsFrom(methods, initialize, show)
importFrom(methods, "@<-", callNextMethod, new, validObject)

importFrom(affyio, read.celfile.header, read.celfile)
importClassesFrom(Biostrings, DNAStringSet)

## Needed from graphics
importFrom(graphics, plot)

## Needed from Biobase
importClassesFrom(Biobase, AnnotatedDataFrame, AssayData, eSet, MIAME,
                  NChannelSet, Versions, VersionedBiobase, Versioned,
                  SnpSet)
importFrom(Biobase, assayDataElement, assayDataElementReplace,
           assayDataNew, biocReposList, assayDataValidMembers)
importMethodsFrom(Biobase, annotatedDataFrameFrom, annotation,
                  "annotation<-", assayData, "assayData<-", combine,
                  experimentData, "experimentData<-", exprs, "exprs<-",
                  featureData, "featureData<-", featureNames,
                  fvarLabels, pData, "pData<-", phenoData,
                  "phenoData<-", sampleNames, "sampleNames<-",
		  se.exprs, "se.exprs<-",
                  storageMode, "storageMode<-", updateObject)


importClassesFrom(IRanges, RangedData, DataTable, List, DataTableORNULL, Vector, Annotated)
importFrom(IRanges, IRanges, RangedData, RangedDataList,
	   countOverlaps,
	   ranges, values,
	   matchMatrix, queryHits, subjectHits)
importMethodsFrom(IRanges, findOverlaps, order)



##importMethodsFrom(ff, pattern, filename, "pattern<-", "filename<-",
##		  physical, "physical<-")

## Exporting

export(pdPkgFromBioC, requireAnnotation, affyPlatforms, celfileDate,
       list.celfiles, is.ffmatrix, isPackageLoaded, ldStatus,
       ldSetOptions, parStatus, ocProbesets, ocSamples, ldPath, getBar,
       createFF, setCluster, delCluster, getCluster,
       requireClusterPkgSet, requireClusterPkg, ocLapply,
       splitIndicesByLength, splitIndicesByNode, initializeBigMatrix,
       initializeBigVector)

## PDInfo Classes
exportClasses(AffyTilingPDInfo, AffyExpressionPDInfo, AffySNPPDInfo,
              AffySNPCNVPDInfo, AffyGenePDInfo, AffyExonPDInfo,
              NgsExpressionPDInfo, NgsTilingPDInfo)

## broke oligo without the exports below
exportClasses(DBPDInfo, ExpressionPDInfo, FeatureSet, TilingPDInfo)

##Feature-level Classes
exportClasses(ExpressionFeatureSet, SnpFeatureSet, SnpCnvFeatureSet,
              TilingFeatureSet, ExonFeatureSet, GeneFeatureSet)

##SNP-level Classes
exportClasses(AlleleSet, oligoSnpSet, SnpSuperSet, CNSet)

export(chromosome2integer, i2p, p2i)

##SNP-level methods
exportMethods(bothStrands, allele, calls, "calls<-", confs, "confs<-",
              chromosome, "chromosome<-", copyNumber,
              "copyNumber<-", cnConfidence, "cnConfidence<-", db, isSnp,
              position, sampleNames, A, B, "A<-", "B<-")

## FeatureSet methods
exportMethods(exprs)

## PDInfo methods
exportMethods(annotation, db, initialize, genomeBuild,
              geometry, kind, manufacturer)

## Some general methods
exportMethods(getM, getA, annotatedDataFrameFrom, open, close)

##export(addFeatureAnnotation.pd)
##exportClasses(ffdf, ff_matrix)
exportClasses(ff_matrix,ffdf)


export(annotationPackages, addFeatureAnnotation, checkExists)
exportMethods(batch, batchNames, "batchNames<-", coerce, flags, show)
exportMethods(nu, phi)
exportMethods(batchStatistics, "batchStatistics<-")

exportClasses(RangedDataCopyNumber, RangedDataCNV, RangedDataCBS, RangedDataHMM, CopyNumberSet)
exportMethods(coverage2, featuresInRange, findOverlaps, state, openff,
	      closeff, order, checkOrder, "sampleNames<-")
export(baf, lrr,
       findOverlaps,
       order, ## why is it necessary to export both the generic and method
              ## order() in VanillaICE will not work otherwise
       RangedDataCNV,
       RangedDataCBS,
       RangedDataHMM)

