Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

gnRNASequence.h

Go to the documentation of this file.
00001 /////////////////////////////////////////////////////////////////////////////
00002 // File:            gnRNASequence.h
00003 // Purpose:         Sequence class
00004 // Description:     Provides a high level sequence interface to all types of
00005 //                                      sequence data.
00006 // Changes:        
00007 // Version:         libGenome 0.5.1 
00008 // Author:          Aaron Darling 
00009 // Modified by:     
00010 // Copyright:       (c) Aaron Darling 
00011 // Licenses:        See COPYING file for details 
00012 /////////////////////////////////////////////////////////////////////////////
00013 #ifndef _gnRNASequence_h_
00014 #define _gnRNASequence_h_
00015 
00016 #include "gn/gnDefs.h"
00017 
00018 #include <string>
00019 #include <list>
00020 #include "gn/gnSequence.h"
00021 #include "gn/gnFilter.h"
00022 
00023 /**
00024  * gnRNASequence is a special kind of gnSequence which can be used for RNA sequences
00025  * It sets the default filters and comparators to the RNA filters and comparators.
00026  */
00027 
00028 class GNDLLEXPORT gnRNASequence : public gnSequence
00029 {
00030 public:
00031         /**
00032          * Empty Constructor, creates an empty gnRNASequence.
00033          */
00034         gnRNASequence();
00035         /**
00036          * Creates a gnRNASequence with a single contig containing the bases in "seq".
00037          * @param seq The null terminated array of base pairs to use.
00038          */
00039         gnRNASequence( const gnSeqC* seq );
00040         /**
00041          * Creates a gnRNASequence with a single contig containing the bases in "str".
00042          * @param str The base pairs to use.
00043          */
00044         gnRNASequence( const string& str );
00045         /**
00046          * Creates a gnRNASequence with the contigs stored in "gngs".
00047          * @param gngs the gnGenomeSpec to get contigs from.
00048          */
00049         gnRNASequence( const gnGenomeSpec& gngs );
00050         /**
00051          * Creates a gnRNASequence with the contigs stored in "gnfs".
00052          * @param gnfs the gnFragmentSpec to get contigs from.
00053          */
00054         gnRNASequence( const gnFragmentSpec& gnfs );
00055         /**
00056          * Creates a gnRNASequence with the contigs stored in "gncs".
00057          * @param gncs the gnContigSpec to get contigs from.
00058          */
00059         gnRNASequence( const gnContigSpec& gncs );
00060         /**
00061          * Creates a gnRNASequence with a single contig containing the bases in "bases".
00062          * @param bases The base pairs to use
00063          * @param length The length of the base pair array.
00064          */
00065         gnRNASequence( gnSeqC *bases, const gnSeqI length);
00066         /**
00067          * Copies the gnRNASequence "seq".
00068          * @param seq The gnRNASequence to copy.
00069          */
00070         gnRNASequence( const gnRNASequence& seq);
00071 private:
00072         gnGenomeSpec *spec;
00073         list<const gnBaseFilter*> filter_list;
00074         const gnCompare* comparator;
00075 }; // class gnRNASequence
00076 
00077 inline
00078 gnRNASequence::gnRNASequence() : gnSequence(){
00079         filter_list.push_back(gnFilter::fullRNASeqFilter());
00080         comparator = gnCompare::RNASeqCompare();
00081 }
00082 inline
00083 gnRNASequence::gnRNASequence( const gnSeqC* seq ) : gnSequence(seq){
00084         filter_list.push_back(gnFilter::fullRNASeqFilter());
00085         comparator = gnCompare::RNASeqCompare();
00086 }
00087 inline
00088 gnRNASequence::gnRNASequence( const string& str ) : gnSequence(str){
00089         filter_list.push_back(gnFilter::fullRNASeqFilter());
00090         comparator = gnCompare::RNASeqCompare();
00091 }
00092 inline
00093 gnRNASequence::gnRNASequence( const gnGenomeSpec& gngs ) : gnSequence(gngs){
00094         filter_list.push_back(gnFilter::fullRNASeqFilter());
00095         comparator = gnCompare::RNASeqCompare();
00096 }
00097 inline
00098 gnRNASequence::gnRNASequence( const gnFragmentSpec& gnfs ) : gnSequence(gnfs){
00099         filter_list.push_back(gnFilter::fullRNASeqFilter());
00100         comparator = gnCompare::RNASeqCompare();
00101 }
00102 inline
00103 gnRNASequence::gnRNASequence( const gnContigSpec& gncs ) : gnSequence(gncs){
00104         filter_list.push_back(gnFilter::fullRNASeqFilter());
00105         comparator = gnCompare::RNASeqCompare();
00106 }
00107 inline
00108 gnRNASequence::gnRNASequence( gnSeqC *bases, const gnSeqI length) : gnSequence(bases, length){
00109         filter_list.push_back(gnFilter::fullRNASeqFilter());
00110         comparator = gnCompare::RNASeqCompare();
00111 }
00112 inline
00113 gnRNASequence::gnRNASequence( const gnRNASequence& seq) : gnSequence(seq){
00114         filter_list.push_back(gnFilter::fullRNASeqFilter());
00115         comparator = gnCompare::RNASeqCompare();
00116 }
00117 
00118 #endif
00119         // _gnRNASequence_h_

Generated on Mon Feb 3 02:34:40 2003 for libGenome by doxygen1.3-rc3