rdk / p2rank

P2Rank: Protein-ligand binding site prediction tool based on machine learning. Stand-alone command line program / Java library for predicting ligand binding pockets from protein structure.

Home Page:https://rdk.github.io/p2rank/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bug in -conservation_dirs argument parsing

davidjakubec opened this issue · comments

Hi,

I think that the "new" option -conservation_dirs parses its arguments incorrecly. Say my dataset definition file coach420.ds is in ./datasets/, specifying -conservation_dirs coach420/conservation/e5i1/scores/ results in [INFO] DatasetItemLoader - Conservation lookup dirs: [datasets/oach420/conservation/e5i1/scores]... in other words, the first character of the specified path is lost and the conservations are not loaded. One has to do a workaround, e.g., use the option with an extra character (X here), -conservation_dirs Xcoach420/conservation/e5i1/scores/ for the desired path to be used correctly.

This is especially unfortunate in combination with #36, as the user is informed in no way of the error (i.e., that no conservation files are actually being parsed) unless they check the logs specifically to verify this.

David

commented

Fixed on develop branch and will be released in v2.3

Problem was that param value parser expected every list param value to start with '(' and end with ')'.

Workaround for earlier versions is to use parentheses, for example:
-conservation_dirs '(coach420/conservation/e5i1/scores/)'
or for 2 dirs: -conservation_dirs '(coach420/conservation/e5i1/scores/,coach420/conservation/e5i1/scores2/)'

commented

@davidjakubec thanks for the report by the way. I agree that it was very unfortunate in combination with #36 .

To check if conservation is loaded properly it is a good idea to run it first in -fail_fast 1 mode.
Default behaviour is that the program does not fail when conservation score file is not found. The reason is that usually in any bigger dataset there are some chains on which calculation of the conservation fails.