nerdd-module 0.3.7__tar.gz → 0.3.8__tar.gz

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.
Files changed (88) hide show
  1. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/PKG-INFO +1 -1
  2. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/__init__.py +1 -0
  3. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/write_output_step.py +3 -0
  4. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/__init__.py +2 -1
  5. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/writer.py +1 -1
  6. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/filter_by_element.py +4 -14
  7. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/filter_by_weight.py +2 -10
  8. nerdd_module-0.3.8/nerdd_module/problem.py +42 -0
  9. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/models/AtomicMassModel.py +1 -0
  10. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/models/MolWeightModel.py +1 -0
  11. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module.egg-info/PKG-INFO +1 -1
  12. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/pyproject.toml +1 -1
  13. nerdd_module-0.3.7/nerdd_module/problem.py +0 -16
  14. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/LICENSE +0 -0
  15. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/README.md +0 -0
  16. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/cli.py +0 -0
  17. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/__init__.py +0 -0
  18. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/configuration.py +0 -0
  19. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/default_configuration.py +0 -0
  20. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/dict_configuration.py +0 -0
  21. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/merged_configuration.py +0 -0
  22. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/package_configuration.py +0 -0
  23. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/search_yaml_configuration.py +0 -0
  24. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/config/yaml_configuration.py +0 -0
  25. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/converters/__init__.py +0 -0
  26. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/converters/converter.py +0 -0
  27. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/converters/identity_converter.py +0 -0
  28. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/__init__.py +0 -0
  29. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/depth_first_explorer.py +0 -0
  30. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/explorer.py +0 -0
  31. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/file_reader.py +0 -0
  32. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/gzip_reader.py +0 -0
  33. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/inchi_reader.py +0 -0
  34. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/list_reader.py +0 -0
  35. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/mol_reader.py +0 -0
  36. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/reader.py +0 -0
  37. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/sdf_reader.py +0 -0
  38. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/smiles_reader.py +0 -0
  39. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/string_reader.py +0 -0
  40. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/tar_reader.py +0 -0
  41. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/input/zip_reader.py +0 -0
  42. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/__init__.py +0 -0
  43. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/assign_mol_id_step.py +0 -0
  44. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/assign_name_step.py +0 -0
  45. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/convert_representations_step.py +0 -0
  46. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/enforce_schema_step.py +0 -0
  47. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/model.py +0 -0
  48. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/read_input_step.py +0 -0
  49. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/model/simple_model.py +0 -0
  50. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/csv_writer.py +0 -0
  51. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/file_writer.py +0 -0
  52. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/iterator_writer.py +0 -0
  53. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/pandas_writer.py +0 -0
  54. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/record_list_writer.py +0 -0
  55. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/output/sdf_writer.py +0 -0
  56. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/polyfills/__init__.py +0 -0
  57. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/polyfills/files.py +0 -0
  58. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/polyfills/get_entry_points.py +0 -0
  59. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/polyfills/types.py +0 -0
  60. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/polyfills/version.py +0 -0
  61. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/__init__.py +0 -0
  62. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/check_valid_smiles.py +0 -0
  63. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/chembl_structure_pipeline.py +0 -0
  64. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/preprocessing_step.py +0 -0
  65. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/remove_stereochemistry.py +0 -0
  66. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/preprocessing/sanitize.py +0 -0
  67. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/py.typed +0 -0
  68. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/steps/__init__.py +0 -0
  69. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/steps/map_step.py +0 -0
  70. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/steps/output_step.py +0 -0
  71. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/steps/step.py +0 -0
  72. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/__init__.py +0 -0
  73. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/checks.py +0 -0
  74. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/models/__init__.py +0 -0
  75. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/predictions.py +0 -0
  76. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/preprocessing/DummyPreprocessingStep.py +0 -0
  77. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/preprocessing/__init__.py +0 -0
  78. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/tests/representations.py +0 -0
  79. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/util/__init__.py +0 -0
  80. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/util/call_with_mappings.py +0 -0
  81. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/util/package.py +0 -0
  82. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module/version.py +0 -0
  83. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module.egg-info/SOURCES.txt +0 -0
  84. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module.egg-info/dependency_links.txt +0 -0
  85. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module.egg-info/requires.txt +0 -0
  86. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/nerdd_module.egg-info/top_level.txt +0 -0
  87. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/setup.cfg +0 -0
  88. {nerdd_module-0.3.7 → nerdd_module-0.3.8}/tests/test_features.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nerdd-module
3
- Version: 0.3.7
3
+ Version: 0.3.8
4
4
  Summary: Base package to create NERDD modules
5
5
  Author-email: Steffen Hirte <steffen.hirte@univie.ac.at>
6
6
  Maintainer-email: Steffen Hirte <steffen.hirte@univie.ac.at>
@@ -3,6 +3,7 @@ from .model import *
3
3
  from .polyfills import get_entry_points
4
4
  from .problem import *
5
5
  from .version import *
6
+ from .output import *
6
7
 
7
8
  for entry_point in get_entry_points("nerdd-module.plugins"):
8
9
  entry_point.load()
@@ -17,3 +17,6 @@ class WriteOutputStep(OutputStep):
17
17
  writer = Writer.get_writer(self._output_format, **self._kawrgs)
18
18
  result = writer.write(source)
19
19
  return result
20
+
21
+ def __repr__(self) -> str:
22
+ return f"WriteOutputStep(output_format={self._output_format}, kwargs={self._kawrgs})"
@@ -1,6 +1,7 @@
1
1
  from .csv_writer import *
2
+ from .file_writer import *
2
3
  from .iterator_writer import *
3
4
  from .pandas_writer import *
4
5
  from .record_list_writer import *
5
- from .writer import *
6
6
  from .sdf_writer import *
7
+ from .writer import *
@@ -50,5 +50,5 @@ class Writer(ABC):
50
50
  return _factories[output_format](kwargs)
51
51
 
52
52
  @classmethod
53
- def get_output_formats(self) -> List[str]:
53
+ def get_output_formats(cls) -> List[str]:
54
54
  return list(_factories.keys())
@@ -1,8 +1,8 @@
1
- from typing import Iterable, List, Optional, Tuple
1
+ from typing import Iterable, List, Optional, Set, Tuple
2
2
 
3
3
  from rdkit.Chem import Mol
4
4
 
5
- from ..problem import Problem
5
+ from ..problem import InvalidElementsProblem, Problem
6
6
  from .preprocessing_step import PreprocessingStep
7
7
 
8
8
  __all__ = ["FilterByElement", "ORGANIC_SUBSET"]
@@ -37,7 +37,7 @@ class FilterByElement(PreprocessingStep):
37
37
  problems = []
38
38
  result_mol = mol
39
39
 
40
- elements = set(atom.GetSymbol() for atom in mol.GetAtoms())
40
+ elements: Set[str] = set(atom.GetSymbol() for atom in mol.GetAtoms())
41
41
  invalid_elements = elements - self.allowed_elements
42
42
 
43
43
  # special case: hydrogens are not recognized by mol.GetAtoms()
@@ -52,16 +52,6 @@ class FilterByElement(PreprocessingStep):
52
52
  if self.remove_invalid_molecules:
53
53
  result_mol = None
54
54
 
55
- if len(invalid_elements) > 3:
56
- invalid_elements_str = ", ".join(list(invalid_elements)[:3]) + "..."
57
- else:
58
- invalid_elements_str = ", ".join(list(invalid_elements))
59
-
60
- problems.append(
61
- Problem(
62
- "invalid_elements",
63
- f"Molecule contains invalid elements {invalid_elements_str}",
64
- )
65
- )
55
+ problems.append(InvalidElementsProblem(invalid_elements))
66
56
 
67
57
  return result_mol, problems
@@ -3,7 +3,7 @@ from typing import List, Optional, Tuple
3
3
  from rdkit.Chem import Mol
4
4
  from rdkit.Chem.rdMolDescriptors import CalcExactMolWt
5
5
 
6
- from ..problem import Problem
6
+ from ..problem import InvalidWeightProblem, Problem
7
7
  from .preprocessing_step import PreprocessingStep
8
8
 
9
9
 
@@ -27,14 +27,6 @@ class FilterByWeight(PreprocessingStep):
27
27
  if weight < self.min_weight or weight > self.max_weight:
28
28
  if self.remove_invalid_molecules:
29
29
  result_mol = None
30
- problems.append(
31
- Problem(
32
- type="invalid_weight",
33
- message=(
34
- f"Molecular weight {weight:.2f} out of range "
35
- f"[{self.min_weight}, {self.max_weight}]"
36
- ),
37
- )
38
- )
30
+ problems.append(InvalidWeightProblem(weight, self.min_weight, self.max_weight))
39
31
 
40
32
  return result_mol, problems
@@ -0,0 +1,42 @@
1
+ from typing import Iterable, NamedTuple
2
+
3
+ __all__ = [
4
+ "Problem",
5
+ "InvalidSmiles",
6
+ "UnknownProblem",
7
+ "InvalidWeightProblem",
8
+ "InvalidElementsProblem",
9
+ ]
10
+
11
+
12
+ class Problem(NamedTuple):
13
+ type: str
14
+ message: str
15
+
16
+
17
+ def InvalidSmiles() -> Problem:
18
+ return Problem(type="invalid_smiles", message="Invalid SMILES string")
19
+
20
+
21
+ def UnknownProblem() -> Problem:
22
+ return Problem(type="unknown", message="Unknown error occurred")
23
+
24
+
25
+ def InvalidWeightProblem(weight: float, min_weight: float, max_weight: float) -> Problem:
26
+ return Problem(
27
+ type="invalid_weight",
28
+ message=(f"Molecular weight {weight:.2f} out of range " f"[{min_weight}, {max_weight}]"),
29
+ )
30
+
31
+
32
+ def InvalidElementsProblem(invalid_elements: Iterable[str]) -> Problem:
33
+ invalid_element_list = list(invalid_elements)
34
+ if len(invalid_element_list) > 3:
35
+ invalid_elements_str = ", ".join(invalid_element_list[:3]) + "..."
36
+ else:
37
+ invalid_elements_str = ", ".join(invalid_element_list)
38
+
39
+ return Problem(
40
+ "invalid_elements",
41
+ f"Molecule contains invalid elements {invalid_elements_str}",
42
+ )
@@ -56,6 +56,7 @@ class AtomicMassModel(SimpleModel):
56
56
  def _get_base_config(self):
57
57
  return {
58
58
  "name": "atomic_mass_model",
59
+ "version": "0.1",
59
60
  "job_parameters": [
60
61
  {"name": "multiplier", "type": "float"},
61
62
  ],
@@ -39,6 +39,7 @@ class MolWeightModel(SimpleModel):
39
39
  def _get_base_config(self):
40
40
  return {
41
41
  "name": "mol_scale",
42
+ "version": "0.1",
42
43
  "description": "Computes the molecular weight of a molecule",
43
44
  "job_parameters": [
44
45
  {"name": "multiplier", "type": "float"},
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nerdd-module
3
- Version: 0.3.7
3
+ Version: 0.3.8
4
4
  Summary: Base package to create NERDD modules
5
5
  Author-email: Steffen Hirte <steffen.hirte@univie.ac.at>
6
6
  Maintainer-email: Steffen Hirte <steffen.hirte@univie.ac.at>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nerdd-module"
7
- version = "0.3.7"
7
+ version = "0.3.8"
8
8
  description = "Base package to create NERDD modules"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -1,16 +0,0 @@
1
- from typing import NamedTuple
2
-
3
- __all__ = ["Problem", "InvalidSmiles", "UnknownProblem"]
4
-
5
-
6
- class Problem(NamedTuple):
7
- type: str
8
- message: str
9
-
10
-
11
- def InvalidSmiles() -> Problem:
12
- return Problem(type="invalid_smiles", message="Invalid SMILES string")
13
-
14
-
15
- def UnknownProblem() -> Problem:
16
- return Problem(type="unknown", message="Unknown error occurred")
File without changes
File without changes
File without changes