Skip to main content

pySEQTarget - Sequentially Nested Target Trial Emulation

PyPI version Downloads codecovLicense: MIT versions Documentation Status

Implementation of sequential trial emulation for the analysis of observational databases. The pySEQTarget software accommodates time-varying treatments and confounders, as well as binary and failure time outcomes. pySEQTarget allows to compare both static and dynamic strategies, can be used to estimate observational analogs of intention-to-treat and per-protocol effects, and can adjust for potential selection bias.

Installation

You can install the development version of pySEQTarget from github with:

pip install git+https://github.com/CausalInference/pySEQTarget

Or from pypi iwth

pip install pySEQTarget

Setting up your Analysis

The primary API, SEQuential uses a dataclass system to handle function input. You can then recover elements as they are built by interacting with the SEQuential object you create.

From the user side, this amounts to creating a dataclass, SEQopts, and then feeding this into SEQuential. If you forgot to add something at class instantiation, you can, in some cases, add them when you call their respective class method.

from pySEQTarget import SEQuential, SEQopts
from pySEQTarget.data import load_data

data = load_data("SEQdata")
options = SEQopts(km_curves = True)

# Initiate the class
model = SEQuential(data, 
                   id_col = "ID",
                   time_col = "time",
                   eligible_col = "eligible",
                   treatment_col = "tx_init",
                   outcome_col = "outcome",
                   time_varying_cols = ["N", "L", "P"],
                   fixed_cols = ["sex"],
                   method = "ITT",
                   parameters = options)
model.expand()  # Construct the nested structure
model.bootstrap(bootstrap_nboot = 20) # Run 20 bootstrap samples
model.fit() # Fit the model
model.survival() # Create survival curves
model.plot() # Create and show a plot of the survival curves
model.collect() # Collection of important information

Assumptions

There are several key assumptions in this package -

  1. User provided time_col begins at 0 per unique id_col, we also assume this column contains only integers and continues by 1 for every time step, e.g. (0, 1, 2, 3, 4, ...) is allowed and (0, 1, 2, 2.5, ...) or (0, 1, 4, 5) are not
    1. Provided time_col entries may be out of order at intake as a sort is enforced at expansion.
  2. eligible_col and elements of excused_colnames are once 1, only 1 (with respect to time_col) flag variables.

Download files

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

Source Distribution

pyseqtarget-0.14.0.tar.gz (84.5 kB view details)

Uploaded Source

Built Distribution

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

pyseqtarget-0.14.0-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

File details

Details for the file pyseqtarget-0.14.0.tar.gz.

File metadata

  • Download URL: pyseqtarget-0.14.0.tar.gz
  • Upload date:
  • Size: 84.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyseqtarget-0.14.0.tar.gz
Algorithm Hash digest
SHA256 9c168372d816787b5043777fab5ff5ec687a6cdba7a1d0c39e57b3a3d49519a9
MD5 0e99ed30cf1ff56590e980903b35b2d5
BLAKE2b-256 4797287650dd1ff091b3e8da9009ef5f03011b96cbc1b9fbb5e39bbaeb306390

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyseqtarget-0.14.0.tar.gz:

Publisher: publish.yml on CausalInference/pySEQTarget

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyseqtarget-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: pyseqtarget-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 68.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyseqtarget-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d449cbeec3d308849636993c19685c4bb8fa276e88292f27fb729c0029908ed8
MD5 0960f2f101326b9486b09f57c3d5ad10
BLAKE2b-256 0d8be0b2f2104210cdb40997929089d61e561be6cc3c4aa4764175ac62c32732

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyseqtarget-0.14.0-py3-none-any.whl:

Publisher: publish.yml on CausalInference/pySEQTarget

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.14.0 This release

2 files

0.13.9

2 files

0.13.8

2 files

0.13.7

2 files

0.13.6

2 files

0.13.5

2 files

0.13.4

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.9

2 files

0.12.8

2 files

0.12.7

2 files

0.12.6

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

Supported by

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