In src/fastq/collapse_reads_to_fragments/pipeline.rs, the UMI clustering starcode process (line 132) is never wait()ed on. If starcode fails or is killed (due to an OOM kill on a large dataset for example), the pipeline silently continues with incomplete clustering output and produces a valid-looking but wrong FASTQ file.
The inner starcode (sequence clustering, line 214) does check its exit code at line 263. The outer one does not get the same treatment.
Found while working on clippy warnings.
In
src/fastq/collapse_reads_to_fragments/pipeline.rs, the UMI clustering starcode process (line 132) is neverwait()ed on. If starcode fails or is killed (due to an OOM kill on a large dataset for example), the pipeline silently continues with incomplete clustering output and produces a valid-looking but wrong FASTQ file.The inner starcode (sequence clustering, line 214) does check its exit code at line 263. The outer one does not get the same treatment.
Found while working on clippy warnings.