gnRNASequence.h Source File

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_