import(methods)
importFrom(graphics, abline, arrows, axis, par, plot.new, plot.window, points,
                     rect, segments, text, title)
importFrom(stats, setNames)

import(Rcpp)
import(BiocGenerics)
import(BiocParallel)
import(Biostrings)
import(IRanges)
import(S4Vectors)
import(Gviz)
import(Pviz)
import(biomaRt)

importFrom(GenomicRanges, GRanges, GRangesList)
importFrom(rtracklayer, chrom)
importMethodsFrom(GenomicRanges, "seqinfo<-")
importClassesFrom(Biobase, Versioned)
importFrom(Biobase, classVersion, isCurrent, validMsg, isVersioned)

importFrom(cleaver, cleave, cleavageRanges)

importFrom(mzR, openIDfile, psms)

## importClassesFrom(mzID, mzID)
importFrom(mzID, mzID, flatten)

importFrom(MSnbase, addIdentificationData, get.amino.acids, get.atomic.mass)

## ensembldb
importFrom(ensembldb, listProteinColumns)
importMethodsFrom(ensembldb, hasProteinData, listColumns, proteins,
                  ensemblVersion, cdsBy)
importClassesFrom(ensembldb, EnsDb)
## AnnotationFilter
importClassesFrom(AnnotationFilter, TxIdFilter, ProteinIdFilter, UniprotFilter)
importFrom(AnnotationFilter, AnnotationFilter, AnnotationFilterList,
           TxIdFilter, ProteinIdFilter, UniprotFilter)

exportClasses(Proteins,
              Pparams)

exportMethods(
    ## class methods
    Proteins,
    "[",
    "[[",
    length,
    metadata,
    seqnames,
    show,
    ## action methods
    cleave,
    plot,
    addIdentificationData,
    addPeptideFragments,
    pfilter,
    ## mapping
    mapToGenome,
    pmapToGenome,
    ## ranges
    proteinCoding)

export(
    ## were methods
    aa,
    acols,
    pcols,
    pfeatures,
    pranges, ## "pranges<-",
    pvarLabels,
    avarLabels,
    ## 
    rmEmptyRanges,
    Pparams,
    etrid2grl,
    isReverse,
    isForward,
    ## actions on Proteins
    isCleaved,
    proteinCoverage,
    proteotypic,
    calculateHeavyLabels,
    ## plotting
    plotAsGeneRegionTrack,
    plotAsAnnotationTrack)

