Mercurial > repos > pimarin > data_manager_fetch_plasmidfinder
annotate plasmidfinder-db/INSTALL.py @ 3:5ffc68b4ec04 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
| author | pimarin | 
|---|---|
| date | Fri, 17 Feb 2023 14:03:19 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
3
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
1 #!/usr/bin/python3 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
2 import shutil, os, sys | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
3 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
4 # This scripts installs the PlasmidFinder database for using KMA | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
5 # KMA should be installed before running this script | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
6 # The scripts is assumed to be located together with plasmidfinder's '.fsa' files | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
7 # | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
8 # First clone the repository: git clone https://bitbucket.org/genomicepidemiology/plasmidfinder_db.git | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
9 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
10 # Check if executable kma_index program is installed, if not promt the user for path | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
11 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
12 interactive = True | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
13 if len(sys.argv) >= 2: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
14 kma_index = sys.argv[1] | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
15 if "non_interactive" in sys.argv: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
16 interactive = False | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
17 else: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
18 kma_index = "kma_index" | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
19 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
20 while shutil.which(kma_index) is None: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
21 if not interactive: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
22 sys.exit("KMA index program, {}, does not exist or is not executable".format(kma_index)) | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
23 ans = input("Please input path to executable kma_index program or enter 'q'/'quit' to exit:") | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
24 if ans == "q" or ans == "quit": | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
25 print("Exiting!\n\n \ | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
26 Please install executable KMA programs in order to install this database.\n\n \ | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
27 KMA can be obtained from bitbucked:\n\n\ | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
28 git clone https://bitbucket.org/genomicepidemiology/kma.git\n\n\ | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
29 KMA programs must afterwards be compiled:\n\n\ | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
30 gcc -O3 -o kma KMA.c -lm -lpthread\n\ | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
31 gcc -O3 -o kma_index KMA_index.c -lm") | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
32 sys.exit() | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
33 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
34 kma_index = ans | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
35 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
36 if shutil.which(kma_index) is None: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
37 print("Path, {}, is not an executable path. Please provide absolute path\n".format(ans)) | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
38 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
39 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
40 # Index databases | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
41 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
42 # Use config_file to go through database dirs | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
43 config_file = open("config", "r") | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
44 for line in config_file: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
45 if line.startswith("#"): | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
46 continue | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
47 else: | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
48 line = line.rstrip().split("\t") | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
49 species = line[0] | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
50 # for each dir index the fasta files | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
51 os.system("{0} -i {1}.fsa -o {1}".format(kma_index, species)) | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
52 config_file.close() | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
53 | 
| 
 
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
 
pimarin 
parents:  
diff
changeset
 | 
54 print("Done") | 
