SURE-tools 2.1.41__tar.gz → 2.1.43__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 (30) hide show
  1. {sure_tools-2.1.41 → sure_tools-2.1.43}/PKG-INFO +1 -1
  2. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/PerturbFlow.py +7 -3
  3. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/perturb/perturb.py +6 -13
  4. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE_tools.egg-info/PKG-INFO +1 -1
  5. {sure_tools-2.1.41 → sure_tools-2.1.43}/setup.py +1 -1
  6. {sure_tools-2.1.41 → sure_tools-2.1.43}/LICENSE +0 -0
  7. {sure_tools-2.1.41 → sure_tools-2.1.43}/README.md +0 -0
  8. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/SURE.py +0 -0
  9. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/__init__.py +0 -0
  10. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/assembly/__init__.py +0 -0
  11. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/assembly/assembly.py +0 -0
  12. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/assembly/atlas.py +0 -0
  13. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/atac/__init__.py +0 -0
  14. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/atac/utils.py +0 -0
  15. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/codebook/__init__.py +0 -0
  16. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/codebook/codebook.py +0 -0
  17. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/flow/__init__.py +0 -0
  18. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/flow/flow_stats.py +0 -0
  19. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/flow/plot_quiver.py +0 -0
  20. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/perturb/__init__.py +0 -0
  21. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/utils/__init__.py +0 -0
  22. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/utils/custom_mlp.py +0 -0
  23. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/utils/queue.py +0 -0
  24. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE/utils/utils.py +0 -0
  25. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE_tools.egg-info/SOURCES.txt +0 -0
  26. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE_tools.egg-info/dependency_links.txt +0 -0
  27. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE_tools.egg-info/entry_points.txt +0 -0
  28. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE_tools.egg-info/requires.txt +0 -0
  29. {sure_tools-2.1.41 → sure_tools-2.1.43}/SURE_tools.egg-info/top_level.txt +0 -0
  30. {sure_tools-2.1.41 → sure_tools-2.1.43}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SURE-tools
3
- Version: 2.1.41
3
+ Version: 2.1.43
4
4
  Summary: Succinct Representation of Single Cells
5
5
  Home-page: https://github.com/ZengFLab/SURE
6
6
  Author: Feng Zeng
@@ -73,7 +73,7 @@ class PerturbFlow(nn.Module):
73
73
  config_enum: str = 'parallel',
74
74
  use_cuda: bool = False,
75
75
  seed: int = 42,
76
- zero_bias: bool = True,
76
+ zero_bias: bool|list = True,
77
77
  dtype = torch.float32, # type: ignore
78
78
  ):
79
79
  super().__init__()
@@ -97,7 +97,11 @@ class PerturbFlow(nn.Module):
97
97
  self.post_layer_fct = post_layer_fct
98
98
  self.post_act_fct = post_act_fct
99
99
  self.hidden_layer_activation = hidden_layer_activation
100
- self.use_bias = not zero_bias
100
+ if type(zero_bias) == list:
101
+ self.use_bias = [not x for x in zero_bias]
102
+ else:
103
+ self.use_bias = [not zero_bias] * self.cell_factor_size
104
+ #self.use_bias = not zero_bias
101
105
 
102
106
  self.codebook_weights = None
103
107
 
@@ -198,7 +202,7 @@ class PerturbFlow(nn.Module):
198
202
  if self.cell_factor_size>0:
199
203
  self.cell_factor_effect = nn.ModuleList()
200
204
  for i in np.arange(self.cell_factor_size):
201
- if self.use_bias:
205
+ if self.use_bias[i]:
202
206
  self.cell_factor_effect.append(MLP(
203
207
  [self.latent_dim+1] + self.decoder_hidden_layers + [self.latent_dim],
204
208
  activation=activate_fct,
@@ -117,15 +117,14 @@ def matrix_to_labels(matrix, unique_labels):
117
117
  def _numba_fill_matrix(dose_matrix, label_indices, label_doses):
118
118
  """Numba 加速的矩阵填充函数"""
119
119
  for i in range(len(label_indices)):
120
- for j, dose in zip(label_indices[i], label_doses[i]):
121
- dose_matrix[i, j] = dose
120
+ dose_matrix[i, label_indices[i]] = label_doses[i]
122
121
 
123
122
  def dose_to_matrix(labels, label_dose, all_labels=None):
124
123
  """
125
124
  使用 Numba 的终极加速版本(需预先安装 numba)
126
125
  """
127
126
  if all_labels is None:
128
- all_labels = sorted(set().union(*labels))
127
+ all_labels = sorted(set().union(labels))
129
128
 
130
129
  label_to_idx = {label: idx for idx, label in enumerate(all_labels)}
131
130
  n_samples = len(labels)
@@ -135,16 +134,10 @@ def dose_to_matrix(labels, label_dose, all_labels=None):
135
134
  # 预处理为 Numba 兼容格式
136
135
  label_indices = []
137
136
  label_doses = []
138
- for sample_labels in labels:
139
- indices = []
140
- doses = []
141
- if sample_labels:
142
- for label in sample_labels:
143
- indices.append(label_to_idx[label])
144
- doses.append(label_dose[label])
145
- label_indices.append(np.array(indices, dtype=np.int64))
146
- label_doses.append(np.array(doses, dtype=np.float64))
137
+ for i, label in enumerate(labels):
138
+ label_indices.append(label_to_idx[label])
139
+ label_doses.append(label_dose[i])
147
140
 
148
141
  # 调用 Numba 加速函数
149
142
  _numba_fill_matrix(dose_matrix, label_indices, label_doses)
150
- return dose_matrix,all_labels
143
+ return dose_matrix,np.array(all_labels)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SURE-tools
3
- Version: 2.1.41
3
+ Version: 2.1.43
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.41',
8
+ version='2.1.43',
9
9
  description='Succinct Representation of Single Cells',
10
10
  long_description=long_description,
11
11
  long_description_content_type="text/markdown",
File without changes
File without changes
File without changes
File without changes