Age | Commit message (Collapse) | Author |
|
|
|
Do all the work in a single iteration to avoid unnecessary iterations that
hamper performance.
|
|
Web servers are long-running processes, and python is not very good at
cleaning up after itself especially in forked processes - this leads to memory
errors in the web-server after a while.
This commit removes the use of multiprocessing to avoid such failures.
|
|
|
|
This commit refactors the code to make it possible to use multiprocessing to
speed up the computation of the partial correlations.
The major refactor is to move the `__compute_trait_info__` function to the
top-level of the module, and provide to it all the other necessary context via
the new args.
|
|
In Python3 when slicing,
seq[:min(some_val, len(seq))] == seq[:some_val]
because Python3 will just return a copy of the entire sequence if `some_val`
happens to be larger/greater than the length of the sequence.
This commit removes the unnecessary call to `min()`
|
|
If a user replaces an individual value with an "x", delete that date entry
from the respective table. Deletion here is the only option since by default
the Nstrain, PublishData and PublishSE don't accept null values. Note that
deleting all 3 values is equivalent to removing the sample from the CSV file.
* gn3/db/traits.py (update_sample_data): If a value is "x", delete it from the
respective table.
|
|
When editing values from "x" to "0"(or any other value) when editing data, an
"update" statement was being run; thereby no new value was being inserted. To
the end user, modifying an "x" value to something else meant that no value was
being inserted. This commit fixes that by doing an insert whenever a change
from "x" to "0" is performed.
* gn3/db/traits.py (update_sample_data): Add insert statements whenever an
"update" statement returns a 0 row-count.
|
|
|
|
|
|
The rqtl_wrapper script was throwing an error when only a single
categorical covariate was used. This is apparently because "covars[,name]"
throws an error in such a situation. Using just "covars" in such a
situation prevents the error. So I just added an if statement checking
the number of covariates. There might be some better way to deal with
this in R, but this is the best I could come up with.
|
|
The PublishFreeze table isn't necessary in phenotype queries, since
PublishFreeze.Id = InbredSet.Id (for the purposes of identifying traits,
at least)
|
|
In line 91 of gn3/db/traits.py, there was an if statement "if
record[key] else 'x'" that was treating values of 0 as False, so I
changed it to explicitly check that values aren't None
|
|
The PublishFreeeze table is actually unnecessary for this query, since
the group ID (inbred_set_id) should be passed in and that ID is in the
PublishXRef table (so no neeed to join with PublishFreeze)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit f676c291967f8a81836b73c5a5dcd3c65e02552c.
|
|
|
|
We now have separate CI jobs for the pylint and mypy tests.
* README.md: Add pylint and mypy CI badges.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The CI has been moved to penguin2, and this is accompanied by a URI change.
* README.md: Update link to CI badge.
|
|
The function is a generator function, since it uses a `yield` statement, and
thus returns a generator object, that contains a tuple object. This fixes
that. We also remove a duplicate import.
|
|
Indent the code correctly.
|