- [Metrics] - #245 Adds a selection of structural metrics relevant to protein structures.
- [Tensor Operations] - #244 Adds suite of utilities for working directly with tensor-based representations of proteins (graphein.protein.tensor).
- [Tensor Operations] - #244 Adds suite of utilities for working with ESMfold (graphein.protein.folding_utils).
- [Logging] - #221 Adds global control of logging with
graphein.verbose(enabled=False)
. - [Logging] - #242 Adds control of protein graph construction logging. Resolves #238
-
[Feature] - #264 Adds entrypoint to
graphein.protein.graphs.construct_graph
for passing in a BioPandas dataframe directly. -
[Feature] - #229 Adds support for filtering KNN edges based on self-loops and chain membership. Contribution by @anton-bushuiev.
-
[Feature] - #234 Adds support for aggregating node features over residues (
graphein.protein.features.sequence.utils.aggregate_feature_over_residues
). -
[Bugfix] - #234 fixes use of nullcontext in silent graph construction.
-
[Bugfix] - #234 Fixes division by zero errors for edge colouring in visualisation.
-
[Bugfix] - #254 Fix peptide bond addition for all atom graphs.
-
[Bugfix] - #223 Fix handling of insertions in protein graphs. Insertions are now given IDs like:
A:SER:12:A
. Contribution by @manonreau. -
[Bugfix] - #229 Fixes bug in KNN edge computation. Contribution by @anton-bushuiev.
-
[Bugfix] - #220 Fixes edge metadata conversion to PyG. Contribution by @manonreau.
-
[Bugfix] - #220 Fixes centroid atom grouping & avoids unnecessary edge computation where none are found. Contribution by @manonreau.
- [Bugfix] - #234 - Fixes bugs and improves
conversion.convert_nx_to_pyg
andvisualisation.plot_pyg_data
. Removes distance matrix (dist_mat
) from defualt set of features converted to tensor.
- [Improvement] - #234 - Adds
parse_aggregation_type
to retrieve aggregation functions.
- [Improvement] - #234 - Adds 1 to 3 mappings to
graphein.protein.resi_atoms
.
- [Tensor Module] - #244 Documents new graphein.protein.tensor module.
- [CI] - #244 Updates to intersphinx maps
- [CI] - #244 CI now runs for python 3.8, 3.9 and torch 1.12.0 and 1.13.0
- [CI] - #244 Separate builds for core library and library with DL dependencies.
- [Licence] - #244 Bump to 2023
- [Bugfix] - #206 Fixes
KeyError
when usinggraphein.protein.edges.distance.node_coords
- [Bugfix] - Includes missing data files in
MANIFEST.in
#205
- [Bugfix] - #208 - Resolves SSL issues with RegNetwork.
- [Feature] - #208 support for loading local pdb files by
ProteinGraphDataset
andInMemoryProteinGraphDataset
.
by adding a params:
pdb_paths
and set theself.raw_dir
to the root path(self.pdb_path
) of pdb_paths list (the root path should be only one, pdb files should be under the same folder).it allows loading pdb files from the
self.pdb_path
instead of loading fromself.raw
. If you wish to download from af2 or pdb, just setpdb_paths
toNone
and it goes back to the former version.
- [Bugfix] - #208 explicitly installs
jupyter_contrib_nbextensions
in Docker.
- [Feature] - #186 adds support for scaling node sizes in plots by a computed feature. Contribution by @cimranm
- [Feature] - #189 adds support for parallelised download from the PDB.
- [Feature] - #189 adds support for: van der waals interactions, vdw clashes, pi-stacking interactions, t_stacking interactions, backbone carbonyl-carbonyl interactions, salt bridges
- [Feature] - #189 adds a
residue_id
column to PDB dfs to enable easier accounting in atom graphs. - [Feature] - #189 refactors torch geometric datasets to use parallelised download for faster dataset preparation.
- [Patch] - #187 updates sequence retrieval due to UniProt API changes.
- [Patch] - #189 fixes bug where chains and PDB identifiers were not properly aligned in
ml.ProteinGraphDataset
. - [Patch] - #201 Adds missing
MSE
tographein.protein.resi_atoms.RESI_NAMES
,graphein.protein.resi_atoms.RESI_THREE_TO_1
. #200 - [Patch] - #201 Fixes bug where check for same-chain always evaluates as False. #199
- [Patch] - #201 Fixes bug where deprotonation would only remove hydrogens based on
atom_name
rather thanelement_symbol
. #198 - [Patch] - #201 Fixes bug in ProteinGraphDataset input validation.
- #189 refactors PDB download util. Now returns path to download file, does not accept a config object but instead receives the output directory path directly.
- [Feature] - #165 adds support for direct AF2 graph construction.
- [Feature] - #165 adds support for selecting model indices from PDB files.
- [Feature] - #165 adds support for extracting interface subgraphs from complexes.
- [Feature] - #165 adds support for computing the radius of gyration of a structure.
- [Feature] - #165 adds support for adding distances to protein edges.
- [Feature] - #165 adds support for fully connected edges in protein graphs.
- [Feature] - #165 adds support for distance window-based edges for protein graphs.
- [Feature] - #165 adds support for transformer-like positional encoding of protein sequences.
- [Feature] - #165 adds support for plddt-like colouring of AF2 graphs
- [Feature] - #165 adds support for plotting PyG Data object (e.g. for logging to WandB).
- [Feature] - #170 Adds support for viewing edges in
graphein.protein.visualisation.asteroid_plot
. Contribution by @avivko. - [Patch] - #178 Fixes #171 and optimizes
graphein.protein.features.nodes.dssp
. Contribution by @avivko. - [Patch] - #174 prevents insertions always being removed. Resolves #173. Contribution by @OliverT1.
- [Patch] - #165 Refactors HETATM selections.
- [Feature] - #165 adds additional graph-level molecule features.
- [Feature] - #165 adds support for generating conformers (and 3D graphs) from SMILES inputs
- [Feature] - #163 Adds support for molecule graph generation from an RDKit.Chem.Mol input.
- [Feature] - #163 Adds support for multiprocess molecule graph construction.
- [Feature] - #165 adds support for 3D RNA graph construction.
- [Feature] - #165 adds support for generating RNA SS from sequence using the Nussinov Algorithm.
- [Patch] - #163 uses tqdm.contrib.process_map insteap of multiprocessing.Pool.map to provide progress bars in multiprocessing.
- [Fix] - #165 makes returned subgraphs editable objects rather than views
- [Fix] - #165 fixes global logging set to "debug".
- [Fix] - #165 uses rich progress for protein graph construction.
- [Fix] - #165 sets saner default for node size in 3d plotly plots
- [Dependency] - #165 Changes CLI to use rich-click instead of click for prettier formatting.
- [Package] - #165 Adds support for logging with loguru and rich
- [Package] - Pin BioPandas version to 0.4.1 to support additional parsing features.
- #165 adds RNA SS edges into graphein.protein.edges.base_pairing
- #163 changes separate filetype input paths to
graphein.molecule.graphs.construct_graph
. Interface is simplified to simplypath="some/path.extension"
instead of separate inputs likemol2_path=...
andsdf_path=...
.
- [Patch] - #158 changes the eigenvector computation method from
nx.eigenvector_centrality
tonx.eigenvector_centrality_numpy
. - [Feature] - #154 adds a way of checking that DSSP is executable before trying to use it. #154
- [Feature] - #157 adds support for small molecule graphs using RDKit. Resolves #155.
- [Feature] - #159 adds support for conversion to Jraph graphs for JAX users.
- #157 refactors config matching operators from
graphein.protein.config
tographein.utils.config
- #157 refactors config parsing operators from
graphein.utils.config
tographein.utils.config_parser
- [Feature] - #141 adds edge construction based on sequence distance.
- [Feature] - #143 adds equality and isomorphism testing functions between graphs, nodes and edges (#142)
- [Feature] - #144 adds support for chain-level and secondary structure-level graphs with associated visualisation tools and tutorial. Resolves #128
- [Feature] - #144 adds support for chord diagram visualisations.
- [Feature] - #144 adds support for automagically downloading new PDB files for obsolete structures.
- [Feature] - #150 adds support for hydrogen bond donor and acceptor counts node features. #145
- [Misc] - #144 makes visualisation functions accessible in the
graphein.protein
namespace. #138 - [Bugfix] - #147 fixes error in
add_distance_threshold
introduced in v1.2.1 that would prevent the edges being added to the graph. #146 - [Bugfix] - #149 fixes a bug in
add_beta_carbon_vector
that would cause coordinates to be extracted for multiple positions if the residue has an altloc. Resolves #148
- [Feature] - #124 adds support for vector features associated protein protein geometry. #120 #122
- [Feature] - #124 adds visualisation of vector features in 3D graph plots.
- [Feature] - #121 adds functions for saving graph data to PDB files.
- [Bugfix] - #136 changes generator comprehension when updating coordinates in subgraphs to list comprehension to allow pickling
- [Bugfix] - #136 fixes bug in edge construction functions using chain selections where nodes from unselected chains would be added to the graph.
- #124 refactors
graphein.protein.graphs.compute_rgroup_dataframe
and moves it tographein.protein.utils
. All internal references have been moved accordingly.
- [Feature] - #104 adds support for asteroid plots and distance matrix visualisation.
- [Feature] - #104 adds support for protein graph analytics (
graphein.protein.analysis
) - [Feature] - #110 adds support for secondary structure & surface-based subgraphs
- [Feature] - #113 adds CLI support(!)
- [Feature] - #116 adds support for onehot-encoded amino acid features as node attributes.
- [Feature] - #119 Adds plotly-based visualisation for PPI Graphs
- [Bugfix] - #110 fixes minor bug in
asa
where it would fail if added as a first/only dssp feature. - [Bugfix] - #110 Adds install for DSSP in Dockerfile
- [Bugfix] - #110 Adds conda install & DSSP to tests
- [Bugfix] - #119 Delaunay Triangulation computed over all atoms by default. Adds an option to restrict it to certain atom types.
- [Bugfix] - #119 Minor fixes to stability of RNA Graph Plotting
- [Bugfix] - #119 add tolerance parameter to add_atomic_edges
- [Documentation] - #104 Adds notebooks for visualisation, RNA SS Graphs, protein graph analytics
- [Documentation] - #119 Overhaul of docs & tutorial notebooks. Adds interactive plots to docs, improves docstrings, doc formatting, doc requirements.
- #119 - Refactor RNA Graph constants from graphein.rna.graphs to graphein.rna.constants. Only problematic if constants were accessed directly. All internal references have been moved accordingly.
- [Bugfix] - #107 improves robustness of removing insertions and hetatms, resolves #98
- [Packaging] - #108 fixes version mismatches in pytorch_geometric in docker install
- [Packaging] - #100 adds docker support.
- [Feature] - #96 Adds support for extracting subgraphs
- [Packaging] - #101 adds support for devcontainers for remote development.
- [Bugfixes] - #95 adds improved robustness for edge construction functions in certain edge cases. Insertions in the PDB were occasionally not picked up due to a brittle implementations. Resolves #74 and #98
- [Improvement] - #79 Replaces
Literal
references withtyping_extensions.Literal
for Python 3.7 support.
- [Bug] Adds a fix for #74. Adding a disulfide bond to a protein with no disulphide bonds would fail. This was fixed by adding a check for the presence of a minimum of two CYS residues.