Author: Sumin Jeong ( Adapted from Caleb Nejely (from Noel Lefevre (from Steven Ramsey's LDNH README.md))))
You Must have Python, git, and visual studio code installed. Tested and working on python 3.9.x, may work on newer versions. If you do not have git installed you may instead download the code as a .zip from github, extract, and open the folder in visual studio code
- Clone the repository
cd <file path where you want the code to clone to>
git clone https://github.com/ramseylab/vgrampy.git vgrampy
cd vgrampy-
Install dependencies
- If you only have one version of python installed
pip install -r requirements.txt
- If you have more than one version of python (version X.Y)
pythonX.Y -m pip install -r requirements,txt
-
Open vgrampy folder in visual studio code
-
Open vgrampy.py
-
Use the play button in the top right to run
If you have multiple python versions first select an interpreter using the button on the bottom right
-
Plot Data: generate automatic plots of the data
-
Separate Concentrations: separate plots based on concentration in the file name
-
Transform Data: rotates and cleans up the output dataframe for easier work in excel, add an additional output file
-
Separate Conditions: separate data into folder before analysis based on the fourth item in the file name (eg. condition in "YYYY_MM_DD_<Condition (optional)>")
-
Integrate signals: generate one single signal file integrating all signal files (only possible when 'separate conditions' is activated)
-
Customize Plot: able to adjust title, ranges of axes, and font sizes in plots
-
Do log input: log-transform or not (default 'yes')
-
Peak Feature: peak curvature, height or area (default = peak area)
-
Start Voltage: voltage start point of data (default = 0.852 for carbamazepine, change to 0.952 for oxcarbazepine)
-
Analyate Code: code for drug of interest
-
Smoothing: amount of smoothing the voltammogram (default = 0.006)
-
Stiffness: how strictly the spline passes through the data points (default = 0)
-
Vwidth: voltage width to window out when making the spline (default = 0.15)
-
Peak Voltage Range: voltage range to look for the peak in (default = 1.0 to 1.1 for cbz, 1.24 to 1.4 for oxc and lmg)
The naming convention for each file is: [filename]_[log or no log]_[peak feature]_YYYY_MM_DD_[condition]_[analyte code]
For example dataframe_log_area_2026_05_07_Filter_cbz.xlsx
| conc | replicate | V | I | logI | smoothed | detilted |
|---|---|---|---|---|---|---|
| 0 | 1 | 0.504 | 0.08379 | -0.25515 | -0.24431 | 0 |
| 0 | 1 | 0.508 | 0.8375 | -0.25584 | -0.23192 | 0 |
| 0 | 1 | 0.512 | 0.8564 | -0.21048 | -0.21048 | 0 |
| 0 | 1 | 0.516 | 0.8797 | -0.18492 | -0.18001 | 0 |
| 0 | 1 | 0.520 | 0.9069 | -0.14098 | -0.14420 | 0 |
| file | signal | peak V | vcenter |
|---|---|---|---|
| 2024_01_02_cbz00_01.txt | 23.9020 | 1.083 | 1.012 |
| 2024_01_02_cbz15_01.txt | 324.8372 | 1.074 | 1.076 |
| 2024_01_02_cbz15_02.txt | 236.3741 | 1.061 | 1.064 |
| conc | average | std | CV | T-Statistic | avg peak | std peak |
|---|---|---|---|---|---|---|
| 0.0μM | 28.9 | 20.11 | 0 | 0 | 1.02 | 0.04 |
| 5.0μM | 84.11 | 14.19 | 0.169 | 6.34 | 1.06 | 0.01 |
| 10.0μM | 9.80 | 29.8 | 0.206 | 5.19 | 1.07 | 0 |
| 15.0μM | 227.97 | 42.43 | 0.186 | 4.54 | 1.07 | 0 |