rcsb / symmetry

:ferris_wheel: Detect, analyze, and visualize protein symmetry
GNU Lesser General Public License v2.1
26 stars 16 forks source link

Errors runn CE-Symm offline #76

Open sbliven opened 8 years ago

sbliven commented 8 years ago

By default, Biojava tries to download all chemical component files. When offline, this results in numerous errors when running CE-Symm.

517 [pool-2-thread-1] ERROR org.biojava.nbio.structure.io.mmcif.DownloadChemCompProvider - Could not download http://www.rcsb.org/pdb/files/ligand/ALA.cif OR store locally to /Users/blivens/pdb/pdb/chemcomp/ALA.cif.gz Error =www.rcsb.org
533 [pool-2-thread-1] ERROR org.biojava.nbio.structure.io.mmcif.DownloadChemCompProvider - Could not download http://www.rcsb.org/pdb/files/ligand/GLU.cif OR store locally to /Users/blivens/pdb/pdb/chemcomp/GLU.cif.gz Error =www.rcsb.org
544 [pool-2-thread-1] ERROR org.biojava.nbio.structure.io.mmcif.DownloadChemCompProvider - Could not download http://www.rcsb.org/pdb/files/ligand/THR.cif OR store locally to /Users/blivens/pdb/pdb/chemcomp/THR.cif.gz Error =www.rcsb.org

This is annoying and misleading to users, since the errors have no impact on the results. We should either

  1. Use a different ChemCompoundProvider in CESymmMain
  2. Change Biojava so that it falls back on the default provider when the ligands are unavailable
josemduarte commented 8 years ago

Fail-back behaviour in biojava was discussed (https://github.com/biojava/biojava/issues/315) and it seems that it was implemented already (released in 4.2.0). Are you using 4.2.0?

Perhaps the only issue is that the errors need not be so verbose (e.g. level info instead of error) if we are going to fail-back to the default provider.

lafita commented 8 years ago

The problem is that all the logger messages were kept in ERROR level after the fail-back behavior was implemented. They should be changed to WARN or INFO, because the chemical component information is returned if the ReducedChemComp succeeds.

Only the ReducedChemComp should print ERROR messages if the information is not obtained.