ReactionMechanismGenerator / ARC

ARC - Automatic Rate Calculator
https://reactionmechanismgenerator.github.io/ARC/index.html
MIT License
43 stars 22 forks source link

Conformer generation fails for polycyclic without torsions #217

Closed mliu49 closed 5 years ago

mliu49 commented 5 years ago

Current ARC master errors when trying to generate conformers for C1=CC2=CC=C1C2.

image

Generating conformers for C7H6
Species C7H6 has 7 heavy atoms and 0 torsions. Using 100 random conformers.
Traceback (most recent call last):
  File "../../ARC.py", line 73, in <module>
    main()
  File "../../ARC.py", line 67, in main
    arc_object.execute()
  File "/home/mjliu/Code/ARC/arc/main.py", line 719, in execute
    dont_gen_confs=self.dont_gen_confs)
  File "/home/mjliu/Code/ARC/arc/scheduler.py", line 398, in __init__
    self.schedule_jobs()
  File "/home/mjliu/Code/ARC/arc/scheduler.py", line 414, in schedule_jobs
    self.run_conformer_jobs()
  File "/home/mjliu/Code/ARC/arc/scheduler.py", line 784, in run_conformer_jobs
    self.project_directory, 'output', 'Species', label, 'geometry', 'conformers'))
  File "/home/mjliu/Code/ARC/arc/species/species.py", line 776, in generate_conformers
    plot_path=plot_path)
  File "/home/mjliu/Code/ARC/arc/species/conformers.py", line 179, in generate_conformers
    smeared_scan_res, plot_path=plot_path)
  File "/home/mjliu/Code/ARC/arc/species/conformers.py", line 252, in deduce_new_conformers
    torsion_angles = get_torsion_angles(label, conformers, torsions)  # get all wells per torsion
  File "/home/mjliu/Code/ARC/arc/species/conformers.py", line 897, in get_torsion_angles
    'Consider calling `determine_dihedrals()` first.'.format(label))
arc.exceptions.ConformerError: Could not determine dihedral torsion angles for C7H6. Consider calling `determine_dihedrals()` first.
alongd commented 5 years ago

As pointed out by Agnes, the underlying problem is that RDKit (in its new version?) won't embedd this molecule. Thanks for opening this issue, I agree we should have a fall back method for embedding confotmers.

mliu49 commented 5 years ago

Ohh, I see. So this is the same underlying problem as the QMTP failure in RMG. For that case, Agnes noted that older versions of RDKit did not seem to have this problem. Perhaps we should make a minimal working example with just RDKit code and post an issue over there.

alongd commented 5 years ago

I added OB as a fall back method (that PR will close this issue), and created an issue on the RDKit repo: https://github.com/rdkit/rdkit/issues/2763