def dSetKind(project): ''' Set the kind of genomic project and return its value ''' proj = Project(project) proj.getProject() org = Organism(project) if org.howManyMutants() > 0: logger.info('%d mutants are present'%org.howManyMutants()) proj.setKind('mutants') return 'mutants' elif org.howMany() == 1: logger.info('Just one organism is present') proj.setKind('single') return 'single' elif org.howMany() == 0: logger.info('No organisms are present yet') return None else: logger.info('%d organisms are present'%org.howMany()) proj.setKind('pangenome') return 'pangenome'
def dGetGenomeSteps(project): ''' Get the analysis that these genomes deserve ''' proj = Project(project) proj.getProject() status = proj.genome pangenome = bool(proj.pangenome) kind = dSetKind(project) if kind == 'mutants': if status == 'map2ko': return ['map2kegg'] elif status == 'map2kegg': return [] else: return ['map2ko', 'map2kegg'] elif kind == 'single': if status == 'map2ko': return ['map2kegg'] elif status == 'map2kegg': return [] else: return ['map2ko', 'map2kegg'] else: steps = [] if not pangenome: steps.append('pangenome') if status == 'map2ko': steps.append('map2kegg') elif status == 'map2kegg': pass else: steps.append('map2ko') steps.append('pangenome') return steps