Skip to content

Commit d6c1fb3

Browse files
committed
New bioassembly demo
1 parent 39d8c24 commit d6c1fb3

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package demo;
2+
3+
import java.util.List;
4+
5+
import org.biojava.nbio.structure.Structure;
6+
import org.biojava.nbio.structure.StructureIO;
7+
import org.biojava.nbio.structure.cluster.SubunitClustererParameters;
8+
import org.biojava.nbio.structure.symmetry.core.QuatSymmetryDetector;
9+
import org.biojava.nbio.structure.symmetry.core.QuatSymmetryParameters;
10+
import org.biojava.nbio.structure.symmetry.core.QuatSymmetryResults;
11+
12+
public class DemoBioAssemblies {
13+
14+
public static void main(String[] args) throws Exception {
15+
16+
// 1st method: get 1 bioassembly at a time, parses the file each time
17+
System.out.println("Getting one bioassembly at a time");
18+
Structure asymUnit = StructureIO.getStructure("2trx");
19+
System.out.println("Number of bioassemblies: "+asymUnit.getPDBHeader().getNrBioAssemblies());
20+
21+
for (int id = 1; id<=asymUnit.getPDBHeader().getNrBioAssemblies(); id++) {
22+
Structure bioAssembly = StructureIO.getBiologicalAssembly("2trx", id);
23+
findQuatSym(bioAssembly);
24+
}
25+
26+
27+
// 2nd method: get all bioassemblies at once, parses the file only once
28+
System.out.println("Getting all bioassemblies");
29+
List<Structure> bioAssemblies = StructureIO.getBiologicalAssemblies("2trx");
30+
31+
for (Structure bioAssembly : bioAssemblies) {
32+
findQuatSym(bioAssembly);
33+
}
34+
35+
36+
}
37+
38+
private static void findQuatSym(Structure bioAssembly) {
39+
SubunitClustererParameters clusterParams = new SubunitClustererParameters();
40+
QuatSymmetryParameters symmParams = new QuatSymmetryParameters();
41+
QuatSymmetryResults symmetry = QuatSymmetryDetector.calcGlobalSymmetry(
42+
bioAssembly, symmParams, clusterParams);
43+
44+
// C2 symmetry non pseudosymmetric
45+
System.out.println(symmetry.getSymmetry() +" "+ symmetry.getStoichiometry());
46+
47+
}
48+
}

0 commit comments

Comments
 (0)