def get_vectors(self, obj): out_data = {} try: out_data["3d"] = get_3d_vects_for_mol(obj.sdf_info, iso_labels=False) # temporary patch except IndexError: out_data["3d"] = get_3d_vects_for_mol(obj.sdf_info, iso_labels=True) out_data["indices"] = get_vect_indices_for_mol(obj.sdf_info) return out_data
def get_vectors(mols): """ Get the vectors for a given molecule :param mols: the Django molecules to get them from :param target: the Django target to record them from :return: None """ vect_types = VectTypes() for mol in mols: if "." in mol.smiles: # print("SKIPPING - FRAGMENT: " + str(mol.pk)) + " " + str(mol.smiles) continue vectors = get_3d_vects_for_mol(mol.sdf_info) for vect_type in vectors: vect_choice = vect_types.translate_vect_types(vect_type) for vector in vectors[vect_type]: spl_vect = vector.split("__") smiles = spl_vect[0] if len(spl_vect) > 1: vect_ind = int(spl_vect[1]) else: vect_ind = 0 new_vect = Vector.objects.get_or_create( smiles=smiles, cmpd_id=mol.cmpd_id, type=vect_choice )[0] create_vect_3d(mol, new_vect, vect_ind, vectors[vect_type][vector])
def get_vectors(self, obj): out_data = {} out_data["3d"] = get_3d_vects_for_mol(obj.sdf_info) out_data["indices"] = get_vect_indices_for_mol(obj.sdf_info) return out_data