follow_relion_gracefully

New script to follow Relion projects in a browser!

https://github.com/dzyla/follow_relion_gracefully

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

New script to follow Relion projects in a browser!

Basic Info
  • Host: GitHub
  • Owner: dzyla
  • License: other
  • Language: Python
  • Default Branch: v6
  • Homepage:
  • Size: 85.2 MB
Statistics
  • Stars: 42
  • Watchers: 4
  • Forks: 2
  • Open Issues: 1
  • Releases: 4
Created almost 5 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

Follow Relion Gracefully :microscope::rocket::globewithmeridians:


v6: A complete dashboard for easy interaction with your cryo-EM data in Relion, now with ~~partial~~ full :sparkles: #teamtomo :sparkles: support!

Micrograph viewer Screenshot 2025-04-26 132051

Picking statistics preview Screenshot 2025-04-26 132130

Mask with original volume preview Screenshot 2025-04-26 132427

Local resolution directly in the browser Screenshot 2025-04-26 132533

Tomography specific job preview: Screenshot 2025-04-26 131941

Tomogram viewer Screenshot 2025-04-26 131931

3D picking preview with annotations Screenshot 2025-04-26 131907

3D picking with particles Screenshot 2025-04-26 131849

:sparkles: Found this helpful in your research? Cite my work! :sparkles:

DOI

Dawid Zyla. (2024). dzyla/FollowReliongracefully: v5 (Version v5). Zenodo. https://doi.org/10.5281/zenodo.10465899

Buy Me A Coffee


Description :microscope:

v6: :high_brightness:

Version 6 introduces a complete dashboard for easy interaction with your cryo-EM data in Relion, now with full #teamtomo support! It allows users to visualize and analyze their data in real-time, providing a comprehensive overview of their projects. The new version also includes improved job previews, enhanced data visualization, and the ability to download volumes directly from the dashboard.

v5:

Version 5 improves the job preview by adopting a dynamic approach. Using Streamlit, it allows users to interact directly with their data. The underlying Python framework facilitates real-time computation of statistics and data from most jobs, enabling users to engage with metadata and select preferred statistics for download and further analysis.

v4:

Version 4 introduced support for multiple projects and job visualization through an online interface using the Hugo framework. While this static job generator enabled job display with example data, it lacked interactive capabilities due to its static nature.

v6 features :dizzy:

  • All the features of v5 but with improvements
  • Full support for #teamtomo jobs
  • Better job previews, including volume previews, statistics, and download options
  • Improved data visualization and publication-ready statistics
  • Ability to download volumes directly from the dashboard
  • Job flow chart overview, showing relationships between jobs
  • Improved speed (but increased RAM usage)
  • Included file browser for easier project switching
  • Plenty of QOL improvements
  • #OpenSoftwareAcceleratesScience

Installation :rocket:

Minor changes from v5, with a few new libraries added. Tested on Windows 10/11, WSL2, and Ubuntu 22.04.

:heavyexclamationmark:

If you are using a previously created environment, I strongly recommend creating a new environment with freshly installed dependencies, as some new libraries were added. Follow the steps below to set up a new environment.

:heavyexclamationmark:

Install Dependencies :snake:

Install dependencies in a conda environment, as Python 3.12 is required and virtual environments are no longer supported (though they might still work).

Conda Instructions

  1. Install miniconda3 (no root access required, only if not installed already):

```bash wget -q -P . https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

bash ./Miniconda3-latest-Linux-x86_64.sh -b -f ```

Activate conda for bash:

bash conda init bash

Restart the shell or type bash to see the (base) prompt:

bash (base) dzyla@GPU0

  1. Clone the GitHub repository and navigate to the folder:

```bash git clone https://github.com/dzyla/FollowReliongracefully.git

cd FollowReliongracefully ```

  1. Create a conda environment and install dependencies using the environment.yml file:

```bash conda env create --file environment.yml

conda activate FollowRelion ```

You should now see:

bash (FollowRelion) dzyla@GPU0

UV Instructions

UV is a package manager for Python that allows you to install and manage Python packages easily. It is similar to pip but is ultra-fast. To install UV, follow these steps:

  1. Install UV using pip:

bash pip install uv

or if you don't have python/pip/conda installed, use the following command:

```bash

with curl

curl -LsSf https://astral.sh/uv/install.sh | sh

alternatively, with wget

wget -qO- https://astral.sh/uv/install.sh | sh

or on Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" ```

  1. Clone the GitHub repository and navigate to the folder:

```bash git clone https://github.com/dzyla/FollowReliongracefully.git

cd FollowReliongracefully ```

  1. Create a new virtual environment using UV:

bash uv venv FollowRelion --python 3.12 4. Activate the virtual environment:

bash source FollowRelion/bin/activate

  1. Install the required packages using the requirements.txt file:

bash uv pip install -r requirements.txt 5. After the installation is complete, you should see a message indicating that the packages have been installed successfully.

:sparkles:Ready to start! :sparkles:

Usage :computer:

text streamlit run follow_relion_gracefully.py

Additional command line parameters for extra features:

-h, --help Show this help message and exit. -i I, --folder I Path to the default folder. -p P, --password P Password for securing your instance.

Example for live server updates and setting up a new project:

To use command line parameters with streamlit, add -- before the parameters:

``` conda activate FollowRelion

streamlit run followreliongracefully.py -- -p MyPassword$221#& -i /mnt/staging/240105_NewProcessing ```

This sets a password and default processing folder.

Accessing the Dashboard via Browser :chartwithupwards_trend:

The dashboard should open automatically in your browser. For remote workstations, access it using the provided network URL, ensuring the port is not firewall-blocked.

Remote access example:

``` (FollowRelion) dzyla@PC-HOME:~/FollowReliongracefully$ streamlit run followreliongracefully.py --server.port 8501 -- --p 1234 --i /mnt/f/linux/Tutorial5.0/

Local URL: http://localhost:8501 Network URL: http://172.21.222.176:8501 ```

Open the network URL in your browser to access the dashboard.

For firewall issues, create an SSH tunnel:

bash ssh -f username@workstation -L 8501:localhost:8501 -N

This allows remote dashboard access on your local computer: http://localhost:8501.

Troubleshooting :wrench:

  • As previous versions, the code is a hobby project and may not work perfectly. Please report any issues on GitHub.
  • Large volumes (500px+) load slowly, especially for multiple class-3D classifications. Plotly does an excellent job with plotting but too large data can slow down the browser.
  • Ensure the correct environment is activated (FollowRelion). Deactivate others with conda deactivate.
  • Jobs run manually may not be processed, as the script reads from default_pipeline.star.
  • There are some cases with warning about the session state. They can be ignored.
  • Rendering issues in the browser can often be resolved by refreshing (F5).
  • Mac support is untested, but it's assumed to work similarly to Linux. Please report any issues!
  • Please note that this code was developed by a Python enthusiast, not a professional developer. It has been tested under standard scenarios to ensure reliability. However, as the author, I cannot be held responsible for any issues or damages that may arise from its use. Users are encouraged to review and test the code thoroughly before implementation in their projects.

To-do :memo:

  • Add support for DynaMight
  • Speed up processing for some jobs
  • Add cryoSPARC metadata support and export to Relion

Questions/suggestions?:email:

Dawid Zyla, La Jolla Institute for Immunology

Twitter

dzyla@lji.org

Owner

  • Name: Dawid Zyla
  • Login: dzyla
  • Kind: user
  • Location: San Diego
  • Company: La Jolla Institute for Immunology

PostDoc in the Saphire group at the LJI. ETHZ Alumnus. Structural biology/protein biochemistry. #cryoEM #python

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Zyla"
  given-names: "Dawid"
  orcid: "https://orcid.org/0000-0001-8471-469X"
title: "Follow_Relion_gracefully"
version: v5
doi: 10.5281/zenodo.10465899 
date-released: 2024-01-06
url: "https://github.com/dzyla/Follow_Relion_gracefully"

GitHub Events

Total
  • Create event: 4
  • Issues event: 4
  • Release event: 1
  • Watch event: 8
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 6
Last Year
  • Create event: 4
  • Issues event: 4
  • Release event: 1
  • Watch event: 8
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 6

Dependencies

.github/workflows/gh-pages.yml actions
  • actions/checkout v2 composite
  • peaceiris/actions-gh-pages v3 composite
  • peaceiris/actions-hugo v2 composite
.github/workflows/hugo.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v3 composite
  • actions/deploy-pages v2 composite
  • actions/upload-pages-artifact v1 composite
environment.yml pypi
  • gemmi *
  • matplotlib *
  • mrcfile *
  • numpy *
  • pandas *
  • pillow *
  • plotly *
  • pyvis *
  • scikit-image *
  • scipy *
  • seaborn *
  • stqdm *
  • streamlit *
  • streamlit_plotly_events *
requirements.txt pypi
  • gemmi *
  • matplotlib *
  • mrcfile *
  • numpy *
  • pandas *
  • pillow *
  • plotly *
  • pyvis *
  • scikit-image *
  • scipy *
  • seaborn *
  • stqdm *
  • streamlit *
  • streamlit_plotly_events *