vanheeringen-lab/ANANSE

View on GitHub

Showing 15 of 16 total issues

Function bed_resize has a Cognitive Complexity of 27 (exceeds 15 allowed). Consider refactoring.
Open

    def bed_resize(
        genome,
        bed_in,
        bed_out,
        width=200,
Severity: Minor
Found in ananse/bed.py - About 2 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function plot_grn has 34 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def plot_grn(
    infile,
    fname,
    outfile,
    edge_info="weight",
Severity: Minor
Found in ananse/plot.py - About 1 hr to fix

    Function prepare_reference_network has a Cognitive Complexity of 18 (exceeds 15 allowed). Consider refactoring.
    Open

    def prepare_reference_network(network, filter_tfs=True):
        """Generate reference network.
    
        This network contains all possible edges, based on the TFs
        and the target genes in the input. TFs are optionally filtered
    Severity: Minor
    Found in ananse/benchmark.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function _load_cage has a Cognitive Complexity of 18 (exceeds 15 allowed). Consider refactoring.
    Open

        def _load_cage(self, cage_tpms, regions=None, pfmscorefile=None, window=200):
            """Load CAGE data: Bidirectional regions and TPMs
    
            The CAGE file needs to contain two columns:
                1. regions in chr:start-end format
    Severity: Minor
    Found in ananse/peakpredictor.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function __init__ has a Cognitive Complexity of 18 (exceeds 15 allowed). Consider refactoring.
    Open

        def __init__(
            self,
            reference=None,
            atac_bams=None,
            histone_bams=None,
    Severity: Minor
    Found in ananse/peakpredictor.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Avoid deeply nested control flow statements.
    Open

                            if int(nstart) < 0 or int(nend) > chrm_len:
                                continue
                        else:
    Severity: Major
    Found in ananse/bed.py - About 45 mins to fix

      Function _load_factor2motifs has a Cognitive Complexity of 17 (exceeds 15 allowed). Consider refactoring.
      Open

          def _load_factor2motifs(self, pfmfile=None, indirect=True, factors=None):
              motifs = read_motifs(pfmfile, as_dict=True)
              f2m = {}
      
              valid_factors = []
      Severity: Minor
      Found in ananse/peakpredictor.py - About 35 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Avoid too many return statements within this function.
      Open

              return prepare_reference_network(_read_msigdb_reference(fname))
      Severity: Major
      Found in ananse/benchmark.py - About 30 mins to fix

        Avoid too many return statements within this function.
        Open

                return df
        Severity: Major
        Found in ananse/view.py - About 30 mins to fix

          Avoid too many return statements within this function.
          Open

              return df
          Severity: Major
          Found in ananse/view.py - About 30 mins to fix

            Avoid too many return statements within this function.
            Open

                    return False
            Severity: Major
            Found in ananse/bed.py - About 30 mins to fix

              Avoid too many return statements within this function.
              Open

                      return prepare_reference_network(fname)
              Severity: Major
              Found in ananse/benchmark.py - About 30 mins to fix

                Avoid too many return statements within this function.
                Open

                        return prepare_reference_network(_read_regnet_reference(fname))
                Severity: Major
                Found in ananse/benchmark.py - About 30 mins to fix

                  Function _read_enrichr_perturbation_reference has a Cognitive Complexity of 16 (exceeds 15 allowed). Consider refactoring.
                  Open

                  def _read_enrichr_perturbation_reference(fname=None):
                      """Uses the TF perturbations from Enrichr[1,2] to create reference edges.
                  
                      Targets are defined by up- or down-regulated gened from the following sets:
                      Up: INDUCTION, ACTIVATION, OE.
                  Severity: Minor
                  Found in ananse/benchmark.py - About 25 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Function view_h5 has a Cognitive Complexity of 16 (exceeds 15 allowed). Consider refactoring.
                  Open

                  def view_h5(
                      fname,
                      tfs=None,
                      regions=None,
                      fmt="wide",
                  Severity: Minor
                  Found in ananse/view.py - About 25 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Severity
                  Category
                  Status
                  Source
                  Language