Installing the development version¶
To use the most recent IgDiscover version from Git, follow these steps.
If you haven’t done so, install miniconda. See the first steps of the regular installation instructions. Do not install IgDiscover, yet!
Clone the IgDiscover repository:
git clone https://gitlab.com/gkhlab/igdiscover22/
(Use the git@ URL instead if you are a developer.)
Create a new Conda environment using the
environment.ymlfile in the repository:
cd igdiscover conda env create -n igdiscover -f environment.yml
You can choose a different environment name by changing the name after the
-nparameter. This may be necessary, when you already have a regular (non-developer) IgDiscover installation in an
igdiscoverenvironment that you don’t want to overwrite.
Activate the environment:
source activate igdiscover
(Or use whichever name you chose above.)
Install IgDiscover in “editable” mode:
python3 -m pip install -e .
Whenever you want to update the software:
cd igdiscover git pull
It may also be necessary to repeat the
python3 -m pip install -e . step.
IgBLAST result cache¶
For development, in particular when running tests repeatedly, you should enable the IgBLAST
result cache. The cache stores IgBLAST output. If the same dataset with the same dataset is run
a second time, the result is retrieved from the cache and IgBLAST is not re-run. This saves a lot
of time when re-running datasets, but may also fill up the cache directory
Also, in production, datasets are usually not re-run with the same settings, which is why
caching is disabled by default.
To enable the cache, create a file
~/.config/igdiscover.conf with the following content:
The file is in YAML format, but at the moment, no other settings are supported.
Building the documentation¶
Go to the
doc/ directory in the repository, then run:
to build the documentation locally. Open
a browser. The layout is different from the version shown on
Read the Docs, but allows you to
preview any changes you may have made.
Making a release¶
We use setuptools_scm to manage version numbers. It extracts the version number from the most recent tag in Git. Thus, to increment the version number, create a Git tag:
git tag v0.5
v prefix is mandatory.
Push the tag:
git push --tags
Removing IgDiscover from a Linux system¶
If you have been playing around with different installation methods (
python3 setup.py install etc.) you may have multiple
copies of IgDiscover on your system and you will likely run into problems
on updates. Here is a list you can follow in order to get rid of the
installations as preparation for a clean re-install. Do not add
the commands below if you get permission problems, unless explicitly told to do
so! If one of the steps does not work, that is fine, just continue.
Delete miniconda: Run the command
which conda. The output will be something like
/home/myusername/miniconda3/bin/conda. The part before
bin/condais the miniconda installation directory. Delete that folder. In this case, you would need to delete
pip3 uninstall igdiscover. If this runs successfully and prints some messages about removing files, then repeat the same command! Do this until you get a message telling you that the package cannot be uninstalled because it is not installed.
Repeat the previous step, but with
pip3 uninstall sqt.
If you have a directory named
.localwithin your home directory, you may want to rename it:
mv .local dot-local-backupYou can also delete it, but there is a small risk that other software (not IgDiscover) uses that directory. The directory is hidden, so a normal
lswill not show it. Use
ls -lawhile in your home directory to see it.
If you have ever used
sudoto install IgDiscover, you may have an installation in
/usr/local/. You can try to remove it with
sudo pip3 uninstall igdiscover.
Delete the cloned Git repository if you have one. This is the directory in which you run
Finally, you can follow the normal installation instructions and then the developer installation instructions.