AvTraj is tool to calculate FRET observables from MD-trajectories. Read , write and analyze accessible volumes (AVs) using MD trajectories as an input with only a few lines of Python code. By the use of LabelLib AvTraj provides programmatic access to latestdevelopments in implicit dye models for FRET experiments .
AvTraj is a python library that allows users to perform simulations of accessible volumes for molecular dynamics (MD) trajectories. AvTraj serves as a high-level interface for the development of new methodologies for structure-based fluorescence spectroscopy.
Features include:
A wide support of diverse MD formats by the use of MDTraj. Extremely
fast calculation of AVs by the use of LabelLib (e.g. xxxx the speed
of yyyy). Extensive analysis functions including those that compute
inter-dye distances, FRET-efficiencies, fluorescence decays, distance
distributions, and an Pythonic API.
AVTraj includes a command-line application, avana, for screening and analyzing structural models.
LabelLib serves as core low-level library for the software Olga and the higher-level Python library AvTraj. The deprecated software FPS is independent of LabelLib.
Olga is a software dedicated towards experimentalists. Olga provides a graphical user interface for the calculation of accessible volumes (AVs), screen a set of structural models against experimental observables, rigid-body docking, and the optimal design of new FRET experiments.
AvTraj AvTraj is a Python library for the calculation of accessible volumes (AVs ), screening. AvTraj facilitates the development of new analytical approaches for FRET-based structural models. Avtraj facilitates processing of MD-simulations and the development of Python scripts handling FRET-based structural models.
FPS is a software with a graphical user interface for the FRET-based structural modeling. FPS can calculate accessible volumes (AVs), screen a set of structural models against experimental observables, and can generate new structural models by rigid-body docking using experimental FRET data.
The software depends on other libraries provided by conda-forge. Thus, as a first step, the conda-forge channel needs to be added.
conda --add channels conda-forge
In a second step, the avtraj package can be installed.
conda --add channels tpeulen
conda install avtraj
import mdtraj as md
import avtraj as avt
import json
# First load an MD trajectory by mdtraj
xtc_filename = './test/data/xtc/1am7_corrected.xtc'
topology_filename = './test/data/xtc/1am7_protein.pdb'
traj = md.load(
xtc_filename,
top=topology_filename
)
# Define your accessible volume (AV) parameters
av_parameters_donor = {
'simulation_type': 'AV1',
'linker_length': 20.0,
'linker_width': 1.0,
'radius1': 3.5,
'simulation_grid_resolution': 1.0,
'residue_seq_number': 57,
'atom_name': 'CA'
}
# Pass a trajectory to fps.AVTrajectory. This creates an object, which can be
# accessed as a list. The objects within the "list" are accessible volumes
av_traj_donor = avt.AVTrajectory(
traj,
av_parameters=av_parameters_donor,
name='57'
)
# These accessible volumes can be saved as xyz-file
av_traj_donor[0].save_av()
av_parameters_acceptor = {
'simulation_type': 'AV1',
'linker_length': 20.0,
'linker_width': 1.0,
'radius1': 3.5,
'simulation_grid_resolution': 1.0,
'residue_seq_number': 136,
'atom_name': 'CA'
}
# The dye parameters can either be passed explicitly on creation of the object
av_traj_acceptor = avt.AVTrajectory(
traj,
av_parameters=av_parameters_acceptor,
name='136'
)
av_traj_acceptor[0].save_av()
# To calculate a trajectory of distances and distance distributions first a
# labeling file and a "distance file" needs to be specified. The distance
# file contains a set of labeling positions and distances and should be
# compatible to the labeling files used by the software "Olga".
# or by the tool `label_structure` provided by the software ChiSurf.
labeling_file = './test/data/labeling.fps.json'
av_dist = avt.AvDistanceTrajectory(
traj,
json.load(
open(
labeling_file
)
)
)
print(av_dist[:10])
GNU LGPL version 2.1, or at your option a later version of the license. Various sub-portions of this library may be independently distributed under different licenses. See those files for their specific terms.