josephryan/sowhat

Installation not possible

bheimbu opened this issue · 7 comments

Hi @caseywdunn,

I cannot install sowhat. Is it to outdated? I work on a cluster without admin privileges.

Any help is highly appreciated. Here is the error.log.

Cheers Bastian

Can you try this for me and see if it works?

Create a conda environment called sowhat

conda create sowhat
conda activate sowhat
conda install -c conda-forge perl-app-cpanminus
conda install -c anaconda wget
conda install -c bioconda seq-gen
cpanm Statistics::R

Download a fresh distribution.

wget https://github.com/josephryan/sowhat/archive/refs/tags/v1.0.tar.gz
gzip -dc v1.0.tar.gz | tar -xvf -
cd sowhat-1.0

Install sowhat

cd sowhat-1.0/
perl Makefile.PL
make
make test
make install

Hi @caseywdunn,

still getting the same error…

$ make test
PERL_DL_NONLAZY=1 "/home/uni08/bheimbu/miniforge3/envs/sowhat/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/sowhat.t .. 1/2 # 
# Now running a SOWH test. This usually takes less than a minute...
Can't exec "raxmlHPC": Datei oder Verzeichnis nicht gefunden at sowhat line 394.
Use of uninitialized value $version_st in split at sowhat line 395.
Error from RAxML (check --rax option):
t/sowhat.t .. 2/2 
#   Failed test 'was able to run example 1'
#   at t/sowhat.t line 17.
#          got: '512'
#     expected: '0'
# Looks like you failed 1 test of 2.
t/sowhat.t .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/2 subtests 

Test Summary Report
-------------------
t/sowhat.t (Wstat: 256 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
Files=1, Tests=2,  2 wallclock secs ( 0.04 usr  0.01 sys +  0.89 cusr  0.18 csys =  1.12 CPU)
Result: FAIL
Failed 1/1 test programs. 1/2 subtests failed.
make: *** [test_dynamic] Fehler 1

Cheers Bastian

Try:

# if not already activated
conda activate /home/uni08/bheimbu/miniforge3/envs/sowhat

# install prerequisite
conda install -c bioconda raxml

The second line did the trick, the environment was activated before actually.

Thanks for your help,

Cheers Bastian

Anyway,

now my question would be, how to compare two trees with each other, reconstructed with IQ-Tree (so there would be no need to use RAxML here). Is this possible with sowhat. Something like this…

# TEST14: Datatype = DNA, Model = GTRGAMMA, ML Software = RAxML, compare two trees, neither of which is the most likely topology (not a typical SOWH test)
sowhat --constraint=examples/H0.tre --aln=examples/nt.phy --raxml_model=GTRGAMMA --dir=test.output/test15 --name=test --treetwo=examples/H1.tre --json

…but without the RAxML stuff, right?

To run the SOWH test you need to generate trees. sowhat uses raxml (which is roughly equivalent to iqtree). We hope to make the program work with iqtree at some point.

I think you want to run 2 sowh tests and compare the p-values. Reading the sowhat paper should help understand exactly how the SOWH test is working. https://academic.oup.com/sysbio/article/64/6/1048/1669595

Good luck

Just to clarify a few things: sowhat always uses a constraint tree to run, right? But I want to check whether my unconstrained tree is better than my constrained tree (hypothetical tree based on supposed family relationships between mites)? To be honest, I know that the unconstrained tree is better, because some supposed family relationships are non-sense. Maybe, sowhat is not the right software to test this?

Cheers Bastian