#!/bin/bash -Ceuo pipefail mkdir -p 1136_4XR-T1-TDNA-1_A23MHWWLT4_1 # Determine whether to split based on params.split_fastq and file size if [ "true" == "false" ]; then split_args="" else file_size=$(stat -f%z 1136_4XR-T1-TDNA-1_A23MHWWLT4_1_S47_L004_R1_001.fastq.gz 2>/dev/null || stat -c%s 1136_4XR-T1-TDNA-1_A23MHWWLT4_1_S47_L004_R1_001.fastq.gz) if [ 8880000000 -gt 0 ] && [ $file_size -lt 8880000000 ]; then split_args="" else split_args="--split_by_lines 400000000" fi fi fastp \ --in1 1136_4XR-T1-TDNA-1_A23MHWWLT4_1_S47_L004_R1_001.fastq.gz \ --in2 1136_4XR-T1-TDNA-1_A23MHWWLT4_1_S47_L004_R2_001.fastq.gz \ --out1 1136_4XR-T1-TDNA-1_A23MHWWLT4_1/1136_4XR-T1-TDNA-1_A23MHWWLT4_1_R1.fastq.gz \ --out2 1136_4XR-T1-TDNA-1_A23MHWWLT4_1/1136_4XR-T1-TDNA-1_A23MHWWLT4_1_R2.fastq.gz \ --detect_adapter_for_pe \ --length_required 15 \ --json 1136_4XR-T1-TDNA-1_A23MHWWLT4_1.fastp.json \ --html 1136_4XR-T1-TDNA-1_A23MHWWLT4_1.fastp.html \ --thread 4 \ $split_args \ 2> >(tee 1136_4XR-T1-TDNA-1_A23MHWWLT4_1.fastp.log >&2) # Remove empty files created by fastp edge case (when reads/chunk_size == threads) find 1136_4XR-T1-TDNA-1_A23MHWWLT4_1 -name "*.fastq.gz" -size 0 -delete # Handle 0-read input: fastp exits 0 but creates no output files. # Create empty gzip files so the output glob matches and downstream sees 0 reads. if [ -z "$(ls -A 1136_4XR-T1-TDNA-1_A23MHWWLT4_1/)" ]; then echo "" | gzip > 1136_4XR-T1-TDNA-1_A23MHWWLT4_1/1136_4XR-T1-TDNA-1_A23MHWWLT4_1_R1.fastq.gz echo "" | gzip > 1136_4XR-T1-TDNA-1_A23MHWWLT4_1/1136_4XR-T1-TDNA-1_A23MHWWLT4_1_R2.fastq.gz fi fastp_version=$(fastp --version 2>&1 | sed 's/fastp //') cat <<-END_VERSIONS > versions.yml "DAQ:FASTP": fastp: $fastp_version END_VERSIONS