用途:用公开的 Encodon v1 为每条编码序列提取一个冻结的 CLS 向量,涵盖输入校验、命令准备、提取和检查点选择,服务于翻译效率、表达或 mRNA 稳定性等下游属性建模。提取本身不会自动训练下游回归器。
前置条件:校验只需 Python 3 标准库,无需 GPU、权重或 API key。执行需要公开的 CodonFM 代码库、其 requirements.txt 环境、兼容的 NVIDIA GPU 和本地检查点权重;metadata JSON 不是检查点,.safetensors 需同目录 config.json,公开加载器也支持 .ckpt。从 CodonFM 仓库根目录运行 python -m src.runner。
输入:CSV 需列 id、ref_seq、value、split;id 非空且唯一;ref_seq 为大写 DNA A/C/G/T 且长度能被 3 整除;value 为数值标签,仅提取数据可填 0.0;仅 split 为精确 test 的行进入提取。检查点与模型需匹配 encodon_80m、encodon_600m 或 encodon_1b。上下文默认 2048 tokens(含 CLS 与 SEP)。输出目录须为新目录且 predictions 为空。
用法:先用校验脚本预检,再运行提取。
python "$CODONFM_SKILL_DIR/scripts/validate_inputs.py" "$CODONFM_DATA_PATH" --context-length 2048
python -m src.runner eval --task_type embedding_prediction --process_item codon_sequence --dataset_name CodonBertDataset --exp_name embed_extract --model_name "$CODONFM_MODEL_NAME" --checkpoint_path "$CODONFM_CHECKPOINT_PATH" --data_path "$CODONFM_DATA_PATH" --context_length 2048 --num_nodes 1 --num_gpus 1 --num_workers 0 --val_batch_size 2 --out_dir "$CODONFM_RUN_DIR" --predictions_output_dir "$CODONFM_RUN_DIR/predictions"
校验脚本输出 JSON,含 total_rows、test_rows、excluded_rows、context_length、codon_limit、warnings、rows;退出码 0 无发现,1 有需复核的行,2 文件或 schema 错误。这不是嵌入结果。
输出:predictions_output_dir 下 embeddings_merged.npy 为冻结末层 CLS 向量,形状 (processed_rows, hidden_size);ids_merged.npy 与之索引对齐。需用 ID 连接 CSV,别假设所有行都被保留。校验维度:80M 为 1024,600M/1B 为 2048。
限制:公开 v1 无 Decodon 模型或推理实现,也无相关 notebook 等;上下文 2048 时仅保留前 2046 个密码子,其余 3' 序列丢失;--dryrun 不读取 CSV 或权重,不是输入校验;无新标注数据不得声称回归器可泛化到新物种、细胞类型或实验。未提到 CodonFM 或 Encodon 的通用表达预测请求不应使用本工具。