Thank you very much for reply.
It'd be great if you can test and verify that it works for "MD trajectory such as AMBER, NAMD and CHARMM".
I don't have trajectory from these MD packages, but recent GROMACS tools can read any type of trajectories which are supported by VMD.
If done right, a Python API on top of the wrapper will make the results of MD simulations readily accessible to a much larger community. I'd suggest you start from a small selection of key parameters, and build your tool incrementally.
I have been writing with the same intentions. I have chosen PYTHON because one can use NumPy/SciPy to perform calculations on raw data and Matplotlib to render plots of the obtained results. In future, I will do documentation for these APIs.
3DNA is composed of a few standalone commandline tools, and does not include a C APIs/library. However, I'd like to help you out where appropriate.
I was thinking that if I will able to pass coordinates and base-pair information directly to some C functions present in
analyze, which in results would return all calculated parameters. At least, I can avoid writing and reading intermediate PDB files, and this process will speedup the wrapper execution.
Do you really need to run find_pair for each frame? See the output from running "x3dna_ensemble analyze -h".
I have implemented two type of calculations. In first type,
find_pair executes only once at the start, and then same base-pairs information is used for whole calculation. However, during simulations, new base-pair may form and old may break, particularly in RNA. Therefore in second type,
find_pair executes at every frame, and output files are generated such that, one can easily able to get how base-pairs are forming and breaking.
GitHub seems a good option. As for publishing such work, did you know the paper "PTRAJ and CPPTRAJ: Software for Processing and Analysis of Molecular Dynamics Trajectory Data" by Daniel Roe and Thomas Cheatham?
Thank you for the suggestions and paper reference.
With best regards,
Rajendra