X Tutup
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)
X Tutup