# NMR Web Apps

## Running the scripts online

Just click on the link beside the script. It takes a while for the initial run as the service needs to wake up. As I am using free service, the apps go to sleep when not used for sometime. Once it starts, everything should be fast.

## Running the scripts offline on a computer

### Cloning the repository / Downloading codes

1. On your computer install git. For windows download it from the [Git for Windows](https://gitforwindows.org/). It is also available on CEA Centre Logiciel.
2. On the git terminal, called Git Bash, clone with the command:

```
git clone https://github.com/subhradip-paul/nmr_webapps.git
```

3. Now you will have a directory called nmr\_webapps
4. Navigate to the src folder.

### Preparing Requirements

5. Assuming that you have Python installed in your computer, write:

```
pip install streamlit
```

or run:

```
pip install -r requirements.txt
```

and then run the code using

```
streamlit run homepage.py
```

It will start a local server and the scripts will run from there.

## Summary of scripts

### Dipolar Coupling Calculator [dipole\_calculator.py](https://nmrwebapps-dipolecalculator.streamlit.app/)

The script reads the NMR properties of a nucleus from a .csv file and calculates the dipolar coupling based on the input distance in Angstrom. Alternatively it can also calculate the distance if the user inputs the dipolar coupling.

### Temperature Calculator [temp\_from\_KBr.py](https://nmrwebapps-tempkbr.streamlit.app/)

The script calculates the temperature of a sample, based on the relaxation time of $^79$Br in KBr. More details are in the app.

### Inadequate Efficiency [inadequate\_efficiency.py](https://nmrwebapps-inadequate.streamlit.app/)

The script calculates the inadequate efficiency based on the relaxation time ($T'\_2$) and the J-coupling between the nuclei under observation.

### DNP Sample Prep [dnp\_sample\_prep.py](https://nmrwebapps-dnpsampleprep.streamlit.app/)

The scripts helps to calculate the *weight* of the biradical for a needed concentration where the user knows the volume needed, or calculate the *volume* of solution for a given weight.

### Maximum sensitivity [max\_sensitivity\_fromt1.py](https://nmrwebapps-maxsensitivity.streamlit.app/)

The code gives the recycle delay at which you can ontain the maximum sensitivity. It calculates the build up of the signal as a function of the relaxation time, and then calculates the differential of it. The relaxation modules supported are monoexponential, biexponential, and stretched expoenetial.

### NMR Properties [nmr\_properties.py](https://nmrwebapps-nmrproperties.streamlit.app/)

The script gives you the properties of a nuclei and its isotopes, based on the user selection.


---

# 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://dnp-nmr-in-grenoble.gitbook.io/nmrwebapps/readme.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.
