Predictor implementations

Automute

class benchstab.predictors.web.automute.base._AutoMute(data, model_type: str = 'svm', batch_size: int = 20, *args, **kwargs)[source]

Bases: BasePostPredictor

Auto-Mute predictor class.

Webserver:

http://binf.gmu.edu/automute/AUTO-MUTE_Stability_ddG.html

Accepted inputs:
  • PDB accession code

Avalability:

Available (as of Oct 04, 2024)

Default configuration for AutoMute predictor defined in config.json syntax is:

Allowed model_type values are:

"automute": {
    "model_type": "svm",
    "batch_size": 20
}
Citation

Majid Masso, Iosif I. Vaisman, AUTO-MUTE: web-based tools for predicting stability changes in proteins due to single amino acid replacements, Protein Engineering, Design and Selection, Volume 23, Issue 8, August 2010, Pages 683–687, https://doi.org/10.1093/protein/gzq042

url = 'http://binf.gmu.edu/automute/AUTO-MUTE_Stability_ddG.html'
model_types = {'reptree': '1', 'svm': '2'}
prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.automute.id.AutoMutePdbID(data, model_type: str = 'svm', batch_size: int = 20, *args, **kwargs)[source]

Bases: _AutoMute

Biosig lab

class benchstab.predictors.web.biosiglab.base._BiosigAPIPredictor(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: BaseGetPredictor

DDMut and Dynamut2 predictor class.

Webserver:
Accepted inputs:
  • PDB accession code

  • PDB structure file

Availability:
  • DDMut:

    Available (as of Oct 04, 2024)

  • Dynamut2:

    Available (as of Oct 04, 2024)

Default configuration for DDMut predictor defined in config.json syntax is:

"ddmut": {
    "wait_interval": 60,
    "batch_size": 10,
    "max_retries": 100
}

Default configuration for Dynamut2 predictor defined in config.json syntax is:

"dynamut2": {
    "wait_interval": 60,
    "batch_size": 10,
    "max_retries": 100
}
Citation:
  • DDMut:

    Rodrigues, CHM, Pires, DEV, Ascher, DB. DynaMut2: Assessing changes in stability and flexibility upon single and multiple point missense mutations. Protein Science. 2021; 30: 60–69. https://doi.org/10.1002/pro.3942

  • Dynamut2:

    Yunzhuo Zhou and others, DDMut: predicting effects of mutations on protein stability using deep learning, Nucleic Acids Research, Volume 51, Issue W1, 5 July 2023, Pages W122–W128, https://doi.org/10.1093/nar/gkad472

format_mutation(data: str | Dict) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

async retrieve_result(session, index) bool[source]

Retrieve the results of the prediction. The results are retrieved by sending a GET request to the url specified in the dataset. IF the datapoint is already processed, the function returns True, otherwise it returns the result of the default_get_handler function.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.biosiglab.id.DDMutPdbID(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: _BiosigAPIPredictor

url = 'https://biosig.lab.uq.edu.au/ddmut'
prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.biosiglab.id.Dynamut2PdbID(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: _BiosigAPIPredictor

url = 'https://biosig.lab.uq.edu.au/dynamut2'
prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.biosiglab.file.Dynamut2PdbFile(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: _BiosigAPIPredictor

url = 'https://biosig.lab.uq.edu.au/dynamut2'
prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.biosiglab.file.DDMutPdbFile(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: _BiosigAPIPredictor

url = 'https://biosig.lab.uq.edu.au/ddmut'
prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

CUPsat

class benchstab.predictors.web.cupsat.base._CUPSAT(data: DataFrame, experimental_method: str = 'thermal', batch_size: int = 20, *args, **kwargs)[source]

Bases: BasePostPredictor

CUPSAT predictor class.

Webserver:

https://cupsat.brenda-enzymes.org/resultall.jsp

Accepted inputs:
  • PDB accession code

Availability:

Available (as of Oct 04, 2024)

Default configuration for CUPSAT predictor defined in config.json syntax is:

"cupsat": {
    "experimental_method": "thermal",
    "batch_size": 20
}
Allowed experimental_method values are:
  • “thermal” : Thermal stability

  • “denaturants” : Denaturants

Citation

Parthiban, V., Gromiha, M.M. and Schomburg, D., 2006. CUPSAT: prediction of protein stability upon point mutations. Nucleic acids research, 34(suppl_2), pp.W239-W242.

url = 'https://cupsat.brenda-enzymes.org'
experimental_methods = {'denaturants': 'denat', 'thermal': 'thermal'}
prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.cupsat.id.CUPSATPdbID(data: DataFrame, experimental_method: str = 'thermal', batch_size: int = 20, *args, **kwargs)[source]

Bases: _CUPSAT

DDGun

class benchstab.predictors.web.ddgun.base._DDGun(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 5, *args, **kwargs)[source]

Bases: BaseGetPredictor

DDGun predictor class.

Webserver:

https://folding.biofold.org/cgi-bin/ddgun.cgi

Accepted inputs:
  • PDB accession code

  • PDB structure file

  • Protein sequence

Availability:

Available (as of Oct 04, 2024)

Default configuration for DDGun predictor defined in config.json syntax is:

"ddgun": {
    "wait_interval": 60,
    "batch_size": 5
}
Citation:

Ludovica Montanucci and others, DDGun: an untrained predictor of protein stability changes upon amino acid variants, Nucleic Acids Research, Volume 50, Issue W1, 5 July 2022, Pages W222–W227, https://doi.org/10.1093/nar/gkac325

url = 'https://folding.biofold.org/ddgun'
async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.ddgun.id.DDGunPdbID(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 5, *args, **kwargs)[source]

Bases: _DDGun

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.ddgun.file.DDGunPdbFile(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 5, *args, **kwargs)[source]

Bases: _DDGun

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.ddgun.sequence.DDGunSequence(*args, **kwargs)[source]

Bases: _DDGun

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

DeepDDG

class benchstab.predictors.web.deepddg.base._DeepDDG(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 120, batch_size: int = 5, *args, **kwargs)[source]

Bases: BaseGetPredictor

DeepDDG predictor class.

Webserver:

http://protein.org.cn/upload.ddg.php

Accepted inputs:
  • PDB accession code

  • PDB structure file

Default configuration for DeepDDG predictor defined in config.json syntax is:

"deepddg": {
    "wait_interval": 120,
    "batch_size": 5
}
Citation:

Huali Cao, Jingxue Wang, Liping He, Yifei Qi, and John Z. Zhang Journal of Chemical Information and Modeling 2019 59 (4), 1508-1514 DOI: https://doi.org/10.1021/acs.jcim.8b00697

url = 'http://protein.org.cn/ddg.html'
format_mutation(data) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async _DeepDDG__extract_ddg_handler(index, response, session)
class benchstab.predictors.web.deepddg.id.DeepDDGPdbID(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 120, batch_size: int = 5, *args, **kwargs)[source]

Bases: _DeepDDG

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.deepddg.file.DeepDDGPdbFile(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 120, batch_size: int = 5, *args, **kwargs)[source]

Bases: _DeepDDG

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

DUET

class benchstab.predictors.web.duet.base._DUET(data: DataFrame, flags: PredictorFlags | None = None, batch_size: int = 1, *args, **kwargs)[source]

Bases: BasePostPredictor

DUET predictor class.

Webserver:

https://biosig.lab.uq.edu.au/duet/stability_prediction

Accepted inputs:
  • PDB accession code

  • PDB structure file

Availability:

Available (as of Oct 04, 2024)

Default configuration for DUET predictor defined in config.json syntax is:

"duet": {
    "batch_size": 1
}
Citation:

Douglas E.V. Pires and others, DUET: a server for predicting effects of mutations on protein stability using an integrated computational approach, Nucleic Acids Research, Volume 42, Issue W1, 1 July 2014, Pages W314–W319, https://doi.org/10.1093/nar/gku411

url = 'https://biosig.lab.uq.edu.au/duet/stability'
async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.duet.id.DUETPdbID(data: DataFrame, flags: PredictorFlags | None = None, batch_size: int = 1, *args, **kwargs)[source]

Bases: _DUET

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.duet.file.DUETPdbFile(data: DataFrame, flags: PredictorFlags | None = None, batch_size: int = 1, *args, **kwargs)[source]

Bases: _DUET

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

I-Mutant

class benchstab.predictors.web.imutant.base._IMutant3(data, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: BaseGetPredictor

I-Mutant3 predictor class.

Webserver:

http://gpcr.biocomp.unibo.it/cgi/predictors/I-Mutant3.0/I-Mutant3.0.cgi

Accepted inputs:
  • PDB accession code

  • PDB structure file

  • Protein sequence

Availability:

Offline (as of Oct 04, 2024)

Default configuration for I-Mutant3 predictor defined in config.json syntax is:

"imutant3": {
    "wait_interval": 60,
    "batch_size": 10
}
Citation:

N/A

url = 'http://gpcr2.biocomp.unibo.it/cgi/predictors/I-Mutant3.0/I-Mutant3.0.cgi'
async default_post_handler(index, response, session) bool[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session) bool[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.imutant.base._IMutant2(data, *args, **kwargs)[source]

Bases: _IMutant3

I-Mutant2 predictor class.

Webserver:

https://folding.biofold.org/cgi-bin/i-mutant2.0.cgi

Accepted inputs:
  • PDB accession code

  • Protein sequence

Availability:

Available (as of Oct 04, 2024)

Default configuration for I-Mutant2 predictor defined in config.json syntax is:

"imutant2": {
    "wait_interval": 60,
    "batch_size": 5
}
Citation:

Emidio Capriotti and others, I-Mutant2.0: predicting stability changes upon mutation from the protein sequence or structure, Nucleic Acids Research, Volume 33, Issue suppl_2, 1 July 2005, Pages W306–W310, https://doi.org/10.1093/nar/gki375

url = 'https://folding.biofold.org/i-mutant/i-mutant2.0.html'
async default_get_handler(index, response, session) bool[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.imutant.id.IMutant3PdbID(data, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: _IMutant3

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.imutant.id.IMutant2PdbID(data, *args, **kwargs)[source]

Bases: _IMutant2

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.imutant.file.IMutant3PdbFile(data, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: _IMutant3

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.imutant.sequence.IMutant2Sequence(data, *args, **kwargs)[source]

Bases: _IMutant2

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.imutant.sequence.IMutant3Sequence(data, *args, **kwargs)[source]

Bases: _IMutant3

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

INPS

class benchstab.predictors.web.inps.base._INPS(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 10, *args, **kwargs)[source]

Bases: BaseGetPredictor

INPS predictor class.

Webserver:

https://inpsmd.biocomp.unibo.it

Accepted inputs:
  • PDB accession code

  • Protein sequence

Availability:

Available (as of Oct 04, 2024)

Default configuration for INPS predictor defined in config.json syntax is:

"inps": {
    "wait_interval": 60,
    "batch_size": 10
}
Citation:

Castrense Savojardo and others, INPS-MD: a web server to predict stability of protein variants from sequence and structure, Bioinformatics, Volume 32, Issue 16, August 2016, Pages 2542–2544, https://doi.org/10.1093/bioinformatics/btw192

url = 'https://inpsmd.biocomp.unibo.it/welcome/default/index'
async send_query(session, index)[source]

Send the query to the predictor. If the predictor is a form-data predictor, the query is sent as a multipart form. Otherwise, it is sent as a JSON object.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the query was sent successfully, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async _INPS__extract_ddg_handler(index, response, session)
async _INPS__retrieve_formkey_handler(index, response, session)
class benchstab.predictors.web.inps.id.INPSPdbID(*args, **kwargs)[source]

Bases: _INPS

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

Maestro

class benchstab.predictors.web.maestro.base._Maestro(data, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 1, model: str = '-1', *args, **kwargs)[source]

Bases: BaseGetPredictor

Maestro predictor class.

Webserver:

https://pbwww.services.came.sbg.ac.at/maestro/web

Accepted inputs:
  • PDB accession code

Availability:

Available (as of Oct 04, 2024)

Default configuration for Maestro predictor defined in config.json syntax is:

"maestro": {
    "wait_interval": 60,
    "batch_size": 1
}
Citation:

Laimer, J., Hofer, H., Fritz, M. et al. MAESTRO - multi agent stability prediction upon point mutations. BMC Bioinformatics 16, 116 (2015). https://doi.org/10.1186/s12859-015-0548-6

url = 'https://pbwww.services.came.sbg.ac.at/maestro/web'
format_mutation(data: str | Dict) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

async send_query(session, index, *args, **kwargs)[source]

Send the query to the predictor. If the predictor is a form-data predictor, the query is sent as a multipart form. Otherwise, it is sent as a JSON object.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the query was sent successfully, False otherwise

Return type:

bool

async retrieve_result(session, index)[source]

Retrieve the results of the prediction. The results are retrieved by sending a GET request to the url specified in the dataset. IF the datapoint is already processed, the function returns True, otherwise it returns the result of the default_get_handler function.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async _Maestro__retrieve_jobid_handler(index, response, session)
class benchstab.predictors.web.maestro.id.MaestroPdbID(data, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 1, model: str = '-1', *args, **kwargs)[source]

Bases: _Maestro

mCSM

class benchstab.predictors.web.mcsm.base._mCSM(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 5, *args, **kwargs)[source]

Bases: BaseGetPredictor

mCSM predictor class.

Webserver:

https://biosig.lab.uq.edu.au/mcsm/stability

Accepted inputs:
  • PDB structure file

Availability:

Available (as of Oct 04, 2024)

Default configuration for mCSM predictor defined in config.json syntax is:

"mcsm": {
    "wait_interval": 60,
    "batch_size": 5
}
Citation:

Douglas E. V. Pires and others, mCSM: predicting the effects of mutations in proteins using graph-based signatures, Bioinformatics, Volume 30, Issue 3, February 2014, Pages 335–342, https://doi.org/10.1093/bioinformatics/btt691

url = 'https://biosig.lab.uq.edu.au/mcsm/stability'
format_mutation(data: str | Dict) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

_mCSM__rename(row)
class benchstab.predictors.web.mcsm.file.mCSMPdbFile(data: DataFrame, flags: PredictorFlags | None = None, wait_interval: int = 60, batch_size: int = 5, *args, **kwargs)[source]

Bases: _mCSM

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

MuPro

class benchstab.predictors.web.mupro.base._MUpro(data, batch_size: int = 10, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: BasePostPredictor

MUpro predictor class.

Webserver:

http://mupro.proteomics.ics.uci.edu/

Accepted inputs:
  • PDB structure file

  • Protein sequence

Availability:

Available (as of Oct 04, 2024)

Default configuration for MUpro predictor defined in config.json syntax is:

"mupro": {
    "batch_size": 10
}
Citation:

Cheng, J., Randall, A. and Baldi, P. (2006), Prediction of protein stability changes for single-site mutations using support vector machines. Proteins, 62: 1125-1132. https://doi.org/10.1002/prot.20810

url = 'http://mupro.proteomics.ics.uci.edu/'
async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.mupro.file.MuproPdbFile(data, batch_size: int = 10, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: _MUpro

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.mupro.sequence.MuproSequence(data, batch_size: int = 10, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: _MUpro

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

PonSol

class benchstab.predictors.web.ponsol.base._PONSol2(flags: PredictorFlags | None = None, batch_size: int = 5, max_retries: int = 100, *args, **kwargs)[source]

Bases: BasePostPredictor

PONSol2 predictor class.

Webserver:

http:///139.196.42.166:8010/PON-Sol2/

Accepted inputs:
  • Protein sequence

Availability:

Available (as of Oct 04, 2024)

Default configuration for PONSol2 predictor defined in config.json syntax is:

"ponsol2": {
    "batch_size": 5,
    "max_retries": 100
}
Citation:

Int. J. Mol. Sci. 2021, 22(15), 8027; https://doi.org/10.3390/ijms22158027

url = 'http://139.196.42.166:8010/PON-Sol2/'
async send_query(session, index: int, *args, **kwargs)[source]

Send the query to the predictor. If the predictor is a form-data predictor, the query is sent as a multipart form. Otherwise, it is sent as a JSON object.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the query was sent successfully, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async _PONSol2__csrf_handler(index, response, session)
class benchstab.predictors.web.ponsol.sequence.PONSol2Sequence(*args, **kwargs)[source]

Bases: _PONSol2

prepare_payload(row) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

PoPMuSiC

class benchstab.predictors.web.popmusic.base.PoPMuSiCCredentials(username: str = '', password: str = '', email: str = '', url: str = '')[source]

Bases: BaseCredentials

get_payload(csrf)[source]

Create a dictionary of parameters to be sent as a POST request. This function should be implemented by the child class.

Parameters:

kwargs (dict) – extra parameters

Returns:

dictionary of parameters

Return type:

dict

class benchstab.predictors.web.popmusic.base._PoPMuSiC(flags: PredictorFlags | None = None, batch_size: int = 5, wait_interval: int = 60, *args, **kwargs)[source]

Bases: BaseAuthentication, BaseGetPredictor

PoPMuSiC predictor class.

Webserver:

https://soft.dezyme.com

Accepted inputs:
  • PDB structure file

Availability:

Available (as of Oct 04, 2024)

Default configuration for PoPMuSiC predictor defined in config.json syntax is:

"popmusic": {
    "wait_interval": 60,
    "batch_size": 5,
    "max_retries": 100,
    "username": "",
    "password": ""
}   
Citation:

Yves Dehouck and others, Fast and accurate predictions of protein stability changes upon mutations using statistical potentials and neural networks: PoPMuSiC-2.0, Bioinformatics, Volume 25, Issue 19, October 2009, Pages 2537–2543, https://doi.org/10.1093/bioinformatics/btp445

url = 'https://soft.dezyme.com'
credentials

alias of PoPMuSiCCredentials

async login(session, index)[source]

Login to the predictor. The login is done by sending a POST request to the url specified in the credentials. The response is handled by the login_handler function. The login_handler function should return True if the login was successful, False otherwise. The function uses the credentials specified in the credentials class variable.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

  • login_extra (dict) – extra parameters for the login function

Returns:

True if the login was successful, False otherwise

Return type:

bool

format_mutation(data) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async send_query(session, index)[source]

Send the query to the predictor. If the predictor is a form-data predictor, the query is sent as a multipart form. Otherwise, it is sent as a JSON object.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the query was sent successfully, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async _PoPMuSiC__csrf_handler(index, response, session)
async _PoPMuSiC__delete(index, response, session)
async _PoPMuSiC__extract_results(index, response, session)
async _PoPMuSiC__open_submission(index, response, session)
async _PoPMuSiC__submission_handler(index, response, session)
async _PoPMuSiC__submit_request(index, response, session)
class benchstab.predictors.web.popmusic.id.PoPMuSiCPdbID(flags: PredictorFlags | None = None, batch_size: int = 5, wait_interval: int = 60, *args, **kwargs)[source]

Bases: _PoPMuSiC

PremPS

class benchstab.predictors.web.premps.base._PremPS(data, pdb_model: str = 'bioassembly', batch_size: int = 5, wait_interval: int = 60, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: BaseGetPredictor

PremPS predictor class.

Webserver:

https://lilab.jysw.suda.edu.cn/research/PremPS/

Accepted inputs:
  • PDB structure file

  • PDB accession code

Availability:

Available (as of Oct 04, 2024)

Default configuration for PremPS predictor defined in config.json syntax is:

"premps": {
    "wait_interval": 60,
    "batch_size": 5,
    "pdb_model": "bioassembly",
    "max_retries": 100
}
Citation:

Chen Y, Lu H, Zhang N, Zhu Z, Wang S, et al. (2020) PremPS: Predicting the impact of missense mutations on protein stability. PLOS Computational Biology 16(12): e1008543. https://doi.org/10.1371/journal.pcbi.1008543

url = 'https://lilab.jysw.suda.edu.cn/research/PremPS/'
pdb_models = {'asymmetric unit': 'asu', 'bioassembly': 'bio'}
format_mutation(data: str | Dict) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

async send_query(session, index)[source]

Send the query to the predictor. If the predictor is a form-data predictor, the query is sent as a multipart form. Otherwise, it is sent as a JSON object.

Parameters:
  • session (aiohttp.ClientSession) – aiohttp session

  • index (int) – index of the row

Returns:

True if the query was sent successfully, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async _PremPS__csrf_handler(index, response, session)
async _PremPS__save_mutations_handler(index, response, session)
async _PremPS__save_partners_handler(index, response, session)
class benchstab.predictors.web.premps.id.PremPSPdbID(data, pdb_model: str = 'bioassembly', batch_size: int = 5, wait_interval: int = 60, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: _PremPS

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.premps.file.PremPSPdbFile(data, pdb_model: str = 'bioassembly', batch_size: int = 5, wait_interval: int = 60, flags: PredictorFlags | None = None, *args, **kwargs)[source]

Bases: _PremPS

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

SAAFEC

class benchstab.predictors.web.saafec.base._SAAFEC(data, flags: PredictorFlags | None = None, batch_size: int = 5, wait_interval: int = 60, *args, **kwargs)[source]

Bases: BaseGetPredictor

SAAFEC predictor class.

Webserver:

http://compbio.clemson.edu/SAAFEC-SEQ/

Accepted inputs:
  • Protein sequence

Availability:

Available (as of Oct 04, 2024)

Default configuration for SAAFEC predictor defined in config.json syntax is:

"saafec": {
    "wait_interval": 60,
    "batch_size": 5
}
Citation:

Li, G.; Panday, S.K.; Alexov, E. SAAFEC-SEQ: A Sequence-Based Method for Predicting the Effect of Single Point Mutations on Protein Thermodynamic Stability. Int. J. Mol. Sci. 2021, 22, 606. https://doi.org/10.3390/ijms22020606

url = 'http://compbio.clemson.edu/SAAFEC-SEQ/'
async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

format_mutation(data: str | Dict) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

class benchstab.predictors.web.saafec.sequence.SAAFECSequence(data, flags: PredictorFlags | None = None, batch_size: int = 5, wait_interval: int = 60, *args, **kwargs)[source]

Bases: _SAAFEC

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

SDM

class benchstab.predictors.web.sdm.base._SDM(data: DataFrame, flags: PredictorFlags | None = None, batch_size: int = 10, wait_interval: int = 60, *args, **kwargs)[source]

Bases: BaseGetPredictor

SDM predictor class.

Webserver:

http://marid.bioc.cam.ac.uk/sdm2/prediction

Accepted inputs:
  • PDB structure file

  • PDB accession code

Availability:

Offline (as of Oct 04, 2024)

Default configuration for SDM predictor defined in config.json syntax is:

"sdm": {
    "wait_interval": 60,
    "batch_size": 10
}
Citation:

Arun Prasad Pandurangan and others, SDM: a server for predicting effects of mutations on protein stability, Nucleic Acids Research, Volume 45, Issue W1, 3 July 2017, Pages W229–W235, https://doi.org/10.1093/nar/gkx439

url = 'http://marid.bioc.cam.ac.uk/sdm2/prediction'
format_mutation(data: str) str[source]

Format the mutation to the format required by the predictor. This function should be implemented by the child class.

Parameters:

data (Union[str, Dict, DatasetRow]) – mutation

Returns:

formatted mutation

Return type:

str

async default_get_handler(index, response, session)[source]

Default callback function for the GET request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the GET request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.sdm.id.SDMPdbID(data: DataFrame, flags: PredictorFlags | None = None, batch_size: int = 10, wait_interval: int = 60, *args, **kwargs)[source]

Bases: _SDM

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.sdm.file.SDMPdbFile(data: DataFrame, flags: PredictorFlags | None = None, batch_size: int = 10, wait_interval: int = 60, *args, **kwargs)[source]

Bases: _SDM

prepare_payload(row: Series)[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

sRide

class benchstab.predictors.web.sride.base._SRide(data, flags: PredictorFlags | None = None, e_value='0.001', cons_score='6', iro='0.02', hp='20', sc_check='yes', n_maxseq='50', *args, **kwargs)[source]

Bases: BasePostPredictor

SRide predictor class.

Webserver:

https://sride.enzim.hu/index.php

Accepted inputs:
  • PDB accession code

  • PDB structure file

Availability:

Available (as of Oct 04, 2024)

Default configuration for SRide predictor defined in config.json syntax is:

"sride": {
    "batch_size": 10,
    "SC_check": true,
    "Hp": 20,
    "E_value": 0.001,
    "cons_score": 6,
    "N_maxseq": 50,
    "LRO": 0.02
}
Citation:

Csaba Magyar and others, SRide: a server for identifying stabilizing residues in proteins, Nucleic Acids Research, Volume 33, Issue suppl_2, 1 July 2005, Pages W303–W305, https://doi.org/10.1093/nar/gki409

url = 'https://sride.enzim.hu/index.php'
async default_post_handler(index, response, session)[source]

Default callback function for the POST request. It checks if the request was successful and updates the status of the row accordingly.

Parameters:
  • index (int) – index of the row

  • response (aiohttp.ClientResponse) – response of the POST request

  • session (aiohttp.ClientSession) – aiohttp session

Returns:

True if the request was successful, False otherwise

Return type:

bool

class benchstab.predictors.web.sride.id.SRidePdbID(data, flags: PredictorFlags | None = None, e_value='0.001', cons_score='6', iro='0.02', hp='20', sc_check='yes', n_maxseq='50', *args, **kwargs)[source]

Bases: _SRide

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict

class benchstab.predictors.web.sride.file.SRidePdbFile(data, flags: PredictorFlags | None = None, e_value='0.001', cons_score='6', iro='0.02', hp='20', sc_check='yes', n_maxseq='50', *args, **kwargs)[source]

Bases: _SRide

prepare_payload(row: Series) Dict[source]

Prepare the payload to be sent to the predictor. This function should be implemented by the child class.

Parameters:

row (DatasetRow) – row of the dataset

Returns:

payload

Return type:

dict