This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Error showing Unable to determine input files in Trimmomatic

Hello all, I am trying to run trimmomatic on paired fastq file. Can anyone please explain why it is unable to determine the input files?

Fastq files
SO_5492_LR_60A_BR_01_R1.fastq SO_5492_LR_60A_BR_01_R2.fastq

This is the command I used Trimmomatic PE -threads 30 -basein SO_5492_LR_60A_BR_01_R1.fastq -baseout trim/SO_5492_LR_60A_BR_01.fq ILLUMINACLIP:./TruSeq3-PE.fa:2:30:10 SLIDINGWINDOW:4:15

Output

TrimmomaticPE: Started with arguments: -threads 30 -basein SO_5492_LR_60A_BR_01_R1.fastq -baseout trim/SO_5492_LR_60A_BR_01.fq ILLUMINACLIP:./TruSeq3-PE.fa:2:30:10 SLIDINGWINDOW:4:15 Unable to determine input files from: SO_5492_LR_60A_BR_01_R1.fastq

ngs rnaseq trimmomatic fastq

1 answer

You can try this if basein is not working:

trimmomatic PE -threads 30 SO_5492_LR_60A_BR_01_R1.fastq  SO_5492_LR_60A_BR_01_R2.fastq  \
              trim/SO_5492_LR_60A_BR_01_R1.trimmed.fastq trim/SO_5492_LR_60A_BR_01_R1.untrimmed.fastq \
              trim/SO_5492_LR_60A_BR_01_R2.trimmed.fastq trim/SO_5492_LR_60A_BR_01_R2.untrimmed.fastq \
              ILLUMINACLIP:./TruSeq3-PE.fa:2:30:10 SLIDINGWINDOW:4:15

I might be wrong here, but I guess trimmomatic is not able to guess the base name (regex). Look at below example:

$ touch SO_5492_LR_60A_BR_01_R{1..2}.fastq                                                                                         

$ tree .
.
├── SO_5492_LR_60A_BR_01_R1.fastq
└── SO_5492_LR_60A_BR_01_R2.fastq

$ rename  's/.fastq/_001.fastq/' *.fastq                                                                                           
$ tree .
.
├── SO_5492_LR_60A_BR_01_R1_001.fastq
└── SO_5492_LR_60A_BR_01_R2_001.fastq

$ trimmomatic PE -basein SO_5492_LR_60A_BR_01_R1_001.fastq  -baseout SO_5492_LR_60A_BR_01.trim.fastq  CROP:75 HEADCROP:9 MINLEN:21 

TrimmomaticPE: Started with arguments:
 -basein SO_5492_LR_60A_BR_01_R1_001.fastq -baseout SO_5492_LR_60A_BR_01.trim.fastq CROP:75 HEADCROP:9 MINLEN:21
Multiple cores found: Using 4 threads
Using templated Input files: SO_5492_LR_60A_BR_01_R1_001.fastq SO_5492_LR_60A_BR_01_R2_001.fastq
Using templated Output files: SO_5492_LR_60A_BR_01.trim_1P.fastq SO_5492_LR_60A_BR_01.trim_1U.fastq SO_5492_LR_60A_BR_01.trim_2P.fastq SO_5492_LR_60A_BR_01.trim_2U.fastq
Error: Unable to detect quality encoding

$  rename 's/_001.fastq/.fastq/' *.fastq
Thu 11  2:30PM test % tree . 
.
├── SO_5492_LR_60A_BR_01_R1.fastq
└── SO_5492_LR_60A_BR_01_R2.fastq

0 directories, 2 files

$  trimmomatic PE -basein SO_5492_LR_60A_BR_01_R1.fastq  -baseout SO_5492_LR_60A_BR_01.trim.fastq  CROP:75 HEADCROP:9 MINLEN:21 

TrimmomaticPE: Started with arguments:
 -basein SO_5492_LR_60A_BR_01_R1.fastq -baseout SO_5492_LR_60A_BR_01.trim.fastq CROP:75 HEADCROP:9 MINLEN:21
Multiple cores found: Using 4 threads
Unable to determine input files from: SO_5492_LR_60A_BR_01_R1.fastq

Adding 001 at the end of file name (before R1/R2), worked, where as same file name without 001 failed. I guess it is some thing to do with trimmomatic regex detection method or it has only few acceptable regex to parse.

PS: Error: Unable to detect quality error is due to dummy files I have used.

Thank you for this great help, I used rename command and now it is running fine.

Though it worked, I would not suggest that. One needs to understand the Trimmomatic behavior and change the code accordingly. Above one is a hack.

Log in to answer this question.