DNAscent is software designed to detect the base analogues BrdU and EdU in single molecules of DNA sequenced on the Oxford Nanopore platform. In an experimental setup where BrdU and EdU are incorporated into nascent DNA by replication forks, this software can be used to answer questions that were traditionally answered by DNA fibre analysis. DNAscent can also call the genomic positions of stalled and stressed replication forks for use as a replication stress assay.
Conda is not needed to install DNAscent, but several software modules on the HPC are needed to be loaded:
Software module versions
The version numbers shown in the build script below are based on the latest versions of the software available on Rocket. Newer versions will also likely work, but the commands in the script below ensure that the install uses the latest software modules installed on Rocket. Not specifying the versions below on Rocket may result in the build not completing (see Errors, below).
To build DNAscent on our HPC facilities, please use the following installation recipe in this script named build_dnascent.sh, below. Copy and paste the content into a new file on Rocket and save it as build_dnascent.sh:
build_dnascent.sh
#!/bin/bash # Create the new DNAscent build folder git clone --recursive https://github.com/MBoemo/DNAscent.git cd DNAscent # Replace the version below with what you want. Releases are listed here: https://github.com/MBoemo/DNAscent/releases git checkout 4.0.3 # Load HPC software build tools # Python and Perl are needed during the compilation stage by a number of tools and libraries DNAscent installs. # If you do not load the modules below, then it will try to use the system default versions of Python and Perl... # ... those system versions are likely *not* what it needs! module load GCC module load CMake module load Python/3.11.3-GCCcore-12.3.0 module load Perl/5.36.1-GCCcore-12.3.0 module load Boost/1.82.0-GCC-12.3.0 # Compile the DNAscent toolchain and supporting applications. This takes a ...long... time make -j2 make
Make the script executable and then run it:
$ chmod +x build_dnascent.sh $ ./build_dnascent.sh ... ... $
The build process can take some time (5-10 minutes), and it will eventually return to the command line. If everything has built correctly, then the DNAscent binary/application will be placed in DNAscent/bin:
DNAscent
DNAscent/bin
$ ls -l DNAscent/bin total 41464 -rwx------ 1 n1234 mygroup 42456656 Apr 28 11:53 DNAscent
You should ensure that the Python, Perl and Boost software modules are loaded, since parts of DNAscent used them during installation:
$ module load Python/3.11.3-GCCcore-12.3.0 $ module load Perl/5.36.1-GCCcore-12.3.0 $ module load Boost/1.82.0-GCC-12.3.0 $ DNAscent/bin/DNAscent -v Version: 4.0.3 Written by Michael Boemo, Department of Pathology, University of Cambridge. Please submit bug reports to GitHub Issues. $
Can't locate IPC/Cmd.pm
This indicates a version of Perl is being used during the installation which is missing the perl-IPC-Cmd module. You need to ensure that you are calling module load Perl before starting the install.
perl-IPC-Cmd
module load Perl
ERROR: There are invalid packages (packages that cannot exist for this configuration): arrow/12.0.0: Invalid ID: arrow/12.0.0 requires C++17, which your compiler does not support.
This appears to indicate that your C++ compiler is too old, but this is not the case (GCC has supported C++17 since v11; and we are using at least GCC 12.3). The actual error is that one or more previous stages of the make process failed. Ensure you have loaded all needed software modules and restart the install.
fatal error: pod5_format/pod5_format_export.h: No such file or directory
An earlier part of the make process failed and the local dependency of hdf5 has not installed correctly. Ensure you have loaded all needed software modules and restart the install.
src/pod5.cpp:18:10: fatal error: boost/lexical_cast.hpp: No such file or directory 18 | #include <boost/lexical_cast.hpp>
You are missing the Boost library. Ensure you have loaded it via module load Boost and restart the install.
module load Boost
In summary; most errors encountered during the build phase are due to the DNAscent installation calling either Python or Perl for one or more dependencies. Ensure that you load all of the necessary software modules before you start the install - the install script linked above does this for you.
Back to Advanced Software Index
Table of Contents
Main Content Sections
Documentation Tools