Home   Teaching   Presentations   Publications   Graduate Students   Curriculum Vitae   Problems   Contact

Deep Learning

Course: Deep Learning

View on GitHub
    Course (Deep Learning):   Deep Learning Tutorials   TensorFlow Tutorials   Graph Neural Networks   Projects   Data Handling

Graph Neural Networks

Graph Neural Networks have received increasing attentions due to their superior performance in many node and graph classification tasks.

Index:

  • Graph Neural Networks
    • Applications and Limitations of Graph Neural Networks
    • Video
    • Survey
    • Graph Convolutionl Networks
    • Graph Auto-Encoders
    • Deep Belief Nets
  • Graph Represetation Learning
  • Courses
  • Books
  • Graph Neural Networks Libraries
    • Deep Graph Library (DGL)
    • Node Classification
    • Graph Classification
    • Graph Nets Library
    • More Libraries
    • Save & Load Graphs
  • Datasets of Graphs
  • Tools for Creating Graphs
  • Molecular Structure Analysis
  • Graph Machine Learning and its Application on Molecular Science
  • Chemical Notations
  • An Introduction to Basic Chemistry and Drugs
    • Chemistry
    • Drug
  • Datasets of Molecules and Their Properties
    • Chemical Datasets
    • Biological Datasets
  • Libraries & Packages
  • Online Softwares
  • Softwares (Draw a Molecule)

Graph Neural Networks

  • Blog: Awesome Resources on Graph Neural Networks by Zonghan Wu. This is a collection of resources related with graph neural networks.
  • Blog: Deep Learning on Graphs: Successes, Challenges, and Next Steps by Michael Bronstein
  • Blog: A Gentle Introduction to Graph Neural Networks
  • Blog: Graph Convolutionl Networks by Thomas Kipf
  • Blog: Graph Convolutional Networks I by Xavier Bresson
  • Blog: Graph Convolutional Networks II by Xavier Bresson
  • Blog: Graph Convolutional Networks III by Alfredo Canziani
  • Blog: Emotion Recognition Using Graph Convolutional Networks by Kevin Shen
  • Blog & NoteBook: Graph Convolutional Network by Qi Huang, Minjie Wang, Yu Gai, Quan Gan, and Zheng Zhang
  • Blog: An Attempt at Demystifying Graph Deep Learning by Eric Ma
  • Blog: Deep Learning on Graphs (a Tutorial) by Gannon
  • Blog: Graph Neural Networks and its Variants
  • Blog: Graph Neural Networks and Recommendations by Yazdotai
  • Blog: Must-Read Papers on Graph Neural Networks (GNN) contributed by Jie Zhou, Ganqu Cui, Zhengyan Zhang and Yushi Bai.
  • Blog: A Gentle Introduction to Graph Neural Networks (Basics, DeepWalk, and GraphSage) by Steeve Huang
  • Blog: Deep Learning with Knowledge Graphs
  • Slide: Graph Neural Networks: Models and Applications by Yao Ma, Wei Jin, Jiliang Tang, Lingfei Wu, and Tengfei Ma

Applications and Limitations of Graph Neural Networks

  • Blog: Applications of Graph Neural Networks by Aishwarya Jadhav
  • Blog: Exciting Applications of Graph Neural Networks by Keita
  • Blog: Can Graph Neural Networks Solve Real-World Problems? by Prince Canuma
  • Blog: Limitations of Graph Neural Networks by Sergei Ivanov

Video

  • Video: Graph Neural Networks: Variations and Applications

Survey

  • Paper: A Comprehensive Survey on Graph Neural Networks by Zonghan Wu, Shirui Pan, Fengwen Chen, Guodong Long, Chengqi Zhang, Philip S. Yu
  • Paper: Relational inductive biases, deep learning, and graph networks
  • Paper: Graph Neural Networks: A Review of Methods and Applications by Jie Zhou, Ganqu Cui, Zhengyan Zhang, Cheng Yang, Zhiyuan Liu, Lifeng Wang, Changcheng Li, Maosong Sun
  • Paper: Attention Models in Graphs: A Survey by John Boaz Lee, Ryan A Rossi, Sungchul Kim, Nesreen K Ahmed, and Eunyee Koh

Graph Auto-Encoders

  • Blog: Tutorial on Variational Graph Auto-Encoders by Fanghao Han

Deep Belief Nets

  • Blog: Deep Learning meets Physics: Restricted Boltzmann Machines Part I by Artem Oppermann
  • Slide: Deep Belief Nets by Geoffrey Hinton

Graph Represetation Learning

  • Tutorial: Representation Learning on Networks by Jure Leskovec
  • Papers: Papers with Code
  • Blog: Graph Represetation Learning by Marco Brambilla
  • Slide: Graph Represetation Learning by William L. Hamilton and Jian Tang
  • Survey: Representation Learning on Graphs: Methods and Applications by William L. Hamilton, Rex Ying, and Jure Leskovec
  • Video: Graph Representation Learning (Stanford university) by Jure Leskovec
  • Thesis: Graph Representation Learning and Graph Classification by Sara Riazi
  • NeurIPS 2019 Workshop (Graph Represetation Learning): Open Problems and Challenges

Courses

  • Blog: Machine Learning with Graphs by Jure Leskovec
  • Blog: Graph Represetation Learning by William L. Hamilton
  • Blog: Graph Neural Networks by Alejandro Ribeiro
  • Blog: Basics of Graph Neural Networks by Zak Jost

Books

  • Blog: Introduction to Graph Neural Networks by Zhiyuan Liu and Jie Zhou
  • Blog: Graph Representation Learning by William L. Hamilton
    • The Pre-Publication

Graph Neural Networks Libraries

Deep Graph Library (DGL)

A Python package that interfaces between existing tensor libraries and data being expressed as graphs.

  • Library: Deep Graph Library (DGL)
    • Install: DGL
  • Paper: Deep Graph Library: Towards Efficient and Scalable Deep Learning on Graphs by Minjie Wang, Lingfan Yu, Da Zheng, Quan Gan, Yu Gai, Zihao Ye, Mufei Li, Jinjing Zhou, Qi Huang, Chao Ma, Ziyue Huang, Qipeng Guo, Hao Zhang, Haibin Lin, Junbo Zhao, Jinyang Li, Alexander Smola, and Zheng Zhang
  • Blog: Hands-on Graph Neural Networks with PyTorch & PyTorch Geometric by Huang Kung-Hsiang
  • Blog: DGL Walkthrough 01: Data by Xinhao Li
  • Blog: When Kernel Fusion Meets Graph Neural Networks By Minjie Wang, Lingfan Yu, Jake Zhao, Jinyang Li, Zheng Zhang
  • Blog: Built-in Message Passing Functions

Node Classification

  • Blog: DGL at a Glance by Minjie Wang, Quan Gan, Jake Zhao, Zheng Zhang

Graph Classification

  • Tutorial: Batched Graph Classification with DGL

Graph Nets Library

A DeepMind’s library for building graph networks in Tensorflow and Sonnet.

  • Blog: Graph Nets Library
  • Jupyter NoteBook: Tutorial of the Graph Nets Library

More Libraries

  • Blog: StellarGraph Machine Learning Library: a Python library for machine learning on graph-structured (or equivalently, network-structured) data.
  • Blog: PyTorch Geometric (PyG) by Matthias Fey. PyTorch Geometric is a geometric deep learning extension library for PyTorch.

Save & Load Graphs

  • Blog: Reading and Writing Graphs

Datasets of Graphs

  • Blog: Open Graph Benchmark is a collection of realistic, large-scale, and diverse benchmark datasets for machine learning on graphs.
  • Blog: Network Repository. An Interactive Scientific Network Data Repository: The first interactive data and network data repository with real-time visual analytics. Network repository is not only the first interactive repository, but also the largest network repository with thousands of donations in 30+ domains (from biological to social network data). This repository was made by Ryan A. Rossi and Nesreen K. Ahmed.
  • Blog: Graph Classification: The mission of Papers With Code is to create a free and open resource with Machine Learning papers, code and evaluation tables.
  • Blog: Graph Challenge Data Sets: Amazon is making the Graph Challenge data sets available to the community free of charge as part of the AWS Public Data Sets program. The data is being presented in several file formats, and there are a variety of ways to access it.
  • Blog: The House of Graphs: a database of interesting graphs by G. Brinkmann, K. Coolsaet, J. Goedgebeur, and H. Mélot (also see Discrete Applied Mathematics, 161(1-2): 311-314, 2013 (DOI)).
    • Search for Graphs
  • Blog: A Repository of Benchmark Graph Datasets for Graph Classification by Shiruipan
  • Blog: Collection and Streaming of Graph Datasets by Yibo Yao
  • Blog: Big Graph Data Sets by Yongming Luo
  • Blog: MIVIA LDGraphs Dataset: The MIVIA LDGraphs (MIVIA Large Dense Graphs) dataset is a new dataset for benchmarking exact graph matching algorithms. It aims to extend the MIVIA graphs dataset, widely used in the last ten years, with bigger and more dense graphs, so as to face with the problems nowadays encountered in real applications devoted for instance to bioinformatics and social network analysis.
  • Blog: Datasets by Marion Neumann
  • Blog: Graph Dataset by Xiao Meng
  • Blog: Constructors and Databases of Graphs in Sage
  • Datasets in GitHub:
    • Benchmark Dataset for Graph Classification: This repository contains datasets to quickly test graph classification algorithms, such as Graph Kernels and Graph Neural Networks by Filippo Bianchi.
    • GAM: A PyTorch implementation of “Graph Classification Using Structural Attention” (KDD 2018) by Benedek Rozemberczki.
    • CapsGNN: A PyTorch implementation of “Capsule Graph Neural Network” (ICLR 2019) by Benedek Rozemberczki.

Tools for Creating Graphs

  • Package: Networkx: a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
    • Graph Generators
    • Converting to and from Other Data Formats To NetworkX Graph
    • Reading and Writing Graphs
  • Package: Sage: a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
    • CoCalc: an online service for running SageMath computations online to avoid your own installation of Sage. CoCalc will allow you to work with multiple persistent worksheets in Sage, IPython, LaTeX, and much, much more!
    • Graph Theory in Sage

Molecular Structure Analysis

Molecular structures have graph structures. By using machine learning and in particular GNNs, one can predict some physical, chemical, biochemical properties of a molecule by it’s chemical formula. Also, it is possible to predict new formula and 3D structure for an unknown yet molecule or substance with certain desired properties.

Graph Machine Learning and its Application on Molecular Science

  • Book: Deep Learning for the Life Sciences: Applying Deep Learning to Genomics, Microscopy, Drug Discovery, and More by Bharath Ramsundar, Peter Eastman, Patrick Walters, and Vijay Pande
    • Codes
  • Blog: Machine Learning for Drug Development (Tutorial at the 29th International Joint Conference on Artificial Intelligence (IJCAI))
  • Blog: Graph Neural Networks for Binding Affinity Prediction by Alex Gurbych
  • Blog: Generating Molecules with the Help of Recurrent Neural Networks by Seyone Chithrananda
  • Blog: Graph Convolutional Neural Networks to Analyze Complex Carbohydrates (Using PyTorch Geometric to Work With Biological Data) by Daniel Bojar
  • Blog: How to Use Machine Learning for Drug Discovery by Chanin Nantasenamat
  • Blog: Tutorial ML In Chemistry Research. RDkit & mol2vec by Vlad Kisin
  • Blog: Papers in Drug Discovery
  • Blog: Review: Deep Learning In Drug Discovery by Hosein Fooladi
  • Blog: A Practical Introduction to the Use of Molecular Fingerprints in Drug Discovery by Laksh
  • Blog: Public Coronavirus Prediction Models
  • Blog: DIY Drug Discovery - Using Molecular Fingerprints and Machine Learning for Solubility Prediction by Daniel C. Elton
  • Slide: Graph Neural Network and its Application on Molecular Science by Seongok Ryu
  • GitHub:
    • Graph Neural Network (GNN) for Molecular Property Prediction (SMILES format) by Masashi Tsubaki
  • Competition: Predicting Molecular Properties
  • Competition: Fighting Secondary Effects of Covid COVID-19 presents many health challenges beyond the virus itself. One of them is finding effective antibiotics for secondary infections.
  • Blog: Machine Learning Formulation
  • Blog: How to Fight COVID-19 with Machine Learning by Markus Schmitt
  • Paper: MoleculeNet: A Benchmark for Molecular Machine Learning by Zhenqin Wu, Bharath Ramsundar, Evan N. Feinberg, Joseph Gomes, Caleb Geniesse, Aneesh S. Pappu, Karl Leswing, Vijay Pande

Chemical Notations

  • Blog: SMILES Tutorial Simplified Molecular Input Line Entry System (SMILES) is a chemical notation that allows a user to represent a chemical structure in a way that can be used by the computer. SMILES is an easily learned and flexible notation. The SMILES notation requires that you learn a handful of rules.
  • Blog: SMILES - A Simplified Chemical Language
    • Try the JSME
  • Blog: Smiles
  • Blog: OpenSMILES is a community sponsored open-standards version of the SMILES language for chemistry. OpenSMILES is part of the Blue Obelisk community.
  • Blog: SMARTS - A Language for Describing Molecular Patterns
  • Blog: SMIRKS - A Reaction Transform Language
  • Slide: Rolling Smarts: You don’t Always Find What You Want, But if You Try Sometimes, You Find What You Need by Roger Sayle and John Mayfield

An Introduction to Basic Chemistry and Drugs

Chemistry

  • Blog: Chemistry Library provides informations about the following subjects: Atoms, compounds, and ions, Molecular composition, Mass spectrometry, Chemical reactions and stoichiometry, Electronic structure of atoms, Periodic table, Chemical bonds, Gases and kinetic molecular theory, States of matter and intermolecular forces, Chemical equilibrium, Acids and bases, Buffers, titrations, and solubility equilibria, Thermodynamics, Redox reactions and electrochemistry, Kinetics, Alkanes, cycloalkanes, and functional groups.
  • Blog: Functional Group Names, Properties, and Reactions
  • Talk: Encyclopaedia of Functional Groups by Peter Ertl
  • Simulations by ChemThink
    • The Particulate Nature of Matter
    • Atomic Structure
    • Covalent Bonding Tutorial
    • Ions
    • Ionic Bonding
    • Ionic Formulas
    • Molecular Shapes
    • Isotopes
  • Blog: Periodic Table of Elements by PubChem
  • Blog: Periodic Table of Elements by Michael Dayah
  • Blog: Ionic Bond Examples
  • Blog: A Comprehensive Treatment of Aromaticity in the SMILES Language

Drug

  • Blog: Chiral Drugs
  • Blog: Drug Lipophilicity and Absorption: The Continuous Challenge in Drug Discovery by Emery Pharma

Datasets of Molecules and Their Properties

Chemical Datasets

  • Blog: PubChem Dataset is an open chemistry database at the National Institutes of Health (NIH). “Open” means that you can put your scientific data in PubChem and that others may use it.
    • Blog: Browse PubChem Data using a classification of interest, or search for PubChem records annotated with the desired classification/term
  • Blog: GDB Databases GDB-11 enumerates small organic molecules up to 11 atoms of C, N, O and F following simple chemical stability and synthetic feasibility rules. GDB-13 enumerates small organic molecules up to 13 atoms of C, N, O, S and Cl following simple chemical stability and synthetic feasibility rules. With 977 468 314 structures, GDB-13 is the largest publicly available small organic molecule database to date.
  • Blog: MoleculeNet is a benchmark specially designed for testing machine learning methods of molecular properties. As we aim to facilitate the development of molecular machine learning method, this work curates a number of dataset collections, creates a suite of software that implements many known featurizations and previously proposed algorithms. All methods and datasets are integrated as parts of the open source DeepChem package(MIT license).
  • Blog: ChEMBL is a manually curated database of bioactive molecules with drug-like properties. It brings together chemical, bioactivity and genomic data to aid the translation of genomic information into effective new drugs.
  • Blog: Open Data Repositories by the Blue Obelisk Open Data allows access to large data bases. A good example in chemoinformatics is the NMRShiftDB: the spectra and structures in this database can be downloaded for free, and you have the right to redistribute them.
  • Blog: Tox21: The 2014 Tox21 data challenge was designed to help scientists understand the potential of the chemicals and compounds being tested through the Toxicology in the 21st Century initiative to disrupt biological pathways in ways that may result in toxic effects. The Tox21 Program (Toxicology in the 21st Century) is an ongoing collaboration among federal agencies to characterize the potential toxicity of chemicals using cells and isolated molecular targets instead of laboratory animals.
  • Blog: ZINC15: a free database of commercially-available compounds for virtual screening. ZINC contains over 230 million purchasable compounds in ready-to-dock, 3D formats. ZINC also contains over 750 million purchasable compounds you can search for analogs in under a minute.
  • Blog: Open Catalyst Project is a collaborative research effort between Facebook AI Research (FAIR) and Carnegie Mellon University’s (CMU) Department of Chemical Engineering. The aim is to use AI to model and discover new catalysts for use in renewable energy storage to help in addressing climate change.

Biological Datasets

  • Blog: PhID contains six different types of entities: drugs(chemicals), target(proteins), diseases, genes, side-effects, and pathways, which integreted from 14 public resources.
  • DrugCentral provides information on active ingredients chemical entities, pharmaceutical products, drug mode of action, indications, pharmacologic action.
  • Blog: NCATS Inxight (Drugs) The National Center for Advancing Translational Sciences (NCATS) has developed Inxight: Drugs as a comprehensive portal for drug development information. NCATS Inxight: Drugs contains information on ingredients in medicinal products.
  • Blog: Therapeutic Target Database (TTD) A database to provide information about the known and explpred therapeutic protein and nucleic acid targets,the targeted disease, pathway information.
  • Blog: Drug Target Commons (DTC) is a crowd-sourcing platform to improve the consensus and use of drug-target interactions. The end users can search, view and download bioactivity data using various compound, target and publications identifiers. Expert users may also submit suggestions to edit and upload new bioactivity data, as well as participate in the assay annotation and data curation processes.
  • Blog: Pharos is the user interface to the Knowledge Management Center (KMC) for the Illuminating the Druggable Genome (IDG) program funded by the National Institutes of Health (NIH) Common Fund.
  • Blog: PROMISCUOUS2 is an one stop resource for drug-repositioning. The database can be used from experts by using the drug or target search as well as non experts, by browsing through the data via the Browse tab.
  • Blog: Therapeutics Data Commons (Machine Learning Datasets and Tasks for Therapeutics)
  • Blog: STITCH is a database of known and predicted interactions between chemicals and proteins. The interactions include direct (physical) and indirect (functional) associations; they stem from computational prediction, from knowledge transfer between organisms, and from interactions aggregated from other (primary) databases.
  • Blog: KEGG: Kyoto Encyclopedia of Genes and Genomes
  • Blog: Drug Repositioning Database (repoDB) contains a standard set of drug repositioning successes and failures that can be used to fairly and reproducibly benchmark computational repositioning methods. repoDB data was extracted from DrugCentral and ClinicalTrials.gov.
  • Blog: STRING (Protein-Protein Interaction Networks) In molecular biology, STRING (Search Tool for the Retrieval of Interacting Genes/Proteins) is a biological database and web resource of known and predicted protein–protein interactions.

Libraries & Packages

  • Package: RDKit is an open source toolkit for cheminformatics
    • PDF: RDKit Documentation
    • Blog: RDKit Cookbook by Greg Landrum and Vincent Scalfani
    • Blog: RDKit: Simple File Input and Output by Cam Kirk
    • Blog: Getting Started with the RDKit in Python by Greg Landrum
  • Package: DeepChem project aims to create high quality, open source tools for drug discovery, materials science, quantum chemistry, and biology.
    • Tutorials and Codes: These tutorials show off various aspects or capabilities of DeepChem. They can be run interactively in Jupyter (IPython) notebook.
  • OCHEM: The Online Chemical Modeling Environment is a web-based platform that aims to automate and simplify the typical steps required for QSAR modeling. The platform consists of two major subsystems: the database of experimental measurements and the modeling framework. A user-contributed database contains a set of tools for easy input, search and modification of thousands of records. OCHEM was created by Iurii Sushko.
  • Blog: Mol2vec: An unsupervised machine learning approach to learn vector representations of molecular substructures
  • Package: Chemprop
  • Package: DGL-LifeSci is a python package for applying graph neural networks to various tasks in chemistry and biology, on top of PyTorch and DGL.
    • Code: Property Prediction
  • Package: Mordred Descriptor: a molecular descriptor calculator
  • Knowledge Graph: Drug Repurposing Knowledge Graph (DRKG)
  • Platform: Cytoscape is an open source bioinformatics software platform for visualizing molecular interaction networks and integrating with gene expression profiles and other state data.

Online Softwares

  • Blog: Chemprop — Machine Learning for Molecular Property Prediction This website can be used to predict molecular properties using a Message Passing Neural Network (MPNN).
  • Blog: JSME Molecule Editor: JSME is a free molecule editor written in JavaScript. JSME is a direct successor of the JME Molecule Editor applet. JSME supports drawing and editing of molecules. JSME was created by Peter Ertl and Bruno Bienfait.
    Here are some softwares to calculate molecular descriptors and fingerprints online:
  • Blog: PaDEL-Descriptor
  • Blog: RDkit Descriptors Generator by Hiroshi Yamamoto

Softwares (Draw a Molecule)

  • Blog: Marvin JS provides quick and convenient ways to draw and modify standard and advanced chemical structures. It’s seamlessly integrated into third-party web-based applications, and runs smoothly on all major browsers.
  • Blog: MolView is an intuitive, Open-Source web-application to make science and education more awesome! MolView is mainly intended as web-based data visualization platform.
  • Blog: Draw Structue by PubChem
  • Simulations: Build an Atom, Build a Molecule, Molecule Shapes: Basics, Molecule Shapes, Isotopes and Atomic Mass, Molecule Polarity
Deep-Learning is maintained by hhaji. This page was generated by GitHub Pages.