
decideColour(up,red).
decideColour(no_change,blue).
decideColour(noChange,blue).
decideColour(down,green).


decideColour(substrateLimiting,blue).
decideColour(cataDecreased,green).
decideColour(cataIncreased,red).


writeMetaboliteInput(M_name,Change):-
	concept_name(M_OndexID,M_name,true),
	concept_accession(M_OndexID,'KEGG',M_KeggID,true),
	atom_chars(M_KeggID,['C','P','D',':'|M_KeggID0Chars]),
	atom_chars(M_KeggID0,M_KeggID0Chars),
	decideColour(Change,Colour),
	write(M_KeggID0),write(' '), write(Colour),nl.
	
% for unbiqitous compounds
writeMetaboliteInput(M_name,Change).
writeMetaboliteInput('NOT IN ONDEX KEGG RNO GRAPH',Change).

v:- 
tell('metaboliteInput.txt'),
forAll(ex0(EI,concentration(M_name,Change,_,'Day14'),1),writeMetaboliteInput(M_name,Change)),
told.


gev:-
tell('cance_ge_day7.txt'),
forAll(concentration_e(EC,Change,Degree,'1000_day7'),writeEC(EC,Change)),
told,
tell('cance_ge_day14.txt'),
forAll(concentration_e(EC,Change,Degree,'1000_day14'),writeEC(EC,Change)),
told.

writeEC(EC,Change):-
	decideColour(Change,Colour),
	write(EC),write(' '), write(Colour),nl.

hv:- % hypothesis visualization
	tell('cancer_visulation_day14_singleClauseHypotheses.txt'),
	forAll(reactionState_singleClauseH(RID,LimitingType,State,Time),writeReactionStateInput(RID,LimitingType,State)),
	told.
	

writeReactionStateInput(RID,LimitingType,State):-
	concept_accession(RID,'KEGG',RName,true), % 'RN:R05549'	
	atom_chars(RName,['R','N',':'|KEGGNameList]),atom_chars(ReactionKEGGName,KEGGNameList),
	write(ReactionKEGGName),
	(LimitingType==substrateLimiting ->
		decideColour(substrateLimiting,Colour);
		decideColour(State,Colour)	
	),
	write(' '), write(Colour),nl.
	
	



reactionState_multiClauseH('31799',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('31800',substrateLimiting,sDown,'Day14').
reactionState_multiClauseH('35302',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('33690',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('35291',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('32537',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('32727',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('34146',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('32587',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('33740',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('33741',substrateLimiting,sDown,'Day14').
reactionState_multiClauseH('32101',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('32767',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('33204',substrateLimiting,sUp,'Day14').
reactionState_multiClauseH('31485',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('32842',substrateLimiting,sUp,'Day14').
reactionState_multiClauseH('33127',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('32852',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('31936',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('31944',substrateLimiting,sDown,'Day14').
reactionState_multiClauseH('31482',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('31553',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('31483',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('32975',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('32978',substrateLimiting,sUp,'Day14').
reactionState_multiClauseH('33678',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('33679',substrateLimiting,sUp,'Day14').
reactionState_multiClauseH('35295',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('31902',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('31933',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('34268',enzymeLimiting,cataDecreased,'Day14').
reactionState_multiClauseH('31617',enzymeLimiting,cataIncreased,'Day14').
reactionState_multiClauseH('31547',enzymeLimiting,cataDecreased,'Day14').

reactionState_singleClauseH('31800',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('35302',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('33678',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('35291',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('32537',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('32727',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('34146',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('32587',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('33740',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('33185',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('32828',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('33127',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('32852',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('31944',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('31482',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('31553',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('31483',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('32975',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('33679',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('35295',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('31902',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('31933',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('34268',enzymeLimiting,cataDecreased,'Day14').
reactionState_singleClauseH('31617',enzymeLimiting,cataIncreased,'Day14').
reactionState_singleClauseH('31547',enzymeLimiting,cataDecreased,'Day14').