Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

benchlingapi

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

benchlingapi

An unofficial python wrapper for the Benchling API

  • 2.1.12
  • PyPI
  • Socket score

Maintainers
1

BenchlingAPI

PyPI version

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!

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc