Age | Commit message (Expand) | Author |
2021-11-23 | Fix 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-23 | Migrate `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 |
2021-11-23 | Update documentation for functions...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Document functions for posterity.
| Frederick Muriuki Muriithi |
2021-11-22 | Add test to query builders...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Add some tests for the query builders to ensure that the queries are built
up correctly.
| Frederick Muriuki Muriithi |
2021-11-22 | Migrate `web.webqtl.correlation.CorrelationPage.fetchAllDatabaseData` function...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Migrate the
`web.webqtl.correlation.CorrelationPage.fetchAllDatabaseData` function from
GN1 to GN3.
| Frederick Muriuki Muriithi |
2021-11-22 | Make the DB connection argument the first...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* To make the code more composable down the line, make the database connection
argument the first argument for functions that access the database, since
they will always require the connection.
| Frederick Muriuki Muriithi |
2021-11-20 | Merge pull request #56 from genenetwork/partial-correlations...Partial correlations | Muriithi Frederick Muriuki |
2021-11-19 | Avoid rounding: compare floats approximately...Notes:
https://github.com/genenetwork/genenetwork3/pull/56#issuecomment-973798918
* As mentioned in the notes, rather than rounding to an arbitrary number of
decimal places, it is a much better practice to use approximate comparisons
of floats for the tests.
| Frederick Muriuki Muriithi |
2021-11-18 | Fix some linting errors...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Fix some obvious linting errors and remove obsolete code
| Frederick Muriuki Muriithi |
2021-11-18 | Replace code migrated from R with pingouin functions...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Replace the code that was in the process of being migrated from R in
GeneNetwork1 with calls to pingouin functions that achieve the same thing.
Since the functions in this case are computing correlations and partial
correlations, rather than having home-rolled functions to do that, this
commit makes use of the tried and tested pingouin functions.
This avoids complicating our code with edge-case checks, and leverages the
performance optimisations done in pingouin.
| Frederick Muriuki Muriithi |
2021-11-16 | Remove sqlalchemy....* gn3/settings.py (SQLALCHEMY_TRACK_MODIFICATIONS): Delete variable.
* guix.scm (genenetwork3)[propagated-inputs]: Remove python-sqlalchemy-stubs.
* setup.py: Remove sqlalchemy-stubs from install_requires.
| Arun Isaac |
2021-11-15 | Fix bugs in recursive partial correlations...* gn3/computations/partial_correlations.py: Remove rounding. Fix computation
of remaining covariates
*
tests/unit/computations/partial_correlations_test_data/pcor_rec_blackbox_test.txt:
reduce the number of covariates to between one (1) and three (3)
* tests/unit/computations/test_partial_correlations.py: fix some minor bugs
It turns out that the computation complexity increases exponentially, with
the number of covariates. Therefore, to get a somewhat sensible test time,
while retaining a large-ish number of tests, this commit reduces the number
of covariates to between 1 and 3.
| Frederick Muriuki Muriithi |
2021-11-15 | Merge branch 'main' of github.com:genenetwork/genenetwork3 into partial-corre... | Frederick Muriuki Muriithi |
2021-11-15 | Fix the columns in built data frame...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* When the z value is a Sequence of sequences of values, each of the internal
sequences should form a column of its own, and not a row, as it was
originally set up to do.
| Frederick Muriuki Muriithi |
2021-11-13 | Do not shadow global symbol uuid....* gn3/authentication.py (get_groups_by_user_uid): Rename local symbol uuid to
group_uuid.
(get_user_info_by_key): Rename local symbol uuid to user_uuid.
| Arun Isaac |
2021-11-13 | Reformat condition on a single line....* gn3/authentication.py (get_user_info_by_key): Reformat so that condition is
on a single line.
| Arun Isaac |
2021-11-13 | Do not use dangerous default argument []....Default arguments get evaluated only once when the function is defined, and
are then shared across all instances of the function. If the argument is then
mutated, this can cause hard to find bugs. See
https://docs.python.org/3/tutorial/controlflow.html#default-argument-values
* gn3/authentication.py (create_group): Do not use [] as the default argument.
| Arun Isaac |
2021-11-12 | Merge branch 'main' of github.com:genenetwork/genenetwork3 into partial-corre... | Frederick Muriuki Muriithi |
2021-11-11 | Remove redundant check on the Pearson correlation coefficient....The Pearson correlation coefficient always has a value between -1 and 1. So,
this check is redundant.
* gn3/heatmaps.py (cluster_traits.__compute_corr): Remove redundant check on
the Pearson correlation coefficient.
| Arun Isaac |
2021-11-11 | Reimplement correlations2.compute_correlation using pearsonr....correlations2.compute_correlation computes the Pearson correlation
coefficient. Outsource this computation to scipy.stats.pearsonr. When the
inputs are constant, the Pearson correlation coefficient does not exist and is
represented by NaN. Update the tests to reflect this.
* gn3/computations/correlations2.py: Remove import of sqrt from math.
(compute_correlation): Reimplement using scipy.stats.pearsonr.
* tests/unit/computations/test_correlation.py: Import math.
(TestCorrelation.test_compute_correlation): When inputs are constant, set
expected correlation coefficient to NaN.
| Arun Isaac |
2021-11-11 | Reimplement __items_with_values using list comprehension....* gn3/computations/correlations2.py: Remove import of reduce from functools.
(__items_with_values): Reimplement using list comprehension.
| Arun Isaac |
2021-11-11 | pylint fixes and pep8 formatting | Alexander Kabui |
2021-11-11 | fix target and base sample data order | Alexander Kabui |
2021-11-11 | fix:spawned processes memory issues | Alexander Kabui |
2021-11-11 | replace list with generators | Alexander Kabui |
2021-11-09 | Add functions for updating groups | BonfaceKilz |
2021-11-09 | Merge branch 'main' of github.com:genenetwork/genenetwork3 into partial-corre... | Frederick Muriuki Muriithi |
2021-11-09 | Implement remaining part of `partial_correlation_recursive` function...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: implement remaining portion of
`partial_correlation_recursive` function.
* tests/unit/computations/test_partial_correlations.py: add parsing for new
data format and update tests
| Frederick Muriuki Muriithi |
2021-11-09 | Add new data processing utility...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/data_helpers.py: New function (`partition_by`)
* tests/unit/test_data_helpers.py: Tests for new function
Add a function that approximates Clojure's `partition-by` function, to help
with processing the data in a more functional way.
| Frederick Muriuki Muriithi |
2021-11-09 | Fix bug: if three columns, ensure last is "z"...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Fix a bug, caught when the function is called in a recursive form, with the
"z*" columns reducing for each cycle through the recursive form.
As it was, the last cycle through the recursive form would end up with a
DataFrame with the columns "x", "y", and "z0" rather than the columns "x",
"y", "z".
This commit handles that edge case to ensure that the column name is changed
from "z0" to simply "z".
| Frederick Muriuki Muriithi |
2021-11-04 | Create blackbox tests for some functions migrated from R...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: new stub
functions (partial_correlation_matrix, partial_correlation_recursive)
*
tests/unit/computations/partial_correlations_test_data/pcor_mat_blackbox_test.csv:
blackbox sample data and results for variance-covariance matrix method
*
tests/unit/computations/partial_correlations_test_data/pcor_rec_blackbox_test.csv:
blackbox sample data and results for recursive method
* tests/unit/computations/test_partial_correlations.py: Tests for new function
Provide some blackbox testing sample data for checking the operation of the
functions migrated from R.
| Frederick Muriuki Muriithi |
2021-11-04 | Stub `determine_partials`...Issue:
* Stub out `determine_partials` which is a migration of
`web.webqtl.correlation.correlationFunction.determinePartialsByR` in GN1.
The function in GN1 has R code from line 188 to line 344. This will need to
be converted over to Python.
This function will also need tests.
| Frederick Muriuki Muriithi |
2021-11-04 | Implement `compute_partial_correlations_fast`...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Implement `compute_partial_correlations_fast` that is a partial migration of
`web.webqtl.correlation.PartialCorrDBPage.getPartialCorrelationsFast` in
GN1.
This function will probably be reworked once the dependencies are fully
migrated.
It also needs tests to be added.
| Frederick Muriuki Muriithi |
2021-11-04 | Retrieve indices of the selected samples...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: New
function (good_dataset_samples_indexes).
* tests/unit/computations/test_partial_correlations.py: Tests for new
function (good_dataset_samples_indexes)
Get the indices of the selected samples. This is a partial migration of the
`web.webqtl.correlation.PartialCorrDBPage.getPartialCorrelationsFast`
function in GN1.
| Frederick Muriuki Muriithi |
2021-11-04 | Fix some 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-04 | Parse single line from CSV file...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/data_helpers.py: New function (parse_csv_line)
* tests/unit/test_data_helpers.py: Add tests for new function (parse_csv_line)
Add a function to parse a single line from a CSV file.
| Frederick Muriuki Muriithi |
2021-11-04 | Add some condition checking functions...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Add the `check_for_literature_info` and
`check_symbol_for_tissue_correlation` functions to check for the presence of
specific data.
| Frederick Muriuki Muriithi |
2021-11-04 | Explicitly round the values...* Explicitly round the values to prevent issues with the type-checker
| Frederick Muriuki Muriithi |
2021-11-04 | Specify ten (10) decimal places...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: specify 10 decimal places
* tests/unit/computations/test_partial_correlations.py: update examples
Slight differences in python implementations, possibly hardware and
operating systems could cause the value of float (double) values to be
different in the less significant parts of the decimal places.
This commit limits the usable part of the decimals to the first 10 decimal
places for now.
| Frederick Muriuki Muriithi |
2021-11-04 | Fix linting and typing errors...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
| Frederick Muriuki Muriithi |
2021-11-04 | Rework sorting: remove `compare_tissue_correlation_absolute_values`...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/db/correlations.py: Remove the
`compare_tissue_correlation_absolute_values` function which is no longer
needed.
| Frederick Muriuki Muriithi |
2021-11-04 | Complete `build_temporary_tissue_correlations_table`...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: Remove comments after updating
usage of the function at call point
* gn3/db/correlations.py: Complete the implementation of the
`build_temporary_tissue_correlations_table` function
| Frederick Muriuki Muriithi |
2021-11-04 | Complete implementation of `batch_computed_tissue_correlation`...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Complete the implementation of the `batch_computed_tissue_correlation`
function
| Frederick Muriuki Muriithi |
2021-11-04 | Move `correlations_of_all_tissue_traits`...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: new
function (`correlations_of_all_tissue_traits`).
* gn3/db/correlations.py: delete
function (`correlations_of_all_tissue_traits`).
Move the function to `gn3.computations.partial_correlations` module and
comment out the db-access code.
Rework it to receive, as arguments, the data it previously fetched from the
database, and add comments on future rework to get the function working
again.
| Frederick Muriuki Muriithi |
2021-11-04 | Add missing comma...Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
| Frederick Muriuki Muriithi |
2021-11-04 | Implement `tissue_correlation` function...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* gn3/computations/partial_correlations.py: New function (tissue_correlation)
* tests/unit/test_partial_correlations.py ->
tests/unit/computations/test_partial_correlations.py: Move module. Implement
tests for new function
Migrate the `cal_tissue_corr` function embedded in the
`web.webqtl.correlation.correlationFunction.batchCalTissueCorr` function in
GN1 and implement tests to ensure it works correctly.
| Frederick Muriuki Muriithi |
2021-11-04 | Move the function to computations module...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* The function `batch_computed_tissue_correlation` is a pure computations
function with no expressions accessing the database, as far as I can tell,
therefore, this commit moves the function over to the
gn3.computations.partial_correlations module that holds the pure computation
functions.
| Frederick Muriuki Muriithi |
2021-11-04 | Move the partial_correlations module to gn3.computations...* Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Move the partial_correlations.py module to the gn3.computations module,
since it contains the computations for partial correlations.
| Frederick Muriuki Muriithi |
2021-11-04 | Remove if clauses: replace with dict...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Remove the if clauses to simplify the code flow: use a dictionary of queries
and select the appropriate query from the dictionary instead.
| Frederick Muriuki Muriithi |
2021-11-04 | Stub out `batch_computed_tissue_correlation` function...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Stub out `batch_computed_tissue_correlation` function to be used in
implementing the function down the line.
| Frederick Muriuki Muriithi |