Skip to main content

Parse paraphase JSONs

Project description

Paraphrase

Parse paraphase JSONs.

Usage

 Usage: paraphrase [OPTIONS]

 Parse paraphase JSONs.

╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --input          -f      FILE  Input JSON files (can be multiple) [required]                                                               │
│ *  --sample         -s      TEXT  Sample names corresponding to input JSON files [required]                                                   │
│    --rules          -r      FILE  Optional YAML file with per-gene classification rules (adds 'status' fields)                                │
│    --skip-keys              TEXT  Comma-separated keys to skip (e.g. region_depth,final_haplotypes)                                           │
│    --genes                  TEXT  Optional comma-separated list of gene names to process                                                      │
│    --output-format  -o      TEXT  Output format: 'json' (default) or 'tsv' [default: json]                                                    │
│    --help                         Show this message and exit.                                                                                 │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Example command:

uv run paraphrase \
    --input test-data/HG002.paraphase.json \
    --input test-data/HG003.paraphase.json \
    --input test-data/HG004.paraphase.json \
    --sample HG002 \
    --sample HG003 \
    --sample HG004 \
    --rules test-data/rules.yaml \
    --genes CFH,CFHR3,f8,GBA,hba,ikbkg,ncf1,neb,opn1lw,pms2,rccx,smn1,strc

Rules YAML (per-gene status classification)

Rules are evaluated per gene. Conditions within a single when mapping are combined with logical AND (all must be true). If multiple rules match, you can provide a status_order to pick the most severe (last wins by order).

Example:

smn1:
  # Optional; defaults to "normal" if omitted
  default_status: normal
  # Optional; defaults to [normal, intermediate, pathological] if omitted
  status_order: [normal, intermediate, pathological]
  rules:
    - status: intermediate
      when:
        smn1_cn: 0
        smn2_cn: { ">=": 4 }
      reason: "SMN1 deleted but SMN2 high"
    - status: pathological
      when:
        smn1_cn: { "<": 2 }
      reason: "SMN1 copy number low"

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

paraphrase-0.1.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paraphrase-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file paraphrase-0.1.0.tar.gz.

File metadata

  • Download URL: paraphrase-0.1.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for paraphrase-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8a366ed2a6e15ef603bb2d154147fdc07b1a21735459f9ad3ac83f72e7f3fadf
MD5 1798a64b8ba9dc1c8ea7560dfc440e33
BLAKE2b-256 ff32e72cabfdef73e474af24e92be836af9774ec3bdf1ef69f2c0537b075a138

See more details on using hashes here.

File details

Details for the file paraphrase-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: paraphrase-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for paraphrase-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78f07a550334f8cd1084194a6c286c48d9ad84fdeaf3d0ccb912ad655c9fba45
MD5 65bdc46e3c63f460bbe8f604b10148d6
BLAKE2b-256 5ec7d9fc3dd254a992cd3e341da4b7d5a82909050c05b2e0c17fbd2056f910b9

See more details on using hashes here.

Supported by

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