Category Archives: Science

Closing Up Shop and Preparing the Next Generation – Nick

The past four weeks have been pretty slow in comparison to the rest of the time this experiment was being carried out. If you couldn’t tell from the title of this particular post, these past weeks have pretty much been damage assessment and cleanup protocol. This is why I was not able to recover anything biological because I have reached 100% mortality rate and I am not able to continue the tests. After considering where I am in the semester and where I will have to be in the experiment, I have decided to close up shop.

Continue reading

Basic Logical Expressions and Curly Brackets in R – Baiting

In the past two weeks, I went through more tutorials and learned how to select, sort, and rank columns in a matrix or a data frame. However, I am more thrilled to talk about the “if-else” logic expression as I noticed something strange while trying out myself. If you are interested in studying this topic yourself, you may find this edx video tutorial and this website to be helpful. They are both free.

The first thing I entered was:

Code 1

This is the simplest “if-else” expression. The first line means set “a” as a variable and a = 2. The third to the fifth line is the logic expression. If “a” doesn’t equal to 0 (in R, “!=” means “≠”), the output would be 1/a. Otherwise (if a = 0), the output should be “FALSE”. This is what happens when we run these lines.

Output 1

Obviously, the logic works. We have a = 2, so a ≠ 0. This matches with the condition that the result = 1/a = 1/2 = 0.5. However, if we start “else” in a new line, then something strange will happen.

Code 2

When we start “else” in a new line, the R Studio says there is an error. If we run the codes, R Console would show the following:

Output 2

This triggers my curiosity, since this is the only time that starting a new line would lead to different results. Let me explain it quickly using another example.

Code 3

In R, the two sections in Code 3 mean exactly the same thing. The only difference is the first section occupies 1 line while the second section occupies 4. They both mean read the document “oasis_cross-sectional.csv” as a data frame and name the data frame as “A”. This example is not an exception. In fact, starting codes from a new line work in most expressions I learned. However, it doesn’t work in the “if-else” expression. To figure out the answer, I did some research on the curly bracket “{” and “}” in R.

According to “R in a Nutshell, 2nd Edition” by Joseph Adler, curly brackets (braces) are “used to evaluate a series of expression” or “used to group a set of operations in the body of a function” (Adler). This hints that the curly brackets only work when there is another corresponding expression, like “if-else. ” If there is no such expressions, curly brackets would have no effects.

Why this matters? Obviously, curly brackets only work when you have pairs of heads and tails. The computer only reads the statement in between. Here is an example:

Code 4
Code 5

If you compare Code 4 and Code 5, you would notice Code 4 is missing the tail curly bracket ( } ). So, your computer would read Code 4 as a bunch of characters and Code 5 as a statement.

Again, curly brackets need to work with another expression. My hypothesis is the head bracket would find the first expression in front of itself and match with it. Then, the corresponding tail bracket will close the statement. This explains why Code 1 works when we have started the head bracket in a new line. The bracket would automatically find the “if” expression and match with it.

However, the “else” expression doesn’t do the same work. When you start “else” in a new line, it wouldn’t find the corresponding “if.” I believe this is not a flaw, but an intentional design. A head bracket always needs another expression, but “else” doesn’t always need “if”, it may match with other expressions, like “else if”. So letting “else” find its own expression would lead to many logic errors.

To test my conclusion, I used the following codes:

Code 6

In Code 6, the highlighted lines are the ones I inserted intentionally for testing. According to our hypothesis, the first head curly bracket in line 9 would find the statement in front of it. This means line 7 would match with line 9. At the same time, the “if” expression in line 3 would match with line 5, as after we give the condition (a > 6), it automatically considers line 5 as the “so what.” This is what happens when we run the codes:

Output 6

Only the first line works! The logic function “if-else” fails as the brackets can no longer find the correct expression. In comparison to Code 2 and Output 2, even though R identify both errors as “unexpected ‘else’,” it is obvious that the problem with Code 2 is the tail bracket while the problem with Code 6 is the head bracket. In addition, line 7 fails to work as line 5. Line 5, the line that is supposed to match with line 7, is now matched with line 3 (as shown by the “+” sign in the output). This means we no longer have a definition for A, so we can’t find it.

This is the end of my main topic. In this blog, we successfully found a problem and established some reasonable conclusions. Of course, these conclusions may be wrong, but the process of identifying and solving a problem was fun for me! When codes fail to run, I believe it is always important to read the error notice to identify the issue. Furthermore, it is also helpful to reflect on and identify the deeper reason that leads to the error.

Works Cited

Adler, Joseph. R in a Nutshell. 2nd ed., Sebastopol, O’Reilly Media, 2012. O’REILLY, http://www.oreilly.com/library/view/r-in-a/9781449358204. Accessed 29 Apr. 2019.

“ifelse.” RDocumentation, www.rdocumentation.org/packages/base/versions/3.5.3/topics/ifelse. Accessed 29 Apr. 2019.

Irizarry, Rafael. “Basic Conditionals.” Edx.org. Lecture.

Medicine in the Early 20th Century– The Pharmaceutical Industry –Yuchen

Medicine in the Early 20th Century Part 2

                                              —- The Pharmaceutical Industry

During spring break, I had the opportunity to visit a pharmaceutical company in Xi’an that produces anesthetics as their main product. During my visit at the factory, the manager showed me the many precautions taken by the company to minimize the possibility of contamination and ensure the safety of their products. In addition, the company has dedicated a significant amount of resources and space in keeping samples of every batch of past products and monitoring their status. My experience there elicited my curiosity about the pharmaceutical industry. In this blog post, I will look at the history of the pharmaceutical industry with a specific focus on its development in the 20th century. Continue reading

Medicine in the Early 20th Century Part 1–Yuchen

Medicine in the Early 20th Century Part 1

During the last decade of the 19th century and the beginning of the 20th century, the world witnessed many advances in the medical field, especially the integration of modern technology into diagnosis and treatment. Classical patient history taking and physical examination were met with new technologies to diagnose various medical conditions. Continue reading

Managing Algal Growth and Possible Solutions – Nick

Since my last blog post, there has been A LOT going on. However, I regret to inform you all that most of the events in the past couple weeks are not positive. Now, we must keep in mind that this is a biology project which means that there is going to be plenty of room for error in the experiment.

Continue reading

Fashion as Armor 3 – Bay

After I did some research on Asian armor, specifically Japanese Samurai’s armor, I realize that almost all the armor around the world are surprisingly similar. Chainmail, layered metal plates and exclusively for male are abundant in virtually in every armor design around the world, some of the few differences are the arrangement of the metal plates and the embellishments. In addition, the designs and embellishments of the armors from whatever culture were already made to be flattering on human body, for example, the photos I provided in Blog 1 show how each piece was made and tailored to the wearer, so I took the inspiration quite directly and so I want to challenge myself a little bit more so I start looking into “Natural Armor.”

Continue reading

Managing Algal Growth and Plan Moving Forward – Nick

    The last two weeks have been pretty slow compared to the rest of the time in the experiment. This is because the main focus of the past weeks have mainly been algae control and tank cleanliness. This has been difficult to maintain because the local aquarium does not have any snails in stock.

Continue reading

Genitourinary cancer research: Revising

14200-075_650X600.jpg-650

Image: Dulbecco Phosphate Buffer Saline 

Throughout the past few weeks, I have been in contact with both ATCC and NanoEnTek regarding the NBT-II cell line. After further analyzation of the protocol provided to me by ATCC technical support and cross-comparison with my own procedures carried out, it was clear that two steps were not carried out. The first instance was not washing the cell lines in Dulbecco Phosphate Buffered Saline. DPBS removes excess serum left behind from medium and inhibits or lengthen the trypsinization period possibly preventing the adherent cells from completely detaching from the bottom of the T-75 flasks. Additionally, during the initial subculturing carried out I was supposed to centrifuge the complete growth medium from the T-75 flask at 125xg for 5-7 minutes and then resuspend these cells in fresh media as an additional culture to keep going. Additionally, I will be purchasing more of the Eve NanoEnTek cell counting slides to further test the viability of my new cells following my initial culturing.

Continue reading