Code Monkey home page Code Monkey logo

rosem's Introduction

RosEM - Pipeline and GUI for cryoEM model refinement using rosetta and phenix

Introduction

The GUI and command-line apps provide easy access to the rosetta cryoem refinement protocol by Frank DiMaio and co. The pipeline automates testing of different density weights, use of reference/starting model restraints and selections.

At the moment only the fastrelax protocol based on this tutorial (https://faculty.washington.edu/dimaio/files/rosetta_density_tutorial_aug18_1.pdf) is implemented.

Installation

Install rosetta and phenix from

https://www.rosettacommons.org/software/license-and-download

https://phenix-online.org/download/

Installation (Anaconda) recommended

cd /some/directory/
git clone https://github.com/fmi-basel/RosEM.git
conda env create --file RosEM/rosem-conda.yml
conda activate rosem-conda
cd RosEM
python3 setup.py install
# GUI
rosemgui.py
# Commandline app
relax.py

Make sure rosetta and phenix executables are in the PATH. If not you need to specify them manually in the GUI settings or use respective flags in the command line app.

Tested on Linux Ubuntu 18.x and MacOS BigSur

Installation (Virtualenv)

Dependencies Qt5

cd /some/folder
git clone https://github.com/fmi-basel/RosEM.git
python3 -m venv rosem-env
source rosem-env/bin/activate
pip install --upgrade pip
pip install -r RosEM/requirements.txt
cd RosEM
python3 setup.py install

Usage

GUI Application

rosemgui.py

When launching the GUI for the first time, you will be prompted to create a project. Choose a folder where job output should be saved.

When the main GUI has started, hovering over input fields will show context help.

Minimum input requirement is:

  • A model file [.pdb]
  • A map file [.mrc]
  • Effective resolution

image

Command line

mkdir some_jobname
cd some_jobname
relax.py --help

Minimum input:

relax.py map.mrc model.pdb -r 3.0

By default the pipeline will generate 5 models and select the best one based on FSC correlation.

Expected output:

<JOBID>_<JOBNAME>/
    best_model_w<weight>.pdb
    (run.sh)
    job_w<weight>
    (validation)
    <JOBID>_<JOBNAME>.log
    (submit_script)
  • best_model_w<weight>.pdb - The best model for a specified density weight based on FSC
  • run.sh - The command used by GUI to run the pipeline
  • job_w<weight> - Folder containing rosetta_scripts instructions (.xml), individual models (.pdb), rosetta command line scripts (.sh), and rosetta logfiles (.pdb)
  • validation - If validation was requested, the folder contains output from molprobity
  • <JOBID>_<JOBNAME>.log - Logfile from the pipeline
  • submit_script - If queue submission was used from the GUI, this file contains the submission commands

Licenses

RosEM is licensed under the Apache License, Version 2.0.

Icons are from the GTK framework, licensed under GPL.

Third-party software and libraries may be governed by separate terms and conditions or license provisions. Your use of the third-party software, libraries or code is subject to any such terms and you should check that you can comply with any applicable restrictions or terms and conditions before use.

rosem's People

Contributors

georgkempf avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.