linnabrown / run_dbcan

Run_dbcan V4, using genomes/metagenomes/proteomes of any assembled organisms (prokaryotes, fungi, plants, animals, viruses) to search for CAZymes.
http://bcb.unl.edu/dbCAN2
GNU General Public License v3.0
138 stars 40 forks source link

i don't solve this problem #1

Closed byeollee closed 5 years ago

byeollee commented 5 years ago

hello please help me. i just start 3 days ago.

everything i downloaded. but doesn't working

my os is ubuntu (Virtual Machine)

*Traceback (most recent call last): File "run_dbcan.py", line 135, in call(['prodigal', '-i', input, '-a', '%suniInput'%outPath, '-o', '%sprodigal.gff'%outPath, '-f', 'gff', '-q']) File "/usr/lib/python2.7/subprocess.py", line 172, in call return Popen(popenargs, kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 394, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

how solve this problem??

thanks.

linnabrown commented 5 years ago

Hello @byeollee

1. Please use python3, not python2.

2. make sure you have installed prodigal well.

You can input "prodigal" on your terminal then input enter. If you have the following hints, it shows that you setup well.

huangle@huangle-ThinkStation-P300:~/Desktop/run_dbcan$ prodigal
-------------------------------------
PRODIGAL v2.6.3 [February, 2016]
Univ of Tenn / Oak Ridge National Lab
Doug Hyatt, Loren Hauser, et al.
-------------------------------------

Usage:  prodigal [-a trans_file] [-c] [-d nuc_file] [-f output_type]
                 [-g tr_table] [-h] [-i input_file] [-m] [-n] [-o output_file]
                 [-p mode] [-q] [-s start_file] [-t training_file] [-v]

         -a:  Write protein translations to the selected file.
         -c:  Closed ends.  Do not allow genes to run off edges.
         -d:  Write nucleotide sequences of genes to the selected file.
         -f:  Select output format (gbk, gff, or sco).  Default is gbk.
         -g:  Specify a translation table to use (default 11).
         -h:  Print help menu and exit.
         -i:  Specify FASTA/Genbank input file (default reads from stdin).
         -m:  Treat runs of N as masked sequence; don't build genes across them.
         -n:  Bypass Shine-Dalgarno trainer and force a full motif scan.
         -o:  Specify output file (default writes to stdout).
         -p:  Select procedure (single or meta).  Default is single.
         -q:  Run quietly (suppress normal stderr output).
         -s:  Write all potential genes (with scores) to the selected file.
         -t:  Write a training file (if none exists); otherwise, read and use
              the specified training file.
         -v:  Print version number and exit.

3. It seems your file does not exist, you could print the command line to make sure your outPath is right or not. The default output path is "output" on the same root as run_dbcan.py:

call(['prodigal', '-i', input, '-a', '%suniInput'%outPath, '-o', '%sprodigal.gff'%outPath, '-f', 'gff', '-q']) If you still have any questions,

If you still have any questions, please let me know. Or you can give me your sequence to let me test it.

byeollee commented 5 years ago

still have a problem. i download signalp but /bin/sh: 1: signalp: not found

and also can't solve this problem.....

Traceback (most recent call last): File "run_dbcan.py", line 161, in diamond = Popen(['diamond', 'blastp', '-d', '%sCAZy.dmnd' % dbDir, '-e', str(args.dia_eval), '-q', '%suniInput' % outPath, '-k', '1', '-p', str(args.dia_cpu), '-o', '%sdiamond.out'%outPath, '-f', '6']) File "/usr/lib/python2.7/subprocess.py", line 394, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

i redownload python3. in my computer, download python2.7 and python3. is make problem??

sorry. i try to test bacteria's seq.

thanks for your help.

linnabrown commented 5 years ago

I have updated readme and please refer to step by step section https://github.com/linnabrown/run_dbcan

1. Please note that signalP need you to set the root in the perl file. You need to read the readme file from signalP to setup well. For example, in my signalp-4.1:

#!/usr/bin/perl

# SignalP 4.1 main script
# 
# 2012, May 11

###############################################################################
#               GENERAL SETTINGS: CUSTOMIZE TO YOUR SITE
###############################################################################

# full path to the signalp-4.1 directory on your system (mandatory)
BEGIN {
    $ENV{SIGNALP} = '/home/huangle/Desktop/run_dbcan/tools/signalp-4.1';
}

# determine where to store temporary files (must be writable to all users)
my $outputDir = "/home/huangle/Desktop/run_dbcan/tools/signalp-4.1/output";

# max number of sequences per run (any number can be handled)
my $MAX_ALLOWED_ENTRIES=100000;

What's more, the path of executive Perl file should be added to the ~/.profile variable to make signalP path to be found by the system. Please note that the readme file tells us about it.

3. Edit the paragraph labeled  "GENERAL SETTINGS, CUSTOMIZE ..." in the top of
   the file 'signalp'. The following twovmandatory variables need to be set:
    SIGNALP     full path to the signalp-4.1 directory on your system
    outputDir   where to store temporary files (writable to all users)
  In addition,  for practical reasons,  it is possible to limit the number of
   input sequences allowed per run (MAX_ALLOWED_ENTRIES).
   4. ...
   5. Move or copy the 'signalp' script to a directory in the users' path.

Therefore, you could use this command:

sudo cp signalp /usr/bin/signalp

2. This is the new problem, not the previous one. Watch out the line number 161, not 135.

I think you did not download or setup diamond. Please look at this following instruction from diamond:

Installing the software on your system may be done by downloading it in binary format for immediate use: wget http://github.com/bbuchfink/diamond/releases/download/v0.9.24/diamond-linux64.tar.gz tar xzf diamond-linux64.tar.gz The extracted diamond binary file should be moved to a directory contained in your executable search path (PATH environment variable).

byeollee commented 5 years ago

thank you for your information and kind answer. i have a question

1. i don't set the root in the perl file. what can i do??

2. i aleady download the diamond. your github not working about DIAMOND. so i download others's DIAMOND. i follow the download 'readme' protocols.

what is a next step??

thank you again.

-----Original Message----- From: "Le Huang"notifications@github.com To: "linnabrown/run_dbcan"run_dbcan@noreply.github.com; Cc: "byeollee"rlaqufdl4163@naver.com; "Mention"mention@noreply.github.com; Sent: 2019-03-15 (금) 12:27:14 (GMT+09:00) Subject: Re: [linnabrown/run_dbcan] i don't solve this problem (#1)

1. Please note that signalP need you to set the root in the perl file. You need to read the readme file from signalP to setup well.

What's more, you should set the ~/.profile variable to make signalP path to be found by system.

2. This is the new problem, not the previous one. Watch out the line number 161, not 135.

I think you did not download or setup diamond. try to use this command

Installing the software on your system may be done by downloading it in binary format for immediate use: wget http://github.com/bbuchfink/diamond/releases/download/v0.9.24/diamond-linux64.tar.gz tar xzf diamond-linux64.tar.gz The extracted diamond binary file should be moved to a directory contained in your executable search path (PATH environment variable).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

byeollee commented 5 years ago

hello again.

i do step by step for you.

but still error remain

*1. DIAMOND start***

/bin/sh: 1: signalp: Permission denied *2. HMMER start***

/bin/sh: 1: signalp: Permission denied Failed to open tabular per-dom output file ./output/h.out for writing

diamond v0.9.24.125 | by Benjamin Buchfink buchfink@gmail.com Licensed under the GNU GPL https://www.gnu.org/licenses/gpl.txt Check http://github.com/bbuchfink/diamond for updates.

CPU threads: 5

Scoring parameters: (Matrix=BLOSUM62 Lambda=0.267 K=0.041 Penalties=11/1) Temporary directory: ./output Opening the database... [0.000249s]

Target sequences to report alignments for: 1

Opening the input file... [1.5e-05s] Opening the output file... Permission denied [5.3e-05s] Error: Error opening file ./output/diamond.out mkdir: `Hotpep/EscheriaColiK12MG1655' 디렉토리를 만들 수 없습니다: 그런 파일이나 디렉터리가 없습니다 Traceback (most recent call last): File "run_dbcan.py", line 177, in out = open("Hotpep/%s/orfs%s.txt" % (directory, str(num_files)), 'w') IOError: [Errno 2] No such file or directory: 'Hotpep/EscheriaColiK12MG1655/orfs1.txt'

what can i do??? please help me...

thank a lot :+1:

linnabrown commented 5 years ago

1. Give your authorization to signalp

sudo chmod 777 /usr/bin/signalp

2. Please show me your command.

I have never met the mistake like yours. Because I have test the code on my own ubuntu 16.04 system, and it works well. Therefore, you need to give me your command or email me your protein sequence to let me test it.

Thank you for using it patiently.

Le

lenawong@mail.nankai.edu.cn

byeollee commented 5 years ago

Hello, thank you for your help so far.

i finished most of them. but i have problem tf-2.hmm of DATABASES and Formatting

other thing no problem. only this one file causes ssi index construction failed.

hmmpress tf-2.hmm

Working... SSI index construction failed: secondary keys not unique: '103612' occurs more than once

thank you for listen my question

W-CHuang commented 5 years ago

This problem could be solved by downgrading your HMMER to 3.1b2. I think new HMMER (3.2) wants more stringency and the tf-2.hmm needs updating to work with the new HMMER.

linnabrown commented 5 years ago

This problem could be solved by downgrading your HMMER to 3.1b2. I think new HMMER (3.2) wants more stringency and the tf-2.hmm needs updating to work with the new HMMER.

Yes, my version is 3.1b2. But I will solve the problem later about tf-2.hmm to remove duplicate key.

linnabrown commented 5 years ago

I have updated "tf-2.hmm", and now you can continue use hmmpress now.

byeollee commented 5 years ago

i updated tf-2.hmm but failed.

Working... SSI index construction failed: secondary keys not unique: '46689' occurs more than once

what should i do?

byeollee commented 5 years ago

hello there

i do downgrade and hmmpress tf-2.hmm but came out filed.

Working... SSI index construction failed: secondary keys not unique: '46689' occurs more than once

what should i do?

thank you...

linnabrown commented 5 years ago

hello there

i do downgrade and hmmpress tf-2.hmm but came out filed.

Working... SSI index construction failed: secondary keys not unique: '46689' occurs more than once

what should i do?

thank you...

  1. you can remove your previous hmmer package and download this version 3.1b2(http://eddylab.org/software/hmmer/hmmer-3.1b2.tar.gz)
  1. You can wait for our docker version tonight. And you do not need to setup by yourself anymore. Try our docker version.
linnabrown commented 5 years ago

hello there

i do downgrade and hmmpress tf-2.hmm but came out filed.

Working... SSI index construction failed: secondary keys not unique: '46689' occurs more than once

what should i do?

thank you...

1. Make sure docker is installed on your computer successfully.
2. docker pull haidyi/run_dbcan:latest
3. docker run --name <preferred_name> -v <host-path>:<container-path> -it haidyi/run_dbcan:latest python run_dbcan.py <input_file> [params] --out_dir <output_dir>
byeollee commented 5 years ago

today i download docker version but 3. have problem

su root

2.docker run --name -v : -it haidyi/run_dbcan:latest python run_dbcan.py [params] --out_dir

but

  1. bash: syntax error near unexpected token `newline' coming out....

thank you a lot

HaidYi commented 5 years ago

today i download docker version but 3. have problem

su root

2.docker run --name -v : -it haidyi/run_dbcan:latest python run_dbcan.py [params] --out_dir

but

  1. bash: syntax error near unexpected token `newline' coming out....

thank you a lot

@byeollee

You used parameter -v, but you don't mount a directory to container. Hence, there is a syntax error occurred. Btw, if you are not familiar with the operation of docker, please refer some official manuals.

To test our code, you can use the command

docker run --rm --name run_dbcan_test -it haidyi/run_dbcan:latest python run_dbcan.py EscheriaColiK12MG1655.faa protein --out_dir output_EscheriaColiK12MG1655
byeollee commented 5 years ago

thank you so much finally, I solved all problems thank you for your help docker is difficult to me.. but I download at GitHub thank you again. have a nice day.