public static CeSymmResult analyzeLevel ( Atom [ ] atoms , CESymmParameters params ) throws StructureException { if ( atoms . length < 1 ) throw new IllegalArgumentException ( "Empty Atom array given." ) ; CeSymmResult result = align ( atoms , params ) ; if ( result . isRefined ( ) ) { // STEP 5: symmetry alignment optimization if ( result . getParams ( ) . getOptimization ( ) ) { try { MultipleAlignment msa = result . getMultipleAlignment ( ) ; SymmOptimizer optimizer = new SymmOptimizer ( result ) ; msa = optimizer . optimize ( ) ; result . setMultipleAlignment ( msa ) ; } catch ( RefinerFailedException e ) { logger . debug ( "Optimization failed:" + e . getMessage ( ) ) ; } } } return result ; }
Analyze a single level of symmetry .