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
Example #2
0
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