{"id":16585193,"url":"https://github.com/rebelot/schrodinger_utils","last_synced_at":"2025-03-21T12:33:26.561Z","repository":{"id":87948801,"uuid":"328990773","full_name":"rebelot/schrodinger_utils","owner":"rebelot","description":"Various integrations to the Schrodinger ecosystem. With major interest on analysis tools for Molecular Dynamics simulations run with Desmond.","archived":false,"fork":false,"pushed_at":"2024-06-17T08:32:45.000Z","size":462,"stargazers_count":19,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-18T01:42:05.581Z","etag":null,"topics":["bioinformatics","desmond","maestro","molecular-dynamics","mutual-information","plumed","schrodinger","structural-biology"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rebelot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-12T13:11:01.000Z","updated_at":"2025-02-07T01:27:13.000Z","dependencies_parsed_at":"2023-05-22T02:00:06.892Z","dependency_job_id":"c90de88a-afc6-4263-96ee-d5e13b9abbb0","html_url":"https://github.com/rebelot/schrodinger_utils","commit_stats":{"total_commits":101,"total_committers":3,"mean_commits":"33.666666666666664","dds":0.1089108910891089,"last_synced_commit":"e6cbdede08742459b728bc32919fe9569195b571"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebelot%2Fschrodinger_utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebelot%2Fschrodinger_utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebelot%2Fschrodinger_utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebelot%2Fschrodinger_utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rebelot","download_url":"https://codeload.github.com/rebelot/schrodinger_utils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244799632,"owners_count":20512289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","desmond","maestro","molecular-dynamics","mutual-information","plumed","schrodinger","structural-biology"],"created_at":"2024-10-11T22:47:03.912Z","updated_at":"2025-03-21T12:33:26.159Z","avatar_url":"https://github.com/rebelot.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# schrodinger_utils\n\nVarious integrations to the [Schrodinger](https://www.schrodinger.com/) ecosystem. With major interest on\nanalysis tools for Molecular Dynamics simulations run with Desmond.\n\nPlease understand that this work is primarily meant to be used by co-workers and students of the LBBC lab @ University of Milan. Majority of the code was written during my Master/PhD and it was not originally meant to be shared, thus documentation must be improved.\n\nAlthough -for the time being- this code is not optimized for general use, you can still find useful stuff here and most plugins/scripts should work.\nFor anyone interested, please contact me at: tommaso.laurenzi@unimi.it or open an issue.\n\n**IMPORTANT**:\n\n- Some plugins/scripts are still work in progress.\n- Some plugins/scripts were written a long time ago, when I first started programming and I had limited knowledge of the Schrodinger API. Thus, despite best efforts, _may not_ contain state-of-the-art code.\n- `trjpeek.sh` and `mkhosts.sh` scripts contain hardcoded parameters that only make sense if you work with us.\n- Some major tools, like `mi.py` for calculating Generalized correlations matrix, and `flow.py` to track the paths of certain molecules are also actively developed [here](https://github.com/uliano/xlence_scripts) and supporting other formats via MDAnalyis. These tools may soon find a new home.\n\n## Overview\n\n- Maestro plugins\n- Docs\n- Shell scripts\n- Input templates\n\n### Plugins for Maestro\n\n- **maestro_applycscheme.py**: Map data to atom colors, requires python repl, exports `map2color()` function.\n- **maestro_dummy_at_center_of_mass.py**: Add dummy atom at center of mass of current selection as a separate entry.\n- **maestro_interacting.py**: Select interacting atoms between two groups or in current selection.\n- **maestro_moi.py**: Draw principal moments of inertia of selected atoms.\n- **maestro_notes.py**: Add and manage notes. Notes are added to _project table_ entries as properties\n- **maestro_pbitches.py**: Gain control over periodic box wrapping in the workspace. Make PBCs your ...\n- **maestro_renumber.py**: Better residue renumbering GUI.\n- **maestro_resdist.py**: Calculate per-residue distances between multiple versions of the same structure. Draws plots and consensus structure.\n- **maestro_resdist_v2.py**: WIP, no GUI. As above, but structures need not be the same, read residue mapping from alignment.\n- **maestro_select_by_b_factor.py**: Select residues with B factor above threshold within selection.\n- **maestro_transform.py**: GUI to Rotate and Translate workspace structures. Transformations are applied relative to selected reference or to absolute coordinates.\n- **map_interactions_to_structure.py**: Functions to parse `trj_interactions.py` output and map residue interactions to the workspace structure.\n- **parse_prime_interaction_energies.py**: Functions to parse `prime_calcenergy` output and map interaction energies to workspace structure.\n\n### Docs\n\n- **schrodinger_tips.md**: Some general tips and obscure features.\n\n### Scripts\n\n- **mi.py**: Compute Mutal Information (Shannon Entropy / Generalized Correlations) matrix of selected atoms within Desmond Molecular Dynamics trajectory.\n- **trj_flow.py**: Track trajectories of molecules that pass within a certain region during Molecular Dynamics.\n- **trj_act.py**: Align, Center and Translate stuff in Desmond trajectories.\n- **trj_boxinfo.py**: Report MD box info.\n- **trj_conv.py**: Export Desmond trajectory and cms topology to pdb+xtc format.\n- **trj_ene.py**: Report energies of and between selected atom groups as calculated by Desmond vrun.\n- **trj_fcluster.py**: RMSD based clustering of Desmond trajectory.\n- **trj_gcluster.py**: Implementation of gromos clustering method.\n- **trj_helix_axis.py**: Report principal axis of α-helices.\n- **trj_interactions.py**: Calculate interactions between selections in MD.\n- **trj_log.py**: State and ETA of a running MD job.\n- **trj_query.py**: Convert times and frame numbers.\n- **trj_measure.py**: WIP. Various geometry analyses.\n- **trj_periodic_shortest_distance.py**: Measure distances between selections across PBCs.\n- **trj_rmsd.py**: Calculate RMSD and RMSF of selections.\n- **trj_sasa.py**: Calculate SASA.\n- **trj_ssp.py**: Calculate Secondary Structure information.\n- **kerseq2hills.py**: Convert Desmond metadynamics kerseq file into plumed readable HILLS file.\n- **biasf.py**: Convert between biasf and kT.\n- **enhsamp_patched.py**: Patched version of enhsamp.py that returns a string compatible with msj/cfg files.\n- **trjpeek.sh**: Get a copy of a running trajectory from its scratch directory\n- **mkhosts.sh**: Bash utility to make user and version -specific schrodinger.hosts based on a template\n- **XL_dock.py**: Toy tool to perform protein-protein docking of structures based on cross-link data.\n- **schrun**: wrapper shell script to allow completions.\n- **\\_schrun**: WIP zsh completion function. Its generation could be automated by parsing help messages.\n\n### Templates and obscure input files commands\n\n- **minimize.msj**\n- **simulate.msj**\n- **system-builder_template.csb**\n- **system-setup.msj**\n- **schrodinger.hosts.template**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frebelot%2Fschrodinger_utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frebelot%2Fschrodinger_utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frebelot%2Fschrodinger_utils/lists"}