Skip to content

Commit 4960788

Browse files
authored
Merge pull request #47 from jag1g13/release/1.0.2
Release/1.0.2
2 parents ecc3cf3 + 32bdd40 commit 4960788

File tree

6 files changed

+87
-31
lines changed

6 files changed

+87
-31
lines changed

.github/workflows/python-package.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3+
4+
name: Python package
5+
6+
on:
7+
push:
8+
branches: [ master ]
9+
pull_request:
10+
branches: [ master ]
11+
12+
jobs:
13+
build:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
python-version: [3.7, 3.8, 3.9]
18+
os: [ubuntu-latest, macos-latest]
19+
20+
runs-on: ${{ matrix.os }}
21+
22+
steps:
23+
- uses: actions/checkout@v2
24+
25+
- name: Set up Python ${{ matrix.python-version }}
26+
uses: actions/setup-python@v2
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
30+
- name: Install project and dependencies
31+
run: |
32+
pip install --upgrade pip
33+
pip install -r requirements.txt mdtraj
34+
pip install pytest coverage
35+
36+
- name: Test with pytest
37+
run: |
38+
coverage run --source=pycgtool -m pytest
39+
coverage report --skip-covered

.gitignore

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,39 @@
1+
# Data
2+
/*.gro*
3+
/*.itp*
4+
/*.xtc*
5+
/fftest.ff/
6+
/gromacs/
7+
*.offsets
8+
9+
# Dependencies and runtime
10+
/.venv/
11+
/env/
12+
/minenv/
13+
/venv/
114
*.pyc
15+
poetry.toml
16+
17+
# Development and Testing
18+
.cache
19+
.coverage
20+
.python-version
21+
.tox/
22+
/build/
23+
/cover/
24+
/dist/
25+
/docs/_build/
26+
/htmlcov/
27+
/pycgtool.egg-info/
28+
/tmp/
29+
30+
# IDE files
231
.idea/
32+
.vscode/
33+
settings.json
34+
35+
# Misc
336
.cache/
4-
/*.gro
5-
/*.itp
6-
/fftest.ff
7-
/env
8-
/minenv
9-
.coverage
10-
/cover
11-
/tmp
12-
/doc/build
13-
/nose2-junit.xml
37+
/notes/
1438
*.offsets
39+
*.pkl

.travis.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

pycgtool/frame.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class Frame:
111111
"""
112112
Hold Atom data separated into Residues
113113
"""
114-
def __init__(self, gro=None, xtc=None, itp=None, frame_start=0, xtc_reader="simpletraj"):
114+
def __init__(self, gro=None, xtc=None, itp=None, frame_start=0, xtc_reader=None):
115115
"""
116116
Return Frame instance having read Residues and Atoms from GRO if provided
117117
@@ -132,7 +132,7 @@ def __init__(self, gro=None, xtc=None, itp=None, frame_start=0, xtc_reader="simp
132132

133133
if gro is not None:
134134
from .framereader import get_frame_reader
135-
self._trajreader = get_frame_reader(gro, traj=xtc, frame_start=frame_start)
135+
self._trajreader = get_frame_reader(gro, traj=xtc, frame_start=frame_start, name=xtc_reader)
136136

137137
self._trajreader.initialise_frame(self)
138138

pycgtool/interface.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ def __init__(self, maxits, length=20, dowhile=None, quiet=False):
227227
self._dowhile = dowhile
228228
self._quiet = quiet
229229
self._its = -1
230-
self._start_time = time.clock()
230+
self._start_time = time.perf_counter()
231231

232232
def __len__(self):
233233
"""
@@ -298,13 +298,13 @@ def _bar(self):
298298

299299
def _stop(self):
300300
if not self._quiet:
301-
time_taken = int(time.clock() - self._start_time)
301+
time_taken = int(time.perf_counter() - self._start_time)
302302
print(self._bar + " took {0}s".format(time_taken))
303303
raise StopIteration
304304

305305
def _display(self):
306306
try:
307-
time_remain = int((time.clock() - self._start_time) * ((self._maxits - self._its) / self._its))
307+
time_remain = int((time.perf_counter() - self._start_time) * ((self._maxits - self._its) / self._its))
308308
except ZeroDivisionError:
309309
time_remain = "-"
310310
print(self._bar + " {0}s left".format(time_remain), end="\r")

pycgtool/util.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,18 @@ def sliding(vals):
270270
"""
271271
it = iter(vals)
272272
prev = None
273-
current = next(it)
273+
274+
try:
275+
current = next(it)
276+
277+
except StopIteration:
278+
raise ValueError('Iterable contains no items')
279+
274280
for nxt in it:
275281
yield (prev, current, nxt)
276282
prev = current
277283
current = nxt
284+
278285
yield (prev, current, None)
279286

280287

0 commit comments

Comments
 (0)