Esempio n. 1
0
def get_project(id):
    client = pymongo.MongoClient(app.mongodb_uri)
    project = client.nav.projects.find_one({'_id': ObjectId(id)})
    if project:
        meta = {
            str(meta['_id']): meta
            for meta in client.networks.meta.find({'status': 'success'})
        }
        try:
            networks = project['networks']
            networks = {id: True for id in meta.iterkeys() if networks.get(id)}
        except KeyError:
            # include all genemania networks except co-expression for new projects
            networks = {
                id: True
                for id, it in meta.iteritems()
                if it['collection'] == 'genemania'
                and not it['type'] == 'co-expression'
            }
        project['networks'] = networks
        client.nav.projects.save(project)

        pre_return_value = serialize(project)
        return_value = dumps(pre_return_value)

        if (request.query.callback):
            response.content_type = "application/javascript"
            return "%s(%s);" % (request.query.callback, return_value)

        return pre_return_value
        #return serialize(project)
    else:
        return HTTPError(404)
Esempio n. 2
0
def api_mongo_get(database, collection):
    limit = get_value('limit', 0, int)
    skip = get_value('skip', 0, int)
    client = pymongo.MongoClient(app.mongodb_uri)
    query = {k:v for k, v in request.query.iteritems() if not k == 'limit' and not k == 'skip'}
    cursor = client[database][collection].find(query)
    return {
        'skip': skip,
        'count': cursor.count(),
        'records': [serialize(record) for record in cursor.limit(limit).skip(skip)]
    }
Esempio n. 3
0
def create_project():
    client = pymongo.MongoClient(app.mongodb_uri)
    project = {
        'gene_list': [],
        'include_neighbors': True,
        'n_connected_neighbors': 20,
        'n_hottest_neighbors': 20,
        'do_heat_diffusion': False
    }
    set_status(project, 'created')
    project['_id'] = str(client.nav.projects.insert(project))
    return serialize(project)
Esempio n. 4
0
def get_jobs(id):
    client = pymongo.MongoClient(app.mongodb_uri)
    jobs = list(client.nav.jobs.find({'project._id': ObjectId(id)}))

    pre_return_value = {'records': serialize(jobs)}
    return_value = dumps(pre_return_value)

    if (request.query.callback):
        response.content_type = "application/javascript"
        return "%s(%s);" % (request.query.callback, return_value)

    return pre_return_value
Esempio n. 5
0
def get_networks():
    client = pymongo.MongoClient(app.mongodb_uri)
    pre_return_value = {
        'networks':
        serialize(list(client.networks.meta.find({'status': 'success'})))
    }
    return_value = dumps(pre_return_value)

    if (request.query.callback):
        response.content_type = "application/javascript"
        return "%s(%s);" % (request.query.callback, return_value)

    return pre_return_value
Esempio n. 6
0
def api_mongo_get(database, collection):
    limit = get_value('limit', 0, int)
    skip = get_value('skip', 0, int)
    client = pymongo.MongoClient(app.mongodb_uri)
    query = {
        k: v
        for k, v in request.query.iteritems()
        if not k == 'limit' and not k == 'skip'
    }
    cursor = client[database][collection].find(query)
    return {
        'skip': skip,
        'count': cursor.count(),
        'records':
        [serialize(record) for record in cursor.limit(limit).skip(skip)]
    }
Esempio n. 7
0
def get_files(id):
    client = pymongo.MongoClient(app.mongodb_uri)
    project = client.nav.projects.find_one({'_id': ObjectId(id)})
    try:
        files = list(
            client.files.meta.find(
                {'_id': {
                    '$in': [f['_id'] for f in project.get('files', [])]
                }}))

        pre_return_value = {'records': serialize(files)}
        return_value = dumps(pre_return_value)

        if (request.query.callback):
            response.content_type = "application/javascript"
            return "%s(%s);" % (request.query.callback, return_value)

        return pre_return_value
        #return {'records': serialize(files)}
    except:
        return HTTPError(404)
Esempio n. 8
0
def api_mongo_get_id(database, collection, id):
    client = pymongo.MongoClient(app.mongodb_uri)
    return serialize(client[database][collection].find_one({'_id': ObjectId(id)}))
Esempio n. 9
0
def api_mongo_get_id(database, collection, id):
    client = pymongo.MongoClient(app.mongodb_uri)
    return serialize(client[database][collection].find_one(
        {'_id': ObjectId(id)}))