1 #ifndef _MUSSA_SEQUENCE_H_
2 #define _MUSSA_SEQUENCE_H_
3 // This file is part of the Mussa source distribution.
4 // http://mussa.caltech.edu/
5 // Contact author: Tristan De Buysscher, tristan@caltech.edu
7 // This program and all associated source code files are Copyright (C) 2005
8 // the California Institute of Technology, Pasadena, CA, 91125 USA. It is
9 // under the GNU Public License; please see the included LICENSE.txt
10 // file for more information, or contact Tristan directly.
13 // ----------------------------------------
14 // ---------- sequence.hh -----------
15 // ----------------------------------------
23 // Sequence data class
25 //! Attach annotation information to a sequence track
29 std::string name, type;
32 //! sequence track for mussa.
35 friend class ConnView;
43 std::list<annot> annots;
45 void motif_scan(std::string a_motif, std::vector<int> * motif_match_starts);
46 std::string rc_motif(std::string a_motif);
47 std::string motif_validate(std::string a_motif);
51 std::string load_fasta(std::string file_path, int seq_num,
52 int start_index, int end_index);
53 std::string load_annot(std::string file_path, int start_index, int end_index);
55 std::string subseq(int start, int end);
57 std::string rev_comp();
60 void set_seq(std::string a_seq);
61 std::vector<int> find_motif(std::string a_motif);
62 std::string sp_name();
64 void save(std::fstream &save_file);
65 void load_museq(std::string load_file_path, int seq_num);