.. index:: Debian; workstation image .. _software: Debian 9 image software ========================= In addition to the many programs included in a standard Debian 9 installation, the workstations have several packages installed that are useful for scientific and computational work. It might be possible to install additional software as required---please contact `Andy Thomas `_ with suggestions. Unless otherwise noted, all programs and libraries were installed from the Debian repositories, are standard installations and are freely available (at least in terms of beer, if not speech). Documentation is available via the manpages, supplied links and/or via Google. In general, programs and libraries that are included in the Debian repositories are installed locally on each workstation and are already included in the default search paths. Programs and libraries from outside the Debian repositories are installed on our NFS server and are not included in the default paths. Such packages are most easily accessed using the :ref:`modules` system, which makes it easy to switch between different versions of a package. Unless otherwise stated, the documentation below holds for all installed versions of the same package, even if only some versions are explicitly mentioned. Different versions can be loaded by adapting the given 'module load' command. Note that modules which are compiled for a certain compiler or compiler and MPI combination can only be loaded once the relevant compiler or compiler and MPI modules have been loaded. This is also the case for python package modules compiled with python2 or python3. See :ref:`modules` for more details. Please note that several programs request specific citations if they are used in papers. The required citation list can usually be found either in the documentation of the program or on its website. All programs (except those specifically desktop-related) are also installed on the compute servers, maxwell, bloch1 and bloch2. .. index:: bioinformatics Bioinformatics -------------- * Open Babel (toolbox designed to speak the many languages of chemical data) .. index:: compilers, languages, programming; languages Compilers and Languages ----------------------- * bc (arbitrary precision calculator language) * :ref:`cython` (c-extensions for python) * expect * :ref:`GCC suite` (including gcc, g++ and gfortran) * :ref:`go` * guile (interpreter for the Scheme programming language, packaged as a library which can be incorporated into programs) * :ref:`Intel suite` * :ref:`ispc` (SIMD programming on CPU) * :ref:`Julia` * :ref:`LLVM` (Clang frontend) * :ref:`lua` * :ref:`luajit` * :ref:`MPICH` for Intel and GNU compiler families * :ref:`Open MPI` for Intel and GNU compiler families * Java (OpenJDK runtime) * :ref:`Python` - see also :ref:`CMTH SciPy Stack` and :ref:`CMTH PyML Stack` * :ref:`pypy` (alternative implementation of python) * R (programming language for statistics; set of modules recommended by R developers in order to provide a complete R distribution) * Ruby (including rdoc for documentation) * Tcl * xsltproc (XML language for defining transformations of XML files) .. index:: dictionaries Dictionaries and Spell Checkers ------------------------------- * ispell * British dictionary (myspell-en-gb and ibritish) .. index:: diff tools Diff tools ---------- * colordiff * Meld * mgdiff * tkdiff * xxdiff .. index:: document viewers, pdf readers Document viewers ---------------- * Evince (several formats, including PDFs) * fbreader (e-book reader) * gv (postscript files) * okular (several formats) * xdvi (dvi files) .. index:: editors, text editors, IDEs Editors and IDEs ---------------- * :ref:`Atom` * Emacs * Eclipse * jEdit * geany * gedit * kate * kile * NEdit * Spyder * vim * XEmacs .. index:: electronic structure Electronic Structure -------------------- * :ref:`ABINIT` * :ref:`BerkeleyGW` * :ref:`BoltzTraP` * :ref:`CASTEP` * :ref:`DynaPhoPy` * :ref:`GPAW` * :ref:`HANDE` * :ref:`JDFTx` * :ref:`libint` * :ref:`libxc` * :ref:`MOLGW` * :ref:`NWChem` * :ref:`Octopus` * :ref:`Phonopy` * :ref:`Phono3py` * :ref:`PythTB` (Python Tight Binding) * :ref:`Quantum ESPRESSO` * :ref:`SIESTA` * :ref:`spglib` * :ref:`VASP` * :ref:`Wannier90` .. index:: email Email ----- There is no pre-configured email client. Instructions on how to configure email clients are on the `ICT website `_. Unless you know what POP3 and IMAP mean, you should follow the IMAP instructions. * Alpine (replacement for pine) * Icedove (Thunderbird with Mozilla branding removed) * :ref:`isync` (synchronization of mailboxes) * :ref:`msmtp` (SMTP client) * Mutt (ancient, hardcore) * :ref:`notmuch` (email indexer) * Thunderbird .. index:: finite-difference time-domain Finite-difference time-domain ----------------------------- * :ref:`Lumerical FDTD Solutions` * :ref:`Meep` .. index:: finite element Finite Element -------------- * :ref:`COMSOL` .. index:: fonts Fonts ----- * Microsoft TrueType core fonts * terminus (fixed width fonts; particularly good for terminals and editors) .. index:: foreign lanaguages Foreign Language support ------------------------ * German * Korean (ibus-hangul, an input method for Korean based on ibus) .. index:: graphics Graphics -------- * a2ps ('anything to PostScript' converter and pretty-printer) * dvipng * GIMP * gThumb * ImageMagick * Inkscape * netpbm * pdfedit * pdftk (toolkit for manipulating PDFs) * ps2eps * pdf2svg * XFig .. index:: GUI; development libraries GUI development libraries ------------------------- * QT4 * QT5 .. index:: LaTeX LaTeX ----- * TeX and LaTeX (TeXlive full distribution) * auctex (Emacs package for editing TeX files; see `here `_ to disable) * Beamer (LaTeX package for producing slides) * tex4ht (provides htlatex; converts TeX files to HTML) * klatexformula (create images of latex formulas) * latex-mk (makefile fragments for compiling LaTeX documents) * latexdiff (tool for comparing TeX files; see latexdiff-vc for use with subversion and cvs and it can be `also used with git `_) * :ref:`LyX` (LaTeX editor) * TeXmaker * Sketch (3D diagrams for TeX from scene description language) .. index:: maths; programs Maths ----- * :ref:`Gnuplot` * Grace (plotting tool) * jupyter (web app for notebooks with live code, equations and visualization) * :ref:`Mathematica` * :ref:`MATLAB` * Octave (free alternative to MATLAB) * :ref:`Veusz` (plotting tool) .. index:: maths; libraries Maths Libraries --------------- * :ref:`armadillo` * :ref:`Boost C++ Libraries` * Eigen2 (C++ template library for linear algebra) * :ref:`FFTW` * GEOS (geometry) * :ref:`GSL` * :ref:`MKL` (Intel Math Kernel Library) * :ref:`LAPACK` * :ref:`Harminv` * :ref:`ScaLAPACK` * :ref:`SuiteSparse` * :ref:`TRLan` (Lanczos diagonalisation; suited for Fortran) .. index:: Material Science Material Science ---------------- * :ref:`ASE` * :ref:`GULP` .. index:: Molecular Dynamics Molecular Dynamics ------------------ * :ref:`LAMMPS` * :ref:`QUIP` .. index:: multimedia Multimedia ---------- * gstreamer (codecs) * mplayer (mplayer2 movie player) * mpv (media player using mplayer) * nvidia graphic drivers * vlc .. index:: office software Office programs --------------- * LibreOffice * AbiWord * pdftk (PDF toolkit) * gnumeric (spreadsheets) .. index:: photonics Photonics --------- * :ref:`MIT Photonic-Bands` (MPB) .. index:: programming; libraries Programming libraries --------------------- * :ref:`hdf5` (storing and managing data) * :ref:`h5utils` (tools for manipulating HDF5 data files) * :ref:`libctl` (Guile-based library implementing flexible control files for scientific simulations) * MPC and MPFR (multiple precision complex and floating-point computation libraries and tools) * NetCDF (interface for creation, access and sharing of scientific data) * readline * uuid-dev (generation of Universally Unique Identifiers) .. index:: programming; tools Programming tools ----------------- * autoconf and automake (makefile generator) * bison and flex (parser generator and lexical analyzer) * :ref:`Bazel` (a build and test tool like make) * cgdb (curses (terminal-based) interface to the GNU Debugger (GDB)) * CMake (makefile generator) * make * ctags (index source code to enable easy navigation in text editors) * Doxygen (documentation system for various programming languages) * SIP (generating python bindings for C++ classes) .. index:: profiling; tools Profiling tools --------------- I have found perf and oprofile to be more useful than gprof... * :ref:`Cube` (profiler visualiser) * kcachegrind (visualiser for valgrind output) * perf (performance analysis and profiler; see the `perf wiki `_ for comprehensive documentation and tutorials) * :ref:`Score-P` (profiler framework) * :ref:`Scalasca` (parallel profiler) * Valgrind (profiling and debugging tools and instrumentation framework) .. index:: python; packages Python packages --------------- * Breathe (bridge between Sphinx and Doxygen documentation tools) * :ref:`cffi` (foreign function interface for calling C code) * Docutils (set of tools for processing reStructured Text) * :ref:`graph-tool` (complex networks/graphs) * :ref:`h5py` (python interface to :ref:`hdf5` library) * :ref:`IPython` (improved interactive Python shell) * :ref:`Matplotlib` (plotting library) * :ref:`NetworkX` (complex networks/graphs) * nose (unittest framework) * :ref:`Numba` (generates JIT optimized python code) * :ref:`NumPy` (numerical libraries) * :ref:`pandas` (structures and tools for data analysis) * :ref:`powerlaw` * :ref:`pep8` (style guide checker) * :ref:`pylint` (source code analyzer) * python-tk (python interface to Tcl/Tk) * python-lxml (toolkit for XML/HTML processing) * python-gdata (Google Data Python client library) * python-gflags (Python implementation of the Google command line flags module) * python-gmpy and python-mpmath (muliprecision floating point maths) * python-graphviz (python interface to graphviz) * python-parsedatetime (parse human-readable date/time expressions) * python-qt4 and python-qt4-dev (interface to the Qt4 libraries) * python-six (python 2 and python 3 compatibility) * python-vobject (iCalendar and VCards parser) * python-yaml (YAML 1.1 parser) * :ref:`SciPy` (scientific libraries) * :ref:`scrapy` (website scraping) * setuptools (utilities for installing third-party python modules and packages) * :ref:`shapely` (manipulation and analysis of geometric objects) * :ref:`Sphinx` (documentation generation from reStructured Text) * Additionally :ref:`CMTH SciPy Stack` Contains a full Python SciPy stack, and :ref:`CMTH PyML Stack` contains a full Python SciPy stack along with some machine learning and CUDA libraries. .. index:: quantum mechanics Quantum Mechanics ----------------- * :ref:`QuTiP` (dynamics of quantum systems) .. index:: remote access; programs Remote access ------------- * rdesktop (for connecting to Windows machines) * sshfs (tool for mounting remote filesystems over ssh) * vncserver (vnc server) * xtightvncviewer (vnc viewer) * vpnc (Cisco-compatible VPN client) * :ref:`x2go` (remote desktop over ssh) .. index:: RSS readers RSS readers ----------- * liferea * newsbeuter (terminal-based RSS reader) .. index:: shells Shells ------ * bash * tcsh .. index:: terminal emulators Terminal emulators ------------------ * xfce4-terminal * sakura * xterm * rxvt-unicode .. index:: terminal multiplexers Terminal multiplexers --------------------- Think VNC for terminals... * screen * tmux (highly recommended) .. index:: thermodynamics Thermodynamics -------------- * :ref:`Thermo-Calc` .. index:: utilities Utilities --------- * apt-file (search for an Ubuntu package containing a specific file; handy for finding the package that provides a crucial header file!) * avconv (video converter) * dolphin (KDE's file manager) * dos2unix (convert from/to Windows-style line-endings to/from Unix-style line-endings) * :ref:`datamash` * :ref:`Dropbox` * :ref:`pCloud` * encfs (encrytped filesystem in user-space) * finch (text-based instant messenger client) * freemind (mind mapping software) * fortune (if you feel like a you need a minor distraction try ``fortune | cowsay -f duck -W 60``) * :ref:`gcalcli` (command-line interface to Google Calendar) * graphviz (graph visualization software) * :ref:`grive2` (Google Drive client) * :ref:`JabRef` (reference manager) * KeePassX (password manager) * keepass2 (password manager) * :ref:`keepassxc` (password manager) * :ref:`Mendeley` (reference manager) * :ref:`modules` * ntp (daemon for ensuring clocks are identical and accurate across the cluster) * numdiff (comparing files containing numerical data to within a given tolerance) * pal (command-line calendar) * rdiff-backup (run and manage backups using a compressed incremental approach) * :ref:`rednotebook` (simple journal application with basic markup and file linking features) * redshift and gtk-redshift (adjusts the color temperature of your screen) * rlwrap (readline wrapper; handy for adding sane readline support to programs lacking it (e.g. :ref:`Mathematica` run in a terminal)) * :ref:`Slurm` (job submission) * :ref:`synergy` (share keyboard and mouse between e.g. your workstation and laptop) * tree (show directory tree) * unison (file synchronization between two computers) * unrar (unarchiver of rar files) * xclip (cli to clipboard) * ::ref:`XMind8` (mind mapping software) * zip (compressing and uncompressing files and directories) * :ref:`Zotero` (reference manager) .. index:: version control Version control --------------- subversion and git servers are available to research groups in the TYC and CMTH groups and their external collaborators. Please contact `James Spencer `_ for further details. * cvs * :ref:`git` * gitk and qgit (GUIs for git) * libsvn-java (java interface to subversion) * mercurial * subversion * :ref:`tig` (ncurses-based git repository browser) * tortoisehg (GUI for mercurial) .. index:: visualisation Visualisation ------------- * avogadro * :ref:`Jmol` * mayavi2 * :ref:`OpenChemistry` (provides avogadro2) * :ref:`ParaView` * POV-Ray * :ref:`OVITO` * :ref:`V_Sim` * :ref:`VESTA` * :ref:`VMD` * :ref:`XCrySDen` .. index:: web browsers Web browsers ------------ * links2 * Chromium * Firefox * Iceweasel (Firefox with Mozilla branding removed) * w3m .. index:: window managers Window Managers --------------- * XFCE4 .. index:: Windows .. toctree:: :hidden: :glob: software/*