Skip to content
Open
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
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2
updates:
# Keep GitHub Actions versions current
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
groups:
actions:
patterns:
- "*"

# Keep pre-commit hook revisions current
- package-ecosystem: pre-commit
directory: /
schedule:
interval: weekly
29 changes: 29 additions & 0 deletions .github/workflows/link-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Link check

on:
pull_request:
branches:
- main

jobs:
link-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check links with lychee
uses: lycheeverse/lychee-action@v2
with:
# Check all Markdown files in content/ and the root-level docs
args: >-
--verbose
--no-progress
--exclude-path node_modules
--exclude "^https://forum\\.image\\.sc/"
--exclude "^https://www\\.broadinstitute\\.org/"
--exclude "^https://doi\\.org/10\\.1101/"
--exclude "^https://doi\\.org/10\\.64898/"
'content/**/*.md'
'*.md'
fail: true
6 changes: 3 additions & 3 deletions .github/workflows/pre-commit-checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- uses: pre-commit/action@v3.0.0
python-version: "3.12"
- uses: pre-commit/action@v3.0.1
18 changes: 14 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
---
# Exclude vendored theme — it is not our code to lint
exclude: ^themes/

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
- id: detect-private-key
# checking spelling
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
rev: v2.4.2
hooks:
- id: codespell
args:
# "patter" is the Cell Press journal identifier used in DOI URLs
- --ignore-words-list=patter
# checking markdown formatting
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.17
rev: 1.0.0
hooks:
- id: mdformat
exclude: ^content/
additional_dependencies:
- mdformat-gfm
- mdformat-gfm==1.0.0
- mdformat-frontmatter==2.0.10
# HTML linting — exclude Hugo template files (contain {{ }} syntax)
- repo: https://github.com/Lucas-C/pre-commit-hooks-nodejs
rev: v1.1.2
hooks:
- id: htmllint
exclude: ^layouts/
26 changes: 26 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Contributing to cytomining.github.io

Thank you for your interest in contributing!

## Code of conduct

Please uphold our [code of conduct](https://github.com/cytomining/.github/blob/main/CODE_OF_CONDUCT.md).
Report unacceptable behavior to cytodata.info@gmail.com.

## Reporting issues

Open a [GitHub issue](https://github.com/cytomining/cytomining.github.io/issues) with a clear description of the problem (e.g., broken link, outdated content, rendering bug).

## Contributing changes

1. Fork the repository and create a branch from `main`.
1. Make your changes. See [README.md](README.md) for local development setup.
1. Open a pull request against `main` with a clear description of what changed and why.

Please keep pull requests focused on a single change. All status checks must pass before merge.

## Content guidelines

- Keep tool descriptions factual and concise.
- Follow the frontmatter and section order used in existing content files.
- Verify any external links you add are reachable.
64 changes: 59 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,62 @@
# Cytomining organization GitHub Pages configuration
# cytomining.github.io

This repo includes content which helps create links via GitHub Pages related to the Cytomining Organization.
Source for the [Cytomining organization website](https://cytomining.github.io/), built with [Hugo](https://gohugo.io/) and the [Congo](https://jpanther.github.io/congo/) theme.

## Development
## Prerequisites

You may place HTML content within the `/docs` folder, which is then rendered on merge to `main`.
We adapt work here from [the documentation found in this Gist](https://gist.github.com/domenic/1f286d415559b56d725bee51a62c24a7).
- [Hugo extended](https://gohugo.io/installation/) v0.161.1 or later

## Local development

```bash
git clone https://github.com/cytomining/cytomining.github.io.git
cd cytomining.github.io

# Serve locally with live reload
hugo server

# Build for production
hugo --minify
```

The site is served at `http://localhost:1313/` by default.

## Pre-commit hooks

This repo uses [pre-commit](https://pre-commit.com/) to enforce formatting and catch common issues before every commit.

```bash
pip install pre-commit
pre-commit install
```

After installation, hooks run automatically on `git commit`. To run them manually against all files:

```bash
pre-commit run --all-files
```

## Adding or editing a tool page

Tool pages live in `content/tools/`. Each file is a Markdown file with frontmatter.

Minimal frontmatter for a new tool page:

```yaml
---
title: "Tool Name"
description: "One-sentence description of what this tool does."
showDate: false
showAuthor: false
---
```

Follow the section order used in existing pages: logo image(s), 1–2 sentence intro, **Key capabilities** bullet list, link to documentation or GitHub, and optionally a **Publication** section.

## Deployment

Pushes to `main` trigger the [hugo.yaml](.github/workflows/hugo.yaml) GitHub Actions workflow, which builds the site and deploys it to GitHub Pages automatically.

## Theme

This site uses [Congo v2.13.0](https://github.com/jpanther/congo). Theme configuration lives in `config/_default/params.toml`.
4 changes: 2 additions & 2 deletions content/_index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
title: "Cytomining"
description: "Open-source tools for single-cell image-based profiling"
title: Cytomining
description: Open-source tools for single-cell image-based profiling
---
4 changes: 2 additions & 2 deletions content/contact/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Contact"
description: "Get in touch with the Cytomining community."
title: Contact
description: Get in touch with the Cytomining community.
---

- 💬 Join the conversation on our [Discourse forums](https://forum.image.sc/)
Expand Down
4 changes: 2 additions & 2 deletions content/experimental/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Experimental"
description: "Next-generation tools under active development in the WayScience organization."
title: Experimental
description: Next-generation tools under active development in the WayScience organization.
---

The following tools are under active development in the [WayScience](https://github.com/WayScience) organization and represent the next generation of the Cytomining ecosystem.
4 changes: 2 additions & 2 deletions content/tools/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Tools"
description: "Production-ready tools for image-based profiling bioinformatics."
title: Tools
description: Production-ready tools for image-based profiling bioinformatics.
---

The Cytomining ecosystem provides a suite of production-ready tools for every stage of the image-based profiling workflow.
4 changes: 2 additions & 2 deletions content/tools/copairs.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "copairs"
description: "Downstream evaluation — measures how reproducibly perturbation profiles retrieve their matched replicates, quantifying profile quality and similarity."
title: copairs
description: Downstream evaluation — measures how reproducibly perturbation profiles retrieve their matched replicates, quantifying profile quality and similarity.
showDate: false
showAuthor: false
---
Expand Down
6 changes: 3 additions & 3 deletions content/tools/cosmicqc.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: "coSMicQC"
description: "Quality control step — flags and removes low-quality cells before profile processing to prevent artifacts from propagating downstream."
title: coSMicQC
description: Quality control step — flags and removes low-quality cells before profile processing to prevent artifacts from propagating downstream.
showDate: false
showAuthor: false
logoUrl: "https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/just-icon.png"
logoUrl: https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/just-icon.png
---

<img class="logo-light" src="https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/with-text-for-light-bg.png" alt="coSMicQC logo" width="400">
Expand Down
6 changes: 3 additions & 3 deletions content/tools/cytodataframe.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: "CytoDataFrame"
description: "Interactive exploration — view and inspect morphological profiles alongside their source cell images directly in Jupyter notebooks."
title: CytoDataFrame
description: Interactive exploration — view and inspect morphological profiles alongside their source cell images directly in Jupyter notebooks.
showDate: false
showAuthor: false
logoUrl: "https://raw.githubusercontent.com/cytomining/CytoDataFrame/main/logo/just-icon.png"
logoUrl: https://raw.githubusercontent.com/cytomining/CytoDataFrame/main/logo/just-icon.png
---

<img class="logo-light" src="https://raw.githubusercontent.com/cytomining/CytoDataFrame/main/logo/with-text-for-light-bg.png" alt="CytoDataFrame logo" width="400">
Expand Down
6 changes: 3 additions & 3 deletions content/tools/cytotable.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: "CytoTable"
description: "Upstream ingestion — converts raw CellProfiler, DeepProfiler, and IN Carta outputs into scalable, analysis-ready Parquet tables."
title: CytoTable
description: Upstream ingestion — converts raw CellProfiler, DeepProfiler, and IN Carta outputs into scalable, analysis-ready Parquet tables.
showDate: false
showAuthor: false
logoUrl: "https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/just-icon.png"
logoUrl: https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/just-icon.png
---

<img class="logo-light" src="https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/with-text-for-light-bg.png" alt="CytoTable logo" width="400">
Expand Down
6 changes: 3 additions & 3 deletions content/tools/deepprofiler.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: "DeepProfiler"
description: "Alternative feature extraction — deep learning embeddings from raw microscopy images, bypassing classical segmentation-and-measurement pipelines."
title: DeepProfiler
description: Alternative feature extraction — deep learning embeddings from raw microscopy images, bypassing classical segmentation-and-measurement pipelines.
showDate: false
showAuthor: false
---

<img src="https://raw.githubusercontent.com/cytomining/DeepProfiler/main/figures/logo/banner.png" alt="DeepProfiler logo" width="400">
<img src="https://raw.githubusercontent.com/cytomining/DeepProfiler/master/figures/logo/banner.png" alt="DeepProfiler logo" width="400">

`DeepProfiler` uses deep neural networks to extract morphological features directly from raw microscopy images, bypassing traditional segmentation-and-measurement pipelines.
It is designed for high-throughput screens where deep learning representations outperform classical feature sets.
Expand Down
6 changes: 3 additions & 3 deletions content/tools/pycytominer.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: "Pycytominer"
description: "Core processing pipeline — aggregates, normalizes, and feature-selects morphological profiles for downstream analysis."
title: Pycytominer
description: Core processing pipeline — aggregates, normalizes, and feature-selects morphological profiles for downstream analysis.
showDate: false
showAuthor: false
logoUrl: "https://raw.githubusercontent.com/cytomining/pycytominer/main/logo/just-icon.png"
logoUrl: https://raw.githubusercontent.com/cytomining/pycytominer/main/logo/just-icon.png
---

<img class="logo-light" src="https://raw.githubusercontent.com/cytomining/pycytominer/main/logo/with-text-for-light-bg.png" alt="Pycytominer logo" width="400">
Expand Down
4 changes: 2 additions & 2 deletions layouts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ <h1 style="font-size: 2.5rem; font-weight: 800; letter-spacing: -0.02em; margin:
📊 Feature Extraction
</div>
<span class="hero-arrow" style="color: #d1d5db;">→</span>
<a href="/tools/cytotable/" class="pipeline-step hero-pill-purple" style="background: #ede9fe; border-radius: 8px; padding: 0.4rem 0.8rem; font-size: 0.78rem; color: #5b21b6; font-weight: 600; border: 1px solid #ddd6fe; text-decoration: none;"><img class="pill-icon" src="https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/just-icon.png" alt="">CytoTable</a>
<a href="/tools/cytotable/" class="pipeline-step hero-pill-purple" style="background: #ede9fe; border-radius: 8px; padding: 0.4rem 0.8rem; font-size: 0.78rem; color: #5b21b6; font-weight: 600; border: 1px solid #ddd6fe; text-decoration: none;"><img class="pill-icon" src="https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/just-icon.png" alt="CytoTable icon">CytoTable</a>
<span class="hero-arrow" style="color: #d1d5db;">→</span>
<a href="/tools/cosmicqc/" class="pipeline-step hero-pill-blue" style="background: #dbeafe; border-radius: 8px; padding: 0.4rem 0.8rem; font-size: 0.78rem; color: #1e40af; font-weight: 600; border: 1px solid #bfdbfe; text-decoration: none;"><img class="pill-icon" src="https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/just-icon.png" alt="">coSMicQC</a>
<a href="/tools/cosmicqc/" class="pipeline-step hero-pill-blue" style="background: #dbeafe; border-radius: 8px; padding: 0.4rem 0.8rem; font-size: 0.78rem; color: #1e40af; font-weight: 600; border: 1px solid #bfdbfe; text-decoration: none;"><img class="pill-icon" src="https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/just-icon.png" alt="coSMicQC icon">coSMicQC</a>
<span class="hero-arrow" style="color: #d1d5db;">→</span>
<a href="/tools/pycytominer/" class="pipeline-step hero-pill-blue" style="background: #dbeafe; border-radius: 8px; padding: 0.4rem 0.8rem; font-size: 0.78rem; color: #1e40af; font-weight: 600; border: 1px solid #bfdbfe; text-decoration: none;"><img class="pill-icon" src="https://raw.githubusercontent.com/cytomining/pycytominer/main/logo/just-icon.png" alt="">Pycytominer</a>
<span class="hero-arrow" style="color: #d1d5db;">→</span>
Expand Down
Loading