Tuning filtration schema API

Filtration functionality uses not only filtering properties but filtering functions also. So main part of filtering schema is configured in terms of Configuration of filtration schema API, and then on tuning stage one needs to insert function units into it, and configure these functions.

For full reference of functions used in the current version of the system see Filtering functions.

Unfortunately, this part of configuration API is deeply connected with the system kernel: most part of functions are features of zygosity complex and have heavy implementation. So it is not possible to describe this API independently of system kernel API, as it was declared in Code configuration layer overview.

Here we superficially explain application of tuning API in the source file

app/config/flt_tune.py

  • Main objects of tuning are instances of classes for filtering functions. Each of these classes has method makeIt():

class <Function>Unit:
    @staticmethod
    def makeIt(ds_h, descr, before = None, after = None):
        ...
  • Zygosity Support complex should be configured here:

    • It is required to setup data for X-chromosome in terms of units of filtering schema:

      zyg_support.setupX(x_unit = "Chromosome", x_values = ["chrX"])
      
    • It is required to setup gene approximations available for the dataset:

      zyg_support.regGeneApprox("rough",
          "Symbol", "non-intersecting transcripts")
      ...
      
  • GeneRegion() function unit is not a part of zygosity complex, so is comparatively light in implementation, and configurable. To create instance of this function unit one needs to define references to units from filtering schema in a single dictionary with properties chrom/start/end/symbol

See also

Configuration of filtration schema API

Code configuration layer overview

Filtering functions