Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: restructure tutorials #310

Merged
merged 25 commits into from
May 31, 2023
Merged

chore: restructure tutorials #310

merged 25 commits into from
May 31, 2023

Conversation

mihai-sysbio
Copy link
Member

@mihai-sysbio mihai-sysbio commented Apr 27, 2023

Main improvements in this PR:

This PR aims to restructure the tutorials, resolving #308.

In short, it establishes self-standing, independent tutorials (with all subfolders like userData before, including the adapter). Each tutorial also has now its own protocol.
The way the adapters are handles has been slightly tweaked.

Expected to be restructured:

  • tutorial for yeast-GEM:
    • stuck as step 23, reported independently here)
    • should be the full protocol.m, with all comments
  • tutorial for Human-GEM
    • using geckoLight variant
  • tutorial for E.coli (@Yu-sysbio is working on this)
  • blank example
    • with generic protocol.m and adapter

I hereby confirm that I have:

  • Selected develop as a target branch (top left drop-down menu)

@github-actions
Copy link

github-actions bot commented Apr 27, 2023

This PR has been automatically tested with GH Actions. Here is the output of the tests:

 
Running geckoCoreFunctionTests
Done geckoCoreFunctionTests
__________

Note: In the case of multiple test runs, this post will be edited.

@ae-tafur
Copy link
Collaborator

ae-tafur commented Apr 27, 2023

I think that adding the word tutorial as a prefix inside the tutorial folder may be redundant, isn't it ? or is there a specific reason to do this ?

@mihai-sysbio
Copy link
Member Author

I think that adding the word tutorial as a prefix inside the tutorial folder may be redundant, isn't it ? or is there a specific reason to do this ?

Fair point, I also hesitated about this. My reasoning was that people will likely copy one of these folders, so when they do it will be clearer what is the "tutorial" what is what they modified. I might be wrong here, we should follow what is most intuitive for the users so it's good to have other opinions.

@mihai-sysbio mihai-sysbio force-pushed the chore/restructure-tutorials branch 2 times, most recently from c99c23f to a11147b Compare April 28, 2023 06:32
@edkerk edkerk force-pushed the chore/restructure-tutorials branch from 7d00a36 to c76c5bc Compare May 17, 2023 15:56
@edkerk
Copy link
Member

edkerk commented May 18, 2023

Recent changes:

Remaining:

  • ecHumanGEM tutorial with GECKO light
  • ecEcoli tutorial

I suggest to have these addressed in separate PRs, so that this PR with its significant refactoring of file locations can be merged with develop. I will open two Issues for the remaining tasks.

@edkerk edkerk marked this pull request as ready for review May 18, 2023 15:33
@edkerk edkerk merged commit 26acf71 into develop May 31, 2023
1 check passed
@edkerk edkerk deleted the chore/restructure-tutorials branch May 31, 2023 21:27
@mihai-sysbio mihai-sysbio mentioned this pull request Jun 20, 2023
4 tasks
edkerk added a commit that referenced this pull request Jul 3, 2023
* fix: getStandardKcat with multiple subSystems

* Bug: Fix compatibility running ecFSEOF with GECKO3 models (#301)

* reverse: simulateGrowth for ecFSEOF

* fix: consistency in terminology

* refactor: fluxes for a target

* refactor: compatibility to GECKO3 ecFlux_scanning

* refactor: add compatibility to GECKO3

* fix: typo

* fix: save file type file

* fix: filter tolerance

* fix: if not carbon uptake have been defined

* fix: add toleracne to protein pool

* refactor: spaces instead of tabs

* fix: function input description

* Update src/geckomat/utilities/ecFSEOF/run_ecFSEOF.m

---------

Co-authored-by: edkerk <eduardk@chalmers.se>

* feat: user defined proteins to ignore in tunning kcats (#306)

* fix: applyCustomKcats with customKcats structure input (#304)

* fix: applyCustomKcats should allow struct as input

* fix: applyCustomKcats correct parse default param

* fix: applyCustomKcats

* applyCustomKcats doc and tests

* refactor: reduce command window output testss

* Apply suggestions from code review

Co-authored-by: Albert Tafur Rangel <39610893+ae-tafur@users.noreply.github.com>

---------

Co-authored-by: Albert Tafur Rangel <39610893+ae-tafur@users.noreply.github.com>

* doc: updateProtPool and flexibilizeProtConcs (#297)

* fix: updateProtPool avoid correctinf for f twice

* doc: flexibilizeProtConcs explain overconstraining

* fix: loadProtData measuredProt if NaN exist

* doc: protocol.m describe updateProtPool input

* fix: updateProtPool simplified new pool calculation

* chore: update protocol for updateProtPool

---------

Co-authored-by: Mihail Anton <mihail.anton@chalmers.se>

* feat: a function that creates a the project structure an adapter class (#312)

* feat: create structure project

* feat: include empty .keep files

---------

Co-authored-by: edkerk <eduardk@chalmers.se>

* feat: currencyMets and pseudoreactions handling (#313)

* fix: writeDLKcatInput currencyMets handling

* fix: filter out pseudoreactions makeEcModel

* fix: makeEcModel find pseudoreactions

* chore: restructure tutorials (#310)

* chore: rename userData to tutorials

* chore: move protocol and adapters

* chore: keep original in full under blankExample

* chore: compact adapters for human and yeast

* chore: cleanup protocol for yeast

* feat: add a model adapter under blankExample

* chore: rename adapter

* feat: copy protocol from yeast to human

* fix: typo

* fix: new folder names in adapters

* fix: update paths to tutorials

* refactor: model adapter expects full adapter path and extension

* fix: file paths for yeast-GEM tutorial

* style: protocol in tutorial prints step

* chore: rm doc

* feat: compress outputs about downloading complexes

* fix: full path to adapter in test

* fix: full paths for adapters in tests

* fix: undo bad path change

* chore: remove blankExample, use startGECKOproject

* chore: restore yeast-GEM protocol.m content

* chore: run through yeast-GEM protocol

* feat: simplify ModelAdapterManager commands

* fix: allow to set empty default adapter

* fix: tests refer to test adapter

---------

Co-authored-by: edkerk <eduardk@chalmers.se>

* feat: add manually-generated doc for online use

* feat: updateGECKOdoc function

* chore: update documentation

by running updateGECKOdoc()

* fix: getStandardKcat and applyKcatConstraints (#320)

* fix: getStandardKcat light model standard enzyme

In light ecModels, even if standard enzyme is not a pseudo-substrate (it will always use prot_pool instesad), standard enzyme should still be in ecModel.ec.enzyme (and .rxnEnzMat etc.), to calculate MW/kcat.

* refactor: applyKcatConstraints simplify light

* refactor: getStandardKcat

* fix: applyKcatConstraints zero-kcats light ecModel

* feat: copyECtoGEM function

* fix: minor bugs identified (#316)

* fix: use logical vector to construct equations

* fix: increase default tolerance

* style: typo

* style: use standard input names

* fix: adaptar default method name

* fix: set values under solver tol to zero

* feat: run_ecFSEOF check alphaLims parameter

---------

Co-authored-by: Eduard Kerkhoven <eduardk@chalmers.se>

* feat: updates related to tutorials (#319)

* feat: new/updated functions around enzyme usage

* feat: install and adapter manager

* feat: Crabtree plot and data

* feat: updated protocol and model file

* refactor: rename tutorials full_ and light_ecModel

* feat: loadConventionalGEM can load YAML

* feat: use progressbar to give time estimates

* fix: ecFVA correct number of simulations

* feat: sensitivityTuning reports eccodes

* feat: fillProtConcs select column from protData

* feat: flexibilizeProtConcs sort by highest ratio

* feat: plotCrabtree plus graphs

* feat: plot light vs full ecModel analysis

* feat: GECKOInstaller checks RAVEN version

* feat: update of full_ecModel protocol

moved progressbar to RAVEN 2.8.2

* fix: getStandardKcat light model standard enzyme

In light ecModels, even if standard enzyme is not a pseudo-substrate (it will always use prot_pool instesad), standard enzyme should still be in ecModel.ec.enzyme (and .rxnEnzMat etc.), to calculate MW/kcat.

* refactor: applyKcatConstraints simplify light

* refactor: getStandardKcat

* feat: light_ecModel tutorial overhaul

* fix: plot light vs full

* fix: applyKcatConstraints zero-kcats light ecModel

* feat: copyECtoGEM function

* chore: updateDocumentation

* fix: full_ecModel/protocol.m step 13

* full_ecModel misc small fixes

* fix: full_ecModel/protocol.m step 15

* fix: full_ecModel/protocol.m install instructions

* fix: findMetSmiles report success and handle prot_

* fix: full_ecModel customKcat non-funct. protein

* fix: plotCrabtree avoid flux minimalization

* fix: full_ecModel various minor changes

* fix: GECKOInstaller RAVEN dep version bump

* fix: full_ecModel and light_ecModel from review

* fix: remove unused functions

* feat: rerun light_ecModel pipeline

* refactor: change vanHoek1998.csv to .tsv

* fix: full_ecModel tutorial ecFVA (#321)

* fix: remake ecFVA plot with generic plot function

* fix: GECKOInstaller ignore doc subfolder

* chore: updateGECKOdoc

* fix: remove old ecFVA.tsv

no purpose to write this file

* refactor: speedup fuzzyKcatMatching & getECfromGEM

* feat: saveEcModel more logical input

* refactor: swap TIFF for PDF

* refactor: applyComplexData (#323)

* refactor: speed increase applyComplexData

* feat: applyComplexData progressbar + code comments

* feat: light_ecModel tutorial getSubsetEcModel (#322)

* fix: remake ecFVA plot with generic plot function

* fix: GECKOInstaller ignore doc subfolder

* chore: updateGECKOdoc

* fix: remove old ecFVA.tsv

no purpose to write this file

* fix: getStandardKcat no standard gene in light-ec

* fix: light_ecModel until step 29

* feat: getSubsetEcModel + tutorial

* feat: parameters format, phylDist.mat file and yeast-GEM.yml (#325)

* refactor: rename KEGG params to param.kegg.

to param.kegg.geneID

* refactor: rename Complex params to param.complex

* refactor: rename UniProt params to param.uniprot.

* fix: remove unused obj.params entries

remnants of GECKO2

* refactor: add _id to uniprot taxonomy

* refactor: use taxonomicID from complex portal

easier to find than precise species name

* feat: use RAVEN's phylDist.mat

from RAVEN 2.8.3 includes species names

* feat: tutorial yeast-GEM as yaml

* feat: yeast-GEM file is for tutorial only

* fix: remove unused manualModifications

* fix: small fixes

* docs: add link to tutorials in README

* docs: skip mentioning the required RAVEN version, since it is checked at installation

* feat: compare light vs full ecModel (#328)

* chore: rerun full_ecModel tutorial

* feat: light vs full ecModel comparison

* doc: swap step 29 and 30

* chore: rerun light_ecModel tutorial (#331)

* chore: rerun full_ecModel tutorial

* feat: light vs full ecModel comparison

* doc: swap step 29 and 30

* chore: rerun light_ecModel tutorial

* refactor: consistent use of isozyme

In agreement with manuscript

* chore: updateDocumentation

* doc: format of warning messages

* fix: plotlightVSfull.m handle use of alt solvers

* fix: consistent cutoff for low fluxes

---------

Co-authored-by: Albert Tafur Rangel <39610893+ae-tafur@users.noreply.github.com>
Co-authored-by: Mihail Anton <mihail.anton@chalmers.se>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants