====== Cargando software y librerías ======
Existen **dos métodos** para utilizar un software:
- Ingresado el nombre del software directamente en un terminal, si la utilidad o software está disponible se **ejecuta directamente para trabajar, **puedes ir directo a esta sección para **[[:iniciar_simulacion_sin_slurm|ejecutar un trabajo con Tmux]]**
- Si el método 1 falla, se deber verificar la disponibilidad del software y su versión exacta a través de la utilidad ''module''
====== Software disponible con Module ======
Module es una utilidad provista por el paquete [[https://modules.readthedocs.io/en/latest/|Environment Modules]], disponible en sistemas GNU/Linux, el cual carga todos los elementos necesarios para utilizar una librería o software, eliminando complejas configuraciones en las variables de entorno, y de esta forma permitiendo seleccionar versiones distintas de una aplicación o librería de forma simple.
Para utilizar un [[:software_bioinformatics|software específico instalado en el clúster]] se debe ejecutar la utilidad ''module''. A continuación se presenta una guía básica para su uso habitual.
----
==== Buscar software disponible ====
El comando ''ml'' (o bien ''module list'') lista todos los módulos que estén cargados. El comando ''ml av'' (o ''module avail'') lista todo el software disponible.
$ module avail
------------------------------------------------------------------- /usr/share/Modules/modulefiles --------------------------------------------------------------------
dot module-git module-info modules null use.own
-------------------------------------------------------------------------- /opt/modulefiles ---------------------------------------------------------------------------
cmake/3.15.4 ncbi-blast/2.13.0 python/3.7.4
expat/2.6.2 netcdf/c-4.7.3-fortran-4.5.2 R/3.6.1
fftw/3.3.10 openmpi/1.10.7 roary/3.12
gromacs/2019.4 openmpi/1.6.5 samtools/1.9
hdf5/1.10.5 openmpi/2.1.6 tabix/0.2.5
[ETC...]
Si la lista de módulos disponibles es muy larga, considere ejecutar el comando ''ml -d av'' para listar solamente los módulos por defecto.
----
==== Cargar software ====
Seleccionar y cargar un módulo disponible con el comando ''module load [software]/[version] ''
**Ejemplo:**
Cargando el software Gromacs 2019.4, el cual a su vez carga el compilador gcc y openmpi de forma predefinida.
$ module load gromacs/2019.4
Loading gromacs/2019.4
Loading requirement: gcc/8.3.0 openmpi/2.1.6
$ ml
Currently Loaded Modulefiles:
1) gcc/8.3.0 2) wrf/4.0 3) R/3.6.1 4) openmpi/2.1.6 5) gromacs/2019.4
Revisando versión actual de Gromacs
$ gmx_mpi --version
:-) GROMACS - gmx, 2019.4 (-:
GROMACS is written by:
Emile Apol Rossen Apostolov Paul Bauer Herman J.C. Berendsen
Par Bjelkmar Christian Blau Viacheslav Bolnykh Kevin Boyd
Aldert van Buuren Rudi van Drunen Anton Feenstra Alan Gray
...
GROMACS version: 2019.4
Precision: single
Memory model: 64 bit
MPI library: thread_mpi
...
==== Descargar software ====
Cuando no necesitas más un software o librería específico, debes descargarlo con el comando ''module unload [software]/[version] ''
**Ejemplo:**
Descargando el software Gromacs 2019.4 que fue cargado en el ejemplo previo
$ ml
Currently Loaded Modulefiles:
1) gcc/8.3.0 2) wrf/4.0 3) R/3.6.1 4) openmpi/2.1.6 5) gromacs/2019.4
$ module unload gromacs/2019.4
Unloading gromacs/2019.4
Unloading useless requirement: openmpi/2.1.6 gcc/8.3.0
$ ml
Currently Loaded Modulefiles:
1) gcc/8.3.0 2) wrf/4.0 3) R/3.6.1
==== Limpiar software ====
Eliminar todos los módulos que se tienen cargados previamente, con el comando ''module purge''
**Ejemplo:**
$ ml
Currently Loaded Modulefiles:
1) gcc/8.3.0 2) wrf/4.0 3) R/3.6.1 4) openmpi/2.1.6 5) gromacs/2019.4
$ module purge
$ ml
No Modulefiles Currently Loaded.