Skip to content

Commit ae1b305

Browse files
authored
Merge pull request #1 from AltinLab/rewrite
Reformat repo for readability
2 parents c70a62b + ad28869 commit ae1b305

156 files changed

Lines changed: 7565 additions & 277194 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dvc/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/config.local
2+
/cache

.dvc/config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[core]
2+
remote = origin
3+
['remote "origin"']
4+
url = /tgen_labs/altin/dvc/tcrtrifold-experiments/

.dvcignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Add patterns of files dvc should ignore, which could improve
2+
# the performance. Learn more at
3+
# https://dvc.org/doc/user-guide/dvcignore
4+
**/inference

.github/copilot-instructions.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
This is a Python and Nextflow repository for predicting whether TCRs (T-cell receptors) bind to p:MHCs (peptide:MHC complexes) using AlphaFold3. Please follow these guidelines when contributing:
2+
3+
## Code Standards
4+
5+
### Required Before Each Commit
6+
- Run `black .` from the cloned project root (using the `tcrtrifold-experiments` conda environment) before committing any changes to ensure proper code formatting
7+
- This will run black on all Python files to maintain consistent style
8+
9+
### Development Flow
10+
- Test: `./scripts/test/<script_name>.sh`
11+
12+
## Repository Structure
13+
- `data/`: Parquet files, AF3 inference outputs, and other data associated with triads (TCRs in complex with p:MHCs) and p:MHC complexes alone, organized on a per-dataset basis.
14+
- `envs/`: Conda environments for different purposes in this repo. `env_runner.yaml` is the primary package code containing the package described by 'pyproject.toml' and its dependencies, often used by nextflow pipelines kicked off using the `nf-core` environment.
15+
- `notebooks/`: Jupyter notebooks for analyzing results and making figures
16+
- `results/`: Persistent storage for outputs of jupyter notebooks
17+
- `scripts/`: Primary entrypoint for interacting with this repo. Contains slurm scripts (which should be run as bash scripts in the runner environment) that kick off the nextflow pipelines.
18+
- `src/tcrtrifold/`: The python package code used by the pipelines in this repo, organized using the "src" layout.
19+
- `workflows/`: Nextflow pipelines and their associated Python scripts for running AlphaFold3, formatting data, and extracting features.
20+
21+
## Key Guidelines
22+
1. Follow Python best practices and idiomatic patterns
23+
2. Use Numpy-style docstrings for Python methods and classes
24+
3. Maintain existing code structure and organization
25+
4. If issues are ambiguous, ask clarifying questions before attempting to solve them
26+
5. While other datasets are present in this repo, `data/test` is the dataset intended to be used by the runner environment. Pipelines should be written in a way that works on test data but is generic enough to be run on other datasets.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Copilot Setup Steps"
2+
3+
# Automatically run the setup steps when they are changed to allow for easy validation, and
4+
# allow manual testing through the repository's "Actions" tab
5+
on:
6+
workflow_dispatch:
7+
push:
8+
paths:
9+
- .github/workflows/copilot-setup-steps.yml
10+
pull_request:
11+
paths:
12+
- .github/workflows/copilot-setup-steps.yml
13+
14+
jobs:
15+
16+
copilot-setup-steps:
17+
runs-on: ubuntu-latest
18+
19+
permissions:
20+
contents: read
21+
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v4
25+
26+
# More info on options: https://github.com/conda-incubator/setup-miniconda
27+
- name: Install conda dependencies for main env
28+
uses: conda-incubator/setup-miniconda@v3
29+
with:
30+
activate-environment: ""
31+
auto-activate-base: true
32+
show-channel-urls: true
33+
auto-update-conda: true
34+
conda-remove-defaults: true
35+
36+
- name: Create all conda envs
37+
shell: bash -l {0}
38+
run: |
39+
conda env create -f envs/env_runner.yaml
40+
conda env create -f envs/nf-core.yaml

.gitignore

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,15 @@ ENV/
111111
# poetry
112112
poetry.lock
113113

114-
115114
# AF3 inference
116115
**/inference
117116
**/.nextflow
118117
**/*.log*
119-
# notebooks
120-
**/.ipynb
118+
121119
# scratch
122-
tmp/
120+
tmp
121+
122+
# data
123+
data/*
124+
!data/test
125+
!data/*.dvc

data/cresta.dvc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
outs:
2+
- md5: 2db2e84f3866767c326302937466581d.dir
3+
size: 2654157
4+
nfiles: 12
5+
hash: md5
6+
path: cresta

data/iedb-vdjdb/blast_query.sh

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)