This changes the form of resContact from a contact-map type format
to a contact-profile type format. A contact map is a list of
contacts, whereas a contact profile is a list of residues with
their contacts.
In a contact profile, each residue only needs to know which other
residues it contacts, not the complete resContact format.
When creating a contact profile, each contact in the map is added
to both residues involved. This means changing the format from:
i-j
i-k
i-l
j-k
j-l
j-m
(list/map format)
to
i-j,k,l
j-i,k,l,m
(profile format)
For example, for residue i, I want to keep only the info for j,k, and
l since I already have the info for residue i
for residue j, I want to keep only the information for k,l, and m. For
the i-j contact it is more complicated because I need to invert the
order to j-i before removing residue j.
Ex. for i-j contact
1) make one copy
2) delete the info for residue i ('res1', 'index1')
3) add contact to residue i
4) make another copy
5a) invert identity of res1/res2, index1/index2
b) invert each of the atom contacts
6) delete res1, index1 which now match j.
Input parameter res determines which option is picked
If 'res1', carry out steps 1-3
If 'res2', carry out steps 4-6.
References calccontacts.resContact.atomContactList, calccontacts.resContact.index1, calccontacts.resContact.index2, calccontacts.resContact.res1, and calccontacts.resContact.res2.