code: public static List<String> getAminoAcidList(String peptideSequence,
        String delimiter) throws MonomerException, NotationException,
           MonomerLoadingException, ChemistryException {
  
      if (null == peptideSequence) {
        throw new NotationException("Peptide Sequence must be specified");
      }
  
      if (null == delimiter || delimiter.length() == 0) {
        return getAminoAcidList(peptideSequence);
      } else {
        if (!isValidDelimiter(delimiter))
          throw new NotationException("Invalid sequence delimiter ["
              + delimiter + "], only the following are supported: ["
              + getValidDelimiters() + "]");
      }
  
      List<String> blocks = new ArrayList<String>();
      StringTokenizer st = new StringTokenizer(peptideSequence, delimiter);
      while (st.hasMoreTokens()) {
        blocks.add(st.nextToken());
      }
      List<String> l = new ArrayList<String>();
  
      for (String block : blocks) {
        List<String> tmpL = getAminoAcidList(block);
        l.addAll(tmpL);
      }
      return l;
    }
docs: This method converts peptide sequence into a List of amino acid with
  optional delimiter
  
  @param peptideSequence input sequence
  @param delimiter optional delimeter in the input sequence
  @return list of amino acid
  @throws MonomerException if monomer is not valid
  @throws NotationException if notation is not valid
  @throws MonomerLoadingException if monomer could not be read from the source
  @throws ChemistryException if chemistry could not be initialized