keiserlab/LUNA

advantage of LUNA?

Closed this issue · 2 comments

hello authors,

I chanced across LUNA and thought it could be quite useful. the code seems quite well written too. however, I am aware of several other repos that can be used for analysing interactions within protein-ligand complexes, e.g. ProLIF or PLIP. So, I'm not sure what's the advantage of using LUNA over those alternatives, since all can be used to filter residue-ligand interactions or visualise them. Or perhaps is there a pre-print or paper that outlines LUNA's unique features?

Thanks,
Min Htoo

mjke commented

thanks for the kind thoughts @linminhtoo

Or perhaps is there a pre-print or paper that outlines LUNA's unique features?

a timely question! the paper just came out last week:

I'll leave it to @alexandrefassio for anything further he'd like to add

Hi, @linminhtoo!!!

Thanks for your interest in using LUNA and for your kind words.

So let me try to answer your question on top of what @mjke already brought up.

LUNA is fully object-oriented. That means its modularity allows one to provide their own functions to calculate molecular interactions, ease customization of interaction and pharmacophoric properties, and disable specific unwanted parameters, which modify LUNA's behavior on the fly. That helps users to control every processing step during the analysis of a drug discovery campaign in a custom way and share configuration files with colleagues for reproducibility.

It's also important to mention that LUNA's core was built based on a thorough literature research, evaluation, and implementation of molecular interactions that make physicochemical sense. We represent interactions as graphs and calculate them on basis of atoms, groups of atoms, and functional groups. Currently, LUNA identifies 24 main groups of interactions, totalizing 44 different interaction labels, which properly account for geometric and atom groups combination.

LUNA also encodes molecular interfaces into three new hashed interaction fingerprints: EIFP, FIFP, and HIFP. Our fingerprints are RDKit-compatible. They encode the whole binding site interactions and contacts as binary or count fingerprints, implying that any protein residues, water molecules, or other compounds are considered during the featurization process. Moreover, one of the most promising features of our IFPs is their interpretability. Unlike other "black-box" hashed fingerprints in which one has to design the methods to interpret what each bit represents, LUNA already provides several functionalities to make the analysis straightforward.

Besides, LUNA has other several remarkable features: a) accepting any molecular complex type, including protein-ligand and protein-protein; b) accepting multiple file formats, including PDB, PDBx/mmCIF, PDBML/XML, MMTF, MOL, and MOL2; c) providing several pre- and post-processing filters to control how interactions are calculated or to select interactions matching specific geometric constraints or binding modes; d) providing several functions to summarize, characterize, and visualize molecular interactions and physicochemical properties; and e) allowing users to export their calculated interactions into a Pymol session.

Hope this answers your question :)

If you have any other doubts or want to further discuss some specific topic, just let me know.

bests