@Override
	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append("score:").append(preservation.toString());
		sb.append(", ").append("names:").append(preserveReadNames ? "preserve" : "lossy");
		if (captureAllTags) {
			if (ignoreTags == null || ignoreTags.isEmpty()) {
				sb.append(", ").append("tags:all");
			} else {
				sb.append(", tags all but ");
				for (String tag : ignoreTags) {
					sb.append(":").append(tag);
				}
			}
		} else {
			if (captureTags == null || captureTags.isEmpty()) {
				sb.append(", no tags");
			} else {
				sb.append(", capture tags[");
				for (String tag : captureTags) {
					sb.append(":").append(tag);
				}
				sb.append("]");
			}
		}

		return sb.toString();
	}