Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["3.11", "3.12", "3.13", "3.14"]
steps:
- uses: "actions/checkout@v6"
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/testing_develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ["3.10", "3.13"]
python-version: ["3.11", "3.14"]
Comment thread
sourcery-ai[bot] marked this conversation as resolved.

steps:
- uses: "actions/checkout@v6"
Expand Down
1 change: 1 addition & 0 deletions .hgignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ draw_results
working/*
.ruff_cache/*
.venv/*
.mypy_cache/*
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/ffc29377d3684100b74a868e4a15970d)](https://app.codacy.com/gh/HuttleyLab/MutationMotif/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

![logo](https://figshare.com/ndownloader/files/23575181)
![logo](https://github.com/user-attachments/assets/4c9cebc1-847f-40b9-bdad-1becd1781a61)

# Mutation Motif

Expand All @@ -17,12 +17,12 @@ The description of the models and applications of them are described in [Zhu, Ne

## Installation

You can just do a pip install

```
$ pip install mutation_motif
```

> **Note:** In order to write Plotly figures to static image files you will need to [install Chrome](https://plotly.com/python/static-image-export/#install-dependencies).

## The commands

The primary tool is installed as a command line executable, `mm`.
Expand Down
2 changes: 1 addition & 1 deletion noxfile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import nox

_py_versions = range(10, 14)
_py_versions = range(11, 15)


@nox.session(python=[f"3.{v}" for v in _py_versions])
Expand Down
89 changes: 41 additions & 48 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,44 @@ build-backend = "flit_core.buildapi"

[project]
name = "mutation_motif"
authors = [
{ name = "Gavin Huttley", email = "Gavin.Huttley@anu.edu.au"},
authors = [{ name = "Gavin Huttley", email = "Gavin.Huttley@anu.edu.au" }]
keywords = [
"biology",
"genomics",
"statistics",
"genetics",
"evolution",
"bioinformatics",
"mutation",
]
keywords = ["biology", "genomics", "statistics", "genetics", "evolution", "bioinformatics", "mutation"]
readme = "README.md"
license = { file = "license.txt" }
requires-python = ">=3.10,<3.14"
dependencies = ["click",
"cogent3>=2025.7.10a3",
"kaleido",
"numpy",
"scipy",
"scitrack",
"pandas",
"plotly",
"scipy",
"statsmodels",
]
requires-python = ">=3.11,<=3.14"
dependencies = [
"click",
"cogent3>=2025.7.10a3",
"kaleido",
"numpy",
"scipy",
"scitrack",
"pandas",
"plotly",
"scipy",
"statsmodels",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"Topic :: Software Development :: Libraries :: Python Modules",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"Topic :: Software Development :: Libraries :: Python Modules",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dynamic = ["version", "description"]

[project.urls]
Expand All @@ -50,27 +57,13 @@ exclude = ["doc/*.html"]
mm = "mutation_motif.cli:main"

[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
"nox",
]
dev = [
"click",
"cog",
"flit",
"pytest",
"pytest-cov",
"nox",
"ruff",
]
test = ["pytest", "pytest-cov", "nox"]
dev = ["click", "cog", "flit", "pytest", "pytest-cov", "nox", "ruff"]

[tool.pytest.ini_options]
addopts = ["--strict-config", "-ra"]
testpaths = "tests"
markers = [
"draws: tests that draw images (deselect with '-m \"not drwas\"')",
]
markers = ["draws: tests that draw images (deselect with '-m \"not draws\"')"]

[tool.uv]
reinstall-package = ["mutation_motif"]
Expand Down Expand Up @@ -127,18 +120,18 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = [
"S101", # asserts allowed in tests...
"S101", # asserts allowed in tests...
"INP001", # __init__.py files are not required...
"ANN",
"N802",
"N803"
"N803",
]
"noxfile.py" = [
"S101", # asserts allowed in tests...
"S101", # asserts allowed in tests...
"INP001", # __init__.py files are not required...
"ANN",
"N802",
"N803"
"N803",
]

[tool.ruff.format]
Expand Down