Index: tests/Python/AllActions/moltest.py
===================================================================
--- tests/Python/AllActions/moltest.py	(revision e7ad08f61dc9dca6dd0ca864bfc7eda390ea0535)
+++ tests/Python/AllActions/moltest.py	(revision cd91bdcd7f99f59b3f6bfcf0cc89c7a59550d8bd)
@@ -39,5 +39,5 @@
 def ParseParameters(docstring):
     result = []
-    params = re.findall(r'\(str\)([-a-zA-Z]*)', docstring)
+    params = re.findall(r'\(str\)([-_a-zA-Z]*)', docstring)
 
     for param in params:
Index: tests/Python/AllActions/moltest_check.py
===================================================================
--- tests/Python/AllActions/moltest_check.py	(revision e7ad08f61dc9dca6dd0ca864bfc7eda390ea0535)
+++ tests/Python/AllActions/moltest_check.py	(revision cd91bdcd7f99f59b3f6bfcf0cc89c7a59550d8bd)
@@ -24,5 +24,5 @@
 def CheckParameters(docstring):
     result = 0
-    params = re.findall(r'\(str\)([-a-zA-Z]*)', docstring)
+    params = re.findall(r'\(str\)([-_a-zA-Z]*)', docstring)
 
     for param in params:
Index: tests/Python/AllActions/options.dat
===================================================================
--- tests/Python/AllActions/options.dat	(revision e7ad08f61dc9dca6dd0ca864bfc7eda390ea0535)
+++ tests/Python/AllActions/options.dat	(revision cd91bdcd7f99f59b3f6bfcf0cc89c7a59550d8bd)
@@ -1,68 +1,68 @@
 #key	value
-add-atom	"1"
-add-empty-boundary	"5,5,5"
-Alignment-Axis	"0,0,1"
-angle-x	"0."
-angle-x	"0"
-angle-y	"0."
-angle-y	"0"
-angle-z	"0 "
-angle-z	"0."
-angle-z	"0"
+add_atom	"1"
+add_empty_boundary	"5,5,5"
+Alignment_Axis	"0,0,1"
+angle_x	"0."
+angle_x	"0"
+angle_y	"0."
+angle_y	"0"
+angle_z	"0 "
+angle_z	"0."
+angle_z	"0"
 axis	"0 0 1"
 axis	"0 1 0"
 axis	"1 2 1"
-bin-end	"10"
-bin-end	"20"
-bin-end	"359"
-bin-end	"359.5"
-bin-end	"5"
-bin-output-file	"bin_output-10.csv"
-bin-output-file	"bin_output-20.csv"
-bin-output-file	"bin_output-5.csv"
-bin-output-file	"bin_output.csv"
-bin-output-file	"emptybox_histogram.dat"
-bin-output-file	"hydrogenbox_histogram.dat"
-bin-output-file	"waterbox_histogram.dat"
-bin-output-file	"waterbox-mirrored_histogram.dat"
-bin-start	"0"
-bin-start	"-0.5"
-bin-start	"10"
-bin-start	"5"
-bin-width	"1."
-bond-degree	"1"
-bond-file	"bond.dat"
+bin_end	"10"
+bin_end	"20"
+bin_end	"359"
+bin_end	"359.5"
+bin_end	"5"
+bin_output_file	"bin_output-10.csv"
+bin_output_file	"bin_output-20.csv"
+bin_output_file	"bin_output-5.csv"
+bin_output_file	"bin_output.csv"
+bin_output_file	"emptybox_histogram.dat"
+bin_output_file	"hydrogenbox_histogram.dat"
+bin_output_file	"waterbox_histogram.dat"
+bin_output_file	"waterbox-mirrored_histogram.dat"
+bin_start	"0"
+bin_start	"-0.5"
+bin_start	"10"
+bin_start	"5"
+bin_width	"1."
+bond_degree	"1"
+bond_file	"bond.dat"
 bondside	"1"
-bond-table	"table.dat"
-calculate-bounding-box	""
-calculate-molar-mass	""
+bond_table	"table.dat"
+calculate_bounding_box	""
+calculate_molar_mass	""
 center	"10. 10. 10."
-center-in-box	"10 0 0 10 0 10"
-change-bond-angle	"100."
-change-box	"10 0 0 10 0 10"
-change-element	"1"
-change-molname	"water"
-convex-envelope	"50."
-convex-file	"convexfile"
+center_in_box	"10 0 0 10 0 10"
+change_bond_angle	"100."
+change_box	"10 0 0 10 0 10"
+change_element	"1"
+change_molname	"water"
+convex_envelope	"50."
+convex_file	"convexfile"
 coordinates	"1,0,0"
-copy-molecule	"0"
+copy_molecule	"0"
 count	"12"
-create-micelle	"200"
-damping-factor	"0.5"
-default-molname	"molname"
+create_micelle	"200"
+damping_factor	"0.5"
+default_molname	"molname"
 deltat	"0.01"
 density	"1.0"
-depth-first-search	"2."
-dipole-angular-correlation	"H2O"
+depth_first_search	"2."
+dipole_angular_correlation	"H2O"
 distance	"1.55"
 distances	"3.1 3.1 3.1"
 distances	"3.1 3.1 3.1"
-distance-to-boundary	"1."
-distance-to-molecule	"1.5"
-distance-to-molecule	"2.1"
-distance-to-vector	"named_vector"
-domain-position	"0.  0. 0."
-domain-position	"0 0 0"
-domain-position	"10. 10. 10."
+distance_to_boundary	"1."
+distance_to_molecule	"1.5"
+distance_to_molecule	"2.1"
+distance_to_vector	"named_vector"
+domain_position	"0.  0. 0."
+domain_position	"0 0 0"
+domain_position	"10. 10. 10."
 DoCyclesFull	"0"
 DoLongrange	"0"
@@ -73,79 +73,79 @@
 DoSmearElectronicCharges	"0"
 DoValenceOnly	"0"
-element-db	"./"
+element_db	"./"
 elements	"1"
 elements	"1 8"
-end-step	"1"
-enforce-net-zero-charge	"0"
+end_step	"1"
+enforce_net_zero_charge	"0"
 ExcludeHydrogen	"1"
 fastparsing	"1"
 filename	"test.exttypes"
-fill-molecule	"filler.xyz"
-fill-void	"hydrogen.xyz"
-fill-void	"water.data"
-fill-void	"water.xyz"
-forces-file	"test.forces"
-fragment-charges	"1 1"
-fragment-executable	"mpqc"
-fragment-jobs	"Job00.in"
-fragment-molecule	"./"
-fragment-path	"test/"
-fragment-prefix	"BondFragment"
-grid-level	"5"
+fill_molecule	"filler.xyz"
+fill_void	"hydrogen.xyz"
+fill_void	"water.data"
+fill_void	"water.xyz"
+forces_file	"test.forces"
+fragment_charges	"1 1"
+fragment_executable	"mpqc"
+fragment_jobs	"Job00.in"
+fragment_molecule	"./"
+fragment_path	"test/"
+fragment_prefix	"BondFragment"
+grid_level	"5"
 help	"help"
-id-mapping	"1"
+id_mapping	"1"
 input	"test.data"
-input-to-vector	"named_vector"
-inter-order	"2"
-interpolation-degree	"5"
-interpolation-steps	"9"
-keep-bondgraph	"1"
-keep-fixed-CenterOfMass	"0"
+input_to_vector	"named_vector"
+inter_order	"2"
+interpolation_degree	"5"
+interpolation_steps	"9"
+keep_bondgraph	"1"
+keep_fixed_CenterOfMass	"0"
 load	"test.data"
-load-session	"test.py"
+load_session	"test.py"
 MaxDistance	"-1"
-max-distance	"0"
-max-meshwidth	"0.3"
-mesh-offset	"0.5,0.5,0.5"
-mesh-size	"10,10,10"
-min-distance	"1."
-mirror-atoms	"1.,1.,1."
-molecule-by-id	"0"
-near-field-cells	"3"
-nonconvex-envelope	"25"
-nonconvex-file	"NonConvexEnvelope"
-nonconvex-file	"nonconvexfile"
+max_distance	"0"
+max_meshwidth	"0.3"
+mesh_offset	"0.5,0.5,0.5"
+mesh_size	"10,10,10"
+min_distance	"1."
+mirror_atoms	"1.,1.,1."
+molecule_by_id	"0"
+near_field_cells	"3"
+nonconvex_envelope	"25"
+nonconvex_file	"NonConvexEnvelope"
+nonconvex_file	"nonconvexfile"
 offset	"0"
 offset	"1"
 order	"2"
-output-as	"store.conf"
-output-as	"store.data"
-output-as	"store.pdb"
-output-as	"store.xyz"
-output-as	"test.in"
-output-every-step	"1"
-output-file	"emptybox_values.dat"
-output-file	"hydrogenbox_values.dat"
-output-file	"output-10.csv"
-output-file	"output-20.csv"
-output-file	"output-5.csv"
-output-file	"output.csv"
-output-file	"waterbox-mirrored_values.dat"
-output-file	"waterbox_values.dat"
-output-types	"xyz"
-output-types	"xyz mpqc"
-parse-atom-fragments	"atomfragments.dat"
-parse-fragment-results	"results.dat"
-parse-homologies	"homology.dat"
-parse-particle-parameters	"water.particles"
-parse-potentials	"water.potentials"
-parse-state-files	"1"
-parse-tremolo-potentials	"argon.potentials"
-parse-tremolo-potentials	"tensid.potentials"
-parser-parameters	"mpqc"
-parser-parameters	"psi3"
+output_as	"store.conf"
+output_as	"store.data"
+output_as	"store.pdb"
+output_as	"store.xyz"
+output_as	"test.in"
+output_every_step	"1"
+output_file	"emptybox_values.dat"
+output_file	"hydrogenbox_values.dat"
+output_file	"output-10.csv"
+output_file	"output-20.csv"
+output_file	"output-5.csv"
+output_file	"output.csv"
+output_file	"waterbox-mirrored_values.dat"
+output_file	"waterbox_values.dat"
+output_types	"xyz"
+output_types	"xyz mpqc"
+parse_atom_fragments	"atomfragments.dat"
+parse_fragment_results	"results.dat"
+parse_homologies	"homology.dat"
+parse_particle_parameters	"water.particles"
+parse_potentials	"water.potentials"
+parse_state_files	"1"
+parse_tremolo_potentials	"argon.potentials"
+parse_tremolo_potentials	"tensid.potentials"
+parser_parameters	"mpqc"
+parser_parameters	"psi3"
 periodic	"0"
-plane-offset	"5."
-plane-to-vector	"named_vector"
+plane_offset	"5."
+plane_to_vector	"named_vector"
 position	"0 0 0"
 position	"0 0 1"
@@ -157,124 +157,124 @@
 position	"7.283585982 3.275186040 3.535886037"
 position	"9.78 2.64 2.64"
-position-to-vector	"named_vector"
-potential-charges	"1 1"
-potential-type	"morse"
+position_to_vector	"named_vector"
+potential_charges	"1 1"
+potential_type	"morse"
 radius	"20."
-random-atom-displacement	"0."
-random-molecule-displacement	"0."
-random-number-distribution-parameters	"max=20;"
-random-number-engine-parameters	"seed=2;"
-random-perturbation	"0.1"
-remove-geometry	"named_vector"
-repeat-box	"1 1 1"
+random_atom_displacement	"0."
+random_molecule_displacement	"0."
+random_number_distribution_parameters	"max=20;"
+random_number_engine_parameters	"seed=2;"
+random_perturbation	"0.1"
+remove_geometry	"named_vector"
+repeat_box	"1 1 1"
 reset	1
 reverse	"0"
-rotate-around-bond	"90."
-rotate-around-origin	"180."
-rotate-around-origin	"20."
-rotate-around-origin	"360."
-rotate-around-origin	"90."
-rotate-around-self	"180."
-rotate-around-self	"180"
-rotate-around-self	"20."
-rotate-around-self	"360."
-rotate-around-self	"90."
-rotate-to-principal-axis-system	"0,0,1"
-save-adjacency	"test.adj"
-save-bonds	"test.bond"
-save-atom-fragments	"atomfragments.dat"
-save-fragment-results	"results.dat"
-save-homologies	"homology.dat"
-save-particle-parameters	"water.particles"
-save-potentials	"water.potentials"
-save-selected-atoms	"testsave.xyz"
-save-selected-atoms-as-exttypes	"test.exttypes"
-save-selected-molecules	"testsave.xyz"
-save-temperature	"test.ekin"
-scale-box	"0.5 1. 0.9"
-select-atom-by-element	"1"
-select-atom-by-element	"4"
-select-atom-by-id	"0"
-select-atom-by-name	"H1"
-select-atom-by-order	"1"
-select-atoms-inside-cuboid	"10 10 10"
-select-atoms-inside-cuboid	"2 2 2"
-select-atoms-inside-sphere	"0.2"
-select-atoms-inside-sphere	"10"
-select-atoms-inside-sphere	"7."
-select-molecule-by-id	"0"
-select-molecule-by-id	"1"
-select-molecule-by-id	"4"
-select-molecule-by-order	"-1"
-select-molecule-by-order	"1"
-select-molecule-by-order	"-2"
-select-molecule-by-order	"2"
-select-molecules-by-formula	"C2H5(OH)"
-select-molecules-by-formula	"C6H6"
-select-molecules-by-formula	"H2O"
-select-molecules-by-name	"water"
-select-shape-by-name	"sphere2"
-server-address	"127.0.0.1"
-server-port	"1026"
-session-type	"cli"
-set-bond-degree	"1"
-set-boundary-conditions	"Wrap, Wrap, Wrap"
-set-max-iterations	"10"
-set-parser-parameters	"basis = 4-31G"
-set-parser-parameters	"basis = 4-31G;maxiter=499;theory=CLKS;"
-set-parser-parameters	"maxiter = 499"
-set-parser-parameters	"theory=CLKS"
-set-parser-parameters	"wfn=scf"
-set-parser-parameters	"ref=uhf"
-set-output	"tremolo"
-set-random-number-distribution	"uniform_int"
-set-random-number-engine	"lagged_fibonacci607"
-set-threshold	"1e-6"
-set-tremolo-atomdata	"ATOMDATA type id x=3"
-set-world-time	"10"
-shape-name	"sphere1"
-shape-op	"AND"
-shape-type	"sphere"
+rotate_around_bond	"90."
+rotate_around_origin	"180."
+rotate_around_origin	"20."
+rotate_around_origin	"360."
+rotate_around_origin	"90."
+rotate_around_self	"180."
+rotate_around_self	"180"
+rotate_around_self	"20."
+rotate_around_self	"360."
+rotate_around_self	"90."
+rotate_to_principal_axis_system	"0,0,1"
+save_adjacency	"test.adj"
+save_bonds	"test.bond"
+save_atom_fragments	"atomfragments.dat"
+save_fragment_results	"results.dat"
+save_homologies	"homology.dat"
+save_particle_parameters	"water.particles"
+save_potentials	"water.potentials"
+save_selected_atoms	"testsave.xyz"
+save_selected_atoms_as_exttypes	"test.exttypes"
+save_selected_molecules	"testsave.xyz"
+save_temperature	"test.ekin"
+scale_box	"0.5 1. 0.9"
+select_atom_by_element	"1"
+select_atom_by_element	"4"
+select_atom_by_id	"0"
+select_atom_by_name	"H1"
+select_atom_by_order	"1"
+select_atoms_inside_cuboid	"10 10 10"
+select_atoms_inside_cuboid	"2 2 2"
+select_atoms_inside_sphere	"0.2"
+select_atoms_inside_sphere	"10"
+select_atoms_inside_sphere	"7."
+select_molecule_by_id	"0"
+select_molecule_by_id	"1"
+select_molecule_by_id	"4"
+select_molecule_by_order	"-1"
+select_molecule_by_order	"1"
+select_molecule_by_order	"-2"
+select_molecule_by_order	"2"
+select_molecules_by_formula	"C2H5(OH)"
+select_molecules_by_formula	"C6H6"
+select_molecules_by_formula	"H2O"
+select_molecules_by_name	"water"
+select_shape_by_name	"sphere2"
+server_address	"127.0.0.1"
+server_port	"1026"
+session_type	"cli"
+set_bond_degree	"1"
+set_boundary_conditions	"Wrap, Wrap, Wrap"
+set_max_iterations	"10"
+set_parser_parameters	"basis = 4-31G"
+set_parser_parameters	"basis = 4-31G;maxiter=499;theory=CLKS;"
+set_parser_parameters	"maxiter = 499"
+set_parser_parameters	"theory=CLKS"
+set_parser_parameters	"wfn=scf"
+set_parser_parameters	"ref=uhf"
+set_output	"tremolo"
+set_random_number_distribution	"uniform_int"
+set_random_number_engine	"lagged_fibonacci607"
+set_threshold	"1e-6"
+set_tremolo_atomdata	"ATOMDATA type id x=3"
+set_world_time	"10"
+shape_name	"sphere1"
+shape_op	"AND"
+shape_type	"sphere"
 skiplines	"1"
 skiplines	"2"
-start-step	"0"
+start_step	"0"
 steps	"5"
-step-world-time	"1"
-store-grids	"0"
-store-saturated-fragment	"BondFragment"
-store-session	"test.sh"
-stretch-bond	"1.5"
+step_world_time	"1"
+store_grids	"0"
+store_saturated_fragment	"BondFragment"
+store_session	"test.sh"
+stretch_bond	"1.5"
 stretch	"1. 1. 1."
-stretch-shapes	"1. 2. 3."
-take-best-of		"5"
-tesselation-radius	"5."
-time-step-zero	"0"
-training-file	"training.dat"
-translate-atoms	"1. 0. 0."
-translate-shapes	"1. 2. 3."
+stretch_shapes	"1. 2. 3."
+take_best_of		"5"
+tesselation_radius	"5."
+time_step_zero	"0"
+training_file	"training.dat"
+translate_atoms	"1. 0. 0."
+translate_shapes	"1. 2. 3."
 translation	"0. 0. 0."
-unselect-atom-by-element	"1"
-unselect-atom-by-element	"4"
-unselect-atom-by-id	"0"
-unselect-atom-by-name	"H1"
-unselect-atom-by-order	"1"
-unselect-atoms-inside-cuboid	"10 10 10"
-unselect-atoms-inside-cuboid	"2 2 2"
-unselect-atoms-inside-sphere	"10"
-unselect-atoms-inside-sphere	"7."
-unselect-molecule-by-id	"0"
-unselect-molecule-by-id	"4"
-unselect-molecule-by-order	"-1"
-unselect-molecule-by-order	"1"
-unselect-molecule-by-order	"-2"
-unselect-molecule-by-order	"2"
-unselect-molecules-by-formula	"C2H5(OH)"
-unselect-molecules-by-formula	"C3H8"
-unselect-molecules-by-formula	"C6H6"
-unselect-molecules-by-formula	"H2O"
-unselect-molecules-by-name	"water"
-unselect-shape-by-name	"cube42"
-use-bondgraph	"1"
+unselect_atom_by_element	"1"
+unselect_atom_by_element	"4"
+unselect_atom_by_id	"0"
+unselect_atom_by_name	"H1"
+unselect_atom_by_order	"1"
+unselect_atoms_inside_cuboid	"10 10 10"
+unselect_atoms_inside_cuboid	"2 2 2"
+unselect_atoms_inside_sphere	"10"
+unselect_atoms_inside_sphere	"7."
+unselect_molecule_by_id	"0"
+unselect_molecule_by_id	"4"
+unselect_molecule_by_order	"-1"
+unselect_molecule_by_order	"1"
+unselect_molecule_by_order	"-2"
+unselect_molecule_by_order	"2"
+unselect_molecules_by_formula	"C2H5(OH)"
+unselect_molecules_by_formula	"C3H8"
+unselect_molecules_by_formula	"C6H6"
+unselect_molecules_by_formula	"H2O"
+unselect_molecules_by_name	"water"
+unselect_shape_by_name	"cube42"
+use_bondgraph	"1"
 UseImplicitCharges	"1"
 verbose	"3"
-verlet-integration	"forces.dat"
+verlet_integration	"forces.dat"
Index: tests/Python/AllActions/testsuite-python-allactions.at
===================================================================
--- tests/Python/AllActions/testsuite-python-allactions.at	(revision e7ad08f61dc9dca6dd0ca864bfc7eda390ea0535)
+++ tests/Python/AllActions/testsuite-python-allactions.at	(revision cd91bdcd7f99f59b3f6bfcf0cc89c7a59550d8bd)
@@ -16,20 +16,4 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
-#
-#    MoleCuilder - creates and alters molecular systems
-#    Copyright (C) 2008-2012 University of Bonn
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 # AllActions
Index: tests/Python/AllActions/testsuite-python-options_dat.at
===================================================================
--- tests/Python/AllActions/testsuite-python-options_dat.at	(revision e7ad08f61dc9dca6dd0ca864bfc7eda390ea0535)
+++ tests/Python/AllActions/testsuite-python-options_dat.at	(revision cd91bdcd7f99f59b3f6bfcf0cc89c7a59550d8bd)
@@ -17,23 +17,7 @@
 #
 #
-#    MoleCuilder - creates and alters molecular systems
-#    Copyright (C) 2008-2012 University of Bonn
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 AT_SETUP([Python externalization - Completeness of default options])
 AT_KEYWORDS([python options_dat])
-AT_XFAIL_IF([/bin/true])
 m4_include(atlocal)
 AT_CHECK([cp -f ${abs_top_srcdir}/tests/Python/AllActions/options.dat .], 0, [ignore], [ignore])
