Skip to content

Commit ccf0e2b

Browse files
committed
Add a corpus regression gate: parse_bngl vs a cached BNG2.pl golden
Asserts parse_bngl enumerates the same model entities BNG2.pl does, over 21 curated public community BNGL models (RuleHub, BNGL-Models) under tests/v1/bngl_corpus/. BNG2.pl's answers are cached in golden.json -- the entity name sets it emits from `writeModel` (its canonical parse, no network generation) -- so the test needs NO BNG2.pl and runs anywhere; it compares the reader against the frozen oracle. Seed species are compared by molecule composition to absorb BNG2.pl's pattern canonicalization (t vs t(), component reordering, @compartment prefix vs suffix). The models exercise every hardened reader path: line continuations, indexed and labeled declarations, block aliases, the $ clamp, compartmental BNGL, energy patterns, states/bonds, component reordering, bare-molecule seed species. The golden is regenerated deliberately (needs BNG2.pl) via `python tests/v1/test_bngl_corpus.py` and reviewed as a diff. Mirrors PyBNF's live-BNG2.pl gate (lanl/PyBNF); validated there over the full 895-model bng_parity corpus (894/894 BNG2.pl-accepted models agree). ruff clean; 21 passed without BNG2.pl. Refs: PEtab-dev/PEtab#436.
1 parent 74ec6f2 commit ccf0e2b

24 files changed

Lines changed: 4274 additions & 0 deletions

tests/v1/bngl_corpus/An_2009.bngl

Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
begin parameters
2+
LPS_MD2_Bind 0.001
3+
LPS_MD2_Unbind 0.1
4+
LPS_CD14_Bind 0.001
5+
LPS_CD14_Unbind 0.1
6+
CD14_MD2_Bind 0.001
7+
CD14_MD2_Unbind 0.1
8+
LPS_TLR4_Bind 0.001
9+
LPS_TLR4_Unbind 0.1
10+
CD14_TLR4_Bind 0.001
11+
CD14_TLR4_Unbind 0.1
12+
MD2_TLR4_Bind 0.001
13+
MD2_TLR4_Unbind 0.1
14+
TLR4_Complex_Dimer_Bind 0.001
15+
TLR4_Complex_Dimer_Unbind 0.1
16+
RP1_TRIF_Bind 0.001
17+
RP1_TRIF_Unbind 0.1
18+
TRIF_TRAF6_Bind 0.001
19+
TRIF_TRAF6_Unbind 0.1
20+
RP1_TRAF6_Bind 0.001
21+
RP1_TRAF6_Unbind 0.1
22+
TLR4_TRAM_Bind 0.001
23+
TLR4_TRAM_Unbind 0.1
24+
TLR4TRAM_TRIF_Bind 0.001
25+
TLR4TRAM_TRIF_Unbind 0.1
26+
TRAF6_TRIF_Bind 0.001
27+
TRAF6_TRIF_Unbind 0.1
28+
TRAF6TRIF_TAK1_Activate 0.001
29+
MyD88_IRAK4_Bind 0.001
30+
MyD88_IRAK4_Unbind 0.1
31+
MyD88_IRAK1_Bind 0.001
32+
MyD88_IRAK1_Unbind 0.1
33+
IRAK1_IRAK4_Bind 0.001
34+
IRAK1_IRAK4_Unbind 0.1
35+
TLR4_MAL_Bind 0.001
36+
TLR4_MAL_Unbind 0.1
37+
TLR4MAL_MyD88_Bind 0.001
38+
TLR4MAL_MyD88_Unbind 0.1
39+
MyD88IRAK1_TRAF6_Bind 0.001
40+
MyD88IRAK1_TRAF6_B_Unbind 0.1
41+
MyD88IRAK1TRAF6_TAK1_Activate 0.001
42+
TRAF6_MyD88IRAK1_Bind 0.001
43+
TRAF6_MyD88IRAK1_Unbind 0.1
44+
TAK1_Ikk_Complex_Activate 0.001
45+
Ikk_complex_IkB_Phos 0.00001
46+
IkB_Proteasome23_Degrade 0.1
47+
p65_p50_Bind 0.001
48+
p65_p50_Unbind 0.1
49+
NFkB_DNA_A20_Bind 0.001
50+
A20_Transcription_Execute 1
51+
A20_TRAF6_Bind 0.001
52+
A20_TRAF6_Unbind 0.1
53+
NFkB_DNA_A20_Unbind 0.1
54+
NFkB_DNA_TNF_Bind 0.001
55+
NFkB_DNA_TNF_Unbind 0.1
56+
TNF_Transcription_Execute 1
57+
CD14_Init 10000
58+
MD2_Init 10000
59+
TLR_Init 10000
60+
LPS_Init 100
61+
TRAM_Init 10000
62+
MAL_Init 10000
63+
TRIF_Init 10000
64+
MyD88_Init 10000
65+
RP1_Init 10000
66+
IRAK1_Init 10000
67+
IRAK4_Init 10000
68+
TRAF6_Init 10000
69+
TAK1_Init 10000
70+
Ikk_Complex_Init 10000
71+
Proteasome23_Init 10000
72+
p65_Init 10000
73+
IkB_Init 10000
74+
p50_Init 10000
75+
DNA 2
76+
A20_Translation_Execute 0.1
77+
TNF_Translation_Execute 0.1
78+
TAK1_Degradation 0
79+
NFkB_Degredation 0
80+
A20_MyD88IRAK1TRAF6_Degrade 10
81+
A20_TRAF6TRIFRP1_Degrade 10
82+
A20_Init 0
83+
A20_Preconditioned 0
84+
Ikk_Degradation_Rate 0
85+
NFkB_DNA_IkB_Bind 0.001
86+
NFkB_DNA_IkB_Unbind 0.01
87+
IkB_Transcription_Execute 1
88+
IkB_Translation_Execute 0.1
89+
A20_IkkAct_Deactivate 10
90+
IkB_DegradeNFkB 0.001
91+
NFkB_Inactive_Cytoplasm 10000
92+
NFkB_IkB_Bind 0.001
93+
NFkB_Translocation_Nucleus 0.01
94+
NFkB_IkB_Unbind 0.0001
95+
TAK1_Deactivation 0.10
96+
Ikk_Deactivation 0
97+
TNF_Degrade 0.0005
98+
A20_Degrade 0.0001
99+
end parameters
100+
101+
begin molecule types
102+
CD14(TLR4,MD2,LPS)
103+
MD2(CD14,TLR4,LPS)
104+
TLR4(MAL,TRAM,TLR4,CD14,MD2,LPS)
105+
TRAM(TLR4,TRIF)
106+
TRIF(TRAM,TRAF6,RIP1,TRAF4,SARM)
107+
SARM(TRIF)
108+
TRAF4(TRAF6,TAK1,TRIF)
109+
IRAK1(IRAK4,MyD88,Tollip,TRAF6)
110+
Tollip(IRAK1)
111+
IRAK4(Myd88,IRAKM,IRAK1)
112+
IRAKM(IRAK4)
113+
RP1(TRIF,TRAF6,TAK1,p38)
114+
TRAF6(IRAK1,TRIF,RP1,TAK1,TRAF4,A20,JNK,p38)
115+
A20(TRAF6)
116+
MyD88(MAL,IRAK1,IRAK4,MyD88s)
117+
MyD88s(MyD88,IRAK1)
118+
MAL(TLR4,MyD88,SOCS1)
119+
LPS(MD2,TLR4,CD14,LPS)
120+
TAK1(TRAF6,Activation~No~Yes)
121+
Ikk_Complex(Activation~No~Yes)
122+
IkB(Phos~No~Yes,p65,p50,Degrade~No~Yes)
123+
Proteasome26s(IkB)
124+
TNF(TNFr)
125+
TNFmRNA(Translation~On~Off)
126+
A20mRNA(Translation~On~Off)
127+
iNOSmRNA(Translation~On~Off)
128+
IkBmRNA(Translation~On~Off)
129+
DNA(A20,TNF,iNOS,IL10,IkB,c,c)
130+
Trash(c)
131+
Administer(c)
132+
NFkB(Transcription~No~Yes,Activation~No~Yes,Location~Cytoplasm~Nucleus)
133+
end molecule types
134+
135+
begin seed species
136+
CD14: CD14(TLR4,MD2,LPS) CD14_Init
137+
MD2: MD2(CD14,TLR4,LPS) MD2_Init
138+
TLR4: TLR4(MAL,TRAM,TLR4,CD14,MD2,LPS) TLR_Init
139+
TRAM: TRAM(TLR4,TRIF) TRAM_Init
140+
MAL: MAL(TLR4,MyD88,SOCS1) MAL_Init
141+
TRIF: TRIF(TRAM,TRAF6,RIP1,SARM,TRAF4) TRIF_Init
142+
MyD88: MyD88(MAL,IRAK1,IRAK4,MyD88s) MyD88_Init
143+
RP1: RP1(TRIF,TRAF6,TAK1,p38) RP1_Init
144+
IRAK1: IRAK1(IRAK4,MyD88,Tollip,TRAF6) IRAK1_Init
145+
IRAK4: IRAK4(Myd88,IRAKM,IRAK1) IRAK4_Init
146+
TRAF6: TRAF6(IRAK1,TRIF,RP1,TAK1,TRAF4,A20,JNK,p38) TRAF6_Init
147+
TAK1: TAK1(TRAF6,Activation~No) TAK1_Init
148+
Ikk_Complex: Ikk_Complex(Activation~No) Ikk_Complex_Init
149+
Proteasome23: Proteasome26s(IkB) Proteasome23_Init
150+
IkB: IkB(Phos~No,p65,p50,Degrade~No) IkB_Init
151+
DNA: DNA(A20,TNF,iNOS,IL10,IkB,c,c) DNA
152+
LPS: LPS(MD2,TLR4,CD14,LPS) LPS_Init
153+
A20: A20(TRAF6) A20_Preconditioned
154+
NFkB_Inactive_Cytoplasm: NFkB(Transcription~No,Activation~No,Location~Cytoplasm) NFkB_Inactive_Cytoplasm
155+
end seed species
156+
157+
begin reaction rules
158+
LPS_MD2: LPS(MD2,TLR4,CD14,LPS)+MD2(CD14,TLR4,LPS)<->LPS(MD2!0,TLR4,CD14,LPS).MD2(CD14,TLR4,LPS!0) LPS_MD2_Bind,LPS_MD2_Unbind
159+
LPS_MD2_CD14: LPS(MD2!0,TLR4,CD14,LPS).MD2(CD14,TLR4,LPS!0)+CD14(TLR4,MD2,LPS)<->LPS(MD2!0,TLR4,CD14!1,LPS).MD2(CD14,TLR4,LPS!0).CD14(TLR4,MD2,LPS!1) LPS_CD14_Bind,LPS_CD14_Unbind
160+
LPS_MD2_CD14_TLR4: LPS(MD2!0,TLR4,CD14!1,LPS).MD2(CD14,TLR4,LPS!0).CD14(TLR4,MD2,LPS!1) + TLR4(MAL,TRAM,TLR4,CD14,MD2,LPS) <-> LPS(MD2!0,TLR4!2,CD14!1,LPS).MD2(CD14!3,TLR4!4,LPS!0).CD14(TLR4!5,MD2!3,LPS!1).TLR4(MAL,TRAM,TLR4,CD14!5,MD2!4,LPS!2) LPS_TLR4_Bind,LPS_TLR4_Unbind
161+
TLR4_Dimerization: TLR4(TLR4,CD14!+,LPS!+,MD2!+)+TLR4(TLR4,CD14!+,MD2!+,LPS!+)<->TLR4(TLR4!0,CD14!+,LPS!+,MD2!+).TLR4(TLR4!0,CD14!+,LPS!+,MD2!+) TLR4_Complex_Dimer_Bind,TLR4_Complex_Dimer_Unbind
162+
TLR4_TRAM: TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL)+TRAM(TLR4,TRIF)<->TRAM(TLR4!0,TRIF).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM!0,MAL) TLR4_TRAM_Bind,TLR4_TRAM_Unbind
163+
TLR4TRAM_TRIF: TRAM(TLR4!0,TRIF).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM!0,MAL)+TRIF(TRAM,TRAF6!+,RIP1!+,TRAF4,SARM)<->TRAM(TLR4!0,TRIF!1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM!0,MAL).TRIF(TRAM!1,TRAF6!+,RIP1!+,TRAF4,SARM) TLR4TRAM_TRIF_Bind,TLR4TRAM_TRIF_Unbind
164+
TLR4TRAMTRIFTRAF6_TAK1: TRAM(TLR4!0,TRIF!1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM!0,MAL).TRIF(TRAM!1,TRAF6!+,RIP1!+,TRAF4,SARM)+TAK1(TRAF6,Activation~No)->TRAM(TLR4!0,TRIF!1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM!0,MAL).TRIF(TRAM!1,TRAF6!+,RIP1!+,TRAF4,SARM)+TAK1(TRAF6,Activation~Yes) TRAF6TRIF_TAK1_Activate
165+
MyD88_IRAK4: MyD88(MAL,IRAK1,IRAK4,MyD88s)+IRAK4(Myd88,IRAKM,IRAK1)<->MyD88(MAL,IRAK1,IRAK4!0,MyD88s).IRAK4(Myd88!0,IRAKM,IRAK1) MyD88_IRAK4_Bind,MyD88_IRAK4_Unbind
166+
MyD88_IRAK1: MyD88(MAL,IRAK1,IRAK4!0,MyD88s).IRAK4(Myd88!0,IRAKM,IRAK1)+IRAK1(IRAK4,MyD88,Tollip,TRAF6)<->IRAK1(IRAK4,MyD88!0,Tollip,TRAF6).MyD88(MAL,IRAK1!0,IRAK4!1,MyD88s).IRAK4(Myd88!1,IRAKM,IRAK1) MyD88_IRAK1_Bind,MyD88_IRAK1_Unbind
167+
TNF_Translation: TNFmRNA(Translation~On)->TNFmRNA(Translation~Off)+TNF(TNFr) TNF_Translation_Execute
168+
A20_Translation: A20mRNA(Translation~On)->A20mRNA(Translation~Off)+A20(TRAF6) A20_Translation_Execute
169+
TAK1_Degrade: TAK1(TRAF6,Activation~Yes)->Trash(c) TAK1_Degradation
170+
TLR4_MAL: TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL)+MAL(TLR4,MyD88,SOCS1)<->TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!0).MAL(SOCS1,TLR4!0,MyD88) TLR4_MAL_Bind,TLR4_MAL_Unbind
171+
172+
TLR4MAL_MyD88: TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!0).MAL(TLR4!0,MyD88,SOCS1) + IRAK1(IRAK4,MyD88!2,Tollip,TRAF6).MyD88(MAL,IRAK1!2,IRAK4!1,MyD88s).IRAK4(Myd88!1,IRAKM,IRAK1) <-> TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!0).MAL(TLR4!0,MyD88!4,SOCS1).IRAK1(IRAK4,MyD88!2,Tollip,TRAF6).MyD88(MAL!4,IRAK1!2,IRAK4!3,MyD88s).IRAK4(Myd88!3,IRAKM,IRAK1) TLR4MAL_MyD88_Bind,TLR4MAL_MyD88_Unbind
173+
MyD88IRAK1_TRAF6: TRAF6(IRAK1,TRIF,RP1,TRAF4,A20,JNK,p38,TAK1)+TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!0).MAL(TLR4!0,MyD88!1,SOCS1).IRAK1(IRAK4,MyD88!2,Tollip,TRAF6).MyD88(MAL!1,IRAK1!2,IRAK4!3,MyD88s).IRAK4(Myd88!3,IRAKM,IRAK1)<->TRAF6(IRAK1!4,TRIF,RP1,TRAF4,A20,JNK,p38,TAK1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!0).MAL(TLR4!0,MyD88!1,SOCS1).IRAK1(IRAK4,MyD88!2,Tollip,TRAF6!4).MyD88(MAL!1,IRAK1!2,IRAK4!3,MyD88s).IRAK4(Myd88!3,IRAKM,IRAK1) MyD88IRAK1_TRAF6_Bind,MyD88IRAK1_TRAF6_B_Unbind
174+
175+
A20_MyD88IRAK1TRAF6: TRAF6(IRAK1!0,TRIF,RP1,TRAF4,A20,JNK,p38,TAK1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!1).MAL(TLR4!1,MyD88!2,SOCS1).IRAK1(IRAK4,MyD88!3,Tollip,TRAF6!0).MyD88(MAL!2,IRAK1!3,IRAK4!4,MyD88s).IRAK4(Myd88!4,IRAKM,IRAK1)+A20(TRAF6)->TRAF6(IRAK1,TRIF,RP1,TAK1,TRAF4,A20,JNK,p38)+TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!1).MAL(TLR4!1,MyD88!2,SOCS1).IRAK1(IRAK4,MyD88!3,Tollip,TRAF6).MyD88(MAL!2,IRAK1!3,IRAK4!4,MyD88s).IRAK4(Myd88!4,IRAKM,IRAK1)+A20(TRAF6) A20_MyD88IRAK1TRAF6_Degrade
176+
MyD88IRAK1TRAF6_TAK1: TRAF6(IRAK1!0,TRIF,RP1,TRAF4,A20,JNK,p38,TAK1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!1).MAL(TLR4!1,MyD88!2,SOCS1).IRAK1(IRAK4,MyD88!3,Tollip,TRAF6!0).MyD88(MAL!2,IRAK1!3,IRAK4!4,MyD88s).IRAK4(Myd88!4,IRAKM,IRAK1)+TAK1(TRAF6,Activation~No)->TRAF6(IRAK1!0,TRIF,RP1,TRAF4,A20,JNK,p38,TAK1).TLR4(TLR4!+,CD14!+,LPS!+,MD2!+,TRAM,MAL!1).MAL(TLR4!1,MyD88!2,SOCS1).IRAK1(IRAK4,MyD88!3,Tollip,TRAF6!0).MyD88(MAL!2,IRAK1!3,IRAK4!4,MyD88s).IRAK4(Myd88!4,IRAKM,IRAK1)+TAK1(TRAF6,Activation~Yes) MyD88IRAK1TRAF6_TAK1_Activate
177+
IkB_Translation: IkBmRNA(Translation~On)->IkBmRNA(Translation~Off)+IkB(Phos~No,p65,p50,Degrade~No) IkB_Translation_Execute
178+
TRIF_RP1: TRIF(TRAM,TRAF6,RIP1,TRAF4,SARM)+RP1(TRIF,TRAF6,TAK1,p38)<->RP1(TRIF!0,TRAF6,TAK1,p38).TRIF(TRAM,TRAF6,RIP1!0,TRAF4,SARM) RP1_TRIF_Bind,RP1_TRIF_Unbind
179+
TRIF_TRAF6: RP1(TRIF!0,TRAF6,TAK1,p38).TRIF(TRAM,TRAF6,RIP1!0,TRAF4,SARM)+TRAF6(IRAK1,TRIF,RP1,TAK1,TRAF4,A20,JNK,p38)<->RP1(TRIF!0,TRAF6!1,TAK1,p38).TRIF(TRAM,TRAF6!2,RIP1!0,TRAF4,SARM).TRAF6(IRAK1,TRIF!2,RP1!1,TAK1,TRAF4,A20,JNK,p38) TRIF_TRAF6_Bind,TRIF_TRAF6_Unbind
180+
A20_IkkAct_Deactivate: A20(TRAF6)+Ikk_Complex(Activation~Yes)->A20(TRAF6)+Ikk_Complex(Activation~No) A20_IkkAct_Deactivate
181+
A20_TRAF6TRIFRP1_Degrade: A20(TRAF6)+RP1(TRIF!0,TRAF6!1,TAK1,p38).TRIF(TRAM,TRAF6!2,RIP1!0,TRAF4,SARM).TRAF6(IRAK1,TRIF!2,RP1!1,TAK1,TRAF4,A20,JNK,p38)->TRAF6(IRAK1,TRIF,RP1,TAK1,TRAF4,A20,JNK,p38)+RP1(TRIF,TRAF6,TAK1,p38)+TRIF(TRAM,TRAF6,RIP1,TRAF4,SARM)+A20(TRAF6) A20_TRAF6TRIFRP1_Degrade
182+
183+
Ikk_complex_IkB_Phos: Ikk_Complex(Activation~Yes)+NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm).IkB(Phos~No,p65!0,p50!1,Degrade~No)->Ikk_Complex(Activation~Yes)+NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm).IkB(p65!0,p50!1,Degrade~No,Phos~Yes) Ikk_complex_IkB_Phos
184+
185+
NFkB_Translocation_Nucleus: NFkB(Transcription~No,Activation~Yes,Location~Cytoplasm)<->NFkB(Transcription~No,Activation~Yes,Location~Nucleus) NFkB_Translocation_Nucleus,NFkB_Translocation_Nucleus
186+
NFkB_DNA_A20: NFkB(Transcription~No,Activation~Yes,Location~Nucleus)+DNA(A20)<->DNA(A20!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus) NFkB_DNA_A20_Bind,NFkB_DNA_A20_Unbind
187+
188+
IkB_DegradeNFkBA20: DNA(A20!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)+IkB(Phos~No,p65,p50,Degrade~No)->DNA(A20)+NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm).IkB(Phos~No,p65!0,p50!1,Degrade~No) IkB_DegradeNFkB
189+
190+
NFkB_DNA_TNF: NFkB(Transcription~No,Activation~Yes,Location~Nucleus)+DNA(TNF)<->DNA(TNF!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus) NFkB_DNA_TNF_Bind,NFkB_DNA_TNF_Unbind
191+
NFkB_DNA_IkB: NFkB(Transcription~No,Activation~Yes,Location~Nucleus)+DNA(IkB)<->DNA(IkB!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus) NFkB_DNA_IkB_Bind,NFkB_DNA_IkB_Unbind
192+
IkB_Proteasome23_Degrade: Proteasome26s(IkB)+NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm).IkB(Phos~Yes,p65!0,p50!1,Degrade~No)->IkB(Phos~Yes,p65,p50,Degrade~Yes!0).Proteasome26s(IkB!0)+NFkB(Transcription~No,Activation~Yes,Location~Cytoplasm) IkB_Proteasome23_Degrade
193+
#NFkB_IkB_Bind: NFkB(Location~Cytoplasm,Activation~*)+IkB(Phos~No,p65,p50,Degrade~No)<->NFkB(Activation~*!0!1,Location~Cytoplasm).IkB(Phos~No,p65!0,p50!1,Degrade~No) NFkB_IkB_Bind,NFkB_IkB_Unbind
194+
195+
NFkB_IkB_Bind: NFkB(Location~Cytoplasm,Activation)+IkB(Phos~No,p65,p50,Degrade~No)<->NFkB(Activation!0!1,Location~Cytoplasm).IkB(Phos~No,p65!0,p50!1,Degrade~No) NFkB_IkB_Bind,NFkB_IkB_Unbind
196+
197+
Proteasome23_Release: IkB(Degrade~Yes!0).Proteasome26s(IkB!0)->IkB(Degrade~Yes)+Proteasome26s(IkB) IkB_Proteasome23_Degrade
198+
IkB_Transcription_Execute: DNA(IkB!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)->IkBmRNA(Translation~On)+DNA(IkB!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus) IkB_Transcription_Execute
199+
A20_Transcription_Execute: DNA(A20!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)->A20mRNA(Translation~On)+DNA(A20!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus) A20_Transcription_Execute
200+
TNF_Transcription_Execute: DNA(TNF!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)->TNFmRNA(Translation~On)+DNA(TNF!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus) TNF_Transcription_Execute
201+
TAK1_Deactivation: TAK1(TRAF6,Activation~Yes)->TAK1(TRAF6,Activation~No) TAK1_Deactivation
202+
Ikk_Deactivation: Ikk_Complex(Activation~Yes)->Ikk_Complex(Activation~No) Ikk_Deactivation
203+
TAK1_Ikk_Complex_Activate: TAK1(TRAF6,Activation~Yes)+Ikk_Complex(Activation~No)->TAK1(TRAF6,Activation~Yes)+Ikk_Complex(Activation~Yes) TAK1_Ikk_Complex_Activate
204+
TNF_Degrade: TNF(TNFr)->Trash(c) TNF_Degrade
205+
A20_Degrade: A20(TRAF6)->Trash(c) A20_Degrade
206+
IkB_DegradeNFkBDNAIkB: DNA(IkB!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)+IkB(Phos~No,p65,p50,Degrade~No)->DNA(IkB)+IkB(Phos~No,p65!0,p50!1,Degrade~No).NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm) IkB_DegradeNFkB
207+
IkB_DegradeNFkBDNA_TNF: DNA(TNF!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)+IkB(Phos~No,p65,p50,Degrade~No)->DNA(TNF)+IkB(Phos~No,p65!0,p50!1,Degrade~No).NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm) IkB_DegradeNFkB
208+
end reaction rules
209+
210+
begin observables
211+
Molecules TNF TNF(TNFr)
212+
Molecules Activated_TAK1 TAK1(TRAF6,Activation~Yes)
213+
Molecules Activated_Ikk_complex Ikk_Complex(Activation~Yes)
214+
Molecules A20 A20(TRAF6)
215+
Molecules NFkB_Active_Cyto NFkB(Transcription~No,Activation~Yes,Location~Cytoplasm)
216+
Molecules NFkB_Active_Nucleus NFkB(Transcription~No,Activation~Yes,Location~Nucleus)
217+
Molecules IkB_Degraded IkB(Degrade~Yes)
218+
Molecules IkB_active IkB(Degrade~No)
219+
#Molecules NFkB_Inactive NFkB(Activation~*!+)
220+
221+
Molecules NFkB_Inactive NFkB(Activation!+)
222+
Molecules NonBoundNonPhos_IkB IkB(Phos~No,p65,p50,Degrade~No)
223+
Molecules IkBmRNA_Off IkBmRNA(Translation~Off)
224+
Molecules NFkB_DNA_IkB DNA(IkB!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)
225+
Molecules Phos_IkB_NFkB NFkB(Transcription~No,Activation~No!0!1,Location~Cytoplasm).IkB(Phos~Yes,p65!0,p50!1,Degrade~No)
226+
Molecules IkB_Prot26s IkB(Phos~Yes,p65,p50,Degrade~Yes!0).Proteasome26s(IkB!0)
227+
228+
#Molecules Unbound_Cyto_NFkB NFkB(Location~Cytoplasm,Activation)
229+
Molecules Unbound_Cyto_NFkB NFkB(Location~Cytoplasm,Activation)
230+
231+
#Molecules Inactive_Cyto_NFkB NFkB(Activation~*!0!1,Location~Cytoplasm).IkB(Phos~No,p65!0,p50!1,Degrade~No)
232+
Molecules Inactive_Cyto_NFkB NFkB(Activation!0!1,Location~Cytoplasm).IkB(Phos~No,p65!0,p50!1,Degrade~No)
233+
234+
Molecules TNFmRNA_Off TNFmRNA(Translation~Off)
235+
Molecules TNF_NFkB_DNA DNA(TNF!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)
236+
Molecules A20_NFkB_DNA DNA(A20!0).NFkB(Transcription~Yes!0,Activation~Yes,Location~Nucleus)
237+
end observables
238+
239+
generate_network({overwrite=>1});
240+
241+
setConcentration("LPS(MD2,TLR4,CD14,LPS)",0);
242+
simulate_ode({suffix=>"equil",t_end=>50000,n_steps=>10,atol=>1e-12,rtol=>1e-12,sparse=>1,steady_state=>1});
243+
244+
#BEGIN SIMULATION
245+
setConcentration("LPS(MD2,TLR4,CD14,LPS)","LPS_Init");
246+
writeSBML();
247+
writeMfile();
248+
simulate_ode({t_end=>100000,n_steps=>500,atol=>1e-12,rtol=>1e-12,sparse=>0});
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
begin parameters
2+
kon_dimer 1.0 # units = 1/(uM.s)
3+
koff_dimer 0.1 # units = 1/s
4+
kon_SH2 1.0 # units = 1/(uM.s)
5+
koff_SH2 0.1 # units = 1/s
6+
kphos_slow 0.1 # units = 1/s
7+
kphos_fast 1.0 # units = 1/s
8+
Jtot 0.000014 # units = uM
9+
Stot 0.1 # units = uM
10+
end parameters
11+
12+
begin molecule types
13+
S(SH2,DD)
14+
15+
J(Y1~P,Y~U~P)
16+
17+
end molecule types
18+
19+
begin species
20+
S(SH2,DD) Stot
21+
J(Y1~P,Y~U) Jtot
22+
23+
end species
24+
25+
begin reaction rules
26+
27+
# JAK2-SH2B interaction
28+
J(Y1~P) + S(SH2) <-> J(Y1~P!1).S(SH2!1) kon_SH2, koff_SH2
29+
30+
# SH2B dimerization
31+
S(DD) + S(DD) <-> S(DD!1).S(DD!1) kon_dimer, koff_dimer
32+
33+
# JAK2 phosphorylation
34+
J(Y~U,Y1!1).S(SH2!1,DD!2).S(DD!2,SH2!3).J(Y1!3,Y~U) -> J(Y~P,Y1!1).S(SH2!1,DD!2).S(DD!2,SH2!3).J(Y1!3,Y~U) kphos_slow
35+
36+
J(Y~U,Y1!1).S(SH2!1,DD!2).S(DD!2,SH2!3).J(Y1!3,Y~P) -> J(Y~P,Y1!1).S(SH2!1,DD!2).S(DD!2,SH2!3).J(Y1!3,Y~P) kphos_fast
37+
38+
39+
end reaction rules
40+
41+
begin observables
42+
Molecules J_mono J(Y1~P)
43+
Molecules JS J(Y1~P!1).S(SH2!1,DD)
44+
Molecules JSS J(Y1~P!1).S(SH2!1,DD!2).S(SH2,DD!2)
45+
Molecules JSSJ J.J
46+
Molecules J_active J(Y~P)
47+
Molecules J_inactive J(Y~U)
48+
end observables
49+
50+
generate_network({overwrite=>1, max_stoich=>{J=>2}});
51+
52+
simulate_ode({t_end=>10000, n_steps=>10000,atol=>1e-08,rtol=>1e-08,sparse=>1});
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Clustering of three signaling molecules - Nephrin, Nck and NWASP
2+
# References:
3+
# 1. A. Chattaraj, M. L. Blinov and L. M. Loew. "The solubility product extends the buffering concept
4+
# to heterotypic biomolecular condensates." eLife 2021, Vol. 10 Pages e67176, DOI: 10.7554/eLife.67176 (Figure 6)
5+
# 2. A. Chattaraj and L. M. Loew. "The maximum solubility product marks the threshold for condensation
6+
# of multivalent biomolecules". bioRxiv 2022, DOI: 10.1101/2022.10.04.510809 (Figure 6B)
7+
8+
begin model
9+
10+
begin parameters
11+
# 1: Nephrin, 2: Nck, 3: NWASP
12+
# Kd: binding affinity, kon: binding rate constant, koff: unbinding rate constant
13+
kd_12 3500
14+
kd_23 3500
15+
koff_23 1000
16+
kon_23 koff_23/kd_23
17+
koff_12 1000
18+
kon_12 koff_12/kd_12
19+
end parameters
20+
21+
begin molecule types
22+
Nephrin(pY1,pY2,pY3)
23+
Nck(S1,S2,S3,Sh2)
24+
NWASP(p1,p2,p3,p4,p5,p6)
25+
end molecule types
26+
27+
begin seed species
28+
1 Nephrin(pY1,pY2,pY3) 300
29+
2 Nck(S1,S2,S3,Sh2) 900
30+
3 NWASP(p1,p2,p3,p4,p5,p6) 450
31+
end seed species
32+
33+
begin observables
34+
Molecules tot_Nck Nck()
35+
Molecules free_Nck Nck(S1,S2,S3,Sh2)
36+
Molecules tot_NWASP NWASP()
37+
Molecules free_NWASP NWASP(p1,p2,p3,p4,p5,p6)
38+
Molecules tot_Nephrin Nephrin()
39+
Molecules free_Nephrin Nephrin(pY1,pY2,pY3)
40+
Molecules fully_bound_Nephrin Nephrin(pY1!+,pY2!+,pY3!+)
41+
Molecules fully_bound_Nck Nck(S1!+,S2!+,S3!+,Sh2!+)
42+
Molecules fully_bound_NWASP NWASP(p1!+,p2!+,p3!+,p4!+,p5!+,p6!+)
43+
Molecules cluster_neph_nck_nw Nephrin().Nck().NWASP()
44+
Molecules cluster_nck_nw Nck().NWASP()
45+
end observables
46+
47+
48+
begin reaction rules
49+
_01_S1_P1: Nck(S1) + NWASP(p1) <-> Nck(S1!1).NWASP(p1!1) kon_23, koff_23
50+
_02_S2_P1: Nck(S2) + NWASP(p1) <-> Nck(S2!1).NWASP(p1!1) kon_23, koff_23
51+
_03_S3_P1: Nck(S3) + NWASP(p1) <-> Nck(S3!1).NWASP(p1!1) kon_23, koff_23
52+
_06_S3_P2: Nck(S3) + NWASP(p2) <-> Nck(S3!1).NWASP(p2!1) kon_23, koff_23
53+
_05_S2_P2: Nck(S2) + NWASP(p2) <-> Nck(S2!1).NWASP(p2!1) kon_23, koff_23
54+
_04_S1_P2: Nck(S1) + NWASP(p2) <-> Nck(S1!1).NWASP(p2!1) kon_23, koff_23
55+
_08_S2_P3: Nck(S2) + NWASP(p3) <-> Nck(S2!1).NWASP(p3!1) kon_23, koff_23
56+
_07_S1_P3: Nck(S1) + NWASP(p3) <-> Nck(S1!1).NWASP(p3!1) kon_23, koff_23
57+
_09_S3_P3: Nck(S3) + NWASP(p3) <-> Nck(S3!1).NWASP(p3!1) kon_23, koff_23
58+
_10_S1_P4: Nck(S1) + NWASP(p4) <-> Nck(S1!1).NWASP(p4!1) kon_23, koff_23
59+
_11_S2_P4: Nck(S2) + NWASP(p4) <-> Nck(S2!1).NWASP(p4!1) kon_23, koff_23
60+
_12_S3_P4: Nck(S3) + NWASP(p4) <-> Nck(S3!1).NWASP(p4!1) kon_23, koff_23
61+
_13_S1_P5: Nck(S1) + NWASP(p5) <-> Nck(S1!1).NWASP(p5!1) kon_23, koff_23
62+
_14_S2_P5: Nck(S2) + NWASP(p5) <-> Nck(S2!1).NWASP(p5!1) kon_23, koff_23
63+
_15_S3_P5: Nck(S3) + NWASP(p5) <-> Nck(S3!1).NWASP(p5!1) kon_23, koff_23
64+
_16_S1_P6: Nck(S1) + NWASP(p6) <-> Nck(S1!1).NWASP(p6!1) kon_23, koff_23
65+
_17_S3_P6: Nck(S3) + NWASP(p6) <-> Nck(S3!1).NWASP(p6!1) kon_23, koff_23
66+
_18_S2_P6: Nck(S2) + NWASP(p6) <-> Nck(S2!1).NWASP(p6!1) kon_23, koff_23
67+
_19_pY1_sh2: Nephrin(pY1) + Nck(Sh2) <-> Nephrin(pY1!1).Nck(Sh2!1) kon_12, koff_12
68+
_20_pY2_sh2: Nephrin(pY2) + Nck(Sh2) <-> Nephrin(pY2!1).Nck(Sh2!1) kon_12, koff_12
69+
_21_pY3_sh2: Nephrin(pY3) + Nck(Sh2) <-> Nephrin(pY3!1).Nck(Sh2!1) kon_12, koff_12
70+
end reaction rules
71+
72+
end model
73+
74+
writeXML()

0 commit comments

Comments
 (0)