Install from source

System prerequisites for ICEscreen

  • Linux or MacOS.
  • More than 8 Go RAM. Insufficient memory allocation will kill the process during the initialization (conda installation).
  • Disk space for installation: the source code and test dataset require about 30 MB ; the package dependencies of the software (installed through Conda) require about 140 MB.
  • Disk space for analysis: the output files generated by the pipeline usually take about 20M per genbank file to analyse (not taking into account the disk space of the original genbank files to analyse).

Dependencies

  • git
  • installer for Conda and/or Mamba, such as Miniforge, Micromamba, Pixi, or Miniconda. Please check the conda installer system requirements before installing. Disk space for installing Conda may requires up to 2.5 GB. The installation of the other package dependencies (Snakemake, HMMER, NCBI BLAST+, Bioperl, Python 3, Biopython, ect.) will be automatically managed through Conda.

[!NOTE] A note on Conda and licencing: ICEscreen only relies on packages and dependencies that are in the public repositories of packages (channels) conda-forge and bioconda where the license is free for all. ICEscreen does not relies on packages and dependencies that are in anaconda’s public repository of packages which is subject to a paid license for larger organizations. Some installer for Conda such as Miniforge do not include anaconda’s public repository of packages as default. The Miniconda installer does include anaconda’s public repository of packages as default but this repository can be bypassed with the following conda create options: -c nodefaults, --override-channels, and --strict-channel-priority. Within the Conda environment, use the command conda list --explicit to check for the repository origin of all the dependencies.

How to install ICEscreen locally from source

The forge of the project is located at https://forgemia.inra.fr/ices_imes_analysis/icescreen.

  1. Use git to download the source code locally to the installation folder of your choice:
cd /PATH/TO/INSTALL/DIRECTORY
git clone https://forgemia.inra.fr/ices_imes_analysis/icescreen.git

or you can also try with git@ instead of https:

cd /PATH/TO/INSTALL/DIRECTORY
git clone git@forgemia.inra.fr:ices_imes_analysis/icescreen.git
  1. Set up the dependencies and the conda environment used by the ICEscreen pipeline:

In order to install the dependencies of ICEscreen, the conda-forge and bioconda channels both must be specified to Conda.

conda config --get channels

should output:

--add channels 'conda-forge'   # lowest priority
--add channels 'bioconda'
--add channels 'defaults'   # highest priority

If not, you can add the conda channels like so:

conda config --append channels conda-forge
conda config --add channels bioconda
conda config --add channels defaults

Then you can install the dependencies in the dedicated conda environnnement icescreen_env_1-3-2 as follow:

cd /PATH/TO/INSTALL/DIRECTORY/icescreen
./icescreen --install_dependencies
  1. The blast and HMM resources used by the tool need to be compiled on your computer before running ICEscreen
cd /PATH/TO/INSTALL/DIRECTORY/icescreen
./icescreen --index_genomic_resources
  1. In order to run the executable icescreen from any directory on your computer and not just the install directory, you can add the path to the installation folder of icescreen to your $PATH environment variable. For example if your shell is bash, add the following lines to your ~/.bashrc:
export PATH=$PATH:/PATH/TO/INSTALL/DIRECTORY/icescreen

Don’t forget to source ~/.bashrc. You should then be able to use the command icescreen from any directory in your computer. An alternative to modifying your PATH variable is to create a symbolic link for the executable of ICEscreen in a directory already referenced by your PATH variable (i.e. /usr/local/bin). Here is an example command:

sudo ln -s /PATH/TO/INSTALL/DIRECTORY/icescreen/icescreen /usr/local/bin/icescreen

Testing your local installation

To ensure your local version of the software performs correctly, you can run the following tests on your computer:

  • If you have root privileges, you can test whether the installation of the dependencies and the compiling of the resources were successful:
conda activate icescreen_env_1-3-2
icescreen --test_installation
conda deactivate

You should see the message The installation of ICEscreen is successful.

  • Regardless of privileges, you can run ICEscreen on an example dataset downloaded from NCBI:
mkdir -p ~/tmp/test_icescreen
cd ~/tmp/test_icescreen
mkdir genbank_files
i=NC_004668
curl -s  "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=${i}&rettype=gbwithparts&retmode=txt" > genbank_files/$i.gbk
i=NZ_CP026548
curl -s  "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=${i}&rettype=gbwithparts&retmode=txt" > genbank_files/$i.gbk
icescreen -g ~/tmp/test_icescreen/genbank_files -o ~/tmp/test_icescreen/ --phylum bacillota
head ~/tmp/test_icescreen/ICEscreen_results/results/NC_004668/icescreen_detection_ME/NC_004668_detected_ME.summary
head ~/tmp/test_icescreen/ICEscreen_results/results/NZ_CP026548/icescreen_detection_ME/NZ_CP026548_detected_ME.summary
rm -rf ~/tmp/test_icescreen

There is no need to activate the icescreen_env_1-3-2 with conda beforehand, it is done automatically. Looking at the header of the .summary file, you should see that ICEscreen has found some ICEs and IMEs.

Location of the databases used by ICEscreen to detect the signature proteins

The blastp fasta files are available in the directory “/PATH/TO/INSTALL/DIRECTORY/icescreen/detection_SP/database/blastdb/”. The HMM profiles are available in the directory “/PATH/TO/INSTALL/DIRECTORY/icescreen/detection_SP/database/hmmdb/”.

How to update ICEscreen installed from source

We recommend installing the newer version of ICEscreen (see the section How to install ICEscreen locally from source), testing it, and then uninstalling the older version of ICEscreen (see the section How to uninstall ICEscreen installed from source).

How to uninstall ICEscreen installed from source

  • ICEscreen source directory:

Go to the local installation folder of the version you want to uninstall and delete the icescreen repository:

cd /PATH/TO/INSTALL/DIRECTORY/VERSION/X/X/X
rm -rf icescreen
  • ~/.bashrc file:

Do not forget to delete any modification made to your $PATH environment variable (for example in your ~/.bashrc) for the version of ICEscreen you want to uninstall.

  • Conda environment:

You can remove the conda environment associated with the version of ICEscreen you want to uninstall. To know which conda icescreen_env to remove (i.e. if you have multiple versions of ICEscreen on the same machine), you can list all the conda icescreen_env installed on your system as follow:

conda info --envs | grep 'icescreen_env'

Once you have identified the version of the icescreen_env you want to remove, you can then use the conda env remove -n command, for example :

conda deactivate
conda env remove -n icescreen_env_X-X-X