veg / datamonkey-js

Datamonkey - Run state-of-the-art statistical models through the comfort of your browser

Home Page:http://datamonkey.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

# GARD

kjlevitz opened this issue · comments

GARD

HIV_RT Site-to-site rate variation: none

HIV_RT Site-to-site rate variation: General Discrete

HIV_RT Site-to-site rate variation: Beta-Gamma

Screen Shot 2020-05-27 at 3 00 14 PM

Originally posted by @jzehr in #291 (comment)

Example jobs:
http://datamonkey.org/GARD/5f40012e503f2f234816ac50
http://dev.datamonkey.org/GARD/5f4008b9009d270dca1ec3d9

Dataset:
https://www.dropbox.com/s/oz1gms5p7lamkii/HIV_RT.nex?dl=0

Problem traced to:
https://github.com/veg/datamonkey-js-server/blob/597ced6093c6eef6b6c72bdcd0bf615c0f915561/app/hyphyjob.js#L226

Problem:
onError does not trigger, Hyphy is exiting with 0 and supplying a JSON. With the above jobs the JSON file is empty which causes DM to have no value to load and causes an the endless loop shown.

GARD progress file:

Analysis Description
--------------------
GARD : Genetic Algorithms for Recombination Detection. Implements a
heuristic approach to screening alignments of sequences for
recombination, by using the CHC genetic algorithm to search for
phylogenetic incongruence among different partitions of the data. The
number of partitions is determined using a step-up procedure, while the
placement of breakpoints is searched for with the GA. The best fitting
model (based on c-AIC) is returned; and additional post-hoc tests run to
distinguish topological incongruence from rate-variation. v0.2 adds and
spooling results to JSON after each breakpoint search conclusion

- __Requirements__: A sequence alignment.

- __Citation__: **Automated Phylogenetic Detection of Recombination Using a Genetic
Algorithm**, _Mol Biol Evol 23(10), 1891–1901

- __Written by__: Sergei L Kosakovsky Pond

- __Contact Information__: spond@temple.edu

- __Analysis Version__: 0.2

type: nucleotide
rv: None
>Loaded a nucleotide multiple sequence alignment with **475** sequences, **1005** sites (598 of which are variable) from `/home/klevitz/datamonkey-js-server/app/gard/output/5f4008b9009d270dca1ec3d9`
>Minimum size of a partition is set to be 947 sites
Error:

Master node received an error:The alignment is too short to permit c-AIC based model comparison. Need at least 1901 sites for 475 sequences to fit a two-partiton model. in call to assert(gard.minExpectedSites<=gard.numSites, error_msg);

Function call stack
1 :  assert(gard.minExpectedSites<=gard.numSites, error_msg);

	Keyword arguments:
		{
		 "model":"JTT",
		 "rate-classes":"2"
		}
-------
2 :  ExecuteCommands("assert (`statement`, error_msg)", /home/klevitz/datamonkey-js-server/app/gard/../../.hyphy/res/TemplateBatchFiles/libv3/);
-------
3 :  io.CheckAssertion("gard.minExpectedSites <= gard.numSites","The alignment is too short to permit c-AIC based model comparison. Need at least `gard.minExpectedSites` sites for `gard.numSeqs` sequences to fit a two-partiton model.");
-------

Dear @kjlevitz,

HyPhy should be retuning a non-zero code from this analysis. If not, please let me know and I will fix.

Best,
Sergei

Dear @spond,

After looking at the code, it looks like I'm only looking at the existence of a result file, when I thought I was looking at exit code as well. I'm resolving now.

Best,
Steven

PRs open to resolve the issue.