SBGrid software environment

Overview

SBGrid is has a new software environment which is significantly faster than the older 'monolithic' shell environment. This environment includes added features for users to manage their software. Older features (such as version selection) are still present but improved. Old scripts should run unaltered and no new commands are required.

Getting started

You can switch from the legacy SBGrid environment to the new with the sbcap command. sbcap on will enable the capsule environment. You can always return to the legacy configuration with the sbcap off command.

The sbcap setting is persistent across shells - You don't need to do this for every shell.

sbcap - Example

user@linux ~
  $ sbcap on
You will see a notice that you are using the new environment
                                  SBGrid: NEWS
********************************************************************************
                  You are using SBGrid capsules.
Capsules provide a simpler, faster, more powerful command line environment with
the same software and commands as the previous SBGrid configuration.
You should not need to change your existing workflow.

If you experience any issues, please notify us at bugs@sbgrid.org.
   For additional information visit https://sbgrid.org/wiki/capsules
********************************************************************************
                  Software Support by SBGrid (www.sbgrid.org)
********************************************************************************
...

Usage - Capsule Environment for SBGrid

Usage: sbgrid-exectable  [ --sbwhich | --sbenv | --sbman | --sbapp:[adlshrH] | --sbcitation | --sbticket | --sbhelp ]

 sbwhich         display actual executable path
 sbenv           display the running environment for the capsule
 sbman           if it exists, display executable man page
 sbapp:[adlshrH] display or select application when executable is in multiple sw titles
      :a app     run using app
      :l         list available apps
      :s         select app from menu
      :h         short help on apps
      :r         return codes help related to application selection
      :H         extended Help
 sbcitation      TO BE COMPLETED - if applicable, display citation information
 sbticket        TO BE COMPLETED - collect relevant inforamtion and submit a help request to help@sbgrid.org
 sbhelp          this message

Overrides - managing versions :

Version overrides may be defined in the ~/.sbgrid.conf file, which will be used each time the sbgrid.[sh|csh] file are sourced. A version override can also be instantiated by simply defining the APP_M prior to capsule execution.

Setting the version - EXAMPLE

For the refine executable, the default version show here is 20160324.

		bash-4.1$ refine --sbwhich
          /programs/x86_64-linux/buster/20160324/autoBUSTER/bin/linux64/refine

We can change this by setting the variable BUSTER_X to 20151214 and calling sbwhich in one command :

		bash-4.1$  env BUSTER_X=20151214 refine --sbwhich
          /programs/x86_64-linux/buster/20151214/autoBUSTER/bin/linux64/refine
This can also be accomplished by simply setting BUSTER_X=20151214 in the shell or adding the line BUSTER_X=20151214 to your ~/.sbgrid.conf file as described here.

Managing Duplicate executables

In some cases an executable may exist in multiple applications, i.e. the program fft exists in CCP4 and Tigris. A default application is already defined based on what executable would be used in the legacy environment, but the user can choose to override this selectively or permanently.

You can override the default in 4 ways. They are

  1. Command Line arguments selct the application for a single command : --sbapp:a runs the executable from "appname" or --sbapp:s select application from a list

  2. Environment variable of the form _<APPLICATION>, an underscore followed by executable in UPPER CASE. e.g. _XIA2=dials will use xia2 executable from "dials".

  3. A User Config_file in ~/.sbgrid_capsule/. e.g. echo dials > ~/.sbgrid_capsules/xia2 will uset the shell to always use the xia2 from "dials"

  4. A localsite file in /programs/local/capsule/${SB_ARCH}/defaults/execname

EXAMPLES:

Which executable am I using?

 -bash-4.1 refine --sbwhich
 /programs/x86_64-linux/buster/20160324/autoBUSTER/bin/linux64/refine

What packages include this executable?

-bash-4.1$ refine --sbapp:l
    buster
    eman

refine is present in buster and eman. Where is the eman executable?

-bash-4.1$ refine --sbapp:a eman --sbwhich
/programs/x86_64-linux/eman/1.9/bin/refine

or

  -bash-4.1$ env _REFINE=eman refine --sbwhich
  /programs/x86_64-linux/eman/1.9/bin/refine
I'd like set the eman refine as my default version
-bash-4.1$ echo eman > ~/.sbgrid_capsule/refine

Verify that is the case

-bash-4.1$ refine --sbwhich
/programs/x86_64-linux/eman/1.9/bin/refine

List all 'refine' executables and select ( and run ) the version from buster

-bash-4.1$ refine --sbapp:s
1) buster
2) eman
3) Cancel
Please select application 1
/programs/x86_64-linux/buster/20160324/autoBUSTER/bin/linux64/refine

Please report any bugs to bugs@sbgrid.org