Skip to main content

Personalized Integrated Nanopore Profiling of Individual (Copy-)Number Trajectories

Project description

PINPOINT

Personalized Integrated Nanopore Profiling Of Individual (Copy-)Number Trajectories

A Python tool for personalized cancer monitoring from pediatric CSF liquid biopsies, based on nanopore sequencing → ichorCNA → personalized CNA signal tracking over time.


What it does

  • Finds a patient-specific CNA fingerprint from a reference tumor sample
  • Tracks this signal longitudinally across follow-up CSF samples
  • Scores each sample using a sign concordance score against the reference
  • Visualizes results as temporal graphs and per-chromosome heatmaps
  • Highlights suspected driver genes (COSMIC Cancer Gene Census) in altered regions

Installation

pip install pinpoint-sig

Or from source:

git clone https://github.com/nir-lavi/pinpoint.git
cd pinpoint
pip install -e .

Quick Start

import pinpoint
import datetime

# Add samples for a patient (first sample becomes reference automatically)
pinpoint.add_sample(
    patient        = "Patient_1",
    sample_name    = "CSF-001",
    sample_date    = datetime.datetime(2023, 1, 15),
    ichor_location = "/path/to/ichorCNA/CSF-001/",
    tumor_fraction = 0.42,
    coverage       = 1.8,
    disease_status = "AD",
    diagnosis      = "Medulloblastoma",
)

pinpoint.add_sample(
    patient        = "Patient_1",
    sample_name    = "CSF-002",
    sample_date    = datetime.datetime(2023, 4, 10),
    ichor_location = "/path/to/ichorCNA/CSF-002/",
    tumor_fraction = 0.05,
    coverage       = 0.5,
    disease_status = "NED",
    diagnosis      = "Medulloblastoma",
)

# Plot
pinpoint.plot_temporal("Patient_1", save=True)
pinpoint.plot_heatmap("Patient_1", genes=True, save=True)

Tutorial

A full worked example using a pediatric Pinealoblastoma case (9 longitudinal CSF samples over 17 months) is available in tutorial/PINPOINT_tutorial.ipynb.

The notebook covers:

  • Adding samples and setting up a patient directory
  • How the reference tumor fingerprint is selected
  • Interpreting the signf score
  • Generating and reading the temporal plot and heatmap

Note: The tutorial notebook is provided without raw data for patient privacy reasons.
To run it, point ICHOR_BASE to your own ichorCNA output directory.

Example Output

Temporal Score Trajectory

Longitudinal signf scores across 9 CSF samples. The patient transitions from Active Disease (red) to No Evidence of Disease (green), with scores dropping below the 0.2 threshold in remission.

Temporal plot

Per-Chromosome Heatmap with Suspected Driver Genes

Per-chromosome sign concordance scores across all samples. Red columns indicate chromosomes with strong tumor signal. The gene panel below highlights COSMIC driver genes in altered regions — red = amplified oncogenes, blue = deleted tumor suppressors.

Heatmap

Input Requirements

Each sample requires ichorCNA output files in ichor_location/:

  • {sample_name}.correctedDepth.txt
  • {sample_name}.seg

Patient Directory Structure

Patient_1/
    info.tsv          # sample metadata + scores (auto-generated)
    reference.tsv     # reference CNA profile with informative mask
    plots/            # saved figures

API Reference

Function Description
add_sample(patient, sample_name, ...) Add a sample and compute scores
set_reference(patient, sample_name) Change the reference sample
plot_temporal(patient, save=True) Plot score + coverage timeline
plot_heatmap(patient, genes=True, save=True) Plot per-chromosome heatmap

Citation

If you use PINPOINT in your research, please cite: (coming soon)

License

MIT

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

pinpoint_sig-0.1.2.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

pinpoint_sig-0.1.2-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file pinpoint_sig-0.1.2.tar.gz.

File metadata

  • Download URL: pinpoint_sig-0.1.2.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pinpoint_sig-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fa0f8ef38f80e7e1c1f25cd4db9038f53879916cd4289ebfbf1b886b5d99ae86
MD5 496ba3c22f0641dc177092544ea27ae5
BLAKE2b-256 4134db0fa28fcc5d8c73cf179516d59b75e91f9a8cb17ba41c9fe84331182690

See more details on using hashes here.

File details

Details for the file pinpoint_sig-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pinpoint_sig-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pinpoint_sig-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc0314999b7d7b4026b6fb8773ee5bdff56e4257880632e874a075d423ef3c9b
MD5 a2303ac50422aee85a81942e24ecdac6
BLAKE2b-256 ac5e42d8415691999982c23d6f3683f0857cd1196474251a209ef307908b0291

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