Internship at the Albany RNA Institute

I had an internship with the Suny Albany RNA Institute. This was my second internship with them, and surrounded the completion of my work on the RNA Modification Database (the abstract provides enough information, though the link it provides does not link to my work).

I needed to Expand the search functionality to include non-naturally occurring Modifications. I also needed to create a way for contributors to add modifications, Reviewers to review them, and an administrator to publish them. I was originally going to do all of this using the CMS Drupal, but the information for the Modifications had been recently added to a MySQL database, and the relationships were not structured in a way suitable for Drupal. As a result, about half the site is in Drupal, and the other half uses CakePHP.

The first step was to create a new design for the site. I started this process in Photoshop, went through several drafts and finally came up with a design. I then had the design approved, and was able to begin the next step: turning it into a Drupal sub-theme.

Turning a design into a sub-theme (in my experience) is a two-step process. First, convert the design to HTML and CSS, and then, turn everything you have into a sub-theme. This means adapting your markup to work with Drupal code. It also generally means altering the base theme you’re using, and possibly creating new templates, depending on your sites requirements.

After the theme was complete, I started taking the existing website, which was comprised mostly of HTML files, perl scripts and text files, and incorporating it into the content management system. This was a lengthy process, made somewhat shorter with the use of the web service HTML tidy. There were a few bumps in the road, such as mistakes with character encoding, entirely due to my mistake of not checking the right box while using HTML tidy. I’d recommend watching out for that. There was also a problem with some of the forms not working. I found various files seeming to pertain to these forms, and had trouble telling which ones were being used. I worked with one of the System administrators, and found out the form submissions did not query the server, ruling out some scripts as the possible culprit. The forms were entirely dependent on Javascript files, and failing because the forms didn’t have ids, and the script was simply trying to use form[0], when there was already another form on the page.

After completing the basic work on the site, I began the most important part of the project: working with the RNA modifications. I won’t go into too much detail here, except to say I have never created and styled so many forms in my life.

As I had said, the Modifications were previously transferred to a MySQL database. This meant I could work with a well-structured database, instead of 109 files. Unfortunately, the database was constructed in a way that caused a few problems. Most of the problems were fairly insignificant, and were as easy to fix as copying, or adding some tables. One problem, however, required a more in-depth knowledge of the MySQL database, meaning I had to get some help from the person who created it (Andy Wright), who also happens to be my boyfriend, making working with him much more convenient. I played “middle-man” for awhile and managed to get him the little bit of information he needed to restructure it.

Some things worth noting:

No one was to blame for any “problems” I encountered with the database, which was something I knew, but I appreciated Dr. Fabris (the faculty member in change of my internship), telling me he didn’t want to play the “blame game”. This is great attitude to have and I’m hoping I encounter it more in the future.

I learned the value of the “middle-man”, or basically, the person who can speak enough of the developers language to get the information across. I can safely say, this would have taken at least 10 times longer if it weren’t for Will Cantara. He’s a bio-chemist who fooled me into believing he was a computer scientist. We once had a meeting that began without him, and everyone around me might have well have been speaking Swahili. Will walked in the room, and suddenly words were translated into something I understood. I can only imagine everyone felt this way.

You always want someone around who knows more than you. Andy thought of using CakePHP, and helped me any time I had questions, making working with the framework much easier. When it came to Drupal, I had no one to go to for help, so it mostly came down to trial and error, and tons or internet research.

Get to know your network administrators, and learn just enough about networking to be able to communicate with them. I got lucky with the research IT group. They know what they’re doing, and they put up with me stopping by to ask questions.

Overall, it was a great experience, and I can only hope I find a job working with people as smart, nice and hard-working as those I encountered here.

Leslie Zuker


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s