def dMutAdd(project, mutID, mutparent,kind, name='', descr='', color=None): ''' Check and add a mutant ''' org = Organism(project) if org.isOrg(mutID): logger.warning('Organism %s is already present'%mutID) logger.warning('Remove it before addition') return False if not org.isOrg(mutparent): logger.error('Parent organism %s not present!'%mutparent) return False elif org.isMutant(mutparent): logger.error('Parent organism %s cannot be a mutant!'%mutparent) return False parents = len(org) - org.howManyMutants() if parents != 1: logger.error('Only one parent is allowed!') return False if not color: org.addOrg(mutID, name=name, description=descr, mutant=True, reference=mutparent, mkind=kind) else: org.addOrg(mutID, name=name, description=descr, mutant=True, reference=mutparent, mkind=kind, color=color) logger.info('Mutant %s (%s) added' %(mutID, org.getOrg(mutID).mkind)) return True
def dAdd(project, orgID, name='', descr='', color=None): ''' Add a single organism ''' org = Organism(project) # If trying to override a present organism, throw an error if org.isOrg(orgID): logger.warning('Organism %s is already present'%orgID) logger.warning('Remove it before addition') return False if not color: org.addOrg(orgID, name=name, description=descr) else: org.addOrg(orgID, name=name, description=descr, color=color) logger.info('Added organism %s'%orgID) return True