Mercurial > repos > estrain > data_manager_amrfinderplus
comparison data_manager_amrfinderplus/data_manager/data_manager_amrfinderplus.py @ 4:f119fb382a21 draft
Uploaded
author | estrain |
---|---|
date | Mon, 23 May 2022 09:55:24 +0000 |
parents | 2c887282d3ef |
children | d6c3cee5fe48 |
comparison
equal
deleted
inserted
replaced
3:2c887282d3ef | 4:f119fb382a21 |
---|---|
10 import re | 10 import re |
11 import argparse | 11 import argparse |
12 from ftplib import FTP | 12 from ftplib import FTP |
13 | 13 |
14 | 14 |
15 def download_from_ncbi(): | 15 def download_from_ncbi(output_direcotry): |
16 NCBI_FTP_SERVER = 'ftp.ncbi.nlm.nih.gov' | 16 NCBI_FTP_SERVER = 'ftp.ncbi.nlm.nih.gov' |
17 FILENAME = 'version.txt' | 17 FILENAME = 'version.txt' |
18 NCBI_DOWNLOAD_PATH = '/pathogen/Antimicrobial_resistance/AMRFinderPlus/database/latest/' | 18 NCBI_DOWNLOAD_PATH = '/pathogen/Antimicrobial_resistance/AMRFinderPlus/database/latest/' |
19 | 19 |
20 email = 'anonymous@example.com' | 20 email = 'anonymous@example.com' |
21 | |
22 cwd = os.getcwd() | |
23 os.chdir(output_directory) | |
21 | 24 |
22 ftp = FTP( NCBI_FTP_SERVER ) | 25 ftp = FTP( NCBI_FTP_SERVER ) |
23 ftp.login( 'anonymous', email) | 26 ftp.login( 'anonymous', email) |
24 ftp.cwd(NCBI_DOWNLOAD_PATH) | 27 ftp.cwd(NCBI_DOWNLOAD_PATH) |
25 | 28 |
54 with open("version.txt") as f: | 57 with open("version.txt") as f: |
55 version = f.readline().rstrip() | 58 version = f.readline().rstrip() |
56 | 59 |
57 ftp.quit() | 60 ftp.quit() |
58 | 61 |
62 os.chdir(cwd) | |
63 | |
59 return version | 64 return version |
60 | 65 |
61 def print_json (version,argspath,argsname,argsout): | 66 def print_json (version,argspath,argsname,argsout): |
62 | 67 |
63 data_table_entry = { | 68 data_table_entry = { |
81 parser.add_argument('--name', type=str, required=True, nargs=1, help='Database name') | 86 parser.add_argument('--name', type=str, required=True, nargs=1, help='Database name') |
82 parser.add_argument('--out', type=str, required=True, nargs=1, help='output file') | 87 parser.add_argument('--out', type=str, required=True, nargs=1, help='output file') |
83 | 88 |
84 args = parser.parse_args() | 89 args = parser.parse_args() |
85 | 90 |
91 with open(args.out[0]) as fh: | |
92 params = json.load(fh) | |
86 | 93 |
87 with open(args.out[0]) as fh: | 94 output_directory = params['output_data'][0]['extra_files_path'] |
88 config = json.load(fh) | 95 os.mkdir(output_directory) |
89 | |
90 output_directory = config.get("output_data", [{}])[0].get("extra_files_path", None) | |
91 os.mkdir( output_directory ) | |
92 data_manager_dict = {} | 96 data_manager_dict = {} |
93 | 97 |
94 #Fetch the files and build blast databases | 98 #Fetch the files and build blast databases |
95 version=download_from_ncbi() | 99 version=download_from_ncbi(output_directory) |
96 | 100 |
97 #shutil.copytree("amrdb",args.path[0]) | 101 #shutil.copytree("amrdb",args.path[0]) |
98 print_json(version,output_directory,args.name[0],args.out[0]) | 102 print_json(version,output_directory,args.name[0],args.out[0]) |
99 | 103 |
100 if __name__ == "__main__": main() | 104 if __name__ == "__main__": main() |