# HG changeset patch
# User estrain
# Date 1646104272 0
# Node ID 6ee125deee97cf51a4e361abcad46c14f6196cec
Uploaded
diff -r 000000000000 -r 6ee125deee97 data_manager_amrfinderplus_database_builder/README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_amrfinderplus_database_builder/README Tue Mar 01 03:11:12 2022 +0000
@@ -0,0 +1,1 @@
+AMRFinderPlus Data Manager
diff -r 000000000000 -r 6ee125deee97 data_manager_amrfinderplus_database_builder/data_manager/data_manager_amrfinderplus_database_builder.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_amrfinderplus_database_builder/data_manager/data_manager_amrfinderplus_database_builder.py Tue Mar 01 03:11:12 2022 +0000
@@ -0,0 +1,76 @@
+#!/usr/bin/env python
+# Errol Strain, estrain@gmail.com
+# Database downloads for NCBI AMRFinderPlus
+
+import sys
+import os
+import tempfile
+import shutil
+import json
+import re
+from ftplib import FTP
+
+
+def download_from_ncbi( ):
+ NCBI_FTP_SERVER = 'ftp.ncbi.nlm.nih.gov'
+ FILENAME = 'version.txt'
+ NCBI_DOWNLOAD_PATH = '/pathogen/Antimicrobial_resistance/AMRFinderPlus/database/latest/'
+
+ email = 'anonymous@example.com'
+
+ ftp = FTP( NCBI_FTP_SERVER )
+ ftp.login( 'anonymous', email)
+ ftp.cwd(NCBI_DOWNLOAD_PATH)
+
+ #exclude the allele counts folder
+ files = ftp.nlst()
+ files = filter(lambda x: re.search(r'^((?!allele|(?:invokername=allele)).)*$', x), files)
+
+ for f in files:
+ ftp.retrbinary("RETR " + f, open(f, 'wb').write)
+
+ ftp.quit()
+
+ #find species specific point mutation files
+ pointmuts = filter(lambda x: re.search(r'^((?!tab|(?:invokername=tab)).)*$', x), files)
+ pointmuts = filter(lambda x: re.search(r'AMR_DNA-', x), pointmuts)
+
+ # Make blast databases
+ blastcmd = "makeblastdb -in AMRProt -dbtype prot -logfile /dev/null"
+ os.system(blastcmd)
+ blastcmd = "makeblastdb -in AMR_CDS -dbtype nucl -logfile /dev/null"
+ os.system(blastcmd)
+
+ for f in pointmuts:
+ blastcmd = "makeblastdb -in " + f +" -dbtype nucl -logfile /dev/null"
+ os.system(blastcmd)
+
+ # Make HMM indexes
+ hmmcmd="hmmpress -f AMR.LIB > /dev/null 2> /dev/null"
+ os.system(hmmcmd)
+
+ # Read in version
+ with open("version.txt") as f:
+ version = f.readline().rstrip()
+
+ return version
+
+def print_json (version):
+ data_tables = {'data_tables':{'amrfinder_databases':{}}}
+ data_tables["data_tables"]["amrfinder_databases"]["value"]="ARMFinderPlus_" + version
+ data_tables["data_tables"]["amrfinder_databases"]["name"]=version
+ data_tables["data_tables"]["amrfinder_databases"]["path"]="/tool/tool-data/amrfinder/" + version
+
+ with open("out_file", 'w') as out:
+ out.write(json.dumps(data_tables, sort_keys=True, indent=2))
+
+def main():
+
+ os.mkdir("output")
+ os.chdir("output")
+ #Fetch the files and build blast databases
+ version=download_from_ncbi()
+ os.chdir("..")
+ print_json(version)
+
+if __name__ == "__main__": main()
diff -r 000000000000 -r 6ee125deee97 data_manager_amrfinderplus_database_builder/data_manager/data_manager_amrfinderplus_database_builder.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_amrfinderplus_database_builder/data_manager/data_manager_amrfinderplus_database_builder.xml Tue Mar 01 03:11:12 2022 +0000
@@ -0,0 +1,23 @@
+
+ Database builder
+
+ blast
+ hmmer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 6ee125deee97 data_manager_amrfinderplus_database_builder/data_manager_conf.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_amrfinderplus_database_builder/data_manager_conf.xml Tue Mar 01 03:11:12 2022 +0000
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 6ee125deee97 data_manager_amrfinderplus_database_builder/tool_data_table_conf_sample.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_amrfinderplus_database_builder/tool_data_table_conf_sample.xml.sample Tue Mar 01 03:11:12 2022 +0000
@@ -0,0 +1,12 @@
+
+
+
+ value, name, db_path
+
+
+
+
+
diff -r 000000000000 -r 6ee125deee97 data_manager_amrfinderplus_database_builder/tool_data_table_conf_sample.xml.test
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_amrfinderplus_database_builder/tool_data_table_conf_sample.xml.test Tue Mar 01 03:11:12 2022 +0000
@@ -0,0 +1,7 @@
+
+
+
+ value, name, db_path
+
+
+