oushujun / LTR_retriever

LTR_retriever is a highly accurate and sensitive program for identification of LTR retrotransposons; The LTR Assembly Index (LAI) is also included in this package.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5813529/
GNU General Public License v3.0
179 stars 40 forks source link

Fail to locate the paths file #12

Closed jam527 closed 6 years ago

jam527 commented 6 years ago

Greetings,

I am interested in trying the LTR_retriever strategy to validate hits I obtained from an LTRharvest dataset. I downloaded the files associated with LTR_retriever and modified the "paths" file appropriately, as below:

BLAST+=/Users/abcd/ncbi-blast-2.2.30+/bin/
RepeatMasker=/Users/abcd/RepeatMasker/ HMMER=/Users/abcd/hmmer-3.1b2-macosx-intel/binaries/
CDHIT=/Users/abcd/cd-hit-v4.6.8-2017-1208/

I saved the modified paths file with the vi text editor. However, when I tried the command: perl LTR_retriever -genome ToxoDB35ME49Genome.fa -inharvest ToxoDB35.harvest.scn

I obtained the error: Fail to locate the paths file!

The paths file was present in my working directory (LTR_retriever), and is not located in a subdirectory. Any idea what the problem may be? Any suggestions would be greatly appreciated! Josh

oushujun commented 6 years ago

Hello Josh,

Thanks for using LTR_retriever, and I am sorry you encounter an error. The error message says the "paths" file is missing in the root directory of LTR_retriever. Please double check the file in the program directory in case you misplaced it. If the error persists, you may try to use a brand new LTR_retriever without any modifications, and see if the program has the same error.

Shujun

jam527 commented 6 years ago

Hi Shujun,

Thanks for the quick response. I did as you suggested, but that didn't seem to solve the problem. I included a line of code beneath line 75 (bolded) in the LTR_retriever script: $script_path=~s/(.+)\/.+$/$1/; $script_path="/Users/abcd/LTR_retriever-master" And this solved the problem. I wonder if the issue was due to my using a macOS system...

Josh

oushujun commented 6 years ago

Hi Josh,

Thanks for targeting the issue. I think it's very likely the problem of the macOSX system, on which LTR_retriever was not developed. I will fix this in the next version update. Do you encounter any other hiccups after hard-coding the $scrip_path?

Thanks, Shujun

oushujun commented 6 years ago

Hi Josh,

I researched this issue and found it exists in a couple of other scripts, so hard-coding the path in LTR_retriever won't fix this issue. Instead, I pushed a quick bugfix in the latest version of LTR_retriever just now. I was able to test it on a MacBook-pro that has the latest OS installed. I apologize for the difficulties you encountered. Please update your program and try it again. Please let me know if you have further problems running it on Mac, which I have not fully tested.

Thanks, Shujun

jam527 commented 6 years ago

Hi Shujun,

As far as I can tell, the program seems operational on my mac now. The quick update is much appreciated! I only note one error message during the run, which appears after Module 1 is completed:

./bin/trf409.legacylinux64: ./bin/trf409.legacylinux64: cannot execute binary file

Regards, Josh

oushujun commented 6 years ago

Hi Josh,

Thank you for your feedback. This error message is produced due to the same bug, meaning the tandem repeat finder is not found in the incorrectly specified path and hence the unfavorable tandem repeats could exists in the output. Other related errors should also have occurred but with no checking mechanism for them. So please update your program and rerun it. You can just copy out the old paths file and move it to the new version folder, then installation is done. I am sorry for the troubles.

Regards, Shujun

jam527 commented 6 years ago

Hi Shujun, I reran the program using the updated program (v1.7), but I still obtain the same error message for legacylinux64. Best, Josh

oushujun commented 6 years ago

Ahh... the same bug, two more places fixed. Sorry for the fickle updates. Please pull the program again and rerun.

Best, Shujun

jam527 commented 6 years ago

Sorry for the hassle Shujun, but I got the same error again with my last run using the most recent version (still labeled as v1.7 when I ran the program). Best, Josh

oushujun commented 6 years ago

Running in Mac seems to have more problems than I thought. I will get a Mac and fully test it. I am sorry to put you in a guinea pig position.

Best, Shujun

oushujun commented 6 years ago

Hi Josh,

The code should support Mac Os X well now. Please give it a shot and let me know if there are any hiccups. Thanks for testing it on your Mac, which has made the code better.

Best, Shujun

jam527 commented 6 years ago

Hi Shujun,

I just ran LTR_retriever v1.7.4 on my MacOS (High Sierra, 10.13.3), and it ran smoothly with no reported errors. Thank you once again for your quick responses, and for re-writing the code in a short amount of time!

Regards, Josh

jam527 commented 6 years ago

Actually, I did notice one thing, sorry Shujun.

A brief message appeared directly under the line for calling LTR_retriever (bolded):

perl LTR_retriever -genome ToxoDB35ME49Genome.fa -inharvest ToxoDB35.harvest.scn -nonTGCA ToxoDB35.harvest.nmtf.scn Unrecognized escape \s passed through at LTR_retriever line 682.

Best, Josh

oushujun commented 6 years ago

Hi Josh,

Thank you for your feedback. That was just a minor warning, and would not affect any of your results. I will have it fixed in the next update. Hope you got what was expected. Thank you for using LTR_retriever!

Best, Shujun