====== DNAscent ======
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.
* https://github.com/MBoemo/DNAscent
===== Installation ======
Conda is __not__ needed to install DNAscent, but several software modules on the HPC are needed to be loaded:
* GCC
* CMake
* Python
* Perl
* Boost
**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'':
#!/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'':
$ ls -l DNAscent/bin
total 41464
-rwx------ 1 n1234 mygroup 42456656 Apr 28 11:53 DNAscent
----
==== Testing ====
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.
$
----
==== Errors ====
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.
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 [[https://github.com/MBoemo/DNAscent/issues/90|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
You are missing the **Boost** library. Ensure you have loaded it via ''module load Boost'' and restart the install.
**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.
===== Using DNAscent =====
----
[[:advanced:software|Back to Advanced Software Index]]