Git Product home page Git Product logo

Comments (6)

sukritsingh avatar sukritsingh commented on August 9, 2024

Huge apologies for the delayed response! I somehow missed this across a move and few other personal-life events....

Is there a fast and efficient way to produce the holistic cross-correlation matrix?

Yes! It's actually as simple as summing up the four matrices output by collect_cards.py in enspara! The output from enspara is a dict containing the four matrices (and their labels). Summing all 4 would generate the holistic cross-correlation matrix (and summing specific pairs will provide other useful matrices as well).

target_site_MI is a useful metric for computing communication from that summed matrix, but it runs by iterating across every residue in the protein for a given target site. One approach here might be to utilize a multiprocessing wrapper that runs each residue as a target site on a single core?

Thanks!

from cardsreader.

AChatzigoulas avatar AChatzigoulas commented on August 9, 2024

Thank you very much for the response. Yes I guess a multiprocess wrapper is probably the easiest solution.

Cheers

from cardsreader.

sukritsingh avatar sukritsingh commented on August 9, 2024

Of course!

Keep in mind that target_site_MI is also driven with the desire to find a known target site. It sounds like you're looking for more global communication structures within your protein? In that case, one thing we've done often and had success with is using Affinity Propagation to cluster the residue-level MI matrix (so sum the holistic MI matrix up based on which dihedrals are all in the same residue). We've had success with that identifying correlated motions in small viral proteins and 300-residue sized enzymes. I have some code to do Affinity Propagation on CARDS data that I'll be adding to the repo soon.

Hope this helps!

from cardsreader.

AChatzigoulas avatar AChatzigoulas commented on August 9, 2024

I am more interested in finding allosteric networks. Something like the classic Dynamical Network Analysis, but with CARDS instead of Pearson correlations. So, I need a n_residues*n_residues matrix with the residue pairwise CARDS.

from cardsreader.

sukritsingh avatar sukritsingh commented on August 9, 2024

This is exactly what CARDS was made for! The raw output of the Holistic correlation matrix is the dihedral pairwise CARDS values, but you can easily sum up by dihedrals to make the residue-level matrix, or use Target Site MI to generate this matrix (if you want to account for neighbor effects!).

This residue-pairwise CARDS matrix can also be thought of as an adjacency matrix for a graph, in which case clustering algorithms like Affinity Propagation will allow you to identify groups of residues that act as "communities", similarly to dynamical network analysis!

Hope this helps!

from cardsreader.

AChatzigoulas avatar AChatzigoulas commented on August 9, 2024

Yes, this is very helpful indeed. Thank you very much. It would be awesome to automate this whole process, including clustering and further analysis (plots etc). Maybe a jupyter notebook with the code you used in your papers, if that's ok with you?

from cardsreader.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.