Skip to main content

Basic language to parse genetic rules to a structure

Project description

Gene Parser AST

A rule expression in genetics can be found like this relation of AND+OR:

rule = '(9045_AT1 and (B0783 and B0088)) or (3705_AT1 or (91012_AT1 and 55304_AT1))'

This module enables a a parser that convert an string expression that relates the genes in a object structure like this:

Or(
    left=And(left=Gene(name='9045_AT1'), right=And(left=Gene(name='B0783'), right=Gene(name='B0088'))),
    right=Or(
        left=Gene(name='3705_AT1'),
        right=And(left=Gene(name='91012_AT1'), right=Gene(name='55304_AT1'))
    )
)

To process this and obtain the representative value first is necessary use the parser method and then call tree_analysis. This last function reads recursively all the tree and obtain, given this rules, the final value:

  • or : sum([a,b])
  • and : min([a,b])

And, for UNKNOWN value:

  • Expression(UNKNOWN) :: mean([Expression(G_i)])

With this is possible to have the representative value for the gene rule expression.

Take a look on the examples on the tests directory.

How install this.

Call poetry

poetry install

Run the tests:

Basic example:

poetry run python tests/test_basic.py 

General Example:

poetry run python tests/test_parser_general.py 

Check then the parser.

Once installed you can check the for gene rule expressions using the command rule_parser.

rule_parser "1321A and 123123B and (123123B or 32312C)"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gene_rule_parser-0.1.5.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

gene_rule_parser-0.1.5-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file gene_rule_parser-0.1.5.tar.gz.

File metadata

  • Download URL: gene_rule_parser-0.1.5.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.5.0-41-generic

File hashes

Hashes for gene_rule_parser-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3f49a9d827a1673f5b5a0d226ca62f63aa1fe90cd2d88fefd6b698f0a6e4d581
MD5 b0dedb6d219f7d257cce63b038eb58e4
BLAKE2b-256 d1ffd60df3448661076e61b5c37208252abad96f0c75ac4a222a7cc717328c41

See more details on using hashes here.

File details

Details for the file gene_rule_parser-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: gene_rule_parser-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.5.0-41-generic

File hashes

Hashes for gene_rule_parser-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f9e1f48740ffc1d54842010e0e8c0b5a8158b04d5b98c4a3aba0f19ff582ea63
MD5 d432ad2e7a087bf3196a71bd2bda269e
BLAKE2b-256 06d3c5f64cfd82924289b64ed28201bb474cb0c6d8ce7a42ade006162d1619f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page