|
| 1 | +# peptide-sequence-synthesis |
| 2 | + |
| 3 | +# Peptide Sequence Synthesis |
| 4 | + |
| 5 | +This project provides a robust, reproducible tool for generating large, high-quality reference peptide sets for neoantigen analysis and benchmarking with pVACtools (notably pVACbind). |
| 6 | + |
| 7 | +## Features |
| 8 | + |
| 9 | +- **Three peptide generation modes:** |
| 10 | + - Random (from 20 amino acids) |
| 11 | + - Sampled from a user-supplied FASTA file |
| 12 | + - Generated by a protein language model (ProtGPT2 via HuggingFace Transformers) |
| 13 | +- **FASTA output** compatible with pVACtools |
| 14 | +- **Command-line interface** for batch processing |
| 15 | +- **Simple GUI** (using PySimpleGUI) for non-technical users |
| 16 | +- **Reproducible and documented**: All parameters and code are managed in git |
| 17 | + |
| 18 | +## Requirements |
| 19 | + |
| 20 | +- Python 3.8+ |
| 21 | +- [PySimpleGUI](https://pysimplegui.readthedocs.io/) |
| 22 | +- [transformers](https://huggingface.co/docs/transformers/index) |
| 23 | +- [torch](https://pytorch.org/) |
| 24 | +- (Optional) [Biopython](https://biopython.org/) if you want to extend for peptide property analysis |
| 25 | + |
| 26 | +Install dependencies with: |
| 27 | +```bash |
| 28 | +pip install -r requirements.txt |
| 29 | +``` |
| 30 | + |
| 31 | +## Usage |
| 32 | + |
| 33 | +### Command Line |
| 34 | + |
| 35 | +```bash |
| 36 | +python generate_control_peptides.py --mode [random|fasta|protGPT2] --length 9 --count 1000000 --output peptides.fasta [--fasta_file input.fasta] [--temperature 1.0] [--top_k 50] |
| 37 | +``` |
| 38 | + |
| 39 | +### GUI |
| 40 | + |
| 41 | +```bash |
| 42 | +python peptide_gui.py |
| 43 | +``` |
| 44 | +Follow the prompts to select generation mode, parameters, and output file. |
| 45 | + |
| 46 | +## Reproducibility |
| 47 | + |
| 48 | +- All code and results should be managed in a git repository. |
| 49 | +- Document all parameters used for each run. |
| 50 | +- For large-scale runs, consider using a virtual environment and requirements.txt for consistent environments. |
| 51 | + |
| 52 | +## Version Control |
| 53 | + |
| 54 | +1. Initialize git: |
| 55 | + ```bash |
| 56 | + git init |
| 57 | + ``` |
| 58 | +2. Add files and commit: |
| 59 | + ```bash |
| 60 | + git add . |
| 61 | + git commit -m "Initial commit: peptide generator and GUI" |
| 62 | + ``` |
| 63 | +3. Create a GitHub repo and push: |
| 64 | + ```bash |
| 65 | + git remote add origin https://github.com/yourusername/peptide-sequence-synthesis.git |
| 66 | + git branch -M main |
| 67 | + git push -u origin main |
| 68 | + ``` |
| 69 | + |
| 70 | +## License |
| 71 | + |
| 72 | +[MIT License](LICENSE) or as specified by your lab. |
| 73 | + |
| 74 | +## Acknowledgements |
| 75 | + |
| 76 | +- [pVACtools](https://pvactools.readthedocs.io/) |
| 77 | +- [ProtGPT2](https://huggingface.co/nferruz/ProtGPT2) |
| 78 | +- [PySimpleGUI](https://pysimplegui.readthedocs.io/) |
| 79 | + |
| 80 | +--- |
| 81 | + |
| 82 | +*For questions or contributions, please open an issue or pull request on GitHub.* |
0 commit comments