sestaton / tephra

A tool for discovering transposable elements and describing patterns of genome evolution
MIT License
30 stars 3 forks source link

Install via singularity #40

Open oushujun opened 5 years ago

oushujun commented 5 years ago

Hello,

I don't have sudo privileges on our HPC platform, so I could not use the docker nor the regular installation method. Instead, I am trying to install tephra via singularity.

System confirguations:

Red Hat Enterprise Linux Server 7.6 (Maipo) Perl version v5.24.1 Singularity version v3.1.1

So I can install tephra using the following command without error: singularity run docker://sestaton/tephra

Then I type tephra and it shows help info with some warnings for perl:

$tephra perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Tephra version 0.12.4 Copyright (C) 2015-2019 S. Evan Staton LICENSE -- MIT ...

I download the tephra_config.yml file and modified the genome name, then run: tephra all -c tephra_config.yml

I got the following error messages:

perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Can't load '/usr/local/lib/x86_64-linux-gnu/perl/5.26.1/auto/Bio/DB/HTS/HTS.so' for module Bio::DB::HTS: libhts.so.1: cannot open shared object file: No such file or directory at /usr/lib/x86_64-linux-gnu/perl/5.26/DynaLoader.pm line 187. at /usr/local/lib/x86_64-linux-gnu/perl/5.26.1/Bio/DB/HTS/Kseq.pm line 71. Compilation failed in require at /usr/local/lib/x86_64-linux-gnu/perl/5.26.1/Bio/DB/HTS/Kseq.pm line 71. BEGIN failed--compilation aborted at /usr/local/lib/x86_64-linux-gnu/perl/5.26.1/Bio/DB/HTS/Kseq.pm line 71. Compilation failed in require at /usr/local/share/perl/5.26.1/Tephra/Stats/Age.pm line 17. BEGIN failed--compilation aborted at /usr/local/share/perl/5.26.1/Tephra/Stats/Age.pm line 17. Compilation failed in require at /usr/local/share/perl/5.26.1/Tephra/Command/age.pm line 11. BEGIN failed--compilation aborted at /usr/local/share/perl/5.26.1/Tephra/Command/age.pm line 11. Compilation failed in require at /usr/local/share/perl/5.26.1/App/Cmd.pm line 194. App::Cmd::_command("Tephra", HASH(0x55dfea2ba1e0)) called at /usr/local/share/perl/5.26.1/App/Cmd.pm line 171 App::Cmd::new("Tephra", HASH(0x55dfea2ba1e0)) called at /usr/local/bin/tephra line 25

Is it something wrong with my perl version? Or is it approachable to install it via singularity?

Thanks, Shujun

sestaton commented 5 years ago

Thanks for the message. I have not tried with singularity yet, but I will take a look this week. From your output it looks to be a locale issue and a problem with loading a shared library.

This is probably something we can fix with a few environment tweaks with singularity, but I'll have to test it out myself and get back to this issue.

sestaton commented 5 years ago

Okay, I can recreate the first issue and resolve it. In singularity, you'll need to run tephra as such:

LANG=C tephra

or

export LANG=C
tephra

I'm not sure if that will resolve the other issue though. Can you try this and test out the full command? Thanks.

sestaton commented 5 years ago

I can confirm that the above ENV setting alone will not fix the second issue. Will have to explore this further.

oushujun commented 5 years ago

Thank you for working on this. Has this issue being fixed or do you want me to try out the current version?

Shujun

sestaton commented 5 years ago

Thank you for the patience. I could not resolve the issue with trying to load certain compiled C libraries in the Singularity environment that were compiled with the Docker image. But, I have created a new Singularity image and I will try to get that put up ASAP.

sestaton commented 5 years ago

Okay, here are the singularity commands:

singularity pull library://sestaton/default/tephra
LC_ALL=C singularity run tephra_latest.sif 

You will need to bind your data directory with all your files. So, assuming you have a directory in the current directory called data:

LC_ALL=C singularity run --bind $PWD/data:/data tephra_latest.sif

The you can switch to /data and run your analysis. Please let me know this works for you.

oushujun commented 5 years ago

Thank you for making the singularity version available. The installation was smooth: singularity pull library://sestaton/default/tephra LC_ALL=C singularity run --bind $PWD/data:/data tephra_latest.sif cd data tephra all -c tephra_config.Chr9.yml

Then I encounter these errors:

INFO - ======== Tephra version: 0.12.4 (started at: 25-08-2019 16:48:38) ======== INFO - Configuration - Log file for monitoring progress and errors: tephra_Chr9_full.log INFO - Configuration - Genome file: Chr9.fasta INFO - Configuration - Repeat database: dummy071619.fa INFO - Configuration - Number of threads: 36 INFO - Command - 'tephra findltrs' started at: 25-08-2019 16:48:38. Copy failed: No such file or directory at /usr/local/share/perl/5.26.1/Tephra/Command/findltrs.pm line 135. INFO - Command - 'tephra findltrs' completed at: 25-08-2019 16:48:38. INFO - Command - 'tephra findtrims' started at: 25-08-2019 16:48:38.

[ERROR]: Copy failed: No such file or directory INFO - Command - 'tephra findtrims' completed at: 25-08-2019 16:48:39. INFO - Command - 'tephra findhelitrons' started at: 25-08-2019 16:48:39.

[ERROR]: Could not open file: /work/LAS/mhufford-lab/oushujun/TE/TEbenchmark/tephra/data/Chr9_tephra_hscan_helitrons.hel.fa INFO - Command - 'tephra findhelitrons' completed at: 25-08-2019 16:48:40. INFO - Command - 'tephra findtirs' started at: 25-08-2019 16:48:40. Copy failed: No such file or directory at /usr/local/share/perl/5.26.1/Tephra/Command/findtirs.pm line 72. INFO - Command - 'tephra findtirs' completed at: 25-08-2019 16:48:40. Use of uninitialized value $tirc_fas in -e at /usr/local/share/perl/5.26.1/Tephra/Command/all.pm line 282. INFO - Command - 'tephra findnonltrs' started at: 25-08-2019 16:48:40. No such file or directory /home/oushujun/.tephra/pHMM at /usr/local/share/perl/5.26.1/Tephra/NonLTR/RunHMM.pm line 48. INFO - Command - 'tephra findnonltrs' completed at: 25-08-2019 16:48:41. INFO - Command - Generating combined FASTA file of complete elements at: 25-08-2019 16:48:41. INFO - Results - Finished generating combined FASTA file of complete elements at: 25-08-2019 16:48:41. Final output files: INFO - Output files - Chr9_tephra_transposons_complete.fasta INFO - Command - 'tephra maskref' for full-length transposon database started at: 25-08-2019 16:48:41. sh: 1: /home/oushujun/.tephra/vmatch/mkvtree: not found sh: 1: /home/oushujun/.tephra/vmatch/mkvtree: not found

Did I forget to configure something?

Thanks! Shujun