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 nameget_proteins(**kwargs): Advanced protein search with filtersget_all_proteins(): Get all proteinsget_all_spectra(): Get all spectra
Local Database Methods
find_proteins_by_name(name, exact=False): Search proteins by name using local cachefind_spectra_by_name(name, exact=False): Search spectra by name using local cachereinstall_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, iexactseq: icontains, iendswith, istartswith, cdna_containsdefault_state__ex_max: around, range, lte, gte, exactdefault_state__em_max: around, range, lte, gte, exactdefault_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)
| File | Size | Uploaded | |
|---|---|---|---|
| fpbase_client-0.1.2.tar.gz | 43.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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