1+ """
2+ OpenProtein Python client.
3+
4+ A pythonic interface for interacting with our cutting-edge protein engineering platform.
5+
6+ isort:skip_file
7+ """
8+
19from openprotein ._version import __version__
210from openprotein .app import (
3- SVDAPI ,
4- AlignAPI ,
511 AssayDataAPI ,
12+ JobsAPI ,
13+ TrainingAPI ,
614 DesignAPI ,
15+ AlignAPI ,
716 EmbeddingsAPI ,
817 FoldAPI ,
9- JobsAPI ,
18+ SVDAPI ,
19+ UMAPAPI ,
1020 PredictorAPI ,
11- TrainingAPI ,
21+ DesignerAPI ,
1222)
1323from openprotein .app .models import Future
1424from openprotein .base import APISession
@@ -19,15 +29,17 @@ class OpenProtein(APISession):
1929 The base class for accessing OpenProtein API functionality.
2030 """
2131
22- _embedding = None
23- _svd = None
24- _fold = None
25- _align = None
26- _jobs = None
2732 _data = None
33+ _jobs = None
2834 _train = None
2935 _design = None
36+ _align = None
37+ _embedding = None
38+ _svd = None
39+ _umap = None
40+ _fold = None
3041 _predictor = None
42+ _designer = None
3143
3244 def wait (self , future : Future , * args , ** kwargs ):
3345 return future .wait (* args , ** kwargs )
@@ -37,15 +49,6 @@ def wait(self, future: Future, *args, **kwargs):
3749 def load_job (self , job_id ):
3850 return self .jobs .__load (job_id = job_id )
3951
40- @property
41- def jobs (self ) -> JobsAPI :
42- """
43- The jobs submodule gives access to functionality for listing jobs and checking their status.
44- """
45- if self ._jobs is None :
46- self ._jobs = JobsAPI (self )
47- return self ._jobs
48-
4952 @property
5053 def data (self ) -> AssayDataAPI :
5154 """
@@ -55,6 +58,15 @@ def data(self) -> AssayDataAPI:
5558 self ._data = AssayDataAPI (self )
5659 return self ._data
5760
61+ @property
62+ def jobs (self ) -> JobsAPI :
63+ """
64+ The jobs submodule gives access to functionality for listing jobs and checking their status.
65+ """
66+ if self ._jobs is None :
67+ self ._jobs = JobsAPI (self )
68+ return self ._jobs
69+
5870 @property
5971 def train (self ) -> TrainingAPI :
6072 """
@@ -64,6 +76,15 @@ def train(self) -> TrainingAPI:
6476 self ._train = TrainingAPI (self )
6577 return self ._train
6678
79+ @property
80+ def design (self ) -> DesignAPI :
81+ """
82+ The design submodule gives access to functionality for designing new sequences using models from train.
83+ """
84+ if self ._design is None :
85+ self ._design = DesignAPI (self )
86+ return self ._design
87+
6788 @property
6889 def align (self ) -> AlignAPI :
6990 """
@@ -91,6 +112,15 @@ def svd(self) -> SVDAPI:
91112 self ._svd = SVDAPI (self , self .embedding )
92113 return self ._svd
93114
115+ @property
116+ def umap (self ) -> UMAPAPI :
117+ """
118+ The embedding submodule gives access to protein embedding models and their inference endpoints.
119+ """
120+ if self ._umap is None :
121+ self ._umap = UMAPAPI (self )
122+ return self ._umap
123+
94124 @property
95125 def predictor (self ) -> PredictorAPI :
96126 """
@@ -101,13 +131,13 @@ def predictor(self) -> PredictorAPI:
101131 return self ._predictor
102132
103133 @property
104- def design (self ) -> DesignAPI :
134+ def designer (self ) -> DesignerAPI :
105135 """
106- The design submodule gives access to functionality for designing new sequences using models from train.
136+ The designer submodule gives access to functionality for designing new sequences using models from predictor train.
107137 """
108- if self ._design is None :
109- self ._design = DesignAPI (self )
110- return self ._design
138+ if self ._designer is None :
139+ self ._designer = DesignerAPI (self )
140+ return self ._designer
111141
112142 @property
113143 def fold (self ) -> FoldAPI :
0 commit comments