| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -27,6 +27,7 @@ A tutorial for the protein structure modules of [BioJava](http://www.biojava.org | |||
| 27 | 27 | ||
| 28 | 28 | This tutorial is split into several chapters. | |
| 29 | 29 | ||
| 30 | + | ||
| 30 | 31 | Chapter 1 - Quick [Installation](installation.md) | |
| 31 | 32 | ||
| 32 | 33 | Chapter 2 - [First Steps](firststeps.md) | |
@@ -47,13 +48,20 @@ Chapter 9 - [Biological Assemblies](bioassembly.md) | |||
| 47 | 48 | ||
| 48 | 49 | Chapter 10 - [External Databases](externaldb.md) like SCOP & CATH | |
| 49 | 50 | ||
| 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 | ||
| 51 | 60 | ||
| 52 | - Chapter 12 - Bonds | ||
| 61 | + Chapter 16 - [Special Cases](special.md) | ||
| 53 | 62 | ||
| 54 | - Chapter 13 - [Special Cases](special.md) | ||
| 63 | + Chapter 17 - [Lists](lists.md) of PDB IDs and PDB [status information](lists.md). | ||
| 55 | 64 | ||
| 56 | - Chapter 14 - [Lists](lists.md) of PDB IDs and PDB [status information](lists.md). | ||
| 57 | 65 | ||
| 58 | 66 | ### Author: | |
| 59 | 67 | ||
| Original file line number | Diff line number | Diff 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 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -44,4 +44,17 @@ The algorithm to find all unique interfaces in the crystal works roughly like th | |||
| 44 | 44 | ||
| 45 | 45 | 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. | |
| 46 | 46 | ||
| 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 | + ``` | ||
| 47 | 60 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments