Skip to main content

RSALOR

PyPi Version License: MIT Open In Colab

[RSALOR Logo]

The rsalor package combines structural data (Relative Solvent Accessibility, RSA) and evolutionary data (Log Odd Ratio, LOR from MSA) to evaluate effects of missense mutations in proteins. It computes the RSA*LOR score for each single-site missense mutation in a target protein by combining multiple computational steps into a fast and user-friendly tool.

Note: See also our epistatic model StructureDCA.

Please cite:

Installation and Usage

Execute RSALOR in Colab Notebook

You can instantly try RSALOR in this Colab Notebook. This notebook acts as a user-friendly web server, offering built-in helpers to automatically fetch or generate the MSA and 3D structure for your target protein. You can then visualize your mutational predictions either as a DMS heatmap or mapped to the 3D structure.

Installation

Installation with pip:

pip install rsalor

CLI usage

You can run the rsalor package with a Command Line Interface (CLI). To compute scores for all single-site missense mutations on an example target sequence, from the directory ./test_data/, run:

rsalor ./6acv_A_29-94.fasta ./6acv_A_29-94.pdb A -o ./6acv_A_29-rsalor.csv

To show CLI usage and optional arguments, run:

rsalor -h

Python usage

Make sure the first sequence in your MSA file is the target sequence to mutate.
From directory ./test_data/ execute the following Python code:

# Import
from rsalor import MSA

# Log basic usage instructions and arguments of the package
MSA.help()

# Initialize MSA
msa_path = "./6acv_A_29-94.fasta" # in .fasta, .a2m or .a3m format
pdb_path = "./6acv_A_29-94.pdb" # in .pdb, .ent or .cif format
chain = "A"
msa = MSA(msa_path, pdb_path, chain, num_threads=8, verbose=True)

# You can ignore structure and RSA by omitting the pdb_path argument
#msa = MSA(msa_path, num_threads=8, verbose=True)

# Get RSA*LOR and other scores for all mutations
scores = msa.get_scores() # [{'mutation_fasta': 'S1A', 'mutation_pdb': 'SA1A', 'RSA': 61.54, 'LOR': 5.05, ...}, ...]

# Or directly save scores to a CSV file
msa.save_scores("./6acv_A_29-94_scores.csv", sep=";")

Requirements

  • Python 3.9 or later
  • Python packages numpy and biopython (version 1.75 or later)
  • A C++ compiler that supports C++11 (such as GCC)

Short description

The rsalor package combines structural data (Relative Solvent Accessibility, RSA) and evolutionary data (Log Odd Ratio, LOR from MSA) to evaluate effects of missense mutations in proteins.

It parses a Multiple Sequence Alignment (MSA), removes redundant sequences, and assigns a weight to each sequence based on sequence identity clustering. The package then computes the weighted Log Odd Ratio (LOR) and Log Ratio (LR) for each single missense mutation. Additionally, it calculates the Relative Solvent Accessibility (RSA) for each residue and combines the LOR/LR and RSA scores, as described in the reference paper. The package resolves discrepancies between the MSA's target sequence and the protein structure (e.g., missing residues in structure) by aligning the PDB structure with the MSA target sequence.

The sign of RSALOR / LOR is defined such that the result of mutations from a highly represented amino acid to a less represented amino acid is positive, which generally corresponds to a decrease in protein stability or fitness. In other words, large positive values predict highly destabilizing / disruptive mutations, while values close to zero or negative predict positive or neutral mutations.

Compile from source

For performance reasons, rsalor uses a C++ backend to weight sequences in the MSA. The C++ code needs to be compiled to use it directly from source. To compile the code, follow these steps:

git clone https://github.com/3BioCompBio/RSALOR # Clone the repository
cd RSALOR/rsalor/weights/            # Navigate to the C++ code directory
mkdir build                          # Create a build directory
cd build                             # Enter the build directory
cmake ..                             # Generate make files
make                                 # Compile the C++ code
mv ./lib_computeWeightsBackend* ../  # Move the compiled file to the correct directory

Release files for rsalor 1.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rsalor 1.1.11
File Size Uploaded
rsalor-1.1.11.tar.gz 49.4 kB Details

Release files / rsalor-1.1.11.tar.gz

Download URL rsalor-1.1.11.tar.gz
Size 49.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1ba2c807b78203b460daa4b57e0180e1384198c263826fc4e118607bea6c0b2d
BLAKE2b-256 checksum
How to use checksums
5e54df6750d42a4bc820ee7071409ffe9ef4fc13ff2c3271f3377e1993051ce0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

1.1.11 This release

1 release file

1.1.10

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page