I simply need to run Trimmomatic, but he doesn`t see input files. May be you know how to deal with it?
#creating variables
INPUT_DIR="path/folderinput"
OUTPUT_DIR="path/folderoutput"
APPENDIX=".fastq.gz"
APPENDIX1="_R1.fastq.gz"
APPENDIX2="_R2.fastq.gz"
TRIMMOMATIC="java -jar /home/path/trimmomatic-0.36.jar"
#creating a loop
for i in $INPUT_DIR/*$APPENDIX1
do
FORWARD=$(basename "$i")
REVERSE=${FORWARD/_R1.fastq.gz/$APPENDIX2}
FORWARDO=$OUTPUT_DIR/$FORWARD
REVERSEO=$OUTPUT_DIR/$REVERSE
FORWARDI=$i
REVERSE=${FORWARDI/_R1.fastq.gz/$APPENDIX2}
echo "Now I am processing PE reads $FORWARD and $REVERSE - Trimming"
$TRIMMOMATIC PE -phred33 -trimlog $FORWARDO_trim.log $FORWARDI $REVERSE ${FORWARDO%$APPENDIX}_trim.fastq.gz ${FORWARDO%$APPENDIX}_unpaired.fastq.gz ${REVERSEO%$APPENDIX}_trim.fastq.gz ${REVERSEO%$APPENDIX}_unpaired.fastq.gz ILLUMINACLIP:NexteraPE-PE.fa:2:30:10 MINLEN:75
echo "Done processing PE reads $FORWARD and $REVERSE - Trimming"
done
#And the error pops up
Now I am processing PE reads 8764_R1.fastq.gz and path/folderinput/8764_R2.fastq.gz - Trimming
TrimmomaticPE: Started with arguments:
-phred33 -trimlog .log path/folderinput/8764_R1.fastq.gz Valeria/AZV_DNA_profiling/Data/raw/210921_Tina_QIAseq_batch7/8764_R2.fastq.gz path/folderoutput/8764_R1_trim.fastq.gz path/folderoutput/8764_R1_unpaired.fastq.gz path/folderoutput/8764_R2_trim.fastq.gz path/folderoutput/8764_R2_unpaired.fastq.gz ILLUMINACLIP:NexteraPE-PE.fa:2:30:10 MINLEN:105
Using PrefixPair: 'AGATGTGTATAAGAGACAG' and 'AGATGTGTATAAGAGACAG'
Using Long Clipping Sequence: 'GTCTCGTGGGCTCGGAGATGTGTATAAGAGACAG'
Using Long Clipping Sequence: 'TCGTCGGCAGCGTCAGATGTGTATAAGAGACAG'
Using Long Clipping Sequence: 'CTGTCTCTTATACACATCTCCGAGCCCACGAGAC'
Using Long Clipping Sequence: 'CTGTCTCTTATACACATCTGACGCTGCCGACGA'
ILLUMINACLIP: Using 1 prefix pairs, 4 forward/reverse sequences, 0 forward only sequences, 0 reverse only sequences
Exception in thread "main" java.io.FileNotFoundException: path/folderinput/8764_R1.fastq.gz (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:155)
at org.usadellab.trimmomatic.fastq.FastqParser.parse(FastqParser.java:135)
at org.usadellab.trimmomatic.TrimmomaticPE.process(TrimmomaticPE.java:264)
at org.usadellab.trimmomatic.TrimmomaticPE.run(TrimmomaticPE.java:539)
at org.usadellab.trimmomatic.Trimmomatic.main(Trimmomatic.java:80)
Done processing PE reads 8764_R1.fastq.gz and path/folderinput/8764_R2.fastq.gz - Trimming
1 answer
Loud and clear: Exception in thread "main" java.io.FileNotFoundException: path/folderinput/8764_R1.fastq.gz (No such file or directory)
The file does not exist. You must have edited your output or script or both somehow. Otherwise, I don't see how Valeria/AZV_DNA_profiling/Data/raw/210921_Tina_QIAseq_batch7/ could come into this. Therefore, the output you pasted is not identical to what your script would give. Also, try to simplify the script reducing the unnecessary variables.
Also do yourself a favor and use set -eux at the beginning of your script. That makes it much easier to debug.
Now I am processing PE reads File_1_R1.fastq.gz and path/folderinput/File_1_R2.fastq.gz - Trimming
In fact this is what your script really attempts to run:
java -jar /home/path/trimmomatic-0.36.jar PE -phred33 -trimlog .log path/folderinput/File_1_R1.fastq.gz path/folderinput/File_1_R2.fastq.gz path/folderoutput/File_1_R1_trim.fastq.gz path/folderoutput/File_1_R1_unpaired.fastq.gz path/folderoutput/File_1_R2_trim.fastq.gz path/folderoutput/File_1_R2_unpaired.fastq.gz ILLUMINACLIP:NexteraPE-PE.fa:2:30:10 MINLEN:75
Therefore, the command would run fine if the R1_ file really existed, except for the empty .log variable.
To fix this, change:
$FORWARDO_trim.log
to
${FORWARDO}_trim.log
Log in to answer this question.