From af156312ee730c7fb2abde745223b9a38b3fa87b Mon Sep 17 00:00:00 2001 From: Daniel Standage Date: Wed, 13 Sep 2023 14:30:07 -0400 Subject: [PATCH] Remove frequency --format=detail; make merged.csv sorting deterministic --- dbbuild/lib/source.py | 2 +- dbbuild/merged.csv | 164 +++++++++++++++++------------------ microhapdb/cli/frequency.py | 6 +- microhapdb/tests/test_cli.py | 6 +- 4 files changed, 86 insertions(+), 92 deletions(-) diff --git a/dbbuild/lib/source.py b/dbbuild/lib/source.py index 88a1a1b..b767863 100644 --- a/dbbuild/lib/source.py +++ b/dbbuild/lib/source.py @@ -218,7 +218,7 @@ def populations(self): @property def merges(self): table = pd.DataFrame(self.interval_index.mergeables.items(), columns=["Derivative", "Original"]) - table = table.sort_values("Original").reset_index(drop=True) + table = table.sort_values(["Original", "Derivative"]).reset_index(drop=True) return table def __str__(self): diff --git a/dbbuild/merged.csv b/dbbuild/merged.csv index c1b91c8..6e3fbc5 100644 --- a/dbbuild/merged.csv +++ b/dbbuild/merged.csv @@ -1,30 +1,30 @@ Derivative,Original -mh01WL-096,mh01FHL-009 -mh01WL-066,mh01FHL-009 mh01SCUZJ-0605987,mh01FHL-009 +mh01WL-066,mh01FHL-009 +mh01WL-096,mh01FHL-009 mh01WL-043,mh01KK-205 mh01WL-012,mh01KK-211 mh01WL-072,mh01KK-211 mh01SCUZJ-0514894,mh01KK-212 +mh01WL-001,mh01KK-212 mh01WL-048,mh01KK-212 mh01WL-062,mh01KK-212 -mh01WL-001,mh01KK-212 mh01SCUZJ-0609772,mh01KK-213 mh01NK-001,mh01NH-04 mh01SCUZJ-0005188,mh01SCUZJ-0005171 mh01SCUZJ-0109666,mh01SCUZJ-0109665 mh01SCUZJ-0513266,mh01USC-1qC -mh01WL-065,mh01WL-002 mh01WL-055,mh01WL-002 +mh01WL-065,mh01WL-002 mh01WL-049,mh01WL-003 -mh01WL-069,mh01WL-005 mh01SCUZJ-0541700,mh01WL-005 +mh01WL-069,mh01WL-005 mh01SCUZJ-0625996,mh01WL-006 mh01SCUZJ-0325015,mh01WL-007 -mh01WL-067,mh01WL-008 -mh01WL-056,mh01WL-008 mh01SCUZJ-0650171,mh01WL-008 mh01SCUZJ-0650174,mh01WL-008 +mh01WL-056,mh01WL-008 +mh01WL-067,mh01WL-008 mh01WL-075,mh01WL-010 mh01WL-085,mh01WL-019 mh01WL-082,mh01WL-020 @@ -33,8 +33,8 @@ mh01WL-061,mh01WL-024 mh01WL-064,mh01WL-027 mh01SCUZJ-0301124,mh01WL-033 mh01WL-068,mh01WL-033 -mh01WL-052,mh01WL-038 mh01LW-2,mh01WL-038 +mh01WL-052,mh01WL-038 mh01WL-079,mh01WL-040 mh01WL-054,mh01WL-041 mh01LW-4,mh01WL-047 @@ -50,9 +50,9 @@ mh01SCUZJ-0055154,mh01WL-106 mh01WL-057,mh01ZHA-012 mh02FHL-010,mh02KK-014 mh02SCUZJ-0629657,mh02KK-014 -mh02WL-029,mh02KK-029 -mh02SCUZJ-0227985,mh02KK-029 mh02FHL-003,mh02KK-029 +mh02SCUZJ-0227985,mh02KK-029 +mh02WL-029,mh02KK-029 mh02SCUZJ-0506176,mh02LV-05 mh02SCUZJ-0096649,mh02LV-08 mh02SCUZJ-0004058,mh02SCUZJ-0004047 @@ -69,46 +69,46 @@ mh02WL-036,mh02SHY-003 mh02WL-068,mh02SHY-004 mh02WL-078,mh02USC-2qB mh02WL-062,mh02WL-001 -mh02WL-065,mh02WL-002 -mh02SCUZJ-0569306,mh02WL-002 mh02LS-2qE,mh02WL-002 -mh02WL-064,mh02WL-003 +mh02SCUZJ-0569306,mh02WL-002 +mh02WL-065,mh02WL-002 mh02SCUZJ-0662221,mh02WL-003 -mh02WL-063,mh02WL-025 +mh02WL-064,mh02WL-003 mh02WL-051,mh02WL-025 -mh02WL-058,mh02WL-028 -mh02SCUZJ-0608242,mh02WL-028 +mh02WL-063,mh02WL-025 mh02LW-10,mh02WL-028 +mh02SCUZJ-0608242,mh02WL-028 +mh02WL-058,mh02WL-028 mh02WL-056,mh02WL-030 -mh02WL-066,mh02WL-031 mh02SCUZJ-0146588,mh02WL-031 +mh02WL-066,mh02WL-031 mh02WL-073,mh02WL-040 mh02WL-061,mh02WL-047 mh02SCUZJ-0687880,mh02WL-082 mh02SCUZJ-0687894,mh02WL-082 mh02WL-055,mh02WL-088 -mh02LW-8,mh02ZHA-013 mh02FHL-006,mh02ZHA-013 +mh02LW-8,mh02ZHA-013 mh03WL-049,mh03FHL-001 mh03WL-022,mh03FHL-003 -mh03SHY-003,mh03KK-017 mh03SCUZJ-0163204,mh03KK-017 mh03SCUZJ-0163207,mh03KK-017 -mh03SCUZJ-0030960,mh03LV-01 +mh03SHY-003,mh03KK-017 mh03SCUZJ-0030956,mh03LV-01 +mh03SCUZJ-0030960,mh03LV-01 +mh03SCUZJ-0068937,mh03LV-06 mh03WL-001,mh03LV-06 mh03WL-040,mh03LV-06 -mh03SCUZJ-0068937,mh03LV-06 mh03SCUZJ-0038529,mh03LV-07 mh03SCUZJ-0001038,mh03SCUZJ-0000972 mh03SCUZJ-0602778,mh03SCUZJ-0602768 mh03WL-090,mh03SHY-005 -mh03SCUZJ-0644566,mh03USC-3qC mh03SCUZJ-0644562,mh03USC-3qC -mh03WL-042,mh03WL-005 +mh03SCUZJ-0644566,mh03USC-3qC mh03SCUZJ-0385068,mh03WL-005 -mh03WL-055,mh03WL-006 +mh03WL-042,mh03WL-005 mh03WL-044,mh03WL-006 +mh03WL-055,mh03WL-006 mh03WL-045,mh03WL-011 mh03WL-051,mh03WL-015 mh03WL-053,mh03WL-017 @@ -120,13 +120,13 @@ mh03WL-063,mh03WL-029 mh03WL-061,mh03WL-039 mh03SCUZJ-0548641,mh03WL-060 mh03WL-041,mh03WL-065 -mh03WL-052,mh03WL-070 mh03SCUZJ-0177603,mh03WL-070 mh03SCUZJ-0177610,mh03WL-070 +mh03WL-052,mh03WL-070 mh04SCUZJ-0338315,mh04FHL-005 -mh04WL-056,mh04FHL-005 -mh04WL-007,mh04FHL-005 mh04SCUZJ-0338327,mh04FHL-005 +mh04WL-007,mh04FHL-005 +mh04WL-056,mh04FHL-005 mh04SCUZJ-0059877,mh04SCUZJ-0059871 mh04SCUZJ-0115309,mh04SCUZJ-0115278 mh04SCUZJ-0147560,mh04SCUZJ-0146582 @@ -134,24 +134,24 @@ mh04SCUZJ-0194603,mh04SCUZJ-0194557 mh04SCUZJ-0216467,mh04SCUZJ-0216446 mh04SCUZJ-0635054,mh04SCUZJ-0635044 mh04SCUZJ-0684555,mh04SCUZJ-0684549 +mh04SCUZJ-0422388,mh04SHY-001 mh04WL-005,mh04SHY-001 mh04WL-042,mh04SHY-001 -mh04SCUZJ-0422388,mh04SHY-001 -mh04WL-051,mh04WL-001 -mh04WL-038,mh04WL-001 mh04SCUZJ-0691141,mh04WL-001 +mh04WL-038,mh04WL-001 +mh04WL-051,mh04WL-001 mh04WL-040,mh04WL-003 mh04SCUZJ-0185425,mh04WL-004 -mh04WL-049,mh04WL-004 mh04SCUZJ-0185432,mh04WL-004 +mh04WL-049,mh04WL-004 mh04WL-055,mh04WL-004 mh04SCUZJ-0628540,mh04WL-009 mh04LW-14,mh04WL-012 mh04SCUZJ-0236608,mh04WL-012 mh04WL-059,mh04WL-012 mh04WL-039,mh04WL-018 -mh04SCUZJ-0554303,mh04WL-023 mh04LS-4qH,mh04WL-023 +mh04SCUZJ-0554303,mh04WL-023 mh04WL-041,mh04WL-023 mh04WL-060,mh04WL-023 mh04WL-058,mh04WL-026 @@ -159,8 +159,8 @@ mh04WL-064,mh04WL-027 mh04WL-053,mh04WL-028 mh04WL-065,mh04WL-030 mh04SCUZJ-0160892,mh04WL-031 -mh04WL-054,mh04WL-031 mh04SCUZJ-0160905,mh04WL-031 +mh04WL-054,mh04WL-031 mh04WL-068,mh04WL-036 mh04SCUZJ-0640428,mh04WL-044 mh04LW-12,mh04WL-048 @@ -169,52 +169,52 @@ mh04LS-4qG,mh04WL-074 mh04SCUZJ-0716520,mh04WL-076 mh04WL-045,mh04WL-081 mh04WL-046,mh04WL-082 -mh04WL-062,mh04ZHA-002 -mh04WL-043,mh04ZHA-002 mh04WL-006,mh04ZHA-002 +mh04WL-043,mh04ZHA-002 +mh04WL-062,mh04ZHA-002 mh05KK-020,mh05KK-023 mh05KK-121,mh05KK-120 -mh05WL-043,mh05KK-178 mh05WL-019,mh05KK-178 +mh05WL-043,mh05KK-178 mh05SCUZJ-0283616,mh05SCUZJ-0282942 mh05SCUZJ-0427356,mh05SCUZJ-0427297 mh05SCUZJ-0525179,mh05SCUZJ-0525156 mh05WL-063,mh05SHY-002 mh05WL-010,mh05USC-5qC mh05WL-044,mh05WL-001 -mh05SCUZJ-0319315,mh05WL-003 mh05SCUZJ-0319310,mh05WL-003 +mh05SCUZJ-0319315,mh05WL-003 mh05WL-048,mh05WL-006 mh05WL-037,mh05WL-013 -mh05WL-038,mh05WL-015 mh05SCUZJ-0015360,mh05WL-015 mh05WL-034,mh05WL-015 +mh05WL-038,mh05WL-015 mh05WL-050,mh05WL-025 mh05WL-039,mh05WL-026 mh05SCUZJ-0505173,mh05WL-046 mh05WL-035,mh05WL-058 mh05SCUZJ-0515162,mh05WL-061 mh05SCUZJ-0123824,mh05WL-067 -mh05WL-042,mh05WL-070 mh05SCUZJ-0333951,mh05WL-070 +mh05WL-042,mh05WL-070 mh06SCUZJ-0056906,mh06SCUZJ-0056888 mh06SCUZJ-0480603,mh06SCUZJ-0480560 mh06SCUZJ-0638942,mh06SCUZJ-0638919 mh06SCUZJ-0758531,mh06SCUZJ-0758459 mh06SCUZJ-0834235,mh06SCUZJ-0834226 mh06SCUZJ-0568919,mh06SHY-005 -mh06WL-053,mh06WL-004 mh06SCUZJ-0651421,mh06WL-004 +mh06WL-053,mh06WL-004 mh06WL-038,mh06WL-005 mh06WL-052,mh06WL-006 mh06WL-054,mh06WL-008 -mh06WL-059,mh06WL-009 mh06WL-043,mh06WL-009 +mh06WL-059,mh06WL-009 mh06WL-055,mh06WL-014 mh06WL-037,mh06WL-017 -mh06WL-049,mh06WL-018 -mh06WL-036,mh06WL-018 mh06SCUZJ-0842484,mh06WL-018 +mh06WL-036,mh06WL-018 +mh06WL-049,mh06WL-018 mh06WL-062,mh06WL-028 mh06WL-060,mh06WL-029 mh06WL-065,mh06WL-031 @@ -226,26 +226,26 @@ mh06WL-044,mh06WL-071 mh06SCUZJ-0015804,mh06WL-072 mh06SCUZJ-0526515,mh06WL-073 mh07SCUZJ-0121697,mh07FHL-002 -mh07SCUZJ-0208336,mh07HYP-19 mh07SCUZJ-0208328,mh07HYP-19 +mh07SCUZJ-0208336,mh07HYP-19 mh07SCUZJ-0103025,mh07SCUZJ-0102959 mh07SCUZJ-0380118,mh07SCUZJ-0380111 mh07SCUZJ-0502293,mh07SCUZJ-0502291 mh07SCUZJ-0126998,mh07SHY-001 -mh07WL-048,mh07WL-004 mh07SCUZJ-0080962,mh07WL-004 +mh07WL-048,mh07WL-004 mh07WL-053,mh07WL-007 mh07WL-040,mh07WL-009 -mh07WL-051,mh07WL-011 mh07SCUZJ-0471130,mh07WL-011 -mh07WL-045,mh07WL-017 +mh07WL-051,mh07WL-011 mh07WL-037,mh07WL-017 +mh07WL-045,mh07WL-017 mh07WL-038,mh07WL-018 mh07WL-046,mh07WL-018 -mh07WL-049,mh07WL-020 mh07SCUZJ-0292690,mh07WL-020 -mh07WL-047,mh07WL-022 +mh07WL-049,mh07WL-020 mh07SCUZJ-0415177,mh07WL-022 +mh07WL-047,mh07WL-022 mh07SCUZJ-0542051,mh07WL-062 mh07WL-041,mh07WL-073 mh07LS-7pE,mh07ZHA-004 @@ -265,19 +265,19 @@ mh08SCUZJ-0002370,mh08WL-053 mh08SCUZJ-0385756,mh08WL-056 mh08WL-039,mh08WL-056 mh08SCUZJ-0462265,mh08WL-058 -mh09WL-024,mh09FHL-002 mh09WL-006,mh09FHL-002 -mh09WL-004,mh09KK-153 +mh09WL-024,mh09FHL-002 mh09LW-26,mh09KK-153 +mh09WL-004,mh09KK-153 mh09SCUZJ-0366544,mh09LV-02 mh09SCUZJ-0395158,mh09SCUZJ-0395135 +mh09SCUZJ-0138756,mh09SHY-001 mh09WL-003,mh09SHY-001 mh09WL-022,mh09SHY-001 -mh09SCUZJ-0138756,mh09SHY-001 mh09WL-036,mh09SHY-004 mh09KK-010,mh09USC-9pA -mh09WL-016,mh09WL-010 mh09SCUZJ-0002028,mh09WL-010 +mh09WL-016,mh09WL-010 mh09WL-017,mh09WL-014 mh09WL-025,mh09WL-014 mh09WL-019,mh09WL-015 @@ -291,8 +291,8 @@ mh10LW-27,mh10SCUZJ-0204710 mh10SCUZJ-0297133,mh10SCUZJ-0297129 mh10SCUZJ-0366622,mh10SCUZJ-0366546 mh10LW-28,mh10SCUZJ-0378284 -mh10WL-013,mh10SHY-002 mh10SCUZJ-0370630,mh10SHY-002 +mh10WL-013,mh10SHY-002 mh10SCUZJ-0449042,mh10WL-001 mh10WL-029,mh10WL-005 mh10SCUZJ-0025950,mh10WL-012 @@ -316,17 +316,17 @@ mh11SCUZJ-0440638,mh11WL-001 mh11WL-025,mh11WL-002 mh11WL-034,mh11WL-003 mh11SCUZJ-0012491,mh11WL-004 -mh11WL-031,mh11WL-005 mh11LS-11qB,mh11WL-005 mh11SCUZJ-0240124,mh11WL-005 +mh11WL-031,mh11WL-005 mh11WL-040,mh11WL-011 mh11WL-032,mh11WL-015 mh11LW-29,mh11WL-024 mh11SCUZJ-0235237,mh11WL-027 mh11WL-022,mh11WL-030 mh11SCUZJ-0059647,mh11WL-033 -mh12SCUZJ-0102759,mh12KK-201 mh12SCUZJ-0102744,mh12KK-201 +mh12SCUZJ-0102759,mh12KK-201 mh12SCUZJ-0013075,mh12SCUZJ-0013071 mh12LW-31,mh12SCUZJ-0223636 mh12SCUZJ-0223671,mh12SCUZJ-0223636 @@ -334,10 +334,10 @@ mh12SCUZJ-0265690,mh12SCUZJ-0265665 mh12SCUZJ-0276439,mh12SCUZJ-0276370 mh12SCUZJ-0326503,mh12SCUZJ-0326486 mh12SCUZJ-0429390,mh12SCUZJ-0429356 +mh12LS-12pA,mh12SHY-001 mh12SCUZJ-0057315,mh12SHY-001 -mh12WL-030,mh12SHY-001 mh12WL-016,mh12SHY-001 -mh12LS-12pA,mh12SHY-001 +mh12WL-030,mh12SHY-001 mh12WL-037,mh12WL-001 mh12SCUZJ-0232588,mh12WL-002 mh12WL-039,mh12WL-002 @@ -366,23 +366,23 @@ mh13SCUZJ-0227647,mh13SCUZJ-0227626 mh13SCUZJ-0255449,mh13SCUZJ-0255446 mh13WL-042,mh13SHY-001 mh13WL-010,mh13USC-13qA -mh13WL-024,mh13USC-13qA mh13WL-021,mh13USC-13qA -mh13WL-022,mh13WL-001 +mh13WL-024,mh13USC-13qA mh13SCUZJ-0251308,mh13WL-001 mh13WL-019,mh13WL-001 +mh13WL-022,mh13WL-001 mh13WL-023,mh13WL-008 mh13WL-026,mh13WL-013 mh13WL-025,mh13WL-037 -mh14SCUZJ-0109051,mh14KK-227 mh14LW-37,mh14KK-227 +mh14SCUZJ-0109051,mh14KK-227 mh14SCUZJ-0040962,mh14SCUZJ-0040957 mh14SCUZJ-0105353,mh14SCUZJ-0105332 mh14WL-009,mh14SHY-002 mh14SCUZJ-0128859,mh14SHY-003 mh14WL-001,mh14SHY-003 -mh14WL-025,mh14SHY-003 mh14WL-021,mh14SHY-003 +mh14WL-025,mh14SHY-003 mh14SCUZJ-0178180,mh14WL-003 mh14WL-019,mh14WL-004 mh14SCUZJ-0227283,mh14WL-005 @@ -390,8 +390,8 @@ mh14WL-024,mh14WL-010 mh14WL-031,mh14WL-013 mh14WL-022,mh14WL-028 mh14SCUZJ-0166704,mh14WL-030 -mh14WL-026,mh14WL-036 mh14SCUZJ-0029353,mh14WL-036 +mh14WL-026,mh14WL-036 mh14SCUZJ-0262293,mh14WL-043 mh14LW-38,mh14WL-044 mh15SCUZJ-0204763,mh15SCUZJ-0204760 @@ -404,16 +404,16 @@ mh15WL-003,mh15SHY-004 mh15SCUZJ-0160044,mh15WL-001 mh15WL-020,mh15WL-001 mh15WL-024,mh15WL-001 -mh15WL-026,mh15WL-004 mh15WL-023,mh15WL-004 +mh15WL-026,mh15WL-004 mh15WL-021,mh15WL-015 mh15WL-027,mh15WL-018 mh15WL-025,mh15WL-031 mh16WL-004,mh16KK-011 mh16WL-027,mh16KK-011 -mh16SCUZJ-0284519,mh16KK-259 -mh16LW-42,mh16KK-259 mh16FHL-004,mh16KK-259 +mh16LW-42,mh16KK-259 +mh16SCUZJ-0284519,mh16KK-259 mh16SCUZJ-0054221,mh16SCUZJ-0054196 mh16SCUZJ-0328956,mh16SCUZJ-0328951 mh16WL-020,mh16WL-003 @@ -423,22 +423,22 @@ mh16WL-019,mh16WL-012 mh16WL-028,mh16WL-013 mh16SCUZJ-0064577,mh16WL-040 mh16SCUZJ-0064580,mh16WL-040 -mh17WL-029,mh17FHL-005 mh17SCUZJ-0212421,mh17FHL-005 +mh17WL-029,mh17FHL-005 mh17SCUZJ-0017256,mh17SCUZJ-0017214 mh17SCUZJ-0090373,mh17SCUZJ-0090327 mh17SCUZJ-0137945,mh17SCUZJ-0137941 mh17WL-025,mh17WL-004 -mh17WL-020,mh17WL-008 mh17WL-017,mh17WL-008 -mh17WL-021,mh17WL-009 +mh17WL-020,mh17WL-008 mh17SCUZJ-0002213,mh17WL-009 +mh17WL-021,mh17WL-009 mh17WL-023,mh17WL-011 mh17WL-028,mh17WL-015 mh17SCUZJ-0194248,mh17WL-016 mh17WL-024,mh17WL-016 -mh17SCUZJ-0097857,mh17WL-022 mh17LW-43,mh17WL-022 +mh17SCUZJ-0097857,mh17WL-022 mh17SCUZJ-0235617,mh17WL-030 mh17SCUZJ-0204850,mh17WL-031 mh18SCUZJ-0204360,mh18FHL-004 @@ -451,44 +451,44 @@ mh18WL-016,mh18WL-010 mh18WL-019,mh18WL-022 mh18WL-017,mh18WL-027 mh19SCUZJ-0249143,mh19SCUZJ-0249059 +mh19SCUZJ-0041115,mh19SHY-001 mh19WL-001,mh19SHY-001 -mh19WL-021,mh19SHY-001 mh19WL-017,mh19SHY-001 -mh19SCUZJ-0041115,mh19SHY-001 +mh19WL-021,mh19SHY-001 +mh19LW-48,mh19USC-19qA +mh19SCUZJ-0139858,mh19USC-19qA mh19WL-009,mh19USC-19qA mh19WL-015,mh19USC-19qA -mh19SCUZJ-0139858,mh19USC-19qA -mh19LW-48,mh19USC-19qA mh19WL-014,mh19USC-19qB mh19WL-023,mh19USC-19qB mh19WL-016,mh19WL-007 mh19WL-019,mh19WL-007 mh20SCUZJ-0025789,mh20LV-04 mh20SCUZJ-0185187,mh20SCUZJ-0185153 -mh20WL-016,mh20WL-022 mh20SCUZJ-0008289,mh20WL-022 -mh20WL-017,mh20WL-023 +mh20WL-016,mh20WL-022 mh20WL-013,mh20WL-023 +mh20WL-017,mh20WL-023 mh20WL-015,mh20WL-026 -mh21WL-004,mh21FHL-002 -mh21WL-008,mh21FHL-002 mh21SCUZJ-0065412,mh21FHL-002 mh21SCUZJ-0065421,mh21FHL-002 +mh21WL-004,mh21FHL-002 +mh21WL-008,mh21FHL-002 mh21SCUZJ-0036794,mh21KK-315 mh21SCUZJ-0093029,mh21SCUZJ-0093008 mh21SCUZJ-0100468,mh21SCUZJ-0100459 -mh21WL-012,mh21WL-005 mh21WL-009,mh21WL-005 -mh21WL-011,mh21WL-020 +mh21WL-012,mh21WL-005 mh21SCUZJ-0086436,mh21WL-020 +mh21WL-011,mh21WL-020 mh22SCUZJ-0021104,mh22SCUZJ-0021077 mh22KK-340,mh22USC-22qB mh22SCUZJ-0073300,mh22WL-004 -mh22WL-014,mh22WL-004 mh22WL-011,mh22WL-004 +mh22WL-014,mh22WL-004 mh22WL-008,mh22WL-005 -mh22WL-012,mh22WL-006 mh22SCUZJ-0051462,mh22WL-006 +mh22WL-012,mh22WL-006 mh22WL-009,mh22WL-007 mh22SCUZJ-0105399,mh22WL-013 mh22WL-010,mh22ZBF-001 diff --git a/microhapdb/cli/frequency.py b/microhapdb/cli/frequency.py index 1a12101..5c2d188 100644 --- a/microhapdb/cli/frequency.py +++ b/microhapdb/cli/frequency.py @@ -47,8 +47,6 @@ def apply_filters(markers=None, populations=None, allele=None): def display(result, view_format, population): if view_format == "table": result.to_csv(sys.stdout, sep="\t", index=False) - elif view_format == "detail": - raise NotImplementedError("detail format not yet implemented") elif view_format == "mhpl8r": npop = len(result.Population.unique()) if npop > 1: @@ -78,9 +76,7 @@ def subparser(subparsers): epilog=epilog, formatter_class=RawDescriptionHelpFormatter, ) - subparser.add_argument( - "--format", choices=["table", "detail", "mhpl8r", "efm"], default="table" - ) + subparser.add_argument("--format", choices=["table", "mhpl8r", "efm"], default="table") meg = subparser.add_mutually_exclusive_group() meg.add_argument("--marker", metavar="ID", nargs="+", help="restrict frequencies by marker") meg.add_argument( diff --git a/microhapdb/tests/test_cli.py b/microhapdb/tests/test_cli.py index efce2a2..7564167 100644 --- a/microhapdb/tests/test_cli.py +++ b/microhapdb/tests/test_cli.py @@ -639,11 +639,9 @@ def test_efm_multi_pop(): microhapdb.cli.frequency.main(args) -def test_bad_format(): - arglist = ["frequency", "--marker", "mh02USC-2pA", "--population", "EAS", "--format", "detail"] +def test_frequency_bad_format(): + arglist = ["frequency", "--marker=mh02USC-2pA", "--population=EAS"] args = microhapdb.cli.get_parser().parse_args(arglist) - with pytest.raises(NotImplementedError): - microhapdb.cli.frequency.main(args) args.format = "BoGuS" with pytest.raises(ValueError, match=r'unsupported view format "BoGuS"'): microhapdb.cli.frequency.main(args)