tamberg / pyseq2501

Use the Illumina HiSeq 2000/2500 as an epifluorescence microscope with fluidics control.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PySeq2501

GitHub Actions pre-commit.ci status codecov Code style: black

Docs

Control your HiSeq 2000/2500 with ease.

Web control (under development) available here.

Usage

Example scripts are in the scripts/ folder. The showcase is take_image.py(scripts/take_image.py) which demonstrates fast image capture and autofocus.

Note that the actual capture of 12 bundles took less than a second.

This can be fast. Click on the image for a controllable animation!

Overview

No debug

With debug info (all communications)

Full debug

Installation

This package is written for Python 3.10+ and requires Windows 10 to function. For those using Windows 7, you can perform a dual-boot installation on any other partitions relatively easily.

The only required custom driver is the Illumina/ActiveSilicon driver which functions in both Windows 7 and Windows 10.

You can install everything from the PyPI repository pip install git+https://github.com/chaichontat/pyseq2501 but that seems more error-prone. A safer way would be to use conda to setup most of the packages then use pip to install. We have a dependency that is not in conda-forge, which prevents this package fromm being deployed to conda-forge.

Conda

Download https://raw.githubusercontent.com/chaichontat/pyseq2501/main/conda-lock.yml

conda install conda-lock
conda-lock install --no-dev -n {NAME_CHANGE_ME} conda-lock.yml
pip install git+https://github.com/chaichontat/pyseq2501

Test

pytest -rP

For development

conda install poetry
poetry install

or you could use a tox environment.

pip install tox tox-conda
tox -vv

If this still fails, see the CI template. This is tested to run (at least) on Windows and Ubuntu.

Architecture

The scientific logic are in Experiment, FlowCell, and Imager. Experiment coordinates FlowCell and Imager. Imager and FlowCell communicates high-level commands to each instrument class, which then sends the actual command to each instrument.

  graph TD;
      Experiment-->Imager;
      Experiment-->FlowCells;
      Imager-->DCAM;
      Imager-->FPGA;
      Imager-->XStage;
      Imager-->YStage;
      Imager-->Lasers;
      FPGA-->LED;
      FPGA-->Filter;
      FPGA-->Shutter;
      FPGA-->TDI;
      FPGA-->ZObj;
      FPGA-->ZTilt;
      FlowCells-->FlowCell
      FlowCell-->ARM9Chem;
      FlowCell-->Pump;
      FlowCell-->Valve;

About

Use the Illumina HiSeq 2000/2500 as an epifluorescence microscope with fluidics control.

License:GNU General Public License v3.0


Languages

Language:Python 46.3%Language:Svelte 24.2%Language:C 24.1%Language:TypeScript 3.8%Language:CSS 0.8%Language:JavaScript 0.7%Language:HTML 0.1%