Gensoft propose un ensemble de packages au format .rpm (pour centos8) et .deb (pour ubuntu 20.04 LTS (Focal Fossa))

ces packages sont proposé pour faciliter l'utilisation de containers docker et // ou singularity.

les packages ainsi proposés sont, à ce jour,  la copie de ce qui est disponible sur le cluster tars. l'arborescence des logiciels respecte celle de tars.

les logiciels utilisant des banques ou des indexs, tout comme sur le cluster tars vont aller chercher ceux-ci dans un point de montage /local/databases/

  • ces packages s'installent dans l'arborescence /opt/gensoft
  • ces packages appartiennent à l'utilisateur gensoft, groupe gensoft. cet utilisateur et ce groupe sont crées automatiquement lors de l'installation
  • ces packages nécessitent l'utilisation de l'environnement module. il vous faut donc installer le package gensoft-modules en complément

règle nomage des .rpm // .deb.#

la règle de nomage des packages est la suivante

gensoft--. où

  • name: est le nom du package que vous voulez installer
  • version: est le numéro de version du package que vous souhaitez
  • donc tout "module" disponible sur maestro se transcrit en gensoft--

Packages publics et packages privés#

Gensoft propose des logiciels  (.rpm ou .deb) de 2 types:

  • Packages publics: utilisable et distribuables sans restrictions. il vous est possible de distribuer des containers dockers//singularity les contenants à vos collaborateurs externes
  • packages privés: ces packages correspondent à des soft soumis à licence et//ou dont la redistribution est interdite. L'utilisation de ceux-ci ne peut se faire qu'en interne, ie uniquement sur le campus. La distribution de containers dockers//singularity les contenants est STRICTEMENT INTERDITE

Packages RPM#

pour utiliser ces packages il vous faut:

1) inclure les repositories correspondant dans le répertoire /etc/yum.repos

pour ce faire :

.rpm publics cf https://gensoft.pasteur.fr/repos/pub/yum/redhat/rhel8.8-x86_64/

.rpm privés.cf https://gensoft.pasteur.fr/repos/priv/yum/redhat/rhel8.8-x86_64/rappel il est STRICTEMENT INTERDIT de distribuer ces rpms dans un container ou sous tout autre forme

Code Block (text)

cat <<EOT > /etc/yum.repos.d/gensoft.repo
[gensoft]
name=gensoft (public) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/pub/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
[gensoft_private]
name=gensoft (private) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/priv/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
EOT

NB ces repositories sont signés

2) mettre à jour le gestionnaire de packages de votre distribution

Code Block (text)

yum update

3) installer le paquet pré-requis gensoft-modules

Code Block (text)

yum install gensoft-modules-4.4.0

4) activer module selon votre shell

  • famille des bourne shell, ie sh, bash, zsh

Code Block (text)

source /etc/profile.d/gensoft_modules.sh
  • famille des cshell: ie csh, tcsh

Code Block (text)

source /etc/profile.d/gensoft_modules.csh

Packages DEBIAN#

à ce jour la liste de paquets proposés pour debian ne sont pas à jours par rapport à ce qui est disponible sur maestro. il en manque un certain nombre, voire un nombre certain

pour utiliser ces packages il vous faut

1) ajouter les repositories à vos sources.list

.deb publics cf https://gensoft.pasteur.fr/repos/pub/apt/pool/main/

.deb privés.cf https://gensoft.pasteur.fr/repos/priv/apt/pool/main/rappel il est STRICTEMENT INTERDIT de distribuer ces paquets dans un container ou sous tout autre forme

Code Block (text)

cat <<EOT > /etc/apt/sources.list.d/gensoft.list
deb https://gensoft.pasteur.fr/repos/pub/apt focal main
deb https://gensoft.pasteur.fr/repos/priv/apt focal main
EOT

2) télécharger la clef pgp de ces repositories signé. la clef est la même pour les 2 repositories

Code Block (text)

wget -P /etc/apt/trusted.gpg.d/ https://gensoft.pasteur.fr/keys/gensoft.asc &&  apt-key add gensoft.asc

3) mettre à jour le gestionnaire de packages de votre distribution

Code Block (text)

apt-get update

4) installer le paquet pré-requis pour disposer de l'environnement modules

Code Block (text)

apt-get install gensoft-modules-4.4.0

Utilisation au sein d'un container singularity.#

golden.recipe: un exemple de "apptainer recipe file"  qui installe le paquet golden/3.3 et exécutera la commande passée en argument.

Code Block (text)

Bootstrap: docker
From: registry.access.redhat.com/ubi8/ubi:8.6

%post
    #---- add gensoft repos
    cat > /etc/yum.repos.d/gensoft.repo << EOT
[gensoft]
name=gensoft (public) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/pub/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
[gensoft_private]
name=gensoft (private) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/priv/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
EOT
    yum update -y
    #---- install golden and gensoft module (required as dependency)
    yum install -y gensoft-modules-4.4.0 gensoft-golden-3.3
    yum clean all


%runscript
    # 1) singularity container will hinerit environement from user.
    #    it may contains among other things LOADEDMODULES and _LMFILES_ that may breaks module load inside the container.
    #    it is safer to purge it
    # 2) AUTOLOADMODULE=1 allow "module load" of module dependencies
    source /opt/gensoft/adm/etc/profile.d/modules.sh && module purge && AUTOLOADMODULE=1 module load golden/3.3 && exec ${1+"$@"}

ce container apptainer sera alors généré en utilisant la commande suivante

Code Block (text)

apptainer build golden.simg golden.recipe

puis exécuté de la manière suivante par exemple

Code Block (text)

golden run -B ${HOME} -B /local/databases -B /pasteur -B /local/scratch golden.simg golden uniprot:q8I1R6

explications:

  • -B ${HOME} => monte le home de l'utilisateur dans le container
  • -B /local/databases => montage des banques dans le container à l'emplacement attendu par les outils gensoft
  • -B /local/scratch => montage du répertoire tmp dans le container
  • -B /pasteur => montage des répertoires sous la racine /pasteur, ex les répertoire projets