Age | Commit message (Expand) | Author |
2021-08-31 | Parse QTLReaper outputs...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/qtlreaper.py: pass output files
* tests/unit/computations/data/qtlreaper/main_output_sample.txt: sample test
data
* tests/unit/computations/data/qtlreaper/permu_output_sample.txt: sample test
data
* tests/unit/computations/test_qtlreaper.py: add tests
Add code to parse the QTLReaper output data files.
| Muriithi Frederick Muriuki |
2021-08-20 | Merge branch 'main' of github.com:genenetwork/genenetwork3 into heatmap_gener... | Muriithi Frederick Muriuki |
2021-08-20 | Retrieve the strains with valid values...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/heatmap.py: add function to get strains with values
* tests/unit/computations/test_heatmap.py: new tests
Add function to get the strains whose values are not `None` from the
`trait_data` object passed in.
This migrates
https://github.com/genenetwork/genenetwork1/blob/master/web/webqtl/heatmap/Heatmap.py#L215-221
into a separate function that can handle that and be tested independently of
any other code.
| Muriithi Frederick Muriuki |
2021-08-20 | Add tests for ordering and implement function...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/heatmap.py: implement new ordering function
* tests/unit/computations/test_heatmap.py: add new tests
Implement the ordering function to migrate the setup of the `neworder`
variable from GN1 to GN3.
This migration is incomplete, since there is dependence on the return from
the `web.webqtl.heatmap.Heatmap.draw` function in form of the `d_1` variable
in some of the paths.
The thing is, this `d_1` variable, and the `xoffset` variable seem to be
used for laying out things on the drawn heatmap, and might actually end up
not being needed for the new system using plotly, which has other ways of
laying out things on the drawing.
For now though, this commit "shims" the presence of these values until when
the use of these variables is confirmed as present or absent in the new GN3
system.
| Muriithi Frederick Muriuki |
2021-08-20 | Minor correlation fixes (#36)...* fix key error for (*tissue_cor) tissue correlation
* update tests for tissue correlation
* rename speed_compute to fast_compute
* pep8 formatting | Alexander Kabui |
2021-08-18 | Test the clustering...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/heatmap.py: Fix clustering bugs
* tests/unit/computations/test_heatmap.py: Add new tests. Fix linting issues.
Test and fix the clustering function.
| Muriithi Frederick Muriuki |
2021-08-18 | Add tests and fix errors caught with tests...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/heatmap.py: fix errors
* tests/unit/computations/test_heatmap.py: new tests
Add new tests with the expected source data format, and expected results.
Fix all errors that were caught by running the tests
| Muriithi Frederick Muriuki |
2021-08-17 | Test the clustering...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/heatmap.py: Fix clustering bugs
* tests/unit/computations/test_heatmap.py: Add new tests. Fix linting issues.
Test and fix the clustering function.
| Muriithi Frederick Muriuki |
2021-08-17 | Add tests and fix errors caught with tests...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/heatmap.py: fix errors
* tests/unit/computations/test_heatmap.py: new tests
Add new tests with the expected source data format, and expected results.
Fix all errors that were caught by running the tests
| Muriithi Frederick Muriuki |
2021-08-16 | Merge pull request #32 from genenetwork/heatmap_decompose_db_retrieval...Heatmap decompose db retrieval | BonfaceKilz |
2021-08-11 | use normal function for correlation (#34)...* use normal function for correlation + rename functions
* update test for sample correlation
* use normal function for tissue correlation + rename functions | Alexander Kabui |
2021-08-09 | Set up the trait dataset type correctly...* gn3/db/traits.py: setup `trait_dataset_type`
* tests/unit/db/test_traits.py: fix tests
The type ('Temp', 'Geno', 'Publish', and 'ProbeSet') relate to a trait's
dataset, and not the trait itself. This commit updates the code to take this
into consideration.
The dataset type is also set up from a trait's full name, therefore this
commit removes the `trait_type` argument from the `retrieve_trait_info`
function.
| Muriithi Frederick Muriuki |
2021-08-09 | Fix linting errors...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Add module, class and function docstrings
* Deactivate some irrelevant pylint errors
* Fix indentations and line-lengths
| Muriithi Frederick Muriuki |
2021-08-08 | Update tests...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Fix tests to take current changes into consideration.
| Muriithi Frederick Muriuki |
2021-08-05 | Reorganise the database code...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Reorganise the code to separate the datasets from the traits, and to more
closely conform to the same flow as that in GN1
| Muriithi Frederick Muriuki |
2021-08-05 | Build up trait_name items from full name...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* The full name of the traits from search contains multiple parts to it, and
as such, we use it to retrieve the appropriate data and set it up in the
final trait_info dictionary that is produced.
| Muriithi Frederick Muriuki |
2021-08-04 | Fix issues caught by pylint...* gn3/computations/slink.py: remove unused imports
* gn3/db/traits.py: remove unnecessary `else` clauses
* tests/unit/db/test_traits.py: add docstrings for functions
| Muriithi Frederick Muriuki |
2021-08-04 | Retrieve the RISet and RISet ID values...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Retrieve the RISet and RISet ID values from the database.
| Muriithi Frederick Muriuki |
2021-08-04 | Add tests for post-processing functions...Issues:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Add missing tests for some post-processing functions
| Muriithi Frederick Muriuki |
2021-08-04 | Update tests...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Update the tests to deal with changes in the code.
| Muriithi Frederick Muriuki |
2021-07-30 | Remove extra space...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Remove extra space that was causing test to fail.
| Muriithi Frederick Muriuki |
2021-07-30 | Return dict from query functions...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/db/traits.py: return dicts rather than tuples/list
* tests/unit/db/test_traits.py: Update tests
Return dicts with the key-value pairs set up so as to ease with the data
manipulation down the pipeline.
This is also useful to help with the retrieval of all other extra
information that was left out in the first iteration.
This commit also updates the tests by ensuring they expect dicts rather than
tuples.
| Muriithi Frederick Muriuki |
2021-07-29 | Merge branch 'main' into Feature/Update-db-from-csv-data | BonfaceKilz |
2021-07-29 | Delete "update_raw" and it's test-cases | BonfaceKilz |
2021-07-29 | Add method for updating values from a sample dataset...* gn3/db/traits.py (update_sample_data): New function.
* tests/unit/db/test_traits.py: New test cases for ^^.
| BonfaceKilz |
2021-07-29 | Retrieve trait information...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/db/traits.py: add functions to retrieve traits information
* tests/unit/db/test_traits.py: add tests for new function
Add functions to retrieve traits information as is done in genenetwork1
https://github.com/genenetwork/genenetwork1/blob/master/web/webqtl/base/webqtlTrait.py#L397-L456
At this point, the data retrieval functions are probably incomplete, as
there is more of the `retrieveInfo` function in GN1 that has not been
considered as of this commit.
| Muriithi Frederick Muriuki |
2021-07-29 | Make name retrieval more general...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/db/traits.py: make function more general
* tests/unit/db/test_traits.py: parametrize the tests
Make the name retrieval more general for the different types of traits by
changing the column specification and table as appropriate.
| Muriithi Frederick Muriuki |
2021-07-29 | Retrieve 'ProbeSet' trait name...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/db/traits.py: new function (retrieve_probeset_trait_name)
* tests/unit/db/test_traits.py: test(s) for new function
Add a function to retrieve the name of a 'ProbeSet' trait in a manner
similar to genenetwork1's retrieval of the same, as implemented here
https://github.com/genenetwork/genenetwork1/blob/master/web/webqtl/base/webqtlDataset.py#L140-154
Unlike in genenetwork1, we do not mutate an object, instead, we return the
values as retrieved from the database, and the caller will deal with the
returned values as appropriate.
| Muriithi Frederick Muriuki |
2021-07-26 | tests: test_db: Add test case for "update_raw" | BonfaceKilz |
2021-07-26 | Fix issues caught by pylint...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* Fix a myriad of issues caught by pylint to ensure the code passes all tests.
| Muriithi Frederick Muriuki |
2021-07-23 | Add data examples for `slink`. Implement function....Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: Copy the function, mostly verbatim from
genenetwork1. See:
https://github.com/genenetwork/genenetwork1/blob/master/web/webqtl/heatmap/slink.py#L107-L138
* tests/unit/computations/test_slink.py: Add a test with some example data to
test that the implementation gives the same results as that in genenetwork1
| Muriithi Frederick Muriuki |
2021-07-23 | Add more test data...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
| Muriithi Frederick Muriuki |
2021-07-23 | Fix issue caught in `nearest` while testing `slink`...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* While running tests for slink, to try and understand what it is doing in
order to write the appropriate tests for it, an issue arose that pointed a
blindspot in the former understanding of now `nearest` should work.
This commit fixes the issue found in both the expected data, and the code.
| Muriithi Frederick Muriuki |
2021-07-23 | New function (`slink`): return [] on exception...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: Add minimum code to pass new test
* tests/unit/computations/test_slink.py: new test
Add test to ensure that the new `slink` function return an empty list in
case and exception is raised.
Add the new `slink` function with minimum amount of code needed to pass the
test.
| Muriithi Frederick Muriuki |
2021-07-22 | Get shortest distance from two lists/tuples of member coordinates...* gn3/computations/slink.py: add code to ensure new test passes
* tests/unit/computations/test_slink.py: new test
This one is a little weird: from
https://github.com/genenetwork/genenetwork1/blob/master/web/webqtl/heatmap/slink.py#L57-L63
It gets rid of the last coordinates in both the lists of the member
coordinates, and uses the remaining coordinates to find the shortest
members.
For example, given the following member coordinates:
- i=[0,1,2] and j=[5,7,9], it uses [0,1] and [5,7]
- i=[3,6,1] and j=[7,13], it uses [3,6] and [7]
to find the shortest distances.
I (fredmanglis) am not sure why it does it this way, since I'd have expected
it to use all the coordinates, however, since at this time we need to retain
bug-compatibility with the older code, I have done it as it is done in the
old code.
I also add a statement to raise an exception in the case where i and j are
not lists of integers, or integers
| Muriithi Frederick Muriuki |
2021-07-22 | Test for shortest distance between members in a list and coordinate...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: add code to pass new test
* tests/unit/computations/test_slink.py: new test
Given a list of members in a group, and a coordinate for a member in the
same group, find the distance of the closest member from the given
coordinate in the group.
| Muriithi Frederick Muriuki |
2021-07-22 | Check that given list and both coordinates, we get shortest distance...* gn3/computations/slink.py: Add code to compute the distance given the
coordinate of both members on the parent list/tuple
* tests/unit/computations/test_slink.py:
* Change the name of the tests to more closely correspond to the business
requirement the test is checking for
* Update the comments to indicate some more things that might need to be
done in the future
| Muriithi Frederick Muriuki |
2021-07-22 | Check that all distances are positive or zero...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: check that all distances between the 'somethings'
are all either zero or positive.
* tests/unit/computations/test_slink.py:
* Remove data with all distances positive or zero, since it would fail the
test
* Change the expected message to more closely correspond to the business
logic
| Muriithi Frederick Muriuki |
2021-07-22 | Check that distance from A to B is same as from B to A...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: check that the distance from child A to B is the
same as distance from child B to A. If not, throw an exception.
* tests/unit/computations/test_slink.py:
* Change the name of the test to more closely correspond to the business
logic being tested.
* Update the data in a separate test such that it does not error out due to
failing to fulfill the expectations of separate requirement.
- pass tests
- Rename test
- Fix errors: distances same both directions
| Muriithi Frederick Muriuki |
2021-07-22 | Check that child distance from itself is zero...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: Check that a child's distance from itself is
zero. If not, throw an exception.
The children lists are a list of distances of "something" from other
"somethings". There is still some need to establish what those "somethings"
are, so that the test names can reflect the ideas that are actually being
tested for.
* tests/unit/computations/test_slink.py: Change the name of the test so that
it more closely corresponds to the business logic it is actually testing,
and not the mechanics of testing the idea.
| Muriithi Frederick Muriuki |
2021-07-21 | Extract tests from code in GN1...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* gn3/computations/slink.py: Add dummy `nearest' function
* tests/unit/computations/test_slink.py: Add some tests
This commit adds tests to try and reproduce the working of the `nearest'
function in:
https://github.com/genenetwork/genenetwork1/blob/master/web/webqtl/heatmap/slink.py
This commit might not yet have extracted all the expected behaviour of the
`nearest' function, and therefore, there is a possibility of a later commit
augmenting the work in this commit.
| Muriithi Frederick Muriuki |
2021-07-20 | Add test for code to move over from GN1...Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi
* .gitignore: ignore emacs temporary files
* gn3/computations/correlations2.py: add a dummy function
* tests/unit/computations/test_correlation.py: add unit tests for the function
As part of the move of the clustering and heatmap code over from GN1 to GN3,
this commit begins by providing some unit tests for the correlation function
used to ensure that the implementation that is built up here corresponds,
and produces the same results as the original.
This tests and the function might change in the new system, but for now, we
try and maintain bug-to-bug compatibility.
| Muriithi Frederick Muriuki |
2021-07-10 | Fix pylint issues | BonfaceKilz |
2021-07-10 | db: test_db: Test that a fetch is correct when columns are specified | BonfaceKilz |
2021-06-29 | tests: test_commands: Add extra check for when an error occurs | BonfaceKilz |
2021-06-29 | Add a diffing function...For now the diff function uses the Linux tool "diff" to generate the diff
since it is efficient and straightforward.
* gn3/computations/diff.py (generate_diff): New function.
* tests/unit/computations/test_diff.py: Test cases for ☝🏾.
| BonfaceKilz |
2021-06-29 | tests: test_data: Add test data that contains trait data for 10007 | BonfaceKilz |
2021-06-20 | merge main | Alexander Kabui |
2021-06-20 | make requested changes to biweight | Alexander Kabui |
2021-06-18 | Fixed another error where test_generate_rqtl_command didn't include the filen... | zsloan |