Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Lifeware
biocham
Commits
0cecac1a
Commit
0cecac1a
authored
Dec 12, 2019
by
Mathieu Hemery
Browse files
Merge branch 'develop' into feature/Hybrid
parents
39e4152d
543ec9c2
Changes
10
Hide whitespace changes
Inline
Side-by-side
aliases.plt
View file @
0cecac1a
...
...
@@ -2,7 +2,7 @@
:- begin_tests(aliases).
test('alias', [true(Reactions == [2 * a => c])]) :-
test('alias', [true(Reactions == [
'MA'(1) for
2 * a => c])]) :-
clear_model,
command(a + b => c),
command(alias(a = b)),
...
...
arithmetic_rules.pl
View file @
0cecac1a
...
...
@@ -526,6 +526,9 @@ sign(+ A, 1, A).
sign
(
-
A
,
-
1
,
A
).
additive_block
(
'_'
,
[]).
% Notation of empty set in biocham
additive_block
(
+
A
,
[
+
A
]).
additive_block
(
-
A
,
[
-
A
]).
...
...
doc.pl
View file @
0cecac1a
...
...
@@ -908,13 +908,15 @@ setup_doc :-
generate_doc
:-
setup_doc
,
generate_doc_file
(
doc
),
check_doc
(
doc
,
quiet
).
check_doc
(
doc
,
quiet
),
!.
generate_devdoc
:-
setup_doc
,
generate_doc_file
(
devdoc
),
check_doc
(
devdoc
,
quiet
).
check_doc
(
devdoc
,
quiet
),
!.
generate_doc_file
(
Type
)
:-
...
...
models.plt
View file @
0cecac1a
...
...
@@ -29,7 +29,7 @@ test('load', [Name == mapk]) :-
test(
'list_model',
[Output == '
MA
(k)for a=>b.\nparameter(\n k = 1\n).\n']
[Output == '
\'MA\'
(k)
for a=>b.\nparameter(\n k = 1\n).\n']
) :-
clear_model,
command('MA'(k) for a => b),
...
...
reaction_editor.pl
View file @
0cecac1a
...
...
@@ -56,7 +56,8 @@ delete_reaction(Reaction):-
doc
(
'
removes one reaction rule from the current set of reactions.
'
),
delete_item
([
kind
:
reaction
,
item
:
Reaction
]).
simplify_reaction
(
Reaction
,
ReactionFormated
),
delete_item
([
kind
:
reaction
,
item
:
ReactionFormated
]).
delete_reaction_named
(
Name
):-
biocham_command
,
...
...
@@ -116,23 +117,6 @@ merge_reactions(Reaction1, Reaction2):-
append
(
Products1
,
Products2
,
Products
),
add_reaction
(
Kinetics1
+
Kinetics2
,
Reactants
,
Inhibitors
,
Products
,
false
).
%simplify_all_reactions :-
% biocham_command,
% doc('
% replaces each reaction by a simplified form, by grouping common molecules,
% identifying catalysts, and by using the canonical molecule for aliases.
% '),
% \+ (
% item([kind: reaction, id: Id, item: Reaction]),
% \+ (
% delete_item(Id),
% simplify_reaction(Reaction, SimplifiedReaction),
% add_item([kind: reaction, item: SimplifiedReaction])
% )
% ).
list_reactions
:-
biocham_command
,
doc
(
'lists the current set of reaction rules.'
),
...
...
@@ -174,7 +158,7 @@ list_model_reactions :-
\
+
(
item
([
no_inheritance
,
kind
:
reaction
,
item
:
Reaction
]),
\
+
(
format
(
'~
w
.\n'
,
[
Reaction
])
format
(
'~
p
.\n'
,
[
Reaction
])
)
).
...
...
@@ -564,13 +548,7 @@ make_reaction(
;
ReactionNamed
=
(
Name
--
Reaction
)
),
(
Kinetics
=
'MA'
(
1
)
->
Reaction
=
Body
;
Reaction
=
(
Kinetics
for
Body
)
),
Reaction
=
(
Kinetics
for
Body
),
list_to_solution
(
Left
,
LeftSolution
),
list_enumeration
(
Inhibitors
,
InhibitorsEnumeration
),
list_to_solution
(
Catalyst
,
CatalystSolution
),
...
...
@@ -590,7 +568,9 @@ make_reaction(
->
Body
=
(
Reactants
<=>
RightSolution
)
;
Body
=
(
Reactants
<=
[
CatalystSolution
]
=>
RightSolution
)
simplify
(
Reactants
+
CatalystSolution
,
Reactants_full
),
simplify
(
RightSolution
+
CatalystSolution
,
Products_full
),
Body
=
(
Reactants_full
<=>
Products_full
)
)
;
(
...
...
@@ -598,7 +578,9 @@ make_reaction(
->
Body
=
(
Reactants
=>
RightSolution
)
;
Body
=
(
Reactants
=
[
CatalystSolution
]
=>
RightSolution
)
simplify
(
Reactants
+
CatalystSolution
,
Reactants_full
),
simplify
(
RightSolution
+
CatalystSolution
,
Products_full
),
Body
=
(
Reactants_full
=>
Products_full
)
)
).
...
...
reaction_editor.plt
View file @
0cecac1a
...
...
@@ -6,7 +6,7 @@
test(
'compound',
[Reactions == [2 * a + 2 * b => 2 * 'a-b']]
[Reactions == [
'MA'(1) for
2 * a + 2 * b => 2 * 'a-b']]
) :-
clear_model,
command(add_reaction(2 * a + 2 * b => 2 * a-b)),
...
...
@@ -14,7 +14,7 @@ test(
test(
'catalyst',
[Reactions == [
b =[ b + a +
c
]
=>
'_', '_' =[ b + a +
c
]
=>
b
]]
[Reactions == [
'MA'(1) for 2*b+a+
c =>
b+a+c, 'MA'(1) for b+a+
c =>
2*b+a+c
]]
) :-
clear_model,
add_reaction(a + b + c <=[ b ]=> a + c),
...
...
@@ -31,18 +31,16 @@ test(
test(
'michaelis menten reduction',
[
true(
Reactions == [
(
2*'MA'(1) for 'S'
=[
'E'+'C'
]
=>'P'
)])
]
[Reactions == [2*'MA'(1) for 'S'
+
'E'+'C'=>
'P'
+'E'+'C']
]
) :-
command(load('library:examples/michaelis-menten/mm.bc')),
command(delete_reaction('C'=>'E'+'S')),
command(merge_reactions('E'+'S'=>'C','C'=>'E'+'P')),
% command(merge_molecules('E','C')),
all_items([kind: reaction], Reactions).
test(
'michaelis menten reduction C',
[
true(
Reactions == [
(
2*'MA'(1) for 'S'
=[
'E'+'C'
]
=>'P'
)])
]
[Reactions == [2*'MA'(1) for 'S'
+
'E'+'C'=>
'P'
+'E'+'C']
]
) :-
command(load('library:examples/michaelis-menten/mm.bc')),
...
...
reaction_graphs.plt
View file @
0cecac1a
...
...
@@ -24,7 +24,7 @@ test(
test(
'import_reactions_from_graph',
[true(Reactions == [
a =[b]=> c
, 'MA'(2) for a + 3 * c => 2 * d ])]
[true(Reactions == [
'MA'(1) for a+b=>c+b
, 'MA'(2) for a + 3 * c => 2 * d ])]
) :-
clear_model,
new_graph,
...
...
reaction_rules.pl
View file @
0cecac1a
...
...
@@ -50,6 +50,12 @@ reaction(BasicReaction) :-
basic_reaction
(
BasicReaction
).
% user:portray(for)
% redefine the way for is printed by prolog
user
:
portray
(
for
(
Kinetic
,
Reaction
))
:-
format
(
"~p for ~p"
,[
Kinetic
,
Reaction
]).
:-
grammar
(
rule_name
).
...
...
reduce.plt
View file @
0cecac1a
...
...
@@ -22,7 +22,7 @@ test(
Removed
)
),
assertion(Removed = ['
_'=>b,'_'=>c,b=>'_',c=>'_'
]).
assertion(Removed = ['
MA'(1) for _=>b,'MA'(1) for _=>c,'MA'(1) for b=>_,'MA'(1) for c=>_
]).
test(
'reduce_Qu1',
...
...
@@ -38,7 +38,44 @@ test(
Removed
)
),
assertion(Removed = [ (k1 for '_'=>'CycB'), (k2*['CycB']for'CycB'=>'_'), (k2u*['APC']*['CycB']for'CycB'=['APC']=>'_'), (k3*['CDK']*['CycB']for'CDK'+'CycB'=>'CycB-CDK~{p1,p2}'), (k4*['CycB-CDK~{p1,p2}']for'CycB-CDK~{p1,p2}'=>'CDK'+'CycB'), (k5*['CycB-CDK~{p1,p2}']for'CycB-CDK~{p1,p2}'=>'CycB-CDK~{p1}'), (k5u*['C25~{p1,p2}']*['CycB-CDK~{p1,p2}']for'CycB-CDK~{p1,p2}'=['C25~{p1,p2}']=>'CycB-CDK~{p1}'), (k6*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=>'CycB-CDK~{p1,p2}'), (['Wee1']*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=['Wee1']=>'CycB-CDK~{p1,p2}'), (k7*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=>'CDK'), (k7u*['APC']*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=['APC']=>'CDK'), (k8 for '_'=>'C25'), (k9*['C25']for'C25'=>'_'), (k9*['C25~{p1}']for'C25~{p1}'=>'_'), (k9*['C25~{p1,p2}']for'C25~{p1,p2}'=>'_'), (bz*['C25']for'C25'=>'C25~{p1}'), (cz*['CycB-CDK~{p1}']*['C25']for'C25'=['CycB-CDK~{p1}']=>'C25~{p1}'), (az*['C25~{p1}']for'C25~{p1}'=>'C25'), (bz*['C25~{p1}']for'C25~{p1}'=>'C25~{p1,p2}'), (cz*['CycB-CDK~{p1}']*['C25~{p1}']for'C25~{p1}'=['CycB-CDK~{p1}']=>'C25~{p1,p2}'), (az*['C25~{p1,p2}']for'C25~{p1,p2}'=>'C25~{p1}'), (k10 for '_'=>'Wee1'), (k11*['Wee1']for'Wee1'=>'_'), (k11*['Wee1~{p1}']for'Wee1~{p1}'=>'_'), (bw*['Wee1']for'Wee1'=>'Wee1~{p1}'), (cw*['CycB-CDK~{p1}']*['Wee1']for'Wee1'=['CycB-CDK~{p1}']=>'Wee1~{p1}'), (aw*['Wee1~{p1}']for'Wee1~{p1}'=>'Wee1'), (['CycB-CDK~{p1}']^2/ (a^2+['CycB-CDK~{p1}']^2)/tho for '_'=['CycB-CDK~{p1}']=>'APC'), (['APC']/tho for 'APC'=>'_'), (k12 for '_'=>'CKI'), (k13*['CKI']for'CKI'=>'_'), (k14*['CKI']*['CycB-CDK~{p1}']for'CKI'+'CycB-CDK~{p1}'=>'CKI-CycB-CDK~{p1}'), (k15*['CKI-CycB-CDK~{p1}']for'CKI-CycB-CDK~{p1}'=>'CKI'+'CycB-CDK~{p1}'), (bi*['CKI-CycB-CDK~{p1}']for'CKI-CycB-CDK~{p1}'=>'(CKI-CycB-CDK~{p1})~{p2}'), (ci*['CycB-CDK~{p1}']*['CKI-CycB-CDK~{p1}']for'CKI-CycB-CDK~{p1}'=['CycB-CDK~{p1}']=>'(CKI-CycB-CDK~{p1})~{p2}'), (ai*['(CKI-CycB-CDK~{p1})~{p2}']for'(CKI-CycB-CDK~{p1})~{p2}'=>'CKI-CycB-CDK~{p1}'), (k16*['(CKI-CycB-CDK~{p1})~{p2}']for'(CKI-CycB-CDK~{p1})~{p2}'=>'CDK'), (k16u*['APC']*['(CKI-CycB-CDK~{p1})~{p2}']for'(CKI-CycB-CDK~{p1})~{p2}'=['APC']=>'CDK')]).
assertion(Removed =[k1 for '_'=>'CycB',
k2*['CycB'] for 'CycB'=>'_',
k2u*['APC']*['CycB'] for 'CycB'+'APC'=>'APC',
k3*['CDK']*['CycB'] for 'CDK'+'CycB'=>'CycB-CDK~{p1,p2}',
k4*['CycB-CDK~{p1,p2}'] for 'CycB-CDK~{p1,p2}'=>'CDK'+'CycB',
k5*['CycB-CDK~{p1,p2}'] for 'CycB-CDK~{p1,p2}'=>'CycB-CDK~{p1}',
k5u*['C25~{p1,p2}']*['CycB-CDK~{p1,p2}'] for 'CycB-CDK~{p1,p2}'+'C25~{p1,p2}'=>'CycB-CDK~{p1}'+'C25~{p1,p2}',
k6*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'=>'CycB-CDK~{p1,p2}',
['Wee1']*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'+'Wee1'=>'CycB-CDK~{p1,p2}'+'Wee1',
k7*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'=>'CDK',
k7u*['APC']*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'+'APC'=>'CDK'+'APC',
k8 for '_'=>'C25',
k9*['C25'] for 'C25'=>'_',
k9*['C25~{p1}'] for 'C25~{p1}'=>'_',
k9*['C25~{p1,p2}'] for 'C25~{p1,p2}'=>'_',
bz*['C25'] for 'C25'=>'C25~{p1}',
cz*['CycB-CDK~{p1}']*['C25'] for 'C25'+'CycB-CDK~{p1}'=>'C25~{p1}'+'CycB-CDK~{p1}',
az*['C25~{p1}'] for 'C25~{p1}'=>'C25',
bz*['C25~{p1}'] for 'C25~{p1}'=>'C25~{p1,p2}',
cz*['CycB-CDK~{p1}']*['C25~{p1}'] for 'C25~{p1}'+'CycB-CDK~{p1}'=>'C25~{p1,p2}'+'CycB-CDK~{p1}',
az*['C25~{p1,p2}'] for 'C25~{p1,p2}'=>'C25~{p1}',
k10 for '_'=>'Wee1',
k11*['Wee1'] for 'Wee1'=>'_',
k11*['Wee1~{p1}'] for 'Wee1~{p1}'=>'_',
bw*['Wee1'] for 'Wee1'=>'Wee1~{p1}',
cw*['CycB-CDK~{p1}']*['Wee1'] for 'Wee1'+'CycB-CDK~{p1}'=>'Wee1~{p1}'+'CycB-CDK~{p1}',
aw*['Wee1~{p1}'] for 'Wee1~{p1}'=>'Wee1',
['CycB-CDK~{p1}']^2/(a^2+['CycB-CDK~{p1}']^2)/tho for 'CycB-CDK~{p1}'=>'APC'+'CycB-CDK~{p1}',
['APC']/tho for 'APC'=>'_',
k12 for '_'=>'CKI',
k13*['CKI'] for 'CKI'=>'_',
k14*['CKI']*['CycB-CDK~{p1}'] for 'CKI'+'CycB-CDK~{p1}'=>'CKI-CycB-CDK~{p1}',
k15*['CKI-CycB-CDK~{p1}'] for 'CKI-CycB-CDK~{p1}'=>'CKI'+'CycB-CDK~{p1}',
bi*['CKI-CycB-CDK~{p1}'] for 'CKI-CycB-CDK~{p1}'=>'(CKI-CycB-CDK~{p1})~{p2}',
ci*['CycB-CDK~{p1}']*['CKI-CycB-CDK~{p1}'] for 'CKI-CycB-CDK~{p1}'+'CycB-CDK~{p1}'=>'(CKI-CycB-CDK~{p1})~{p2}'+'CycB-CDK~{p1}',
ai*['(CKI-CycB-CDK~{p1})~{p2}'] for '(CKI-CycB-CDK~{p1})~{p2}'=>'CKI-CycB-CDK~{p1}',
k16*['(CKI-CycB-CDK~{p1})~{p2}'] for '(CKI-CycB-CDK~{p1})~{p2}'=>'CDK',
k16u*['APC']*['(CKI-CycB-CDK~{p1})~{p2}'] for '(CKI-CycB-CDK~{p1})~{p2}'+'APC'=>'CDK'+'APC']).
test(
...
...
@@ -55,7 +92,39 @@ test(
Removed
)
),
assertion(Removed = [ (k2*['CycB']for'CycB'=>'_'), (k2u*['APC']*['CycB']for'CycB'=['APC']=>'_'), (k4*['CycB-CDK~{p1,p2}']for'CycB-CDK~{p1,p2}'=>'CDK'+'CycB'), (k5*['CycB-CDK~{p1,p2}']for'CycB-CDK~{p1,p2}'=>'CycB-CDK~{p1}'), (k6*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=>'CycB-CDK~{p1,p2}'), (['Wee1']*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=['Wee1']=>'CycB-CDK~{p1,p2}'), (k7*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=>'CDK'), (k7u*['APC']*['CycB-CDK~{p1}']for'CycB-CDK~{p1}'=['APC']=>'CDK'), (k9*['C25']for'C25'=>'_'), (k9*['C25~{p1}']for'C25~{p1}'=>'_'), (k9*['C25~{p1,p2}']for'C25~{p1,p2}'=>'_'), (cz*['CycB-CDK~{p1}']*['C25']for'C25'=['CycB-CDK~{p1}']=>'C25~{p1}'), (az*['C25~{p1}']for'C25~{p1}'=>'C25'), (cz*['CycB-CDK~{p1}']*['C25~{p1}']for'C25~{p1}'=['CycB-CDK~{p1}']=>'C25~{p1,p2}'), (az*['C25~{p1,p2}']for'C25~{p1,p2}'=>'C25~{p1}'), (k10 for '_'=>'Wee1'), (k11*['Wee1']for'Wee1'=>'_'), (k11*['Wee1~{p1}']for'Wee1~{p1}'=>'_'), (bw*['Wee1']for'Wee1'=>'Wee1~{p1}'), (cw*['CycB-CDK~{p1}']*['Wee1']for'Wee1'=['CycB-CDK~{p1}']=>'Wee1~{p1}'), (aw*['Wee1~{p1}']for'Wee1~{p1}'=>'Wee1'), (['CycB-CDK~{p1}']^2/ (a^2+['CycB-CDK~{p1}']^2)/tho for '_'=['CycB-CDK~{p1}']=>'APC'), (['APC']/tho for 'APC'=>'_'), (k12 for '_'=>'CKI'), (k13*['CKI']for'CKI'=>'_'), (k14*['CKI']*['CycB-CDK~{p1}']for'CKI'+'CycB-CDK~{p1}'=>'CKI-CycB-CDK~{p1}'), (k15*['CKI-CycB-CDK~{p1}']for'CKI-CycB-CDK~{p1}'=>'CKI'+'CycB-CDK~{p1}'), (bi*['CKI-CycB-CDK~{p1}']for'CKI-CycB-CDK~{p1}'=>'(CKI-CycB-CDK~{p1})~{p2}'), (ci*['CycB-CDK~{p1}']*['CKI-CycB-CDK~{p1}']for'CKI-CycB-CDK~{p1}'=['CycB-CDK~{p1}']=>'(CKI-CycB-CDK~{p1})~{p2}'), (ai*['(CKI-CycB-CDK~{p1})~{p2}']for'(CKI-CycB-CDK~{p1})~{p2}'=>'CKI-CycB-CDK~{p1}'), (k16*['(CKI-CycB-CDK~{p1})~{p2}']for'(CKI-CycB-CDK~{p1})~{p2}'=>'CDK'), (k16u*['APC']*['(CKI-CycB-CDK~{p1})~{p2}']for'(CKI-CycB-CDK~{p1})~{p2}'=['APC']=>'CDK')]).
assertion(Removed =[k2*['CycB'] for 'CycB'=>'_',
k2u*['APC']*['CycB'] for 'CycB'+'APC'=>'APC',
k4*['CycB-CDK~{p1,p2}'] for 'CycB-CDK~{p1,p2}'=>'CDK'+'CycB',
k5*['CycB-CDK~{p1,p2}'] for 'CycB-CDK~{p1,p2}'=>'CycB-CDK~{p1}',
k6*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'=>'CycB-CDK~{p1,p2}',
['Wee1']*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'+'Wee1'=>'CycB-CDK~{p1,p2}'+'Wee1',
k7*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'=>'CDK',
k7u*['APC']*['CycB-CDK~{p1}'] for 'CycB-CDK~{p1}'+'APC'=>'CDK'+'APC',
k9*['C25'] for 'C25'=>'_',
k9*['C25~{p1}'] for 'C25~{p1}'=>'_',
k9*['C25~{p1,p2}'] for 'C25~{p1,p2}'=>'_',
cz*['CycB-CDK~{p1}']*['C25'] for 'C25'+'CycB-CDK~{p1}'=>'C25~{p1}'+'CycB-CDK~{p1}',
az*['C25~{p1}'] for 'C25~{p1}'=>'C25',
cz*['CycB-CDK~{p1}']*['C25~{p1}'] for
'C25~{p1}'+'CycB-CDK~{p1}'=>'C25~{p1,p2}'+'CycB-CDK~{p1}',
az*['C25~{p1,p2}'] for 'C25~{p1,p2}'=>'C25~{p1}',
k10 for '_'=>'Wee1',
k11*['Wee1'] for 'Wee1'=>'_',
k11*['Wee1~{p1}'] for 'Wee1~{p1}'=>'_',
bw*['Wee1'] for 'Wee1'=>'Wee1~{p1}',
cw*['CycB-CDK~{p1}']*['Wee1'] for 'Wee1'+'CycB-CDK~{p1}'=>'Wee1~{p1}'+'CycB-CDK~{p1}',
aw*['Wee1~{p1}'] for 'Wee1~{p1}'=>'Wee1',
['CycB-CDK~{p1}']^2/(a^2+['CycB-CDK~{p1}']^2)/tho for 'CycB-CDK~{p1}'=>'APC'+'CycB-CDK~{p1}',
['APC']/tho for 'APC'=>'_',
k12 for '_'=>'CKI',
k13*['CKI'] for 'CKI'=>'_',
k14*['CKI']*['CycB-CDK~{p1}'] for 'CKI'+'CycB-CDK~{p1}'=>'CKI-CycB-CDK~{p1}',
k15*['CKI-CycB-CDK~{p1}'] for 'CKI-CycB-CDK~{p1}'=>'CKI'+'CycB-CDK~{p1}',
bi*['CKI-CycB-CDK~{p1}'] for 'CKI-CycB-CDK~{p1}'=>'(CKI-CycB-CDK~{p1})~{p2}',
ci*['CycB-CDK~{p1}']*['CKI-CycB-CDK~{p1}'] for 'CKI-CycB-CDK~{p1}'+'CycB-CDK~{p1}'=>'(CKI-CycB-CDK~{p1})~{p2}'+'CycB-CDK~{p1}',
ai*['(CKI-CycB-CDK~{p1})~{p2}'] for '(CKI-CycB-CDK~{p1})~{p2}'=>'CKI-CycB-CDK~{p1}',
k16*['(CKI-CycB-CDK~{p1})~{p2}'] for '(CKI-CycB-CDK~{p1})~{p2}'=>'CDK',
k16u*['APC']*['(CKI-CycB-CDK~{p1})~{p2}'] for '(CKI-CycB-CDK~{p1})~{p2}'+'APC'=>'CDK'+'APC']).
:- end_tests(reduce).
revision.plt
View file @
0cecac1a
...
...
@@ -21,7 +21,7 @@ test(
'revise_model rule addition for ECTL',
[
setup(clear_model),
all(Reactions = [[
'_' => b], [a => b], ['_' =[a]=> b
]])
all(Reactions = [[
('MA'(1) for '_'=>b)],[('MA'(1) for a=>b)],[('MA'(1) for a=>b+a)
]])
]
) :-
command(present(a)),
...
...
@@ -32,7 +32,7 @@ test(
'revise_model rule addition for UCTL',
[
setup(clear_model),
all(Reactions = [[
a => b
]])
all(Reactions = [[
('MA'(1)for a=>b)
]])
]
) :-
command(present(a)),
...
...
@@ -54,7 +54,7 @@ test(
'revise_model rule deletion (from counter-example) for ACTL',
[
setup(clear_model),
all((Added, Removed) = [([],
[a => b
])])
all((Added, Removed) = [([],
[('MA'(1)for a=>b)
])])
]
) :-
command(present(a)),
...
...
@@ -68,9 +68,22 @@ test(
[
setup(clear_model),
all((Added, Removed) =
[([], [
'_'=>'_', '_'=>a, a=>'_', '_'=[a]=>'_', a=>b, b=>'_', b=>a, a+b=>'_',
b=[a]=>'_', a=[b]=>'_'])])
[
([], [
('MA'(1)for'_'=>'_'),
('MA'(1)for'_'=>a),
('MA'(1)for a=>'_'),
('MA'(1)for a=>a),
('MA'(1)for a=>b),
('MA'(1)for a=>b+a),
('MA'(1)for b=>'_'),
('MA'(1)for b=>a),
('MA'(1)for b=>a+b),
('MA'(1)for a+b=>'_'),
('MA'(1)for b+a=>a),
('MA'(1)for a+b=>b)]
)
])
]
) :-
command(add_reaction('_' => '_')),
...
...
@@ -113,8 +126,8 @@ test(
Removed
)
),
assertion(Added = [
c=[a]=>'_', a=[b]=>'_', b=[c]=>'_'
]),
assertion(Removed = [
a=>'_', b=>'_',
c=>
'_'
]).
assertion(Added = [
'MA'(1) for c+a=>a,'MA'(1) for a+b=>b,'MA'(1) for b+c=>c
]),
assertion(Removed = [
'MA'(1) for a=>_,'MA'(1) for b=>_,'MA'(1) for
c=>
_
]).
test(
'Qu1',
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment