L'interface OpenProtein.ai Python fournit une bibliothèque conviviale pour interagir avec l'API OpenProtein.ai REST, permettant diverses tâches liées à l'analyse et à la modélisation des protéines.
| Flux de travail | Description | |
|---|---|---|
| 0 | Quick start | Guide de démarrage rapide |
| 1 | Installation | Guide d'installation pour PIP et Conda. |
| 2 | Session management | Un aperçu du client OpenProtein Python et du système de travaux asynchrones. |
| 3 | Asssay-based Sequence Learning | Couvre les tâches de base telles que le téléchargement de données, la formation et la prédiction du modèle et la conception de séquences. |
| 4 | De Novo prediction & generative models (PoET) | Couvre le poète, une protéine LLM pour la notation de novo , ainsi que la génération de séquences. |
| 5 | Protein Language Models & Embeddings | Couvre les méthodes de création d'incorporation de séquence avec des modèles propriétaires et open source. |
Commencez avec notre lecture QuickStart! Vous pouvez parcourir la documentation officielle pour plus de détails!
Pour installer l'interface Python à l'aide de PIP, exécutez la commande suivante:
pip install openprotein-python
ou avec conda:
conda install -c openprotein openprotein-python
Lisez ci-dessous pour le guide de démarrage rapide, ou consultez les documents pour plus d'informations!
Pour commencer, créez une session en utilisant vos informations d'identification de connexion.
import openprotein
# replace USERNAME and PASSWORD with your actual login credentials
session = openprotein.connect(USERNAME, PASSWORD)
L'interface propose des objets AsyncJobFuture pour les appels asynchrones, permettant le suivi de l'état du travail et de la récupération des résultats lorsque vous êtes prêt. Compte tenu d'un avenir, vous pouvez vérifier son état et récupérer les résultats.
Vérifiez l'état d'un AsyncJobFuture en utilisant les méthodes suivantes:
future.refresh() # call the backend to update the job status
future.done() # returns True if the job is done, meaning the status could be SUCCESS, FAILED, or CANCELLED
Une fois le travail terminé, récupérez les résultats en utilisant les méthodes suivantes:
result = future.wait() # wait until done and then fetch results
#verbosity is controlled with verbose arg
result = future.get(verbose=True) # get the result from a finished job
Pour afficher tous les travaux associés à chaque session, la méthode suivante est disponible, offrant une option pour filtrer les résultats par date, type de travail ou statut.
session.jobs.list()
Pour des informations détaillées sur un travail particulier, utilisez la commande suivante avec l'ID de travail correspondant:
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
Les travaux de workflows antérieurs peuvent être repris en utilisant la méthode LOAD_JOB fournie par chaque API.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
L'interface du poète permet des séquences de notation, de génération et de récupération à l'aide du modèle de poète.
Pour marquer des séquences, utilisez la fonction de score. Fournissez une invite et une liste de requêtes. Les résultats seront une liste d'objets pydantiques (séquence, score).
prompt_seqs = b'MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN'
prompt = session.poet.upload_prompt(prompt_seqs)
queries = [
b'MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN',
b'MALWMRLLPLLVLLALWGPDPASAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN',
b'MALWTRLRPLLALLALWPPPPARAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEGPQVGALELAGGPGAGGLEGPPQKRGIVEQCCASVCSLYQLENYCN',
b'MALWIRSLPLLALLVFSGPGTSYAAANQHLCGSHLVEALYLVCGERGFFYSPKARRDVEQPLVSSPLRGEAGVLPFQQEEYEKVKRGIVEQCCHNTCSLYQLENYCN',
b'MALWMRLLPLLALLALWAPAPTRAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEDLQVRDVELAGAPGEGGLQPLALEGALQKRGIVEQCCTSICSLYQLENYCN',
]
future = session.poet.score(prompt, queries)
result = future.wait()
# result is a list of (sequence, score) pydantic objects
Pour marquer des variantes de site unique, utilisez la single_site function , fournissant la séquence d'origine et définit prompt_is_seed sur true si l'invite est une séquence de graines.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Pour générer des séquences à partir du modèle de poète, utilisez la fonction generate avec des paramètres pertinents. Le résultat sera une liste d'échantillons générés.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Vous pouvez récupérer les séquences d'invite, MSA ou de graines pour un travail de poète en utilisant la fonction get_input ou les fonctions individuelles pour chaque type.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
En voir plus sur notre page d'accueil