useDynLib(pegas, .registration = TRUE)

export(alleles2loci, allelicrichness, amova, as.igraph.haploNet,
       as.loci, as.network.haploNet, diffHaplo, dist.hamming,
       dist.haplotype.loci, dist.asd, dist.snp, expand.genotype, F2,
       F3, F4, Fst, genind2loci, geod, geoTrans, geoTrans2, getAlleles,
       getGenotypes, getINFO, getPloidy, getPhi, H, haploNet,
       haploFreq, hap.div, haplotype, heterozygosity, hw.test,
       is.phased, is.snp, LD, LD2, LDscan, LDmap, loci2alleles,
       loci2genind, loci2SnpMatrix, mjn, msn, mst, MMD, nuc.div,
       plotNetMDS, proba.genotype, R2.test, rangePOS, rarefactionplot,
       read.gtx, read.loci, read.vcf, replot, rhost, rmst, rr.test,
       Rst, selectQUAL, site.spectrum, stairway, sw, tajima.test,
       theta.h, theta.k, theta.msat, theta.s, unphase, theta.tree,
       theta.tree.hetero, VCFheader, VCFlabels, VCFloci, write.loci,
       write.pegas.amova)

importFrom(ape, as.evonet, as.phylo, BOTHlabels, branching.times,
           base.freq, dist.dna, dist.nodes, floating.pie.asp,
           GC.content, perm.rowscols, polar2rect, rcoal, rect2polar,
           seg.sites)
importFrom(adegenet, df2genind, genind2df)
importFrom(graphics, abline, axis, barplot, hist, lines, lines.default, locator,
           matplot, mtext, par, polygon, plot, plot.default, rect, segments,
           strheight, symbols, text, xinch)
importFrom(grDevices, colorRampPalette, dev.cur, devAskNewPage,
           deviceIsInteractive, rainbow, rgb)
importFrom(stats, as.dist, cmdscale, cophenetic, density, dist, integrate,
           na.omit, nlminb, pbeta, pchisq, pnorm, printCoefmat, rpois, sd,
           uniroot, weighted.mean)
importFrom(utils, as.roman, combn, edit, read.table, write.csv, write.table)
importFrom(methods, new)

S3method(print, amova)

S3method(as.loci, character)
S3method(as.loci, data.frame)
S3method(as.loci, factor)
S3method(as.loci, genind)

S3method(H, default)
S3method(H, loci)

S3method(hap.div, DNAbin)
S3method(hap.div, haplotype)

S3method(haplotype, character)
S3method(haplotype, DNAbin)
S3method(haplotype, loci)
S3method(haplotype, numeric)

S3method(hw.test, loci)
S3method(hw.test, genind)

S3method(is.snp, loci)
S3method(is.snp, VCFinfo)

S3method(LDscan, DNAbin)
S3method(LDscan, loci)

S3method(nuc.div, DNAbin)
S3method(nuc.div, haplotype)

S3method(site.spectrum, DNAbin)
S3method(site.spectrum, loci)

S3method(sw, default)
S3method(sw, DNAbin)

S3method(theta.s, default)
S3method(theta.s, DNAbin)

#S3method(as.igraph, haploNet)
#S3method(as.network, haploNet)
S3method(all.equal, haploNet)
S3method(as.phylo, haploNet)
S3method(as.evonet, haploNet)
S3method(plot, haploNet)
S3method(print, haploNet)

S3method("[", haplotype)
S3method(plot, haplotype)
S3method(print, haplotype)
S3method(sort, haplotype)
S3method(summary, haplotype)
S3method(subset, haplotype)

S3method(plot, haplotype.loci)

S3method("[", loci)
S3method(by, loci)
S3method(cbind, loci)
S3method(edit, loci)
S3method(na.omit, loci)
S3method(print, loci)
S3method(rbind, loci)
S3method(summary, loci)

S3method(plot, spectrum)

S3method(lines, stairway)
S3method(plot, stairway)

S3method(plot, summary.loci)
S3method(print, summary.loci)

S3method(plot, sw)

S3method(print, VCFinfo)
