Wednesday, August 24, 2011

The End (sort of)

the summer of code is officially over and i just wanted to post this last entry to say a big
to Google (especially Carol Smith), NESCent, Dr. Karen Cranston, Dr. Hilmar Lapp, Dr. Jeremy Brown and Dr. Brad Chapman. this summer was awesome and i feel very fortunate to have participated. i hope this program continues ad infinitum - it really was a pleasure.

the final resting place for the code to lociNGS is on GitHub (here). if you have any questions about lociNGS or you're considering participating in summer of code in the future and want someone to tell you how great it is, please feel free to contact me!

Friday, August 19, 2011

final friday

unfortunately, it took most of this last week for me to identify and fix the installation weirdness. i think it's all straightened out now, but it wasn't a very satisfying finish for the summer (other than the fact that the installation appears to work now!). the README and github account have been updated to reflect the changes that were made and it isn't that much more difficult to install. 

tonight/this weekend i'm going to finish working on the website for lociNGS and finalize the code (delete commented out lines, make sure each file has a heading, etc.). and THEN - well, i don't know what. i hope people use the program and give me feedback on how to improve it.

the tentative lociNGS logo

Thursday, August 18, 2011


sooooo... turns out i've been fooling myself into thinking my package very easily gets and installs all the required pieces to run lociNGS. it just appeared that way because i already had everything that's needed installed on my machines. for the past couple of days i thought it was just a mac 0SX 10.5 problem, but it's actually a problem for everyone.
the problem, as i understand it, is this: numpy needs to be installed before biopython and numpy does not install with setuptools. so i've changed the script to only look for the pysam, pymongo and simplejson packages. then i'm going to have the user install Distribute, then easy_install numpy, then biopython and that should be everything. it's a little more complicated than just running the script, but doesn't require going to the internet and downloading things, only typing a couple extra lines into a terminal window. this has been driving me bonkers, so i'm moderately satisfied that i have some way to relatively easily instruct users on how to get it working at all.
these changes will appear on github and in the readme this evening (due to an unforeseen afternoon obligation). *sigh*

Tuesday, August 16, 2011

it's the final countdown...

i'm actually pretty sad this is the last week of summer of code - it has really been fun and productive. yesterday felt rather unproductive, though, as i spent a lot of time creating a github webpage for the program ( i don't know much about HTML (or anything), so it required a lot of tinkering. i also updated the README to include a short "common errors" section, that will be expanded as issues arise.
this morning i updated the code to be a little more efficient and to ensure that both SAM and BAM formatted data can be accepted (although SAM is much slower). i did a complete import/export run through with SAM data (for the first time) and fixed a couple spots of code where there were issues. i also added three display columns to the summary screen: number of total reads gathered per individual, number of reads that align to the reference (per individual), and the percentage of the total reads the used reads comprise. i think this is pretty useful information to display and i was basically already recording it, so why not?
tomorrow morning i'm going to download, install and run the program on a new computer to make sure it goes as planned (using my README as the guide). then i'll hopefully get around to coding in one/several error message(s) for if the user has an issue importing/exporting/displaying.

Friday, August 12, 2011


i've been cleaning code and fixing little bugs. i can't believe i'm still finding them. i have learned so much about python this summer and i love it. the cleaning of the code is very satisfying - i can almost feel my brain transitioning from perl-like to python-like.

i realized today that i've been recording the number of SNPs that each locus has but wasn't displaying that info, so i added that to the locus screen. i also added some color to the output on the main screen. and i finally fixed the line endings like brad suggested.

how the gui looks with the test data:

Wednesday, August 10, 2011

wednesday help files

today's major task was working on a couple of help files for the gui. one displays the readme file that comes with the package (which took me perhaps longer than it should have to display properly). the other describes what the buttons on the summary and locus screens do. i played around with using a floating tooltip attached to the mouse, but my understanding of how it worked was not sophisticated enough to make it anything other than annoying. i also added a folder of test data to the package on GitHub. bring on thursday - it's been a good first half of the week!

Tuesday, August 9, 2011

major update - hooray

today i resolved to make the label-update-as-functions-completed thing work instead of the multiple popup windows that i had as a workaround. and i succeeded! i uploaded the majorly revised  to GitHub and am very pleased with the new output (assuming there's not some currently undiscovered bug). i'm spending the afternoon on the README file.  

Monday, August 8, 2011

minor updates - working well

i downloaded the package from github this morning and ran it with some new data and discovered the raw data wasn't displaying correctly. so i spent most of today troubleshooting and fixing that. the good news is that it's all working well now - and i've incorporated brad's suggestion that users are informed when things import correctly and after outputting the raw reads, a popup window in the GUI lets them know. i couldn't figure out how to update a label after a function is completed (which was actually brad's suggestion and would be actually much better) - but the popup is a functioning workaround for now.

everything is up to date on github - i need to edit the readme to reflect the much easier installation with i'm also going to keep working on a few other suggestions brad made for improving the code. my husband is out of town for the week at the ecology meeting so i'm hoping this last week before the soft "pencils down" date is super productive!

Thursday, August 4, 2011, github and segmentation faults

this morning i *think* i got a file working for downloading necessary components and installing on users' machines. what an amazing invention - the scripts are brilliant! i then radically reorganized my GitHub account to work with the script.
for the second half of today, i TRIED to get a popup window to display "Successful Import" when lociNGS imports data (using a tkMessageBox). this led to about a million segmentation faults (i think because the popup isn't connected to the appropriate frame or something. but i could be totally wrong about that because my brain ain't workin' so good right now).
plan for tomorrow is to take a fresh look at the popup issue (or make a work around) and continue to clean up code. and i should upload some test data for interested parties. tgi(almost)f.

Wednesday, August 3, 2011

readme excitement

kind of a ho-hum week so far - working on putting together a comprehensive readme for the program and trying to get the whole package together to force some friends to troubleshoot. i'm going to edit/revise the readme in the morning then post it (and the cleaned up code) to GitHub...