Esempio n. 1
0
 def __init__(self):
     self.config = MolgenisConfigParser('config.txt').config
     self.session = molgenis.Session(self.config['url'])
     self.session.login(self.config['account'], self.config['password'])
     labs = self.config['labs'].split(',')
     self.labClassifications = dict.fromkeys(labs, [])
     self.get_paginated_table_content()
Esempio n. 2
0
 def test_no_login_and_get_MolgenisUser(self):
     s = molgenis.Session(self.api_url)
     try:
         s.get(self.user_entity)
     except requests.exceptions.HTTPError as e:
         self.assertEqual(e.response.status_code, 401)
         self.assertEqual(e.response.json()['errors'][0]['message'], self.no_readmeta_permission_user_msg)
Esempio n. 3
0
 def test_add_all(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     try:
         s.delete(self.ref_entity, 'ref55')
         s.delete(self.ref_entity, 'ref57')
     except Exception as e:
         print(str(e))
     response = s.add_all(self.ref_entity, [{
         "value": "ref55",
         "label": "label55"
     }, {
         "value": "ref57",
         "label": "label57"
     }])
     self.assertEqual(['ref55', 'ref57'], response)
     item55 = s.get(self.ref_entity,
                    q=[{
                        "field": "value",
                        "operator": "EQUALS",
                        "value": "ref55"
                    }])[0]
     self.assertEqual(
         {
             "value": "ref55",
             "label": "label55",
             "href": "/api/v1/" + self.ref_entity + "/ref55"
         }, item55)
     s.delete(self.ref_entity, 'ref55')
     s.delete(self.ref_entity, 'ref57')
Esempio n. 4
0
 def test_no_login_and_get_MolgenisUser(self):
     s = molgenis.Session(self.api_url)
     try:
         s.get('MolgenisUser')
     except requests.exceptions.HTTPError as e:
         self.assertEqual(e.response.status_code, 401)
         self.assertEqual(e.response.json()['errors'][0]['message'],
                          'No READ permission on entity MolgenisUser')
Esempio n. 5
0
 def test_add_dict(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     try:
         s.delete(self.ref_entity, 'ref55')
     except Exception as e:
         print(str(e))
     self.assertEqual('ref55', s.add(self.ref_entity, {"value": "ref55", "label": "label55"}))
     s.delete(self.ref_entity, 'ref55')
def main():
    config = MolgenisConfigParser('config.txt').config
    labs = config['labs'].split(',')
    url = config['url']
    account = config['account']
    pwd = config['password']
    session = molgenis.Session(url)
    session.login(account, pwd)
    consensus = ConsensusTableGenerator(labs, session, 'omim.txt')
Esempio n. 7
0
 def test_get_attribute_meta(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     meta = s.get_attribute_meta_data(self.user_entity, 'username')
     self.assertEqual({'labelAttribute': True, 'isAggregatable': False, 'name': 'username',
                       'auto': False, 'nillable': False, 'label': 'Username', 'lookupAttribute': True,
                       'visible': True, 'readOnly': True, 'href': '/api/v1/sys_sec_User/meta/username',
                       'enumOptions': [], 'fieldType': 'STRING', 'maxLength': 255, 'attributes': [],
                       'unique': True},
                      meta)
Esempio n. 8
0
 def test_login_logout_and_get_MolgenisUser(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     response = s.get(self.user_entity)
     s.logout()
     try:
         response = s.get(self.user_entity)
     except requests.exceptions.HTTPError as e:
         self.assertEqual(e.response.status_code, 401)
         self.assertEqual(e.response.json()['errors'][0]['message'], self.no_count_permission_user_msg)
Esempio n. 9
0
def main():
    config = MolgenisConfigParser('config.txt').config
    server = config['url']
    account = config['account']
    consensus_table = config['consensus_table']
    pwd = config['password']
    session = molgenis.Session(server)
    session.login(account, pwd)
    cc = ConsensusCounter(consensus_table, session)
    session.logout()
Esempio n. 10
0
 def test_login_and_get_superuser_username(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     response = s.get(self.user_entity,
                      q=[{
                          "field": "superuser",
                          "operator": "EQUALS",
                          "value": "true"
                      }])
     self.assertEqual('admin', response[0]['username'])
Esempio n. 11
0
 def test_add_merge_dict_kwargs(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     try:
         s.delete(self.ref_entity, 'ref55')
     except Exception as e:
         print(str(e))
     self.assertEqual('ref55', s.add(self.ref_entity, {"value": "ref55"}, label="label55"))
     item55 = s.get(self.ref_entity, q=[{"field": "value", "operator": "EQUALS", "value": "ref55"}])[0]
     self.assertEqual({"value": "ref55", "label": "label55", "href": "/api/v1/" + self.ref_entity + "/ref55"},
                      item55)
     s.delete(self.ref_entity, 'ref55')
Esempio n. 12
0
 def test_update_one(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     try:
         s.delete(self.ref_entity, 'ref55')
     except Exception as e:
         print(str(e))
     self.assertEqual('ref55', s.add(self.ref_entity, {"value": "ref55", "label": "label55"}))
     try:
         s.update_one(self.ref_entity, 'ref55', 'label', 'updated-label55');
     except Exception as e:
         print(str(e))
     item55 = s.getById(self.ref_entity, "ref55", ["label"])
     self.assertEqual("updated-label55", item55["label"])
     s.delete(self.ref_entity, 'ref55')
Esempio n. 13
0
 def __init__(self, raw_file, use_raw=False, export=True):
     self.config = MolgenisConfigParser("config.txt").config
     labs = self.config['labs'].split(',')
     self.labClassifications = dict((lab, []) for lab in labs)
     if use_raw:
         self.raw_file = open(raw_file)
         print(
             "Reading from server skipped, reading from previously generated {}"
             .format(raw_file))
         self.parse_raw()
     else:
         self.raw_file = open(raw_file, "w")
         self.session = molgenis.Session(self.config['url'])
         self.session.login(self.config['account'], self.config['password'])
         self.get_paginated_table_content()
         self.session.logout()
         self.save_raw_output()
     if export:
         self.write_output()
Esempio n. 14
0
 def test_get_attribute_meta(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     meta = s.get_attribute_meta_data('MolgenisUser', 'username')
     self.assertEqual(
         {
             'aggregateable': False,
             'attributes': [],
             'auto': False,
             'description': '',
             'fieldType': 'STRING',
             'href': '/api/v1/MolgenisUser/meta/username',
             'label': 'Username',
             'labelAttribute': True,
             'lookupAttribute': True,
             'maxLength': 255,
             'nillable': False,
             'readOnly': False,
             'unique': True,
             'visible': True,
             'name': 'username'
         }, meta)
Esempio n. 15
0
 def test_add_kwargs(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     try:
         s.delete('TypeTestRef', 'ref55')
     except Exception as e:
         print(str(e))
     self.assertEqual('ref55',
                      s.add('TypeTestRef', value="ref55", label="label55"))
     item55 = s.get('TypeTestRef',
                    q=[{
                        "field": "value",
                        "operator": "EQUALS",
                        "value": "ref55"
                    }])[0]
     self.assertEqual(
         {
             "value": "ref55",
             "label": "label55",
             "href": "/api/v1/TypeTestRef/ref55"
         }, item55)
     s.delete('TypeTestRef', 'ref55')
Esempio n. 16
0
 def test_get_meta(self):
     s = molgenis.Session(self.api_url)
     s.login('admin', 'admin')
     meta = s.get_entity_meta_data(self.user_entity)
     self.assertEqual('username', meta['labelAttribute'])
Esempio n. 17
0
 def __init__(self, url, username, password):
     self.session = molgenis.Session(url)
     self.session.login(username, password)
Esempio n. 18
0
import molgenis

session = molgenis.Session("https://molgenis56.target.rug.nl/api/")
dir(session)
session.get("ASE")
print(
    session.get("ASE",
                q=[{
                    "field": "SNP_ID",
                    "operator": "EQUALS",
                    "value": "rs12460890"
                }]))
samples = session.get("SampleAse",
                      q=[{
                          "field": "SNP_ID",
                          "operator": "EQUALS",
                          "value": "rs12460890"
                      }])
print(samples)
for sample in samples:
    print("{Ref_Counts:5} {Alt_Counts:5}".format(**sample))
import matplotlib.pyplot as plt
plt.scatter([sample["Ref_Counts"] for sample in samples],
            [sample["Alt_Counts"] for sample in samples])
plt.xlim([0, 5000])
plt.ylim([0, 5000])
plt.xlabel("Reference Allele")
plt.ylabel("Alternative Allele")
plt.title("Allele-Specific Expression for rs12460890")
plt.plot([0, 5000], [0, 5000])
plt.show()
Esempio n. 19
0
 def __init__(self, url):
     self.url = url
     session = molgenis.Session(url)
     session.login("admin", "admin")
Esempio n. 20
0
File: gh.py Progetto: fdlk/gh
'''
Genomic location annotator.

Annotates the #CHROM/POS location of each variant with the name of the chromosomal band and optionally the id of an exon
it is located in.

This script expects three entities to be present:
gf_gh_Variant, gf_gh_Band and gf_gh_Exon

It downloads the variants, and for each row looks up the band and exon.
It updates the variants with this information.

Tested with python 3.
N.B. Make sure to actually read the script and update the string values (e.g. port number!) to match your situation
'''
session = molgenis.Session('http://localhost:8081/api/')
session.login('admin', 'admin')
pagesize = 1000
for page in range(0, 1):
    variants = session.get('gf_gh_Variant',
                           num=pagesize,
                           start=page * pagesize)
    for variant in variants:
        query = '#CHROM=q={chrom};END=gt={pos};START=le={pos}'.format(
            chrom=variant['#CHROM'], pos=variant['POS'])
        band = session.getv2('gf_gh_Band', query)
        variant['BAND'] = band[0]['NAME']
        exon = session.getv2('gf_gh_Exon', query)
        if exon:
            variant['EXON'] = exon[0]['ID']
    session.update_all('gf_gh_Variant', variants)