code: public static void blockInfo(AFPChain afpChain)
  	{
  		int     i, j, k, a, n;
  
  		int blockNum = afpChain.getBlockNum();
  
  		int[] blockSize =afpChain.getBlockSize();
  		int[] afpChainList = afpChain.getAfpChainList();
  		int[] block2Afp = afpChain.getBlock2Afp();
  		int[][][]blockResList = afpChain.getBlockResList();
  
  		List<AFP>afpSet = afpChain.getAfpSet();
  		int[] blockResSize = afpChain.getBlockResSize();
  
  		for(i = 0; i < blockNum; i ++)  {
  			n = 0;
  			for(j = 0; j < blockSize[i]; j ++)      {
  				//the index in afpChainList, not in the whole afp set
  				a = afpChainList[block2Afp[i] + j];
  				for(k = 0; k < afpSet.get(a).getFragLen(); k ++)     {
  					blockResList[i][0][n] = afpSet.get(a).getP1() + k;
  					blockResList[i][1][n] = afpSet.get(a).getP2() + k;
  					n ++;
  				}
  			}
  			blockResSize[i] = n;
  		}
  
  		afpChain.setBlockResSize(blockResSize);
  		afpChain.setBlockSize(blockSize);
  		afpChain.setAfpChainList(afpChainList);
  		afpChain.setBlock2Afp(block2Afp);
  		afpChain.setBlockResList(blockResList);
  	}
docs: get the afp list and residue list for each block