hildebra / lotus2

Amplicon sequencing pipelines suitable for SSU (16S, 18S), LSU (23S, 28S) and ITS.
http://lotus2.earlham.ac.uk/
GNU General Public License v3.0
52 stars 17 forks source link

TaxOnly option specified, but not an output dir. #46

Closed slambrechts closed 1 year ago

slambrechts commented 1 year ago

Hi,

When I run:

lotus2 -taxOnly OTUs.fasta -o lotustax -refDB KSGP_v1.0.fasta -tax4refDB KSGP_v1.0.tax -taxAligner usearch -ITSx 0 -t 48

I get:

TaxOnly option specified, but not an output dir. Assumming:
mkdir: cannot create directory ‘/primary/’: Permission denied
mkdir: missing operand
Try 'mkdir --help' for more information.
mkdir: cannot create directory ‘/LotuSLogS/’: Permission denied
mkdir: cannot create directory ‘/ExtraFiles/’: Permission denied
Can't open Logfile /LotuSLogS/LotuS_run.log

I also tried with the absolute path to the output directory etc, but I keep getting the same error message.

Any idea what I am doing wrong?

hildebra commented 1 year ago

Hey Sam, maybe try: lotus2 -taxOnly /path/toOTUs.fasta -refDB KSGP -taxAligner lambda -t 12

slambrechts commented 1 year ago

lotus2 -taxOnly ./OTUs.fasta does idd not result in the mkdir errors. Although he still assumes no output directory is specified, while I do list it using the -o parameter...

Lotus2 does seem to start however and sets the output directory at OTUs.fasta/tmp

-taxOnly needs to be followed by the input file right? Or am I doing this wrong?

KSGP is already an option for -refDB? Because I am buidling the UDB database myself now as a custom db with the KSGP files from https://ksgp.earlham.ac.uk/

hildebra commented 1 year ago

Hey Sam, can you make sure you use the latest github version of lotus2 (2.28)? There were some recent changes to -taxOnly, the conda version can make problems sometimes as it doesn't have the latest updates

slambrechts commented 1 year ago

Ah ok, thanks, I was indeed using the conda version, I will try again with the latest git version

slambrechts commented 1 year ago

When using the latest github version, lotus2 still assumes no output directory is specified, while I do list it using the -o parameter. I tried both with -o lotustax and -o ./lotustax

A bit further down the line I get the following error message:

cp: cannot create regular file '/kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea//tmp/': Not a directory

But not sure whether this is important, because I did get taxonomic identifications for my OTUs this time:

Taxonomy for
          /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/OTUs.fasta
           has been assigned to
          /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/OTUs.fasta.hier

which look good!

Full lotus screen output:

(Rbase) [vsc46214@node4116 archaea]$ lotus2 -taxOnly /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/OTUs.fasta -o ./lotustax -refDB KSGP -taxAligner blast -ITSx 0 -t 64
TaxOnly option specified, but not an output dir. Assumming: /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/
Using tmp outdir /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea//tmp/
--------------------------------------------------------------------------------
 00:00:00 ______       _____       ________  ___
          ___  / ________  /____  ___  ___/ |__ \
          __  /  _  __ \  __/  / / /____ \  __/ /
          _  /___/ /_/ / /_ / /_/ /____/ / / __/
          /_____/\____/\__/ \__,_/ /____/ /____/

          LotuS 2.28
          COMMAND
          perl /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/lotus2/lotus2
          -taxOnly /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/OTUs.fasta
          -o ./lotustax -refDB KSGP -taxAligner blast -ITSx 0 -t 64
--------------------------------------------------------------------------------
------------ I/O configuration --------------
Input
Output      /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea//tmp/
SDM options
TempDir     /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea//tmpFiles/
NumCores    64
------------ Pipeline config   --------------
Sequencing platform     miseq
Amplicon target         bacteria, SSU
Dereplication filter    -derepMin 8:1,4:2,3:3
Clustering algorithm    UPARSE -> OTU's
Read mapping to OTU     minimap2, at 0.97 %id cutoff
Precluster read merging No
Ref Chimera checking    Yes (DB=/kyukon/scratch/gent/vo/001/gvo00123/vsc46214/lotus2//DB//rdp_gold.fa, -chim_skew 2)
deNovo Chimera check    Yes
Tax assignment          Blast (-LCA_frac 0.8, -LCA_cover 0.5, -LCA_idthresh 97,95,88,83,81,78,0)
ReferenceDatabase       KSGP
RefDB location          /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/lotus2//DB//KSGP_v1.0.fasta
OTU phylogeny           Yes (mafft, fasttree2)
Unclassified OTU's      Kept in matrix
--------------------------------------------
Skipping Quality Filtering & demultiplexing & dereplication step
No qual filter, demultiplexing or clustering required, as taxonomy only requested
Creating Blast formated reference, this may take awhile..
--------------------------------------------------------------------------------
 00:01:44 Assigning taxonomy against /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/lotus2//DB//KSGP_v1.0.fasta
          using BLAST
--------------------------------------------------------------------------------
cp: cannot create regular file '/kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea//tmp/': Not a directory
--------------------------------------------------------------------------------
 00:17:41 Taxonomy for
          /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/OTUs.fasta
           has been assigned to
          /kyukon/scratch/gent/vo/001/gvo00123/vsc46214/longreads/archaea/OTUs.fasta.hier
hildebra commented 1 year ago

Hey Sam, thanks for confirming this works. If I find the time I'll try to implement the -o option correctly, it seems you ran into a problem there and it's likely in the pipeline. All the best, Falk