DUE: 11:59 PM TUESDAY, NOVEMBER 3

In this assignment we will continue our investigation of the NRAS oncogenic protein by predicting its interactions with other proteins. As shown in the figure from Holderfield et al shown below, RAS proteins interact with many other proteins.  We will be focusing on the SOS1 (Son of sevenless homolog 1)  guanine exchange factor (GEF) and the BRAF protein signaling kinase.  Recall that GEFs activate RAS by promoting the exchange of GDP for GTP while active (GTP bound) RAS proteins activate RAFs by binding to them.

 

For this assignment you will use the Boltz open source version of AlphaFold 3 to predict the structures of monomeric NRAS, NRAS bound to SOS1, and NRAS bound to BRAF (3 types of complexes).  For each complex you will model the structure with no ligand, with GDP, and with GTP (3 ligands) and you will model both WT and Q61R versions of NRAS (2 NRAS types).  This means you will generate 3*3*2=18 structures.

Although we will not have you submit code, to avoid performing obnoxiously tedious manual tasks, you should write a script to automatically generate the necessary input files for each complex.  Use the following sequence inputs:

NRAS

MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAG
QEEYSAMRDQYMRTGEGFLCVFAINNSKSFADINLYREQIKRVKDSDDVPMVLVGNKCDL
PTRTVDTKQAHELAKSYGIPFIETSAKTRQGVEDAFYTLVREIRQYRMKKLN

NRAS Q61R

MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAG
REEYSAMRDQYMRTGEGFLCVFAINNSKSFADINLYREQIKRVKDSDDVPMVLVGNKCDL
PTRTVDTKQAHELAKSYGIPFIETSAKTRQGVEDAFYTLVREIRQYRMKKLN

BRAF

MAALSGGGGGGAEPGQALFNGDMEPEAGAGAGAAASSAADPAIPEEVWNIKQMIKLTQEH
IEALLDKFGGEHNPPSIYLEAYEEYTSKLDALQQREQQLLESLGNGTDFSVSSSASMDTV
TSSSSSSLSVLPSSLSVFQNPTDVARSNPKSPQKPIVRVFLPNKQRTVVPARCGVTVRDS
LKKALMMRGLIPECCAVYRIQDGEKKPIGWDTDISWLTGEELHVEVLENVPLTTHNFVRK
TFFTLAFCDFCRKLLFQGFRCQTCGYKFHQRCSTEVPLMCVNYDQLDLLFVSKFFEHHPI
PQEEASLAETALTSGSSPSAPASDSIGPQILTSPSPSKSIPIPQPFRPADEDHRNQFGQR
DRSSSAPNVHINTIEPVNIDDLIRDQGFRGDGGSTTGLSATPPASLPGSLTNVKALQKSP
GPQRERKSSSSSEDRNRMKTLGRRDSSDDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDV
AVKMLNVTAPTPQQLQAFKNEVGVLRKTRHVNILLFMGYSTKPQLAIVTQWCEGSSLYHH
LHIIETKFEMIKLIDIARQTAQGMDYLHAKSIIHRDLKSNNIFLHEDLTVKIGDFGLATV
KSRWSGSHQFEQLSGSILWMAPEVIRMQDKNPYSFQSDVYAFGIVLYELMTGQLPYSNIN
NRDQIIFMVGRGYLSPDLSKVRSNCPKAMKRLMAECLKKKRDERPLFPQILASIELLARS
LPKIHRSASEPSLNRAGFQTEDFSLYACASPKTPIQAGGYGAFPVH

SOS1

MQAQQLPYEFFSEENAPKWRGLLVPALKKVQGQVHPTLESNDDALQYVEELILQLLNMLC
QAQPRSASDVEERVQKSFPHPIDKWAIADAQSAIEKRKRRNPLSLPVEKIHPLLKEVLGY
KIDHQVSVYIVAVLEYISADILKLVGNYVRNIRHYEITKQDIKVAMCADKVLMDMFHQDV
EDINILSLTDEEPSTSGEQTYYDLVKAFMAEIRQYIRELNLIIKVFREPFVSNSKLFSAN
DVENIFSRIVDIHELSVKLLGHIEDTVEMTDEGSPHPLVGSCFEDLAEELAFDPYESYAR
DILRPGFHDRFLSQLSKPGAALYLQSIGEGFKEAVQYVLPRLLLAPVYHCLHYFELLKQL
EEKSEDQEDKECLKQAITALLNVQSGMEKICSKSLAKRRLSESACRFYSQQMKGKQLAIK
KMNEIQKNIDGWEGKDIGQCCNEFIMEGTLTRVGAKHERHIFLFDGLMICCKSNHGQPRL
PGASNAEYRLKEKFFMRKVQINDKDDTNEYKHAFEIILKDENSVIFSAKSAEEKNNWMAA
LISLQYRSTLERMLDVTMLQEEKEEQMRLPSADVYRFAEPDSEENIIFEENMQPKAGIPI
IKAGTVIKLIERLTYHMYADPNFVRTFLTTYRSFCKPQELLSLIIERFEIPEPEPTEADR
IAIENGDQPLSAELKRFRKEYIQPVQLRVLNVCRHWVEHHFYDFERDAYLLQRMEEFIGT
VRGKAMKKWVESITKIIQRKKIARDNGPGHNITFQSSPPTVEWHISRPGHIETFDLLTLH
PIEIARQLTLLESDLYRAVQPSELVGSVWTKEDKEINSPNLLKMIRHTTNLTLWFEKCIV
ETENLEERVAVVSRIIEILQVFQELNNFNGVLEVVSAMNSSPVYRLDHTFEQIPSRQKKI
LEEAHELSEDHYKKYLAKLRSINPPCVPFFGIYLTNILKTEEGNPEVLKRHGKELINFSK
RRKVAEITGEIQQYQNQPYCLRVESDIKRFFENLNPMGNSMEKEFTDYLFNKSLEIEPRN
PKPLPRFPKKYSYPLKSPGVRPSNPRPGTMRHPTPLQQEPRKISYSRIPESETESTASAP
NSPRTPLTPPPASGASSTTDVCSVFDSDHSSPFHSSNDTVFIQVTLPHGPRSASVSSISL
TKGTDEVPVPPPVPPRRRPESAPAESSPSKIMSKHLDSPPAIPPRQPTSKAYSPRYSISD
RTSISDPPESPPLLPPREPVRTPDVFSSSPLHLQPPPLGKKSDHGNAFFPNSPSPFTPPP
PQTPSPHGTRRHLPSPPLTQEVDLHSIAGPPVPPRQSTSQHIPKLPPKTYKREHTHPSMH
RDGPPLLENAHSS

GDP

[P@@](=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2nc([nH]c(=O)c2nc1)N)([O-])OP(=O)([O-])[O-]

GTP

[P@@](=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2nc([nH]c(=O)c2nc1)N)([O-])O[P@@](=O)([O-])OP(=O)([O-])[O-]

 

Input file formats for Boltz are described here. 

Once you have the input files, run Boltz on the cluster.  You will have to use an A100 or L40 GPU as structure prediction requires a lot of GPU memory.  Recall that your CRC allocation also gives you access to the regular gpu cluster. These jobs should not take super long and should run well on the CRC preempt cluster. An example SLURM script, which assumes the input files are in FASTA format (which admittedly is deprecated in favor of yaml), is provided below.

#!/bin/bash
#SBATCH --job nras
#SBATCH --nodes=1
#SBATCH --partition=dept_gpu
#SBATCH --gres=gpu:1
#SBATCH -C L40
echo Running on `hostname`
eval "$(conda shell.bash hook)"
conda activate struct
for i in *.fasta; do echo $i; echo ""; boltz predict $i --use_msa_server; done

 

One you have your predicted structures, you should visualize them.  The pLDDT values are provided in the B factor fields.  You can color the structures by the pLDDT values in pymol with the spectrum command, e.g. spectrum b, blue_white_green, minimum=50, maximum=100

 

You will need to calculate RMSDs between your predicted structures and the GDP and GTP bound structures from the previous assignment (WT).  We will use ProDy for this.  Unfortunately, ProDy has trouble reading Boltz's mmCIF files because it can't handle line wrapping so we need to unwrap the provided files before aligning and calculating the RMS values as shown below.  **Do not skip this step. ** 

 

from modelcif import dumper,reader
import io, ihm, prody

structure = reader.read(open(fname))
fixed = io.StringIO()

ihm.dumper.set_line_wrap(False)  # Disable line wrapping for prody
dumper.write(fixed,structure)
fixed.seek(0)
prot = prody.parseMMCIFStream(fixed)

aligned,a,b,i,j = prody.matchAlign(prot,gdp_bound)
gdprmsd = prody.calcRMSD(a,b)

 

An example visualization of the calculated RMSDs is provided below.

 

Answer the questions in GradeScope about your analysis.