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
19 changes: 19 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Neo4j Database Connection
# Connection URL for the Reactome Neo4j database
NEO4J_URL=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your_password_here

# Pathway Processing
# Path to file containing list of pathway IDs to process
PATHWAY_LIST_FILE=pathways.tsv

# Output Configuration
# Directory where generated files will be saved
OUTPUT_DIR=output

# Logging Configuration
# Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# Log file path (optional, logs to console if not set)
# LOG_FILE=pathway_generation.log
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Bug Report
about: Report a bug to help us improve
title: '[BUG] '
labels: bug
assignees: ''
---

## Bug Description

A clear and concise description of what the bug is.

## Steps to Reproduce

1. Run command '...'
2. With pathway ID '...'
3. See error

## Expected Behavior

A clear description of what you expected to happen.

## Actual Behavior

What actually happened instead.

## Error Message

```
Paste error message here if applicable
```

## Environment

- OS: [e.g., Ubuntu 22.04, macOS 14]
- Python Version: [e.g., 3.10.5]
- Poetry Version: [e.g., 1.7.1]
- Neo4j Version: [e.g., Release94]

## Pathway Information

- Pathway ID: [e.g., 69620]
- Pathway Name: [if known]

## Additional Context

Add any other context about the problem here, such as:
- Does it happen with all pathways or just specific ones?
- Is this a regression (did it work before)?
- Any relevant log files or output
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Reactome Community
url: https://reactome.org/community
about: Ask questions and discuss with the Reactome community
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Feature Request
about: Suggest an idea for this project
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

## Feature Description

A clear and concise description of the feature you'd like to see.

## Problem Statement

What problem does this feature solve? Is your feature request related to a problem?
Example: "I'm always frustrated when..."

## Proposed Solution

Describe the solution you'd like to see implemented.

## Alternatives Considered

Describe any alternative solutions or features you've considered.

## Use Case

How would you use this feature? Provide specific examples if possible.

## Additional Context

Add any other context, screenshots, or examples about the feature request here.

## Would you like to implement this?

- [ ] Yes, I'd like to work on this
- [ ] No, just suggesting
- [ ] Need guidance on how to implement
66 changes: 66 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
## Description

Brief description of what this PR does.

## Type of Change

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Code quality improvement (refactoring, performance, etc.)

## Related Issue

Fixes #(issue number)

## Changes Made

- Change 1
- Change 2
- Change 3

## Testing

### Unit Tests
- [ ] All existing unit tests pass locally (`poetry run pytest tests/ -v -m "not database"`)
- [ ] Added new unit tests for changes (if applicable)

### Integration Tests (Optional - requires Neo4j)
- [ ] All integration tests pass locally (`poetry run pytest tests/ -v`)

### Manual Testing
Describe any manual testing performed:
- Tested with pathway ID(s):
- Verified output files:

## Code Quality

- [ ] Code follows project style guidelines (ruff)
- [ ] Ran `poetry run ruff check src/` with no errors
- [ ] Ran `poetry run ruff format src/`
- [ ] Type hints added/updated where applicable
- [ ] Ran `poetry run mypy --ignore-missing-imports src/` (optional)

## Documentation

- [ ] Updated README.md (if needed)
- [ ] Updated CHANGELOG.md
- [ ] Added/updated docstrings
- [ ] Updated relevant documentation in `docs/`

## Checklist

- [ ] Self-review completed
- [ ] Code is well-commented, particularly in complex areas
- [ ] No debugging code left in (print statements, breakpoints, etc.)
- [ ] No credentials or sensitive information in code
- [ ] Git commit messages are clear and descriptive

## Screenshots (if applicable)

Add screenshots or terminal output if it helps explain the changes.

## Additional Notes

Any additional information that reviewers should know.
32 changes: 32 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Tests

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

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'

- name: Install Poetry
run: pip install poetry

- name: Install dependencies
run: poetry install

- name: Run tests (excluding database tests)
run: poetry run pytest tests/ -v -m "not database"

- name: Run type checking
run: poetry run mypy --ignore-missing-imports src/
continue-on-error: true # Don't fail build yet
43 changes: 39 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,49 @@
# Log files
*.log
debug_log.txt
debug_run.log
pathway_generation.log
test_generation.log

# Ignore Python bytecode files
# Python bytecode files
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
*.egg-info/

# Test artifacts
.pytest_cache/
.coverage
htmlcov/
*.coverage

#output folder of results
# IDE
.vscode/
.idea/
*.swp

# OS
.DS_Store
Thumbs.db

# Temporary files
*.tmp
*.bak

# Environment variables
.env
.env.*
!.env.example

# Output folder of results
output

#vim files
*.swp
# Generated data files
db_id_to_name_mapping.tsv
pathway_logic_network_*.csv
uuid_mapping_*.csv
reaction_connections_*.csv
decomposed_uid_mapping_*.csv
best_matches_*.csv
26 changes: 26 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.4
hooks:
- id: ruff
args: [--fix]
- id: ruff-format

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
args: ['--maxkb=1000']
- id: check-merge-conflict
- id: check-case-conflict
- id: mixed-line-ending

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.14.0
hooks:
- id: mypy
args: [--ignore-missing-imports]
additional_dependencies: [types-all]
Loading
Loading