Basic FASTA to GO annotation app
Swiss2GO obtains Gene Ontology (GO) annotations for FASTA files of proteins. Annotations are important because they allow scientists to predict functions of novel proteins based on similarly structured, known proteins.
Currently, Swiss2GO:
- Ingests a FASTA file selected by the user using a file chooser GUI.
- Queries the proteins of that file against the SwissProt database using the NCBI BLAST API. *BLAST usses modified dynamic programing to align the proteins of the FASTA file to the Swissprot database.
- Parses the output for Uniprot IDs, then obtains GO annotations.
- Reports these annotations along with e-values of alignments back to the user in the app and in a CSV file.
I built this app using Tkinter for graphics, Biopython and Requests for API calling.
In the future, I'd like to expand this into an open source alternative to Blast2GO. Side note I'll probably change the name, I honestly had no idea Blast2GO was a thing when I started to build this and came up with a name!