code: public final static String cleanSequence(String sequence, Set<Character> cSet){
  		Set<Character> invalidCharSet = new HashSet<Character>();
  		StringBuilder cleanSeq = new StringBuilder();
  		if(cSet == null) cSet = PeptideProperties.standardAASet;
  		for(char c:sequence.toCharArray()){
  			if(!cSet.contains(c)){
  				cleanSeq.append("-");
  				invalidCharSet.add(c);
  			}else{
  				cleanSeq.append(c);
  			}
  		}
  
  		// TODO: Should be StringJoiner once JDK8 used
  		StringBuilder stringBuilder = new StringBuilder();
  		for(char c: invalidCharSet){
  			stringBuilder.append("\'" + c + "\'");
  		}
  		stringBuilder.deleteCharAt(stringBuilder.length()-1);
  		stringBuilder.append(" are being replaced with '-'");
  		logger.warn(stringBuilder.toString());
  
  		return cleanSeq.toString();
  	}
docs: Returns a new sequence with all invalid characters being replaced by '-'.
  Note that any character outside of the 20 standard protein amino acid codes are considered as invalid.
  
  @param sequence
  protein sequence to be clean
  @param cSet
  user defined characters that are valid. Can be null. If null, then 20 standard protein amino acid codes will be considered as valid.
  @return
  a new sequence with all invalid characters being replaced by '-'.