Skip to content

Commit

Permalink
Merge branches 'documentation-update', 'expand_attributes_uses', 'iss…
Browse files Browse the repository at this point in the history
…ue-395-pick-pad-crash' and 'issue-389-prepare-bed12-output' into version-2.2.4.

Fix #136 #395 #389 #397 #396 #385
  • Loading branch information
lucventurini committed Apr 1, 2021
5 parents bc270f4 + 6fb1562 + c1c365c + 81cab7a + 16d8979 commit 3aa57e1
Show file tree
Hide file tree
Showing 53 changed files with 1,963 additions and 1,114 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
id: cache-miniconda
uses: actions/cache@v2
env:
CACHE_NUMBER: 0
CACHE_NUMBER: 1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
path: ~/conda_pkgs_dir
Expand Down
41 changes: 23 additions & 18 deletions Mikado/_transcripts/scoring_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,32 @@ def compiler(expression):
raise InvalidConfiguration("Invalid expression:\n{}".format(expression))


class Unique(validate.Validator):
message = "{input} is Not unique"

def __init__(self, error=None):
self.error = error

def _repr_args(self):
return ""

def _format_error(self, value):
return self.message.format(input=value)

def __call__(self, value):
if len(value) != len(set(value)):
raise validate.ValidationError(self._format_error(value))
return value


@dataclass
class SizeFilter:
operator: str = field(metadata={"required": True, "validate": validate.OneOf(["gt", "ge", "lt", "le"])})
value: float = field(metadata={"required": True})
metric: Optional[str] = field(metadata={"required": False}, default=None)
name: Optional[str] = field(default=None)
source: Optional[str] = field(default=None)
default: Optional[float] = field(default=0)


@dataclass
Expand All @@ -39,42 +58,28 @@ class NumBoolEqualityFilter:
metric: Optional[str] = field(metadata={"required": False}, default=None)
name: Optional[str] = field(default=None)
source: Optional[str] = field(default=None)
default: Optional[Union[float, bool]] = field(default=0)


@dataclass
class InclusionFilter:
value: list = field(metadata={"required": True})
value: list = field(metadata={"required": True, "validate": [Unique]})
operator: str = field(metadata={"required": True, "validate": validate.OneOf(["in", "not in"])})
metric: Optional[str] = field(metadata={"required": False}, default=None)
name: Optional[str] = field(default=None)
source: Optional[str] = field(default=None)
default: Optional[List[float]] = field(default=None)


@dataclass
class RangeFilter:
class Unique(validate.Validator):
message = "{input} is Not unique"

def __init__(self, error=None):
self.error = error

def _repr_args(self):
return ""

def _format_error(self, value):
return self.message.format(input=value)

def __call__(self, value):
if len(value) != len(set(value)):
raise validate.ValidationError(self._format_error(value))
return value

value: List[float] = field(metadata={
"required": True,
"validate": [validate.Length(min=2, max=2), Unique]})
operator: str = field(metadata={"required": True, "validate": validate.OneOf(["within", "not within"])})
metric: Optional[str] = field(metadata={"required": False}, default=None)
name: Optional[str] = field(default=None)
default: Optional[float] = field(default=0)


@dataclass
Expand Down

0 comments on commit 3aa57e1

Please sign in to comment.