Skip to content

Commit f3193bc

Browse files
bertranMiquelgbg141
authored andcommitted
Readme update
1 parent 34514ee commit f3193bc

File tree

1 file changed

+73
-17
lines changed

1 file changed

+73
-17
lines changed

README.md

Lines changed: 73 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,78 @@
1-
# Molecule Ring & Close Atoms Lifting (Graph to Combinatorial)
2-
This notebook imports QM9 dataset and applies a lifting from a graph molecular representation to a combinatorial complex. Then, a neural network is run using the loaded data.
1+
# ICML Topological Deep Learning Challenge 2024: Beyond the Graph Domain
2+
Official repository for the Topological Deep Learning Challenge 2024, jointly organized by [TAG-DS](https://www.tagds.com) & PyT-Team and hosted by the [Geometry-grounded Representation Learning and Generative Modeling (GRaM) Workshop](https://gram-workshop.github.io) at ICML 2024.
33

4-
Using [QM9 dataset](https://paperswithcode.com/dataset/qm9), we implement a lifting from a molecule graph to a combinatorial complex based on two points:
5-
- The ring information of the molecule. Rings will be represented as 2-cells in the combinatorial complex.
6-
- The distance between atoms in the molecule. Distances between atoms will be computed. If the atoms are under a predefined threshold, they will be considered as close and groupped together. This clusters will be introduced as hyperedges in the combinatorial complex.
4+
## Relevant Information
5+
- The deadline is **July 12th, 2024 (Anywhere on Earth)**. Participants are welcome to modify their submissions until this time.
6+
- Please, check out the [main webpage of the challenge](https://pyt-team.github.io/packs/challenge.html) for the full description of the competition (motivation, submission requirements, evaluation, etc.)
77

8-
So far, to the best of our knowledge, it is the first implementation of a molecule as a combinatorial complex, combining both hypergraphs and cell complexes.
8+
## Brief Description
9+
The main purpose of the challenge is to further expand the current scope and impact of Topological Deep Learning (TDL), enabling the exploration of its applicability in new contexts and scenarios. To do so, we propose participants to design and implement lifting mappings between different data structures and topological domains (point-clouds, graphs, hypergraphs, simplicial/cell/combinatorial complexes), potentially bridging the gap between TDL and all kinds of existing datasets.
910

10-
Here, the elements are the following:
11-
- **Nodes**: Atoms in the molecule.
12-
- **Edges**: Bonds between atoms.
13-
- **Hyperedges**: Clusters of atoms that are close to each other.
14-
- **2-cells**: Rings in the molecule.
1511

16-
Additionally, attributes inspired by those used in [(Battiloro et al., 2024)](https://arxiv.org/abs/2405.15429) are incorporated into the elements, enhancing the representation of the molecule.
17-
The attributes are:
18-
- **Node**: Atom type, atomic number, and chirality.
19-
- **Edge**: Bond type, conjugation and stereochemistry.
20-
- **Rings**: Ring size, aromaticity, heteroatoms, saturation, hydrophobicity, electrophilicity, nucleophilicity, and polarity.
12+
## General Guidelines
13+
Everyone can participate and participation is free --only principal PyT-Team developers are excluded. It is sufficient to:
14+
- Send a valid Pull Request (i.e. passing all tests) before the deadline.
15+
- Respect Submission Requirements (see below).
2116

22-
This pull request is done under the team formed by: Bertran Miquel Oliver, Manel Gil Sorribes, Alexis Molina
17+
Teams are accepted, and there is no restriction on the number of team members. An acceptable Pull Request automatically subscribes a participant/team to the challenge.
18+
19+
We encourage participants to start submitting their Pull Request early on, as this helps addressing potential issues with the code. Moreover, earlier Pull Requests will be given priority consideration in the case of multiple submissions of similar quality implementing the same lifting.
20+
21+
A Pull Request should contain no more than one lifting. However, there is no restriction on the number of submissions (Pull Requests) per participant/team.
22+
23+
## Basic Setup
24+
To develop on your machine, here are some tips.
25+
26+
First, we recommend using Python 3.11.3, which is the python version used to run the unit-tests.
27+
28+
For example, create a conda environment:
29+
```bash
30+
conda create -n topox python=3.11.3
31+
conda activate topox
32+
```
33+
34+
Then:
35+
36+
1. Clone a copy of tmx from source:
37+
38+
```bash
39+
git clone [email protected]:pyt-team/challenge-icml-2024.git
40+
cd challenge-icml-2024
41+
```
42+
43+
2. Install tmx in editable mode:
44+
45+
```bash
46+
pip install -e '.[all]'
47+
```
48+
**Notes:**
49+
- Requires pip >= 21.3. Refer: [PEP 660](https://peps.python.org/pep-0660/).
50+
- On Windows, use `pip install -e .[all]` instead (without quotes around `[all]`).
51+
52+
4. Install torch, torch-scatter, torch-sparse with or without CUDA depending on your needs.
53+
54+
```bash
55+
pip install torch==2.0.1 --extra-index-url https://download.pytorch.org/whl/${CUDA}
56+
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.0.1+${CUDA}.html
57+
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.0.0+${CUDA}.html
58+
```
59+
60+
where `${CUDA}` should be replaced by either `cpu`, `cu102`, `cu113`, or `cu115` depending on your PyTorch installation (`torch.version.cuda`).
61+
62+
5. Ensure that you have a working tmx installation by running the entire test suite with
63+
64+
```bash
65+
pytest
66+
```
67+
68+
In case an error occurs, please first check if all sub-packages ([`torch-scatter`](https://github.com/rusty1s/pytorch_scatter), [`torch-sparse`](https://github.com/rusty1s/pytorch_sparse), [`torch-cluster`](https://github.com/rusty1s/pytorch_cluster) and [`torch-spline-conv`](https://github.com/rusty1s/pytorch_spline_conv)) are on its latest reported version.
69+
70+
6. Install pre-commit hooks:
71+
72+
```bash
73+
pre-commit install
74+
```
75+
76+
## Questions
77+
78+
Feel free to contact us through GitHub issues on this repository, or through the [Geometry and Topology in Machine Learning slack](https://tda-in-ml.slack.com/join/shared_invite/enQtOTIyMTIyNTYxMTM2LTA2YmQyZjVjNjgxZWYzMDUyODY5MjlhMGE3ZTI1MzE4NjI2OTY0MmUyMmQ3NGE0MTNmMzNiMTViMjM2MzE4OTc#/). Alternatively, you can contact us via mail at any of these accounts: [email protected], [email protected].

0 commit comments

Comments
 (0)