# Directory Structure

### General

The root folder of VirtualFlow contains the following folders:

* `input-files/`
* `output-files/`
* `workflow/`
* `tools/`

The following image shows the four folders within the VFLP root directory and their relationships:

![Shown are the four first-level folders within the root folder of the VirtualFlow root directory and their relationships. Arrows indicate flow of information and/or directives. During the set-up of the workflow by the user, the tools folder is prepared and configured. After that, the other workflow folders are prepared automatically with the command vf\_prepare\_folders.sh. This will in particular prepare the workflow folder. The workflow folder is used by VirtualFlow to run and organize the workflow, which actually processes the input-files (including the ligand database) and generates the output database.](/files/-LVFobFlnczS2ue2ifnL)

### The `input-files` Folder

The `input-files` folder contains files which are not needed by VirtualFlow directly, but by the third-party programs which are used in the workflow which are processing all the ligands. E.g. in the case of VFVS, it will contain the configuration files for the docking programs.

The only exception is the input ligand database, which can be stored in any location (even outside the VirtualFlow root folder) and can be specified in the control file. The reason for this circumstance is that the input ligand database might not only be used for one particular workflow, but multiple instances. Since ligand databases for VirtualFlow can be very large, it can be practical to store it only in a single centralized location.

### The `output-files` Folder

The `output-files` folder is generally intended for all the files which are produced by the third-party programs which are applied in the workflow.&#x20;

It contains two sub-folders:

* `output-files/incomplete`
* `output-files/complete`

The `incomplete` folder contains partially completed ligand collections, which need to be completed by future jobs. The `complete` folder contains the  fully completed ligand collections.&#x20;

For VFLP the `output-files` folder would contain the prepared ligands, in the case of VFVS it would contain the docking results and related output files.&#x20;

### The `workflow` Folder

The `workflow` folder contains all the intermediate and runtime files which are needed and generated by VirtualFlow itself. The third-party programs which are used by the workflow only use the files in the `input-files` folder (and the input ligand database which might be stored elsewhere).&#x20;

### The `tools` Folder

The `tools` folder is not used by VirtualFlow or the third-party programs, but by the user. It is used for setting up, starting, partially controlling, and monitoring the workflow.

The `tools` folder is also the primary working directory of VirtualFlow, meaning that all VirtualFlow user commands (the commands starting with `vf_`) have to be run from this folder. Also the batch jobs which are run by VirtualFlow use the `tools` folder as their working directory.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.virtual-flow.org/documentation-vf1/principles-and-theory/directory-structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
