Skip to content

Commit

Permalink
help
Browse files Browse the repository at this point in the history
  • Loading branch information
faneshala committed May 26, 2024
2 parents 1be39d0 + 7dede84 commit 0f2eafb
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 58 deletions.
98 changes: 40 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,69 +14,57 @@ The Chemical Equation Equilibrator is a Python program that balances and equilib

## Requirements

- NumPy: Required for handling arrays and matrices.
- [NumPy](https://github.com/numpy/numpy): Required for handling arrays and matrices.
- [RDKit](https://github.com/rdkit/rdkit): A cheminformatics toolkit used for parsing SMILES strings and generating 2D molecular structures.
- [PuLP](https://coin-or.github.io/pulp/): A linear programming library used for solving integer linear programming problems.
- [rxnmapper](https://github.com/rxn4chemistry/rxnmapper): A package for mapping reactions.
- [IPython](https://ipython.org/): Interactive computing in Python.
- [requests](https://requests.readthedocs.io/en/latest/): HTTP library for making requests.
- [base64](https://docs.python.org/3/library/base64.html#): Library for base64 encoding and decoding.
- [chemicals](https://github.com/CalebBell/chemicals): A package for chemical properties.
- [streamlit](https://streamlit.io/): Used for creating interactive web apps.
- [Rxn-INSIGHT](https://github.com/schwallergroup/Rxn-INSIGHT): Open-source algorithm, written in python, to classify and name chemical reactions, and suggest reaction conditions based on similarity and popularity.

All of the test environments can be run using the command tox from the top directory.
Alternatively, individual test environments can be run using the -e flag as
in tox -e env-name. To run the tests, tests with coverage report, style checks, and
docs build, respectively:
```
pip install numpy
tox -e py3
tox -e py3-coverage
tox -e style
tox -e docs
```
## Installation

- RDKit: A cheminformatics toolkit used for parsing SMILES strings and generating 2D molecular structures.

Ensure you have the required dependencies installed: NumPy, RDKit, and PuLP, PIL, rxnmapper, IPython, request and Rxn-INSIGHT.
```
pip install -c conda-forge rdkit
pip install numpy
```

- PuLP: A linear programming library used for solving integer linear programming problems.

```
pip install pulp
pip install -c conda-forge rdkit
```

- PIL: Python Imaging Library used for image manipulation.

```
pip install pillow
pip install pulp
```

- rxnmapper: A package for mapping reactions.

```
pip install rxnmapper
```

- IPython:Interactive computing in Python.

```
pip install ipython
```

- request:HTTP library for making requests.

```
pip install request
pip install requests
```

- base64 : Library for base64 encoding and decoding.

```
pip install pybase64
```

- chemicals: A package for chemical properties.

```
pip install chemicals
```

- streamlit: For creating interactive web apps

```
pip install streamlit
```


- Rxn-INSIGHT relies on NumPy, Pandas, RDKit, RDChiral, and RXNMapper.

A virtual environment can be installed with Anaconda as follows:
```
console
Expand All @@ -96,31 +84,25 @@ and build the docs:
pip install -e ".[test,doc]"
```

All of the test environments can be run using the command tox from the top directory.
Alternatively, individual test environments can be run using the -e flag as
in tox -e env-name. To run the tests, tests with coverage report, style checks, and
docs build, respectively:
```
tox -e py3
tox -e py3-coverage
tox -e style
tox -e docs
```
## Installing ChemBalencer
you can use pip:

```
pip install ChemBalancer
```

## Usage

1. Ensure you have the required dependencies installed: NumPy, RDKit, and PuLP, PIL, rxnmapper, IPython, request and Rxn-INSIGHT.
2. Run the Python script chemical_equation_equilibrator.py.
3. Follow the prompts to input the number of reactants and products, as well as the SMILES or names strings for each.
4. The program will automatically balance the chemical equation.
5. It will display the balanced reaction.
6. It will calculate standard enthropy, enthalpy and free Gibbs energy at a given temperature and display them.
1. Clone this repository and navigate to it:
```
git clone https://github.com/Albericvgn/ChemBalancer
cd ChemBalancer
```

2. To open the application, run the following command:
```
streamlit run ChemBalancerInterface.py
```

3. Once the streamlit application is open and running, follow these steps to balance your reaction:
- Select the desired format that you would like to input the reactants/products in (name or SMILES).
- Input these compounds, separating them with a comma.
- Input the temperature at which you wish to study this reaction (in Kelvins).
- Click on the 'Balance Equation' button to generate the balanced reaction as well as the thermochemical data.


## Reference
Expand Down
6 changes: 6 additions & 0 deletions notebooks/report.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ and this is the result he got.

He now can choose to clear everything to do the same thing for a new equation.

## Challenges faced

During the whole project we faced many challenges. From the start with the decision on ho to design the interaction with the users. This led to the actual setting where the user can choose what to input for its reaction.
The balance of the equation was less of a struggle as it really used skills we developped during the semester ans last year. The following challege was the represenation of the reaction which guided us in many directions and was very time-consuming. In the end the vsg was a great compromise as is it easy to undestand while keeping the major part of informations on the compounds structure.
The biggest challenge was the organization of the python package with all the constrincts and requierments that it goes with (tests, notebook...)

## Conclusion:

The Chemical Equation Balancer offers a convenient and efficient solution for balancing chemical equations, having a visual representation of them and analyzing reaction thermodynamics. By automating the balancing process and providing thermodynamic insights, it streamlines chemical analysis tasks and aids in the understanding of reaction kinetics and energetics. This tool serves as a valuable resource for students, researchers, and professionals working in the field of chemistry.

0 comments on commit 0f2eafb

Please sign in to comment.