Skip to main content

Software and System Setup

When you set up Bases2Fastq on a system, you must install a static binary executable or use a Docker container. In addition to setting 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

Bases2Fastq is compatible with various operating systems (OS). Review the following compatibility matrix to determine the appropriate Bases2Fastq distribution for your OS.

Operating SystemDocker CompatibilityStatic Binary CompatibilityOS Notes
Linux OSYesYesThe static binary executable is compatible with any Linux OS on an x86 architecture that uses glibc v2.17 or later.

To verify the glibc version for static binary, run the following command: ldd --version
Windows OSYesYes, with WSL onlyWindows is not directly compatible with the static binary executable.

To use Bases2Fatsq with Windows OS, consult your IT representative to choose one of the following options:
Mac OSYesNoMacOS is not compatible with the static binary executable. Install Docker and run using Docker.
note

Bases2Fastq is not supported on arm processors.

Memory and Performance

Software performance depends on the resources dedicated to the processing environment. For optimal performance, make sure you have at least 16 CPU cores available and enable threading Bases2Fastq with the -p argument. Both Docker and static binary require 4 GB RAM per concurrent thread.

The following benchmarks estimate the time Bases2Fastq takes to execute a 2 x 150 sequencing run:

SetupTime Estimate
A non-volatile memory express (NVMe) solid-state drive (SSD) using 8 threads60 minutes
An NVMe SSD using 20 threads30 minutes
An Amazon m5.12xlarge EC2 instance with 48 virtual CPUs and onboard SSD storage< 30 minutes

Temporary Directory

When using cloud storage, Bases2Fastq downloads input files and stages output files in a temporary directory. Intermediate files 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 depends on the number of polonies and cycles in the run and the optional arguments in the Bases2Fastq execution.

By default, Bases2Fastq 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:

Set TMPDIR in Linux env
export TMPDIR="/path/to/scratch"

File Transfer and Storage Setup

To transfer files, Bases2Fastq 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 Web Services Simple Storage Service (AWS S3)
  • Google Cloud Storage (GCS)
  • Any rclone-compatible provider

AWS S3 and GCS storage connections require credential configuration for Bases2Fastq execution. See Execute with AWS S3 and Execute with GCS for more information.

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 Bases2Fastq to access many cloud storage providers. However, Element has not tested every available rclone provider.

Follow the instructions at rclone.org/install to download and install rclone. Configure an rclone remote to communicate with your cloud storage. For more information, see the provider-specific instructions at rclone.org/#providers.

Bases2Fastq Installation

Set up Bases2Fastq using Docker or static binary. Current and previous versions are available for installation.

NOTE

The static binary executable for Bases2Fastq is only compatible with specific OS configurations. Review the OS requirements before attempting installation.

Install the Current Version

  1. Follow the OS-specific instructions at docs.docker.com/get-docker/.

  2. Run the following command to pull the latest version of the Bases2Fastq image from the Element public registry at DockerHub:

docker pull elembio/bases2fastq
  1. To confirm that Bases2Fastq is operational, run the following commands to display the software version and help content:
docker run elembio/bases2fastq bases2fastq --version
docker run elembio/bases2fastq bases2fastq --help

Install a Previous Version

Bases2Fastq follows the semantic versioning specification. All major, minor, and patch versions are available by tag for both the Docker and static binary.

  1. See Release Notes and Version Compatibility to review information for previous versions of Bases2Fastq.

  2. Complete the instructions for Bases2Fastq installation using a command to download a previous version, as shown in the following code examples.

# Get the latest of version 1
docker pull elembio/bases2fastq:1

# Get the latest minor 1.7 version
docker pull elembio/bases2fastq:1.7

# Get a specific major, minor, patch version
docker pull elembio/bases2fastq:1.7.0