Header with Sliding Bar
Hero Image

Software

Introduction

Given the progress achieved by our designed Conformer architecture on the test set, we packaged the trained model and the iterative process of promoter optimization from the Modeling section into software. This software is intended for future users of the VersaTobacco chassis to optimize gene expression, and we named it Nicotiana Promoter optimizer with Conformer model(NPC).

Specifically, NICOTINE accepts a .fasta file containing the promoter information to be optimized as input. It performs random single-point mutations across the entire sequence, using the Conformer model to predict the highest-scoring mutants, which then proceed to the next round of evolution. This process continues until the user-defined number of evolution rounds is reached (default round = 10), and the final optimized sequences are written into a .fasta file.

User Guide

Step 1 - Prepare the Environment

To run npc.py, pytorch is needed. Users can download it from here according to their device and system specifications. PyTorch version 2.1.2 or higher is recommended.

Step 2 - Prepare the Input File

Ensure that each sequence in the input .fasta file contains a 170bp long sequence ranging from -165 to +5 relative to the annotated transcription start site(TSS). If annotated TSS information is not available, we recommend using online tools such as TSSplant for prediction.

Step 3 - Execution Command Line

To run NPC, simply enter the following command in the directory where npc.py is located. The -i parameter specifies the input .fasta file.

python npc.py -i example/example.fasta

To further extend the use of NPC, you can use the following command, where the -o parameters specifies the output file path, -r specifies the number of evolution rounds, and --need_record requests the software to record the evolution process in a .csv file.

python npc.py -i example/example.fasta -o example/result.fasta -r 15 --need_record

NPC Parameter List

-h, --help Display help information

-i Path to the input .fasta file

-o Path to the output file (default is evolution_result.fasta)

-r Number of evolution rounds (default is 10)

--need_record Whether to record the evolution process


Footer