Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
    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()
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
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()
Exemplo n.º 7
0
 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)