Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 1.46 KB

asa.md

File metadata and controls

49 lines (33 loc) · 1.46 KB

Calculating Accessible Surface Areas

BioJava can also do calculation of Accessible Surface Areas (ASA) through an implementation of the rolling ball algorithm of Shrake and Rupley Shrake 1973.

This code will do the ASA calculation and output the values per residue and the total:

		AtomCache cache = new AtomCache();
		cache.setUseMmCif(true);
		
		StructureIO.setAtomCache(cache); 
		
		Structure structure = StructureIO.getStructure("1smt");
		
		AsaCalculator asaCalc = new AsaCalculator(structure, 
				AsaCalculator.DEFAULT_PROBE_SIZE, 
				1000, 1, false);
		
		GroupAsa[] groupAsas = asaCalc.getGroupAsas();
		
		double tot = 0;
		
		for (GroupAsa groupAsa: groupAsas) {
			System.out.printf("%1s\t%5s\t%3s\t%6.2f\n", 
					groupAsa.getGroup().getChainId(),
					groupAsa.getGroup().getResidueNumber(),
					groupAsa.getGroup().getPDBName(), 
					groupAsa.getAsaU());
			tot+=groupAsa.getAsaU();
		}
		
		System.out.printf("Total area: %9.2f\n",tot);
		

See DemoAsa for a fully working demo.


Navigation: Home | Book 3: The Structure Modules | Chapter 11 : Accessible Surface Areas

Prev: Chapter 10 : External Databases

Next: Chapter 12 : Contacts Within a Chain and between Chains