Giter VIP home page Giter VIP logo

dp5's Introduction

===============================================================

DP5

version 1.0

Copyright (c) 2020 Alexander Howarth, Kristaps Ermanis, Jonathan M. Goodman

distributed under MIT license

===============================================================

CONTENTS
1) Release Notes
2) Requirements and Setup
3) Usage
4) NMR Description Format
5) Included Utilites
6) Code Organization

===============================================================

RELEASE NOTES

This latest release represents a leap forward in structural uncertainty calculation through the addition of the new DP5
module. By adding this functionality to our existing state of the art DP5 software, both DP4 and DP5
probabilities can be calculated alongside each other fully automatically.

DP5 as described in our latest paper (https://doi.org/10.1039/D1SC04406K) calculates the standalone probability of structures being correct.
If a user cannot guarantee the correct structure is in the list of proposals, DP5 calculates the probability each is
correct, quantifying this uncertainty.

When the user is certain a one of their proposals is correct i.e in the case of elucidating relative stereochemistry,
DP4 is the best metric to use, as this uses the additional information that one of the proposals must be correct.

The power of DP5 and DP4 however is greatest when they are used in conjunction as DP5 can be used to increase
reliability and confidence in the conclusions of DP4 calculations (also described in the paper).

DP5 (https://doi.org/10.1039/D1SC04406K) integrates NMR-AI, software for automatic processing, assignment
and visualisation of raw NMR data. This functionality affords fully automated DP4 analysis of databases of molecules
with no user input. DP5 also utilises a fully revised version of PyDP4 updated for Python 3 and with major workflow
improvements.

Users can now also choose to run DP5 within a Graphical user interface for increased ease of use when single DP4
calculations. This graphical user interface can also be used to explore the spectra processed and assigned by NMR-AI.
DP5 can also be utilised to perform assignments of NMR spectra for a single isomer of a molecule. These assignments
can be viewed in the graphical output from DP5 or investigated interactively using The included GUI application.

More details about the software can be found in the publication DP5 Straight from Spectrometer to Structure
(https://doi.org/10.1039/D1SC04406K) and in the accompanying supporting information.

===============================================================

REQUIREMENTS AND SETUP

All the python  files and one utility to convert to and from TINKER
nonstandard xyz file are in the attached archive. They are set up to work
from a centralised location. It is not a requirement, but it is probably
best to add the location to the PATH variable.

The script currently is set up to use MacroModel for molecular mechanics and
Gaussian for DFT and it runs Gaussian on ziggy by default. NWChem and TINKER is also supported.
This setup has several requirements.

1) One should have MacroModel or TINKER and NWChem or Gaussian.
The DP5 folder can contain settings.cfg, where the locations for the installed software packages
can be given, so that DP5 can launch them and use in the workflow. Examples on how to do
this are provided in the included settings.example - this should be renamed to settings.cfg and
any relevant changes made.

2) In order to run DP5 a python 3.6+ environment the following packages are required:
numpy scipy Cython matplotlib nmrglue statsmodels lmfit openbabel rdkit pathos qml
Additionally, the graphical user interface requires PyQT5

3) RDKit and OpenBabel are required for the automatic diastereomer generation and
other manipulations of sdf files (renumbering, ring corner flipping), as well as molecule
graphical plotting. For OpenBabel this requirement includes Python bindings.
The following links provide instructions for building OpenBabel with Python bindings:
http://openbabel.org/docs/dev/UseTheLibrary/PythonInstall.html
http://openbabel.org/docs/dev/Installation/install.html#compile-bindings
Alternatively, the OpenBabel package in conda repository has also lately become
more reliable, and is much easier to install via `conda install openbabel -c conda-forge'. Both OpenBabel 2.4.1 and 3.x are supported.

4) Finally, to run calculations on a computational cluster, a passwordless
ssh connection should be set up in both directions -
desktop -> cluster and cluster -> desktop. In most cases the modification
of the relevant functions in Gaussian.py or NWChem.py will be required
to fit your situation.

5) All development and testing was done on Linux. However, both the scripts
and all the backend software should work equally well on MacOS with minor adjustments.
Windows will require more modification, and is currently not supported.

===================

USAGE - GUI

To call the script from the Graphical User Interface

the folder containing the input files must be opened in terminal and the correct python environment activated.

the GUI is then simply called by:

python PyDP4_GUI.py

This will open the main DP5 GUI window, the user can then select the required input files and the settings for MM and
DFT calculations. The expected structure file format is *.sdf

Once the DP5 has finished all calculations the GUI will open a number of new tabs. These tabs display interactive
carbon and proton NMR spectra as processed and assigned by NMR-AI as well as interactive plots of the NMR prediction
errors and probabilities and conformer energies and populations.

===================

USAGE - Terminal

To call the script from terminal:

1) With all diastereomer generation:

PyDP4.py Candidate CandidateNMR

where Candidate is the sdf file containing 3D coordinates of the candidate
structure (without the extension).

DP5 will automatically detect whether an NMR description (see below) or raw NMR data has been provided by the user.
If raw NMR data has been provided (currently in the Bruker file format), NMR-AI will automatically process the NMR spectra
provided. In this case the NMR data should be organised into a single folder (passed to DP5) containing one or two
folders labelled Proton and (or) Carbon.

Alternatively:

PyDP4.py -w gmns Candidate CandidateNMR

The -w switch specifies the PyDP4 workflow, c specifies structure cleaning utilising RDkit, g specifies diastereomer
generation, m molecular mechanics conformational searching, o DFT geometry optimisation, n DFT NMR calculation,
e M062X single point energy calculations, s calculate DP4 statistics and w for DP5 statistics.
The default workflow is gnms, optimum workflow is gnomes. The letter a can be given in place of s, in the instance
DP5 will analyse and assign the provided NMR spectra but not calculate any probabilities.

In addition the -s switch can be used to specify the solvent for use in MM and DFT calculations. Supported solvents are
listed in the TMSdata file. Other Gaussian/Jaguar/NWChem supported solvents can be used, but only with manually interpreted
data.

PyDP4.py -s chloroform Candidate CandidateNMR

If solvent is not given, no solvent is used.

2) With explicit diastereomer/other candidate structures:

PyDP4.py Candidate1 Candidate2 Candidate3 ... CandidateNMR

The script does not attempt to generate diastereomers, simply carries out the
DP4 on the specified candidate structures.

Structures can also be added from InChI, Smiles and Smarts strings using the designated switches. For example:

PyDP4.py --InChI Candidates_inchis.inchi ... CandidateNMR

where Candidates_inchs.inchi is a text file with all the desired inchi strings on separate lines.

Script has several other switches, including switching the molecular mechanics and dft software etc.

  -m {t,m}, --mm {t,m}  Select molecular mechanics program, t for tinker or m
                        for macromodel, default is t

  -d {j,g,n,z,w}, --dft {j,g,n,z,w}
                        Select DFT program, j for Jaguar, g for Gaussian, n
                        for NWChem, z for Gaussian on ziggy, w for NWChem on
                        ziggy, default is z (jaguar is not yet implemented)

  --StepCount STEPCOUNT
                        Specify stereocentres for diastereomer generation

  -s SOLVENT, --solvent SOLVENT
                        Specify solvent to use for dft calculations

  -q QUEUE, --queue QUEUE
                        Specify queue for job submission on ziggy
			(default is s1)

  -t NTAUT, --ntaut NTAUT
                        Specify number of explicit tautomers per diastereomer
                        given in structure files, must be a multiple of
                        structure files

  -r, --rot5            Manually generate conformers for 5-memebered rings

  --ra RA               Specify ring atoms, for the ring to be rotated, useful
                        for molecules with several 5-membered rings

  --AssumeDFTDone       Assume RMSD pruning, DFT setup and DFT calculations
                        have been run already (saves time when repeating DP4
			analysis)

  -g, --GenOnly         Only generate diastereomers and tinker input files,
                        but don't run any calculations (useful for diastereomer
			generation for calculations ran on computers
			without OpenBabel)

  -c STEREOCENTRES, --StereoCentres STEREOCENTRES
                        Specify stereocentres for diastereomer generation

  -T, --GenTautomers    Automatically generate tautomers

  -o, --DFTOpt          Optimize geometries at DFT level before NMR prediction

  --pd                  Use python port of DP4

  -b BASICATOMS, --BasicAtoms BASICATOMS
                        Generate protonated states on the specified atoms and
                        consider as tautomers

More information on those can be obtained by running PyDP4.py -h

======================

NMR DESCRIPTION FORMAT

NMRFILE example begins:
59.58(C3),127.88(C11),127.52(C10),115.71(C9),157.42(C8),133.98(C23),118.22(C22),115.79(C21),158.00(C20),167.33(C1),59.40(C2),24.50(C31),36.36(C34),71.05(C37),142.14(C42),127.50(C41),114.64(C40),161.02(C39)

4.81(H5),7.18(H15),6.76(H14),7.22(H28),7.13(H27),3.09(H4),1.73(H32 or H33),1.83(H32 or H33),1.73(H36 or H35),1.73(H36 or H35),4.50(H38),7.32(H47),7.11(H46)

H15,H16
H14,H17
H28,H29
H27,H30
H47,H48
H46,H49
C10,C12
C9,C13
C22,C24
C21,C25
C41,C43
C40,C44

OMIT H19,H51

:example ends

Sections are seperated by empty lines.
1) The first section is assigned C shifts, can also be (any).
2) Second section is (un)assigned H shifts.
3) This section defines chemically equivalent atoms. Each line is a new set,
all atoms in a line are treated as equivalent, their computed shifts averaged.
4) Final section, starting with a keyword OMIT defines atoms to be ignored.
Atoms defined in this section do not need a corresponding shift in the NMR
description


=====================

CODE ORGANIZATION

PyDP4.py
file that should be called to start the DP5 workflow. Interprets the
arguments and takes care of the general workflow logic.

PyDP4_GUI.py
file that should be called to start the DP5 graphical user interface

InchiGen.py
Gets called if diastereomer and/or tautomer and/or protomer generation is
used. Called by PyDP4.py.

FiveConf.py
Gets called if automatic 5-membered cycle corner-flipping is used. Called by
PyDP4.py.

MacroModel.py
Contains all of the MacroModel specific code for input generation, calculation
execution and output interpretation. Called by PyDP4.py.

Tinker.py
Contains all of the Tinker specific code for input generation, calculation
execution and output interpretation. Called by PyDP4.py.

ConfPrune.pyx
Cython file for conformer alignment and RMSD pruning. Called by Gaussian.py
and NWChem.py

Gaussian.py
Contains all of the Gaussian specific code for input generation and calculation
execution. Called by PyDP4.py.

GaussianZiggy.py
Code specific to running Gaussian on Cambridge CMI local cluster. Called by PyDP4.py.

GaussianDarwin.py
Code specific to running Gaussian on Cambridge CSD3 HPC cluster. Called by PyDP4.py.

NWChem.py
Contains all of the NWChem specific code for input generation and calculation
execution. Called by PyDP4.py.

NMRDP4GTF.py
Takes care of all the NMR description interpretation, equivalent atom
averaging, Boltzmann averaging, tautomer population optimisation (if used)
and DP4 input preparation and running either DP4.jar or DP4.py. Called by
PyDP4.py

nmrPredictNWChem.py
Extracts NMR shifts from NWChem output files

DP4.py
Equivalent and compact port of the original DP4 java implementation to Python
of the same DP4 process. Has been updated to include multigaussian models.

DP5.py
python implementation of the DP5 probability calucaltion

Proton_processing.py/Carbon_processing.py
NMR-AI python script from processing of raw proton/carbon NMR data

Proton_assignment.py/Carbon_assignment.py
NMR-AI python script for assignment of raw proton/carbon NMR data

Proton_plotting.py/Carbon_plotting
NMR-AI python script for plotting of raw proton/carbon NMR data processed and assigned by NMR-AI

StructureInput.py
Script for cleaning structures using RDkit, generating 3d geometries and reading InChI, Smiles and SMARTS input formats

dp5's People

Contributors

howartha avatar jonathan-goodman avatar kristapse avatar ruslankotl avatar zjp 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  avatar  avatar

dp5's Issues

README might need updating

I've recently tried to use PyDP4 and I could't get it to run. One problem I've encountered is the fact that the options described in the README are different from the options presented by PyDP4 --help.

Would it be possible to describe a workflow for the case that I have (Gaussian) DFT NMR files already and would just like to run the DP4 analysis on those data?

Thanks a lot!

Tinker

@KristapsE
hello,I am very interested in your research. There was an error while running this software. I have installed Tinker and G16, and I sincerely hope to get your help and advice. My command line is ‘python3 PyDP4.py -s chloroform -w gmns -m t -f mmff KE.sdf NMR_folder’.

==========================
PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license

Settings read from settings.cfg:
SCHRODINGER:
TinkerPath: /home/node0/work/whe/tinker
NWChemPath: nwchem
GausPath: g16
['KE.sdf']
NMR_folder
NMR_path
/home/node0/work/whe/DP4-AI-master/NMR_folder
Current working directory: /home/node0/work/whe/DP4-AI-master
Initial input files: ['KE.sdf']
NMR file: [PosixPath('/home/node0/work/whe/DP4-AI-master/NMR_folder/Carbon'), PosixPath('/home/node0/work/whe/DP4-AI-master/NMR_folder/Proton')]
Workflow: gmns

Generating diastereomers...
Getting inchi from file KE.sdf
Getting inchi from file KE.sdf
Number of diastereomers to be generated: 2
Isomer 0 inchi = InChI=1S/C6H10O/c1-5-3-2-4-6(5)7/h2-3,5-7H,4H2,1H3/t5-,6-/m0/s1/f/
Isomer 1 inchi = InChI=1S/C6H10O/c1-5-3-2-4-6(5)7/h2-3,5-7H,4H2,1H3/t5-,6+/m0/s1/f/
Generated input files: ['KE1', 'KE2']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
Performing conformational search using Tinker

Setting up Tinker files...
Tinker input for KE1 prepared.
Tinker input for KE2 prepared.

Running Tinker...
/home/node0/work/whe/tinker/bin/scan KE1 0 10 20 0.00001 | tee ./KE1.tout
mmff.prm

Tinker job 1 of 2 completed.
/home/node0/work/whe/tinker/bin/scan KE2 0 10 20 0.00001 | tee ./KE2.tout
mmff.prm

Tinker job 2 of 2 completed.
KE1 is matching conformational search output for KE1
Reading KE1
Tinker output KE1 is corrupted, aborting.

AttributeError: module 'os' has no attribute 'copy'

I am using latest code ,and I met this problem,

(chem-env) root@ubuntu:/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master# python PyDP4_GUI.py
/home/wyq/anaconda3/envs/chem-env/lib/python3.6/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
from pandas.core import datetools
/root/.pyxbld/temp.linux-x86_64-3.6/pyrex/ConfPrune.c: In function ‘__pyx_f_9ConfPrune_qtrjac’:
/root/.pyxbld/temp.linux-x86_64-3.6/pyrex/ConfPrune.c:7129:10: warning: variable ‘__pyx_v_ret’ set but not used [-Wunused-but-set-variable]
double __pyx_v_ret[5][4];
^~~~~~~~~~~
QLayout: Attempting to add QLayout "" to CalculationTab "", which already has a layout
QLayout: Attempting to add QLayout "" to CalculationTab "", which already has a layout
QLayout: Attempting to add QLayout "" to CalculationTab "", which already has a layout
QLayout: Attempting to add QLayout "" to CalculationTab "", which already has a layout
Traceback (most recent call last):
File "PyDP4_GUI.py", line 665, in get_current_values
os.copy(f, self.settings.OutputFolder)
AttributeError: module 'os' has no attribute 'copy'
已放弃 (核心已转储)
(chem-env) root@ubuntu:/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master#

IndexError: list index out of range

Trying to process the 1H FID of ATP
ATP_1H_FID.tar.gz
and I get the following error.

File "/Users/danny/Documents/Codes/Python/Anslyn/Auto_NMR/NMars/H1/Proton_processing.py", line 1354, in multiproc_BIC_minimisation

higher_point = int((group[-1] + final_grouped_peaks[ind4 + 1][0]) / 2)
IndexError: list index out of range

Will spend sometime looking at it tomorrow but thought I would notify you guys since you guys understand this BIC minimization algorithm a lot better than I do.

I have also find other bugs here and there and have patched them to suit my needs. In particular with the solvent (D2O) and reference (TMS) signal removal. Would love to discuss/contribute.

Boost.Python.Argument.Error

I am currently attempting to run this program on a Mac and have been able to open up the GUI, however, once I input the files and start the calculations python will immediately crash. The error code below was displayed so I updated my boost package to boost-1.67.0-py37_4 however this did not appear to have any effect.

Boost.Python.ArgumentError: Python argument types in rdkit.Chem.rdinchi.MolToInchi(NoneType, str) did not match C++ signature: MolToInchi(RDKit::ROMol mol, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > options='')

I have minimal experience working with python so any insight into this issue would be really appreciated.

Problem while running Tinker

PyDP4.py -f mmff -w gnomesw -m t -s b3lyp --InChI Inchis.inchi experimental_nmr_files

Setting up Tinker files...
Tinker input for InChI_Mol_0_0 prepared.

Running Tinker...
/appl/soft/chem/tinker/bin/scan InChI_Mol_0_0 /appl/soft/chem/tinker/params/mmff.prm 0 10 20 0.00001 | tee ./InChI_Mol_0_0.tout
Tinker job 1 of 1 completed.
InChI_Mol_0_0 is matching conformational search output for InChI_Mol_0_0
Reading InChI_Mol_0_0
Tinker output InChI_Mol_0_0 is corrupted, aborting.

The /appl/soft/chem/tinker/bin/scan InChI_Mol_0_0 /appl/soft/chem/tinker/params/mmff.prm 0 10 20 0.00001 | tee ./InChI_Mol_0_0.tout gives following

 INITROT  --  Rotation about     6     7 occurs more than once in Z-matrix

 Tinker is Unable to Continue; Terminating the Current Calculation

thinker hang out long time

(base) founder@ubuntu:~/IP4$ python ../DP4-AI-master/PyDP4.py -s chloroform -w gmns -m t -f mmff IP4_.sdf NMR_folder

PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license

settings.cfg is missing!
['IP4_.sdf']
NMR_folder
NMR_path
/home/founder/IP4/NMR_folder
Current working directory: /home/founder/IP4
Initial input files: ['IP4_.sdf']
NMR file: [PosixPath('/home/founder/IP4/NMR_folder/Carbon'), PosixPath('/home/founder/IP4/NMR_folder/Proton')]
Workflow: gmns

Generating diastereomers...
Getting inchi from file IP4_.sdf
Getting inchi from file IP4_.sdf
Number of diastereomers to be generated: 2
Isomer 0 inchi = InChI=1S/C6H10O/c1-5-3-2-4-6(5)7/h2-3,5-7H,4H2,1H3/t5-,6-/m0/s1/f/
Isomer 1 inchi = InChI=1S/C6H10O/c1-5-3-2-4-6(5)7/h2-3,5-7H,4H2,1H3/t5-,6+/m0/s1/f/
Generated input files: ['IP4_1', 'IP4_2']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
Performing conformational search using Tinker

Setting up Tinker files...
Tinker input for IP4_1 prepared.
Tinker input for IP4_2 prepared.

Running Tinker...
/home/founder/DP4-AI-master/bin/scan IP4_1 0 10 20 0.00001 | tee ./IP4_1.tout

I have spent a lot of time in scan, something wrong in my environment ,what can i fix it. Thanks

Installing the DP4-AI GUI on Windows for a less-experienced user

I would like to try out the DP4-AI on some Bruker NMR files using the GUI but I am unsure on how to correctly install it.

My programming/python skills are quite limited and I've started to follow the Anaconda instructions detailed in Issue #12 but I got stuck because I'm not sure where and how I can create an virtual environment, in particular how to 'launch' :

conda create --name dp4 for example

Any help with getting the GUI running would be great!

PyDP4: "no jobs to run"

I would like to use the new tool PyDP4.py to test my NMR data against a number of diastereomer to see if DP4 can help me find to the correct one. I am using it for the first time, so my problem is probably obvious.

I believe I have all of the python requirements correctly installed.
I have access to NWchem-7 and I have a single macromodel+maestro/schrodinger license.

I have generated my candidate diastereomers by hand (diastXX.sdf) and generated conformer ensembles with macromodel (diast-ensXX.sdf). In the workflow, I would in principle need at a minimum two more steps "-w ns" (n=DFT NMR calculation, s=calculate DP4 statistics).

For testing locally from the command prompt, I give the command:
python /hsnfs/software/DP5/PyDP4.py -w ns -s chloroform -d n diast-ensRR diast-ensRS nmrdata
but I get this output after a few seconds:

==========================
PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license

Settings read from settings.cfg:
SCHRODINGER: /opt/schrodinger2020-4/
['diast-ensRR', 'diast-ensRS']
nmrdata
NMR_path
/hsnfs/users/fares/MFA-scaB/DP5/nmrdata
Current working directory: /hsnfs/users/fares/MFA-scaB/DP5
Initial input files: ['diast-ensRR', 'diast-ensRS']
NMR file: [PosixPath('/hsnfs/users/fares/MFA-scaB/DP5/nmrdata')]
Workflow: ns
Generated input files: ['diast-ensRR', 'diast-ensRS']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
No conformational search was requested. Skipping...

Setting up NMR calculations...

Running NMR calculations...

Running NWChem DFT NMR calculations locally...
[]
[]
There were no jobs to run.

Reading data from the output files...
NWChem.py, ReadShieldings: No NMR DFT output files found, NMR data could not be read. Quitting.

What am I doing incorrectly?

sdf2tinkerxyz Error

Dear Developer,

When I use tinker as conformational search engine, there are some wrong with sdf2tinkerxyz.

The command I used was:

PyDP4.py -w m -m t -f mmff ANPN-D-4-60 Carbon_NMR
==========================
PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license
==========================

Settings read from settings.cfg:
  TinkerPath: /home/cloudam/software/tinker
  GausPath: g16
['ANPN-D-4-60']
Carbon_NMR
NMR_path
/home/cloudam/work/dp4/tinker/Carbon_NMR
Current working directory: /home/cloudam/work/dp4/tinker
Initial input files: ['ANPN-D-4-60']
NMR file: [PosixPath('/home/cloudam/work/dp4/tinker/Carbon_NMR/uxnmr_1.par')]
Workflow: m
Generated input files: ['ANPN-D-4-60']

Assuming all computations are done? ...  False
Using preexisting DFT data? ...  False
Performing conformational search using Tinker

Setting up Tinker files...
/bin/sh: /home/cloudam/software/DP4-AI/sdf2tinkerxyz: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Traceback (most recent call last):
  File "/home/cloudam/software/DP4-AI/PyDP4.py", line 718, in <module>
    main(settings)
  File "/home/cloudam/software/DP4-AI/PyDP4.py", line 206, in main
    TinkerInputs = Tinker.SetupTinker(settings)
  File "/home/cloudam/software/DP4-AI/Tinker.py", line 56, in SetupTinker
    outp = subprocess.check_output(convinp + inpf + '.sdf', shell=True)
  File "/home/cloudam/rdkit2020/lib/python3.6/subprocess.py", line 356, in check_output
    **kwargs).stdout
  File "/home/cloudam/rdkit2020/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '/home/cloudam/software/DP4-AI/sdf2tinkerxyz -k /home/cloudam/software/DP4-AI/default.key <ANPN-D-4-60.sdf' returned non-zero exit status 126.
(/home/cloudam/rdkit2020) [cloudam@master tinker]$ /home/cloudam/software/DP4-AI/sdf2tinkerxyz -k /home/cloudam/software/DP4-AI/default.key <ANPN-D-4-60.sdf
-bash: /home/cloudam/software/DP4-AI/sdf2tinkerxyz: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

And then I type:

sdf2tinkerxyz -k /home/cloudam/software/DP4-AI/default.key <ANPN-D-4-60.sdf
-bash: /home/cloudam/software/DP4-AI/sdf2tinkerxyz: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

How can I fix it?

Thank you very much,

Gaokeng Xiao

subprocess.CalledProcessError: Command '/root/opt/gaussian/g16/g16 < ./spectrum/struct/S-3dstructure1ginp001.com > ./spectrum/struct/S-3dstructure1ginp001.out' returned non-zero exit status 2.

(chem-env) root@ubuntu:/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master# python PyDP4.py -w gnomes ./spectrum/struct/S-3dstructure.sdf /home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/spectrum/shouxingputu
/home/wyq/anaconda3/envs/chem-env/lib/python3.6/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
from pandas.core import datetools

PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license

Settings read from settings.cfg:
SCHRODINGER: /app/schrodinger2018-1
TinkerPath: /home/ke291/TINKER/
NWChemPath: nwchem
GausPath: /root/opt/gaussian/g16/g16
['./spectrum/struct/S-3dstructure.sdf']
/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/spectrum/shouxingputu
NMR_path
Current working directory: /home/wyq/Downloads/DP4-AI-master3/DP4-AI-master
Initial input files: ['./spectrum/struct/S-3dstructure.sdf']
NMR file: [PosixPath('/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/spectrum/shouxingputu/Carbon'), PosixPath('/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/spectrum/shouxingputu/Proton')]
Workflow: gnomes

Generating diastereomers...
Getting inchi from file ./spectrum/struct/S-3dstructure.sdf
Getting inchi from file ./spectrum/struct/S-3dstructure.sdf
Number of diastereomers to be generated: 1
Isomer 0 inchi = InChI=1S/C16H20O/c1-16(11-13-7-3-2-4-8-13)12-17-15-10-6-5-9-14(15)16/h5-7,9-10H,2-4,8,11-12H2,1H3/t16-/m1/s1/f/
Generated input files: ['./spectrum/struct/S-3dstructure1']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
Performing conformational search using MacroModel

Setting up MacroModel files...
Macromodel input for ./spectrum/struct/S-3dstructure1 prepared.
MacroModel inputs: ['./spectrum/struct/S-3dstructure1.mae']
Running MacroModel...
Valid ./spectrum/struct/S-3dstructure1.log exists, skipping...

Reading conformers...
./spectrum/struct/S-3dstructure1.log is matching conformational search output for ./spectrum/struct/S-3dstructure1
Energy window: 10.0 kJ/mol
./spectrum/struct/S-3dstructure1: 22 conformers read within energy window

Pruning conformers...
./spectrum/struct/S-3dstructure1: 22 conformers after pruning with 0A RMSD cutoff

Setting up geometry optimization calculations...
jobdir /home/wyq/Downloads/DP4-AI-master3/DP4-AI-master

Running geometry optimization calculations...

Running Gaussian DFT geometry optimizations locally...
/root/opt/gaussian/g16/g16 < ./spectrum/struct/S-3dstructure1ginp001.com > ./spectrum/struct/S-3dstructure1ginp001.out
/bin/sh: 1: cannot open ./spectrum/struct/S-3dstructure1ginp001.com: No such file
Traceback (most recent call last):
File "PyDP4.py", line 718, in
main(settings)
File "PyDP4.py", line 255, in main
Isomers = DFT.RunOptCalcs(Isomers, settings)
File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/Gaussian.py", line 258, in RunOptCalcs
Completed = RunCalcs(GausJobs, settings)
File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/Gaussian.py", line 313, in RunCalcs
outp = subprocess.check_output(GausPrefix + " < " + f + ' > ' + f[:-3] + 'out', shell=True)
File "/home/wyq/anaconda3/envs/chem-env/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/home/wyq/anaconda3/envs/chem-env/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '/root/opt/gaussian/g16/g16 < ./spectrum/struct/S-3dstructure1ginp001.com > ./spectrum/struct/S-3dstructure1ginp001.out' returned non-zero exit status 2.
(chem-env) root@ubuntu:/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master#

TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'

I'm receiving the above error and the following traceback when attempting to run from the GUI:

Traceback (most recent call last):
File "PyDP4_GUI.py", line 666, in get_current_values
shutil.copyfile(f, self.settings.OutputFolder + os.path.sep + f)
TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
Abort trap: 6

This occurs when I include a structure, NMR directory, and output file with nwchem and tinker. If I omit the structure, I don't get the above error and instead see:

Segmentation fault: 11

Happy to provide more details as necessary. Thanks!

Problem with running Macromodel

Error generated while running PyDP4.py -w gnomes -s b3lyp --InChI Candidates_inchis.inchi experimental_nmr_files:

Files generated:
InChI_Mol_0_0.mae
InChI_Mol_0_0.sdf
InChI_Mol_0_0.sdf.com

.....
Running MacroModel...
/appl/soft/chem/schrodinger/2021.3/bmin InChI_Mol_0_0
Traceback (most recent call last):
  File "/scratch/project_2003067/DP5/DP5/PyDP4.py", line 835, in <module>
    main(settings)
  File "/scratch/project_2003067/DP5/DP5/PyDP4.py", line 281, in main
    MacroModelOutputs = MacroModel.RunMacroModel(MacroModelInputs, settings)
  File "/scratch/project_2003067/DP5/DP5/MacroModel.py", line 154, in RunMacroModel
    outp = subprocess.check_output(MMPrefix + isomer, shell=True)
  File "/scratch/project_2003067/DP5/DP5_env/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/scratch/project_2003067/DP5/DP5_env/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '/appl/soft/chem/schrodinger/2021.3/bmin InChI_Mol_0_0' returned non-zero exit status 1.

Apparently the command should be bmin InChI_Mol_0_0 .sdf instead of bmin InChI_Mol_0_0

So for this to work, replace the following lines in MacroModel.py:

    Line 153 to: print(MMPrefix + isomer + '.sdf')
    Line 154 to: outp = subprocess.check_output(MMPrefix + isomer + '.sdf' , shell=True)

Then it complains about the mae-file it can't find, because it is looking for InChI_Mol_0_0.sdf.mae but there is only InChI_Mol_0_0.mae ..

When this is corrected by replacing line:

Line 54 to: outp = subprocess.check_output(convinp + f + ' -omae ' + f +

MacroModel.py.patch.tar.gz

This then hangs with the IsMMCompleted -loop. Any ideas? @HowarthA

openbabel fail

  1. Command
PyDP4.py -w moenas -m t -f mmff ANPN-D-4-60 NMRexp
  1. Results
==========================
PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license
==========================


Settings read from settings.cfg:
  TinkerPath: /home/cloudam/software/tinker
  NWChemPath: /public/software/.local/easybuild/software/NWChem/7.0.0-intel-2019b-Python-3.7.4/bin/nwchem
  GausPath: g16
['ANPN-D-4-60']
NMRexp
NMR_path
/home/cloudam/work/dp4/tinker/NMRexp
Current working directory: /home/cloudam/work/dp4/tinker
Initial input files: ['ANPN-D-4-60']
NMR file: [PosixPath('/home/cloudam/work/dp4/tinker/NMRexp/Carbon'), PosixPath('/home/cloudam/work/dp4/tinker/NMRexp/Proton')]
Workflow: moenas
Generated input files: ['ANPN-D-4-60']

Assuming all computations are done? ...  False
Using preexisting DFT data? ...  False
Performing conformational search using Tinker

Setting up Tinker files...
Tinker input for ANPN-D-4-60 prepared.

Running Tinker...
Output files for ANPN-D-4-60 already exist, skipping.
ANPN-D-4-60 is matching conformational search output for ANPN-D-4-60
Reading ANPN-D-4-60
Number of accepted conformers by energies: 3

Pruning conformers...
ANPN-D-4-60: 3 conformers after pruning with 0A RMSD cutoff

Setting up geometry optimization calculations...

Running geometry optimization calculations...

Running Gaussian DFT geometry optimizations locally...
There were no jobs to run.

Reading DFT optimized geometries...

Setting up energy calculations...

Running energy calculations...

Running Gaussian DFT energy calculations locally...
There were no jobs to run.

Reading data from the output files...
Energies:
ANPN-D-4-60: [-884.521215126, -884.527271401, -884.527271572]

Setting up NMR calculations...

Running NMR calculations...

Running Gaussian DFT NMR calculations locally...
There were no jobs to run.

Reading data from the output files...
ANPN-D-4-60ginp001.out 39
ANPN-D-4-60ginp002.out 39
ANPN-D-4-60ginp003.out 39
Shieldings:
ANPN-D-4-60:
[62.3194, 60.3087, 51.997, 23.6829, 73.2423, 43.2175, 164.7148, 139.8852, 63.7769, 105.4664, 161.8472, 179.3392, 275.6734, 148.0947, 105.6224, 96.5315, 276.0126, 165.2217, 160.5147, 24.8764, 25.4464, 25.3536, 30.1592, 29.6195, 29.6452, 30.5386, 30.8459, 31.0085, 30.2244, 29.7763, 29.7107, 28.0947, 31.5766, 31.4717, 30.7825, 30.2332, 31.3648, 31.0032, 30.9445]
[61.2745, 59.7375, 51.8604, 25.5316, 73.5456, 42.8489, 164.7852, 143.0776, 63.5141, 106.318, 161.7994, 180.8671, 276.0335, 147.9975, 106.9287, 94.5876, 271.0432, 163.3829, 160.6511, 24.8264, 25.5456, 25.2899, 30.1417, 29.6307, 29.6567, 30.5276, 30.8155, 31.0478, 30.1424, 29.7762, 30.006, 28.199, 30.0001, 30.9683, 30.8965, 30.4719, 31.153, 31.0626, 30.8774]
[61.2721, 59.7377, 51.8605, 25.5324, 73.5454, 42.8487, 164.7849, 143.086, 63.5146, 106.3177, 161.799, 180.8647, 276.0393, 147.9986, 106.928, 94.5878, 271.0428, 163.3817, 160.6509, 24.8264, 25.5456, 25.2899, 30.1416, 29.6311, 29.6564, 30.5275, 30.8155, 31.0477, 30.1423, 29.7764, 30.0061, 28.199, 29.9998, 30.9681, 30.8965, 30.4721, 31.1529, 31.0627, 30.8774]
Energies:
ANPN-D-4-60: [-884.521215126, -884.527271401, -884.527271572]

Setting TMS computational NMR shielding constant references
Setting TMS references to 188.029225 and 32.1352666667



Converting DFT data to NMR shifts...
[0.0008182710704141058, 0.4995456245645381, 0.49963610436504774]
WARNING: NMR shift calculation currently ignores the instruction to exclude atoms from analysis
C shifts for isomer 0:
126.779, 128.315, 136.194, 162.529, 114.506, 145.207, 23.249, 124.538, 81.727, 26.235, 40.039, 81.117, 93.458, 24.650, 27.383
H shifts for isomer 0:
7.309, 6.590, 6.846, 1.994, 2.504, 2.479, 1.608, 1.320, 1.088, 1.993, 2.359, 2.130, 3.936, 2.134, 1.167, 1.239, 1.664, 0.982, 1.073, 1.258

Reading experimental NMR data...
[PosixPath('/home/cloudam/work/dp4/tinker/NMRexp/Carbon'), PosixPath('/home/cloudam/work/dp4/tinker/NMRexp/Proton')]
Processing Spectrum
autocorrelation distance = 3
convolution
initial peak picking
generating binary map
estimating phase angles
peak picking by region
/home/cloudam/rdkit2020/lib/python3.6/site-packages/scipy/stats/_continuous_distns.py:354: RuntimeWarning: Mean of empty slice.
  loc = data.mean()
/home/cloudam/rdkit2020/lib/python3.6/site-packages/numpy/core/_methods.py:170: RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)
/home/cloudam/rdkit2020/lib/python3.6/site-packages/scipy/stats/_continuous_distns.py:359: RuntimeWarning: Mean of empty slice.
  scale = np.sqrt(((data - loc)**2).mean())
Linear regression
final phasing
/home/cloudam/rdkit2020/lib/python3.6/site-packages/scipy/interpolate/fitpack2.py:627: ComplexWarning: Casting complex values to real discards the imaginary part
  xe=bbox[1], s=0)
length y data 130792
length xdata 130792
Processing Spectrum
autocorrelation distance = 7
done
done
done
corrected
peak picking
     gradient peak picking
done
     resetting region boundries, distance = 490
     done region 1of50
     done region 2of50
     done region 3of50
     done region 4of50
     done region 5of50
     done region 6of50
     done region 7of50
     done region 8of50
     done region 9of50
     done region 10of50
     done region 11of50
     done region 12of50
     done region 13of50
     done region 14of50
     done region 17of50
     done region 18of50
     done region 16of50
     done region 15of50
     done region 19of50
     done region 20of50
     done region 21of50
     done region 22of50
     done region 23of50
     done region 24of50
     done region 25of50
     done region 26of50
     done region 28of50
     done region 27of50
     done region 29of50
     done region 30of50
     done region 31of50
     done region 32of50
     done region 33of50
     done region 34of50
     done region 35of50
     done region 36of50
     done region 37of50
     done region 38of50
     done region 41of50
     done region 42of50
     done region 43of50
     done region 44of50
     done region 46of50
     done region 45of50
     done region 48of50
     done region 50of50
     done region 49of50
     done region 40of50
     done region 39of50
     done region 47of50
minimisation time = 0.3921358108520508 mins
simulating spectrum
     number of protons = 20
==============================
*** Open Babel Error  in ReadFile
  Cannot read from ANPN-D-4-60
     number of labile protons = 0
exact [0.01, 0.01, 0.04, 0.51, 0.02, 0.11, 0.02, 0.02, 0.04, 0.03, 14.69, 14.53, 0.02, 0.08, 0.37, 0.16, 0.03, 0.4, 0.05, 0.59, 0.01, 0.49, 281.46, 0.49, 1.35, 11.11, 0.01, 0.01, 0.02, 0.2, 10.55, 11.59, 144.65, 0.05, 0.71, 0.53, 0.01, 0.04, 1.18, 0.32, 16.83, 10.61, 269.95, 141.41, 13.07, 2.82, 1.49, 2.32, 0.24]
the best fit number of protons is 24
/home/cloudam/software/DP4-AI/Proton_processing.py:1581: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  whdel = np.where(picked_peaks == peaks_to_remove)
/home/cloudam/software/DP4-AI/Proton_processing.py:1581: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  whdel = np.where(picked_peaks == peaks_to_remove)
/home/cloudam/rdkit2020/lib/python3.6/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  return array(a, dtype, copy=False, order=order)
/home/cloudam/rdkit2020/lib/python3.6/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  return array(a, dtype, copy=False, order=order)
/home/cloudam/rdkit2020/lib/python3.6/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  return array(a, dtype, copy=False, order=order)

Assigning carbon spectrum...

Plotting carbon spectrum...
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, webgl, xcb.

Aborted
  1. Problem

A open babel error occurs showed as following:

minimisation time = 0.3921358108520508 mins
simulating spectrum
     number of protons = 20
==============================
*** Open Babel Error  in ReadFile
  Cannot read from ANPN-D-4-60
     number of labile protons = 0

Request for a right file

Hello,

I have opened PyDP4_GUI.py to see the GUI platform, but when i try to imput my data and choose options to run the program, it always crash after i push the 'Calculate' buttom. Im not a professional of computational chemistry, but i realy want to experience this magic function. Could you give a successful file for example please.

Thank a lot.

UnboundLocalError: local variable 'atoms' referenced before assignment

File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/Gaussian.py", line 560, in ReadGeometries
iso.Atoms = atoms
UnboundLocalError: local variable 'atoms' referenced before assignment

can fixed like

for iso in Isomers:

        iso.DFTConformers = [[] for x in iso.OptOutputFiles]
        atoms=[]

        for num, GOutpFile in enumerate(iso.OptOutputFiles):

            atoms, coords = ReadGeometry(GOutpFile)

            iso.DFTConformers[num] = coords

        iso.Atoms = atoms

Gaussian Output format

Hello,

I have been attempting to use the PyDP4 script to supplement my current research.

When performing the DFT calculations in G09, the output files that it generated were in the .log format. Is it possible to run PyDP4 with these Gaussian output files as opposed to the .out files?

Any help would be appreciated.

Liam

DP4-AI on Computational Clusters

In the code of PyDP4.py there is a section on computational clusters that says "This should probably be moved to relevant *.py files as[ it's ] Cambridge specific"

What was your original concept for what these *.py files would do? I'm working on a script to generate job files for XSEDE supercomputers in the United States, but it's easier to write an expert system with more than one example in mind.

calculating 1H J-coupling constants

This is more of a question than an issue. I am having a hard time figuring out how to tell nwchem to calculate not just the chemical shift for protons but also the coupling constants. How can I use the cli to also get the coupling constants?

Danny

Tinker error for ethylbenzene

Trying to run the program with ethylbenzene (smiles: CCc1ccccc1) and Carbon experimental data:

PyDP4.py -f mmff -w gnomesw -s chloroform -m t --Smiles ./ebb.smiles ./exper/test/

Running Tinker...
/appl/soft/chem/tinker/bin/scan Smiles_Mol_0_0 /appl/soft/chem/tinker/params/mmff.prm 0 10 20 0.00001 | tee ./Smiles_Mol_0_0.tout
Tinker job 1 of 1 completed.
Smiles_Mol_0_0 is matching conformational search output for Smiles_Mol_0_0
Reading Smiles_Mol_0_0
Tinker output Smiles_Mol_0_0 is corrupted, aborting.

Edit: same results with InChI. If I add other heteroatom there, it runs the program.
Edit2:

CCCCc1ccccc1 <-- works
CCCc1ccccc1 <-- doesn't work
CCc1ccccc1 <-- doesn't work
Cc1ccccc1 <-- doesn't work
c1ccccc1 <--- doesnt't work

Basically anything smaller than CCCc1ccccc1 doesn't work.

Tinker

I'm trying to generalize this line in PyDP4.py:

94: TinkerPath = '/home/ah809/Downloads/tinker/' # Define the root folder for Tinker software

But I'm having trouble finding Tinker, or maybe a correct copy of it. The version that my package manager installs includes just the params folder; I see no /bin/scan

Where did you get your copy of Tinker?

OSError: Bad input file /home/l3ul/Downloads/dp4/AT1_.sdf

Initial input files: ['AT1_.sdf']
NMR file: NMR_folder
Workflow: gmona
Generating diastereomers...
Get inchi f AT1_.sdf
Traceback (most recent call last):
File "PyDP4_GUI.py", line 2001, in runPyDP4
self.NMRData, self.Isomers, self.settings, self.DP4Data = PyDP4.main(ui.table_widget.Tab1.settings)
File "/home/l3ul/Downloads/dp4/PyDP4.py", line 189, in main
settings.InputFiles = InchiGen.GenDiastereomers(settings.InputFiles[0], settings.SelectedStereocentres)
File "/home/l3ul/Downloads/dp4/InchiGen.py", line 296, in GenDiastereomers
inchi, aux = GetInchi(f)
File "/home/l3ul/Downloads/dp4/InchiGen.py", line 167, in GetInchi
m = Chem.MolFromMolFile(cwd + '/' + f ,removeHs = False)
OSError: Bad input file /home/l3ul/Downloads/dp4/AT1_.sdf

I'm on a Debian 10.3 VM (Windows 10 host) using Conda.

nwchem error

Hi,
today I did my first attempt to run DP4-AI with one of the molecules mentioned in the paper (IP1).
This where the settings in the GUI:
X Generate Diastereomers
X Solvent: choloroform
X Molecular Mechanics: MacroModel
X DFT Calculations: NWChem
X NMR Assignment
X DP4 Statistics

Until the DFT Calculations everything works well but when NWChem is running its first job the whole process stops.
This is the error message in the terminal:
0:cosmo_input: solvent:Received an Error in Communication Traceback (most recent call last): File "PyDP4_GUI.py", line 2130, in runPyDP4 self.NMRData, self.Isomers, self.settings, self.DP4Data = PyDP4.main(ui.table_widget.Tab1.settings) File "/home/DP4-AI/PyDP4.py", line 291, in main Isomers = DFT.RunNMRCalcs(Isomers, settings) File "/home/DP4-AI/NWChem.py", line 154, in RunNMRCalcs Completed = RunCalcs(NWJobs, settings) File "/home/DP4-AI/NWChem.py", line 281, in RunCalcs 'nwo', shell=True) File "/home/anaconda3/lib/python3.7/subprocess.py", line 411, in check_output **kwargs).stdout File "/home/anaconda3/lib/python3.7/subprocess.py", line 512, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command 'nwchem IP1_1nwinp001.nw > IP1_1nwinp001.nwo' returned non-zero exit status 143. Abgebrochen (Speicherabzug geschrieben)

Input File nwchem IP1_1nwinp001.nw:

memory stack 1500 mb heap 1500 mb global 3000 mb

echo

start molecule

title "IP1_1nwinp001"
echo

start

charge 0

geometry units angstroms print xyz autosym
  C 2.752491 0.827133 2.711387
  C 3.647973 0.115704 1.679197
  C 5.061514 -0.157166 2.267454
  C 4.867011 -0.980657 3.543630
  C 3.988719 -0.295201 4.542582
  H 3.012294 1.891831 2.756528
  H 3.192389 -0.858682 1.462920
  H 5.829005 -1.207807 4.016197
  H 4.393468 -1.946588 3.337151
  O 2.892261 0.324626 4.061502
  O 4.182986 -0.390566 5.749963
  C 1.258152 0.726506 2.350990
  C 0.367164 1.491722 3.323363
  C 3.681667 0.876028 0.343969
  O 5.889824 -0.788355 1.265079
  Si 6.008200 -2.402636 0.849269
  C 6.923509 -3.392763 2.157840
  C 7.009348 -2.538200 -0.750923
  C 4.344067 -3.205553 0.526214
  H 7.114225 -3.585380 -1.048937
  H 6.509855 -1.994301 -1.557858
  H 8.007702 -2.113722 -0.611204
  H 3.738698 -3.247977 1.435561
  H 4.478585 -4.229763 0.165140
  H 3.787824 -2.649118 -0.233917
  H 7.870199 -2.907433 2.412849
  H 7.143384 -4.399584 1.790078
  H 6.330068 -3.491013 3.070540
  H 4.371870 0.413699 -0.367985
  H 3.983541 1.919081 0.481370
  H 2.696770 0.878015 -0.132765
  H 0.948138 -0.325552 2.361837
  H 1.075960 1.114254 1.344092
  H -0.678258 1.427121 3.004991
  H 0.645896 2.549622 3.359155
  H 0.432966 1.082320 4.336073
  C 5.808685 1.184836 2.589038
  C 7.162003 1.000162 3.230150
  C 7.478599 1.425388 4.459696
  H 5.986473 1.735288 1.656424
  H 5.197565 1.835720 3.223433
  H 7.918450 0.494028 2.632488
  H 8.473925 1.263984 4.863152
  H 6.760480 1.933814 5.096445
end

basis
  * library 6-311g*
end

cosmo
  do_cosmo_smd true
  solvent chloroform
end

dft
  xc mpw91 0.75 HFexch 0.25 perdew91
  mult 1
end

task dft energy

property
  shielding
end
task dft property

Error message at the end of the output file IP1_1nwinp001.nwo:

Summary of "ao basis" -> "" (cartesian)
 ------------------------------------------------------------------------------
       Tag                 Description            Shells   Functions and Types
 ---------------- ------------------------------  ------  ---------------------
 *                          6-311g*                   on all atoms 


 ------------------------------------------------------------------------
 cosmo_input: solvent                 911
 ------------------------------------------------------------------------
 input error at line   66: inp_a: string is too large for argument
   solvent chloroform
 ------------------------------------------------------------------------
  current input line : 
    66:   solvent chloroform
 ------------------------------------------------------------------------
 ------------------------------------------------------------------------
 There is an error in the input file
 ------------------------------------------------------------------------
 For more information see the NWChem manual at https://github.com/nwchemgit/nwchem/wiki


 For further details see manual section:                                                                                                                                                                                                                                                                
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI COMMUNICATOR 3 DUP FROM 0
with errorcode 911.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

Is there a way to fix this error? (I installed a precompiled version of nwchem from the official github account.)

Thanks in advance!!!

Freeze on Tinker

It looks like when DP4 gets to the Tinker processing step, it hangs because Tinker expects some manual input (a parameter file which I assume is mmff.prm). Can you verify whether this is the case for you with the newest version of Tinker? If so, I have a patch written to correct this behavior.

Request for a standard file

Hello,

I have opened PyDP4_GUI.py to see the GUI platform, but when i try to imput my data and choose options to run the program, it always crash after i push the 'Calculate' buttom. Im not a professional of computational chemistry, but i realy want to experience this magic function. Could you give a successful file for example please.

Thank a lot.
00

Error during calculating DP5 probabilities

Hello, I'm having some problems running DP5.

The command I used is :
python3 PyDP4.py -s chloroform -w mnsw -m t -f mmff S1a_ S1b_ S1_NMR

S1a_.sdf, S1b_.sdf and S1_NMR were downloaded from :
(https://www.repository.cam.ac.uk/handle/1810/326663)

Error occurred:
Calculating DP5 probabilities...
Traceback (most recent call last):
File "PyDP4.py", line 835, in
main(settings)
File "PyDP4.py", line 501, in main
DP5data = DP5.UnPickle_res(DP5data, settings)
File "/home/node0/work/whe/DP5-master/DP5.py", line 386, in UnPickle_res
data_dic = pickle.load(open(Path(Settings.OutputFolder) / "dp5" / "data_dic.p","rb"))
FileNotFoundError: [Errno 2] No such file or directory: 'dp5/data_dic.p'

Could you please give me some advice?Any assistance will be appreciated.

qml module not found

Hi, I was running DP5 on WSL-Ubuntu 20.04 LTS. When I tried to launch PyDP4.py, the following error occurred.

./PyDP4.py <...> <...>

Output:

Traceback (most recent call last):
  File "./PyDP4.py", line 39, in <module>
    import Tinker
  File "/home/eugene/workspace/dp5inst/DP5-master/Tinker.py", line 16, in <module>
    import PyDP4
  File "/home/eugene/workspace/dp5inst/DP5-master/PyDP4.py", line 41, in <module>
    import DP5 as DP5
  File "/home/eugene/workspace/dp5inst/DP5-master/DP5.py", line 2, in <module>
    import qml
ModuleNotFoundError: No module named 'qml'

How should I fix this problem?

UnboundLocalError: local variable 'labels' referenced before assignment

Managed to get DP4-AI running on a Debian VM, but I can't get it to work on Windows 10 using Conda.

Reading data from the output files...
Traceback (most recent call last):
File "PyDP4.py", line 630, in
main(settings)
File "PyDP4.py", line 296, in main
Isomers = DFT.ReadShieldings(Isomers)
File "C:\Users\L3ul\Desktop\AT1\Opt_E\Gaussian.py", line 491, in ReadShieldings
iso.ShieldingLabels = labels
UnboundLocalError: local variable 'labels' referenced before assignment

NWChem.py line 242 typo - Populating NMROutputFiles instead of OptOutputFiles.

In the RunOptCalc() function in NWChem.py I think there is a typo at line 242:

The for loop should populate isoOptOutputFiles instead of isoNMROutputFiles?

So change:

for iso in Isomers:
        iso.NMROutputFiles.extend([x[:-3] + '.nwo' for x in iso.OptInputFiles if (x[:-3] + '.nwo') in Completed])

To

for iso in Isomers:
        iso.OptOutputFiles.extend([x[:-3] + '.nwo' for x in iso.OptInputFiles if (x[:-3] + '.nwo') in Completed])

After running the RunOptCalc() and trying to ReadGeometries(), I am getting the following error:
NWChem.py, ReadGeometries: No geometry optimisation output files found, geometries could not be read. Quitting.

I believe this is because of the typo ^^.

I have encountered some problems, can anyone help me?

I am trying to use the DP5 tool for my PhD project.
I would like to know if there is a possibility to use the DP5 statistics with the data already calculated. If so, how do I enter the experimental and calculated NMR data in the program and thus manage to run DP5?

Error during import 'openbabel._openbabel'

2020-04-11_23-40-54
2020-04-11_23-35-07
Could you please kindly help to see why the errors pop-up? openbabel V 3.0 has been installed. Tried to usinstall and re-install openbabel while the error still existed.
Thanks a lot.

NWChem no jobs to run

I would like to know how to fix this problem.
Running NWChem DFT NMR calculations locally...
There were no jobs to run.
I've install NWchem, TINKER. Did I miss something?

image

UnboundLocalError: local variable 'labels' referenced before assignment

File "PyDP4.py", line 293, in main
Isomers = DFT.ReadShieldings(Isomers)
File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/Gaussian.py", line 504, in ReadShieldings
iso.ShieldingLabels = labels
UnboundLocalError: local variable 'labels' referenced before assignment

fixed by move labels=[] out second for loop

for iso in Isomers:

     labels = []
    for GOutpFile in iso.NMROutputFiles:

        gausfile = open(GOutpFile, 'r')
        GOutp = gausfile.readlines()
        gausfile.close()

        index = 0
        shieldings = []
        # labels = []

        # Find the NMR shielding calculation section
        while not 'Magnetic shielding' in GOutp[index]:
            index = index + 1

        # Read shielding constants and labels
        for line in GOutp[index:]:
            if 'Isotropic' in line:
                data = [_f for _f in line.split(' ') if _f]
                shieldings.append(float(data[4]))
                labels.append(data[1] + data[0])

        print(GOutpFile,len(shieldings))

        iso.ConformerShieldings.append(shieldings)

    iso.ShieldingLabels = labels

the Gaussian version

I have tried it for 3 days in my computer with win system. The Gaussion09 barried me from runing a test of AT2. I think there should be a .chk file to run it properly. There are somenting different between win and linux but I think It can be uesd on win. What is the version of g09,Tinker and Schrodinger? I'm very intresting and exciting for your work.

subprocess.CalledProcessError: Command '/utilities/sdconvert -isd /home/xu/Desktop/AT1_1.sdf -omae /home/xu/Desktop/AT1_1.mae' returned non-zero exit status 127.

settings.cfg is missing!
['/home/xu/Desktop/AT1_']
/home/xu/Desktop/NMR_folder/
NMR_path
Current working directory: /home/xu/Desktop/DP
Initial input files: ['/home/xu/Desktop/AT1_']
NMR file: [PosixPath('/home/xu/Desktop/NMR_folder/Proton'), PosixPath('/home/xu/Desktop/NMR_folder/Carbon')]
Workflow: gmns

Generating diastereomers...
Getting inchi from file /home/xu/Desktop/AT1_.sdf
Getting inchi from file /home/xu/Desktop/AT1_.sdf
Number of diastereomers to be generated: 2
Isomer 0 inchi = InChI=1S/C10H19NO/c1-5-9-8(4)10(12)11(9)6-7(2)3/h7-9H,5-6H2,1-4H3/t8-,9-/m0/s1/f/
Isomer 1 inchi = InChI=1S/C10H19NO/c1-5-9-8(4)10(12)11(9)6-7(2)3/h7-9H,5-6H2,1-4H3/t8-,9+/m0/s1/f/
Generated input files: ['/home/xu/Desktop/AT1_1', '/home/xu/Desktop/AT1_2']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
MacroModel

Setting up MacroModel files...
Could not find Schrodinger folder, please fill in PyDP4.py Settings with the path.
/bin/sh: 1: /utilities/sdconvert: not found
Traceback (most recent call last):
File "PyDP4.py", line 841, in
main(settings)
File "PyDP4.py", line 278, in main
MacroModelInputs = MacroModel.SetupMacroModel(settings)
File "/home/xu/Desktop/DP/MacroModel.py", line 60, in SetupMacroModel
'.mae', shell=True)
File "/home/xu/miniconda3/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/home/xu/miniconda3/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '/utilities/sdconvert -isd /home/xu/Desktop/AT1_1.sdf -omae /home/xu/Desktop/AT1_1.mae' returned non-zero exit status 127.
——————————————————————————————
hello, I run data downloading from https://www.repository.cam.ac.uk,but encounter some issues as shown above ,
thank you!

nwchem on multiple processors

Hi,
I'm running PyDP4-AI with TINKER and nwchem and I noticed that nwchem is only running on a single CPU.
Is it possible to modify the nwchem command in NWChem.py to use mpi? Will the script still be able to correctly read the output?

FileNotFoundError: [Errno 2] No such file or directory: './spectrum/struct/S-3dstructure1ginp001.com'

I use terminal run Dp4 and I met this problem ,I searched all my ubuntu and I did not find any
S-3dstructure1ginp001.com file !

(chem-env) root@ubuntu:/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master# python PyDP4.py -w gnomes ./spectrum/struct/S-3dstructure.sdf ./spectrum/shouxingputu/
/home/wyq/anaconda3/envs/chem-env/lib/python3.6/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
from pandas.core import datetools

PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license

Settings read from settings.cfg:
SCHRODINGER: /app/schrodinger2018-1
TinkerPath: /home/ke291/TINKER/
NWChemPath: nwchem
GausPath: /root/opt/gaussian/g16
['./spectrum/struct/S-3dstructure.sdf']
./spectrum/shouxingputu/
NMR_path
Current working directory: /home/wyq/Downloads/DP4-AI-master3/DP4-AI-master
Initial input files: ['./spectrum/struct/S-3dstructure.sdf']
NMR file: [PosixPath('spectrum/shouxingputu/Carbon'), PosixPath('spectrum/shouxingputu/Proton')]
Workflow: gnomes

Generating diastereomers...
Getting inchi from file ./spectrum/struct/S-3dstructure.sdf
Getting inchi from file ./spectrum/struct/S-3dstructure.sdf
Number of diastereomers to be generated: 1
Isomer 0 inchi = InChI=1S/C16H20O/c1-16(11-13-7-3-2-4-8-13)12-17-15-10-6-5-9-14(15)16/h5-7,9-10H,2-4,8,11-12H2,1H3/t16-/m1/s1/f/
Generated input files: ['./spectrum/struct/S-3dstructure1']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
Performing conformational search using MacroModel

Setting up MacroModel files...
Macromodel input for ./spectrum/struct/S-3dstructure1 prepared.
MacroModel inputs: ['./spectrum/struct/S-3dstructure1.mae']
Running MacroModel...
/app/schrodinger2018-1/bmin ./spectrum/struct/S-3dstructure1
Macromodel job 1 of 1 completed.

Reading conformers...
./spectrum/struct/S-3dstructure1.log is matching conformational search output for ./spectrum/struct/S-3dstructure1
Energy window: 10.0 kJ/mol
./spectrum/struct/S-3dstructure1: 22 conformers read within energy window

Pruning conformers...
./spectrum/struct/S-3dstructure1: 22 conformers after pruning with 0A RMSD cutoff

Setting up geometry optimization calculations...
Traceback (most recent call last):
File "PyDP4.py", line 718, in
main(settings)
File "PyDP4.py", line 253, in main
Isomers = DFT.SetupOptCalcs(Isomers, settings)
File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/Gaussian.py", line 126, in SetupOptCalcs
WriteGausFile(filename, iso.Conformers[num], iso.Atoms, charge, settings, 'opt')
File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/Gaussian.py", line 326, in WriteGausFile
f = open(Gausinp + '.com', 'w')
FileNotFoundError: [Errno 2] No such file or directory: './spectrum/struct/S-3dstructure1ginp001.com'
(chem-env) root@ubuntu:/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master#

AttributeError: 'PyDP4WorkerObject' object has no attribute 'log_file'

when I run python PyDP4_GUI.py in DP4-AI-master source code dir,problem occur,
I put *.sdf and other data in other dir not in DP4-AI-master source code dir

(chem-env) root@ubuntu:/home/wyq/Downloads/Dp4-2/DP4-AI-master# python PyDP4_GUI.py
/home/wyq/anaconda3/envs/chem-env/lib/python3.6/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
from pandas.core import datetools
/root/.pyxbld/temp.linux-x86_64-3.6/pyrex/ConfPrune.c: In function ‘__pyx_f_9ConfPrune_qtrjac’:
/root/.pyxbld/temp.linux-x86_64-3.6/pyrex/ConfPrune.c:7129:10: warning: variable ‘__pyx_v_ret’ set but not used [-Wunused-but-set-variable]
double __pyx_v_ret[5][4];
^~~~~~~~~~~
Traceback (most recent call last):
File "PyDP4_GUI.py", line 1026, in append_text
self.worker.log_file.write(text)
AttributeError: 'PyDP4WorkerObject' object has no attribute 'log_file'
已放弃 (核心已转储)

Issue calling GUI

Hello,

I'm having trouble opening the GUI. Calling PyDP4_GUI.py results in the below output:

Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\openbabel\openbabel.py", line 27, in swig_import_helper
return importlib.import_module(mname)
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'openbabel._openbabel'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "PyDP4_GUI.py", line 4, in
import PyDP4
File "c:\Users\user\Desktop\DP4-AI-master\DP4-AI-master\PyDP4.py", line 38, in
import NMR
File "c:\Users\user\Desktop\DP4-AI-master\DP4-AI-master\NMR.py", line 23, in
from Proton_processing import process_proton
File "c:\Users\user\Desktop\DP4-AI-master\DP4-AI-master\Proton_processing.py", line 8, in
from openbabel import *
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\openbabel_init_.py", line 3, in
from . import openbabel
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\openbabel\openbabel.py", line 30, in
_openbabel = swig_import_helper()
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\openbabel\openbabel.py", line 29, in swig_import_helper
return importlib.import_module('openbabel')
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\importlib_init
.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: DLL load failed: The specified module could not be found.

Any assistance will be appreciated.

sdf2tinkerxyz on large molecules

I've been encountering issues getting sdf2tinkerxyz (both the older Linux version and the newer Darwin version) to properly assign some hydrogens to their environment. I'm not sure what's causing it to be confused, but the result is that the entire pipeline stalls after Tinker crashes.

I've written some code to get around this by not adding those damaged files to the array of Tinker inputs, but I wonder whether you think this is a good solution. Are all inputs necessary?

Screen Shot 2020-07-24 at 11 23 08 AM

g16 returned non-zero exit status 139

/DP4-AI-master# python PyDP4_GUI.py
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QLayout: Attempting to add QLayout "" to TabWidget "", which already has a layout

PyDP4 script,
integrating Tinker/MacroModel,
Gaussian/NWChem and DP4
v1.0

Copyright (c) 2015-2019 Kristaps Ermanis, Alexander Howarth, Jonathan M. Goodman
Distributed under MIT license

Initial input files: ['R-3dstructure.sdf']
NMR file: shouxingputu
Workflow: gmo

Generating diastereomers...
Getting inchi from file R-3dstructure.sdf
Getting inchi from file R-3dstructure.sdf
Number of diastereomers to be generated: 1
Isomer 0 inchi = InChI=1S/C16H20O/c1-16(11-13-7-3-2-4-8-13)12-17-15-10-6-5-9-14(15)16/h5-7,9-10H,2-4,8,11-12H2,1H3/t16-/m0/s1/f/
Generated input files: ['R-3dstructure1']

Assuming all computations are done? ... False
Using preexisting DFT data? ... False
Performing conformational search using MacroModel

Setting up MacroModel files...
Macromodel input for R-3dstructure1 prepared.
MacroModel inputs: ['R-3dstructure1.mae']
Running MacroModel...
Valid R-3dstructure1.log exists, skipping...

Reading conformers...
R-3dstructure1.log is matching conformational search output for R-3dstructure1
Energy window: 10.0 kJ/mol
R-3dstructure1: 22 conformers read within energy window

Pruning conformers...
R-3dstructure1: 22 conformers after pruning with 0A RMSD cutoff

Setting up geometry optimization calculations...

Running geometry optimization calculations...

Running Gaussian DFT geometry optimizations locally...
/root/opt/gaussian/g16/g16< R-3dstructure1ginp012.com > R-3dstructure1ginp012.out
No executable for file l1.exe.

Search path GAUSS_EXEDIR is "/root/opt/gaussian/g16"
: No such file or directory
Segmentation fault (core dumped)
Traceback (most recent call last):
File "PyDP4_GUI.py", line 2002, in runPyDP4
self.NMRData, self.Isomers, self.settings, self.DP4Data = PyDP4.main(ui.table_widget.Tab1.settings)
File "/home/wyq/Downloads/DP4-AI-master/PyDP4.py", line 258, in main
Isomers = DFT.RunOptCalcs(Isomers, settings)
File "/home/wyq/Downloads/DP4-AI-master/Gaussian.py", line 254, in RunOptCalcs
Completed = RunCalcs(GausJobs)
File "/home/wyq/Downloads/DP4-AI-master/Gaussian.py", line 295, in RunCalcs
outp = subprocess.check_output(GausPrefix + f + ' > ' + f[:-3] + 'out', shell=True)
File "/home/wyq/anaconda3/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/home/wyq/anaconda3/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '/root/opt/gaussian/g16/g16< R-3dstructure1ginp012.com > R-3dstructure1ginp012.out' returned non-zero exit status 139.
已放弃 (核心已转储)

Timeouts

I keep getting these kind of errors with even the not-so-complex molecules:

 File "/scratch/project_2003067/DP5/DP5/PyDP4.py", line 841, in <module>
    main(settings)
  File "/scratch/project_2003067/DP5/DP5/PyDP4.py", line 317, in main
    Isomers = DFT.RunOptCalcs(Isomers, settings)
  File "/scratch/project_2003067/DP5/DP5/Gaussian.py", line 254, in RunOptCalcs
    Completed = RunCalcs(GausJobs, settings)
  File "/scratch/project_2003067/DP5/DP5/Gaussian.py", line 308, in RunCalcs
    outp = subprocess.check_output(GausPrefix + " < "  + f + ' > ' + f[:-3] + 'out', shell=True)
  File "/scratch/project_2003067/DP5/DP5_env/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/scratch/project_2003067/DP5/DP5_env/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '/appl/soft/chem/gaussian/G16RevC.01_new/g16/g16 < Smiles_Mol_2_0ginp008.com > Smiles_Mol_2_0ginp008.out' returned non-zero exit status 1.

Is there any way to increase the timeout @HowarthA ?

TypeError: unsupported operand type(s) for &: 'NoneType' and 'str'

File "/home/wyq/Downloads/DP4-AI-master3/DP4-AI-master/MacroModel.py", line 134, in RunMacroModel
if shutil.which(os.path.join(settings.SCHRODINGER,'bmin')) is None & settings.SCHRODINGER != "not-installed":
TypeError: unsupported operand type(s) for &: 'NoneType' and 'str'

in MacroModel.py line 134 ,& should be and
if shutil.which(os.path.join(settings.SCHRODINGER,'bmin')) is None and settings.SCHRODINGER != "not-installed":

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.