/FastaPlus

Fasta File container

Primary LanguageC++GNU General Public License v3.0GPL-3.0

FastaPlus version 0.01
=======================

FULL NAME:

C++ container for Fasta records 





DESCRIPTION:

The container is designed to provide a set of easy to use data formatting utilities for (multi)fasta formated files. In addition it facilitates (DNA:to be implemented)AA sequence cleaning strategies like low complexity segment filtering and dubious chrarcter replacment. Moreover, the library enables a unique indexing of individual records based on their taxonnomy identifier as well as particular substring position. 





SYNOPSIS:

    #include<string>
    #include<Fasta>

    using namespace fasta;



    string myseq("HI MY NAME IS ROBERT and this Is my Sequence!!")

/* Make Fasta object */

    /* Construction */
    Fasta<int> NewFastaObj(in, taxid);


/*  Usage */


   cout << "This file contains:" << NewFastaObj.GetObjSummary("TotSeq")     << " sequences\n";
   cout << "This file contains:" << NewFastaObj.GetObjSummary("TotSeqSize") << " sequence characters\n";
  

   /* Load from inside a program always assumes a clean record */

   string id = NewFastaObj.LoadFastaRec("MySeq", myseq, "10001");


                                                                
   unordered_map<string,string> ret = NewFastaObj.GetFastaOnly(id);
   
   cout << "I added this sequence to my container: " << ret[id] << endl; 
     // prints: HI MY NAME IS ROBERT and this Is my Sequence!!

   cout << "My name is: "  << NewFastaObj.GetSubStr(id,15,20) << endl;
     // prints:  ROBERT 

   cout << "And you can locate my sequence in " << out  << "directory under " << id << " ID\n"; 
     // prints --- and 0000000000000000000100016693/0
   
   NewFastaObj.DmpFastaAll(out);  // dumps the content to "out" file

   NewFastaObj.Clear() // explicite destructor





CONSTRUCTION AND RUNTIME COMPLEXITY:

     -

ACKNOWLEDGMENTS:

     -


AUTHOR:

Robert Bakaric <rbakaric@irb.hr>, <bakaric@evolbio.mpg.de>

COPYRIGHT AND LICENSE:

 * Copyright 2015 Robert Bakaric
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.