Skip to content

Commit 2f0462c

Browse files
committed
Merge pull request #2 from josemduarte/master
Completing tutorial
2 parents d73b0b9 + ef803d3 commit 2f0462c

File tree

3 files changed

+61
-4
lines changed

3 files changed

+61
-4
lines changed

structure/README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ A tutorial for the protein structure modules of [BioJava](http://www.biojava.org
2727

2828
This tutorial is split into several chapters.
2929

30+
3031
Chapter 1 - Quick [Installation](installation.md)
3132

3233
Chapter 2 - [First Steps](firststeps.md)
@@ -47,13 +48,20 @@ Chapter 9 - [Biological Assemblies](bioassembly.md)
4748

4849
Chapter 10 - [External Databases](externaldb.md) like SCOP & CATH
4950

50-
Chapter 11 - Protein Symmetry
51+
Chapter 11 - [Accessible Surface Areas](asa.md)
52+
53+
Chapter 12 - [Contacts within a chain and between chains](contact-map.md)
54+
55+
Chapter 13 - Finding all interfaces in crystal: [crystal contacts](crystal-contacts.md)
56+
57+
Chapter 14 - Protein Symmetry
58+
59+
Chapter 15 - Bonds
5160

52-
Chapter 12 - Bonds
61+
Chapter 16 - [Special Cases](special.md)
5362

54-
Chapter 13 - [Special Cases](special.md)
63+
Chapter 17 - [Lists](lists.md) of PDB IDs and PDB [status information](lists.md).
5564

56-
Chapter 14 - [Lists](lists.md) of PDB IDs and PDB [status information](lists.md).
5765

5866
### Author:
5967

structure/asa.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Calculating Accessible Surface Areas
2+
3+
BioJava can also do calculation of Accessible Surface Areas (ASA) through an implementation of the rolling ball algorithm of Shrake and Rupley [Shrake 1973].
4+
5+
This code will do the ASA calculation and output the values per residue and the total:
6+
```java
7+
AtomCache cache = new AtomCache();
8+
cache.setUseMmCif(true);
9+
10+
StructureIO.setAtomCache(cache);
11+
12+
Structure structure = StructureIO.getStructure("1smt");
13+
14+
AsaCalculator asaCalc = new AsaCalculator(structure,
15+
AsaCalculator.DEFAULT_PROBE_SIZE,
16+
1000, 1, false);
17+
18+
GroupAsa[] groupAsas = asaCalc.getGroupAsas();
19+
20+
double tot = 0;
21+
22+
for (GroupAsa groupAsa: groupAsas) {
23+
System.out.printf("%1s\t%5s\t%3s\t%6.2f\n",
24+
groupAsa.getGroup().getChainId(),
25+
groupAsa.getGroup().getResidueNumber(),
26+
groupAsa.getGroup().getPDBName(),
27+
groupAsa.getAsaU());
28+
tot+=groupAsa.getAsaU();
29+
}
30+
31+
System.out.printf("Total area: %9.2f\n",tot);
32+
33+
```
34+
See [DemoAsa](https://github.com/biojava/biojava/blob/master/biojava3-structure/src/main/java/demo/DemoAsa.java) for a fully working demo.
35+
36+
[Shrake 1973]: http://www.sciencedirect.com/science/article/pii/0022283673900119

structure/crystal-contacts.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,17 @@ The algorithm to find all unique interfaces in the crystal works roughly like th
4444

4545
See [DemoCrystalInterfaces](https://github.com/biojava/biojava/blob/master/biojava3-structure/src/main/java/demo/DemoCrystalInterfaces.java) for a fully working demo of the example above.
4646

47+
## Clustering the interfaces
48+
One can also cluster the interfaces based on their similarity. The similarity is measured through contact overlap: number of common contacts over average number of contact in both chains. The clustering can be done as following:
49+
50+
```java
51+
List<StructureInterfaceCluster> clusters = interfaces.getClusters();
52+
for (StructureInterfaceCluster cluster:clusters) {
53+
System.out.print("Cluster "+cluster.getId()+" members: ");
54+
for (StructureInterface member:cluster.getMembers()) {
55+
System.out.print(member.getId()+" ");
56+
}
57+
System.out.println();
58+
}
59+
```
4760

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy