Skip to content

Repository files navigation

RINFAIRE

DOI

RINFAIRE (Residue Interaction Networks From Alternate conformations In RElated structures) uses alternate conformations in crystallographic multiconformer models to calculate residue interaction networks (RINs) for sets of protein structures. It can then normalize and sum these networks, calculate differences between networks, and identify communities within a network, among other downstream analyses.

If you use this software, please cite:

Raju A, Sharma S, Riley BT, Djuraev S, Tan Y, Kim M, Mahmud T, & Keedy DA. Mapping allosteric rewiring in related protein structures from collections of crystallographic multiconformer models. bioRxiv preprint (2025).

If you also use qFit, please cite:

Wankowicz SA, Ravikumar A, Sharma S, Riley BT, Raju A, Hogan DW, van den Bedem H, Keedy DA, & Fraser JS. Automated multiconformer model building for X-ray crystallography and cryo-EM. eLife (2024).

Table of Contents

Installation

To ensure all dependencies are handled correctly, we recommend using Conda:

  1. Clone the latest release of RINFAIRE:
git clone -b main https://github.com/keedylab/rinfaire.git
cd rinfaire
  1. Create the conda environment:
conda env create -f environment.yml
conda activate rinfaire

Usage

RINFAIRE uses a series of commands to generate a sum network from a series of input structures and perform additional analyses.

The general steps of a typical workflow are as follows:

1. Preparation


Before running RINFAIRE, you need three components:

  1. Multiconformer Models: Structures preprocessed with qFit to accurately model any missing alternate conformations.
  2. Input List: A .txt file containing the absolute paths to your qFit PDB files.
  3. Alignment: A Multiple Sequence Alignment (MSA) file (.fa) of your structures, generated by tools like PROMALS3D.

Optional: If you wish to generate networks from subsets of structures, create a metadata file in csv format.

See examples for examples of the files above. For more specific instructions, see the Methods section of the paper.

2. Network Generation


The core of RINFAIRE is the Multinetwork, which aligns the Residue Interaction Networks (RINs) of all input structures into a single object.

python generate_multi.py \ 
    input_pdbs.txt \ 
    path/to/alignment.fa \ 
    output_directory/project_name \ 
    --metadata path/to/metadata.csv \ 
    --output_info

3. Analysis and Visualization


Once you have your MultiNetwork.pkl, you can perform various downstream analyses:

One example is to normalize and sum the individual networks from the multinetwork to generate a sum network:

python analysis_sum.py \ 
    output_directory/MultiNetwork.pkl \ 
    output_directory/sum_network \ 
    --output_graph_info

You can also compare network overlap to multiple sets of residues and test whether this overlap is statistically significant:

python analysis_residues_of_interest.py \ 
       output_directory/SumNetwork.pkl \ 
       output_filename \ 
       --input_set ResiduesOfInterest.csv \ 
       --col 'Column_Name' \ 
       --find_significance reference.pdb \ 
       --n_iter_sig_test 100

A detailed example workflow can be found in the examples directory along with additional network analyses.

Please note that scripts in the wip (work in progress) directory may not have been tested with the current code so should be used with caution.

License

The code is licensed under the MIT license (see LICENSE).

About

RINFAIRE: Dynamic residue interaction networks from protein crystallographic multiconformer models

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages