private String removeModChar(String modProtein){
		//If modified stops are starts are disabled, just ignore this call
		if(!Properties.useModifiedStopsAndStarts){
			return modProtein;
		}
		//If a premature stop is found, remove everything after that point
		int prematureStopLoc;
		if((prematureStopLoc = modProtein.indexOf(Definitions.STOP_CODON_STRING)) != -1){
			modProtein = modProtein.substring(0, prematureStopLoc);
		}
		
		//Remove the + from any protein before putting it into the output file
		if(modProtein.contains(Character.toString(Definitions.END_NOT_FOUND_CHAR))){
			String before = modProtein.substring(0, modProtein.indexOf(Definitions.END_NOT_FOUND_CHAR));
			String after = modProtein.substring(modProtein.indexOf(Definitions.END_NOT_FOUND_CHAR) + 1);
			modProtein = before + after;
		}
		
		//Remove the & from any protein before putting it into the output file
		//Default assume no start will be found
		int firstNonStartDelay = modProtein.length();
		for(int i = 0; i < modProtein.length(); i++){
			if(modProtein.charAt(i) != Definitions.START_NOT_FOUND_CHAR){
				firstNonStartDelay = i;
				break;
			}
			
		}
		//Trim off the leading start not found characters
		modProtein = modProtein.substring(firstNonStartDelay, modProtein.length());
		
		//Ensure that the finished protein has a start of M, otherwise to much was trimmed off the front
		if(modProtein.length() > 0){
			assert (modProtein.charAt(0) == 'M' || modProtein.charAt(0) == 'm'); 
		}
		
		return modProtein;
	}