Brought to you by molecularsciences.org.
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
This publication may not be redistributed without this notice.

Unclassified Articles

This section contains a list of unclassified articles.

Changing Mac OS Keyboard

1. Click on the Apple logo and select "System Preferences"
2. Click on "International" icon on "System Preferences" window.
3. Click on "Input Menu"
4. Make sure that "Show input menu in menu bar" is checked.
5. Make sure the "Keyboard Viewer" is set to viewable.
6. Select the languages you desire
7. Close the window
8. Use the flag icon on the top left to set the keyboard layout

Dual Monitors on Ubuntu

I recently hooked my laptop to two monitors. Ubuntu successfully detected both monitors but the second monitor was a mirror image of the first instead of an extension. I peeked around on Ubuntu Forums and Google. There was much talk about installing drivers such as Xinerama, Twin View, MergedFB, BigDesktop, etc. Numerous frustrated posts.

To my frustration, none of the drivers worked and I decided to do a clean install of Ubuntu 8.10. Then I simply went into System > Preferences > Monitors and unchecked the option "Same image on all monitors". You can also drag around the desktops to fit your needs, set different resolutions, etc.

This simple solution worked perfectly for me. My advice, try this before you attempt to change display drivers.

FTP text editor for Linux

SSH is the best solution for editing files on a remote server. It is however common for many web hosts to offer FTP access only or SSH access for an additional price. In these circumstances an FTP text editor can make you life less frustrating. A really good FTP text editor on Linux is IglooFTP.

To download IglooFTP, Go to http://iglooftp.com/linux/download.html. Download the tar.gz file.

$ tar xzvf IglooFTP
$ cd IglooFTP
$ sudo
$ ./Install

To run

$ IglooFTP-PRO

How to enable user sign-up in Moodle

Author: Ayesha Saeed Khan

* Go to the left side menu
* Select authentication
* Click manage authentication
* Enable ‘email-based self registration’ option from there
* Save changes

Immune System

Harmful invaders such as bacteria, viruses, fungi and parasites are collectively called pathogens. Invertebrates use relatively simple defense strategies that rely chiefly on protective barriers, toxic molecules, and phagocytic cells that ingest and destroy invading organisms. This is called the innate immune response. Vertebrates can also mount more sophisticated defenses, called adaptive immune response. The function of adaptive immune responses is to destroy invading pathogens and any toxic molecules they produce.

An antigen is any substance that elicits an immune response, from a virus to a sliver.

The immune system has a series of dual natures, the most important of which is self/non-self recognition. The others are: general/specific, natural/adaptive = innate/acquired, cell-mediated/humoral, active/passive, primary/secondary. Parts of the immune system are antigen-specific (they recognize and act against particular antigens), systemic (not confined to the initial infection site, but work throughout the body), and have memory (recognize and mount an even stronger attack to the same antigen the next time). [1]

Adaptive immune responses are carried out by white blood cells called lymphocytes. There are two broad categories of responses:

1. Humoral (antibody) responses: carried out by B cells
2. Cell-mediated immune responses: carried out by T cells

In humoral response, B cells are activated to secrete antibodies, which are proteins called immunoglobulins. Antibodies circulate and bind specifically to pathogens, thereby inactivating them. Binding also marks the pathogen for destruction by phagocytic cells of the innate immune system. The specific affinity of an antibody is not for the entire macromolecular antigen but for a particular site on the antigen called the epitope or antigenic determinant.

In cell-mediated immune responses, killer T cells kill cells that display foreign motifs on their surfaces. Helper T cells contribute to both humoral and cellular immune responses by stimulating the differentiation and proliferation of appropriate B cells and killer T cells.

The immune system links genes in a combinatorial manner to produce distinct protein-encoding genes not present in the genome.

Antibodies possess distinct antigen-binding and effector units

Antibodies are composed of antigen binding components Fab and Fc which does not bind antigen but is responsible for effector functions. The antibody IgG molecule consists of two kinds of polypeptide chains, light chain (L) and heavy chain (H). Each L chain is linked to an H chain by a disulfide bond, and the H chains are linked to each other by at least one disulfide bonds. The IgG molecule is shaped like an L where Fc is the stem. Segmental flexibility allows two antigen binding sites to adopt a range of orientations. One IgG molecule can bind to multiple antigens.

IgA - present in external secretions such as saliva
IgE - protection against parasites

Each of the five classes of immunoglobulins has the same light chain but a different heavy chain.

Complementarity determining loops (CDRs) are hypervariable loops present at the end of the structure. Variation of amino acid sequences of these loops provides major mechanism for the generation of vastly diverse set of antibodies. Combinatorial variation of the 3 VL and 3 VH enables construction of a very large number of binding sites.

Numerous hydrogen bonds, electrostatic interactions, and van der Waals forces, reinforced by hydrophobic interactions combine to give specific and strong binding.

Diversity is generating by gene rearrangements
We have seen that antibody specificity is determined by the amino acid sequences of the variable regions of both light and heavy chains. This variability is the result of immunoglobulin genes being rearranged in the differentiation of lymphocytes.

Lymphocytes

There are about 1012 lymphocytes and 108 distinct antibodies in a human body. Each lymphocyte is committed to respond to a specific antigen. Lymphocytes are required for adaptive immune system. Innate immune system relies on pattern recognition receptors. The antigens are either destroyed, delivered to lysosomes, attached to cell membranes to activate cell signal pathways, or delivered to a lymph node to initiate an adaptive immune response through contact with T cells. Once activated, T cells either migrate to the site of infection to help macrophages or stay behind to help B cells. Innate system is activated at the site of infection. Adaptive system is activated in perphiral lymphoid organs. Both innate and adaptive immune systems work together.

B lymphocytes develop in the bone marrow and T lymphocytes develop in the thymus. T and B cells become morphologically distinguishable only after they have been activated by the antigen. Killer T cells kill infected cells. Helper T cells help activate macrophages, B cells, and killer T cells. Upon activation, the adaptive immune system releases various lymphocytes which proliferate and differentiate selectively stimulated by antigen binding specificity.

Most antigens result in polyclonal responses, meaning that various antibodies with bind with different specificities are produced. In a monoclonal response, only one antibody is produced.

The adaptive immune system can remember prior experiences, thus providing lifelong immunity to common infectious diseases. The primary immune response occurs when the an animal is first exposed to an antigen. Secondary immune response occurs if the same antigen reappears after an extended period of time. This time the lag period is longer but the response is greater.

When naïve cells encounter an antigen cells for the first time, some of them are stimulated to proliferate and differentiate into effector cells which actively engage in making a response. Some naïve cells, however, become memory cells. Memory cells do not engage in a response but are induced into effector cells more easily. Upon a second encounter with the same antigen, the memory cells would either give rise to either effector cells or more memory cells. Memory cells can live for the lifetime of the organism.

Sources

[1] http://uhaweb.hartford.edu/BUGL/immune.htm
[2] Molecular biology of the cell, 4th edition
[3] Biochemistry, 5th edition, by Stryer et al.

Installing and Configuring AWStats on Linux

AWStats is short for Advanced Web Statistics. It is powerful log analyzer which creates advanced web, ftp, mail and streaming server statistics reports from server logs in graphical and easy to read formats. AWStats is a free software distributed under the GNU General Public License. It works from the command line as well as a CGI.

AWStats Requirements

- Perl 5.0.2 or above
- Server must log files in a log file you can read
- System must be able to run perl scripts

Downloading AWStats

AWStats can be downloaded from http://awstats.sourceforge.net/#DOWNLOAD. Get the last stable version. At the time of this writing, the last stable version is:

awstats-6.7.tar.gz

It is a good idea to all your downloads in one place. Download awstats to your download folder.

$ cd /usr/local/src/
$ wget http://prdownloads.sourceforge.net/awstats/awstats-6.7.tar.gz

Installing AWStats

You need root access to install awstats. Unzip the downloaded file.

$ tar -xzvf awstats-6.7.tar.gz

AWStats recommends installing the software at /usr/local/awstats, although you can install it anywhere you desire. Many choose to install it at web root but I prefer the default configuration.

$ mkdir /usr/local/awstats
$ mv awstats-6.7/* /usr/local/awstats

I recommend that you create a README.TXT file inside awstats-6.7 and log all the details as you install the software. For example:

1. awstats installed at /usr/local/awstats as recommended by awstats
2. awstats variable stored at /var/lib/awstats
3. ...

This would help you avoid frustration in the future.

AWStats edits Apache httpd config file so it is a good idea to back up this file before going further. While you are at it, why not back up all httpd config files.

$ locate httpd.conf
$ cp /etc/httpd/conf/httpd.conf /home/user/backup/apache
$ cp -r /etc/httpd/conf.d/*.conf /home/user/backup/apache

Configuring AWStats using awstats_configure.pl

AWStats comes with a configuration script, awstats_configure.pl, which configures awstats automatically. Depending on the configuration of your server, the script may or may not get the job done. Therefore, both automatic and manual configuration are covered here. Before running this script, note the address of your httpd.conf file.

$ locate httpd.conf
Note this address
$ mkdir /etc/awstats
The awstats.mole.conf file would be stored here.
$ perl /usr/local/awstats/tools/awstats_configure.pl
> /etc/httpd/conf/httpd.conf
> y
> mole  (name of your site instead of mole)
> [enter]
note the cron message before hitting enter to finish
The following if you are following my configuration
/usr/local/awstats/tools/awstats_updateall.pl now
/perl awstats.pl -update -config-mole
http://localhost/awstats/awstats.pl?config=mole

If awstats_configure.pl is successful, it would restart Apache. If it doesn't, start by checking your SeLinux log if you have SeLinux installed and active.

$ locate audit.log
$ tail /var/log/audit/audit.log

Configuring AWStats Manually

If you don't have SeLinux and the script did not succeed, you would have to configure the awstats manually.

Edit the httpd.conf

  1. search for awstats in the file and comment out all instances with # sign
  2. Change CustomLog from common to combined. Note the log file address. This would be needed later. Something like logs/access_log.
  3. Search for the comment 'Load config files'. Under this comment add Include conf.d/*.conf. This includes external configuration files. Its a cleaner way of managing your configurations.
  4. At /etc/httpd/conf.d, create a file called awstats.conf. Add the following code to it.
    Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
    Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
    Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
    ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
    #
    # To permit URL access to files in awstats folder
    #
    <Directory "/usr/local/awstats/wwwroot/">
    Options Name
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    

  5. Create a directory /var/lib/awstats and make it writable
  6. Edit /etc/awstats/awstats.mole.conf file. Set your log file to /var/log/httpd/access_log
  7. restart apache
    $ /sbin/service httpd restart
    

  8. In your browser type http://localhost/awstats/awstats.pl?config=mole. You should see your web statistics page.
  9. To update stats,
    $ /usr/local/awstats/tools/awstats_updateall.pl now
    

  10. If you don't see your icons, copy the icons folder to your web root. If you are using SeLinux:.
    $ ls -RZ icon/
    If you don't see something like httpd_sys_content_t, do the following:
    $ chcon -R -t httpd_sys_content_t icon
    

    If you are using SeLinux and the installation did not work. Restart from the beginning and check your SeLinux audit.log after each step.

Installing Apache, MySQL, PHP on Fedora the easy way

by Shahina Hayat & Sanea Sheikh

Generally, Apache, MySQL and PHP are installed automatically when you install Fedora 12 and select server during installation. If this is not the case, you can install these the following simple steps:

Installation
1. log in as root
2. yum –y install httpd php mysql mysql-server php-mysql

Starting the services
1. /sbin/chkconfig httpd on
2. /sbin/chkconfig – add mysqld
3. /sbin/chkconfig mysqld on
4. /sbin/service httpd start
5. /sbin/service/mysqld start

Setting MYSQL root password
mysqladmin -u root password 'new-password'

Check whether MYSQL is working
mysql -u root -p

Check whether PHP & Apache are working
Create a PHP script in a text document naming it phpinfo.php. W rite a following code in it

phpinfo();
?>

Open the following URL in your browser

http://localhost/phpinfo.php

Installing ClustalW on Linux

ClustalW can be downloaded from ftp://ftp.ebi.ac.uk/pub/software/clustalw2/. Choose the src version, something like clustalw-2.0.10-src.tar.gz.

  1. wget ftp://ftp.ebi.ac.uk/pub/software/clustalw2/2.0.10/clustalw-2.0.10-src.ta...
  2. tar xzvf clustalw-2.0.10-src.tar.gz
  3. cd clustalw-2.0.10
  4. ./configure
  5. make
  6. su
  7. make install
  8. clustalw2

The last line is to test whether clustalw is properly installed and running.

Installing Firefox 3 on Linux

I use Fedora 9 where you can install Firefox 2 using yum but Firefox 3 can be installing using yum only for Fedora 10. But nothing stops me from installing Firefox 3 manually.

Download Firefox 3 from http://www.firefox.com.

$ mv firefox-3.0.5.tar.bz2 /usr/local/bin/
$ cd /usr/local/bin/
$ bzcat firefox-3.0.5.tar.bz2 | tar xvf -

To run Firefox, type:

$ sh /usr/local/bin/firefox/firefox

To add this directory to the system path

$ export PATH=$PATH:/usr/local/bin/firefox

Now you can run Firefox by typing:

$ firefox

from any directory

To add firefox to the menu:

  1. System > Preferences > Look and Feel > Main Menu
  2. Choose a menu where you need to add Firefox
  3. Click on "New Item" and browse to /usr/local/bin/firefox/firefox

Installing MUSCLE on Linux

MUSCLE can be downloaded from http://www.drive5.com/muscle/download3.6.html. Currently, there are two versions, 3.6 and 3.7.

Instructions for installing MUSCLE 3.6:
First download the

$ wget http://www.drive5.com/muscle/downloads3.6/muscle3.6_linux_ia32.tar.gz
$ tar xzvf muscle3.6_linux_ia32.tar.gz
$ cd muscle
$ cp muscle /usr/local/bin

Instructions for installing MUSCLE 3.7:

$ wget http://www.drive5.com/muscle/downloads3.7/muscle3.7_src.tar.gz
$ tar xzvf muscle3.7_src.tar.gz
$ cd muscle
$ make
$ cp muscle /usr/local/bin

Perl CGI not running

If your Perl CGI is not running, look at the ScriptAlias settings in your httpd.conf. It defines which directories are allowed to run CGI scripts.

Problems installing canon scanners

Installing a scanner is quite simple but I ran into serious problems in more that one occasions. On every occasion, I saw blogs full of frustrated people so I decided to write a small summary as a sum of lessons learned from bad experiences. Use these guidelines only if you are having problems installing or running your scanner.

1. Uninstall all software/drivers associated with printers and scanners you had installed before, if you will no longer be using them.
2. Turn off your antivirus
3. Shut down all software concerning graphics and related to printers.
4. Kill all process concerning software updates
5. Go to Control Panel > System > Device Manager > Imaging Devices. Uninstall what you see.
5. Follows installation instructions provided by the device manufacturer. I mean follow it step by step and word by word.
6. Attach the USB device to your computer only if you are asked to do so by the installer or when the installation is complete and the computer has been restarted.
7. The first time you scan, the scanner calibrates the device. Make sure that you DO NOT have any document in your scanner at this time. Place your documents inside for scanning only when the calibration is complete.

If all this does not work, then delete entries from the registry. Caution, this is very risky and you should this only if you know how to fix a malfunctioning computer or if you are truly desperate.

1. Start > Run > type regedit > OK
2. Expand HKEY_CURRENT_USER > Software > Canon
3. Delete the folder Canon
4. Restart your computer

Reading command-line input in C

Following a program which echos whatever you type in the command line.

#include main(int argc, char *argv[]) { int i; for(i = 0; i < argc; i++) { printf("arg %d: %s\n", i, argv[i]); } return 0; }

argc is the count of the number of command-line arguments. argv is array of words. Each word is a string. So if you type:

myprogram.exe my input

argv[] would fill as follows:

argv[0] = myprogram.exe
argv[1] = my
argv[2] = input

The terms argc and argv are used by convention.

Reading from and Writing to Files in Java

Author: Zeeshan Fazal

Java provides a number of classes and methods that allow to read and write files. In Java all files are byte-oriented. Two of the most often-used stream classes are FileInputStream and FileOutputStream, which create byte streams linked to files.

  1. To open a file, simple create an object of one of the classes specifying the name of the file as an argument to the constructor.
  2. Use close() to close the file

FileInputStream (String fileName)
FileOutputStream (String fileName)

fileName specifies the name of the file that you want to open. After completing your file operations, you should close it by calling close(). It is defined by both FileInputStream and FileInputStream , as shown here:

void close() throws IOException

To read from a file, you can use a version of read() that is defined within FileInputStream, as shown here:

void close() throws IOException

Example of File Reading Code:

import java.io.*;

class Variables
{
	public static void main(String[] args) throws IOException
	{
		int i;
		
		FileInputStream fin;
		File file = new File("/home/linuxjunky/Documents/Protein1");	
			
		try {
			fin=new FileInputStream(file);
		} catch (FileNotFoundException e) {
			System.out.println("File Not Found");
			return;
		} catch (ArrayIndexOutOfBoundsException e) {
			System.out.println("Out of Bounds");
			return;
		}
		int j = 0;
		
		int L = (int) file.length();
		char[] Array = new char[L];
		System.out.println("Th Length of The Protein Is: " + L);
		do 
		{
			i = fin.read();
			
			if (i != -1)
			{	
				Array[j] = (char) i;
				System.out.print(Array[j++]);
			}
		} while(i != -1);
		fin.close();
	}
}

sed Tutorial

sed is an editor which can be used to modify files directly from the command line. It is a stream editor.

Substitution
Suppose you have a file called a.txt

$ cat a.txt
old
older
oldest

We wish to replace all instances of the word old with new.

$ sed s'/old/new/' <a.txt>b.txt
$ cat b.txt
new
newer
newest

File a.txt is copied to b.txt and all instances of the word old are replace with new.

Often it is a good idea to test your expression before actually implementing it. For example:

$ echo older | sed 's/old/new/'
newer

In this example, we tested the command s/old/new/ on the word older. As expected the result is the word newer.

The backslash character '\' is used to escape special characters. For example, and address data/input.txt would create confusion insides the substitution function s/// due to the extra slash. To remedy this you type data/input.txt as data\/input.txt.

The ampersand '&' character is refers to the matched string. For example:

$ echo boot | sed s'/[A-Za-z]*/&s/'
boots
$ echo king | sed s'/[A-Za-z]*/&s/'
kings

This code converts singular nouns to plurals by adding s. [A-Za-z] matches an English letter in both capital and small case. The * character means 1 or more. So we are matching a string with one or more English characters in either case. & refers to the matched word. &s suffixes an s to the matched word.

Text Web Browsers

Text web browsers only display text on web pages, ignoring all multimedia such as flash, images, video, etc.

Why would you use a text browser when there are graphical browsers? If you are a webmaster you would be interested in knowing how your page would look to Google and Yahoo! crawlers. This would help you in SEO (search engine optimization). If you are a researcher, you need access to journals and research papers. You can access them through your university or research institute as they have subscription but you cannot access these papers from you home or neighborhood coffee shop. To access these papers, you can log into your server using you terminal and use a text browser to access these papers.

In short, text browsers are not for common users.

Following is a brief list of text web browsers:

Edbrowse
Perl-based with an editor, browser and email client.

Elinks
Tabbed Text browser

Emacs/W3
Ideal for Emacs users

Links
Text and graphic browser with a pull-down menu system.

Lynx
Free text only web browser and Gopher client distributed by the Internet Software Consortium. Probably the best available.

w3m
Text-based web browser and a test formatting tool.

WebbIE
Web browser for visually-impaired and blind.

Ubuntu: could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

Error: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

Solution:
1. Open httpd.conf for editing

sudo vi /etc/apache2/httpd.conf

You might be surprised to see that the file is empty
2. type the following:

ServerName localhost

3. Save file and restart apache server

service apache2 restart

UMLeT - Easy to use UML editor

For beginners, I always recommend UMLeT. It is a simple GUI, easy to use tool. It allows users to easily create diagrams of different types by clicking, dragging, and typing. It also offers the possibility to export to pdf, jpg, etc. It does not have the more powerful features of many commercial software but it also does not have the steep learning curve and cryptic interfaces of such software.

To install UMLeT on Debian systems such as Ubuntu,
sudo apt-get install umlet
To use simply type umlet on the terminal

On Microsoft Windows, simply download the zip file from umlet.com. Unzip it and double-click on the umlet.jar file to run.

Using Mac on Commandline

To shutdown:

sudo shutdown -h now

To restart

sudo shutdown -r now

Warning: no newline at the end of the file

This is not a error, it is a warning which can get very annoying especially if you have many source files in your project. To get rid of this error, simple go to the last line of you code (usually the closing brace '}') and hit return.

What is an Executive Summary

An executive summary is a miniature version of a report, proposal, or portfolio. It is usually one page or shorter. It contain enough information for readers to be acquainted with the document without actually reading the entire document. Generally it contains:

- problem statement
- background information
- main points
- description of alternatives
- conclusion

An executive summary is an independent element rather than a part of a document body i.e. in the absence of the document, an executive summary would be sufficient for a reader to understand what sort of information the document would contain.

Executive summary is the most important part of a report and thus should be very well written. When in rush, a reader may decide to read only the executive summary or a reader may use the executive summary to decide whether he wishes to read the entire document.

Technical details, charts, graphs, and examples generally do not belong in an executive summary. Concentrate on the main ideas, facts, and just enough detail to make to point. Refrain from using unnecessary words. Be precise, to the point, clear and concise. Make sure that the executive summary is accurate and fully representative of the document. It should not be misleading and ideally it should give a great first impression.

Writing math formulas in HTML

Mathematical formulas can be written in HTML without installing special fonts, MathML, or inserting images. This article shows how this can be done.

A list useful special characters
Symbol Entity Description
¬ &#172; not sign
¯ &#175; macron, overline
° &#176; degree sign
± &#177; plus-minus sign
µ &#181; micro sign
· &#183; middle dot, centered period
× &#215; multiplication sign
÷ &#247; division sign
ƒ &#402; f with hook, script f
- monospaced hyphen
&#8722; minus sign
&#8211; en dash
&#8212; em dash
&#8224; dagger
&#8225; double dagger
&#8226; bullet
&#8230; ellipsis
&#8242; prime, minute
&#8243; double prime, second
&#8260; fraction slash
&#8486; ohm sign
&#8592; leftwards arrow
&#8593; upwards arrow
&#8594; rightwards arrow
&#8595; downwards arrow
&#8596; left right arrow
&#8597; up down arrow
&#8706; partial differential
&#8710; increment, difference
&#8719; product
&#8721; summation, sum
&#8730; square root, radical
&#8734; infinity
&#8745; intersection
&#8747; integral
&#8992; top half integral
&#8993; bottom half integral
&#8776; almost equal to, approximately equal to
&#8800; not equal to
&#8801; identical to
&#8804; less than or equal to
&#8805; greater than or equal to


(a2 + b2)

lim an
n→∞


an
n = 0




n = 0
an 

{ sum from n = 0 to infinity } a_n


∆u  =  Δu  =  n



i = 1

2u/∂xi2

Laplacian of u = Delta u = { sum from i = 1 to n } d^2u / dx_i^2






n = 0
an 

{ product from n = 0 to infinity } a_n


  b



a  
f(x) dx

{ integral from a to b } f(x) dx


 +∞



−∞ 
exp(−x2) dx   =  √π

{ integral from -infinity to +infinity } exp(-x^2) dx = square root of pi

Yum Tutorial

by Tariq Khaleeq, Sanea Sheikh, Shahina Hayat

YUM stands for 'Yellowdog Updater Modified'. YellowDog Linux is a rpm based distribution of Linux created for the ppc architecture. Fedora Core took up this package manager as of Fedora Core 1.

Leaving history aside, yum is the easiest way to install, update, and remove software from your Linux systems. This quick tutorial guides you through the steps but it is not a substitute for man yum. This tutorial would give you general usage while man page give a comprehensive documentation of yum's functionality. An added benefit of yum is that it calculates a programs dependencies and then it downloads and installs them for you.

Installing Yum

Before installing yum, check to see if you already have yum installed:

$ whereis yum

If you don't have yum installed, you can download it from http://yum.baseurl.org. To install yum,

$ rpm -Uvh yum-xx.noarch.rpm

Is a software already installed on my system

$ yum list install SOFTWARE
$ yum list install firefox

replace the word software with your software.

Installing with yum

$ yum install SOFTWARE
$ yum install firefox

replace the word software with your software.
This will get all the dependencies and prompt you with a list of dependencies you need to download and install. You can accept or decline.

Search for software

$ yum search STRING
$ yum search firefox
$ yum search fire*

where string could be software's name, or a wildcard. Yum would return a list of matches.

Uninstalling software

$ yum remove PACKAGE
$ yum remove firefox

Updating software

$ yum update PACKAGE
$ yum update firefox

Error Messages

error: Cannot retrieve repository metadata (repomd.xml) for repository : fedora. Please verify its path and try again.
You would need to edit fedora.repo and fedora-updates.repo to fix this error:

$ cd /etc/yum.repos.d
$ cp fedora.repo to fedora.repo.backup

It is important to backup any configuration file before you edit it. This way, if your modifications are unsuccessful, you can easily revert back to the original.

$ vi fedora.repo 

Uncomment all baseurls and change https to http. Save changes.

$ cp fedora-updates.repo fedora-updates.repo.backup
$ vi fedora-updates.repo 

Uncomment all baseurls and change https to http. Save changes.

$ yum update 

Run update to test your new settings.