<commit_before>function read_xml_input_diffusion(input_file_path::String)
	file_stream::IOStream = open(input_file_path, "r")
	file_string::String = readstring(file_stream)
	close(file_stream)
	
	# Read path to particle system configuration.
	ind_before = search(file_string, "<particle_system_path>")
	ind_after = search(file_string, "</particle_system_path>")
	ind = ind_before[end]+1:ind_after[1]-1
	particle_system_path::String = file_string[ind]
	
	# Read path to output file.
	ind_before = search(file_string, "<output_path>")
	ind_after = search(file_string, "</output_path>")
	ind = ind_before[end]+1:ind_after[1]-1
	output_path::String = file_string[ind]
	
	# Read inherent diffusion coefficient.
	ind_before = search(file_string, "<inherent_diffusion_coefficient>")
	ind_after = search(file_string, "</inherent_diffusion_coefficient>")
	ind = ind_before[end]+1:ind_after[1]-1
	D0::Float64 = parse(Float64, file_string[ind])
	
	# Read deltat_coarse.
	ind_before = search(file_string, "<deltat_coarse>")
	ind_after = search(file_string, "</deltat_coarse>")
	ind = ind_before[end]+1:ind_after[1]-1
	deltat_coarse::Float64 = parse(Float64, file_string[ind])
	
	# Read number_of_time_points_coarse.
	ind_before = search(file_string, "<number_of_time_points_coarse>")
	ind_after = search(file_string, "</number_of_time_points_coarse>")
	ind = ind_before[end]+1:ind_after[1]-1
	number_of_time_points_coarse::Int64 = parse(Int64, file_string[ind])
	
	# Read number_of_time_points_fine_per_coarse.
	ind_before = search(file_string, "<number_of_time_points_fine_per_coarse>")
	ind_after = search(file_string, "</number_of_time_points_fine_per_coarse>")
	ind = ind_before[end]+1:ind_after[1]-1
	number_of_time_points_fine_per_coarse::Int64 = parse(Int64, file_string[ind])
	
	# Read number_of_diffusers.
	ind_before = search(file_string, "<number_of_diffusers>")
	ind_after = search(file_string, "</number_of_diffusers>")
	ind = ind_before[end]+1:ind_after[1]-1
	number_of_diffusers::Int64 = parse(Int64, file_string[ind])
	
	# Read number_of_cells_x.
	ind_before = search(file_string, "<number_of_cells_x>")
	ind_after = search(file_string, "</number_of_cells_x>")
	ind = ind_before[end]+1:ind_after[1]-1
	number_of_cells_x::Int64 = parse(Int64, file_string[ind])
	
	# Read number_of_cells_y.
	ind_before = search(file_string, "<number_of_cells_y>")
	ind_after = search(file_string, "</number_of_cells_y>")
	ind = ind_before[end]+1:ind_after[1]-1
	number_of_cells_y::Int64 = parse(Int64, file_string[ind])
	
	# Read number_of_cells_z.
	ind_before = search(file_string, "<number_of_cells_z>")
	ind_after = search(file_string, "</number_of_cells_z>")
	ind = ind_before[end]+1:ind_after[1]-1
	number_of_cells_z::Int64 = parse(Int64, file_string[ind])
	
	return (particle_system_path, output_path, D0, deltat_coarse, number_of_time_points_coarse, number_of_time_points_fine_per_coarse, number_of_diffusers, number_of_cells_x, number_of_cells_y, number_of_cells_z)
end

#read_xml_input("../input.xml")<commit_msg>Test of read diffusion input<commit_after>include("read_xml_key.jl")

function read_xml_input_diffusion(file_path::String)
	file_stream::IOStream = open(file_path, "r")
	file_string::String = readstring(file_stream)
	close(file_stream)
	
	output_generation_path::String = read_xml_key(file_string, "output_generation_path", String)
	inherent_diffusion_coefficient::Float64 = read_xml_key(file_string, "inherent_diffusion_coefficient", Float64)
	deltat_coarse::Float64 = read_xml_key(file_string, "deltat_coarse", Float64)
	number_of_time_points_coarse::Int64 = read_xml_key(file_string, "number_of_time_points_coarse", Int64)
	number_of_time_points_fine_per_coarse::Int64 = read_xml_key(file_string, "number_of_time_points_fine_per_coarse", Int64)
	number_of_diffusers::Int64 = read_xml_key(file_string, "number_of_diffusers", Int64)
	number_of_cells_x::Int64 = read_xml_key(file_string, "number_of_cells_x", Int64)
	number_of_cells_y::Int64 = read_xml_key(file_string, "number_of_cells_y", Int64)
	number_of_cells_z::Int64 = read_xml_key(file_string, "number_of_cells_z", Int64)
	output_diffusion_path::String = read_xml_key(file_string, "output_diffusion_path", String)
	
	return (output_generation_path, inherent_diffusion_coefficient, deltat_coarse, number_of_time_points_coarse, number_of_time_points_fine_per_coarse, number_of_diffusers, number_of_cells_x, number_of_cells_y, number_of_cells_z, output_diffusion_path)
end

read_xml_input_diffusion("../io_test_files/input_diffusion.xml")
{'fraction_non_alphanumeric': 0.11619640079982226, 'fraction_numerical': 0.021328593645856476, 'mean_word_length': 9.617924528301886, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 17}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4104369', 'n_tokens_mistral': 1789, 'n_tokens_neox': 1698, 'n_words': 223}