SURE-tools 2.1.7__tar.gz → 2.1.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.

Potentially problematic release.


This version of SURE-tools might be problematic. Click here for more details.

Files changed (31) hide show
  1. {sure_tools-2.1.7 → sure_tools-2.1.8}/PKG-INFO +1 -1
  2. sure_tools-2.1.8/SURE/perturb/__init__.py +1 -0
  3. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/perturb/perturb.py +19 -2
  4. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE_tools.egg-info/PKG-INFO +1 -1
  5. {sure_tools-2.1.7 → sure_tools-2.1.8}/setup.py +1 -1
  6. sure_tools-2.1.7/SURE/perturb/__init__.py +0 -1
  7. {sure_tools-2.1.7 → sure_tools-2.1.8}/LICENSE +0 -0
  8. {sure_tools-2.1.7 → sure_tools-2.1.8}/README.md +0 -0
  9. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/PerturbFlow.py +0 -0
  10. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/SURE.py +0 -0
  11. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/__init__.py +0 -0
  12. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/assembly/__init__.py +0 -0
  13. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/assembly/assembly.py +0 -0
  14. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/assembly/atlas.py +0 -0
  15. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/atac/__init__.py +0 -0
  16. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/atac/utils.py +0 -0
  17. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/codebook/__init__.py +0 -0
  18. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/codebook/codebook.py +0 -0
  19. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/flow/__init__.py +0 -0
  20. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/flow/flow_stats.py +0 -0
  21. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/flow/plot_quiver.py +0 -0
  22. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/utils/__init__.py +0 -0
  23. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/utils/custom_mlp.py +0 -0
  24. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/utils/queue.py +0 -0
  25. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE/utils/utils.py +0 -0
  26. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE_tools.egg-info/SOURCES.txt +0 -0
  27. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE_tools.egg-info/dependency_links.txt +0 -0
  28. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE_tools.egg-info/entry_points.txt +0 -0
  29. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE_tools.egg-info/requires.txt +0 -0
  30. {sure_tools-2.1.7 → sure_tools-2.1.8}/SURE_tools.egg-info/top_level.txt +0 -0
  31. {sure_tools-2.1.7 → sure_tools-2.1.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SURE-tools
3
- Version: 2.1.7
3
+ Version: 2.1.8
4
4
  Summary: Succinct Representation of Single Cells
5
5
  Home-page: https://github.com/ZengFLab/SURE
6
6
  Author: Feng Zeng
@@ -0,0 +1 @@
1
+ from .perturb import LabelMatrix
@@ -2,7 +2,24 @@ import re
2
2
  import numpy as np
3
3
  from itertools import chain
4
4
  from joblib import Parallel, delayed
5
+ from typing import Literal
5
6
 
7
+ class LabelMatrix:
8
+ def __init__(self):
9
+ self.labels_ = None
10
+
11
+ def fit_transform(self, labels, sep_pattern=r'[;_\-\s]', speedup: Literal['none','vectorize','parallel']='none'):
12
+ if speedup=='none':
13
+ mat, self.labels_ = label_to_matrix(labels=labels, sep_pattern=sep_pattern)
14
+ elif speedup=='vectorize':
15
+ mat, self.labels_ = vectorized_label_to_matrix(labels=labels, sep_pattern=sep_pattern)
16
+ elif speedup=='parallel':
17
+ mat, self.labels_ = parallel_label_to_matrix(labels=labels, sep_pattern=sep_pattern)
18
+ return mat
19
+
20
+ def inverse_transform(self, matrix):
21
+ matrix_to_labels(matrix=matrix, unique_labels=self.labels_)
22
+
6
23
  def label_to_matrix(labels, sep_pattern=r'[;_\-\s]'):
7
24
  """
8
25
  将混合分隔符的多标签数据转换为 0-1 矩阵
@@ -48,8 +65,8 @@ def vectorized_label_to_matrix(labels, sep_pattern=r'[;_\-\s]'):
48
65
 
49
66
 
50
67
 
51
- def parallel_label_to_matrix(labels, n_jobs=4):
52
- labels_unified = [re.sub(r'[;_\-\s]', ';', label) for label in labels]
68
+ def parallel_label_to_matrix(labels, sep_pattern=r'[;_\-\s]', n_jobs=4):
69
+ labels_unified = [re.sub(sep_pattern, ';', label) for label in labels]
53
70
  unique_labels = sorted(set(chain(*[label.split(';') for label in labels_unified])))
54
71
 
55
72
  def process_row(row_labels, unique_labels):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SURE-tools
3
- Version: 2.1.7
3
+ Version: 2.1.8
4
4
  Summary: Succinct Representation of Single Cells
5
5
  Home-page: https://github.com/ZengFLab/SURE
6
6
  Author: Feng Zeng
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setup(
7
7
  name='SURE-tools',
8
- version='2.1.7',
8
+ version='2.1.8',
9
9
  description='Succinct Representation of Single Cells',
10
10
  long_description=long_description,
11
11
  long_description_content_type="text/markdown",
@@ -1 +0,0 @@
1
- from .perturb import label_to_matrix, matrix_to_labels, vectorized_label_to_matrix, parallel_label_to_matrix
File without changes
File without changes
File without changes
File without changes
File without changes