Skip to content

Clean project structure for v3 - #2

Merged
edkerk merged 4 commits into
developfrom
clean_project_structure
Oct 17, 2026
Merged

edkerk merged 4 commits into
developfrom
clean_project_structure

Conversation

@edkerk

@edkerk edkerk commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Copied from SysBioChalmers/RAVEN#761, opened by ae-tafur on 2026-10-10.

Main improvements in this PR:

Justification: The repository root held about 25 top-level folders, with source code, tests, generated docs, third-party code and binaries all mixed together. This made it hard to navigate and put every folder on the MATLAB path. This PR moves to a conventional layout (src/, tests/, docs/, tutorials/, img/). It changes no behaviour, and all paths that depended on the old layout are updated.

  • refactor:
    • Moved all source folders (analysis, annotation, biomass, comparison, conditions, conversion, core, curation, deprecated, gapfilling, INIT, installation, io, localization, manipulation, queries, reconstruction, solver, tasks, utils, visualization) under src/.
    • Moved third-party code and external binaries (GLPKmex, libSBML, m2html, mafft, scip, WoLFPSORT, blast+, diamond, hmmer) from software/ to src/external/.
    • Renamed testing/ to tests/ and tutorial/ to tutorials/ (data files now in tutorials/data/).
    • Moved generated HTML documentation from doc/ to docs/html/ and readme/ to docs/readme/.
    • Moved RAVEN.png to img/.
  • fix:
    • findRAVENroot located the installation through RAVEN.png in the root. It now uses version.txt, so moving the image does not break root detection.
    • Updated hard-coded paths to the new layout in checkRaven, optimizeProb, setRavenSolver, downloadRavenBinaries, getBlast, getDiamond, getKEGGModelForOrganism, ravenCobraWrapper, standardizeModelFieldOrder, runRAVENtests and the KEGG functions.
    • updateDocumentation now scans src/ and writes to docs/html/. It also no longer references the removed legacy/software folder.
    • Updated the test suite (tSyntax, tBinaries, tInstallation, tIO, tTasks, tGenomeData, tReconstruction, tManipulation, RavenTestCase) to the new paths.
  • documentation:
    • Updated README link, tutorial1.m, CONTRIBUTING.md, tests README and _config.yml (logo and keep_files) to the new paths.
  • ci:
    • Updated tests.yml, documentation.yml, release-bundle.yml, assemble_offline_software.py and .gitignore to the new paths.
  • testing:
    • Ran the full function test suite in MATLAB R2026a: 357 passed, 0 failed, 39 incomplete (need a solver, the Parallel Computing Toolbox or binaries not available locally right now).

Instructions on merging this PR:

  • This PR has develop as target branch, and will be resolved with a squash-merge.
  • This PR has main as target branch, and will be resolved as descriped here.

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Function test results

393 tests   354 ✅  1m 29s ⏱️
 24 suites   39 💤
  1 files      0 ❌

Results for commit ce851de.

♻️ This comment has been updated with latest results.

@edkerk
edkerk merged commit 204a3d0 into develop Oct 17, 2026
4 checks passed
@edkerk
edkerk deleted the clean_project_structure branch October 17, 2026 05:47
edkerk added a commit to CompMetEng/raven-docs that referenced this pull request Oct 17, 2026
RAVEN moved its source folders under `src/` (CompMetEng/RAVEN#2). The
API index looked for them at the top level, so every MATLAB category
came out empty and the generator stopped on `curated_pairs.yml`. It now
reads from `src/` when that folder exists, and the RAVEN submodule moves
to a commit with the new layout. With it, 170 MATLAB functions are
indexed and none are unmapped.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants