schrodinger.protein.gpcr.tasks module

class schrodinger.protein.gpcr.tasks.GPCRTask(*args, _param_type=<object object>, **kwargs)

Bases: BaseHitAlignTask

Task to run ‘protein.tasks.blast.BlastTask’ task against a custom database.

MINIMUM_IDENTITY = 0.7
MIN_RESIDUE_SCORE = 0.8
RUN_AVE_WEIGHTS = [1, 1, 1, 1, 2, 3, 5, 3, 2, 1, 1, 1, 1]
LOW_IDENTITY_ERROR = 'Could not find sequence with identity > {MINIMUM_IDENTITY*100:.1f}%'
class Input(*args, _param_type=<object object>, **kwargs)

Bases: CompoundParam

query_sequence: ProteinSequence

A parameter of the class.

custom_database_path: str

A parameter of the class.

sqlite_path: str

A parameter of the class.

consider_aln_gaps: bool

A parameter of the class.

consider_aln_gapsChanged

A pyqtSignal emitted by instances of the class.

consider_aln_gapsReplaced

A pyqtSignal emitted by instances of the class.

custom_database_pathChanged

A pyqtSignal emitted by instances of the class.

custom_database_pathReplaced

A pyqtSignal emitted by instances of the class.

query_sequenceChanged

A pyqtSignal emitted by instances of the class.

query_sequenceReplaced

A pyqtSignal emitted by instances of the class.

sqlite_pathChanged

A pyqtSignal emitted by instances of the class.

sqlite_pathReplaced

A pyqtSignal emitted by instances of the class.

class Output(*args, _param_type=<object object>, **kwargs)

Bases: CompoundParam

alignment: ProteinAlignment

A parameter of the class.

gpcr_anno = None
alignmentChanged

A pyqtSignal emitted by instances of the class.

alignmentReplaced

A pyqtSignal emitted by instances of the class.

initializeValue()

@overrides: parameters.CompoundParam

getHits() List[ProteinSequence]

Run the blast task and convert all hits to protein sequences.

getAligner()

Overload default aligner with custom for GPCRs.

scoreAlignedPositions(aln: ProteinAlignment) list[float]

Score aligned residues based on neighboring matches.

This is used to flag spurious aligned residues that should not be annotated despite an identical match. This avoids issues with fusion proteins that are commonly added to GPCR constructs to help with structure determination.

The score is an average over a N-residue window, centered on each query sequence residue. The average is weighted so that the closest positions in sequence have a higher contribution. We do two passes to downweight small isolated fragments of identical matches.

All values used here (window size, score threshold, scoring scheme) were determined empirically based on a small set of structures and should not be treated as gospel. Feel free to modify if needed.

transferAnnotationToQuerySeq()

Transfer the GPCR annotation from the blast hit to the query sequence.

getGPCRAnnotationMap(gpcr_anno)

Annotate the input sequence based on GPCRdb data for the best Blast hit.

calling_contextChanged

A pyqtSignal emitted by instances of the class.

calling_contextReplaced

A pyqtSignal emitted by instances of the class.

failure_infoChanged

A pyqtSignal emitted by instances of the class.

failure_infoReplaced

A pyqtSignal emitted by instances of the class.

input: CompoundParam

A parameter of the class.

inputChanged

A pyqtSignal emitted by instances of the class.

inputReplaced

A pyqtSignal emitted by instances of the class.

max_progressChanged

A pyqtSignal emitted by instances of the class.

max_progressReplaced

A pyqtSignal emitted by instances of the class.

nameChanged

A pyqtSignal emitted by instances of the class.

nameReplaced

A pyqtSignal emitted by instances of the class.

output: ProteinAlignment

A parameter of the class.

outputChanged

A pyqtSignal emitted by instances of the class.

outputReplaced

A pyqtSignal emitted by instances of the class.

progressChanged

A pyqtSignal emitted by instances of the class.

progressReplaced

A pyqtSignal emitted by instances of the class.

progress_stringChanged

A pyqtSignal emitted by instances of the class.

progress_stringReplaced

A pyqtSignal emitted by instances of the class.

statusChanged

A pyqtSignal emitted by instances of the class.

statusReplaced

A pyqtSignal emitted by instances of the class.