Mercurial > repos > gga > apollo_list_organism
comparison fetch_organism_jbrowse.py @ 6:8c2e4dfc2f0d draft
planemo upload for repository https://github.com/galaxy-genome-annotation/galaxy-tools/tree/master/tools/apollo commit 85194fa009ead2c34720faab61a4143fc29d17c2
| author | gga |
|---|---|
| date | Fri, 31 Aug 2018 09:32:25 -0400 |
| parents | fb7da5e2233f |
| children | d89a80ee8b6f |
comparison
equal
deleted
inserted
replaced
| 5:99b00626720a | 6:8c2e4dfc2f0d |
|---|---|
| 7 import os | 7 import os |
| 8 import subprocess | 8 import subprocess |
| 9 import sys | 9 import sys |
| 10 import time | 10 import time |
| 11 | 11 |
| 12 from webapollo import GuessOrg, OrgOrGuess, WAAuth, WebApolloInstance | 12 from webapollo import GuessOrg, OrgOrGuess, PermissionCheck, WAAuth, WebApolloInstance |
| 13 logging.basicConfig(level=logging.INFO) | 13 logging.basicConfig(level=logging.INFO) |
| 14 log = logging.getLogger(__name__) | 14 log = logging.getLogger(__name__) |
| 15 | 15 |
| 16 | 16 |
| 17 def are_dir_trees_equal(dir1, dir2): | 17 def are_dir_trees_equal(dir1, dir2): |
| 53 if __name__ == '__main__': | 53 if __name__ == '__main__': |
| 54 parser = argparse.ArgumentParser(description='Sample script to add an attribute to a feature via web services') | 54 parser = argparse.ArgumentParser(description='Sample script to add an attribute to a feature via web services') |
| 55 WAAuth(parser) | 55 WAAuth(parser) |
| 56 OrgOrGuess(parser) | 56 OrgOrGuess(parser) |
| 57 parser.add_argument('target_dir', help='Target directory') | 57 parser.add_argument('target_dir', help='Target directory') |
| 58 parser.add_argument('email', help='User Email') | |
| 58 | 59 |
| 59 args = parser.parse_args() | 60 args = parser.parse_args() |
| 60 | 61 |
| 61 wa = WebApolloInstance(args.apollo, args.username, args.password) | 62 wa = WebApolloInstance(args.apollo, args.username, args.password) |
| 62 # User must have an account | 63 # User must have an account |
| 63 org_cn = GuessOrg(args, wa) | 64 org_cn = GuessOrg(args, wa) |
| 64 if isinstance(org_cn, list): | 65 if isinstance(org_cn, list): |
| 65 org_cn = org_cn[0] | 66 org_cn = org_cn[0] |
| 66 org = wa.organisms.findOrganismByCn(org_cn) | 67 org = wa.organisms.findOrganismByCn(org_cn) |
| 68 | |
| 69 # User must have an account, if not, create it | |
| 70 gx_user = wa.users.assertOrCreateUser(args.email) | |
| 71 | |
| 72 # User must have READ access | |
| 73 | |
| 74 if not PermissionCheck(gx_user, org_cn, "READ"): | |
| 75 raise Exception("READ permissions are required for this action") | |
| 67 | 76 |
| 68 if not os.path.exists(args.target_dir): | 77 if not os.path.exists(args.target_dir): |
| 69 os.makedirs(args.target_dir) | 78 os.makedirs(args.target_dir) |
| 70 | 79 |
| 71 if not os.path.exists(os.path.join(org['directory'], 'seq')): | 80 if not os.path.exists(os.path.join(org['directory'], 'seq')): |
