KarrLab/wc_model_gen

View on GitHub

Showing 341 of 341 total issues

Avoid deeply nested control flow statements.
Open

                        if species == self._rxn_species_modifier[reaction.id][0]:
                            modifier_reactants.append(species)
                else:
Severity: Major
Found in wc_model_gen/eukaryote/protein_degradation.py - About 45 mins to fix

    Function gen_response_functions has 6 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def gen_response_functions(model, beta, reaction_id, reaction_class, compartment, reaction_factors):
    Severity: Minor
    Found in wc_model_gen/utils.py - About 45 mins to fix

      Similar blocks of code found in 13 locations. Consider refactoring.
      Open

                  init_reaction.participants.append(metabolites['pi'][
                      translation_compartment.id].species_coefficients.get_or_create(coefficient=5))
      Severity: Major
      Found in wc_model_gen/eukaryote/translation_translocation.py and 12 other locations - About 45 mins to fix
      wc_model_gen/eukaryote/transcription.py on lines 439..440
      wc_model_gen/eukaryote/transcription.py on lines 442..443
      wc_model_gen/eukaryote/transcription.py on lines 445..446
      wc_model_gen/eukaryote/transcription.py on lines 448..449
      wc_model_gen/eukaryote/transcription.py on lines 451..452
      wc_model_gen/eukaryote/translation_translocation.py on lines 358..359
      wc_model_gen/eukaryote/translation_translocation.py on lines 360..361
      wc_model_gen/eukaryote/translation_translocation.py on lines 362..363
      wc_model_gen/eukaryote/translation_translocation.py on lines 369..370
      wc_model_gen/eukaryote/translation_translocation.py on lines 371..372
      wc_model_gen/eukaryote/translation_translocation.py on lines 373..374
      wc_model_gen/eukaryote/translation_translocation.py on lines 375..376

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 35.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Avoid deeply nested control flow statements.
      Open

                              if unknown_vmax_count > 0:
                                  shared_vmax = (value - known_vmax)/unknown_vmax_count
                              for comp, kcat in comp_kcat.items():                            
      Severity: Major
      Found in wc_model_gen/eukaryote/metabolism.py - About 45 mins to fix

        Avoid deeply nested control flow statements.
        Open

                                if model_compartment.init_density.function_expressions:
                                    volume = model_compartment.init_density.function_expressions[0].function
                                    unit_adjusted_term = '{} * {} * {}'.format(param.id, Avogadro.id, volume.id)
                                else:
                                    volume = model_compartment.init_volume.mean    
        Severity: Major
        Found in wc_model_gen/eukaryote/initialize_model.py - About 45 mins to fix

          Similar blocks of code found in 13 locations. Consider refactoring.
          Open

                      init_reaction.participants.append(metabolites['h2o'][
                          translation_compartment.id].species_coefficients.get_or_create(coefficient=-5))
          Severity: Major
          Found in wc_model_gen/eukaryote/translation_translocation.py and 12 other locations - About 45 mins to fix
          wc_model_gen/eukaryote/transcription.py on lines 439..440
          wc_model_gen/eukaryote/transcription.py on lines 442..443
          wc_model_gen/eukaryote/transcription.py on lines 445..446
          wc_model_gen/eukaryote/transcription.py on lines 448..449
          wc_model_gen/eukaryote/transcription.py on lines 451..452
          wc_model_gen/eukaryote/translation_translocation.py on lines 360..361
          wc_model_gen/eukaryote/translation_translocation.py on lines 362..363
          wc_model_gen/eukaryote/translation_translocation.py on lines 369..370
          wc_model_gen/eukaryote/translation_translocation.py on lines 371..372
          wc_model_gen/eukaryote/translation_translocation.py on lines 373..374
          wc_model_gen/eukaryote/translation_translocation.py on lines 375..376
          wc_model_gen/eukaryote/translation_translocation.py on lines 377..378

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 35.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Avoid deeply nested control flow statements.
          Open

                                  if part.species.id in met_requirement:
                                      met_requirement[part.species.id] += -part.coefficient * mean_concentration * \
                                          (1 + doubling_time / half_life)
                          # Transcription elongation
                          transcription_el_reaction = model.reactions.get_one(id='transcription_elongation_{}'.format(rna_kb.id))
          Severity: Major
          Found in wc_model_gen/eukaryote/metabolism.py - About 45 mins to fix

            Similar blocks of code found in 13 locations. Consider refactoring.
            Open

                        init_reaction.participants.append(metabolites['gdp'][
                            translation_compartment.id].species_coefficients.get_or_create(coefficient=2))
            Severity: Major
            Found in wc_model_gen/eukaryote/translation_translocation.py and 12 other locations - About 45 mins to fix
            wc_model_gen/eukaryote/transcription.py on lines 439..440
            wc_model_gen/eukaryote/transcription.py on lines 442..443
            wc_model_gen/eukaryote/transcription.py on lines 445..446
            wc_model_gen/eukaryote/transcription.py on lines 448..449
            wc_model_gen/eukaryote/transcription.py on lines 451..452
            wc_model_gen/eukaryote/translation_translocation.py on lines 358..359
            wc_model_gen/eukaryote/translation_translocation.py on lines 360..361
            wc_model_gen/eukaryote/translation_translocation.py on lines 362..363
            wc_model_gen/eukaryote/translation_translocation.py on lines 369..370
            wc_model_gen/eukaryote/translation_translocation.py on lines 371..372
            wc_model_gen/eukaryote/translation_translocation.py on lines 373..374
            wc_model_gen/eukaryote/translation_translocation.py on lines 377..378

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 35.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Avoid deeply nested control flow statements.
            Open

                                    if part.species.id in met_requirement:
                                        met_requirement[part.species.id] += -part.coefficient * mean_concentration * \
                                            (1 + doubling_time / half_life)
                        
            Severity: Major
            Found in wc_model_gen/eukaryote/metabolism.py - About 45 mins to fix

              Avoid deeply nested control flow statements.
              Open

                                      for kcat in law.expression.parameters:                                                     
                                          kcat.value = kcat.value*value/effective_vmax
                                          kcat.comments = 'Measured value adjusted to relax bound'
                              elif all(numpy.isnan(kcat.value) for kcat in law.expression.parameters):
              Severity: Major
              Found in wc_model_gen/eukaryote/metabolism.py - About 45 mins to fix

                Avoid deeply nested control flow statements.
                Open

                                        if not numpy.isnan(kcat.value):
                                            known_vmax += kcat.value*comp.distribution_init_concentration.mean
                                        else:
                                            comp_kcat[comp] = kcat    
                                    if known_vmax < value and (value - known_vmax)/value > 0.01:
                Severity: Major
                Found in wc_model_gen/eukaryote/metabolism.py - About 45 mins to fix

                  Avoid deeply nested control flow statements.
                  Open

                                          if not proteasome_st:
                                              proteasome_st = model.species_types.get_one(name=proteasome)
                                          
                  Severity: Major
                  Found in wc_model_gen/eukaryote/protein_degradation.py - About 45 mins to fix

                    Similar blocks of code found in 13 locations. Consider refactoring.
                    Open

                                init_reaction.participants.append(metabolites['adp'][
                                    translation_compartment.id].species_coefficients.get_or_create(coefficient=1))
                    Severity: Major
                    Found in wc_model_gen/eukaryote/translation_translocation.py and 12 other locations - About 45 mins to fix
                    wc_model_gen/eukaryote/transcription.py on lines 439..440
                    wc_model_gen/eukaryote/transcription.py on lines 442..443
                    wc_model_gen/eukaryote/transcription.py on lines 445..446
                    wc_model_gen/eukaryote/transcription.py on lines 448..449
                    wc_model_gen/eukaryote/transcription.py on lines 451..452
                    wc_model_gen/eukaryote/translation_translocation.py on lines 358..359
                    wc_model_gen/eukaryote/translation_translocation.py on lines 360..361
                    wc_model_gen/eukaryote/translation_translocation.py on lines 362..363
                    wc_model_gen/eukaryote/translation_translocation.py on lines 369..370
                    wc_model_gen/eukaryote/translation_translocation.py on lines 371..372
                    wc_model_gen/eukaryote/translation_translocation.py on lines 375..376
                    wc_model_gen/eukaryote/translation_translocation.py on lines 377..378

                    Duplicated Code

                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                    Tuning

                    This issue has a mass of 35.

                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                    Refactorings

                    Further Reading

                    Avoid deeply nested control flow statements.
                    Open

                                            for species in obs.expression.species:    
                                                trans_species_counts[species.id] = species.distribution_init_concentration.mean
                    
                    
                    Severity: Major
                    Found in wc_model_gen/eukaryote/translation_translocation.py - About 45 mins to fix

                      Avoid deeply nested control flow statements.
                      Open

                                              if proteasome_species == self._rxn_species_modifier[reaction.id][0]:
                                                  modifier_reactants.append(proteasome_species)
                                          
                      Severity: Major
                      Found in wc_model_gen/eukaryote/protein_degradation.py - About 45 mins to fix

                        Similar blocks of code found in 13 locations. Consider refactoring.
                        Open

                                    init_reaction.participants.append(metabolites['amp'][
                                        translation_compartment.id].species_coefficients.get_or_create(coefficient=1))
                        Severity: Major
                        Found in wc_model_gen/eukaryote/translation_translocation.py and 12 other locations - About 45 mins to fix
                        wc_model_gen/eukaryote/transcription.py on lines 439..440
                        wc_model_gen/eukaryote/transcription.py on lines 442..443
                        wc_model_gen/eukaryote/transcription.py on lines 445..446
                        wc_model_gen/eukaryote/transcription.py on lines 448..449
                        wc_model_gen/eukaryote/transcription.py on lines 451..452
                        wc_model_gen/eukaryote/translation_translocation.py on lines 358..359
                        wc_model_gen/eukaryote/translation_translocation.py on lines 360..361
                        wc_model_gen/eukaryote/translation_translocation.py on lines 362..363
                        wc_model_gen/eukaryote/translation_translocation.py on lines 369..370
                        wc_model_gen/eukaryote/translation_translocation.py on lines 373..374
                        wc_model_gen/eukaryote/translation_translocation.py on lines 375..376
                        wc_model_gen/eukaryote/translation_translocation.py on lines 377..378

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 35.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 3 locations. Consider refactoring.
                        Open

                                        if modifier == self._rxn_species_modifier[reaction.id][0]:
                                            modifier_reactants.append(modifier)
                        Severity: Major
                        Found in wc_model_gen/eukaryote/protein_degradation.py and 2 other locations - About 45 mins to fix
                        wc_model_gen/eukaryote/protein_degradation.py on lines 184..186
                        wc_model_gen/eukaryote/protein_degradation.py on lines 200..201

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 35.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                        gvar.protein_aa_usage[mrna_kb.protein.id] = {i:0 for i in list(amino_acid_id_conversion.keys())}
                        Severity: Minor
                        Found in wc_model_gen/eukaryote/translation_translocation.py and 1 other location - About 45 mins to fix
                        wc_model_gen/eukaryote/complexation.py on lines 183..184

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 35.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                                el_reaction.participants.append(metabolites['adp'][
                                                    translation_compartment.id].species_coefficients.get_or_create(
                        Severity: Minor
                        Found in wc_model_gen/eukaryote/translation_translocation.py and 1 other location - About 45 mins to fix
                        wc_model_gen/eukaryote/translation_translocation.py on lines 429..430

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 35.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Avoid deeply nested control flow statements.
                        Open

                                                if species_init_conc:
                                                    species_init_conc.mean += flux * participant.coefficient
                                                    
                                                else:
                                                    conc_model = model.distribution_init_concentrations.create(
                        Severity: Major
                        Found in wc_model_gen/eukaryote/complexation.py - About 45 mins to fix
                          Severity
                          Category
                          Status
                          Source
                          Language