private static double combineRmsd ( int b1 , int b2 , AFPChain afpChain , Atom [ ] ca1 , Atom [ ] ca2 ) { int i ; int afpn = 0 ; int [ ] afpChainList = afpChain . getAfpChainList ( ) ; int [ ] block2Afp = afpChain . getBlock2Afp ( ) ; int [ ] blockSize = afpChain . getBlockSize ( ) ; int [ ] list = new int [ blockSize [ b1 ] + blockSize [ b2 ] ] ; for ( i = block2Afp [ b1 ] ; i < block2Afp [ b1 ] + blockSize [ b1 ] ; i ++ ) { list [ afpn ++ ] = afpChainList [ i ] ; } for ( i = block2Afp [ b2 ] ; i < block2Afp [ b2 ] + blockSize [ b2 ] ; i ++ ) { list [ afpn ++ ] = afpChainList [ i ] ; } double rmsd = AFPChainer . calAfpRmsd ( afpn , list , 0 , afpChain , ca1 , ca2 ) ; afpChain . setBlock2Afp ( block2Afp ) ; afpChain . setBlockSize ( blockSize ) ; afpChain . setAfpChainList ( afpChainList ) ; return rmsd ; }
return the rmsd of two blocks