DOTUR for Qiime

56 views
Skip to first unread message

Marc Jan Bonder

unread,
Jun 20, 2011, 7:53:49 AM6/20/11
to qiime...@googlegroups.com
Hello everyone,

I'm trying to install QIIME natively. I already got the normal pipleline running. The only thing is that I can’t install DOTUR. I already contacted Pat Schloss from DOTUR and he said : “We are no longer supporting dotur since it has been vastly improved upon in mothur.  I would encourage you to use that instead. Pat”

I don’t know where Qiime uses dotur for or that the installation of mother only is enough. Can someone help with this?

When i just want to install DOTUR i get these errors:

g++ dotur.C -O4 -o dotur

 

In file included from dotur.C:6:

otu.h: In member function 'void DistanceMatrix::read(std::string, int)':

otu.h:70: error: 'exit' was not declared in this scope

otu.h:87: error: 'rand' was not declared in this scope

otu.h:87: error: 'RAND_MAX' was not declared in this scope

otu.h: In member function 'int DistanceMatrix::print_nonred_w(std::string, std::string, std::string, int, int&, std::vector<float, std::allocator<float> >&)':

otu.h:336: error: 'sort' was not declared in this scope

otu.h:380: error: 'sort' was not declared in this scope

In file included from dotur.C:7:

richness.h: In member function 'void OTUMatrix::readotu()':

richness.h:53: error: 'exit' was not declared in this scope

richness.h: In member function 'void OTUMatrix::readlist(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':

richness.h:105: error: 'exit' was not declared in this scope

richness.h: In member function 'void OTUMatrix::rarefaction(std::vector<int, std::allocator<int> >&, int, int)':

richness.h:270: error: 'rand' was not declared in this scope

richness.h:270: error: 'RAND_MAX' was not declared in this scope

richness.h:276: error: 'rand' was not declared in this scope

richness.h:276: error: 'RAND_MAX' was not declared in this scope

richness.h:337: error: 'sort' was not declared in this scope

dotur.C: In function 'void usageError(char*)':

dotur.C:35: error: 'exit' was not declared in this scope

dotur.C: In function 'int main(int, char**)':

dotur.C:80: error: 'srand' was not declared in this scope

dotur.C:104: error: 'strcmp' was not declared in this scope

 

Regards and thanks for the help,

 

Marc Jan Bonder

Academic Centre for Dentistry Amsterdam (ACTA) 

Antonio González Peña

unread,
Jun 20, 2011, 8:14:02 AM6/20/11
to qiime...@googlegroups.com
Hi Marc,

We normally get this package from here
http://www.plantpath.wisc.edu/fac/joh/DOTUR/dotur-1.53.tgz and the
problem with the compile is that some libraries are missing in certain
files, so you can open them, add them and try to recompile the tool.
The changes are:
#include <cstdlib> to richness.h and otu.h
#include <algorithm> to otu.h
#include <cstring> to dotur.C

Now, you only need to install a dependency if you are planning to use
it, if not you are fine without it. In the case of dotur we use to use
it in pick_otus.py but it seems that we removed its support and forgot
to do the same from the print_qiime_config.py script and the install
instructions. Sorry for this and thank you for bring it to our
attention; I added the bug to be solve in the next release:
https://sourceforge.net/tracker/?func=detail&aid=3323052&group_id=272178&atid=1157164.

Cheers

--
Antonio González Peña
Research Assistant, Knight Lab
University of Colorado at Boulder
https://chem.colorado.edu/knightgroup/

Jeff Werner

unread,
Jun 20, 2011, 11:19:33 AM6/20/11
to qiime...@googlegroups.com
Yeah, I would suggest not bothering with dotur, as mothur has all the same functionality but better, and, as Antonio mentioned, there is nothing in QIIME that requires dotur anymore.

Marc Jan Bonder

unread,
Jun 24, 2011, 7:39:58 AM6/24/11
to qiime...@googlegroups.com
It was in the optional requirements so i tought it was used.
Thanks for the help!
Reply all
Reply to author
Forward
0 new messages