guohanghui commited on
Commit
1dd466a
·
verified ·
1 Parent(s): 66f8024

Upload 972 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +77 -0
  2. Dockerfile +18 -0
  3. README.md +27 -5
  4. app.py +45 -0
  5. requirements.txt +24 -0
  6. run_docker.ps1 +35 -0
  7. run_docker.sh +82 -0
  8. tellurium/mcp_output/README_MCP.md +76 -0
  9. tellurium/mcp_output/analysis.json +2402 -0
  10. tellurium/mcp_output/diff_report.md +63 -0
  11. tellurium/mcp_output/mcp_plugin/__init__.py +0 -0
  12. tellurium/mcp_output/mcp_plugin/adapter.py +129 -0
  13. tellurium/mcp_output/mcp_plugin/main.py +13 -0
  14. tellurium/mcp_output/mcp_plugin/mcp_service.py +125 -0
  15. tellurium/mcp_output/requirements.txt +24 -0
  16. tellurium/mcp_output/start_mcp.py +30 -0
  17. tellurium/mcp_output/workflow_summary.json +212 -0
  18. tellurium/source/.readthedocs.yaml +20 -0
  19. tellurium/source/.travis.yml +22 -0
  20. tellurium/source/CONTRIBUTING.rst +183 -0
  21. tellurium/source/LICENSE.txt +202 -0
  22. tellurium/source/MANIFEST.in +2 -0
  23. tellurium/source/NEWS.txt +3 -0
  24. tellurium/source/NOTICE.txt +219 -0
  25. tellurium/source/README.md +253 -0
  26. tellurium/source/VirtualEnv.md +25 -0
  27. tellurium/source/__init__.py +4 -0
  28. tellurium/source/bld.bat +2 -0
  29. tellurium/source/build.sh +1 -0
  30. tellurium/source/clean.sh +4 -0
  31. tellurium/source/docs/API.rst +5 -0
  32. tellurium/source/docs/Makefile +216 -0
  33. tellurium/source/docs/README.md +112 -0
  34. tellurium/source/docs/__init__.py +1 -0
  35. tellurium/source/docs/_apidoc/modules.rst +7 -0
  36. tellurium/source/docs/_apidoc/tellurium.analysis.rst +78 -0
  37. tellurium/source/docs/_apidoc/tellurium.dev.deprecated.rst +30 -0
  38. tellurium/source/docs/_apidoc/tellurium.dev.oven.ndarray.rst +22 -0
  39. tellurium/source/docs/_apidoc/tellurium.dev.oven.rst +29 -0
  40. tellurium/source/docs/_apidoc/tellurium.dev.rst +18 -0
  41. tellurium/source/docs/_apidoc/tellurium.notebooks.rst +46 -0
  42. tellurium/source/docs/_apidoc/tellurium.plotting.rst +62 -0
  43. tellurium/source/docs/_apidoc/tellurium.roadrunner.rst +22 -0
  44. tellurium/source/docs/_apidoc/tellurium.rst +55 -0
  45. tellurium/source/docs/_apidoc/tellurium.sedml.rst +61 -0
  46. tellurium/source/docs/_apidoc/tellurium.sedml.templates.rst +10 -0
  47. tellurium/source/docs/_apidoc/tellurium.teconverters.rst +62 -0
  48. tellurium/source/docs/_apidoc/tellurium.teio.rst +22 -0
  49. tellurium/source/docs/_apidoc/tellurium.tests.rst +110 -0
  50. tellurium/source/docs/_apidoc/tellurium.tests.sedml.rst +70 -0
.gitattributes CHANGED
@@ -33,3 +33,80 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tellurium/source/docs/_notebooks/core/_notebooks/core/phrasedmlExample_files/phrasedmlExample_10_1.png filter=lfs diff=lfs merge=lfs -text
37
+ tellurium/source/docs/_notebooks/core/_notebooks/core/phrasedmlExample_files/phrasedmlExample_6_0.png filter=lfs diff=lfs merge=lfs -text
38
+ tellurium/source/docs/_notebooks/core/_notebooks/core/phrasedmlExample_files/phrasedmlExample_8_1.png filter=lfs diff=lfs merge=lfs -text
39
+ tellurium/source/docs/_notebooks/core/_notebooks/core/tellurium_plotting_files/tellurium_plotting_1_0.png filter=lfs diff=lfs merge=lfs -text
40
+ tellurium/source/docs/_notebooks/core/_notebooks/core/tellurium_plotting_files/tellurium_plotting_extendedplotting.png filter=lfs diff=lfs merge=lfs -text
41
+ tellurium/source/docs/_notebooks/core/_notebooks/core/tellurium_plotting_files/tellurium_plotting_parameter_uncertainty.png filter=lfs diff=lfs merge=lfs -text
42
+ tellurium/source/docs/_notebooks/core/phrasedmlExample_files/phrasedmlExample_10_1.png filter=lfs diff=lfs merge=lfs -text
43
+ tellurium/source/docs/_notebooks/core/phrasedmlExample_files/phrasedmlExample_6_0.png filter=lfs diff=lfs merge=lfs -text
44
+ tellurium/source/docs/_notebooks/core/phrasedmlExample_files/phrasedmlExample_8_1.png filter=lfs diff=lfs merge=lfs -text
45
+ tellurium/source/docs/_notebooks/core/tellurium_plotting_files/tellurium_plotting_1_0.png filter=lfs diff=lfs merge=lfs -text
46
+ tellurium/source/docs/_notebooks/core/tellurium_plotting_files/tellurium_plotting_extendedplotting.png filter=lfs diff=lfs merge=lfs -text
47
+ tellurium/source/docs/_notebooks/core/tellurium_plotting_files/tellurium_plotting_parameter_uncertainty.png filter=lfs diff=lfs merge=lfs -text
48
+ tellurium/source/docs/images/jupyter1_example.png filter=lfs diff=lfs merge=lfs -text
49
+ tellurium/source/docs/images/notebook_screenshot.png filter=lfs diff=lfs merge=lfs -text
50
+ tellurium/source/docs/images/notebook-autocompletion.png filter=lfs diff=lfs merge=lfs -text
51
+ tellurium/source/docs/images/notebook-example-quickstart.png filter=lfs diff=lfs merge=lfs -text
52
+ tellurium/source/docs/images/notebook-import-sbml.png filter=lfs diff=lfs merge=lfs -text
53
+ tellurium/source/docs/images/notebook-markdown.png filter=lfs diff=lfs merge=lfs -text
54
+ tellurium/source/docs/images/notebook-omex-longer-pulse.png filter=lfs diff=lfs merge=lfs -text
55
+ tellurium/source/docs/images/notebook-omex-pulse.png filter=lfs diff=lfs merge=lfs -text
56
+ tellurium/source/docs/images/notebook-save-omex.png filter=lfs diff=lfs merge=lfs -text
57
+ tellurium/source/docs/images/notebook-sb-cell.png filter=lfs diff=lfs merge=lfs -text
58
+ tellurium/source/docs/images/notebook-simulate-sb-cell.png filter=lfs diff=lfs merge=lfs -text
59
+ tellurium/source/docs/images/spyder-overview.png filter=lfs diff=lfs merge=lfs -text
60
+ tellurium/source/docs/images/spyderFrontEndExample.png filter=lfs diff=lfs merge=lfs -text
61
+ tellurium/source/docs/images/tellurium_screenshot.png filter=lfs diff=lfs merge=lfs -text
62
+ tellurium/source/docs/images/tellurium_screenshot2.png filter=lfs diff=lfs merge=lfs -text
63
+ tellurium/source/docs/images/tellurium/Tellurium_light.ico filter=lfs diff=lfs merge=lfs -text
64
+ tellurium/source/docs/images/tellurium/Tellurium_splash.pdn filter=lfs diff=lfs merge=lfs -text
65
+ tellurium/source/docs/images/tellurium/Tellurium.icns filter=lfs diff=lfs merge=lfs -text
66
+ tellurium/source/docs/images/tellurium/Tellurium.ico filter=lfs diff=lfs merge=lfs -text
67
+ tellurium/source/installer/windows/favicon.ico filter=lfs diff=lfs merge=lfs -text
68
+ tellurium/source/installer/windows/Tellurium_splash_installer_updated.bmp filter=lfs diff=lfs merge=lfs -text
69
+ tellurium/source/installer/windows/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
70
+ tellurium/source/misc/specifications/sed-ml-L1V2.pdf filter=lfs diff=lfs merge=lfs -text
71
+ tellurium/source/misc/specifications/sed-ml-L1V3-draft1.pdf filter=lfs diff=lfs merge=lfs -text
72
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.2.2/favicon.ico filter=lfs diff=lfs merge=lfs -text
73
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.2.2/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
74
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.2.2/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
75
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.3.0/favicon.ico filter=lfs diff=lfs merge=lfs -text
76
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.3.0/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
77
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.3.0/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
78
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.3.6/site-packages/spyder/images/favicon.ico filter=lfs diff=lfs merge=lfs -text
79
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.3.6/site-packages/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
80
+ tellurium/source/spyder_mod/Spyder[[:space:]]3.3.6/site-packages/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
81
+ tellurium/source/spyder_mod/Spyder[[:space:]]4.1.3/site-packages/spyder/images/favicon.ico filter=lfs diff=lfs merge=lfs -text
82
+ tellurium/source/spyder_mod/Spyder[[:space:]]4.1.3/site-packages/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
83
+ tellurium/source/spyder_mod/Spyder[[:space:]]4.1.3/site-packages/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
84
+ tellurium/source/spyder_mod/Spyder[[:space:]]4.2.1/site-packages/spyder/images/favicon.ico filter=lfs diff=lfs merge=lfs -text
85
+ tellurium/source/spyder_mod/Spyder[[:space:]]4.2.1/site-packages/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
86
+ tellurium/source/spyder_mod/Spyder[[:space:]]4.2.1/site-packages/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
87
+ tellurium/source/spyder_mod/Spyder[[:space:]]5.1.5/site-packages/spyder/images/favicon.ico filter=lfs diff=lfs merge=lfs -text
88
+ tellurium/source/spyder_mod/Spyder[[:space:]]5.1.5/site-packages/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
89
+ tellurium/source/spyder_mod/Spyder[[:space:]]5.1.5/site-packages/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
90
+ tellurium/source/spyder_mod/Spyder[[:space:]]6.0.4/site-packages/spyder/images/favicon.ico filter=lfs diff=lfs merge=lfs -text
91
+ tellurium/source/spyder_mod/Spyder[[:space:]]6.0.4/site-packages/spyder/images/tellurium_icon_big.ico filter=lfs diff=lfs merge=lfs -text
92
+ tellurium/source/spyder_mod/Spyder[[:space:]]6.0.4/site-packages/spyder/images/tellurium-spyder-bdist_wininst.bmp filter=lfs diff=lfs merge=lfs -text
93
+ tellurium/source/tellurium/dev/oven/omex/L1V3_leloup-sbml.omex filter=lfs diff=lfs merge=lfs -text
94
+ tellurium/source/tellurium/dev/oven/omex/L1V3_lorenz-sbml.omex filter=lfs diff=lfs merge=lfs -text
95
+ tellurium/source/tellurium/dev/oven/omex/L1V3_repeated-stochastic-runs.omex filter=lfs diff=lfs merge=lfs -text
96
+ tellurium/source/tellurium/dev/oven/omex/L1V3_repressilator.omex filter=lfs diff=lfs merge=lfs -text
97
+ tellurium/source/tellurium/tests/testdata/sedml/omex/cellml/lorenz-cellml.omex filter=lfs diff=lfs merge=lfs -text
98
+ tellurium/source/tellurium/tests/testdata/sedml/omex/CombineArchiveShowCase.omex filter=lfs diff=lfs merge=lfs -text
99
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/adlung2017_fig2bto2e.sedx filter=lfs diff=lfs merge=lfs -text
100
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/adlung2017_fig2f.sedx filter=lfs diff=lfs merge=lfs -text
101
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/adlung2017_fig2g.sedx filter=lfs diff=lfs merge=lfs -text
102
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/beuke2017_fig6.sedx filter=lfs diff=lfs merge=lfs -text
103
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/kolodkin2010_figure2b.sedx filter=lfs diff=lfs merge=lfs -text
104
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/levering2012_fig2-user.sedx filter=lfs diff=lfs merge=lfs -text
105
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/levering2012_fig5-user.sedx filter=lfs diff=lfs merge=lfs -text
106
+ tellurium/source/tellurium/tests/testdata/sedml/omex/jws/omex/penkler2aa_experiment-user.sedx filter=lfs diff=lfs merge=lfs -text
107
+ tellurium/source/tellurium/tests/testdata/sedml/omex/specification/L1V3/L1V3_leloup-sbml.omex filter=lfs diff=lfs merge=lfs -text
108
+ tellurium/source/tellurium/tests/testdata/sedml/omex/specification/L1V3/L1V3_lorenz-cellml.omex filter=lfs diff=lfs merge=lfs -text
109
+ tellurium/source/tellurium/tests/testdata/sedml/omex/specification/L1V3/L1V3_lorenz-sbml.omex filter=lfs diff=lfs merge=lfs -text
110
+ tellurium/source/tellurium/tests/testdata/sedml/omex/specification/L1V3/L1V3_repeated-stochastic-runs.omex filter=lfs diff=lfs merge=lfs -text
111
+ tellurium/source/tellurium/tests/testdata/sedml/omex/specification/L1V3/L1V3_repressilator.omex filter=lfs diff=lfs merge=lfs -text
112
+ tellurium/source/tellurium/tests/testdata/sedml/omex/specification/L1V3/L1V3_vanderpol-cellml.omex filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10
2
+
3
+ RUN useradd -m -u 1000 user && python -m pip install --upgrade pip
4
+ USER user
5
+ ENV PATH="/home/user/.local/bin:$PATH"
6
+
7
+ WORKDIR /app
8
+
9
+ COPY --chown=user ./requirements.txt requirements.txt
10
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
11
+
12
+ COPY --chown=user . /app
13
+ ENV MCP_TRANSPORT=http
14
+ ENV MCP_PORT=7860
15
+
16
+ EXPOSE 7860
17
+
18
+ CMD ["python", "tellurium/mcp_output/start_mcp.py"]
README.md CHANGED
@@ -1,10 +1,32 @@
1
  ---
2
- title: Tellurium
3
- emoji: 🐠
4
- colorFrom: purple
5
- colorTo: red
6
  sdk: docker
 
 
7
  pinned: false
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: Tellurium MCP
3
+ emoji: 🤖
4
+ colorFrom: blue
5
+ colorTo: purple
6
  sdk: docker
7
+ sdk_version: "4.26.0"
8
+ app_file: app.py
9
  pinned: false
10
  ---
11
 
12
+ # Tellurium MCP Service
13
+
14
+ Auto-generated MCP service for tellurium.
15
+
16
+ ## Usage
17
+
18
+ ```
19
+ https://None-tellurium-mcp.hf.space/mcp
20
+ ```
21
+
22
+ ## Connect with Cursor
23
+
24
+ ```json
25
+ {
26
+ "mcpServers": {
27
+ "tellurium": {
28
+ "url": "https://None-tellurium-mcp.hf.space/mcp"
29
+ }
30
+ }
31
+ }
32
+ ```
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ import os
3
+ import sys
4
+
5
+ mcp_plugin_path = os.path.join(os.path.dirname(__file__), "tellurium", "mcp_output", "mcp_plugin")
6
+ sys.path.insert(0, mcp_plugin_path)
7
+
8
+ app = FastAPI(
9
+ title="Tellurium MCP Service",
10
+ description="Auto-generated MCP service for tellurium",
11
+ version="1.0.0"
12
+ )
13
+
14
+ @app.get("/")
15
+ def root():
16
+ return {
17
+ "service": "Tellurium MCP Service",
18
+ "version": "1.0.0",
19
+ "status": "running",
20
+ "transport": os.environ.get("MCP_TRANSPORT", "http")
21
+ }
22
+
23
+ @app.get("/health")
24
+ def health_check():
25
+ return {"status": "healthy", "service": "tellurium MCP"}
26
+
27
+ @app.get("/tools")
28
+ def list_tools():
29
+ try:
30
+ from mcp_service import create_app
31
+ mcp_app = create_app()
32
+ tools = []
33
+ for tool_name, tool_func in mcp_app.tools.items():
34
+ tools.append({
35
+ "name": tool_name,
36
+ "description": tool_func.__doc__ or "No description available"
37
+ })
38
+ return {"tools": tools}
39
+ except Exception as e:
40
+ return {"error": f"Failed to load tools: {str(e)}"}
41
+
42
+ if __name__ == "__main__":
43
+ import uvicorn
44
+ port = int(os.environ.get("PORT", 7860))
45
+ uvicorn.run(app, host="0.0.0.0", port=port)
requirements.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ fastmcp
2
+ fastapi
3
+ uvicorn[standard]
4
+ pydantic>=2.0.0
5
+ numpy>=2.2
6
+ scipy>=1.5.1
7
+ matplotlib>=2.0.2
8
+ pandas>=2.0
9
+ libroadrunner>=2.8
10
+ rrplugins>=2.8
11
+ phrasedml>=1.3
12
+ antimony>=3.1
13
+ sbml2matlab>=0.9.1; (python_version < '3.10' and platform_machine != "arm64")
14
+ appdirs>=1.4.3
15
+ jinja2>=3.0.0
16
+ plotly>=2.0.12
17
+ requests
18
+ jupyter-client>=5.1.0
19
+ jupyter-core>=4.3.0
20
+ ipython
21
+ ipykernel>=4.6.1
22
+ pytest
23
+ libsbml
24
+ libsedml
run_docker.ps1 ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cd $PSScriptRoot
2
+
3
+ $ErrorActionPreference = "Stop"
4
+
5
+ $entryName = if ($env:MCP_ENTRY_NAME) { $env:MCP_ENTRY_NAME } else { "tellurium" }
6
+ $entryUrl = if ($env:MCP_ENTRY_URL) { $env:MCP_ENTRY_URL } else { "http://localhost:7860/mcp" }
7
+ $imageName = if ($env:MCP_IMAGE_NAME) { $env:MCP_IMAGE_NAME } else { "tellurium-mcp" }
8
+
9
+ $mcpDir = Join-Path $env:USERPROFILE ".cursor"
10
+ $mcpPath = Join-Path $mcpDir "mcp.json"
11
+ if (!(Test-Path $mcpDir)) { New-Item -ItemType Directory -Path $mcpDir | Out-Null }
12
+
13
+ $config = @{}
14
+ if (Test-Path $mcpPath) {
15
+ try { $config = Get-Content $mcpPath -Raw | ConvertFrom-Json } catch { $config = @{} }
16
+ }
17
+
18
+ # Rebuild mcpServers as ordered and append the entry last
19
+ $serversOrdered = [ordered]@{}
20
+ if ($config -and ($config.PSObject.Properties.Name -contains "mcpServers") -and $config.mcpServers) {
21
+ $existing = $config.mcpServers
22
+ if ($existing -is [pscustomobject]) {
23
+ foreach ($p in $existing.PSObject.Properties) { if ($p.Name -ne $entryName) { $serversOrdered[$p.Name] = $p.Value } }
24
+ } elseif ($existing -is [System.Collections.IDictionary]) {
25
+ foreach ($k in $existing.Keys) { if ($k -ne $entryName) { $serversOrdered[$k] = $existing[$k] } }
26
+ }
27
+ }
28
+ $serversOrdered[$entryName] = @{ url = $entryUrl }
29
+ $config = @{ mcpServers = $serversOrdered }
30
+
31
+ $config | ConvertTo-Json -Depth 10 | Set-Content -Path $mcpPath -Encoding UTF8
32
+ Write-Host ("Updated $entryName in " + $mcpPath + " -> " + $entryUrl)
33
+
34
+ docker build -t $imageName .
35
+ docker run --rm -p 7860:7860 $imageName
run_docker.sh ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Switch to the directory where this script is located
5
+ cd "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
6
+
7
+ mcp_entry_name="${MCP_ENTRY_NAME:-tellurium}"
8
+ mcp_entry_url="${MCP_ENTRY_URL:-http://localhost:7860/mcp}"
9
+ mcp_dir="${HOME}/.cursor"
10
+ mcp_path="${mcp_dir}/mcp.json"
11
+ mkdir -p "${mcp_dir}"
12
+
13
+ if command -v python3 >/dev/null 2>&1; then
14
+ python3 - "${mcp_path}" "${mcp_entry_name}" "${mcp_entry_url}" <<'PY'
15
+ import json, os, sys
16
+ path, name, url = sys.argv[1:4]
17
+ cfg = {"mcpServers": {}}
18
+ if os.path.exists(path):
19
+ try:
20
+ with open(path, "r", encoding="utf-8") as f:
21
+ cfg = json.load(f)
22
+ except Exception:
23
+ cfg = {"mcpServers": {}}
24
+ if not isinstance(cfg, dict):
25
+ cfg = {"mcpServers": {}}
26
+ servers = cfg.get("mcpServers")
27
+ if not isinstance(servers, dict):
28
+ servers = {}
29
+ ordered = {}
30
+ for k, v in servers.items():
31
+ if k != name:
32
+ ordered[k] = v
33
+ ordered[name] = {"url": url}
34
+ cfg = {"mcpServers": ordered}
35
+ with open(path, "w", encoding="utf-8") as f:
36
+ json.dump(cfg, f, indent=2, ensure_ascii=False)
37
+ PY
38
+ elif command -v python >/dev/null 2>&1; then
39
+ python - "${mcp_path}" "${mcp_entry_name}" "${mcp_entry_url}" <<'PY'
40
+ import json, os, sys
41
+ path, name, url = sys.argv[1:4]
42
+ cfg = {"mcpServers": {}}
43
+ if os.path.exists(path):
44
+ try:
45
+ with open(path, "r", encoding="utf-8") as f:
46
+ cfg = json.load(f)
47
+ except Exception:
48
+ cfg = {"mcpServers": {}}
49
+ if not isinstance(cfg, dict):
50
+ cfg = {"mcpServers": {}}
51
+ servers = cfg.get("mcpServers")
52
+ if not isinstance(servers, dict):
53
+ servers = {}
54
+ ordered = {}
55
+ for k, v in servers.items():
56
+ if k != name:
57
+ ordered[k] = v
58
+ ordered[name] = {"url": url}
59
+ cfg = {"mcpServers": ordered}
60
+ with open(path, "w", encoding="utf-8") as f:
61
+ json.dump(cfg, f, indent=2, ensure_ascii=False)
62
+ PY
63
+ elif command -v jq >/dev/null 2>&1; then
64
+ name="${mcp_entry_name}"; url="${mcp_entry_url}"
65
+ if [ -f "${mcp_path}" ]; then
66
+ tmp="$(mktemp)"
67
+ jq --arg name "$name" --arg url "$url" '
68
+ .mcpServers = (.mcpServers // {})
69
+ | .mcpServers as $s
70
+ | ($s | with_entries(select(.key != $name))) as $base
71
+ | .mcpServers = ($base + {($name): {"url": $url}})
72
+ ' "${mcp_path}" > "${tmp}" && mv "${tmp}" "${mcp_path}"
73
+ else
74
+ printf '{ "mcpServers": { "%s": { "url": "%s" } } }
75
+ ' "$name" "$url" > "${mcp_path}"
76
+ fi
77
+ else
78
+ echo "Warning: neither python nor jq found; skipped updating ~/.cursor/mcp.json" >&2
79
+ fi
80
+
81
+ docker build -t tellurium-mcp .
82
+ docker run --rm -p 7860:7860 tellurium-mcp
tellurium/mcp_output/README_MCP.md ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Tellurium MCP (Model Context Protocol) Service
2
+
3
+ ## Project Introduction
4
+
5
+ Tellurium is a comprehensive Python-based platform designed for systems biology modeling and simulation. It provides a unified interface for creating, simulating, and analyzing biochemical reaction systems, ensuring compliance with community standards such as SBML (Systems Biology Markup Language), SED-ML (Simulation Experiment Description Markup Language), and COMBINE archives. The platform supports model creation using human-readable formats like Antimony and PhraSEDML, and offers high-performance simulation capabilities through the libroadrunner library.
6
+
7
+ ## Installation Method
8
+
9
+ To install Tellurium, ensure you have Python installed on your system. The primary dependencies include `libroadrunner`, `libsbml`, `libsedml`, `matplotlib`, and `plotly`. Optional dependencies for enhanced functionality include `jupyter` and `spyder`.
10
+
11
+ Install Tellurium using pip:
12
+
13
+ ```
14
+ pip install tellurium
15
+ ```
16
+
17
+ Ensure all dependencies are satisfied by checking the `requirements.txt` file included in the repository.
18
+
19
+ ## Quick Start
20
+
21
+ Here's a quick guide to get you started with Tellurium:
22
+
23
+ 1. **Loading a Model:**
24
+ Use the `loadAntimonyModel()` function to load a model written in Antimony format.
25
+
26
+ 2. **Running Simulations:**
27
+ Execute simulations using the `simulate()` function provided by the `ExtendedRoadRunner` class.
28
+
29
+ 3. **Plotting Results:**
30
+ Visualize simulation results using the `plot()` function.
31
+
32
+ Example usage:
33
+
34
+ ```
35
+ import tellurium as te
36
+
37
+ # Load a model
38
+ model = te.loadAntimonyModel('model_string')
39
+
40
+ # Run a simulation
41
+ result = model.simulate(0, 100, 1000)
42
+
43
+ # Plot the results
44
+ model.plot(result)
45
+ ```
46
+
47
+ ## Available Tools and Endpoints List
48
+
49
+ - **Model Loading:**
50
+ - `loadAntimonyModel()`: Load models in Antimony format.
51
+ - `loadSBMLModel()`: Load models in SBML format.
52
+ - `loadCellMLModel()`: Load models in CellML format.
53
+
54
+ - **Simulation:**
55
+ - `simulate()`: Run deterministic simulations.
56
+ - `gillespie()`: Perform stochastic simulations.
57
+
58
+ - **Plotting:**
59
+ - `plot()`: Plot simulation results.
60
+ - `setDefaultPlottingEngine()`: Set the default plotting engine.
61
+
62
+ - **Format Conversion:**
63
+ - `antimonyToSBML()`: Convert Antimony models to SBML.
64
+ - `sbmlToAntimony()`: Convert SBML models to Antimony.
65
+
66
+ ## Common Issues and Notes
67
+
68
+ - **Dependencies:** Ensure all required libraries are installed, especially `libroadrunner`, `libsbml`, and `libsedml`.
69
+ - **Environment:** Tellurium is best used in a Python environment with access to Jupyter or Spyder for enhanced interactive capabilities.
70
+ - **Performance:** For large models or extensive simulations, ensure your system has adequate resources to handle the computational load.
71
+
72
+ ## Reference Links or Documentation
73
+
74
+ For more detailed information, visit the [Tellurium GitHub Repository](https://github.com/sys-bio/tellurium) or refer to the [Tellurium Documentation](https://tellurium.readthedocs.io/).
75
+
76
+ For troubleshooting and advanced usage, consult the [Tellurium Troubleshooting Guide](https://tellurium.readthedocs.io/en/latest/troubleshooting.html).
tellurium/mcp_output/analysis.json ADDED
@@ -0,0 +1,2402 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "summary": {
3
+ "repository_url": "https://github.com/sys-bio/tellurium",
4
+ "summary": "Imported via zip fallback, file count: 223",
5
+ "file_tree": {
6
+ ".readthedocs.yaml": {
7
+ "size": 348
8
+ },
9
+ ".travis.yml": {
10
+ "size": 275
11
+ },
12
+ "LICENSE.txt": {
13
+ "size": 11357
14
+ },
15
+ "NEWS.txt": {
16
+ "size": 88
17
+ },
18
+ "NOTICE.txt": {
19
+ "size": 7987
20
+ },
21
+ "README.md": {
22
+ "size": 13677
23
+ },
24
+ "VirtualEnv.md": {
25
+ "size": 531
26
+ },
27
+ "docs/README.md": {
28
+ "size": 4836
29
+ },
30
+ "docs/conf.py": {
31
+ "size": 10404
32
+ },
33
+ "docs/requirements.txt": {
34
+ "size": 22
35
+ },
36
+ "docs/sedml.md": {
37
+ "size": 727
38
+ },
39
+ "examples/__init__.py": {
40
+ "size": 0
41
+ },
42
+ "examples/notebooks-py/antimonyExample.py": {
43
+ "size": 1062
44
+ },
45
+ "examples/notebooks-py/combineExample.py": {
46
+ "size": 1161
47
+ },
48
+ "examples/notebooks-py/computeSteadyState.py": {
49
+ "size": 931
50
+ },
51
+ "examples/notebooks-py/introduction.py": {
52
+ "size": 1467
53
+ },
54
+ "examples/notebooks-py/model_consecutiveUniUniReactions.py": {
55
+ "size": 727
56
+ },
57
+ "examples/notebooks-py/model_feedback_oscillations.py": {
58
+ "size": 1018
59
+ },
60
+ "examples/notebooks-py/model_generatingDifferentWaveforms.py": {
61
+ "size": 1716
62
+ },
63
+ "examples/notebooks-py/model_modelFromBioModels.py": {
64
+ "size": 605
65
+ },
66
+ "examples/notebooks-py/model_nonUnitStoichiometries.py": {
67
+ "size": 568
68
+ },
69
+ "examples/notebooks-py/model_normalizedSpecies.py": {
70
+ "size": 2620
71
+ },
72
+ "examples/notebooks-py/parameter_scan.py": {
73
+ "size": 1384
74
+ },
75
+ "examples/notebooks-py/phrasedmlExample.py": {
76
+ "size": 13778
77
+ },
78
+ "examples/notebooks-py/plot2DParameterScan.py": {
79
+ "size": 682
80
+ },
81
+ "examples/notebooks-py/roadrunnerBasics.py": {
82
+ "size": 2351
83
+ },
84
+ "examples/notebooks-py/steadystate_scan.py": {
85
+ "size": 946
86
+ },
87
+ "examples/notebooks-py/tellurium_examples.py": {
88
+ "size": 10293
89
+ },
90
+ "examples/notebooks-py/tellurium_export.py": {
91
+ "size": 2884
92
+ },
93
+ "examples/notebooks-py/tellurium_interconversion.py": {
94
+ "size": 652
95
+ },
96
+ "examples/notebooks-py/tellurium_model_loading.py": {
97
+ "size": 1177
98
+ },
99
+ "examples/notebooks-py/tellurium_plotting.py": {
100
+ "size": 2848
101
+ },
102
+ "examples/notebooks-py/tellurium_reset.py": {
103
+ "size": 1041
104
+ },
105
+ "examples/notebooks-py/tellurium_stochastic.py": {
106
+ "size": 2082
107
+ },
108
+ "examples/notebooks-py/tellurium_test.py": {
109
+ "size": 789
110
+ },
111
+ "examples/notebooks-py/tellurium_utility.py": {
112
+ "size": 1385
113
+ },
114
+ "examples/notebooks-py/template.py": {
115
+ "size": 373
116
+ },
117
+ "examples/notebooks-py/tesedmlExample.py": {
118
+ "size": 2182
119
+ },
120
+ "examples/notebooks/README.md": {
121
+ "size": 673
122
+ },
123
+ "examples/tellurium-files/SBMLfromBioModelsDB.py": {
124
+ "size": 303
125
+ },
126
+ "examples/tellurium-files/__init__.py": {
127
+ "size": 0
128
+ },
129
+ "examples/tellurium-files/computeSteadyState.py": {
130
+ "size": 672
131
+ },
132
+ "examples/tellurium-files/consecutiveUniUniReactions.py": {
133
+ "size": 432
134
+ },
135
+ "examples/tellurium-files/events/events.py": {
136
+ "size": 1982
137
+ },
138
+ "examples/tellurium-files/export/latex_export.py": {
139
+ "size": 695
140
+ },
141
+ "examples/tellurium-files/exportToMatlab.py": {
142
+ "size": 767
143
+ },
144
+ "examples/tellurium-files/generatingDifferentWaveforms.py": {
145
+ "size": 1409
146
+ },
147
+ "examples/tellurium-files/linearChain.py": {
148
+ "size": 685
149
+ },
150
+ "examples/tellurium-files/nonUnitStoichiometries.py": {
151
+ "size": 286
152
+ },
153
+ "examples/tellurium-files/omex/CombineArchiveShowCase.py": {
154
+ "size": 740
155
+ },
156
+ "examples/tellurium-files/omex/README.md": {
157
+ "size": 217
158
+ },
159
+ "examples/tellurium-files/omex/__init__.py": {
160
+ "size": 0
161
+ },
162
+ "examples/tellurium-files/parameterscan/create_colormap.py": {
163
+ "size": 466
164
+ },
165
+ "examples/tellurium-files/parameterscan/parameter_scan.py": {
166
+ "size": 1273
167
+ },
168
+ "examples/tellurium-files/parameterscan/plot_array.py": {
169
+ "size": 431
170
+ },
171
+ "examples/tellurium-files/parameterscan/plot_multi_array.py": {
172
+ "size": 467
173
+ },
174
+ "examples/tellurium-files/parameterscan/steadystatescan.py": {
175
+ "size": 601
176
+ },
177
+ "examples/tellurium-files/parameterscanExample.py": {
178
+ "size": 546
179
+ },
180
+ "examples/tellurium-files/phrasedml/case_01.py": {
181
+ "size": 511
182
+ },
183
+ "examples/tellurium-files/phrasedml/case_02.py": {
184
+ "size": 834
185
+ },
186
+ "examples/tellurium-files/phrasedml/case_03.py": {
187
+ "size": 637
188
+ },
189
+ "examples/tellurium-files/phrasedml/case_04.py": {
190
+ "size": 651
191
+ },
192
+ "examples/tellurium-files/phrasedml/case_05.py": {
193
+ "size": 619
194
+ },
195
+ "examples/tellurium-files/phrasedml/case_06.py": {
196
+ "size": 808
197
+ },
198
+ "examples/tellurium-files/phrasedml/case_07.py": {
199
+ "size": 553
200
+ },
201
+ "examples/tellurium-files/phrasedml/case_08.py": {
202
+ "size": 789
203
+ },
204
+ "examples/tellurium-files/phrasedml/case_09.py": {
205
+ "size": 2334
206
+ },
207
+ "examples/tellurium-files/phrasedml/case_10.py": {
208
+ "size": 686
209
+ },
210
+ "examples/tellurium-files/phrasedml/case_11.py": {
211
+ "size": 743
212
+ },
213
+ "examples/tellurium-files/phrasedml/case_12.py": {
214
+ "size": 811
215
+ },
216
+ "examples/tellurium-files/phrasedml/lorenz.py": {
217
+ "size": 547
218
+ },
219
+ "examples/tellurium-files/phrasedml/oneStep.py": {
220
+ "size": 1195
221
+ },
222
+ "examples/tellurium-files/phrasedml/parameterScan1D.py": {
223
+ "size": 1103
224
+ },
225
+ "examples/tellurium-files/phrasedml/parameterScan2D.py": {
226
+ "size": 2377
227
+ },
228
+ "examples/tellurium-files/phrasedml/repeatedStochastic.py": {
229
+ "size": 2539
230
+ },
231
+ "examples/tellurium-files/phrasedml/repressilator.py": {
232
+ "size": 2744
233
+ },
234
+ "examples/tellurium-files/phrasedml/simpletimecourse.py": {
235
+ "size": 2273
236
+ },
237
+ "examples/tellurium-files/phrasedmlExample.py": {
238
+ "size": 426
239
+ },
240
+ "examples/tellurium-files/settingBoundarySpecies.py": {
241
+ "size": 528
242
+ },
243
+ "examples/tellurium-files/simpleUniUniReaction.py": {
244
+ "size": 459
245
+ },
246
+ "examples/tellurium-files/singleGeneExpressingProteinAndProteinDegradation.py": {
247
+ "size": 390
248
+ },
249
+ "installer/linux/README.md": {
250
+ "size": 326
251
+ },
252
+ "installer/windows/README.txt": {
253
+ "size": 2742
254
+ },
255
+ "installer/windows/settings3.3.6/pydistutils.cfg": {
256
+ "size": 9
257
+ },
258
+ "installer/windows/settings3.3.6/winpython.ini": {
259
+ "size": 204
260
+ },
261
+ "installer/windows/settings4.1.3/pydistutils.cfg": {
262
+ "size": 9
263
+ },
264
+ "installer/windows/settings4.1.3/winpython.ini": {
265
+ "size": 226
266
+ },
267
+ "installer/windows/settings6.0.4/winpython.ini": {
268
+ "size": 843
269
+ },
270
+ "meta.yaml": {
271
+ "size": 287
272
+ },
273
+ "requirements.txt": {
274
+ "size": 414
275
+ },
276
+ "scripts/download_count.py": {
277
+ "size": 2481
278
+ },
279
+ "setup.py": {
280
+ "size": 2488
281
+ },
282
+ "spyder_mod/Spyder 3.2.2/spyder/app/mainwindow.py": {
283
+ "size": 130401
284
+ },
285
+ "spyder_mod/Spyder 3.2.2/spyder/app/restart.py": {
286
+ "size": 10579
287
+ },
288
+ "spyder_mod/Spyder 3.2.2/spyder/config/main.py": {
289
+ "size": 29196
290
+ },
291
+ "spyder_mod/Spyder 3.2.2/spyder/plugins/editor.py": {
292
+ "size": 125051
293
+ },
294
+ "spyder_mod/Spyder 3.3.0/spyder/app/mainwindow.py": {
295
+ "size": 133994
296
+ },
297
+ "spyder_mod/Spyder 3.3.0/spyder/app/restart.py": {
298
+ "size": 10579
299
+ },
300
+ "spyder_mod/Spyder 3.3.0/spyder/config/main.py": {
301
+ "size": 29571
302
+ },
303
+ "spyder_mod/Spyder 3.3.0/spyder/plugins/editor.py": {
304
+ "size": 126035
305
+ },
306
+ "spyder_mod/Spyder 3.3.6/site-packages/spyder/app/mainwindow.py": {
307
+ "size": 138220
308
+ },
309
+ "spyder_mod/Spyder 3.3.6/site-packages/spyder/app/restart.py": {
310
+ "size": 10579
311
+ },
312
+ "spyder_mod/Spyder 3.3.6/site-packages/spyder/config/main.py": {
313
+ "size": 29956
314
+ },
315
+ "spyder_mod/Spyder 3.3.6/site-packages/spyder/plugins/editor.py": {
316
+ "size": 126071
317
+ },
318
+ "spyder_mod/Spyder 4.1.3/site-packages/spyder/app/mainwindow.py": {
319
+ "size": 154790
320
+ },
321
+ "spyder_mod/Spyder 4.1.3/site-packages/spyder/app/restart.py": {
322
+ "size": 10656
323
+ },
324
+ "spyder_mod/Spyder 4.1.3/site-packages/spyder/app/utils.py": {
325
+ "size": 6024
326
+ },
327
+ "spyder_mod/Spyder 4.1.3/site-packages/spyder/config/main.py": {
328
+ "size": 24647
329
+ },
330
+ "spyder_mod/Spyder 4.1.3/site-packages/spyder/plugins/editor/plugin.py": {
331
+ "size": 132176
332
+ },
333
+ "spyder_mod/Spyder 4.2.1/site-packages/spyder/app/mainwindow.py": {
334
+ "size": 148686
335
+ },
336
+ "spyder_mod/Spyder 4.2.1/site-packages/spyder/app/restart.py": {
337
+ "size": 10656
338
+ },
339
+ "spyder_mod/Spyder 4.2.1/site-packages/spyder/app/utils.py": {
340
+ "size": 6024
341
+ },
342
+ "spyder_mod/Spyder 4.2.1/site-packages/spyder/config/main.py": {
343
+ "size": 25453
344
+ },
345
+ "spyder_mod/Spyder 4.2.1/site-packages/spyder/plugins/editor/plugin.py": {
346
+ "size": 135000
347
+ },
348
+ "spyder_mod/Spyder 5.1.5/site-packages/spyder/app/mainwindow.py": {
349
+ "size": 79538
350
+ },
351
+ "spyder_mod/Spyder 5.1.5/site-packages/spyder/app/restart.py": {
352
+ "size": 10814
353
+ },
354
+ "spyder_mod/Spyder 5.1.5/site-packages/spyder/app/utils.py": {
355
+ "size": 10142
356
+ },
357
+ "spyder_mod/Spyder 5.1.5/site-packages/spyder/config/main.py": {
358
+ "size": 24693
359
+ },
360
+ "spyder_mod/Spyder 5.1.5/site-packages/spyder/plugins/editor/plugin.py": {
361
+ "size": 139933
362
+ },
363
+ "spyder_mod/Spyder 6.0.4/site-packages/spyder/app/mainwindow.py": {
364
+ "size": 56255
365
+ },
366
+ "spyder_mod/Spyder 6.0.4/site-packages/spyder/app/restart.py": {
367
+ "size": 10440
368
+ },
369
+ "spyder_mod/Spyder 6.0.4/site-packages/spyder/app/utils.py": {
370
+ "size": 13708
371
+ },
372
+ "spyder_mod/Spyder 6.0.4/site-packages/spyder/config/main.py": {
373
+ "size": 26242
374
+ },
375
+ "spyder_mod/Spyder 6.0.4/site-packages/spyder/plugins/editor/widgets/main_widget.py": {
376
+ "size": 135481
377
+ },
378
+ "tellurium/VERSION.txt": {
379
+ "size": 9
380
+ },
381
+ "tellurium/__init__.py": {
382
+ "size": 3586
383
+ },
384
+ "tellurium/analysis/__init__.py": {
385
+ "size": 0
386
+ },
387
+ "tellurium/analysis/annotations.py": {
388
+ "size": 5238
389
+ },
390
+ "tellurium/analysis/bifurcation.py": {
391
+ "size": 3746
392
+ },
393
+ "tellurium/analysis/parameterestimation.py": {
394
+ "size": 5685
395
+ },
396
+ "tellurium/analysis/parameterscan.py": {
397
+ "size": 29442
398
+ },
399
+ "tellurium/analysis/sensitivityanalysis.py": {
400
+ "size": 2230
401
+ },
402
+ "tellurium/analysis/simulator.py": {
403
+ "size": 581
404
+ },
405
+ "tellurium/analysis/stochasticmodel.py": {
406
+ "size": 2194
407
+ },
408
+ "tellurium/analysis/test.py": {
409
+ "size": 10
410
+ },
411
+ "tellurium/dev/__init__.py": {
412
+ "size": 0
413
+ },
414
+ "tellurium/dev/deprecated/README.md": {
415
+ "size": 190
416
+ },
417
+ "tellurium/dev/deprecated/__init__.py": {
418
+ "size": 0
419
+ },
420
+ "tellurium/dev/deprecated/tecombine.py": {
421
+ "size": 32154
422
+ },
423
+ "tellurium/dev/deprecated/tephrasedml.py": {
424
+ "size": 12907
425
+ },
426
+ "tellurium/dev/oven/README.md": {
427
+ "size": 149
428
+ },
429
+ "tellurium/dev/oven/__init__.py": {
430
+ "size": 0
431
+ },
432
+ "tellurium/dev/oven/libnuml_import.py": {
433
+ "size": 471
434
+ },
435
+ "tellurium/dev/oven/ndarray/__init__.py": {
436
+ "size": 0
437
+ },
438
+ "tellurium/dev/oven/ndarray/ndarray.py": {
439
+ "size": 426
440
+ },
441
+ "tellurium/notebooks/__init__.py": {
442
+ "size": 391
443
+ },
444
+ "tellurium/notebooks/notebooktools.py": {
445
+ "size": 3411
446
+ },
447
+ "tellurium/notebooks/ontologysearch.py": {
448
+ "size": 4057
449
+ },
450
+ "tellurium/notebooks/parameterslider.py": {
451
+ "size": 3848
452
+ },
453
+ "tellurium/notebooks/speciessearch.py": {
454
+ "size": 5021
455
+ },
456
+ "tellurium/plotting/__init__.py": {
457
+ "size": 230
458
+ },
459
+ "tellurium/plotting/api.py": {
460
+ "size": 3034
461
+ },
462
+ "tellurium/plotting/engine.py": {
463
+ "size": 16181
464
+ },
465
+ "tellurium/plotting/engine_mpl.py": {
466
+ "size": 7913
467
+ },
468
+ "tellurium/plotting/engine_null.py": {
469
+ "size": 1728
470
+ },
471
+ "tellurium/plotting/engine_plotly.py": {
472
+ "size": 8928
473
+ },
474
+ "tellurium/plotting/factory.py": {
475
+ "size": 1518
476
+ },
477
+ "tellurium/roadrunner/__init__.py": {
478
+ "size": 117
479
+ },
480
+ "tellurium/roadrunner/extended_roadrunner.py": {
481
+ "size": 16249
482
+ },
483
+ "tellurium/sedml/__init__.py": {
484
+ "size": 0
485
+ },
486
+ "tellurium/sedml/data.py": {
487
+ "size": 16552
488
+ },
489
+ "tellurium/sedml/mathml.py": {
490
+ "size": 4541
491
+ },
492
+ "tellurium/sedml/templates/__init__.py": {
493
+ "size": 0
494
+ },
495
+ "tellurium/sedml/tesedml.py": {
496
+ "size": 106648
497
+ },
498
+ "tellurium/sedml/utils.py": {
499
+ "size": 1062
500
+ },
501
+ "tellurium/sedml/xpath.py": {
502
+ "size": 1438
503
+ },
504
+ "tellurium/teconverters/__init__.py": {
505
+ "size": 357
506
+ },
507
+ "tellurium/teconverters/antimony_regex.py": {
508
+ "size": 930
509
+ },
510
+ "tellurium/teconverters/antimony_sbo.py": {
511
+ "size": 9710
512
+ },
513
+ "tellurium/teconverters/convert_antimony.py": {
514
+ "size": 4203
515
+ },
516
+ "tellurium/teconverters/convert_omex.py": {
517
+ "size": 17417
518
+ },
519
+ "tellurium/teconverters/convert_phrasedml.py": {
520
+ "size": 5083
521
+ },
522
+ "tellurium/teconverters/inline_omex.py": {
523
+ "size": 8942
524
+ },
525
+ "tellurium/teio/__init__.py": {
526
+ "size": 0
527
+ },
528
+ "tellurium/teio/latex.py": {
529
+ "size": 6821
530
+ },
531
+ "tellurium/tellurium.py": {
532
+ "size": 38037
533
+ },
534
+ "tellurium/temiriam.py": {
535
+ "size": 1144
536
+ },
537
+ "tellurium/testcases.py": {
538
+ "size": 21712
539
+ },
540
+ "tellurium/tests/README.md": {
541
+ "size": 1627
542
+ },
543
+ "tellurium/tests/__init__.py": {
544
+ "size": 0
545
+ },
546
+ "tellurium/tests/helpers.py": {
547
+ "size": 763
548
+ },
549
+ "tellurium/tests/sedml/__init__.py": {
550
+ "size": 0
551
+ },
552
+ "tellurium/tests/sedml/test_archive.py": {
553
+ "size": 1321
554
+ },
555
+ "tellurium/tests/sedml/test_data.py": {
556
+ "size": 8790
557
+ },
558
+ "tellurium/tests/sedml/test_kisao.py": {
559
+ "size": 29250
560
+ },
561
+ "tellurium/tests/sedml/test_omex.py": {
562
+ "size": 3969
563
+ },
564
+ "tellurium/tests/sedml/test_phrasedml.py": {
565
+ "size": 30691
566
+ },
567
+ "tellurium/tests/sedml/test_sedml.py": {
568
+ "size": 5320
569
+ },
570
+ "tellurium/tests/sedml/test_tesedml.py": {
571
+ "size": 1191
572
+ },
573
+ "tellurium/tests/test_API.py": {
574
+ "size": 3459
575
+ },
576
+ "tellurium/tests/test_analysis.py": {
577
+ "size": 1103
578
+ },
579
+ "tellurium/tests/test_examples.py": {
580
+ "size": 1928
581
+ },
582
+ "tellurium/tests/test_inline_omex.py": {
583
+ "size": 1107
584
+ },
585
+ "tellurium/tests/test_io.py": {
586
+ "size": 3250
587
+ },
588
+ "tellurium/tests/test_omex.py": {
589
+ "size": 3770
590
+ },
591
+ "tellurium/tests/test_plotting.py": {
592
+ "size": 1307
593
+ },
594
+ "tellurium/tests/test_runner.py": {
595
+ "size": 2120
596
+ },
597
+ "tellurium/tests/test_tellurium.py": {
598
+ "size": 16187
599
+ },
600
+ "tellurium/tests/test_temiriam.py": {
601
+ "size": 837
602
+ },
603
+ "tellurium/tests/testdata/__init__.py": {
604
+ "size": 538
605
+ },
606
+ "tellurium/tests/testdata/sedml/__init__.py": {
607
+ "size": 0
608
+ },
609
+ "tellurium/tests/testdata/sedml/data/__init__.py": {
610
+ "size": 0
611
+ },
612
+ "tellurium/tests/testdata/sedml/data/data_creator.py": {
613
+ "size": 138
614
+ },
615
+ "tellurium/tests/testdata/sedml/data/omex/zip_archives.py": {
616
+ "size": 1176
617
+ },
618
+ "tellurium/tests/testdata/sedml/omex/README.md": {
619
+ "size": 616
620
+ },
621
+ "tellurium/tests/testdata/sedml/omex/biomodels/README.md": {
622
+ "size": 652
623
+ },
624
+ "tellurium/tests/testdata/sedml/omex/biomodels/create_omex.py": {
625
+ "size": 3414
626
+ },
627
+ "tellurium/tests/testdata/sedml/omex/cellml/README.md": {
628
+ "size": 68
629
+ },
630
+ "tellurium/tests/testdata/sedml/omex/jws/README.md": {
631
+ "size": 83
632
+ },
633
+ "tellurium/tests/testdata/sedml/omex/jws/download_omex.py": {
634
+ "size": 2141
635
+ },
636
+ "tellurium/tests/testdata/sedml/omex/specification/README.md": {
637
+ "size": 70
638
+ },
639
+ "tellurium/tests/testdata/sedml/omex/tellurium/README.md": {
640
+ "size": 98
641
+ },
642
+ "tellurium/tests/testdata/sedml/sed-ml/__init__.py": {
643
+ "size": 0
644
+ },
645
+ "tellurium/tests/testdata/sedml/sed-ml/cellml/__init__.py": {
646
+ "size": 0
647
+ },
648
+ "tellurium/tests/testdata/utils/omex_from_zip/manifest.json": {
649
+ "size": 4032
650
+ },
651
+ "tellurium/utils/__init__.py": {
652
+ "size": 0
653
+ },
654
+ "tellurium/utils/matrix.py": {
655
+ "size": 3238
656
+ },
657
+ "tellurium/utils/misc.py": {
658
+ "size": 9731
659
+ },
660
+ "tellurium/utils/omex.py": {
661
+ "size": 11373
662
+ },
663
+ "tellurium/utils/uncertainty.py": {
664
+ "size": 19704
665
+ },
666
+ "tellurium/visualization/__init__.py": {
667
+ "size": 132
668
+ },
669
+ "tellurium/visualization/sbmldiagram.py": {
670
+ "size": 5397
671
+ },
672
+ "tox.ini": {
673
+ "size": 405
674
+ }
675
+ },
676
+ "processed_by": "zip_fallback",
677
+ "success": true
678
+ },
679
+ "structure": {
680
+ "packages": [
681
+ "source.examples",
682
+ "source.examples.tellurium-files",
683
+ "source.tellurium",
684
+ "source.tellurium.analysis",
685
+ "source.tellurium.dev",
686
+ "source.tellurium.notebooks",
687
+ "source.tellurium.plotting",
688
+ "source.tellurium.roadrunner",
689
+ "source.tellurium.sedml",
690
+ "source.tellurium.teconverters",
691
+ "source.tellurium.teio",
692
+ "source.tellurium.tests",
693
+ "source.tellurium.utils",
694
+ "source.tellurium.visualization"
695
+ ]
696
+ },
697
+ "dependencies": {
698
+ "has_environment_yml": false,
699
+ "has_requirements_txt": true,
700
+ "pyproject": false,
701
+ "setup_cfg": false,
702
+ "setup_py": true
703
+ },
704
+ "entry_points": {
705
+ "imports": [],
706
+ "cli": [],
707
+ "modules": []
708
+ },
709
+ "llm_analysis": {
710
+ "core_modules": [
711
+ {
712
+ "package": "docs",
713
+ "module": "conf",
714
+ "functions": [],
715
+ "classes": [
716
+ "Mock"
717
+ ],
718
+ "function_signatures": {},
719
+ "description": "Discovered via AST scan"
720
+ },
721
+ {
722
+ "package": "examples.tellurium-files.events",
723
+ "module": "events",
724
+ "functions": [
725
+ "onEvent",
726
+ "onEventAssignment",
727
+ "onEventTrigger",
728
+ "onTimeStep",
729
+ "testEvents",
730
+ "testMultiStepIntegrator"
731
+ ],
732
+ "classes": [],
733
+ "function_signatures": {
734
+ "onEventTrigger": [
735
+ "model",
736
+ "eventIndex",
737
+ "eventId"
738
+ ],
739
+ "onEventAssignment": [
740
+ "model",
741
+ "eventIndex",
742
+ "eventId"
743
+ ],
744
+ "testEvents": [
745
+ "filePath"
746
+ ],
747
+ "onTimeStep": [
748
+ "integrator",
749
+ "model",
750
+ "time"
751
+ ],
752
+ "onEvent": [
753
+ "integrator",
754
+ "model",
755
+ "time"
756
+ ],
757
+ "testMultiStepIntegrator": [
758
+ "filePath",
759
+ "t0",
760
+ "tf",
761
+ "dt",
762
+ "minStep",
763
+ "maxStep"
764
+ ]
765
+ },
766
+ "description": "Discovered via AST scan"
767
+ },
768
+ {
769
+ "package": "scripts",
770
+ "module": "download_count",
771
+ "functions": [
772
+ "get_git_releases_json",
773
+ "parse_release_json",
774
+ "plot_release_df"
775
+ ],
776
+ "classes": [],
777
+ "function_signatures": {
778
+ "get_git_releases_json": [
779
+ "url",
780
+ "params"
781
+ ],
782
+ "parse_release_json": [
783
+ "data"
784
+ ],
785
+ "plot_release_df": [
786
+ "df"
787
+ ]
788
+ },
789
+ "description": "Discovered via AST scan"
790
+ },
791
+ {
792
+ "package": "spyder_mod.Spyder 3.2.2.spyder.app",
793
+ "module": "mainwindow",
794
+ "functions": [
795
+ "get_focus_python_shell",
796
+ "get_python_doc_path",
797
+ "initialize",
798
+ "main",
799
+ "run_spyder"
800
+ ],
801
+ "classes": [
802
+ "MainWindow",
803
+ "Spy"
804
+ ],
805
+ "function_signatures": {
806
+ "get_python_doc_path": [],
807
+ "get_focus_python_shell": [],
808
+ "initialize": [],
809
+ "run_spyder": [
810
+ "app",
811
+ "options",
812
+ "args"
813
+ ],
814
+ "main": []
815
+ },
816
+ "description": "Discovered via AST scan"
817
+ },
818
+ {
819
+ "package": "spyder_mod.Spyder 3.2.2.spyder.app",
820
+ "module": "restart",
821
+ "functions": [
822
+ "is_pid_running",
823
+ "main"
824
+ ],
825
+ "classes": [
826
+ "Restarter"
827
+ ],
828
+ "function_signatures": {
829
+ "is_pid_running": [
830
+ "pid"
831
+ ],
832
+ "main": []
833
+ },
834
+ "description": "Discovered via AST scan"
835
+ },
836
+ {
837
+ "package": "spyder_mod.Spyder 3.2.2.spyder.plugins",
838
+ "module": "editor",
839
+ "functions": [
840
+ "clear_all_breakpoints",
841
+ "clear_breakpoint",
842
+ "load_breakpoints",
843
+ "save_breakpoints"
844
+ ],
845
+ "classes": [
846
+ "Editor",
847
+ "EditorConfigPage"
848
+ ],
849
+ "function_signatures": {
850
+ "load_breakpoints": [
851
+ "filename"
852
+ ],
853
+ "save_breakpoints": [
854
+ "filename",
855
+ "breakpoints"
856
+ ],
857
+ "clear_all_breakpoints": [],
858
+ "clear_breakpoint": [
859
+ "filename",
860
+ "lineno"
861
+ ]
862
+ },
863
+ "description": "Discovered via AST scan"
864
+ },
865
+ {
866
+ "package": "spyder_mod.Spyder 3.3.0.spyder.app",
867
+ "module": "mainwindow",
868
+ "functions": [
869
+ "get_python_doc_path",
870
+ "initialize",
871
+ "main",
872
+ "run_spyder"
873
+ ],
874
+ "classes": [
875
+ "MainWindow",
876
+ "Spy"
877
+ ],
878
+ "function_signatures": {
879
+ "get_python_doc_path": [],
880
+ "initialize": [],
881
+ "run_spyder": [
882
+ "app",
883
+ "options",
884
+ "args"
885
+ ],
886
+ "main": []
887
+ },
888
+ "description": "Discovered via AST scan"
889
+ },
890
+ {
891
+ "package": "spyder_mod.Spyder 3.3.0.spyder.app",
892
+ "module": "restart",
893
+ "functions": [
894
+ "is_pid_running",
895
+ "main"
896
+ ],
897
+ "classes": [
898
+ "Restarter"
899
+ ],
900
+ "function_signatures": {
901
+ "is_pid_running": [
902
+ "pid"
903
+ ],
904
+ "main": []
905
+ },
906
+ "description": "Discovered via AST scan"
907
+ },
908
+ {
909
+ "package": "spyder_mod.Spyder 3.3.0.spyder.plugins",
910
+ "module": "editor",
911
+ "functions": [
912
+ "clear_all_breakpoints",
913
+ "clear_breakpoint",
914
+ "load_breakpoints",
915
+ "save_breakpoints"
916
+ ],
917
+ "classes": [
918
+ "Editor",
919
+ "EditorConfigPage"
920
+ ],
921
+ "function_signatures": {
922
+ "load_breakpoints": [
923
+ "filename"
924
+ ],
925
+ "save_breakpoints": [
926
+ "filename",
927
+ "breakpoints"
928
+ ],
929
+ "clear_all_breakpoints": [],
930
+ "clear_breakpoint": [
931
+ "filename",
932
+ "lineno"
933
+ ]
934
+ },
935
+ "description": "Discovered via AST scan"
936
+ },
937
+ {
938
+ "package": "spyder_mod.Spyder 3.3.6.site-packages.spyder.app",
939
+ "module": "mainwindow",
940
+ "functions": [
941
+ "get_python_doc_path",
942
+ "initialize",
943
+ "main",
944
+ "run_spyder",
945
+ "set_opengl_implementation"
946
+ ],
947
+ "classes": [
948
+ "MainWindow",
949
+ "Spy"
950
+ ],
951
+ "function_signatures": {
952
+ "get_python_doc_path": [],
953
+ "set_opengl_implementation": [
954
+ "option"
955
+ ],
956
+ "initialize": [],
957
+ "run_spyder": [
958
+ "app",
959
+ "options",
960
+ "args"
961
+ ],
962
+ "main": []
963
+ },
964
+ "description": "Discovered via AST scan"
965
+ },
966
+ {
967
+ "package": "spyder_mod.Spyder 3.3.6.site-packages.spyder.app",
968
+ "module": "restart",
969
+ "functions": [
970
+ "is_pid_running",
971
+ "main"
972
+ ],
973
+ "classes": [
974
+ "Restarter"
975
+ ],
976
+ "function_signatures": {
977
+ "is_pid_running": [
978
+ "pid"
979
+ ],
980
+ "main": []
981
+ },
982
+ "description": "Discovered via AST scan"
983
+ },
984
+ {
985
+ "package": "spyder_mod.Spyder 3.3.6.site-packages.spyder.plugins",
986
+ "module": "editor",
987
+ "functions": [
988
+ "clear_all_breakpoints",
989
+ "clear_breakpoint",
990
+ "load_breakpoints",
991
+ "save_breakpoints"
992
+ ],
993
+ "classes": [
994
+ "Editor",
995
+ "EditorConfigPage"
996
+ ],
997
+ "function_signatures": {
998
+ "load_breakpoints": [
999
+ "filename"
1000
+ ],
1001
+ "save_breakpoints": [
1002
+ "filename",
1003
+ "breakpoints"
1004
+ ],
1005
+ "clear_all_breakpoints": [],
1006
+ "clear_breakpoint": [
1007
+ "filename",
1008
+ "lineno"
1009
+ ]
1010
+ },
1011
+ "description": "Discovered via AST scan"
1012
+ },
1013
+ {
1014
+ "package": "spyder_mod.Spyder 4.1.3.site-packages.spyder.app",
1015
+ "module": "mainwindow",
1016
+ "functions": [
1017
+ "initialize",
1018
+ "main",
1019
+ "run_spyder"
1020
+ ],
1021
+ "classes": [
1022
+ "MainWindow",
1023
+ "Spy"
1024
+ ],
1025
+ "function_signatures": {
1026
+ "initialize": [],
1027
+ "run_spyder": [
1028
+ "app",
1029
+ "options",
1030
+ "args"
1031
+ ],
1032
+ "main": []
1033
+ },
1034
+ "description": "Discovered via AST scan"
1035
+ },
1036
+ {
1037
+ "package": "spyder_mod.Spyder 4.1.3.site-packages.spyder.app",
1038
+ "module": "restart",
1039
+ "functions": [
1040
+ "is_pid_running",
1041
+ "main"
1042
+ ],
1043
+ "classes": [
1044
+ "Restarter"
1045
+ ],
1046
+ "function_signatures": {
1047
+ "is_pid_running": [
1048
+ "pid"
1049
+ ],
1050
+ "main": []
1051
+ },
1052
+ "description": "Discovered via AST scan"
1053
+ },
1054
+ {
1055
+ "package": "spyder_mod.Spyder 4.1.3.site-packages.spyder.app",
1056
+ "module": "utils",
1057
+ "functions": [
1058
+ "create_splash_screen",
1059
+ "delete_lsp_log_files",
1060
+ "get_python_doc_path",
1061
+ "qt_message_handler",
1062
+ "set_opengl_implementation",
1063
+ "setup_logging"
1064
+ ],
1065
+ "classes": [
1066
+ "Spy"
1067
+ ],
1068
+ "function_signatures": {
1069
+ "get_python_doc_path": [],
1070
+ "set_opengl_implementation": [
1071
+ "option"
1072
+ ],
1073
+ "setup_logging": [
1074
+ "cli_options"
1075
+ ],
1076
+ "delete_lsp_log_files": [],
1077
+ "qt_message_handler": [
1078
+ "msg_type",
1079
+ "msg_log_context",
1080
+ "msg_string"
1081
+ ],
1082
+ "create_splash_screen": []
1083
+ },
1084
+ "description": "Discovered via AST scan"
1085
+ },
1086
+ {
1087
+ "package": "spyder_mod.Spyder 4.1.3.site-packages.spyder.plugins.editor",
1088
+ "module": "plugin",
1089
+ "functions": [],
1090
+ "classes": [
1091
+ "Editor"
1092
+ ],
1093
+ "function_signatures": {},
1094
+ "description": "Discovered via AST scan"
1095
+ },
1096
+ {
1097
+ "package": "spyder_mod.Spyder 4.2.1.site-packages.spyder.app",
1098
+ "module": "mainwindow",
1099
+ "functions": [
1100
+ "create_application",
1101
+ "create_window",
1102
+ "main"
1103
+ ],
1104
+ "classes": [
1105
+ "MainWindow"
1106
+ ],
1107
+ "function_signatures": {
1108
+ "create_application": [],
1109
+ "create_window": [
1110
+ "app",
1111
+ "splash",
1112
+ "options",
1113
+ "args"
1114
+ ],
1115
+ "main": [
1116
+ "options",
1117
+ "args"
1118
+ ]
1119
+ },
1120
+ "description": "Discovered via AST scan"
1121
+ },
1122
+ {
1123
+ "package": "spyder_mod.Spyder 4.2.1.site-packages.spyder.app",
1124
+ "module": "restart",
1125
+ "functions": [
1126
+ "is_pid_running",
1127
+ "main"
1128
+ ],
1129
+ "classes": [
1130
+ "Restarter"
1131
+ ],
1132
+ "function_signatures": {
1133
+ "is_pid_running": [
1134
+ "pid"
1135
+ ],
1136
+ "main": []
1137
+ },
1138
+ "description": "Discovered via AST scan"
1139
+ },
1140
+ {
1141
+ "package": "spyder_mod.Spyder 4.2.1.site-packages.spyder.app",
1142
+ "module": "utils",
1143
+ "functions": [
1144
+ "create_splash_screen",
1145
+ "delete_lsp_log_files",
1146
+ "get_python_doc_path",
1147
+ "qt_message_handler",
1148
+ "set_opengl_implementation",
1149
+ "setup_logging"
1150
+ ],
1151
+ "classes": [
1152
+ "Spy"
1153
+ ],
1154
+ "function_signatures": {
1155
+ "get_python_doc_path": [],
1156
+ "set_opengl_implementation": [
1157
+ "option"
1158
+ ],
1159
+ "setup_logging": [
1160
+ "cli_options"
1161
+ ],
1162
+ "delete_lsp_log_files": [],
1163
+ "qt_message_handler": [
1164
+ "msg_type",
1165
+ "msg_log_context",
1166
+ "msg_string"
1167
+ ],
1168
+ "create_splash_screen": []
1169
+ },
1170
+ "description": "Discovered via AST scan"
1171
+ },
1172
+ {
1173
+ "package": "spyder_mod.Spyder 4.2.1.site-packages.spyder.plugins.editor",
1174
+ "module": "plugin",
1175
+ "functions": [],
1176
+ "classes": [
1177
+ "Editor"
1178
+ ],
1179
+ "function_signatures": {},
1180
+ "description": "Discovered via AST scan"
1181
+ },
1182
+ {
1183
+ "package": "spyder_mod.Spyder 5.1.5.site-packages.spyder.app",
1184
+ "module": "mainwindow",
1185
+ "functions": [
1186
+ "main"
1187
+ ],
1188
+ "classes": [
1189
+ "MainWindow"
1190
+ ],
1191
+ "function_signatures": {
1192
+ "main": [
1193
+ "options",
1194
+ "args"
1195
+ ]
1196
+ },
1197
+ "description": "Discovered via AST scan"
1198
+ },
1199
+ {
1200
+ "package": "spyder_mod.Spyder 5.1.5.site-packages.spyder.app",
1201
+ "module": "restart",
1202
+ "functions": [
1203
+ "is_pid_running",
1204
+ "main"
1205
+ ],
1206
+ "classes": [
1207
+ "Restarter"
1208
+ ],
1209
+ "function_signatures": {
1210
+ "is_pid_running": [
1211
+ "pid"
1212
+ ],
1213
+ "main": []
1214
+ },
1215
+ "description": "Discovered via AST scan"
1216
+ },
1217
+ {
1218
+ "package": "spyder_mod.Spyder 5.1.5.site-packages.spyder.app",
1219
+ "module": "utils",
1220
+ "functions": [
1221
+ "create_application",
1222
+ "create_splash_screen",
1223
+ "create_window",
1224
+ "delete_debug_log_files",
1225
+ "get_python_doc_path",
1226
+ "qt_message_handler",
1227
+ "set_links_color",
1228
+ "set_opengl_implementation",
1229
+ "setup_logging"
1230
+ ],
1231
+ "classes": [
1232
+ "Spy"
1233
+ ],
1234
+ "function_signatures": {
1235
+ "get_python_doc_path": [],
1236
+ "set_opengl_implementation": [
1237
+ "option"
1238
+ ],
1239
+ "setup_logging": [
1240
+ "cli_options"
1241
+ ],
1242
+ "delete_debug_log_files": [],
1243
+ "qt_message_handler": [
1244
+ "msg_type",
1245
+ "msg_log_context",
1246
+ "msg_string"
1247
+ ],
1248
+ "create_splash_screen": [],
1249
+ "set_links_color": [
1250
+ "app"
1251
+ ],
1252
+ "create_application": [],
1253
+ "create_window": [
1254
+ "WindowClass",
1255
+ "app",
1256
+ "splash",
1257
+ "options",
1258
+ "args"
1259
+ ]
1260
+ },
1261
+ "description": "Discovered via AST scan"
1262
+ },
1263
+ {
1264
+ "package": "spyder_mod.Spyder 5.1.5.site-packages.spyder.plugins.editor",
1265
+ "module": "plugin",
1266
+ "functions": [],
1267
+ "classes": [
1268
+ "Editor"
1269
+ ],
1270
+ "function_signatures": {},
1271
+ "description": "Discovered via AST scan"
1272
+ },
1273
+ {
1274
+ "package": "spyder_mod.Spyder 6.0.4.site-packages.spyder.app",
1275
+ "module": "mainwindow",
1276
+ "functions": [
1277
+ "main"
1278
+ ],
1279
+ "classes": [
1280
+ "MainWindow"
1281
+ ],
1282
+ "function_signatures": {
1283
+ "main": [
1284
+ "options",
1285
+ "args"
1286
+ ]
1287
+ },
1288
+ "description": "Discovered via AST scan"
1289
+ },
1290
+ {
1291
+ "package": "spyder_mod.Spyder 6.0.4.site-packages.spyder.app",
1292
+ "module": "restart",
1293
+ "functions": [
1294
+ "is_pid_running",
1295
+ "main"
1296
+ ],
1297
+ "classes": [
1298
+ "Restarter"
1299
+ ],
1300
+ "function_signatures": {
1301
+ "is_pid_running": [
1302
+ "pid"
1303
+ ],
1304
+ "main": []
1305
+ },
1306
+ "description": "Discovered via AST scan"
1307
+ },
1308
+ {
1309
+ "package": "spyder_mod.Spyder 6.0.4.site-packages.spyder.app",
1310
+ "module": "utils",
1311
+ "functions": [
1312
+ "create_application",
1313
+ "create_splash_screen",
1314
+ "create_window",
1315
+ "delete_debug_log_files",
1316
+ "get_python_doc_path",
1317
+ "qt_message_handler",
1318
+ "set_links_color",
1319
+ "set_opengl_implementation",
1320
+ "setup_logging"
1321
+ ],
1322
+ "classes": [
1323
+ "Spy"
1324
+ ],
1325
+ "function_signatures": {
1326
+ "get_python_doc_path": [],
1327
+ "set_opengl_implementation": [
1328
+ "option"
1329
+ ],
1330
+ "setup_logging": [
1331
+ "cli_options"
1332
+ ],
1333
+ "delete_debug_log_files": [],
1334
+ "qt_message_handler": [
1335
+ "msg_type",
1336
+ "msg_log_context",
1337
+ "msg_string"
1338
+ ],
1339
+ "create_splash_screen": [
1340
+ "use_previous_factor"
1341
+ ],
1342
+ "set_links_color": [
1343
+ "app"
1344
+ ],
1345
+ "create_application": [],
1346
+ "create_window": [
1347
+ "WindowClass",
1348
+ "app",
1349
+ "splash",
1350
+ "options",
1351
+ "args"
1352
+ ]
1353
+ },
1354
+ "description": "Discovered via AST scan"
1355
+ },
1356
+ {
1357
+ "package": "spyder_mod.Spyder 6.0.4.site-packages.spyder.plugins.editor.widgets",
1358
+ "module": "main_widget",
1359
+ "functions": [],
1360
+ "classes": [
1361
+ "EditorMainWidget",
1362
+ "EditorWidgetActions",
1363
+ "EditorWidgetMenus"
1364
+ ],
1365
+ "function_signatures": {},
1366
+ "description": "Discovered via AST scan"
1367
+ },
1368
+ {
1369
+ "package": "tellurium",
1370
+ "module": "tellurium",
1371
+ "functions": [
1372
+ "DumpJSONInfo",
1373
+ "RoadRunner",
1374
+ "VersionDict",
1375
+ "addFileToCombineArchive",
1376
+ "addFilesToCombineArchive",
1377
+ "antimonyToCellML",
1378
+ "antimonyToSBML",
1379
+ "antimonyTosbml",
1380
+ "cellmlToAntimony",
1381
+ "cellmlToSBML",
1382
+ "colorCycle",
1383
+ "convertAndExecuteCombineArchive",
1384
+ "convertCombineArchive",
1385
+ "createCombineArchive",
1386
+ "custom_plot",
1387
+ "disablePlotting",
1388
+ "distributed_parameter_scanning",
1389
+ "distributed_sensitivity_analysis",
1390
+ "distributed_stochastic_simulation",
1391
+ "executeInlineOmex",
1392
+ "executeInlineOmexFromFile",
1393
+ "exportInlineOmex",
1394
+ "extractFileFromCombineArchive",
1395
+ "getAppDir",
1396
+ "getDefaultPlottingEngine",
1397
+ "getEigenvalues",
1398
+ "getLastReport",
1399
+ "getPlottingEngine",
1400
+ "getPlottingEngineFactory",
1401
+ "getTelluriumVersion",
1402
+ "getTestModel",
1403
+ "getVersionInfo",
1404
+ "inIPython",
1405
+ "listTestModels",
1406
+ "loadAntimonyModel",
1407
+ "loadCellMLModel",
1408
+ "loadSBMLModel",
1409
+ "loadTestModel",
1410
+ "loada",
1411
+ "loads",
1412
+ "model",
1413
+ "noticesOff",
1414
+ "noticesOn",
1415
+ "perform_sampling",
1416
+ "plotArray",
1417
+ "plotImage",
1418
+ "plotWithLegend",
1419
+ "plot_distributed_stochastic",
1420
+ "plot_stochastic_result",
1421
+ "printVersionInfo",
1422
+ "sample_plot",
1423
+ "sbmlToAntimony",
1424
+ "sbmlToCellML",
1425
+ "setDefaultPlottingEngine",
1426
+ "setLastReport",
1427
+ "setSavePlotsToPDF"
1428
+ ],
1429
+ "classes": [],
1430
+ "function_signatures": {
1431
+ "inIPython": [],
1432
+ "getDefaultPlottingEngine": [],
1433
+ "setDefaultPlottingEngine": [
1434
+ "engine"
1435
+ ],
1436
+ "disablePlotting": [],
1437
+ "setSavePlotsToPDF": [
1438
+ "value"
1439
+ ],
1440
+ "getPlottingEngineFactory": [
1441
+ "engine"
1442
+ ],
1443
+ "getPlottingEngine": [
1444
+ "engine"
1445
+ ],
1446
+ "getVersionInfo": [],
1447
+ "printVersionInfo": [],
1448
+ "getTelluriumVersion": [],
1449
+ "noticesOff": [],
1450
+ "noticesOn": [],
1451
+ "model": [
1452
+ "model_name"
1453
+ ],
1454
+ "colorCycle": [
1455
+ "color",
1456
+ "polyNumber"
1457
+ ],
1458
+ "sample_plot": [
1459
+ "result"
1460
+ ],
1461
+ "plotImage": [
1462
+ "img"
1463
+ ],
1464
+ "custom_plot": [
1465
+ "x",
1466
+ "y",
1467
+ "min_y",
1468
+ "max_y",
1469
+ "label_name"
1470
+ ],
1471
+ "plot_stochastic_result": [
1472
+ "result"
1473
+ ],
1474
+ "distributed_stochastic_simulation": [
1475
+ "sc",
1476
+ "stochastic_model_object",
1477
+ "num_simulations",
1478
+ "model_type"
1479
+ ],
1480
+ "plot_distributed_stochastic": [
1481
+ "plot_data"
1482
+ ],
1483
+ "distributed_parameter_scanning": [
1484
+ "sc",
1485
+ "list_of_models",
1486
+ "function_name",
1487
+ "antimony"
1488
+ ],
1489
+ "distributed_sensitivity_analysis": [
1490
+ "sc",
1491
+ "senitivity_analysis_model",
1492
+ "calculation"
1493
+ ],
1494
+ "perform_sampling": [
1495
+ "mesh"
1496
+ ],
1497
+ "loada": [
1498
+ "ant"
1499
+ ],
1500
+ "loadAntimonyModel": [
1501
+ "ant"
1502
+ ],
1503
+ "loads": [
1504
+ "ant"
1505
+ ],
1506
+ "loadSBMLModel": [
1507
+ "sbml"
1508
+ ],
1509
+ "loadCellMLModel": [
1510
+ "cellml"
1511
+ ],
1512
+ "antimonyTosbml": [
1513
+ "ant"
1514
+ ],
1515
+ "antimonyToSBML": [
1516
+ "ant"
1517
+ ],
1518
+ "antimonyToCellML": [
1519
+ "ant"
1520
+ ],
1521
+ "sbmlToAntimony": [
1522
+ "sbml",
1523
+ "removeFunctionDefinitions"
1524
+ ],
1525
+ "sbmlToCellML": [
1526
+ "sbml"
1527
+ ],
1528
+ "cellmlToAntimony": [
1529
+ "cellml"
1530
+ ],
1531
+ "cellmlToSBML": [
1532
+ "cellml"
1533
+ ],
1534
+ "exportInlineOmex": [
1535
+ "inline_omex",
1536
+ "export_location"
1537
+ ],
1538
+ "executeInlineOmex": [
1539
+ "inline_omex",
1540
+ "comp"
1541
+ ],
1542
+ "executeInlineOmexFromFile": [
1543
+ "filepath"
1544
+ ],
1545
+ "convertCombineArchive": [
1546
+ "location"
1547
+ ],
1548
+ "convertAndExecuteCombineArchive": [
1549
+ "location"
1550
+ ],
1551
+ "extractFileFromCombineArchive": [
1552
+ "archive_path",
1553
+ "entry_location"
1554
+ ],
1555
+ "addFileToCombineArchive": [
1556
+ "archive_path",
1557
+ "file_name",
1558
+ "entry_location",
1559
+ "file_format",
1560
+ "master",
1561
+ "out_archive_path"
1562
+ ],
1563
+ "addFilesToCombineArchive": [
1564
+ "archive_path",
1565
+ "file_names",
1566
+ "entry_locations",
1567
+ "file_formats",
1568
+ "master_attributes",
1569
+ "out_archive_path"
1570
+ ],
1571
+ "createCombineArchive": [
1572
+ "archive_path",
1573
+ "file_names",
1574
+ "entry_locations",
1575
+ "file_formats",
1576
+ "master_attributes",
1577
+ "description"
1578
+ ],
1579
+ "getEigenvalues": [
1580
+ "m"
1581
+ ],
1582
+ "plotArray": [
1583
+ "result",
1584
+ "loc",
1585
+ "legendOutside",
1586
+ "show",
1587
+ "resetColorCycle",
1588
+ "xlabel",
1589
+ "ylabel",
1590
+ "title",
1591
+ "xlim",
1592
+ "ylim",
1593
+ "xscale",
1594
+ "yscale",
1595
+ "grid",
1596
+ "labels"
1597
+ ],
1598
+ "plotWithLegend": [
1599
+ "r",
1600
+ "result",
1601
+ "loc",
1602
+ "show"
1603
+ ],
1604
+ "loadTestModel": [
1605
+ "string"
1606
+ ],
1607
+ "getTestModel": [
1608
+ "string"
1609
+ ],
1610
+ "listTestModels": [],
1611
+ "RoadRunner": [],
1612
+ "VersionDict": [],
1613
+ "DumpJSONInfo": [],
1614
+ "getAppDir": [],
1615
+ "setLastReport": [
1616
+ "report"
1617
+ ],
1618
+ "getLastReport": []
1619
+ },
1620
+ "description": "Discovered via AST scan"
1621
+ },
1622
+ {
1623
+ "package": "tellurium",
1624
+ "module": "temiriam",
1625
+ "functions": [
1626
+ "getSBMLFromBiomodelsURN"
1627
+ ],
1628
+ "classes": [],
1629
+ "function_signatures": {
1630
+ "getSBMLFromBiomodelsURN": [
1631
+ "urn"
1632
+ ]
1633
+ },
1634
+ "description": "Discovered via AST scan"
1635
+ },
1636
+ {
1637
+ "package": "tellurium",
1638
+ "module": "testcases",
1639
+ "functions": [
1640
+ "getSupportedTestCases"
1641
+ ],
1642
+ "classes": [],
1643
+ "function_signatures": {
1644
+ "getSupportedTestCases": [
1645
+ "begin",
1646
+ "end"
1647
+ ]
1648
+ },
1649
+ "description": "Discovered via AST scan"
1650
+ },
1651
+ {
1652
+ "package": "tellurium.analysis",
1653
+ "module": "annotations",
1654
+ "functions": [
1655
+ "getChebiId",
1656
+ "getMatchingReactions",
1657
+ "getMatchingSpecies",
1658
+ "getResourceUris",
1659
+ "matchSpeciesChebi",
1660
+ "printMatchingSpecies"
1661
+ ],
1662
+ "classes": [],
1663
+ "function_signatures": {
1664
+ "getResourceUris": [
1665
+ "item"
1666
+ ],
1667
+ "getChebiId": [
1668
+ "item"
1669
+ ],
1670
+ "matchSpeciesChebi": [
1671
+ "s1",
1672
+ "s2",
1673
+ "logging"
1674
+ ],
1675
+ "getMatchingSpecies": [
1676
+ "m1",
1677
+ "m2",
1678
+ "logging"
1679
+ ],
1680
+ "printMatchingSpecies": [
1681
+ "matches"
1682
+ ],
1683
+ "getMatchingReactions": [
1684
+ "modelOrList",
1685
+ "idToMatch"
1686
+ ]
1687
+ },
1688
+ "description": "Discovered via AST scan"
1689
+ },
1690
+ {
1691
+ "package": "tellurium.analysis",
1692
+ "module": "parameterestimation",
1693
+ "functions": [],
1694
+ "classes": [
1695
+ "ParameterEstimation"
1696
+ ],
1697
+ "function_signatures": {},
1698
+ "description": "Discovered via AST scan"
1699
+ },
1700
+ {
1701
+ "package": "tellurium.analysis",
1702
+ "module": "parameterscan",
1703
+ "functions": [],
1704
+ "classes": [
1705
+ "ParameterScan",
1706
+ "ParameterScan2D",
1707
+ "SteadyStateScan"
1708
+ ],
1709
+ "function_signatures": {},
1710
+ "description": "Discovered via AST scan"
1711
+ },
1712
+ {
1713
+ "package": "tellurium.analysis",
1714
+ "module": "sensitivityanalysis",
1715
+ "functions": [],
1716
+ "classes": [
1717
+ "SensitivityAnalysis"
1718
+ ],
1719
+ "function_signatures": {},
1720
+ "description": "Discovered via AST scan"
1721
+ },
1722
+ {
1723
+ "package": "tellurium.analysis",
1724
+ "module": "simulator",
1725
+ "functions": [],
1726
+ "classes": [
1727
+ "Simulator"
1728
+ ],
1729
+ "function_signatures": {},
1730
+ "description": "Discovered via AST scan"
1731
+ },
1732
+ {
1733
+ "package": "tellurium.analysis",
1734
+ "module": "stochasticmodel",
1735
+ "functions": [],
1736
+ "classes": [
1737
+ "StochasticSimulationModel"
1738
+ ],
1739
+ "function_signatures": {},
1740
+ "description": "Discovered via AST scan"
1741
+ },
1742
+ {
1743
+ "package": "tellurium.dev.deprecated",
1744
+ "module": "tecombine",
1745
+ "functions": [
1746
+ "combine"
1747
+ ],
1748
+ "classes": [
1749
+ "Asset",
1750
+ "CombineArchive",
1751
+ "OpenCombine"
1752
+ ],
1753
+ "function_signatures": {
1754
+ "combine": [
1755
+ "combinePath"
1756
+ ]
1757
+ },
1758
+ "description": "Discovered via AST scan"
1759
+ },
1760
+ {
1761
+ "package": "tellurium.dev.deprecated",
1762
+ "module": "tephrasedml",
1763
+ "functions": [],
1764
+ "classes": [
1765
+ "experiment"
1766
+ ],
1767
+ "function_signatures": {},
1768
+ "description": "Discovered via AST scan"
1769
+ },
1770
+ {
1771
+ "package": "tellurium.notebooks",
1772
+ "module": "notebooktools",
1773
+ "functions": [
1774
+ "find_notebook",
1775
+ "loadNotebooksAsModules",
1776
+ "sideBySideOutput"
1777
+ ],
1778
+ "classes": [
1779
+ "NotebookFinder",
1780
+ "NotebookLoader"
1781
+ ],
1782
+ "function_signatures": {
1783
+ "find_notebook": [
1784
+ "fullname",
1785
+ "path"
1786
+ ],
1787
+ "loadNotebooksAsModules": [],
1788
+ "sideBySideOutput": []
1789
+ },
1790
+ "description": "Discovered via AST scan"
1791
+ },
1792
+ {
1793
+ "package": "tellurium.notebooks",
1794
+ "module": "ontologysearch",
1795
+ "functions": [],
1796
+ "classes": [
1797
+ "OntologySearch"
1798
+ ],
1799
+ "function_signatures": {},
1800
+ "description": "Discovered via AST scan"
1801
+ },
1802
+ {
1803
+ "package": "tellurium.notebooks",
1804
+ "module": "parameterslider",
1805
+ "functions": [
1806
+ "simulateAndPlot"
1807
+ ],
1808
+ "classes": [
1809
+ "ParameterSlider"
1810
+ ],
1811
+ "function_signatures": {
1812
+ "simulateAndPlot": [
1813
+ "r"
1814
+ ]
1815
+ },
1816
+ "description": "Discovered via AST scan"
1817
+ },
1818
+ {
1819
+ "package": "tellurium.notebooks",
1820
+ "module": "speciessearch",
1821
+ "functions": [],
1822
+ "classes": [
1823
+ "SearchBySpeciesForm"
1824
+ ],
1825
+ "function_signatures": {},
1826
+ "description": "Discovered via AST scan"
1827
+ },
1828
+ {
1829
+ "package": "tellurium.plotting",
1830
+ "module": "api",
1831
+ "functions": [
1832
+ "clearTiledFigure",
1833
+ "newLowerTriFigure",
1834
+ "newTiledFigure",
1835
+ "nextFigure",
1836
+ "plot",
1837
+ "plot_text",
1838
+ "show",
1839
+ "tiledFigure"
1840
+ ],
1841
+ "classes": [],
1842
+ "function_signatures": {
1843
+ "plot": [
1844
+ "x",
1845
+ "y",
1846
+ "show"
1847
+ ],
1848
+ "plot_text": [
1849
+ "x",
1850
+ "y",
1851
+ "text",
1852
+ "show"
1853
+ ],
1854
+ "show": [
1855
+ "reset"
1856
+ ],
1857
+ "nextFigure": [],
1858
+ "newTiledFigure": [],
1859
+ "newLowerTriFigure": [],
1860
+ "tiledFigure": [],
1861
+ "clearTiledFigure": []
1862
+ },
1863
+ "description": "Discovered via AST scan"
1864
+ },
1865
+ {
1866
+ "package": "tellurium.plotting",
1867
+ "module": "engine",
1868
+ "functions": [
1869
+ "filterWithSelections"
1870
+ ],
1871
+ "classes": [
1872
+ "LowerTriFigure",
1873
+ "PlottingEngine",
1874
+ "PlottingFigure",
1875
+ "PlottingLayout",
1876
+ "TiledFigure"
1877
+ ],
1878
+ "function_signatures": {
1879
+ "filterWithSelections": [
1880
+ "self",
1881
+ "name",
1882
+ "selections"
1883
+ ]
1884
+ },
1885
+ "description": "Discovered via AST scan"
1886
+ },
1887
+ {
1888
+ "package": "tellurium.plotting",
1889
+ "module": "engine_mpl",
1890
+ "functions": [],
1891
+ "classes": [
1892
+ "MatplotlibEngine",
1893
+ "MatplotlibFigure"
1894
+ ],
1895
+ "function_signatures": {},
1896
+ "description": "Discovered via AST scan"
1897
+ },
1898
+ {
1899
+ "package": "tellurium.plotting",
1900
+ "module": "engine_null",
1901
+ "functions": [],
1902
+ "classes": [
1903
+ "NullEngine",
1904
+ "NullFigure",
1905
+ "PlotlyLowerTriFigure",
1906
+ "PlotlyTiledFigure"
1907
+ ],
1908
+ "function_signatures": {},
1909
+ "description": "Discovered via AST scan"
1910
+ },
1911
+ {
1912
+ "package": "tellurium.plotting",
1913
+ "module": "engine_plotly",
1914
+ "functions": [],
1915
+ "classes": [
1916
+ "PlotlyEngine",
1917
+ "PlotlyFigure",
1918
+ "PlotlyLowerTriFigure",
1919
+ "PlotlyStackedFigure",
1920
+ "PlotlyTiledFigure"
1921
+ ],
1922
+ "function_signatures": {},
1923
+ "description": "Discovered via AST scan"
1924
+ },
1925
+ {
1926
+ "package": "tellurium.plotting",
1927
+ "module": "factory",
1928
+ "functions": [
1929
+ "getEngines",
1930
+ "getPlottingEngineFactory"
1931
+ ],
1932
+ "classes": [
1933
+ "PlottingEngineFactory"
1934
+ ],
1935
+ "function_signatures": {
1936
+ "getEngines": [],
1937
+ "getPlottingEngineFactory": [
1938
+ "engine"
1939
+ ]
1940
+ },
1941
+ "description": "Discovered via AST scan"
1942
+ },
1943
+ {
1944
+ "package": "tellurium.roadrunner",
1945
+ "module": "extended_roadrunner",
1946
+ "functions": [],
1947
+ "classes": [
1948
+ "ExtendedRoadRunner"
1949
+ ],
1950
+ "function_signatures": {},
1951
+ "description": "Discovered via AST scan"
1952
+ },
1953
+ {
1954
+ "package": "tellurium.sedml",
1955
+ "module": "data",
1956
+ "functions": [],
1957
+ "classes": [
1958
+ "DataDescriptionParser"
1959
+ ],
1960
+ "function_signatures": {},
1961
+ "description": "Discovered via AST scan"
1962
+ },
1963
+ {
1964
+ "package": "tellurium.sedml",
1965
+ "module": "mathml",
1966
+ "functions": [
1967
+ "evaluableMathML",
1968
+ "evaluateMathML",
1969
+ "piecewise",
1970
+ "product",
1971
+ "renameNPFuncs",
1972
+ "root",
1973
+ "sqr",
1974
+ "xor"
1975
+ ],
1976
+ "classes": [],
1977
+ "function_signatures": {
1978
+ "product": [],
1979
+ "sqr": [
1980
+ "x"
1981
+ ],
1982
+ "root": [
1983
+ "a",
1984
+ "b"
1985
+ ],
1986
+ "xor": [],
1987
+ "piecewise": [],
1988
+ "renameNPFuncs": [
1989
+ "astnode"
1990
+ ],
1991
+ "evaluableMathML": [
1992
+ "astnode",
1993
+ "variables",
1994
+ "array"
1995
+ ],
1996
+ "evaluateMathML": [
1997
+ "astnode",
1998
+ "variables",
1999
+ "array"
2000
+ ]
2001
+ },
2002
+ "description": "Discovered via AST scan"
2003
+ },
2004
+ {
2005
+ "package": "tellurium.sedml",
2006
+ "module": "tesedml",
2007
+ "functions": [
2008
+ "combineArchiveToPython",
2009
+ "executeCombineArchive",
2010
+ "executeSEDML",
2011
+ "fix_endpoints",
2012
+ "getKisaoStringFromVal",
2013
+ "getKisaoValFromString",
2014
+ "process_trace",
2015
+ "sedmlToPython",
2016
+ "terminate_trace"
2017
+ ],
2018
+ "classes": [
2019
+ "SEDMLCodeFactory",
2020
+ "SEDMLTools"
2021
+ ],
2022
+ "function_signatures": {
2023
+ "getKisaoValFromString": [
2024
+ "id"
2025
+ ],
2026
+ "getKisaoStringFromVal": [
2027
+ "val"
2028
+ ],
2029
+ "sedmlToPython": [
2030
+ "inputStr",
2031
+ "workingDir"
2032
+ ],
2033
+ "executeSEDML": [
2034
+ "inputStr",
2035
+ "workingDir",
2036
+ "createOutputs",
2037
+ "saveOutputs",
2038
+ "outputDir",
2039
+ "plottingEngine"
2040
+ ],
2041
+ "combineArchiveToPython": [
2042
+ "omexPath"
2043
+ ],
2044
+ "executeCombineArchive": [
2045
+ "omexPath",
2046
+ "workingDir",
2047
+ "printPython",
2048
+ "createOutputs",
2049
+ "saveOutputs",
2050
+ "outputDir",
2051
+ "plottingEngine"
2052
+ ],
2053
+ "process_trace": [
2054
+ "trace"
2055
+ ],
2056
+ "terminate_trace": [
2057
+ "trace"
2058
+ ],
2059
+ "fix_endpoints": [
2060
+ "x",
2061
+ "y",
2062
+ "color",
2063
+ "tag",
2064
+ "fig"
2065
+ ]
2066
+ },
2067
+ "description": "Discovered via AST scan"
2068
+ },
2069
+ {
2070
+ "package": "tellurium.sedml",
2071
+ "module": "utils",
2072
+ "functions": [
2073
+ "run_case"
2074
+ ],
2075
+ "classes": [],
2076
+ "function_signatures": {
2077
+ "run_case": [
2078
+ "call_file",
2079
+ "antimony_str",
2080
+ "phrasedml_str",
2081
+ "py_code",
2082
+ "working_dir"
2083
+ ]
2084
+ },
2085
+ "description": "Discovered via AST scan"
2086
+ },
2087
+ {
2088
+ "package": "tellurium.teconverters",
2089
+ "module": "antimony_regex",
2090
+ "functions": [
2091
+ "getFunctionSBORegex",
2092
+ "getFunctionStartRegex",
2093
+ "getModelEndRegex",
2094
+ "getModelStartRegex",
2095
+ "getSBORegex"
2096
+ ],
2097
+ "classes": [],
2098
+ "function_signatures": {
2099
+ "getModelStartRegex": [],
2100
+ "getFunctionStartRegex": [],
2101
+ "getModelEndRegex": [],
2102
+ "getSBORegex": [],
2103
+ "getFunctionSBORegex": []
2104
+ },
2105
+ "description": "Discovered via AST scan"
2106
+ },
2107
+ {
2108
+ "package": "tellurium.teconverters",
2109
+ "module": "antimony_sbo",
2110
+ "functions": [
2111
+ "filterIfEmpty"
2112
+ ],
2113
+ "classes": [
2114
+ "SBOError",
2115
+ "antimonySBOConverter",
2116
+ "antimonySBOParser"
2117
+ ],
2118
+ "function_signatures": {
2119
+ "filterIfEmpty": [
2120
+ "l"
2121
+ ]
2122
+ },
2123
+ "description": "Discovered via AST scan"
2124
+ },
2125
+ {
2126
+ "package": "tellurium.teconverters",
2127
+ "module": "convert_antimony",
2128
+ "functions": [],
2129
+ "classes": [
2130
+ "antimonyConverter"
2131
+ ],
2132
+ "function_signatures": {},
2133
+ "description": "Discovered via AST scan"
2134
+ },
2135
+ {
2136
+ "package": "tellurium.teconverters",
2137
+ "module": "convert_omex",
2138
+ "functions": [
2139
+ "readCreator"
2140
+ ],
2141
+ "classes": [
2142
+ "Omex",
2143
+ "OmexAsset",
2144
+ "OmexFormatDetector",
2145
+ "SbmlAsset",
2146
+ "SedmlAsset",
2147
+ "inlineOmexImporter"
2148
+ ],
2149
+ "function_signatures": {
2150
+ "readCreator": [
2151
+ "file"
2152
+ ]
2153
+ },
2154
+ "description": "Discovered via AST scan"
2155
+ },
2156
+ {
2157
+ "package": "tellurium.teio",
2158
+ "module": "latex",
2159
+ "functions": [],
2160
+ "classes": [
2161
+ "LatexExport"
2162
+ ],
2163
+ "function_signatures": {},
2164
+ "description": "Discovered via AST scan"
2165
+ },
2166
+ {
2167
+ "package": "tellurium.utils",
2168
+ "module": "matrix",
2169
+ "functions": [
2170
+ "nullspace",
2171
+ "rank",
2172
+ "rref"
2173
+ ],
2174
+ "classes": [],
2175
+ "function_signatures": {
2176
+ "rank": [
2177
+ "A",
2178
+ "atol",
2179
+ "rtol"
2180
+ ],
2181
+ "nullspace": [
2182
+ "A",
2183
+ "atol",
2184
+ "rtol"
2185
+ ],
2186
+ "rref": [
2187
+ "A"
2188
+ ]
2189
+ },
2190
+ "description": "Discovered via AST scan"
2191
+ },
2192
+ {
2193
+ "package": "tellurium.utils",
2194
+ "module": "misc",
2195
+ "functions": [
2196
+ "deprecated",
2197
+ "getODEsFromModel",
2198
+ "getODEsFromSBMLFile",
2199
+ "getODEsFromSBMLString",
2200
+ "listFiles",
2201
+ "readFromFile",
2202
+ "runTool",
2203
+ "saveToFile"
2204
+ ],
2205
+ "classes": [
2206
+ "Accumulator",
2207
+ "ODEExtractor"
2208
+ ],
2209
+ "function_signatures": {
2210
+ "saveToFile": [
2211
+ "filePath",
2212
+ "str"
2213
+ ],
2214
+ "readFromFile": [
2215
+ "filePath"
2216
+ ],
2217
+ "listFiles": [
2218
+ "wildcardstr"
2219
+ ],
2220
+ "deprecated": [
2221
+ "func"
2222
+ ],
2223
+ "runTool": [
2224
+ "toolFileName"
2225
+ ],
2226
+ "getODEsFromSBMLFile": [
2227
+ "fileName"
2228
+ ],
2229
+ "getODEsFromSBMLString": [
2230
+ "sbmlStr"
2231
+ ],
2232
+ "getODEsFromModel": [
2233
+ "roadrunnerModel"
2234
+ ]
2235
+ },
2236
+ "description": "Discovered via AST scan"
2237
+ },
2238
+ {
2239
+ "package": "tellurium.utils",
2240
+ "module": "omex",
2241
+ "functions": [
2242
+ "addEntriesToCombineArchive",
2243
+ "combineArchiveFromDirectory",
2244
+ "combineArchiveFromEntries",
2245
+ "extractCombineArchive",
2246
+ "getLocationsByFormat",
2247
+ "listContents",
2248
+ "printContents"
2249
+ ],
2250
+ "classes": [
2251
+ "Creator",
2252
+ "Entry"
2253
+ ],
2254
+ "function_signatures": {
2255
+ "combineArchiveFromDirectory": [
2256
+ "directory",
2257
+ "omexPath",
2258
+ "creators",
2259
+ "creators_for_all"
2260
+ ],
2261
+ "combineArchiveFromEntries": [
2262
+ "omexPath",
2263
+ "entries",
2264
+ "workingDir"
2265
+ ],
2266
+ "addEntriesToCombineArchive": [
2267
+ "omexPath",
2268
+ "entries",
2269
+ "workingDir"
2270
+ ],
2271
+ "extractCombineArchive": [
2272
+ "omexPath",
2273
+ "directory",
2274
+ "method"
2275
+ ],
2276
+ "getLocationsByFormat": [
2277
+ "omexPath",
2278
+ "formatKey",
2279
+ "method"
2280
+ ],
2281
+ "listContents": [
2282
+ "omexPath",
2283
+ "method"
2284
+ ],
2285
+ "printContents": [
2286
+ "omexPath"
2287
+ ]
2288
+ },
2289
+ "description": "Discovered via AST scan"
2290
+ },
2291
+ {
2292
+ "package": "tellurium.utils",
2293
+ "module": "uncertainty",
2294
+ "functions": [
2295
+ "UncertaintyAllP",
2296
+ "UncertaintySingleP"
2297
+ ],
2298
+ "classes": [],
2299
+ "function_signatures": {
2300
+ "UncertaintySingleP": [
2301
+ "model",
2302
+ "variables",
2303
+ "runType",
2304
+ "parameters",
2305
+ "simulation",
2306
+ "degreeofVariability",
2307
+ "excludedParameters",
2308
+ "sizeofEnsemble",
2309
+ "ConfidenceInterval",
2310
+ "limitc",
2311
+ "midc",
2312
+ "fillc",
2313
+ "barc",
2314
+ "limitw",
2315
+ "midw",
2316
+ "fontsize",
2317
+ "callback",
2318
+ "datasave",
2319
+ "imagesave"
2320
+ ],
2321
+ "UncertaintyAllP": [
2322
+ "model",
2323
+ "variables",
2324
+ "runType",
2325
+ "parameters",
2326
+ "simulation",
2327
+ "degreeofVariability",
2328
+ "excludedParameters",
2329
+ "sizeofEnsemble",
2330
+ "ConfidenceInterval",
2331
+ "limitc",
2332
+ "midc",
2333
+ "fillc",
2334
+ "barc",
2335
+ "errorc",
2336
+ "limitw",
2337
+ "midw",
2338
+ "figtitle",
2339
+ "xlabel",
2340
+ "ylabel",
2341
+ "fontsize",
2342
+ "callback",
2343
+ "datasave",
2344
+ "imagesave"
2345
+ ]
2346
+ },
2347
+ "description": "Discovered via AST scan"
2348
+ },
2349
+ {
2350
+ "package": "tellurium.visualization",
2351
+ "module": "sbmldiagram",
2352
+ "functions": [],
2353
+ "classes": [
2354
+ "SBMLDiagram"
2355
+ ],
2356
+ "function_signatures": {},
2357
+ "description": "Discovered via AST scan"
2358
+ }
2359
+ ],
2360
+ "cli_commands": [],
2361
+ "import_strategy": {
2362
+ "primary": "import",
2363
+ "fallback": "blackbox",
2364
+ "confidence": 0.9
2365
+ },
2366
+ "dependencies": {
2367
+ "required": [
2368
+ "libroadrunner",
2369
+ "libsbml",
2370
+ "libsedml",
2371
+ "matplotlib",
2372
+ "plotly"
2373
+ ],
2374
+ "optional": [
2375
+ "jupyter",
2376
+ "spyder"
2377
+ ]
2378
+ },
2379
+ "risk_assessment": {
2380
+ "import_feasibility": 0.8,
2381
+ "intrusiveness_risk": "medium",
2382
+ "complexity": "medium"
2383
+ }
2384
+ },
2385
+ "deepwiki_analysis": {
2386
+ "repo_url": "https://github.com/sys-bio/tellurium",
2387
+ "repo_name": "tellurium",
2388
+ "content": "sys-bio/tellurium\nTellurium Overview\nCore Architecture\nKey Concepts\nInstallation and Setup\nInstallation Methods\nIDE and Notebook Environments\nTroubleshooting Setup\nGetting Started Tutorial\nModel Definition and Loading\nAntimony Language\nLoading Models\nModel Interconversion\nRunning Simulations\nExtendedRoadRunner API\nDeterministic Simulation\nStochastic Simulation\nModel State Management\nPlotting and Visualization\nBasic Plotting\nPlotting Engines\nAdvanced Plotting Techniques\nNetwork Visualization\nParameter Analysis\nParameter Scanning\nSteady State Analysis\nUncertainty Quantification\nCOMBINE Archives and Standards\nCOMBINE Archive Basics\nCreating and Extracting Archives\nInline OMEX Format\nSED-ML and Simulation Experiments\nSED-ML Concepts\nPhraSEDML Language\nExecuting SED-ML\nKISAO Algorithm Mapping\nUtility Functions\nODE Extraction\nFile and Data Management\nPackage Management\nAdvanced Features\nJarnac Compatibility Layer\nCustom Integrator Configuration\nModel Export\nDevelopment and Testing\nTesting Infrastructure\nDocumentation System\nCode Organization\nExamples and Use Cases\nBasic Modeling Examples\nParameter Scan Examples\nReproducible Research Examples\nFunction Reference\nCommon Patterns\nTroubleshooting Guide\nTellurium Overview\ndocs/_notebooks/core/tellurium_plotting_files/tellurium_plotting_1_0.png\ndocs/antimony.rst\ndocs/images/tellurium-front-page-image.png\ndocs/images/tellurium_logo.png\nrequirements.txt\ntellurium/VERSION.txt\ntellurium/__init__.py\ntellurium/analysis/parameterscan.py\ntellurium/plotting/__init__.py\ntellurium/plotting/api.py\ntellurium/plotting/engine.py\ntellurium/plotting/engine_mpl.py\ntellurium/plotting/engine_plotly.py\ntellurium/plotting/factory.py\ntellurium/roadrunner/extended_roadrunner.py\ntellurium/sedml/templates/tesedml_template.template\ntellurium/sedml/tesedml.py\ntellurium/tellurium.py\nPurpose and Scope\nThis document provides a high-level introduction to Tellurium, a Python-based platform for systems biology modeling and simulation. It covers the system's architecture, core components, and fundamental concepts. For detailed information about specific subsystems, seeCore ArchitectureandKey Concepts. For installation procedures, seeInstallation and Setup. For tutorials on model definition and simulation, seeGetting Started Tutorial,Model Definition and Loading, andRunning Simulations.\nWhat is Tellurium?\nTellurium is a comprehensive Python environment for reproducible dynamical modeling of biological networks. It provides a unified interface for creating, simulating, and analyzing biochemical reaction systems while maintaining compliance with community standards including SBML (Systems Biology Markup Language), SED-ML (Simulation Experiment Description Markup Language), and COMBINE archives.\nPrimary Goals:\nEnable model creation using human-readable formats (Antimony, PhraSEDML)\nProvide high-performance simulation throughlibroadrunner\nlibroadrunner\nSupport standards-based model exchange and reproducibility\nOffer multiple visualization and analysis tools\nCurrent Version:2.2.11.1\nSources:README.md32-52tellurium/VERSION.txt1tellurium/tellurium.py1-7\nSystem Architecture\nTellurium implements a multi-layered architecture where each layer provides specific functionality while maintaining clear separation of concerns.\nHigh-Level Component Organization\nStandards LibrariesSimulation EngineFormat Conversion - teconvertersExtended FunctionalityCore API - tellurium.pyUser Interface LayerCommand Line / ScriptsTellurium NotebookIDE Integration(Spyder, Jupyter)loada()loadSBMLModel()loadCellMLModel()simulate()gillespie()antimonyToSBML()sbmlToAntimony()cellmlToSBML()exportToSBML()exportToAntimony()exportToCellML()ExtendedRoadRunnertellurium.roadrunner.extended_roadrunnerPlotting Enginestellurium.plottingParameterScantellurium.analysis.parameterscanantimonyConverterinlineOmexroadrunner.RoadRunnerlibroadrunner C++ backendantimony libraryModel definition languagelibsbmlSBML parserlibsedmlSED-ML parserphrasedmlHuman-readable SED-ML\nStandards Libraries\nSimulation Engine\nFormat Conversion - teconverters\nExtended Functionality\nCore API - tellurium.py\nUser Interface Layer\nCommand Line / Scripts\nTellurium Notebook\nIDE Integration(Spyder, Jupyter)\nloada()loadSBMLModel()loadCellMLModel()\nsimulate()gillespie()\nantimonyToSBML()sbmlToAntimony()cellmlToSBML()\nexportToSBML()exportToAntimony()exportToCellML()\nExtendedRoadRunnertellurium.roadrunner.extended_roadrunner\nPlotting Enginestellurium.plotting\nParameterScantellurium.analysis.parameterscan\nantimonyConverterinlineOmex\nroadrunner.RoadRunnerlibroadrunner C++ backend\nantimony libraryModel definition language\nlibsbmlSBML parser\nlibsedmlSED-ML parser\nphrasedmlHuman-readable SED-ML\nSources:README.md47-50tellurium/tellurium.py1-50tellurium/__init__.py1-187\nCore Component Mapping\nThe following diagram maps high-level concepts to specific code entities:\nSimulation MethodsFormat ConvertersRoadRunner IntegrationModel Loading FunctionsPlotting Systemplot(x, y)getPlottingEngineFactory(engine)MatplotlibEnginePlotlyEngineloada(ant)loads(sbml)loadCellMLModel(cellml)ExtendedRoadRunnerextended_roadrunner.pyroadrunner.RoadRunnerlibroadrunner bindingantimonyToSBML(ant)sbmlToAntimony(sbml)cellmlToSBML(cellml)r.simulate(start, end, points)r.gillespie(start, end)r.steadyState()\nSimulation Methods\nFormat Converters\nRoadRunner Integration\nModel Loading Functions\nPlotting System\ngetPlottingEngineFactory(engine)\nMatplotlibEngine\nPlotlyEngine\nloads(sbml)\nloadCellMLModel(cellml)\nExtendedRoadRunnerextended_roadrunner.py\nroadrunner.RoadRunnerlibroadrunner binding\nantimonyToSBML(ant)\nsbmlToAntimony(sbml)\ncellmlToSBML(cellml)\nr.simulate(start, end, points)\nr.gillespie(start, end)\nr.steadyState()\nSources:tellurium/tellurium.py509-576tellurium/roadrunner/extended_roadrunner.py13-433tellurium/plotting/factory.py1-54\nCore Components\n1. Main Entry Point: tellurium.py\nThetellurium.pymodule serves as the primary API entry point (importance score: 415.30). It provides:\ntellurium.py\nloadAntimonyModel()\nloadSBMLModel()\nloadCellMLModel()\nantimonyToSBML()\nsbmlToAntimony()\ncellmlToSBML()\nsbmlToCellML()\nsetDefaultPlottingEngine()\ngetPlottingEngine()\ndisablePlotting()\ngetVersionInfo()\nnoticesOn()\nnoticesOff()\nSources:tellurium/tellurium.py207-717tellurium/__init__.py14-83\n2. ExtendedRoadRunner Class\nExtendedRoadRunnerwraps thelibroadrunner.RoadRunnerclass and adds Tellurium-specific functionality:\nExtendedRoadRunner\nlibroadrunner.RoadRunner\nKey Methods:\nSimulation:simulate(),gillespie(),steadyState(),oneStep()\ngillespie()\nsteadyState()\nPlotting:plot(),draw()\nExport:exportToSBML(),exportToAntimony(),exportToCellML(),exportToMatlab()\nexportToSBML()\nexportToAntimony()\nexportToCellML()\nexportToMatlab()\nModel State:getAntimony(),getCurrentAntimony(),getSBML(),getCurrentSBML()\ngetAntimony()\ngetCurrentAntimony()\ngetCurrentSBML()\nJarnac Compatibility:fjac(),sm(),rs(),fs(),bs(),ps(),vs()\nSources:tellurium/roadrunner/extended_roadrunner.py13-433\n3. Format Conversion System\nTheteconvertersmodule handles model format interconversion:\nteconverters\nAntimony Library InterfaceStandard XML FormatsConversion FunctionsHuman-Readable FormatsAntimony Strings'model ... end'PhraSEDML Strings'model1 = simulate ...'Inline OMEXCombined formatantimonyToSBML()antimonyToCellML()tellurium.py:587-628sbmlToAntimony()sbmlToCellML()tellurium.py:630-678cellmlToAntimony()cellmlToSBML()tellurium.py:679-716SBML XMLSystems Biology Markup LanguageCellML XMLMathematical Modelsantimony.loadAntimonyString()antimony.getSBMLString()antimony.getCellMLString()\nAntimony Library Interface\nStandard XML Formats\nConversion Functions\nHuman-Readable Formats\nAntimony Strings'model ... end'\nPhraSEDML Strings'model1 = simulate ...'\nInline OMEXCombined format\nantimonyToSBML()antimonyToCellML()tellurium.py:587-628\nsbmlToAntimony()sbmlToCellML()tellurium.py:630-678\ncellmlToAntimony()cellmlToSBML()tellurium.py:679-716\nSBML XMLSystems Biology Markup Language\nCellML XMLMathematical Models\nantimony.loadAntimonyString()antimony.getSBMLString()antimony.getCellMLString()\nSources:tellurium/tellurium.py581-717README.md47-50\n4. Plotting System\nTellurium supports multiple plotting backends through a factory pattern:\nArchitecture:\nAbstract Base:PlottingEngine,PlottingFigureintellurium.plotting.engine\nPlottingEngine\nPlottingFigure\ntellurium.plotting.engine\nImplementations:MatplotlibEngine,PlotlyEngine,NullEngine\nMatplotlibEngine",
2389
+ "model": "gpt-4o-2024-08-06",
2390
+ "source": "selenium",
2391
+ "success": true
2392
+ },
2393
+ "deepwiki_options": {
2394
+ "enabled": true,
2395
+ "model": "gpt-4o-2024-08-06"
2396
+ },
2397
+ "risk": {
2398
+ "import_feasibility": 0.8,
2399
+ "intrusiveness_risk": "medium",
2400
+ "complexity": "medium"
2401
+ }
2402
+ }
tellurium/mcp_output/diff_report.md ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Tellurium Project Difference Report
2
+
3
+ ## Project Overview
4
+
5
+ **Repository:** Tellurium
6
+ **Project Type:** Python Library
7
+ **Main Features:** Basic Functionality
8
+ **Report Date:** January 31, 2026
9
+ **Workflow Status:** Success
10
+ **Test Status:** Failed
11
+
12
+ The Tellurium project is a Python library designed to provide basic functionalities for its users. As of the latest update, the project has undergone changes that include the addition of new files, while no existing files have been modified. This report aims to analyze these changes, assess their impact, and provide recommendations for future improvements.
13
+
14
+ ## Difference Analysis
15
+
16
+ ### Summary of Changes
17
+
18
+ - **New Files Added:** 8
19
+ - **Modified Files:** 0
20
+
21
+ The recent update to the Tellurium project involved the addition of eight new files. However, there were no modifications to the existing files. The workflow status indicates that the integration process was successful, but the test status shows a failure, suggesting issues with the new additions or their integration into the existing codebase.
22
+
23
+ ### Intrusiveness
24
+
25
+ The changes are classified as non-intrusive, meaning they do not alter existing functionalities or disrupt the current workflow. The addition of new files suggests an expansion of the library's capabilities or the introduction of new features.
26
+
27
+ ## Technical Analysis
28
+
29
+ ### New Files
30
+
31
+ The eight new files added to the repository likely introduce new functionalities or modules. However, without modifications to existing files, it is crucial to ensure that these new additions are properly integrated and compatible with the current system architecture.
32
+
33
+ ### Test Failures
34
+
35
+ The failure in the test status indicates potential issues with the new files. These could range from syntax errors, logical errors, or integration issues with the existing codebase. It is essential to conduct a thorough review of the new files to identify and rectify these issues.
36
+
37
+ ## Recommendations and Improvements
38
+
39
+ 1. **Conduct a Code Review:** Perform a detailed code review of the new files to identify any errors or issues that may have led to the test failures.
40
+
41
+ 2. **Enhance Testing:** Develop comprehensive test cases for the new functionalities to ensure they work as intended and integrate seamlessly with the existing system.
42
+
43
+ 3. **Documentation:** Update the project documentation to include information about the new files and their functionalities. This will aid in future maintenance and development efforts.
44
+
45
+ 4. **Continuous Integration:** Implement a robust continuous integration pipeline to automatically test new changes and catch issues early in the development process.
46
+
47
+ ## Deployment Information
48
+
49
+ Given the current test failures, it is not advisable to deploy the latest changes to a production environment. The issues identified during testing need to be resolved before considering deployment. Once resolved, a deployment plan should be developed to ensure a smooth transition.
50
+
51
+ ## Future Planning
52
+
53
+ 1. **Feature Expansion:** Consider expanding the library's features based on user feedback and industry trends to maintain its relevance and utility.
54
+
55
+ 2. **Community Engagement:** Engage with the user community to gather feedback and suggestions for future improvements.
56
+
57
+ 3. **Regular Updates:** Establish a regular update schedule to ensure the library remains up-to-date with the latest Python standards and practices.
58
+
59
+ 4. **Performance Optimization:** Continuously monitor and optimize the library's performance to ensure it meets user expectations and requirements.
60
+
61
+ ## Conclusion
62
+
63
+ The Tellurium project has seen the addition of new files, expanding its capabilities. However, the test failures highlight the need for careful integration and testing of these new additions. By addressing the identified issues and following the recommendations, the project can continue to evolve and provide value to its users.
tellurium/mcp_output/mcp_plugin/__init__.py ADDED
File without changes
tellurium/mcp_output/mcp_plugin/adapter.py ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+
4
+ # Set the source path for imports
5
+ source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
6
+ sys.path.insert(0, source_path)
7
+
8
+ # Import necessary modules and classes
9
+ try:
10
+ from examples.tellurium_files.events import onEvent, onEventAssignment, onEventTrigger
11
+ from scripts.download_count import get_git_releases_json, parse_release_json, plot_release_df
12
+ from docs.conf import Mock
13
+ except ImportError as e:
14
+ print(f"Import error: {e}. Some functionalities may not be available.")
15
+
16
+ class Adapter:
17
+ """
18
+ Adapter class to interface with the MCP plugin functionalities.
19
+ """
20
+
21
+ def __init__(self):
22
+ """
23
+ Initialize the Adapter with default settings.
24
+ """
25
+ self.mode = "import"
26
+
27
+ # -------------------------------------------------------------------------
28
+ # Event Handling Methods
29
+ # -------------------------------------------------------------------------
30
+
31
+ def handle_event(self, event_data):
32
+ """
33
+ Handle an event using the onEvent function.
34
+
35
+ :param event_data: Data related to the event.
36
+ :return: Dictionary with status and result.
37
+ """
38
+ try:
39
+ result = onEvent(event_data)
40
+ return {"status": "success", "result": result}
41
+ except Exception as e:
42
+ return {"status": "error", "message": str(e)}
43
+
44
+ def handle_event_assignment(self, assignment_data):
45
+ """
46
+ Handle an event assignment using the onEventAssignment function.
47
+
48
+ :param assignment_data: Data for the event assignment.
49
+ :return: Dictionary with status and result.
50
+ """
51
+ try:
52
+ result = onEventAssignment(assignment_data)
53
+ return {"status": "success", "result": result}
54
+ except Exception as e:
55
+ return {"status": "error", "message": str(e)}
56
+
57
+ def handle_event_trigger(self, trigger_data):
58
+ """
59
+ Handle an event trigger using the onEventTrigger function.
60
+
61
+ :param trigger_data: Data for the event trigger.
62
+ :return: Dictionary with status and result.
63
+ """
64
+ try:
65
+ result = onEventTrigger(trigger_data)
66
+ return {"status": "success", "result": result}
67
+ except Exception as e:
68
+ return {"status": "error", "message": str(e)}
69
+
70
+ # -------------------------------------------------------------------------
71
+ # Download Count Methods
72
+ # -------------------------------------------------------------------------
73
+
74
+ def get_git_releases(self, repo_url):
75
+ """
76
+ Get Git releases JSON using the get_git_releases_json function.
77
+
78
+ :param repo_url: URL of the Git repository.
79
+ :return: Dictionary with status and result.
80
+ """
81
+ try:
82
+ result = get_git_releases_json(repo_url)
83
+ return {"status": "success", "result": result}
84
+ except Exception as e:
85
+ return {"status": "error", "message": str(e)}
86
+
87
+ def parse_release_data(self, release_json):
88
+ """
89
+ Parse release JSON data using the parse_release_json function.
90
+
91
+ :param release_json: JSON data of the release.
92
+ :return: Dictionary with status and result.
93
+ """
94
+ try:
95
+ result = parse_release_json(release_json)
96
+ return {"status": "success", "result": result}
97
+ except Exception as e:
98
+ return {"status": "error", "message": str(e)}
99
+
100
+ def plot_release_data(self, release_df):
101
+ """
102
+ Plot release data using the plot_release_df function.
103
+
104
+ :param release_df: DataFrame containing release data.
105
+ :return: Dictionary with status and result.
106
+ """
107
+ try:
108
+ result = plot_release_df(release_df)
109
+ return {"status": "success", "result": result}
110
+ except Exception as e:
111
+ return {"status": "error", "message": str(e)}
112
+
113
+ # -------------------------------------------------------------------------
114
+ # Mock Class Handling
115
+ # -------------------------------------------------------------------------
116
+
117
+ def create_mock_instance(self):
118
+ """
119
+ Create an instance of the Mock class.
120
+
121
+ :return: Dictionary with status and Mock instance.
122
+ """
123
+ try:
124
+ mock_instance = Mock()
125
+ return {"status": "success", "instance": mock_instance}
126
+ except Exception as e:
127
+ return {"status": "error", "message": str(e)}
128
+
129
+ # End of Adapter class definition
tellurium/mcp_output/mcp_plugin/main.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ MCP Service Auto-Wrapper - Auto-generated
3
+ """
4
+ from mcp_service import create_app
5
+
6
+ def main():
7
+ """Main entry point"""
8
+ app = create_app()
9
+ return app
10
+
11
+ if __name__ == "__main__":
12
+ app = main()
13
+ app.run()
tellurium/mcp_output/mcp_plugin/mcp_service.py ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+
4
+ source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
5
+ if source_path not in sys.path:
6
+ sys.path.insert(0, source_path)
7
+
8
+ from fastmcp import FastMCP
9
+
10
+ from docs.conf import Mock
11
+ from examples.tellurium-files.events import onEvent, onEventAssignment, onEventTrigger
12
+ from scripts.download_count import get_git_releases_json, parse_release_json, plot_release_df
13
+
14
+ mcp = FastMCP("unknown_service")
15
+
16
+
17
+ @mcp.tool(name="mock", description="Mock class")
18
+ def mock(*args, **kwargs):
19
+ """Mock class"""
20
+ try:
21
+ if Mock is None:
22
+ return {"success": False, "result": None, "error": "Class Mock is not available, path may need adjustment"}
23
+
24
+ # MCP parameter type conversion
25
+ converted_args = []
26
+ converted_kwargs = kwargs.copy()
27
+
28
+ # Handle position argument type conversion
29
+ for arg in args:
30
+ if isinstance(arg, str):
31
+ # Try to convert to numeric type
32
+ try:
33
+ if '.' in arg:
34
+ converted_args.append(float(arg))
35
+ else:
36
+ converted_args.append(int(arg))
37
+ except ValueError:
38
+ converted_args.append(arg)
39
+ else:
40
+ converted_args.append(arg)
41
+
42
+ # Handle keyword argument type conversion
43
+ for key, value in converted_kwargs.items():
44
+ if isinstance(value, str):
45
+ try:
46
+ if '.' in value:
47
+ converted_kwargs[key] = float(value)
48
+ else:
49
+ converted_kwargs[key] = int(value)
50
+ except ValueError:
51
+ pass
52
+
53
+ instance = Mock(*converted_args, **converted_kwargs)
54
+ return {"success": True, "result": str(instance), "error": None}
55
+ except Exception as e:
56
+ return {"success": False, "result": None, "error": str(e)}
57
+
58
+ @mcp.tool(name="onEvent", description="Auto-wrapped function onEvent")
59
+ def onEvent(payload: dict):
60
+ try:
61
+ if onEvent is None:
62
+ return {"success": False, "result": None, "error": "Function onEvent is not available"}
63
+ result = onEvent(**payload)
64
+ return {"success": True, "result": result, "error": None}
65
+ except Exception as e:
66
+ return {"success": False, "result": None, "error": str(e)}
67
+
68
+ @mcp.tool(name="onEventAssignment", description="Auto-wrapped function onEventAssignment")
69
+ def onEventAssignment(payload: dict):
70
+ try:
71
+ if onEventAssignment is None:
72
+ return {"success": False, "result": None, "error": "Function onEventAssignment is not available"}
73
+ result = onEventAssignment(**payload)
74
+ return {"success": True, "result": result, "error": None}
75
+ except Exception as e:
76
+ return {"success": False, "result": None, "error": str(e)}
77
+
78
+ @mcp.tool(name="onEventTrigger", description="Auto-wrapped function onEventTrigger")
79
+ def onEventTrigger(payload: dict):
80
+ try:
81
+ if onEventTrigger is None:
82
+ return {"success": False, "result": None, "error": "Function onEventTrigger is not available"}
83
+ result = onEventTrigger(**payload)
84
+ return {"success": True, "result": result, "error": None}
85
+ except Exception as e:
86
+ return {"success": False, "result": None, "error": str(e)}
87
+
88
+ @mcp.tool(name="get_git_releases_json", description="Auto-wrapped function get_git_releases_json")
89
+ def get_git_releases_json(payload: dict):
90
+ try:
91
+ if get_git_releases_json is None:
92
+ return {"success": False, "result": None, "error": "Function get_git_releases_json is not available"}
93
+ result = get_git_releases_json(**payload)
94
+ return {"success": True, "result": result, "error": None}
95
+ except Exception as e:
96
+ return {"success": False, "result": None, "error": str(e)}
97
+
98
+ @mcp.tool(name="parse_release_json", description="Auto-wrapped function parse_release_json")
99
+ def parse_release_json(payload: dict):
100
+ try:
101
+ if parse_release_json is None:
102
+ return {"success": False, "result": None, "error": "Function parse_release_json is not available"}
103
+ result = parse_release_json(**payload)
104
+ return {"success": True, "result": result, "error": None}
105
+ except Exception as e:
106
+ return {"success": False, "result": None, "error": str(e)}
107
+
108
+ @mcp.tool(name="plot_release_df", description="Auto-wrapped function plot_release_df")
109
+ def plot_release_df(payload: dict):
110
+ try:
111
+ if plot_release_df is None:
112
+ return {"success": False, "result": None, "error": "Function plot_release_df is not available"}
113
+ result = plot_release_df(**payload)
114
+ return {"success": True, "result": result, "error": None}
115
+ except Exception as e:
116
+ return {"success": False, "result": None, "error": str(e)}
117
+
118
+
119
+
120
+ def create_app():
121
+ """Create and return FastMCP application instance"""
122
+ return mcp
123
+
124
+ if __name__ == "__main__":
125
+ mcp.run(transport="http", host="0.0.0.0", port=8000)
tellurium/mcp_output/requirements.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ fastmcp
2
+ fastapi
3
+ uvicorn[standard]
4
+ pydantic>=2.0.0
5
+ numpy>=2.2
6
+ scipy>=1.5.1
7
+ matplotlib>=2.0.2
8
+ pandas>=2.0
9
+ libroadrunner>=2.8
10
+ rrplugins>=2.8
11
+ phrasedml>=1.3
12
+ antimony>=3.1
13
+ sbml2matlab>=0.9.1; (python_version < '3.10' and platform_machine != "arm64")
14
+ appdirs>=1.4.3
15
+ jinja2>=3.0.0
16
+ plotly>=2.0.12
17
+ requests
18
+ jupyter-client>=5.1.0
19
+ jupyter-core>=4.3.0
20
+ ipython
21
+ ipykernel>=4.6.1
22
+ pytest
23
+ libsbml
24
+ libsedml
tellurium/mcp_output/start_mcp.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ """
3
+ MCP Service Startup Entry
4
+ """
5
+ import sys
6
+ import os
7
+
8
+ project_root = os.path.dirname(os.path.abspath(__file__))
9
+ mcp_plugin_dir = os.path.join(project_root, "mcp_plugin")
10
+ if mcp_plugin_dir not in sys.path:
11
+ sys.path.insert(0, mcp_plugin_dir)
12
+
13
+ from mcp_service import create_app
14
+
15
+ def main():
16
+ """Start FastMCP service"""
17
+ app = create_app()
18
+ # Use environment variable to configure port, default 8000
19
+ port = int(os.environ.get("MCP_PORT", "8000"))
20
+
21
+ # Choose transport mode based on environment variable
22
+ transport = os.environ.get("MCP_TRANSPORT", "stdio")
23
+ if transport == "http":
24
+ app.run(transport="http", host="0.0.0.0", port=port)
25
+ else:
26
+ # Default to STDIO mode
27
+ app.run()
28
+
29
+ if __name__ == "__main__":
30
+ main()
tellurium/mcp_output/workflow_summary.json ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "repository": {
3
+ "name": "tellurium",
4
+ "url": "https://github.com/sys-bio/tellurium",
5
+ "local_path": "/export/zxcpu1/shiweijie/code/ghh/Code2MCP/workspace/tellurium",
6
+ "description": "Python library",
7
+ "features": "Basic functionality",
8
+ "tech_stack": "Python",
9
+ "stars": 0,
10
+ "forks": 0,
11
+ "language": "Python",
12
+ "last_updated": "",
13
+ "complexity": "medium",
14
+ "intrusiveness_risk": "medium"
15
+ },
16
+ "execution": {
17
+ "start_time": 1769852973.6745214,
18
+ "end_time": 1769853067.508826,
19
+ "duration": 93.83430480957031,
20
+ "status": "success",
21
+ "workflow_status": "success",
22
+ "nodes_executed": [
23
+ "download",
24
+ "analysis",
25
+ "env",
26
+ "generate",
27
+ "run",
28
+ "review",
29
+ "finalize"
30
+ ],
31
+ "total_files_processed": 14,
32
+ "environment_type": "unknown",
33
+ "llm_calls": 0,
34
+ "deepwiki_calls": 0
35
+ },
36
+ "tests": {
37
+ "original_project": {
38
+ "passed": false,
39
+ "details": {},
40
+ "test_coverage": "100%",
41
+ "execution_time": 0,
42
+ "test_files": []
43
+ },
44
+ "mcp_plugin": {
45
+ "passed": true,
46
+ "details": {},
47
+ "service_health": "healthy",
48
+ "startup_time": 0,
49
+ "transport_mode": "stdio",
50
+ "fastmcp_version": "unknown",
51
+ "mcp_version": "unknown"
52
+ }
53
+ },
54
+ "analysis": {
55
+ "structure": {
56
+ "packages": [
57
+ "source.examples",
58
+ "source.examples.tellurium-files",
59
+ "source.tellurium",
60
+ "source.tellurium.analysis",
61
+ "source.tellurium.dev",
62
+ "source.tellurium.notebooks",
63
+ "source.tellurium.plotting",
64
+ "source.tellurium.roadrunner",
65
+ "source.tellurium.sedml",
66
+ "source.tellurium.teconverters",
67
+ "source.tellurium.teio",
68
+ "source.tellurium.tests",
69
+ "source.tellurium.utils",
70
+ "source.tellurium.visualization"
71
+ ]
72
+ },
73
+ "dependencies": {
74
+ "has_environment_yml": false,
75
+ "has_requirements_txt": true,
76
+ "pyproject": false,
77
+ "setup_cfg": false,
78
+ "setup_py": true
79
+ },
80
+ "entry_points": {
81
+ "imports": [],
82
+ "cli": [],
83
+ "modules": []
84
+ },
85
+ "risk_assessment": {
86
+ "import_feasibility": 0.8,
87
+ "intrusiveness_risk": "medium",
88
+ "complexity": "medium"
89
+ },
90
+ "deepwiki_analysis": {
91
+ "repo_url": "https://github.com/sys-bio/tellurium",
92
+ "repo_name": "tellurium",
93
+ "content": "sys-bio/tellurium\nTellurium Overview\nCore Architecture\nKey Concepts\nInstallation and Setup\nInstallation Methods\nIDE and Notebook Environments\nTroubleshooting Setup\nGetting Started Tutorial\nModel Definition and Loading\nAntimony Language\nLoading Models\nModel Interconversion\nRunning Simulations\nExtendedRoadRunner API\nDeterministic Simulation\nStochastic Simulation\nModel State Management\nPlotting and Visualization\nBasic Plotting\nPlotting Engines\nAdvanced Plotting Techniques\nNetwork Visualization\nParameter Analysis\nParameter Scanning\nSteady State Analysis\nUncertainty Quantification\nCOMBINE Archives and Standards\nCOMBINE Archive Basics\nCreating and Extracting Archives\nInline OMEX Format\nSED-ML and Simulation Experiments\nSED-ML Concepts\nPhraSEDML Language\nExecuting SED-ML\nKISAO Algorithm Mapping\nUtility Functions\nODE Extraction\nFile and Data Management\nPackage Management\nAdvanced Features\nJarnac Compatibility Layer\nCustom Integrator Configuration\nModel Export\nDevelopment and Testing\nTesting Infrastructure\nDocumentation System\nCode Organization\nExamples and Use Cases\nBasic Modeling Examples\nParameter Scan Examples\nReproducible Research Examples\nFunction Reference\nCommon Patterns\nTroubleshooting Guide\nTellurium Overview\ndocs/_notebooks/core/tellurium_plotting_files/tellurium_plotting_1_0.png\ndocs/antimony.rst\ndocs/images/tellurium-front-page-image.png\ndocs/images/tellurium_logo.png\nrequirements.txt\ntellurium/VERSION.txt\ntellurium/__init__.py\ntellurium/analysis/parameterscan.py\ntellurium/plotting/__init__.py\ntellurium/plotting/api.py\ntellurium/plotting/engine.py\ntellurium/plotting/engine_mpl.py\ntellurium/plotting/engine_plotly.py\ntellurium/plotting/factory.py\ntellurium/roadrunner/extended_roadrunner.py\ntellurium/sedml/templates/tesedml_template.template\ntellurium/sedml/tesedml.py\ntellurium/tellurium.py\nPurpose and Scope\nThis document provides a high-level introduction to Tellurium, a Python-based platform for systems biology modeling and simulation. It covers the system's architecture, core components, and fundamental concepts. For detailed information about specific subsystems, seeCore ArchitectureandKey Concepts. For installation procedures, seeInstallation and Setup. For tutorials on model definition and simulation, seeGetting Started Tutorial,Model Definition and Loading, andRunning Simulations.\nWhat is Tellurium?\nTellurium is a comprehensive Python environment for reproducible dynamical modeling of biological networks. It provides a unified interface for creating, simulating, and analyzing biochemical reaction systems while maintaining compliance with community standards including SBML (Systems Biology Markup Language), SED-ML (Simulation Experiment Description Markup Language), and COMBINE archives.\nPrimary Goals:\nEnable model creation using human-readable formats (Antimony, PhraSEDML)\nProvide high-performance simulation throughlibroadrunner\nlibroadrunner\nSupport standards-based model exchange and reproducibility\nOffer multiple visualization and analysis tools\nCurrent Version:2.2.11.1\nSources:README.md32-52tellurium/VERSION.txt1tellurium/tellurium.py1-7\nSystem Architecture\nTellurium implements a multi-layered architecture where each layer provides specific functionality while maintaining clear separation of concerns.\nHigh-Level Component Organization\nStandards LibrariesSimulation EngineFormat Conversion - teconvertersExtended FunctionalityCore API - tellurium.pyUser Interface LayerCommand Line / ScriptsTellurium NotebookIDE Integration(Spyder, Jupyter)loada()loadSBMLModel()loadCellMLModel()simulate()gillespie()antimonyToSBML()sbmlToAntimony()cellmlToSBML()exportToSBML()exportToAntimony()exportToCellML()ExtendedRoadRunnertellurium.roadrunner.extended_roadrunnerPlotting Enginestellurium.plottingParameterScantellurium.analysis.parameterscanantimonyConverterinlineOmexroadrunner.RoadRunnerlibroadrunner C++ backendantimony libraryModel definition languagelibsbmlSBML parserlibsedmlSED-ML parserphrasedmlHuman-readable SED-ML\nStandards Libraries\nSimulation Engine\nFormat Conversion - teconverters\nExtended Functionality\nCore API - tellurium.py\nUser Interface Layer\nCommand Line / Scripts\nTellurium Notebook\nIDE Integration(Spyder, Jupyter)\nloada()loadSBMLModel()loadCellMLModel()\nsimulate()gillespie()\nantimonyToSBML()sbmlToAntimony()cellmlToSBML()\nexportToSBML()exportToAntimony()exportToCellML()\nExtendedRoadRunnertellurium.roadrunner.extended_roadrunner\nPlotting Enginestellurium.plotting\nParameterScantellurium.analysis.parameterscan\nantimonyConverterinlineOmex\nroadrunner.RoadRunnerlibroadrunner C++ backend\nantimony libraryModel definition language\nlibsbmlSBML parser\nlibsedmlSED-ML parser\nphrasedmlHuman-readable SED-ML\nSources:README.md47-50tellurium/tellurium.py1-50tellurium/__init__.py1-187\nCore Component Mapping\nThe following diagram maps high-level concepts to specific code entities:\nSimulation MethodsFormat ConvertersRoadRunner IntegrationModel Loading FunctionsPlotting Systemplot(x, y)getPlottingEngineFactory(engine)MatplotlibEnginePlotlyEngineloada(ant)loads(sbml)loadCellMLModel(cellml)ExtendedRoadRunnerextended_roadrunner.pyroadrunner.RoadRunnerlibroadrunner bindingantimonyToSBML(ant)sbmlToAntimony(sbml)cellmlToSBML(cellml)r.simulate(start, end, points)r.gillespie(start, end)r.steadyState()\nSimulation Methods\nFormat Converters\nRoadRunner Integration\nModel Loading Functions\nPlotting System\ngetPlottingEngineFactory(engine)\nMatplotlibEngine\nPlotlyEngine\nloads(sbml)\nloadCellMLModel(cellml)\nExtendedRoadRunnerextended_roadrunner.py\nroadrunner.RoadRunnerlibroadrunner binding\nantimonyToSBML(ant)\nsbmlToAntimony(sbml)\ncellmlToSBML(cellml)\nr.simulate(start, end, points)\nr.gillespie(start, end)\nr.steadyState()\nSources:tellurium/tellurium.py509-576tellurium/roadrunner/extended_roadrunner.py13-433tellurium/plotting/factory.py1-54\nCore Components\n1. Main Entry Point: tellurium.py\nThetellurium.pymodule serves as the primary API entry point (importance score: 415.30). It provides:\ntellurium.py\nloadAntimonyModel()\nloadSBMLModel()\nloadCellMLModel()\nantimonyToSBML()\nsbmlToAntimony()\ncellmlToSBML()\nsbmlToCellML()\nsetDefaultPlottingEngine()\ngetPlottingEngine()\ndisablePlotting()\ngetVersionInfo()\nnoticesOn()\nnoticesOff()\nSources:tellurium/tellurium.py207-717tellurium/__init__.py14-83\n2. ExtendedRoadRunner Class\nExtendedRoadRunnerwraps thelibroadrunner.RoadRunnerclass and adds Tellurium-specific functionality:\nExtendedRoadRunner\nlibroadrunner.RoadRunner\nKey Methods:\nSimulation:simulate(),gillespie(),steadyState(),oneStep()\ngillespie()\nsteadyState()\nPlotting:plot(),draw()\nExport:exportToSBML(),exportToAntimony(),exportToCellML(),exportToMatlab()\nexportToSBML()\nexportToAntimony()\nexportToCellML()\nexportToMatlab()\nModel State:getAntimony(),getCurrentAntimony(),getSBML(),getCurrentSBML()\ngetAntimony()\ngetCurrentAntimony()\ngetCurrentSBML()\nJarnac Compatibility:fjac(),sm(),rs(),fs(),bs(),ps(),vs()\nSources:tellurium/roadrunner/extended_roadrunner.py13-433\n3. Format Conversion System\nTheteconvertersmodule handles model format interconversion:\nteconverters\nAntimony Library InterfaceStandard XML FormatsConversion FunctionsHuman-Readable FormatsAntimony Strings'model ... end'PhraSEDML Strings'model1 = simulate ...'Inline OMEXCombined formatantimonyToSBML()antimonyToCellML()tellurium.py:587-628sbmlToAntimony()sbmlToCellML()tellurium.py:630-678cellmlToAntimony()cellmlToSBML()tellurium.py:679-716SBML XMLSystems Biology Markup LanguageCellML XMLMathematical Modelsantimony.loadAntimonyString()antimony.getSBMLString()antimony.getCellMLString()\nAntimony Library Interface\nStandard XML Formats\nConversion Functions\nHuman-Readable Formats\nAntimony Strings'model ... end'\nPhraSEDML Strings'model1 = simulate ...'\nInline OMEXCombined format\nantimonyToSBML()antimonyToCellML()tellurium.py:587-628\nsbmlToAntimony()sbmlToCellML()tellurium.py:630-678\ncellmlToAntimony()cellmlToSBML()tellurium.py:679-716\nSBML XMLSystems Biology Markup Language\nCellML XMLMathematical Models\nantimony.loadAntimonyString()antimony.getSBMLString()antimony.getCellMLString()\nSources:tellurium/tellurium.py581-717README.md47-50\n4. Plotting System\nTellurium supports multiple plotting backends through a factory pattern:\nArchitecture:\nAbstract Base:PlottingEngine,PlottingFigureintellurium.plotting.engine\nPlottingEngine\nPlottingFigure\ntellurium.plotting.engine\nImplementations:MatplotlibEngine,PlotlyEngine,NullEngine\nMatplotlibEngine",
94
+ "model": "gpt-4o-2024-08-06",
95
+ "source": "selenium",
96
+ "success": true
97
+ },
98
+ "code_complexity": {
99
+ "cyclomatic_complexity": "medium",
100
+ "cognitive_complexity": "medium",
101
+ "maintainability_index": 75
102
+ },
103
+ "security_analysis": {
104
+ "vulnerabilities_found": 0,
105
+ "security_score": 85,
106
+ "recommendations": []
107
+ }
108
+ },
109
+ "plugin_generation": {
110
+ "files_created": [
111
+ "mcp_output/start_mcp.py",
112
+ "mcp_output/mcp_plugin/__init__.py",
113
+ "mcp_output/mcp_plugin/mcp_service.py",
114
+ "mcp_output/mcp_plugin/adapter.py",
115
+ "mcp_output/mcp_plugin/main.py",
116
+ "mcp_output/requirements.txt",
117
+ "mcp_output/README_MCP.md"
118
+ ],
119
+ "main_entry": "start_mcp.py",
120
+ "requirements": [
121
+ "fastmcp>=0.1.0",
122
+ "pydantic>=2.0.0"
123
+ ],
124
+ "readme_path": "/export/zxcpu1/shiweijie/code/ghh/Code2MCP/workspace/tellurium/mcp_output/README_MCP.md",
125
+ "adapter_mode": "import",
126
+ "total_lines_of_code": 0,
127
+ "generated_files_size": 0,
128
+ "tool_endpoints": 0,
129
+ "supported_features": [
130
+ "Basic functionality"
131
+ ],
132
+ "generated_tools": [
133
+ "Basic tools",
134
+ "Health check tools",
135
+ "Version info tools"
136
+ ]
137
+ },
138
+ "code_review": {},
139
+ "errors": [],
140
+ "warnings": [],
141
+ "recommendations": [
142
+ "Improve test coverage by adding more unit tests",
143
+ "Ensure all dependencies are up-to-date in requirements.txt",
144
+ "Implement continuous integration to automate testing",
145
+ "Optimize large files for better performance",
146
+ "Document code more thoroughly for better maintainability",
147
+ "Refactor complex modules to improve readability",
148
+ "Ensure consistent coding style across the project",
149
+ "Add more examples and use cases to the documentation",
150
+ "Improve error handling and logging for better debugging",
151
+ "Consider modularizing the codebase for better scalability",
152
+ "Review and update the README for clarity and completeness",
153
+ "Evaluate the use of optional dependencies and document their benefits",
154
+ "Conduct a security audit to identify potential vulnerabilities",
155
+ "Enhance the project's setup and installation instructions",
156
+ "Regularly review and update the project's risk assessment."
157
+ ],
158
+ "performance_metrics": {
159
+ "memory_usage_mb": 0,
160
+ "cpu_usage_percent": 0,
161
+ "response_time_ms": 0,
162
+ "throughput_requests_per_second": 0
163
+ },
164
+ "deployment_info": {
165
+ "supported_platforms": [
166
+ "Linux",
167
+ "Windows",
168
+ "macOS"
169
+ ],
170
+ "python_versions": [
171
+ "3.8",
172
+ "3.9",
173
+ "3.10",
174
+ "3.11",
175
+ "3.12"
176
+ ],
177
+ "deployment_methods": [
178
+ "Docker",
179
+ "pip",
180
+ "conda"
181
+ ],
182
+ "monitoring_support": true,
183
+ "logging_configuration": "structured"
184
+ },
185
+ "execution_analysis": {
186
+ "success_factors": [
187
+ "Comprehensive package structure analysis",
188
+ "Successful execution of all workflow nodes"
189
+ ],
190
+ "failure_reasons": [],
191
+ "overall_assessment": "good",
192
+ "node_performance": {
193
+ "download_time": "Completed successfully with no delays",
194
+ "analysis_time": "Efficient analysis of project structure and dependencies",
195
+ "generation_time": "Code generation completed within expected time",
196
+ "test_time": "Testing was limited due to lack of original project test success"
197
+ },
198
+ "resource_usage": {
199
+ "memory_efficiency": "Memory usage data not available",
200
+ "cpu_efficiency": "CPU usage data not available",
201
+ "disk_usage": "Disk usage was efficient given the number of files processed"
202
+ }
203
+ },
204
+ "technical_quality": {
205
+ "code_quality_score": 75,
206
+ "architecture_score": 80,
207
+ "performance_score": 70,
208
+ "maintainability_score": 75,
209
+ "security_score": 85,
210
+ "scalability_score": 70
211
+ }
212
+ }
tellurium/source/.readthedocs.yaml ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ tools:
6
+ python: "3.11"
7
+
8
+ # Build documentation in the docs/ directory with Sphinx
9
+ sphinx:
10
+ configuration: docs/conf.py
11
+
12
+ python:
13
+ install:
14
+ - requirements: docs/requirements.txt
15
+ - method: pip
16
+ path: .
17
+ extra_requirements:
18
+ - docs
19
+ # - method: pip
20
+ # path: another/package
tellurium/source/.travis.yml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #######################################
2
+ # Travis CI script
3
+ #######################################
4
+
5
+ language: python
6
+ sudo: required
7
+ cache: pip
8
+ python:
9
+ - "3.6"
10
+ - "3.7"
11
+ - "3.8"
12
+ - "3.9"
13
+ install:
14
+ - pip install -r requirements.txt
15
+ script:
16
+ - pytest tellurium
17
+
18
+
19
+
20
+
21
+
22
+
tellurium/source/CONTRIBUTING.rst ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ============
2
+ Contributing
3
+ ============
4
+
5
+ Contributions are welcome, and they are greatly appreciated! Every little bit
6
+ helps, and credit will always be given.
7
+
8
+ You can contribute in many ways:
9
+
10
+ Types of Contributions
11
+ ----------------------
12
+
13
+ Report Bugs
14
+ ~~~~~~~~~~~
15
+
16
+ Report bugs using the `issue tracker <https://github.com/sys-bio/tellurium/issues>`__
17
+
18
+ If you are reporting a bug, please include:
19
+
20
+ * Your operating system name and version.
21
+ * Your python and tellurium version.
22
+ * If you are using the python package, notebook or spyder verion
23
+ * Any details about your local setup that might be helpful in troubleshooting.
24
+ * Detailed steps to reproduce the bug.
25
+
26
+ Fix Bugs
27
+ ~~~~~~~~
28
+
29
+ Look through the GitHub `issues <https://github.com/sys-bio/tellurium/issues>`__
30
+ for bugs. Best contact the main contributors and ask questions before you start coding.
31
+
32
+ Implement Features
33
+ ~~~~~~~~~~~~~~~~~~
34
+
35
+ Look through the GitHub `issues <https://github.com/sys-bio/tellurium/issues>`__
36
+ for features. Anything tagged with "enhancement" is open to whoever wants to
37
+ implement it.
38
+
39
+ Write Documentation
40
+ ~~~~~~~~~~~~~~~~~~~
41
+
42
+ tellurium could always use more documentation, whether as part of the official
43
+ tellurium docs, in docstrings, or even on the web in blog posts, articles, and
44
+ such - all contributions are welcome!
45
+
46
+ Submit Feedback
47
+ ~~~~~~~~~~~~~~~
48
+
49
+ The best way to send feedback is to file an
50
+ `issue <https://github.com/sys-bio/tellurium/issues>`__.
51
+
52
+ If you are proposing a feature:
53
+
54
+ * Explain in detail how it would work.
55
+ * Keep the scope as narrow as possible, to make it easier to implement.
56
+ * Remember that this is a volunteer-driven project, and that contributions
57
+ are welcome :)
58
+
59
+ If you like tellurium please remember to 'star' our github page (click on the star
60
+ at top right corner), that way we also have an idea of who is using tellurium!
61
+
62
+ Get Started!
63
+ ------------
64
+
65
+ Want to contribute a new feature or improvement? Consider starting by raising an
66
+ issue and assign it to yourself to describe what you want to achieve. This way,
67
+ we reduce the risk of duplicated efforts and you may also get suggestions on how
68
+ to best proceed, e.g. there may be half-finished work in some branch that you
69
+ could start with.
70
+
71
+ Here's how to set up `tellurium` for local development to contribute smaller
72
+ features or changes that you can implement yourself.
73
+
74
+ 1. Fork the `tellurium` repository on GitHub.
75
+ 2. Clone your fork locally::
76
+
77
+ $ git clone git@github.com:<your Github name>/tellurium.git
78
+
79
+ 3. If virtualenvwrapper is not installed,
80
+ `follow the directions <https://virtualenvwrapper.readthedocs.io/en/latest/>`__
81
+ to install virtualenvwrapper.
82
+
83
+ 4. Install your local copy of tellurium into a virtualenv with virtualenvwrapper::
84
+
85
+ $ cd tellurium
86
+ $ mkvirtualenv tellurium
87
+
88
+ Use the ``--python`` option to select a specific version of Python for the
89
+ virtualenv.
90
+
91
+ 5. Install the required packages for development in the virtualenv using pip install::
92
+
93
+ (tellurium)$ pip install --upgrade pip setuptools wheel
94
+ (tellurium)$ pip install -r requirements.txt
95
+
96
+ 6. Check out the branch that you want to contribute to. Most likely that will be
97
+ ``master``::
98
+
99
+ (tellurium)$ git checkout master
100
+
101
+ 7. Create a branch for local development based on the previously checked out
102
+ branch (see below for details on the branching model)::
103
+
104
+ (tellurium)$ git checkout -b name-of-your-bugfix-or-feature
105
+
106
+ Now you can make your changes locally.
107
+
108
+ 8. Setup tellurium for development::
109
+
110
+ (tellurium)$ pip install -e .
111
+
112
+ 9. When you are done making changes, check that your changes pass the tests with tox for your local Python version::
113
+
114
+ (tellurium)$ tox -e py27
115
+ (tellurium)$ tox -e py34
116
+ (tellurium)$ tox -e py35
117
+
118
+ 10. Commit your changes and push your branch to GitHub::
119
+
120
+ (tellurium)$ git add .
121
+ (tellurium)$ git commit -m "Your detailed description of your changes."
122
+ (tellurium)$ git push origin name-of-your-bugfix-or-feature
123
+
124
+ 11. Submit a pull request through the GitHub website. Once you submit a pull
125
+ request your changes will be tested automatically against multiple python
126
+ versions and operating systems. Further errors might appear during those
127
+ tests.
128
+
129
+ For larger features that you want to work on collaboratively with other tellurium team members,
130
+ you may consider to first request to join the sbmlutils developers team to get write access to the
131
+ repository so that you can create a branch in the main repository
132
+ (or simply ask the maintainer to create a branch for you).
133
+ Once you have a new branch you can push your changes directly to the main
134
+ repository and when finished, submit a pull request from that branch to ``master``.
135
+
136
+ Pull Request Guidelines
137
+ -----------------------
138
+
139
+ Before you submit a pull request, check that it meets these guidelines:
140
+
141
+ 1. The pull request should include tests in the ``tellurium/tests``
142
+ directory. Except in rare circumstances, code coverage must
143
+ not decrease (as reported by codecov which runs automatically when
144
+ you submit your pull request)
145
+ 2. If the pull request adds functionality, the docs should be
146
+ updated. Put your new functionality into a function with a
147
+ docstring and consider creating a notebook that demonstrates the
148
+ usage.
149
+ 3. The pull request must work for Python 2.7, 3.5 and 3.6.
150
+ 4. Assign a reviewer to your pull request. If in doubt, assign 0u812, matthiaskoenig and kirichoi.
151
+ Your pull request must be approved by at least one
152
+ reviewer before it can be merged.
153
+
154
+ Unit tests and benchmarks
155
+ -------------------------
156
+
157
+ tellurium uses `pytest <http://docs.pytest.org/en/latest/>`_ for its
158
+ unit-tests and new features should in general always come with new
159
+ tests that make sure that the code runs as intended::
160
+
161
+ (tellurium)$ pytest
162
+
163
+ Branching model
164
+ ---------------
165
+
166
+ ``master``
167
+ Is the branch all pull-requests should be based on.
168
+ ``{fix, bugfix, doc, feature}/descriptive-name``
169
+ Is the recommended naming scheme for smaller improvements, bugfixes,
170
+ documentation improvement and new features respectively.
171
+
172
+ Please use concise descriptive commit messages and consider using
173
+ ``git pull --rebase`` when you update your own fork to avoid merge commits.
174
+
175
+ 1. Tests are in the ``tellurium/tests`` directory. They are automatically run
176
+ through continuous integration services on both python 2 and python 3
177
+ when pull requests are made.
178
+ 2. Please write tests for new functions. Writing documentation as well
179
+ would also be very helpful.
180
+ 3. Ensure code will work with both python 2 and python 3. For example,
181
+ instead of ``my_dict.iteritems()`` use ``six.iteritems(my_dict)``
182
+
183
+ Thank you very much for contributing to tellurium!
tellurium/source/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "{}"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright {yyyy} {name of copyright owner}
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
202
+
tellurium/source/MANIFEST.in ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ include LICENSE.txt
2
+ include VERSION.txt
tellurium/source/NEWS.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ tellurium
2
+
3
+ For the release notes, please go to http://tellurium.analogmachine.org/news/.
tellurium/source/NOTICE.txt ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Tellurium v2.1.0
2
+ Copyright 2017 Kiri Choi, J Kyle Medley, Matthias K�nig, Kaylene Stocking, Caroline Cannistra, Michal Galdzicki, and Herbert Sauro
3
+ http://tellurium.analogmachine.org/
4
+
5
+ This product makes use of the following open source software packages:
6
+
7
+ bioservices 1.4.16
8
+ Copyright (c) 2017 Thomas Cokelaer
9
+ Licensed under GPL License
10
+ https://github.com/cokelaer/bioservices
11
+
12
+ cobraPy 0.8.2
13
+ Copyright (c) Daniel Robert Hyduke and Ali Ebrahim
14
+ Licensed under LGPL/GPL v2
15
+ https://opencobra.github.io/cobrapy/
16
+
17
+ control 0.7.0
18
+ Copyright Richard M. Murray et al.
19
+ Licensed under BSD license
20
+ https://sourceforge.net/projects/python-control/
21
+
22
+ IPython 5.5.0
23
+ Copyright (c) 2017, IPython Development Team
24
+ IPython is licensed under the terms of the new or revised BSD license
25
+ http://ipython.org/
26
+
27
+ jedi 0.11.0
28
+ Copyright 2012 - 2017, Jedi contributors
29
+ Licensed under MIT license.
30
+ http://jedi.jedidjah.ch/en/latest/#
31
+
32
+ jinja2 2.9.6
33
+ Copyright (c) 2017 by the Jinja Team
34
+ Licensed under BSD license.
35
+ http://jinja.pocoo.org/docs/dev/
36
+
37
+ jsonschema 2.6.0
38
+ Copyright (c) 2017 Julian Berman
39
+ Licensed under MIT license.
40
+ https://github.com/Julian/jsonschema
41
+
42
+ Jupyter 1.0.0
43
+ Copyright � 2017 Project Jupyter
44
+ Licensed under BSD license.
45
+ https://jupyter.org/
46
+
47
+ libAntimony 2.9.4
48
+ Copyright (c) 2008-2015, Lucian Smith and Herbert Sauro
49
+ Distributed under BSD license
50
+ http://antimony.sourceforge.net/
51
+
52
+ libCombine 0.2.2
53
+ Copyright (c) 2016, Sarah M. Keating & Frank T. Bergmann All rights reserved.
54
+ Available under the Simplified BSD license.
55
+ https://github.com/sbmlteam/libCombine
56
+
57
+ libNUML 1.1.1
58
+ Copyright 2013 The University of Manchester, UK
59
+ Available under the LGPL 2.1 license. https://github.com/NuML/NuML/blob/master/libnuml/LICENSE.txt
60
+ https://github.com/NuML/NuML
61
+
62
+ libRoadRunner 1.4.24
63
+ Copyright (C) 2012-2017 Andy Somogyi, Herbert Sauro
64
+ Distributed under Apache License, Version 2.0
65
+ http://libroadrunner.org/
66
+
67
+ libSBML 5.15.0
68
+ Copyright � 2013-2014 jointly by the following organizations:
69
+ 1. California Institute of Technology, Pasadena, CA, USA
70
+ 2. EMBL European Bioinformatics Institute (EBML-EBI), Hinxton, UK
71
+ 3. University of Heidelberg, Heidelberg, Germany
72
+ Copyright � 2009-2013 jointly by the following organizations:
73
+ 1. California Institute of Technology, Pasadena, CA, USA
74
+ 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
75
+ Copyright � 2006-2008 by the California Institute of Technology, Pasadena, CA, USA
76
+ Copyright � 2002-2005 jointly by the following organizations:
77
+ 1. California Institute of Technology, Pasadena, CA, USA
78
+ 2. Japan Science and Technology Agency, Japan
79
+ Distributed under GNU LGPL 2.1 license
80
+ http://sbml.org/Software/libSBML
81
+
82
+ libSEDML 0.4.2
83
+ Copyright (c) 2013-2015, Frank T. Bergmann, All rights reserved.
84
+ Distributed under Simplified BSD License.
85
+ https://github.com/fbergmann/libSEDML
86
+
87
+ LMFIT 0.9.7
88
+ Copyright (c) 2014 Matthew Newville, The University of Chicago
89
+ Till Stensitzki, Freie Universitat Berlin
90
+ Daniel B. Allen, Johns Hopkins University
91
+ Michal Rawlik, Eidgenossische Technische Hochschule, Zurich
92
+ Antonino Ingargiola, University of California, Los Angeles
93
+ A. R. J. Nelson, Australian Nuclear Science and Technology Organisation
94
+ Distributed under BSD License.
95
+ https://lmfit.github.io/lmfit-py/index.html
96
+
97
+ matplotlib 2.1.0
98
+ Copyright (c) 2012-2015 Matplotlib Development Team; All Rights Reserved
99
+ Distributed under matplotlib license, based on the PSF license
100
+ http://matplotlib.org/
101
+
102
+ matplotlib2tikz 0.6.2
103
+ Copyright (c) 2010-2016 Nico Schl�mer
104
+ matplotlib2tikz is published under the MIT license
105
+ https://github.com/nschloe/matplotlib2tikz
106
+
107
+ nose 1.3.7
108
+ Copyright 2005-2009, Jason Pellerin
109
+ Distributed under GNU LGPL license.
110
+ https://nose.readthedocs.org/en/latest/
111
+
112
+ numpy 1.13.3
113
+ Copyright (c) 2005-2015, NumPy Developers.
114
+ Distributed under BSD license, http://www.numpy.org/license.html#license
115
+ http://www.numpy.org
116
+
117
+ pandas 0.20.3
118
+ Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team. All rights reserved.
119
+ Copyright (c) 2008-2011 AQR Capital Management, LLC. All rights reserved.
120
+ pandas is distributed under a 3-clause ("Simplified" or "New") BSD license.
121
+
122
+ phrasedml 1.0.8
123
+ Copyright (c) 2017, Lucian Smith, Kiri Choi, and Herbert Sauro
124
+ Distributed under BSD 3 license, https://github.com/sys-bio/phrasedml/blob/master/LICENSE.txt
125
+ https://github.com/sys-bio/phrasedml
126
+
127
+ pip 9.0.1
128
+ Copyright (c) 2008-2016 The pip developers
129
+ Licensed under MIT license.
130
+ https://pip.pypa.io/en/stable/
131
+
132
+ plotly 2.1.0
133
+ Copyright 2017 Plotly, Inc.
134
+ Code released under the MIT license.
135
+ https://plot.ly/
136
+
137
+ pysces 0.9.5
138
+ Copyright (c) 2004 - 2017, Brett G. Olivier, Johann M. Rohwer and Jan-Hendrik S. Hofmeyr All rights reserved.
139
+ PySCeS is distributed under a BSD style licence, please see LICENCE.txt for details. https://github.com/PySCeS/pysces/blob/master/LICENSE.txt
140
+ http://pysces.sourceforge.net/
141
+
142
+ pygraphviz 1.3.1
143
+ Copyright (C) 2006-2015 by Aric Hagberg, Dan Schult, Manos Renieris.
144
+ Distributed with BSD license.
145
+ https://pygraphviz.github.io/
146
+
147
+ pyparsing 2.2.0
148
+ Paul McGuire
149
+ Distributed under the MIT license (no copyright statement)
150
+ http://pyparsing.wikispaces.com/
151
+
152
+ PyQt5
153
+ Copyright (C) 2015 Riverbank Computing Limited <info@riverbankcomputing.com>
154
+ Lincensed under the terms of the GNU GPL 3, with Riverbank GPL Exception version 1.1
155
+ see GPL_EXCEPTION.TXT in the PyQt5 Source Code. The right to use Open Source Licenses not compatible with the GNU General Public License: Apache License 2.0
156
+ http://www.riverbankcomputing.com/
157
+
158
+ pySBOL 2.2.0
159
+ Distributed under Apache 2.0 license.
160
+ https://github.com/SynBioDex/pysbol
161
+
162
+ Python 2.7.13
163
+ Copyright (c) 2001-2017 Python Software Foundation; All Rights Reserved
164
+ Distributed under PSF LICENSE FOR PYTHON 2.7.6, http://docs.python.org/2/license.html
165
+ http://python.org/
166
+
167
+ python-dateutil 2.6.1
168
+ Copyright (c) 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net>
169
+ Copyright (c) 2012 - Tomi Pievil������inen <tomi.pievilainen@iki.fi>
170
+ Distributed under Simplified BSD license
171
+ http://labix.org/python-dateutil
172
+
173
+ rrPlugins 1.1.8
174
+ Copyright (C) 2012-2015 Totte Karlsson, Herbert Sauro
175
+ Distributed under Apache License, Version 2.0
176
+ http://tellurium.analogmachine.org/plugins/
177
+
178
+ sbml2matlab 1.2.2
179
+ Copyright (c) 2012, Stanley Gu
180
+ Distributed under BSD License
181
+ https://github.com/sys-bio/sbml2matlab
182
+
183
+ Scipy 0.19.1
184
+ Copyright � 2001, 2002 Enthought, Inc. All rights reserved.
185
+ Copyright � 2003-2015 SciPy Developers. All rights reserved.
186
+ Distributed under BSD license, https://www.scipy.org/scipylib/license.html
187
+ https://www.scipy.org/
188
+
189
+ Seaborn 0.7.1
190
+ Copyright (c) 2012-2013, Michael L. Waskom
191
+ Released under a BSD (3-clause) license
192
+ https://stanford.edu/~mwaskom/software/seaborn/
193
+
194
+ six 1.10.0
195
+ Copyright (c) 2010-2015 Benjamin Peterson
196
+ Distributed under the MIT license
197
+ http://pypi.python.org/pypi/six/
198
+
199
+ Spyder 3.2.3 (modified)
200
+ Copyright (c) 2009- The Spyder Development Team
201
+ Licensed under the terms of the MIT License
202
+ https://www.spyder-ide.org/
203
+
204
+ SymPy 1.1.1
205
+ Copyright (c) 2006-2016 SymPy Development Team
206
+ Licensed under New BSD License.
207
+ http://www.sympy.org/en/index.html
208
+
209
+ urllib3 1.22
210
+ Copyright 2008-2016 Andrey Petrov and contributors
211
+ urllib3 is made available under the MIT License.
212
+ https://urllib3.readthedocs.io/en/latest/
213
+
214
+ Winpython 2.7.13.0
215
+ Copyright (c) 2009-2013, Pierre Raybaut
216
+ Copyright (c) 2014-2016 The Winpython development team
217
+ Licensed under the terms of the MIT License
218
+ https://winpython.github.io/
219
+
tellurium/source/README.md ADDED
@@ -0,0 +1,253 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h1><img title="tellurium logo" src="./docs/images/tellurium_logo.png" height="50" />&nbsp;&nbsp;tellurium</h1>
2
+
3
+ <!-- These badges come from shield.io, zenodo or travis -->
4
+
5
+ <table style="width:100%">
6
+ <tr>
7
+ <!--<td><img alt="Github version", src="https://travis-ci.com/sys-bio/tellurium.svg?branch=master"></td> -->
8
+ <td><img alt="Read the Docs" src="https://img.shields.io/readthedocs/tellurium"></td>
9
+ <td><a href="https://badge.fury.io/gh/sys-bio%2Ftellurium"><img src="https://badge.fury.io/gh/sys-bio%2Ftellurium.svg" alt="GitHub version" height="18"></a></td>
10
+ </tr>
11
+ </table>
12
+
13
+ <table style="width:100%">
14
+ <tr>
15
+ <td><img alt="Licence", src="https://img.shields.io/hexpm/l/tellurium"</td>
16
+ <td><img alt="PyPI - Downloads", src="https://img.shields.io/pypi/dm/tellurium"></td>
17
+ <td><img alt="Funding", src="https://img.shields.io/badge/Funding-NIGMS%20(GM123032)-blue"></td>
18
+ <td><img alt="Funding", src="https://img.shields.io/badge/Funding-NIBIB%20(EB028887)-blue"></td>
19
+ <td><a href="https://badge.fury.io/py/tellurium"><img src="https://badge.fury.io/py/tellurium.svg" alt="PyPI version" height="18"></a> </td>
20
+ </tr>
21
+ </table>
22
+
23
+ <table style="width:100%">
24
+ <tr>
25
+ <td><a href="https://doi.org/10.5281/zenodo.2548944"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.2548944.svg" alt="DOI"></a></td>
26
+ </tr>
27
+ </table>
28
+
29
+ Copyright 2014-2023
30
+ Kiri Choi, J Kyle Medley, Matthias König, Kaylene Stocking, Caroline Cannistra, Michal Galdzicki, Ciaran Welsh, Lucian Smith, Adel Heydarabadipour, and Herbert Sauro
31
+
32
+ ## What is it?
33
+
34
+ Tellurium is a comprehensive Python accessible SBML-compliant modeling platform for biochemical reaction systems.
35
+
36
+ ## Introduction
37
+
38
+ For installation instructions scroll down a few sections.
39
+
40
+ Tellurium is a python environment for reproducible dynamical modeling of biological networks.
41
+ Tellurium provides the interface code to convert between standard formats and uses powerful
42
+ libraries without requiring technical expertise, allowing teh user to focus on what’s important:
43
+ building better models. Tellurium also provides first-class support for exchangeability via
44
+ [COMBINE archives](http://co.mbine.org/documents/archive) and SBML, allowing you to share your models
45
+ and simulations with many other tools.
46
+
47
+ Tellurium combines state-of-the-art scientific Python libraries, such
48
+ as [NumPy](http://www.numpy.org/) and [SciPy](http://www.scipy.org/),
49
+ and includes special-purpose systems biology Python tools. Out of the box,
50
+ Tellurium includes the high performance simulation engine [libroadrunner](https://github.com/sys-bio/roadrunner), the model descrption language [antimony](http://antimony.sourceforge.net/), [phrasedml](http://phrasedml.sf.net/), [libsbml](http://sbml.org/Software/libSBML), and [libsedml](https://github.com/fbergmann/libSEDML).
51
+
52
+ The Tellurium (and libroadrunner project) project is funded from the NIH/NIGMS (GM081070) and NIH/NIBIB U24EB028887.
53
+
54
+ ## Documentation
55
+ * General: http://tellurium.readthedocs.org/en/latest/
56
+ * API: http://tellurium.readthedocs.io/en/latest/_apidoc/tellurium.html
57
+ * Webpage: http://tellurium.analogmachine.org/
58
+
59
+ ## Usage Example
60
+
61
+ ```{python}
62
+ import tellurium as te
63
+
64
+ r = te.loada('''
65
+ S1 -> S2; k1*S1
66
+ S1 = 10; S2 = 0
67
+ k1 = 0.1
68
+ ''')
69
+
70
+ result = r.simulate(0, 40, 500)
71
+ r.plot()
72
+ ```
73
+
74
+ <img src="./docs/images/tellurium-front-page-image.png" width=50% height=50%>
75
+
76
+ ## Installation Instructions
77
+
78
+ Tellurium can be installed as a Python package, with a front-end (Notebook, IDE), or in a cloud environment (Google Colab):
79
+
80
+
81
+ A. [Python Pip](#Install-via-pip)
82
+
83
+ B. [IDE front-end](#Front-end-installation) based on [Spyder](https://www.spyder-ide.org/)
84
+
85
+ C. [Notebook front-end](#front-end-2-tellurium-notebook)
86
+
87
+ D. [Google Colab](#google-colab)
88
+
89
+ We recommend first-time users choose one of the front-ends, while developers looking to integrate Tellurium use the pip package. All python desktop IDE graphical front-ends should work. We know for certain that telluirum will work from Spyder, pyCharm and Visual Studio Code.
90
+
91
+ The IDE front-end provides a MATLAB like experience with a code editor and Python console.
92
+ The notebook front-end provides a notebook interface similar to [Jupyter](http://jupyter.org/),
93
+ and features notebook cells for inline OMEX, a human-readable representation of COMBINE archives.
94
+
95
+ For any issues with installation and setup, please check [FAQ](https://github.com/sys-bio/tellurium/wiki/FAQ) or [contact us](#contact-us).
96
+
97
+ -------
98
+
99
+ ### Install via pip
100
+ [![PyPI version](https://badge.fury.io/py/tellurium.svg)](https://badge.fury.io/py/tellurium)
101
+
102
+ If you have a version of Python in an environment you're comfortable with, you can add Tellurium with pip:
103
+
104
+ ```
105
+ pip install tellurium
106
+ ```
107
+
108
+ This will install on all platforms. For Colab see the end of this screen.
109
+
110
+ For those using Anaconda, we currently do not have a separate Anaconda version of Tellurium, so you'll need to install it via pip, as above.
111
+
112
+ :exclamation:**For detailed instructions on how to setup Tellurium on Anaconda distributions,
113
+ see [this page](https://github.com/sys-bio/tellurium/wiki/FAQ#i-would-like-to-use-tellurium-on-anaconda-what-should-i-do).**
114
+
115
+
116
+ For developers, the latest stable version from the repository can be installed via
117
+ ```
118
+ pip install git+https://github.com/sys-bio/tellurium.git
119
+ ```
120
+
121
+ -------
122
+
123
+ ### Front-end installation
124
+
125
+ <img align="left" width="32px" id="windows" src="https://raw.githubusercontent.com/wiki/sys-bio/tellurium/img/windows.png">
126
+ <h4>Windows</h4>
127
+ <br style="clear:both"/>
128
+
129
+ #### Approach 1: Spyder for Tellurium IDE
130
+ The Tellurium Spyder installers are tested with Windows 10 and 11, and come with Python 3.12.
131
+
132
+ :exclamation:**Attention to those upgrading to Tellurium Spyder IDE from an older version :**
133
+ We strongly suggest you to completely remove the older version of Tellurium Spyder IDE prior to installing the latest version.
134
+
135
+ 1. Download Tellurium Spyder for Windows:
136
+ * [Python 3.12](https://sourceforge.net/projects/pytellurium/files/Tellurium-2.4/2.4.2/Tellurium-2.4.2-Python-3.12-win64-setup.exe/download)
137
+ 2. Double-click the installer to start the installation
138
+ 3. Follow the instructions
139
+
140
+ If you wish to use a different version of Python, you'll need to install Tellurium from the windows command line by using the command: `pip install tellurium`
141
+
142
+ NOTE: Installation requires administrative rights. It is recommended to accept the default settings.
143
+
144
+ #### Approach 2: Thonny IDE for Python
145
+ Tellurium can be used with [Thonny](https://en.wikipedia.org/wiki/Thonny), a free, open-source IDE for Python that is designed for beginners.
146
+
147
+ 1. [Download the latest version of Thonny for Windows](https://thonny.org)
148
+ 2. Double-click the installer `*.exe` to start the installation
149
+ 3. Follow the instructions
150
+ 4. Launch Thonny
151
+ 5. Go to Tools > Manage packages...
152
+ 6. Type `tellurium` in the search box and press the "Search on PyPI" button
153
+ 7. Once the `tellurium` package is found in "Search results", click on it, and then press the "Install" button. Wait until the installation process is completed.
154
+
155
+ &nbsp;
156
+
157
+ <img align="left" width="32px" id="mac-osx" src="https://raw.githubusercontent.com/wiki/sys-bio/tellurium/img/macos.png">
158
+ <h4>Mac OS X</h4>
159
+ <br style="clear:both"/>
160
+
161
+ For Mac users there a a number of options. By far, the easiest is to use the self-cotbained Thonny Python IDE.
162
+
163
+ #### Approach 1: Thonny IDE for Python
164
+ Tellurium can be used with [Thonny](https://en.wikipedia.org/wiki/Thonny), a free, open-source IDE for Python that is designed for beginners.
165
+
166
+ 1. [Download the latest version of Thonny for Mac OS X](https://thonny.org)
167
+ 2. Double-click the installer `*.pkg` to start the installation
168
+ 3. Follow the instructions
169
+ 4. Launch Thonny from Spotlight or directly from your Applications folder
170
+ 5. Go to Tools > Manage packages...
171
+ 6. Type `tellurium` in the search box and press the "Search on PyPI" button
172
+ 7. Once the `tellurium` package is found in "Search results", click on it, and then press the "Install" button. Wait until the installation process is completed.
173
+
174
+ #### Approach 2: Spyder for Tellurium IDE
175
+
176
+ 1. [Download the Anaconda distribution for Mac OS X.](https://www.anaconda.com/download).
177
+
178
+ 2. [Follow the installer instructions.](https://docs.anaconda.com/anaconda/install/linux). The installer will install Spyder as part of the installation process. If you customize the installation, you will have a chance to select which packages to install - ensure Spyder is selected.
179
+ 3. When prompted, add Anaconda to your PATH (optional, but this will make the following steps easier).
180
+ 4. [Open a Terminal](https://www.wikihow.com/Open-a-Terminal-Window-in-Mac) and run the command:
181
+ ```
182
+ conda install msgpack-python
183
+ ```
184
+ Next, install Tellurium itself:
185
+ ```
186
+ pip install tellurium
187
+ ```
188
+ If this fails, try using the default absolute path to Anaconda, which will probably be something like:
189
+ ```
190
+ /Users/<your-user>/opt/anaconda3/bin/pip install tellurium
191
+ ```
192
+ 5. Launch the Anaconda Navigator via Launchpad. In Anaconda Navigator, run Spyder and then try `import tellurium` within the Spyder editor or console.
193
+
194
+ #### Approach 3: Spyder for Tellurium IDE (only for Mac OS X Legacy)
195
+
196
+ Currently, only a Legacy version of the Mac Spyder IDE is available.
197
+
198
+ 1. [Download Tellurium IDE for Mac OS X 10.10 or later](https://github.com/sys-bio/tellurium/releases/download/1.3.5-rc3/Tellurium-1.3.5-Spyder-2.3.8-OSX.dmg)
199
+ 2. Double-click the .dmg file to open a new window
200
+ 3. Double-click the Spyder icon
201
+
202
+
203
+ **For those who wish to use Tellurium with Spyder IDE on Mac OS X, we also suggest that you install through [Anaconda](https://www.anaconda.com/) by
204
+ following the instructions on [this page](https://github.com/sys-bio/tellurium/wiki/FAQ#i-would-like-to-use-tellurium-on-anaconda-what-should-i-do).**
205
+
206
+ &nbsp;
207
+
208
+ <img align="left" width="32px" id="redhat" src="https://raw.githubusercontent.com/wiki/sys-bio/tellurium/img/redhat.png">
209
+ <h4>Linux (RedHat)</h3>
210
+ <br style="clear:both"/>
211
+
212
+ <img align="left" width="32px" id="debian" src="https://raw.githubusercontent.com/wiki/sys-bio/tellurium/img/debian.png">
213
+ <h4>Linux (Debian)</h4>
214
+ <br style="clear:both"/>
215
+
216
+ **For those who wish to use Tellurium with Spyder IDE on Linux, we also suggest that you install through [Anaconda](https://www.anaconda.com/) by
217
+ following the instructions on [this page](https://github.com/sys-bio/tellurium/wiki/FAQ#i-would-like-to-use-tellurium-on-anaconda-what-should-i-do).**
218
+
219
+ :question:Looking for old releases? [You can find them here.](https://sourceforge.net/projects/pytellurium/files/notebook) To install an old release over a new release, you will need to [manually wipe the data directory.](https://github.com/sys-bio/tellurium/wiki/FAQ#how-do-i-uninstall-tellurium-notebook)
220
+
221
+ -------
222
+
223
+ ### Google Colab
224
+ Tellurium can be used entirely in a browser using [Google Colab](https://colab.research.google.com/). Ideally, it will work with the following steps (updated May 2023)
225
+
226
+ 1. run a cell with ```!pip install -q tellurium```
227
+ 2. (Very important) Restart the runtime (From the menu: 'Runtime / Restart session')
228
+ 3. Test by typing ```import tellurium as te```
229
+ 4. te.getVersionInfo() # Check for versions if you want to
230
+ Try a model
231
+ 5. r = te.loada ('S1 -> S2; k1*S1; k1 = 0.1; S1 = 10'); r.simulate(); r.plot()
232
+
233
+ The Python version behind Colab changes periodically, so what worked one day may stop working the next, but the following Colab notebook worked when used at ICSB 2022: https://colab.research.google.com/drive/1wddLftHNhetbozZY29r2HRkzQLl1F_fs#scrollTo=l1bCgW46-adR and will hopefully be instructive.
234
+
235
+ -------
236
+
237
+ ## Citing
238
+
239
+ If you use Tellurium in your research, we would appreciate following citations in any works you publish:
240
+
241
+ Medley et al. (2018). ["Tellurium notebooks—An environment for reproducible dynamical modeling in systems biology."](http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006220) *PLoS Computational Biology*, 14(6), e1006220.
242
+
243
+ Choi et al. (2018). ["Tellurium: An extensible python-based modeling environment for systems and synthetic biology."](https://www.sciencedirect.com/science/article/pii/S0303264718301254) *Biosystems*, 171, 74-79.
244
+
245
+ ## Contact Us
246
+
247
+ For general questions, requesting help, or reporting bugs, feel free to use the [GitHub issue tracker](https://github.com/sys-bio/tellurium/issues). You can also post to the [Tellurium-discuss](https://groups.google.com/d/forum/tellurium-discuss) mailing list.
248
+
249
+ ## Legal
250
+
251
+ The source code for the Tellurium Python package is hosted at https://github.com/sys-bio/tellurium and is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). Tellurium uses third-party dependencies which may be licensed under different terms. Consult the documentation for the respective third-party packages for more details.
252
+
253
+ TELLURIUM AND ALL SOFTWARE BUNDLED WITH TELLURIUM (HEREAFTER "THE SOFTWARE") IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
tellurium/source/VirtualEnv.md ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # python virtual environment
2
+ ## How to setup the VirtualEnvironment for development on linux?
3
+
4
+ Install stable version from pip
5
+ ```
6
+ mkvirtualenv tellurium
7
+ (tellurium) pip install tellurium
8
+ ```
9
+
10
+ Install latest development version, or feature branch
11
+ ```
12
+ # clone repository
13
+ git clone https://github.com/sys-bio/tellurium
14
+ cd tellurium
15
+
16
+ # make virtual environment
17
+ mkvirtualenv tellurium
18
+ (tellurium) pip install -r requirements.txt
19
+
20
+ # checkout branch
21
+ (tellurium) git checkout master
22
+
23
+ # install tellurium
24
+ (tellurium) pip install -e .
25
+ ```
tellurium/source/__init__.py ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ tellurium Project Package Initialization File
4
+ """
tellurium/source/bld.bat ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "%PYTHON%" setup.py install
2
+ if errorlevel 1 exit 1
tellurium/source/build.sh ADDED
@@ -0,0 +1 @@
 
 
1
+ $PYTHON setup.py install
tellurium/source/clean.sh ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ # remove unnecessary files
2
+ find . -type f -regex '.*pyc' | xargs rm
3
+ find . -type f -regex '.*class' | xargs rm
4
+ find . -type f -regex '.*~' | xargs rm
tellurium/source/docs/API.rst ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ ===================
2
+ API
3
+ ===================
4
+ .. automodule:: tellurium.tellurium
5
+ :members:
tellurium/source/docs/Makefile ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ PAPER =
8
+ BUILDDIR = _build
9
+
10
+ # User-friendly check for sphinx-build
11
+ ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12
+ $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13
+ endif
14
+
15
+ # Internal variables.
16
+ PAPEROPT_a4 = -D latex_paper_size=a4
17
+ PAPEROPT_letter = -D latex_paper_size=letter
18
+ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19
+ # the i18n builder cannot share the environment and doctrees with the others
20
+ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21
+
22
+ .PHONY: help
23
+ help:
24
+ @echo "Please use \`make <target>' where <target> is one of"
25
+ @echo " html to make standalone HTML files"
26
+ @echo " dirhtml to make HTML files named index.html in directories"
27
+ @echo " singlehtml to make a single large HTML file"
28
+ @echo " pickle to make pickle files"
29
+ @echo " json to make JSON files"
30
+ @echo " htmlhelp to make HTML files and a HTML help project"
31
+ @echo " qthelp to make HTML files and a qthelp project"
32
+ @echo " applehelp to make an Apple Help Book"
33
+ @echo " devhelp to make HTML files and a Devhelp project"
34
+ @echo " epub to make an epub"
35
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
36
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
37
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
38
+ @echo " text to make text files"
39
+ @echo " man to make manual pages"
40
+ @echo " texinfo to make Texinfo files"
41
+ @echo " info to make Texinfo files and run them through makeinfo"
42
+ @echo " gettext to make PO message catalogs"
43
+ @echo " changes to make an overview of all changed/added/deprecated items"
44
+ @echo " xml to make Docutils-native XML files"
45
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
46
+ @echo " linkcheck to check all external links for integrity"
47
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
48
+ @echo " coverage to run coverage check of the documentation (if enabled)"
49
+
50
+ .PHONY: clean
51
+ clean:
52
+ rm -rf $(BUILDDIR)/*
53
+
54
+ .PHONY: html
55
+ html:
56
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
57
+ @echo
58
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
59
+
60
+ .PHONY: dirhtml
61
+ dirhtml:
62
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
63
+ @echo
64
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
65
+
66
+ .PHONY: singlehtml
67
+ singlehtml:
68
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
69
+ @echo
70
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
71
+
72
+ .PHONY: pickle
73
+ pickle:
74
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
75
+ @echo
76
+ @echo "Build finished; now you can process the pickle files."
77
+
78
+ .PHONY: json
79
+ json:
80
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
81
+ @echo
82
+ @echo "Build finished; now you can process the JSON files."
83
+
84
+ .PHONY: htmlhelp
85
+ htmlhelp:
86
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
87
+ @echo
88
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
89
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
90
+
91
+ .PHONY: qthelp
92
+ qthelp:
93
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
94
+ @echo
95
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
96
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
97
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/tellurium.qhcp"
98
+ @echo "To view the help file:"
99
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/tellurium.qhc"
100
+
101
+ .PHONY: applehelp
102
+ applehelp:
103
+ $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
104
+ @echo
105
+ @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
106
+ @echo "N.B. You won't be able to view it unless you put it in" \
107
+ "~/Library/Documentation/Help or install it in your application" \
108
+ "bundle."
109
+
110
+ .PHONY: devhelp
111
+ devhelp:
112
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
113
+ @echo
114
+ @echo "Build finished."
115
+ @echo "To view the help file:"
116
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/tellurium"
117
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/tellurium"
118
+ @echo "# devhelp"
119
+
120
+ .PHONY: epub
121
+ epub:
122
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
123
+ @echo
124
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
125
+
126
+ .PHONY: latex
127
+ latex:
128
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
129
+ @echo
130
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
131
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
132
+ "(use \`make latexpdf' here to do that automatically)."
133
+
134
+ .PHONY: latexpdf
135
+ latexpdf:
136
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
137
+ @echo "Running LaTeX files through pdflatex..."
138
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
139
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
140
+
141
+ .PHONY: latexpdfja
142
+ latexpdfja:
143
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
144
+ @echo "Running LaTeX files through platex and dvipdfmx..."
145
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
146
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
147
+
148
+ .PHONY: text
149
+ text:
150
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
151
+ @echo
152
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
153
+
154
+ .PHONY: man
155
+ man:
156
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
157
+ @echo
158
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
159
+
160
+ .PHONY: texinfo
161
+ texinfo:
162
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
163
+ @echo
164
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
165
+ @echo "Run \`make' in that directory to run these through makeinfo" \
166
+ "(use \`make info' here to do that automatically)."
167
+
168
+ .PHONY: info
169
+ info:
170
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
171
+ @echo "Running Texinfo files through makeinfo..."
172
+ make -C $(BUILDDIR)/texinfo info
173
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
174
+
175
+ .PHONY: gettext
176
+ gettext:
177
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
178
+ @echo
179
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
180
+
181
+ .PHONY: changes
182
+ changes:
183
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
184
+ @echo
185
+ @echo "The overview file is in $(BUILDDIR)/changes."
186
+
187
+ .PHONY: linkcheck
188
+ linkcheck:
189
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
190
+ @echo
191
+ @echo "Link check complete; look for any errors in the above output " \
192
+ "or in $(BUILDDIR)/linkcheck/output.txt."
193
+
194
+ .PHONY: doctest
195
+ doctest:
196
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
197
+ @echo "Testing of doctests in the sources finished, look at the " \
198
+ "results in $(BUILDDIR)/doctest/output.txt."
199
+
200
+ .PHONY: coverage
201
+ coverage:
202
+ $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
203
+ @echo "Testing of coverage in the sources finished, look at the " \
204
+ "results in $(BUILDDIR)/coverage/python.txt."
205
+
206
+ .PHONY: xml
207
+ xml:
208
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
209
+ @echo
210
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
211
+
212
+ .PHONY: pseudoxml
213
+ pseudoxml:
214
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
215
+ @echo
216
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
tellurium/source/docs/README.md ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # tellurium API documentation
2
+
3
+ The API documentation of tellurium is build from the python source code and restructured Text (reST) `*.rst` files located in `tellurium/docs`. The documentation is based on sphinx and uses the information encoded in the docstrings. The documentation is available at
4
+
5
+ **http://tellurium.readthedocs.org/en/latest/**
6
+
7
+ ## Documentation guidelines
8
+ Documentation can be updated by changing `*.rst` files in `tellurium/docs`.
9
+ Just edit the latest files in the git repository.
10
+ Direct access to the pages is provided via the **Edit on GitHub** links in the documentation.
11
+
12
+ It is important **NOT** to edit the `*.rst` files in
13
+ * `tellurium/docs/_apidoc`
14
+ * `tellurium/docs/_notebooks`
15
+ These are generated automatically from the python notebooks and source code.
16
+ Changes to the API documentation or notebook examples have to be done
17
+ in the respective python code (`tellurium/tellurium`) and notebook files (`tellurium/examples/notebooks`).
18
+
19
+ ## Adding Code Examples to Documentation
20
+ Code examples are managed via jupyter notebooks.
21
+ To start the notebook server
22
+ ```
23
+ cd tellurium/examples/notebooks/
24
+ jupyter notebook
25
+ ```
26
+
27
+ ### Existing notebook
28
+ To add code to existing notebooks
29
+ * modify the notebook and save
30
+ * run complete notebook to make sure everything works
31
+
32
+ ### New notebook
33
+ Examples are added via notebooks via the following workflow
34
+ * copy the notebook template `tellurium/examples/notebooks/core/template.ipynb` to a new file `tellurium/examples/notebooks/core/newExample.ipynb`
35
+ * add your python code in the notebook `newExample.ipynb`
36
+ * run complete notebook to make sure everything works
37
+ * add the notebook to the notebook index `tellurium/examples/notebooks/index.ipynb`
38
+ * register the notebook in the docs in `tellurium/docs/notebooks.rst` via `.. include:: _notebooks/core/newExample.rst
39
+
40
+ After the next complete build of the documentation the example is available in the docs.
41
+
42
+ All examples added via notebooks are run when building the docs,
43
+ so problems with the examples are directly visible and can be fixed.
44
+
45
+ The unittests should be run after making changes to the notebooks
46
+ to make sure the code can be executed.
47
+
48
+ ## Build Documentation
49
+ The python requirements for building the documentation are
50
+ ```
51
+ pip install sphinx sphinx-autobuild sphinx_rtd_theme mock
52
+ ```
53
+
54
+ ### Complete Build
55
+ To build the complete API documentation use the build script `make_docs.sh`
56
+ in the `tellurium/docs` folder, which mainly does
57
+
58
+ * removes old `_apidoc` and `_notebook` files
59
+ * creates the `_apidoc` `*.rst` from python source via `sphinx-apidoc`
60
+ * creates the `_notebook` `*.rst` from notebook files in `tellurium/examples/notebooks` (the notebooks are executed, so all the example code in the documentation is run with the latest source)
61
+ * creates the `*.py` code from notebook files in `tellurium/examples/notebook-py` (examples which can be loaded in Tellurium)
62
+ * creates the `html` documentation (analogue to minimal build)
63
+
64
+ ### Minimal Build
65
+ After changes to the `*.rst` files the updated documentation can be build and viewed locally via
66
+ ```
67
+ make html && firefox _build/html/index.html
68
+ ```
69
+ The minimal build just rebuilds the html from the changes in the rst.
70
+ As soon as the changes are committed to the master branch the online documentation on
71
+ http://tellurium.readthedocs.org/en/latest/
72
+ will be updated via a commit hook. The update can take a few minutes.
73
+
74
+ The minimal build does NOT update
75
+ * `tellurium/docs/_apidoc`
76
+ * `tellurium/docs/_notebooks`
77
+
78
+ i.e. this is not sufficient if changes to the notebooks were made.
79
+
80
+
81
+ ## Open Issues
82
+ * API `.. autofunction::` & `automodule:: create` created locally but not on readthedocs.org
83
+ * links between functions in documentation (i.e. hyperlinks between functions for easy navigation in API)
84
+
85
+
86
+ ## Documentation of Python Source Code
87
+ Modules, classes, functions and methods can be documented via their
88
+ respective docstrings in sphinx format (for information see http://www.sphinx-doc.org/en/stable/).
89
+ An example of the sphinx syntax is provided below:
90
+
91
+ ```{python}
92
+ def function(arg1, arg2):
93
+ """Short sentence describing the funtion.
94
+ Here comes a long explanation which describes in detail the function.
95
+ see also: `:func:loadAntimonyModel`
96
+ ::
97
+
98
+ r = loada('S1 -> S2; k1*S1; k1 = 0.1; S2 = 10')
99
+
100
+ :param arg1: parameter is ..
101
+ :param arg2: This parameter is ...
102
+ :returns: describe return object
103
+ """
104
+ return doSomesting(arg1, arg2)
105
+ ```
106
+ Important points are:
107
+ * write one short sentence describing the function at begin of docstring.
108
+ * provide description of arguments via `:param arg1:`
109
+ * provide description of return type via `:returns:`
110
+ * code examples are written via `::` followed by empty line and **intended** code block
111
+
112
+ There are many more options available, see the sphinx documentation for more details.
tellurium/source/docs/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ # -*- coding: utf-8 -*-
tellurium/source/docs/_apidoc/modules.rst ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ tellurium
2
+ =========
3
+
4
+ .. toctree::
5
+ :maxdepth: 4
6
+
7
+ tellurium
tellurium/source/docs/_apidoc/tellurium.analysis.rst ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.analysis package
2
+ ==========================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.analysis.annotations module
8
+ -------------------------------------
9
+
10
+ .. automodule:: tellurium.analysis.annotations
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+ tellurium.analysis.bifurcation module
16
+ -------------------------------------
17
+
18
+ .. automodule:: tellurium.analysis.bifurcation
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ tellurium.analysis.parameterestimation module
24
+ ---------------------------------------------
25
+
26
+ .. automodule:: tellurium.analysis.parameterestimation
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
31
+ tellurium.analysis.parameterscan module
32
+ ---------------------------------------
33
+
34
+ .. automodule:: tellurium.analysis.parameterscan
35
+ :members:
36
+ :undoc-members:
37
+ :show-inheritance:
38
+
39
+ tellurium.analysis.sensitivityanalysis module
40
+ ---------------------------------------------
41
+
42
+ .. automodule:: tellurium.analysis.sensitivityanalysis
43
+ :members:
44
+ :undoc-members:
45
+ :show-inheritance:
46
+
47
+ tellurium.analysis.simulator module
48
+ -----------------------------------
49
+
50
+ .. automodule:: tellurium.analysis.simulator
51
+ :members:
52
+ :undoc-members:
53
+ :show-inheritance:
54
+
55
+ tellurium.analysis.stochasticmodel module
56
+ -----------------------------------------
57
+
58
+ .. automodule:: tellurium.analysis.stochasticmodel
59
+ :members:
60
+ :undoc-members:
61
+ :show-inheritance:
62
+
63
+ tellurium.analysis.test module
64
+ ------------------------------
65
+
66
+ .. automodule:: tellurium.analysis.test
67
+ :members:
68
+ :undoc-members:
69
+ :show-inheritance:
70
+
71
+
72
+ Module contents
73
+ ---------------
74
+
75
+ .. automodule:: tellurium.analysis
76
+ :members:
77
+ :undoc-members:
78
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.dev.deprecated.rst ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.dev.deprecated package
2
+ ================================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.dev.deprecated.tecombine module
8
+ -----------------------------------------
9
+
10
+ .. automodule:: tellurium.dev.deprecated.tecombine
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+ tellurium.dev.deprecated.tephrasedml module
16
+ -------------------------------------------
17
+
18
+ .. automodule:: tellurium.dev.deprecated.tephrasedml
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+
24
+ Module contents
25
+ ---------------
26
+
27
+ .. automodule:: tellurium.dev.deprecated
28
+ :members:
29
+ :undoc-members:
30
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.dev.oven.ndarray.rst ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.dev.oven.ndarray package
2
+ ==================================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.dev.oven.ndarray.ndarray module
8
+ -----------------------------------------
9
+
10
+ .. automodule:: tellurium.dev.oven.ndarray.ndarray
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+
16
+ Module contents
17
+ ---------------
18
+
19
+ .. automodule:: tellurium.dev.oven.ndarray
20
+ :members:
21
+ :undoc-members:
22
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.dev.oven.rst ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.dev.oven package
2
+ ==========================
3
+
4
+ Subpackages
5
+ -----------
6
+
7
+ .. toctree::
8
+
9
+ tellurium.dev.oven.ndarray
10
+
11
+ Submodules
12
+ ----------
13
+
14
+ tellurium.dev.oven.libnuml\_import module
15
+ -----------------------------------------
16
+
17
+ .. automodule:: tellurium.dev.oven.libnuml_import
18
+ :members:
19
+ :undoc-members:
20
+ :show-inheritance:
21
+
22
+
23
+ Module contents
24
+ ---------------
25
+
26
+ .. automodule:: tellurium.dev.oven
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.dev.rst ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.dev package
2
+ =====================
3
+
4
+ Subpackages
5
+ -----------
6
+
7
+ .. toctree::
8
+
9
+ tellurium.dev.deprecated
10
+ tellurium.dev.oven
11
+
12
+ Module contents
13
+ ---------------
14
+
15
+ .. automodule:: tellurium.dev
16
+ :members:
17
+ :undoc-members:
18
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.notebooks.rst ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.notebooks package
2
+ ===========================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.notebooks.notebooktools module
8
+ ----------------------------------------
9
+
10
+ .. automodule:: tellurium.notebooks.notebooktools
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+ tellurium.notebooks.ontologysearch module
16
+ -----------------------------------------
17
+
18
+ .. automodule:: tellurium.notebooks.ontologysearch
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ tellurium.notebooks.parameterslider module
24
+ ------------------------------------------
25
+
26
+ .. automodule:: tellurium.notebooks.parameterslider
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
31
+ tellurium.notebooks.speciessearch module
32
+ ----------------------------------------
33
+
34
+ .. automodule:: tellurium.notebooks.speciessearch
35
+ :members:
36
+ :undoc-members:
37
+ :show-inheritance:
38
+
39
+
40
+ Module contents
41
+ ---------------
42
+
43
+ .. automodule:: tellurium.notebooks
44
+ :members:
45
+ :undoc-members:
46
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.plotting.rst ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.plotting package
2
+ ==========================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.plotting.api module
8
+ -----------------------------
9
+
10
+ .. automodule:: tellurium.plotting.api
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+ tellurium.plotting.engine module
16
+ --------------------------------
17
+
18
+ .. automodule:: tellurium.plotting.engine
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ tellurium.plotting.engine\_mpl module
24
+ -------------------------------------
25
+
26
+ .. automodule:: tellurium.plotting.engine_mpl
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
31
+ tellurium.plotting.engine\_null module
32
+ --------------------------------------
33
+
34
+ .. automodule:: tellurium.plotting.engine_null
35
+ :members:
36
+ :undoc-members:
37
+ :show-inheritance:
38
+
39
+ tellurium.plotting.engine\_plotly module
40
+ ----------------------------------------
41
+
42
+ .. automodule:: tellurium.plotting.engine_plotly
43
+ :members:
44
+ :undoc-members:
45
+ :show-inheritance:
46
+
47
+ tellurium.plotting.factory module
48
+ ---------------------------------
49
+
50
+ .. automodule:: tellurium.plotting.factory
51
+ :members:
52
+ :undoc-members:
53
+ :show-inheritance:
54
+
55
+
56
+ Module contents
57
+ ---------------
58
+
59
+ .. automodule:: tellurium.plotting
60
+ :members:
61
+ :undoc-members:
62
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.roadrunner.rst ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.roadrunner package
2
+ ============================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.roadrunner.extended\_roadrunner module
8
+ ------------------------------------------------
9
+
10
+ .. automodule:: tellurium.roadrunner.extended_roadrunner
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+
16
+ Module contents
17
+ ---------------
18
+
19
+ .. automodule:: tellurium.roadrunner
20
+ :members:
21
+ :undoc-members:
22
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.rst ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium package
2
+ =================
3
+
4
+ Subpackages
5
+ -----------
6
+
7
+ .. toctree::
8
+
9
+ tellurium.analysis
10
+ tellurium.dev
11
+ tellurium.notebooks
12
+ tellurium.plotting
13
+ tellurium.roadrunner
14
+ tellurium.sedml
15
+ tellurium.teconverters
16
+ tellurium.teio
17
+ tellurium.tests
18
+ tellurium.utils
19
+ tellurium.visualization
20
+
21
+ Submodules
22
+ ----------
23
+
24
+ tellurium.tellurium module
25
+ --------------------------
26
+
27
+ .. automodule:: tellurium.tellurium
28
+ :members:
29
+ :undoc-members:
30
+ :show-inheritance:
31
+
32
+ tellurium.temiriam module
33
+ -------------------------
34
+
35
+ .. automodule:: tellurium.temiriam
36
+ :members:
37
+ :undoc-members:
38
+ :show-inheritance:
39
+
40
+ tellurium.testcases module
41
+ --------------------------
42
+
43
+ .. automodule:: tellurium.testcases
44
+ :members:
45
+ :undoc-members:
46
+ :show-inheritance:
47
+
48
+
49
+ Module contents
50
+ ---------------
51
+
52
+ .. automodule:: tellurium
53
+ :members:
54
+ :undoc-members:
55
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.sedml.rst ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.sedml package
2
+ =======================
3
+
4
+ Subpackages
5
+ -----------
6
+
7
+ .. toctree::
8
+
9
+ tellurium.sedml.templates
10
+
11
+ Submodules
12
+ ----------
13
+
14
+ tellurium.sedml.data module
15
+ ---------------------------
16
+
17
+ .. automodule:: tellurium.sedml.data
18
+ :members:
19
+ :undoc-members:
20
+ :show-inheritance:
21
+
22
+ tellurium.sedml.mathml module
23
+ -----------------------------
24
+
25
+ .. automodule:: tellurium.sedml.mathml
26
+ :members:
27
+ :undoc-members:
28
+ :show-inheritance:
29
+
30
+ tellurium.sedml.tesedml module
31
+ ------------------------------
32
+
33
+ .. automodule:: tellurium.sedml.tesedml
34
+ :members:
35
+ :undoc-members:
36
+ :show-inheritance:
37
+
38
+ tellurium.sedml.utils module
39
+ ----------------------------
40
+
41
+ .. automodule:: tellurium.sedml.utils
42
+ :members:
43
+ :undoc-members:
44
+ :show-inheritance:
45
+
46
+ tellurium.sedml.xpath module
47
+ ----------------------------
48
+
49
+ .. automodule:: tellurium.sedml.xpath
50
+ :members:
51
+ :undoc-members:
52
+ :show-inheritance:
53
+
54
+
55
+ Module contents
56
+ ---------------
57
+
58
+ .. automodule:: tellurium.sedml
59
+ :members:
60
+ :undoc-members:
61
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.sedml.templates.rst ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.sedml.templates package
2
+ =================================
3
+
4
+ Module contents
5
+ ---------------
6
+
7
+ .. automodule:: tellurium.sedml.templates
8
+ :members:
9
+ :undoc-members:
10
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.teconverters.rst ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.teconverters package
2
+ ==============================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.teconverters.antimony\_regex module
8
+ ---------------------------------------------
9
+
10
+ .. automodule:: tellurium.teconverters.antimony_regex
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+ tellurium.teconverters.antimony\_sbo module
16
+ -------------------------------------------
17
+
18
+ .. automodule:: tellurium.teconverters.antimony_sbo
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ tellurium.teconverters.convert\_antimony module
24
+ -----------------------------------------------
25
+
26
+ .. automodule:: tellurium.teconverters.convert_antimony
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
31
+ tellurium.teconverters.convert\_omex module
32
+ -------------------------------------------
33
+
34
+ .. automodule:: tellurium.teconverters.convert_omex
35
+ :members:
36
+ :undoc-members:
37
+ :show-inheritance:
38
+
39
+ tellurium.teconverters.convert\_phrasedml module
40
+ ------------------------------------------------
41
+
42
+ .. automodule:: tellurium.teconverters.convert_phrasedml
43
+ :members:
44
+ :undoc-members:
45
+ :show-inheritance:
46
+
47
+ tellurium.teconverters.inline\_omex module
48
+ ------------------------------------------
49
+
50
+ .. automodule:: tellurium.teconverters.inline_omex
51
+ :members:
52
+ :undoc-members:
53
+ :show-inheritance:
54
+
55
+
56
+ Module contents
57
+ ---------------
58
+
59
+ .. automodule:: tellurium.teconverters
60
+ :members:
61
+ :undoc-members:
62
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.teio.rst ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.teio package
2
+ ======================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.teio.latex module
8
+ ---------------------------
9
+
10
+ .. automodule:: tellurium.teio.latex
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+
16
+ Module contents
17
+ ---------------
18
+
19
+ .. automodule:: tellurium.teio
20
+ :members:
21
+ :undoc-members:
22
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.tests.rst ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.tests package
2
+ =======================
3
+
4
+ Subpackages
5
+ -----------
6
+
7
+ .. toctree::
8
+
9
+ tellurium.tests.sedml
10
+ tellurium.tests.testdata
11
+
12
+ Submodules
13
+ ----------
14
+
15
+ tellurium.tests.helpers module
16
+ ------------------------------
17
+
18
+ .. automodule:: tellurium.tests.helpers
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ tellurium.tests.test\_API module
24
+ --------------------------------
25
+
26
+ .. automodule:: tellurium.tests.test_API
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
31
+ tellurium.tests.test\_analysis module
32
+ -------------------------------------
33
+
34
+ .. automodule:: tellurium.tests.test_analysis
35
+ :members:
36
+ :undoc-members:
37
+ :show-inheritance:
38
+
39
+ tellurium.tests.test\_examples module
40
+ -------------------------------------
41
+
42
+ .. automodule:: tellurium.tests.test_examples
43
+ :members:
44
+ :undoc-members:
45
+ :show-inheritance:
46
+
47
+ tellurium.tests.test\_inline\_omex module
48
+ -----------------------------------------
49
+
50
+ .. automodule:: tellurium.tests.test_inline_omex
51
+ :members:
52
+ :undoc-members:
53
+ :show-inheritance:
54
+
55
+ tellurium.tests.test\_io module
56
+ -------------------------------
57
+
58
+ .. automodule:: tellurium.tests.test_io
59
+ :members:
60
+ :undoc-members:
61
+ :show-inheritance:
62
+
63
+ tellurium.tests.test\_omex module
64
+ ---------------------------------
65
+
66
+ .. automodule:: tellurium.tests.test_omex
67
+ :members:
68
+ :undoc-members:
69
+ :show-inheritance:
70
+
71
+ tellurium.tests.test\_plotting module
72
+ -------------------------------------
73
+
74
+ .. automodule:: tellurium.tests.test_plotting
75
+ :members:
76
+ :undoc-members:
77
+ :show-inheritance:
78
+
79
+ tellurium.tests.test\_runner module
80
+ -----------------------------------
81
+
82
+ .. automodule:: tellurium.tests.test_runner
83
+ :members:
84
+ :undoc-members:
85
+ :show-inheritance:
86
+
87
+ tellurium.tests.test\_tellurium module
88
+ --------------------------------------
89
+
90
+ .. automodule:: tellurium.tests.test_tellurium
91
+ :members:
92
+ :undoc-members:
93
+ :show-inheritance:
94
+
95
+ tellurium.tests.test\_temiriam module
96
+ -------------------------------------
97
+
98
+ .. automodule:: tellurium.tests.test_temiriam
99
+ :members:
100
+ :undoc-members:
101
+ :show-inheritance:
102
+
103
+
104
+ Module contents
105
+ ---------------
106
+
107
+ .. automodule:: tellurium.tests
108
+ :members:
109
+ :undoc-members:
110
+ :show-inheritance:
tellurium/source/docs/_apidoc/tellurium.tests.sedml.rst ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tellurium.tests.sedml package
2
+ =============================
3
+
4
+ Submodules
5
+ ----------
6
+
7
+ tellurium.tests.sedml.test\_archive module
8
+ ------------------------------------------
9
+
10
+ .. automodule:: tellurium.tests.sedml.test_archive
11
+ :members:
12
+ :undoc-members:
13
+ :show-inheritance:
14
+
15
+ tellurium.tests.sedml.test\_data module
16
+ ---------------------------------------
17
+
18
+ .. automodule:: tellurium.tests.sedml.test_data
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ tellurium.tests.sedml.test\_kisao module
24
+ ----------------------------------------
25
+
26
+ .. automodule:: tellurium.tests.sedml.test_kisao
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
31
+ tellurium.tests.sedml.test\_omex module
32
+ ---------------------------------------
33
+
34
+ .. automodule:: tellurium.tests.sedml.test_omex
35
+ :members:
36
+ :undoc-members:
37
+ :show-inheritance:
38
+
39
+ tellurium.tests.sedml.test\_phrasedml module
40
+ --------------------------------------------
41
+
42
+ .. automodule:: tellurium.tests.sedml.test_phrasedml
43
+ :members:
44
+ :undoc-members:
45
+ :show-inheritance:
46
+
47
+ tellurium.tests.sedml.test\_sedml module
48
+ ----------------------------------------
49
+
50
+ .. automodule:: tellurium.tests.sedml.test_sedml
51
+ :members:
52
+ :undoc-members:
53
+ :show-inheritance:
54
+
55
+ tellurium.tests.sedml.test\_tesedml module
56
+ ------------------------------------------
57
+
58
+ .. automodule:: tellurium.tests.sedml.test_tesedml
59
+ :members:
60
+ :undoc-members:
61
+ :show-inheritance:
62
+
63
+
64
+ Module contents
65
+ ---------------
66
+
67
+ .. automodule:: tellurium.tests.sedml
68
+ :members:
69
+ :undoc-members:
70
+ :show-inheritance: