Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1046 commits
Select commit Hold shift + click to select a range
0e5ce9e
refactor: extract logic for collecting boundary reactions into a new …
JoshLoecker Oct 24, 2024
3ca2d94
refactor: extract logic for collecting boundary reactions into a new …
JoshLoecker Oct 24, 2024
6fc931c
refactor: extract logic for writing models into a new function
JoshLoecker Oct 24, 2024
9a51e82
refactor: extract logic for writing models into a new function
JoshLoecker Oct 24, 2024
be7ee0a
refactor: use combined entrypoint for api and command line
JoshLoecker Oct 24, 2024
f99870c
refactor: use combined entrypoint for api and command line
JoshLoecker Oct 24, 2024
3985f7c
chore: remove print debugging lines
JoshLoecker Oct 25, 2024
4428585
chore: remove print debugging lines
JoshLoecker Oct 25, 2024
a09d47c
refactor: remove original R output log path
JoshLoecker Oct 25, 2024
37114ae
refactor: remove original R output log path
JoshLoecker Oct 25, 2024
84f5e82
refactor: collect files from glob; show error if no files are found
JoshLoecker Oct 25, 2024
a30303d
refactor: collect files from glob; show error if no files are found
JoshLoecker Oct 25, 2024
d2558d1
style: ruff formatting
JoshLoecker Oct 25, 2024
cf208b7
style: ruff formatting
JoshLoecker Oct 25, 2024
53d40b0
format: move from print -> loguru logging
JoshLoecker Oct 25, 2024
2777bd7
format: move from print -> loguru logging
JoshLoecker Oct 25, 2024
eafce08
fix: use type hints; use set in constants check
JoshLoecker Oct 25, 2024
08a1eaf
fix: use type hints; use set in constants check
JoshLoecker Oct 25, 2024
b9c4cbe
refactor: add validation to argument collection
JoshLoecker Oct 25, 2024
bcf6085
refactor: add validation to argument collection
JoshLoecker Oct 25, 2024
45f23d6
style: use more explicit command line argument names
JoshLoecker Oct 25, 2024
56318ed
style: use more explicit command line argument names
JoshLoecker Oct 25, 2024
e6d73e5
refactor: call private functions; re-work public API to have correct …
JoshLoecker Oct 25, 2024
69cdcc9
refactor: call private functions; re-work public API to have correct …
JoshLoecker Oct 25, 2024
d99f888
fix: write boolean matrix
JoshLoecker Oct 25, 2024
e328588
fix: write boolean matrix
JoshLoecker Oct 25, 2024
9a1378f
refactor: use updated versions of troppo and cobamp
JoshLoecker Oct 25, 2024
e193a20
refactor: use updated versions of troppo and cobamp
JoshLoecker Oct 25, 2024
04513c3
chore: updated uv.lock
JoshLoecker Oct 25, 2024
94f6d1b
chore: updated uv.lock
JoshLoecker Oct 25, 2024
13b714e
fix: use lowercase column names
JoshLoecker Oct 25, 2024
40a0ac9
fix: use lowercase column names
JoshLoecker Oct 25, 2024
5dad45a
refactor: build an empty dataframe as-needed to reduce dependency on …
JoshLoecker Oct 25, 2024
5e21caf
refactor: build an empty dataframe as-needed to reduce dependency on …
JoshLoecker Oct 25, 2024
13e74af
fix: use proper column name
JoshLoecker Oct 25, 2024
7556cd6
fix: use proper column name
JoshLoecker Oct 25, 2024
9b9ad2b
refactor: convert proteomics processing to a python file
JoshLoecker Oct 28, 2024
c325a56
refactor: convert proteomics processing to a python file
JoshLoecker Oct 28, 2024
3faadb0
refactor: create private functions
JoshLoecker Oct 28, 2024
0bfb7c6
refactor: create private functions
JoshLoecker Oct 28, 2024
ce438a5
refactor: use `entrez_gene_id` (lowercase)
JoshLoecker Oct 28, 2024
e6e0aa7
refactor: use `entrez_gene_id` (lowercase)
JoshLoecker Oct 28, 2024
8226f5b
chore: use proper logging
JoshLoecker Oct 28, 2024
724456f
chore: use proper logging
JoshLoecker Oct 28, 2024
17d025c
refactor: use default variable value
JoshLoecker Oct 28, 2024
68bac55
refactor: use default variable value
JoshLoecker Oct 28, 2024
3642a63
style: ruff formatting
JoshLoecker Oct 28, 2024
1fa8d05
style: ruff formatting
JoshLoecker Oct 28, 2024
8f5ff4d
style: use variable type hints
JoshLoecker Oct 28, 2024
567111d
style: use variable type hints
JoshLoecker Oct 28, 2024
c30f4fd
style: more verbose variable names, code organization
JoshLoecker Oct 28, 2024
bd00695
style: more verbose variable names, code organization
JoshLoecker Oct 28, 2024
183ec02
refactor: make directories
JoshLoecker Oct 28, 2024
128441a
refactor: make directories
JoshLoecker Oct 28, 2024
59b63b8
refactor: use lowercase column names
JoshLoecker Oct 28, 2024
e8485b2
refactor: use lowercase column names
JoshLoecker Oct 28, 2024
57a2d10
style: use proper logging
JoshLoecker Oct 28, 2024
bf828ea
style: use proper logging
JoshLoecker Oct 28, 2024
913f290
refactor: parse and validate arguments from separate function
JoshLoecker Oct 28, 2024
e402e54
refactor: parse and validate arguments from separate function
JoshLoecker Oct 28, 2024
81d40ae
refactor: use python implementation of `proteomics_preprocessing`
JoshLoecker Oct 28, 2024
ce097c1
refactor: use python implementation of `proteomics_preprocessing`
JoshLoecker Oct 28, 2024
e213c64
style: use lowercase column names; type hints
JoshLoecker Oct 28, 2024
2baa447
style: use lowercase column names; type hints
JoshLoecker Oct 28, 2024
c6c7664
refactor: fix Enum values
JoshLoecker Oct 28, 2024
661125e
refactor: fix Enum values
JoshLoecker Oct 28, 2024
dab9d6b
refactor: fix collection of values
JoshLoecker Oct 28, 2024
c09e1e2
refactor: fix collection of values
JoshLoecker Oct 28, 2024
f191cb9
fix: set more reasonable lower x-value
JoshLoecker Oct 28, 2024
6bfc9fa
fix: set more reasonable lower x-value
JoshLoecker Oct 28, 2024
6f21287
style: ruff formatting
JoshLoecker Oct 28, 2024
5ae8947
style: ruff formatting
JoshLoecker Oct 28, 2024
278f10a
refactor: remove un-used arguments
JoshLoecker Oct 28, 2024
62b0171
refactor: remove un-used arguments
JoshLoecker Oct 28, 2024
23c311b
fix: variable name
JoshLoecker Oct 28, 2024
efd6905
fix: variable name
JoshLoecker Oct 28, 2024
79c6601
refactor: use pandas vectorization for calculations
JoshLoecker Oct 28, 2024
7de8838
refactor: use pandas vectorization for calculations
JoshLoecker Oct 28, 2024
5ba8903
fix: proper importing of items
JoshLoecker Oct 28, 2024
9d74e92
fix: proper importing of items
JoshLoecker Oct 28, 2024
abd0412
style: type hints
JoshLoecker Oct 28, 2024
db290a3
style: type hints
JoshLoecker Oct 28, 2024
65464ff
style: use proper logging; fix command line parameter names
JoshLoecker Oct 28, 2024
a085535
style: use proper logging; fix command line parameter names
JoshLoecker Oct 28, 2024
69b8b71
ci: require openpyxl for reading excel files
JoshLoecker Oct 28, 2024
fad2e18
ci: require openpyxl for reading excel files
JoshLoecker Oct 28, 2024
f6484c8
ci: ignore naiveB and smB data matrices
JoshLoecker Oct 28, 2024
dab6d84
ci: ignore naiveB and smB data matrices
JoshLoecker Oct 28, 2024
af85121
refactor: use `Reaction Type` in boundary reaction filepath to be mor…
JoshLoecker Oct 29, 2024
1b629d2
refactor: use `Reaction Type` in boundary reaction filepath to be mor…
JoshLoecker Oct 29, 2024
f4a11f8
fix: convert column to string before performing string operations
JoshLoecker Oct 29, 2024
920c879
fix: convert column to string before performing string operations
JoshLoecker Oct 29, 2024
b431125
fix: remove un-used `code_dir`
JoshLoecker Oct 29, 2024
a1e6e32
fix: remove unused imports
JoshLoecker Oct 29, 2024
837adcc
fix: merge conflict
JoshLoecker Oct 29, 2024
c0ec4db
refactor: use 'boundary' instead of 'reaction type' to be more explic…
JoshLoecker Oct 29, 2024
ec04947
fix: remove unused .gitignore items
JoshLoecker Oct 29, 2024
8d2f6e1
feat: add scanpy for single-cell processing
JoshLoecker Oct 29, 2024
76b0ca4
ci: format jupyter notebooks and remove their output
JoshLoecker Oct 29, 2024
0e580fe
ci: increase minimum requirement for numpy based on scanpy's requirement
JoshLoecker Oct 29, 2024
7ef82a9
fix: action name
JoshLoecker Oct 29, 2024
a2fa808
style: format code and imports with `ruff`
JoshLoecker Oct 29, 2024
23f8a3c
ci: use a single job for reduced complexity
JoshLoecker Oct 29, 2024
1bf6b40
ci: use a single job for reduced complexity
JoshLoecker Oct 29, 2024
33bcfe5
ci: use system python for uv installation
JoshLoecker Oct 29, 2024
6e3f27b
style: fix whitespace
JoshLoecker Oct 29, 2024
aaecc11
fix: push new `utils.py` file
JoshLoecker Oct 31, 2024
87228fb
fix: use new `utils.py` file for como utilities
JoshLoecker Nov 4, 2024
17b63a6
docs: add function docstring
JoshLoecker Nov 4, 2024
0400a46
chore: remove unused imports
JoshLoecker Nov 4, 2024
edb7c53
docs: add docstring
JoshLoecker Nov 4, 2024
589b4f0
chore: use private dataclass for cli arguments
JoshLoecker Nov 4, 2024
27dd224
docs: add docstring
JoshLoecker Nov 4, 2024
bb0eb91
docs: remove unnecessary docstring
JoshLoecker Nov 4, 2024
4b45d2a
fix: use new utils.py file for como utilities
JoshLoecker Nov 4, 2024
29727f6
chore: remove unused imports
JoshLoecker Nov 4, 2024
fd2a910
chore: import scanpy for single-cell processing; standard lib imports…
JoshLoecker Nov 4, 2024
fd2f45f
chore: add docstring
JoshLoecker Nov 4, 2024
588a009
chore: added pre-commit hooks
JoshLoecker Nov 5, 2024
fa699b5
chore: add pre-commit flag
JoshLoecker Nov 5, 2024
dd03836
refactor: use new private function; read h5ad file if extension is
JoshLoecker Nov 5, 2024
3229fa8
refactor: use asynchronous programming
JoshLoecker Nov 5, 2024
bad0449
refactor: use asynchronous programming
JoshLoecker Nov 5, 2024
6185372
refactor: import `fast_bioservices` components
JoshLoecker Nov 5, 2024
2101d1e
refactor: switch to a single cutoff value
JoshLoecker Nov 5, 2024
97a3aac
style: remove argument requirement
JoshLoecker Nov 5, 2024
1c29194
style: type hinting
JoshLoecker Nov 5, 2024
3d83764
style: `match` case
JoshLoecker Nov 5, 2024
8d4319b
style: `match` case
JoshLoecker Nov 5, 2024
1dbf71d
refactor: expand support for h5ad files
JoshLoecker Nov 5, 2024
8bd6aec
refactor(zfpkm): fix type hints
JoshLoecker Nov 5, 2024
70a26e8
fix(plotting): use suitable minimum vertical spacing
JoshLoecker Nov 5, 2024
09e5204
style(umi): collect study number
JoshLoecker Nov 5, 2024
f143e11
refactor: require taxon_id
JoshLoecker Nov 5, 2024
47f2a89
refactor: require taxon_id
JoshLoecker Nov 5, 2024
8dfee76
style: proper variable naming
JoshLoecker Nov 5, 2024
2ec15da
style: proper variable naming
JoshLoecker Nov 5, 2024
0dfb4a8
refactor: use a single cut_off value
JoshLoecker Nov 5, 2024
ae5a149
chore(r): remove R dependencies
JoshLoecker Nov 5, 2024
dbbd1ec
refactor: exit early if file doesn't exist
JoshLoecker Nov 5, 2024
e4782ad
fix: rnaseq input filepath
JoshLoecker Nov 5, 2024
03e50ac
refactor: do not require gene_format
JoshLoecker Nov 5, 2024
2d595df
fix: use await/async conventions
JoshLoecker Nov 5, 2024
b1209fe
refactor: use `create`/`provide`
JoshLoecker Nov 5, 2024
cbe94bf
style: use more verbose variable name
JoshLoecker Nov 5, 2024
9764324
style: remove unnecessary comments
JoshLoecker Nov 5, 2024
14b73ee
style: use type hints
JoshLoecker Nov 5, 2024
e85bd7b
refactor: dynamically determine input gene format
JoshLoecker Nov 5, 2024
25e2a11
feat: move chromosome location extraction to a new function
JoshLoecker Nov 5, 2024
326ec11
style: move gene info filepath closer to where it is used
JoshLoecker Nov 5, 2024
31cc0f7
refactor: use more logical method of creating `gene_info` dataframe
JoshLoecker Nov 5, 2024
ce9c412
style: use more verbose variable names; type hints; `match` statements
JoshLoecker Nov 5, 2024
d592f2d
refactor: remove unused test
JoshLoecker Nov 5, 2024
91d2c47
refactor(data): rename boundary reaction column names
JoshLoecker Nov 5, 2024
600fb35
style: do not quote values (R -> python conversion)
JoshLoecker Nov 5, 2024
30af296
refactor: rename columns
JoshLoecker Nov 5, 2024
586cff6
feat: added pre-commit hooks
JoshLoecker Nov 5, 2024
71ef163
refactor: proper execution of python files; add single-cell processing
JoshLoecker Nov 5, 2024
8678c39
refactor: use proper single-cell configfile name
JoshLoecker Nov 5, 2024
8e84bd9
style: do not use glob for excluding directory
JoshLoecker Nov 5, 2024
48b735a
fix: create a virtual environment
JoshLoecker Nov 5, 2024
3c2dff7
fix: do not use system interpreter
JoshLoecker Nov 5, 2024
ea2d8ca
fix: do not use system interpreter for jupyter installation
JoshLoecker Nov 5, 2024
9def863
refactor: run ruff format on all files
JoshLoecker Nov 5, 2024
8ed6363
fix: use `uv` to run jupyter-nbconvert
JoshLoecker Nov 5, 2024
3cffaf1
style: format code, Jupyter Notebook(s), and Python imports with `ruff`
JoshLoecker Nov 5, 2024
2ef732b
fix: explicitly state no system python for `uv` commands
JoshLoecker Nov 5, 2024
64c0532
Merge branch 'purge_r' of github.com:HelikarLab/COMO into purge_r
JoshLoecker Nov 5, 2024
fbbe213
refactor: move tests up one directory
JoshLoecker Nov 5, 2024
fad4c2f
refactor: add pytest-asyncio as a dev dependency
JoshLoecker Nov 5, 2024
9d9b914
refactor: fix test execution
JoshLoecker Nov 5, 2024
f7614c9
feat: allow updating `Config` class with new `update` method
JoshLoecker Nov 7, 2024
12d1c70
revert: require input format
JoshLoecker Nov 7, 2024
22f3551
fix: throw error when no data was provided to merge
JoshLoecker Nov 8, 2024
62daf75
refactor!: make `merge_xomics` main entrypoint async
JoshLoecker Nov 8, 2024
9762115
fix: coroutine was not awaited
JoshLoecker Nov 8, 2024
c172a9b
fix: attempted to access invalid key in dataframe
JoshLoecker Nov 8, 2024
7f1be8b
Merge branch 'main' into purge_r
JoshLoecker Nov 26, 2024
430bf79
chore!: added ruff as a development dependency
JoshLoecker Nov 26, 2024
03149d9
chore: allow unused imports
JoshLoecker Dec 2, 2024
26dee63
fix: use proper column names
JoshLoecker Dec 2, 2024
ae55a85
docs: use proper docstring
JoshLoecker Dec 2, 2024
b5c41aa
refactor: use union operator
JoshLoecker Dec 2, 2024
4a3c368
refactor: add new function for converting genomic data
JoshLoecker Dec 2, 2024
fd5c863
feat: move algorithm options from create context specific
JoshLoecker Dec 2, 2024
b1182e9
style: use logger instead of print
JoshLoecker Dec 2, 2024
a352735
refactor: remove duplicate import
JoshLoecker Dec 2, 2024
e537fcd
feat: import pipeline components
JoshLoecker Dec 2, 2024
812ac98
style: use algorith object not strings
JoshLoecker Dec 2, 2024
ceedcef
fix: collect any csv file under preparation method for context
JoshLoecker Dec 2, 2024
ccab570
style: ruff formatting
JoshLoecker Dec 2, 2024
2637a11
fix: convert to string before using string operations
JoshLoecker Dec 2, 2024
9c5d2cc
fix: make directory before writing
JoshLoecker Dec 2, 2024
2ef11e2
fix: properly check that items exist before using
JoshLoecker Dec 2, 2024
b712eec
fix: unravel nested lists
JoshLoecker Dec 2, 2024
d2591cb
fix: proper import sorting and usage
JoshLoecker Dec 2, 2024
6b5f26a
refactor: move algorithm to utils
JoshLoecker Dec 2, 2024
984a2b9
style: proper docstrings
JoshLoecker Dec 2, 2024
17adbe2
style: ruff formatting; remove unused variables
JoshLoecker Dec 2, 2024
70fb92b
refactor: proper error message
JoshLoecker Dec 2, 2024
f091ba8
refactor: proper usage of `Algorithm`
JoshLoecker Dec 2, 2024
2ae349a
style: ruff formatting & linting
JoshLoecker Dec 2, 2024
9c1973e
style: ruff formatting & linting; proper docstrings
JoshLoecker Dec 2, 2024
9008f78
fix: proper usage of enum object; async usage
JoshLoecker Dec 2, 2024
86aca8f
style: proper docstring; added additional directories
JoshLoecker Dec 2, 2024
86459a8
style: ruff formatting
JoshLoecker Dec 2, 2024
31ea6ad
style: ruff import formatting
JoshLoecker Dec 2, 2024
7199418
style: proper docstring usage
JoshLoecker Dec 2, 2024
52a7337
style: rename private classes and functions; use loguru
JoshLoecker Dec 2, 2024
bebac7b
refactor: remove unused arguments
JoshLoecker Dec 2, 2024
36552db
feat: reading h5ad files for single-cell analysis
JoshLoecker Dec 2, 2024
569d65b
style: do not iterate through unnecessary items; ruff formatting
JoshLoecker Dec 2, 2024
9d88dbe
feat: dynamic multiprocessing for large files
JoshLoecker Dec 2, 2024
e564144
style: ruff formatting
JoshLoecker Dec 2, 2024
e07fe43
style: fix imports
JoshLoecker Dec 2, 2024
0a832f9
fix: invalid collection of command line items
JoshLoecker Dec 2, 2024
11e0f9d
style: proper docstrings; ruff formatting
JoshLoecker Dec 2, 2024
a7eb742
style: fix imports
JoshLoecker Dec 2, 2024
bc8186d
fix: proper return type; pathlib usage; ruff formatting
JoshLoecker Dec 2, 2024
9261dea
fix: proper return type; pathlib usage; ruff formatting
JoshLoecker Dec 2, 2024
e7e6475
feat: use biothings for data conversion
JoshLoecker Dec 2, 2024
9009f12
style: format code, Jupyter Notebook(s), and Python imports with `ruff`
JoshLoecker Dec 2, 2024
eb0e65d
refactor: create more structured file
JoshLoecker Dec 2, 2024
6e7a676
feat: merge ci items into a single workflow
JoshLoecker Dec 3, 2024
60c16fc
Merge remote-tracking branch 'origin/purge_r' into purge_r
JoshLoecker Dec 3, 2024
070f947
feat: expand usable python versions
JoshLoecker Dec 3, 2024
88e43fa
fix: do not allow 3.13 because gurobi only supports up to 3.12
JoshLoecker Dec 3, 2024
58271d8
fix: ruff linting fixes
JoshLoecker Dec 3, 2024
3b294ec
feat: add pytest-cov
JoshLoecker Dec 3, 2024
864e4ea
feat: added migrations file to coerce data into correct format
JoshLoecker Dec 3, 2024
ebd0053
fix: use proper header
JoshLoecker Dec 4, 2024
8340359
fix: install fixed dependency version of troppo and cobamp
JoshLoecker Dec 4, 2024
6743c82
refactor!: add taxon id as command line argument to required files
JoshLoecker Dec 4, 2024
13c08e3
refactor: add hypothesis cache to gitignore
JoshLoecker Dec 4, 2024
d060dcd
refactor: do not require recon algorithm
JoshLoecker Dec 4, 2024
467fa5f
style: use proper docstrings; ruff formatting; type hints
JoshLoecker Dec 4, 2024
15e5264
fix: proper collection of data files
JoshLoecker Dec 4, 2024
06584ea
style: function rename
JoshLoecker Dec 4, 2024
d369fa2
refactor: import types; rename functions
JoshLoecker Dec 4, 2024
cbe7f4f
refactor: import types; use `match` when applicable
JoshLoecker Dec 4, 2024
973a6b0
fix: import statements; proper async usage
JoshLoecker Dec 4, 2024
3350885
refactor: use proper imports; introduce data migration functions
JoshLoecker Dec 4, 2024
2782096
refactor: remove unused imports; use `match` where applicable
JoshLoecker Dec 4, 2024
0d8f174
refactor!: do not require input format
JoshLoecker Dec 4, 2024
4cd5468
revert: only unit test 3.10 as that is what we require
JoshLoecker Dec 4, 2024
322807e
fix: remove numpy dependency; update uv action
JoshLoecker Dec 4, 2024
5e51059
fix: ruff linting errors
JoshLoecker Dec 4, 2024
4903ca9
style: format code, Jupyter Notebook(s), and Python imports with `ruff`
JoshLoecker Dec 4, 2024
5445340
fix: ignore errors on files not yet ready for linting
JoshLoecker Dec 4, 2024
3b83239
Merge remote-tracking branch 'origin/purge_r' into purge_r
JoshLoecker Dec 4, 2024
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
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ main/src/tests
**/.ipynb_checkpoints/
README.md
LICENSE
/.venv
84 changes: 84 additions & 0 deletions .github/workflows/continuous_integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Continuous Integration
on:
push:
branches:
- main
pull_request:
workflow_dispatch:

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

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Create Virtual Environment
run: uv venv

- name: Install Jupyter
run: uv pip install jupyter nbconvert

- name: Strip Notebook Output
run: uv run jupyter nbconvert --clear-output --inplace "main/COMO.ipynb"

- name: Format Python Imports
uses: astral-sh/ruff-action@v1
with:
args: "check --fix --select I"

- name: Format code
uses: astral-sh/ruff-action@v1
with:
args: "format"

- name: Format Notebook
uses: astral-sh/ruff-action@v1
with:
args: "format main/COMO.ipynb"

- name: Commit Changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "style: format code, Jupyter Notebook(s), and Python imports with `ruff`"
file_pattern: "main/como/*.py"


lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check Lint
uses: astral-sh/ruff-action@v1
with:
args: "check --no-fix --verbose"

test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.10" ]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: "true"
cache-suffix: "${{ matrix.python-version }}"
cache-dependency-glob: 'uv.lock'

- name: Install Dependencies
run: uv sync --python "${{ matrix.python-version }}" --all-extras --dev

- name: Run tests
run: uv run --python "${{ matrix.python-version }}" pytest --cov --junitxml=junit.xml -o junit_family=legacy

- name: Cache Clear
run: uv cache prune --ci
40 changes: 0 additions & 40 deletions .github/workflows/unit_tests.yml

This file was deleted.

13 changes: 6 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,13 @@ docs/_site
docs/Gemfile.lock

# COMO-specific files
.hypothesis
**/*.Rout
main/logs/
main/data/results/
main/data/config_sheets/*_data_inputs_auto.xlsx
main/data/gene_info.csv
main/data/Repurposing_Hub_Preproc.tsv
main/microarray.db
main/data/config_sheets/*
main/data/GSE*_RAW
main/data/gpl*entrez.csv
main/src/microarray.db
main/data/results/
main/data/config_sheets

# COMO data
main/data/data_matrices
8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/opensource-nepal/commitlint
rev: v1.2.0
hooks:
- id: commitlint
name: Commit Lint
33 changes: 9 additions & 24 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,12 @@
FROM jupyter/r-notebook:latest as builder
FROM python:3.10 AS app

COPY environment.yaml "${HOME}/environment.yaml"
COPY --chown=1000:100 main "${HOME}/main"

# Install python-related items
# Remove "python" from the pinned file so we can install our own version
RUN sed -i '/^python/d' /opt/conda/conda-meta/pinned && \
echo "auto_activate_base: true" >> "${HOME}/.condarc" && \
jupyter trust "${HOME}/main/COMO.ipynb" && \
echo "c.ServerApp.ip = '0.0.0.0'" >> "${HOME}/.jupyter/jupyter_notebook_config.py" && \
echo "c.ServerApp.root_dir = '${HOME}/main'" >> "${HOME}/.jupyter/jupyter_notebook_config.py" && \
echo "c.ServerApp.token = ''" >> "${HOME}/.jupyter/jupyter_notebook_config.py" && \
echo "c.ServerApp.password = ''" >> "${HOME}/.jupyter/jupyter_notebook_config.py" && \
mamba config --quiet --add channels conda-forge && \
mamba config --quiet --add channels bioconda && \
mamba config --quiet --add channels r && \
rm -rf "${HOME}/main/tests" # Tests not required for running COMO

# Update base environment
RUN mamba env update --name=base --file="${HOME}/environment.yaml" && \
R -e "devtools::install_github('babessell1/zFPKM')" && \
pip cache purge && \
mamba clean --all --yes
WORKDIR /app
ENV PATH="/app/.venv/bin:$PATH"
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
COPY --chown=1000:100 main /app/main/
COPY --chown=1000:100 pyproject.toml /app/pyproject.toml

RUN uv sync && uv pip install jupyterlab
EXPOSE 8888
VOLUME /home/joyvan/main/data/local_files
VOLUME "/app/main/data/local_files"
CMD ["jupyter", "lab", "--allow-root", "--no-browser", "--ip=0.0.0.0", "--port=8888", "--notebook-dir=/app/main", "--NotebookApp.token=''", "--NotebookApp.password=''"]
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
![GitHub release (with filter)](https://img.shields.io/github/v/release/HelikarLab/COMO?filter=v*-master&style=for-the-badge&color=blue)
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/HelikarLab/COMO/unit_tests.yml?style=for-the-badge&logo=pytest&logoColor=white&label=Tests)
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/HelikarLab/COMO/container_build.yml?style=for-the-badge&logo=docker&logoColor=white&label=Docker%20Build)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)


# Setting up COMO

Expand Down
9 changes: 9 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
services:
como:
image: ghcr.io/helikarlab/como:latest
container_name: como
ports:
- "8888:8888"
volumes:
# Map "[LOCAL_DIRECTORY]/local_files to /app/main/data/local_files
- "$(pwd)/local_files:/app/main/data/local_files"
Loading
Loading