repare 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of repare might be problematic. Click here for more details.
- repare/main.py +6 -3
- {repare-0.1.1.dist-info → repare-0.1.2.dist-info}/METADATA +24 -5
- repare-0.1.2.dist-info/RECORD +10 -0
- repare-0.1.1.dist-info/RECORD +0 -10
- {repare-0.1.1.dist-info → repare-0.1.2.dist-info}/WHEEL +0 -0
- {repare-0.1.1.dist-info → repare-0.1.2.dist-info}/entry_points.txt +0 -0
- {repare-0.1.1.dist-info → repare-0.1.2.dist-info}/licenses/LICENSE +0 -0
- {repare-0.1.1.dist-info → repare-0.1.2.dist-info}/top_level.txt +0 -0
repare/main.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import logging
|
|
3
3
|
import os
|
|
4
|
+
from datetime import datetime
|
|
4
5
|
|
|
5
6
|
from tqdm.contrib.logging import logging_redirect_tqdm
|
|
6
7
|
|
|
@@ -8,15 +9,17 @@ from repare.pedigree_reconstructor import PedigreeReconstructor
|
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
def parse_arguments():
|
|
11
|
-
parser = argparse.ArgumentParser(description="
|
|
12
|
+
parser = argparse.ArgumentParser(description="Reconstruct (ancient) pedigrees from pairwise kinship relations.")
|
|
12
13
|
parser.add_argument("-n", "--nodes", type=str, required=True, help="Path to the nodes CSV file.")
|
|
13
14
|
parser.add_argument("-r", "--relations", type=str, required=True, help="Path to the relations CSV file.")
|
|
14
15
|
parser.add_argument(
|
|
15
16
|
"-o",
|
|
16
17
|
"--output",
|
|
17
18
|
type=str,
|
|
18
|
-
default=
|
|
19
|
-
help=
|
|
19
|
+
default=datetime.now().strftime("repare_output_%Y%m%d_%H%M%S"),
|
|
20
|
+
help=(
|
|
21
|
+
"Directory to save the output files. Defaults to repare_output_<YYYYMMDD_HHMMSS> in the current directory."
|
|
22
|
+
),
|
|
20
23
|
)
|
|
21
24
|
parser.add_argument(
|
|
22
25
|
"-m",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: repare
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Reconstruct (ancient) pedigrees from pairwise kinship relations.
|
|
5
5
|
Author-email: Edward Huang <edwardhuangc@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -29,12 +29,14 @@ conda create -n "repare" -c conda-forge python=3.13 pygraphviz matplotlib networ
|
|
|
29
29
|
conda activate repare
|
|
30
30
|
pip install repare
|
|
31
31
|
```
|
|
32
|
-
repare uses PyGraphviz to plot reconstructed pedigrees. Since PyGraphviz relies on Graphviz which cannot be installed using `pip`, we recommend installing repare and its dependencies in a fresh conda environment, as shown above.
|
|
32
|
+
repare uses PyGraphviz to plot reconstructed pedigrees. Since PyGraphviz relies on Graphviz which cannot be installed using `pip`, we recommend installing repare and its dependencies in a fresh conda environment, as shown above. This conda-based installation method automatically installs Graphviz and ensures PyGraphviz is linked to it.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
To install conda, see [this page](https://www.anaconda.com/docs/getting-started/miniconda/install).
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
### Other
|
|
37
|
+
If you don't need to plot reconstructed pedigrees, you can install repare directly with `pip install repare`. If you need to plot reconstructed pedigrees but have your own Graphviz installation, you can install repare and Pygraphviz (and not Graphviz) with `pip install repare[plot]`.
|
|
37
38
|
|
|
39
|
+
To install PyGraphviz and Graphviz (yourself), see [this page](https://pygraphviz.github.io/documentation/stable/install.html).
|
|
38
40
|
|
|
39
41
|
## Usage
|
|
40
42
|
|
|
@@ -48,7 +50,7 @@ repare -n NODES -r RELATIONS [-o OUTPUT] [-m MAX_CANDIDATE_PEDIGREES] [-e EPSILO
|
|
|
48
50
|
> ```
|
|
49
51
|
> repare -n nodes.csv -r relations.csv
|
|
50
52
|
> ```
|
|
51
|
-
> For example data inputs, see [examples/nodes.csv](examples/nodes.csv) and [examples/relations.csv](examples/relations.csv).
|
|
53
|
+
> For example data inputs, see [examples/nodes.csv](https://github.com/ehuangc/repare/blob/main/examples/nodes.csv) and [examples/relations.csv](https://github.com/ehuangc/repare/blob/main/examples/relations.csv).
|
|
52
54
|
|
|
53
55
|
### Inputs
|
|
54
56
|
**Nodes** (-n) (*required*): Path to a CSV file that contains information about the individuals to be analyzed by repare.
|
|
@@ -119,3 +121,20 @@ python benchmarks/published/run_parameter_experiment.py
|
|
|
119
121
|
exit
|
|
120
122
|
```
|
|
121
123
|
To install pixi, see [this page](https://pixi.sh/latest/installation/).
|
|
124
|
+
|
|
125
|
+
## Citation
|
|
126
|
+
If you use repare in your work, please cite our preprint:
|
|
127
|
+
|
|
128
|
+
> Huang, E. C., Li, K. A., & Narasimhan, V. M. (2025). Fault-tolerant pedigree reconstruction from pairwise kinship relations. bioRxiv. [https://doi.org/10.1101/2025.08.21.671608](https://doi.org/10.1101/2025.08.21.671608)
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
@article{repare_preprint2025,
|
|
132
|
+
doi = {10.1101/2025.08.21.671608},
|
|
133
|
+
author = {Huang, Edward C. and Li, Kevin A. and Narasimhan, Vagheesh M.},
|
|
134
|
+
title = {Fault-tolerant pedigree reconstruction from pairwise kinship relations},
|
|
135
|
+
journal = {bioRxiv},
|
|
136
|
+
month = {aug},
|
|
137
|
+
year = {2025},
|
|
138
|
+
url = {https://doi.org/10.1101/2025.08.21.671608},
|
|
139
|
+
}
|
|
140
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
repare/__init__.py,sha256=esYDcCYXwJUJVVpWQFFpocPwCZzL5xo_Hxihbknfunc,138
|
|
2
|
+
repare/main.py,sha256=ExmfZyE3yEW-IeS0w8rvIHRI3n3jk4Z_cxijNRbEsck,2804
|
|
3
|
+
repare/pedigree.py,sha256=0YXNz2qeML63pgOyX6izaf0zcYIm61N5GU29816P1kg,70547
|
|
4
|
+
repare/pedigree_reconstructor.py,sha256=zbkc9uyd5uqKM9HCZVg6rvvEEo28i65PN-RybrQxILE,49359
|
|
5
|
+
repare-0.1.2.dist-info/licenses/LICENSE,sha256=uqhB_C7lgd3rOQU5SLtWeu_tVc_L0zGGdN488GCrtmY,1063
|
|
6
|
+
repare-0.1.2.dist-info/METADATA,sha256=vCybfDcxQ-29s0gPQrEza41YP9iFVSgriWwpXp6qtow,7493
|
|
7
|
+
repare-0.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
+
repare-0.1.2.dist-info/entry_points.txt,sha256=tWRppCTqmNN8n4hJ_ShCgO8dJFU4PKTQsexMZS-PFHw,44
|
|
9
|
+
repare-0.1.2.dist-info/top_level.txt,sha256=MBgnP6OarsEmlqLXjKcPqKFIMIdpwADg5vt6eMPVA0M,7
|
|
10
|
+
repare-0.1.2.dist-info/RECORD,,
|
repare-0.1.1.dist-info/RECORD
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
repare/__init__.py,sha256=esYDcCYXwJUJVVpWQFFpocPwCZzL5xo_Hxihbknfunc,138
|
|
2
|
-
repare/main.py,sha256=Jmdzzc2_XxBzQ5vU5l0Q0Sh_M714-EWpYCBPOqnng_k,2628
|
|
3
|
-
repare/pedigree.py,sha256=0YXNz2qeML63pgOyX6izaf0zcYIm61N5GU29816P1kg,70547
|
|
4
|
-
repare/pedigree_reconstructor.py,sha256=zbkc9uyd5uqKM9HCZVg6rvvEEo28i65PN-RybrQxILE,49359
|
|
5
|
-
repare-0.1.1.dist-info/licenses/LICENSE,sha256=uqhB_C7lgd3rOQU5SLtWeu_tVc_L0zGGdN488GCrtmY,1063
|
|
6
|
-
repare-0.1.1.dist-info/METADATA,sha256=Rwk4p3XZDOCPYsnbHMuinKM1juRbSf1iB-C1ClFwYZg,6608
|
|
7
|
-
repare-0.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
-
repare-0.1.1.dist-info/entry_points.txt,sha256=tWRppCTqmNN8n4hJ_ShCgO8dJFU4PKTQsexMZS-PFHw,44
|
|
9
|
-
repare-0.1.1.dist-info/top_level.txt,sha256=MBgnP6OarsEmlqLXjKcPqKFIMIdpwADg5vt6eMPVA0M,7
|
|
10
|
-
repare-0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|