Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extracting annotations from structures #8

Closed
Ninjani opened this issue Apr 5, 2020 · 23 comments · Fixed by #29
Closed

Extracting annotations from structures #8

Ninjani opened this issue Apr 5, 2020 · 23 comments · Fixed by #29
Labels
enhancement New feature or request in progress This is currently being worked on

Comments

@Ninjani
Copy link
Contributor

Ninjani commented Apr 5, 2020

By: Barbara Terlouw, Mehmet Akdel, Janani Durairaj

These are the annotation types/sources that we are planning to work on. We'll be writing scripts such that the annotations can be generated for any PDB file so that it works for new ones as well. These annotations are mostly per structure, per residue, except for the first two. Suggestions welcome!

  • functional domains
  • phenotypes
  • point mutations
  • hydrophobicity
  • surface accessibility
  • residue fluctuations derived from elastic network models (ENMs)
  • perturbation response from ENMs
  • mechanical stiffness from ENMs
  • hinge sites from ENMs
  • RMSD of residues across structures of the same protein with different ligands bound (this approach can easily be applied to compare COVID proteins to SARS or other related proteins instead)
@gtauriello gtauriello changed the title Annotation Proposal Extracting annotations from structures Apr 5, 2020
@gtauriello
Copy link
Contributor

@all-contributors please add @BarbaraTerlouw for ideas

As I expect this effort to include contributions from several people, please feel free to acknowledge them using the all-contributors bot at described in the contribution guidelines

@allcontributors
Copy link
Contributor

@gtauriello

I've put up a pull request to add @BarbaraTerlouw! 🎉

@Ninjani
Copy link
Contributor Author

Ninjani commented Apr 5, 2020

Added a notebook https://github.com/BarbaraTerlouw/covid19/blob/master/Ensemble.ipynb to analyze the variability in RMSD between the different versions of the SARS-Cov2 3CL-PRO protein (with different ligands bound), and a SARS-Cov 3CL-PRO protein.

@gtauriello gtauriello added enhancement New feature or request in progress This is currently being worked on labels Apr 6, 2020
@akdel
Copy link

akdel commented Apr 8, 2020

Update on progress:

  • functional domains
  • phenotypes
  • point mutations
  • hydrophobicity
  • surface accessibility
  • residue fluctuations derived from elastic network models (ENMs)
  • perturbation response from ENMs
  • mechanical stiffness from ENMs
  • hinge sites from ENMs
  • RMSD of residues across structures of the same protein with different ligands bound

The annotations are not yet converted to the SWISS-model format.

Example annotations on 3CL-pro (main protease):

To be able to see each of these annotations:

  1. Click on the protein ID (P0DTD1) after opening one of the above links
  2. Choose the 3C-like proteinase
  3. Click on annotations from "Covid-19 Annotations" box

@gtauriello
Copy link
Contributor

gtauriello commented Apr 8, 2020

Nice work. Thanks. On our end we are discussing display issues since by default per-residue annotations get a ball-and-stick display which doesn't really work well for your type of data. As a temp. workaround for the NGL 3D viewer: if you select "Cartoon" view after selecting the annotations you can get rid of the sticks.

@mlgill
Copy link

mlgill commented Apr 8, 2020

@all-contributors please add @mlgill for solvent accessibility and interface annotations

@allcontributors
Copy link
Contributor

@mlgill

I've put up a pull request to add @mlgill! 🎉

@akdel
Copy link

akdel commented Apr 8, 2020

We were thinking of representing possible conformational movements for each protein by using:

  1. Information from multiple existing structures
  2. Predictions from elastic network models

Would this be a good idea?

They can be represented either using arrows on the models or by animating the model:
Spike protein
Spike protein

3CL-protease

@mlgill
Copy link

mlgill commented Apr 8, 2020

@akdel Do we know the direction of movement from your calculations? I've seen it done by varying the width of the backbone for NMR spin relaxation measurements, etc.

@mlgill
Copy link

mlgill commented Apr 8, 2020

Greetings all, new to the hackathon and group. I introduced myself in the channel if you're looking for more info.

Per discussion here I'm going to start working on the solvent accessibility calculations.

WIP pull request is #34 to track my work

@akdel
Copy link

akdel commented Apr 8, 2020

@akdel Do we know the direction of movement from your calculations? I've seen it done by varying the width of the backbone for NMR spin relaxation measurements, etc.

The direction is stored per residue for a given time in normal mode data format. Some more context here. Did I understand your question correctly?

@mlgill
Copy link

mlgill commented Apr 8, 2020

@akdel Do we know the direction of movement from your calculations? I've seen it done by varying the width of the backbone for NMR spin relaxation measurements, etc.

The direction is stored per residue for a given time in normal mode data format. Some more context here. Did I understand your question correctly?

Yes, that's my question. Thanks -- I was trying to understand how specific the directionality was or if it was more indicative of the magnitude of motions. Sounds like the former.

@mlgill
Copy link

mlgill commented Apr 10, 2020

Have pushed a draft of the code to extract surface accessibility values and write a CSV for a given PDB. What else is needed? Feedback welcome.

#34

Thanks.

@Ninjani
Copy link
Contributor Author

Ninjani commented Apr 10, 2020

Very cool! We can pull your code and add a small function to generate a SWISS-MODEL annotation URL that visualizes the accessibility on the structure if you'd like. I guess we can move on to the integrating other issues? Interface residues or glycosylation sites are still open as far as I can see. Do you have any other ideas?

@mlgill
Copy link

mlgill commented Apr 10, 2020

@Ninjani I'm happy to work on adding the SWISS-MODEL annotation URL to my current PR, if you'd like. This code looks like a reference for how to do that, unless you have another example in mind?

After that I'll look into the glycosylation sites work.

@Ninjani
Copy link
Contributor Author

Ninjani commented Apr 10, 2020

Yes, I think you can use this script from the utils folder combined with the parse_pdbe.py script from that pull request to make the annotation file.

Okay, cool!

@mlgill
Copy link

mlgill commented Apr 11, 2020

Currently working on incorporating the solvent accessibility measurements into @Ninjani 's framework. Had several work interruptions today, but will finish debugging and testing tomorrow.

@Ninjani
Copy link
Contributor Author

Ninjani commented Apr 11, 2020

@mlgill Made some fixes to the parse_pdbe.py file (See #38). There were potentially some bugs in the residue mapping before as we were relying on alignment - now it uses mappings derived from PDBe so should be more correct.

@mlgill
Copy link

mlgill commented Apr 11, 2020

@Ninjani Could you verify that the branch I should be pulling code from in your fork is "master" and not "utils"? Thank you!

@gtauriello
Copy link
Contributor

@all-contributors please add @akdel for code

@allcontributors
Copy link
Contributor

@gtauriello

I've put up a pull request to add @akdel! 🎉

@gtauriello
Copy link
Contributor

@all-contributors please add @mlgill for code

@allcontributors
Copy link
Contributor

@gtauriello

I've put up a pull request to add @mlgill! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request in progress This is currently being worked on
Projects
None yet
4 participants