| 
1 | 1 | import Logging  | 
2 | 2 | Logging.disable_logging(Logging.Warn)  | 
3 |  | -ENV["JULIA_CONDAPKG_BACKEND"] = "MicroMamba"  | 
4 | 3 | using CondaPkg   | 
 | 4 | +using PythonCall  | 
 | 5 | + | 
 | 6 | +include("Initialization.jl")  | 
5 | 7 | 
 
  | 
6 |  | -packages = keys(CondaPkg.current_packages())  | 
 | 8 | +has_rmgpy,has_rmgmolecule = checkmolecule()  | 
7 | 9 | 
 
  | 
8 |  | -if !("rmg" in packages) && !("rmgmolecule" in packages)  | 
 | 10 | +if !has_rmgpy && !has_rmgmolecule  | 
9 | 11 |     @info "missing rmg and rmgmolecule installing rmgmolecule..."  | 
10 |  | -    if "python" in packages  | 
11 |  | -        py_version = VersionNumber(CondaPkg.current_packages()["python"][:version])  | 
12 |  | -    else  | 
13 |  | -        py_version = nothing  | 
14 |  | -    end  | 
15 |  | -    if py_version === nothing || !(v"3.7" <= py_version && py_version <= v"3.9")  | 
16 |  | -        @info "python version was not in 3.7-3.9 changing python version"  | 
17 |  | -        CondaPkg.add("python"; version="3.9",resolve=false)  | 
18 |  | -        CondaPkg.add("rmgmolecule"; version=">=0.3.0", channel="mjohnson541",resolve=false)  | 
19 |  | -        CondaPkg.add("matplotlib", channel="conda-forge",resolve=false)  | 
20 |  | -        CondaPkg.add("rdkit", channel="conda-forge",resolve=false)  | 
21 |  | -        CondaPkg.add("pydot", channel="conda-forge",resolve=false,version=">=2.0")  | 
22 |  | -        CondaPkg.resolve()  | 
23 |  | -    else  | 
24 |  | -        CondaPkg.add("rmgmolecule"; version=">=0.3.0", channel="mjohnson541",resolve=false)  | 
25 |  | -        CondaPkg.add("matplotlib", channel="conda-forge",resolve=false)  | 
26 |  | -        CondaPkg.add("rdkit", channel="conda-forge",resolve=false)  | 
27 |  | -        CondaPkg.add("pydot", channel="conda-forge",resolve=false,version=">=2.0")  | 
28 |  | -        CondaPkg.resolve()  | 
29 |  | -    end  | 
 | 12 | +    installmolecule()  | 
30 | 13 | end  | 
31 | 14 | 
 
  | 
32 |  | -using PythonCall  | 
33 |  | - | 
34 | 15 | const Chem = PythonCall.pynew()  | 
35 | 16 | const molecule = PythonCall.pynew()  | 
36 | 17 | const fragment = PythonCall.pynew()  | 
37 | 18 | const pydot = PythonCall.pynew()  | 
38 | 19 | 
 
  | 
39 |  | -PythonCall.pycopy!(Chem, pyimport("rdkit.Chem"))  | 
 | 20 | +PythonCall.pycopy!(Chem, PythonCall.pyimport("rdkit.Chem"))  | 
40 | 21 | try  | 
41 |  | -    PythonCall.pycopy!(molecule, pyimport("rmgpy.molecule"))  | 
42 |  | -    PythonCall.pycopy!(fragment, pyimport("rmgpy.molecule.fragment"))  | 
 | 22 | +    PythonCall.pycopy!(molecule, PythonCall.pyimport("rmgpy.molecule"))  | 
 | 23 | +    PythonCall.pycopy!(fragment, PythonCall.pyimport("rmgpy.molecule.fragment"))  | 
43 | 24 | catch e  | 
44 |  | -    PythonCall.pycopy!(molecule, pyimport("molecule.molecule"))  | 
45 |  | -    PythonCall.pycopy!(fragment, pyimport("molecule.molecule.fragment"))  | 
 | 25 | +    PythonCall.pycopy!(molecule, PythonCall.pyimport("molecule.molecule"))  | 
 | 26 | +    PythonCall.pycopy!(fragment, PythonCall.pyimport("molecule.molecule.fragment"))  | 
46 | 27 | end  | 
47 |  | -PythonCall.pycopy!(pydot, pyimport("pydot"))  | 
 | 28 | +PythonCall.pycopy!(pydot, PythonCall.pyimport("pydot"))  | 
48 | 29 | 
 
  | 
49 |  | -include("Constants.jl")  | 
50 |  | -include("Tools.jl")  | 
51 |  | -include("Calculators/RateUncertainty.jl")  | 
52 |  | -include("Calculators/ThermoUncertainty.jl")  | 
53 |  | -include("Calculators/Thermo.jl")  | 
54 |  | -include("Calculators/Diffusion.jl")  | 
55 |  | -include("Calculators/Rate.jl")  | 
56 |  | -include("Calculators/Viscosity.jl")  | 
57 |  | -include("Calculators/kLAkH.jl")  | 
58 |  | -include("Species.jl")  | 
59 |  | -include("Solvent.jl")  | 
60 |  | -include("Reaction.jl")  | 
61 |  | -include("Phase.jl")  | 
62 |  | -include("PhaseState.jl")  | 
63 |  | -include("Interface.jl")  | 
64 |  | -include("Domain.jl")  | 
65 |  | -include("Parse.jl")  | 
66 |  | -include("ModelReduction.jl")  | 
67 |  | -include("Reactor.jl")  | 
68 |  | -include("ThreadedSensitivities.jl")  | 
69 |  | -include("Simulation.jl")  | 
70 |  | -include("TransitorySensitivities.jl")  | 
71 |  | -include("AutomaticMechanismAnalysis.jl")  | 
72 |  | -include("Debugging.jl")  | 
73 |  | -include("EdgeAnalysis.jl")  | 
74 |  | -include("Plotting.jl")  | 
75 |  | -include("fluxdiagrams.jl")  | 
 | 30 | +loadsubmodules()  | 
0 commit comments