You are viewing a read-only archive of the Blogs.Harvard network. Learn more.

Archive for the 'Uncategorized' Category

And Now, We Pause For a Sick Day

ø

Maybe it was the sudden surge in temperature (from snow to over 60˚ in a day), or maybe it was the release in tension from finding out that I have one whole chapter less to write than I had thought, but I woke up feeling under the weather and spent half the day in bed feeling sick and sorry for myself. Eventually rallied and spent the afternoon at work, but wasn’t much more productive there—JC came by to talk over her post-doc options, and Tinker came by for a lengthy chat since he, too, has come down with the bug.

Did catch up on some of the diatom evolution reading that I’d been wanting to do, both in search for biologically driven hypotheses for particular characters as well as hunting for a more general biological framework from which to hang the papers.

Nothing much jumped out at me—the papers I read seemed mostly obsessed with phylogeny and relating morphology to it in some way (but still largely divorced from function or ecology). There was some talk of apical pore fields being for mucilage secretion, which may be related to attachment (either to substrates or to other cells for colony formation). Labiate processes, too, seemed to get some attention and were mentioned in conjunction with mucilage secretion and nutrient uptake. I did get the sense that most of the multipolar centrics and certainly most of the pennates were benthic—which was quite surprising since I had worked under the assumption that the vast majority, if not all, of the taxa in my morphospace would be planktonic (due to the very great water depths under which the sediments were drilled—one wouldn’t expect photosynthesis in the benthos below >1000m of water).

This prompted me for one idea, which was to try to plot the occurrence distribution of the different taxa in the morphospace—i.e. how “densely” populated are different bits of the morphospace. This would involve recoding the plotting function such that the plot symbol would be scaled by the number of occurrences in the time bin. It might be interesting to see whether some areas of the morphospace support greater populations (or, strictly greater preserved populations—perhaps they’re just more likely to fossilize!)…

 

Reading, Thinking About Diatoms

ø

Andy laid out a possible division for the two chapters in our meeting yesterday, when I pushed him to do so (being completely stuck myself as to where that division should fall). He grouped the description of the morphospace, the loadings, what the axes mean, comparison to NMDS, comparison to the phylogeny, and correlation with genetic distance into one paper, then the disparity and diversity measures through time and various subsampling approaches into another. He suggested using the stacked space-through-time plot as the culmination of the first paper, though I’m now wondering whether it wouldn’t make more sense to use that in the second paper, if the theme of the first is morphospace and phylogeny and the theme of the second is morphospace and diversity or morphospace through time. I think it is gong to be key to figure out exactly what the theme of each paper is. I don’t know right now, that’s for sure.

In any case, before next week I will need to finish up the last plots and analysis, which includes picking a few characters or groups of characters relevant to biological hyptotheses about what might be going on in the morphospace through time. In order to approach this, I need to read, so that’s what’s on the docket for today. Read about diatom evolution, and take notes about what sorts of characters I might use to test the ideas that are out there.

A couple of thoughts that occur regarding what the real diversity/morphospace history might be: we know that the range-through diversity and morphospace history provides a true minimum estimate. Everything we observe we know was there—the difficulty is knowing how much more there was. From that perspective, of course, it’s silly to subsample anything, since we are throwing out data to generate curves with less diversity and fewer observations when we already know that in reality there was more. But, since we don’t know how much more, we subsample and standardize in order to compare like and like to see relative changes. We never want to read anything into the axis labels on a subsampled curve. So what the subsampled morphospace curve tells us is that we have to consider the possibility that sampling bias is part of what generates the picture we see when we look at the raw or ranged-through pattern. It doesn’t say that the true picture is the subsampled picture.

Perhaps one of the things we can look at is disparity and diversity per site? Like we have alpha and beta diversity, can we have alpha and beta disparity?

Another thought—can the biomarker record help us here at all? If preservation really is the enemy, and there were are lot more diatoms around and we’re just not capturing them due to our poor sampling, perhaps we can see supporting evidence from molecular fossils? The Sinninghe-Damste paper on C25-HBI biomarkers for rhizosolenoid diatoms suggests they were around, and abundant, by about 90 mya. How does that compare with the occurrences of rhizosolenia taxa in the Neptune database?

Monday at Darwin’s, March Madness Day 5

ø

The weekend was not super-productive, although I did put in some time on both days. I was pretty exhausted on Saturday after spending the morning volunteering at the museum, and spent some time napping at Pierre and Nicole’s while Kati babysat Alexandre. In any case I managed to spend several hours over the course of the rest of the weekend tidying up the subsampled plot so I’m now satisfied with the way it looks:

This done, I moved on to tackling the next task, which is to try and answer Andy’s (legitimate) question about which characters are actually responsible for changes in morphospace occupancy. To accomplish this, I wrote code that compares the taxa in the alpha volumes of adjacent time bins and finds the taxa in the new, expanded volume of the younger time bin (i.e. those taxa that fall outside of the volume of the older time bin). The code then compares the character states of those taxa with the taxa in the older time bin and identifies which character states are new. Those character states are responsible for the expansion of morphospace volume (at least in three dimensions).

This new chunk of code returns lists of character states for each time bin, which is of course a little obscure, being a list of numbers, and requires a bit of look-up work. Here, then, is a summary of the character states that are responsible for adding alpha volume in each time bin. (This took a bit of time, too, because I decided it was too laborious to look up each of the character descriptions, so I wrote a script to call up the appropriate line of description from the text file containing the character and state descriptions).

  • Late Cretaceous: 68 new states outside the Early Cretaceous 3D-morphospace alpha volume (with alpha=0.11). A lot of states to look at here. Yikes. New valve outline shapes, aspect ratios, undulations, torsion, and curvature. Apex shape, heterovalvy, topographic folds, apex topography, various other characters of the apex, central depression, ornament at rim, asymmetric mantle, warts, brim, mantle pores, surface texture, central area ornament, spinules, collar. Importantly: the first sternum. Pore arrangement and size, other pore features, bullulae, pseudoseptae & ribs, apical fields, labiate processes, some sternum characters.
  • Paleocene: 53 new states outside the Late Cretaceous volume. Again, a lot. Ovate valve outline, depresse aspect ratio, frustule curvature, apiculate apices, heterovalvy, valves without a mantle, crimped mantle edge, mantles without pores or with simple perforations, more costa types, rays & associated characters, non-perpendicular pore arrangement, oval and rectangular pores, alveoli, porelli, pseudonoduli, ocelli, apical pore fields in rows, wide as well as eccentric sternum. Importantly, the raphe, in various places, singly and split, with and without canal, keel, and fibulae.
  • Eocene: 17 new states outside the Paleocene volume. Rhombic valve outline, curved central elevation, more costae, central area with scattered pores, central spines or tubercles, curved and spiral rows of pores, quadrate and slit-like pores, apical and annular pseudosepta, ocelluli, sigmoidal raphes, and laterally-opening raphes.
  • Oligocene: 2 new states outside the Eocene volume. Naviculoid non-sternum central area, ring of tubular spines in central area. (Whoa, random—I guess these are the only things Pseudorutilaria has that weren’t there pre-Oligocene; it’s just its odd combination of all the other characters that makes it stand out. I guess.).
  • Miocene: 16 new states outside the Oligocene volume. Panduriform valve outline, curved frustule, patchy pores on mantle, ridges and grooves on valve face, biseriate pores, specialized openings, quite a few invalid states*, labiate processes along sternum, sinuous raphe, straight, deflected, and bent terminal raphe fissures.
  • Plio-Pleistocene: 4 new states outside the Late Cretaceous volume. Anguste late aspect ratio, sternum widening at poles, raphe around entire valve circumference, and one invalid state*.

*It was pretty shocking to see how many invalid states there were. These are, for example, a state 3 when there are only states 0, 1, and 2, or in one case a state “j”. These are obviously typos. Clearly, they’re more likely to be caught by looking at taxa in the fringes of the morphospace and by looking at characters not found in the other taxa, but it’s still kind of freak-out-ish to think how many typos and other mistakes are lurking in my dataset. Alas, I simply don’t have the time to fix these anymore. Going through the whole dataset (even the culled dataset contains 14,000 entries) is just not feasible. End of story. The mistakes have to stay in there.

Is there anything to be learned from the characters responsible for the space expansion? Nothing jumps out at me. The shift from Early to Late Cretaceous is uninteresting to me, just because there are so few taxa in the Early Cretaceous that I doubt it represents much of anything real; anyhow, the characters are mostly related to seeing pennate diatoms. In the Paleocene… I don’t know. Just seems like a random jumble of characters. Same for the other time bins really. What a pile of crap shit poop. My guess is that the morphospace is just basically meaningless, so the characters responsible for these volume gains are essentially random.

So what remains to be done now? I have not, as promised in my to-dos for the week, spent the requisite time on my thesis document, writing, so that should probably be my next task for today, if only briefly, so that I don’t lose touch completely again. Got a couple of paragraphs on the morphological vs. molecular distances written up. Slow like treacle, but it’s coming along.

Aping Some More

ø

Started the day trying to figure out how to plot lines to demarcate clades (for color coding) on the phylogeny. Not as easy as one would hope for it to be in ape(). Eventually figured it out (ooh, hello, it’s lunch time already! shit!). It looks like this (i.e., promising):

Now the next task is to get these taxa colored up all nice and good so the points in the PCO plot can be colored correspondingly. This took quite a while, owing to some very non-intuitive complexities in the way objects of class phylo store the order of tips on the phylogeny (not, as one might expect, the order in which they are displayed!), and the way R codes for colors, which you’d think I knew by now… In any case, figured out eventually:

Was feeling quite ready to roll on and start making the matching PCO plots which will use the same colors to link phylogeny with morphology, but alas, this is going to have to serve as a temporary stopping point: since I was rudely shoehorned into co-presenting at the idiotic Geobiology meeting on Friday, I need to invest at least the next half an hour before Justin comes by to discuss what we’ll say actually reading the damn paper we’re going to present. At least I’m parked on a success/downhill.

Well, Justin showed up early and we ended up talking about the paper for a bit longer than I had anticipated, so it wasn’t until after dinner that I got back to working on the figure. In any case, I was able to get the rest of it banged out pretty quickly, and the result is at least aesthetically satisfying (although I don’t think it shows anything particularly fascinating that isn’t already obvious from the other plots I’ve made):

First off, though pennates and centrics occupy different parts of the 2D morphospace (which is obvious from the main PCO plot), their subdivisions don’t really occupy distinct areas. Radial versus bi-/multipolar centrics pretty much sit in the same part of morphospace, and araphids and raphids have a lot of overlap, too. What’s more, the clades within each of those groups (which I’ve plotted in similar colors—reds, blues, and dark greys) don’t seem to plot together, either. So in this view, while it seems that there is some very high level relationship between morphological and phylogenetic proximity, but it isn’t a particularly close relationship.

This is kinda disappointing (I think), but it sets up rather nicely the next plot, which shows pretty well the same thing, but from a slightly different perspective.

Stumbling, But Stumbling Forwards

ø

In spite of a full night’s sleep, and my first go at mindfulness meditation this morning, I find myself sitting down at the office feeling exhausted and run down. Head achey and clouded, throat sore,… I fear that there is a bug trying very hard to break out. I am trying my best to ignore it and keep it down.

Had a hard time, again, trying to figure out where to start. Saw Andy who cheerfully suggested that January ought to be the month to complete the morphospace project. I winced, managed to smile (I think), and affirmed that this was in fact my plan. Went to the botany library to pick up a reference which I had hoped would provide a starting point for the phylogenetic comparison, i.e. comparing the proximity of taxa in a family tree based on genetics to their proximity in the morphospace.

The problems are 1) the tree in the publication does not show distances, only the topology of the tree, and 2) I don’t know how to compare phylogeny to morphological distance. I have a measure of distance in my dataset in the pairwise distances between genera. But the tree doesn’t allow me to make that comparison directly, because it only shows the topology, not the distances themselves. But even if I had the distances, how would I compare them? Yikes. This is a more complicated problem than I anticipated.

I forced myself for much of the rest of the day to work on the “skeleton” of the paper, trying to get down something, anything, on the page, so that I can bring something to Andy to work with and hopefully gain some direction and momentum for my analysis that way.

I managed to do some writing and sketch out a bit of a structure for the paper, but I must admit that I got demotivated at several points during the day. The old “I can’t do this” loops of thinking crept back, and the feelings of inferiority skyrocketed when I started looking to other papers for inspiration in structure—I just kept thinking, “there is no background, no purpose, no why to this study…”, and I couldn’t quite figure out how to get myself back out of that rut.

Fortunately, it’s an enforced early end to the day today, because Summer, Gabe, and Anna are here tonight. Tomorrow they all leave (Kati included) until the weekend, so it’ll be an intensive few days of work after tonight. Provided, that is, I can keep myself healthy and stop the headache and sore throat from spreading into a full on bout of sick.

“There’s a Real Contribution Here”

ø

Thus spoke Andy yesterday, when I presented him the fruits of two very short but really productive bursts of work, one on Sunday (finally having carved out a morning’s worth of work from family hangout time) and another on the same Monday morning, squeezing all I could out of the hours before our 3pm meeting. In addition to the plots from the last week, here’s what I had come up with:

This was my first success in writing a function that plots a point as a rectangle with the aspect ratio reflecting the character state of character #2 (valve face aspect ratio) of the genus that point represents. I thought this was pretty cool and a first step in the “more data-rich plot” direction I had been hoping to head for so long. Next, I overplotted this with symbols indicating the state of character #60, the highest-order taxonomic character that divides diatoms into those whose structural pattern center is a ring-shaped annulus (centrics), versus those whose structural pattern center is a linear sternum (pennates). This maps quite congruently on the division between forms with mostly equiproportional versus elongate aspect ratios in valve view.

Finally, I altered the plotting function I had written to also reflect another character state, namely shape (elliptical, triangular, rectangular, etc), leading to an even more data-rich plot:

I did notice an elongate triangle near the center of the plot, which doesn’t make sense, and I eventually tracked down to a typo in my original matrix. I fixed the entry in the matrix (both the Numbers file and the .txt file), but haven’t re-run the whole analysis—I’ll have to do that before I generate the final-final figures for publication. Also, the horizontally elongate forms obviously make no sense—they’re the same aspect ratio as the vertical orientation, but they represent asymmetrical (ovate) forms, shapes I haven’t figured out how to plot.

Andy’s response, as the title of this post suggests, was very positive and encouraging. I didn’t get around to telling him just how little of the variance is actually captured by the PCO axes, but whatever. Who gives a crap. I’ll write about that, and the different ways of calculating it, when I write it up, end of story. Andy really seemed to like the pattern of gradual expansion of morphospace through time shown by the new-and-improved plots, as expected. While I voiced my doubt that this expansion was necessarily a real phenomenon—after all, there are also only 1 and 2 sites in the two Cretaceous time bins, respectively, versus many more in subsequent time bins—I also realized that this issue could also be addressed by subsampling. Taking random subsamples from the Plio-Pleistocene time bin to the size of the Cretaceous data probably will still cover a larger area of morphospace, albeit less densely, than occupied in the Cretaceous—and that would be some actual support for the contention that this pattern is real.

In any case, the probably most terrifying part of the conversation (and the most inspiring—perhaps?) was that Andy also said he thought it wasn’t too early to start writing this up. He suggested (but was quick to add that it was up to me, as it was my paper) Paleobiology, where he would envisage a 25 page manuscript excluding about half a dozen figures, the references, and (probably a large) supplement with raw data and extra stuff. He suggested I start with the methods and introduction. While I’m more than a little nervous at the thought of starting to write, not having had any time to think about the big picture yet, nor what the analysis is supposed to show, he is probably right. Thinking by writing might be the best way to go at this stage, to keep up momentum. But there is so much analysis left to be done! Here a list of what I’ve scrawled down from my meeting with Andy, and briefly beforehand:

  1. Figure out the PCO loadings—which characters contribute to which directions on the PCO plot
  2. Compare pairwise distances between genera in morphospace to distances on a phylogeny
  3. How do some ‘important’ characters map onto the morphospace?
  4. Compare the PCO morphospace to a morphospace derived from NMDS
  5. Calculate morphospace area occupied using Sofya’s “shrink wrap” algorithm
  6. Figure out how to plot ovate shapes on the morphospace with my drawShape function
  7. Add raphe and sternum/annulus to drawShape function
  8. Figure out other metrics of morphospace occupancy/disparity (average pairwise distance?)
  9. Compare morphology to diversity
  10. Finish 3D stacked plot showing emergence of particular characters through time (linking,…?)

Andy talked about the intersection of morphospace, diversity and phylogeny as being a good selling point and focus for the paper. This is cool, of course, but part of why it makes me nervous is that I’ve done some of the morphospace part, I haven’t done any of the diversity or the phylogeny yet. Yikes!

In any case, this was both a terrifying and exciting conversation to have, and I’ve definitely been grinding my teeth and feeling generally quite on edge since then. Still, I didn’t get much done today: for starters, I took almost two hours to help Jc in a conversation with Justin, who is coming up to his quals and freaking out—and I felt it was my time to give back for all the people who talked me off the ledge and helped me prepare when I was going through that unpleasant period. But I also wanted to take some time to record and reflect on what I’d done, what came out of the conversation with Andy, and do a bit of priotizing/organizing of tasks left to do before I throw myself back in. In addition to the tasks listed above, it makes sense to start thinking big picture, looking over some relevant literature, and put the whole thing in context—by writing.

So I think I want to set aside some time each day to read/write/think, versus some time to press ahead on the analysis. That way, I hope I can achieve/maintain some momentum on both fronts, let the two inform each other, and not get derailed by spending excess time and effort on either. Since the analysis produces the most tangible and visible results, perhaps the best way to go ahead is to get as much analysis done as possible before lunch every day, and as much reading/writing/thinking as possible in the afternoon?

 

That Was the Week that Was

1

For the first part of the week, the new pep-talk motivation strategy was working quite well. I finally started down the list of Cretaceous taxa to add to the morphospace, and though it was slow, I was making progress, and that felt pretty good.

On Wednesday, however, Andy asked me to lead the discussion for the dreaded Pearson-Johnston-Knoll joint lab group meeting on Friday, on a paper of my choice. I was in no position to decline, given that I haven’t presented anything at lab meetings for several years, and have in fact abdicated from even attending them, as they are completely unproductive for me: it always ends up as a discussion among faculty (or between them, if it’s only two) witnessed by a large group of 10-30 silent graduate students and post-docs.

So I sank the better part of three days into catching up on three years of silica/diatom literature, choosing two papers, trying to read and understand them, pull together a few slides, and come up with discussion points. Predictably enough, the meeting went exactly as described above (Andy, Radcliffe visitor Paul Falkowski, and Zoe where literally the only other people to speak during the entire ninety minute meeting).

Strangely, though, it was a decent discussion, besides being utterly weird because it was 4 people talking in a room of about 25. I felt that it was oddly worthwhile to throw myself deeply into thinking about a couple of complicated problems for a while, and oddly engaging to lock antlers with Paul, who is terrifyingly sharp and very knowledgeable. His engagement in the material (versus the 21 others in the room who were completely still for the entire time) somewhat made up for his dickish “you must be in your 3rd year” remark the other week.

Perhaps the most vindicating part of the interaction was after we had finished and were walking out of HUCE we got into a discussion about the greater linkage between the silica cycle and the carbon cycle through silicate weathering. Paul brought it up and I was staggered, because this notion that accounting for silica in quantifying past changes in the global carbon cycle (through exercises like Berner’s “geocarb”/”geocarbsulf” models) was something that had struck me very early on in my time at Harvard. I had tried to sell both Andy and Dan on the idea, both of whom were very dismissive of it. Dan to the extent of falling asleep during my presentation on the matter in his class.

But Paul seemed to be quite excited about it, and seemed to understand exactly how this was important—and suggested that we get together and draw up some equations to describe it all… That was quite rewarding, and vindicating. I’m not such an idiot for thinking about these things after all. Fuck them all. Perhaps the biggest idiot I’ve ever been is in listening to others’ advice or waiting for “senior” scientists’ approval of my ideas. (How ironic, then, that this vindication has to come through a senior scientists’ approval…)

In other news, Mateo offered for me to join a dissertation writing group—so far just him and one other student. My first response was “I’m not ready”, but in further discussion and upon reflection I realized that it’s not too early to start, and it would probably be extremely helpful for me to start to think and write about the big-picture background of what I’m doing, rather than just sinking deeper into the morass of the ground-level mechanical exercise of the research grunt work itself. I haven’t yet gotten myself to the point of accepting his invitation yet, though, since I’ve also felt extremely overwhelmed during the past week, and the thought of adding another commitment makes me a little queasy. Something to think on a little more.

 

Tying the Interface Together

ø

Completely neglected to post yesterday—it was a slow, distracted day but I still got a few things done—mostly assembling bits and pieces of the R routine to read the ImageJ “pipe” file into R and create the SQL INSERT statements.

In the course of thinking that through, made a minor design change in the database. Rather than storing the complete name of each measurement type in the relevant column of the “Measurements” table, e.g. “Length from top of shell to base of ante-/postcephalic chamber”, I thought it might be prudent to store just an integer ID related 1-to-1 to a measurement name. Wrote a quick look-up function to return the full name for each integer ID so that the original design can be easily recovered with a function call. The rationale was that once I have finished collecting data and am at the data analysis stage, it might be very clumsy to formulate the mathematical models in terms of SQL queries including those long labels, and that the volume of a sphere, for example, would be more neatly described as “π x (1)^2” than “π x ‘Width of outer medullary shell’^2”. This might be daft and overkill, but I had a horror vision of running into problems with that and decided to do it this way instead. I think, given that SQLite is so forgiving in terms of data types, it would also be quite easy to revert to my original design and replace the measurement type IDs with the full strings quickly.

Anyhow, that was yesterday, and today is today. For the morning I’d like to get the bits and pieces together and get the interface up and running.

Back to Interface Design (Hallelujah!)

1

Returned to the lovely fifth floor of the ivory tower, I mean the museum, with a much-improved disposition this morning, having finished the horrifying and vastly unpleasant task of geometric-model-making yesterday. The world seemed a friendlier place as I peered onto the melting snow from my vantage point under the eaves of the museum. It didn’t hurt that it’s 43˚ today (read: it’s above freezing), with a forecast high of 54˚.

The next task—which I imagine will take up a good chunk of the day—is to turn the models I’ve come up with into .PGM bitmap files, which the interface will display when I change from one species to another. This is quite a bit more fun. OmniGraffle!

By lunchtime I had made up three of these figures. I managed to make one more in the afternoon, but succumbed to an intense wave of fatigue and actually fell asleep in the office… When I awoke, I decided that this was probably not the most productive time to continue working, so I decided to call it a successful week (geometric models done!) and return to the interface design with a fresh mind and wakeful body after the long weekend.

Another Day, Another Snowstorm, More SQL

ø

Believe it or not, Ripley, but there’s another snowstorm underway right now. And another one coming, tomorrow. For good measure.

Managed to make it in to work, however, and even settled down to actually do some work after getting some emailing out of the way (including emailing the remaining candidate reviewer for the morphospace characters, who turns out to be less of a diatom expert and more of a morphospace guy; we’ll see what happens). Irritatingly enough, the Practical SQL book I’ve been using is an electronic resource with an apparently limited number of viewing licenses, and it’s currently unavailable (somebody else must be viewing it). How annoying. Well, perhaps I can blaze ahead with choosing data types for each of my columns, since that’s something I’ll need to decide before I can set up the database.

Here is the current view of the schema:

Here are the most appropriate data types I can think of, available types being listed here:

Holes:

  • Hole_ID: integer primary key (this column type in SQLite automatically increments)
  • Latitude: real
  • Longitude: real

Slides:

  • Slide_ID: integer primary key
  • Hole_ID: integer references Holes
  • Depth: real
  • Age: real
  • Preservation: text check (Preservation in (‘ p’ , ‘ pm’ , ‘ m’ , ‘ mg’ ,  ‘ g’ ) ) ,

Individuals

  • Indiv_ID: integer primary key
  • Slide_ID: integer references Slides
  • Species: text check (Species in (‘ Species one’ , ‘ Species two’ , etc ) ) ,

Measurements

  • Meas_ID: integer primary key
  • Indiv_ID: integer references Individuals
  • Meas_type: text
  • Measurement: real
  • Image: text

From my reading of the SQLite documentation it seems that the CHECK constraint is not implemented in SQLite, which is a bit of a bummer. I’m going to have to be careful to do some data validation, for fields like Preservation and Species, where typos could lead to data not being retrieved properly in queries—either after collecting the data, or by building some validation into the R front-end I’ll need to develop for the database.

Tinkered around with RSQLite a little more, and figured out most of what I need to know in order to be able to set up these basic tables… Awesome! I think I’m ready to go. Unfortunately, there are a few more things demanding my attention today. I need to return an interlibrary loan book about automated diatom identification that might be quite useful for the mathematical morphospace project, but I haven’t read—so I need to make copies of the relevant sections, then lug it across campus to Widener library.