Commit 475eff35 authored by Martino Bertoni's avatar Martino Bertoni 🌋
Browse files

ubuntu image def file

parent f04f67f6
Pipeline #2478 passed with stages
in 67 minutes and 35 seconds
Bootstrap: docker
From: ubuntu:20.04
%environment
# PATHS
export PATH=/opt/miniconda3/bin:$PATH
. /opt/miniconda3/etc/profile.d/conda.sh
conda activate py37
%files
#add node2vec pre-compiled binaries
container/singularity/binaries/node2vec /opt
%post
# bind paths
mkdir -p /aloy
mkdir -p /aloy/home
mkdir -p /aloy/data
mkdir -p /aloy/scratch
mkdir -p /aloy/web_checker
mkdir -p /slgpfs
# update apt
apt update -y
# basic packages (~2 min)
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
apt install -y build-essential \
gcc \
graphviz \
cmake \
git \
wget \
curl \
vim \
bzip2 \
libbz2-dev \
file \
libxrender-dev \
libxext-dev \
postgresql \
postgresql-contrib
# MS compatible font for plotting (~3 min.)
DEBIAN_FRONTEND=noninteractive apt install -y ttf-mscorefonts-installer
# conda
mkdir -p /opt/miniconda3
cd /opt/miniconda3
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -p /opt/miniconda3 -b -f
rm Miniconda3-latest-Linux-x86_64.sh
export PATH=/opt/miniconda3/bin:$PATH
# create and activate conda enviroment
conda update conda -y
. /opt/miniconda3/etc/profile.d/conda.sh
conda create --name=py37 python=3.7 -y
conda activate py37
# conda-specific packages (~1 min)
conda install -y numpy==1.19.2 # we fix numpy version because of TF
conda install -y -c conda-forge rdkit # Open-Source Cheminformatics Software
conda install -y -c openbabel openbabel # chemical toolbox
conda install -y mkl-service # change the number of CPU’s MKL is using
conda install -y anaconda-client # client that provides an interface to Anaconda Cloud
conda install -y -c conda-forge hdbscan # clustering
conda install -y -c efelix fpsim2 # fast compound similarity searches (used in TargetMate)
conda install -y -c conda-forge jupyterlab # Jupyter notebooks
conda install -y -c anaconda ipython">7.19" # interactive python
conda install -y -c anaconda cython # C extensions
conda install -y -c pytorch faiss-cpu # efficient similarity search and clustering
alias test_faiss='python -c "import faiss, numpy
faiss.Kmeans(10, 20).train(numpy.random.rand(1000, 10).astype(numpy.float32))"'
if ! test_faiss; then printf -- "\033[31m ERROR: faiss is failing! \033[0m\n"; else printf -- '\033[32m SUCCESS: faiss is working correctly. \033[0m\n'; fi
# utility packages (~2 min)
pip install six # py2/py3 compatibility
pip install pytest # unit-testing
pip install mock # mocking for unit-testing
pip install autologging # logging handler
pip install paramiko # ssh client
pip install psycopg2-binary # Postgesql driver
pip install sqlalchemy # ORM SQL
pip install sphinx # to generate docs
pip install sphinx_rtd_theme # docs theme.
pip install patool # unzipping
pip install wget # download library
pip install tqdm # handy progress-bar
pip install munch # dictionary that supports attribute-style access
# raw data packages
pip install lxml # xml parser
pip install xlrd # Extract data from Excel spreadsheets
pip install cmapPy # interacting with .gctx and .gct files, and other Connectivity Map resources
pip install csvsort # Sort csv
# chemistry packages
pip install e3fp # 3D molecular fingreprints
pip install pubchempy # Pubchem rest api
pip install standardiser # standardising molecules
pip install chembl_webresource_client # Chembl API
# ML packages
pip install scikit-learn # entry level ML in python
pip install gensim # topic modelling word2vec
if ! test_faiss; then printf -- "\033[31m ERROR: faiss is failing! \033[0m\n"; else printf -- '\033[32m SUCCESS: faiss is working correctly. \033[0m\n'; fi
pip install tensorflow # neural network library
if ! test_faiss; then printf -- "\033[31m ERROR: faiss is failing! \033[0m\n"; else printf -- '\033[32m SUCCESS: faiss is working correctly. \033[0m\n'; fi
pip install tensorflow-hub # repository of trained machine learning models
pip install adanet # automl for NN
pip install keras # NN API
# numerical packages
pip install numpy # best numerical library ever
pip install pandas # handles table-like datastracture
pip install openpyxl # open xlsx
pip install scipy # scientific python
pip install theano # Optimize evaluate math expressions
pip install fancyimpute==0.5.4 # matrix completion and imputation algorithms
pip install protobuf # Google serialization library
pip install statsmodels # many different statistical models and tests
# graph packages
pip install networkx # graph data stracture and algos
pip install snap-stanford # Python interface for SNAP
# visualization packages
pip install matplotlib # chart library :)
pip install seaborn # prettier graph built on top of matplotlib
pip install datashader # plot huge 2D datasets (projetions)
pip install statannot # annotate boxplot with significance ***
pip install matplotlib_venn # Venn diagrams
# Dimensionality reduction
pip install MulticoreTSNE # tSNE algo
pip install umap-learn # UMAP algo
# additional TargetMate packages
pip install tpot # Auto ML tool with Genetic Programming
pip install mlflow # Platform for the ML lifecycle
pip install xgboost # Gradient Boosting framework
pip install hyperopt # Hyperparameters optimization
pip install shap # SHapley Additive exPlanations for ML models
# integration of D1
pip install git+git://github.com/Maayanlab/geode.git # Python implementation of the R package GeoDE
# Clone the chemical checker package (used as fallback)
cd /opt
git clone http://gitlabsbnb.irbbarcelona.org/packages/chemical_checker.git
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment