Example #1
0
def config_test():
    test_configs = ([
"""
[Locations]
log: asdf
solutions: asdf
workqueue: asdf
pid: asdf
""",
        False, "Missing workingdirectory"],
                    ["", False, "Empty config"],
                    [
"""
[Locations]
log: /asfd
workingdirectory: /asdf
solutions: /asdf
workqueue: /asdf
pid: /asdf
""",
                        False, "files don't exist"],
                    )
                    
    for test in test_configs:
        testdir = tempfile.mkdtemp()
        testini = os.path.join(testdir, "fealden.ini")
        with open(testini, "w") as f:
            f.write(test[0])

        try:
            fealden = config.getconfig(testini)
        except config.ConfigError as e:
            if test[1]:
                print "BAD - Test: %s, received %s" % (test[2], e.msg)
                assert False
            else:
                assert True
        else:
            if test[1]:
                assert True
            else:
                print "BAD - Test %s: Expected ConfigError, but received none" % test[2]
                assert False
        finally:
            shutil.rmtree(testdir)
Example #2
0
import web
from web import form
import os
import pickle
import subprocess
import uuid

from fealden import searchserver, util, config

try:
    runtime = config.getconfig()
except config.ConfigError:
    sys.stderr.write("Unrecoverable error, exiting: %s\n" % errormsg)
    sys.exit()

render = web.template.render('templates/', base='layout')
urls = (
    '/', 'index',
    '/solution/(.+)', 'solution',
    '/solution_images/(.+)/(.+)', 'solution_images'
    )

app = web.application(urls,globals())

myform = form.Form(
    form.Textbox('recognition',form.notnull, form.regexp('^[ATGC]*$', 'DNA alphabet only: A, T, G, or C'), description="Recognition Sequence", id="recog"),
    form.Textbox('numfolds_lo', description='Lower bound for number of foldings in a valid solution', value=2, id="numfolds_lo"),
    form.Textbox('numfolds_hi', description='Upper bound for number of foldings in a valid solution', value=8, id="numfolds_hi"),
    form.Textbox('maxunknown_percent', description='Max percentage of folds that cannot be categorized', value=.1, id="maxunknown_percent"),
    form.Textbox('binding_ratio_lo', description='Lower bound for ratio of binding foldings vs. nonbinding foldings', value=.9, id="binding_ratio_lo"),
    form.Textbox('binding_ratio_hi', description='Upper bound for ratio of binding foldings vs. nonbinding foldings', value=1.1, id="binding_ratio_hi"),