import(methods)
import(stats)

useDynLib(Biostrings)

exportClasses(
    "BString", "DNAString", "RNAString", "AAString",
    "BStringViews", "BStringPartialMatches",
    "BStringAlign"
)

exportMethods(
    ## Generics defined elsewhere
    #as.integer,
    initialize, length, "[", "[[", show, "==", "!=",
    as.character, toString, nchar, toComplex, as.complex,
    as.matrix, as.list,
    ## Accessors
    alphabet, letter,
    subject, start, end, width, desc, "desc<-",
    subpatterns, pattern,
    align1, align2, score,
    ## Others
    BStringViews,
    substr, substring,
    alphabetFrequency,
    reverse, complement, reverseComplement,
    matchPattern, countPattern, mismatch,
    mask,
    matchLRPatterns,
    matchProbePair,
    palindromeArmLength, palindromeLeftArm, palindromeRightArm,
    findPalindromes,
    consmat,
    lcprefix, lcsuffix, pmatchPattern, lcsubstr,
    needwunsQS,
    ## Deprecated
    first, last
)

export(
    readFASTA, writeFASTA, gregexpr2,
    #debug_utils, debug_XRaw,
    #debug_naive, debug_boyermoore, debug_shiftor,
    #XRaw, XRaw.copy, XInteger, XInteger.read, XInteger.write,
    IUPAC_CODE_MAP, AMINO_ACID_CODE, GENETIC_CODE,
    DNA_ALPHABET, RNA_ALPHABET, AA_ALPHABET,
    BString, DNAString, RNAString, AAString,
    views, adjacentViews,
    FASTArecordsToCharacter, CharacterToFASTArecords,
    FASTArecordsToBStringViews, BStringViewsToFASTArecords,
    read.BStringViews, write.BStringViews,
    subBString, subviews,
    matchDNAPattern,
    alignScore
)

