'96 BC/BP 378

Week 2

This is a basic introduction to computers and to the computing platform on which this course will be taught. Items covered include: background information on computers, the nature of computing equipment used in the course, instructions on connecting to ribozyme, an introduction to working in the UNIX environment and using UNIX commands and utilities to perform computing tasks. Experience is gained using ribozyme's editor, pico.

Author:

Susan Jean Johns

An Introduction to Computers

One dictionary definition of a computer is "an electronic machine that performs rapid, complex calculations, or compiles and correlates data." This definition leaves to one's imagination the actual parts of the electronic machine.

A computer is composed of five basic parts: a processor for doing calculations, a data input device (a keyboard), a data output device (a monitor screen), a data storage device (floppy disks and/or a hard drive) and memory to provide space for the computing process to take place. The size of these components and their speed determines whether the computer is considered a personal, micro, mini, mainframe or a super computer. WSU has all these computers on campus except for a super computer. Individuals with needs for super computing time have to apply for time at national super computing facilities.

Computers have all sorts of combinations of these five basic components. Normally the data input and output devices are combined into a single device known as a terminal. Terminals have a video screen for visual confirmation of data input and output, and a keyboard for actual entry. Older styles of terminals have the screen and keyboard all in the same cabinet, newer ones have the keyboard detached to help reduce user fatigue. Older computers had all the components in separate boxes connected by cables. Newer machines may have everything in one box or the processor, storage and memory components in one box with an associated terminal (monitor).

Computers have a set of commands which allow them to perform their various tasks, known as an operating system. While the functions that various computers perform are similar, the names given to these functions vary from one type of machine to another. The way in which these commands are entered also vary. The Macintosh is designed to be used with a mouse making selections from a series of menus, while other systems may depend on keyboard entries.

Computers may be either stand-alone units or be connected to other machines. A stand-alone unit is self-contained, needing no other machine to do its computing tasks. Such machines are limited only by software constraints, processor speed and memory size. There are times when one computer must communicate with another computer or even pretend to be a simple terminal on that second machine. When a computer pretends to be a terminal the process is called terminal emulation. Usually software is required for a stand-alone machine to do this function. Through terminal emulation, a personal computer can serve as a terminal device on a much larger machine which has software or computing capabilities that the personal computer does not possess itself. Information can also be passed from one machine to another during this process, saving the necessity of reentering the same data on two different machines.

Computers currently only do what they have been programmed to do. Their accuracy in any given task depends on the thoroughness and completeness of the software being used and the manner in which it is used. In scientific research, this means that the accuracy of your results depends on your understanding of the strengths and weaknesses of the software being used, as well as how well you interpret the produced results.


Equipment for this Course

BC/BP 378 will be taught using the equipment located in 210 Commons. This area is known as the VADMS Teaching Laboratory. The bulk of the computer equipment located here is AT&T gear and was received as part of an AT&T grant to the WSU campus a number of years ago.

These machines are 386 devices running a DOS operating system. When the screen saver is not in effect the following image appears on the screen. It lists the locally available software on the machine in the standard icon-window format.

Of the software listed, Netscape and teemtalk will be used most. Netscape is the course's web browser. A number of biocomputing resources are only available on the web. Teemtalk is the terminal emulator that connects to the VADMS' computers, ribozyme and model1. The emulator allows the AT&T machines to act like Tektronix's color graphics terminals and use software that calls for that type of graphical output.

In this course the AT&T machines serve a number of purposes. First, they run software located on the machines themselves. Second, they serve as terminal emulators. This means that the AT&T computers pretend to be terminals connected to another machine and do not use their own computing resources to perform computing tasks.

BC/BP 378 relies on the computing resources of the VADMS Center. These resources are housed on the VADMS' platforms. These machines will serve as the hosts for the AT&T devices. To connect to these resources, the AT&T devices must communicate with their host machines over a network. Once connected to a host, these machines normally use teemtalk for terminal emulation (available from Pericom Technology PLC).

Emulators affect the way a device (in this case the AT&T computer) communicates with its host machine (the VADMS machines). They make it possible to change the functions of the keyboard's keys. Since the computer pretends to be another type of terminal, the keyboard setup must match that of the original terminal. Many terminals have their own distinct keyboard layouts. Changing the keys' functions to match those of another keyboard is known as remapping. Depending on the terminal being emulated, you may need more than one set of remapped keys. Some terminals use the same keys for different purposes in general operation as opposed to editing tasks. The AT&T machines are set up to act like VT100 terminals.


VADMS' Platforms Background Information

The computing platforms you will use are VADMS platforms. These machines have their own way of managing users and the portion of the computer they are allowed to work in, and their own distinct operating system, command language, filename conventions, online help and batch facilities.

Both are multi-user systems. Users work in individual portions of the machine's resources called accounts.


account

account - a term used to describe the working space of a user on a computer. This is where the user's files are stored. This term can also mean the name given to a user's working space for management purposes.


Each account has associated with it a username and a password that allows access to this working space. Accounts are allocated a number of blocks to work in on one of computer's many storage disks. Each account has a number of privileges associated with it that control access to other accounts' files, networking devices, and mail functions.

VADMS' machines have two different operating systems. Ribozyme uses the SGI version of UNIX called IRIX and model1 uses the VMS operating system. Both are command line-driven operating systems. The commands that operate the machine are entered after the machine's prompt. Such a system is very sensitive to typing errors.

The bulk of your computing tasks will be done on ribozyme. Therefore, in this early part of the course, emphasis will be placed on learning how to function in the IRIX version of the UNIX world. Most of your contact with the VMS operating system will be in the form of automatic demos.


filename conventions

filename - a term used to describe the actual name of a file. Filenames are usually composed of two parts. The first part of the filename is the name of the file, the second part is the extension name. The two parts are separated by a period.

extension

extension - a term used to describe the second part of the filename of a file. Extensions can also be used to denote certain types of data, or information


Ribozyme has an online help feature that can be both helpful and frustrating. You need to know the term you want information on before you can look anything up about it. This usually means conferring with a UNIX text of some sort. By typing man (for manual) and the term you want more information on, the machine will show you what it has online about that particular term. Beware, examples of how to use a term or function are usually not given in these manual pages.

Ribozyme can perform batch processing tasks. The machine is set up to respond to the needs of interactive users (those currently logged onto the machine and busily working) as its first priority. However, if these users are not completely occupying the device, batch processes (tasks being run for users not currently logged on) will be given the unused portion of the device. Batch processes are controlled by queues which have different priority levels and lengths of processing time. Queues operate on a first come, first served basis.


Accessing Ribozyme Information

A graphics emulator program called teemtalk has been installed on the AT&T computers. This allows you to access a VADMS' platform and run graphical software on that device. It uses networking software as its carrier to make contact with the desired machine.

l) Activating the computer

The AT&T computers are always on. When they have not been used for some time a screen saver of random dots moving around the screen comes on. Move the mouse to change the terminal from screen saver mode to active. The activated machine displays overlapping windows screen given on page 3.

2) Select the RIBOZYME icon

From the teemtalk window, select the RIBOZYME icon by moving the cursor arrow with the mouse over to the RIBOZYME icon and pressing the left mouse button twice.

Successful connection to ribozyme is denoted by the appearance of a teemtalk screen followed by a Ribozyme information line and a login: prompt.

IRIX (ribozyme)

login:

After you enter your account name, the machine prompts you to enter your account's password.

Password:

The current intro message from ribozyme is:

                           Welcome to the Ribozyme
               This is a Power Challenge L running IRIX 6.1

      Sequence analysis users, enter the term seqtool to get into the character
      driven menuing system for access to VADMS sequencing software.

      Use pico for editing and pine for mail.

      The EST files have been separated out of GenEmbl.  Use est:* for the
      database if you want to search these files.

      Please not the changes in the Blast menu. Searching only GENBANK or
      EMBL is no longer possible.

      VADMS' Web page URL:
        Mosaic users    http://ribozyme.vadms.wsu.edu/~vadms/
        Netscape users  http://www.vadms.wsu.edu

You are into you account when you have seen the intro message and the machine returns to you the following prompt, ribozyme 1%. Throughout these exercise booklets this prompt will be shown as %.

%


Ribozyme Account Information

Each BC/BP 378 student will use his or her own account with the initial password mygenes0. The username of a faculty account is usually that individual's last name unless otherwise requested. Students in this class have one of the stock usernames created specifically for the course. You will be assigned one of these account names by your instructors to use for the duration of the class. Record that account name below.

account name: __________________________________________________________________

All account names on ribozyme are in lower case letters. The password will not be shown on the screen, so enter it carefully. Once in your account, you need to be very sensitive about typing upper and lower case characters. UNIX operating systems treat these characters differently.

A general welcome to ribozyme will appear on the screen, showing the version of its operating system and any messages of general interest.

Logging off Ribozyme

To log off ribozyme, enter the term logout. You will be automatically logged out of your account.

% logout

Although you are now off ribozyme, you still need to get out of the teemtalk emulator.

Getting out of teemtalk

To exit teemtalk, hold down the <Alt> key and press the x key. Answer the question that appears on the screen with a y. You are returned to the overlapping windows screen.

Exercise for Week 2

This series of exercises acquaints you with how to access ribozyme, learn something about its operating system, and develop some editing skills. You will be use UNIX commands to perform tasks on ribozyme, and become familiar with the pico full screen editor. Instructions given in bold should be entered followed by pressing the ENTER key.

l) Activate the computer.

Move the mouse around to change from screen saver mode to active. A screen appears that shows overlapping windows. An example of this screen is shown on page 3.

2) Select the RIBOZYME icon

From the teemtalk window, select the RIBOZYME icon by moving the cursor arrow with the mouse over to the RIBOZYME icon and pressing the left mouse button twice.

Successful connection to ribozyme is denoted by the appearance of a teemtalk screen followed by a Ribozyme information line and a login: prompt.

IRIX (ribozyme)

login:

3) Log onto ribozyme.

Once the login: prompt appears, enter your account name to the login: prompt, and then your password to the Password: prompt. This time the password is mygenes0.

Now that you are on ribozyme, it is time to explore its operating system. To do this, you will go through a number of steps designed to give you insight into how this computer works. The prompt on this machine is ribozyme x%. The x demotes the number of the command to be entered next.

4) Change your password.

Change your password to something that you can easily remember that is at least six letters long with at least one numeral. An example of a possible password is froggy3. Given below is an example of what this process looks like. In the example expxx represents your account name.

%  passwd 
Changing password for expxx
Old password:			enter your old password. 
New password:			what you want the new password to be.
Re-enter new password: 		repeat the new password.
Please record this new password as no one else will know what it is. If you completely forget your password, you will have to contact your lab instructor to have a new password established for your account.

Record your new password in space provided below.

password: _____________________________________________________________________

Now that you have protected your account from the prying eyes of others, let's go on to the other aspects of ribozyme's IRIX operating environment.

5) Finding out information about your new computer world.

To gather information about the ribozyme computer environment, a user employs IRIX commands. IRIX is SGI's versions of UNIX. These commands may act independently, or on a number of terms to produce the desired results. The commands often have switches to modify the nature of the produced output.

Determine the Time.

Computers can tell you the time, but they have a tradition of never being set correctly or of agreeing with one another. At times they may show you the correct time or be an hour off depending on whether the person managing the system has kept up with the latest time change. Some computers have the correct time but don't give the correct year.

% date

The date and time are displayed on the terminal. Record that information below.

time: ___________________________________________________________________________

Location in Your Account.

Successful computing requires the use of sub-directories to help keep data being worked on separated from one another. It is easy for users to become confused as to where they are in their account at any one time. The following command, pwd, lets you know where you are in the directory structure of the disk your data is being stored on. This directory pathway is usually much longer than you are aware of due to the way the computer has been set up. In UNIX, sub-directories are denoted by slashes. All the student accounts have been placed in the following directory location, /disk3/usr/local/people. Your resulting path would be one step down from this location on the disk. Record your pwd results below.

% pwd

pwd results: ____________________________________________________________________

To separate data into working areas, it is necessary to create sub-directories. This is done with the mkdir command. You use this command with the name of the new sub-directory you want to subdivide your working space. An example of such a command is given below.

% mkdir test

To see how your account is organized, you need to know how to display the contents of your account and how to interpret the results. This is done with variations on the command, ls.

% ls

The results from this command are similar to that given below.

   eight     five     fourteen  nine     six     thirteen  twelve
   eleven    four     mail      seven    ten     three     two
There are fourteen files in your account, but how can you tell if it is a sub-directory of just another file? To find out if a listed file is really a file or a directory, you need to use a more complete form of the ls command, ls -la.

% ls -la

When you enter this command, the following type of output appears on the screen.

   total 35
   drwxr-xr-x   16 expxx    class        512 Aug 14 14:02 .
   drwxr-xr-x    4 root     sys          512 Aug 14 15:48 ..
   -rw-r--r--    1 expxx    class        550 Aug 14 15:48 .cshrc
   -rw-r--r--    1 expxx    class        761 Aug 14 14:02 .gopherrc
   -rw-r--r--    1 expxx    class        778 Aug 14 13:18 .login
   -rw-r--r--    1 expxx    class       5448 Aug 14 15:41 .pinerc
   -rw-r--r--    1 expxx    class        641 Aug 14 15:48 .profile
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 eight
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 eleven
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:01 five
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:01 four
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 fourteen
   drwx------    2 expxx    class        512 Aug 14 15:41 mail
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 nine
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 seven
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 six
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 ten
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 thirteen
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:01 three
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:02 twelve
   drwxr-xr-x    2 expxx    class        512 Aug 14 14:01 two
Notice that there are more files than were shown before. In UNIX there is a hierarchy of filenames. Those beginning with a period such as .cshrc are considered to be generated by the system and are not really meant to be changed by the user. The period serves to hide them during general ls directory listings. The nature of the file and its protection is given on the beginning of the line, while the name of the file is at the end.

There are other changes from the previous directory listing. Notice the d's at the start of some of the entry lines. The letter d at the very left-hand side of an entry line is the way in which a directory is denoted. There are three of them is this listing. The first two, . and .., are the result of your account being created and result whenever a new sub-directory is generated. The third is the test sub-directory that was just created. The other letters behind the d refer to the protections on the file or sub-directory. W means write, r means read and x stands for execute. There are three general groupings of users listed here and the type of access each has to your files, system, owner and world. Right now your files are set up so that others can read them.

Looking over more to the right you will notice that other information is given. The owner of the file is given, expxx, and their group, class. Further to the right the sizes of the files are given in bytes. Still further to the right is the date and time that the files were created, and at the far right the name of the file.

Enter the following command and determine the following pieces of information: the size of your .login file and the date when your account was established (the date of the ., and .. listings). Record the number of bytes of space it takes on the next page.

% ls -la

.login file size (in bytes): __________________________________________________

date your account was established: _____________________________________________

Moving from One Directory Location to Another

Moving around in a UNIX account can be awkward. Use the command cd to change your directory location. To move to a new location, you enter cd followed by the complete directory path of the new one you want to be in. There are a few shortcuts. Your home directory has the alias of $HOME. Entering cd $HOME will return you to this location from anywhere on the machine. So will entering cd, pressing the space bar and then the ENTER key. Entering cd .., moves you back one level in the current directory tree.

Now that you know that you have a sub-directories in your account, it is time to explain why so many of them. A sub-directory has been established in your account for each week's exercise. To move into the location for this week's enter the following command.

% cd two

Check out the contents of this sub-directory by doing a ls -la. Since this location hasn't been used before, there should only be the . and .. entry lines in the resulting listing.

UNIX, unlike some other operating systems, won't let you move to a location on the machine that doesn't exist. You will get an error message if such a move is attempted.


Copying Files or Moving Them from One Location to Another

The UNIX command cp is used to create a copy of an existing file in a new location, or to make a copy of the same file in the same or a different location under a new filename. There is a file in the teacher account that you can use to practice the cp command with. The file name is match.cmp and it is located in the following directory, $UGRAD_DIR/data. The term $UGRAD_DIR is an environment variable established to contain data files for this course. Enter the following command line to copy this file into your test sub-directory. The period at the end of the line tells it to put the file into the current directory.

% cp $UGRAD_DIR/data/match.cmp .

A copy of the match.cmp file is now in your test sub-directory. Confirm this for yourself by doing the ls command. You can move files from one location to another while being in a completely different part of the account as long as you give the complete paths for the file to be copied and its final location.


Listing the Contents of a File

cat is the UNIX command that allows the display of the contents of a file on the screen. Not all files are written to be read by users, some are in machine code which results in a mess on the screen. Only those files composed of the characters found on a terminal keyboard, known as ascii files, can be displayed on the screen. To examine the contents of this file, enter the command given on the next page.

% cat match.cmp

The contents of the match.cmp file are displayed on the screen. This is a comparison table used in aligning sequences and really won't make much sense to you. The entire file was displayed and the process didn't allow you any real control of the speed of the display process. To have the file display one screen's worth of text at a time, use the more command. An example of this command is given below. After the first screen of material is displayed, the process is stopped and a message like this is shown at the bottom of the screen, --More--(yy%). The yy shows how much of the files has actually be shown so far. By pressing the space bar, the process moves on to display the next screen's worth of data. Beware of pressing the ENTER key when using more, for it only move down the file by a single line of text. It should require pressing the space bar 6 times to get through the entire file.

% more match.cmp


Removing Undesired Files

To remove files that are no longer needed, use the rm command. This command is very powerful and doesn't ask to confirm your decision. Once the command is given the selected file(s) are gone forever. If you want to remove file(s) with a little more control, use the special VADMS command del. In the VADMS system, del will cause the computer to confirm that you really do want to remove that file. The computer will ask something like, File match.cmp. Remove ? (yes/no)[no] : If so, respond with y. Remove the match.cmp file that you copied over earlier with the following command:

% del match.cmp

You will be asked to confirm that you want this file to be deleted. Respond with y. The file that was copied over earlier in the session has just been removed.

Now copy over some more files to work with. Do the following command to bring these files over into your two sub-directory.

% cp $UGRAD_DIR/data/bc378*.txt .

The * is a wild card. Any file starting with bc378 and having the txt extension will be found and copied over. There is one file, starting with bc378 and having the txt extension. The above command will copy this file into your two sub-directory.

Now do a directory listing of the two sub-directory. Record below the name of the file now in that location.

files: __________________________________________________________________________

Display the contents of this file on the screen with the cat command.


Printing off a file

Since the next step is to print off this file, and everyone else in the course has the same file with the same name in their accounts, rename the bc378hi.txt file to reflect your name by entering a command line similar to that given on the next page.

% mv bc378hi.txt (your lastname).txt

To print off a file on ribozyme, you use the lpr command followed by the name of the file you want to print. There is a printer in the teaching lab where your output will be produced. Each print job will contain the number of pages necessary for the contain the desired file and an extra page with the name of the file, who printed it and some other items. This page is known as a banner page and can be used to separate print jobs.

% lpr (your lastname).txt


Determine User Information.

You can also find out who is on the machine and what they are doing (interactive processing or batch jobs). Three UNIX commands allow you to do this, w, who and finger. These commands are handy when you want to see if a given user is on the system. Of these commands, who gives the least amount of information, just a listing of the accounts that are currently on the computer, what terminal port they are using and when they logged in. The w command produces more information. It shows how long the platform has been up, a shorter name for the terminal, the name of the internet machine being used to connect to the platform, when the account logged in, if the account is actively being used or not and what they are doing. Examples of who and w screen traces are listed below.

% who
softp      ttyq0        Aug 14 17:43
thompson   ttyq7        Aug 14 13:02

% w
  5:44pm  up 32 days, 10:14,  2 users,  load average: 0.02, 0.00, 0.00
User     tty from            login@   idle   JCPU   PCPU  what
softp    q0  xtsvadms.net.w  5:43pm                       w
thompson q7  clone1.vadms.w  1:02pm                       -tcsh
Use the who and w commands to locate a fellow student in the course with whom to engage in the next step of the exercise. Other students in the course will be on a internet machine that starts with clonex.vadms, the x denotes the number of the machine in the teaching lab. Record possible fellow student account names in the space below.

% who

% w

fellow students: _______________________________________________________________

Once you have a selected fellow student to do some more spying on, use the finger command to collect more information on who the person is and what he or she is doing. This is the way to find out the name of the student. An example screen trace is given below.

% finger thompson
Login name: thompson                    In real life: Steve M. Thompson
Office: 2010 ITB, 335-0533
Directory: /disk2/usr/local/people/thompson     Shell: /disk2/usr/local/soft/gen
eral/bin/tcsh
On since Aug 14 13:02:45 on ttyq7 from clone1.vadms.wsu.edu
3 days 3 hours Idle Time
No Plan.          
Use finger to find out the name of a selected student account. In the example command line, expxx denotes the student account name you have selected. Record several accounts and student names below.

% finger expxx

accounts and student names: ____________________________________________________

________________________________________________________________________________


Online Communications with Others

Now that you have found a person to communicate with, it is time to learn about the UNIX utility talk. Online communications with another ribozyme user is possible through the talk utility. To talk another user enter the following command where username is the account name you want to call.

% talk username

You will get the following type of message on your screen as contact is made with your selected student. In the example, expxx represents your account name.

Message from Talk_Daemon@ribozyme at 19:19 ...
talk: connection requested by expxx@ribozyme.vadms.wsu.edu.
talk: respond with:  talk expxx@ribozyme.vadms.wsu.edu
The screen clears and puts a [Waiting for your party to respond] statement on the top of the screen and a divider across the middle of the screen. It is now up to the student you are attempting to contact to make connection with you. The computer will tell you with a [Connection established] statement. If he or she is slow to respond to your call, you will see the following message, [Ringing your party again]. Now introduce yourselves and have a short chat, maybe about the weather. When one of you has had enough of this chat, enter the term bye and press the control and c keys together. A [Connections closing. Exiting] message will appear and you will be returned to the machine prompt.


Electronic Mail Information

At times when you can't reach another person who is on the machine, you can use electronic mail. On ribozyme, electronic mail is handled by the program, pine. Pine allows you to send and receive electronic mail from other users on this machine as well as from all other computer users that know that you have an account on this machine.

This function is activated by entering the term, pine.

% pine

The following screen comes up on your terminal. The beginning screen has the FOLDER LIST line highlighted. The program will tell you how many messages are waiting for you. This mailing program doesn't distinguish between new, unread mail and old saved messages in the INBOX portion of your mail folder. If you want to have this message really mean something, get in the practice of reading and moving mail out of the INBOX each time you receive a new piece of electronic mail.

     PINE 3.91   MAIN MENU                             Folder: INBOX  0
Messages   
          ?     HELP               -  Get help using Pine
          C     COMPOSE MESSAGE    -  Compose and send a message
          I     FOLDER INDEX       -  View messages in current folder
          L     FOLDER LIST        -  Select a folder to view
          A     ADDRESS BOOK       -  Update address book
          S     SETUP              -  Configure or update Pine
          Q     QUIT               -  Exit the Pine program


     Copyright 1989-1994.  PINE is a trademark of the University of Washington.
                       [Folder "INBOX" opened with 0 messages]
   ? Help                     P PrevCmd                  R RelNotes
   O OTHER CMDS L [ListFldrs] N NextCmd                  K KBLock
To send a message, either move the cursor with the arrow keys up to the Compose Message line or press the c key. Once in compose mode, the following screen appears on the screen (this is a reduced version of the actual image on your terminal). Now send a message to the teacher account telling your instructors about your computing experiences so far. Include information in your note about who you are, what the complete path to your home directory is, the size of your .login file, and tell about your talk session. You will start your message by entering teacher in the To: line. Pressing the ENTER key causes the term teacher to change to Instructional account <teacher@ribozyme.vadms.wsu.edu> and moves you down to the next line. Just press the ENTER key again until you are down on the Subject: line. On this line enter the term, contact. After pressing the ENTER key, you are ready to enter your message.

     PINE 3.91   COMPOSE MESSAGE                       Folder: INBOX  0 Messages   


   To      :teacher
   Cc      :
   Attchmnt:
   Subject :
   ----- Message Text -----

/////////////// empty space until the bottom of the screen /////////////// ^G Get Help ^X Send ^R Rich Hdr ^Y PrvPg/Top ^K Cut Line ^O Postpone ^C Cancel ^D Del Char ^J Attach ^V NxtPg/End ^U UnDel Line^T To AddrBk

The pine program uses the pico editor for creating its messages. You will be using pico to do additional editing later in this exercise. When your message is complete, press the Ctrl and x keys at the same time to send it off. The help section at the bottom of the screen uses a ^ symbol to denote the Ctrl key. The following lines appear at the bottom of the screen. Enter y to send the message.

   Send message ?
      
                Y [Yes]
   ^C Cancel    N No
A quick line containing Writing Fcc flashes on the screen. Then the following line, [Message sent and copied to "sent-mail".], appears on the screen. You are returned to the main menu. At this point to exit the program you can enter q, or use the arrow keys to move the highlighted line down to the Quit line and press the ENTER key. At the bottom of the screen, the following line appears and you are returned to the machine prompt. After you have been in the pine mailer and sent off a mail message two new files appear in the $HOME location of your account. These are .addressbook, and .addressbook.lu. Do not delete these files. They are required by the pine program.

Pine finished

There is more information about the pine mailer in the carrel. Additional information on the program is in the Using the Pine Mailer handout.


Running programs

Software programs are not normally written in UNIX script, they are written in standard programming languages such as FORTRAN, PASCAL or C. Programs may be complex, requiring users to be extremely knowledgeable.

One program that is extremely easy to use and requires no user input other than typing its name is Contact. Not all software is this easy to use, but well-written software should explain what it does, query the user for necessary information and produce understandable output. Run the Contact program.

% contact

On the screen is the date and a comment on the difficulty of running the program. Most software is more meaningful, however you have just run a FORTRAN program on ribozyme.


Additional Computer Information

Effective computer usage depends on your understanding of how the machine works and the development of editing skills. These skills allow you to gauge the nature of the tasks being done and determine how to most efficiently achieve them, take advantage of the more complex features of the computer's operating system, customize your working environment, write text files, and get access to batch processing.

Computers, such as ribozyme, operate most effectively when they are running computing tasks. Usage by normal users in interactive sessions (one where programs or tasks are being run directly from the keyboard) account for less than a third of the possible time that a machine is in service on a given day. Other computing processes require little, if any, user interactions, but consume a great deal of CPU time calculating complex numerical problems. The batch queue system was developed to even out the computing day load levels and provide for the needs of both interactive-intensive and calculation-intensive users.

Batch queues operate on a first come, first served basis. Queues operate at a lower priority level than interactive users and so run in the background during the day and take over the CPU during off operating hours.

Determining when a task should be sent to a batch queue or run interactively depends on user experience with the software being used. Software manuals often tell whether a program can be run in batch mode or not. Some programs work on small data sets easily in interactive mode, but should be run in batch mode when large data sets are used. Older computer software for doing computational work was all written to be run as batch jobs.

To do batch processing, you must be able to create and edit text files. This requires learning how to use the editor on ribozyme, the pico program. Using pico in this class is complicated by the fact that an emulator is being used to make contact with the computer.

Necessary Editing Functions

In the following section the ^ symbol denotes the control key from the keyboard. This is the same convention used by the pico editing program in its documentation.

Moving through Text

There are three ways to move through text:

1) The use of arrow keys allows line by line movement through a file. This procedure is not bad for small files with few lines of text.

2) In pico, move by about 19 lines of text down through the file by using the ^v keys on the AT&T terminal. This means of movement is useful for medium-sized files. To move in the reverse direction enter ^y.

3) Move by using the find function of the pico program, ^w. A prompt will request a phrase to be located (search [term] : ). Enter the desired phrase and press the ENTER key. If the desired phrase is in the text, the screen will show that portion of the text in which it appears and the cursor will be positioned on the start of that phrase. Otherwise the program will state that the phrase cannot be found by putting a message at the bottom of the screen. This process is useful when dealing with large files, providing distinctive terms can be found to allow movement to the desired locations.

Selecting Text

Selecting text makes the movement of text from one location to another easier and also allows you to delete text.

1) Find the phrase to be selected.

2) Move the cursor over to that phrase.

3) Press the Ctrl, shift, and 6 keys all at the same time. This will activate the selection process and a message will appear at the bottom of the screen stating [Mark Set]. Now either move the cursor to the right or left for an individual word or a short phrase, or up and down the screen for blocks of text with the arrow keys. Once the entire section to be selected has been highlighted, press ^k to remove it from the screen and put it into a buffer. What you want to do with this text (removal, copying or moving) determines what step is taken next. (See later sections on removing text and inserting text for details on these procedures.)

Removing text

You can remove either a single character, a word or blocks of text. There are two ways to remove text:

1) Use the delete key. Position the cursor to the right of the character to be removed. Press the delete key as many times as needed to remove the unwanted text from the screen and the file.

2) Use the selecting text procedure in pico. By not inserting whatever text was stored in the buffer and/or placing new information into the buffer, the original text is lost.

Inserting Text

There are two ways to insert text into a file:

1) Move the cursor to the desired spot in the text and simply begin to type in the new text.

2) If text is to be moved from another section of the file or copied from somewhere else in the text to a new spot, then use the select text procedure to place the desired section of text into the buffer. To copy the text into the buffer, press ^k, and then ^u to restore the text to its original site. Then move to the new site and press ^u again to copy the text into its new location. For moving text from one site to another, just don't restore the text to its original location prior to moving over to the new one.

6) Using the Editor, Pico

Editing on ribozyme is different than doing text editing with a personal computer. The pico editor is not as versatile as many of the simplest PC text editors. It is mainly a straight ascii editor with no special fonts or highlighting possible. This is due to the nature of the terminals it is used with. Accept these limitations and don't plan to use it to produce items for publication. It is still a good editor with usable features. A copy of the pico help file is included at the end of this exercise for reference.

Editing is a necessary skill to have on a computer regardless of the software you use. By being able to create text files, you can more effectively control computing activities, use a greater variety of software, modify output files and communicate with others.

To activate this utility, enter the term pico followed by the name of the file to be worked on. Use the filename change.txt for this first use of pico.

% pico change.txt

Since the file didn't exist before, you will get the message at the bottom of the screen stating [New File].

The cursor will flash at the top of an empty screen awaiting the entry of text. Just start entering your text. Make this a note to anyone you please. Refer back to the editing information in the previous section of this week's exercise for assistance in the various aspects of editing, such as moving blocks of text, deleting characters, etc. When finished with the note, press ^x. The program will prompt you about saving the modified buffer, respond by entering y. Pico will check with you about the name of the file. If you still want to keep the name listed there, just press the ENTER key and the file will be saved under the filename change.txt.

Look at your newly created text file by typing it off on the screen. This is a good way to check for errors that weren't obvious when creating the file.

% cat change.txt

Now revise the file, insert additional text, correct spelling mistakes, whatever. Pico reacts differently with a file that already exists compared to one that didn't. This time it will tell you the number of lines contained in the change.txt file at the bottom of the screen.

% pico change.txt

The cursor will be on the first line of your text waiting to be moved throughout the text to make modifications.

Use the cursor control keys or global movement keys to move through the text, and change it as you need or just enter more text. You will exit the program by the procedure given previously when you first edited the change.txt file. Not saving the modified buffer will leave the file as it was originally just in case you want to abort a disastrous editing session.

Editing is a very important part of being able to effectively do computing tasks. Therefore, some more practice with the technique is called for. You will edit a series of files to practice and develop your editing skills. First copy these files over into your present location in your account.

% cp $UGRAD_DIR/week2/* .

Do a directory listing to see just how many files you are to work with. One of these files is to be included within one of the other files and a second one is the report form for this week's activities. You therefore have a collection of six files with which to develop your editing skills (practice1.txt through practice6.txt). Follow the instructions at the top of each file.

% pico practice1.txt

After you have finished a given file, rename (mv) it to reflect your own lastname and then rcp it over to the teacher account for evaluation. Be sure to add the number of the practice file to the end of the file name. Otherwise your files will just overwrite one another and instead of six files there will be only one in the teacher account when you are finished. Use the following examples to help in this task.

% mv practice1.txt (your lastname).txt1

% rcp (your lastname).txt1 teacher@ribozyme:receive

Go through this process until you have worked on all six of the practice files and sent them off to the teacher account.

Computing is generally taken quite seriously. When you are just starting out using the computer everything is new and confusing. Relax and do something for fun. Enter the following command lines. The first one copies over a file, and the second one shows you its contents.

% cp $UGRAD_DIR/data/humor.txt .

% cat humor.txt

See, not all computing is meant to be taken seriously. After all there are games and bulletin boards on computers too.

Rename the report form to have your last name, go into the file and use the editor, pico, to fill the first 4 questions in the report form.

% mv week2.week2 (your lastname).week2

% pico (your lastname).week2

Now log off of ribozyme and get back to the overlapping windows screen.

% logout

You are no longer on ribozyme, but you are still in the emulator program. Press the alt and x keys together. This will cause the screen to ask if you really want to exit the program. Respond with y to get you out of the teemtalk emulator and returned to the overlapping windows screen.

Look at the screen. Notice the Netscape icon in the Net Group window. Netscape is one of the programs that uses the mouse of the AT&T machines to select menu options. This mouse has three buttons. You will normally use the left mouse button, it depends on the software. Try to keep the mouse on the mouse pad.

Use your mouse to move to the Netscape icon (the large N) with the arrow and press the left mouse button twice. The arrow changes to an hourglass while the connection is made to the VADMS home page. This home page is still under construction, but nevertheless contains valuable information . In the future it will serve as the main information source for the VADMS Center and its activities. Use the mouse to move the cursor over to the right-hand side of the window and the sliding scroll bar area. Click on the lower right-hand down arrow to scroll down the page.

Items actually containing information are noted by a blue ball, those with none, a white one. Read through the information given there. Record below the number of times the page has been accessed when you reached the site.

number of times accessed: ________________________________________________________

Use the mouse to select the Software information subject. The arrow turns into a hand, the color of the selected subject turns red and then either a menu appears with the Open this Link option highlighted or you are moved over to the new page. The color of the subject line depends on whether it was recently visited by someone else. It will be purple if visited lately, otherwise it will be blue. The Software information page is then loaded and displayed on the screen.

VADMS supports a number of different types of computing activities. The one most heavily used is that of sequence analysis, especially the GCG software suite. Explore what is available online about this software package by selecting the GCG Documentation and Information topic. Move down the page until you reach the heading, GCG's Own Web Page. Select this topic and move over the site. From this page select the heading Program Enhancements in Version 9 and check out the status of the PAUP software (PaupSearch or PaupDisplay) in the next release. (Hint - scroll down the page.) Record on the next page the status of the PAUP in release 9.

PAUP programs status in release 9: ____________________________________________

After getting this piece of information, use the arrow to select the Home button from the top row of program buttons. This will return you to the VADMS home page. To exit the Netscape program select the File option from the top of the screen and select its Exit option. This will return you to the machine's overlapping windows screen.

With your information gathered from the VADMS web site, log back into ribozyme. Move to the sub-directory for week 2 and then finish filling out the report form for this week's activities. Refer back to the instructions given earlier in the exercise to carry out these tasks. Once the form is filled out, rcp it to the teacher account.

% rcp (your lastname).week2 teacher@ribozyme:receive

This concludes your computing session for this week. Now log off of the computer by entering the command line given below.

% logout

You are no longer on ribozyme, but you are still in the emulator program. Press the alt and x keys together. This will cause the screen to ask if you really want to exit the program. Respond with y to get you out of the teemtalk emulator and returned to the overlapping windows screen.

A copy of the pine help file and a Basic Unix for Beginners guide are included at the end of this exercise.

        Pico Help Text

        Pico is designed to be a simple, easy-to-use text editor with a
        layout very similar to the pine mailer.  The status line at the
        top of the display shows pico's version, the current file being
        edited and whether or not there are outstanding modifications
        that have not been saved.  The third line from the bottom is used
        to report informational messages and for additional command input.
        The bottom two lines list the available editing commands.

        Each character typed is automatically inserted into the buffer
        at the current cursor position.  Editing commands and cursor
        movement (besides arrow keys) are given to pico by typing
        special control-key sequences.  A caret, '^', is used to denote
        the control key, sometimes marked "CTRL", so the CTRL-q key
        combination is written as ^Q.

        The following functions are available in pico (where applicable,
        corresponding function key commands are in parentheses).


        The following functions are available in pico (where applicable,
        corresponding function key commands are in parentheses).

        ^G (F1)   Display this help text.

        ^F        move Forward a character.
        ^B        move Backward a character.
        ^P        move to the Previous line.
        ^N        move to the Next line.
        ^A        move to the beginning of the current line.
        ^E        move to the End of the current line.
        ^V (F8)   move forward a page of text.
        ^Y (F7)   move backward a page of text.

        ^W (F6)   Search for (where is) text, neglecting case.
        ^L        Refresh the display.

        ^D        Delete the character at the cursor position.
        ^^        Mark cursor position as beginning of selected text.
                  Note: Setting mark when already set unselects text.
        ^K (F9)   Cut selected text (displayed in inverse characters).
                  Note: The selected text's boundary on the cursor side
                        ends at the left edge of the cursor.  So, with
                        selected text to the left of the cursor, the
                        character under the cursor is not selected.
        ^U (F10)  Uncut (paste) last cut text inserting it at the
                  current cursor position.
        ^I        Insert a tab at the current cursor position.

        ^J (F4)   Format (justify) the current paragraph.
                  Note: paragraphs delimited by blank lines or indentation.
        ^T (F12)  To invoke the spelling checker
        ^C (F11)  Report current cursor position

        ^R (F5)   Insert an external file at the current cursor position.
        ^O (F3)   Output the current buffer to a file, saving it.
        ^X (F2)   Exit pico, saving buffer.

Pine and Pico are trademarks of the University of Washington. No commercial use of these trademarks may be made without prior written permission of the University of Washington.

Basic Unix for Beginners

An introduction and cheat sheet graciously stolen from the Internet and modified for VADMS use. I am indebted to the countless, but unnamed, contributors to this summary -- I apologize for my lack of credit giving and flagrant copyright infringement. Hundreds of local users are forever grateful; thank you. Steve Thompson, July, 1995.

GENERAL INTERFACE ISSUES

UNIX is an Operating System developed in the USA, originally by BELL, then licensed to AT&T. WSU campus access is provided via the WSUnet, and appropriate software connects local computers to the VADMS UNIX host given the Internet name ribozyme.vadms.wsu.edu. The software used is some variation of TELNET, a public domain program used to access remote hosts via Ethernet. Follow the appropriate instructions for your system to access ribozyme from your site.

UNIX is a line-oriented system. Each command to the operating system is terminated by the `return' or `enter' key. UNIX uses the ASCII character set and unlike many operating systems, it supports both upper and lower case. The disadvantage of using both upper and lower case is that commands and file names must be typed in the correct case. Most of the UNIX commands and file names are in lower case. UNIX command options are specified by a required space and the hyphen character ( -). UNIX does not use or directly support function keys. Special functions are generally invoked using the `Control' key. For example a running command can be aborted by pressing the `Control' key (sometimes labeled "CTRL" or "^") and the letter c. The short form for this is generally CTRL-C or ^C. Using control keys instead of special function keys is sometimes difficult for users to remember at times. The advantage of using control keys for special commands is that nearly every terminal and terminal program supports the control key allowing UNIX to be used from a wide variety of different terminals.

UNIX FILE SYSTEM & SHORT TUTORIAL

Throughout this document the UNIX user interface has been characterized as less friendly than many other operating systems. However in the area of file systems, UNIX is quite straightforward. UNIX is the precursor of many of the tree structured file systems of today including MS-DOS and Macintosh. These file systems all consist of a tree of directories and sub-directories. Commands (or mouse clicks) exist which allow you to move about the directory structure. These commands are generally quite similar between systems. In UNIX these commands are as follows:

	cd or chdir - change directory
	pwd - print working directory
	mkdir - make a new directory
	ls - list the contents of the directory

In any tree structured file system the concept of where you are at in the tree is very important. There are two types of file references. You can refer to a file relative to the current directory or refer to a file by its complete name. When the complete name of a file is given the current position in the directory tree is ignored. When a user logs in to the system, they are placed into their "home directory," a portion of the disk space reserved just for them and designated from anywhere in the system by the character string `$HOME.' Note that the password is not displayed on the screen as you enter it.

UNIX checks the username and password you typed, and if correct, will run the shell program for you and return the system prompt. On the VADMS UNIX system the prompt appears as the name of the machine, ribozyme, followed by a numeral, indicating its position in the command line history list, and the percent sign (%). The shell program is your interface to the system. It interprets and executes your commands. On ribozyme the alternative C shell `tcsh' has been installed as default to allow arrow key command recall and editing features. When an account is created, the home directory is created and associated with the account. To find the complete path to your home directory simply type `pwd' after you log in:

	login: example
	Password:

	ribozyme 1% pwd
	/disk4/usr/local/people/example

To list the files in your home directory, you use the `ls' command. There are many options to the ls command which you can look at by typing `man ls'. The most useful options are the `-l' option and the `-a' options. The command `ls -l' will list the files and directories in your current directory in the "long" form with extended information. A UNIX convention is that files with a period as the first character in their name are not listed by the ls command unless the `-a' "all" option is given. This convention has lead to a number of special configuration files having periods as the first character in their name. In general you do not want to mess with these files in your account until you are very comfortable with the operating system. Examples of these types of files in the VADMS system include the files .login, .cshrc, .gopherrc, and .pinerc. You may also create files beginning with a period if you do not want them to show up in a normal ls command. The following are several examples of the ls command:

	ribozyme 2% ls
	fileone.txt    two.txt    proj1

	ribozyme 3% ls -l
	-rw-------  1 example     10028 Sep 26 11:00 fileone.txt
	-rw-rw----  1 example       281 Oct  5 14:21 two.txt
	drwx------  2 example       638 Aug 21 17:27 proj1

	ribozyme 4% ls -a
	.    ..    .login      .cshrc    fileone.txt    two.txt    proj1

In the output from `ls -l' additional information regarding the file permissions, owner of the file, size, modification date and file name is shown. In the output from `ls -a' the additional files `.login' and `.cshrc' are shown. Both of these files are executed when the user is logged in much like AUTOEXEC.BAT is executed when you turn on a DOS computer. The user can place commands in these files which can be used to customize each user's individual environment. Sub-directories are generally used to group files associated with one particular project or files of a particular type. For example, a person might store all of their memorandums in a directory called `memo'. The mkdir command is used to create directories and the chdir (or cd) command is used to move into directories. The special placeholder file `..' allows you to move back up the directory tree. Note that UNIX uses slashes `/' to differentiate subdirectories. The pwd command can be used to keep track of the current sub-directory.

	ribozyme 5% ls
	fileone.txt   two.txt    proj1

	ribozyme 6% mkdir memo

	ribozyme 7% ls
	fileone.txt   two.txt    proj1    memo

	ribozyme 8% ls -l
	-rw-------  1 example     10028 Sep 26 11:00 fileone.txt
	-rw-rw----  1 example       281 Oct  5 14:21 two.txt
	drwx------  2 example       638 Aug 21 17:27 proj1
	drwx------  2 example       638 Aug 22 14:47 memo

	ribozyme 9% pwd
	/disk4/usr/local/people/example

	ribozyme 10% cd proj1

	ribozyme 11% pwd
	/disk4/usr/local/people/example/proj1

	ribozyme 12% ls
	main.c     sub.c      a.out

	ribozyme 13% cat main.c
	- contents of main.c -

	ribozyme 14% cd ..


	ribozyme 15% pwd
	/disk4/usr/local/people/example

	ribozyme 16% cat /disk4/usr/local/people/example/proj1/main.c
	 - contents of main.c -

	ribozyme 17% cat proj1/main.c
	- contents of main.c -

	ribozyme 18% cat main.c
	main.c not found.

At the end of this example, the `cat' command is used to show the use of relative and absolute file names. The first cat command displays the contents of main.c in the sub-directory proj1 of user example's home directory. This reference is a relative reference because it does not start with the slash `/' character. The use of the cd command with two dots to go back up to the parent of the current directory is also shown. After the `cd ..' command pwd shows that we are "back" in the home directory. The next cat command shows the use of an absolute file name which starts with a slash. This cat succeeds because the file name is completely specified as the complete path name and the file name. The following command `cat proj1/main.c' also succeeds because relative to the home directory, the sub-directory and file name are correctly specified. The command `cat main.c' in the home directory does not find the file stored in the sub-directory. Other file system commands:

	rm - remove a file
	mv - rename a file or group of files
	cp - copy a file to another file or a set of files into a directory

YOUR LOGIN ENVIRONMENT

Nearly all operating systems have some way to customize your login environment with editable configuration files. On ribozyme there is a file which is executed for every login called `.login' and another one that sets up the `shell' environment called `.cshrc.' Please take a look at these files; once you are comfortable with the operating system you may choose to modify them in order to customize the manner in which your account interacts with the system. A common customization is to automatically activate GCG and EGCG upon login by adding the two commands `gcg' and `egcg,' one per line, at the bottom of your .login file.

GENERAL COMMAND SYNTAX

The general command syntax is a command followed by some options, and then some parameters. If a command reads input, the default input for the command will generally come from the interactive terminal. The output from a system level command (if any) will generally be printed out on the users terminal. The command syntax allows the input and outputs for a program to be redirected into a file or the output of one program can be passed as the input to another program. General command syntax is as follows:

	cmd
	cmd -options
	cmd -options parameters

To cause the command to read from a file rather than the terminal, the < sign is used on the command line; use the > sign to cause the program to write its output to a file (for those prgrams that do not do this by default):

	cmd -options parameters < input 
	cmd -options parameters > output
	cmd -options parameters < input > output

To cause the output from one program to be passed to another program as input a vertical bar (|), known as the "pipe," is used.

	cmd -options parameters | cmd2

This feature is called "piping" the output of one program into the input of another. Some useful examples of command redirection and piping are shown below with the ls command and the more command which allows paging through directory listings:

     ls -la | more
     ls -la /etc > tmpout
     more < tmpout

THE USE OF WILDCARDS AS FILE PARAMETERS

Generally when a UNIX command expects a file name, such as the command, `more filename', it is possible to specify a group of files using one or more wild card expressions. The special characters which cause wild card searching to be performed are as follows:

	*	Matches any string of characters zero or longer
	?	Matches any single character

The following are some examples of commands using wild card characters:

     more dat*
     more d?t
     more ???crs
     more */*.c
     more */raisememo

The second to last example will find all files ending in `.c' in all sub-directories below the current directory and display those files one page at a time to your terminal screen, pausing between each file. The last example will display all files named raisememo in all sub-directories below your current directory.

A very useful command which allows searching through many files for a pattern is the grep command. The first parameter to grep is a search pattern. If no files are specified, grep will scan its "standard input" for lines containing the pattern and write them to "standard output," i.e. your terminal screen. You may also specify a list of file names on the grep command. For example if you had a bunch of different C programs in several sub-directories and wanted to find the one which called the fopen subroutine, you could use the following command:

     grep fopen */*.c

Wild cards are very flexible in UNIX which makes them very powerful but you must also be extremely careful when using them in potentially destructive commands such as rm (remove file).

IMPORTANT UNIX COMMANDS AND KEYSTROKES

Important conventions used in UNIX:

	< . >		Current working directory.
	< .. >		Parent directory of current working directory.
	< ~ >		User's home directory (C shell only, also see $HOME).
	< & >		Execute the specified command in another process.

Commands to get information about the operating system:

	man ls		Gets you a manual page on the ls command.
	man -k batch	Gets you the title lines for every command with the word 
			batch in the title.

Command to change your password:

	passwd		Change your login password

Looking at the system, other users, your login sessions, jobs which you are running, and command execution:

	uptime		Shows the time since the system was last rebooted.  Also 
			shows the "load average".  Load average indicates the 
			number of jobs in  the system ready to run.  The higher 
			the load average the slower the system will run.
	who		Shows who is logged on to the system.
	w		Shows who is logged in to the system doing what.
	top		Shows the most active processes on the entire machine 
			and the portion of CPU cycles assigned to running processes.  
			Press "q" to quit from top.
	finger		Gets information about a user or machine.
	ps		Shows your current processes and their status (running, 
			sleeping, idle, terminated, etc.); (ps -a shows all jobs).
	at		Submit script to the at queue for execution later.
	bg		Resumes a suspended job in background mode.
	fg		Brings a background job back into interactive mode.

The following commands affect the file system and access files. The basic file commands:

	cat file	Shows the contents of a file at your terminal screen.  Also 
			used to concatenate files (cat file1 file2 > outfile).
	more file	Shows the contents of your file at the terminal pausing to 
			allow you to press space to continue.
			Type a ? when the scrolling stops for viewing options 
			(less also available; it is more powerful than more).
	pico file	A text editor provided in the pine mailer; appropriate for 
			general text editing (vi also available as default UNIX 
			text editor).
	head file	Shows the first few lines of a file.
	tail file	Show the last few lines of a file.
	grep ptrn file	Show the lines in the file which contain the specified 
			pattern.  
	wc file		Counts the number of characters, words, and lines in 
			a file.
	cp file1 file2	Copies file1 to file2.  Any previous contents of file2 are
			lost.
	mv file1 file2	Renames (moves) file1 to file2.  Any previous contents of 
			file2 are lost.
	mv file dir	Moves the specified file  into  the specified directory keeping 
			the original file name.
	rm file	Deletes (removes) a file.  It is unrecoverable!
	chmod perm	Changes the permissions of a file.  See man chmod for details.
	lpr file	Prints the specified file on the default printer.

Directory commands:

	pwd		Print Working Directory.  Shows you where you are at in the 
			file system.  Very useful when you get confused.
	ls		Shows (lists) your files' names.
	ls -l		Shows your files' names in extended (long) format including 
			file size, ownership, and permissions.
	ls -al		Shows all of your files including the system files (.files) 
			in your account in the long format.
	mkdir dir	Makes a new directory in your current directory.
	rmdir dir	Removes a sub-directory from your current directory.  Directory
			must be empty to remove the directory.
	rm -r dir	Removes all the files, and subdirectories of a directory 
			and then removes the directory.  Very convenient, useful 
			and dangerous.
	cd		Move back into your home directory from anywhere.
	cd dir		Move into a directory from your current directory.

Usually it is best to leave programs using the quit or exit commands, however, occasionally it is necessary to terminate a running program. Here are some useful commands for doing this. Commands for bailing out of programs:

	<Ctrl c>	Aborts a running process (program) without the option of 
			restarting it later.
	<Ctrl d>	Terminates a UNIX shell, i.e. exit present control level 
			and close the file.  Use `logout' to exit from your top 
			level login shell; only works at the system prompt.
	<Ctrl z>	Pauses (suspends) a running process and returns the user to the
			system prompt.  The program can be restarted by typing `fg' 
			(foreground).  If you type `bg' (background) the job will 
			also be started again, but in background mode.
	kill psid	Kills a process with the given process ID.  This number is 
			obtained using variations of the ps command.

The following commands provide simple access to some of the networking capabilities of UNIX (host refers to a computer's fully qualified Internet name, e.g. ribozyme.vadms.wsu.edu):

	ftp host	Files Transfer Protocol.  Allows a limited set of commands 
			(dir cd put get etc.); help gives help
	telnet host	Connects to another ethernet connected host.
	pine		E-mail access and use.
	talk user	Allows you to have an on-line full screen dialog with another 
			user on the system.  Talk may also be able to talk between 
			systems.  The form talk user@host is used in these cases.

Most commands have on-line documentation available through the man pages.

GCG SPECIFIC INSTRUCTIONS

As with UNIX's command language, the general structure of a GCG command is:

   command -QUALifier -QUALifier=Parameter Parameter

Command names must be typed either in full or with site specific aliases -- generalized abbreviation does not work -- and all in lower case. Refer to the listing of VADMS specific aliases at the end of this document. In addition, qualifiers are indicated with a required space and a `-' (hyphen). Qualified parameters are indicated by an `=' and spaces are not accepted between a qualifier and its parameter(s). The case of unqualified parameters can vary, as well as that of the qualifier itself, but if the unqualified parameter is a file name, you must enter the file name in the exact case shown in your directory listing. GCG qualifiers can be abbreviated down to the minimum number of characters indicated by upper case in their documentation. An example of the mapplot command using UNIX syntax is:

   mapplot -CIRcular -OUTfile=pbr322.mapplot Gb:Synpbr322

The GCG commands `up,' `down,' `over,' and `home,' can be used to move about your directory structure in lieu of the UNIX command `cd.'

Certain printing (non-control) characters have special meaning to the UNIX shell (see % man csh for more information). These characters, called shell metacharacters, are important in your UNIX environment. You rarely type shell metacharacters on the command line because they are punctuation characters. However, if you need to use them for some reason, you must precede them with a `\' (backslash) character or enclose them in `'` (single quotes). The `*' (asterisk) , `?' (question mark), and `~' (tilde) characters are used for the shell file name "globbing" facility. When the shell encounters a command-line word with a leading `~', `*' or `?' anywhere on the command line, it attempts to expand that word to a list of matching file names as follows: A leading `~' expands to the home directory of a particular user. Each `*' is interpreted as a specification for zero or more of any character. Each `?' is interpreted as a specification for exactly one of any character. For example, the pattern `dog*' will find matches for, among others, files named `dog', `dogg', and `doggy'. The pattern `dog?' matches, among others, `dogg' but not `dog' or `doggy'. It is an error to use a globbing character in the absence of any matching files. Because `*' and `?' are frequently used characters for specifying families of database entries, GCG provides an alias for each GCG command that disables globbing. Therefore, you can use these characters on your command line when invoking GCG programs.

VADMS HYBROW MENUING INTERFACE: SEQTOOL

Now that you understand the basic commands and file handling of the UNIX operating system, you may wish to take advantage of a menu interface that VADMS has provided on ribozyme. This system is modified from Dr. Tin-Wee Tan's HYBROW browser (see Copyright information once utility is launched). It provides access to all of VADMS sequence analysis functions through a gopher-like, character-based, menu interface. This interface does NOT require X-Windows, unlike GCG's new Graphic User Interface WPI, which you are also more than welcome to use, if you have X Windowing capability. Launch the menu with the command `seqtool.' The most important commands are listed on the opening screen: `q' to quit any command level, `?' for help screens, and the arrow keys to move forward, backward, up, and down the screens. In particular, the left arrow key moves you back to the previous menu. Be sure to start GCG and EGCG before launching seqtool if you wish to use them within the menu interface. A directory browser enables file selection, renaming, deletion, copying and editing functions from within seqtool.

CONCLUSION

This document is intended to give you some perspective on the UNIX system and guide you toward learning more about it. UNIX is not the easiest computer operating system to learn. Have patience, ask questions, and don't get down on yourself just because it doesn't seem as easy as some other computer operating systems. The power and flexibility of UNIX is worth the extra effort. UNIX is becoming the defacto standard operating system in more and more computing environments today, so the effort will not be wasted.

Aliases and logical terms are tabulated below and on the following page to ease your use of the VADMS sequence analysis resources.

VADMS Site Specific Alias List

-- Operating System Commands:
----------------------------------------------------------------------------------
Alias          Program Name              Alias          Program Name              
----------------------------------------------------------------------------------
dir            ls                        del                'rm-i'             
----------------------------------------------------------------------------------
type           cat                       copy           cp                        
----------------------------------------------------------------------------------
ren            mv                                                                 
----------------------------------------------------------------------------------

-- GCG Commands:

----------------------------------------------------------------------------------
Alias          Program Name              Alias          Program Name              
----------------------------------------------------------------------------------
assem          assemble                  isoel          isoelectric               
----------------------------------------------------------------------------------
bactra         backtranslate             listf          listfile                  
----------------------------------------------------------------------------------
best           bestfit                   mappl          mapplot                   
----------------------------------------------------------------------------------
codonf         codonfrequency            mapso          mapsort                   
----------------------------------------------------------------------------------
codonp         codonpreference           noplotch       noplotcheck               
----------------------------------------------------------------------------------
comch          comcheck                  noprote        noprotection              
----------------------------------------------------------------------------------
comp           compare                   ov             over                      
----------------------------------------------------------------------------------
compos         composition               peptides       peptidesort               
----------------------------------------------------------------------------------
corr           correspond                peptidest      peptidestructure          
----------------------------------------------------------------------------------
dist           distances                 plasmid        plasmidmap                
----------------------------------------------------------------------------------
diver          diverge                   plotm          plotmetafile              
----------------------------------------------------------------------------------
do             down                      plotsim        plotsimilarity            
----------------------------------------------------------------------------------
extr           extractpeptide            plotstruc      plotstructure             
----------------------------------------------------------------------------------
fig            figure                    plotst         plotstucture              
----------------------------------------------------------------------------------
filec          filecheck                 pret           pretty                    
----------------------------------------------------------------------------------
fingerpr       fingerprint               profilem       profilemake               
----------------------------------------------------------------------------------
fitcon         fitconsensus              profilesc      profilescan               
----------------------------------------------------------------------------------
fromgenb       fromgenbank               profilesea     profilesearch             
----------------------------------------------------------------------------------
gaps           gapshow                   profileseg     profilesegments           
----------------------------------------------------------------------------------
gelass         gelassemble               pub            publish                   
----------------------------------------------------------------------------------
geldisass      geldisassemble            re             reformat                  
----------------------------------------------------------------------------------
geldis         geldisassemble            seq            seqed                     
----------------------------------------------------------------------------------
gele           gelenter                  seqform        seqformat                 
----------------------------------------------------------------------------------
gelo           geloverlap                segm           segments                  
----------------------------------------------------------------------------------
gels           gelstart                  setk           setkeys                   
----------------------------------------------------------------------------------
gelshow        `gelview - | more'        shuf           shuffle                   
----------------------------------------------------------------------------------
gelv           gelview                   simpl          simplify                  
----------------------------------------------------------------------------------
genman         genmanual                 statp          statplot                  
----------------------------------------------------------------------------------
growt          growtree                  steml          stemloop                  
----------------------------------------------------------------------------------
helic          helicalwheel              testc          testcode                  
----------------------------------------------------------------------------------
iso            isoelectric               word           wordsearch                
----------------------------------------------------------------------------------