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
MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQYMRTGEGFLCVFAINNSKSFADINLYREQIKRVKDSDDVPMVLVGNKCDLPTRTVDTKQAHELAKSYGIPFIETSAKTRQGVEDAFYTLVREIRQYRMKKLN
NRAS Q61R
MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGREEYSAMRDQYMRTGEGFLCVFAINNSKSFADINLYREQIKRVKDSDDVPMVLVGNKCDLPTRTVDTKQAHELAKSYGIPFIETSAKTRQGVEDAFYTLVREIRQYRMKKLN
BRAF
MAALSGGGGGGAEPGQALFNGDMEPEAGAGAGAAASSAADPAIPEEVWNIKQMIKLTQEHIEALLDKFGGEHNPPSIYLEAYEEYTSKLDALQQREQQLLESLGNGTDFSVSSSASMDTVTSSSSSSLSVLPSSLSVFQNPTDVARSNPKSPQKPIVRVFLPNKQRTVVPARCGVTVRDSLKKALMMRGLIPECCAVYRIQDGEKKPIGWDTDISWLTGEELHVEVLENVPLTTHNFVRKTFFTLAFCDFCRKLLFQGFRCQTCGYKFHQRCSTEVPLMCVNYDQLDLLFVSKFFEHHPIPQEEASLAETALTSGSSPSAPASDSIGPQILTSPSPSKSIPIPQPFRPADEDHRNQFGQRDRSSSAPNVHINTIEPVNIDDLIRDQGFRGDGGSTTGLSATPPASLPGSLTNVKALQKSPGPQRERKSSSSSEDRNRMKTLGRRDSSDDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDVAVKMLNVTAPTPQQLQAFKNEVGVLRKTRHVNILLFMGYSTKPQLAIVTQWCEGSSLYHHLHIIETKFEMIKLIDIARQTAQGMDYLHAKSIIHRDLKSNNIFLHEDLTVKIGDFGLATVKSRWSGSHQFEQLSGSILWMAPEVIRMQDKNPYSFQSDVYAFGIVLYELMTGQLPYSNINNRDQIIFMVGRGYLSPDLSKVRSNCPKAMKRLMAECLKKKRDERPLFPQILASIELLARSLPKIHRSASEPSLNRAGFQTEDFSLYACASPKTPIQAGGYGAFPVH
SOS1
MQAQQLPYEFFSEENAPKWRGLLVPALKKVQGQVHPTLESNDDALQYVEELILQLLNMLCQAQPRSASDVEERVQKSFPHPIDKWAIADAQSAIEKRKRRNPLSLPVEKIHPLLKEVLGYKIDHQVSVYIVAVLEYISADILKLVGNYVRNIRHYEITKQDIKVAMCADKVLMDMFHQDVEDINILSLTDEEPSTSGEQTYYDLVKAFMAEIRQYIRELNLIIKVFREPFVSNSKLFSANDVENIFSRIVDIHELSVKLLGHIEDTVEMTDEGSPHPLVGSCFEDLAEELAFDPYESYARDILRPGFHDRFLSQLSKPGAALYLQSIGEGFKEAVQYVLPRLLLAPVYHCLHYFELLKQLEEKSEDQEDKECLKQAITALLNVQSGMEKICSKSLAKRRLSESACRFYSQQMKGKQLAIKKMNEIQKNIDGWEGKDIGQCCNEFIMEGTLTRVGAKHERHIFLFDGLMICCKSNHGQPRLPGASNAEYRLKEKFFMRKVQINDKDDTNEYKHAFEIILKDENSVIFSAKSAEEKNNWMAALISLQYRSTLERMLDVTMLQEEKEEQMRLPSADVYRFAEPDSEENIIFEENMQPKAGIPIIKAGTVIKLIERLTYHMYADPNFVRTFLTTYRSFCKPQELLSLIIERFEIPEPEPTEADRIAIENGDQPLSAELKRFRKEYIQPVQLRVLNVCRHWVEHHFYDFERDAYLLQRMEEFIGTVRGKAMKKWVESITKIIQRKKIARDNGPGHNITFQSSPPTVEWHISRPGHIETFDLLTLHPIEIARQLTLLESDLYRAVQPSELVGSVWTKEDKEINSPNLLKMIRHTTNLTLWFEKCIVETENLEERVAVVSRIIEILQVFQELNNFNGVLEVVSAMNSSPVYRLDHTFEQIPSRQKKILEEAHELSEDHYKKYLAKLRSINPPCVPFFGIYLTNILKTEEGNPEVLKRHGKELINFSKRRKVAEITGEIQQYQNQPYCLRVESDIKRFFENLNPMGNSMEKEFTDYLFNKSLEIEPRNPKPLPRFPKKYSYPLKSPGVRPSNPRPGTMRHPTPLQQEPRKISYSRIPESETESTASAPNSPRTPLTPPPASGASSTTDVCSVFDSDHSSPFHSSNDTVFIQVTLPHGPRSASVSSISLTKGTDEVPVPPPVPPRRRPESAPAESSPSKIMSKHLDSPPAIPPRQPTSKAYSPRYSISDRTSISDPPESPPLLPPREPVRTPDVFSSSPLHLQPPPLGKKSDHGNAFFPNSPSPFTPPPPQTPSPHGTRRHLPSPPLTQEVDLHSIAGPPVPPRQSTSQHIPKLPPKTYKREHTHPSMHRDGPPLLENAHSS
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 L40echo Running on `hostname`eval "$(conda shell.bash hook)"conda activate structfor 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,readerimport io, ihm, prody
structure = reader.read(open(fname))fixed = io.StringIO()
ihm.dumper.set_line_wrap(False) # Disable line wrapping for prodydumper.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.