import(methods)

importFrom(utils, download.file, installed.packages, read.table)

importFrom(Biobase, createPackage)

importMethodsFrom(DBI, dbCommit, dbConnect,
                  dbDisconnect, dbExistsTable, dbGetQuery,
                  dbReadTable, dbWriteTable, dbListTables, dbListFields)

importFrom(RSQLite, SQLite, sqliteCopyDatabase, SQLITE_RO, sqliteQuickSQL)
importMethodsFrom(RSQLite, dbBeginTransaction, dbGetPreparedQuery)

import(IRanges)

importFrom(GenomicRanges, GRanges, Seqinfo, seqinfo, genome, "genome<-")
importMethodsFrom(GenomicRanges, strand)

importClassesFrom(Biostrings, DNAString, DNAStringSet, MaskedDNAString)
importFrom(Biostrings, "masks<-")

importFrom(biomaRt, getBM, listAttributes, listDatasets, listMarts,
           useDataset, useMart)

importFrom(rtracklayer, browserSession, ucscTableQuery,
           tableNames, getTable, trackNames, ucscSchema)

importFrom(RCurl, getURL)

importFrom(AnnotationDbi, loadDb, saveDb)

exportClasses(TranscriptDb, FeatureDb)

export(
  loadFeatures,
  transcripts_deprecated,
  exons_deprecated,
  introns_deprecated,
  DEFAULT_CIRC_SEQS,
  makeTranscriptDb,
  supportedUCSCtables,
  supportedUCSCFeatureDbTracks,
  supportedUCSCFeatureDbTables,
  UCSCFeatureDbTableSchema,
  getChromInfoFromUCSC,
  makeTranscriptDbFromUCSC,
  getChromInfoFromBiomart,
  makeTranscriptDbFromBiomart,
  seqinfo,
  transcripts,
  exons,
  cds,
  transcriptsByOverlaps,
  exonsByOverlaps,
  cdsByOverlaps,
  id2name,
  transcriptsBy,
  exonsBy,
  cdsBy,
  intronsByTranscript,
  fiveUTRsByTranscript,
  threeUTRsByTranscript,
  transcriptWidths,
  transcriptLocs2refLocs,
  extractTranscripts,
  extractTranscriptsFromGenome,
  makeFeatureDbFromUCSC,
  makeTxDbPackage,
  makeTxDbPackageFromUCSC,
  makeTxDbPackageFromBiomart,
  features
)

exportMethods(
  saveFeatures,
  metadata,
  show,
  as.list,
  seqinfo,
  transcripts,
  exons,
  cds,
  transcriptsByOverlaps,
  exonsByOverlaps,
  cdsByOverlaps,
  transcriptsBy,
  exonsBy,
  cdsBy,
  intronsByTranscript,
  fiveUTRsByTranscript,
  threeUTRsByTranscript,
  isActiveSeq,
  "isActiveSeq<-"
)
