88 MAIN_LOCS, PT_LOCS, pd_gl.
locs,
105 error =
"Only 1 PTserverConnection allowed";
120 error =
"Cannot contact PT_SERVER [1]";
123 error =
"Cannot contact PT_SERVER [2]";
143 int PTserverConnection::count = 0;
151 MAIN_DUMP_NAME, P.
DUMP,
155 MAIN_DUMP_INDEX, &result,
157 error =
"Connection to PT_SERVER lost (1)";
175 LOCS_PROBE_FIND_CONFIG, PT_PEP, pep,
176 PEP_PLENGTH, (
long)length,
177 PEP_RESTART, (
long)1,
183 error =
"Connection to PT_SERVER lost (1)";
193 while (amount && !error) {
194 int this_amount =
std::min(amount, amount_per_call);
197 PEP_NUMGET, (
long)this_amount,
198 PEP_FIND_PROBES, (
long)0,
201 char *pep_result =
NULp;
203 PEP_RESULT, &pep_result,
205 error =
"Connection to PT_SERVER lost (2)";
210 if (first) first =
false;
214 amount -= this_amount;
229 if (error) freenull(result);
243 LOCS_PROBE_DESIGN_CONFIG, PT_PDC, pdc,
246 PDC_MINTEMP, (
double)P.
MINTEMP,
247 PDC_MAXTEMP, (
double)P.
MAXTEMP,
248 PDC_MINGC, (
double)P.
MINGC/100.0,
249 PDC_MAXGC, (
double)P.
MAXGC/100.0,
250 PDC_MAXBOND, (
double)P.
MAXBOND,
251 PDC_MIN_ECOLIPOS, (
long)P.
MINPOS,
252 PDC_MAX_ECOLIPOS, (
long)P.
MAXPOS,
253 PDC_MISHIT, (
long)P.
MISHIT,
258 error =
"Connection to PT_SERVER lost (1)";
268 bs_seq.
data = (
char*)
s->sequence;
269 bs_seq.
size = strlen(bs_seq.
data)+1;
271 PDC_SEQUENCE, PT_SEQUENCE, pts,
272 SEQUENCE_SEQUENCE, &bs_seq,
285 char *locs_error =
NULp;
287 LOCS_ERROR, &locs_error,
289 error =
"Connection to PT_SERVER lost (2)";
300 PDC_TPROBE, tprobe.as_result_param(),
306 if (tprobe.exists()) {
307 char *match_info =
NULp;
309 PDC_INFO_HEADER, &match_info,
311 outstr.cat(match_info);
317 while (tprobe.exists()) {
318 char *match_info =
NULp;
320 TPROBE_NEXT, tprobe.as_result_param(),
321 TPROBE_INFO, &match_info,
323 outstr.cat(match_info);
328 return outstr.release();
341 LOCS_COMPLEMENT_FIRST, (
long)0,
342 LOCS_MATCH_SORT_BY, (
long)P.
WEIGHTED,
343 LOCS_MATCH_MAX_MISMATCHES, (
long)P.
MISMATCHES,
344 LOCS_MATCH_N_ACCEPT, (
long)P.
ACCEPTN,
345 LOCS_MATCH_N_LIMIT, (
long)P.
LIMITN,
349 error =
"Connection to PT_SERVER lost (1)";
356 char *locs_error =
NULp;
357 T_PT_MATCHLIST match_list;
361 LOCS_MATCH_LIST, match_list.as_result_param(),
362 LOCS_MATCH_LIST_CNT, &match_list_cnt,
363 LOCS_MATCH_STRING, &bs,
364 LOCS_ERROR, &locs_error,
370 if (!error)
return bs.
data;
381 static int getInt(
const char *param,
int val,
int min,
int max,
const char *description) {
383 printf(
" %s=%i [%i .. ", param, val, min);
384 if (max != INT_MAX) printf(
"%i", max);
385 printf(
"] %s\n", description);
389 const char *
s =
NULp;
395 for (i=1; i<
pargc; i++) {
398 if (!strncasecmp(s, param, strlen(param)))
break;
400 if (i==pargc)
return val;
406 if (val<min || val>max) {
408 printf(
"Parameter '%s=%s' is outside allowed range:\n", param, s);
410 getInt(param, val, min, max, description);
417 for (; i<
pargc; i++) {
418 pargv[i] = pargv[i+1];
424 static const char *
getString(
const char *param,
const char *val,
const char *description) {
427 printf(
" %s=%s %s\n", param, val, description);
431 const char *
s =
NULp;
435 for (i=1; i<
pargc; i++) {
438 if (!strncasecmp(s, param, strlen(param)))
break;
440 if (i==pargc)
return val;
442 if (*s !=
'=')
return val;
445 for (; i<
pargc; i++) {
446 pargv[i] = pargv[i+1];
457 for (
int i=0; i<
pargc; i++) pargv[i] = argv[i];
462 #ifdef UNIT_TESTS // UT_DIFF
463 const int minServerID = TEST_GENESERVER_ID;
465 const int minServerID = 0;
468 P.
SERVERID =
getInt(
"serverid", 0, minServerID, 100,
"Server Id, look into $ARBHOME/lib/arb_tcp.dat");
469 #ifdef UNIT_TESTS // UT_DIFF
473 P.
DESIGNCLIPOUTPUT =
getInt(
"designmaxhits", 100, 10, 10000,
"Maximum Number of Probe Design Suggestions");
486 P.
MINTEMP =
getInt(
"designmintemp", 0, 0, 400,
"Minimum melting temperature of probe");
487 P.
MAXTEMP =
getInt(
"designmaxtemp", 400, 0, 400,
"Maximum melting temperature of probe");
488 P.
MINGC =
getInt(
"designmingc", 30, 0, 100,
"Minimum gc content");
489 P.
MAXGC =
getInt(
"designmaxgc", 80, 0, 100,
"Maximum gc content");
490 P.
MAXBOND =
getInt(
"designmaxbond", 0, 0, 10,
"Not implemented");
491 P.
MINPOS =
getInt(
"designminpos", -1, -1, INT_MAX,
"Minimum ecoli position (-1=none)");
492 P.
MAXPOS =
getInt(
"designmaxpos", -1, -1, INT_MAX,
"Maximum ecoli position (-1=none)");
493 P.
MISHIT =
getInt(
"designmishit", 0, 0, 10000,
"Number of allowed hits outside the selected group");
494 P.
MINTARGETS =
getInt(
"designmintargets", 50, 0, 100,
"Minimum percentage of hits within the selected species");
496 P.
SEQUENCE =
getString(
"matchsequence",
"agtagtagt",
"The sequence to search for");
498 P.
MISMATCHES =
getInt(
"matchmismatches", 0, 0, INT_MAX,
"Maximum Number of allowed mismatches");
499 P.
ALSO_REVCOMPL =
getInt(
"matchAlsoRevcomp", 0, 0, 1,
"Also match reverse-complemented probe");
500 P.
WEIGHTED =
getInt(
"matchweighted", 0, 0, 1,
"Use weighted mismatches");
501 P.
ACCEPTN =
getInt(
"matchacceptN", 1, 0, INT_MAX,
"Amount of N-matches not counted as mismatch");
502 P.
LIMITN =
getInt(
"matchlimitN", 4, 0, INT_MAX,
"Limit for N-matches. If reached N-matches are mismatches");
503 P.
MAXRESULT =
getInt(
"matchmaxresults", 1000000, 0, INT_MAX,
"Max. number of matches reported (0=unlimited)");
505 P.
ITERATE =
getInt(
"iterate", 0, 0, 20,
"Iterate over probes of given length");
512 P.
DUMP =
getString(
"dump",
"",
"dump ptserver index to file (may be huge!)");
515 printf(
"Unknown (or duplicate) parameter %s\n", pargv[1]);
519 puts(
"Not all parameters were inside allowed range\n");
533 void TEST_BASIC_parseCommandLine() {
535 const char *args[] = {
NULp,
"serverid=0"};
546 const char *args[] = {
NULp,
"serverid=4",
"matchmismatches=2"};
554 const char *args[] = {
NULp,
"matchacceptN=0",
"matchlimitN=5"};
561 const char *args[] = {
NULp,
"matchmaxresults=100"};
580 else if (P.
DUMP[0]) {
600 "arb_probe: Failed to process your request\n"
606 fputs(answer, stdout);
621 static int test_setup(
bool use_gene_ptserver) {
622 static bool setup[2] = {
false,
false };
623 if (!setup[use_gene_ptserver]) {
625 setup[use_gene_ptserver] =
true;
627 return use_gene_ptserver ? TEST_GENESERVER_ID : TEST_SERVER_ID;
633 #define TEST_RUN_ARB_PROBE__INT(fake_argc,fake_argv) \
634 int serverid = test_setup(use_gene_ptserver); \
635 TEST_EXPECT_EQUAL(true, parseCommandLine(fake_argc, fake_argv)); \
636 TEST_EXPECT((serverid == TEST_SERVER_ID)||(serverid == TEST_GENESERVER_ID)); \
637 P.SERVERID = serverid; \
639 char *answer = execute(error)
641 #define TEST_ARB_PROBE__REPORTS_ERROR(fake_argc,fake_argv,expected_error) \
642 TEST_RUN_ARB_PROBE__INT(fake_argc,fake_argv); \
644 TEST_EXPECT_ERROR_CONTAINS(error.deliver(), expected_error)
646 #define TEST_ARB_PROBE__REPORTS_ERROR__BROKEN(fake_argc,fake_argv,expected_error) \
647 TEST_RUN_ARB_PROBE__INT(fake_argc,fake_argv); \
649 TEST_EXPECT_ANY_ERROR(error.preserve()); \
650 TEST_EXPECT_ERROR_CONTAINS__BROKEN(error.deliver(), expected_error)
653 #define TEST_RUN_ARB_PROBE(fake_argc,fake_argv) \
654 TEST_RUN_ARB_PROBE__INT(fake_argc,fake_argv); \
655 TEST_EXPECT_NO_ERROR(error.deliver())
657 #define TEST_ARB_PROBE(fake_argc,fake_argv,expected) do { \
658 TEST_RUN_ARB_PROBE(fake_argc,fake_argv); \
659 TEST_EXPECT_EQUAL(answer, expected); \
663 #define TEST_ARB_PROBE__BROKEN(fake_argc,fake_argv,expected) do { \
664 TEST_RUN_ARB_PROBE(fake_argc,fake_argv); \
665 TEST_EXPECT_EQUAL__BROKEN(answer, expected); \
669 #define TEST_ARB_PROBE_FILT(fake_argc,fake_argv,filter,expected) do { \
670 TEST_RUN_ARB_PROBE(fake_argc,fake_argv); \
671 char *filtered = filter(answer); \
672 TEST_EXPECT_EQUAL(filtered, expected); \
677 typedef const char *CCP;
679 void TEST_SLOW_match_geneprobe() {
682 bool use_gene_ptserver =
true;
684 const char *arguments[] = {
686 "matchsequence=NNUCNN",
690 CCP expectd =
" organism genename------- mis N_mis wmis pos gpos rev 'NNUCNN'\1"
691 "genome2\1" " genome2 gene3 0 4 2.6 2 1 0 .........-UU==GG-UUGAUC.\1"
692 "genome2\1" " genome2 joined1 0 4 2.6 2 1 0 .........-UU==GG-UUGAUCCUG\1"
693 "genome2\1" " genome2 gene1 0 4 2.6 2 2 0 ........A-UU==GG-U.\1"
694 "genome2\1" " genome2 intergene_19_65 0 4 2.7 31 12 0 GGUUACUGC-AU==GG-UGUUCGCCU\1"
695 "genome1\1" " genome1 intergene_17_65 0 4 2.7 31 14 0 GGUUACUGC-UA==GG-UGUUCGCCU\1"
696 "genome2\1" " genome2 intergene_19_65 0 4 2.7 38 19 0 GCAUUCGGU-GU==GC-CUAAGCACU\1"
697 "genome1\1" " genome1 intergene_17_65 0 4 2.7 38 21 0 GCUAUCGGU-GU==GC-CUAAGCCAU\1"
698 "genome2\1" " genome2 gene3 0 4 2.9 10 9 0 .UUUCGGUU-GA==..-\1"
699 "genome2\1" " genome2 intergene_19_65 0 4 3.1 56 37 0 AGCACUGCG-AG==AU-AUGUA.\1"
700 "genome1\1" " genome1 intergene_17_65 0 4 3.1 56 39 0 AGCCAUGCG-AG==AU-AUGUA.\1"
701 "genome1\1" " genome1 gene2 0 4 3.1 10 2 0 ........U-GA==CU-GC.\1"
702 "genome2\1" " genome2 gene2 0 4 3.1 10 4 0 ......GUU-GA==CU-GCCA.\1"
703 "genome1\1" " genome1 joined1 0 4 3.1 10 7 0 ...CUGGUU-GA==CU-GC.\1"
704 "genome2\1" " genome2 joined1 0 4 3.1 10 9 0 .UUUCGGUU-GA==CU-GCCA.\1";
706 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
710 const char *arguments[] = {
712 "matchsequence=NGGUUN",
716 CCP expectd =
" organism genename------- mis N_mis wmis pos gpos rev 'NGGUUN'\1"
717 "genome1\1" " genome1 gene3 0 2 1.3 5 2 0 ........C-U====G-A.\1"
718 "genome1\1" " genome1 joined1 0 2 1.3 5 2 0 ........C-U====G-AUCCUGC.\1"
719 "genome2\1" " genome2 gene3 0 2 1.4 5 4 0 ......UUU-C====G-AUC.\1"
720 "genome2\1" " genome2 joined1 0 2 1.4 5 4 0 ......UUU-C====G-AUCCUGCCA\1"
721 "genome2\1" " genome2 intergene_19_65 0 2 1.8 21 2 0 ........G-A====A-CUGCAUUCG\1"
722 "genome1\1" " genome1 intergene_17_65 0 2 1.8 21 4 0 ......CAG-A====A-CUGCUAUCG\1";
724 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
728 const char *arguments[] = {
730 "matchsequence=UGAUCCU",
732 CCP expectd =
" organism genename mis N_mis wmis pos gpos rev 'UGAUCCU'\1"
733 "genome1\1" " genome1 gene2 0 0 0.0 9 1 0 .........-=======-GC.\1"
734 "genome2\1" " genome2 gene2 0 0 0.0 9 3 0 .......GU-=======-GCCA.\1"
735 "genome1\1" " genome1 joined1 0 0 0.0 9 6 0 ....CUGGU-=======-GC.\1"
736 "genome2\1" " genome2 joined1 0 0 0.0 9 8 0 ..UUUCGGU-=======-GCCA.\1";
738 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
741 const char *arguments[] = {
743 "matchsequence=GAUCCU",
745 CCP expectd =
" organism genename mis N_mis wmis pos gpos rev 'GAUCCU'\1"
746 "genome1\1" " genome1 gene2 0 0 0.0 10 2 0 ........U-======-GC.\1"
747 "genome2\1" " genome2 gene2 0 0 0.0 10 4 0 ......GUU-======-GCCA.\1"
748 "genome1\1" " genome1 joined1 0 0 0.0 10 7 0 ...CUGGUU-======-GC.\1"
749 "genome2\1" " genome2 joined1 0 0 0.0 10 9 0 .UUUCGGUU-======-GCCA.\1";
751 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
754 const char *arguments[] = {
756 "matchsequence=UUUCGG",
758 CCP expectd =
" organism genename mis N_mis wmis pos gpos rev 'UUUCGG'\1"
759 "genome2\1" " genome2 gene3 0 0 0.0 2 1 0 .........-======-UUGAUC.\1"
760 "genome2\1" " genome2 joined1 0 0 0.0 2 1 0 .........-======-UUGAUCCUG\1"
761 "genome2\1" " genome2 gene1 0 0 0.0 2 2 0 ........A-======-U.\1";
763 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
766 const char *arguments[] = {
768 "matchsequence=AUCCUG",
770 CCP expectd =
" organism genename mis N_mis wmis pos gpos rev 'AUCCUG'\1"
771 "genome1\1" " genome1 gene2 0 0 0.0 11 3 0 .......UG-======-C.\1"
772 "genome2\1" " genome2 gene2 0 0 0.0 11 5 0 .....GUUG-======-CCA.\1"
773 "genome1\1" " genome1 joined1 0 0 0.0 11 8 0 ..CUGGUUG-======-C.\1"
774 "genome2\1" " genome2 joined1 0 0 0.0 11 10 0 UUUCGGUUG-======-CCA.\1";
776 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
779 const char *arguments[] = {
781 "matchsequence=UUGAUCCUGC",
783 CCP expectd =
" organism genename mis N_mis wmis pos gpos rev 'UUGAUCCUGC'\1"
784 "genome2\1" " genome2 gene2 0 0 0.0 8 2 0 ........G-==========-CA.\1"
785 "genome1\1" " genome1 joined1 0 0 0.0 8 5 0 .....CUGG-==========-.\1"
786 "genome2\1" " genome2 joined1 0 0 0.0 8 7 0 ...UUUCGG-==========-CA.\1";
788 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd);
795 bool use_gene_ptserver =
false;
797 const char *arguments[] = {
799 "matchsequence=UAUCGGAGAGUUUGA",
801 CCP expected =
" name---- fullname mis N_mis wmis pos ecoli rev 'UAUCGGAGAGUUUGA'\1"
802 "BcSSSS00\1" " BcSSSS00 0 0 0.0 3 2 0 .......UU-===============-UCAAGUCGA\1";
804 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
811 const char *arguments[] = {
813 "matchsequence=CANCUCCUUUC",
817 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUUC'\1"
818 "BcSSSS00\1" " BcSSSS00 0 1 0.9 176 162 0 CGGCUGGAU-==C========-U.\1";
820 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUUC'\1"
821 "BcSSSS00\1" " BcSSSS00 0 1 0.9 176 162 0 CGGCUGGAU-==C========-U.\1"
822 "ClfPerfr\1" " ClfPerfr 1 1 2.0 176 162 0 AGAUUAAUA-=CC========-U.\1"
823 "PbcAcet2\1" " PbcAcet2 1 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
824 "PbrPropi\1" " PbrPropi 1 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
825 "Stsssola\1" " Stsssola 1 2 1.6 176 162 0 CGGCUGGAU-==C=======.-\1"
826 "DcdNodos\1" " DcdNodos 1 2 1.6 176 162 0 CGGUUGGAU-==C=======.-\1"
827 "VbrFurni\1" " VbrFurni 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
828 "VblVulni\1" " VblVulni 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
829 "VbhChole\1" " VbhChole 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1";
831 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUUC'\1"
832 "BcSSSS00\1" " BcSSSS00 0 1 0.9 176 162 0 CGGCUGGAU-==C========-U.\1"
833 "ClfPerfr\1" " ClfPerfr 1 1 2.0 176 162 0 AGAUUAAUA-=CC========-U.\1"
834 "PbcAcet2\1" " PbcAcet2 1 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
835 "PbrPropi\1" " PbrPropi 1 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
836 "Stsssola\1" " Stsssola 1 2 1.6 176 162 0 CGGCUGGAU-==C=======.-\1"
837 "DcdNodos\1" " DcdNodos 1 2 1.6 176 162 0 CGGUUGGAU-==C=======.-\1"
838 "VbrFurni\1" " VbrFurni 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
839 "VblVulni\1" " VblVulni 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
840 "VbhChole\1" " VbhChole 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
841 "AclPleur\1" " AclPleur 2 2 2.7 176 162 0 CGGUUGGAU-==C======A.-\1"
842 "PtVVVulg\1" " PtVVVulg 2 2 2.7 176 162 0 CGGUUGGAU-==C======A.-\1"
843 "DlcTolu2\1" " DlcTolu2 2 3 2.3 176 162 0 CGGCUGGAU-==C======NN-N.\1"
844 "FrhhPhil\1" " FrhhPhil 2 3 2.3 176 162 0 CGGCUGGAU-==C======..-\1"
845 "HllHalod\1" " HllHalod 2 3 2.3 176 162 0 CGGCUGGAU-==C======..-\1"
846 "CPPParap\1" " CPPParap 2 3 2.3 177 163 0 CGGNUGGAU-==C======..-\1";
848 CCP expectd3 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUUC'\1"
849 "BcSSSS00\1" " BcSSSS00 0 1 0.9 176 162 0 CGGCUGGAU-==C========-U.\1"
850 "ClfPerfr\1" " ClfPerfr 1 1 2.0 176 162 0 AGAUUAAUA-=CC========-U.\1"
851 "PbcAcet2\1" " PbcAcet2 1 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
852 "PbrPropi\1" " PbrPropi 1 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
853 "Stsssola\1" " Stsssola 1 2 1.6 176 162 0 CGGCUGGAU-==C=======.-\1"
854 "DcdNodos\1" " DcdNodos 1 2 1.6 176 162 0 CGGUUGGAU-==C=======.-\1"
855 "VbrFurni\1" " VbrFurni 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
856 "VblVulni\1" " VblVulni 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
857 "VbhChole\1" " VbhChole 1 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
858 "AclPleur\1" " AclPleur 2 2 2.7 176 162 0 CGGUUGGAU-==C======A.-\1"
859 "PtVVVulg\1" " PtVVVulg 2 2 2.7 176 162 0 CGGUUGGAU-==C======A.-\1"
860 "DlcTolu2\1" " DlcTolu2 2 3 2.3 176 162 0 CGGCUGGAU-==C======NN-N.\1"
861 "FrhhPhil\1" " FrhhPhil 2 3 2.3 176 162 0 CGGCUGGAU-==C======..-\1"
862 "HllHalod\1" " HllHalod 2 3 2.3 176 162 0 CGGCUGGAU-==C======..-\1"
863 "CPPParap\1" " CPPParap 2 3 2.3 177 163 0 CGGNUGGAU-==C======..-\1"
864 "VblVulni\1" " VblVulni 3 1 3.6 49 44 0 AGCACAGAG-a=A==uG====-UCGGGUGGC\1";
866 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
867 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
868 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
869 arguments[2] =
"matchmismatches=3"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd3);
873 const char *arguments[] = {
875 "matchsequence=UCACCUCCUUUC",
879 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
880 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
881 "PbcAcet2\1" " PbcAcet2 0 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
882 "PbrPropi\1" " PbrPropi 0 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
883 "Stsssola\1" " Stsssola 0 1 0.7 175 161 0 GCGGCUGGA-===========.-\1"
884 "DcdNodos\1" " DcdNodos 0 1 0.7 175 161 0 GCGGUUGGA-===========.-\1"
885 "VbrFurni\1" " VbrFurni 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
886 "VblVulni\1" " VblVulni 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
887 "VbhChole\1" " VbhChole 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1";
889 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
890 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
891 "PbcAcet2\1" " PbcAcet2 0 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
892 "PbrPropi\1" " PbrPropi 0 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
893 "Stsssola\1" " Stsssola 0 1 0.7 175 161 0 GCGGCUGGA-===========.-\1"
894 "DcdNodos\1" " DcdNodos 0 1 0.7 175 161 0 GCGGUUGGA-===========.-\1"
895 "VbrFurni\1" " VbrFurni 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
896 "VblVulni\1" " VblVulni 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
897 "VbhChole\1" " VbhChole 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
898 "AclPleur\1" " AclPleur 1 1 1.8 175 161 0 GCGGUUGGA-==========A.-\1"
899 "PtVVVulg\1" " PtVVVulg 1 1 1.8 175 161 0 GCGGUUGGA-==========A.-\1"
900 "DlcTolu2\1" " DlcTolu2 1 2 1.4 175 161 0 GCGGCUGGA-==========NN-N.\1"
901 "FrhhPhil\1" " FrhhPhil 1 2 1.4 175 161 0 GCGGCUGGA-==========..-\1"
902 "HllHalod\1" " HllHalod 1 2 1.4 175 161 0 GCGGCUGGA-==========..-\1"
903 "CPPParap\1" " CPPParap 1 2 1.4 176 162 0 GCGGNUGGA-==========..-\1";
905 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
906 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
907 "PbcAcet2\1" " PbcAcet2 0 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
908 "PbrPropi\1" " PbrPropi 0 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
909 "Stsssola\1" " Stsssola 0 1 0.7 175 161 0 GCGGCUGGA-===========.-\1"
910 "DcdNodos\1" " DcdNodos 0 1 0.7 175 161 0 GCGGUUGGA-===========.-\1"
911 "VbrFurni\1" " VbrFurni 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
912 "VblVulni\1" " VblVulni 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
913 "VbhChole\1" " VbhChole 0 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
914 "AclPleur\1" " AclPleur 1 1 1.8 175 161 0 GCGGUUGGA-==========A.-\1"
915 "PtVVVulg\1" " PtVVVulg 1 1 1.8 175 161 0 GCGGUUGGA-==========A.-\1"
916 "DlcTolu2\1" " DlcTolu2 1 2 1.4 175 161 0 GCGGCUGGA-==========NN-N.\1"
917 "FrhhPhil\1" " FrhhPhil 1 2 1.4 175 161 0 GCGGCUGGA-==========..-\1"
918 "HllHalod\1" " HllHalod 1 2 1.4 175 161 0 GCGGCUGGA-==========..-\1"
919 "CPPParap\1" " CPPParap 1 2 1.4 176 162 0 GCGGNUGGA-==========..-\1"
920 "ClfPerfr\1" " ClfPerfr 2 0 2.2 175 161 0 AAGAUUAAU-A=C=========-U.\1"
921 "LgtLytic\1" " LgtLytic 2 3 2.1 175 161 0 GCGGCUGGA-=========N..-\1"
922 "PslFlave\1" " PslFlave 2 3 2.1 175 161 0 GCGGCUGGA-=========...-\1";
924 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
925 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
926 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
930 const char *arguments[] = {
932 "matchsequence=UCACCUCCUUUC",
937 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
938 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
939 "PbcAcet2\1" " PbcAcet2 0 1 0.2 175 161 0 GCGGCUGGA-===========N-N.\1"
940 "PbrPropi\1" " PbrPropi 0 1 0.2 175 161 0 GCGGCUGGA-===========N-N.\1"
941 "Stsssola\1" " Stsssola 0 1 0.2 175 161 0 GCGGCUGGA-===========.-\1"
942 "DcdNodos\1" " DcdNodos 0 1 0.2 175 161 0 GCGGUUGGA-===========.-\1"
943 "VbrFurni\1" " VbrFurni 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
944 "VblVulni\1" " VblVulni 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
945 "VbhChole\1" " VbhChole 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1";
947 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
948 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
949 "PbcAcet2\1" " PbcAcet2 0 1 0.2 175 161 0 GCGGCUGGA-===========N-N.\1"
950 "PbrPropi\1" " PbrPropi 0 1 0.2 175 161 0 GCGGCUGGA-===========N-N.\1"
951 "Stsssola\1" " Stsssola 0 1 0.2 175 161 0 GCGGCUGGA-===========.-\1"
952 "DcdNodos\1" " DcdNodos 0 1 0.2 175 161 0 GCGGUUGGA-===========.-\1"
953 "VbrFurni\1" " VbrFurni 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
954 "VblVulni\1" " VblVulni 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
955 "VbhChole\1" " VbhChole 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
956 "DlcTolu2\1" " DlcTolu2 1 2 0.6 175 161 0 GCGGCUGGA-==========NN-N.\1"
957 "FrhhPhil\1" " FrhhPhil 1 2 0.6 175 161 0 GCGGCUGGA-==========..-\1"
958 "HllHalod\1" " HllHalod 1 2 0.6 175 161 0 GCGGCUGGA-==========..-\1"
959 "CPPParap\1" " CPPParap 1 2 0.6 176 162 0 GCGGNUGGA-==========..-\1"
960 "AclPleur\1" " AclPleur 1 1 0.9 175 161 0 GCGGUUGGA-==========A.-\1"
961 "PtVVVulg\1" " PtVVVulg 1 1 0.9 175 161 0 GCGGUUGGA-==========A.-\1"
962 "LgtLytic\1" " LgtLytic 2 3 1.3 175 161 0 GCGGCUGGA-=========N..-\1"
963 "PslFlave\1" " PslFlave 2 3 1.3 175 161 0 GCGGCUGGA-=========...-\1"
964 "ClfPerfr\1" " ClfPerfr 2 0 1.3 175 161 0 AAGAUUAAU-A=C=========-U.\1";
966 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
967 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
968 "PbcAcet2\1" " PbcAcet2 0 1 0.2 175 161 0 GCGGCUGGA-===========N-N.\1"
969 "PbrPropi\1" " PbrPropi 0 1 0.2 175 161 0 GCGGCUGGA-===========N-N.\1"
970 "Stsssola\1" " Stsssola 0 1 0.2 175 161 0 GCGGCUGGA-===========.-\1"
971 "DcdNodos\1" " DcdNodos 0 1 0.2 175 161 0 GCGGUUGGA-===========.-\1"
972 "VbrFurni\1" " VbrFurni 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
973 "VblVulni\1" " VblVulni 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
974 "VbhChole\1" " VbhChole 0 1 0.2 175 161 0 GGCGCUGGA-===========.-\1"
975 "DlcTolu2\1" " DlcTolu2 1 2 0.6 175 161 0 GCGGCUGGA-==========NN-N.\1"
976 "FrhhPhil\1" " FrhhPhil 1 2 0.6 175 161 0 GCGGCUGGA-==========..-\1"
977 "HllHalod\1" " HllHalod 1 2 0.6 175 161 0 GCGGCUGGA-==========..-\1"
978 "CPPParap\1" " CPPParap 1 2 0.6 176 162 0 GCGGNUGGA-==========..-\1"
979 "AclPleur\1" " AclPleur 1 1 0.9 175 161 0 GCGGUUGGA-==========A.-\1"
980 "PtVVVulg\1" " PtVVVulg 1 1 0.9 175 161 0 GCGGUUGGA-==========A.-\1"
981 "LgtLytic\1" " LgtLytic 2 3 1.3 175 161 0 GCGGCUGGA-=========N..-\1"
982 "PslFlave\1" " PslFlave 2 3 1.3 175 161 0 GCGGCUGGA-=========...-\1"
983 "ClfPerfr\1" " ClfPerfr 2 0 1.3 175 161 0 AAGAUUAAU-A=C=========-U.\1"
984 "AclPleur\1" " AclPleur 5 0 2.4 50 45 0 GAAGGGAGC-=ug=u=u====G-CCGACGAGU\1"
985 "PtVVVulg\1" " PtVVVulg 5 0 2.4 50 45 0 GGAGAAAGC-=ug=u=u===g=-UGACGAGCG\1";
987 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
988 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
989 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
996 const char *arguments[] = {
998 "matchsequence=CANCUCCUUUC",
1005 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUUC'\1"
1006 "BcSSSS00\1" " BcSSSS00 1 1 0.9 176 162 0 CGGCUGGAU-==C========-U.\1";
1008 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUUC'\1"
1009 "BcSSSS00\1" " BcSSSS00 1 1 0.9 176 162 0 CGGCUGGAU-==C========-U.\1"
1010 "ClfPerfr\1" " ClfPerfr 2 1 2.0 176 162 0 AGAUUAAUA-=CC========-U.\1"
1011 "PbcAcet2\1" " PbcAcet2 2 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
1012 "PbrPropi\1" " PbrPropi 2 2 1.6 176 162 0 CGGCUGGAU-==C=======N-N.\1"
1013 "Stsssola\1" " Stsssola 2 2 1.6 176 162 0 CGGCUGGAU-==C=======.-\1"
1014 "DcdNodos\1" " DcdNodos 2 2 1.6 176 162 0 CGGUUGGAU-==C=======.-\1"
1015 "VbrFurni\1" " VbrFurni 2 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
1016 "VblVulni\1" " VblVulni 2 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1"
1017 "VbhChole\1" " VbhChole 2 2 1.6 176 162 0 GCGCUGGAU-==C=======.-\1";
1019 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1020 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1021 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1024 const char *arguments[] = {
1026 "matchsequence=UUUCUUU",
1031 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UUUCUUU'\1"
1032 "AclPleur\1" " AclPleur 0 0 0.0 54 49 0 GGAGCUUGC-=======-GCCGACGAG\1";
1034 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UUUCUUU'\1"
1035 "AclPleur\1" " AclPleur 0 0 0.0 54 49 0 GGAGCUUGC-=======-GCCGACGAG\1"
1036 "AclPleur\1" " AclPleur 1 0 0.6 50 45 0 GAAGGGAGC-==g====-CUUUGCCGA\1"
1037 "PtVVVulg\1" " PtVVVulg 1 0 0.6 50 45 0 GGAGAAAGC-==g====-CUUGCUGAC\1"
1038 "PtVVVulg\1" " PtVVVulg 1 0 0.6 54 49 0 AAAGCUUGC-======g-CUGACGAGC\1"
1039 "ClfPerfr\1" " ClfPerfr 1 0 1.1 49 44 0 GCGAUGAAG-====C==-CGGGAAACG\1";
1041 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UUUCUUU'\1"
1042 "AclPleur\1" " AclPleur 0 0 0.0 54 49 0 GGAGCUUGC-=======-GCCGACGAG\1"
1043 "AclPleur\1" " AclPleur 1 0 0.6 50 45 0 GAAGGGAGC-==g====-CUUUGCCGA\1"
1044 "PtVVVulg\1" " PtVVVulg 1 0 0.6 50 45 0 GGAGAAAGC-==g====-CUUGCUGAC\1"
1045 "PtVVVulg\1" " PtVVVulg 1 0 0.6 54 49 0 AAAGCUUGC-======g-CUGACGAGC\1"
1046 "ClfPerfr\1" " ClfPerfr 1 0 1.1 49 44 0 GCGAUGAAG-====C==-CGGGAAACG\1"
1047 "DlcTolu2\1" " DlcTolu2 2 0 1.2 47 42 0 AGAAAGGGA-==g===g-CAAUCCUGA\1"
1048 "ClnCorin\1" " ClnCorin 2 0 1.7 48 43 0 AGCGAUGAA-g===C==-CGGGAAUGG\1"
1049 "CPPParap\1" " CPPParap 2 0 1.7 48 43 0 AGCGAUGAA-g===C==-CGGGAACGG\1"
1050 "HllHalod\1" " HllHalod 2 0 1.7 49 44 0 GAUGGAAGC-==g===C-CAGGCGUCG\1"
1051 "DcdNodos\1" " DcdNodos 2 0 1.7 50 45 0 UUAUGUAGC-==g==A=-GUAACCUAG\1"
1052 "VbhChole\1" " VbhChole 2 0 1.7 55 50 0 GAGGAACUU-g===C==-GGGUGGCGA\1"
1053 "VbrFurni\1" " VbrFurni 2 0 1.7 62 57 0 UUCGGGGGA-===G==g-GGCGGCGAG\1"
1054 "VblVulni\1" " VblVulni 2 0 1.7 62 57 0 AGAAACUUG-=====Cg-GGUGGCGAG\1"
1055 "VbhChole\1" " VbhChole 2 0 1.7 62 57 0 AGGAACUUG-==C===g-GGUGGCGAG\1"
1056 "ClnCorin\1" " ClnCorin 2 0 2.2 49 44 0 GCGAUGAAG-==C===C-GGGAAUGGA\1"
1057 "CltBotul\1" " CltBotul 2 0 2.2 49 44 0 GCGAUGAAG-C=====C-GGAAGUGGA\1"
1058 "CPPParap\1" " CPPParap 2 0 2.2 49 44 0 GCGAUGAAG-==C===C-GGGAACGGA\1"
1059 "ClfPerfr\1" " ClfPerfr 2 0 2.2 50 45 0 CGAUGAAGU-==C===C-GGGAAACGG\1"
1060 "VblVulni\1" " VblVulni 2 0 2.2 52 47 0 ACAGAGAAA-C==G===-CUCGGGUGG\1"
1061 "BcSSSS00\1" " BcSSSS00 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-CU.\1"
1062 "ClfPerfr\1" " ClfPerfr 2 0 2.2 179 165 0 UUAAUACCC-C=C====-CU.\1"
1063 "PbcAcet2\1" " PbcAcet2 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-NN.\1"
1064 "PbrPropi\1" " PbrPropi 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-NN.\1"
1065 "Stsssola\1" " Stsssola 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-.\1"
1066 "DcdNodos\1" " DcdNodos 2 0 2.2 179 165 0 UUGGAUCAC-C=C====-.\1"
1067 "VbrFurni\1" " VbrFurni 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-.\1"
1068 "VblVulni\1" " VblVulni 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-.\1"
1069 "VbhChole\1" " VbhChole 2 0 2.2 179 165 0 CUGGAUCAC-C=C====-.\1"
1070 "BcSSSS00\1" " BcSSSS00 2 2 1.4 183 169 0 AUCACCUCC-=====..-\1"
1071 "ClfPerfr\1" " ClfPerfr 2 2 1.4 183 169 0 UACCCCUCC-=====..-\1";
1073 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1074 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1075 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1078 const char *arguments[] = {
1080 "matchsequence=UCACCUCCUUUC",
1085 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
1086 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1" "";
1088 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
1089 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
1090 "PbcAcet2\1" " PbcAcet2 1 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
1091 "PbrPropi\1" " PbrPropi 1 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
1092 "Stsssola\1" " Stsssola 1 1 0.7 175 161 0 GCGGCUGGA-===========.-\1"
1093 "DcdNodos\1" " DcdNodos 1 1 0.7 175 161 0 GCGGUUGGA-===========.-\1"
1094 "VbrFurni\1" " VbrFurni 1 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
1095 "VblVulni\1" " VblVulni 1 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
1096 "VbhChole\1" " VbhChole 1 1 0.7 175 161 0 GGCGCUGGA-===========.-\1";
1098 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUC'\1"
1099 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-============-U.\1"
1100 "PbcAcet2\1" " PbcAcet2 1 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
1101 "PbrPropi\1" " PbrPropi 1 1 0.7 175 161 0 GCGGCUGGA-===========N-N.\1"
1102 "Stsssola\1" " Stsssola 1 1 0.7 175 161 0 GCGGCUGGA-===========.-\1"
1103 "DcdNodos\1" " DcdNodos 1 1 0.7 175 161 0 GCGGUUGGA-===========.-\1"
1104 "VbrFurni\1" " VbrFurni 1 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
1105 "VblVulni\1" " VblVulni 1 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
1106 "VbhChole\1" " VbhChole 1 1 0.7 175 161 0 GGCGCUGGA-===========.-\1"
1107 "ClfPerfr\1" " ClfPerfr 2 0 2.2 175 161 0 AAGAUUAAU-A=C=========-U.\1"
1108 "AclPleur\1" " AclPleur 2 1 1.8 175 161 0 GCGGUUGGA-==========A.-\1"
1109 "PtVVVulg\1" " PtVVVulg 2 1 1.8 175 161 0 GCGGUUGGA-==========A.-\1"
1110 "DlcTolu2\1" " DlcTolu2 2 2 1.4 175 161 0 GCGGCUGGA-==========NN-N.\1"
1111 "FrhhPhil\1" " FrhhPhil 2 2 1.4 175 161 0 GCGGCUGGA-==========..-\1"
1112 "HllHalod\1" " HllHalod 2 2 1.4 175 161 0 GCGGCUGGA-==========..-\1"
1113 "CPPParap\1" " CPPParap 2 2 1.4 176 162 0 GCGGNUGGA-==========..-\1";
1115 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1116 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1117 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1120 const char *arguments[] = {
1122 "matchsequence=UCACCUCCUUUCU",
1127 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUCU'\1"
1128 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-=============-.\1";
1130 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUCU'\1"
1131 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-=============-.\1"
1132 "ClfPerfr\1" " ClfPerfr 2 0 2.2 175 161 0 AAGAUUAAU-A=C==========-.\1"
1133 "PbcAcet2\1" " PbcAcet2 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1134 "PbrPropi\1" " PbrPropi 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1135 "Stsssola\1" " Stsssola 2 2 1.4 175 161 0 GCGGCUGGA-===========..-\1"
1136 "DcdNodos\1" " DcdNodos 2 2 1.4 175 161 0 GCGGUUGGA-===========..-\1"
1137 "VbrFurni\1" " VbrFurni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1138 "VblVulni\1" " VblVulni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1139 "VbhChole\1" " VbhChole 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1";
1141 CCP expectd3 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUCU'\1"
1142 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-=============-.\1"
1143 "ClfPerfr\1" " ClfPerfr 2 0 2.2 175 161 0 AAGAUUAAU-A=C==========-.\1"
1144 "PbcAcet2\1" " PbcAcet2 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1145 "PbrPropi\1" " PbrPropi 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1146 "Stsssola\1" " Stsssola 2 2 1.4 175 161 0 GCGGCUGGA-===========..-\1"
1147 "DcdNodos\1" " DcdNodos 2 2 1.4 175 161 0 GCGGUUGGA-===========..-\1"
1148 "VbrFurni\1" " VbrFurni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1149 "VblVulni\1" " VblVulni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1150 "VbhChole\1" " VbhChole 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1151 "AclPleur\1" " AclPleur 3 2 2.5 175 161 0 GCGGUUGGA-==========A..-\1"
1152 "PtVVVulg\1" " PtVVVulg 3 2 2.5 175 161 0 GCGGUUGGA-==========A..-\1"
1153 "DlcTolu2\1" " DlcTolu2 3 3 2.1 175 161 0 GCGGCUGGA-==========NNN-.\1"
1154 "FrhhPhil\1" " FrhhPhil 3 3 2.1 175 161 0 GCGGCUGGA-==========...-\1"
1155 "HllHalod\1" " HllHalod 3 3 2.1 175 161 0 GCGGCUGGA-==========...-\1"
1156 "CPPParap\1" " CPPParap 3 3 2.1 176 162 0 GCGGNUGGA-==========...-\1";
1158 CCP expectd4 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUCU'\1"
1159 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-=============-.\1"
1160 "ClfPerfr\1" " ClfPerfr 2 0 2.2 175 161 0 AAGAUUAAU-A=C==========-.\1"
1161 "PbcAcet2\1" " PbcAcet2 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1162 "PbrPropi\1" " PbrPropi 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1163 "Stsssola\1" " Stsssola 2 2 1.4 175 161 0 GCGGCUGGA-===========..-\1"
1164 "DcdNodos\1" " DcdNodos 2 2 1.4 175 161 0 GCGGUUGGA-===========..-\1"
1165 "VbrFurni\1" " VbrFurni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1166 "VblVulni\1" " VblVulni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1167 "VbhChole\1" " VbhChole 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1168 "AclPleur\1" " AclPleur 3 2 2.5 175 161 0 GCGGUUGGA-==========A..-\1"
1169 "PtVVVulg\1" " PtVVVulg 3 2 2.5 175 161 0 GCGGUUGGA-==========A..-\1"
1170 "DlcTolu2\1" " DlcTolu2 3 3 2.1 175 161 0 GCGGCUGGA-==========NNN-.\1"
1171 "FrhhPhil\1" " FrhhPhil 3 3 2.1 175 161 0 GCGGCUGGA-==========...-\1"
1172 "HllHalod\1" " HllHalod 3 3 2.1 175 161 0 GCGGCUGGA-==========...-\1"
1173 "CPPParap\1" " CPPParap 3 3 2.1 176 162 0 GCGGNUGGA-==========...-\1"
1174 "LgtLytic\1" " LgtLytic 4 4 2.8 175 161 0 GCGGCUGGA-=========N...-\1"
1175 "PslFlave\1" " PslFlave 4 4 2.8 175 161 0 GCGGCUGGA-=========....-\1";
1177 CCP expectd5 =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCACCUCCUUUCU'\1"
1178 "BcSSSS00\1" " BcSSSS00 0 0 0.0 175 161 0 GCGGCUGGA-=============-.\1"
1179 "ClfPerfr\1" " ClfPerfr 2 0 2.2 175 161 0 AAGAUUAAU-A=C==========-.\1"
1180 "PbcAcet2\1" " PbcAcet2 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1181 "PbrPropi\1" " PbrPropi 2 2 1.4 175 161 0 GCGGCUGGA-===========NN-.\1"
1182 "Stsssola\1" " Stsssola 2 2 1.4 175 161 0 GCGGCUGGA-===========..-\1"
1183 "DcdNodos\1" " DcdNodos 2 2 1.4 175 161 0 GCGGUUGGA-===========..-\1"
1184 "VbrFurni\1" " VbrFurni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1185 "VblVulni\1" " VblVulni 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1186 "VbhChole\1" " VbhChole 2 2 1.4 175 161 0 GGCGCUGGA-===========..-\1"
1187 "AclPleur\1" " AclPleur 3 2 2.5 175 161 0 GCGGUUGGA-==========A..-\1"
1188 "PtVVVulg\1" " PtVVVulg 3 2 2.5 175 161 0 GCGGUUGGA-==========A..-\1"
1189 "DlcTolu2\1" " DlcTolu2 3 3 2.1 175 161 0 GCGGCUGGA-==========NNN-.\1"
1190 "FrhhPhil\1" " FrhhPhil 3 3 2.1 175 161 0 GCGGCUGGA-==========...-\1"
1191 "HllHalod\1" " HllHalod 3 3 2.1 175 161 0 GCGGCUGGA-==========...-\1"
1192 "CPPParap\1" " CPPParap 3 3 2.1 176 162 0 GCGGNUGGA-==========...-\1"
1193 "LgtLytic\1" " LgtLytic 4 4 2.8 175 161 0 GCGGCUGGA-=========N...-\1"
1194 "PslFlave\1" " PslFlave 4 4 2.8 175 161 0 GCGGCUGGA-=========....-\1"
1195 "PtVVVulg\1" " PtVVVulg 5 0 2.6 50 45 0 GGAGAAAGC-=ug=u=u===g==-GACGAGCGG\1"
1196 "AclPleur\1" " AclPleur 5 0 3.5 46 41 0 ACGGGAAGG-gag=u=G======-UUGCCGACG\1"
1197 "PtVVVulg\1" " PtVVVulg 5 0 4.0 45 40 0 ...AGGAGA-Aag=u=G======-UGCUGACGA\1"
1198 "VblVulni\1" " VblVulni 5 0 4.3 48 43 0 CAGCACAGA-ga=a==uG=====-CGGGUGGCG\1";
1200 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1201 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1202 arguments[2] =
"matchmismatches=3"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd3);
1203 arguments[2] =
"matchmismatches=4"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd4);
1204 arguments[2] =
"matchmismatches=5"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd5);
1211 const char *arguments[] = {
1213 "matchsequence=CANCUCCUUNC",
1219 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUNC'\1"
1220 "BcSSSS00\1" " BcSSSS00 0 2 1.7 176 162 0 CGGCUGGAU-==C======U=-U.\1";
1222 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUNC'\1"
1223 "BcSSSS00\1" " BcSSSS00 0 2 1.7 176 162 0 CGGCUGGAU-==C======U=-U.\1"
1224 "ClfPerfr\1" " ClfPerfr 1 2 2.8 176 162 0 AGAUUAAUA-=CC======U=-U.\1"
1225 "DlcTolu2\1" " DlcTolu2 1 3 2.4 176 162 0 CGGCUGGAU-==C=======N-N.\1"
1226 "FrhhPhil\1" " FrhhPhil 1 3 2.4 176 162 0 CGGCUGGAU-==C======..-\1"
1227 "HllHalod\1" " HllHalod 1 3 2.4 176 162 0 CGGCUGGAU-==C======..-\1"
1228 "CPPParap\1" " CPPParap 1 3 2.4 177 163 0 CGGNUGGAU-==C======..-\1"
1229 "PbcAcet2\1" " PbcAcet2 1 3 2.4 176 162 0 CGGCUGGAU-==C======UN-N.\1"
1230 "PbrPropi\1" " PbrPropi 1 3 2.4 176 162 0 CGGCUGGAU-==C======UN-N.\1"
1231 "Stsssola\1" " Stsssola 1 3 2.4 176 162 0 CGGCUGGAU-==C======U.-\1"
1232 "DcdNodos\1" " DcdNodos 1 3 2.4 176 162 0 CGGUUGGAU-==C======U.-\1"
1233 "VbrFurni\1" " VbrFurni 1 3 2.4 176 162 0 GCGCUGGAU-==C======U.-\1"
1234 "VblVulni\1" " VblVulni 1 3 2.4 176 162 0 GCGCUGGAU-==C======U.-\1"
1235 "VbhChole\1" " VbhChole 1 3 2.4 176 162 0 GCGCUGGAU-==C======U.-\1"
1236 "AclPleur\1" " AclPleur 1 3 2.5 176 162 0 CGGUUGGAU-==C======A.-\1"
1237 "PtVVVulg\1" " PtVVVulg 1 3 2.5 176 162 0 CGGUUGGAU-==C======A.-\1";
1239 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCUCCUUNC'\1"
1240 "BcSSSS00\1" " BcSSSS00 0 2 1.7 176 162 0 CGGCUGGAU-==C======U=-U.\1"
1241 "ClfPerfr\1" " ClfPerfr 1 2 2.8 176 162 0 AGAUUAAUA-=CC======U=-U.\1"
1242 "DlcTolu2\1" " DlcTolu2 1 3 2.4 176 162 0 CGGCUGGAU-==C=======N-N.\1"
1243 "FrhhPhil\1" " FrhhPhil 1 3 2.4 176 162 0 CGGCUGGAU-==C======..-\1"
1244 "HllHalod\1" " HllHalod 1 3 2.4 176 162 0 CGGCUGGAU-==C======..-\1"
1245 "CPPParap\1" " CPPParap 1 3 2.4 177 163 0 CGGNUGGAU-==C======..-\1"
1246 "PbcAcet2\1" " PbcAcet2 1 3 2.4 176 162 0 CGGCUGGAU-==C======UN-N.\1"
1247 "PbrPropi\1" " PbrPropi 1 3 2.4 176 162 0 CGGCUGGAU-==C======UN-N.\1"
1248 "Stsssola\1" " Stsssola 1 3 2.4 176 162 0 CGGCUGGAU-==C======U.-\1"
1249 "DcdNodos\1" " DcdNodos 1 3 2.4 176 162 0 CGGUUGGAU-==C======U.-\1"
1250 "VbrFurni\1" " VbrFurni 1 3 2.4 176 162 0 GCGCUGGAU-==C======U.-\1"
1251 "VblVulni\1" " VblVulni 1 3 2.4 176 162 0 GCGCUGGAU-==C======U.-\1"
1252 "VbhChole\1" " VbhChole 1 3 2.4 176 162 0 GCGCUGGAU-==C======U.-\1"
1253 "AclPleur\1" " AclPleur 1 3 2.5 176 162 0 CGGUUGGAU-==C======A.-\1"
1254 "PtVVVulg\1" " PtVVVulg 1 3 2.5 176 162 0 CGGUUGGAU-==C======A.-\1";
1256 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1257 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1258 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1262 const char *arguments[] = {
1264 "matchsequence=GAGCGGUCAG",
1272 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'GAGCGGUCAG'\1"
1273 "BcSSSS00\1" " BcSSSS00 1 0 1.1 25 21 0 GAUCAAGUC-======A===-AUGGGAGCU\1";
1275 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'GAGCGGUCAG'\1"
1276 "BcSSSS00\1" " BcSSSS00 1 0 1.1 25 21 0 GAUCAAGUC-======A===-AUGGGAGCU\1"
1277 "Bl0LLL00\1" " Bl0LLL00 2 0 2.2 25 21 0 GAUCAAGUC-======A=C=-ACGGGAGCU\1";
1280 CCP expectd3 =
" name---- fullname mis N_mis wmis pos ecoli rev 'GAGCGGUCAG'\1"
1281 "BcSSSS00\1" " BcSSSS00 1 0 1.1 25 21 0 GAUCAAGUC-======A===-AUGGGAGCU\1"
1282 "Bl0LLL00\1" " Bl0LLL00 2 0 2.2 25 21 0 GAUCAAGUC-======A=C=-ACGGGAGCU\1"
1283 "VbrFurni\1" " VbrFurni 3 0 2.4 68 60 0 GGAUUUGUU-=g====CG==-CGGCGGACG\1"
1284 "FrhhPhil\1" " FrhhPhil 3 0 2.8 82 70 0 ACGAGUGGC-=gA===C===-UUGGAAACG\1"
1285 "ClfPerfr\1" " ClfPerfr 3 0 3.2 86 74 0 CGGCGGGAC-=g==CU====-AACCUGCGG\1"
1286 "HllHalod\1" " HllHalod 3 0 3.6 25 21 0 GAUCAAGUC-======Aa=C-GAUGGAAGC\1"
1287 "DlcTolu2\1" " DlcTolu2 3 0 3.6 95 83 0 GGACUGCCC-==Aa==A===-CUAAUACCG\1"
1288 "FrhhPhil\1" " FrhhPhil 3 0 4.0 25 21 0 GAUCAAGUC-==A====a=C-AGGUCUUCG\1"
1289 "AclPleur\1" " AclPleur 3 0 4.0 29 24 0 GAUCAAGUC-==A====a=C-GGGAAGGGA\1"
1290 "ClnCorin\1" " ClnCorin 3 0 4.1 25 21 0 GAUCAAGUC-=====A=G=A-GUUCCUUCG\1"
1291 "CltBotul\1" " CltBotul 3 0 4.1 25 21 0 .AUCAAGUC-=====A=G=A-GCUUCUUCG\1"
1292 "CPPParap\1" " CPPParap 3 0 4.1 25 21 0 GAUCAAGUC-=====A=G=A-GUUCCUUCG\1"
1293 "ClfPerfr\1" " ClfPerfr 3 0 4.1 25 21 0 GAUCAAGUC-=====A=G=A-GUUUCCUUC\1"
1294 "DlcTolu2\1" " DlcTolu2 3 0 4.1 157 143 0 GUAGCCGUU-===GAA====-CGGCUGGAU\1"
1295 "PslFlave\1" " PslFlave 3 3 2.4 25 21 0 GAUCAAGUC-=======...-<more>\1"
1296 "PtVVVulg\1" " PtVVVulg 3 3 2.4 29 24 0 GAUCAAGUC-=======...-<more>\1";
1298 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1299 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1300 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1301 arguments[2] =
"matchmismatches=3"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd3);
1305 const char *arguments[] = {
1307 "matchsequence=GAGCGGUCAGGAG",
1313 CCP expectd3 =
" name---- fullname mis N_mis wmis pos ecoli rev 'GAGCGGUCAGGAG'\1"
1314 "ClnCorin\1" " ClnCorin 6 0 3.4 77 66 0 AUGGAUUAG-Cg====A=g==CC-UUUCGAAAG\1"
1315 "CltBotul\1" " CltBotul 6 0 3.4 77 66 0 GUGGAUUAG-Cg====A=g==CC-UUUCGAAAG\1"
1316 "CPPParap\1" " CPPParap 6 0 3.4 77 66 0 ACGGAUUAG-Cg====A=g==CC-UUCCGAAAG\1"
1317 "BcSSSS00\1" " BcSSSS00 3 0 3.4 25 21 0 GAUCAAGUC-======A===AU=-GGAGCUUGC\1";
1319 CCP expectd4 =
" name---- fullname mis N_mis wmis pos ecoli rev 'GAGCGGUCAGGAG'\1"
1320 "ClnCorin\1" " ClnCorin 6 0 3.4 77 66 0 AUGGAUUAG-Cg====A=g==CC-UUUCGAAAG\1"
1321 "CltBotul\1" " CltBotul 6 0 3.4 77 66 0 GUGGAUUAG-Cg====A=g==CC-UUUCGAAAG\1"
1322 "CPPParap\1" " CPPParap 6 0 3.4 77 66 0 ACGGAUUAG-Cg====A=g==CC-UUCCGAAAG\1"
1323 "BcSSSS00\1" " BcSSSS00 3 0 3.4 25 21 0 GAUCAAGUC-======A===AU=-GGAGCUUGC\1"
1324 "ClfPerfr\1" " ClfPerfr 6 0 3.9 121 108 0 AUCAUAAUG-C====A=ug==gU-GAAGUCGUA\1"
1325 "ClnCorin\1" " ClnCorin 6 0 3.9 122 109 0 CGCAUAAGA-C====A=ug==gU-GAAGUCGUA\1"
1326 "CltBotul\1" " CltBotul 6 0 3.9 122 109 0 CUCAUAAGA-C====A=ug==gU-GAAGUCGUA\1"
1327 "CPPParap\1" " CPPParap 6 0 3.9 122 109 0 GCAUAAGAU-C====A=ug==gU-AAGUCGUAA\1"
1328 "DcdNodos\1" " DcdNodos 6 0 4.2 77 66 0 GUAACCUAG-Ug====A=g=AC=-UAUGGAAAC\1"
1329 "PsAAAA00\1" " PsAAAA00 6 0 4.2 77 66 0 UGGAUUCAG-Cg====A=g=AC=-UCCGGAAAC\1"
1330 "PslFlave\1" " PslFlave 6 0 4.2 77 66 0 CUGAUUCAG-Cg====A=g=AC=-UUUCGAAAG\1"
1331 "FrhhPhil\1" " FrhhPhil 5 0 4.2 149 135 0 UAACAAUGG-U===C==ag===A-CCUGCGGCU\1"
1332 "AclPleur\1" " AclPleur 4 0 4.3 29 24 0 GAUCAAGUC-==A====a=C=g=-AAGGGAGCU\1"
1333 "PbcAcet2\1" " PbcAcet2 6 0 4.3 149 135 0 GUAACAAGG-U===C==ag==gA-ACCUGCGGC\1"
1334 "PbrPropi\1" " PbrPropi 6 0 4.3 149 135 0 GUAACAAGG-U===C==ag==gA-ACCUGCGGC\1"
1335 "Stsssola\1" " Stsssola 6 0 4.3 149 135 0 GUAACAAGG-U===C==ag==gA-ACCUGCGGC\1"
1336 "LgtLytic\1" " LgtLytic 6 0 4.3 149 135 0 GUAACAAGG-U===C==ag==gA-ACCUGCGGC\1"
1337 "PslFlave\1" " PslFlave 6 0 4.3 149 135 0 GUAACAAGG-U===C==ag==gA-ACCUGCGGC\1"
1338 "HllHalod\1" " HllHalod 6 0 4.3 149 135 0 GUAACAAGG-U===C==ag==gA-ACCUGCGGC\1"
1339 "VbrFurni\1" " VbrFurni 5 0 4.4 68 60 0 GGAUUUGUU-=g====CG==Cg=-CGGACGGAC\1"
1340 "AclPleur\1" " AclPleur 6 0 4.4 35 30 0 GUCGAACGG-U=A===ga===gA-GCUUGCUUU\1"
1341 "PslFlave\1" " PslFlave 6 6 4.4 25 21 0 GAUCAAGUC-=======......-<more>\1"
1342 "PtVVVulg\1" " PtVVVulg 6 6 4.4 29 24 0 GAUCAAGUC-=======......-<more>\1"
1343 "VbrFurni\1" " VbrFurni 6 0 4.4 149 135 0 GUAACAAGG-U====C=ag==gA-ACCUGGCGC\1"
1344 "VblVulni\1" " VblVulni 6 0 4.4 149 135 0 GUAACAAGG-U====C=ag==gA-ACCUGGCGC\1"
1345 "VbhChole\1" " VbhChole 6 0 4.4 149 135 0 GUAACAAGG-U====C=ag==gA-ACCUGGCGC\1";
1347 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1348 arguments[2] =
"matchmismatches=3"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd3);
1349 arguments[2] =
"matchmismatches=4"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd4);
1356 const char *arguments[] = {
1358 "matchsequence=CANCNCNNUNC",
1362 "matchmaxresults=5",
1365 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCNCNNUNC'\1"
1366 "BcSSSS00\1" " BcSSSS00 0 5 4.2 176 162 0 CGGCUGGAU-==C=U=CU=U=-U.\1";
1369 CCP expectd1 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCNCNNUNC'\1"
1370 "DlcTolu2\1" " DlcTolu2 1 6 4.9 176 162 0 CGGCUGGAU-==C=U=CU==N-N.\1"
1371 "FrhhPhil\1" " FrhhPhil 1 6 4.9 176 162 0 CGGCUGGAU-==C=U=CU=..-\1"
1372 "HllHalod\1" " HllHalod 1 6 4.9 176 162 0 CGGCUGGAU-==C=U=CU=..-\1"
1373 "CPPParap\1" " CPPParap 1 6 4.9 177 163 0 CGGNUGGAU-==C=U=CU=..-\1"
1374 "AclPleur\1" " AclPleur 1 6 5.0 176 162 0 CGGUUGGAU-==C=U=CU=A.-\1";
1377 CCP expectd2 =
" name---- fullname mis N_mis wmis pos ecoli rev 'CANCNCNNUNC'\1"
1378 "HllHalod\1" " HllHalod 2 5 5.1 45 40 0 AAACGAUGG-a=G=UuGC=U=-CAGGCGUCG\1"
1379 "VblVulni\1" " VblVulni 2 5 5.4 49 44 0 AGCACAGAG-a=A=UuGU=U=-UCGGGUGGC\1"
1380 "VbrFurni\1" " VbrFurni 2 5 5.7 40 35 0 CGGCAGCGA-==A=AuUGAA=-CUUCGGGGG\1"
1381 "LgtLytic\1" " LgtLytic 2 5 6.2 101 89 0 GGGGAAACU-==AGCuAA=A=-CGCAUAAUC\1"
1382 "ClfPerfr\1" " ClfPerfr 2 5 6.5 172 158 0 AGGAAGAUU-a=UaC=CC=C=-UUUCU.\1";
1384 arguments[2] =
"matchmismatches=0"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1385 arguments[2] =
"matchmismatches=1"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd1);
1386 arguments[2] =
"matchmismatches=2"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd2);
1392 const char *arguments[] = {
1394 "matchsequence=ACGGACUCCGGGAAACCGGGGCUAAUACC",
1398 "matchmaxresults=10",
1401 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'ACGGACUCCGGGAAACCGGGGCUAAUACC'\1"
1402 "BcSSSS00\1" " BcSSSS00 0 0 0.0 84 72 0 UAGCGGCGG-=============================-GGAUGGUGA\1"
1403 "Bl0LLL00\1" " Bl0LLL00 0 0 0.0 84 72 0 CAGCGGCGG-=============================-GGAUGCUGA\1"
1404 "AclPleur\1" " AclPleur 4 0 4.6 84 72 0 GAGUGGCGG-=======a========u=UA=========-GCGUAAUCA\1"
1405 "PtVVVulg\1" " PtVVVulg 4 0 5.1 84 72 0 GAGCGGCGG-=======a=U======G=U==========-GCAUGACCA\1"
1406 "DsssDesu\1" " DsssDesu 5 0 5.3 84 72 0 GAGUGGCGC-========u=C====Gu==A=========-GGAUACAGA\1"
1407 "PsAAAA00\1" " PsAAAA00 5 0 5.3 84 72 0 CAGCGGCGG-======gu=C======G==C=========-GCAUACGCA\1";
1409 arguments[2] =
"matchmismatches=5"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1412 const char *arguments[] = {
1414 "matchsequence=ACGGACUCCGGGAAACCGGGGCUAAUACCGGAUGGUGA",
1418 "matchmaxresults=100",
1421 CCP expectd0 =
" name---- fullname mis N_mis wmis pos ecoli rev 'ACGGACUCCGGGAAACCGGGGCUAAUACCGGAUGGUGA'\1"
1422 "BcSSSS00\1" " BcSSSS00 0 0 0.0 84 72 0 UAGCGGCGG-======================================-UGAUUGGGG\1"
1423 "Bl0LLL00\1" " Bl0LLL00 1 0 1.5 84 72 0 CAGCGGCGG-==================================C===-UGAUUGGGG\1"
1424 "DsssDesu\1" " DsssDesu 8 0 9.4 84 72 0 GAGUGGCGC-========u=C====Gu==A=============ACA==-G.\1"
1425 "PtVVVulg\1" " PtVVVulg 8 0 10.7 84 72 0 GAGCGGCGG-=======a=U======G=U===========C===ACC=-UGACUGGGG\1"
1426 "AclPleur\1" " AclPleur 9 0 10.8 84 72 0 GAGUGGCGG-=======a========u=UA==========Cg=AA=C=-UGACUGGGG\1"
1427 "PsAAAA00\1" " PsAAAA00 10 0 11.9 84 72 0 CAGCGGCGG-======gu=C======G==C==========C==ACgC=-UGGUAACAA\1"
1428 "LgtLytic\1" " LgtLytic 10 0 12.8 84 72 0 GAGNGGCGA-=======uG=======uCAA==========C==AA=C=-UGACUGGGG\1"
1429 "VbrFurni\1" " VbrFurni 10 0 12.8 84 72 0 GAGCGGCGG-======CauU======GAU===========C===A=C=-UGACUGGGG\1"
1430 "VblVulni\1" " VblVulni 10 0 12.8 84 72 0 GAGCGGCGG-======CauU======GAU===========C===A=C=-UGACUGGGG\1"
1431 "Stsssola\1" " Stsssola 10 0 12.9 84 72 0 AAGUGGCGC-======gG=U======G=UC=============AACA=-UGAUUGGGG\1"
1432 "DlcTolu2\1" " DlcTolu2 10 0 13.4 84 72 0 GAGUGGCGC-=======G=CC====GGACA==============AA==-UAAUUGGGG\1"
1433 "PbcAcet2\1" " PbcAcet2 11 0 12.2 84 72 0 AAGUGGCGC-======A=uUC====GG==U=============AAg=g-UAACUGGGG\1"
1434 "HllHalod\1" " HllHalod 11 0 13.0 84 72 0 GAGCGGCGG-======CuG=======uCA===========C==ACgC=-UGACUGGGG\1"
1435 "PbrPropi\1" " PbrPropi 12 0 13.6 84 72 0 UAGUGGCGC-======A=uUC====Ga==U=========U===AAg=g-UGACUGGGG\1"
1436 "DcdNodos\1" " DcdNodos 12 0 14.4 84 72 0 UAGUGGCGG-======guaU======GUAC==========C==AAg==-UGACUGGGG\1"
1437 "VbhChole\1" " VbhChole 12 0 15.4 84 72 0 GAGCGGCGG-======CauU======GAU===========C==AACC=-UGACUGGGG\1";
1439 arguments[2] =
"matchmismatches=12"; TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expectd0);
1445 const char *arguments[] = {
1447 "matchsequence=ACGGACUCCGGGAAACCGGGGCUAAUACCGGAUGGUGA",
1448 "matchmismatches=20",
1451 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments,
"Max. 19 mismatches are allowed for probes of length 38");
1455 static char *extract_locations(
const char *probe_design_result) {
1456 const char *
Target = strstr(probe_design_result,
"\nTarget");
1458 const char *designed = strchr(Target+7,
'\n');
1463 RegExpr reg_designed(
"^[A-Z]+"
1464 "[[:space:]]+[0-9]+"
1465 "[[:space:]]+([A-Z][=+-])"
1466 "[[:space:]]*([0-9]+)",
1471 const char *
eol = strchr(designed,
'\n');
1472 const RegMatch *match = reg_designed.match(designed);
if (!match)
break;
1474 match = reg_designed.subexpr_match(1);
if (!match)
break;
1477 match = reg_designed.subexpr_match(2);
if (!match)
break;
1483 designed = eol ? eol+1 :
NULp;
1493 inline const char *next_line(
const char *this_line) {
1494 const char *lf = strchr(this_line,
'\n');
1495 return (lf && lf[1] && strchr(
"ACGTU", lf[1])) ? lf+1 :
NULp;
1497 inline int count_hits(
const char *design_result) {
1498 const char *target = strstr(design_result,
"\nTarget");
1500 const char *hit = next_line(target+1);
1505 hit = next_line(hit);
1512 void TEST_SLOW_design_probe() {
1515 bool use_gene_ptserver =
false;
1519 const char *arguments[] = {
1521 "designnames=ClnCorin#CltBotul#CPPParap#ClfPerfr",
1522 "designmintargets=100",
1524 const char *expected =
1525 "Probe design parameters:\n"
1526 "Length of probe 18\n"
1527 "Temperature [ 0.0 -400.0]\n"
1528 "GC-content [30.0 - 80.0]\n"
1529 "E.Coli position [any]\n"
1530 "Max. nongroup hits 0\n"
1531 "Min. group hits 100% (max. rejected coverage: 75%)\n"
1532 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1533 "CGAAAGGAAGAUUAAUAC 18 A=94 82 77 4 33.3 48.0 GUAUUAAUCUUCCUUUCG | - - - - - - - - - - - - - - - - - - - -\n"
1534 "GAAAGGAAGAUUAAUACC 18 A+ 1 83 77 4 33.3 48.0 GGUAUUAAUCUUCCUUUC | - - - - - - - - - - - - - - - - - - - -\n"
1535 "UCAAGUCGAGCGAUGAAG 18 B=18 17 61 4 50.0 54.0 CUUCAUCGCUCGACUUGA | - - - - - - - - - - - - - - - 2 2 2 2 2\n"
1536 "AUCAAGUCGAGCGAUGAA 18 B- 1 16 45 4 44.4 52.0 UUCAUCGCUCGACUUGAU | - - - - - - - - - - - 2 2 2 2 2 2 2 2 2\n";
1538 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1539 hits_len_18 = count_hits(expected);
1544 char *positions = extract_locations(expected);
1552 const char *arguments[] = {
1554 "designnames=ClnCorin#CltBotul#CPPParap#ClfPerfr",
1555 "designmintargets=100",
1556 "designprobelength=17",
1558 const char *expected =
1559 "Probe design parameters:\n"
1560 "Length of probe 17\n"
1561 "Temperature [ 0.0 -400.0]\n"
1562 "GC-content [30.0 - 80.0]\n"
1563 "E.Coli position [any]\n"
1564 "Max. nongroup hits 0\n"
1565 "Min. group hits 100% (max. rejected coverage: 75%)\n"
1566 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1567 "CAAGUCGAGCGAUGAAG 17 A=19 18 65 4 52.9 52.0 CUUCAUCGCUCGACUUG | - - - - - - - - - - - - - - - - 2 2 2 2\n"
1568 "UCAAGUCGAGCGAUGAA 17 A- 1 17 49 4 47.1 50.0 UUCAUCGCUCGACUUGA | - - - - - - - - - - - - 2 2 2 2 2 2 2 2\n"
1569 "AUCAAGUCGAGCGAUGA 17 A- 2 16 33 4 47.1 50.0 UCAUCGCUCGACUUGAU | - - - - - - - - 2 2 2 2 2 2 2 2 2 2 2 4\n";
1571 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1572 hits_len_17 = count_hits(expected);
1578 const char *arguments[] = {
1580 "designnames=ClnCorin#CltBotul#CPPParap#ClfPerfr",
1581 "designmintargets=100",
1582 "designprobelength=16",
1584 const char *expected =
1585 "Probe design parameters:\n"
1586 "Length of probe 16\n"
1587 "Temperature [ 0.0 -400.0]\n"
1588 "GC-content [30.0 - 80.0]\n"
1589 "E.Coli position [any]\n"
1590 "Max. nongroup hits 0\n"
1591 "Min. group hits 100% (max. rejected coverage: 75%)\n"
1592 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1593 "CGAAAGGAAGAUUAAU 16 A=94 82 77 4 31.2 42.0 AUUAAUCUUCCUUUCG | - - - - - - - - - - - - - - - - - - - -\n"
1594 "AAGGAAGAUUAAUACC 16 A+ 3 85 77 4 31.2 42.0 GGUAUUAAUCUUCCUU | - - - - - - - - - - - - - - - - - - - -\n"
1595 "AAGUCGAGCGAUGAAG 16 B=20 19 69 4 50.0 48.0 CUUCAUCGCUCGACUU | - - - - - - - - - - - - - - - - - 2 2 2\n"
1596 "CAAGUCGAGCGAUGAA 16 B- 1 18 49 4 50.0 48.0 UUCAUCGCUCGACUUG | - - - - - - - - - - - - 2 2 2 2 2 2 2 2\n"
1597 "UCAAGUCGAGCGAUGA 16 B- 2 17 37 4 50.0 48.0 UCAUCGCUCGACUUGA | - - - - - - - - - 2 2 2 2 2 2 2 2 2 2 2\n"
1598 "AUCAAGUCGAGCGAUG 16 B- 3 16 21 4 50.0 48.0 CAUCGCUCGACUUGAU | - - - - - 2 2 2 2 2 2 2 2 2 2 2 2 9 9 9\n";
1600 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1601 hits_len_16 = count_hits(expected);
1607 const char *arguments[] = {
1609 "designnames=ClnCorin#CltBotul#CPPParap#ClfPerfr",
1610 "designmintargets=100",
1611 "designprobelength=16",
1612 "designmaxprobelength=18",
1614 const char *expected =
1615 "Probe design parameters:\n"
1616 "Length of probe 16-18\n"
1617 "Temperature [ 0.0 -400.0]\n"
1618 "GC-content [30.0 - 80.0]\n"
1619 "E.Coli position [any]\n"
1620 "Max. nongroup hits 0\n"
1621 "Min. group hits 100% (max. rejected coverage: 75%)\n"
1622 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1623 "CGAAAGGAAGAUUAAU 16 A=94 82 77 4 31.2 42.0 AUUAAUCUUCCUUUCG | - - - - - - - - - - - - - - - - - - - -\n"
1624 "CGAAAGGAAGAUUAAUAC 18 A+ 0 82 77 4 33.3 48.0 GUAUUAAUCUUCCUUUCG | - - - - - - - - - - - - - - - - - - - -\n"
1625 "GAAAGGAAGAUUAAUACC 18 A+ 1 83 77 4 33.3 48.0 GGUAUUAAUCUUCCUUUC | - - - - - - - - - - - - - - - - - - - -\n"
1626 "AAGGAAGAUUAAUACC 16 A+ 3 85 77 4 31.2 42.0 GGUAUUAAUCUUCCUU | - - - - - - - - - - - - - - - - - - - -\n"
1627 "AAGUCGAGCGAUGAAG 16 B=20 19 69 4 50.0 48.0 CUUCAUCGCUCGACUU | - - - - - - - - - - - - - - - - - 2 2 2\n"
1628 "CAAGUCGAGCGAUGAAG 17 B- 1 18 65 4 52.9 52.0 CUUCAUCGCUCGACUUG | - - - - - - - - - - - - - - - - 2 2 2 2\n"
1629 "UCAAGUCGAGCGAUGAAG 18 B- 2 17 61 4 50.0 54.0 CUUCAUCGCUCGACUUGA | - - - - - - - - - - - - - - - 2 2 2 2 2\n"
1630 "UCAAGUCGAGCGAUGAA 17 B- 2 17 49 4 47.1 50.0 UUCAUCGCUCGACUUGA | - - - - - - - - - - - - 2 2 2 2 2 2 2 2\n"
1631 "CAAGUCGAGCGAUGAA 16 B- 1 18 49 4 50.0 48.0 UUCAUCGCUCGACUUG | - - - - - - - - - - - - 2 2 2 2 2 2 2 2\n"
1632 "AUCAAGUCGAGCGAUGAA 18 B- 3 16 45 4 44.4 52.0 UUCAUCGCUCGACUUGAU | - - - - - - - - - - - 2 2 2 2 2 2 2 2 2\n"
1633 "UCAAGUCGAGCGAUGA 16 B- 2 17 37 4 50.0 48.0 UCAUCGCUCGACUUGA | - - - - - - - - - 2 2 2 2 2 2 2 2 2 2 2\n"
1634 "AUCAAGUCGAGCGAUGA 17 B- 3 16 33 4 47.1 50.0 UCAUCGCUCGACUUGAU | - - - - - - - - 2 2 2 2 2 2 2 2 2 2 2 4\n"
1635 "AUCAAGUCGAGCGAUG 16 B- 3 16 21 4 50.0 48.0 CAUCGCUCGACUUGAU | - - - - - 2 2 2 2 2 2 2 2 2 2 2 2 9 9 9\n";
1637 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1638 combined_hits = count_hits(expected);
1646 const char *arguments[] = {
1648 "designnames=VbhChole#VblVulni",
1649 "designmintargets=50",
1650 "designmingc=60",
"designmaxgc=75",
1653 const char *expected =
1654 "Probe design parameters:\n"
1655 "Length of probe 18\n"
1656 "Temperature [ 0.0 -400.0]\n"
1657 "GC-content [60.0 - 75.0]\n"
1658 "E.Coli position [any]\n"
1659 "Max. nongroup hits 0 (lowest rejected nongroup hits: 1)\n"
1660 "Min. group hits 50%\n"
1661 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1662 "AGUCGAGCGGCAGCACAG 18 A=21 20 39 2 66.7 60.0 CUGUGCUGCCGCUCGACU | - - - - - - - - - - - - - - - - - - - -\n"
1663 "GUCGAGCGGCAGCACAGA 18 A+ 1 21 39 2 66.7 60.0 UCUGUGCUGCCGCUCGAC | - - - - - - - - - - - - - - - - - - - -\n"
1664 "UCGAGCGGCAGCACAGAG 18 A+ 2 21 39 2 66.7 60.0 CUCUGUGCUGCCGCUCGA | - - - - - - - - - - - - - - - - - - - -\n"
1665 "AAGUCGAGCGGCAGCACA 18 A- 1 19 25 2 61.1 58.0 UGUGCUGCCGCUCGACUU | - - - - - - - - - - - - 1 1 1 1 1 1 1 1\n"
1666 "CGAGCGGCAGCACAGAGA 18 A+ 3 21 20 1 66.7 60.0 UCUCUGUGCUGCCGCUCG | - - - - - - - - - - - - - - - - - - - -\n"
1667 "CGAGCGGCAGCACAGAGG 18 A+ 3 21 20 1 72.2 62.0 CCUCUGUGCUGCCGCUCG | - - - - - - - - - - - - - - - - - - - -\n"
1668 "GAGCGGCAGCACAGAGAA 18 A+ 4 21 20 1 61.1 58.0 UUCUCUGUGCUGCCGCUC | - - - - - - - - - - - - - - - - - - - -\n"
1669 "GAGCGGCAGCACAGAGGA 18 A+ 4 21 20 1 66.7 60.0 UCCUCUGUGCUGCCGCUC | - - - - - - - - - - - - - - - - - - - -\n"
1670 "AGCGGCAGCACAGAGGAA 18 A+ 5 21 20 1 61.1 58.0 UUCCUCUGUGCUGCCGCU | - - - - - - - - - - - - - - - - - - - -\n"
1671 "GCGGCAGCACAGAGAAAC 18 A+ 6 22 20 1 61.1 58.0 GUUUCUCUGUGCUGCCGC | - - - - - - - - - - - - - - - - - - - -\n"
1672 "GCGGCAGCACAGAGGAAC 18 A+ 6 22 20 1 66.7 60.0 GUUCCUCUGUGCUGCCGC | - - - - - - - - - - - - - - - - - - - -\n"
1673 "CGGCAGCACAGAGGAACU 18 A+ 7 23 20 1 61.1 58.0 AGUUCCUCUGUGCUGCCG | - - - - - - - - - - - - - - - - - - - -\n"
1674 "CUUGUUCCUUGGGUGGCG 18 B=52 47 20 1 61.1 58.0 CGCCACCCAAGGAACAAG | - - - - - - - - - - - - - - - - - - - -\n"
1675 "CUUGUUUCUCGGGUGGCG 18 B+ 0 47 20 1 61.1 58.0 CGCCACCCGAGAAACAAG | - - - - - - - - - - - - - - - - - - - -\n"
1676 "UGUUCCUUGGGUGGCGAG 18 B+ 2 49 20 1 61.1 58.0 CUCGCCACCCAAGGAACA | - - - - - - - - - - - - - - - - - - - -\n"
1677 "UGUUUCUCGGGUGGCGAG 18 B+ 2 49 20 1 61.1 58.0 CUCGCCACCCGAGAAACA | - - - - - - - - - - - - - - - - - - - -\n"
1678 "GUUCCUUGGGUGGCGAGC 18 B+ 3 50 20 1 66.7 60.0 GCUCGCCACCCAAGGAAC | - - - - - - - - - - - - - - - - - - - -\n"
1679 "GUUUCUCGGGUGGCGAGC 18 B+ 3 50 20 1 66.7 60.0 GCUCGCCACCCGAGAAAC | - - - - - - - - - - - - - - - - - - - -\n"
1680 "UUCCUUGGGUGGCGAGCG 18 B+10 57 20 1 66.7 60.0 CGCUCGCCACCCAAGGAA | - - - - - - - - - - - - - - - - - - - -\n"
1681 "UUUCUCGGGUGGCGAGCG 18 B+10 57 20 1 66.7 60.0 CGCUCGCCACCCGAGAAA | - - - - - - - - - - - - - - - - - - - -\n"
1682 "UCCUUGGGUGGCGAGCGG 18 B+11 58 20 1 72.2 62.0 CCGCUCGCCACCCAAGGA | - - - - - - - - - - - - - - - - - - - -\n"
1683 "UUCUCGGGUGGCGAGCGG 18 B+11 58 20 1 72.2 62.0 CCGCUCGCCACCCGAGAA | - - - - - - - - - - - - - - - - - - - -\n"
1684 "CAAGUCGAGCGGCAGCAC 18 A- 2 18 13 2 66.7 60.0 GUGCUGCCGCUCGACUUG | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1685 "UCAAGUCGAGCGGCAGCA 18 A- 3 17 3 2 61.1 58.0 UGCUGCCGCUCGACUUGA | - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3\n";
1687 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1692 const char *arguments_loc[] = {
1695 "designnames=CPPParap#PsAAAA00",
1696 "designmintargets=50",
1697 "designmingc=0",
"designmaxgc=100",
1698 "designmintemp=30",
"designmaxtemp=100",
1700 "designprobelength=9",
1703 const char *expected_loc =
1704 "A=29B=51B+1C=99A+8D=112E=80E+2E+3E+4B-1A-5B-6B-5F=124F+1B-2E-7B+0C-5E+2E-1D-1E+6E+7E+8G=89C-2A-1H=61A-6C-1C-3E+3B+3B+4B+5E+5C+1E+4E+6E+7E+8C-7C-6E+5H+1H+2E-6C-4I=152I+1A-7";
1706 TEST_ARB_PROBE_FILT(
ARRAY_ELEMS(arguments_loc), arguments_loc, extract_locations, expected_loc);
1711 const char *arguments[] = {
1713 "designnames=CPPParap#PsAAAA00",
1714 "designmintargets=50",
1715 "designmingc=0",
"designmaxgc=100",
1716 "designmintemp=30",
"designmaxtemp=100",
1718 "designprobelength=9",
1721 const char *expected =
1722 "Probe design parameters:\n"
1723 "Length of probe 9\n"
1724 "Temperature [30.0 -100.0]\n"
1725 "GC-content [ 0.0 -100.0]\n"
1726 "E.Coli position [any]\n"
1727 "Max. nongroup hits 7 (lowest rejected nongroup hits: 9)\n"
1728 "Min. group hits 50%\n"
1729 "Target le apos ecol qual grps G+C temp Probe | Decrease T by n*.3C -> probe matches n non group species\n"
1730 "GAGCGGAUG 9 A= 29 24 20 1 66.7 30.0 CAUCCGCUC | - - - - - - - - - - - - - - - - - - - -\n"
1731 "UGCUCCUGG 9 B= 51 46 20 1 66.7 30.0 CCAGGAGCA | - - - - - - - - - - - - - - - - - - - -\n"
1732 "GCUCCUGGA 9 B+ 1 47 20 1 66.7 30.0 UCCAGGAGC | - - - - - - - - - - - - - - - - - - - -\n"
1733 "CGGGCGCUA 9 C= 99 87 20 1 77.8 32.0 UAGCGCCCG | - - - - - - - - - - - - - - - - - - - -\n"
1734 "GAAGGGAGC 9 A+ 8 32 20 1 66.7 30.0 GCUCCCUUC | 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2\n"
1735 "CGCAUACGC 9 D=112 100 20 1 66.7 30.0 GCGUAUGCG | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n"
1736 "CGGACGGGC 9 E= 80 69 20 1 88.9 34.0 GCCCGUCCG | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3\n"
1737 "GGACGGGCC 9 E+ 2 70 20 1 88.9 34.0 GGCCCGUCC | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1738 "GACGGGCCU 9 E+ 3 71 20 1 77.8 32.0 AGGCCCGUC | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1739 "ACGGGCCUU 9 E+ 4 72 20 1 66.7 30.0 AAGGCCCGU | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1740 "UCCUUCGGG 9 B- 1 45 20 1 66.7 30.0 CCCGAAGGA | 2 2 2 2 2 2 2 2 2 2 2 2 3 4 4 4 4 4 4 4\n"
1741 "CGAGCGAUG 9 A- 5 21 20 1 66.7 30.0 CAUCGCUCG | 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5\n"
1742 "GGGAGCUUG 9 B- 6 40 20 1 66.7 30.0 CAAGCUCCC | 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5\n"
1743 "GGAGCUUGC 9 B- 5 41 20 1 66.7 30.0 GCAAGCUCC | 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5\n"
1744 "GCGAUUGGG 9 F=124 111 20 1 66.7 30.0 CCCAAUCGC | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 6\n"
1745 "CGAUUGGGG 9 F+ 1 112 20 1 66.7 30.0 CCCCAAUCG | 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6\n"
1746 "GCUUGCUCC 9 B- 2 44 20 1 66.7 30.0 GGAGCAAGC | 4 4 4 4 4 4 5 5 5 5 5 5 5 7 7 7 7 8 8 8\n"
1747 "UUAGCGGCG 9 E- 7 62 19 1 66.7 30.0 CGCCGCUAA | 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 11 11\n"
1748 "CCUUCGGGA 9 B+ 0 46 18 1 66.7 30.0 UCCCGAAGG | 2 2 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 13\n"
1749 "GGAAACGGG 9 C- 5 82 17 1 66.7 30.0 CCCGUUUCC | - - - - - - - - - - - - - - - - 3 3 3 3\n"
1750 "GGACGGACG 9 E+ 2 70 17 1 77.8 32.0 CGUCCGUCC | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 10 10 14 14\n"
1751 "GCGGACGGG 9 E- 1 68 17 1 88.9 34.0 CCCGUCCGC | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 13 13 13 13\n"
1752 "CCGCAUACG 9 D- 1 99 16 1 66.7 30.0 CGUAUGCGG | 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 5 5 5 5 5\n"
1753 "GGACGUCCG 9 E+ 6 74 14 1 77.8 32.0 CGGACGUCC | - - - - - - - - - - - - - 1 1 1 1 3 3 3\n"
1754 "GACGUCCGG 9 E+ 7 75 14 1 77.8 32.0 CCGGACGUC | - - - - - - - - - - - - - 1 1 1 1 2 2 14\n"
1755 "ACGUCCGGA 9 E+ 8 76 14 1 66.7 30.0 UCCGGACGU | - - - - - - - - - - - - - 1 1 11 11 12 12 17\n"
1756 "CGUCCGGAA 9 G= 89 77 14 1 66.7 30.0 UUCCGGACG | - - - - - - - - - - - - - 1 1 1 1 2 2 2\n"
1757 "AACGGGCGC 9 C- 2 85 14 1 77.8 32.0 GCGCCCGUU | - - - - - - - - - - - - - 1 1 1 1 1 1 2\n"
1758 "CGAGCGGAU 9 A- 1 23 13 1 66.7 30.0 AUCCGCUCG | - - - - - - - - - - - - 3 3 3 3 3 3 3 3\n"
1759 "UUCAGCGGC 9 H= 61 56 13 1 66.7 30.0 GCCGCUGAA | 1 1 1 1 1 1 2 2 2 2 2 2 3 4 4 4 4 4 7 7\n"
1760 "UCGAGCGGA 9 A- 6 21 13 1 66.7 30.0 UCCGCUCGA | 3 3 3 3 3 3 3 3 3 3 3 3 8 8 8 8 8 8 8 8\n"
1761 "ACGGGCGCU 9 C- 1 86 12 1 77.8 32.0 AGCGCCCGU | - - - - - - - - - - - 1 1 1 1 1 1 2 2 2\n"
1762 "AAACGGGCG 9 C- 3 84 9 1 66.7 30.0 CGCCCGUUU | - - - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1\n"
1763 "GACGGACGU 9 E+ 3 71 9 1 66.7 30.0 ACGUCCGUC | 2 2 2 2 2 2 2 2 13 13 13 13 13 13 13 14 14 14 14 14\n"
1764 "UCGGGAACG 9 B+ 3 49 7 1 66.7 30.0 CGUUCCCGA | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1765 "CGGGAACGG 9 B+ 4 50 7 1 77.8 32.0 CCGUUCCCG | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1766 "GGGAACGGA 9 B+ 5 51 7 1 66.7 30.0 UCCGUUCCC | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1767 "CGGACGUCC 9 E+ 5 73 7 1 77.8 32.0 GGACGUCCG | - - - - - - 1 1 1 1 1 1 1 3 3 3 3 12 12 12\n"
1768 "GGGCGCUAA 9 C+ 1 88 7 1 66.7 30.0 UUAGCGCCC | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1769 "ACGGACGUC 9 E+ 4 72 7 1 66.7 30.0 GACGUCCGU | - - - - - - 2 2 3 3 3 4 4 4 4 5 5 5 5 13\n"
1770 "GGGCCUUCC 9 E+ 6 74 7 1 77.8 32.0 GGAAGGCCC | - - - - - - 2 2 2 2 2 3 3 3 3 3 3 3 3 4\n"
1771 "GGCCUUCCG 9 E+ 7 75 7 1 77.8 32.0 CGGAAGGCC | - - - - - - 2 2 2 2 2 3 3 3 3 3 3 3 3 3\n"
1772 "GCCUUCCGA 9 E+ 8 76 7 1 66.7 30.0 UCGGAAGGC | - - - - - - 2 2 2 2 2 3 3 3 3 3 3 3 3 3\n"
1773 "CCGGAAACG 9 C- 7 80 7 1 66.7 30.0 CGUUUCCGG | - - - - - - 2 2 2 2 2 2 2 6 7 9 9 10 10 10\n"
1774 "CGGAAACGG 9 C- 6 81 7 1 66.7 30.0 CCGUUUCCG | - - - - - - 2 2 4 4 4 4 4 4 5 5 6 6 6 6\n"
1775 "CGGGCCUUC 9 E+ 5 73 7 1 77.8 32.0 GAAGGCCCG | 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1776 "UCAGCGGCG 9 H+ 1 57 7 1 77.8 32.0 CGCCGCUGA | 2 2 2 2 2 2 6 6 6 6 6 6 6 6 6 6 7 7 7 7\n"
1777 "CAGCGGCGG 9 H+ 2 58 7 1 88.9 34.0 CCGCCGCUG | 2 2 2 2 2 2 6 6 6 6 6 6 6 7 12 12 12 12 12 12\n"
1778 "UAGCGGCGG 9 E- 6 63 7 1 77.8 32.0 CCGCCGCUA | 4 4 4 4 4 4 10 10 10 10 10 10 12 14 14 14 14 14 14 14\n"
1779 "GAAACGGGC 9 C- 4 83 5 1 66.7 30.0 GCCCGUUUC | - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1780 "GCCGUAGGA 9 I=152 138 3 1 66.7 30.0 UCCUACGGC | 1 1 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 12 12\n"
1781 "CCGUAGGAG 9 I+ 1 139 3 1 66.7 30.0 CUCCUACGG | 1 1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11\n"
1782 "GUCGAGCGA 9 A- 7 21 3 1 66.7 30.0 UCGCUCGAC | 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13\n";
1784 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1789 #else // !defined(ARB_64)
1802 const char *arguments[] = {
1804 "designnames=CPPParap#PsAAAA00",
1805 "designmintargets=50",
1806 "designmingc=0",
"designmaxgc=100",
1807 "designmintemp=30",
"designmaxtemp=100",
1810 "designprobelength=8",
1813 const char *expected =
1814 "Probe design parameters:\n"
1815 "Length of probe 8\n"
1816 "Temperature [30.0 -100.0]\n"
1817 "GC-content [ 0.0 -100.0]\n"
1818 "E.Coli position [any]\n"
1819 "Max. nongroup hits 15\n"
1820 "Min. group hits 50%\n"
1821 "Target le apos ecol qual grps G+C temp Probe | Decrease T by n*.3C -> probe matches n non group species\n"
1822 "GGCGGACG 8 A=78 67 39 2 87.5 30.0 CGUCCGCC | 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13\n"
1823 "GCGGACGG 8 A+ 1 68 39 2 87.5 30.0 CCGUCCGC | 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13\n"
1824 "AGCGGCGG 8 A- 3 64 39 2 87.5 30.0 CCGCCGCU | 11 11 11 11 11 11 11 14 14 14 14 14 14 14 14 14 14 14 14 14\n"
1825 "GCGGCGGA 8 A- 2 65 39 2 87.5 30.0 UCCGCCGC | 10 10 11 11 11 11 11 14 14 14 14 14 14 14 14 14 14 14 14 14\n"
1826 "CGGCGGAC 8 A- 1 66 39 2 87.5 30.0 GUCCGCCG | 10 10 10 10 10 10 10 13 13 13 13 13 13 13 14 14 14 14 14 14\n"
1827 "CGGACGGG 8 A+ 2 69 20 1 87.5 30.0 CCCGUCCG | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n"
1828 "GGACGGGC 8 A+ 4 70 20 1 87.5 30.0 GCCCGUCC | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1829 "GACGGGCC 8 A+ 5 71 20 1 87.5 30.0 GGCCCGUC | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1831 "ACGGGCGC 8 B=98 86 13 1 87.5 30.0 GCGCCCGU | - - - - - - - - - - - - 1 1 1 1 1 1 1 1\n"
1832 "CGGGCGCU 8 B+ 1 87 13 1 87.5 30.0 AGCGCCCG | - - - - - - - - - - - - 1 1 1 1 1 1 1 1\n"
1833 "CAGCGGCG 8 C=63 58 8 1 87.5 30.0 CGCCGCUG | 2 2 2 2 2 2 2 6 6 6 6 6 6 6 8 8 8 8 8 8\n";
1834 #else // !defined(RES_64)
1835 "ACGGGCGC 8 B=98 86 13 1 87.5 30.0 GCGCCCGU | - - - - - - - - - - - - 1 1 1 1 1 1 1 2\n"
1836 "CGGGCGCU 8 B+ 1 87 13 1 87.5 30.0 AGCGCCCG | - - - - - - - - - - - - 1 1 1 1 1 1 1 2\n"
1837 "CAGCGGCG 8 C=63 58 8 1 87.5 30.0 CGCCGCUG | 2 2 2 2 2 2 2 6 6 6 6 6 6 6 8 8 8 8 8 10\n";
1840 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1845 const char *arguments[] = {
1847 "designnames=CPPParap#PsAAAA00",
1848 "designmintargets=50",
1849 "designmingc=0",
"designmaxgc=100",
1850 "designmintemp=30",
"designmaxtemp=100",
1852 "designprobelength=8",
1853 "designminpos=65",
"designmaxpos=69",
1856 const char *expected =
1857 "Probe design parameters:\n"
1858 "Length of probe 8\n"
1859 "Temperature [30.0 -100.0]\n"
1860 "GC-content [ 0.0 -100.0]\n"
1861 "E.Coli position [ 65 - 69]\n"
1862 "Max. nongroup hits 15\n"
1863 "Min. group hits 50%\n"
1864 "Target le apos ecol qual grps G+C temp Probe | Decrease T by n*.3C -> probe matches n non group species\n"
1865 "GGCGGACG 8 A=78 67 39 2 87.5 30.0 CGUCCGCC | 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13\n"
1866 "GCGGACGG 8 A+ 1 68 39 2 87.5 30.0 CCGUCCGC | 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13\n"
1867 "GCGGCGGA 8 A- 2 65 39 2 87.5 30.0 UCCGCCGC | 10 10 11 11 11 11 11 14 14 14 14 14 14 14 14 14 14 14 14 14\n"
1868 "CGGCGGAC 8 A- 1 66 39 2 87.5 30.0 GUCCGCCG | 10 10 10 10 10 10 10 13 13 13 13 13 13 13 14 14 14 14 14 14\n"
1869 "CGGACGGG 8 A+ 2 69 20 1 87.5 30.0 CCCGUCCG | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n";
1871 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1875 const char *arguments[] = {
1877 "designnames=ClnCorin#CPPParap#ClfPerfr",
1878 "designprobelength=16",
1879 "designmintargets=100",
1882 const char *expected =
1883 "Probe design parameters:\n"
1884 "Length of probe 16\n"
1885 "Temperature [ 0.0 -400.0]\n"
1886 "GC-content [30.0 - 80.0]\n"
1887 "E.Coli position [any]\n"
1888 "Max. nongroup hits 2 (lowest rejected nongroup hits: 6)\n"
1889 "Min. group hits 100% (max. rejected coverage: 67%)\n"
1890 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1891 "CGAAAGGAAGAUUAAU 16 A=94 82 58 3 31.2 42.0 AUUAAUCUUCCUUUCG | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1892 "AAGGAAGAUUAAUACC 16 A+ 3 85 58 3 31.2 42.0 GGUAUUAAUCUUCCUU | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1893 "AAGUCGAGCGAUGAAG 16 B=20 19 52 3 50.0 48.0 CUUCAUCGCUCGACUU | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3\n"
1894 "CAAGUCGAGCGAUGAA 16 B- 1 18 37 3 50.0 48.0 UUCAUCGCUCGACUUG | 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3\n"
1895 "GUCGAGCGAUGAAGUU 16 B+ 2 21 31 3 50.0 48.0 AACUUCAUCGCUCGAC | - - - - - - - - - - 1 1 1 1 1 1 1 1 1 1\n"
1896 "UCAAGUCGAGCGAUGA 16 B- 2 17 28 3 50.0 48.0 UCAUCGCUCGACUUGA | 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3\n"
1897 "AGUCGAGCGAUGAAGU 16 B+ 1 20 19 3 50.0 48.0 ACUUCAUCGCUCGACU | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1898 "AUCAAGUCGAGCGAUG 16 B- 3 16 16 3 50.0 48.0 CAUCGCUCGACUUGAU | 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10\n"
1899 "GAUCAAGUCGAGCGAU 16 B- 4 15 4 3 50.0 48.0 AUCGCUCGACUUGAUC | - 2 2 2 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10\n"
1900 "UGAUCAAGUCGAGCGA 16 B- 5 14 4 3 50.0 48.0 UCGCUCGACUUGAUCA | - 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10\n";
1902 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1906 const char *arguments[] = {
1908 "designnames=ClnCorin#Unknown1#CPPParap#ClfPerfr#Unknown2",
1909 "designprobelength=16",
1910 "designmintargets=100",
1913 "designsequence=---CGAAAGGAAGAUUAAU------------------AAGUCGAGCGAUGAAG-CAAGUCGAGCGAUGAA-GUCGAGCGAUGAAGUU-UCAAGUCGAGCGAUGA-AGUCGAGCGAUGAAGU-AUCAAGUCGAGCGAUG-GAUCAAGUCGAGCGAU-UGAUCAAGUCGAGCGA",
1914 "designsequence=---CGAAAGGAAGAUUAAU-AAGGAAGAUUAAUACC-AAGUCGAGCGAUGAAG-CAAGUCGAGCGAUGAA-GUCGAGCGAUGAAGUU-UCAAGUCGAGCGAUGA-AGUCGAGCGAUGAAGU-AUCAAGUCGAGCGAUG------------------UGAUCAAGUCGAGCGA",
1916 const char *expected =
1917 "Probe design parameters:\n"
1918 "Length of probe 16\n"
1919 "Temperature [ 0.0 -400.0]\n"
1920 "GC-content [30.0 - 80.0]\n"
1921 "E.Coli position [any]\n"
1922 "Max. nongroup hits 2\n"
1923 "Min. group hits 100% (max. rejected coverage: 80%)\n"
1924 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1925 "CGAAAGGAAGAUUAAU 16 A=94 82 96 5 31.2 42.0 AUUAAUCUUCCUUUCG | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1927 "AAGUCGAGCGAUGAAG 16 B=20 19 86 5 50.0 48.0 CUUCAUCGCUCGACUU | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3\n"
1928 "CAAGUCGAGCGAUGAA 16 B- 1 18 61 5 50.0 48.0 UUCAUCGCUCGACUUG | 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3\n"
1929 "GUCGAGCGAUGAAGUU 16 B+ 2 21 51 5 50.0 48.0 AACUUCAUCGCUCGAC | - - - - - - - - - - 1 1 1 1 1 1 1 1 1 1\n"
1930 "UCAAGUCGAGCGAUGA 16 B- 2 17 46 5 50.0 48.0 UCAUCGCUCGACUUGA | 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3\n"
1931 "AGUCGAGCGAUGAAGU 16 B+ 1 20 31 5 50.0 48.0 ACUUCAUCGCUCGACU | - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1932 "AUCAAGUCGAGCGAUG 16 B- 3 16 26 5 50.0 48.0 CAUCGCUCGACUUGAU | 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10\n"
1934 "UGAUCAAGUCGAGCGA 16 B- 5 14 6 5 50.0 48.0 UCGCUCGACUUGAUCA | - 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10\n";
1936 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1939 const char *arguments[] = {
1941 "designnames=VbrFurni",
1942 "designprobelength=8",
1946 const char *expected =
1947 "Probe design parameters:\n"
1948 "Length of probe 8\n"
1949 "Temperature [ 0.0 -400.0]\n"
1950 "GC-content [80.0 -100.0]\n"
1951 "E.Coli position [any]\n"
1952 "Max. nongroup hits 0 (lowest rejected nongroup hits: 2)\n"
1953 "Min. group hits 50%\n"
1954 "Target le apos ecol qual grps G+C temp Probe | Decrease T by n*.3C -> probe matches n non group species\n"
1956 "CGGCAGCG 8 A=28 23 20 1 87.5 30.0 CGCUGCCG | - - - - - - - - - - - - - - - - - - - -\n"
1957 #else // !defined(RES_64)
1958 "CGGCAGCG 8 A=28 23 20 1 87.5 30.0 CGCUGCCG | - - - - - - - - - - - - - - - - - - - 3\n"
1960 "UGGGCGGC 8 B=67 60 8 1 87.5 30.0 GCCGCCCA | - - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1\n"
1962 "CGGCGAGC 8 B+ 4 60 8 1 87.5 30.0 GCUCGCCG | - - - - - - - 2 2 2 2 2 2 2 3 3 3 3 3 3\n"
1963 #else // !defined(RES_64)
1964 "CGGCGAGC 8 B+ 4 60 8 1 87.5 30.0 GCUCGCCG | - - - - - - - 2 2 2 2 2 2 2 4 4 4 4 4 5\n"
1966 "GGGCGGCG 8 B+ 1 60 8 1 100.0 32.0 CGCCGCCC | - - - - - - - 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1967 "GGCGGCGA 8 B+ 2 60 8 1 87.5 30.0 UCGCCGCC | - - - - - - - 3 3 3 3 3 3 3 3 3 3 3 3 3\n"
1968 "GCGGCGAG 8 B+ 3 60 3 1 87.5 30.0 CUCGCCGC | - - 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4\n";
1970 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1973 const char *arguments[] = {
1975 "designnames=HllHalod#VbhChole#VblVulni#VbrFurni#PtVVVulg",
1976 "designprobelength=14",
1977 "designmintargets=100",
1982 const char *expected =
1983 "Probe design parameters:\n"
1984 "Length of probe 14\n"
1985 "Temperature [ 0.0 -400.0]\n"
1986 "GC-content [70.0 -100.0]\n"
1987 "E.Coli position [any]\n"
1988 "Max. nongroup hits 4\n"
1989 "Min. group hits 100% (max. rejected coverage: 80%)\n"
1990 "Target le apos ecol qual grps G+C temp Probe sequence | Decrease T by n*.3C -> probe matches n non group species\n"
1991 "GAGCGGCGGACGGA 14 A=75 64 21 5 78.6 50.0 UCCGUCCGCCGCUC | - - - - 1 1 1 1 1 1 5 5 9 9 10 10 10 10 10 10\n"
1992 "CGAGCGGCGGACGG 14 A- 1 63 21 5 85.7 52.0 CCGUCCGCCGCUCG | - - - - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 9 9\n"
1993 "AGCGGCGGACGGAC 14 A+ 0 64 21 5 78.6 50.0 GUCCGUCCGCCGCU | 4 7 7 7 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10\n";
1995 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
1998 const char *arguments[] = {
2000 "designnames=HllHalod#VbhChole#VblVulni#VbrFurni#PtVVVulg",
2001 "designprobelength=14",
2002 "designmintargets=100",
2007 const char *expected =
"";
2009 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2014 void TEST_SLOW_probe_design_errors() {
2017 bool use_gene_ptserver =
false;
2019 const char *arguments[] = {
2021 "designnames=CPPParap#PsAAAA00",
2022 "designprobelength=3",
2024 const char *expected_error =
"Specified min. probe length 3 is below the min. allowed probe length of 8";
2026 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2029 const char *arguments[] = {
2031 "designnames=CPPParap#PsAAAA00",
2032 "designprobelength=15",
2033 "designmaxprobelength=12",
2035 const char *expected_error =
"Max. probe length 12 is below the specified min. probe length of 15";
2037 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2040 const char *expected_error =
"Sequence contains only 0 bp. Impossible design request for one of the added sequences";
2042 const char *arguments[] = {
2045 "designprobelength=16",
2047 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2050 const char *arguments[] = {
2052 "designsequence=-------------",
2053 "designprobelength=16",
2055 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2059 const char *arguments[] = {
2061 "designsequence=ACGTACGTACGTACGT",
2062 "designprobelength=16",
2064 const char *expected_error =
"Got 0 unknown marked species, but 1 custom sequence was added (has to match)";
2065 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2068 const char *arguments[] = {
2070 "designnames=Unknown",
2071 "designprobelength=16",
2073 const char *expected_error =
"No species marked - no probes designed";
2074 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2077 const char *arguments[] = {
2079 "designnames=Unknown#CPPParap",
2080 "designprobelength=16",
2082 const char *expected_error =
"Got 1 unknown marked species, but 0 custom sequences were added (has to match)";
2083 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2086 const char *expected_error =
"Sequence contains only 0 bp. Impossible design request for one of the added sequences";
2088 const char *arguments[] = {
2090 "designnames=Unknown",
2092 "designprobelength=16",
2094 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2097 const char *arguments[] = {
2099 "designnames=Unknown",
2100 "designsequence=-------------",
2101 "designprobelength=16",
2103 TEST_ARB_PROBE__REPORTS_ERROR(
ARRAY_ELEMS(arguments), arguments, expected_error);
2108 void TEST_SLOW_match_designed_probe() {
2111 bool use_gene_ptserver =
false;
2112 const char *arguments[] = {
2114 "matchsequence=UCAAGUCGAGCGAUGAAG",
2116 CCP expected =
" name---- fullname mis N_mis wmis pos ecoli rev 'UCAAGUCGAGCGAUGAAG'\1"
2117 "ClnCorin\1" " ClnCorin 0 0 0.0 18 17 0 .GAGUUUGA-==================-UUCCUUCGG\1"
2118 "CltBotul\1" " CltBotul 0 0 0.0 18 17 0 ........A-==================-CUUCUUCGG\1"
2119 "CPPParap\1" " CPPParap 0 0 0.0 18 17 0 AGAGUUUGA-==================-UUCCUUCGG\1"
2120 "ClfPerfr\1" " ClfPerfr 0 0 0.0 18 17 0 AGAGUUUGA-==================-UUUCCUUCG\1";
2122 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2125 void TEST_SLOW_get_existing_probes() {
2128 bool use_gene_ptserver =
false;
2130 const char *arguments[] = {
2133 "iterate_amount=10",
2136 "AAACCGGGGCTAATACCGGA;AAACGACTGTTAATACCGCA;AAACGATGGAAGCTTGCTTC;AAACGATGGCTAATACCGCA;AAACGGATTAGCGGCGGGAC;"
2137 "AAACGGGCGCTAATACCGCA;AAACGGTCGCTAATACCGGA;AAACGGTGGCTAATACCGCA;AAACGTACGCTAATACCGCA;AAACTCAAGCTAATACCGCA";
2139 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2142 const char *arguments[] = {
2145 "iterate_amount=20",
2146 "iterate_separator=:",
2149 "AAACCGGGGCTAATA:AAACGACTGTTAATA:AAACGATGGAAGCTT:AAACGATGGCTAATA:AAACGGATTAGCGGC:AAACGGGCGCTAATA:AAACGGTCGCTAATA:"
2150 "AAACGGTGGCTAATA:AAACGTACGCTAATA:AAACTCAAGCTAATA:AAACTCAGGCTAATA:AAACTGGAGAGTTTG:AAACTGTAGCTAATA:AAACTTGTTTCTCGG:"
2151 "AAAGAGGTGCTAATA:AAAGCTTGCTTTCTT:AAAGGAACGCTAATA:AAAGGAAGATTAATA:AAAGGACAGCTAATA:AAAGGGACTTCGGTC";
2153 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2156 const char *arguments[] = {
2160 "iterate_readable=0",
2163 "\2\2\2\3\3\4\4\4\4\3;\2\2\2\3\4\2\3\5\4\5;\2\2\2\3\4\2\5\4\4\2;\2\2\2\3\4\2\5\4\4\3;\2\2\2\3\4\4\2\5\5\2";
2165 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2168 const char *arguments[] = {
2171 "iterate_amount=70",
2175 "AAA;AAC;AAG;AAU;ACA;ACC;ACG;ACU;AGA;AGC;AGG;AGU;AUA;AUC;AUG;AUU;"
2176 "CAA;CAC;CAG;CAU;CCA;CCC;CCG;CCU;CGA;CGC;CGG;CGU;CUA;CUC;CUG;CUU;"
2177 "GAA;GAC;GAG;GAU;GCA;GCC;GCG;GCU;GGA;GGC;GGG;GGU;GUA;GUC;GUG;GUU;"
2178 "UAA;UAC;UAG;UAU;UCA;UCC;UCG;UCU;UGA;UGC;UGG;UGU;UUA;UUC;UUG;UUU";
2180 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2183 const char *arguments[] = {
2186 "iterate_amount=20",
2194 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments, expected);
2200 void TEST_SLOW_index_dump() {
2201 for (
int use_gene_ptserver = 0; use_gene_ptserver <= 1; use_gene_ptserver++) {
2202 const char *dumpfile = use_gene_ptserver ?
"index_gpt.dump" :
"index_pt.dump";
2205 const char *arguments[] = {
2209 TEST_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments,
"ok");
2211 #if defined(TEST_AUTO_UPDATE)
2212 TEST_COPY_FILE(dumpfile, dumpfile_exp);
2213 #else // !defined(TEST_AUTO_UPDATE)
2218 free((
char*)arguments[1]);
2223 #undef TEST_AUTO_UPDATE
2231 using namespace std;
2233 typedef set<string> Matches;
2235 inline void parseMatches(
char*& answer, Matches& matches) {
2240 for (
size_t i = 1; i<match_results.
size(); i += 2) {
2241 if (match_results[i][0]) {
2242 matches.insert(match_results[i]);
2247 inline void getMatches(
const char *
probe, Matches& matches) {
2248 bool use_gene_ptserver =
false;
2250 const char *arguments[] = {
2254 TEST_RUN_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments);
2255 parseMatches(answer, matches);
2259 inline string matches2hitlist(
const Matches& matches) {
2261 if (!matches.empty()) {
2262 for (Matches::const_iterator m = matches.begin(); m != matches.end(); ++m) {
2263 hitlist = hitlist +
',' + *m;
2265 hitlist = hitlist.substr(1);
2270 inline void extract_first_but_not_second(
const Matches& first,
const Matches& second, Matches&
result) {
2271 set_difference(first.begin(), first.end(),
2272 second.begin(), second.end(),
2273 inserter(result, result.begin()));
2280 #if defined(TEST_INDEX_COMPLETENESS)
2282 void TEST_SLOW_find_unmatched_probes() {
2283 bool use_gene_ptserver =
false;
2288 const char *arguments[] = {
2291 "iterate_amount=1000000",
2294 TEST_RUN_ARB_PROBE(
ARRAY_ELEMS(arguments), arguments);
2300 for (
size_t lp = 0; lp<fullProbes.
size(); ++lp) {
2301 const char *fullProbe = fullProbes[lp];
2303 size_t fullLen = strlen(fullProbe);
2307 getMatches(fullProbe, fullHits);
2310 bool fewerHitsSeen =
false;
2312 for (
size_t subLen = fullLen-1; !fewerHitsSeen && subLen >= 10; --subLen) {
2314 subProbe[subLen] = 0;
2316 for (
size_t pos = 0; pos+subLen <= fullLen; ++pos) {
2317 Matches subHits, onlyFull;
2319 memcpy(subProbe, fullProbe+pos, subLen);
2320 getMatches(subProbe, subHits);
2321 extract_first_but_not_second(fullHits, subHits, onlyFull);
2323 if (!onlyFull.empty()) {
2324 fprintf(stderr,
"TEST_PARTIAL_COVERS_FULL_PROBE__BROKEN(\"%s\", \"%s\");\n", subProbe, fullProbe);
2325 fewerHitsSeen =
true;
2337 using namespace std;
2344 Matches matchFull, matchPart;
2345 getMatches(full, matchFull);
2346 getMatches(part, matchPart);
2351 extract_first_but_not_second(matchFull, matchPart, onlyFirst);
2353 string only_hit_by_full = matches2hitlist(onlyFirst);
2358 return all().ofgroup(expected);
2361 #define TEST_PARTIAL_COVERS_FULL_PROBE(part,full) TEST_EXPECTATION(partial_covers_full_probe(part, full))
2362 #define TEST_PARTIAL_COVERS_FULL_PROBE__BROKEN(part,full) TEST_EXPECTATION__BROKEN(partial_covers_full_probe(part, full))
2364 void TEST_SLOW_unmatched_probes() {
2365 TEST_PARTIAL_COVERS_FULL_PROBE(
"CCUCCUUUCU",
"GAUUAAUACCCCUCCUUUCU");
2367 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUC",
"GGGGAACCUGCGGUUGGAUC");
2368 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCA",
"GGGAACCUGCGGUUGGAUCA");
2369 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCAC",
"GGAACCUGCGGUUGGAUCAC");
2370 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACC",
"GAACCUGCGGUUGGAUCACC");
2371 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACCU",
"AACCUGCGGUUGGAUCACCU");
2372 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACCUC",
"ACCUGCGGUUGGAUCACCUC");
2373 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACCUCC",
"CCUGCGGUUGGAUCACCUCC");
2374 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACCUCCU",
"CUGCGGUUGGAUCACCUCCU");
2375 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACCUCCUU",
"UGCGGUUGGAUCACCUCCUU");
2376 TEST_PARTIAL_COVERS_FULL_PROBE(
"CGGUUGGAUCACCUCCUUA",
"GCGGUUGGAUCACCUCCUUA");
2378 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUC",
"GGGGAACCUGGCGCUGGAUC");
2379 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCA",
"GGGAACCUGGCGCUGGAUCA");
2380 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCAC",
"GGAACCUGGCGCUGGAUCAC");
2381 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACC",
"GAACCUGGCGCUGGAUCACC");
2382 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACCU",
"AACCUGGCGCUGGAUCACCU");
2383 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACCUC",
"ACCUGGCGCUGGAUCACCUC");
2384 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACCUCC",
"CCUGGCGCUGGAUCACCUCC");
2385 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACCUCCU",
"CUGGCGCUGGAUCACCUCCU");
2386 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACCUCCUU",
"UGGCGCUGGAUCACCUCCUU");
2387 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCGCUGGAUCACCUCCUUU",
"GGCGCUGGAUCACCUCCUUU");
2389 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCAC",
"GGAACCUGCGGCUGGAUCAC");
2390 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACC",
"GAACCUGCGGCUGGAUCACC");
2391 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCU",
"AACCUGCGGCUGGAUCACCU");
2392 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCUC",
"ACCUGCGGCUGGAUCACCUC");
2393 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCUCC",
"CCUGCGGCUGGAUCACCUCC");
2394 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCUCCU",
"CUGCGGCUGGAUCACCUCCU");
2395 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCUCCUU",
"UGCGGCUGGAUCACCUCCUU");
2396 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCUCCUUU",
"GCGGCUGGAUCACCUCCUUU");
2397 TEST_PARTIAL_COVERS_FULL_PROBE(
"GCUGGAUCACCUCCUUUC",
"CGGCUGGAUCACCUCCUUUC");
2400 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAG",
"AAUUGAAGAGUUUGAUCAAG");
2401 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGU",
"AUUGAAGAGUUUGAUCAAGU");
2402 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUC",
"UUGAAGAGUUUGAUCAAGUC");
2403 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCG",
"UGAAGAGUUUGAUCAAGUCG");
2404 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCGA",
"GAAGAGUUUGAUCAAGUCGA");
2405 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCGAG",
"AAGAGUUUGAUCAAGUCGAG");
2406 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCGAGC",
"AGAGUUUGAUCAAGUCGAGC");
2407 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCGAGCG",
"GAGUUUGAUCAAGUCGAGCG");
2408 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCGAGCGG",
"AGUUUGAUCAAGUCGAGCGG");
2409 TEST_PARTIAL_COVERS_FULL_PROBE(
"UUUGAUCAAGUCGAGCGGU",
"GUUUGAUCAAGUCGAGCGGU");
2412 void TEST_SLOW_variable_defaults_in_server() {
2433 MAIN_LOCS, PT_LOCS, locs,
2437 #define LOCAL(rvar) prev_read_##rvar
2440 #define FREE_LOCAL_long(rvar)
2441 #define FREE_LOCAL_charp(rvar) free(LOCAL(rvar))
2442 #define FREE_LOCAL(type,rvar) FREE_LOCAL_##type(rvar)
2444 #define TEST__READ(type,rvar,expected) \
2446 TEST_EXPECT_ZERO(aisc_get(link, PT_LOCS, locs, rvar, &(LOCAL(rvar)), NULp)); \
2447 TEST_EXPECT_EQUAL(LOCAL(rvar), expected); \
2448 FREE_LOCAL(type,rvar); \
2450 #define TEST_WRITE(type,rvar,val) \
2451 TEST_EXPECT_ZERO(aisc_put(link, PT_LOCS, locs, rvar, (type)val, NULp))
2452 #define TEST_CHANGE(type,rvar,val) \
2454 TEST_WRITE(type, rvar, val); \
2455 TEST__READ(type, rvar, val); \
2457 #define TEST_DEFAULT_CHANGE(ctype,type,remote_variable,default_value,other_value) \
2459 ctype DEFAULT_VALUE = default_value; \
2460 ctype OTHER_VALUE = other_value; \
2461 type LOCAL(remote_variable); \
2462 TEST__READ(type, remote_variable, DEFAULT_VALUE); \
2463 TEST_CHANGE(type, remote_variable, OTHER_VALUE); \
2464 TEST_CHANGE(type, remote_variable, DEFAULT_VALUE); \
2467 TEST_DEFAULT_CHANGE(
const long,
long, LOCS_MATCH_ALSO_REVCOMP, 1, 67);
2468 typedef char *charp;
2469 typedef const char *ccharp;
2470 TEST_DEFAULT_CHANGE(ccharp, charp, LOCS_LOGINTIME,
"notime",
"sometime");
2477 #endif // UNIT_TESTS
int ARB_main(int argc, char *argv[])
const char * DESIGNSEQUENCE
#define is_less_than(val)
#define implicated(hypothesis, conclusion)
return string(buffer, length)
static char * AP_probe_design_event(ARB_ERROR &error)
const char * ITERATE_SEPARATOR
int aisc_close(aisc_com *link, AISC_Object &object)
#define TEST_SETUP_GLOBAL_ENVIRONMENT(modulename)
#define AISC_MAX_STRING_LEN
char * ARB_strdup(const char *str)
GB_ERROR arb_look_and_start_server(long magic_number, const char *arb_tcp_env)
static int init_local_com_struct()
int aisc_nput(aisc_com *link, int o_type, const AISC_Object &object,...)
static char * AP_dump_index_event(ARB_ERROR &error)
void cat(const char *from)
#define ARRAY_ELEMS(array)
static const char * getString(const char *param, const char *val, const char *description)
static char * AP_probe_match_event(ARB_ERROR &error)
int aisc_put(aisc_com *link, int o_type, const AISC_Object &object,...)
#define TEST_EXPECT(cond)
const char * GBS_read_arb_tcp(const char *env)
TYPE * ARB_alloc(size_t nelem)
static const char ** pargv
static bool parseCommandLine(int argc, const char *const *const argv)
#define TEST_REJECT_NULL(n)
static void error(const char *msg)
GB_CSTR GB_path_in_ARBHOME(const char *relative_path)
void expect_no_error() const
expectation_group & add(const expectation &e)
#define TEST_EXPECT_ZERO_OR_SHOW_ERRNO(iocond)
#define does_differ_from_NULL()
static char * execute(ARB_ERROR &error)
#define TEST_EXPECT_ZERO(cond)
const char * arb_look_and_start_ptserver(int magic_number, int ptserver_id, GB_ERROR &error)
#define __ATTR__REDUCED_OPTIMIZE
#define AISC_MAGIC_NUMBER
fputs(TRACE_PREFIX, stderr)
static int getInt(const char *param, int val, int min, int max, const char *description)
GB_CSTR GB_getenvUSER(void)
aisc_com * aisc_open(const char *path, AISC_Object &main_obj, long magic, GB_ERROR *error)
static char * AP_probe_iterate_event(ARB_ERROR &error)
const char * GBS_static_string(const char *str)
#define TEST_EXPECT_NO_ERROR(call)
int aisc_get(aisc_com *link, int o_type, const AISC_Object &object,...)
PTserverConnection(ARB_ERROR &error)
std::string extract(const std::string &s) const
const char * GBS_ptserver_tag(int id)
#define TEST_EXPECT_TEXTFILES_EQUAL(fgot, fwant)
void GBT_splitNdestroy_string(ConstStrArray &names, char *&namelist, const char *separator, SplitMode mode)
#define TEST_EXPECT_EQUAL(expr, want)
int aisc_create(aisc_com *link, int father_type, const AISC_Object &father, int attribute, int object_type, AISC_Object &object,...)
char * GBS_global_string_copy(const char *templat,...)
GB_write_int const char s