Skip to content

Commit fb10b28

Browse files
tomwhitemergify[bot]
authored andcommitted
Rename dimensions 'sample_x' and 'sample_y' in PC relate to 'samples_0' and 'samples_1' for consistency with popgen.
1 parent e286e75 commit fb10b28

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

sgkit/stats/pc_relate.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ def pc_relate(
107107
108108
:data:`sgkit.variables.pc_relate_phi_spec`: (S,S) ArrayLike
109109
pairwise recent kinship coefficient matrix as float in [-0.5, 0.5].
110+
The dimensions are named ``samples_0`` and ``samples_1``.
110111
111112
References
112113
----------
@@ -173,5 +174,7 @@ def pc_relate(
173174
phi = gramian(centered_af) / gramian(stddev)
174175
# NOTE: phi is of shape (S x S), S = num samples
175176
assert phi.shape == (call_g.shape[1],) * 2
176-
new_ds = create_dataset({variables.pc_relate_phi: (("sample_x", "sample_y"), phi)})
177+
new_ds = create_dataset(
178+
{variables.pc_relate_phi: (("samples_0", "samples_1"), phi)}
179+
)
177180
return conditional_merge_datasets(ds, new_ds, merge)

sgkit/tests/test_pc_relate.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def test_pc_relate__identical_sample_should_be_05() -> None:
122122
g.call_genotype.loc[dict(samples=8)] = g.call_genotype.isel(samples=0)
123123
phi = pc_relate(g)
124124
assert phi.pc_relate_phi.shape == (n_samples, n_samples)
125-
assert np.allclose(phi.pc_relate_phi.isel(sample_x=8, sample_y=0), 0.5, atol=0.1)
125+
assert np.allclose(phi.pc_relate_phi.isel(samples_0=8, samples_1=0), 0.5, atol=0.1)
126126

127127

128128
def test_pc_relate__parent_child_relationship() -> None:
@@ -164,7 +164,7 @@ def simulate_new_generation(ds: xr.Dataset) -> xr.Dataset:
164164
ds["pc_relate_phi"]
165165
.to_series()
166166
.reset_index()
167-
.pipe(lambda df: df.loc[df.sample_x >= df.sample_y]["pc_relate_phi"])
167+
.pipe(lambda df: df.loc[df.samples_0 >= df.samples_1]["pc_relate_phi"])
168168
.pipe(
169169
pd.cut,
170170
bins=[p for phi in [0, 0.25, 0.5] for p in [phi - 0.1, phi + 0.1]],

0 commit comments

Comments
 (0)