Esempio n. 1
0
#!/usr/bin/env python

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import ParallelClusterOETrajCube, ParallelMakeClusterTrajOEMols

job = WorkFloe("Testing Traj OEMol Clustering on a conformer")

job.description = """
Testing Ligand Clustering Floe on a conformer
#
Ex. python floes/ConfBasedTrajClustering.py --in STMD_TrajOEMol.oedb  --out STMD_LigClus.oedb
#
Parameters:
-----------
in (.oedb file): file of the MD results with Traj OEMols
#
Outputs:
--------
ofs (.oedb file): file of the MD results with Traj OEMol Clustering on a conformer.
"""

# job.uuid = "7cacc2af-cae7-4dc7-8956-fcf539861e3d"

ifs = DatasetReaderCube("ifs")

ifs.promote_parameter("data_in", promoted_name="in", title="System Input OERecord", description="OERecord file name")

clusCube = ParallelClusterOETrajCube("ClusterOETrajCube")
Esempio n. 2
0
#!/usr/bin/env python

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_trajProcessing import ParallelTrajInteractionEnergyCube

job = WorkFloe("Testing Traj Protein-Ligand Interaction Energies")

job.description = """
Testing Protein-Ligand Interaction Energies Floe
#
Ex. python floes/up.py --in  STMD_TrajOEMol.oedb
--out STMD_TrajIntE.oedb
#
Parameters:
-----------
in (.oedb file): file of the MD results with Traj OEMols
#
Outputs:
--------
ofs (.oedb file): file of the MD results with Interaction Energy results.
"""

job.uuid = "a73059bd-25e6-47f3-b2d2-56474c439417"

ifs = DatasetReaderCube("ifs")

ifs.promote_parameter("data_in",
                      promoted_name="in",
Esempio n. 3
0
# or its use.

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.ComplexPrep.cubes import ComplexPrepCube

from MDOrion.System.cubes import MDComponentCube

from MDOrion.LigPrep.cubes import (ParallelLigandChargeCube, LigandSetting)

from MDOrion.System.cubes import (IDSettingCube, CollectionSetting,
                                  ParallelRecordSizeCheck)

job = WorkFloe('PL Complex formation for Short Trajectory MD',
               title='PL Complex formation for Short Trajectory MD')

job.description = """
PL Complex formation for the Short Trajectory MD (STMD) protocol based on
a prepared protein and a set of posed and prepared ligands as input.
The ligands need to have coordinates, all atoms, and correct chemistry. Each
ligand can have multiple conformers but each conformer will be run separately
as a different ligand.
The protein needs to be prepared to MD standards: protein chains must be capped,
all atoms in protein residues (including hydrogens) must be present, and missing
protein loops resolved. Crystallographic internal waters should be retained where
possible. The parametrization of some common nonstandard residues is partially supported.
Given the inputs of the protein and posed ligands,
the complex is formed with each ligand/conformer
separately.
Esempio n. 4
0
#!/usr/bin/env python

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_trajProcessing import (
    ParallelTrajToOEMolCube, ParallelTrajInteractionEnergyCube,
    ParallelTrajPBSACube)

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import (
    ParallelClusterOETrajCube, ParallelMDTrajAnalysisClusterReport,
    MDFloeReportCube)

job = WorkFloe("Analysing Trajectory from Short Trajectory MD")

job.description = """
Analyse the trajectory from Short Trajectory MD in terms of interactions between the
ligand and the active site and in terms of ligand RMSD after fitting the trajectory
based on active site C_alphas.

Required Input Parameters:
--------------------------
in: Collection of OERecords (one per ligand) of Short Trajectory MD results.

Outputs:
--------
floe report: html page of the Analysis for each ligand.
out (.oedb file): file of the Analysis results for all ligands.
"""
Esempio n. 5
0
# THE SAMPLE CODE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED.  OPENEYE DISCLAIMS ALL WARRANTIES, INCLUDING, BUT
# NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. In no event shall OpenEye be
# liable for any damages or liability in connection with the Sample Code
# or its use.

from floe.api import WorkFloe

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import ExtractMDDataCube

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from os import path

job = WorkFloe("Extract Short Trajectory MD Results for Download",
               title="Extract Short Trajectory MD Results for Download")

job.description = open(path.join(path.dirname(__file__), 'MDData_desc.rst'),
                       'r').read()

job.classification = [['MD Data']]
job.uuid = "6665ca20-6014-4f3b-8d02-4b5d15b75ee3"
job.tags = [tag for lists in job.classification for tag in lists]

ifs = DatasetReaderCube("SystemReader", title="System Reader")
ifs.promote_parameter(
    "data_in",
    promoted_name="system",
    title='STMDA Input File',
    description=
    "The Dataset produced by the Short Trajectory MD with Analysis floe")
Esempio n. 6
0
from __future__ import unicode_literals
from floe.api import WorkFloe, OEMolIStreamCube, OEMolOStreamCube
from OpenMMCubes.cubes import OpenMMminimizeCube

job = WorkFloe("MDminimize")

job.description = """
Minimize an OpenMM-ready solvated complex

Ex: python floes/openmm_prepMDminimize.py --complex complex.oeb --ofs-data_out min.oeb --steps 1000`

Parameters:
-----------
complex (file): OEB file of the prepared protein:ligand complex

Optional:
--------
steps (int): Number of MD steps to minimize the system. If 0 until convergence will be reached

Outputs:
--------
ofs: Outputs the minimized system
"""

job.classification = [['Simulation']]
job.tags = [tag for lists in job.classification for tag in lists]

ifs = OEMolIStreamCube("complex", title="Complex Reader")
ifs.promote_parameter("data_in",
                      promoted_name="complex",
                      title='Complex Input File',
Esempio n. 7
0
print('host:', socket.gethostname())
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s' + socket.gethostname() +
                    '%(levelname)-8s  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')
from torsion.cubes import ParallelPsi4EnergyCalculation, HiddenParamParallelPsi4EnergyCalculation
from torsion.cubes import ParallelGenerateStartingConfs, ParallelGenerateTorsionalConfs
from torsion.cubes import FilterBrI
from floe.api import WorkFloe
from floe.api import ParallelCubeGroup
from floe.api import OEMolOStreamCube
from floe.api import OEMolIStreamCube
from floe import constants

# Declare Floe, add metadata for UI
job = WorkFloe('Filtered Massively Parallel 2-stage Dihedral Scan of Torsions')
job.description = """
Filtered Calculate the Energy Profile associated with a Dihedral Scan in a massively parallel manner.
"""
job.classification = [["Torsion"]]

# Declare Cubes
ifs = OEMolIStreamCube('ifs')
ifs.promote_parameter('data_in', promoted_name='ifs')
ifs.parameter_overrides["download_format"] = {"hidden": True}
ifs.parameter_overrides["limit"] = {"hidden": True}

element_filter = FilterBrI('element_filter')

# Conformer generation
confgenCube = ParallelGenerateStartingConfs('confgenCube')
import os
import logging
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s' + os.getenv('HOSTNAME') +
                    '%(levelname)-8s  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')
from floe.api import WorkFloe
from cuberecord import DatasetReaderCube, DatasetWriterCube
from torsion.cubes import GenerateFragments, \
                          GenerateStartingConfs, \
                          GenerateTorsionalConfs, \
                          ParallelPsi4EnergyCalculation, \
                          ProfileAssembler

# Declare Floe, add metadata for UI
job = WorkFloe('Torsional Strain Energy')
job.description = """
Calculate torsional strain energy.
"""
job.classification = [["Torsional Strain"]]

# Declare cubes
ifs = DatasetReaderCube('ifs')
fraggenCube = GenerateFragments('fragment_generation')
fraggen_failure = DatasetWriterCube('fraggen_failure')
confgenCube = GenerateStartingConfs('starting_conf_gen')
confgen_failure = DatasetWriterCube('confgen_failure')
torsgenCube = GenerateTorsionalConfs('torsional_conf_gen')
assembler = ProfileAssembler('assembler')

# geometry optimization using smaller basis set (e.g. minix)
Esempio n. 9
0
#!/usr/bin/env python

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_trajProcessing import (
    ConformerGatheringData, ParallelConcatenateTrajMMPBSACube)

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import (
    ParallelClusterOETrajCube, ParallelMakeClusterTrajOEMols)

job = WorkFloe("Testing Traj OEMol Clustering on a ligand")

job.description = """
Testing Ligand Clustering Floe on a conformer
#
Ex. python floes/LigBasedTrajClustering.py --in STMD_TrajOEMol.oedb  --out STMD_LigClus.oedb
#
Parameters:
-----------
in (.oedb file): file of the MD results with Traj OEMols
#
Outputs:
--------
ofs (.oedb file): file of the MD results with Traj OEMol Clustering on a conformer.
"""

# job.uuid = "7cacc2af-cae7-4dc7-8956-fcf539861e3d"

ifs = DatasetReaderCube("ifs")
Esempio n. 10
0
# exclusive risk. Sample Code may require Customer to have a then
# current license or subscription to the applicable OpenEye offering.
# THE SAMPLE CODE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED.  OPENEYE DISCLAIMS ALL WARRANTIES, INCLUDING, BUT
# NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. In no event shall OpenEye be
# liable for any damages or liability in connection with the Sample Code
# or its use.

from floe.api import WorkFloe

from MDOrion.MDEngines.cubes import ParallelMDNvtCube

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

job = WorkFloe("NVT Simulation", title="NVT Simulation")

job.description = """
NVT simulation of an OpenMM-ready System

Ex: python floes/openmm_MDnvt.py --system complex.oeb --ofs-data_out nvt.oeb --nanoseconds 0.01

Parameters:
-----------
complex (file): OEB file of the prepared system

Optional:
--------
picosec (float): Number of picoseconds to warm up the complex
temperature (decimal): target final temperature after warming
Esempio n. 11
0
from __future__ import unicode_literals
from floe.api import WorkFloe, OEMolOStreamCube
from OpenMMCubes.cubes import OpenMMminimizeCube, OpenMMnvtCube, OpenMMnptCube
from ComplexPrepCubes.cubes import HydrationCube, ComplexPrep, ForceFieldPrep
from ComplexPrepCubes.port import ProteinReader
from LigPrepCubes.ports import LigandReader
from LigPrepCubes.cubes import LigChargeCube

job = WorkFloe('Preparation MD')

job.description = """
Set up an OpenMM complex then minimize, warm up and equilibrate a system by using three equilibration stages

Ex: python floes/openmm_MDprep.py --ligands ligands.oeb --protein protein.oeb --ofs-data_out prep.oeb

Parameters:
-----------
ligands (file): oeb file of ligand posed in the protein active site.
protein (file): oeb file of the protein structure, assumed to be pre-prepared

Optionals:
-----------

Outputs:
--------
ofs: Outputs a ready system to MD production run
"""

job.classification = [['Complex Setup', 'FrosstMD']]
job.tags = [tag for lists in job.classification for tag in lists]
Esempio n. 12
0
# exclusive risk. Sample Code may require Customer to have a then
# current license or subscription to the applicable OpenEye offering.
# THE SAMPLE CODE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED.  OPENEYE DISCLAIMS ALL WARRANTIES, INCLUDING, BUT
# NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. In no event shall OpenEye be
# liable for any damages or liability in connection with the Sample Code
# or its use.

from floe.api import WorkFloe

from MDOrion.MDEngines.cubes import ParallelMDMinimizeCube

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

job = WorkFloe("Minimize", title="Minimize")

job.description = """
Minimize an OpenMM-ready solvated complex

Ex: python floes/openmm_prepMDminimize.py --system complex.oeb --ofs-data_out min.oeb --steps 1000`

Parameters:
-----------
complex (file): OEB file of the prepared system

Optional:
--------
steps (int): Number of MD steps to minimize the system. If 0 until convergence will be reached

Outputs:
Esempio n. 13
0
#!/usr/bin/env python

from cubes.input_cubes import IndexInputCube, OEMolTriggeredIStreamCube
from cubes.compute_cubes import (AccuMolList, ParallelFastFPRanking,
                                 IndexGenerator, PrepareRanking,
                                 ParallelFastFPInsertKA, AccumulateRankings,
                                 AnalyseRankings)
from cubes.output_cubes import TextRankingOutputCube, PlotResults, ResultsOutputCube
from floe.api import WorkFloe, CubeGroup
from floe.api import OEMolOStreamCube
from floe.api import OEMolIStreamCube

# Declare Floe, add metadata for UI
job = WorkFloe('VS Floe')
job.description = """
Read an index text file and write the indices in an other file
"""
job.classification = [["Virtual Screening", "Create Ranking"]]

# Declare Cubes
act_reader = OEMolIStreamCube('act_reader')
act_reader.promote_parameter('data_in', promoted_name='act_db')
#index_reader = IndexInputCube('index_reader')
#index_reader.promote_parameter('data_in', promoted_name='index_log')

index_generator = IndexGenerator('index generator')
accu_act = AccuMolList('accumulate actives')
#calc_fp = CalculateFPCube('calculate fingerprints')

prep_sim_calc = PrepareRanking('prepare similarity calculation')
prep_sim_calc.promote_parameter('method', promoted_name='method')
import os
import logging
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s' + os.getenv('HOSTNAME') +
                    '%(levelname)-8s  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')
from torsion.cubes import ParallelPsi4EnergyCalculation, SerialGenerateStartingConfs, SerialGenerateTorsionalConfs
from floe.api import WorkFloe
from floe.api import OEMolOStreamCube
from floe.api import OEMolIStreamCube

# Declare Floe, add metadata for UI
job = WorkFloe('Massively Parallel Dihedral Scan of Torsions')
job.description = """
Calculate the Energy Profile associated with a Dihedral Scan in a massively parallel manner.
"""
job.classification = [["Torsion"]]

# Declare Cubes
ifs = OEMolIStreamCube('ifs')
ifs.promote_parameter('data_in', promoted_name='ifs')

confgenCube = SerialGenerateStartingConfs('starting_conf_gen')
confgenCube.promote_parameter(
    'max_confs',
    title='Maximum Alternate Starting Conformers',
    description=
    'Maximum number of starting conformations to use in QM torsion driving experiment. '
    +
    'NOTE: If you do not want to generate starting conformations, set this to 1.'
)
Esempio n. 15
0
# exclusive risk. Sample Code may require Customer to have a then
# current license or subscription to the applicable OpenEye offering.
# THE SAMPLE CODE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED.  OPENEYE DISCLAIMS ALL WARRANTIES, INCLUDING, BUT
# NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. In no event shall OpenEye be
# liable for any damages or liability in connection with the Sample Code
# or its use.

from floe.api import WorkFloe

from MDOrion.MDEngines.cubes import ParallelMDNptCube

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

job = WorkFloe("NPT Simulation",
               title="NPT Simulation")

job.description = """
NPT simulation of an OpenMM-ready System

Ex: python floes/openmm_MDnpt.py --system complex.oeb --nanoseconds 0.01

Parameters:
-----------
complex (file): OEB file of the prepared system

Optional:
--------
picosec (float): Number of picoseconds to warm up the complex
temperature (decimal): target final temperature in K
pressure (decimal): target final pressure in atm
Esempio n. 16
0
from __future__ import unicode_literals
from floe.api import WorkFloe, OEMolOStreamCube
from OpenMMCubes.cubes import OpenMMminimizeCube, OpenMMnvtCube, OpenMMnptCube
from ComplexPrepCubes.cubes import HydrationCube, ComplexPrep, ForceFieldPrep, SolvationCube
from ComplexPrepCubes.port import ProteinReader
from LigPrepCubes.ports import LigandReader
from LigPrepCubes.cubes import LigChargeCube

job = WorkFloe('Merk Frosst MD Protocol')

job.description = """
Set up an OpenMM complex then minimize, warm up and equilibrate a system by using three equilibration stages

Ex: python floes/openmm_MDprep.py --ligands ligands.oeb --protein protein.oeb --ofs-data_out prep.oeb

Parameters:
-----------
ligands (file): oeb file of ligand posed in the protein active site.
protein (file): oeb file of the protein structure, assumed to be pre-prepared

Optionals:
-----------

Outputs:
--------
ofs: Outputs a ready system to MD production run
"""

job.classification = [['Complex Setup', 'FrosstMD']]
job.tags = [tag for lists in job.classification for tag in lists]
Esempio n. 17
0
from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.System.cubes import MDComponentCube

from MDOrion.ComplexPrep.cubes import ComplexPrepCube

from MDOrion.System.cubes import ParallelSolvationCube

from MDOrion.ForceField.cubes import ParallelForceFieldCube

from MDOrion.LigPrep.cubes import (ParallelLigandChargeCube, LigandSetting)

from MDOrion.System.cubes import (IDSettingCube, CollectionSetting,
                                  ParallelRecordSizeCheck)

job = WorkFloe('Complex prep for Short Trajectory MD',
               title='Complex prep for Short Trajectory MD')

job.description = """
The prep steps for the Short Trajectory MD (STMD) protocol based on
a prepared protein and a set of posed and prepared ligands as input.
The ligands need to have coordinates, all atoms, and correct chemistry. Each
ligand can have multiple conformers but each conformer will be run separately
as a different ligand.
The protein needs to be prepared to MD standards: protein chains must be capped,
all atoms in protein residues (including hydrogens) must be present, and missing
protein loops resolved. Crystallographic internal waters should be retained where
possible. The parametrization of some common nonstandard residues is partially supported.
Given the inputs of the protein and posed ligands,
the complex is formed with each ligand/conformer
separately, and the complex is solvated and parametrized according to the
selected force fields.
Esempio n. 18
0
from __future__ import unicode_literals
"""
Written by John D. Chodera
"""
from floe.api import WorkFloe, OEMolIStreamCube, OEMolOStreamCube, FileOutputCube, DataSetInputParameter, FileInputCube
from YankCubes.cubes import YankBindingCube

"""
Testing via the command line:

python floes/yank_binding.py --receptor examples/data/T4-protein.pdb --molecules examples/data/p-xylene.mol2 --success success.sdf --failure failure.sdf --simulation_time 0.0001 --nsteps_per_iteration 5 --minimize 0

"""

job = WorkFloe("YANK small molecule absolute binding free energies")

job.description = """
# Compute small molecule absolute binding free energies using YANK.

This Floe processes the provided molecules, computes free energies of binding to a specified receptor, and appends the following SDData properties to the original molecules:

* Absolute binding free energy in kcal/mol: `DeltaG_yank_binding`
* Standard error estimate in binding free energy estimate, in kcal/mol: `dDeltaG_yank_binding`

*IMPORTANT:* The molecules MUST be charged before feeding them into this workflow.

The following advanced options are available:

* temperature (`float`): Temperature in Kelvin (default: `300.0`)
* pressure (`float`): Pressure in atmospheres (default: `1.0`)
* simulation_time (`float`): Simulation time in ns/replica (default: `0.010`)
Esempio n. 19
0
from MDOrion.System.cubes import (ParallelRecordSizeCheck)

from MDOrion.TrjAnalysis.cubes_trajProcessing import (
    ParallelTrajToOEMolCube, ParallelTrajInteractionEnergyCube,
    ParallelTrajPBSACube, ConformerGatheringData, ParallelConfTrajsToLigTraj,
    ParallelConcatenateTrajMMPBSACube)

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import (
    ParallelClusterOETrajCube, ParallelMakeClusterTrajOEMols,
    ParallelMDTrajAnalysisClusterReport, ParallelClusterPopAnalysis,
    ParallelTrajAnalysisReportDataset, MDFloeReportCube)

from MDOrion.System.cubes import CollectionSetting

job = WorkFloe('Analyze Protein-Ligand MD', title='Analyze Protein-Ligand MD')

job.description = open(
    path.join(path.dirname(__file__), 'AnalyzePLMD_desc.rst'), 'r').read()

job.classification = [['Specialized MD']]
job.uuid = "7438db4d-30b1-478c-afc0-e921f0336c78"
job.tags = [tag for lists in job.classification for tag in lists]

# Ligand setting
iMDInput = DatasetReaderCube("MDInputReader", title="MD Input Reader")
iMDInput.promote_parameter("data_in",
                           promoted_name="in",
                           title="MD Input Dataset",
                           description="MD Input Dataset")
from __future__ import unicode_literals
from floe.api import WorkFloe, OEMolOStreamCube
from ComplexPrepCubes.cubes import SolvationCube, ForceFieldPrep
from LigPrepCubes.cubes import LigChargeCube
from LigPrepCubes.ports import LigandReader
from YankCubes.cubes import YankSolvationFECube
from OpenMMCubes.cubes import OpenMMminimizeCube, OpenMMnvtCube, OpenMMnptCube

job = WorkFloe("SolvationFreeEnergy")

job.description = """
Solvation Free Energy Calculation of small molecules

Ex. python floes/solvation_free_energy --ligands ligands.oeb
--ofs-data_out fe.oeb

Parameters:
-----------
ligands (file): OEB file of the prepared ligands

Outputs:
--------
ofs: Output file
"""

job.classification = [['Simulation']]
job.tags = [tag for lists in job.classification for tag in lists]

# Ligand setting
iligs = LigandReader("Ligands", title="Ligand Reader")
iligs.promote_parameter("data_in",
Esempio n. 21
0
#!/usr/bin/env python

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import (
    ParallelClusterOETrajCube, ParallelMDTrajAnalysisClusterReport,
    MDFloeReportCube)

job = WorkFloe("Analysing Trajectory from Short Trajectory MD")

job.description = """
Cluster the trajectory from Short Trajectory MD in terms of ligand RMSD after fitting the trajectory
based on active site C_alphas.

Required Input Parameters:
--------------------------
in: Collection of OERecords (one per ligand) of Short Trajectory MD results.

Outputs:
--------
out (.oedb file): file of the Analysis results for all ligands.
"""

job.uuid = "43f33e3f-0240-4e34-9b8b-da4d5796052a"

ifs = DatasetReaderCube("ifs")
ifs.promote_parameter("data_in",
                      promoted_name="in",
                      title="System Input OERecord",
Esempio n. 22
0
from __future__ import unicode_literals
from floe.api import WorkFloe, OEMolIStreamCube, OEMolOStreamCube
from ComplexPrepCubes.cubes import ProteinReader, Splitter, SolvationCube, ComplexPrep, ForceFieldPrep
from LigPrepCubes.cubes import LigChargeCube

job = WorkFloe("ComplexPrep")

job.description = """
Complex Preparation Workflow

Ex. python floes/openmm_complex_prep.py --protein protein.oeb
--ligands ligands.oeb  --ofs-data_out complex.oeb

Parameters:
-----------
protein (file): OEB file of the prepared protein
ligands (file): OEB file of the prepared ligands


Outputs:
--------
ofs: Output file
"""

job.classification = [['Simulation']]
job.tags = [tag for lists in job.classification for tag in lists]

# Ligand setting
iligs = OEMolIStreamCube("Ligands", title="Ligand Reader")
iligs.promote_parameter("data_in",
                        promoted_name="ligands",
Esempio n. 23
0
import logging
import socket

print('host:', socket.gethostname())
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s' + socket.gethostname() +
                    '%(levelname)-8s  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')

from floe.api import WorkFloe
from cuberecord.cubes import DatasetReaderCube, DatasetWriterCube
from torsion.cubes import ParallelGenerateFragments

# Declare Floe, add metadata for UI
job = WorkFloe('Generate Torsional Fragments')
job.description = """
Generate Torsional Fragments
"""
job.classification = [["Torsion"]]

# Declare cubes
ifs = DatasetReaderCube('ifs')
fraggenCube = ParallelGenerateFragments('fraggenCube')
fraggen_failure = DatasetWriterCube('fraggen_failure')
ofs = DatasetWriterCube('ofs')
cubes = [ifs, fraggenCube, ofs, fraggen_failure]

# Promote parameters
ifs.promote_parameter('data_in', promoted_name='data_in')
ofs.promote_parameter('data_out',
                      promoted_name='ofs',
Esempio n. 24
0
# THE SAMPLE CODE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED.  OPENEYE DISCLAIMS ALL WARRANTIES, INCLUDING, BUT
# NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. In no event shall OpenEye be
# liable for any damages or liability in connection with the Sample Code
# or its use.

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import (
    ParallelClusterOETrajCube, ParallelMDTrajAnalysisClusterReport,
    MDFloeReportCube)

job = WorkFloe('Short Trajectory MD cluster and report',
               title='Short Trajectory MD cluster and report')

job.description = """
An MD production run which has been analyzed in terms of interactions between the
ligand and the active site is clustered in terms of ligand RMSD after fitting the trajectory
based on active site C_alphas.

Required Input Parameters:
--------------------------
Dataset result of an MD Short Trajectory run with traj OEMols and MMPBSA interactions

Outputs:
--------
floe report: html page of the Analysis of each ligand.
out (.oedb file): file of the Analysis results for all ligands.
"""
Esempio n. 25
0
# EXPRESS OR IMPLIED.  OPENEYE DISCLAIMS ALL WARRANTIES, INCLUDING, BUT
# NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. In no event shall OpenEye be
# liable for any damages or liability in connection with the Sample Code
# or its use.

from floe.api import WorkFloe

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_trajProcessing import (
    ParallelTrajInteractionEnergyCube, ParallelTrajPBSACube)

from MDOrion.TrjAnalysis.cubes_clusterAnalysis import MDFloeReportCube

job = WorkFloe('Trajectory MMPBSA from Traj OEMOls',
               title='Trajectory MMPBSA from Traj OEMOls')

job.description = """
An MMPBSA analysis is carried out on trajectory OEMols for protein, ligand
and possibly waters.

Required Input Parameters:
--------------------------
.oedb of records containing protein, ligand and possibly water
trajectory OEMols from an MD Short Trajectory run.

Outputs:
--------
out (.oedb file): file of the Analysis results for all ligands.
"""
import logging
import socket
print('host:', socket.gethostname())
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s' + socket.gethostname() +
                    '%(levelname)-8s  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')
from torsion.cubes import ParallelGenerateStartingConfs, ParallelGenerateTorsionalConfs
from floe.api import WorkFloe
from floe.api import ParallelCubeGroup
from floe.api import OEMolOStreamCube
from floe.api import OEMolIStreamCube

# Declare Floe, add metadata for UI
job = WorkFloe('Generate Starting Conformers')
job.description = """
Generate Starting and Torsional Conformers
"""
job.classification = [["Torsion"]]

# Declare Cubes
ifs = OEMolIStreamCube('ifs')
ifs.promote_parameter('data_in', promoted_name='ifs')
ifs.parameter_overrides["download_format"] = {"hidden": True}
ifs.parameter_overrides["limit"] = {"hidden": True}

# Conformer generation
confgenCube = ParallelGenerateStartingConfs('confgenCube')
confgenCube.promote_parameter('max_confs', required=True)
confgenCube.promote_parameter('rms_cutoff', required=True)
confgenCube.parameter_overrides["energy_window"] = {"hidden": True}
Esempio n. 27
0
from __future__ import unicode_literals
from floe.api import WorkFloe, OEMolIStreamCube, OEMolOStreamCube
from OpenMMCubes.cubes import OpenMMnvtCube

job = WorkFloe("NVT Run")

job.description = """
NVT simulation of an OpenMM-ready solvated complex

Ex: python floes/openmm_MDnvt.py --complex complex.oeb --ofs-data_out nvt.oeb --picosec 10.0

Parameters:
-----------
complex (file): OEB file of the prepared protein:ligand complex

Optional:
--------
picosec (float): Number of picoseconds to warm up the complex
temperature (decimal): target final temperature after warming

Outputs:
--------
ofs: Outputs the constant temperature and volume system
"""

job.classification = [['NVT']]
job.tags = [tag for lists in job.classification for tag in lists]

ifs = OEMolIStreamCube("complex", title="Complex Reader")
ifs.promote_parameter("data_in", promoted_name="complex", title='Complex Input File',
                      description="protein:ligand complex input file")
Esempio n. 28
0
from MDOrion.LigPrep.cubes import LigandSetting
from MDOrion.LigPrep.cubes import ParallelLigandChargeCube

from MDOrion.System.cubes import IDSettingCube

from MDOrion.System.cubes import MDComponentCube

from MDOrion.ComplexPrep.cubes import ComplexPrepCube

from MDOrion.System.cubes import ParallelSolvationCube

from MDOrion.ForceField.cubes import ParallelForceFieldCube

from MDOrion.MDEngines.cubes import ParallelMDMinimizeCube

job = WorkFloe("Complex Preparation with Minimization",
               title="Complex Preparation with Minimization")

job.description = """
Complex Preparation Workflow

Ex. python floes/openmm_complex_prep.py --protein protein.oeb
--ligands ligands.oeb  --ofs-data_out complex.oeb

Parameters:
-----------
protein (file): OEB file of the prepared protein
ligands (file): OEB file of the prepared ligands


Outputs:
--------
Esempio n. 29
0
#!/usr/bin/env python

from floe.api import (WorkFloe, ParallelCubeGroup)

from orionplatform.cubes import DatasetReaderCube, DatasetWriterCube

from MDOrion.TrjAnalysis.cubes_trajProcessing import (
    ConformerGatheringData, ParallelConfTrajsToLigTraj,
    ParallelConcatenateTrajMMPBSACube)

job = WorkFloe("Testing combining confs Traj OEMols to lig Traj OEMol")

job.description = """
Testing Aggregating conf trajs into one ligand traj OEMol.
The input dataset is an .oedb file of the aggregated confs MD results with Traj OEMols + IntE + PBSA
"""

# job.uuid = "7cacc2af-cae7-4dc7-8956-fcf539861e3d"

ifs = DatasetReaderCube("ifs")
ifs.promote_parameter("data_in",
                      promoted_name="in",
                      title="System Input OERecord",
                      description="OERecord file name")

confGather = ConformerGatheringData("Gathering Conformer Records")
ligTrajCube = ParallelConfTrajsToLigTraj("ConfTrajsToLigTraj")
ligMMPBSA = ParallelConcatenateTrajMMPBSACube('ConcatenateTrajMMPBSACube')

ofs = DatasetWriterCube('ofs', title='OFS-Success')
ofs.promote_parameter("data_out",
Esempio n. 30
0
from floe.api import WorkFloe, OEMolIStreamCube, OEMolOStreamCube
from YankCubes.cubes import YankBindingFECube, SyncBindingFECube

job = WorkFloe("YANK small molecule absolute binding free energies")

job.description = """
# Compute small molecule absolute binding free energies using YANK.

This Floe processes the provided molecules, computes free energies of binding to a 
specified receptor, and appends the following SDData properties to the original molecules:
"""

iligand = OEMolIStreamCube("ReadingLigand")
iligand.promote_parameter("data_in",
                          promoted_name="ligands",
                          title="Ligand Input File",
                          description="Ligand file name")

icomplex = OEMolIStreamCube("ReadingComplex")
icomplex.promote_parameter("data_in",
                           promoted_name="complex",
                           title="Complex Input File",
                           description="complex file name")

sync = SyncBindingFECube("SyncCube")
yankabfe = YankBindingFECube("YankBindingFE")

ofs = OEMolOStreamCube('ofs', title='OFS-Success')
ofs.set_parameters(backend='s3')

fail = OEMolOStreamCube('fail', title='OFS-Failure')