Skip to main content

Fetch metadata from EPU / SerialEM and launch on-the-fly pre-processing

Project description

Still in development, but you are welcome to try!

A simple PyQt5 app to fetch acquisition metadata from EPU session or SerialEM. It parses the first found xml/mrc (EPU) or mdoc file (SerialEM) associated with a data collection session. In case of SerialEM you need to enable saving mdoc file for each movie.

Installation

The app requires python3, numpy and PyQt5 to run.

  1. From pypi: pip install MDCatch (recommended)

  2. From sources - you have two options:

  1. Create python virtualenv:

    python3 -m venv mdcatch
    source mdcatch/bin/activate
    git clone https://github.com/azazellochg/MDCatch.git
    cd MDCatch
    pip install -e .
  2. Create conda virtualenv (requires miniconda3 installed):

    conda create -n mdcatch python=3.8
    conda activate mdcatch
    git clone https://github.com/azazellochg/MDCatch.git
    cd MDCatch
    pip install -e .

Configure

  • Relion 3.1 or Scipion 3.0 is in in your PATH

  • Preprocessing templates: Schedules folder for Relion, template.json for Scipion

  • Edit config.py to adjust it to your setup

Running

Simply type mdcatch

Working principle

The idea is to launch the app on a processing server as soon as EPU/SerialEM starts data collection and the first movie is acquired. The server has to have access to both EPU session folder and movies folder, or to SerialEM movie folder.

  1. check if username exists in the NIS database (ypmatch username passwd)

  2. find and parse the first xml/mdoc file, getting all acquisition metadata

  3. create a Relion/Scipion project folder username_microscope_date_time inside PROJECT_PATH (or inside Scipion default projects folder)

  4. create symlinks for movies, gain reference, defects file, MTF in the project folder

  5. modify existing Relion Schedules/Scipion templates then launch Relion/Scipion on-the-fly processing

Screenshots

https://user-images.githubusercontent.com/6952870/71741099-e2c6d200-2e55-11ea-9c98-66a14dc8cb2e.png https://user-images.githubusercontent.com/6952870/71741103-e5292c00-2e55-11ea-95c3-4cf51de7382c.png

TODO

  • beam tilt is parsed but not used since we parse only a single xml/mdoc for the whole session

  • SerialEM conversions: gain ref dm4->mrc, defects SerialEM->Relion

  • use GAIN_DICT from config

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MDCatch-0.9.5.tar.gz (45.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page