def forward(self, x_dict, input_gene_list=None):
x = self.feat_enc(x_dict, input_gene_list)#self.act(self.feat_enc(x_dict, input_gene_list))
if self.pe_enc is not None:
pe_input = x_dict[self.pe_enc.pe_key]
pe = 0.#self.pe_enc(pe_input)
if self.inject_covariate:
pe = pe + self.cov_enc(x_dict['batch'])
if self.cat_pe:
x = torch.cat([x, pe], 1)
else:
x = x + pe
x = self.extra_linear(x)
# x = self.norm0(self.dropout(x))
return x
https://github.com/OmicsML/CellPLM/blob/b59ee7688b1bd2a745856a610248b46f15019a22/CellPLM/embedder/omics.py#L88C1-L101C17
In the last forwrd part of
CellPLM/CellPLM/embedder/omics.py, I notice that thepevariable is always initialized as 0 and it seems thatpenot related the coordinate encoding. Does it mean thatxonly includes the expression embed and batch embed? Could you explain the reasons? Thanks.