code: public static AtomInfo parse(String jmolAtomInfo){
  
  
  		Matcher matcher = pattern.matcher(jmolAtomInfo);
  
  		boolean found = matcher.find();
  		if ( ! found) {
  			logger.info("Could not parse the atomInfo string {}", jmolAtomInfo);
  			return new AtomInfo();
  		}
  		String residueName   = matcher.group(1);
  		String residueNumber = matcher.group(2);
  		String chainId       = matcher.group(3);
  		String atomName      = matcher.group(4);
  		String modelNumber   = matcher.group(5);
  
  
  
  		//System.out.println(jmolAtomInfo +" | " +  residueName + " number:" + residueNumber + " chain:" + chainName +
  		//		" atomName:" + atomName + " modelNumber:" + modelNumber );
  
  		AtomInfo info = new AtomInfo();
  
  		info.setAtomName(atomName);
  		info.setResidueName(residueName);
  		info.setResidueNumber(residueNumber.replaceAll("\\^",""));
  
  		String ci = " ";
  		if (chainId != null)
  			ci = chainId.substring(1,chainId.length());
  		info.setChainId(ci);
  
  		int mn = 1;
  		if ( modelNumber != null)
  			mn = Integer.parseInt(modelNumber.substring(1,modelNumber.length()));
  		info.setModelNumber(mn);
  
  
  		return info;
  	}
docs: parses e.g.
  [MET]361:A.CA/1 #2843
  [GLY]339:A.CA #2573
  [ASN]44.CA #704
  
  @param jmolAtomInfo
  @return an AtomInfo