Software and system setup
When you set up Bases2FastqDx on a system, you must install a static binary executable or use a Docker container. Additionally, to set up Docker or a static binary compute environment that meets system requirements, you must configure the compute environment to transfer files.
System requirements
Operating system
Bases2FastqDx is compatible with various operating systems (OS). Review the following compatibility matrix to determine the appropriate Bases2FastqDx distribution for your OS:
| Operating System | Docker Compatibility | Static Binary Compatibility | OS Notes |
|---|---|---|---|
| Linux OS | The static binary executable is compatible with any Linux OS on an x86 architecture that uses glibc v2.19 or later. To verify the glibc version for static binary, run the following command: ldd --version | ||
| Windows OS | Windows OS is not directly compatible with the static binary executable. Install Docker and run using Docker. Make sure to review the system requirements. Element recommends enabling the WSL 2 backend feature. | ||
| Windows OS with Windows Subsystem for Linux (WSL) | If you install WSL on Windows OS, you can use the static binary executable in the WSL environment. | ||
| Mac OS | MacOS is not compatible with the static binary executable. Install Docker and run using Docker. |
Bases2FastqDx is not supported on ARM processors.
Memory and performance
Software performance is based on the resources that are dedicated to the processing environment. For optimal performance, make sure that you have at least 16 CPU cores available and enable threading Bases2FastqDx with the -p argument. The following memory requirements apply to both Docker and static binary distributions:
- A 2 x 75 or 2 x 150 AVITI Dx System run requires 4 GB RAM per concurrent thread.
- A 2 x 300 AVITI Dx System run requires 6 GB RAM per concurrent thread.
The following benchmarks estimate the time Bases2FastqDx takes to execute a 2 x 150 sequencing run:
| Setup | Time Estimate |
|---|---|
| A non-volatile memory express (NVMe) solid-state drive (SSD) that uses 8 threads | 60 minutes |
| An NVMe SSD that uses 20 threads | 30 minutes |
| An Amazon m5.12xlarge EC2 instance with 48 virtual CPUs and onboard SSD storage | < 30 minutes |
Temporary directory
When you use cloud storage, Bases2FastqDx downloads input files and stages output files in a temporary directory. Intermediate files that are generated during analysis are also stored in the temporary directory. After an execution completes, the temporary directory is cleared.
The temporary directory typically uses 400–500 GB for a 2 x 150 run (approximately 1 billion reads). For some applications, a run can use up to 800 GB. The necessary amount of scratch space is based on on the number of polonies and cycles in the run and the optional arguments in the Bases2FastqDx execution.
By default, Bases2FastqDx uses the temporary directory of the OS. To change the location of the temporary directory, set the environment variable TMPDIR. Use the following example command and replace /path/to/scratch with the desired directory:
export TMPDIR="/path/to/scratch"
File transfer and storage setup
To transfer files, Bases2FastqDx requires paths to input and output locations. You can store input and output files in a local location or the cloud. For cloud storage, the following providers are compatible:
- Amazon Simple Storage Service (Amazon S3)
- Google Cloud Storage (GCS)
- Any rclone-compatible provider
Amazon S3 and GCS storage connections require credential configuration for Bases2FastqDx execution. For more information, see Execute with Amazon S3 and Execute with GCS.
Rclone requirements
Rclone is a command-line program to manage files on cloud storage. Rclone provides the ability to mount any local, cloud, or virtual file system. Rclone allows Bases2FastqDx to access many cloud storage providers. However, Element has not tested every available rclone provider.
To download and install rclone, follow the instructions at rclone.org/install. To communicate with your cloud storage, configure an rclone remote setup. For more information, see the provider-specific instructions at rclone.org/#providers.
Bases2FastqDx installation
To set up Bases2FastqDx, use Docker or static binary. Current and previous versions are available for installation.
The static binary executable for Bases2FastqDx is only compatible with specific OS configurations. Before installation, review the OS requirements.
Install the current version
- Docker
- Static Binary
-
Follow the OS-specific instructions at docs.docker.com/get-docker/.
-
To pull the latest version of the Bases2FastqDx image from the Element public registry at Docker Hub, run the following command:
docker pull elembio/bases2fastqdx -
To confirm that Bases2FastqDx is operational, run the following commands to display the software version and help content:
docker run elembio/bases2fastqdx bases2fastq --versiondocker run elembio/bases2fastqdx bases2fastq --help -
To test the software, you can download simulated data and complete the Getting Started with Bases2FastqDx tutorial.
-
To download the latest version of the static binary from the Bases2FastqDx release bucket (
s3://bases2fastqdx-release/), run the followingcurlcommand:curl https://bases2fastqdx-release.s3.amazonaws.com/bases2fastq-latest.tar.gz -o bases2fastq-latest.tar.gz -
To extract the file, run the following
tarcommand:tar -xvf bases2fastq-latest.tar.gz -
To confirm that the extracted
bases2fastqexecutable matches the published checksum for the current release, runmd5sumand compare the value to the following table:Release File MD5 checksum 2.4.1 bases2fastqcff64fad1a149b27f9f05e7dcad6adc9Check md5sum in Linux OSmd5sum bases2fastqIf the value does not match, delete the downloaded files and download the archive again.
-
To confirm that Bases2FastqDx is operational, run the following commands to display the software version and help content:
./bases2fastq --version./bases2fastq --help -
Run one of the following commands to install Python 3.9 or newer with NumPy, Bokeh, and bs4 packages:
Linux dependency installationsudo apt install python3 python3-pip libjpeg-dev zlib1g-devpip3 install numpy==1.* bs4==0.*pip3 install 'bokeh>=2.3,<3'pip3 install pip --upgradeCentOS dependency installationsudo yum install python3 python3-pip libjpeg‑turbo‑devel zlib-develpip3 install numpy==1.* bs4==0.*pip3 install 'bokeh>=2.3,<3'pip3 install pip --upgradeThe bs4 package requires Pillow, which requires
libjpeg-devandzlib-dev. Also, packages might require you to upgradepip3. Install packages based on your system.If you do not install Python 3.9 or newer, or a package is missing, then Bases2FastqDx logs a warning and does not generate QC reports.
-
To generate multiQC reports, run the following commands to install multiQC dependency:
pip install multiqc -
To test the software, download the simulated data, and then complete the Getting Started with Bases2FastqDx for Sequencing tutorial.
Install a previous version
Bases2FastqDx follows the semantic versioning specification. All major, minor, and patch versions are available by tag for both the Docker and static binary.
-
To review information for previous versions of Bases2FastqDx, see Release Notes and Version Compatibility.
-
To complete the instructions for Bases2FastqDx installation use a command to download a previous version. See the following code examples:
- Docker
- Static Binary
# Get the latest of version 2
docker pull elembio/bases2fastqdx:2
# Get the latest minor 2.4 version
docker pull elembio/bases2fastqdx:2.4
# Get a specific major, minor, patch version
docker pull elembio/bases2fastqdx:2.4.1
To retrieve the desired version, replace the {version} in the URL https://bases2fastqdx-release.s3.amazonaws.com/bases2fastq-{version}.tar.gz.
# Get the latest of version 2
curl https://bases2fastqdx-release.s3.amazonaws.com/bases2fastq-v2.tar.gz -o bases2fastq-v2.tar.gz
# Get the latest minor 2.4 version
curl https://bases2fastqdx-release.s3.amazonaws.com/bases2fastq-v2.4.tar.gz -o bases2fastq-v2.4.tar.gz
# Get a specific major, minor, patch version
curl https://bases2fastqdx-release.s3.amazonaws.com/bases2fastq-v2.4.1.tar.gz -o bases2fastq-v2.4.1.tar.gz
Verifying Bases2FastqDx binary via signature
The Bases2FastqDx binary is digitally signed by DigiCert to ensure security. The release archive includes a matching bases2fastq.sig file. To verify the signature, use the extracted binary and signature files:
openssl cms -verify -binary -inform DER -in bases2fastq.sig -content ./bases2fastq -CApath /etc/ssl/certs -purpose any > /dev/null && echo "OK: signature valid"
You should receive a response verifying the binary is the same image Element published.
OK: signature valid