ForceBalance API  1.3
Automated optimization of force fields and empirical potentials
Todo List
Namespace forcebalance.gmxio
Even more stuff from forcefield.py needs to go into here.
Member src.abinitio.AbInitio.__init__ (self, options, tgt_opts, forcefield)
Obtain the number of true atoms (or the particle -> atom mapping) from the force field.
Member src.abinitio.AbInitio.read_reference_data (self)
Add an option for picking any slice out of qdata.txt, helpful for cross-validation
Member src.counterpoise.Counterpoise.loadxyz (self, fnm)
I should probably put this into a more general library for reading coordinates.
Member src.ffyapf.FF.mktransmat (self)

Only project out changes in total charge of a molecule, and perhaps generalize to fragments of molecules or other types of parameters.

The AMOEBA selection of charge depends not only on the atom type, but what that atom is bonded to.

Member src.ffyapf.FF.rsmake (self, printfacs=True)
Pass in rsfactors through the input file
Member src.forcefield.FF.mktransmat (self)

Only project out changes in total charge of a molecule, and perhaps generalize to fragments of molecules or other types of parameters.

The AMOEBA selection of charge depends not only on the atom type, but what that atom is bonded to.

Member src.forcefield.FF.rsmake (self, printfacs=True)
Pass in rsfactors through the input file
Class src.gmxio.ITP_Reader
Note that I can also create the opposite virtual site position by changing the atom labeling, woo!
Member src.optimizer.Optimizer.GeneticAlgorithm (self)
Massive parallelization hasn't been implemented yet
Member src.optimizer.Optimizer.Scan_Values (self, MathPhys=1)
Maybe a multidimensional grid can be done.
Member src.smirnoffio.SMIRNOFF_Reader.build_pid (self, element, parameter)
Add a link here
Member src.tinkerio.Tinker_Reader.feed (self, line)
Put the rescaling factors for TINKER parameters in here. Currently we're using the initial value to determine the rescaling factor which is not very good.
Member src::gmxio.pdict

This needs to become more flexible because the parameter isn't always in the same field. Still need to figure out how to do this.

How about making the PDIHS less ugly?

Member src::nifty.floatornan (word)
I could use suggestions for making this better.
Member src::parser.parse_inputs (input_file=None)

Implement internal coordinates.

Implement sampling correction.

Implement charge groups.