openmopac/mopac

interface integration

Opened this issue · 1 comments

Would it be possible to make an interface integration layer on top of the code to be able to link MOPAC into python functions in a modern style without read/write files ?

We do plan to develop our own Python interface to MOPAC, but there are already two Python interfaces available that I am aware of: MOPAC can be used as a calculator in ASE and an engine in QCEngine. Both of these interfaces are presently limited in which outputs they can access from MOPAC (it might be only heats of formation, forces, and/or relaxed geometries), and our plan is to expand that access in our own interface (and perhaps contribute similar features to these other interfaces).

Do you need access to any MOPAC features or outputs that aren't presently accessible through either ASE or QCEngine?

Do you have a use case where you need to completely suppress file I/O for some reason, or would it be acceptable for inputs and outputs to be harvested from temporary files that are automatically deleted? MOPAC's I/O is rigidly tied to disk access right now. A somewhat short-term hack would be to use strings in place of files to avoid disk access. Ideally, it would be desirable to pass data into and out of MOPAC purely through data structures, but that is a much more substantial undertaking, and I'm not clear that there is yet a use case to justify the development effort.