An unofficial python wrapper for the Benchling API
Project description
BenchlingAPI
The (unofficial) python API wrapper for Benchling. For more information, see documentation at https://klavinslab.github.io/benchling-api/index.
Installation
pip install benchlingapi -U
Getting Started
Initialize a session using your Benchling-provided API key:
from benchlingapi import Session
session = Session("your_secret_benchling_api_key")
From there, you can access various models:
session.DNASequence
session.AASequence
session.Oligo
session.Folder
session.Project
session.Registry
session.Translation
session.EntitySchema
session.Batch
session.CustomEntity
Finding models:
# get one model
dna = session.DNASequence.one()
# find a specific model by its id
dna = session.DNASequence.find('sdg_4tg23')
# get the last 50 amino acids
proteins = session.AASequence.last(50)
# get a registry by name
registry = session.Registry.find_by_name("Klavins Lab Registry")
Updating models:
dna = session.DNASequence.one()
dna.name = "My new name"
dna.bases = "AGGTAGGGTAGGGCCAGAGA"
# update the sequence on the server
dna.update()
Saving new models:
folder = session.Folder.find_by_name("My API Folder")
dna = session.DNASequence(
name = 'my new dna',
bases = 'AGGTAGGATGGCCA',
folder_id = folder.id,
is_circular = False
)
# save the dna to your Benchling account
dna.save()
Registering models to your registry:
dna.set_schema("My DNA Schema")
dna.register()
See the documentation for more information: https://klavinslab.github.io/benchling-api/index
Testing
Testing is done using pytest
. Tests will create live requests to a Benchling account.
Since testing is done live, a Benchling account will need to be setup along with testing
data.
To run tests, you must have a Benchling Account with an API key. Tests require a file in 'tests/secrets/config.json' with the following format:
{
"credentials": {
"api_key": "asdahhjwrthsdfgadfadfgadadsfa"
},
"sharelinks": [
"https://benchling.com/s/seq-asdfadsfaee"
],
"project": {
"name": "API"
},
"trash_folder": {
"name": "API_Trash"
},
"inventory_folder": {
"name": "API_Inventory"
}
}
On the Benchling side of things, in the account liked to the credentials["api_key"]
, you must
have a project corresponding to the project["name"]
value above. Within this project, you should
have two folder corresponding to the trash_folder
and inventory_folder
values above. Additionally,
you should have at least one example of an AminoAcid, DNASequence, CustomEntity, and Oligo stored within
your inventory_folder
. Tests will copy the examples from the inventory_folder
for downstream tests.
After the tests, conclude, inventory in the trash_folder
will get archived.
Happy Cloning!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file benchlingapi-2.1.12.tar.gz
.
File metadata
- Download URL: benchlingapi-2.1.12.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.4 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee7f03919a4ac27441601d35d52fa877db95a00f8b5c788ac37aff187d692a2 |
|
MD5 | 655c2bc95e348fea0c5d0ddec94f4e08 |
|
BLAKE2b-256 | 8d3ed438187289d120508725d5769762468d7980030a79b86ad61d278d54b937 |
File details
Details for the file benchlingapi-2.1.12-py3-none-any.whl
.
File metadata
- Download URL: benchlingapi-2.1.12-py3-none-any.whl
- Upload date:
- Size: 23.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.4 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e5786a2b23fe6557475aac6f42e6f3218654f09e8ca6824820d2cba46019fb |
|
MD5 | 059954b1936b2cfb145e5c7262df99a6 |
|
BLAKE2b-256 | f2007d2f5d70cc508e31ae7d4244b85274384aa67628984c20073518dd5e2be0 |