tmquick 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {tmquick-1.0.2/tmquick.egg-info → tmquick-1.0.3}/PKG-INFO +2 -1
  2. tmquick-1.0.3/README.md +199 -0
  3. {tmquick-1.0.2 → tmquick-1.0.3}/pyproject.toml +2 -2
  4. tmquick-1.0.3/setup.py +30 -0
  5. {tmquick-1.0.2 → tmquick-1.0.3/tmquick.egg-info}/PKG-INFO +2 -1
  6. {tmquick-1.0.2 → tmquick-1.0.3}/tmquick.egg-info/SOURCES.txt +2 -0
  7. {tmquick-1.0.2 → tmquick-1.0.3}/LICENSE.md +0 -0
  8. {tmquick-1.0.2 → tmquick-1.0.3}/MANIFEST.in +0 -0
  9. /tmquick-1.0.2/README.md → /tmquick-1.0.3/readme_pypi.md +0 -0
  10. {tmquick-1.0.2 → tmquick-1.0.3}/setup.cfg +0 -0
  11. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/__init__.py +0 -0
  12. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/cli.py +0 -0
  13. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/__init__.py +0 -0
  14. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/average_trajmap_cli.py +0 -0
  15. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/csv2shift_cli.py +0 -0
  16. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/diff2graph_cli.py +0 -0
  17. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/hotspot_cli.py +0 -0
  18. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/pdb2csv_cli.py +0 -0
  19. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/shift2graph_cli.py +0 -0
  20. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/traj2pdb_cli.py +0 -0
  21. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/commands/trajmap_cli.py +0 -0
  22. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/__init__.py +0 -0
  23. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/average_trajmap.py +0 -0
  24. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/csv2shift.py +0 -0
  25. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/diff2graph.py +0 -0
  26. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/hotspot.py +0 -0
  27. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/pdb2csv.py +0 -0
  28. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/shift2graph.py +0 -0
  29. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/traj2pdb.py +0 -0
  30. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/core/trajmap.py +0 -0
  31. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/utils/__init__.py +0 -0
  32. {tmquick-1.0.2 → tmquick-1.0.3}/tmq/utils/utils.py +0 -0
  33. {tmquick-1.0.2 → tmquick-1.0.3}/tmquick.egg-info/dependency_links.txt +0 -0
  34. {tmquick-1.0.2 → tmquick-1.0.3}/tmquick.egg-info/entry_points.txt +0 -0
  35. {tmquick-1.0.2 → tmquick-1.0.3}/tmquick.egg-info/requires.txt +0 -0
  36. {tmquick-1.0.2 → tmquick-1.0.3}/tmquick.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tmquick
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: TrajMapQuick: Towards Fast Trajectory Map Analysis and Visualization
5
5
  Author: Wande M. Oluyemi (PhD), Adeniyi T. Adewumi (PhD), Shadrach C. Eze, Stephen C. Nnemolisa, @ Research Laboratory for Rational Design of Drugs and Biomaterials (ResLaR Labs), Afe Babalola University, Ado-Ekiti Nigeria
6
6
  Project-URL: Homepage, https://github.com/SHEDOOMTC/TrajMapQuick.git
@@ -21,6 +21,7 @@ Requires-Dist: colorama
21
21
  Provides-Extra: md
22
22
  Requires-Dist: mdtraj; extra == "md"
23
23
  Dynamic: license-file
24
+ Dynamic: requires-python
24
25
 
25
26
  <p align="center">
26
27
  <img src="https://raw.githubusercontent.com/SHEDOOMTC/TrajMapQuick/main/assets/TrajMapQuick.png" alt="TrajMapQuick Logo" />
@@ -0,0 +1,199 @@
1
+ <p align="center">
2
+ <img src="https://github.com/SHEDOOMTC/TrajMapQuick/blob/main/assets/TrajMapQuick.png" alt="TrajMapQuick Logo" />
3
+ </p>
4
+
5
+ ## **Overview**
6
+ **TrajMapQuick 1.0** is a light tool useful for visualization of trajectory maps and residual shifts within select regions of proteins, across several frames. It is built partially on the codes provided in the original work of Matej Kožić and Branimir Bertoša, 2024 : [**"Trajectory maps: molecular dynamics visualization and analysis"**](https://doi.org/10.1093/nargab/lqad114). **TrajMapQuick** extends the work by reconfiguring how the pdb files are parsed to generate the distance matrix, thereby improving speed dramatically. In addition, **TrajMapQuick** provides a CLI where the user can pass arguments for better throughput and batch processing.
7
+ We have also extended the code to allow for automatic detection of regions with high residual fluctuations (named **"Hotspots"**) and generation of the residual shifts of those regions. In addition, a python API has also been provided for python based community. In TrajMapQuick, the user can also choose between the backbone (**backbone**) atoms or the alpha carbon (**CA**) for computing the maps.
8
+
9
+ ## **Features**
10
+ - **Trajectory Map Visualization:** Generates a trajectory map of residual fluctuations across the select frames chosen by the user.
11
+ - **Residual shift calculation and visualization:** For a select range of residues (region), residual shifts are computed and visualized across select frames
12
+ - **Difference and Average map visualization** This computes the difference and average of two trajectories, respectively and display the resultant trajectory maps.
13
+ - **Hotspot Detection and Plotting:** This automatically probes and detects regions of high fluctuations and computes the residual shift for each region for downstream processing.
14
+ - **Hotspot Annotation:** An RMSF like plot is also generated with the key hotspots highlight for visual confirmation and inspection.
15
+
16
+ ## **Project Structure**
17
+ <pre>
18
+ TrajMapQuick/
19
+ ├── README.md # Project overview, installation, usage
20
+ ├── requirements.txt # Python dependencies
21
+ ├── setup.py # Packaging configuration
22
+ ├── environment.yml # Build config
23
+ ├── pyproject.toml # Build config
24
+ ├── LICENSE # MIT license
25
+ ├── Manifest.in
26
+ ├── tmq/ # Source codes and CLI wrappers lives here
27
+ │ ├── cli.py/ # Main command line launcher
28
+ │ ├── __init__.py # Main launcher for the python API
29
+ │ ├── core/ # Python package folder
30
+ │ │ ├── __init__.py
31
+ │ │ ├── traj2pdb.py # Converts trajectory to pdb
32
+ │ │ ├── pdb2csv.py # Converts pdb to distance matrix
33
+ │ │ ├── trajmap.py # plots the trajectory map
34
+ │ │ ├── csv2shift.py # Core shift logic for a given loop
35
+ │ │ ├── shift2graph.py # Makes shift plots for a given loop
36
+ │ │ ├── hotspot.py # Automatic detection of regions with peak fluctuations
37
+ │ │ ├── diff2graph.py # Computes and plot difference map for two trajectories
38
+ │ │ └── average_trajmap.py # Computes and plot average map for two trajectories
39
+ │ ├── commands/ # Main wrapper for the CLI
40
+ │ │ ├── __init__.py
41
+ │ │ ├── traj2pdb_cli.py # CLI wrapper
42
+ │ │ ├── pdb2csv_cli.py # CLI wrapper
43
+ │ │ ├── trajmap_cli.py # CLI wrapper
44
+ │ │ ├── csv2shift_cli.py # CLI wrapper
45
+ │ │ ├── shift2graph_cli.py # CLI wrapper
46
+ │ │ ├── hotspot_cli.py # CLI wrapper
47
+ │ │ ├── diff2graph_cli.py # CLI wrapper
48
+ │ │ └── average_trajmap_cli.py# CLI wrapper
49
+ │ └── utils # Holds functions
50
+ │ │ ├── __init__.py
51
+ │ │ └── utils.py # utility functions
52
+ ├── docs/ # docstrings for the modules
53
+ ├── assets/ # Container for images
54
+ ├── Tests/ # Containers for test trajectories and topologies
55
+ └── Conda/ # Backup YAML files
56
+
57
+
58
+ </pre>
59
+
60
+ ## **Installation**
61
+ ```bash
62
+ # Clone the repo
63
+ git clone https://github.com/SHEDOOMTC/TrajMapQuick.git && cd TrajMapQuick
64
+
65
+ # In conda environment with pip
66
+ conda create -n tmq python=3.10
67
+ conda activate tmq
68
+ conda install -c conda-forge mdtraj
69
+ pip install (-e) .
70
+
71
+ # In conda environment without pip
72
+ conda env create -f environment.yml
73
+ conda activate tmq
74
+
75
+ Use tmq --help to see the arguments
76
+ ```
77
+ ## **Commands**
78
+ ```bash
79
+ #TrajMapQuick uses a four levell subcommand from the global "tmq" command
80
+ tmq shift : Extract matrices, compute residue-residue shifts and make plots: For more, use tmq shift --help
81
+
82
+ tmq hotspot : Detect hotspots in residue shifts and create plots: For more, use tmq hotspot --help
83
+
84
+ tmq diff Computes difference between two matrices and creates the difference map: For more, use tmq diff --help
85
+
86
+ tmq average Computes average of n matrices and creates the average map: For more, use tmq average --help
87
+
88
+ ```
89
+ ## **Usage (CLI)**
90
+ ```bash
91
+ # For tmq shift, arguments are passed into the flags for trajectory, topology etc.
92
+
93
+ tmq shift --traj traj.pdb --top top.parmtop --str 1 --resr 1-300 --resrs 110-125 --cent backbone --out shift_output
94
+
95
+ #for tmq hotspot, arguments are passed similiarly, except that the region of shift is not provided
96
+
97
+ tmq hotspot --traj traj.pdb --top top.parmtop --str 1 --resr 1-300 --cent backbone --out hotspot_output
98
+ ```
99
+ ## **Usage (Python API)**
100
+ The core modules in the tmq library are clearly demonstrated in the **[Python_API.ipynb](./Notebooks/Python_API.ipynb)** file
101
+
102
+ ```python
103
+ #Typical modules are loaded and then used as explained in the jupyter notebook above:
104
+
105
+ from tmq.core.traj2pdb import traj2pdb
106
+ from tmq.core.pdb2csv import pdb2csv
107
+ from tmq.core.trajmap import trajmap
108
+ from tmq.core.csv2shift import shift
109
+ from tmq.core.shift2graph import shift2graph
110
+ from tmq.core.hotspot import detect_shifts
111
+ from tmq.core.hotspot import create_submatrices
112
+ from tmq.core.hotspot import plot_hotspot_regions
113
+ from tmq.core.hotspot import slice_shifts
114
+ from tmq.core.hotspot import plot_slice_regions
115
+ from tmq.core.diff2graph import diff_map
116
+ from tmq.core.average_trajmap import avg_trajmap
117
+ ```
118
+
119
+ ```python
120
+ # To run the notebook
121
+ cd ./Notebooks/
122
+ jupyter notebook Python_API.ipynb
123
+ ```
124
+
125
+ ## **Requirements**
126
+ - Trajectory processing libraries (mdtraj, biopython)
127
+
128
+ - Data wrangling tools (numpy, pandas)
129
+
130
+ - Trajectories must have been preprocessed (strippin water, ions,) before feeding into TrajMapQuick
131
+
132
+
133
+ All library requirements are pre-installed installed via pip or conda and are available for use in CLI or via Python API
134
+
135
+ ## **Examples**
136
+ Three trajectories and topologies files are included in the **[Test](./Test)** directory for users to try out the codes. Trajectory 1 has only 125 frames (from apo strucuture of PDB ID: 8EM8 with 789 residues) while others have 250 frames (from apo and bound strucutres of BACE1, with 389 residues). To get the full sized trajectories, see [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20681326.svg)](https://doi.org/10.5281/zenodo.20681326)
137
+
138
+
139
+ The Utility of the shift command (using a 500 frame trajectory) was shown by the figure below:
140
+
141
+ ![test_traj_2_shift_graph.png](https://github.com/SHEDOOMTC/TrajMapQuick/blob/main/assets/test_traj_2_shift_graph.png)
142
+
143
+
144
+ **And that of the hotspot command by:**
145
+
146
+
147
+ ![test_traj_2_hotspot_graph.png](https://github.com/SHEDOOMTC/TrajMapQuick/blob/main/assets/test_traj_2_hotspot_graph.png)
148
+
149
+
150
+ To reproduce the figures above, download the full length trajectory (500 frames) from Zenodo [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20681326.svg)](https://doi.org/10.5281/zenodo.20681326) and run the codes below on the CLI
151
+
152
+ ```bash
153
+ #The exact codes used to produce the results above
154
+ tmq shift -tr traj_9NSR_500.nc -to topol_9NSR.prmtop -st 1 -rr 1-378 -rs 272-285 -ce backbone -ma 5 -o out
155
+
156
+ tmq hotspot -tr traj_9NSR_500.nc -to topol_9NSR.prmtop -st 1 -rr 1-378 -ce backbone -o out
157
+ ```
158
+
159
+
160
+ ## **Improvements (Speed, Throughput and Reliability)**
161
+ **1.** Batch processing over the CLI and Python API
162
+
163
+ **2.** A major improvement of TrajMapQuick over TrajMap is the speed across varying **residue lengths** and **number of frames**. We evaluated a 1000 frame trajectory (at 100 frame interval) over 800 residues (at 100 residue interval) in TrajMapQuick for both subcommands (shift & hotspot). The **performance plots below:**
164
+
165
+ ![performance plots](https://github.com/SHEDOOMTC/TrajMapQuick/blob/main/assets/Performance_shift_hotspot.png?raw=true)
166
+
167
+ shows clear scaling with number of residues and frames, with completion time between **2-5 mins**. Compared to TrajMapQuick, a single 500 frame calculations across 800 residues took around **10 minutes** in TrajMap, besides the manual editing of input parameters.
168
+
169
+ **3.** The choice to select either the CA or backbone for shift calculations.
170
+
171
+ **4.** Automatic Detection of hotspots using RMSF plots and generation of associated shift plots.
172
+
173
+ **4.** TrajMapQuick allows you to work on any continous chunk of your protein, say residues 300-360 of a 500-residues protein. This reduces time and allows one to focus.
174
+
175
+ ## **Tutorials**
176
+ A video tutorial on the usage of **TrajMapQuick** is available **[here](https://youtu.be/iU6CaBQL8FU?si=EM2Hdk9ZednyJINj)**
177
+
178
+ ## **Contributing**
179
+ Contributions are welcome. Please submit a pull request with your changes.
180
+
181
+ ## **License**
182
+ [**MIT License**](../License.md)
183
+
184
+ ## **Contact**
185
+
186
+ For questions or issues, please contact us @ [Reslar Labs](reslarscience@gmail.com) **&copy; 2026**, or [Dr. Oluyemi](oluyemiwm@abuad.edu.ng) or [Shadrach Eze](shadrachchinecheremeze@gmail.com).
187
+
188
+
189
+ ## **Citation**
190
+
191
+ If you use TrajMapQuick, please cite: SHEDOOMTC. (2026). TrajMapQuick: Towards Fast Trajectory Map Analysis and Visualization (v1.0). Zenodo. https://doi.org/10.5281/zenodo.20681061
192
+
193
+ **Software:**
194
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20681061.svg)](https://doi.org/10.5281/zenodo.20681061)
195
+
196
+ **Dataset:**
197
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20681326.svg)](https://doi.org/10.5281/zenodo.20681326)
198
+
199
+
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tmquick"
7
- version = "1.0.2"
8
- readme = "README.md"
7
+ version = "1.0.3"
8
+ readme = "readme_pypi.md"
9
9
  description = "TrajMapQuick: Towards Fast Trajectory Map Analysis and Visualization"
10
10
  authors = [
11
11
  { name = "Wande M. Oluyemi (PhD)" },
tmquick-1.0.3/setup.py ADDED
@@ -0,0 +1,30 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name="tmq",
5
+ version="1.0",
6
+ description = "Trajectory map analysis toolkit",
7
+ authors = "Wande M. Oluyemi (PhD), Adeniyi Adewumi (PhD), Shadrach Eze @ ResLaR Labs, Afe Babalola University, Nigeria",
8
+ readme = "README.md",
9
+ python_requires = ">=3.9",
10
+ packages=find_packages(include=["tmq", "tmq.*"]),
11
+ include_package_data=True,
12
+ extras_require={"md": ["mdtraj"],},
13
+ install_requires=[
14
+ "numpy",
15
+ "pandas",
16
+ "matplotlib",
17
+ "seaborn",
18
+ "tqdm",
19
+ "biopython",
20
+ "scipy",
21
+ "netcdf4",
22
+ "colorama"
23
+
24
+ ],
25
+ entry_points={
26
+ "console_scripts": [
27
+ "tmq=tmq.cli:main",
28
+ ]
29
+ },
30
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tmquick
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: TrajMapQuick: Towards Fast Trajectory Map Analysis and Visualization
5
5
  Author: Wande M. Oluyemi (PhD), Adeniyi T. Adewumi (PhD), Shadrach C. Eze, Stephen C. Nnemolisa, @ Research Laboratory for Rational Design of Drugs and Biomaterials (ResLaR Labs), Afe Babalola University, Ado-Ekiti Nigeria
6
6
  Project-URL: Homepage, https://github.com/SHEDOOMTC/TrajMapQuick.git
@@ -21,6 +21,7 @@ Requires-Dist: colorama
21
21
  Provides-Extra: md
22
22
  Requires-Dist: mdtraj; extra == "md"
23
23
  Dynamic: license-file
24
+ Dynamic: requires-python
24
25
 
25
26
  <p align="center">
26
27
  <img src="https://raw.githubusercontent.com/SHEDOOMTC/TrajMapQuick/main/assets/TrajMapQuick.png" alt="TrajMapQuick Logo" />
@@ -2,6 +2,8 @@ LICENSE.md
2
2
  MANIFEST.in
3
3
  README.md
4
4
  pyproject.toml
5
+ readme_pypi.md
6
+ setup.py
5
7
  tmq/__init__.py
6
8
  tmq/cli.py
7
9
  tmq/commands/__init__.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes