PyMOL visualising e2 rotamers

This morning whilst writing some reports I wanted to show some rotamer populations of my spin label attached to the protein. Whilst MMM provides visualisation, and having had discussions with Jeschke I understand just how difficult it is to do, I do not consider them to be of publication standard. For this reason I needed to come up with something.

So first up do all the calculations in MMM as per normal but make sure you save your statistics.

Then load the protein PDB into PyMOL in the usual methods.

Once open load the MMM rotamers file using the File > Open menu; it should be something like rotamers__PDB-ID__CHAIN__MODEL_RESIDUE_LABEL_TEMP.pdb

Rename the rotamer object to something more useful and user friendly

PyMOL> set_name rotamers__PDB_ID__CHAIN__1_AA_LABEL_TEMP,rotamers

Now hide everything

PyMOL> hide *

Show the protein as a cartoon

PyMOL> show cartoon

Select the rotamer library and show it as sticks

PyMOL> show stick, rotamers

Now hide rotamers with an occupancy of near zero; ie less than 3%, but experiment until you get a sensible number on screen normally in the range of 1-5 %

PyMOL> hide stick, q <0.03

Now we make nice ball and stick models by shrinking stick radius, turning on spheres and setting their size to quite small. Remember to change the hide sphere line to match the number in the hide stick section

PyMOL> set stick_radius, 0.1
PyMOL> show spheres, rotamer
PyMOL> hide sphere, q <0.03
PyMOL> set sphere_scale, 0.15
PyMOL> set sphere_quality, 4

Hide the hydrogens

PyMOL> hide (hydro)

Add some transparency to the sticks so that all can be seen

PyMOL> set transparency, 0.2, rotamers

Colour the remaining rotamers according to their occupancy

PyMOL> spectrum q,rainbow,rotamer,0.03,0.10

This command uses: q is occupancy, rainbow is the colour palette (see built in colour bars or user generated ones), rotamer is the object to colour, and then we have minimum and maximum for range; if we leave these out then colouring is automatically set, usually between 0 and 1 which shows very little.

We still want to have the oxygen, nitrogen and sulphur coloured in their normal atom colours, so we now use

PyMOL> util.cnc

Don’t forget to ray your images to get all your shadows and rendering before you export your image.

What distinguishes you from other developers?

I've built data pipelines across 3 continents at petabyte scales, for over 15 years. But the data doesn't matter if we don't solve the human problems first - an AI solution that nobody uses is worthless.

Are the robots going to kill us all?

Not any time soon. At least not in the way that you've got imagined thanks to the Terminator movies. Sure somebody with a DARPA grant is always going to strap a knife/gun/flamethrower on the side of a robot - but just like in Dr.Who - right now, that robot will struggle to even get out of the room, let alone up some stairs.

But AI is going to steal my job, right?

A year ago, the whole world was convinced that AI was going to steal their job. Now, the reality is that most people are thinking 'I wish this POC at work would go a bit faster to scan these PDFs'.

When am I going to get my self-driving car?

Humans are complicated. If we invented driving today - there's NO WAY IN HELL we'd let humans do it. They get distracted. They text their friends. They drink. They make mistakes. But the reality is, all of our streets, cities (and even legal systems) have been built around these limitations. It would be surprisingly easy to build self-driving cars if there were no humans on the road. But today no one wants to take liability. If a self-driving company kills someone, who's responsible? The manufacturer? The insurance company? The software developer?