Exemplo n.º 1
0
def generate_hopgraph(topology, trajectory, densityfile, filename, localcopy=False, **hopargs):
    density = hop.sitemap.Density(filename=densityfile)
    def _generate_hopgraph(trajectory):
        hoptraj = hop.trajectory.HoppingTrajectory(hoppsf=topology, hopdcd=trajectory)
        tgraph = hop.interactive.build_hoppinggraph(hoptraj,density)
        return tgraph
    if localcopy:
        # should probably also write locally and then copy back
        from tempfile import mkstemp
        from shutil import copy
        root,ext = os.path.splitext(trajectory)
        fd, tmptrajectory = mkstemp(suffix=ext)
        logger.info("Making local copy to improve read performance: %(trajectory)r --> %(tmptrajectory)r" % vars())
        try:
            copy(trajectory, tmptrajectory)
            tgraph = _generate_hopgraph(tmptrajectory)
        finally:
            unlink_f(tmptrajectory)
    else:
        tgraph = _generate_hopgraph(trajectory)

    h = tgraph.hopgraph       # main result is the 'hopgraph'
    h.save(filename)          # save result
    logger.info("Saved hopgraph as %(filename)s.pickle", vars())

    hop.interactive.hopgraph_basic_analysis(h, density, filename)

    return h
def generate_densities_locally(topology,
                               trajectory,
                               atomselection,
                               localcopy=False):
    def _generate_densities(traj):
        return hop.interactive.generate_densities(topology,
                                                  traj,
                                                  atomselection=atomselection)

    if localcopy:
        from tempfile import mkstemp
        from shutil import copy
        root, ext = os.path.splitext(trajectory)
        fd, tmptrajectory = mkstemp(suffix=ext)
        logger.info(
            "Making local copy to improve read performance: %(trajectory)r --> %(tmptrajectory)r"
            % vars())
        try:
            copy(trajectory, tmptrajectory)
            densities = _generate_densities(tmptrajectory)
        finally:
            unlink_f(tmptrajectory)
    else:
        densities = _generate_densities(trajectory)
    return densities
def generate_densities_locally(topology, trajectory, atomselection, localcopy=False):
    def _generate_densities(traj):
        return hop.interactive.generate_densities(topology, traj, atomselection=atomselection)
    if localcopy:
        from tempfile import mkstemp
        from shutil import copy
        root,ext = os.path.splitext(trajectory)
        fd, tmptrajectory = mkstemp(suffix=ext)
        logger.info("Making local copy to improve read performance: %(trajectory)r --> %(tmptrajectory)r" % vars())
        try:
            copy(trajectory, tmptrajectory)
            densities = _generate_densities(tmptrajectory)
        finally:
            unlink_f(tmptrajectory)
    else:
        densities = _generate_densities(trajectory)
    return densities
Exemplo n.º 4
0
def generate_hopgraph(topology,
                      trajectory,
                      densityfile,
                      filename,
                      localcopy=False,
                      **hopargs):
    density = hop.sitemap.Density(filename=densityfile)

    def _generate_hopgraph(trajectory):
        hoptraj = hop.trajectory.HoppingTrajectory(hoppsf=topology,
                                                   hopdcd=trajectory)
        tgraph = hop.interactive.build_hoppinggraph(hoptraj, density)
        return tgraph

    if localcopy:
        # should probably also write locally and then copy back
        from tempfile import mkstemp
        from shutil import copy
        root, ext = os.path.splitext(trajectory)
        fd, tmptrajectory = mkstemp(suffix=ext)
        logger.info(
            "Making local copy to improve read performance: %(trajectory)r --> %(tmptrajectory)r"
            % vars())
        try:
            copy(trajectory, tmptrajectory)
            tgraph = _generate_hopgraph(tmptrajectory)
        finally:
            unlink_f(tmptrajectory)
    else:
        tgraph = _generate_hopgraph(trajectory)

    h = tgraph.hopgraph  # main result is the 'hopgraph'
    h.save(filename)  # save result
    logger.info("Saved hopgraph as %(filename)s.pickle", vars())

    hop.interactive.hopgraph_basic_analysis(h, density, filename)

    return h
Exemplo n.º 5
0
        hops = hop.trajectory.HoppingTrajectory(u.trajectory,group,density,**hopargs)
        hops.write(filename)
        return hops

    if localcopy:
        # should probably also write locally and then copy back
        from tempfile import mkstemp
        from shutil import copy
        root,ext = os.path.splitext(trajectory)
        fd, tmptrajectory = mkstemp(suffix=ext)
        logger.info("Making local copy to improve read performance: %(trajectory)r --> %(tmptrajectory)r" % vars())
        try:
            copy(trajectory, tmptrajectory)
            hops = _generate_hoptraj(tmptrajectory)
        finally:
            unlink_f(tmptrajectory)
    else:
        hops = _generate_hoptraj(trajectory)
    return hops

if __name__ == "__main__":
    import sys
    from optparse import OptionParser

    parser = OptionParser(usage=__doc__)
    parser.add_option("-s", "--topology", dest="topology",
                      metavar="FILE",
                      help="topology to go with the trajectories; can be a PSF "
                      "PDB, GRO, or whatever else MDAnalysis accepts; default is to "
                      "try the path recorded in DENSITY")
    parser.add_option("-f", "--trajectory", dest="trajectory",