package demo; import java.io.IOException; import org.biojava.nbio.structure.Structure; import org.biojava.nbio.structure.StructureException; import org.biojava.nbio.structure.StructureIO; import org.biojava.nbio.structure.align.quaternary.QsAlign; import org.biojava.nbio.structure.align.quaternary.QsAlignParameters; import org.biojava.nbio.structure.align.quaternary.QsAlignResult; import org.biojava.nbio.structure.cluster.SubunitClustererParameters; /** * Demo on how to use programatically {@link QsAlign} for the alignment of * quaternary structures. * <p> * Small oligomers: proliferating cell nuclear antigens (1PLR, 3HI8, 3IFV), * photosynthetic reaction centers (2JIY, 1DXR) * <p> * Big oligomers: cytochrome bc1 complexes (1bcc, 1kb9, 1qcr), phycocyanin * (2VML, 2BV8), bacterial ribosome (1FJG, 4V54). * * * @author Aleix Lafita * @since 5.0.0 * */ public class DemoQsAlign { public static void main(String[] args) throws IOException, StructureException { // Align two trimeric DNA clamps Structure s1 = StructureIO.getStructure("1bcc"); Structure s2 = StructureIO.getStructure("1kb9"); // Select the parameters for clustering and alignment SubunitClustererParameters clusterParams = new SubunitClustererParameters(); QsAlignParameters alignParams = new QsAlignParameters(); QsAlignResult result = QsAlign .align(s1, s2, clusterParams, alignParams); System.out.println(result); } }