Skip to content

Instantly share code, notes, and snippets.

@seifip
Last active March 16, 2023 08:53
Show Gist options
  • Save seifip/d53384ad3455ed19a96962fa786823b6 to your computer and use it in GitHub Desktop.
Save seifip/d53384ad3455ed19a96962fa786823b6 to your computer and use it in GitHub Desktop.
import numpy as np
from scipy.stats.qmc import Sobol
dimensions = 42 # number of primers
seed = 1424
m = 8
num_codes = 2
sparse_factor = 0.125
def generate_sobol_samples(dimensions, seed, m, num_codes):
sobol_sampler = Sobol(d=dimensions, seed=seed)
sobol_samples = sobol_sampler.random_base2(m=m)
generated_codes = np.floor(sobol_samples * num_codes)
return generated_codes
def generate_sparse_sobol_samples(dimensions, seed, m, sparse_factor):
sobol_sampler = Sobol(d=dimensions, seed=seed)
sobol_samples = sobol_sampler.random_base2(m=m)
sparse_codes = np.floor(sobol_samples / (1 - sparse_factor))
return sparse_codes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment