Source code for drugforge.data.operators.deduplicator
from drugforge.data.schema.ligand import Ligand
from pydantic import BaseModel
[docs]
class LigandDeDuplicator(BaseModel):
"""
Class to deduplicate ligands based on their inchikey
"""
def deduplicate(self, ligands: list[Ligand]):
seen_values = set()
deduplicated_list = []
for lig in ligands:
inchikey = lig.inchikey
if inchikey not in seen_values:
seen_values.add(inchikey)
deduplicated_list.append(lig)
return deduplicated_list