From SNIC Documentation

Jump to: navigation, search

Chemical-Shift-ROSETTA (CS-Rosetta) is a software package for de novo protein structure generation.



Resource Centre Description
Kappa NSC throughput cluster resource of 26 TFLOPS
Matter NSC cluster resource of 37 TFLOPS dedicated to materials science

Security considerations

This program has considerable security issues that need to be addressed if installed on a multiuser system. It is recommended to set the permissions on the install directory to 700 prior to install and until all issues are solved.

  1. The com/csrosettaInit.com environment initialization script unnecessarily puts . first in $PATH, which means that all shell commands will be checked against matching files in the current working directory before execution, and if a matching executable is found, this program will be run instead. For example, it is trivial to produce a malicious program that sends your personal information and passwords to crackers.org and then executes the actual original program so you will never notice anything has gone wrong. If this program is then named cd, or ls, or ssh, or bruker, or any other command commonly used by NMRPipe users, then if an NMRPipe user happens to use any of these commands in a directory containing such a file, the full list of imaginable bad consequences will ensue and cascade. Notably, NMRPipe does not require or use this setting so it can (and SHOULD) be safely removed from ncom/csrosettaInit.com.

Tips and tricks

  1. CS-Rosetta claims to require using (t)csh shell, but actually doesn't. It requires a handful of environment variables to be set, and these can be trivially copied from the csrosettaInit.com csh script. If your centre provides a module for CS-Rosetta, this likely sets all variables correctly for you, regardless of your shell.
  2. CS-Rosetta claims to require com/csrosettaInit.com to be sourced from the user's ~/.cshrc file, but actually doesn't, so users shouldn't. Especially since sourcing an unmodified com/csrosettaInit.com introduces potential security holes (see #Security considerations above).

Compilation and installation

  1. CS-Rosetta's install.com reads the Rosetta path from stdin, and unnecessarily checks that this path corresponds to a default personal Rosetta install, and refuses to proceed if this is not the case. Comments in the file suggest to "ignore this" and to "manually configure" instead. The information obtained from this test is used mainly to create the com/csrosettaInit.com file, and since you likely want to write your own anyway (see #Security considerations above and point 3 below), a feasible solution is to delete the entire code block and replace it with:
    • set rosetta_version = "3"
    • set rosettaDir = WHATEVER_NOT_USED
    • set rosetta = WHATEVER_NOT_USED
    • set rosettaDB = WHATEVER_NOT_USED
  2. CS-Rosetta uses the ancient g77 fortran compiler which may or may not be present on your system. If not, nnmake will not build and thus cause an error with install.com. nnmake builds well with gfortran so this can be fixed by adding e.g. perl -i -pe 's/F77 = g77/F77 = gfortran/g' make.system just after the line cd {$currentDir}/src/nnmake in the install.com file.
  3. com/csrosettaInit.com unnecessarily sets absolute paths to specific builds of Rosetta executables and utilities. It is sufficient to give only the basename of the executables (e.g. AbinitioRelax, extract_pdbs) and ensure that these are on the $PATH on launch. The database path can for example be set using the $ROSETTA3_DB environment variable. The variables rosetta and rosettaDB are only relevant to very old Rosetta 2.x versions and can be set to anything (e.g. NOT_INSTALLED) as long as Rosetta 3.x is available.


License: Free.


No experts have currently registered expertise on this specific subject. List of registered field experts:
Field AE FTE General activities
Henric Zazzi (PDC) PDC Bioinformatics 100100 Bioinformatics Application support
Joel Hedlund (NSC) NSC Bioinformatics 00
Martin Dahlö (UPPMAX) UPPMAX Bioinformatics 1010 Bioinformatic support
Sebastian DiLorenzo (UPPMAX) UPPMAX Bioinformatics 5050 National bioinformatic support, NGS tumor data


Personal tools
For Staff