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)