# Tools

## Slack

Online chat open during and after the conference. Each participant should receive a private sign in to the #ai-workshop channel

## Python

Programming language that we will use throughout the course. It is characterized for being an "object-oriented" language.

### Pandas

[Python package](https://pandas.pydata.org/docs/index.html) to work with tabular data (i,e .xlsx, .csv ...). It is loaded into a Google Colab or a Jupyter Notebook with the following command (pd is the common pandas abbreviation):

`import pandas as pd`

### Matplotlib

[Python package](https://matplotlib.org/stable/users/index.html) for creating all kinds of plots.  It is loaded into a Google Colab or a Jupyter Notebook with the following command (plt is the common matplotlib abbreviation):

`import matplotlib.pyplot as plt`&#x20;

### RDKit

The largest chemioinformatics [Python Package](https://www.rdkit.org/docs/). Among many other functions, it allows the user to standardise molecules, draw chemical structures and create fingerprints for molecular representation.  It is loaded into a Google Colab or a Jupyter Notebook with the following command:

`import rdkit`

RDKit is a very large package, and we usually import specific functions to work with:

`from rdkit import Chem`

### Umap-learn

[Umap-learn](https://umap-learn.readthedocs.io/en/latest/) is a python package to perform dimension reduction with a Uniform Manifold Approximation and Projection (UMAP). It is very convenient to visualise, in our case, a dataset of chemical entities as a single 2D scatter plot, where each dot represents a molecule.

It is loaded into a Google Colab or a Jupyter Notebook with the following command:

`import umap`

### SciKit-learn

[Scikit-learn](https://scikit-learn.org/stable/) (sklearn) is a python package containing several algorithms to perform supervised and unsupervised machine learning.

`import sklearn`

{% hint style="warning" %}
While pandas and matplotlib come preinstalled in Google Colab, RDKit, UMAP and SKLEARN must be installed using the `!pip install` command
{% endhint %}

## Google Colaboratory

Google Colaboratory (Colab)  is a Jupyter notebook that allows users to write and execute Python code for free in Google cloud. It runs fully on Chrome and does not require additional installations, aside from a Google account and internet connection. If you need, you can also run Colab on your [local hardware](https://research.google.com/colaboratory/local-runtimes.html).

Colab is not directly connected to the user's Google Drive, but this can easily be achieved by running the following command:

```
from google.colab import drive
drive.mount('/content/drive')
```

{% hint style="danger" %}
If you close Colab, or disconnect the runtime, any package installed will disappear so you will need to run all the relevant cells again.
{% endhint %}

## Ersilia Model Hub

The Ersilia Model Hub is a platform of open source pretrained AI/ML models for drug discovery, developed and maintained by the Ersilia Open Source Initiative. It is licensed under a GPLv3 OS license.&#x20;

* [List](https://ersilia.io) of available models
* Open source [code](https://github.com/ersilia-os/ersilia)
* [Documentation](https://ersilia.gitbook.io/ersilia-book/)

If you use the Ersilia Model Hub in your research, please [cite us](https://github.com/ersilia-os/ersilia/blob/master/CITATION.cff).

## Command Line Interface

Text based user interface used to run programs, manage computer files and interact with the computer. The default CLI in UNIX systems (Linux and MacOS) is called Terminal, in Windows is the Command Prompt or the Windows Power Shell

## Git

Free and open source [software](https://git-scm.com/) for distributed version control. It allows to track changes in any set of files, speeding up collaborative work. It needs to be installed in your local system.

## GitHub

[Internet-hosting service](https://github.com) for software development and version control based on Git. It is a platform where users can collaborate and contribute to open source projects.


---

# 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://ersilia.gitbook.io/event-fund/documents/tools.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.
