Mercurial > repos > iuc > ncbi_eutils_efetch
annotate ecitmatch.py @ 10:0ccb2855dd55 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 851b88d92fa7740880a5edf407f629bf3f7f7bf0
| author | iuc | 
|---|---|
| date | Fri, 04 Oct 2024 14:35:17 +0000 | 
| parents | c09fcbe4b16a | 
| children | 
| rev | line source | 
|---|---|
| 0 
71bcf87a7031
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 
0fc65a60436f
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 iuc parents: 
0diff
changeset | 2 | 
| 0 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 3 import argparse | 
| 1 
0fc65a60436f
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 iuc parents: 
0diff
changeset | 4 | 
| 0 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 5 import eutils | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 6 | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 7 | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 8 if __name__ == '__main__': | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 9 parser = argparse.ArgumentParser(description='ECitMatch', epilog='') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 10 parser.add_argument('--file', type=argparse.FileType('r'), help='Tabular file containing citations to search') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 11 | 
| 
71bcf87a7031
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('--key', nargs='*', help='Citation Key') | 
| 
71bcf87a7031
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('--journal_title', nargs='*', help='Journal Title') | 
| 
71bcf87a7031
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('--year', nargs='*', help='Year') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 15 parser.add_argument('--volume', nargs='*', help='Volume') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 16 parser.add_argument('--first_page', nargs='*', help='First Page') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 17 parser.add_argument('--author_name', nargs='*', help='Author name') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 18 | 
| 3 
c09fcbe4b16a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit dae34e5e182b4cceb808d7353080f14aa9a78ca9"
 iuc parents: 
1diff
changeset | 19 parser.add_argument('--version', action='version', version=eutils.Client.getVersion(), help='Version (reports Biopython version)') | 
| 
c09fcbe4b16a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit dae34e5e182b4cceb808d7353080f14aa9a78ca9"
 iuc parents: 
1diff
changeset | 20 | 
| 0 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 21 # Emails | 
| 
71bcf87a7031
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") | 
| 
71bcf87a7031
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") | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 24 args = parser.parse_args() | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 25 | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 26 c = eutils.Client(user_email=args.user_email, admin_email=args.admin_email) | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 27 | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 28 citations = [] | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 29 if args.file is None: | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 30 for key, journal, year, volume, first_page, author_name in \ | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 31 zip(args.key, args.journal_title, args.year, args.volume, args.first_page, args.author_name): | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 32 citations.append({ | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 33 'key': key, | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 34 'journal': journal, | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 35 'year': year, | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 36 'volume': volume, | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 37 'first_page': first_page, | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 38 'author_name': author_name, | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 39 }) | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 40 else: | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 41 for line in args.file: | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 42 line = line.strip() | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 43 if not line.startswith('#'): | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 44 tmp = line.split('\t') | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 45 try: | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 46 citations.append({ | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 47 'journal': tmp[0], | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 48 'year': tmp[1], | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 49 'volume': tmp[2], | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 50 'first_page': tmp[3], | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 51 'author_name': tmp[4], | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 52 'key': tmp[5], | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 53 }) | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 54 except KeyError: | 
| 1 
0fc65a60436f
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 iuc parents: 
0diff
changeset | 55 print("Could not parse line: %s" % line) | 
| 0 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 56 | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 57 payload = { | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 58 'db': 'pubmed', | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 59 'bdata': citations | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 60 } | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 61 | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 62 results = c.citmatch(**payload) | 
| 
71bcf87a7031
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit 15bcc5104c577b4b9c761f2854fc686c07ffa9db
 iuc parents: diff
changeset | 63 # We get data back as pipe separated, so just replace those with tabs | 
| 1 
0fc65a60436f
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 iuc parents: 
0diff
changeset | 64 print(results.replace('|', '\t')) | 
