SlavovLab / DART-ID

DART-ID: retention time alignment and peptide identification confidence updates
https://dart-id.slavovlab.net
MIT License
15 stars 4 forks source link

'fido_network' object has no attribute 'node' #7

Closed bfurtwa closed 4 years ago

bfurtwa commented 4 years ago

I get the following error after optimization. Windows 10 and Python 3.7.3. Installed with pip. Sorry for the bad formatting.

Optimization terminated normally: Convergence detected: absolute parameter change was below tolerance Traceback (most recent call last): File "c:\users\me\appdata\local\continuum\miniconda3\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\users\me\appdata\local\continuum\miniconda3\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\me\AppData\Local\Continuum\miniconda3\Scripts\dart_id.exe\__main__.py", line 9, in <module> File "c:\users\me\appdata\local\continuum\miniconda3\lib\site-packages\dart_id\update.py", line 484, in main df_adjusted = run_internal(df_adjusted, parameter_map) File "c:\users\me\appdata\local\continuum\miniconda3\lib\site-packages\dart_id\fido\BayesianNetwork.py", line 1007, in run_internal fn.load_from_dataframes([df], **parameter_map) File "c:\users\me\appdata\local\continuum\miniconda3\lib\site-packages\dart_id\fido\BayesianNetwork.py", line 761, in load_from_dataframes self = bayesian_network_union(self, sub_fn) File "c:\users\me\appdata\local\continuum\miniconda3\lib\site-packages\dart_id\fido\BayesianNetwork.py", line 176, in bayesian_network_union bn1.add_node(bn2.get_node_from_id(i), **bn2.node[i]) AttributeError: 'fido_network' object has no attribute 'node'

atc3 commented 4 years ago

Hi,

Would you mind sending your configuration file (just the .yml file, no need to send the input data) so I can try to reproduce the error with the options you set?

bfurtwa commented 4 years ago

I used this config file (without .txt, github does not support upload of .yaml) config_annotated.yaml.txt with this command:

dart_id.exe -c C:\Users\me\Documents\Dart-ID_test\config_annotated.yaml -o C:\Users\me\Documents\Dart-ID_test\output -i C:\Users\me\Documents\Dart-ID_test\MQ_output\combined\txt\evidence.txt

atc3 commented 4 years ago

Thanks for the config file. I'm unable to find any issues with the fido network in the windows version on my end. How are you managing your python installation? (anaconda/miniconda, downloaded off python website)

If you're using conda, can you send the results of conda list --explicit so I can replicate your environment?

bfurtwa commented 4 years ago

conda list --explicit does not show the pip packages. I just uploaded my complete process in terminal. Can you replicate this?

terminal_output.txt

atc3 commented 4 years ago

I was able to reproduce the error and fix it by reverting to networkx=2.1. You can fix yourself this by running:

conda install networkx=2.1

Let me know if that works for you

I suspect I have some legacy python2 snippets floating around (since the fido/ code was originally written in Python 2), and it looks like networkx dropped python2 support in 2.2. For now I will update the dependency list to address this.

Update, tested networkx=2.2 and that also works.

bfurtwa commented 4 years ago

Works! Thank you!