Repository navigation
Releases
EPG-Renderer 0.16.1
This release reads one more kind of edited export and shortens the output of the
check tools. Images, projects and batch output are unchanged.
Fixed
- Column names with a line break: an export whose header holds a quoted column
name with a line break (as a spreadsheet program writes it after a line break was
typed into a header cell) was rejected with "Could not detect CSV delimiter",
in 0.15.1 as well. It is now read; the column name keeps its line break. All other
exports are read exactly as by 0.16.0.
For developers
- Bundles STRio 0.2.2, which detects the delimiter from the first CSV record instead
of the first physical line. - The check tools print a short report that ends with a framed block and
Result: PASSEDorResult: FAILED:tools.run_all_testsholds back what passing tests print and lists only
failures, errors and skipped tests;-vshows every test as before;tools.run_quality_checksshows a tool's output only when its check fails;tools.run_coverage_checksshows the coverage table only when a threshold is
missed;-valways shows it.
python -m tools.run_release_checks --skip-buildruns the quality checks and the
tests under coverage (the checks of CI's test job) and ends with one summary of all
stages, including the test counts. Without the flag it also builds and verifies the
release, as before.
Downloads
The same files as in 0.16.0, with the version 0.16.1 in their names.
EPG-Renderer 0.16.0
GeneMapper exports are now read by STRio, a separate package for forensic STR data
that future statistics modules will share. EPG-Renderer carries its own copy (STRio
0.2.1), so nothing has to be installed in addition.
Unchanged
- Exports that 0.15.1 reads are read the same way: the same samples, markers, alleles,
heights, sizes and warnings. Images differ from 0.15.1 only in the version number
they record. - The 32,767-RFU limit, the GUI, the command line, the Python API and the batch
manifest are unchanged.
Changed
- UTF-16 exports: a file saved as UTF-16 with byte-order mark is now read. Before,
it was rejected with "Could not detect CSV delimiter". - UTF-16 without byte-order mark: the error message now names UTF-16 and the
encodingoption instead of "Could not detect CSV delimiter". - Stricter checks of malformed exports, which 0.15.1 accepted silently:
- two columns whose names differ only in spacing (
Sample Name,Sample Name)
are rejected; before, the second was ignored; - areas and the whole-number part of sizes have at most 18 digits;
- digits of other scripts (
١٢٣) are no longer read as numbers, and sizes in
exponent notation (1e2) or with more than 6 decimal places are rejected.
- two columns whose names differ only in spacing (
- Error messages name a numeric column as it is spelled in the export (
'Peak Area 1'instead of'Area 1') and shorten very long values. - Faster reading: exports without quote characters, the usual tab-separated case,
are read about 45 % faster.
For developers
epg_renderer.parserkeeps its interface (read_genotypes_table, the five
exception classes) and delegates reading to the bundled STRio 0.2.1 in
epg_renderer._vendor.strio.src/epg_renderer/_vendor/VENDORED.jsonrecords the
SHA-256 of every bundled file;python -m tools.vendor_strio <strio checkout>
replaces the copy and--checkcompares it with a checkout.- Tests: the unchanged 0.15.1 suite passes except
test_refactoring_structure.test_parser_has_explicit_configuration_header_and_accumulator_types,
which inspected the reader's former internal classes. It is replaced by
test_parser_delegates_reading_to_the_bundled_strio_reader. New:
tests/test_strio_integration.py, including regression tests for a plain
ValueErrorthat the first 0.16.0 candidate let through for values beyond 4,300
digits. tools/run_all_tests.pyreports in English and lists skipped tests.
Downloads
The same files as in 0.15.1: the Windows GUI EPG-Renderer_GUI_Windows_x64_v0.16.0.zip
with EPG-Renderer-GUI.exe, the standalone epg-render.exe, the source ZIP
EPG-Renderer_v0.16.0.zip, the Python wheel and SHA256SUMS.txt. EPG-Renderer is not
on PyPI; the installation guide describes every download.
EPG-Renderer 0.15.1
This release fixes two display errors in the main window of the GUI. Created images
are not affected.
Fixed
- Buttons hidden after creating an image: review hints or a long output path
enlarged the status area and pushed "Close" and "Create image" below the window
edge. Status and review hints now share one field of fixed height with a scrollbar;
the first hint line states how many hints there are, and the text can be selected
and copied. - Review hints of a previous image: the red review hints stayed visible after
another file, sample, manual profile or kit was chosen, next to a profile they did
not belong to. They are now cleared on every such change. Changing the image
format, the yellow-dye colour or the output file keeps them, because the hints do
not depend on these settings.
Downloads
The same files as in 0.15.0: the Windows GUI EPG-Renderer_GUI_Windows_x64_v0.15.1.zip
with EPG-Renderer-GUI.exe, the standalone epg-render.exe, the source ZIP
EPG-Renderer_v0.15.1.zip, the Python wheel and SHA256SUMS.txt. EPG-Renderer is not
on PyPI; the installation guide describes every download.
EPG-Renderer 0.15.0
This release adds teaching material and off-ladder calls in manual profiles.
New
- Reading the figure: a new documentation page explains what a figure shows, with
a synthetic NGM example that contains off-ladder calls with and without an exported
size, an allele outside the allelic ladder, microvariants and a homozygous marker. - Off-ladder calls in manual profiles: enter
OL@<allele>, for exampleOL@34.1
for D21S11. The peak is labelledOLand drawn at the estimated position of the
helper allele. Ladder alleles and positions outside the marker range are rejected;
the GUI guide describes the rules. - New README example: a synthetic three-person mixture with a major, a minor and a
trace contributor in the proportions 6:3:1.
Downloads
The same files as in 0.14.0: the Windows GUI EPG-Renderer_GUI_Windows_x64_v0.15.0.zip
with EPG-Renderer-GUI.exe, the standalone epg-render.exe, the source ZIP
EPG-Renderer_v0.15.0.zip, the Python wheel and SHA256SUMS.txt. EPG-Renderer is not
on PyPI; the installation guide describes every download.
EPG-Renderer 0.14.0
This is the first public release of EPG-Renderer. It creates schematic, kit-aware
electropherogram-style figures from forensic STR profiles for publications, teaching
and slides.
Downloads
- Windows GUI:
EPG-Renderer_GUI_Windows_x64_v0.14.0.zip; extract it and start
EPG-Renderer-GUI.exe. Python is not needed; PNG and JPG output are included. - Windows command line:
epg-render.exe, a standalone program. - Source ZIP:
EPG-Renderer_v0.14.0.zip, to start the GUI with Python on macOS,
Linux or Windows. - Python wheel: for the command line and the Python API. EPG-Renderer is not on
PyPI; install the wheel from this release as described in the installation guide. SHA256SUMS.txt: SHA-256 checksums of all files above.
What EPG-Renderer does
- reads GeneMapper genotype-table exports (CSV, TSV or TXT) or builds a profile from
alleles entered manually in the graphical interface - resolves the kit automatically or uses the selected one; 14 kit profiles are
included - draws every peak in its dye channel with marker and allele labels; uses exported
fragment sizes when present and otherwise labelled nominal or estimated positions - writes SVG for editing in a vector graphics program, and PNG or JPG for slides; the
GUI preselects PNG when PNG and JPG output are available - shows the yellow dye in yellow or, for better contrast, in black
- renders one sample or all samples of an export, with a JSON manifest for batches
- offers the same functions on the command line and through a Python API that reports
parser warnings and omitted peaks - processes everything locally; no profile data is uploaded
Scope
EPG-Renderer is a visualization tool. It does not read raw capillary-electrophoresis
data, reconstruct measured fluorescence curves, or replace analytical interpretation
and quality control. Nominal and estimated positions are not measured fragment sizes.