top of page

FishPi Friday!

Yeah, I'm theming this stuff. How else will I stay organized and motivated?

FishPi. I need to explain this one. No- lemme sum up.

FishPi is my portfolio capstone project. It's a simple MVC website styled with BootStrap. The function is like any other website, login, storing a document, keeping track of things etc. The real functionality of FishPi is in WHAT it does.

FishPi is built for a friend who is a fish virologist. She studies fish viruses. There's a calculation that needs to get done to figure out the genetic drift of the population. It's called Nei's Pi, and it looks like a Lovecraftian summoning spell. What we have to do is upload a document, read it line by line, count the total number of genomes, the occurrences of each unique genome, compare each genome to all the other genomes, do the summoning spell and spit out a number.

Here's what I'm working with to get the genomes in:

Luckily, I have a data scientist who adores me and math.

Because I am NOT mathy, I worked with one of my instructors (who IS mathy, he has a PhD in it) to write the Java code for it. We decided a map would be the easiest way to handle it. We also decided to use the algorithm for Hamming's Distance to figure out the number of substitutions (thank you, data scientist!), so I didn't have to do much there. That code is standard and available online. Then came the part where I had to translate Java into C#. This is an MVC website, remember?

I'll make a long story short and tell you I'm still working on it. I have some unreachable code so the DataScientist (now his code name, he'll pop up often in this project) helped me logic through it this week. His solution is effing BRILLIANT. He wrote me out the pseudocode, now I have to translate it into C#. And not have unreachable code. Because that's a thing I can do, apparently.

And I still have the prettiness aspect to consider. This is what it looks like now, boring old MVC BootStrap:

Useable, functional, works well, but holy hell, it's ugly. So that's the other side, making it look so much better than this. See, my process is get a structure built. Decide what your foundation will be because that informs your other choices. Get it working on that structure, then make it pretty. Because pretty is as pretty does, but if it's not FUNCTIONAL, it's pretty effing useless. At the moment we have user accounts (mostly, the admin isn't working and I need to figure out how to isolate each person's documents, but I need to talk to FishVirologist to see what she wants), we have upload functionality, we have accessing the documents after. I have to get the calculation running, stored and displayed, and make it pretty.

And there's your intro to FishPi.

Featured Posts
Recent Posts
Archive
Search By Tags
No tags yet.
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page