1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
//
// File: test_hyperscore.cpp
// Created by: Olivier Langella
// Created on: 13/3/2015
//
/*******************************************************************************
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
*
* This file is part of the PAPPSOms++ library.
*
* PAPPSOms++ 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 3 of the License, or
* (at your option) any later version.
*
* PAPPSOms++ 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 PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
*implementation
******************************************************************************/
// ./tests/pappsotree/catch2-only-pappsotree [Fasta] -s
#include <catch2/catch_test_macros.hpp>
#include <iostream>
#include <pappsomspp/core/fasta/fastareader.h>
#include <pappsomspp/core/fasta/fastafileindexer.h>
#include <pappsomspp/core/exception/exceptionoutofrange.h>
#include <QFileInfo>
// #include "common.h"
#include "tests/tests-config.h"
using namespace std;
// using namespace pwiz::msdata;
class FastaSeq : public pappso::FastaHandlerInterface
{
public:
const QString &
getDescription() const
{
return description;
};
const QString &
getSequence() const
{
return sequence;
};
void
setSequence(const QString &description_in,
const QString &sequence_in) override
{
std::cout << std::endl
<< "begin description=" << description_in.toStdString();
std::cout << std::endl << "sequence=" << sequence_in.toStdString();
std::cout << std::endl << "end" << std::endl;
description = description_in;
sequence = sequence_in;
};
private:
QString description;
QString sequence;
};
TEST_CASE("Fasta reader test suite.", "[Fasta]")
{
// Set the debugging message formatting pattern.
qSetMessagePattern(QString("%{file}@%{line}, %{function}(): %{message}"));
SECTION("..:: Test Fasta big file indexer ::..", "[FastaBigIndexer]")
{
FastaSeq seq;
std::cout << std::endl
<< "..:: Test Fasta big file indexer ::.." << std::endl;
QFileInfo file2("/gorgone/pappso/moulon/database/Genome_Z_mays_5a.fasta");
pappso::FastaFileIndexer big_fasta_file_indexer(file2);
big_fasta_file_indexer.getSequenceByIndex(seq, 12);
std::cout << std::endl << seq.getDescription().toStdString() << std::endl;
// GRMZM2G147579_P01
// GRMZM2G147579_P01 NP_001159186 hypothetical protein LOC100304271
// seq=translation; coord=5:217415249..217417029:-1;
// parent_transcript=GRMZM2G147579_T01; parent_gene=GRMZM2G147579
REQUIRE(seq.getDescription() ==
"GRMZM2G147579_P01 NP_001159186 hypothetical protein LOC100304271 "
"seq=translation; coord=5:217415249..217417029:-1; "
"parent_transcript=GRMZM2G147579_T01; parent_gene=GRMZM2G147579");
}
}
|