logo

Computational Molecular Biology, aka Algorithms for Computational Biology

Home * Syllabus * Course Information * Readings and Resources * Lecturers,TAs, office hours * Homework Submission * Forum

Submitting your homework assignments

The first few assignments will not be as time intensive as the rest of the assignments will be. So even if at first the pace seems slow, we suggest that you get in the habit of starting on each assignment as soon as you get it, because the workload will increase rather suddenly.

Test your program on warlord

Not all compilers or computer systems are created equal. A program that compiles and runs fine on your home computer might behave slightly differently or not even compile on warlord at all. For this reason, we suggest that you compile and test your programs on warlord before submitting your code, since that is where the TAs will be testing and grading your programs.

Creating a compressed archive file (e.g. a 'zipped tar-ball')

Please email the TAs your source code (with brief instructions on how to compile and run your program) and any files containing your written responses to questions, etc., in one compressed archive file (i.e. a gzip-ed tar file). They will appreciate you doing this, otherwise their email boxes tend to get rather full. It also helps them keep track of all your assignments. Please use the following naming conventions when you create your tar files compressed with gzip:

yourLastName.homeworkAssignmentNameOrNumber.tgz_OR_tar.gz

Note: both the '.tgz' and the '.tar.gz' extensions signify that a file is an archive created using tar and compressed using gzip

This will help ensure that there are not multiple files with the same name. You can archive and compress a series of files and directories in one step using the tar options -czvf. Note: the order of these options matters. Different orders other than '-czvf' will not work.

Note: don't actually type the '$', it just represents the system prompt. Also, the system prompt symbol could be different on your machine.

$ tar -czvf yourLastName.hwAssignmentName.tgz listOfFilesAndDirectoriesToArchive

Here is an example of how to archive and compress two files in a subdirectory called hw1 if my last name is Christensen and this is the first assignment:

$ tar -czvf christensen.hw_1.tgz hw1/lambda.c hw1/answersToQuestions.txt

The following commands have the same effect, except the extension will be '.tar.gz' instead of '.tgz':

$ tar -cvf christensen.hw_1.tar hw1/lambda.c hw1/answersToQuestions.txt
$ gzip christensen.hw_1.tar

Expanding a Compressed Tar Archive

If at a later date, you want to expand a compressed tar archive (i.e. tar-ball), use the following command:

$ tar -xzvf compressedTarFile.tgz

A note of cation: if you expand a tar-ball you can potentially write over a newer, updated version of a file with the older version contained in the tar archive. Tar will not prompt you to ask for permission to over write a file. For instance, say I created the tar-ball christensen.hw_1.tgz as shown above, and then I fixed a bug in lambda.c. If for some reason I were to expand the tar-ball after making these changes, the updated file would be over written with the old file stored in the archive.

Turning in Your Assignment via Email using Mutt

Note: You can send email via your warlord account. These emails will indicate that they were sent from yourLogin@warlord.wustl.edu. However, you cannot receive emails at this account. This can cause problems if people (i.e. the TA's) attempt to reply to such an email. This is because warlord is a computational server and has not been configured to receive email. However, warlord can forward all emails sent to your account to a different email address. For this reason, before you send any email from your warlord account, you should first create a .forward file in your home directory. This file should simply contain a non-warlord email address. Here is an example:
$ cd
$ echo "christensen@wustl.edu" > .forward

mutt is a text based email program that lets you send email with attachments from the command line. Of course, you don't have to use mutt to submit your work. You may find it convenient however, because mutt will allow you to submit your homework entirely from the command line after you have finished testing your homework on warlord.

$ mutt -a attachmentFile -s 'subject string' email@address

mutt will prompt you to change/enter the 'to' email address as well as the 'subject.' If you have already entered this information on the command line and it is correct, just press <enter> in response to both queries. Then mutt will open up a text editor (probably vi, depending on your configuration. If so, press 'i' to enter insert mode), allowing you to type a message. Once you save your message (if in vi, you can exit and save by typing <esc>ZZ), mutt opens up its user interface. Just press 'y' and your message will be sent. mutt can be run entirely in interactive mode if you prefer.

Here is an example:

$ mutt -a christensen.hw_1.tgz -s 'bio5495 hw1' christensen@wustl.edu

In Summary:

To create and submit a tar-ball containing your homework assignment:

$ tar -czvf yourLastName.hwAssignmentName.tgz listOfFilesAndDirectoriesToArchive
$ mutt -a yourLastName.hwAssignmentName.tgz -s 'bio5495 hwAssignmentName' TAsLogin@wustl.edu

[Then enter the text of your email, and if the editor is vi, type 'ZZ', then 'y' to send.]