aboutsummaryrefslogtreecommitdiff
path: root/gn3/computations
AgeCommit message (Expand)Author
2022-02-08Merge 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-08Remove 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-08Give sorting functions more descriptive namesFrederick Muriuki Muriithi
2022-02-08Use 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-08Remove 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-02refactor code for invoking ctl scriptAlexander Kabui
2022-02-02pep8 formattingAlexander Kabui
2022-02-02new line fixAlexander Kabui
2022-02-02fix comprehension listAlexander Kabui
2022-01-22process ctl plot data imgAlexander Kabui
2022-01-22read stdout data;handle exceptionsAlexander Kabui
2022-01-22init file to call ctl scriptAlexander Kabui
2022-01-12Update 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-10Use 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-10Indicate 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-10Remove all pairs with 'None' as the value...* Remove all key-value pairs whose value is None. Frederick Muriuki Muriithi
2022-01-10Replace 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-10Convert 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-10Add 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-10Rework 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-05Merge pull request #64 from jgarte/type-hint-normalize-values...Adds type hint for normalize_values functionBonfaceKilz
2021-12-24Fix typing errorsFrederick Muriuki Muriithi
2021-12-24Fix linting errorsFrederick Muriuki Muriithi
2021-12-24Fix 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-24Return 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-24Reduce the total amount of data to be output...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * There is a lot of data that is not necessary in the final result. This commit removes that data, retaining only data relevant for the display. Frederick Muriuki Muriithi
2021-12-24Add dataset type to the results...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * The dataset type is relevant for the display of the data, therefore, this commit presents the dataset type as part of the results. Frederick Muriuki Muriithi
2021-12-17Add "success" status to final computation results...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi Frederick Muriuki Muriithi
2021-12-14linting: Fix obvious linting issuesFrederick Muriuki Muriithi
2021-12-14mypy: ignore some imports and errors...* Ignore some missing library stubs * Ignore some typing errors * Fix obvious typing errors Frederick Muriuki Muriithi
2021-12-14Adds type hint for normalize_values functionjgart
2021-12-14TO REVERT: Add logging to see data frameFrederick Muriuki Muriithi
2021-12-14Remove any items with less than 3 samples...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * pingouin raises an exception whenever one attempts to use it to compute the partial correlation with data that has less than 3 samples. Frederick Muriuki Muriithi
2021-12-14Fix dataset: use target dataset not primary...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Use the target dataset to load the target traits, not the primary trait's dataset, since they might differ. Frederick Muriuki Muriithi
2021-12-13Provide missing function...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Import the missing function. Frederick Muriuki Muriithi
2021-12-13Fix the removal of controls for corresponding Nones in targets...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Fix the code, so that it removes all control values, whose corresponding target values are None, without throwing an error. Frederick Muriuki Muriithi
2021-12-13Return the primary and control traits in addition to results...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * In addition to the partial correlation results, this commit enables the return of the chosen primary trait and the selected control traits. This data is required for presentation on the results page. Frederick Muriuki Muriithi
2021-12-13Run partial correlations against chosen database...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Run the partial correlations against the database that the user selects, and not the one from which the primary trait is. This was a bug in the code. Frederick Muriuki Muriithi
2021-12-10format normalize function doc stringAlexander Kabui
2021-12-10minor pr fixesAlexander Kabui
2021-12-10rename variablesAlexander Kabui
2021-12-10try and catch for non matching sample keysAlexander Kabui
2021-12-10update function docs for normalizing strain valuesAlexander Kabui
2021-12-10fix bug:unpacking error when generator returns empty listAlexander Kabui
2021-12-09Prevent error on no result. Fix indexing...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * If the dataset name is not found, don't cause an exception, instead, return the provided search name. * Use the correct inner object Frederick Muriuki Muriithi
2021-12-08Provide group from primary trait...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * From the collections page, the group is not present, so this commit retrieves the group value from the primary trait. Frederick Muriuki Muriithi
2021-11-29Fix linting errors...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi Frederick Muriuki Muriithi
2021-11-29Provide entry-point function for the partial correlations...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Provide the entry-point function to the partial correlation feature. This is the function that ochestrates the fetching of the data, and processing it for output by the API endpoint (to be implemented). Frederick Muriuki Muriithi
2021-11-23Fix a myriad of linting errors...* Fix linting errors like: - Unused variables - Undeclared variable errors (mostly caused by typos, and wrong names) - Missing documentation strings for functions etc. Frederick Muriuki Muriithi
2021-11-23Migrate `getPartialCorrelationsNormal`...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Migrate the `web.webqtl.correlation.PartialCorrDBPage.getPartialCorrelationsNormal` function in GN1. * Remove function obsoleted by newer implementation of the code Frederick Muriuki Muriithi