Closed lohedges closed 4 years ago
I've reverted the original formatting in my first post since it was specific markdown so I could check items off as they are completed. I've added your numbering after the square brackets instead.
Thanks for the comments. This is also list of known limitations as well as things to do, just so whoever is maintaining things is aware of them in my absence.
With regards to the JOSS submission: Since the review process is now active, there's not much I can do until the reviews are in. This should be done within two weeks (hopefully sooner) so these were to keep me occupied in the mean time.
For 5), I've now implemented a verbose mode that prints the full exception trace if activated. This can be done using BSS.setVerbose(True)
if working interactive or in a script, or using --verbose
when running a node from the command-line. This just prints the full traceback, which is mostly the output of whatever Sire exception was triggered. I'll push this to devel
later when I have tested it fully. I'll also try to group some common exceptions and post them here. (Most are IO errors). I feel like I've already done a pretty good job of catching errors that occur during merging, or when copying properties from a parameterised molecule back into the molecule that was originally passed in. I think the problem with just showing the Sire exceptions is that it doesn't always help a BioSimSpace user figure out how to solve the problem, especially if they are unfamiliar with Sire. (This is why I tried to capture them and present a short-form message.)
Just a check list of known issues and things TODO before I go on leave:
[ ] 1) Finish JOSS submission process. Review thread is here.
[x] 2) Document versions of external tools that BioSimSpace supports. Probably hard to be comprehensive, but can at least document versions that we've tested against, e.g. GROMACS > 5.0, AmberTools18/AmbertTools19, etc.
[ ] 3) Updated
BioSimSpace.Process.Amber
to add support for AMBER simulations usingpmemd
andpmemd.cuda
. Currently we only supportsander
. (pmemd
andpmemd.cuda
are searched for when using theBioSimSpace.MD.run
function.)[ ] 4) Handle execution of MD processes using
mpirun
. Probably need to detect the presence of a hostfile. Will likely need to supportmpirun
,mpiexec
, andsrun
. (Note thatsrun
doesn't require a hostfile, so there might not be a single solution.)[x] 5) Make error messages more informative for some of the common exceptions that are trigged. It could be best to add a verbose mode that prints the full Sire error if activated.
[ ] 6) Work out how to capture errors within a node. I think we might need something like
node.addProcess
, which will zip up the working directory of a process if it fails and present this to the user, e.g.System
and theProcess
. It should be possible to explain the basic concepts though. Perhaps it is easiest for the user to override the_generate_config
methods of each process to customise the protocols.