Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .coverage
Binary file not shown.
2 changes: 1 addition & 1 deletion .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ jobs:
uv run ruff check .
- name: Test with pytest
run: |
uv run pytest --cov=src tests/
uv run pytest --cov=trajpy tests/
19 changes: 19 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.PHONY: check-format fix test lint type-check all

check-format:
.venv/bin/ruff format trajpy --check

fix:
.venv/bin/ruff format trajpy
.venv/bin/ruff check trajpy --fix

test:
.venv/bin/python -m pytest -s tests

lint:
.venv/bin/ruff check trajpy

type-check:
.venv/bin/pyright trajpy

all: lint type-check check-format fix test
18 changes: 4 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ the generator for building your own database.

We have the package hosted at PyPi, for installing use the command line:
```bash
pip3 install trajpy
pip3 install trajpy trajpy-ui
```
If you want to test the development version, clone the repository at your local directory from your terminal:
```bash
Expand All @@ -46,23 +46,13 @@ python setup.py --install
## Basic Usage Example

### Using the Graphic User Interface (GUI)
Since the version 1.4.4 we moved the user interface to a separate package named `trajpy-ui`.

Open a terminal and execute the line bellow
```bash
python3 -m trajpy.gui
python3 -m trajpy_ui.ui
```

1 - You can open one file at time clicking on `Open file...` or process several files in the same director with `Open directory...`

2 - Select the features to be computed by ticking the boxes

3 - Click on `Compute`

4 - Select the directory and file name where the results will be stored

The processing is ready when the following message appears in the text box located at the bottom of the GUI:

`Results saved to /path/to/results/output.csv`
Check the respository [trajpy-ui](https://ocbe-uio.github.io/trajpy-ui/) for more details about the GUI.

### File formats

Expand Down
250 changes: 239 additions & 11 deletions data/samples/sample_lammps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ box:
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0 , 0 , 0, ]
- [ 2 , 1 , 8.397981e-01 , 8.397981e-01 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0 , 0 , 0, ]
- [ 3 , 1 , 8.397981e-01 , 0.000000e+00 , 8.397981e-01 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
- [ 2 , 1 , 0.000000e+00 , 5.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 100
units: lj
Expand All @@ -34,9 +34,9 @@ box:
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0 , 0 , 0, ]
- [ 2 , 1 , 8.397981e-01 , 8.397981e-01 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0 , 0 , 0, ]
- [ 3 , 1 , 8.397981e-01 , 0.000000e+00 , 8.397981e-01 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
- [ 1 , 1 , 1.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 1.000000e+00 , 6.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -1.000000e+00 , 1.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 200
units: lj
Expand All @@ -53,9 +53,9 @@ box:
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0 , 0 , 0, ]
- [ 2 , 1 , 8.397981e-01 , 8.397981e-01 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0 , 0 , 0, ]
- [ 3 , 1 , 8.397981e-01 , 0.000000e+00 , 8.397981e-01 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
- [ 1 , 1 , 2.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 2.000000e+00 , 7.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -2.000000e+00 , 1.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 300
units: lj
Expand All @@ -72,6 +72,234 @@ box:
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0 , 0 , 0, ]
- [ 2 , 1 , 8.397981e-01 , 8.397981e-01 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0 , 0 , 0, ]
- [ 3 , 1 , 8.397981e-01 , 0.000000e+00 , 8.397981e-01 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
- [ 1 , 1 , 3.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 3.000000e+00 , 8.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -3.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 300
units: lj
time: 2.0
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 4.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 2.000000e+00 , 9.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -4.000000e+00 , 2.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 400
units: lj
time: 2.5
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 5.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 1.000000e+00 , 10.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -4.000000e+00 , 3.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 500
units: lj
time: 3.0
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 6.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 2.000000e+00 , 11.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -3.000000e+00 , 2.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 600
units: lj
time: 3.5
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 7.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 3.000000e+00 , 12.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -2.000000e+00 , 1.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 700
units: lj
time: 4.0
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 8.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 2.000000e+00 , 13.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -1.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 800
units: lj
time: 4.5
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 9.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 3.000000e+00 , 14.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -1.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 900
units: lj
time: 5.0
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 10.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 4.000000e+00 , 15.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , -1.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0, 0 , 0, ]
---
timestep: 1000
units: lj
time: 5.5
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 11.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 5.000000e+00 , 16.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
---
timestep: 1100
units: lj
time: 6.0
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 12.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 4.000000e+00 , 17.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
---
timestep: 1200
units: lj
time: 6.5
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 13.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 3.000000e+00 , 17.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
---
timestep: 1300
units: lj
time: 7.0
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 14.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 2.000000e+00 , 17.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
---
timestep: 1400
units: lj
time: 7.5
natoms: 3
boundary: [ p, p, p, p, p, p, ]
thermo:
- keywords: [ Step, Temp, E_pair, E_mol, TotEng, Press, ]
- data: [ 0, 0, -27093.472213010766, 0, 0, 0, ]
box:
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 16.795961913825074 ]
- [ 0, 0, 0 ]
keywords: [ id, type, x, y, z, vx, vy, vz, ix, iy, iz, ]
data:
- [ 1 , 1 , 15.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.841579e-01 , -9.710036e-01 , -2.934617e+00 , 0, 0 , 0, ]
- [ 2 , 1 , 1.000000e+00 , 17.000000e+00 , 0.000000e+00 , -1.799591e+00 , 2.127197e+00 , 2.298572e+00 , 0, 0 , 0, ]
- [ 3 , 1 , 0.000000e+00 , 0.000000e+00 , 0.000000e+00 , -1.807682e+00 , -9.585130e-01 , 1.605884e+00 , 0 , 0 , 0, ]
4 changes: 1 addition & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@ keywords = [
dependencies = [
"numpy>=1.14.3",
"scipy>=1.7.1",
"ttkthemes>=2.4.0",
"Pillow>=8.1.0",
"PyYAML>=5.3.1",
"PyYAML>=5.3.1"
]

[project.urls]
Expand Down
Loading