Giter VIP home page Giter VIP logo

system_builder's Introduction

system_builder

automation of setting up systems for the pmxworkflow

Documentation on how to build ligand systems for pmxworkflow using ligand_builder_v_0_3.py (version 0.3). Requires github update but many of these docs still apply. 08_31_2021


Getting started

Deposit the names of ligands and smiles into an excel spreadsheet. Where smiles codes are of the form ‘smile code + chosen_ligand_name’.

- Your chosen ligand names should be vertical is column A of *.xlsx. 
- Smiles should be vertical in column B of *.xlsx.

Example: 

Column A			Column B
Ligand1 name		smile code 1 Ligand1 name
Ligand2 name		smile code 2 Ligand2 name
…			…
Ligandn name		smile code n Ligandn name

For the current setup, to run the pmxworkflow, you will need to first prepare a few input files in no particular order. Namely, the macromolecule of interest, the excel file, and four '*.yml' files:

ligands.yml
targets.yml
target.yml
edges.yml

In development: *.yml generations and deposition to appropriate folders.

For now, if you are running this code in the folder of your system ‘tyk2’ (system_dir). Then, the '*.yml' files should be located at:

system_dir
|   targets.yml
\-- date_dir
|   \-- 00_data
|   |	|   target.yml
|   |	|   ligands.yml
|   |	|   edges.yml

date_dir is a directory name of your choosing, but the date is a logical choice for bookkeeping purposes. Example: 2021_01_01

In version 0.3, system_dir and date_dir are input variables for func in ‘ligand_builder_v*.py’ so make note of them.


‘ligand_builder_v_0_3.py’ generates '.sdf' and '.mol2' files with partial charges and deposit them into appropriate folders for the pmxworkflow for you.

Import as:

from ligand_builder_v0_3 import *

Functions:

collect_excel_data(input_excel_file: str) -> str Reads in 'my_data.xlsx'. example: collect_excel_data('my_data.xlsx')

where:
'my_data.xlsx' = the location and name of the
		 excel file with your smiles and
		 names.

smi_to_sdf(toolkit_to_use: str, input_excel_file: str) -> str Outputs a .sdf for each ligand using openeye or openbabel

where:
‘toolkit_name’ = ‘openbabel’ or ‘openeye’
'my_data.xlsx' = the location and name of the
		 excel file with your smiles and
		 names.

sdf_to_mol2() Calculates the partial charges of the structural files and prints *.mol2 for each ligand.

struc_dir_setup(system_dir, date_dir, pmx_ligands_dir)

Organizes the folders for *.sdf and *.mol2. Consistent with
pmxworkflow. Iput variable system_dir is the directory for the
simulated system. example: tyk2

where:
system_dir 	= the system you are studying, example tyk2
date_dir 	= date of the project
pmx_ligands_dir = the folder that will store ligand folders,
		  default 02_ligands

For pmxworkflow: 
system_dir/date_dir/pmx_ligands_dir = pwf.ligPath

struc_dir_setup() will also output the path input you should 
set for the pwf variable when running the pmxworkflow.

generate_yml_files() under development


Ligand_builder completes the file generation required for the pmxworkflow step: workflow1_parameterize_ligands ^ which generates input files for gromacs.

After setting up the ligands, create docked structures.

system_builder's People

Contributors

pitmanme avatar

Stargazers

Pavan Behara avatar Lily Wang avatar

Watchers

James Cloos avatar  avatar

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.