Make.contigs command in Mothur 1.47.0 cannot open .fastq files

I am working with the latest version of Mothur (1.47.0) that was installed on two different University HPCs. When running the make.contigs command, I am getting an error message that it cannot open any of the .fastq files in the working directory. I have tried this on both HPCs (I am affiliated with two universities) and the same error occurs. I downloaded the version of Mothur 1.47.0 for Windows and ran make.contigs on my local machine and the command runs fine. I then ran another version of Mothur that was installed on the HPC (1.44.3) and make.contigs is able to open the .fastq files and complete the command. I suspect there is a bug in the code in the Linux version of Mothur 1.47.0 to read .fastq files?

We’ve been using 1.47.0 on linux without any problems. Let’s double check a few things…

  1. Can you post the first lines of the mothur logfile that is generated on the HPC where you’re having the issues?
  2. Can you post the code that you are running
  3. Can you post the output of running ls on the directory that you are pointing make.contigs to?

Hi Pat. Thank you for the reply. Here is the information you requested:

1. Mothur logfile lines:

Linux version

Using ReadLine,Boost,HDF5,GSL
mothur v.1.47.0
Last updated: 1/21/22
by
Patrick D. Schloss

Department of Microbiology & Immunology

University of Michigan
http://www.mothur.org

When using, please cite:
Schloss, P.D., et al., Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol, 2009. 75(23):7537-41.

Distributed under the GNU General Public License

Type 'help()' for information on the commands that are available

For questions and analysis support, please visit our forum at https://forum.mothur.org

Type 'quit()' to exit program

[NOTE]: Setting random seed to 19760620.

Batch Mode



mothur > set.dir(input=/home/FCAM/jquestel/GoAK18S)
Mothur's directories:
inputdir=
	/home/FCAM/jquestel/GoAK18S/


mothur > set.current(processors=36)

Using 36 processors.

Current files saved by mothur:
processors=36

Output File Names: 
current_files.summary


mothur > make.file(inputdir=/home/FCAM/jquestel/GoAK18S, type=fastq, prefix=GAKV4)
Setting input directories to: 
	/home/FCAM/jquestel/GoAK18S/


Output File Names: 
/home/FCAM/jquestel/GoAK18S/GAKV4.files


mothur > make.contigs(file=current)
Using /home/FCAM/jquestel/GoAK18S/GAKV4.files as input file for the file parameter.

Using 36 processors.
Unable to open CVGAK1F1Rep1_R1.fastq. Trying input directory /home/FCAM/jquestel/GoAK18S/CVGAK1F1Rep1_R1.fastq.
Unable to open CVGAK1F1Rep1_R2.fastq. Trying input directory /home/FCAM/jquestel/GoAK18S/CVGAK1F1Rep1_R2.fastq.
Unable to open CVGAK1F1Rep2_R1.fastq. Trying input directory /home/FCAM/jquestel/GoAK18S/CVGAK1F1Rep2_R1.fastq.
Unable to open CVGAK1F1Rep2_R2.fastq. Trying input directory /home/FCAM/jquestel/GoAK18S/CVGAK1F1Rep2_R2.fastq.
...

2. Mothur commands:

set.dir(input=/home/FCAM/jquestel/GoAK18S)
set.current(processors=36)
make.file(inputdir=/home/FCAM/jquestel/GoAK18S, type=fastq, prefix=GAKV4)
make.contigs(file=current)
summary.seqs(fasta=current, count-current)

3. Output of files in my directory

-bash-4.2$ cd GoAK18S
-bash-4.2$ ls
CVGAK1F1Rep1_R1.fastq   MN135n8A2Rep2_R1.fastq  MN19n9H1Rep3_R1.fastq    MOC135n8A4Rep1_R1.fastq
CVGAK1F1Rep1_R2.fastq   MN135n8A2Rep2_R2.fastq  MN19n9H1Rep3_R2.fastq    MOC135n8A4Rep1_R2.fastq
CVGAK1F1Rep2_R1.fastq   MN135n8A2Rep3_R1.fastq  MNGAK1C1Rep1_R1.fastq    MOC135n8A4Rep2_R1.fastq
CVGAK1F1Rep2_R2.fastq   MN135n8A2Rep3_R2.fastq  MNGAK1C1Rep1_R2.fastq    MOC135n8A4Rep2_R2.fastq
CVGAK1F1Rep3_R1.fastq   MN135n9G1Rep1_R1.fastq  MNGAK1C1Rep2_R1.fastq    MOC135n8A4Rep3_R1.fastq
CVGAK1F1Rep3_R2.fastq   MN135n9G1Rep1_R2.fastq  MNGAK1C1Rep2_R2.fastq    MOC135n8A4Rep3_R2.fastq
CVGAK5E1Rep1_R1.fastq   MN135n9G1Rep2_R1.fastq  MNGAK1C1Rep3_R1.fastq    MOC19n1H5Rep1_R1.fastq
CVGAK5E1Rep1_R2.fastq   MN135n9G1Rep2_R2.fastq  MNGAK1C1Rep3_R2.fastq    MOC19n1H5Rep1_R2.fastq
CVGAK5E1Rep2_R1.fastq   MN135n9G1Rep3_R1.fastq  MNGAK5B1Rep1_R1.fastq    MOC19n1H5Rep2_R1.fastq
CVGAK5E1Rep2_R2.fastq   MN135n9G1Rep3_R2.fastq  MNGAK5B1Rep1_R2.fastq    MOC19n1H5Rep2_R2.fastq
CVGAK5E1Rep3_R1.fastq   MN19n1H3Rep1_R1.fastq   MNGAK5B1Rep2_R1.fastq    MOC19n1H5Rep3_R1.fastq
CVGAK5E1Rep3_R2.fastq   MN19n1H3Rep1_R2.fastq   MNGAK5B1Rep2_R2.fastq    MOC19n1H5Rep3_R2.fastq
CVGAK9D1Rep1_R1.fastq   MN19n1H3Rep2_R1.fastq   MNGAK5B1Rep3_R1.fastq    MOC19n2G5Rep1_R1.fastq
CVGAK9D1Rep1_R2.fastq   MN19n1H3Rep2_R2.fastq   MNGAK5B1Rep3_R2.fastq    MOC19n2G5Rep1_R2.fastq
CVGAK9D1Rep2_R1.fastq   MN19n1H3Rep3_R1.fastq   MNGAK9A1Rep1_R1.fastq    MOC19n2G5Rep2_R1.fastq
CVGAK9D1Rep2_R2.fastq   MN19n1H3Rep3_R2.fastq   MNGAK9A1Rep1_R2.fastq    MOC19n2G5Rep2_R2.fastq
CVGAK9D1Rep3_R1.fastq   MN19n2G3Rep1_R1.fastq   MNGAK9A1Rep2_R1.fastq    MOC19n2G5Rep3_R1.fastq
CVGAK9D1Rep3_R2.fastq   MN19n2G3Rep1_R2.fastq   MNGAK9A1Rep2_R2.fastq    MOC19n2G5Rep3_R2.fastq
MN135n1H2Rep1_R1.fastq  MN19n2G3Rep2_R1.fastq   MNGAK9A1Rep3_R1.fastq    MOC19n3F5Rep1_R1.fastq
MN135n1H2Rep1_R2.fastq  MN19n2G3Rep2_R2.fastq   MNGAK9A1Rep3_R2.fastq    MOC19n3F5Rep1_R2.fastq
MN135n1H2Rep2_R1.fastq  MN19n2G3Rep3_R1.fastq   MOC135n1H4Rep1_R1.fastq  MOC19n3F5Rep2_R1.fastq
MN135n1H2Rep2_R2.fastq  MN19n2G3Rep3_R2.fastq   MOC135n1H4Rep1_R2.fastq  MOC19n3F5Rep2_R2.fastq
MN135n1H2Rep3_R1.fastq  MN19n3F3Rep1_R1.fastq   MOC135n1H4Rep2_R1.fastq  MOC19n3F5Rep3_R1.fastq
MN135n1H2Rep3_R2.fastq  MN19n3F3Rep1_R2.fastq   MOC135n1H4Rep2_R2.fastq  MOC19n3F5Rep3_R2.fastq
MN135n2G2Rep1_R1.fastq  MN19n3F3Rep2_R1.fastq   MOC135n1H4Rep3_R1.fastq  MOC19n4E5Rep1_R1.fastq
MN135n2G2Rep1_R2.fastq  MN19n3F3Rep2_R2.fastq   MOC135n1H4Rep3_R2.fastq  MOC19n4E5Rep1_R2.fastq
MN135n2G2Rep2_R1.fastq  MN19n3F3Rep3_R1.fastq   MOC135n2G4Rep1_R1.fastq  MOC19n4E5Rep2_R1.fastq
MN135n2G2Rep2_R2.fastq  MN19n3F3Rep3_R2.fastq   MOC135n2G4Rep1_R2.fastq  MOC19n4E5Rep2_R2.fastq
MN135n2G2Rep3_R1.fastq  MN19n4E3Rep1_R1.fastq   MOC135n2G4Rep2_R1.fastq  MOC19n4E5Rep3_R1.fastq
MN135n2G2Rep3_R2.fastq  MN19n4E3Rep1_R2.fastq   MOC135n2G4Rep2_R2.fastq  MOC19n4E5Rep3_R2.fastq
MN135n3F2Rep1_R1.fastq  MN19n4E3Rep2_R1.fastq   MOC135n2G4Rep3_R1.fastq  MOC19n5D5Rep1_R1.fastq
MN135n3F2Rep1_R2.fastq  MN19n4E3Rep2_R2.fastq   MOC135n2G4Rep3_R2.fastq  MOC19n5D5Rep1_R2.fastq
MN135n3F2Rep2_R1.fastq  MN19n4E3Rep3_R1.fastq   MOC135n3F4Rep1_R1.fastq  MOC19n5D5Rep2_R1.fastq
MN135n3F2Rep2_R2.fastq  MN19n4E3Rep3_R2.fastq   MOC135n3F4Rep1_R2.fastq  MOC19n5D5Rep2_R2.fastq
MN135n3F2Rep3_R1.fastq  MN19n5D3Rep1_R1.fastq   MOC135n3F4Rep2_R1.fastq  MOC19n5D5Rep3_R1.fastq
MN135n3F2Rep3_R2.fastq  MN19n5D3Rep1_R2.fastq   MOC135n3F4Rep2_R2.fastq  MOC19n5D5Rep3_R2.fastq
MN135n4E2Rep1_R1.fastq  MN19n5D3Rep2_R1.fastq   MOC135n3F4Rep3_R1.fastq  MOC19n6C5Rep1_R1.fastq
MN135n4E2Rep1_R2.fastq  MN19n5D3Rep2_R2.fastq   MOC135n3F4Rep3_R2.fastq  MOC19n6C5Rep1_R2.fastq
MN135n4E2Rep2_R1.fastq  MN19n5D3Rep3_R1.fastq   MOC135n4E4Rep1_R1.fastq  MOC19n6C5Rep2_R1.fastq
MN135n4E2Rep2_R2.fastq  MN19n5D3Rep3_R2.fastq   MOC135n4E4Rep1_R2.fastq  MOC19n6C5Rep2_R2.fastq
MN135n4E2Rep3_R1.fastq  MN19n6C3Rep1_R1.fastq   MOC135n4E4Rep2_R1.fastq  MOC19n6C5Rep3_R1.fastq
MN135n4E2Rep3_R2.fastq  MN19n6C3Rep1_R2.fastq   MOC135n4E4Rep2_R2.fastq  MOC19n6C5Rep3_R2.fastq
MN135n5D2Rep1_R1.fastq  MN19n6C3Rep2_R1.fastq   MOC135n4E4Rep3_R1.fastq  MOC19n7B5Rep1_R1.fastq
MN135n5D2Rep1_R2.fastq  MN19n6C3Rep2_R2.fastq   MOC135n4E4Rep3_R2.fastq  MOC19n7B5Rep1_R2.fastq
MN135n5D2Rep2_R1.fastq  MN19n6C3Rep3_R1.fastq   MOC135n5D4Rep1_R1.fastq  MOC19n7B5Rep2_R1.fastq
MN135n5D2Rep2_R2.fastq  MN19n6C3Rep3_R2.fastq   MOC135n5D4Rep1_R2.fastq  MOC19n7B5Rep2_R2.fastq
MN135n5D2Rep3_R1.fastq  MN19n7B3Rep1_R1.fastq   MOC135n5D4Rep2_R1.fastq  MOC19n7B5Rep3_R1.fastq
MN135n5D2Rep3_R2.fastq  MN19n7B3Rep1_R2.fastq   MOC135n5D4Rep2_R2.fastq  MOC19n7B5Rep3_R2.fastq
MN135n6C2Rep1_R1.fastq  MN19n7B3Rep2_R1.fastq   MOC135n5D4Rep3_R1.fastq  MOC19n8A5Rep1_R1.fastq
MN135n6C2Rep1_R2.fastq  MN19n7B3Rep2_R2.fastq   MOC135n5D4Rep3_R2.fastq  MOC19n8A5Rep1_R2.fastq
MN135n6C2Rep2_R1.fastq  MN19n7B3Rep3_R1.fastq   MOC135n6C4Rep1_R1.fastq  MOC19n8A5Rep2_R1.fastq
MN135n6C2Rep2_R2.fastq  MN19n7B3Rep3_R2.fastq   MOC135n6C4Rep1_R2.fastq  MOC19n8A5Rep2_R2.fastq
MN135n6C2Rep3_R1.fastq  MN19n8A3Rep1_R1.fastq   MOC135n6C4Rep2_R1.fastq  MOC19n8A5Rep3_R1.fastq
MN135n6C2Rep3_R2.fastq  MN19n8A3Rep1_R2.fastq   MOC135n6C4Rep2_R2.fastq  MOC19n8A5Rep3_R2.fastq
MN135n7B2Rep1_R1.fastq  MN19n8A3Rep2_R1.fastq   MOC135n6C4Rep3_R1.fastq  UnassignedRep1_R1.fastq
MN135n7B2Rep1_R2.fastq  MN19n8A3Rep2_R2.fastq   MOC135n6C4Rep3_R2.fastq  UnassignedRep1_R2.fastq
MN135n7B2Rep2_R1.fastq  MN19n8A3Rep3_R1.fastq   MOC135n7B4Rep1_R1.fastq  UnassignedRep2_R1.fastq
MN135n7B2Rep2_R2.fastq  MN19n8A3Rep3_R2.fastq   MOC135n7B4Rep1_R2.fastq  UnassignedRep2_R2.fastq
MN135n7B2Rep3_R1.fastq  MN19n9H1Rep1_R1.fastq   MOC135n7B4Rep2_R1.fastq  UnassignedRep3_R1.fastq
MN135n7B2Rep3_R2.fastq  MN19n9H1Rep1_R2.fastq   MOC135n7B4Rep2_R2.fastq  UnassignedRep3_R2.fastq
MN135n8A2Rep1_R1.fastq  MN19n9H1Rep2_R1.fastq   MOC135n7B4Rep3_R1.fastq
MN135n8A2Rep1_R2.fastq  MN19n9H1Rep2_R2.fastq   MOC135n7B4Rep3_R2.fastq

This output looks like mothur is finding the file in the input directory as there is not a further error message like "Unable to open /home/FCAM/jquestel/GoAK18S/CVGAK1F1Rep1_R1.fastq. Trying mothur’s executable location… ". Does the command complete?

I was canceling the job before but I let it run and it was able to continue and make the contigs for the dataset.

With make.file, do you have to specify the input directory if you have already run the set.dir command? I’m just trying to understand why the “Unable to open…” errors are being generated. My starting few lines of code are:

set.dir(input=/home/FCAM/jquestel/NPRBGoAK18S)
set.current(processors=36)
make.file(inputdir=/home/FCAM/jquestel/NPRBGoAK18S, type=fastq, prefix=GAKV4)
make.contigs(file=current)

We don’t add the path to the filenames in the file file. This is done so if you move the files you don’t have you rerun the command. The "Unable to open… " message is not considered an error by mothur until all locations below are checked. Mothur checks the locations in the following order:

  1. Current working directory
  2. Input directories - input parameter
  3. Output directories - output parameter
  4. Mothur’s executable location - ‘mothurhome’ keyword
  5. Mothur’s tools location - tools parameter
  6. MothurFiles location - mothurfiles parameter

You can set these locations with the set.dir command, set.dir

I got that same error, but mothur found them when it looked in the input dir. I think I will add a set.dir() for my input directory to be more explicit to mothur.