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 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="Build and analyze pedigrees.")
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="Directory to save the output files. Defaults to the current directory.",
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.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
- 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 and have your own Graphviz installation, you can install repare and Pygraphviz with `pip install repare[plot]`.
34
+ To install conda, see [this page](https://www.anaconda.com/docs/getting-started/miniconda/install).
35
35
 
36
- To install conda, see [this page](https://www.anaconda.com/docs/getting-started/miniconda/install). To install PyGraphviz and Graphviz (yourself), see [this page](https://pygraphviz.github.io/documentation/stable/install.html).
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,,
@@ -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