Added the possibility to carry out screening on a single conformer specified in a file. Rename variables.
Changed warning message
Added random seed to EmbedMultipleConfs to enable reproducibility
Implemented actual commands for LSF scheduler
Avoid to compare an array with a str leading to a warning.
Corrected bug: Due to molecule prealignment the molecule adsorption center coordinates were not anymore in there right position.
Corrected a typo and added info about the most stable structure on the log mesages if refinement.py.
Removed Capitalization on job name as it led to misunderstandings
corrected bug: All warnings were treated as exceptions. Moved the warnings.filterwarnings("error") inside get_exemplars_affty function to make only the AffinityPropagation warning to be caught as an exception and further registered in the log.
corrected bug: wrong assignement of norm_vect when set to 'auto'.
corrected bug: wrong import statement.
Catch AffinityPropagation warning and include it in the DockOnSurf logger.
Raise FileNotFoundError when no calculations finished normally.
Removed warning when dealing with non-3D molecules.
In align_molec, when the alignment center is at the baricenter of its neighbors, it uses the perpendicular vector to the nearest neighbor as target vector to align.
Made the deletion of dummy atom more robust
When sampling over euler angles, prealign molecules so that the neighbors to the adsorption point face the opposite direction to the surface.
Added log message to print the number of structures selected at the refinement step.
Added log register to output the normal vector to the surface at the given site when calculated with asann. Added TODOs
Implemented automatic detection of normal vector to the adsorption site with ASANN. (Amend)
Implemented automatic detection of normal vector to the adsorption site with ASANN.
Corrected bug when comparing np.array with a list. Added TODO
Implemented new way to specify maximum jobs on running/pending status with only one keyword in the input. Reformat files.
Implemented the possibility to check adsorbate-surface overlap with both methods at the same time, height and sphere collision. Changed function order.
Reformat file. inp_vars['relaunch_err'] is not retrieved as it's not implemented yet. Warning added when both collision height and collision threshold are turned False.
When retrieving the min_coll_height value, the check of the surf_norm_vect is done within the get_min_coll_height function. Removed deprecated get_screen_rmsd function.
collision_threshold can hold False value.
get_surf_norm_vect returns a normalized vector.
check_expect_val accepts a custom message.
Allow max_structures to take False value and assign infinity
Implemented the possibility to chose the surface H acceptors
Adapted error messages, reformat code for readability, removed TODO, refactor variables, updated docstrings.
Implemented Periodic Boundary Conditions.
user definition of the maximum value of the helicopter rotation angle in chemcat angles
Implemented Chemcat Angles
Added TODOS
Added the possibility to return the angle with the symbol if the normal vector to the other two is parsed as optional argument
Adapted arguments due to changes in collect_coords in formats.py
Changed logger calls.
Corrected bug: Coordinates were not stored in the list in formats.py. Refactored screening.py file.
Changes in the logger warnings and info.
Moved the change of units (Ha to eV) to read_energy_cp2k in formats.py
Added arguments due to the changes in collect_energies in formats.py
Removed unnecesary statements
Change on function names and documentation.
removed unnecessary statements
Changed order of the functions
Check restart file to be also present for the calculation to be finished.
Corrected bug: read_coords_cp2k expected a file as argument, and directory was parsed, now parsing file.
Corrected bug: missing and wrong arguments for read_coords_cp2k and read_energy_cp2k respectively.
Implemented check_finished_calcs which checks whether calculations are finished normally or not.
Made the read_coords, read_energies function more general, robust and readable and transfered the actual work to be done by code-specific functions (read_coords_cp2k and read_energy_cp2k).
Made the read_coords function more robust and readable.
Clean unnecessary old functions.
Allowed combination of more than one run_type (eg. isolated screening)
Updated random_state argument of AffinityPropagation calling to mute warning after update of scikit-learn v0.23.
Corrected typos and letter case errors.
Corrected bug on type_max when no value was given
Implementes support for irene custom batch queuing system.
Reformatting file.
A maximum number of jobs can be set to, not only the pending ones, but now also the running ones.
Changed min_confs option name to pre_opt which accept a turn_false_answer, uff and mmff.
Updated error message.
Added # TODO for the formatation of the log file.
Added # TODO for the implementation of debug run.
Added variables for the chek of the job status in lsf. Added some comments and small code rearrangement.
Combined sub_sge and sub_lsf in a more generic function. Combined get_jobs_status_sge and get_jobs_status_lsf in a more generic function. Removed the dependency on gridtk.
Started implementing lsf jobs
Simplified and made more pythonic the random selection of configurations when the number of generated ones is larger than the 'max_structures' value.
Corrected log messages.
Reduced the molecule name length in the job_name.
Included extra arguments for the proper working of special atoms.
Added logging entries at the beginning and end of each section.
Modified documentation
Implemented refinement.py
Add a warning when identical structures appear as a bug tester.
Prevent identical configurations in Euler rotations
Allow the user to choose a maximum number of structures to generate for the screening.
Moved adorption height to be a function argument.
Implemented the possibility to dissociatie H atoms
Corrected bug, evaluation of surface alone neighbors and molecule alone neighbors is done when no collision height is specified.
Implemented add_special_atoms which Allows to use custom elements with symbols not in the periodic table.
Added punctuation marks at the end of every log messages.
Changed variable name cart_coords to cart_axes. Simplified the check if surface normal vector is a a pure cartesian axis.
Corrected bug: When the same coordinate of the surface normal vector and the position of the atom had different signs was leading to no collision while it should.
Implemented function to select conformers according to the value of passed magnitudes. Acceptable magnitudes are 'moi' and 'energy'. Added log register for the number of generated structures.
Allow 'surf_norm_vect' to accept the shortcut values '-x' '-y' '-z' equivalent to [-1, 0, 0] [0, -1, 0] [0, 0, -1] respectively. Changed When min_coll_height is not False collision is checked only by checking the height of the atoms.
Enabled the creation of calculation subdirectories and files when carrying out a dry run (batch_q_sys = None)
Read the number of conformers per magnitude from input file
Restructured 'get_surf_norm_vect' function to prevent recording an error to the log when 'x', 'y' or 'z' is passed as option value.
Added TODO. Added comments for visually separating functions belonging to different sections inside code.
Added 'euler' as default value for the ads_algo option in input.
Reordered the calling of functions.
Moved cluster_magns from Isolated to Screening section
Added log register for reading coordinates
Calculate the surface and molecule neighbors necessary for the collision check
Implemented the function that corrects collisions
Implemented the function to check for collisions between the adsorbate and the surface
Implemented the adsorption of conformers using euler angles to sample de orientational space.