Thursday, January 19, 2006

goodbye

Well, the CS30 project worked: we now have a Java program that can convert the logs into records in the new database. Dr. Iba says they just need to move the database to another account besides mine, translate some of the check queries so they will work with the new database, and of course there is more to do like making a form where the data can be edited, and a way to analyze the data as well as enter it. However, the database is very very close to being usable, so my part is pretty much done. If anyone has any questions or anything I'm of course available. I still have the notes that I've made as I was designing it. So keep in touch if you want. I've learned a lot... thanks, all.

goodbye

Wednesday, November 16, 2005

significant progress

So I was waiting outside the DC and I caught sight of Dr. McMahon as she was going to a meeting or something. And all of a sudden I realized that while I'm not making hardly any progress on the virtual parasite project part of my research this semester, I can at the very least finish Project Mickey (which actually would be useful to them, like, NOW).

So I sat down and:

* Finished the php for the Record Death page
* Changed the mouse mark to a selection box instead of a text field
* Reloaded all of the database tables so that there are two fields for the entry date and entry time instead of just one timestamp
* Changed the php files so that they send two values: one for entry date and one for entry time instead of just one timestamp
* Fixed the Java Script which checks to make sure that every field of the form contains something (excluding the notes field, of course, which is optional). I even figured out how to check selection boxes which had been giving me trouble before.
* Tested everything
* Found some problems
* Fixed them.

WOOT!

Dr. Iba and I worked out how we could use a java program to go through the logs of the data that has already been entered. If it can output a string that is a correctly formatted URL, that can be sent to the php file which will format an SQL query with will insert it into the new database (since that is what the mouse entry forms do anyway). It would probably use the string parser that our CS30 class created for the CS130 project. It'll run through the file three times.

The first time, it will find all the records that include birthdates for mice. It will create an entry in the mice table, and two records in the moves table: not-born to birthcage, birthcage to weaned cage. This first time, the transfer date for BR to W will be the same as the birthdate.

The second pass through it will find all the records that include cage transfers and it will create an appropriate entry in the moves table.

The third pass through it will create all the records for the readings table.

Then we can go back and change the transfer date for BR to W for each mouse to the date of the first reading for that mouse. There's no guarantee that they didn't make a couple readings before recording a mouse's birthdate, so we have to do this last.

Dr. Iba will probably make this a CS30 project which is really cool--it'll be interesting to work on a CS30 project that I really care about because it's MY project. I hope the rest of the class doesn't hate me for making work for them though ;-)

Between now and then though Dr. Iba is going to have some of Dr. McMahon's students test-drive my entry forms. It's so nice to be able to make actual progress on something for a change.

Tuesday, July 05, 2005

Blog Maintenance

I made a couple of executive decisions today about this blog. I'm not particularly fond of HaloScan comments now that Blogger revamped theirs. So since there was only one comment, I copied it, switched to blogger comments and reposted it. I also set it up so that when you post a comment it will automatically e-mail it too me (thus making this blog a great way to keep in touch with me about Project Mickey stuff as I work on it).

Also, since it was way easier to just reload the template for this page instead of sifting through the html to remove the HaloScan comments, I decided to update the links we had on the side bar since they didn't have a whole lot to do with what we were doing anymore. The html and css tutorials are condensed into one link to the main tutorial site, the CS research conference (that we didn't end up going to) is deleted, and the link to POV-Ray graphics... umm... we're not doing graphics anyway.

Not sure how much time I'll have this week, but I tend to only work on my other research project during the day, which leaves a ton of time in the evenings and nights which I usually spend on my computer anyway. Might as well be productive if I'm not too wiped :-)

Saturday, July 02, 2005

New Mouse Pages Done

Note to self: ctrl-x-s is the shortcut for saving when emacs menus don't work

I eased myself back into really working on this today--if I'm not careful I get scared to start. But it's going really really well. I wrote queries for entering a new mouse, and then I wrote the php and set up the page that displays the results so you can see what you entered. What was really cool was there were very few errors (like missing quote marks) that I had to fix. It was a lot easier than some of the first pages were.

Unfortunately user errors during entering aren't as easy to fix as entering a reading twice or something--you can't just delete everything and re-enter it. So I included instructions in case of errors: contact your local database guru. lol. I'm not sure how to take care of these kind of errors as a more permanent solution. In order to set everything right a person really needs to know how the database is set up and the actual queries that the php sends. It's kind of a bummer, but any non-CS people who use this will probably need to keep a CS person on hand. At least I can wire in enough that the CS person doesn't have to be called on for a every single thing, but... well, I guess being needed is handy ;-)

I only have Cage Transfer and Record Death pages left. I'm not going to tackle the view full record until I get back to Westmont. It should be pretty easy--the new mouse page already includes the query I'll need for both transfers and deaths, so there can be a fair amount of copy and paste. (I wish I could do it tonight and get it all done, but I've already been working on this for like 9 hours today, and it's almost midnight). After that is done though, comes the most difficult part: figuring out how to add everything to the database so that Dr. McMahon can start using them. I'm working on it, but I think I need to brainstorm with Dr. Iba a bit.

Friday, July 01, 2005

Update from Virginia

WOOOOOT!!! (<-- always a good sound to hear) I am in Virginia, but I have sucessfully managed to ssh to wardrobe AND get the project mickey pages to display on my browser. MAJOR break through. Thanks for the instructions Dr. Iba :-) I've done a bit of blog maintenance, switching things around so that both of my research blogs can be accessed through my profile --> I'll be keeping this blog up as I continue on Project Mickey--not so much as a formal scientific logbook, but as a place to record my progress, thoughts, frustrations, questions, etc.

I don't guarantee that I will finish this quickly (given that I have a lot to work on with the internship here) but I feel bad that I wasn't able to finish it in time, so I'm going to try to work on it at least some (especially since I have the whole weekend ahead of me). The problem is, even if I finish the web pages, there will need to be some major data entry before it could be used. In order to enter a reading or anything, the code goes and searches for the mouse in its database. If it doesn't find it, then the reading can't really be entered. Not only does each mouse need to be entered into the mice table, but since the code searches for it based on its current cage, all of the cage transfers for the mice are going to need to be entered also. I know that some information was added by Julia last year, but I'm not sure how to add it to this new database given the new schema. NOT a pretty problem :-(

Once I get the code done, and especially when the database is up and running, a bit of code will need to be added so that every entry into the database is logged in a text file. That way if anything happens, we can rebuild the database easily. Especially since yours truly can go in and seriously mess things up in only a few key strokes. the power of the password...

Monday, March 28, 2005

To Do

* create diagram of database relations
* create the tables based on the diagram
* figure out how to find a mouse
* [populate the new tables with the old data]
* write query to find MID using wean cage and mark
* write php so that new data can be inserted from html pages
* put web pages on server

Monday, February 14, 2005

PHP Breakthrough!

Annie and I met with Dr. Iba on 2-14-05.

Ayoub's Data
We practiced creating a view in postgresql that combined two tables.

Web interface
Since we ran into some problems making perl connect the database with the web interface, we decided to use PHP instead. Dr. Iba and I continued after Annie left for work and we succeeded, with the help of another student's example, in inserting data from an html form into a sample table. The next step is to make separate PHP files for each web page (similar to what we did for the perl files), with a function to insert data into the table when they hit submit. Once this is done we will be able to get the web interface up and running so that Dr. McMahon can use it to input data. Dr. Iba also showed me how to access my files on wardrobe, and I will be looking into transferring files from my computer into that directory using PSCP.