diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6e936b9..79a6517 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ # Documentation: https://pre-commit.com/ repos: - # Basic file checks first (fast and foundational) + # Basic file checks first (fast and foundational) - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: @@ -13,36 +13,36 @@ repos: - id: check-added-large-files args: ["--maxkb=102400"] - # Format TOML files early (before other tools might read config) + # Format TOML files early (before other tools might read config) - repo: https://github.com/pappasam/toml-sort rev: v0.24.4 hooks: - id: toml-sort args: ["--in-place"] - # Python syntax upgrades (should run before linting/formatting) + # Python syntax upgrades (should run before linting/formatting) - repo: https://github.com/asottile/pyupgrade rev: v3.21.2 hooks: - id: pyupgrade args: ["--py311-plus"] - # Import sorting (should run before Ruff to avoid conflicts) + # Import sorting (should run before Ruff to avoid conflicts) - repo: https://github.com/pre-commit/mirrors-isort rev: v5.10.1 hooks: - id: isort args: ["--profile", "black"] - # Ruff for linting and formatting Python files + # Ruff for linting and formatting Python files - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.15.12 hooks: - id: ruff-check args: ["--fix"] - - id: ruff-format # Add Ruff formatter + - id: ruff-format # Add Ruff formatter - # nbQA to run Ruff on Jupyter Notebooks (after Python tools) + # nbQA to run Ruff on Jupyter Notebooks (after Python tools) - repo: https://github.com/nbQA-dev/nbQA rev: 1.9.1 hooks: @@ -51,19 +51,25 @@ repos: args: ["--fix"] additional_dependencies: ["ruff"] - # Final cleanup (whitespace and newlines) + # validates CITATION.cff file formatting expectations +- repo: https://github.com/citation-file-format/cffconvert + rev: 054bda51dbe278b3e86f27c890e3f3ac877d616c + hooks: + - id: validate-cff + + # Final cleanup (whitespace and newlines) - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: end-of-file-fixer - id: trailing-whitespace - # Keep pre-commit itself up to date (run last) + # Keep pre-commit itself up to date (run last) - repo: https://gitlab.com/vojko.pribudic.foss/pre-commit-update rev: v0.9.0 hooks: - id: pre-commit-update - args: ["--verbose"] + args: ["--verbose", "--exclude", "cffconvert"] - repo: local hooks: @@ -71,7 +77,7 @@ repos: name: ShellCheck description: Test shell scripts with ShellCheck entry: shellcheck - language: python + language: system types: [shell] args: ["--exclude=SC1091"] require_serial: true diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..a102884 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,24 @@ +cff-version: 1.2.0 +message: If you use Buscar, please cite it using the metadata from the CITATION.cff file. +title: Single-cell hit calling in high-content imaging screens with Buscar +date-released: 2026-05-09 +authors: + - family-names: Serrano + given-names: Erik + orcid: https://orcid.org/0000-0003-4188-9080 + email: erik.serrano@cuanschutz.com + - family-names: Weishan + given-names: Li + orcid: https://orcid.org/0009-0001-4643-9372 + - family-names: Bunten + given-names: Dave + orcid: https://orcid.org/0000-0001-6041-3665 + - family-names: Way + given-names: Gregory + orcid: https://orcid.org/0000-0002-0503-9348 +license: BSD-3-Clause +identifiers: + - type: doi + value: 10.64898/2026.04.15.718737 +repository-code: https://github.com/WayScience/buscar +abstract: Buscar is a Python framework for prioritizing compounds in high-content imaging drug screening using single-cell profiles.