Skip to content

Commit f384ddf

Browse files
trentleslieclaude
andcommitted
refactor: reorganize into BiOMapper (data+analysis) and Nexify (orchestration)
BREAKING CHANGE: Orchestration engine extracted to separate Nexify repository This reorganization splits BiOMapper into two focused projects: **BiOMapper v0.6.0** (this repo): - Biological data and harmonization results - Cross-cohort harmonization engines - Analysis scripts and notebooks - Domain-specific methodologies - Biological API integrations **Nexify v0.1.0** (new repo at /home/ubuntu/nexify): - FlowForge workflow orchestration engine - 25+ self-registering actions - YAML-driven pipeline definitions - FastAPI service and Python client - General-purpose data processing Removed from BiOMapper: - src/actions/ (→ nexify/actions/) - src/core/ (→ nexify/core/) - src/api/ (→ nexify/api/) - src/client/ (→ nexify/client/) - src/configs/strategies/ (→ nexify/examples/strategies/biomapper/) Backup available on `pre-nexify-reorganization` branch. See REORGANIZATION_COMPLETE.md for full details. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent cfe1678 commit f384ddf

File tree

148 files changed

+1499925
-27637
lines changed

Some content is hidden

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

148 files changed

+1499925
-27637
lines changed

REORGANIZATION_COMPLETE.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# BiOMapper/Nexify Reorganization - Complete!
2+
3+
## Summary
4+
5+
The BiOMapper repository has been successfully reorganized into two focused projects:
6+
7+
### 1. **Nexify** - FlowForge Workflow Orchestration Engine
8+
**Location**: `/home/ubuntu/nexify/`
9+
10+
A general-purpose workflow orchestration engine extracted from BiOMapper.
11+
12+
**Contents**:
13+
- `src/nexify/core/` - FlowForge orchestration engine
14+
- `src/nexify/actions/` - 25+ self-registering actions
15+
- `src/nexify/standards/` - Type safety and utilities
16+
- `src/nexify/api/` - FastAPI service
17+
- `src/nexify/client/` - Python client
18+
- `tests/` - Comprehensive test suite
19+
- `examples/strategies/biomapper/` - 20 example YAML workflows
20+
21+
**Status**: ✅ Working
22+
- Poetry environment initialized
23+
- 25 actions registered
24+
- Package imports successfully
25+
- Git repository initialized
26+
- Ready for GitHub publication
27+
28+
### 2. **BiOMapper** - Biological Data Harmonization Toolkit
29+
**Location**: `/home/ubuntu/biomapper/` (current repo, main branch)
30+
31+
Focused on biological data, analysis notebooks, and domain-specific harmonization.
32+
33+
**Contents**:
34+
- `data/` - Biological datasets and harmonization results
35+
- `data/harmonization/` - Cross-cohort harmonization engines
36+
- `data/kraken_mapping/` - Knowledge graph mappings
37+
- `scripts/` - Analysis and harmonization scripts
38+
- `docs/` - Technical documentation and reports
39+
- `src/cli/` - Command-line tools
40+
- `src/integrations/` - Biological API integrations
41+
- `src/data/` - Data utilities
42+
- `src/utils/` - Utility functions
43+
- `src/validation/` - Validation frameworks
44+
45+
**Removed (migrated to Nexify)**:
46+
- ~~src/actions/~~`nexify/actions/`
47+
- ~~src/core/~~`nexify/core/`
48+
- ~~src/api/~~`nexify/api/`
49+
- ~~src/client/~~`nexify/client/`
50+
- ~~src/configs/strategies/~~`nexify/examples/strategies/biomapper/`
51+
52+
## Backup
53+
54+
A complete backup of the pre-reorganization state is preserved on the `pre-nexify-reorganization` branch:
55+
56+
```bash
57+
git checkout pre-nexify-reorganization # View original state
58+
git checkout main # Return to new structure
59+
```
60+
61+
## Next Steps
62+
63+
### For Nexify:
64+
1. Create GitHub repository at `github.com/nexify/nexify`
65+
2. Push initial commit
66+
3. Set up GitHub Actions CI/CD
67+
4. Create documentation site
68+
5. Publish to PyPI as `nexify`
69+
70+
### For BiOMapper:
71+
1. Update README to reflect new focus
72+
2. Create Jupyter notebooks from analysis scripts
73+
3. Document harmonization methodologies
74+
4. Optional: Add `nexify` as dependency for running workflows
75+
5. Curate production-ready harmonization workflows
76+
77+
### Integration:
78+
- BiOMapper can use Nexify for workflow orchestration when needed
79+
- Install with: `pip install nexify` (after PyPI publication)
80+
- Or use locally: `pip install -e /path/to/nexify`
81+
82+
## Technical Details
83+
84+
### Nexify Package Structure
85+
```
86+
nexify/
87+
├── src/nexify/
88+
│ ├── __init__.py (exports MinimalStrategyService, ACTION_REGISTRY, UniversalContext)
89+
│ ├── core/ (orchestration engine)
90+
│ ├── actions/ (all action implementations)
91+
│ ├── standards/ (type safety, file loading, context handling)
92+
│ ├── api/ (FastAPI service)
93+
│ └── client/ (Python client)
94+
├── tests/ (all tests migrated, imports updated)
95+
├── examples/strategies/biomapper/ (20 YAML workflows)
96+
├── pyproject.toml (version 0.1.0)
97+
├── README.md
98+
└── LICENSE (Apache 2.0)
99+
```
100+
101+
### BiOMapper Package Structure
102+
```
103+
biomapper/
104+
├── data/ (all biological data and results)
105+
├── scripts/ (analysis and harmonization)
106+
├── docs/ (technical documentation)
107+
├── src/
108+
│ ├── cli/ (command-line tools)
109+
│ ├── configs/ (configuration - no strategies)
110+
│ ├── data/ (data utilities)
111+
│ ├── integrations/ (biological APIs)
112+
│ ├── utils/ (utility functions)
113+
│ └── validation/ (validation frameworks)
114+
├── pyproject.toml (version 0.6.0)
115+
└── LICENSE (Apache 2.0)
116+
```
117+
118+
## Verification
119+
120+
### Nexify Tests:
121+
```bash
122+
cd /home/ubuntu/nexify
123+
poetry run python -c "import nexify; print(f'✅ Nexify {nexify.__version__} imported successfully')"
124+
# Output: ✅ Nexify 0.1.0 imported successfully
125+
# Actions registered: 25
126+
```
127+
128+
### BiOMapper Structure:
129+
```bash
130+
cd /home/ubuntu/biomapper
131+
ls src/
132+
# cli configs data integrations utils validation
133+
```
134+
135+
## Migration Statistics
136+
137+
- **Files migrated to Nexify**: ~100 Python files + 20 YAML strategies + test suite
138+
- **BiOMapper size reduction**: ~60% of source code removed
139+
- **Focus shift**: Orchestration engine → Data & analysis
140+
- **New repositories**: 1 → 2
141+
- **Maintained compatibility**: Both can work independently or together
142+
143+
## Timeline
144+
145+
- Backup created: ✅ Branch `pre-nexify-reorganization`
146+
- Directory structure: ✅ Created `/home/ubuntu/nexify/`
147+
- Code migration: ✅ All orchestration code moved
148+
- Import updates: ✅ All imports use `nexify` namespace
149+
- Environment setup: ✅ Poetry install successful
150+
- Testing: ✅ Basic imports and action registration verified
151+
- BiOMapper cleanup: ✅ Orchestration code removed
152+
- Configuration updates: ✅ pyproject.toml updated for both repos
153+
154+
---
155+
156+
**Date Completed**: November 17, 2025
157+
**Duration**: ~2 hours
158+
**Status**: ✅ Reorganization Complete - Ready for Collaboration
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
cohort_specific_rules:
2+
arivale:
3+
assessment_type_weight: 0.9
4+
column_name_weight: 0.8
5+
description_weight_multiplier: 1.0
6+
israeli10k:
7+
dataset_name_weight: 0.7
8+
description_weight_multiplier: 1.0
9+
field_string_weight: 0.9
10+
ukbb:
11+
description_weight_multiplier: 0.8
12+
field_name_weight: 0.9
13+
path_component_weight: 0.8
14+
query_weights:
15+
abbreviation: 0.5
16+
category_search: 0.7
17+
clinical_standard: 0.95
18+
exact_description: 1.0
19+
fallback: 0.4
20+
field_with_context: 0.85
21+
normalized_field: 0.8
22+
partial_match: 0.6
23+
semantic_enhanced: 0.9

0 commit comments

Comments
 (0)