예제 #1
0
 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())
예제 #2
0
# 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)
예제 #4
0
        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
예제 #5
0
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:
예제 #6
0
         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."