-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4436f4b
commit 4c2937e
Showing
12 changed files
with
634 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,221 @@ | ||
|
||
#!/usr/bin/env cwl-runner | ||
cwlVersion: v1.1 # See `loadContents: true` below! | ||
|
||
class: CommandLineTool | ||
|
||
label: Wrapper of the AutoDock Vina software. | ||
|
||
doc: |- | ||
This class performs docking of the ligand to a set of grids describing the target protein via the AutoDock Vina software. | ||
|
||
baseCommand: vina # NOTE: Only version >=1.2 supports --batch! | ||
arguments: | ||
# Need to parse box.pdb and pass in each number separately. | ||
# REMARK BOX CENTER: 0.102 0.019 -0.004 SIZE: 30.195 31.940 27.005 | ||
# - "--dir" # Need to explicitly pass --dir . in --batch mode | ||
# - "." | ||
- "--center_x" | ||
- $(inputs.input_box_path.contents.split("\n")[0].split(" ").filter(function(s) {return !isNaN(parseFloat(s))})[0]) | ||
- "--center_y" | ||
- $(inputs.input_box_path.contents.split("\n")[0].split(" ").filter(function(s) {return !isNaN(parseFloat(s))})[1]) | ||
- "--center_z" | ||
- $(inputs.input_box_path.contents.split("\n")[0].split(" ").filter(function(s) {return !isNaN(parseFloat(s))})[2]) | ||
- "--size_x" | ||
- $(inputs.input_box_path.contents.split("\n")[0].split(" ").filter(function(s) {return !isNaN(parseFloat(s))})[3]) | ||
- "--size_y" | ||
- $(inputs.input_box_path.contents.split("\n")[0].split(" ").filter(function(s) {return !isNaN(parseFloat(s))})[4]) | ||
- "--size_z" | ||
- $(inputs.input_box_path.contents.split("\n")[0].split(" ").filter(function(s) {return !isNaN(parseFloat(s))})[5]) | ||
# NOTE: Cannot use a single javascript expression to create the entire arguments list because CWL treats it as a string: | ||
# "the `arguments` field is not valid because value is a str" | ||
# ${ | ||
# var words = inputs.input_box_path.contents.split("\n")[0].split(" "); | ||
# var nums = words.filter(function(s) {return !isNaN(parseFloat(s))}); | ||
# var args = {}; | ||
# args.push("--dir"); // Need to explicitly pass --dir . in --batch mode | ||
# args.push("."); | ||
# args.push("--center_x"); | ||
# args.push(nums[0]); | ||
# args.push("--center_y"); | ||
# args.push(nums[1]); | ||
# args.push("--center_z"); | ||
# args.push(nums[2]); | ||
# args.push("--size_x"); | ||
# args.push(nums[3]); | ||
# args.push("--size_y"); | ||
# args.push(nums[4]); | ||
# args.push("--size_z"); | ||
# args.push(nums[5]); | ||
# return args; | ||
# } | ||
|
||
hints: | ||
DockerRequirement: | ||
dockerPull: jakefennick/autodock_vina | ||
|
||
requirements: | ||
InlineJavascriptRequirement: {} | ||
|
||
inputs: | ||
input_ligand_pdbqt_path: | ||
label: Path to the input PDBQT ligand | ||
doc: |- | ||
Path to the input PDBQT ligand | ||
Type: string | ||
File type: input | ||
Accepted formats: pdbqt | ||
Example file: https://github.com/bioexcel/biobb_vs/raw/master/biobb_vs/test/data/vina/vina_ligand.pdbqt | ||
type: File | ||
format: | ||
- edam:format_1476 | ||
inputBinding: | ||
prefix: --ligand | ||
|
||
input_receptor_pdbqt_path: | ||
label: Path to the input PDBQT receptor | ||
doc: |- | ||
Path to the input PDBQT receptor | ||
Type: string | ||
File type: input | ||
Accepted formats: pdbqt | ||
Example file: https://github.com/bioexcel/biobb_vs/raw/master/biobb_vs/test/data/vina/vina_receptor.pdbqt | ||
type: File | ||
format: | ||
- edam:format_1476 | ||
inputBinding: | ||
#position: 2 | ||
prefix: --receptor | ||
|
||
input_box_path: | ||
label: Path to the PDB containing the residues belonging to the binding site | ||
doc: |- | ||
Path to the PDB containing the residues belonging to the binding site | ||
Type: string | ||
File type: input | ||
Accepted formats: pdb | ||
Example file: https://github.com/bioexcel/biobb_vs/raw/master/biobb_vs/test/data/vina/vina_box.pdb | ||
type: File | ||
format: | ||
- edam:format_1476 | ||
# inputBinding: | ||
# position: 3 | ||
# prefix: --input_box_path | ||
loadContents: true # requires cwlVersion: v1.1 | ||
# See https://www.commonwl.org/v1.1/CommandLineTool.html#Changelog | ||
# Curiously, cwlVersion: v1.0 allows loadContents for outputs, but not inputs. | ||
|
||
output_pdbqt_path: | ||
label: Path to the output PDBQT file | ||
doc: |- | ||
Path to the output PDBQT file | ||
Type: string | ||
File type: output | ||
Accepted formats: pdbqt | ||
Example file: https://github.com/bioexcel/biobb_vs/raw/master/biobb_vs/test/reference/vina/ref_output_vina.pdbqt | ||
type: string | ||
format: | ||
- edam:format_1476 | ||
inputBinding: | ||
prefix: --out | ||
default: system.pdbqt | ||
|
||
output_log_path: | ||
label: Path to the log file | ||
doc: |- | ||
Path to the log file | ||
Type: string | ||
File type: output | ||
Accepted formats: log | ||
Example file: https://github.com/bioexcel/biobb_vs/raw/master/biobb_vs/test/reference/vina/ref_output_vina.log | ||
type: string | ||
format: | ||
- edam:format_2330 | ||
default: system.log | ||
|
||
cpu: | ||
label: The number of CPUs to use | ||
doc: |- | ||
The number of CPUs to use | ||
Type: int | ||
type: int? | ||
format: | ||
- edam:format_2330 | ||
inputBinding: | ||
prefix: --cpu | ||
default: 1 | ||
|
||
exhaustiveness: | ||
label: exhaustiveness of the global search (roughly proportional to time). | ||
doc: |- | ||
exhaustiveness of the global search (roughly proportional to time). | ||
Type: int | ||
type: int? | ||
format: | ||
- edam:format_2330 | ||
inputBinding: | ||
prefix: --exhaustiveness | ||
default: 8 | ||
|
||
num_modes: | ||
label: maximum number of binding modes to generate | ||
doc: |- | ||
Tmaximum number of binding modes to generate | ||
Type: int | ||
type: int? | ||
format: | ||
- edam:format_2330 | ||
inputBinding: | ||
prefix: --num_modes | ||
default: 9 | ||
|
||
min_rmsd: | ||
label: The minimum RMSD between output poses | ||
doc: |- | ||
The minimum RMSD between output poses | ||
Type: int | ||
type: int? | ||
format: | ||
- edam:format_2330 | ||
inputBinding: | ||
prefix: --min_rmsd | ||
default: 1 | ||
|
||
energy_range: | ||
label: maximum energy difference between the best binding mode and the worst one displayed (kcal/mol). | ||
doc: |- | ||
maximum energy difference between the best binding mode and the worst one displayed (kcal/mol). | ||
Type: int | ||
type: int? | ||
format: | ||
- edam:format_2330 | ||
inputBinding: | ||
prefix: --energy_range | ||
default: 3 | ||
|
||
outputs: | ||
output_pdbqt_path: | ||
label: Path to the output PDBQT file | ||
doc: |- | ||
Path to the output PDBQT file | ||
type: File | ||
outputBinding: | ||
glob: $(inputs.output_pdbqt_path) | ||
format: edam:format_1476 | ||
|
||
output_log_path: | ||
label: Path to the log file | ||
doc: |- | ||
Path to the log file | ||
type: File | ||
outputBinding: | ||
glob: $(inputs.output_log_path) | ||
format: edam:format_2330 | ||
|
||
stdout: $(inputs.output_log_path) | ||
|
||
$namespaces: | ||
edam: https://edamontology.org/ | ||
|
||
$schemas: | ||
- https://raw.githubusercontent.com/edamontology/edamontology/master/EDAM_dev.owl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,129 @@ | ||
#!/usr/bin/env cwl-runner | ||
cwlVersion: v1.0 | ||
|
||
class: CommandLineTool | ||
|
||
label: This class is a wrapper of the Open Babel tool. | ||
|
||
doc: |- | ||
Small molecule format conversion for structures or trajectories. Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. Visit the official page. | ||
baseCommand: obabel | ||
#Usage: | ||
#obabel[-i<input-type>] <infilename> [-o<output-type>] -O<outfilename> [Options] | ||
#... | ||
#Options, other than -i -o -O -m, must come after the input files. | ||
arguments: [$(inputs.input_path), "-h", "-o", "pdb", "-O", $(inputs.output_pdb_path)] | ||
# NOTE: These arguments must be given individually; they cannot be concatenated together. | ||
# (e.g. -xrhn) Otherwise, all but the first argument will be silently ignored! | ||
# pdb format options | ||
# Read Options e.g. -as | ||
# s Output single bonds only | ||
# b Disable bonding entirely | ||
# c Ignore CONECT records | ||
# Write Options, e.g. -xo | ||
# n Do not write duplicate CONECT records to indicate bond order | ||
# o Write origin in space group label (CRYST1 section) | ||
hints: | ||
DockerRequirement: | ||
dockerPull: quay.io/biocontainers/biobb_chemistry:4.0.0--pyhdfd78af_1 | ||
requirements: | ||
InlineJavascriptRequirement: {} | ||
inputs: | ||
first_molecule: | ||
label: Index of the first molecule (1-based) | ||
doc: |- | ||
Input Index of the first molecule (1-based) | ||
Type: string? | ||
type: string? | ||
format: | ||
- edam:format_2330 # 'Textual format' | ||
inputBinding: | ||
prefix: -f | ||
last_molecule: | ||
label: Index of the last molecule (1-based) | ||
doc: |- | ||
Input Index of the last molecule (1-based) | ||
Type: string? | ||
type: string? | ||
format: | ||
- edam:format_2330 # 'Textual format' | ||
inputBinding: | ||
prefix: -l | ||
input_path: | ||
label: Path to the input file | ||
doc: |- | ||
Path to the input file | ||
Type: string | ||
File type: input | ||
Accepted formats: dat, ent, fa, fasta, gro, inp, log, mcif, mdl, mmcif, mol, mol2, pdb, pdbqt, png, sdf, smi, smiles, txt, xml, xtc | ||
Example file: https://github.com/bioexcel/biobb_chemistry/raw/master/biobb_chemistry/test/data/babel/babel.smi | ||
type: File | ||
format: | ||
- edam:format_1637 | ||
- edam:format_1476 | ||
- edam:format_1929 | ||
- edam:format_1929 | ||
- edam:format_2033 | ||
- edam:format_3878 | ||
- edam:format_2030 | ||
- edam:format_1477 | ||
- edam:format_3815 | ||
- edam:format_1477 | ||
- edam:format_3815 | ||
- edam:format_3816 | ||
- edam:format_1476 | ||
- edam:format_1476 | ||
- edam:format_3603 | ||
- edam:format_3814 | ||
- edam:format_1196 | ||
- edam:format_1196 | ||
- edam:format_2033 | ||
- edam:format_2332 | ||
- edam:format_3875 | ||
output_pdb_path: | ||
label: Path to the output file | ||
doc: |- | ||
Path to the output file | ||
Type: string | ||
File type: output | ||
Accepted formats: pdb | ||
type: string | ||
format: | ||
- edam:format_1476 # pdb | ||
default: system.pdb | ||
arg1: | ||
label: Additional arguments | ||
doc: |- | ||
Additional arguments | ||
Type: string? | ||
type: string? | ||
format: | ||
- edam:format_2330 # 'Textual format' | ||
inputBinding: | ||
position: 1 | ||
outputs: | ||
output_pdb_path: | ||
label: Path to the output file | ||
doc: |- | ||
Path to the output file | ||
type: File | ||
outputBinding: | ||
glob: $(inputs.output_pdb_path) | ||
format: edam:format_1476 # pdb | ||
$namespaces: | ||
edam: https://edamontology.org/ | ||
$schemas: | ||
- https://raw.githubusercontent.com/edamontology/edamontology/master/EDAM_dev.owl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.