Age | Commit message (Expand) | Author |
2022-02-08 | Merge iterations to remove unnecessary computations...Do all the work in a single iteration to avoid unnecessary iterations that
hamper performance.
| Frederick Muriuki Muriithi |
2022-02-08 | Remove multiprocessing for stability...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.
| Frederick Muriuki Muriithi |
2022-02-08 | Give sorting functions more descriptive names | Frederick Muriuki Muriithi |
2022-02-08 | Use multiprocessing to speed up computation...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.
| Frederick Muriuki Muriithi |
2022-02-08 | Remove unnecessary computation...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()`
| Frederick Muriuki Muriithi |
2022-02-08 | db: traits: Enable deletion of individual sample values...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.
| BonfaceKilz |
2022-02-08 | db: traits: Allow insertions of "0" in resp. sample values tables...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.
| BonfaceKilz |
2022-02-08 | db: traits: Insert "count" instead of "error" in "NStrain" table | BonfaceKilz |
2022-02-03 | db: Fetch correct sample data | BonfaceKilz |
2022-02-02 | Remove PublishFreeze from retrieve_publish_trait_info query...The PublishFreeze table isn't necessary in phenotype queries, since
PublishFreeze.Id = InbredSet.Id (for the purposes of identifying traits,
at least)
| zsloan |
2022-02-02 | Fix bug where sample values of 0 were being treated as False...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
| zsloan |
2022-02-02 | Fix retrieve_publish_trait_data query...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)
| zsloan |
2022-02-02 | response object error fix | Alexander Kabui |
2022-02-02 | pep8 formatting | Alexander Kabui |
2022-02-02 | return 401 on request fail | Alexander Kabui |
2022-02-02 | refactor code for invoking ctl script | Alexander Kabui |
2022-02-02 | pep8 formatting | Alexander Kabui |
2022-02-02 | new line fix | Alexander Kabui |
2022-02-02 | fix comprehension list | Alexander Kabui |
2022-01-22 | process ctl plot data img | Alexander Kabui |
2022-01-22 | read stdout data;handle exceptions | Alexander Kabui |
2022-01-22 | generate required json data for ctl api | Alexander Kabui |
2022-01-22 | add endpoint for ctl | Alexander Kabui |
2022-01-22 | init file to call ctl script | Alexander Kabui |
2022-01-12 | Update return type. Remove duplicate import....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.
| Frederick Muriuki Muriithi |
2022-01-12 | Indent code correctly...Indent the code correctly.
| Frederick Muriuki Muriithi |
2022-01-12 | Deduplicate query to fetch data for 'Publish' traits...The queries run in the `get_trait_csv_sample_data` and
`retrieve_publish_trait_data` functions in the `gn3.db.traits` module were
mostly similar. This commit changes that, by making the
`get_trait_csv_sample_data` function make use of the results from calling the
`retrieve_publish_trait_data` function.
| Frederick Muriuki Muriithi |
2022-01-10 | Check for path existence...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
| Frederick Muriuki Muriithi |
2022-01-10 | Fix dataset retrieval query for `Geno` traits...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
| Frederick Muriuki Muriithi |
2022-01-10 | Use the correct letter case for the keys...* Use the correct case for the keys inorder to retrieve the correct values.
| Frederick Muriuki Muriithi |
2022-01-10 | Surround statement with parens for readability | Frederick Muriuki Muriithi |
2022-01-10 | Indicate that string is an f-string...* The string had the f-string syntax to format the values to be inserted into
the string, but was missing the 'f' before the opening quotes to signify to
python that this was an f-string. This commit fixes that.
| Frederick Muriuki Muriithi |
2022-01-10 | Convert keys to string...* Some traits have a name composed of all numerals, which leads to the names
being interpreted as numbers. This commit forces them to string to avoid
subtle bugs where the code fails.
| Frederick Muriuki Muriithi |
2022-01-10 | Remove all pairs with 'None' as the value...* Remove all key-value pairs whose value is None.
| Frederick Muriuki Muriithi |
2022-01-10 | Fix error in query: Replace '=' with 'IN' | Frederick Muriuki Muriithi |
2022-01-10 | Replace unoptimised function with optimised one...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Replace unoptimised function with one optimised to give better performance.
The optimisation done here is to fetch multiple items/traits from the
database per query, rather than the original form, which fetched a single
item/trait from the database per query.
| Frederick Muriuki Muriithi |
2022-01-10 | Convert NaN to None...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
Comment:
https://github.com/genenetwork/genenetwork3/pull/67#issuecomment-1000828159
* Convert NaN values to None to avoid possible bugs with the string replace
method used before.
| Frederick Muriuki Muriithi |
2022-01-10 | Add optimised entry for partial correlations...Issue:
* Function
`gn3.computations.partial_correlations_optimised.partial_correlations_entry`
is a copy of the
`gn3.computations.partial_correlation.partial_correlations_entry`
function that is optimised for better performance.
The optimised function is intended to replace the unoptimised one, but it is
included in this commit for comparison purposes, and to maintain some
historical context for doing it this way.
| Frederick Muriuki Muriithi |
2022-01-10 | Rework database functions to fetch multiple items...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* In an attempt to optimise the performance of the partial correlations
feature, this commit reworks some database access functions to fetch
multiple items from the database, per query, unlike their original forms
which would fetch a single item per query.
This reduces queries to the database, and should hopefully improve the
responsiveness of the partial correlations feature.
| Frederick Muriuki Muriithi |
2022-01-05 | Merge pull request #64 from jgarte/type-hint-normalize-values...Adds type hint for normalize_values function | BonfaceKilz |
2022-01-05 | Merge branch 'main' into fix/check-for-duplicates-before-deletions-or-insertions | BonfaceKilz |
2022-01-05 | Fix pylint errors | BonfaceKilz |
2022-01-04 | traits.py: Don't use "value" to check if a record exists...The problem with using the "value" record is that it's a floating point
number. See
<https://www.bonfacemunyoki.com/post/2021-10-21-comparing-floating-point-numbers/>
on why comparing floating point numbers can be an issue.
| BonfaceKilz |
2022-01-04 | traits.py: Return early during an insert if the give record exists...Sometimes, a user will try to insert data twice, on in some instances, 2
different users will attempt the same inserts of the same records separately.
In such cases, ignore the insert, and return early.
| BonfaceKilz |
2022-01-04 | traits.py Delete a record only if it exists...In the case when the user tries to delete the same data twice, prior to this
commit, an error was being generated. This commit remedies this by checking
if a record exists prior to deleting it.
| BonfaceKilz |
2021-12-24 | Fix typing errors | Frederick Muriuki Muriithi |
2021-12-24 | Fix linting errors | Frederick Muriuki Muriithi |
2021-12-24 | Fix sorting...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Update the sorting algorithm, for literature and tissue correlations so that
it sorts the results by the correlation value first then by the p-value
next.
| Frederick Muriuki Muriithi |
2021-12-24 | Return the correlation method used...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Return the correlation method used
| Frederick Muriuki Muriithi |
2021-12-24 | Replace `NaN` with `null` in JSON string...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* `NaN` is not a valid JSON value, and leads to errors in the code. This
commit replaces all `NaN` values with `null`.
| Frederick Muriuki Muriithi |