Skip to main content

FPBase Client

A Python client for the FPBase REST API with local SQLite caching.

Installation

git clone https://github.com/joemans3/fpbase-client.git
cd fpbase-client
pip install -e .

Basic Usage

from fpbase_client import FPBaseAPI, find_proteins_by_name, find_spectra_by_name

# Using the API client directly
api = FPBaseAPI()
proteins = api.search_by_name("GFP")  # Partial match
proteins = api.search_by_name("EGFP", partial_match=False)  # Exact match

# Using the local database (faster, works offline)
proteins = find_proteins_by_name("GFP")  # Partial match
proteins = find_proteins_by_name("EGFP", exact=True)  # Exact match

# Advanced API queries
# For advanced users who need more specific queries, use get_proteins() with filters
proteins = api.get_proteins(
    name__icontains='green',
    default_state__qy__gte=0.7,
    default_state__brightness__gte=0.5
)

# Find spectra
spectra = find_spectra_by_name("EGFP", exact=True)
# returns a list of dictionaries with the following keys:
# name, slug, spectra
# spectra is a list of dictionaries with the following keys:
# state, ec, max, data: (state name in string, exctinction coefficient in M^-1 cm^-1, wavelength at max excitation or emission based on state, List[List[float, float]] representing the wavelength and intensity of the spectrum (note: intensity is from 0-1))


# Get all data
all_proteins = api.get_all_proteins()
all_spectra = api.get_all_spectra()

# Reinstall local database
from fpbase_client import reinstall_DB
reinstall_DB()  # This will delete and repopulate the local cache

Available Methods

API Methods

  • search_by_name(name, partial_match=True): Search proteins by name
  • get_proteins(**kwargs): Advanced protein search with filters
  • get_all_proteins(): Get all proteins
  • get_all_spectra(): Get all spectra

Local Database Methods

  • find_proteins_by_name(name, exact=False): Search proteins by name using local cache
  • find_spectra_by_name(name, exact=False): Search spectra by name using local cache
  • reinstall_DB(): Delete and repopulate the local database cache

Advanced Search Fields

The get_proteins() method supports various fields and lookups (see FPBase API docs):

  • name: icontains, iendswith, istartswith, iexact
  • seq: icontains, iendswith, istartswith, cdna_contains
  • default_state__ex_max: around, range, lte, gte, exact
  • default_state__em_max: around, range, lte, gte, exact
  • default_state__lifetime: gte, lte, range, exact
  • And many more...

Example:

proteins = api.get_proteins(
    name__icontains='green',
    default_state__qy__gte=0.7,
    primary_reference__year__gte=2020
)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for fpbase-client 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fpbase-client 0.1.2
File Size Uploaded
fpbase_client-0.1.2.tar.gz 43.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fpbase-client 0.1.2
File Interpreter ABI Platform
fpbase_client-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 51.1 kB

Release files / fpbase_client-0.1.2.tar.gz

Download URL fpbase_client-0.1.2.tar.gz
Size 43.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7402edcdfe8875e8078fe2707bd1055e568326b9e8a47e5d49c6d4f1e8851a02
BLAKE2b-256 checksum
How to use checksums
9b2e792b69b54180b883ec120b73ded279232ff3c2a63da519a703b51812ad11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2024.

Transparency log

Release files / fpbase_client-0.1.2-py3-none-any.whl

Download URL fpbase_client-0.1.2-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c032aefdda368077594ba6517003c707062995d011f1bd62856c86e042e9b5f
BLAKE2b-256 checksum
How to use checksums
d6bd5d115e7ce181b0dc81fe372e0fb3bcf34dea24c453f7b32ad2458808e37f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page