Interaction analysis for molecular structures and ensembles

Computing and comparing interaction patterns across a protein family

The following steps will generate a compare flare for an entire family of proteins using a structural alignment from EBI PDBeFold.


Given three PDB-files and the PDBeFold XML file containing their alignment:

First, split the xml-file into three residue label files:

  get_resilabels.py --input_file match.xml --output_prefix labels_

For each structure, first generate a contact list and then the set of residue contact frequencies:

  get_static_contacts.py --structure structure_1.pdb --itypes hb --output contacts_1.tsv
  get_static_contacts.py --structure structure_2.pdb --itypes hb --output contacts_2.tsv
  get_static_contacts.py --structure structure_3.pdb --itypes hb --output contacts_2.tsv

  get_contact_frequencies.py --input_files contacts_1.tsv \
                             --label_file labels_1.tsv \
                             --itypes all \
                             --output_file resfrequencies_1.tsv
  get_contact_frequencies.py --input_files contacts_2.tsv \
                             --label_file labels_2.tsv \
                             --itypes all \
                             --output_file resfrequencies_2.tsv
  get_contact_frequencies.py --input_files contacts_3.tsv \
                             --label_file labels_3.tsv \
                             --itypes all \
                             --output_file resfrequencies_3.tsv

Next, the residue contact frequencies are combined and heatmap and flareplots are written:

  get_contact_fingerprints.py --input_frequencies resfrequencies_*.tsv \
                              --column_headers "Structure 1" "Structure 2" "Structure 3" \
                              --flare_output multiflare.json \
                              --plot_output fingerprint.png
Upload the multiflare json at this following link: gpcrviz.github.io/flareplot/?p=create