Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README #9

Merged
merged 4 commits into from
Nov 21, 2024
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions README.md
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
[![Test Pairwise Compare](https://github.com/WayScience/pairwise_compare/actions/workflows/python-app.yml/badge.svg)](https://github.com/WayScience/pairwise_compare/actions/workflows/python-app.yml)
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
# Pairwise Compare
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
This tool allows the user to compare groups of data specified in a tidy-wide pandas dataframe with ease.
In this repo the capabilities of the PairwiseCompareManger are shown through examples using a dataset from the [nf1_schwann_cell_painting_data](https://github.com/WayScience/nf1_schwann_cell_painting_data).
These examples can be found in the docs.
Although, most of the development efforts can be found in the `src` folder.
Users should almost exclusively interact with the PairwiseCompareManager, however, there may be rare exceptions.
This tool allows the user to compare groups of data specified in a tidy-wide pandas dataframe with ease.<br>
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
In this repo the capabilities of the PairwiseCompareManger are shown through examples using a dataset from the [nf1_schwann_cell_painting_data](https://github.com/WayScience/nf1_schwann_cell_painting_data).<br>
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
These examples can be found in the [docs](https://github.com/WayScience/pairwise_compare/tree/main/docs).<br>
Although, most of the development efforts can be found in the `src` folder.<br>
Users should almost exclusively interact with the [PairwiseCompareManager](https://github.com/WayScience/pairwise_compare/blob/main/src/comparison_tools/PairwiseCompareManager.py), however, there may be rare exceptions.<br>
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
If you choose to interact with another component of the tool, then there will be less input validation safeguards available.

## Data Formats
When passing arguments to the `PairwiseCompareManager` you can specify the columns that remain the same in each group-to-group comparison, and the columns that will be different in these comparisons.
These columns are parameterized by `_same_columns` and `_different_columns`, respectively.
The column values in these columns uniquely define each group.
During pairwise comparisons of groups, all of the column values of the columns specified in `_same_columns` will be the same between both groups compared for all paired combinations of groups.
When passing arguments to the `PairwiseCompareManager` you can specify the columns that remain the same in each group-to-group comparison, and the columns that will be different in these comparisons.<br>
These columns are parameterized by `_same_columns` and `_different_columns`, respectively.<br>
The column values in these columns uniquely define each group.<br>
During pairwise comparisons of groups, all of the column values of the columns specified in `_same_columns` will be the same between both groups compared for all paired combinations of groups.<br>
Likewise, all of the column values of the columns specified in `_different_columns` will be different between both groups compared for all paired combinations of groups.

One of the following column arguments conditions must be satisified when using the `PairwiseCompareManager`:
Expand All @@ -19,11 +20,11 @@ One of the following column arguments conditions must be satisified when using t
3. `_same_columns` and `_different_columns` should not contain any of the same columns.

## Limitations
1. Input validation is enforced in the `PairwiseCompareManager` and `PairwiseCompare` classes.
1. Input validation is enforced in the `PairwiseCompareManager` and [PairwiseCompare](https://github.com/WayScience/pairwise_compare/blob/main/src/comparison_tools/PairwiseCompare.py) classes.
MattsonCam marked this conversation as resolved.
Show resolved Hide resolved
2. Additional column values are not tracked aside from columns used to compare groups (_same_columns, _different_columns).
3. Output and input python data structures are limited.
4. All of the data, in the supplied pandas dataframe, is used to compute comparisons.

## Extensibility
This tool compares features between any two groups of a tidy-wide pandas dataframe.
To incorporate additional comparators for making comparisons, you must introduce the functionality as a class and inherit from the `Comparator` class (See `Comparator.py` for details).
This tool compares features between any two groups of a tidy-wide pandas dataframe.<br>
To incorporate additional comparators for making comparisons, you must introduce the functionality as a class and inherit from the `Comparator` class (See [Comparator.py](https://github.com/WayScience/pairwise_compare/blob/main/src/comparators/Comparator.py) for details).