1 /**
2  * UGENE - Integrated Bioinformatics Tools.
3  * Copyright (C) 2008-2021 UniPro <ugene@unipro.ru>
4  * http://ugene.net
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  */
21 
22 #ifndef _REMOTE_QUERY_CONSTS_
23 #define _REMOTE_QUERY_CONSTS_
24 
25 #include <QStringList>
26 
27 namespace U2 {
28 
29 #define MAX_BLAST_SEQ_LEN 3000
30 
31 #define CDD_DESCRIPTION "CDD (Conserved Domain Database) is a protein annotation resource that consists of a collection of well-annotated multiple sequence alignment models for ancient domains and full-length proteins."
32 #define BLAST_DESCRIPTION "Basic Local Alignment Search Tool, or BLAST, is an algorithm for comparing primary biological sequence information, such as the amino-acid sequences of different proteins or the nucleotides of DNA sequences. A BLAST search enables a researcher to compare a query sequence with a library or database of sequences, and identify library sequences that resemble the query sequence above a certain threshold."
33 
34 #define EXPECTED_ATTR "expected_results"
35 #define SIMPLE_ATTR "simple"
36 #define MIN_LEN_ATTR "min_length"
37 #define MAX_LEN_ATTR "max_length"
38 #define TRANSL_ATTR "transl"
39 #define DATABASE_ATTR "db"
40 #define EVALUE_ATTR "e-value"
41 #define INDEX_ATTR "index"
42 #define SEQUENCE_ATTR "seq"
43 #define SHORTSEQ_ATTR "short_seq"
44 #define HITS_ATTR "hits"
45 #define ALG_ATTR "alg"
46 #define FILTERS_ATTR "filters"
47 #define GAP_ATTR "gap_costs"
48 #define MATCHSCORE_ATTR "match_scores"
49 #define MATRIX_ATTR "matrix"
50 #define MEGABLAST_ATTR "megablast"
51 #define WORD_SIZE_ATTR "word_size"
52 #define ALPH_ATTR "alph"
53 #define SERVICE_ATTR "service"
54 #define PATTERN_ATTR "phi-pattern"
55 #define ENTREZ_QUERY_ATTR "entrez_query"
56 
57 class ParametersLists {
58 public:
59     static const QStringList blastn_wordSize;
60     static const QStringList blastp_wordSize;
61     static const QStringList megablast_wordSize;
62 
63     static const QStringList blastn_gapCost;
64     static const QStringList blastp_gapCost;
65 
66     static const QStringList blastn_scores;
67 
68     static const QStringList blastn_dataBase;
69     static const QStringList blastp_dataBase;
70     static const QStringList cdd_dataBase;
71 
72     static const QStringList blastp_matrix;
73 };
74 
75 class ReqParams {
76 public:
77     static const QString program;
78     static const QString expect;
79     static const QString wordSize;
80     static const QString hits;
81     static const QString database;
82     static const QString gapCost;
83     static const QString matchScore;
84     static const QString mismatchScore;
85     static const QString matrix;
86     static const QString filter;
87     static const QString megablast;
88     static const QString lowCaseMask;
89     static const QString sequence;
90     static const QString service;
91     static const QString phiPattern;
92     static const QString entrezQuery;
93 
94     static const QString cdd_eValue;
95     static const QString cdd_hits;
96     static const QString cdd_sequence;
97     static const QString cdd_db;
98 };
99 
100 void addParametr(QString &str, const QString &paramName, const QString &param);
101 void addParametr(QString &str, const QString &paramName, const double param);
102 void addParametr(QString &str, const QString &paramName, const int param);
103 
104 }  // namespace U2
105 
106 #endif
107