cgoliver / rnamigos2

Rapid structure-based virtual screening for RNA targets.
MIT License
9 stars 2 forks source link

multi-sequence structure issue #2

Closed hargrove-lab closed 3 months ago

hargrove-lab commented 3 months ago

Dear rnamigos2 developers, I wonder if this model supports multi-sequence input, since I have tried this structure from PDB (2pn3.cif) but raised an error:

Traceback (most recent call last): File "experiments/inference.py", line 102, in main do_inference(cif_path=cfg.cif_path, File "experiments/inference.py", line 91, in do_inference dgl_graph = get_dgl_graph(cif_path, residue_list) File "experiments/../rnamigos_dock/tools/graph_utils.py", line 132, in get_dgl_graph dglgraph, = load_rna_graph(expanded_graph, undirected=undirected) File "experiments/../rnamigos_dock/tools/graph_utils.py", line 88, in load_rna_graph values={node: d['nt'] for node, d in pocket_graph.nodes(data=True)}) File "experiments/../rnamigos_dock/tools/graph_utils.py", line 88, in values={node: d['nt'] for node, d in pocket_graph.nodes(data=True)}) KeyError: 'nt'

cgoliver commented 3 months ago

Hello! Thank you for your interest in rnamigos2. Just to be sure, could you send the exact command you ran for this? I presume it's mostly default.

hargrove-lab commented 3 months ago

Thanks for the quick reply, here is the command I input: python experiments/inference.py cif_path=sample_files/rna_cifs/2pn3.cif pdbid=2pn3 residue_list=[A.55,A.56,A.57,A.58,A.59,A.60,A.61,A.62,A.63,B.102,B.103,B.104,B.105,B.106,B.107,B.108,B.109] ligands_path=sample_files/ligand_smiles/bindingDB/bindingDB_hcv_hits.txt out=sample_files/screen_out/apo_hcv_2pn3.txt

cgoliver commented 3 months ago

Hello!

I believe I found the issue. If you do a pull and try again it should work. There was some problem with the step that converts the mmCIF you provide to a graph with 2.5D annotations using a fork of fr3d-python. It was creating two residues in the graph (B.113, B.101) that don't have nucleotide information and this crashes rnamigos2. Perhaps they were chemically modified?

We haven't fully tested the fr3d-python integration and it was not used in training the models so this side of the codebase is still experimental.

I will dig deeper but now you will see a warning message and the rest of the code should work normally.

Sorry for the issue. Your feedback is very much appreciated!

hargrove-lab commented 3 months ago

Thanks so much! It works now for me!

hargrove-lab commented 3 months ago

Just want to be sure, the score came out of the experiments/inference.py, is higher for better, right? Namely, 1 suggests the best fit for this pocket, 0 represents the worst fit for the pocket?

cgoliver commented 3 months ago

Yes that is correct!