| #!/usr/bin/env python3 | |
| from __future__ import annotations | |
| import argparse | |
| import json | |
| from bgc_retrieval.esm_embedding import generate_esm2_embeddings | |
| def main() -> None: | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--fasta", default="data/external/processed/external_proteins.fasta") | |
| parser.add_argument("--output", default="data/external/processed/external_esm2.h5") | |
| parser.add_argument("--metadata", default="data/external/processed/external_esm2_metadata.json") | |
| parser.add_argument("--batch-size", type=int, default=16) | |
| parser.add_argument("--resume", action="store_true") | |
| parser.add_argument("--allow-cpu", action="store_true") | |
| args = parser.parse_args() | |
| metadata = generate_esm2_embeddings( | |
| args.fasta, args.output, args.metadata, args.batch_size, args.resume, args.allow_cpu | |
| ) | |
| print(json.dumps(metadata, indent=2, sort_keys=True)) | |
| if __name__ == "__main__": | |
| main() | |