Skip to main content

Extreme-scale search pipeline from Seer

Project description

fulcrum logo

Fulcrum Pipeline™ is a search pipeline for extreme-scale proteomics experiments. It's based on composable, modular implementations using Spark to attain near-infinite scalability.

Installation

This library requires Python 3.10+ and can be installed with pip:

pip install fulcrum-ms

You may also need to install Java if you intend to run workflows locally.

Using Fulcrum on Databricks

Fulcrum is built to quickly run in a Databricks notebook environment. After setting up a cluster, you can install directly from your notebook:

%pip install fulcrum-ms

When invoking Fulcrum you should specify the SparkSession in use using the spark keyword parameter:

from fulcrum import fulcrum

fulcrum(spark=spark, **params)

CLI Usage

Fulcrum includes a CLI that permits running a workflow using TOML parameters:

fulcrum -v --param-toml '
workflow = "v0"

[search]
backend = "read_existing"
engine = "encyclopedia"
location = "data/2017dec27_overlap_dia_6b_rep1_604to616.dia.features.txt"
'

The CLI will accept JSON or TOML as either a string or a file:

# JSON string
fulcrum --param-json '{
    "workflow": "v0",
    "search": {
      "backend": "read_existing",
      "engine": "encyclopedia",
      "location": "data/2017dec27_overlap_dia_6b_rep1_604to616.dia.features.txt"
    }
}'

# JSON file
fulcrum --json-file path/to/file.json

# TOML file
fulcrum --toml-file path/to/file.toml

Python Usage

The full flexibility of Fulcrum is available through the Python library's fulcrum function. Usage is similar from a REPL or notebook interface:

>>> import logging; logging.getLogger().setLevel("INFO")
>>> from fulcrum import fulcrum
>>> fulcrum(
...   workflow = "v0",
...   search = dict(
...     backend = "read_existing",
...     engine = "encyclopedia",
...     location = "data/2017dec27_overlap_dia_6b_rep1_604to616.dia.features.txt",
...   )
... )
INFO:fulcrum.workflow.v0:Search stage found 1770 PSMs in 4.24 sec
INFO:fulcrum.workflow.v0:Built rescoring model in 3.57 sec
INFO:fulcrum.workflow.v0:Assigning confidence across the dataset using "mokapot score" (ascending)
INFO:fulcrum.workflow.v0:Assigned confidence to 832 PSMs or peptides in 2.81 sec
INFO:fulcrum.workflow.v0:Found 522 PSMs or peptides at 1% FDR

Configuring Spark

You may configure a connection to a Spark cluster by providing an appropriate spark_config section in the workflow parameters:

[spark_config]
"spark.master"="local[*]"
"driver.memory"="4g"

When calling Fulcrum from Python, you can either specify a [spark_config]{.title-ref} or pass a SparkSession{.interpreted-text role="py:class"} using the [spark]{.title-ref} parameter.

fulcrum(
    spark=spark_session,
)

# OR

fulcrum(
    spark_config={
        "spark.master": "local[*]",
        "driver.memory": "4g",
    },
)

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

fulcrum_ms-1.9.7.tar.gz (437.2 kB view details)

Uploaded Source

Built Distribution

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

fulcrum_ms-1.9.7-py3-none-any.whl (74.2 kB view details)

Uploaded Python 3

File details

Details for the file fulcrum_ms-1.9.7.tar.gz.

File metadata

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

File hashes

Hashes for fulcrum_ms-1.9.7.tar.gz
Algorithm Hash digest
SHA256 93b51890bcc32ad182475e9a078d8da897dda735acc6490b9313e40b581ff357
MD5 20f7a6db37cf23c3a18f3066746dfbf1
BLAKE2b-256 29acb69c4d054b7951fbecbcfa2b5cb817ee4db9bddea24ed3b894dc9f2ba418

See more details on using hashes here.

Provenance

The following attestation bundles were made for fulcrum_ms-1.9.7.tar.gz:

Publisher: publish.yml on seerbio/fulcrum

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

File details

Details for the file fulcrum_ms-1.9.7-py3-none-any.whl.

File metadata

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

File hashes

Hashes for fulcrum_ms-1.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eb9b74cce109a8f02df981426e034cc57852d23814c82e84b2296d59542f53ac
MD5 b73e1e71e1f2c7729ade5f79f06198f7
BLAKE2b-256 581d66e27e49583e068a9139ad6e2397f3aa53ec25cfa0b8d137d01fcfb729e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for fulcrum_ms-1.9.7-py3-none-any.whl:

Publisher: publish.yml on seerbio/fulcrum

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

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