コード例 #1
0
def generateTSsearchFromGuessPCM(slurmFile):
    jobGraph = nx.DiGraph()
    currentDir = getcwd()
    gaussianFile = getGaussianInpFromSlurmFile(slurmFile)

    newNode = GaussianNode(gaussianFile, currentDir)
    newNode.verification = "Opt"
    newNode.slurmFile = slurmFile
    jobGraph.add_node(currentDir, data=newNode)

    return buildTSsearchGraphPCM(jobGraph, currentDir)
コード例 #2
0
def generateTSsearchFromGuess(slurmFile, functional="B3LYP"):
    jobGraph = nx.DiGraph()
    currentDir = getcwd()
    gaussianFile = getGaussianInpFromSlurmFile(slurmFile)
    modredundantSection = getModredundantSection(
        join(dirname(slurmFile), gaussianFile))
    frozenDists = frozenDistancesFromModredundantSection(modredundantSection)

    newNode = GaussianNode(gaussianFile, currentDir)
    newNode.verification = "Opt"
    newNode.slurmFile = slurmFile
    newNode.autorestart = True
    jobGraph.add_node(currentDir, data=newNode)

    return buildTSsearchGraph(jobGraph, currentDir, functional, frozenDists)
コード例 #3
0
def generateGraph(slurmFile, template):
    jobGraph = nx.DiGraph()
    currentDir = getcwd()
    gaussianFile = getGaussianInpFromSlurmFile(slurmFile)

    newNode = GaussianNode(gaussianFile, currentDir)
    newNode.verification = "Opt"
    newNode.slurmFile = slurmFile
    newNode.autorestart = True
    jobGraph.add_node(currentDir, data=newNode)

    newDir = join(currentDir, "gesp")
    newNode = GaussianNode("auto_gesp.inp", newDir)
    newNode.verification = "SP"

    newNode.routeSection = """%Chk=checkp.chk
%Mem=100GB
#P B3LYP/6-31G(d,p)
# Gfinput  Pop=full  Density  Test iop(6/50=1)
# Units(Ang,Deg) Pop=MK iop(6/33=2) iop(6/42=6)
"""
    newNode.additionalSection = "keto.gesp\n\nketo.gesp\n\n"
    newNode.gesp = "keto.gesp"
    newNode.time = "1:00:00"
    newNode.partition = "plgrid-short"
    jobGraph.add_node(newDir, data=newNode)
    jobGraph.add_edge(currentDir, newDir)

    anteDir = join(newDir, "antechamber")
    newNode = AntechamberNode("keto.gesp", anteDir)
    newNode.partition = "plgrid-short"
    jobGraph.add_node(anteDir, data=newNode)
    jobGraph.add_edge(newDir, anteDir)

    if template != None:
        fitDir = join(anteDir, "fit")
        newNode = FitNode("keto.mol2", fitDir, template)
        newNode.partition = "plgrid-short"
        jobGraph.add_node(fitDir, data=newNode)
        jobGraph.add_edge(anteDir, fitDir)

    return jobGraph
コード例 #4
0
"""
        newNode.verification = "SP"
        newNode.readResults = True
        newNode.processors = 6
        newNode.time = "72:00:00"
        graph.add_node(newDir, data=newNode)
        graph.add_edge(node, newDir)


if __name__ == "__main__":
    if len(sys.argv) == 1:
        print("Usage: graphDFT-SP slurmFile/nodeKey")
    elif len(sys.argv) == 2:
        slurmFile = sys.argv[1]
        currentDir = getcwd()
        gaussianFile = getGaussianInpFromSlurmFile(slurmFile)
        gaussianLog = gaussianFile.replace("inp", "log")

        sm = GraphManager()
        graph = sm.isGraphHere(currentDir)
        if not graph:
            jobGraph = nx.DiGraph()
            newNode = GaussianNode(gaussianFile, currentDir)
            newNode.slurmFile = slurmFile
            newNode.status = "finished"
            jobGraph.add_node(currentDir, data=newNode)

            addManySPcorrections(jobGraph, currentDir)

            result = sm.addGraph(jobGraph, currentDir)
            if result:
コード例 #5
0
"""

from graphManager import GraphManager
import sys
from os.path import basename, dirname, abspath
from parsers import getGaussianInpFromSlurmFile

if __name__ == "__main__":
    if len(sys.argv) == 1:
        print(
            "Usage: graphReplace node slurmFile status [default: waitingForParent]"
        )
        print("Possible status: waitingForParent, running, finished, examined")
    elif len(sys.argv) == 3:
        slurmFile = sys.argv[2]
        inputFile = getGaussianInpFromSlurmFile(slurmFile)
        newNode = dirname(abspath(slurmFile))

        slurmFile = basename(slurmFile)
        oldNode = sys.argv[1]

        sm = GraphManager()
        sm.insertPath2node(oldNode, newNode, slurmFile, inputFile)
        sm.saveGraphs()
    elif len(sys.argv) == 4:
        slurmFile = sys.argv[2]
        inputFile = getGaussianInpFromSlurmFile(slurmFile)
        newNode = dirname(abspath(slurmFile))

        slurmFile = basename(slurmFile)
        oldNode = sys.argv[1]