def do_test(gate_name, time_to, initial): input_num = len(gates_data[gate_name]["input"]) gate_dna_number = 10 graph = { "nodes": [gate_name]+["INPUT"]*input_num, "arcs": [{"from" :i, "to": 0} for i in range(1,input_num+1)], "system_parameter":{"time": time_to}, "simulation_parameters":[ dict( [("device_parameter", {"initial":[gate_dna_number]*len(gates_data[gate_name]["parts"]["id"])})]+ [(i["id"], i["params"]) for i in gates_data[gate_name]["map"]] ) ]+[{"device_parameter":{"initial":[initial[i]]}} for i in range(input_num)] } #print "Simulating..." if '-d' in sys.argv: print "This bio-system is:" print graph reaction = bio_system(graph) if '-d' in sys.argv: print reaction.species reaction.show_reaction() reaction.simulation() record = reaction.record_list length = len(record["t"]) record = dict([[i[0],sum(i[1])/length] for i in record.items()]) reaction.num = record return reaction
def test_system(self): [bio_system(i) for i in systems_data]
#!/usr/bin/env python from django.test import TestCase from data_test import system_data from bio_system import bio_system from stopwatch import sw_alloc, sw_start, sw_accmu, sw_print systems_data = [ {'simulation_parameters': [{'device_parameter': {'initial': [10, 10, 10]}, 'e5': {'reg': 20}, 'e4': {'reg': 20}, 'e6': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e1': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e3': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e2': {'reg': 20}}, {'device_parameter': {'initial': [0]}}], 'nodes': ['NOT3', 'INPUT'], 'system_parameter': {'time': 100}, 'arcs': [{'to': 0, 'from': 1}]}, {'simulation_parameters': [{'device_parameter': {'initial': [10, 10, 10]}, 'e5': {'reg': 20}, 'e4': {'reg': 20}, 'e6': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e1': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e3': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e2': {'reg': 20}}, {'device_parameter': {'initial': [0]}}], 'nodes': ['NOT5', 'INPUT'], 'system_parameter': {'time': 100}, 'arcs': [{'to': 0, 'from': 1}]}, {'simulation_parameters': [{'device_parameter': {'initial': [10, 10, 10]}, 'e8': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e5': {'reg': 20}, 'e4': {'reg': 20}, 'e7': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e6': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e1': {'decay1': 0.1, 'decay2': 0.05, 'trans1': 0.01, 'trans2': 0.5}, 'e3': {'reg': 20}, 'e2': {'reg': 20}}, {'device_parameter': {'initial': [0]}}, {'device_parameter': {'initial': [10]}}], 'nodes': ['OR1', 'INPUT', 'INPUT'], 'system_parameter': {'time': 100}, 'arcs': [{'to': 0, 'from': 1}, {'to': 0, 'from': 2}]}] if __name__ == "__main__": sw_alloc('s') sw_start('s') reaction = bio_system(system_data) reaction.simulation() sw_accmu('s') sw_print('s') reaction.show_record(map(lambda x:"S"+str(x), range(len(reaction.nodes)))) exit() else: class TestSystem(TestCase): def test_system(self): [bio_system(i) for i in systems_data]