Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
b49439e
chore: drop other datasets
tristan-f-r Mar 18, 2026
2018a13
Merge branch 'main' into egfr-and-infrastructure
tristan-f-r Mar 18, 2026
136e5ff
chore: re-include
tristan-f-r Mar 18, 2026
472468d
chore: drop tools
tristan-f-r Mar 18, 2026
a5de971
chore: re-add tools
tristan-f-r Mar 18, 2026
8ddccb4
docs: cache
tristan-f-r Mar 18, 2026
90cc277
style: fmt
tristan-f-r Mar 18, 2026
eb23b8f
docs: on caching
tristan-f-r Mar 18, 2026
4b524bc
docs: suggestions from review
tristan-f-r Mar 18, 2026
69fda05
docs: more comments, refactor: mv function out of Snakefile
tristan-f-r Mar 19, 2026
15c7ecb
docs(datasets): mention responsenet and egfr
tristan-f-r Mar 19, 2026
729a51b
docs(datasets): add old synthetic data branch
tristan-f-r Mar 19, 2026
922be5d
chore: mv to scores instead of dmmm
tristan-f-r Mar 23, 2026
f3d6d41
docs: drop expiration docs
tristan-f-r Mar 23, 2026
a802fde
docs: clarify snakemake importing
tristan-f-r Mar 23, 2026
85ba6e9
docs: more clarification on data and files
tristan-f-r Mar 24, 2026
8139f14
refactor: move irefindex back to egfr
tristan-f-r Mar 24, 2026
5a8c02e
chore: revert web
tristan-f-r Mar 24, 2026
041f998
docs: clarify on cache
tristan-f-r Mar 24, 2026
bd3bcab
chore: apply suggestions
tristan-f-r Mar 25, 2026
c08a0b8
docs: apply suggestions
tristan-f-r Mar 25, 2026
b3cf691
chore: apply suggestions
tristan-f-r Mar 25, 2026
193f75a
drop extensions
tristan-f-r Mar 25, 2026
0581bea
refactor(egfr): correctly specify output dirs
tristan-f-r Mar 25, 2026
320aa87
feat(egfr): add target nodes, fmt
tristan-f-r Mar 26, 2026
f696c6d
feat: archived biomart url
tristan-f-r Mar 26, 2026
998030b
docs: apply suggestion
tristan-f-r Mar 26, 2026
040a62e
docs: apply more suggestions, fix config, unfix magic value
tristan-f-r Mar 26, 2026
c18d841
Merge branch 'egfr-and-infrastructure' of https://github.com/Reed-Com…
tristan-f-r Mar 26, 2026
0063ae2
move contributing over
tristan-f-r Mar 26, 2026
bf55684
chore: mv
tristan-f-r Mar 26, 2026
794e8ae
fix up references
tristan-f-r Mar 26, 2026
e6bf86b
refactor: use ensp name
tristan-f-r Mar 26, 2026
6b4841a
clean up on docs
tristan-f-r Apr 7, 2026
7922f06
docs: update err msg
tristan-f-r Apr 20, 2026
d5b295d
chore: address some comments
tristan-f-r Apr 20, 2026
801b3c6
feat: allow for version aliasing
tristan-f-r Apr 21, 2026
6d2c7df
Merge branch 'egfr-and-infrastructure' of https://github.com/Reed-Com…
tristan-f-r Apr 21, 2026
ef1773b
docs: mention v12 in the file name
tristan-f-r Apr 21, 2026
0c6d6f0
docs: mention aliasing
tristan-f-r Apr 21, 2026
c2d17db
feat: uncompressing zip files
tristan-f-r Apr 21, 2026
66de95b
test: setup with directory redirects
tristan-f-r Apr 21, 2026
d4749e7
feat: deduplicate edges of output interactome
tristan-f-r Apr 21, 2026
b5e6332
chore: mv directory test
tristan-f-r Apr 21, 2026
dbba053
fix: add init file to cache tests
tristan-f-r Apr 21, 2026
f8ce2a8
docs: apply suggestions
tristan-f-r Apr 21, 2026
8a51052
docs: cache
tristan-f-r Apr 21, 2026
69de55b
fix: designate cache & tools as modules
tristan-f-r Apr 21, 2026
df4a16e
docs: general egfr cmts, fix: make egfr dataset work
tristan-f-r Apr 21, 2026
a178a2a
feat: actual interactome trimming
tristan-f-r Apr 23, 2026
5df4a13
style: fmt
tristan-f-r Apr 23, 2026
5e13705
style: fmt
tristan-f-r Apr 29, 2026
b5ddaa4
fix: address larger notes
tristan-f-r Apr 29, 2026
cd41227
docs: fix outdated comments, apply some minor suggestions
tristan-f-r Apr 29, 2026
38ef456
chore: more minor suggestions
tristan-f-r Apr 29, 2026
b6b958e
chore: apply suggestions
tristan-f-r Apr 29, 2026
5f6720c
refactor: change file name
tristan-f-r Apr 30, 2026
8755803
chore: apply suggestions
tristan-f-r Apr 30, 2026
c7efcba
fix: set header=False for normalized interactome
tristan-f-r Apr 30, 2026
1b60dcb
refactor: use other prize value
tristan-f-r Apr 30, 2026
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 .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mcr.microsoft.com/devcontainers/anaconda:1-3
23 changes: 23 additions & 0 deletions .devcontainer/devcontainer.json
Comment thread
tristan-f-r marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Small devcontainer which loads anaconda. All postinstallation steps have to be done manually.
// This comes with snakemake and docker-in-docker.

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/anaconda
{
"name": "Anaconda (Python 3)",
"build": {
"context": "..",
"dockerfile": "Dockerfile"
},
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
// For yamlfmt
"ghcr.io/devcontainers/features/go:1": {},
// For web display
"ghcr.io/devcontainers/features/node:1": {},
// For scripting
"ghcr.io/va-h/devcontainers-features/uv:1": {},
// For paxtools
"ghcr.io/devcontainers/features/java:1": {}
}
}
71 changes: 71 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Test SPRAS

on:
pull_request:
branches: [main]
push:
branches: [main]

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

jobs:
pre-commit:
name: Run pre-commit checks
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Run pre-commit checks
uses: pre-commit/action@v3.0.0
checks:
name: Run workflow
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Install uv for scripting
uses: astral-sh/setup-uv@v6.1.0
with:
version: "0.7.13"
- name: Setup conda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: spras
environment-file: spras/environment.yml
auto-activate-base: false
miniconda-version: 'latest'
# Install spras in the environment using pip
- name: Install spras in conda env
shell: bash --login {0}
run: pip install ./spras
# Log conda environment contents
- name: Log conda environment
shell: bash --login {0}
run: conda list
- name: Fetch Artifact Cache
id: fetch-cache
uses: actions/cache/restore@v4
with:
path: cache/artifacts
key: cache-artifacts
- name: Process raw data through Snakemake
run: sh run_snakemake.sh
- name: Cache Artifact Cache
id: cache-cache
uses: actions/cache/save@v4
with:
path: cache/artifacts
key: cache-artifacts
- name: Run Snakemake workflow for score-based datasets
shell: bash --login {0}
run: snakemake --cores 4 --configfile configs/scores.yaml --show-failed-logs -s spras/Snakefile
169 changes: 169 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
.idea/

# Snakemake
.snakemake

# Output
/output
/web/output

# pnpm
.pnpm-store

# mac
.DS_Store
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "spras"]
path = spras
url = https://github.com/Reed-CompBio/spras
33 changes: 33 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_language_version:
# Match this to the version specified in environment.yml
python: python3.11
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0 # Use the ref you want to point at
hooks:
# Attempts to load all yaml files to verify syntax.
- id: check-yaml
# Attempts to load all TOML files to verify syntax.
- id: check-toml
# Trims trailing whitespace.
- id: trailing-whitespace
# Preserves Markdown hard linebreaks.
args: [--markdown-linebreak-ext=md]
# Do not trim whitespace from all files, input files may need trailing whitespace for empty values in columns.
types_or: [markdown, python, yaml]
# Skip this Markdown file, which has an example of an input text file within it.
exclude: input/README.md
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.15.4'
hooks:
- id: ruff
- repo: https://github.com/google/yamlfmt
rev: v0.17.0
hooks:
- id: yamlfmt
- repo: https://github.com/crate-ci/typos
rev: v1.34.0
hooks:
- id: typos
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.13
5 changes: 5 additions & 0 deletions .vscode/settings.json
Comment thread
tristan-f-r marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"editor.rulers": [
150 // enforced by ruff
]
}
2 changes: 2 additions & 0 deletions .yamlfmt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
formatter:
retain_line_breaks_single: true
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Reed College Computational Biology

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading
Loading