Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
712 commits
Select commit Hold shift + click to select a range
5bd12bc
lazy load SMETANA ; MSDB correction
freiburgermsu Apr 10, 2023
e835add
SMETANA and MSDB correction
freiburgermsu Apr 10, 2023
bd49524
SMETANA parallelization and MSDB correction
freiburgermsu Apr 12, 2023
29e5c4d
examples
Fxe Apr 13, 2023
882147d
SMETANA report and MSDB justification
freiburgermsu Apr 13, 2023
5523f6b
MSDB correction code updates
freiburgermsu Apr 13, 2023
2d98cd2
SMETANA all v. all comparison results, and commphitting polishing
freiburgermsu Apr 15, 2023
302b4be
CommPhitting bin approximations towards MM
freiburgermsu Apr 15, 2023
61168b4
CommPhitting bin approximations and edits
freiburgermsu Apr 15, 2023
ffc04bc
MSCommunity and CommPhitting updates
freiburgermsu Apr 17, 2023
e311053
SteadyCom interaction updates and MSSmetana documentation
freiburgermsu Apr 18, 2023
65ba729
documentation updates
freiburgermsu Apr 18, 2023
2191fae
MSSmetana documentation consolidation and update
freiburgermsu Apr 18, 2023
24ef228
lower/upper case fix
Fxe Apr 18, 2023
177d41f
Merge branch 'dev' of github.com:ModelSEED/ModelSEEDpy into dev
Fxe Apr 18, 2023
cf8fa78
Merge pull request #124 from Fxe/dev
Fxe Apr 18, 2023
7b29ab6
correction and polishing
freiburgermsu Apr 20, 2023
368852d
pulled updates
freiburgermsu Apr 20, 2023
b6b2d49
small edits
freiburgermsu Apr 20, 2023
b94bedf
Merge branch 'main' of https://github.com/freiburgermsu/ModelSEEDpy
freiburgermsu Apr 20, 2023
0fe48c5
MSDB updates ; costless metabolites and updated RFC score
freiburgermsu Apr 21, 2023
9390e87
SMETANA ; MSDB correction ; ExpressionPkg
freiburgermsu Apr 25, 2023
c061d38
expressionPkg update
freiburgermsu Apr 26, 2023
014138e
MSCommunity edits and visualization
freiburgermsu Apr 27, 2023
588055c
Community network diagram
freiburgermsu Apr 28, 2023
593d031
MSCommunity cross_feeding figure
freiburgermsu Apr 28, 2023
a1b6d53
MSCommunity edits
freiburgermsu Apr 29, 2023
70c7551
SMETANA and dFBA updates
freiburgermsu May 2, 2023
b1e7ff4
Implementing multiple gapfill
cshenry May 3, 2023
f90d900
SMETANA updates
freiburgermsu May 4, 2023
58600f6
SMETANA development and updates
freiburgermsu May 5, 2023
7376624
SMETANA updates
freiburgermsu May 5, 2023
b6690b6
rename MSSmetana to MSCommScores
freiburgermsu May 5, 2023
e446765
KineticsFBA rewriting and correlary updates
freiburgermsu May 6, 2023
5c44f3d
CommScores and MSCommunity
freiburgermsu May 11, 2023
dbe4f32
CommScores edits
freiburgermsu May 12, 2023
1b6531e
KineticsFBA, CommScores, and MSCommunity edits
freiburgermsu May 15, 2023
9a6da45
Fixing test
cshenry May 16, 2023
b6671e7
Merge pull request #125 from cshenry/main
cshenry May 16, 2023
5562ba1
refactoring and CommScores
freiburgermsu May 18, 2023
659d505
removing prints
freiburgermsu May 18, 2023
c72512b
CommScores debugging
freiburgermsu May 18, 2023
b165906
CommScores and associated MSCommunity updates
freiburgermsu May 19, 2023
f5b9655
CommScores output polishing
freiburgermsu May 19, 2023
06e98d3
MSCommunity polishing
freiburgermsu May 19, 2023
82671ea
CommScores updates
freiburgermsu May 19, 2023
008e555
CommScores update
freiburgermsu May 23, 2023
5c1b470
scrub tsBin binned kinetics from CommPhitting
freiburgermsu May 24, 2023
f8f8b80
Community updates
freiburgermsu Jun 5, 2023
762fb73
build_from_species_models for AGORA2
freiburgermsu Jun 6, 2023
3256ea0
Renaming ATP
cshenry Jun 15, 2023
53e5677
MSCommunity updates
freiburgermsu Jun 15, 2023
504ab7d
CommScores update
freiburgermsu Jun 26, 2023
0edd988
BSS score debugging
freiburgermsu Jun 26, 2023
dfdb20b
BSS score debugged and FBAHelper function
freiburgermsu Jun 26, 2023
0912574
HTML report debugged
freiburgermsu Jun 26, 2023
da33bd2
fixes
Fxe Jun 26, 2023
d13f6c2
black
Fxe Jun 26, 2023
2a9c02c
Merge pull request #126 from Fxe/dev
Fxe Jun 26, 2023
101adfd
MSCommunity and CommPhitting updates
freiburgermsu Jun 30, 2023
6639316
CommPhitting conflict resolution
freiburgermsu Jun 30, 2023
8785626
CommScores Notebook update
freiburgermsu Jun 30, 2023
4a387f0
Merge branch 'main' of https://github.com/freiburgermsu/ModelSEEDpy
freiburgermsu Jun 30, 2023
b7edac0
Changing zero threshold on gapfilling
cshenry Jul 2, 2023
97b5d4f
Adding version printing to ModelSEEDpy so I can be sure what version …
cshenry Jul 3, 2023
a27ba8f
Resetting gapfill threshold for zero
cshenry Jul 4, 2023
3dc662b
Restoring small gapfilling threshold
cshenry Jul 4, 2023
7f694bf
Fixing gapfilling target issue
cshenry Jul 4, 2023
a8563df
Fixing bug in ATP correction
cshenry Jul 4, 2023
7cc3c55
Fixing ATP correction
cshenry Jul 4, 2023
e76d824
Fixing ATP correction media selection
cshenry Jul 4, 2023
c456540
Running black
cshenry Jul 4, 2023
cb27e47
Merge pull request #127 from cshenry/main
Fxe Jul 4, 2023
c8b67b5
minor
Fxe Jul 4, 2023
01b9d16
Merge branch 'dev' of github.com:Fxe/ModelSEEDpy into dev
Fxe Jul 4, 2023
1851286
added e0 as extracell search for cobrapy
Fxe Jul 6, 2023
7e0e216
black
Fxe Jul 6, 2023
afcaa7a
pre-commit
Fxe Jul 6, 2023
8d23db0
Merge pull request #128 from Fxe/dev
Fxe Jul 6, 2023
38c5a7a
Fixing threshold and adding empty media and fixing thresholds
cshenry Jul 7, 2023
787c6be
Fixing empty media
cshenry Jul 7, 2023
82fd4a6
Merge branch 'dev' of https://github.com/ModelSEED/ModelSEEDpy
cshenry Jul 7, 2023
2f8aeee
Fixing git ignore
cshenry Jul 7, 2023
91ac499
Making thresholds on tests more flexible, including supporting media …
cshenry Jul 8, 2023
55ae63f
Improving commenting and improving multi gapfilling
cshenry Jul 10, 2023
32c590f
Fixing bug in log message
cshenry Jul 10, 2023
19f9f58
Update atp_medias.tsv
jplfaria Jul 10, 2023
45329c1
Merge pull request #6 from jplfaria/patch-1
Fxe Jul 10, 2023
5239078
Merge branch 'ModelSEED:dev' into dev
Fxe Jul 10, 2023
69d9a8d
Merge pull request #129 from Fxe/dev
Fxe Jul 10, 2023
432aaed
build biomass index fix
Fxe Jul 10, 2023
50714db
Merge branch 'dev' of github.com:Fxe/ModelSEEDpy into dev
Fxe Jul 10, 2023
ccfed7e
Merge pull request #130 from Fxe/dev
Fxe Jul 10, 2023
239ac6e
Fixing various media and element package
cshenry Jul 12, 2023
3f25882
Fixing weird import
cshenry Jul 12, 2023
b0311a3
Improving phenotype simulations and gapfilling
cshenry Jul 13, 2023
ea81a98
Fixing bug
cshenry Jul 13, 2023
abd998c
Adding MSGrowthPhenotype object
cshenry Jul 13, 2023
963f00a
Adding MSGrowthPhenotype
cshenry Jul 13, 2023
0d6e7af
Fixing error in simulate arguments
cshenry Jul 13, 2023
1d03f9f
updated CommScores docs and code
freiburgermsu Jul 13, 2023
d4fa66c
merge upstream edits #Merge branch 'main' of https://github.com/freib…
freiburgermsu Jul 13, 2023
9fb8013
updated CommScores report template
freiburgermsu Jul 14, 2023
1f73b93
CommScores and metquest curation
freiburgermsu Jul 14, 2023
c0abcd1
Fixing attributes, improving phenotypes, improving gapfilling
cshenry Jul 17, 2023
de260ae
Fixing attritbute problem and fixing phenotypes
cshenry Jul 17, 2023
eb97e0b
CommScores study and metquest curation
freiburgermsu Jul 18, 2023
328c578
Improving phenotype simulations and enabling use of complete media
cshenry Jul 18, 2023
084054d
Fixing issue where attributes will be none
cshenry Jul 18, 2023
0d61497
atpcorrection
Fxe Jul 18, 2023
afb94cc
Merge branch 'dev' of github.com:Fxe/ModelSEEDpy into dev
Fxe Jul 18, 2023
3bfcd24
CommScores template polishing
freiburgermsu Jul 18, 2023
b08f8f3
Improving phenotype simulation and making sure parameters are documen…
cshenry Jul 18, 2023
24f1939
CommScores edits for non-growing syntrophic SRB
freiburgermsu Jul 19, 2023
8bb7300
MSCommunity visualization polishing
freiburgermsu Jul 19, 2023
4914110
resolve merge conflicts
freiburgermsu Jul 19, 2023
332672b
Merge branch 'cshenry-main' into main_copy
freiburgermsu Jul 19, 2023
525c245
finished conflict resolution and dependency updates
freiburgermsu Jul 19, 2023
548a105
ANME clade simulation edits
freiburgermsu Jul 21, 2023
c45f798
Improved phenotype functions
cshenry Jul 22, 2023
a48f398
Removing failed ATP gapfillings from gapfilling sensitivity
cshenry Jul 24, 2023
6dca6d9
Adding ATP gapfilled reactions to gapfilling sensitivity
Jul 24, 2023
bdbd835
Vorholt replication
freiburgermsu Jul 25, 2023
1be4674
Fixing bug in gapfill
cshenry Jul 25, 2023
148e3e6
Merge branch 'main' of https://github.com/cshenry/ModelSEEDpy
cshenry Jul 25, 2023
2db54c6
Fixing bug in ATP media
cshenry Jul 26, 2023
ca7cc50
Fixing ATP correction
Jul 26, 2023
dba76e8
Merge branch 'main' of github.com:cshenry/ModelSEEDpy
Jul 26, 2023
4eb2c5e
CommScores replication updates
freiburgermsu Jul 26, 2023
f2843c4
CommScores PC updates
freiburgermsu Jul 26, 2023
03ad8cc
Adding MSModelReport object with Jose's report code
cshenry Jul 26, 2023
81dd30c
Adding filename for report output
cshenry Jul 26, 2023
6507666
Fixing report
cshenry Jul 26, 2023
0897cff
Vorholt replication and MSCompatibility
freiburgermsu Jul 27, 2023
555b28a
parsed GYD and associated updates
freiburgermsu Jul 28, 2023
f095f3c
CommScores updates; MSCompatibility expansion and custom rxn function
freiburgermsu Jul 30, 2023
28c7028
Fixing accuracy and output and baseline growth
cshenry Aug 2, 2023
21efcbc
Fixing gapfilling filter saving and complete media
cshenry Aug 2, 2023
ed04550
Fixing bug in phenotype accuracy computation
cshenry Aug 3, 2023
2649577
Fixing gapfilling filter attribute
cshenry Aug 3, 2023
8c70448
Fixing bug in saving of gapfilling filtering
cshenry Aug 3, 2023
f02a4a7
fixing filter saving in attributes
cshenry Aug 4, 2023
c723ef4
CommScores report update ; new Arabidopsis simulation ; compatibility…
freiburgermsu Aug 4, 2023
ca7dee2
Removing debugging from filtering code
cshenry Aug 4, 2023
8aaa039
scrubbing PyEDA for universal accessibility of my fork
freiburgermsu Aug 7, 2023
0cdba7c
Adding support for building models from multiple annotations
cshenry Aug 8, 2023
cdea5d6
Fixing gene hash function
cshenry Aug 8, 2023
894cee0
Fixing add feature function
cshenry Aug 8, 2023
47de2c8
Fixing problem with ModelSEEDDatabase reactions
cshenry Aug 8, 2023
ddc74ad
CommScores code and Notebook example
freiburgermsu Aug 10, 2023
be84b91
Merge branch 'main' of https://github.com/freiburgermsu/ModelSEEDpy
freiburgermsu Aug 10, 2023
8a08860
report polishing ; cached CPD naming
freiburgermsu Aug 10, 2023
951bce1
Fixing annotation ontology and build from annotation ontology
cshenry Aug 10, 2023
be8dcd1
Correcting message output in ontology builder
cshenry Aug 10, 2023
0af0299
Checking in first draft of tempalte
cshenry Aug 17, 2023
58cc3c2
Fixing template
cshenry Aug 17, 2023
39fe14d
Updating template
cshenry Aug 17, 2023
6af0b8a
CommScores updates
freiburgermsu Aug 21, 2023
9863aaa
reordered CommScores MSpy imports
freiburgermsu Aug 21, 2023
2e7f999
CommScores upates and associated edits
freiburgermsu Aug 23, 2023
3a5f9f9
commphitting namespace update
freiburgermsu Aug 23, 2023
af1a4e6
associated CommScores updates
freiburgermsu Aug 23, 2023
0afb525
mscompatibility edits
freiburgermsu Aug 24, 2023
494e45d
Merge branch 'main' of https://github.com/freiburgermsu/ModelSEEDpy
freiburgermsu Aug 24, 2023
de30b92
Adding probabilities for ensemble models
cshenry Aug 24, 2023
6ee54a2
Fixing bug
cshenry Aug 24, 2023
9c2cff1
Fixing bug in report when gapfilling isn't run
cshenry Aug 24, 2023
645be00
Updates to report code
Aug 24, 2023
7d3560f
Merge branch 'main' of github.com:cshenry/ModelSEEDpy
Aug 24, 2023
eb4c70f
MSCompatibility and CommScores updates
freiburgermsu Aug 24, 2023
dbe5e62
Merge branch 'main' of https://github.com/freiburgermsu/ModelSEEDpy
freiburgermsu Aug 24, 2023
4d4cc53
Merge branch 'main' of https://github.com/cshenry/ModelSEEDpy into dev
jplfaria Aug 25, 2023
ec198d8
adding multi tab model report
jplfaria Aug 25, 2023
6210810
Merge pull request #133 from cshenry/main
Fxe Aug 26, 2023
61ecda1
changes to multitab report and redoing gapfilling and atp analysis re…
jplfaria Aug 28, 2023
eb785b2
Merge pull request #134 from jplfaria/dev
Fxe Aug 28, 2023
f0ea546
CommScores example updates
freiburgermsu Aug 29, 2023
1f0ec94
Fixing bug in report
cshenry Aug 30, 2023
6496f65
Fixing report bug
cshenry Aug 30, 2023
7194786
genesearch addition and MSCommunity updates
freiburgermsu Aug 31, 2023
d7d204c
merge conflict
freiburgermsu Aug 31, 2023
c5b1f4f
Debugging media
cshenry Sep 7, 2023
ea4117a
Removing debugging
cshenry Sep 7, 2023
cfc3bec
Fixing report
cshenry Sep 9, 2023
1b038fd
Fixing report
cshenry Sep 9, 2023
4632303
Fixing report
cshenry Sep 9, 2023
4b5f573
Fixing report
cshenry Sep 9, 2023
c9ce470
Slight report correction
cshenry Sep 9, 2023
de064ab
Fixing report bugs
cshenry Sep 11, 2023
481d914
Fixing model report encoding
cshenry Sep 13, 2023
df44d59
Fixing report for empty gapfillling data
cshenry Sep 13, 2023
b4a62f4
Adding annotationontology class to module
cshenry Sep 13, 2023
2818366
Fixing report for models where gapfilling has an empty solution
cshenry Sep 13, 2023
1dd84b3
utl
Fxe Sep 14, 2023
b65c591
Merge branch 'dev' of github.com:Fxe/ModelSEEDpy into dev
Fxe Sep 14, 2023
7112e17
balck
Fxe Sep 14, 2023
722d4dd
precommit
Fxe Sep 14, 2023
6151d17
ignore examples
Fxe Sep 14, 2023
06e05f3
no examples
Fxe Sep 14, 2023
9bcc3b4
version bump and atpcorrection media id check
Fxe Sep 15, 2023
a7de549
black
Fxe Sep 15, 2023
59f7c85
Merge pull request #136 from Fxe/dev
Fxe Sep 15, 2023
640118c
Adding function template for gapfilling function from PNNL team
cshenry Sep 21, 2023
7debbb4
Fixing bug in model reconstruction
cshenry Sep 23, 2023
1449464
Running black
cshenry Sep 23, 2023
67eb8c2
Beginning implementation of global gapfill method
cshenry Sep 23, 2023
e44ea1e
Merge commit '59f7c857b38f55de4ca86b5fc97f07b1e98d8553'
cshenry Sep 23, 2023
9de1e73
Enabling phenotypes to ignore growth data
cshenry Sep 24, 2023
0f8ddc8
fixing bug in msatpcorrection
cshenry Oct 4, 2023
1e7b63a
Fixing ID in phenotype simulation output
cshenry Oct 4, 2023
a3d13c7
Fixing threshold for pyruvate and fixing bug in multigapfilling
cshenry Oct 4, 2023
967239d
Fixing phenotype id code
cshenry Oct 5, 2023
5b321ee
Setting debug messages to understanding hanging during sensitivity an…
cshenry Oct 6, 2023
a523de8
Fixing problem with solution integration during multigapfill
cshenry Oct 8, 2023
7aa4d46
Adding function to build modelutl from file
cshenry Oct 11, 2023
d99441a
Adding some utility functions and adding current_media to KBase media…
cshenry Oct 13, 2023
f5d1d3d
Adding reaction links for obsolete reactions to reaction annotations
cshenry Oct 13, 2023
d037644
Fixing none linked reactions
cshenry Oct 13, 2023
8951c96
adding another utility function
cshenry Oct 13, 2023
82bb9ea
MSCompatibility scrubbing to CommScores
freiburgermsu Oct 31, 2023
4b6520c
Checking in improved gapfilling
cshenry Nov 10, 2023
7b1a0fa
Fixing bug in ATP code
cshenry Nov 10, 2023
445d5ae
Vorholt model accommodations and ID mapping files
freiburgermsu Dec 6, 2023
b055bda
Merge branch 'main' of https://github.com/freiburgermsu/ModelSEEDpy
freiburgermsu Dec 6, 2023
249af79
commscores edits
freiburgermsu Dec 7, 2023
2d81a53
commscores community updates
freiburgermsu Dec 7, 2023
d81ac12
MSCommunity updates
freiburgermsu Dec 11, 2023
1c1b201
scrubbing circular import from GEMCompatibility
freiburgermsu Dec 12, 2023
85156f0
error catching of MSUtils
freiburgermsu Dec 12, 2023
9df6c32
MinimalMedia printing updates
freiburgermsu Dec 12, 2023
b06d221
Fixing phenotype calling
cshenry Dec 21, 2023
76d2013
debugging growth calls
cshenry Dec 21, 2023
c841ffa
minimal_media content from ProjectNotebooks
freiburgermsu Dec 22, 2023
cf805b6
merge conflict resolutions
freiburgermsu Dec 23, 2023
18882cb
edit updates
freiburgermsu Dec 24, 2023
16f71f9
MSProbability edits
freiburgermsu Dec 26, 2023
c076011
Merge branch 'main' of https://github.com/freiburgermsu/modelseedpy
freiburgermsu Dec 26, 2023
4a870b7
MSProbability updates
freiburgermsu Dec 27, 2023
1054fa5
MSProbability errors
freiburgermsu Dec 28, 2023
264f3fe
package init update
freiburgermsu Dec 28, 2023
220ba19
MSProbability polishing
freiburgermsu Dec 29, 2023
14fc230
Merge branch 'main' of https://github.com/freiburgermsu/modelseedpy i…
freiburgermsu Dec 29, 2023
dfa527d
MSProbability edits
freiburgermsu Jan 5, 2024
7b9c08b
Vorholt Notebook and MSProbability
freiburgermsu Jan 8, 2024
77f1ce4
MSProbability updates
freiburgermsu Jan 10, 2024
f351cb4
prFBA code draft
freiburgermsu Feb 13, 2024
d91d096
Commhelper and MSProbability updates
freiburgermsu Feb 21, 2024
04e940d
MSProbability and associated edits
freiburgermsu Mar 10, 2024
065c513
Merge branch 'main' of https://github.com/freiburgermsu/modelseedpy i…
freiburgermsu Mar 11, 2024
994a851
reformatted files from Black
freiburgermsu Mar 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 27 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Run Pre-Commit

on:
pull_request: {}
push:
paths-ignore:
- 'examples/**'
branches:
- dev
- main

jobs:
pre-commit:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.8', '3.9', '3.10']
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Set file mode to false
run: |
git config core.filemode false
- uses: pre-commit/action@v2.0.3
28 changes: 28 additions & 0 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Run Tox

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

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.8', '3.9', '3.10']
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel build
python -m pip install tox tox-gh-actions
- name: Test with tox
run: |
tox
python -m build .
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.DS_Store
@eaDir

# Byte-compiled / optimized / DLL files
__pycache__/
Expand Down Expand Up @@ -57,6 +58,9 @@ coverage.xml
*.mo
*.pot

# local cobrakbase fonts
examples/Flux Analysis/Users/

# Django stuff:
*.log
local_settings.py
Expand Down Expand Up @@ -128,5 +132,16 @@ venv.bak/
.dmypy.json
dmypy.json

# Julia dev models
*.mat
*.zip

# Pyre type checker
.pyre/


*.FASTQ/
.pydevproject
.settings/*
*data/*
*.lp
44 changes: 44 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: fix-encoding-pragma
- id: check-merge-conflict
- id: end-of-file-fixer
- id: debug-statements
- id: check-added-large-files
- id: check-ast
- id: check-byte-order-marker
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
types: [python]
- id: check-vcs-permalinks
- id: check-symlinks
- id: mixed-line-ending
- id: name-tests-test
exclude: tests/test_data
args:
- --pytest-test-first
- id: check-json
exclude: examples/
- id: pretty-format-json
exclude: examples/
args:
- --autofix
- --top-keys=_id
- id: check-yaml
- id: sort-simple-yaml
files: '.yaml$'
- id: detect-private-key
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 22.8.0
hooks:
- id: black
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.3.1
hooks:
- id: remove-tabs
exclude: '(\.tsv|Makefile)$'
- id: remove-crlf
16 changes: 16 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-20.04
tools:
python: "3.9"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/source/conf.py

python:
install:
- requirements: docs/requirements.txt
32 changes: 16 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
language: python
python:
- 3.6
- 3.7
- 3.8
before_install:
- python --version
- pip install -U pip
- pip install -U pytest
- pip install -U importlib_metadata
- pip install codecov
install:
- pip install ".[test]" . # install package + test dependencies
script: pytest # run tests
after_success:
- codecov # submit coverage
language: python
python:
- 3.7
- 3.8
- 3.9
before_install:
- python --version
- pip install -U pip
- pip install -U pytest
- pip install -U importlib_metadata
- pip install codecov
install:
- pip install ".[test]" . # install package + test dependencies
script: pytest # run tests
after_success:
- codecov # submit coverage
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
include LICENSE
Include modelseedpy/config.cfg
graft data
10 changes: 5 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Installation
ModelSEEDpy will soon be installable via the ``PyPI`` channel::

pip install modelseedpy

but, until then, the repository must cloned::

git clone https://github.com/ModelSEED/ModelSEEDpy.git
Expand All @@ -45,13 +45,13 @@ and then locally installed with ``pip``::

cd path/to/modelseedpy
pip install .

The associated ModelSEED Database, which is required for a few packages, is simply downloaded by cloning the GitHub repository::

git clone https://github.com/ModelSEED/ModelSEEDDatabase.git
and the path to this repository is passed as an argument to the corresponding packages.

and the path to this repository is passed as an argument to the corresponding packages.

**Windows users** must separately install the ``pyeda`` module: 1) download the appropriate wheel for your Python version from `this website <https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyeda>`_ ; and 2) install the wheel through the following commands in a command prompt/powershell console::

cd path/to/pyeda/wheel
Expand Down
128 changes: 128 additions & 0 deletions docs/Calculate Metabolic Interaction Scores.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
<script type="text/x-mathjax-config">
MathJax = {
tex: {
inlineMath: [['$', '$'], ["\\(", "\\)"]],
processEscapes: true,
}
}
</script>

<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

<div class="app-description">
<h2>Background</h2>
<p>
Microbial communities are characteristically complex and high-dimensional. The interactions between members in these systems are unfortunately intractable for experimental methods, and are insufficiently captured by computational simulations, due to their combinatorial complexity. Metrics that isolate and quantify biological dimensions of interaction (e.g. metabolic competition, functional complementarity, parasitic potential) are therefore attractive to simplify community complexity and elucidate which dimensions govern interactions between member groupings. Several scores have been proposed since 2008, which principally includes the <i><b>S</b>pecies <b>Met</b>abolic Interaction <b>Ana</b>lysis</i> (SMETANA) suite of scores <sup><a href="#smetana">[1]</a></sup>. The SMETANA scores, however, do not capture several biologically dimensions that are involved in interactions and are additionally not comprehensively wrapped into an open-source web Application.
</p>

<h2>CommScores</h2>
<p>
We therefore developed an expanded set of community scores (CommScores) that embody additional biological dimensions while also curating a handful of published scores, including several from SMETANA, to create a comprehensive assessment of microbial interactions in community environments. The scores are generalizable between any two groupings of organisms, e.g. sub-communities or individual members, but we express the scores exclusively as between members <i>1</i> and <i>2</i> for simplicity, computational ease, and to reveal the most basic ecological comparison. CommScores is available in the ModelSEEDpy API for use in Notebook workflows, and is also wrapped into the <b>Calculate Metabolic Interaction Scores</b> Application of KBase. The included scores are defined in the following sub-sections, and are further elaborated in our <a href=""><i>bioRxiv</i> preprint</a>.
</p>

<h3>Novel scores</h3>

<h4>Functional Complementarity (FC)</h4>
<p>
The FC score is calculated as the Jiccard Index of ontologies $O$ from either RAST or another annotation software available on KBase <sup><a href="#kbase">[2]</a></sup>
<div class="latex">
\[ FC= \left( \frac{O_1 \cap O_2}{O_1 \cup O_2} \right)~~. \]
</div>
This score captures the potential for niche overlap and therefore negative interactions. The broad assessment of the entire genome further captures secondary metabolic interactions as well as the primary metabolism that is embodied in genome-scale metabolic models.
</p>

<h4>Growth Yield Difference (GYD)</h4>
<p>
The GYD score evaluates the disparity in growth rate between the isolated members
<div class="latex">
\[ GYD = \frac{abs(G_{1}-G_{2})}{min(G_{1}, G_{2})}~~, \]
</div>
by normalizing the difference in the member's growth rates by the growth rate of the slower growing member. A relatively large disparity in the isolate growth rates may foreshadow a negative interaction when the members are combined, where one member rapidly begins dominating the environment and media consumption which leaves the other member potentially starved and possibly launching antibiotic warfare in desparation to survive.
</p>

<h4>Costless Interaction Potential (CIP)</h4>
<p>
The CIP score quantifies the union of costless excreta <i>CE</i> (compounds that are excreted at maximal growth and therefore have no fitness cost associated with their excretion) in the isolated members
<div class="latex">
\[ CIP = len(CE_1 \cup CE_2)~~, \]
</div>
which may contextualize syntrophic exchanges in their likelihood for exchange based on the fitness expense of their excretion. Our curation of the MIP score can be further contextualized with costless excreta via the intersection of exchanged compounds in the MIP score and the CIP for the same member pair.
</p>

<h4>Biological Interaction Potential (BIT)</h4>
<p>
The BIT score categorizes the member interaction into one of the classical descriptions -- competitive, amensalism, neutral, parasitism, commensalism, and mutualism -- based on relative growth of the members as isolates <i>G<sub>1</sub></i> versus in the community environment <i>G<sub>1,comm</sub></i>
<div class="latex">
\[ BIT_1 = G_{1,comm}-G_1 \]
</div>
<div class="latex">
\[ BIT_2 = G_{2,comm}-G_2 \]
</div>
which provides a tangible biological description of the member interaction based on growth through the primary metabolism.
</p>

<h3>Curated scores</h3>

<h4>MRO</h4>
<p>
The <i><b>M</b>etabolic <b>R</b>esource <b>O</b>verlap</i> (MRO) score is in the SMETANA suite and was published in several earlier studies as well, albeit with slight algorithmic variations. The MRO quantifies the fraction of a member's nutritional requirements, in a given media or the complete media by default, that overlap with the other member's nutritional requirements
<div class="latex">\[ MRO= \frac{|M_1 \cap M_2|}{|M_1|} \]</div>
and is importantly directional (by replacing the denominator member), which can capture directional dependencies of interactions (e.g. lawn versus spot). The minimal media $M$ of each member is determined by minimizing the total exchange flux.
</p>

<h4>MIP</h4>
<p>
The <i><b>M</b>etabolic <b>I</b>nteraction <b>P</b>otential</i> (MIP) score is also in the SMETANA suite and earlier studies. This score quantifies syntrophic exchanges between the members. Our curation computes the MIP as the difference in exchanged compounds versus transported compounds in the compartmentalized community model
<div class="latex">\[ MIP=M_{transports}-M_{exchanges}~~, \]</div>
where compounds that the members are transporting but the community is not exchanging with the media must be sourced from syntrophy. The MIP compounds that are costlessly excreted can also be quantified as a subscore of the MIP, and may better represent the compounds that are favorably exchanged in the community.
</p>

<h4>PC</h4>
<p>
The <i><b>P</b>otential <b>C</b>ooperation</i> (PC) score quantifies the net effect of co-growth relative to isolate growth, and in our curation is determined as the ratio of community growth to the sum of isolated member growths
<div class="latex">\[ PC = \frac{G_{comm}}{G_1+G_2}~~, \]</div>
and is therefore essentially a continuous quantitative representation of the discrete qualitative BIT score.
</p>

<h4>BSS</h4>
<p>
The <i><b>B</b>iosynthetic <b>S</b>upport <b>S</b>core</i> (BSS) score quantifies the capacity of a member to parasitize another member by topologically evaluating the proportion of a member's nutritional requirements that are in the other member's cytoplasmic metabolites
<div class="latex">\[ BSS = \frac{M_i \cap R_j}{M_i}~~. \]</div>
This score therefore quantifies the capacity or incentive for negative interaction.
</p>

<!-- <h4>MSI</h4>
<p>
The <i><b>M</b>etabolic <b>S</b>upport <b>I</b>ndex</i> is the newest published score that we curated, and uniquely captures the ability of a member to activate the metabolism of another member based on a comparison of the topology of the metabolic networks of each model.
</p> -->

<h3>Calculate Metabolic Interaction Scores Application</h3>
<p>
CommScores is wrapped in the <i>Calculate Metabolic Interaction Scores</i> KBase Application, where users provide media and member FBA models and receive an output of two tabs: the first tab displays a table with all results, including metadata information and subscores; the second tab displays a heatmap table of just the only numerical scores and may therefore be advantageous for quantitative post-processing. The output tables can be downloaded as the raw HTML via the <b>index.html</b>.
</p>
<p>Future developments include:</p>
<ol>
<li>developing additional scores of other biological dimensions, such as phylogenetic similarity</li>
<li>improving the format of model outputs to foster user interpretation</li>
<li>expanding the Application UI to accept more parameters that are available in the API</li>
</ol>
</div>


<div class="publication">
<h3>Related Publications</h3>
<ol>
<li id="smetana">
Zelezniak, A., Andrejev, S., Ponomarova, O., Mende, D. R., Bork, P., &#38; Patil, K. R. (2015).
Metabolic dependencies drive species co-occurrence in diverse microbial communities. <i>Proceedings of the National Academy of Sciences of the United States of America</i>,
<i>112</i>(20), 6449-6454. <a href="https://www.pnas.org/doi/abs/10.1073/pnas.1421834112">https://www.pnas.org/doi/abs/10.1073/pnas.1421834112</a>
</li>
<li id="kbase">
Arkin, A. P., Cottingham, R. W., Henry, C. S., Harris, N. L., Stevens, R. L., Maslov, S., Dehal, P., Ware, D., Perez, F., Canon, S., Sneddon,
M. W., Henderson, M. L., Riehl, W. J., Murphy-Olson, D., Chan, S. Y., Kamimura, R. T., Kumari, S., Drake, M. M., Brettin, T. S., … Yu, D. (2018).
KBase: The United States department of energy systems biology knowledgebase. <i>Nature Biotechnology</i>, <i>36</i>(7), 566-569.
<a href="https://doi.org/10.1038/nbt.4163">https://doi.org/10.1038/nbt.4163</a>
</li>
</ol>
</div>
Loading