def test_toy_model_fba(self): m = Metabolism(MODEL_FILE) flux = 3.0 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux) m.get_reaction("reac1").constraint = (0, 5) flux = 5.5 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux) m.get_reaction("reac1").stoic = [[1.5],[2.5]] flux = 9.25 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux)
def test_toy_model_fba(self): m = Metabolism(MODEL_FILE) flux = 3.0 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux) m.get_reaction("reac1").constraint = (0, 5) flux = 5.5 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux) m.get_reaction("reac1").stoic = [[1.5], [2.5]] flux = 9.25 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux)
def setUp(self): self.doLogin() self.user.profile.assign_perm(ACCESS_PERM) # Add templates m = Metabolism(MODEL_FILE) j = JsonModel.from_model(m) dt = DesignTemplate(name="Test") dt.description = "Test" dt.filename = "ToyModel.txt" dt.content = j.to_json() dt.save() self.pk = dt.pk m = Metabolism(MODEL_FILE2) j = JsonModel.from_model(m) dt = DesignTemplate(name="Test") dt.description = "Test" dt.filename = "iSyn.txt" dt.content = j.to_json() dt.save()
def setUp(self): self.doLogin() self.user.profile.assign_perm(ACCESS_PERM) # Add templates m = Metabolism(MODEL_FILE) j = JsonModel.from_model(m) dt = DesignTemplate(name="Test") dt.description = "Test" dt.filename = "ToyModel.txt" dt.content = j.to_json() dt.save() self.pk = dt.pk m = Metabolism(MODEL_FILE2) j = JsonModel.from_model(m) dt = DesignTemplate(name="Test") dt.description = "Test" dt.filename = "iSyn.txt" dt.content = j.to_json() dt.save()
def test_isyn_model_sbml(self): m = Metabolism(MODEL_FILE3) flux = 0.08940293757452249 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux)
def upload(request, pk): data = {} if request.method == 'POST': if pk == "1": # Uploaded model form = UploadModelForm(request.POST, request.FILES) if form.is_valid(): name = form.cleaned_data.get('name') #save to temporary file freq = request.FILES['file'] filename = freq.name ss = StringIO() for chunk in freq.chunks(): try: ss.write(chunk.decode("utf-8")) except UnicodeDecodeError: form.add_error("file", "File does not have UTF-8 encoding") form_html = render_crispy_form(form, context=request) return {'success': False, 'form_html': form_html} try: model = Metabolism(ss) except: form.add_error("file", "Not a valid model") form_html = render_crispy_form(form, context=request) return {'success': False, 'form_html': form_html} dm = DesignModel.objects.create( user=request.user.profile, name=name, filename=filename, content=ss.getvalue() ) try: jm = JsonModel.from_model(model).to_json() except ValueError: return BadRequest(str(ValueError)) Revision( model=dm, content=jm, reason="Initial version" ).save() return {'success': True} else: form_html = render_crispy_form(form, context=request) return {'success': False, 'form_html': form_html} if pk == "2": # from template templates = DesignTemplate.objects.values_list("pk", "name") form = ModelFromTemplateForm(templates, request.POST, request.FILES) if form.is_valid(): name = form.cleaned_data.get('name') choice = form.cleaned_data.get('choice') template = DesignTemplate.objects.get(pk=choice) dm = DesignModel.objects.create( user=UserProfile.get_profile(request.user), name=name, filename=template.filename, content="" ) Revision( model=dm, content=template.content, reason="Initial version" ).save() return {'success': True} else: form_html = render_crispy_form(form, context=request) return {'success': False, 'form_html': form_html} return BadRequest()
def test_isyn_model_sbml(self): m = Metabolism(MODEL_FILE3) flux = 0.08940293757452249 self.assertEquals(m.fba().Z, flux) m = JsonModel.from_model(m).to_model() self.assertEquals(m.fba().Z, flux)