Basic (✓)
- If you have a Windows device, install WSL so you can have a bash shell.
- Log into
cluster.csb.pitt.eduand change your password (passwd). - Setup key-based authentication for ssh (tutorial).
- Install open source
pymolon your personal device.- May be available through package manager (apt, brew, port)
conda install conda-forge::pymol-open-source
- Log into the cluster
- Create an interactive session to a cluster node to avoid running on the head node:
srun --pty -p dept_cpu /bin/bash - install miniconda
- Create an environment named struct with python version 3.12
- Using the conda-forge channel install the packages:
openff-toolkit-examples dill mdanalysis pdbfixer
Extra (✓+)
- Install Boltz-1 into its own conda environment (named boltz) on the cluster (must clone git repository, not download).
Notes
Important environment variables
PATH- where shell looks for executablesLD_LIBRARY_PATH- where dynamic linker looks for libraries - overrides rpath set by condaPYTHONPATH- where python looks for modules
Useful commands for figuring out what is what
which - show the location of an executableldd - show the libraries (with their location) an executable/library usesstrace - trace system calls (lots of output, but will tell you what a program is trying to access)
Within python
- make sure you are using the right python executable
print(sys.path)MODULE.__file__(path to imported module)
pip
- Installs into
$HOME/.local - Recently some distributions have started requiring use of virtual environments (have to pass
--break-system-packagesto use old behavior) - Less likely to refuse to install something - instead will happily break dependencies of other packages
- Does not change your environment (e.g. have to add
.local/binto your path to access pip installed executables) - Takes system installed packages into account when determining dependencies
conda
- Manipulates your environment variables (mostly
PATH) - Need to use virtual environments
conda env listto see locationsconda activate ENVto switch to environment- Manages version of python (different environment can have different python executables)
- Keep base environment minimal - always create a new environment for your project
- Make sure you are using libmamba solver (
conda info) - Takes system installed packages into account when determining dependencies. This includes packages in .local installed by pip unless
PYTHONUSERBASEis overridden - Can
set auto_activate_base: falsein.condarcif you don't want to enter conda automatically - Installation
conda install PACKAGE- refuses to break dependencies (libmamba is much faster to give up trying to find a solution)
- most packages are in the conda-forge channel, not the default
- if you have kept your base environment minimal most issues can be fixed be creating a new environment dedicated to only the tool/module you are having issues with