{"id":30752375,"url":"https://github.com/vaishnavpvarma/vaxijen-antigenicity-parser","last_synced_at":"2025-09-04T08:04:34.705Z","repository":{"id":312235830,"uuid":"1020596693","full_name":"vaishnavpvarma/vaxijen-antigenicity-parser","owner":"vaishnavpvarma","description":"Automated parser for VaxiJen output 🚀 A lightweight Perl tool to extract and tabulate antigenicity predictions from VaxiJen . Designed for bioinformatics, immunoinformatics, and reverse vaccinology workflows, this script helps researchers process large datasets into clean, ready-to-analyze tables.","archived":false,"fork":false,"pushed_at":"2025-08-30T05:48:00.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-30T07:17:40.477Z","etag":null,"topics":["antigenicity-prediction","bioinformatics","computational-biology","excel-converter","fasta","immunoinformatics","immunology","peptide-analysis","perl-script","proteomics","proteomics-data-analysis","vaccine-development","vaxijen"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaishnavpvarma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"vaishnavvarma","buy_me_a_coffee":"vaishnavpvarma"}},"created_at":"2025-07-16T05:47:50.000Z","updated_at":"2025-08-30T05:55:59.000Z","dependencies_parsed_at":"2025-08-30T07:17:40.779Z","dependency_job_id":null,"html_url":"https://github.com/vaishnavpvarma/vaxijen-antigenicity-parser","commit_stats":null,"previous_names":["vaishnavpvarma/simplify-reverse-vaccinology","vaishnavpvarma/vaxijen-antigenicity-parser"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/vaishnavpvarma/vaxijen-antigenicity-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnavpvarma%2Fvaxijen-antigenicity-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnavpvarma%2Fvaxijen-antigenicity-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnavpvarma%2Fvaxijen-antigenicity-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnavpvarma%2Fvaxijen-antigenicity-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaishnavpvarma","download_url":"https://codeload.github.com/vaishnavpvarma/vaxijen-antigenicity-parser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnavpvarma%2Fvaxijen-antigenicity-parser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273574155,"owners_count":25129883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antigenicity-prediction","bioinformatics","computational-biology","excel-converter","fasta","immunoinformatics","immunology","peptide-analysis","perl-script","proteomics","proteomics-data-analysis","vaccine-development","vaxijen"],"created_at":"2025-09-04T08:03:14.138Z","updated_at":"2025-09-04T08:04:34.684Z","avatar_url":"https://github.com/vaishnavpvarma.png","language":"Perl","funding_links":["https://github.com/sponsors/vaishnavvarma","https://buymeacoffee.com/vaishnavpvarma"],"categories":[],"sub_categories":[],"readme":"# 🧬 Vaxijen Antigenicity Parser\n\n---\n\n## 🌟 Highlights\n- 🚀 Automates tedious manual parsing of **VaxiJen** webserver outputs.  \n- 📊 Converts raw text outputs into structured **Excel spreadsheets**.  \n- 🧪 Handles **large datasets** where copy–pasting results is not humanly possible.  \n- 🐪 Written in **Perl**, a classic bioinformatics scripting language, optimized for **text parsing**.  \n\n---\n\n## ℹ️ Overview\nMany bioinformatics webservers (like **VaxiJen [all version])**) do not provide an option to **download results**.  \nInstead, they display predictions on the webpage, forcing researchers to manually copy, paste, and tabulate the results.  \n\n👉 This becomes impractical when working with **hundreds or thousands of peptides**, each output containing:  \n- A **score** (e.g. VaxiJen score, floating point)  \n- A **prediction** (e.g. *Probable ANTIGEN* / *NON-ANTIGEN*)  \n\nThese Perl scripts solve this problem by:  \n1. Reading raw `.txt` files saved from the webserver output.  \n2. Extracting IDs, peptide sequences, and prediction values using **Regular Expressions (RegEx)**.  \n3. Writing them neatly into an Excel file (`.xls` or `.xlsx`) for downstream analysis.  \n\n💡 In short:  \n**Unstructured text in → Structured spreadsheet out.**  \n\n**Before:** You have a text file that looks something like this:\n```\n\u003eprotein_sequence_001\nAKFPQRSTUVWXYZAB\nSome technical text here...\nOverall Prediction for the Protective Antigen = 0.7234\nMore text...\n(Probable ANTIGEN)\n\u003eprotein_sequence_002\nMNPQRSTUVWXYZDEF\n...\n```\n\n**After:** You get a clean Excel file with columns:\n| ID | Sequence | VaxiJen Score | Antigenicity |\n|----|----------|---------------|--------------|\n| protein_sequence_001 | AKFPQRSTUVWXYZAB | 0.7234 | Probable ANTIGEN |\n| protein_sequence_002 | MNPQRSTUVWXYZDEF | 0.5621 | Probable NON-ANTIGEN |\n---\n\n## Key Features\n\n- 🔍 **Smart Search**: Automatically finds protein sequences and their prediction scores, even when they're scattered across multiple lines\n- 📊 **Excel Output**: Creates professional-looking spreadsheets with proper formatting and column headers\n- 🛡️ **Error Proof**: Checks if files exist and handles common errors gracefully\n- 🔧 **Flexible**: Works with different sequence lengths (optimized for 16-letter sequences but adapts to others)\n- ✅ **Data Validation**: Only captures valid protein sequences (sequences with only capital letters A-Z)\n\n## How It Works (In Simple Terms)\n\nThink of this script like a very patient assistant who:\n\n1. **Reads every line** of your messy text file, one by one\n2. **Looks for patterns** like sequence names (lines starting with \"\u003e\") and protein sequences (lines with only capital letters)\n3. **Connects the dots** between related information that might be several lines apart\n4. **Organizes everything** into a neat table structure\n5. **Creates a pretty Excel file** with proper formatting and headers\n\n## Technical Approach\n\n### Pattern Matching Strategy\nThe script uses **regular expressions** (pattern matching rules) to identify different types of data:\n- `^\u003e(.+)` finds sequence identifiers\n- `^[A-Z]{16}$` finds 16-letter protein sequences\n- `Overall Prediction.*= (-?[0-9.]+)` extracts numerical scores\n- `Probable (ANTIGEN|NON-ANTIGEN)` captures classification results\n\n### Search Algorithm\nUses a **forward-looking sequential search**:\n- Processes the file line by line from top to bottom\n- When it finds a sequence identifier, it searches the next 10 lines for the corresponding protein sequence\n- Stops searching once it finds what it's looking for (efficient and prevents endless searching)\n\n### Why Not Use Simpler Tools?\n\n**Question**: \"Why use Perl instead of AWK or other text processing tools?\"\n\n**Answer**: While AWK would be simpler for just extracting text, this script needs to create formatted Excel files with headers, column widths, and styling. AWK can't do that directly - you'd need multiple tools. Perl handles both text parsing and Excel creation in one go, with robust error handling for research workflows.\n\n## ⬇️ Prerequisites\n1) Install **Perl 5**  \n   - Linux/macOS: usually preinstalled  \n   - Windows: install via **Strawberry Perl** → https://strawberryperl.com/\n\n2) Install Perl modules:\n```bash\ncpan Excel::Writer::XLSX          # for VaxiJen script (.xlsx)\ncpan Spreadsheet::WriteExcel      # for AllerTOP script (.xls)\n```\n\n## **Installation**\n\n3) Clone the repo:\n\n```bash\ngit clone https://github.com/vaishnavvarma/vaxijen-antigenicity-parser.git\ncd vaxijen-antigenicity-parser\n```\n##  **🚀 Usage** (no command-line arguments)\n1️⃣ VaxiJen → Excel (.xlsx)\n\nStep A: Edit file paths inside the script\nOpen scripts/vaxijen_to_excel.pl in your preferred Text Editor and set:\n```\nmy $input_file  = \"path/to/vaxijen_output.txt\";\nmy $output_file = \"vaxijen_results.xlsx\";\n```\nStep B: Run in commandline/terminal\n```\nperl scripts/vaxijen-antigenicity-parser.pl\n```\n💡 Tips for file paths (Windows):\n\n\u003e Prefer forward slashes: C:/Users/Name/Desktop/input.txt\n\nOr escape backslashes: C:\\\\Users\\\\Name\\\\Desktop\\\\input.txt\n\n\u003e If a path has spaces, wrap in quotes inside the Perl string: \"C:/My Data/results.txt\"\n\n## Perfect For\n\n- 🧬 Bioinformatics researchers working with protein predictions (Immunoinformatics)\n- 📊 Anyone who needs to convert scientific text output into spreadsheet format\n- 🎓 Students learning about data parsing and file processing\n- 🔬 Labs that need to process VaxiJen antigenicity predictions regularly\n\n_ _ _ _ _ _  \n\n## **More About VaxiJen**\nActual Creators of VaxiJen:  \n- [Prof. Irini Doychinova](https://pharmfac.mu-sofia.bg/?page_id=5444\u0026lang=en)  \n- [Darren Flower](https://www.linkedin.com/in/darrenflower/?originalSubdomain=uk)  \n\n## **Use VaxiJen**\n- [VaxiJen v2.0](https://www.ddg-pharmfac.net/vaxijen/VaxiJen/VaxiJen.html)  \n- [VaxiJen v3.0](https://www.ddg-pharmfac.net/vaxijen3/home/)  \n- [Read More Here (BMC Bioinformatics, 2007)](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-8-4)  \n____________________________________________________________________________________________________________________________________________________________________________\n\n## ✍ Behind the Code (vaxijen-antigenicity-parser)\n\n👨‍🔬 **Vaishnav P. Varma**  \n[GitHub Profile](https://github.com/vaishnavvarma) [LinkedIn Profile](https://www.linkedin.com/in/vaishnav-p-varma/)   \n\n💻 *Bioinformatician by training | 📸 Photographer by heart | ☕ Turning coffee \u0026 curiosity into code*  \n\n[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-%E2%98%95-yellow)](https://buymeacoffee.com/vaishnavpvarma)\n\n---\n\n✨ Crafted with ❤️, code, and curry in India 🇮🇳\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaishnavpvarma%2Fvaxijen-antigenicity-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaishnavpvarma%2Fvaxijen-antigenicity-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaishnavpvarma%2Fvaxijen-antigenicity-parser/lists"}