def test_termination_condition(self): testMRNA = MRNA_specific.mRNA_spec(index=0, sequence="agcaaguga", geneID=None, ribosomes={6: None}, init_rate=1e-3) self.assertTrue(testMRNA.termination_condition())
# run simulation # Einschwingvorgang: reichen 900 s? burnin = 900 for start, stop, growth_factor in zip(switch_times[:-1], switch_times[1:], growth_factor_range): print "simulating from {} to {}...".format(start, stop) transcriptome = transcriptomes_dict[start/60] mRNAs = [] counter = 0 #description = 'polyphasic cell cycle from {} to {}, updated Shah transcriptome, full exome, no decay, with ribo growth factor updated initiation rates according to Shah'.format(start, stop) description = 'polyphasic cell cycle from {} to {}, updated Shah transcriptome, full exome, no decay, without ribo growth factor updated initiation rates according to Shah'.format(start, stop) for gene in genes: for transcript in range(transcriptome[gene]): mRNAs.append(MRNA_specific.mRNA_spec(index=counter, sequence=exome[gene], geneID=gene, ribosomes={}, init_rate=init_rates[gene])) # do not just multiply the list counter += 1 print "created transcriptome at time {}.".format(start) tr = TRSL_specific.TRSL_spec(mRNAs, exome, decay_constants, int(nribo_start*growth_factor), proteome=col.Counter({}), detail=True) # tr._tRNA = col.Counter({i: TRSL_specific.tRNA_types[i]['abundancy'] for i in TRSL_specific.tRNA_types}) tr._tRNA = col.Counter({i: int(TRSL_specific.tRNA_types[i]['abundancy'] * len(genes) / len(exome) * growth_factor) for i in TRSL_specific.tRNA_types}) tr._tRNA_free = col.Counter({i: int(tr._tRNA[i]) for i in TRSL_specific.tRNA_types}) # tRNA not bound to ribosomes tr._tRNA_bound = tr._tRNA - tr._tRNA_free # tRNA bound to ribosomes # Run without profiling: tr.solve_internal(start, stop+burnin, deltat=1.0) ''' # Run with profiling:
print( "TRSL_dynamic_cell_cycle_volume_effects: simulating from {} to {}...". format(start, stop)) transcriptome = transcriptomes_dict[start / 60] mRNAs = [] counter = 0 description = 'volume-adjusted polyphasic cell cycle v2 from {} to {}, Teufel transcriptome, full exome, no decay, with ribo growth factor, updated initiation rates according to Shah'.format( start, stop) for gene in genes: for transcript in range(transcriptome[gene]): mRNAs.append( MRNA_specific.mRNA_spec(index=counter, sequence=exome[gene], geneID=gene, ribosomes={}, init_rate=init_rates[gene]) ) # do not just multiply the list counter += 1 print( "TRSL_dynamic_cell_cycle_volume_effects: created transcriptome at time {}." .format(start)) tr = TRSL_specific.TRSL_spec(mRNAs, exome, None, int(nribo_start * growth_factor), proteome=col.Counter({}), detail=True)
genes = list(set(conf[i]['exome']) & set(conf[i]['transcriptome']) & set(conf[i]['init_rates']) & set( conf[i]['decay_constants'])) else: genes = list(set(conf[i]['exome']) & set(conf[i]['transcriptome']) & set(conf[i]['init_rates'])) conf[i]['decay_constants'] = None print "found %s genes in common." % len(genes) mRNAs = [] counter = 0 for gene in genes: if conf[i]['init_rates']: if gene in conf[i]['transcriptome'] and gene in conf[i]['init_rates']: print "abundancies and initiation rates available for gene:", gene for instance in range(conf[i]['transcriptome'][gene]): mRNAs.append(MRNA_specific.mRNA_spec(index=counter, sequence=conf[i]['exome'][gene], geneID=gene, ribosomes={}, init_rate=conf[i]['init_rates'][gene])) counter += 1 else: if gene in conf[i]['transcriptome']: print "abundancies but no initiation rate available for gene:", gene for instance in range(conf[i]['transcriptome'][gene]): mRNAs.append(MRNA_specific.mRNA_spec(index=counter, sequence=conf[i]['exome'][gene], geneID=gene, ribosomes={})) # do not just multiply the list counter += 1 print "built gene library, next: run TRSL_spec." description = conf[i]['description'] print description
duration = 1200.0 # should be sufficent to saturate ribonumbers = range(50000, 550000, 50000) for ribonumber in ribonumbers: scaling_factor = ribonumber * 1.0 / 200000 for transcriptome_ID in transcriptomes_dict: mRNAs = [] description = '{} ribosomes, {} phase transcriptome, varying tRNAs, full exome, no decay, median-enhanced initiation rates according to Shah'.format(ribonumber, transcriptome_ID) counter = 0 genes = list(set(exome) & set(transcriptomes_dict[transcriptome_ID]) & set(init_rates)) print "found %s genes in common." % len(genes) for gene in genes: for transcript in range(transcriptomes_dict[transcriptome_ID][gene]): mRNAs.append(MRNA_specific.mRNA_spec(index=counter, sequence=exome[gene], geneID=gene, ribosomes={}, init_rate=init_rates[gene])) # do not just multiply the list counter += 1 print "created transcriptome: {}.".format(description) tr = TRSL_specific.TRSL_spec(mRNAs, exome, decay_constants=None, nribo=ribonumber, proteome=col.Counter({}), detail=False) # tr._tRNA = col.Counter({i: TRSL_specific.tRNA_types[i]['abundancy'] for i in TRSL_specific.tRNA_types}) tr._tRNA = col.Counter({i: int(TRSL_specific.tRNA_types[i]['abundancy'] * scaling_factor * len(genes) / len(exome)) for i in TRSL_specific.tRNA_types}) # this time we do let tRNA vary like the ribosomes tr._tRNA_free = col.Counter({i: int(tr._tRNA[i]) for i in TRSL_specific.tRNA_types}) # tRNA not bound to ribosomes tr._tRNA_bound = tr._tRNA - tr._tRNA_free # tRNA bound to ribosomes # Run without profiling: # tr.solve_internal(0, duration, deltat=0.2) # Run with profiling:
set(conf[i]['exome']) & set(conf[i]['transcriptome']) & set(conf[i]['init_rates'])) conf[i]['decay_constants'] = None print "found %s genes in common." % len(genes) mRNAs = [] counter = 0 for gene in genes: if conf[i]['init_rates']: if gene in conf[i]['transcriptome'] and gene in conf[i][ 'init_rates']: print "abundancies and initiation rates available for gene:", gene for instance in range(conf[i]['transcriptome'][gene]): mRNAs.append( MRNA_specific.mRNA_spec( index=counter, sequence=conf[i]['exome'][gene], geneID=gene, ribosomes={}, init_rate=conf[i]['init_rates'][gene])) counter += 1 else: if gene in conf[i]['transcriptome']: print "abundancies but no initiation rate available for gene:", gene for instance in range(conf[i]['transcriptome'][gene]): mRNAs.append( MRNA_specific.mRNA_spec( index=counter, sequence=conf[i]['exome'][gene], geneID=gene, ribosomes={})) # do not just multiply the list counter += 1 print "built gene library, next: run TRSL_spec."