đ Statement of Credits
This website was developed as part of the "Introduction to Website and Database Design (BILG11016)" course at the University of Edinburgh.
Below is a breakdown of all the external resources and tools that were used throughout the development of this site, along with what I used them for.
Code Resources & References
- PHP to PDO migration: SitePoint
- Session & PHP logic references: StackOverflow
- HTML & CSS help: W3Schools â used for layout structure, form styling, navigation inspiration, and general front-end design
- Shell scripting guide: AWK quickref
- Favicon: Teleport icon by Mihimihi on Flaticon
- Font: Poppins via Google Fonts
- Hero Banner Image: Generated using ChatGPT's image generation with some version of the prompt: "Create a hero banner with a protein spiral to the left, padding and a clean color background."
Bioinformatics Tools & File Formats
- Clustal Omega: used to perform multiple sequence alignment, guide tree generation, and identity matrix plots.
- EMBOSS patmatmotifs: used to detect motifs in protein sequences
- jsPhyloSVG: Used to visualise guide trees interactively in-browser.
- Library by Samuel Smits, distributed under the GPL License
- As per the license, appropriate credit has been given and the original citation is included below:
- Smits SA, Ouverney CC, 2010. jsPhyloSVG: A Javascript Library for Visualizing Interactive and Vector-Based Phylogenetic Trees on the Web. PLoS ONE 5(8): e12267. https://doi.org/10.1371/journal.pone.0012267
- Original license and source available on GitHub
- Raphael.js: Visualisation dependency for jsPhyloSVG, loaded via CDN.
- File Format References:
đ¤ Use of AI Tools (ChatGPT)
ChatGPT was used extensively as a learning and debugging assistant. It was especially helpful when:
- Translating code from pymysql to PHP's PDO, after realising that Python-based SQL interaction was not within the accepted scope of the assessment.
- Writing bash scripts to loop over sequences and run patmatmotifs individually
- Cleaning up form validation, PHP display logic, and layout edge cases
- Understanding and integrating jsPhyloSVG for tree rendering
- Creating Python scripts to generate image plots (motif bar chart, identity matrix, etc.)
- Writing regular expressions and parsing outputs from EMBOSS and Biopython
- Suggesting content and layout improvements (e.g. how to use `ob_start()`, sticky footer, loading states â although didn't end up using that feature)
- Explaining unfamiliar parts of PHP or bash when I got stuck
All suggestions were tested, reviewed, and mostly rewritten to match the structure of my project.
Original Work
- Database structure (tables and relationships), designed based on course material
- SQL logic for inserting and retrieving data
- Layout and interface structure: forms, results pages, error handling, user views
- Styling written using custom CSS
- Also wrote the logic for saving results into a database, showing previous queries, and handling demo vs user searches
đ Project GitHub
You can view the full codebase here: GitHub Repository
Thanks for reading! This site was built with lots of learning, assisted with the tools listed above and help from ChatGPT đĄ