Skip to content

Commit 061c4bb

Browse files
committed
refactor: move filtering technique to types
1 parent 84d3bd4 commit 061c4bb

2 files changed

Lines changed: 26 additions & 26 deletions

File tree

main/como/rnaseq_gen.py

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
from como.migrations import gene_info_migrations
2929
from como.project import Config
30-
from como.types import RNAPrepMethod
30+
from como.types import FilteringTechnique, RNAPrepMethod
3131

3232

3333
class _FilteringOptions(NamedTuple):
@@ -38,31 +38,6 @@ class _FilteringOptions(NamedTuple):
3838
high_batch_ratio: float
3939

4040

41-
class FilteringTechnique(Enum):
42-
"""RNA sequencing filtering capabilities."""
43-
44-
cpm = "cpm"
45-
zfpkm = "zfpkm"
46-
tpm = "quantile"
47-
umi = "umi"
48-
49-
@staticmethod
50-
def from_string(value: str) -> FilteringTechnique:
51-
"""Create a filtering technique object from a string."""
52-
match value.lower():
53-
case "cpm":
54-
return FilteringTechnique.cpm
55-
case "zfpkm":
56-
return FilteringTechnique.zfpkm
57-
case "quantile":
58-
return FilteringTechnique.tpm
59-
case "umi":
60-
return FilteringTechnique.umi
61-
case _:
62-
possible_values = [t.value for t in FilteringTechnique]
63-
raise ValueError(f"Got a filtering technique of '{value}'; should be one of: {possible_values}")
64-
65-
6641
class LayoutMethod(Enum):
6742
"""RNA sequencing layout method."""
6843

main/como/types.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,30 @@ def from_string(value: str) -> RNAPrepMethod:
4646
raise ValueError(f"Filtering technique must be one of {possible_values}; got: {value}")
4747

4848

49+
class FilteringTechnique(Enum):
50+
"""RNA sequencing filtering capabilities."""
51+
52+
cpm = "cpm"
53+
zfpkm = "zfpkm"
54+
tpm = "quantile"
55+
umi = "umi"
56+
57+
@staticmethod
58+
def from_string(value: str) -> FilteringTechnique:
59+
"""Create a filtering technique object from a string."""
60+
match value.lower():
61+
case "cpm":
62+
return FilteringTechnique.cpm
63+
case "zfpkm":
64+
return FilteringTechnique.zfpkm
65+
case "quantile":
66+
return FilteringTechnique.tpm
67+
case "umi":
68+
return FilteringTechnique.umi
69+
case _:
70+
possible_values = [t.value for t in FilteringTechnique]
71+
raise ValueError(f"Got a filtering technique of '{value}'; should be one of: {possible_values}")
72+
73+
4974
type_path = str | Path
5075
type_rna = Literal["total", "mrna"]

0 commit comments

Comments
 (0)