-------------------------------------------------------------------------------
Analysis scripts and models for manuscript
Dadsena et al. "Ceramides bind VDAC2 to trigger mitochondrial apoptosis",
Nature Communications 2019
DOI:10.1038/s41467-019-09654-4

Please cite the manuscript if any of the following scripts and models are useful
to you.
-------------------------------------------------------------------------------


SCRIPTS
#######

Three main scripts were used in the analysis. They each display a usage summary
when invoked with the -h flag. All three scripts are licensed under GPLv3 and are
 Copyright 2019 Manuel N. Melo
 m.n.melo@itqb.unl.pt
 For details see the license notice in each file's header and its full text in
 the scripts/COPYING document.

Main dependencies are the following Python packages:
scipy
numpy
MDAnalysis
MDreader (https://github.com/mnmelo/MDreader)
scikits-bootstrap


residence_buffered.py
---------------------
This script calculates residence time distributions of contacts. It can
filter out brief contacts by smoothing (see main paper) or by implementing a
double-cutoff buffer (not used in the published analysis; in a buffered analysis
a contact is only considered after the innermost cutoff is crossed, and only stops
being a contact after the ligand leaves the outermost cutoff).

The script produces a number of distributions plotted/normalized in different ways.
The ones used for publication were the 'scaled_residences.xvg' type. 

For ceramide binding analysis, the script was used with the following flags:
residence_buffered.py -f <trajectories> -s <tpr> -sel "name AM1 AM2" -buff 0 -cut 0.8


get_contacts_bootst.py
----------------------
This script generates the per-protein-residue contact analysis with ceramide,
counting the fraction of trajectory frames in which the ligand was within a cutoff
of any of a residue's particles. Multiple ligands can be parsed simultaneously
as long as they are represented by different residues in the passed topology.

For each computed contact time fraction the script provides a confidence interval
estimaet from a bootstrap resampling (not included in the published paper).

For ceramide binding analysis (and also cholesterol's, although not included in
the published paper), the script was used with the following flags:
get_contacts_bootst.py -f <trajectories> -s <tpr> -res "name AM1 AM2" "name ROH" -cut 0.7


get_occs.py
-----------
This script performs the gridding and occupancy calculation as described in the
main paper. Just like get_contacts_bootst.py, it can work on multiple ligands
simultaneously. Rotation must have been removed from the protein's movement (for
VDAC analysis only the in-xy-plane rotation was removed).

get-occs.py produces VMD-compatible .dx files. It was invoked with the following
flags:
get_occs.py -f <trajectories> -s <tpr> -res "resname CER" "resname CHOL"



MODELS
######

Martini v2.2 VDAC models are provided as GROMACS-ready .itp files for VDAC1, 2,
and 3, for the protonated Glu 73/84 versions of VDAC1 and 2, and for the Gln and
Asp mutants of VDAC1 and 2. Protonated/Gln/Asp mutants have the same number of
particles as the wt variants, and can be used with the provided wt configurations
as the starting structures.

The remaining force field parameters, for lipids, solvent and ions, are available
from cgmartini.nl.

