maandag 27 mei 2019

Fifth week

Hello lovely readers.

This week was very productive for me. In hindsight, it doesn't feel like I have done a whole lot, but I do think I have accomplished quite a bit. I had to do a lot of testing, debugging, more testing, rewriting parts of code, adding new parts, testing, and debugging. However, I managed to finish the implementation of edgeR into my application. Then I went through the same process again to calculate GC-content for the different samples and display it into a different datatable. The application now reads all fasq files in a user-specified directory, and then makes the calculations. I'm quite proud of it, especially so since the basic functions of the application are now complete. I can now move on to less important parts, such as improving on the download buttons, adding in a few new functions, etc.

I have also been applying for a couple different jobs this week. I have written several letters of motivation (which takes a long time), and will have to write a lot more still. However, I feel like I am at the start line of the rest of my life, and I want to not fumble when the start signal jumps from red to green.

In other news, I have found out there is an International Student Network here in Leiden, and every Wednesday they organize a party for the internationals. As a person who's not too keen on interacting with people I don't know, I was a bit apprehensive about going as I didn't know what to expect. I went anyway, and I had a very good time. The board members were very friendly and fun people, and I stayed a bit longer and drank a bit more than I had been planning to. I will go there again next week.

Also, I cannot believe I forgot to report on this last week, but my roommate has finally arrived. His name is Malik. He's a PhD student from Senegal, and we get along quite well. Because his first language is French, he's not used to speaking English, and it's a bit difficult to understand him from time to time. Currently there is only one thing I don't like about Malik, and that's that he doesn't clean up after himself when he's used the kitchen. I am starting to understand where my mom is coming from when she's nagging about having just cleaned and the floor already being filthy again. I do think she overreacts a bit, since I don't spill as much food and peels on the floor as Malik does.

Pretty sure my mom would get an aneurysm if she was in my position.

But yeah, I will have just vacuumed in the afternoon, and after Malik has prepared his food, it's just as dirty as it was before. I'm starting to think that cleaning the kitchen is a Sisyphean task.

I should probably tell Malik to be a bit more aware of the mess he makes.

Anyway, that's all for this week. I will see you all again in the next post!

Tibbert

maandag 20 mei 2019

Fourth Week


Hello lovely readers,

Week 4 has flown by, and thus a new blogpost is required. This week was a short one for me, as I spent Monday and Tuesday at home.

It felt good to be back home for a couple days. I wasn’t feeling homesick or anything, though. Here in Leiden I have to pay attention to how I speak so people can actually understand me, so it felt great to be able to speak like I normally would. The Flemish accents all around were a breath of fresh air after a bit more than 3 weeks of Dutch.

I returned to Leiden Tuesday evening, stepping off the train around 12pm. The very next day I went back to my internship a bit tired from the long-ish train journey.

In terms of work, I have added more download buttons, so all datatables can be downloaded in two formats. There are still some kinks to be hammered out, but they do work. So I think I’ll focus on the more important aspects of my application. One of which was the calculation of several values, which, as it turns out, was not correct. I went through my code to edit some parts, and I noticed I had not changed some of the objects in the calculations for one of the options. As such, it used the objects of another option to calculate values, and produced faulty results. Trying to fix this made me realize that the way I was doing it now wasn’t going to work.

I’ve spent a lot of time searching the internet for ways to fix my code and calculations, but couldn’t really find anything concrete I could use. I browsed sample workflows to find solutions, but none of them had something convenient I could just put into my code to make it work. However, there were some bits and pieces scattered around, and if I could combine them, I would get my desired result.

Thus, I read the workflow, entered the code in a different file, and ran it with my data to see what exactly what effect the different lines had. Everything was going pretty well, until I hit a roadblock. The code wanted to calculate the dispersion of my samples, but my data had none. The code needed dispersion to execute further functions. I didn’t know what to do, and went back to Prof. Dr. G. Oogle for advice. Sadly, nothing I thought might help worked, and I was out of ideas. So I reread my code another three times or so, comparing the sample workflow with my own.

And then I saw it. The problem. A stupid mistake. I had been following the workflow too closely, not completely understanding how they had organized their samples, and had messed up with my own samples. As such, I had ended up with 16 groups (1 for each sample) instead of 4, and eliminated the dispersion by accident. I quickly fixed the issue, and lo and behold! I had data to work with.

The difficult part is also the part where this week’s work ends. With the workflow I could calculate the logFC, the logCPM and the Pvalue for a sample, but I still needed the contrasts and the meanCPM and the feature names from my previous block of code. I was fairly sure I could write all of the parameters into a table with the help of some loop structures, but it would take a while to figure out. Last I managed before the end of the week was using the loops to create half of the datatable I wanted.

The weekend felt short, but I had some fun. I went to a jazz cafĂ© Friday evening. The beer was expensive (granted, it was craft beer, but in Belgium a special beer is still cheaper than what I paid here) though I did like the taste. The music, of course, was excellent. Saturday was a lazy day. I went swimming in the morning. I thought I would feel more awake afterwards, but when I came home and took a shower, I felt more tired than I had been before. I didn’t end up doing a whole lot afterwards. I did slog through a bit of administration I’d been neglecting (and overwrote one of the documents, so I had to fill it out again), so that’s at least something. On Sunday I went to the local game store to play Adventurers League during the afternoon, and created a new jank deck on MTG arena. I don’t think it’s viable, but it is fun to pull off the combo.

Anyways, that’s it for this week. I’ll see you in the next post!

Tibbert

donderdag 16 mei 2019

Third week

Hello lovely readers,

I know its been a while. I also know I'm about 4 days late with this post, but I've had a relatively busy weekend, so this kind of slipped my mind.

First things first though, so here's my report of week 3.

Truthfully, there is not a whole lot to tell. My experience with bioinformatics is that it takes a long time to do little work. When I think back to the work I've done on a day by day basis, I'm not all that impressed, since it's usually tweaking the code a little, or adding some UI elements. However, with all the testing and troubleshooting, those things that feel like they should only take a few minutes eat up a couple hours with ease.

Either way, I have integrated EdgeR into the application, though it doesn't work completely yet. Currently, the application calculates the normalized values (in CPM), the p-values, the fold change and logCPM. I need to do more testing, since I am not sure whether those last three are the correct values. I have also added in a download button for the generated RNAseq data. Clicking it lets you download the data in either a .tsv or .csv format. I wanted to autogenerate a title for the document, but I cannot get it to work.

I have also placed the two buttons into one row, which was a lot more trouble than I expected. For some reason the buttons refused to be placed right next to each other, one was always on a different row. I don't know how that happened, since I only added in 1 row. Eventually I tried a different approach. I created a table and placed the buttons inside of it, and that did work.

Lastly, I spent some time writing up a basic template for the front page of the application. As part of that process, I tried to come up with a decent name for the application, but I am rubbish at naming tools, characters or pets, so nothing good came out. I asked my supervisor for some input, but all he said was that he would like for the name to have "differential expression" included in it.

During the weekend I went back home to Belgium. I took the train at 5:30pm on Friday, and I arrived at 9:45pm that same day. Surprisingly, the journey went by faster than I thought it would. Perhaps it had something to do with me having to study on the train, which made it easy to lose track of time.

There are two reasons I went home. The first is that I have applied for a job in a laboratory, which required me to take a multiple choice test to test my knowledge. I wasn't sure what kind of knowledge it would test, so I refreshed some of the courses of the last few years. Turns out most of the questions were insight-based (eg: "In this situation, do you do A, B, C, D or E?") but a couple required me to calculate concentrations, or did test some basic medical knowledge. Most were questions that I feel are easier to answer if you've had some workplace experience.

The second reason would be family. It was Mother's day last Sunday, and my mum had asked me whether I would come home for the weekend. Now, I was glad that the day of my test was on Tuesday after Mother's day, so I asked for a couple days of leave from work. Since the train journey is on the longer side, I didn't want to go home for just 1 full day, and then have to leave again on Sunday evening, but with the leave granted to me so I could go take the test, I had 3 full days to spend in Belgium. That made the journey worth it, of course.

 And that's all for this week's post!

See you in the next post,

Tibbert

maandag 6 mei 2019

Second Week

Welcome back, lovely readers.

My second week in Leiden was fairly uneventful, all things considered.

I have made significant progress in developing the auxiliary tool to AViDE. Using the original code as a base, I have managed to create a rudimentary user interface with a certain number of tabs. Each of these tabs contains a data table that is calculated when two files are uploaded into the tool. You need a DE sample file, and your count data (in a tab delimited format, though I will try to include options for other formats as well). Lastly, you can also choose which package you want to use for calculating the normalized counts, the RNAseq data, the log2FC data, and the log2CPM data. You can either select edgeR or DESeq2, but at the moment only DESeq2 actually works.

Needless to say, I still need to fix a lot of issues, and make some improvements to this foundation I have laid. With this as a base, however, I am sure I can build a satisfactory tool.

Apart from working, I have done some exploring of the classical cuisine of the Netherlands. The Netherlands are famous for their croquettes, so I decided it wouldn't be right for me to have been here for two weeks now without having had a taste of the local specialty. Honestly, I thought they were quite good. I had two, one was vegetarian --probably made with some kind of mushroom paste instead of ragout-- and the other was a classic meat croquette filled with a ragout of beef. The beef croquette's crust was quite thin and brittle, but that did not make it any less delicious.

Have I mentioned in previous blog posts that I have started swimming? Well, if not, than I have now. I got myself a subscription at the Vijf Meibad, which is one of the three or four swimming pools in Leiden. It's an older building, but it serves its purpose. There are 2 pools there, one is a shallow pool where young children can be taught how to swim and become accustomed to the water, and the other is a pool with a length of 25 meters. I think the width of the pool is 10m or something like that, so it's not a huge pool (and it certainly feels quite cramped when a lot of people want to go swimming at once). I like to have some space when swimming or doing any sport, really, so I am always a bit frustrated with the amount of people when I decide to go swimming. Perhaps it's less busy in the early morning than late at night (which is when I go to the pool currently), but I am sadly not a morning person, so getting out of bed earlier than usual is difficult for me. I will try though, and, who knows, maybe I will get used to it.

Lastly, I've found myself going to the local gamestore a couple times recently. They sell a lot of materials for ... let's say... hobbies more commonly thought of as "nerdy". Things like Warhammer, Dungeons and Dragons, the Pokemon Trading Card Game, and Magic the Gathering. I've found myself pleasantly surprised that a lot of the items are a bit cheaper than in the local game store I used to go to. I've found dice at half the price, and card sleeves at 80% of the price in Belgium. I've bought only what I needed to play here, as I've left my Magic decks and accessories at home. I'll probably keep it that way, but I have no doubt that I will probably stop by the shop many more times during my stay to play some Adventurer's League or a couple games of Magic.

Like I said, there's not a lot to report this week, so that's it for now.

See you in the next post,

Tibbert