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.
Using a copy of the molecule to adsorb this way preventing successive translations when correcting adsorptions.
Included the ads_algo option in the input file. Fixed the default value of surface normal vector.
get_atom_coords function called without ctrs_list argument returns the coordinates of all atoms. It also allows ctrs_list to be an integer, thus returning the coordinate of index
Check for options 'code', 'subm_script' is consistent with dry runs and running locally.
Minor changes in variable names, order in functions, documentation and TODOS
Implemented function to compute the angle between two vectors.
Function get_surf_norm_vect returns a numpy.ndarray instead of a list. Function get_pts_per_angle checks that the number of points per angle to be positive. Added TODO on get_moments_of_inertia
Changed input option from collision_bottom_z to collision_bottom
Implement add_adsorbate function which extends the functionality of ase.build.add_adsorbate by enabling to change the z coordinate and the axis perpendicular to the surface.
Added surf_file and molec_neigh_ctrs options to the input reading. Added hematite surface file to tests.
Reformatting files, added documentation and getting rid of useless pieces of code.
Implemented get_atom_coords and vect_avg
Designed structure of screening.py
Included surf_file, molec_neigh_ctrs and surf_norm_vect as input parameters
str2list accepts float numbers if it is called with the func=float argument.
Updated documentation
When clustering does not converge return every point as exemplar.
When a SDF mol file has no explicit hydrogen atoms it adds them before converting it to the adequate format.
Correct indentation for all submitted jobs
Corrected the extraction of MOI from a list of mol objects. For the plotting of graphs in clustering.py renamed boolean var debug to plot and added a check-backup on the plot file. Removed useless chunk on isolated.py.
Changed the import statement of internal libraries. Added logging to utilities.py
Moved check_bak from calculation.py to utilities.py and try_command from dos_input.py to utilities.py
Implemented function to read energies of a set of finished calculations. Implemented auxiliary function equivalent to bash tail. Reformat blank spaces and add TODO lines
Carry out the screening of adsorbate coordinates on a surface
Moved get_rmsd from isolated.py to clustering.py and changed its functionality, now it expects a list of mol objects instead of a single mol object with multiple conformers in it.
Added read_coords function to read coordinates resulting from finished calculations.
Added 'local' and 'none' as possible batch queuing systems, to run calculations on the local computer and to not carry out the calculation at all (for debugging purposes).
Allow to convert, to rdkit.Mol object, xyz files containing multiple geometries, taking into consideration only the last one.