RDP classifier 2.2

881 views
Skip to first unread message

Matthew Stoll

unread,
May 16, 2012, 9:23:58 AM5/16/12
to Qiime Forum
I have another programming type of question.

I am trying to use assign_taxonomy.py and received the following error
message: error: RDP classifier filename does not look like version
2.2. Only version 2.2 is supported by QIIME. RDP jar path is: /home/
qiime/app/rdp_classifier-2.0.1.jar

I have installed the RDP classifier 2.2 at the indicated path.
However, QIIME doesn't seem to "know" this, because when I type in the
print_qiime_config.py command, I receive the following output:

How do I update the system that I have RDP 2.2, rather than 2.0.1?

Thanks again,

Matt

System information
==================
Platform: linux2
Python version: 2.7.1 (r271:86832, Dec 14 2011, 00:47:21) [GCC
4.4.3]
Python executable: /software/python-2.7.1-release/bin/python

Dependency versions
===================
PyCogent version: 1.5.1
NumPy version: 1.5.1
matplotlib version: 1.1.0
biom-format version: 0.9.3
QIIME library version: 1.5.0
QIIME script version: 1.5.0
PyNAST version (if installed): 1.1
RDP Classifier version (if installed): rdp_classifier-2.0.1.jar

QIIME config values
===================
blastmat_dir: None
sc_queue: all.q
topiaryexplorer_project_dir: None
pynast_template_alignment_fp: None
cluster_jobs_fp: None
pynast_template_alignment_blastdb: None
assign_taxonomy_reference_seqs_fp: None
torque_queue: friendlyq
qiime_test_data_dir: None
template_alignment_lanemask_fp: None
jobs_to_start: 1
cloud_environment: False
qiime_scripts_dir: None
denoiser_min_per_core: 50
working_dir: None
python_exe_fp: python
temp_dir: /tmp/
blastall_fp: blastall
seconds_to_sleep: 2
assign_taxonomy_id_to_taxonomy_fp: None
qiime@linux:~/qiime_tutorial-v1.4.0$

Kyle Bittinger

unread,
May 16, 2012, 9:53:04 AM5/16/12
to qiime...@googlegroups.com
Matthew,

It seems you have downloaded version 2.2 of the RDP Classifier, but
re-named the file to rdp_classifier-2.0.1.jar. Please re-name the
file to something with 2.2 in the name (preferably
rdp_classifier-2.2.jar), and re-set your RDP_JAR_PATH accordingly.

The assign_taxonomy.py script literally checks the name of the jar
file to determine the version. I know this is a terrible hack, but we
included it as a sanity check.

--Kyle

Matthew Stoll

unread,
May 16, 2012, 3:09:32 PM5/16/12
to qiime...@googlegroups.com
Hi Kyle,

Thanks for replying. The file name is rdp_classifier-2.2.jar; a file search did not find any files with the 2.0.1 suffix. As best as I can determine, the qiime_config file doesn't seem to have any mention of the RDP JAR path. Could you let me know how to re-set the RDP JAR PATH? I'm new to the Linux environment.

Thanks,

Matt

--- On Wed, 5/16/12, Kyle Bittinger <kylebi...@gmail.com> wrote:

Kyle Bittinger

unread,
May 16, 2012, 3:21:50 PM5/16/12
to qiime...@googlegroups.com
In your home directory, edit the file named .bashrc (notice the dot at the beginning of the name).  Add the following two lines:

RDP_JAR_PATH="/usr/local/apps/RDP_Classifier_2.2/rdp_classifier-2.2.jar"
export RDP_JAR_PATH

You'll need to use the correct path to your JAR file, I've just provided an example from my own computer.  Use the absolute path, starting with a slash, to be safe.  This will define RDP_JAR_PATH every time you log in.  To re-define the variable in your current session, type

source ~/.bashrc

Let me know how it goes!
--Kyle

Matthew Stoll

unread,
May 16, 2012, 5:16:58 PM5/16/12
to qiime...@googlegroups.com
Thanks, Kyle. It's kinda good news / bad news. I modified the .bashrc file and no longer get the error message I had before. However, now I get the following output from the same command. The path I'm using is /home/qiime/qiime_tutorial-v1.4.0/otus2/rep_set.
The result is an empty folder titled rdp22_assigned_taxonomy.

Any thoughts? Thanks!

Matt

Traceback (most recent call last):
  File "/home/qiime/bin/assign_taxonomy.py", line 226, in <module>
    main()
  File "/home/qiime/bin/assign_taxonomy.py", line 222, in main
    result_path=result_path,log_path=log_path)
  File "/home/qiime/lib/qiime/assign_taxonomy.py", line 375, in __call__
    max_memory=max_memory)
  File "/home/qiime/lib/qiime/pycogent_backports/rdp_classifier.py", line 402, in assign_taxonomy
    app_result = app(data)
  File "/software/pycogent-1.5.1-release/lib/python2.7/site-packages/cogent/app/util.py", line 250, in __call__
    % (str(exit_status),command)
cogent.app.util.ApplicationError: Unacceptable application exit status: 1, command: cd "/home/qiime/qiime_tutorial-v1.4.0/otus2/rep_set/"; java -Xmx1000M -jar "/home/qiime/app/rdp_classifier-2.2.jar" -o "/tmp/RdpAssignments_pUuHj1.txt" -f fixrank -q "/tmp/tmpp46C1SPiXP1WWXeBLpLf.txt" > "/tmp/tmplBOhFgDgffuelIv7apmP.txt" 2> "/tmp/tmpzytUHG4hWv1eGI0qTIT3.txt"
qiime@linux:~/qiime_tutorial-v1.4.0/otus2/rep_set$

Antonio González Peña

unread,
May 16, 2012, 8:28:25 PM5/16/12
to qiime...@googlegroups.com
Hi Matt,

Can you do the following test and send us the output?
head -n 20 [your fasta file] > test.fna
java -Xmx1000M -jar "/home/qiime/app/rdp_classifier-2.2.jar" -o
"results.txt" -f fixrank -q "test.fna"

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

Matthew Stoll

unread,
May 17, 2012, 7:24:54 AM5/17/12
to qiime...@googlegroups.com
Here's the output from that command. Thanks,

Matt

qiime@linux:~/qiime_tutorial-v1.4.0/otus2/rep_set$ java -Xmx1000M -jar "/home/qiime/app/rdp_classifier-2.2.jar" -o
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/Options
    at edu.msu.cme.rdp.classifier.rrnaclassifier.ClassifierCmd.<clinit>(ClassifierCmd.java:32)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.Options
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 1 more
Could not find the main class: edu.msu.cme.rdp.classifier.rrnaclassifier.ClassifierCmd. Program will exit.


--- On Wed, 5/16/12, Antonio González Peña <antg...@gmail.com> wrote:

Antonio González Peña

unread,
May 17, 2012, 8:08:10 AM5/17/12
to qiime...@googlegroups.com
Hi Matt,

I think the issue here is that you need to have all the RDP files and
folders in your system, not only the jar file, so you need to
re-download it, unzip it and copy all the files. I suggest moving the
unzipped folder to /home/qiime/app/ so your new path will be
/home/qiime/app/rdp_classifier_2.2/rdp_classifier-2.2.jar and testing
it like we just did before modifying your .bashrc to point to the
right direction.

Cheers

Matthew Stoll

unread,
May 17, 2012, 8:36:58 AM5/17/12
to qiime...@googlegroups.com
Problem solved! Originally, I had unzipped it in the download file, and copied that to the app folder. Thank you both very much for your suggestions.

Best,

Matt
Reply all
Reply to author
Forward
0 new messages