IanAWatson / LillyMol_6_cmake

Fork of the official LillyMol, but builds on Ubuntu systems with cmake.
Apache License 2.0
0 stars 2 forks source link

general question #4

Open nbehrnd opened 1 year ago

nbehrnd commented 1 year ago

I briefly run a

for file in *; do ./"$file"; done

in the path of compiled executables, /LillyMol_6_cmake/src/build/build for a copy-paste of the output to the CLI to a permanent record. There are 111 occurrences of help, 41 of the string -h (at least sometimes to adjust how to process hydrogens), yet never --help (as e.g. for running openbabel from the CLI). Instead, the options become visible after e.g., ./sp3_filter as command without an option. Can this frequently seen toggle for comfort be amended to the utilities?

IanAWatson commented 1 year ago

Unfortunately the command line processing built into LillyMol utilities is rather inflexible, having been laid down in 1995. So, there are no --opt recognised.

Every c++ tool should respond to an invocation with no inputs by writing its usage message.

Now, I did implement a newer generation command line processing that has more flexibility, and which could be adapted to things like --help. But making this change would be disruptive, and would break tools that others have built. What might make sense is to start writing new tools with the updated command line processor.

Command line processing in LillyMol is somewhat unusual. Multiple uses of a flag is commonplace and encouraged. For example, -v will increase the verbosity of messages. Using two, -v -v, possibly enables even more debugging. More traditional tools will have a --verbose option. But specifying queries or smarts

tsubstructure -s 'smarts1' -s 'smarts2' ...

is a common idiom.

So, I don't have an immediate, non disruptive, fix for this now...

If you find tools that are not responding properly to an empty invocation, definitely let me know...

but you are right, these tools should behave as most people might reasonably expect...

Thanks

Ian

On Sat, Apr 22, 2023 at 11:41 AM nbehrnd @.***> wrote:

I briefly run a

for file in *; do ./"$file"; done

for a copy-paste of the output to the CLI to permanent record. There are 111 occurrences of help, 41 of the string -h (at least sometimes to adjust how to process hydrogens), yet never --help (as e.g. for running openbabel from the CLI). Instead, the options become visible after e.g., ./sp3_filter as command without an option. Can this frequently seen toggle for comfort be amended to the utilities?

— Reply to this email directly, view it on GitHub https://github.com/IanAWatson/LillyMol_6_cmake/issues/4, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAODELC2EJRVTA6LSL3YTNDXCP32LANCNFSM6AAAAAAXH5CDAI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

nbehrnd commented 1 year ago

Back from a testing branch I notice

retrosynthesis: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)
rxn_fingerprint: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)
rxn_signature: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)
rxn_standardize: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)
trxn: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)
Numeric difference 4.94066e-324 string rep '4.9406564584125e-324' reinterpreted as 0 diff 4.94066e-324
100 tests were numerically equivalent
IWString::unhtml:unrecognised directive 'foo'
test_append_hex, all numbers to 255
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
No arguments specified, getline test not done
All tests successful

which so far do not provide "a menu" of options. I should revisit these again with one, or two days distance from now.

The syntax of e.g., -v -v to access an eventually extended verbosity level is something one has to know. Once this convention is known to the practitioner, it can become as natural to double f to ff to annotate dynamics in a partition.

record.txt