MagNET / requirements.txt
ekwan16's picture
Add files using upload-large-folder tool
fefb9a6 verified
Raw
History Blame Contribute Delete
2.1 kB
# Dependencies for the dataset readers, the analysis code, and reproducing the figures/tables
# (reproduce.py). This is NOT the inference stack: `pip install magnet-nmr` and the Option B checkout
# pull torch from magnet/pyproject.toml and magnet/requirements.txt instead, so nothing here reaches
# an inference-only install.
# Loose floors so a future release can't silently break CI; tests also need pytest.
# numpy + h5py cover the sigma readers; the delta22 reader additionally uses
# pandas (DataFrame assembly), openpyxl (reads the experimental .xlsx), and tqdm.
numpy>=1.20
h5py>=3.0
pandas>=1.3
openpyxl>=3.0
tqdm>=4.0
# the leveling-effect analysis (analysis/code/leveling.py) and its tests use scikit-learn
# for the principal-components step. matplotlib + adjustText are needed only to redraw its
# figures, not to run the tests, so they are not listed here.
scikit-learn>=1.0
# the applications analysis (analysis/code/applications.py) fits the composite linear model with
# statsmodels. Its figure notebooks also draw boxplots with matplotlib + seaborn; those are needed
# only to redraw the figures (not to run the readers or the tests), and seaborn pulls matplotlib in
# as a dependency.
statsmodels>=0.13
seaborn>=0.12
# the DFT8K functional-group analysis (analysis/code/dft8k_residuals.py's
# functional_group_errors/find_extreme_residual, used by fig5b_dft8k.ipynb) parses each molecule's
# SMILES and matches functional-group substructures with RDKit. Not needed for the rest of the
# repo's readers or tests.
rdkit>=2023.9
# Reproducing the figures and tables (reproduce.py) executes the analysis notebooks, which draw with
# matplotlib (adjustText places the leveling-figure labels) and use scipy directly. matplotlib and
# scipy already arrive transitively via seaborn and scikit-learn; they are listed explicitly because
# the notebooks import them. nbconvert + ipykernel are the headless notebook-execution stack
# reproduce.py drives; they are the only reason a plain reader/test run does not need them.
matplotlib>=3.5
scipy>=1.7
adjustText>=1.0
nbconvert>=7.0
ipykernel>=6.0