Skip to content

Commit

Permalink
Merge pull request #423 from DeepRank/joss_paper_gcroci2
Browse files Browse the repository at this point in the history
docs: joss paper
  • Loading branch information
gcroci2 authored Sep 21, 2023
2 parents 7fdf6ab + cf74954 commit ddd04ad
Show file tree
Hide file tree
Showing 16 changed files with 473 additions and 70 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Build JOSS PDF

on:
workflow_dispatch:

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: paper/paper.md
- name: Upload
uses: actions/upload-artifact@v1
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: paper/paper.pdf
29 changes: 22 additions & 7 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,24 @@
"name": "Giulia Crocioni",
"orcid": "0000-0002-0823-0121"
},
{
"affiliation": "Netherlands eScience Center",
"name": "Dani L. Bodor",
"orcid": "0000-0003-2109-2349"
},
{
"affiliation": "Radboud University Medical Center",
"name": "Coos Baakman",
"orcid": "0000-0003-4317-1566"
},
{
"affiliation": "Radboud University Medical Center",
"name": "Daniel Rademaker",
"name": "Farzaneh M. Parizi",
"orcid": "0000-0003-4230-7492"
},
{
"affiliation": "Radboud University Medical Center",
"name": "Daniel T. Rademaker",
"orcid": "0000-0003-1959-1317"
},
{
Expand All @@ -27,8 +37,12 @@
},
{
"affiliation": "Radboud University Medical Center",
"name": "Farzaneh Meimandi Parizi",
"orcid": "0000-0003-4230-7492"
"name": "Dario F. Marzella",
"orcid": "0000-0002-0043-3055"
},
{
"name": "João M. C. Teixeira",
"orcid": "0000-0002-9113-0622"
},
{
"affiliation": "Radboud University Medical Center",
Expand All @@ -37,10 +51,11 @@
}
],
"keywords": [
"Graph Neural Networks",
"Convolutional Neural Networks",
"Protein-Protein Interface",
"Deeprank"
"Graph neural networks",
"Convolutional neural networks",
"Protein-protein interface",
"Single-residue variant",
"DeepRank"
],
"license": {
"id": "Apache-2.0"
Expand Down
18 changes: 8 additions & 10 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,15 @@ authors:
affiliation: Radboud University Medical Center
orcid: 'https://orcid.org/0000-0002-2613-538X'
abstract: >-
deeprank2 allows ranking of protein-protein
interface using a graph representation of the
contact residues or atoms. Graphs of such
interfaces are used to train graph neural networks
for the prediction of the experimental validity of
the interface.
DeepRank2 is an open-source deep learning
framework for data mining of protein-protein interfaces
or single-residue variants.
keywords:
- Graph Neural Networks
- Convolutional Neural Networks
- Protein-Protein Interface
- Deeprank
- Graph neural networks
- Convolutional neural networks
- Protein-protein interface
- Single-residue variant
- DeepRank
license: Apache-2.0
commit: 4e8823758ba03f824b4281f5689cb6a335ab2f6c
version: "2.0.0"
Expand Down
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

![alt-text](./deeprank2.png)

DeepRank2 is an open-source deep learning (DL) framework for data mining of protein-protein interfaces (PPIs) or single-residue missense variants. This package is an improved and unified version of two previously developed packages: [DeepRank](https://github.com/DeepRank/deeprank) and [DeepRank-GNN](https://github.com/DeepRank/Deeprank-GNN).
DeepRank2 is an open-source deep learning (DL) framework for data mining of protein-protein interfaces (PPIs) or single-residue variants (SRVs). This package is an improved and unified version of three previously developed packages: [DeepRank](https://github.com/DeepRank/deeprank), [DeepRank-GNN](https://github.com/DeepRank/Deeprank-GNN), and [DeepRank-Mut](https://github.com/DeepRank/DeepRank-Mut).

DeepRank2 allows for transformation of (pdb formatted) molecular data into 3D representations (either grids or graphs) containing structural and physico-chemical information, which can be used for training neural networks. DeepRank2 also offers a pre-implemented training pipeline, using either [CNNs](https://en.wikipedia.org/wiki/Convolutional_neural_network) (for grids) or [GNNs](https://en.wikipedia.org/wiki/Graph_neural_network) (for graphs), as well as output exporters for evaluating performances.

Expand All @@ -40,7 +40,6 @@ DeepRank2 extensive documentation can be found [here](https://deeprank2.rtfd.io/
- [Deeprank2 Package](#deeprank2-package)
- [Test installation](#test-installation)
- [Contributing](#contributing)
- [Quick start](#quick-start)
- [Data generation](#data-generation)
- [Datasets](#datasets)
- [GraphDataset](#graphdataset)
Expand Down Expand Up @@ -98,15 +97,13 @@ Run `pytest tests/test_integration.py` for the quick test or just `pytest` for t

If you would like to contribute to the package in any way, please see [our guidelines](CONTRIBUTING.rst).

## Quick start

The following section serves as a first guide to start using the package, using Protein-Protein Interface (PPI) queries as example.
For an enhanced learning experience, we provide in-depth [tutorial notebooks](https://github.com/DeepRank/deeprank2/tree/main/tutorials) for generating PPI data, generating variants data, and for the training pipeline.
The following section serves as a first guide to start using the package, using protein-protein Interface (PPI) queries
as example. For an enhanced learning experience, we provide in-depth [tutorial notebooks](https://github.com/DeepRank/deeprank2/tree/main/tutorials) for generating PPI data, generating SVR data, and for the training pipeline.
For more details, see the [extended documentation](https://deeprank2.rtfd.io/).

### Data generation

For each protein-protein complex (or protein structure containing a missense variant), a query can be created and added to the `QueryCollection` object, to be processed later on. Different types of queries exist:
For each protein-protein complex (or protein structure containing a SRV), a query can be created and added to the `QueryCollection` object, to be processed later on. Different types of queries exist:
- In a `ProteinProteinInterfaceResidueQuery` and `SingleResidueVariantResidueQuery`, each node represents one amino acid residue.
- In a `ProteinProteinInterfaceAtomicQuery` and `SingleResidueVariantAtomicQuery`, each node represents one atom within the amino acid residues.

Expand Down
Binary file modified deeprank2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions deeprank2/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def _check_pssm(pdb_path: str, pssm_paths: Dict[str, str], suppress: bool, verbo
class Query:

def __init__(self, model_id: str, targets: Optional[Dict[str, Union[float, int]]] = None, suppress_pssm_errors: bool = False):
"""Represents one entity of interest, like a single residue variant or a protein-protein interface.
"""Represents one entity of interest, like a single-residue variant or a protein-protein interface.
:class:`Query` objects are used to generate graphs from structures, and they should be created before any model is loaded.
They can have target values associated with them, which will be stored with the resulting graph.
Expand Down Expand Up @@ -388,7 +388,7 @@ def __init__( # pylint: disable=too-many-arguments
suppress_pssm_errors: bool = False,
):
"""
Creates a residue graph from a single residue variant in a .PDB file.
Creates a residue graph from a single-residue variant in a .PDB file.
Args:
pdb_path (str): The path to the PDB file.
Expand Down Expand Up @@ -507,7 +507,7 @@ def __init__( # pylint: disable=too-many-arguments
suppress_pssm_errors: bool = False,
):
"""
Creates an atomic graph for a single residue variant in a .PDB file.
Creates an atomic graph for a single-residue variant in a .PDB file.
Args:
pdb_path (str): The path to the .PDB file.
Expand Down
6 changes: 3 additions & 3 deletions docs/getstarted.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Get started

The following section serves as a first guide to start using the package, using Protein-Protein Interface (PPI) queries as example.
For an enhanced learning experience, we provide in-depth [tutorial notebooks](https://github.com/DeepRank/deeprank2/tree/main/tutorials) for generating PPI data, generating variants data, and for the training pipeline.
The following section serves as a first guide to start using the package, using protein-protein interface (PPI) queries as example.
For an enhanced learning experience, we provide in-depth [tutorial notebooks](https://github.com/DeepRank/deeprank2/tree/main/tutorials) for generating PPI data, generating SRVs data, and for the training pipeline.
For more details, see the [extended documentation](https://deeprank2.rtfd.io/).

## Data generation

For each protein-protein complex (or protein structure containing a missense variant), a query can be created and added to the `QueryCollection` object, to be processed later on. Different types of queries exist:
For each protein-protein complex (or protein structure containing a SRV), a query can be created and added to the `QueryCollection` object, to be processed later on. Different types of queries exist:
- In a `ProteinProteinInterfaceResidueQuery` and `SingleResidueVariantResidueQuery`, each node represents one amino acid residue.
- In a `ProteinProteinInterfaceAtomicQuery` and `SingleResidueVariantAtomicQuery`, each node represents one atom within the amino acid residues.

Expand Down
4 changes: 3 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
DeepRank2 |version| documentation
========================================

DeepRank2 is an open-source deep learning (DL) framework for data mining of protein-protein interfaces (PPIs) or single-residue missense variants. This package is an improved and unified version of two previously developed packages: `DeepRank`_ and `DeepRank-GNN`_.
DeepRank2 is an open-source deep learning (DL) framework for data mining of protein-protein interfaces (PPIs) or single-residue variants (SRVs).
This package is an improved and unified version of three previously developed packages: `DeepRank`_, `DeepRank-GNN`_, and `DeepRank-Mut`_.

DeepRank2 allows for transformation of (pdb formatted) molecular data into 3D representations (either grids or graphs) containing structural and physico-chemical information, which can be used for training neural networks. DeepRank2 also offers a pre-implemented training pipeline, using either `convolutional neural networks`_ (for grids) or `graph neural networks`_ (for graphs), as well as output exporters for evaluating performances.

Expand All @@ -16,6 +17,7 @@ Main features:

.. _DeepRank: https://github.com/DeepRank/deeprank
.. _DeepRank-GNN: https://github.com/DeepRank/Deeprank-GNN
.. _DeepRank-Mut: https://github.com/DeepRank/DeepRank-Mut
.. _convolutional neural networks: https://en.wikipedia.org/wiki/Convolutional_neural_network
.. _graph neural networks: https://en.wikipedia.org/wiki/Graph_neural_network
.. _here: https://deeprank2.readthedocs.io/en/latest/features.html
Expand Down
Binary file added paper/deeprank2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit ddd04ad

Please sign in to comment.