WGLab / RepeatHMM

a hidden Markov model to infer simple repeats from genome sequences
Other
34 stars 14 forks source link

Error while running repearHMM.py #7

Closed amrita1983 closed 6 years ago

amrita1983 commented 6 years ago

HI,

I am trying to run this command

" python repeatHMM.py BAMinput --bamfile NJ_final_R1_converted_Output.bam --repeatName HTT;"

but getting this error

usage: repeatHMM.py [-h] {BAMinput,FASTQinput,Scan} ... repeatHMM.py: error: unrecognized arguments: --bamfile NJ_final_R1_converted_Output.bam its urgent for my conference to run the program. Please help

liuqianhn commented 6 years ago

Hi @amrita1983, good morning and happy New Year 2018!

Please use "--Onebamfile" rather than "--bamfile". I forgot to revise the help document here. I am sorry. I am going to correct the help document now. Thanks.

amrita1983 commented 6 years ago

Thank you for the reply, I will run and update once done.

amrita1983 commented 6 years ago

Hi, Good morning and very very Happy New year to you to.

I tried using the following command

"python repeatHMM.py BAMinput --Onebamfile NJ_final_R1_converted_Output.bam --hg HG --repeatName HTT;"

but it is giving error again

No pa file reference_sts//HG/HG.predefined.pa !!!Error: !!!!!! No reference genome under the folder mhgversion/ with the filename HG.fa even though the file is there in the following path "bin/reference_sts/hg19/hg19.predefined.pa" I need hg19 genome to run the command.

liuqianhn commented 6 years ago

Hi @amrita1983,

By default, the pattern file name is "hg/predefined.pa" under the folder of 'bin/reference_sts/hg'. Here '*' is 19 or 38. In your case, you need '--hg hg19' rather than '--hg HG'.

You also need to specify a file for the human reference genome, using "--hgfile /location/hg19.fa" for example. Here, '/location/' is the path for the file.

Usually, the human reference genome file is too large. You need your own hg19 reference genome, or you can download it from UCSC.

Last but not least, I have fixed several parameter issues you might have later. So, could you please update the tool. Thank you very much.

Meanwhile,

amrita1983 commented 6 years ago

Hi, Thank you so much for the help and replies. I just updated the RepeatHMM.py code with your latest one, and fixed the path and all. the command I am using now is " python repeatHMM.py BAMinput --Onebamfile NJ_final_R1_converted_Output.bam --hg hg19 --hgfile /data/results/Dr_Ashwin/HumanExome/hg19.fa --repeatName HTT;"

still i is showing some error File "repeatHMM.py", line 109 print ''.join([('%20s' % opk), '\t(', str(op[opk]), ');']) ^ SyntaxError: invalid syntax

Please help.

wdecoster commented 6 years ago

Are you using python3?

liuqianhn commented 6 years ago

Hi @amrita1983 , @wdecoster is correct. When I tested the command using python3, I had the same error as you had.

But RepeatHMM is developed using python 2.7 now. We do not have a version running on python3 now. Sorry for that.

kaichop commented 6 years ago

in that case, the code should check version and issue a warning message that python3 is not supported.

On Thu, Jan 4, 2018 at 9:07 AM, liuqianhn notifications@github.com wrote:

Hi @amrita1983 https://github.com/amrita1983 , @wdecoster https://github.com/wdecoster is correct. When I tested the command using python3, I had the same error as you have.

But RepeatHMM is developed using python 2.7 now. We do not have a version running on python3 now. Sorry for that.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/WGLab/RepeatHMM/issues/7#issuecomment-355290579, or mute the thread https://github.com/notifications/unsubscribe-auth/AFptuJzMFJ8mOxiNNjkk-8P7Zw9Bbu0nks5tHNsugaJpZM4RQf0b .

amrita1983 commented 6 years ago

yes @wdecoster and @liuqianhn I was trying it in Python 3, and sadly, in our server I don't have the permission as Admin to change the programs, I tried some programs in python3 version using Miniconda, but now I am not being able to uninstall the old miniconda and to download the python 2.7 in miniconoda to use it as virtual env. My institute IT people are not at all prompt to provide us these services, all I try is to do locally. Whne I tried to Install Python 2.7 in miniconda it was showing some error of missing "/lib/libc.so.6" file, which again need admin right to install. Anyway, trying to find a way, Thanks for the help and prompt response. @liuqianhn

wdecoster commented 6 years ago

I haven't looked at the code, but I would expect it's not too hard to make the code compatible with python 3. In fact, that's the way to go. Python2.7 will not be around forever. Either you make sure your code works on python3, or your software is obsolete in two years. The maintainers would help themselves and the community by fixing this as soon as possible. If necessary I can help.

amrita1983 commented 6 years ago

It would be great if it can be done @wdecoster I don't know much about Python though.

liuqianhn commented 6 years ago

Hi @amrita1983 , before RepeatHMM has a version to run on Python3, I suggest you using the following commands to run it using Python 2.7.

You would be able to run those commands even if you do not have root permission.

1. install Anaconda in your own folder

if you are using Linux OS,

wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
bash Anaconda3-5.0.1-Linux-x86_64.sh

Please download other Anaconda version if you are using different OS.

2. have your own python 2.7

conda create -n py27 python=2.7
source activate py27

if source activate py27 does not work, please run cd, and vi .bash_profile and append "export PATH=/folder-for-anaconda3/bin:$PATH" in '.bash_profile' and then source .bash_profile

If you cannot successfully run 'source activate py27', the following instructions have no help.

After you run 'source activate py27' successfully,

conda install -c omnia hmmlearn 
conda install -c anaconda biopython 
conda install -c anaconda scikit-learn 
pip install peakutils 

3. Run RepeatHMM

If you want to switch to your default py3 configuration to run other programs, run source deactivate

if you want to switch to py27 from your default py3 configuration for RepeatHMM or other programs, simply run source activate py27

liuqianhn commented 6 years ago

Hi @amrita1983 , I am going to close this issue. Feel free to re-open it or create a new issue if you have issues to run RepeatHMM.