Mercurial > repos > iuc > ncbi_eutils_egquery
annotate elink.py @ 2:08412cd072d0 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit db33413a06c275efd4cc8e771c37facf543a2cfa"
| author | iuc | 
|---|---|
| date | Wed, 11 Mar 2020 04:02:33 -0400 | 
| parents | 28f69754ddc5 | 
| children | d1789b4821fc | 
| rev | line source | 
|---|---|
| 
0
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env python | 
| 
1
 
28f69754ddc5
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 
iuc 
parents: 
0 
diff
changeset
 | 
2 from __future__ import print_function | 
| 
 
28f69754ddc5
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 
iuc 
parents: 
0 
diff
changeset
 | 
3 | 
| 
0
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
4 import argparse | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
5 import json | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
6 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
7 import eutils | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
8 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
9 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
10 if __name__ == '__main__': | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
11 parser = argparse.ArgumentParser(description='EFetch', epilog='') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
12 parser.add_argument('db', help='Database to use, sometimes "none" (e.g. *check)') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
13 parser.add_argument('dbfrom', help='Database containing input UIDs') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
14 parser.add_argument('cmd', choices=['neighbor', 'neighbor_score', | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
15 'neighbor_history', 'acheck', 'ncheck', 'lcheck', | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
16 'llinks', 'llinkslib', 'prlinks'], | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
17 help='ELink command mode') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
18 # Only used in case of neighbor_history | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
19 parser.add_argument('--history_out', type=argparse.FileType('w'), | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
20 help='Output history file', default='-') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
21 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
22 parser.add_argument('--user_email', help="User email") | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
23 parser.add_argument('--admin_email', help="Admin email") | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
24 # ID Sources | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
25 parser.add_argument('--id_list', help='list of ids') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
26 parser.add_argument('--id', help='Comma separated individual IDs') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
27 parser.add_argument('--history_file', help='Fetch results from previous query') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
28 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
29 # TODO: dates, linkname, term, holding | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
30 # neighbor or neighbor_history and dbfrom is pubmed | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
31 # parser.add_argument('--datetype', help='Date type') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
32 # parser.add_argument('--reldate', help='In past N days') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
33 # parser.add_argument('--mindate', help='Minimum date') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
34 # parser.add_argument('--maxdate', help='maximum date') | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
35 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
36 # Output | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
37 args = parser.parse_args() | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
38 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
39 c = eutils.Client(history_file=args.history_file, user_email=args.user_email, admin_email=args.admin_email) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
40 merged_ids = c.parse_ids(args.id_list, args.id, args.history_file) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
41 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
42 payload = { | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
43 'dbfrom': args.dbfrom, | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
44 'cmd': args.cmd, | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
45 } | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
46 if args.history_file is not None: | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
47 payload.update(c.get_history()) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
48 else: | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
49 payload['id'] = ','.join(merged_ids) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
50 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
51 # DB can be 'none' in a few cases. | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
52 if args.db != "none": | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
53 payload['db'] = args.db | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
54 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
55 results = c.link(**payload) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
56 | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
57 if args.cmd == "neighbor_history": | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
58 history = c.extract_history(results) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
59 args.history_out.write(json.dumps(history, indent=4)) | 
| 
 
9d18e6815994
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 
iuc 
parents:  
diff
changeset
 | 
60 | 
| 
1
 
28f69754ddc5
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 
iuc 
parents: 
0 
diff
changeset
 | 
61 print(results) | 
