A. Setup of modules

  • Location at CSD3: /usr/local/Cluster-Apps/ceuadmin
  • Module files: /usr/local/Cluster-Config/modulefiles/ceuadmin

Recent modules

All entries are ordered chronologically.

Date Add ons Category
2022-10-21 pspp/1.6.0 Generic
2022-10-22 snptest/2.5.6 Genetics
"" qctool/2.0.8 Genetics
"" gcta/1.94.1 Genetics
"" KING/2.1.6 Genetics
"" LDstore/2.0 Genetics
"" shapeit/3 Genetics
"" vcftools/0.1.16 Genetics
"" finemap/1.4 Genetics
2022-10-23 quicktest/1.1 Genetics
"" samtools/1.11 Genetics
"" bcftools/1.12 Genetics
"" MORGAN/3.4 Genetics
"" METAL/2020-05-05r Genetics1
"" regenie/3.2.1 Genetics
"" GEMMA/0.98.5 Genetics2
"" htslib/1.12 Genetics
"" fcGENE/1.0.7 Genetics3
"" SMR/1.0.3 Genetics
"" FastQTL/2.165 Genetics
"" GitKraken/8.1.0 Generic
2022-10-24 Typora/0.11.8beta Generic
"" pandoc/2.19.2 Generic
"" citeproc/0.4.0.1 Generic
"" citeproc/0.8.0.2 Generic
2022-10-26 circos/0.69-9 Genetics
"" DjVuLibre/3.5.27.1-14 Generic
"" ghostscript/9.56.1 Generic
"" bgen/1.1.7 Genetics
2022-10-27 sqlite/3.39.4 Generic
2022-10-28 poppler/0.84.0 Generic
"" jq/1.6 Generic4
"" DosageConverter/1.0.0 Genetics
"" tidy/5.8.0 Generic
2022-10-29 ghc/8.6.5 Generic
"" pandoc-citeproc/0.17.0.2 Generic
2022-10-31 git/2.38.1 Generic
"" aria2/1.36.0 Generic
2022-11-01 alpine/2.26 Generic
"" readline/8.0 Generic
"" Cytoscape/3.9.1 Generic
"" nano/6.0 Generic
"" R/4.2.2 Generic
"" parallel/20220222 Generic
"" pdf2djvu/0.9.19 Generic
2022-11-02 lapack/3.10.1 Generic
"" GraphicsMagick/1.3.38 Generic
"" QTLtools/1.3.1-25 Genetics5
"" NLopt/2.7.1 Generic
"" blat/37x1 Genetics
"" bedtools2/2.29.2 Genetics
"" bedops/2.4.41 Genetics
2022-11-03 Beagle/3.0.4 Genetics
"" netbeans/15 Generic
"" JAGS/4.3.1 Generic
"" exiv2/0.27.5 Generic6
"" googletest/1.8.0 Generic
"" googletest/1.12.1 Generic
"" libiconv/1.17 Generic
"" ldc2/1.24.0 Generic
"" gettext/0.21 Generic
"" ssw/0.7 Generic
"" fribidi/1.0.8 Generic
"" proj/6.3.0 Generic
"" gmp/6.2.1 Generic
"" pcre2/10.30 Generic
"" zstd/1.5.2 Generic
2022-11-04 libxslt/1.1.34 Generic7
"" libssh2/1.10.0 Generic
"" libxml2/2.9.10 Generic8
"" libsodium/1.10.0 Generic
"" gdal/3.0.4 Generic9
"" expat/2.4.7 Generic10
"" docbook2X/0.8.8 Generic
"" libntlm/1.6 Generic
"" vala/0.46.5 Generic
"" gtksourceview/4.0.3 Generic
"" oniguruma/6.9.8 Generic
"" nspr/4.35 Generic
"" nettle/2.7.1 Generic
2022-11-05 trinculo/0.96 Generic
"" ruby/2.7.5 Generic11
2022-11-06 libpng/0.5.30 Generic
"" libgit2/1.1.0 Generic12
"" git-extras/6.5.0 Generic
"" trousers/0.3.14 Generic
"" libidn2/2.3.4 Generic
"" unbound/1.17.0 Generic
"" nettle/3.6.0 Generic13
"" gnutls/3.7.8 Generic14
2022-11-08 CrossMap/0.6.4 Genetics
"" SurvivalKit/6.12 Genetics
"" PRSice/2.3.3 Genetics
2022-11-09 qctool/2.2.0 Genetics
"" fossil/2.19 Generic
2022-11-10 rclone/1.53.1 Generic
"" CaVEMaN/1.01-c1815a0 Genetics
"" akt/0.3.3 Genetics
"" MsCAVIAR/0.6.4 Genetics
"" CAVIAR/2.2 Genetics
"" MONSTER/1.3 Genetics
"" osca/0.46 Genetics
"" LEMMA/1.0.4 Genetics15
"" CAVIARBF/0.2.1 Genetics
2022-11-11 PAINTOR/3.0 Genetics
"" ABCtoolbox/2.0 Generic
"" cppunit/1.15.2 Generic
2022-11-12 ccal/2.5.3 Generic
2022-11-13 axel/2.17.11 Generic16
"" axel/1.0a Generic
"" bazel/2.0.0 Generic
"" bazel/1.2.1 Generic
2022-11-14 MR-MEGA/0.2 Genetics
2022-11-16 SNP2HLA/1.0.3 Genetics
"" STAR/2.7.10b Genetics
"" Mega2/6.0.0 Genetics
2022-11-18 ffmpeg/5.1.1 Generic
2022-11-19 ensembl-vep/104 Genetics*
"" OpenMS/3.0.0-pre-develop Genetics*17
"" polyphen/2.2.2 Genetics*
"" ANNOVAR/24Oct2019 Genetics*
"" MAGENTA/vs2_July2011 Genetics*
"" GARFIELD/v2 Genetics*
"" KentUtils/2022-11-14 Genetics*
2022-11-20 Genotype-Harmonizer/1.4.25 Genetics
2022-11-21 locuszoom/1.4 Genetics*18
"" DEPICT/v1_rel194 Genetics*
"" MAGMA/1.10 Genetics*
"" Pascal/v_debut Genetics*
"" VEGAS2/2.01.17 Genetics*
"" fgwas/0.3.6 Genetics*
2022-11-24 qtcreator/2.5.2 Generic
"" rstudio/2022.07.2+576 Generic
2022-11-26 yaml-cpp/0.7.0 Generic
"" libglvnd/1.6.0 Generic
"" GreenAlgorithmsforHPC/0.2.2-beta Generic
2022-11-28 openssl/1.1.1s Generic
2022-11-29 qt/5.15.7 Generic*
2022-12-02 rstudio/1.3.1093 Generic19
2022-12-04 phenoscanner/v2 Genetics*
2022-12-07 SurvivalAnalysis/2016-05-09 Genetics
2022-12-14 node/16.14.0 Generic
2022-12-19 rstudio/2022.12.0+353 Generic
"" icu/50.2 Generic
2022-12-20 snakemake/7.19.1 Generic
2022-12-21 icu/70.1 Generic
"" libuv/1.43.0 Generic
"" libcares/1.18.1 Generic
"" brotli/1.0.9 Generic
2022-12-28 ncurses/6.3 Generic
2023-01-03 Eagle/2.4.1 Genetics
2023-01-05 GEM/1.4.5 Genetics
2023-02-01 GENEHUNTER/2.1_r6 Genetics
2023-02-26 JabRef/5.9 Generic
2023-02-27 Zotero/6.0.22 Generic
2023-03-14 regenie/3.2.5 Genetics
2023-03-22 rstudio/2023.03.0+386 Generic
2023-03-24 PoGo/1.0.0 Genetics
2023-03-31 PWCoCo/2023-03-31 Genetics20
2023-04-02 regenie/3.2.5.3 Genetics
2023-04-04 PWCoCo/1.0 Genetics
2023-04-05 PhySO/1.0-dev0 Generic
2023-04-21 ImageJ/1.53t Generic
2023-04-25 busybox/1.35.0 Generic
2023-06-02 regenie/3.2.7 Genetics21
2023-06-05 gsl/2.7.1 Generic
2023-06-06 allegre/2.0f Genetics
2023-06-14 autoconf/2.72c.24-8e728 Generic22
2023-06-16 globusconnectpersonal/3.2.2 Generic
2023-06-19 plink-ng/2.00a3.3 Genetics
2023-06-26 RHHsoftware/0.1 Genetics
2023-07-19 pdfjam/3.06 Generic
2023-07-22 rstudio/2023.06.1+524 Generic
2023-07-28 PWCoCo/1.1 Genetics
2023-08-02 regenie/3.2.9 Genetics
"" fossil/2.22 Generic
2023-08-04 quarto/1.3.450-icelake Generic23
2023-08-06 finemap/1.4.2 Genetics
2023-08-10 GreenAlgorithmsforHPC/0.3 Generic
2023-08-12 xpdf/4.04 Generic24
2023-08-22 thunderbird/115.1.1 Generic
2023-08-24 pdfjam/3.07 Generic
2023-09-03 2.0.0-pre1ge32bec Genetic25
"" spead-sheet-widget Generic
2023-09-27 ncbi-vdb/3.0.8 Genetics26
"" sra-tools/3.0.8 Genetics27
"" gatk/4.4.0.0 Genetics28
2023-09-28 openjdk/8u382-b05 Generic
"" openjdk/11.0.20+8 Generic
"" openjdk/17.0.8+7 Generic
2023-10-24 rst2pdf/0.101 Generic
"" geany/1.38 Generic
"" pango/1.41.1 Generic
"" gettext/0.20 Generic
2023-10-26 glib/2.58.3 Generic
2023-10-27 graphene/1.4.0 Generic
"" graphene/1.8.0 Generic
2023-10-24 gtk+/3.24.0 Generic
"" geany/2.0 Generic
2023-10-28 hunspell/1.7.0 Generic
"" hunspell/1.7.2 Generic
"" enchant/2.2.0 Generic
2023-10-29 gtk+/3.90.0 Generic
2023-10-31 vte/0.55.0 Generic
2023-11-05 Anaconda3/2023.09-0 Generic
2023-11-23 SciKit-LLM & OpenAI API Genetic
2023-11-24 ldsc/1.0.1 Genetics
2023-11-30 gdc/1.6.1-1.0.0 Genetics29
2023-12-13 rust/1.74.1 Generic
2023-12-20 verifyBamID/1.1.3 Genetics
2023-12-21 verifyBamID/2.0.1 Genetics30
2023-12-27 regtools/1.0.0 Genetics31
"" VarScan/2.4.6 Genetics32
2024-01-02 Mango/0.1.0 Generic
2024-01-08 picard/3.1.1 Genetics
"" plink/2.0_20240105 Genetics
2024-01-10 cmake/3.28.1 Generic
"" tatami/2.1.2 Generic33
2024-01-19 htslib/1.19 Genetics
2024-01-23 nextflow/23.10.1 Generic34
"" go/1.21.6 Generic
"" singularity/4.0.3 Generic35
"" libseccomp/2.5.5 Generic
2024-01-24 fraposa_pgsc/0.1.0 Genetics36
"" pgsc_calc/2.0.0-alpha.4 Genetics37
2024-01-27 glibc/2.18 Generic
"" glibc/2.26 Generic
"" deno/1.40.2 Generic38
"" deno/1.40.2-icelake Generic
"" quarto/1.4.549 Generic
2024-02-29 R/4.3.3 Generic39
2024-03-01 glpk/5.0 Generic
2024-03-02 glpk/4.57 Generic
2024-03-04 rstudio/2023.12.1-402 Generic
2024-03-05 GitKraken/9.12.0 Generic40
"" automake/1.16.5 Generic41
"" pspp/2.0.0 Generic
2024-03-09 Scala/3.3.3 Generic
2024-03-10 fpc/3.2.2 Generic
"" Swift/5.10 Generic
"" pulsar/1.114.0 Generic
"" VSCodium/1.87.1.24068 Generic
2024-03-27 openssl/3.2.1-icelake Generic42
"" openssh/9.7p1-icelake Generic43
2024-03-31 ensembl-vep/111-icelake Genetics44
2024-04-01 json-c/0.17-20230812-icelake Generic45
"" device-mapper/1.02.28-icelake Generic
"" LVM2/2.03.23-icelake Generic46
2024-04-02 cryptsetup/2.7.1-icelake Generic47
2024-04-05 krb5/1.21.2-icelake Generic48
"" git/1.44.0-icelake Generic49
"" openssl/1.1.1b-icelake Generic
"" libssh2/1.11.0-icelake Generic
"" libssh/0.10.6-icelake Generic
2024-04-22 peer/1.3 Generic50
2024-04-29 ImageMagick/7.1.1-31 Generic51
2024-05-15 rtmpdump/2.3 Generic52
2024-05-22 spyder/5.5.4 Generic53
2024-06-04 pwiz/3_0_24156_80747de Proteomics
2024-06-09 crux/4.2 Proteomics54
"" p7zip-zstd/17.05 Generic55
"" DIA-NN/1.8.1 Proteomics
2024-06-10 patchelf/0.18.0 Generic
"" boost/1.76.0 Generic56
"" wine/8.21 Generic57
2024-06-11 crux/4.1 Proteomics
"" pwiz/3_0_24163_9bfa69a-wine Proteomics
2024-06-13 seqkit/2.8.2 Proteomics58
"" dotnet/8.0.304 Generic
"" dotnet/6.0.423 Generic59
"" FlashLFQ/1.2.6 Proteomics60
"" MetaMorpheus/1.0.5 Proteomics
2024-06-14 R/4.4.1 Generic
2024-06-25 msms/3.2rc-b163 Genetics
2024-06-30 freesurfer/7.4.1 Generic
2024-07-04 docker/24.0.5 Generic61
"" docker/27.0.3 Generic
2024-07-05 sshpass/1.10 Generic
"" podman/5.1.1 Generic62
2024-07-09 ntlm/1.6 Generic
"" alpine/2.26-icelake Generic63
"" gnutls/3.8.4-icelake Generic
"" quarto/1.6.1-icelake Generic
"" gettext/0.22.5-icelake Generic
"" nettle/3.9-icelake Generic
2024-07-11 qemu/9.0.1 Generic64
2024-07-13 msamanda/3.0.21.532 Proteomics
2024-07-16 augeas/1.14.1 Generic
"" hivex/1.3.23 Generic65
"" ocaml/4.14.2 Generic
"" findlib/1.9.6 Generic66
"" opam/2.2.0 Generic67
"" libguestfs/1.48.6 Generic68
2024-07-23 Miniconda3/22.9.0 Generic
2024-07-25 pigz/2.8 Generic
2024-07-31 tandem/2017.2.1.4 Proteomics
2024-08-11 comet/2024.01.1 Proteomics
"" kojak/2.1.0 Proteomics
"" kojak/1.5.5 Proteomics
"" kojak/2.0.0a22 Proteomics
2024-08-12 MS-GF+/2024.03.26 Proteomics69
2024-08-14 ThermoRawFileParser/1.4.4 Proteomics
"" ThermoRawFileParserGUI/1.7.4 Proteomics
"" FragPipe/22.0 Proteomics70
2024-08-15 MSFragger/4.1 Proteomics
"" IonQuant/1.10.27 Proteomics
2024-08-20 htslib/1.20 Genetics
"" bcftools/1.20 Genetics
"" samtools/1.20 Genetics
2024-08-23 qpdf/11.9.1 Generic
2024-08-23 qpdf/11.9.1 Generic
2024-09-01 MaxQuant/2.6.4.0 Proteomics
"" Perseus/2.1.2.0 Proteomics
2024-09-03 tiff/4.0.4 Generic
"" tiff/4.6.0 Generic
2024-09-05 libgit2/1.4.2 Generic
2024-09-10 jasper/3.0.4 Generic
2024-09-13 geos/3.8.4 Generic
"" prof/7.2.1 Generic
2024-09-14 libarchive/3.7.5 Generic
"" openssl/3.2.1 Generic
"" curl/7.85.0 Generic71
2024-09-15 libjpeg-turbo/3.0.4 Genetic72
"" libgeotiff/1.7.3 Generic73
"" gdal/3.7.0 Generic74
2024-10-04 libsodium/1.0.20 Genetic
"" SYMPHONY/3.6.17 Generic
2024-10-13 sage/0.14.7 Proteomics
2024-10-23 caddy/2.7.5 Genetic
"" caddy/2.8.4 Generic
"" nginx/1.24.0 Generic
"" wrk/4.2.0 Generic
2024-10-25 firefox/131.0.3 Genetic
"" chromium/132.0.6798.0 Generic
2024-10-29 inetutils/2.5 Genetic75
2024-10-31 R/4.4.2 Generic
2024-11-01 edge/130.0.2849.56-1 Generic
2024-11-22 pspp/2.0.1 Generic
2024-11-26 pgsc_calc/2.0.0 Generic
2024-12-03 firefox/133.0 Genetic
2024-12-07 firefox/nightly Genetic
2024-12-10 rstudio/2024.09.1+394 Genetic
2025-01-21 node/18.20.5 Genetic76
2025-01-26 node/20.18.2 Generic
"" chrome/132.0.6834.110 Generic77
2025-01-29 brotli/1.1.0 Generic78
2025-01-31 rust/1.84.1 Generic79
2025-02-04 quarto/1.7.13 Generic
"" pandoc/3.6.2 Generic
2025-02-05 rstudio/2025.04.0+278 Genetic
"" git/2.48.1 Generic80
"" libgcrypt/1.5.3 Generic81
"" texinfo/7.2 Generic82
2025-02-24 VSCode/1.97.2 Genetic
2025-02-26 ollama/0.5.12 Genetic83
2025-02-28 R/4.4.3 Generic
2025-03-01 leptonica/1.85.0 Generic
"" tesseract/5.5.0 Generic84
2025-03-02 apidog/latest Generic85
2025-03-03 micromamba/2.0.5 Generic
2025-03-13 DjVuLibre/3.5.28 Generic
"" ollama/0.6.0 Generic
2025-03-16 qt/6.8.2 Generic
"" Anaconda3/2024.10-1 Generic86
2025-03-17 micromamba/2.0.7 Generic87
"" binutils/2.44 Generic
2025-03-18 OpenMS/3.4.0 Proteomics
2025-03-20 ollama/0.6.2 Generic
2025-03-22 diann/2.0.2 Proteomics88
2025-03-25 firefox/60.5.1-1.el7 Generic89
2025-03-26 firefox/136.0 Generic
2025-03-29 llama.cpp/b4991 Generic90
2025-04-05 InstaNovo/1.1.1-GPU Proteomics91
2025-04-07 scGPT/0.2.4 Single cell92
"" scanpy/1.11.1 Single cell93
2025-04-11 R/4.5.0 Generic
"" llama.cpp/b5121 Generic
2025-04-12 ollama/0.6.5 Generic
2025-04-15 DrugAssist/latest Generic94
2025-04-16 uv/0.6.14 Generic95
"" InstaNovo/1.1.1 Proteomics
"" diann/2.1.0 Proteomics
2025-04-17 BitNet/b1.58-2B-4T Generic96
2025-04-19 C2S-Scale/0.0.2 Single cell97
2025-04-20 VSCode/1.99.3 Generic
2025-04-23 gcta/1.94.4 Genetics
2025-04-24 cbindgen/0.28.0 Generic98
"" clang/19.1.7 Generic
"" dump_syms/2.3.4 Generic
"" nasm/2.16.03 Generic
"" node/18.19.0 Generic
"" pkg-config/1.8.0 Generic
2025-04-29 AnythingLLMDesktop/latest Generic
2025-05-02 llama.cpp/b5259 Generic
2025-05-03 GENIE/1.1.1 Genetics99
2025-05-05 ollama/0.6.8 Generic
2025-05-06 SuSiEx/1.1.2 Genetics
2025-05-07 Synapse/4.8.0 Generic
"" llama.cpp/b5305 Generic
2025-05-09 PGS-CSx/1.1.0 Genetics100
2025-05-10 VSCODE/1.100.0 Generic
2025-05-14 RSEM/1.3.3 Genetics101
2025-05-15 BWA/0.7.19 Genetics

* CEU or approved users only.

Three aspects are notable,

  1. A file named NOTE indicates the original annotation.
  2. A symbolic link is generated when appropriate to simplify executable file name.
  3. The available source package is kept in the sources/ directory.

Word cloud diagrams

They are generated from script setup.sh,

Footnotes


  1. metal

    Notes on METAL 2020-05-05r

    This version has options EFFECT_PRINT_PRECISION and STDERR_PRINT_PRECISION (both with default 4) to enable many decimal places.

    The letter r as in 2020-05-05r indicates a replacement of functions in libsrc/MathStats.cpp to ensure generality – details have also been posted to the GitHub page, https://github.com/statgen/METAL/issues/24.

    FATAL ERROR -
    a too large, ITMAX too small in gamma countinued fraction (gcf)
    
    so the -1.info file could not be generated.
    

  2. gemma

    Note on compiling from source

    A considerably smaller (1,097,256 vs 22,721,624) executable, /usr/local/Cluster-Apps/ceuadmin/GEMMA/0.98.5/bin, is generated under CSD3 but the original distribution is used by default.

    module load openblas/0.2.15
    make
    

  3. fcgene

    Alternative site

    See https://github.com/dr-roshyara/fcgene 

  4. jq

    The executable points to the one available from the website.

    The bin/, include/, lib/, share/ directories are obtained from source with oniguruma also compiled independently. 

  5. qtltools

    The long version number is 1.3.1-25-g6e49f85f20. 

  6. exiv2

    This is compiled with configuration

    cmake -DCMAKE_INSTALL_PREFIX=$CEUADMIN/exiv/0.27.5 -DEXIV2_ENABLE_NLS=On -DEXIV2_ENABLE_BMFF=On -DEXIV2_BUILD_UNIT_TESTS=Off -DCMAKE_PREFIX_PATH=$HPC_WORK ..
    

    The modules ceuadmin/gettext/0.21, ceuadmin/libiconv/1.17, ceuadmin/googletest/1.8.0 are at disposal. 

  7. libxslt

    There is complaint about docbook as in expat, however there is no apparent option to control for this. 

  8. libxml2

    The packaging is not perfect and Python 2 package requires to be manually furnished,

    export PYTHONPATH=/usr/local/Cluster-Apps/ceuadmin/libxml2/2.9.10/lib/python2.7/site-packages
    ./configure --prefix=$CEUADMIN/libxml2/2.9.10
    cd libxml2-2.9.10/python
    python setup.py install --prefix=${PYTHONPATH}
    

    The module file is expicitly appended with

    module load python/2.7
    export PYTHONPATH=$root/lib/python2.7/site-packages:$PYTHONPATH
    

  9. gdal

    This involves many libraries; an expeeriment has been done as follows,

    module load gcc/6
    module load cfitsio-3.450-gcc-5.4.0-colpo6h
    module load geos-3.6.2-gcc-5.4.0-vejexvy
    module load jpeg-9b-gcc-5.4.0-7s6bvoe
    module load libgeotiff-1.4.2-gcc-5.4.0-2emzhxh
    module load libpng-1.6.29-gcc-5.4.0-3qwhidp
    module load mpich-3.2-gcc-5.4.0-idlluti
    module load netcdf/4.4.1
    module load postgresql-9.5.3-gcc-5.4.0-fxmot7h
    module load zlib/1.2.11
    module load zstd-1.3.0-intel-17.0.4-eyn6gaw
    ./configure --with-libjson-c=$HPC_WORK --with-proj=$HPC_WORK --without-sqlite3 --prefix=$HPC_WORK \
      --with-cfitsio=/usr/local/software/spack/current/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/cfitsio-3.450-colpo6hwycaaind2al47yriydf4oysyx \
      --with-cpp14
    # module load json-c-0.13.1-gcc-5.4.0-ffamohj
    # module load proj-6.2.0-gcc-5.4.0-iw4jbzs
    # --with-proj=/usr/local/software/spack/spack-git/opt/spack/linux-rhel7-broadwell/gcc-5.4.0/proj-6.2.0-iw4jbzsrjirypecjm4c7bmlhdvhgwjmx \
    

  10. expat

    Due to error messages, the options are specified as follows,

    ./configure --prefix=$CEUADMIN/expat/2.4.7 --without-docbook
    

  11. ruby

    This is done as follows,

    curl -sSL https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.gz -o ruby-2.7.5.tar.gz
    tar -xzf ruby-2.7.5.tar.gz
    cd ruby-2.7.5
    ./configure --prefix=$CEUADMIN/ruby/2.7.5
    make
    make install
    rvm reset
    

  12. libgit2

    It uses Python 2.7 and libssh2 (as above). The following warnings are given

    /usr/bin/ld: warning: libssl.so.10, needed by /home/jhz22/hpc-work/lib/libssh2.so, may conflict with libssl.so.1.1
    /usr/bin/ld: warning: libcrypto.so.10, needed by /home/jhz22/hpc-work/lib/libssh2.so, may conflict with libcrypto.so.1.1
    

  13. nettle

    This is required by gnutls/3.7.8, which requires ceuadmin/gmp/6.2.1 and --enable-mini-gmp.

    Alternatively, we use

    ./configure --prefix=$HPC_WORK LDFLAGS=-L$HPC_WORK/lib64 LIBS=-lhogweed --disable-openssl \
                --with-lib-path=/usr/local/Cluster-Apps/ceuadmin/gmp/6.2.1/lib \
                --with-include-path=/usr/local/Cluster-Apps/ceuadmin/gmp/6.2.1/include
    

  14. gnutls

    It requires libunistring (optionally –with-included-unistring), libidn2, libunbound, and trousers, all prepared above.

    ./configure --prefix=$HPC_WORK --with-included-unistring --with-nettle-mini --enable-ssl3-support \
                CFLAGS=-I$HPC_WORK/include LDFLAGS=-L$HPC_WORK/lib LIBS=-lhogweed LIBS=-lunbound LIBS=-ltspi \
                --enable-sha1-support --disable-guile
    

    It is necessary to edit lib/pkcs11_privkey.c to make ck_rsa_pkcs_pss_params definition explicit. Then there is error with guile so we use –disable-guile.

    Under icelake (CentOS 8), this configuration is used for gnutls/3.8.4-icelake,

    module load gettext/0.21/gcc/qnrcglqo
    configure --prefix=$CEUADMIN/gnutls/3.8.4-icelake --with-included-unistring
    make
    make install
    

  15. lemma

    The documentation indicates a requirement of gcc/9.4, boost/1.78, OpenMP/3.1 and/or Intel MKL Library 2019 Update 1 but it is possible to proceed with gcc/11, cmake-3.19.7-gcc-5.4-5gbsejo, boost-1.66.0-gcc-5.4.0-slpq3un, ceuadmin/bgen. 

  16. The following scripts avoid option --without-ssl.

     wget -qO- https://github.com/axel-download-accelerator/axel/releases/download/v2.17.11/axel-2.17.11.tar.gz | \
     tar xvfz -
     cd axel-2.17.11
    ./configure --prefix=$CEUADMIN/axel/2.17.11  LDFLAGS=-L/usr/lib64 LIBS=-lssl
    

  17. OpenMS

    When the OpenMS module is loaded, pyopenms and alphapept also become available. 

  18. locuszoom

    The version adds chromosome X data and will have options using INTERVAL data. 

  19. rstudio

    This is replacement of the module by HPC (no longer working) with the RStudio itself unchanged.

    To save space, 2023.06.1+524 is removed upon installation of 2023.12.1+402. 

  20. pwcoco

    It compiles under gcc/9. Upon release of 1.1, this snapshot is removed. 

  21. regenie

    cd ~/rds/public_databases/software/
    wget -qO- https://github.com/rgcgithub/regenie/archive/refs/tags/v3.2.7.tar.gz | \
    tar xvfz -
    cd regenie-3.2.7/
    export BGEN_PATH=~/rds/public_databases/software/bgen
    module load zlib/1.2.11
    export ZLIB_LIBRARY=/usr/local/Cluster-Apps/zlib/1.2.11
    module load gcc/6
    module load cmake-3.19.7-gcc-5.4-5gbsejo
    module load intel/mkl/mic/2018.4
    mkdir build
    cd build
    cmake ..
    make
    

  22. autoconf

    git clone git://git.sv.gnu.org/autoconf
    cd autoconf/
    ./bootstrap
    module load help2man-1.47.4-gcc-4.8.5-phopsy7
    ./configure --prefix=/home/jhz22/rds/public_databases/software
    moke
    make install
    

  23. quarto

    It requires CentOS 8 (icelake, or login-q-*); otherwise it fails with message: GLIBC_2.18 not found.

    Upon installation, we supplement jupyter (python3 -m pip install jupyter –target=${PWD}/python; set PYTHONPATH in the module) and knitr (R_LIBS is set in the module). Furthermore, to allow for generality, python and R directories are symbollically linked.

    To enable rmarkdown, we need to get around issue of no Internet on icelake with the following,

    packages <- c("base64enc","bslib","cachem","cli","digest",
                  "ellipsis","evaluate","fastmap","fontawesome","fs",
                  "glue","htmltools","jquerylib","jsonlite","knitr",
                  "lifecycle","memoise","mime","R6","rappdirs",
                  "rlang","rmarkdown","sass","stringi","stringr",
                  "tinytex","vctrs","xfun","yaml")
    download.packages(packages,".")
    install.packages(dir(pattern="tar.gz"),lib="R",repos=NULL)
    

    somewhat repetitive nonetheless successful since some are package dependencies.

    $ quarto check

    [✓] Checking versions of quarto binary dependencies...
          Pandoc version 3.1.1: OK
          Dart Sass version 1.55.0: OK
    [✓] Checking versions of quarto dependencies......OK
    [✓] Checking Quarto installation......OK
          Version: 1.3.450
          Path: /usr/local/Cluster-Apps/ceuadmin/quarto/1.3.450-icelake/bin
    
    [✓] Checking basic markdown render....OK
    
    [✓] Checking Python 3 installation....OK
          Version: 3.8.11
          Path: /usr/local/software/spack/spack-views/rhel8-icelake-20211027_2/python-3.8.11/gcc-11.2.0/pqdmnzmwkrtp4e3gjibmcxho7g6ekpat/bin/python3
          Jupyter: 5.3.1
          Kernels: python3
    
    [✓] Checking Jupyter engine render....OK
    
    [✓] Checking R installation...........OK
          Version: 4.3.1
          Path: /usr/local/Cluster-Apps/R/4.3.1-icelake/lib64/R
          LibPaths:
            - /usr/local/Cluster-Apps/ceuadmin/quarto/R
            - /usr/local/Cluster-Apps/R/4.3.1-icelake/lib64/R/library
            - /rds/project/jmmh2/rds-jmmh2-public_databases/software/R
            - /rds/project/jmmh2/rds-jmmh2-public_databases/software/R-4.3.1/library
          knitr: 1.43
          rmarkdown: 2.23
    
    [✓] Checking Knitr engine render......OK
    

  24. xpdf

    To enable display fonts as in login-e-[1-4] in /etc/xpdfrc or ~/.xpdfrc

    # SJR addition
    fontFile Times-Roman           /usr/share/fonts/urw-base35/NimbusRoman-Regular.t1
    fontFile Times-Italic          /usr/share/fonts/urw-base35/NimbusRoman-Italic.t1
    fontFile Times-Bold            /usr/share/fonts/urw-base35/NimbusRoman-Bold.t1
    fontFile Times-BoldItalic      /usr/share/fonts/urw-base35/NimbusRoman-BoldItalic.t1
    fontFile Helvetica             /usr/share/fonts/urw-base35/NimbusSans-Regular.t1
    fontFile Helvetica-Oblique     /usr/share/fonts/urw-base35/NimbusSans-Italic.t1
    fontFile Helvetica-Bold        /usr/share/fonts/urw-base35/NimbusSans-Bold.t1
    fontFile Helvetica-BoldOblique /usr/share/fonts/urw-base35/NimbusSans-BoldItalic.t1
    fontFile Courier               /usr/share/fonts/urw-base35/NimbusMonoPS-Regular.t1
    fontFile Courier-Oblique       /usr/share/fonts/urw-base35/NimbusMonoPS-Italic.t1
    fontFile Courier-Bold          /usr/share/fonts/urw-base35/NimbusMonoPS-Bold.t1
    fontFile Courier-BoldOblique   /usr/share/fonts/urw-base35/NimbusMonoPS-BoldItalic.t1
    fontFile Symbol                /usr/share/fonts/urw-base35/StandardSymbolsPS.t1
    fontFile ZapfDingbats          /usr/share/fonts/urw-base35/D050000L.t1
    

  25. pspp

    Makeinfo

    The following replacement is used.

    MAKEINFO = ${SHELL} '/rds/project/jmmh2/rds-jmmh2-public_databases/software/pspp-2.0.0-pre1ge32bec/build-aux/missing' makeinfo --force --no-validate
    

    while the rest is copied from GNU build, https://benpfaff.org/~blp/pspp-master/20230624103130/x86_64/pspp-2.0.0-pre1ge32bec-x86_64-build20230624103419.tar.gz

  26. ncbi-vdb

    The installation is preceeded with module load gcc/6 flex-2.6.4-gcc-5.4.0-2u2fgon. Although configure is provided, cmake is used instead.

    cmake -DCMAKE_PREFIX_PATH=$CEUADMIN/ncbi-vdb/3.0.8 -DCMAKE_INSTALL_PREFIX=$CEUADMIN/ncbi-vdb/3.0.8 ..
    

  27. sra-tools

    First, create a symbolic link for ncbi-vdb/3.0.8 in the parent directory.

    cmake -DVDB_LIBDIR=$CEUADMIN/ncbi-vdb/3.0.8/lib64 -DCMAKE_INSTALL_PREFIX=$CEUADMIN/sra-tools/3.0.8 ..
    

    Drop constexpr as in constexpr size_type max_size() const { return SIZE_MAX; } in line 161 of the following header file:

    /usr/local/Cluster-Apps/ceuadmin/sra-tools/3.0.8/tools/external/driver-tool/util.hpp

  28. gatk

    The Python dependencies are set up as follows,

    module load anaconda/3.2019-10
    conda env create -p /usr/local/Cluster-Apps/ceuadmin/gatk/4.4.0.0/anaconda-3.2019-10 -f gatkcondaenv.yml
    conda activate /usr/local/Cluster-Apps/ceuadmin/gatk/4.4.0.0/anaconda-3.2019-10
    

    Workflow downloads: https://github.com/gatk-workflows 

  29. gdc

    It also includes gdc_dtt-ui 1.0.0 

  30. VB2

    To build from source, module htslib-1.9-gcc-5.4.0-p2taavl is needed yet with message /usr/bin/ld: warning: libbz2.so.1.0, needed by /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/htslib-1.9-p2taavlu3ieppo25otjfgvfu5tysbgho/lib/libhts.so, may conflict with libbz2.so.1. In fact, 1 == 1.0 so it is ignored. 

  31. regtools

    gcc/6 is required for C++11. 

  32. varscan

    Simply call java -jar $VARSCAN_HOME/VarScan.v2.4.6.jar after module load ceuadmin/VarScan/2.4.6

  33. tatami

    The following aspects are required.

    1. module load gcc/9
    2. mkdir build && cd build
    3. cmake .. -DCMAKE_INSTALL_PREFIX=$CEUADMIN/tatami/2.1.2
    4. cmake –build . –target install

  34. nextflow

    curl -fsSL get.nextflow.io | bash
    

  35. singularity

    The singularity module in place is already very useful, e.g.,

    singularity pull tensorflow_latest_gpu.sif docker://tensorflow/tensorflow:latest-gpu
    singularity build --sandbox tensorflow docker://tensorflow/tensorflow:latest-gpu
    singularity run tensorflow
    python -c '
    from tensorflow.python.client import device_lib
    print(device_lib.list_local_devices())
    '
    

    where we pull the container both in Singularity Image Format (SIF) format and into a directory. However, we now have

    mconfig --prefix=$CEUADMIN/singularity/4.0.3 --without-seccomp --without-conmon --without-suid
    cd builddir & make
    

  36. fraposa

    Several packages, including poetry, poetry-plugin-export and fraposa_pgsc, will be installed as follows,

    module load ceuadmin/Anaconda3/2023.09-0
    pip install poetry
    pip3 install poetry-plugin-export
    pip install --use-feature=fast-deps .
    scripts/run_example.sh
    

    This is necessay since by default peotry install will use user's home directory. As indicated from poetry install --help:

    The install command reads the poetry.lock file from the current directory, processes it, and downloads and installs all the libraries and dependencies outlined in that file. If the file does not exist it will look for pyproject.toml and do the same. 

  37. pgsc_calc

    Application, https://pgsc-calc.readthedocs.io/en/latest/index.html

    nextflow run pgscatalog/pgsc_calc -profile test,singularity
    

    It appears quarto is called so presumably under icelake.

    For 2.0.3, we try the conda option. 

  38. deno

    Web: https://anaconda.org/conda-forge/deno/files

    wget https://anaconda.org/conda-forge/deno/1.40.2/download/linux-64/deno-1.40.2-hfc7925d_0.conda -O deno.conda
    unzip deno.conda
    tar --use-compress-program=unzstd -xvf pkg-deno-1.40.2-hfc7925d_0.tar.zst
    

  39. R

    This replaces R/4.3.2. It is also R/latest. 

  40. GitKraken

    This replaces 8.1.0. 

  41. automake

    This is required by pspp 2.0.0. 

  42. openssl

    Archive, https://www.openssl.org/source/old/

    wget -qO- https://www.openssl.org/source/openssl-3.2.1.tar.gz | \
    tar xvfz -
    cd openssl-3.2.1/
    export PERL5LIB=
    ./Configure --prefix=$CEUADMIN/openssl/3.2.1-icelake
    make
    make install
    

    One can check version with openssl version. For 1.1.1b, it is the followiong,

    wget -qO- https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1b.tar.gz | \
    tar xvfz -
    cd openssl-OpenSSL_1_1_1b/
    config --prefix=$CEUADMIN/openssl/1.1.1b-icelake
    make install
    

    Module ceuadmin/openssl/3.2.1 actually points to /usr/local/Cluster-Apps/openssl/3.2.1

  43. openssh

    OpenSSL is called first to use the specific openssl, e.g.,

    module load ceuadmin/openssl/3.2.1-icelake
    ./configure --prefix=$CEUADMIN/openssh/9.7p1-icelake --with-ssl-dir=$CEUADMIN/openssl/3.2.1-icelake
    make
    make install
    

    Check is made with cat config.log | grep -i openssl. However, variable EVP_PKEY_bits is nonexistent. It turns out the default ssl is fine.

    configure --prefix=$CEUADMIN/openssh/9.7p1-icelake
    make
    make install
    

    However, EVP_KDF_ctrl is missing with git. 

  44. ensembl-vep

    Note that a nextflow pipeline is now available from nextflow/. A test has been done as follows,

    export PERL5LIB=
    module load ceuadmin/libssh
    git clone https://github.com/Ensembl/ensembl-vep.git
    cd ensembl-vep
    perl INSTALL.pl -l Bio -y GRCh37 -a acfp -g all -s homo_sapiens,homo_sapiens_merged --NO_TEST -c .vep
    ./vep -i examples/homo_sapiens_GRCh38.vcf --cache .vep
    

    A log file is kept here.

    Moreover, we could also add some plugin data, https://github.com/Ensembl/VEP_plugins.

    For the nearest gene, the Set::IntervalTree is required and is furnished as follows,

    cpanm -l /usr/local/Cluster-Apps/ceuadmin/ensembl-vep/111-icelake/Bio ExtUtils::CppGuess
    cpanm -l /usr/local/Cluster-Apps/ceuadmin/ensembl-vep/111-icelake/Bio ExtUtils::CBuilder
    cpanm -l /usr/local/Cluster-Apps/ceuadmin/ensembl-vep/111-icelake/Bio Set::IntervalTree
    

    In general, with perl -MCPAN -e shell we specify

    o conf makepl_arg "PREFIX=/usr/local/Cluster-Apps/ceuadmin/ensembl-vep/111-icelake/Bio" o conf makepl_arg "INSTALL_BASE=/usr/local/Cluster-Apps/ceuadmin/ensembl-vep/111-icelake/Bio" ‘o conf commit'

    to see commit: wrote '/home/jhz22/.cpan/CPAN/MyConfig.pm'. However, this is NOT the case here.

    Our module has PERL5LIB=$root/Bio:$root/Bio/lib/perl5/x86_64-linux-thread-multi/.

    Our example data here is 442807041.vcf,

    ##fileformat=VCFv4.0
    #CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO
    2	101332618	2:101332618_C_T	T	C	.	.	.
    

    and we run script,

    vep --input_file 442807041.vcf \
        --output_file 442807041.tab --force_overwrite \
        --offline --cache --dir_cache /usr/local/Cluster-Apps/ceuadmin/ensembl-vep/111-icelake/.vep \
        --species homo_sapiens --assembly GRCh37 --pick --nearest symbol --symbol \
        --tab
    

    Further information, https://www.ensembl.org/info/docs/tools/vep/script/vep_download.html

  45. json-c

    export LD_LIBRARY_PATH=
    wget -qO- https://github.com/json-c/json-c/archive/refs/tags/json-c-0.17-20230812.tar.gz | \
    tar xvfz -
    cd json-c-0.17-20230812
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/Cluster-Apps/ceuadmin/json-c/0.17-20230812-icelake ..
    ln -sf /usr/include/locale.h xlocale.h
    make -I.
    make install
    

  46. LVM2

    Only device mapper is installed, i.e.,

    make device-mapper
    make install_device-mapper
    

  47. cryptosetup

    # incomplete libssh in need of a fix
    module load cmake/3.21.3/intel/wce32356
    wget -qO- https://www.libssh.org/files/0.10/libssh-0.10.6.tar.xz | \
    tar xfJ -
    cd libssh-0.10.6
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=$CEUADMIN/libssh/0.10.6-icelake  ..
    make
    module load ceuadmin/json-c/0.17-20230812-icelake 
    module load ceuadmin/LVM2/2.03.23-icelake
    module load ceuadmin/popt/1.19-icelake
    module load gettext/0.21/gcc/qnrcglqo
    CFLAGS="-I/usr/local/Cluster-Apps/ceuadmin/LVM2/2.03.23-icelake/include" \
    configure --prefix=$CEUADMIN/cryptsetup/2.7.1-icelake --disable-ssh-token
    

  48. krb5-icelake

    It is possible to use the default ssh.

    configure --prefix=$CEUADMIN/krb5/1.21.2-icelake
    module load gettext/0.21/gcc/qnrcglqo
    make install
    

  49. git-2.44.0-icelake

    wget -qO- https://github.com/git/git/archive/refs/tags/v2.44.0.tar.gz | \
    tar xvfz -
    cd git-2.44.0
    make configure
    configure --prefix=${CEUADMIN}/git/2.44.0-icelake
    make
    make install
    

    There remains an error message git-remote-https: symbol lookup error: /usr/lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

  50. peer

    This is documented separately in the R section, https://cambridge-ceu.github.io/csd3/applications/peer.html

  51. ImageMagick

    wget -qO- https://github.com/ImageMagick/ImageMagick/archive/refs/tags/7.1.1-31.tar.gz | \
    tar xvfz -
    cd ImageMagick-7.1.1-31/
    ./configure --prefix=$CEUADMIN/ImageMagick/7.1.1-31
    make
    make install
    

  52. rtmpdump

    It is necessary for RCurl 1.98-1.14. With curl-7.63.0-gcc-5.4.0-4uswlql we could also install rtracklayer 1.64.0.

    wget -qO- https://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz |\
    tar xvfz -
    cd rtmpdump-2.3
    sed -i 's|/usr/local|/usr/local/Cluster-Apps/ceuadmin/rtmpdump/2.3|' Makefile
    sed -i 's|/usr/local|/usr/local/Cluster-Apps/ceuadmin/rtmpdump/2.3|' librtmp/Makefile
    make
    make install
    Rscript -e 'install.packages("RCurl")'
    Rscript -e 'BiocManager::install("rtracklayer")'
    

  53. spyder

    cd /rds/project/jmmh2/rds-jmmh2-public_databases/software
    wget https://github.com/spyder-ide/spyder/releases/download/v5.5.4/EXPERIMENTAL-Spyder-5.5.4-Linux-x86_64.sh
    bash EXPERIMENTAL-Spyder-5.5.4-Linux-x86_64.sh
    

  54. crux

    Web: https://crux.ms/ (https://github.com/crux-toolkit)

    The binary provided requires GLIBC_2.29 which is not avaiable yet problematic with ceuadmin/glibc/2.29-icelake.

    We get around with issue through singularity (apptainer version 1.3.6-1.el8),

    singularity build crux.sif crux.def
    singularity run crux.sif
    

    where crux.def is rather simple.


    Under CentOS 7, it cannot access https://noble.gs.washington.edu/crux-downloads/pwiz-src-3_0_24044_fd6604f.tar.bz2. Under CentOS 8 we proceed with

    git clone https://github.com/crux-toolkit && cd crux-toolkit
    export PERL5LIB=
    module load ceuadmin/openssh/9.7p1-icelake \
                ceuadmin/openssl/3.2.1-icelake \
                ceuadmin/libssh/0.10.6-icelake \
                ceuadmin/boost/1.76.0 \
                ceuadmin/krb5/1.21.2-icelake ceuadmin/p7zip-zstd/17.05
    cmake .
    make
    

    but fail due to the same reason since ld -lrt requires librt which is part of GLIBC_2.29. Nevertheless under ext/, comment the last line of build_pwiz.cmake will enable the whole process with the following errors on pwiz

    /usr/bin/ld: cannot find -lpwiz_data_msdata
    /usr/bin/ld: cannot find -lpwiz_data_msdata_mz5
    /usr/bin/ld: cannot find -lpwiz_data_msdata_mzmlb
    /usr/bin/ld: cannot find -lpwiz_data_msdata_core
    /usr/bin/ld: cannot find -lpwiz_data_identdata
    /usr/bin/ld: cannot find -lhdf5pp
    collect2: error: ld returned 1 exit status
    

    related to ProteoWizard, https://github.com/ProteoWizard/pwiz/, i.e.,

    ...failed updating 10 targets...
    ...skipped 376 targets...
    ...updated 836 targets...
    At least one pwiz target failed to build.
    

    See build/src/ProteoWizard/libraries.

    There is a FAQ section from PrteoWizard (https://raw.githubusercontent.com/ProteoWizard/pwiz/981c7c70bfed46a145931dbea4da9e2edde72cf5/scripts/autotools/FAQ),

    Standalone pwiz is available from https://proteowizard.sourceforge.io/download.html or https://github.com/ProteoWizard/pwiz and from pwiz-skyline docker: https://hub.docker.com/r/chambm/pwiz-skyline-i-agree-to-the-vendor-licenses

    docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses
    docker run -it --rm chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine msconvert --help
    docker run -it --rm chambm/pwiz-skyline-i-agree-to-the-vendor-licenses wine SkylineCmd --help
    docker run -it --rm -e WINEDEBUG=-all -v /your/data:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses \
           wine msconvert /data/file.raw
    

    Syntax for the last docker command using a virtual Linux machine (not CSD3!) with file named /home/$USER/D/Downloads/szwk901104i19801xms1.raw:

    docker run -it --rm -e WINEDEBUG=-all -v /home/jhz22/D/Downloads:/data chambm/pwiz-skyline-i-agree-to-the-vendor-licenses \                                                                  
           wine msconvert /data/szwk901104i19801xms1.raw --filter "peakPicking true 1-"
    

    The screen output is as follows,

    format: mzML
        m/z: Compression-Zlib, 64-bit
        intensity: Compression-Zlib, 32-bit
        rt: Compression-Zlib, 64-bit
    ByteOrder_LittleEndian
     indexed="true"
    outputPath: .
    extension: .mzML
    contactFilename:
    runIndexSet:
    
    spectrum list filters:
      peakPicking true 1-
    
    chromatogram list filters:
    
    filenames:
      /data\szwk901104i19801xms1.raw
    
    processing file: /data\szwk901104i19801xms1.raw
    calculating source file checksums
    
    writing output file: .\szwk901104i19801xms1.mzML
    

  55. p7zip-zstd

    A simple make is sufficient but it is necessary to implement a minor revision of install.sh, line 19, so that DEST_HOME=/usr/local/Cluster-Apps/ceuadmin/p7zip-zstd/17.05

  56. boost

    module load python/3.8.11/gcc/pqdmnzmw
    wget -qO- http://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.gz | \
    tar xvzf -
    cd boost_1_76_0
    ./bootstrap.sh
    ./b2 --prefix=$CEUADMIN/boost/1.76.0 install
    ./bjam --with-regex --with-filesystem --with-iostreams --with-thread --with-program_options \
            --with-serialization --with-system --with-date_time install
    export BOOST_ROOT=/usr/local/src/boost_1_76_0
    

  57. wine

    module load ceuadmin/krb5/1.21.2-icelake
    configure --prefix=${CEUADMIN}/wine/8.21 --enable-win64
    make install
    

  58. seqkit

    An attempt is made with UniProt, current_release/uniref/uniref100/, knowledgebase/genome_annotation_tracks/UP000005640_9606_beds.

    #!/usr/bin/bash
    
    export fasta=~/rds/public_databases/UniProt/uniref100.fasta.gz
    export fasta=~/rds/public_databases/UniProt/uniprot_sprot.fasta.gz
    export regions=UP000005640_9606_proteome.bed
    
    module load ceuadmin/seqkit
    seqkit subseq --bed ${regions} --seq-type protein --out-file output.fasta ${fasta}
    
    awk '{print $4}' ${regions} | sort | uniq > protein_ids.txt
    seqkit grep -f protein_ids.txt ${fasta} > output.fasta
    
    # A contrast with the genomic counterpart
    # bedtools getfasta -fo output.fasta -s -fullHeader -fi ${fasta} -bed ${regions}
    

  59. dotnet

    The paket tool is installed as follows,

    cd /usr/local/Cluster-Apps/ceuadmin/dotnet/6.0.423
    dotnet new tool-manifest
    dotnet tool install paket
    dotnet paket
    dotnet paket add Mono.Unix --version 7.1.0-final.1.21458.1
    

    The last line above is for OpenMS. We see .config/dotnet-tools.json and also

    Paket version 8.0.3+75b30cdcb8859e8d129f139444d9b9b600bfff07
    Adding package 'Mono.Unix' 7.1.0-final.1.21458.1
    Resolving dependency graph...
     - Mono.Unix is pinned to 7.1.0-final.1.21458.1
    Updated packages:
      Group: Main
        - Mono.Unix: 7.1.0-final.1.21458.1 (added)
    Created dependency graph (1 packages in total)
    Downloading Mono.Unix 7.1.0-final.1.21458.1
    Download of Mono.Unix 7.1.0-final.1.21458.1 done in 249 milliseconds. (231504 kbit/s, 6 MB)
     - Project GenerateDeps.proj needs to be restored
    Resolved package 'Mono.Unix' to version 7.1.0-final.1.21458.1
    Total time taken: 3 seconds
    

  60. FlashLFQ

    Web: https://github.com/smith-chem-wisc/FlashLFQ/wiki/Using-the-Command-Line

    In the script below, a benchmark provided by the software available from ${FLASHLFQ_ROOT}/src/Test/SampleFiles.

    module load ceuadmin/FlashLFQ
    flashlfq --idt MaxQuant/msms.txt --rep . --ppm 5 --chg
    

    which works on MaxQuant/msms.txt and generates FlashLfqSettings.toml, QuantifiedPeaks.tsv, QuantifiedPeptides.tsv and QuantifiedProteins.tsv

  61. docker (to be amended)

    The module docker/24.0.5 enables information such as command options to be available.

    export folder=$CEUADMIN/docker/24.0.5
    mkdir -p ${folder}
    cd ${folder}
    curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-24.0.5.tgz -o docker.tgz
    tar xzvf docker.tgz --strip 1
    export PATH=${folder}:$PATH
    export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock
    # a normal run:
    dockerd --experimental --rootless
    systemctl --user enable docker
    systemctl --user start docker
    docker run hello-world
    wget https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-x86_64 -O docker-compose
    chmod +x docker-compose
    

    A user-based set up of the rootless mode is necessary,

    export mydocker=$CEUADMIN/docker/24.0.5
    curl -fsSL https://raw.githubusercontent.com/docker/docker/master/contrib/dockerd-rootless-setuptool.sh \
         -o $mydocker/dockerd-rootless-setuptool.sh
    chmod +x $mydocker/dockerd-rootless-setuptool.sh
    curl -fsSL https://raw.githubusercontent.com/docker/docker/master/contrib/dockerd-rootless.sh \
         -o $mydocker/24.0.5/dockerd-rootless.sh
    chmod +x $mydocker/dockerd-rootless.sh
    wget -qO- https://github.com/rootless-containers/rootlesskit/releases/download/v2.1.0/rootlesskit-x86_64.tar.gz | \
    tar xvfz -
    echo "$USER:100000:65536" > ~/.subuid
    echo "$USER:100000:65536" > ~/.subgid
    export DOCKER_ROOTLESS_SUBUID=$(cat ~/.subuid)
    export DOCKER_ROOTLESS_SUBGID=$(cat ~/.subgid)
    ${mydocker}/dockerd-rootless-setuptool.sh install
    

    The process is modified slightly for the module. The use of ~/.subuid and ~/.subgid gets around the error messages,

    ########## BEGIN ##########
    sudo sh -eux <<EOF
    # Add subuid entry for jhz22
    echo "jhz22:100000:65536" >> /etc/subuid
    # Add subgid entry for jhz22
    echo "jhz22:100000:65536" >> /etc/subgid
    EOF
    ########## END ##########
    

    One can check user and group id's with

    id -u
    id -g
    

    e.g., chmod 644 ~/.subuid ~/.subgid.

    In turned out considerably easier to get different distributions from https://download.docker.com/linux/static/stable/x86_64/

  62. podman (to be amended)

    1. podman executable
    wget -qO- https://github.com/containers/podman/releases/download/v5.1.1/podman-remote-static-linux_amd64.tar.gz | tar xvfz -
    cd bin
    ln -s podman-remote-static-linux_amd64 podman
    echo "$USER:100000:65536" > $HOME/.subuid
    echo "$USER:100000:65536" > $HOME/.subgid
    cd ..
    
    1. podman-helpers/ and containers/
    # podman-helpers
    mkdir podman-helpers && cd podman-helpers
    wget https://github.com/containers/gvisor-tap-vsock/releases/download/v0.7.3/gvproxy-linux-amd64 -O gvproxy
    chmod +x gvproxy
    wget https://github.com/containers/fuse-overlayfs/releases/download/v1.14/fuse-overlayfs-x86_64
    chmod +x fuse-overlayfs-x86_64
    curl -o slirp4netns --fail -L https://github.com/rootless-containers/slirp4netns/releases/download/v1.3.1/slirp4netns-$(uname -m)
    chmod +x slirp4netns
    cd ..
    # containers
    mkdir containers
    echo '[containers]' > containers/containers.conf
    echo '[engine]' >> containers/containers.conf
    echo 'helper_binaries_dir = "/home/jhz22/podman-helpers"' >> containers/containers.conf
    echo 'events_logger = "file"' >> containers/containers.conf
    ln -sf ${PWD}/containers $HOME/.config/containers
    # podman
    module load ceuadmin/qemu
    pkill podman
    podman system connection list
    podman machine init
    podman machine start
    podman run quay.io/podman/hello
    podman pull docker.io/library/hello-world
    podman run --rm docker.io/library/hello-world
    # additional notes
    podman machine rm podman-machine-default
    podman system connection add --default podman-machine-default ssh://core@127.0.0.1:39137/run/user/10024/podman/podman.sock
    

  63. alpine

    Module ceuadmin/alpine/2.26-icelake compiled using gcc/11.2.0/gcc/rjvgspag

  64. qemu

    This is done as follows,

    export prefix=$CEUADMIN/qemu/
    export ENV_DIR=$prefix/venv
    mkdir build && cd build
    module load python/3.8.11/gcc/pqdmnzmw
    python -m venv --system-site-packages ${ENV_DIR}
    source $prefix/venv/bin/activate
    pip install --prefix=${ENV_DIR} sphinx
    pip install --prefix=${ENV_DIR} sphinx_rtd_theme==1.1.1
    pip install --prefix=${ENV_DIR} ninja
    wget -qO- https://download.qemu.org/qemu-9.0.1.tar.xz | \
    tar vxJf -
    cd qemu-9.0.1
    module load ncurses/6.2/gcc/givuz2aq libidn2/2.3.0/gcc/ph36ygoa 
    module load gettext/0.21/gcc/qnrcglqo
    module load ceuadmin/gnutls/3.8.4-icelake ceuadmin/nettle/3.9-icelake ceuadmin/krb5/1.21.2-icelake
    export gettext=/usr/local/software/spack/spack-views/rhel8-icelake-20211027_2/gettext-0.21/gcc-11.2.0/qnrcglqov5au2zv56tumhhf4n6mds34n
    ../configure --prefix=$prefix/9.0.1\
                 --target-list=x86_64-softmmu \
                 --extra-ldflags="-L4gettext -lintl" \
                 --extra-cflags="-I$gettext/include"
    make -j4
    make install
    

    Without the --taget-list option all will be built.

    Examples

    See https://github.com/guillem-riera/podman-machine-x86_64

    export EXTRA_ARGS=${EXTRA_ARGS:-$@}
    ## Fedora CoreOS image for x86_64 (QEMU)
    export PODMAN_X86_64_MACHINE_NAME=${PODMAN_X86_64_MACHINE_NAME:-x86_64}
    export PODMAN_X86_64_MACHINE_NAME_EXISTS=$(podman machine list | grep ${PODMAN_X86_64_MACHINE_NAME} | wc -l | tr -d '[:space:]')
    export PODMAN_QEMU_IMAGE="fedora-coreos-39.20231101.3.0-qemu.x86_64.qcow2.xz"
    export DOWNLOAD_DIR=${DOWNLOAD_DIR:-.}
    if [ ${PODMAN_X86_64_MACHINE_NAME_EXISTS} -lt 1 ]; then
        curl -C- -O "https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/39.20231101.3.0/x86_64/${PODMAN_QEMU_IMAGE}"
        podman machine init --image ${DOWNLOAD_DIR}/${PODMAN_QEMU_IMAGE} ${PODMAN_X86_64_MACHINE_NAME} ${EXTRA_ARGS}
    else
        echo "[Info] Machine ${PODMAN_X86_64_MACHINE_NAME} already exists. If you want to recreate it, run 'podman machine rm ${PODMAN_X86_64_MACHINE_NAME}'"
    fi
    podman machine list
    lsmod
    ## TCG (Tiny Code Generator)
    xz -d ${PODMAN_QEMU_IMAGE}
    qemu-system-x86_64 -m 2048 -cpu qemu64 -smp 2 -drive file=fedora-coreos-39.20231101.3.0-qemu.x86_64.qcow2,format=qcow2 -accel tcg
    ## Change machine settings
    ### Get the machine config file name
    machineConfigFile="$(podman machine inspect ${PODMAN_X86_64_MACHINE_NAME} | jq -r '.[].ConfigPath.Path')"
    ### https://docs.openstack.org/image-guide/obtain-images.html
    wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
    qemu-system-x86_64 -m 2048 -cpu qemu64 -smp 2 -drive file=noble-server-cloudimg-amd64.img,format=qcow2 -accel tcg
    ### No GUI
    qemu-system-x86_64 -m 2048 -cpu qemu64 -smp 2 -drive file=fedora-coreos-39.20231101.3.0-qemu.x86_64.qcow2,format=qcow2,cache=writeback -nographic
    

    where format=raw appears considerably faster but can make the image less flexible (e.g., no snapshots). 

  65. hivex

    wget -qO- https://download.libguestfs.org/hivex/hivex-1.3.23.tar.gz | tar xfz -
    cd hivex-1.3.23
    module load ceuadmin/ocaml/4.14.2
    module load ceuadmin/ruby/2.7.5
    export PERLB5LIB=
    autoreconf -i --force
    ./generator/generator.ml
    ./configure --prefix=$CEUADMIN/hivex/1.3.23
    make
    cd perl
    perl Makefile.PL INSTALLDIRS=site INSTALL_BASE=/usr/local/Cluster-Apps/ceuadmin/hivex/1.3.23
    cd ..
    make
    make install
    

    The release version has hivex.h but GitHub releases doesn't; however since ocaml is available it can be generated from generator/generator.ml.. The INSTALL_PREFIX is replaced with INSTALL_BASE. Moreover, ocaml, Perl and ruby are enabled. Due to permission issue, Python binding is not enabled.

    /usr/bin/install: cannot create regular file '/usr/local/software/spack/spack-views/._rhel8-icelake-20211027_2/uxqqj4xcjrltatqgtuoi2hp46uabtzom/python-3.8.11/gcc-11.2.0/pqdmnzmwkrtp4e3gjibmcxho7g6ekpat/lib/python3.8/site-packages/libhivexmod.cpython-38-x86_64-linux-gnu.so': Permission denied
    

  66. findlib

    wget -qO- http://download.camlcity.org/download/findlib-1.9.6.tar.gz | tar xfz -
    cd findlib-1.9.6
    configure -bindir $CEUADMIN/findlib/1.9.6/bin -mandir $CEUADMIN/findlib/1.9.6/man
    make
    make install
    

  67. opam

    opam init
    opam switch list
    opam switch list-available
    opam switch create ocaml-4.14
    opam install -y hivex --destdir $CEUADMIN/hivex/1.3.23
    

  68. libguestfs

    wget -qO- https://download.libguestfs.org/1.52-stable/libguestfs-1.52.2.tar.gz | tar xfz -
    cd libguestfs-1.52.2
    ./configure --prefix=$CEUADMIN/libguestfs/1.48.6 \
                --with-extra="findlib=$CEUADMIN/findlib/1.9.6" \
                --with-extra="hivex=$CEUADMIN/hivex/1.3.23"
    

    It appears export LIBGUESTFS_BACKEND=direct is working. 

  69. MS-GF+

    A test.sh using examples from the source (msgfplus-2024.03.26.tar.gz – assuming it has bene untarred into src/),

    ln -s src/src/test/resources test
    java -Xmx4000M -jar MSGFPlus.jar -s test/test.mgf -o test/test.mzid \
         -d test/BSA.fasta -t 10ppm -m 0 -inst 1 -e 1 -ti -1,2 -ntt 1 -tda 1 -minLength 6 \
         -maxLength 50 -n 1 -thread 7 -mod test/Mods.txt
    java -Xmx4000M -jar MSGFPlus.jar -s test/test.mgf -o test/test.mzid \
         -d  test/BSA.fasta -conf test/MSGFDB_Param.txt
    

  70. FragPipe

    It does require Java 11, MSFragger 4.1, Python 3.9, and EasyPQp; to get around we use openjdk/11.0.12_7/gcc/czpuqhmv, ceuadmin/MSFragger/4.1, ceuadmin/Anaconda3/2023.09-0.

    source /usr/local/Cluster-Apps/ceuadmin/Anaconda3/2023.09-0/bin/activate
    pip install git+https://github.com/grosenberger/easypqp.git@master
    

    IonQuant 1.10.27 is installed similarly. In fact, it is is straightforwad to select Download Update from the menu, so IonQuant-1.10.27.jar, /MSFragger-4.1/, and diaTracer-1.1.5.jar are available from the tools/ directory. 

  71. curl

    wget -qO- wget https://curl.se/download/curl-7.85.0.tar.gz | \
    tar xfz -
    cd curl-7.85.0/
    module load ceuadmin/openssl/3.2.1
    configure --prefix=$CEUADMIN/curl/7.85.0 --with-openssl
    make
    make install
    

  72. libjpeg-turbo

    wget -qO- https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.4.tar.gz | \
    tar xvfz -
    cd libjpeg-turbo-3.0.4/
    mkdir build
    cd build
    cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$CEUADMIN/libjpeg-turbo/3.0.4 ..
    make
    make install
    

  73. libgeotiff

    module load ceuadmin/autoconf/2.72c.24-8e728
    module load ceuadmin/proj/7.2.1
    module load ceuadmin/libjpeg-turbo/3.0.4
    module load zlib/1.2.11
    wget -qO- https://github.com/OSGeo/libgeotiff/archive/refs/tags/1.7.3.tar.gz | \
    tar xvfz -
    cd libgeotiff-1.7.3/
    cd libgeotiff
    autoupdate
    autogen.sh
    configure --prefix=$CEUADMIN/libgeotiff/1.7.3 \
              --with-jpeg=$CEUADMIN/libjpeg-turbo/3.0.4 \
              --with-libtiff=$CEUADMIN/tiff/4.6.0 \
              --with-proj=$CEUADMIN/proj/7.2.1 \
              --with-zlib=/usr/local/Cluster-Apps/zlib/1.2.11
    make -j3
    make check
    make install
    

  74. gdal 3.7.0

    Web: https://gdal.org/en/latest/development/building_from_source.html

    wget -qO- https://github.com/OSGeo/gdal/releases/download/v3.7.0/gdal-3.7.0.tar.gz | \
    tar xvfz -
    cd gdal-3.7.0
    mkdir build && cd build
    
    module load ceuadmin/curl/7.85.0
    module load ceuadmin/libiconv/1.17
    module load ceuadmin/libarchive/3.7.5
    module load ceuadmin/libgeotiff/1.7.3
    module load ceuadmin/libjpeg-turbo/3.0.4
    module load ceuadmin/libpng/1.5.30
    module load ceuadmin/openssl/3.2.1
    module load ceuadmin/poppler/0.84.0
    module load ceuadmin/tiff/4.6.0
    
    cmake -DGDAL_ENABLE_CURL=ON \
          -DGDAL_ENABLE_OGR=ON \
          -DGDAL_ENABLE_LIBARCHIVE=ON \
          -DGDAL_ENABLE_OPENSSL=ON \
          -DCMAKE_INSTALL_PREFIX=$CEUADMIN/gdal/3.7.0 \
          -DCURL_INCLUDE_DIR=$CEUADMIN/curl/7.85.0/include \
          -DCURL_LIBRARY_RELEASE=$CEUADMIN/curl/7.85.0/lib/libcurl.so \
          -DGEOTIFF_INCLUDE_DIR=$CEUADMIN/libgeotiff/1.7.3/include \
          -DGEOTIFF_LIBRARY_RELEASE=$CEUADMIN/libgeotiff/1.7.3/lib/libgeotiff.so \
          -DARCHIVE_INCLUDE_DIR=$CEUADMIN/libarchive/3.7.5/include \
          -DARCHIVE_LIBRARY=$CEUADMIN/libarchive/3.7.5/lib/libarchive.so \
          -DCRYPTOPP_INCLUDE_DIR=$CEUADMIN/cryptopp/8.9.0/include \
          -DCRYPTOPP_LIBRARY_RELEASE=$CEUADMIN/cryptopp/8.9.0/lib/libcryptopp.so \
          -DIconv_INCLUDE_DIR=$CEUADMIN/libiconv/1.17/include \
          -DIconv_LIBRARY=$CEUADMIN/libiconv/1.17/lib/libiconv.so \
          -DJPEG_INCLUDE_DIR=$CEUADMIN/libjpeg-turbo/3.0.4/include \
          -DJPEG_LIBRARY_RELEASE=$CEUADMIN/libjpeg-turbo/3.0.4/lib64/libjpeg.so \
          -DOPENSSL_INCLUDE_DIR=$CEUADMIN/openssl/3.2.1/include \
          -DOPENSSL_CRYPTO_LIBRARY=$CEUADMIN/openssl/3.2.1/lib/libcrypto.so \
          -DOPENSSL_SSL_LIBRARY=$CEUADMIN/openssl/3.2.1/lib/libssl.so \
          -DPNG_PNG_INCLUDE_DIR=$CEUADMIN/libpng/1.5.30/include \
          -DPNG_LIBRARY_RELEAS=$CEUADMIN/libpng/1.5.30/lib \
          -DPoppler_INCLUDE_DIR=$CEUADMIN//poppler/0.84.0/include \
          -DPoppler_LIBRARY=$CEUADMIN/poppler/0.84.0/lib64/libpoppler.so \
          -DPROJ_LIBRARY=$CEUADMIN/proj/7.2.1/lib/libproj.so \
          -DPROJ_INCLUDE_DIR=$CEUADMIN/proj/7.2.1/include \
          -DTIFF_LIBRARY=$CEUADMIN/tiff/4.6.0/lib/libtiff.so \
          -DTIFF_INCLUDE_DIR=$CEUADMIN/tiff/4.6.0/include \
          ..
    make
    module load ceuadmin/Anaconda3/2023.09-0
    pip install rasterio
    pip install geopandas
    pip install gdal==3.7.0
    

    where pip install gdal uses libgdal.so just built. 

  75. inetutils

    This is already in the list of decommissioned GNU packages, https://www.gnu.org/software/software.en.html; nevertheless finger is still useful from Fedora 28. 

  76. node

    This is in accordance with the GNU software,

    wget -qO- https://github.com/nodejs/node/archive/refs/tags/v18.20.5.tar.gz | \
    tar xvfz -
    cd node-18.20.5
    ./configure --prefix=$CEUADMIN/node/18.20.5
    make
    

    The location can be made aware in ${HOME}/.npmrc in which

    prefix=${CEUADMIN}/node/18.20.5
    

    where one can proceed with npm install -g @marp-team/marp-cli. Alternatively, one can do the following,

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
    rm -rf ~/.npm
    nvm install 18
    nvm use 18
    source ~/.bashrc
    nvm use --delete-prefix v18.20.6
    node -v
    npm -v
    npm install -g @marp-team/marp-cli puppeteer-core puppeteer
    npm list -g @marp-team/marp-cli
    npm cache clean --force
    

    and one can see the definition export NVM_DIR="$HOME/.nvm". The latest version is made available with,

    nvm install --lts
    nvm use --lts
    marp gaaw2.md
    

    Example use,

    const puppeteer = require('/home/jhz22/.nvm/versions/node/v22.13.1/lib/node_modules/puppeteer');
    (async () => {
      try {
        const browser = await puppeteer.launch({
          executablePath: process.env.PUPPETEER_EXECUTABLE_PATH,
          headless: 'new',
          args: ['--no-sandbox', '--user-data-dir=/tmp']
        });
        const page = await browser.newPage();
        await page.goto('https://www.google.com');
        await page.screenshot({ path: 'example.png' });
        console.log('Screenshot saved to example.png');
        await browser.close();
      } catch (error) {
        console.error('Error launching Puppeteer:', error);
      }
    })();
    

    Analogy can be made with npm,

    cd ~
    curl -L https://www.npmjs.com/install.sh | sh
    

    The NODE_PATH variable is output from running readlink -f ../lib/node_modules at the bin/ directory.

    The useful codedown module can be made available as follows,

    module load ceuadmin/node
    npm install -g codedown
    

    We see that

    added 8 packages in 5s
    npm notice
    npm notice New major version of npm available! 10.8.2 -> 11.1.0
    npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.1.0
    npm notice To update run: npm install -g npm@11.1.0
    npm notice
    

    As suggesteed, we issue npm install -g npm@11.1.0 to see

    removed 8 packages, and changed 100 packages in 19s
    
    24 packages are looking for funding
      run `npm fund` for details
    

    We can extract Python code as cat DeepSeek.md | codedown python

  77. chrome

    wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    rpm2cpio google-chrome-stable_current_x86_64.rpm | cpio -idmv
    

  78. brotli

    There appears to be CMake-based, an overhaul of 1.0.9 as used for building RStudio earlier.

    wget -qO- https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz | \
    tar xfz -
    cd brotli-1.1.0
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=${CEUADMIN}/brotli/1.1.0 ..
    make
    make install
    

    As it is used for building R 4.4.2-gcc11, it also does away with gcc/6 and miniconda3/4.5.1. 

  79. rust

    This is upgraded from 1.74.1 with rustup default stable at suggestion of gmake when compiling firefox/nightly. To avoid duplication, a symbolic link is generated on /usr/local/Cluster-Apps/ceuadmin/rust/1.74.1/cargo as ${HOME}/.cargo. Naturally, both cargo and rustc use the directory above. 

  80. git/2.48.1

    Now it has a separate entry in the Applications section, https://cambridge-ceu.github.io/csd3/applications/git.html

  81. libgcrypto

    wget -qO- https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.5.3.tar.bz2 | x
    tar xjf -
    mv libgcrypt-1.5.3/ src
    cd src
    ./configure --prefix=$CEUADMIN/libgcrypt/1.5.3
    make
    make install
    

  82. texinfo

    wget -qO- https://ftp.gnu.org/gnu/texinfo/texinfo-7.2.tar.xz | \
    tar Jxf -
    mv texinfo-7.2/ src
    cd src
    make && make install
    

  83. ollama

    It is rather standard,

    curl -L https://ollama.com/download/ollama-linux-amd64.tgz | \
    tar xvfz -
    ollama --help
    ollama serve &
    ollama list
    

    Note that ollama serve command procedes ollama list for available models, and the --help option will list environment variables such as OLLAMA_HOST (default 127.0.0.1:11434). 

  84. tesseract

    module load ceuadmin/leptonica/1.85.0
    module load ceuadmin/libgcrypt
    module load ceuadmin/autoconf
    wget -qO- https://github.com/tesseract-ocr/tesseract/archive/refs/tags/5.5.0.tar.gz | \
    tar xvfz -
    cd tesseract-5.5.0/
    ./autogen.sh
    ./configure --prefix=$CEUADMIN/tesseract/5.5.0 CXXFLAGS="-std=c++17" LDFLAGS="-lstdc++fs"
    make && make install
    

    It is necessary to set up the languages,

    wget -qO- https://github.com/tesseract-ocr/tessdata_best/archive/refs/tags/4.1.0.tar.gz | \
    tar xvfz -
    export TESSDATA_PREFIX="/usr/local/Cluster-Apps/ceuadmin/tesseract/5.5.0/share/tessdata_best-4.1.0"
    tesseract --list-langs
    tesseract lang.jpeg lang -l eng
    

    where the last line extract text from lang.jpeg into lang.txt.

    Note further that Chrome/Edge/Firefox extension OCR Image Reader calls tesseract.js 

  85. apidog

    wget https://file-assets.apidog.com/download/Apidog-linux-latest.zip
    unzip  Apidog-linux-latest.zip
    ./Apidog.AppImage  --appimage-extract
    ./apidog --no-sandbox --help
    

  86. Anaconda3

    We start with

    https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
    PREFIX=/usr/local/Cluster-Apps/ceuadmin/Anaconda3/2024.10-1
    conda config --set auto_activate_base false
    

    Due to its complex environment, it is prohibitive to furnish any installation therefore preferable to create new environment from this.

    source /rds/project/rds-4o5vpvAowP0/software/Anaconda3-2024.10-1/bin/activate
    conda create --name new_env python=3.9
    conda activate new_env
    conda config --add channels defaults
    conda config --add channels bioconda
    conda config --add channels conda-forge
    conda install -c openms pyopenms --yes
    

  87. micromamba

    Web: https://mamba.readthedocs.io/en/latest/index.html

    export dst=/rds/project/rds-4o5vpvAowP0/software/micromamba/2.0.7
    mkdir -p $dst && cd $dst
    curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | \
    tar -xvj bin/micromamba
    export MAMBA_ROOT_PREFIX=$dst
    eval "$(./bin/micromamba shell hook -s posix)"
    micromamba activate
    micromamba install python=3.13 jupyter -c conda-forge
    export MAMBA_ROOT_PREFIX=$CEUADMIN/micromamba/2.0.7
    mkdir $CEUADMIN/micromamba
    ln -sf $dst $CEUADMIN/micromamba/2.0.7
    # current shell
    eval "$(micromamba shell hook --shell bash)"
    micromamba activate
    micromamba deactivate
    

    Note that to save space, a symbolic link is created from the project space. The usual environment creation also works,

    micromamba create -n micromamba xtensor -c conda-forge
    micromamba activate micromamba
    micromamba config append channels conda-forge
    micromamba config set channel_priority strict
    

  88. DIA-NN 2.0.2

    GitHub, https://github.com/vdemichev/DiaNN

    We see

    ./diann
    ./diann: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./diann)
    ./diann: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./diann)
    ./diann: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./diann)
    ./diann: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by ./diann)
    

    and resort to singularity with diann-2.0.2.def

    singularity build diann.sif diann.def
    singularity run diann.sif --fasta /path/to/human_proteome.fasta --dir /path/to/data/ --out output.txt
    

  89. firefox/60.5.1-1.el7

    This is actually the only version (from shub://nuitrcs/singularity-firefox) which works on CSD3. 

  90. llama.cpp

    GitHub: https://github.com/ggml-org/llama.cpp

    # Initially, we build from GitHub
    git clone https://github.com/ggerganov/llama.cpp.git
    cd llama.cpp
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=$CEUADMIN/llama.cpp/b4991 ..
    make && make install
    # It is recommended to build from release to avoid possible intermediate updates
    wget -qO- https://github.com/ggml-org/llama.cpp/archive/refs/tags/b5303.tar.gz | tar xvfz -
    cd llama.cpp-b5303/
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=$CEUADMIN/llama.cpp/b5303 ..
    make && make install
    

    An example with /DeepSeek-V3-0324,

    wget https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF/resolve/main/UD-IQ2_XXS/DeepSeek-V3-0324-UD-IQ2_XXS-00001-of-00005.gguf
    wget https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF/resolve/main/UD-IQ2_XXS/DeepSeek-V3-0324-UD-IQ2_XXS-00002-of-00005.gguf
    wget https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF/resolve/main/UD-IQ2_XXS/DeepSeek-V3-0324-UD-IQ2_XXS-00003-of-00005.gguf
    wget https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF/resolve/main/UD-IQ2_XXS/DeepSeek-V3-0324-UD-IQ2_XXS-00004-of-00005.gguf
    wget https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF/resolve/main/UD-IQ2_XXS/DeepSeek-V3-0324-UD-IQ2_XXS-00005-of-00005.gguf
    module load ceuadmin/llama.cpp
    llama-gguf-split --merge DeepSeek-V3-0324-UD-IQ2_XXS-00001-of-00005.gguf DeepSeek-V3-0324-UD-IQ2_XXS.gguf
    

    We have a considerable faster session, llama-run vicuna,

    why the sky is blue

    The sky appears blue because the Earth's atmosphere scatters sunlight in all directions and blue light is scattered more than other colors because it travels as shorter, smaller waves. The blue light is scattered in all directions, which makes it appear as if it's coming from all around the sky, giving the impression of a blue dome.

    write an essay on precision medicine

    Precision medicine is an approach to healthcare that tailors medical treatment to an individual's unique genetic, lifestyle, and environmental factors. It involves using advanced technologies, such as genomics and personalized medicine, to develop highly targeted therapies that can improve treatment outcomes and reduce side effects.

    One of the key principles of precision medicine is the use of genomics, which involves analyzing an individual's genetic makeup to identify genetic mutations or variations that may be driving a disease or condition. By understanding an individual's genetic profile, doctors can develop targeted therapies that are designed to specifically target the underlying cause of the disease.

    Another important aspect of precision medicine is the use of personalized medicine, which involves tailoring treatment to an individual's specific needs and preferences. This can include factors such as lifestyle habits, environmental factors, and patient-reported outcomes. By taking into account all of these factors, doctors can develop a personalized treatment plan that is tailored to the individual's unique needs.

    Precision medicine has the potential to revolutionize healthcare by improving treatment outcomes and reducing side effects. It has already been used to develop highly effective targeted therapies for a range of diseases, including cancer, heart disease, and diabetes. In the future, precision medicine has the potential to be used to develop personalized medications, which could be tailored to an individual's specific needs and could be taken orally, rather than through invasive procedures such as injections.

    In conclusion, precision medicine is an approach to healthcare that involves using advanced technologies to develop highly targeted therapies that can improve treatment outcomes and reduce side effects. It has the potential to revolutionize healthcare by improving treatment outcomes and reducing side effects, and could be used to develop personalized medications in the future.


    This is from llama-run deepseek-r1, precision-medicine-deepseek-r1.md

  91. InstaNovo

    Web: https://github.com/instadeepai/InstaNovo

    The installation is standard.

    module load python/3.11.0-icl
    python -m venv InstaNovo
    source InstaNovo/bin/activate
    pip install "instanovo"
    instanovo version
    instanovo predict --data-path=sample_data/*mgf --output-path=sample_data/spectra.csv
    

    The versioning for GPU from instanovo version is as follows.

    ┏━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
    ┃ Package    ┃ Version     ┃
    ┡━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
    │ InstaNovo  │ 1.1.1       │
    │ InstaNovo+ │ 1.1.1       │
    │ NumPy      │ 2.0.2       │
    │ PyTorch    │ 2.6.0+cu124 │
    │ Lightning  │ 2.5.1       │
    └────────────┴─────────────┘
    

    The last line uses the toy data provided, downloading instanovoplus-v1.1.0-alpha.ckpt and instanovo-v1.1.0.ckpt to ~/.cache/instanovo.

    We reuse tensorflow/35 which contains Python 3.11 and InstaNovo 1.1.1,

    singularity exec tensorflow/ /usr/local/bin/instanovo version
    singularity exec tensorflow/ /usr/local/bin/instanovo predict --data-path=InstaNovo/src/sample_data/*.mgf --output-path=spectra.csv
    singularity build instanovo-1.1.1.sif tensorflow/
    singularity run instanovo-1.1.1.sif /usr/local/bin/instanovo predict --data-path=sample_data/*mgf --output-path=new.csv
    

    which gives the same versioning information and uses GPU.

    The CPU version is furnished with CPU-specific PyTorch via uv, designed for development,

    git clone https://github.com/instadeepai/InstaNovo.git
    cd InstaNovo
    module load ceuadmin/uv/0.6.14
    uv sync --extra cpu
    uv run pre-commit install
    source .venv/bin/activate
    instanovo predict --data-path=sample_data/*mgf --output-path=spectrum.csv
    

    giving spectrum.csv

    scan_number,precursor_mz,precursor_charge,experiment_name,spectrum_id,diffusion_predictions_tokenised,diffusion_predictions,diffusion_log_probabilities,transformer_predictions,transformer_predictions_tokenised,transformer_log_probabilities,transformer_token_log_probabilities
    0,451.25348,2,spectra,spectra:0,"['Y', 'A', 'H', 'Y', 'K', 'R']",YAHYKR,-0.05671021342277527,LAHYNKR,"L, A, H, Y, N, K, R",-1.7666722536087036,"[-0.030482856556773186, -0.001450797077268362, -5.352353764465079e-05, -0.0014650813536718488, -0.022426443174481392, -0.5744566917419434, -0.25638389587402344]"
    

  92. scGPT

    GitHub: https://github.com/bowang-lab/scGPT

    The procedures are posted on scGPT site, https://github.com/bowang-lab/scGPT/issues/306.

    The installation is done as follows (scGPT.sh with additional verification inside Python),

    module load python/3.11.0-icl
    python -m venv scGPT-models
    source scGPT-models/bin/activate
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
    pip install packaging
    pip install ipykernel
    pip install scgpt flash-attn==1.0.4
    pip uninstall numpy -y
    pip install numpy==1.25.2
    pip install scvi-tools==0.20.3 anndata==0.9.2 scanpy==1.9.3
    pip install wandb
    pip install faiss-cpu
    pip install nbformat
    pip list | awk '/scanpy|scib|scvi|scgpt|flash-attn|torch|wandb/'
    

    As it happens, numpy 2.1.2 causes issues with scvi-tools and a compatible one is chosen.

    flash-attn              1.0.4
    pytorch-lightning       1.9.5
    scanpy                  1.9.3
    scgpt                   0.2.4
    scib                    1.1.7
    scvi-tools              0.20.3
    torch                   2.0.1+cu117
    torchaudio              2.0.2+cu117
    torchdata               0.6.1
    torchmetrics            1.7.0
    torchtext               0.15.2
    torchvision             0.15.2+cu117
    wandb                   0.19.9
    

    A separate attempt to use a released version is made but appears to have issues with anndata and mudata, which is resolved by mirroring modules (mudata==0.2.3 and anndata==0.9.2) and the trick for torch, etc. as above.

    module load python/3.9.12/gcc/pdcqf4o5
    python -m venv scGPT-release
    source scGPT-release/bin/activate
    wget -qO- https://github.com/bowang-lab/scGPT/archive/refs/tags/v0.2.4.tar.gz | tar xvfz -
    cd scGPT-0.2.4/
    pip install -e .
    pip install ipykernel
    pip install gseapy
    pip install torch.geometric
    pip install einops
    pip list
    pip uninstall torch -y
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
    pip install flash-attn==1.0.4
    pip uninstall numpy -y
    pip install numpy==1.25.2
    pip install wandb
    pip install iprogress
    pip install nbformat
    pip list | awk '/scanpy|scib|scvi|scgpt|flash-attn|torch|wandb/'
    

    giving

    flash-attn               1.0.4
    pytorch-lightning        1.9.5
    scanpy                   1.10.3
    scib                     1.1.7
    scvi-tools               0.20.3
    torch                    2.0.1+cu117
    torch-geometric          2.6.1
    torchaudio               2.0.2+cu117
    torchmetrics             1.7.1
    torchvision              0.15.2+cu117
    wandb                    0.19.9
    

  93. scanpy

    GitHub: https://github.com/scverse/scanpy

    This is a side-product of scGPT (the GitHub installation above). We intend to run tutorials tutorial_pearson_residuals.ipynb as in https://github.com/scverse/scanpy-tutorials but gets error, so we set for an update of 1.11.1.

    pip uninstall scanpy -y
    pip install scanpy
    pip list | grep scanpy
    

    It turns out it does not introduce any conflicts. For this tutorial we additionally have tqdm 4.67.1 and iprogress 1.17.0. 

  94. DrugAssist

    GitHub: https://github.com/blazerye/DrugAssist

    HuggingFace model, https://huggingface.co/blazerye/DrugAssist-7B

    module load python/3.9.12/gcc/pdcqf4o5
    python -m venv drugassist
    source drugassist/bin/activate
    pip install --upgrade pip
    git clone https://github.com/blazerye/DrugAssist.git
    cd DrugAssist
    pip install packaging
    pip install torch==2.0.1
    pip install scipy==1.8.0
    sed -i '/torch/d;s/^scipy==.*$/scipy==1.8.0/' requirements.txt
    pip install -r requirements.txt
    huggingface-cli login
    
    export HF_DATASETS_CACHE=~/.cache/huggingface/datasets/
    python <<END
    from datasets import load_dataset
    
    # Login using e.g. `huggingface-cli login` to access this dataset
    ds = load_dataset("blazerye/MolOpt-Instructions")
    END
    
    # It only supports GPUs
    sh run_sft_lora.sh
    

    Note that the original requirements.txt uses scipy==1.4.1 but with issues. 

  95. uv

    Web, https://docs.astral.sh/uv/

    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    extracts uv/uvx to $HOME/.local/bin and adds . "$HOME/.local/bin/env" to $HOME/.bashrc but we might as well customise. 

  96. BitNet

    GitHub, https://github.com/microsoft/BitNet

    git clone --recursive https://github.com/microsoft/BitNet.git b1.58-2B-4T
    cd b1.58-2B-4T/
    module load python/3.9.12/gcc/pdcqf4o5
    python -m venv BitNet
    source BitNet/bin/activate
    pip install -r requirements.txt
    huggingface-cli download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir models/BitNet-b1.58-2B-4T
    python setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s
    python run_inference.py -m models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf -p "You are a helpful assistant" -cnv
    

    The last line allows for prompt engineering,

    > why the sky is blue
    
    The sky appears blue due to a phenomenon called Rayleigh scattering. This effect occurs when sunlight, which appears white, passes through Earth's atmosphere and interacts with molecules and small particles in the air.
    
    Sunlight is made up of many different wavelengths of light, each with its own specific color. Blue light has a shorter wavelength than red light. When sunlight enters the Earth's atmosphere, it collides with these molecules and small particles. The shorter blue light waves are scattered in all directions by the molecules and particles much more than the longer red light waves. This scattering of shorter wavelengths is
    
    > what is the result of 10 + 45
    
    The result of 10 + 45 is 55.
    

    The module is much simplier to use, however,

    module load ceuadmin/BitNet
    run_inference -p "In this chapter, we'll discuss first steps with generative AI in Python."
    run_inference -p "Write an essay about precision medicine" -n 900 -t 8
    run_inference -p "Why the sky is blue" -n 900 -t 1
    

    We have the first output as follows,


    In this chapter, we'll discuss first steps with generative AI in Python. You will learn how to create and train a simple AI model using PyTorch, a deep learning library. This is a basic introduction to the topic and will not cover advanced topics. If you're new to machine learning, you might want to start with more basic tutorials. But, if you're interested in learning more about generative AI, this chapter will give you a good foundation.

    1. Introduction

    Generative AI refers to a class of AI systems that generate new data. These systems can produce text, images, audio, and more. They can be used in various applications, such as content creation, data augmentation,


    We then have the essay precision-medicine.md and an updated answer why-the-sky-is-blue.md. The usage is also quoted here,

    usage: run_inference.py [-h] [-m MODEL] [-n N_PREDICT] -p PROMPT [-t THREADS] [-c CTX_SIZE] [-temp TEMPERATURE] [-cnv]
    
    Run inference
    
    optional arguments:
     -h, --help           show this help message and exit
     -m MODEL, --model MODEL
                          Path to model file
     -n N_PREDICT, --n-predict N_PREDICT
                          Number of tokens to predict when generating text
     -p PROMPT, --prompt PROMPT
                          Prompt to generate text from
     -t THREADS, --threads THREADS
                          Number of threads to use
     -c CTX_SIZE, --ctx-size CTX_SIZE
                          Size of the prompt context
     -temp TEMPERATURE, --temperature TEMPERATURE
                          Temperature, a hyperparameter that controls the randomness of the generated text
     -cnv, --conversation  Whether to enable chat mode or not (for instruct models.)
                          (When this option is turned on, the prompt specified by -p will be used as the system prompt.)
    

  97. C2S-Scale

    Blog, https://research.google/blog/teaching-machines-the-language-of-biology-scaling-large-language-models-for-next-generation-single-cell-analysis/

    The setup is as usual,

    git clone https://github.com/vandijklab/cell2sentence.git
    cd cell2sentence/
    module load python/3.9.12/gcc/pdcqf4o5
    python -m venv cell2sentence
    source cell2sentence/bin/activate
    make install
    pip install flash-attn==1.0.4 --no-build-isolation
    

    Usage notes on tutorials 1-3, posted at https://github.com/vandijklab/cell2sentence/issues/14:

    1). src/cell2sentence/utils.py, line 280: "r_squared": [r_squared_score.item()], –> "r_squared": [r_squared_score];

       reconstructed_adata = anndata.AnnData(
       X=all_reconstructed_expression_vectors,
       obs=adata.obs.copy(),
       var=adata.var.copy()
       )
       reconstructed_adata
    

    ==>

       from scipy.sparse import csr_matrix
       # Convert csr_array to csr_matrix
       X_converted = csr_matrix(all_reconstructed_expression_vectors)
    
       # Create the AnnData object
       reconstructed_adata = anndata.AnnData(
       X=X_converted,
       obs=adata.obs.copy(),
       var=adata.var.copy()
       )
    

    2). cell_type_prediction_model_path needs to be changed, e.g.,

       # Define CSModel object
       cell_type_prediction_model_path = "vandijklab/C2S-Pythia-410m-cell-type-prediction"
       save_dir = "../C2S_Files_Syed/c2s_api_testing/csmodel_tutorial_2"
       save_name = "cell_embedding_prediction_pythia_410M_1"
       csmodel = cs.CSModel(
           model_name_or_path=cell_type_prediction_model_path,
           save_dir=save_dir,
           save_name=save_name
       )
    

    3). Note that eval_strategy="steps" instead of evaluation_strategy="steps" below,

       train_args = TrainingArguments(
        bf16=True,
        fp16=False,
        per_device_train_batch_size=8,
        per_device_eval_batch_size=8,
        gradient_accumulation_steps=4,
        gradient_checkpointing=False,
        learning_rate=1e-5,
        load_best_model_at_end=True,
        logging_steps=50,
        logging_strategy="steps",
        lr_scheduler_type="cosine",
        num_train_epochs=5, 
        eval_steps=50,
        eval_strategy="steps",
        save_steps=100,
        save_strategy="steps",
        save_total_limit=3,
        warmup_ratio=0.05,
        output_dir=output_dir
      )
    

  98. mozbuild

    The cluster includes cbindgen/0.28.0, clang/19.1.7, dump_syms/2.3.4, nasm/2.16.03, node/18.19.0 and pkg-config/1.8.0 from compiling mozilla Firefox nightly. By default, the directory is $HOME/.mozbuild which could also be symbolic to a designated directory. 

  99. GENIE

    git clone https://github.com/sriramlab/GENIE.git
    cd GENIE
    git checkout v1.1.1
    mkdir 1.1.1 && cd 1.1.1
    cmake ..
    make
    

  100. PGS-CSx

    Web: https://github.com/getian107/PRScsx

    The Python packages numpy and scipy are required, which are conveniently derived from ceuadmin/scGPT, and the documenetation example is used as follows,

    #!/usr/bin/bash
    module load ceuadmin/PGS-CSx
    python ${PGS_CSx_ROOT}/PRScsx.py
           --ref_dir=${LD_UKBB} \
           --bim_prefix=test_data/test \
           --sst_file=test_data/EUR_sumstats.txt,test_data/EAS_sumstats.txt \
           --n_gwas=200000,100000 \
           --pop=EUR,EAS \
           --chrom=22 \
           --phi=1e-2 \
           --out_dir=. \
           --out_name=test
    

    to get test_EAS_pst_eff_a1_b0.5_phi1e-02_chr22.txt and test_EUR_pst_eff_a1_b0.5_phi1e-02_chr22.txt.

    From snpinfo_mult_ukbb_hm3 it is apparent that the software uses GRCh37/hg19 alignment. 

  101. RSEM

    One can directly use Makefile, whose prefix is changed to /usr/local/Cluster-Apps/ceuadmin/RSEM/1.3.3,

    make
    make install
    make clean
    

    The R/EBSeq package is provided but the latest version can be installed with BiocManager::install("EBSeq") from R.