content: [project]
  name = "bpreveal"
  authors = [ {name = "Charles McAnany, Ph.D.", email="bpreveal@charlesmcanany.com"} ]
  version = "5.2.2"
  description = "BPReveal is a suite of tools for deep learning on genomics data."
  license = "GPL-2.0-or-later"
  license-files = ["COPYING"]
  readme = "README.md"
  requires-python = ">=3.12, <3.13"
  dependencies = [
      "h5py>=3.13.0",
      "jsonschema>=4.23.0",
      "matplotlib>=3.10.1",
      "meson>=1.7.2",
      "modisco>=2.4.0",
      "numpy>=2.0",
      "pybedtools>=0.12.0",
      "pybigwig>=0.3.24",
      "pysam>=0.23.0",
      "tensorflow-probability>=0.25.0",
      "tensorflow[and-cuda]>=2.20.0",
      "tf-keras>=2.20.0",
      "tqdm>=4.67.1",
  ]
  
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Science/Research",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: C",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Artificial Intelligence",
      "Operating System :: POSIX :: Linux"
      ]
  
  [project.urls]
  Homepage = "https://github.com/mmtrebuchet/bpreveal"
  
  
  [build-system]
  requires = ["meson-python", "numpy>=2.0"]
  build-backend = "mesonpy"
  
  [tool.setuptools]
  packages = ["bpreveal", "bpreveal.tools", "bpreveal.internal"]
  
  [tool.setuptools.package-dir]
  "bpreveal" = "src"
  "bpreveal.tools" = "src/tools"
  "bpreveal.internal" = "src/internal"
  
  [tool.meson-python.args]
  setup = [
      "-Dbuildtype=release", # Keeps things tidy, handles optimization/debug flags
      "-Doptimization=3", # This is technically redundant with buildtype=release but ok
      "-Dc_args=-Ofast -fexpensive-optimizations -ffast-math -fopenmp",
      "-Dfortran_args=-Ofast -fexpensive-optimizations -ffast-math -fopenmp",
      "-Dc_link_args=-lgomp",
      "-Dfortran_link_args=-lgomp"
  ]
  compile = ["-j4"]
  dist = ["--allow-dirty"]
  
  [project.scripts]
  
  interpretFlat = "bpreveal.interpretFlat:main"
  checkJson = "bpreveal.checkJson:main"
  interpretPisa = "bpreveal.interpretPisa:main"
  lengthCalc = "bpreveal.lengthCalc:main"
  makeLossPlots = "bpreveal.makeLossPlots:main"
  makePisaFigure = "bpreveal.makePisaFigure:main"
  makePredictions = "bpreveal.makePredictions:main"
  metrics = "bpreveal.metrics:main"
  motifAddQuantiles = "bpreveal.motifAddQuantiles:main"
  motifScan = "bpreveal.motifScan:main"
  motifSeqletCutoffs = "bpreveal.motifSeqletCutoffs:main"
  predictToBigwig = "bpreveal.predictToBigwig:main"
  prepareBed = "bpreveal.prepareBed:main"
  prepareTrainingData = "bpreveal.prepareTrainingData:main"
  shapToBigwig = "bpreveal.shapToBigwig:main"
  shapToNumpy = "bpreveal.shapToNumpy:main"
  showTrainingProgress = "bpreveal.showTrainingProgress:main"
  trainCombinedModel = "bpreveal.trainCombinedModel:main"
  trainSoloModel = "bpreveal.trainSoloModel:main"
  trainTransformationModel = "bpreveal.trainTransformationModel:main"
  
  
  bestMotifsOnly = "bpreveal.tools.bestMotifsOnly:main"
  lossWeights = "bpreveal.tools.lossWeights:main"
  shiftPisa = "bpreveal.tools.shiftPisa:main"
  shiftBigwigs = "bpreveal.tools.shiftBigwigs:main"
  tileGenome = "bpreveal.tools.tileGenome:main"
  gcContents = "bpreveal.tools.gcContents:main"
  