====== Bioapps Container ====== This guide is currently being re-written for the Bioapps 2026.06 release - there are several new features and tools which only exist in that version. The 2026.06 container image is //not yet available for production use// - please continue to use 2025.05 until further notice. This container is intended to collect //most// of the commonly used Bioinformatics software packages used on Rocket and Comet, and provide them in a single, easy to use format, without all of the complexity of many //module load// and //module unload// commands. Jump straight to the Bioapps container software lists: * [[#individual_software_help|Main software packages included]] * [[#python_modules|Python modules]] * [[#r_libraries|R libraries]] ---- ===== Why A Container? ===== With almost limitless combinations of bioinformatics tools that can be used together it is very difficult to ensure that any given set of software modules which have been provisioned on Comet can be used alongside any other set of modules. Multiple versions of Python, C compilers and runtimes, and dependencies mean that almost every single unique set of software which is intended to be used together needs to be validated and tested to make sure that no modules conflict - ''bwa'' may need version **X** of a runtime, but ''samtools'' could require version **Y** of the //same// runtime, and therefore it is impossible (or at least strongly inadvisable due to unpredictable behaviour in such a scenario) to use both tools in the same pipeline at once. As more and more modules are added, this becomes a //combinatorial explosion// of software and versions problem… which some of our users have already experienced. By building all of the common bioinformatics tools in one container, with //one// C compiler, //one// version of Python, and //one// set of their dependencies we can guarantee that this set of software will work without conflicting with each other - and the unknown side affects of such version conflicts. It also means we can use one set of tools on a local workstation or HPC without changing our workflow. ---- ===== Running on Comet ===== The Bioapps container is stored in the ''/nobackup/shared/containers'' directory and is accessible to __all__ users of Comet. You do //not// need to take a copy of the container file; it should be left in its original location. You can find the container files here: * ''/nobackup/shared/containers/bioapps.2026.05.sif'' * ''/nobackup/shared/containers/bioapps.2026.04.sif'' * ''/nobackup/shared/containers/bioapps.2026.03.sif'' * ''/nobackup/shared/containers/bioapps.2026.02.sif'' We //normally// recommend using the latest (date) version of the container unless you have a specific need for an earlier version of software. Changes in software versions are listed in the table below. **Container Image Versions** We //may// reference a specific container file, such as **bioapps.2026.05.sif**, but you should always check whether this is the most recent version of the container available. Simply ''ls'' the ''/nobackup/shared/containers'' directory and you will be able to see if there are any newer versions listed. We have provided a convenience script that will automate **all** of steps needed to run applications inside the container, and access your ''$HOME'', ''/scratch'' and ''/nobackup'' directories to just two simple commands. * ''/nobackup/shared/containers/bioapps.2026.05.sh'' There is a corresponding ''.sh'' script for //each version// of the container image we make available. Just ''source'' this file and it will take care of loading ''apptainer'', setting up your ''bind'' directories and calling the ''exec'' command for you - and give you a single command called ''container.run'' (instead of the really long //apptainer exec// command) to then //run// anything you want inside the container, for example - to run ''bowtie2'': $ source /nobackup/shared/containers/bioapps.2026.05.sh $ container.run bowtie2 -U /nobackup/proj/my_project/fastq_data/file1.fq You can continue to use the ''container.run'' command as many times as you need in the same script or same bash session: $ source /nobackup/shared/containers/bioapps.2026.05.sh $ container.run bowtie2 -U /nobackup/proj/my_project/fastq_data/file1.fq $ container.run samtools $ container.run bwameth $ container.run hisat2 --version $ container.run python3 $ container.run R $ container.run convert3d ... etc We **strongly** recommend that you use this helper script and the ''container.run'' command to run software from inside the container as it will always ensure that you have correctly set up the ''bind'' directories for you and you are using the correct container version. ---- ===== Running graphical tools on Comet ===== A small number of tools within the Bioapps container make use of graphical output - further details will be added here. ---- ===== Accessing Data ===== As long as you use the ''container.run'' method to launch the applications, you will automatically be able to read and write to files in your ''$HOME'', ''/scratch'' and ''/nobackup'' directories. If you run any of the applications inside the container manually, without using the ''container.run'' helper you will need to use the ''--bind'' argument to ''apptainer'' to ensure that all relevant directories are exposed within the container. Do remember that the container filesystem itself cannot be changed - so you won't be able to write or update to ''/usr/local'', ''/opt'', ''/etc'' or any other internal folders - keep output directories restricted to the three areas listed above. ---- ===== Application Databases & Data Files ===== The databases listed in this section are only available from the Bioapps 2026.06 release onwards. The following databases / data files are //already// available on Comet and are __automatically__ linked/configured to be used by the software in this container. They can also be used //outside// of the container by referencing the ''Location on Comet'' path. You **should not** attempt to download duplicates of these data sets either into your ''$HOME'' area, or to your project areas under ''/nobackup''. If an update to a data set is needed, please [[contact:index|contact us]]. ^ Database ^ Size (GB) ^ Location inside container ^ Location on Comet ^ Notes ^ | [[https://ftp.ncbi.nlm.nih.gov/blast/documents/blastdb.html|NCBI Blast+]] | 3800+ | ''/opt/blast/db'' | ''/nobackup/shared/data/blastplus'' | This is the //full// set of NCBI Blast+ databases (**June 2026**) installed using:\\ ''update_blastdb.pl --decompress NAME'' | | [[https://doi.org/10.1371/journal.pbio.3001421|Phylign]] | 92 | ''/opt/phylign/cobs''\\ ''/opt/phylign/asms'' | ''/nobackup/shared/data/phylign'' | Installed using ''make download'' | | [[https://ftp.ncbi.nlm.nih.gov/pathogen/Antimicrobial_resistance/|Amrfinder]] | 0.24 | ''/opt/amrfinder/db'' | ''/nobackup/shared/data/amrfinder'' | Installed using ''amrfinder -U'' | | [[https://docs.antismash.secondarymetabolites.org/install/|Antismash]] | 9 | ''/usr/local/lib/python3.12/dist-packages/antismash/databases'' | ''/nobackup/shared/data/antismash'' | Some processed data files exist by necessity //inside// the container. These are added at the time the container is created and are found within the module directory tree:\\ ''/usr/local/lib/python3.12/dist-packages/antismash/modules'' | | [[http://zenodo.org/records/14916843|Bakta]] | 80 | ''/opt/bakta/db'' | ''/nobackup/shared/data/bakta'' | First download with:\\ ''bakta_db download --output /opt/bakta/db --type full'' \\ Data is subsequently updated with:\\ ''bakta_db update --db /opt/bakta/db'' | | [[https://meme-suite.org/meme/meme-software/|meme]] | 64 | ''/opt/meme/db'' | ''/nobackup/shared/data/meme'' | | | [[https://github.com/eggnogdb/eggnog-mapper/wiki/|Eggnog]] | 47 | ''/opt/eggnog/db'' | ''/nobackup/shared/data/eggnog'' | Downloaded after container creation with:\\ ''download_eggnog_data.py --data_dir /opt/eggnog/db'' | ---- ===== Individual Software Help ===== All of the following software packages are available within the Bio apps container. Please check the //Included From// field to see which version of the container the software was introduced from. Except where noted, all of the commands listed below are available in the ''$PATH'' and you do not need to supply their full directory name, i.e. the following is sufficient: $ container.run bbmap.sh You do //not// need to run: $ container.run /opt/bbmap/bbmap.sh ^ Title ^ Included from ^ Files or Commands ^ Source Link ^ Description ^ | bamutil | 2026.02+ | ''bam'' | https://github.com/statgen/bamUtil/ | | | bcftools | 2026.02+ | ''bcftools'' | https://github.com/samtools/bcftools | The plugins (e.g. //counts.so//, //contrast.so//, //prune.so//, etc) for ''bcftool'' are installed under ''/opt/libexec/bcftools'' and will be used automatically. | | bcl_convert (1) | 2026.02+ | ''bcl-convert'' | https://emea.support.illumina.com/sequencing/sequencing_software/bcl-convert/downloads.html | Note that the use of ''bcl-convert'' is subject to the following licensing restrictions: - The software can only be used //"... for the purpose of processing and analyzing data generated from an Illumina genetic sequencing instrument owned and operated solely by (the University)"// - The software is only to be used for research purposes - The software can only be used with data generated from the Illumina instrument, and not any data generated from other sources | | bowtie2 | 2026.02+ | ''bowtie2''\\ ''bowtie2-align-l''\\ ''bowtie2-align-s''\\ ''bowtie2-build-l''\\ ''bowtie2-build-s''\\ ''bowtie2-inspect-l''\\ ''bowtie2-inspect-s'' | https://github.com/BenLangmead/bowtie2 | | | bwa | 2026.02+ | ''bwa''\\ ''qualfa2fq.pl''\\ ''xa2multi.pl'' | https://github.com/lh3/bwa | | | bwa-mem2 | 2026.02+ | ''bwa-mem2''\\ ''bwa-mem2.avx''\\ ''bwa-mem2.avx2''\\ ''bwa-mem2.avx512bw''\\ ''bwa-mem2.sse41''\\ ''bwa-mem2.sse42'' | https://github.com/bwa-mem2/bwa-mem2 | Calling ''bwa-mem2'' will automatically select the most optimal version (e.g. ''avx'', ''avx2'' etc). | | bwa-meth | 2026.02+ | ''bwameth.py''\\ ''bwameth'' | https://github.com/brentp/bwa-meth | The file ''bwameth'' is provided as a symbolic link to ''bwameth.py'' - you do not need to call it via Python, just ''bwameth'' is enough. | | convert3d | 2026.05+ | ''c2d''\\ ''c3d''\\ ''c4d''\\ ''c3d_affine_tool'' | http://www.itksnap.org/pmwiki/pmwiki.php?n=Main.HomePage | | | samtools | 2026.02+ | ''samtools'' | https://github.com/samtools/samtools | | | sambamba | 2026.02+ | ''sambamba'' | https://github.com/biod/sambamba | | | seqkit | 2026.02+ | ''seqkit'' | https://github.com/shenwei356/seqkit | | | methyldackel | 2026.02+ | ''MethylDackel''\\ ''methyldackel'' | https://github.com/dpryan79/MethylDackel | The file ''methyldackel'' is provided as a symbolic link to ''MethylDackel'' for convenience / simplification of capitalisation. | | minimap2 | 2026.02+ | ''minimap2'' | https://github.com/lh3/minimap2 | | | bedtools2 | 2026.02+ | ''annotateBed''\\ ''bamToBed''\\ ''bamToFastq''\\ ''bed12ToBed6''\\ ''bedToBam''\\ ''bedToIgv''\\ ''bedpeToBam''\\ ''bedtools''\\ ''closestBed''\\ ''clusterBed''\\ ''complementBed''\\ ''coverageBed''\\ ''expandCols''\\ ''fastaFromBed''\\ ''flankBed''\\ ''genomeCoverageBed''\\ ''getOverlap''\\ ''groupBy''\\ ''intersectBed''\\ ''linksBed''\\ ''mapBed''\\ ''maskFastaFromBed''\\ ''mergeBed''\\ ''multiBamCov''\\ ''multiIntersectBed''\\ ''nucBed''\\ ''pairToBed''\\ ''pairToPair''\\ ''randomBed''\\ ''shiftBed''\\ ''shuffleBed''\\ ''slopBed''\\ ''sortBed''\\ ''subtractBed''\\ ''tagBam''\\ ''unionBedGraphs''\\ ''windowBed''\\ ''windowMaker'' | https://github.com/arq5x/bedtools2 | | | bam-readcount | 2026.02+ | ''bam-readcount'' | https://github.com/genome/bam-readcount | | | hisat2 | 2026.02+ | ''hisat2''\\ ''hisat2-align-l''\\ ''hisat2-align-s''\\ ''hisat2-inspect''\\ ''hisat2-inspect-l''\\ ''hisat2-inspect-s''\\ ''hisat2-repeat''\\ ''hisat2_extract_exons.py''\\ ''hisat2_extract_snps_haplotypes_UCSC.py''\\ ''hisat2_extract_snps_haplotypes_VCF.py''\\ ''hisat2_extract_splice_sites.py''\\ ''hisat2_read_statistics.py''\\ ''hisat2_simulate_reads.py''\\ ''extract_exons.py''\\ ''extract_splice_sites.py'' | https://cloud.biohpc.swmed.edu/index.php | | | stringtie | 2026.02+ | ''stringtie''\\ ''prepDE.py'' | http://ccb.jhu.edu/software/stringtie/dl | | | gffcompare | 2026.02+ | ''gffcompare''\\ ''trmap'' | http://ccb.jhu.edu/software/stringtie/dl | | | htseq-count | 2026.02+ | ''htseq-count''\\ ''htseq-count-barcodes''\\ ''htseq-qa'' | https://pypi.org/project/HTSeq/ | The HTSeq installer places all of the files under ''/usr/local/bin'', but this is also added to the ''$PATH''. | | picard | 2026.02+ | ''picard''\\ ''picard.jar'' | https://github.com/broadinstitute/picard/releases/download | | | seqan-library | 2026.02+ | ''alf''\\ ''bam2roi''\\ ''dfi''\\ ''fx_bam_coverage''\\ ''fx_fastq_stats''\\ ''gustaf''\\ ''gustaf_mate_joining''\\ ''insegt''\\ ''mason_frag_sequencing''\\ ''mason_genome''\\ ''mason_materializer''\\ ''mason_methylation''\\ ''mason_simulator''\\ ''mason_splicing''\\ ''mason_tests''\\ ''mason_variator''\\ ''micro_razers''\\ ''pair_align''\\ ''param_chooser''\\ ''rabema_build_gold_standard''\\ ''rabema_do_search''\\ ''rabema_evaluate''\\ ''rabema_prepare_sam''\\ ''razers''\\ ''razers3''\\ ''razers3_quality2prob''\\ ''razers3_simulate_reads''\\ ''rep_sep''\\ ''roi_feature_projection''\\ ''roi_plot_thumbnails''\\ ''s4_join''\\ ''s4_search''\\ ''sak''\\ ''sam2matrix''\\ ''samcat''\\ ''seqan_tcoffee''\\ ''seqcons2''\\ ''sgip''\\ ''splazers''\\ ''stellar''\\ ''tree_recon''\\ ''yara_indexer''\\ ''yara_mapper'' | https://github.com/seqan/seqan | These are the sample tools provided with the seqn-library installation. We have //not// installed all of the //test_// and //demo_// files. | | regtools | 2026.02+ | ''regtools'' | https://github.com/griffithlab/regtools | | | rseqc | 2026.02+ | All scripts as listed [[https://rseqc.sourceforge.net/#usage-information|here]] | https://rseqc.sourceforge.net | The RSeQC installer places all files in ''/usr/local/bin'' by default - this is added to ''$PATH'' so you should still be able to call ''bam2fq.py'' without giving the full path, for example. | | Python | 2026.02+ | ''python3'' | | Currently uses version Python 3.12 | | R | 2026.03+ 2026.05+ | ''R''\\ ''Rscript'' | | Versions up to, and including **2026.04** include **R 4.5.2**. Versions from **2026.05** onwards include **R 4.6**. | | GCC | 2026.02+ | ''gcc-14''\\ ''g++-14''\\ ''gfortran-14'' | | Please use the existing ''CFLAGS'', ''CXXFLAGS'' and ''CPPFLAGS'' environment variables which were set during the installation of the container; this will ensure the most appropriate performance optimisation flags are retained for any additional software you compile. | | Tophat 1 (2) | 2026.04+ | ''/opt/tophat1/bam2fastx''\\ ''/opt/tophat1/bam_merge''\\ ''/opt/tophat1/bed_to_juncs''\\ ''/opt/tophat1/closure_juncs''\\ ''/opt/tophat1/contig_to_chr_coords''\\ ''/opt/tophat1/extract_reads''\\ ''/opt/tophat1/fix_map_ordering''\\ ''/opt/tophat1/gtf_juncs''\\ ''/opt/tophat1/gtf_to_fasta''\\ ''/opt/tophat1/juncs_db''\\ ''/opt/tophat1/library_stats''\\ ''/opt/tophat1/long_spanning_reads''\\ ''/opt/tophat1/map2gtf''\\ ''/opt/tophat1/mask_sam''\\ ''/opt/tophat1/prep_reads''\\ ''/opt/tophat1/sam_juncs''\\ ''/opt/tophat1/segment_juncs''\\ ''/opt/tophat1/sra_to_solid''\\ ''/opt/tophat1/tophat''\\ ''/opt/tophat1/tophat_reports''\\ ''/opt/tophat1/wiggles'' | https://ccb.jhu.edu/software/tophat/downloads/ | Tophat 1 (1.4.1) is **not** in the path as //both// versions are installed. Call it with ''container.run /opt/tophat1/tophat''. | | Tophat 2 (2) | 2026.04+ | ''/opt/tophat2/bam2fastx''\\ ''/opt/tophat2/bam_merge''\\ ''/opt/tophat2/bed_to_juncs''\\ ''/opt/tophat2/contig_to_chr_coords''\\ ''/opt/tophat2/fix_map_ordering''\\ ''/opt/tophat2/gtf_juncs''\\ ''/opt/tophat2/gtf_to_fasta''\\ ''/opt/tophat2/juncs_db''\\ ''/opt/tophat2/long_spanning_reads''\\ ''/opt/tophat2/map2gtf''\\ ''/opt/tophat2/prep_reads''\\ ''/opt/tophat2/sam_juncs''\\ ''/opt/tophat2/samtools_0.1.18''\\ ''/opt/tophat2/segment_juncs''\\ ''/opt/tophat2/sra_to_solid''\\ ''/opt/tophat2/tophat''\\ ''/opt/tophat2/tophat2''\\ ''/opt/tophat2/tophat-fusion-post''\\ ''/opt/tophat2/tophat_reports'' | https://ccb.jhu.edu/software/tophat/downloads/ | Tophat 2 (2.1.1) is **not** in the path as //both// versions are installed. Call it with ''container.run /opt/tophat2/tophat''. | | amrfinderplus | 2026.06+ | ''amr_report''\\ ''amrfinder''\\ ''amrfinder_index''\\ ''amrfinder_update''\\ ''disruption2genesymbol''\\ ''dna_mutation''\\ ''fasta2parts''\\ ''fasta_check''\\ ''fasta_extract''\\ ''gff_check''\\ ''mutate'' | https://github.com/ncbi/amr | | | antismash | 2026.06+ | ''antismash'' | https://docs.antismash.secondarymetabolites.org/ | | | any2fasta | 2026.06+ | ''any2fasta'' | https://github.com/tseemann/any2FASTA | Ubuntu ''.deb'' package | | aragorn | 2026.06+ | ''aragorn'' | | Ubuntu ''.deb'' package | | augustus | 2026.06+ | ''augustus'' | https://github.com/gaius-augustus/augustus | Ubuntu ''.deb'' package | | bakta | 2026.06+ | ''bakta''\\ ''bakta_db''\\ ''bakta_plot''\\ ''bakta_proteins'' | https://github.com/oschwengers/bakta | | | barrnap | 2026.06+ | ''barrnap'' | https://github.com/tseemann/barrnap | Ubuntu ''.deb'' package | | bbmap | 2026.06+ | ''bbmap''\\ Plus all shell scripts in ''$PATH'' under ''/opt/bbmap'' | https://github.com/BioInfoTools/BBMap | | | blast+ | 2026.06+ | ''blast_formatter''\\ ''blast_formatter_vdb''\\ ''blast_vdb_cmd''\\ ''blastdb_aliastool''\\ ''blastdbcheck''\\ ''blastdbcmd''\\ ''blastn''\\ ''blastn_vdb''\\ ''blastp''\\ ''blastx''\\ ''cleanup-blastdb-volumes.py''\\ ''convert2blastmask''\\ ''deltablast''\\ ''dustmaker''\\ ''get_species_taxids.sh''\\ ''legacy_blast.pl''\\ ''makeblastdb''\\ ''makembindex''\\ ''psiblast''\\ ''rpsblast''\\ ''rpstblastn''\\ ''segmasker''\\ ''tblastn''\\ ''tblastn_vdb''\\ ''tblastx''\\ ''windowmasker'' | https://blast.ncbi.nlm.nih.gov/doc/blast-help/downloadblastdata.html | | | busco | 2026.06+ | ''busco'' | https://busco.ezlab.org/busco_userguide.html | | | cd-hit | 2026.06+ | ''cd-hit''\\ ''cd-hit-2d''\\ ''cd-hit-2d-para''\\ ''cd-hit-454''\\ ''cd-hit-div''\\ ''cd-hit-est''\\ ''cd-hit-est-2d''\\ ''cd-hist-para'' | https://sites.google.com/view/cd-hit/home | Ubuntu ''.deb'' package | | clustal | 2026.06+ | ''clustalo''\\ ''clustalw'' | https://en.wikipedia.org/wiki/Clustal | Ubuntu ''.deb'' packages for //clustalo// and //clustalw// | | core-snp-filter | 2026.06+ | ''coresnpfilter'' | https://github.com/rrwick/Core-SNP-filter | | | csvtk | 2026.06+ | ''csvtk'' | https://github.com/shenwei356/csvtk | | | diamond | 2026.06+ | ''diamond'' | https://github.com/bbuchfink/diamond | | | eggnog | 2026.06+ | ''emapper.py'' | https://github.com/eggnogdb/eggnog-mapper | | | fastani | 2026.06+ | ''fastANI'' | https://github.com/ParBLiSS/FastANI | | | fasttree | 2026.06+ | ''fasttree'' | https://morgannprice.github.io/fasttree | | | flash | 2026.06+ | ''flash'' | http://ccb.jhu.edu/software/FLASH | | | freebayes | 2026.06+ | ''freebayes'' | https://github.com/freebayes/freebayes | | | goalign | 2026.06+ | ''goalign'' | https://github.com/evolbioinfo/goalign | | | gubbins | 2026.06+ | ''run_gubbins'' | https://github.com/nickjcroucher/gubbins | Ubuntu ''.deb'' package | | hmmer2 | 2026.06+ | ''hmm2align''\\ ''hmm2build''\\ ''hmm2calibrate''\\ ''hmm2convert''\\ ''hmm2emit''\\ ''hmm2fetch''\\ ''hmm2index''\\ ''hmm2pfam''\\ ''hmm2search'' | http://eddylab.org/software/hmmer | Ubuntu ''.deb'' package | | hmmer3 | 2026.06+ | ''hmmalign''\\ ''hmmbuild''\\ ''hmmconvert''\\ ''hmmemit''\\ ''hmmfetch''\\ ''hmmlogo''\\ ''hmmpgmd''\\ ''hmmpgmd_shard''\\ ''hmmpress''\\ ''hmmscan''\\ ''hmmsearch''\\ ''hmmsim''\\ ''hmmstat'' | http://eddylab.org/software/hmmer | | | infernal | 2026.06+ | ''cmalign''\\ ''cmbuild''\\ ''cmcalibrate''\\ ''cmconvert''\\ ''cmemit''\\ ''cmfetch''\\ ''cmpress''\\ ''cmscan''\\ ''cmsearch''\\ ''cmstat'' | https://github.com/EddyRivasLab/infernal | Ubuntu ''.deb'' package | | iqtree | 2026.06+ | ''iqtree3'' | https://iqtree.github.io/ | | | kmc | 2026.06+ | ''kmc''\\ ''kmc_dump''\\ ''kmc_tools'' | https://github.com/refresh-bio/KMC | Ubuntu ''.deb'' package | | lighter | 2026.06+ | ''lighter'' | https://github.com/mourisl/Lighter | Ubuntu ''.deb'' package | | mafft | 2026.06+ | ''einsi''\\ ''fftns''\\ ''fftnsi''\\ ''ginsi''\\ ''linsi''\\ ''mafft-distance''\\ ''mafft-einsi''\\ ''mafft-fftns''\\ ''mafft-fftnsi''\\ ''mafft-ginsi''\\ ''mafft-linsi''\\ ''mafft-nwns''\\ ''mafft-nwnsi''\\ ''mafft-profile''\\ ''mafft-qinsi''\\ ''mafft-xinsi''\\ ''nwns''\\ ''nwnsi''\\ Plus all mafft ''.py'' extension scripts installed in ''/usr/local/bin'' | https://mafft.cbrc.jp/alignment/software | | | mash | 2026.06+ | ''mash'' | https://github.com/marbl/Mash | Ubuntu ''.deb'' package | | mcl | 2026.06+ | ''clm''\\ ''clxdo''\\ ''mcl''\\ ''mcx''\\ ''mcxarray''\\ ''mcxdeblast''\\ ''mcxdump''\\ ''mcxi''\\ ''mcxload''\\ ''mcxmap''\\ ''mcxsubs''\\ ''rcl''\\ ''rcl-dot-resmap.pl''\\ ''rcl-qc''\\ ''rcl-qm.R''\\ ''rcl-relevel.pl''\\ ''rcl-select.pl''\\ ''rcldo.pl'' | https://github.com/micans/mcl | Ubuntu ''.deb'' package | | megahit | 2026.06+ | ''megahit''\\ ''megahit_core''\\ ''megahit_core_no_hw_accel''\\ ''megahit_core_popcnt'' | https://github.com/voutcn/MEGAHIT | Ubuntu ''.deb'' package | | meme | 2026.06+ | ''ame''\\ ''centrimo''\\ ''dreme''\\ ''dust''\\ ''fimo''\\ ''glam2''\\ ''glam2scan''\\ ''gomo''\\ ''mast''\\ ''mcast''\\ ''meme''\\ ''meme-chip''\\ ''momo''\\ ''purge''\\ ''sea''\\ ''spamo''\\ ''streme''\\ ''tgene''\\ ''tomtom''\\ ''xstreme'' | https://meme-suite.org/meme/meme-software/ | | | metaeuk | 2026.06+ | ''metaeuk'' | https://github.com/soedinglab/metaeuk | Ubuntu ''.deb'' package | | minced | 2026.06+ | ''minced''\\ ''minced.jar'' | https://github.com/ctSkennerton/minced | The shell script ‘’minced’’ is provided as a wrapper around ‘’minced.jar’’ | | minimap2 | 2026.06+ | ''minimap2'' | https://github.com/lh3/minimap2 | | | miniphy | 2026.06+ | N/A - Please read ''miniphy'' specific help, below | https://github.com/karel-brinda/miniphy | Miniphy uses a //makefile// driven build system. Consult the Miniphy documentation on their webpage as well as our local guide, below. | | miniprot | 2026.06+ | ''miniprot'' | https://github.com/lh3/miniprot | | | minisplice | 2026.06+ | ''minisplice'' | https://github.com/lh3/minisplice | | | mmseqs2 | 2026.06+ | ''mmseqs'' | https://github.com/soedinglab/MMseqs2 | | | panaroo | 2026.06+ | ''panaroo'' | https://github.com/gtonkinhill/panaroo | | | parallel | 2026.06+ | ''parallel'' | GNU Parallel | Ubuntu ''.deb'' package | | Perl | 2026.06+ | ''perl'' | | Ubuntu ''.deb'' package | | phylign | 2026.06+ | N/A - Please read ''phylign'' specific help, below | https://github.com/karel-brinda/phylign | Phylign uses a //makefile// driven build system. Consult the Phylign documentation on their webpage as well as our local guide, below. | | pigz | 2026.06+ | ''pigz'' | https://github.com/madler/pigz | Ubuntu ''.deb'' package | | PILER-CR | 2026.06+ | ''pilercr'' | https://www.drive5.com/pilercr/ | | | pilon | 2026.06+ | ''pilon''\\ ''pilon.jar'' | https://github.com/broadinstitute/pilon | | | PPanGGOLiN | 2026.06+ | ''ppanggolin'' | https://github.com/labgem/PPanGGOLiN | | | pplacer | 2026.06+ | ''guppy.exe''\\ ''pplacer.exe''\\ ''rppr.exe''\\ ''tests.exe'' | https://github.com/matsen/pplacer | | | prank | 2026.06+ | ''prank'' | https://github.com/ariloytynoja/prank-msa | | | prodigal | 2026.06+ | ''prodigal'' | https://github.com/hyattpd/prodigal | Ubuntu ''.deb'' package | | prokka | 2026.06+ | ''prokka''\\ ''prokka-abricate_to_fasta_db''\\ ''prokka-biocyc_to_fasta_db''\\ ''prokka-build_kingdom_dbs''\\ ''prokka-cdd_to_hmm''\\ ''prokka-clusters_to_hmm''\\ ''prokka-genbank_to_fasta_db''\\ ''prokka-genpept_to_fasta_db''\\ ''prokka-hamap_to_hmm''\\ ''prokka-make_tarball''\\ ''prokka-tigrfams_to_hmm''\\ ''prokka-uniprot_to_fasta_db'' | https://github.com/tseemann/prokka | | | rapidnj | 2026.06+ | | https://github.com/somme89/rapidNJ | | | raxml-ng | 2026.06+ | ''raxml-ng''\\ ''raxml'' | https://codeberg.org/amkozlov/raxml-ng | | | rnammer | 2026.06+ | ''rnammer''\\ ''xml2fsa''\\ ''xml2gff'' | https://services.healthtech.dtu.dk/services/RNAmmer-1.2/ | | | roary | 2026.06+ | | https://github.com/sanger-pathogens/Roary | | | samclip | 2026.06+ | ''samclip'' | https://github.com/tseemann/samclip | Ubuntu ''.deb'' package | | sepp | 2026.06+ | ''config_sepp''\\ ''config_upp''\\ ''run_sepp.py''\\ ''run_upp.py'' | https://github.com/smirarab/sepp | | | seqkit | 2026.06+ | ''seqkit'' | https://github.com/shenwei356/seqkit | | | seqtk | 2026.06+ | ''seqtk'' | https://github.com/lh3/seqtk | Ubuntu ''.deb'' package | | shovill | 2026.06+ | ''shovill'' | https://github.com/tseemann/shovill | | | skesa | 2026.06+ | ''skesa'' | https://github.com/ncbi/SKESA | Ubuntu ''.deb'' package | | snippy | 2026.06+ | ''snippy''\\ ''snippy-clean_full_aln''\\ ''snippy-core''\\ ''snippy-multi''\\ ''snippy-vcf_extract_subs''\\ ''snippy-vcf_report''\\ ''snippy-vcf_to_tab'' | https://github.com/tseemann/snippy | | | snpEff | 2026.06+ | ''snpEff'' | https://pcingola.github.io/SnpEff/ | Ubuntu ''.deb'' package | | snp-sites | 2026.06+ | ''snp-sites'' | https://sanger-pathogens.github.io/snp-sites/ | Ubuntu ''.deb'' package | | spades | 2026.06+ | ''coronaspades''\\ ''coronaspades.py''\\ ''metaspades''\\ ''metaspades.py''\\ ''plasmidspades''\\ ''plasmidspades.py''\\ ''rnaspades''\\ ''rnaspades.py''\\ ''spades.py''\\ ''truspades''\\ ''truspades.py'' | https://github.com/ablab/spades | Ubuntu ''.deb'' package | | tbl2asn | 2026.06+ | ''table2asn'' | https://ftp.ncbi.nlm.nih.gov/asn1-converters/by_program/table2asn | | | trimmomatic | 2026.06+ | ''trimmomatic''\\ ''trimmomatic.jar'' | https://github.com/usadellab/Trimmomatic | The shell script ‘’trimmomatic’’ is provided as a wrapper around ‘’trimmomatic.jar’’ | | tRNAscan-SE | 2026.06+ | ''trnascan-1.4''\\ ''covels-SE''\\ ''coves-SE'' | https://github.com/UCSC-LoweLab/tRNAscan-SE | | | vcflib | 2026.06+ | N/A | https://github.com/vcflib/vcflib | Ubuntu ''.deb'' package | | velvet | 2026.06+ | ''velvetg''\\ ''velvetg_de''\\ ''velveth''\\ ''velveth_de'' | https://github.com/dzerbino/velvet | Ubuntu ''.deb'' package | **Note:** All binaries are compiled for the AMD Epyc CPU architecture of Comet with the ''CFLAGS=-O3 -march=znver5 -pipe'' flags with GCC 14, on top of any existing optimisation flags set by each application. All binaries are also stripped of debugging symbols with ''strip -g'' to reduce their on-disk and in-memory size requirements. * (1) - ''bcl-convert'' is a //vendor// provided binary (proprietary to Illumina) and unlike all other listed software has //not// been recompiled for Comet. * (2) - **Tophat** 1 & 2 are pre-compiled binaries from the developer - they do not build easily on modern compilers, and hence are //not// recompiled for Comet. ---- ==== Amrfinder Guide ==== The Amrfinder data files are pre-installed and ready to use. At installation time Amrfinder was installed using ''DEFAULT_DB_DIR=/opt/amrfinder/db'', so no command line parameters or environment variables are necessary in order to use the data files. * ''/opt/amrfinder/db'' - Location of the Amrfinder data files //inside// the container * ''/nobackup/shared/data/amrfinder'' - Location of the Amrfinder data files //outside// the container, on the Comet filesystem * Current data size: **240 MB** No configuration is necessary to use the installed data files - they work as-is. e.g. assuming an input file named ''test_prot.fa'' in your project directory: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run amrfinder -p /nobackup/proj/comet_abc123/test_prot.fa Running: amrfinder -p test_prot.fa Software directory: /usr/local/bin/ Software version: 4.2.7 Reverting to hard coded directory: /opt/amrfinder/db/latest Database directory: /opt/amrfinder/db/2026-05-15.1 Database version: 2026-05-15.1 AMRFinder protein-only search - include -n NUC_FASTA, --nucleotide NUC_FASTA and -g GFF_FILE, --gff GFF_FILE options to add translated searches - include -O ORGANISM, --organism ORGANISM option to add mutation searches and suppress common proteins Running blastp Running hmmsearch Making report ... ... ... amrfinder took 5 seconds to complete * For more information on using ''amrfinderplus'', see: https://github.com/ncbi/amr/wiki/Running-AMRFinderPlus#examples * Test file: {{ :advanced:software:test_prot.fa.gz |}} - download, ''gzip -d'', and use as in the test example above * Downloaded from: https://github.com/ncbi/amr/blob/master/test_prot.fa ---- ==== Antismash Guide ==== The Antismash data files are already pre-installed and ready to use by ''antismash'' within this container. Antismash integrates data files into it's Python module tree, so this has been completed for you already; no command line parameters or environment variables are required. * ''/usr/local/lib/python3.12/dist-packages/antismash/databases'' - Location of the antismash database files //inside// the container * ''/nobackup/shared/data/antismash'' - Location of the downloaded antismash database files //outside// the container, on the Comet filesystem * Current database size: **9 GB** Do __not__ try to download updates to the Antismash data files - this requires write access to the Antismash module folders. Instead if an update is needed [[contact:index|contact us]] and we will arrange a new container image to be built with the latest Antismash and matching data files. In addition, there are //hashed// versions of the database files inside the Antismash module tree //inside// the container: * ''/usr/local/lib/python3.12/dist-packages/antismash/modules'' You do __not__ need to change any configuration to use the Antismash data files - it is ready to use and will load them automatically from their installed location, e.g, assuming you have an input file named ''GCF_000203835.1_ASM20383v1_genomic.gbff'' in your project directory: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run antismash /nobackup/proj/comet_abc123/GCF_000203835.1_ASM20383v1_genomic.gbff Will, after a minute or two, produce an output directory named after the input file, in this case ''GCF_000203835.1_ASM20383v1_genomic/'': $ ls GCF_000203835.1_ASM20383v1_genomic/ css NC_003888.3.region001.gbk NC_003888.3.region008.gbk NC_003888.3.region015.gbk NC_003888.3.region022.gbk NC_003888.3.region029.gbk GCF_000203835.1_ASM20383v1_genomic.gbk NC_003888.3.region002.gbk NC_003888.3.region009.gbk NC_003888.3.region016.gbk NC_003888.3.region023.gbk NC_003903.1.region001.gbk GCF_000203835.1_ASM20383v1_genomic.json NC_003888.3.region003.gbk NC_003888.3.region010.gbk NC_003888.3.region017.gbk NC_003888.3.region024.gbk NC_003903.1.region002.gbk GCF_000203835.1_ASM20383v1_genomic.zip NC_003888.3.region004.gbk NC_003888.3.region011.gbk NC_003888.3.region018.gbk NC_003888.3.region025.gbk regions.js images NC_003888.3.region005.gbk NC_003888.3.region012.gbk NC_003888.3.region019.gbk NC_003888.3.region026.gbk index.html NC_003888.3.region006.gbk NC_003888.3.region013.gbk NC_003888.3.region020.gbk NC_003888.3.region027.gbk js NC_003888.3.region007.gbk NC_003888.3.region014.gbk NC_003888.3.region021.gbk NC_003888.3.region028.gbk When viewed in a browser, the HTML report in ''index.html'' should be somewhat similar to the image below: {{:advanced:software:antismash_output_example.png?650|}} * For more information on the use of Antismash: https://docs.antismash.secondarymetabolites.org/command_line/ * Test file: {{ :advanced:software:gcf_000203835.1_asm20383v1_genomic.gbff.gz |}} - download, ''gzip -d'', then use as the test example above * Downloaded from: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/203/835/GCF_000203835.1_ASM20383v1/ ---- ==== Bakta Guide ==== The Bakta databases have been downloaded and are ready to use within the container environment. The environment variable ''$BAKTA_DB'' is configured to point to the correct location of the database files, as listed below, so you do not need to set any command line arguments or make any additional changes to access them: * ''/opt/bakta/db'' - Location of the Bakta databases //inside// the container * ''/nobackup/shared/data/bakta'' - Location of the Bakta databases //outside// the container, on the Comet filesystem * Current database size: **80 GB** Do __not__ try to update the Bakta database files within the container. If you want to update Bakta and/or the databases, please [[:contact:index|contact us]] and we will create a new or replacement container with the updated version of Bakta and download the replacement database files for you. An example of using Batka. Assuming you have the file ''sample_genome.fa'' in your project directory: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run bakta /nobackup/proj/comet_abs123/sample_genome.fa Bakta v1.12.0 Parse genome sequences... imported: 17 filtered & revised: 17 contigs: 17 Start annotation... predict tRNAs... found: 286 predict tmRNAs... found: 0 predict rRNAs... found: 11 predict ncRNAs... found: 1 predict ncRNA regions... found: 0 predict CRISPR arrays... found: 0 predict & annotate CDSs... predicted: 8068 discarded length: 0 discarded spurious: 5 revised translational exceptions: 0 detected IPSs: 3 ... * For more information on the use of Bakta, see: https://github.com/oschwengers/bakta#examples * Test genome file: {{ :advanced:software:sample_genome.fa.gz |}} - download, ''gzip -d'' and use in the example as above * Downloaded from https://hgdownload.soe.ucsc.edu/goldenPath/sacCer3/bigZips/ ---- ==== Eggnog-mapper Guide ==== The databases used by Eggnog have been downloaded already using ''download_eggnog_data.py'' after the Bioapps container was created. To use these databases **you must pass the ''--data_dir'' parameter when calling the Eggnog tools**. * ''/opt/eggnog/db'' - Location of data files //inside// the container * ''/nobackup/shared/data/eggnog'' - Location of data files //outside// the container on the Comet filesystem * Current data size: **47 GB** You should __not__ attempt to update these databases yourself. If you do wish to have a newer version of eggnog and the associated databases, please [[:contact:index|contact us]] and we will create or replace the Bioapps container with the new versions and update the databases in the shared data directory. Example use of Eggnog-mapper. Assuming you have an input file named ''proteins.txt'' in your project directory: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run emapper.py --data_dir /opt/eggnog/db -i /nobackup/proj/comet_abc123/proteins.txt -o proteins_output # emapper-2.1.13 /opt/bin/diamond blastp -d '/opt/eggnog/db/eggnog_proteins.dmnd' -q '/nobackup/proj/comet_abc123/proteins.txt' \ --threads 1 -o '/nobackup/proj/comet_abc123/proteins_output.emapper.hits' \ --tmpdir '/nobackup/proj/comet_abc123/emappertmp_dmdn_ju_fukx6' \ --sensitive --iterate -e 0.001 --top 3 --outfmt 6 \ qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore qcovhsp scovhsp ... Functional annotation of hits... 3 16.677483081817627 0.18 q/s (% mem usage: 5.80, % mem avail: 94.23) Done Result files: /nobackup/proj/comet_abc123/proteins_output.emapper.hits /nobackup/proj/comet_abc123/proteins_output.emapper.seed_orthologs /nobackup/proj/comet_abc123/proteins_output.emapper.annotations ================================================================================ Total hits processed: 3 Total time: 2917 secs FINISHED * For more information on the use of Eggnog-mapper: https://github.com/eggnogdb/eggnog-mapper/wiki/eggNOG-mapper-v2.1.5-to-v2.1.13 * Test file: {{ :advanced:software:proteins.txt.gz |}} - download, ''gzip -d'', and use per the example shown above ---- ==== Meme Guide ==== The various Meme databases have already been downloaded and are ready to use. At the point Meme was compiled and installed, the parameter ''--with-db=/opt/meme/db'' was used to set the location of the databases, as listed below, so no further command line arguments or changes are necessary in order to use them: * ''/opt/meme/db'' - Location of the Meme databases //inside// the container * ''/nobackup/shared/data/meme'' - Location of the Meme databases //outside// the container, on the Comet filesystem * Current data size: **64 GB** Example Meme test. Assuming you have the file ''lex0.fna'' in your project directory: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run meme lex0.fna -oc meme_example_output -p 1 -dna -mod zoops -nmotifs 3 -revcomp Writing results to output directory 'meme_example_output'. BACKGROUND: using background model of order 0 PRIMARY (classic): n 16 p0 16 p1 0 p2 0 SEQUENCE GROUP USAGE-- Starts/EM: p0; Trim: p0; pvalue: p0; nsites: p0,p1,p2 SEEDS: maxwords 3067 highwater mark: seq 16 pos 192 BALANCE: samples 16 chars 3067 nodes 1 chars/node 3067 Initializing the motif probability tables for 2 to 16 sites... nsites = 16 Done initializing. seqs= 16, min_w= 136, max_w= 200, total_size= 3067 motif=1 SEED DEPTHS: 2 4 8 16 SEED WIDTHS: 8 11 15 21 29 41 50 em: w= 50, psites= 16, iter= 10 motif=2 SEED DEPTHS: 2 4 8 16 SEED WIDTHS: 8 11 15 21 29 41 50 em: w= 50, psites= 16, iter= 10 motif=3 SEED DEPTHS: 2 4 8 16 SEED WIDTHS: 8 11 15 21 29 41 50 em: w= 50, psites= 16, iter= 0 $ This should create a folder named ''meme_example_output'' with the following files: $ ls meme_example_output/ logo1.eps logo2.eps logo3.eps logo_rc1.eps logo_rc2.eps logo_rc3.eps meme.html meme.xml logo1.png logo2.png logo3.png logo_rc1.png logo_rc2.png logo_rc3.png meme.txt When the HTML file ''meme.html'' is viewed it should look like this: {{:advanced:software:meme_output_example.png?650|}} * For more information on the use of Meme: https://meme-suite.org/meme/doc/overview.html?man_type=web * Test file: {{ :advanced:software:lex0.fna.gz |}} - download, ''gzip -d'' and run as per the example above * Downloaded from: https://gensoft.pasteur.fr/docs/meme/5.1.1/examples/example-datasets/?C=S;O=A ---- ==== Miniphy Guide ==== Example incomplete Unfortunately Miniphy is written to run from the installation directory itself, including ''input/'', ''output/'' and ''logs/'' folders - this is not ideal in a multi-user environment. To run Miniphy you must set several variables for each run: * ''MINIPHY_INPUT'' - Your input file directory; if unset, this will default to ''$HOME/.bioapps_container/miniphy/input'' * ''MINIPHY_OUTPUT'' - Output directory; if unset, this will default to ''$HOME/.bioapps_container/miniphy/output'' * ''MINIPHY_INTER'' - Intermediate/temporary file directory; if unset, this will default to ''$HOME/.bioapps_container/miniphy/intermediate'' * ''MINIPHY_LOGS'' - Logs produced during the run; if unset, this will default to ''$HOME/.bioapps_container/miniphy/logs'' In most cases your input and output directories should probably be within a project directory - if left unset the above defaults will be used. Also, the Miniphy software is configured by a single file named ''config.yaml'' **inside** the installation directory. So that multiple users do not overwrite each others files, we have created a specific runtime wrapper just for Miniphy. Instead of using ''container.run'', please instead use **''container.run_miniphy''**; this will create a small (64MB) image in your home directory which will save changes you make to ''config.yaml'' (this is the same as for Phylign, below). Our advice is to write small scripts to drive the output of Miniphy, for example: #!/bin/bash cd /opt/miniphy ./create_batches.py meta_file.tsv -d input Then you can call ''container.run_miniphy'' to execute the script, the example below will map the Miniphy ''input/'' and ''output/'' directories to your project folder: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ export MINIPHY_INPUT=/nobackup/proj/comet_abc123/my_input $ export MINIPHY_OUTPUT=/nobackup/proj/comet_abc123/my_output $ container.run_miniphy miniphy_script.sh If you want to edit the values of ''config.yaml'' to change how Miniphy itself works (e.g. search parameters), you can do so by editing the file from inside the container environment: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run_miniphy vi /opt/miniphy/config.yml * For more information on the use of Miniphy, see: https://github.com/karel-brinda/MiniPhy ---- ==== NCBI Blast+ Guide ==== All of the NCBI Blast databases are already pre-downloaded and ready to use via ''blastp'' and similar tools. The environment variable ''$BLASTDB'' is configured to point to the correct location of the database files, as listed below, so you do not need to add any command line arguments or make any further changes to access them: * ''/opt/blast/db'' - NCBI database location //inside// the Bioapps container * ''/nobackup/shared/data/blastplus'' - NCBI database location //outside// the container, on the Comet filesystem * Current size: **the complete NCBI Blast dataset on Comet is more than 3.8TB in size - __do not__ attempt to download your own copy of this data!** Example of using NCBI Blast+. Assuming you have the input file ''uniprotkb_proteome_UP000009255_2026_06_19.fasta'' in your project directory, and to search the ''nr'' database: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run blastp -query uniprotkb_proteome_UP000009255_2026_06_19.fasta -db nr BLASTP 2.17.0+ Database: All non-redundant GenBank CDS translations+PDB+SwissProt+PIR+PRF excluding environmental samples from WGS projects 1,093,519,741 sequences; 414,572,423,463 total letters * For more information about the Blast databases: https://ftp.ncbi.nlm.nih.gov/blast/documents/blastdb.html * For more information about the use of NCBI Blast+: https://www.ncbi.nlm.nih.gov/books/NBK279690/ * Test file: {{ :advanced:software:uniprotkb_proteome_up000009255_2026_06_19.fasta.gz |}} - download, ''gzip -d'' and use per example above * Downloaded from: https://www.uniprot.org/proteomes/UP000009255 ---- ==== Phylign Guide ==== Phylign already has all data files downloaded. Unfortunately Phylign is written to run from the installation directory itself, including ''input/'', ''output/'' and ''logs/'' folders - this is not ideal in a multi-user environment. Data files are in the following locations: * ''/opt/phylign/db'' - Location of the database files //inside// the container * ''/nobackup/shared/data/phylign'' - Location of the files //outside// the container on the Comet filesystem * Current size: **92 GB** Please do not attempt to download additional or later versions of the Phylign databases. If you need updates then please [[:contact:index|contact us]] and we will arrange an update of the container and update the files on the Comet shared data area. To run Phylign you must set several variables for each run: * ''PHYLIGN_INPUT'' - Your input file directory; if unset, this will default to ''$HOME/.bioapps_container/phylign/input'' * ''PHYLIGN_OUTPUT'' - Output directory; if unset, this will default to ''$HOME/.bioapps_container/phylign/output'' * ''PHYLIGN_INTER'' - Intermediate/temporary file directory; if unset, this will default to ''$HOME/.bioapps_container/phylign/intermediate'' * ''PHYLIGN_LOGS'' - Logs produced during the run; if unset, this will default to ''$HOME/.bioapps_container/phylign/logs'' In most cases your input and output directories should probably be within a project directory - if left unset the above defaults will be used. Also, the Phylign software is configured by a single file named ''config.yaml'' **inside** the installation directory. So that multiple users do not overwrite each others files, we have created a specific runtime wrapper just for Phylign. Instead of using ''container.run'', please //instead// use **''container.run_phylign''**; this will create a small (64MB) image in your home directory which will save changes you make to ''config.yaml''. Our advice is to write small scripts to drive the output of Phylign, for example: #!/bin/bash cd /opt/phylign make match make map Then you can call ''container.run_phylign'' to execute the script, in the example below this will map the Phylign ''input/'' and ''output/'' directories to your project folder: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ export PHYLIGN_INPUT=/nobackup/proj/comet_abc123/my_input $ export PHYLIGN_OUTPUT=/nobackup/proj/comet_abc123/my_output $ container.run_phylign phylign_script.sh If you want to edit the values of ''config.yaml'' to change how Phylign itself works (e.g. search parameters), you can do so by editing the file from inside the container environment: $ source /nobackup/shared/containers/bioapps.2026.06.sh $ container.run_phylign vi /opt/phylign/config.yml * For more information on the use of Phylign, including several examples, see: https://github.com/karel-brinda/phylign ---- ==== Python Modules ==== In addition to the standalone applications listed above, the following **Python** modules are installed (i.e. they are available if you use ''python3'' installed from the container with a normal ''import module'' syntax in your code). Normally you would be able to use these modules in your code if running Python as follows: $ source /nobackup/shared/containers/bioapps.2026.03.sh $ container.run python3 ^ Module Name ^ Available From ^ Link ^ | HTSeq | 2026.02+ | https://htseq.readthedocs.io/en/latest/ | | RSeQC | 2026.02+ | https://rseqc.sourceforge.net/ | | bx_python | 2026.02+ | https://github.com/bxlab/bx-python | | numpy | 2026.02+ | https://numpy.org/ | | pybigwig | 2026.02+ | https://github.com/deeptools/pyBigWig | | pysam | 2026.02+ | https://github.com/pysam-developers/pysam | | toolshed | 2026.02+ | https://travis-ci.org/brentp/toolshed | | biocode | 2026.06+ | | | biopython | 2026.06+ | | | dendropy | 2026.06+ | | | edlib | 2026.06+ | | | gffutils | 2026.06+ | | | joblib | 2026.06+ | | | networkx | 2026.06+ | | | numba | 2026.06+ | | | pandas | 2026.06+ | | | pyCirclize | 2026.06+ | | | PyHMMER | 2026.06+ | | | Pyrodigal | 2026.06+ | https://github.com/althonos/pyrodigal | | PySEER | 2026.06+ | https://github.com/mgalardini/pyseer | | scipy | 2026.06+ | | | snakefmt | 2026.06+ | | | snakemake | 2026.06+ | | | tdqm | 2026.06+ | | | yapy | 2026.06+ | | This list only includes modules which have been explicitly installed. The standard //Python// built-ins are still available: ''sqlite'', ''json'', etc. ---- ==== R Libraries ==== In addition to the standalone applications listed above, the following **R** libraries are installed (i.e. they are available to use in the ''R'' and ''Rscript'' commands started from the container, and by using the normal ''library(module)'' syntax in your code). Normally you would be able to use these modules in your code if running R as follows (obviously choose the //correct version// of the container runtime helper to suit your needs): $ source /nobackup/shared/containers/bioapps.2026.05.sh $ container.run Rscript ^ Library Name ^ Available From ^ Link ^ | AnnotationDbi | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/AnnotationDbi.html | | BH | 2026.03+ | https://cran.r-project.org/web/packages/BH/index.html | | Biobase | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/Biobase.html | | BiocFileCache | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/BiocFileCache.html | | BiocGenerics | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/BiocGenerics.html | | BiocManager | 2026.03+ | https://github.com/Bioconductor/BiocManager | | BiocParallel | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/BiocParallel.html | | BiocVersion | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/BiocVersion.html | | Biostrings | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/Biostrings.html | | DBI | 2026.03+ | https://cran.r-project.org/web/packages/DBI/index.html | | DESeq2 | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/DESeq2.html | | DEXSeq | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/DEXSeq.html | | DelayedArray | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/DelayedArray.html | | GenomicRanges | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/GenomicRanges.html | | IRanges | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/IRanges.html | | KEGGREST | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/KEGGREST.html | | MatrixGenerics | 2026.03+ | https://bioconductor.org/packages/devel/bioc/html/MatrixGenerics.html | | R6 | 2026.03+ | https://cran.r-project.org/web/packages/R6/index.html | | RColorBrewer | 2026.03+ | https://cran.r-project.org/web/packages/RColorBrewer/index.html | | RSQLite | 2026.03+ | https://cran.r-project.org/web/packages/RSQLite/index.html | | Rcpp | 2026.03+ | https://cran.r-project.org/web/packages/Rcpp/index.html | | RcppArmadillo | 2026.03+ | https://cran.r-project.org/web/packages/RcppArmadillo/index.html | | Rhtslib | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/Rhtslib.html | | Rsamtools | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/Rsamtools.html | | S4Arrays | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/S4Arrays.html | | S4Vectors | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/S4Vectors.html | | S7 | 2026.03+ | https://cran.r-project.org/web/packages/S7/index.html | | Seqinfo | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/Seqinfo.html | | SparseArray | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/SparseArray.html | | SummarizedExperiment | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/SummarizedExperiment.html | | XML | 2026.03+ | https://cran.r-project.org/web/packages/XML/index.html | | XVector | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/XVector.html | | abind | 2026.03+ | https://cran.r-project.org/web/packages/abind/index.html | | annotate | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/annotate.html | | askpass | 2026.03+ | https://cran.r-project.org/web/packages/askpass/index.html | | biomaRt | 2026.03+ | https://bioconductor.org/packages/release/bioc/html/biomaRt.html | | bit | 2026.03+ | https://cran.r-project.org/web/packages/bit/index.html | | bit64 | 2026.03+ | https://cran.r-project.org/web/packages/bit64/index.html | | bitops | 2026.03+ | https://cran.r-project.org/web/packages/bitops/index.html | | blob | 2026.03+ | https://cran.r-project.org/web/packages/blob/index.html | | cachem | 2026.03+ | https://cran.r-project.org/web/packages/cachem/index.html | | cli | 2026.03+ | https://cran.r-project.org/web/packages/cli/index.html | | cpp11 | 2026.03+ | https://cran.r-project.org/web/packages/cpp11/index.html | | crayon | 2026.03+ | https://cran.r-project.org/web/packages/crayon/index.html | | curl | 2026.03+ | https://cran.r-project.org/web/packages/curl/index.html | | dbplyr | 2026.03+ | https://cran.r-project.org/web/packages/dbplyr/index.html | | dplyr | 2026.03+ | https://cran.r-project.org/web/packages/dplyr/index.html | | farver | 2026.03+ | https://cran.r-project.org/web/packages/farver/index.html | | fastmap | 2026.03+ | https://cran.r-project.org/web/packages/fastmap/index.html | | filelock | 2026.03+ | https://cran.r-project.org/web/packages/filelock/index.html | | formatR | 2026.03+ | https://cran.r-project.org/web/packages/formatR/index.html | | futile.logger | 2026.03+ | https://cran.r-project.org/web/packages/futile.logger/index.html | | futile.options | 2026.03+ | https://cran.r-project.org/web/packages/futile.options/index.html | | genefilter | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/genefilter.html | | geneplotter | 2026.03+ | https://www.bioconductor.org/packages/release/bioc/html/geneplotter.html | | generics | 2026.03+ | https://cran.r-project.org/web/packages/generics/index.html | | ggplot2 | 2026.03+ | https://cran.r-project.org/web/packages/ggplot2/index.html | | glue | 2026.03+ | https://cran.r-project.org/web/packages/glue/index.html | | gtable | 2026.03+ | https://cran.r-project.org/web/packages/gtable/index.html | | hms | 2026.03+ | https://cran.r-project.org/web/packages/hms/index.html | | httr | 2026.03+ | https://cran.r-project.org/web/packages/httr/index.html | | httr2 | 2026.03+ | https://cran.r-project.org/web/packages/httr2/index.html | | hwriter | 2026.03+ | https://cran.r-project.org/web/packages/hwriter/index.html | | isoband | 2026.03+ | https://cran.r-project.org/web/packages/isoband/index.html | | jsonlite | 2026.03+ | https://cran.r-project.org/web/packages/jsonlite/index.html | | labeling | 2026.03+ | https://cran.r-project.org/web/packages/labeling/index.html | | lambda.r | 2026.03+ | https://cran.r-project.org/web/packages/lambda.r/index.html | | lifecycle | 2026.03+ | https://cran.r-project.org/web/packages/lifecycle/index.html | | locfit | 2026.03+ | https://cran.r-project.org/web/packages/locfit/index.html | | magrittr | 2026.03+ | https://cran.r-project.org/web/packages/magrittr/index.html | | matrixStats | 2026.03+ | https://cran.r-project.org/web/packages/matrixStats/index.html | | memoise | 2026.03+ | https://cran.r-project.org/web/packages/memoise/index.html | | mime | 2026.03+ | https://cran.r-project.org/web/packages/mime/index.html | | openssl | 2026.03+ | https://cran.r-project.org/web/packages/openssl/index.html | | pillar | 2026.03+ | https://cran.r-project.org/web/packages/pillar/index.html | | pkgconfig | 2026.03+ | https://cran.r-project.org/web/packages/pkgconfig/index.html | | png | 2026.03+ | https://cran.r-project.org/web/packages/png/index.html | | prettyunits | 2026.03+ | https://cran.r-project.org/web/packages/prettyunits/index.html | | progress | 2026.03+ | https://cran.r-project.org/web/packages/progress/index.html | | purrr | 2026.03+ | https://cran.r-project.org/web/packages/purrr/index.html | | rappdirs | 2026.03+ | https://cran.r-project.org/web/packages/rappdirs/index.html | | rlang | 2026.03+ | https://cran.r-project.org/web/packages/rlang/index.html | | scales | 2026.03+ | https://cran.r-project.org/web/packages/scales/index.html | | snow | 2026.03+ | https://cran.r-project.org/web/packages/snow/index.html | | statmod | 2026.03+ | https://cran.r-project.org/web/packages/statmod/index.html | | stringi | 2026.03+ | https://cran.r-project.org/web/packages/stringi/index.html | | stringr | 2026.03+ | https://cran.r-project.org/web/packages/stringr/index.html | | sys | 2026.03+ | https://cran.r-project.org/web/packages/sys/index.html | | tibble | 2026.03+ | https://cran.r-project.org/web/packages/tibble/index.html | | tidyr | 2026.03+ | https://cran.r-project.org/web/packages/tidyr/index.html | | tidyselect | 2026.03+ | https://cran.r-project.org/web/packages/tidyselect/index.html | | utf8 | 2026.03+ | https://cran.r-project.org/web/packages/utf8/index.html | | vctrs | 2026.03+ | https://cran.r-project.org/web/packages/vctrs/index.html | | viridisLite | 2026.03+ | https://cran.r-project.org/web/packages/viridisLite/index.html | | withr | 2026.03+ | https://cran.r-project.org/web/packages/withr/index.html | | xml2 | 2026.03+ | https://cran.r-project.org/web/packages/xml2/index.html | | xtable | 2026.03+ | https://cran.r-project.org/web/packages/xtable/index.html | This list only includes the R libaries which have been explicitly installed, or brought in as dependencies by other libraries. The //standard// R libraries are still available: ''base'', ''splines'', ''stats'', ''utils'', etc. ---- ===== Building Bioapps Container ===== **Important** This section is only relevant to RSE HPC staff or users wanting to understand how the container image is built. If you are intending to simply //use// the software you **do not** need to read this section - turn back now! **Build script:** * Note that the build script will automatically tag the container filename with ''YYYY.MM'' for a simple version naming scheme. * To install ''bcl-convert'' the build script must be run from a directory which has a copy of ''bcl-convert-4.4.6-2.el8.x86_64.rpm'' - this is //not// free to download - if it is not found then the installation will skip it. #!/bin/bash IMAGE_DATE=`date +%Y.%m` echo "Loading modules..." module load apptainer echo "" echo "Building container..." export APPTAINER_TMPDIR=/scratch echo "" echo "Container will have date suffix $IMAGE_DATE" # You must supply a copy of bc-convert*.rpm in this # folder below. If it is not present then the install # of this tool will be skipped. SOURCE_DIR=`pwd` BCL_RPM="bcl-convert-4.4.6-2.el8.x86_64.rpm" echo "" echo "Checking source files..." if [ -s "$SOURCE_DIR/$BCL_RPM" ] then echo "- Found - $SOURCE_DIR/$BCL_RPM" else echo "- WARNING - $SOURCE_DIR/$BCL_RPM is MISSING" echo "" echo "Press return to continue or Control+C to exit and fix" read fi apptainer build --bind $SOURCE_DIR:/mnt bioapps.$IMAGE_DATE.sif bioapps.def 2>&1 | tee bioapps.log **Container definition:** Bootstrap: docker From: ubuntu:noble #################################################################### # # Bio apps container # ================== # This is a runtime environment for a large set of bioinformatics tools. # Please see: # https://hpc.researchcomputing.ncl.ac.uk/dokuwiki/dokuwiki/doku.php?id=advanced:software:bioapps # # ====================================== # # NAME : WORKING # LINK # # ====================================== # bamutil : Yes # https://github.com/statgen/bamUtil/ # # bcftools : # https://github.com/samtools/bcftools # # bowtie2 : Yes # https://github.com/BenLangmead/bowtie2 # # Bwa : Yes # https://github.com/lh3/bwa # # Bwa-mem2 : Yes # https://github.com/bwa-mem2/bwa-mem2/releases/tag/v2.3 # # Bwa-meth : Yes # https://github.com/brentp/bwa-meth # # Samtools : Yes # https://github.com/samtools/samtools # # Sambamba : Yes # https://github.com/biod/sambamba # # Seqkit : Yes # https://github.com/shenwei356/seqkit # # methyldackel : Yes # https://github.com/dpryan79/MethylDackel # # minimap : Yes # https://github.com/lh3/minimap2 # # bedtools2 : Yes # https://github.com/arq5x/bedtools2/archive/refs/heads/master.zip # # bam-readcount : Yes # https://github.com/genome/bam-readcount # # hisat2 : Yes # https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi/download # # StringTie : Yes # http://ccb.jhu.edu/software/stringtie/dl # # gffcompare : Yes # http://ccb.jhu.edu/software/stringtie/dl # # htseq-count : Yes # https://pypi.python.org/packages/source/H/HTSeq # # picard : Yes # https://github.com/broadinstitute/picard/releases/download # # seqan-library : Yes # https://github.com/seqan/seqan # # regtools : Yes # https://github.com/griffithlab/regtools # # RSeQC : Yes # https://rseqc.sourceforge.net/#download-rseqc # # Tophat : Yes # https://github.com/DaehwanKimLab/tophat # #################################################################### %post # Prevent interactive prompts export DEBIAN_FRONTEND=noninteractive #################################################################### # # Basic system packages # #################################################################### # Update & install only necessary packages apt-get update apt-get install -y \ apt-utils \ wget \ autoconf \ cmake \ rpm2cpio \ cpio \ build-essential \ man-db \ tar \ unzip \ git \ aptitude \ golang-go \ python3-pip \ gcc-14 \ g++-14 \ gfortran-14 \ openmpi-bin \ openmpi-common \ libopenmpi-dev \ libgomp1 \ autoconf \ vim \ libhts-dev \ libncurses-dev \ libbz2-dev \ liblz4-dev \ openjdk-25-jre \ libbigwig-dev \ libgsl-dev \ libxml2-dev \ libssl-dev \ libpng-dev \ liblapack-dev \ libboost-dev \ libboost-system-dev \ libboost-thread-dev ln -s /usr/bin/python3 /usr/bin/python # Clean up APT cache to save space apt-get clean # Any Python modules installed via pip go here # pip install NAME --break-system-packages # Remove any Python cache files after pip pip3 cache purge ################################################################################# # # This is all the custom stuff needed to build the various bioinformatics tools # ################################################################################# # This flag needs to be set to indicate which CPU architecture we # are optimising for. AMD_ARCH=1 if [ "$AMD_ARCH" = "1" ] then # Compiling on AMD Epyc export BASE_CFLAGS="-O3 -march=znver5 -pipe" export BASE_CFLAGS_ALT="-O3 -march=native -pipe" export MAKE_JOBS=8 else # Compiling on generic system export BASE_CFLAGS="-O" export BASE_CFLAGS_ALT="-O" export MAKE_JOBS=8 fi export CPPFLAGS="" export CFLAGS="$BASE_CFLAGS -I/opt/include" export CFLAGS_ALT="$BASE_CFLAGS_ALT -I/opt/include" export CXXFLAGS="$CFLAGS" export CC=gcc-14 export CXX=g++-14 export FC=gfortran-14 export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH export PATH=/opt/bin:$PATH ############################################################################### # Tell R to use the newer version of GCC when it needs to compile. # R 'helpfully' ignores standard CC/CFLAG/etc environment variables and # uses its own mechanism for setting the C/C++ and optimisation flags to # use. Override those by writing /root/.R/Makevars instead. ############################################################################### mkdir -p /root/.R/ echo "CC=$CC" > /root/.R/Makevars echo "CXX=$CXX" >> /root/.R/Makevars echo "CFLAGS=$CFLAGS" >> /root/.R/Makevars echo "CXXFLAGS=$CFLAGS" >> /root/.R/Makevars echo "CMAKE_C_COMPILER=$CC" >> /root/.R/Makevars echo "CMAKE_CXX_COMPILER=$CXX" >> /root/.R/Makevars echo "F77=$FC" >> /root/.R/Makevars echo "" echo "Post-OS-install setup for Bio apps container" echo "============================================" # A download place for external libraries mkdir -p /src/zipped # Where installations go mkdir -p /opt/bin mkdir -p /opt/include mkdir -p /opt/lib mkdir -p /opt/man echo "" echo "Install Python2 - for Tophat1" echo "=============================" cd /src wget -q https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz -O /src/zipped/python2.tgz cd /src tar -zxf /src/zipped/python2.tgz cd Python-2.7.18 ./configure \ --prefix=/opt/python2 \ --disable-ipv6 \ --enable-shared=no \ --enable-optimizations make clean make -j4 build_all make altinstall echo "" echo "Install Tophat 1" echo "===============" cd /src wget -q https://ccb.jhu.edu/software/tophat/downloads/tophat-1.4.1.Linux_x86_64.tar.gz -O /src/zipped/tophat-1.4.1.Linux_x86_64.tar.gz cd /opt tar -zxf /src/zipped/tophat-1.4.1.Linux_x86_64.tar.gz mv /opt/tophat-1.4.1.Linux_x86_64 /opt/tophat1 # Amend the hash-bang line of the Python scripts to use the local version of Python 2 cd /opt/tophat1 file * | grep "Python script" | while read f do f_name=`echo $f | awk -F: '{print $1}'` sed -i 's|/usr/bin/env python|/opt/python2/bin/python2.7|g' "$f_name" done echo "" echo "Install Tophat 2" echo "================" cd /src wget -q https://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.Linux_x86_64.tar.gz -O /src/zipped/tophat-2.1.1.Linux_x86_64.tar.gz cd /opt tar -zxf /src/zipped/tophat-2.1.1.Linux_x86_64.tar.gz mv /opt/tophat-2.1.1.Linux_x86_64 /opt/tophat2 # Amend the hash-bang line of the Python scripts to use the local version of Python 2 cd /opt/tophat2 file * | grep "Python script" | while read f do f_name=`echo $f | awk -F: '{print $1}'` sed -i 's|/usr/bin/env python|/opt/python2/bin/python2.7|g' "$f_name" done echo "" echo "0a. Install latest R" echo "===================" apt-get install -y --no-install-recommends software-properties-common dirmngr wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" apt-get install -y --no-install-recommends r-base echo "" echo "0b. Install R modules" echo "=====================" # Install BioConductor Rscript -e 'install.packages("BiocManager", repos="https://cloud.r-project.org")' Rscript -e 'BiocManager::install(version = "3.22")' # Install DEXSeq Rscript -e 'BiocManager::install("DEXSeq")' echo "" echo "1. Download / install bwa" echo "=========================" cd /src/zipped wget -q https://github.com/lh3/bwa/archive/refs/tags/v0.7.19.tar.gz -O bwa-v0.7.19.tar.gz cd /src tar -zxf zipped/bwa-v0.7.19.tar.gz cd bwa-0.7.19/ cp Makefile Makefile.old # Strip out hardcoded CC and CFLAGS to use our own cat Makefile.old | grep -v "^CC=" | grep -v "^CFLAGS=" > Makefile make -j$MAKE_JOBS strip -g bwa cp -v bwa /opt/bin cp -v qualfa2fq.pl /opt/bin cp -v xa2multi.pl /opt/bin cp -v bwa.1 /opt/man echo "" echo "2. Download / install bwa-mem2" echo "==============================" cd /src/zipped wget -q https://github.com/bwa-mem2/bwa-mem2/releases/download/v2.3/Source_code_including_submodules.tar.gz -O bwa-mem2-v2.3.tar.gz cd /src tar -zxf zipped/bwa-mem2-v2.3.tar.gz cd bwa-mem2-2.3 # bwa-mem2 Patch 1 cp ext/safestringlib/safeclib/abort_handler_s.c ext/safestringlib/safeclib/abort_handler_s.c.old cat ext/safestringlib/safeclib/abort_handler_s.c.old | \ sed 's/#include "safeclib_private.h"/#include \n#include "safeclib_private.h"/g' > ext/safestringlib/safeclib/abort_handler_s.c # bwa-mem2 Patch 2 cp ext/safestringlib/safeclib/strcasecmp_s.c ext/safestringlib/safeclib/strcasecmp_s.c.old cat ext/safestringlib/safeclib/strcasecmp_s.c.old | \ sed 's/#include "safeclib_private.h"/#include \n#include "safeclib_private.h"/g' > ext/safestringlib/safeclib/strcasecmp_s.c # bwa-mem2 Patch 3 cp ext/safestringlib/safeclib/strcasestr_s.c ext/safestringlib/safeclib/strcasestr_s.c.old cat ext/safestringlib/safeclib/strcasestr_s.c.old | \ sed 's/#include "safeclib_private.h"/#include \n#include "safeclib_private.h"/g' > ext/safestringlib/safeclib/strcasestr_s.c make -j$MAKE_JOBS strip -g bwa-mem2* cp -v bwa-mem2* /opt/bin echo "" echo "3a. Download / install bwa-meth - toolshed" echo "==========================================" cd /src/zipped wget -q https://pypi.python.org/packages/source/t/toolshed/toolshed-0.4.0.tar.gz -O toolshed-0.4.0.tar.gz cd /src tar -zxf zipped/toolshed-0.4.0.tar.gz cd toolshed-0.4.0 python setup.py install echo "" echo "3b. Download / install bwa-meth" echo "==========================================" cd /src/zipped wget -q https://github.com/brentp/bwa-meth/archive/master.zip -O bwa-meth.zip cd /src unzip zipped/bwa-meth.zip cd bwa-meth-master cp -v bwameth.py /opt/bin ln -sv /opt/bin/bwameth.py /opt/bin/bwameth echo "" echo "4. Download / install samtools" echo "==============================" cd /src/zipped wget -q https://github.com/samtools/samtools/releases/download/1.23/samtools-1.23.tar.bz2 -O samtools-1.23.tar.bz2 cd /src tar -jxf zipped/samtools-1.23.tar.bz2 cd samtools-1.23 ./configure --prefix=/opt make -j$MAKE_JOBS make install strip -g /opt/bin/samtools echo "" echo "5a. Download / install sambamba - ldc" echo "=====================================" cd /src/zipped wget -q https://github.com/ldc-developers/ldc/releases/download/v1.42.0-beta3/ldc2-1.42.0-beta3-linux-x86_64.tar.xz -O ldc2-1.42.0-beta3-linux-x86_64.tar.xz cd /src tar -xf zipped/ldc2-1.42.0-beta3-linux-x86_64.tar.xz # Temporarily add ldc2 to the path PATH=/src/ldc2-1.42.0-beta3-linux-x86_64/bin:$PATH LIBRARY_PATH=/src/ldc2-1.42.0-beta3-linux-x86_64/lib echo "" echo "5b. Download / install sambamba" echo "===============================" cd /src/zipped wget -q https://github.com/biod/sambamba/archive/refs/heads/master.zip -O sambamba-master.zip cd /src unzip zipped/sambamba-master.zip cd sambamba-master CC=gcc-14 make release strip -g bin/sambamba-1.0.1 cp -v bin/sambamba-1.0.1 /opt/bin/sambamba echo "" echo "6. Download / install seqkit" echo "============================" cd /src/zipped wget -q https://github.com/shenwei356/seqkit/archive/refs/tags/v2.12.0.tar.gz -O seqkit-v2.12.0.tar.gz cd /src tar -zxf zipped/seqkit-v2.12.0.tar.gz cd seqkit-2.12.0/seqkit go build strip -g seqkit cp -v seqkit /opt/bin echo "" echo "6. Download / install methyldackel" echo "==================================" cd /src/zipped wget -q https://github.com/dpryan79/MethylDackel/archive/refs/tags/0.6.1.tar.gz -O methyldackel-0.6.1.tar.gz cd /src tar -zxf zipped/methyldackel-0.6.1.tar.gz cd MethylDackel-0.6.1/ make -j$MAKE_JOBS LIBBIGWIG=/lib/x86_64-linux-gnu/libBigWig.a strip -g MethylDackel cp -v MethylDackel /opt/bin ln -s /opt/bin/MethylDackel /opt/bin/methyldackel echo "" echo "7. Download / install minimap" echo "==================================" cd /src/zipped wget -q https://github.com/lh3/minimap2/archive/refs/tags/v2.30.tar.gz -O minimap2-v2.30.tar.gz cd /src tar -zxf zipped/minimap2-v2.30.tar.gz cd minimap2-2.30 cp Makefile Makefile.old # Strip out hardcoded CFLAGS to use our own cat Makefile.old | grep -v "^CFLAGS=" > Makefile make -j$MAKE_JOBS strip -g minimap2 cp -v minimap2 /opt/bin echo "" echo "8. Download / install bedtools2" echo "===============================" cd /src/zipped wget -q https://github.com/arq5x/bedtools2/archive/refs/heads/master.zip -O bedtools2-master.zip cd /src unzip zipped/bedtools2-master.zip cd bedtools2-master cp Makefile Makefile.old # Strip out hardcoded compiler name to use our own cat Makefile.old | sed 's/= g++/= g++-14/g' > Makefile make -j$MAKE_JOBS strip -g bin/bedtools cp -v bin/* /opt/bin echo "" echo "9. Install bam-readcount" echo "========================" cd /src/zipped wget -q https://github.com/genome/bam-readcount/archive/refs/heads/master.zip -O bam-readcount-master.zip cd /src unzip zipped/bam-readcount-master.zip cd bam-readcount-master mkdir build cd build cmake .. # This does not like parallel builds - it ends up out of sequence... make strip -g bin/bam-readcount cp -v bin/bam-readcount /opt/bin echo "" echo "10. Install hisat2" echo "==================" cd /src/zipped wget -q https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi/download -O hisat2-2.2.1.zip cd /src unzip zipped/hisat2-2.2.1.zip cd hisat2-2.2.1 cp Makefile Makefile.old # Strip out hardcoded compiler name to use our own cat Makefile.old | \ sed 's/CC = /CC = gcc-14 #/g' | \ sed 's/CPP = /CPP = g++-14 #/g' | \ sed 's/RELEASE_FLAGS =/RELEASE_FLAGS = $(CFLAGS) /g' > Makefile make -j$MAKE_JOBS strip -g hisat2-align-l strip -g hisat2-align-s strip -g hisat2-build-l strip -g hisat2-align-s strip -g hisat2-inspect-l strip -g hisat2-inspect-s strip -g hisat2-repeat cp -v hisat2 hisat2-align* hisat2-inspect* hisat2-repeat hisat2_*.py extract_*.py /opt/bin echo "" echo "11. Install stringtie" echo "======================" cd /src/zipped wget -q https://ccb.jhu.edu/software/stringtie/dl/stringtie-3.0.3.tar.gz -O stringtie-3.0.3.tar.gz cd /src tar -zxf zipped/stringtie-3.0.3.tar.gz cd stringtie-3.0.3/ make -j$MAKE_JOBS release strip -g stringtie cp -v stringtie /opt/bin cp -v prepDE.py3 /opt/bin/prepDE.py echo "" echo "12. Install gffcompare" echo "======================" cd /src/zipped wget -q https://ccb.jhu.edu/software/stringtie/dl/gffcompare-0.12.9.tar.gz -O gffcompare-0.12.9.tar.gz cd /src tar -zxf zipped/gffcompare-0.12.9.tar.gz cd gffcompare-0.12.9 make -j$MAKE_JOBS strip -g gffcompare strip -g trmap cp -v gffcompare /opt/bin cp -v trmap /opt/bin echo "" echo "13. Install htseq" echo "=================" pip3 install HTSeq --break-system-packages echo "" echo "14. Install picard" echo "==================" cd /src/zipped wget -q https://github.com/broadinstitute/picard/releases/download/3.4.0/picard.jar -O picard-3.4.0.jar cd /src cp -v zipped/picard-3.4.0.jar /opt/bin/picard.jar # We also set up a "java -jar picard.jar" helper alias # via an entry in the post-install %environment section echo "" echo "15a. Install flexbar - seqan" echo "============================" #cd /src/zipped #wget -q https://github.com/seqan/seqan/archive/refs/tags/seqan-v2.5.2.tar.gz -O seqan-v2.5.2.tar.gz #cd /src #tar -zxf zipped/seqan-v2.5.2.tar.gz #cd seqan-seqan-v2.5.2 #mkdir build #cd build #cmake .. #make -j$MAKE_JOBS #cd ../build/bin/ #/bin/ls | grep -v ^demo | grep -v ^test | while read B #do # strip -g $B # cp -v $B /opt/bin #done #echo "" #echo "15b. Install flexbar - Intel threading blocks" #echo "=============================================" #cd /src/zipped #wget -q https://github.com/uxlfoundation/oneTBB/archive/refs/tags/4.4.6.tar.gz -O tbb-4.4.6.tar.gz #cd /src #tar -zxf zipped/tbb-4.4.6.tar.gz #cd oneTBB-4.4.6 # Patch for GCC13+ # Found here: https://github.com/bambulab/BambuStudio/pull/1882/changes/d3459cb1b9f791531fe24b0558c581117243eade #cp include/tbb/task.h include/tbb/task.h.old #cat include/tbb/task.h.old | \ # sed 's/task\* next_offloaded\;/tbb\:\:task\* next_offloaded\;/g' > include/tbb/task.h # Mangle CXXFLAGS to allow compiling the old code against new GCC #CXXFLAGS="-O3 -march=znver4 -pipe -std=c++14" make #cp -v build/linux_intel64_gcc_cc13_libc2.39_kernel6.8.0_release/*.so /opt/lib #cp -v build/linux_intel64_gcc_cc13_libc2.39_kernel6.8.0_release/*.so.2 /opt/lib #cp -v -a include/tbb /opt/include # Reset CXXFLAGS back again #export CXXFLAGS="$CFLAGS" #echo "" #echo "15c. Install flexbar" #echo "====================" #cd /src/zipped #wget -q https://github.com/seqan/flexbar/archive/refs/tags/v3.5.0.tar.gz -O flexbar-v3.5.0.tar.gz #cd /src #tar -zxf zipped/flexbar-v3.5.0.tar.gz #cd flexbar-3.5.0 # Copy in the seqan 'library' - which is C++ code in header files... #cp -a /src/seqan-seqan-v2.5.2/include . #cmake . #make -j$MAKE_JOBS echo "" echo "16. Install regtools" echo "====================" cd /src/zipped wget -q https://github.com/griffithlab/regtools/archive/refs/tags/1.0.0.tar.gz -O regtools-1.0.0.tar.gz cd /src tar -zxf zipped/regtools-1.0.0.tar.gz cd regtools-1.0.0 mkdir build cd build cmake .. make -j$MAKE_JOBS strip -g regtools cp -v regtools /opt/bin echo "" echo "17. Install rseqc" echo "=================" cd /src/zipped wget -q https://sourceforge.net/projects/rseqc/files/RSeQC-5.0.1.tar.gz/download -O RSeQC-5.0.1.tar.gz cd /src # This tar file was created with AD/Domain user owner/group info # ignore it when extracting... tar --no-same-owner -zxf zipped/RSeQC-5.0.1.tar.gz cd RSeQC-5.0.1/ python setup.py install echo "" echo "18. Install bcftools" echo "=====================" cd /src/zipped wget -q https://github.com/samtools/bcftools/releases/download/1.23/bcftools-1.23.tar.bz2 -O bcftools-1.23.tar.bz2 cd /src tar -jxf zipped/bcftools-1.23.tar.bz2 cd bcftools-1.23 ./configure --prefix=/opt --enable-libgsl make make install echo "" echo "19. Install bamutil" echo "===================" cd /src/zipped wget -q https://github.com/statgen/bamUtil/archive/refs/tags/v1.0.15.tar.gz -O bamutil-1.0.15.tar.gz cd /src tar -zxf zipped/bamutil-1.0.15.tar.gz cd bamUtil-1.0.15 # Public git://github.com calls no longer work in 2026+ # Patch it out to https instead. cp Makefile.inc Makefile.inc.old cat Makefile.inc.old | sed 's/git clone git/git clone https/g' > Makefile.inc CFLAGS="$BASE_CFLAGS_ALT -I/opt/include" make cloneLib make make install INSTALLDIR=/opt/bin strip -g /opt/bin/bam CFLAGS="$BASE_CFLAGS -I/opt/include" echo "" echo "20. Install bowtie2" echo "===================" cd /src/zipped wget -q https://github.com/BenLangmead/bowtie2/archive/refs/tags/v2.5.5.tar.gz -O bowtie2-2.5.5.tar.gz cd /src tar -zxf zipped/bowtie2-2.5.5.tar.gz cd bowtie2-2.5.5 mkdir build cd build cmake .. make -j$MAKE_JOBS strip -g bowtie2-* cp -v bowtie2-* /opt/bin cd .. cp -v bowtie2 /opt/bin cp -v bowtie2-inspect /opt/bin cp -v bowtie2-build /opt/bin echo "" echo "21. Install bcl_convert" echo "=======================" cd /src if [ -s /mnt/bcl-convert-4.4.6-2.el8.x86_64.rpm ] then mkdir bcl-convert cd bcl-convert rpm2cpio /mnt/bcl-convert-4.4.6-2.el8.x86_64.rpm | cpio -idmv cp usr/bin/bcl-convert /opt/bin else echo "WARNING!!!! - Unable to find bcl_convert.rpm - this will be skipped" fi # Remove all src packages echo "" echo "Cleaning up downloaded src tree" echo "==================================" cd rm -rf /src pip3 cache purge echo "" echo "7. All done" %environment export PATH=/opt/bin:$PATH export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH export CFLAGS="-O -I/opt/include" export CXXFLAGS="$CFLAGS" export CC=gcc-14 export CXX=g++-14 export FC=gfortran-14 export OMPI_CC=gcc-14 export MANPATH=/opt/man alias picard="java -jar /opt/bin/picard.jar" %runscript **Run file** You should ''source'' this file in order to use the ''container.run'' command. This should have the current container image name set as the ''IMAGE_NAME'' parameter: #!/bin/bash module load apptainer IMAGE_NAME=/nobackup/shared/containers/bioapps.2026.02.sif container.run() { # Run a command inside the container... # automatically bind the /scratch and /nobackup dirs # pass through any additional parameters given on the command line apptainer exec --bind /scratch:/scratch --bind /nobackup:/nobackup ${IMAGE_NAME} $@ } ---- [[:advanced:software|Back to Software]]