INNER CODE UNIT · Python
main
steineggerlab/Metabuli · util/simulate_faa_reads.py:37
def main():
parser = argparse.ArgumentParser(
description="Naively simulate amino-acid reads by sampling substrings from .faa files."
)
parser.add_argument("faa_list", help="Text file with one .faa/.faa.gz path per line.")
parser.add_argument("output", help="Output FASTA file for simulated reads.")
parser.add_argument("--reads", type=int, default=10000, help="Number of reads to emit.")
parser.add_argument("--read-len", type=int, default=100, help="Substring length.")
parser.add_argument("--files", type=int, default=100, help="Number of input files to sample.")
parser.add_argument("--seed", type=int, default=1, help="Random seed for reproducible output.")
args = parser.parse_args()
rng = random.Random(args.seed)
with open(args.faa_list) as handle:
all_files = [Path(line.strip()) for line in handle
if line.strip() and not line.lstrip().startswith("#")]
if not all_files: