Giter Site home page Giter Site logo

Comments (5)

tovrstra avatar tovrstra commented on June 30, 2024

Issue #26 is essential the same as this one.

from iodata.

tovrstra avatar tovrstra commented on June 30, 2024

Another use case is Reaction Trajectory & IRC (Intrinsic Reaction Coordinate) See https://github.com/stvogt/kudi and http://gaussian.com/irc/

from iodata.

FarnazH avatar FarnazH commented on June 30, 2024

Covering trajectory stored in:

  • xyz file
  • sdf file
  • Gaussian log file (IRC, geometry optimization, ...) (load only)

API in iodata/iodata.py

  • load_many(filename) function returning a list of IOData.
  • load_one(filename) function instead of IOData.from_file.
  • dump_many(filename) function.
  • dump_one(filename) function instead of IOData.to_file.

API in file format modules:

  • load and dump functions take a file object and load or dump one IOData object at a time.
  • Not all formats can be turned into trajectories because the end of the file is not easily recognized. We should raise an Error when using load_trajectory or dump_trajectory on an inappropriate file format.
  • There should be a possibility for specialized load_trajectory functions, e.g. fchk and Gaussian log have special formats that are not simply a concatenation of geometries.

from iodata.

tovrstra avatar tovrstra commented on June 30, 2024

Here is a list of steps we need to take to support trajectories:

  • Change IOData.from_file to load_one. Change IOData.to_file to dump_one.
  • Change all load functions to take a file object as argument, instead of a file. They should also only load data until they have found enough to make one IOData object. When hitting the end of a file, it should raise a StopIteration. See https://docs.python.org/3.7/library/exceptions.html#StopIteration. This also means load_one should open the file object.
  • Similar to previous but for dump_one
  • Write load_many and dump_many functions.

from iodata.

tovrstra avatar tovrstra commented on June 30, 2024

@evohringer @fwmeng88 I'm working on this, so it does not hold you back. It will be a rather big change, but I'll stick to the essentials.

from iodata.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.