Mercurial > repos > galaxyp > data_manager_eggnog_mapper_abspath
comparison data_manager/data_manager_eggnog.py @ 1:46d2e3ed9530 draft
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/eggnog_mapper/data_manager_eggnog_mapper_abspath commit fd234f7532b34a1b6ced0d3ac53a8f42348e23f7"
author | galaxyp |
---|---|
date | Fri, 19 Feb 2021 18:52:23 +0000 |
parents | 48893cfa76a8 |
children | 3d12bbd5c0ba |
comparison
equal
deleted
inserted
replaced
0:48893cfa76a8 | 1:46d2e3ed9530 |
---|---|
9 import sys | 9 import sys |
10 from sqlite3 import OperationalError | 10 from sqlite3 import OperationalError |
11 | 11 |
12 | 12 |
13 def _get_db_version(sqlitedb_path): | 13 def _get_db_version(sqlitedb_path): |
14 version = '4.5' | 14 version = '5.0' |
15 try: | 15 try: |
16 query = 'select version from version' | 16 query = 'select version from version' |
17 conn = sqlite3.connect(sqlitedb_path) | 17 conn = sqlite3.connect(sqlitedb_path) |
18 cur = conn.cursor() | 18 cur = conn.cursor() |
19 cur.execute(query) | 19 cur.execute(query) |
26 | 26 |
27 def main(): | 27 def main(): |
28 parser = argparse.ArgumentParser() | 28 parser = argparse.ArgumentParser() |
29 parser.add_argument('--config_file') | 29 parser.add_argument('--config_file') |
30 parser.add_argument('--install_path') | 30 parser.add_argument('--install_path') |
31 parser.add_argument('--dbs', default='') | |
32 args = parser.parse_args() | 31 args = parser.parse_args() |
33 | 32 |
34 eggnog_db_path = os.path.join(args.install_path, 'eggnog.db') | 33 eggnog_db_path = os.path.join(args.install_path, 'eggnog.db') |
35 if not os.path.exists(eggnog_db_path): | 34 if not os.path.exists(eggnog_db_path): |
36 print('Can not open: %s' % eggnog_db_path, file=sys.stderr) | 35 print('Can not open: %s' % eggnog_db_path, file=sys.stderr) |
38 db_version = _get_db_version(eggnog_db_path) | 37 db_version = _get_db_version(eggnog_db_path) |
39 | 38 |
40 # params = json.loads(open(args.config_file).read()) | 39 # params = json.loads(open(args.config_file).read()) |
41 dm_dict = {} | 40 dm_dict = {} |
42 dm_dict['data_tables'] = dm_dict.get('data_tables', {}) | 41 dm_dict['data_tables'] = dm_dict.get('data_tables', {}) |
43 data_table = 'eggnog_mapper_db' | 42 data_table = 'eggnog_mapper_db_versioned' |
44 dm_dict['data_tables'][data_table]\ | 43 dm_dict['data_tables'][data_table]\ |
45 = dm_dict['data_tables'].get(data_table, []) | 44 = dm_dict['data_tables'].get(data_table, []) |
45 # Versionning is super confusing: | |
46 # eggnog-mapper 1.* needed a db v4.5 (based on eggnog v4.5) | |
47 # eggnog-mapper 2.0 needs a db v2.0 (based on eggnog v5.0) | |
48 # db v4.5 are not compatible with eggnog-mapper 2.0 | |
49 version = "2.0" | |
50 if "4.5" in db_version: | |
51 version = "1.0" | |
46 data_table_entry = dict(value=db_version, name=db_version, | 52 data_table_entry = dict(value=db_version, name=db_version, |
47 path=args.install_path) | 53 path=args.install_path, version=version) |
48 dm_dict['data_tables'][data_table].append(data_table_entry) | 54 dm_dict['data_tables'][data_table].append(data_table_entry) |
49 data_table = 'eggnog_mapper_hmm_dbs' | |
50 dm_dict['data_tables'][data_table]\ | |
51 = dm_dict['data_tables'].get(data_table, []) | |
52 if args.dbs: | |
53 dbs = [x.strip() for x in args.dbs.split(',')] | |
54 for db in dbs: | |
55 key = '%s_%s' % (db_version, db) | |
56 data_table_entry = dict(key=key, db_version=db_version, | |
57 value=db, name=db, path=db) | |
58 dm_dict['data_tables'][data_table].append(data_table_entry) | |
59 | 55 |
60 # save info to json file | 56 # save info to json file |
61 open(args.config_file, 'wb').write(json.dumps(dm_dict)) | 57 open(args.config_file, 'w').write(json.dumps(dm_dict)) |
62 | 58 |
63 | 59 |
64 if __name__ == "__main__": | 60 if __name__ == "__main__": |
65 main() | 61 main() |