diff --git a/models/alignn/alignn.yml b/models/alignn/alignn.yml
index 32d4f808..54120b2f 100644
--- a/models/alignn/alignn.yml
+++ b/models/alignn/alignn.yml
@@ -40,6 +40,7 @@ targets: E
model_params: 4_026_753 # pre-trained 'mp_e_form_alignn' and our custom MBD checkpoint have the same size
# for other hyperparams, see alignn-config.json
n_estimators: 1
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
# model trained from specifically for MBD
training_set: [MP 2022]
diff --git a/models/alignn_ff/alignn-ff.yml b/models/alignn_ff/alignn-ff.yml
index a84d6ac0..9f4afd65 100644
--- a/models/alignn_ff/alignn-ff.yml
+++ b/models/alignn_ff/alignn-ff.yml
@@ -33,6 +33,7 @@ url: https://jarvis.nist.gov/jalignn
doi: https://doi.org/10.1039/D2DD00096B
paper: https://arxiv.org/abs/2209.05554
pypi: https://pypi.org/project/alignn
+pr_url: https://github.com/janosh/matbench-discovery/pull/37
requirements:
ase: 3.22.0
diff --git a/models/bowsr/bowsr.yml b/models/bowsr/bowsr.yml
index 922ee49e..6f5e92de 100644
--- a/models/bowsr/bowsr.yml
+++ b/models/bowsr/bowsr.yml
@@ -21,6 +21,7 @@ url: https://materialsvirtuallab.github.io/maml
doi: https://doi.org/10.1016/j.mattod.2021.08.012
paper: https://arxiv.org/abs/2104.10242
pypi: https://pypi.org/project/maml
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
requirements:
maml: 2022.9.20
diff --git a/models/cgcnn/cgcnn+p.yml b/models/cgcnn/cgcnn+p.yml
index d61f675e..10dc70aa 100644
--- a/models/cgcnn/cgcnn+p.yml
+++ b/models/cgcnn/cgcnn+p.yml
@@ -19,6 +19,7 @@ authors:
repo: https://github.com/JasonGibsonUfl/Augmented_CGCNN
doi: https://doi.org/10.1038/s41524-022-00891-8
paper: https://arxiv.org/abs/2202.13947
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
requirements:
aviary: https://github.com/CompRhys/aviary/releases/tag/v0.1.0
diff --git a/models/cgcnn/cgcnn.yml b/models/cgcnn/cgcnn.yml
index 00eb8773..2d2dd64f 100644
--- a/models/cgcnn/cgcnn.yml
+++ b/models/cgcnn/cgcnn.yml
@@ -15,6 +15,7 @@ authors:
repo: https://github.com/CompRhys/aviary
doi: https://doi.org/10.1103/PhysRevLett.120.145301
paper: https://arxiv.org/abs/1710.10324
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
requirements:
aviary: https://github.com/CompRhys/aviary/releases/tag/v0.1.0
diff --git a/models/chgnet/chgnet.yml b/models/chgnet/chgnet.yml
index 706076b8..0f40c85f 100644
--- a/models/chgnet/chgnet.yml
+++ b/models/chgnet/chgnet.yml
@@ -33,6 +33,7 @@ repo: https://github.com/CederGroupHub/chgnet
doi: https://doi.org/10.48550/arXiv.2302.14231
paper: https://arxiv.org/abs/2302.14231
pypi: https://pypi.org/project/chgnet
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
requirements:
torch: 1.11.0
diff --git a/models/eqV2/eqV2-m-omat-mp-salex.yml b/models/eqV2/eqV2-m-omat-mp-salex.yml
index da803c3d..4b39decd 100644
--- a/models/eqV2/eqV2-m-omat-mp-salex.yml
+++ b/models/eqV2/eqV2-m-omat-mp-salex.yml
@@ -36,6 +36,7 @@ doi: https://doi.org/10.48550/arXiv.2410.12771
paper: https://arxiv.org/abs/2410.12771
url: https://huggingface.co/fairchem/OMAT24
pypi: https://pypi.org/project/fairchem-core
+pr_url: https://github.com/janosh/matbench-discovery/pull/146
requirements:
fairchem-core: 1.2.1
diff --git a/models/eqV2/eqV2-s-dens-mp.yml b/models/eqV2/eqV2-s-dens-mp.yml
index 0bb68caf..0729759e 100644
--- a/models/eqV2/eqV2-s-dens-mp.yml
+++ b/models/eqV2/eqV2-s-dens-mp.yml
@@ -36,6 +36,7 @@ doi: https://doi.org/10.48550/arXiv.2410.12771
paper: https://arxiv.org/abs/2410.12771
url: https://huggingface.co/fairchem/OMAT24
pypi: https://pypi.org/project/fairchem-core
+pr_url: https://github.com/janosh/matbench-discovery/pull/146
requirements:
fairchem-core: 1.2.1
diff --git a/models/gnome/gnome.yml b/models/gnome/gnome.yml
index 3657eb01..6ad7e4ef 100644
--- a/models/gnome/gnome.yml
+++ b/models/gnome/gnome.yml
@@ -24,6 +24,7 @@ authors:
repo: https://github.com/google-deepmind/materials_discovery
doi: https://doi.org/10.1038/s41586-023-06735-9
paper: https://nature.com/articles/s41586-023-06735-9
+pr_url: https://github.com/janosh/matbench-discovery/pull/84
requirements:
e3nn-jax: 0.20.3
diff --git a/models/grace2l_r6/grace2l-r6.yml b/models/grace2l_r6/grace2l-r6.yml
index 8ba45f4f..94654d7d 100644
--- a/models/grace2l_r6/grace2l-r6.yml
+++ b/models/grace2l_r6/grace2l-r6.yml
@@ -22,7 +22,8 @@ trained_by:
repo: https://github.com/ICAMS/grace-tensorpotential
doi: https://doi.org/10.1103/PhysRevX.14.021036
paper: https://journals.aps.org/prx/abstract/10.1103/PhysRevX.14.021036
-url: https://gracemaker.readthedocs.io/en/latest/gracemaker/foundation/
+url: https://gracemaker.readthedocs.io/en/latest/gracemaker/foundation
+pr_url: https://github.com/janosh/matbench-discovery/pull/160
requirements:
tensorpotential: 0.4.4
diff --git a/models/m3gnet/m3gnet.yml b/models/m3gnet/m3gnet.yml
index c4d7a446..183c80ab 100644
--- a/models/m3gnet/m3gnet.yml
+++ b/models/m3gnet/m3gnet.yml
@@ -18,6 +18,7 @@ url: https://materialsvirtuallab.github.io/m3gnet
doi: https://doi.org/10.1038/s43588-022-00349-3
paper: https://arxiv.org/abs/2202.02450
pypi: https://pypi.org/project/matgl
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
requirements:
m3gnet: 0.1.0
diff --git a/models/mace/mace-mp-0.yml b/models/mace/mace-mp-0.yml
index 0f53dde0..8ecdc35b 100644
--- a/models/mace/mace-mp-0.yml
+++ b/models/mace/mace-mp-0.yml
@@ -30,10 +30,12 @@ trained_by:
affiliation: Lawrence Berkeley National Laboratory
orcid: https://orcid.org/0000-0002-4017-7084
github: https://github.com/chiang-yuan
+
repo: https://github.com/ACEsuit/mace
doi: https://doi.org/10.48550/arXiv.2401.00096
paper: https://arxiv.org/abs/2401.00096
pypi: https://pypi.org/project/mace-torch
+pr_url: https://github.com/janosh/matbench-discovery/pull/48
requirements:
mace-torch: 0.3.3
diff --git a/models/mace/mace-mpa-0.yml b/models/mace/mace-mpa-0.yml
index f2237965..13fe188b 100644
--- a/models/mace/mace-mpa-0.yml
+++ b/models/mace/mace-mpa-0.yml
@@ -31,10 +31,12 @@ trained_by:
affiliation: University of Cambridge
email: ilyes.batatia@ens-paris-saclay.fr
orcid: https://orcid.org/0000-0001-6915-9851
+
repo: https://github.com/ACEsuit/mace
doi: https://doi.org/10.48550/arXiv.2401.00096
paper: https://arxiv.org/abs/2401.00096
pypi: https://pypi.org/project/mace-torch
+pr_url: https://github.com/janosh/matbench-discovery/pull/175
requirements:
mace-torch: 0.3.9
diff --git a/models/mattersim/mattersim-v1.yml b/models/mattersim/mattersim-v1.yml
index 08a97e66..dd329691 100644
--- a/models/mattersim/mattersim-v1.yml
+++ b/models/mattersim/mattersim-v1.yml
@@ -76,6 +76,7 @@ authors:
repo: https://github.com/microsoft/mattersim
doi: https://doi.org/10.48550/arXiv.2405.04967
paper: https://arxiv.org/abs/2405.04967
+pr_url: https://github.com/janosh/matbench-discovery/pull/178
requirements:
Graphormer: v1
diff --git a/models/megnet/megnet.yml b/models/megnet/megnet.yml
index 0b867573..1c13c095 100644
--- a/models/megnet/megnet.yml
+++ b/models/megnet/megnet.yml
@@ -26,6 +26,7 @@ url: https://materialsvirtuallab.github.io/megnet
doi: https://doi.org/10.1021/acs.chemmater.9b01294
paper: https://arxiv.org/abs/1812.05055
pypi: https://pypi.org/project/megnet
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
requirements:
megnet: 1.3.2
diff --git a/models/orb/orb-mptrj.yml b/models/orb/orb-mptrj.yml
index 3cee0be3..a0282468 100644
--- a/models/orb/orb-mptrj.yml
+++ b/models/orb/orb-mptrj.yml
@@ -30,6 +30,7 @@ repo: https://github.com/orbital-materials/orb-models
url: https://orbitalmaterials.com/post/technical-blog-introducing-the-orb-ai-based-interatomic-potential
doi: https://doi.org/10.48550/arXiv.2410.22570
paper: https://arxiv.org/abs/2410.22570
+pr_url: https://github.com/janosh/matbench-discovery/pull/133
openness: OSOD
trained_for_benchmark: true
diff --git a/models/orb/orb.yml b/models/orb/orb.yml
index 43300a52..2dcba4ee 100644
--- a/models/orb/orb.yml
+++ b/models/orb/orb.yml
@@ -30,6 +30,7 @@ repo: https://github.com/orbital-materials/orb-models
url: https://orbitalmaterials.com/post/technical-blog-introducing-the-orb-ai-based-interatomic-potential
doi: https://doi.org/10.48550/arXiv.2410.22570
paper: https://arxiv.org/abs/2410.22570
+pr_url: https://github.com/janosh/matbench-discovery/pull/133
openness: OSCD
trained_for_benchmark: false
diff --git a/models/sevennet/sevennet-0.yml b/models/sevennet/sevennet-0.yml
index 89340d7a..185f1c82 100644
--- a/models/sevennet/sevennet-0.yml
+++ b/models/sevennet/sevennet-0.yml
@@ -29,6 +29,7 @@ url: https://github.com/MDIL-SNU/SevenNet/tree/afb56e10b6/sevenn/pretrained_pote
doi: https://doi.org/10.1021/acs.jctc.4c00190
paper: https://arxiv.org/abs/2402.03789
pypi: https://pypi.org/project/sevenn
+pr_url: https://github.com/janosh/matbench-discovery/pull/112
openness: OSOD
trained_for_benchmark: false
diff --git a/models/sevennet/sevennet-l3i5.yml b/models/sevennet/sevennet-l3i5.yml
index 593d8e5f..150477a9 100644
--- a/models/sevennet/sevennet-l3i5.yml
+++ b/models/sevennet/sevennet-l3i5.yml
@@ -29,6 +29,7 @@ url: https://github.com/MDIL-SNU/SevenNet/blob/main/sevenn/pretrained_potentials
doi: https://doi.org/10.1021/acs.jctc.4c00190
paper: https://arxiv.org/abs/2402.03789
pypi: https://pypi.org/project/sevenn
+pr_url: https://github.com/janosh/matbench-discovery/pull/172
openness: OSOD
trained_for_benchmark: false
diff --git a/models/voronoi_rf/voronoi-rf.yml b/models/voronoi_rf/voronoi-rf.yml
index 5c9aa904..c3787abc 100644
--- a/models/voronoi_rf/voronoi-rf.yml
+++ b/models/voronoi_rf/voronoi-rf.yml
@@ -18,6 +18,7 @@ repo: https://github.com/janosh/matbench-discovery
doi: https://doi.org/10.1103/PhysRevB.96.024104
paper: https://doi.org/10.1103/PhysRevB.96.024104
pypi: https://pypi.org/project/scikit-learn
+pr_url: https://github.com/janosh/matbench-discovery/commit/f28cc6d
requirements:
matminer: 0.8.0
diff --git a/models/wrenformer/wrenformer.yml b/models/wrenformer/wrenformer.yml
index 68d15b61..c19594c6 100644
--- a/models/wrenformer/wrenformer.yml
+++ b/models/wrenformer/wrenformer.yml
@@ -16,9 +16,7 @@ authors:
affiliation: University of Cambridge
email: re344@cam.ac.uk
orcid: https://orcid.org/0000-0001-6397-0002
-repo: https://github.com/CompRhys/aviary
-doi: https://doi.org/10.1126/sciadv.abn4117
-paper: https://arxiv.org/abs/2106.11132
+
requirements:
aviary: https://github.com/CompRhys/aviary/releases/tag/v0.1.0
torch: 1.11.0
@@ -27,6 +25,11 @@ requirements:
numpy: 1.24.0
pandas: 1.5.1
+repo: https://github.com/CompRhys/aviary
+doi: https://doi.org/10.1126/sciadv.abn4117
+paper: https://arxiv.org/abs/2106.11132
+pr_url: https://github.com/janosh/matbench-discovery/pull/85
+
openness: OSOD
trained_for_benchmark: true
train_task: RP2RE
diff --git a/site/src/app.css b/site/src/app.css
index 1d9cd8e3..3d15b5bb 100644
--- a/site/src/app.css
+++ b/site/src/app.css
@@ -129,9 +129,6 @@ table :is(td, th) {
border: 1px solid gray;
padding: 2pt 4pt;
}
-table.metrics :is(td, th) {
- padding: 2pt 4pt !important;
-}
tbody tr:nth-child(odd) {
background: rgba(0, 0, 0, 0.5);
}
diff --git a/site/src/lib/DiscoveryMetricsTable.svelte b/site/src/lib/MetricsTable.svelte
similarity index 90%
rename from site/src/lib/DiscoveryMetricsTable.svelte
rename to site/src/lib/MetricsTable.svelte
index 104755c5..427cf655 100644
--- a/site/src/lib/DiscoveryMetricsTable.svelte
+++ b/site/src/lib/MetricsTable.svelte
@@ -7,7 +7,7 @@
model_is_compliant,
} from '$lib'
import { pretty_num } from 'elementari'
- import type { HeatmapColumn, ModelData } from './types.ts'
+ import type { HeatmapColumn, ModelData } from './types.js'
export let discovery_set: `full_test_set` | `most_stable_10k` | `unique_prototypes` =
`unique_prototypes`
@@ -20,6 +20,10 @@
{ label: `Params`, tooltip: `Number of trainable model parameters` },
{ label: `Targets`, tooltip: `Target property used to train the model` },
{ label: `Date Added`, tooltip: `Submission date to the leaderboard` },
+ {
+ label: `Links`,
+ tooltip: `Model resources: paper, code repository and submission pull request`,
+ },
]
let columns: HeatmapColumn[]
@@ -165,6 +169,16 @@
Params: `${pretty_num(model.model_params)}`,
Targets: targets_str,
'Date Added': `${model.date_added}`,
+ Links: [
+ model.paper &&
+ `📄`,
+ model.repo &&
+ `📦`,
+ model.pr_url &&
+ `🔗`,
+ ]
+ .filter(Boolean)
+ .join(` `),
}
})
.sort((row1, row2) => (row2.F1 ?? 0) - (row1.F1 ?? 0)) // Sort by F1 score descending
diff --git a/site/src/lib/index.ts b/site/src/lib/index.ts
index bba82e01..7f2b8f51 100644
--- a/site/src/lib/index.ts
+++ b/site/src/lib/index.ts
@@ -8,10 +8,10 @@ import type { ModelMetadata } from './model-schema'
import type { ModelData } from './types'
export { default as TRAINING_SETS } from '$data/training-sets.yml'
-export { default as DiscoveryMetricsTable } from './DiscoveryMetricsTable.svelte'
export { default as Footer } from './Footer.svelte'
export { default as GeoOptMetricsTable } from './GeoOptMetricsTable.svelte'
export { default as HeatmapTable } from './HeatmapTable.svelte'
+export { default as MetricsTable } from './MetricsTable.svelte'
export { default as AuthorBrief } from './ModelAuthor.svelte'
export { default as ModelCard } from './ModelCard.svelte'
export { default as Nav } from './Nav.svelte'
diff --git a/site/src/lib/model-schema.d.ts b/site/src/lib/model-schema.d.ts
index 46afa64e..f8d86dc3 100644
--- a/site/src/lib/model-schema.d.ts
+++ b/site/src/lib/model-schema.d.ts
@@ -31,6 +31,7 @@ export interface ModelMetadata {
paper: string
url?: string
pypi?: string
+ pr_url: string
requirements: {
/**
* This interface was referenced by `undefined`'s JSON-Schema definition
diff --git a/site/src/routes/+page.svelte b/site/src/routes/+page.svelte
index 693caae7..a29d8f81 100644
--- a/site/src/routes/+page.svelte
+++ b/site/src/routes/+page.svelte
@@ -1,6 +1,6 @@