Die OpenProtein.AI-Python-Schnittstelle bietet eine benutzerfreundliche Bibliothek für die Interaktion mit der OpenProtein.AI-REST-API und ermöglicht verschiedene Aufgaben im Zusammenhang mit der Proteinanalyse und -modellierung.
| Workflow | Beschreibung | |
|---|---|---|
| 0 | Quick start | Schnellstarthandbuch |
| 1 | Installation | Installieren Sie die Anleitung für PIP und Conda. |
| 2 | Session management | Ein Überblick über den OpenProtein Python -Client und das asynchrone Jobsystem. |
| 3 | Asssay-based Sequence Learning | Deckt Kernaufgaben wie Daten -Upload, Modelltraining und Vorhersage und Sequenzdesign ab. |
| 4 | De Novo prediction & generative models (PoET) | Deckt den Dichter, ein Protein LLM für De -novo -Scoring sowie eine Sequenzgenerierung ab. |
| 5 | Protein Language Models & Embeddings | Deckt Methoden zum Erstellen von Sequenzbetten mit proprietären und offenen Source-Modellen ab. |
Beginnen Sie mit unserem QuickStart Readme! Sie können die offizielle Dokumentation für weitere Details durchsuchen!
Führen Sie den folgenden Befehl aus, um die Python -Schnittstelle mithilfe von PIP zu installieren:
pip install openprotein-python
oder mit Conda:
conda install -c openprotein openprotein-python
Lesen Sie weiter unten, um den Quick-Start-Handbuch zu erhalten, oder finden Sie in den Dokumenten für weitere Informationen!
Erstellen Sie zunächst eine Sitzung mit Ihren Anmeldeinformationen.
import openprotein
# replace USERNAME and PASSWORD with your actual login credentials
session = openprotein.connect(USERNAME, PASSWORD)
Die Schnittstelle bietet AsyncJobFuture -Objekte für asynchrone Anrufe, sodass die Verfolgung des Jobstatus und des Ergebnisabrufs bei der Fertigstellung ermöglicht werden kann. In einer Zukunft können Sie den Status überprüfen und Ergebnisse abrufen.
Überprüfen Sie den Status einer AsyncJobFuture mit den folgenden Methoden:
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
Sobald der Job fertig ist, holen Sie die Ergebnisse mit den folgenden Methoden ab:
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
Um alle mit jeder Sitzung verbundenen Jobs anzuzeigen, ist die folgende Methode verfügbar und bietet eine Option zum Filtern von Ergebnissen nach Datum, Jobtyp oder Status.
session.jobs.list()
Für detaillierte Informationen zu einem bestimmten Job verwenden Sie den folgenden Befehl mit der entsprechenden Job -ID:
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
Jobs aus früheren Workflows können mit der von jeder API bereitgestellten Load_JOB -Methode wieder aufgenommen werden.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
Die Poet -Schnittstelle ermöglicht die Bewertung, Erzeugung und Abrufsequenzen mithilfe des Dichtermodells.
Verwenden Sie die Bewertungsfunktion, um Sequenzen zu bewerten. Geben Sie eine Eingabeaufforderung und eine Liste von Abfragen an. Die Ergebnisse werden eine Liste von (Sequenz, Score) pydantischen Objekten sein.
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
Verwenden Sie für die Bewertung von Einzelstellenvarianten die single_site function , wobei die ursprüngliche Sequenz und die Einstellung prompt_is_seed an true bereitgestellt werden, wenn die Eingabeaufforderung eine Samensequenz ist.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Verwenden Sie zur Erzeugung von Sequenzen aus dem Poet -Modell die Funktion generate mit relevanten Parametern. Das Ergebnis wird eine Liste generierter Proben sein.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Sie können die Eingabeaufforderung-, MSA- oder Seed -Sequenzen für einen Poet -Job mit der Funktion get_input oder die einzelnen Funktionen für jeden Typ abrufen.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
Sehen Sie mehr auf unserer Homepage