Source code for pydna_epbd.run

import os
import math
import argparse

from pydna_epbd.input_reader import read_configurations
from pydna_epbd.simulation.simulation_steps import run_sequences


[docs]def parse_args(): parser = argparse.ArgumentParser(description="This runs the simulation") parser.add_argument( "--config_filepath", type=str, required=True, help="The Configuration filepath.", ) return parser.parse_args()
if __name__ == "__main__": """This runs the simulation.""" args = parse_args() job_idx = 0 # array job if "SLURM_ARRAY_TASK_ID" in os.environ: job_idx = int(os.environ["SLURM_ARRAY_TASK_ID"]) input_configs = read_configurations(args.config_filepath) # dividing the input sequences to the nodes based on job-idx chunk_size = math.ceil(len(input_configs.sequences) / input_configs.n_nodes) sequence_chunks = [ input_configs.sequences[x : x + chunk_size] for x in range(0, len(input_configs.sequences), chunk_size) ] sequences = sequence_chunks[job_idx] print(f"job_idx:{job_idx}, n_seqs:{len(sequences)}") run_sequences(sequences, input_configs) # python pydna_epbd/run.py --config_filepath examples/p5/configs.txt