Skip to main content

wellerlab — WellerLab Orange3 Suitepack

Alle Werkzeuge des Weller-Labors in einem Orange3-Add-on und einer Kategorie: Weller Lab.

Familie Widgets Inhalt
wellerlab.metabo Metabo Feature Table, Preprocess, Feature Filter, Univariate Stats, Heatmap, Volcano MetaboAnalyst-artige Statistik für GC-MS/GC-IMS-Feature-Tables (Compound Discoverer). Qt-freier Kern metabo_core.
wellerlab.plsda PLS-DA, OPLS-DA Multivariate Klassifikation; OPLS-DA mit S-Plot (p1/p(corr)), Schwellen, Farbcodierung, Klick/Shift-Klick-Selektion, VIP + orthoVIP, R2X/R2Y/Q2 (7-fach-CV) und Permutationstest. Qt-freier Kern opls_core.
wellerlab.pca PCA Pro Chemometrische PCA: Scaling (none/center/Pareto/autoscale), Komponentenwahl (Kaiser, Varianzanteil, feste Zahl), Hotelling-T²- und Q-Residuen-Diagnostik.
wellerlab.nmr NMR Baseline Correction, Binning (Bucketing), Region Exclusion, Filter (Savitzky-Golay), Normalization, Reference & Alignment, Peak Finding, Calibration, Peak Match (Rnmr1D/NMRProcFlow) Vorverarbeitung von NMR-Spektren; die letzten drei nutzen den R-Paket-Kern Rnmr1D (NMRProcFlow) per Rscript-Subprocess.

Installation

# aus dem Monorepo (empfohlen): findet Oranges eigenes Python
python orange-install.py wellerlab

# oder direkt - ohne Versionsangabe, damit die neueste Version kommt
/Applications/Orange.app/Contents/MacOS/python -m pip install --no-user --upgrade --no-deps wellerlab

--no-deps ist Absicht: Orange bringt numpy/scipy/matplotlib/scikit-learn/pandas und sich selbst schon mit. Löst pip die Abhängigkeiten dagegen neu auf, kann es auf Apple Silicon die nativen arm64-Pakete gegen x86_64-Wheels tauschen - Orange startet danach nicht mehr. Nie --force-reinstall verwenden.

Beim ersten Start danach erscheint die Kategorie Weller Lab mit allen Widgets.

Wenn pip die Version nicht findet

ERROR: No matching distribution found for wellerlab==<version> direkt nach einem Release ist fast immer der PyPI-Index-Lag: die JSON-API kennt eine Version Minuten früher als der Simple-Index, den pip abfragt. Dann:

# ohne Pin installieren (holt die neueste sichtbare Version)
/Applications/Orange.app/Contents/MacOS/python -m pip install --no-user --upgrade --no-deps wellerlab
# hartnäckiger Fall: pip-Cache umgehen und direkt PyPI abfragen
/Applications/Orange.app/Contents/MacOS/python -m pip install --no-cache-dir \
    --index-url https://pypi.org/simple/ --no-user --upgrade --no-deps wellerlab
# welchen Index benutzt pip überhaupt? (Spiegel/Proxy an der Uni!)
/Applications/Orange.app/Contents/MacOS/python -m pip install -v wellerlab 2>&1 | grep -i "Looking in indexes"

Alternativ über die Oberfläche: Options → Add-ons → Add more… → wellerlab (der Dialog installiert die neueste Version von PyPI). Wichtig: frühere Einzelpakete (orangemetabo, orangeplsda, orangepca, orangenmr) müssen entfernt sein, sonst erscheinen die Widgets doppelt.

Icons

Ein generiertes, konsistentes Set: gleiche Kachelform und Strichstärke, Familienfarbe und -glyphe (Chromatogramm = Metabo, Multiplett = NMR, latente Ellipsen = PLS/OPLS, Score-Plot = PCA) plus Kurzlabel. Erzeugt von tools/gen_icons.py im Monorepo (inkl. Kategorie-Icon widgets/icons/WellerLab.svg).

Warum ein widget_discovery-Hook?

Orange scannt bei einem Entry-Point-Paket nur die Module, die direkt darin liegen. Unsere Widgets stecken in vier Familien-Unterpaketen, ein reiner Paket-Scan findet also nichts — die Kategorie bliebe leer. Deshalb definiert wellerlab/widgets/__init__.py denselben Hook, den auch Orange.widgets nutzt: Er schiebt die vier Familienpakete explizit in die eine Kategorie „Weller Lab" (inklusive Farbe und Icon). _test_suite.py prüft das über Oranges echte Discovery (orangewidget.workflow.discovery), nicht über die Legacy-Variante.

Tests (headless, offscreen)

Kanonischer Befehl — findet Oranges Python selbst und läuft mit jedem Python:

python3 run_tests.py                     # alle Suiten
python3 run_tests.py --python /pfad/zum/python

Die drei Suiten einzeln:

PY=/Applications/Orange.app/Contents/MacOS/python
$PY _test_opls_core.py      # Numerik: R2Y/Q2/VIP/Permutation
$PY _test_owoplsda.py       # Widget: Schwellen, Farben, Selektion, Ausgänge
$PY _test_suite.py          # Integration: alle 18 Widgets, Icons, Kategorie

macOS/Apple-Silicon-Falle: Wird Oranges universeller Interpreter von einem x86_64-Python (Rosetta, z. B. einer Intel-conda-Installation) gestartet, läuft er selbst als x86_64 — dort scheitert der Import von Oranges arm64-only numpy-Extension („you should not try to import numpy from its source directory“). run_tests.py umgeht das automatisch mit arch -arm64; bei direkten Aufrufen nativ starten oder ebenfalls arch -arm64 voranstellen.

Lizenz

MIT · Philipp Weller · philipp.weller@googlemail.com

Metadata

Release files for wellerlab 0.2.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wellerlab 0.2.12
File Size Uploaded
wellerlab-0.2.12.tar.gz 108.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wellerlab 0.2.12
File Interpreter ABI Platform
wellerlab-0.2.12-py3-none-any.whl Python 3 none any Details

Total release size: 245.0 kB

Release files / wellerlab-0.2.12.tar.gz

Download URL wellerlab-0.2.12.tar.gz
Size 108.6 kB
Tags Source
SHA-256 checksum
How to use checksums
95e445d645ad8c463071b30c4a8f3d6963285874aed5efc62c561b7bda10f4d9
BLAKE2b-256 checksum
How to use checksums
59d050e3b02df4587484977e7b3ca76296fac4d512c13e2611c3d682a036a214
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.12

Release files / wellerlab-0.2.12-py3-none-any.whl

Download URL wellerlab-0.2.12-py3-none-any.whl
Size 136.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd59cd11d70e6923225c9d8039da2020f4a87bdabd98b1d2baea55f6084d0824
BLAKE2b-256 checksum
How to use checksums
f0c816e159971d05ef50fa0cd276b4e55486d960e4857ef52f664e66914acb60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.12

Release history Release notifications | RSS feed

This release

0.2.12 This release

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page