All of the IMOD programs are available via the IMOD Download Page. The distribution is bundled together using the tar program with gzip compression, then placed in a file after a shellscript that can extract and install the programs. For Windows andMac,there is an executable installer than runs this script; for Linuxyou need to run the script yourself at the command line. If you are willing to install to the default location in the system and set up the IMOD environment for all users in the default way, then you can use the installers onWindows and Mac, and install on Linux simply by running thescript, e.g.,
sh imod_4.11.1_RHEL6.sh
(In this guide, the specific filenames with "4.11.1" are used as anexample; you should always substitute the full name of the file that you areinstalling for the one shown here.)You cannot click on the .sh file toinstall it. This command will not work on Windows unless the Cygwin toolkit is installed. The executable installer for Windows (with extension .exe) does work by clicking on it to install (either with or without Cygwin). If you have followed our recommended installation procedures in the past, you will be able to upgrade using the same method. If you want to install to a location other than the default, you can specify the desired location inside of which the IMOD directory will be placed, e.g.,
sh imod_4.11.1_RHEL6.sh -dir /opt
Older versions will be renamed, and at the end the installation script will offer to remove them for you.
The gzipped tar file and the install script will be left in a subdirectory named IMODtempDir. There are several other useful options: -script to install startup scripts to a different location, -skipto skip installing startup scripts, -name to have the IMOD directory be renamed to the given name. Use:
sh imod_4.11.1_RHEL6.sh -help
to see all available options. The sections below on individual machine types describe what will be done by the default installation procedure. They also list the steps for doing a manual installation instead of using the self-installing package, but this should rarely be needed.
Download a JRE or JDK from the Adoptium releases page. If you start at the Adoptium home page, press the "Other platforms" button to get to this page; the "Latest Release" button on the home page downloads a Java software development kit (JDK) that is considerably larger and is not needed. You can choose the latest release or one of the releases marked as LTS (long term support); they are all compatible with Etomo and all are being maintained with security updates. Keep the default selection of the JVM, the HotSpot. Download a JRE for your operating system, or a JDK if a JRE is not available. Windows. Click on the installer to run it and take the default options, in particular the one to put Java on the path. Mac OS. Click on the installer to run it. It will install to /Library/Java/JavaVirtualMachines. By some mysterious means, running /usr/bin/java should end up running the highest version in this directory (or the most recent installation, if there is both a JRE and a JDK of that version). To verify that it is running the intended version, enter
java -version
In IMOD 4.11, the Etomo startup script in these packages will look for the latest directory in /Library/Java/JavaVirtualMachines and run the Java there. If this fails or is not running the right version, there are two options:
IMOD development for Linux is done on Red Hat Workstation 7 with NVIDIAcards, and computation on the graphics card is supported only for NVIDIAcards. For graphics (e.g., IMOD model display), AMD cards area reasonable alternative. We actively maintain compatibilitywith Ubuntu, and deal with issues that come up on otherLinux distributions as necessary.
NVIDIA installation. Installing NVIDIA drivers is straightforward on some systems, but here are some instructions that may be helpful for older Fedora and for Red Hat/Centos throughversion 7. The latest versions of the drivers change the Driver line in /etc/X11/xorg.conf from "nv" to "nvidia" if you accept their offer to modify the file. For recent Fedora, search for "Install NVIDIA driversFedora xx", where xx is your version number, and study thevarious instructions that you find. On Ubuntu, the automatic installation through Synaptic Package Manager or its current equivalent should be adequate. However, onlaptops, it is important to know whether the NVIDIA card has Optimustechnology for switching between the card and built-in graphics. If itdoes, the regular methods will probably not work, but one solution is toinstall bumblebee (search on bumblebee and the Linux distribution namefor specific instructions). Bumblebee allows you to control whichgraphics device programs use. At least as of a few years ago, you coulddirect a program to access the NVIDIA graphics by starting it with athe optirun command. Thus, if you simply start a newshell, e.g., with optirun bash and run IMOD commands fromthis shell, you should find that 3dmod uses the NVIDIA graphics and thatthe GPU is available for reconstruction.
Java for Etomo. To check whether you have Java installed, run the command
java -version
If there is no Java or it is not an OpenJDK version, see 1.1 Installing Java for Etomo..Python on Ubuntu 18 and 20 and Red Hat 8. Ubuntu 18 and 20 and Red Hat 8 install with Python 3 and not 2, and this Python runs with the command python3. IMOD scripts run fine with Python 2 or 3, but rely on a program named python being on the search path. The IMOD installer will offer to make a link from /usr/bin/python3 to /usr/bin/python, or you can use the Python 3 just for the IMOD install, then install Python 2 explicitly if you want to use that for some reason. On Ubuntu you can do so with
sudo apt install python
and if the IMOD installer made a link in /usr/bin, it will be replaced when you install Python 2. On Red Hat 8, you can install Python 2 with
sudo yum install python2
but the executable is named python2, and if the IMOD installer made a link in /usr/bin, it will be removed. You will need to make a link yourself, with
sudo ln -s /usr/bin/python2 /usr/bin/python
tcsh for Ubuntu, Fedora, or Red Hat 8. Only a few very specialized scripts in IMOD require tcsh, although you would need it to install very old versions of IMOD with package names ending in .csh instead of
The self-installing package will install to a directory named IMOD under /usr/local unless given an alternate location to /usr/localwith the -dir option. It will copy the startup scripts IMOD-linux.shand IMOD-linux.csh to /etc/profile.d. unless given an alternate location with the -script option or told to skip this step with the -skip option, or unless you are running an Ubuntu version before 10 or give the -debianoption. It the latter cases, it willmodify /etc/bash.bashrc and /etc/csh.cshrc to source the startup scripts from the IMOD directory, unless you give the -skipoption. To accomplish all of this, change directory to the place where the package is located and enter, for example:
sudo sh imod_4.11.1_RHEL7-64_CUDA8.0.sh
You will have to open a new window, or possibly even log out and log back in, for the installation to take effect.
If you are upgrading IMOD using the default procedures, and your previous installation used another method for setting the environment variables for users, be sure to remove whatever commands were used before. These might have been placed in /etc/profile, /etc/cshrc, /usr/local/etc/cshrc, or users' .bashrc, .bash_profile, or .cshrcfiles.
You would skip the installation of the startup scripts if you do not want a system wide installation, or if you are installing to a server to be accessed by multiple workstations. In this case, you would place the following inthe .bashrc or .bash_profileof individual users running the bash shell (where is the absolute path to the IMOD directory):
Alternatively, if there are system-wide startup scripts sourced fromthe users' .bashrc/.bash_profile or .cshrc, youwould place these commands in the system-wide startup scripts. Youshould always source the startup script that comes with an IMODdistribution, not make a copy of the startup script and incorporate itinto other scripts, because that is the easiest way to adapt to changes inthe startup script between versions.
If you want to run programs temporarily in a particular version of IMOD without replacing your installed version, unpack the desired version in some logical place with a command like:
sh imod_4.11.1_RHEL7-64_CUDA8.0 -dir testIMOD -skip