Mercurial > repos > yating-l > gonramp_apollo_tools
comparison apollo/ApolloOrganism.py @ 2:4be6fcac4bf2 draft default tip
planemo upload for repository https://github.com/Yating-L/suite_gonramp_apollo.git commit 5367a00befb467f162d1870edb91f9face72e894
author | yating-l |
---|---|
date | Wed, 29 Nov 2017 15:39:32 -0500 |
parents | 1da8b9042af4 |
children |
comparison
equal
deleted
inserted
replaced
1:78af01d73add | 2:4be6fcac4bf2 |
---|---|
10 self.organism_name = organism_name | 10 self.organism_name = organism_name |
11 self.organism_dir = organism_dir | 11 self.organism_dir = organism_dir |
12 self.logger = logging.getLogger(__name__) | 12 self.logger = logging.getLogger(__name__) |
13 | 13 |
14 def addOrganism(self): | 14 def addOrganism(self): |
15 exist = self.getOrganism(self.organism_name) | 15 exist = subtools.arrow_get_organism(self.organism_name) |
16 if not exist: | 16 if not exist: |
17 self.logger.debug("The organism does not exist.") | 17 self.logger.debug("The organism does not exist.") |
18 p = subtools.arrow_add_organism(self.organism_name, self.organism_dir) | 18 p = subtools.arrow_add_organism(self.organism_name, self.organism_dir) |
19 if not p: | 19 if not p: |
20 self.logger.error("The user is not authorized to add organism") | 20 self.logger.error("The user is not authorized to add organism") |
27 self.logger.error("The organism %s is already on Apollo instance! Rerun the tool to use a different species name or choose to overwrite the organism", self.organism_name) | 27 self.logger.error("The organism %s is already on Apollo instance! Rerun the tool to use a different species name or choose to overwrite the organism", self.organism_name) |
28 exit(-1) | 28 exit(-1) |
29 | 29 |
30 #TODO: the JSON dictionary return by deleteOrganism still contains the deleted organism. Improve the API. | 30 #TODO: the JSON dictionary return by deleteOrganism still contains the deleted organism. Improve the API. |
31 def deleteOrganism(self): | 31 def deleteOrganism(self): |
32 organism_id = self.getOrganism(self.organism_name) | 32 organism_id = subtools.arrow_get_organism(self.organism_name) |
33 if organism_id: | 33 if organism_id: |
34 self.logger.debug("Deleting the organism %s", self.organism_name) | 34 self.logger.debug("Deleting the organism %s", self.organism_name) |
35 subtools.arrow_delete_organism(organism_id) | 35 subtools.arrow_delete_organism(organism_id) |
36 if not self.getOrganism(self.organism_name): | 36 if not subtools.arrow_get_organism(self.organism_name): |
37 self.logger.debug("Organism %s has been deleted", self.organism_name) | 37 self.logger.debug("Organism %s has been deleted", self.organism_name) |
38 else: | 38 else: |
39 self.logger.error("Organism %s cannot be deleted", self.organism_name) | 39 self.logger.error("Organism %s cannot be deleted", self.organism_name) |
40 exit(-1) | 40 exit(-1) |
41 else: | 41 else: |
42 self.logger.error("Organism %s doesn't exist", self.organism_name) | 42 self.logger.error("Organism %s doesn't exist", self.organism_name) |
43 exit(-1) | 43 exit(-1) |
44 | |
45 #TODO: filtering by commonName doesn't work. Improve the API. | |
46 @staticmethod | |
47 def getOrganism(organism_name): | |
48 p = subtools.arrow_get_organism(organism_name) | |
49 if p: | |
50 return str(p) | |
51 | 44 |
52 #TODO: API update_organism not working. Improve the API to enable updating directory. | 45 #TODO: API update_organism not working. Improve the API to enable updating directory. |
53 def overwriteOrganism(self): | 46 def overwriteOrganism(self): |
54 self.deleteOrganism() | 47 self.deleteOrganism() |
55 p = subtools.arrow_add_organism(self.organism_name, self.organism_dir) | 48 p = subtools.arrow_add_organism(self.organism_name, self.organism_dir) |