Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,13 @@
uv.lock
site/
**__pycache__**
.qodo
.aider*
.DS_Store
.ipynb_checkpoints
.claude
.ruff_cache
.vscode/
.venv/
*.egg-info/
*.egg
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,23 @@ repos:
rev: v5.0.0
hooks:
- id: check-yaml
exclude: ^data/
- id: check-json
exclude: ^data/
- id: check-toml
exclude: ^data/
- id: end-of-file-fixer
exclude: ^data/
- id: trailing-whitespace
exclude: ^data/

- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.8.6
hooks:
# Run the linter.
- id: ruff
exclude: ^data/
# Run the formatter.
- id: ruff-format
exclude: ^data/
114 changes: 114 additions & 0 deletions data/FluxML-Test/antoniewicz_mininetwork.fml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<fluxml xmlns="http://www.13cflux.net/fluxml">
<info>
<name>Antoniewicz test network</name>
<version>1.0</version>
<date>2007-10-09 00:00:00</date>
<comment>Network from the EMU paper</comment>
</info>
<reactionnetwork>
<metabolitepools>
<pool atoms="3" id="A"/>
<pool atoms="3" id="B"/>
<pool atoms="2" id="C"/>
<pool atoms="3" id="D"/>
<pool atoms="1" id="E"/>
<pool atoms="3" id="F"/>
<!-- <pool id="X" atoms="4"/> -->
</metabolitepools>
<reaction id="v1">
<reduct cfg="abc" id="A"/>
<rproduct cfg="abc" id="B"/>
</reaction>
<reaction id="v2">
<reduct cfg="abc" id="B"/>
<rproduct cfg="abc" id="D"/>
</reaction>
<reaction id="v3">
<reduct cfg="abc" id="D"/>
<rproduct cfg="abc" id="B"/>
</reaction>
<reaction id="v4">
<reduct cfg="abc" id="B"/>
<rproduct cfg="bc" id="C"/>
<rproduct cfg="a" id="E"/>
</reaction>
<!-- -->
<reaction bidirectional="false" id="v5">
<reduct cfg="abc" id="B"/>
<reduct cfg="de" id="C"/>
<rproduct cfg="bcd" id="D"/>
<rproduct cfg="a" id="E"/>
<rproduct cfg="e" id="E"/>
</reaction>
<!-- -->
<!--
<reaction id="v5_1">
<reduct id="B" cfg="abc"/>
<reduct id="C" cfg="de"/>
<rproduct id="X" cfg="bcda"/>
<rproduct id="E" cfg="e"/>
</reaction>
<reaction id="v5_2">
<reduct id="X" cfg="bcda"/>
<rproduct id="D" cfg="bcd"/>
<rproduct id="E" cfg="a"/>
</reaction>
-->
<reaction bidirectional="false" id="v6">
<reduct cfg="abc" id="D"/>
<rproduct cfg="abc" id="F"/>
</reaction>
<reaction id="efflux_E">
<reduct cfg="a" id="E"/>
</reaction>
<reaction id="efflux_F">
<reduct cfg="abc" id="F"/>
</reaction>
</reactionnetwork>
<configuration name="default">
<comment>Eine Belegung für die Input-Pools</comment>
<input pool="A" type="isotopomer">
<!-- <label cfg="010">1</label> -->
<label cfg="010">1.0</label>
</input>
<constraints>
<net>
<textual>v2 &gt;= v3; v1=100;</textual>
</net>
<xch>
<textual>v2=0; v3=0; v5=0; v6=0; v4=0</textual>
</xch>
</constraints>
<measurement>
<model stationary="true">
<labelingmeasurement>
<group id="m1" scale="one">
<textual>F#M0,1,2,3</textual>
</group>
</labelingmeasurement>
</model>
<data>
<datum id="m1" stddev="0.003" weight="0">0.0001</datum>
<datum id="m1" stddev="0.003" weight="1">0.8008</datum>
<datum id="m1" stddev="0.003" weight="2">0.1983</datum>
<datum id="m1" stddev="0.003" weight="3">0.0009</datum>
</data>
</measurement>
<!-- <simulation type="full" method="cumomer"> -->
<!-- <simulation type="auto" method="cumomer"> -->
<!-- <simulation type="full" method="emu"> -->
<!-- <simulation type="auto" method="emu"> -->
<!-- <simulation type="explicit" method="emu"> -->
<simulation>
<!-- <objects>
<obj pool="F" range="2"/>
</objects> -->
<variables>
<fluxvalue flux="v2" type="net">110</fluxvalue>
<fluxvalue flux="v4" type="net">20</fluxvalue>
</variables>
</simulation>
</configuration>
</fluxml>
<!-- vim:set shiftwidth=2:set expandtab: -->
91 changes: 91 additions & 0 deletions data/FluxML-Test/beispiel.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<measurement xmlns="http://www.uni-siegen.de/fb11/simtec/13cflux/mm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.uni-siegen.de/fb11/simtec/13cflux/mm http://www.uni-siegen.de/fb11/simtec/13cflux/mm.xsd">
<mlabel>
<!-- alle Unterelemente optional: -->
<date>2007-05-15 11:11:11</date>
<version>1.0</version>
<comment>kein Kommentar</comment>
<fluxunit>gigamol/year</fluxunit>
<poolsizeunit>gigamol</poolsizeunit>
</mlabel>
<model stationary="false">
<labelingmeasurement>
<MSgroup id="ms_1" spec="Blubb[1-3,5,6]#M0,1,2" times="0.01 0.2 0.3"/>
<MSMSgroup id="msms_1" spec="Bla[1-3:2-3]#M(3,0),(3,1),(3,2)" times="0.2" scale="one"/>
<NMR1Hgroup id="nmr1h_1" spec="Frupp#P1,2" times="0.022 0.033"/>
<NMR13Cgroup id="nmr13c_1" spec="Flapp#S1,T1,3" times="0.9"/>
<group id="gen_1" times="0.1">
<!-- mehrere Zeilen mit Formeln. Jede Zeile nur Ausdrücke der Dimension 1
Alle(!) Typen erlaubt -->
<textual>
0.7*Frup#M3 + Frup#1x0x1 - 1/3*Bla#111x + 1.414213562e-7*Gamma#xxx1 - 3.1415;
Gonzo#1xx - 3*Kermit#xxx * MissPiggy#xxx1
</textual>
</group>
</labelingmeasurement>

<fluxmeasurement>
<!-- times ist hier vorerst immer optional?! -->
<netflux id="fn_1" fluxes="upt1 blupt2" times="10.0"/>
<xchflux id="fx_1" fluxes="upt1 blupt2" times="10.0"/>
</fluxmeasurement>

<poolmeasurement>
<!-- times ist hier vorerst immer optional?! -->
<pgroup id="p_1" pools="Gluc PEP" times="0.1 13"/>
</poolmeasurement>

<fluxratios>
<!-- times ist hier vorerst immer optional?! -->
<netratio id="frn_1" times="0.01 0.2 0.815">(bla/flupp)=(bläh/blubb)</netratio>
<xchratio id="frx_1" times="0.01 0.2">blöd/upt=upt/blubb</xchratio>
</fluxratios>
</model>
<data id="versuch_1">
<dlabel>
<start>2007-05-15 11:11:11</start>
<finish>2007-05-15 11:11:12</finish>
<people>Michael</people>
<strain>Drosophila coli K42</strain>
<comment>blabla bla flupp frupp</comment>
</dlabel>
<!-- MS-Messung ms_1: -->
<datum id="ms_1" time="0.01" stddev="0.1" weight="0">4.321</datum>
<datum id="ms_1" time="0.01" stddev="0.2" weight="1">1.234</datum>
<datum id="ms_1" time="0.01" stddev="0.3" weight="2">1.234</datum>
<datum id="ms_1" time="0.2" stddev="0.4" weight="0">5.432</datum>
<datum id="ms_1" time="0.2" stddev="0.5" weight="1">2.345</datum>
<datum id="ms_1" time="0.2" stddev="0.6" weight="2">2.345</datum>
<datum id="ms_1" time="0.3" stddev="0.7" weight="0">6.543</datum>
<datum id="ms_1" time="0.3" stddev="0.8" weight="1">3.456</datum>
<datum id="ms_1" time="0.3" stddev="0.9" weight="2">3.456</datum>

<!-- MSMS-Messung msms_1: -->
<datum id="msms_1" time="0.2" stddev="0.01" weight="3,0">0.001</datum>
<datum id="msms_1" time="0.2" stddev="0.11" weight="3,1">0.002</datum>
<datum id="msms_1" time="0.2" stddev="0.21" weight="3,2">0.003</datum>

<!-- 1H-NMR-Messung nmr1h_1: -->
<datum id="nmr1h_1" time="0.022" stddev="0.31" pos="1">0.11</datum>
<datum id="nmr1h_1" time="0.022" stddev="0.41" pos="2">0.12</datum>
<datum id="nmr1h_1" time="0.033" stddev="0.51" pos="1">0.13</datum>
<datum id="nmr1h_1" time="0.033" stddev="0.61" pos="2">0.14</datum>

<!-- 13C-NMR-Messung nmr13c_1: -->
<datum id="nmr13c_1" time="0.9" stddev="0.71" pos="1" type="S">0.15</datum>
<datum id="nmr13c_1" time="0.9" stddev="0.81" pos="1" type="T">0.16</datum>
<datum id="nmr13c_1" time="0.9" stddev="0.91" pos="3" type="T">0.17</datum>

<!-- generische Messung gen_1 -->
<datum id="gen_1" row="1" time="0.1" stddev="0.02">0.111111</datum>
<datum id="gen_1" row="2" time="0.1" stddev="0.12">0.222222</datum>

<!-- Flussmessungen fn_1, fx_1: -->
<datum id="fn_1" time="10.0" stddev="0.22">9.81</datum>
<datum id="fx_1" time="10.0" stddev="0.32">3.14</datum>

<!-- Poolmessung p_1: -->
<datum id="p_1" time=".1" stddev="0.42">1.41</datum>
<datum id="p_1" time="13" stddev="0.52">2.82</datum>
</data>
</measurement>
83 changes: 83 additions & 0 deletions data/FluxML-Test/beispiel_stat.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<measurement xmlns="http://www.uni-siegen.de/fb11/simtec/13cflux/mm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.uni-siegen.de/fb11/simtec/13cflux/mm http://www.uni-siegen.de/fb11/simtec/13cflux/mm.xsd">
<mlabel>
<!-- alle Unterelemente optional: -->
<date>2007-05-15 11:11:11</date>
<version>1.0</version>
<comment>kein Kommentar</comment>
<fluxunit>gigamol/year</fluxunit>
<poolsizeunit>gigamol</poolsizeunit>
</mlabel>
<model stationary="true">
<labelingmeasurement>
<MSgroup id="ms_1" spec="Blubb[1-3,5,6]#M0,1,2"/>
<MSMSgroup id="msms_1" spec="Bla[1-3:2-3]#M(3,0),(3,1),(3,2)" scale="one"/>
<NMR1Hgroup id="nmr1h_1" spec="Frupp#P1,2"/>
<NMR13Cgroup id="nmr13c_1" spec="Flapp#S1,T1,3"/>
<group id="gen_1">
<!-- mehrere Zeilen mit Formeln. Jede Zeile nur Ausdrücke der Dimension 1
Alle(!) Typen erlaubt -->
<textual>
0.7*Frup#xx01x - 1/3*Bla#111x + 1.414213562e-7*Gamma#xxx1 - 3.1415;
Gonzo#1xx - 3*Kermit#xxx * MissPiggy#xxx1
</textual>
</group>
</labelingmeasurement>

<fluxmeasurement>
<!-- times ist hier vorerst immer optional?! -->
<netflux id="fn_1" fluxes="upt1 blupt2"/>
<xchflux id="fx_1" fluxes="upt1 blupt2"/>
</fluxmeasurement>

<poolmeasurement>
<!-- times ist hier vorerst immer optional?! -->
<pgroup id="p_1" pools="Gluc PEP"/>
</poolmeasurement>

<fluxratios>
<!-- times ist hier vorerst immer optional?! -->
<netratio id="frn_1">(bla/flupp)=(bläh/blubb)</netratio>
<xchratio id="frx_1">blöd/upt=upt/blubb</xchratio>
</fluxratios>
</model>
<data id="versuch_1">
<dlabel>
<start>2007-05-15 11:11:11</start>
<finish>2007-05-15 11:11:12</finish>
<people>Michael</people>
<strain>Drosophila coli K42</strain>
<comment>blabla bla flupp frupp</comment>
</dlabel>
<!-- MS-Messung ms_1: -->
<datum id="ms_1" stddev="0.1" weight="0">4.321</datum>
<datum id="ms_1" stddev="0.2" weight="1">1.234</datum>
<datum id="ms_1" stddev="0.3" weight="2">1.234</datum>

<!-- MSMS-Messung msms_1: -->
<datum id="msms_1" stddev="0.01" weight="3,0">0.001</datum>
<datum id="msms_1" stddev="0.11" weight="3,1">0.002</datum>
<datum id="msms_1" stddev="0.21" weight="3,2">0.003</datum>

<!-- 1H-NMR-Messung nmr1h_1: -->
<datum id="nmr1h_1" stddev="0.31" pos="1">0.11</datum>
<datum id="nmr1h_1" stddev="0.41" pos="2">0.12</datum>

<!-- 13C-NMR-Messung nmr13c_1: -->
<datum id="nmr13c_1" stddev="0.71" pos="1" type="S">0.15</datum>
<datum id="nmr13c_1" stddev="0.81" pos="1" type="T">0.16</datum>
<datum id="nmr13c_1" stddev="0.91" pos="3" type="T">0.17</datum>

<!-- generische Messung gen_1 -->
<datum id="gen_1" row="1" stddev="0.02">0.111111</datum>
<datum id="gen_1" row="2" stddev="0.12">0.222222</datum>

<!-- Flussmessungen fn_1, fx_1: -->
<datum id="fn_1" stddev="0.22">9.81</datum>
<datum id="fx_1" stddev="0.32">3.14</datum>

<!-- Poolmessung p_1: -->
<datum id="p_1" stddev="0.42">1.41</datum>
<datum id="p_1" stddev="0.52">2.82</datum>
</data>
</measurement>
Loading
Loading