useDynLib(hapFabia)

import("methods","stats","utils","graphics","grDevices","Biobase","fabia")

export("makePipelineFile",
       "hapFabiaVersion",
       "findDenseRegions",
       "matrixPlot",
       "plotIBDsegment",
       "sim",
       "iterateIntervals",
       "identifyDuplicates",
       "analyzeIBDsegments",
       "hapFabia",
       "simulateIBDsegments",
       "split_sparse_matrix",
       "vcftoFABIA",
       "simulateIBDsegmentsFabia",
       "IBDsegmentList",
       "IBDsegment"
       )

exportClasses("IBDsegment","IBDsegmentList")

exportMethods("plot",
              "summary",
              "[[",
              "[[<-",
              "[",
              "[<-",
              "topLZ",
              "plotL",
              "histL",
              "extractIBDsegments",
              "ID",
              "ID<-",
              "bicluster_id",
              "bicluster_id<-",
              "chromosome",
              "chromosome<-",
              "IBDsegmentPos",
              "IBDsegmentPos<-",
              "IBDsegmentLength",
              "IBDsegmentLength<-",
              "numberIndividuals",
              "numberIndividuals<-",
              "numbertagSNVs",
              "numbertagSNVs<-",
              "individuals",
              "individuals<-",
              "tagSNVs",
              "tagSNVs<-",
              "populationIndividuals",
              "populationIndividuals<-",
              "idIndividuals",
              "idIndividuals<-",
              "labelIndividuals",
              "labelIndividuals<-",
              "platformIndividuals",
              "platformIndividuals<-",
              "coreClusterIndividuals",
              "coreClusterIndividuals<-",
              "tagSNVPositions",
              "tagSNVPositions<-",
              "tagSNVAlleles",
              "tagSNVAlleles<-",
              "tagSNVNames",
              "tagSNVNames<-",
              "tagSNVFreq",
              "tagSNVFreq<-",
              "tagSNVGroupFreq",
              "tagSNVGroupFreq<-",
              "tagSNVChange",
              "tagSNVChange<-",
              "tagSNVsPerIndividual",
              "tagSNVsPerIndividual<-",
              "individualPerTagSNV",
              "individualPerTagSNV<-",
              "tagSNVAnno",
              "tagSNVAnno<-",
              "IBDsegments",
              "IBDsegments<-",
              "lengthList",
              "lengthList<-",
              "statistics",
              "statistics<-",
              "setAnnotation",
              "setStatistics",
              "compareIBDsegmentLists",
              "mergeIBDsegmentLists",
              "IBDsegmentList2excel",
              "plotLarger"
              )

