From 29796e45ebcc271e305c517ee8d8e7d7540f73db Mon Sep 17 00:00:00 2001
From: Moritz Huebner <email@moritz-huebner.de>
Date: Wed, 6 Jun 2018 16:32:44 +1000
Subject: [PATCH] Fixed some of the issues that came up during restructuring

---
 examples/injection_examples/basic_tutorial.py |  2 +-
 .../basic_tutorial_dist_time_phase_marg.py    |  2 +-
 .../basic_tutorial_time_phase_marg.py         |  2 +-
 .../change_sampled_parameters.py              |  2 +-
 .../create_your_own_source_model.py           |  2 +-
 ...reate_your_own_time_domain_source_model.py |  2 +-
 .../how_to_specify_the_prior.py               |  2 +-
 .../marginalized_likelihood.py                |  2 +-
 examples/open_data_examples/GW150914.py       |  4 ---
 .../open_data_examples/GW150914_minimal.py    |  4 +--
 .../other_examples/hyper_parameter_example.py |  2 +-
 .../other_examples/sine_gaussian_example.py   |  2 +-
 .../supernova_example/supernova_example.py    | 11 ------
 examples/tutorials/compare_samplers.ipynb     | 18 +++++-----
 examples/tutorials/making_priors.ipynb        | 34 +++++++++----------
 .../tutorials/visualising_the_results.ipynb   | 16 ++++-----
 test/waveform_generator_tests.py              |  9 +++--
 tupak/core/utils.py                           |  2 +-
 18 files changed, 53 insertions(+), 65 deletions(-)

diff --git a/examples/injection_examples/basic_tutorial.py b/examples/injection_examples/basic_tutorial.py
index b5f1fe721..cd6b81ef2 100644
--- a/examples/injection_examples/basic_tutorial.py
+++ b/examples/injection_examples/basic_tutorial.py
@@ -59,7 +59,7 @@ priors['geocent_time'] = tupak.core.prior.Uniform(injection_parameters['geocent_
                                             'geocent_time')
 
 # Initialise the likelihood by passing in the interferometer data (IFOs) and the waveoform generator
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator, time_marginalization=False, phase_marginalization=False, distance_marginalization=False, prior=priors)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator, time_marginalization=False, phase_marginalization=False, distance_marginalization=False, prior=priors)
 
 # Run sampler.  In this case we're going to use the `dynesty` sampler
 result = tupak.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty', npoints=1000,
diff --git a/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py b/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py
index c755d881e..30a76a5cf 100644
--- a/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py
+++ b/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py
@@ -55,7 +55,7 @@ for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl','psi', 'ra', 'd
 priors['luminosity_distance'] = tupak.core.prior.create_default_prior(name='luminosity_distance')
 
 # Initialise the likelihood by passing in the interferometer data (IFOs) and the waveoform generator
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator, time_marginalization=True, phase_marginalization=True, distance_marginalization=True, prior=priors)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator, time_marginalization=True, phase_marginalization=True, distance_marginalization=True, prior=priors)
 
 # Run sampler.  In this case we're going to use the `dynesty` sampler
 result = tupak.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty', npoints=1000,
diff --git a/examples/injection_examples/basic_tutorial_time_phase_marg.py b/examples/injection_examples/basic_tutorial_time_phase_marg.py
index 738ecbbff..cf773a2ea 100644
--- a/examples/injection_examples/basic_tutorial_time_phase_marg.py
+++ b/examples/injection_examples/basic_tutorial_time_phase_marg.py
@@ -55,7 +55,7 @@ for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl','psi', 'ra', 'd
 priors['luminosity_distance'] = tupak.core.prior.create_default_prior(name='luminosity_distance')
 
 # Initialise the likelihood by passing in the interferometer data (IFOs) and the waveoform generator
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator, time_marginalization=True, phase_marginalization=True, distance_marginalization=False, prior=priors)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator, time_marginalization=True, phase_marginalization=True, distance_marginalization=False, prior=priors)
 
 # Run sampler.  In this case we're going to use the `dynesty` sampler
 result = tupak.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty', npoints=1000,
diff --git a/examples/injection_examples/change_sampled_parameters.py b/examples/injection_examples/change_sampled_parameters.py
index f0f653d39..b3f831084 100644
--- a/examples/injection_examples/change_sampled_parameters.py
+++ b/examples/injection_examples/change_sampled_parameters.py
@@ -43,7 +43,7 @@ for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl', 'phase', 'psi'
 priors['luminosity_distance'] = tupak.core.prior.create_default_prior(name='luminosity_distance')
 
 # Initialise GravitationalWaveTransient
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
 
 # Run sampler
 result = tupak.core.sampler.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty',
diff --git a/examples/injection_examples/create_your_own_source_model.py b/examples/injection_examples/create_your_own_source_model.py
index 2bdd90af5..15f2adfb0 100644
--- a/examples/injection_examples/create_your_own_source_model.py
+++ b/examples/injection_examples/create_your_own_source_model.py
@@ -45,7 +45,7 @@ prior = injection_parameters.copy()
 prior['A'] = tupak.core.prior.PowerLaw(alpha=-1, minimum=1e-25, maximum=1e-21, name='A')
 prior['f0'] = tupak.core.prior.Uniform(90, 110, 'f')
 
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(IFOs, waveform_generator)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(IFOs, waveform_generator)
 
 result = tupak.core.sampler.run_sampler(
     likelihood, prior, sampler='dynesty', outdir=outdir, label=label,
diff --git a/examples/injection_examples/create_your_own_time_domain_source_model.py b/examples/injection_examples/create_your_own_time_domain_source_model.py
index 1660d99bd..588aa5315 100644
--- a/examples/injection_examples/create_your_own_time_domain_source_model.py
+++ b/examples/injection_examples/create_your_own_time_domain_source_model.py
@@ -64,7 +64,7 @@ prior['phase'] = tupak.core.prior.Uniform(-np.pi / 2, np.pi / 2, r'$\phi$')
 
 
 # define likelihood
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(IFOs, waveform)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(IFOs, waveform)
 
 # launch sampler
 result = tupak.core.sampler.run_sampler(likelihood, prior, sampler='dynesty', npoints=1000,
diff --git a/examples/injection_examples/how_to_specify_the_prior.py b/examples/injection_examples/how_to_specify_the_prior.py
index 25dfe3fa8..19088d11d 100644
--- a/examples/injection_examples/how_to_specify_the_prior.py
+++ b/examples/injection_examples/how_to_specify_the_prior.py
@@ -58,7 +58,7 @@ priors['a_2'] = tupak.core.prior.Interped(name='a_2', xx=a_2, yy=p_a_2, minimum=
 # Enjoy.
 
 # Initialise GravitationalWaveTransient
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
 
 # Run sampler
 result = tupak.core.sampler.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty',
diff --git a/examples/injection_examples/marginalized_likelihood.py b/examples/injection_examples/marginalized_likelihood.py
index 07df8e929..9a14d33d9 100644
--- a/examples/injection_examples/marginalized_likelihood.py
+++ b/examples/injection_examples/marginalized_likelihood.py
@@ -38,7 +38,7 @@ for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl', 'phase', 'iota
 
 # Initialise GravitationalWaveTransient
 # Note that we now need to pass the: priors and flags for each thing that's being marginalised.
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(
     interferometers=IFOs, waveform_generator=waveform_generator, prior=priors,
     distance_marginalization=True, phase_marginalization=True)
 
diff --git a/examples/open_data_examples/GW150914.py b/examples/open_data_examples/GW150914.py
index de2e0f9fe..9d274eac4 100644
--- a/examples/open_data_examples/GW150914.py
+++ b/examples/open_data_examples/GW150914.py
@@ -54,11 +54,7 @@ waveform_generator = tupak.WaveformGenerator(time_duration=interferometers[0].du
 
 # In this step, we define the likelihood. Here we use the standard likelihood
 # function, passing it the data and the waveform generator.
-<<<<<<< HEAD
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers, waveform_generator, time_marginalization=False, distance_marginalization=True, prior=prior)
-=======
 likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers, waveform_generator)
->>>>>>> e8b704afba65886f49cb448402a95ae90c468a24
 
 # Finally, we run the sampler. This function takes the likelihood and prio
 # along with some options for how to do the sampling and how to save the data
diff --git a/examples/open_data_examples/GW150914_minimal.py b/examples/open_data_examples/GW150914_minimal.py
index 3c48a1eab..b63df0d74 100644
--- a/examples/open_data_examples/GW150914_minimal.py
+++ b/examples/open_data_examples/GW150914_minimal.py
@@ -6,9 +6,9 @@ stimation on GW150914 using open data.
 """
 import tupak
 
-t0 = tupak.core.utils.get_event_time("GW150914")
+t0 = tupak.gw.utils.get_event_time("GW150914")
 prior = dict(geocent_time=tupak.core.prior.Uniform(t0 - 0.1, t0 + 0.1, name='geocent_time'))
 interferometers = tupak.gw.detector.get_event_data("GW150914")
-likelihood = tupak.core.likelihood.get_binary_black_hole_likelihood(interferometers)
+likelihood = tupak.gw.likelihood.get_binary_black_hole_likelihood(interferometers)
 result = tupak.run_sampler(likelihood, prior, label='GW150914')
 result.plot_corner()
diff --git a/examples/other_examples/hyper_parameter_example.py b/examples/other_examples/hyper_parameter_example.py
index ce9aadc09..b35735703 100644
--- a/examples/other_examples/hyper_parameter_example.py
+++ b/examples/other_examples/hyper_parameter_example.py
@@ -67,7 +67,7 @@ for i in range(Nevents):
 run_prior = tupak.core.prior.Uniform(minimum=-10, maximum=10, name='mu_m')
 hyper_prior = tupak.core.prior.Gaussian(mu=0, sigma=1, name='hyper')
 
-hp_likelihood = tupak.core.likelihood.HyperparameterLikelihood(
+hp_likelihood = tupak.gw.likelihood.HyperparameterLikelihood(
         samples, hyper_prior, run_prior)
 
 hp_priors = dict(
diff --git a/examples/other_examples/sine_gaussian_example.py b/examples/other_examples/sine_gaussian_example.py
index 620090d64..b1702e773 100644
--- a/examples/other_examples/sine_gaussian_example.py
+++ b/examples/other_examples/sine_gaussian_example.py
@@ -55,7 +55,7 @@ priors['frequency'] = tupak.core.prior.Uniform(30, 1000, 'frequency')
 priors['hrss'] = tupak.core.prior.Uniform(1e-23, 1e-21, 'hrss')
 
 # Initialise the likelihood by passing in the interferometer data (IFOs) and the waveoform generator
-likelihood = tupak.core.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
+likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
 
 # Run sampler.  In this case we're going to use the `dynesty` sampler
 result = tupak.core.sampler.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty', npoints=1000,
diff --git a/examples/supernova_example/supernova_example.py b/examples/supernova_example/supernova_example.py
index dd7761a53..8ca9899a4 100644
--- a/examples/supernova_example/supernova_example.py
+++ b/examples/supernova_example/supernova_example.py
@@ -94,14 +94,3 @@ result = tupak.run_sampler(
 # make some plots of the outputs
 result.plot_corner()
 print(result)
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/tutorials/compare_samplers.ipynb b/examples/tutorials/compare_samplers.ipynb
index 69939d13a..970863a96 100644
--- a/examples/tutorials/compare_samplers.ipynb
+++ b/examples/tutorials/compare_samplers.ipynb
@@ -36,22 +36,22 @@
     "                            psi=2.659)\n",
     "\n",
     "\n",
-    "waveform_generator = tupak.waveform_generator.WaveformGenerator(\n",
+    "waveform_generator = tupak.gw.waveform_generator.WaveformGenerator(\n",
     "    sampling_frequency=sampling_frequency,\n",
     "    time_duration=time_duration,\n",
-    "    frequency_domain_source_model=tupak.source.lal_binary_black_hole,\n",
+    "    frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,\n",
     "    parameters=injection_parameters)\n",
     "\n",
     "hf_signal = waveform_generator.frequency_domain_strain()\n",
     "\n",
-    "H1 = tupak.detector.get_empty_interferometer('H1')\n",
+    "H1 = tupak.gw.detector.get_empty_interferometer('H1')\n",
     "H1.set_data(sampling_frequency=sampling_frequency, duration=time_duration,\n",
     "            from_power_spectral_density=True)\n",
     "H1.inject_signal(waveform_polarizations=hf_signal, parameters=injection_parameters)\n",
     "\n",
     "IFOs = [H1]\n",
     "\n",
-    "likelihood = tupak.likelihood.GravitationalWaveTransient(IFOs, waveform_generator)"
+    "likelihood = tupak.gw.likelihood.GravitationalWaveTransient(IFOs, waveform_generator)"
    ]
   },
   {
@@ -69,7 +69,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "priors = tupak.prior.fill_priors(injection_parameters, likelihood)\n",
+    "priors = tupak.core.prior.fill_priors(injection_parameters, likelihood)\n",
     "priors['ra'] = tupak.prior.Uniform(0, 2*np.pi, 'ra')\n",
     "priors['dec'] = tupak.prior.Uniform(-np.pi/2, np.pi/2, 'dec')"
    ]
@@ -90,7 +90,7 @@
    "outputs": [],
    "source": [
     "%%time \n",
-    "result = tupak.sampler.run_sampler(\n",
+    "result = tupak.core.sampler.run_sampler(\n",
     "    likelihood, priors=priors, sampler='pymultinest', label='pymultinest',\n",
     "    npoints=200, verbose=False, resume=False)\n",
     "fig = result.plot_corner(save=False)\n",
@@ -112,7 +112,7 @@
    "outputs": [],
    "source": [
     "%%time \n",
-    "result = tupak.sampler.run_sampler(\n",
+    "result = tupak.gw.sampler.run_sampler(\n",
     "    likelihood, priors=priors, sampler='dynesty', label='dynesty',\n",
     "    bound='multi', sample='rwalk', npoints=200, walks=1, verbose=False,\n",
     "    update_interval=100)\n",
@@ -137,7 +137,7 @@
    "outputs": [],
    "source": [
     "%%time \n",
-    "result = tupak.sampler.run_sampler(\n",
+    "result = tupak.gw.sampler.run_sampler(\n",
     "    likelihood, priors=priors, sampler='dynesty', label='dynesty_dynamic',\n",
     "    bound='multi', nlive=250, sample='unif', verbose=True,\n",
     "    update_interval=100, dynamic=True)\n",
@@ -160,7 +160,7 @@
    "outputs": [],
    "source": [
     "%%time \n",
-    "result = tupak.sampler.run_sampler(\n",
+    "result = tupak.gw.sampler.run_sampler(\n",
     "    likelihood, priors=priors, sampler='ptemcee', label='ptemcee',\n",
     "    nwalkers=100, nsteps=200, nburn=100, ntemps=2,\n",
     "    tqdm='tqdm_notebook')\n",
diff --git a/examples/tutorials/making_priors.ipynb b/examples/tutorials/making_priors.ipynb
index d47e96fbc..9c09d7c42 100644
--- a/examples/tutorials/making_priors.ipynb
+++ b/examples/tutorials/making_priors.ipynb
@@ -67,8 +67,8 @@
      },
      "metadata": {
       "image/png": {
-       "height": 567,
-       "width": 1728
+       "height": 567.0,
+       "width": 1728.0
       }
      },
      "output_type": "display_data"
@@ -78,24 +78,24 @@
     "fig = figure(figsize=(24, 8))\n",
     "\n",
     "priors = [\n",
-    "    tupak.prior.Uniform(minimum=5, maximum=50),\n",
-    "    tupak.prior.LogUniform(minimum=5, maximum=50),\n",
-    "    tupak.prior.PowerLaw(name='name', alpha=2, minimum=100, maximum=1000),\n",
-    "    tupak.prior.UniformComovingVolume(name='name', minimum=100, maximum=1000, latex_label='label'),\n",
-    "    tupak.prior.FromFile(name='name', file_name='comoving.txt', minimum=100, maximum=30000, latex_label='label'),\n",
-    "    tupak.prior.Gaussian(name='name', mu=0, sigma=1, latex_label='label'),\n",
-    "    tupak.prior.TruncatedGaussian(name='name', mu=1, sigma=0.4, minimum=-1, maximum=1,\n",
+    "    tupak.core.prior.Uniform(minimum=5, maximum=50),\n",
+    "    tupak.core.prior.LogUniform(minimum=5, maximum=50),\n",
+    "    tupak.core.prior.PowerLaw(name='name', alpha=2, minimum=100, maximum=1000),\n",
+    "    tupak.core.prior.UniformComovingVolume(name='name', minimum=100, maximum=1000, latex_label='label'),\n",
+    "    tupak.core.prior.FromFile(name='name', file_name='comoving.txt', minimum=100, maximum=30000, latex_label='label'),\n",
+    "    tupak.core.prior.Gaussian(name='name', mu=0, sigma=1, latex_label='label'),\n",
+    "    tupak.core.prior.TruncatedGaussian(name='name', mu=1, sigma=0.4, minimum=-1, maximum=1,\n",
     "                                  latex_label='label'),\n",
-    "    tupak.prior.Cosine(name='name', latex_label='label'),\n",
-    "    tupak.prior.Sine(name='name', latex_label='label'),\n",
-    "    tupak.prior.Interped(name='name', xx = np.linspace(0, 10, 1000), yy=np.linspace(0, 10, 1000)**4,\n",
+    "    tupak.core.prior.Cosine(name='name', latex_label='label'),\n",
+    "    tupak.core.prior.Sine(name='name', latex_label='label'),\n",
+    "    tupak.core.prior.Interped(name='name', xx = np.linspace(0, 10, 1000), yy=np.linspace(0, 10, 1000)**4,\n",
     "                         minimum=3, maximum=5, latex_label='label')\n",
     "]\n",
     "\n",
     "for ii, prior in enumerate(priors):\n",
     "    fig.add_subplot(2, 5, 1 + ii)\n",
     "    hist(prior.sample(100000), bins=100, histtype='step', normed=1)\n",
-    "    if not isinstance(prior, tupak.prior.Gaussian):\n",
+    "    if not isinstance(prior, tupak.core.prior.Gaussian):\n",
     "        plot(np.linspace(prior.minimum, prior.maximum, 1000),\n",
     "             prior.prob(np.linspace(prior.minimum, prior.maximum, 1000)))\n",
     "    else:\n",
@@ -158,8 +158,8 @@
      },
      "metadata": {
       "image/png": {
-       "height": 337,
-       "width": 743
+       "height": 337.0,
+       "width": 743.0
       }
      },
      "output_type": "display_data"
@@ -223,8 +223,8 @@
      },
      "metadata": {
       "image/png": {
-       "height": 337,
-       "width": 716
+       "height": 337.0,
+       "width": 716.0
       }
      },
      "output_type": "display_data"
diff --git a/examples/tutorials/visualising_the_results.ipynb b/examples/tutorials/visualising_the_results.ipynb
index ae3947f26..6d34f374d 100644
--- a/examples/tutorials/visualising_the_results.ipynb
+++ b/examples/tutorials/visualising_the_results.ipynb
@@ -65,24 +65,24 @@
     "                            luminosity_distance=200., iota=0.4, psi=2.659, phase=1.3, geocent_time=1126259642.413,\n",
     "                            waveform_approximant='IMRPhenomPv2', reference_frequency=50., ra=1.375, dec=-1.2108)\n",
     "\n",
-    "waveform_generator = tupak.waveform_generator.WaveformGenerator(\n",
+    "waveform_generator = tupak.gw.waveform_generator.WaveformGenerator(\n",
     "    sampling_frequency=sampling_frequency, time_duration=time_duration,\n",
-    "    frequency_domain_source_model=tupak.source.lal_binary_black_hole,\n",
+    "    frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,\n",
     "    parameters=injection_parameters)\n",
     "hf_signal = waveform_generator.frequency_domain_strain()\n",
     "\n",
-    "IFOs = [tupak.detector.get_interferometer_with_fake_noise_and_injection(\n",
+    "IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection(\n",
     "    'H1', injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration,\n",
     "    sampling_frequency=sampling_frequency, outdir=outdir)]\n",
     "\n",
     "priors = injection_parameters.copy()\n",
-    "priors['mass_1'] = tupak.prior.Uniform(20, 50, 'mass_1')\n",
-    "priors['mass_2'] = tupak.prior.Uniform(20, 50, 'mass_2')\n",
-    "priors['luminosity_distance'] = tupak.prior.Uniform(100, 300, 'luminosity_distance')\n",
+    "priors['mass_1'] = tupak.core.prior.Uniform(20, 50, 'mass_1')\n",
+    "priors['mass_2'] = tupak.core.prior.Uniform(20, 50, 'mass_2')\n",
+    "priors['luminosity_distance'] = tupak.core.prior.Uniform(100, 300, 'luminosity_distance')\n",
     "\n",
-    "likelihood = tupak.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)\n",
+    "likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)\n",
     "\n",
-    "result = tupak.sampler.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty', npoints=100,\n",
+    "result = tupak.core.sampler.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty', npoints=100,\n",
     "                                   injection_parameters=injection_parameters, outdir=outdir, label=label,\n",
     "                                   walks=5)\n",
     "\n",
diff --git a/test/waveform_generator_tests.py b/test/waveform_generator_tests.py
index d535aebb8..094a1e7a8 100644
--- a/test/waveform_generator_tests.py
+++ b/test/waveform_generator_tests.py
@@ -48,7 +48,8 @@ class TestWaveformGeneratorInstantiationWithoutOptionalParameters(unittest.TestC
         self.assertIsInstance(self.waveform_generator.time_array, np.ndarray)
 
     def test_source_model_parameters(self):
-        self.assertListEqual(list(self.waveform_generator.parameters.keys()), list(self.simulation_parameters.keys()))
+        self.assertListEqual(sorted(list(self.waveform_generator.parameters.keys())),
+                             sorted(list(self.simulation_parameters.keys())))
 
 
 class TestParameterSetter(unittest.TestCase):
@@ -74,7 +75,8 @@ class TestParameterSetter(unittest.TestCase):
 
     def test_parameter_setter_none_handling(self):
         self.waveform_generator.parameters = None
-        self.assertSequenceEqual(self.waveform_generator.parameters.keys(), self.simulation_parameters.keys())
+        self.assertListEqual(sorted(list(self.waveform_generator.parameters.keys())),
+                             sorted(list(self.simulation_parameters.keys())))
 
 
 class TestSourceModelSetter(unittest.TestCase):
@@ -94,7 +96,8 @@ class TestSourceModelSetter(unittest.TestCase):
         del self.simulation_parameters
 
     def test_parameters_are_set_correctly(self):
-        self.assertListEqual(list(self.waveform_generator.parameters.keys()), list(self.simulation_parameters.keys()))
+        self.assertListEqual(sorted(list(self.waveform_generator.parameters.keys())),
+                             sorted(list(self.simulation_parameters.keys())))
 
 
 if __name__ == '__main__':
diff --git a/tupak/core/utils.py b/tupak/core/utils.py
index 6a5a4e0f9..0fa1ecc57 100644
--- a/tupak/core/utils.py
+++ b/tupak/core/utils.py
@@ -219,7 +219,7 @@ def setup_logger(outdir=None, label=None, log_level=None):
         file_handler.setLevel(LEVEL)
         logger.addHandler(file_handler)
 
-    version_file = os.path.join(os.path.dirname(__file__), '.version')
+    version_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), '.version')
     with open(version_file, 'r') as f:
         version = f.readline()
     logging.info('Running tupak version: {}'.format(version))
-- 
GitLab