API Reference
This section documents the classes, functions, etc. provided by MolCube-API Client. For examples of common operations, see User Guide.
Low-level details
molcube.api
Low level client methods.
- class API(host='localhost', port=8000, **kwargs)
Bases:
objectA high-level API class for interacting with the server.
This class provides methods for authentication and creating specific project types.
- Parameters:
host (str)
port (int)
- authenticate(api_token)
Authenticate with the API server.
- Parameters:
api_token (str) – Pre-issued MolCube API token or Pre-issued JWT access token.
- Raises:
Exception – If authentication fails.
- Return type:
None
- create_afes_project()
Create a new AFES project.
- Returns:
A new AFES project instance.
- Return type:
- Raises:
Exception – If the client is not authenticated.
- create_ligand_modeler_project()
Create a new Ligand Modeler project.
- Returns:
A new Ligand Read & Modeler project instance.
- Return type:
- Raises:
Exception – If the client is not authenticated.
- create_membrane_builder_project()
Create a new membrane builder project.
- Returns:
A new membrane builder project instance.
- Return type:
- Raises:
Exception – If the client is not authenticated.
- create_pdb_reader_project()
Create a new PDB reader project.
- Returns:
A new PDB reader project instance.
- Return type:
- Raises:
Exception – If the client is not authenticated.
- create_solution_builder_project()
Create a new solution builder project.
- Returns:
A new solution builder project instance.
- Return type:
SolutionBuidlerProject
- Raises:
Exception – If the client is not authenticated.
- delete_project(projectId)
- Parameters:
projectId (str)
- Return type:
None
- delete_projects(projectIds)
- Parameters:
projectIds (Iterable[str])
- Return type:
None
- generate_api_key(username, password)
Generate an API key using the given username and password.
- Parameters:
username (str) – The username.
password (str) – The password.
- Returns:
The generated API key.
- Return type:
str
- search_projects(page=1, perPage=None, keyword=None, searchKey=None, projectStatus=None, projectStep=None, projectCategory=None, forceField=None, startDate=None, endDate=None, hasStandaloneLigand=None, pdbAmberOption=None)
Search for projects.
- Returns:
The response containing project search results.
- Return type:
dict
- Raises:
Exception – If listing projects fails.
- Parameters:
page (int)
perPage (int | None)
keyword (str | None)
searchKey ('title' | 'pk' | None)
projectStatus (str | None)
projectStep (int | None)
projectCategory ('designer' | 'builder' | None)
forceField (ForceFieldType | None)
startDate (datetime | None)
endDate (datetime | None)
hasStandaloneLigand (bool | None)
pdbAmberOption (AmberOptionsRequest | None)
- class APIClient(host, port, is_onprem=False)
Bases:
objectA client for interacting with the API.
This class provides methods for making HTTP requests to the API endpoints.
- Parameters:
host (str)
port (int)
is_onprem (bool)
- delete(endpoint)
Send a DELETE request to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
- Returns:
The JSON response from the API.
- Return type:
dict
- generate_token(username, password)
Generate an authorization token using the given username and password.
- Parameters:
username (str) – The username.
password (str) – The password.
- Return type:
str
- get(endpoint, params=None)
Send a GET request to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
params (dict, optional) – Query parameters for the request.
- Returns:
The JSON response from the API.
- Return type:
dict
- post(endpoint, data, *, require_success=True)
Send a POST request with JSON data to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
data (dict) – The data to be sent in the request body.
require_success (bool) – Fail if json “status” is “error”.
- Returns:
The JSON response from the API.
- Return type:
dict
- post_files(endpoint, data, files)
Send a POST request with form data and file uploads to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
data (dict) – The form data (non-file fields).
files (list) – List of files in the format [(‘key’, (‘filename’, fileobj, ‘mime/type’))].
- Returns:
The JSON response from the API.
- Return type:
dict
- post_multipart(endpoint, data)
Send a POST request with multipart form data to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
data (MultipartEncoder) – The multipart form data.
- Returns:
The JSON response from the API.
- Return type:
dict
- post_raw(endpoint, data)
Send a POST request with raw data to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
data (dict) – The raw data to be sent in the request body.
- Returns:
The raw response from the API.
- Return type:
requests.Response
- put(endpoint, data)
Send a PUT request to the specified endpoint.
- Parameters:
endpoint (str) – The API endpoint.
data (dict) – The data to be sent in the request body.
- Returns:
The JSON response from the API.
- Return type:
dict
- set_authorization_token()
Set the authorization token for API requests.
- Return type:
None
- set_token(token, scheme='Token')
Store the authentication token and scheme for future requests.
- Parameters:
token (str) – The token string returned by the server.
scheme (str) – The HTTP authorization scheme (e.g., ‘Token’, ‘Bearer’).
- Return type:
None
- type AuthScheme = 'Token' | 'Bearer'
molcube.base
Common definitions for MolCube projects.
- class BaseProject(client)
Bases:
ABCAn abstract base class for project-related operations.
This class provides common functionality for handling API responses and tracking task progress.
- Parameters:
client (APIClient)
- get_post_response(endpoint: str, *, require_success: bool = False, projectId: str | None = '', _response_type: None = None, **other_data) dict[str, Any]
- get_post_response(endpoint: str, *, require_success: bool = False, projectId: str | None = '', _response_type: type[T], **other_data) T
Handles common operations in POST requests.
Creates POST data, automatically adding known projectPk. Extracts and returns JSON response data.
- Parameters:
endpoint (str) – request path
require_success (bool) – whether to treat ‘failed’ response as fatal
projectId (str | None) – if omitted or ‘’, self.projectId is used instead. Set to None to omit projectPk from request data.
other_data (kwargs) – everything else to put in POST request.
_response_type (type) – for static analysis; does nothing at runtime
- Returns:
‘data’ component of JSON response.
- Return type:
dict[str, Any]
- handle_response(response, task=False)
Handle the API response and optionally track task progress.
- Parameters:
response (dict[str, Any]) – The API response.
task (bool) – Whether to track task progress. Defaults to False.
- Returns:
True if the operation was successful, False otherwise.
- Return type:
bool
- resume_project(project_id, base_url='')
Resume a project by ID
- Parameters:
project_id (str)
base_url (str)
- Return type:
dict[str, Any]
molcube.models
Validation schemata for requests sent to MolCube servers.
- class AlignOptionsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- alignmentOption: Annotated[str | None, Field(min_length=1)] = None
- orientationOption: OrientationOptionRequest | None = None
- pdbreaderPk: UUID
- proteinChains: list[ProteinChain] | None = None
- systemLayer: Annotated[str, Field(min_length=1)]
- class AmberOptionRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- lipid: Annotated[str, Field(min_length=1)]
- protein: Annotated[str, Field(min_length=1)]
- water: Annotated[str, Field(min_length=1)]
- class AmberOptionsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- dna: Annotated[str, Field(min_length=1)]
- glycan: Annotated[str, Field(min_length=1)]
- lipid: Annotated[str, Field(min_length=1)]
- protein: Annotated[str, Field(min_length=1)]
- rna: Annotated[str, Field(min_length=1)]
- water: Annotated[str, Field(min_length=1)]
- class ApplyPHtoLigandRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- cappings: list[list[Any]] | None = None
- ph: float
- protAtoms: list[int] | None = None
- sdf: Annotated[str, Field(min_length=1)]
- class AvailableGlycoProtRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chain: Annotated[str, Field(min_length=1)]
- projectPk: UUID
- resid: Annotated[str, Field(min_length=1)]
- class BoxMarginRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- margin: Decimal | None = None
- sizeX: Decimal | None = None
- sizeY: Decimal | None = None
- sizeZ: Decimal | None = None
- class CancellationSupportRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- cancellationDate: Annotated[str | None, Field(max_length=100)] = None
Scheduled cancellation date
- contactEmail: Annotated[EmailStr, Field(min_length=1)]
Email address for contact
- contactName: Annotated[str, Field(max_length=255, min_length=1)]
Name of the contact person
- feedback: Annotated[str, Field(min_length=1)]
Detailed feedback about the experience
- reason: Annotated[str, Field(max_length=100, min_length=1)]
Reason for cancellation
- teamName: Annotated[str | None, Field(max_length=255)] = None
Name of the team
- class CappingInfoRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- capping: Annotated[str, Field(min_length=1)]
- resid: Annotated[str, Field(min_length=1)]
- class ChainIndexRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- covalentLigand: list[CovalentLigandRequest] | None = None
- cyclization: bool | None = None
- lipidation: list[LipidationRequest] | None = None
- missing: list[MissingRequest] | None = None
- mutation: list[MutationRequest] | None = None
- nonStandard: list[NonstandardRequest] | None = None
- phosphorylation: list[PhosphorylationRequest] | None = None
- protonation: list[ProtonationRequest] | None = None
- ptm: list[PTMRequest] | None = None
- selected: bool
- terminal: TerminalRequest | None = None
- class ChainRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- glycan: list[GlycanChainIndexRequest] | None = None
- heme: list[HemeChainIndexRequest] | None = None
- ion: list[IonChainIndexRequest] | None = None
- nucleicAcid: list[NucleicChainIndexRequest] | None = None
- protein: list[ChainIndexRequest] | None = None
- standaloneLigand: list[StandaloneChainIndexRequest] | None = None
- water: list[WaterChainIndexRequest] | None = None
- class CharmmAmberFileRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- param: bytes | None = None
- top: bytes
- class ConnProteinRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- resid: Annotated[str, Field(min_length=1)]
- class ConnectionsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- completeRingMatch: bool | None = False
Complete ring match
- end: int
End
- start: int
Start
- class CovalentLigandRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- resname: Annotated[str, Field(min_length=1)]
- class CreateProjectRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- amberOptions: AmberOptionsRequest | None = None
- boltzProjectId: str | None = None
- calcPka: bool | None = False
- corrTop: bool | None = False
- customPdb: bytes | None = None
- pdbId: Annotated[str | None, Field(min_length=1)] = ''
- pdbSource: Annotated[str | None, Field(min_length=1)] = 'RCSB'
- projectForceField: Annotated[str, Field(min_length=1)]
- projectPk: UUID | None = None
- projectTitle: str
- renameDupl: bool | None = False
- workspace: Annotated[WorkspaceEnum | None, Field(default_factory=lambda: WorkspaceEnum('personal'))]
‘personal’ (token) or ‘team’ (subscription)
personal - personal
team - team
- Type:
Billing workspace
- class CubeBuilderInquiryRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- content: Annotated[str, Field(min_length=1)]
Description of the issue/bug
- email: Annotated[EmailStr, Field(min_length=1)]
Email address for contact
- name: Annotated[str, Field(max_length=255, min_length=1)]
Name of the reporter
- projectCategory: Annotated[str | None, Field(max_length=100)] = None
Project category (e.g., ‘Simulation’, ‘Analysis’)
- projectId: Annotated[str | None, Field(max_length=255)] = None
Project ID if applicable
- projectType: Annotated[str | None, Field(max_length=100)] = None
Project type
- class CustomIonRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- anion: Annotated[str | None, Field(min_length=1)] = None
- cation: Annotated[str | None, Field(min_length=1)] = None
- charge: int | None = None
- conc: float | None = None
- customAnion: Annotated[str | None, Field(min_length=1)] = None
- customCation: Annotated[str | None, Field(min_length=1)] = None
- neutralize: bool | None = False
- pk: UUID | None = None
- selected: bool | None = True
- class CustomSolventRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- conc: float | None = None
- counts: int
- density: float | None = None
- name: Annotated[str | None, Field(min_length=1)] = None
- pk: UUID | None = None
- ratio: float | None = None
- selected: bool | None = True
- class DihedralRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- angle: float
- chainIndex: Annotated[str, Field(min_length=1)]
- resid: Annotated[str, Field(min_length=1)]
- class DiscntTerminalsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- cter: CappingInfoRequest
- nter: CappingInfoRequest
- class EnterpriseInquiryRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- companyName: Annotated[str, Field(max_length=255, min_length=1)]
Name of the company
- contactEmail: Annotated[EmailStr, Field(min_length=1)]
Email address for contact
- contactName: Annotated[str, Field(max_length=255, min_length=1)]
Name of the contact person
- teamSize: Annotated[str | None, Field(max_length=50)] = None
Size of the team (e.g., ‘1-5’, ‘6-20’, etc.)
- useCase: str | None = None
Description of the use case
- class ErrorResponse(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- message: str
- status: str
- class ForceFieldFilesRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- amber: CharmmAmberFileRequest | None = None
- charmm: CharmmAmberFileRequest | None = None
- martini: MartiniFileRequest | None = None
- projectPk: UUID | None = None
- sdf: str | None = None
- class ForceFieldGenerationRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- applyPh: bool | None = None
- existingMethod: Annotated[str | None, Field(min_length=1)] = None
- files: ForceFieldFilesRequest | None = None
- forceFieldMethod: Annotated[str, Field(min_length=1)]
- forceFieldType: Annotated[str | None, Field(min_length=1)] = None
- hasParam: bool | None = None
- keepCoords: bool | None = None
- optimize: bool | None = None
- resname: Annotated[str | None, Field(min_length=1)] = None
- toBeResname: Annotated[str | None, Field(min_length=1)] = None
- class ForceFieldRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- forceField: Annotated[str, Field(min_length=1)]
- class GaffFastItem(*args, **kwargs)
Bases:
OpenffItem- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class GaffItem(*args, **kwargs)
Bases:
OpenffItem- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class GetGlyInfoRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- linkages: list[LinkagesRequest]
- residues: dict[str, ResiduesRequest]
- class GlycRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- glycInfo: GetGlyInfoRequest
- projectPk: UUID
- class GlycanChainIndexRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- selected: bool
- class GlycoInfoRequest(*args, **kwargs)
Bases:
GetGlyInfoRequest- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class GlycosylationRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- glycInfo: GlycoInfoRequest
- glycoProtein: str
- class HandleRequestStep1Request(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- amberOptions: AmberOptionRequest | None = None
- boxShape: Annotated[str, Field(min_length=1)]
- membraneOnly: bool | None = False
- membraneType: Annotated[str, Field(min_length=1)]
- pdbreaderProject: UUID | None = None
- pdbreaderProjects: list[UUID] | None = None
- projectForceField: Annotated[str, Field(min_length=1)]
Force field
- projectTitle: str
- workspace: Annotated[WorkspaceEnum | None, Field(default_factory=lambda: WorkspaceEnum('personal'))]
‘personal’ (token) or ‘team’ (subscription)
personal - personal
team - team
- Type:
Billing workspace
- class HandleRequestStep2Request(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- alignOptions: list[AlignOptionsRequest] | None = None
- alignmentOption: Annotated[str | None, Field(min_length=1)] = None
- innerWaterMargin: Decimal | None = Decimal('22.5')
- orientationOption: OrientationOptionRequest | None = None
- projectPk: UUID
- proteinChains: list[ProteinChain] | None = None
- class HandleRequestStep3Request(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- boxMargin: BoxMarginRequest | None = None
- compositionOption: Annotated[str, Field(min_length=1)]
- fillSpace: bool | None = True
- height: float | None = None
- innerHydrationNumber: Annotated[int | None, Field(ge=1, le=50)] = None
- innerWaterMargin: Decimal | None = Decimal('22.5')
- lipids: list[LipidsRequest]
- nanodisc: Annotated[str | None, Field(min_length=1)] = None
- poreR: float | None = None
- projectPk: UUID
- radius: float | None = None
- tightPacking: bool | None = True
- tightPackingScaling: float | None = 0.8
- useInnerHydrationNumber: bool | None = False
- class HandleRequestStep4Request(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- compositionOption: Annotated[str, Field(min_length=1)]
- fillSpace: bool | None = True
- lipids: list[LipidsRequest]
- margin: Decimal | None = None
- projectPk: UUID
- tightPacking: bool | None = True
- tightPackingScaling: float | None = 0.8
- class HandleRequestStep5Request(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- coreIons: Annotated[str | None, Field(min_length=1)] = None
- hydrationNumber: Annotated[int | None, Field(ge=10, le=100)] = None
- innerIonConc: Decimal | None = Decimal('0.15')
- innerIons: Annotated[str | None, Field(min_length=1)] = None
- innerNeutralize: bool | None = False
- ionConc: Decimal | None = Decimal('0.15')
- ions: Annotated[str, Field(min_length=1)]
- lipaIons: Annotated[str | None, Field(min_length=1)] = None
- neutralize: bool | None = False
- projectPk: UUID
- temperature: Decimal | None = Decimal('310.00')
- useHmr: bool | None = False
- useHydrationNumber: bool | None = False
- waterMargin: Decimal | None = Decimal('22.5')
- class HandleRequestStep6Request(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- coreIons: Annotated[str | None, Field(min_length=1)] = None
- customIons: list[CustomIonRequest] | None = None
- customSolvent: list[CustomSolventRequest] | None = None
- ionConc: Decimal | None = Decimal('0.15')
- ions: Annotated[str | None, Field(min_length=1)] = None
- lipaIons: Annotated[str | None, Field(min_length=1)] = None
- neutralize: bool | None = False
- projectPk: UUID
- temperature: Decimal | None = Decimal('310.00')
- useHmr: bool | None = False
- class HandleStepRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- projectStep: int
- class HeadGroupItem(*args, **kwargs)
Bases:
ProteinChain- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class HemeChainIndexRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- connProtein: ConnProteinRequest
- selected: bool
- class HemeRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- connProtein: ConnProteinRequest
- class InquiryTypeEnum(*args, **kwargs)
Bases:
Literal['enterprise', 'cancellation', 'payment', 'cubebuilder', 'marketing']- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: 'enterprise' | 'cancellation' | 'payment' | 'cubebuilder' | 'marketing'
enterprise - Enterprise Inquiry
cancellation - Cancellation Support
payment - Payment Support
cubebuilder - CubeBuilder Support
marketing - Marketing Inquiry
- class IonChainIndexRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- ionElement: Annotated[str, Field(min_length=1)]
- selected: bool
- class LigandForceFieldRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- gaff: bool | None = None
GAFF
- gaffFast: bool | None = None
GAFF Fast
- openff: bool | None = None
OpenFF
- openffFast: bool | None = None
OpenFF Fast
- xff: bool | None = None
XFF
- xffFast: bool | None = None
XFF Fast
- class LinkagesRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- residue1: Annotated[str, Field(min_length=1)]
- residue2: Annotated[str, Field(min_length=1)]
- site1: str
- site2: str
- class LipidationRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- resid: Annotated[str, Field(min_length=1)]
- swap: Annotated[str, Field(min_length=1)]
- class LipidsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- area: float
- core: Annotated[str | None, Field(min_length=1)] = None
- head: Annotated[str | None, Field(min_length=1)] = None
- headGroup: list[HeadGroupItem] | None = None
- headType: Annotated[str | None, Field(min_length=1)] = None
- innerNumber: int | None = None
- innerRatio: float | None = None
- isCustom: bool | None = False
- lipid: Annotated[str | None, Field(min_length=1)] = None
- lowNumber: int | None = None
- lowRatio: float | None = None
- lowerInnerNumber: int | None = None
- lowerInnerRatio: float | None = None
- lowerOuterNumber: int | None = None
- lowerOuterRatio: float | None = None
- nUnit: Annotated[str | None, Field(min_length=1)] = None
- number: int | None = None
- oAnti: Annotated[str | None, Field(min_length=1)] = None
- oUnit: Annotated[str | None, Field(min_length=1)] = None
- outerNumber: int | None = None
- outerRatio: float | None = None
- ratio: float | None = None
- sequence: Annotated[str | None, Field(min_length=1)] = None
- species: Annotated[str | None, Field(min_length=1)] = None
- tail1: Annotated[str | None, Field(min_length=1)] = None
- tail2: Annotated[str | None, Field(min_length=1)] = None
- tailGroup: list[TailGroupItem] | None = None
- tailType: Annotated[str | None, Field(min_length=1)] = None
- thickness: float | None = None
- type: Annotated[str, Field(min_length=1)]
- upNumber: int | None = None
- upRatio: float | None = None
- upperInnerNumber: int | None = None
- upperInnerRatio: float | None = None
- upperOuterNumber: int | None = None
- upperOuterRatio: float | None = None
- class MDRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- amber: bool | None = False
- desmond: bool | None = False
- genesis: bool | None = False
- gromacs: bool | None = False
- namd: bool | None = False
- openmm: bool | None = False
- class MarketingInquiryRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- content: Annotated[str, Field(min_length=1)]
Inquiry content/message
- email: Annotated[EmailStr, Field(min_length=1)]
Email address for contact
- name: Annotated[str, Field(max_length=255, min_length=1)]
Name of the contact person
- organization: Annotated[str | None, Field(max_length=255)] = None
Organization/company name
- class MartiniFileRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- top: bytes
- class MissingRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- discntTerminals: DiscntTerminalsRequest | None = None
- range: Annotated[str, Field(min_length=1)]
- selected: bool
- class ModelingRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chain: ChainRequest
- conjugatedLigand: list[NewLinkageRequest] | None = None
- covalentLigand: list[NewLinkageRequest] | None = None
- cysteinBridge: Annotated[str | None, Field(min_length=1)] = None
- elasticNetwork: bool | None = False
- ffGeneration: list[ForceFieldGenerationRequest] | None = None
- glycosylation: list[GlycosylationRequest] | None = None
- heme: list[HemeRequest] | None = None
- isMembrane: bool | None = None
- model: Annotated[str | None, Field(min_length=1)] = None
- newCovalentLigand: list[NewLinkageRequest] | None = None
- ph: float
- projectPk: UUID
- sideChainOrient: bool | None = None
- ssbond: list[SsbondRequest] | None = None
- stapling: list[StaplingRequest] | None = None
- terminalCharge: bool | None = False
- class MorphPairByForceFieldTypeRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- gaff: MorphPairRequest | None = None
GAFF
- gaffFast: MorphPairRequest | None = None
GAFF fast
- openff: MorphPairRequest | None = None
OpenFF
- openffFast: MorphPairRequest | None = None
OpenFF fast
- xff: MorphPairRequest | None = None
XFF
- xffFast: MorphPairRequest | None = None
XFF fast
- class MorphPairRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- connections: list[ConnectionsRequest]
Connections
- threshold: int
Threshold
- class MutationRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- resid: Annotated[str, Field(min_length=1)]
- toBeResname: Annotated[str, Field(min_length=1)]
- class NewLinkageRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- proteinLigand: list[ProteinLigandRequest]
- resname: Annotated[str, Field(min_length=1)]
- class NonstandardRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- resid: Annotated[str, Field(min_length=1)]
- toBeResname: str | None = None
- class NucleicChainIndexRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- missing: list[MissingRequest] | None = None
- mutation: list[MutationRequest] | None = None
- nonStandard: list[NonstandardRequest] | None = None
- selected: bool
- terminal: TerminalRequest | None = None
- class OpenffFastItem(*args, **kwargs)
Bases:
OpenffItem- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class OpenffItem(*args, **kwargs)
Bases:
~pydantic.RootModel.- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: Annotated[str, Field(min_length=1)]
Selected ligand name
- class OrientationOptionRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- flipZ: bool | None = False
- transZ: int | None = 0
- class PTMRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- patch: Annotated[str, Field(min_length=1)]
- resid: Annotated[str, Field(min_length=1)]
- class PaginatedProjectList(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- count: Annotated[int | None, Field(examples=[123])] = None
- next: Annotated[AnyUrl | None, Field(examples=['http://api.example.org/accounts/?page=4'])] = None
- previous: Annotated[AnyUrl | None, Field(examples=['http://api.example.org/accounts/?page=2'])] = None
- class PatchedProjectRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- project_type: ProjectTypeEnum | None = None
- title: Annotated[str | None, Field(max_length=255, min_length=1)] = None
- class PaymentSupportRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- contactEmail: Annotated[EmailStr, Field(min_length=1)]
Email address for contact
- issueDescription: Annotated[str, Field(min_length=1)]
Description of the payment issue
- pollingId: Annotated[str, Field(max_length=255, min_length=1)]
Payment polling ID (order/subscription ID)
- pollingType: PollingTypeEnum
Type of payment (token or subscription)
token - token
subscription - subscription
- class PdbreaderPKRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- class PhosphorylationRequest(*args, **kwargs)
Bases:
PTMRequest- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class PollingTypeEnum(*args, **kwargs)
Bases:
Literal['token', 'subscription']- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: 'token' | 'subscription'
token - token
subscription - subscription
- class Project(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- created_at: AwareDatetime
- id: UUID
- project_type: ProjectTypeEnum
- title: Annotated[str, Field(max_length=255)]
- updated_at: AwareDatetime
- user: int
- class ProjectPKRequest(*args, **kwargs)
Bases:
PdbreaderPKRequest- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class ProjectRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- project_type: ProjectTypeEnum
- title: Annotated[str, Field(max_length=255, min_length=1)]
- class ProjectTypeEnum(*args, **kwargs)
Bases:
Literal['Boltz', 'Protenix', 'LBS Finder', 'Chem Patent Search', 'PDB Reader', 'Ligand Modeler', 'Solution Builder', 'Membrane Builder', 'Membrane Only Builder', 'Double Membrane Builder', 'Double Membrane Only Builder', 'Nanodisc Builder', 'Nanodisc Only Builder', 'Vesicle Builder', 'Vesicle Only Builder', 'Micelle Builder', 'Micelle Only Builder', 'HexPhase Builder', 'HexPhase Only Builder', 'Quick Bilayer Builder', 'Quick Bilayer Only Builder', 'Multicomponent Assembler', 'Free Energy', 'High-Throughput', 'Ligand Docker', 'Enhanced Sampler', 'Quick Free Energy', 'Solution Simulator', 'Membrane Simulator', 'Free Energy Simulator', 'Ligand Docker Simulator', 'Solution Analyzer', 'Membrane Analyzer', 'Free Energy Analyzer', 'Ligand Docker Analyzer']- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: 'Boltz' | 'Protenix' | 'LBS Finder' | 'Chem Patent Search' | 'PDB Reader' | 'Ligand Modeler' | 'Solution Builder' | 'Membrane Builder' | 'Membrane Only Builder' | 'Double Membrane Builder' | 'Double Membrane Only Builder' | 'Nanodisc Builder' | 'Nanodisc Only Builder' | 'Vesicle Builder' | 'Vesicle Only Builder' | 'Micelle Builder' | 'Micelle Only Builder' | 'HexPhase Builder' | 'HexPhase Only Builder' | 'Quick Bilayer Builder' | 'Quick Bilayer Only Builder' | 'Multicomponent Assembler' | 'Free Energy' | 'High-Throughput' | 'Ligand Docker' | 'Enhanced Sampler' | 'Quick Free Energy' | 'Solution Simulator' | 'Membrane Simulator' | 'Free Energy Simulator' | 'Ligand Docker Simulator' | 'Solution Analyzer' | 'Membrane Analyzer' | 'Free Energy Analyzer' | 'Ligand Docker Analyzer'
Boltz - Boltz 2
Protenix - Protenix
LBS Finder - Lbs Finder
Chem Patent Search - Patent Search
PDB Reader - Pdb Reader
Ligand Modeler - Ligand Modeler
Solution Builder - Solution Builder
Membrane Builder - Membrane Builder
Membrane Only Builder - Membrane Only Builder
Double Membrane Builder - Double Membrane Builder
Double Membrane Only Builder - Double Membrane Only Builder
Nanodisc Builder - Nanodisc Builder
Nanodisc Only Builder - Nanodisc Only Builder
Vesicle Builder - Vesicle Builder
Vesicle Only Builder - Vesicle Only Builder
Micelle Builder - Micelle Builder
Micelle Only Builder - Micelle Only Builder
HexPhase Builder - Hexphase Builder
HexPhase Only Builder - Hexphase Only Builder
Quick Bilayer Builder - Membrane Builder Shortcut
Quick Bilayer Only Builder - Membrane Only Builder Shortcut
Multicomponent Assembler - Multicomponent Assembler
Free Energy - Free Energy
High-Throughput - High Throughput Simulator
Ligand Docker - Ligand Docker
Enhanced Sampler - Enhanced Sampler
Quick Free Energy - Quick Free Energy
Solution Simulator - Solution Simulator
Membrane Simulator - Membrane Simulator
Free Energy Simulator - Free Energy Simulator
Ligand Docker Simulator - Ligand Docker Simulator
Solution Analyzer - Solution Analyzer
Membrane Analyzer - Membrane Analyzer
Free Energy Analyzer - Free Energy Analyzer
Ligand Docker Analyzer - Ligand Docker Analyzer
- class ProteinChain(*args, **kwargs)
Bases:
~pydantic.RootModel.- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: Annotated[str, Field(min_length=1)]
- class ProteinLigandRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- ligandChainIndex1: str | None = None
- ligandChainIndex2: str | None = None
- proteinChainIndex: Annotated[str, Field(min_length=1)]
- proteinResid: Annotated[str, Field(min_length=1)]
- class ProtonationRequest(*args, **kwargs)
Bases:
PTMRequest- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class RenameProejctRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- projectTitle: Annotated[str, Field(min_length=1)]
- class ResidueRequest(*args, **kwargs)
Bases:
ConnProteinRequest- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class ResiduesRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chain: Annotated[str, Field(min_length=1)]
- modifications: dict[str, str] | None = None
- name: Annotated[str, Field(min_length=1)]
- resid: Annotated[str, Field(min_length=1)]
- type: Annotated[str, Field(min_length=1)]
- class SaveModifiedResidueRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- cappings: list[list[Any]] | None = None
- chainIndex: Annotated[str, Field(min_length=1)]
- initSdf: str
- ketcherInitSdf: Annotated[str, Field(min_length=1)]
- projectPk: UUID
- protAtoms: list[int] | None = None
- resname: Annotated[str, Field(min_length=1)]
- sdf: Annotated[str, Field(min_length=1)]
- typeOfResidue: Annotated[str, Field(min_length=1)]
- class SearchIsomorphicResiduesRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- ketcherInitSdf: Annotated[str, Field(min_length=1)]
- resname: Annotated[str, Field(min_length=1)]
- sdf: Annotated[str, Field(min_length=1)]
- class SelectChainModificationRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chain: ChainRequest
- conjugatedLigand: list[NewLinkageRequest] | None = None
- covalentLigand: list[NewLinkageRequest] | None = None
- cysteinBridge: Annotated[str | None, Field(min_length=1)] = None
- elasticNetwork: bool | None = False
- ffGeneration: list[ForceFieldGenerationRequest] | None = None
- glycosylation: list[GlycosylationRequest] | None = None
- heme: list[HemeRequest] | None = None
- model: Annotated[str | None, Field(min_length=1)] = None
- newCovalentLigand: list[NewLinkageRequest] | None = None
- ph: float | None = None
- projectPk: UUID
- ssbond: list[SsbondRequest] | None = None
- stapling: list[StaplingRequest] | None = None
- terminalCharge: bool | None = False
- class SelectedForceField(*args, **kwargs)
Bases:
ProteinChain- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class SelectedLigandsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- gaffFast: list[GaffFastItem] | None = None
GAFF fast
- openff: list[OpenffItem] | None = None
OpenFF
- openffFast: list[OpenffFastItem] | None = None
OpenFF fast
- xffFast: list[XffFastItem] | None = None
XFF fast
- class SetLigandForceFieldsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- ligandForceFields: LigandForceFieldRequest
Ligand force fields
- projectPk: UUID
- class SideChainOrientationRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- dihedrals: list[DihedralRequest] | None = None
- projectPk: UUID
- class SolutionBuilderProjectRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- pdbProjectPk: UUID
- projectForceField: Annotated[str, Field(min_length=1)]
- projectTitle: Annotated[str, Field(min_length=1)]
- workspace: Annotated[WorkspaceEnum | None, Field(default_factory=lambda: WorkspaceEnum('personal'))]
‘personal’ (token) or ‘team’ (subscription)
personal - personal
team - team
- Type:
Billing workspace
- class SolutionBuilderTaskRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- boxShape: Annotated[str, Field(min_length=1)]
- boxSize: float | None = None
- ionConc: float
- ions: Annotated[str, Field(min_length=1)]
- margin: float | None = None
- mdEngines: dict[str, bool]
- mminimization: bool | None = False
- neutralize: bool | None = False
- projectPk: UUID
- temperature: float
- useBoxSize: bool | None = None
- useHmr: bool | None = False
- class SsbondRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- residue1: ResidueRequest
- residue2: ResidueRequest
- class StandaloneChainIndexRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
- resname: Annotated[str | None, Field(min_length=1)] = None
- selected: bool
- class StaplingRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- patch: Annotated[str, Field(min_length=1)]
- residue1: ResidueRequest
- residue2: ResidueRequest
- stapling: Annotated[str, Field(min_length=1)]
- class StatusEnum(*args, **kwargs)
Bases:
Literal['pending', 'contacted', 'resolved', 'escalated']- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: 'pending' | 'contacted' | 'resolved' | 'escalated'
pending - Pending
contacted - Contacted
resolved - Resolved
escalated - Escalated
- class SuccessResponse(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- data: dict[str, Any]
- status: str
- class SupportInquiry(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- contact_email: Annotated[EmailStr, Field(max_length=254)]
Primary contact email address
- contact_name: Annotated[str | None, Field(max_length=255)] = None
Name of the contact person
- contact_phone: Annotated[str | None, Field(max_length=50)] = None
Phone number (optional)
- created_at: AwareDatetime
When the inquiry was created
- id: UUID
- inquiry_data: dict[str, Any] | None = None
team_name, reason, feedback, cancellation_date. Payment: polling_id, polling_type, issue_description. CubeBuilder: project_id, project_category, project_type, content. Marketing: organization, content.
- Type:
Type-specific inquiry data. Enterprise
- Type:
company_name, team_size, use_case, expected_users. Cancellation
- inquiry_type: InquiryTypeEnum
Type of inquiry
enterprise - Enterprise Inquiry
cancellation - Cancellation Support
payment - Payment Support
cubebuilder - CubeBuilder Support
marketing - Marketing Inquiry
- inquiry_type_display: str
- notes: str
Internal notes from support/sales team
- status: StatusEnum
Current status of the inquiry
pending - Pending
contacted - Contacted
resolved - Resolved
escalated - Escalated
- status_display: str
- updated_at: AwareDatetime
When the inquiry was last updated
- class TailGroupItem(*args, **kwargs)
Bases:
ProteinChain- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class TargetLigandRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- chainIndex: Annotated[str, Field(min_length=1)]
Chain index
- residueName: Annotated[str, Field(min_length=1)]
Residue name
- class TerminalRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- cter: Annotated[str, Field(min_length=1)]
- nter: Annotated[str, Field(min_length=1)]
- class TokenVerifyRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- token: Annotated[str, Field(min_length=1)]
- class UpdatePerturbationPathsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- perturbationPaths: MorphPairByForceFieldTypeRequest
Perturbation paths keyed by force field type
- projectPk: UUID
- class UpdateReferenceLigandProjectRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- referenceLigandProjectId: UUID
Reference ligand project ID (Ligand Reader & Modeler project)
- class UpdateSelectedForceFieldsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- selectedForceFields: list[SelectedForceField]
List of selected force field types
- class UpdateSelectedLigandsRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- selectedLigands: SelectedLigandsRequest
Selected ligands keyed by force field type
- class UpdateSimilarityScoreMatrixRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- similarityScoreMatrix: dict[str, Any]
Similarity score matrix keyed by force field type. Each value is a 2D array of scores.
- class UpdateTargetLigandRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- projectPk: UUID
- targetLigand: TargetLigandRequest
Target ligand information
- class ValidateStandaloneSdfRequest(*args, **kwargs)
Bases:
BaseModel- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- isCustom: bool | None = False
- projectPk: UUID
- resname: Annotated[str, Field(min_length=1)]
- sdf: Annotated[str, Field(min_length=1)]
- class WaterChainIndexRequest(*args, **kwargs)
Bases:
GlycanChainIndexRequest- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class WorkspaceEnum(*args, **kwargs)
Bases:
Literal['personal', 'team']- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- root: 'personal' | 'team'
personal - personal
team - team
- class XffFastItem(*args, **kwargs)
Bases:
OpenffItem- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class XffItem(*args, **kwargs)
Bases:
OpenffItem- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
molcube.typed_dicts
Definitions for static type checkers and language servers.
- class AlignOptionsRequest
Bases:
TypedDict- alignmentOption: NotRequired[str]
- orientationOption: NotRequired[OrientationOptionRequest]
- pdbreaderPk: str
- proteinChains: NotRequired[list[str]]
- systemLayer: str
- class AmberOptionsRequest
Bases:
TypedDict- dna: str
- glycan: str
- lipid: str
- protein: str
- rna: str
- water: str
- class ApplyPHtoLigandRequest
Bases:
TypedDict- cappings: NotRequired[list[list[Any]]]
- ph: float
- protAtoms: NotRequired[list[int]]
- sdf: str
- class BoxMarginRequest
Bases:
TypedDict- margin: NotRequired[DecimalLike]
- sizeX: NotRequired[DecimalLike]
- sizeY: NotRequired[DecimalLike]
- sizeZ: NotRequired[DecimalLike]
- class CancellationSupportRequest
Bases:
TypedDict- cancellationDate: NotRequired[str]
- contactEmail: str
- contactName: str
- feedback: str
- reason: str
- teamName: NotRequired[str]
- class ChainIndexRequest
Bases:
TypedDict- chainIndex: str
- covalentLigand: NotRequired[list[CovalentLigandRequest]]
- cyclization: NotRequired[bool]
- lipidation: NotRequired[list[LipidationRequest]]
- missing: NotRequired[list[MissingRequest]]
- mutation: NotRequired[list[MutationRequest]]
- nonStandard: NotRequired[list[NonstandardRequest]]
- phosphorylation: NotRequired[list[PhosphorylationRequest]]
- protonation: NotRequired[list[ProtonationRequest]]
- ptm: NotRequired[list[PTMRequest]]
- selected: bool
- terminal: NotRequired[TerminalRequest]
- class ChainRequest
Bases:
TypedDict- glycan: NotRequired[list[GlycanChainIndexRequest]]
- heme: NotRequired[list[HemeChainIndexRequest]]
- ion: NotRequired[list[IonChainIndexRequest]]
- nucleicAcid: NotRequired[list[NucleicChainIndexRequest]]
- protein: NotRequired[list[ChainIndexRequest]]
- standaloneLigand: NotRequired[list[StandaloneChainIndexRequest]]
- water: NotRequired[list[WaterChainIndexRequest]]
- class ConnectionsRequest
Bases:
TypedDict- completeRingMatch: NotRequired[bool]
- end: int
- start: int
- class CreateProjectRequest
Bases:
TypedDict- amberOptions: NotRequired[AmberOptionsRequest]
- boltzProjectId: NotRequired[str]
- calcPka: NotRequired[bool]
- corrTop: NotRequired[bool]
- customPdb: NotRequired[bytes]
- pdbId: NotRequired[str]
- pdbSource: NotRequired[str]
- projectForceField: str
- projectPk: NotRequired[str]
- projectTitle: str
- renameDupl: NotRequired[bool]
- workspace: NotRequired[WorkspaceEnum]
- class CubeBuilderInquiryRequest
Bases:
TypedDict- content: str
- email: str
- name: str
- projectCategory: NotRequired[str]
- projectId: NotRequired[str]
- projectType: NotRequired[str]
- class CustomIonRequest
Bases:
TypedDict- anion: NotRequired[str]
- cation: NotRequired[str]
- charge: NotRequired[int]
- conc: NotRequired[float]
- customAnion: NotRequired[str]
- customCation: NotRequired[str]
- neutralize: NotRequired[bool]
- pk: NotRequired[str]
- selected: NotRequired[bool]
- class CustomSolventRequest
Bases:
TypedDict- conc: NotRequired[float]
- counts: int
- density: NotRequired[float]
- name: NotRequired[str]
- pk: NotRequired[str]
- ratio: NotRequired[float]
- selected: NotRequired[bool]
- class DiscntTerminalsRequest
Bases:
TypedDict- cter: CappingInfoRequest
- nter: CappingInfoRequest
- class EnterpriseInquiryRequest
Bases:
TypedDict- companyName: str
- contactEmail: str
- contactName: str
- teamSize: NotRequired[str]
- useCase: NotRequired[str]
- class ForceFieldFilesRequest
Bases:
TypedDict- amber: NotRequired[CharmmAmberFileRequest]
- charmm: NotRequired[CharmmAmberFileRequest]
- martini: NotRequired[MartiniFileRequest]
- projectPk: NotRequired[str]
- sdf: NotRequired[str]
- class ForceFieldGenerationRequest
Bases:
TypedDict- applyPh: NotRequired[bool]
- existingMethod: NotRequired[str]
- files: NotRequired[ForceFieldFilesRequest]
- forceFieldMethod: str
- forceFieldType: NotRequired[str]
- hasParam: NotRequired[bool]
- keepCoords: NotRequired[bool]
- optimize: NotRequired[bool]
- resname: NotRequired[str]
- toBeResname: NotRequired[str]
- class GetGlyInfoRequest
Bases:
TypedDict- linkages: list[LinkagesRequest]
- residues: dict[str, ResiduesRequest]
- class GlycRequest
Bases:
TypedDict- glycInfo: GetGlyInfoRequest
- projectPk: str
- class GlycoInfoRequest
Bases:
GetGlyInfoRequest- linkages: list[LinkagesRequest]
- residues: dict[str, ResiduesRequest]
- class GlycosylationRequest
Bases:
TypedDict- chainIndex: str
- glycInfo: GlycoInfoRequest
- glycoProtein: str
- class HandleRequestStep1Request
Bases:
TypedDict- amberOptions: NotRequired[AmberOptionRequest]
- boxShape: str
- membraneOnly: NotRequired[bool]
- membraneType: str
- pdbreaderProject: NotRequired[str]
- pdbreaderProjects: NotRequired[list[str]]
- projectForceField: str
- projectTitle: str
- workspace: NotRequired[WorkspaceEnum]
- class HandleRequestStep2Request
Bases:
TypedDict- alignOptions: NotRequired[list[AlignOptionsRequest]]
- alignmentOption: NotRequired[str]
- innerWaterMargin: NotRequired[DecimalLike]
- orientationOption: NotRequired[OrientationOptionRequest]
- projectPk: str
- proteinChains: NotRequired[list[str]]
- class HandleRequestStep3Request
Bases:
TypedDict- boxMargin: NotRequired[BoxMarginRequest]
- compositionOption: str
- fillSpace: NotRequired[bool]
- height: NotRequired[float]
- innerHydrationNumber: NotRequired[int]
- innerWaterMargin: NotRequired[DecimalLike]
- lipids: list[LipidsRequest]
- nanodisc: NotRequired[str]
- poreR: NotRequired[float]
- projectPk: str
- radius: NotRequired[float]
- tightPacking: NotRequired[bool]
- tightPackingScaling: NotRequired[float]
- useInnerHydrationNumber: NotRequired[bool]
- class HandleRequestStep4Request
Bases:
TypedDict- compositionOption: str
- fillSpace: NotRequired[bool]
- lipids: list[LipidsRequest]
- margin: NotRequired[DecimalLike]
- projectPk: str
- tightPacking: NotRequired[bool]
- tightPackingScaling: NotRequired[float]
- class HandleRequestStep5Request
Bases:
TypedDict- coreIons: NotRequired[str]
- hydrationNumber: NotRequired[int]
- innerIonConc: NotRequired[DecimalLike]
- innerIons: NotRequired[str]
- innerNeutralize: NotRequired[bool]
- ionConc: NotRequired[DecimalLike]
- ions: str
- lipaIons: NotRequired[str]
- neutralize: NotRequired[bool]
- projectPk: str
- temperature: NotRequired[DecimalLike]
- useHmr: NotRequired[bool]
- useHydrationNumber: NotRequired[bool]
- waterMargin: NotRequired[DecimalLike]
- class HandleRequestStep6Request
Bases:
TypedDict- coreIons: NotRequired[str]
- customIons: NotRequired[list[CustomIonRequest]]
- customSolvent: NotRequired[list[CustomSolventRequest]]
- ionConc: NotRequired[DecimalLike]
- ions: NotRequired[str]
- lipaIons: NotRequired[str]
- neutralize: NotRequired[bool]
- projectPk: str
- temperature: NotRequired[DecimalLike]
- useHmr: NotRequired[bool]
- class HemeChainIndexRequest
Bases:
TypedDict- chainIndex: str
- connProtein: ConnProteinRequest
- selected: bool
- class HemeRequest
Bases:
TypedDict- chainIndex: str
- connProtein: ConnProteinRequest
- class LigandForceFieldRequest
Bases:
TypedDict- gaff: NotRequired[bool]
- gaffFast: NotRequired[bool]
- openff: NotRequired[bool]
- openffFast: NotRequired[bool]
- xff: NotRequired[bool]
- xffFast: NotRequired[bool]
- class LipidsRequest
Bases:
TypedDict- area: float
- core: NotRequired[str]
- head: NotRequired[str]
- headGroup: NotRequired[list[str]]
- headType: NotRequired[str]
- innerNumber: NotRequired[int]
- innerRatio: NotRequired[float]
- isCustom: NotRequired[bool]
- lipid: NotRequired[str]
- lowNumber: NotRequired[int]
- lowRatio: NotRequired[float]
- lowerInnerNumber: NotRequired[int]
- lowerInnerRatio: NotRequired[float]
- lowerOuterNumber: NotRequired[int]
- lowerOuterRatio: NotRequired[float]
- nUnit: NotRequired[str]
- number: NotRequired[int]
- oAnti: NotRequired[str]
- oUnit: NotRequired[str]
- outerNumber: NotRequired[int]
- outerRatio: NotRequired[float]
- ratio: NotRequired[float]
- sequence: NotRequired[str]
- species: NotRequired[str]
- tail1: NotRequired[str]
- tail2: NotRequired[str]
- tailGroup: NotRequired[list[str]]
- tailType: NotRequired[str]
- thickness: NotRequired[float]
- type: str
- upNumber: NotRequired[int]
- upRatio: NotRequired[float]
- upperInnerNumber: NotRequired[int]
- upperInnerRatio: NotRequired[float]
- upperOuterNumber: NotRequired[int]
- upperOuterRatio: NotRequired[float]
- class MDRequest
Bases:
TypedDict- amber: NotRequired[bool]
- desmond: NotRequired[bool]
- genesis: NotRequired[bool]
- gromacs: NotRequired[bool]
- namd: NotRequired[bool]
- openmm: NotRequired[bool]
- class MarketingInquiryRequest
Bases:
TypedDict- content: str
- email: str
- name: str
- organization: NotRequired[str]
- class MissingRequest
Bases:
TypedDict- discntTerminals: NotRequired[DiscntTerminalsRequest]
- range: str
- selected: bool
- class ModelingRequest
Bases:
TypedDict- chain: ChainRequest
- conjugatedLigand: NotRequired[list[NewLinkageRequest]]
- covalentLigand: NotRequired[list[NewLinkageRequest]]
- cysteinBridge: NotRequired[str]
- elasticNetwork: NotRequired[bool]
- ffGeneration: NotRequired[list[ForceFieldGenerationRequest]]
- glycosylation: NotRequired[list[GlycosylationRequest]]
- heme: NotRequired[list[HemeRequest]]
- isMembrane: NotRequired[bool]
- model: NotRequired[str]
- newCovalentLigand: NotRequired[list[NewLinkageRequest]]
- ph: float
- projectPk: str
- sideChainOrient: NotRequired[bool]
- ssbond: NotRequired[list[SsbondRequest]]
- stapling: NotRequired[list[StaplingRequest]]
- terminalCharge: NotRequired[bool]
- class MorphPairByForceFieldTypeRequest
Bases:
TypedDict- gaff: NotRequired[MorphPairRequest]
- gaffFast: NotRequired[MorphPairRequest]
- openff: NotRequired[MorphPairRequest]
- openffFast: NotRequired[MorphPairRequest]
- xff: NotRequired[MorphPairRequest]
- xffFast: NotRequired[MorphPairRequest]
- class MorphPairRequest
Bases:
TypedDict- connections: list[ConnectionsRequest]
- threshold: int
- class NewLinkageRequest
Bases:
TypedDict- proteinLigand: list[ProteinLigandRequest]
- resname: str
- class NonstandardRequest
Bases:
TypedDict- chainIndex: str
- resid: str
- toBeResname: NotRequired[str]
- class NucleicChainIndexRequest
Bases:
TypedDict- chainIndex: str
- missing: NotRequired[list[MissingRequest]]
- mutation: NotRequired[list[MutationRequest]]
- nonStandard: NotRequired[list[NonstandardRequest]]
- selected: bool
- terminal: NotRequired[TerminalRequest]
- class OrientationOptionRequest
Bases:
TypedDict- flipZ: NotRequired[bool]
- transZ: NotRequired[int]
- class PaginatedProjectList
Bases:
TypedDict- count: NotRequired[int]
- next: NotRequired[str]
- previous: NotRequired[str]
- class PatchedProjectRequest
Bases:
TypedDict- project_type: NotRequired[ProjectTypeEnum]
- title: NotRequired[str]
- class PaymentSupportRequest
Bases:
TypedDict- contactEmail: str
- issueDescription: str
- pollingId: str
- pollingType: PollingTypeEnum
- class PhosphorylationRequest
Bases:
PTMRequest- patch: str
- resid: str
- class Project
Bases:
TypedDict- created_at: str
- id: str
- project_type: ProjectTypeEnum
- title: str
- updated_at: str
- user: int
- class ProjectPKRequest
Bases:
PdbreaderPKRequest- projectPk: str
- class ProjectRequest
Bases:
TypedDict- project_type: ProjectTypeEnum
- title: str
- class ProteinLigandRequest
Bases:
TypedDict- ligandChainIndex1: NotRequired[str]
- ligandChainIndex2: NotRequired[str]
- proteinChainIndex: str
- proteinResid: str
- class ProtonationRequest
Bases:
PTMRequest- patch: str
- resid: str
- class ResidueRequest
Bases:
ConnProteinRequest- chainIndex: str
- resid: str
- class ResiduesRequest
Bases:
TypedDict- chain: str
- modifications: NotRequired[dict[str, str]]
- name: str
- resid: str
- type: str
- class SaveModifiedResidueRequest
Bases:
TypedDict- cappings: NotRequired[list[list[Any]]]
- chainIndex: str
- initSdf: str
- ketcherInitSdf: str
- projectPk: str
- protAtoms: NotRequired[list[int]]
- resname: str
- sdf: str
- typeOfResidue: str
- class SearchIsomorphicResiduesRequest
Bases:
TypedDict- ketcherInitSdf: str
- resname: str
- sdf: str
- class SelectChainModificationRequest
Bases:
TypedDict- chain: ChainRequest
- conjugatedLigand: NotRequired[list[NewLinkageRequest]]
- covalentLigand: NotRequired[list[NewLinkageRequest]]
- cysteinBridge: NotRequired[str]
- elasticNetwork: NotRequired[bool]
- ffGeneration: NotRequired[list[ForceFieldGenerationRequest]]
- glycosylation: NotRequired[list[GlycosylationRequest]]
- heme: NotRequired[list[HemeRequest]]
- model: NotRequired[str]
- newCovalentLigand: NotRequired[list[NewLinkageRequest]]
- ph: NotRequired[float]
- projectPk: str
- ssbond: NotRequired[list[SsbondRequest]]
- stapling: NotRequired[list[StaplingRequest]]
- terminalCharge: NotRequired[bool]
- class SelectedLigandsRequest
Bases:
TypedDict- gaff: NotRequired[list[str]]
- gaffFast: NotRequired[list[str]]
- openff: NotRequired[list[str]]
- openffFast: NotRequired[list[str]]
- xff: NotRequired[list[str]]
- xffFast: NotRequired[list[str]]
- class SetLigandForceFieldsRequest
Bases:
TypedDict- ligandForceFields: LigandForceFieldRequest
- projectPk: str
- class SideChainOrientationRequest
Bases:
TypedDict- dihedrals: NotRequired[list[DihedralRequest]]
- projectPk: str
- class SolutionBuilderProjectRequest
Bases:
TypedDict- pdbProjectPk: str
- projectForceField: str
- projectTitle: str
- workspace: NotRequired[WorkspaceEnum]
- class SolutionBuilderTaskRequest
Bases:
TypedDict- boxShape: str
- boxSize: NotRequired[float]
- ionConc: float
- ions: str
- margin: NotRequired[float]
- mdEngines: dict[str, bool]
- mminimization: NotRequired[bool]
- neutralize: NotRequired[bool]
- projectPk: str
- temperature: float
- useBoxSize: NotRequired[bool]
- useHmr: NotRequired[bool]
- class SsbondRequest
Bases:
TypedDict- residue1: ResidueRequest
- residue2: ResidueRequest
- class StandaloneChainIndexRequest
Bases:
TypedDict- chainIndex: str
- resname: NotRequired[str]
- selected: bool
- class StaplingRequest
Bases:
TypedDict- patch: str
- residue1: ResidueRequest
- residue2: ResidueRequest
- stapling: str
- class SupportInquiry
Bases:
TypedDict- contact_email: str
- contact_name: NotRequired[str]
- contact_phone: NotRequired[str]
- created_at: str
- id: str
- inquiry_data: NotRequired[dict[str, Any]]
- inquiry_type: InquiryTypeEnum
- inquiry_type_display: str
- notes: str
- status: StatusEnum
- status_display: str
- updated_at: str
- class UpdatePerturbationPathsRequest
Bases:
TypedDict- perturbationPaths: MorphPairByForceFieldTypeRequest
- projectPk: str
- class UpdateReferenceLigandProjectRequest
Bases:
TypedDict- projectPk: str
- referenceLigandProjectId: str
- class UpdateSelectedForceFieldsRequest
Bases:
TypedDict- projectPk: str
- selectedForceFields: list[str]
- class UpdateSelectedLigandsRequest
Bases:
TypedDict- projectPk: str
- selectedLigands: SelectedLigandsRequest
- class UpdateSimilarityScoreMatrixRequest
Bases:
TypedDict- projectPk: str
- similarityScoreMatrix: dict[str, Any]
- class UpdateTargetLigandRequest
Bases:
TypedDict- projectPk: str
- targetLigand: TargetLigandRequest
- class ValidateStandaloneSdfRequest
Bases:
TypedDict- isCustom: NotRequired[bool]
- projectPk: str
- resname: str
- sdf: str
- class WaterChainIndexRequest
Bases:
GlycanChainIndexRequest- chainIndex: str
- selected: bool
- type DecimalLike = int | str | tuple | Decimal
- type InquiryTypeEnum = 'enterprise' | 'cancellation' | 'payment' | 'cubebuilder' | 'marketing'
- type PollingTypeEnum = 'token' | 'subscription'
- type ProjectTypeEnum = 'Boltz' | 'Protenix' | 'LBS Finder' | 'Chem Patent Search' | 'PDB Reader' | 'Ligand Modeler' | 'Solution Builder' | 'Membrane Builder' | 'Membrane Only Builder' | 'Double Membrane Builder' | 'Double Membrane Only Builder' | 'Nanodisc Builder' | 'Nanodisc Only Builder' | 'Vesicle Builder' | 'Vesicle Only Builder' | 'Micelle Builder' | 'Micelle Only Builder' | 'HexPhase Builder' | 'HexPhase Only Builder' | 'Quick Bilayer Builder' | 'Quick Bilayer Only Builder' | 'Multicomponent Assembler' | 'Free Energy' | 'High-Throughput' | 'Ligand Docker' | 'Enhanced Sampler' | 'Quick Free Energy' | 'Solution Simulator' | 'Membrane Simulator' | 'Free Energy Simulator' | 'Ligand Docker Simulator' | 'Solution Analyzer' | 'Membrane Analyzer' | 'Free Energy Analyzer' | 'Ligand Docker Analyzer'
- type StatusEnum = 'pending' | 'contacted' | 'resolved' | 'escalated'
- type WorkspaceEnum = 'personal' | 'team'
molcube.utils
- flip_kv(obj)
Flips keys and values, allowing duplicate values.
Takes an object like {‘a’: 1, ‘b’: 1, ‘c’: 2} and returns {1: [‘a’, ‘b’], 2: [‘c’]}
- Parameters:
obj (Mapping)
- Return type:
dict[V, list[K]]
- flip_kv_unique(obj)
Flips keys and values, ignoring duplicates.
Takes an object like {‘a’: 1, ‘b’: 1, ‘c’: 2} and returns {1: ‘a’, 2: ‘c’}. Best used when you are sure there are no duplicate values
- Parameters:
obj (Mapping)
- Return type:
dict[V, K]
- itervar_to_list(vtype: type[T], value: None) None
- itervar_to_list(vtype: type[T], value: T | Iterable[T]) list[T]
- Parameters:
vtype (type[T])
value (T | Iterable | None)
- Return type:
list[T] | None
- remove_matching_list_items(seq, function)
Remove items that match a filter. Return the number of items removed
- Parameters:
seq (list[T])
function (Callable[[T], bool])
- Return type:
int
- remove_none_recursive(obj)
- Parameters:
obj (T)
- Return type:
T