Function Repository Resource:

BioMoleculeIDRPlot3D

Source Notebook

Visualize the intrinsically disordered regions (IDRs) in a protein

Contributed by: Soutick Saha

ResourceFunction["BioMoleculeIDRPlot3D"][protein]

shows the 3D structure of protein with the intrinsically disordered regions highlighted.

ResourceFunction["BioMoleculeIDRPlot3D"][protein,"AveragePredictionConfidence"]

shows protein with coloring based on the averaged confidence of disorder prediction.

Details and Options

Intrinsically Disordered Regions (IDRs) of proteins are the regions that lack a fixed or ordered three-dimensional structure.
BioMoleculeIDRPlot3D is based on the resource function BioMoleculeIDRs and Tesei, G., Trolle, A.I., Jonsson, N. et al. Conformational ensembles of the human intrinsically disordered proteome. Nature 626, 897–904 (2024). https://doi.org/10.1038/s41586-023-07004-5
The function helps us visualize the IDRs or the averaged confidence of prediction in computationally predicted protein structures.
BioSequence must be a continuous peptide sequence of 400 amino acids or fewer.
When protein is an ExternalIdentifier then its "type" is "UniProtKBAccessionNumber" and the id is the UniProt ID of predicted structures in the AlphaFold Protein Structure Database.
When protein is a String, then it can be either a MGnify Protein ID, corresponding to structures in the ESM Metagenomic Atlas, or a filename.
This function used "ESMAtlas" ServiceConnection to obtain structures from the database or predict structures from a BioSequence.
When using a filename or BioMolecule, they should be of predicted structures.
The output is a 3D protein structure highlighting the disordered regions of the structure.
BioMoleculeIDRPlot3D can take all options of ResourceFunction["BioMoleculeIDRs"] and BioMoleculePlot3D as well as the following:
ColorRules<|"Disordered"Lighter@Red,"Folded"Lighter@Blue|>rules to color different regions of a protein
ColorFunction"RedBlueTones"color scheme when residues are colored by the averaged confidence of prediction

Examples

Basic Examples (2) 

Visualize the disordered and folded regions of MDC1 (Mediator of DNA damage checkpoint protein 1):

In[1]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 ExternalIdentifier["UniProtKBAccessionNumber", "Q14676"]]
Out[1]=

Visualize the average confidence of prediction for the same protein:

In[2]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 ExternalIdentifier["UniProtKBAccessionNumber", "Q14676"], "AveragePredictionConfidence"]
Out[2]=

Scope (3) 

Visualize the disordered and folded region of a BioSequence:

In[3]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
BioSequence[
 "Peptide", "MDIAVLPNNNHPEKFLQLDVGMLPATHGMFQIGAVLSGQRQWQNKMYLQGREKEMEGKLSADSDVFEDRELEKHITPQTLKPKIKQNPLFSHINITDIEENKSKPSWTIQDYDRHTAHGQLADYMKDPKELSFWLEDLYTPGYDSLLKKKAAEIKRNKICKMLAAIILLVCVVVIIITVPILVTQSRD", {}]]
Out[3]=

Also show its averaged prediction confidence:

In[4]:=
ResourceFunction["BioMoleculeIDRPlot3D"][BioSequence[
 "Peptide", "MDIAVLPNNNHPEKFLQLDVGMLPATHGMFQIGAVLSGQRQWQNKMYLQGREKEMEGKLSADSDVFEDRELEKHITPQTLKPKIKQNPLFSHINITDIEENKSKPSWTIQDYDRHTAHGQLADYMKDPKELSFWLEDLYTPGYDSLLKKKAAEIKRNKICKMLAAIILLVCVVVIIITVPILVTQSRD", {}], "AveragePredictionConfidence"]
Out[4]=

Visualize the disordered and folded regions of a protein from the ESM Metagenomic Atlas:

In[5]:=
ResourceFunction["BioMoleculeIDRPlot3D"]["MGYP003468655373"]
Out[5]=

Visualize the structure of the disordered and folded regions of a BioMolecule:

In[6]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/026d851c-e052-40a1-892b-ccb5a1d61d53"]
In[7]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/b4b54c1f-7741-461e-b23a-ddc4f8c39eba"]

Options (4) 

ColorRules (1) 

Set colors for different regions:

In[8]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 ExternalIdentifier["UniProtKBAccessionNumber", "O60763"], ColorRules -> <|"Disordered" -> RGBColor[1, 0.56, 0], "Folded" -> RGBColor[0.54, 0.65, 0.28]|>]
Out[8]=

ColorFunction (1) 

Set ColorFunction for coloring by average confidence of prediction:

In[9]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 ExternalIdentifier["UniProtKBAccessionNumber", "O60763"], "AveragePredictionConfidence", ColorFunction -> "DeepSeaColors"]
Out[9]=

ConfidenceCutoff (1) 

"ConfidenceCutoff" determines how long the disordered regions will be:

In[10]:=
MapThread[
 ResourceFunction["BioMoleculeIDRPlot3D"][
   ExternalIdentifier["UniProtKBAccessionNumber", "P06748"], "ConfidenceCutoff" -> #, PlotLabel -> Style[#2, Black]] &, {{<|"Disordered" -> 60, "Folded" -> 70|>, <|"Disordered" -> 50, "Folded" -> 80|>}, {"Less stringent cutoff", "More stringent cutoff"}}]
Out[10]=

MinIDRLength (1) 

Minimum length for IDRs can be set by using "MinIDRLength":

In[11]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
   ExternalIdentifier["UniProtKBAccessionNumber", "Q99457"], "MinIDRLength" -> #, PlotLabel -> "Minimum IDR Length: " <> ToString@#] & /@ {15, 30}
Out[11]=

Applications (2) 

Here are some common UniProt IDs of human proteins with significant disorder:

In[12]:=
idrIDs = {"P08621", "P06748", "Q5VUA4", "Q6PD62", "Q15648", "Q13148", "P98177", "Q7KZ85", "P06454", "Q5BKZ1", "O60763", "Q99733"}
Out[12]=

Visualizing the disordered (red) regions for these proteins (columns 1, 3 and 5) and how it is connected to average confidence of prediction (red for lower values and blue for higher values in columns 2, 4 and 6). This code takes a while to evaluate:

In[13]:=
EchoTiming@
 GraphicsGrid[
  Partition[
   Flatten[{ResourceFunction["BioMoleculeIDRPlot3D"][
        ExternalIdentifier["UniProtKBAccessionNumber", #], PlotLegends -> None], ResourceFunction["BioMoleculeIDRPlot3D"][
        ExternalIdentifier["UniProtKBAccessionNumber", #], "AveragePredictionConfidence", PlotLegends -> None]} & /@ idrIDs], 6], ImageSize -> Large]
73.748832`
Out[13]=

Possible Issues (1) 

For invalid BioSequence inputs for which structures cannot be predicted Failure with an error message is returned:

In[14]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 BioSequence["Peptide", "ABCDEFGHIJNKMNOP"], "AveragePredictionConfidence"]
Out[14]=

Neat Examples (2) 

Visualize the disordered regions in a protein in human code by FAM184A gene:

In[15]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 ExternalIdentifier["UniProtKBAccessionNumber", "H7BY63"]]
Out[15]=

Visualize the average confidence of prediction in the protein:

In[16]:=
ResourceFunction["BioMoleculeIDRPlot3D"][
 ExternalIdentifier["UniProtKBAccessionNumber", "H7BY63"], "AveragePredictionConfidence"]
Out[16]=

Publisher

WolframChemistry

Version History

  • 1.0.0 – 07 July 2025

Source Metadata

Related Resources

Author Notes

This function should only be tested in Version 14.2 and above.

License Information