schrodinger.structutils.shuffle module

exception schrodinger.structutils.shuffle.ShuffleException

Bases: Exception

__init__

Initialize self. See help(type(self)) for accurate signature.

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

schrodinger.structutils.shuffle.split_and_shuffle(infile, batch_size=1000000000.0, random_seed=None)

Split structures in infile to batches. Shuffle structures in each batch. Write each batch to a temporary file.

Parameters:
  • infile (MAESTRO or SD file) – input structure file.
  • batch_size (int) – size of temporary split sub files in bytes.
  • random_seed (int or None) – random seed number for shuffling the ligands
Returns:

list of file names, list of number of structures in each file.

Return type:

list(str), list(int)

schrodinger.structutils.shuffle.shuffle_merge(batch_files, num_st_in_batch, outfile, max_structs, random_seed=None)

Merge structures in temporary files by picking a structure from each temporary file at random (weighed by the number of structures in the file).

Parameters:
  • batch_files (list(str)) – list of file names
  • num_st_in_batch (list(int)) – list of number of structures in each file.
  • outfile (str) – output file name
  • max_structs (int) – max. number of structures to write (negative means all)
  • random_seed (int or None) – random seed number for shuffling the ligands.
schrodinger.structutils.shuffle.shuffle_structs(input_file, output_file, max_structs=-1, batch_size=1000000000.0, random_seed=None)

Structures in input_file are shuffled and outputed to the output file

Parameters:
  • input_file (str) – input filename
  • output_file (str) – output filename
  • max_structs (int) – max. number of structures to write (negative means all)
  • batch_size (int) – size of temporary split sub files in bytes.
  • random_seed (int or None) – random seed number for shuffling the ligands