Giter Club home page Giter Club logo

goodvibes's People

Contributors

berquist avatar bobbypaton avatar fdroessler avatar hmayes avatar ifunes avatar jaimergp avatar jvalegre avatar luchini18 avatar margoju avatar nkucodingcat avatar shreesowndarya avatar sibo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

goodvibes's Issues

Check for duplicates

An optional feature to detect duplicate results based on their E or G and their RMS

New Computer, New Version and unknown errors

I recently had to wipe my previous laptop (was using goodvibes 3.0.0 I believe, as well as the python version that was present at the time, which was around a year old) and get a new one in which upon installing the newest version of both python and goodvibes on it, is consistently giving me an error when I try to get the energies for my .log files.
" File "C:\Users____\AppData\Local\Programs\Python\Python311\Lib\site-packages\goodvibes\GoodVibes.py", line 809, in main^[[0K
lot_sm_prog = read_initial(file)^[[0K
^^^^^^^^^^^^^[[0K
NameError: name 'read_initial' is not defined^[[0K
^[[0K"

(I have removed my user name in the file path)

I have tried using previous versions and although after some tweaking I got it to work, it is still spitting out a lot of "^[[0K" at the beginning and end of files as well. Am I forgetting something important that is causing these errors?

Problem with single-point corrections with same extension as opt files in linux

Yes, It workes well on my mac. However, I still have this problem when I am running goodvibes in Linux system.

python -m goodvibes -q --spc SP *.out

Error! SPC calculation file 'INT4_RE0_A_SP_SP' not found! Make sure files are named with the convention: 'filename_spc'.
For help, use option '-h'

If I use the following command, It could work. But it uses the old version goodvibes 2.

python3 -m goodvibes -q grimme --spc SP *.out

Originally posted by @Xiangyang2017 in #31 (comment)

The --ssym option isn't working

In the new version (3.2), the --ssym option is broken. I keep getting this error:

FileNotFoundError: Could not find module 'PATH\goodvibes\share\lib_FILENAME.dll' (or one of its dependencies). Try using the full path with constructor syntax.

@luchini18 do you remember how you set up the dll files created by the symmetry analizer?

Using GoodVibes from other Python scripts

Hi,
just wondering if there is a recommended way of importing goodvibes in other python scripts?
I played around with some ideas but was wondering if there is a better way or recommended way.

If there is no such thing atm, I could try clean my idea up and submit a PR if that there is interest.

Printing the names of the most stable confs when using --pes

Hi - I think it might be useful to print the name of the most stable conf of each reaction step when using the --pes option. That way, it'd be easy to locate that conf and make the 3D representation, check if the calculation corresponds to the step we were looking for, etc.

Problem with single-point corrections with same extension as opt files

Just a reminder - just installed the newest version of GV from scratch from pip, but I still get a problem with --spc. If FILE and FILE_SPC are both ".log" (i.e. FILE.log and FILE_QZ.log). I get this error:
"Error! SPC calculation file 'Int_I_ar02_am01_PP01_qz_qz' not found! Make sure files are named with the convention: 'filename_spc'."

Output format

The print function should be able to write out CSV-formatted dat files, and there should be an option to write SDF geometry output

Energy Graphs

I would find much use in some variability in what can be plotting with --graph. For example, the optionality to plot E, ZPE, H, and T.S would be very nice! GoodVibes creates such nice reaction profile figures, so I would love to be able to use it for my applications.

Things to include in GV

(1) In the top part of the output file with the option details, can you make the program write the keywords used to run GoodVibes? (ie python GoodVibes.py -t 300.15 --spc QZ)

(2) Can you make the program not crush when a .log file does not have an associated _QZ file? It would be great that the program showed the error in the output file but it don´t stop working

(3) Include compatibility with COSMO-RS (reminder just in case)

(4) Include Boltzmann average G along with Bolztmann probabilities

Graph creation after results

With the new feature of calculating relative G using a .yaml file, would it be possible to create a graph with the relative G profile of the steps specified in the .yaml file? Similar to what we do with excel, thick lines for the reaction steps and dotted thin lines for connecting the different steps.

error reading --spc argument

I am trying to use goodVibes for gaussian optimization outputs with single point energy corrections, but am experiencing bug when specifying the --spc argument. For example, if I am using the optimization file "x.log", the spc "x_spc.log", and the argument "--spc spc"; I will get the error message: "Error! SPC calculation file 'x_spc_spc' not found! Make sure files are named with the convention: 'filename_spc'."

Any help with fixing this bug would be appreciated. Thanks!

Typo line 453 GoodVibes.py "trhular"

In line 453 there's a typo in the error message

else: log.Fatal("\n FATAL ERROR: Wrong number of arguments used.\n Correct format: GoodVibes.py (-qh grimme/trhular) (-f cutoff_freq) (-t temp) (-c concn) (-v scalefactor) g09_output_file(s)\n")

truhlar is the correct command, not trhular.

Acceleration of GV

After v3.2, GV started using cclib to extract data, but GV has become quite slow. We can use the original GV parser for Gaussian calcs instead, and use cclib for outputs coming from other QM programs.

Something that can accelerate quite a bit the original code is to replace the regular loops with inverse loops that break after the SCF energy and the frequencies are read (we could import the code from the initial versions of AQME-QCORR).

Does not work well Python 3.6

Umm.... A issue again

Ln 436 - Ln 441

          if all_same(l_o_t) == True:
             for scal in scaling_data: # search through database of scaling factors
                if l_o_t[0].upper().find(scal['level'].upper()) > -1 or l_o_t[0].upper().find(scal['level'].replace("-","").upper()) > -1:
                   options.freq_scale_factor = scal['zpe_fac']; ref = scaling_refs[scal['zpe_ref']]
                   log.Write("\n\n   " + "Found vibrational scaling factor for " + l_o_t[0] + " level of theory" + "\n   REF: " + ref)
          elif all_same(l_o_t) == False: log.Write("\n   " + (textwrap.fill("CAUTION: different levels of theory found - " + '|'.join(l_o_t), 128, subsequent_indent='   ')))

scal['level'] would be in "Byte" type and l_o_t[0] is always string type. Thus, it will raise

if l_o_t[0].upper().find(scal['level'].upper()) > -1 or l_o_t[0].upper().find(scal['level'].replace("-","").upper()) > -1:
TypeError: must be str, not bytes

seems easy to fix, and I think I should use 2.7 to run these code.....

Error in addUMAP

I've just run into a problem where addUMAP successfully runs but then errors when attempting to save the model. The error is reproducable on the training dataset. Wondering if someone has idea for fix?

Attach your log file
No log file is produced for addUMAP

Describe the bug
Error in addUMAP(...) function:

projHeme2 <- addUMAP(ArchRProj = projHeme2,reducedDims = "IterativeLSI",name = "UMAP", nNeighbors = 30, minDist = 0.5, metric = "cosine")
17:22:29 UMAP embedding parameters a = 0.583 b = 1.334
17:22:29 Read 10661 rows and found 30 numeric columns
17:22:29 Using Annoy for neighbor search, n_neighbors = 30
17:22:29 Building Annoy index with metric = cosine, n_trees = 50
0%   10   20   30   40   50   60   70   80   90   100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
17:22:31 Writing NN index file to temp file /tmp/RtmppTRa6Z/filed6387f202b1e
17:22:31 Searching Annoy index using 40 threads, search_k = 3000
17:22:31 Annoy recall = 100%
17:22:33 Commencing smooth kNN distance calibration using 40 threads
17:22:35 Initializing from normalized Laplacian + noise
17:22:36 Commencing optimization for 200 epochs, with 485984 positive edges
0%   10   20   30   40   50   60   70   80   90   100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
17:22:51 Optimization finished
**Error in model$nn_index$save(nn_tmpfname) : attempt to apply non-function**

To Reproduce
See above

Expected behavior
I haven't had this problem over the past months. addUMAP has successfully run up to this point.

Screenshots
N/A

Session Info

R version 3.6.2 (2019-12-12)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server 7.8 (Maipo)

Matrix products: default
BLAS:   /usr/lib64/libblas.so.3.4.2
LAPACK: /usr/lib64/liblapack.so.3.4.2

locale:
[1] C

attached base packages:
 [1] grid      parallel  stats4    stats     graphics  grDevices utils
 [8] datasets  methods   base

other attached packages:
 [1] uwot_0.1.8.9001                    BSgenome.Hsapiens.UCSC.hg19_1.4.0
 [3] BSgenome.Mmusculus.UCSC.mm10_1.4.0 BSgenome_1.54.0
 [5] rtracklayer_1.46.0                 Biostrings_2.54.0
 [7] XVector_0.26.0                     gridExtra_2.3
 [9] nabor_0.5.0                        Seurat_3.2.0
[11] ArchR_1.0.0                        magrittr_1.5
[13] rhdf5_2.30.1                       Matrix_1.2-18
[15] data.table_1.13.0                  SummarizedExperiment_1.16.1
[17] DelayedArray_0.12.3                BiocParallel_1.20.1
[19] matrixStats_0.57.0                 Biobase_2.46.0
[21] GenomicRanges_1.38.0               GenomeInfoDb_1.22.0
[23] IRanges_2.20.2                     S4Vectors_0.24.4
[25] BiocGenerics_0.32.0                ggplot2_3.3.2

loaded via a namespace (and not attached):
  [1] backports_1.1.10         plyr_1.8.6               igraph_1.2.5
  [4] lazyeval_0.2.2           splines_3.6.2            listenv_0.8.0
  [7] usethis_1.6.3            digest_0.6.25            htmltools_0.5.0
 [10] fansi_0.4.1              memoise_1.1.0            tensor_1.5
 [13] cluster_2.1.0            ROCR_1.0-11              remotes_2.2.0
 [16] globals_0.13.0           prettyunits_1.1.1        colorspace_1.4-1
 [19] rappdirs_0.3.1           ggrepel_0.8.2            dplyr_1.0.2
 [22] callr_3.4.4              crayon_1.3.4             RCurl_1.98-1.2
 [25] jsonlite_1.7.1           spatstat_1.64-1          spatstat.data_1.4-3
 [28] survival_3.2-7           zoo_1.8-8                ape_5.4-1
 [31] glue_1.4.2               polyclip_1.10-0          gtable_0.3.0
 [34] zlibbioc_1.32.0          leiden_0.3.3             pkgbuild_1.1.0
 [37] Rhdf5lib_1.8.0           future.apply_1.6.0       abind_1.4-5
 [40] scales_1.1.1             miniUI_0.1.1.1           Rcpp_1.0.5
 [43] viridisLite_0.3.0        xtable_1.8-4             reticulate_1.16
 [46] rsvd_1.0.3               htmlwidgets_1.5.1        httr_1.4.2
 [49] RColorBrewer_1.1-2       ellipsis_0.3.1           ica_1.0-2
 [52] pkgconfig_2.0.3          XML_3.99-0.3             farver_2.0.3
 [55] deldir_0.1-29            tidyselect_1.1.0         labeling_0.3
 [58] rlang_0.4.7              reshape2_1.4.4           later_1.1.0.1
 [61] munsell_0.5.0            tools_3.6.2              cli_2.0.2
 [64] generics_0.0.2           devtools_2.3.1           ggridges_0.5.2
 [67] stringr_1.4.0            fastmap_1.0.1            goftest_1.2-2
 [70] fs_1.5.0                 processx_3.4.4           fitdistrplus_1.1-1
 [73] purrr_0.3.4              RANN_2.6.1               pbapply_1.4-3
 [76] future_1.19.1            nlme_3.1-149             mime_0.9
 [79] rhandsontable_0.3.7      shinythemes_1.1.2        compiler_3.6.2
 [82] curl_4.3                 plotly_4.9.2.1           png_0.1-7
 [85] testthat_2.3.2           spatstat.utils_1.17-0    tibble_3.0.3
 [88] stringi_1.5.3            ps_1.3.4                 desc_1.2.0
 [91] RSpectra_0.16-0          lattice_0.20-41          vctrs_0.3.4
 [94] pillar_1.4.6             lifecycle_0.2.0          BiocManager_1.30.10
 [97] lmtest_0.9-38            RcppAnnoy_0.0.16         cowplot_1.1.0
[100] bitops_1.0-6             irlba_2.3.3              httpuv_1.5.4
[103] patchwork_1.0.1          R6_2.4.1                 promises_1.1.1
[106] KernSmooth_2.23-17       sessioninfo_1.1.1        codetools_0.2-16
[109] gtools_3.8.2             MASS_7.3-53              assertthat_0.2.1
[112] pkgload_1.1.0            rprojroot_1.3-2          withr_2.3.0
[115] presto_1.0.0             GenomicAlignments_1.22.1 sctransform_0.3
[118] Rsamtools_2.2.3          harmony_1.0              GenomeInfoDbData_1.2.2
[121] mgcv_1.8-33              rpart_4.1-15             tidyr_1.1.2
[124] Cairo_1.5-12.2           Rtsne_0.15               shiny_1.5.0

Checking that opt and spc geom match

Would it be useful to add a function (ie --check) that checks if the geometries of the optimized molecules have the same coordinates that the corresponding spc calculations?

Boltzman weighted %

The % that the program calculates contains 3 digits, it works for calculating ee% but to calculate weighted G from multiple conformers we need more digits (like 8-9 maybe because the G numbers are quite high). Rob could you change this? Thanks!

Problem installing 2.0.3 from conda

Hi,

I've tried using conda to install GoodVibes with the command 'conda install -c patonlab goodvibesand' but couldn't get it to work as described in the documentation.

The following shown up:

Collecting package metadata (current_repodata.json): done
Solving environment: failed
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  • goodvibes

Current channels:

To search for alternate channels that may provide the conda package you're
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

If I tried with 'pip install goodvibes' it successfully installed but cant run any file.

It showed the following:

(base) PS>python -m goodvibes -h
Usage: main.py [options] .log .log ...

Options:
-h, --help show this help message and exit
-t TEMP temperature (K) (default 298.15)
-q QH Type of quasi-harmonic correction (Grimme or Truhlar)
(default Grimme)
-f FREQ_CUTOFF Cut-off frequency (wavenumbers) (default = 100)
-c CONC concentration (mol/l) (default 1 atm)
-v SCALE_FACTOR Frequency scaling factor (default 1)
-s SOLV Solvent (H2O, toluene, DMF, AcOH, chloroform) (default
none)
--spc=SPC Indicates single point corrections (default False)
--boltz Show Boltzmann factors
--cpu Total CPU time
--ti=TI initial temp, final temp, step size (K)
--ci=CI initial conc, final conc, step size (mol/l)
--xyz write Cartesians to an xyz file (default False)
--imag print imaginary frequencies (default False)
--cosmo=COSMO-RS filename of a COSMO-RS out file
--csv print CSV format
(base) PS>python -m goodvibes examples/methylaniline.out -f 100
GoodVibes v2.0.2 2019/06/28 09:16:53
REF: Funes-Ardoiz, I.; Paton, R. S. (2016). GoodVibes: GoodVibes 2.0.2 http://doi.org/10.5281/zenodo.595246
Requested: -f 100

Temperature = 298.15 Kelvin Pressure = 1 atmTraceback (most recent call last):
File "C:\ProgramData\Miniconda2\lib\runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "C:\ProgramData\Miniconda2\lib\runpy.py", line 72, in run_code
exec code in run_globals
File "C:\ProgramData\Miniconda2\lib\site-packages\goodvibes_main
.py", line 18, in
sys.exit(GoodVibes.main())
File "C:\ProgramData\Miniconda2\lib\site-packages\goodvibes\GoodVibes.py", line 556, in main
if l_o_t[0].upper() == scal['level'].upper() or l_o_t[0].upper() == scal['level'].replace("-","").upper():
IndexError: list index out of range

I'm using python2.7 in windows

Any solution?

Thanks,
Bowie

Counterpoise corrected opt freq jobs.

Hi,
if goodvibes is used on a counterpoise corrected opt/freq calculation it seems to correctly pull the frequency calculation data but it takes the E value from the last fragment.

This might be more difficult to fix, is it possible that the corrected thermodynamic data (calculated "T.qh-S/au") is nevertheless correct? Or does it use some wrong molecular weight/structure to calculate this correction?

Thank you!

qRRHO ref dead

In the readme, the Grimme's qRRHO paper's doi is malformed by a trailing /full. Just get rid of that so the link works.

error with freq=hpmodes

When the gaussian calculation has freq=hpmodes, the wavenumbers are read in twice, resulting in incorrect (i.e. double) thermal correction.

Error in 3 outputs

Dear,
I am doing the goodvibes correction to a diagram of energies, using the comands " -t 368.15 and -c 1". Is working perfectly with my data, but i don't know why, the program doesn't work with 3 outputs. I check the input of this files and is the same that the others, so there is not a problem in my input, but even this the goodvibes don't work. Take into account, that i did the goodvibes calculation for other 40 files and there all work perfectly, but with this 3 outputs there is a particular problem, that i cannot find. Following i send the error that come out with this files:

Requested:

Temperature = 298.15 Kelvin Pressure = 1 atm
All energetic values below shown in Hartree unless otherwise specified.Traceback (most recent call last):
File "/home/programes/conda/miniconda3/envs/goodvibes/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/programes/conda/miniconda3/envs/goodvibes/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/programes/conda/miniconda3/envs/goodvibes/lib/python3.7/site-packages/goodvibes/main.py", line 18, in
sys.exit(GoodVibes.main())
File "/home/programes/conda/miniconda3/envs/goodvibes/lib/python3.7/site-packages/goodvibes/GoodVibes.py", line 2468, in main
lot_sm_prog = read_initial(file)
File "/home/programes/conda/miniconda3/envs/goodvibes/lib/python3.7/site-packages/goodvibes/GoodVibes.py", line 1583, in read_initial
with open(file) as f: data = f.readlines()
File "/home/programes/conda/miniconda3/envs/goodvibes/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 4830: invalid continuation byte

It would be really helpfull for my work if someone can help me with this. Thanks you for your attention.

Regards.

Gonzalo Nuñez
Tarragona, Spain

Cv and Cp calculation

Hi dear developers.
Is there a way to compute Cv and Cp at different temperatures with GoodVibes? This would be really helpful.

Many thanks

How to decide Freuency (-f and --fs) while using GoodVibes (I am new in Quantam)

Dear Prof. Paton lab,
Thanks for the great package,
I am using it for Quasi-harmonic entropy correction and enthalpy correction" for gaussian output(transition state)
Now, I am confused about frequency.
-f FREQ_CUTOFF Cut-off frequency for both entropy and enthalpy (wavenumbers) (default = 100)
--fs S_FREQ_CUTOFF Cut-off frequency for entropy (wavenumbers) (default =100)
--fh H_FREQ_CUTOFF Cut-off frequency for enthalpy (wavenumbers) (default = 100)

How to decide it should be 100 150 or any number
While we are having many vibrational frequency including -negetive one(for ts)

Code does not parse thermochemistry data for centrosymmetric linear molecule

Hi,
The codes does not seem to be able to obtain the thermochemical data for centrosymmetric linear molecules of D∞h point group. An example Gaussian output file is attached. This yields

x ZnBr2_opt ---- Caution! Potential invalid calculation of linear molecule from Gaussian
as the output.

Although there was a mention that the rotational temperature will be read directly by the program in linear molecules (#6), this does not seem to work in the current version.

Any help to fix this please? Thank you.

ZnBr2_opt.log

How to cite goodvibe?

I will surely cite the underlying method but I'm not quite sure of what is a good way of citing goodvide.

Enabling parsing orca opt+freq output files

Hi,
Are there plans to include this? Thought I'd ask as GoodVibes is a great utility and adding this would be a convenience benefit to orca users, since we can only use single point energy output files currently. Thank you.

Symmetry correction of homonuclear diatomic molecules

I was looking at the symmetry correction of homonuclear diatomic molecules, and I am wondering if the rotational entropy correction is being applied twice with --ssymm.

In order to calculate the rotational entropy, Goodvibes parses the rotational symmetry number from the Gaussian output file. This seems to always be 1, except for homonuclear diatomic molecules, where it is 2. Goodvibes thus calculates the rotational entropy with this symmetry number. The free energy calculated by Goodvibes is exactly the same as the one in the Gaussian output file.

With the --ssymm keyword, Goodvibes applies an additional correction of RTln(2) to the free energy. Is that actually correct or is Goodvibes applying a duplicate symmetry correction?

Feature Request: CSV Export

Using GoodVibes for my undergrad summer research, I found that one cannot export CSV's with different names or for batch analysis of multiple output files, one cannot save them as an appended single CSV. This would be a nice feature to implement along with the option of exporting just the desired value column from a multiple batch run to a CSV.

I hope I am articulating my thoughts correctly but would love to go over this in good detail if required.

Media keyword

Hello!

Could you, please, explain, what is the "entropy correction to calculations done on solvent molecules calculated from their standard concentration", which is requested with --media keyword? Is there any reference to it?

Best regards,
Michael G. Medvedev

GoodVibes-calculated T.S (entropy) of an ONIOM system is inconsistent with the data in Gaussian log file

Dear GoodVibes developers,

I have encountered a problem when I'm using the current version of GoodVibes to deal with a Gaussian ONIOM (B3LYP:Amber) log file. I set the frequency scaling factor of both QM and MM regions to 1 by setting -v 1.0 --vmm 1.0, and I used the output T.S and G(T) data w/o entropic quasi-harmonic treatment, so the GoodVibes-calculated thermodynamics data should be absolutely identical to the data in the Gaussian log file. Despite the minor difference (-0.000001 Hartree) in the E, ZPE, and H values, I found that the calculated G(T) term has a major difference (-0.028425 Hartree) from the Gaussian log file Gibbs free energy value (denoted by "Sum of electronic and thermal Free Energies"). The reason is that the GoodVibes-calculated T.S (1.339317 Hartree) is different from the Gaussian output value (1.367742 Hartree = "Sum of electronic and thermal Enthalpies" minus "Sum of electronic and thermal Free Energies") although I have set both QM and MM scaling factors to 1.0 and didn't use the T.qh-S and qh-G(T) values. This discrepancy between Gaussian log file data and GoodVibes-recalculated values does not happen in pure QM calculations. Can you suggest if there is anything going wrong with the calculation? Thank you!

File name parser does not work in a fancy way

I am using V2.0.1 and Ln 410 - Ln 419 are as follows:

files = []
   if len(sys.argv) > 1:
      for elem in sys.argv[1:]:
         try:
            if elem.split(".")[1] == "out" or elem.split(".")[1] == "log":
               for file in glob(elem):
                   if options.spc == False or options.spc == 'link': files.append(file)
                   else:
                       if file.find('_'+options.spc+".") == -1: files.append(file)
         except IndexError: pass

Obviously, if I have a filename start with '.' or '..', such code cannot detect my filename correctly
Eg: ../Examples/123.out

I wanna write a patch however I don't know the business logic of these parameters (Although I am a student that major in Computational Chem. ). But I think it could be easily to fix.

Meanwhile, use os.path.splitext to get extension is much more pythonic and here's a example

Ssym gives different G with C1

Hello,

I am using GoodVibes to calculate the quasiharmonic Gibbs free energy of some rather large molecules that are definitely C1. I have experimented with the use of the --ssym option, because there are smaller molecules in the project that do have symmetry. However, when I use the --ssym option on my C1 molecules I appear to get different results. For example, on one particular complex I have:

python -m goodvibes --qs truhlar -t 373.15 -v 0.976 --imag *.out
Corrected G: -4939.567977

python -m goodvibes --qs truhlar -t 373.15 -v 0.976 --ssym --imag *.out
Corrected G: -4939.565380

The program appears to properly identify the molecules as C1, so I don't think I should be getting a difference between the two values, unless I am mistaken.

Thank you for your excellent program.

Remove the higher-energy duplicate with --dup

I ran GoodVibes with the --dup argument and noticed that it removed the lowest energy conformer – conf_1 – as duplicate instead of the higher energy one – conf_10. The difference is only 0.5–0.6 kcal/mol, but could be changed to remove the higher energy and keep the lower energy ones. Both outputs are in the example.txt

example.txt

--ssymm issue with detecting point group

Hi,

Thanks for providing such a great tool to use! I've encountered an issue regarding the use of the --ssymm tag on GoodVibes v3.0.1 (tested on both Windows and Mac, installed via conda). This particular structure I've included should have a C2 or C2v point group. My first optimization runs with Gaussian 16 C.01 were with nosymm, and running goodvibes with python -m goodvibes --qs truhlar --ssymm --imag results in the following error:

Traceback (most recent call last):
  File "C:\Users\Chertian\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\Chertian\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Chertian\Anaconda3\lib\site-packages\goodvibes\__main__.py", line 18, in <module>
    sys.exit(GoodVibes.main())
  File "C:\Users\Chertian\Anaconda3\lib\site-packages\goodvibes\GoodVibes.py", line 2634, in main
    options.conc, options.freq_scale_factor, options.freespace, options.spc, options.invert,d3_energy,cosmo=cosmo_option,ssymm=ssymm_option,mm_freq_scale_factor=vmm_option)
  File "C:\Users\Chertian\Anaconda3\lib\site-packages\goodvibes\GoodVibes.py", line 425, in __init__
    sym_entropy_correction,pgroup = self.sym_correction(file.split('.')[0].replace('/','_'))
  File "C:\Users\Chertian\Anaconda3\lib\site-packages\goodvibes\GoodVibes.py", line 515, in sym_correction
    ex_sym,pgroup = self.ex_sym(file)
  File "C:\Users\Chertian\Anaconda3\lib\site-packages\goodvibes\GoodVibes.py", line 479, in ex_sym
    pgroup = symmetry.symmetry(c_coords).decode('utf-8')
AttributeError: 'NoneType' object has no attribute 'decode'

If I symmetrize the molecule and start from a C2v geometry, the final optimization result is a C2 structure but will be detected as C2v by goodvibes.

   Structure                                           E        ZPE             H        T.S     T.qh-S          G(T)       qh-G(T)  im freq  Point Group
   ******************************************************************************************************************************************************
o  c2v-opt                               -506.577099   0.113482   -506.453702   0.043949   0.042294   -506.497651   -506.495995          C2v
   ******************************************************************************************************************************************************

Would appreciate it if you could take a look at this error! All other molecules I've tried seem to work okay with --ssymm, so the problem might be specifically related to the starting structure that I used, but I have attempted re-optimizing the structure and the same error occurs.
c2v-opt.log
nosymm-opt.log

Supplying Single point energy not in Gaussian format

The excellent disk management feature of ORCA makes it a very attractive tool for computing single point energy. For small molecules, the gaussian postHF computation can take several TB of disk space while ORCA only takes several hundred GB. So I wonder if it is possible to supply ORCA file or input manually the single point energy file with the Gaussian opt/freq output file?

! Dispersion Correction Failed

Dear Robert Paton Group,

I'm writing you because I encountered a message of failed "! Dispersion Correction Failed" (see below) when I used GoodVibes on my optimized Gaussian output using the flag --d3bj for the dispersion estimation (the same failed also with --d3).

Please, could you help me with that or tell me if I did something wrong?

Really Thanks in advance for your work and time.

My Best Regards,

Dario

:~/anthracene/gaussian_analysis/gaussian_dimer$ python -m goodvibes --d3bj anthracene.out
GoodVibes v3.0.1 2021/07/20 16:49:39
REF: Luchini, G.; Alegre-Requena J. V.; Guan, Y.; Funes-Ardoiz, I.; Paton, R. S. (2019).
GoodVibes: GoodVibes 3.0.1 http://doi.org/10.5281/zenodo.595246
Requested: --d3bj

Temperature = 298.15 Kelvin Pressure = 1 atm
All energetic values below shown in Hartree unless otherwise specified.
Using vibrational scale factor 1.0 for PBEPBE/6-31G(d,p) level of theory

Entropic quasi-harmonic treatment: frequency cut-off value of 100.0 wavenumbers will be applied.
QS = Grimme: Using a mixture of RRHO and Free-rotor vibrational entropies.
REF: Grimme, S. Chem. Eur. J. 2012, 18, 9955-9964

D3-Dispersion energy with Becke-Johnson damping will be calculated and added to the energy terms.
REF: Grimme S.; Ehrlich, S.; Goerigk, L. J. Comput. Chem. 2011, 32, 1456-1465

! Dispersion Correction Failed

Structure E ZPE H T.S T.qh-S G(T) qh-G(T)


o anthracene -1077.780669 0.378979 -1077.379051 0.074184 0.069930 -1077.453235 -1077.448981


Problem with --graph

Hello

I tried to plot two reactions on the same plot, as you've shown in the article 10.12688/f1000research.22758.1

Here is my command
python -m goodvibes *log --freespace toluene --imag --graph graph.yaml --pes graph.yaml -t 268.15

And the graph.yaml file

--- # PES
TS_CS : [Pre-RC-II, TS-II, Post-RC-II]
PRC_CS : [Pre-RC-I, TS-I, Post-RC-I]
--- # SPECIES
Pre-RC-I    : pre_rc_opt_freq
Pre-RC-II   : CONF181_pre
TS-I        : TS_displ
TS-II       : CONF181_berny
Post-RC-I   : post_complex_freq
Post-RC-II  : CONF181_post
--- # FORMAT
zero: Pre-RC-I
dec : 2
units : kcal/mol
legend : True 

But I get only the first reaction displayed on the graph. Where is the errror?

Thanks very much

Bav = 10.0e-44

Dear GoodVibes developers,

I tried to reproduce the entropy contributions in the low frequency limit (Grimme, DOI: 10.1002/chem.201200497) and I discovered that you are using a value of BAV of
10.0e-44 (line 1922 in GoodVibes.py) while Grimme suggested in his paper to use 1e-44.
Was it your intention to change this value or just a typo in the code?

Best regards,
Pascal Friederich

SPC energy with double hybrid functional

Dear developers,

I am using a double hybrid functional method (DSDPBEP86/def2TZVPP) in Gaussian 16 rev.C for single point calculation after opt and freq calculation using a standard hybrid functional (M062X/def2SVP).
When I run goodvibes 3.0.1 to combine the results (using --spc option) to calculate the final free energies, the goodvibes program seemed to read the SCF energy of the DSDPBEP86 results as printed:
SCF Done: E(RDSDPBEP86) = @@@@@@@@ A.U. after 8 cycles
But the correct final EE of double hybrid methods would be the sum of SCF energy and E2 correction after MP2 calculation, as printed:
E2(DSDPBEP86) = @@@@@@@@@@@@@@@@@@ E(DSDPBEP86) = @@@@@@@@@@@@@@@

I would really appreciate if you could check this point.

Accutally, the official GaussView ver 6 seems to read the SCF energy without E2 corrections.

Error in output - unable to run

Dear Rob,

I recently attempted to run the new version of the script on Python 3.6.2 and Python 2.7.13; every time it would just print an error message saying:

File "GoodVibes.py", line 374
if all_same(l_o_t) == True:
IndentatonError: unexpected indent

This issue seemed to be fixed after I simply deleted two spaces before "if" on line 375 to bring the string to the same block level. However, output still gave an error in both versions of Python but from that point, different versions gave different errors.
I managed to get the script running on Python 2.7.13 (but not on Python 3.6.2) by additionally adding "# -- coding: utf-8 -" at the top to enforce UTF-8 and fix the default ASCII encoding problem that caused errors with Python 2.7 (it reported SynthaxError because line 372 apparently contained a non-ASCII '\xc2' character - probably from copy-paste).

Many thanks,
Nik

Error for multiplicity >=10

If the multiplicity is >= 10, GoodVibes crashes because there is no longer a space following the equals sign. For example Charge = 0 Multiplicity =15.

mismatch in --check in v3.2

There seems to be an issue with the --check in v3.2. It gives the following output:
x Caution! Potential differences found between frequency and single-point geometries

The geometries are the same and using --check in v3.0.2 doesn't give this warning. Thanks!

The initial parameters for a condensed phase

Hi,

I performed a solvation calculation in Gaussian and, I would like to know the following: when GoodVibes reads the output and identifies that the calculation was carried out in a condensed phase, what initial value does it assume for concentration 1 mol/L or 1 bar?

Orca parsing error

Hello,

I'm trying to parse an opt freq orca output by the program trows the following error

[ORCA berny_cis_c_freq.out ERROR] Encountered error when parsing.
[ORCA berny_cis_c_freq.out ERROR] Last line read: ----------------------------------------------------------------------------

ValueError: invalid literal for int() with base 10: '----'

Does someone know how to fix this?

Thanks so much

Problems with pip release (2.0.1)

Hi,

I just tried using pip to install GoodVibes and couldn't get it to work as described in the documentation. For example, if I try the following command:

[~]: python -m goodvibes -h
/usr/local/anaconda3/bin/python: No module named goodvibes.__main__; 'goodvibes' is a package and cannot be directly executed

It also doesn't work if I try to run GoodVibes.py directly from the site packages directory, like this:

[~/Documents/test]: sudo python3 /usr/local/anaconda3/lib/python3.6/site-packages/goodvibes/GoodVibes.py test.log
   GoodVibes v2.0.1 2018/05/15 17:52:30
   REF: Funes-Ardoiz, I.; Paton, R. S. (2016). GoodVibes: GoodVibes v1.0.2. http://doi.org/10.5281/zenodo.595246

   Temperature = 298.15 Kelvin   Pressure = 1 atmTraceback (most recent call last):
  File "/usr/local/anaconda3/lib/python3.6/site-packages/goodvibes/GoodVibes.py", line 438, in <module>
    if l_o_t[0].upper().find(scal['level'].upper()) > -1 or l_o_t[0].upper().find(scal['level'].replace("-","").upper()) > -1:
TypeError: must be str, not bytes

(Although it is possible to get the -h/--help command to work this way)

I tested this on macOS with anaconda python 3.6, as well as on openSUSE Linux with python 3.4.

That said, when I cloned the current repository and added it to my $PYTHONPATH, everything worked fine.

Thanks,

Theo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.