Codebase list genometools / d271e86
New upstream version 1.6.0+ds Sascha Steinbiss 4 years ago
933 changed file(s) with 7205 addition(s) and 97372 deletion(s). Raw diff Collapse all Expand all
4141 env: opt=no cairo=no
4242 - os: osx
4343 compiler: gcc
44 env: default=yes
44 env: default=yes PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
4545 - os: osx
4646 compiler: gcc
47 env: assert=no
47 env: assert=no PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
4848 - os: osx
4949 compiler: gcc
50 env: amalgamation=yes
50 env: amalgamation=yes PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
5151 - os: linux
5252 compiler: gcc
5353 env: opt=no cairo=no
0 changes in version 1.6.0 (2020-01-06)
1
2 - improve error handling in some tools
3 - C API has been extended significantly
4
5
06 changes in version 1.5.10 (2017-08-04)
17
28 - bugfixes and cleanups
1010 - Brent Pedersen (python bindings, patches)
1111 - Christin Schaerfer (AnnotationSketch, sketch tool)
1212 - David Schmitz-Huebsch (mgth/ subdirectory, mgth tool)
13 - Dirk Willrodt (genomediff tool, SAM/BAM, patches)
13 - Dirk Willrodt (genomediff, condenseq tool, SAM/BAM, wavelet tree, patches)
1414 - Daniel Standage (GtSetSourceVisitor, GtFeatureInStream, python bindings, patches)
100100 Use the 'useshared=yes' make option to ignore the embedded code copies in the
101101 GenomeTools source distribution and to use the system-wide versions. The following
102102 libraries (and their development headers) are required to be present:
103 zlib, bzlib2, liblua5.1, lua-filesystem, lua-lpeg, lua-md5, libexpat, libtre,
104 libcairo + libpango (only unless 'cairo=no' is used), libsqlite3 and libbam.
103
104 - zlib (https://zlib.net/)
105 Debian/Ubuntu: zlib1g-dev
106 - bzlib2 (https://www.sourceware.org/bzip2/)
107 Debian/Ubuntu: libbz2-dev
108 - liblua5.1 (https://www.lua.org/)
109 Debian/Ubuntu: liblua5.1-0-dev
110 - lua-filesystem (https://keplerproject.github.io/luafilesystem/)
111 Debian/Ubuntu: lua-filesystem-dev
112 - lua-lpeg (http://www.inf.puc-rio.br/~roberto/lpeg/)
113 Debian/Ubuntu: lua-lpeg-dev
114 - lua-md5 (https://keplerproject.github.io/md5/)
115 Debian/Ubuntu: lua-md5-dev
116 - libexpat (https://github.com/libexpat/libexpat)
117 Debian/Ubuntu: libexpat1-dev
118 - libtre (https://github.com/laurikari/tre/)
119 Debian/Ubuntu: libtre-dev
120 - libcairo (only unless 'cairo=no' is used) (https://cairographics.org/)
121 Debian/Ubuntu: libcairo2-dev
122 - libpango (only unless 'cairo=no' is used) (https://www.pango.org/)
123 Debian/Ubuntu: libpango1.0-dev
124 - libsqlite3 (https://www.sqlite.org/)
125 Debian/Ubuntu: libsqlite3-dev
126 - libbam (http://www.htslib.org/)
127 Debian/Ubuntu: libbam-dev
105128
106129
107130 Testing GenomeTools (optional)
399399 src/extended \
400400 src/gtlua \
401401 src/match \
402 src/gth \
403402 src/ltr \
404403 src/mgth
405404
494493 LIBGENOMETOOLS_PRESRC:=$(filter-out $(SQLITE3_SRC),\
495494 $(LIBGENOMETOOLS_PRESRC))
496495 LIBGENOMETOOLS_SRC:=obj/amalgamation.c
496 GT_CFLAGS+=-Wno-strict-overflow
497497 else
498498 LIBGENOMETOOLS_SRC:=$(LIBGENOMETOOLS_PRESRC)
499499 endif
0 1.5.10
0 1.6.0
171171 Our string class implementation so far looks like this
172172
173173 \begin{lstlisting}
174 #include "core/ma.h"
175 #include "core/str.h"
174 #include "core/ma_api.h"
175 #include "core/str_api.h"
176176
177177 struct GtStr {
178178 char *cstr; /* the actual string (always '\0' terminated) */
314314
315315 \begin{lstlisting}
316316 #include "example_rep.h" /* we need access to the class struct */
317 #include "core/ma.h" /* we need to allocate memory */
317 #include "core/ma_api.h" /* we need to allocate memory */
318318
319319 GtExample* gt_example_create(const GtExampleClass *ec)
320320 {
15331533
15341534 They must return 0 if the test was successful and -1 if the test has failed.
15351535 The \keyword{gt_ensure} helper macro makes writing unit tests easier. To use it,
1536 \keyword{#include} the file \keyword{core/ensure.h}. Then write your unit test:
1536 \keyword{#include} the file \keyword{core/ensure_api.h}. Then write your unit test:
15371537
15381538 \begin{lstlisting}
15391539 int gt_class_unit_test(GtError *err) /* must be called 'err'! */
00 Source of the files:
11
2 so.obo: https://github.com/The-Sequence-Ontology/SO-Ontologies/blob/master/so-xp-simple.obo
3 so-xp.obo: https://github.com/The-Sequence-Ontology/SO-Ontologies/blob/master/so-xp.obo
4 sofa.obo: https://github.com/The-Sequence-Ontology/SO-Ontologies/blob/master/subsets/SOFA.obo
2 so.obo: https://github.com/The-Sequence-Ontology/SO-Ontologies/blob/master/releases/so-xp.owl/so-xp-simple.obo
3 so-xp.obo: https://github.com/The-Sequence-Ontology/SO-Ontologies/blob/master/releases/so-xp.owl/so-xp.obo
4 sofa.obo: https://github.com/The-Sequence-Ontology/SO-Ontologies/blob/master/releases/so-xp.owl/subsets/SOFA.obo
55
6 Current HEAD is 3a1b6bd850cff63ffac60ff3452dc01d319c793c
6 Current HEAD is 6f8dfd4aebd4427baad07535b6250f4622b1b075
00 format-version: 1.2
1 date: 04:09:2015 13:56
2 saved-by: kareneilbeck
1 data-version: so-xp/releases/2015-11-24/so-xp.owl
2 date: 28:10:2016 11:25
3 saved-by: nicole
34 auto-generated-by: OBO-Edit 2.3.1
45 subsetdef: biosapiens "biosapiens protein feature ontology"
56 subsetdef: DBVAR "database of genomic structural variation"
1415 synonymtypedef: RNAMOD "RNA modification" EXACT
1516 synonymtypedef: VAR "variant annotation term"
1617 default-namespace: sequence
17 remark: autogenerated-by: DAG-Edit version 1.417\nsaved-by: eilbeck\ndate: Tue May 11 15:18:44 PDT 2004\nversion: $Revision: 1.45 $
1818 ontology: so-xp.obo
1919
2020 [Term]
3030 subset: SOFA
3131 synonym: "sequence" EXACT []
3232 is_a: SO:0000110 ! sequence_feature
33 disjoint_from: SO:0000699 ! junction
3433
3534 [Term]
3635 id: SO:0000002
388387 [Term]
389388 id: SO:0000043
390389 name: processed_pseudogene
391 def: "A pseudogene where by an mRNA was retrotransposed. The mRNA sequence is transcribed back into the genome, lacking introns and promoters, but often including a polyA tail." [SO:xp]
390 def: "A pseudogene created via retrotranposition of the mRNA of a functional protein-coding parent gene followed by accumulation of deleterious mutations lacking introns and promoters, often including a polyA tail." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
392391 comment: Please not the synonym R psi M uses the spelled out form of the greek letter.
393392 synonym: "processed pseudogene" EXACT []
394393 synonym: "pseudogene by reverse transcription" RELATED []
17871786 [Term]
17881787 id: SO:0000207
17891788 name: simple_sequence_length_variation
1789 def: "SSLP are a kind of sequence alteration where the number of repeated sequences in intergenic regions may differ." [SO:ke]
17901790 synonym: "simple sequence length polymorphism" RELATED []
17911791 synonym: "simple sequence length variation" EXACT []
17921792 synonym: "SSLP" RELATED []
1793 xref: http://en.wikipedia.org/wiki/Simple_sequence_length_polymorphism "WIKI"
17931794 is_a: SO:0000248 ! sequence_length_variation
17941795
17951796 [Term]
20382039 name: chromosome_variation
20392040 synonym: "chromosome variation" EXACT []
20402041 is_a: SO:0001507 ! variant_collection
2041 disjoint_from: SO:0000400 ! sequence_attribute
20422042 relationship: part_of SO:0001524 ! chromosomally_aberrant_genome
20432043
20442044 [Term]
20932093 [Term]
20942094 id: SO:0000248
20952095 name: sequence_length_variation
2096 def: "A kind of kind of sequence alteration where the copies of a region present varies across a population." [SO:ke]
20962097 synonym: "sequence length variation" EXACT []
2097 is_a: SO:1000002 ! substitution
2098 is_a: SO:0001059 ! sequence_alteration
20982099
20992100 [Term]
21002101 id: SO:0000249
23712372 xref: http://en.wikipedia.org/wiki/MiRNA "wiki"
23722373 xref: http://en.wikipedia.org/wiki/StRNA "wiki"
23732374 is_a: SO:0000370 ! small_regulatory_ncRNA
2374 is_a: SO:0000655 ! ncRNA
23752375 relationship: part_of SO:0001244 ! pre_miRNA
23762376
23772377 [Term]
25082508 subset: SOFA
25092509 synonym: "microsatellite locus" EXACT []
25102510 synonym: "microsatellite marker" EXACT []
2511 synonym: "VNTR" EXACT []
2511 synonym: "STR" EXACT [http://www.ncbi.nlm.nih.gov/books/NBK21126/def-item/A9651/]
25122512 xref: http://en.wikipedia.org/wiki/Microsatellite "wiki"
25132513 is_a: SO:0000005 ! satellite_DNA
25142514
30753075 [Term]
30763076 id: SO:0000360
30773077 name: codon
3078 def: "A set of (usually) three nucleotide bases in a DNA or RNA sequence, which together code for a unique amino acid or the termination of translation and are contained within the CDS." [http://www.everythingbio.com/glos/definition.php?word=codon, SO:ke]
3078 def: "A set of (usually) three nucleotide bases in a DNA or RNA sequence, which together code for a unique amino acid or the termination of translation and are contained within the CDS." [SO:ke]
30793079 subset: SOFA
30803080 xref: http://en.wikipedia.org/wiki/Codon "wiki"
30813081 is_a: SO:0000851 ! CDS_region
39763976 id: SO:0000464
39773977 name: decayed_exon
39783978 def: "A non-functional descendant of an exon." [SO:ke]
3979 comment: Does not have to be part of a pseudogene.
39793980 subset: SOFA
39803981 synonym: "decayed exon" EXACT []
39813982 is_a: SO:0000462 ! pseudogenic_region
55365537 name: minisatellite
55375538 def: "A repeat region containing tandemly repeated sequences having a unit length of 10 to 40 bp." [http://www.informatics.jax.org/silver/glossary.shtml]
55385539 subset: SOFA
5540 synonym: "VNTR" EXACT [http://www.ncbi.nlm.nih.gov/books/NBK21126/def-item/A9655/]
55395541 xref: http://en.wikipedia.org/wiki/Minisatellite "wiki"
55405542 is_a: SO:0000005 ! satellite_DNA
55415543
66316633 comment: Added Jan 2006 to allow the annotation of the pseudogenic rRNA by flybase. Non-functional is defined as its transcription is prevented due to one or more mutatations.
66326634 subset: SOFA
66336635 synonym: "pseudogenic rRNA" EXACT []
6634 is_a: SO:0000462 ! pseudogenic_region
6636 is_a: SO:0000516 ! pseudogenic_transcript
66356637
66366638 [Term]
66376639 id: SO:0000778
66406642 comment: Added Jan 2006 to allow the annotation of the pseudogenic tRNA by flybase. Non-functional is defined as its transcription is prevented due to one or more mutatations.
66416643 subset: SOFA
66426644 synonym: "pseudogenic tRNA" EXACT []
6643 is_a: SO:0000462 ! pseudogenic_region
6645 is_a: SO:0000516 ! pseudogenic_transcript
66446646
66456647 [Term]
66466648 id: SO:0000779
86338635 synonym: "copy number polymorphism" EXACT []
86348636 synonym: "copy number variation" EXACT []
86358637 xref: http://en.wikipedia.org/wiki/Copy_number_variation "wiki"
8636 is_a: SO:0001059 ! sequence_alteration
8638 is_a: SO:0000248 ! sequence_length_variation
86378639
86388640 [Term]
86398641 id: SO:0001020
89638965 synonym: "sequence alteration" EXACT []
89648966 synonym: "sequence variation" RELATED []
89658967 synonym: "uncharacterised_change_in_nucleotide_sequence" NARROW []
8966 is_a: SO:0000110 ! sequence_feature
8968 is_a: SO:0002072 ! sequence_comparison
89678969
89688970 [Term]
89698971 id: SO:0001060
89708972 name: sequence_variant
89718973 def: "A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration." [SO:ke]
89728974 synonym: "ANNOVAR:unknown" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
8975 synonym: "Jannovar:sequence_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
89738976 synonym: "sequence variant" EXACT []
89748977 synonym: "VAAST:sequence_variant" EXACT VAR []
89758978
1313813141 is_a: SO:0001260 ! sequence_collection
1313913142 intersection_of: SO:0001260 ! sequence_collection
1314013143 intersection_of: has_part SO:0001059 ! sequence_alteration
13144 relationship: has_part SO:0001059 ! sequence_alteration
1314113145 created_by: kareneilbeck
1314213146 creation_date: 2010-03-03T02:13:28Z
1314313147
1339113395 id: SO:0001537
1339213396 name: structural_variant
1339313397 def: "A sequence variant that changes one or more sequence features." [SO:ke]
13398 synonym: "Jannovar:structural_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1339413399 synonym: "structural variant" RELATED []
13400 synonym: "VAT:svOverlap" EXACT VAR []
13401 xref: http://vat.gersteinlab.org/formats.php "VAT"
1339513402 is_a: SO:0001060 ! sequence_variant
1339613403 created_by: kareneilbeck
1339713404 creation_date: 2010-03-22T11:31:01Z
1363513642 name: gene_variant
1363613643 def: "A sequence variant where the structure of the gene is changed." [SO:ke]
1363713644 synonym: "gene structure variant" EXACT []
13645 synonym: "Jannovar:gene_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1363813646 synonym: "snpEff:GENE" EXACT VAR []
1363913647 synonym: "VAAST:gene_variant" EXACT VAR []
13648 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1364013649 is_a: SO:0001878 ! feature_variant
1364113650 created_by: kareneilbeck
1364213651 creation_date: 2010-03-22T02:28:01Z
1364713656 def: "A sequence variant whereby a two genes have become joined." [SO:ke]
1364813657 synonym: "gene fusion" EXACT []
1364913658 is_a: SO:0001564 ! gene_variant
13659 is_a: SO:0001882 ! feature_fusion
1365013660 created_by: kareneilbeck
1365113661 creation_date: 2010-03-22T02:28:28Z
1365213662
1365513665 name: regulatory_region_variant
1365613666 def: "A sequence variant located within a regulatory region." [SO:ke]
1365713667 comment: EBI term: Regulatory region variations - In regulatory region annotated by Ensembl.
13668 synonym: "Jannovar:regulatory_region_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1365813669 synonym: "regulatory region variant" EXACT []
1365913670 synonym: "regulatory_region_" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13671 synonym: "snpEff:REGULATION" EXACT VAR []
13672 synonym: "VEP:regulatory_region_variant" EXACT VAR []
13673 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13674 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1366013675 is_a: SO:0001878 ! feature_variant
1366113676 created_by: kareneilbeck
1366213677 creation_date: 2010-03-22T02:28:48Z
1366513680 id: SO:0001567
1366613681 name: stop_retained_variant
1366713682 def: "A sequence variant where at least one base in the terminator codon is changed, but the terminator remains." [SO:ke]
13683 synonym: "Jannovar:stop_retained_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13684 synonym: "snpEff:NON_SYNONYMOUS_STOP" EXACT VAR []
1366813685 synonym: "snpEff:SYNONYMOUS_STOP" EXACT VAR []
1366913686 synonym: "stop retained variant" EXACT []
1367013687 synonym: "VAAST:stop_retained" EXACT VAR []
13688 synonym: "VAAST:stop_retained_variant" EXACT VAR []
13689 synonym: "VEP:stop_retained_variant" EXACT VAR []
13690 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13691 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1367113692 is_a: SO:0001590 ! terminator_codon_variant
1367213693 is_a: SO:0001819 ! synonymous_variant
1367313694 created_by: kareneilbeck
1367713698 id: SO:0001568
1367813699 name: splicing_variant
1367913700 def: "A sequence variant that changes the process of splicing." [SO:ke]
13701 synonym: "Jannovar:splicing_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1368013702 synonym: "splicing variant" EXACT []
1368113703 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
1368213704 is_a: SO:0001576 ! transcript_variant
1371613738 name: exon_loss_variant
1371713739 def: "A sequence variant whereby an exon is lost from the transcript." [SO:ke]
1371813740 synonym: "exon loss" EXACT []
13741 synonym: "Jannovar:exon_loss_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1371913742 synonym: "snpEff:EXON_DELETED" EXACT VAR []
13743 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1372013744 is_a: SO:0001568 ! splicing_variant
1372113745 created_by: kareneilbeck
1372213746 creation_date: 2010-03-22T02:31:09Z
1373613760 id: SO:0001574
1373713761 name: splice_acceptor_variant
1373813762 def: "A splice variant that changes the 2 base region at the 3' end of an intron." [SO:ke]
13763 synonym: "Jannovar:splice_acceptor_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13764 synonym: "Seattleseq:splice-acceptor" EXACT VAR []
1373913765 synonym: "snpEff:SPLICE_SITE_ACCEPTOR" EXACT VAR []
1374013766 synonym: "splice acceptor variant" EXACT []
1374113767 synonym: "VAAST:splice_acceptor_variant" EXACT VAR []
13768 synonym: "VEP:splice_acceptor_variant" EXACT VAR []
13769 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13770 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13771 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1374213772 is_a: SO:0001629 ! splice_site_variant
1374313773 created_by: kareneilbeck
1374413774 creation_date: 2010-03-22T02:31:52Z
1374713777 id: SO:0001575
1374813778 name: splice_donor_variant
1374913779 def: "A splice variant that changes the 2 base pair region at the 5' end of an intron." [SO:ke]
13780 synonym: "Jannovar:splice_donor_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13781 synonym: "Seattleseq:splice-donor" EXACT VAR []
1375013782 synonym: "snpEff:SPLICE_SITE_DONOR" EXACT VAR []
1375113783 synonym: "splice donor variant" EXACT []
1375213784 synonym: "VAAST:splice_donor_variant" EXACT VAR []
13785 synonym: "VEP:splice_donor_variant" EXACT VAR []
13786 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13787 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13788 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1375313789 is_a: SO:0001629 ! splice_site_variant
1375413790 created_by: kareneilbeck
1375513791 creation_date: 2010-03-22T02:32:10Z
1375813794 id: SO:0001576
1375913795 name: transcript_variant
1376013796 def: "A sequence variant that changes the structure of the transcript." [SO:ke]
13797 synonym: "Jannovar:transcript_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1376113798 synonym: "snpEff:TRANSCRIPT" EXACT VAR []
1376213799 synonym: "transcript variant" EXACT []
1376313800 synonym: "VAAST:transcript_variant" EXACT VAR []
1376413801 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
13802 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1376513803 is_a: SO:0001564 ! gene_variant
1376613804 created_by: kareneilbeck
1376713805 creation_date: 2010-03-22T02:32:41Z
1377113809 name: complex_transcript_variant
1377213810 def: "A transcript variant with a complex INDEL- Insertion or deletion that spans an exon/intron border or a coding sequence/UTR border." [http://ensembl.org/info/docs/variation/index.html]
1377313811 comment: EBI term: Complex InDel - Insertion or deletion that spans an exon/intron border or a coding sequence/UTR border.
13812 synonym: "complex change in transcript" EXACT []
1377413813 synonym: "complex transcript variant" EXACT []
1377513814 synonym: "complex_indel" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13776 synonym: "complext change in transcript" EXACT []
13815 synonym: "Seattleseq:codingComplex" RELATED VAR []
13816 synonym: "Seattleseq:codingComplex-near-splice" RELATED VAR []
13817 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1377713818 is_a: SO:0001576 ! transcript_variant
1377813819 created_by: kareneilbeck
1377913820 creation_date: 2010-03-22T02:33:03Z
1378413825 def: "A sequence variant where at least one base of the terminator codon (stop) is changed, resulting in an elongated transcript." [SO:ke]
1378513826 comment: EBI term: Stop lost - In coding sequence, resulting in the loss of a stop codon.
1378613827 synonym: "ANNOVAR:stoploss" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13828 synonym: "Jannovar:stop_lost" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13829 synonym: "Seattleseq:stop-lost" EXACT VAR []
13830 synonym: "Seattleseq:stop-lost-near-splice" RELATED VAR []
1378713831 synonym: "snpEff:STOP_LOST" EXACT VAR []
1378813832 synonym: "stop codon lost" EXACT []
1378913833 synonym: "stop lost" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1379013834 synonym: "VAAST:stop_lost" EXACT VAR []
13835 synonym: "VAT:removedStop" EXACT VAR []
13836 synonym: "VEP:stop_lost" EXACT VAR []
13837 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13838 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13839 xref: http://vat.gersteinlab.org/formats.php "VAT"
13840 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1379113841 is_a: SO:0001590 ! terminator_codon_variant
1379213842 is_a: SO:0001907 ! feature_elongation
1379313843 is_a: SO:0001992 ! nonsynonymous_variant
1380913859 synonym: "coding variant" EXACT []
1381013860 synonym: "codon variant" EXACT []
1381113861 synonym: "codon_variant" EXACT []
13862 synonym: "Jannovar:coding_sequence_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13863 synonym: "Seattleseq:coding" EXACT VAR []
1381213864 synonym: "snpEff:CDS" EXACT VAR []
1381313865 synonym: "snpEff:CODON_CHANGE" RELATED VAR []
1381413866 synonym: "VAAST:coding_sequence_variant" EXACT VAR []
13867 synonym: "VEP:coding_sequence_variant" EXACT VAR []
1381513868 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
13869 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13870 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13871 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1381613872 is_a: SO:0001791 ! exon_variant
1381713873 is_a: SO:0001968 ! coding_transcript_variant
1381813874 created_by: kareneilbeck
1382513881 comment: This is being used to annotate changes to the first codon of a transcript, when the first annotated codon is not to methionine. A variant is predicted to change the first amino acid of a translation irrespective of the fact that the underlying codon is an AUG. As such for transcripts with an incomplete CDS (sequence does not start with an AUG), it is still called.
1382613882 synonym: "initiatior codon variant" EXACT []
1382713883 synonym: "initiator codon change" EXACT []
13884 synonym: "Jannovar:initiator_codon_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13885 synonym: "snpEff:NON_SYNONYMOUS_START" RELATED VAR []
13886 synonym: "VAT:startOverlap" EXACT VAR []
1382813887 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
13888 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13889 xref: http://vat.gersteinlab.org/formats.php "VAT"
1382913890 xref: loinc:LA6695-6 "Initiating Methionine"
1383013891 is_a: SO:0001580 ! coding_sequence_variant
1383113892 created_by: kareneilbeck
1383913900 def: "A sequence variant, that changes one or more bases, resulting in a different amino acid sequence but where the length is preserved." [EBI:fc, EBI:gr, SO:ke]
1384013901 comment: EBI term: Non-synonymous SNPs. SNPs that are located in the coding sequence and result in an amino acid change in the encoded peptide sequence. A change that causes a non_synonymous_codon can be more than 3 bases - for example 4 base substitution.
1384113902 synonym: "ANNOVAR:nonsynonymous SNV" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13903 synonym: "Jannovar:missense_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1384213904 synonym: "missense" EXACT [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1384313905 synonym: "missense codon" EXACT []
13844 synonym: "snpEff:NON_SYSNONYMOUS_CODING" EXACT VAR []
13906 synonym: "Seattleseq:missense" EXACT VAR []
13907 synonym: "Seattleseq:missense-near-splice" RELATED VAR []
13908 synonym: "snpEff:NON_SYNONYMOUS_CODING" EXACT VAR []
13909 synonym: "VAAST:missense_variant" EXACT VAR []
1384513910 synonym: "VAAST:non_synonymous_codon" RELATED VAR []
13911 synonym: "VAT:nonsynonymous" EXACT VAR []
13912 synonym: "VEP:missense_variant" EXACT VAR []
1384613913 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
1384713914 xref: http://en.wikipedia.org/wiki/Missense_mutation
13915 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13916 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13917 xref: http://vat.gersteinlab.org/formats.php "VAT"
13918 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1384813919 xref: loinc:LA6698-0 "Missense"
1384913920 is_a: SO:0001992 ! nonsynonymous_variant
1385013921 created_by: kareneilbeck
1387713948 [Term]
1387813949 id: SO:0001587
1387913950 name: stop_gained
13880 def: "A sequence variant whereby at least one base of a codon is changed, resulting in a premature stop codon, leading to a shortened transcript." [SO:ke]
13951 def: "A sequence variant whereby at least one base of a codon is changed, resulting in a premature stop codon, leading to a shortened polypeptide." [SO:ke]
1388113952 comment: EBI term: Stop gained - In coding sequence, resulting in the gain of a stop codon (i.e. leading to a shortened peptide sequence).
1388213953 synonym: "ANNOVAR:stopgain" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13954 synonym: "Jannovar:stop_gained" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1388313955 synonym: "nonsense" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1388413956 synonym: "nonsense codon" EXACT []
13885 synonym: "snpEFF:STOP_GAINED" EXACT VAR []
13957 synonym: "Seattleseq:stop-gained" EXACT VAR []
13958 synonym: "Seattleseq:stop-gained-near-splice" RELATED VAR []
13959 synonym: "snpEff:STOP_GAINED" EXACT VAR []
1388613960 synonym: "stop codon gained" RELATED []
1388713961 synonym: "stop gained" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1388813962 synonym: "VAAST:stop_gained" EXACT VAR []
13963 synonym: "VAT:prematureStop" EXACT VAR []
13964 synonym: "VEP:stop_gained" EXACT VAR []
13965 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13966 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13967 xref: http://vat.gersteinlab.org/formats.php "VAT"
13968 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1388913969 xref: loinc:LA6699-8 "Nonsense"
1389013970 is_a: SO:0001906 ! feature_truncation
1389113971 is_a: SO:0001992 ! nonsynonymous_variant
1389813978 def: "A sequence variant which causes a disruption of the translational reading frame, because the number of nucleotides inserted or deleted is not a multiple of three." [SO:ke]
1389913979 comment: EBI term:Frameshift variations - In coding sequence, resulting in a frameshift.
1390013980 synonym: "ANNOVAR:frameshift block substitution" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13981 synonym: "ANNOVAR:frameshift substitution" RELATED []
1390113982 synonym: "frameshift variant" EXACT []
1390213983 synonym: "frameshift_" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1390313984 synonym: "frameshift_coding" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13985 synonym: "Jannovar:frameshift_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13986 synonym: "Seattleseq:frameshift" EXACT VAR []
13987 synonym: "Seattleseq:frameshift-near-splice" RELATED VAR []
1390413988 synonym: "snpEff:FRAME_SHIFT" EXACT VAR []
1390513989 synonym: "VAAST:frameshift_variant" EXACT VAR []
13990 synonym: "VAT:deletionFS" NARROW VAR []
13991 synonym: "VAT:insertionFS" NARROW VAR []
13992 synonym: "VEP:frameshift_variant" EXACT VAR []
13993 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13994 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13995 xref: http://vat.gersteinlab.org/formats.php "VAT"
13996 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1390613997 xref: loinc:LA6694-9 "Frameshift"
1390713998 is_a: SO:0001818 ! protein_altering_variant
1390813999 created_by: kareneilbeck
1391714008 synonym: "terminal codon variant" EXACT []
1391814009 synonym: "terminal_codon_variant" EXACT []
1391914010 synonym: "terminator codon variant" EXACT []
14011 synonym: "VAT:endOverlap" EXACT VAR []
14012 xref: http://vat.gersteinlab.org/formats.php "VAT"
1392014013 xref: loinc:LA6700-2 "Stop Codon Mutation"
1392114014 is_a: SO:0001580 ! coding_sequence_variant
1392214015 created_by: kareneilbeck
1418714280 name: non_coding_transcript_variant
1418814281 def: "A transcript variant of a non coding RNA gene." [SO:ke]
1418914282 comment: Within non-coding gene - Located within a gene that does not code for a protein.
14190 synonym: "ANNOVAR:ncRNA" RELATED VAR [http:http\://www.openbioinformatics.org/annovar/annovar_download.html]
14283 synonym: "ANNOVAR:ncRNA" NARROW VAR [http://annovar.openbioinformatics.org/en/latest/user-guide/gene/]
14284 synonym: "Jannovar:non_coding_transcript_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1419114285 synonym: "nc transcript variant" EXACT []
1419214286 synonym: "non coding transcript variant" EXACT []
14287 synonym: "VEP:non_coding_transcript_variant" EXACT VAR []
1419314288 synonym: "within_non_coding_gene" EXACT dbsnp [http://ensembl.org/info/docs/variation/index.html]
14289 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1419414290 is_a: SO:0001576 ! transcript_variant
1419514291 created_by: kareneilbeck
1419614292 creation_date: 2010-03-23T11:16:23Z
1420114297 def: "A transcript variant located with the sequence of the mature miRNA." [SO:ke]
1420214298 comment: EBI term: Within mature miRNA - Located within a microRNA.
1420314299 synonym: "mature miRNA variant" EXACT []
14300 synonym: "snpEff:MICRO_RNA" EXACT VAR []
14301 synonym: "VEP:mature_miRNA_variant" EXACT VAR []
1420414302 synonym: "within_mature_miRNA" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14303 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14304 xref: XX:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1420514305 is_a: SO:0001619 ! non_coding_transcript_variant
1420614306 created_by: kareneilbeck
1420714307 creation_date: 2010-03-23T11:16:58Z
1421214312 def: "A variant in a transcript that is the target of NMD." [SO:ke]
1421314313 synonym: "NMD transcript variant" EXACT []
1421414314 synonym: "NMD_transcript" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14315 synonym: "VEP:NMD_transcript_variant" EXACT VAR []
14316 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1421514317 is_a: SO:0001576 ! transcript_variant
1421614318 created_by: kareneilbeck
1421714319 creation_date: 2010-03-23T11:20:40Z
1423614338 synonym: "5PRIME_UTR" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1423714339 synonym: "ANNOVAR:UTR5" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1423814340 synonym: "five prime UTR variant" EXACT []
14341 synonym: "Jannovar:5_prime_utr_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14342 synonym: "Seattleseq:5-prime-UTR" EXACT VAR []
1423914343 synonym: "snpEff:UTR_5_PRIME" EXACT VAR []
1424014344 synonym: "untranslated-5" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
14345 synonym: "VAAST:5_prime_UTR_variant" EXACT VAR []
1424114346 synonym: "VAAST:five_prime_UTR_variant" EXACT VAR []
14347 synonym: "VEP:5_prime_UTR_variant" EXACT VAR []
14348 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
14349 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14350 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1424214351 is_a: SO:0001622 ! UTR_variant
1424314352 created_by: kareneilbeck
1424414353 creation_date: 2010-03-23T11:23:29Z
1425114360 synonym: "3'UTR variant" EXACT []
1425214361 synonym: "3PRIME_UTR" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1425314362 synonym: "ANNOVAR:UTR3" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14363 synonym: "Jannovar:3_prime_utr_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14364 synonym: "Seattleseq:3-prime-UTR" EXACT VAR []
1425414365 synonym: "snpEff:UTR_3_PRIME" EXACT VAR []
1425514366 synonym: "three prime UTR variant" EXACT []
1425614367 synonym: "untranslated-3" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
14368 synonym: "VAAST:3_prime_UTR_variant" EXACT VAR []
1425714369 synonym: "VAAST:three_prime_UTR_variant" EXACT VAR []
14370 synonym: "VEP:3_prime_UTR_variant" EXACT VAR []
14371 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
14372 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14373 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1425814374 is_a: SO:0001622 ! UTR_variant
1425914375 created_by: kareneilbeck
1426014376 creation_date: 2010-03-23T11:23:54Z
1426614382 comment: EBI term: Partial codon - Located within the final, incomplete codon of a transcript with a shortened coding sequence where the end is unknown.
1426714383 synonym: "incomplete terminal codon variant" EXACT []
1426814384 synonym: "partial_codon" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14385 synonym: "VEP:incomplete_terminal_codon_variant" EXACT VAR []
14386 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1426914387 is_a: SO:0001590 ! terminator_codon_variant
1427014388 is_a: SO:0001650 ! inframe_variant
1427114389 created_by: kareneilbeck
1428014398 synonym: "intron variant" EXACT []
1428114399 synonym: "intron_" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1428214400 synonym: "intronic" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14401 synonym: "Jannovar:intron_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14402 synonym: "Seattleseq:intron" EXACT VAR []
14403 synonym: "Seattleseq:intron-near-splice" RELATED VAR []
1428314404 synonym: "snpEff:INTRON" EXACT VAR []
1428414405 synonym: "VAAST:intron_variant" EXACT VAR []
14406 synonym: "VEP:intron_variant" EXACT VAR []
14407 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
14408 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14409 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1428514410 is_a: SO:0001576 ! transcript_variant
1428614411 created_by: kareneilbeck
1428714412 creation_date: 2010-03-23T03:52:38Z
1429414419 synonym: "ANNOVAR:intergenic" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1429514420 synonym: "intergenic" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1429614421 synonym: "intergenic variant" EXACT []
14422 synonym: "Jannovar:intergenic_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14423 synonym: "Seattleseq:intergenic" EXACT VAR []
1429714424 synonym: "snpEff:INTERGENIC" EXACT VAR []
14425 synonym: "VEP:intergenic_variant" EXACT VAR []
14426 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
14427 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14428 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1429814429 is_a: SO:0001878 ! feature_variant
1429914430 created_by: kareneilbeck
1430014431 creation_date: 2010-03-23T05:07:37Z
1430614437 comment: EBI term - essential splice site - In the first 2 or the last 2 base pairs of an intron. The 5th base is on the donor (5') side of the intron. Updated to b in line with Cancer Genome Project at the Sanger.
1430714438 synonym: "essential_splice_site" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1430814439 synonym: "splice site variant" EXACT []
14440 synonym: "VAT:spliceOverlap" EXACT VAR []
14441 xref: http://vat.gersteinlab.org/formats.php "VAT"
1430914442 is_a: SO:0001568 ! splicing_variant
1431014443 is_a: SO:0001627 ! intron_variant
1431114444 created_by: kareneilbeck
1431714450 def: "A sequence variant in which a change has occurred within the region of the splice site, either within 1-3 bases of the exon or 3-8 bases of the intron." [http://ensembl.org/info/docs/variation/index.html]
1431814451 comment: EBI term: splice site - 1-3 bps into an exon or 3-8 bps into an intron.
1431914452 synonym: "ANNOVAR:splicing" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14453 synonym: "Jannovar:splice_region_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14454 synonym: "snpEff:SPLICE_SITE_BRANCH" RELATED VAR []
14455 synonym: "snpEff:SPLICE_SITE_BRANCH_U12" RELATED VAR []
14456 synonym: "snpEff:SPLICE_SITE_REGION" EXACT VAR []
1432014457 synonym: "splice region variant" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1432114458 synonym: "VAAST:splice_region_variant" EXACT VAR []
14459 synonym: "VEP:splice_region_variant" EXACT VAR []
14460 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14461 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1432214462 is_a: SO:0001568 ! splicing_variant
1432314463 created_by: kareneilbeck
1432414464 creation_date: 2010-03-24T09:46:02Z
1432914469 def: "A sequence variant located 5' of a gene." [SO:ke]
1433014470 comment: Different groups annotate up and downstream to different lengths. The subtypes are specific and are backed up with cross references.
1433114471 synonym: "ANNOVAR:upstream" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14472 synonym: "Jannovar:upstream_gene_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1433214473 synonym: "snpEff:UPSTREAM" EXACT VAR []
1433314474 synonym: "upstream gene variant" EXACT []
14475 synonym: "VEP:upstream_gene_variant" EXACT VAR []
14476 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14477 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1433414478 is_a: SO:0001628 ! intergenic_variant
1433514479 created_by: kareneilbeck
1433614480 creation_date: 2010-03-24T09:49:13Z
1434214486 comment: Different groups annotate up and downstream to different lengths. The subtypes are specific and are backed up with cross references.
1434314487 synonym: "ANNOVAR:downstream" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1434414488 synonym: "downstream gene variant" EXACT []
14489 synonym: "Jannovar:downstream_gene_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1434514490 synonym: "snpEff:DOWNSTREAM" EXACT VAR []
14491 synonym: "VEP:downstream_gene_variant" EXACT VAR []
14492 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14493 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1434614494 is_a: SO:0001628 ! intergenic_variant
1434714495 created_by: kareneilbeck
1434814496 creation_date: 2010-03-24T09:49:38Z
1435414502 comment: EBI term Downstream variations - Within 5 kb downstream of the 3prime end of a transcript.
1435514503 synonym: "5KB downstream variant" EXACT []
1435614504 synonym: "downstream" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14505 synonym: "Seattleseq:downstream-gene" EXACT VAR []
1435714506 synonym: "within 5KB downstream" RELATED []
14507 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1435814508 is_a: SO:0001632 ! downstream_gene_variant
1435914509 created_by: kareneilbeck
1436014510 creation_date: 2010-03-24T09:50:16Z
1436514515 def: "A sequence variant located within a half KB of the end of a gene." [SO:ke]
1436614516 synonym: "500B downstream variant" EXACT []
1436714517 synonym: "near-gene-3" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
14368 is_a: SO:0001633 ! 5KB_downstream_variant
14518 is_a: SO:0001632 ! downstream_gene_variant
1436914519 created_by: kareneilbeck
1437014520 creation_date: 2010-03-24T09:50:42Z
1437114521
1437514525 def: "A sequence variant located within 5KB 5' of a gene." [SO:ke]
1437614526 comment: EBI term Upstream variations - Within 5 kb upstream of the 5prime end of a transcript.
1437714527 synonym: "5kb upstream variant" EXACT []
14528 synonym: "Seattleseq:upstream-gene" EXACT VAR []
1437814529 synonym: "upstream" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14530 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1437914531 is_a: SO:0001631 ! upstream_gene_variant
1438014532 created_by: kareneilbeck
1438114533 creation_date: 2010-03-24T09:51:06Z
1438614538 def: "A sequence variant located within 2KB 5' of a gene." [SO:ke]
1438714539 synonym: "2KB upstream variant" EXACT []
1438814540 synonym: "near-gene-5" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
14389 is_a: SO:0001635 ! 5KB_upstream_variant
14541 is_a: SO:0001631 ! upstream_gene_variant
1439014542 created_by: kareneilbeck
1439114543 creation_date: 2010-03-24T09:51:22Z
1439214544
1452714679 name: inframe_variant
1452814680 def: "A sequence variant which does not cause a disruption of the translational reading frame." [SO:ke]
1452914681 synonym: "ANNOVAR:nonframeshift block substitution" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14682 synonym: "ANNOVAR:nonframeshift substitution" RELATED VAR []
1453014683 synonym: "cds-indel" EXACT dbsnp []
1453114684 synonym: "inframe variant" EXACT []
1453214685 synonym: "VAAST:inframe_variant" EXACT VAR []
1490515058 [Term]
1490615059 id: SO:0001691
1490715060 name: blunt_end_restriction_enzyme_cleavage_site
15061 def: "A restriction enzyme recognition site that, when cleaved, results in no overhangs." [SBOL:jgquinn, SO:ke]
1490815062 synonym: "blunt end restriction enzyme cleavage site" EXACT []
1490915063 is_a: SO:0001687 ! restriction_enzyme_recognition_site
1491015064 created_by: kareneilbeck
1502415178 [Term]
1502515179 id: SO:0001703
1502615180 name: H3K9_acetylation_site
15027 def: "A kind of histone modification site, whereby the 9th residue (a lysine), from the start of the H3 histone protein is acylated." [http://en.wikipedia.org/wiki/Histone]
15181 def: "A kind of histone modification site, whereby the 9th residue (a lysine), from the start of the H3 histone protein is acetylated." [http://en.wikipedia.org/wiki/Histone]
1502815182 synonym: "H3K9 acetylation site" EXACT []
15029 synonym: "H3K9Ac" RELATED []
15183 synonym: "H3K9ac" EXACT []
1503015184 is_a: SO:0001973 ! histone_3_acetylation_site
1503115185 created_by: kareneilbeck
1503215186 creation_date: 2010-03-31T10:25:05Z
1503415188 [Term]
1503515189 id: SO:0001704
1503615190 name: H3K14_acetylation_site
15037 def: "A kind of histone modification site, whereby the 14th residue (a lysine), from the start of the H3 histone protein is acylated." [http://en.wikipedia.org/wiki/Histone]
15191 def: "A kind of histone modification site, whereby the 14th residue (a lysine), from the start of the H3 histone protein is acetylated." [http://en.wikipedia.org/wiki/Histone]
1503815192 synonym: "H3K14 acetylation site" EXACT []
15039 synonym: "H3K14Ac" RELATED []
15193 synonym: "H3K14ac" EXACT []
1504015194 is_a: SO:0001973 ! histone_3_acetylation_site
1504115195 created_by: kareneilbeck
1504215196 creation_date: 2010-03-31T10:25:53Z
1517115325 [Term]
1517215326 id: SO:0001718
1517315327 name: H3K18_acetylation_site
15174 def: "A kind of histone modification site, whereby the 14th residue (a lysine), from the start of the H3 histone protein is acylated." [SO:ke]
15328 def: "A kind of histone modification site, whereby the 18th residue (a lysine), from the start of the H3 histone protein is acetylated." [SO:ke]
1517515329 synonym: "H3K18 acetylation site" EXACT []
15176 synonym: "H3K18Ac" RELATED []
15330 synonym: "H3K18ac" EXACT []
1517715331 is_a: SO:0001973 ! histone_3_acetylation_site
1517815332 created_by: kareneilbeck
1517915333 creation_date: 2010-04-13T10:39:35Z
1518015334
1518115335 [Term]
1518215336 id: SO:0001719
15183 name: H3K23_acylation_site
15184 def: "A kind of histone modification, whereby the 23rd residue (a lysine), from the start of the H3 histone protein is acylated." [SO:ke]
15185 synonym: "H3K23 acylation site" RELATED []
15186 synonym: "H3K23Ac" RELATED []
15337 name: H3K23_acetylation_site
15338 def: "A kind of histone modification, whereby the 23rd residue (a lysine), from the start of the H3 histone protein is acetylated." [SO:ke]
15339 synonym: "H3K23 acetylation site" EXACT []
15340 synonym: "H3K23ac" EXACT []
1518715341 is_a: SO:0001973 ! histone_3_acetylation_site
1518815342 created_by: kareneilbeck
1518915343 creation_date: 2010-04-13T10:42:45Z
1520715361 def: "A kind of histone modification site, whereby the 27th residue (a lysine), from the start of the H3 histone protein is acylated." [SO:ke]
1520815362 synonym: "H3K27 acylation site" EXACT []
1520915363 synonym: "H3K27Ac" RELATED []
15210 is_a: SO:0001973 ! histone_3_acetylation_site
15364 is_obsolete: true
1521115365 created_by: kareneilbeck
1521215366 creation_date: 2010-04-13T10:44:09Z
1521315367
1528315437
1528415438 [Term]
1528515439 id: SO:0001729
15286 name: H4K16_acylation_site
15287 def: "A kind of histone modification site, whereby the 16th residue (a lysine), from the start of the H4 histone protein is acylated." [SO:ke]
15288 synonym: "H4K16 acylation_site" RELATED []
15289 synonym: "H4K16Ac" RELATED []
15290 is_a: SO:0001972 ! histone_4_acylation_site
15440 name: H4K16_acetylation_site
15441 def: "A kind of histone modification site, whereby the 16th residue (a lysine), from the start of the H4 histone protein is acetylated." [SO:ke]
15442 synonym: "H4K16 acetylation site" EXACT []
15443 synonym: "H4K16ac" EXACT []
15444 is_a: SO:0001972 ! histone_4_acetylation_site
1529115445 created_by: kareneilbeck
1529215446 creation_date: 2010-04-13T11:09:41Z
1529315447
1529415448 [Term]
1529515449 id: SO:0001730
15296 name: H4K5_acylation_site
15297 def: "A kind of histone modification site, whereby the 5th residue (a lysine), from the start of the H4 histone protein is acylated." [SO:ke]
15298 synonym: "H4K5 acylation site" RELATED []
15299 synonym: "H4K5Ac" RELATED []
15300 is_a: SO:0001972 ! histone_4_acylation_site
15450 name: H4K5_acetylation_site
15451 def: "A kind of histone modification site, whereby the 5th residue (a lysine), from the start of the H4 histone protein is acetylated." [SO:ke]
15452 synonym: "H4K5 acetylation site" EXACT []
15453 synonym: "H4K5ac" EXACT []
15454 is_a: SO:0001972 ! histone_4_acetylation_site
1530115455 created_by: kareneilbeck
1530215456 creation_date: 2010-04-13T11:13:00Z
1530315457
1530415458 [Term]
1530515459 id: SO:0001731
15306 name: H4K8_acylation_site
15307 def: "A kind of histone modification site, whereby the 8th residue (a lysine), from the start of the H4 histone protein is acylated." [SO:KE]
15308 synonym: "H4K8 acylation site" RELATED []
15309 synonym: "H4K8Ac" RELATED []
15310 is_a: SO:0001972 ! histone_4_acylation_site
15460 name: H4K8_acetylation_site
15461 def: "A kind of histone modification site, whereby the 8th residue (a lysine), from the start of the H4 histone protein is acetylated." [SO:KE]
15462 synonym: "H4K8 acetylation site" EXACT []
15463 synonym: "H4K8ac" EXACT []
15464 is_a: SO:0001972 ! histone_4_acetylation_site
1531115465 created_by: kareneilbeck
1531215466 creation_date: 2010-04-13T11:14:24Z
1531315467
1557115725 [Term]
1557215726 id: SO:0001759
1557315727 name: unitary_pseudogene
15574 def: "A pseudogene, deactivated from original state by mutation, fixed in a population." [http://en.wikipedia.org/wiki/Pseudogene, SO:ke]
15728 def: "A pseudogene, deactivated from original state by mutation, fixed in a population,where the ortholog in a reference species such as mouse remains functional." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, http://en.wikipedia.org/wiki/Pseudogene, SO:ke]
1557515729 comment: This is different from a non processed pseudogene because the gene was not duplicated. An example is the L-gulono-lactone oxidase pseudogene in primates.
1557615730 synonym: "disabled gene" RELATED []
1557715731 synonym: "unitary pseudogene" RELATED []
1558215736 [Term]
1558315737 id: SO:0001760
1558415738 name: non_processed_pseudogene
15585 def: "A pseudogene that arose from a means other than retrotransposition." [SO:ke]
15739 def: "A pseudogene that arose from a means other than retrotransposition. A pseudogene created via genomic duplication of a functional protein-coding parent gene followed by accumulation of deleterious mutations." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, SO:ke]
1558615740 synonym: "non processed pseudogene" RELATED []
15741 synonym: "unprocessed pseudogene" EXACT []
15742 synonym: "unprocessed_pseudogene" EXACT []
1558715743 is_a: SO:0000336 ! pseudogene
1558815744 created_by: kareneilbeck
1558915745 creation_date: 2011-03-09T10:54:47Z
1576515921 id: SO:0001782
1576615922 name: TF_binding_site_variant
1576715923 def: "A sequence variant located within a transcription factor binding site." [EBI:fc]
15924 synonym: "Jannovar:tf_binding_site_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1576815925 synonym: "TF binding site variant" EXACT []
15926 synonym: "VEP:TF_binding_site_variant" EXACT VAR []
15927 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1576915928 is_a: SO:0001566 ! regulatory_region_variant
1577015929 created_by: kareneilbeck
1577115930 creation_date: 2011-03-17T10:59:20Z
1584916008 def: "A sequence variant that changes exon sequence." [SO:ke]
1585016009 synonym: "ANNOVAR:exonic" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1585116010 synonym: "exon variant" EXACT []
16011 synonym: "Jannovar:exon_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1585216012 synonym: "snpEff:EXON" EXACT VAR []
1585316013 synonym: "VAAST:exon_variant" EXACT VAR []
16014 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1585416015 is_a: SO:0001576 ! transcript_variant
1585516016 created_by: kareneilbeck
1585616017 creation_date: 2011-05-06T01:51:17Z
1585916020 id: SO:0001792
1586016021 name: non_coding_transcript_exon_variant
1586116022 def: "A sequence variant that changes non-coding exon sequence in a non-coding transcript." [EBI:fc, SO:ke]
16023 synonym: "ANNOVAR:ncRNA_exonic" NARROW VAR []
16024 synonym: "Jannovar:non_coding_transcript_exon_variant" NARROW VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1586216025 synonym: "non coding transcript exon variant" EXACT []
16026 synonym: "non_coding_transcript_exon_variant" EXACT VAR []
16027 synonym: "Seattleseq:non-coding-exon" EXACT VAR []
16028 synonym: "Seattleseq:non-coding-exon-near-splice" RELATED VAR []
16029 synonym: "VEP:non_coding_transcript_exon_variant" EXACT VAR []
16030 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1586316031 is_a: SO:0001619 ! non_coding_transcript_variant
1586416032 is_a: SO:0001791 ! exon_variant
1586516033 created_by: kareneilbeck
1592116089 synonym: "lmr1R" EXACT []
1592216090 synonym: "regional centromere inner repeat region" EXACT []
1592316091 is_a: SO:0001797 ! centromeric_repeat
16092 relationship: part_of SO:0001795 ! regional_centromere
1592416093 relationship: part_of SO:0001796 ! regional_centromere_central_core
1592516094 created_by: kareneilbeck
1592616095 creation_date: 2011-05-31T01:01:08Z
1610816277 name: protein_altering_variant
1610916278 def: "A sequence_variant which is predicted to change the protein encoded in the coding sequence." [EBI:gr]
1611016279 synonym: "protein altering variant" EXACT []
16280 synonym: "VEP:protein_altering_variant" EXACT VAR []
16281 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1611116282 is_a: SO:0001580 ! coding_sequence_variant
1611216283 created_by: kareneilbeck
1611316284 creation_date: 2011-06-24T03:38:02Z
1612016291 comment: EBI term: Synonymous SNPs - In coding sequence, not resulting in an amino acid change (i.e. silent mutation).\nThis term is sometimes used synonomously with the more general term 'silent mutation', although a silent mutation may occur in non coding sequence. The best practice is to annotate to the most specific term.
1612116292 synonym: "ANNOVAR:synonymous SNV" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1612216293 synonym: "coding-synon" EXACT [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
16294 synonym: "Jannovar:synonymous_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
16295 synonym: "Seattleseq:synonymous" EXACT VAR []
16296 synonym: "Seattleseq:synonymous-near-splice" RELATED VAR []
1612316297 synonym: "silent mutation" RELATED []
1612416298 synonym: "silent substitution" RELATED []
1612516299 synonym: "silent_mutation" RELATED []
1612816302 synonym: "synonymous_coding" EXACT []
1612916303 synonym: "synonymous_codon" EXACT []
1613016304 synonym: "VAAST:synonymous_codon" EXACT VAR []
16305 synonym: "VAAST:synonymous_variant" EXACT VAR []
16306 synonym: "VAT:synonymous" EXACT VAR []
16307 synonym: "VEP:synonymous_variant" EXACT VAR []
1613116308 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
1613216309 xref: http://en.wikipedia.org/wiki/Silent_mutation "wiki"
1613316310 xref: http://en.wikipedia.org/wiki/Synonymous_mutation
16311 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
16312 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
16313 xref: http://vat.gersteinlab.org/formats.php "VAT"
16314 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1613416315 is_a: SO:0001580 ! coding_sequence_variant
1613516316 created_by: kareneilbeck
1613616317 creation_date: 2011-06-24T03:38:30Z
1615516336 synonym: "inframe increase in CDS length" EXACT []
1615616337 synonym: "inframe insertion" EXACT []
1615716338 synonym: "inframe_codon_gain" EXACT []
16339 synonym: "Jannovar:inframe_insertion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1615816340 synonym: "snpEFF:CODON_INSERTION" EXACT VAR []
16341 synonym: "VAT:insertionNFS" EXACT VAR []
16342 synonym: "VEP:inframe_insertion" EXACT VAR []
16343 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
16344 xref: http://vat.gersteinlab.org/formats.php "VAT"
16345 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1615916346 is_a: SO:0001820 ! inframe_indel
1616016347 is_a: SO:0001908 ! internal_feature_elongation
1616116348 created_by: kareneilbeck
1617116358 synonym: "inframe decrease in CDS length" EXACT []
1617216359 synonym: "inframe deletion" RELATED []
1617316360 synonym: "inframe_codon_loss" EXACT []
16361 synonym: "Jannovar:inframe_deletion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1617416362 synonym: "snpEff:CODON_DELETION" RELATED VAR []
16363 synonym: "VAT:deletionNFS" EXACT VAR []
16364 synonym: "VEP:inframe_deletion" EXACT VAR []
16365 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
16366 xref: http://vat.gersteinlab.org/formats.php "VAT"
16367 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1617516368 is_a: SO:0001820 ! inframe_indel
1617616369 is_a: SO:0001906 ! feature_truncation
1617716370 created_by: kareneilbeck
1619316386 def: "An inframe increase in cds length that inserts one or more codons into the coding sequence within an existing codon." [EBI:gr]
1619416387 synonym: "disruptive increase in CDS length" EXACT []
1619516388 synonym: "disruptive inframe insertion" EXACT []
16389 synonym: "Jannovar:disruptive_inframe_insertion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1619616390 synonym: "snpEff:CODON_CHANGE_PLUS_CODON_INSERTION" EXACT VAR []
16391 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1619716392 is_a: SO:0001821 ! inframe_insertion
1619816393 created_by: kareneilbeck
1619916394 creation_date: 2011-06-27T11:28:37Z
1621416409 def: "An inframe decrease in cds length that deletes bases from the coding sequence starting within an existing codon." [EBI:gr]
1621516410 synonym: "disruptive decrease in CDS length" EXACT []
1621616411 synonym: "disruptive inframe deletion" EXACT []
16412 synonym: "Jannovar:disruptive_inframe_deletion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1621716413 synonym: "snpEff:CODON_CHANGE_PLUS_CODON_DELETION" EXACT VAR []
16414 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1621816415 is_a: SO:0001822 ! inframe_deletion
1621916416 created_by: kareneilbeck
1622016417 creation_date: 2011-06-27T11:31:31Z
1636216559 [Term]
1636316560 id: SO:0001841
1636416561 name: polymorphic_pseudogene
16365 def: "Pseudogene owing to a SNP/DIP but in other individuals/haplotypes/strains the gene is translated." [JAX:hd]
16366 comment: This terms is used by Ensembl and Vega.
16562 def: "A pseudogene in the reference genome, though known to be intact in the genomes of other individuals of the same species. The annotation process has confirmed that the pseudogenisation event is not a genomic sequencing error." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, JAX:hd]
16563 comment: This terms is used by Ensembl and Vega. Pseudogene owing to a SNP/DIP but in other individuals/haplotypes/strains the gene is translated.
1636716564 synonym: "polymorphic psuedogene" EXACT []
1636816565 is_a: SO:0000336 ! pseudogene
1636916566 created_by: kareneilbeck
1642716624 [Term]
1642816625 id: SO:0001848
1642916626 name: homol_D_box
16430 def: "A core promoter element that has the consensus sequence CAGTCACA (or its inverted form TGTGACTG), and plays the role of a TATA box in promoters that do not contain a canonical TATA sequence." [PMID:7501449, PMID:8458332]
16627 def: "A core promoter element that has the consensus sequence CAGTCACA (or its inverted form TGTGACTG), and plays the role of a TATA box in promoters that do not contain a canonical TATA sequence." [PMID:21673110, PMID:7501449, PMID:8458332]
16628 synonym: "homoID" EXACT []
1643116629 synonym: "homol D box" EXACT []
1643216630 is_a: SO:0001660 ! core_promoter_element
1643316631 created_by: kareneilbeck
1684017038 def: "A feature amplification of a region containing a transcript." [SO:ke]
1684117039 comment: Created in conjunction with the EBI.
1684217040 synonym: "transcript amplification" EXACT []
17041 synonym: "VEP:transcript_amplification" EXACT VAR []
17042 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1684317043 is_a: SO:0001880 ! feature_amplification
1684417044 created_by: kareneilbeck
1684517045 creation_date: 2012-04-03T12:39:23Z
1686017060 def: "A feature amplification of a region containing a regulatory region." [SO:ke]
1686117061 comment: Created in conjunction with the EBI.
1686217062 synonym: "regulatory region amplification" EXACT []
17063 synonym: "VEP:regulatory_region_amplification" EXACT VAR []
17064 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1686317065 is_a: SO:0001880 ! feature_amplification
1686417066 created_by: kareneilbeck
1686517067 creation_date: 2012-04-03T12:41:28Z
1687117073 comment: Created in conjunction with the EBI.
1687217074 synonym: "TFBS amplification " EXACT []
1687317075 synonym: "transcription factor binding site amplification" EXACT []
17076 synonym: "VEP:TFBS_amplification" EXACT VAR []
17077 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1687417078 is_a: SO:0001891 ! regulatory_region_amplification
1687517079 created_by: kareneilbeck
1687617080 creation_date: 2012-04-03T12:42:48Z
1688017084 name: transcript_ablation
1688117085 def: "A feature ablation whereby the deleted region includes a transcript feature." [SO:ke]
1688217086 comment: Created in conjunction with the EBI.
17087 synonym: "Jannovar:transcript_ablation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1688317088 synonym: "transcript ablation" EXACT []
17089 synonym: "VEP:transcript_ablation" EXACT VAR []
17090 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1688417091 is_a: SO:0001879 ! feature_ablation
1688517092 created_by: kareneilbeck
1688617093 creation_date: 2012-04-03T12:44:19Z
1689117098 def: "A feature ablation whereby the deleted region includes a regulatory region." [SO:ke]
1689217099 comment: Created in conjunction with the EBI.
1689317100 synonym: "regulatory region ablation" EXACT []
17101 synonym: "VEP:regulatory_region_ablation" EXACT VAR []
17102 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1689417103 is_a: SO:0001879 ! feature_ablation
1689517104 created_by: kareneilbeck
1689617105 creation_date: 2012-04-03T12:45:13Z
1690217111 comment: Created in conjunction with the EBI.
1690317112 synonym: "TFBS ablation" EXACT []
1690417113 synonym: "transcription factor binding site ablation" EXACT []
17114 synonym: "VEP:TFBS_ablation" EXACT VAR []
17115 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1690517116 is_a: SO:0001894 ! regulatory_region_ablation
1690617117 created_by: kareneilbeck
1690717118 creation_date: 2012-04-03T12:45:56Z
1701817229 name: feature_truncation
1701917230 def: "A sequence variant that causes the reduction of a genomic feature, with regard to the reference sequence." [SO:ke]
1702017231 synonym: "feature truncation" EXACT []
17232 synonym: "Jannovar:feature_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
17233 synonym: "VEP:feature_truncation" EXACT VAR []
17234 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1702117235 is_a: SO:0001878 ! feature_variant
1702217236 created_by: kareneilbeck
1702317237 creation_date: 2012-04-12T05:05:28Z
1702717241 name: feature_elongation
1702817242 def: "A sequence variant that causes the extension of a genomic feature, with regard to the reference sequence." [SO:ke]
1702917243 synonym: "feature elongation" EXACT []
17244 synonym: "VEP:feature_elongation" EXACT VAR []
17245 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1703017246 is_a: SO:0001878 ! feature_variant
1703117247 created_by: kareneilbeck
1703217248 creation_date: 2012-04-12T05:05:56Z
1703617252 name: internal_feature_elongation
1703717253 def: "A sequence variant that causes the extension of a genomic feature from within the feature rather than from the terminus of the feature, with regard to the reference sequence." [SO:ke]
1703817254 synonym: "internal feature elongation" EXACT []
17255 synonym: "Jannovar:internal_feature_elongation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1703917256 is_a: SO:0001907 ! feature_elongation
1704017257 created_by: kareneilbeck
1704117258 creation_date: 2012-04-12T05:06:20Z
1704617263 def: "A frameshift variant that causes the translational reading frame to be extended relative to the reference feature." [SO:ke]
1704717264 synonym: "ANNOVAR:frameshift insertion" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1704817265 synonym: "frameshift elongation" EXACT []
17266 synonym: "Jannovar:frameshift_elongation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1704917267 is_a: SO:0001589 ! frameshift_variant
1705017268 is_a: SO:0001908 ! internal_feature_elongation
1705117269 created_by: kareneilbeck
1705517273 id: SO:0001910
1705617274 name: frameshift_truncation
1705717275 def: "A frameshift variant that causes the translational reading frame to be shortened relative to the reference feature." [SO:ke]
17058 synonym: "ANNOVAR:frameshit deletion" EXACT ebi_variants [http://www.openbioinformatics.org/annovar/annovar_download.html]
17059 synonym: "frameshft truncation" EXACT []
17276 synonym: "ANNOVAR:frameshift deletion" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
17277 synonym: "frameshift truncation" EXACT []
17278 synonym: "Jannovar:frameshift_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1706017279 is_a: SO:0001589 ! frameshift_variant
1706117280 is_a: SO:0001906 ! feature_truncation
1706217281 created_by: kareneilbeck
1733817557 [Term]
1733917558 id: SO:0001936
1734017559 name: H3K36_acetylation_site
17341 def: "A kind of histone modification site, whereby the 36th residue (a lysine), from the start of the H3 histone protein is acylated." [EBI:nj]
17560 def: "A kind of histone modification site, whereby the 36th residue (a lysine), from the start of the H3 histone protein is acetylated." [EBI:nj]
1734217561 synonym: "H3K36 acetylation site" EXACT []
1734317562 synonym: "H3K36ac" EXACT []
1734417563 is_a: SO:0001973 ! histone_3_acetylation_site
1734817567 [Term]
1734917568 id: SO:0001937
1735017569 name: H2BK12_acetylation_site
17351 def: "A kind of histone modification site, whereby the 12th residue (a lysine), from the start of the H2B protein is methylated." [EBI:nj]
17570 def: "A kind of histone modification site, whereby the 12th residue (a lysine), from the start of the H2B protein is acetylated." [EBI:nj]
1735217571 synonym: "H2BK12 acetylation site" EXACT []
17353 synonym: "H2BK12ac" RELATED []
17354 is_a: SO:0001702 ! histone_acetylation_site
17572 synonym: "H2BK12ac" EXACT []
17573 is_a: SO:0002143 ! histone_2B_acetylation_site
1735517574 created_by: kareneilbeck
1735617575 creation_date: 2013-03-06T10:19:13Z
1735717576
1736117580 def: "A kind of histone modification site, whereby the 5th residue (a lysine), from the start of the H2A histone protein is acetylated." [EBI:nj]
1736217581 synonym: "H2AK5 acetylation site" EXACT []
1736317582 synonym: "H2AK5ac" EXACT []
17364 is_a: SO:0001702 ! histone_acetylation_site
17583 is_a: SO:0002142 ! histone_2A_acetylation_site
1736517584 created_by: kareneilbeck
1736617585 creation_date: 2013-03-06T10:20:57Z
1736717586
1737117590 def: "A kind of histone modification site, whereby the 12th residue (a lysine), from the start of the H4 histone protein is acetylated." [EBI:nj]
1737217591 synonym: "H4K12 acetylation site" EXACT []
1737317592 synonym: "H4K12ac" EXACT []
17374 is_a: SO:0001972 ! histone_4_acylation_site
17593 is_a: SO:0001972 ! histone_4_acetylation_site
1737517594 created_by: kareneilbeck
1737617595 creation_date: 2013-03-06T10:26:15Z
1737717596
1737817597 [Term]
1737917598 id: SO:0001940
1738017599 name: H2BK120_acetylation_site
17381 def: "A kind of histone modification site, whereby the 120th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj]
17600 def: "A kind of histone modification site, whereby the 120th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj, http://dx.doi.org/10.4161/epi.6.5.15623]
1738217601 synonym: "H2BK120 acetylation site" EXACT []
1738317602 synonym: "H2BK120ac" EXACT []
17384 is_a: SO:0001702 ! histone_acetylation_site
17603 is_a: SO:0002143 ! histone_2B_acetylation_site
1738517604 created_by: kareneilbeck
1738617605 creation_date: 2013-03-06T10:28:38Z
1738717606
1739017609 name: H4K91_acetylation_site
1739117610 def: "A kind of histone modification site, whereby the 91st residue (a lysine), from the start of the H4 histone protein is acetylated." [EBI:nj]
1739217611 synonym: "H4K91 acetylation site" EXACT []
17393 is_a: SO:0001972 ! histone_4_acylation_site
17612 synonym: "H4K91ac" EXACT []
17613 is_a: SO:0001972 ! histone_4_acetylation_site
1739417614 created_by: kareneilbeck
1739517615 creation_date: 2013-03-06T10:41:04Z
1739617616
1739817618 id: SO:0001942
1739917619 name: H2BK20_acetylation_site
1740017620 def: "A kind of histone modification site, whereby the 20th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj]
17401 synonym: "H2BK20 acetylation site" RELATED []
17621 synonym: "H2BK20 acetylation site" EXACT []
1740217622 synonym: "H2BK20ac" EXACT []
17403 is_a: SO:0001702 ! histone_acetylation_site
17623 is_a: SO:0002143 ! histone_2B_acetylation_site
1740417624 created_by: kareneilbeck
1740517625 creation_date: 2013-03-06T10:44:31Z
1740617626
1740717627 [Term]
1740817628 id: SO:0001943
17409 name: H3K4ac_acetylation_site
17629 name: H3K4_acetylation_site
1741017630 def: "A kind of histone modification site, whereby the 4th residue (a lysine), from the start of the H3 histone protein is acetylated." [EBI:nj]
17631 synonym: "H3K4 acetylation site" EXACT []
1741117632 synonym: "H3K4ac" EXACT []
17412 synonym: "H3K4ac acetylation site" EXACT []
1741317633 is_a: SO:0001973 ! histone_3_acetylation_site
1741417634 created_by: kareneilbeck
1741517635 creation_date: 2013-03-06T10:46:32Z
1742017640 def: "A kind of histone modification site, whereby the 9th residue (a lysine), from the start of the H2A histone protein is acetylated." [EBI:nj]
1742117641 synonym: "H2AK9 acetylation site" EXACT []
1742217642 synonym: "H2AK9ac" EXACT []
17423 is_a: SO:0001702 ! histone_acetylation_site
17643 is_a: SO:0002142 ! histone_2A_acetylation_site
1742417644 created_by: kareneilbeck
1742517645 creation_date: 2013-03-06T10:48:11Z
1742617646
1744017660 def: "A kind of histone modification site, whereby the 15th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj]
1744117661 synonym: "H2BK15 acetylation site" EXACT []
1744217662 synonym: "H2BK15ac" EXACT []
17443 is_a: SO:0001702 ! histone_acetylation_site
17663 is_a: SO:0002143 ! histone_2B_acetylation_site
1744417664 created_by: kareneilbeck
1744517665 creation_date: 2013-03-06T10:53:23Z
1744617666
1765217872 name: coding_transcript_variant
1765317873 def: "A transcript variant of a protein coding gene." [SO:ke]
1765417874 synonym: "coding transcript variant" EXACT []
17875 synonym: "Jannovar:coding_transcript_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1765517876 is_a: SO:0001576 ! transcript_variant
1765617877 created_by: kareneilbeck
1765717878 creation_date: 2013-05-22T04:34:49Z
1766117882 name: coding_transcript_intron_variant
1766217883 def: "A transcript variant occurring within an intron of a coding transcript." [SO:ke]
1766317884 synonym: "coding sequence intron variant" EXACT []
17885 synonym: "Jannovar:coding_transcript_intron_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1766417886 is_a: SO:0001627 ! intron_variant
1766517887 is_a: SO:0001968 ! coding_transcript_variant
1766617888 created_by: kareneilbeck
1767017892 id: SO:0001970
1767117893 name: non_coding_transcript_intron_variant
1767217894 def: "A transcript variant occurring within an intron of a non coding transcript." [SO:ke]
17895 synonym: "ANNOVAR:ncRNA_intronic" NARROW VAR []
17896 synonym: "Jannovar:non_coding_transcript_intron_variant" NARROW VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1767317897 synonym: "non coding transcript intron variant" EXACT []
1767417898 is_a: SO:0001619 ! non_coding_transcript_variant
1767517899 is_a: SO:0001627 ! intron_variant
1768717911
1768817912 [Term]
1768917913 id: SO:0001972
17690 name: histone_4_acylation_site
17691 def: "A histone 4 modification where the modification is the acylation of the residue." [EBI:nj, SO:ke]
17914 name: histone_4_acetylation_site
17915 def: "A histone 4 modification where the modification is the acetylation of the residue." [EBI:nj, ISBN:0815341059, SO:ke]
1769217916 synonym: "H4ac" EXACT []
17917 synonym: "histone 4 acetylation site" EXACT []
1769317918 is_a: SO:0001702 ! histone_acetylation_site
1769417919 created_by: kareneilbeck
1769517920 creation_date: 2013-07-30T10:43:04Z
1769717922 [Term]
1769817923 id: SO:0001973
1769917924 name: histone_3_acetylation_site
17700 def: "A histone 3 modification where the modification is the acylation of the residue." [EBI:nj, SO:ke]
17925 def: "A histone 3 modification where the modification is the acetylation of the residue." [EBI:nj, ISBN:0815341059, SO:ke]
1770117926 synonym: "H3ac" EXACT []
17927 synonym: "histone 3 acetylation site" EXACT []
1770217928 is_a: SO:0001702 ! histone_acetylation_site
1770317929 created_by: kareneilbeck
1770417930 creation_date: 2013-07-30T10:46:42Z
1779718023 def: "A 5' UTR variant where a premature start codon is introduced, moved or lost." [SANGER:am]
1779818024 comment: Requested by Andy Menzies at the Sanger. This isn't necessarily a protein coding change. A premature start codon can effect the production of a mature protein product by providing a competing translation start point. Some genes balance their expression this way, eg THPO requires the presence of a premature start to limit expression, its loss leads to Familial thrombocythemia.
1779918025 synonym: "5' UTR premature start codon variant" EXACT []
17800 synonym: "snpEff:START_GAINED" EXACT VAR []
1780118026 is_a: SO:0001623 ! 5_prime_UTR_variant
1780218027 created_by: kareneilbeck
1780318028 creation_date: 2013-07-30T04:36:25Z
1784518070 name: 5_prime_UTR_premature_start_codon_gain_variant
1784618071 def: "A 5' UTR variant where a premature start codon is gained." [Sanger:am]
1784718072 synonym: "5 prime UTR premature start codon gain variant" EXACT []
18073 synonym: "Jannovar:5_prime_UTR_premature_start_codon_gain_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
18074 synonym: "snpEff:START_GAINED" EXACT VAR []
18075 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1784818076 is_a: SO:0001983 ! 5_prime_UTR_premature_start_codon_variant
1784918077 created_by: kareneilbeck
1785018078 creation_date: 2013-07-31T03:53:06Z
1803018258 name: rare_amino_acid_variant
1803118259 def: "A sequence variant whereby at least one base of a codon encoding a rare amino acid is changed, resulting in a different encoded amino acid." [SO:ke]
1803218260 comment: Request from Uma Devi Paila, UVA. Variants in the sites of rare amino acids e.g. Selenocysteine. These are important impact terms since a loss of such rare amino acids may lead to a loss of function.
18261 synonym: "Jannovar:rare_amino_acid_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1803318262 synonym: "rare amino acid variant" EXACT []
18263 synonym: "snpEff:RARE_AMINO_ACID" EXACT VAR []
18264 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1803418265 is_a: SO:0001586 ! non_conservative_missense_variant
1803518266 created_by: kareneilbeck
1803618267 creation_date: 2014-03-24T02:24:01Z
1806118292 def: "A variant that occurs within a gene but falls outside of all transcript features. This occurs when alternate transcripts of a gene do not share overlapping sequence." [SO:ke]
1806218293 comment: Requested by Pablo Cingolani, for use in SnpEff.
1806318294 synonym: "intragenic variant" EXACT []
18295 synonym: "Jannovar:intragenic_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1806418296 synonym: "snpEff:INTRAGENIC" EXACT VAR []
18297 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1806518298 is_a: SO:0001576 ! transcript_variant
1806618299 created_by: kareneilbeck
1806718300 creation_date: 2014-03-24T02:33:13Z
1807118304 name: start_lost
1807218305 def: "A codon variant that changes at least one base of the canonical start codon." [SO:ke]
1807318306 comment: Request from Uma Devi Paila, UVA. This term should not be applied to incomplete transcripts.
18307 synonym: "Jannovar:start_lost" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1807418308 synonym: "snpEff:START_LOST" EXACT VAR []
18309 synonym: "VEP:start_lost" EXACT VAR []
18310 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
18311 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1807518312 is_a: SO:0001582 ! initiator_codon_variant
1807618313 is_a: SO:0001992 ! nonsynonymous_variant
1807718314 created_by: kareneilbeck
1808218319 name: 5_prime_UTR_truncation
1808318320 def: "A sequence variant that causes the reduction of a the 5'UTR with regard to the reference sequence." [SO:ke]
1808418321 synonym: "5 prime UTR truncation" EXACT []
18322 synonym: "Jannovar:5_prime_utr_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1808518323 synonym: "snpEff:UTR_5_DELETED" EXACT VAR []
18324 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1808618325 is_a: SO:0001623 ! 5_prime_UTR_variant
1808718326 created_by: kareneilbeck
1808818327 creation_date: 2014-03-25T10:46:42Z
1810118340 name: 3_prime_UTR_truncation
1810218341 def: "A sequence variant that causes the reduction of a the 3' UTR with regard to the reference sequence." [SO:ke]
1810318342 synonym: "3 prime UTR truncation" EXACT []
18343 synonym: "Jannovar:3_prime_utr_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1810418344 synonym: "snpEff:UTR_3_DELETED" EXACT VAR []
18345 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1810518346 is_a: SO:0001624 ! 3_prime_UTR_variant
1810618347 created_by: kareneilbeck
1810718348 creation_date: 2014-03-25T10:54:50Z
1812118362 def: "A sequence variant located in a conserved intergenic region, between genes." [SO:ke]
1812218363 comment: Requested by Uma Paila (UVA) for snpEff.
1812318364 synonym: "conserved intergenic variant" EXACT []
18365 synonym: "Jannovar:conserved_intergenic_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1812418366 synonym: "snpEff:INTERGENIC_CONSERVED" EXACT VAR []
18367 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1812518368 is_a: SO:0001628 ! intergenic_variant
1812618369 created_by: kareneilbeck
1812718370 creation_date: 2014-03-25T02:54:39Z
1813218375 def: "A transcript variant occurring within a conserved region of an intron." [SO:ke]
1813318376 comment: Requested by Uma Paila (UVA) for snpEff.
1813418377 synonym: "conserved intron variant" EXACT []
18378 synonym: "Jannovar:conserved_intron_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1813518379 synonym: "snpEff:INTRON_CONSERVED" EXACT VAR []
18380 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1813618381 is_a: SO:0001627 ! intron_variant
1813718382 created_by: kareneilbeck
1813818383 creation_date: 2014-03-25T02:58:41Z
1814218387 name: start_retained_variant
1814318388 def: "A sequence variant where at least one base in the start codon is changed, but the start remains." [SO:ke]
1814418389 comment: Requested by Uma Paila as this term is annotated by snpEff. This would be used for non_AUG start codon annotation.
18390 synonym: "snpEff:SYNONYMOUS_START" EXACT VAR []
1814518391 is_a: SO:0001582 ! initiator_codon_variant
1814618392 is_a: SO:0001819 ! synonymous_variant
1814718393 created_by: kareneilbeck
1821918465 id: SO:0002027
1822018466 name: uORF
1822118467 def: "A short open reading frame that is found in the 5' untranslated region of an mRNA and plays a role in translational regulation." [PMID:12890013, PMID:16153175, POMBASE:mah]
18468 synonym: "regulatory uORF" EXACT []
1822218469 synonym: "upstream ORF" EXACT []
18470 xref: PMID:26684391
1822318471 is_a: SO:0000236 ! ORF
1822418472 created_by: kareneilbeck
1822518473 creation_date: 2014-07-14T11:59:23Z
1844018688 def: "A kind of histone modification site, whereby the 27th residue (a lysine), from the start of the H3 histone protein is acetylated." [SO:rs]
1844118689 comment: Requested by: Sagar Jain, Richard Scheuermann.
1844218690 synonym: "H3K27 acetylation site" EXACT []
18691 synonym: "H3K27ac" EXACT []
1844318692 is_a: SO:0001973 ! histone_3_acetylation_site
1844418693 created_by: kareneilbeck
1844518694 creation_date: 2015-05-14T10:17:11Z
1863518884 is_a: SO:0002066 ! mobile_element_deletion
1863618885 created_by: kareneilbeck
1863718886 creation_date: 2015-09-04T13:47:16Z
18887
18888 [Term]
18889 id: SO:0002071
18890 name: CDS_supported_by_peptide_spectrum_match
18891 def: "A CDS that is supported by proteomics data." [SO:ke]
18892 is_a: SO:1001251 ! CDS_supported_by_sequence_similarity_data
18893 created_by: kareneilbeck
18894 creation_date: 2015-10-12T13:25:02Z
18895
18896 [Term]
18897 id: SO:0002072
18898 name: sequence_comparison
18899 is_a: SO:0000110 ! sequence_feature
18900 created_by: kareneilbeck
18901 creation_date: 2015-11-23T14:14:32Z
18902
18903 [Term]
18904 id: SO:0002073
18905 name: no_sequence_alteration
18906 def: "A position or feature within a sequence that is identical to the comparable position or feature of a specified reference sequence." [SO:ke]
18907 comment: This term is requested by the ClinVar data model group for use in the allele registry and such. A sequence at a defined location that is defined to match the reference assembly.
18908 is_a: SO:0002072 ! sequence_comparison
18909 created_by: kareneilbeck
18910 creation_date: 2015-11-23T14:15:08Z
18911
18912 [Term]
18913 id: SO:0002074
18914 name: intergenic_1kb_variant
18915 def: "A variant that falls in an intergenic region that is 1 kb or less between 2 genes." [SO:ke]
18916 comment: This term is added to map to the Annovar annotation 'upstream,downstream' .
18917 synonym: "ANNOVAR:upstream;downstream" EXACT VAR []
18918 is_a: SO:0001628 ! intergenic_variant
18919 created_by: kareneilbeck
18920 creation_date: 2015-11-23T14:24:16Z
18921
18922 [Term]
18923 id: SO:0002075
18924 name: incomplete_transcript_variant
18925 def: "A sequence variant that intersects an incompletely annotated transcript." [SO:ke]
18926 comment: This term is to map to the ANNOVAR term 'ncRNA' http://annovar.openbioinformatics.org/en/latest/user-guide/gene/ . The description in the documentation (11/23/15) 'variant overlaps a transcript without coding annotation in the gene definition'. and this is further clarified in the document: ncRNA above refers to RNA without coding annotation. It does not mean that this is a RNA that will never be translated; it merely means that the user-selected gene annotation system was not able to give a coding sequence annotation. It could still code protein products and may have such annotations in future versions of gene annotation or in another gene annotation system. For example, BC039000 is regarded as ncRNA by ANNOVAR when using UCSC Known Gene annotation, but it is regarded as a protein-coding gene by ANNOVAR when using ENSEMBL annotation. \n\nIt is further clarified in the comments section as: ncRNA does NOT mean conventional non-coding RNA. It means a RNA without complete coding sequence, and it can be a coding RNA that is annotated incorrectly by RefSeq or other gene definition systems.
18927 synonym: "incomplete transcript variant" EXACT []
18928 xref: http://annovar.openbioinformatics.org/en/latest/user-guide/gene/
18929 is_a: SO:0001576 ! transcript_variant
18930 created_by: kareneilbeck
18931 creation_date: 2015-11-23T14:43:51Z
18932
18933 [Term]
18934 id: SO:0002076
18935 name: incomplete_transcript_3UTR_variant
18936 def: "A sequence variant that intersects the 3' UTR of an incompletely annotated transcript." [SO:ke]
18937 synonym: "ANNOVAR:ncRNA_UTR3" EXACT VAR [http://annovar.openbioinformatics.org/en/latest/user-guide/gene/]
18938 synonym: "incomplete transcript 3UTR variant" RELATED []
18939 xref: http://annovar.openbioinformatics.org/en/latest/user-guide/gene/
18940 is_a: SO:0002075 ! incomplete_transcript_variant
18941 created_by: kareneilbeck
18942 creation_date: 2015-11-23T14:45:52Z
18943
18944 [Term]
18945 id: SO:0002077
18946 name: incomplete_transcript_5UTR_variant
18947 def: "A sequence variant that intersects the 5' UTR of an incompletely annotated transcript." [SO:ke]
18948 synonym: "ANNOVAR:ncRNA_UTR5" EXACT VAR [http://annovar.openbioinformatics.org/en/latest/user-guide/gene/]
18949 synonym: "incomplete transcript 5UTR variant" EXACT []
18950 xref: http://annovar.openbioinformatics.org/en/latest/user-guide/gene/
18951 is_a: SO:0002075 ! incomplete_transcript_variant
18952 created_by: kareneilbeck
18953 creation_date: 2015-11-24T12:39:17Z
18954
18955 [Term]
18956 id: SO:0002078
18957 name: incomplete_transcript_intronic_variant
18958 def: "A sequence variant that intersects the intron of an incompletely annotated transcript." [SO:ke]
18959 synonym: "incomplete transcript intronic variant" EXACT []
18960 is_a: SO:0002075 ! incomplete_transcript_variant
18961 created_by: kareneilbeck
18962 creation_date: 2015-11-24T12:51:45Z
18963
18964 [Term]
18965 id: SO:0002079
18966 name: incomplete_transcript_splice_region_variant
18967 def: "A sequence variant that intersects the splice region of an incompletely annotated transcript." [SO:ke]
18968 synonym: "incomplete transcript splice region variant" EXACT []
18969 is_a: SO:0002075 ! incomplete_transcript_variant
18970 created_by: kareneilbeck
18971 creation_date: 2015-11-24T12:52:06Z
18972
18973 [Term]
18974 id: SO:0002080
18975 name: incomplete_transcript_exonic_variant
18976 def: "A sequence variant that intersects the exon of an incompletely annotated transcript." [SO:ke]
18977 synonym: "incomplete transcript exonic variant" EXACT []
18978 is_a: SO:0002075 ! incomplete_transcript_variant
18979 created_by: kareneilbeck
18980 creation_date: 2015-11-24T12:52:10Z
18981
18982 [Term]
18983 id: SO:0002081
18984 name: incomplete_transcript_CDS
18985 def: "A sequence variant that intersects the coding regions of an incompletely annotated transcript." [SO:ke]
18986 synonym: "Seattleseq:coding-notMod3" EXACT VAR []
18987 synonym: "Seattleseq:coding-unknown" EXACT VAR []
18988 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
18989 is_a: SO:0002075 ! incomplete_transcript_variant
18990 created_by: kareneilbeck
18991 creation_date: 2015-11-24T15:32:27Z
18992
18993 [Term]
18994 id: SO:0002082
18995 name: incomplete_transcript_coding_splice_variant
18996 def: "A sequence variant that intersects the coding sequence near a splice region of an incompletely annotated transcript." [SO:ke]
18997 synonym: "incomplete transcript coding splice variant" EXACT []
18998 synonym: "Seattleseq:coding-notMod3-near-splice" EXACT VAR []
18999 synonym: "Seattleseq:coding-unknown-near-splice" EXACT VAR []
19000 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
19001 is_a: SO:0002079 ! incomplete_transcript_splice_region_variant
19002 created_by: kareneilbeck
19003 creation_date: 2015-11-24T15:51:06Z
19004
19005 [Term]
19006 id: SO:0002083
19007 name: 2KB_downstream_variant
19008 def: "A sequence variant located within 2KB 3' of a gene." [SO:ke]
19009 synonym: "Seattleseq:near-gene-3" EXACT VAR []
19010 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
19011 is_a: SO:0001632 ! downstream_gene_variant
19012 created_by: kareneilbeck
19013 creation_date: 2015-11-24T15:55:49Z
19014
19015 [Term]
19016 id: SO:0002084
19017 name: exonic_splice_region_variant
19018 def: "A sequence variant in which a change has occurred within the exonic region of the splice site, 1-2 bases from boundary." [SO:ke]
19019 synonym: "ANNOVAR:exonic;splicing" EXACT VAR []
19020 synonym: "exonic splice region variant" EXACT []
19021 synonym: "Seattleseq:coding-near-splice" RELATED VAR []
19022 is_a: SO:0001630 ! splice_region_variant
19023 created_by: kareneilbeck
19024 creation_date: 2015-12-01T14:38:47Z
19025
19026 [Term]
19027 id: SO:0002085
19028 name: unidirectional_gene_fusion
19029 def: "A sequence variant whereby two genes, on the same strand have become joined." [SO:ke]
19030 comment: Requested by SNPEFF team. Feb 2016.
19031 synonym: "unidirectional gene fusion" EXACT []
19032 is_a: SO:0001565 ! gene_fusion
19033 created_by: kareneilbeck
19034 creation_date: 2016-02-23T12:16:48Z
19035
19036 [Term]
19037 id: SO:0002086
19038 name: bidirectional_gene_fusion
19039 def: "A sequence variant whereby two genes, on alternate strands have become joined." [SO:ke]
19040 comment: Requested by SNPEFF team. Feb 2016.
19041 synonym: "bidirectional gene fusion" EXACT []
19042 is_a: SO:0001565 ! gene_fusion
19043 created_by: kareneilbeck
19044 creation_date: 2016-02-23T12:17:18Z
19045
19046 [Term]
19047 id: SO:0002087
19048 name: pseudogenic_CDS
19049 def: "A non functional descendant of the coding portion of a coding transcript, part of a pseudogene." [SO:ke]
19050 synonym: "pseudogenic CDS" EXACT []
19051 is_a: SO:0000462 ! pseudogenic_region
19052 relationship: part_of SO:0000516 ! pseudogenic_transcript
19053 created_by: kareneilbeck
19054 creation_date: 2016-02-29T12:58:52Z
19055
19056 [Term]
19057 id: SO:0002088
19058 name: non_coding_transcript_splice_region_variant
19059 def: "A transcript variant occurring within the splice region (1-3 bases of the exon or 3-8 bases of the intron) of a non coding transcript." [SO:ke]
19060 synonym: "ANNOVAR:ncRNA_splicing" NARROW []
19061 is_a: SO:0001619 ! non_coding_transcript_variant
19062 is_a: SO:0001630 ! splice_region_variant
19063 created_by: kareneilbeck
19064 creation_date: 2016-03-07T09:40:46Z
19065
19066 [Term]
19067 id: SO:0002089
19068 name: 3_prime_UTR_exon_variant
19069 def: "A UTR variant of exonic sequence of the 3' UTR." [SO:ke]
19070 comment: Requested by visze github tracker ID 346.
19071 synonym: "3 prime UTR exon variant" EXACT []
19072 is_a: SO:0001624 ! 3_prime_UTR_variant
19073 created_by: kareneilbeck
19074 creation_date: 2016-03-07T10:37:04Z
19075
19076 [Term]
19077 id: SO:0002090
19078 name: 3_prime_UTR_intron_variant
19079 def: "A UTR variant of intronic sequence of the 3' UTR." [SO:ke]
19080 comment: Requested by visze github tracker ID 346.
19081 synonym: "3 prime UTR intron variant" EXACT []
19082 is_a: SO:0001624 ! 3_prime_UTR_variant
19083 is_a: SO:0001969 ! coding_transcript_intron_variant
19084 created_by: kareneilbeck
19085 creation_date: 2016-03-07T10:37:41Z
19086
19087 [Term]
19088 id: SO:0002091
19089 name: 5_prime_UTR_intron_variant
19090 def: "A UTR variant of intronic sequence of the 5' UTR." [SO:ke]
19091 comment: Requested by visze github tracker ID 346.
19092 synonym: "5 prime UTR intron variant" EXACT []
19093 is_a: SO:0001623 ! 5_prime_UTR_variant
19094 is_a: SO:0001969 ! coding_transcript_intron_variant
19095 created_by: kareneilbeck
19096 creation_date: 2016-03-07T10:38:04Z
19097
19098 [Term]
19099 id: SO:0002092
19100 name: 5_prime_UTR_exon_variant
19101 def: "A UTR variant of exonic sequence of the 5' UTR." [SO:ke]
19102 comment: Requested by visze github tracker ID 346.
19103 synonym: "5 prime UTR exon variant" EXACT []
19104 is_a: SO:0001623 ! 5_prime_UTR_variant
19105 created_by: kareneilbeck
19106 creation_date: 2016-03-07T10:38:26Z
19107
19108 [Term]
19109 id: SO:0002093
19110 name: structural_interaction_variant
19111 def: "A variant that impacts the internal interactions of the resulting polypeptide structure." [SO:ke]
19112 comment: Requested by Pablo Cingolani. The way I calculate this is simply by looking at the PDB entry of one protein and then marking those AA that are within 3 Angstrom of each other (and far away in the AA sequence, e.g. over 20 AA distance). The assumption is that, since they are very close in distance, they must be "interacting" and thus important for protein structure.
19113 synonym: "structural interaction variant" EXACT []
19114 is_a: SO:0001599 ! 3D_polypeptide_structure_variant
19115 created_by: kareneilbeck
19116 creation_date: 2016-03-07T11:43:55Z
19117
19118 [Term]
19119 id: SO:0002094
19120 name: non_allelic_homologous_recombination_region
19121 def: "A genomic region at a non-allelic position where exchange of genetic material happens as a result of homologous recombination." []
19122 synonym: "NAHRR" EXACT []
19123 synonym: "non allelic homologous recombination region" EXACT []
19124 is_a: SO:0000339 ! recombination_hotspot
19125 created_by: nicole
19126 creation_date: 2016-05-17T13:34:12Z
19127
19128 [Term]
19129 id: SO:0002095
19130 name: scaRNA
19131 def: "A ncRNA, specific to the Cajal body, that has been demonstrated to function as a guide RNA in the site-specific synthesis of 2'-O-ribose-methylated nucleotides and pseudouridines in the RNA polymerase II-transcribed U1, U2, U4 and U5 spliceosomal small nuclear RNAs (snRNAs)." [PMC:126017, SO:nrs]
19132 synonym: "small Cajal body specific RNA" EXACT []
19133 synonym: "small Cajal body-specific RNA" EXACT []
19134 xref: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC126017/
19135 is_a: SO:0000655 ! ncRNA
19136 created_by: nicole
19137 creation_date: 2016-05-19T13:42:45Z
19138
19139 [Term]
19140 id: SO:0002096
19141 name: short_tandem_repeat_variation
19142 def: "A kind of sequence variant whereby a tandem repeat is expanded or contracted with regard to a reference." [SO:ke]
19143 synonym: "str variation" RELATED []
19144 is_a: SO:0000248 ! sequence_length_variation
19145 created_by: kareneilbeck
19146 creation_date: 2016-07-14T16:04:40Z
19147
19148 [Term]
19149 id: SO:0002097
19150 name: vertebrate_immune_system_pseudogene
19151 def: "A pseudogene derived from a vertebrate immune system gene." [SO:ke]
19152 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19153 synonym: "vertebrate immune system pseudogene" EXACT []
19154 is_a: SO:0000336 ! pseudogene
19155 created_by: kareneilbeck
19156 creation_date: 2016-07-15T16:00:22Z
19157
19158 [Term]
19159 id: SO:0002098
19160 name: immunoglobulin_pseudogene
19161 def: "A pseudogene derived from an immunoglobulin gene." [SO:ke]
19162 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19163 synonym: "immunoglobulin pseudogene" EXACT []
19164 is_a: SO:0002097 ! vertebrate_immune_system_pseudogene
19165 created_by: kareneilbeck
19166 creation_date: 2016-07-15T16:01:47Z
19167
19168 [Term]
19169 id: SO:0002099
19170 name: T_cell_receptor_pseudogene
19171 def: "A pseudogene derived from a T-cell receptor gene." [SO:ke]
19172 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19173 is_a: SO:0002097 ! vertebrate_immune_system_pseudogene
19174 created_by: kareneilbeck
19175 creation_date: 2016-07-15T16:02:18Z
19176
19177 [Term]
19178 id: SO:0002100
19179 name: IG_C_pseudogene
19180 def: "A pseudogenic constant region of an immunoglobulin gene which closely resembles a known functional Imunoglobulin constant gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19181 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19182 synonym: "IG C pseudogene" EXACT []
19183 is_a: SO:0002098 ! immunoglobulin_pseudogene
19184 created_by: kareneilbeck
19185 creation_date: 2016-07-15T16:05:08Z
19186
19187 [Term]
19188 id: SO:0002101
19189 name: IG_J_pseudogene
19190 def: "A pseudogenic joining region which closely resembles a known functional imunoglobulin joining gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the joining region of the variable domain of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19191 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19192 synonym: "IG J pseudogene" EXACT []
19193 is_a: SO:0002098 ! immunoglobulin_pseudogene
19194 created_by: kareneilbeck
19195 creation_date: 2016-07-15T16:05:34Z
19196
19197 [Term]
19198 id: SO:0002102
19199 name: IG_V_pseudogene
19200 def: "A pseudogenic variable region which closely resembles a known functional imunoglobulin variable gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the variable region of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19201 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19202 synonym: "IG V pseudogene" EXACT []
19203 is_a: SO:0002098 ! immunoglobulin_pseudogene
19204 created_by: kareneilbeck
19205 creation_date: 2016-07-15T16:05:56Z
19206
19207 [Term]
19208 id: SO:0002103
19209 name: TR_V_pseudogene
19210 def: "A pseudogenic variable region which closely resembles a known functional T receptor variable gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the variable region of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19211 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19212 synonym: "TR V pseudogene" EXACT []
19213 is_a: SO:0002099 ! T_cell_receptor_pseudogene
19214 created_by: kareneilbeck
19215 creation_date: 2016-07-15T16:06:29Z
19216
19217 [Term]
19218 id: SO:0002104
19219 name: TR_J_pseudogene
19220 def: "A pseudogenic joining region which closely resembles a known functional T receptor (TR) joining gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the joining region of the variable domain of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19221 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19222 synonym: "TR J pseudogene" EXACT []
19223 is_a: SO:0002099 ! T_cell_receptor_pseudogene
19224 created_by: kareneilbeck
19225 creation_date: 2016-07-15T16:06:51Z
19226
19227 [Term]
19228 id: SO:0002105
19229 name: translated_processed_pseudogene
19230 def: "A processed pseudogene where there is evidence, (mass spec data) suggesting that it is also translated." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19231 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19232 synonym: "translated processed pseudogene" EXACT []
19233 is_a: SO:0000043 ! processed_pseudogene
19234 created_by: kareneilbeck
19235 creation_date: 2016-07-18T12:31:53Z
19236
19237 [Term]
19238 id: SO:0002106
19239 name: translated_unprocessed_pseudogene
19240 def: "A non-processed pseudogene where there is evidence, (mass spec data) suggesting that it is also translated." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19241 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19242 synonym: "translated unprocessed pseudogene" EXACT []
19243 is_a: SO:0001760 ! non_processed_pseudogene
19244 created_by: kareneilbeck
19245 creation_date: 2016-07-18T12:34:42Z
19246
19247 [Term]
19248 id: SO:0002107
19249 name: transcribed_unprocessed_pseudogene
19250 def: "A unprocessed pseudogene supported by locus-specific evidence of transcription." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19251 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19252 synonym: "transcribed unprocessed pseudogene" EXACT []
19253 is_a: SO:0001760 ! non_processed_pseudogene
19254 created_by: kareneilbeck
19255 creation_date: 2016-07-18T12:41:53Z
19256
19257 [Term]
19258 id: SO:0002108
19259 name: transcribed_unitary_pseudogene
19260 def: "A species specific unprocessed pseudogene without a parent gene, as it has an active orthologue in another species." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19261 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19262 synonym: "transcribed unitary pseudogene" EXACT []
19263 is_a: SO:0001759 ! unitary_pseudogene
19264 created_by: kareneilbeck
19265 creation_date: 2016-07-18T12:44:26Z
19266
19267 [Term]
19268 id: SO:0002109
19269 name: transcribed_processed_pseudogene
19270 def: "A processed_pseudogene overlapped by locus-specific evidence of transcription." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19271 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19272 synonym: "transcribed processed pseudogene" EXACT []
19273 is_a: SO:0000043 ! processed_pseudogene
19274 created_by: kareneilbeck
19275 creation_date: 2016-07-18T12:45:48Z
19276
19277 [Term]
19278 id: SO:0002110
19279 name: polymorphic_pseudogene_with_retained_intron
19280 def: "A polymorphic pseudogene in the reference genome, containing a retained intron, known to be intact in the genomes of other individuals of the same species. The annotation process has confirmed that the pseudogenisation event is not a genomic sequencing error." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19281 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19282 synonym: "polymorphic pseudogene with retained intron" EXACT []
19283 is_a: SO:0001841 ! polymorphic_pseudogene
19284 created_by: kareneilbeck
19285 creation_date: 2016-07-18T12:47:33Z
19286
19287 [Term]
19288 id: SO:0002111
19289 name: pseudogene_processed_transcript
19290 def: "A processed_transcript supported by EST and/or mRNA evidence that aligns unambiguously to a pseudogene locus (i.e. alignment to the pseudogene locus clearly better than alignment to parent locus)." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19291 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19292 synonym: "pseudogene processed transcript" EXACT []
19293 is_a: SO:0001503 ! processed_transcript
19294 created_by: kareneilbeck
19295 creation_date: 2016-07-18T14:07:00Z
19296
19297 [Term]
19298 id: SO:0002112
19299 name: coding_transcript_with_retained_intron
19300 def: "A protein coding transcript containing a retained intron." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19301 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19302 synonym: "mRNA with retained intron" RELATED []
19303 is_a: SO:0000120 ! protein_coding_primary_transcript
19304 created_by: kareneilbeck
19305 creation_date: 2016-07-18T14:09:49Z
19306
19307 [Term]
19308 id: SO:0002113
19309 name: lncRNA_with_retained_intron
19310 def: "A lncRNA transcript containing a retained intron." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19311 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19312 synonym: "lncRNA with retained intron" EXACT []
19313 synonym: "lncRNA_retained_intron" EXACT []
19314 is_a: SO:0002035 ! lncRNA_primary_transcript
19315 created_by: kareneilbeck
19316 creation_date: 2016-07-18T14:13:07Z
19317
19318 [Term]
19319 id: SO:0002114
19320 name: NMD_transcript
19321 def: "A protein coding transcript that contains a CDS but has one or more splice junctions >50bp downstream of stop codon, making it susceptible to nonsense mediated decay." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19322 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19323 synonym: "NMD transcript" EXACT []
19324 synonym: "nonsense mediated decay transcript" EXACT []
19325 is_a: SO:0000120 ! protein_coding_primary_transcript
19326 created_by: kareneilbeck
19327 creation_date: 2016-07-18T14:16:13Z
19328
19329 [Term]
19330 id: SO:0002115
19331 name: pseudogenic_transcript_with_retained_intron
19332 def: "A transcript supported by EST and/or mRNA evidence that aligns unambiguously to the pseudogene locus; has retained intronic sequence compared to a reference transcript sequence." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19333 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes.
19334 synonym: "pseudogene retained intron" EXACT []
19335 is_a: SO:0000185 ! primary_transcript
19336 created_by: kareneilbeck
19337 creation_date: 2016-07-18T14:19:04Z
19338
19339 [Term]
19340 id: SO:0002116
19341 name: polymorphic_pseudogene_processed_transcript
19342 def: "A processed transcript that does not contain a CDS that fullfills annotation criteria and not necessarily functionally non-coding." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19343 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19344 synonym: "polymorphic pseudogene processed transcript" EXACT []
19345 is_a: SO:0002111 ! pseudogene_processed_transcript
19346 created_by: kareneilbeck
19347 creation_date: 2016-07-18T14:23:59Z
19348
19349 [Term]
19350 id: SO:0002117
19351 name: <new term>
19352 is_obsolete: true
19353 created_by: kareneilbeck
19354 creation_date: 2016-07-18T14:27:21Z
19355
19356 [Term]
19357 id: SO:0002118
19358 name: NMD_polymorphic_pseudogene_transcript
19359 def: "A polymorphic pseudogene transcript that contains a CDS but has one or more splice junctions >50bp downstream of stop codon. Premature stop codon is not introduced, directly or indirectly, as a result of the variation i.e. must be present in both protein_coding and pseudogenic alleles." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19360 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
19361 synonym: "NMD polymorphic pseudogene transcript" EXACT []
19362 synonym: "nonsense_mediated_decay_polymorphic_pseudogene" EXACT []
19363 is_a: SO:0002114 ! NMD_transcript
19364 created_by: kareneilbeck
19365 creation_date: 2016-07-18T14:28:02Z
19366
19367 [Term]
19368 id: SO:0002119
19369 name: allelic_frequency
19370 def: "A physical quality which inheres to the allele by virtue of the number instances of the allele within a population. This is the relative frequency of the allele at a given locus in a population." [SO:ke]
19371 comment: Requested by HL7 clinical genomics group.
19372 xref: WIKI:https\://en.wikipedia.org/wiki/Allele_frequency
19373 is_a: SO:0001763 ! variant_frequency
19374 created_by: kareneilbeck
19375 creation_date: 2016-07-21T11:58:55Z
19376
19377 [Term]
19378 id: SO:0002120
19379 name: 3_prime_overlapping_ncrna
19380 def: "Transcript where ditag (digital gene expression profiling)and/or published experimental data strongly supports the existence of short non-coding transcripts transcribed from the 3'UTR." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19381 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes.
19382 synonym: "3'_overlapping_ncrna" EXACT []
19383 synonym: "3prime_overlapping_ncRNA" EXACT []
19384 synonym: "three prime overlapping noncoding rna" EXACT []
19385 is_a: SO:0000655 ! ncRNA
19386 created_by: nicole
19387 creation_date: 2016-08-23T15:48:21Z
19388
19389 [Term]
19390 id: SO:0002121
19391 name: vertebrate_immune_system_gene
19392 def: "The configuration of the IG and TR variable (V), diversity (D) and joining (J) germline genes before DNA rearrangements (with or without constant (C) genes in undefined configuration. (germline, non rearranged regions of the IG DNA loci)." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19393 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19394 synonym: "immune_gene" EXACT []
19395 is_a: SO:0000704 ! gene
19396 created_by: nicole
19397 creation_date: 2016-08-23T15:54:51Z
19398
19399 [Term]
19400 id: SO:0002122
19401 name: immunoglobulin_gene
19402 def: "A germline immunoglobulin gene." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19403 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19404 synonym: "All_IG_genes" EXACT []
19405 synonym: "IG_genes" EXACT []
19406 is_a: SO:0002121 ! vertebrate_immune_system_gene
19407 created_by: nicole
19408 creation_date: 2016-08-23T15:56:09Z
19409
19410 [Term]
19411 id: SO:0002123
19412 name: IG_C_gene
19413 def: "A constant (C) gene, a gene that codes the constant region of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19414 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19415 synonym: "IGC_gene" EXACT []
19416 synonym: "immunoglobulin_C_gene" EXACT []
19417 synonym: "Immunoglobulin_Constant_germline_Gene" EXACT []
19418 is_a: SO:0002122 ! immunoglobulin_gene
19419 created_by: nicole
19420 creation_date: 2016-08-23T15:57:29Z
19421
19422 [Term]
19423 id: SO:0002124
19424 name: IG_D_gene
19425 def: "A gene that rearranges at the DNA level and codes the diversity region of the variable domain of an immunoglobuin (IG) gene." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19426 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19427 synonym: "IGD_gene" EXACT []
19428 synonym: "immunoglobulin_D_gene" EXACT []
19429 synonym: "Immunoglobulin_Diversity_ gene" EXACT []
19430 is_a: SO:0002122 ! immunoglobulin_gene
19431 created_by: nicole
19432 creation_date: 2016-08-23T15:59:10Z
19433
19434 [Term]
19435 id: SO:0002125
19436 name: IG_J_gene
19437 def: "A joining gene that rearranges at the DNA level and codes the joining region of the variable domain of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19438 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19439 synonym: "IG_joining_gene" EXACT []
19440 synonym: "immunoglobulin_J_gene" EXACT []
19441 synonym: "Immunoglobulin_Joining_Gene" EXACT []
19442 is_a: SO:0002122 ! immunoglobulin_gene
19443 created_by: nicole
19444 creation_date: 2016-08-23T16:00:36Z
19445
19446 [Term]
19447 id: SO:0002126
19448 name: IG_V_gene
19449 def: "A variable gene that rearranges at the DNA level and codes the variable region of the variable domain of an Immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19450 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19451 synonym: "IG_variable_gene" EXACT []
19452 synonym: "IGV_gene" EXACT []
19453 synonym: "Immunoglobulin_variable_gene" EXACT []
19454 is_a: SO:0002122 ! immunoglobulin_gene
19455 created_by: nicole
19456 creation_date: 2016-08-23T16:02:09Z
19457
19458 [Term]
19459 id: SO:0002127
19460 name: lncRNA_gene
19461 def: "A gene that encodes a long non-coding RNA." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19462 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes.
19463 synonym: "lnc RNA gene" EXACT []
19464 synonym: "lnc_RNA_gene" EXACT []
19465 synonym: "long_non_coding_RNA_gene" EXACT []
19466 is_a: SO:0001263 ! ncRNA_gene
19467 created_by: nicole
19468 creation_date: 2016-08-23T16:03:33Z
19469
19470 [Term]
19471 id: SO:0002128
19472 name: mt_rRNA
19473 def: "Mitochondrial ribosomal RNA." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19474 synonym: "mitochondrial_rRNA" EXACT []
19475 synonym: "Mt_rRNA" EXACT []
19476 is_a: SO:0000252 ! rRNA
19477 created_by: nicole
19478 creation_date: 2016-08-23T16:08:59Z
19479
19480 [Term]
19481 id: SO:0002129
19482 name: mt_tRNA
19483 def: "Mitochondrial transfer RNA." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19484 synonym: "mitochondrial_tRNA" EXACT []
19485 synonym: "Mt_tRNA" EXACT []
19486 is_a: SO:0000253 ! tRNA
19487 created_by: nicole
19488 creation_date: 2016-08-23T16:10:17Z
19489
19490 [Term]
19491 id: SO:0002130
19492 name: NSD_transcript
19493 def: "A transcript that contains a CDS but has no stop codon before the polyA site is reached." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19494 synonym: "non_stop_decay_transcript" EXACT []
19495 is_a: SO:0000234 ! mRNA
19496 created_by: nicole
19497 creation_date: 2016-08-23T16:11:34Z
19498
19499 [Term]
19500 id: SO:0002131
19501 name: sense_intronic_ncRNA
19502 def: "A non-coding transcript found within an intron of a coding or non-coding gene, with no overlap of exonic sequence." [GENECODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19503 synonym: "sense_intronic" EXACT []
19504 synonym: "sense_intronic_non-coding_RNA" EXACT []
19505 is_a: SO:0000655 ! ncRNA
19506 created_by: nicole
19507 creation_date: 2016-08-23T16:15:02Z
19508
19509 [Term]
19510 id: SO:0002132
19511 name: sense_overlap_ncRNA
19512 def: "A non-coding transcript that contains a protein coding gene within its intronic sequence on the same strand, with no overlap of exonic sequence." [GENECODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19513 synonym: "sense_overlapping" EXACT []
19514 is_a: SO:0000655 ! ncRNA
19515 created_by: nicole
19516 creation_date: 2016-08-23T16:16:13Z
19517
19518 [Term]
19519 id: SO:0002133
19520 name: T_cell_receptor_gene
19521 def: "A T-cell receptor germline gene." []
19522 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19523 synonym: "TR_gene" EXACT []
19524 is_a: SO:0002121 ! vertebrate_immune_system_gene
19525 created_by: nicole
19526 creation_date: 2016-08-23T16:17:12Z
19527
19528 [Term]
19529 id: SO:0002134
19530 name: TR_C_Gene
19531 def: "A constant (C) gene, a gene that codes the constant region of a T-cell receptor chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19532 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19533 synonym: "T_cell_receptor_C_gene" EXACT []
19534 is_a: SO:0002133 ! T_cell_receptor_gene
19535 created_by: nicole
19536 creation_date: 2016-08-23T16:19:20Z
19537
19538 [Term]
19539 id: SO:0002135
19540 name: TR_D_Gene
19541 def: "A gene that rearranges at the DNA level and codes the diversity region of the variable domain of aT-cell receptor gene." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19542 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19543 synonym: "T_cell_receptor_D_gene" EXACT []
19544 is_a: SO:0002133 ! T_cell_receptor_gene
19545 created_by: nicole
19546 creation_date: 2016-08-23T16:20:06Z
19547
19548 [Term]
19549 id: SO:0002136
19550 name: TR_J_Gene
19551 def: "A joining gene that rearranges at the DNA level and codes the joining region of the variable domain of aT-cell receptor chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19552 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19553 synonym: "T_cell_receptor_J_gene" EXACT []
19554 is_a: SO:0002133 ! T_cell_receptor_gene
19555 created_by: nicole
19556 creation_date: 2016-08-23T16:20:36Z
19557
19558 [Term]
19559 id: SO:0002137
19560 name: TR_V_Gene
19561 def: "A variable gene that rearranges at the DNA level and codes the variable region of the variable domain of aT-cell receptor chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19562 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19563 synonym: "T_cell_receptor_V_gene" EXACT []
19564 is_a: SO:0002133 ! T_cell_receptor_gene
19565 created_by: nicole
19566 creation_date: 2016-08-23T16:21:04Z
19567
19568 [Term]
19569 id: SO:0002138
19570 name: predicted_transcript
19571 def: "A transcript feature that has been predicted but is not yet validated." [SO:ke]
19572 synonym: "predicted transcript" EXACT []
19573 is_a: SO:0000673 ! transcript
19574 created_by: nicole
19575 creation_date: 2016-08-23T16:27:38Z
19576
19577 [Term]
19578 id: SO:0002139
19579 name: unconfirmed_transcript
19580 def: "This is used for non-spliced EST clusters that have polyA features. This category has been specifically created for the ENCODE project to highlight regions that could indicate the presence of protein coding genes that require experimental validation, either by 5' RACE or RT-PCR to extend the transcripts, or by confirming expression of the putatively-encoded peptide with specific antibodies." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19581 synonym: "TEC" EXACT []
19582 synonym: "to_be_experimentally_confirmed_transcript" EXACT []
19583 is_a: SO:0002138 ! predicted_transcript
19584 created_by: nicole
19585 creation_date: 2016-08-23T16:28:07Z
19586
19587 [Term]
19588 id: SO:0002140
19589 name: early_origin_of_replication
19590 def: "An origin of replication that initiates early in S phase." [PMID:23348837, PMID:9115207]
19591 synonym: "early origin" EXACT []
19592 synonym: "early origin of replication" EXACT []
19593 synonym: "early replication origin" EXACT []
19594 is_a: SO:0000296 ! origin_of_replication
19595 created_by: nicole
19596 creation_date: 2016-09-15T15:53:36Z
19597
19598 [Term]
19599 id: SO:0002141
19600 name: late_origin_of_replication
19601 def: "An origin of replication that initiates late in S phase." [PMID:23348837, PMID:9115207]
19602 synonym: "late origin" EXACT []
19603 synonym: "late origin of replication" EXACT []
19604 synonym: "late replication origin" EXACT []
19605 is_a: SO:0000296 ! origin_of_replication
19606 created_by: nicole
19607 creation_date: 2016-09-15T15:56:07Z
19608
19609 [Term]
19610 id: SO:0002142
19611 name: histone_2A_acetylation_site
19612 def: "A histone 2A modification where the modification is the acetylation of the residue." [ISBN:0815341059]
19613 synonym: "H2Aac" EXACT []
19614 synonym: "histone 2A acetylation site" EXACT []
19615 is_a: SO:0001702 ! histone_acetylation_site
19616 created_by: nicole
19617 creation_date: 2016-10-25T12:03:46Z
19618
19619 [Term]
19620 id: SO:0002143
19621 name: histone_2B_acetylation_site
19622 def: "A histone 2B modification where the modification is the acetylation of the residue." [ISBN:0815341059]
19623 synonym: "H2Bac" EXACT []
19624 synonym: "histone 2B acetylation site" EXACT []
19625 is_a: SO:0001702 ! histone_acetylation_site
19626 created_by: nicole
19627 creation_date: 2016-10-25T12:04:04Z
19628
19629 [Term]
19630 id: SO:0002144
19631 name: histone_2AZ_acetylation_site
19632 def: "A histone 2AZ modification where the modification is the acetylation of the residue." [PMID:19385636, PMID:24316985, PMID:27087541]
19633 synonym: "H2A.Zac" EXACT []
19634 synonym: "H2AZac" EXACT []
19635 synonym: "histone 2AZ acetylation site" EXACT []
19636 is_a: SO:0002142 ! histone_2A_acetylation_site
19637 created_by: nicole
19638 creation_date: 2016-10-25T14:11:49Z
19639
19640 [Term]
19641 id: SO:0002145
19642 name: H2AZK4_acetylation_site
19643 def: "A kind of histone modification site, whereby the 4th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19644 synonym: "H2A.ZK4ac" EXACT []
19645 synonym: "H2AZK4 acetylation site" EXACT []
19646 synonym: "H2AZK4ac" EXACT []
19647 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19648 created_by: nicole
19649 creation_date: 2016-10-25T14:19:43Z
19650
19651 [Term]
19652 id: SO:0002146
19653 name: H2AZK7_acetylation_site
19654 def: "A kind of histone modification site, whereby the 7th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19655 synonym: "H2A.ZK7ac" EXACT []
19656 synonym: "H2AZK7 acetylation site" EXACT []
19657 synonym: "H2AZK7ac" EXACT []
19658 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19659 created_by: nicole
19660 creation_date: 2016-10-25T14:23:11Z
19661
19662 [Term]
19663 id: SO:0002147
19664 name: H2AZK11_acetylation_site
19665 def: "A kind of histone modification site, whereby the 11th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19666 synonym: "H2A.ZK11ac" EXACT []
19667 synonym: "H2AZK11 acetylation site" EXACT []
19668 synonym: "H2AZK11ac" EXACT []
19669 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19670 created_by: nicole
19671 creation_date: 2016-10-25T14:23:31Z
19672
19673 [Term]
19674 id: SO:0002148
19675 name: H2AZK13_acetylation_site
19676 def: "A kind of histone modification site, whereby the 13th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19677 synonym: "H2A.ZK13ac" EXACT []
19678 synonym: "H2AZK13 acetylation site" EXACT []
19679 synonym: "H2AZK13ac" EXACT []
19680 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19681 created_by: nicole
19682 creation_date: 2016-10-25T14:23:50Z
19683
19684 [Term]
19685 id: SO:0002149
19686 name: H2AZK15_acetylation_site
19687 def: "A kind of histone modification site, whereby the 15th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19688 synonym: "H2A.ZK15ac" EXACT []
19689 synonym: "H2AZK15 acetylation site" EXACT []
19690 synonym: "H2AZK15ac" EXACT []
19691 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19692 created_by: nicole
19693 creation_date: 2016-10-25T14:24:08Z
19694
19695 [Term]
19696 id: SO:0002150
19697 name: AUG_initiated_uORF
19698 def: "A uORF beginning with the canonical start codon AUG." [PMID:26684391, PMID:27313038]
19699 synonym: "AUG initiated uORF" EXACT []
19700 is_a: SO:0002027 ! uORF
19701 created_by: nicole
19702 creation_date: 2016-10-26T09:37:11Z
19703
19704 [Term]
19705 id: SO:0002151
19706 name: non_AUG_initiated_uORF
19707 def: "A uORF beginning with a codon other than AUG." [PMID:26684391, PMID:27313038]
19708 synonym: "non AUG initiated uORF" EXACT []
19709 is_a: SO:0002027 ! uORF
19710 created_by: nicole
19711 creation_date: 2016-10-26T09:37:45Z
19712
19713 [Term]
19714 id: SO:0002152
19715 name: genic_downstream_transcript_variant
19716 def: "A variant that falls downstream of a transcript, but within the genic region of the gene due to alternately transcribed isoforms." [NCBI:dm, SO:ke]
19717 synonym: "genic 3 prime transcript variant" EXACT []
19718 synonym: "genic 3' transcript variant" EXACT []
19719 synonym: "genic downstream transcript variant" EXACT []
19720 is_a: SO:0001564 ! gene_variant
19721 created_by: nicole
19722 creation_date: 2016-10-28T10:20:55Z
19723
19724 [Term]
19725 id: SO:0002153
19726 name: genic_upstream_transcript_variant
19727 def: "A variant that falls upstream of a transcript, but within the genic region of the gene due to alternately transcribed isoforms." [NCBI:dm, SO:ke]
19728 synonym: "genic 5 prime transcript variant" EXACT []
19729 synonym: "genic 5' transcript variant" EXACT []
19730 synonym: "genic upstream transcript variant" EXACT []
19731 is_a: SO:0001564 ! gene_variant
19732 created_by: nicole
19733 creation_date: 2016-10-28T10:23:17Z
19734
19735 [Term]
19736 id: SO:0002154
19737 name: mitotic_recombination_region
19738 def: "A genomic region where there is an exchange of genetic material with another genomic region, occurring in somatic cells." [NCBI:cf, SO:ke]
19739 synonym: "mitotic recombination region" EXACT []
19740 is_a: SO:0000298 ! recombination_feature
19741 created_by: nicole
19742 creation_date: 2016-10-28T10:33:54Z
19743
19744 [Term]
19745 id: SO:0002155
19746 name: meiotic_recombination_region
19747 def: "A genomic region in which there is an exchange of genetic material as a result of the repair of meiosis-specific double strand breaks that occur during meiotic prophase." [NCBI:cf, SO:ke]
19748 synonym: "meiotic recombination region" EXACT []
19749 is_a: SO:0000298 ! recombination_feature
19750 created_by: nicole
19751 creation_date: 2016-10-28T10:34:55Z
19752
19753 [Term]
19754 id: SO:0002156
19755 name: CArG_box
19756 def: "A promoter element bound by the MADS family of transcription factors with consensus 5'-(C/T)TA(T/A)4TA(G/A)-3'." [PMID:1748287, PMID:7623803]
19757 comment: Requested by Antonia Lock
19758 synonym: "CArG box" EXACT []
19759 is_a: SO:0001659 ! promoter_element
19760 created_by: nicole
19761 creation_date: 2016-10-28T10:42:06Z
1863819762
1863919763 [Term]
1864019764 id: SO:0005836
1924820372 intersection_of: SO:1000028 ! intrachromosomal_mutation
1924920373 intersection_of: has_part SO:0000199 ! translocation
1925020374 intersection_of: has_part SO:1000035 ! duplication
20375 relationship: has_part SO:0000199 ! translocation
1925120376 relationship: has_part SO:1000035 ! duplication
1925220377
1925320378 [Term]
2029921424 name: chromosome_number_variation
2030021425 def: "A kind of chromosome variation where the chromosome complement is not an exact multiple of the haploid number." [SO:ke]
2030121426 synonym: "chromosome number variation" EXACT []
21427 synonym: "Jannovar:chromosome_number_variation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
2030221428 is_a: SO:0000240 ! chromosome_variation
2030321429
2030421430 [Term]
2030521431 id: SO:1000183
2030621432 name: chromosome_structure_variation
2030721433 synonym: "chromosome structure variation" EXACT []
21434 synonym: "snpEff:CHROMOSOME_LARGE_DELETION" EXACT VAR []
21435 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
2030821436 is_a: SO:0000240 ! chromosome_variation
2030921437
2031021438 [Term]
00 format-version: 1.2
1 date: 22:06:2015 10:18
2 saved-by: kareneilbeck
1 data-version: so-xp/releases/2015-11-24/so-xp.owl
2 date: 28:10:2016 11:25
3 saved-by: nicole
34 auto-generated-by: OBO-Edit 2.3.1
45 subsetdef: biosapiens "biosapiens protein feature ontology"
56 subsetdef: DBVAR "database of genomic structural variation"
67 subsetdef: SOFA "SO feature annotation"
7 synonymtypedef: aa1 "amino acid 1 letter code"
8 synonymtypedef: aa3 "amino acid 3 letter code"
9 synonymtypedef: AAMOD "amino acid modification"
10 synonymtypedef: BS "biosapiens"
11 synonymtypedef: dbsnp "dbsnp variant terms"
12 synonymtypedef: dbvar "DBVAR"
13 synonymtypedef: ebi_variants "ensembl variant terms"
8 synonymtypedef: aa1 "amino acid 1 letter code"
9 synonymtypedef: aa3 "amino acid 3 letter code"
10 synonymtypedef: AAMOD "amino acid modification"
11 synonymtypedef: BS "biosapiens"
12 synonymtypedef: dbsnp "dbsnp variant terms"
13 synonymtypedef: dbvar "DBVAR"
14 synonymtypedef: ebi_variants "ensembl variant terms"
1415 synonymtypedef: RNAMOD "RNA modification" EXACT
15 synonymtypedef: VAR "variant annotation term"
16 synonymtypedef: VAR "variant annotation term"
1617 default-namespace: sequence
17 remark: autogenerated-by: DAG-Edit version 1.417\nsaved-by: eilbeck\ndate: Tue May 11 15:18:44 PDT 2004\nversion: $Revision: 1.45 $
1818 ontology: so-xp.obo
1919
2020 [Term]
3030 subset: SOFA
3131 synonym: "sequence" EXACT []
3232 is_a: SO:0000110 ! sequence_feature
33 disjoint_from: SO:0000699 ! junction
3433
3534 [Term]
3635 id: SO:0000002
148147 [Term]
149148 id: SO:0000015
150149 name: DPE_motif
151 def: "A sequence element characteristic of some RNA polymerase II promoters; Positioned from +28 to +32 with respect to the TSS (+1). Experimental results suggest that the DPE acts in conjunction with the INR_motif to provide a binding site for TFIID in the absence of a TATA box to mediate transcription of TATA-less promoters. Consensus sequence (A|G)G(A|T)(C|T)(G|A|C)." [PMID:12651739:12537576, PMID:16858867]
150 def: "A sequence element characteristic of some RNA polymerase II promoters; Positioned from +28 to +32 with respect to the TSS (+1). Experimental results suggest that the DPE acts in conjunction with the INR_motif to provide a binding site for TFIID in the absence of a TATA box to mediate transcription of TATA-less promoters. Consensus sequence (A|G)G(A|T)(C|T)(G|A|C)." [PMID:12651739\:12537576, PMID:16858867]
152151 comment: Binds TAF6, TAF9.
153152 synonym: "CRWMGCGWKCGCTTS" NARROW []
154153 synonym: "downstream core promoter element" EXACT []
384383 [Term]
385384 id: SO:0000043
386385 name: processed_pseudogene
387 def: "A pseudogene where by an mRNA was retrotransposed. The mRNA sequence is transcribed back into the genome, lacking introns and promoters, but often including a polyA tail." [SO:xp]
386 def: "A pseudogene created via retrotranposition of the mRNA of a functional protein-coding parent gene followed by accumulation of deleterious mutations lacking introns and promoters, often including a polyA tail." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
388387 comment: Please not the synonym R psi M uses the spelled out form of the greek letter.
389388 synonym: "processed pseudogene" EXACT []
390389 synonym: "pseudogene by reverse transcription" RELATED []
10821081 def: "Imprinted genes are epigenetically modified genes that are expressed monoallelically according to their parent of origin." [SO:ke]
10831082 synonym: "genomically imprinted" EXACT []
10841083 synonym: "imprinted" BROAD []
1085 xref: http:http://en.wikipedia.org/wiki/Genomic_imprinting "wiki"
1084 xref: http:http\://en.wikipedia.org/wiki/Genomic_imprinting "wiki"
10861085 is_a: SO:0000119 ! regulated
10871086 is_a: SO:0000133 ! epigenetically_modified
10881087
12191218 name: clone
12201219 def: "A piece of DNA that has been inserted in a vector so that it can be propagated in a host bacterium or some other organism." [SO:ke]
12211220 subset: SOFA
1222 xref: http:http://en.wikipedia.org/wiki/Clone_(genetics) "wiki"
1221 xref: http:http\://en.wikipedia.org/wiki/Clone_(genetics) "wiki"
12231222 is_a: SO:0000695 ! reagent
12241223
12251224 [Term]
17311730 [Term]
17321731 id: SO:0000207
17331732 name: simple_sequence_length_variation
1733 def: "SSLP are a kind of sequence alteration where the number of repeated sequences in intergenic regions may differ." [SO:ke]
17341734 synonym: "simple sequence length polymorphism" RELATED []
17351735 synonym: "simple sequence length variation" EXACT []
17361736 synonym: "SSLP" RELATED []
1737 xref: http://en.wikipedia.org/wiki/Simple_sequence_length_polymorphism "WIKI"
17371738 is_a: SO:0000248 ! sequence_length_variation
17381739
17391740 [Term]
19821983 name: chromosome_variation
19831984 synonym: "chromosome variation" EXACT []
19841985 is_a: SO:0001507 ! variant_collection
1985 disjoint_from: SO:0000400 ! sequence_attribute
19861986 relationship: part_of SO:0001524 ! chromosomally_aberrant_genome
19871987
19881988 [Term]
20372037 [Term]
20382038 id: SO:0000248
20392039 name: sequence_length_variation
2040 def: "A kind of kind of sequence alteration where the copies of a region present varies across a population." [SO:ke]
20402041 synonym: "sequence length variation" EXACT []
2041 is_a: SO:1000002 ! substitution
2042 is_a: SO:0001059 ! sequence_alteration
20422043
20432044 [Term]
20442045 id: SO:0000249
24312432 subset: SOFA
24322433 synonym: "microsatellite locus" EXACT []
24332434 synonym: "microsatellite marker" EXACT []
2434 synonym: "VNTR" EXACT []
2435 synonym: "STR" EXACT [http://www.ncbi.nlm.nih.gov/books/NBK21126/def-item/A9651/]
24352436 xref: http://en.wikipedia.org/wiki/Microsatellite "wiki"
24362437 is_a: SO:0000005 ! satellite_DNA
24372438
29872988 [Term]
29882989 id: SO:0000360
29892990 name: codon
2990 def: "A set of (usually) three nucleotide bases in a DNA or RNA sequence, which together code for a unique amino acid or the termination of translation and are contained within the CDS." [http://www.everythingbio.com/glos/definition.php?word=codon, SO:ke]
2991 def: "A set of (usually) three nucleotide bases in a DNA or RNA sequence, which together code for a unique amino acid or the termination of translation and are contained within the CDS." [SO:ke]
29912992 subset: SOFA
29922993 xref: http://en.wikipedia.org/wiki/Codon "wiki"
29932994 is_a: SO:0000851 ! CDS_region
38663867 id: SO:0000464
38673868 name: decayed_exon
38683869 def: "A non-functional descendant of an exon." [SO:ke]
3870 comment: Does not have to be part of a pseudogene.
38693871 subset: SOFA
38703872 synonym: "decayed exon" EXACT []
38713873 is_a: SO:0000462 ! pseudogenic_region
50065008 [Term]
50075009 id: SO:0000592
50085010 name: H_pseudoknot
5009 def: "A pseudoknot which contains two stems and at least two loops." [http://www.ncbi.nlm.nih.gov:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=10334330&dopt=Abstract]
5011 def: "A pseudoknot which contains two stems and at least two loops." [http://www.ncbi.nlm.nih.gov\:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=10334330&dopt=Abstract]
50105012 synonym: "classical pseudoknot" EXACT []
50115013 synonym: "H pseudoknot" EXACT []
50125014 synonym: "H-pseudoknot" EXACT []
54105412 name: minisatellite
54115413 def: "A repeat region containing tandemly repeated sequences having a unit length of 10 to 40 bp." [http://www.informatics.jax.org/silver/glossary.shtml]
54125414 subset: SOFA
5415 synonym: "VNTR" EXACT [http://www.ncbi.nlm.nih.gov/books/NBK21126/def-item/A9655/]
54135416 xref: http://en.wikipedia.org/wiki/Minisatellite "wiki"
54145417 is_a: SO:0000005 ! satellite_DNA
54155418
57315734 [Term]
57325735 id: SO:0000683
57335736 name: exonic_splice_enhancer
5734 def: "Exonic splicing enhancers (ESEs) facilitate exon definition by assisting in the recruitment of splicing factors to the adjacent intron." [http://www.ncbi.nlm.nih.gov:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=12403462&dopt=Abstract]
5737 def: "Exonic splicing enhancers (ESEs) facilitate exon definition by assisting in the recruitment of splicing factors to the adjacent intron." [http://www.ncbi.nlm.nih.gov\:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=12403462&dopt=Abstract]
57355738 synonym: "exonic splice enhancer" EXACT []
57365739 is_a: SO:0000344 ! splice_enhancer
57375740
64666469 comment: Added Jan 2006 to allow the annotation of the pseudogenic rRNA by flybase. Non-functional is defined as its transcription is prevented due to one or more mutatations.
64676470 subset: SOFA
64686471 synonym: "pseudogenic rRNA" EXACT []
6469 is_a: SO:0000462 ! pseudogenic_region
6472 is_a: SO:0000516 ! pseudogenic_transcript
64706473
64716474 [Term]
64726475 id: SO:0000778
64756478 comment: Added Jan 2006 to allow the annotation of the pseudogenic tRNA by flybase. Non-functional is defined as its transcription is prevented due to one or more mutatations.
64766479 subset: SOFA
64776480 synonym: "pseudogenic tRNA" EXACT []
6478 is_a: SO:0000462 ! pseudogenic_region
6481 is_a: SO:0000516 ! pseudogenic_transcript
64796482
64806483 [Term]
64816484 id: SO:0000779
82098212 def: "A remnant of an integrated prophage in the host genome or an \"island\" in the host genome that includes phage like-genes." [GOC:jl]
82108213 comment: This is not cryptic in the same sense as a cryptic gene or cryptic splice site.
82118214 synonym: "cryptic prophage" EXACT []
8212 xref: http://ecoliwiki.net/colipedia/index.php/Category:Cryptic_Prophage.w
8215 xref: http://ecoliwiki.net/colipedia/index.php/Category\:Cryptic_Prophage.w
82138216 is_a: SO:0000772 ! genomic_island
82148217
82158218 [Term]
83178320 synonym: "copy number polymorphism" EXACT []
83188321 synonym: "copy number variation" EXACT []
83198322 xref: http://en.wikipedia.org/wiki/Copy_number_variation "wiki"
8320 is_a: SO:0001059 ! sequence_alteration
8323 is_a: SO:0000248 ! sequence_length_variation
83218324
83228325 [Term]
83238326 id: SO:0001020
86378640 synonym: "sequence alteration" EXACT []
86388641 synonym: "sequence variation" RELATED []
86398642 synonym: "uncharacterised_change_in_nucleotide_sequence" NARROW []
8640 is_a: SO:0000110 ! sequence_feature
8643 is_a: SO:0002072 ! sequence_comparison
86418644
86428645 [Term]
86438646 id: SO:0001060
86448647 name: sequence_variant
86458648 def: "A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration." [SO:ke]
86468649 synonym: "ANNOVAR:unknown" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
8650 synonym: "Jannovar:sequence_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
86478651 synonym: "sequence variant" EXACT []
86488652 synonym: "VAAST:sequence_variant" EXACT VAR []
86498653
96649668 [Term]
96659669 id: SO:0001157
96669670 name: DMv4_motif
9667 def: "A sequence element characteristic of some RNA polymerase II promoters, located immediately upstream of some TATA box elements with respect to the TSS (+1). Consensus sequence is YGGTCACACTR. Marked spatial preference within core promoter; tend to occur near the TSS, although not as tightly as INR (SO:0000014)." [PMID:16827941:12537576]
9671 def: "A sequence element characteristic of some RNA polymerase II promoters, located immediately upstream of some TATA box elements with respect to the TSS (+1). Consensus sequence is YGGTCACACTR. Marked spatial preference within core promoter; tend to occur near the TSS, although not as tightly as INR (SO:0000014)." [PMID:16827941\:12537576]
96689672 synonym: "directional motif v4" EXACT []
96699673 synonym: "DMv4" EXACT []
96709674 synonym: "DMv4 motif" EXACT []
96769680 [Term]
96779681 id: SO:0001158
96789682 name: E_box_motif
9679 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -60 and +1 relative to the TSS. Consensus sequence is AWCAGCTGWT. Tends to co-occur with DMv2 (SO:0001161). Tends to not occur with DPE motif (SO:0000015)." [PMID:12537576:16827941]
9683 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -60 and +1 relative to the TSS. Consensus sequence is AWCAGCTGWT. Tends to co-occur with DMv2 (SO:0001161). Tends to not occur with DPE motif (SO:0000015)." [PMID:12537576\:16827941]
96809684 synonym: "AWCAGCTGWT" NARROW []
96819685 synonym: "E box motif" EXACT []
96829686 synonym: "generic E box motif" EXACT []
96879691 [Term]
96889692 id: SO:0001159
96899693 name: DMv5_motif
9690 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -50 and -10 relative to the TSS. Consensus sequence is KTYRGTATWTTT. Tends to co-occur with DMv4 (SO:0001157) . Tends to not occur with DPE motif (SO:0000015) or MTE (SO:0001162)." [PMID:12537576:16827941]
9694 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -50 and -10 relative to the TSS. Consensus sequence is KTYRGTATWTTT. Tends to co-occur with DMv4 (SO:0001157) . Tends to not occur with DPE motif (SO:0000015) or MTE (SO:0001162)." [PMID:12537576\:16827941]
96919695 synonym: "directional motif v5" EXACT []
96929696 synonym: "DMv5" EXACT []
96939697 synonym: "DMv5 motif" EXACT []
96999703 [Term]
97009704 id: SO:0001160
97019705 name: DMv3_motif
9702 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -30 and +15 relative to the TSS. Consensus sequence is KNNCAKCNCTRNY. Tends to co-occur with DMv2 (SO:0001161). Tends to not occur with DPE motif (SO:0000015) or MTE (0001162)." [PMID:12537576:16827941]
9706 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -30 and +15 relative to the TSS. Consensus sequence is KNNCAKCNCTRNY. Tends to co-occur with DMv2 (SO:0001161). Tends to not occur with DPE motif (SO:0000015) or MTE (0001162)." [PMID:12537576\:16827941]
97039707 synonym: "directional motif v3" EXACT []
97049708 synonym: "DMv3" EXACT []
97059709 synonym: "DMv3 motif" EXACT []
97119715 [Term]
97129716 id: SO:0001161
97139717 name: DMv2_motif
9714 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -60 and -45 relative to the TSS. Consensus sequence is MKSYGGCARCGSYSS. Tends to co-occur with DMv3 (SO:0001160). Tends to not occur with DPE motif (SO:0000015) or MTE (SO:0001162)." [PMID:12537576:16827941]
9718 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between -60 and -45 relative to the TSS. Consensus sequence is MKSYGGCARCGSYSS. Tends to co-occur with DMv3 (SO:0001160). Tends to not occur with DPE motif (SO:0000015) or MTE (SO:0001162)." [PMID:12537576\:16827941]
97159719 synonym: "directional motif v2" EXACT []
97169720 synonym: "DMv2" EXACT []
97179721 synonym: "DMv2 motif" EXACT []
97239727 [Term]
97249728 id: SO:0001162
97259729 name: MTE
9726 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between +20 and +30 relative to the TSS. Consensus sequence is CSARCSSAACGS. Tends to co-occur with INR motif (SO:0000014). Tends to not occur with DPE motif (SO:0000015) or DMv5 (SO:0001159)." [PMID:12537576:15231738, PMID:16858867]
9730 def: "A sequence element characteristic of some RNA polymerase II promoters, usually located between +20 and +30 relative to the TSS. Consensus sequence is CSARCSSAACGS. Tends to co-occur with INR motif (SO:0000014). Tends to not occur with DPE motif (SO:0000015) or DMv5 (SO:0001159)." [PMID:12537576\:15231738, PMID:16858867]
97279731 synonym: "CSARCSSAACGS" NARROW []
97289732 synonym: "motif ten element" EXACT []
97299733 synonym: "motif_ten_element" EXACT []
1253012534 [Term]
1253112535 id: SO:0001485
1253212536 name: Y_prime_element
12533 def: "A Y' element is a repeat region (SO:0000657) located adjacent to telomeric repeats or X element combinatorial repeats, either as a single copy or tandem repeat of two to four copies." [http:http://www.yeastgenome.org/help/glossary.html]
12537 def: "A Y' element is a repeat region (SO:0000657) located adjacent to telomeric repeats or X element combinatorial repeats, either as a single copy or tandem repeat of two to four copies." [http:http\://www.yeastgenome.org/help/glossary.html]
1253412538 comment: This term was requested 2009-10-16 by Michel Dumontier, tracker id 2880747.
1253512539 synonym: "Y' element" EXACT []
1253612540 is_a: SO:0000657 ! repeat_region
1301113015 id: SO:0001537
1301213016 name: structural_variant
1301313017 def: "A sequence variant that changes one or more sequence features." [SO:ke]
13018 synonym: "Jannovar:structural_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1301413019 synonym: "structural variant" RELATED []
13020 synonym: "VAT:svOverlap" EXACT VAR []
13021 xref: http://vat.gersteinlab.org/formats.php "VAT"
1301513022 is_a: SO:0001060 ! sequence_variant
1301613023 created_by: kareneilbeck
1301713024 creation_date: 2010-03-22T11:31:01Z
1325513262 name: gene_variant
1325613263 def: "A sequence variant where the structure of the gene is changed." [SO:ke]
1325713264 synonym: "gene structure variant" EXACT []
13265 synonym: "Jannovar:gene_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1325813266 synonym: "snpEff:GENE" EXACT VAR []
1325913267 synonym: "VAAST:gene_variant" EXACT VAR []
13268 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1326013269 is_a: SO:0001878 ! feature_variant
1326113270 created_by: kareneilbeck
1326213271 creation_date: 2010-03-22T02:28:01Z
1326713276 def: "A sequence variant whereby a two genes have become joined." [SO:ke]
1326813277 synonym: "gene fusion" EXACT []
1326913278 is_a: SO:0001564 ! gene_variant
13279 is_a: SO:0001882 ! feature_fusion
1327013280 created_by: kareneilbeck
1327113281 creation_date: 2010-03-22T02:28:28Z
1327213282
1327513285 name: regulatory_region_variant
1327613286 def: "A sequence variant located within a regulatory region." [SO:ke]
1327713287 comment: EBI term: Regulatory region variations - In regulatory region annotated by Ensembl.
13288 synonym: "Jannovar:regulatory_region_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1327813289 synonym: "regulatory region variant" EXACT []
1327913290 synonym: "regulatory_region_" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13291 synonym: "snpEff:REGULATION" EXACT VAR []
13292 synonym: "VEP:regulatory_region_variant" EXACT VAR []
13293 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13294 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1328013295 is_a: SO:0001878 ! feature_variant
1328113296 created_by: kareneilbeck
1328213297 creation_date: 2010-03-22T02:28:48Z
1328513300 id: SO:0001567
1328613301 name: stop_retained_variant
1328713302 def: "A sequence variant where at least one base in the terminator codon is changed, but the terminator remains." [SO:ke]
13303 synonym: "Jannovar:stop_retained_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13304 synonym: "snpEff:NON_SYNONYMOUS_STOP" EXACT VAR []
1328813305 synonym: "snpEff:SYNONYMOUS_STOP" EXACT VAR []
1328913306 synonym: "stop retained variant" EXACT []
1329013307 synonym: "VAAST:stop_retained" EXACT VAR []
13308 synonym: "VAAST:stop_retained_variant" EXACT VAR []
13309 synonym: "VEP:stop_retained_variant" EXACT VAR []
13310 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13311 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1329113312 is_a: SO:0001590 ! terminator_codon_variant
1329213313 is_a: SO:0001819 ! synonymous_variant
1329313314 created_by: kareneilbeck
1329713318 id: SO:0001568
1329813319 name: splicing_variant
1329913320 def: "A sequence variant that changes the process of splicing." [SO:ke]
13321 synonym: "Jannovar:splicing_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1330013322 synonym: "splicing variant" EXACT []
1330113323 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
1330213324 is_a: SO:0001576 ! transcript_variant
1333613358 name: exon_loss_variant
1333713359 def: "A sequence variant whereby an exon is lost from the transcript." [SO:ke]
1333813360 synonym: "exon loss" EXACT []
13361 synonym: "Jannovar:exon_loss_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1333913362 synonym: "snpEff:EXON_DELETED" EXACT VAR []
13363 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1334013364 is_a: SO:0001568 ! splicing_variant
1334113365 created_by: kareneilbeck
1334213366 creation_date: 2010-03-22T02:31:09Z
1335613380 id: SO:0001574
1335713381 name: splice_acceptor_variant
1335813382 def: "A splice variant that changes the 2 base region at the 3' end of an intron." [SO:ke]
13383 synonym: "Jannovar:splice_acceptor_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13384 synonym: "Seattleseq:splice-acceptor" EXACT VAR []
1335913385 synonym: "snpEff:SPLICE_SITE_ACCEPTOR" EXACT VAR []
1336013386 synonym: "splice acceptor variant" EXACT []
1336113387 synonym: "VAAST:splice_acceptor_variant" EXACT VAR []
13388 synonym: "VEP:splice_acceptor_variant" EXACT VAR []
13389 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13390 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13391 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1336213392 is_a: SO:0001629 ! splice_site_variant
1336313393 created_by: kareneilbeck
1336413394 creation_date: 2010-03-22T02:31:52Z
1336713397 id: SO:0001575
1336813398 name: splice_donor_variant
1336913399 def: "A splice variant that changes the 2 base pair region at the 5' end of an intron." [SO:ke]
13400 synonym: "Jannovar:splice_donor_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13401 synonym: "Seattleseq:splice-donor" EXACT VAR []
1337013402 synonym: "snpEff:SPLICE_SITE_DONOR" EXACT VAR []
1337113403 synonym: "splice donor variant" EXACT []
1337213404 synonym: "VAAST:splice_donor_variant" EXACT VAR []
13405 synonym: "VEP:splice_donor_variant" EXACT VAR []
13406 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13407 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13408 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1337313409 is_a: SO:0001629 ! splice_site_variant
1337413410 created_by: kareneilbeck
1337513411 creation_date: 2010-03-22T02:32:10Z
1337813414 id: SO:0001576
1337913415 name: transcript_variant
1338013416 def: "A sequence variant that changes the structure of the transcript." [SO:ke]
13417 synonym: "Jannovar:transcript_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1338113418 synonym: "snpEff:TRANSCRIPT" EXACT VAR []
1338213419 synonym: "transcript variant" EXACT []
1338313420 synonym: "VAAST:transcript_variant" EXACT VAR []
1338413421 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
13422 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1338513423 is_a: SO:0001564 ! gene_variant
1338613424 created_by: kareneilbeck
1338713425 creation_date: 2010-03-22T02:32:41Z
1339113429 name: complex_transcript_variant
1339213430 def: "A transcript variant with a complex INDEL- Insertion or deletion that spans an exon/intron border or a coding sequence/UTR border." [http://ensembl.org/info/docs/variation/index.html]
1339313431 comment: EBI term: Complex InDel - Insertion or deletion that spans an exon/intron border or a coding sequence/UTR border.
13432 synonym: "complex change in transcript" EXACT []
1339413433 synonym: "complex transcript variant" EXACT []
1339513434 synonym: "complex_indel" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13396 synonym: "complext change in transcript" EXACT []
13435 synonym: "Seattleseq:codingComplex" RELATED VAR []
13436 synonym: "Seattleseq:codingComplex-near-splice" RELATED VAR []
13437 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1339713438 is_a: SO:0001576 ! transcript_variant
1339813439 created_by: kareneilbeck
1339913440 creation_date: 2010-03-22T02:33:03Z
1340413445 def: "A sequence variant where at least one base of the terminator codon (stop) is changed, resulting in an elongated transcript." [SO:ke]
1340513446 comment: EBI term: Stop lost - In coding sequence, resulting in the loss of a stop codon.
1340613447 synonym: "ANNOVAR:stoploss" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13448 synonym: "Jannovar:stop_lost" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13449 synonym: "Seattleseq:stop-lost" EXACT VAR []
13450 synonym: "Seattleseq:stop-lost-near-splice" RELATED VAR []
1340713451 synonym: "snpEff:STOP_LOST" EXACT VAR []
1340813452 synonym: "stop codon lost" EXACT []
1340913453 synonym: "stop lost" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1341013454 synonym: "VAAST:stop_lost" EXACT VAR []
13455 synonym: "VAT:removedStop" EXACT VAR []
13456 synonym: "VEP:stop_lost" EXACT VAR []
13457 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13458 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13459 xref: http://vat.gersteinlab.org/formats.php "VAT"
13460 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1341113461 is_a: SO:0001590 ! terminator_codon_variant
1341213462 is_a: SO:0001907 ! feature_elongation
1341313463 is_a: SO:0001992 ! nonsynonymous_variant
1342913479 synonym: "coding variant" EXACT []
1343013480 synonym: "codon variant" EXACT []
1343113481 synonym: "codon_variant" EXACT []
13482 synonym: "Jannovar:coding_sequence_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13483 synonym: "Seattleseq:coding" EXACT VAR []
1343213484 synonym: "snpEff:CDS" EXACT VAR []
1343313485 synonym: "snpEff:CODON_CHANGE" RELATED VAR []
1343413486 synonym: "VAAST:coding_sequence_variant" EXACT VAR []
13487 synonym: "VEP:coding_sequence_variant" EXACT VAR []
1343513488 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
13489 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13490 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13491 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1343613492 is_a: SO:0001791 ! exon_variant
1343713493 is_a: SO:0001968 ! coding_transcript_variant
1343813494 created_by: kareneilbeck
1344513501 comment: This is being used to annotate changes to the first codon of a transcript, when the first annotated codon is not to methionine. A variant is predicted to change the first amino acid of a translation irrespective of the fact that the underlying codon is an AUG. As such for transcripts with an incomplete CDS (sequence does not start with an AUG), it is still called.
1344613502 synonym: "initiatior codon variant" EXACT []
1344713503 synonym: "initiator codon change" EXACT []
13504 synonym: "Jannovar:initiator_codon_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13505 synonym: "snpEff:NON_SYNONYMOUS_START" RELATED VAR []
13506 synonym: "VAT:startOverlap" EXACT VAR []
1344813507 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
13508 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13509 xref: http://vat.gersteinlab.org/formats.php "VAT"
1344913510 xref: loinc:LA6695-6 "Initiating Methionine"
1345013511 is_a: SO:0001580 ! coding_sequence_variant
1345113512 created_by: kareneilbeck
1345913520 def: "A sequence variant, that changes one or more bases, resulting in a different amino acid sequence but where the length is preserved." [EBI:fc, EBI:gr, SO:ke]
1346013521 comment: EBI term: Non-synonymous SNPs. SNPs that are located in the coding sequence and result in an amino acid change in the encoded peptide sequence. A change that causes a non_synonymous_codon can be more than 3 bases - for example 4 base substitution.
1346113522 synonym: "ANNOVAR:nonsynonymous SNV" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13523 synonym: "Jannovar:missense_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1346213524 synonym: "missense" EXACT [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1346313525 synonym: "missense codon" EXACT []
13464 synonym: "snpEff:NON_SYSNONYMOUS_CODING" EXACT VAR []
13526 synonym: "Seattleseq:missense" EXACT VAR []
13527 synonym: "Seattleseq:missense-near-splice" RELATED VAR []
13528 synonym: "snpEff:NON_SYNONYMOUS_CODING" EXACT VAR []
13529 synonym: "VAAST:missense_variant" EXACT VAR []
1346513530 synonym: "VAAST:non_synonymous_codon" RELATED VAR []
13531 synonym: "VAT:nonsynonymous" EXACT VAR []
13532 synonym: "VEP:missense_variant" EXACT VAR []
1346613533 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
1346713534 xref: http://en.wikipedia.org/wiki/Missense_mutation
13535 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13536 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13537 xref: http://vat.gersteinlab.org/formats.php "VAT"
13538 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1346813539 xref: loinc:LA6698-0 "Missense"
1346913540 is_a: SO:0001992 ! nonsynonymous_variant
1347013541 created_by: kareneilbeck
1349713568 [Term]
1349813569 id: SO:0001587
1349913570 name: stop_gained
13500 def: "A sequence variant whereby at least one base of a codon is changed, resulting in a premature stop codon, leading to a shortened transcript." [SO:ke]
13571 def: "A sequence variant whereby at least one base of a codon is changed, resulting in a premature stop codon, leading to a shortened polypeptide." [SO:ke]
1350113572 comment: EBI term: Stop gained - In coding sequence, resulting in the gain of a stop codon (i.e. leading to a shortened peptide sequence).
1350213573 synonym: "ANNOVAR:stopgain" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13574 synonym: "Jannovar:stop_gained" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1350313575 synonym: "nonsense" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1350413576 synonym: "nonsense codon" EXACT []
13505 synonym: "snpEFF:STOP_GAINED" EXACT VAR []
13577 synonym: "Seattleseq:stop-gained" EXACT VAR []
13578 synonym: "Seattleseq:stop-gained-near-splice" RELATED VAR []
13579 synonym: "snpEff:STOP_GAINED" EXACT VAR []
1350613580 synonym: "stop codon gained" RELATED []
1350713581 synonym: "stop gained" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1350813582 synonym: "VAAST:stop_gained" EXACT VAR []
13583 synonym: "VAT:prematureStop" EXACT VAR []
13584 synonym: "VEP:stop_gained" EXACT VAR []
13585 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13586 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13587 xref: http://vat.gersteinlab.org/formats.php "VAT"
13588 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1350913589 xref: loinc:LA6699-8 "Nonsense"
1351013590 is_a: SO:0001906 ! feature_truncation
1351113591 is_a: SO:0001992 ! nonsynonymous_variant
1351813598 def: "A sequence variant which causes a disruption of the translational reading frame, because the number of nucleotides inserted or deleted is not a multiple of three." [SO:ke]
1351913599 comment: EBI term:Frameshift variations - In coding sequence, resulting in a frameshift.
1352013600 synonym: "ANNOVAR:frameshift block substitution" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13601 synonym: "ANNOVAR:frameshift substitution" RELATED []
1352113602 synonym: "frameshift variant" EXACT []
1352213603 synonym: "frameshift_" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1352313604 synonym: "frameshift_coding" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13605 synonym: "Jannovar:frameshift_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13606 synonym: "Seattleseq:frameshift" EXACT VAR []
13607 synonym: "Seattleseq:frameshift-near-splice" RELATED VAR []
1352413608 synonym: "snpEff:FRAME_SHIFT" EXACT VAR []
1352513609 synonym: "VAAST:frameshift_variant" EXACT VAR []
13610 synonym: "VAT:deletionFS" NARROW VAR []
13611 synonym: "VAT:insertionFS" NARROW VAR []
13612 synonym: "VEP:frameshift_variant" EXACT VAR []
13613 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13614 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13615 xref: http://vat.gersteinlab.org/formats.php "VAT"
13616 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1352613617 xref: loinc:LA6694-9 "Frameshift"
1352713618 is_a: SO:0001818 ! protein_altering_variant
1352813619 created_by: kareneilbeck
1353713628 synonym: "terminal codon variant" EXACT []
1353813629 synonym: "terminal_codon_variant" EXACT []
1353913630 synonym: "terminator codon variant" EXACT []
13631 synonym: "VAT:endOverlap" EXACT VAR []
13632 xref: http://vat.gersteinlab.org/formats.php "VAT"
1354013633 xref: loinc:LA6700-2 "Stop Codon Mutation"
1354113634 is_a: SO:0001580 ! coding_sequence_variant
1354213635 created_by: kareneilbeck
1380713900 name: non_coding_transcript_variant
1380813901 def: "A transcript variant of a non coding RNA gene." [SO:ke]
1380913902 comment: Within non-coding gene - Located within a gene that does not code for a protein.
13810 synonym: "ANNOVAR:ncRNA" RELATED VAR [http:http://www.openbioinformatics.org/annovar/annovar_download.html]
13903 synonym: "ANNOVAR:ncRNA" NARROW VAR [http://annovar.openbioinformatics.org/en/latest/user-guide/gene/]
13904 synonym: "Jannovar:non_coding_transcript_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1381113905 synonym: "nc transcript variant" EXACT []
1381213906 synonym: "non coding transcript variant" EXACT []
13907 synonym: "VEP:non_coding_transcript_variant" EXACT VAR []
1381313908 synonym: "within_non_coding_gene" EXACT dbsnp [http://ensembl.org/info/docs/variation/index.html]
13909 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1381413910 is_a: SO:0001576 ! transcript_variant
1381513911 created_by: kareneilbeck
1381613912 creation_date: 2010-03-23T11:16:23Z
1382113917 def: "A transcript variant located with the sequence of the mature miRNA." [SO:ke]
1382213918 comment: EBI term: Within mature miRNA - Located within a microRNA.
1382313919 synonym: "mature miRNA variant" EXACT []
13920 synonym: "snpEff:MICRO_RNA" EXACT VAR []
13921 synonym: "VEP:mature_miRNA_variant" EXACT VAR []
1382413922 synonym: "within_mature_miRNA" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13923 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13924 xref: XX:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1382513925 is_a: SO:0001619 ! non_coding_transcript_variant
1382613926 created_by: kareneilbeck
1382713927 creation_date: 2010-03-23T11:16:58Z
1383213932 def: "A variant in a transcript that is the target of NMD." [SO:ke]
1383313933 synonym: "NMD transcript variant" EXACT []
1383413934 synonym: "NMD_transcript" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
13935 synonym: "VEP:NMD_transcript_variant" EXACT VAR []
13936 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1383513937 is_a: SO:0001576 ! transcript_variant
1383613938 created_by: kareneilbeck
1383713939 creation_date: 2010-03-23T11:20:40Z
1385613958 synonym: "5PRIME_UTR" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1385713959 synonym: "ANNOVAR:UTR5" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1385813960 synonym: "five prime UTR variant" EXACT []
13961 synonym: "Jannovar:5_prime_utr_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13962 synonym: "Seattleseq:5-prime-UTR" EXACT VAR []
1385913963 synonym: "snpEff:UTR_5_PRIME" EXACT VAR []
1386013964 synonym: "untranslated-5" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
13965 synonym: "VAAST:5_prime_UTR_variant" EXACT VAR []
1386113966 synonym: "VAAST:five_prime_UTR_variant" EXACT VAR []
13967 synonym: "VEP:5_prime_UTR_variant" EXACT VAR []
13968 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13969 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13970 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1386213971 is_a: SO:0001622 ! UTR_variant
1386313972 created_by: kareneilbeck
1386413973 creation_date: 2010-03-23T11:23:29Z
1387113980 synonym: "3'UTR variant" EXACT []
1387213981 synonym: "3PRIME_UTR" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1387313982 synonym: "ANNOVAR:UTR3" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
13983 synonym: "Jannovar:3_prime_utr_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
13984 synonym: "Seattleseq:3-prime-UTR" EXACT VAR []
1387413985 synonym: "snpEff:UTR_3_PRIME" EXACT VAR []
1387513986 synonym: "three prime UTR variant" EXACT []
1387613987 synonym: "untranslated-3" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
13988 synonym: "VAAST:3_prime_UTR_variant" EXACT VAR []
1387713989 synonym: "VAAST:three_prime_UTR_variant" EXACT VAR []
13990 synonym: "VEP:3_prime_UTR_variant" EXACT VAR []
13991 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
13992 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
13993 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1387813994 is_a: SO:0001622 ! UTR_variant
1387913995 created_by: kareneilbeck
1388013996 creation_date: 2010-03-23T11:23:54Z
1388614002 comment: EBI term: Partial codon - Located within the final, incomplete codon of a transcript with a shortened coding sequence where the end is unknown.
1388714003 synonym: "incomplete terminal codon variant" EXACT []
1388814004 synonym: "partial_codon" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14005 synonym: "VEP:incomplete_terminal_codon_variant" EXACT VAR []
14006 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1388914007 is_a: SO:0001590 ! terminator_codon_variant
1389014008 is_a: SO:0001650 ! inframe_variant
1389114009 created_by: kareneilbeck
1390014018 synonym: "intron variant" EXACT []
1390114019 synonym: "intron_" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
1390214020 synonym: "intronic" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14021 synonym: "Jannovar:intron_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14022 synonym: "Seattleseq:intron" EXACT VAR []
14023 synonym: "Seattleseq:intron-near-splice" RELATED VAR []
1390314024 synonym: "snpEff:INTRON" EXACT VAR []
1390414025 synonym: "VAAST:intron_variant" EXACT VAR []
14026 synonym: "VEP:intron_variant" EXACT VAR []
14027 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
14028 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14029 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1390514030 is_a: SO:0001576 ! transcript_variant
1390614031 created_by: kareneilbeck
1390714032 creation_date: 2010-03-23T03:52:38Z
1391414039 synonym: "ANNOVAR:intergenic" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1391514040 synonym: "intergenic" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1391614041 synonym: "intergenic variant" EXACT []
14042 synonym: "Jannovar:intergenic_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14043 synonym: "Seattleseq:intergenic" EXACT VAR []
1391714044 synonym: "snpEff:INTERGENIC" EXACT VAR []
14045 synonym: "VEP:intergenic_variant" EXACT VAR []
14046 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
14047 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14048 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1391814049 is_a: SO:0001878 ! feature_variant
1391914050 created_by: kareneilbeck
1392014051 creation_date: 2010-03-23T05:07:37Z
1392614057 comment: EBI term - essential splice site - In the first 2 or the last 2 base pairs of an intron. The 5th base is on the donor (5') side of the intron. Updated to b in line with Cancer Genome Project at the Sanger.
1392714058 synonym: "essential_splice_site" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1392814059 synonym: "splice site variant" EXACT []
14060 synonym: "VAT:spliceOverlap" EXACT VAR []
14061 xref: http://vat.gersteinlab.org/formats.php "VAT"
1392914062 is_a: SO:0001568 ! splicing_variant
1393014063 is_a: SO:0001627 ! intron_variant
1393114064 created_by: kareneilbeck
1393714070 def: "A sequence variant in which a change has occurred within the region of the splice site, either within 1-3 bases of the exon or 3-8 bases of the intron." [http://ensembl.org/info/docs/variation/index.html]
1393814071 comment: EBI term: splice site - 1-3 bps into an exon or 3-8 bps into an intron.
1393914072 synonym: "ANNOVAR:splicing" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14073 synonym: "Jannovar:splice_region_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
14074 synonym: "snpEff:SPLICE_SITE_BRANCH" RELATED VAR []
14075 synonym: "snpEff:SPLICE_SITE_BRANCH_U12" RELATED VAR []
14076 synonym: "snpEff:SPLICE_SITE_REGION" EXACT VAR []
1394014077 synonym: "splice region variant" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
1394114078 synonym: "VAAST:splice_region_variant" EXACT VAR []
14079 synonym: "VEP:splice_region_variant" EXACT VAR []
14080 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14081 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1394214082 is_a: SO:0001568 ! splicing_variant
1394314083 created_by: kareneilbeck
1394414084 creation_date: 2010-03-24T09:46:02Z
1394914089 def: "A sequence variant located 5' of a gene." [SO:ke]
1395014090 comment: Different groups annotate up and downstream to different lengths. The subtypes are specific and are backed up with cross references.
1395114091 synonym: "ANNOVAR:upstream" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14092 synonym: "Jannovar:upstream_gene_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1395214093 synonym: "snpEff:UPSTREAM" EXACT VAR []
1395314094 synonym: "upstream gene variant" EXACT []
14095 synonym: "VEP:upstream_gene_variant" EXACT VAR []
14096 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14097 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1395414098 is_a: SO:0001628 ! intergenic_variant
1395514099 created_by: kareneilbeck
1395614100 creation_date: 2010-03-24T09:49:13Z
1396214106 comment: Different groups annotate up and downstream to different lengths. The subtypes are specific and are backed up with cross references.
1396314107 synonym: "ANNOVAR:downstream" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1396414108 synonym: "downstream gene variant" EXACT []
14109 synonym: "Jannovar:downstream_gene_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1396514110 synonym: "snpEff:DOWNSTREAM" EXACT VAR []
14111 synonym: "VEP:downstream_gene_variant" EXACT VAR []
14112 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
14113 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1396614114 is_a: SO:0001628 ! intergenic_variant
1396714115 created_by: kareneilbeck
1396814116 creation_date: 2010-03-24T09:49:38Z
1397414122 comment: EBI term Downstream variations - Within 5 kb downstream of the 3prime end of a transcript.
1397514123 synonym: "5KB downstream variant" EXACT []
1397614124 synonym: "downstream" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14125 synonym: "Seattleseq:downstream-gene" EXACT VAR []
1397714126 synonym: "within 5KB downstream" RELATED []
14127 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1397814128 is_a: SO:0001632 ! downstream_gene_variant
1397914129 created_by: kareneilbeck
1398014130 creation_date: 2010-03-24T09:50:16Z
1398514135 def: "A sequence variant located within a half KB of the end of a gene." [SO:ke]
1398614136 synonym: "500B downstream variant" EXACT []
1398714137 synonym: "near-gene-3" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
13988 is_a: SO:0001633 ! 5KB_downstream_variant
14138 is_a: SO:0001632 ! downstream_gene_variant
1398914139 created_by: kareneilbeck
1399014140 creation_date: 2010-03-24T09:50:42Z
1399114141
1399514145 def: "A sequence variant located within 5KB 5' of a gene." [SO:ke]
1399614146 comment: EBI term Upstream variations - Within 5 kb upstream of the 5prime end of a transcript.
1399714147 synonym: "5kb upstream variant" EXACT []
14148 synonym: "Seattleseq:upstream-gene" EXACT VAR []
1399814149 synonym: "upstream" EXACT ebi_variants [http://ensembl.org/info/docs/variation/index.html]
14150 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1399914151 is_a: SO:0001631 ! upstream_gene_variant
1400014152 created_by: kareneilbeck
1400114153 creation_date: 2010-03-24T09:51:06Z
1400614158 def: "A sequence variant located within 2KB 5' of a gene." [SO:ke]
1400714159 synonym: "2KB upstream variant" EXACT []
1400814160 synonym: "near-gene-5" EXACT dbsnp [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
14009 is_a: SO:0001635 ! 5KB_upstream_variant
14161 is_a: SO:0001631 ! upstream_gene_variant
1401014162 created_by: kareneilbeck
1401114163 creation_date: 2010-03-24T09:51:22Z
1401214164
1407314225 synonym: "Telomerase RNA component" EXACT []
1407414226 synonym: "telomerase RNA gene" EXACT []
1407514227 synonym: "TERC" EXACT []
14076 xref: http:http://en.wikipedia.org/wiki/Telomerase_RNA_component "wikipedia"
14228 xref: http:http\://en.wikipedia.org/wiki/Telomerase_RNA_component "wikipedia"
1407714229 is_a: SO:0001263 ! ncRNA_gene
1407814230 created_by: kareneilbeck
1407914231 creation_date: 2010-05-18T05:26:38Z
1414414296 name: inframe_variant
1414514297 def: "A sequence variant which does not cause a disruption of the translational reading frame." [SO:ke]
1414614298 synonym: "ANNOVAR:nonframeshift block substitution" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
14299 synonym: "ANNOVAR:nonframeshift substitution" RELATED VAR []
1414714300 synonym: "cds-indel" EXACT dbsnp []
1414814301 synonym: "inframe variant" EXACT []
1414914302 synonym: "VAAST:inframe_variant" EXACT VAR []
1452214675 [Term]
1452314676 id: SO:0001691
1452414677 name: blunt_end_restriction_enzyme_cleavage_site
14678 def: "A restriction enzyme recognition site that, when cleaved, results in no overhangs." [SBOL:jgquinn, SO:ke]
1452514679 synonym: "blunt end restriction enzyme cleavage site" EXACT []
1452614680 is_a: SO:0001687 ! restriction_enzyme_recognition_site
1452714681 created_by: kareneilbeck
1463914793 [Term]
1464014794 id: SO:0001703
1464114795 name: H3K9_acetylation_site
14642 def: "A kind of histone modification site, whereby the 9th residue (a lysine), from the start of the H3 histone protein is acylated." [http://en.wikipedia.org/wiki/Histone]
14796 def: "A kind of histone modification site, whereby the 9th residue (a lysine), from the start of the H3 histone protein is acetylated." [http://en.wikipedia.org/wiki/Histone]
1464314797 synonym: "H3K9 acetylation site" EXACT []
14644 synonym: "H3K9Ac" RELATED []
14798 synonym: "H3K9ac" EXACT []
1464514799 is_a: SO:0001973 ! histone_3_acetylation_site
1464614800 created_by: kareneilbeck
1464714801 creation_date: 2010-03-31T10:25:05Z
1464914803 [Term]
1465014804 id: SO:0001704
1465114805 name: H3K14_acetylation_site
14652 def: "A kind of histone modification site, whereby the 14th residue (a lysine), from the start of the H3 histone protein is acylated." [http://en.wikipedia.org/wiki/Histone]
14806 def: "A kind of histone modification site, whereby the 14th residue (a lysine), from the start of the H3 histone protein is acetylated." [http://en.wikipedia.org/wiki/Histone]
1465314807 synonym: "H3K14 acetylation site" EXACT []
14654 synonym: "H3K14Ac" RELATED []
14808 synonym: "H3K14ac" EXACT []
1465514809 is_a: SO:0001973 ! histone_3_acetylation_site
1465614810 created_by: kareneilbeck
1465714811 creation_date: 2010-03-31T10:25:53Z
1478614940 [Term]
1478714941 id: SO:0001718
1478814942 name: H3K18_acetylation_site
14789 def: "A kind of histone modification site, whereby the 14th residue (a lysine), from the start of the H3 histone protein is acylated." [SO:ke]
14943 def: "A kind of histone modification site, whereby the 18th residue (a lysine), from the start of the H3 histone protein is acetylated." [SO:ke]
1479014944 synonym: "H3K18 acetylation site" EXACT []
14791 synonym: "H3K18Ac" RELATED []
14945 synonym: "H3K18ac" EXACT []
1479214946 is_a: SO:0001973 ! histone_3_acetylation_site
1479314947 created_by: kareneilbeck
1479414948 creation_date: 2010-04-13T10:39:35Z
1479514949
1479614950 [Term]
1479714951 id: SO:0001719
14798 name: H3K23_acylation_site
14799 def: "A kind of histone modification, whereby the 23rd residue (a lysine), from the start of the H3 histone protein is acylated." [SO:ke]
14800 synonym: "H3K23 acylation site" RELATED []
14801 synonym: "H3K23Ac" RELATED []
14952 name: H3K23_acetylation_site
14953 def: "A kind of histone modification, whereby the 23rd residue (a lysine), from the start of the H3 histone protein is acetylated." [SO:ke]
14954 synonym: "H3K23 acetylation site" EXACT []
14955 synonym: "H3K23ac" EXACT []
1480214956 is_a: SO:0001973 ! histone_3_acetylation_site
1480314957 created_by: kareneilbeck
1480414958 creation_date: 2010-04-13T10:42:45Z
1482014974 def: "A kind of histone modification site, whereby the 27th residue (a lysine), from the start of the H3 histone protein is acylated." [SO:ke]
1482114975 synonym: "H3K27 acylation site" EXACT []
1482214976 synonym: "H3K27Ac" RELATED []
14823 is_a: SO:0001973 ! histone_3_acetylation_site
14977 is_obsolete: true
1482414978 created_by: kareneilbeck
1482514979 creation_date: 2010-04-13T10:44:09Z
1482614980
1489615050
1489715051 [Term]
1489815052 id: SO:0001729
14899 name: H4K16_acylation_site
14900 def: "A kind of histone modification site, whereby the 16th residue (a lysine), from the start of the H4 histone protein is acylated." [SO:ke]
14901 synonym: "H4K16 acylation_site" RELATED []
14902 synonym: "H4K16Ac" RELATED []
14903 is_a: SO:0001972 ! histone_4_acylation_site
15053 name: H4K16_acetylation_site
15054 def: "A kind of histone modification site, whereby the 16th residue (a lysine), from the start of the H4 histone protein is acetylated." [SO:ke]
15055 synonym: "H4K16 acetylation site" EXACT []
15056 synonym: "H4K16ac" EXACT []
15057 is_a: SO:0001972 ! histone_4_acetylation_site
1490415058 created_by: kareneilbeck
1490515059 creation_date: 2010-04-13T11:09:41Z
1490615060
1490715061 [Term]
1490815062 id: SO:0001730
14909 name: H4K5_acylation_site
14910 def: "A kind of histone modification site, whereby the 5th residue (a lysine), from the start of the H4 histone protein is acylated." [SO:ke]
14911 synonym: "H4K5 acylation site" RELATED []
14912 synonym: "H4K5Ac" RELATED []
14913 is_a: SO:0001972 ! histone_4_acylation_site
15063 name: H4K5_acetylation_site
15064 def: "A kind of histone modification site, whereby the 5th residue (a lysine), from the start of the H4 histone protein is acetylated." [SO:ke]
15065 synonym: "H4K5 acetylation site" EXACT []
15066 synonym: "H4K5ac" EXACT []
15067 is_a: SO:0001972 ! histone_4_acetylation_site
1491415068 created_by: kareneilbeck
1491515069 creation_date: 2010-04-13T11:13:00Z
1491615070
1491715071 [Term]
1491815072 id: SO:0001731
14919 name: H4K8_acylation_site
14920 def: "A kind of histone modification site, whereby the 8th residue (a lysine), from the start of the H4 histone protein is acylated." [SO:KE]
14921 synonym: "H4K8 acylation site" RELATED []
14922 synonym: "H4K8Ac" RELATED []
14923 is_a: SO:0001972 ! histone_4_acylation_site
15073 name: H4K8_acetylation_site
15074 def: "A kind of histone modification site, whereby the 8th residue (a lysine), from the start of the H4 histone protein is acetylated." [SO:KE]
15075 synonym: "H4K8 acetylation site" EXACT []
15076 synonym: "H4K8ac" EXACT []
15077 is_a: SO:0001972 ! histone_4_acetylation_site
1492415078 created_by: kareneilbeck
1492515079 creation_date: 2010-04-13T11:14:24Z
1492615080
1504715201 subset: DBVAR
1504815202 synonym: "uniparental disomy" EXACT []
1504915203 synonym: "UPD" EXACT dbvar [http://www.ncbi.nlm.nih.gov/dbvar/]
15050 xref: http:http://en.wikipedia.org/wiki/Uniparental_disomy "wikipedia"
15204 xref: http:http\://en.wikipedia.org/wiki/Uniparental_disomy "wikipedia"
1505115205 is_a: SO:0001059 ! sequence_alteration
1505215206 created_by: kareneilbeck
1505315207 creation_date: 2011-02-28T02:01:05Z
1518215336 [Term]
1518315337 id: SO:0001759
1518415338 name: unitary_pseudogene
15185 def: "A pseudogene, deactivated from original state by mutation, fixed in a population." [http://en.wikipedia.org/wiki/Pseudogene, SO:ke]
15339 def: "A pseudogene, deactivated from original state by mutation, fixed in a population,where the ortholog in a reference species such as mouse remains functional." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, http://en.wikipedia.org/wiki/Pseudogene, SO:ke]
1518615340 comment: This is different from a non processed pseudogene because the gene was not duplicated. An example is the L-gulono-lactone oxidase pseudogene in primates.
1518715341 synonym: "disabled gene" RELATED []
1518815342 synonym: "unitary pseudogene" RELATED []
1519315347 [Term]
1519415348 id: SO:0001760
1519515349 name: non_processed_pseudogene
15196 def: "A pseudogene that arose from a means other than retrotransposition." [SO:ke]
15350 def: "A pseudogene that arose from a means other than retrotransposition. A pseudogene created via genomic duplication of a functional protein-coding parent gene followed by accumulation of deleterious mutations." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, SO:ke]
1519715351 synonym: "non processed pseudogene" RELATED []
15352 synonym: "unprocessed pseudogene" EXACT []
15353 synonym: "unprocessed_pseudogene" EXACT []
1519815354 is_a: SO:0000336 ! pseudogene
1519915355 created_by: kareneilbeck
1520015356 creation_date: 2011-03-09T10:54:47Z
1537615532 id: SO:0001782
1537715533 name: TF_binding_site_variant
1537815534 def: "A sequence variant located within a transcription factor binding site." [EBI:fc]
15535 synonym: "Jannovar:tf_binding_site_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1537915536 synonym: "TF binding site variant" EXACT []
15537 synonym: "VEP:TF_binding_site_variant" EXACT VAR []
15538 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1538015539 is_a: SO:0001566 ! regulatory_region_variant
1538115540 created_by: kareneilbeck
1538215541 creation_date: 2011-03-17T10:59:20Z
1546015619 def: "A sequence variant that changes exon sequence." [SO:ke]
1546115620 synonym: "ANNOVAR:exonic" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1546215621 synonym: "exon variant" EXACT []
15622 synonym: "Jannovar:exon_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1546315623 synonym: "snpEff:EXON" EXACT VAR []
1546415624 synonym: "VAAST:exon_variant" EXACT VAR []
15625 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1546515626 is_a: SO:0001576 ! transcript_variant
1546615627 created_by: kareneilbeck
1546715628 creation_date: 2011-05-06T01:51:17Z
1547015631 id: SO:0001792
1547115632 name: non_coding_transcript_exon_variant
1547215633 def: "A sequence variant that changes non-coding exon sequence in a non-coding transcript." [EBI:fc, SO:ke]
15634 synonym: "ANNOVAR:ncRNA_exonic" NARROW VAR []
15635 synonym: "Jannovar:non_coding_transcript_exon_variant" NARROW VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1547315636 synonym: "non coding transcript exon variant" EXACT []
15637 synonym: "non_coding_transcript_exon_variant" EXACT VAR []
15638 synonym: "Seattleseq:non-coding-exon" EXACT VAR []
15639 synonym: "Seattleseq:non-coding-exon-near-splice" RELATED VAR []
15640 synonym: "VEP:non_coding_transcript_exon_variant" EXACT VAR []
15641 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
1547415642 is_a: SO:0001619 ! non_coding_transcript_variant
1547515643 is_a: SO:0001791 ! exon_variant
1547615644 created_by: kareneilbeck
1553215700 synonym: "lmr1R" EXACT []
1553315701 synonym: "regional centromere inner repeat region" EXACT []
1553415702 is_a: SO:0001797 ! centromeric_repeat
15703 relationship: part_of SO:0001795 ! regional_centromere
1553515704 relationship: part_of SO:0001796 ! regional_centromere_central_core
1553615705 created_by: kareneilbeck
1553715706 creation_date: 2011-05-31T01:01:08Z
1571915888 name: protein_altering_variant
1572015889 def: "A sequence_variant which is predicted to change the protein encoded in the coding sequence." [EBI:gr]
1572115890 synonym: "protein altering variant" EXACT []
15891 synonym: "VEP:protein_altering_variant" EXACT VAR []
15892 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1572215893 is_a: SO:0001580 ! coding_sequence_variant
1572315894 created_by: kareneilbeck
1572415895 creation_date: 2011-06-24T03:38:02Z
1573115902 comment: EBI term: Synonymous SNPs - In coding sequence, not resulting in an amino acid change (i.e. silent mutation).\nThis term is sometimes used synonomously with the more general term 'silent mutation', although a silent mutation may occur in non coding sequence. The best practice is to annotate to the most specific term.
1573215903 synonym: "ANNOVAR:synonymous SNV" RELATED VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1573315904 synonym: "coding-synon" EXACT [ftp://ftp.ncbi.nih.gov/snp/specs/docsum_3.1.xsd]
15905 synonym: "Jannovar:synonymous_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
15906 synonym: "Seattleseq:synonymous" EXACT VAR []
15907 synonym: "Seattleseq:synonymous-near-splice" RELATED VAR []
1573415908 synonym: "silent mutation" RELATED []
1573515909 synonym: "silent substitution" RELATED []
1573615910 synonym: "silent_mutation" RELATED []
1573915913 synonym: "synonymous_coding" EXACT []
1574015914 synonym: "synonymous_codon" EXACT []
1574115915 synonym: "VAAST:synonymous_codon" EXACT VAR []
15916 synonym: "VAAST:synonymous_variant" EXACT VAR []
15917 synonym: "VAT:synonymous" EXACT VAR []
15918 synonym: "VEP:synonymous_variant" EXACT VAR []
1574215919 xref: EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html
1574315920 xref: http://en.wikipedia.org/wiki/Silent_mutation "wiki"
1574415921 xref: http://en.wikipedia.org/wiki/Synonymous_mutation
15922 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
15923 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
15924 xref: http://vat.gersteinlab.org/formats.php "VAT"
15925 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1574515926 is_a: SO:0001580 ! coding_sequence_variant
1574615927 created_by: kareneilbeck
1574715928 creation_date: 2011-06-24T03:38:30Z
1576615947 synonym: "inframe increase in CDS length" EXACT []
1576715948 synonym: "inframe insertion" EXACT []
1576815949 synonym: "inframe_codon_gain" EXACT []
15950 synonym: "Jannovar:inframe_insertion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1576915951 synonym: "snpEFF:CODON_INSERTION" EXACT VAR []
15952 synonym: "VAT:insertionNFS" EXACT VAR []
15953 synonym: "VEP:inframe_insertion" EXACT VAR []
15954 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
15955 xref: http://vat.gersteinlab.org/formats.php "VAT"
15956 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1577015957 is_a: SO:0001820 ! inframe_indel
1577115958 is_a: SO:0001908 ! internal_feature_elongation
1577215959 created_by: kareneilbeck
1578215969 synonym: "inframe decrease in CDS length" EXACT []
1578315970 synonym: "inframe deletion" RELATED []
1578415971 synonym: "inframe_codon_loss" EXACT []
15972 synonym: "Jannovar:inframe_deletion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1578515973 synonym: "snpEff:CODON_DELETION" RELATED VAR []
15974 synonym: "VAT:deletionNFS" EXACT VAR []
15975 synonym: "VEP:inframe_deletion" EXACT VAR []
15976 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
15977 xref: http://vat.gersteinlab.org/formats.php "VAT"
15978 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1578615979 is_a: SO:0001820 ! inframe_indel
1578715980 is_a: SO:0001906 ! feature_truncation
1578815981 created_by: kareneilbeck
1580415997 def: "An inframe increase in cds length that inserts one or more codons into the coding sequence within an existing codon." [EBI:gr]
1580515998 synonym: "disruptive increase in CDS length" EXACT []
1580615999 synonym: "disruptive inframe insertion" EXACT []
16000 synonym: "Jannovar:disruptive_inframe_insertion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1580716001 synonym: "snpEff:CODON_CHANGE_PLUS_CODON_INSERTION" EXACT VAR []
16002 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1580816003 is_a: SO:0001821 ! inframe_insertion
1580916004 created_by: kareneilbeck
1581016005 creation_date: 2011-06-27T11:28:37Z
1582516020 def: "An inframe decrease in cds length that deletes bases from the coding sequence starting within an existing codon." [EBI:gr]
1582616021 synonym: "disruptive decrease in CDS length" EXACT []
1582716022 synonym: "disruptive inframe deletion" EXACT []
16023 synonym: "Jannovar:disruptive_inframe_deletion" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1582816024 synonym: "snpEff:CODON_CHANGE_PLUS_CODON_DELETION" EXACT VAR []
16025 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1582916026 is_a: SO:0001822 ! inframe_deletion
1583016027 created_by: kareneilbeck
1583116028 creation_date: 2011-06-27T11:31:31Z
1597116168 [Term]
1597216169 id: SO:0001841
1597316170 name: polymorphic_pseudogene
15974 def: "Pseudogene owing to a SNP/DIP but in other individuals/haplotypes/strains the gene is translated." [JAX:hd]
15975 comment: This terms is used by Ensembl and Vega.
16171 def: "A pseudogene in the reference genome, though known to be intact in the genomes of other individuals of the same species. The annotation process has confirmed that the pseudogenisation event is not a genomic sequencing error." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, JAX:hd]
16172 comment: This terms is used by Ensembl and Vega. Pseudogene owing to a SNP/DIP but in other individuals/haplotypes/strains the gene is translated.
1597616173 synonym: "polymorphic psuedogene" EXACT []
1597716174 is_a: SO:0000336 ! pseudogene
1597816175 created_by: kareneilbeck
1603616233 [Term]
1603716234 id: SO:0001848
1603816235 name: homol_D_box
16039 def: "A core promoter element that has the consensus sequence CAGTCACA (or its inverted form TGTGACTG), and plays the role of a TATA box in promoters that do not contain a canonical TATA sequence." [PMID:7501449, PMID:8458332]
16236 def: "A core promoter element that has the consensus sequence CAGTCACA (or its inverted form TGTGACTG), and plays the role of a TATA box in promoters that do not contain a canonical TATA sequence." [PMID:21673110, PMID:7501449, PMID:8458332]
16237 synonym: "homoID" EXACT []
1604016238 synonym: "homol D box" EXACT []
1604116239 is_a: SO:0001660 ! core_promoter_element
1604216240 created_by: kareneilbeck
1644516643 def: "A feature amplification of a region containing a transcript." [SO:ke]
1644616644 comment: Created in conjunction with the EBI.
1644716645 synonym: "transcript amplification" EXACT []
16646 synonym: "VEP:transcript_amplification" EXACT VAR []
16647 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1644816648 is_a: SO:0001880 ! feature_amplification
1644916649 created_by: kareneilbeck
1645016650 creation_date: 2012-04-03T12:39:23Z
1646516665 def: "A feature amplification of a region containing a regulatory region." [SO:ke]
1646616666 comment: Created in conjunction with the EBI.
1646716667 synonym: "regulatory region amplification" EXACT []
16668 synonym: "VEP:regulatory_region_amplification" EXACT VAR []
16669 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1646816670 is_a: SO:0001880 ! feature_amplification
1646916671 created_by: kareneilbeck
1647016672 creation_date: 2012-04-03T12:41:28Z
1647616678 comment: Created in conjunction with the EBI.
1647716679 synonym: "TFBS amplification " EXACT []
1647816680 synonym: "transcription factor binding site amplification" EXACT []
16681 synonym: "VEP:TFBS_amplification" EXACT VAR []
16682 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1647916683 is_a: SO:0001891 ! regulatory_region_amplification
1648016684 created_by: kareneilbeck
1648116685 creation_date: 2012-04-03T12:42:48Z
1648516689 name: transcript_ablation
1648616690 def: "A feature ablation whereby the deleted region includes a transcript feature." [SO:ke]
1648716691 comment: Created in conjunction with the EBI.
16692 synonym: "Jannovar:transcript_ablation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1648816693 synonym: "transcript ablation" EXACT []
16694 synonym: "VEP:transcript_ablation" EXACT VAR []
16695 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1648916696 is_a: SO:0001879 ! feature_ablation
1649016697 created_by: kareneilbeck
1649116698 creation_date: 2012-04-03T12:44:19Z
1649616703 def: "A feature ablation whereby the deleted region includes a regulatory region." [SO:ke]
1649716704 comment: Created in conjunction with the EBI.
1649816705 synonym: "regulatory region ablation" EXACT []
16706 synonym: "VEP:regulatory_region_ablation" EXACT VAR []
16707 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1649916708 is_a: SO:0001879 ! feature_ablation
1650016709 created_by: kareneilbeck
1650116710 creation_date: 2012-04-03T12:45:13Z
1650716716 comment: Created in conjunction with the EBI.
1650816717 synonym: "TFBS ablation" EXACT []
1650916718 synonym: "transcription factor binding site ablation" EXACT []
16719 synonym: "VEP:TFBS_ablation" EXACT VAR []
16720 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1651016721 is_a: SO:0001894 ! regulatory_region_ablation
1651116722 created_by: kareneilbeck
1651216723 creation_date: 2012-04-03T12:45:56Z
1661716828 name: feature_truncation
1661816829 def: "A sequence variant that causes the reduction of a genomic feature, with regard to the reference sequence." [SO:ke]
1661916830 synonym: "feature truncation" EXACT []
16831 synonym: "Jannovar:feature_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
16832 synonym: "VEP:feature_truncation" EXACT VAR []
16833 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1662016834 is_a: SO:0001878 ! feature_variant
1662116835 created_by: kareneilbeck
1662216836 creation_date: 2012-04-12T05:05:28Z
1662616840 name: feature_elongation
1662716841 def: "A sequence variant that causes the extension of a genomic feature, with regard to the reference sequence." [SO:ke]
1662816842 synonym: "feature elongation" EXACT []
16843 synonym: "VEP:feature_elongation" EXACT VAR []
16844 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1662916845 is_a: SO:0001878 ! feature_variant
1663016846 created_by: kareneilbeck
1663116847 creation_date: 2012-04-12T05:05:56Z
1663516851 name: internal_feature_elongation
1663616852 def: "A sequence variant that causes the extension of a genomic feature from within the feature rather than from the terminus of the feature, with regard to the reference sequence." [SO:ke]
1663716853 synonym: "internal feature elongation" EXACT []
16854 synonym: "Jannovar:internal_feature_elongation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1663816855 is_a: SO:0001907 ! feature_elongation
1663916856 created_by: kareneilbeck
1664016857 creation_date: 2012-04-12T05:06:20Z
1664516862 def: "A frameshift variant that causes the translational reading frame to be extended relative to the reference feature." [SO:ke]
1664616863 synonym: "ANNOVAR:frameshift insertion" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
1664716864 synonym: "frameshift elongation" EXACT []
16865 synonym: "Jannovar:frameshift_elongation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1664816866 is_a: SO:0001589 ! frameshift_variant
1664916867 is_a: SO:0001908 ! internal_feature_elongation
1665016868 created_by: kareneilbeck
1665416872 id: SO:0001910
1665516873 name: frameshift_truncation
1665616874 def: "A frameshift variant that causes the translational reading frame to be shortened relative to the reference feature." [SO:ke]
16657 synonym: "ANNOVAR:frameshit deletion" EXACT ebi_variants [http://www.openbioinformatics.org/annovar/annovar_download.html]
16658 synonym: "frameshft truncation" EXACT []
16875 synonym: "ANNOVAR:frameshift deletion" EXACT VAR [http://www.openbioinformatics.org/annovar/annovar_download.html]
16876 synonym: "frameshift truncation" EXACT []
16877 synonym: "Jannovar:frameshift_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1665916878 is_a: SO:0001589 ! frameshift_variant
1666016879 is_a: SO:0001906 ! feature_truncation
1666116880 created_by: kareneilbeck
1674316962 synonym: "m-5C" EXACT []
1674416963 synonym: "m5c" EXACT []
1674516964 xref: http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html#7.4.2
16746 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
16965 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1674716966 is_a: SO:0000114 ! methylated_cytosine
1674816967 created_by: kareneilbeck
1674916968 creation_date: 2012-10-17T12:46:10Z
1676016979 synonym: "N4-methylcytosine" EXACT []
1676116980 synonym: "N4_methylcytosine" EXACT []
1676216981 xref: http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html#7.4.2
16763 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
16982 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1676416983 is_a: SO:0000114 ! methylated_cytosine
1676516984 created_by: kareneilbeck
1676616985 creation_date: 2012-10-17T12:50:40Z
1677516994 synonym: "m-6A" EXACT []
1677616995 synonym: "m6a" EXACT []
1677716996 synonym: "N6-methyladenine" EXACT []
16778 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
16997 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1677916998 is_a: SO:0000161 ! methylated_adenine
1678016999 created_by: kareneilbeck
1678117000 creation_date: 2012-10-17T12:54:23Z
1693117150 [Term]
1693217151 id: SO:0001936
1693317152 name: H3K36_acetylation_site
16934 def: "A kind of histone modification site, whereby the 36th residue (a lysine), from the start of the H3 histone protein is acylated." [EBI:nj]
17153 def: "A kind of histone modification site, whereby the 36th residue (a lysine), from the start of the H3 histone protein is acetylated." [EBI:nj]
1693517154 synonym: "H3K36 acetylation site" EXACT []
1693617155 synonym: "H3K36ac" EXACT []
1693717156 is_a: SO:0001973 ! histone_3_acetylation_site
1694117160 [Term]
1694217161 id: SO:0001937
1694317162 name: H2BK12_acetylation_site
16944 def: "A kind of histone modification site, whereby the 12th residue (a lysine), from the start of the H2B protein is methylated." [EBI:nj]
17163 def: "A kind of histone modification site, whereby the 12th residue (a lysine), from the start of the H2B protein is acetylated." [EBI:nj]
1694517164 synonym: "H2BK12 acetylation site" EXACT []
16946 synonym: "H2BK12ac" RELATED []
16947 is_a: SO:0001702 ! histone_acetylation_site
17165 synonym: "H2BK12ac" EXACT []
17166 is_a: SO:0002143 ! histone_2B_acetylation_site
1694817167 created_by: kareneilbeck
1694917168 creation_date: 2013-03-06T10:19:13Z
1695017169
1695417173 def: "A kind of histone modification site, whereby the 5th residue (a lysine), from the start of the H2A histone protein is acetylated." [EBI:nj]
1695517174 synonym: "H2AK5 acetylation site" EXACT []
1695617175 synonym: "H2AK5ac" EXACT []
16957 is_a: SO:0001702 ! histone_acetylation_site
17176 is_a: SO:0002142 ! histone_2A_acetylation_site
1695817177 created_by: kareneilbeck
1695917178 creation_date: 2013-03-06T10:20:57Z
1696017179
1696417183 def: "A kind of histone modification site, whereby the 12th residue (a lysine), from the start of the H4 histone protein is acetylated." [EBI:nj]
1696517184 synonym: "H4K12 acetylation site" EXACT []
1696617185 synonym: "H4K12ac" EXACT []
16967 is_a: SO:0001972 ! histone_4_acylation_site
17186 is_a: SO:0001972 ! histone_4_acetylation_site
1696817187 created_by: kareneilbeck
1696917188 creation_date: 2013-03-06T10:26:15Z
1697017189
1697117190 [Term]
1697217191 id: SO:0001940
1697317192 name: H2BK120_acetylation_site
16974 def: "A kind of histone modification site, whereby the 120th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj]
17193 def: "A kind of histone modification site, whereby the 120th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj, http://dx.doi.org/10.4161/epi.6.5.15623]
1697517194 synonym: "H2BK120 acetylation site" EXACT []
1697617195 synonym: "H2BK120ac" EXACT []
16977 is_a: SO:0001702 ! histone_acetylation_site
17196 is_a: SO:0002143 ! histone_2B_acetylation_site
1697817197 created_by: kareneilbeck
1697917198 creation_date: 2013-03-06T10:28:38Z
1698017199
1698317202 name: H4K91_acetylation_site
1698417203 def: "A kind of histone modification site, whereby the 91st residue (a lysine), from the start of the H4 histone protein is acetylated." [EBI:nj]
1698517204 synonym: "H4K91 acetylation site" EXACT []
16986 is_a: SO:0001972 ! histone_4_acylation_site
17205 synonym: "H4K91ac" EXACT []
17206 is_a: SO:0001972 ! histone_4_acetylation_site
1698717207 created_by: kareneilbeck
1698817208 creation_date: 2013-03-06T10:41:04Z
1698917209
1699117211 id: SO:0001942
1699217212 name: H2BK20_acetylation_site
1699317213 def: "A kind of histone modification site, whereby the 20th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj]
16994 synonym: "H2BK20 acetylation site" RELATED []
17214 synonym: "H2BK20 acetylation site" EXACT []
1699517215 synonym: "H2BK20ac" EXACT []
16996 is_a: SO:0001702 ! histone_acetylation_site
17216 is_a: SO:0002143 ! histone_2B_acetylation_site
1699717217 created_by: kareneilbeck
1699817218 creation_date: 2013-03-06T10:44:31Z
1699917219
1700017220 [Term]
1700117221 id: SO:0001943
17002 name: H3K4ac_acetylation_site
17222 name: H3K4_acetylation_site
1700317223 def: "A kind of histone modification site, whereby the 4th residue (a lysine), from the start of the H3 histone protein is acetylated." [EBI:nj]
17224 synonym: "H3K4 acetylation site" EXACT []
1700417225 synonym: "H3K4ac" EXACT []
17005 synonym: "H3K4ac acetylation site" EXACT []
1700617226 is_a: SO:0001973 ! histone_3_acetylation_site
1700717227 created_by: kareneilbeck
1700817228 creation_date: 2013-03-06T10:46:32Z
1701317233 def: "A kind of histone modification site, whereby the 9th residue (a lysine), from the start of the H2A histone protein is acetylated." [EBI:nj]
1701417234 synonym: "H2AK9 acetylation site" EXACT []
1701517235 synonym: "H2AK9ac" EXACT []
17016 is_a: SO:0001702 ! histone_acetylation_site
17236 is_a: SO:0002142 ! histone_2A_acetylation_site
1701717237 created_by: kareneilbeck
1701817238 creation_date: 2013-03-06T10:48:11Z
1701917239
1703317253 def: "A kind of histone modification site, whereby the 15th residue (a lysine), from the start of the H2B histone protein is acetylated." [EBI:nj]
1703417254 synonym: "H2BK15 acetylation site" EXACT []
1703517255 synonym: "H2BK15ac" EXACT []
17036 is_a: SO:0001702 ! histone_acetylation_site
17256 is_a: SO:0002143 ! histone_2B_acetylation_site
1703717257 created_by: kareneilbeck
1703817258 creation_date: 2013-03-06T10:53:23Z
1703917259
1713717357 name: RNA_stability_element
1713817358 def: "RNA secondary structure that affects the stability of an RNA molecule." [SO:ke]
1713917359 synonym: "rna stability element" RELATED []
17360 is_obsolete: true
1714017361 created_by: kareneilbeck
1714117362 creation_date: 2013-03-06T03:38:35Z
17142 is_obsolete: true
1714317363
1714417364 [Term]
1714517365 id: SO:0001958
1716717387 def: "A modified DNA cytosine base feature, modified by a hydroxymethyl group at the 5 carbon." [SO:ke]
1716817388 synonym: "5-hmC" EXACT []
1716917389 synonym: "5-hydroxymethylcytosine" EXACT []
17170 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
17390 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1717117391 is_a: SO:0000114 ! methylated_cytosine
1717217392 created_by: kareneilbeck
1717317393 creation_date: 2013-05-17T05:05:31Z
1717817398 def: "A modified DNA cytosine base feature, modified by a formyl group at the 5 carbon." [SO:ke]
1717917399 synonym: "5-fC" EXACT []
1718017400 synonym: "5-formylcytosine" EXACT []
17181 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
17401 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1718217402 is_a: SO:0001963 ! modified_cytosine
1718317403 created_by: kareneilbeck
1718417404 creation_date: 2013-05-17T05:06:13Z
1721317433 def: "A modified DNA guanine base,at the 8 carbon, often the product of DNA damage." [SO:ke]
1721417434 synonym: "8-oxoG" EXACT []
1721517435 synonym: "8-oxoguanine" EXACT []
17216 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
17436 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1721717437 is_a: SO:0001964 ! modified_guanine
1721817438 created_by: kareneilbeck
1721917439 creation_date: 2013-05-20T01:27:51Z
1722417444 def: "A modified DNA cytosine base feature, modified by a carboxy group at the 5 carbon." [SO:ke]
1722517445 synonym: "5-caC" EXACT []
1722617446 synonym: "5-carboxycytosine" EXACT []
17227 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
17447 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1722817448 is_a: SO:0001963 ! modified_cytosine
1722917449 created_by: kareneilbeck
1723017450 creation_date: 2013-05-20T01:30:01Z
1723517455 def: "A modified DNA adenine base,at the 8 carbon, often the product of DNA damage." [SO:ke]
1723617456 synonym: "8-oxoA" EXACT []
1723717457 synonym: "8-oxoadenine" EXACT []
17238 xref: http:http://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
17458 xref: http:http\://www.pacificbiosciences.com/pdf/WP_Detecting_DNA_Base_Modifications_Using_SMRT_Sequencing.pdf
1723917459 is_a: SO:0001962 ! modified_adenine
1724017460 created_by: kareneilbeck
1724117461 creation_date: 2013-05-20T01:31:05Z
1724517465 name: coding_transcript_variant
1724617466 def: "A transcript variant of a protein coding gene." [SO:ke]
1724717467 synonym: "coding transcript variant" EXACT []
17468 synonym: "Jannovar:coding_transcript_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1724817469 is_a: SO:0001576 ! transcript_variant
1724917470 created_by: kareneilbeck
1725017471 creation_date: 2013-05-22T04:34:49Z
1725417475 name: coding_transcript_intron_variant
1725517476 def: "A transcript variant occurring within an intron of a coding transcript." [SO:ke]
1725617477 synonym: "coding sequence intron variant" EXACT []
17478 synonym: "Jannovar:coding_transcript_intron_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1725717479 is_a: SO:0001627 ! intron_variant
1725817480 is_a: SO:0001968 ! coding_transcript_variant
1725917481 created_by: kareneilbeck
1726317485 id: SO:0001970
1726417486 name: non_coding_transcript_intron_variant
1726517487 def: "A transcript variant occurring within an intron of a non coding transcript." [SO:ke]
17488 synonym: "ANNOVAR:ncRNA_intronic" NARROW VAR []
17489 synonym: "Jannovar:non_coding_transcript_intron_variant" NARROW VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1726617490 synonym: "non coding transcript intron variant" EXACT []
1726717491 is_a: SO:0001619 ! non_coding_transcript_variant
1726817492 is_a: SO:0001627 ! intron_variant
1728017504
1728117505 [Term]
1728217506 id: SO:0001972
17283 name: histone_4_acylation_site
17284 def: "A histone 4 modification where the modification is the acylation of the residue." [EBI:nj, SO:ke]
17507 name: histone_4_acetylation_site
17508 def: "A histone 4 modification where the modification is the acetylation of the residue." [EBI:nj, ISBN:0815341059, SO:ke]
1728517509 synonym: "H4ac" EXACT []
17510 synonym: "histone 4 acetylation site" EXACT []
1728617511 is_a: SO:0001702 ! histone_acetylation_site
1728717512 created_by: kareneilbeck
1728817513 creation_date: 2013-07-30T10:43:04Z
1729017515 [Term]
1729117516 id: SO:0001973
1729217517 name: histone_3_acetylation_site
17293 def: "A histone 3 modification where the modification is the acylation of the residue." [EBI:nj, SO:ke]
17518 def: "A histone 3 modification where the modification is the acetylation of the residue." [EBI:nj, ISBN:0815341059, SO:ke]
1729417519 synonym: "H3ac" EXACT []
17520 synonym: "histone 3 acetylation site" EXACT []
1729517521 is_a: SO:0001702 ! histone_acetylation_site
1729617522 created_by: kareneilbeck
1729717523 creation_date: 2013-07-30T10:46:42Z
1739017616 def: "A 5' UTR variant where a premature start codon is introduced, moved or lost." [SANGER:am]
1739117617 comment: Requested by Andy Menzies at the Sanger. This isn't necessarily a protein coding change. A premature start codon can effect the production of a mature protein product by providing a competing translation start point. Some genes balance their expression this way, eg THPO requires the presence of a premature start to limit expression, its loss leads to Familial thrombocythemia.
1739217618 synonym: "5' UTR premature start codon variant" EXACT []
17393 synonym: "snpEff:START_GAINED" EXACT VAR []
1739417619 is_a: SO:0001623 ! 5_prime_UTR_variant
1739517620 created_by: kareneilbeck
1739617621 creation_date: 2013-07-30T04:36:25Z
1743817663 name: 5_prime_UTR_premature_start_codon_gain_variant
1743917664 def: "A 5' UTR variant where a premature start codon is gained." [Sanger:am]
1744017665 synonym: "5 prime UTR premature start codon gain variant" EXACT []
17666 synonym: "Jannovar:5_prime_UTR_premature_start_codon_gain_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
17667 synonym: "snpEff:START_GAINED" EXACT VAR []
17668 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1744117669 is_a: SO:0001983 ! 5_prime_UTR_premature_start_codon_variant
1744217670 created_by: kareneilbeck
1744317671 creation_date: 2013-07-31T03:53:06Z
1762317851 name: rare_amino_acid_variant
1762417852 def: "A sequence variant whereby at least one base of a codon encoding a rare amino acid is changed, resulting in a different encoded amino acid." [SO:ke]
1762517853 comment: Request from Uma Devi Paila, UVA. Variants in the sites of rare amino acids e.g. Selenocysteine. These are important impact terms since a loss of such rare amino acids may lead to a loss of function.
17854 synonym: "Jannovar:rare_amino_acid_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1762617855 synonym: "rare amino acid variant" EXACT []
17856 synonym: "snpEff:RARE_AMINO_ACID" EXACT VAR []
17857 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1762717858 is_a: SO:0001586 ! non_conservative_missense_variant
1762817859 created_by: kareneilbeck
1762917860 creation_date: 2014-03-24T02:24:01Z
1765417885 def: "A variant that occurs within a gene but falls outside of all transcript features. This occurs when alternate transcripts of a gene do not share overlapping sequence." [SO:ke]
1765517886 comment: Requested by Pablo Cingolani, for use in SnpEff.
1765617887 synonym: "intragenic variant" EXACT []
17888 synonym: "Jannovar:intragenic_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1765717889 synonym: "snpEff:INTRAGENIC" EXACT VAR []
17890 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1765817891 is_a: SO:0001576 ! transcript_variant
1765917892 created_by: kareneilbeck
1766017893 creation_date: 2014-03-24T02:33:13Z
1766417897 name: start_lost
1766517898 def: "A codon variant that changes at least one base of the canonical start codon." [SO:ke]
1766617899 comment: Request from Uma Devi Paila, UVA. This term should not be applied to incomplete transcripts.
17900 synonym: "Jannovar:start_lost" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1766717901 synonym: "snpEff:START_LOST" EXACT VAR []
17902 synonym: "VEP:start_lost" EXACT VAR []
17903 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
17904 xref: http:www.ensembl.org/info/genome/variation/predicted_data.html#consequences
1766817905 is_a: SO:0001582 ! initiator_codon_variant
1766917906 is_a: SO:0001992 ! nonsynonymous_variant
1767017907 created_by: kareneilbeck
1767517912 name: 5_prime_UTR_truncation
1767617913 def: "A sequence variant that causes the reduction of a the 5'UTR with regard to the reference sequence." [SO:ke]
1767717914 synonym: "5 prime UTR truncation" EXACT []
17915 synonym: "Jannovar:5_prime_utr_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1767817916 synonym: "snpEff:UTR_5_DELETED" EXACT VAR []
17917 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1767917918 is_a: SO:0001623 ! 5_prime_UTR_variant
1768017919 created_by: kareneilbeck
1768117920 creation_date: 2014-03-25T10:46:42Z
1769417933 name: 3_prime_UTR_truncation
1769517934 def: "A sequence variant that causes the reduction of a the 3' UTR with regard to the reference sequence." [SO:ke]
1769617935 synonym: "3 prime UTR truncation" EXACT []
17936 synonym: "Jannovar:3_prime_utr_truncation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1769717937 synonym: "snpEff:UTR_3_DELETED" EXACT VAR []
17938 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1769817939 is_a: SO:0001624 ! 3_prime_UTR_variant
1769917940 created_by: kareneilbeck
1770017941 creation_date: 2014-03-25T10:54:50Z
1771417955 def: "A sequence variant located in a conserved intergenic region, between genes." [SO:ke]
1771517956 comment: Requested by Uma Paila (UVA) for snpEff.
1771617957 synonym: "conserved intergenic variant" EXACT []
17958 synonym: "Jannovar:conserved_intergenic_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1771717959 synonym: "snpEff:INTERGENIC_CONSERVED" EXACT VAR []
17960 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1771817961 is_a: SO:0001628 ! intergenic_variant
1771917962 created_by: kareneilbeck
1772017963 creation_date: 2014-03-25T02:54:39Z
1772517968 def: "A transcript variant occurring within a conserved region of an intron." [SO:ke]
1772617969 comment: Requested by Uma Paila (UVA) for snpEff.
1772717970 synonym: "conserved intron variant" EXACT []
17971 synonym: "Jannovar:conserved_intron_variant" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1772817972 synonym: "snpEff:INTRON_CONSERVED" EXACT VAR []
17973 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1772917974 is_a: SO:0001627 ! intron_variant
1773017975 created_by: kareneilbeck
1773117976 creation_date: 2014-03-25T02:58:41Z
1773517980 name: start_retained_variant
1773617981 def: "A sequence variant where at least one base in the start codon is changed, but the start remains." [SO:ke]
1773717982 comment: Requested by Uma Paila as this term is annotated by snpEff. This would be used for non_AUG start codon annotation.
17983 synonym: "snpEff:SYNONYMOUS_START" EXACT VAR []
1773817984 is_a: SO:0001582 ! initiator_codon_variant
1773917985 is_a: SO:0001819 ! synonymous_variant
1774017986 created_by: kareneilbeck
1781218058 id: SO:0002027
1781318059 name: uORF
1781418060 def: "A short open reading frame that is found in the 5' untranslated region of an mRNA and plays a role in translational regulation." [PMID:12890013, PMID:16153175, POMBASE:mah]
18061 synonym: "regulatory uORF" EXACT []
1781518062 synonym: "upstream ORF" EXACT []
18063 xref: PMID:26684391
1781618064 is_a: SO:0000236 ! ORF
1781718065 created_by: kareneilbeck
1781818066 creation_date: 2014-07-14T11:59:23Z
1785118099 def: "A short hairpin RNA (shRNA) is an RNA transcript that makes a tight hairpin turn that can be used to silence target gene expression via RNA interference." [PMID:6699500, SO:ke]
1785218100 synonym: "short hairpin RNA" EXACT []
1785318101 synonym: "small hairpin RNA" EXACT []
17854 xref: http:http:en.wikipedia.org/wiki/Small_hairpin_RNA "wikipedia"
18102 xref: http:http\:en.wikipedia.org/wiki/Small_hairpin_RNA "wikipedia"
1785518103 is_a: SO:0000655 ! ncRNA
1785618104 created_by: kareneilbeck
1785718105 creation_date: 2014-10-23T09:16:29Z
1803318281 def: "A kind of histone modification site, whereby the 27th residue (a lysine), from the start of the H3 histone protein is acetylated." [SO:rs]
1803418282 comment: Requested by: Sagar Jain, Richard Scheuermann.
1803518283 synonym: "H3K27 acetylation site" EXACT []
18284 synonym: "H3K27ac" EXACT []
1803618285 is_a: SO:0001973 ! histone_3_acetylation_site
1803718286 created_by: kareneilbeck
1803818287 creation_date: 2015-05-14T10:17:11Z
1810918358 id: SO:0002057
1811018359 name: intronic_splicing_enhancer
1811118360 synonym: "ISE" EXACT []
18361 is_obsolete: true
1811218362 created_by: kareneilbeck
1811318363 creation_date: 2015-05-14T12:28:31Z
18114 is_obsolete: true
1811518364
1811618365 [Term]
1811718366 id: SO:0002058
1813618385
1813718386 [Term]
1813818387 id: SO:0002060
18139 name: interchomosomal_translocation
18388 name: interchromosomal_translocation
1814018389 def: "A translocation where the regions involved are from different chromosomes." [NCBI:th]
1814118390 is_a: SO:1000044 ! chromosomal_translocation
1814218391 created_by: kareneilbeck
1814418393
1814518394 [Term]
1814618395 id: SO:0002061
18147 name: intrachomosomal_translocation
18396 name: intrachromosomal_translocation
1814818397 def: "A translocation where the regions involved are from the same chromosome." [NCBI:th]
1814918398 is_a: SO:1000044 ! chromosomal_translocation
1815018399 created_by: kareneilbeck
1816118410
1816218411 [Term]
1816318412 id: SO:0002063
18164 name: alu_insertion
18413 name: Alu_insertion
1816518414 def: "An insertion of sequence from the Alu family of mobile elements." [NCBI:th]
18166 synonym: "alu insertion" EXACT []
18415 synonym: "Alu insertion" EXACT []
1816718416 is_a: SO:0001837 ! mobile_element_insertion
1816818417 created_by: kareneilbeck
1816918418 creation_date: 2015-06-18T11:30:36Z
1818418433 is_a: SO:0001837 ! mobile_element_insertion
1818518434 created_by: kareneilbeck
1818618435 creation_date: 2015-06-18T11:36:12Z
18436
18437 [Term]
18438 id: SO:0002066
18439 name: mobile_element_deletion
18440 def: "A deletion of a mobile element when comparing a reference sequence (has mobile element) to a individual sequence (does not have mobile element)." [NCBI:th]
18441 synonym: "mobile element deletion" EXACT []
18442 is_a: SO:0000159 ! deletion
18443 created_by: kareneilbeck
18444 creation_date: 2015-09-04T13:40:43Z
18445
18446 [Term]
18447 id: SO:0002067
18448 name: HERV_deletion
18449 def: "A deletion of the HERV mobile element with respect to a reference." [NCBI:th]
18450 synonym: "HERV deletion" EXACT []
18451 is_a: SO:0002066 ! mobile_element_deletion
18452 created_by: kareneilbeck
18453 creation_date: 2015-09-04T13:42:52Z
18454
18455 [Term]
18456 id: SO:0002068
18457 name: SVA_deletion
18458 def: "A deletion of an SVA mobile element." [NCBI:th]
18459 synonym: "SVA deletion" EXACT []
18460 is_a: SO:0002066 ! mobile_element_deletion
18461 created_by: kareneilbeck
18462 creation_date: 2015-09-04T13:45:22Z
18463
18464 [Term]
18465 id: SO:0002069
18466 name: LINE1_deletion
18467 def: "A deletion of a LINE1 mobile element with respect to a reference." [NCBI:th]
18468 synonym: "LINE1 deletion" RELATED []
18469 is_a: SO:0002066 ! mobile_element_deletion
18470 created_by: kareneilbeck
18471 creation_date: 2015-09-04T13:46:26Z
18472
18473 [Term]
18474 id: SO:0002070
18475 name: Alu_deletion
18476 def: "A deletion of an Alu mobile element with respect to a reference." [NCBI:th]
18477 is_a: SO:0002066 ! mobile_element_deletion
18478 created_by: kareneilbeck
18479 creation_date: 2015-09-04T13:47:16Z
18480
18481 [Term]
18482 id: SO:0002071
18483 name: CDS_supported_by_peptide_spectrum_match
18484 def: "A CDS that is supported by proteomics data." [SO:ke]
18485 is_a: SO:1001251 ! CDS_supported_by_sequence_similarity_data
18486 created_by: kareneilbeck
18487 creation_date: 2015-10-12T13:25:02Z
18488
18489 [Term]
18490 id: SO:0002072
18491 name: sequence_comparison
18492 is_a: SO:0000110 ! sequence_feature
18493 created_by: kareneilbeck
18494 creation_date: 2015-11-23T14:14:32Z
18495
18496 [Term]
18497 id: SO:0002073
18498 name: no_sequence_alteration
18499 def: "A position or feature within a sequence that is identical to the comparable position or feature of a specified reference sequence." [SO:ke]
18500 comment: This term is requested by the ClinVar data model group for use in the allele registry and such. A sequence at a defined location that is defined to match the reference assembly.
18501 is_a: SO:0002072 ! sequence_comparison
18502 created_by: kareneilbeck
18503 creation_date: 2015-11-23T14:15:08Z
18504
18505 [Term]
18506 id: SO:0002074
18507 name: intergenic_1kb_variant
18508 def: "A variant that falls in an intergenic region that is 1 kb or less between 2 genes." [SO:ke]
18509 comment: This term is added to map to the Annovar annotation 'upstream,downstream' .
18510 synonym: "ANNOVAR:upstream;downstream" EXACT VAR []
18511 is_a: SO:0001628 ! intergenic_variant
18512 created_by: kareneilbeck
18513 creation_date: 2015-11-23T14:24:16Z
18514
18515 [Term]
18516 id: SO:0002075
18517 name: incomplete_transcript_variant
18518 def: "A sequence variant that intersects an incompletely annotated transcript." [SO:ke]
18519 comment: This term is to map to the ANNOVAR term 'ncRNA' http://annovar.openbioinformatics.org/en/latest/user-guide/gene/ . The description in the documentation (11/23/15) 'variant overlaps a transcript without coding annotation in the gene definition'. and this is further clarified in the document: ncRNA above refers to RNA without coding annotation. It does not mean that this is a RNA that will never be translated; it merely means that the user-selected gene annotation system was not able to give a coding sequence annotation. It could still code protein products and may have such annotations in future versions of gene annotation or in another gene annotation system. For example, BC039000 is regarded as ncRNA by ANNOVAR when using UCSC Known Gene annotation, but it is regarded as a protein-coding gene by ANNOVAR when using ENSEMBL annotation. \n\nIt is further clarified in the comments section as: ncRNA does NOT mean conventional non-coding RNA. It means a RNA without complete coding sequence, and it can be a coding RNA that is annotated incorrectly by RefSeq or other gene definition systems.
18520 synonym: "incomplete transcript variant" EXACT []
18521 xref: http://annovar.openbioinformatics.org/en/latest/user-guide/gene/
18522 is_a: SO:0001576 ! transcript_variant
18523 created_by: kareneilbeck
18524 creation_date: 2015-11-23T14:43:51Z
18525
18526 [Term]
18527 id: SO:0002076
18528 name: incomplete_transcript_3UTR_variant
18529 def: "A sequence variant that intersects the 3' UTR of an incompletely annotated transcript." [SO:ke]
18530 synonym: "ANNOVAR:ncRNA_UTR3" EXACT VAR [http://annovar.openbioinformatics.org/en/latest/user-guide/gene/]
18531 synonym: "incomplete transcript 3UTR variant" RELATED []
18532 xref: http://annovar.openbioinformatics.org/en/latest/user-guide/gene/
18533 is_a: SO:0002075 ! incomplete_transcript_variant
18534 created_by: kareneilbeck
18535 creation_date: 2015-11-23T14:45:52Z
18536
18537 [Term]
18538 id: SO:0002077
18539 name: incomplete_transcript_5UTR_variant
18540 def: "A sequence variant that intersects the 5' UTR of an incompletely annotated transcript." [SO:ke]
18541 synonym: "ANNOVAR:ncRNA_UTR5" EXACT VAR [http://annovar.openbioinformatics.org/en/latest/user-guide/gene/]
18542 synonym: "incomplete transcript 5UTR variant" EXACT []
18543 xref: http://annovar.openbioinformatics.org/en/latest/user-guide/gene/
18544 is_a: SO:0002075 ! incomplete_transcript_variant
18545 created_by: kareneilbeck
18546 creation_date: 2015-11-24T12:39:17Z
18547
18548 [Term]
18549 id: SO:0002078
18550 name: incomplete_transcript_intronic_variant
18551 def: "A sequence variant that intersects the intron of an incompletely annotated transcript." [SO:ke]
18552 synonym: "incomplete transcript intronic variant" EXACT []
18553 is_a: SO:0002075 ! incomplete_transcript_variant
18554 created_by: kareneilbeck
18555 creation_date: 2015-11-24T12:51:45Z
18556
18557 [Term]
18558 id: SO:0002079
18559 name: incomplete_transcript_splice_region_variant
18560 def: "A sequence variant that intersects the splice region of an incompletely annotated transcript." [SO:ke]
18561 synonym: "incomplete transcript splice region variant" EXACT []
18562 is_a: SO:0002075 ! incomplete_transcript_variant
18563 created_by: kareneilbeck
18564 creation_date: 2015-11-24T12:52:06Z
18565
18566 [Term]
18567 id: SO:0002080
18568 name: incomplete_transcript_exonic_variant
18569 def: "A sequence variant that intersects the exon of an incompletely annotated transcript." [SO:ke]
18570 synonym: "incomplete transcript exonic variant" EXACT []
18571 is_a: SO:0002075 ! incomplete_transcript_variant
18572 created_by: kareneilbeck
18573 creation_date: 2015-11-24T12:52:10Z
18574
18575 [Term]
18576 id: SO:0002081
18577 name: incomplete_transcript_CDS
18578 def: "A sequence variant that intersects the coding regions of an incompletely annotated transcript." [SO:ke]
18579 synonym: "Seattleseq:coding-notMod3" EXACT VAR []
18580 synonym: "Seattleseq:coding-unknown" EXACT VAR []
18581 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
18582 is_a: SO:0002075 ! incomplete_transcript_variant
18583 created_by: kareneilbeck
18584 creation_date: 2015-11-24T15:32:27Z
18585
18586 [Term]
18587 id: SO:0002082
18588 name: incomplete_transcript_coding_splice_variant
18589 def: "A sequence variant that intersects the coding sequence near a splice region of an incompletely annotated transcript." [SO:ke]
18590 synonym: "incomplete transcript coding splice variant" EXACT []
18591 synonym: "Seattleseq:coding-notMod3-near-splice" EXACT VAR []
18592 synonym: "Seattleseq:coding-unknown-near-splice" EXACT VAR []
18593 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
18594 is_a: SO:0002079 ! incomplete_transcript_splice_region_variant
18595 created_by: kareneilbeck
18596 creation_date: 2015-11-24T15:51:06Z
18597
18598 [Term]
18599 id: SO:0002083
18600 name: 2KB_downstream_variant
18601 def: "A sequence variant located within 2KB 3' of a gene." [SO:ke]
18602 synonym: "Seattleseq:near-gene-3" EXACT VAR []
18603 xref: http://snp.gs.washington.edu/SeattleSeqAnnotation137/HelpHowToUse.jsp "Seattleseq"
18604 is_a: SO:0001632 ! downstream_gene_variant
18605 created_by: kareneilbeck
18606 creation_date: 2015-11-24T15:55:49Z
18607
18608 [Term]
18609 id: SO:0002084
18610 name: exonic_splice_region_variant
18611 def: "A sequence variant in which a change has occurred within the exonic region of the splice site, 1-2 bases from boundary." [SO:ke]
18612 synonym: "ANNOVAR:exonic;splicing" EXACT VAR []
18613 synonym: "exonic splice region variant" EXACT []
18614 synonym: "Seattleseq:coding-near-splice" RELATED VAR []
18615 is_a: SO:0001630 ! splice_region_variant
18616 created_by: kareneilbeck
18617 creation_date: 2015-12-01T14:38:47Z
18618
18619 [Term]
18620 id: SO:0002085
18621 name: unidirectional_gene_fusion
18622 def: "A sequence variant whereby two genes, on the same strand have become joined." [SO:ke]
18623 comment: Requested by SNPEFF team. Feb 2016.
18624 synonym: "unidirectional gene fusion" EXACT []
18625 is_a: SO:0001565 ! gene_fusion
18626 created_by: kareneilbeck
18627 creation_date: 2016-02-23T12:16:48Z
18628
18629 [Term]
18630 id: SO:0002086
18631 name: bidirectional_gene_fusion
18632 def: "A sequence variant whereby two genes, on alternate strands have become joined." [SO:ke]
18633 comment: Requested by SNPEFF team. Feb 2016.
18634 synonym: "bidirectional gene fusion" EXACT []
18635 is_a: SO:0001565 ! gene_fusion
18636 created_by: kareneilbeck
18637 creation_date: 2016-02-23T12:17:18Z
18638
18639 [Term]
18640 id: SO:0002087
18641 name: pseudogenic_CDS
18642 def: "A non functional descendant of the coding portion of a coding transcript, part of a pseudogene." [SO:ke]
18643 synonym: "pseudogenic CDS" EXACT []
18644 is_a: SO:0000462 ! pseudogenic_region
18645 relationship: part_of SO:0000516 ! pseudogenic_transcript
18646 created_by: kareneilbeck
18647 creation_date: 2016-02-29T12:58:52Z
18648
18649 [Term]
18650 id: SO:0002088
18651 name: non_coding_transcript_splice_region_variant
18652 def: "A transcript variant occurring within the splice region (1-3 bases of the exon or 3-8 bases of the intron) of a non coding transcript." [SO:ke]
18653 synonym: "ANNOVAR:ncRNA_splicing" NARROW []
18654 is_a: SO:0001619 ! non_coding_transcript_variant
18655 is_a: SO:0001630 ! splice_region_variant
18656 created_by: kareneilbeck
18657 creation_date: 2016-03-07T09:40:46Z
18658
18659 [Term]
18660 id: SO:0002089
18661 name: 3_prime_UTR_exon_variant
18662 def: "A UTR variant of exonic sequence of the 3' UTR." [SO:ke]
18663 comment: Requested by visze github tracker ID 346.
18664 synonym: "3 prime UTR exon variant" EXACT []
18665 is_a: SO:0001624 ! 3_prime_UTR_variant
18666 created_by: kareneilbeck
18667 creation_date: 2016-03-07T10:37:04Z
18668
18669 [Term]
18670 id: SO:0002090
18671 name: 3_prime_UTR_intron_variant
18672 def: "A UTR variant of intronic sequence of the 3' UTR." [SO:ke]
18673 comment: Requested by visze github tracker ID 346.
18674 synonym: "3 prime UTR intron variant" EXACT []
18675 is_a: SO:0001624 ! 3_prime_UTR_variant
18676 is_a: SO:0001969 ! coding_transcript_intron_variant
18677 created_by: kareneilbeck
18678 creation_date: 2016-03-07T10:37:41Z
18679
18680 [Term]
18681 id: SO:0002091
18682 name: 5_prime_UTR_intron_variant
18683 def: "A UTR variant of intronic sequence of the 5' UTR." [SO:ke]
18684 comment: Requested by visze github tracker ID 346.
18685 synonym: "5 prime UTR intron variant" EXACT []
18686 is_a: SO:0001623 ! 5_prime_UTR_variant
18687 is_a: SO:0001969 ! coding_transcript_intron_variant
18688 created_by: kareneilbeck
18689 creation_date: 2016-03-07T10:38:04Z
18690
18691 [Term]
18692 id: SO:0002092
18693 name: 5_prime_UTR_exon_variant
18694 def: "A UTR variant of exonic sequence of the 5' UTR." [SO:ke]
18695 comment: Requested by visze github tracker ID 346.
18696 synonym: "5 prime UTR exon variant" EXACT []
18697 is_a: SO:0001623 ! 5_prime_UTR_variant
18698 created_by: kareneilbeck
18699 creation_date: 2016-03-07T10:38:26Z
18700
18701 [Term]
18702 id: SO:0002093
18703 name: structural_interaction_variant
18704 def: "A variant that impacts the internal interactions of the resulting polypeptide structure." [SO:ke]
18705 comment: Requested by Pablo Cingolani. The way I calculate this is simply by looking at the PDB entry of one protein and then marking those AA that are within 3 Angstrom of each other (and far away in the AA sequence, e.g. over 20 AA distance). The assumption is that, since they are very close in distance, they must be "interacting" and thus important for protein structure.
18706 synonym: "structural interaction variant" EXACT []
18707 is_a: SO:0001599 ! 3D_polypeptide_structure_variant
18708 created_by: kareneilbeck
18709 creation_date: 2016-03-07T11:43:55Z
18710
18711 [Term]
18712 id: SO:0002094
18713 name: non_allelic_homologous_recombination_region
18714 def: "A genomic region at a non-allelic position where exchange of genetic material happens as a result of homologous recombination." []
18715 synonym: "NAHRR" EXACT []
18716 synonym: "non allelic homologous recombination region" EXACT []
18717 is_a: SO:0000339 ! recombination_hotspot
18718 created_by: nicole
18719 creation_date: 2016-05-17T13:34:12Z
18720
18721 [Term]
18722 id: SO:0002095
18723 name: scaRNA
18724 def: "A ncRNA, specific to the Cajal body, that has been demonstrated to function as a guide RNA in the site-specific synthesis of 2'-O-ribose-methylated nucleotides and pseudouridines in the RNA polymerase II-transcribed U1, U2, U4 and U5 spliceosomal small nuclear RNAs (snRNAs)." [PMC:126017, SO:nrs]
18725 synonym: "small Cajal body specific RNA" EXACT []
18726 synonym: "small Cajal body-specific RNA" EXACT []
18727 xref: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC126017/
18728 is_a: SO:0000655 ! ncRNA
18729 created_by: nicole
18730 creation_date: 2016-05-19T13:42:45Z
18731
18732 [Term]
18733 id: SO:0002096
18734 name: short_tandem_repeat_variation
18735 def: "A kind of sequence variant whereby a tandem repeat is expanded or contracted with regard to a reference." [SO:ke]
18736 synonym: "str variation" RELATED []
18737 is_a: SO:0000248 ! sequence_length_variation
18738 created_by: kareneilbeck
18739 creation_date: 2016-07-14T16:04:40Z
18740
18741 [Term]
18742 id: SO:0002097
18743 name: vertebrate_immune_system_pseudogene
18744 def: "A pseudogene derived from a vertebrate immune system gene." [SO:ke]
18745 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18746 synonym: "vertebrate immune system pseudogene" EXACT []
18747 is_a: SO:0000336 ! pseudogene
18748 created_by: kareneilbeck
18749 creation_date: 2016-07-15T16:00:22Z
18750
18751 [Term]
18752 id: SO:0002098
18753 name: immunoglobulin_pseudogene
18754 def: "A pseudogene derived from an immunoglobulin gene." [SO:ke]
18755 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18756 synonym: "immunoglobulin pseudogene" EXACT []
18757 is_a: SO:0002097 ! vertebrate_immune_system_pseudogene
18758 created_by: kareneilbeck
18759 creation_date: 2016-07-15T16:01:47Z
18760
18761 [Term]
18762 id: SO:0002099
18763 name: T_cell_receptor_pseudogene
18764 def: "A pseudogene derived from a T-cell receptor gene." [SO:ke]
18765 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18766 is_a: SO:0002097 ! vertebrate_immune_system_pseudogene
18767 created_by: kareneilbeck
18768 creation_date: 2016-07-15T16:02:18Z
18769
18770 [Term]
18771 id: SO:0002100
18772 name: IG_C_pseudogene
18773 def: "A pseudogenic constant region of an immunoglobulin gene which closely resembles a known functional Imunoglobulin constant gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
18774 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18775 synonym: "IG C pseudogene" EXACT []
18776 is_a: SO:0002098 ! immunoglobulin_pseudogene
18777 created_by: kareneilbeck
18778 creation_date: 2016-07-15T16:05:08Z
18779
18780 [Term]
18781 id: SO:0002101
18782 name: IG_J_pseudogene
18783 def: "A pseudogenic joining region which closely resembles a known functional imunoglobulin joining gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the joining region of the variable domain of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
18784 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18785 synonym: "IG J pseudogene" EXACT []
18786 is_a: SO:0002098 ! immunoglobulin_pseudogene
18787 created_by: kareneilbeck
18788 creation_date: 2016-07-15T16:05:34Z
18789
18790 [Term]
18791 id: SO:0002102
18792 name: IG_V_pseudogene
18793 def: "A pseudogenic variable region which closely resembles a known functional imunoglobulin variable gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the variable region of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
18794 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18795 synonym: "IG V pseudogene" EXACT []
18796 is_a: SO:0002098 ! immunoglobulin_pseudogene
18797 created_by: kareneilbeck
18798 creation_date: 2016-07-15T16:05:56Z
18799
18800 [Term]
18801 id: SO:0002103
18802 name: TR_V_pseudogene
18803 def: "A pseudogenic variable region which closely resembles a known functional T receptor variable gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the variable region of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
18804 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18805 synonym: "TR V pseudogene" EXACT []
18806 is_a: SO:0002099 ! T_cell_receptor_pseudogene
18807 created_by: kareneilbeck
18808 creation_date: 2016-07-15T16:06:29Z
18809
18810 [Term]
18811 id: SO:0002104
18812 name: TR_J_pseudogene
18813 def: "A pseudogenic joining region which closely resembles a known functional T receptor (TR) joining gene but in which the coding region has stop codons, frameshift mutations or a mutation that effects the initiation codon that rearranges at the DNA level and codes the joining region of the variable domain of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
18814 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18815 synonym: "TR J pseudogene" EXACT []
18816 is_a: SO:0002099 ! T_cell_receptor_pseudogene
18817 created_by: kareneilbeck
18818 creation_date: 2016-07-15T16:06:51Z
18819
18820 [Term]
18821 id: SO:0002105
18822 name: translated_processed_pseudogene
18823 def: "A processed pseudogene where there is evidence, (mass spec data) suggesting that it is also translated." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18824 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18825 synonym: "translated processed pseudogene" EXACT []
18826 is_a: SO:0000043 ! processed_pseudogene
18827 created_by: kareneilbeck
18828 creation_date: 2016-07-18T12:31:53Z
18829
18830 [Term]
18831 id: SO:0002106
18832 name: translated_unprocessed_pseudogene
18833 def: "A non-processed pseudogene where there is evidence, (mass spec data) suggesting that it is also translated." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18834 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18835 synonym: "translated unprocessed pseudogene" EXACT []
18836 is_a: SO:0001760 ! non_processed_pseudogene
18837 created_by: kareneilbeck
18838 creation_date: 2016-07-18T12:34:42Z
18839
18840 [Term]
18841 id: SO:0002107
18842 name: transcribed_unprocessed_pseudogene
18843 def: "A unprocessed pseudogene supported by locus-specific evidence of transcription." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18844 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18845 synonym: "transcribed unprocessed pseudogene" EXACT []
18846 is_a: SO:0001760 ! non_processed_pseudogene
18847 created_by: kareneilbeck
18848 creation_date: 2016-07-18T12:41:53Z
18849
18850 [Term]
18851 id: SO:0002108
18852 name: transcribed_unitary_pseudogene
18853 def: "A species specific unprocessed pseudogene without a parent gene, as it has an active orthologue in another species." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18854 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18855 synonym: "transcribed unitary pseudogene" EXACT []
18856 is_a: SO:0001759 ! unitary_pseudogene
18857 created_by: kareneilbeck
18858 creation_date: 2016-07-18T12:44:26Z
18859
18860 [Term]
18861 id: SO:0002109
18862 name: transcribed_processed_pseudogene
18863 def: "A processed_pseudogene overlapped by locus-specific evidence of transcription." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18864 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18865 synonym: "transcribed processed pseudogene" EXACT []
18866 is_a: SO:0000043 ! processed_pseudogene
18867 created_by: kareneilbeck
18868 creation_date: 2016-07-18T12:45:48Z
18869
18870 [Term]
18871 id: SO:0002110
18872 name: polymorphic_pseudogene_with_retained_intron
18873 def: "A polymorphic pseudogene in the reference genome, containing a retained intron, known to be intact in the genomes of other individuals of the same species. The annotation process has confirmed that the pseudogenisation event is not a genomic sequencing error." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18874 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18875 synonym: "polymorphic pseudogene with retained intron" EXACT []
18876 is_a: SO:0001841 ! polymorphic_pseudogene
18877 created_by: kareneilbeck
18878 creation_date: 2016-07-18T12:47:33Z
18879
18880 [Term]
18881 id: SO:0002111
18882 name: pseudogene_processed_transcript
18883 def: "A processed_transcript supported by EST and/or mRNA evidence that aligns unambiguously to a pseudogene locus (i.e. alignment to the pseudogene locus clearly better than alignment to parent locus)." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18884 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18885 synonym: "pseudogene processed transcript" EXACT []
18886 is_a: SO:0001503 ! processed_transcript
18887 created_by: kareneilbeck
18888 creation_date: 2016-07-18T14:07:00Z
18889
18890 [Term]
18891 id: SO:0002112
18892 name: coding_transcript_with_retained_intron
18893 def: "A protein coding transcript containing a retained intron." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18894 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18895 synonym: "mRNA with retained intron" RELATED []
18896 is_a: SO:0000120 ! protein_coding_primary_transcript
18897 created_by: kareneilbeck
18898 creation_date: 2016-07-18T14:09:49Z
18899
18900 [Term]
18901 id: SO:0002113
18902 name: lncRNA_with_retained_intron
18903 def: "A lncRNA transcript containing a retained intron." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18904 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18905 synonym: "lncRNA with retained intron" EXACT []
18906 synonym: "lncRNA_retained_intron" EXACT []
18907 is_a: SO:0002035 ! lncRNA_primary_transcript
18908 created_by: kareneilbeck
18909 creation_date: 2016-07-18T14:13:07Z
18910
18911 [Term]
18912 id: SO:0002114
18913 name: NMD_transcript
18914 def: "A protein coding transcript that contains a CDS but has one or more splice junctions >50bp downstream of stop codon, making it susceptible to nonsense mediated decay." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18915 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18916 synonym: "NMD transcript" EXACT []
18917 synonym: "nonsense mediated decay transcript" EXACT []
18918 is_a: SO:0000120 ! protein_coding_primary_transcript
18919 created_by: kareneilbeck
18920 creation_date: 2016-07-18T14:16:13Z
18921
18922 [Term]
18923 id: SO:0002115
18924 name: pseudogenic_transcript_with_retained_intron
18925 def: "A transcript supported by EST and/or mRNA evidence that aligns unambiguously to the pseudogene locus; has retained intronic sequence compared to a reference transcript sequence." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18926 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes.
18927 synonym: "pseudogene retained intron" EXACT []
18928 is_a: SO:0000185 ! primary_transcript
18929 created_by: kareneilbeck
18930 creation_date: 2016-07-18T14:19:04Z
18931
18932 [Term]
18933 id: SO:0002116
18934 name: polymorphic_pseudogene_processed_transcript
18935 def: "A processed transcript that does not contain a CDS that fullfills annotation criteria and not necessarily functionally non-coding." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18936 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18937 synonym: "polymorphic pseudogene processed transcript" EXACT []
18938 is_a: SO:0002111 ! pseudogene_processed_transcript
18939 created_by: kareneilbeck
18940 creation_date: 2016-07-18T14:23:59Z
18941
18942 [Term]
18943 id: SO:0002117
18944 name: <new term>
18945 is_obsolete: true
18946 created_by: kareneilbeck
18947 creation_date: 2016-07-18T14:27:21Z
18948
18949 [Term]
18950 id: SO:0002118
18951 name: NMD_polymorphic_pseudogene_transcript
18952 def: "A polymorphic pseudogene transcript that contains a CDS but has one or more splice junctions >50bp downstream of stop codon. Premature stop codon is not introduced, directly or indirectly, as a result of the variation i.e. must be present in both protein_coding and pseudogenic alleles." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18953 comment: Term added as part of collaboration with Gencode, adding biotypes used in annotation.
18954 synonym: "NMD polymorphic pseudogene transcript" EXACT []
18955 synonym: "nonsense_mediated_decay_polymorphic_pseudogene" EXACT []
18956 is_a: SO:0002114 ! NMD_transcript
18957 created_by: kareneilbeck
18958 creation_date: 2016-07-18T14:28:02Z
18959
18960 [Term]
18961 id: SO:0002119
18962 name: allelic_frequency
18963 def: "A physical quality which inheres to the allele by virtue of the number instances of the allele within a population. This is the relative frequency of the allele at a given locus in a population." [SO:ke]
18964 comment: Requested by HL7 clinical genomics group.
18965 xref: WIKI:https\://en.wikipedia.org/wiki/Allele_frequency
18966 is_a: SO:0001763 ! variant_frequency
18967 created_by: kareneilbeck
18968 creation_date: 2016-07-21T11:58:55Z
18969
18970 [Term]
18971 id: SO:0002120
18972 name: 3_prime_overlapping_ncrna
18973 def: "Transcript where ditag (digital gene expression profiling)and/or published experimental data strongly supports the existence of short non-coding transcripts transcribed from the 3'UTR." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18974 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes.
18975 synonym: "3'_overlapping_ncrna" EXACT []
18976 synonym: "3prime_overlapping_ncRNA" EXACT []
18977 synonym: "three prime overlapping noncoding rna" EXACT []
18978 is_a: SO:0000655 ! ncRNA
18979 created_by: nicole
18980 creation_date: 2016-08-23T15:48:21Z
18981
18982 [Term]
18983 id: SO:0002121
18984 name: vertebrate_immune_system_gene
18985 def: "The configuration of the IG and TR variable (V), diversity (D) and joining (J) germline genes before DNA rearrangements (with or without constant (C) genes in undefined configuration. (germline, non rearranged regions of the IG DNA loci)." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
18986 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18987 synonym: "immune_gene" EXACT []
18988 is_a: SO:0000704 ! gene
18989 created_by: nicole
18990 creation_date: 2016-08-23T15:54:51Z
18991
18992 [Term]
18993 id: SO:0002122
18994 name: immunoglobulin_gene
18995 def: "A germline immunoglobulin gene." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
18996 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
18997 synonym: "All_IG_genes" EXACT []
18998 synonym: "IG_genes" EXACT []
18999 is_a: SO:0002121 ! vertebrate_immune_system_gene
19000 created_by: nicole
19001 creation_date: 2016-08-23T15:56:09Z
19002
19003 [Term]
19004 id: SO:0002123
19005 name: IG_C_gene
19006 def: "A constant (C) gene, a gene that codes the constant region of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19007 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19008 synonym: "IGC_gene" EXACT []
19009 synonym: "immunoglobulin_C_gene" EXACT []
19010 synonym: "Immunoglobulin_Constant_germline_Gene" EXACT []
19011 is_a: SO:0002122 ! immunoglobulin_gene
19012 created_by: nicole
19013 creation_date: 2016-08-23T15:57:29Z
19014
19015 [Term]
19016 id: SO:0002124
19017 name: IG_D_gene
19018 def: "A gene that rearranges at the DNA level and codes the diversity region of the variable domain of an immunoglobuin (IG) gene." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19019 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19020 synonym: "IGD_gene" EXACT []
19021 synonym: "immunoglobulin_D_gene" EXACT []
19022 synonym: "Immunoglobulin_Diversity_ gene" EXACT []
19023 is_a: SO:0002122 ! immunoglobulin_gene
19024 created_by: nicole
19025 creation_date: 2016-08-23T15:59:10Z
19026
19027 [Term]
19028 id: SO:0002125
19029 name: IG_J_gene
19030 def: "A joining gene that rearranges at the DNA level and codes the joining region of the variable domain of an immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19031 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19032 synonym: "IG_joining_gene" EXACT []
19033 synonym: "immunoglobulin_J_gene" EXACT []
19034 synonym: "Immunoglobulin_Joining_Gene" EXACT []
19035 is_a: SO:0002122 ! immunoglobulin_gene
19036 created_by: nicole
19037 creation_date: 2016-08-23T16:00:36Z
19038
19039 [Term]
19040 id: SO:0002126
19041 name: IG_V_gene
19042 def: "A variable gene that rearranges at the DNA level and codes the variable region of the variable domain of an Immunoglobulin chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19043 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19044 synonym: "IG_variable_gene" EXACT []
19045 synonym: "IGV_gene" EXACT []
19046 synonym: "Immunoglobulin_variable_gene" EXACT []
19047 is_a: SO:0002122 ! immunoglobulin_gene
19048 created_by: nicole
19049 creation_date: 2016-08-23T16:02:09Z
19050
19051 [Term]
19052 id: SO:0002127
19053 name: lncRNA_gene
19054 def: "A gene that encodes a long non-coding RNA." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19055 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes.
19056 synonym: "lnc RNA gene" EXACT []
19057 synonym: "lnc_RNA_gene" EXACT []
19058 synonym: "long_non_coding_RNA_gene" EXACT []
19059 is_a: SO:0001263 ! ncRNA_gene
19060 created_by: nicole
19061 creation_date: 2016-08-23T16:03:33Z
19062
19063 [Term]
19064 id: SO:0002128
19065 name: mt_rRNA
19066 def: "Mitochondrial ribosomal RNA." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19067 synonym: "mitochondrial_rRNA" EXACT []
19068 synonym: "Mt_rRNA" EXACT []
19069 is_a: SO:0000252 ! rRNA
19070 created_by: nicole
19071 creation_date: 2016-08-23T16:08:59Z
19072
19073 [Term]
19074 id: SO:0002129
19075 name: mt_tRNA
19076 def: "Mitochondrial transfer RNA." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19077 synonym: "mitochondrial_tRNA" EXACT []
19078 synonym: "Mt_tRNA" EXACT []
19079 is_a: SO:0000253 ! tRNA
19080 created_by: nicole
19081 creation_date: 2016-08-23T16:10:17Z
19082
19083 [Term]
19084 id: SO:0002130
19085 name: NSD_transcript
19086 def: "A transcript that contains a CDS but has no stop codon before the polyA site is reached." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19087 synonym: "non_stop_decay_transcript" EXACT []
19088 is_a: SO:0000234 ! mRNA
19089 created_by: nicole
19090 creation_date: 2016-08-23T16:11:34Z
19091
19092 [Term]
19093 id: SO:0002131
19094 name: sense_intronic_ncRNA
19095 def: "A non-coding transcript found within an intron of a coding or non-coding gene, with no overlap of exonic sequence." [GENECODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19096 synonym: "sense_intronic" EXACT []
19097 synonym: "sense_intronic_non-coding_RNA" EXACT []
19098 is_a: SO:0000655 ! ncRNA
19099 created_by: nicole
19100 creation_date: 2016-08-23T16:15:02Z
19101
19102 [Term]
19103 id: SO:0002132
19104 name: sense_overlap_ncRNA
19105 def: "A non-coding transcript that contains a protein coding gene within its intronic sequence on the same strand, with no overlap of exonic sequence." [GENECODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19106 synonym: "sense_overlapping" EXACT []
19107 is_a: SO:0000655 ! ncRNA
19108 created_by: nicole
19109 creation_date: 2016-08-23T16:16:13Z
19110
19111 [Term]
19112 id: SO:0002133
19113 name: T_cell_receptor_gene
19114 def: "A T-cell receptor germline gene." []
19115 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19116 synonym: "TR_gene" EXACT []
19117 is_a: SO:0002121 ! vertebrate_immune_system_gene
19118 created_by: nicole
19119 creation_date: 2016-08-23T16:17:12Z
19120
19121 [Term]
19122 id: SO:0002134
19123 name: TR_C_Gene
19124 def: "A constant (C) gene, a gene that codes the constant region of a T-cell receptor chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19125 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19126 synonym: "T_cell_receptor_C_gene" EXACT []
19127 is_a: SO:0002133 ! T_cell_receptor_gene
19128 created_by: nicole
19129 creation_date: 2016-08-23T16:19:20Z
19130
19131 [Term]
19132 id: SO:0002135
19133 name: TR_D_Gene
19134 def: "A gene that rearranges at the DNA level and codes the diversity region of the variable domain of aT-cell receptor gene." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19135 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19136 synonym: "T_cell_receptor_D_gene" EXACT []
19137 is_a: SO:0002133 ! T_cell_receptor_gene
19138 created_by: nicole
19139 creation_date: 2016-08-23T16:20:06Z
19140
19141 [Term]
19142 id: SO:0002136
19143 name: TR_J_Gene
19144 def: "A joining gene that rearranges at the DNA level and codes the joining region of the variable domain of aT-cell receptor chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19145 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19146 synonym: "T_cell_receptor_J_gene" EXACT []
19147 is_a: SO:0002133 ! T_cell_receptor_gene
19148 created_by: nicole
19149 creation_date: 2016-08-23T16:20:36Z
19150
19151 [Term]
19152 id: SO:0002137
19153 name: TR_V_Gene
19154 def: "A variable gene that rearranges at the DNA level and codes the variable region of the variable domain of aT-cell receptor chain." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html, IGMT:http\://www.imgt.org/IMGTScientificChart/SequenceDescription/Keywords.php]
19155 comment: These terms have been requested by Adam Frankish to support Gencode and Vega biotypes. The terms are defined according to IGMT.
19156 synonym: "T_cell_receptor_V_gene" EXACT []
19157 is_a: SO:0002133 ! T_cell_receptor_gene
19158 created_by: nicole
19159 creation_date: 2016-08-23T16:21:04Z
19160
19161 [Term]
19162 id: SO:0002138
19163 name: predicted_transcript
19164 def: "A transcript feature that has been predicted but is not yet validated." [SO:ke]
19165 synonym: "predicted transcript" EXACT []
19166 is_a: SO:0000673 ! transcript
19167 created_by: nicole
19168 creation_date: 2016-08-23T16:27:38Z
19169
19170 [Term]
19171 id: SO:0002139
19172 name: unconfirmed_transcript
19173 def: "This is used for non-spliced EST clusters that have polyA features. This category has been specifically created for the ENCODE project to highlight regions that could indicate the presence of protein coding genes that require experimental validation, either by 5' RACE or RT-PCR to extend the transcripts, or by confirming expression of the putatively-encoded peptide with specific antibodies." [GENCODE:http\://www.gencodegenes.org/gencode_biotypes.html]
19174 synonym: "TEC" EXACT []
19175 synonym: "to_be_experimentally_confirmed_transcript" EXACT []
19176 is_a: SO:0002138 ! predicted_transcript
19177 created_by: nicole
19178 creation_date: 2016-08-23T16:28:07Z
19179
19180 [Term]
19181 id: SO:0002140
19182 name: early_origin_of_replication
19183 def: "An origin of replication that initiates early in S phase." [PMID:23348837, PMID:9115207]
19184 synonym: "early origin" EXACT []
19185 synonym: "early origin of replication" EXACT []
19186 synonym: "early replication origin" EXACT []
19187 is_a: SO:0000296 ! origin_of_replication
19188 created_by: nicole
19189 creation_date: 2016-09-15T15:53:36Z
19190
19191 [Term]
19192 id: SO:0002141
19193 name: late_origin_of_replication
19194 def: "An origin of replication that initiates late in S phase." [PMID:23348837, PMID:9115207]
19195 synonym: "late origin" EXACT []
19196 synonym: "late origin of replication" EXACT []
19197 synonym: "late replication origin" EXACT []
19198 is_a: SO:0000296 ! origin_of_replication
19199 created_by: nicole
19200 creation_date: 2016-09-15T15:56:07Z
19201
19202 [Term]
19203 id: SO:0002142
19204 name: histone_2A_acetylation_site
19205 def: "A histone 2A modification where the modification is the acetylation of the residue." [ISBN:0815341059]
19206 synonym: "H2Aac" EXACT []
19207 synonym: "histone 2A acetylation site" EXACT []
19208 is_a: SO:0001702 ! histone_acetylation_site
19209 created_by: nicole
19210 creation_date: 2016-10-25T12:03:46Z
19211
19212 [Term]
19213 id: SO:0002143
19214 name: histone_2B_acetylation_site
19215 def: "A histone 2B modification where the modification is the acetylation of the residue." [ISBN:0815341059]
19216 synonym: "H2Bac" EXACT []
19217 synonym: "histone 2B acetylation site" EXACT []
19218 is_a: SO:0001702 ! histone_acetylation_site
19219 created_by: nicole
19220 creation_date: 2016-10-25T12:04:04Z
19221
19222 [Term]
19223 id: SO:0002144
19224 name: histone_2AZ_acetylation_site
19225 def: "A histone 2AZ modification where the modification is the acetylation of the residue." [PMID:19385636, PMID:24316985, PMID:27087541]
19226 synonym: "H2A.Zac" EXACT []
19227 synonym: "H2AZac" EXACT []
19228 synonym: "histone 2AZ acetylation site" EXACT []
19229 is_a: SO:0002142 ! histone_2A_acetylation_site
19230 created_by: nicole
19231 creation_date: 2016-10-25T14:11:49Z
19232
19233 [Term]
19234 id: SO:0002145
19235 name: H2AZK4_acetylation_site
19236 def: "A kind of histone modification site, whereby the 4th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19237 synonym: "H2A.ZK4ac" EXACT []
19238 synonym: "H2AZK4 acetylation site" EXACT []
19239 synonym: "H2AZK4ac" EXACT []
19240 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19241 created_by: nicole
19242 creation_date: 2016-10-25T14:19:43Z
19243
19244 [Term]
19245 id: SO:0002146
19246 name: H2AZK7_acetylation_site
19247 def: "A kind of histone modification site, whereby the 7th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19248 synonym: "H2A.ZK7ac" EXACT []
19249 synonym: "H2AZK7 acetylation site" EXACT []
19250 synonym: "H2AZK7ac" EXACT []
19251 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19252 created_by: nicole
19253 creation_date: 2016-10-25T14:23:11Z
19254
19255 [Term]
19256 id: SO:0002147
19257 name: H2AZK11_acetylation_site
19258 def: "A kind of histone modification site, whereby the 11th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19259 synonym: "H2A.ZK11ac" EXACT []
19260 synonym: "H2AZK11 acetylation site" EXACT []
19261 synonym: "H2AZK11ac" EXACT []
19262 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19263 created_by: nicole
19264 creation_date: 2016-10-25T14:23:31Z
19265
19266 [Term]
19267 id: SO:0002148
19268 name: H2AZK13_acetylation_site
19269 def: "A kind of histone modification site, whereby the 13th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19270 synonym: "H2A.ZK13ac" EXACT []
19271 synonym: "H2AZK13 acetylation site" EXACT []
19272 synonym: "H2AZK13ac" EXACT []
19273 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19274 created_by: nicole
19275 creation_date: 2016-10-25T14:23:50Z
19276
19277 [Term]
19278 id: SO:0002149
19279 name: H2AZK15_acetylation_site
19280 def: "A kind of histone modification site, whereby the 15th residue (a lysine), from the start of the H2AZ histone protein is acetylated." [PMID:19385636, PMID:24316985, PMID:27087541]
19281 synonym: "H2A.ZK15ac" EXACT []
19282 synonym: "H2AZK15 acetylation site" EXACT []
19283 synonym: "H2AZK15ac" EXACT []
19284 is_a: SO:0002144 ! histone_2AZ_acetylation_site
19285 created_by: nicole
19286 creation_date: 2016-10-25T14:24:08Z
19287
19288 [Term]
19289 id: SO:0002150
19290 name: AUG_initiated_uORF
19291 def: "A uORF beginning with the canonical start codon AUG." [PMID:26684391, PMID:27313038]
19292 synonym: "AUG initiated uORF" EXACT []
19293 is_a: SO:0002027 ! uORF
19294 created_by: nicole
19295 creation_date: 2016-10-26T09:37:11Z
19296
19297 [Term]
19298 id: SO:0002151
19299 name: non_AUG_initiated_uORF
19300 def: "A uORF beginning with a codon other than AUG." [PMID:26684391, PMID:27313038]
19301 synonym: "non AUG initiated uORF" EXACT []
19302 is_a: SO:0002027 ! uORF
19303 created_by: nicole
19304 creation_date: 2016-10-26T09:37:45Z
19305
19306 [Term]
19307 id: SO:0002152
19308 name: genic_downstream_transcript_variant
19309 def: "A variant that falls downstream of a transcript, but within the genic region of the gene due to alternately transcribed isoforms." [NCBI:dm, SO:ke]
19310 synonym: "genic 3 prime transcript variant" EXACT []
19311 synonym: "genic 3' transcript variant" EXACT []
19312 synonym: "genic downstream transcript variant" EXACT []
19313 is_a: SO:0001564 ! gene_variant
19314 created_by: nicole
19315 creation_date: 2016-10-28T10:20:55Z
19316
19317 [Term]
19318 id: SO:0002153
19319 name: genic_upstream_transcript_variant
19320 def: "A variant that falls upstream of a transcript, but within the genic region of the gene due to alternately transcribed isoforms." [NCBI:dm, SO:ke]
19321 synonym: "genic 5 prime transcript variant" EXACT []
19322 synonym: "genic 5' transcript variant" EXACT []
19323 synonym: "genic upstream transcript variant" EXACT []
19324 is_a: SO:0001564 ! gene_variant
19325 created_by: nicole
19326 creation_date: 2016-10-28T10:23:17Z
19327
19328 [Term]
19329 id: SO:0002154
19330 name: mitotic_recombination_region
19331 def: "A genomic region where there is an exchange of genetic material with another genomic region, occurring in somatic cells." [NCBI:cf, SO:ke]
19332 synonym: "mitotic recombination region" EXACT []
19333 is_a: SO:0000298 ! recombination_feature
19334 created_by: nicole
19335 creation_date: 2016-10-28T10:33:54Z
19336
19337 [Term]
19338 id: SO:0002155
19339 name: meiotic_recombination_region
19340 def: "A genomic region in which there is an exchange of genetic material as a result of the repair of meiosis-specific double strand breaks that occur during meiotic prophase." [NCBI:cf, SO:ke]
19341 synonym: "meiotic recombination region" EXACT []
19342 is_a: SO:0000298 ! recombination_feature
19343 created_by: nicole
19344 creation_date: 2016-10-28T10:34:55Z
19345
19346 [Term]
19347 id: SO:0002156
19348 name: CArG_box
19349 def: "A promoter element bound by the MADS family of transcription factors with consensus 5'-(C/T)TA(T/A)4TA(G/A)-3'." [PMID:1748287, PMID:7623803]
19350 comment: Requested by Antonia Lock
19351 synonym: "CArG box" EXACT []
19352 is_a: SO:0001659 ! promoter_element
19353 created_by: nicole
19354 creation_date: 2016-10-28T10:42:06Z
1818719355
1818819356 [Term]
1818919357 id: SO:0005836
1871419882 [Term]
1871519883 id: SO:1000032
1871619884 name: indel
18717 def: "A sequence alteration which included an insertion and a deletion, affecting 2 or more bases." [EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html, http:http://www.hgvs.org/mutnomen/recs-DNA.html#indel]
19885 def: "A sequence alteration which included an insertion and a deletion, affecting 2 or more bases." [EBI:www.ebi.ac.uk/mutations/recommendations/mutevent.html, http:http\://www.hgvs.org/mutnomen/recs-DNA.html#indel]
1871819886 comment: Indels can have a different number of bases than the corresponding reference sequence.
1871919887 xref: http://en.wikipedia.org/wiki/Indel "wiki"
1872019888 xref: loinc:LA9659-9 "Insertion and Deletion"
1880519973 [Term]
1880619974 id: SO:1000044
1880719975 name: chromosomal_translocation
18808 def: "An interchromosomal mutation. Rearrangements that alter the pairing of telomeres are classified as translocations." [FB:reference_manual]
19976 def: "A chromosomal mutation. Rearrangements that alter the pairing of telomeres are classified as translocations." [FB:reference_manual]
1880919977 synonym: "(Drosophila)T" RELATED []
1881019978 synonym: "(fungi)T" RELATED []
1881119979 synonym: "chromosomal translocation" EXACT []
1966220830 name: cyclic_translocation
1966320831 def: "A chromosomal translocation whereby three breaks occurred in three different chromosomes. The centric segment resulting from the first break listed is joined to the acentric segment resulting from the second, rather than the third." [FB:reference_manual]
1966420832 synonym: "cyclic translocation" EXACT []
19665 is_a: SO:0002060 ! interchomosomal_translocation
20833 is_a: SO:0002060 ! interchromosomal_translocation
1966620834
1966720835 [Term]
1966820836 id: SO:1000151
1982420992 name: chromosome_number_variation
1982520993 def: "A kind of chromosome variation where the chromosome complement is not an exact multiple of the haploid number." [SO:ke]
1982620994 synonym: "chromosome number variation" EXACT []
20995 synonym: "Jannovar:chromosome_number_variation" EXACT VAR [http://doc-openbio.readthedocs.org/projects/jannovar/en/master/var_effects.html]
1982720996 is_a: SO:0000240 ! chromosome_variation
1982820997
1982920998 [Term]
1983020999 id: SO:1000183
1983121000 name: chromosome_structure_variation
1983221001 synonym: "chromosome structure variation" EXACT []
21002 synonym: "snpEff:CHROMOSOME_LARGE_DELETION" EXACT VAR []
21003 xref: http://snpeff.sourceforge.net/SnpEff_manual.html
1983321004 is_a: SO:0000240 ! chromosome_variation
1983421005
1983521006 [Term]
2019321364 [Term]
2019421365 id: SO:1001287
2019521366 name: distant_three_prime_recoding_signal
20196 def: "A recoding signal that is found many hundreds of nucleotides 3' of a redefined stop codon." [http://www.ncbi.nlm.nih.gov:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=8709208&dopt=Abstract]
21367 def: "A recoding signal that is found many hundreds of nucleotides 3' of a redefined stop codon." [http://www.ncbi.nlm.nih.gov\:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=8709208&dopt=Abstract]
2019721368 synonym: "distant three prime recoding signal" EXACT []
2019821369 is_a: SO:1001277 ! three_prime_recoding_site
2019921370
11 subsetdef: biosapiens "biosapiens protein feature ontology"
22 subsetdef: DBVAR "database of genomic structural variation"
33 subsetdef: SOFA "SO feature annotation"
4 synonymtypedef: aa1 "amino acid 1 letter code"
5 synonymtypedef: aa3 "amino acid 3 letter code"
6 synonymtypedef: AAMOD "amino acid modification"
7 synonymtypedef: BS "biosapiens"
8 synonymtypedef: dbsnp "dbsnp variant terms"
9 synonymtypedef: dbvar "DBVAR"
10 synonymtypedef: ebi_variants "ensembl variant terms"
4 synonymtypedef: aa1 "amino acid 1 letter code"
5 synonymtypedef: aa3 "amino acid 3 letter code"
6 synonymtypedef: AAMOD "amino acid modification"
7 synonymtypedef: BS "biosapiens"
8 synonymtypedef: dbsnp "dbsnp variant terms"
9 synonymtypedef: dbvar "DBVAR"
10 synonymtypedef: ebi_variants "ensembl variant terms"
1111 synonymtypedef: RNAMOD "RNA modification" EXACT
12 synonymtypedef: VAR "variant annotation term"
13 ontology: so-xp/subsets/SOFA
12 synonymtypedef: VAR "variant annotation term"
13 ontology: so/subsets/SOFA
1414
1515 [Term]
1616 id: SO:0000000
2727 subset: SOFA
2828 synonym: "sequence" EXACT []
2929 is_a: SO:0000110 ! sequence_feature
30 disjoint_from: SO:0000699 ! junction
3130
3231 [Term]
3332 id: SO:0000004
4342 namespace: sequence
4443 def: "The many tandem repeats (identical or related) of a short basic repeating unit; many have a base composition or other property different from the genome average that allows them to be separated from the bulk (main band) genomic DNA." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
4544 subset: SOFA
45 synonym: "INSDC_feature:repeat_region" BROAD []
46 synonym: "INSDC_qualifier:satellite" EXACT []
4647 synonym: "satellite DNA" EXACT []
4748 xref: http://en.wikipedia.org/wiki/Satellite_DNA "wiki"
4849 is_a: SO:0000705 ! tandem_repeat
7778 namespace: sequence
7879 def: "A small non coding RNA sequence, present in the cytoplasm." [SO:ke]
7980 subset: SOFA
81 synonym: "INSDC_feature:ncRNA" BROAD []
82 synonym: "INSDC_qualifier:scRNA" EXACT []
8083 synonym: "small cytoplasmic RNA" EXACT []
8184 is_a: SO:0000655 ! ncRNA
8285 relationship: derives_from SO:0000483 ! nc_primary_transcript
184187 namespace: sequence
185188 def: "Any extent of continuous biological sequence." [LAMHDI:mb, SO:ke]
186189 subset: SOFA
190 synonym: "INSDC_feature:misc_feature" EXACT []
191 synonym: "INSDC_note:other" EXACT []
192 synonym: "INSDC_note:sequence_feature" EXACT []
187193 synonym: "located sequence feature" RELATED []
188194 synonym: "located_sequence_feature" EXACT []
189195 synonym: "sequence feature" EXACT []
241247 namespace: sequence
242248 def: "Region in mRNA where ribosome assembles." [SO:ke]
243249 subset: SOFA
250 synonym: "INSDC_feature:regulatory" BROAD []
251 synonym: "INSDC_qualifier:ribosome_binding_site" EXACT []
244252 synonym: "ribosome entry site" EXACT []
245253 is_a: SO:0000836 ! mRNA_region
246254 relationship: part_of SO:0000204 ! five_prime_UTR
252260 def: "A sequence segment located within the five prime end of an mRNA that causes premature termination of translation." [SO:as]
253261 subset: SOFA
254262 synonym: "attenuator sequence" EXACT []
263 synonym: "INSDC_feature:regulatory" BROAD []
264 synonym: "INSDC_qualifier:attenuator" EXACT []
255265 xref: http://en.wikipedia.org/wiki/Attenuator "wiki"
256266 is_a: SO:0005836 ! regulatory_region
257267 relationship: part_of SO:0000234 ! mRNA
262272 namespace: sequence
263273 def: "The sequence of DNA located either at the end of the transcript that causes RNA polymerase to terminate transcription." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
264274 subset: SOFA
275 synonym: "INSDC_feature:regulatory" BROAD []
276 synonym: "INSDC_qualifier:terminator" EXACT []
265277 synonym: "terminator sequence" EXACT []
266278 xref: http://en.wikipedia.org/wiki/Terminator_(genetics) "wiki"
267279 is_a: SO:0001679 ! transcription_regulatory_region
283295 def: "A region of the transcript sequence within a gene which is not removed from the primary RNA transcript by RNA splicing." [SO:ke]
284296 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology.
285297 subset: SOFA
298 synonym: "INSDC_feature:exon" EXACT []
286299 xref: http://en.wikipedia.org/wiki/Exon "wiki"
287300 is_a: SO:0000833 ! transcript_region
288301
322335 namespace: sequence
323336 def: "A piece of DNA that has been inserted in a vector so that it can be propagated in a host bacterium or some other organism." [SO:ke]
324337 subset: SOFA
325 xref: http:http://en.wikipedia.org/wiki/Clone_(genetics) "wiki"
338 xref: http:http\://en.wikipedia.org/wiki/Clone_(genetics) "wiki"
326339 is_a: SO:0000695 ! reagent
327340
328341 [Term]
397410 def: "A cis-acting sequence that increases the utilization of (some) eukaryotic promoters, and can function in either orientation and in any location (upstream or downstream) relative to the promoter." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
398411 comment: An enhancer may participate in an enhanceosome GO:0034206. A protein-DNA complex formed by the association of a distinct set of general and specific transcription factors with a region of enhancer DNA. The cooperative assembly of an enhanceosome confers specificity of transcriptional regulation. This comment is a place holder should we start to make cross products with GO.
399412 subset: SOFA
413 synonym: "INSDC_feature:regulatory" BROAD []
414 synonym: "INSDC_qualifier:enhancer" EXACT []
400415 xref: http://en.wikipedia.org/wiki/Enhancer_(genetics) "wiki"
401416 is_a: SO:0000727 ! CRM
402417
407422 def: "A regulatory_region composed of the TSS(s) and binding sites for TF_complexes of the basal transcription machinery." [SO:regcreative]
408423 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology. The region on a DNA molecule involved in RNA polymerase binding to initiate transcription.
409424 subset: SOFA
425 synonym: "INSDC_feature:regulatory" BROAD []
426 synonym: "INSDC_qualifier:promoter" EXACT []
410427 synonym: "promoter sequence" EXACT []
411428 xref: http://en.wikipedia.org/wiki/Promoter "wiki"
412429 is_a: SO:0001055 ! transcriptional_cis_regulatory_region
427444 def: "A group of contiguous genes transcribed as a single (polycistronic) mRNA from a single regulatory region." [SO:ma]
428445 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology.
429446 subset: SOFA
447 synonym: "INSDC_feature:operon" EXACT []
430448 xref: http://en.wikipedia.org/wiki/Operon "wiki"
431449 is_a: SO:0005855 ! gene_group
432450
467485 namespace: sequence
468486 def: "A transcript that in its initial state requires modification to be functional." [SO:ma]
469487 subset: SOFA
488 synonym: "INSDC_feature:precursor_RNA" EXACT []
489 synonym: "INSDC_feature:prim_transcript" EXACT []
470490 synonym: "precursor RNA" EXACT []
471491 synonym: "primary transcript" EXACT []
472492 xref: http://en.wikipedia.org/wiki/Primary_transcript "wiki"
487507 def: "A region of a primary transcript that is transcribed, but removed from within the transcript by splicing together the sequences (exons) on either side of it." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
488508 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology.
489509 subset: SOFA
510 synonym: "INSDC_feature:intron" EXACT []
490511 xref: http://en.wikipedia.org/wiki/Intron "wiki"
491512 is_a: SO:0000835 ! primary_transcript_region
492513
568589 synonym: "5' UTR" EXACT []
569590 synonym: "five prime UTR" EXACT []
570591 synonym: "five_prime_untranslated_region" EXACT []
592 synonym: "INSDC_feature:5'UTR" EXACT []
571593 xref: http://en.wikipedia.org/wiki/5'_UTR "wiki"
572594 is_a: SO:0000203 ! UTR
573595
577599 namespace: sequence
578600 def: "A region at the 3' end of a mature transcript (following the stop codon) that is not translated into a protein." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
579601 subset: SOFA
602 synonym: "INSDC_feature:3'UTR" EXACT []
580603 synonym: "three prime untranslated region" EXACT []
581604 synonym: "three prime UTR" EXACT []
582605 xref: http://en.wikipedia.org/wiki/Three_prime_untranslated_region "wiki"
611634 def: "Messenger RNA is the intermediate molecule between DNA and protein. It includes UTR and coding sequences. It does not contain introns." [SO:ma]
612635 comment: An mRNA does not contain introns as it is a processed_transcript. The equivalent kind of primary_transcript is protein_coding_primary_transcript (SO:0000120) which may contain introns. This term is mapped to MGED. Do not obsolete without consulting MGED ontology.
613636 subset: SOFA
637 synonym: "INSDC_feature:mRNA" EXACT []
614638 synonym: "messenger RNA" EXACT []
639 synonym: "protein_coding_transcript" EXACT []
615640 xref: http://en.wikipedia.org/wiki/MRNA "wiki"
641 xref: http://www.gencodegenes.org/gencode_biotypes.html "GENCODE"
616642 is_a: SO:0000233 ! mature_transcript
617643
618644 [Term]
651677 namespace: sequence
652678 def: "RNA that comprises part of a ribosome, and that can provide both structural scaffolding and catalytic activity." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html, ISBN:0198506732]
653679 subset: SOFA
680 synonym: "INSDC_feature:rRNA" EXACT []
681 synonym: "INSDC_qualifier:unknown" BROAD []
654682 synonym: "ribosomal ribonucleic acid" EXACT []
655683 synonym: "ribosomal RNA" EXACT []
656684 xref: http://en.wikipedia.org/wiki/RRNA "wiki"
664692 def: "Transfer RNA (tRNA) molecules are approximately 80 nucleotides in length. Their secondary structure includes four short double-helical elements and three loops (D, anti-codon, and T loops). Further hydrogen bonds mediate the characteristic L-shaped molecular structure. Transfer RNAs have two regions of fundamental functional importance: the anti-codon, which is responsible for specific mRNA codon recognition, and the 3' end, to which the tRNA's corresponding amino acid is attached (by aminoacyl-tRNA synthetases). Transfer RNAs cope with the degeneracy of the genetic code in two manners: having more than one tRNA (with a specific anti-codon) for a particular amino acid; and 'wobble' base-pairing, i.e. permitting non-standard base-pairing at the 3rd anti-codon position." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00005, ISBN:0198506732]
665693 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology.
666694 subset: SOFA
695 synonym: "INSDC_feature:tRNA" EXACT []
696 synonym: "INSDC_qualifier:unknown" BROAD []
667697 synonym: "transfer ribonucleic acid" RELATED []
668698 synonym: "transfer RNA" RELATED []
669699 xref: http://en.wikipedia.org/wiki/TRNA "wiki"
677707 def: "A small nuclear RNA molecule involved in pre-mRNA splicing and processing." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html, PMID:11733745, WB:ems]
678708 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology.
679709 subset: SOFA
710 synonym: "INSDC_feature:ncRNA" BROAD []
711 synonym: "INSDC_qualifier:snRNA" EXACT []
680712 synonym: "small nuclear RNA" EXACT []
681713 xref: http://en.wikipedia.org/wiki/SnRNA "wiki"
682714 is_a: SO:0000655 ! ncRNA
688720 namespace: sequence
689721 def: "A snoRNA (small nucleolar RNA) is any one of a class of small RNAs that are associated with the eukaryotic nucleus as components of small nucleolar ribonucleoproteins. They participate in the processing or modifications of many RNAs, mostly ribosomal RNAs (rRNAs) though snoRNAs are also known to target other classes of RNA, including spliceosomal RNAs, tRNAs, and mRNAs via a stretch of sequence that is complementary to a sequence in the targeted RNA." [GOC:kgc]
690722 subset: SOFA
723 synonym: "INSDC_feature:ncRNA" BROAD []
724 synonym: "INSDC_qualifier:snoRNA" EXACT []
691725 synonym: "small nucleolar RNA" EXACT []
692726 xref: http://en.wikipedia.org/wiki/SnoRNA "wiki"
693727 is_a: SO:0000655 ! ncRNA
700734 alt_id: SO:0000649
701735 def: "Small, ~22-nt, RNA molecule that is the endogenous transcript of a miRNA gene (or the product of other non coding RNA genes. Micro RNAs are produced from precursor molecules (SO:0000647) that can form local hairpin structures, which ordinarily are processed (usually via the Dicer pathway) such that a single miRNA molecule accumulates from one arm of a hairpin precursor molecule. Micro RNAs may trigger the cleavage of their target molecules or act as translational repressors." [PMID:11081512, PMID:12592000]
702736 subset: SOFA
737 synonym: "INSDC_feature:ncRNA" BROAD []
738 synonym: "INSDC_qualifier:miRNA" EXACT []
703739 synonym: "micro RNA" EXACT []
704740 synonym: "microRNA" EXACT []
705741 synonym: "small temporal RNA" EXACT []
715751 namespace: sequence
716752 def: "A repeat_region containing repeat_units of 2 to 10 bp repeated in tandem." [http://www.informatics.jax.org/silver/glossary.shtml, NCBI:th]
717753 subset: SOFA
754 synonym: "INSDC_feature:repeat_region" BROAD []
755 synonym: "INSDC_qualifier:microsatellite" EXACT []
718756 synonym: "microsatellite locus" EXACT []
719757 synonym: "microsatellite marker" EXACT []
720 synonym: "VNTR" EXACT []
758 synonym: "short tandem repeat" EXACT []
759 synonym: "STR" EXACT [http://www.ncbi.nlm.nih.gov/books/NBK21126/def-item/A9651/]
721760 xref: http://en.wikipedia.org/wiki/Microsatellite "wiki"
722761 is_a: SO:0000005 ! satellite_DNA
723762
727766 namespace: sequence
728767 def: "The sequence is complementarily repeated on the opposite strand. It is a palindrome, and it may, or may not be hyphenated. Examples: GCTGATCAGC, or GCTGA-----TCAGC." [SO:ke]
729768 subset: SOFA
769 synonym: "INSDC_feature:repeat_region" BROAD []
770 synonym: "INSDC_qualifier:inverted" EXACT []
730771 synonym: "inverted repeat" EXACT []
731772 synonym: "inverted repeat sequence" EXACT []
732773 xref: http://en.wikipedia.org/wiki/Inverted_repeat "wiki"
736777 id: SO:0000296
737778 name: origin_of_replication
738779 namespace: sequence
739 def: "The origin of replication; starting site for duplication of a nucleic acid molecule to give two identical copies." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
740 subset: SOFA
780 def: "A region of nucleic acid from which replication initiates; includes sequences that are recognized by replication proteins, the site from which the first separation of complementary strands occurs, and specific replication start sites." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html, NCBI:cf]
781 subset: SOFA
782 synonym: "INSDC_feature:rep_origin" EXACT []
741783 synonym: "ori" EXACT []
742784 synonym: "origin of replication" EXACT []
743785 xref: http://en.wikipedia.org/wiki/Origin_of_replication "wiki"
759801 def: "A modified nucleotide, i.e. a nucleotide other than A, T, C. G." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
760802 comment: Modified base:<modified_base>.
761803 subset: SOFA
804 synonym: "INSDC_feature:modified_base" EXACT []
762805 synonym: "modified base site" EXACT []
763806 is_a: SO:0001236 ! base
764807 is_a: SO:0001720 ! epigenetically_modified_region
790833 def: "A repeat where the same sequence is repeated in the same direction. Example: GCTGA-followed by-GCTGA." [SO:ke]
791834 subset: SOFA
792835 synonym: "direct repeat" EXACT []
836 synonym: "INSDC_feature:repeat_region" BROAD []
837 synonym: "INSDC_qualifier:direct" EXACT []
793838 xref: http://en.wikipedia.org/wiki/Direct_repeat "wiki"
794839 is_a: SO:0000657 ! repeat_region
795840
799844 namespace: sequence
800845 def: "The first base where RNA polymerase begins to synthesize the RNA transcript." [SO:ke]
801846 subset: SOFA
847 synonym: "INSDC_feature:misc_feature" BROAD []
848 synonym: "INSDC_note:transcription_start_site" EXACT []
802849 synonym: "transcription start site" EXACT []
803850 synonym: "transcription_start_site" EXACT []
804851 is_a: SO:0000835 ! primary_transcript_region
811858 subset: SOFA
812859 synonym: "coding sequence" EXACT []
813860 synonym: "coding_sequence" EXACT []
861 synonym: "INSDC_feature:CDS" EXACT []
814862 is_a: SO:0000836 ! mRNA_region
815863
816864 [Term]
868916 def: "Region of sequence similarity by descent from a common ancestor." [SO:ke]
869917 subset: SOFA
870918 synonym: "conserved region" EXACT []
919 synonym: "INSDC_feature:misc_feature" BROAD []
920 synonym: "INSDC_note:conserved_region" EXACT []
871921 xref: http://en.wikipedia.org/wiki/Conserved_region "wiki"
872922 is_a: SO:0001410 ! experimental_feature
873923
877927 namespace: sequence
878928 def: "Short (typically a few hundred base pairs) DNA sequence that has a single occurrence in a genome and whose location and base sequence are known." [http://www.biospace.com]
879929 subset: SOFA
930 synonym: "INSDC_feature:STS" EXACT []
880931 synonym: "sequence tag site" EXACT []
881932 is_a: SO:0000324 ! tag
882933
905956 namespace: sequence
906957 def: "Non-coding region of sequence similarity by descent from a common ancestor." [SO:ke]
907958 subset: SOFA
959 synonym: "conserved non-coding element" EXACT []
960 synonym: "conserved non-coding sequence" EXACT []
908961 synonym: "nc conserved region" EXACT []
909962 synonym: "noncoding conserved region" EXACT []
910963 is_a: SO:0000330 ! conserved_region
915968 namespace: sequence
916969 def: "A sequence that closely resembles a known functional gene, at another locus within a genome, that is non-functional as a consequence of (usually several) mutations that prevent either its transcription or translation (or both). In general, pseudogenes result from either reverse transcription of a transcript of their \"normal\" paralog (SO:0000043) (in which case the pseudogene typically lacks introns and includes a poly(A) tail) or from recombination (SO:0000044) (in which case the pseudogene is typically a tandem duplication of its \"normal\" paralog)." [http://www.ucl.ac.uk/~ucbhjow/b241/glossary.html]
917970 subset: SOFA
971 synonym: "INSDC_feature:gene" BROAD []
972 synonym: "INSDC_qualifier:pseudo" EXACT []
973 synonym: "INSDC_qualifier:unknown" EXACT []
918974 xref: http://en.wikipedia.org/wiki/Pseudogene "wiki"
919975 is_a: SO:0001411 ! biological_region
920976 relationship: non_functional_homolog_of SO:0000704 ! gene
10111067 id: SO:0000360
10121068 name: codon
10131069 namespace: sequence
1014 def: "A set of (usually) three nucleotide bases in a DNA or RNA sequence, which together code for a unique amino acid or the termination of translation and are contained within the CDS." [http://www.everythingbio.com/glos/definition.php?word=codon, SO:ke]
1070 def: "A set of (usually) three nucleotide bases in a DNA or RNA sequence, which together code for a unique amino acid or the termination of translation and are contained within the CDS." [SO:ke]
10151071 subset: SOFA
10161072 xref: http://en.wikipedia.org/wiki/Codon "wiki"
10171073 is_a: SO:0000851 ! CDS_region
10381094 id: SO:0000370
10391095 name: small_regulatory_ncRNA
10401096 namespace: sequence
1041 def: "A non-coding RNA, usually with a specific secondary structure, that acts to regulate gene expression." [SO:ma]
1097 def: "A non-coding RNA less than 200 nucleotides long, usually with a specific secondary structure, that acts to regulate gene expression. These include short ncRNAs such as piRNA, miRNA and siRNAs (among others)." [PMID:28541282, PomBase:al, SO:ma]
10421098 subset: SOFA
10431099 synonym: "small regulatory ncRNA" EXACT []
10441100 is_a: SO:0000655 ! ncRNA
10591115 namespace: sequence
10601116 def: "An RNA with catalytic activity." [SO:ma]
10611117 subset: SOFA
1118 synonym: "INSDC_feature:ncRNA" BROAD []
1119 synonym: "INSDC_qualifier:ribozyme" EXACT []
10621120 xref: http://en.wikipedia.org/wiki/Ribozyme "wiki"
10631121 is_a: SO:0000372 ! enzymatic_RNA
10641122
10821140 def: "A small catalytic RNA motif that catalyzes self-cleavage reaction. Its name comes from its secondary structure which resembles a carpenter's hammer. The hammerhead ribozyme is involved in the replication of some viroid and some satellite RNAs." [PMID:2436805]
10831141 subset: SOFA
10841142 synonym: "hammerhead ribozyme" EXACT []
1143 synonym: "INSDC_feature:ncRNA" BROAD []
1144 synonym: "INSDC_qualifier:hammerhead_ribozyme" EXACT []
10851145 xref: http://en.wikipedia.org/wiki/Hammerhead_ribozyme "wiki"
10861146 is_a: SO:0000715 ! RNA_motif
10871147
10911151 namespace: sequence
10921152 def: "The RNA molecule essential for the catalytic activity of RNase MRP, an enzymatically active ribonucleoprotein with two distinct roles in eukaryotes. In mitochondria it plays a direct role in the initiation of mitochondrial DNA replication. In the nucleus it is involved in precursor rRNA processing, where it cleaves the internal transcribed spacer 1 between 18S and 5.8S rRNAs." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00030]
10931153 subset: SOFA
1154 synonym: "INSDC_feature:ncRNA" BROAD []
1155 synonym: "INSDC_qualifier:RNase_MRP_RNA" EXACT []
10941156 synonym: "RNase MRP RNA" EXACT []
10951157 is_a: SO:0000655 ! ncRNA
10961158
11001162 namespace: sequence
11011163 def: "The RNA component of Ribonuclease P (RNase P), a ubiquitous endoribonuclease, found in archaea, bacteria and eukarya as well as chloroplasts and mitochondria. Its best characterized activity is the generation of mature 5 prime ends of tRNAs by cleaving the 5 prime leader elements of precursor-tRNAs. Cellular RNase Ps are ribonucleoproteins. RNA from bacterial RNase Ps retains its catalytic activity in the absence of the protein subunit, i.e. it is a ribozyme. Isolated eukaryotic and archaeal RNase P RNA has not been shown to retain its catalytic function, but is still essential for the catalytic activity of the holoenzyme. Although the archaeal and eukaryotic holoenzymes have a much greater protein content than the bacterial ones, the RNA cores from all the three lineages are homologous. Helices corresponding to P1, P2, P3, P4, and P10/11 are common to all cellular RNase P RNAs. Yet, there is considerable sequence variation, particularly among the eukaryotic RNAs." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00010]
11021164 subset: SOFA
1165 synonym: "INSDC_feature:ncRNA" BROAD []
1166 synonym: "INSDC_qualifier:RNase_P_RNA" EXACT []
11031167 synonym: "RNase P RNA" EXACT []
11041168 is_a: SO:0000655 ! ncRNA
11051169
11091173 namespace: sequence
11101174 def: "The RNA component of telomerase, a reverse transcriptase that synthesizes telomeric DNA." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00025]
11111175 subset: SOFA
1176 synonym: "INSDC_feature:ncRNA" BROAD []
1177 synonym: "INSDC_qualifier:telomerase_RNA" EXACT []
11121178 synonym: "telomerase RNA" EXACT []
11131179 xref: http://en.wikipedia.org/wiki/Telomerase_RNA "wiki"
11141180 is_a: SO:0000655 ! ncRNA
12471313 namespace: sequence
12481314 def: "A family of RNAs are found as part of the enigmatic vault ribonucleoprotein complex. The complex consists of a major vault protein (MVP), two minor vault proteins (VPARP and TEP1), and several small untranslated RNA molecules. It has been suggested that the vault complex is involved in drug resistance." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00006]
12491315 subset: SOFA
1316 synonym: "INSDC_feature:ncRNA" BROAD []
1317 synonym: "INSDC_qualifier:vault_RNA" EXACT []
12501318 synonym: "vault RNA" EXACT []
12511319 xref: http://en.wikipedia.org/wiki/Vault_RNA "wiki"
12521320 is_a: SO:0000655 ! ncRNA
12571325 namespace: sequence
12581326 def: "Y RNAs are components of the Ro ribonucleoprotein particle (Ro RNP), in association with Ro60 and La proteins. The Y RNAs and Ro60 and La proteins are well conserved, but the function of the Ro RNP is not known. In humans the RNA component can be one of four small RNAs: hY1, hY3, hY4 and hY5. These small RNAs are predicted to fold into a conserved secondary structure containing three stem structures. The largest of the four, hY1, contains an additional hairpin." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00019]
12591327 subset: SOFA
1328 synonym: "INSDC_feature:ncRNA" BROAD []
1329 synonym: "INSDC_qualifier:Y_RNA" EXACT []
12601330 synonym: "Y RNA" EXACT []
12611331 xref: http://en.wikipedia.org/wiki/Y_RNA "wiki"
12621332 is_a: SO:0000655 ! ncRNA
12821352 comment: See GO:0005488 : binding.
12831353 subset: biosapiens
12841354 subset: SOFA
1355 synonym: "binding site" EXACT []
12851356 synonym: "binding_or_interaction_site" EXACT []
1357 synonym: "INSDC_feature:misc_binding" EXACT []
12861358 synonym: "site" RELATED []
12871359 xref: http://en.wikipedia.org/wiki/Binding_site "wiki"
12881360 is_a: SO:0001411 ! biological_region
12941366 def: "A binding site that, in the molecule, interacts selectively and non-covalently with polypeptide molecules." [SO:ke]
12951367 comment: See GO:0042277 : peptide binding.
12961368 subset: SOFA
1369 synonym: "INSDC_feature:protein_bind" EXACT []
12971370 synonym: "protein binding site" EXACT []
12981371 is_a: SO:0000409 ! binding_site
12991372
13131386 namespace: sequence
13141387 def: "A region where the sequence differs from that of a specified sequence." [SO:ke]
13151388 subset: SOFA
1389 synonym: "INSDC_feature:misc_difference" EXACT []
13161390 synonym: "sequence difference" EXACT []
13171391 is_a: SO:0000700 ! remark
13181392
13251399 comment: Old def before biosapiens:The sequence for an N-terminal domain of a secreted protein; this domain is involved in attaching nascent polypeptide to the membrane leader sequence.
13261400 subset: biosapiens
13271401 subset: SOFA
1402 synonym: "INSDC_feature:sig_peptide" EXACT []
13281403 synonym: "signal" RELATED [uniprot:feature_type]
13291404 synonym: "signal peptide" EXACT []
13301405 synonym: "signal peptide coding sequence" EXACT []
13421417 subset: biosapiens
13431418 subset: SOFA
13441419 synonym: "chain" RELATED [uniprot:feature_type]
1420 synonym: "INSDC_feature:mat_peptide" EXACT []
13451421 synonym: "mature peptide" RELATED []
13461422 synonym: "mature protein region" EXACT []
13471423 is_a: SO:0000839 ! polypeptide_region
13881464 namespace: sequence
13891465 def: "A 17-28-nt, small interfering RNA derived from transcripts of repetitive elements." [http://www.developmentalcell.com/content/article/abstract?uid=PIIS1534580703002284]
13901466 subset: SOFA
1467 synonym: "INSDC_feature:ncRNA" BROAD []
1468 synonym: "INSDC_qualifier:rasiRNA" EXACT []
13911469 synonym: "repeat associated small interfering RNA" EXACT []
13921470 xref: http://en.wikipedia.org/wiki/RasiRNA "wiki"
13931471 is_a: SO:0000655 ! ncRNA
14061484 name: decayed_exon
14071485 namespace: sequence
14081486 def: "A non-functional descendant of an exon." [SO:ke]
1487 comment: Does not have to be part of a pseudogene.
14091488 subset: SOFA
14101489 synonym: "decayed exon" EXACT []
14111490 is_a: SO:0000462 ! pseudogenic_region
14961575 namespace: sequence
14971576 def: "The recognition sequence necessary for endonuclease cleavage of an RNA transcript that is followed by polyadenylation; consensus=AATAAA." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
14981577 subset: SOFA
1578 synonym: "INSDC_feature:regulatory" BROAD []
1579 synonym: "INSDC_qualifier:polyA_signal_sequence" EXACT []
14991580 synonym: "poly(A) signal" EXACT []
15001581 synonym: "polyA signal sequence" EXACT []
15011582 synonym: "polyadenylation termination signal" EXACT []
15081589 alt_id: SO:0001430
15091590 def: "The site on an RNA transcript to which will be added adenine residues by post-transcriptional polyadenylation. The boundary between the UTR and the polyA sequence." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
15101591 subset: SOFA
1592 synonym: "INSDC_feature:polyA_site" EXACT []
15111593 synonym: "polyA cleavage site" EXACT []
15121594 synonym: "polyA junction" EXACT []
15131595 synonym: "polyA site" EXACT []
15231605 namespace: sequence
15241606 def: "A region of chromosome where the spindle fibers attach during mitosis and meiosis." [SO:ke]
15251607 subset: SOFA
1608 synonym: "INSDC_feature:centromere" EXACT []
15261609 xref: http://en.wikipedia.org/wiki/Centromere "wiki"
15271610 is_a: SO:0000628 ! chromosomal_structural_element
15281611
15531636 def: "A self spliced intron." [SO:ke]
15541637 subset: SOFA
15551638 synonym: "autocatalytically spliced intron" EXACT []
1639 synonym: "INSDC_feature:ncRNA" BROAD []
1640 synonym: "INSDC_qualifier:autocatalytically_spliced_intron" EXACT []
15561641 is_a: SO:0000188 ! intron
15571642
15581643 [Term]
15621647 def: "The signal recognition particle (SRP) is a universally conserved ribonucleoprotein. It is involved in the co-translational targeting of proteins to membranes. The eukaryotic SRP consists of a 300-nucleotide 7S RNA and six proteins: SRPs 72, 68, 54, 19, 14, and 9. Archaeal SRP consists of a 7S RNA and homologues of the eukaryotic SRP19 and SRP54 proteins. In most eubacteria, the SRP consists of a 4.5S RNA and the Ffh protein (a homologue of the eukaryotic SRP54 protein). Eukaryotic and archaeal 7S RNAs have very similar secondary structures, with eight helical elements. These fold into the Alu and S domains, separated by a long linker region. Eubacterial SRP is generally a simpler structure, with the M domain of Ffh bound to a region of the 4.5S RNA that corresponds to helix 8 of the eukaryotic and archaeal SRP S domain. Some Gram-positive bacteria (e.g. Bacillus subtilis), however, have a larger SRP RNA that also has an Alu domain. The Alu domain is thought to mediate the peptide chain elongation retardation function of the SRP. The universally conserved helix which interacts with the SRP54/Ffh M domain mediates signal sequence recognition. In eukaryotes and archaea, the SRP19-helix 6 complex is thought to be involved in SRP assembly and stabilizes helix 8 for SRP54 binding." [http://www.sanger.ac.uk/cgi-bin/Rfam/getacc?RF00017]
15631648 subset: SOFA
15641649 synonym: "7S RNA" RELATED []
1650 synonym: "INSDC_feature:ncRNA" BROAD []
1651 synonym: "INSDC_qualifier:SRP_RNA" EXACT []
15651652 synonym: "signal recognition particle RNA" RELATED []
15661653 synonym: "SRP RNA" EXACT []
15671654 is_a: SO:0000655 ! ncRNA
15861673 subset: SOFA
15871674 synonym: "gRNA" EXACT []
15881675 synonym: "guide RNA" EXACT []
1676 synonym: "INSDC_feature:ncRNA" BROAD []
1677 synonym: "INSDC_qualifier:guide_RNA" EXACT []
15891678 xref: http://en.wikipedia.org/wiki/Guide_RNA "wiki"
15901679 is_a: SO:0000655 ! ncRNA
15911680
16571746 namespace: sequence
16581747 def: "A specific structure at the end of a linear chromosome, required for the integrity and maintenance of the end." [SO:ma]
16591748 subset: SOFA
1749 synonym: "INSDC_feature:telomere" EXACT []
16601750 synonym: "telomeric DNA" EXACT []
16611751 synonym: "telomeric sequence" EXACT []
16621752 xref: http://en.wikipedia.org/wiki/Telomere "wiki"
16681758 namespace: sequence
16691759 def: "A regulatory region which upon binding of transcription factors, suppress the transcription of the gene or genes they control." [SO:ke]
16701760 subset: SOFA
1761 synonym: "INSDC_feature:regulatory" BROAD []
1762 synonym: "INSDC_qualifier:silencer" EXACT []
16711763 xref: http://en.wikipedia.org/wiki/Silencer_(DNA) "wiki"
16721764 is_a: SO:0000727 ! CRM
16731765
16751767 id: SO:0000627
16761768 name: insulator
16771769 namespace: sequence
1678 def: "A transcriptional cis regulatory region that when located between a CM and a gene's promoter prevents the CRM from modulating that genes expression." [SO:regcreative]
1679 subset: SOFA
1770 def: "A regulatory region that 1) when located between a CM and a gene's promoter prevents the CRM from modulating that genes expression and 2) acts as a chromatin boundary element or barrier that can block the encroachment of condensed chromatin from an adjacent region." [NCBI:cf, PMID:12154228, SO:regcreative]
1771 subset: SOFA
1772 synonym: "INSDC_feature:regulatory" BROAD []
1773 synonym: "INSDC_qualifier:insulator" EXACT []
16801774 synonym: "insulator element" EXACT []
16811775 xref: http://en.wikipedia.org/wiki/Insulator_(genetics) "wiki"
16821776 is_a: SO:0001055 ! transcriptional_cis_regulatory_region
16951789 namespace: sequence
16961790 def: "A repeat region containing tandemly repeated sequences having a unit length of 10 to 40 bp." [http://www.informatics.jax.org/silver/glossary.shtml]
16971791 subset: SOFA
1792 synonym: "INSDC_feature:repeat_region" BROAD []
1793 synonym: "INSDC_qualifier:minisatellite" EXACT []
1794 synonym: "VNTR" EXACT [http://www.ncbi.nlm.nih.gov/books/NBK21126/def-item/A9655/]
16981795 xref: http://en.wikipedia.org/wiki/Minisatellite "wiki"
16991796 is_a: SO:0000005 ! satellite_DNA
17001797
17051802 def: "Antisense RNA is RNA that is transcribed from the coding, rather than the template, strand of DNA. It is therefore complementary to mRNA." [SO:ke]
17061803 subset: SOFA
17071804 synonym: "antisense RNA" EXACT []
1805 synonym: "INSDC_feature:ncRNA" BROAD []
1806 synonym: "INSDC_qualifier:antisense_RNA" EXACT []
17081807 xref: http://en.wikipedia.org/wiki/Antisense_RNA "wiki"
17091808 is_a: SO:0000655 ! ncRNA
17101809 relationship: derives_from SO:0000645 ! antisense_primary_transcript
17241823 namespace: sequence
17251824 def: "A small RNA molecule that is the product of a longer exogenous or endogenous dsRNA, which is either a bimolecular duplex or very long hairpin, processed (via the Dicer pathway) such that numerous siRNAs accumulate from both strands of the dsRNA. SRNAs trigger the cleavage of their target molecules." [PMID:12592000]
17261825 subset: SOFA
1826 synonym: "INSDC_feature:ncRNA" BROAD []
1827 synonym: "INSDC_qualifier:siRNA" EXACT []
17271828 synonym: "small interfering RNA" EXACT []
17281829 xref: http://en.wikipedia.org/wiki/SiRNA "wiki"
1729 is_a: SO:0000655 ! ncRNA
1830 is_a: SO:0000370 ! small_regulatory_ncRNA
17301831
17311832 [Term]
17321833 id: SO:0000650
17841885 def: "An RNA transcript that does not encode for a protein rather the RNA molecule is the gene product." [SO:ke]
17851886 comment: A ncRNA is a processed_transcript, so it may not contain parts such as transcribed_spacer_regions that are removed in the act of processing. For the corresponding primary_transcripts, please see term SO:0000483 nc_primary_transcript.
17861887 subset: SOFA
1888 synonym: "INSDC_qualifier:other" BROAD []
1889 synonym: "known_ncrna" EXACT []
17871890 synonym: "noncoding RNA" EXACT []
17881891 xref: http://en.wikipedia.org/wiki/NcRNA "wiki"
1892 xref: http://www.gencodegenes.org/gencode_biotypes.html "GENCODE"
17891893 is_a: SO:0000233 ! mature_transcript
17901894
17911895 [Term]
17941898 namespace: sequence
17951899 def: "A region of sequence containing one or more repeat units." [SO:ke]
17961900 subset: SOFA
1901 synonym: "INSDC_feature:repeat_region" BROAD []
1902 synonym: "INSDC_qualifier:other" EXACT []
17971903 synonym: "repeat region" EXACT []
17981904 is_a: SO:0001411 ! biological_region
17991905 relationship: has_part SO:0001411 ! biological_region
18051911 def: "A repeat that is located at dispersed sites in the genome." [SO:ke]
18061912 subset: SOFA
18071913 synonym: "dispersed repeat" EXACT []
1914 synonym: "INSDC_feature:repeat_region" BROAD []
1915 synonym: "INSDC_qualifier:dispersed" EXACT []
18081916 synonym: "interspersed repeat" EXACT []
18091917 xref: http://en.wikipedia.org/wiki/Interspersed_repeat "wiki"
18101918 is_a: SO:0000657 ! repeat_region
18491957 namespace: sequence
18501958 def: "An RNA synthesized on a DNA or RNA template by an RNA polymerase." [SO:ma]
18511959 subset: SOFA
1960 synonym: "INSDC_feature:misc_RNA" BROAD []
18521961 xref: http://en.wikipedia.org/wiki/RNA "wiki"
18531962 is_a: SO:0000831 ! gene_member_region
18541963
19692078 def: "A region (or regions) that includes all of the sequence elements necessary to encode a functional transcript. A gene may include regulatory regions, transcribed regions and/or other functional sequence regions." [SO:immuno_workshop]
19702079 comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology. A gene may be considered as a unit of inheritance.
19712080 subset: SOFA
2081 synonym: "INSDC_feature:gene" EXACT []
19722082 xref: http://en.wikipedia.org/wiki/Gene "wiki"
19732083 is_a: SO:0001411 ! biological_region
19742084 relationship: member_of SO:0005855 ! gene_group
19792089 namespace: sequence
19802090 def: "Two or more adjacent copies of a region (of length greater than 1)." [SO:ke]
19812091 subset: SOFA
2092 synonym: "INSDC_feature:repeat_region" BROAD []
2093 synonym: "INSDC_qualifier:tandem" EXACT []
19822094 synonym: "tandem repeat" EXACT []
19832095 xref: http://en.wikipedia.org/wiki/Tandem_repeat "wiki"
19842096 xref: http://www.sci.sdsu.edu/~smaloy/Glossary/T.html
20012113 namespace: sequence
20022114 def: "A region of nucleotide sequence corresponding to a known motif." [SO:ke]
20032115 subset: SOFA
2116 synonym: "INSDC_feature:misc_feature" BROAD []
2117 synonym: "INSDC_note:nucleotide_motif" EXACT []
20042118 synonym: "nucleotide motif" EXACT []
20052119 is_a: SO:0001683 ! sequence_motif
20062120
20302144 namespace: sequence
20312145 def: "An ordered and oriented set of scaffolds based on somewhat weaker sets of inferential evidence such as one set of mate pair reads together with supporting evidence from ESTs or location of markers from SNP or microsatellite maps, or cytogenetic localization of contained markers." [FB:WG]
20322146 subset: SOFA
2147 synonym: "pseudochromosome" EXACT []
20332148 synonym: "superscaffold" RELATED []
20342149 is_a: SO:0000353 ! sequence_assembly
20352150
20392154 namespace: sequence
20402155 def: "A region of a DNA molecule where transfer is initiated during the process of conjugation or mobilization." [http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html]
20412156 subset: SOFA
2157 synonym: "INSDC_feature:oriT" EXACT []
20422158 synonym: "origin of transfer" EXACT []
20432159 xref: http://en.wikipedia.org/wiki/Origin_of_transfer "wiki"
20442160 is_a: SO:0000296 ! origin_of_replication
20522168 comment: Added to bring SO inline with the EMBL, DDBJ, GenBank feature table. Old definition before biosapiens: The coding sequence for an N-terminal domain of a nuclear-encoded organellar protein. This domain is involved in post translational import of the protein into the organelle.
20532169 subset: biosapiens
20542170 subset: SOFA
2171 synonym: "INSDC_feature:transit_peptide" EXACT []
20552172 synonym: "signal" RELATED []
20562173 synonym: "transit" RELATED [uniprot:feature_type]
20572174 synonym: "transit peptide" EXACT []
20782195 namespace: sequence
20792196 def: "A gap in the sequence of known length. The unknown bases are filled in with N's." [SO:ke]
20802197 subset: SOFA
2198 synonym: "INSDC_feature:assembly_gap" NARROW []
2199 synonym: "INSDC_feature:gap" EXACT []
20812200 is_a: SO:0000143 ! assembly_component
20822201 relationship: part_of SO:0000353 ! sequence_assembly
20832202
21072226 def: "A non functional descendant of an rRNA." [SO:ke]
21082227 comment: Added Jan 2006 to allow the annotation of the pseudogenic rRNA by flybase. Non-functional is defined as its transcription is prevented due to one or more mutatations.
21092228 subset: SOFA
2229 synonym: "INSDC_feature:rRNA" BROAD []
2230 synonym: "INSDC_qualifier:pseudo" EXACT []
21102231 synonym: "pseudogenic rRNA" EXACT []
21112232 is_a: SO:0000462 ! pseudogenic_region
2233 relationship: non_functional_homolog_of SO:0000673 ! transcript
2234 relationship: part_of SO:0000336 ! pseudogene
21122235
21132236 [Term]
21142237 id: SO:0000778
21172240 def: "A non functional descendent of a tRNA." [SO:ke]
21182241 comment: Added Jan 2006 to allow the annotation of the pseudogenic tRNA by flybase. Non-functional is defined as its transcription is prevented due to one or more mutatations.
21192242 subset: SOFA
2243 synonym: "INSDC_feature:tRNA" BROAD []
2244 synonym: "INSDC_qualifier:pseudo" EXACT []
21202245 synonym: "pseudogenic tRNA" EXACT []
21212246 is_a: SO:0000462 ! pseudogenic_region
2247 relationship: non_functional_homolog_of SO:0000673 ! transcript
2248 relationship: part_of SO:0000336 ! pseudogene
21222249
21232250 [Term]
21242251 id: SO:0000830
23092436 namespace: sequence
23102437 def: "A nucleotide region with either intra-genome or intracellular mobility, of varying length, which often carry the information necessary for transfer and recombination with the host genome." [PMID:14681355]
23112438 subset: SOFA
2439 synonym: "INSDC_feature:mobile_element" EXACT []
23122440 synonym: "MGE" EXACT []
23132441 synonym: "mobile genetic element" EXACT []
23142442 xref: http://en.wikipedia.org/wiki/Mobile_genetic_element "wiki"
23292457 namespace: sequence
23302458 def: "A regulatory_region that modulates the transcription of a gene or genes." [PMID:9679020, SO:regcreative]
23312459 subset: SOFA
2460 synonym: "INSDC_feature:regulatory" BROAD []
2461 synonym: "INSDC_qualifier:transcriptional_cis_regulatory_region" EXACT []
23322462 synonym: "transcription-control region" EXACT []
23332463 synonym: "transcriptional cis regulatory region" EXACT []
23342464 is_a: SO:0001679 ! transcription_regulatory_region
23512481 def: "A sequence_alteration is a sequence_feature whose extent is the deviation from another sequence." [SO:ke]
23522482 comment: Merged with partially characterized change in nucleotide sequence.
23532483 subset: SOFA
2484 synonym: "INSDC_feature:misc_feature" BROAD []
2485 synonym: "INSDC_feature:variation" EXACT []
2486 synonym: "INSDC_note:sequence_alteration" EXACT []
23542487 synonym: "partially characterised change in DNA sequence" NARROW []
23552488 synonym: "partially_characterised_change_in_DNA_sequence" NARROW []
23562489 synonym: "sequence alteration" EXACT []
24442577 def: "A region defined by its disposition to be involved in a biological process." [SO:cb]
24452578 subset: SOFA
24462579 synonym: "biological region" EXACT []
2580 synonym: "INSDC_misc_feature" BROAD []
2581 synonym: "INSDC_note:biological_region" EXACT []
24472582 is_a: SO:0000001 ! region
24482583
24492584 [Term]
25722707 namespace: sequence
25732708 def: "A region of sequence that is involved in the control of a biological process." [SO:ke]
25742709 subset: SOFA
2710 synonym: "INSDC_feature:regulatory" BROAD []
2711 synonym: "INSDC_qualifier:other" EXACT []
25752712 synonym: "regulatory region" EXACT []
25762713 xref: http://en.wikipedia.org/wiki/Regulatory_region "wiki"
25772714 is_a: SO:0000831 ! gene_member_region
6666
6767 $gt_class_c = <<-END_GT_CLASS_C
6868
69 #include "core/ma.h"
69 #include "core/ma_api.h"
7070
7171 struct <%=klass%>
7272 {
275275
276276 #include "core/assert_api.h"
277277 #include "core/class_alloc.h"
278 #include "core/ma.h"
278 #include "core/ma_api.h"
279279 #include "core/unused_api.h"
280280
281281 <%=create_func%>
449449 */
450450
451451 #include <limits.h>
452 #include "core/ma.h"
452 #include "core/ma_api.h"
453453 #include "esa-seqread.h"
454454 #{seqnumrelpos_include(options)}
455455 END_OF_FILE
5656 #include <limits.h>
5757
5858 #include "core/assert_api.h"
59 #include "core/divmodmul.h"
60 #include "core/ensure.h"
59 #include "core/divmodmul_api.h"
60 #include "core/ensure_api.h"
6161 #include "core/intbits.h"
62 #include "core/ma.h"
62 #include "core/ma_api.h"
6363 #include "core/mathsupport.h"
6464 #include "core/unused_api.h"
6565 #include "extended/intset_<%=bits%>.h"
22 echo $TRAVIS_OS_NAME
33 if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
44 sudo apt-get update -q
5 sudo apt-get install libpango1.0-dev libcairo2-dev
56 sudo apt-get install ncbi-blast+ gcc-multilib -y
67 sudo apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-i686 -y
78 sudo apt-get install binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 -y
89 else
910 brew update
10 brew install pango cairo
11 brew install homebrew/science/blast
11 brew install pkg-config
12 brew install pango cairo libffi
13 brew unlink proj
14 brew install blast --force
1215 fi
2121 #include "annotationsketch/element.h"
2222 #include "core/array.h"
2323 #include "core/cstr_api.h"
24 #include "core/ensure.h"
24 #include "core/ensure_api.h"
2525 #include "core/log.h"
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/mathsupport.h"
2828 #include "core/undef_api.h"
2929 #include "core/unused_api.h"
2121 #include "annotationsketch/block_api.h"
2222 #include "annotationsketch/canvas.h"
2323 #include "annotationsketch/style.h"
24 #include "core/error.h"
24 #include "core/error_api.h"
2525
2626 void gt_block_insert_element(GtBlock*, GtFeatureNode *node);
2727 void gt_block_set_range(GtBlock*, GtRange r);
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
2323 #include "core/mathsupport.h"
24 #include "core/minmax.h"
25 #include "core/range.h"
26 #include "core/str.h"
24 #include "core/minmax_api.h"
25 #include "core/range_api.h"
26 #include "core/str_api.h"
2727 #include "core/unused_api.h"
2828 #include "annotationsketch/block.h"
2929 #include "annotationsketch/canvas.h"
1717 #include <math.h>
1818 #include <string.h>
1919 #include "core/bittab.h"
20 #include "core/ensure.h"
20 #include "core/ensure_api.h"
2121 #include "core/log.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/mathsupport.h"
24 #include "core/minmax.h"
25 #include "core/range.h"
24 #include "core/minmax_api.h"
25 #include "core/range_api.h"
2626 #include "core/unused_api.h"
2727 #include "core/undef_api.h"
2828 #include "annotationsketch/default_formats.h"
2222 #include "annotationsketch/element.h"
2323 #include "annotationsketch/layout.h"
2424 #include "annotationsketch/track.h"
25 #include "core/error.h"
25 #include "core/error_api.h"
2626
2727 int gt_canvas_cairo_visit_layout_pre(GtCanvas*, GtLayout*, GtError*);
2828 int gt_canvas_cairo_visit_layout_post(GtCanvas*, GtLayout*, GtError*);
1818 #include <string.h>
1919 #include "core/bittab.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
23 #include "core/minmax.h"
24 #include "core/range.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
23 #include "core/minmax_api.h"
24 #include "core/range_api.h"
2525 #include "core/unused_api.h"
2626 #include "annotationsketch/canvas_members.h"
2727 #include "annotationsketch/canvas_rep.h"
1818 #include <string.h>
1919 #include "core/bittab.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
23 #include "core/minmax.h"
24 #include "core/range.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
23 #include "core/minmax_api.h"
24 #include "core/range_api.h"
2525 #include "core/unused_api.h"
2626 #include "annotationsketch/canvas.h"
2727 #include "annotationsketch/canvas_members.h"
1818 #define CANVAS_MEMBERS_H
1919
2020 #include "core/bittab.h"
21 #include "core/range.h"
21 #include "core/range_api.h"
2222 #include "annotationsketch/graphics.h"
2323 #include "annotationsketch/image_info.h"
2424 #include "annotationsketch/style.h"
1919
2020 #include <stdio.h>
2121 #include "core/bittab.h"
22 #include "core/range.h"
22 #include "core/range_api.h"
2323 #include "annotationsketch/canvas.h"
2424 #include "annotationsketch/custom_track.h"
2525 #include "annotationsketch/graphics.h"
1515 */
1616
1717 #include "core/assert_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "annotationsketch/color_api.h"
2020
2121 GtColor* gt_color_new(double red, double green, double blue, double alpha)
1717 #include <stdio.h>
1818 #include "annotationsketch/cliptype.h"
1919 #include "annotationsketch/coords.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121
2222 double gt_coords_convert_point(GtRange viewrange, GtWord pos)
2323 {
1818 #define COORDS_H
1919
2020 #include "annotationsketch/drawing_range.h"
21 #include "core/range.h"
21 #include "core/range_api.h"
2222
2323 /* Returns width-independent coordinates (x,y) with 0 <= x,y <= 1
2424 for the given 1D coordinate. */
1818 #include "annotationsketch/custom_track.h"
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323
2424 struct GtCustomTrackMembers {
2121 #include "annotationsketch/canvas.h"
2222 #include "annotationsketch/graphics.h"
2323 #include "annotationsketch/style.h"
24 #include "core/error.h"
25 #include "core/range.h"
26 #include "core/str.h"
24 #include "core/error_api.h"
25 #include "core/range_api.h"
26 #include "core/str_api.h"
2727
2828 typedef struct GtCustomTrackClass GtCustomTrackClass;
2929
2121 #include "annotationsketch/custom_track_rep.h"
2222 #include "core/class_alloc_lock.h"
2323 #include "core/log.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
26 #include "core/minmax.h"
26 #include "core/minmax_api.h"
2727 #include "core/unused_api.h"
2828
2929 struct GtCustomTrackGcContent {
1919
2020 #include <stdio.h>
2121 #include "annotationsketch/custom_track.h"
22 #include "core/error.h"
23 #include "core/range.h"
24 #include "core/str.h"
22 #include "core/error_api.h"
23 #include "core/range_api.h"
24 #include "core/str_api.h"
2525
2626 typedef int (*GtCustomTrackRenderFunc)(GtCustomTrack*, GtGraphics*,
2727 unsigned int, GtRange,
2525 #include "annotationsketch/track.h"
2626 #include "core/basename_api.h"
2727 #include "core/cstr_api.h"
28 #include "core/ensure.h"
29 #include "core/hashmap.h"
30 #include "core/ma.h"
28 #include "core/ensure_api.h"
29 #include "core/hashmap_api.h"
30 #include "core/ma_api.h"
3131 #include "core/msort.h"
3232 #include "core/log.h"
33 #include "core/str.h"
33 #include "core/str_api.h"
3434 #include "core/thread_api.h"
3535 #include "core/undef_api.h"
3636 #include "core/unused_api.h"
2020 #define DIAGRAM_H
2121
2222 #include "annotationsketch/diagram_api.h"
23 #include "core/error.h"
24 #include "core/hashmap.h"
23 #include "core/error_api.h"
24 #include "core/hashmap_api.h"
2525
2626 GtHashmap* gt_diagram_get_blocks(GtDiagram *diagram, GtError *err);
2727 GtArray* gt_diagram_get_custom_tracks(const GtDiagram *diagram);
1919 #include "annotationsketch/element.h"
2020 #include "annotationsketch/style.h"
2121 #include "core/array.h"
22 #include "core/ensure.h"
23 #include "core/ma.h"
22 #include "core/ensure_api.h"
23 #include "core/ma_api.h"
2424 #include "core/strand_api.h"
2525 #include "extended/feature_node.h"
2626
2323
2424 #include "annotationsketch/canvas.h"
2525 #include "annotationsketch/drawing_range.h"
26 #include "core/range.h"
26 #include "core/range_api.h"
2727 #include "core/strand_api.h"
2828 #include "extended/feature_type.h"
2929 #include "extended/genome_node.h"
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/thread_api.h"
2121 #include "core/unused_api.h"
2222 #include "annotationsketch/graphics_rep.h"
3131 #include "annotationsketch/default_formats.h"
3232 #include "annotationsketch/graphics_cairo_api.h"
3333 #include "annotationsketch/graphics_rep.h"
34 #include "core/file.h"
34 #include "core/file_api.h"
3535 #include "core/fileutils_api.h"
36 #include "core/ma.h"
36 #include "core/ma_api.h"
3737 #include "core/mathsupport.h"
38 #include "core/minmax.h"
39 #include "core/str.h"
38 #include "core/minmax_api.h"
39 #include "core/str_api.h"
4040 #include "core/unused_api.h"
4141 #include "core/warning_api.h"
4242
2323 #include "core/gtdatapath.h"
2424 #include "core/option_api.h"
2525 #include "core/output_file_api.h"
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/splitter.h"
2828 #include "core/undef_api.h"
2929 #include "core/unused_api.h"
3131 #include "core/fileutils_api.h"
3232 #include "core/gtdatapath.h"
3333 #include "core/log.h"
34 #include "core/ma.h"
34 #include "core/ma_api.h"
3535 #include "core/mathsupport.h"
3636 #include "core/option_api.h"
37 #include "core/str.h"
37 #include "core/str_api.h"
3838 #include "core/unused_api.h"
3939 #include "core/undef_api.h"
4040 #include "core/versionfunc.h"
1616
1717 #include "annotationsketch/image_info.h"
1818 #include "core/array.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/mathsupport.h"
22 #include "core/range.h"
22 #include "core/range_api.h"
2323 #include "core/strand_api.h"
2424 #include "core/unused_api.h"
2525 #include "extended/feature_type.h"
1919
2020 #include "annotationsketch/image_info_api.h"
2121 #include "annotationsketch/rec_map.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323
2424 GtImageInfo* gt_image_info_ref(GtImageInfo *ii);
2525 void gt_image_info_set_height(GtImageInfo*, unsigned int);
2626 #include "annotationsketch/track.h"
2727 #include "core/basename_api.h"
2828 #include "core/cstr_api.h"
29 #include "core/ensure.h"
30 #include "core/hashmap.h"
29 #include "core/ensure_api.h"
30 #include "core/hashmap_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/mathsupport.h"
34 #include "core/minmax.h"
34 #include "core/minmax_api.h"
3535 #include "core/msort.h"
36 #include "core/str.h"
36 #include "core/str_api.h"
3737 #include "core/thread_api.h"
3838 #include "core/undef_api.h"
3939 #include "core/unused_api.h"
1818 #include "annotationsketch/block.h"
1919 #include "annotationsketch/default_formats.h"
2020 #include "annotationsketch/line.h"
21 #include "core/ensure.h"
21 #include "core/ensure_api.h"
2222 #include "core/interval_tree.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
25 #include "core/range.h"
25 #include "core/range_api.h"
2626 #include "core/undef_api.h"
2727 #include "extended/gff3_defines.h"
2828
2525 #include "annotationsketch/canvas.h"
2626 #include "annotationsketch/style.h"
2727 #include "core/array.h"
28 #include "core/error.h"
28 #include "core/error_api.h"
2929
3030 GtLine* gt_line_new(void);
3131 void gt_line_insert_block(GtLine*, GtBlock*); /* takes ownership */
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "annotationsketch/line_breaker_rep.h"
2222
1616
1717 #include "core/class_alloc_lock.h"
1818 #include "core/interval_tree.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "annotationsketch/line_breaker_bases.h"
2222 #include "annotationsketch/line_breaker_rep.h"
1717 #ifndef LINE_BREAKER_BASES_H
1818 #define LINE_BREAKER_BASES_H
1919
20 #include "core/range.h"
20 #include "core/range_api.h"
2121 #include "annotationsketch/line_breaker.h"
2222
2323 /* Implements the GtLineBreaker interface; breaks GtLines if base ranges
1616
1717 #include <math.h>
1818 #include "core/class_alloc_lock.h"
19 #include "core/hashmap.h"
20 #include "core/ma.h"
19 #include "core/hashmap_api.h"
20 #include "core/ma_api.h"
2121 #include "core/mathsupport.h"
22 #include "core/str.h"
22 #include "core/str_api.h"
2323 #include "annotationsketch/coords.h"
2424 #include "annotationsketch/default_formats.h"
2525 #include "annotationsketch/drawing_range.h"
1717 #ifndef LINE_BREAKER_CAPTIONS_H
1818 #define LINE_BREAKER_CAPTIONS_H
1919
20 #include "core/range.h"
20 #include "core/range_api.h"
2121 #include "annotationsketch/canvas.h"
2222 #include "annotationsketch/layout.h"
2323 #include "annotationsketch/line_breaker.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "extended/genome_node.h"
1919 #include "annotationsketch/rec_map.h"
2020
2424 #include "annotationsketch/style.h"
2525 #include "core/assert_api.h"
2626 #include "core/cstr_api.h"
27 #include "core/ensure.h"
27 #include "core/ensure_api.h"
2828 #include "core/log.h"
29 #include "core/ma.h"
29 #include "core/ma_api.h"
3030 #include "core/thread_api.h"
3131 #include "core/unused_api.h"
3232 #include "core/warning_api.h"
1818 #include "annotationsketch/text_width_calculator.h"
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/thread_api.h"
2323 #include "core/unused_api.h"
2424
1717 #include <cairo.h>
1818 #include <pango/pangocairo.h>
1919 #include "core/class_alloc_lock.h"
20 #include "core/ensure.h"
21 #include "core/ma.h"
20 #include "core/ensure_api.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
2323 #include "core/str_api.h"
2424 #include "core/unused_api.h"
2020 #include "annotationsketch/line_breaker_bases.h"
2121 #include "annotationsketch/style.h"
2222 #include "annotationsketch/track.h"
23 #include "core/ensure.h"
23 #include "core/ensure_api.h"
2424 #include "core/hashtable.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/undef_api.h"
2727 #include "core/unused_api.h"
2828 #include "extended/gff3_defines.h"
2323 #include "core/alphabet.h"
2424 #include "core/chardef.h"
2525 #include "core/cstr_api.h"
26 #include "core/ensure.h"
26 #include "core/ensure_api.h"
2727 #include "core/fileutils_api.h"
28 #include "core/fa.h"
28 #include "core/fa_api.h"
2929 #include "core/gtdatapath.h"
3030 #include "core/ma_api.h"
3131 #include "core/mathsupport.h"
1818 #include <string.h>
1919 #include "core/array.h"
2020 #include "core/dynalloc.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
2323 #include "core/msort.h"
2424 #include "core/mathsupport.h"
2525 #include "core/qsort_r_api.h"
26 #include "core/range.h"
26 #include "core/range_api.h"
2727 #include "core/unused_api.h"
2828
2929 #define ARRAY_NUM_OF_TESTS 100
1818 #define ARRAY_H
1919
2020 #include "core/array_api.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222
2323 typedef int (*GtArrayProcessor)(void *elem, void *info, GtError*);
2424
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/array2dim_sparse.h"
16 #include "core/array2dim_sparse_api.h"
1717 #include "core/unused_api.h"
1818
1919 /* allocate and fill the following sparse matrix:
+0
-48
src/core/array2dim_sparse.h less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef ARRAY2DIM_SPARSE_H
17 #define ARRAY2DIM_SPARSE_H
18
19 #include "core/array2dim_api.h"
20
21 typedef struct {
22 GtUword offset,
23 length;
24 } GtRowInfo;
25
26 /* Allocates a new 2-dimensional sparse array with the given number of <ROWS>
27 and a total <SIZE>. Each row starts at the corresponding offset given in
28 <ROWINFO> and has the corresponding length. It assigns a pointer to the newly
29 allocated space to <ARRAY2DIM>. The size of each element is determined
30 automatically from the type of the <ARRAY2DIM> pointer. */
31 #define gt_array2dim_sparse_calloc(ARRAY2DIM, ROWS, SIZE, ROWINFO) \
32 { \
33 GtRowInfo *gt_ri = (ROWINFO); \
34 GtUword gt_a2d_i; \
35 gt_assert(gt_ri[0].offset == 0); \
36 ARRAY2DIM = gt_malloc(sizeof *ARRAY2DIM * (ROWS)); \
37 (ARRAY2DIM)[0] = gt_calloc((SIZE), sizeof **ARRAY2DIM); \
38 for (gt_a2d_i = 1UL; gt_a2d_i < (ROWS); gt_a2d_i++) \
39 (ARRAY2DIM)[gt_a2d_i] = (ARRAY2DIM)[gt_a2d_i-1] \
40 + gt_ri[gt_a2d_i-1].offset \
41 + gt_ri[gt_a2d_i-1].length \
42 - gt_ri[gt_a2d_i].offset; \
43 }
44
45 int gt_array2dim_sparse_example(GtError*);
46
47 #endif
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef ARRAY2DIM_SPARSE_API_H
17 #define ARRAY2DIM_SPARSE_API_H
18
19 #include "core/array2dim_api.h"
20
21 typedef struct {
22 GtUword offset,
23 length;
24 } GtRowInfo;
25
26 /* Allocates a new 2-dimensional sparse array with the given number of <ROWS>
27 and a total <SIZE>. Each row starts at the corresponding offset given in
28 <ROWINFO> and has the corresponding length. It assigns a pointer to the newly
29 allocated space to <ARRAY2DIM>. The size of each element is determined
30 automatically from the type of the <ARRAY2DIM> pointer. */
31 #define gt_array2dim_sparse_calloc(ARRAY2DIM, ROWS, SIZE, ROWINFO) \
32 { \
33 GtRowInfo *gt_ri = (ROWINFO); \
34 GtUword gt_a2d_i; \
35 gt_assert(gt_ri[0].offset == 0); \
36 ARRAY2DIM = gt_malloc(sizeof *ARRAY2DIM * (ROWS)); \
37 (ARRAY2DIM)[0] = gt_calloc((SIZE), sizeof **ARRAY2DIM); \
38 for (gt_a2d_i = 1UL; gt_a2d_i < (ROWS); gt_a2d_i++) \
39 (ARRAY2DIM)[gt_a2d_i] = (ARRAY2DIM)[gt_a2d_i-1] \
40 + gt_ri[gt_a2d_i-1].offset \
41 + gt_ri[gt_a2d_i-1].length \
42 - gt_ri[gt_a2d_i].offset; \
43 }
44
45 int gt_array2dim_sparse_example(GtError*);
46
47 #endif
1616 */
1717
1818 #include <string.h>
19 #include "core/compat.h"
20 #include "core/ensure.h"
19 #include "core/compat_api.h"
20 #include "core/ensure_api.h"
2121 #include "core/basename_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323
2424 char *gt_basename(const char *path)
2525 {
2222 #include "core/disc_distri_api.h"
2323 #include "core/dynalloc.h"
2424 #include "core/encseq.h"
25 #include "core/fa.h"
26 #include "core/fasta.h"
25 #include "core/fa_api.h"
26 #include "core/fasta_api.h"
2727 #include "core/fasta_reader_fsm.h"
2828 #include "core/fasta_reader_rec.h"
2929 #include "core/fasta_reader_seqit.h"
3131 #include "core/gc_content.h"
3232 #include "core/hashmap_api.h"
3333 #include "core/hashmap-generic.h"
34 #include "core/ma.h"
34 #include "core/ma_api.h"
3535 #include "core/md5_tab.h"
3636 #include "core/parseutils.h"
3737 #include "core/sig.h"
1919
2020 #include "core/alphabet.h"
2121 #include "core/encseq.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/fasta_reader.h"
2424 #include "core/seq.h"
25 #include "core/str.h"
25 #include "core/str_api.h"
2626
2727 typedef struct GtBioseq GtBioseq;
2828
1919 #include "core/cstr_api.h"
2020 #include "core/grep.h"
2121 #include "core/hashmap_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/md5_seqid.h"
2424 #include "core/seq_col_rep.h"
2525 #include "core/seq_info_cache.h"
1717 #include <string.h>
1818 #include "core/bioseq_iterator.h"
1919 #include "core/cstr_array.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121
2222 struct GtBioseqIterator {
2323 int current_file,
2929 #include <string.h>
3030 #include "core/assert_api.h"
3131 #include "core/bitpackstring.h"
32 #include "core/error.h"
33 #include "core/ma.h"
32 #include "core/error_api.h"
33 #include "core/ma_api.h"
3434
3535 struct BitPackArray
3636 {
3030 #include <stdio.h>
3131 #include <stdlib.h>
3232
33 #include "core/error.h"
33 #include "core/error_api.h"
3434 #include "core/types_api.h"
3535
3636 /** basic unit of addressing BitStrings */
1919 #include <string.h>
2020 #include "core/assert_api.h"
2121 #include "core/bitpackstring.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323 /**
2424 * \if INTERNAL \file bitpackstringop.c \endif
2525 * Involved (i.e. not inlined) operations on bitstrings.
1717 #include <limits.h>
1818 #include <stdio.h>
1919 #include "core/assert_api.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/bitpackstring.h"
2222
2323 @ValueType@
2020 #include <limits.h>
2121 #include <stdio.h>
2222 #include "core/assert_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/bitpackstring.h"
2525
2626 uint16_t
2020 #include <limits.h>
2121 #include <stdio.h>
2222 #include "core/assert_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/bitpackstring.h"
2525
2626 uint32_t
2020 #include <limits.h>
2121 #include <stdio.h>
2222 #include "core/assert_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/bitpackstring.h"
2525
2626 uint64_t
2020 #include <limits.h>
2121 #include <stdio.h>
2222 #include "core/assert_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/bitpackstring.h"
2525
2626 uint8_t
2424 #include "core/assert_api.h"
2525 #include "core/bitpackstring.h"
2626 #include "core/dynalloc.h"
27 #include "core/compat.h"
28 #include "core/safearith.h"
27 #include "core/compat_api.h"
28 #include "core/safearith_api.h"
2929
3030 /**
3131 * \if INTERNAL \file bitpackstringsimpleop.h \endif
1515 */
1616
1717 #include "core/bittab.h"
18 #include "core/ensure.h"
19 #include "core/fa.h"
20 #include "core/ma.h"
18 #include "core/ensure_api.h"
19 #include "core/fa_api.h"
20 #include "core/ma_api.h"
2121 #include "core/mathsupport.h"
2222 #include "core/undef_api.h"
2323 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/array.h"
18 #include "core/bool_matrix.h"
18 #include "core/bool_matrix_api.h"
1919 #include "core/dyn_bittab.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/undef_api.h"
2222
2323 struct GtBoolMatrix {
+0
-42
src/core/bool_matrix.h less more
0 /*
1 Copyright (c) 2005-2007, 2013 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef BOOL_MATRIX_H
18 #define BOOL_MATRIX_H
19
20 #include <stdbool.h>
21 #include "core/error.h"
22 #include "core/types_api.h"
23
24 /* a two-dimensional matrix containing boolean values */
25 typedef struct GtBoolMatrix GtBoolMatrix;
26
27 GtBoolMatrix* gt_bool_matrix_new(void);
28 bool gt_bool_matrix_get(GtBoolMatrix*, GtUword firstdim,
29 GtUword seconddim);
30 void gt_bool_matrix_set(GtBoolMatrix*, GtUword firstdim,
31 GtUword seconddim, bool);
32 GtUword gt_bool_matrix_get_first_column(const GtBoolMatrix*,
33 GtUword firstdim);
34 GtUword gt_bool_matrix_get_last_column(const GtBoolMatrix*,
35 GtUword firstdim);
36 GtUword gt_bool_matrix_get_next_column(const GtBoolMatrix*,
37 GtUword firstdim,
38 GtUword i);
39 void gt_bool_matrix_delete(GtBoolMatrix*);
40
41 #endif
0 /*
1 Copyright (c) 2005-2007, 2013 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef BOOL_MATRIX_API_H
18 #define BOOL_MATRIX_API_H
19
20 #include <stdbool.h>
21 #include "core/error_api.h"
22 #include "core/types_api.h"
23
24 /* a two-dimensional matrix containing boolean values */
25 typedef struct GtBoolMatrix GtBoolMatrix;
26
27 GtBoolMatrix* gt_bool_matrix_new(void);
28 bool gt_bool_matrix_get(GtBoolMatrix*, GtUword firstdim,
29 GtUword seconddim);
30 void gt_bool_matrix_set(GtBoolMatrix*, GtUword firstdim,
31 GtUword seconddim, bool);
32 GtUword gt_bool_matrix_get_first_column(const GtBoolMatrix*,
33 GtUword firstdim);
34 GtUword gt_bool_matrix_get_last_column(const GtBoolMatrix*,
35 GtUword firstdim);
36 GtUword gt_bool_matrix_get_next_column(const GtBoolMatrix*,
37 GtUword firstdim,
38 GtUword i);
39 void gt_bool_matrix_delete(GtBoolMatrix*);
40
41 #endif
1616
1717 #include "core/assert_api.h"
1818 #include "core/bsearch.h"
19 #include "core/ensure.h"
19 #include "core/ensure_api.h"
2020 #include "core/unused_api.h"
2121
2222 static void* bsearch_generic(GtArray *members, const void *key,
2020 #include <sys/time.h>
2121
2222 #include "core/bitpackarray.h"
23 #include "core/ensure.h"
23 #include "core/ensure_api.h"
2424 #include "core/log.h"
2525 #include "core/yarandom.h"
2626
2626
2727 #include "core/assert_api.h"
2828 #include "core/bitpackstring.h"
29 #include "core/error.h"
30 #include "core/ensure.h"
29 #include "core/error_api.h"
30 #include "core/ensure_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/yarandom.h"
3434
3535 enum {
2121
2222 #include "core/assert_api.h"
2323 #include "core/bitpackstring.h"
24 #include "core/error.h"
25 #include "core/ensure.h"
24 #include "core/error_api.h"
25 #include "core/ensure_api.h"
2626
2727 int
2828 gt_bitPackString_unit_test(GtError *err)
2323
2424 #include "core/assert_api.h"
2525 #include "core/bitpackstring.h"
26 #include "core/error.h"
27 #include "core/ensure.h"
26 #include "core/error_api.h"
27 #include "core/ensure_api.h"
2828 #include "core/log.h"
29 #include "core/ma.h"
29 #include "core/ma_api.h"
3030 #include "core/yarandom.h"
3131
3232 enum {
2626
2727 #include "core/assert_api.h"
2828 #include "core/bitpackstring.h"
29 #include "core/error.h"
30 #include "core/ensure.h"
29 #include "core/error_api.h"
30 #include "core/ensure_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/yarandom.h"
3434
3535 enum {
2626
2727 #include "core/assert_api.h"
2828 #include "core/bitpackstring.h"
29 #include "core/error.h"
30 #include "core/ensure.h"
29 #include "core/error_api.h"
30 #include "core/ensure_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/yarandom.h"
3434
3535 enum {
2626
2727 #include "core/assert_api.h"
2828 #include "core/bitpackstring.h"
29 #include "core/error.h"
30 #include "core/ensure.h"
29 #include "core/error_api.h"
30 #include "core/ensure_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/yarandom.h"
3434
3535 enum {
2626
2727 #include "core/assert_api.h"
2828 #include "core/bitpackstring.h"
29 #include "core/error.h"
30 #include "core/ensure.h"
29 #include "core/error_api.h"
30 #include "core/ensure_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/yarandom.h"
3434
3535 enum {
1616
1717 #include "core/array.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020
2121 static GtArray *c_classes = NULL;
2222
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc.h"
2020 #include "core/error_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/codon_iterator_rep.h"
2424
1616
1717 #include "core/class_alloc_lock.h"
1818 #include "core/encseq.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/codon_api.h"
2222 #include "core/codon_iterator_encseq_api.h"
2323 #include "core/codon_iterator_rep.h"
1515 */
1616
1717 #include "core/class_alloc_lock.h"
18 #include "core/ensure.h"
19 #include "core/ma.h"
18 #include "core/ensure_api.h"
19 #include "core/ma_api.h"
2020 #include "core/codon_api.h"
2121 #include "core/codon_iterator_simple_api.h"
2222 #include "core/codon_iterator_rep.h"
1515 */
1616
1717 #include "core/colorspace.h"
18 #include "core/ensure.h"
18 #include "core/ensure_api.h"
1919 #include "core/error_api.h"
2020 #include "core/ma_api.h"
2121 #include "core/str_api.h"
2020
2121 #include "core/array2dim_api.h"
2222 #include "core/combinatorics.h"
23 #include "core/divmodmul.h"
24 #include "core/ensure.h"
23 #include "core/divmodmul_api.h"
24 #include "core/ensure_api.h"
2525 #include "core/log_api.h"
2626 #include "core/ma_api.h"
2727 #include "core/mathsupport.h"
28 #include "core/minmax.h"
29 #include "core/safearith.h"
28 #include "core/minmax_api.h"
29 #include "core/safearith_api.h"
3030 #include "core/warning_api.h"
3131
3232 #define UNDEFTABVALUE ULONG_MAX
1818
1919 #include "core/assert_api.h"
2020 #include "core/error_api.h"
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/unused_api.h"
23 #include "core/safearith.h"
23 #include "core/safearith_api.h"
2424 #include "core/types_api.h"
2525
2626 /* The combinatorics module implements some standard approaches for
1919
2020 #include "core/assert_api.h"
2121 #include "core/error_api.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323 #include "core/unused_api.h"
24 #include "core/safearith.h"
24 #include "core/safearith_api.h"
2525
2626 #if defined (_LP64) || defined (_WIN64)
2727 #define GT_BINOMIAL_MAX_N_LN 66UL
1919 #include "intbits.h"
2020 #include "error_api.h"
2121 #include "mathsupport.h"
22 #include "ensure.h"
22 #include "ensure_api.h"
2323 #include "assert_api.h"
2424 #include "compact_ulong_store.h"
2525
2222 #ifdef _WIN32
2323 #include <windows.h>
2424 #endif
25 #include "core/compat.h"
25 #include "core/compat_api.h"
2626
2727 int gt_mkstemp(char *templ)
2828 {
+0
-35
src/core/compat.h less more
0 /*
1 Copyright (c) 2013 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef COMPAT_H
17 #define COMPAT_H
18
19 #include "core/types_api.h"
20
21 #ifndef _WIN32
22 #define GT_PATH_SEPARATOR '/'
23 #define GT_PATH_SEPARATOR_STR "/"
24 #define GT_PATH_VAR_SEPARATOR ':'
25 #else
26 #define GT_PATH_SEPARATOR '\\'
27 #define GT_PATH_SEPARATOR_STR "\\"
28 #define GT_PATH_VAR_SEPARATOR ';'
29 #endif
30
31 int gt_mkstemp(char *templ);
32 GtUword gt_pagesize(void);
33
34 #endif
0 /*
1 Copyright (c) 2013 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef COMPAT_API_H
17 #define COMPAT_API_H
18
19 #include "core/types_api.h"
20
21 #ifndef _WIN32
22 #define GT_PATH_SEPARATOR '/'
23 #define GT_PATH_SEPARATOR_STR "/"
24 #define GT_PATH_VAR_SEPARATOR ':'
25 #else
26 #define GT_PATH_SEPARATOR '\\'
27 #define GT_PATH_SEPARATOR_STR "\\"
28 #define GT_PATH_VAR_SEPARATOR ';'
29 #endif
30
31 int gt_mkstemp(char *templ);
32 GtUword gt_pagesize(void);
33
34 #endif
1616
1717 #include <string.h>
1818 #include "core/countingsort.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222
2323 void gt_countingsort(void *out, const void *in, size_t elem_size,
1818 #include <string.h>
1919 #include "core/cstr_api.h"
2020 #include "core/cstr_array.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
2323 #include "core/xansi_api.h"
2424
2525 char** gt_cstr_split(const char *cstr, char sep)
1717 #include <string.h>
1818 #include "core/cstr_api.h"
1919 #include "core/cstr_array.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/xansi_api.h"
2222
2323 char** gt_cstr_array_dup(const char **cstr_array)
1717 #ifndef CSTR_ARRAY_H
1818 #define CSTR_ARRAY_H
1919
20 #include "core/file.h"
20 #include "core/file_api.h"
2121 #include "core/types_api.h"
2222
2323 /* Return copy of <gt_cstr_array>. */
1616
1717 #include "core/cstr_api.h"
1818 #include "core/cstr_table.h"
19 #include "core/ensure.h"
19 #include "core/ensure_api.h"
2020 #include "core/hashtable.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/strcmp.h"
2323
2424 struct GtCstrTable {
1919 #include "core/assert_api.h"
2020 #include "core/desc_buffer.h"
2121 #include "core/dynalloc.h"
22 #include "core/ensure.h"
22 #include "core/ensure_api.h"
2323 #include "core/log_api.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/queue.h"
2626 #include "core/unused_api.h"
2727 #include "core/xansi_api.h"
1919 #include <stdio.h>
2020
2121 #include "core/assert_api.h"
22 #include "core/compat.h"
23 #include "core/ensure.h"
22 #include "core/compat_api.h"
23 #include "core/ensure_api.h"
2424 #include "core/hashmap-generic.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/unused_api.h"
2727
2828 #include "core/disc_distri_api.h"
+0
-51
src/core/divmodmul.h less more
0 /*
1 Copyright (c) 2007 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
2 Copyright (c) 2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DIVMODMUL_H
18 #define DIVMODMUL_H
19
20 #include <math.h>
21 /*
22 This file defines some macros to define division, multiplication,
23 and modulo operations by 2, 4, 8, 16, 32 and 64.
24 */
25
26 #define GT_DIV2(N) ((N) >> (__typeof__(N)) 1)
27 #define GT_DIV4(N) ((N) >> (__typeof__(N)) 2)
28 #define GT_DIV8(N) ((N) >> (__typeof__(N)) 3)
29 #define GT_DIV16(N) ((N) >> (__typeof__(N)) 4)
30 #define GT_DIV32(N) ((N) >> (__typeof__(N)) 5)
31 #define GT_DIV64(N) ((N) >> (__typeof__(N)) 6)
32
33 #define GT_MOD2(N) ((N) & (__typeof__(N)) 1)
34 #define GT_MOD4(N) ((N) & (__typeof__(N)) 3)
35 #define GT_MOD8(N) ((N) & (__typeof__(N)) 7)
36 #define GT_MOD16(N) ((N) & (__typeof__(N)) 15)
37 #define GT_MOD32(N) ((N) & (__typeof__(N)) 31)
38 #define GT_MOD64(N) ((N) & (__typeof__(N)) 63)
39
40 #define GT_MULT2(N) ((N) << (__typeof__(N)) 1)
41 #define GT_MULT4(N) ((N) << (__typeof__(N)) 2)
42 #define GT_MULT8(N) ((N) << (__typeof__(N)) 3)
43 #define GT_MULT16(N) ((N) << (__typeof__(N)) 4)
44 #define GT_MULT32(N) ((N) << (__typeof__(N)) 5)
45 #define GT_MULT64(N) ((N) << (__typeof__(N)) 6)
46
47 #define GT_POW2(N) ((__typeof__(N)) (1) << (__typeof__(N)) (N))
48 #define GT_LOG2(v) (log(v) / M_LN2)
49
50 #endif
0 /*
1 Copyright (c) 2007 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
2 Copyright (c) 2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DIVMODMUL_API_H
18 #define DIVMODMUL_API_H
19
20 #include <math.h>
21 /*
22 This file defines some macros to define division, multiplication,
23 and modulo operations by 2, 4, 8, 16, 32 and 64.
24 */
25
26 #define GT_DIV2(N) ((N) >> (__typeof__(N)) 1)
27 #define GT_DIV4(N) ((N) >> (__typeof__(N)) 2)
28 #define GT_DIV8(N) ((N) >> (__typeof__(N)) 3)
29 #define GT_DIV16(N) ((N) >> (__typeof__(N)) 4)
30 #define GT_DIV32(N) ((N) >> (__typeof__(N)) 5)
31 #define GT_DIV64(N) ((N) >> (__typeof__(N)) 6)
32
33 #define GT_MOD2(N) ((N) & (__typeof__(N)) 1)
34 #define GT_MOD4(N) ((N) & (__typeof__(N)) 3)
35 #define GT_MOD8(N) ((N) & (__typeof__(N)) 7)
36 #define GT_MOD16(N) ((N) & (__typeof__(N)) 15)
37 #define GT_MOD32(N) ((N) & (__typeof__(N)) 31)
38 #define GT_MOD64(N) ((N) & (__typeof__(N)) 63)
39
40 #define GT_MULT2(N) ((N) << (__typeof__(N)) 1)
41 #define GT_MULT4(N) ((N) << (__typeof__(N)) 2)
42 #define GT_MULT8(N) ((N) << (__typeof__(N)) 3)
43 #define GT_MULT16(N) ((N) << (__typeof__(N)) 4)
44 #define GT_MULT32(N) ((N) << (__typeof__(N)) 5)
45 #define GT_MULT64(N) ((N) << (__typeof__(N)) 6)
46
47 #define GT_POW2(N) ((__typeof__(N)) (1) << (__typeof__(N)) (N))
48 #define GT_LOG2(v) (log(v) / M_LN2)
49
50 #endif
1616
1717 #include <limits.h>
1818 #include "core/dlist.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/mathsupport.h"
2222 #include "core/unused_api.h"
2323
1717 #ifndef DLIST_H
1818 #define DLIST_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121
2222 #include "core/dlist_api.h"
2323
1616
1717 #include <string.h>
1818 #include "core/dyn_bittab.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/undef_api.h"
2222
2323 struct GtDynBittab {
1818 #define DYN_BITTAB_H
1919
2020 #include <stdbool.h>
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/types_api.h"
2323
2424 /* a bittab which grows on demand */
1515 */
1616
1717 #include "core/dynalloc.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919
2020 void* gt_dynalloc(void *ptr, size_t *allocated, size_t size)
2121 {
2020 #include <errno.h>
2121 #include <stdio.h>
2222 #include <string.h>
23 #include "core/error.h"
23 #include "core/error_api.h"
2424
2525 /*
2626 This module contains wrappers for the functions from the standard library we
1818 #define EBZLIB_H
1919
2020 #include <bzlib.h>
21 #include "core/error.h"
21 #include "core/error_api.h"
2222
2323 /*
2424 This module contains wrappers for the functions from the bz2lib we use.
3333 #include "core/cstr_api.h"
3434 #include "core/defined-types.h"
3535 #include "core/desc_buffer.h"
36 #include "core/divmodmul.h"
36 #include "core/divmodmul_api.h"
3737 #include "core/encseq.h"
3838 #include "core/encseq_access_type.h"
3939 #include "core/encseq_metadata.h"
4040 #include "core/encseq_rep.h"
41 #include "core/ensure.h"
42 #include "core/error.h"
43 #include "core/fa.h"
41 #include "core/ensure_api.h"
42 #include "core/error_api.h"
43 #include "core/fa_api.h"
4444 #include "core/filelengthvalues.h"
4545 #include "core/fileutils_api.h"
4646 #include "core/format64.h"
5151 #include "core/mapspec.h"
5252 #include "core/mathsupport.h"
5353 #include "core/md5_encoder_api.h"
54 #include "core/minmax.h"
54 #include "core/minmax_api.h"
5555 #include "core/progressbar.h"
5656 #include "core/sequence_buffer_fasta.h"
5757 #include "core/sequence_buffer_plain.h"
58 #include "core/str.h"
58 #include "core/str_api.h"
5959 #include "core/timer_api.h"
6060 #include "core/types_api.h"
6161 #include "core/undef_api.h"
2929 #include "core/filelengthvalues.h"
3030 #include "core/intbits.h"
3131 #include "core/md5_tab.h"
32 #include "core/range.h"
32 #include "core/range_api.h"
3333 #include "core/readmode.h"
34 #include "core/str.h"
34 #include "core/str_api.h"
3535 #include "core/str_array.h"
3636 #include "core/types_api.h"
3737 #include "core/arraydef.h"
2020 #include "core/encseq_col.h"
2121 #include "core/grep.h"
2222 #include "core/hashmap_api.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/md5_seqid.h"
2525 #include "core/seq_col_rep.h"
2626 #include "core/seq_info_cache.h"
27 #include "core/str.h"
27 #include "core/str_api.h"
2828 #include "core/undef_api.h"
2929
3030 struct GtEncseqCol {
1919 #include "core/encseq_metadata.h"
2020 #include "core/encseq.h"
2121 #include "core/encseq_rep.h"
22 #include "core/fa.h"
22 #include "core/fa_api.h"
2323 #include "core/intbits.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525
2626 struct GtEncseqMetadata
2727 {
1818 #include "core/basename_api.h"
1919 #include "core/encseq.h"
2020 #include "core/encseq_options.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/option_api.h"
2323 #include "core/str_api.h"
2424 #include "core/str_array.h"
+0
-38
src/core/ensure.h less more
0 /*
1 Copyright (c) 2007-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2013 Dirk Willrodt <willrodt@zbh.uni-hamburg.de>
3 Copyright (c) 2007-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef ENSURE_H
19 #define ENSURE_H
20
21 #include <stdbool.h>
22 #include "core/error.h"
23
24 /* the ensure macro used for unit tests */
25 #define gt_ensure(expr) \
26 do { \
27 if (!had_err) { \
28 if (!(expr)) { \
29 gt_error_set(err, "gt_ensure(%s) failed: function %s, file %s, " \
30 "line %d.\nThis is probably a bug, please report " \
31 "at https://github.com/genometools/genometools/issues.", \
32 #expr, __func__, __FILE__, __LINE__); \
33 had_err = -1; \
34 } \
35 } \
36 } while (false)
37 #endif
0 /*
1 Copyright (c) 2007-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2013 Dirk Willrodt <willrodt@zbh.uni-hamburg.de>
3 Copyright (c) 2007-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef ENSURE_API_H
19 #define ENSURE_API_H
20
21 #include <stdbool.h>
22 #include "core/error_api.h"
23
24 /* the ensure macro used for unit tests */
25 #define gt_ensure(expr) \
26 do { \
27 if (!had_err) { \
28 if (!(expr)) { \
29 gt_error_set(err, "gt_ensure(%s) failed: function %s, file %s, " \
30 "line %d.\nThis is probably a bug, please report " \
31 "at https://github.com/genometools/genometools/issues.", \
32 #expr, __func__, __FILE__, __LINE__); \
33 had_err = -1; \
34 } \
35 } \
36 } while (false)
37 #endif
1616
1717 #include <stdarg.h>
1818 #include "core/cstr_api.h"
19 #include "core/error.h"
20 #include "core/ma.h"
19 #include "core/error_api.h"
20 #include "core/ma_api.h"
2121 #include "core/xansi_api.h"
2222
2323 struct GtError {
+0
-26
src/core/error.h less more
0 /*
1 Copyright (c) 2006-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2006-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ERROR_H
18 #define ERROR_H
19
20 #include "core/error_api.h"
21
22 void gt_error_set_progname(GtError*, const char *progname);
23 const char* gt_error_get_progname(const GtError*);
24
25 #endif
6565 void gt_error_unset(GtError *err);
6666 /* Return the error string stored in <err> (the error must be set). */
6767 const char* gt_error_get(const GtError *err);
68 /* Sets the program name assigned to <err> to <progname>. */
69 void gt_error_set_progname(GtError *err, const char *progname);
70 /* Returns the program name assigned to <err>. */
71 const char* gt_error_get_progname(const GtError *err);
6872 /* Delete the error object <err>. */
6973 void gt_error_delete(GtError *err);
7074
1515 */
1616
1717 #include "example_rep.h" /* we need access to the class struct */
18 #include "core/ma.h" /* we need to allocate memory */
18 #include "core/ma_api.h" /* we need to allocate memory */
1919
2020 GtExample* gt_example_create(const GtExampleClass *ec)
2121 {
1717 #include <stdio.h>
1818 #include "example_b.h"
1919 #include "example_rep.h"
20 #include "core/str.h"
20 #include "core/str_api.h"
2121
2222 struct GtExampleB {
2323 GtExample parent_instance;
1818 #define EZLIB_H
1919
2020 #include <zlib.h>
21 #include "core/error.h"
21 #include "core/error_api.h"
2222
2323 /*
2424 This module contains wrappers for the functions from the zlib we use.
2121 #endif
2222 #include <fcntl.h>
2323 #include <unistd.h>
24 #include "core/compat.h"
24 #include "core/compat_api.h"
2525 #include "core/dynalloc.h"
2626 #include "core/eansi.h"
2727 #include "core/ebzlib.h"
2828 #include "core/ezlib.h"
29 #include "core/hashmap.h"
30 #include "core/fa.h"
31 #include "core/ma.h"
29 #include "core/hashmap_api.h"
30 #include "core/fa_api.h"
31 #include "core/ma_api.h"
3232 #include "core/spacepeak.h"
3333 #include "core/thread_api.h"
3434 #include "core/types_api.h"
+0
-180
src/core/fa.h less more
0 /*
1 Copyright (c) 2007-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2007-2008 Center for Bioinforfatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef FA_H
18 #define FA_H
19
20 #ifndef S_SPLINT_S
21 #include <bzlib.h>
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <zlib.h>
25 #include "core/error_api.h"
26 #include "core/str.h"
27
28 /* the file allocator module */
29
30 void gt_fa_init(void);
31
32 /* functions for normal file pointer */
33 #define gt_fa_fopen(path, mode, err)\
34 gt_fa_fopen_func(path, mode, __FILE__, __LINE__, err)
35 FILE* gt_fa_fopen_func(const char *path, const char *mode,
36 const char *src_file, int src_line, GtError *err);
37 #define gt_fa_xfopen(path, mode)\
38 gt_fa_xfopen_func(path, mode, __FILE__, __LINE__)
39 FILE* gt_fa_xfopen_func(const char *path, const char *mode,
40 const char *src_file, int src_line);
41 #define gt_fa_fopen_with_suffix(path, suffix, mode, err)\
42 gt_fa_fopen_with_suffix_func(path, suffix, mode, __FILE__, __LINE__, \
43 err)
44 FILE* gt_fa_fopen_with_suffix_func(const char *path, const char *suffix,
45 const char *mode, const char *src_file,
46 int src_line, GtError *err);
47 void gt_fa_fclose(FILE *stream);
48 void gt_fa_xfclose(FILE *stream);
49 void gt_fa_lock_shared(FILE *stream);
50 void gt_fa_lock_exclusive(FILE *stream);
51 void gt_fa_unlock(FILE *stream);
52
53 /* functions for gzip file pointer */
54 #define gt_fa_gzopen(path, mode, err)\
55 gt_fa_gzopen_func(path, mode, __FILE__, __LINE__, err)
56 gzFile gt_fa_gzopen_func(const char *path, const char *mode,
57 const char *src_file, int src_line, GtError *err);
58 #define gt_fa_xgzopen(path, mode)\
59 gt_fa_xgzopen_func(path, mode, __FILE__, __LINE__)
60 gzFile gt_fa_xgzopen_func(const char *path, const char *mode,
61 const char *src_file, int src_line);
62 void gt_fa_gzclose(gzFile stream);
63 void gt_fa_xgzclose(gzFile stream);
64
65 /* functions for bzip2 file pointer */
66 #define gt_fa_bzopen(path, mode, err)\
67 gt_fa_bzopen_func(path, mode, __FILE__, __LINE__, err)
68 BZFILE* gt_fa_bzopen_func(const char *path, const char *mode,
69 const char *src_file, int src_line, GtError *err);
70 #define gt_fa_xbzopen(path, mode)\
71 gt_fa_xbzopen_func(path, mode, __FILE__, __LINE__)
72 BZFILE* gt_fa_xbzopen_func(const char *path, const char *mode,
73 const char *src_file, int src_line);
74 void gt_fa_bzclose(BZFILE *stream);
75 void gt_fa_xbzclose(BZFILE *stream);
76
77 /* create a tmp file optionally using template analogous to mkstemp(3) */
78 enum tmpfp_flags
79 {
80 TMPFP_AUTOREMOVE = 1 << 0, /**< otherwise template holds a valid
81 * path to (re-)open the temporary
82 * file created */
83 TMPFP_USETEMPLATE = 1 << 1, /**< if set use string template
84 * given, otherwise the value of
85 * template is overwritten with an
86 * interval default */
87 TMPFP_OPENBINARY = 1 << 2, /**< use stdio mode "w+b", "w+" otherwise */
88 TMPFP_DEFAULT_FLAGS = 0,
89 };
90 #define gt_xtmpfp_generic(template_code, flags) \
91 gt_xtmpfp_generic_func(template_code, flags, \
92 __FILE__, __LINE__)
93 FILE* gt_xtmpfp_generic_func(GtStr *template_code, enum tmpfp_flags flags,
94 const char*, int);
95 #define gt_xtmpfp(template_code)\
96 gt_xtmpfp_generic(template_code, TMPFP_DEFAULT_FLAGS)
97
98 #define gt_fa_heap_read(PATH,LENPTR,ERR)\
99 gt_fa_heap_read_func(PATH,LENPTR,__FILE__,__LINE__,ERR)
100
101 void *gt_fa_heap_read_func(const char *path, size_t *len,
102 const char *src_file, int src_line, GtError *err);
103 /* memory map functions */
104 #define gt_fa_mmap_read(path, len, err)\
105 gt_fa_mmap_read_func(path, len, __FILE__, __LINE__, err)
106 void* gt_fa_mmap_read_func(const char *path, size_t *len,
107 const char *src_file, int src_line, GtError *err);
108
109 #define gt_fa_mmap_read_range(path, len, offset, err)\
110 gt_fa_mmap_read_func_range(path, len, offset, __FILE__, __LINE__, err)
111 void* gt_fa_mmap_read_func_range(const char *path, size_t len, size_t offset,
112 const char *src_file, int src_line, GtError *err);
113
114 #define gt_fa_mmap_write(path, len, err)\
115 gt_fa_mmap_write_func(path, len, __FILE__, __LINE__, err)
116 void* gt_fa_mmap_write_func(const char *path, size_t *len,
117 const char *src_file, int src_line, GtError *err);
118
119 #define gt_fa_mmap_write_range(path, len, offset, err)\
120 gt_fa_mmap_write_func_range(path, len, offset, __FILE__, __LINE__, err)
121 void* gt_fa_mmap_write_func_range(const char *path, size_t len, size_t offset,
122 const char *src_file, int src_line,
123 GtError *err);
124
125 #define gt_fa_xmmap_read(path, len)\
126 gt_fa_xmmap_read_func(path, len, __FILE__, __LINE__)
127 void* gt_fa_xmmap_read_func(const char *path, size_t *len,
128 const char *src_file, int src_line);
129
130 #define gt_fa_xmmap_read_range(path, len, offset)\
131 gt_fa_xmmap_read_func_range(path, len, offset, __FILE__, __LINE__)
132 void* gt_fa_xmmap_read_func_range(const char *path, size_t len, size_t offset,
133 const char *src_file, int src_line);
134
135 #define gt_fa_xmmap_write(path, len)\
136 gt_fa_xmmap_write_func(path, len, __FILE__, __LINE__)
137 void* gt_fa_xmmap_write_func(const char *path, size_t *len,
138 const char *src_file, int src_line);
139
140 #define gt_fa_xmmap_write_range(path, len, offset)\
141 gt_fa_xmmap_write_func_range(path, len, offset, __FILE__, __LINE__)
142 void* gt_fa_xmmap_write_func_range(const char *path, size_t len,
143 size_t offset,
144 const char *src_file, int src_line);
145
146 void gt_fa_xmunmap(void *addr);
147
148 #define gt_fa_mmap_generic_fd(fd, filename_to_map, len, offset, mapwritable, \
149 hard_fail, err) \
150 gt_fa_mmap_generic_fd_func(fd, filename_to_map, len, offset, \
151 mapwritable, hard_fail, __FILE__, __LINE__, \
152 err)
153 void* gt_fa_mmap_generic_fd_func(int fd, const char *filename, size_t len,
154 size_t offset, bool mapwritable,
155 bool hard_fail, const char *src_file,
156 int src_line, GtError *err);
157
158 #define gt_fa_mmap_read_with_suffix(path, suffix, len, err)\
159 gt_fa_mmap_read_with_suffix_func(path, suffix, len,__FILE__, __LINE__, \
160 err)
161 void* gt_fa_mmap_read_with_suffix_func(const char *path, const char *suffix,
162 size_t *len, const char *src_file,
163 int src_line, GtError *err);
164 void* gt_fa_mmap_check_size_with_suffix(const char *path, const char *suffix,
165 GtUword expectedunits,
166 size_t sizeofunit, GtError *err);
167
168 /* check if all allocated file pointer have been released, prints to stderr */
169 int gt_fa_check_fptr_leak(void);
170 /* check if all allocated memory maps have been freed, prints to stderr */
171 int gt_fa_check_mmap_leak(void);
172 void gt_fa_enable_global_spacepeak(void);
173 GtUword gt_fa_get_space_peak(void);
174 GtUword gt_fa_get_space_current(void);
175 void gt_fa_show_space_peak(FILE*);
176 void gt_fa_clean(void);
177
178 #endif /* S_SPLINT_S */
179 #endif
0 /*
1 Copyright (c) 2007-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2007-2008 Center for Bioinforfatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef FA_API_H
18 #define FA_API_H
19
20 #ifndef S_SPLINT_S
21 #include <bzlib.h>
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <zlib.h>
25 #include "core/error_api.h"
26 #include "core/str_api.h"
27
28 /* the file allocator module */
29
30 void gt_fa_init(void);
31
32 /* functions for normal file pointer */
33 #define gt_fa_fopen(path, mode, err)\
34 gt_fa_fopen_func(path, mode, __FILE__, __LINE__, err)
35 FILE* gt_fa_fopen_func(const char *path, const char *mode,
36 const char *src_file, int src_line, GtError *err);
37 #define gt_fa_xfopen(path, mode)\
38 gt_fa_xfopen_func(path, mode, __FILE__, __LINE__)
39 FILE* gt_fa_xfopen_func(const char *path, const char *mode,
40 const char *src_file, int src_line);
41 #define gt_fa_fopen_with_suffix(path, suffix, mode, err)\
42 gt_fa_fopen_with_suffix_func(path, suffix, mode, __FILE__, __LINE__, \
43 err)
44 FILE* gt_fa_fopen_with_suffix_func(const char *path, const char *suffix,
45 const char *mode, const char *src_file,
46 int src_line, GtError *err);
47 void gt_fa_fclose(FILE *stream);
48 void gt_fa_xfclose(FILE *stream);
49 void gt_fa_lock_shared(FILE *stream);
50 void gt_fa_lock_exclusive(FILE *stream);
51 void gt_fa_unlock(FILE *stream);
52
53 /* functions for gzip file pointer */
54 #define gt_fa_gzopen(path, mode, err)\
55 gt_fa_gzopen_func(path, mode, __FILE__, __LINE__, err)
56 gzFile gt_fa_gzopen_func(const char *path, const char *mode,
57 const char *src_file, int src_line, GtError *err);
58 #define gt_fa_xgzopen(path, mode)\
59 gt_fa_xgzopen_func(path, mode, __FILE__, __LINE__)
60 gzFile gt_fa_xgzopen_func(const char *path, const char *mode,
61 const char *src_file, int src_line);
62 void gt_fa_gzclose(gzFile stream);
63 void gt_fa_xgzclose(gzFile stream);
64
65 /* functions for bzip2 file pointer */
66 #define gt_fa_bzopen(path, mode, err)\
67 gt_fa_bzopen_func(path, mode, __FILE__, __LINE__, err)
68 BZFILE* gt_fa_bzopen_func(const char *path, const char *mode,
69 const char *src_file, int src_line, GtError *err);
70 #define gt_fa_xbzopen(path, mode)\
71 gt_fa_xbzopen_func(path, mode, __FILE__, __LINE__)
72 BZFILE* gt_fa_xbzopen_func(const char *path, const char *mode,
73 const char *src_file, int src_line);
74 void gt_fa_bzclose(BZFILE *stream);
75 void gt_fa_xbzclose(BZFILE *stream);
76
77 /* create a tmp file optionally using template analogous to mkstemp(3) */
78 enum tmpfp_flags
79 {
80 TMPFP_AUTOREMOVE = 1 << 0, /**< otherwise template holds a valid
81 * path to (re-)open the temporary
82 * file created */
83 TMPFP_USETEMPLATE = 1 << 1, /**< if set use string template
84 * given, otherwise the value of
85 * template is overwritten with an
86 * interval default */
87 TMPFP_OPENBINARY = 1 << 2, /**< use stdio mode "w+b", "w+" otherwise */
88 TMPFP_DEFAULT_FLAGS = 0,
89 };
90 #define gt_xtmpfp_generic(template_code, flags) \
91 gt_xtmpfp_generic_func(template_code, flags, \
92 __FILE__, __LINE__)
93 FILE* gt_xtmpfp_generic_func(GtStr *template_code, enum tmpfp_flags flags,
94 const char*, int);
95 #define gt_xtmpfp(template_code)\
96 gt_xtmpfp_generic(template_code, TMPFP_DEFAULT_FLAGS)
97
98 #define gt_fa_heap_read(PATH,LENPTR,ERR)\
99 gt_fa_heap_read_func(PATH,LENPTR,__FILE__,__LINE__,ERR)
100
101 void *gt_fa_heap_read_func(const char *path, size_t *len,
102 const char *src_file, int src_line, GtError *err);
103 /* memory map functions */
104 #define gt_fa_mmap_read(path, len, err)\
105 gt_fa_mmap_read_func(path, len, __FILE__, __LINE__, err)
106 void* gt_fa_mmap_read_func(const char *path, size_t *len,
107 const char *src_file, int src_line, GtError *err);
108
109 #define gt_fa_mmap_read_range(path, len, offset, err)\
110 gt_fa_mmap_read_func_range(path, len, offset, __FILE__, __LINE__, err)
111 void* gt_fa_mmap_read_func_range(const char *path, size_t len, size_t offset,
112 const char *src_file, int src_line, GtError *err);
113
114 #define gt_fa_mmap_write(path, len, err)\
115 gt_fa_mmap_write_func(path, len, __FILE__, __LINE__, err)
116 void* gt_fa_mmap_write_func(const char *path, size_t *len,
117 const char *src_file, int src_line, GtError *err);
118
119 #define gt_fa_mmap_write_range(path, len, offset, err)\
120 gt_fa_mmap_write_func_range(path, len, offset, __FILE__, __LINE__, err)
121 void* gt_fa_mmap_write_func_range(const char *path, size_t len, size_t offset,
122 const char *src_file, int src_line,
123 GtError *err);
124
125 #define gt_fa_xmmap_read(path, len)\
126 gt_fa_xmmap_read_func(path, len, __FILE__, __LINE__)
127 void* gt_fa_xmmap_read_func(const char *path, size_t *len,
128 const char *src_file, int src_line);
129
130 #define gt_fa_xmmap_read_range(path, len, offset)\
131 gt_fa_xmmap_read_func_range(path, len, offset, __FILE__, __LINE__)
132 void* gt_fa_xmmap_read_func_range(const char *path, size_t len, size_t offset,
133 const char *src_file, int src_line);
134
135 #define gt_fa_xmmap_write(path, len)\
136 gt_fa_xmmap_write_func(path, len, __FILE__, __LINE__)
137 void* gt_fa_xmmap_write_func(const char *path, size_t *len,
138 const char *src_file, int src_line);
139
140 #define gt_fa_xmmap_write_range(path, len, offset)\
141 gt_fa_xmmap_write_func_range(path, len, offset, __FILE__, __LINE__)
142 void* gt_fa_xmmap_write_func_range(const char *path, size_t len,
143 size_t offset,
144 const char *src_file, int src_line);
145
146 void gt_fa_xmunmap(void *addr);
147
148 #define gt_fa_mmap_generic_fd(fd, filename_to_map, len, offset, mapwritable, \
149 hard_fail, err) \
150 gt_fa_mmap_generic_fd_func(fd, filename_to_map, len, offset, \
151 mapwritable, hard_fail, __FILE__, __LINE__, \
152 err)
153 void* gt_fa_mmap_generic_fd_func(int fd, const char *filename, size_t len,
154 size_t offset, bool mapwritable,
155 bool hard_fail, const char *src_file,
156 int src_line, GtError *err);
157
158 #define gt_fa_mmap_read_with_suffix(path, suffix, len, err)\
159 gt_fa_mmap_read_with_suffix_func(path, suffix, len,__FILE__, __LINE__, \
160 err)
161 void* gt_fa_mmap_read_with_suffix_func(const char *path, const char *suffix,
162 size_t *len, const char *src_file,
163 int src_line, GtError *err);
164 void* gt_fa_mmap_check_size_with_suffix(const char *path, const char *suffix,
165 GtUword expectedunits,
166 size_t sizeofunit, GtError *err);
167
168 /* check if all allocated file pointer have been released, prints to stderr */
169 int gt_fa_check_fptr_leak(void);
170 /* check if all allocated memory maps have been freed, prints to stderr */
171 int gt_fa_check_mmap_leak(void);
172 void gt_fa_enable_global_spacepeak(void);
173 GtUword gt_fa_get_space_peak(void);
174 GtUword gt_fa_get_space_current(void);
175 void gt_fa_show_space_peak(FILE*);
176 void gt_fa_clean(void);
177
178 #endif /* S_SPLINT_S */
179 #endif
1515 */
1616
1717 #include <string.h>
18 #include "core/fasta.h"
18 #include "core/fasta_api.h"
1919 #include "core/fasta_separator.h"
2020 #include "core/xansi_api.h"
2121
1818 #define FASTA_H
1919
2020 #include "core/fasta_api.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222 #include "core/str_api.h"
2323
2424 /* Print a fasta entry with optional <description> and <suffix> plus mandatory
5656 GtUword sequence_length,
5757 GtUword width,
5858 GtStr *outstr);
59
60 /* Print a fasta entry with optional <description> and <suffix> plus mandatory
61 <sequence> to <outfp>. If <width> is != 0 the sequence is formatted
62 accordingly. */
63 void gt_fasta_show_entry_with_suffix(const char *description,
64 const char *sequence,
65 GtUword sequence_length,
66 const char *suffix, GtUword width,
67 GtFile *outfp);
68
69 /* Print a fasta entry with optional <description> and <suffix> plus mandatory
70 <sequence> to <outfp>. If <width> is != 0 the sequence is formatted
71 accordingly.
72 Will print at most <sequence_length> characters from <sequence> and at most
73 <description_length> characters from <description> if present. */
74 void gt_fasta_show_entry_nt_with_suffix(const char *description,
75 GtUword description_length,
76 const char *sequence,
77 GtUword sequence_length,
78 const char *suffix,
79 GtUword width,
80 GtFile *outfp);
81
82 /* Print a fasta entry with optional <description> and <suffix> plus mandatory
83 <sequence> to <outstr>. If <width> is != 0 the sequence is formatted
84 accordingly. */
85 void gt_fasta_show_entry_with_suffix_str(const char *description,
86 const char *sequence,
87 GtUword sequence_length,
88 const char *suffix, GtUword width,
89 GtStr *outstr);
90
91 /* Print a fasta entry with optional <description> and <suffix> plus mandatory
92 <sequence> to <outstr>. If <width> is != 0 the sequence is formatted
93 accordingly.
94 Will print at most <sequence_length> characters from <sequence> and at most
95 <description_length> characters from <description> if present. */
96 void gt_fasta_show_entry_nt_with_suffix_str(const char *description,
97 GtUword description_length,
98 const char *sequence,
99 GtUword sequence_length,
100 const char *suffix,
101 GtUword width,
102 GtStr *outstr);
103
59104 #endif
1515 */
1616
1717 #include "core/fasta_reader_rep.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020
2121 GtFastaReader* gt_fasta_reader_create(const GtFastaReaderClass *frc)
1818 #define FASTA_READER_H
1919
2020 #include <stdbool.h>
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/types_api.h"
2323
2424 /* the ``fasta reader'' interface */
1818 #define FASTA_READER_FSM_H
1919
2020 #include "core/fasta_reader.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222
2323 /* implements the ``fasta reader'' interface with a finite state machine
2424 (for educational purposes, the recursive descent parser is much faster) */
1818 #define FASTA_READER_REC_H
1919
2020 #include "core/fasta_reader.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222
2323 /* implements the ``fasta reader'' interface with a recursive descent parser */
2424 typedef struct GtFastaReaderRec GtFastaReaderRec;
1717 #include <string.h>
1818 #include "core/fasta_reader_seqit.h"
1919 #include "core/fasta_reader_rep.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/seq_iterator_sequence_buffer_api.h"
2222 #include "core/str_array.h"
2323
1818 #define FASTA_READER_SEQIT_H
1919
2020 #include "core/fasta_reader.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222
2323 /* implements the ``fasta reader'' interface via the sequence iterator class */
2424 typedef struct GtFastaReaderSeqIt GtFastaReaderSeqIt;
1717 #ifndef FASTQ_H
1818 #define FASTQ_H
1919
20 #include "core/file.h"
20 #include "core/file_api.h"
2121 #include "core/types_api.h"
2222
2323 #define GT_FASTQ_SEPARATOR_SEQ '@'
1717 #include <stdio.h>
1818 #include <string.h>
1919 #include "core/cstr_api.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/xansi_api.h"
2323 #include "core/xbzlib.h"
2424 #include "core/xzlib.h"
+0
-66
src/core/file.h less more
0 /*
1 Copyright (c) 2005-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef FILE_H
18 #define FILE_H
19
20 #include <stdlib.h>
21 #include "core/file_api.h"
22
23 typedef enum {
24 GT_FILE_MODE_UNCOMPRESSED,
25 GT_FILE_MODE_GZIP,
26 GT_FILE_MODE_BZIP2
27 } GtFileMode;
28
29 /* Returns <GT_FILE_MODE_GZIP> if file with <path> ends with '.gz',
30 <GT_FILE_MODE_BZIP2> if it ends with '.bz2', and <GT_FILE_MODE_UNCOMPRESSED>
31 otherwise. */
32 GtFileMode gt_file_mode_determine(const char *path);
33
34 /* Returns ".gz" if <mode> is GFM_GZIP, ".bz2" if <mode> is GFM_BZIP2, and ""
35 otherwise. */
36 const char* gt_file_mode_suffix(GtFileMode mode);
37
38 /* Returns the length of the ``basename'' of <path>. That is, the length of path
39 without '.gz' or '.bz2' suffixes. */
40 size_t gt_file_basename_length(const char *path);
41
42 /* Create a new GtFile object and open the underlying file handle, returns
43 NULL and sets <err> if the file <path> could not be opened. */
44 GtFile* gt_file_open(GtFileMode, const char *path, const char *mode,
45 GtError*);
46
47 /* Create a new GtFile object and open the underlying file handle, abort if
48 the file <path> does not exist. The <file_mode> has to be given
49 explicitly. */
50 GtFile* gt_file_xopen_file_mode(GtFileMode file_mode, const char *path,
51 const char *mode);
52
53 /* Create a new GtFile object and open the underlying file handle. Aborts if
54 the file <path> could not be opened. The GtFileMode is determined
55 automatically via gt_file_mode_determine(path). */
56 GtFile* gt_file_xopen(const char *path, const char *mode);
57
58 /* Returns the mode of the given <file>. */
59 GtFileMode gt_file_mode(const GtFile *file);
60
61 /* Unget character <c> to <file> (which obviously cannot be <NULL>).
62 Can only be used once at a time. */
63 void gt_file_unget_char(GtFile *file, char c);
64
65 #endif
1919
2020 #include <stdio.h>
2121 #include "core/error_api.h"
22
23 typedef enum {
24 GT_FILE_MODE_UNCOMPRESSED,
25 GT_FILE_MODE_GZIP,
26 GT_FILE_MODE_BZIP2
27 } GtFileMode;
2228
2329 /* This class defines (generic) files in __GenomeTools__. A generic file is is a
2430 file which either uncompressed or compressed (with gzip or bzip2).
6369 /* Rewind the generic <file>. */
6470 void gt_file_xrewind(GtFile *file);
6571
72 /* Returns <GT_FILE_MODE_GZIP> if file with <path> ends with '.gz',
73 <GT_FILE_MODE_BZIP2> if it ends with '.bz2', and <GT_FILE_MODE_UNCOMPRESSED>
74 otherwise. */
75 GtFileMode gt_file_mode_determine(const char *path);
76
77 /* Returns ".gz" if <mode> is GFM_GZIP, ".bz2" if <mode> is GFM_BZIP2, and ""
78 otherwise. */
79 const char* gt_file_mode_suffix(GtFileMode mode);
80
81 /* Returns the length of the ``basename'' of <path>. That is, the length of path
82 without '.gz' or '.bz2' suffixes. */
83 size_t gt_file_basename_length(const char *path);
84
85 /* Create a new GtFile object and open the underlying file handle, returns
86 NULL and sets <err> if the file <path> could not be opened. */
87 GtFile* gt_file_open(GtFileMode, const char *path, const char *mode,
88 GtError*);
89
90 /* Create a new GtFile object and open the underlying file handle, abort if
91 the file <path> does not exist. The <file_mode> has to be given
92 explicitly. */
93 GtFile* gt_file_xopen_file_mode(GtFileMode file_mode, const char *path,
94 const char *mode);
95
96 /* Create a new GtFile object and open the underlying file handle. Aborts if
97 the file <path> could not be opened. The GtFileMode is determined
98 automatically via gt_file_mode_determine(path). */
99 GtFile* gt_file_xopen(const char *path, const char *mode);
100
101 /* Returns the mode of the given <file>. */
102 GtFileMode gt_file_mode(const GtFile *file);
103
104 /* Unget character <c> to <file> (which obviously cannot be <NULL>).
105 Can only be used once at a time. */
106 void gt_file_unget_char(GtFile *file, char c);
66107 /* Close the underlying file handle and destroy the <file> object. */
67108 void gt_file_delete(GtFile *file);
68109
1919 #include <stdlib.h>
2020 #include <string.h>
2121 #include <fcntl.h>
22 #include "core/compat.h"
22 #include "core/compat_api.h"
2323 #include "core/cstr_api.h"
2424 #include "core/fileutils_api.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/sequence_buffer.h"
2727 #include "core/splitter.h"
2828 #include "core/xansi_api.h"
+0
-29
src/core/fileutils.h less more
0 /*
1 Copyright (c) 2010-2013 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef FILEUTILS_H
17 #define FILEUTILS_H
18
19 #include "core/fileutils_api.h"
20
21 /* Returns true if the file with the given <path> exists and is a directory,
22 false otherwise. */
23 bool gt_file_exists_and_is_dir(const char *path);
24
25 /* Compare two files bytewise, fails hard with exit(1) if files differ. */
26 void gt_xfile_cmp(const char *file1, const char *file2);
27
28 #endif
9090 concatenation of <path> and <suffix>. <file> must exist. */
9191 off_t gt_file_size_with_suffix(const char *path, const char *suffix);
9292
93 /* Returns true if the file with the given <path> exists and is a directory,
94 false otherwise. */
95 bool gt_file_exists_and_is_dir(const char *path);
96
97 /* Compare two files bytewise, fails hard with exit(1) if files differ. */
98 void gt_xfile_cmp(const char *file1, const char *file2);
99
93100 #endif
1818 #define GC_CONTENT_H
1919
2020 #include "core/alphabet.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222
2323 /* Show the GC-content for sequence <seq> with length <len> on <outfp>.
2424 <alpha> has to be compatible with a DNA alphabet. */
1717 #include <sys/types.h>
1818 #include <stdlib.h>
1919 #include <string.h>
20 #include "core/ensure.h"
20 #include "core/ensure_api.h"
2121 #include "core/grep.h"
22 #include "core/ma.h"
23 #include "core/str.h"
22 #include "core/ma_api.h"
23 #include "core/str_api.h"
2424 #include "core/unused_api.h"
2525 #include <tre/tre.h>
2626
1616
1717 #include <string.h>
1818 #include "core/assert_api.h"
19 #include "core/compat.h"
20 #include "core/fileutils.h"
19 #include "core/compat_api.h"
20 #include "core/fileutils_api.h"
2121 #include "core/gtdatapath.h"
2222 #include "core/log_api.h"
2323
1717 #ifndef GTDATAPATH_H
1818 #define GTDATAPATH_H
1919
20 #include "core/str.h"
20 #include "core/str_api.h"
2121
2222 /* get the path to the gtdata/ directory (including it) for the given <prog> */
2323 GtStr* gt_get_gtdata_path(const char *prog, GtError*);
1616
1717 #include "core/cstr_api.h"
1818 #include "core/hashtable.h"
19 #include "core/ma.h"
20 #include "core/hashmap.h"
19 #include "core/ma_api.h"
20 #include "core/hashmap_api.h"
2121 #include "core/hashmap-generic.h"
2222 #include "core/types_api.h"
2323
+0
-29
src/core/hashmap.h less more
0 /*
1 Copyright (c) 2008 Thomas Jahns <Thomas.Jahns@gmx.net>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16 #ifndef HASHMAP_H
17 #define HASHMAP_H
18
19 #include "core/hashmap_api.h"
20
21 /* Returns the key stored in <hm> for <key> or NULL if no such key exists. */
22 void* gt_hashmap_get_key(GtHashmap *hm, const void *key);
23 GtHashmap* gt_hashmap_new_no_ma(GtHashType keyhashtype, GtFree keyfree,
24 GtFree valuefree);
25
26 int gt_hashmap_unit_test(GtError*);
27
28 #endif
4747 strings are identical, regardless of their address in memory */
4848 GtHashmap* gt_hashmap_new(GtHashType keyhashtype, GtFree keyfree,
4949 GtFree valuefree);
50
50 /* Like gt_hashmap_new(), but without using GenomeTools' memory allocator. */
51 GtHashmap* gt_hashmap_new_no_ma(GtHashType keyhashtype, GtFree keyfree,
52 GtFree valuefree);
5153 /* Increase the reference count of <hm>. */
5254 GtHashmap* gt_hashmap_ref(GtHashmap *hm);
5355
5456 /* Return the value stored in <hashmap> for <key> or <NULL> if no such key
5557 exists. */
5658 void* gt_hashmap_get(GtHashmap *hashmap, const void *key);
59 /* Returns the key stored in <hm> for <key> or NULL if no such key exists. */
60 void* gt_hashmap_get_key(GtHashmap *hm, const void *key);
5761 /* Set the value stored in <hashmap> for <key> to <value>, overwriting the prior
5862 value for that key if present. */
5963 void gt_hashmap_add(GtHashmap *hashmap, void *key, void *value);
8084 /* Delete <hashmap>, calling the free function if necessary. */
8185 void gt_hashmap_delete(GtHashmap *hashmap);
8286
87 int gt_hashmap_unit_test(GtError*);
8388 #endif
2323 #include "core/array.h"
2424 #include "core/cstr_api.h"
2525 #include "core/hashtable.h"
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/qsort_r_api.h"
2828 #include "core/thread_api.h"
2929 #include "core/types_api.h"
2020 #include <inttypes.h>
2121 #include <stdlib.h>
2222
23 #include "core/error.h"
23 #include "core/error_api.h"
2424 #include "core/fptr_api.h"
2525 #include "core/types_api.h"
2626
2626 #include "core/combinatorics.h"
2727 #include "core/cstr_api.h"
2828 #include "core/cstr_array.h"
29 #include "core/fa.h"
29 #include "core/fa_api.h"
3030 #include "core/init_api.h"
3131 #include "core/log.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/option_api.h"
3434 #include "core/showtime.h"
3535 #include "core/spacepeak.h"
1919
2020 #include <inttypes.h>
2121 #include <string.h>
22 #include "core/divmodmul.h"
22 #include "core/divmodmul_api.h"
2323 #include "core/ma_api.h"
2424 #include "core/safecast-gen.h"
2525 #include "core/types_api.h"
1616
1717 #include <limits.h>
1818 #include <string.h>
19 #include "core/ensure.h"
19 #include "core/ensure_api.h"
2020 #include "core/interval_tree.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
23 #include "core/minmax.h"
24 #include "core/range.h"
25 #include "core/str.h"
23 #include "core/minmax_api.h"
24 #include "core/range_api.h"
25 #include "core/str_api.h"
2626 #include "core/unused_api.h"
2727
2828 typedef enum GtIntervalTreeNodeColor {
1717 #ifndef INTERVAL_TREE_H
1818 #define INTERVAL_TREE_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121
2222 #include "core/interval_tree_api.h"
2323
1616
1717 #include <string.h>
1818 #include "core/io.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020
2121 struct GtIO {
2222 GtFile *fp;
1919
2020 #include <stdbool.h>
2121 #include <stdio.h>
22 #include "core/str.h"
22 #include "core/str_api.h"
2323
2424 #define GT_CARRIAGE_RETURN '\r'
2525 #define GT_END_OF_LINE '\n'
1717 #include <errno.h>
1818 #include <string.h>
1919 #include "core/array_api.h"
20 #include "core/compat.h"
21 #include "core/hashmap.h"
22 #include "core/ma.h"
20 #include "core/compat_api.h"
21 #include "core/hashmap_api.h"
22 #include "core/ma_api.h"
2323 #include "core/multithread_api.h"
2424 #include "core/spacecalc.h"
2525 #include "core/spacepeak.h"
+0
-41
src/core/ma.h less more
0 /*
1 Copyright (c) 2007-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2007-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef MA_H
18 #define MA_H
19
20 #include <stdbool.h>
21 #include <stdio.h>
22 #include <stdlib.h>
23 #include "core/ma_api.h"
24 #include "core/error_api.h"
25 #include "core/types_api.h"
26
27 void gt_ma_init(bool bookkeeping);
28 void gt_ma_enable_global_spacepeak(void);
29 void gt_ma_disable_global_spacepeak(void);
30 GtUword gt_ma_get_space_peak(void); /* in bytes */
31 GtUword gt_ma_get_space_current(void);
32 void gt_ma_show_space_peak(FILE*);
33 void gt_ma_show_allocations(FILE*);
34 bool gt_ma_bookkeeping_enabled(void);
35 /* check if all allocated memory has been freed, prints to stderr */
36 int gt_ma_check_space_leak(void);
37 void gt_ma_clean(void);
38 int gt_ma_unit_test(GtError*);
39
40 #endif
2020 #include <stdbool.h>
2121 #include <stdio.h>
2222 #include <stdlib.h>
23 #include "core/error_api.h"
24 #include "core/types_api.h"
2325
2426 /* MemoryAllocation module */
27
28 /* Initialize the memory allocator. Only needs to be done once per process. */
29 void gt_ma_init(bool bookkeeping);
30 /* Enable bookkeeping for global space peak. */
31 void gt_ma_enable_global_spacepeak(void);
32 /* Disable bookkeeping for global space peak. */
33 void gt_ma_disable_global_spacepeak(void);
34 /* Return current global space peak, in bytes. */
35 GtUword gt_ma_get_space_peak(void);
36 /* Return current space usage, in bytes. */
37 GtUword gt_ma_get_space_current(void);
38 /* Print statistics about current space peak to <fp>. */
39 void gt_ma_show_space_peak(FILE *fp);
40 /* Print statistics about allocations to <fp>. */
41 void gt_ma_show_allocations(FILE *fp);
42 /* Returns TRUE if any bookeeping is enabled. */
43 bool gt_ma_bookkeeping_enabled(void);
44 /* Check if all allocated memory has been freed, prints result to stderr. */
45 int gt_ma_check_space_leak(void);
46 /* Finalize and free static data held by memory allocator. */
47 void gt_ma_clean(void);
48 int gt_ma_unit_test(GtError*);
2549
2650 /* Allocate ___uninitialized___ space for an object whose size is specified by
2751 <size> and return it.
1515 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1616 */
1717
18 #include "core/error.h"
19 #include "core/fa.h"
18 #include "core/error_api.h"
19 #include "core/fa_api.h"
2020 #include "core/filelengthvalues.h"
2121 #include "core/format64.h"
2222 #include "core/intbits.h"
2424 #include "core/mapspec.h"
2525 #include "core/pairbwtidx.h"
2626 #include "core/safecast-gen.h"
27 #include "core/str.h"
27 #include "core/str_api.h"
2828 #include "core/ulongbound.h"
2929 #include "core/xansi_api.h"
3030
2121 #include "core/arraydef.h"
2222 #include "core/bitpackarray.h"
2323 #include "core/chardef.h"
24 #include "core/error.h"
24 #include "core/error_api.h"
2525 #include "core/intbits.h"
2626 #include "core/filelengthvalues.h"
2727 #include "core/pairbwtidx.h"
2121 #include <stdio.h>
2222
2323 #include "core/byte_select_api.h"
24 #include "core/ensure.h"
24 #include "core/ensure_api.h"
2525 #include "core/intbits.h"
2626 #include "core/mathsupport.h"
2727 #include "core/yarandom.h" /* necessary to define random() correctly */
2626 #include <stdio.h>
2727
2828 #include "core/assert_api.h"
29 #include "core/ma.h"
29 #include "core/ma_api.h"
3030 #include "core/md5_encoder_api.h"
3131
3232 #define GT_MD5_WORD 32
1717 #include <ctype.h>
1818 #include <string.h>
1919 #include "md5.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/md5_encoder_api.h"
2222 #include "core/md5_fingerprint_api.h"
23 #include "core/safearith.h"
23 #include "core/safearith_api.h"
2424
2525 char* gt_md5_fingerprint(const char *sequence, GtUword seqlen)
2626 {
1717
1818 #include <string.h>
1919 #include "core/assert_api.h"
20 #include "core/ensure.h"
20 #include "core/ensure_api.h"
2121 #include "core/md5_seqid.h"
2222 #include "core/undef_api.h"
2323
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
17 #include "core/fa_api.h"
1818 #include "core/fileutils_api.h"
1919 #include "core/hashmap_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/md5_fingerprint_api.h"
2222 #include "core/md5_tab.h"
2323 #include "core/undef_api.h"
+0
-48
src/core/minmax.h less more
0 /*
1 Copyright (c) 2007 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
2 Copyright (c) 2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef MINMAX_H
18 #define MINMAX_H
19
20 /*
21 This file defines macros for maximum and minimum computation,
22 if they are not already defined.
23 */
24
25 #ifndef MAX
26 #define MAX(X,Y) (((X) > (Y)) ? (X) : (Y))
27 #endif
28
29 #ifndef MIN
30 #define MIN(X,Y) (((X) < (Y)) ? (X) : (Y))
31 #endif
32
33 #ifndef MIN3
34 #define MIN3(a, b, c) (((a)<(b))?((a)<(c)?(a):(c)):((b)<(c)?(b):(c)))
35 #endif
36
37 #ifndef MAX3
38 #define MAX3(a, b, c) (((a)>(b))?((a)>(c)?(a):(c)):((b)>(c)?(b):(c)))
39 #endif
40
41 #define GT_UPDATE_MAX(MAXVAL,NEWVAL)\
42 if ((MAXVAL) < (NEWVAL))\
43 {\
44 MAXVAL = NEWVAL;\
45 }
46
47 #endif
0 /*
1 Copyright (c) 2007 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
2 Copyright (c) 2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef MINMAX_API_H
18 #define MINMAX_API_H
19
20 /*
21 This file defines macros for maximum and minimum computation,
22 if they are not already defined.
23 */
24
25 #ifndef MAX
26 #define MAX(X,Y) (((X) > (Y)) ? (X) : (Y))
27 #endif
28
29 #ifndef MIN
30 #define MIN(X,Y) (((X) < (Y)) ? (X) : (Y))
31 #endif
32
33 #ifndef MIN3
34 #define MIN3(a, b, c) (((a)<(b))?((a)<(c)?(a):(c)):((b)<(c)?(b):(c)))
35 #endif
36
37 #ifndef MAX3
38 #define MAX3(a, b, c) (((a)>(b))?((a)>(c)?(a):(c)):((b)>(c)?(b):(c)))
39 #endif
40
41 #define GT_UPDATE_MAX(MAXVAL,NEWVAL)\
42 if ((MAXVAL) < (NEWVAL))\
43 {\
44 MAXVAL = NEWVAL;\
45 }
46
47 #endif
5050 #include <stdlib.h>
5151 #include <string.h>
5252 #include <inttypes.h>
53 #include "core/ma.h"
53 #include "core/ma_api.h"
5454 #include "core/msort.h"
5555
5656 #define ISIZE sizeof (int)
2020 #include <string.h>
2121 #include "gt_config.h"
2222 #include "core/cstr_api.h"
23 #include "core/error.h"
24 #include "core/fa.h"
23 #include "core/error_api.h"
24 #include "core/fa_api.h"
2525 #include "core/fileutils_api.h"
2626 #include "core/hashmap_api.h"
2727 #include "core/grep_api.h"
28 #include "core/ma.h"
28 #include "core/ma_api.h"
2929 #include "core/mail_address.h"
3030 #include "core/option.h"
3131 #include "core/parseutils.h"
1717 #include "core/assert_api.h"
1818 #include "core/codon_api.h"
1919 #include "core/orf.h"
20 #include "core/range.h"
20 #include "core/range_api.h"
2121 #include "core/trans_table.h"
2222 #include "core/undef_api.h"
2323
1515 */
1616
1717 #include <string.h>
18 #include "core/file.h"
18 #include "core/file_api.h"
1919 #include "core/fileutils_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/output_file_api.h"
2222 #include "core/warning_api.h"
2323
1717 #ifndef PASSWORD_ENTRY_H
1818 #define PASSWORD_ENTRY_H
1919
20 #include <core/error.h>
21 #include <core/str.h>
20 #include <core/error_api.h>
21 #include <core/str_api.h>
2222
2323 GtStr* gt_get_password(const char *prompt, GtError *err);
2424
00 #include <stdbool.h>
1 #include "core/minmax.h"
2 #include "core/divmodmul.h"
1 #include "core/minmax_api.h"
2 #include "core/divmodmul_api.h"
33 #include "core/stack-inlined.h"
44
55 /*
3737 #include <stdlib.h>
3838
3939 #include "core/fptr_api.h"
40 #include "core/minmax.h"
40 #include "core/minmax_api.h"
4141 #include "core/types_api.h"
4242
4343 static inline void *
1717 #include <math.h>
1818 #include <ctype.h>
1919 #include "core/assert_api.h"
20 #include "core/ensure.h"
20 #include "core/ensure_api.h"
2121 #include "core/quality.h"
2222 #include "core/mathsupport.h"
2323
1616
1717 #include <string.h>
1818 #include "core/dynalloc.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/queue.h"
2222 #include "core/unused_api.h"
2323
5252 #include "core/unused_api.h"
5353 #include "core/array2dim_api.h"
5454 #include "core/assert_api.h"
55 #include "core/divmodmul.h"
56 #include "core/minmax.h"
55 #include "core/divmodmul_api.h"
56 #include "core/minmax_api.h"
5757 #include "core/types_api.h"
5858 #include "core/stack-inlined.h"
5959 #include "core/radix_sort.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ensure.h"
18 #include "core/minmax.h"
17 #include "core/ensure_api.h"
18 #include "core/minmax_api.h"
1919 #include "core/msort.h"
20 #include "core/range.h"
21 #include "core/safearith.h"
20 #include "core/range_api.h"
21 #include "core/safearith_api.h"
2222 #include "core/undef_api.h"
2323
2424 int gt_range_compare(const GtRange *range_a, const GtRange *range_b)
+0
-57
src/core/range.h less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef RANGE_H
18 #define RANGE_H
19
20 #include "core/error_api.h"
21 #include "core/file.h"
22 #include "core/range_api.h"
23
24 GtRange gt_range_reorder(GtRange);
25 int gt_range_unit_test(GtError*);
26
27 void gt_ranges_sort(GtArray*);
28 void gt_ranges_sort_by_length_stable(GtArray*);
29 bool gt_ranges_are_sorted(const GtArray*);
30 bool gt_ranges_do_not_overlap(const GtArray*);
31 bool gt_ranges_are_sorted_and_do_not_overlap(const GtArray*);
32 bool gt_ranges_are_equal(const GtArray*, const GtArray*);
33
34 /* takes a sorted array of ranges and runs the equivalent of uniq on it. The
35 result is returned. */
36 void gt_ranges_uniq(GtArray*, const GtArray*);
37 /* similar to the previous function, just in place */
38 void gt_ranges_uniq_in_place(GtArray*);
39 /* similar to gt_ranges_uniq(), additionally returns an array which contains the
40 counts of the occurrences of each elem in the original array */
41 GtArray* gt_ranges_uniq_count(GtArray*, const GtArray*);
42 /* similar to the previous function, just in place */
43 GtArray* gt_ranges_uniq_in_place_count(GtArray*);
44
45 bool gt_ranges_are_consecutive(const GtArray*);
46 GtUword gt_ranges_total_length(const GtArray*);
47 GtUword gt_ranges_spanned_length(const GtArray*);
48 void gt_ranges_copy_to_opposite_strand(GtArray *outranges,
49 const GtArray *inranges,
50 GtUword gen_total_length,
51 GtUword gen_offset);
52 bool gt_ranges_borders_are_in_region(GtArray *ranges,
53 const GtRange *region);
54 void gt_ranges_show(GtArray *ranges, GtFile *outfp);
55
56 #endif
1919
2020 #include <stdbool.h>
2121 #include "core/array_api.h"
22 #include "core/error_api.h"
23 #include "core/file_api.h"
24 #include "core/range_api.h"
2225
2326 /* The <GtRange> class is used to represent genomic ranges in __GenomeTools__.
2427 Thereby, the <start> must ___always___ be smaller or equal than the <end>. */
5861 GtRange gt_range_offset(const GtRange *range, GtWord offset);
5962 /* Returns the length of the given <range>. */
6063 GtUword gt_range_length(const GtRange *range);
64 /* Reorder <range>. */
65 GtRange gt_range_reorder(GtRange range);
66 /* Sort an array <ranges> of ranges. */
67 void gt_ranges_sort(GtArray *ranges);
68 /* Sort an array <ranges> of ranges by length. */
69 void gt_ranges_sort_by_length_stable(GtArray *ranges);
70 /* RetuUE if the ranges in <ranges> are sorted. */
71 bool gt_ranges_are_sorted(const GtArray *ranges);
72 /* Returns TRUE if the ranges in <ranges> do not overlap. */
73 bool gt_ranges_do_not_overlap(const GtArray *ranges);
74 /* Retuns TRUE if the ranges in <ranges> are sorted and do not overlap. */
75 bool gt_ranges_are_sorted_and_do_not_overlap(const GtArray *ranges);
76 /* Returns TRUE if the ranges in <ranges_a> and <ranges_b> are equal. */
77 bool gt_ranges_are_equal(const GtArray *ranges_a,
78 const GtArray *ranges_b);
79 /* Takes a sorted array of ranges and runs the equivalent of uniq on it. */
80 void gt_ranges_uniq(GtArray*, const GtArray*);
81 /* Similar to the previous function, just in place. */
82 void gt_ranges_uniq_in_place(GtArray*);
83 /* Similar to gt_ranges_uniq(), additionally returns an array which contains the
84 counts of the occurrences of each elem in the original array. */
85 GtArray* gt_ranges_uniq_count(GtArray*, const GtArray*);
86 /* Similar to the previous function, just in place.S */
87 GtArray* gt_ranges_uniq_in_place_count(GtArray*);
88 /* Returns TRUE if the ranges in <ranges> are consecutive. */
89 bool gt_ranges_are_consecutive(const GtArray *ranges);
90 /* Returns the sum of the length of the ranges in <ranges>. */
91 GtUword gt_ranges_total_length(const GtArray *ranges);
92 /* Returns the length of the boundaries of the ranges in <ranges>. */
93 GtUword gt_ranges_spanned_length(const GtArray *ranges);
94 /* Copies ranges <inranges> to the 'opposite' strand, the result being in
95 <outranges>. */
96 void gt_ranges_copy_to_opposite_strand(GtArray *outranges,
97 const GtArray *inranges,
98 GtUword gen_total_length,
99 GtUword gen_offset);
100 /* Returns TRUE if all ranges in <ranges> are within the <region>. */
101 bool gt_ranges_borders_are_in_region(GtArray *ranges,
102 const GtRange *region);
103 /* Prints a representation of the ranges <ranges> to <outfp>. */
104 void gt_ranges_show(GtArray *ranges, GtFile *outfp);
105
106 int gt_range_unit_test(GtError*);
61107
62108 #endif
1515 */
1616
1717 #include <string.h>
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/readmode.h"
2020
2121 static char *readmodes[] = {"fwd",
1616 */
1717
1818 #include <limits.h>
19 #include "core/ensure.h"
20 #include "core/safearith.h"
19 #include "core/ensure_api.h"
20 #include "core/safearith_api.h"
2121 #include "core/types_api.h"
2222 #include "core/unused_api.h"
2323
+0
-155
src/core/safearith.h less more
0 /*
1 Copyright (c) 2007-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2010 Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
3 Copyright (c) 2007-2010 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef SAFEARITH_H
19 #define SAFEARITH_H
20
21 #include <inttypes.h>
22 #include <stdbool.h>
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include "core/error.h"
26 #include "core/safearith_imp.h"
27 #include "core/types_api.h"
28
29 /*
30 This module allows one to do safe arithmetics in C (preventing overflows).
31 For an introduction to the theory behind this see
32
33 http://www.fefe.de/intof.html
34 */
35
36 /* assign <src> to <dest> or exit upon overflow */
37 #define gt_safe_assign(dest, src) \
38 do { \
39 if (assign(dest, src)) { \
40 fprintf(stderr, "%s, l.%d: overflow in assignment\n", __FILE__, \
41 __LINE__); \
42 exit(EXIT_FAILURE); \
43 } \
44 } while (false)
45
46 /* add <a> to <b> and assign the result to <c> or exit upon overflow */
47 #define gt_safe_add(c, a, b) \
48 do { \
49 if (add_of(c, a, b)) { \
50 fprintf(stderr, "%s, l.%d: overflow in addition\n", __FILE__, \
51 __LINE__); \
52 exit(EXIT_FAILURE); \
53 } \
54 } while (false)
55
56 /* subtract <b> from <a> and assign the result to <c> or exit upon overflow */
57 /* Warning: this will result in an overflow if c is signed and a and b are
58 unsigned values, as integer promotion will garble the tests. */
59 #define gt_safe_sub(c, a, b) \
60 do { \
61 if (sub_of(c, a, b)) { \
62 fprintf(stderr, "%s, l.%d: overflow in subtraction\n", __FILE__, \
63 __LINE__); \
64 exit(EXIT_FAILURE); \
65 } \
66 } while (false)
67
68 typedef void (GtOverflowHandlerFunc)(const char *src_file, int src_line,
69 void *data);
70
71 void gt_safe_default_overflow_handler(const char*, int, void*);
72
73 int gt_safe_abs_check_func(int, const char*, int,
74 GtOverflowHandlerFunc, void*);
75 #define gt_safe_abs(j) \
76 gt_safe_abs_check_func(j, __FILE__, __LINE__, \
77 gt_safe_default_overflow_handler, NULL)
78 #define gt_safe_abs_check(j, func, data) \
79 gt_safe_abs_check_func(j, __FILE__, __LINE__, func, data)
80
81 GtWord gt_safe_labs_check_func(GtWord, const char*, int,
82 GtOverflowHandlerFunc, void*);
83 #define gt_safe_labs(j) \
84 gt_safe_labs_check_func(j, __FILE__, __LINE__, \
85 gt_safe_default_overflow_handler, NULL)
86 #define gt_safe_labs_check(j, func, data) \
87 gt_safe_labs_check_func(j, __FILE__, __LINE__, func, data)
88
89 GtInt64 gt_safe_llabs_check_func(GtInt64, const char*, int,
90 GtOverflowHandlerFunc, void*);
91 #define gt_safe_llabs(j) \
92 gt_safe_llabs_check_func(j, __FILE__, __LINE__, \
93 gt_safe_default_overflow_handler, NULL)
94 #define gt_safe_llabs_check(j, func, data) \
95 gt_safe_llabs_check_func(j, __FILE__, __LINE__, func, data)
96
97 uint32_t gt_safe_mult_u32_check_func(uint32_t, uint32_t, const char*, int,
98 GtOverflowHandlerFunc, void*);
99 #define gt_safe_mult_u32(i, j) \
100 gt_safe_mult_u32_check_func(i, j, __FILE__, __LINE__, \
101 gt_safe_default_overflow_handler, \
102 NULL)
103 #define gt_safe_mult_u32_check(i, j, func, data) \
104 gt_safe_mult_u32_check_func(i, j, __FILE__, __LINE__, func, data)
105
106 uint64_t gt_safe_mult_u64_check_func(uint64_t, uint64_t, const char*, int,
107 GtOverflowHandlerFunc, void*);
108 #define gt_safe_mult_u64(i, j) \
109 gt_safe_mult_u64_check_func(i, j, __FILE__, __LINE__, \
110 gt_safe_default_overflow_handler, \
111 NULL)
112 #define gt_safe_mult_u64_check(i, j, func, data) \
113 gt_safe_mult_u64_check_func(i, j, __FILE__, __LINE__, func, data)
114
115 GtUword gt_safe_mult_ulong_check_func(GtUword, GtUword,
116 const char*, int,
117 GtOverflowHandlerFunc, void*);
118 #define gt_safe_mult_ulong(i, j) \
119 gt_safe_mult_ulong_check_func(i, j, __FILE__, __LINE__, \
120 gt_safe_default_overflow_handler, \
121 NULL)
122 #define gt_safe_mult_ulong_check(i, j, func, data) \
123 gt_safe_mult_ulong_check_func(i, j, __FILE__, __LINE__, func, \
124 data)
125
126 GtWord gt_safe_cast2long_check_func(GtUword, const char*, int,
127 GtOverflowHandlerFunc, void*);
128 #define gt_safe_cast2long(j) \
129 gt_safe_cast2long_check_func(j, __FILE__, __LINE__, \
130 gt_safe_default_overflow_handler, NULL)
131 #define gt_safe_cast2long_check(j, func, data) \
132 gt_safe_cast2long_check_func(j, __FILE__, __LINE__, func, data)
133
134 GtUword gt_safe_cast2ulong_check_func(GtWord, const char*, int,
135 GtOverflowHandlerFunc, void*);
136 #define gt_safe_cast2ulong(j) \
137 gt_safe_cast2ulong_check_func(j, __FILE__, __LINE__, \
138 gt_safe_default_overflow_handler, NULL)
139 #define gt_safe_cast2ulong_check(j, func, data) \
140 gt_safe_cast2ulong_check_func(j, __FILE__, __LINE__, func, data)
141
142 GtUword gt_safe_cast2ulong_64_check_func(uint64_t, const char*, int,
143 GtOverflowHandlerFunc, void*);
144 #define gt_safe_cast2ulong_64(j) \
145 gt_safe_cast2ulong_64_check_func(j, __FILE__, __LINE__, \
146 gt_safe_default_overflow_handler, NULL)
147 #define gt_safe_cast2ulong_64_check(j, func, data) \
148 gt_safe_cast2ulong_64_check_func(j, __FILE__, __LINE__, func, \
149 data)
150
151 int gt_safearith_example(GtError*);
152 int gt_safearith_unit_test(GtError*);
153
154 #endif
0 /*
1 Copyright (c) 2007-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2010 Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
3 Copyright (c) 2007-2010 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef SAFEARITH_H
19 #define SAFEARITH_H
20
21 #include <inttypes.h>
22 #include <stdbool.h>
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include "core/error_api.h"
26 #include "core/safearith_imp.h"
27 #include "core/types_api.h"
28
29 /*
30 This module allows one to do safe arithmetics in C (preventing overflows).
31 For an introduction to the theory behind this see
32
33 http://www.fefe.de/intof.html
34 */
35
36 /* assign <src> to <dest> or exit upon overflow */
37 #define gt_safe_assign(dest, src) \
38 do { \
39 if (assign(dest, src)) { \
40 fprintf(stderr, "%s, l.%d: overflow in assignment\n", __FILE__, \
41 __LINE__); \
42 exit(EXIT_FAILURE); \
43 } \
44 } while (false)
45
46 /* add <a> to <b> and assign the result to <c> or exit upon overflow */
47 #define gt_safe_add(c, a, b) \
48 do { \
49 if (add_of(c, a, b)) { \
50 fprintf(stderr, "%s, l.%d: overflow in addition\n", __FILE__, \
51 __LINE__); \
52 exit(EXIT_FAILURE); \
53 } \
54 } while (false)
55
56 /* subtract <b> from <a> and assign the result to <c> or exit upon overflow */
57 /* Warning: this will result in an overflow if c is signed and a and b are
58 unsigned values, as integer promotion will garble the tests. */
59 #define gt_safe_sub(c, a, b) \
60 do { \
61 if (sub_of(c, a, b)) { \
62 fprintf(stderr, "%s, l.%d: overflow in subtraction\n", __FILE__, \
63 __LINE__); \
64 exit(EXIT_FAILURE); \
65 } \
66 } while (false)
67
68 typedef void (GtOverflowHandlerFunc)(const char *src_file, int src_line,
69 void *data);
70
71 void gt_safe_default_overflow_handler(const char*, int, void*);
72
73 int gt_safe_abs_check_func(int, const char*, int,
74 GtOverflowHandlerFunc, void*);
75 #define gt_safe_abs(j) \
76 gt_safe_abs_check_func(j, __FILE__, __LINE__, \
77 gt_safe_default_overflow_handler, NULL)
78 #define gt_safe_abs_check(j, func, data) \
79 gt_safe_abs_check_func(j, __FILE__, __LINE__, func, data)
80
81 GtWord gt_safe_labs_check_func(GtWord, const char*, int,
82 GtOverflowHandlerFunc, void*);
83 #define gt_safe_labs(j) \
84 gt_safe_labs_check_func(j, __FILE__, __LINE__, \
85 gt_safe_default_overflow_handler, NULL)
86 #define gt_safe_labs_check(j, func, data) \
87 gt_safe_labs_check_func(j, __FILE__, __LINE__, func, data)
88
89 GtInt64 gt_safe_llabs_check_func(GtInt64, const char*, int,
90 GtOverflowHandlerFunc, void*);
91 #define gt_safe_llabs(j) \
92 gt_safe_llabs_check_func(j, __FILE__, __LINE__, \
93 gt_safe_default_overflow_handler, NULL)
94 #define gt_safe_llabs_check(j, func, data) \
95 gt_safe_llabs_check_func(j, __FILE__, __LINE__, func, data)
96
97 uint32_t gt_safe_mult_u32_check_func(uint32_t, uint32_t, const char*, int,
98 GtOverflowHandlerFunc, void*);
99 #define gt_safe_mult_u32(i, j) \
100 gt_safe_mult_u32_check_func(i, j, __FILE__, __LINE__, \
101 gt_safe_default_overflow_handler, \
102 NULL)
103 #define gt_safe_mult_u32_check(i, j, func, data) \
104 gt_safe_mult_u32_check_func(i, j, __FILE__, __LINE__, func, data)
105
106 uint64_t gt_safe_mult_u64_check_func(uint64_t, uint64_t, const char*, int,
107 GtOverflowHandlerFunc, void*);
108 #define gt_safe_mult_u64(i, j) \
109 gt_safe_mult_u64_check_func(i, j, __FILE__, __LINE__, \
110 gt_safe_default_overflow_handler, \
111 NULL)
112 #define gt_safe_mult_u64_check(i, j, func, data) \
113 gt_safe_mult_u64_check_func(i, j, __FILE__, __LINE__, func, data)
114
115 GtUword gt_safe_mult_ulong_check_func(GtUword, GtUword,
116 const char*, int,
117 GtOverflowHandlerFunc, void*);
118 #define gt_safe_mult_ulong(i, j) \
119 gt_safe_mult_ulong_check_func(i, j, __FILE__, __LINE__, \
120 gt_safe_default_overflow_handler, \
121 NULL)
122 #define gt_safe_mult_ulong_check(i, j, func, data) \
123 gt_safe_mult_ulong_check_func(i, j, __FILE__, __LINE__, func, \
124 data)
125
126 GtWord gt_safe_cast2long_check_func(GtUword, const char*, int,
127 GtOverflowHandlerFunc, void*);
128 #define gt_safe_cast2long(j) \
129 gt_safe_cast2long_check_func(j, __FILE__, __LINE__, \
130 gt_safe_default_overflow_handler, NULL)
131 #define gt_safe_cast2long_check(j, func, data) \
132 gt_safe_cast2long_check_func(j, __FILE__, __LINE__, func, data)
133
134 GtUword gt_safe_cast2ulong_check_func(GtWord, const char*, int,
135 GtOverflowHandlerFunc, void*);
136 #define gt_safe_cast2ulong(j) \
137 gt_safe_cast2ulong_check_func(j, __FILE__, __LINE__, \
138 gt_safe_default_overflow_handler, NULL)
139 #define gt_safe_cast2ulong_check(j, func, data) \
140 gt_safe_cast2ulong_check_func(j, __FILE__, __LINE__, func, data)
141
142 GtUword gt_safe_cast2ulong_64_check_func(uint64_t, const char*, int,
143 GtOverflowHandlerFunc, void*);
144 #define gt_safe_cast2ulong_64(j) \
145 gt_safe_cast2ulong_64_check_func(j, __FILE__, __LINE__, \
146 gt_safe_default_overflow_handler, NULL)
147 #define gt_safe_cast2ulong_64_check(j, func, data) \
148 gt_safe_cast2ulong_64_check_func(j, __FILE__, __LINE__, func, \
149 data)
150
151 int gt_safearith_example(GtError*);
152 int gt_safearith_unit_test(GtError*);
153
154 #endif
2121 #include <stdio.h>
2222 #include <inttypes.h>
2323 #include "core/assert_api.h"
24 #include "core/compat.h"
24 #include "core/compat_api.h"
2525 #include "core/types_api.h"
2626 #include "core/unused_api.h"
2727
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/score_function.h"
1919
2020 struct GtScoreFunction {
2121 #include "core/chardef.h"
2222 #include "core/parseutils.h"
2323 #include "core/score_matrix.h"
24 #include "core/str.h"
24 #include "core/str_api.h"
2525 #include "core/tokenizer.h"
2626 #include "core/undef_api.h"
2727 #include "core/xansi_api.h"
1818 #define SCORE_MATRIX_H
1919
2020 #include "core/alphabet.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222
2323 typedef struct GtScoreMatrix GtScoreMatrix;
2424
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/seq.h"
1919
2020 struct GtSeq {
1717 #include "core/class_alloc.h"
1818 #include "core/seq_col.h"
1919 #include "core/seq_col_rep.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/undef_api.h"
2222 #include "core/unused_api.h"
2323
1515
1616 #include "core/cstr_api.h"
1717 #include "core/hashmap_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/seq_info_cache.h"
2020
2121 struct GtSeqInfoCache {
1818 #include "core/class_alloc_lock.h"
1919 #include "core/colorspace.h"
2020 #include "core/cstr_api.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222 #include "core/filelengthvalues.h"
2323 #include "core/seq_iterator_fastq_api.h"
2424 #include "core/seq_iterator_rep.h"
1818 #include "core/arraydef.h"
1919 #include "core/chardef.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/compat.h"
21 #include "core/compat_api.h"
2222 #include "core/desc_buffer.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/seq_iterator_rep.h"
2525 #include "core/seq_iterator_sequence_buffer.h"
2626
1515 */
1616
1717 #include <string.h>
18 #include "core/ensure.h"
19 #include "core/fa.h"
18 #include "core/ensure_api.h"
19 #include "core/fa_api.h"
2020 #include "core/fileutils_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/sequence_buffer_rep.h"
2323 #include "core/sequence_buffer_embl.h"
2424 #include "core/sequence_buffer_fasta.h"
1717 #include <ctype.h>
1818 #include <string.h>
1919 #include "core/cstr_api.h"
20 #include "core/error.h"
21 #include "core/minmax.h"
20 #include "core/error_api.h"
21 #include "core/minmax_api.h"
2222 #include "core/sequence_buffer_embl.h"
2323 #include "core/sequence_buffer_rep.h"
2424 #include "core/sequence_buffer_inline.h"
1616
1717 #include <string.h>
1818 #include "core/cstr_api.h"
19 #include "core/ma.h"
20 #include "core/minmax.h"
19 #include "core/ma_api.h"
20 #include "core/minmax_api.h"
2121 #include "core/sequence_buffer_inline.h"
2222 #include "core/sequence_buffer_rep.h"
2323 #include "core/sequence_buffer_fastq.h"
1717 #include <ctype.h>
1818 #include <string.h>
1919 #include "core/cstr_api.h"
20 #include "core/error.h"
21 #include "core/minmax.h"
20 #include "core/error_api.h"
21 #include "core/minmax_api.h"
2222 #include "core/sequence_buffer_gb.h"
2323 #include "core/sequence_buffer_rep.h"
2424 #include "core/sequence_buffer_inline.h"
1818 #ifndef SEQUENCE_BUFFER_INLINE_H
1919 #define SEQUENCE_BUFFER_INLINE_H
2020
21 #include "core/compat.h"
22 #include "core/file.h"
21 #include "core/compat_api.h"
22 #include "core/file_api.h"
2323 #include "core/sequence_buffer_rep.h"
2424
2525 /*@unused@*/ static inline int process_char(GtSequenceBuffer *sb,
1515 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1616 */
1717
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/sequence_buffer_plain.h"
2020 #include "core/sequence_buffer_rep.h"
2121 #include "core/sequence_buffer_inline.h"
2020 #include <stdio.h>
2121 #include "core/arraydef.h"
2222 #include "core/error_api.h"
23 #include "core/file.h"
23 #include "core/file_api.h"
2424 #include "core/queue.h"
2525 #include "core/sequence_buffer.h"
2626 #include "core/str_array.h"
1616
1717 #include <stdio.h>
1818 #include "core/spacepeak.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/spacecalc.h"
2121 #include "core/thread_api.h"
2222
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/dynalloc.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
2323 #include "core/splitter.h"
2424 #include "core/xansi_api.h"
2525
2020 #include <stdbool.h>
2121 #include <string.h>
2222 #include "core/assert_api.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424
2525 /*
2626 This file defines macros to conveniently declare and
1919 #include "core/assert_api.h"
2020 #include "core/cstr_api.h"
2121 #include "core/dynalloc.h"
22 #include "core/ensure.h"
23 #include "core/ma.h"
24 #include "core/str.h"
22 #include "core/ensure_api.h"
23 #include "core/ma_api.h"
24 #include "core/str_api.h"
2525 #include "core/unused_api.h"
2626 #include "core/xansi_api.h"
2727
+0
-39
src/core/str.h less more
0 /*
1 Copyright (c) 2006-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2006-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef STR_H
18 #define STR_H
19
20 #include <stdio.h>
21 #include "core/file.h"
22 #include "core/str_api.h"
23
24 /* never returns NULL, not always '\0' terminated */
25 void* gt_str_get_mem(const GtStr*);
26 /* Remove end of <s> beginning with first occurrence of <c> */
27 void gt_str_clip_suffix(GtStr *s, char c);
28 /* Read the next line from file pointer <fpin> and store the result in <str>
29 (without the terminal newline). If the end of file <fpin> is reached, <EOF>
30 is returned, otherwise 0. <str> should be empty, or the next line will be
31 concatenated to its content. */
32 int gt_str_read_next_line(GtStr *str, FILE *fpin);
33 /* Read the next line via a <GtFile>-object, but otherwise behave as
34 the previous function. */
35 int gt_str_read_next_line_generic(GtStr*, GtFile*);
36 int gt_str_unit_test(GtError*);
37
38 #endif
1919
2020 #include <stdio.h>
2121 #include "core/error_api.h"
22 #include "core/file_api.h"
2223 #include "core/types_api.h"
2324
2425 /* Objects of the <GtStr> class are strings which grow on demand. */
7071 int gt_str_cmp(const GtStr *str1, const GtStr *str2);
7172 /* Return the length of <str>. If <str> is <NULL>, 0 is returned. */
7273 GtUword gt_str_length(const GtStr *str);
74 /* Return the memory pointed to by *str. Never returns NULL, not always '\0'
75 terminated. */
76 void* gt_str_get_mem(const GtStr *str);
77 /* Remove end of <s> beginning with first occurrence of <c> */
78 void gt_str_clip_suffix(GtStr *s, char c);
79 /* Read the next line from file pointer <fpin> and store the result in <str>
80 (without the terminal newline). If the end of file <fpin> is reached, <EOF>
81 is returned, otherwise 0. <str> should be empty, or the next line will be
82 concatenated to its content. */
83 int gt_str_read_next_line(GtStr *str, FILE *fpin);
84 /* Read the next line via a <GtFile>-object, but otherwise behave as
85 the previous function. */
86 int gt_str_read_next_line_generic(GtStr*, GtFile*);
7387 /* Decrease the reference count for <str> or delete it, if this was the last
7488 reference. */
7589 void gt_str_delete(GtStr *str);
7690
91 int gt_str_unit_test(GtError*);
92
7793 #endif
1515 */
1616
1717 #include "core/array.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/str_array.h"
2020
2121 struct GtStrArray {
1717 #ifndef STR_ARRAY_H
1818 #define STR_ARRAY_H
1919
20 #include "core/str.h"
20 #include "core/str_api.h"
2121 #include "core/str_array_api.h"
2222
2323 /* Returns an array of strings read from fila at <path>. Each line resulting in
1717 #include "core/assert_api.h"
1818 #include "core/cstr_api.h"
1919 #include "core/hashmap-generic.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/string_distri.h"
2222 #include "core/unused_api.h"
2323
1717 #ifndef STRING_DISTRI_H
1818 #define STRING_DISTRI_H
1919
20 #include "core/error.h"
21 #include "core/file.h"
20 #include "core/error_api.h"
21 #include "core/file_api.h"
2222
2323 /* A discrete distribution */
2424 typedef struct GtStringDistri GtStringDistri;
1616 #include <errno.h>
1717 #include <string.h>
1818 #include "core/array_api.h"
19 #include "core/compat.h"
19 #include "core/compat_api.h"
2020 #include "core/ma_api.h"
2121 #include "core/thread_api.h"
2222 #include "core/unused_api.h"
1818 #include <stdio.h>
1919 #include <sys/time.h>
2020 #include "core/cstr_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/str_api.h"
2323 #include "core/timer_api.h"
2424 #include "core/unused_api.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/ensure.h"
19 #include "core/fa.h"
20 #include "core/ma.h"
18 #include "core/ensure_api.h"
19 #include "core/fa_api.h"
20 #include "core/ma_api.h"
2121 #include "core/tokenizer.h"
2222 #include "core/xansi_api.h"
2323
1919
2020 #include <stdbool.h>
2121 #include "core/io.h"
22 #include "core/str.h"
22 #include "core/str_api.h"
2323
2424 typedef struct GtTokenizer GtTokenizer;
2525
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/versionfunc.h"
1919 #include "core/tool.h"
2020
1515 */
1616
1717 #include <string.h>
18 #include "core/hashmap.h"
19 #include "core/ma.h"
18 #include "core/hashmap_api.h"
19 #include "core/ma_api.h"
2020 #include "core/toolbox.h"
2121 #include "core/unused_api.h"
2222 #include "core/warning_api.h"
1717 #ifndef TOOLBOX_H
1818 #define TOOLBOX_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/tool_api.h"
2222 #include "core/toolbox_api.h"
2323
1717 #include <stdio.h>
1818 #include "core/init_api.h"
1919 #include "core/tool.h"
20 #include "core/tooldriver.h"
20 #include "core/tooldriver_api.h"
2121
2222 int gt_tooldriver(GtToolFunc tool, int argc, char *argv[])
2323 {
+0
-52
src/core/tooldriver.h less more
0 /*
1 Copyright (c) 2007-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2007-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef TOOLDRIVER_H
18 #define TOOLDRIVER_H
19
20 #include "core/error.h"
21 #include "core/tool_api.h"
22
23 /* The prototype of a tool function. */
24 typedef int (*GtToolFunc)(int argc, const char **argv, GtError *err);
25
26 typedef struct GtLicense GtLicense;
27
28 typedef GtLicense* (*GtLicenseConstructor)(const char *argv0);
29 typedef void (*GtLicenseDestructor)(GtLicense*);
30
31 /* The tool driver module allows one to compile a tool into a separate binary.
32 This is mostly useful for stand-alone applications like GenomeThreader.
33 The tool driver creates an GtError object, calls <tool>, and reports errors.
34 */
35 int gt_tooldriver(GtToolFunc tool, int argc, char *argv[]);
36
37 int gt_tooldriver_with_license(GtToolFunc tool, int argc, char *argv[],
38 GtLicense **license_out,
39 GtLicenseConstructor, GtLicenseDestructor);
40
41 /* Optional <version_func> to override the default one. */
42 int gt_toolobjdriver(GtToolConstructor, GtShowVersionFunc version_func,
43 int argc, char *argv[]);
44
45 /* Optional <version_func> to override the default one. */
46 int gt_toolobjdriver_with_license(GtToolConstructor tool_constructor,
47 GtShowVersionFunc version_func, int argc,
48 char *argv[], GtLicense **license_out,
49 GtLicenseConstructor, GtLicenseDestructor);
50
51 #endif
0 /*
1 Copyright (c) 2007-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2007-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef TOOLDRIVER_API_H
18 #define TOOLDRIVER_API_H
19
20 #include "core/error_api.h"
21 #include "core/tool_api.h"
22
23 /* The prototype of a tool function. */
24 typedef int (*GtToolFunc)(int argc, const char **argv, GtError *err);
25
26 typedef struct GtLicense GtLicense;
27
28 typedef GtLicense* (*GtLicenseConstructor)(const char *argv0);
29 typedef void (*GtLicenseDestructor)(GtLicense*);
30
31 /* The tool driver module allows one to compile a tool into a separate binary.
32 This is mostly useful for stand-alone applications like GenomeThreader.
33 The tool driver creates an GtError object, calls <tool>, and reports errors.
34 */
35 int gt_tooldriver(GtToolFunc tool, int argc, char *argv[]);
36
37 int gt_tooldriver_with_license(GtToolFunc tool, int argc, char *argv[],
38 GtLicense **license_out,
39 GtLicenseConstructor, GtLicenseDestructor);
40
41 /* Optional <version_func> to override the default one. */
42 int gt_toolobjdriver(GtToolConstructor, GtShowVersionFunc version_func,
43 int argc, char *argv[]);
44
45 /* Optional <version_func> to override the default one. */
46 int gt_toolobjdriver_with_license(GtToolConstructor tool_constructor,
47 GtShowVersionFunc version_func, int argc,
48 char *argv[], GtLicense **license_out,
49 GtLicenseConstructor, GtLicenseDestructor);
50
51 #endif
1616 */
1717
1818 #include "core/codon_api.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/trans_table.h"
2222 #include "core/unused_api.h"
2323
1919 #include <string.h>
2020 #include "core/codon_api.h"
2121 #include "core/codon_iterator_simple_api.h"
22 #include "core/ensure.h"
23 #include "core/ma.h"
22 #include "core/ensure_api.h"
23 #include "core/ma_api.h"
2424 #include "core/translator.h"
2525
2626 struct GtTranslator {
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/unit_testing.h"
17 #include "core/unit_testing_api.h"
1818 #include "core/xansi_api.h"
1919
2020 int gt_unit_test_run(void *key, void *value, void *data, GtError *err)
+0
-27
src/core/unit_testing.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef UNIT_TESTING_H
18 #define UNIT_TESTING_H
19
20 #include "core/error_api.h"
21
22 typedef int (*GtUnitTestFunc)(GtError*);
23
24 int gt_unit_test_run(void *key, void *value, void *data, GtError *err);
25
26 #endif
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef UNIT_TESTING_API_H
18 #define UNIT_TESTING_API_H
19
20 #include "core/error_api.h"
21
22 typedef int (*GtUnitTestFunc)(GtError*);
23
24 int gt_unit_test_run(void *key, void *value, void *data, GtError *err);
25
26 #endif
2525 #else
2626 #include <direct.h>
2727 #endif
28 #include "core/compat.h"
28 #include "core/compat_api.h"
2929 #include "core/xposix.h"
3030
3131 void gt_xclose(int d)
1616 #include <string.h>
1717 #include "core/assert_api.h"
1818 #include "core/cstr_table_api.h"
19 #include "core/hashmap.h"
19 #include "core/hashmap_api.h"
2020 #include "core/ma_api.h"
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/queue_api.h"
2323 #include "core/undef_api.h"
2424 #include "core/unused_api.h"
1919 #include <limits.h>
2020 #include "core/assert_api.h"
2121 #include "core/array2dim_api.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323 #include "extended/linearalign_affinegapcost.h"
2424 #include "extended/maxcoordvalue.h"
2525
1616
1717 #include <string.h>
1818 #include "core/log_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/undef_api.h"
2121 #include "extended/aligned_segment.h"
2222
1818 #define ALIGNED_SEGMENT_H
1919
2020 #include "core/encseq.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222 #include "extended/sam_alignment.h"
2323 #include "extended/samfile_encseq_mapping.h"
2424
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/log_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/undef_api.h"
2525 #include "core/assert_api.h"
2626 #include "core/array.h"
2727 #include "core/chardef.h"
28 #include "core/ensure.h"
29 #include "core/ma.h"
28 #include "core/ensure_api.h"
29 #include "core/ma_api.h"
3030 #include "core/xansi_api.h"
3131 #include "core/types_api.h"
3232 #include "core/chardef.h"
33 #include "core/divmodmul.h"
33 #include "core/divmodmul_api.h"
3434 #include "match/greedyedist.h"
3535 #include "alignment.h"
3636
2020 #define ALIGNMENT_H
2121
2222 #include <stdio.h>
23 #include "core/range.h"
23 #include "core/range_api.h"
2424 #include "core/types_api.h"
2525 #include "core/error_api.h"
2626 #include "core/score_matrix.h"
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
21 #include "core/ensure.h"
21 #include "core/ensure_api.h"
2222 #include "core/fileutils_api.h"
2323 #include "core/hashtable.h"
24 #include "core/hashmap.h"
24 #include "core/hashmap_api.h"
2525 #include "core/hashmap-generic.h"
2626 #include "core/log_api.h"
27 #include "core/ma.h"
28 #include "core/range.h"
27 #include "core/ma_api.h"
28 #include "core/range_api.h"
2929 #include "core/strand_api.h"
3030 #include "core/thread_api.h"
3131 #include "core/undef_api.h"
3232 #include "core/unused_api.h"
33 #include "core/fa.h"
33 #include "core/fa_api.h"
3434 #include "core/unused_api.h"
3535 #include "core/xansi_api.h"
3636 #include "core/xposix.h"
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/undef_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/anno_db_schema_api.h"
1515 */
1616
1717 #include "core/array_api.h"
18 #include "core/compat.h"
18 #include "core/compat_api.h"
1919 #include "core/disc_distri_api.h"
2020 #include "core/format64.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "extended/assembly_stats_calculator.h"
2323
2424 struct GtAssemblyStatsCalculator
1515
1616 #include "core/class_alloc_lock.h"
1717 #include "core/cstr_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/bed_in_stream.h"
2121 #include "extended/bed_parser.h"
1515
1616 #include <string.h>
1717 #include "core/cstr_api.h"
18 #include "core/hashmap.h"
18 #include "core/hashmap_api.h"
1919 #include "core/io.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/parseutils.h"
2222 #include "core/splitter.h"
23 #include "core/str.h"
23 #include "core/str_api.h"
2424 #include "extended/bed_parser.h"
2525 #include "extended/feature_node.h"
2626 #include "extended/genome_node.h"
1818 #include <unistd.h>
1919
2020 #include "core/assert_api.h"
21 #include "core/compat.h"
21 #include "core/compat_api.h"
2222 #include "core/cstr_api.h"
23 #include "core/fa.h"
23 #include "core/fa_api.h"
2424 #include "core/fileutils_api.h"
2525 #include "core/log_api.h"
26 #include "core/safearith.h"
26 #include "core/safearith_api.h"
2727 #include "core/xansi_api.h"
2828 #include "extended/bitinstream.h"
2929
1919
2020 #include <sys/types.h>
2121
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/intbits.h"
2424
2525 /* The <GtBitInStream> class reads variable length encoded data from a mmap()ed
1717 #ifndef BITOUTSTREAM_H
1818 #define BITOUTSTREAM_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/intbits.h"
2222 #include "core/bittab_api.h"
2323
2323 #include <sys/wait.h>
2424 #endif
2525
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/str_api.h"
2828 #include "extended/blast_process_call.h"
2929 #include "core/log_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/codon_api.h"
2020 #include "core/codon_iterator_simple_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/orf.h"
2323 #include "core/translator.h"
2424 #include "core/trans_table.h"
1616 */
1717
1818 #include "core/array.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "extended/chain.h"
2121
2222 struct GtChain {
1818 #ifndef CHAIN_H
1919 #define CHAIN_H
2020
21 #include "core/error.h"
21 #include "core/error_api.h"
2222
2323 typedef struct GtChain GtChain;
2424
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_api.h"
20 #include "core/hashmap.h"
20 #include "core/hashmap_api.h"
2121 #include "core/ma_api.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323 #include "core/queue.h"
2424 #include "core/undef_api.h"
2525 #include "core/unused_api.h"
1818 #define CHSEQIDS_STREAM_H
1919
2020 #include <stdio.h>
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "extended/node_stream_api.h"
2323
2424 /* implements the ``genome_stream'' interface */
1515
1616 #include "clustered_set_rep.h"
1717 #include "clustered_set_uf.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/class_alloc.h"
2121
1717 #include "core/array_api.h"
1818 #include "core/bittab_api.h"
1919 #include "core/class_alloc_lock.h"
20 #include "core/ensure.h"
21 #include "core/ma.h"
20 #include "core/ensure_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/clustered_set.h"
2424 #include "extended/clustered_set_uf.h"
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/comment_node_api.h"
2424 #include "extended/genome_node_rep.h"
1717 #include "core/byte_popcount_api.h"
1818 #include "core/byte_select_api.h"
1919 #include "core/combinatorics.h"
20 #include "core/ensure.h"
21 #include "core/fa.h"
20 #include "core/ensure_api.h"
21 #include "core/fa_api.h"
2222 #include "core/fileutils_api.h"
2323 #include "core/log_api.h"
2424 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
26 #include "core/safearith.h"
26 #include "core/safearith_api.h"
2727 #include "core/unused_api.h"
2828 #include "extended/compressed_bitsequence.h"
2929 #include "extended/popcount_tab.h"
2020 #include "core/basename_api.h"
2121 #include "core/chardef.h"
2222 #include "core/cstr_api.h"
23 #include "core/divmodmul.h"
24 #include "core/fa.h"
23 #include "core/divmodmul_api.h"
24 #include "core/fa_api.h"
2525 #include "core/log_api.h"
26 #include "core/ma.h"
27 #include "core/safearith.h"
26 #include "core/ma_api.h"
27 #include "core/safearith_api.h"
2828 #include "core/undef_api.h"
2929 #include "core/unused_api.h"
3030 #include "core/warning_api.h"
1919
2020 #include "core/arraydef.h"
2121 #include "core/disc_distri_api.h"
22 #include "core/divmodmul.h"
23 #include "core/fa.h"
22 #include "core/divmodmul_api.h"
23 #include "core/fa_api.h"
2424 #include "core/log_api.h"
2525 #include "core/logger.h"
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/range_api.h"
28 #include "core/safearith.h"
28 #include "core/safearith_api.h"
2929 #include "core/showtime.h"
3030 #include "core/str_array.h"
3131 #include "core/undef_api.h"
1515 */
1616
1717 #include "core/logger_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/option_api.h"
2020 #include "core/str_api.h"
2121 #include "extended/condenseq.h"
1717 #include "core/assert_api.h"
1818 #include "core/bittab.h"
1919 #include "core/log.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/undef_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/consensus_sa.h"
1717 #ifndef CONSENSUS_SA_H
1818 #define CONSENSUS_SA_H
1919
20 #include "core/range.h"
20 #include "core/range_api.h"
2121 #include "core/strand_api.h"
2222
2323 /*
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "extended/csa_gene.h"
1919
2020 struct GtCSAGene {
1515 */
1616
1717 #include "core/array.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "extended/csa_splice_form.h"
2020
2121 struct GtCSASpliceForm {
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "extended/cstr_iterator.h"
2222 #include "extended/cstr_iterator_rep.h"
1818 #include <string.h>
1919 #include "core/array2dim_api.h"
2020 #include "core/assert_api.h"
21 #include "core/ma.h"
22 #include "core/minmax.h"
23 #include "core/error.h"
21 #include "core/ma_api.h"
22 #include "core/minmax_api.h"
23 #include "core/error_api.h"
2424 #include "core/types_api.h"
25 #include "core/divmodmul.h"
25 #include "core/divmodmul_api.h"
2626 #include "core/unused_api.h"
2727 #include "extended/diagonalbandalign.h"
2828 #include "extended/linspace_management.h"
1717 #ifndef DIAGONALBANDALIGN_H
1818 #define DIAGONALBANDALIGN_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/types_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/alignment.h"
1717 #include <ctype.h>
1818 #include <string.h>
1919 #include "core/array2dim_api.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/types_api.h"
22 #include "core/divmodmul.h"
22 #include "core/divmodmul_api.h"
2323 #include "core/ma_api.h"
2424 #include "extended/affinealign.h"
2525 #include "extended/diagonalbandalign.h"
1717 #ifndef DIAGONALBANDALIGN_AFFINEGAPCOST_H
1818 #define DIAGONALBANDALIGN_AFFINEGAPCOST_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/types_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/alignment.h"
1818 #include <stdlib.h>
1919 #include <string.h>
2020 #include "core/assert_api.h"
21 #include "core/hashmap.h"
22 #include "core/ma.h"
21 #include "core/hashmap_api.h"
22 #include "core/ma_api.h"
2323 #include "core/unused_api.h"
2424 #include "extended/feature_node.h"
2525 #include "extended/feature_node_iterator_api.h"
2121 #include "core/arraydef.h"
2222 #include "core/chardef.h"
2323 #include "core/encseq_api.h"
24 #include "core/ensure.h"
24 #include "core/ensure_api.h"
2525 #include "core/intbits.h"
2626 #include "core/log_api.h"
27 #include "core/ma.h"
27 #include "core/ma_api.h"
2828 #include "core/mathsupport.h"
29 #include "core/minmax.h"
29 #include "core/minmax_api.h"
3030 #include "core/types_api.h"
3131 #include "core/undef_api.h"
3232 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ensure.h"
17 #include "core/ensure_api.h"
1818 #include "core/ma_api.h"
1919 #include "core/mathsupport.h"
2020 #include "extended/elias_gamma.h"
2323 #include "core/arraydef.h"
2424 #include "core/assert_api.h"
2525 #include "core/bittab_api.h"
26 #include "core/compat.h"
26 #include "core/compat_api.h"
2727 #include "core/cstr_api.h"
2828 #include "core/disc_distri_api.h"
29 #include "core/ensure.h"
30 #include "core/fa.h"
29 #include "core/ensure_api.h"
30 #include "core/fa_api.h"
3131 #include "core/fileutils_api.h"
3232 #include "core/hashmap-generic.h"
3333 #include "core/log_api.h"
1616
1717 #include <string.h>
1818 #include "core/assert_api.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "extended/evaluator.h"
2222
2323 struct GtEvaluator {
1818 #define EVALUATOR_H
1919
2020 #include "core/error_api.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222
2323 typedef struct GtEvaluator GtEvaluator;
2424
1616
1717 #include "core/codon_iterator_api.h"
1818 #include "core/codon_iterator_simple_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/trans_table_api.h"
2121 #include "core/translator_api.h"
2222 #include "extended/feature_node_iterator_api.h"
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/codon_iterator_simple_api.h"
20 #include "core/fasta.h"
20 #include "core/fasta_api.h"
2121 #include "core/symbol_api.h"
2222 #include "core/trans_table_api.h"
2323 #include "core/translator.h"
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc.h"
2020 #include "core/array.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
2323 #include "core/multithread_api.h"
2424 #include "core/unused_api.h"
2525 #include "core/yarandom.h"
2121 #include "core/class_alloc_lock.h"
2222 #include "core/cstr_table.h"
2323 #include "core/cstr_api.h"
24 #include "core/ensure.h"
25 #include "core/hashmap.h"
24 #include "core/ensure_api.h"
25 #include "core/hashmap_api.h"
2626 #include "core/interval_tree.h"
27 #include "core/ma.h"
28 #include "core/minmax.h"
29 #include "core/range.h"
27 #include "core/ma_api.h"
28 #include "core/minmax_api.h"
29 #include "core/range_api.h"
3030 #include "core/undef_api.h"
3131 #include "core/unused_api.h"
3232 #include "extended/feature_index_memory.h"
1616
1717 #include <string.h>
1818 #include "core/cstr_api.h"
19 #include "core/hashmap.h"
20 #include "core/ma.h"
19 #include "core/hashmap_api.h"
20 #include "core/ma_api.h"
2121 #include "extended/feature_info.h"
2222 #include "extended/genome_node.h"
2323 #include "extended/gff3_defines.h"
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
2121 #include "core/cstr_api.h"
22 #include "core/ensure.h"
22 #include "core/ensure_api.h"
2323 #include "core/hashtable.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/queue_api.h"
2626 #include "core/strcmp_api.h"
2727 #include "core/symbol_api.h"
1818 #define FEATURE_NODE_H
1919
2020 #include "core/bittab.h"
21 #include "core/range.h"
21 #include "core/range_api.h"
2222 #include "core/strand_api.h"
2323 #include "core/str_array.h"
2424 #include "extended/feature_node_api.h"
1515 */
1616
1717 #include "core/assert_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/feature_node_iterator_api.h"
2121 #include "extended/feature_node_rep.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "extended/feature_node_observer.h"
1919
2020 GtFeatureNodeObserver* gt_feature_node_observer_new()
1717 #include <string.h>
1818 #include "core/cstr_api.h"
1919 #include "core/log_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/parseutils_api.h"
2222 #include "core/splitter_api.h"
2323 #include "extended/gap_str.h"
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc.h"
2020 #include "core/cstr_api.h"
21 #include "core/ensure.h"
21 #include "core/ensure_api.h"
2222 #include "core/hashtable.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/md5_seqid.h"
2525 #include "core/msort.h"
2626 #include "core/parseutils_api.h"
1919
2020 #include "core/bittab.h"
2121 #include "core/phase_api.h"
22 #include "core/range.h"
23 #include "core/str.h"
22 #include "core/range_api.h"
23 #include "core/str_api.h"
2424 #include "extended/genome_node_api.h"
2525
2626 void gt_genome_node_set_origin(GtGenomeNode*, GtStr *filename,
1919
2020 #include <stdio.h>
2121 #include "core/dlist.h"
22 #include "core/hashmap.h"
22 #include "core/hashmap_api.h"
2323 #include "core/thread_api.h"
2424 #include "extended/genome_node.h"
2525
1717
1818 #include <string.h>
1919 #include <ctype.h>
20 #include "core/ensure.h"
20 #include "core/ensure_api.h"
2121 #include "core/undef_api.h"
2222 #include "extended/gff3_escaping.h"
2323
1717 #ifndef GFF3_ESCAPING_H
1818 #define GFF3_ESCAPING_H
1919
20 #include "core/str.h"
20 #include "core/str_api.h"
2121
2222 /* Escape <unescaped_seq> of given <length> for GFF3 format and append the
2323 result to <escaped_seq>. */
2020 #include "core/class_alloc_lock.h"
2121 #include "core/file_api.h"
2222 #include "core/log.h"
23 #include "core/ma.h"
24 #include "core/minmax.h"
23 #include "core/ma_api.h"
24 #include "core/minmax_api.h"
2525 #include "core/parseutils_api.h"
2626 #include "core/queue.h"
2727 #include "core/qsort_r_api.h"
344344 gt_assert(gff3_out_stream);
345345 gt_gff3_visitor_retain_id_attributes((GtGFF3Visitor*)
346346 gff3_out_stream->gff3vis);
347 }
347 }
2020 #include <string.h>
2121 #include "core/array.h"
2222 #include "core/assert_api.h"
23 #include "core/compat.h"
23 #include "core/compat_api.h"
2424 #include "core/cstr_api.h"
25 #include "core/hashmap.h"
26 #include "core/ma.h"
25 #include "core/hashmap_api.h"
26 #include "core/ma_api.h"
2727 #include "core/md5_seqid.h"
2828 #include "core/parseutils.h"
2929 #include "core/queue.h"
1818 #include <stdlib.h>
1919 #include <string.h>
2020 #include "core/assert_api.h"
21 #include "core/fasta.h"
22 #include "core/file.h"
23 #include "core/hashmap.h"
24 #include "core/ma.h"
21 #include "core/fasta_api.h"
22 #include "core/file_api.h"
23 #include "core/hashmap_api.h"
24 #include "core/ma_api.h"
2525 #include "core/unused_api.h"
2626 #include "core/string_distri.h"
2727 #include "core/cstr_table.h"
1818 #include <stdbool.h>
1919 #include "core/array.h"
2020 #include "core/assert_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/log.h"
23 #include "core/safearith.h"
23 #include "core/safearith_api.h"
2424 #include "core/undef_api.h"
2525 #include "extended/globalchaining.h"
2626
1818 #ifndef GLOBALCHAINING_H
1919 #define GLOBALCHAINING_H
2020
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "extended/chain.h"
2323
2424 typedef struct {
1616
1717 /* TODO DW write stream reader, that returns only when complete code is read */
1818 #include <math.h>
19 #include "core/divmodmul.h"
20 #include "core/ensure.h"
19 #include "core/divmodmul_api.h"
20 #include "core/ensure_api.h"
2121 #include "core/log_api.h"
2222 #include "core/ma_api.h"
2323 #include "extended/golomb.h"
2323 #include "core/fileutils_api.h"
2424 #include "core/basename_api.h"
2525 #include "core/gtdatapath.h"
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/splitter.h"
2828 #include "core/unused_api.h"
2929 #include "extended/gtdatahelp.h"
1717 #ifndef GTDATAHELP_H
1818 #define GTDATAHELP_H
1919
20 #include "core/str.h"
20 #include "core/str_api.h"
2121
2222 /* execute helpfile gtdata/doc/progname.lua */
2323 int gt_gtdata_show_help(const char *progname, void *unused, GtError*);
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_api.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/gtf_in_stream.h"
2424 #include "extended/gtf_parser.h"
1717 #include <string.h>
1818 #include "core/assert_api.h"
1919 #include "core/cstr_api.h"
20 #include "core/hashmap.h"
21 #include "core/ma.h"
20 #include "core/hashmap_api.h"
21 #include "core/ma_api.h"
2222 #include "core/parseutils.h"
2323 #include "core/splitter.h"
2424 #include "core/strand.h"
2828 #include "core/arraydef.h"
2929 #include "core/assert_api.h"
3030 #include "core/chardef.h"
31 #include "core/compat.h"
32 #include "core/fa.h"
31 #include "core/compat_api.h"
32 #include "core/fa_api.h"
3333 #include "core/fileutils_api.h"
3434 #include "core/intbits.h"
3535 #include "core/log_api.h"
3636 #include "core/ma_api.h"
37 #include "core/safearith.h"
37 #include "core/safearith_api.h"
3838 #include "core/seq_iterator_fastq_api.h"
3939 #include "core/str_array.h"
4040 #include "core/undef_api.h"
1919 #define HCR_H
2020
2121 #include "core/alphabet_api.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/str_api.h"
2424 #include "core/timer_api.h"
2525 #include "extended/huffcode.h"
3030 #include "core/array2dim_api.h"
3131 #include "core/assert_api.h"
3232 #include "core/chardef.h"
33 #include "core/ensure.h"
33 #include "core/ensure_api.h"
3434 #include "core/mathsupport.h"
3535 #include "core/xansi_api.h"
3636 #include "extended/coin_hmm.h"
1717 #ifndef HMM_H
1818 #define HMM_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121
2222 /* The Hidden Markov Model (HMM) class */
2323 typedef struct GtHMM GtHMM;
1919 #include "core/fastq.h"
2020 #include "core/hashmap_api.h"
2121 #include "core/log_api.h"
22 #include "core/ma.h"
23 #include "core/minmax.h"
22 #include "core/ma_api.h"
23 #include "core/minmax_api.h"
2424 #include "core/undef_api.h"
2525 #include "core/warning_api.h"
2626 #include "extended/aligned_segments_pile.h"
1919 #include <sys/stat.h>
2020 #include <unistd.h>
2121
22 #include "core/ensure.h"
22 #include "core/ensure_api.h"
2323 #include "core/log_api.h"
2424 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
26 #include "core/safearith.h"
26 #include "core/safearith_api.h"
2727 #include "core/undef_api.h"
2828 #include "core/unused_api.h"
2929 #include "extended/huffcode.h"
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
2121 #include "core/types_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/intset_rep.h"
2424 #include <limits.h>
2525
2626 #include "core/assert_api.h"
27 #include "core/divmodmul.h"
28 #include "core/ensure.h"
27 #include "core/divmodmul_api.h"
28 #include "core/ensure_api.h"
2929 #include "core/intbits.h"
30 #include "core/ma.h"
30 #include "core/ma_api.h"
3131 #include "core/mathsupport.h"
3232 #include "core/unused_api.h"
3333 #include "extended/intset_16.h"
2424 #include <limits.h>
2525
2626 #include "core/assert_api.h"
27 #include "core/divmodmul.h"
28 #include "core/ensure.h"
27 #include "core/divmodmul_api.h"
28 #include "core/ensure_api.h"
2929 #include "core/intbits.h"
30 #include "core/ma.h"
30 #include "core/ma_api.h"
3131 #include "core/mathsupport.h"
3232 #include "core/unused_api.h"
3333 #include "extended/intset_32.h"
2424 #include <limits.h>
2525
2626 #include "core/assert_api.h"
27 #include "core/divmodmul.h"
28 #include "core/ensure.h"
27 #include "core/divmodmul_api.h"
28 #include "core/ensure_api.h"
2929 #include "core/intbits.h"
30 #include "core/ma.h"
30 #include "core/ma_api.h"
3131 #include "core/mathsupport.h"
3232 #include "core/unused_api.h"
3333 #include "extended/intset_8.h"
2020 #include "core/bittab_api.h"
2121 #include "core/codetype.h"
2222 #include "core/encseq_api.h"
23 #include "core/ensure.h"
23 #include "core/ensure_api.h"
2424 #include "core/error_api.h"
2525 #include "core/intbits.h"
2626 #include "core/log_api.h"
2727 #include "core/logger.h"
28 #include "core/ma.h"
28 #include "core/ma_api.h"
2929 #include "core/ma_api.h"
3030 #include "core/mathsupport.h"
3131 #include "core/radix_sort.h"
2121
2222 #include <ctype.h>
2323 #include <string.h>
24 #include "core/ma.h"
25 #include "core/minmax.h"
24 #include "core/ma_api.h"
25 #include "core/minmax_api.h"
2626 #include "core/array2dim_api.h"
2727 #include "core/assert_api.h"
2828 #ifdef GT_THREADS_ENABLED
2929 #include "core/thread_api.h"
3030 #endif
3131 #include "core/unused_api.h"
32 #include "core/divmodmul.h"
32 #include "core/divmodmul_api.h"
3333 #include "match/squarededist.h"
3434 #include "extended/alignment.h"
3535 #include "extended/maxcoordvalue.h"
2020 #define LINEARALIGN_H
2121
2222 #include "core/unused_api.h"
23 #include "core/error.h"
23 #include "core/error_api.h"
2424 #include "extended/linspace_management.h"
2525 #include "extended/scorehandler.h"
2626
1717 #include <ctype.h>
1818 #include <string.h>
1919 #include "core/assert_api.h"
20 #include "core/divmodmul.h"
21 #include "core/error.h"
20 #include "core/divmodmul_api.h"
21 #include "core/error_api.h"
2222 #include "core/ma_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #ifdef GT_THREADS_ENABLED
2525 #include "core/thread_api.h"
2626 #endif
1616
1717 #include <ctype.h>
1818 #include <string.h>
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "extended/maxcoordvalue.h"
2121 #include "extended/linspace_management.h"
2222
1818 #include "lauxlib.h"
1919 #include "core/assert_api.h"
2020 #include "core/cstr_api.h"
21 #include "core/fileutils.h"
21 #include "core/fileutils_api.h"
2222 #include "core/gtdatapath.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "extended/luahelper.h"
2525
2626 /* key used to store the Env object in the Lua registry */
1818 #define LUAHELPER_H
1919
2020 #include "lua.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/str_array.h"
2323
2424 int gt_lua_set_modules_path(lua_State*, GtError*);
1919 #include "lauxlib.h"
2020 #include "lualib.h"
2121 #include "core/assert_api.h"
22 #include "core/ensure.h"
22 #include "core/ensure_api.h"
2323 #include "core/unused_api.h"
2424 #include "extended/luaserialize.h"
2525
1818 #define LUASERIALIZE_H
1919
2020 #include "lua.h"
21 #include "core/error.h"
22 #include "core/str.h"
21 #include "core/error_api.h"
22 #include "core/str_api.h"
2323
2424 int gt_lua_table_to_str(lua_State *L, GtStr *out, int index, GtError*);
2525 int gt_lua_serializer_unit_test(GtError *err);
1919 #include "lualib.h"
2020 #include "core/assert_api.h"
2121 #include "core/cstr_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "extended/mapping.h"
2424
2525 struct GtMapping {
1717 #ifndef MAPPING_H
1818 #define MAPPING_H
1919
20 #include "core/str.h"
20 #include "core/str_api.h"
2121
2222 typedef enum {
2323 GT_MAPPINGTYPE_STRING,
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc.h"
21 #include "core/ma.h"
22 #include "core/str.h"
21 #include "core/ma_api.h"
22 #include "core/str_api.h"
2323 #include "core/undef_api.h"
2424 #include "core/unused_api.h"
2525 #include "extended/match_rep.h"
1616 */
1717
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "match_iterator_api.h"
2222 #include "match_iterator_rep.h"
2020 #include "core/array_api.h"
2121 #include "core/bittab_api.h"
2222 #include "core/class_alloc_lock.h"
23 #include "core/file.h"
23 #include "core/file_api.h"
2424 #include "core/fileutils_api.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/str_api.h"
2727 #include "core/undef_api.h"
2828 #include "core/unused_api.h"
2424 #include "core/cstr.h"
2525 #include "core/cstr_array.h"
2626 #include "core/encseq.h"
27 #include "core/fasta.h"
28 #include "core/fileutils.h"
29 #include "core/hashmap.h"
27 #include "core/fasta_api.h"
28 #include "core/fileutils_api.h"
29 #include "core/hashmap_api.h"
3030 #include "core/log.h"
31 #include "core/ma.h"
31 #include "core/ma_api.h"
3232 #include "core/md5_fingerprint_api.h"
3333 #include "core/undef_api.h"
3434 #include "core/unused_api.h"
1717
1818 #include <stdio.h>
1919 #include "core/class_alloc_lock.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/bittab_api.h"
2323 #include "core/array_api.h"
24 #include "core/file.h"
24 #include "core/file_api.h"
2525 #include "core/fileutils_api.h"
2626 #include "extended/match.h"
2727 #include "extended/match_open.h"
1919 #define MATCH_ITERATOR_REP_H
2020
2121 #include <string.h>
22 #include "core/file.h"
22 #include "core/file_api.h"
2323 #include "match.h"
2424 #include "extended/match_iterator_api.h"
2525
1616
1717 #include <stdio.h>
1818 #include "core/encseq.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/seq.h"
2121 #include "core/score_function.h"
2222 #include "core/unused_api.h"
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/undef_api.h"
2323 #include "extended/match_last.h"
2424 #include "extended/match_rep.h"
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/undef_api.h"
2323 #include "extended/match_open.h"
2424 #include "extended/match_rep.h"
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/undef_api.h"
2323 #include "extended/match_sw.h"
2424 #include "extended/match_rep.h"
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "extended/match_visitor_rep.h"
2222
1717 #include <string.h>
1818 #include <ctype.h>
1919 #include "md5.h"
20 #include "core/compat.h"
20 #include "core/compat_api.h"
2121 #include "core/log.h"
22 #include "core/ma.h"
23 #include "core/safearith.h"
22 #include "core/ma_api.h"
23 #include "core/safearith_api.h"
2424 #include "core/types_api.h"
2525 #include "extended/md5set.h"
2626 #include "extended/md5set_primes_table.h"
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
19 #include "core/hashmap.h"
19 #include "core/hashmap_api.h"
2020 #include "core/undef_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/feature_node.h"
1818
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/undef_api.h"
2323 #include "core/unused_api.h"
2424 #include "extended/eof_node_api.h"
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/meta_node_api.h"
2323 #include "extended/genome_node_rep.h"
1818 #include <stdlib.h>
1919 #include <string.h>
2020 #include "core/assert_api.h"
21 #include "core/hashmap.h"
22 #include "core/ma.h"
21 #include "core/hashmap_api.h"
22 #include "core/ma_api.h"
2323 #include "core/unused_api.h"
2424 #include "extended/feature_node.h"
2525 #include "extended/genome_node.h"
1919
2020 #include "core/arraydef.h"
2121 #include "core/chardef.h"
22 #include "core/divmodmul.h"
23 #include "core/ensure.h"
24 #include "core/ma.h"
22 #include "core/divmodmul_api.h"
23 #include "core/ensure_api.h"
24 #include "core/ma_api.h"
2525 #include "core/xansi_api.h"
2626 #include "extended/multieoplist.h"
2727 #include "core/log_api.h"
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/log.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
2323 #include "core/unused_api.h"
2424 #include "extended/mutate.h"
1717 #include <stdarg.h>
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/genome_node.h"
2323 #include "extended/node_stream_api.h"
1717 #include <stdlib.h>
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/node_visitor_api.h"
2323
1717 #include <string.h>
1818 #include "core/array.h"
1919 #include "core/cstr_api.h"
20 #include "core/fa.h"
20 #include "core/fa_api.h"
2121 #include "core/io.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "extended/obo_parse_tree.h"
2424 #include "extended/obo_stanza.h"
2525
1717 #ifndef OBO_PARSE_TREE_H
1818 #define OBO_PARSE_TREE_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "extended/obo_stanza.h"
2222
2323 typedef struct GtOBOParseTree GtOBOParseTree;
1818 #include <string.h>
1919 #include "core/class_alloc_lock.h"
2020 #include "core/log.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
23 #include "core/range.h"
24 #include "core/str.h"
23 #include "core/range_api.h"
24 #include "core/str_api.h"
2525 #include "core/unused_api.h"
2626 #include "extended/node_stream_api.h"
2727 #include "extended/feature_node.h"
1818 #include <string.h>
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
21 #include "core/hashmap.h"
22 #include "core/ma.h"
23 #include "core/range.h"
21 #include "core/hashmap_api.h"
22 #include "core/ma_api.h"
23 #include "core/range_api.h"
2424 #include "core/unused_api.h"
2525 #include "core/dlist.h"
2626 #include "core/fptr_api.h"
27 #include "core/hashmap.h"
27 #include "core/hashmap_api.h"
2828 #include "core/parseutils.h"
2929 #include "core/undef_api.h"
3030 #include "core/translator.h"
1616 */
1717
1818 #include "core/assert_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/codon_iterator_api.h"
2121 #include "core/translator.h"
2222 #include "core/trans_table.h"
2020 #include "core/byte_popcount_api.h"
2121 #include "core/combinatorics.h"
2222 #include "core/compact_ulong_store.h"
23 #include "core/ensure.h"
23 #include "core/ensure_api.h"
2424 #include "core/error_api.h"
2525 #include "core/intbits.h"
2626 #include "core/log_api.h"
27 #include "core/ma.h"
27 #include "core/ma_api.h"
2828 #include "core/mathsupport.h"
2929 #include "core/unused_api.h"
3030 #include "extended/popcount_tab.h"
1818 #include <stdbool.h>
1919 #include <stdlib.h>
2020 #include "core/assert_api.h"
21 #include "core/divmodmul.h"
21 #include "core/divmodmul_api.h"
2222 #include "core/error_api.h"
23 #include "core/ensure.h"
23 #include "core/ensure_api.h"
2424 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
2626 #include "extended/priority_queue.h"
1717
1818 #include "core/array_api.h"
1919 #include "core/dlist_api.h"
20 #include "core/ensure.h"
21 #include "core/ma.h"
20 #include "core/ensure_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/yarandom.h"
2424 #include "extended/ranked_list.h"
4949 #include <stdlib.h>
5050 #include <string.h>
5151 #include "core/assert_api.h"
52 #include "core/ensure.h"
52 #include "core/ensure_api.h"
5353 #include "core/error_api.h"
54 #include "core/ma.h"
54 #include "core/ma_api.h"
5555 #include "core/mathsupport.h"
5656 #include "core/unused_api.h"
5757 #include "core/xansi_api.h"
1818 #ifndef RBTREE_H
1919 #define RBTREE_H
2020
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/fptr_api.h"
2323 #include "core/types_api.h"
2424
2525
2626 #include "core/bittab_api.h"
2727 #include "core/chardef.h"
28 #include "core/compat.h"
28 #include "core/compat_api.h"
2929 #include "core/disc_distri_api.h"
30 #include "core/fa.h"
30 #include "core/fa_api.h"
3131 #include "core/log_api.h"
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "core/mathsupport.h"
3434 #include "core/parseutils_api.h"
3535 #include "core/queue_api.h"
36 #include "core/safearith.h"
36 #include "core/safearith_api.h"
3737 #include "core/str_array.h"
3838 #include "core/undef_api.h"
3939 #include "core/unused_api.h"
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/undef_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/rdb_api.h"
1919 #include <mysql/mysql.h>
2020 #include "core/class_alloc_lock.h"
2121 #include "core/log.h"
22 #include "core/ma.h"
23 #include "core/minmax.h"
22 #include "core/ma_api.h"
23 #include "core/minmax_api.h"
2424 #include "core/hashtable.h"
2525 #include "core/str_api.h"
2626 #include "core/undef_api.h"
1717 #include <stdlib.h>
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/rdb_visitor_rep.h"
2323
2222 #include "core/bioseq.h"
2323 #include "core/bioseq_col.h"
2424 #include "core/encseq_col.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/md5_seqid.h"
2727 #include "core/seq_col.h"
2828 #include "core/str_array.h"
1414 */
1515
1616 #include "core/cstr_api.h"
17 #include "core/hashmap.h"
18 #include "core/ma.h"
17 #include "core/hashmap_api.h"
18 #include "core/ma_api.h"
1919 #include "core/str_api.h"
2020 #include "core/unused_api.h"
2121 #include "extended/region_node.h"
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_api.h"
20 #include "core/hashmap.h"
21 #include "core/ma.h"
22 #include "core/minmax.h"
23 #include "core/range.h"
20 #include "core/hashmap_api.h"
21 #include "core/ma_api.h"
22 #include "core/minmax_api.h"
23 #include "core/range_api.h"
2424 #include "core/unused_api.h"
2525 #include "extended/node_visitor_api.h"
2626 #include "extended/regioncov_visitor.h"
1919 #include <stdlib.h>
2020 #include <string.h>
2121 #include "core/assert_api.h"
22 #include "core/divmodmul.h"
23 #include "core/ensure.h"
24 #include "core/ma.h"
22 #include "core/divmodmul_api.h"
23 #include "core/ensure_api.h"
24 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
2626 #include "core/unused_api.h"
2727 #include "extended/rmq.h"
1717
1818 #include <samtools/sam.h>
1919 #include "core/alphabet_api.h"
20 #include "core/ensure.h"
20 #include "core/ensure_api.h"
2121 #include "core/ma_api.h"
2222 #include "core/types_api.h"
2323 #include "core/undef_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/hashmap.h"
17 #include "core/hashmap_api.h"
1818 #include "core/log.h"
1919 #include "core/cstr_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "extended/samfile_encseq_mapping.h"
2222
2323 struct GtSamfileEncseqMapping
1616
1717 #include <samtools/sam.h>
1818 #include "core/cstr_api.h"
19 #include "core/ensure.h"
19 #include "core/ensure_api.h"
2020 #include "core/error_api.h"
2121 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
1616 #include <unistd.h>
1717
1818 #include "core/assert_api.h"
19 #include "core/compat.h"
20 #include "core/divmodmul.h"
19 #include "core/compat_api.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/log_api.h"
2222 #include "core/ma_api.h"
23 #include "core/safearith.h"
23 #include "core/safearith_api.h"
2424 #include "core/undef_api.h"
2525 #include "core/unused_api.h"
2626 #include "core/xansi_api.h"
1515 */
1616 #include <ctype.h>
1717 #include "core/chardef.h"
18 #include "core/divmodmul.h"
19 #include "core/ma.h"
20 #include "core/minmax.h"
18 #include "core/divmodmul_api.h"
19 #include "core/ma_api.h"
20 #include "core/minmax_api.h"
2121 #include "extended/scorehandler.h"
2222
2323 struct GtScoreHandler {
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/symbol.h"
1919 #include "core/unused_api.h"
2020 #include "extended/script_filter.h"
1616
1717 #include <string.h>
1818 #include "core/assert_api.h"
19 #include "core/ma.h"
20 #include "core/minmax.h"
19 #include "core/ma_api.h"
20 #include "core/minmax_api.h"
2121 #include "core/queue_api.h"
2222 #include "core/undef_api.h"
2323 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/unused_api.h"
1919 #include "extended/seqid2file.h"
2020 #include "extended/region_mapping.h"
1717
1818 #include <string.h>
1919 #include "core/cstr_api.h"
20 #include "core/hashmap.h"
20 #include "core/hashmap_api.h"
2121 #include "core/ma_api.h"
2222 #include "core/parseutils.h"
2323 #include "core/undef_api.h"
1717 #include <limits.h>
1818 #include <string.h>
1919 #include "core/log_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/undef_api.h"
2222 #include "extended/feature_node.h"
2323 #include "extended/feature_node_iterator_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_table_api.h"
2020 #include "core/error_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/queue_api.h"
2323 #include "core/str_array_api.h"
2424 #include "core/unused_api.h"
1515 #include "core/assert_api.h"
1616 #include "core/class_alloc.h"
1717 #include "core/class_alloc_lock.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/feature_node_api.h"
2121 #include "extended/feature_node_iterator_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/mathsupport.h"
1919 #include "extended/shredder.h"
2020
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
2121 #include "core/log.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/queue.h"
2424 #include "core/symbol_api.h"
2525 #include "core/undef_api.h"
2121 #include "core/codon_api.h"
2222 #include "core/complement.h"
2323 #include "core/cstr_api.h"
24 #include "core/hashmap.h"
24 #include "core/hashmap_api.h"
2525 #include "core/log.h"
2626 #include "core/ma_api.h"
2727 #include "core/strand_api.h"
1717 #include <stdio.h>
1818 #include "core/array.h"
1919 #include "core/cstr_api.h"
20 #include "core/file.h"
20 #include "core/file_api.h"
2121 #include "core/hashmap_api.h"
2222 #include "core/log_api.h"
23 #include "core/ma.h"
24 #include "core/str.h"
23 #include "core/ma_api.h"
24 #include "core/str_api.h"
2525 #include "core/str_array_api.h"
2626 #include "core/symbol_api.h"
2727 #include "core/unused_api.h"
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/gtdatapath.h"
2323 #include "core/hashmap_api.h"
2424 #include "core/log_api.h"
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/fasta.h"
21 #include "core/fasta_api.h"
2222 #include "core/ma_api.h"
2323 #include "core/string_distri.h"
2424 #include "core/unused_api.h"
1616
1717 #include <string.h>
1818 #include "core/array.h"
19 #include "core/ensure.h"
20 #include "core/ma.h"
21 #include "core/str.h"
19 #include "core/ensure_api.h"
20 #include "core/ma_api.h"
21 #include "core/str_api.h"
2222 #include "extended/reverse_api.h"
2323 #include "extended/splicedseq.h"
2424
1616 #include <ctype.h>
1717 #include "core/array2dim_api.h"
1818 #include "extended/maxcoordvalue.h"
19 #include "core/minmax.h"
19 #include "core/minmax_api.h"
2020 #include "extended/reconstructalignment.h"
2121
2222 #include "extended/squarealign.h"
1515 */
1616
1717 #include "core/cstr_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "extended/sspliced_alignment.h"
2020
2121 struct GtSSplicedAlignment {
1818 #define SSPLICED_ALIGNMENT_H
1919
2020 #include <stdbool.h>
21 #include "core/range.h"
21 #include "core/range_api.h"
2222
2323 /* the simple spliced alignment class */
2424 typedef struct GtSSplicedAlignment GtSSplicedAlignment;
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
18 #include "core/str.h"
17 #include "core/fa_api.h"
18 #include "core/str_api.h"
1919 #include "extended/sspliced_alignment.h"
2020 #include "extended/sspliced_alignment_parsing.h"
2121
1717 #ifndef SSPLICED_ALIGNMENT_PARSING_H
1818 #define SSPLICED_ALIGNMENT_PARSING_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121
2222 int gt_sspliced_alignment_parse(GtArray *spliced_alignments,
2323 const char *filename,
1616
1717 #include "core/assert_api.h"
1818 #include "core/class_alloc_lock.h"
19 #include "core/compat.h"
19 #include "core/compat_api.h"
2020 #include "core/cstr_table_api.h"
2121 #include "core/disc_distri_api.h"
2222 #include "core/string_distri.h"
1717 #include "core/assert_api.h"
1818 #include "core/bsearch.h"
1919 #include "core/cstr_api.h"
20 #include "core/hashmap.h"
20 #include "core/hashmap_api.h"
2121 #include "core/log.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/unused_api.h"
2424 #include "core/warning_api.h"
2525 #include "core/xansi_api.h"
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/bittab.h"
21 #include "core/ensure.h"
22 #include "core/ma.h"
21 #include "core/ensure_api.h"
22 #include "core/ma_api.h"
2323 #include "core/mathsupport.h"
2424 #include "core/undef_api.h"
2525 #include "extended/string_matching.h"
1818 #include "core/array2dim_api.h"
1919 #include "core/assert_api.h"
2020 #include "core/chardef.h"
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/undef_api.h"
2323 #include "extended/swalign.h"
2424
1616
1717 #include <stdlib.h>
1818 #include <string.h>
19 #include "core/ma.h"
20 #include "core/ensure.h"
19 #include "core/ma_api.h"
20 #include "core/ensure_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/xansi_api.h"
2323 #include "extended/tag_value_map.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_api.h"
2020 #include "core/dlist.h"
21 #include "core/hashmap.h"
22 #include "core/ma.h"
21 #include "core/hashmap_api.h"
22 #include "core/ma_api.h"
2323 #include "core/undef_api.h"
2424 #include "core/unused_api.h"
2525 #include "extended/feature_node.h"
1818 #include "core/assert_api.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
21 #include "core/hashmap.h"
21 #include "core/hashmap_api.h"
2222 #include "core/ma_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/queue.h"
2525 #include "core/undef_api.h"
2626 #include "core/unused_api.h"
2525 #include "core/log_api.h"
2626 #include "core/mathsupport.h"
2727 #include "core/md5_seqid.h"
28 #include "core/minmax.h"
28 #include "core/minmax_api.h"
2929 #include "core/str_api.h"
3030 #include "core/undef_api.h"
3131 #include "extended/feature_type.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "extended/transcript_bittabs.h"
1919
2020 struct GtTranscriptBittabs {
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "extended/transcript_counts.h"
1919
2020 struct GtTranscriptCounts {
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "extended/transcript_evaluators.h"
1919
2020 struct GtTranscriptEvaluators {
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
18 #include "core/range.h"
17 #include "core/ma_api.h"
18 #include "core/range_api.h"
1919 #include "extended/transcript_exons.h"
2020
2121 struct GtTranscriptExons {
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
18 #include "core/range.h"
17 #include "core/ma_api.h"
18 #include "core/range_api.h"
1919 #include "extended/transcript_used_exons.h"
2020
2121 struct GtTranscriptUsedExons {
1515 */
1616
1717 #include "core/assert_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/type_checker_rep.h"
2121
1818 #include <string.h>
1919 #include "core/assert_api.h"
2020 #include "core/hashtable.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/strcmp.h"
2323 #include "extended/type_checker_builtin_api.h"
2424 #include "extended/type_checker_rep.h"
1717 #include <string.h>
1818 #include "core/cstr_api.h"
1919 #include "core/cstr_table.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "extended/obo_parse_tree.h"
2222 #include "extended/type_checker_obo.h"
2323 #include "extended/type_checker_rep.h"
1515
1616 #include <string.h>
1717 #include "core/array_api.h"
18 #include "core/bool_matrix.h"
18 #include "core/bool_matrix_api.h"
1919 #include "core/cstr_api.h"
2020 #include "core/hashmap_api.h"
2121 #include "core/ma_api.h"
1616 #ifndef TYPE_NODE_H
1717 #define TYPE_NODE_H
1818
19 #include "core/bool_matrix.h"
19 #include "core/bool_matrix_api.h"
2020
2121 typedef struct GtTypeNode GtTypeNode;
2222
1414 */
1515
1616 #include "core/cstr_api.h"
17 #include "core/error.h"
18 #include "core/fileutils.h"
17 #include "core/error_api.h"
18 #include "core/fileutils_api.h"
1919 #include "core/gtdatapath.h"
2020 #include "core/ma_api.h"
2121 #include "extended/typecheck_info.h"
1616 */
1717
1818 #include "core/assert_api.h"
19 #include "core/ensure.h"
19 #include "core/ensure_api.h"
2020 #include "core/log.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/hashtable.h" /* gt_uint64_key_mul_hash */
2323 #include "core/spacecalc.h"
2424 #include "core/format64.h"
1919
2020 #include <inttypes.h>
2121
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/timer_api.h"
2424 #include "core/types_api.h"
2525
1515 */
1616
1717 #include "core/assert_api.h"
18 #include "core/ensure.h"
19 #include "core/ma.h"
18 #include "core/ensure_api.h"
19 #include "core/ma_api.h"
2020 #include "extended/union_find.h"
2121
2222 #define UNION_FIND_TEST_SIZE 1024
1717 #ifndef UNION_FIND_H
1818 #define UNION_FIND_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121
2222 /*
2323 This class implements the union-find data structure (with union-by-rank
1616 #include "extended/wtree_rep.h"
1717
1818 #include "core/assert_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121
2222 #include <limits.h>
1919
2020 #include "core/alphabet_api.h"
2121 #include "core/chardef.h"
22 #include "core/divmodmul.h"
22 #include "core/divmodmul_api.h"
2323 #include "core/encseq_api.h"
2424 #include "core/intbits.h"
2525 #include "core/log_api.h"
1616 #include <string.h>
1717 #include "core/array.h"
1818 #include "core/cstr_api.h"
19 #include "core/fa.h"
19 #include "core/fa_api.h"
2020 #include "core/grep_api.h"
2121 #include "core/hashmap_api.h"
2222 #include "core/io.h"
2323 #include "core/log_api.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/unused_api.h"
2626 #include "core/warning_api.h"
2727 #include "extended/xrf_abbr_entry.h"
1616 #ifndef XRF_ABBR_PARSE_TREE_H
1717 #define XRF_ABBR_PARSE_TREE_H
1818
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "extended/xrf_abbr_entry.h"
2121
2222 typedef struct GtXRFAbbrParseTree GtXRFAbbrParseTree;
1717 #include "core/cstr_api.h"
1818 #include "core/grep_api.h"
1919 #include "core/hashmap_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/splitter_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/xrf_abbr_entry.h"
1414 */
1515
1616 #include "core/cstr_api.h"
17 #include "core/error.h"
18 #include "core/fileutils.h"
17 #include "core/error_api.h"
18 #include "core/fileutils_api.h"
1919 #include "core/gtdatapath.h"
2020 #include "core/ma_api.h"
2121 #include "extended/xrfcheck_info.h"
+0
-153
src/gth/ags.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/ags.h"
18
19 struct GthAGSObject {
20 const GthPGL *pgl;
21 };
22
23 GthAGS* gth_ags_new(const GthPGL *pgl)
24 {
25 GthAGS *ags;
26 gt_assert(pgl);
27
28 ags = gt_malloc(sizeof *ags);
29 ags->agso = gt_malloc(sizeof *ags->agso);
30 ags->agso->pgl = pgl;
31
32 ags->gen_id = NULL;
33
34 ags->exons = gt_array_new(sizeof (GthExonAGS));
35 ags->splicesiteprobs = gt_array_new(sizeof (GthSpliceSiteProb));
36 ags->alignments = gt_array_new(sizeof (GthSA*));
37
38 ags->numofstoredsaclusters = 0;
39 ags->overallscore = GTH_UNDEF_GTHDBL;
40
41 return ags;
42 }
43
44 void gth_ags_delete(GthAGS *ags)
45 {
46 if (!ags) return;
47 gt_str_delete(ags->gen_id);
48 gt_array_delete(ags->exons);
49 gt_array_delete(ags->splicesiteprobs);
50 gt_array_delete(ags->alignments);
51 gt_free(ags->agso);
52 gt_free(ags);
53 }
54
55 bool gth_ags_is_forward(const GthAGS *ags)
56 {
57 gt_assert(ags);
58 return gth_pgl_is_forward(ags->agso->pgl);
59 }
60
61 GtUword gth_ags_filenum(const GthAGS *ags)
62 {
63 gt_assert(ags);
64 return gth_pgl_filenum(ags->agso->pgl);
65 }
66
67 GtUword gth_ags_total_length(const GthAGS *ags)
68 {
69 gt_assert(ags);
70 return gth_pgl_total_length(ags->agso->pgl);
71 }
72
73 GtUword gth_ags_genomic_offset(const GthAGS *ags)
74 {
75 gt_assert(ags);
76 return gth_pgl_genomic_offset(ags->agso->pgl);
77 }
78
79 GtStr* gth_ags_get_gen_id(const GthAGS *ags)
80 {
81 gt_assert(ags && ags->gen_id);
82 return ags->gen_id;
83 }
84
85 GthExonAGS* gth_ags_get_exon(const GthAGS *ags, GtUword exon)
86 {
87 gt_assert(ags && ags->exons);
88 gt_assert(exon < gt_array_size(ags->exons));
89 return gt_array_get(ags->exons, exon);
90 }
91
92 GtUword gth_ags_num_of_exons(const GthAGS *ags)
93 {
94 gt_assert(ags && ags->exons);
95 return gt_array_size(ags->exons);
96 }
97
98 GtStrand gth_ags_genomic_strand(const GthAGS *ags)
99 {
100 gt_assert(ags);
101 return gth_ags_is_forward(ags) ? GT_STRAND_FORWARD : GT_STRAND_REVERSE;
102 }
103
104 static GtUword gth_ags_left_intron_border(const GthAGS *ags,
105 GtUword intron)
106 {
107 GthExonAGS *exon;
108 gt_assert(ags);
109 exon = gth_ags_get_exon(ags, intron);
110 return SHOWGENPOSAGS(exon->range.end + 1);
111 }
112
113 static GtUword gth_ags_right_intron_border(const GthAGS *ags,
114 GtUword intron)
115 {
116 GthExonAGS *exon;
117 gt_assert(ags);
118 exon = gth_ags_get_exon(ags, intron + 1);
119 return SHOWGENPOSAGS(exon->range.start - 1);
120 }
121
122 GtRange gth_ags_donor_site_range(const GthAGS *ags, GtUword intron)
123 {
124 GtRange range;
125 gt_assert(ags);
126 range.start = gth_ags_left_intron_border(ags, intron);
127 range.end = range.start + 1;
128 return range;
129 }
130
131 GtRange gth_ags_acceptor_site_range(const GthAGS *ags, GtUword intron)
132 {
133 GtRange range;
134 gt_assert(ags);
135 range.end = gth_ags_right_intron_border(ags, intron);
136 range.start = range.end - 1;
137 return range;
138 }
139
140 double gth_ags_donor_site_prob(const GthAGS *ags, GtUword intron)
141 {
142 gt_assert(ags);
143 return ((GthSpliceSiteProb*) gt_array_get(ags->splicesiteprobs, intron))
144 ->donorsiteprob;
145 }
146
147 double gth_ags_acceptor_site_prob(const GthAGS *ags, GtUword intron)
148 {
149 gt_assert(ags);
150 return ((GthSpliceSiteProb*) gt_array_get(ags->splicesiteprobs, intron))
151 ->acceptorsiteprob;
152 }
+0
-79
src/gth/ags.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef AGS_H
18 #define AGS_H
19
20 #include "core/array.h"
21 #include "core/error.h"
22 #include "gth/gthoutput.h"
23 #include "gth/bssm_param.h"
24 #include "gth/pgl.h"
25 #include "gth/sa.h"
26
27 #define SHOWGENPOSAGS(P)\
28 SHOWGENPOS(gth_ags_is_forward(ags), gth_ags_total_length(ags),\
29 gth_ags_genomic_offset(ags), P)
30
31 typedef struct {
32 GtRange range; /* the borders of the exon in the genomic sequence */
33 GthDbl score;
34 } GthExonAGS;
35
36 typedef struct {
37 GthFlt donorsiteprob,
38 acceptorsiteprob;
39 } GthSpliceSiteProb;
40
41 typedef struct GthAGSObject GthAGSObject;
42
43 /* the alternative gene structure (AGS) class */
44 typedef struct GthAGS {
45 GtStr *gen_id; /* the id of the genomic sequence this two
46 values could also be included in the PGL
47 structure, but including them here is better
48 for the stand alone version of the assemble
49 program */
50 GtArray *exons, /* contains the actual structure of the AGS and
51 the exonscores */
52 *splicesiteprobs, /* contains the splice site probabilities */
53 *alignments; /* pointer to the generating spliced alignments
54 I.e., the alignments which constitute this
55 alternative gene structure. */
56 GtUword numofstoredsaclusters; /* number of stored SA clusters */
57 /* (needed in assembly phase) */
58 GthDbl overallscore; /* overall score used for sorting of AGSs */
59
60 GthAGSObject *agso;
61 } GthAGS;
62
63 GthAGS* gth_ags_new(const GthPGL*);
64 void gth_ags_delete(GthAGS*);
65 bool gth_ags_is_forward(const GthAGS*);
66 GtUword gth_ags_filenum(const GthAGS*);
67 GtUword gth_ags_total_length(const GthAGS*);
68 GtUword gth_ags_genomic_offset(const GthAGS*);
69 GtStr* gth_ags_get_gen_id(const GthAGS*);
70 GthExonAGS* gth_ags_get_exon(const GthAGS *ags, GtUword exon);
71 GtUword gth_ags_num_of_exons(const GthAGS *ags);
72 GtStrand gth_ags_genomic_strand(const GthAGS*);
73 GtRange gth_ags_donor_site_range(const GthAGS*, GtUword intron);
74 GtRange gth_ags_acceptor_site_range(const GthAGS*, GtUword intron);
75 double gth_ags_donor_site_prob(const GthAGS*, GtUword intron);
76 double gth_ags_acceptor_site_prob(const GthAGS*, GtUword intron);
77
78 #endif
+0
-417
src/gth/ags_build.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/ags_build.h"
18
19 typedef struct {
20 GthDbl exonscore; /* the score of this exonnode */
21 GtUword lengthofscoringexon; /* the length of the exon where the
22 exonscore came from */
23 } Exonscoreinfo;
24
25 typedef struct {
26 /* begin of core */
27 GtRange range; /* the range of the exonnode */
28 bool leftmergeable, /* true if the left border is mergeable */
29 rightmergeable; /* true if the right border is mergeable */
30 Introninfo *successorintron; /* points to the successor intron of this exon,
31 if defined. points to NULL, otherwise. */
32 /* end of core */
33
34 GtArray *exonscores; /* all exon scores of all exons, where this node
35 resulted from */
36 } Exonnode;
37
38 #define SAVE_EXONSCORE_ALLOWED_DIFFERENCE 30
39
40 typedef enum
41 {
42 MERGEABLE_LEFTSIDE_A_BEFORE_B = 0,
43 MERGEABLE_LEFTSIDE_A_EQUALS_B,
44 MERGEABLE_LEFTSIDE_A_AFTER_B,
45 NON_MERGEABLE_LEFTSIDE,
46 } Leftsidestatus;
47
48 typedef enum
49 {
50 MERGEABLE_RIGHTSIDE_A_BEFORE_B = 0,
51 MERGEABLE_RIGHTSIDE_A_EQUALS_B,
52 MERGEABLE_RIGHTSIDE_A_AFTER_B,
53 NON_MERGEABLE_RIGHTSIDE,
54 } Rightsidestatus;
55
56 /*
57 The following function returns the core of an Exonnode.
58 That is, the node without the pointers to the successors of this node.
59 The input is the spliced alignment \textit{sa}, and the index <exonindex>
60 of the exon to be processed.
61 */
62
63 Exonnode getcoreExonnodefromSA(GthSA *sa, GtUword exonindex)
64 {
65 Exonnode node;
66 Exonscoreinfo scoreinfo;
67
68 /* alignment contains at least one exon */
69 gt_assert(gth_sa_num_of_exons(sa));
70 /* number of exons minus 1 equals number of introns */
71 gt_assert(gth_sa_num_of_exons(sa) - 1 ==
72 gth_sa_num_of_introns(sa));
73 /* exonindex is valid */
74 gt_assert(exonindex < gth_sa_num_of_exons(sa));
75
76 node.exonscores = gt_array_new(sizeof (Exonscoreinfo));
77
78 node.range.start = gth_sa_get_exon(sa, exonindex)->leftgenomicexonborder;
79 node.range.end = gth_sa_get_exon(sa, exonindex)->rightgenomicexonborder;
80
81 if (exonindex == 0) /* this is the first exon */
82 node.leftmergeable = true;
83 else
84 node.leftmergeable = false;
85
86 if (exonindex == gth_sa_num_of_exons(sa) - 1) {
87 /* this is the last exon */
88 node.rightmergeable = true;
89 }
90 else
91 node.rightmergeable = false;
92
93 /* save successor intron */
94 if (exonindex < gth_sa_num_of_exons(sa) - 1) {
95 /* exon has successor intron */
96 node.successorintron = gth_sa_get_intron(sa, exonindex);
97 }
98 else {
99 /* exon has no successor intron */
100 node.successorintron = NULL;
101 }
102
103 /* save exonscore */
104 scoreinfo.exonscore = gth_sa_get_exon(sa, exonindex)->exonscore;
105 scoreinfo.lengthofscoringexon = node.range.end - node.range.start + 1;
106
107 gt_array_add(node.exonscores, scoreinfo);
108
109 return node;
110 }
111
112 static void freecoreExonnode(Exonnode *node)
113 {
114 if (!node) return;
115 gt_array_delete(node->exonscores);
116 }
117
118 static Leftsidestatus getleftsidestatus(Exonnode *nodeA, Exonnode *nodeB)
119 {
120 /* -------...
121 ]-----... */
122 if (nodeA->range.start < nodeB->range.start && nodeB->leftmergeable)
123 return MERGEABLE_LEFTSIDE_A_BEFORE_B;
124
125 /* -------...
126 -------... */
127 if (nodeA->range.start == nodeB->range.start)
128 return MERGEABLE_LEFTSIDE_A_EQUALS_B;
129
130 /* ]-----...
131 -------... */
132 if (nodeA->range.start > nodeB->range.start && nodeA->leftmergeable)
133 return MERGEABLE_LEFTSIDE_A_AFTER_B;
134
135 return NON_MERGEABLE_LEFTSIDE;
136 }
137
138 #ifndef NDEBUG
139 static bool leftsideismergeable(Exonnode *nodeA, Exonnode *nodeB)
140 {
141 switch (getleftsidestatus(nodeA, nodeB))
142 {
143 case MERGEABLE_LEFTSIDE_A_BEFORE_B:
144 case MERGEABLE_LEFTSIDE_A_EQUALS_B:
145 case MERGEABLE_LEFTSIDE_A_AFTER_B:
146 return true;
147 case NON_MERGEABLE_LEFTSIDE:
148 return false;
149 default:
150 gt_assert(0);
151 return false;
152 }
153 }
154 #endif
155
156 static Rightsidestatus getrightsidestatus(Exonnode *nodeA, Exonnode *nodeB)
157 {
158 /* ...-----[
159 ...------- */
160 if (nodeA->range.end < nodeB->range.end && nodeA->rightmergeable)
161 return MERGEABLE_RIGHTSIDE_A_BEFORE_B;
162
163 /* ...-------
164 ...------- */
165 if (nodeA->range.end == nodeB->range.end)
166 return MERGEABLE_RIGHTSIDE_A_EQUALS_B;
167
168 /* ...-------
169 ...-----[ */
170 if (nodeA->range.end > nodeB->range.end && nodeB->rightmergeable)
171 return MERGEABLE_RIGHTSIDE_A_AFTER_B;
172
173 return NON_MERGEABLE_RIGHTSIDE;
174 }
175
176 #ifndef NDEBUG
177 static bool rightsideismergeable(Exonnode *nodeA, Exonnode *nodeB)
178 {
179 switch (getrightsidestatus(nodeA, nodeB)) {
180 case MERGEABLE_RIGHTSIDE_A_BEFORE_B:
181 case MERGEABLE_RIGHTSIDE_A_EQUALS_B:
182 case MERGEABLE_RIGHTSIDE_A_AFTER_B:
183 return true;
184 case NON_MERGEABLE_RIGHTSIDE:
185 return false;
186 default:
187 gt_assert(0);
188 return false;
189 }
190 }
191 #endif
192
193 #ifndef NDEBUG
194 static bool nodesaremergeable(Exonnode *nodeA, Exonnode *nodeB)
195 {
196 if (gt_range_overlap(&nodeA->range, &nodeB->range) &&
197 leftsideismergeable(nodeA, nodeB) &&
198 rightsideismergeable(nodeA, nodeB)) {
199 return true;
200 }
201 return false;
202 }
203 #endif
204
205 static void mergeleftside(Exonnode *nodeA, Exonnode *nodeB)
206 {
207 switch (getleftsidestatus(nodeA, nodeB)) {
208 case MERGEABLE_LEFTSIDE_A_BEFORE_B:
209 /* -------...
210 ]-----...
211 nothing to do */
212 break;
213 case MERGEABLE_LEFTSIDE_A_EQUALS_B:
214 /* -------...
215 -------... */
216 if (!nodeA->leftmergeable || !nodeB->leftmergeable)
217 nodeA->leftmergeable = false;
218 break;
219 case MERGEABLE_LEFTSIDE_A_AFTER_B:
220 /* ]-----...
221 -------... */
222 nodeA->range.start = nodeB->range.start;
223 nodeA->leftmergeable = nodeB->leftmergeable;
224 break;
225 case NON_MERGEABLE_LEFTSIDE:
226 default: gt_assert(0);
227 }
228 }
229
230 static void mergerightside(Exonnode *nodeA, Exonnode *nodeB)
231 {
232 switch (getrightsidestatus(nodeA, nodeB)) {
233 case MERGEABLE_RIGHTSIDE_A_BEFORE_B:
234 /* ...-----[
235 ...------- */
236 nodeA->range.end = nodeB->range.end;
237 nodeA->rightmergeable = nodeB->rightmergeable;
238 break;
239 case MERGEABLE_RIGHTSIDE_A_EQUALS_B:
240 /* ...-------
241 ...------- */
242 if (!nodeA->rightmergeable || !nodeB->rightmergeable)
243 nodeA->rightmergeable = false;
244 break;
245 case MERGEABLE_RIGHTSIDE_A_AFTER_B:
246 /* ...-------
247 ...-----[
248 nothing to do */
249 break;
250 case NON_MERGEABLE_RIGHTSIDE:
251 default: gt_assert(0);
252 }
253 }
254
255 /*
256 The following function merges the exon nodes <nodeA> and
257 <nodeB>. That is, <nodeA> is modified to the merged node and
258 <nodeB> stays the same.
259 */
260
261 static void mergenodes(Exonnode *nodeA, Exonnode *nodeB)
262 {
263 GtUword i;
264
265 gt_assert(nodesaremergeable(nodeA, nodeB));
266
267 /* merge nodes */
268 mergeleftside(nodeA, nodeB);
269 mergerightside(nodeA, nodeB);
270
271 /* merge successor introns */
272 if (nodeA->successorintron == NULL && nodeB->successorintron != NULL) {
273 /* save successor intron of node B in node A */
274 nodeA->successorintron = nodeB->successorintron;
275 }
276 /* in the cases that (nodeA==NULL && nodeB==NULL) and that
277 (nodeA!=NULL && nodeB==NULL) nothing has to be done */
278
279 /* merge the exonscores */
280 for (i = 0; i < gt_array_size(nodeB->exonscores); i++) {
281 gt_array_add(nodeA->exonscores,
282 *(Exonscoreinfo*) gt_array_get(nodeB->exonscores, i));
283 }
284 }
285
286 static GthDbl computeexonscore(Exonnode *node)
287 {
288 GtUword i, maxlength = 0;
289 GthDbl maxscore = DBL_MIN;
290 Exonscoreinfo *exonscoreinfo;
291
292 /* compute maximal length */
293 for (i = 0; i < gt_array_size(node->exonscores); i++) {
294 exonscoreinfo = gt_array_get(node->exonscores, i);
295 if (exonscoreinfo->lengthofscoringexon > maxlength)
296 maxlength = exonscoreinfo->lengthofscoringexon;
297 }
298
299 /* save exonscore */
300 for (i = 0; i < gt_array_size(node->exonscores); i++) {
301 exonscoreinfo = gt_array_get(node->exonscores, i);
302 if ((exonscoreinfo->lengthofscoringexon
303 + SAVE_EXONSCORE_ALLOWED_DIFFERENCE >= maxlength) &&
304 (exonscoreinfo->exonscore > maxscore)) {
305 maxscore = exonscoreinfo->exonscore;
306 }
307 }
308
309 return maxscore;
310 }
311
312 static void addSAtoAGS(GthAGS *ags, GthSACluster *sacluster, GtArray *nodes)
313 {
314 GtUword i, currentnode = 0, currentexon = 0,
315 numofexons = gth_sa_num_of_exons(sacluster->representative);
316 Exonnode node;
317
318 /* genomic strands equal */
319 gt_assert(gth_ags_is_forward(ags) ==
320 gth_sa_gen_strand_forward(sacluster->representative));
321
322 /* set genomic id */
323 if (!ags->gen_id)
324 ags->gen_id = gt_str_ref(gth_sa_gen_id_str(sacluster->representative));
325 #ifndef NDEBUG
326 else {
327 /* genomic ids equal */
328 gt_assert(!gt_str_cmp(ags->gen_id,
329 gth_sa_gen_id_str(sacluster->representative)));
330 }
331 #endif
332
333 /* save SA pointers */
334 gt_array_add(ags->alignments, sacluster->representative);
335 for (i = 0; i < gt_array_size(sacluster->members); i++) {
336 gt_array_add(ags->alignments, *(GthSA**)
337 gt_array_get(sacluster->members, i));
338 }
339 ags->numofstoredsaclusters++;
340
341 while (currentexon < numofexons) {
342 node = getcoreExonnodefromSA(sacluster->representative, currentexon);
343
344 if (currentnode < gt_array_size(nodes)) {
345 /* compare current node with current exon */
346 if (!gt_range_overlap(&node.range,
347 &((Exonnode*) gt_array_get(nodes, currentnode))
348 ->range)) {
349 /* the current exon does not overlap with the current node,
350 visit next node */
351 currentnode++;
352 }
353 else {
354 /* left borders are equal, merge exon and node */
355 mergenodes(gt_array_get(nodes, currentnode), &node);
356 currentnode++;
357 currentexon++;
358 }
359 freecoreExonnode(&node);
360 }
361 else {
362 /* save this node */
363 gt_array_add(nodes, node);
364 currentnode++;
365 currentexon++;
366 }
367 }
368 }
369
370 void gth_build_AGS_from_assembly(GthAGS *ags, GtBittab *assembly,
371 GtArray *saclusters)
372 {
373 GtUword i;
374 GtArray *nodes;
375 GthExonAGS exonAGS;
376 GthSpliceSiteProb splicesiteprob;
377 Exonnode *exonnode;
378
379 nodes = gt_array_new(sizeof (Exonnode));
380
381 /* compute AGS, the exons are stored es Exonnodes, which are saved later
382 (see below) */
383 for (i = 0; i < gt_array_size(saclusters); i++) {
384 if (gt_bittab_bit_is_set(assembly, i))
385 addSAtoAGS(ags, *(GthSACluster**) gt_array_get(saclusters, i), nodes);
386 }
387
388 /* save exons */
389 for (i = 0; i < gt_array_size(nodes); i++) {
390 exonnode = gt_array_get(nodes, i);
391 exonAGS.range = exonnode->range;
392 exonAGS.score = computeexonscore(exonnode);
393 gt_array_add(ags->exons, exonAGS);
394 }
395
396 /* at least one exon node exists */
397 gt_assert(gt_array_size(nodes));
398 /* save the splice site probabilites (stored in the intron infos) */
399 for (i = 0; i < gt_array_size(nodes) - 1; i++) {
400 exonnode = gt_array_get(nodes, i);
401 splicesiteprob.donorsiteprob = exonnode->successorintron
402 ->donorsiteprobability;
403 splicesiteprob.acceptorsiteprob = exonnode->successorintron
404 ->acceptorsiteprobability;
405 gt_array_add(ags->splicesiteprobs, splicesiteprob);
406 }
407 /* last successor intron info points to null */
408 gt_assert(((Exonnode*) gt_array_get_last(nodes))->successorintron == NULL);
409
410 /* free space for nodes */
411 for (i = 0; i < gt_array_size(nodes); i++) {
412 exonnode = gt_array_get(nodes, i);
413 freecoreExonnode(exonnode);
414 }
415 gt_array_delete(nodes);
416 }
+0
-28
src/gth/ags_build.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef AGS_BUILD_H
18 #define AGS_BUILD_H
19
20 #include "core/bittab.h"
21 #include "gth/ags.h"
22 #include "gth/pgl.h"
23
24 void gth_build_AGS_from_assembly(GthAGS*, GtBittab *assembly,
25 GtArray *saclusters);
26
27 #endif
+0
-47
src/gth/align_common.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ALIGN_COMMON_H
18 #define ALIGN_COMMON_H
19
20 /* This modules contains the common functions which are used in the dna and the
21 protein DP. */
22
23 #include "gth/bssm_param.h"
24 #include "gth/dp_param.h"
25 #include "gth/stat.h"
26
27 #define SCORE(T,N,M) dpm->core.score[T][N][M]
28 #define GTH_MINUSINFINITY ((GthFlt) -99999.0)
29 #define DASH (SEPARATOR-3)
30 #define UNSET (SEPARATOR-4)
31
32 /*
33 The following updates maxvalue if it is smaller than value.
34 The variable <retrace> is defined accordingly.
35 */
36
37 #define UPDATEMAX(C)\
38 if (maxvalue < value)\
39 {\
40 maxvalue = value;\
41 retrace = (GthPath) C;\
42 }
43
44 typedef unsigned char GthPath;
45
46 #endif
+0
-1456
src/gth/align_dna.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <math.h>
18 #include "core/divmodmul.h"
19 #include "core/safearith.h"
20 #include "core/undef_api.h"
21 #include "core/unused_api.h"
22 #include "gth/align_dna_imp.h"
23 #include "gth/array2dim_plain.h"
24 #include "gth/compute_scores.h"
25 #include "gth/gthenum.h"
26 #include "gth/gtherror.h"
27 #include "gth/path_matrix.h"
28 #include "gth/path_walker.h"
29
30 /* IMPORTANT: Definition has to be consistent with DnaRetrace in
31 align_dna_imp.h. */
32 static const char *dna_retracenames[]= {
33 SHOWENUMTYPE(DNA_I_N),
34 SHOWENUMTYPE(DNA_E_N),
35 SHOWENUMTYPE(DNA_E_NM),
36 SHOWENUMTYPE(DNA_I_NM),
37 SHOWENUMTYPE(DNA_E_M),
38 SHOWENUMTYPE(DNA_I_M),
39 SHOWENUMTYPE(DNA_NUMOFRETRACE)
40 };
41
42 static const char* dna_showretracenames(DnaRetrace retrace)
43 {
44 gt_assert(retrace <= DNA_NUMOFRETRACE);
45 return dna_retracenames[retrace];
46 }
47
48 /* the following function allocates space for the DP tables for cDNAs/ESTs */
49 static int dp_matrix_init(GthDPMatrix *dpm,
50 GtUword gen_dp_length,
51 GtUword ref_dp_length,
52 GtUword autoicmaxmatrixsize,
53 bool introncutout,
54 GthJumpTable *jump_table,
55 GthStat *stat)
56 {
57 GtUword t, n, m, matrixsize, sizeofpathtype = sizeof (GthPath);
58
59 /* XXX: adjust this check for QUARTER_MATRIX case */
60 if (DNA_NUMOFSTATES * sizeofpathtype * (gen_dp_length + 1) >=
61 (~0)/(ref_dp_length + 1)) {
62 /* in this case the matrix would be larger than the addressable memory
63 of this machine -> return ERROR_MATRIX_ALLOCATION_FAILED */
64 return GTH_ERROR_MATRIX_ALLOCATION_FAILED;
65 }
66
67 matrixsize = gt_safe_mult_ulong((GT_DIV2(gen_dp_length + 1) +
68 GT_MOD2(gen_dp_length + 1)),
69 ref_dp_length + 1);
70
71 if (!introncutout && autoicmaxmatrixsize > 0) {
72 /* in this case the automatic intron cutout technique is enabled
73 check if allocated matrix would be larger as specified maximal
74 matrix size. If so, return matrix allocation error */
75 if (sizeofpathtype * matrixsize * DNA_NUMOFSTATES >
76 autoicmaxmatrixsize << 20) {
77 return GTH_ERROR_MATRIX_ALLOCATION_FAILED;
78 }
79 }
80
81 /* allocate space for dpm->path */
82 if (jump_table) {
83 gth_array2dim_plain_calloc(dpm->path,
84 GT_DIV2(gen_dp_length + 1) +
85 GT_MOD2(gen_dp_length + 1), ref_dp_length + 1);
86 }
87 else {
88 gth_array2dim_plain_malloc(dpm->path,
89 GT_DIV2(gen_dp_length + 1) +
90 GT_MOD2(gen_dp_length + 1), ref_dp_length + 1);
91 }
92 dpm->path_jt = NULL;
93 if (!dpm->path)
94 return GTH_ERROR_MATRIX_ALLOCATION_FAILED;
95
96 /* allocate space for dpm->score */
97 for (t = DNA_E_STATE; t < DNA_NUMOFSTATES; t++) {
98 for (n = 0; n < DNA_NUMOFSCORETABLES; n++) {
99 dpm->score[t][n] = gt_malloc(sizeof (GthFlt) * (ref_dp_length + 1));
100 }
101 }
102
103 /* allocating space for intronstart and exonstart */
104 for (n = 0; n < DNA_NUMOFSCORETABLES; n++) {
105 dpm->intronstart[n] = gt_calloc(ref_dp_length + 1,
106 sizeof *dpm->intronstart);
107 dpm->exonstart[n] = gt_calloc(ref_dp_length + 1, sizeof *dpm->exonstart);
108 }
109
110 /* initialize the DP matrices */
111 dpm->path[0][0] = DNA_E_NM;
112 dpm->path[0][0] |= I_STATE_E_N;
113 for (m = 1; m <= ref_dp_length; m++) {
114 dpm->path[0][m] = DNA_E_M;
115 dpm->path[0][m] |= I_STATE_I_N;
116 }
117
118 for (n = 0; n < DNA_NUMOFSCORETABLES; n++) {
119 dpm->score[DNA_E_STATE][n][0] = 0.0;
120 dpm->score[DNA_I_STATE][n][0] = 0.0;
121
122 for (m = 1; m <= ref_dp_length; m++) {
123 dpm->score[DNA_E_STATE][n][m] = (GthFlt) 0.0;
124 /* disallow intron status for 5' non-matching cDNA letters: */
125 dpm->score[DNA_I_STATE][n][m] = (GthFlt) GTH_MINUSINFINITY;
126 }
127 }
128 dpm->gen_dp_length = gen_dp_length;
129 dpm->ref_dp_length = ref_dp_length;
130
131 /* statistics */
132 gth_stat_increment_numofbacktracematrixallocations(stat);
133 gth_stat_increase_totalsizeofbacktracematricesinMB(stat,
134 (sizeofpathtype * matrixsize) >> 20);
135
136 return 0;
137 }
138
139 #if 0
140 static GtUword dp_matrix_get_reference_length(DPMatrix *dpm)
141 {
142 return dpm->ref_dp_length;
143 }
144 #endif
145
146 /* the following function evaluates state E_1m for indices 1 and <m> and
147 stores a backtrace reference */
148 static void E_1m(GthDPMatrix *dpm, unsigned char genomicchar,
149 const unsigned char *ref_seq_tran, GtUword m,
150 GtAlphabet *gen_alphabet, GthDbl log_probies,
151 GthDPOptionsEST *dp_options_est,
152 GthDPOptionsCore *dp_options_core)
153 {
154 GthFlt value, maxvalue;
155 GthPath retrace;
156 GthDbl rval = 0.0, outputweight = 0.0;
157 unsigned char referencechar = ref_seq_tran[m-1];
158 unsigned int gen_alphabet_mapsize = gt_alphabet_size(gen_alphabet);
159
160 /* 0. */
161 rval = log_probies;
162 ADDOUTPUTWEIGHT(rval,genomicchar,referencechar);
163 if ((m < dp_options_est->wdecreasedoutput ||
164 m > dpm->ref_dp_length - dp_options_est->wdecreasedoutput) &&
165 genomicchar == referencechar) {
166 ADDOUTPUTWEIGHT(outputweight, genomicchar, referencechar);
167 rval -= (outputweight / 2.0);
168 }
169 maxvalue = (GthFlt) (dpm->score[DNA_E_STATE][0][m-1] + rval);
170 retrace = DNA_E_NM;
171
172 /* 1. */
173 outputweight = 0.0;
174 rval = log_probies;
175 ADDOUTPUTWEIGHT(rval,genomicchar,referencechar);
176 if ((m < dp_options_est->wdecreasedoutput ||
177 m > dpm->ref_dp_length - dp_options_est->wdecreasedoutput) &&
178 genomicchar == referencechar) {
179 ADDOUTPUTWEIGHT(outputweight, genomicchar, referencechar);
180 rval -= (outputweight / 2.0);
181 }
182 value = (GthFlt) (dpm->score[DNA_I_STATE][0][m-1] + rval);
183 /* intron from intronstart to n-1 => n-1 - intronstart + 1 */
184 if (1 - dpm->intronstart[0][m - 1] < dp_options_core->dpminintronlength)
185 value -= dp_options_core->shortintronpenalty;
186 UPDATEMAX(DNA_I_NM);
187
188 /* 2. */
189 rval = log_probies;
190 if (m < dpm->ref_dp_length) {
191 ADDOUTPUTWEIGHT(rval, genomicchar, (unsigned char) DASH);
192 }
193 value = (GthFlt) (dpm->score[DNA_E_STATE][0][m] + rval);
194 UPDATEMAX(DNA_E_N);
195
196 /* 3. */
197 rval = log_probies;
198 if (m < dpm->ref_dp_length) {
199 ADDOUTPUTWEIGHT(rval, genomicchar, (unsigned char) DASH);
200 }
201 value = (GthFlt) (dpm->score[DNA_I_STATE][0][m] + rval);
202 /* intron from intronstart to n-1 => n-1 - intronstart + 1 */
203 if (1 - dpm->intronstart[0][m] < dp_options_core->dpminintronlength)
204 value -= dp_options_core->shortintronpenalty;
205 UPDATEMAX(DNA_I_N);
206
207 /* 4. */
208 rval = log_probies;
209 ADDOUTPUTWEIGHT(rval, (unsigned char) DASH, referencechar);
210 value = (GthFlt) (dpm->score[DNA_E_STATE][1][m-1] + rval);
211 UPDATEMAX(DNA_E_M);
212
213 /* 5. */
214 rval = dpm->score[DNA_I_STATE][1][m-1] + log_probies;
215 ADDOUTPUTWEIGHT(rval, (unsigned char) DASH, referencechar);
216 value = (GthFlt) (dpm->score[DNA_I_STATE][1][m-1] + rval);
217 /* intron from intronstart to n => n - intronstart + 1 */
218 if (1 - dpm->intronstart[1][m - 1] + 1 < dp_options_core->dpminintronlength)
219 value -= dp_options_core->shortintronpenalty;
220 UPDATEMAX(DNA_I_M);
221
222 /* save maximum values */
223 dpm->score[DNA_E_STATE][1][m] = maxvalue;
224 dpm->path[0][m] |= (retrace << 4);
225
226 switch (retrace) {
227 case DNA_I_NM:
228 case DNA_I_N:
229 case DNA_I_M:
230 dpm->exonstart[1][m] = 1;
231 break;
232 case DNA_E_NM:
233 dpm->exonstart[1][m] = dpm->exonstart[0][m - 1];
234 break;
235 case DNA_E_N:
236 dpm->exonstart[1][m] = dpm->exonstart[0][m];
237 break;
238 case DNA_E_M:
239 dpm->exonstart[1][m] = dpm->exonstart[1][m - 1];
240 break;
241 default: gt_assert(0);
242 }
243 }
244
245 /* the following function evaluates state I_1m for indices 1 and <m> and
246 stores a backtrace reference */
247 static void I_1m(GthDPMatrix *dpm, GtUword m, GthDbl log_1minusprobies)
248 {
249 GthFlt value, maxvalue;
250 GthPath retrace;
251
252 /* 0. */
253 maxvalue = (GthFlt) (dpm->score[DNA_E_STATE][0][m] + log_1minusprobies);
254 retrace = I_STATE_E_N;
255
256 /* 1. */
257 value = (GthFlt) (dpm->score[DNA_I_STATE][0][m] + log_1minusprobies);
258 UPDATEMAX(I_STATE_I_N);
259
260 /* save maximum values */
261 dpm->score[DNA_I_STATE][1][m] = maxvalue;
262 dpm->path[0][m] |= (retrace << 4);
263
264 switch (retrace) {
265 case I_STATE_E_N:
266 /* begin of a new intron */
267 dpm->intronstart[1][m] = 1;
268 break;
269 case I_STATE_I_N:
270 /* continue existing intron */
271 dpm->intronstart[1][m] = dpm->intronstart[0][m];
272 break;
273 default: gt_assert(0);
274 }
275 }
276
277 /* the following function evaluate the dynamic programming tables */
278 static void dna_complete_path_matrix(GthDPMatrix *dpm,
279 const unsigned char *gen_seq_tran,
280 const unsigned char *ref_seq_tran,
281 GtUword genomic_offset,
282 GtAlphabet *gen_alphabet,
283 GthDPParam *dp_param,
284 GthDPOptionsEST *dp_options_est,
285 GthDPOptionsCore *dp_options_core)
286 {
287 GthFlt value, maxvalue;
288 GthPath retrace;
289 GtUword n, m, modn, modnminus1;
290 GthDbl rval, outputweight, **outputweights,
291 log_probies, /* initial exon state probability */
292 log_1minusprobies; /* initial intron state probability */
293 GthFlt log_probdelgen, /* deletion in genomic sequence */
294 log_1minusprobdelgen;
295 unsigned char genomicchar, referencechar;
296 unsigned int gen_alphabet_mapsize = gt_alphabet_size(gen_alphabet);
297
298 gt_assert(dpm->gen_dp_length > 1);
299
300 log_probies = (GthDbl) log((double) dp_options_est->probies);
301 log_1minusprobies = (GthDbl) log(1.0 - dp_options_est->probies);
302 log_probdelgen = (GthFlt) log((double) dp_options_est->probdelgen);
303 log_1minusprobdelgen = (GthFlt) log(1.0 - dp_options_est->probdelgen);
304
305 /* precompute outputweights
306 XXX: move this to somewhere else, maybe make it smaller */
307 gt_array2dim_calloc(outputweights, UCHAR_MAX+1, UCHAR_MAX+1);
308 for (n = 0; n <= UCHAR_MAX; n++) {
309 for (m = 0; m <= UCHAR_MAX; m++) {
310 ADDOUTPUTWEIGHT(outputweights[n][m], n, m);
311 }
312 }
313
314 if (!genomic_offset) {
315 /* handle case for n equals 1 */
316 dpm->path[0][0] |= UPPER_E_N;
317 dpm->path[0][0] |= UPPER_I_STATE_I_N;
318
319 /* stepping along the cDNA/EST sequence */
320 for (m = 1; m <= dpm->ref_dp_length; m++) {
321 E_1m(dpm, gen_seq_tran[0], ref_seq_tran, m, gen_alphabet, log_probies,
322 dp_options_est, dp_options_core);
323 I_1m(dpm, m, log_1minusprobies);
324 }
325 }
326
327 /* handle all other n's
328 stepping along the genomic sequence */
329 if (genomic_offset)
330 n = genomic_offset + 1;
331 else
332 n = 2;
333
334 for (; n <= dpm->gen_dp_length; n++) {
335 modn = GT_MOD2(n);
336 modnminus1 = GT_MOD2(n-1);
337 genomicchar = gen_seq_tran[n-1];
338
339 if (modn) {
340 dpm->path[GT_DIV2(n)][0] |= UPPER_E_N;
341 dpm->path[GT_DIV2(n)][0] |= UPPER_I_STATE_I_N;
342 }
343 else {
344 dpm->path[GT_DIV2(n)][0] = DNA_E_N;
345 dpm->path[GT_DIV2(n)][0] |= I_STATE_I_N;
346 }
347
348 /* stepping along the cDNA/EST sequence */
349 for (m = 1; m <= dpm->ref_dp_length; m++) {
350 referencechar = ref_seq_tran[m-1];
351
352 /* evaluate E_nm */
353
354 /* 0. */
355 outputweight = 0.0;
356 rval = (GthDbl) (log_1minusprobdelgen + dp_param->log_1minusPdonor[n-1]);
357 rval += outputweights[genomicchar][referencechar];
358 if ((m < dp_options_est->wdecreasedoutput ||
359 m > dpm->ref_dp_length - dp_options_est->wdecreasedoutput) &&
360 genomicchar == referencechar) {
361 outputweight += outputweights[genomicchar][referencechar];
362 rval -= (outputweight / 2.0);
363 }
364 maxvalue = (GthFlt) (dpm->score[DNA_E_STATE][modnminus1][m-1] + rval);
365 retrace = DNA_E_NM;
366
367 /* 1. */
368 outputweight = 0.0;
369 rval = (GthDbl) (dp_param->log_Pacceptor[n-2] + log_1minusprobdelgen);
370 rval += outputweights[genomicchar][referencechar];
371 if ((m < dp_options_est->wdecreasedoutput ||
372 m > dpm->ref_dp_length - dp_options_est->wdecreasedoutput) &&
373 genomicchar == referencechar) {
374 outputweight += outputweights[genomicchar][referencechar];
375 rval -= (outputweight / 2.0);
376 }
377 value = (GthFlt) (dpm->score[DNA_I_STATE][modnminus1][m-1] + rval);
378 /* intron from intronstart to n-1 => n-1 - intronstart + 1 */
379 if (n - dpm->intronstart[modnminus1][m - 1] <
380 dp_options_core->dpminintronlength) {
381 value -= dp_options_core->shortintronpenalty;
382 }
383 UPDATEMAX(DNA_I_NM);
384
385 /* 2. */
386 rval = 0.0;
387 if (m < dpm->ref_dp_length || n < dp_options_est->wzerotransition)
388 rval += (log_1minusprobdelgen + dp_param->log_1minusPdonor[n-1]);
389 if (m < dpm->ref_dp_length)
390 rval += outputweights[genomicchar][DASH];
391 value = (GthFlt) (dpm->score[DNA_E_STATE][modnminus1][m] + rval);
392 UPDATEMAX(DNA_E_N);
393
394 /* 3. */
395 rval = (GthDbl) (dp_param->log_Pacceptor[n-2] + log_1minusprobdelgen);
396 if (m < dpm->ref_dp_length)
397 rval += outputweights[genomicchar][DASH];
398 value = (GthFlt) (dpm->score[DNA_I_STATE][modnminus1][m] + rval);
399 /* intron from intronstart to n-1 => n-1 - intronstart + 1 */
400 if (n - dpm->intronstart[modnminus1][m] <
401 dp_options_core->dpminintronlength) {
402 value -= dp_options_core->shortintronpenalty;
403 }
404 UPDATEMAX(DNA_I_N);
405
406 /* 4. */
407 rval = 0.0;
408 if (n < dpm->gen_dp_length || m < dp_options_est->wzerotransition)
409 rval = (GthDbl) log_probdelgen;
410 if (n < dpm->gen_dp_length)
411 rval += outputweights[DASH][referencechar];
412 value = (GthFlt) (dpm->score[DNA_E_STATE][modn][m-1] + rval);
413 UPDATEMAX(DNA_E_M);
414
415 /* 5. */
416 rval = 0.0;
417 if (n < dpm->gen_dp_length)
418 rval += (dp_param->log_Pacceptor[n-1] + log_probdelgen);
419 if (n < dpm->gen_dp_length)
420 rval += outputweights[DASH][referencechar];
421 value = (GthFlt) (dpm->score[DNA_I_STATE][modn][m-1] + rval);
422 /* intron from intronstart to n => n - intronstart + 1 */
423 if (n - dpm->intronstart[modn][m - 1] + 1 <
424 dp_options_core->dpminintronlength) {
425 value -= dp_options_core->shortintronpenalty;
426 }
427 UPDATEMAX(DNA_I_M);
428
429 /* save maximum values */
430 dpm->score[DNA_E_STATE][modn][m] = maxvalue;
431 if (modn)
432 dpm->path[GT_DIV2(n)][m] |= (retrace << 4);
433 else
434 dpm->path[GT_DIV2(n)][m] = retrace;
435
436 switch (retrace) {
437 case DNA_I_NM:
438 case DNA_I_N:
439 case DNA_I_M:
440 dpm->exonstart[modn][m] = n;
441 break;
442 case DNA_E_NM:
443 dpm->exonstart[modn][m] = dpm->exonstart[modnminus1][m - 1];
444 break;
445 case DNA_E_N:
446 dpm->exonstart[modn][m] = dpm->exonstart[modnminus1][m];
447 break;
448 case DNA_E_M:
449 dpm->exonstart[modn][m] = dpm->exonstart[modn][m - 1];
450 break;
451 default: gt_assert(0);
452 }
453
454 /* evaluate I_nm */
455
456 /* 0. */
457 maxvalue = dpm->score[DNA_E_STATE][modnminus1][m] +
458 (log_1minusprobdelgen + dp_param->log_Pdonor[n-1]);
459 if (n - dpm->exonstart[modnminus1][m]
460 < dp_options_core->dpminexonlength) {
461 maxvalue -= dp_options_core->shortexonpenalty;
462 }
463 retrace = I_STATE_E_N;
464
465 /* 1. */
466 value = dpm->score[DNA_I_STATE][modnminus1][m];
467 if (!dp_options_core->freeintrontrans && m < dpm->ref_dp_length)
468 value += dp_param->log_1minusPacceptor[n-2];
469 UPDATEMAX(I_STATE_I_N);
470
471 /* save maximum values */
472 dpm->score[DNA_I_STATE][modn][m] = maxvalue;
473 if (modn)
474 dpm->path[GT_DIV2(n)][m] |= (retrace << 4);
475 else
476 dpm->path[GT_DIV2(n)][m] |= retrace;
477
478 switch (retrace) {
479 case I_STATE_E_N:
480 /* begin of a new intron */
481 dpm->intronstart[modn][m] = n;
482 break;
483 case I_STATE_I_N:
484 /* continue existing intron */
485 dpm->intronstart[modn][m] = dpm->intronstart[modnminus1][m];
486 break;
487 default: gt_assert(0);
488 }
489 }
490 }
491
492 /* free space */
493 gt_array2dim_delete(outputweights);
494 }
495
496 static void dna_include_exon(GthBacktracePath *backtrace_path,
497 GtUword exonlength)
498 {
499 /* at least one editoperation already saved */
500 gt_assert(gth_backtrace_path_length(backtrace_path));
501
502 while (exonlength) {
503 /* XXX: The following would be the better solution, but leads to problems
504 in the score computation, because the backtrace then ``produces genomic
505 bases'' which are not present in the spliced sequence.
506
507 gth_backtrace_path_add_deletion(backtrace_path); */
508 gth_backtrace_path_add_intron(backtrace_path);
509 exonlength--;
510 }
511 }
512
513 static void dna_include_intron(GthBacktracePath *backtrace_path,
514 GtUword intronlength)
515 {
516 /* at least one editoperation already saved */
517 gt_assert(gth_backtrace_path_length(backtrace_path));
518
519 while (intronlength) {
520 gth_backtrace_path_add_intron(backtrace_path);
521 intronlength--;
522 }
523 }
524
525 static int dna_evaltracepath(GthBacktracePath *backtrace_path, GthDPMatrix *dpm,
526 const unsigned char *ref_seq_tran,
527 const unsigned char *gen_seq_tran,
528 DnaStates actualstate, bool introncutout,
529 GthSplicedSeq *spliced_seq, bool comments,
530 bool noicinintroncheck, GthPathMatrix *pm,
531 GtFile *outfp)
532 {
533 GtUword genptr = dpm->gen_dp_length, last_genptr = 0,
534 refptr = dpm->ref_dp_length;
535 GthPath pathtype, pathtype_jt = 0;
536 bool lower;
537
538 gt_assert(!gth_backtrace_path_length(backtrace_path));
539
540 while ((genptr > 0) || (refptr > 0)) {
541 /* here we map the quarter matrix bitvector stuff back on the simple Retrace
542 types. Thereby, no further changes on the backtracing procedure are
543 necessary. */
544 pathtype = dpm->path[GT_DIV2(genptr)][refptr];
545 if (dpm->path_jt)
546 pathtype_jt = dpm->path_jt[GT_DIV2(genptr)][refptr];
547 lower = (bool) !GT_MOD2(genptr);
548 if (lower) {
549 if (actualstate == DNA_E_STATE) {
550 pathtype &= LOWER_E_STATE_MASK;
551 pathtype_jt &= LOWER_E_STATE_MASK;
552 }
553 else {
554 pathtype &= LOWER_I_STATE_MASK;
555 pathtype >>= 3;
556 pathtype_jt &= LOWER_I_STATE_MASK;
557 pathtype_jt >>= 3;
558 }
559 }
560 else {
561 if (actualstate == DNA_E_STATE) {
562 pathtype &= UPPER_E_STATE_MASK;
563 pathtype >>= 4;
564 pathtype_jt &= UPPER_E_STATE_MASK;
565 pathtype_jt >>= 4;
566 }
567 else {
568 pathtype &= UPPER_I_STATE_MASK;
569 pathtype >>= 7;
570 pathtype_jt &= UPPER_I_STATE_MASK;
571 pathtype_jt >>= 7;
572 }
573 }
574
575 if (dpm->path_jt) {
576 #if 0
577 printf("genptr="GT_WU", refptr="GT_WU"\n", genptr, refptr);
578 printf("pathtype=%d, pathtype_jt=%d\n", pathtype, pathtype_jt);
579 #endif
580 gt_assert(pathtype == pathtype_jt);
581 }
582
583 if (introncutout) {
584 if (genptr > 0) {
585 if (gth_spliced_seq_pos_is_border(spliced_seq, genptr - 1)) {
586 /* ensure that introns are only included into already existing introns
587 */
588 if (pathtype != DNA_I_N ||
589 !gth_backtrace_path_last_is_intron(backtrace_path)) {
590 if (noicinintroncheck) {
591 /* intron cutout in intron check disabled,
592 include exon consisting of deletions */
593 if (genptr != last_genptr) {
594 last_genptr = genptr;
595 dna_include_exon(backtrace_path,
596 gth_spliced_seq_border_length(spliced_seq,
597 genptr - 1));
598 }
599
600 }
601 else {
602 if (comments) {
603 gt_file_xprintf(outfp,
604 "%c abort backtracing, intron cutout at p=%s "
605 "(genpos=" GT_WU " (actual strand!))\n",
606 COMMENTCHAR,
607 dna_showretracenames((DnaRetrace) pathtype),
608 spliced_seq->positionmapping[genptr]);
609 }
610 return GTH_ERROR_CUTOUT_NOT_IN_INTRON;
611 }
612 }
613 else {
614 /* include intron */
615 dna_include_intron(backtrace_path,
616 gth_spliced_seq_border_length(spliced_seq,
617 genptr - 1));
618 }
619 }
620 }
621 }
622
623 if (pm) {
624 gth_path_matrix_set_max_path(pm, genptr, refptr,
625 actualstate == DNA_E_STATE);
626 }
627
628 switch (actualstate) {
629 case DNA_E_STATE:
630 /* we are currently in an exon state, the possible pathtypes for exon
631 states are handled here */
632 switch (pathtype) {
633 case DNA_E_NM:
634 if (gen_seq_tran[genptr-1] == ref_seq_tran[refptr-1])
635 gth_backtrace_path_add_match(backtrace_path, false);
636 else
637 gth_backtrace_path_add_mismatch(backtrace_path);
638 genptr--;
639 refptr--;
640 break;
641 case DNA_I_NM:
642 if (gen_seq_tran[genptr-1] == ref_seq_tran[refptr-1])
643 gth_backtrace_path_add_match(backtrace_path, false);
644 else
645 gth_backtrace_path_add_mismatch(backtrace_path);
646 genptr--;
647 refptr--;
648 actualstate = DNA_I_STATE;
649 break;
650 case DNA_E_N:
651 gth_backtrace_path_add_deletion(backtrace_path);
652 genptr--;
653 break;
654 case DNA_I_N:
655 gth_backtrace_path_add_deletion(backtrace_path);
656 genptr--;
657 actualstate = DNA_I_STATE;
658 break;
659 case DNA_E_M:
660 gth_backtrace_path_add_insertion(backtrace_path);
661 refptr--;
662 break;
663 case DNA_I_M:
664 gth_backtrace_path_add_insertion(backtrace_path);
665 refptr--;
666 actualstate = DNA_I_STATE;
667 break;
668 default: gt_assert(0);
669 }
670 break;
671 case DNA_I_STATE:
672 /* we are currently in an intron state, the possible pathtypes for
673 intron states are handled here */
674 switch (pathtype) {
675 case DNA_E_N:
676 gth_backtrace_path_add_intron(backtrace_path);
677 genptr--;
678 actualstate = DNA_E_STATE;
679 break;
680 case DNA_I_N:
681 gth_backtrace_path_add_intron(backtrace_path);
682 genptr--;
683 break;
684 default: gt_assert(0);
685 }
686 break;
687 default: gt_assert(0);
688 }
689 }
690
691 /* genptr is at start of genseq */
692 gt_assert(genptr == 0);
693 /* refptr is at start of refseq */
694 gt_assert(refptr == 0);
695
696 if (pm)
697 gth_path_matrix_set_max_path(pm, genptr, refptr, actualstate);
698
699 return 0;
700 }
701
702 static int dna_find_optimal_path(GthBacktracePath *backtrace_path,
703 GthDPMatrix *dpm,
704 const unsigned char *ref_seq_tran,
705 const unsigned char *gen_seq_tran,
706 bool introncutout,
707 GthSplicedSeq *spliced_seq,
708 bool comments, bool noicinintroncheck,
709 bool useintron, /* XXX */
710 GthPathMatrix *pm,
711 GtFile *outfp)
712 {
713 int rval;
714 GthFlt value, maxvalue;
715 GthPath retrace;
716 DnaStates state;
717
718 if (useintron) {
719 retrace = DNA_I_STATE;
720 }
721 else {
722 maxvalue =
723 dpm->score[DNA_E_STATE][GT_MOD2(dpm->gen_dp_length)][dpm->ref_dp_length];
724 retrace = DNA_E_STATE;
725
726 for (state = (DnaStates) 1; state < DNA_NUMOFSTATES; state++) {
727 value = dpm->score[state][GT_MOD2(dpm->gen_dp_length)]
728 [dpm->ref_dp_length];
729 UPDATEMAX(state);
730 }
731 }
732
733 if ((rval = dna_evaltracepath(backtrace_path, dpm, ref_seq_tran,
734 gen_seq_tran, (DnaStates) retrace,
735 introncutout, spliced_seq, comments,
736 noicinintroncheck, pm, outfp))) {
737 return rval;
738 }
739
740 gt_assert(gth_backtrace_path_is_valid(backtrace_path));
741
742 return 0;
743 }
744
745 /* the following function frees the DP tables for cDNAs/ESTs */
746 static void dp_matrix_free(GthDPMatrix *dpm)
747 {
748 GtUword t, n;
749
750 /* freeing space for dpm->intronstart and dpm->exonstart */
751 for (n = 0; n < DNA_NUMOFSCORETABLES; n++) {
752 gt_free(dpm->intronstart[n]);
753 gt_free(dpm->exonstart[n]);
754 }
755
756 /* freeing space for dpm->score */
757 for (t = DNA_E_STATE; t < DNA_NUMOFSTATES; t++) {
758 for (n = 0; n < DNA_NUMOFSCORETABLES; n++)
759 gt_free(dpm->score[t][n]);
760 }
761
762 /* freeing space for dpm->path */
763 gth_array2dim_plain_delete(dpm->path);
764 if (dpm->path_jt)
765 gt_array2dim_delete(dpm->path_jt);
766 }
767
768 #if 0
769 static GthFlt dp_matrix_get_score_e_state(DPMatrix *dpm,
770 GtUword n,
771 GtUword m)
772 {
773 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
774 return dpm->score[DNA_E_STATE][GT_MOD2(n)][m];
775 }
776
777 static GthFlt dp_matrix_get_score_i_state(DPMatrix *dpm,
778 GtUword n,
779 GtUword m)
780 {
781 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
782 return dpm->score[DNA_I_STATE][GT_MOD2(n)][m];
783 }
784
785 static void dp_matrix_set_score_e_state(DPMatrix *dpm, GtUword n,
786 GtUword m, GthFlt score)
787 {
788 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
789 dpm->score[DNA_E_STATE][GT_MOD2(n)][m] = score;
790 }
791
792 static void dp_matrix_set_score_i_state(DPMatrix *dpm, GtUword n,
793 GtUword m, GthFlt score)
794 {
795 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
796 dpm->score[DNA_I_STATE][GT_MOD2(n)][m] = score;
797 }
798
799 static GtUword dp_matrix_get_intronstart(DPMatrix *dpm, GtUword n,
800 GtUword m)
801 {
802 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
803 return dpm->intronstart[GT_MOD2(n)][m];
804 }
805
806 static void dp_matrix_set_intronstart(DPMatrix *dpm, GtUword n,
807 GtUword m, GtUword start)
808 {
809 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
810 dpm->intronstart[GT_MOD2(n)][m] = start;
811 }
812
813 static GtUword dp_matrix_get_exonstart(DPMatrix *dpm, GtUword n,
814 GtUword m)
815 {
816 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
817 return dpm->exonstart[GT_MOD2(n)][m];
818 }
819
820 static void dp_matrix_set_exonstart(DPMatrix *dpm, GtUword n,
821 GtUword m, GtUword start)
822 {
823 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
824 dpm->exonstart[GT_MOD2(n)][m] = start;
825 }
826
827 static DnaRetrace dp_matrix_get_retrace_e_state(DPMatrix *dpm, GtUword n,
828 GtUword m)
829 {
830 GthPath pathtype;
831 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
832 pathtype = dpm->path[GT_DIV2(n)][m];
833 if (!GT_MOD2(n)) {
834 pathtype &= LOWER_E_STATE_MASK;
835 }
836 else {
837 pathtype &= UPPER_E_STATE_MASK;
838 pathtype >>= 4;
839 }
840 return pathtype;
841 }
842
843 static DnaRetrace dp_matrix_get_retrace_i_state(DPMatrix *dpm, GtUword n,
844 GtUword m)
845 {
846 GthPath pathtype;
847 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
848 pathtype = dpm->path[GT_DIV2(n)][m];
849 if (!GT_MOD2(n)) {
850 pathtype &= LOWER_I_STATE_MASK;
851 pathtype >>= 3;
852 }
853 else {
854 pathtype &= UPPER_I_STATE_MASK;
855 pathtype >>= 7;
856 }
857 return pathtype;
858 }
859
860 static void dp_matrix_set_retrace_e_state(DPMatrix *dpm, GtUword n,
861 GtUword m, DnaRetrace retrace)
862 {
863 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
864 gt_assert(retrace < DNA_NUMOFRETRACE);
865 if (!GT_MOD2(n)) {
866 dpm->path[GT_DIV2(n)][m] &= ~LOWER_E_STATE_MASK;
867 dpm->path[GT_DIV2(n)][m] |= retrace;
868 }
869 else {
870 dpm->path[GT_DIV2(n)][m] &= ~UPPER_E_STATE_MASK;
871 dpm->path[GT_DIV2(n)][m] |= retrace << 4;
872 }
873 }
874
875 static void dp_matrix_set_retrace_i_state(DPMatrix *dpm, GtUword n,
876 GtUword m, DnaRetrace retrace)
877 {
878 gt_assert(dpm && n < dpm->gen_dp_length && m < dpm->ref_dp_length);
879 gt_assert(retrace == DNA_I_N || retrace == DNA_E_N);
880 if (!GT_MOD2(n)) {
881 dpm->path[GT_DIV2(n)][m] &= ~LOWER_I_STATE_MASK;
882 dpm->path[GT_DIV2(n)][m] |= retrace << 3;
883 }
884 else {
885 dpm->path[GT_DIV2(n)][m] &= ~UPPER_I_STATE_MASK;
886 dpm->path[GT_DIV2(n)][m] |= retrace << 7;
887 }
888 }
889 #endif
890
891 #if 0
892 static void dp_matrix_copy_terminal(DPMatrix *dpm_terminal, DPMatrix *dpm,
893 GtUword genomic_offset,
894 GtUword genomic_overlap,
895 GtUword reference_offset)
896 {
897 GthFlt score;
898 GtUword n, m, start;
899 DnaRetrace retrace;
900 gt_assert(dpm_terminal && dpm);
901 /* copy last score, intronstart, and exonstart row */
902 n = genomic_overlap - 1;
903 for (m = 0; m < dp_matrix_get_reference_length(dpm_terminal); m++) {
904 score = dp_matrix_get_score_e_state(dpm, n + genomic_offset,
905 m + reference_offset);
906 dp_matrix_set_score_e_state(dpm_terminal, n, m, score);
907 score = dp_matrix_get_score_i_state(dpm, n + genomic_offset,
908 m + reference_offset);
909 dp_matrix_set_score_i_state(dpm_terminal, n, m, score);
910 start = dp_matrix_get_intronstart(dpm, n + genomic_offset,
911 m + reference_offset);
912 dp_matrix_set_intronstart(dpm_terminal, n, m, start);
913 start = dp_matrix_get_exonstart(dpm, n + genomic_offset,
914 m + reference_offset);
915 dp_matrix_set_exonstart(dpm_terminal, n, m, start);
916 }
917 /* copy path matrix */
918 for (n = 0; n < genomic_overlap; n++) {
919 for (m = 0; m < dp_matrix_get_reference_length(dpm_terminal); m++) {
920 retrace = dp_matrix_get_retrace_e_state(dpm, n + genomic_offset,
921 m + reference_offset);
922 dp_matrix_set_retrace_e_state(dpm_terminal, n, m, retrace);
923 retrace = dp_matrix_get_retrace_i_state(dpm, n + genomic_offset,
924 m + reference_offset);
925 dp_matrix_set_retrace_i_state(dpm_terminal, n, m, retrace);
926 }
927 }
928 }
929 #endif
930
931 /* XXX */
932 #define DETECT_SMALL_EXONS_DP_LENGTH 100000
933 #define DETECT_SMALL_EXONS_EXTRA_OVERLAP 0
934
935 static void detect_small_terminal_exons(GthSA *sa,
936 GtUword gen_dp_start,
937 const unsigned char *gen_seq_tran,
938 GtUword gen_dp_length,
939 const unsigned char *ref_seq_tran,
940 GtUword ref_dp_length,
941 const GtRange *gen_seq_bounds,
942 bool comments,
943 GthSpliceSiteModel *splice_site_model,
944 GtAlphabet *gen_alphabet,
945 GT_UNUSED GthDPMatrix *dpm,
946 GthDPOptionsEST *dp_options_est,
947 GthDPOptionsCore *dp_options_core,
948 GthStat *stat, GtFile *outfp)
949 {
950 GtUword gen_dp_start_terminal, gen_dp_length_terminal,
951 ref_dp_start_terminal, ref_dp_length_terminal;
952 GthDPParam *dp_param_terminal;
953 GthDPMatrix dpm_terminal;
954 GthBacktracePath *backtrace_path;
955 GthDPOptionsCore *dp_options_core_terminal;
956 GthDPOptionsEST *dp_options_est_terminal;
957 GT_UNUSED int rval; /*XXX*/
958
959 /* determine positions of terminal DP */
960 gen_dp_start_terminal = gen_dp_start + gen_dp_length -
961 gth_sa_genomiccutoff_end(sa);
962 if (gen_dp_start_terminal >= gen_seq_bounds->end)
963 return;
964 gen_dp_length_terminal = gth_sa_genomiccutoff_end(sa) +
965 DETECT_SMALL_EXONS_DP_LENGTH;
966 ref_dp_start_terminal = 0 + ref_dp_length -
967 gth_sa_referencecutoff_end(sa);
968 ref_dp_length_terminal = gth_sa_referencecutoff_end(sa) +
969 DETECT_SMALL_EXONS_EXTRA_OVERLAP;
970 if (comments) {
971 gt_file_xprintf(outfp, "%c detect_small_terminal_exons():\n",
972 COMMENTCHAR);
973 gt_file_xprintf(outfp, "%c gen_dp_start_terminal="GT_WU"\n", COMMENTCHAR,
974 gen_dp_start_terminal);
975 gt_file_xprintf(outfp, "%c gen_dp_length_terminal="GT_WU"\n", COMMENTCHAR,
976 gen_dp_length_terminal);
977 gt_file_xprintf(outfp, "%c gen_dp_length="GT_WU"\n", COMMENTCHAR,
978 gen_dp_length);
979 gt_file_xprintf(outfp, "%c gen_seq_bounds="GT_WU", "GT_WU"\n", COMMENTCHAR,
980 gen_seq_bounds->start, gen_seq_bounds->end);
981 }
982 if (gen_dp_start_terminal + gen_dp_length_terminal - 1 >
983 gen_seq_bounds->end) {
984 gen_dp_length_terminal -= gen_dp_start_terminal + gen_dp_length_terminal - 1
985 - gen_seq_bounds->end;
986 gt_assert(gen_dp_start_terminal + gen_dp_length_terminal - 1 ==
987 gen_seq_bounds->end);
988 }
989 gt_assert(gen_dp_start_terminal + gen_dp_length_terminal - 1 <=
990 gen_seq_bounds->end);
991 if (comments) {
992 gt_file_xprintf(outfp, "%c gen_dp_start_terminal="GT_WU"\n", COMMENTCHAR,
993 gen_dp_start_terminal);
994 gt_file_xprintf(outfp, "%c gen_dp_length_terminal="GT_WU"\n", COMMENTCHAR,
995 gen_dp_length_terminal);
996 }
997
998 if (dp_matrix_init(&dpm_terminal, gen_dp_length_terminal,
999 ref_dp_length_terminal, 0, false, NULL, stat)) {
1000 /* out of memory */
1001 return;
1002 }
1003 dp_param_terminal = gth_dp_param_new_with_range(gen_dp_start_terminal,
1004 gen_dp_start_terminal +
1005 gen_dp_length_terminal - 1,
1006 gen_seq_tran, gen_seq_bounds,
1007 splice_site_model,
1008 gen_alphabet);
1009 if (!dp_param_terminal) {
1010 /* out of memory */
1011 dp_matrix_free(&dpm_terminal);
1012 return;
1013 }
1014 dp_options_core_terminal = gth_dp_options_core_clone(dp_options_core);
1015 dp_options_est_terminal = gth_dp_options_est_clone(dp_options_est);
1016 /* XXX */
1017 #if 0
1018 dp_options_est_terminal->wzerotransition = 0; /* XXX */
1019 dp_options_est_terminal->wdecreasedoutput = 0; /* XXX */
1020 dp_options_core_terminal->freeintrontrans = true;
1021 #endif
1022 #if 0
1023 dp_matrix_copy_terminal(&dpm_terminal, dpm,
1024 dpm->gen_dp_length - gth_sa_genomiccutoff_end(sa),
1025 gth_sa_genomiccutoff_end(sa),
1026 ref_dp_length - ref_dp_length_terminal);
1027 #endif
1028 dna_complete_path_matrix(&dpm_terminal,
1029 gen_seq_tran + gen_dp_start_terminal,
1030 ref_seq_tran + ref_dp_length - ref_dp_length_terminal,
1031 /*gth_sa_genomiccutoff_end(sa), */
1032 0,
1033 gen_alphabet,
1034 dp_param_terminal, dp_options_est_terminal,
1035 dp_options_core_terminal);
1036 backtrace_path = gth_backtrace_path_new(gen_dp_start_terminal,
1037 gen_dp_length_terminal,
1038 ref_dp_start_terminal,
1039 ref_dp_length_terminal);
1040 gth_backtrace_path_set_alphatype(backtrace_path, DNA_ALPHA);
1041 rval = dna_find_optimal_path(backtrace_path, &dpm_terminal,
1042 ref_seq_tran + ref_dp_length
1043 - ref_dp_length_terminal,
1044 gen_seq_tran + gen_dp_start_terminal,
1045 false, NULL, comments, false, false, NULL,
1046 outfp);
1047 gt_assert(!rval);
1048
1049 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1050
1051 gth_sa_cutoff_end(sa);
1052 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1053
1054 gth_sa_append(sa, backtrace_path);
1055 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1056
1057 gth_backtrace_path_delete(backtrace_path);
1058 gth_dp_param_delete(dp_param_terminal);
1059 dp_matrix_free(&dpm_terminal);
1060 gth_dp_options_core_delete(dp_options_core_terminal);
1061 gth_dp_options_est_delete(dp_options_est_terminal);
1062 }
1063
1064 static void detect_small_initial_exons(GthSA *sa,
1065 GtUword *gen_dp_start,
1066 const unsigned char *gen_seq_tran,
1067 GtUword gen_dp_length,
1068 const unsigned char *ref_seq_tran,
1069 const GtRange *gen_seq_bounds,
1070 bool showeops, bool comments,
1071 GthSpliceSiteModel *splice_site_model,
1072 GtAlphabet *gen_alphabet,
1073 GthDPOptionsEST *dp_options_est,
1074 GthDPOptionsCore *dp_options_core,
1075 GthStat *stat, GtFile *outfp)
1076 {
1077 GtUword gen_dp_start_initial, gen_dp_length_initial,
1078 ref_dp_start_initial, ref_dp_length_initial;
1079 GthDPParam *dp_param_initial;
1080 GthDPMatrix dpm_initial;
1081 GthBacktracePath *backtrace_path;
1082 GthPathWalker *path_walker = NULL; /* XXX */
1083 GT_UNUSED int rval; /*XXX*/
1084
1085 if (comments) {
1086 gt_file_xprintf(outfp, "%c detect_small_initial_exons():\n",
1087 COMMENTCHAR);
1088 gt_file_xprintf(outfp, "%c gen_dp_start="GT_WU"\n", COMMENTCHAR,
1089 *gen_dp_start);
1090 gt_file_xprintf(outfp, "%c DETECT_SMALL_EXONS_DP_LENGTH=%d\n",
1091 COMMENTCHAR, DETECT_SMALL_EXONS_DP_LENGTH);
1092 gt_file_xprintf(outfp, "%c genomic_cutoff="GT_WU"\n", COMMENTCHAR,
1093 gth_sa_genomiccutoff_start(sa));
1094 }
1095
1096 /* determine positions of initial DP */
1097 ref_dp_start_initial = 0; /* XXX */
1098 ref_dp_length_initial = gth_sa_referencecutoff_start(sa) +
1099 DETECT_SMALL_EXONS_EXTRA_OVERLAP;
1100 if (*gen_dp_start >= DETECT_SMALL_EXONS_DP_LENGTH +
1101 gth_sa_genomiccutoff_start(sa)) {
1102 gen_dp_start_initial = *gen_dp_start - DETECT_SMALL_EXONS_DP_LENGTH;
1103 gen_dp_length_initial = gth_sa_genomiccutoff_start(sa) +
1104 DETECT_SMALL_EXONS_DP_LENGTH;
1105 }
1106 else {
1107 gen_dp_start_initial = 0;
1108 gen_dp_length_initial = *gen_dp_start + gth_sa_genomiccutoff_start(sa);
1109 }
1110
1111 path_walker = gth_path_walker_new(gth_sa_backtrace_path(sa), true);
1112 gth_path_walker_try_steps(path_walker, 10); /* XXX */
1113 gen_dp_length_initial += gth_path_walker_gen_distance(path_walker);
1114 ref_dp_length_initial += gth_path_walker_ref_distance(path_walker);
1115
1116 if (comments) {
1117 gt_file_xprintf(outfp, "%c detect_small_initial_exons():\n",
1118 COMMENTCHAR);
1119 gth_path_walker_show(path_walker, outfp);
1120 gt_file_xprintf(outfp, "%c gen_dp_start="GT_WU"\n", COMMENTCHAR,
1121 *gen_dp_start);
1122 gt_file_xprintf(outfp, "%c gen_dp_start_initial="GT_WU"\n", COMMENTCHAR,
1123 gen_dp_start_initial);
1124 gt_file_xprintf(outfp, "%c gen_dp_length_initial="GT_WU"\n", COMMENTCHAR,
1125 gen_dp_length_initial);
1126 gt_file_xprintf(outfp, "%c gen_dp_length="GT_WU"\n", COMMENTCHAR,
1127 gen_dp_length);
1128 }
1129 if (gen_dp_start_initial + gen_dp_length_initial - 1 > gen_seq_bounds->end) {
1130 gen_dp_length_initial -= gen_seq_bounds->end - gen_dp_start_initial +
1131 gen_dp_length_initial - 1;
1132 }
1133 gt_assert(gen_dp_start_initial + gen_dp_length_initial - 1 <
1134 gen_seq_bounds->end);
1135
1136 if (dp_matrix_init(&dpm_initial, gen_dp_length_initial,
1137 ref_dp_length_initial, 0, false, NULL, stat)) {
1138 /* out of memory */
1139 return;
1140 }
1141 dp_param_initial = gth_dp_param_new_with_range(gen_dp_start_initial,
1142 gen_dp_start_initial +
1143 gen_dp_length_initial - 1,
1144 gen_seq_tran, gen_seq_bounds,
1145 splice_site_model,
1146 gen_alphabet);
1147 if (!dp_param_initial) {
1148 /* out of memory */
1149 dp_matrix_free(&dpm_initial);
1150 return;
1151 }
1152 dna_complete_path_matrix(&dpm_initial,
1153 gen_seq_tran + gen_dp_start_initial, ref_seq_tran, 0,
1154 gen_alphabet, dp_param_initial, dp_options_est,
1155 dp_options_core);
1156 backtrace_path = gth_backtrace_path_new(gen_dp_start_initial,
1157 gen_dp_length_initial,
1158 ref_dp_start_initial,
1159 ref_dp_length_initial);
1160 gth_backtrace_path_set_alphatype(backtrace_path, DNA_ALPHA);
1161 rval = dna_find_optimal_path(backtrace_path, &dpm_initial, ref_seq_tran,
1162 gen_seq_tran + gen_dp_start_initial,
1163 false, NULL, comments, false, false, NULL,
1164 outfp);
1165 gt_assert(!rval);
1166 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1167
1168 gth_sa_cutoff_start(sa);
1169 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1170
1171 gth_sa_cutoff_walked_path(sa, path_walker, showeops, outfp);
1172 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1173
1174 if (comments)
1175 gth_backtrace_path_show(backtrace_path, false, 0, NULL);
1176
1177 gth_sa_prepend(sa, backtrace_path);
1178 gt_assert(gth_sa_is_valid(sa)); /* XXX */
1179
1180 gth_path_walker_delete(path_walker);
1181 gth_backtrace_path_delete(backtrace_path);
1182 gth_dp_param_delete(dp_param_initial);
1183 dp_matrix_free(&dpm_initial);
1184 *gen_dp_start = gen_dp_start_initial;
1185 }
1186
1187 static void detect_small_exons(GthSA *sa, GtUword *gen_dp_start,
1188 const unsigned char *gen_seq_tran,
1189 GtUword gen_dp_length,
1190 const unsigned char *ref_seq_tran,
1191 GtUword ref_dp_length,
1192 const GtRange *gen_seq_bounds, bool showeops,
1193 bool comments,
1194 GthSpliceSiteModel *splice_site_model,
1195 GtAlphabet *gen_alphabet, GthDPMatrix *dpm,
1196 GthDPOptionsEST *dp_options_est,
1197 GthDPOptionsCore *dp_options_core,
1198 GthStat *stat, GtFile *outfp)
1199 {
1200 gt_assert(sa);
1201
1202 if (gth_sa_referencecutoff_end(sa)) { /* XXX: relax condition */
1203 /* the cDNA has not been aligned completely -> try to align end again */
1204 detect_small_terminal_exons(sa, *gen_dp_start, gen_seq_tran, gen_dp_length,
1205 ref_seq_tran, ref_dp_length, gen_seq_bounds,
1206 comments, splice_site_model, gen_alphabet,
1207 dpm, dp_options_est, dp_options_core, stat,
1208 outfp);
1209 }
1210
1211 #if 0
1212 if (gth_sa_referencecutoff_start(sa)) { /* XXX: relax condition */
1213 #endif
1214 /* the cDNA has not been aligned completely -> try to align start again */
1215 detect_small_initial_exons(sa, gen_dp_start, gen_seq_tran, gen_dp_length,
1216 ref_seq_tran, gen_seq_bounds, showeops, comments,
1217 splice_site_model, gen_alphabet, dp_options_est,
1218 dp_options_core, stat, outfp);
1219 #if 0
1220 }
1221 #endif
1222 }
1223
1224 int gth_align_dna(GthSA *sa,
1225 GtArray *gen_ranges,
1226 const unsigned char *gen_seq_tran,
1227 GT_UNUSED const unsigned char *gen_seq_orig,
1228 const unsigned char *ref_seq_tran,
1229 const unsigned char *ref_seq_orig,
1230 GtUword ref_dp_length,
1231 GtAlphabet *gen_alphabet,
1232 GtAlphabet *ref_alphabet,
1233 bool introncutout,
1234 GtUword autoicmaxmatrixsize,
1235 bool showeops,
1236 bool comments,
1237 bool gs2out,
1238 const GtRange *gen_seq_bounds,
1239 GthSpliceSiteModel *splice_site_model,
1240 GthDPOptionsCore *dp_options_core,
1241 GthDPOptionsEST *dp_options_est,
1242 GthDPOptionsPostpro *dp_options_postpro,
1243 GthDNACompletePathMatrixJT dna_complete_path_matrix_jt,
1244 GthJumpTable *jump_table,
1245 GtUword ref_offset,
1246 GthStat *stat,
1247 GtFile *outfp)
1248 {
1249 GtUword gen_dp_start, gen_dp_end, gen_dp_length;
1250 GthSplicedSeq *spliced_seq = NULL;
1251 GthPathMatrix *pm = NULL;
1252 GthDPParam *dp_param;
1253 GthDPMatrix dpm;
1254 int rval;
1255
1256 gt_assert(gen_ranges);
1257
1258 /* initialization */
1259 gen_dp_start = ((GtRange*) gt_array_get_first(gen_ranges))->start;
1260 gen_dp_end = ((GtRange*) gt_array_get_last(gen_ranges))->end;
1261 gt_assert(gen_dp_start <= gen_dp_end);
1262 gen_dp_length = gen_dp_end - gen_dp_start + 1;
1263 dp_param = gth_dp_param_new(gen_ranges, gen_seq_tran, gen_seq_bounds,
1264 splice_site_model, gen_alphabet);
1265 if (!dp_param)
1266 return GTH_ERROR_DP_PARAMETER_ALLOCATION_FAILED;
1267 if (introncutout) {
1268 spliced_seq = gth_spliced_seq_new_with_comments(gen_seq_tran, gen_ranges,
1269 comments, outfp);
1270 }
1271 if ((rval = dp_matrix_init(&dpm,
1272 introncutout ? spliced_seq->splicedseqlen
1273 : gen_dp_length,
1274 ref_dp_length, autoicmaxmatrixsize, introncutout,
1275 jump_table, stat))) {
1276 gth_dp_param_delete(dp_param);
1277 gth_spliced_seq_delete(spliced_seq);
1278 return rval;
1279 }
1280 gth_sa_set(sa, DNA_ALPHA, gen_dp_start, gen_dp_length);
1281
1282 /* calculation */
1283 if (jump_table) {
1284 gt_assert(dna_complete_path_matrix_jt);
1285 dna_complete_path_matrix_jt(&dpm,
1286 introncutout ? spliced_seq->splicedseq
1287 : gen_seq_tran + gen_dp_start,
1288 ref_seq_tran, 0, gen_alphabet, dp_param,
1289 dp_options_est, dp_options_core, jump_table,
1290 gen_ranges, ref_dp_length, ref_offset, &pm);
1291 }
1292 else {
1293 dna_complete_path_matrix(&dpm,
1294 introncutout ? spliced_seq->splicedseq
1295 : gen_seq_tran + gen_dp_start,
1296 ref_seq_tran, 0, gen_alphabet, dp_param,
1297 dp_options_est, dp_options_core);
1298 }
1299
1300 /* debugging */
1301 if (!dpm.path_jt &&
1302 dp_options_core->btmatrixgenrange.start != GT_UNDEF_UWORD) {
1303 pm = gth_path_matrix_new(dpm.path, dpm.gen_dp_length, dpm.ref_dp_length,
1304 &dp_options_core->btmatrixgenrange,
1305 &dp_options_core->btmatrixrefrange, NULL);
1306 }
1307
1308 /* backtracing */
1309 if ((rval = dna_find_optimal_path(gth_sa_backtrace_path(sa), &dpm,
1310 ref_seq_tran,
1311 introncutout ? spliced_seq->splicedseq
1312 : gen_seq_tran + gen_dp_start,
1313 introncutout, spliced_seq, comments,
1314 dp_options_core->noicinintroncheck, false,
1315 pm, outfp))) {
1316 if (rval == GTH_ERROR_CUTOUT_NOT_IN_INTRON) {
1317 dp_matrix_free(&dpm);
1318 gth_dp_param_delete(dp_param);
1319 gth_spliced_seq_delete(spliced_seq);
1320 }
1321 return rval;
1322 }
1323
1324 if (pm) {
1325 gth_path_matrix_show(pm);
1326 gth_path_matrix_delete(pm);
1327 }
1328
1329 /* intron cutout is done after this point */
1330 if (showeops) {
1331 gt_file_xprintf(outfp, "showeops (before cutoffs): ");
1332 gth_backtrace_path_show(gth_sa_backtrace_path(sa), false, 0, outfp);
1333 }
1334
1335 /* determine cutoffs if not switched off by command line option */
1336 gth_sa_determine_cutoffs(sa, dp_options_postpro->leadcutoffsmode,
1337 dp_options_postpro->termcutoffsmode,
1338 dp_options_postpro->cutoffsminexonlen);
1339
1340 if (showeops) {
1341 gt_file_xprintf(outfp, "showeops (after cutoffs): ");
1342 gth_backtrace_path_show(gth_sa_backtrace_path(sa), false, 0, outfp);
1343 }
1344
1345 /* remove zero base exons */
1346 gth_sa_remove_zero_base_exons(sa, stat);
1347
1348 /* try to detect small exons */
1349 if (dp_options_est->detectsmallexons) {
1350 if (gth_sa_get_editoperations_length(sa)) {
1351 /* only try to detect small exons if the alignment does not already have
1352 length 0 */
1353 detect_small_exons(sa, &gen_dp_start, gen_seq_tran, gen_dp_length,
1354 ref_seq_tran, ref_dp_length, gen_seq_bounds, showeops,
1355 comments, splice_site_model, gen_alphabet, &dpm,
1356 dp_options_est, dp_options_core, stat, outfp);
1357 gth_sa_determine_cutoffs(sa, dp_options_postpro->leadcutoffsmode,
1358 dp_options_postpro->termcutoffsmode,
1359 dp_options_postpro->cutoffsminexonlen);
1360 if (showeops) {
1361 gt_file_xprintf(outfp, "showeops (after small exon detection): ");
1362 gth_backtrace_path_show(gth_sa_backtrace_path(sa), false, 0, outfp);
1363 }
1364 }
1365 }
1366
1367 /* compute borders and scores */
1368 gth_compute_scores(sa, false, dp_param, dp_options_est,
1369 gen_seq_tran + gen_dp_start, ref_seq_tran, ref_seq_orig,
1370 NULL, gen_dp_start, dp_options_postpro->scoreminexonlen,
1371 introncutout, gs2out, spliced_seq, ref_dp_length,
1372 gen_alphabet, ref_alphabet, NULL);
1373
1374 /* free space */
1375 dp_matrix_free(&dpm);
1376 gth_dp_param_delete(dp_param);
1377 gth_spliced_seq_delete(spliced_seq);
1378
1379 return 0;
1380 }
1381
1382 GthSA* gth_align_dna_simple(GthInput *input,
1383 const GtRange *gen_range,
1384 GtUword gen_file_num,
1385 GtUword gen_seq_num,
1386 bool gen_strand_forward,
1387 GtUword ref_file_num,
1388 GtUword ref_seq_num,
1389 GthSpliceSiteModel *splice_site_model)
1390 {
1391 GthDPOptionsCore *dp_options_core;
1392 GthDPOptionsEST *dp_options_est;
1393 GthDPOptionsPostpro *dp_options_postpro;
1394 GtRange gen_seq_bounds, ref_seq_bounds;
1395 GtArray *gen_ranges;
1396 GthStat *stat;
1397 GthSA *sa;
1398 int rval;
1399 dp_options_core = gth_dp_options_core_new();
1400 dp_options_est = gth_dp_options_est_new();
1401 dp_options_postpro = gth_dp_options_postpro_new();
1402 stat = gth_stat_new();
1403 gen_seq_bounds = gth_input_get_genomic_range(input, gen_file_num,
1404 gen_seq_num);
1405 gt_assert(gen_range->start >= gen_seq_bounds.start);
1406 gt_assert(gen_range->end <= gen_seq_bounds.end);
1407 gth_input_load_reference_file(input, ref_file_num, true);
1408 ref_seq_bounds = gth_input_get_reference_range(input, ref_file_num,
1409 ref_seq_num);
1410 sa = gth_sa_new_and_set(gen_strand_forward, true, input, gen_file_num,
1411 gen_seq_num, ref_file_num, ref_seq_num, 1,
1412 gt_range_length(&gen_seq_bounds),
1413 gen_seq_bounds.start,
1414 gt_range_length(&ref_seq_bounds));
1415 gen_ranges = gt_array_new(sizeof (GtRange));
1416 gt_array_add_elem(gen_ranges, (void*) gen_range, sizeof (GtRange));
1417 rval = gth_align_dna(sa,
1418 gen_ranges,
1419 gen_strand_forward
1420 ? gth_input_current_gen_seq_tran(input)
1421 : gth_input_current_gen_seq_tran_rc(input),
1422 gen_strand_forward
1423 ? gth_input_current_gen_seq_orig(input)
1424 : gth_input_current_gen_seq_orig_rc(input),
1425 gth_input_current_ref_seq_tran(input),
1426 gth_input_current_ref_seq_orig(input),
1427 gt_range_length(&ref_seq_bounds),
1428 gth_input_current_gen_alphabet(input),
1429 gth_input_current_ref_alphabet(input),
1430 false,
1431 0,
1432 false,
1433 false,
1434 false,
1435 &gen_seq_bounds,
1436 splice_site_model,
1437 dp_options_core,
1438 dp_options_est,
1439 dp_options_postpro,
1440 NULL,
1441 NULL,
1442 0,
1443 stat,
1444 NULL);
1445 if (rval) {
1446 gth_sa_delete(sa);
1447 sa = NULL;
1448 }
1449 gt_array_delete(gen_ranges);
1450 gth_stat_delete(stat);
1451 gth_dp_options_postpro_delete(dp_options_postpro);
1452 gth_dp_options_est_delete(dp_options_est);
1453 gth_dp_options_core_delete(dp_options_core);
1454 return sa;
1455 }
+0
-150
src/gth/align_dna.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ALIGN_DNA_H
18 #define ALIGN_DNA_H
19
20 #include "gth/align_common.h"
21 #include "gth/dp_options_core.h"
22 #include "gth/dp_options_est.h"
23 #include "gth/dp_options_postpro.h"
24 #include "gth/path_matrix.h"
25 #include "gth/sa.h"
26
27 #define DASH_DASH_WEIGHT 0.0
28
29 /* XXX: precompute this for performance reasons (part of core DP) */
30 #define ADDOUTPUTWEIGHT(VAR,N,M)\
31 if ((N) < (gen_alphabet_mapsize-1))\
32 {\
33 if ((M) < (gen_alphabet_mapsize-1))\
34 {\
35 if ((N)==(M))\
36 {\
37 VAR += dp_options_est->identityweight;\
38 }\
39 else\
40 {\
41 VAR += dp_options_est->mismatchweight;\
42 }\
43 }\
44 else if ((M) == DASH)\
45 {\
46 VAR += dp_options_est->deletionweight;\
47 }\
48 else\
49 {\
50 VAR += dp_options_est->undetcharweight;\
51 }\
52 }\
53 else if ((N) == DASH)\
54 {\
55 if ((M) == DASH)\
56 {\
57 /* N=M=DASH: can happen in gthcomputescores() */\
58 VAR += DASH_DASH_WEIGHT;\
59 }\
60 else\
61 {\
62 VAR += dp_options_est->deletionweight;\
63 }\
64 }\
65 else\
66 {\
67 if ((M) == DASH)\
68 {\
69 VAR += dp_options_est->deletionweight;\
70 }\
71 else\
72 {\
73 VAR += dp_options_est->undetcharweight;\
74 }\
75 }
76
77 typedef struct GthDPMatrix GthDPMatrix;
78
79 typedef void (*GthDNACompletePathMatrixJT)(GthDPMatrix *dpm,
80 const unsigned char *gen_seq_tran,
81 const unsigned char *ref_seq_tran,
82 GtUword genomic_offset,
83 GtAlphabet *gen_alphabet,
84 GthDPParam *dp_param,
85 GthDPOptionsEST *dp_options_est,
86 GthDPOptionsCore *dp_options_core,
87 GthJumpTable *jumpt_table,
88 GtArray *gen_ranges,
89 GtUword ref_dp_length,
90 GtUword ref_offset,
91 GthPathMatrix **pm);
92 #define ADDOUTPUTWEIGHTIDENTITY(VAR,N)\
93 if ((N) < (gen_alphabet_mapsize-1))\
94 {\
95 VAR += dp_options_est->identityweight;\
96 }\
97 else if ((N) == DASH)\
98 {\
99 VAR += DASH_DASH_WEIGHT;\
100 }\
101 else\
102 {\
103 VAR += dp_options_est->undetcharweight;\
104 }
105
106 /* The following function implements the Spliced Alignment of Genomic DNA with
107 cDNA, as described by Usuka, Zhu and Brendel. */
108 int gth_align_dna(GthSA*,
109 GtArray *gen_ranges,
110 const unsigned char *gen_seq_tran,
111 const unsigned char *gen_seq_orig,
112 const unsigned char *ref_seq_tran,
113 const unsigned char *ref_seq_orig,
114 GtUword ref_dp_length,
115 GtAlphabet *gen_alphabet,
116 GtAlphabet *ref_alphabet,
117 bool introncutout,
118 GtUword autoicmaxmatrixsize,
119 bool showeops,
120 bool comments,
121 bool gs2out,
122 const GtRange *gen_seq_bounds,
123 GthSpliceSiteModel *splice_site_model,
124 GthDPOptionsCore *dp_options_core,
125 GthDPOptionsEST *dp_options_est,
126 GthDPOptionsPostpro *dp_options_postpro,
127 GthDNACompletePathMatrixJT complete_path_matrix_jt,
128 GthJumpTable *jump_table,
129 GtUword ref_offset,
130 GthStat*,
131 GtFile*);
132
133 /* can return NULL */
134 GthSA* gth_align_dna_simple(GthInput *input,
135 const GtRange *gen_range,
136 GtUword gen_file_num,
137 GtUword gen_seq_num,
138 bool gen_strand_forward,
139 GtUword ref_file_num,
140 GtUword ref_seq_num,
141 GthSpliceSiteModel *splice_site_model);
142
143 void gth_show_backtrace_matrix(GthPath **path,
144 GtUword gen_dp_length,
145 GtUword ref_dp_length,
146 const GtRange *btmatrixgenrange,
147 const GtRange *btmatrixrefrange);
148
149 #endif
+0
-87
src/gth/align_dna_imp.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ALIGN_DNA_IMP_H
18 #define ALIGN_DNA_IMP_H
19
20 #include "gth/align_dna.h"
21
22 #define DNA_NUMOFSCORETABLES 2
23
24 /*
25 Here comes the dirty bitvector stuff to quarter the backtrace matrix.
26 In this case the Retrace type defined above is only used in the lower E_STATE.
27 */
28
29 #define LOWER_E_STATE_MASK 0x7 /* |0000|0111| */
30 #define LOWER_I_STATE_MASK 0x8 /* |0000|1000| */
31 #define UPPER_E_STATE_MASK 0x70 /* |0111|0000| */
32 #define UPPER_I_STATE_MASK 0x80 /* |1000|0000| */
33
34 #define UPPER_E_N (DNA_E_N << 4)
35 #define UPPER_E_M (DNA_E_M << 4)
36
37 #define I_STATE_E_N (DNA_E_N << 3)
38 #define I_STATE_I_N (DNA_I_N << 3)
39
40 #define UPPER_I_STATE_I_N (I_STATE_I_N << 4)
41
42 /* these definitions refer to the state index for the two N x M score matrices
43 */
44 typedef enum {
45 DNA_E_STATE = 0,
46 DNA_I_STATE,
47 DNA_NUMOFSTATES
48 } DnaStates;
49
50 /*
51 These definitions are used to retrace the optimal path in align_dna.c.
52 E, I refer to the original state, N, M, and NM refer to which index
53 should be decremented.
54
55 IMPORTANT: Definition has to be consistent with dna_retracenames in
56 align_dna.c.
57 */
58 typedef enum {
59 DNA_I_N = 0, /* deletion |01|0^14
60 or intron |01|length */
61 DNA_E_N, /* deletion |01|0^14
62 or intron |01|length */
63 DNA_E_NM, /* match |00|length
64 or mismatch |11|0^14 */
65 DNA_I_NM, /* match |00|length
66 or mismatch |11|0^14 */
67 DNA_E_M, /* insertion |10|0^14 */
68 DNA_I_M, /* insertion |10|0^14 */
69 DNA_NUMOFRETRACE
70 } DnaRetrace;
71
72 /* the following structure bundles all tables involved in the dynamic
73 programming for cDNAs/ESTs */
74 struct GthDPMatrix {
75 GthFlt *score[DNA_NUMOFSTATES][DNA_NUMOFSCORETABLES]; /* table to store the
76 score of a path */
77 GthPath **path; /* backtrace table of size
78 gen_dp_length * ref_dp_length */
79 GthPath **path_jt;
80 GtUword *intronstart[DNA_NUMOFSCORETABLES],
81 *exonstart[DNA_NUMOFSCORETABLES],
82 gen_dp_length,
83 ref_dp_length;
84 };
85
86 #endif
+0
-1194
src/gth/align_protein.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/codon_api.h"
18 #include "core/divmodmul.h"
19 #include "core/safearith.h"
20 #include "core/undef_api.h"
21 #include "core/unused_api.h"
22 #include "gth/array2dim_plain.h"
23 #include "gth/gthenum.h"
24 #include "gth/gtherror.h"
25 #include "gth/align_protein_imp.h"
26 #include "gth/compute_scores.h"
27
28 #define WSIZE_PROTEIN 20
29 #define WSIZE_DNA 60 /* (3 * WSIZE_PROTEIN) */
30
31 /* IMPORTANT: Definition has to be consistent with Retrace in
32 * align_protein_imp.h. */
33 static const char *retracenames[]= {
34 SHOWENUMTYPE(E_N3M),
35 SHOWENUMTYPE(E_N2M),
36 SHOWENUMTYPE(E_N1M),
37 SHOWENUMTYPE(E_M),
38 SHOWENUMTYPE(E_N3),
39 SHOWENUMTYPE(E_N2),
40 SHOWENUMTYPE(E_N1),
41 SHOWENUMTYPE(IA_N3M),
42 SHOWENUMTYPE(IB_N2M),
43 SHOWENUMTYPE(IC_N1M),
44 SHOWENUMTYPE(IA_N1),
45 SHOWENUMTYPE(IB_N1),
46 SHOWENUMTYPE(IC_N1),
47 SHOWENUMTYPE(NUMOFRETRACE)
48 };
49
50 static void dp_table_core_free(DPtablecore *core)
51 {
52 GtUword t, n;
53
54 /* freeing space for core->score and core->path */
55 for (t = E_STATE; t < PROTEIN_NUMOFSTATES; t++) {
56 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++)
57 gt_free(core->score[t][n]);
58 }
59 gth_array2dim_plain_delete(core->path);
60 }
61
62 static GthPath path_e_state_read(GthDPtables *dpm, unsigned int n,
63 unsigned int m)
64 {
65 return dpm->core.path[n][m] & E_STATE_MASK;
66 }
67
68 static void path_e_state_write(GthDPtables *dpm, unsigned int n, unsigned int m,
69 GthPath e)
70 {
71 dpm->core.path[n][m] = e;
72 }
73
74 static GthPath path_ia_state_read(GthDPtables *dpm, unsigned int n,
75 unsigned int m)
76 {
77 if ((dpm->core.path[n][m] & IA_STATE_MASK) >> 4)
78 return E_N1;
79 return IA_N1;
80 }
81
82 static void path_ia_state_write(GthDPtables *dpm, unsigned int n,
83 unsigned int m, GthPath e)
84 {
85 if (e == E_N1)
86 dpm->core.path[n][m] |= (1 << 4);
87 }
88
89 static GthPath path_ib_state_read(GthDPtables *dpm, unsigned int n,
90 unsigned int m)
91 {
92 if ((dpm->core.path[n][m] & IB_STATE_MASK) >> 5)
93 return E_N2;
94 return IB_N1;
95 }
96
97 static void path_ib_state_write(GthDPtables *dpm, unsigned int n,
98 unsigned int m, GthPath e)
99 {
100 if (e == E_N2)
101 dpm->core.path[n][m] |= (1 << 5);
102 }
103
104 static GthPath path_ic_state_read(GthDPtables *dpm, unsigned int n,
105 unsigned int m)
106 {
107 if ((dpm->core.path[n][m] & IC_STATE_MASK) >> 6)
108 return E_N3;
109 return IC_N1;
110 }
111
112 static void path_ic_state_write(GthDPtables *dpm, unsigned int n,
113 unsigned int m, GthPath e)
114 {
115 if (e == E_N3)
116 dpm->core.path[n][m] |= (1 << 6);
117 }
118
119 static int dp_table_core_init(DPtablecore *core, GtUword gen_dp_length,
120 GtUword ref_dp_length,
121 GtUword autoicmaxmatrixsize,
122 bool introncutout, GthJumpTable *jump_table,
123 GthStat *stat)
124 {
125 GtUword matrixsize, t, n,
126 sizeofpathtype = sizeof (GthPath);
127
128 /* XXX: adjust this check for QUARTER_MATRIX case */
129 if (PROTEIN_NUMOFSTATES * sizeofpathtype * (gen_dp_length + 1) >=
130 (~0)/(ref_dp_length + 1)) {
131 /* in this case the matrix would be larger than the addressable memory
132 of this machine -> return ERROR_MATRIX_ALLOCATION_FAILED */
133 return GTH_ERROR_MATRIX_ALLOCATION_FAILED;
134 }
135
136 matrixsize = gt_safe_mult_ulong(gen_dp_length + 1, ref_dp_length + 1);
137
138 if (!introncutout && autoicmaxmatrixsize > 0) {
139 /* in this case the automatic intron cutout technique is enabled
140 check if allocated matrix would be larger as specified maximal
141 matrix size. If so, return matrix allocation error */
142 if (sizeofpathtype * matrixsize * PROTEIN_NUMOFSTATES >
143 autoicmaxmatrixsize << 20) {
144 return GTH_ERROR_MATRIX_ALLOCATION_FAILED;
145 }
146 }
147
148 /* set everything to NULL */
149 for (t = E_STATE; t < PROTEIN_NUMOFSTATES; t++) {
150 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++)
151 core->score[t][n] = NULL;
152 }
153 core->path = NULL;
154
155 /* allocating space for core->score and core->path */
156 for (t = E_STATE; t < PROTEIN_NUMOFSTATES; t++) {
157 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++) {
158 core->score[t][n] = gt_malloc(sizeof (GthFlt) * (ref_dp_length + 1));
159 }
160 }
161
162 if (jump_table) {
163 gth_array2dim_plain_calloc(core->path, gen_dp_length + 1,
164 ref_dp_length + 1);
165 }
166 else {
167 gth_array2dim_plain_malloc(core->path, gen_dp_length + 1,
168 ref_dp_length + 1);
169 }
170 if (!core->path) {
171 /* matrix allocation failed, return after free of allocated tables */
172 dp_table_core_free(core);
173 return GTH_ERROR_MATRIX_ALLOCATION_FAILED;
174 }
175
176 /* statistics */
177 gth_stat_increment_numofbacktracematrixallocations(stat);
178 gth_stat_increase_totalsizeofbacktracematricesinMB(stat,
179 (sizeofpathtype * matrixsize) >> 20);
180
181 return 0;
182 }
183
184 static const char* showretracenames(Retrace retrace)
185 {
186 gt_assert(retrace <= NUMOFRETRACE);
187 return retracenames[retrace];
188 }
189
190 /* the following function initializes the input structure */
191 static void initinput(GthAlignInputProtein *input,
192 const unsigned char *ref_seq_orig,
193 GthInput *gth_input)
194 {
195 input->ref_seq_orig = ref_seq_orig;
196 input->score_matrix = gth_input_score_matrix(gth_input);
197 input->score_matrix_alpha = gth_input_score_matrix_alpha(gth_input);
198 }
199
200 /* the following function allocates space for the DP tables for proteins */
201 static int dp_tables_alloc(GthDPtables *dpm, GtUword gen_dp_length,
202 bool proteinexonpenal, GtUword ref_dp_length,
203 GtUword autoicmaxmatrixsize, bool introncutout,
204 GthJumpTable *jump_table, GthStat *stat)
205 {
206 GtUword n;
207 int rval;
208
209 /* allocate core */
210 if ((rval = dp_table_core_init(&dpm->core, gen_dp_length, ref_dp_length,
211 autoicmaxmatrixsize, introncutout, jump_table,
212 stat))) {
213 return rval;
214 }
215
216 /* allocating space for intronstart and splitcodon arrays */
217 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++) {
218 dpm->intronstart_A[n] = gt_malloc(sizeof (GtUword) *
219 (ref_dp_length + 1));
220 dpm->intronstart_B[n] = gt_malloc(sizeof (GtUword) *
221 (ref_dp_length + 1));
222 dpm->intronstart_C[n] = gt_malloc(sizeof (GtUword) *
223 (ref_dp_length + 1));
224 if (proteinexonpenal) {
225 dpm->exonstart[n] = gt_malloc(sizeof (GtUword) *
226 (ref_dp_length + 1));
227 }
228 else
229 dpm->exonstart[n] = NULL;
230 dpm->splitcodon_B[n] = gt_malloc(sizeof (unsigned char) *
231 (ref_dp_length + 1));
232 dpm->splitcodon_C1[n] = gt_malloc(sizeof (unsigned char) *
233 (ref_dp_length + 1));
234 dpm->splitcodon_C2[n] = gt_malloc(sizeof (unsigned char) *
235 (ref_dp_length + 1));
236 }
237
238 return 0;
239 }
240
241 /* the following function initializes the DP tables for proteins */
242 static void dp_tables_init(GthDPtables *dpm, bool proteinexonpenal,
243 GtUword ref_dp_length)
244 {
245 GtUword n, m;
246
247 /* initialize the DP matrices */
248 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++) {
249 SCORE(E_STATE,n,0) = (GthFlt) 0.0;
250 path_e_state_write(dpm, n, 0, E_N1);
251 SCORE(IA_STATE,n,0) = (GthFlt) 0.0;
252 path_ia_state_write(dpm, n, 0, IA_N1);
253 SCORE(IB_STATE,n,0) = (GthFlt) 0.0;
254 path_ib_state_write(dpm, n, 0, IB_N1);
255 SCORE(IC_STATE,n,0) = (GthFlt) 0.0;
256 path_ic_state_write(dpm, n, 0, IC_N1);
257
258 for (m = 1; m <= ref_dp_length; m++) {
259 SCORE(E_STATE,n,m) = (GthFlt) 0.0;
260 path_e_state_write(dpm, n, m, E_M);
261 /* disallow intron status for 5' non-matching cDNA letters: */
262 SCORE(IA_STATE,n,m) = (GthFlt) GTH_MINUSINFINITY;
263 path_ia_state_write(dpm, n, m, IA_N1);
264 SCORE(IB_STATE,n,m) = (GthFlt) GTH_MINUSINFINITY;
265 path_ib_state_write(dpm, n, m, IB_N1);
266 SCORE(IC_STATE,n,m) = (GthFlt) GTH_MINUSINFINITY;
267 path_ic_state_write(dpm, n, m, IC_N1);
268 }
269 }
270
271 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++) {
272 for (m = 0; m <= ref_dp_length; m++) {
273 /* XXX: replace by memset, in gthsahmtd, too */
274 dpm->intronstart_A[n][m] = 0;
275 dpm->intronstart_B[n][m] = 0;
276 dpm->intronstart_C[n][m] = 0;
277 if (proteinexonpenal)
278 dpm->exonstart[n][m] = 0;
279 }
280
281 /* set the splitcodon tables to "UNSET" values.
282 this is needed for a check if a splitcodon has already been set.
283 i.e., if an intron has already been introduced
284 the splitcodon table "dpm->splitcodon_C2" needs not to be set, because
285 it is always used in conjunction with table "dpm->splitcodon_C1". */
286 memset(dpm->splitcodon_B[n], UNSET, sizeof (unsigned char) *
287 (ref_dp_length + 1));
288 memset(dpm->splitcodon_C1[n], UNSET, sizeof (unsigned char) *
289 (ref_dp_length + 1));
290 }
291
292 path_e_state_write(dpm, 0, 0, E_N1M);
293 path_ia_state_write(dpm, 0, 0, E_N1);
294 path_ib_state_write(dpm, 0, 0, E_N2);
295 path_ic_state_write(dpm, 0, 0, E_N3);
296 }
297
298 unsigned char gthgetcodon(unsigned char genomicchar1,
299 unsigned char genomicchar2,
300 unsigned char genomicchar3,
301 const GtUchar *gen_alphabet_characters,
302 const GtTransTable *transtable)
303 {
304 char codon;
305 GT_UNUSED int rval;
306
307 /* translate dna into codon */
308 rval = gt_trans_table_translate_codon(transtable,
309 gen_alphabet_characters[genomicchar1],
310 gen_alphabet_characters[genomicchar2],
311 gen_alphabet_characters[genomicchar3],
312 &codon, NULL);
313 /* since the genomic sequence has been preprocessed before, the codon
314 translation should not fail */
315 gt_assert(!rval);
316
317 return codon;
318 }
319
320 /* the following function evaluate the dynamic programming tables */
321 static void complete_path_matrix(GthDPtables *dpm, GthAlignInputProtein *input,
322 bool proteinexonpenal,
323 const unsigned char *gen_seq_tran,
324 GtUword gen_dp_length,
325 GtUword ref_dp_length,
326 GthDPParam *dp_param,
327 GthDPOptionsCore *dp_options_core,
328 GthDPScoresProtein *dp_scores_protein)
329 {
330 GtUword n, m, modn, modnminus1, modnminus2, modnminus3;
331 unsigned char origreferencechar;
332 GthFlt value, maxvalue;
333 GthPath retrace;
334
335 /* stepping along the genomic sequence */
336 for (n = GENOMICDPSTART; n <= gen_dp_length; n++) {
337 modn = GT_MOD4(n),
338 modnminus1 = GT_MOD4(n-1),
339 modnminus2 = GT_MOD4(n-2),
340 modnminus3 = GT_MOD4(n-3);
341
342 path_e_state_write(dpm, n, 0, E_N1);
343 path_ia_state_write(dpm, n, 0, IA_N1);
344 path_ib_state_write(dpm, n, 0, IB_N1);
345 path_ic_state_write(dpm, n, 0, IC_N1);
346
347 /* stepping along the protein sequence */
348 for (m = REFERENCEDPSTART; m <= ref_dp_length; m++) {
349 origreferencechar = input->ref_seq_orig[m-1];
350
351 /* evaluate E_nm */
352 /* 0. */
353 maxvalue = SCORE(E_STATE, modnminus3, m-1) +
354 /* XXX: why is here no extra condition? */
355 (dp_param->log_1minusPdonor[n-3] +
356 GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-3],
357 gen_seq_tran[n-2], gen_seq_tran[n-1],
358 origreferencechar));
359 retrace = (GthPath) E_N3M;
360
361 /* 1. */
362 value = SCORE(E_STATE, modnminus2, m-1);
363 if (n < gen_dp_length || m < WSIZE_PROTEIN) {
364 value += dp_param->log_1minusPdonor[n-2] +
365 GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-2],
366 gen_seq_tran[n-1], DASH, origreferencechar);
367 }
368 UPDATEMAX(E_N2M);
369
370 /* 2. */
371 value = SCORE(E_STATE, modnminus1, m-1);
372 if (n < gen_dp_length || m < WSIZE_PROTEIN) {
373 value += dp_param->log_1minusPdonor[n-1] +
374 GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-1], DASH, DASH,
375 origreferencechar);
376 }
377 UPDATEMAX(E_N1M);
378
379 /* 3. */
380 value = SCORE(E_STATE, modn, m-1);
381 if (n < gen_dp_length || m < WSIZE_PROTEIN) {
382 if (n == gen_dp_length) {
383 /* in this case the value used in the 'else' branch below is not
384 defined. */
385 value += dp_param->log_1minusPdonor[n-1];
386 }
387 else {
388 value += dp_param->log_1minusPdonor[n];
389 /* XXX: ^^^ why n? */
390 }
391 value += GTHGETSCORE(dp_scores_protein, DASH, DASH, DASH,
392 origreferencechar);
393 }
394 UPDATEMAX(E_M);
395
396 /* 4. */
397 value = SCORE(E_STATE, modnminus3, m);
398 if (m < ref_dp_length || n < WSIZE_DNA) {
399 value += dp_param->log_1minusPdonor[n-3] +
400 GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-3],
401 gen_seq_tran[n-2], gen_seq_tran[n-1], DASH);
402 }
403 UPDATEMAX(E_N3);
404
405 /* 5. */
406 value = SCORE(E_STATE, modnminus2, m);
407 if (m < ref_dp_length || n < WSIZE_DNA) {
408 value += dp_param->log_1minusPdonor[n-2] +
409 GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-2],
410 gen_seq_tran[n-1], DASH, DASH);
411 }
412 UPDATEMAX(E_N2);
413
414 /* 6. */
415 value = SCORE(E_STATE, modnminus1, m);
416 if (m < ref_dp_length || n < WSIZE_DNA) {
417 value += dp_param->log_1minusPdonor[n-1] +
418 GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-1], DASH, DASH,
419 DASH);
420 }
421 UPDATEMAX(E_N1);
422
423 /* 7. */
424 value = SCORE(IA_STATE, modnminus3, m-1);
425 if (n > GENOMICDPSTART) /* the value below is only defined in this case */
426 value += dp_param->log_Pacceptor[n-4];
427 value += GTHGETSCORE(dp_scores_protein, gen_seq_tran[n-3],
428 gen_seq_tran[n-2], gen_seq_tran[n-1],
429 origreferencechar);
430 if (n - 2 - dpm->intronstart_A[modnminus3][m-1] <
431 dp_options_core->dpminintronlength) {
432 value -= dp_options_core->shortintronpenalty;
433 }
434 UPDATEMAX(IA_N3M);
435
436 /* 8.
437 this recurrence is only used if an intron has already been introduced.
438 (in this case "dpm->splitcodon_B[modnminus1][m-1]" is different from
439 "UNSET". */
440 if (dpm->splitcodon_B[modnminus1][m-1] != (unsigned char) UNSET) {
441 value = SCORE(IB_STATE, modnminus2, m-1) +
442 dp_param->log_Pacceptor[n-3] +
443 GTHGETSCORE(dp_scores_protein,
444 dpm->splitcodon_B[modnminus2][m-1],
445 gen_seq_tran[n-2], gen_seq_tran[n-1],
446 origreferencechar);
447 if (n - 1 - dpm->intronstart_B[modnminus2][m-1] <
448 dp_options_core->dpminintronlength) {
449 value -= dp_options_core->shortintronpenalty;
450 }
451 UPDATEMAX(IB_N2M);
452 }
453
454 /* 9.
455 explanation for check see above.
456 "dpm->splitcodon_C2[modnminus1][m-1]" needs not to be checked,
457 because it is always set in conjunction with
458 "dpm->splitcodon_C1[modnminus1][m-1]". */
459 if (dpm->splitcodon_C1[modnminus1][m-1] != (unsigned char) UNSET) {
460 value = SCORE(IC_STATE, modnminus1, m-1) +
461 dp_param->log_Pacceptor[n-2] +
462 GTHGETSCORE(dp_scores_protein,
463 dpm->splitcodon_C1[modnminus1][m-1],
464 dpm->splitcodon_C2[modnminus1][m-1],
465 gen_seq_tran[n-1], origreferencechar);
466 if (n - dpm->intronstart_C[modnminus1][m-1] <
467 dp_options_core->dpminintronlength) {
468 value -= dp_options_core->shortintronpenalty;
469 }
470 UPDATEMAX(IC_N1M);
471 }
472
473 /* save maximum values */
474 SCORE(E_STATE, modn, m) = maxvalue;
475 path_e_state_write(dpm, n, m, retrace);
476
477 if (proteinexonpenal) {
478 switch (retrace) {
479 case E_N3M:
480 dpm->exonstart[modn][m] = dpm->exonstart[modnminus3][m-1];
481 break;
482 case E_N2M:
483 dpm->exonstart[modn][m] = dpm->exonstart[modnminus2][m-1];
484 break;
485 case E_N1M:
486 dpm->exonstart[modn][m] = dpm->exonstart[modnminus1][m-1];
487 break;
488 case E_M:
489 dpm->exonstart[modn][m] = dpm->exonstart[modn][m-1];
490 break;
491 case E_N3:
492 dpm->exonstart[modn][m] = dpm->exonstart[modnminus3][m];
493 break;
494 case E_N2:
495 dpm->exonstart[modn][m] = dpm->exonstart[modnminus2][m];
496 break;
497 case E_N1:
498 dpm->exonstart[modn][m] = dpm->exonstart[modnminus1][m];
499 break;
500 case IA_N3M:
501 case IB_N2M:
502 case IC_N1M:
503 dpm->exonstart[modn][m] = n;
504 break;
505 case IC_N1:
506 dpm->exonstart[modn][m] = n;
507 break;
508 default: gt_assert(0);
509 }
510 }
511
512 /* evaluate IA_nm */
513 maxvalue = SCORE(IA_STATE, modnminus1, m);
514 if (!dp_options_core->freeintrontrans)
515 maxvalue += dp_param->log_1minusPacceptor[n-2];
516 retrace = (GthPath) IA_N1;
517
518 value = SCORE(E_STATE, modnminus1, m) + dp_param->log_Pdonor[n-1];
519 if (proteinexonpenal) {
520 if (n - dpm->exonstart[modnminus1][m] <
521 dp_options_core->dpminexonlength) {
522 value -= dp_options_core->shortexonpenalty;
523 }
524 }
525 UPDATEMAX(E_N1);
526
527 /* save maximum values */
528 SCORE(IA_STATE, modn, m) = maxvalue;
529 path_ia_state_write(dpm, n, m, retrace);
530
531 switch (retrace) {
532 case IA_N1:
533 dpm->intronstart_A[modn][m] = dpm->intronstart_A[modnminus1][m];
534 break;
535 case E_N1:
536 dpm->intronstart_A[modn][m] = n;
537 break;
538 default: gt_assert(0);
539 }
540
541 /* evaluate IB_nm */
542 maxvalue = SCORE(IB_STATE, modnminus1, m);
543 if (!dp_options_core->freeintrontrans)
544 maxvalue += dp_param->log_1minusPacceptor[n-2];
545 retrace = (GthPath) IB_N1;
546
547 value = SCORE(E_STATE, modnminus2, m) + dp_param->log_Pdonor[n-1];
548 if (proteinexonpenal) {
549 if (n - 1 - dpm->exonstart[modnminus2][m] <
550 dp_options_core->dpminexonlength) {
551 value -= dp_options_core->shortexonpenalty;
552 }
553 }
554 UPDATEMAX(E_N2);
555
556 /* save maximum values */
557 SCORE(IB_STATE, modn, m) = maxvalue;
558 path_ib_state_write(dpm, n, m, retrace);
559
560 switch (retrace) {
561 case(IB_N1):
562 dpm->intronstart_B[modn][m] = dpm->intronstart_B[modnminus1][m];
563 dpm->splitcodon_B[modn][m] = dpm->splitcodon_B[modnminus1][m];
564 break;
565 case(E_N2):
566 dpm->intronstart_B[modn][m] = n;
567 dpm->splitcodon_B[modn][m] = gen_seq_tran[n-2];
568 break;
569 default: gt_assert(0);
570 }
571
572 /* evaluate IC_nm */
573 maxvalue = SCORE(IC_STATE, modnminus1, m);
574 if (!dp_options_core->freeintrontrans)
575 maxvalue += dp_param->log_1minusPacceptor[n-2];
576 retrace = (GthPath) IC_N1;
577
578 value = SCORE(E_STATE, modnminus3, m) + dp_param->log_Pdonor[n-1];
579 if (proteinexonpenal) {
580 if (n - 2 - dpm->exonstart[modnminus3][m] <
581 dp_options_core->dpminexonlength) {
582 value -= dp_options_core->shortexonpenalty;
583 }
584 }
585 UPDATEMAX(E_N3);
586
587 /* save maximum values */
588 SCORE(IC_STATE, modn, m) = maxvalue;
589 path_ic_state_write(dpm, n, m, retrace);
590
591 switch (retrace) {
592 case(IC_N1):
593 dpm->intronstart_C[modn][m] = dpm->intronstart_C[modnminus1][m];
594 dpm->splitcodon_C1[modn][m] = dpm->splitcodon_C1[modnminus1][m];
595 dpm->splitcodon_C2[modn][m] = dpm->splitcodon_C2[modnminus1][m];
596 break;
597 case(E_N3):
598 dpm->intronstart_C[modn][m] = n;
599 dpm->splitcodon_C1[modn][m] = gen_seq_tran[n-3];
600 dpm->splitcodon_C2[modn][m] = gen_seq_tran[n-2];
601 break;
602 default: gt_assert(0);
603 }
604 }
605 }
606 }
607
608 static void include_exon(GthBacktracePath *backtrace_path,
609 GtUword exonlength)
610 {
611 GtUword i,
612 divresult = exonlength / GT_CODON_LENGTH,
613 modresult = exonlength % GT_CODON_LENGTH;
614
615 /* at least one editoperation already saved */
616 gt_assert(gth_backtrace_path_length(backtrace_path));
617
618 for (i = 0; i < divresult; i++)
619 gth_backtrace_path_add_deletion(backtrace_path);
620
621 switch (modresult) {
622 case 0:
623 /* nothing to do. */
624 break;
625 case 1:
626 gth_backtrace_path_add_deletion_with_2_gaps(backtrace_path);
627 break;
628 case 2:
629 gth_backtrace_path_add_deletion_with_1_gap(backtrace_path);
630 break;
631 default: gt_assert(0);
632 }
633 }
634
635 static void include_intron(GthBacktracePath *backtrace_path, GthPath pathtype,
636 GtUword intronlength)
637 {
638 /* at least one editoperation already saved */
639 gt_assert(gth_backtrace_path_length(backtrace_path));
640
641 while (intronlength > 0) {
642 switch (pathtype) {
643 case IA_N1:
644 gth_backtrace_path_add_intron(backtrace_path);
645 break;
646 case IB_N1:
647 gth_backtrace_path_add_intron_with_1_base_left(backtrace_path);
648 break;
649 case IC_N1:
650 gth_backtrace_path_add_intron_with_2_bases_left(backtrace_path);
651 break;
652 default: gt_assert(0);
653 }
654 intronlength--;
655 }
656 }
657
658 /*
659 This typedef is used in the backtracing for protein spliced alignments to
660 ensure that introns which are not in phase are always flanked by edit
661 operations of length 1. This is necessary for a correct funtioning of the
662 STRICT cutoff functions.
663 */
664 typedef enum {
665 DUMMY_STATUS_UNDEFINED = 0,
666 DUMMY_JUST_SET,
667 FIRST_EOP_AFTER_DUMMY_SET,
668 ENSURE_SINGLE_MATCH,
669 NUMOFDUMMYSTATUSES
670 } Dummystatus;
671
672 static int evaltracepath(GthBacktracePath *backtrace_path, GthDPtables *dpm,
673 GtUword ref_dp_length,
674 const unsigned char *gen_seq_tran,
675 GtUword gen_dp_length, States actualstate,
676 bool introncutout, GthSplicedSeq *spliced_seq,
677 const GtTransTable *transtable, bool comments,
678 bool noicinintroncheck, GtAlphabet *gen_alphabet,
679 const unsigned char *ref_seq_orig,
680 GtFile *outfp)
681 {
682 GtUword genptr = gen_dp_length, last_genptr = 0,
683 genptr_tail = gen_dp_length,
684 refptr = ref_dp_length,
685 GT_UNUSED dummy_index = GT_UNDEF_UWORD,
686 dummy_b2_genptr = GT_UNDEF_UWORD,
687 dummy_b3_genptr = GT_UNDEF_UWORD,
688 dummy_c3_genptr = GT_UNDEF_UWORD;
689 #ifndef NDEBUG
690 GtUword numofincludedintrons = 0;
691 #endif
692 GthPath pathtype = (GthPath) 0;
693 Dummystatus dummystatus = DUMMY_STATUS_UNDEFINED;
694 unsigned char codon;
695 bool skipdummyprocessing = false;
696 const GtUchar *gen_alphabet_characters = gt_alphabet_characters(gen_alphabet);
697
698 gt_assert(!gth_backtrace_path_length(backtrace_path));
699
700 /* skip the first processing of a dummy if starts with an intron state
701 (to make sure the assertions don't fail) */
702 if (actualstate == IB_STATE || actualstate == IC_STATE)
703 skipdummyprocessing = true;
704
705 while ((genptr > 0) || (refptr > 0)) {
706 switch (actualstate) {
707 case E_STATE:
708 pathtype = path_e_state_read(dpm, genptr, refptr);
709 break;
710 case IA_STATE:
711 pathtype = path_ia_state_read(dpm, genptr, refptr);
712 break;
713 case IB_STATE:
714 pathtype = path_ib_state_read(dpm, genptr, refptr);
715 break;
716 case IC_STATE:
717 pathtype = path_ic_state_read(dpm, genptr, refptr);
718 break;
719 default: gt_assert(0);
720 }
721
722 switch (dummystatus) {
723 case DUMMY_STATUS_UNDEFINED:
724 /* nothing to do */
725 break;
726 case DUMMY_JUST_SET:
727 dummystatus = FIRST_EOP_AFTER_DUMMY_SET;
728 break;
729 case FIRST_EOP_AFTER_DUMMY_SET:
730 dummystatus = ENSURE_SINGLE_MATCH;
731 break;
732 case ENSURE_SINGLE_MATCH:
733 dummystatus = DUMMY_STATUS_UNDEFINED;
734 break;
735 default: gt_assert(0);
736 }
737
738 /* if we start with an intron with one or two bases left this ensures that
739 the following match has length one */
740 if (skipdummyprocessing)
741 dummystatus = DUMMY_JUST_SET;
742
743 if (introncutout) {
744 while (genptr_tail >= genptr && genptr_tail > 0) {
745 if (gth_spliced_seq_pos_is_border(spliced_seq, genptr_tail - 1)) {
746 /* ensure that introns are only included into already existing introns
747 */
748 if ((pathtype != (GthPath) IA_N1 &&
749 pathtype != (GthPath) IB_N1 &&
750 pathtype != (GthPath) IC_N1) ||
751 !gth_backtrace_path_last_is_intron(backtrace_path)) {
752 if (noicinintroncheck) {
753 /* intron cutout in intron check disabled,
754 include exon consisting of deletions */
755 if (genptr != last_genptr) {
756 last_genptr = genptr;
757 include_exon(backtrace_path,
758 gth_spliced_seq_border_length(spliced_seq,
759 genptr_tail - 1));
760 }
761 }
762 else {
763 if (comments) {
764 gt_file_xprintf(outfp,
765 "%c abort backtracing, intron cutout at p=%s "
766 "(genpos=" GT_WU " (actual strand!))\n",
767 COMMENTCHAR,
768 showretracenames((Retrace) pathtype),
769 spliced_seq->positionmapping[genptr]);
770 }
771 return GTH_ERROR_CUTOUT_NOT_IN_INTRON;
772 }
773 }
774 else {
775 /* include intron */
776 include_intron(backtrace_path, pathtype,
777 gth_spliced_seq_border_length(spliced_seq,
778 genptr_tail - 1));
779 #ifndef NDEBUG
780 numofincludedintrons++;
781 #endif
782 }
783 }
784 genptr_tail--;
785 }
786 }
787
788 switch (actualstate) {
789 case E_STATE:
790 /* we are currently in an exon state, the possible pathtypes for exon
791 states are handled here */
792 switch (pathtype) {
793 case E_N3M:
794 codon = gthgetcodon(gen_seq_tran[genptr - 3],
795 gen_seq_tran[genptr - 2],
796 gen_seq_tran[genptr - 1],
797 gen_alphabet_characters,
798 transtable);
799
800 if (codon == ref_seq_orig[refptr - 1]) {
801 gth_backtrace_path_add_match(backtrace_path,
802 dummystatus == ENSURE_SINGLE_MATCH);
803 }
804 else
805 gth_backtrace_path_add_mismatch(backtrace_path);
806 genptr-= 3;
807 refptr--;
808 break;
809 case E_N2M:
810 gth_backtrace_path_add_mismatch_with_1_gap(backtrace_path);
811 genptr-= 2;
812 refptr--;
813 break;
814 case E_N1M:
815 gth_backtrace_path_add_mismatch_with_2_gaps(backtrace_path);
816 if (dummystatus == FIRST_EOP_AFTER_DUMMY_SET)
817 dummystatus = DUMMY_JUST_SET;
818 genptr--;
819 refptr--;
820 break;
821 case E_M:
822 gth_backtrace_path_add_insertion(backtrace_path);
823 if (dummystatus == FIRST_EOP_AFTER_DUMMY_SET)
824 dummystatus = DUMMY_JUST_SET;
825 refptr--;
826 break;
827 case E_N3:
828 gth_backtrace_path_add_deletion(backtrace_path);
829 if (dummystatus == FIRST_EOP_AFTER_DUMMY_SET)
830 dummystatus = DUMMY_JUST_SET;
831 genptr-= 3;
832 break;
833 case E_N2:
834 gth_backtrace_path_add_deletion_with_1_gap(backtrace_path);
835 if (dummystatus == FIRST_EOP_AFTER_DUMMY_SET)
836 dummystatus = DUMMY_JUST_SET;
837 genptr-= 2;
838 break;
839 case E_N1:
840 gth_backtrace_path_add_deletion_with_2_gaps(backtrace_path);
841 if (dummystatus == FIRST_EOP_AFTER_DUMMY_SET)
842 dummystatus = DUMMY_JUST_SET;
843 genptr--;
844 break;
845 case IA_N3M:
846 codon = gthgetcodon(gen_seq_tran[genptr - 3],
847 gen_seq_tran[genptr - 2],
848 gen_seq_tran[genptr - 1],
849 gen_alphabet_characters,
850 transtable);
851 if (codon == ref_seq_orig[refptr - 1]) {
852 gth_backtrace_path_add_match(backtrace_path,
853 dummystatus == ENSURE_SINGLE_MATCH);
854 }
855 else
856 gth_backtrace_path_add_mismatch(backtrace_path);
857 genptr-= 3;
858 refptr--;
859 actualstate = IA_STATE;
860 break;
861 case IB_N2M:
862 /* add dummy */
863 gth_backtrace_path_add_dummy(backtrace_path);
864 gt_assert(dummy_b2_genptr == GT_UNDEF_UWORD);
865 gt_assert(dummy_b3_genptr == GT_UNDEF_UWORD);
866
867 dummystatus = DUMMY_STATUS_UNDEFINED;
868 dummy_b3_genptr = genptr - 1;
869 dummy_b2_genptr = genptr - 2;
870
871 genptr-= 2;
872 refptr--;
873 actualstate = IB_STATE;
874 break;
875 case IC_N1M:
876 /* add dummy */
877 gth_backtrace_path_add_dummy(backtrace_path);
878 gt_assert(dummy_c3_genptr == GT_UNDEF_UWORD);
879
880 dummystatus = DUMMY_STATUS_UNDEFINED;
881 dummy_c3_genptr = genptr - 1;
882
883 genptr--;
884 refptr--;
885 actualstate = IC_STATE;
886 break;
887 default: gt_assert(0);
888 }
889 break;
890 case IA_STATE:
891 /* we are currently in an intron state ('A' type), the possible
892 pathtypes for such intron states are handled here */
893 switch (pathtype) {
894 case IA_N1:
895 gth_backtrace_path_add_intron(backtrace_path);
896 genptr--;
897 break;
898 case E_N1:
899 gth_backtrace_path_add_intron(backtrace_path);
900 genptr--;
901 actualstate = E_STATE;
902 break;
903 default: gt_assert(0);
904 }
905 break;
906 case IB_STATE:
907 /* we are currently in an intron state ('B' type), the possible
908 pathtypes for such intron states are handled here */
909 switch (pathtype) {
910 case IB_N1:
911 gth_backtrace_path_add_intron_with_1_base_left(backtrace_path);
912 genptr--;
913 break;
914 case E_N2:
915 gth_backtrace_path_add_intron_with_1_base_left(backtrace_path);
916 if (skipdummyprocessing)
917 skipdummyprocessing = false;
918 else {
919 /* resolve dummy */
920 gt_assert(dummy_b2_genptr != GT_UNDEF_UWORD);
921 gt_assert(dummy_b3_genptr != GT_UNDEF_UWORD);
922
923 codon = gthgetcodon(gen_seq_tran[genptr - 2],
924 gen_seq_tran[dummy_b2_genptr],
925 gen_seq_tran[dummy_b3_genptr],
926 gen_alphabet_characters, transtable);
927 gth_backtrace_path_set_dummy(backtrace_path, codon
928 == ref_seq_orig[refptr]);
929 dummystatus = DUMMY_JUST_SET;
930 dummy_index = GT_UNDEF_UWORD;
931 dummy_b2_genptr = GT_UNDEF_UWORD;
932 dummy_b3_genptr = GT_UNDEF_UWORD;
933 }
934 genptr-= 2;
935 actualstate = E_STATE;
936 break;
937 default: gt_assert(0);
938 }
939 break;
940 case IC_STATE:
941 /* we are currently in an intron state ('C' type), the possible
942 pathtypes for such intron states are handled here */
943 switch (pathtype) {
944 case IC_N1:
945 gth_backtrace_path_add_intron_with_2_bases_left(backtrace_path);
946 genptr--;
947 break;
948 case E_N3:
949 gth_backtrace_path_add_intron_with_2_bases_left(backtrace_path);
950 if (skipdummyprocessing)
951 skipdummyprocessing = false;
952 else {
953 /* resolve dummy here */
954 gt_assert(dummy_c3_genptr != GT_UNDEF_UWORD);
955
956 codon = gthgetcodon(gen_seq_tran[genptr - 3],
957 gen_seq_tran[genptr - 2],
958 gen_seq_tran[dummy_c3_genptr],
959 gen_alphabet_characters, transtable);
960 gth_backtrace_path_set_dummy(backtrace_path, codon
961 == ref_seq_orig[refptr]);
962 dummystatus = DUMMY_JUST_SET;
963 dummy_index = GT_UNDEF_UWORD;
964 dummy_c3_genptr = GT_UNDEF_UWORD;
965 }
966 genptr-= 3;
967 actualstate = E_STATE;
968 break;
969 default: gt_assert(0);
970 }
971 break;
972 default: gt_assert(0);
973 }
974 }
975
976 gt_assert(genptr == 0 && refptr == 0);
977 gt_assert(!gth_backtrace_path_contain_dummy(backtrace_path));
978
979 #ifndef NDEBUG
980 if (introncutout) {
981 /* number of borders equals number of included introns */
982 gt_assert(numofincludedintrons ==
983 gth_spliced_seq_num_of_borders(spliced_seq));
984 }
985 #endif
986
987 return 0;
988 }
989
990 static int find_optimal_path(GthBacktracePath *backtrace_path, GthDPtables *dpm,
991 GtUword ref_dp_length,
992 const unsigned char *gen_seq_tran,
993 GtUword gen_dp_length, bool introncutout,
994 GthSplicedSeq *spliced_seq,
995 const GtTransTable *transtable, bool comments,
996 bool noicintroncheck, GtAlphabet *gen_alphabet,
997 const unsigned char *ref_seq_orig,
998 GtFile *outfp)
999 {
1000 int rval;
1001 GthFlt value, maxvalue;
1002 GthPath retrace;
1003 States state;
1004
1005 maxvalue = SCORE(E_STATE, GT_MOD4(gen_dp_length), ref_dp_length);
1006 retrace = (GthPath) E_STATE;
1007
1008 for (state = (States) 1; state < PROTEIN_NUMOFSTATES; state++) {
1009 value = SCORE(state, GT_MOD4(gen_dp_length), ref_dp_length);
1010 UPDATEMAX(state);
1011 }
1012
1013 if ((rval = evaltracepath(backtrace_path, dpm, ref_dp_length,
1014 gen_seq_tran, gen_dp_length, (States) retrace,
1015 introncutout, spliced_seq, transtable,
1016 comments, noicintroncheck, gen_alphabet,
1017 ref_seq_orig, outfp))) {
1018 return rval;
1019 }
1020
1021 /* sum of backtrace_path equals ref_dp_length */
1022 gt_assert(gth_backtrace_path_is_valid(backtrace_path));
1023
1024 return 0;
1025 }
1026
1027 /* the following function frees the DP tables for proteins */
1028 static void dp_tables_free(GthDPtables *dpm)
1029 {
1030 GtUword n;
1031
1032 /* free core */
1033 dp_table_core_free(&dpm->core);
1034
1035 /* freespace for intronstart and splitcodon arrays */
1036 for (n = 0; n < PROTEIN_NUMOFSCORETABLES; n++) {
1037 gt_free(dpm->intronstart_A[n]);
1038 gt_free(dpm->intronstart_B[n]);
1039 gt_free(dpm->intronstart_C[n]);
1040 gt_free(dpm->exonstart[n]);
1041 gt_free(dpm->splitcodon_B[n]);
1042 gt_free(dpm->splitcodon_C1[n]);
1043 gt_free(dpm->splitcodon_C2[n]);
1044 }
1045 }
1046
1047 int gth_align_protein(GthSA *sa,
1048 GtArray *gen_ranges,
1049 const unsigned char *gen_seq_tran,
1050 const unsigned char *ref_seq_tran,
1051 const unsigned char *ref_seq_orig,
1052 GtUword ref_dp_length,
1053 GtAlphabet *gen_alphabet,
1054 GtAlphabet *ref_alphabet,
1055 GthInput *gth_input,
1056 bool introncutout,
1057 GtUword autoicmaxmatrixsize,
1058 bool proteinexonpenal,
1059 bool showeops,
1060 bool comments,
1061 bool gs2out,
1062 GtUword translationtable,
1063 const GtRange *gen_seq_bounds,
1064 GthSpliceSiteModel *splice_site_model,
1065 GthDPOptionsCore *dp_options_core,
1066 GthDPOptionsPostpro *dp_options_postpro,
1067 GT_UNUSED GthProteinCompletePathMatrixJT
1068 complete_path_matrix_jt,
1069 GthJumpTable *jump_table,
1070 GT_UNUSED GtUword ref_offset,
1071 GthStat *stat,
1072 GtFile *outfp)
1073 {
1074 GtUword gen_dp_start, gen_dp_end, gen_dp_length;
1075 GthDPScoresProtein *dp_scores_protein;
1076 GthDPParam *dp_param;
1077 GthSplicedSeq *spliced_seq = NULL;
1078 GthAlignInputProtein input;
1079 GtTransTable *transtable;
1080 GthDPtables dpm;
1081 int rval;
1082
1083 gt_assert(gen_ranges);
1084
1085 dp_scores_protein =
1086 gth_dp_scores_protein_new(translationtable,
1087 gth_input_score_matrix(gth_input),
1088 gth_input_score_matrix_alpha(gth_input));
1089
1090 /* initialization */
1091 gen_dp_start = ((GtRange*) gt_array_get_first(gen_ranges))->start;
1092 gen_dp_end = ((GtRange*) gt_array_get_last(gen_ranges))->end;
1093 gt_assert(gen_dp_start <= gen_dp_end);
1094 gen_dp_length = gen_dp_end - gen_dp_start + 1;
1095 dp_param = gth_dp_param_new(gen_ranges, gen_seq_tran, gen_seq_bounds,
1096 splice_site_model, gen_alphabet);
1097 if (!dp_param)
1098 return GTH_ERROR_DP_PARAMETER_ALLOCATION_FAILED;
1099 if (introncutout) {
1100 spliced_seq = gth_spliced_seq_new_with_comments(gen_seq_tran, gen_ranges,
1101 comments, outfp);
1102 }
1103 initinput(&input, ref_seq_orig, gth_input);
1104 if ((rval = dp_tables_alloc(&dpm, introncutout ? spliced_seq->splicedseqlen
1105 : gen_dp_length,
1106 proteinexonpenal, ref_dp_length,
1107 autoicmaxmatrixsize, introncutout, jump_table,
1108 stat))) {
1109 gth_dp_param_delete(dp_param);
1110 gth_spliced_seq_delete(spliced_seq);
1111 gth_dp_scores_protein_delete(dp_scores_protein);
1112 return rval;
1113 }
1114 dp_tables_init(&dpm, proteinexonpenal, ref_dp_length);
1115 gth_sa_set(sa, PROTEIN_ALPHA, gen_dp_start, gen_dp_length);
1116
1117 transtable = gt_trans_table_new(translationtable, NULL);
1118 /* XXX: the validity of the translation table has to be checked before */
1119 gt_assert(!rval);
1120
1121 /* calculation */
1122 /* XXX */
1123 #if 0
1124 if (jump_table) {
1125 gt_assert(complete_path_matrix_jt);
1126 complete_path_matrix_jt(&dpm, &input, proteinexonpenal,
1127 introncutout ? spliced_seq->splicedseq
1128 : gen_seq_tran + gen_dp_start,
1129 introncutout ? spliced_seq->splicedseqlen
1130 : gen_dp_length,
1131 ref_dp_length, dp_param, dp_options_core,
1132 dp_scores_protein, jump_table, gen_ranges,
1133 ref_offset);
1134 }
1135 else {
1136 #endif
1137 complete_path_matrix(&dpm, &input, proteinexonpenal,
1138 introncutout ? spliced_seq->splicedseq
1139 : gen_seq_tran + gen_dp_start,
1140 introncutout ? spliced_seq->splicedseqlen
1141 : gen_dp_length,
1142 ref_dp_length, dp_param, dp_options_core,
1143 dp_scores_protein);
1144
1145 /* backtracing */
1146 if ((rval = find_optimal_path(gth_sa_backtrace_path(sa), &dpm, ref_dp_length,
1147 introncutout ? spliced_seq->splicedseq
1148 : gen_seq_tran + gen_dp_start,
1149 introncutout ? spliced_seq->splicedseqlen
1150 : gen_dp_length,
1151 introncutout, spliced_seq, transtable,
1152 comments, dp_options_core->noicinintroncheck,
1153 gen_alphabet, input.ref_seq_orig, outfp))) {
1154 if (rval == GTH_ERROR_CUTOUT_NOT_IN_INTRON) {
1155 gt_trans_table_delete(transtable);
1156 dp_tables_free(&dpm);
1157 gth_dp_param_delete(dp_param);
1158 gth_spliced_seq_delete(spliced_seq);
1159 gth_dp_scores_protein_delete(dp_scores_protein);
1160 }
1161 return rval;
1162 }
1163
1164 /* intron cutout is done after this point */
1165 if (showeops) {
1166 gt_file_xprintf(outfp, "showeops: ");
1167 gth_backtrace_path_show(gth_sa_backtrace_path(sa), false, 0, outfp);
1168 }
1169
1170 /* determine cutoffs if not switched off by command line option */
1171 gth_sa_determine_cutoffs(sa, dp_options_postpro->leadcutoffsmode,
1172 dp_options_postpro->termcutoffsmode,
1173 dp_options_postpro->cutoffsminexonlen);
1174
1175 /* remove zero base exons */
1176 gth_sa_remove_zero_base_exons(sa, stat);
1177
1178 /* compute borders and scores */
1179 gth_compute_scores(sa, true, dp_param, NULL, gen_seq_tran + gen_dp_start,
1180 ref_seq_tran, ref_seq_orig, transtable, gen_dp_start,
1181 dp_options_postpro->scoreminexonlen, introncutout, gs2out,
1182 spliced_seq, ref_dp_length, gen_alphabet, ref_alphabet,
1183 dp_scores_protein);
1184
1185 /* free */
1186 gt_trans_table_delete(transtable);
1187 dp_tables_free(&dpm);
1188 gth_dp_param_delete(dp_param);
1189 gth_spliced_seq_delete(spliced_seq);
1190 gth_dp_scores_protein_delete(dp_scores_protein);
1191
1192 return 0;
1193 }
+0
-90
src/gth/align_protein.h less more
0 /*
1 Copyright (c) 2004-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ALIGN_PROTEIN_H
18 #define ALIGN_PROTEIN_H
19
20 #include "core/trans_table_api.h"
21 #include "gth/dp_options_core.h"
22 #include "gth/dp_options_postpro.h"
23 #include "gth/spliced_seq.h"
24 #include "gth/align_common.h"
25 #include "gth/dp_scores_protein.h"
26 #include "gth/sa.h"
27
28 /* the following type bundles nearly all sahmtp input variables, except
29 for gen_seq_tran and gen_dp_length */
30 typedef struct {
31 const unsigned char *ref_seq_orig; /* pointer to original
32 reference sequence */
33 GtScoreMatrix *score_matrix; /* the amino acid substitution matrix */
34 GtAlphabet *score_matrix_alpha; /* alphabet used for the scoring matrix */
35 } GthAlignInputProtein;
36
37 unsigned char gthgetcodon(unsigned char genomicchar1,
38 unsigned char genomicchar2,
39 unsigned char genomicchar3,
40 const GtUchar *gen_alphabet_characters,
41 const GtTransTable *transtable);
42
43 typedef struct GthDPtables GthDPtables;
44
45 typedef void (*GthProteinCompletePathMatrixJT)(GthDPtables *dpm,
46 GthAlignInputProtein *input,
47 bool proteinexonpenal,
48 const unsigned char
49 *gen_seq_tran,
50 GtUword gen_dp_length,
51 GtUword ref_dp_length,
52 GthDPParam *dp_param,
53 GthDPOptionsCore
54 *dp_options_core,
55 GthDPScoresProtein
56 *dp_scores_protein,
57 GthJumpTable *jump_table,
58 GtArray *gen_ranges,
59 GtUword ref_offset);
60
61 /* The following function implements the Spliced Alignment of Genomic DNA with
62 protein, as described by Usuka and Brendel. */
63 int gth_align_protein(GthSA*,
64 GtArray *gen_ranges,
65 const unsigned char *gen_seq_tran,
66 const unsigned char *ref_seq_tran,
67 const unsigned char *ref_seq_orig,
68 GtUword referencelength,
69 GtAlphabet *gen_alphabet,
70 GtAlphabet *ref_alphabet,
71 GthInput *gth_input,
72 bool introncutout,
73 GtUword autoicmaxmatrixsize,
74 bool proteinexonpenal,
75 bool showeops,
76 bool comments,
77 bool gs2out,
78 GtUword translationtable,
79 const GtRange *gen_seq_bounds,
80 GthSpliceSiteModel *splice_site_model,
81 GthDPOptionsCore *dp_options_core,
82 GthDPOptionsPostpro *dp_options_postpro,
83 GthProteinCompletePathMatrixJT complete_path_matrix_jt,
84 GthJumpTable *jump_table,
85 GtUword ref_offset,
86 GthStat*,
87 GtFile*);
88
89 #endif
+0
-115
src/gth/align_protein_imp.h less more
0 /*
1 Copyright (c) 2004-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ALIGN_PROTEIN_IMP_H
18 #define ALIGN_PROTEIN_IMP_H
19
20 #include "gth/align_protein.h"
21
22 #define WSIZE_PROTEIN 20
23 #define WSIZE_DNA 60 /* (3 * WSIZE_PROTEIN) */
24
25 #define GENOMICDPSTART 3
26 #define REFERENCEDPSTART 1
27
28 #define PROTEIN_NUMOFSCORETABLES 4
29
30 /* these definitions refer to the state index for the two N x M score matrices
31 */
32 typedef enum {
33 E_STATE = 0,
34 IA_STATE,
35 IB_STATE,
36 IC_STATE,
37 PROTEIN_NUMOFSTATES
38 } States;
39
40 /*
41 These definitions are used to retrace the optimal path in align_protein.c.
42 E, I refer to the original state, N, M, and NM refer to which index
43 should be decremented.
44
45 IMPORTANT: Definition has to be consistent with retracenames in
46 align_protein.c.
47 */
48 typedef enum {
49 /* GS2: representation as multi editoperation: */
50
51 E_N3M, /* C_N3M match |00|00|length */
52 /* or mismatch |11|00|0^12 */
53 E_N2M, /* C_N2M mismatch + 1 gap |11|01|0^12 */
54 E_N1M, /* C_N1M mismatch + 2 gaps |11|10|0^12 */
55 E_M, /* C_M insertion |10|00|0^12 */
56 E_N3, /* C_N3 deletion |01|00|0^12 */
57 /* or intron */
58 E_N2, /* C_N2 deletion + 1 gap |01|01|0^12 */
59 /* or intron */
60 E_N1, /* C_N deletion + 2 gaps |01|10|0^12 */
61 /* or intron */
62 IA_N3M, /* I_N3M match |00|00|length */
63 /* or mismatch |11|00|0^12 */
64 IB_N2M, /* I_N2M match |00|01|length (XXX: necessary?) */
65 /* or mismatch |11|01|0^12 */
66 IC_N1M, /* I_N1M match |00|10|length (XXX: necessary?) */
67 /* or mismatch |11|10|0^12 */
68 IA_N1, /* IA_N intron |01|00|length */
69 IB_N1, /* IB_N intron keep 1 base |01|01|length */
70 IC_N1, /* IC_N intron keep 2 bases |01|10|length */
71
72 NUMOFRETRACE
73 } Retrace;
74
75 /* the following structure bundles core all tables involved in the DP */
76 typedef struct {
77 /* table to store the score of a path */
78 GthFlt *score[PROTEIN_NUMOFSTATES][PROTEIN_NUMOFSCORETABLES];
79 GthPath **path; /* backtrace table of size gen_dp_length * ref_dp_length */
80 } DPtablecore;
81
82 /* structure of a path matrix byte:
83
84 87654321
85 |||+---E_STATE (bits 1 to 4)
86 |||
87 ||+----IA_STATE (bit 5)
88 ||
89 |+-----IB_STATE (bit 6)
90 |
91 +------IC_STATE (bit 7)
92
93 bit 8 is unused.
94 */
95
96 #define E_STATE_MASK 0xf /* |0000|1111| */
97 #define IA_STATE_MASK 0x10 /* |0001|0000| */
98 #define IB_STATE_MASK 0x20 /* |0010|0000| */
99 #define IC_STATE_MASK 0x40 /* |0100|0000| */
100
101 /* the following structure bundles all tables involved in the dynamic
102 programming for proteins */
103 struct GthDPtables {
104 DPtablecore core; /* the core tables */
105 GtUword *intronstart_A[PROTEIN_NUMOFSCORETABLES],
106 *intronstart_B[PROTEIN_NUMOFSCORETABLES],
107 *intronstart_C[PROTEIN_NUMOFSCORETABLES];
108 GtUword *exonstart[PROTEIN_NUMOFSCORETABLES];
109 unsigned char *splitcodon_B[PROTEIN_NUMOFSCORETABLES],
110 *splitcodon_C1[PROTEIN_NUMOFSCORETABLES],
111 *splitcodon_C2[PROTEIN_NUMOFSCORETABLES];
112 };
113
114 #endif
+0
-67
src/gth/array2dim_plain.h less more
0 /*
1 Copyright (c) 2006-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2006-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef ARRAY2DIM_PLAIN_H
18 #define ARRAY2DIM_PLAIN_H
19
20 /* Special case of the gt_array2dim_malloc() macro taken from core/arrayd2dim.h
21 which uses a plain malloc(3) instead of gt_malloc() and can therefore fail
22 (i.e., return NULL). */
23
24 #define gth_array2dim_plain_malloc(ARRAY2DIM, ROWS, COLUMNS) \
25 { \
26 GtUword gth_a2d_i; \
27 ARRAY2DIM = malloc(sizeof *ARRAY2DIM * (ROWS)); \
28 if (ARRAY2DIM) { \
29 (ARRAY2DIM)[0] = malloc(sizeof **ARRAY2DIM * (ROWS) * (COLUMNS)); \
30 if ((ARRAY2DIM)[0]) { \
31 for (gth_a2d_i = 1; gth_a2d_i < (ROWS); gth_a2d_i++) \
32 (ARRAY2DIM)[gth_a2d_i] = (ARRAY2DIM)[gth_a2d_i-1] + (COLUMNS); \
33 } \
34 else { \
35 free(ARRAY2DIM); \
36 ARRAY2DIM = NULL; \
37 } \
38 } \
39 }
40
41 /* Special case of the gt_array2dim_calloc() macro taken from core/arrayd2dim.h
42 which uses a plain calloc(3) instead of gt_calloc() and can therefore fail
43 (i.e., return NULL). */
44
45 #define gth_array2dim_plain_calloc(ARRAY2DIM, ROWS, COLUMNS) \
46 { \
47 GtUword gth_a2d_i; \
48 ARRAY2DIM = calloc((ROWS), sizeof *ARRAY2DIM); \
49 if (ARRAY2DIM) { \
50 (ARRAY2DIM)[0] = calloc((ROWS) * (COLUMNS), sizeof **ARRAY2DIM); \
51 if ((ARRAY2DIM)[0]) { \
52 for (gth_a2d_i = 1; gth_a2d_i < (ROWS); gth_a2d_i++) \
53 (ARRAY2DIM)[gth_a2d_i] = (ARRAY2DIM)[gth_a2d_i-1] + (COLUMNS); \
54 } \
55 else { \
56 free(ARRAY2DIM); \
57 ARRAY2DIM = NULL; \
58 } \
59 } \
60 }
61
62 #define gth_array2dim_plain_delete(ARRAY2DIM) \
63 free((ARRAY2DIM)[0]); \
64 free(ARRAY2DIM);
65
66 #endif
+0
-1146
src/gth/backtrace_path.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "core/safearith.h"
19 #include "gth/backtrace_path.h"
20 #include "gth/gthcutoffsminimal.h"
21 #include "gth/gthcutoffsrelaxed.h"
22 #include "gth/gthcutoffsstrict.h"
23
24 #define DETERMINE_TIMES_MAXLEN \
25 while (length > maxlen) { \
26 times_maxlen++; \
27 length -= maxlen; \
28 }
29
30 /* The following (pseudo) edit operation is used to store a dummy which is
31 later replaced with a proper edit operation. */
32 #define DUMMY_EOP ((Editoperation) (15 << 12)) /* 11|11|0^12 */
33
34 typedef struct {
35 Cutoffs start, /* the leading cutoffs */
36 end; /* the terminal cutoffs */
37 } Alignmentcutoffs;
38
39 struct GthBacktracePath {
40 GtArray *editoperations;
41 /* assertions for an array of multi editoperations:
42 - an intron can only be of on type (00 or 01 or 11)
43 - after an 00 intron a 00 match/mismatch must follow
44 - after an 01 intron a 01 match/mismatch must follow
45 - after an 10 intron a 10 match/mismatch must follow
46 */
47 GthAlphatype alphatype;
48 Editoperation max_identical_length; /* defines the maximal length for a match.
49 for dna MAXIDENTICALLENGTH should be
50 used and for protein
51 MAXIDENTICALLENGTH_PROTEIN */
52 GtUword gen_dp_start,
53 gen_dp_length,
54 ref_dp_start,
55 ref_dp_length,
56 dummy_index;
57 Alignmentcutoffs cutoffs;
58 };
59
60 GthBacktracePath* gth_backtrace_path_new(GtUword gen_dp_start,
61 GtUword gen_dp_length,
62 GtUword ref_dp_start,
63 GtUword ref_dp_length)
64 {
65 GthBacktracePath *bp;
66 bp = gt_calloc(1, sizeof *bp);
67 bp->editoperations = gt_array_new(sizeof (Editoperation));
68 bp->alphatype = UNDEF_ALPHA;
69 bp->gen_dp_start = gen_dp_start;
70 bp->gen_dp_length = gen_dp_length;
71 bp->ref_dp_start = ref_dp_start;
72 bp->ref_dp_length = ref_dp_length;
73 bp->dummy_index = GT_UNDEF_UWORD;
74 return bp;
75 }
76
77 GtUword gth_backtrace_path_gen_dp_start(const GthBacktracePath *bp)
78 {
79 gt_assert(bp && bp->gen_dp_start != GT_UNDEF_UWORD);
80 return bp->gen_dp_start;
81 }
82
83 void gth_backtrace_path_set_gen_dp_start(GthBacktracePath *bp,
84 GtUword gen_dp_start)
85 {
86 gt_assert(bp && gen_dp_start != GT_UNDEF_UWORD);
87 bp->gen_dp_start = gen_dp_start;
88 }
89
90 GtUword gth_backtrace_path_gen_dp_length(const GthBacktracePath *bp)
91 {
92 gt_assert(bp && bp->gen_dp_length != GT_UNDEF_UWORD);
93 return bp->gen_dp_length;
94 }
95
96 void gth_backtrace_path_set_gen_dp_length(GthBacktracePath *bp,
97 GtUword gen_dp_length)
98 {
99 gt_assert(bp && gen_dp_length != GT_UNDEF_UWORD);
100 bp->gen_dp_length = gen_dp_length;
101 }
102
103 GtUword gth_backtrace_path_ref_dp_length(const GthBacktracePath *bp)
104 {
105 gt_assert(bp && bp->ref_dp_length != GT_UNDEF_WORD);
106 return bp->ref_dp_length;
107 }
108
109 void gth_backtrace_path_set_ref_dp_length(GthBacktracePath *bp,
110 GtUword ref_dp_length)
111 {
112 gt_assert(bp && ref_dp_length != GT_UNDEF_UWORD);
113 bp->ref_dp_length = ref_dp_length;
114 }
115
116 GtUword gt_compute_indelcount(Editoperation *alignment,
117 GtUword alignmentlength, bool proteineop)
118 {
119 GtUword i, eoplength, indelcount = 0;
120 Eoptype eoptype;
121
122 for (i = 0; i < alignmentlength; i++) {
123 eoptype = gt_editoperation_type(alignment[i], proteineop);
124 eoplength = gt_editoperation_length(alignment[i], proteineop);
125
126 switch (eoptype) {
127 case EOP_TYPE_MATCH:
128 /* nothing to do */
129 break;
130 case EOP_TYPE_INTRON:
131 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
132 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
133 indelcount += eoplength;
134 break;
135 case EOP_TYPE_MISMATCH:
136 /* nothing to do */
137 break;
138 case EOP_TYPE_DELETION:
139 case EOP_TYPE_INSERTION:
140 if (proteineop)
141 indelcount += eoplength * 3;
142 else
143 indelcount += eoplength;
144 break;
145 case EOP_TYPE_MISMATCH_WITH_1_GAP:
146 gt_assert(proteineop);
147 indelcount += eoplength;
148 break;
149 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
150 gt_assert(proteineop);
151 indelcount += eoplength * 2;
152 break;
153 case EOP_TYPE_DELETION_WITH_1_GAP:
154 case EOP_TYPE_DELETION_WITH_2_GAPS:
155 if (proteineop)
156 indelcount += eoplength * 3;
157 else
158 indelcount += eoplength;
159 break;
160 default: gt_assert(0);
161 }
162 }
163
164 return indelcount;
165 }
166
167 GtUword gth_backtrace_path_indelcount(const GthBacktracePath *bp)
168 {
169 gt_assert(bp);
170 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
171 return gt_compute_indelcount(gt_array_get_space(bp->editoperations),
172 gt_array_size(bp->editoperations),
173 bp->alphatype == PROTEIN_ALPHA);
174 }
175
176 GtUword gth_backtrace_path_genomiccutoff_start(const GthBacktracePath *bt)
177 {
178 gt_assert(bt);
179 return bt->cutoffs.start.genomiccutoff;
180 }
181
182 GtUword gth_backtrace_path_referencecutoff_start(const
183 GthBacktracePath *bt)
184 {
185 gt_assert(bt);
186 return bt->cutoffs.start.referencecutoff;
187 }
188
189 GtUword gth_backtrace_path_eopcutoff_start(const GthBacktracePath *bt)
190 {
191 gt_assert(bt);
192 return bt->cutoffs.start.eopcutoff;
193 }
194
195 GtUword gth_backtrace_path_genomiccutoff_end(const GthBacktracePath *bt)
196 {
197 gt_assert(bt);
198 return bt->cutoffs.end.genomiccutoff;
199 }
200
201 GtUword gth_backtrace_path_referencecutoff_end(const GthBacktracePath *bt)
202 {
203 gt_assert(bt);
204 return bt->cutoffs.end.referencecutoff;
205 }
206
207 GtUword gth_backtrace_path_eopcutoff_end(const GthBacktracePath *bt)
208 {
209 gt_assert(bt);
210 return bt->cutoffs.end.eopcutoff;
211 }
212
213 void gth_backtrace_path_set_cutoffs_start(GthBacktracePath *bt,
214 Cutoffs *cutoffs)
215 {
216 gt_assert(bt && cutoffs);
217 bt->cutoffs.start = *cutoffs;
218 }
219
220 void gth_backtrace_path_set_cutoffs_end(GthBacktracePath *bt, Cutoffs *cutoffs)
221 {
222 gt_assert(bt && cutoffs);
223 bt->cutoffs.end = *cutoffs;
224 }
225
226 GthAlphatype gth_backtrace_path_alphatype(const GthBacktracePath *bp)
227 {
228 gt_assert(bp);
229 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
230 return bp->alphatype;
231 }
232
233 void gth_backtrace_path_set_alphatype(GthBacktracePath *bp,
234 GthAlphatype alphatype)
235 {
236 gt_assert(bp && bp->alphatype == UNDEF_ALPHA);
237 gt_assert(alphatype == DNA_ALPHA || alphatype == PROTEIN_ALPHA);
238 bp->alphatype = alphatype;
239 if (alphatype == DNA_ALPHA)
240 bp->max_identical_length = MAXIDENTICALLENGTH;
241 else
242 bp->max_identical_length = MAXIDENTICALLENGTH_PROTEIN;
243 }
244
245 static void determine_cutoffs(GthBacktracePath *bp,
246 GthCutoffmode leadcutoffsmode,
247 GthCutoffmode termcutoffsmode,
248 GtUword cutoffsminexonlen)
249 {
250 Traversealignmentfunctions travfunctions;
251 Traversealignmentstate travstate;
252 Relaxedcutoffsdata relaxedcutoffsdata;
253 Strictcutoffsdata strictcutoffsdata;
254 Minimalcutoffsdata minimalcutoffsdata;
255 bool proteineop = bp->alphatype == PROTEIN_ALPHA;
256
257 /* sum of edit operations equals referencelength (before cutoffs)", */
258 gt_assert(gth_backtrace_path_is_valid(bp));
259
260 /* setting the traverse alignment state */
261 travstate.proteineop = proteineop;
262 travstate.processing_intron_with_1_base_left = false;
263 travstate.processing_intron_with_2_bases_left = false;
264 travstate.alignment = gth_backtrace_path_get(bp);
265 travstate.alignmentlength = gth_backtrace_path_length(bp);
266 travstate.eopptr = travstate.alignment +
267 travstate.alignmentlength - 1;
268 travstate.genomicptr = 0;
269 travstate.referenceptr = 0;
270
271 /* cutting of leading indels in the sequences */
272 switch (leadcutoffsmode) {
273 case GTH_RELAXED:
274 gt_initRelaxedcutoffsTravfunctions(&travfunctions);
275 gt_initRelaxedcutoffsdata(&relaxedcutoffsdata, &bp->cutoffs.start);
276 gthtraversealignment(true, &travstate, proteineop, &relaxedcutoffsdata,
277 &travfunctions);
278 break;
279 case GTH_STRICT:
280 gt_initStrictcutoffsTravfunctions(&travfunctions);
281 gt_initStrictcutoffsdata(&strictcutoffsdata, &bp->cutoffs.start,
282 cutoffsminexonlen);
283 gthtraversealignment(true , &travstate , proteineop, &strictcutoffsdata,
284 &travfunctions);
285 break;
286 case GTH_MINIMAL:
287 gt_initMinimalcutoffsTravfunctions(&travfunctions);
288 gt_initMinimalcutoffsdata(&minimalcutoffsdata, &bp->cutoffs.start);
289 gthtraversealignment(true, &travstate, proteineop, &minimalcutoffsdata,
290 &travfunctions);
291 break;
292 default: gt_assert(0);
293 }
294
295 /* resetting the traverse alignment state */
296 travstate.processing_intron_with_1_base_left = false;
297 travstate.processing_intron_with_2_bases_left = false;
298 travstate.eopptr = gth_backtrace_path_get(bp);
299 travstate.genomicptr = 0;
300 travstate.referenceptr = 0;
301
302 /* cutting of terminal indels in the sequences */
303 switch (termcutoffsmode) {
304 case GTH_RELAXED:
305 gt_initRelaxedcutoffsTravfunctions(&travfunctions);
306 gt_initRelaxedcutoffsdata(&relaxedcutoffsdata, &bp->cutoffs.end);
307 gthtraversealignment(false, &travstate, proteineop, &relaxedcutoffsdata,
308 &travfunctions);
309 break;
310 case GTH_STRICT:
311 gt_initStrictcutoffsTravfunctions(&travfunctions);
312 gt_initStrictcutoffsdata(&strictcutoffsdata, &bp->cutoffs.end,
313 cutoffsminexonlen);
314 gthtraversealignment(false, &travstate, proteineop, &strictcutoffsdata,
315 &travfunctions);
316 break;
317 case GTH_MINIMAL:
318 gt_initMinimalcutoffsTravfunctions(&travfunctions);
319 gt_initMinimalcutoffsdata(&minimalcutoffsdata, &bp->cutoffs.end);
320 gthtraversealignment(false, &travstate, proteineop, &minimalcutoffsdata,
321 &travfunctions);
322 break;
323 default: gt_assert(0);
324 }
325
326 /* sum of edit operations equals referencelength (after cutoffs) */
327 gt_assert(gth_backtrace_path_is_valid(bp));
328 }
329
330 void gth_backtrace_path_determine_cutoffs(GthBacktracePath *bp,
331 GthCutoffmode leadcutoffsmode,
332 GthCutoffmode termcutoffsmode,
333 GtUword cutoffsminexonlen)
334 {
335 gt_assert(bp);
336 /* ref_alphatype is valid */
337 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
338 memset(&bp->cutoffs, 0, sizeof bp->cutoffs);
339 determine_cutoffs(bp, leadcutoffsmode, termcutoffsmode, cutoffsminexonlen);
340 }
341
342 static bool is_insertion(Editoperation eop)
343 {
344 if (eop == INSERTIONEOP)
345 return true;
346 return false;
347 }
348
349 static bool is_intron(Editoperation eop)
350 {
351 if ((eop & ~MAXIDENTICALLENGTH) == DELETIONEOP &&
352 (eop & MAXIDENTICALLENGTH) > 0) {
353 return true;
354 }
355 return false;
356 }
357
358 /* The following function removes zero base exons in <alignment>.
359 That is, a continuous stretch of insertions between two introns is moved past
360 the intron(s) to the right.
361 This is necessary for the gthcomputescores() function to work correctly.
362 Otherwise one would get exons with borders (i, i-1) which can not be
363 processed by the successive functions. */
364 void gt_remove_zero_base_exons(Editoperation *alignment, GtWord alignmentlength,
365 GthStat *stat)
366 {
367 GtWord i, j;
368 for (i = 1; i < alignmentlength - 1; i++) {
369 if (is_insertion(alignment[i])) {
370 /* editoperation is insertion, check for surrounding introns */
371 if (is_intron(alignment[i-1])) {
372 /* intron to the left -> go to the right */
373 for (j = i + 1; j < alignmentlength; j++) {
374 if (is_intron(alignment[j])) {
375 /* Insertion(s) surrounded by Introns -> move insertion(s) past the
376 (complete) intron */
377 while (j < alignmentlength) {
378 Editoperation tmp_eop;
379
380 /* swap */
381 tmp_eop = alignment[i];
382 alignment[i] = alignment[j];
383 alignment[j] = tmp_eop;
384 i++;
385 j++;
386 if (!is_intron(alignment[j]))
387 break;
388 }
389 /* increase counter */
390 gth_stat_increment_numofremovedzerobaseexons(stat);
391 break;
392 }
393 else if (!is_insertion(alignment[j]))
394 break; /* Insertions are not surrounded by Introns */
395 }
396 }
397 }
398 }
399 }
400
401 void gth_backtrace_path_remove_zero_base_exons(GthBacktracePath *bp,
402 GthStat *stat)
403 {
404 gt_assert(bp);
405 gt_remove_zero_base_exons(gth_backtrace_path_get(bp),
406 gth_backtrace_path_length(bp), stat);
407 }
408
409 static bool contains_no_zero_base_exons(Editoperation *alignment,
410 GtWord alignmentlength)
411 {
412 GtWord i, j;
413
414 for (i = 1; i < alignmentlength - 1; i++) {
415 if (is_insertion(alignment[i])) {
416 /* editoperation is Insertion, check for surrounding Introns */
417 if (is_intron(alignment[i-1])) {
418 /* intron to the left -> go to the right */
419 for (j = i + 1; j < alignmentlength; j++) {
420 if (is_intron(alignment[j])) {
421 /* Insertion is surrounded by Introns -> return false */
422 return false;
423 } else if (!is_insertion(alignment[j]))
424 break; /* Insertions are not surrounded by Introns */
425 } }
426 }
427 }
428 /* no zero base exons -> return true */
429 return true;
430 }
431
432 bool gth_backtrace_path_contains_no_zero_base_exons(const GthBacktracePath *bp)
433 {
434 gt_assert(bp);
435 return contains_no_zero_base_exons(gth_backtrace_path_get(bp) +
436 bp->cutoffs.end.eopcutoff,
437 gth_backtrace_path_length(bp) -
438 bp->cutoffs.start.eopcutoff -
439 bp->cutoffs.end.eopcutoff);
440 }
441
442 static void add_eop_type_to_eop_array(GtArray *bp, Eoptype eoptype,
443 GtUword length, bool proteineop)
444 {
445 Editoperation eop,
446 maxlen = proteineop ? (Editoperation) MAXIDENTICALLENGTH_PROTEIN
447 : (Editoperation) MAXIDENTICALLENGTH;
448 Eoptype tmp_eoptype;
449 GtUword i, times_maxlen = 0;
450
451 gt_assert(length > 0);
452
453 switch (eoptype) {
454 case EOP_TYPE_MATCH:
455 /* here we reproduce the artifact resulting from the dummys used in the
456 backtracing procedure to make sure that the parsed array of edit
457 operations is exactly the same as the one we have in memory */
458 if (proteineop && /* this needs only to be checked for protein bp */
459 length > 1 && /* and when the length is larger 1 */
460 gt_array_size(bp)) { /* we have already stored an eop */
461 tmp_eoptype = gt_editoperation_type(*(Editoperation*)
462 gt_array_get_last(bp), proteineop);
463 if (tmp_eoptype == EOP_TYPE_INTRON_WITH_1_BASE_LEFT ||
464 tmp_eoptype == EOP_TYPE_INTRON_WITH_2_BASES_LEFT) {
465 eop = 1;
466 gt_array_add(bp, eop);
467 length--;
468 }
469 }
470
471 /* we store the eop which has not maximal length first to make sure that
472 after reversing the array of editoperations has the same form as the
473 original one */
474 DETERMINE_TIMES_MAXLEN;
475 gt_assert(length > 0);
476 eop = (Editoperation) length;
477 gt_array_add(bp, eop);
478 for (i = 0; i < times_maxlen; i++)
479 gt_array_add(bp, maxlen);
480 break;
481 case EOP_TYPE_INTRON:
482 DETERMINE_TIMES_MAXLEN;
483 eop = DELETIONEOP;
484 eop += length;
485 gt_array_add(bp, eop);
486 eop = DELETIONEOP;
487 eop += maxlen;
488 for (i = 0; i < times_maxlen; i++)
489 gt_array_add(bp, eop);
490 break;
491 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
492 DETERMINE_TIMES_MAXLEN;
493 eop = DELETION_WITH_1_GAP_EOP;
494 eop += length;
495 gt_array_add(bp, eop);
496 eop = DELETION_WITH_1_GAP_EOP;
497 eop += maxlen;
498 for (i = 0; i < times_maxlen; i++)
499 gt_array_add(bp, eop);
500 break;
501 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
502 DETERMINE_TIMES_MAXLEN;
503 eop = DELETION_WITH_2_GAPS_EOP;
504 eop += length;
505 gt_array_add(bp, eop);
506 eop = DELETION_WITH_2_GAPS_EOP;
507 eop += maxlen;
508 for (i = 0; i < times_maxlen; i++)
509 gt_array_add(bp, eop);
510 break;
511 case EOP_TYPE_MISMATCH:
512 eop = MISMATCHEOP;
513 for (i = 0; i < length; i++)
514 gt_array_add(bp, eop);
515 break;
516 case EOP_TYPE_DELETION:
517 eop = DELETIONEOP;
518 for (i = 0; i < length; i++)
519 gt_array_add(bp, eop);
520 break;
521 case EOP_TYPE_INSERTION:
522 eop = INSERTIONEOP;
523 for (i = 0; i < length; i++)
524 gt_array_add(bp, eop);
525 break;
526 case EOP_TYPE_MISMATCH_WITH_1_GAP:
527 eop = MISMATCH_WITH_1_GAP_EOP;
528 for (i = 0; i < length; i++)
529 gt_array_add(bp, eop);
530 break;
531 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
532 eop = MISMATCH_WITH_2_GAPS_EOP;
533 for (i = 0; i < length; i++)
534 gt_array_add(bp, eop);
535 break;
536 case EOP_TYPE_DELETION_WITH_1_GAP:
537 eop = DELETION_WITH_1_GAP_EOP;
538 for (i = 0; i < length; i++)
539 gt_array_add(bp, eop);
540 break;
541 case EOP_TYPE_DELETION_WITH_2_GAPS:
542 eop = DELETION_WITH_2_GAPS_EOP;
543 for (i = 0; i < length; i++)
544 gt_array_add(bp, eop);
545 break;
546 default: gt_assert(0);
547 }
548 }
549
550 void gth_backtrace_path_add_eop(GthBacktracePath *bp, Eoptype eoptype,
551 GtUword length)
552 {
553 gt_assert(bp);
554 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
555 add_eop_type_to_eop_array(bp->editoperations, eoptype, length,
556 bp->alphatype == PROTEIN_ALPHA);
557 }
558
559 void gth_backtrace_path_add_match(GthBacktracePath *bp,
560 bool ensure_single_match)
561 {
562 Editoperation *eopptr, match_eop = 1;
563 GtUword eopid, lenid;
564 gt_assert(bp);
565 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
566 if (!gt_array_size(bp->editoperations) || ensure_single_match)
567 gt_array_add(bp->editoperations, match_eop);
568 else {
569 eopptr = gt_array_get_last(bp->editoperations);
570 eopid = *eopptr & ~bp->max_identical_length;
571 lenid = *eopptr & bp->max_identical_length;
572 if (eopid == 0 && lenid > 0 && lenid < bp->max_identical_length)
573 (*eopptr)++;
574 else
575 gt_array_add(bp->editoperations, match_eop);
576 }
577 }
578
579 void gth_backtrace_path_add_mismatch(GthBacktracePath *bp)
580 {
581 Editoperation mismatch_eop = MISMATCHEOP;
582 gt_assert(bp);
583 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
584 gt_array_add(bp->editoperations, mismatch_eop);
585 }
586
587 void gth_backtrace_path_add_deletion(GthBacktracePath *bp)
588 {
589 Editoperation deletion_eop = DELETIONEOP;
590 gt_assert(bp);
591 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
592 gt_array_add(bp->editoperations, deletion_eop);
593 }
594
595 void gth_backtrace_path_add_insertion(GthBacktracePath *bp)
596 {
597 Editoperation insertion_eop = INSERTIONEOP;
598 gt_assert(bp);
599 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
600 gt_array_add(bp->editoperations, insertion_eop);
601 }
602
603 void gth_backtrace_path_add_intron(GthBacktracePath *bp)
604 {
605 Editoperation *eopptr, intron_eop = DELETIONEOP + 1;
606 GtUword eopid, lenid;
607 gt_assert(bp);
608 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
609 if (!gt_array_size(bp->editoperations))
610 gt_array_add(bp->editoperations, intron_eop);
611 else {
612 eopptr = gt_array_get_last(bp->editoperations);
613 eopid = *eopptr & ~bp->max_identical_length;
614 lenid = *eopptr & bp->max_identical_length;
615 if (eopid == DELETIONEOP && lenid > 0 && lenid < bp->max_identical_length)
616 (*eopptr)++;
617 else
618 gt_array_add(bp->editoperations, intron_eop);
619 }
620 }
621
622 void gth_backtrace_path_add_mismatch_with_1_gap(GthBacktracePath *bp)
623 {
624 Editoperation mismatch_with_1_gap_eop = MISMATCH_WITH_1_GAP_EOP;
625 gt_assert(bp);
626 gt_assert(bp->alphatype == PROTEIN_ALPHA);
627 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
628 gt_array_add(bp->editoperations, mismatch_with_1_gap_eop);
629 }
630
631 void gth_backtrace_path_add_mismatch_with_2_gaps(GthBacktracePath *bp)
632 {
633 Editoperation mismatch_with_2_gaps_eop = MISMATCH_WITH_2_GAPS_EOP;
634 gt_assert(bp);
635 gt_assert(bp->alphatype == PROTEIN_ALPHA);
636 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
637 gt_array_add(bp->editoperations, mismatch_with_2_gaps_eop);
638 }
639
640 void gth_backtrace_path_add_deletion_with_1_gap(GthBacktracePath *bp)
641 {
642 Editoperation deletion_with_1_gap_eop = DELETION_WITH_1_GAP_EOP;
643 gt_assert(bp);
644 gt_assert(bp->alphatype == PROTEIN_ALPHA);
645 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
646 gt_array_add(bp->editoperations, deletion_with_1_gap_eop);
647 }
648
649 void gth_backtrace_path_add_deletion_with_2_gaps(GthBacktracePath *bp)
650 {
651 Editoperation deletion_with_2_gaps_eop = DELETION_WITH_2_GAPS_EOP;
652 gt_assert(bp);
653 gt_assert(bp->alphatype == PROTEIN_ALPHA);
654 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
655 gt_array_add(bp->editoperations, deletion_with_2_gaps_eop);
656 }
657
658 void gth_backtrace_path_add_intron_with_1_base_left(GthBacktracePath *bp)
659 {
660 Editoperation *eopptr,
661 intron_with_1_base_left_eop = DELETION_WITH_1_GAP_EOP + 1;
662 GtUword eopid, lenid;
663 gt_assert(bp);
664 gt_assert(bp->alphatype == PROTEIN_ALPHA);
665 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
666 if (!gt_array_size(bp->editoperations))
667 gt_array_add(bp->editoperations, intron_with_1_base_left_eop);
668 else {
669 eopptr = gt_array_get_last(bp->editoperations);
670 eopid = *eopptr & ~bp->max_identical_length;
671 lenid = *eopptr & bp->max_identical_length;
672 if (eopid == DELETION_WITH_1_GAP_EOP && lenid > 0 &&
673 lenid < bp->max_identical_length) {
674 (*eopptr)++;
675 }
676 else
677 gt_array_add(bp->editoperations, intron_with_1_base_left_eop);
678 }
679 }
680
681 void gth_backtrace_path_add_intron_with_2_bases_left(GthBacktracePath *bp)
682 {
683 Editoperation *eopptr,
684 intron_with_2_bases_left_eop = DELETION_WITH_2_GAPS_EOP + 1;
685 GtUword eopid, lenid;
686 gt_assert(bp);
687 gt_assert(bp->alphatype == PROTEIN_ALPHA);
688 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
689 if (!gt_array_size(bp->editoperations))
690 gt_array_add(bp->editoperations, intron_with_2_bases_left_eop);
691 else {
692 eopptr = gt_array_get_last(bp->editoperations);
693 eopid = *eopptr & ~bp->max_identical_length;
694 lenid = *eopptr & bp->max_identical_length;
695 if (eopid == DELETION_WITH_2_GAPS_EOP && lenid > 0 &&
696 lenid < bp->max_identical_length) {
697 (*eopptr)++;
698 }
699 else
700 gt_array_add(bp->editoperations, intron_with_2_bases_left_eop);
701 }
702 }
703
704 void gth_backtrace_path_add_dummy(GthBacktracePath *bp)
705 {
706 Editoperation dummy_eop = DUMMY_EOP;
707 gt_assert(bp);
708 gt_assert(bp->alphatype == PROTEIN_ALPHA);
709 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
710 gt_assert(bp->dummy_index == GT_UNDEF_UWORD);
711 gt_array_add(bp->editoperations, dummy_eop);
712 bp->dummy_index = gt_array_size(bp->editoperations) - 1;
713 }
714
715 void gth_backtrace_path_set_dummy(GthBacktracePath *bp, bool match)
716 {
717 Editoperation *eopptr;
718 gt_assert(bp);
719 gt_assert(bp->alphatype == PROTEIN_ALPHA);
720 gt_assert(bp->max_identical_length == MAXIDENTICALLENGTH_PROTEIN);
721 gt_assert(bp->dummy_index != GT_UNDEF_UWORD);
722 eopptr = gt_array_get(bp->editoperations, bp->dummy_index);
723 if (match)
724 *eopptr = 1; /* match */
725 else
726 *eopptr = MISMATCHEOP;
727 bp->dummy_index = GT_UNDEF_UWORD; /* reset dummy */
728 }
729
730 bool gth_backtrace_path_contain_dummy(const GthBacktracePath *bp)
731 {
732 gt_assert(bp);
733 if (bp->dummy_index == GT_UNDEF_UWORD)
734 return false;
735 return true;
736 }
737
738 bool gth_backtrace_path_last_is_intron(const GthBacktracePath *bp)
739 {
740 Eoptype eoptype;
741
742 gt_assert(bp);
743
744 /* check if a dummy has just been inserted */
745 if (bp->dummy_index != GT_UNDEF_UWORD &&
746 gt_array_size(bp->editoperations) - 1 == bp->dummy_index) {
747 return false;
748 }
749
750 eoptype = gt_editoperation_type(*(Editoperation*)
751 gt_array_get_last(bp->editoperations),
752 bp->alphatype == PROTEIN_ALPHA);
753 if (eoptype == EOP_TYPE_INTRON ||
754 eoptype == EOP_TYPE_INTRON_WITH_1_BASE_LEFT ||
755 eoptype == EOP_TYPE_INTRON_WITH_2_BASES_LEFT) {
756 return true;
757 }
758 return false;
759
760 }
761
762 void gth_backtrace_path_reverse(GthBacktracePath *bp)
763 {
764 Editoperation *front, *back, tmp;
765 GtUword i = 0;
766 gt_assert(bp);
767 for (front = gt_array_get_space(bp->editoperations),
768 back = (Editoperation*) gt_array_get_space(bp->editoperations) +
769 gt_array_size(bp->editoperations) - 1;
770 front < back; front++, back--, i++) {
771 tmp = *front;
772 *front = *back;
773 *back = tmp;
774 }
775 }
776
777 static void ensure_eop_of_len_1_before_introns(GtArray *editoperations)
778 {
779 Editoperation eop, *eopptr;
780 Eoptype eoptype;
781 GtUword eoplength;
782 GtArray *backup;
783 bool processing_necessary = false,
784 split_match = false;
785
786 /* check if processing is necessary
787 the check is rather simple, it might be possible that
788 ``processing_necessary'' is set to ``true'' whereas in fact no processing
789 is necessary */
790 for (eopptr = gt_array_get_space(editoperations);
791 eopptr < (Editoperation*) gt_array_get_space(editoperations) +
792 gt_array_size(editoperations) - 1;
793 eopptr++) {
794 if ((eoptype = gt_editoperation_type(*eopptr, true)) ==
795 EOP_TYPE_INTRON_WITH_1_BASE_LEFT ||
796 eoptype == EOP_TYPE_INTRON_WITH_2_BASES_LEFT) {
797 processing_necessary = true;
798 break;
799 }
800 }
801
802 if (processing_necessary) {
803 /* init backup for the editoperations */
804 backup = gt_array_new(sizeof (Editoperation));
805
806 /* fill backup */
807 gt_array_add_array(backup, editoperations);
808
809 /* reset the original edit operations */
810 gt_array_set_size(editoperations, 0);
811
812 /* process the backup and fill the original editoperations */
813 for (eopptr = gt_array_get_space(backup);
814 eopptr < (Editoperation*)
815 gt_array_get_space(backup) + gt_array_size(backup);
816 eopptr++) {
817
818 if ((eoptype = gt_editoperation_length(*eopptr, true)) ==
819 EOP_TYPE_INTRON_WITH_1_BASE_LEFT ||
820 eoptype == EOP_TYPE_INTRON_WITH_2_BASES_LEFT) {
821 split_match = true;
822 }
823 else if (split_match) {
824 if (eoptype == EOP_TYPE_MATCH) {
825 split_match = false;
826 if ((eoplength = gt_editoperation_length(*eopptr, true)) > 1) {
827 eop = 1;
828 gt_array_add(editoperations, eop);
829 eop = eoplength - 1;
830 gt_array_add(editoperations, eop);
831 continue;
832 }
833 }
834 else if (eoptype == EOP_TYPE_MISMATCH ||
835 eoptype == EOP_TYPE_MISMATCH_WITH_1_GAP) {
836 split_match = false;
837 }
838 }
839 gt_array_add(editoperations, *eopptr);
840 }
841
842 /* free backup */
843 gt_array_delete(backup);
844 }
845 }
846
847 void gth_backtrace_path_ensure_length_1_before_introns(GthBacktracePath *bp)
848 {
849 if (bp->alphatype == PROTEIN_ALPHA)
850 ensure_eop_of_len_1_before_introns(bp->editoperations);
851 }
852
853 size_t gth_backtrace_path_sizeof (const GthBacktracePath *bp)
854 {
855 gt_assert(bp);
856 /* XXX -> array_sizeof () */
857 return gt_array_size(bp->editoperations) * sizeof (Editoperation) +
858 sizeof (GthBacktracePath);
859 }
860
861 void gth_backtrace_path_show(const GthBacktracePath *bp, bool xmlout,
862 unsigned int indentlevel, GtFile *outfp)
863 {
864 gt_assert(bp);
865 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
866 gt_editoperation_show(gth_backtrace_path_get(bp),
867 gth_backtrace_path_length(bp),
868 bp->alphatype == PROTEIN_ALPHA, xmlout, indentlevel,
869 outfp);
870 }
871
872 void gth_backtrace_path_show_complete(const GthBacktracePath *bp, bool xmlout,
873 unsigned int indentlevel,
874 GtFile *outfp)
875 {
876 gt_assert(bp);
877 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
878 gt_editoperation_show(gt_array_get_space(bp->editoperations),
879 gt_array_size(bp->editoperations),
880 bp->alphatype == PROTEIN_ALPHA, xmlout, indentlevel,
881 outfp);
882 }
883
884 void gth_backtrace_path_cutoff_start(GthBacktracePath *bp)
885 {
886 gt_assert(bp);
887 gt_assert(bp->gen_dp_start != GT_UNDEF_UWORD);
888 gt_assert(bp->gen_dp_length != GT_UNDEF_UWORD);
889 gt_assert(bp->ref_dp_start != GT_UNDEF_UWORD);
890 gt_assert(bp->ref_dp_length != GT_UNDEF_UWORD);
891 if (bp->cutoffs.start.genomiccutoff) {
892 bp->gen_dp_start += bp->cutoffs.start.genomiccutoff;
893 gt_assert(bp->gen_dp_length >= bp->cutoffs.start.genomiccutoff);
894 bp->gen_dp_length -= bp->cutoffs.start.genomiccutoff;
895 bp->cutoffs.start.genomiccutoff = 0;
896 }
897 if (bp->cutoffs.start.referencecutoff) {
898 bp->ref_dp_start += bp->cutoffs.start.referencecutoff;
899 gt_assert(bp->ref_dp_length >= bp->cutoffs.start.referencecutoff);
900 bp->ref_dp_length -= bp->cutoffs.start.referencecutoff;
901 bp->cutoffs.start.referencecutoff = 0;
902 }
903 if (bp->cutoffs.start.eopcutoff) {
904 gt_array_set_size(bp->editoperations,
905 gt_array_size(bp->editoperations) -
906 bp->cutoffs.start.eopcutoff);
907 bp->cutoffs.start.eopcutoff = 0;
908 }
909 }
910
911 void gth_backtrace_path_cutoff_end(GthBacktracePath *bp)
912 {
913 gt_assert(bp);
914 gt_assert(bp->gen_dp_length != GT_UNDEF_UWORD);
915 gt_assert(bp->ref_dp_length != GT_UNDEF_UWORD);
916 if (bp->cutoffs.end.genomiccutoff) {
917 gt_assert(bp->gen_dp_length >= bp->cutoffs.end.genomiccutoff);
918 bp->gen_dp_length -= bp->cutoffs.end.genomiccutoff;
919 bp->cutoffs.end.genomiccutoff = 0;
920 }
921 if (bp->cutoffs.end.referencecutoff) {
922 gt_assert(bp->ref_dp_length >= bp->cutoffs.end.referencecutoff);
923 bp->ref_dp_length -= bp->cutoffs.end.referencecutoff;
924 bp->cutoffs.end.referencecutoff = 0;
925 }
926 if (bp->cutoffs.end.eopcutoff) {
927 gt_array_rem_span(bp->editoperations, 0, bp->cutoffs.end.eopcutoff - 1);
928 bp->cutoffs.end.eopcutoff = 0;
929 }
930 }
931
932 #ifndef NDEBUG
933 static bool backtrace_path_start_cutoffs_are_set(const GthBacktracePath *bp)
934 {
935 gt_assert(bp);
936 if (bp->cutoffs.start.genomiccutoff ||
937 bp->cutoffs.start.referencecutoff ||
938 bp->cutoffs.start.eopcutoff) {
939 return true;
940 }
941 return false;
942 }
943
944 static bool backtrace_path_end_cutoffs_are_set(const GthBacktracePath *bp)
945 {
946 gt_assert(bp);
947 if (bp->cutoffs.end.genomiccutoff ||
948 bp->cutoffs.end.referencecutoff ||
949 bp->cutoffs.end.eopcutoff) {
950 return true;
951 }
952 return false;
953 }
954
955 static bool backtrace_path_cutoffs_are_set(const GthBacktracePath *bp)
956 {
957 gt_assert(bp);
958 if (backtrace_path_start_cutoffs_are_set(bp) ||
959 backtrace_path_end_cutoffs_are_set(bp)) {
960 return true;
961 }
962 return false;
963 }
964 #endif
965
966 void gth_backtrace_path_cutoff_walked_path(GthBacktracePath *bp,
967 const GthPathWalker *pw,
968 bool showeops, GtFile *outfp)
969 {
970 unsigned int length;
971 gt_assert(bp && pw);
972 if (gth_path_walker_is_forward(pw)) {
973 gt_assert(!backtrace_path_start_cutoffs_are_set(bp));
974 if (showeops) {
975 gt_file_xprintf(outfp, "%s(): show path walker\n", __func__);
976 gth_path_walker_show(pw, outfp);
977 gt_file_xprintf(outfp, "%s(): show backtrace path (before eop "
978 "removal)\n", __func__);
979 gth_backtrace_path_show(bp, false, 0, outfp);
980 }
981 /* remove complete eops */
982 gt_array_set_size(bp->editoperations,
983 gt_array_size(bp->editoperations) -
984 gth_path_walker_actual_eops(pw));
985 if (showeops) {
986 gt_file_xprintf(outfp, "%s(): show backtrace path (after eop "
987 "removal)\n", __func__);
988 gth_backtrace_path_show(bp, false, 0, outfp);
989 }
990 /* remove part of last eop */
991 if (gth_path_walker_steps_in_current_eop(pw)) {
992 length = gt_editoperation_length(*(Editoperation*)
993 gt_array_get_last(bp->editoperations),
994 bp->alphatype == PROTEIN_ALPHA);
995 gt_assert(length > gth_path_walker_steps_in_current_eop(pw));
996 gt_editoperation_set_length(gt_array_get_last(bp->editoperations),
997 length-gth_path_walker_steps_in_current_eop(pw),
998 bp->alphatype == PROTEIN_ALPHA);
999 }
1000 /* adjusting genomic and reference DP ranges */
1001 bp->gen_dp_start += gth_path_walker_gen_distance(pw);
1002 bp->gen_dp_length -= gth_path_walker_gen_distance(pw);
1003 bp->ref_dp_start += gth_path_walker_ref_distance(pw);
1004 bp->ref_dp_length -= gth_path_walker_ref_distance(pw);
1005 }
1006 else {
1007 gt_assert(0); /* XXX: implement reverse case */
1008 gt_assert(!backtrace_path_end_cutoffs_are_set(bp));
1009 }
1010 }
1011
1012 /* XXX: remove */
1013 #if 0
1014 static void cutoff_end_refseq(GthBacktracePath *bp, GtUword reflength)
1015 {
1016
1017 GtUword eoplength, i = 0;
1018 bool breakloop = false;
1019 Editoperation *eop;
1020 Eoptype eoptype;
1021 gt_assert(bp && reflength);
1022 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
1023
1024 for (;;) {
1025 eop = (Editoperation*) gt_array_get(bp->editoperations, i);
1026 eoptype = gt_editoperation_type(*eop, bp->alphatype == PROTEIN_ALPHA);
1027 eoplength = gt_editoperation_length(*eop, bp->alphatype == PROTEIN_ALPHA);
1028 i++;
1029
1030 switch (eoptype) {
1031 case EOP_TYPE_DELETION:
1032 case EOP_TYPE_DELETION_WITH_1_GAP:
1033 case EOP_TYPE_DELETION_WITH_2_GAPS:
1034 case EOP_TYPE_INTRON:
1035 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
1036 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
1037 /* nothing to do */
1038 break;
1039 case EOP_TYPE_INSERTION:
1040 case EOP_TYPE_MISMATCH:
1041 case EOP_TYPE_MISMATCH_WITH_1_GAP:
1042 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
1043 case EOP_TYPE_MATCH:
1044 if (eoplength >= reflength) {
1045 breakloop = true;
1046 if (eoplength > reflength) {
1047 gt_assert(eoplength > 2);
1048 *eop &= ~bp->max_identical_length;
1049 *eop |= eoplength - 1;
1050 i--;
1051 }
1052 }
1053 break;
1054 default: gt_assert(0);
1055 }
1056 if (breakloop)
1057 break;
1058 reflength -= eoplength;
1059 }
1060
1061 if (i)
1062 gt_array_rem_span(bp->editoperations, 0, i-1);
1063 }
1064 #endif
1065
1066 void gth_backtrace_path_prepend(GthBacktracePath *out_bp,
1067 const GthBacktracePath *in_bp)
1068 {
1069 gt_assert(out_bp && in_bp);
1070 gt_assert(!backtrace_path_start_cutoffs_are_set(out_bp));
1071 gt_assert(!backtrace_path_cutoffs_are_set(in_bp));
1072 gt_assert(in_bp->gen_dp_start + in_bp->gen_dp_length == out_bp->gen_dp_start);
1073 gt_assert(in_bp->ref_dp_start + in_bp->ref_dp_length == out_bp->ref_dp_start);
1074 out_bp->gen_dp_start = in_bp->gen_dp_start;
1075 out_bp->gen_dp_length += in_bp->gen_dp_length;
1076 out_bp->ref_dp_start = in_bp->ref_dp_start;
1077 out_bp->ref_dp_length += in_bp->ref_dp_length;
1078 gt_array_add_array(out_bp->editoperations, in_bp->editoperations);
1079 }
1080
1081 void gth_backtrace_path_append(GthBacktracePath *out_bp,
1082 const GthBacktracePath *in_bp)
1083 {
1084 gt_assert(out_bp && in_bp);
1085 gt_assert(!backtrace_path_end_cutoffs_are_set(out_bp));
1086 gt_assert(!backtrace_path_cutoffs_are_set(in_bp));
1087 gt_assert(out_bp->gen_dp_start+out_bp->gen_dp_length == in_bp->gen_dp_start);
1088 gt_assert(out_bp->ref_dp_start+out_bp->ref_dp_length == in_bp->ref_dp_start);
1089 out_bp->gen_dp_length += in_bp->gen_dp_length;
1090 out_bp->ref_dp_length += in_bp->ref_dp_length;
1091 gt_array_prepend_array(out_bp->editoperations, in_bp->editoperations);
1092 }
1093
1094 bool gth_backtrace_path_is_valid(const GthBacktracePath *bp)
1095 {
1096 bool is_valid;
1097 gt_assert(bp);
1098 gt_assert(bp->alphatype == DNA_ALPHA || bp->alphatype == PROTEIN_ALPHA);
1099 gt_assert(bp->ref_dp_length != GT_UNDEF_UWORD);
1100 is_valid =
1101 gt_eops_equal_referencelength((Editoperation*)
1102 gt_array_get_space(bp->editoperations)
1103 + bp->cutoffs.end.eopcutoff,
1104 gt_safe_cast2long(gt_array_size(bp
1105 ->editoperations))
1106 - bp->cutoffs.start.eopcutoff
1107 - bp->cutoffs.end.eopcutoff,
1108 gt_safe_cast2long(bp->ref_dp_length)
1109 - bp->cutoffs.start.referencecutoff
1110 - bp->cutoffs.end.referencecutoff,
1111 bp->alphatype == PROTEIN_ALPHA);
1112 return is_valid;
1113 }
1114
1115 void gth_backtrace_path_reset(GthBacktracePath *bp)
1116 {
1117 gt_assert(bp);
1118 gt_array_set_size(bp->editoperations, 0);
1119 bp->alphatype = UNDEF_ALPHA;
1120 bp->dummy_index = GT_UNDEF_UWORD;
1121 }
1122
1123 void gth_backtrace_path_delete(GthBacktracePath *bp)
1124 {
1125 if (!bp) return;
1126 gt_array_delete(bp->editoperations);
1127 gt_free(bp);
1128 }
1129
1130 Editoperation* gth_backtrace_path_get(const GthBacktracePath *bp)
1131 {
1132 gt_assert(bp);
1133 return (Editoperation*) gt_array_get_space(bp->editoperations)
1134 + bp->cutoffs.end.eopcutoff;
1135 }
1136
1137 GtUword gth_backtrace_path_length(const GthBacktracePath *bp)
1138 {
1139 GtUword num_of_eops;
1140 gt_assert(bp);
1141 num_of_eops = gt_array_size(bp->editoperations);
1142 if (bp->cutoffs.start.eopcutoff + bp->cutoffs.end.eopcutoff >= num_of_eops)
1143 return 0; /* prevent overflow */
1144 return num_of_eops - bp->cutoffs.start.eopcutoff - bp->cutoffs.end.eopcutoff;
1145 }
+0
-154
src/gth/backtrace_path.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef BACKTRACE_PATH_H
18 #define BACKTRACE_PATH_H
19
20 #include "core/file.h"
21 #include "gth/cutoffmode.h"
22 #include "gth/gthalignment.h"
23 #include "gth/gthalphatype.h"
24 #include "gth/stat.h"
25
26 typedef struct GthBacktracePath GthBacktracePath;
27
28 #include "gth/path_walker.h"
29
30 typedef struct {
31 GtUword genomiccutoff, /* the number of bp, which will be cut
32 off when showing the alignment */
33 referencecutoff, /* the number of reference bp, which will be
34 cut off when showing the alignment */
35 eopcutoff; /* the number of Editoperations which will be
36 cut off when showing the alignment;
37 this ususally differs from <enomiccutoff>
38 and <eferencecutoff> because whole introns
39 are encoded as one multi edit operation */
40 } Cutoffs;
41
42 GthBacktracePath* gth_backtrace_path_new(GtUword gen_dp_start,
43 GtUword gen_dp_length,
44 GtUword ref_dp_start,
45 GtUword ref_dp_length);
46 GtUword gth_backtrace_path_gen_dp_start(const GthBacktracePath*);
47 void gth_backtrace_path_set_gen_dp_start(GthBacktracePath*,
48 GtUword);
49 GtUword gth_backtrace_path_gen_dp_length(const GthBacktracePath*);
50 void gth_backtrace_path_set_gen_dp_length(GthBacktracePath*,
51 GtUword);
52 GtUword gth_backtrace_path_ref_dp_length(const GthBacktracePath*);
53 void gth_backtrace_path_set_ref_dp_length(GthBacktracePath*,
54 GtUword);
55 GtUword gth_backtrace_path_indelcount(const GthBacktracePath*);
56 GtUword gth_backtrace_path_genomiccutoff_start(const GthBacktracePath*);
57 GtUword gth_backtrace_path_referencecutoff_start(const
58 GthBacktracePath*);
59 GtUword gth_backtrace_path_eopcutoff_start(const GthBacktracePath*);
60 GtUword gth_backtrace_path_genomiccutoff_end(const GthBacktracePath*);
61 GtUword gth_backtrace_path_referencecutoff_end(const GthBacktracePath*);
62 GtUword gth_backtrace_path_eopcutoff_end(const GthBacktracePath*);
63 void gth_backtrace_path_set_cutoffs_start(GthBacktracePath*,
64 Cutoffs*);
65 void gth_backtrace_path_set_cutoffs_end(GthBacktracePath*,
66 Cutoffs*);
67 GthAlphatype gth_backtrace_path_alphatype(const GthBacktracePath*);
68 void gth_backtrace_path_set_alphatype(GthBacktracePath*,
69 GthAlphatype);
70 void gth_backtrace_path_determine_cutoffs(GthBacktracePath*,
71 GthCutoffmode
72 leadcutoffsmode,
73 GthCutoffmode
74 termcutoffsmode,
75 GtUword
76 cutoffsminexonlen);
77 void gth_backtrace_path_remove_zero_base_exons(GthBacktracePath*,
78 GthStat*);
79 bool gth_backtrace_path_contains_no_zero_base_exons(const
80 GthBacktracePath*);
81
82 /* add <length> times edit operations of type <eoptype> */
83 void gth_backtrace_path_add_eop(GthBacktracePath*, Eoptype eoptype,
84 GtUword length);
85
86 /* add the corresponding edit operation */
87 void gth_backtrace_path_add_match(GthBacktracePath*,
88 bool ensure_single_match);
89 void gth_backtrace_path_add_mismatch(GthBacktracePath*);
90 void gth_backtrace_path_add_deletion(GthBacktracePath*);
91 void gth_backtrace_path_add_insertion(GthBacktracePath*);
92 void gth_backtrace_path_add_intron(GthBacktracePath*);
93
94 /* add the corresponding edit operation (only for protein eops!) */
95 void gth_backtrace_path_add_mismatch_with_1_gap(GthBacktracePath*);
96 void gth_backtrace_path_add_mismatch_with_2_gaps(GthBacktracePath*);
97 void gth_backtrace_path_add_deletion_with_1_gap(GthBacktracePath*);
98 void gth_backtrace_path_add_deletion_with_2_gaps(GthBacktracePath*);
99 void gth_backtrace_path_add_intron_with_1_base_left(
100 GthBacktracePath*);
101 void gth_backtrace_path_add_intron_with_2_bases_left(
102 GthBacktracePath*);
103 /* adds a dummy which represents a match or a mismatch */
104 void gth_backtrace_path_add_dummy(GthBacktracePath*);
105 /* sets the dummy to a match, if <match> is true; to a mismatch otherwise */
106 void gth_backtrace_path_set_dummy(GthBacktracePath*, bool match);
107 bool gth_backtrace_path_contain_dummy(const GthBacktracePath*);
108
109 bool gth_backtrace_path_last_is_intron(const GthBacktracePath*);
110
111 /* Reverses the edit operations. Necessary, if the editoperations have been
112 added in forward direction (reverse direction is the common case) */
113 void gth_backtrace_path_reverse(GthBacktracePath*);
114
115 /* The following function ensures that the editoperations before introns
116 which are not in phase has the maximum length 1.
117 Note that the edit operations have to be reversed already, so the
118 editoperations checked are actually _after_ the introns not in phase.
119 This function makes only sense for protein edit operations, but can be called
120 for dna edit operations without any harm */
121 void gth_backtrace_path_ensure_length_1_before_introns(
122 GthBacktracePath*);
123
124 size_t gth_backtrace_path_sizeof (const GthBacktracePath*);
125 void gth_backtrace_path_show(const GthBacktracePath*, bool xmlout,
126 unsigned int indentlevel, GtFile*);
127 void gth_backtrace_path_show_complete(const GthBacktracePath*,
128 bool xmlout,
129 unsigned int indentlevel,
130 GtFile*);
131 void gth_backtrace_path_cutoff_start(GthBacktracePath*);
132 void gth_backtrace_path_cutoff_end(GthBacktracePath*);
133 void gth_backtrace_path_cutoff_walked_path(GthBacktracePath*,
134 const GthPathWalker*,
135 bool showeops,
136 GtFile*);
137 void gth_backtrace_path_prepend(GthBacktracePath*,
138 const GthBacktracePath*);
139 void gth_backtrace_path_append(GthBacktracePath*,
140 const GthBacktracePath*);
141 bool gth_backtrace_path_is_valid(const GthBacktracePath*);
142 void gth_backtrace_path_reset(GthBacktracePath*);
143 void gth_backtrace_path_delete(GthBacktracePath*);
144
145 /* XXX: the following functions interface with legacy code, they should be
146 removed */
147
148 /* return the underlying edit operations (without cutoffs) */
149 Editoperation* gth_backtrace_path_get(const GthBacktracePath*);
150 /* return the number of underlying edit operations (without cutoffs) */
151 GtUword gth_backtrace_path_length(const GthBacktracePath*);
152
153 #endif
+0
-30
src/gth/bssm_helper.c less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/alphabet.h"
17 #include "core/grep_api.h"
18 #include "gth/bssm_helper.h"
19
20 bool gth_seq_contains_wildcard(GtStr *seq)
21 {
22 bool match;
23 #ifndef NDEBUG
24 int had_err =
25 #endif
26 gt_grep(&match, "[^"GT_DNABASES"]", gt_str_get(seq), NULL);
27 gt_assert(!had_err);
28 return match;
29 }
+0
-22
src/gth/bssm_helper.h less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef BSSM_HELPER_H
17 #define BSSM_HELPER_H
18
19 bool gth_seq_contains_wildcard(GtStr *seq);
20
21 #endif
+0
-963
src/gth/bssm_param.c less more
0 /*
1 Copyright (c) 2003-2013 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2005 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #include "lauxlib.h"
19 #include "core/bioseq.h"
20 #include "core/compat.h"
21 #include "core/fa.h"
22 #include "core/fileutils_api.h"
23 #include "core/ma_api.h"
24 #include "core/xansi_api.h"
25 #include "gth/bssm_param_hard_coded.h"
26 #include "gth/bssm_param.h"
27 #include "gth/gthoutput.h"
28 #include "gth/gthprobdef.h"
29 #include "gth/gthspeciestab.h"
30 #include "gth/showbool.h"
31
32 /*
33 This is a collection of functions associated with
34 manipulating bssm_param objects for training purposes.
35
36 Input data files are--strictly!--named as follows, using
37 an obvious schema:
38 F0_don F1_don F2_don Fi_don T0_don T1_don T2_don
39 F0_acc F1_acc F2_acc Fi_acc T0_acc T1_acc T2_acc
40 Phase is denoted as follows:
41 1 -> C O D |
42 2 -> C | O D
43 0 -> C O | D
44 */
45
46 #define PSEUDOPROB 0.05
47 #define NULLPROB 0.0
48 #define INITVAL_INT 0
49 #define MYVERSION 2 /* Version of BSSM param. Check with
50 BSSMPARAMVERSION in bssm_param.h */
51
52 #define NUMOFFILES (sizeof (filenames)/sizeof (filenames[0]))
53
54 #define BSSMENVNAME "BSSMDIR"
55
56 #define BSSM_PRECISION 8
57
58 static char *filenames[] =
59 {
60 "T1",
61 "T2",
62 "T0",
63 "F1",
64 "F2",
65 "F0",
66 "Fi"
67 };
68
69 static void write_model(GtStr *str, const char *model_cstr,
70 const GthBSSMModel *model)
71 {
72 GtUword i, j, k, l;
73 gt_assert(str && model_cstr && model);
74 gt_assert(model->hypothesis_num == 2 || model->hypothesis_num == 7);
75 gt_str_append_cstr(str, " ");
76 gt_str_append_cstr(str, model_cstr);
77 gt_str_append_cstr(str, " = {\n");
78 gt_str_append_cstr(str, " hypothesis_num = ");
79 gt_str_append_uword(str, model->hypothesis_num);
80 gt_str_append_cstr(str, ",\n");
81 gt_str_append_cstr(str, " window_size_left = ");
82 gt_str_append_uword(str, model->window_size_left);
83 gt_str_append_cstr(str, ",\n");
84 gt_str_append_cstr(str, " window_size_right = ");
85 gt_str_append_uword(str, model->window_size_right);
86 gt_str_append_cstr(str, ",\n");
87 for (i = 0; i < model->hypothesis_num; i++) {
88 gt_str_append_cstr(str, " {\n");
89 for (j = 0; j < WINSIZE + 2; j++) {
90 gt_str_append_cstr(str, " {\n");
91 for (k = 0; k < 4; k++) {
92 gt_str_append_cstr(str, " { ");
93 for (l = 0; l < 4; l++) {
94 if (l)
95 gt_str_append_cstr(str, ", ");
96 if (model->hypothesis_num == 2) {
97 gt_str_append_double(str, model->hypotables.hypo2table[i][j][k][l],
98 BSSM_PRECISION);
99 }
100 else {
101 gt_str_append_double(str, model->hypotables.hypo7table[i][j][k][l],
102 BSSM_PRECISION);
103 }
104 }
105 gt_str_append_cstr(str, " },\n");
106 }
107 gt_str_append_cstr(str, " },\n");
108 }
109 gt_str_append_cstr(str, " },\n");
110 }
111 gt_str_append_cstr(str, " }");
112 }
113
114 static void bssm_param_plain_write(const GthBSSMParam *bssm_param, FILE *outfp)
115 {
116 GtStr *str;
117 gt_assert(bssm_param && outfp);
118 str = gt_str_new();
119 gt_str_append_cstr(str, "BSSM = {\n");
120 if (bssm_param->gt_donor_model_set) {
121 write_model(str, "gt_donor_model", &bssm_param->gt_donor_model);
122 gt_str_append_cstr(str, ",\n");
123 }
124 if (bssm_param->gc_donor_model_set) {
125 write_model(str, "gc_donor_model", &bssm_param->gc_donor_model);
126 gt_str_append_cstr(str, ",\n");
127 }
128 if (bssm_param->ag_acceptor_model_set) {
129 write_model(str, "ag_acceptor_model", &bssm_param->ag_acceptor_model);
130 gt_str_append_char(str, '\n');
131 }
132 gt_str_append_cstr(str, "}\n");
133 gt_xfwrite(gt_str_get(str), sizeof (char), gt_str_length(str), outfp);
134 gt_str_delete(str);
135 }
136
137 static int read_bssm_model(GthBSSMModel *bssm_model, lua_State *L, GtError *err)
138 {
139 #ifndef NDEBUG
140 int stack_size;
141 #endif
142 GtUword i, j, k, l;
143 int had_err = 0;
144 gt_error_check(err);
145 gt_assert(bssm_model && L);
146 #ifndef NDEBUG
147 stack_size = lua_gettop(L);
148 #endif
149 /* read hypothesis number */
150 lua_pushliteral(L, "hypothesis_num");
151 lua_gettable(L, -2);
152 if (!lua_isnumber(L, -1)) {
153 gt_error_set(err, "'hypothesis_num' could not be found in BSSM file or is "
154 "not a number");
155 had_err = -1;
156 lua_pop(L, 1);
157 }
158 if (!had_err) {
159 bssm_model->hypothesis_num = lua_tonumber(L, -1);
160 lua_pop(L, 1);
161 if (!(bssm_model->hypothesis_num == 2 || bssm_model->hypothesis_num == 7)) {
162 gt_error_set(err, "'hypothesis_num' in BSSM file must be either 2 or 7");
163 had_err = -1;
164 }
165 }
166 /* read window size left */
167 if (!had_err) {
168 lua_pushliteral(L, "window_size_left");
169 lua_gettable(L, -2);
170 if (!lua_isnumber(L, -1)) {
171 gt_error_set(err, "'window_size_left' could not be found in BSSM file or "
172 "is not a number");
173 had_err = -1;
174 lua_pop(L, 1);
175 }
176 if (!had_err) {
177 bssm_model->window_size_left = lua_tonumber(L, -1);
178 lua_pop(L, 1);
179 }
180 }
181 /* read window size right */
182 if (!had_err) {
183 lua_pushliteral(L, "window_size_right");
184 lua_gettable(L, -2);
185 if (!lua_isnumber(L, -1)) {
186 gt_error_set(err, "'window_size_right' could not be found in BSSM file "
187 "or is not a number");
188 had_err = -1;
189 lua_pop(L, 1);
190 }
191 if (!had_err) {
192 bssm_model->window_size_right = lua_tonumber(L, -1);
193 lua_pop(L, 1);
194 }
195 }
196 /* read hypothesis table */
197 for (i = 0; !had_err && i < bssm_model->hypothesis_num; i++) {
198 lua_pushnumber(L, i+1);
199 lua_gettable(L, -2);
200 if (!lua_istable(L, -1)) {
201 gt_error_set(err, "incomplete BSSM");
202 had_err = -1;
203 }
204 for (j = 0; !had_err && j < WINSIZE + 2; j++) {
205 lua_pushnumber(L, j+1);
206 lua_gettable(L, -2);
207 if (!lua_istable(L, -1)) {
208 gt_error_set(err, "incomplete BSSM");
209 had_err = -1;
210 }
211 for (k = 0; !had_err && k < 4; k++) {
212 lua_pushnumber(L, k+1);
213 lua_gettable(L, -2);
214 if (!lua_istable(L, -1)) {
215 gt_error_set(err, "incomplete BSSM");
216 had_err = -1;
217 }
218 for (l = 0; !had_err && l < 4; l++) {
219 lua_pushnumber(L, l+1);
220 lua_gettable(L, -2);
221 if (!lua_isnumber(L, -1)) {
222 gt_error_set(err, "incomplete BSSM");
223 had_err = -1;
224 }
225 else if (bssm_model->hypothesis_num == 2)
226 bssm_model->hypotables.hypo2table[i][j][k][l] = lua_tonumber(L, -1);
227 else
228 bssm_model->hypotables.hypo7table[i][j][k][l] = lua_tonumber(L, -1);
229 lua_pop(L, 1);
230 }
231 lua_pop(L, 1);
232 }
233 lua_pop(L, 1);
234 }
235 lua_pop(L, 1);
236 }
237 gt_assert(lua_gettop(L) == stack_size);
238 return had_err;
239 }
240
241 static int fill_bssm_param(GthBSSMParam *bssm_param, lua_State *L, GtError *err)
242 {
243 #ifndef NDEBUG
244 int stack_size;
245 #endif
246 bool model_read = false;
247 int had_err = 0;
248 gt_error_check(err);
249 gt_assert(bssm_param && L);
250 #ifndef NDEBUG
251 stack_size = lua_gettop(L);
252 #endif
253 lua_getglobal(L, "BSSM");
254 gt_assert(lua_istable(L, -1));
255 bssm_param->version_num = BSSMPARAMVERSION;
256 /* try to read gt donor model */
257 lua_pushliteral(L, "gt_donor_model");
258 lua_gettable(L, -2);
259 if (lua_istable(L, -1)) {
260 had_err = read_bssm_model(&bssm_param->gt_donor_model, L, err);
261 if (!had_err) {
262 bssm_param->gt_donor_model_set = true;
263 model_read = true;
264 }
265 }
266 lua_pop(L, 1);
267 /* try to read gc donor model */
268 if (!had_err) {
269 lua_pushliteral(L, "gc_donor_model");
270 lua_gettable(L, -2);
271 if (lua_istable(L, -1)) {
272 had_err = read_bssm_model(&bssm_param->gc_donor_model, L, err);
273 if (!had_err) {
274 bssm_param->gc_donor_model_set = true;
275 model_read = true;
276 }
277 }
278 lua_pop(L, 1);
279 }
280 /* try to read ag acceptor model */
281 if (!had_err) {
282 lua_pushliteral(L, "ag_acceptor_model");
283 lua_gettable(L, -2);
284 if (lua_istable(L, -1)) {
285 had_err = read_bssm_model(&bssm_param->ag_acceptor_model, L, err);
286 if (!had_err) {
287 bssm_param->ag_acceptor_model_set = true;
288 model_read = true;
289 }
290 }
291 lua_pop(L, 1);
292 }
293 /* make sure at least one model has been read */
294 if (!had_err && !model_read) {
295 gt_error_set(err, "BSSM file contains no model");
296 had_err = -1;
297 }
298 lua_pop(L, 1);
299 gt_assert(lua_gettop(L) == stack_size);
300 return had_err;
301 }
302
303 static int read_bssm_file(GthBSSMParam *bssm_param, lua_State *L,
304 const char *filename, GtError *err)
305 {
306 #ifndef NDEBUG
307 int stack_size;
308 #endif
309 int had_err = 0;
310 gt_error_check(err);
311 gt_assert(L && filename);
312 #ifndef NDEBUG
313 stack_size = lua_gettop(L);
314 #endif
315 if (luaL_loadfile(L, filename) || lua_pcall(L, 0, 0, 0)) {
316 gt_error_set(err, "cannot read plain BSSM file: %s", lua_tostring(L, -1));
317 had_err = -1;
318 lua_pop(L, 1);
319 }
320 if (!had_err) {
321 lua_getglobal(L, "BSSM");
322 if (lua_isnil(L, -1) || !lua_istable(L, -1)) {
323 gt_error_set(err, "'BSSM' is not defined or is not a table in \"%s\"",
324 filename);
325 had_err = -1;
326 }
327 lua_pop(L, 1);
328 }
329 if (!had_err)
330 had_err = fill_bssm_param(bssm_param, L, err);
331 gt_assert(lua_gettop(L) == stack_size);
332 return had_err;
333 }
334
335 static GthBSSMParam* bssm_param_plain_read(const char *filename, GtError *err)
336 {
337 GthBSSMParam *bssm_param;
338 lua_State *L;
339 int had_err;
340 gt_error_check(err);
341 gt_assert(filename);
342 bssm_param = gt_calloc(1, sizeof *bssm_param);
343 L = luaL_newstate();
344 had_err = read_bssm_file(bssm_param, L, filename, err);
345 lua_close(L);
346 if (had_err) {
347 gt_free(bssm_param);
348 return NULL;
349 }
350 return bssm_param;
351 }
352
353 static int bssm_model_read(GthBSSMModel *bssm_model, FILE *file, GtError *err)
354 {
355 int had_err = 0;
356 gt_error_check(err);
357 gt_xfread(&bssm_model->hypothesis_num, sizeof (GtUword), 1, file);
358 if (bssm_model->hypothesis_num != HYPOTHESIS7 &&
359 bssm_model->hypothesis_num != HYPOTHESIS2) {
360 gt_error_set(err, "BSSM model contains unknown hypothesis number");
361 had_err = -1;
362 }
363 if (!had_err) {
364 gt_xfread(&bssm_model->window_size_left, sizeof (GtUword), 1, file);
365 gt_xfread(&bssm_model->window_size_right, sizeof (GtUword), 1, file);
366 switch (bssm_model->hypothesis_num) {
367 case HYPOTHESIS2:
368 gt_xfread(&bssm_model->hypotables.hypo2table, sizeof (Hypo2table), 1,
369 file);
370 break;
371 case HYPOTHESIS7:
372 gt_xfread(&bssm_model->hypotables.hypo7table, sizeof (Hypo7table), 1,
373 file);
374 break;
375 default: gt_assert(0);
376 }
377 }
378 return had_err;
379 }
380
381 GthBSSMParam* gth_bssm_param_new(void)
382 {
383 return gt_calloc(1, sizeof (GthBSSMParam));
384 }
385
386 static GthBSSMParam* load_old_binary_format(GtStr *path, const char *filename,
387 GtError *err)
388 {
389 GthBSSMParam *bssm_param;
390 int had_err = 0;
391 FILE *file;
392 gt_error_check(err);
393 gt_assert(path && filename);
394
395 file = gt_xfopen(gt_str_get(path), "r");
396
397 /* read version number and check if equals version number 2 */
398 bssm_param = gt_malloc(sizeof *bssm_param);
399 gt_xfread(&bssm_param->version_num, sizeof (unsigned char), 1, file);
400 if (bssm_param->version_num != (unsigned char) 2) {
401 gt_error_set(err, "BSSM file %s has unrecognized version number %u",
402 filename, bssm_param->version_num);
403 had_err = -1;
404 }
405
406 if (!had_err) {
407 /* read in model variables */
408 gt_xfread(&bssm_param->gt_donor_model_set, sizeof (bool), 1, file);
409 gt_xfread(&bssm_param->gc_donor_model_set, sizeof (bool), 1, file);
410 gt_xfread(&bssm_param->ag_acceptor_model_set, sizeof (bool), 1, file);
411
412 /* check if at least one model is set in file */
413 if (!bssm_param->gt_donor_model_set &&
414 !bssm_param->gc_donor_model_set &&
415 !bssm_param->ag_acceptor_model_set) {
416 gt_error_set(err, "BSSM file %s apparently contains no model", filename);
417 had_err = -1;
418 }
419 }
420
421 /* read GT donor site model */
422 if (!had_err && bssm_param->gt_donor_model_set)
423 had_err = bssm_model_read(&bssm_param->gt_donor_model, file, err);
424
425 /* read GC donor site model */
426 if (!had_err && bssm_param->gc_donor_model_set)
427 had_err = bssm_model_read(&bssm_param->gc_donor_model, file, err);
428
429 /* read AG acceptor site model */
430 if (!had_err && bssm_param->ag_acceptor_model_set)
431 had_err = bssm_model_read(&bssm_param->ag_acceptor_model, file, err);
432
433 gt_xfclose(file);
434
435 if (had_err) {
436 gth_bssm_param_delete(bssm_param);
437 return NULL;
438 }
439 return bssm_param;
440 }
441
442 GthBSSMParam* gth_bssm_param_load(const char *filename, GtError *err)
443 {
444 GthBSSMParam *bssm_param = NULL;
445 GtStr *path = gt_str_new();
446 int had_err = 0;
447
448 gt_error_check(err);
449
450 if (gt_file_exists(filename))
451 gt_str_append_cstr(path, filename);
452 else {
453 if (strchr(filename, GT_PATH_SEPARATOR)) {
454 gt_error_set(err, "filename \"%s\" contains illegal symbol '%c': the "
455 "path list specified by environment variable \"%s\" "
456 "cannot be searched for it", filename,
457 GT_PATH_SEPARATOR, BSSMENVNAME);
458 had_err = -1;
459 }
460 /* check for file path in environment variable */
461 if (!had_err)
462 had_err = gt_file_find_in_env(path, filename, BSSMENVNAME, err);
463 if (!had_err && !gt_str_length(path)) {
464 gt_error_set(err, "file \"%s\" not found in directory list specified "
465 "by environment variable %s", filename, BSSMENVNAME);
466 had_err = -1;
467 }
468 if (!had_err) {
469 /* path found -> append filename */
470 gt_str_append_char(path, GT_PATH_SEPARATOR);
471 gt_str_append_cstr(path, filename);
472 }
473 else {
474 /* check for file path relative to binary */
475 int new_err = gt_file_find_exec_in_path(path, gt_error_get_progname(err),
476 NULL);
477 if (!new_err) {
478 gt_assert(gt_str_length(path));
479 gt_str_append_char(path, GT_PATH_SEPARATOR);
480 gt_str_append_cstr(path, "bssm");
481 gt_str_append_char(path, GT_PATH_SEPARATOR);
482 gt_str_append_cstr(path, filename);
483 if (gt_file_exists(gt_str_get(path))) {
484 gt_error_unset(err);
485 had_err = 0;
486 }
487 }
488 }
489 }
490
491 if (!had_err) {
492 if (!(bssm_param = bssm_param_plain_read(gt_str_get(path), err)))
493 had_err = -1;
494 if (had_err) {
495 /* loading new plain text format didn't work -> try old binary format */
496 if ((bssm_param = load_old_binary_format(path, filename, NULL))) {
497 /* loading binary format worked -> unset error */
498 gt_error_unset(err);
499 had_err = 0;
500 }
501 }
502 }
503
504 gt_str_delete(path);
505
506 if (had_err) {
507 gth_bssm_param_delete(bssm_param);
508 return NULL;
509 }
510 return bssm_param;
511 }
512
513 GthBSSMParam* gth_bssm_param_extract(GtUword speciesnum, GtError *err)
514 {
515 GthBSSMParam *bssm_param;
516 GtUword i, j, k, l;
517
518 gt_error_check(err);
519
520 bssm_param = gth_bssm_param_new();
521 bssm_param->version_num = (unsigned char) 2;
522 bssm_param->gt_donor_model_set = true;
523 bssm_param->gc_donor_model_set = false;
524 bssm_param->ag_acceptor_model_set = true;
525
526 if (speciesnum <= 1) {
527 /* read in the human and mouse cases */
528 bssm_param->gt_donor_model.hypothesis_num = HYPOTHESIS2;
529 bssm_param->ag_acceptor_model.hypothesis_num = HYPOTHESIS2;
530 for (i = 0; i < HYPOTHESIS2; i++) {
531 for (j = 0; j < WINSIZE + 2; j++) {
532 for (k = 0; k < 4; k++) {
533 for (l = 0; l < 4; l++) {
534 bssm_param->gt_donor_model.hypotables.hypo2table[i][j][k][l] =
535 (GthFlt) GU_2[speciesnum][i][j][k][l];
536 bssm_param->ag_acceptor_model.hypotables.hypo2table[i][j][k][l] =
537 (GthFlt) AG_2[speciesnum][i][j][k][l];
538 }
539 }
540 }
541 }
542 }
543 else if (speciesnum < NUMOFSPECIES) {
544 /* read in all others */
545 bssm_param->gt_donor_model.hypothesis_num = HYPOTHESIS7;
546 bssm_param->ag_acceptor_model.hypothesis_num = HYPOTHESIS7;
547 for (i = 0; i < HYPOTHESIS7; i++) {
548 for (j = 0; j < WINSIZE + 2; j++) {
549 for (k = 0; k < 4; k++) {
550 for (l = 0; l < 4; l++) {
551 bssm_param->gt_donor_model.hypotables.hypo7table[i][j][k][l] =
552 (GthFlt) GU_7[speciesnum - 2][i][j][k][l];
553 bssm_param->ag_acceptor_model.hypotables.hypo7table[i][j][k][l] =
554 (GthFlt) AG_7[speciesnum - 2][i][j][k][l];
555 }
556 }
557 }
558 }
559 }
560 else {
561 gt_error_set(err, "illegal speciesnum (speciesnum == "GT_WU")", speciesnum);
562 gth_bssm_param_delete(bssm_param);
563 return NULL;
564 }
565
566 /* setting the window sizes */
567 bssm_param->gt_donor_model.window_size_left = wsize[speciesnum][0][0];
568 bssm_param->gt_donor_model.window_size_right = wsize[speciesnum][0][1];
569 bssm_param->ag_acceptor_model.window_size_left = wsize[speciesnum][1][0];
570 bssm_param->ag_acceptor_model.window_size_right = wsize[speciesnum][1][1];
571
572 return bssm_param;
573 }
574
575 void gth_bssm_param_delete(GthBSSMParam *bssm_param)
576 {
577 if (!bssm_param) return;
578 gt_free(bssm_param);
579 }
580
581 int gth_bssm_param_save(GthBSSMParam *bssm_param, const char *filename,
582 GtError *err)
583 {
584 FILE *file;
585 int had_err = 0;
586
587 gt_error_check(err);
588
589 file = gt_fa_xfopen(filename, "w");
590 gt_assert(file);
591
592 /* check if at least one model is set */
593 if (!bssm_param->gt_donor_model_set &&
594 !bssm_param->gc_donor_model_set &&
595 !bssm_param->ag_acceptor_model_set) {
596 gt_error_set(err, "BSSM parameter to write contain no model");
597 had_err = -1;
598 }
599
600 if (!had_err)
601 bssm_param_plain_write(bssm_param, file);
602
603 gt_fa_xfclose(file);
604
605 return had_err;
606 }
607
608 static bool bssm_model_is_seven_class(const GthBSSMModel *bssm_model)
609 {
610 gt_assert(bssm_model);
611 return bssm_model->hypothesis_num == HYPOTHESIS7;
612 }
613
614 bool gth_bssm_param_is_seven_class(const GthBSSMParam *bssm_param)
615 {
616 gt_assert(bssm_param);
617 return (!bssm_param->gt_donor_model_set ||
618 bssm_model_is_seven_class(&bssm_param->gt_donor_model)) &&
619 (!bssm_param->gc_donor_model_set ||
620 bssm_model_is_seven_class(&bssm_param->gc_donor_model)) &&
621 (!bssm_param->ag_acceptor_model_set ||
622 bssm_model_is_seven_class(&bssm_param->ag_acceptor_model));
623 }
624
625 /* The following function outouts <bssm_model>.
626 It is assumed that the Hypo7table is used. */
627 static void bssm_model_echo(const GthBSSMModel *bssm_model, FILE *outfp)
628 {
629 GtUword i, j, k, l;
630
631 gt_assert(bssm_model_is_seven_class(bssm_model));
632
633 for (i = 0; i < HYPOTHESIS7; i++) {
634 fprintf(outfp, "\n\nHypothesis: "GT_WU"", i);
635 for (j = 0; j < STRINGSIZE; j++) {
636 fprintf(outfp, "\n");
637 for (k = 0; k < ALPHSIZE; k++) {
638 fprintf(outfp, "\n");
639 for (l = 0; l < ALPHSIZE; l++) {
640 fprintf(outfp, "%.4f ",
641 bssm_model->hypotables.hypo7table[i][j][k][l]);
642 }
643 }
644 }
645 }
646 fprintf(outfp, "\n\n");
647 }
648
649 void gth_bssm_param_echo(const GthBSSMParam *bssm_param, FILE *outfp)
650 {
651 gt_assert(bssm_param && outfp);
652 fprintf(outfp, "BSSMPARAMVERSION is %u\n\n", bssm_param->version_num);
653 fprintf(outfp, "Is the GT donor model set? -> %s\n",
654 GTH_SHOWBOOL(bssm_param->gt_donor_model_set));
655 fprintf(outfp, "Is the GC donor model set? -> %s\n\n",
656 GTH_SHOWBOOL(bssm_param->gc_donor_model_set));
657 fprintf(outfp, "Is the AG acceptor model set? -> %s\n\n",
658 GTH_SHOWBOOL(bssm_param->ag_acceptor_model_set));
659
660 if (gth_bssm_param_is_seven_class(bssm_param)) {
661 if (bssm_param->gt_donor_model_set) {
662 fprintf(outfp, "reporting GT donor model parameterization");
663 bssm_model_echo(&bssm_param->gt_donor_model, outfp);
664 }
665
666 if (bssm_param->gc_donor_model_set) {
667 fprintf(outfp, "reporting GC donor model parameterization");
668 bssm_model_echo(&bssm_param->gc_donor_model, outfp);
669 }
670
671 if (bssm_param->ag_acceptor_model_set) {
672 fprintf(outfp, "reporting AG acceptor model parameterization");
673 bssm_model_echo(&bssm_param->ag_acceptor_model, outfp);
674 }
675 }
676 else {
677 fprintf(outfp,
678 "Cannot report model parameterization for two-class BSSMs.\n");
679 }
680 }
681
682 void gth_bssm_param_show_info(const GthBSSMParam *bssm_param, GtFile *outfp)
683 {
684 #define SEVENCLASSSTRING "seven-class"
685 #define TWOCLASSSTRING "two-class"
686
687 #define PRINT_CLASS_STRING(MODEL) \
688 if (bssm_param->MODEL##_model_set) \
689 { \
690 gt_file_xprintf(outfp, " (%s)", \
691 bssm_param->MODEL##_model.hypothesis_num == HYPOTHESIS7 \
692 ? SEVENCLASSSTRING : TWOCLASSSTRING); \
693 } \
694 gt_file_xfputc('\n', outfp);
695
696 gt_file_xprintf(outfp,
697 "%c the specified BSSM parameter file contains the following "
698 "models:\n", COMMENTCHAR);
699 gt_file_xprintf(outfp, "%c GT donor sites = %s", COMMENTCHAR,
700 GTH_SHOWBOOL(bssm_param->gt_donor_model_set));
701 PRINT_CLASS_STRING(gt_donor);
702
703 gt_file_xprintf(outfp, "%c GC donor sites = %s", COMMENTCHAR,
704 GTH_SHOWBOOL(bssm_param->gc_donor_model_set));
705 PRINT_CLASS_STRING(gc_donor);
706
707 gt_file_xprintf(outfp, "%c AG acceptor sites= %s", COMMENTCHAR,
708 GTH_SHOWBOOL(bssm_param->ag_acceptor_model_set));
709 PRINT_CLASS_STRING(ag_acceptor);
710 }
711
712 static void set_window_sizes_in_Bssmmodel(GthBSSMModel *bssm_model)
713 {
714 bssm_model->hypothesis_num = HYPOTHESIS7;
715
716 /* We have decided to leave maximum splice signal
717 extent window at...a maximal value! */
718 bssm_model->window_size_left = MAXSPLICESIG;
719 bssm_model->window_size_right = MAXSPLICESIG;
720 }
721
722 /* updates the BSSM parameterization file */
723 static void build_bssm(GtBioseq *bioseq, GthBSSMModel *bssm_model,
724 unsigned int hypothesisnum)
725 {
726 GtUword mono_ct[STRINGSIZE-1][ALPHSIZE], /* Mononuc freq */
727 di_ct[STRINGSIZE-1][ALPHSIZE][ALPHSIZE]; /* Dinuc freq */
728 double mono_freq, /* Mononuc relative freq */
729 di_freq; /* Dinuc relative freq */
730 GtUword i, j, k, /* Iterator variables */
731 len, curlen = 0,
732 num_entries = gt_bioseq_number_of_sequences(bioseq);
733 GtUchar *encoded_seq = NULL;
734
735 /* Inits of local variables */
736 for (i = 0; i < (STRINGSIZE-1); i++) {
737 for (j = 0; j < ALPHSIZE; j++) {
738 mono_ct[i][j] = INITVAL_INT;
739 for (k = 0; k < ALPHSIZE; k++)
740 di_ct[i][j][k] = INITVAL_INT;
741 }
742 }
743
744 /* mononucleotides */
745 for (j = 0; j < num_entries; j++) {
746 len = gt_bioseq_get_sequence_length(bioseq, j);
747 gt_assert(len == STRINGSIZE);
748 if (len > curlen) {
749 encoded_seq = gt_realloc(encoded_seq, len);
750 curlen = len;
751 }
752 gt_bioseq_get_encoded_sequence(bioseq, encoded_seq, j);
753 for (i = 0; i < (STRINGSIZE-1); i++) {
754 gt_assert(encoded_seq[i] < ALPHSIZE);
755 mono_ct[i][encoded_seq[i]]++;
756 }
757 }
758
759 /* dinucleotides */
760 for (j = 0; j < num_entries; j++) {
761 len = gt_bioseq_get_sequence_length(bioseq, j);
762 gt_assert(len == STRINGSIZE);
763 if (len > curlen) {
764 encoded_seq = gt_realloc(encoded_seq, len);
765 curlen = len;
766 }
767 gt_bioseq_get_encoded_sequence(bioseq, encoded_seq, j);
768 for (i = 0; i < (STRINGSIZE-1); i++) {
769 di_ct[i][encoded_seq[i]]
770 [encoded_seq[i + 1]]++;
771 }
772 }
773
774 gt_free(encoded_seq);
775
776 /* Record equilibrium frequencies (1st ``slot" in transition freqs) */
777 for (i = 0; i < ALPHSIZE; i++) {
778 for (j = 0; j < ALPHSIZE; j++) {
779 bssm_model->hypotables
780 .hypo7table[hypothesisnum][0][i][j] = (GthFlt)
781 mono_ct[0][i] / num_entries;
782 }
783 }
784
785 /* Populate the remaining transition frequencies */
786 for (k = 1; k < STRINGSIZE; k++) {
787 for (i = 0; i < ALPHSIZE; i++) {
788 mono_freq = (double) mono_ct[k-1][i] / num_entries;
789 for (j = 0; j < ALPHSIZE; j++) {
790 di_freq = (double) di_ct[k-1][i][j] / num_entries;
791 if (mono_freq == 0.0) {
792 bssm_model->hypotables
793 .hypo7table[hypothesisnum][k][i][j] = (GthFlt) NULLPROB;
794 }
795 else {
796 bssm_model->hypotables
797 .hypo7table[hypothesisnum][k][i][j] = (GthFlt)
798 (di_freq / mono_freq);
799 }
800 }
801
802 /* Remove non-zero transition probabilities:
803 Briefly, 0.0 entries (dinucleotide absent in training corpus) are
804 replaced arbitrarily by PSEUDOPROB, and non-0.0 entries p are replaced
805 by p = p * (1 - 4 * PSEUDOPROB) + PSEUDOPROB */
806 for (j = 0; j < ALPHSIZE; ++j) {
807 /* If any entry is NULLPROB, ALL elements in the row need fixed */
808 if (bssm_model->hypotables
809 .hypo7table[hypothesisnum][k][i][j] == NULLPROB) {
810 /* Fix all elements in the row, then break */
811 for (j = 0; j < ALPHSIZE; j++) {
812 if (bssm_model->hypotables
813 .hypo7table[hypothesisnum][k][i][j] == NULLPROB) {
814 bssm_model->hypotables
815 .hypo7table[hypothesisnum][k][i][j] = (GthFlt)
816 PSEUDOPROB;
817 }
818 else {
819 /* Adjust non-zero transition prob */
820 bssm_model->hypotables.hypo7table[hypothesisnum][k][i][j] =
821 (GthFlt)
822 (bssm_model->hypotables.hypo7table[hypothesisnum][k][i][j] *
823 (1 - (4 * PSEUDOPROB)) + PSEUDOPROB);
824 }
825 }
826 break;
827 }
828 }
829 }
830 }
831 }
832
833 int gth_bssm_param_parameterize(GthBSSMParam *bssm_param, const char *path,
834 Termtype termtype, bool gzip, GtError *err)
835 {
836 GtAlphabet *alphabet = NULL;
837 GtBioseq *bioseq;
838 GtStr *file2proc;
839 GtUword i, j;
840 int had_err = 0;
841 gt_error_check(err);
842
843 file2proc = gt_str_new();
844
845 /* set version number */
846 bssm_param->version_num = (unsigned char) MYVERSION;
847
848 /* set model to true and set window sizes */
849 switch (termtype) {
850 case GT_DONOR_TYPE:
851 bssm_param->gt_donor_model_set = true;
852 set_window_sizes_in_Bssmmodel(&bssm_param->gt_donor_model);
853 break;
854 case GC_DONOR_TYPE:
855 bssm_param->gc_donor_model_set = true;
856 set_window_sizes_in_Bssmmodel(&bssm_param->gc_donor_model);
857 break;
858 case AG_ACCEPTOR_TYPE:
859 bssm_param->ag_acceptor_model_set = true;
860 set_window_sizes_in_Bssmmodel(&bssm_param->ag_acceptor_model);
861 break;
862 default: gt_assert(0);
863 }
864
865 for (i = 0; !had_err && i < NUMOFFILES; i++) {
866 /* process datafile */
867 gt_str_append_cstr(file2proc, path);
868 switch (termtype) {
869 case GT_DONOR_TYPE:
870 gt_str_append_cstr(file2proc, "/GT_donor/");
871 gt_str_append_cstr(file2proc, filenames[i]);
872 break;
873 case GC_DONOR_TYPE:
874 gt_str_append_cstr(file2proc, "/GC_donor/");
875 gt_str_append_cstr(file2proc, filenames[i]);
876 break;
877 case AG_ACCEPTOR_TYPE:
878 gt_str_append_cstr(file2proc, "/AG_acceptor/");
879 gt_str_append_cstr(file2proc, filenames[i]);
880 break;
881 default: gt_assert(0);
882 }
883
884 if (gzip)
885 gt_str_append_cstr(file2proc, ".gz");
886
887 if (!(bioseq = gt_bioseq_new(gt_str_get(file2proc), err)))
888 had_err = -1;
889
890 if (!had_err)
891 alphabet = gt_bioseq_get_alphabet(bioseq);
892
893 /* check here if all sequences have the length 102 and correct bases at
894 positions 51 and 52 (i.e., GT, GC, or AG) */
895 for (j = 0; !had_err && j < gt_bioseq_number_of_sequences(bioseq); j++) {
896 GtUchar encoded_seq[2];
897 /* check length */
898 if (gt_bioseq_get_sequence_length(bioseq, j) != STRINGSIZE) {
899 gt_error_set(err,
900 "sequence "GT_WU" in file \"%s\" does not have length %u",
901 j, gt_str_get(file2proc), STRINGSIZE);
902 had_err = -1;
903 }
904 encoded_seq[0] = gt_bioseq_get_encoded_char(bioseq, j, 50);
905 encoded_seq[1] = gt_bioseq_get_encoded_char(bioseq, j, 51);
906 if (!had_err) {
907 /* check base correctness */
908 switch (termtype) {
909 case GT_DONOR_TYPE:
910 if (encoded_seq[0] != gt_alphabet_encode(alphabet, 'G') ||
911 encoded_seq[1] != gt_alphabet_encode(alphabet, 'T')) {
912 gt_error_set(err, "sequence "GT_WU" in file \"%s\" is not a GT "
913 "sequence", j, gt_str_get(file2proc));
914 had_err = -1;
915 }
916 break;
917 case GC_DONOR_TYPE:
918 if (encoded_seq[0] != gt_alphabet_encode(alphabet, 'G') ||
919 encoded_seq[1] != gt_alphabet_encode(alphabet, 'C')) {
920 gt_error_set(err, "sequence "GT_WU" in file \"%s\" is not a GC "
921 "sequence", j, gt_str_get(file2proc));
922 had_err = -1;
923 }
924 break;
925 case AG_ACCEPTOR_TYPE:
926 if (encoded_seq[0] != gt_alphabet_encode(alphabet, 'A') ||
927 encoded_seq[1] != gt_alphabet_encode(alphabet, 'G')) {
928 gt_error_set(err, "sequence "GT_WU" in file \"%s\" is not a AG "
929 "sequence", j, gt_str_get(file2proc));
930 had_err = -1;
931 }
932 break;
933 default: gt_assert(0);
934 }
935 }
936 }
937
938 if (!had_err) {
939 switch (termtype) {
940 case GT_DONOR_TYPE:
941 build_bssm(bioseq, &bssm_param->gt_donor_model, i);
942 break;
943 case GC_DONOR_TYPE:
944 build_bssm(bioseq, &bssm_param->gc_donor_model, i);
945 break;
946 case AG_ACCEPTOR_TYPE:
947 build_bssm(bioseq, &bssm_param->ag_acceptor_model, i);
948 break;
949 default: gt_assert(0);
950 }
951 }
952
953 /* reset */
954 gt_str_reset(file2proc);
955
956 /* free space */
957 gt_bioseq_delete(bioseq);
958 }
959 gt_str_delete(file2proc);
960
961 return had_err;
962 }
+0
-64
src/gth/bssm_param.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2005 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef BSSM_PARAM_H
19 #define BSSM_PARAM_H
20
21 #include <stdbool.h>
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <string.h>
25 #include <float.h>
26 #include "core/error.h"
27 #include "core/file.h"
28 #include "core/types_api.h"
29
30 typedef struct GthBSSMParam GthBSSMParam;
31
32 typedef float GthFlt; /* probability type for low precision */
33 typedef double GthDbl; /* probability type for high precision */
34
35 typedef enum {
36 GT_DONOR_TYPE = 0,
37 GC_DONOR_TYPE,
38 AG_ACCEPTOR_TYPE,
39 NUMOFTYPES
40 } Termtype;
41
42 #define GTH_UNDEF_GTHFLT FLT_MAX
43 #define GTH_UNDEF_GTHDBL DBL_MAX
44
45 #define BSSMFILEENDING "bssm"
46
47 GthBSSMParam* gth_bssm_param_new(void);
48 /* Read a bssm parameter file on the path $BSSMDIR. */
49 GthBSSMParam* gth_bssm_param_load(const char *filename, GtError*);
50 GthBSSMParam* gth_bssm_param_extract(GtUword speciesnum, GtError*);
51 void gth_bssm_param_delete(GthBSSMParam*);
52 /* Save the data contained in <bssm_param> to a file named <filename>. */
53 int gth_bssm_param_save(GthBSSMParam*, const char *filename,
54 GtError*);
55 /* Returns <true>, if <bssm_param> is a seven-class model. <false> otherwise. */
56 bool gth_bssm_param_is_seven_class(const GthBSSMParam *bssm_param);
57 /* Prints the contents of the bssm parameterization <bssm_param> to <outfp>. */
58 void gth_bssm_param_echo(const GthBSSMParam *bssm_param, FILE *outfp);
59 void gth_bssm_param_show_info(const GthBSSMParam*, GtFile *outfp);
60 int gth_bssm_param_parameterize(GthBSSMParam*, const char *path,
61 Termtype, bool gzip, GtError*);
62
63 #endif
+0
-61537
src/gth/bssm_param_hard_coded.h less more
0 /*
1 Copyright (c) 2003-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef BSSM_PARAM_HARD_CODED_H
19 #define BSSM_PARAM_HARD_CODED_H
20
21 #include "gth/bssm_param_rep.h"
22
23 /* Specifications:
24
25 I. Species available:
26 0 = Homo sapiens [human]
27 1 = Mus musculus [mouse]
28 2 = Rattus norvegicus [rat]
29 3 = Gallus gallus [chicken]
30 4 = Drosophila [fruit fly]
31 5 = C. elegans [nematode]
32 6 = S. pombe [Yeast]
33 7 = Aspergillus [aspergillus]
34 8 = Arabidopsis thaliana [Arabidopsis thaliana]
35 9 = Zea mays [maize]
36
37 II. Bayesian Statistical model:
38 A Bayesian seven classification model was used in all species except for
39 human and mouse, where Bayesian two classification model was used instead.
40
41 III. Prior probabilities:
42 An uniform distributed prior (i.e., 1/7 for the 7 classification model or
43 1/2 for the 2 classification model) was used for computing the posterior
44 probability.
45 */
46
47 static int wsize[10][2][2]=
48 { {{29, 38}, {25, 49}}, {{48, 43}, {45, 49}}, {{49, 49}, {49, 50}},
49 {{50, 43}, {45, 48}}, {{33, 45}, {40, 44}}, {{19, 43}, {29, 47}},
50 {{42, 34}, {48, 44}}, {{50, 50}, {50, 49}}, {{36, 47}, {46, 44}},
51 {{48, 50}, {37, 38}}
52 };
53 /* optimal splice window size (wsize) is determined by window extension */
54 /* to the left and right of the consensus splice site junction (GT|AG). */
55
56 static double GU_2[2][HYPOTHESIS2][WINSIZE + 2][4][4] =
57 {
58 {
59 { /* Splice_Site: Tr_GT; Species: Human */
60 {
61 {0.2443, 0.2443, 0.2443, 0.2443},
62 {0.2855, 0.2855, 0.2855, 0.2855},
63 {0.2477, 0.2477, 0.2477, 0.2477},
64 {0.2225, 0.2225, 0.2225, 0.2225}},
65 {
66 {0.2293, 0.2255, 0.3557, 0.1895},
67 {0.2952, 0.3263, 0.1174, 0.2611},
68 {0.2605, 0.2941, 0.2886, 0.1568},
69 {0.1134, 0.2773, 0.3879, 0.2214}},
70 {
71 {0.2579, 0.2281, 0.3087, 0.2053},
72 {0.3038, 0.2957, 0.1370, 0.2635},
73 {0.2701, 0.2754, 0.2975, 0.1569},
74 {0.1328, 0.2736, 0.3869, 0.2067}},
75 {
76 {0.2610, 0.2331, 0.2865, 0.2194},
77 {0.2614, 0.3230, 0.1310, 0.2846},
78 {0.3059, 0.2931, 0.2326, 0.1684},
79 {0.1221, 0.3162, 0.3473, 0.2144}},
80 {
81 {0.2348, 0.2356, 0.3345, 0.1951},
82 {0.2942, 0.3300, 0.1199, 0.2559},
83 {0.2515, 0.3043, 0.2648, 0.1794},
84 {0.1168, 0.2758, 0.3856, 0.2218}},
85 {
86 {0.2614, 0.2254, 0.3194, 0.1938},
87 {0.3086, 0.2809, 0.1380, 0.2725},
88 {0.2813, 0.2266, 0.3319, 0.1602},
89 {0.1474, 0.2400, 0.3961, 0.2166}},
90 {
91 {0.2852, 0.2285, 0.2634, 0.2229},
92 {0.2802, 0.2878, 0.1265, 0.3055},
93 {0.2843, 0.2568, 0.2949, 0.1641},
94 {0.1202, 0.2757, 0.3454, 0.2586}},
95 {
96 {0.2255, 0.2344, 0.3539, 0.1862},
97 {0.2768, 0.3316, 0.1336, 0.2580},
98 {0.2571, 0.2931, 0.2910, 0.1588},
99 {0.1137, 0.2811, 0.3847, 0.2205}},
100 {
101 {0.2475, 0.2469, 0.3165, 0.1891},
102 {0.2832, 0.2881, 0.1378, 0.2908},
103 {0.2825, 0.2604, 0.2872, 0.1699},
104 {0.1263, 0.2847, 0.3702, 0.2188}},
105 {
106 {0.2664, 0.2339, 0.2876, 0.2122},
107 {0.2655, 0.3157, 0.1262, 0.2926},
108 {0.3070, 0.2622, 0.2584, 0.1724},
109 {0.1301, 0.2839, 0.3371, 0.2489}},
110 {
111 {0.2276, 0.2252, 0.3460, 0.2012},
112 {0.2836, 0.3327, 0.1291, 0.2545},
113 {0.2613, 0.2861, 0.3009, 0.1517},
114 {0.1020, 0.2793, 0.3959, 0.2227}},
115 {
116 {0.2628, 0.2339, 0.3102, 0.1930},
117 {0.2937, 0.3020, 0.1278, 0.2765},
118 {0.2970, 0.2519, 0.2930, 0.1581},
119 {0.1336, 0.2634, 0.3846, 0.2184}},
120 {
121 {0.2563, 0.2244, 0.2968, 0.2225},
122 {0.2933, 0.2988, 0.1377, 0.2703},
123 {0.2973, 0.2658, 0.2573, 0.1796},
124 {0.1155, 0.2691, 0.3603, 0.2551}},
125 {
126 {0.2198, 0.2230, 0.3716, 0.1856},
127 {0.2796, 0.3117, 0.1381, 0.2705},
128 {0.2591, 0.2976, 0.2808, 0.1625},
129 {0.1174, 0.2847, 0.3929, 0.2049}},
130 {
131 {0.2553, 0.2183, 0.3446, 0.1818},
132 {0.3025, 0.2933, 0.1525, 0.2518},
133 {0.2808, 0.2608, 0.3103, 0.1481},
134 {0.1400, 0.2500, 0.3962, 0.2137}},
135 {
136 {0.2607, 0.2339, 0.2860, 0.2195},
137 {0.2910, 0.2910, 0.1318, 0.2862},
138 {0.2812, 0.2571, 0.2914, 0.1703},
139 {0.1264, 0.2954, 0.3504, 0.2278}},
140 {
141 {0.2288, 0.2332, 0.3444, 0.1936},
142 {0.2807, 0.3308, 0.1409, 0.2475},
143 {0.2710, 0.2931, 0.2763, 0.1596},
144 {0.1191, 0.2914, 0.3840, 0.2055}},
145 {
146 {0.2354, 0.2364, 0.3341, 0.1940},
147 {0.3083, 0.2815, 0.1189, 0.2913},
148 {0.2732, 0.2653, 0.3038, 0.1576},
149 {0.1432, 0.2674, 0.3837, 0.2057}},
150 {
151 {0.2739, 0.2311, 0.2854, 0.2095},
152 {0.2624, 0.3051, 0.1368, 0.2956},
153 {0.3146, 0.2784, 0.2433, 0.1636},
154 {0.1095, 0.2966, 0.3470, 0.2468}},
155 {
156 {0.2307, 0.2499, 0.3293, 0.1902},
157 {0.2856, 0.3123, 0.1375, 0.2646},
158 {0.2515, 0.2927, 0.2913, 0.1645},
159 {0.1143, 0.2905, 0.3794, 0.2158}},
160 {
161 {0.2500, 0.2260, 0.3266, 0.1974},
162 {0.3001, 0.2897, 0.1345, 0.2756},
163 {0.2844, 0.2773, 0.2904, 0.1479},
164 {0.1315, 0.2451, 0.4058, 0.2176}},
165 {
166 {0.2939, 0.2207, 0.2691, 0.2163},
167 {0.2805, 0.2960, 0.1342, 0.2893},
168 {0.2935, 0.2992, 0.2466, 0.1607},
169 {0.1435, 0.2943, 0.3303, 0.2319}},
170 {
171 {0.2249, 0.2322, 0.3605, 0.1824},
172 {0.2732, 0.3040, 0.1336, 0.2892},
173 {0.2638, 0.2815, 0.3100, 0.1447},
174 {0.1182, 0.2730, 0.3940, 0.2148}},
175 {
176 {0.2592, 0.2212, 0.3362, 0.1834},
177 {0.2945, 0.2856, 0.1375, 0.2824},
178 {0.2883, 0.2484, 0.3130, 0.1503},
179 {0.1248, 0.2479, 0.4017, 0.2256}},
180 {
181 {0.2757, 0.2220, 0.2789, 0.2234},
182 {0.2730, 0.2817, 0.1428, 0.3025},
183 {0.2899, 0.2619, 0.2814, 0.1667},
184 {0.1224, 0.2852, 0.3528, 0.2397}},
185 {
186 {0.2344, 0.2392, 0.3466, 0.1797},
187 {0.2882, 0.3045, 0.1248, 0.2826},
188 {0.2634, 0.2713, 0.2978, 0.1675},
189 {0.1105, 0.2972, 0.3907, 0.2016}},
190 {
191 {0.2546, 0.2344, 0.3201, 0.1909},
192 {0.3195, 0.2829, 0.1346, 0.2630},
193 {0.2795, 0.2683, 0.2954, 0.1569},
194 {0.1348, 0.2499, 0.4099, 0.2053}},
195 {
196 {0.2805, 0.2330, 0.2733, 0.2133},
197 {0.2984, 0.3174, 0.1239, 0.2603},
198 {0.3088, 0.2759, 0.2514, 0.1639},
199 {0.1250, 0.2984, 0.3341, 0.2425}},
200 {
201 {0.2358, 0.2275, 0.3573, 0.1794},
202 {0.2814, 0.3234, 0.1223, 0.2729},
203 {0.2749, 0.2731, 0.3012, 0.1508},
204 {0.1149, 0.2961, 0.3746, 0.2144}},
205 {
206 {0.2577, 0.2274, 0.3131, 0.2018},
207 {0.3081, 0.2930, 0.1370, 0.2618},
208 {0.2881, 0.2747, 0.2757, 0.1615},
209 {0.1481, 0.2556, 0.3951, 0.2012}},
210 {
211 {0.2687, 0.2236, 0.2868, 0.2209},
212 {0.2946, 0.3112, 0.1160, 0.2781},
213 {0.2961, 0.2822, 0.2577, 0.1640},
214 {0.1118, 0.3166, 0.3322, 0.2394}},
215 {
216 {0.2302, 0.2338, 0.3494, 0.1866},
217 {0.2950, 0.2953, 0.1268, 0.2829},
218 {0.2657, 0.2854, 0.2973, 0.1517},
219 {0.1181, 0.2867, 0.3988, 0.1963}},
220 {
221 {0.2520, 0.2318, 0.3191, 0.1971},
222 {0.3173, 0.2757, 0.1227, 0.2843},
223 {0.2760, 0.2598, 0.3072, 0.1570},
224 {0.1286, 0.2436, 0.4079, 0.2198}},
225 {
226 {0.2760, 0.2198, 0.2791, 0.2250},
227 {0.2956, 0.2980, 0.1141, 0.2924},
228 {0.3002, 0.2548, 0.2984, 0.1467},
229 {0.1293, 0.2863, 0.3403, 0.2441}},
230 {
231 {0.2412, 0.2512, 0.3197, 0.1879},
232 {0.3032, 0.3224, 0.1217, 0.2527},
233 {0.2855, 0.2830, 0.2804, 0.1511},
234 {0.1192, 0.2855, 0.3758, 0.2195}},
235 {
236 {0.2525, 0.2601, 0.2960, 0.1914},
237 {0.3041, 0.3068, 0.1225, 0.2666},
238 {0.2779, 0.2707, 0.2884, 0.1630},
239 {0.1301, 0.2746, 0.3737, 0.2216}},
240 {
241 {0.2625, 0.2322, 0.3011, 0.2042},
242 {0.2969, 0.2920, 0.1236, 0.2874},
243 {0.3131, 0.2742, 0.2520, 0.1608},
244 {0.1302, 0.3022, 0.3468, 0.2208}},
245 {
246 {0.2379, 0.2473, 0.3334, 0.1814},
247 {0.3024, 0.3282, 0.1184, 0.2510},
248 {0.2743, 0.3046, 0.2850, 0.1361},
249 {0.1099, 0.2990, 0.3792, 0.2119}},
250 {
251 {0.2524, 0.2347, 0.3087, 0.2042},
252 {0.3173, 0.2810, 0.1183, 0.2833},
253 {0.2762, 0.2875, 0.2788, 0.1575},
254 {0.1395, 0.2931, 0.3574, 0.2100}},
255 {
256 {0.2908, 0.2304, 0.2771, 0.2017},
257 {0.2914, 0.2895, 0.1244, 0.2947},
258 {0.3128, 0.2779, 0.2333, 0.1759},
259 {0.1228, 0.3260, 0.3175, 0.2337}},
260 {
261 {0.2502, 0.2352, 0.3349, 0.1797},
262 {0.2946, 0.3097, 0.1097, 0.2861},
263 {0.2791, 0.2798, 0.2825, 0.1585},
264 {0.1275, 0.2912, 0.3619, 0.2194}},
265 {
266 {0.2702, 0.2237, 0.3224, 0.1838},
267 {0.3449, 0.2737, 0.1153, 0.2661},
268 {0.2679, 0.2813, 0.2928, 0.1580},
269 {0.1407, 0.2494, 0.3846, 0.2252}},
270 {
271 {0.2744, 0.2250, 0.2685, 0.2321},
272 {0.2993, 0.2982, 0.1084, 0.2940},
273 {0.2788, 0.2679, 0.2848, 0.1685},
274 {0.1445, 0.2706, 0.3276, 0.2573}},
275 {
276 {0.2519, 0.2366, 0.3032, 0.2083},
277 {0.2868, 0.3033, 0.1192, 0.2907},
278 {0.2804, 0.2794, 0.2701, 0.1701},
279 {0.1288, 0.2793, 0.3585, 0.2335}},
280 {
281 {0.2738, 0.2392, 0.2856, 0.2014},
282 {0.3316, 0.2814, 0.1129, 0.2741},
283 {0.2917, 0.2650, 0.2608, 0.1825},
284 {0.1465, 0.2336, 0.3847, 0.2353}},
285 {
286 {0.2996, 0.2107, 0.2546, 0.2352},
287 {0.3211, 0.2812, 0.0957, 0.3019},
288 {0.3147, 0.2937, 0.2256, 0.1659},
289 {0.1672, 0.2640, 0.3012, 0.2676}},
290 {
291 {0.2885, 0.2361, 0.2924, 0.1829},
292 {0.3307, 0.3348, 0.0947, 0.2397},
293 {0.3196, 0.3076, 0.2468, 0.1260},
294 {0.1705, 0.2922, 0.3198, 0.2175}},
295 {
296 {0.3334, 0.3271, 0.2195, 0.1200},
297 {0.3799, 0.4005, 0.0830, 0.1367},
298 {0.3777, 0.3938, 0.1718, 0.0567},
299 {0.1682, 0.4114, 0.2946, 0.1258}},
300 {
301 {0.6093, 0.1123, 0.1329, 0.1455},
302 {0.7060, 0.0983, 0.0621, 0.1337},
303 {0.6441, 0.1319, 0.1164, 0.1076},
304 {0.2082, 0.2312, 0.3244, 0.2362}},
305 {
306 {0.0729, 0.0224, 0.8643, 0.0405},
307 {0.2097, 0.0871, 0.5008, 0.2024},
308 {0.1505, 0.0415, 0.7182, 0.0898},
309 {0.0280, 0.0309, 0.8760, 0.0651}},
310 {
311 {0.0000, 0.0000, 1.0000, 0.0000},
312 {0.0000, 0.0000, 1.0000, 0.0000},
313 {0.0000, 0.0000, 1.0000, 0.0000},
314 {0.0000, 0.0000, 1.0000, 0.0000}},
315 {
316 {0.0000, 0.0000, 0.0000, 0.0000},
317 {0.0000, 0.0000, 0.0000, 0.0000},
318 {0.0000, 0.0000, 0.0000, 1.0000},
319 {0.0000, 0.0000, 0.0000, 0.0000}},
320 {
321 {0.0000, 0.0000, 0.0000, 0.0000},
322 {0.0000, 0.0000, 0.0000, 0.0000},
323 {0.0000, 0.0000, 0.0000, 0.0000},
324 {0.5152, 0.0299, 0.4307, 0.0242}},
325 {
326 {0.6174, 0.0977, 0.1412, 0.1437},
327 {0.6927, 0.0477, 0.0760, 0.1837},
328 {0.7888, 0.0615, 0.1130, 0.0368},
329 {0.3830, 0.0953, 0.2568, 0.2650}},
330 {
331 {0.0626, 0.0375, 0.8551, 0.0448},
332 {0.1853, 0.2230, 0.3996, 0.1921},
333 {0.0571, 0.0620, 0.8455, 0.0354},
334 {0.0805, 0.0888, 0.7418, 0.0890}},
335 {
336 {0.2206, 0.1189, 0.3702, 0.2904},
337 {0.2695, 0.3005, 0.1257, 0.3044},
338 {0.1513, 0.1671, 0.2027, 0.4788},
339 {0.1654, 0.1354, 0.3765, 0.3226}},
340 {
341 {0.2868, 0.1804, 0.3523, 0.1805},
342 {0.3071, 0.3016, 0.1606, 0.2307},
343 {0.2570, 0.2724, 0.3233, 0.1473},
344 {0.2433, 0.1665, 0.4017, 0.1885}},
345 {
346 {0.2215, 0.2250, 0.2905, 0.2630},
347 {0.2176, 0.3967, 0.0910, 0.2947},
348 {0.2006, 0.2812, 0.3318, 0.1864},
349 {0.1508, 0.2129, 0.3271, 0.3092}},
350 {
351 {0.2419, 0.2239, 0.3068, 0.2273},
352 {0.2235, 0.4009, 0.0949, 0.2806},
353 {0.1939, 0.2718, 0.3708, 0.1636},
354 {0.1316, 0.2612, 0.3165, 0.2907}},
355 {
356 {0.2528, 0.1819, 0.3162, 0.2491},
357 {0.2387, 0.3371, 0.1141, 0.3102},
358 {0.1782, 0.2471, 0.4235, 0.1512},
359 {0.1370, 0.2205, 0.3467, 0.2959}},
360 {
361 {0.2379, 0.2069, 0.3329, 0.2222},
362 {0.2502, 0.3603, 0.1011, 0.2884},
363 {0.1817, 0.2574, 0.4032, 0.1577},
364 {0.1390, 0.2364, 0.3284, 0.2961}},
365 {
366 {0.2434, 0.1925, 0.3546, 0.2095},
367 {0.2179, 0.3823, 0.1122, 0.2876},
368 {0.1847, 0.2531, 0.3972, 0.1650},
369 {0.1347, 0.2107, 0.3201, 0.3345}},
370 {
371 {0.2193, 0.2092, 0.3448, 0.2266},
372 {0.2121, 0.3824, 0.1181, 0.2875},
373 {0.1823, 0.2673, 0.3809, 0.1695},
374 {0.1415, 0.2333, 0.2963, 0.3289}},
375 {
376 {0.2426, 0.2102, 0.3321, 0.2152},
377 {0.2304, 0.3816, 0.0998, 0.2881},
378 {0.1968, 0.2271, 0.3913, 0.1848},
379 {0.1381, 0.2257, 0.3168, 0.3194}},
380 {
381 {0.2384, 0.2059, 0.3235, 0.2321},
382 {0.2552, 0.3598, 0.0977, 0.2873},
383 {0.1800, 0.2397, 0.4127, 0.1676},
384 {0.1396, 0.2250, 0.3166, 0.3187}},
385 {
386 {0.2265, 0.2045, 0.3286, 0.2404},
387 {0.2488, 0.3676, 0.0941, 0.2895},
388 {0.1780, 0.2302, 0.4026, 0.1892},
389 {0.1461, 0.2209, 0.3182, 0.3149}},
390 {
391 {0.2246, 0.2019, 0.3432, 0.2304},
392 {0.2389, 0.3645, 0.1110, 0.2855},
393 {0.1787, 0.2288, 0.4343, 0.1583},
394 {0.1472, 0.2296, 0.3305, 0.2927}},
395 {
396 {0.2371, 0.1888, 0.3355, 0.2386},
397 {0.2269, 0.3527, 0.1034, 0.3171},
398 {0.1865, 0.2411, 0.3960, 0.1764},
399 {0.1548, 0.2176, 0.3178, 0.3099}},
400 {
401 {0.2553, 0.2047, 0.3231, 0.2169},
402 {0.2272, 0.3755, 0.0973, 0.3000},
403 {0.1779, 0.2496, 0.4013, 0.1711},
404 {0.1402, 0.2431, 0.3144, 0.3023}},
405 {
406 {0.2423, 0.1966, 0.3420, 0.2191},
407 {0.2343, 0.3554, 0.0977, 0.3125},
408 {0.1817, 0.2314, 0.4010, 0.1859},
409 {0.1443, 0.2210, 0.3266, 0.3082}},
410 {
411 {0.2352, 0.1924, 0.3514, 0.2210},
412 {0.2531, 0.3526, 0.0973, 0.2969},
413 {0.1865, 0.2237, 0.4143, 0.1755},
414 {0.1432, 0.2343, 0.3228, 0.2997}},
415 {
416 {0.2360, 0.1925, 0.3497, 0.2218},
417 {0.2425, 0.3486, 0.1008, 0.3081},
418 {0.1973, 0.2277, 0.4166, 0.1584},
419 {0.1548, 0.2253, 0.3112, 0.3088}},
420 {
421 {0.2404, 0.1981, 0.3385, 0.2230},
422 {0.2476, 0.3466, 0.1014, 0.3044},
423 {0.1794, 0.2341, 0.4077, 0.1788},
424 {0.1596, 0.2225, 0.3186, 0.2993}},
425 {
426 {0.2354, 0.1999, 0.3162, 0.2485},
427 {0.2574, 0.3465, 0.0902, 0.3058},
428 {0.1970, 0.2206, 0.4158, 0.1666},
429 {0.1480, 0.2174, 0.3453, 0.2893}},
430 {
431 {0.2373, 0.1881, 0.3496, 0.2250},
432 {0.2557, 0.3509, 0.0933, 0.3001},
433 {0.1871, 0.2308, 0.4087, 0.1734},
434 {0.1479, 0.2322, 0.3334, 0.2866}},
435 {
436 {0.2463, 0.1872, 0.3339, 0.2325},
437 {0.2534, 0.3291, 0.0951, 0.3225},
438 {0.1975, 0.2176, 0.4099, 0.1750},
439 {0.1395, 0.2331, 0.3315, 0.2959}},
440 {
441 {0.2408, 0.1790, 0.3414, 0.2387},
442 {0.2448, 0.3528, 0.0934, 0.3090},
443 {0.1929, 0.2135, 0.4192, 0.1744},
444 {0.1644, 0.2273, 0.3164, 0.2919}},
445 {
446 {0.2522, 0.2022, 0.3412, 0.2045},
447 {0.2583, 0.3496, 0.0903, 0.3018},
448 {0.1888, 0.2170, 0.4145, 0.1796},
449 {0.1583, 0.2181, 0.3255, 0.2981}},
450 {
451 {0.2528, 0.1937, 0.3300, 0.2235},
452 {0.2612, 0.3340, 0.0938, 0.3111},
453 {0.2061, 0.2203, 0.3905, 0.1832},
454 {0.1680, 0.2285, 0.3081, 0.2954}},
455 {
456 {0.2487, 0.1988, 0.3382, 0.2142},
457 {0.2512, 0.3453, 0.0904, 0.3132},
458 {0.1981, 0.2190, 0.4000, 0.1829},
459 {0.1496, 0.2394, 0.3150, 0.2960}},
460 {
461 {0.2512, 0.1917, 0.3336, 0.2236},
462 {0.2570, 0.3354, 0.0951, 0.3124},
463 {0.2043, 0.2003, 0.4240, 0.1714},
464 {0.1454, 0.2523, 0.3047, 0.2976}},
465 {
466 {0.2421, 0.1843, 0.3521, 0.2215},
467 {0.2565, 0.3310, 0.0936, 0.3188},
468 {0.1925, 0.2174, 0.4012, 0.1889},
469 {0.1622, 0.2217, 0.3236, 0.2925}},
470 {
471 {0.2318, 0.1948, 0.3445, 0.2289},
472 {0.2455, 0.3399, 0.0917, 0.3229},
473 {0.1958, 0.2265, 0.3949, 0.1828},
474 {0.1641, 0.2259, 0.3181, 0.2919}},
475 {
476 {0.2429, 0.1973, 0.3380, 0.2218},
477 {0.2683, 0.3209, 0.1001, 0.3107},
478 {0.2014, 0.2067, 0.4000, 0.1919},
479 {0.1485, 0.2248, 0.3262, 0.3004}},
480 {
481 {0.2455, 0.1964, 0.3427, 0.2154},
482 {0.2494, 0.3435, 0.0948, 0.3123},
483 {0.2160, 0.2137, 0.3898, 0.1805},
484 {0.1507, 0.2399, 0.3301, 0.2792}},
485 {
486 {0.2573, 0.1981, 0.3320, 0.2126},
487 {0.2626, 0.3338, 0.0939, 0.3097},
488 {0.1962, 0.2156, 0.4036, 0.1846},
489 {0.1559, 0.2257, 0.3136, 0.3048}},
490 {
491 {0.2535, 0.1913, 0.3369, 0.2183},
492 {0.2577, 0.3332, 0.0896, 0.3194},
493 {0.2169, 0.2035, 0.3823, 0.1973},
494 {0.1517, 0.2342, 0.3177, 0.2965}},
495 {
496 {0.2450, 0.1899, 0.3445, 0.2205},
497 {0.2605, 0.3350, 0.0903, 0.3142},
498 {0.1882, 0.2127, 0.4034, 0.1958},
499 {0.1571, 0.2428, 0.3254, 0.2747}},
500 {
501 {0.2607, 0.1921, 0.3406, 0.2065},
502 {0.2731, 0.3465, 0.0858, 0.2947},
503 {0.2054, 0.2154, 0.3923, 0.1870},
504 {0.1672, 0.2334, 0.3203, 0.2791}},
505 {
506 {0.2622, 0.1934, 0.3207, 0.2237},
507 {0.2531, 0.3496, 0.0808, 0.3165},
508 {0.2060, 0.2287, 0.3721, 0.1933},
509 {0.1613, 0.2331, 0.3152, 0.2904}},
510 {
511 {0.2308, 0.1986, 0.3438, 0.2267},
512 {0.2752, 0.3250, 0.0931, 0.3067},
513 {0.2108, 0.2203, 0.3796, 0.1893},
514 {0.1572, 0.2473, 0.3161, 0.2794}},
515 {
516 {0.2386, 0.2001, 0.3439, 0.2175},
517 {0.2691, 0.3350, 0.0807, 0.3153},
518 {0.2199, 0.2260, 0.3749, 0.1792},
519 {0.1553, 0.2364, 0.3328, 0.2756}},
520 {
521 {0.2572, 0.1777, 0.3526, 0.2125},
522 {0.2692, 0.3370, 0.0870, 0.3068},
523 {0.2204, 0.2186, 0.3714, 0.1896},
524 {0.1543, 0.2308, 0.3229, 0.2919}},
525 {
526 {0.2620, 0.1714, 0.3615, 0.2051},
527 {0.2742, 0.3298, 0.0806, 0.3154},
528 {0.2124, 0.2168, 0.3843, 0.1865},
529 {0.1540, 0.2153, 0.3224, 0.3083}},
530 {
531 {0.2439, 0.1965, 0.3466, 0.2130},
532 {0.2619, 0.3543, 0.0824, 0.3014},
533 {0.2191, 0.2046, 0.3793, 0.1970},
534 {0.1662, 0.2320, 0.3061, 0.2957}},
535 {
536 {0.2492, 0.1800, 0.3502, 0.2206},
537 {0.2643, 0.3367, 0.0810, 0.3180},
538 {0.2137, 0.2179, 0.3673, 0.2011},
539 {0.1616, 0.2365, 0.3027, 0.2992}},
540 {
541 {0.2504, 0.1814, 0.3384, 0.2299},
542 {0.2616, 0.3398, 0.0820, 0.3165},
543 {0.2144, 0.2184, 0.3696, 0.1975},
544 {0.1643, 0.2291, 0.3290, 0.2775}},
545 {
546 {0.2512, 0.1958, 0.3271, 0.2259},
547 {0.2680, 0.3319, 0.0857, 0.3144},
548 {0.2201, 0.2189, 0.3709, 0.1900},
549 {0.1544, 0.2287, 0.3081, 0.3088}},
550 {
551 {0.2606, 0.1914, 0.3356, 0.2123},
552 {0.2581, 0.3420, 0.0883, 0.3116},
553 {0.2288, 0.2342, 0.3545, 0.1824},
554 {0.1560, 0.2354, 0.3156, 0.2930}},
555 {
556 {0.2702, 0.1894, 0.3309, 0.2094},
557 {0.2620, 0.3396, 0.0807, 0.3177},
558 {0.2159, 0.2166, 0.3731, 0.1943},
559 {0.1447, 0.2351, 0.3142, 0.3060}},
560 {
561 {0.2420, 0.1803, 0.3609, 0.2168},
562 {0.2716, 0.3462, 0.0833, 0.2988},
563 {0.2226, 0.2293, 0.3588, 0.1893},
564 {0.1732, 0.2370, 0.3000, 0.2898}},
565 {
566 {0.2694, 0.1950, 0.3130, 0.2227},
567 {0.2604, 0.3275, 0.0863, 0.3258},
568 {0.2221, 0.2289, 0.3576, 0.1914},
569 {0.1611, 0.2455, 0.3136, 0.2798}}
570 },
571 { /* Splice_Site: Fs_GT; Species: Human */
572 {
573 {0.2288, 0.2288, 0.2288, 0.2288},
574 {0.2650, 0.2650, 0.2650, 0.2650},
575 {0.2444, 0.2444, 0.2444, 0.2444},
576 {0.2618, 0.2618, 0.2618, 0.2618}},
577 {
578 {0.2351, 0.2231, 0.3322, 0.2095},
579 {0.2780, 0.3278, 0.1023, 0.2918},
580 {0.2471, 0.2841, 0.2761, 0.1927},
581 {0.1431, 0.2527, 0.3366, 0.2676}},
582 {
583 {0.2386, 0.2354, 0.3211, 0.2049},
584 {0.2857, 0.3089, 0.1095, 0.2958},
585 {0.2287, 0.2686, 0.3118, 0.1909},
586 {0.1441, 0.2541, 0.3121, 0.2897}},
587 {
588 {0.2631, 0.2141, 0.2828, 0.2400},
589 {0.2601, 0.3141, 0.1081, 0.3176},
590 {0.2561, 0.2524, 0.2919, 0.1996},
591 {0.1529, 0.2618, 0.3064, 0.2789}},
592 {
593 {0.2369, 0.2369, 0.3174, 0.2087},
594 {0.2506, 0.3349, 0.1103, 0.3042},
595 {0.2487, 0.2698, 0.2882, 0.1933},
596 {0.1382, 0.2757, 0.3302, 0.2559}},
597 {
598 {0.2506, 0.2065, 0.3302, 0.2127},
599 {0.2786, 0.3134, 0.1132, 0.2948},
600 {0.2469, 0.2658, 0.3069, 0.1803},
601 {0.1448, 0.2477, 0.3258, 0.2817}},
602 {
603 {0.2498, 0.2255, 0.2878, 0.2370},
604 {0.2831, 0.3001, 0.1013, 0.3154},
605 {0.2495, 0.2584, 0.2714, 0.2207},
606 {0.1471, 0.2612, 0.2935, 0.2982}},
607 {
608 {0.2470, 0.2140, 0.3182, 0.2208},
609 {0.2760, 0.3364, 0.0962, 0.2914},
610 {0.2220, 0.2800, 0.2855, 0.2125},
611 {0.1500, 0.2543, 0.3370, 0.2586}},
612 {
613 {0.2551, 0.2130, 0.3104, 0.2216},
614 {0.2865, 0.3233, 0.0988, 0.2915},
615 {0.2584, 0.2588, 0.3011, 0.1817},
616 {0.1538, 0.2529, 0.3244, 0.2689}},
617 {
618 {0.2652, 0.2202, 0.2878, 0.2267},
619 {0.2880, 0.2951, 0.1060, 0.3108},
620 {0.2435, 0.2615, 0.2742, 0.2207},
621 {0.1497, 0.2590, 0.2985, 0.2928}},
622 {
623 {0.2398, 0.2282, 0.3178, 0.2142},
624 {0.2755, 0.3343, 0.1035, 0.2866},
625 {0.2527, 0.2705, 0.2904, 0.1863},
626 {0.1378, 0.2623, 0.3270, 0.2729}},
627 {
628 {0.2659, 0.2014, 0.3305, 0.2022},
629 {0.2813, 0.3153, 0.1134, 0.2900},
630 {0.2457, 0.2693, 0.2989, 0.1861},
631 {0.1475, 0.2617, 0.3064, 0.2843}},
632 {
633 {0.2708, 0.2149, 0.2809, 0.2335},
634 {0.2905, 0.3104, 0.1023, 0.2969},
635 {0.2685, 0.2564, 0.2634, 0.2116},
636 {0.1386, 0.2785, 0.2885, 0.2944}},
637 {
638 {0.2440, 0.2108, 0.3211, 0.2242},
639 {0.2635, 0.3409, 0.1013, 0.2943},
640 {0.2418, 0.2739, 0.2925, 0.1918},
641 {0.1461, 0.2543, 0.3228, 0.2768}},
642 {
643 {0.2489, 0.2178, 0.3093, 0.2240},
644 {0.2985, 0.3124, 0.1150, 0.2740},
645 {0.2417, 0.2667, 0.3075, 0.1842},
646 {0.1410, 0.2530, 0.3365, 0.2694}},
647 {
648 {0.2584, 0.2265, 0.2742, 0.2409},
649 {0.2766, 0.3109, 0.1039, 0.3086},
650 {0.2428, 0.2695, 0.2751, 0.2126},
651 {0.1370, 0.2486, 0.3168, 0.2977}},
652 {
653 {0.2391, 0.2385, 0.3152, 0.2072},
654 {0.2764, 0.3200, 0.1078, 0.2959},
655 {0.2383, 0.2762, 0.2795, 0.2059},
656 {0.1442, 0.2605, 0.3385, 0.2568}},
657 {
658 {0.2529, 0.2146, 0.3311, 0.2014},
659 {0.3098, 0.3101, 0.1116, 0.2686},
660 {0.2492, 0.2682, 0.2896, 0.1930},
661 {0.1480, 0.2605, 0.3275, 0.2639}},
662 {
663 {0.2559, 0.2205, 0.2828, 0.2407},
664 {0.2788, 0.3136, 0.1027, 0.3049},
665 {0.2598, 0.2506, 0.2754, 0.2142},
666 {0.1439, 0.2624, 0.3055, 0.2882}},
667 {
668 {0.2442, 0.2225, 0.3305, 0.2027},
669 {0.2764, 0.3268, 0.1041, 0.2927},
670 {0.2210, 0.2763, 0.3008, 0.2019},
671 {0.1315, 0.2605, 0.3532, 0.2548}},
672 {
673 {0.2613, 0.2257, 0.3011, 0.2119},
674 {0.2932, 0.3177, 0.1112, 0.2779},
675 {0.2600, 0.2650, 0.2950, 0.1801},
676 {0.1458, 0.2626, 0.3278, 0.2638}},
677 {
678 {0.2502, 0.2182, 0.2846, 0.2470},
679 {0.2874, 0.2906, 0.0997, 0.3223},
680 {0.2601, 0.2529, 0.2706, 0.2163},
681 {0.1508, 0.2616, 0.3069, 0.2807}},
682 {
683 {0.2531, 0.2194, 0.3317, 0.1958},
684 {0.2906, 0.3186, 0.1080, 0.2829},
685 {0.2460, 0.2515, 0.3105, 0.1920},
686 {0.1303, 0.2570, 0.3529, 0.2599}},
687 {
688 {0.2564, 0.2229, 0.3154, 0.2053},
689 {0.2954, 0.3089, 0.1168, 0.2789},
690 {0.2470, 0.2585, 0.3115, 0.1830},
691 {0.1544, 0.2666, 0.3116, 0.2673}},
692 {
693 {0.2533, 0.2187, 0.2949, 0.2331},
694 {0.2821, 0.3094, 0.1091, 0.2995},
695 {0.2593, 0.2495, 0.2754, 0.2158},
696 {0.1565, 0.2506, 0.3038, 0.2891}},
697 {
698 {0.2304, 0.2200, 0.3406, 0.2091},
699 {0.2772, 0.3185, 0.1120, 0.2923},
700 {0.2347, 0.2678, 0.3002, 0.1973},
701 {0.1324, 0.2541, 0.3553, 0.2582}},
702 {
703 {0.2689, 0.2134, 0.3192, 0.1985},
704 {0.2869, 0.3120, 0.1264, 0.2747},
705 {0.2476, 0.2621, 0.3025, 0.1878},
706 {0.1399, 0.2493, 0.3342, 0.2766}},
707 {
708 {0.2603, 0.2136, 0.2859, 0.2401},
709 {0.2669, 0.3149, 0.1059, 0.3123},
710 {0.2460, 0.2699, 0.2649, 0.2192},
711 {0.1519, 0.2512, 0.3012, 0.2957}},
712 {
713 {0.2513, 0.2268, 0.3284, 0.1935},
714 {0.2819, 0.3172, 0.1119, 0.2889},
715 {0.2458, 0.2719, 0.2915, 0.1909},
716 {0.1395, 0.2598, 0.3451, 0.2555}},
717 {
718 {0.2583, 0.2169, 0.3250, 0.1997},
719 {0.2890, 0.3079, 0.1190, 0.2840},
720 {0.2454, 0.2689, 0.3075, 0.1783},
721 {0.1475, 0.2543, 0.3205, 0.2777}},
722 {
723 {0.2705, 0.2061, 0.2918, 0.2316},
724 {0.2814, 0.2961, 0.1073, 0.3152},
725 {0.2645, 0.2521, 0.2625, 0.2209},
726 {0.1532, 0.2491, 0.3169, 0.2808}},
727 {
728 {0.2485, 0.2366, 0.3139, 0.2010},
729 {0.2661, 0.3268, 0.1152, 0.2918},
730 {0.2325, 0.2687, 0.2974, 0.2014},
731 {0.1418, 0.2459, 0.3576, 0.2546}},
732 {
733 {0.2621, 0.2172, 0.3245, 0.1963},
734 {0.2889, 0.3104, 0.1213, 0.2794},
735 {0.2390, 0.2422, 0.3427, 0.1761},
736 {0.1593, 0.2325, 0.3261, 0.2821}},
737 {
738 {0.2835, 0.2149, 0.2844, 0.2172},
739 {0.2895, 0.3021, 0.1138, 0.2946},
740 {0.2642, 0.2753, 0.2659, 0.1947},
741 {0.1495, 0.2778, 0.3019, 0.2708}},
742 {
743 {0.2561, 0.2281, 0.3137, 0.2021},
744 {0.2821, 0.3103, 0.1156, 0.2919},
745 {0.2492, 0.2564, 0.3029, 0.1915},
746 {0.1526, 0.2579, 0.3394, 0.2500}},
747 {
748 {0.2735, 0.2060, 0.3168, 0.2038},
749 {0.2950, 0.3017, 0.1197, 0.2836},
750 {0.2584, 0.2564, 0.2957, 0.1895},
751 {0.1519, 0.2509, 0.3371, 0.2600}},
752 {
753 {0.2860, 0.2149, 0.2672, 0.2320},
754 {0.2816, 0.2973, 0.1126, 0.3084},
755 {0.2591, 0.2599, 0.2699, 0.2112},
756 {0.1575, 0.2426, 0.3150, 0.2850}},
757 {
758 {0.2295, 0.2165, 0.3461, 0.2079},
759 {0.2797, 0.3245, 0.1075, 0.2882},
760 {0.2483, 0.2634, 0.2891, 0.1992},
761 {0.1461, 0.2517, 0.3541, 0.2481}},
762 {
763 {0.2608, 0.2153, 0.3272, 0.1967},
764 {0.2953, 0.3164, 0.1184, 0.2698},
765 {0.2507, 0.2665, 0.3002, 0.1825},
766 {0.1384, 0.2458, 0.3482, 0.2676}},
767 {
768 {0.2760, 0.2149, 0.2751, 0.2340},
769 {0.2842, 0.2940, 0.1112, 0.3107},
770 {0.2585, 0.2442, 0.2859, 0.2114},
771 {0.1606, 0.2394, 0.3143, 0.2857}},
772 {
773 {0.2436, 0.2216, 0.3245, 0.2103},
774 {0.2852, 0.3147, 0.1111, 0.2890},
775 {0.2371, 0.2676, 0.3063, 0.1890},
776 {0.1373, 0.2455, 0.3701, 0.2471}},
777 {
778 {0.2540, 0.2054, 0.3242, 0.2163},
779 {0.2927, 0.3080, 0.1246, 0.2747},
780 {0.2351, 0.2547, 0.3163, 0.1940},
781 {0.1586, 0.2321, 0.3448, 0.2644}},
782 {
783 {0.2646, 0.2192, 0.2865, 0.2296},
784 {0.2989, 0.3033, 0.1055, 0.2923},
785 {0.2739, 0.2528, 0.2568, 0.2164},
786 {0.1487, 0.2476, 0.3268, 0.2769}},
787 {
788 {0.2362, 0.2163, 0.3372, 0.2104},
789 {0.2798, 0.3320, 0.1141, 0.2741},
790 {0.2505, 0.2606, 0.3016, 0.1873},
791 {0.1440, 0.2477, 0.3630, 0.2453}},
792 {
793 {0.2520, 0.1945, 0.3583, 0.1953},
794 {0.3099, 0.2956, 0.1237, 0.2708},
795 {0.2454, 0.2532, 0.3309, 0.1705},
796 {0.1720, 0.2330, 0.3457, 0.2493}},
797 {
798 {0.2652, 0.2274, 0.2674, 0.2400},
799 {0.2868, 0.2913, 0.1140, 0.3079},
800 {0.2575, 0.2636, 0.2547, 0.2243},
801 {0.1477, 0.2349, 0.3287, 0.2887}},
802 {
803 {0.2369, 0.2482, 0.3237, 0.1912},
804 {0.2914, 0.3266, 0.1100, 0.2721},
805 {0.2276, 0.2906, 0.2866, 0.1952},
806 {0.1492, 0.2499, 0.3633, 0.2376}},
807 {
808 {0.2354, 0.2112, 0.3379, 0.2156},
809 {0.3036, 0.2976, 0.1269, 0.2719},
810 {0.2550, 0.2495, 0.3055, 0.1900},
811 {0.1436, 0.2308, 0.3634, 0.2622}},
812 {
813 {0.2721, 0.2416, 0.2699, 0.2164},
814 {0.2943, 0.3198, 0.1232, 0.2628},
815 {0.2645, 0.2841, 0.2589, 0.1925},
816 {0.1513, 0.2776, 0.3229, 0.2483}},
817 {
818 {0.2959, 0.1135, 0.3008, 0.2898},
819 {0.3590, 0.1414, 0.0976, 0.4020},
820 {0.2981, 0.1264, 0.2843, 0.2913},
821 {0.1425, 0.1190, 0.4420, 0.2965}},
822 {
823 {0.0000, 0.0000, 1.0000, 0.0000},
824 {0.0000, 0.0000, 1.0000, 0.0000},
825 {0.0000, 0.0000, 1.0000, 0.0000},
826 {0.0000, 0.0000, 1.0000, 0.0000}},
827 {
828 {0.0000, 0.0000, 0.0000, 0.0000},
829 {0.0000, 0.0000, 0.0000, 0.0000},
830 {0.0000, 0.0000, 0.0000, 1.0000},
831 {0.0000, 0.0000, 0.0000, 0.0000}},
832 {
833 {0.0000, 0.0000, 0.0000, 0.0000},
834 {0.0000, 0.0000, 0.0000, 0.0000},
835 {0.0000, 0.0000, 0.0000, 0.0000},
836 {0.1497, 0.2394, 0.4095, 0.2013}},
837 {
838 {0.2233, 0.2879, 0.2238, 0.2650},
839 {0.2990, 0.3246, 0.0989, 0.2775},
840 {0.2323, 0.2558, 0.3598, 0.1521},
841 {0.1453, 0.2985, 0.2497, 0.3065}},
842 {
843 {0.2475, 0.2357, 0.2723, 0.2446},
844 {0.2879, 0.3104, 0.0990, 0.3028},
845 {0.2686, 0.2567, 0.2686, 0.2061},
846 {0.1421, 0.2623, 0.3288, 0.2668}},
847 {
848 {0.2418, 0.2015, 0.3541, 0.2026},
849 {0.2807, 0.3238, 0.1057, 0.2898},
850 {0.2420, 0.2589, 0.2974, 0.2017},
851 {0.1473, 0.2617, 0.3623, 0.2288}},
852 {
853 {0.2521, 0.2151, 0.3420, 0.1908},
854 {0.3121, 0.2994, 0.1323, 0.2562},
855 {0.2527, 0.2443, 0.3170, 0.1860},
856 {0.1520, 0.2369, 0.3671, 0.2440}},
857 {
858 {0.2636, 0.2176, 0.2924, 0.2264},
859 {0.2977, 0.2877, 0.1219, 0.2928},
860 {0.2530, 0.2498, 0.2776, 0.2197},
861 {0.1551, 0.2407, 0.3171, 0.2872}},
862 {
863 {0.2508, 0.2260, 0.3284, 0.1948},
864 {0.2759, 0.3231, 0.1176, 0.2834},
865 {0.2461, 0.2565, 0.2932, 0.2042},
866 {0.1441, 0.2410, 0.3888, 0.2261}},
867 {
868 {0.2557, 0.2000, 0.3479, 0.1964},
869 {0.3014, 0.2868, 0.1362, 0.2755},
870 {0.2593, 0.2510, 0.3073, 0.1825},
871 {0.1686, 0.2248, 0.3705, 0.2361}},
872 {
873 {0.2574, 0.2379, 0.2761, 0.2286},
874 {0.2901, 0.2908, 0.1139, 0.3052},
875 {0.2551, 0.2760, 0.2651, 0.2038},
876 {0.1562, 0.2471, 0.3229, 0.2738}},
877 {
878 {0.2441, 0.2240, 0.3327, 0.1992},
879 {0.2778, 0.3121, 0.1083, 0.3017},
880 {0.2522, 0.2599, 0.2812, 0.2067},
881 {0.1489, 0.2469, 0.3583, 0.2459}},
882 {
883 {0.2506, 0.2286, 0.3309, 0.1899},
884 {0.2945, 0.3068, 0.1292, 0.2695},
885 {0.2466, 0.2623, 0.3127, 0.1783},
886 {0.1573, 0.2396, 0.3575, 0.2456}},
887 {
888 {0.2572, 0.2261, 0.2934, 0.2233},
889 {0.2701, 0.2925, 0.1213, 0.3161},
890 {0.2732, 0.2337, 0.2775, 0.2156},
891 {0.1534, 0.2302, 0.3254, 0.2911}},
892 {
893 {0.2332, 0.2200, 0.3345, 0.2122},
894 {0.2928, 0.3168, 0.1031, 0.2872},
895 {0.2426, 0.2641, 0.2860, 0.2074},
896 {0.1461, 0.2615, 0.3572, 0.2353}},
897 {
898 {0.2565, 0.2118, 0.3341, 0.1977},
899 {0.3063, 0.2985, 0.1197, 0.2755},
900 {0.2475, 0.2580, 0.3035, 0.1911},
901 {0.1574, 0.2524, 0.3462, 0.2440}},
902 {
903 {0.2760, 0.2219, 0.2922, 0.2100},
904 {0.2771, 0.3008, 0.1179, 0.3043},
905 {0.2706, 0.2427, 0.2828, 0.2039},
906 {0.1670, 0.2485, 0.3112, 0.2734}},
907 {
908 {0.2418, 0.2241, 0.3137, 0.2204},
909 {0.2958, 0.3040, 0.1168, 0.2835},
910 {0.2329, 0.2724, 0.3023, 0.1924},
911 {0.1445, 0.2621, 0.3633, 0.2301}},
912 {
913 {0.2644, 0.2149, 0.3282, 0.1925},
914 {0.3314, 0.2804, 0.1329, 0.2553},
915 {0.2427, 0.2583, 0.3241, 0.1749},
916 {0.1525, 0.2403, 0.3613, 0.2459}},
917 {
918 {0.2737, 0.2185, 0.2936, 0.2142},
919 {0.3030, 0.2951, 0.1196, 0.2823},
920 {0.2606, 0.2528, 0.2792, 0.2074},
921 {0.1660, 0.2508, 0.3139, 0.2693}},
922 {
923 {0.2426, 0.2176, 0.3383, 0.2015},
924 {0.2723, 0.3220, 0.1095, 0.2962},
925 {0.2410, 0.2719, 0.2873, 0.1998},
926 {0.1651, 0.2581, 0.3429, 0.2339}},
927 {
928 {0.2773, 0.2012, 0.3183, 0.2032},
929 {0.3074, 0.2914, 0.1234, 0.2778},
930 {0.2450, 0.2415, 0.3278, 0.1857},
931 {0.1447, 0.2340, 0.3560, 0.2653}},
932 {
933 {0.2608, 0.2102, 0.3128, 0.2163},
934 {0.2887, 0.2870, 0.1152, 0.3091},
935 {0.2417, 0.2670, 0.2680, 0.2234},
936 {0.1542, 0.2542, 0.3166, 0.2750}},
937 {
938 {0.2491, 0.2262, 0.3200, 0.2048},
939 {0.2870, 0.3137, 0.1126, 0.2867},
940 {0.2343, 0.2719, 0.3017, 0.1922},
941 {0.1563, 0.2365, 0.3431, 0.2641}},
942 {
943 {0.2482, 0.2297, 0.3253, 0.1969},
944 {0.2963, 0.3094, 0.1230, 0.2714},
945 {0.2567, 0.2463, 0.3095, 0.1875},
946 {0.1574, 0.2488, 0.3540, 0.2399}},
947 {
948 {0.2566, 0.2159, 0.3004, 0.2271},
949 {0.2947, 0.2854, 0.1087, 0.3111},
950 {0.2633, 0.2677, 0.2645, 0.2046},
951 {0.1714, 0.2300, 0.3143, 0.2843}},
952 {
953 {0.2317, 0.2332, 0.3481, 0.1870},
954 {0.2946, 0.3122, 0.1178, 0.2754},
955 {0.2417, 0.2738, 0.2852, 0.1993},
956 {0.1511, 0.2655, 0.3510, 0.2324}},
957 {
958 {0.2662, 0.2180, 0.3184, 0.1974},
959 {0.2992, 0.3004, 0.1285, 0.2718},
960 {0.2433, 0.2460, 0.3255, 0.1852},
961 {0.1461, 0.2520, 0.3519, 0.2501}},
962 {
963 {0.2681, 0.2157, 0.2968, 0.2195},
964 {0.2922, 0.3038, 0.1105, 0.2935},
965 {0.2617, 0.2488, 0.2730, 0.2165},
966 {0.1561, 0.2512, 0.3173, 0.2753}},
967 {
968 {0.2485, 0.2259, 0.3379, 0.1877},
969 {0.2919, 0.3252, 0.1126, 0.2703},
970 {0.2325, 0.2694, 0.3098, 0.1883},
971 {0.1384, 0.2644, 0.3651, 0.2321}},
972 {
973 {0.2576, 0.2129, 0.3225, 0.2071},
974 {0.3073, 0.3048, 0.1087, 0.2792},
975 {0.2475, 0.2495, 0.3251, 0.1779},
976 {0.1596, 0.2309, 0.3568, 0.2527}},
977 {
978 {0.2647, 0.2105, 0.3076, 0.2173},
979 {0.2868, 0.3064, 0.1019, 0.3049},
980 {0.2505, 0.2506, 0.2857, 0.2132},
981 {0.1664, 0.2447, 0.3118, 0.2771}},
982 {
983 {0.2383, 0.2238, 0.3441, 0.1938},
984 {0.2873, 0.3148, 0.1099, 0.2880},
985 {0.2352, 0.2713, 0.3024, 0.1911},
986 {0.1496, 0.2466, 0.3546, 0.2492}},
987 {
988 {0.2668, 0.2060, 0.3211, 0.2061},
989 {0.2878, 0.3085, 0.1232, 0.2804},
990 {0.2535, 0.2355, 0.3260, 0.1851},
991 {0.1557, 0.2454, 0.3516, 0.2474}},
992 {
993 {0.2707, 0.2099, 0.2992, 0.2203},
994 {0.2752, 0.3151, 0.1091, 0.3005},
995 {0.2490, 0.2537, 0.3020, 0.1954},
996 {0.1531, 0.2417, 0.3255, 0.2797}},
997 {
998 {0.2420, 0.2244, 0.3372, 0.1965},
999 {0.3018, 0.3092, 0.1150, 0.2740},
1000 {0.2425, 0.2525, 0.3057, 0.1992},
1001 {0.1573, 0.2435, 0.3680, 0.2312}},
1002 {
1003 {0.2551, 0.2156, 0.3181, 0.2112},
1004 {0.3121, 0.2963, 0.1165, 0.2751},
1005 {0.2414, 0.2561, 0.3217, 0.1809},
1006 {0.1550, 0.2419, 0.3443, 0.2589}},
1007 {
1008 {0.2727, 0.2094, 0.2996, 0.2182},
1009 {0.2944, 0.2960, 0.1077, 0.3019},
1010 {0.2718, 0.2513, 0.2715, 0.2054},
1011 {0.1549, 0.2437, 0.3175, 0.2839}},
1012 {
1013 {0.2367, 0.2365, 0.3319, 0.1948},
1014 {0.2931, 0.3114, 0.1122, 0.2833},
1015 {0.2536, 0.2595, 0.2945, 0.1924},
1016 {0.1589, 0.2554, 0.3423, 0.2433}},
1017 {
1018 {0.2597, 0.2304, 0.3225, 0.1874},
1019 {0.2993, 0.3170, 0.1198, 0.2640},
1020 {0.2436, 0.2568, 0.3230, 0.1765},
1021 {0.1455, 0.2544, 0.3563, 0.2438}},
1022 {
1023 {0.2600, 0.2152, 0.2945, 0.2303},
1024 {0.2946, 0.3012, 0.1005, 0.3036},
1025 {0.2564, 0.2404, 0.2930, 0.2102},
1026 {0.1576, 0.2516, 0.3115, 0.2794}},
1027 {
1028 {0.2340, 0.2309, 0.3246, 0.2106},
1029 {0.2856, 0.3123, 0.1127, 0.2895},
1030 {0.2365, 0.2632, 0.3199, 0.1805},
1031 {0.1610, 0.2469, 0.3464, 0.2457}},
1032 {
1033 {0.2610, 0.2222, 0.3104, 0.2063},
1034 {0.3044, 0.3039, 0.1368, 0.2550},
1035 {0.2503, 0.2527, 0.3259, 0.1710},
1036 {0.1562, 0.2432, 0.3409, 0.2597}},
1037 {
1038 {0.2746, 0.2075, 0.2985, 0.2194},
1039 {0.2844, 0.2934, 0.1164, 0.3058},
1040 {0.2535, 0.2424, 0.2906, 0.2135},
1041 {0.1573, 0.2504, 0.3149, 0.2775}},
1042 {
1043 {0.2340, 0.2251, 0.3339, 0.2070},
1044 {0.2835, 0.3259, 0.1155, 0.2751},
1045 {0.2365, 0.2575, 0.3152, 0.1908},
1046 {0.1476, 0.2486, 0.3560, 0.2477}},
1047 {
1048 {0.2665, 0.2108, 0.3107, 0.2120},
1049 {0.3004, 0.3092, 0.1249, 0.2655},
1050 {0.2465, 0.2471, 0.3169, 0.1896},
1051 {0.1601, 0.2470, 0.3407, 0.2523}},
1052 {
1053 {0.2854, 0.2038, 0.2993, 0.2115},
1054 {0.2936, 0.2948, 0.1144, 0.2971},
1055 {0.2545, 0.2425, 0.2880, 0.2151},
1056 {0.1454, 0.2540, 0.3218, 0.2788}},
1057 {
1058 {0.2602, 0.2051, 0.3461, 0.1886},
1059 {0.2746, 0.3208, 0.1121, 0.2924},
1060 {0.2365, 0.2570, 0.3168, 0.1897},
1061 {0.1462, 0.2654, 0.3351, 0.2534}},
1062 {
1063 {0.2705, 0.1979, 0.3323, 0.1992},
1064 {0.3160, 0.2934, 0.1208, 0.2698},
1065 {0.2552, 0.2446, 0.3136, 0.1865},
1066 {0.1583, 0.2413, 0.3537, 0.2467}},
1067 {
1068 {0.2695, 0.2046, 0.2995, 0.2265},
1069 {0.2959, 0.3011, 0.1055, 0.2975},
1070 {0.2524, 0.2358, 0.2954, 0.2164},
1071 {0.1619, 0.2477, 0.3088, 0.2816}},
1072 {
1073 {0.2479, 0.2132, 0.3346, 0.2043},
1074 {0.2830, 0.3368, 0.1066, 0.2736},
1075 {0.2276, 0.2578, 0.3117, 0.2029},
1076 {0.1622, 0.2576, 0.3435, 0.2367}},
1077 {
1078 {0.2657, 0.2119, 0.3249, 0.1976},
1079 {0.3064, 0.3066, 0.1075, 0.2793},
1080 {0.2522, 0.2478, 0.2958, 0.2040},
1081 {0.1680, 0.2405, 0.3442, 0.2470}}
1082 }
1083 },
1084 {
1085 { /* Splice_Site: Tr_GT; Species: Mouse */
1086 {
1087 {0.2419, 0.2419, 0.2419, 0.2419},
1088 {0.2953, 0.2953, 0.2953, 0.2953},
1089 {0.2290, 0.2290, 0.2290, 0.2290},
1090 {0.2338, 0.2338, 0.2338, 0.2338}},
1091 {
1092 {0.2648, 0.2397, 0.3305, 0.1649},
1093 {0.3199, 0.2980, 0.0935, 0.2886},
1094 {0.2654, 0.2899, 0.2717, 0.1730},
1095 {0.1101, 0.2860, 0.3887, 0.2152}},
1096 {
1097 {0.1776, 0.2522, 0.2936, 0.2767},
1098 {0.2963, 0.2750, 0.1159, 0.3128},
1099 {0.2512, 0.2934, 0.2908, 0.1646},
1100 {0.1057, 0.2995, 0.3681, 0.2267}},
1101 {
1102 {0.2462, 0.2420, 0.3089, 0.2029},
1103 {0.2779, 0.3146, 0.1207, 0.2868},
1104 {0.2759, 0.3314, 0.2367, 0.1560},
1105 {0.1144, 0.2878, 0.4075, 0.1902}},
1106 {
1107 {0.2068, 0.2560, 0.3516, 0.1855},
1108 {0.2961, 0.2962, 0.1136, 0.2941},
1109 {0.2455, 0.2915, 0.2933, 0.1697},
1110 {0.1254, 0.2587, 0.4236, 0.1922}},
1111 {
1112 {0.2297, 0.2169, 0.3474, 0.2059},
1113 {0.3109, 0.3008, 0.1187, 0.2697},
1114 {0.3103, 0.2060, 0.3010, 0.1827},
1115 {0.1493, 0.2690, 0.3942, 0.1875}},
1116 {
1117 {0.2420, 0.2462, 0.2519, 0.2599},
1118 {0.2677, 0.2853, 0.1238, 0.3232},
1119 {0.2558, 0.2511, 0.3268, 0.1663},
1120 {0.1117, 0.2932, 0.3637, 0.2314}},
1121 {
1122 {0.1966, 0.2399, 0.3437, 0.2198},
1123 {0.2882, 0.3141, 0.1078, 0.2899},
1124 {0.2407, 0.2764, 0.2942, 0.1888},
1125 {0.1081, 0.3016, 0.3761, 0.2143}},
1126 {
1127 {0.2429, 0.2513, 0.2949, 0.2110},
1128 {0.2760, 0.2987, 0.1265, 0.2988},
1129 {0.2874, 0.2324, 0.2908, 0.1894},
1130 {0.1087, 0.3106, 0.3265, 0.2541}},
1131 {
1132 {0.2464, 0.2561, 0.2714, 0.2261},
1133 {0.2656, 0.3286, 0.1132, 0.2926},
1134 {0.3113, 0.2756, 0.2070, 0.2060},
1135 {0.1405, 0.2909, 0.3305, 0.2380}},
1136 {
1137 {0.1887, 0.2536, 0.3569, 0.2008},
1138 {0.2774, 0.3353, 0.1007, 0.2866},
1139 {0.2296, 0.2895, 0.2896, 0.1913},
1140 {0.1300, 0.3200, 0.3733, 0.1767}},
1141 {
1142 {0.2558, 0.2582, 0.2852, 0.2008},
1143 {0.2961, 0.2991, 0.1129, 0.2919},
1144 {0.2795, 0.2469, 0.3219, 0.1518},
1145 {0.1103, 0.2939, 0.3977, 0.1981}},
1146 {
1147 {0.2535, 0.2224, 0.3292, 0.1949},
1148 {0.2611, 0.2816, 0.1085, 0.3487},
1149 {0.2889, 0.2450, 0.3085, 0.1576},
1150 {0.1047, 0.2665, 0.4048, 0.2239}},
1151 {
1152 {0.2017, 0.2452, 0.3762, 0.1768},
1153 {0.2569, 0.3264, 0.1308, 0.2859},
1154 {0.2881, 0.2728, 0.2954, 0.1437},
1155 {0.1252, 0.2928, 0.3690, 0.2130}},
1156 {
1157 {0.2302, 0.2425, 0.3645, 0.1628},
1158 {0.2899, 0.3039, 0.1241, 0.2821},
1159 {0.2699, 0.2749, 0.2820, 0.1731},
1160 {0.0980, 0.2862, 0.4079, 0.2079}},
1161 {
1162 {0.2331, 0.2332, 0.3048, 0.2289},
1163 {0.2624, 0.3103, 0.1065, 0.3208},
1164 {0.2773, 0.2910, 0.2859, 0.1458},
1165 {0.1098, 0.2837, 0.3675, 0.2391}},
1166 {
1167 {0.2256, 0.2671, 0.3431, 0.1643},
1168 {0.2379, 0.3450, 0.1155, 0.3016},
1169 {0.2652, 0.3244, 0.2537, 0.1567},
1170 {0.1152, 0.2910, 0.3921, 0.2017}},
1171 {
1172 {0.2134, 0.2383, 0.3746, 0.1737},
1173 {0.3028, 0.2691, 0.1183, 0.3097},
1174 {0.2879, 0.2638, 0.2989, 0.1494},
1175 {0.1525, 0.2718, 0.3724, 0.2033}},
1176 {
1177 {0.2350, 0.2203, 0.3233, 0.2214},
1178 {0.2816, 0.3231, 0.1475, 0.2478},
1179 {0.2611, 0.2696, 0.2949, 0.1744},
1180 {0.1050, 0.3001, 0.3648, 0.2300}},
1181 {
1182 {0.2110, 0.2649, 0.3481, 0.1760},
1183 {0.2862, 0.3135, 0.1053, 0.2949},
1184 {0.2555, 0.2612, 0.2991, 0.1842},
1185 {0.1030, 0.2570, 0.4161, 0.2240}},
1186 {
1187 {0.2242, 0.2325, 0.3016, 0.2418},
1188 {0.2636, 0.3040, 0.1282, 0.3041},
1189 {0.2750, 0.2501, 0.3000, 0.1748},
1190 {0.0995, 0.2960, 0.3694, 0.2351}},
1191 {
1192 {0.2565, 0.2234, 0.3225, 0.1976},
1193 {0.2731, 0.3059, 0.1252, 0.2958},
1194 {0.2942, 0.2562, 0.2763, 0.1732},
1195 {0.1062, 0.3623, 0.2883, 0.2433}},
1196 {
1197 {0.2122, 0.2324, 0.3784, 0.1770},
1198 {0.2766, 0.3071, 0.0993, 0.3170},
1199 {0.2609, 0.2777, 0.2801, 0.1813},
1200 {0.1134, 0.3013, 0.3778, 0.2075}},
1201 {
1202 {0.2183, 0.2582, 0.3265, 0.1970},
1203 {0.2748, 0.2832, 0.0828, 0.3591},
1204 {0.2769, 0.2710, 0.3205, 0.1316},
1205 {0.1066, 0.2254, 0.4241, 0.2439}},
1206 {
1207 {0.2204, 0.2681, 0.3142, 0.1973},
1208 {0.2730, 0.2987, 0.1060, 0.3222},
1209 {0.2531, 0.2575, 0.2933, 0.1961},
1210 {0.1182, 0.2952, 0.3235, 0.2631}},
1211 {
1212 {0.2145, 0.2492, 0.3620, 0.1743},
1213 {0.2846, 0.2916, 0.1109, 0.3130},
1214 {0.2553, 0.2514, 0.3142, 0.1792},
1215 {0.1186, 0.3265, 0.3708, 0.1841}},
1216 {
1217 {0.2210, 0.2661, 0.3237, 0.1892},
1218 {0.3101, 0.3015, 0.1053, 0.2831},
1219 {0.2768, 0.2639, 0.2996, 0.1597},
1220 {0.0897, 0.2647, 0.4241, 0.2215}},
1221 {
1222 {0.2713, 0.2506, 0.2907, 0.1874},
1223 {0.2886, 0.3128, 0.1192, 0.2794},
1224 {0.3164, 0.2507, 0.2606, 0.1723},
1225 {0.1464, 0.2951, 0.3354, 0.2231}},
1226 {
1227 {0.2044, 0.2527, 0.3481, 0.1947},
1228 {0.2648, 0.3049, 0.1001, 0.3302},
1229 {0.2626, 0.2625, 0.2947, 0.1802},
1230 {0.1060, 0.3163, 0.4192, 0.1585}},
1231 {
1232 {0.2506, 0.2571, 0.2856, 0.2067},
1233 {0.3270, 0.2446, 0.1048, 0.3236},
1234 {0.2759, 0.2740, 0.2809, 0.1692},
1235 {0.1160, 0.2366, 0.3561, 0.2913}},
1236 {
1237 {0.2353, 0.2447, 0.3063, 0.2136},
1238 {0.2729, 0.3429, 0.1032, 0.2811},
1239 {0.2691, 0.3089, 0.2266, 0.1954},
1240 {0.1127, 0.3397, 0.3161, 0.2315}},
1241 {
1242 {0.2095, 0.2539, 0.3414, 0.1952},
1243 {0.2711, 0.2985, 0.1163, 0.3140},
1244 {0.2441, 0.3060, 0.2851, 0.1648},
1245 {0.1108, 0.3212, 0.3607, 0.2073}},
1246 {
1247 {0.2618, 0.2531, 0.2974, 0.1877},
1248 {0.2711, 0.2897, 0.1163, 0.3230},
1249 {0.2611, 0.2651, 0.3240, 0.1498},
1250 {0.1210, 0.2459, 0.4062, 0.2268}},
1251 {
1252 {0.2439, 0.2699, 0.2837, 0.2025},
1253 {0.2494, 0.3150, 0.1224, 0.3132},
1254 {0.2952, 0.2446, 0.2913, 0.1689},
1255 {0.1295, 0.2468, 0.4128, 0.2109}},
1256 {
1257 {0.2030, 0.2672, 0.3499, 0.1799},
1258 {0.3004, 0.3318, 0.1018, 0.2660},
1259 {0.2589, 0.3019, 0.2936, 0.1456},
1260 {0.1260, 0.2868, 0.3977, 0.1895}},
1261 {
1262 {0.2277, 0.2859, 0.2864, 0.2000},
1263 {0.2754, 0.2710, 0.1081, 0.3454},
1264 {0.2758, 0.2813, 0.2681, 0.1748},
1265 {0.1489, 0.2754, 0.3983, 0.1774}},
1266 {
1267 {0.2801, 0.2349, 0.2687, 0.2163},
1268 {0.2861, 0.3231, 0.1068, 0.2840},
1269 {0.3260, 0.2454, 0.2743, 0.1544},
1270 {0.1487, 0.2864, 0.3442, 0.2207}},
1271 {
1272 {0.2420, 0.2509, 0.3577, 0.1494},
1273 {0.3156, 0.3424, 0.1097, 0.2323},
1274 {0.2289, 0.3214, 0.2622, 0.1875},
1275 {0.0925, 0.3680, 0.3489, 0.1906}},
1276 {
1277 {0.1796, 0.2710, 0.3439, 0.2055},
1278 {0.2906, 0.2634, 0.0962, 0.3498},
1279 {0.2605, 0.2693, 0.2928, 0.1773},
1280 {0.0937, 0.3231, 0.3609, 0.2223}},
1281 {
1282 {0.2874, 0.2114, 0.3062, 0.1950},
1283 {0.3058, 0.3003, 0.0904, 0.3035},
1284 {0.3209, 0.2880, 0.2102, 0.1808},
1285 {0.1336, 0.3157, 0.3224, 0.2283}},
1286 {
1287 {0.2123, 0.2319, 0.3780, 0.1779},
1288 {0.3009, 0.3011, 0.1001, 0.2979},
1289 {0.2736, 0.2414, 0.3318, 0.1531},
1290 {0.1075, 0.3063, 0.3924, 0.1939}},
1291 {
1292 {0.2346, 0.2322, 0.3561, 0.1772},
1293 {0.3088, 0.2916, 0.1090, 0.2907},
1294 {0.2580, 0.2546, 0.3159, 0.1715},
1295 {0.1482, 0.2143, 0.4437, 0.1938}},
1296 {
1297 {0.2729, 0.2481, 0.2608, 0.2182},
1298 {0.2927, 0.2952, 0.0999, 0.3122},
1299 {0.2746, 0.2376, 0.2967, 0.1911},
1300 {0.1285, 0.2476, 0.3948, 0.2291}},
1301 {
1302 {0.2616, 0.2076, 0.3612, 0.1696},
1303 {0.3355, 0.3175, 0.0735, 0.2734},
1304 {0.2963, 0.2541, 0.2811, 0.1685},
1305 {0.1311, 0.2631, 0.4086, 0.1972}},
1306 {
1307 {0.2361, 0.2423, 0.3213, 0.2003},
1308 {0.3355, 0.2845, 0.1050, 0.2750},
1309 {0.2830, 0.2425, 0.2496, 0.2249},
1310 {0.1511, 0.2477, 0.3726, 0.2286}},
1311 {
1312 {0.2578, 0.2224, 0.2613, 0.2585},
1313 {0.3296, 0.2916, 0.0634, 0.3155},
1314 {0.3200, 0.2909, 0.2130, 0.1762},
1315 {0.1545, 0.2624, 0.3003, 0.2828}},
1316 {
1317 {0.2775, 0.2602, 0.2922, 0.1701},
1318 {0.3312, 0.3252, 0.0891, 0.2545},
1319 {0.3107, 0.2691, 0.2536, 0.1666},
1320 {0.1730, 0.2838, 0.3756, 0.1676}},
1321 {
1322 {0.3079, 0.3781, 0.2153, 0.0988},
1323 {0.3770, 0.3819, 0.0903, 0.1507},
1324 {0.3386, 0.3871, 0.2053, 0.0690},
1325 {0.1376, 0.4728, 0.2738, 0.1158}},
1326 {
1327 {0.5796, 0.1017, 0.1527, 0.1660},
1328 {0.6975, 0.0996, 0.0528, 0.1500},
1329 {0.5977, 0.1405, 0.1463, 0.1155},
1330 {0.2018, 0.2159, 0.3216, 0.2607}},
1331 {
1332 {0.0630, 0.0235, 0.8711, 0.0424},
1333 {0.2217, 0.0857, 0.5142, 0.1784},
1334 {0.1348, 0.0403, 0.7660, 0.0589},
1335 {0.0419, 0.0161, 0.8951, 0.0469}},
1336 {
1337 {0.0000, 0.0000, 1.0000, 0.0000},
1338 {0.0000, 0.0000, 1.0000, 0.0000},
1339 {0.0000, 0.0000, 1.0000, 0.0000},
1340 {0.0000, 0.0000, 1.0000, 0.0000}},
1341 {
1342 {0.0000, 0.0000, 0.0000, 0.0000},
1343 {0.0000, 0.0000, 0.0000, 0.0000},
1344 {0.0000, 0.0000, 0.0000, 1.0000},
1345 {0.0000, 0.0000, 0.0000, 0.0000}},
1346 {
1347 {0.0000, 0.0000, 0.0000, 0.0000},
1348 {0.0000, 0.0000, 0.0000, 0.0000},
1349 {0.0000, 0.0000, 0.0000, 0.0000},
1350 {0.4807, 0.0356, 0.4578, 0.0259}},
1351 {
1352 {0.6378, 0.0929, 0.1298, 0.1396},
1353 {0.7441, 0.0849, 0.0326, 0.1384},
1354 {0.8346, 0.0477, 0.0795, 0.0382},
1355 {0.4250, 0.0865, 0.2929, 0.1955}},
1356 {
1357 {0.0446, 0.0368, 0.8846, 0.0341},
1358 {0.2285, 0.2480, 0.3239, 0.1997},
1359 {0.0790, 0.0366, 0.8088, 0.0755},
1360 {0.0573, 0.1153, 0.7357, 0.0916}},
1361 {
1362 {0.2435, 0.1538, 0.3655, 0.2372},
1363 {0.3102, 0.2667, 0.0836, 0.3395},
1364 {0.1532, 0.1513, 0.1962, 0.4993},
1365 {0.1451, 0.1408, 0.4909, 0.2232}},
1366 {
1367 {0.2486, 0.2055, 0.4065, 0.1394},
1368 {0.3486, 0.2868, 0.1068, 0.2578},
1369 {0.3384, 0.2199, 0.2935, 0.1482},
1370 {0.2289, 0.1723, 0.4430, 0.1558}},
1371 {
1372 {0.1920, 0.2193, 0.3149, 0.2738},
1373 {0.2252, 0.3594, 0.0957, 0.3197},
1374 {0.2520, 0.2521, 0.3021, 0.1938},
1375 {0.1394, 0.2390, 0.3603, 0.2613}},
1376 {
1377 {0.1730, 0.2807, 0.3417, 0.2046},
1378 {0.2433, 0.3430, 0.0899, 0.3238},
1379 {0.2175, 0.2810, 0.3257, 0.1758},
1380 {0.1473, 0.2887, 0.3337, 0.2303}},
1381 {
1382 {0.2150, 0.2567, 0.3354, 0.1930},
1383 {0.2356, 0.3118, 0.0738, 0.3788},
1384 {0.2335, 0.2171, 0.3966, 0.1527},
1385 {0.1505, 0.2073, 0.3884, 0.2537}},
1386 {
1387 {0.2135, 0.2263, 0.3743, 0.1859},
1388 {0.2959, 0.3200, 0.0927, 0.2914},
1389 {0.2195, 0.2284, 0.3838, 0.1683},
1390 {0.1344, 0.2647, 0.3394, 0.2615}},
1391 {
1392 {0.1996, 0.1944, 0.4169, 0.1892},
1393 {0.2352, 0.3314, 0.0763, 0.3570},
1394 {0.2005, 0.2508, 0.3640, 0.1847},
1395 {0.1454, 0.2500, 0.3541, 0.2505}},
1396 {
1397 {0.2518, 0.2158, 0.3431, 0.1894},
1398 {0.2532, 0.3621, 0.0591, 0.3256},
1399 {0.1963, 0.2483, 0.3560, 0.1994},
1400 {0.1324, 0.2569, 0.3430, 0.2677}},
1401 {
1402 {0.2625, 0.2313, 0.3465, 0.1596},
1403 {0.2459, 0.3379, 0.0819, 0.3343},
1404 {0.2496, 0.2075, 0.3757, 0.1672},
1405 {0.1509, 0.2574, 0.3421, 0.2496}},
1406 {
1407 {0.2117, 0.2273, 0.3589, 0.2021},
1408 {0.2739, 0.3279, 0.0830, 0.3152},
1409 {0.2296, 0.2116, 0.4019, 0.1569},
1410 {0.1486, 0.2731, 0.3000, 0.2783}},
1411 {
1412 {0.2338, 0.2058, 0.3757, 0.1848},
1413 {0.2318, 0.3456, 0.0957, 0.3270},
1414 {0.1999, 0.2054, 0.3971, 0.1976},
1415 {0.1376, 0.2430, 0.3196, 0.2998}},
1416 {
1417 {0.1912, 0.2458, 0.3545, 0.2085},
1418 {0.2580, 0.3239, 0.0870, 0.3311},
1419 {0.1888, 0.2185, 0.3827, 0.2100},
1420 {0.1350, 0.2356, 0.3113, 0.3181}},
1421 {
1422 {0.2120, 0.2367, 0.3576, 0.1937},
1423 {0.2329, 0.3301, 0.0829, 0.3541},
1424 {0.1920, 0.2043, 0.4217, 0.1821},
1425 {0.1333, 0.2508, 0.3541, 0.2618}},
1426 {
1427 {0.2049, 0.2063, 0.3867, 0.2021},
1428 {0.2510, 0.3567, 0.0763, 0.3159},
1429 {0.1818, 0.2306, 0.3810, 0.2066},
1430 {0.1133, 0.2720, 0.3425, 0.2722}},
1431 {
1432 {0.1949, 0.2152, 0.4023, 0.1876},
1433 {0.2373, 0.3437, 0.0792, 0.3397},
1434 {0.2269, 0.1868, 0.3893, 0.1970},
1435 {0.1269, 0.2452, 0.3398, 0.2882}},
1436 {
1437 {0.2558, 0.2296, 0.3572, 0.1575},
1438 {0.2358, 0.3241, 0.0955, 0.3446},
1439 {0.1950, 0.2082, 0.3815, 0.2153},
1440 {0.1504, 0.2311, 0.3357, 0.2828}},
1441 {
1442 {0.2622, 0.2129, 0.3310, 0.1940},
1443 {0.2799, 0.2966, 0.0883, 0.3352},
1444 {0.2067, 0.2219, 0.3867, 0.1848},
1445 {0.1212, 0.2546, 0.3676, 0.2566}},
1446 {
1447 {0.2586, 0.1906, 0.3477, 0.2032},
1448 {0.2389, 0.3373, 0.0876, 0.3363},
1449 {0.2255, 0.1895, 0.3862, 0.1988},
1450 {0.1567, 0.2711, 0.3008, 0.2713}},
1451 {
1452 {0.1958, 0.1909, 0.4053, 0.2080},
1453 {0.2499, 0.3072, 0.0664, 0.3765},
1454 {0.1932, 0.2174, 0.3914, 0.1980},
1455 {0.1222, 0.2690, 0.3539, 0.2549}},
1456 {
1457 {0.1992, 0.1939, 0.3730, 0.2340},
1458 {0.2487, 0.3330, 0.0952, 0.3231},
1459 {0.2112, 0.2234, 0.3924, 0.1730},
1460 {0.1349, 0.2588, 0.3514, 0.2548}},
1461 {
1462 {0.2370, 0.1984, 0.3998, 0.1648},
1463 {0.2605, 0.3533, 0.0640, 0.3221},
1464 {0.2249, 0.1808, 0.3972, 0.1971},
1465 {0.1349, 0.2276, 0.3929, 0.2446}},
1466 {
1467 {0.2172, 0.1865, 0.3634, 0.2329},
1468 {0.2360, 0.3552, 0.0678, 0.3411},
1469 {0.2169, 0.1604, 0.4485, 0.1742},
1470 {0.1280, 0.2560, 0.3639, 0.2521}},
1471 {
1472 {0.2280, 0.2116, 0.3592, 0.2013},
1473 {0.2794, 0.3038, 0.0822, 0.3346},
1474 {0.2049, 0.1985, 0.3947, 0.2019},
1475 {0.1330, 0.2512, 0.3486, 0.2672}},
1476 {
1477 {0.2354, 0.2240, 0.3589, 0.1816},
1478 {0.2543, 0.3146, 0.0982, 0.3328},
1479 {0.2089, 0.2062, 0.3712, 0.2137},
1480 {0.1346, 0.2777, 0.3264, 0.2612}},
1481 {
1482 {0.2165, 0.2017, 0.3891, 0.1926},
1483 {0.2417, 0.3461, 0.0711, 0.3412},
1484 {0.2062, 0.2041, 0.3861, 0.2036},
1485 {0.1337, 0.2417, 0.3352, 0.2895}},
1486 {
1487 {0.2641, 0.1970, 0.3634, 0.1755},
1488 {0.2198, 0.3530, 0.0921, 0.3351},
1489 {0.2225, 0.1890, 0.4031, 0.1853},
1490 {0.1287, 0.2984, 0.3357, 0.2372}},
1491 {
1492 {0.2700, 0.1733, 0.3521, 0.2046},
1493 {0.2804, 0.3048, 0.0845, 0.3303},
1494 {0.1869, 0.2006, 0.4146, 0.1979},
1495 {0.1267, 0.2729, 0.3425, 0.2580}},
1496 {
1497 {0.2416, 0.1856, 0.3957, 0.1772},
1498 {0.2729, 0.3306, 0.0663, 0.3302},
1499 {0.2281, 0.1822, 0.3985, 0.1913},
1500 {0.1338, 0.2567, 0.3498, 0.2597}},
1501 {
1502 {0.2413, 0.1963, 0.3800, 0.1823},
1503 {0.2691, 0.3312, 0.0805, 0.3192},
1504 {0.2304, 0.1817, 0.3909, 0.1970},
1505 {0.1419, 0.2345, 0.3561, 0.2675}},
1506 {
1507 {0.2493, 0.1418, 0.4269, 0.1820},
1508 {0.2736, 0.3353, 0.0774, 0.3137},
1509 {0.2190, 0.1829, 0.4130, 0.1851},
1510 {0.1337, 0.2420, 0.3668, 0.2575}},
1511 {
1512 {0.2409, 0.1965, 0.3743, 0.1883},
1513 {0.2349, 0.3458, 0.0699, 0.3494},
1514 {0.2299, 0.1907, 0.3720, 0.2074},
1515 {0.1538, 0.2138, 0.3756, 0.2567}},
1516 {
1517 {0.2579, 0.1990, 0.3546, 0.1885},
1518 {0.2433, 0.3234, 0.0781, 0.3553},
1519 {0.2242, 0.1875, 0.3904, 0.1978},
1520 {0.1427, 0.2608, 0.3168, 0.2797}},
1521 {
1522 {0.2289, 0.1884, 0.3627, 0.2200},
1523 {0.2686, 0.3480, 0.0796, 0.3038},
1524 {0.2330, 0.2046, 0.3752, 0.1873},
1525 {0.1490, 0.2458, 0.3458, 0.2594}},
1526 {
1527 {0.2369, 0.2258, 0.3691, 0.1682},
1528 {0.2629, 0.3268, 0.0684, 0.3418},
1529 {0.2120, 0.2155, 0.3441, 0.2284},
1530 {0.1570, 0.2299, 0.3543, 0.2588}},
1531 {
1532 {0.2425, 0.2215, 0.3238, 0.2122},
1533 {0.2690, 0.3528, 0.0548, 0.3234},
1534 {0.2010, 0.2138, 0.3892, 0.1960},
1535 {0.1499, 0.2413, 0.3595, 0.2493}},
1536 {
1537 {0.2447, 0.2090, 0.3548, 0.1916},
1538 {0.2678, 0.3311, 0.0746, 0.3265},
1539 {0.2345, 0.1982, 0.3668, 0.2005},
1540 {0.1365, 0.2762, 0.3268, 0.2605}},
1541 {
1542 {0.2263, 0.1960, 0.3759, 0.2018},
1543 {0.2629, 0.3463, 0.0762, 0.3147},
1544 {0.1920, 0.2170, 0.3719, 0.2191},
1545 {0.1361, 0.2290, 0.3857, 0.2492}},
1546 {
1547 {0.2334, 0.2182, 0.3721, 0.1763},
1548 {0.2744, 0.3498, 0.0877, 0.2880},
1549 {0.2198, 0.2032, 0.3757, 0.2012},
1550 {0.1727, 0.2340, 0.3220, 0.2713}},
1551 {
1552 {0.2244, 0.2076, 0.3499, 0.2182},
1553 {0.2511, 0.3141, 0.0795, 0.3553},
1554 {0.2486, 0.2050, 0.3798, 0.1666},
1555 {0.1341, 0.2383, 0.3347, 0.2929}},
1556 {
1557 {0.2180, 0.1843, 0.3621, 0.2355},
1558 {0.2778, 0.2976, 0.0725, 0.3521},
1559 {0.2260, 0.1751, 0.3777, 0.2212},
1560 {0.1298, 0.2778, 0.3527, 0.2396}},
1561 {
1562 {0.2258, 0.2389, 0.3687, 0.1665},
1563 {0.2595, 0.3264, 0.0700, 0.3442},
1564 {0.2229, 0.2004, 0.3548, 0.2219},
1565 {0.1350, 0.2574, 0.3587, 0.2489}},
1566 {
1567 {0.2709, 0.1921, 0.3414, 0.1957},
1568 {0.2610, 0.3233, 0.0770, 0.3387},
1569 {0.2257, 0.2179, 0.3436, 0.2128},
1570 {0.1393, 0.2337, 0.3546, 0.2724}},
1571 {
1572 {0.2223, 0.2093, 0.3750, 0.1934},
1573 {0.2672, 0.3174, 0.0875, 0.3278},
1574 {0.2120, 0.2061, 0.3792, 0.2026},
1575 {0.1793, 0.2563, 0.3175, 0.2469}},
1576 {
1577 {0.2182, 0.1687, 0.4011, 0.2120},
1578 {0.2788, 0.3083, 0.0594, 0.3535},
1579 {0.2185, 0.2120, 0.3473, 0.2221},
1580 {0.1636, 0.2358, 0.3154, 0.2852}},
1581 {
1582 {0.2194, 0.2124, 0.3911, 0.1772},
1583 {0.2653, 0.3435, 0.0781, 0.3131},
1584 {0.2158, 0.2187, 0.3400, 0.2256},
1585 {0.1361, 0.2545, 0.3668, 0.2426}},
1586 {
1587 {0.2676, 0.2173, 0.3498, 0.1653},
1588 {0.2708, 0.2982, 0.0782, 0.3528},
1589 {0.2466, 0.2205, 0.3181, 0.2149},
1590 {0.1817, 0.2248, 0.3337, 0.2598}},
1591 {
1592 {0.2325, 0.2033, 0.3514, 0.2128},
1593 {0.2524, 0.3440, 0.0598, 0.3437},
1594 {0.2157, 0.2132, 0.3572, 0.2139},
1595 {0.1600, 0.2489, 0.3425, 0.2485}}
1596 },
1597 { /* Splice_Site: Fs_GT; Species: Mouse */
1598 {
1599 {0.2264, 0.2264, 0.2264, 0.2264},
1600 {0.2846, 0.2846, 0.2846, 0.2846},
1601 {0.2427, 0.2427, 0.2427, 0.2427},
1602 {0.2464, 0.2464, 0.2464, 0.2464}},
1603 {
1604 {0.2460, 0.1988, 0.3261, 0.2291},
1605 {0.2944, 0.3177, 0.0875, 0.3004},
1606 {0.2386, 0.2272, 0.3249, 0.2093},
1607 {0.1608, 0.2706, 0.3215, 0.2470}},
1608 {
1609 {0.2426, 0.2194, 0.3348, 0.2032},
1610 {0.2856, 0.3377, 0.0918, 0.2850},
1611 {0.2604, 0.2470, 0.2935, 0.1991},
1612 {0.1697, 0.2695, 0.3170, 0.2438}},
1613 {
1614 {0.2187, 0.2574, 0.2940, 0.2299},
1615 {0.2758, 0.2739, 0.0880, 0.3623},
1616 {0.2521, 0.2571, 0.2780, 0.2128},
1617 {0.1358, 0.2852, 0.3117, 0.2672}},
1618 {
1619 {0.2088, 0.2229, 0.3634, 0.2049},
1620 {0.2771, 0.3206, 0.0916, 0.3107},
1621 {0.2284, 0.2683, 0.2867, 0.2166},
1622 {0.1630, 0.2814, 0.3231, 0.2325}},
1623 {
1624 {0.2316, 0.2156, 0.3364, 0.2164},
1625 {0.2625, 0.3094, 0.0952, 0.3328},
1626 {0.2493, 0.2426, 0.2945, 0.2136},
1627 {0.1406, 0.2751, 0.3140, 0.2703}},
1628 {
1629 {0.2453, 0.2586, 0.2786, 0.2175},
1630 {0.3096, 0.2802, 0.0818, 0.3284},
1631 {0.2079, 0.2646, 0.2859, 0.2416},
1632 {0.1413, 0.3094, 0.2801, 0.2692}},
1633 {
1634 {0.2352, 0.2332, 0.3257, 0.2059},
1635 {0.2818, 0.2939, 0.0991, 0.3252},
1636 {0.2202, 0.2464, 0.3094, 0.2240},
1637 {0.1601, 0.2599, 0.3391, 0.2409}},
1638 {
1639 {0.2349, 0.2555, 0.3055, 0.2041},
1640 {0.2870, 0.3045, 0.0927, 0.3158},
1641 {0.2569, 0.2567, 0.3109, 0.1755},
1642 {0.1542, 0.2813, 0.3362, 0.2283}},
1643 {
1644 {0.2501, 0.2666, 0.2685, 0.2149},
1645 {0.2651, 0.3027, 0.0918, 0.3403},
1646 {0.2182, 0.2699, 0.2522, 0.2597},
1647 {0.1433, 0.2632, 0.3293, 0.2643}},
1648 {
1649 {0.2329, 0.2341, 0.3363, 0.1968},
1650 {0.2859, 0.3330, 0.0789, 0.3022},
1651 {0.2197, 0.2797, 0.3110, 0.1896},
1652 {0.1451, 0.2847, 0.3620, 0.2083}},
1653 {
1654 {0.2417, 0.2006, 0.3283, 0.2294},
1655 {0.2816, 0.3136, 0.1155, 0.2893},
1656 {0.2445, 0.2049, 0.3177, 0.2329},
1657 {0.1524, 0.2674, 0.3331, 0.2471}},
1658 {
1659 {0.2216, 0.2584, 0.2934, 0.2266},
1660 {0.2772, 0.3069, 0.0905, 0.3254},
1661 {0.2309, 0.2732, 0.2622, 0.2336},
1662 {0.1425, 0.2730, 0.3192, 0.2652}},
1663 {
1664 {0.2281, 0.2414, 0.3090, 0.2216},
1665 {0.3102, 0.2907, 0.0971, 0.3020},
1666 {0.2551, 0.2368, 0.2937, 0.2144},
1667 {0.1357, 0.2500, 0.3913, 0.2230}},
1668 {
1669 {0.2576, 0.2333, 0.3235, 0.1857},
1670 {0.3066, 0.2762, 0.1056, 0.3116},
1671 {0.2526, 0.2478, 0.3025, 0.1971},
1672 {0.1512, 0.2428, 0.3379, 0.2681}},
1673 {
1674 {0.2408, 0.2464, 0.2901, 0.2227},
1675 {0.2736, 0.2882, 0.0994, 0.3388},
1676 {0.2547, 0.2623, 0.2384, 0.2446},
1677 {0.1485, 0.3019, 0.3044, 0.2453}},
1678 {
1679 {0.2638, 0.2125, 0.3435, 0.1803},
1680 {0.2747, 0.3169, 0.1061, 0.3024},
1681 {0.2172, 0.2493, 0.3034, 0.2302},
1682 {0.1528, 0.2714, 0.3593, 0.2164}},
1683 {
1684 {0.2279, 0.2403, 0.3039, 0.2279},
1685 {0.2770, 0.3276, 0.0931, 0.3023},
1686 {0.2671, 0.2307, 0.2975, 0.2047},
1687 {0.1353, 0.3125, 0.2976, 0.2546}},
1688 {
1689 {0.2348, 0.2659, 0.2923, 0.2070},
1690 {0.2796, 0.3146, 0.0955, 0.3103},
1691 {0.2486, 0.2539, 0.2737, 0.2238},
1692 {0.1407, 0.2823, 0.3294, 0.2476}},
1693 {
1694 {0.2065, 0.2148, 0.3678, 0.2109},
1695 {0.2873, 0.2717, 0.0939, 0.3471},
1696 {0.2372, 0.2613, 0.3061, 0.1954},
1697 {0.1414, 0.2583, 0.3549, 0.2454}},
1698 {
1699 {0.2548, 0.2028, 0.3355, 0.2069},
1700 {0.3019, 0.3061, 0.0895, 0.3026},
1701 {0.2437, 0.2417, 0.2914, 0.2232},
1702 {0.1413, 0.2525, 0.3527, 0.2535}},
1703 {
1704 {0.2239, 0.2419, 0.2871, 0.2471},
1705 {0.2696, 0.3183, 0.0741, 0.3380},
1706 {0.2423, 0.2501, 0.2613, 0.2464},
1707 {0.1467, 0.2787, 0.3141, 0.2605}},
1708 {
1709 {0.1906, 0.2458, 0.3726, 0.1910},
1710 {0.2953, 0.2892, 0.0894, 0.3261},
1711 {0.2254, 0.2517, 0.3339, 0.1890},
1712 {0.1200, 0.2899, 0.3639, 0.2262}},
1713 {
1714 {0.2526, 0.2116, 0.3250, 0.2108},
1715 {0.3285, 0.2868, 0.1047, 0.2801},
1716 {0.2677, 0.2544, 0.2644, 0.2135},
1717 {0.1579, 0.2553, 0.3311, 0.2557}},
1718 {
1719 {0.2428, 0.2514, 0.2964, 0.2095},
1720 {0.2980, 0.3000, 0.0902, 0.3118},
1721 {0.2530, 0.2459, 0.2787, 0.2224},
1722 {0.1589, 0.2922, 0.3287, 0.2202}},
1723 {
1724 {0.2277, 0.2337, 0.3315, 0.2071},
1725 {0.2992, 0.3061, 0.0981, 0.2967},
1726 {0.2382, 0.2606, 0.2945, 0.2068},
1727 {0.1426, 0.2800, 0.3437, 0.2337}},
1728 {
1729 {0.2450, 0.2710, 0.3124, 0.1717},
1730 {0.2880, 0.3381, 0.1132, 0.2607},
1731 {0.2689, 0.2400, 0.3040, 0.1871},
1732 {0.1489, 0.2584, 0.3493, 0.2434}},
1733 {
1734 {0.2510, 0.2377, 0.2950, 0.2162},
1735 {0.2633, 0.3103, 0.0952, 0.3312},
1736 {0.2474, 0.2556, 0.2467, 0.2504},
1737 {0.1407, 0.2196, 0.3400, 0.2998}},
1738 {
1739 {0.2180, 0.2119, 0.3925, 0.1776},
1740 {0.2916, 0.2988, 0.0975, 0.3121},
1741 {0.2288, 0.2486, 0.3286, 0.1940},
1742 {0.1268, 0.2673, 0.3806, 0.2253}},
1743 {
1744 {0.2414, 0.2051, 0.3318, 0.2217},
1745 {0.2875, 0.2937, 0.1080, 0.3108},
1746 {0.2675, 0.2250, 0.2979, 0.2096},
1747 {0.1382, 0.2835, 0.3370, 0.2412}},
1748 {
1749 {0.2449, 0.2412, 0.2989, 0.2150},
1750 {0.2751, 0.2957, 0.1014, 0.3278},
1751 {0.2457, 0.2631, 0.2570, 0.2342},
1752 {0.1389, 0.2926, 0.3058, 0.2628}},
1753 {
1754 {0.2391, 0.2021, 0.3492, 0.2096},
1755 {0.3085, 0.2977, 0.0888, 0.3050},
1756 {0.2574, 0.2525, 0.2810, 0.2090},
1757 {0.1493, 0.2331, 0.3470, 0.2706}},
1758 {
1759 {0.2525, 0.2143, 0.3669, 0.1663},
1760 {0.2765, 0.3225, 0.1008, 0.3002},
1761 {0.2671, 0.2292, 0.3122, 0.1915},
1762 {0.1478, 0.2710, 0.3547, 0.2264}},
1763 {
1764 {0.2327, 0.2344, 0.2933, 0.2396},
1765 {0.2658, 0.3002, 0.1095, 0.3246},
1766 {0.2841, 0.2588, 0.2306, 0.2264},
1767 {0.1447, 0.3142, 0.2935, 0.2476}},
1768 {
1769 {0.2227, 0.2547, 0.3541, 0.1686},
1770 {0.3040, 0.3038, 0.0954, 0.2968},
1771 {0.2437, 0.2723, 0.2850, 0.1990},
1772 {0.1262, 0.2711, 0.3873, 0.2155}},
1773 {
1774 {0.2293, 0.2327, 0.3138, 0.2243},
1775 {0.2799, 0.2983, 0.0985, 0.3233},
1776 {0.2627, 0.2491, 0.2904, 0.1978},
1777 {0.1642, 0.2807, 0.3323, 0.2228}},
1778 {
1779 {0.2776, 0.2124, 0.2972, 0.2128},
1780 {0.2692, 0.2820, 0.1030, 0.3458},
1781 {0.2324, 0.2772, 0.2653, 0.2251},
1782 {0.1437, 0.2677, 0.3163, 0.2723}},
1783 {
1784 {0.2141, 0.2365, 0.3671, 0.1823},
1785 {0.3014, 0.3103, 0.1009, 0.2875},
1786 {0.2292, 0.2462, 0.2975, 0.2272},
1787 {0.1308, 0.2744, 0.3861, 0.2088}},
1788 {
1789 {0.2354, 0.2228, 0.3287, 0.2131},
1790 {0.2768, 0.3138, 0.1217, 0.2876},
1791 {0.2563, 0.2653, 0.2922, 0.1862},
1792 {0.1546, 0.2442, 0.3748, 0.2264}},
1793 {
1794 {0.2169, 0.2332, 0.3240, 0.2259},
1795 {0.2840, 0.2844, 0.1088, 0.3229},
1796 {0.2367, 0.2681, 0.2687, 0.2266},
1797 {0.1370, 0.2733, 0.3347, 0.2551}},
1798 {
1799 {0.2345, 0.2341, 0.3360, 0.1954},
1800 {0.2954, 0.3160, 0.0895, 0.2990},
1801 {0.2439, 0.2691, 0.2980, 0.1891},
1802 {0.1446, 0.2376, 0.3892, 0.2286}},
1803 {
1804 {0.2296, 0.2222, 0.3532, 0.1950},
1805 {0.2938, 0.2851, 0.1168, 0.3043},
1806 {0.2321, 0.2260, 0.3356, 0.2063},
1807 {0.1347, 0.2512, 0.3841, 0.2300}},
1808 {
1809 {0.2495, 0.2315, 0.3086, 0.2105},
1810 {0.2863, 0.2922, 0.1052, 0.3163},
1811 {0.2718, 0.2576, 0.2779, 0.1927},
1812 {0.1400, 0.2736, 0.3469, 0.2395}},
1813 {
1814 {0.2227, 0.2169, 0.3485, 0.2118},
1815 {0.3063, 0.2988, 0.1030, 0.2919},
1816 {0.2367, 0.2485, 0.2899, 0.2248},
1817 {0.1357, 0.2666, 0.3686, 0.2290}},
1818 {
1819 {0.2097, 0.2309, 0.3573, 0.2021},
1820 {0.2923, 0.3068, 0.1183, 0.2826},
1821 {0.2714, 0.2298, 0.3178, 0.1811},
1822 {0.1655, 0.2246, 0.3717, 0.2382}},
1823 {
1824 {0.1997, 0.2557, 0.2962, 0.2484},
1825 {0.2859, 0.2915, 0.0991, 0.3235},
1826 {0.2305, 0.2476, 0.2469, 0.2749},
1827 {0.1396, 0.2631, 0.3212, 0.2762}},
1828 {
1829 {0.2382, 0.2430, 0.3285, 0.1904},
1830 {0.3185, 0.2956, 0.0963, 0.2896},
1831 {0.2328, 0.2945, 0.2989, 0.1738},
1832 {0.1497, 0.2429, 0.3924, 0.2149}},
1833 {
1834 {0.2203, 0.2160, 0.3528, 0.2109},
1835 {0.2878, 0.2939, 0.1240, 0.2943},
1836 {0.2615, 0.2221, 0.2773, 0.2391},
1837 {0.1741, 0.2437, 0.3521, 0.2301}},
1838 {
1839 {0.2581, 0.2881, 0.2776, 0.1762},
1840 {0.2934, 0.3097, 0.1102, 0.2867},
1841 {0.2324, 0.3343, 0.2404, 0.1929},
1842 {0.1384, 0.3051, 0.3271, 0.2294}},
1843 {
1844 {0.3043, 0.0983, 0.3210, 0.2764},
1845 {0.3708, 0.1101, 0.0827, 0.4365},
1846 {0.3033, 0.0930, 0.2855, 0.3182},
1847 {0.1464, 0.0945, 0.4583, 0.3008}},
1848 {
1849 {0.0000, 0.0000, 1.0000, 0.0000},
1850 {0.0000, 0.0000, 1.0000, 0.0000},
1851 {0.0000, 0.0000, 1.0000, 0.0000},
1852 {0.0000, 0.0000, 1.0000, 0.0000}},
1853 {
1854 {0.0000, 0.0000, 0.0000, 0.0000},
1855 {0.0000, 0.0000, 0.0000, 0.0000},
1856 {0.0000, 0.0000, 0.0000, 1.0000},
1857 {0.0000, 0.0000, 0.0000, 0.0000}},
1858 {
1859 {0.0000, 0.0000, 0.0000, 0.0000},
1860 {0.0000, 0.0000, 0.0000, 0.0000},
1861 {0.0000, 0.0000, 0.0000, 0.0000},
1862 {0.1485, 0.2362, 0.4151, 0.2002}},
1863 {
1864 {0.2082, 0.2839, 0.2567, 0.2513},
1865 {0.2780, 0.3269, 0.0870, 0.3081},
1866 {0.2429, 0.2191, 0.3484, 0.1896},
1867 {0.1411, 0.3165, 0.2518, 0.2906}},
1868 {
1869 {0.2379, 0.3116, 0.2691, 0.1815},
1870 {0.2554, 0.3385, 0.0906, 0.3155},
1871 {0.2475, 0.2926, 0.2434, 0.2166},
1872 {0.1664, 0.2608, 0.3386, 0.2342}},
1873 {
1874 {0.2125, 0.2159, 0.3678, 0.2039},
1875 {0.3099, 0.2789, 0.0909, 0.3204},
1876 {0.2507, 0.2300, 0.2997, 0.2196},
1877 {0.1426, 0.2551, 0.3815, 0.2208}},
1878 {
1879 {0.2229, 0.2166, 0.4015, 0.1591},
1880 {0.3037, 0.2888, 0.1271, 0.2805},
1881 {0.2690, 0.2180, 0.3274, 0.1856},
1882 {0.1610, 0.2433, 0.3561, 0.2395}},
1883 {
1884 {0.2360, 0.2450, 0.2833, 0.2357},
1885 {0.2973, 0.2933, 0.0966, 0.3127},
1886 {0.2290, 0.2439, 0.2941, 0.2329},
1887 {0.1320, 0.2510, 0.3574, 0.2596}},
1888 {
1889 {0.2409, 0.2358, 0.3431, 0.1801},
1890 {0.2836, 0.3043, 0.1239, 0.2881},
1891 {0.2416, 0.2536, 0.2943, 0.2105},
1892 {0.1150, 0.2262, 0.4443, 0.2145}},
1893 {
1894 {0.2284, 0.2118, 0.3769, 0.1829},
1895 {0.3196, 0.3081, 0.1066, 0.2657},
1896 {0.2585, 0.2340, 0.3047, 0.2028},
1897 {0.1683, 0.2540, 0.3822, 0.1955}},
1898 {
1899 {0.2401, 0.2420, 0.3110, 0.2070},
1900 {0.2888, 0.2698, 0.0984, 0.3430},
1901 {0.2305, 0.2833, 0.2758, 0.2104},
1902 {0.1282, 0.2915, 0.3318, 0.2485}},
1903 {
1904 {0.2584, 0.2343, 0.3281, 0.1792},
1905 {0.3093, 0.2785, 0.0980, 0.3142},
1906 {0.2491, 0.2441, 0.3016, 0.2052},
1907 {0.1544, 0.2652, 0.3670, 0.2133}},
1908 {
1909 {0.2582, 0.2097, 0.3381, 0.1941},
1910 {0.2966, 0.2905, 0.1144, 0.2985},
1911 {0.2537, 0.2414, 0.3037, 0.2012},
1912 {0.1398, 0.2605, 0.3932, 0.2065}},
1913 {
1914 {0.2487, 0.2681, 0.2757, 0.2075},
1915 {0.2989, 0.2787, 0.0954, 0.3270},
1916 {0.2350, 0.2469, 0.2576, 0.2605},
1917 {0.1512, 0.2311, 0.3814, 0.2363}},
1918 {
1919 {0.2070, 0.2674, 0.3411, 0.1845},
1920 {0.2958, 0.3064, 0.0942, 0.3036},
1921 {0.2636, 0.2458, 0.2867, 0.2038},
1922 {0.1329, 0.2548, 0.3840, 0.2283}},
1923 {
1924 {0.2236, 0.2462, 0.3237, 0.2066},
1925 {0.2995, 0.3035, 0.1049, 0.2920},
1926 {0.2570, 0.2495, 0.2959, 0.1976},
1927 {0.1706, 0.2519, 0.3511, 0.2264}},
1928 {
1929 {0.2445, 0.2434, 0.3064, 0.2056},
1930 {0.2804, 0.3165, 0.1112, 0.2919},
1931 {0.2552, 0.2643, 0.2730, 0.2075},
1932 {0.1444, 0.2501, 0.3732, 0.2323}},
1933 {
1934 {0.2156, 0.2369, 0.3579, 0.1896},
1935 {0.2956, 0.3063, 0.0908, 0.3072},
1936 {0.2378, 0.2216, 0.3015, 0.2391},
1937 {0.1385, 0.2527, 0.3668, 0.2420}},
1938 {
1939 {0.2503, 0.2304, 0.3428, 0.1765},
1940 {0.3395, 0.2754, 0.1140, 0.2711},
1941 {0.2512, 0.2534, 0.3220, 0.1735},
1942 {0.1358, 0.2550, 0.3874, 0.2219}},
1943 {
1944 {0.2621, 0.2220, 0.3032, 0.2127},
1945 {0.2816, 0.2826, 0.1047, 0.3310},
1946 {0.2248, 0.2784, 0.2607, 0.2361},
1947 {0.1588, 0.2654, 0.3466, 0.2291}},
1948 {
1949 {0.2478, 0.2298, 0.3404, 0.1820},
1950 {0.2970, 0.2754, 0.1156, 0.3120},
1951 {0.2182, 0.2566, 0.3047, 0.2206},
1952 {0.1527, 0.2545, 0.3762, 0.2166}},
1953 {
1954 {0.2592, 0.2095, 0.3287, 0.2026},
1955 {0.3380, 0.2873, 0.1151, 0.2597},
1956 {0.2380, 0.2443, 0.3065, 0.2113},
1957 {0.1749, 0.2604, 0.3571, 0.2077}},
1958 {
1959 {0.2419, 0.2238, 0.3406, 0.1936},
1960 {0.3270, 0.2619, 0.0921, 0.3190},
1961 {0.2325, 0.2510, 0.2911, 0.2254},
1962 {0.1433, 0.2779, 0.3159, 0.2630}},
1963 {
1964 {0.2248, 0.2102, 0.3707, 0.1942},
1965 {0.2856, 0.3111, 0.0985, 0.3048},
1966 {0.2253, 0.2671, 0.2891, 0.2185},
1967 {0.1574, 0.2797, 0.3662, 0.1967}},
1968 {
1969 {0.2367, 0.2333, 0.3429, 0.1871},
1970 {0.3074, 0.2975, 0.0997, 0.2955},
1971 {0.2747, 0.2470, 0.3135, 0.1648},
1972 {0.1484, 0.2822, 0.3507, 0.2186}},
1973 {
1974 {0.2421, 0.2347, 0.2960, 0.2272},
1975 {0.3015, 0.2682, 0.1053, 0.3250},
1976 {0.2445, 0.2606, 0.2602, 0.2348},
1977 {0.1647, 0.2737, 0.3174, 0.2441}},
1978 {
1979 {0.2061, 0.2422, 0.3678, 0.1839},
1980 {0.3103, 0.3149, 0.0821, 0.2927},
1981 {0.2331, 0.2591, 0.2975, 0.2104},
1982 {0.1533, 0.2248, 0.3854, 0.2365}},
1983 {
1984 {0.2525, 0.1955, 0.3338, 0.2182},
1985 {0.2892, 0.2994, 0.1227, 0.2888},
1986 {0.2708, 0.2243, 0.3049, 0.2000},
1987 {0.1667, 0.2301, 0.3660, 0.2372}},
1988 {
1989 {0.2470, 0.2236, 0.3371, 0.1924},
1990 {0.3292, 0.2715, 0.0944, 0.3050},
1991 {0.2338, 0.2571, 0.2968, 0.2123},
1992 {0.1452, 0.2890, 0.3244, 0.2414}},
1993 {
1994 {0.2155, 0.2462, 0.3583, 0.1799},
1995 {0.2834, 0.3007, 0.1058, 0.3101},
1996 {0.2464, 0.2307, 0.2948, 0.2280},
1997 {0.1522, 0.2599, 0.3386, 0.2493}},
1998 {
1999 {0.2603, 0.2237, 0.3202, 0.1958},
2000 {0.2743, 0.3060, 0.0967, 0.3230},
2001 {0.2441, 0.2365, 0.3145, 0.2049},
2002 {0.1686, 0.2524, 0.3613, 0.2177}},
2003 {
2004 {0.2395, 0.2645, 0.2878, 0.2083},
2005 {0.2917, 0.3155, 0.0836, 0.3092},
2006 {0.2246, 0.2813, 0.2766, 0.2175},
2007 {0.1384, 0.2594, 0.3647, 0.2375}},
2008 {
2009 {0.2598, 0.2358, 0.3205, 0.1839},
2010 {0.2972, 0.3080, 0.0989, 0.2958},
2011 {0.2363, 0.2514, 0.3032, 0.2091},
2012 {0.1288, 0.2580, 0.3766, 0.2365}},
2013 {
2014 {0.2513, 0.2119, 0.3358, 0.2011},
2015 {0.3300, 0.3133, 0.0944, 0.2622},
2016 {0.2643, 0.2462, 0.2904, 0.1991},
2017 {0.1375, 0.2672, 0.3641, 0.2313}},
2018 {
2019 {0.2538, 0.2313, 0.3297, 0.1851},
2020 {0.2950, 0.3021, 0.0925, 0.3104},
2021 {0.2201, 0.2608, 0.2870, 0.2321},
2022 {0.1681, 0.2402, 0.3389, 0.2528}},
2023 {
2024 {0.2276, 0.2082, 0.3764, 0.1879},
2025 {0.3110, 0.2854, 0.0973, 0.3063},
2026 {0.2161, 0.2472, 0.2974, 0.2393},
2027 {0.1377, 0.2700, 0.3534, 0.2390}},
2028 {
2029 {0.2303, 0.2320, 0.3595, 0.1782},
2030 {0.2890, 0.3024, 0.1185, 0.2900},
2031 {0.2373, 0.2276, 0.3324, 0.2027},
2032 {0.1655, 0.2461, 0.3615, 0.2270}},
2033 {
2034 {0.2515, 0.2257, 0.3146, 0.2083},
2035 {0.3110, 0.2867, 0.0902, 0.3121},
2036 {0.2413, 0.2496, 0.2839, 0.2252},
2037 {0.1434, 0.2686, 0.3455, 0.2424}},
2038 {
2039 {0.2420, 0.2425, 0.3372, 0.1784},
2040 {0.2939, 0.3045, 0.0970, 0.3047},
2041 {0.2473, 0.2219, 0.3325, 0.1984},
2042 {0.1504, 0.2354, 0.3834, 0.2307}},
2043 {
2044 {0.2634, 0.2250, 0.3398, 0.1719},
2045 {0.3132, 0.3023, 0.1082, 0.2762},
2046 {0.2658, 0.2383, 0.3058, 0.1902},
2047 {0.1573, 0.2647, 0.3385, 0.2396}},
2048 {
2049 {0.2410, 0.2458, 0.3310, 0.1823},
2050 {0.3022, 0.3036, 0.0841, 0.3101},
2051 {0.2587, 0.2707, 0.2508, 0.2197},
2052 {0.1604, 0.2402, 0.3487, 0.2507}},
2053 {
2054 {0.2355, 0.2118, 0.3509, 0.2017},
2055 {0.3063, 0.2983, 0.0960, 0.2994},
2056 {0.2470, 0.2492, 0.3039, 0.1999},
2057 {0.1497, 0.2540, 0.3854, 0.2109}},
2058 {
2059 {0.2669, 0.2296, 0.3268, 0.1767},
2060 {0.3113, 0.2967, 0.1001, 0.2919},
2061 {0.2540, 0.2360, 0.3402, 0.1698},
2062 {0.1601, 0.2664, 0.3300, 0.2435}},
2063 {
2064 {0.2500, 0.2315, 0.2920, 0.2264},
2065 {0.2915, 0.3113, 0.0784, 0.3188},
2066 {0.2372, 0.2489, 0.2779, 0.2360},
2067 {0.1497, 0.2589, 0.3444, 0.2470}},
2068 {
2069 {0.2029, 0.2598, 0.3485, 0.1888},
2070 {0.3219, 0.2811, 0.0815, 0.3155},
2071 {0.2193, 0.2490, 0.3142, 0.2176},
2072 {0.1408, 0.2692, 0.3762, 0.2137}},
2073 {
2074 {0.2668, 0.2198, 0.3301, 0.1833},
2075 {0.3130, 0.2914, 0.1065, 0.2891},
2076 {0.2469, 0.2315, 0.3268, 0.1949},
2077 {0.1614, 0.2526, 0.3422, 0.2438}},
2078 {
2079 {0.2433, 0.2257, 0.3324, 0.1986},
2080 {0.2791, 0.2917, 0.1099, 0.3193},
2081 {0.2198, 0.2569, 0.2849, 0.2384},
2082 {0.1673, 0.2632, 0.3030, 0.2664}},
2083 {
2084 {0.2486, 0.2297, 0.3224, 0.1993},
2085 {0.2946, 0.2932, 0.1022, 0.3101},
2086 {0.2285, 0.2539, 0.3071, 0.2105},
2087 {0.1370, 0.2735, 0.3691, 0.2204}},
2088 {
2089 {0.2495, 0.2191, 0.3509, 0.1804},
2090 {0.3211, 0.2853, 0.1101, 0.2834},
2091 {0.2619, 0.2108, 0.3147, 0.2126},
2092 {0.1523, 0.2394, 0.3492, 0.2591}},
2093 {
2094 {0.2397, 0.2580, 0.3007, 0.2016},
2095 {0.2737, 0.3086, 0.0936, 0.3241},
2096 {0.2423, 0.2584, 0.2714, 0.2279},
2097 {0.1623, 0.2713, 0.3228, 0.2436}},
2098 {
2099 {0.2367, 0.2131, 0.3499, 0.2003},
2100 {0.2829, 0.2985, 0.1016, 0.3171},
2101 {0.2458, 0.2338, 0.2926, 0.2279},
2102 {0.1423, 0.2684, 0.3594, 0.2299}},
2103 {
2104 {0.2529, 0.2150, 0.3416, 0.1906},
2105 {0.3010, 0.2860, 0.1042, 0.3088},
2106 {0.2619, 0.2409, 0.3086, 0.1877},
2107 {0.1585, 0.2666, 0.3515, 0.2234}}
2108 }
2109 }
2110 }; /* end of GthFlt GU_2 initialization for two classification model */
2111
2112 static double AG_2[2][HYPOTHESIS2][WINSIZE + 2][4][4] =
2113 {
2114 {
2115 { /* Splice_Site: Tr_AG; Species: Human */
2116 {
2117 {0.2238, 0.2238, 0.2238, 0.2238},
2118 {0.2339, 0.2339, 0.2339, 0.2339},
2119 {0.2767, 0.2767, 0.2767, 0.2767},
2120 {0.2657, 0.2657, 0.2657, 0.2657}},
2121 {
2122 {0.2587, 0.1878, 0.3183, 0.2352},
2123 {0.2679, 0.3298, 0.0680, 0.3342},
2124 {0.2124, 0.2034, 0.3750, 0.2092},
2125 {0.1629, 0.2238, 0.3226, 0.2908}},
2126 {
2127 {0.2890, 0.1637, 0.3176, 0.2298},
2128 {0.2749, 0.3144, 0.0822, 0.3285},
2129 {0.2075, 0.2119, 0.3777, 0.2028},
2130 {0.1502, 0.2291, 0.3268, 0.2939}},
2131 {
2132 {0.2552, 0.1861, 0.3188, 0.2400},
2133 {0.2607, 0.3329, 0.0793, 0.3271},
2134 {0.2029, 0.2266, 0.3744, 0.1961},
2135 {0.1556, 0.2272, 0.3197, 0.2975}},
2136 {
2137 {0.2869, 0.1698, 0.3101, 0.2332},
2138 {0.2606, 0.3353, 0.0772, 0.3269},
2139 {0.2087, 0.2114, 0.3821, 0.1978},
2140 {0.1564, 0.2325, 0.3207, 0.2904}},
2141 {
2142 {0.2750, 0.1871, 0.3114, 0.2265},
2143 {0.2565, 0.3333, 0.0820, 0.3282},
2144 {0.2157, 0.2181, 0.3708, 0.1954},
2145 {0.1688, 0.2269, 0.3064, 0.2978}},
2146 {
2147 {0.2632, 0.1868, 0.3185, 0.2315},
2148 {0.2363, 0.3567, 0.0813, 0.3257},
2149 {0.2020, 0.2332, 0.3530, 0.2117},
2150 {0.1665, 0.2312, 0.3075, 0.2948}},
2151 {
2152 {0.2595, 0.1848, 0.3127, 0.2430},
2153 {0.2560, 0.3298, 0.0797, 0.3345},
2154 {0.2029, 0.2201, 0.3692, 0.2078},
2155 {0.1537, 0.2225, 0.3152, 0.3086}},
2156 {
2157 {0.2817, 0.1966, 0.2896, 0.2320},
2158 {0.2606, 0.3381, 0.0721, 0.3292},
2159 {0.2053, 0.2294, 0.3645, 0.2008},
2160 {0.1515, 0.2233, 0.3240, 0.3013}},
2161 {
2162 {0.2638, 0.1901, 0.2903, 0.2558},
2163 {0.2556, 0.3411, 0.0651, 0.3382},
2164 {0.2065, 0.2288, 0.3401, 0.2246},
2165 {0.1502, 0.2421, 0.3126, 0.2951}},
2166 {
2167 {0.2584, 0.1917, 0.3047, 0.2451},
2168 {0.2463, 0.3550, 0.0799, 0.3188},
2169 {0.2225, 0.2265, 0.3520, 0.1990},
2170 {0.1542, 0.2174, 0.3178, 0.3107}},
2171 {
2172 {0.2645, 0.2022, 0.3071, 0.2262},
2173 {0.2507, 0.3563, 0.0717, 0.3212},
2174 {0.2008, 0.2374, 0.3405, 0.2212},
2175 {0.1621, 0.2437, 0.3043, 0.2899}},
2176 {
2177 {0.2595, 0.2071, 0.3050, 0.2284},
2178 {0.2635, 0.3446, 0.0740, 0.3179},
2179 {0.2039, 0.2384, 0.3352, 0.2225},
2180 {0.1585, 0.2337, 0.3099, 0.2980}},
2181 {
2182 {0.2899, 0.1909, 0.2930, 0.2262},
2183 {0.2496, 0.3346, 0.0718, 0.3440},
2184 {0.2117, 0.2296, 0.3481, 0.2105},
2185 {0.1548, 0.2410, 0.3013, 0.3030}},
2186 {
2187 {0.2602, 0.2073, 0.2922, 0.2403},
2188 {0.2504, 0.3478, 0.0680, 0.3338},
2189 {0.2112, 0.2306, 0.3555, 0.2026},
2190 {0.1520, 0.2447, 0.3005, 0.3027}},
2191 {
2192 {0.2556, 0.1890, 0.2870, 0.2684},
2193 {0.2575, 0.3437, 0.0688, 0.3300},
2194 {0.2104, 0.2358, 0.3386, 0.2152},
2195 {0.1544, 0.2519, 0.2935, 0.3001}},
2196 {
2197 {0.2573, 0.2099, 0.2747, 0.2582},
2198 {0.2566, 0.3387, 0.0649, 0.3398},
2199 {0.2207, 0.2503, 0.3174, 0.2116},
2200 {0.1548, 0.2424, 0.3221, 0.2807}},
2201 {
2202 {0.2615, 0.2029, 0.2954, 0.2402},
2203 {0.2506, 0.3387, 0.0681, 0.3426},
2204 {0.2101, 0.2580, 0.3032, 0.2288},
2205 {0.1599, 0.2533, 0.2910, 0.2957}},
2206 {
2207 {0.2685, 0.2082, 0.2811, 0.2421},
2208 {0.2525, 0.3488, 0.0651, 0.3336},
2209 {0.2137, 0.2569, 0.3057, 0.2236},
2210 {0.1645, 0.2410, 0.2893, 0.3052}},
2211 {
2212 {0.2621, 0.2180, 0.2627, 0.2572},
2213 {0.2399, 0.3411, 0.0738, 0.3452},
2214 {0.2090, 0.2758, 0.2917, 0.2235},
2215 {0.1483, 0.2557, 0.2954, 0.3006}},
2216 {
2217 {0.2692, 0.2130, 0.2532, 0.2646},
2218 {0.2441, 0.3480, 0.0688, 0.3390},
2219 {0.2137, 0.2594, 0.3032, 0.2237},
2220 {0.1625, 0.2582, 0.2968, 0.2825}},
2221 {
2222 {0.2724, 0.2470, 0.2277, 0.2530},
2223 {0.2598, 0.3502, 0.0652, 0.3248},
2224 {0.2282, 0.2897, 0.2646, 0.2175},
2225 {0.1518, 0.2564, 0.2921, 0.2997}},
2226 {
2227 {0.2478, 0.2348, 0.2549, 0.2625},
2228 {0.2367, 0.3396, 0.0612, 0.3626},
2229 {0.2396, 0.2507, 0.2781, 0.2316},
2230 {0.1620, 0.2541, 0.2755, 0.3084}},
2231 {
2232 {0.2723, 0.2432, 0.2342, 0.2503},
2233 {0.2369, 0.3513, 0.0605, 0.3513},
2234 {0.2260, 0.2630, 0.2750, 0.2361},
2235 {0.1612, 0.2580, 0.2797, 0.3011}},
2236 {
2237 {0.2642, 0.2414, 0.2127, 0.2817},
2238 {0.2331, 0.3506, 0.0531, 0.3631},
2239 {0.2348, 0.2694, 0.2645, 0.2313},
2240 {0.1678, 0.2561, 0.2693, 0.3069}},
2241 {
2242 {0.2650, 0.2713, 0.2006, 0.2631},
2243 {0.2272, 0.3468, 0.0600, 0.3660},
2244 {0.2417, 0.2755, 0.2423, 0.2406},
2245 {0.1633, 0.2607, 0.2579, 0.3181}},
2246 {
2247 {0.2831, 0.2612, 0.2070, 0.2487},
2248 {0.2167, 0.3393, 0.0585, 0.3855},
2249 {0.2336, 0.2741, 0.2418, 0.2505},
2250 {0.1668, 0.2568, 0.2653, 0.3111}},
2251 {
2252 {0.2575, 0.2806, 0.1805, 0.2814},
2253 {0.2328, 0.3189, 0.0544, 0.3939},
2254 {0.2599, 0.2601, 0.2212, 0.2588},
2255 {0.1647, 0.2605, 0.2692, 0.3056}},
2256 {
2257 {0.2713, 0.2861, 0.1744, 0.2683},
2258 {0.2247, 0.3319, 0.0545, 0.3888},
2259 {0.2798, 0.2610, 0.2088, 0.2503},
2260 {0.1560, 0.2586, 0.2647, 0.3208}},
2261 {
2262 {0.2500, 0.2887, 0.1774, 0.2838},
2263 {0.2229, 0.3381, 0.0533, 0.3856},
2264 {0.2551, 0.2702, 0.2015, 0.2733},
2265 {0.1476, 0.2735, 0.2539, 0.3250}},
2266 {
2267 {0.2410, 0.3100, 0.1670, 0.2820},
2268 {0.2151, 0.3409, 0.0515, 0.3925},
2269 {0.2706, 0.2936, 0.1713, 0.2644},
2270 {0.1343, 0.2810, 0.2691, 0.3157}},
2271 {
2272 {0.2286, 0.3018, 0.1720, 0.2976},
2273 {0.2138, 0.3314, 0.0564, 0.3984},
2274 {0.2578, 0.2685, 0.1949, 0.2788},
2275 {0.1273, 0.2737, 0.2510, 0.3481}},
2276 {
2277 {0.2333, 0.3221, 0.1539, 0.2907},
2278 {0.1909, 0.3418, 0.0523, 0.4150},
2279 {0.2434, 0.2885, 0.1795, 0.2886},
2280 {0.1223, 0.2674, 0.2497, 0.3606}},
2281 {
2282 {0.2083, 0.3249, 0.1542, 0.3127},
2283 {0.1780, 0.3610, 0.0595, 0.4015},
2284 {0.2087, 0.2896, 0.1858, 0.3159},
2285 {0.1027, 0.2839, 0.2437, 0.3697}},
2286 {
2287 {0.2054, 0.3093, 0.1454, 0.3399},
2288 {0.1619, 0.3772, 0.0524, 0.4085},
2289 {0.1895, 0.2955, 0.1860, 0.3290},
2290 {0.0964, 0.2892, 0.2276, 0.3869}},
2291 {
2292 {0.2042, 0.3154, 0.1350, 0.3454},
2293 {0.1388, 0.3809, 0.0509, 0.4294},
2294 {0.1533, 0.3093, 0.1853, 0.3521},
2295 {0.0861, 0.2830, 0.2302, 0.4008}},
2296 {
2297 {0.2092, 0.3001, 0.1123, 0.3784},
2298 {0.1319, 0.3779, 0.0570, 0.4332},
2299 {0.1297, 0.3139, 0.1914, 0.3651},
2300 {0.0886, 0.2927, 0.2288, 0.3899}},
2301 {
2302 {0.1733, 0.3190, 0.0731, 0.4345},
2303 {0.1220, 0.4085, 0.0495, 0.4200},
2304 {0.1257, 0.3144, 0.1571, 0.4028},
2305 {0.0807, 0.3019, 0.2103, 0.4072}},
2306 {
2307 {0.1882, 0.3157, 0.0586, 0.4375},
2308 {0.1070, 0.3782, 0.0501, 0.4648},
2309 {0.0912, 0.3347, 0.1557, 0.4184},
2310 {0.0615, 0.3099, 0.2039, 0.4248}},
2311 {
2312 {0.1775, 0.3086, 0.0386, 0.4753},
2313 {0.1147, 0.3751, 0.0478, 0.4624},
2314 {0.0859, 0.3025, 0.1904, 0.4213},
2315 {0.0599, 0.3177, 0.1823, 0.4401}},
2316 {
2317 {0.1612, 0.3171, 0.0296, 0.4921},
2318 {0.0934, 0.3875, 0.0396, 0.4794},
2319 {0.0670, 0.3293, 0.1505, 0.4532},
2320 {0.0631, 0.3155, 0.1762, 0.4452}},
2321 {
2322 {0.1649, 0.2919, 0.0216, 0.5216},
2323 {0.0840, 0.3411, 0.0368, 0.5381},
2324 {0.0614, 0.2590, 0.1788, 0.5009},
2325 {0.0541, 0.2997, 0.1622, 0.4840}},
2326 {
2327 {0.1559, 0.3460, 0.0164, 0.4818},
2328 {0.0880, 0.3746, 0.0396, 0.4978},
2329 {0.0811, 0.3039, 0.1379, 0.4770},
2330 {0.0607, 0.3304, 0.1748, 0.4341}},
2331 {
2332 {0.1490, 0.3193, 0.0150, 0.5167},
2333 {0.0866, 0.3980, 0.0364, 0.4791},
2334 {0.0747, 0.3104, 0.1358, 0.4791},
2335 {0.0682, 0.3264, 0.1873, 0.4180}},
2336 {
2337 {0.1579, 0.3331, 0.0230, 0.4859},
2338 {0.1184, 0.4157, 0.0519, 0.4140},
2339 {0.0762, 0.3305, 0.1375, 0.4559},
2340 {0.0738, 0.3851, 0.1802, 0.3610}},
2341 {
2342 {0.1795, 0.3605, 0.0196, 0.4403},
2343 {0.1013, 0.4364, 0.0334, 0.4290},
2344 {0.0727, 0.3769, 0.1499, 0.4005},
2345 {0.0748, 0.3697, 0.1556, 0.3999}},
2346 {
2347 {0.1599, 0.3143, 0.0203, 0.5055},
2348 {0.0789, 0.5167, 0.0234, 0.3810},
2349 {0.0820, 0.2999, 0.1655, 0.4525},
2350 {0.0537, 0.3757, 0.1179, 0.4527}},
2351 {
2352 {0.1942, 0.3696, 0.0192, 0.4169},
2353 {0.0718, 0.5001, 0.0282, 0.4000},
2354 {0.1309, 0.3182, 0.2138, 0.3370},
2355 {0.0498, 0.2554, 0.0977, 0.5971}},
2356 {
2357 {0.4259, 0.2883, 0.0922, 0.1936},
2358 {0.2893, 0.4010, 0.1043, 0.2053},
2359 {0.2083, 0.3051, 0.3483, 0.1383},
2360 {0.1380, 0.2616, 0.3166, 0.2837}},
2361 {
2362 {0.0768, 0.7406, 0.0031, 0.1794},
2363 {0.0371, 0.7190, 0.0021, 0.2418},
2364 {0.0359, 0.7942, 0.0052, 0.1647},
2365 {0.0439, 0.5936, 0.0062, 0.3562}},
2366 {
2367 {1.0000, 0.0000, 0.0000, 0.0000},
2368 {1.0000, 0.0000, 0.0000, 0.0000},
2369 {1.0000, 0.0000, 0.0000, 0.0000},
2370 {1.0000, 0.0000, 0.0000, 0.0000}},
2371 {
2372 {0.0000, 0.0000, 1.0000, 0.0000},
2373 {0.0000, 0.0000, 0.0000, 0.0000},
2374 {0.0000, 0.0000, 0.0000, 0.0000},
2375 {0.0000, 0.0000, 0.0000, 0.0000}},
2376 {
2377 {0.0000, 0.0000, 0.0000, 0.0000},
2378 {0.0000, 0.0000, 0.0000, 0.0000},
2379 {0.2391, 0.1478, 0.5078, 0.1053},
2380 {0.0000, 0.0000, 0.0000, 0.0000}},
2381 {
2382 {0.2347, 0.1919, 0.2043, 0.3691},
2383 {0.2312, 0.2710, 0.1055, 0.3923},
2384 {0.2370, 0.1953, 0.2301, 0.3376},
2385 {0.1253, 0.1804, 0.3727, 0.3215}},
2386 {
2387 {0.2927, 0.2358, 0.2300, 0.2416},
2388 {0.2746, 0.3074, 0.1063, 0.3118},
2389 {0.2439, 0.2688, 0.2371, 0.2502},
2390 {0.1501, 0.2386, 0.3693, 0.2420}},
2391 {
2392 {0.2677, 0.2514, 0.2150, 0.2659},
2393 {0.2625, 0.3336, 0.1142, 0.2896},
2394 {0.2773, 0.2346, 0.2776, 0.2105},
2395 {0.1175, 0.2925, 0.3265, 0.2636}},
2396 {
2397 {0.3044, 0.2327, 0.2224, 0.2405},
2398 {0.2478, 0.3195, 0.1134, 0.3193},
2399 {0.3237, 0.2506, 0.2154, 0.2102},
2400 {0.1303, 0.2688, 0.3250, 0.2759}},
2401 {
2402 {0.2521, 0.2404, 0.3058, 0.2018},
2403 {0.2878, 0.3057, 0.1230, 0.2834},
2404 {0.2617, 0.2602, 0.2882, 0.1899},
2405 {0.1337, 0.2409, 0.4066, 0.2189}},
2406 {
2407 {0.2552, 0.2229, 0.3246, 0.1974},
2408 {0.3151, 0.3196, 0.1223, 0.2430},
2409 {0.3003, 0.2428, 0.2782, 0.1787},
2410 {0.1501, 0.2666, 0.3810, 0.2023}},
2411 {
2412 {0.2714, 0.2289, 0.2664, 0.2334},
2413 {0.2918, 0.3121, 0.1268, 0.2693},
2414 {0.3260, 0.2519, 0.2245, 0.1976},
2415 {0.1375, 0.2614, 0.3455, 0.2556}},
2416 {
2417 {0.2453, 0.2161, 0.3370, 0.2016},
2418 {0.3055, 0.2831, 0.1204, 0.2911},
2419 {0.2495, 0.2547, 0.2819, 0.2139},
2420 {0.1241, 0.2621, 0.3859, 0.2279}},
2421 {
2422 {0.2479, 0.2204, 0.3328, 0.1989},
2423 {0.2951, 0.3167, 0.1342, 0.2541},
2424 {0.3071, 0.2253, 0.2854, 0.1823},
2425 {0.1251, 0.2457, 0.4144, 0.2148}},
2426 {
2427 {0.2816, 0.2157, 0.2901, 0.2127},
2428 {0.2830, 0.2943, 0.1284, 0.2943},
2429 {0.2842, 0.2314, 0.2832, 0.2012},
2430 {0.1287, 0.2547, 0.3548, 0.2618}},
2431 {
2432 {0.2505, 0.2155, 0.3266, 0.2073},
2433 {0.3004, 0.3157, 0.1200, 0.2638},
2434 {0.2655, 0.2423, 0.2884, 0.2038},
2435 {0.1287, 0.2557, 0.4185, 0.1970}},
2436 {
2437 {0.2728, 0.2040, 0.3161, 0.2070},
2438 {0.3054, 0.3019, 0.1186, 0.2742},
2439 {0.3141, 0.2318, 0.2788, 0.1753},
2440 {0.1237, 0.2718, 0.4033, 0.2013}},
2441 {
2442 {0.2747, 0.1995, 0.2940, 0.2318},
2443 {0.2612, 0.3113, 0.1199, 0.3076},
2444 {0.3156, 0.2505, 0.2443, 0.1896},
2445 {0.1282, 0.2701, 0.3533, 0.2484}},
2446 {
2447 {0.2453, 0.2268, 0.3390, 0.1889},
2448 {0.2880, 0.3236, 0.1202, 0.2682},
2449 {0.2658, 0.2802, 0.2780, 0.1760},
2450 {0.1238, 0.2745, 0.3848, 0.2168}},
2451 {
2452 {0.2589, 0.2206, 0.3226, 0.1979},
2453 {0.3096, 0.3321, 0.1209, 0.2374},
2454 {0.3025, 0.2379, 0.2757, 0.1839},
2455 {0.1475, 0.2504, 0.3801, 0.2220}},
2456 {
2457 {0.2735, 0.2179, 0.2997, 0.2089},
2458 {0.2769, 0.3098, 0.1330, 0.2803},
2459 {0.3072, 0.2478, 0.2584, 0.1866},
2460 {0.1302, 0.2594, 0.3716, 0.2389}},
2461 {
2462 {0.2427, 0.2182, 0.3364, 0.2026},
2463 {0.3100, 0.2913, 0.1166, 0.2821},
2464 {0.2693, 0.2802, 0.2836, 0.1669},
2465 {0.1293, 0.2417, 0.4237, 0.2053}},
2466 {
2467 {0.2582, 0.2193, 0.3253, 0.1972},
2468 {0.3350, 0.3020, 0.1152, 0.2477},
2469 {0.2959, 0.2326, 0.3025, 0.1690},
2470 {0.1347, 0.2528, 0.4124, 0.2002}},
2471 {
2472 {0.2707, 0.2298, 0.2867, 0.2129},
2473 {0.2916, 0.2933, 0.1249, 0.2903},
2474 {0.2993, 0.2216, 0.2961, 0.1829},
2475 {0.1281, 0.2729, 0.3614, 0.2376}},
2476 {
2477 {0.2517, 0.2147, 0.3427, 0.1910},
2478 {0.2928, 0.3144, 0.1334, 0.2594},
2479 {0.2805, 0.2541, 0.2831, 0.1822},
2480 {0.1162, 0.2679, 0.4297, 0.1862}},
2481 {
2482 {0.2679, 0.2208, 0.2983, 0.2130},
2483 {0.3095, 0.3100, 0.1133, 0.2672},
2484 {0.3079, 0.2332, 0.2895, 0.1694},
2485 {0.1319, 0.2610, 0.3970, 0.2101}},
2486 {
2487 {0.2810, 0.2093, 0.2907, 0.2190},
2488 {0.2924, 0.2986, 0.1324, 0.2767},
2489 {0.3074, 0.2660, 0.2299, 0.1967},
2490 {0.1201, 0.2682, 0.3780, 0.2337}},
2491 {
2492 {0.2515, 0.2254, 0.3444, 0.1787},
2493 {0.2786, 0.3278, 0.1127, 0.2808},
2494 {0.2822, 0.2623, 0.2808, 0.1747},
2495 {0.1264, 0.2629, 0.4091, 0.2016}},
2496 {
2497 {0.2704, 0.2333, 0.3016, 0.1947},
2498 {0.3255, 0.3007, 0.1241, 0.2497},
2499 {0.2995, 0.2516, 0.2854, 0.1635},
2500 {0.1287, 0.2604, 0.4088, 0.2021}},
2501 {
2502 {0.2897, 0.2092, 0.2795, 0.2215},
2503 {0.2816, 0.3219, 0.1409, 0.2557},
2504 {0.3005, 0.2703, 0.2429, 0.1863},
2505 {0.1406, 0.2519, 0.3663, 0.2412}},
2506 {
2507 {0.2419, 0.2212, 0.3534, 0.1835},
2508 {0.2892, 0.3182, 0.1138, 0.2789},
2509 {0.2703, 0.2718, 0.2908, 0.1671},
2510 {0.1191, 0.2540, 0.4230, 0.2039}},
2511 {
2512 {0.2594, 0.2058, 0.3211, 0.2137},
2513 {0.3107, 0.2879, 0.1494, 0.2520},
2514 {0.2901, 0.2427, 0.3005, 0.1667},
2515 {0.1254, 0.2525, 0.4172, 0.2048}},
2516 {
2517 {0.2695, 0.2123, 0.2945, 0.2238},
2518 {0.2820, 0.2924, 0.1280, 0.2975},
2519 {0.2934, 0.2380, 0.2865, 0.1821},
2520 {0.1300, 0.2708, 0.3450, 0.2542}},
2521 {
2522 {0.2361, 0.2454, 0.3298, 0.1887},
2523 {0.2890, 0.3124, 0.1349, 0.2637},
2524 {0.2791, 0.2443, 0.2834, 0.1932},
2525 {0.1283, 0.2663, 0.4134, 0.1920}},
2526 {
2527 {0.2706, 0.2237, 0.3241, 0.1816},
2528 {0.2973, 0.3315, 0.1158, 0.2555},
2529 {0.2814, 0.2469, 0.3065, 0.1651},
2530 {0.1241, 0.2764, 0.4043, 0.1952}},
2531 {
2532 {0.2703, 0.2161, 0.2929, 0.2207},
2533 {0.2761, 0.2916, 0.1304, 0.3020},
2534 {0.3023, 0.2698, 0.2542, 0.1737},
2535 {0.1235, 0.2703, 0.3598, 0.2464}},
2536 {
2537 {0.2533, 0.2170, 0.3426, 0.1870},
2538 {0.2887, 0.3056, 0.1412, 0.2645},
2539 {0.2566, 0.2771, 0.3052, 0.1611},
2540 {0.1119, 0.2698, 0.4194, 0.1990}},
2541 {
2542 {0.2714, 0.2197, 0.3327, 0.1762},
2543 {0.2969, 0.3165, 0.1312, 0.2555},
2544 {0.2842, 0.2543, 0.2986, 0.1628},
2545 {0.1276, 0.2544, 0.4001, 0.2179}},
2546 {
2547 {0.2807, 0.2365, 0.2881, 0.1947},
2548 {0.2958, 0.2938, 0.1185, 0.2919},
2549 {0.3078, 0.2580, 0.2399, 0.1943},
2550 {0.1304, 0.2703, 0.3409, 0.2584}},
2551 {
2552 {0.2403, 0.2237, 0.3541, 0.1820},
2553 {0.2819, 0.3081, 0.1289, 0.2811},
2554 {0.2640, 0.2616, 0.2838, 0.1906},
2555 {0.1281, 0.2546, 0.4121, 0.2052}},
2556 {
2557 {0.2589, 0.2022, 0.3322, 0.2066},
2558 {0.3034, 0.2928, 0.1387, 0.2651},
2559 {0.2630, 0.2548, 0.3096, 0.1726},
2560 {0.1321, 0.2578, 0.4165, 0.1936}},
2561 {
2562 {0.2797, 0.2192, 0.2832, 0.2178},
2563 {0.2952, 0.2851, 0.1238, 0.2959},
2564 {0.2824, 0.2415, 0.2936, 0.1825},
2565 {0.1327, 0.2750, 0.3619, 0.2304}},
2566 {
2567 {0.2333, 0.2259, 0.3645, 0.1763},
2568 {0.2852, 0.3292, 0.1332, 0.2524},
2569 {0.2643, 0.2530, 0.2884, 0.1943},
2570 {0.1304, 0.2754, 0.4024, 0.1918}},
2571 {
2572 {0.2643, 0.2352, 0.3127, 0.1879},
2573 {0.3102, 0.3097, 0.1392, 0.2409},
2574 {0.2890, 0.2492, 0.2933, 0.1685},
2575 {0.1522, 0.2564, 0.3786, 0.2128}},
2576 {
2577 {0.2760, 0.2338, 0.2681, 0.2221},
2578 {0.2956, 0.2850, 0.1374, 0.2821},
2579 {0.2903, 0.2722, 0.2569, 0.1805},
2580 {0.1265, 0.2695, 0.3531, 0.2509}},
2581 {
2582 {0.2362, 0.2466, 0.3356, 0.1816},
2583 {0.2926, 0.3217, 0.1152, 0.2706},
2584 {0.2567, 0.2724, 0.2916, 0.1793},
2585 {0.1155, 0.2578, 0.4166, 0.2101}},
2586 {
2587 {0.2612, 0.2170, 0.3073, 0.2145},
2588 {0.3064, 0.3096, 0.1319, 0.2521},
2589 {0.3103, 0.2360, 0.2858, 0.1679},
2590 {0.1497, 0.2737, 0.3729, 0.2037}},
2591 {
2592 {0.2735, 0.2161, 0.2952, 0.2152},
2593 {0.2913, 0.3163, 0.1437, 0.2487},
2594 {0.2923, 0.2672, 0.2491, 0.1914},
2595 {0.1182, 0.2774, 0.3724, 0.2320}},
2596 {
2597 {0.2383, 0.2171, 0.3617, 0.1829},
2598 {0.2941, 0.2953, 0.1303, 0.2802},
2599 {0.2672, 0.2792, 0.2797, 0.1740},
2600 {0.1332, 0.2512, 0.4174, 0.1982}},
2601 {
2602 {0.2490, 0.2371, 0.3325, 0.1814},
2603 {0.2963, 0.3056, 0.1461, 0.2520},
2604 {0.2893, 0.2319, 0.3065, 0.1724},
2605 {0.1321, 0.2595, 0.4004, 0.2079}},
2606 {
2607 {0.2815, 0.2381, 0.2853, 0.1951},
2608 {0.3069, 0.2926, 0.1214, 0.2790},
2609 {0.2792, 0.2653, 0.2837, 0.1718},
2610 {0.1353, 0.2838, 0.3370, 0.2439}},
2611 {
2612 {0.2369, 0.2290, 0.3508, 0.1832},
2613 {0.2789, 0.3096, 0.1334, 0.2781},
2614 {0.2800, 0.2525, 0.2939, 0.1736},
2615 {0.1300, 0.2638, 0.4194, 0.1868}},
2616 {
2617 {0.2701, 0.2457, 0.2980, 0.1862},
2618 {0.3094, 0.2852, 0.1358, 0.2696},
2619 {0.2696, 0.2432, 0.3109, 0.1764},
2620 {0.1403, 0.2624, 0.3973, 0.2001}},
2621 {
2622 {0.2624, 0.2145, 0.2996, 0.2235},
2623 {0.2831, 0.3082, 0.1229, 0.2858},
2624 {0.3043, 0.2699, 0.2450, 0.1808},
2625 {0.1273, 0.2897, 0.3454, 0.2377}}
2626 },
2627 { /* Splice_Site: Fs_AG; Species: Human */
2628 {
2629 {0.2190, 0.2190, 0.2190, 0.2190},
2630 {0.2822, 0.2822, 0.2822, 0.2822},
2631 {0.2653, 0.2653, 0.2653, 0.2653},
2632 {0.2336, 0.2336, 0.2336, 0.2336}},
2633 {
2634 {0.2527, 0.2156, 0.3408, 0.1909},
2635 {0.2858, 0.3216, 0.1043, 0.2882},
2636 {0.2318, 0.2725, 0.3138, 0.1818},
2637 {0.1391, 0.2719, 0.3318, 0.2573}},
2638 {
2639 {0.2787, 0.2097, 0.3090, 0.2026},
2640 {0.2918, 0.2961, 0.1094, 0.3027},
2641 {0.2631, 0.2616, 0.2760, 0.1993},
2642 {0.1585, 0.2471, 0.3151, 0.2793}},
2643 {
2644 {0.2253, 0.2321, 0.3357, 0.2069},
2645 {0.2561, 0.3508, 0.1035, 0.2896},
2646 {0.2289, 0.2693, 0.3076, 0.1942},
2647 {0.1259, 0.2796, 0.3342, 0.2603}},
2648 {
2649 {0.2592, 0.2071, 0.3222, 0.2115},
2650 {0.2785, 0.3363, 0.1089, 0.2763},
2651 {0.2203, 0.2623, 0.3355, 0.1819},
2652 {0.1434, 0.2669, 0.3330, 0.2567}},
2653 {
2654 {0.2844, 0.2135, 0.2870, 0.2152},
2655 {0.2846, 0.3121, 0.1148, 0.2885},
2656 {0.2838, 0.2550, 0.2742, 0.1870},
2657 {0.1560, 0.2700, 0.3052, 0.2688}},
2658 {
2659 {0.2324, 0.2336, 0.3447, 0.1892},
2660 {0.2696, 0.3303, 0.1037, 0.2965},
2661 {0.2467, 0.2810, 0.2941, 0.1781},
2662 {0.1234, 0.2981, 0.3218, 0.2567}},
2663 {
2664 {0.2379, 0.2025, 0.3585, 0.2012},
2665 {0.2867, 0.3280, 0.1107, 0.2746},
2666 {0.2311, 0.2623, 0.3325, 0.1741},
2667 {0.1386, 0.2627, 0.3257, 0.2730}},
2668 {
2669 {0.2717, 0.2187, 0.3057, 0.2038},
2670 {0.2789, 0.3219, 0.1062, 0.2930},
2671 {0.2775, 0.2572, 0.2741, 0.1912},
2672 {0.1536, 0.2709, 0.3080, 0.2675}},
2673 {
2674 {0.2524, 0.2222, 0.3492, 0.1762},
2675 {0.2649, 0.3422, 0.1106, 0.2823},
2676 {0.2304, 0.2904, 0.2930, 0.1862},
2677 {0.1376, 0.2770, 0.3252, 0.2601}},
2678 {
2679 {0.2480, 0.2399, 0.3221, 0.1899},
2680 {0.2864, 0.3317, 0.1176, 0.2642},
2681 {0.2399, 0.2688, 0.3191, 0.1722},
2682 {0.1322, 0.2471, 0.3416, 0.2791}},
2683 {
2684 {0.2734, 0.2095, 0.3073, 0.2098},
2685 {0.3082, 0.2908, 0.1207, 0.2804},
2686 {0.2696, 0.2723, 0.2594, 0.1988},
2687 {0.1446, 0.2735, 0.2961, 0.2858}},
2688 {
2689 {0.2366, 0.2257, 0.3497, 0.1880},
2690 {0.2558, 0.3574, 0.1072, 0.2797},
2691 {0.2367, 0.2967, 0.3020, 0.1645},
2692 {0.1255, 0.2888, 0.3356, 0.2502}},
2693 {
2694 {0.2604, 0.2237, 0.3142, 0.2018},
2695 {0.2850, 0.3365, 0.1031, 0.2754},
2696 {0.2204, 0.2741, 0.3230, 0.1825},
2697 {0.1370, 0.2621, 0.3299, 0.2710}},
2698 {
2699 {0.2777, 0.2073, 0.2998, 0.2152},
2700 {0.2890, 0.2925, 0.1195, 0.2991},
2701 {0.2858, 0.2570, 0.2666, 0.1907},
2702 {0.1510, 0.2645, 0.3224, 0.2621}},
2703 {
2704 {0.2303, 0.2270, 0.3634, 0.1793},
2705 {0.2715, 0.3502, 0.1090, 0.2693},
2706 {0.2292, 0.2894, 0.2985, 0.1828},
2707 {0.1322, 0.2738, 0.3320, 0.2619}},
2708 {
2709 {0.2411, 0.2185, 0.3275, 0.2129},
2710 {0.2881, 0.3361, 0.1099, 0.2658},
2711 {0.2315, 0.2789, 0.3186, 0.1709},
2712 {0.1341, 0.2775, 0.3160, 0.2723}},
2713 {
2714 {0.2741, 0.2256, 0.2987, 0.2015},
2715 {0.2941, 0.2927, 0.1175, 0.2957},
2716 {0.2639, 0.2561, 0.2796, 0.2004},
2717 {0.1465, 0.2609, 0.3255, 0.2671}},
2718 {
2719 {0.2357, 0.2287, 0.3512, 0.1844},
2720 {0.2712, 0.3463, 0.1099, 0.2726},
2721 {0.2538, 0.2829, 0.2812, 0.1821},
2722 {0.1204, 0.2830, 0.3395, 0.2571}},
2723 {
2724 {0.2292, 0.2338, 0.3501, 0.1869},
2725 {0.2901, 0.3368, 0.1023, 0.2708},
2726 {0.2311, 0.2746, 0.3110, 0.1831},
2727 {0.1322, 0.2598, 0.3383, 0.2698}},
2728 {
2729 {0.2785, 0.2173, 0.3054, 0.1988},
2730 {0.2801, 0.3053, 0.1282, 0.2864},
2731 {0.2744, 0.2564, 0.2767, 0.1925},
2732 {0.1543, 0.2480, 0.3192, 0.2785}},
2733 {
2734 {0.2296, 0.2263, 0.3640, 0.1801},
2735 {0.2853, 0.3319, 0.1110, 0.2718},
2736 {0.2217, 0.2935, 0.3130, 0.1718},
2737 {0.1169, 0.2939, 0.3312, 0.2580}},
2738 {
2739 {0.2400, 0.2109, 0.3399, 0.2091},
2740 {0.2906, 0.3111, 0.1187, 0.2796},
2741 {0.2278, 0.2890, 0.3033, 0.1799},
2742 {0.1453, 0.2493, 0.3458, 0.2596}},
2743 {
2744 {0.2781, 0.2128, 0.3020, 0.2069},
2745 {0.2988, 0.3096, 0.1074, 0.2842},
2746 {0.2754, 0.2567, 0.2694, 0.1985},
2747 {0.1599, 0.2623, 0.3084, 0.2693}},
2748 {
2749 {0.2331, 0.2286, 0.3604, 0.1778},
2750 {0.2668, 0.3431, 0.1060, 0.2842},
2751 {0.2355, 0.2720, 0.3236, 0.1688},
2752 {0.1257, 0.2864, 0.3396, 0.2483}},
2753 {
2754 {0.2329, 0.2243, 0.3415, 0.2014},
2755 {0.3026, 0.3257, 0.1109, 0.2608},
2756 {0.2331, 0.2734, 0.3154, 0.1781},
2757 {0.1606, 0.2620, 0.3237, 0.2537}},
2758 {
2759 {0.2679, 0.2214, 0.3022, 0.2086},
2760 {0.3106, 0.2957, 0.1225, 0.2712},
2761 {0.2850, 0.2498, 0.2796, 0.1855},
2762 {0.1568, 0.2628, 0.3125, 0.2679}},
2763 {
2764 {0.2132, 0.2249, 0.3880, 0.1740},
2765 {0.2834, 0.3396, 0.1082, 0.2688},
2766 {0.2294, 0.2951, 0.3011, 0.1745},
2767 {0.1471, 0.2834, 0.3320, 0.2374}},
2768 {
2769 {0.2579, 0.2085, 0.3286, 0.2049},
2770 {0.2962, 0.3212, 0.1122, 0.2705},
2771 {0.2410, 0.2766, 0.3140, 0.1684},
2772 {0.1476, 0.2722, 0.3276, 0.2527}},
2773 {
2774 {0.2584, 0.2158, 0.3083, 0.2175},
2775 {0.3097, 0.2853, 0.1157, 0.2893},
2776 {0.2971, 0.2477, 0.2716, 0.1836},
2777 {0.1536, 0.2596, 0.3247, 0.2621}},
2778 {
2779 {0.2372, 0.2034, 0.3776, 0.1818},
2780 {0.2836, 0.3384, 0.1137, 0.2644},
2781 {0.2312, 0.2804, 0.3102, 0.1783},
2782 {0.1284, 0.3095, 0.3157, 0.2464}},
2783 {
2784 {0.2412, 0.2213, 0.3488, 0.1887},
2785 {0.2958, 0.3288, 0.1180, 0.2574},
2786 {0.2343, 0.2691, 0.3111, 0.1855},
2787 {0.1351, 0.2691, 0.3513, 0.2446}},
2788 {
2789 {0.2943, 0.2095, 0.2952, 0.2010},
2790 {0.2936, 0.2866, 0.1196, 0.3003},
2791 {0.2806, 0.2573, 0.2693, 0.1928},
2792 {0.1533, 0.2562, 0.3287, 0.2618}},
2793 {
2794 {0.2141, 0.2258, 0.3806, 0.1795},
2795 {0.2634, 0.3416, 0.1186, 0.2765},
2796 {0.2368, 0.2768, 0.3021, 0.1843},
2797 {0.1288, 0.2899, 0.3375, 0.2436}},
2798 {
2799 {0.2398, 0.2291, 0.3320, 0.1992},
2800 {0.2997, 0.3060, 0.1189, 0.2754},
2801 {0.2341, 0.2699, 0.3231, 0.1729},
2802 {0.1460, 0.2515, 0.3454, 0.2570}},
2803 {
2804 {0.2562, 0.2000, 0.3172, 0.2265},
2805 {0.2924, 0.2969, 0.1196, 0.2912},
2806 {0.2892, 0.2607, 0.2635, 0.1866},
2807 {0.1596, 0.2496, 0.3198, 0.2710}},
2808 {
2809 {0.2252, 0.2280, 0.3750, 0.1718},
2810 {0.2702, 0.3393, 0.1199, 0.2706},
2811 {0.2422, 0.2663, 0.3077, 0.1838},
2812 {0.1253, 0.2929, 0.3370, 0.2448}},
2813 {
2814 {0.2401, 0.2179, 0.3382, 0.2038},
2815 {0.3052, 0.3267, 0.1204, 0.2477},
2816 {0.2379, 0.2849, 0.3076, 0.1696},
2817 {0.1315, 0.2671, 0.3549, 0.2465}},
2818 {
2819 {0.2767, 0.2119, 0.3061, 0.2053},
2820 {0.3078, 0.2829, 0.1230, 0.2863},
2821 {0.2898, 0.2517, 0.2790, 0.1794},
2822 {0.1495, 0.2516, 0.3399, 0.2589}},
2823 {
2824 {0.2256, 0.2162, 0.3879, 0.1702},
2825 {0.2816, 0.3358, 0.1215, 0.2611},
2826 {0.2394, 0.2841, 0.2993, 0.1770},
2827 {0.1318, 0.2868, 0.3309, 0.2506}},
2828 {
2829 {0.2212, 0.2241, 0.3601, 0.1945},
2830 {0.2858, 0.3323, 0.1217, 0.2603},
2831 {0.2392, 0.2943, 0.3098, 0.1566},
2832 {0.1389, 0.2572, 0.3417, 0.2622}},
2833 {
2834 {0.2899, 0.2089, 0.3134, 0.1879},
2835 {0.3146, 0.2791, 0.1270, 0.2794},
2836 {0.2931, 0.2542, 0.2764, 0.1763},
2837 {0.1699, 0.2615, 0.3100, 0.2586}},
2838 {
2839 {0.2343, 0.2201, 0.3810, 0.1646},
2840 {0.2713, 0.3484, 0.1149, 0.2654},
2841 {0.2536, 0.2666, 0.3218, 0.1581},
2842 {0.1342, 0.2564, 0.3618, 0.2476}},
2843 {
2844 {0.2431, 0.2101, 0.3524, 0.1944},
2845 {0.3055, 0.3073, 0.1206, 0.2666},
2846 {0.2490, 0.2646, 0.3232, 0.1631},
2847 {0.1541, 0.2334, 0.3689, 0.2433}},
2848 {
2849 {0.2776, 0.1861, 0.3306, 0.2057},
2850 {0.3209, 0.2704, 0.1232, 0.2855},
2851 {0.3094, 0.2420, 0.2750, 0.1735},
2852 {0.1644, 0.2407, 0.3342, 0.2607}},
2853 {
2854 {0.2299, 0.2116, 0.3880, 0.1705},
2855 {0.2653, 0.3460, 0.1173, 0.2713},
2856 {0.2427, 0.2589, 0.3296, 0.1688},
2857 {0.1251, 0.2882, 0.3605, 0.2262}},
2858 {
2859 {0.2424, 0.2112, 0.3323, 0.2142},
2860 {0.2989, 0.3208, 0.1245, 0.2558},
2861 {0.2384, 0.2818, 0.3152, 0.1646},
2862 {0.1448, 0.2601, 0.3436, 0.2516}},
2863 {
2864 {0.2743, 0.2056, 0.3162, 0.2037},
2865 {0.2895, 0.2822, 0.1183, 0.3101},
2866 {0.2872, 0.2639, 0.2777, 0.1711},
2867 {0.1571, 0.2633, 0.3116, 0.2681}},
2868 {
2869 {0.2171, 0.2086, 0.4286, 0.1457},
2870 {0.3009, 0.3371, 0.1308, 0.2313},
2871 {0.2623, 0.2520, 0.3445, 0.1413},
2872 {0.1364, 0.2563, 0.4070, 0.2003}},
2873 {
2874 {0.2547, 0.3068, 0.3502, 0.0883},
2875 {0.2867, 0.4735, 0.1461, 0.0937},
2876 {0.2405, 0.3345, 0.3657, 0.0592},
2877 {0.1344, 0.3949, 0.3518, 0.1188}},
2878 {
2879 {1.0000, 0.0000, 0.0000, 0.0000},
2880 {1.0000, 0.0000, 0.0000, 0.0000},
2881 {1.0000, 0.0000, 0.0000, 0.0000},
2882 {1.0000, 0.0000, 0.0000, 0.0000}},
2883 {
2884 {0.0000, 0.0000, 1.0000, 0.0000},
2885 {0.0000, 0.0000, 0.0000, 0.0000},
2886 {0.0000, 0.0000, 0.0000, 0.0000},
2887 {0.0000, 0.0000, 0.0000, 0.0000}},
2888 {
2889 {0.0000, 0.0000, 0.0000, 0.0000},
2890 {0.0000, 0.0000, 0.0000, 0.0000},
2891 {0.2631, 0.2789, 0.2773, 0.1807},
2892 {0.0000, 0.0000, 0.0000, 0.0000}},
2893 {
2894 {0.3237, 0.1973, 0.2919, 0.1871},
2895 {0.2900, 0.3052, 0.1306, 0.2741},
2896 {0.3263, 0.2681, 0.2146, 0.1910},
2897 {0.1830, 0.2248, 0.3651, 0.2271}},
2898 {
2899 {0.2550, 0.2167, 0.3654, 0.1629},
2900 {0.2718, 0.3230, 0.1363, 0.2689},
2901 {0.2599, 0.2667, 0.2977, 0.1757},
2902 {0.1566, 0.2576, 0.3699, 0.2160}},
2903 {
2904 {0.2441, 0.2375, 0.3224, 0.1961},
2905 {0.3010, 0.3093, 0.1236, 0.2661},
2906 {0.2385, 0.2894, 0.3123, 0.1599},
2907 {0.1311, 0.2705, 0.3631, 0.2353}},
2908 {
2909 {0.2798, 0.2009, 0.3121, 0.2072},
2910 {0.3112, 0.2780, 0.1273, 0.2835},
2911 {0.2863, 0.2271, 0.3034, 0.1832},
2912 {0.1659, 0.2310, 0.3408, 0.2622}},
2913 {
2914 {0.2211, 0.2089, 0.3974, 0.1727},
2915 {0.2897, 0.3232, 0.1372, 0.2499},
2916 {0.2585, 0.2628, 0.3067, 0.1720},
2917 {0.1431, 0.2714, 0.3700, 0.2155}},
2918 {
2919 {0.2456, 0.2197, 0.3496, 0.1851},
2920 {0.3014, 0.3144, 0.1409, 0.2434},
2921 {0.2370, 0.2737, 0.3150, 0.1742},
2922 {0.1497, 0.2527, 0.3749, 0.2227}},
2923 {
2924 {0.2910, 0.1944, 0.3160, 0.1987},
2925 {0.3097, 0.2761, 0.1307, 0.2835},
2926 {0.2948, 0.2499, 0.2727, 0.1826},
2927 {0.1578, 0.2461, 0.3386, 0.2576}},
2928 {
2929 {0.2269, 0.2147, 0.3899, 0.1686},
2930 {0.2781, 0.3254, 0.1325, 0.2640},
2931 {0.2555, 0.2589, 0.3188, 0.1668},
2932 {0.1327, 0.2641, 0.3836, 0.2197}},
2933 {
2934 {0.2245, 0.2287, 0.3597, 0.1871},
2935 {0.3114, 0.3024, 0.1301, 0.2561},
2936 {0.2357, 0.2724, 0.3271, 0.1647},
2937 {0.1468, 0.2541, 0.3608, 0.2383}},
2938 {
2939 {0.2761, 0.2133, 0.3216, 0.1891},
2940 {0.3275, 0.2709, 0.1246, 0.2770},
2941 {0.2961, 0.2551, 0.2643, 0.1845},
2942 {0.1724, 0.2363, 0.3259, 0.2655}},
2943 {
2944 {0.2401, 0.2207, 0.3716, 0.1676},
2945 {0.2814, 0.3289, 0.1338, 0.2558},
2946 {0.2423, 0.2629, 0.3086, 0.1862},
2947 {0.1370, 0.2672, 0.3763, 0.2194}},
2948 {
2949 {0.2408, 0.2103, 0.3570, 0.1919},
2950 {0.2967, 0.3183, 0.1241, 0.2608},
2951 {0.2387, 0.2772, 0.3098, 0.1743},
2952 {0.1508, 0.2446, 0.3731, 0.2316}},
2953 {
2954 {0.2792, 0.2070, 0.3135, 0.2002},
2955 {0.3055, 0.2678, 0.1250, 0.3017},
2956 {0.2648, 0.2589, 0.2846, 0.1917},
2957 {0.1627, 0.2531, 0.3291, 0.2551}},
2958 {
2959 {0.2361, 0.2189, 0.3678, 0.1772},
2960 {0.2820, 0.3443, 0.1200, 0.2536},
2961 {0.2479, 0.2603, 0.3170, 0.1748},
2962 {0.1275, 0.2829, 0.3775, 0.2122}},
2963 {
2964 {0.2340, 0.2170, 0.3600, 0.1889},
2965 {0.2943, 0.3199, 0.1230, 0.2628},
2966 {0.2370, 0.2723, 0.3197, 0.1710},
2967 {0.1391, 0.2480, 0.3669, 0.2460}},
2968 {
2969 {0.2700, 0.2089, 0.3168, 0.2043},
2970 {0.3015, 0.2913, 0.1286, 0.2787},
2971 {0.2924, 0.2302, 0.2869, 0.1905},
2972 {0.1571, 0.2555, 0.3411, 0.2462}},
2973 {
2974 {0.2307, 0.2115, 0.3804, 0.1773},
2975 {0.2970, 0.3217, 0.1233, 0.2580},
2976 {0.2326, 0.2700, 0.3172, 0.1802},
2977 {0.1278, 0.2686, 0.3693, 0.2343}},
2978 {
2979 {0.2369, 0.2248, 0.3497, 0.1886},
2980 {0.3094, 0.3052, 0.1273, 0.2580},
2981 {0.2354, 0.2876, 0.3118, 0.1652},
2982 {0.1618, 0.2415, 0.3669, 0.2297}},
2983 {
2984 {0.2923, 0.2025, 0.3156, 0.1896},
2985 {0.3015, 0.2875, 0.1336, 0.2774},
2986 {0.2843, 0.2349, 0.2860, 0.1947},
2987 {0.1543, 0.2552, 0.3392, 0.2513}},
2988 {
2989 {0.2373, 0.2249, 0.3623, 0.1756},
2990 {0.2664, 0.3523, 0.1147, 0.2666},
2991 {0.2474, 0.2803, 0.3041, 0.1682},
2992 {0.1466, 0.2680, 0.3660, 0.2193}},
2993 {
2994 {0.2573, 0.1998, 0.3529, 0.1901},
2995 {0.3047, 0.3113, 0.1283, 0.2557},
2996 {0.2275, 0.2777, 0.3253, 0.1695},
2997 {0.1518, 0.2515, 0.3617, 0.2350}},
2998 {
2999 {0.2849, 0.2074, 0.3073, 0.2004},
3000 {0.3001, 0.3012, 0.1111, 0.2876},
3001 {0.2850, 0.2568, 0.2757, 0.1825},
3002 {0.1673, 0.2391, 0.3471, 0.2465}},
3003 {
3004 {0.2274, 0.2330, 0.3746, 0.1650},
3005 {0.2855, 0.3405, 0.1258, 0.2482},
3006 {0.2218, 0.2584, 0.3367, 0.1831},
3007 {0.1282, 0.2693, 0.3780, 0.2245}},
3008 {
3009 {0.2475, 0.2069, 0.3517, 0.1939},
3010 {0.3025, 0.3098, 0.1310, 0.2566},
3011 {0.2334, 0.2762, 0.3231, 0.1674},
3012 {0.1480, 0.2433, 0.3677, 0.2410}},
3013 {
3014 {0.2796, 0.2090, 0.3178, 0.1936},
3015 {0.2978, 0.2894, 0.1265, 0.2863},
3016 {0.2777, 0.2494, 0.2879, 0.1850},
3017 {0.1670, 0.2707, 0.3406, 0.2218}},
3018 {
3019 {0.2432, 0.2177, 0.3611, 0.1780},
3020 {0.2839, 0.3357, 0.1158, 0.2646},
3021 {0.2384, 0.2612, 0.3250, 0.1754},
3022 {0.1219, 0.2870, 0.3540, 0.2371}},
3023 {
3024 {0.2433, 0.2103, 0.3554, 0.1911},
3025 {0.3101, 0.3078, 0.1182, 0.2639},
3026 {0.2259, 0.2677, 0.3362, 0.1702},
3027 {0.1369, 0.2505, 0.3730, 0.2397}},
3028 {
3029 {0.2898, 0.2130, 0.3088, 0.1884},
3030 {0.3176, 0.2881, 0.1176, 0.2767},
3031 {0.2824, 0.2534, 0.2785, 0.1857},
3032 {0.1590, 0.2425, 0.3474, 0.2512}},
3033 {
3034 {0.2385, 0.2311, 0.3528, 0.1776},
3035 {0.2937, 0.3345, 0.1190, 0.2528},
3036 {0.2210, 0.2718, 0.3281, 0.1791},
3037 {0.1353, 0.2789, 0.3674, 0.2185}},
3038 {
3039 {0.2512, 0.2241, 0.3296, 0.1951},
3040 {0.3022, 0.3194, 0.1218, 0.2567},
3041 {0.2291, 0.2713, 0.3316, 0.1680},
3042 {0.1571, 0.2484, 0.3597, 0.2348}},
3043 {
3044 {0.2957, 0.1932, 0.3141, 0.1970},
3045 {0.3002, 0.2776, 0.1167, 0.3055},
3046 {0.2804, 0.2538, 0.2766, 0.1891},
3047 {0.1619, 0.2433, 0.3483, 0.2466}},
3048 {
3049 {0.2345, 0.2264, 0.3680, 0.1711},
3050 {0.2694, 0.3417, 0.1166, 0.2724},
3051 {0.2270, 0.2625, 0.3182, 0.1923},
3052 {0.1381, 0.2829, 0.3492, 0.2298}},
3053 {
3054 {0.2527, 0.2092, 0.3409, 0.1972},
3055 {0.3002, 0.3104, 0.1168, 0.2725},
3056 {0.2318, 0.2673, 0.3393, 0.1616},
3057 {0.1439, 0.2440, 0.3595, 0.2526}},
3058 {
3059 {0.2846, 0.2117, 0.3081, 0.1956},
3060 {0.2993, 0.2845, 0.1299, 0.2863},
3061 {0.2863, 0.2449, 0.2943, 0.1745},
3062 {0.1619, 0.2503, 0.3412, 0.2466}},
3063 {
3064 {0.2440, 0.2176, 0.3714, 0.1670},
3065 {0.2838, 0.3336, 0.1238, 0.2588},
3066 {0.2386, 0.2705, 0.3089, 0.1820},
3067 {0.1263, 0.2938, 0.3539, 0.2260}},
3068 {
3069 {0.2566, 0.2239, 0.3349, 0.1846},
3070 {0.3022, 0.3201, 0.1108, 0.2669},
3071 {0.2316, 0.2729, 0.3231, 0.1724},
3072 {0.1524, 0.2346, 0.3660, 0.2469}},
3073 {
3074 {0.2863, 0.1901, 0.3264, 0.1973},
3075 {0.2849, 0.3019, 0.1276, 0.2855},
3076 {0.2798, 0.2461, 0.2789, 0.1952},
3077 {0.1706, 0.2519, 0.3214, 0.2561}},
3078 {
3079 {0.2426, 0.2159, 0.3608, 0.1807},
3080 {0.2869, 0.3338, 0.1226, 0.2567},
3081 {0.2409, 0.2612, 0.3278, 0.1702},
3082 {0.1258, 0.2865, 0.3578, 0.2300}},
3083 {
3084 {0.2524, 0.2103, 0.3465, 0.1908},
3085 {0.2774, 0.3318, 0.1180, 0.2728},
3086 {0.2158, 0.2564, 0.3364, 0.1914},
3087 {0.1509, 0.2500, 0.3436, 0.2554}},
3088 {
3089 {0.2842, 0.2056, 0.3252, 0.1851},
3090 {0.2980, 0.2949, 0.1222, 0.2848},
3091 {0.2799, 0.2340, 0.3058, 0.1803},
3092 {0.1656, 0.2407, 0.3240, 0.2696}},
3093 {
3094 {0.2374, 0.2200, 0.3619, 0.1806},
3095 {0.2818, 0.3371, 0.1173, 0.2635},
3096 {0.2448, 0.2613, 0.3073, 0.1866},
3097 {0.1273, 0.2798, 0.3450, 0.2478}},
3098 {
3099 {0.2395, 0.2079, 0.3647, 0.1879},
3100 {0.2962, 0.3138, 0.1208, 0.2693},
3101 {0.2381, 0.2728, 0.3339, 0.1552},
3102 {0.1548, 0.2490, 0.3493, 0.2468}},
3103 {
3104 {0.2677, 0.2090, 0.3203, 0.2028},
3105 {0.3069, 0.2954, 0.1159, 0.2818},
3106 {0.2770, 0.2363, 0.3041, 0.1825},
3107 {0.1674, 0.2575, 0.3241, 0.2510}},
3108 {
3109 {0.2328, 0.2216, 0.3600, 0.1856},
3110 {0.2712, 0.3489, 0.1016, 0.2783},
3111 {0.2333, 0.2775, 0.3108, 0.1784},
3112 {0.1229, 0.2781, 0.3472, 0.2518}},
3113 {
3114 {0.2603, 0.2057, 0.3477, 0.1862},
3115 {0.2965, 0.3159, 0.1139, 0.2737},
3116 {0.2179, 0.2617, 0.3428, 0.1776},
3117 {0.1612, 0.2595, 0.3353, 0.2441}},
3118 {
3119 {0.2875, 0.1958, 0.3235, 0.1931},
3120 {0.2992, 0.2921, 0.1176, 0.2911},
3121 {0.2759, 0.2507, 0.2954, 0.1781},
3122 {0.1691, 0.2622, 0.3245, 0.2442}},
3123 {
3124 {0.2297, 0.2326, 0.3648, 0.1729},
3125 {0.2810, 0.3324, 0.1106, 0.2760},
3126 {0.2428, 0.2722, 0.3153, 0.1696},
3127 {0.1316, 0.2769, 0.3496, 0.2419}},
3128 {
3129 {0.2417, 0.2147, 0.3368, 0.2068},
3130 {0.3025, 0.3093, 0.1275, 0.2606},
3131 {0.2192, 0.2781, 0.3195, 0.1832},
3132 {0.1627, 0.2500, 0.3415, 0.2458}},
3133 {
3134 {0.2726, 0.2025, 0.3226, 0.2023},
3135 {0.2913, 0.3031, 0.1224, 0.2831},
3136 {0.2764, 0.2401, 0.2959, 0.1875},
3137 {0.1696, 0.2463, 0.3320, 0.2516}}
3138 }
3139 },
3140 {
3141 { /* Splice_Site: Tr_AG; Species: Mouse */
3142 {
3143 {0.2228, 0.2228, 0.2228, 0.2228},
3144 {0.2369, 0.2369, 0.2369, 0.2369},
3145 {0.3020, 0.3020, 0.3020, 0.3020},
3146 {0.2383, 0.2383, 0.2383, 0.2383}},
3147 {
3148 {0.2394, 0.2063, 0.3566, 0.1977},
3149 {0.2514, 0.3133, 0.0740, 0.3612},
3150 {0.2638, 0.1958, 0.3453, 0.1951},
3151 {0.1538, 0.2507, 0.3564, 0.2392}},
3152 {
3153 {0.2589, 0.2022, 0.3644, 0.1744},
3154 {0.3248, 0.2912, 0.0693, 0.3147},
3155 {0.2263, 0.2091, 0.3712, 0.1933},
3156 {0.1713, 0.2443, 0.3338, 0.2507}},
3157 {
3158 {0.2216, 0.2134, 0.3668, 0.1982},
3159 {0.2737, 0.3050, 0.0691, 0.3523},
3160 {0.2165, 0.2059, 0.3499, 0.2277},
3161 {0.1836, 0.2442, 0.3481, 0.2241}},
3162 {
3163 {0.2346, 0.2002, 0.3552, 0.2100},
3164 {0.2786, 0.2987, 0.0701, 0.3525},
3165 {0.2384, 0.2030, 0.3455, 0.2131},
3166 {0.1552, 0.2406, 0.3537, 0.2505}},
3167 {
3168 {0.2292, 0.1940, 0.3618, 0.2151},
3169 {0.2732, 0.2876, 0.0742, 0.3651},
3170 {0.2331, 0.1997, 0.3809, 0.1863},
3171 {0.1424, 0.2708, 0.3351, 0.2517}},
3172 {
3173 {0.2639, 0.1895, 0.3280, 0.2186},
3174 {0.2390, 0.3277, 0.0689, 0.3645},
3175 {0.2641, 0.2440, 0.2923, 0.1996},
3176 {0.1592, 0.2599, 0.3158, 0.2651}},
3177 {
3178 {0.2261, 0.1973, 0.3555, 0.2211},
3179 {0.2470, 0.3298, 0.0742, 0.3489},
3180 {0.2347, 0.2232, 0.3190, 0.2231},
3181 {0.1645, 0.2805, 0.3114, 0.2436}},
3182 {
3183 {0.2368, 0.1869, 0.3450, 0.2312},
3184 {0.2623, 0.3085, 0.0625, 0.3667},
3185 {0.2583, 0.1996, 0.3384, 0.2036},
3186 {0.1722, 0.2366, 0.3261, 0.2651}},
3187 {
3188 {0.2081, 0.1991, 0.3545, 0.2382},
3189 {0.2547, 0.3498, 0.0629, 0.3325},
3190 {0.2352, 0.2108, 0.3270, 0.2271},
3191 {0.1425, 0.2846, 0.3355, 0.2373}},
3192 {
3193 {0.2615, 0.2168, 0.3147, 0.2070},
3194 {0.2610, 0.3483, 0.0577, 0.3329},
3195 {0.2425, 0.2403, 0.3111, 0.2061},
3196 {0.1590, 0.2650, 0.3341, 0.2419}},
3197 {
3198 {0.2573, 0.2416, 0.2786, 0.2226},
3199 {0.2737, 0.3335, 0.0556, 0.3372},
3200 {0.2469, 0.1996, 0.3464, 0.2071},
3201 {0.1544, 0.2470, 0.3278, 0.2708}},
3202 {
3203 {0.2562, 0.1963, 0.3013, 0.2462},
3204 {0.2703, 0.3013, 0.0555, 0.3728},
3205 {0.2574, 0.2163, 0.3056, 0.2207},
3206 {0.1631, 0.2384, 0.2998, 0.2987}},
3207 {
3208 {0.2278, 0.2545, 0.3101, 0.2075},
3209 {0.2871, 0.2871, 0.0604, 0.3654},
3210 {0.2326, 0.2471, 0.3169, 0.2034},
3211 {0.1381, 0.2411, 0.3388, 0.2821}},
3212 {
3213 {0.2362, 0.2274, 0.3270, 0.2093},
3214 {0.2486, 0.3120, 0.0550, 0.3844},
3215 {0.2532, 0.2149, 0.2985, 0.2334},
3216 {0.1296, 0.2397, 0.3770, 0.2537}},
3217 {
3218 {0.2350, 0.2254, 0.3277, 0.2119},
3219 {0.2363, 0.3201, 0.0723, 0.3714},
3220 {0.2306, 0.2327, 0.3345, 0.2022},
3221 {0.1521, 0.2625, 0.3219, 0.2635}},
3222 {
3223 {0.2485, 0.2243, 0.3203, 0.2068},
3224 {0.2652, 0.3141, 0.0600, 0.3607},
3225 {0.2164, 0.2210, 0.3281, 0.2344},
3226 {0.1533, 0.2472, 0.2901, 0.3095}},
3227 {
3228 {0.2238, 0.2246, 0.3375, 0.2142},
3229 {0.2749, 0.3097, 0.0585, 0.3570},
3230 {0.2444, 0.2070, 0.2749, 0.2737},
3231 {0.1758, 0.2743, 0.3230, 0.2269}},
3232 {
3233 {0.2205, 0.2593, 0.3132, 0.2070},
3234 {0.2657, 0.3141, 0.0630, 0.3571},
3235 {0.2504, 0.2391, 0.2595, 0.2510},
3236 {0.1522, 0.2727, 0.3250, 0.2501}},
3237 {
3238 {0.2477, 0.2900, 0.2781, 0.1842},
3239 {0.2485, 0.3361, 0.0453, 0.3700},
3240 {0.2165, 0.2462, 0.2741, 0.2633},
3241 {0.1423, 0.2807, 0.2920, 0.2850}},
3242 {
3243 {0.2233, 0.2243, 0.3363, 0.2160},
3244 {0.2183, 0.3677, 0.0467, 0.3673},
3245 {0.2697, 0.2232, 0.2765, 0.2306},
3246 {0.1627, 0.2780, 0.2992, 0.2600}},
3247 {
3248 {0.2838, 0.2358, 0.2695, 0.2109},
3249 {0.2772, 0.3310, 0.0430, 0.3488},
3250 {0.2157, 0.2431, 0.2868, 0.2543},
3251 {0.1587, 0.2872, 0.2798, 0.2744}},
3252 {
3253 {0.2522, 0.2549, 0.2392, 0.2537},
3254 {0.2599, 0.3342, 0.0568, 0.3491},
3255 {0.2206, 0.2700, 0.2303, 0.2792},
3256 {0.1453, 0.2823, 0.2815, 0.2909}},
3257 {
3258 {0.2190, 0.2399, 0.2684, 0.2727},
3259 {0.2486, 0.3173, 0.0428, 0.3913},
3260 {0.2194, 0.2836, 0.2322, 0.2649},
3261 {0.1783, 0.2725, 0.2620, 0.2872}},
3262 {
3263 {0.2580, 0.2390, 0.2207, 0.2823},
3264 {0.2244, 0.3263, 0.0358, 0.4135},
3265 {0.2370, 0.2471, 0.2440, 0.2720},
3266 {0.1766, 0.2602, 0.3139, 0.2493}},
3267 {
3268 {0.2521, 0.3138, 0.2262, 0.2079},
3269 {0.2417, 0.3237, 0.0367, 0.3979},
3270 {0.2714, 0.2364, 0.2236, 0.2686},
3271 {0.1834, 0.2918, 0.2420, 0.2827}},
3272 {
3273 {0.2280, 0.2997, 0.2176, 0.2547},
3274 {0.2186, 0.3318, 0.0524, 0.3972},
3275 {0.3006, 0.2324, 0.1872, 0.2798},
3276 {0.1488, 0.2775, 0.2880, 0.2856}},
3277 {
3278 {0.2537, 0.3048, 0.1901, 0.2513},
3279 {0.2638, 0.3028, 0.0343, 0.3991},
3280 {0.2502, 0.2955, 0.2263, 0.2280},
3281 {0.1851, 0.2959, 0.2485, 0.2705}},
3282 {
3283 {0.2752, 0.2764, 0.1735, 0.2749},
3284 {0.2423, 0.3190, 0.0392, 0.3996},
3285 {0.2553, 0.2580, 0.2164, 0.2702},
3286 {0.1579, 0.2970, 0.2770, 0.2681}},
3287 {
3288 {0.2268, 0.3071, 0.2018, 0.2643},
3289 {0.2363, 0.3075, 0.0371, 0.4191},
3290 {0.2971, 0.2391, 0.2256, 0.2382},
3291 {0.1566, 0.3082, 0.2552, 0.2800}},
3292 {
3293 {0.2424, 0.3355, 0.1672, 0.2548},
3294 {0.2379, 0.2796, 0.0491, 0.4333},
3295 {0.3058, 0.2435, 0.1598, 0.2910},
3296 {0.1371, 0.3081, 0.2673, 0.2875}},
3297 {
3298 {0.2634, 0.3310, 0.1620, 0.2435},
3299 {0.2466, 0.3014, 0.0394, 0.4126},
3300 {0.3109, 0.2508, 0.1532, 0.2851},
3301 {0.1356, 0.2793, 0.2751, 0.3100}},
3302 {
3303 {0.1787, 0.3382, 0.1932, 0.2900},
3304 {0.1844, 0.3130, 0.0359, 0.4667},
3305 {0.2738, 0.2603, 0.1610, 0.3049},
3306 {0.1013, 0.3218, 0.2446, 0.3323}},
3307 {
3308 {0.1984, 0.3771, 0.1372, 0.2873},
3309 {0.1764, 0.3135, 0.0477, 0.4624},
3310 {0.2264, 0.3130, 0.1690, 0.2916},
3311 {0.1090, 0.3155, 0.2469, 0.3286}},
3312 {
3313 {0.1939, 0.3855, 0.1174, 0.3033},
3314 {0.1797, 0.3400, 0.0387, 0.4416},
3315 {0.2434, 0.2587, 0.1473, 0.3506},
3316 {0.0821, 0.2946, 0.2650, 0.3583}},
3317 {
3318 {0.1891, 0.3366, 0.1256, 0.3488},
3319 {0.1467, 0.3573, 0.0368, 0.4592},
3320 {0.1913, 0.2574, 0.1524, 0.3990},
3321 {0.0817, 0.3343, 0.2202, 0.3639}},
3322 {
3323 {0.1692, 0.3418, 0.1098, 0.3792},
3324 {0.1424, 0.3744, 0.0471, 0.4361},
3325 {0.1489, 0.2945, 0.1732, 0.3834},
3326 {0.0895, 0.3443, 0.2091, 0.3572}},
3327 {
3328 {0.1854, 0.3370, 0.0771, 0.4004},
3329 {0.1248, 0.3756, 0.0473, 0.4524},
3330 {0.1218, 0.2875, 0.1330, 0.4577},
3331 {0.0778, 0.3106, 0.1979, 0.4137}},
3332 {
3333 {0.1830, 0.2994, 0.0950, 0.4226},
3334 {0.1023, 0.3746, 0.0418, 0.4813},
3335 {0.0958, 0.3115, 0.1345, 0.4582},
3336 {0.0761, 0.3249, 0.2104, 0.3886}},
3337 {
3338 {0.2106, 0.3374, 0.0549, 0.3971},
3339 {0.1062, 0.3351, 0.0373, 0.5214},
3340 {0.1036, 0.2562, 0.1584, 0.4818},
3341 {0.0589, 0.3311, 0.1753, 0.4347}},
3342 {
3343 {0.1184, 0.3646, 0.0317, 0.4853},
3344 {0.1075, 0.3341, 0.0396, 0.5188},
3345 {0.0843, 0.2987, 0.1480, 0.4690},
3346 {0.0535, 0.3428, 0.1935, 0.4103}},
3347 {
3348 {0.1567, 0.3416, 0.0228, 0.4789},
3349 {0.0874, 0.3338, 0.0275, 0.5512},
3350 {0.0759, 0.3065, 0.1345, 0.4832},
3351 {0.0533, 0.3449, 0.1744, 0.4273}},
3352 {
3353 {0.1665, 0.3543, 0.0145, 0.4647},
3354 {0.0818, 0.3402, 0.0306, 0.5474},
3355 {0.0748, 0.2931, 0.1238, 0.5083},
3356 {0.0527, 0.3906, 0.1650, 0.3917}},
3357 {
3358 {0.1767, 0.3237, 0.0000, 0.4996},
3359 {0.0861, 0.3469, 0.0193, 0.5477},
3360 {0.0924, 0.2823, 0.0852, 0.5401},
3361 {0.0599, 0.3805, 0.1686, 0.3910}},
3362 {
3363 {0.1725, 0.4176, 0.0086, 0.4013},
3364 {0.1274, 0.3806, 0.0270, 0.4650},
3365 {0.0728, 0.3084, 0.1343, 0.4845},
3366 {0.0708, 0.4035, 0.1816, 0.3441}},
3367 {
3368 {0.1438, 0.4261, 0.0324, 0.3977},
3369 {0.0990, 0.3937, 0.0197, 0.4876},
3370 {0.0735, 0.3197, 0.1196, 0.4872},
3371 {0.0681, 0.3978, 0.1605, 0.3736}},
3372 {
3373 {0.1384, 0.3878, 0.0095, 0.4643},
3374 {0.0975, 0.4880, 0.0200, 0.3945},
3375 {0.0676, 0.2571, 0.1070, 0.5683},
3376 {0.0492, 0.4478, 0.0926, 0.4104}},
3377 {
3378 {0.1649, 0.4045, 0.0212, 0.4094},
3379 {0.0819, 0.4843, 0.0187, 0.4151},
3380 {0.1351, 0.3450, 0.1557, 0.3643},
3381 {0.0352, 0.2913, 0.1019, 0.5716}},
3382 {
3383 {0.4090, 0.3088, 0.1119, 0.1703},
3384 {0.2934, 0.3600, 0.0836, 0.2629},
3385 {0.2910, 0.2565, 0.3055, 0.1470},
3386 {0.1473, 0.3165, 0.3031, 0.2331}},
3387 {
3388 {0.0441, 0.8103, 0.0028, 0.1427},
3389 {0.0368, 0.6384, 0.0012, 0.3236},
3390 {0.0295, 0.7669, 0.0025, 0.2011},
3391 {0.0315, 0.7083, 0.0000, 0.2602}},
3392 {
3393 {1.0000, 0.0000, 0.0000, 0.0000},
3394 {1.0000, 0.0000, 0.0000, 0.0000},
3395 {1.0000, 0.0000, 0.0000, 0.0000},
3396 {1.0000, 0.0000, 0.0000, 0.0000}},
3397 {
3398 {0.0000, 0.0000, 1.0000, 0.0000},
3399 {0.0000, 0.0000, 0.0000, 0.0000},
3400 {0.0000, 0.0000, 0.0000, 0.0000},
3401 {0.0000, 0.0000, 0.0000, 0.0000}},
3402 {
3403 {0.0000, 0.0000, 0.0000, 0.0000},
3404 {0.0000, 0.0000, 0.0000, 0.0000},
3405 {0.2312, 0.1535, 0.5030, 0.1123},
3406 {0.0000, 0.0000, 0.0000, 0.0000}},
3407 {
3408 {0.2178, 0.2363, 0.2228, 0.3232},
3409 {0.2134, 0.2702, 0.0876, 0.4288},
3410 {0.2247, 0.2123, 0.2309, 0.3321},
3411 {0.1336, 0.2067, 0.3551, 0.3045}},
3412 {
3413 {0.2970, 0.2542, 0.2416, 0.2073},
3414 {0.2481, 0.2887, 0.1151, 0.3482},
3415 {0.2501, 0.2806, 0.2262, 0.2432},
3416 {0.1364, 0.2522, 0.3963, 0.2152}},
3417 {
3418 {0.2381, 0.2821, 0.2152, 0.2645},
3419 {0.2560, 0.3667, 0.1050, 0.2723},
3420 {0.2473, 0.2465, 0.2583, 0.2479},
3421 {0.1024, 0.3560, 0.3291, 0.2125}},
3422 {
3423 {0.2450, 0.2518, 0.2703, 0.2329},
3424 {0.2625, 0.3263, 0.0980, 0.3132},
3425 {0.3425, 0.2315, 0.2179, 0.2081},
3426 {0.1412, 0.2875, 0.3550, 0.2163}},
3427 {
3428 {0.2787, 0.2300, 0.2892, 0.2021},
3429 {0.3202, 0.3256, 0.1027, 0.2515},
3430 {0.2610, 0.2449, 0.2795, 0.2146},
3431 {0.1494, 0.2574, 0.3952, 0.1980}},
3432 {
3433 {0.2148, 0.2481, 0.3431, 0.1940},
3434 {0.3302, 0.3239, 0.1026, 0.2433},
3435 {0.3268, 0.2231, 0.2728, 0.1773},
3436 {0.1300, 0.2695, 0.3917, 0.2088}},
3437 {
3438 {0.2604, 0.2667, 0.2723, 0.2006},
3439 {0.2892, 0.2915, 0.1301, 0.2892},
3440 {0.3260, 0.2264, 0.2339, 0.2138},
3441 {0.1275, 0.3153, 0.3228, 0.2344}},
3442 {
3443 {0.2208, 0.2360, 0.3249, 0.2183},
3444 {0.2898, 0.2945, 0.1001, 0.3156},
3445 {0.2503, 0.2425, 0.2763, 0.2309},
3446 {0.1256, 0.2753, 0.4094, 0.1897}},
3447 {
3448 {0.2565, 0.2251, 0.3444, 0.1740},
3449 {0.2709, 0.3677, 0.1175, 0.2439},
3450 {0.2941, 0.2290, 0.3144, 0.1625},
3451 {0.1051, 0.3026, 0.4162, 0.1761}},
3452 {
3453 {0.2905, 0.2012, 0.3131, 0.1951},
3454 {0.2695, 0.2715, 0.1255, 0.3335},
3455 {0.2343, 0.2007, 0.3623, 0.2027},
3456 {0.1110, 0.2407, 0.4059, 0.2424}},
3457 {
3458 {0.2534, 0.2001, 0.3618, 0.1846},
3459 {0.3084, 0.3035, 0.1350, 0.2531},
3460 {0.2535, 0.2416, 0.2958, 0.2091},
3461 {0.1158, 0.2509, 0.4566, 0.1767}},
3462 {
3463 {0.2494, 0.2439, 0.3252, 0.1814},
3464 {0.2953, 0.3280, 0.0955, 0.2812},
3465 {0.3254, 0.2269, 0.2685, 0.1792},
3466 {0.1176, 0.2765, 0.4119, 0.1939}},
3467 {
3468 {0.2484, 0.2438, 0.3074, 0.2004},
3469 {0.2342, 0.3064, 0.1355, 0.3239},
3470 {0.3103, 0.2391, 0.2569, 0.1938},
3471 {0.1500, 0.2706, 0.3718, 0.2076}},
3472 {
3473 {0.2199, 0.2470, 0.3470, 0.1860},
3474 {0.3135, 0.3082, 0.0931, 0.2852},
3475 {0.2562, 0.2760, 0.3012, 0.1666},
3476 {0.1261, 0.2678, 0.4232, 0.1829}},
3477 {
3478 {0.2153, 0.2498, 0.3127, 0.2221},
3479 {0.2944, 0.3238, 0.1058, 0.2760},
3480 {0.2839, 0.2288, 0.2968, 0.1905},
3481 {0.1372, 0.2764, 0.3884, 0.1980}},
3482 {
3483 {0.2443, 0.2820, 0.2792, 0.1945},
3484 {0.2569, 0.3349, 0.1205, 0.2876},
3485 {0.3128, 0.2254, 0.2585, 0.2033},
3486 {0.1183, 0.2943, 0.3496, 0.2378}},
3487 {
3488 {0.2303, 0.2338, 0.3431, 0.1928},
3489 {0.2654, 0.3318, 0.0944, 0.3084},
3490 {0.2419, 0.2652, 0.3008, 0.1920},
3491 {0.1320, 0.2427, 0.4500, 0.1753}},
3492 {
3493 {0.2343, 0.2238, 0.3348, 0.2071},
3494 {0.3284, 0.3101, 0.1078, 0.2537},
3495 {0.2853, 0.1721, 0.2949, 0.2477},
3496 {0.1274, 0.2356, 0.4265, 0.2105}},
3497 {
3498 {0.2732, 0.2023, 0.3119, 0.2126},
3499 {0.2805, 0.3020, 0.1279, 0.2897},
3500 {0.2939, 0.2225, 0.2951, 0.1886},
3501 {0.1151, 0.2663, 0.3905, 0.2280}},
3502 {
3503 {0.2344, 0.2174, 0.3651, 0.1830},
3504 {0.3003, 0.3431, 0.1029, 0.2537},
3505 {0.3211, 0.2530, 0.2683, 0.1577},
3506 {0.1284, 0.2890, 0.3960, 0.1867}},
3507 {
3508 {0.2218, 0.2231, 0.2728, 0.2823},
3509 {0.2719, 0.3364, 0.1450, 0.2467},
3510 {0.3215, 0.2025, 0.2905, 0.1855},
3511 {0.1137, 0.2931, 0.4020, 0.1913}},
3512 {
3513 {0.2768, 0.2019, 0.2939, 0.2274},
3514 {0.2600, 0.3466, 0.1041, 0.2893},
3515 {0.2893, 0.2502, 0.2492, 0.2112},
3516 {0.1196, 0.2500, 0.4168, 0.2136}},
3517 {
3518 {0.2056, 0.2773, 0.3354, 0.1817},
3519 {0.2540, 0.3633, 0.0984, 0.2842},
3520 {0.3283, 0.2306, 0.2591, 0.1820},
3521 {0.1160, 0.2829, 0.4236, 0.1775}},
3522 {
3523 {0.2237, 0.3223, 0.2988, 0.1552},
3524 {0.3477, 0.2960, 0.1047, 0.2517},
3525 {0.3456, 0.1993, 0.2894, 0.1658},
3526 {0.1252, 0.3042, 0.3942, 0.1763}},
3527 {
3528 {0.2668, 0.2066, 0.3186, 0.2080},
3529 {0.2778, 0.3273, 0.1323, 0.2626},
3530 {0.2677, 0.2591, 0.2768, 0.1964},
3531 {0.1298, 0.2557, 0.3865, 0.2280}},
3532 {
3533 {0.2264, 0.2274, 0.3944, 0.1518},
3534 {0.3041, 0.3132, 0.1117, 0.2710},
3535 {0.2852, 0.2712, 0.2758, 0.1678},
3536 {0.1176, 0.2897, 0.4117, 0.1810}},
3537 {
3538 {0.2426, 0.2579, 0.3305, 0.1690},
3539 {0.3656, 0.2460, 0.1159, 0.2725},
3540 {0.2893, 0.2339, 0.3155, 0.1613},
3541 {0.1394, 0.2620, 0.4380, 0.1606}},
3542 {
3543 {0.2482, 0.2175, 0.3489, 0.1855},
3544 {0.2905, 0.2928, 0.0920, 0.3247},
3545 {0.2891, 0.2261, 0.2875, 0.1972},
3546 {0.1246, 0.3280, 0.3209, 0.2265}},
3547 {
3548 {0.2248, 0.2177, 0.3408, 0.2167},
3549 {0.3272, 0.3201, 0.1037, 0.2491},
3550 {0.2868, 0.2384, 0.2484, 0.2264},
3551 {0.0900, 0.2651, 0.4677, 0.1772}},
3552 {
3553 {0.2354, 0.2630, 0.3206, 0.1810},
3554 {0.3068, 0.3509, 0.1040, 0.2383},
3555 {0.3119, 0.2400, 0.2960, 0.1522},
3556 {0.1219, 0.3501, 0.3688, 0.1593}},
3557 {
3558 {0.2865, 0.2355, 0.2891, 0.1889},
3559 {0.2658, 0.2838, 0.1241, 0.3263},
3560 {0.2816, 0.2466, 0.2496, 0.2221},
3561 {0.1274, 0.2611, 0.3787, 0.2327}},
3562 {
3563 {0.2200, 0.2180, 0.3708, 0.1911},
3564 {0.2609, 0.3267, 0.1243, 0.2881},
3565 {0.2692, 0.2738, 0.2743, 0.1828},
3566 {0.0977, 0.3332, 0.3948, 0.1743}},
3567 {
3568 {0.2355, 0.2379, 0.3495, 0.1771},
3569 {0.3082, 0.3465, 0.0929, 0.2524},
3570 {0.3046, 0.2326, 0.2900, 0.1728},
3571 {0.1292, 0.2827, 0.4218, 0.1663}},
3572 {
3573 {0.2659, 0.2312, 0.2908, 0.2121},
3574 {0.3185, 0.3131, 0.1031, 0.2653},
3575 {0.3504, 0.2467, 0.2079, 0.1951},
3576 {0.1261, 0.2927, 0.3635, 0.2177}},
3577 {
3578 {0.1941, 0.2309, 0.3807, 0.1942},
3579 {0.3157, 0.2579, 0.1281, 0.2983},
3580 {0.2560, 0.2838, 0.2560, 0.2042},
3581 {0.1194, 0.3044, 0.4058, 0.1703}},
3582 {
3583 {0.2420, 0.2227, 0.3452, 0.1901},
3584 {0.2972, 0.3071, 0.1308, 0.2649},
3585 {0.2679, 0.2388, 0.3209, 0.1724},
3586 {0.1407, 0.3082, 0.3780, 0.1731}},
3587 {
3588 {0.2554, 0.2273, 0.3024, 0.2148},
3589 {0.2301, 0.3023, 0.1289, 0.3387},
3590 {0.2865, 0.2558, 0.2794, 0.1783},
3591 {0.1107, 0.2959, 0.3665, 0.2270}},
3592 {
3593 {0.2433, 0.1911, 0.3663, 0.1994},
3594 {0.2977, 0.3132, 0.1041, 0.2850},
3595 {0.2715, 0.2648, 0.2701, 0.1936},
3596 {0.1014, 0.3020, 0.4412, 0.1554}},
3597 {
3598 {0.2296, 0.2628, 0.3532, 0.1544},
3599 {0.2644, 0.3486, 0.1267, 0.2604},
3600 {0.3101, 0.2182, 0.3242, 0.1475},
3601 {0.1402, 0.2996, 0.3774, 0.1828}},
3602 {
3603 {0.2635, 0.2297, 0.2985, 0.2084},
3604 {0.3000, 0.3313, 0.1151, 0.2536},
3605 {0.3163, 0.2445, 0.2492, 0.1901},
3606 {0.1335, 0.3304, 0.3269, 0.2092}},
3607 {
3608 {0.2132, 0.1976, 0.4026, 0.1866},
3609 {0.2777, 0.3570, 0.0993, 0.2661},
3610 {0.2467, 0.3038, 0.2745, 0.1750},
3611 {0.1010, 0.2811, 0.4067, 0.2113}},
3612 {
3613 {0.2386, 0.2319, 0.3429, 0.1867},
3614 {0.2604, 0.3120, 0.1316, 0.2960},
3615 {0.2943, 0.2397, 0.3088, 0.1572},
3616 {0.1196, 0.2715, 0.3772, 0.2316}},
3617 {
3618 {0.2719, 0.2209, 0.3133, 0.1939},
3619 {0.2744, 0.3195, 0.1223, 0.2838},
3620 {0.2936, 0.2638, 0.2637, 0.1790},
3621 {0.1171, 0.2734, 0.3972, 0.2123}},
3622 {
3623 {0.2374, 0.2387, 0.3653, 0.1585},
3624 {0.2911, 0.2917, 0.1295, 0.2877},
3625 {0.2886, 0.2440, 0.2878, 0.1795},
3626 {0.1189, 0.2916, 0.3964, 0.1931}},
3627 {
3628 {0.2181, 0.2498, 0.3222, 0.2098},
3629 {0.3100, 0.2845, 0.1381, 0.2674},
3630 {0.2928, 0.2493, 0.3079, 0.1501},
3631 {0.1176, 0.2921, 0.4228, 0.1674}},
3632 {
3633 {0.2531, 0.2471, 0.2860, 0.2138},
3634 {0.2832, 0.2841, 0.1090, 0.3237},
3635 {0.2567, 0.2652, 0.2734, 0.2047},
3636 {0.1015, 0.2983, 0.3658, 0.2344}},
3637 {
3638 {0.2129, 0.2361, 0.4059, 0.1451},
3639 {0.3045, 0.3193, 0.1149, 0.2613},
3640 {0.2907, 0.2368, 0.2888, 0.1837},
3641 {0.1000, 0.2659, 0.4477, 0.1864}},
3642 {
3643 {0.2454, 0.2568, 0.3012, 0.1966},
3644 {0.2906, 0.2859, 0.1346, 0.2889},
3645 {0.2697, 0.2547, 0.2727, 0.2029},
3646 {0.1377, 0.2536, 0.3970, 0.2117}},
3647 {
3648 {0.2436, 0.2147, 0.3387, 0.2030},
3649 {0.2947, 0.3225, 0.1104, 0.2723},
3650 {0.3156, 0.2566, 0.2281, 0.1997},
3651 {0.1353, 0.2854, 0.3832, 0.1961}}
3652 },
3653 { /* Splice_Site: Fs_AG; Species: Mouse */
3654 {
3655 {0.2234, 0.2234, 0.2234, 0.2234},
3656 {0.2702, 0.2702, 0.2702, 0.2702},
3657 {0.2774, 0.2774, 0.2774, 0.2774},
3658 {0.2290, 0.2290, 0.2290, 0.2290}},
3659 {
3660 {0.2460, 0.2574, 0.3199, 0.1766},
3661 {0.3321, 0.2926, 0.0822, 0.2931},
3662 {0.2557, 0.2569, 0.2814, 0.2060},
3663 {0.1324, 0.2876, 0.3338, 0.2462}},
3664 {
3665 {0.2533, 0.2081, 0.3324, 0.2063},
3666 {0.3036, 0.3009, 0.1014, 0.2941},
3667 {0.2479, 0.2716, 0.2799, 0.2006},
3668 {0.1389, 0.2847, 0.3574, 0.2190}},
3669 {
3670 {0.1918, 0.2477, 0.3789, 0.1816},
3671 {0.2622, 0.3341, 0.1137, 0.2900},
3672 {0.2568, 0.2583, 0.2815, 0.2034},
3673 {0.1069, 0.2806, 0.3596, 0.2529}},
3674 {
3675 {0.2347, 0.2625, 0.3014, 0.2015},
3676 {0.2666, 0.3177, 0.1010, 0.3147},
3677 {0.2419, 0.2657, 0.3010, 0.1914},
3678 {0.1443, 0.2606, 0.3341, 0.2611}},
3679 {
3680 {0.2827, 0.2309, 0.3059, 0.1805},
3681 {0.2671, 0.3284, 0.1082, 0.2963},
3682 {0.2529, 0.2665, 0.2635, 0.2171},
3683 {0.1428, 0.2762, 0.3170, 0.2640}},
3684 {
3685 {0.2148, 0.2336, 0.3638, 0.1878},
3686 {0.2816, 0.3335, 0.0880, 0.2969},
3687 {0.2284, 0.2582, 0.3204, 0.1929},
3688 {0.1282, 0.3010, 0.3200, 0.2508}},
3689 {
3690 {0.2264, 0.2110, 0.3263, 0.2363},
3691 {0.2914, 0.2943, 0.0887, 0.3256},
3692 {0.2488, 0.2533, 0.3007, 0.1972},
3693 {0.1433, 0.2952, 0.3185, 0.2430}},
3694 {
3695 {0.2497, 0.2269, 0.3451, 0.1783},
3696 {0.2973, 0.3149, 0.0852, 0.3027},
3697 {0.2563, 0.2738, 0.2691, 0.2008},
3698 {0.1374, 0.2788, 0.3359, 0.2479}},
3699 {
3700 {0.2118, 0.2315, 0.3851, 0.1716},
3701 {0.2630, 0.3311, 0.1026, 0.3033},
3702 {0.2557, 0.2702, 0.2998, 0.1744},
3703 {0.1199, 0.2755, 0.3452, 0.2594}},
3704 {
3705 {0.2346, 0.2355, 0.3154, 0.2145},
3706 {0.2946, 0.3049, 0.1032, 0.2974},
3707 {0.2142, 0.2580, 0.3018, 0.2260},
3708 {0.1517, 0.2864, 0.3271, 0.2348}},
3709 {
3710 {0.2239, 0.2421, 0.3325, 0.2016},
3711 {0.2998, 0.2845, 0.1119, 0.3038},
3712 {0.2543, 0.2704, 0.2669, 0.2084},
3713 {0.1515, 0.2728, 0.3401, 0.2356}},
3714 {
3715 {0.2284, 0.2192, 0.3808, 0.1716},
3716 {0.2931, 0.3054, 0.1059, 0.2955},
3717 {0.2235, 0.2721, 0.2977, 0.2067},
3718 {0.1419, 0.2893, 0.3420, 0.2268}},
3719 {
3720 {0.2143, 0.2451, 0.3211, 0.2195},
3721 {0.2952, 0.3143, 0.1083, 0.2823},
3722 {0.2294, 0.2842, 0.2946, 0.1918},
3723 {0.1345, 0.3088, 0.3334, 0.2234}},
3724 {
3725 {0.2552, 0.2258, 0.3114, 0.2077},
3726 {0.3017, 0.2798, 0.1024, 0.3161},
3727 {0.2672, 0.2699, 0.2706, 0.1923},
3728 {0.1656, 0.2750, 0.3100, 0.2493}},
3729 {
3730 {0.2117, 0.2142, 0.4088, 0.1654},
3731 {0.2728, 0.3370, 0.0898, 0.3003},
3732 {0.2245, 0.2594, 0.3185, 0.1977},
3733 {0.1521, 0.2868, 0.3480, 0.2131}},
3734 {
3735 {0.2421, 0.2246, 0.3212, 0.2120},
3736 {0.2771, 0.3108, 0.0970, 0.3151},
3737 {0.2265, 0.2763, 0.2954, 0.2017},
3738 {0.1312, 0.2632, 0.3851, 0.2204}},
3739 {
3740 {0.2477, 0.2341, 0.3205, 0.1976},
3741 {0.2749, 0.3126, 0.1102, 0.3023},
3742 {0.2649, 0.2450, 0.2774, 0.2127},
3743 {0.1212, 0.2783, 0.3693, 0.2312}},
3744 {
3745 {0.2224, 0.2257, 0.3977, 0.1542},
3746 {0.2880, 0.3157, 0.0890, 0.3073},
3747 {0.2565, 0.2616, 0.2867, 0.1953},
3748 {0.1411, 0.3125, 0.3394, 0.2071}},
3749 {
3750 {0.2326, 0.2672, 0.3185, 0.1817},
3751 {0.2723, 0.3087, 0.0989, 0.3201},
3752 {0.2410, 0.2572, 0.3142, 0.1877},
3753 {0.1447, 0.2633, 0.3470, 0.2450}},
3754 {
3755 {0.2522, 0.2418, 0.3046, 0.2013},
3756 {0.2731, 0.3376, 0.0942, 0.2951},
3757 {0.2713, 0.2613, 0.2834, 0.1840},
3758 {0.1386, 0.2770, 0.3451, 0.2393}},
3759 {
3760 {0.2378, 0.2175, 0.3663, 0.1784},
3761 {0.2859, 0.3045, 0.1124, 0.2972},
3762 {0.2811, 0.2418, 0.2794, 0.1977},
3763 {0.1412, 0.3104, 0.3221, 0.2263}},
3764 {
3765 {0.2624, 0.2298, 0.3187, 0.1890},
3766 {0.2859, 0.2716, 0.1044, 0.3381},
3767 {0.2319, 0.2735, 0.3025, 0.1921},
3768 {0.1389, 0.2729, 0.3403, 0.2479}},
3769 {
3770 {0.2688, 0.2351, 0.3087, 0.1874},
3771 {0.2865, 0.3135, 0.1226, 0.2773},
3772 {0.2701, 0.2341, 0.2696, 0.2261},
3773 {0.1448, 0.2649, 0.3402, 0.2501}},
3774 {
3775 {0.1866, 0.2152, 0.4074, 0.1908},
3776 {0.2989, 0.3140, 0.1001, 0.2870},
3777 {0.2150, 0.2535, 0.3357, 0.1958},
3778 {0.1204, 0.2959, 0.3364, 0.2473}},
3779 {
3780 {0.2463, 0.2282, 0.3255, 0.2000},
3781 {0.3012, 0.3012, 0.0860, 0.3116},
3782 {0.2298, 0.2743, 0.2916, 0.2043},
3783 {0.1384, 0.2703, 0.3638, 0.2275}},
3784 {
3785 {0.2687, 0.2193, 0.3342, 0.1779},
3786 {0.2791, 0.2829, 0.1175, 0.3205},
3787 {0.2696, 0.2490, 0.2744, 0.2071},
3788 {0.1473, 0.2608, 0.3406, 0.2513}},
3789 {
3790 {0.2127, 0.2245, 0.3826, 0.1802},
3791 {0.2833, 0.3123, 0.1245, 0.2798},
3792 {0.2358, 0.2574, 0.3093, 0.1976},
3793 {0.1143, 0.3214, 0.3195, 0.2448}},
3794 {
3795 {0.2311, 0.2568, 0.3112, 0.2009},
3796 {0.3041, 0.2844, 0.1004, 0.3111},
3797 {0.2465, 0.2409, 0.3087, 0.2039},
3798 {0.1333, 0.2714, 0.3337, 0.2615}},
3799 {
3800 {0.2731, 0.2255, 0.3313, 0.1700},
3801 {0.3130, 0.2742, 0.1266, 0.2863},
3802 {0.2540, 0.2922, 0.2771, 0.1767},
3803 {0.1331, 0.2827, 0.3419, 0.2423}},
3804 {
3805 {0.2194, 0.2472, 0.3801, 0.1533},
3806 {0.2645, 0.3249, 0.1121, 0.2985},
3807 {0.2564, 0.2415, 0.3101, 0.1919},
3808 {0.1265, 0.2957, 0.3289, 0.2489}},
3809 {
3810 {0.2581, 0.2130, 0.3515, 0.1774},
3811 {0.3126, 0.2991, 0.0959, 0.2924},
3812 {0.2259, 0.2744, 0.3236, 0.1760},
3813 {0.1430, 0.2686, 0.3408, 0.2475}},
3814 {
3815 {0.2426, 0.2136, 0.3445, 0.1993},
3816 {0.3167, 0.3108, 0.0922, 0.2803},
3817 {0.2713, 0.2612, 0.2692, 0.1983},
3818 {0.1671, 0.2698, 0.3056, 0.2575}},
3819 {
3820 {0.1922, 0.2484, 0.3869, 0.1725},
3821 {0.2817, 0.3380, 0.1059, 0.2744},
3822 {0.2595, 0.2645, 0.3100, 0.1660},
3823 {0.1432, 0.2819, 0.3283, 0.2466}},
3824 {
3825 {0.2681, 0.2154, 0.3084, 0.2081},
3826 {0.2787, 0.3262, 0.1116, 0.2835},
3827 {0.2499, 0.2861, 0.2725, 0.1914},
3828 {0.1221, 0.2749, 0.3489, 0.2542}},
3829 {
3830 {0.2704, 0.2136, 0.3228, 0.1931},
3831 {0.3007, 0.3121, 0.1100, 0.2772},
3832 {0.2773, 0.2494, 0.2768, 0.1965},
3833 {0.1484, 0.2471, 0.3493, 0.2552}},
3834 {
3835 {0.2265, 0.2409, 0.3590, 0.1736},
3836 {0.2907, 0.3208, 0.0999, 0.2886},
3837 {0.2560, 0.2415, 0.3135, 0.1890},
3838 {0.1299, 0.2825, 0.3634, 0.2242}},
3839 {
3840 {0.2247, 0.2775, 0.3100, 0.1878},
3841 {0.3101, 0.3014, 0.1057, 0.2828},
3842 {0.2432, 0.2953, 0.2920, 0.1695},
3843 {0.1356, 0.3085, 0.3400, 0.2159}},
3844 {
3845 {0.2622, 0.2092, 0.3537, 0.1750},
3846 {0.3190, 0.2879, 0.1117, 0.2813},
3847 {0.2636, 0.2663, 0.2886, 0.1814},
3848 {0.1206, 0.2838, 0.3693, 0.2263}},
3849 {
3850 {0.1972, 0.2205, 0.4242, 0.1581},
3851 {0.2523, 0.3600, 0.1152, 0.2726},
3852 {0.2316, 0.2622, 0.3324, 0.1739},
3853 {0.1370, 0.3268, 0.3365, 0.1997}},
3854 {
3855 {0.2278, 0.2518, 0.3404, 0.1800},
3856 {0.2969, 0.2954, 0.1090, 0.2988},
3857 {0.2441, 0.2330, 0.3333, 0.1896},
3858 {0.1498, 0.2819, 0.3236, 0.2447}},
3859 {
3860 {0.2659, 0.2149, 0.3392, 0.1801},
3861 {0.3044, 0.2742, 0.1113, 0.3100},
3862 {0.2664, 0.2382, 0.2907, 0.2047},
3863 {0.1481, 0.2630, 0.3513, 0.2376}},
3864 {
3865 {0.2240, 0.2313, 0.3829, 0.1618},
3866 {0.2771, 0.3090, 0.1286, 0.2852},
3867 {0.2362, 0.2809, 0.3232, 0.1597},
3868 {0.1351, 0.2817, 0.3701, 0.2131}},
3869 {
3870 {0.2479, 0.2216, 0.3541, 0.1763},
3871 {0.3186, 0.2812, 0.1027, 0.2976},
3872 {0.2377, 0.2669, 0.2930, 0.2024},
3873 {0.1207, 0.3001, 0.3389, 0.2403}},
3874 {
3875 {0.2700, 0.2057, 0.3560, 0.1682},
3876 {0.3080, 0.2912, 0.1029, 0.2979},
3877 {0.2813, 0.2671, 0.2778, 0.1737},
3878 {0.1383, 0.2719, 0.3573, 0.2325}},
3879 {
3880 {0.2245, 0.1933, 0.4123, 0.1698},
3881 {0.2612, 0.3216, 0.1160, 0.3012},
3882 {0.2583, 0.2443, 0.3244, 0.1730},
3883 {0.1493, 0.2892, 0.3800, 0.1816}},
3884 {
3885 {0.2508, 0.2195, 0.3365, 0.1932},
3886 {0.2888, 0.3251, 0.1013, 0.2847},
3887 {0.2442, 0.2623, 0.2986, 0.1949},
3888 {0.1631, 0.2760, 0.3339, 0.2270}},
3889 {
3890 {0.2487, 0.2248, 0.3526, 0.1739},
3891 {0.2965, 0.2960, 0.0896, 0.3179},
3892 {0.2816, 0.2596, 0.2755, 0.1832},
3893 {0.1567, 0.2473, 0.3509, 0.2451}},
3894 {
3895 {0.2346, 0.1995, 0.4171, 0.1489},
3896 {0.3197, 0.3349, 0.1364, 0.2090},
3897 {0.2870, 0.2362, 0.3225, 0.1543},
3898 {0.1369, 0.2837, 0.3818, 0.1976}},
3899 {
3900 {0.2441, 0.3232, 0.3565, 0.0763},
3901 {0.2987, 0.4599, 0.1261, 0.1153},
3902 {0.2549, 0.3573, 0.3210, 0.0667},
3903 {0.1104, 0.4223, 0.3502, 0.1171}},
3904 {
3905 {1.0000, 0.0000, 0.0000, 0.0000},
3906 {1.0000, 0.0000, 0.0000, 0.0000},
3907 {1.0000, 0.0000, 0.0000, 0.0000},
3908 {1.0000, 0.0000, 0.0000, 0.0000}},
3909 {
3910 {0.0000, 0.0000, 1.0000, 0.0000},
3911 {0.0000, 0.0000, 0.0000, 0.0000},
3912 {0.0000, 0.0000, 0.0000, 0.0000},
3913 {0.0000, 0.0000, 0.0000, 0.0000}},
3914 {
3915 {0.0000, 0.0000, 0.0000, 0.0000},
3916 {0.0000, 0.0000, 0.0000, 0.0000},
3917 {0.2742, 0.2644, 0.2718, 0.1896},
3918 {0.0000, 0.0000, 0.0000, 0.0000}},
3919 {
3920 {0.3122, 0.2180, 0.3059, 0.1640},
3921 {0.2882, 0.3183, 0.1193, 0.2742},
3922 {0.3117, 0.2637, 0.2347, 0.1898},
3923 {0.1601, 0.2321, 0.3737, 0.2341}},
3924 {
3925 {0.2404, 0.1968, 0.4046, 0.1582},
3926 {0.2794, 0.3345, 0.1171, 0.2690},
3927 {0.2479, 0.2581, 0.3274, 0.1666},
3928 {0.1529, 0.2769, 0.3720, 0.1983}},
3929 {
3930 {0.2490, 0.2441, 0.3308, 0.1761},
3931 {0.2947, 0.3218, 0.1038, 0.2797},
3932 {0.2291, 0.2620, 0.3028, 0.2061},
3933 {0.1375, 0.3047, 0.3250, 0.2328}},
3934 {
3935 {0.2418, 0.2184, 0.3418, 0.1980},
3936 {0.2835, 0.3106, 0.1189, 0.2871},
3937 {0.3215, 0.2177, 0.2937, 0.1672},
3938 {0.1450, 0.2783, 0.3649, 0.2118}},
3939 {
3940 {0.2247, 0.1872, 0.4222, 0.1659},
3941 {0.3118, 0.2868, 0.1120, 0.2894},
3942 {0.2570, 0.2364, 0.3372, 0.1695},
3943 {0.1360, 0.2560, 0.4112, 0.1968}},
3944 {
3945 {0.2496, 0.2172, 0.3581, 0.1752},
3946 {0.2932, 0.2971, 0.1221, 0.2876},
3947 {0.2300, 0.2667, 0.3169, 0.1865},
3948 {0.1606, 0.2510, 0.3783, 0.2101}},
3949 {
3950 {0.2806, 0.2023, 0.3250, 0.1921},
3951 {0.3222, 0.2827, 0.0952, 0.2999},
3952 {0.2700, 0.2473, 0.3031, 0.1796},
3953 {0.1404, 0.2505, 0.3667, 0.2424}},
3954 {
3955 {0.2085, 0.1938, 0.4246, 0.1730},
3956 {0.3055, 0.2931, 0.1230, 0.2784},
3957 {0.2497, 0.2409, 0.3249, 0.1845},
3958 {0.1403, 0.2883, 0.3676, 0.2039}},
3959 {
3960 {0.2115, 0.2511, 0.3427, 0.1946},
3961 {0.3182, 0.2653, 0.1281, 0.2884},
3962 {0.2446, 0.2730, 0.2788, 0.2036},
3963 {0.1506, 0.2787, 0.3198, 0.2509}},
3964 {
3965 {0.2437, 0.2189, 0.3326, 0.2048},
3966 {0.3105, 0.2789, 0.1204, 0.2902},
3967 {0.2855, 0.2284, 0.2951, 0.1910},
3968 {0.1613, 0.3036, 0.3138, 0.2213}},
3969 {
3970 {0.2343, 0.2222, 0.3863, 0.1573},
3971 {0.2947, 0.3072, 0.1129, 0.2852},
3972 {0.2284, 0.2608, 0.3351, 0.1757},
3973 {0.1315, 0.2860, 0.3651, 0.2175}},
3974 {
3975 {0.2263, 0.2394, 0.3604, 0.1739},
3976 {0.2836, 0.3126, 0.0969, 0.3069},
3977 {0.2349, 0.2719, 0.2788, 0.2144},
3978 {0.1806, 0.2512, 0.3581, 0.2101}},
3979 {
3980 {0.2576, 0.2128, 0.3494, 0.1802},
3981 {0.2924, 0.2969, 0.1104, 0.3002},
3982 {0.2575, 0.2649, 0.2865, 0.1911},
3983 {0.1338, 0.2873, 0.3602, 0.2187}},
3984 {
3985 {0.2032, 0.2428, 0.3808, 0.1732},
3986 {0.2822, 0.3464, 0.1202, 0.2511},
3987 {0.2580, 0.2376, 0.3110, 0.1934},
3988 {0.1397, 0.2923, 0.3980, 0.1700}},
3989 {
3990 {0.2157, 0.2451, 0.3447, 0.1945},
3991 {0.2846, 0.3221, 0.1093, 0.2839},
3992 {0.2433, 0.2874, 0.3135, 0.1557},
3993 {0.1382, 0.2584, 0.3552, 0.2482}},
3994 {
3995 {0.2418, 0.2537, 0.3330, 0.1714},
3996 {0.2835, 0.3111, 0.1141, 0.2913},
3997 {0.2574, 0.2451, 0.2856, 0.2119},
3998 {0.1321, 0.2715, 0.3356, 0.2608}},
3999 {
4000 {0.1876, 0.2356, 0.4276, 0.1493},
4001 {0.2806, 0.3105, 0.1157, 0.2932},
4002 {0.2282, 0.2455, 0.3207, 0.2056},
4003 {0.1221, 0.2732, 0.3767, 0.2280}},
4004 {
4005 {0.2368, 0.2546, 0.3206, 0.1880},
4006 {0.2992, 0.3272, 0.1126, 0.2610},
4007 {0.2387, 0.2649, 0.2868, 0.2096},
4008 {0.1482, 0.2671, 0.3690, 0.2157}},
4009 {
4010 {0.2586, 0.2381, 0.3359, 0.1674},
4011 {0.3031, 0.2992, 0.1198, 0.2779},
4012 {0.2645, 0.2713, 0.2652, 0.1990},
4013 {0.1493, 0.2458, 0.3625, 0.2425}},
4014 {
4015 {0.2238, 0.2189, 0.3899, 0.1675},
4016 {0.3129, 0.3107, 0.0930, 0.2834},
4017 {0.2515, 0.2497, 0.3170, 0.1818},
4018 {0.1300, 0.2809, 0.3680, 0.2211}},
4019 {
4020 {0.2340, 0.2438, 0.3408, 0.1814},
4021 {0.3067, 0.2848, 0.1127, 0.2958},
4022 {0.2360, 0.2525, 0.3048, 0.2067},
4023 {0.1339, 0.2755, 0.3565, 0.2340}},
4024 {
4025 {0.2616, 0.2244, 0.3552, 0.1588},
4026 {0.2885, 0.2980, 0.1294, 0.2841},
4027 {0.2410, 0.2510, 0.2997, 0.2083},
4028 {0.1596, 0.2460, 0.3609, 0.2335}},
4029 {
4030 {0.2114, 0.2439, 0.3719, 0.1728},
4031 {0.2661, 0.3085, 0.1079, 0.3175},
4032 {0.2123, 0.2838, 0.3145, 0.1894},
4033 {0.1351, 0.2753, 0.3521, 0.2375}},
4034 {
4035 {0.2529, 0.2213, 0.3164, 0.2095},
4036 {0.2895, 0.3260, 0.0994, 0.2851},
4037 {0.2618, 0.2522, 0.3007, 0.1853},
4038 {0.1412, 0.2823, 0.3556, 0.2209}},
4039 {
4040 {0.2727, 0.2048, 0.3416, 0.1810},
4041 {0.3118, 0.2740, 0.1103, 0.3039},
4042 {0.2579, 0.2558, 0.3053, 0.1810},
4043 {0.1575, 0.2795, 0.3553, 0.2077}},
4044 {
4045 {0.2061, 0.2529, 0.3880, 0.1530},
4046 {0.2707, 0.3369, 0.1213, 0.2711},
4047 {0.2478, 0.2539, 0.3119, 0.1864},
4048 {0.1357, 0.2862, 0.3716, 0.2065}},
4049 {
4050 {0.2604, 0.1937, 0.3395, 0.2064},
4051 {0.3090, 0.2847, 0.1192, 0.2871},
4052 {0.2371, 0.2557, 0.3143, 0.1929},
4053 {0.1407, 0.2726, 0.3484, 0.2383}},
4054 {
4055 {0.2537, 0.2279, 0.3260, 0.1924},
4056 {0.2942, 0.2939, 0.1158, 0.2961},
4057 {0.2659, 0.2509, 0.2817, 0.2015},
4058 {0.1475, 0.2840, 0.3276, 0.2409}},
4059 {
4060 {0.2269, 0.2394, 0.3761, 0.1575},
4061 {0.2696, 0.3289, 0.1327, 0.2688},
4062 {0.2408, 0.2413, 0.3290, 0.1889},
4063 {0.1302, 0.2620, 0.3526, 0.2552}},
4064 {
4065 {0.2282, 0.2400, 0.3375, 0.1944},
4066 {0.2890, 0.2968, 0.1053, 0.3088},
4067 {0.2429, 0.2622, 0.3108, 0.1840},
4068 {0.1379, 0.3033, 0.3201, 0.2387}},
4069 {
4070 {0.2582, 0.2253, 0.3307, 0.1858},
4071 {0.2959, 0.2995, 0.1254, 0.2792},
4072 {0.2516, 0.2641, 0.2807, 0.2036},
4073 {0.1589, 0.2805, 0.3368, 0.2237}},
4074 {
4075 {0.2088, 0.2454, 0.3769, 0.1689},
4076 {0.2595, 0.3202, 0.1172, 0.3031},
4077 {0.2581, 0.2615, 0.3038, 0.1766},
4078 {0.1278, 0.2792, 0.3652, 0.2278}},
4079 {
4080 {0.2517, 0.2153, 0.3471, 0.1859},
4081 {0.3106, 0.2840, 0.1163, 0.2892},
4082 {0.2066, 0.2613, 0.3305, 0.2017},
4083 {0.1633, 0.2745, 0.3328, 0.2294}},
4084 {
4085 {0.2699, 0.2288, 0.3261, 0.1752},
4086 {0.3106, 0.3442, 0.0918, 0.2533},
4087 {0.2735, 0.2526, 0.2889, 0.1849},
4088 {0.1817, 0.2652, 0.3456, 0.2075}},
4089 {
4090 {0.1898, 0.2211, 0.4035, 0.1855},
4091 {0.2887, 0.2903, 0.1176, 0.3034},
4092 {0.2255, 0.2601, 0.3232, 0.1912},
4093 {0.1350, 0.2764, 0.3877, 0.2008}},
4094 {
4095 {0.2445, 0.2507, 0.3204, 0.1844},
4096 {0.2949, 0.2750, 0.1166, 0.3135},
4097 {0.2429, 0.2494, 0.3083, 0.1994},
4098 {0.1526, 0.2765, 0.3313, 0.2396}},
4099 {
4100 {0.2617, 0.2378, 0.3081, 0.1924},
4101 {0.2758, 0.3021, 0.1075, 0.3146},
4102 {0.2637, 0.2404, 0.3021, 0.1938},
4103 {0.1611, 0.2590, 0.3547, 0.2253}},
4104 {
4105 {0.2196, 0.2432, 0.3735, 0.1636},
4106 {0.2611, 0.3488, 0.0887, 0.3015},
4107 {0.2516, 0.2372, 0.3116, 0.1996},
4108 {0.1356, 0.2707, 0.3630, 0.2308}},
4109 {
4110 {0.2360, 0.2590, 0.3176, 0.1873},
4111 {0.3055, 0.3152, 0.1074, 0.2719},
4112 {0.2306, 0.2603, 0.3072, 0.2020},
4113 {0.1710, 0.2615, 0.3285, 0.2390}},
4114 {
4115 {0.2483, 0.2475, 0.3114, 0.1928},
4116 {0.3012, 0.3197, 0.1076, 0.2715},
4117 {0.2640, 0.2523, 0.2866, 0.1971},
4118 {0.1413, 0.2873, 0.3418, 0.2296}},
4119 {
4120 {0.2121, 0.2571, 0.3606, 0.1702},
4121 {0.2989, 0.3141, 0.1066, 0.2804},
4122 {0.2493, 0.2413, 0.3161, 0.1933},
4123 {0.1178, 0.2848, 0.3818, 0.2156}},
4124 {
4125 {0.2556, 0.2212, 0.3394, 0.1838},
4126 {0.2870, 0.2859, 0.1084, 0.3187},
4127 {0.2462, 0.2568, 0.3262, 0.1709},
4128 {0.1428, 0.2674, 0.3419, 0.2479}},
4129 {
4130 {0.2594, 0.1969, 0.3507, 0.1929},
4131 {0.3139, 0.2795, 0.1105, 0.2961},
4132 {0.2485, 0.2641, 0.3004, 0.1870},
4133 {0.1707, 0.2620, 0.3285, 0.2389}},
4134 {
4135 {0.2406, 0.2467, 0.3546, 0.1580},
4136 {0.3064, 0.3068, 0.1026, 0.2841},
4137 {0.2365, 0.2751, 0.2990, 0.1893},
4138 {0.1311, 0.2663, 0.3770, 0.2256}},
4139 {
4140 {0.2329, 0.2427, 0.3353, 0.1891},
4141 {0.3088, 0.3099, 0.0961, 0.2852},
4142 {0.2108, 0.2476, 0.3281, 0.2135},
4143 {0.1374, 0.2837, 0.3654, 0.2135}},
4144 {
4145 {0.2497, 0.2706, 0.2912, 0.1885},
4146 {0.2945, 0.3134, 0.1094, 0.2827},
4147 {0.2541, 0.2587, 0.3011, 0.1860},
4148 {0.1684, 0.2618, 0.3567, 0.2131}},
4149 {
4150 {0.2092, 0.2306, 0.4000, 0.1602},
4151 {0.2940, 0.3165, 0.1094, 0.2802},
4152 {0.2463, 0.2474, 0.3127, 0.1936},
4153 {0.1229, 0.2598, 0.3718, 0.2455}},
4154 {
4155 {0.2317, 0.2456, 0.3341, 0.1886},
4156 {0.3127, 0.2816, 0.0973, 0.3085},
4157 {0.2238, 0.2544, 0.3316, 0.1901},
4158 {0.1379, 0.2693, 0.3542, 0.2386}},
4159 {
4160 {0.2508, 0.1983, 0.3798, 0.1710},
4161 {0.2896, 0.3274, 0.0861, 0.2957},
4162 {0.2600, 0.2343, 0.3014, 0.2043},
4163 {0.1612, 0.2436, 0.3832, 0.2121}}
4164 }
4165 }
4166 }; /* end of GthFlt AG_2 initialization for two classification model */
4167
4168 static double GU_7[8][HYPOTHESIS7][WINSIZE + 2][4][4] =
4169 {
4170 {
4171 { /* Splice_Site: T1_GT; Species: Rat */
4172 {
4173 {0.3190, 0.3190, 0.3190, 0.3190},
4174 {0.2423, 0.2423, 0.2423, 0.2423},
4175 {0.1489, 0.1489, 0.1489, 0.1489},
4176 {0.2898, 0.2898, 0.2898, 0.2898}},
4177 {
4178 {0.2361, 0.2386, 0.3931, 0.1321},
4179 {0.2449, 0.3722, 0.1209, 0.2620},
4180 {0.2022, 0.3025, 0.2997, 0.1956},
4181 {0.0648, 0.4342, 0.2601, 0.2410}},
4182 {
4183 {0.3061, 0.1814, 0.4104, 0.1021},
4184 {0.4123, 0.2761, 0.1314, 0.1803},
4185 {0.2744, 0.2986, 0.2822, 0.1448},
4186 {0.1615, 0.3001, 0.4106, 0.1278}},
4187 {
4188 {0.2973, 0.2182, 0.2162, 0.2684},
4189 {0.2703, 0.2277, 0.1573, 0.3446},
4190 {0.2759, 0.2916, 0.2619, 0.1705},
4191 {0.1987, 0.2367, 0.2769, 0.2877}},
4192 {
4193 {0.1623, 0.3342, 0.3162, 0.1873},
4194 {0.2296, 0.4095, 0.0546, 0.3063},
4195 {0.1608, 0.3933, 0.3066, 0.1393},
4196 {0.0862, 0.3275, 0.3884, 0.1979}},
4197 {
4198 {0.2384, 0.2939, 0.3992, 0.0685},
4199 {0.3359, 0.3352, 0.1268, 0.2020},
4200 {0.3379, 0.1657, 0.3786, 0.1178},
4201 {0.1915, 0.1793, 0.4746, 0.1546}},
4202 {
4203 {0.3210, 0.1893, 0.2027, 0.2869},
4204 {0.2769, 0.1993, 0.1721, 0.3518},
4205 {0.4378, 0.2337, 0.1905, 0.1379},
4206 {0.1594, 0.2366, 0.2339, 0.3702}},
4207 {
4208 {0.1797, 0.2851, 0.3903, 0.1449},
4209 {0.2401, 0.4660, 0.0408, 0.2531},
4210 {0.1821, 0.3606, 0.3422, 0.1151},
4211 {0.0775, 0.2973, 0.4644, 0.1608}},
4212 {
4213 {0.2027, 0.3171, 0.3698, 0.1104},
4214 {0.3594, 0.2268, 0.1520, 0.2619},
4215 {0.2982, 0.2632, 0.3233, 0.1153},
4216 {0.1765, 0.3361, 0.3004, 0.1870}},
4217 {
4218 {0.3577, 0.2130, 0.1725, 0.2568},
4219 {0.2109, 0.1912, 0.0582, 0.5397},
4220 {0.3257, 0.1706, 0.2454, 0.2583},
4221 {0.1933, 0.1877, 0.1585, 0.4605}},
4222 {
4223 {0.1668, 0.2637, 0.3649, 0.2046},
4224 {0.2221, 0.4576, 0.0814, 0.2389},
4225 {0.1426, 0.3231, 0.3112, 0.2231},
4226 {0.0546, 0.3373, 0.4804, 0.1277}},
4227 {
4228 {0.2225, 0.1492, 0.4602, 0.1681},
4229 {0.3699, 0.2823, 0.1066, 0.2412},
4230 {0.3708, 0.2545, 0.2503, 0.1245},
4231 {0.1316, 0.1745, 0.5312, 0.1628}},
4232 {
4233 {0.4082, 0.2381, 0.1313, 0.2224},
4234 {0.2675, 0.1603, 0.2088, 0.3635},
4235 {0.3489, 0.2487, 0.2485, 0.1539},
4236 {0.1816, 0.2431, 0.2328, 0.3425}},
4237 {
4238 {0.1197, 0.3513, 0.3869, 0.1421},
4239 {0.1612, 0.4874, 0.0698, 0.2816},
4240 {0.1607, 0.3372, 0.3175, 0.1846},
4241 {0.0761, 0.3252, 0.4278, 0.1709}},
4242 {
4243 {0.2079, 0.1434, 0.5428, 0.1059},
4244 {0.4336, 0.2078, 0.1464, 0.2122},
4245 {0.3156, 0.2116, 0.3590, 0.1138},
4246 {0.0926, 0.2441, 0.5262, 0.1371}},
4247 {
4248 {0.3767, 0.1439, 0.2127, 0.2667},
4249 {0.2087, 0.2277, 0.1150, 0.4487},
4250 {0.4319, 0.2142, 0.1565, 0.1975},
4251 {0.1408, 0.2457, 0.1674, 0.4461}},
4252 {
4253 {0.1807, 0.3110, 0.3465, 0.1617},
4254 {0.2225, 0.3688, 0.0837, 0.3250},
4255 {0.1472, 0.3478, 0.3139, 0.1911},
4256 {0.0732, 0.2946, 0.3856, 0.2466}},
4257 {
4258 {0.2640, 0.2348, 0.4177, 0.0835},
4259 {0.3450, 0.2787, 0.1654, 0.2109},
4260 {0.1699, 0.2295, 0.4456, 0.1551},
4261 {0.1491, 0.2389, 0.5467, 0.0653}},
4262 {
4263 {0.3775, 0.1884, 0.1646, 0.2695},
4264 {0.2697, 0.2502, 0.1213, 0.3589},
4265 {0.4673, 0.1711, 0.1505, 0.2111},
4266 {0.1713, 0.1714, 0.2234, 0.4339}},
4267 {
4268 {0.1179, 0.4138, 0.3275, 0.1408},
4269 {0.1553, 0.4272, 0.0720, 0.3455},
4270 {0.1417, 0.3275, 0.2358, 0.2950},
4271 {0.0494, 0.2786, 0.4769, 0.1951}},
4272 {
4273 {0.2100, 0.2867, 0.3592, 0.1441},
4274 {0.3731, 0.3151, 0.1241, 0.1877},
4275 {0.3278, 0.2266, 0.3644, 0.0812},
4276 {0.2082, 0.2657, 0.3802, 0.1459}},
4277 {
4278 {0.3304, 0.2517, 0.1344, 0.2835},
4279 {0.3059, 0.2461, 0.0977, 0.3504},
4280 {0.4151, 0.2443, 0.2056, 0.1350},
4281 {0.0971, 0.3564, 0.1395, 0.4070}},
4282 {
4283 {0.1978, 0.1783, 0.4444, 0.1796},
4284 {0.2116, 0.3069, 0.0909, 0.3905},
4285 {0.2015, 0.3513, 0.2398, 0.2074},
4286 {0.0662, 0.3608, 0.3747, 0.1983}},
4287 {
4288 {0.1647, 0.2468, 0.4690, 0.1195},
4289 {0.4055, 0.2603, 0.1261, 0.2082},
4290 {0.2387, 0.2415, 0.3955, 0.1243},
4291 {0.1246, 0.1743, 0.5680, 0.1331}},
4292 {
4293 {0.3704, 0.1992, 0.1285, 0.3020},
4294 {0.3068, 0.2261, 0.1309, 0.3362},
4295 {0.4476, 0.1877, 0.1479, 0.2168},
4296 {0.1432, 0.1798, 0.2473, 0.4297}},
4297 {
4298 {0.1755, 0.2321, 0.4605, 0.1319},
4299 {0.1939, 0.4603, 0.0757, 0.2701},
4300 {0.1627, 0.3637, 0.3445, 0.1291},
4301 {0.1070, 0.3171, 0.4344, 0.1415}},
4302 {
4303 {0.2532, 0.2396, 0.4112, 0.0960},
4304 {0.4166, 0.2415, 0.0967, 0.2452},
4305 {0.3236, 0.2153, 0.3503, 0.1108},
4306 {0.1512, 0.3148, 0.4809, 0.0532}},
4307 {
4308 {0.3766, 0.2597, 0.1342, 0.2295},
4309 {0.2661, 0.1686, 0.1963, 0.3690},
4310 {0.4647, 0.2183, 0.1713, 0.1457},
4311 {0.0909, 0.2754, 0.2009, 0.4328}},
4312 {
4313 {0.2084, 0.2706, 0.3843, 0.1367},
4314 {0.2023, 0.3916, 0.1359, 0.2702},
4315 {0.2041, 0.3338, 0.2576, 0.2045},
4316 {0.1002, 0.2351, 0.3998, 0.2650}},
4317 {
4318 {0.2264, 0.1901, 0.4826, 0.1010},
4319 {0.3045, 0.2578, 0.1437, 0.2939},
4320 {0.2382, 0.2418, 0.4317, 0.0884},
4321 {0.1260, 0.2403, 0.5612, 0.0725}},
4322 {
4323 {0.2921, 0.1832, 0.1848, 0.3400},
4324 {0.2845, 0.1527, 0.1694, 0.3933},
4325 {0.3121, 0.2580, 0.2263, 0.2036},
4326 {0.2225, 0.2844, 0.1295, 0.3635}},
4327 {
4328 {0.1740, 0.3007, 0.3650, 0.1604},
4329 {0.2354, 0.4118, 0.0693, 0.2835},
4330 {0.2566, 0.2944, 0.2596, 0.1894},
4331 {0.0665, 0.3355, 0.4164, 0.1816}},
4332 {
4333 {0.1333, 0.1551, 0.5043, 0.2072},
4334 {0.3879, 0.2495, 0.0959, 0.2667},
4335 {0.2872, 0.2847, 0.3114, 0.1167},
4336 {0.0858, 0.1680, 0.5154, 0.2308}},
4337 {
4338 {0.3874, 0.2513, 0.1498, 0.2115},
4339 {0.3525, 0.1800, 0.0783, 0.3892},
4340 {0.3895, 0.1486, 0.2765, 0.1853},
4341 {0.1584, 0.2887, 0.2753, 0.2776}},
4342 {
4343 {0.1354, 0.3354, 0.3564, 0.1728},
4344 {0.1979, 0.4204, 0.0562, 0.3255},
4345 {0.1393, 0.4388, 0.2590, 0.1628},
4346 {0.0938, 0.4043, 0.2648, 0.2371}},
4347 {
4348 {0.3012, 0.2074, 0.3338, 0.1575},
4349 {0.3387, 0.2969, 0.1023, 0.2621},
4350 {0.2404, 0.2228, 0.3105, 0.2263},
4351 {0.1498, 0.2356, 0.4430, 0.1717}},
4352 {
4353 {0.3797, 0.2313, 0.1284, 0.2606},
4354 {0.2697, 0.1726, 0.1462, 0.4115},
4355 {0.3339, 0.2896, 0.1884, 0.1881},
4356 {0.1670, 0.1354, 0.2279, 0.4696}},
4357 {
4358 {0.2484, 0.2349, 0.2978, 0.2189},
4359 {0.2204, 0.3199, 0.0926, 0.3671},
4360 {0.1404, 0.3279, 0.3332, 0.1985},
4361 {0.0825, 0.3814, 0.3199, 0.2161}},
4362 {
4363 {0.2098, 0.1894, 0.5492, 0.0516},
4364 {0.3911, 0.2369, 0.1017, 0.2702},
4365 {0.2383, 0.2273, 0.4064, 0.1280},
4366 {0.1243, 0.1696, 0.5297, 0.1764}},
4367 {
4368 {0.3401, 0.2340, 0.1743, 0.2516},
4369 {0.2211, 0.1447, 0.1257, 0.5085},
4370 {0.4466, 0.2052, 0.1447, 0.2035},
4371 {0.1896, 0.2925, 0.1865, 0.3314}},
4372 {
4373 {0.1635, 0.3086, 0.3414, 0.1865},
4374 {0.2183, 0.3506, 0.0987, 0.3324},
4375 {0.1829, 0.3449, 0.2492, 0.2229},
4376 {0.0996, 0.3618, 0.3562, 0.1825}},
4377 {
4378 {0.2461, 0.2185, 0.4145, 0.1208},
4379 {0.4575, 0.2430, 0.0489, 0.2506},
4380 {0.3214, 0.2254, 0.3154, 0.1377},
4381 {0.2098, 0.2721, 0.3835, 0.1346}},
4382 {
4383 {0.2803, 0.1882, 0.1123, 0.4192},
4384 {0.2645, 0.2319, 0.1468, 0.3568},
4385 {0.4053, 0.1591, 0.2232, 0.2124},
4386 {0.1551, 0.2880, 0.1260, 0.4310}},
4387 {
4388 {0.1892, 0.2817, 0.2996, 0.2296},
4389 {0.2305, 0.3809, 0.0908, 0.2977},
4390 {0.0896, 0.4647, 0.3096, 0.1361},
4391 {0.0648, 0.3450, 0.4056, 0.1846}},
4392 {
4393 {0.2562, 0.1447, 0.4609, 0.1383},
4394 {0.3394, 0.3080, 0.1075, 0.2451},
4395 {0.2601, 0.2218, 0.3504, 0.1677},
4396 {0.1980, 0.2029, 0.4526, 0.1466}},
4397 {
4398 {0.3081, 0.2897, 0.1291, 0.2731},
4399 {0.2649, 0.2832, 0.1291, 0.3229},
4400 {0.4180, 0.2161, 0.2055, 0.1605},
4401 {0.1743, 0.2503, 0.1414, 0.4340}},
4402 {
4403 {0.1863, 0.3286, 0.3409, 0.1441},
4404 {0.2749, 0.4902, 0.0167, 0.2182},
4405 {0.2003, 0.3844, 0.2915, 0.1237},
4406 {0.0845, 0.3625, 0.3907, 0.1623}},
4407 {
4408 {0.3695, 0.2857, 0.2724, 0.0724},
4409 {0.5595, 0.2990, 0.0549, 0.0867},
4410 {0.3972, 0.2609, 0.3240, 0.0179},
4411 {0.2122, 0.3218, 0.4535, 0.0125}},
4412 {
4413 {0.7490, 0.0839, 0.0462, 0.1209},
4414 {0.7474, 0.0554, 0.0665, 0.1307},
4415 {0.7469, 0.1308, 0.1052, 0.0171},
4416 {0.1771, 0.2088, 0.2466, 0.3676}},
4417 {
4418 {0.0420, 0.0154, 0.8652, 0.0774},
4419 {0.0927, 0.0439, 0.5886, 0.2748},
4420 {0.1101, 0.0302, 0.7989, 0.0608},
4421 {0.0776, 0.0557, 0.7119, 0.1548}},
4422 {
4423 {0.0000, 0.0000, 1.0000, 0.0000},
4424 {0.0000, 0.0000, 1.0000, 0.0000},
4425 {0.0000, 0.0000, 1.0000, 0.0000},
4426 {0.0000, 0.0000, 1.0000, 0.0000}},
4427 {
4428 {0.0000, 0.0000, 0.0000, 0.0000},
4429 {0.0000, 0.0000, 0.0000, 0.0000},
4430 {0.0000, 0.0000, 0.0000, 1.0000},
4431 {0.0000, 0.0000, 0.0000, 0.0000}},
4432 {
4433 {0.0000, 0.0000, 0.0000, 0.0000},
4434 {0.0000, 0.0000, 0.0000, 0.0000},
4435 {0.0000, 0.0000, 0.0000, 0.0000},
4436 {0.4580, 0.0436, 0.4827, 0.0157}},
4437 {
4438 {0.5492, 0.1141, 0.1841, 0.1526},
4439 {0.6921, 0.0501, 0.0000, 0.2578},
4440 {0.8338, 0.0496, 0.0737, 0.0429},
4441 {0.1216, 0.0000, 0.4289, 0.4495}},
4442 {
4443 {0.0518, 0.0355, 0.8721, 0.0406},
4444 {0.2448, 0.2622, 0.3547, 0.1384},
4445 {0.0868, 0.0361, 0.8240, 0.0531},
4446 {0.0646, 0.1044, 0.7700, 0.0610}},
4447 {
4448 {0.1858, 0.2481, 0.3836, 0.1825},
4449 {0.4092, 0.3002, 0.0708, 0.2198},
4450 {0.2124, 0.1881, 0.1632, 0.4363},
4451 {0.0875, 0.1692, 0.2879, 0.4554}},
4452 {
4453 {0.1903, 0.1886, 0.4575, 0.1636},
4454 {0.3581, 0.2973, 0.1329, 0.2117},
4455 {0.3375, 0.2646, 0.3047, 0.0932},
4456 {0.2617, 0.1666, 0.4184, 0.1533}},
4457 {
4458 {0.2092, 0.3144, 0.2655, 0.2110},
4459 {0.1712, 0.4087, 0.0100, 0.4101},
4460 {0.2531, 0.2762, 0.3103, 0.1605},
4461 {0.0873, 0.3255, 0.3765, 0.2107}},
4462 {
4463 {0.2782, 0.2448, 0.3809, 0.0961},
4464 {0.3199, 0.2623, 0.0810, 0.3367},
4465 {0.2422, 0.3328, 0.3020, 0.1230},
4466 {0.1208, 0.2059, 0.4683, 0.2050}},
4467 {
4468 {0.2091, 0.2665, 0.3798, 0.1446},
4469 {0.2122, 0.3110, 0.1430, 0.3339},
4470 {0.2000, 0.1965, 0.3967, 0.2068},
4471 {0.1632, 0.2049, 0.3116, 0.3203}},
4472 {
4473 {0.1972, 0.2590, 0.3391, 0.2047},
4474 {0.3174, 0.3346, 0.0574, 0.2905},
4475 {0.2175, 0.1945, 0.4587, 0.1294},
4476 {0.1611, 0.2940, 0.3439, 0.2010}},
4477 {
4478 {0.2186, 0.2522, 0.3327, 0.1965},
4479 {0.2339, 0.3178, 0.1235, 0.3248},
4480 {0.2354, 0.2110, 0.3381, 0.2155},
4481 {0.1194, 0.2830, 0.3185, 0.2791}},
4482 {
4483 {0.2226, 0.2192, 0.4144, 0.1439},
4484 {0.2754, 0.2553, 0.0744, 0.3949},
4485 {0.1605, 0.2319, 0.3968, 0.2109},
4486 {0.1507, 0.2948, 0.2907, 0.2638}},
4487 {
4488 {0.2003, 0.3132, 0.3394, 0.1470},
4489 {0.2447, 0.2663, 0.1212, 0.3679},
4490 {0.2135, 0.2037, 0.3428, 0.2400},
4491 {0.1410, 0.2910, 0.3571, 0.2108}},
4492 {
4493 {0.1450, 0.2189, 0.4256, 0.2105},
4494 {0.2925, 0.3542, 0.0759, 0.2774},
4495 {0.1487, 0.2504, 0.4117, 0.1892},
4496 {0.1652, 0.2354, 0.3478, 0.2516}},
4497 {
4498 {0.2441, 0.2101, 0.3382, 0.2076},
4499 {0.2662, 0.3522, 0.0909, 0.2907},
4500 {0.1878, 0.1699, 0.4803, 0.1620},
4501 {0.1857, 0.2859, 0.3450, 0.1835}},
4502 {
4503 {0.2100, 0.1794, 0.4197, 0.1909},
4504 {0.1630, 0.3638, 0.1139, 0.3592},
4505 {0.1660, 0.1528, 0.4542, 0.2269},
4506 {0.1478, 0.1816, 0.3316, 0.3390}},
4507 {
4508 {0.1217, 0.1196, 0.5462, 0.2125},
4509 {0.1994, 0.3692, 0.1211, 0.3103},
4510 {0.1873, 0.1928, 0.4241, 0.1959},
4511 {0.0631, 0.2234, 0.3780, 0.3355}},
4512 {
4513 {0.2569, 0.1807, 0.3391, 0.2234},
4514 {0.2320, 0.3288, 0.0645, 0.3748},
4515 {0.1772, 0.2604, 0.3956, 0.1668},
4516 {0.1891, 0.2542, 0.3153, 0.2413}},
4517 {
4518 {0.1312, 0.1927, 0.4266, 0.2495},
4519 {0.3128, 0.3102, 0.1161, 0.2609},
4520 {0.3178, 0.1675, 0.3229, 0.1919},
4521 {0.2107, 0.2678, 0.3622, 0.1593}},
4522 {
4523 {0.2103, 0.1689, 0.3525, 0.2682},
4524 {0.3024, 0.2974, 0.0361, 0.3641},
4525 {0.2208, 0.2160, 0.3044, 0.2587},
4526 {0.1846, 0.2610, 0.3845, 0.1699}},
4527 {
4528 {0.1870, 0.2532, 0.2946, 0.2652},
4529 {0.1834, 0.3501, 0.1029, 0.3635},
4530 {0.1616, 0.2107, 0.3982, 0.2295},
4531 {0.1489, 0.2519, 0.4025, 0.1967}},
4532 {
4533 {0.1722, 0.2040, 0.3682, 0.2556},
4534 {0.3195, 0.2744, 0.0966, 0.3094},
4535 {0.2794, 0.1801, 0.3620, 0.1785},
4536 {0.1444, 0.2183, 0.4063, 0.2311}},
4537 {
4538 {0.1972, 0.2768, 0.3789, 0.1471},
4539 {0.3053, 0.2533, 0.1243, 0.3171},
4540 {0.2499, 0.1732, 0.3877, 0.1892},
4541 {0.1455, 0.2738, 0.2935, 0.2873}},
4542 {
4543 {0.1768, 0.2356, 0.4154, 0.1722},
4544 {0.2619, 0.3329, 0.1017, 0.3035},
4545 {0.2227, 0.1635, 0.4985, 0.1154},
4546 {0.1858, 0.2084, 0.3701, 0.2357}},
4547 {
4548 {0.2433, 0.2143, 0.4096, 0.1329},
4549 {0.2327, 0.2924, 0.1398, 0.3351},
4550 {0.2328, 0.1175, 0.4553, 0.1945},
4551 {0.1215, 0.2067, 0.3408, 0.3310}},
4552 {
4553 {0.2081, 0.1943, 0.4667, 0.1309},
4554 {0.2424, 0.3519, 0.1126, 0.2931},
4555 {0.2398, 0.2210, 0.4021, 0.1371},
4556 {0.1303, 0.2352, 0.3716, 0.2629}},
4557 {
4558 {0.1525, 0.2226, 0.3940, 0.2308},
4559 {0.2278, 0.3792, 0.0797, 0.3133},
4560 {0.1863, 0.2525, 0.3374, 0.2239},
4561 {0.1006, 0.2719, 0.3622, 0.2652}},
4562 {
4563 {0.2238, 0.1763, 0.4370, 0.1629},
4564 {0.3017, 0.2361, 0.1303, 0.3319},
4565 {0.2554, 0.2365, 0.3703, 0.1378},
4566 {0.1757, 0.2253, 0.4101, 0.1890}},
4567 {
4568 {0.2125, 0.1922, 0.3150, 0.2803},
4569 {0.2292, 0.2729, 0.0660, 0.4319},
4570 {0.2603, 0.1696, 0.3353, 0.2349},
4571 {0.1288, 0.3477, 0.2725, 0.2510}},
4572 {
4573 {0.1922, 0.2257, 0.3954, 0.1867},
4574 {0.2906, 0.2639, 0.0757, 0.3698},
4575 {0.1852, 0.1851, 0.4432, 0.1865},
4576 {0.1674, 0.2070, 0.3570, 0.2687}},
4577 {
4578 {0.2927, 0.1546, 0.3588, 0.1939},
4579 {0.3212, 0.3169, 0.0746, 0.2874},
4580 {0.2436, 0.1290, 0.4434, 0.1839},
4581 {0.1533, 0.3173, 0.2885, 0.2409}},
4582 {
4583 {0.2453, 0.2104, 0.3491, 0.1952},
4584 {0.2420, 0.3936, 0.0588, 0.3056},
4585 {0.2419, 0.2547, 0.3152, 0.1882},
4586 {0.1157, 0.2509, 0.2597, 0.3738}},
4587 {
4588 {0.2108, 0.2355, 0.3964, 0.1573},
4589 {0.2501, 0.3769, 0.1005, 0.2725},
4590 {0.1968, 0.2809, 0.3023, 0.2200},
4591 {0.1335, 0.2200, 0.4181, 0.2284}},
4592 {
4593 {0.1848, 0.1890, 0.4143, 0.2119},
4594 {0.3105, 0.2556, 0.0876, 0.3463},
4595 {0.2586, 0.1400, 0.4045, 0.1968},
4596 {0.1575, 0.2559, 0.3334, 0.2532}},
4597 {
4598 {0.2167, 0.2102, 0.4362, 0.1370},
4599 {0.2183, 0.3431, 0.0801, 0.3586},
4600 {0.1642, 0.2874, 0.3364, 0.2119},
4601 {0.1299, 0.2398, 0.3739, 0.2563}},
4602 {
4603 {0.1503, 0.1684, 0.4715, 0.2099},
4604 {0.2124, 0.4048, 0.1156, 0.2673},
4605 {0.2507, 0.1888, 0.3533, 0.2071},
4606 {0.1719, 0.1961, 0.3666, 0.2655}},
4607 {
4608 {0.2271, 0.2598, 0.3474, 0.1657},
4609 {0.3422, 0.2471, 0.0990, 0.3116},
4610 {0.2302, 0.1940, 0.3754, 0.2004},
4611 {0.1378, 0.3046, 0.3264, 0.2313}},
4612 {
4613 {0.3153, 0.1681, 0.3247, 0.1919},
4614 {0.2456, 0.3385, 0.0689, 0.3470},
4615 {0.1936, 0.1856, 0.3075, 0.3133},
4616 {0.1848, 0.2331, 0.3444, 0.2377}},
4617 {
4618 {0.2225, 0.2082, 0.3514, 0.2179},
4619 {0.3067, 0.3217, 0.0632, 0.3084},
4620 {0.1760, 0.1896, 0.3523, 0.2821},
4621 {0.1194, 0.3387, 0.2961, 0.2458}},
4622 {
4623 {0.2347, 0.2095, 0.3565, 0.1994},
4624 {0.2617, 0.4162, 0.0750, 0.2471},
4625 {0.3190, 0.2035, 0.3250, 0.1526},
4626 {0.1577, 0.2759, 0.3239, 0.2424}},
4627 {
4628 {0.2049, 0.2697, 0.2955, 0.2299},
4629 {0.2497, 0.3545, 0.0542, 0.3415},
4630 {0.2563, 0.1700, 0.3097, 0.2640},
4631 {0.0942, 0.2195, 0.4181, 0.2682}},
4632 {
4633 {0.1824, 0.2293, 0.3569, 0.2314},
4634 {0.2373, 0.3689, 0.1003, 0.2935},
4635 {0.2955, 0.1857, 0.3308, 0.1880},
4636 {0.1431, 0.2271, 0.4109, 0.2188}},
4637 {
4638 {0.2354, 0.2538, 0.4020, 0.1088},
4639 {0.3585, 0.3122, 0.0528, 0.2765},
4640 {0.1894, 0.1446, 0.3780, 0.2879},
4641 {0.1317, 0.2534, 0.3836, 0.2313}},
4642 {
4643 {0.2731, 0.2360, 0.3167, 0.1742},
4644 {0.3165, 0.1924, 0.1326, 0.3586},
4645 {0.1853, 0.1707, 0.4083, 0.2357},
4646 {0.1886, 0.3069, 0.2892, 0.2154}},
4647 {
4648 {0.2314, 0.1500, 0.4208, 0.1978},
4649 {0.1958, 0.3789, 0.0360, 0.3893},
4650 {0.1874, 0.1693, 0.3885, 0.2548},
4651 {0.1361, 0.2124, 0.2914, 0.3601}},
4652 {
4653 {0.2945, 0.1478, 0.3591, 0.1986},
4654 {0.2194, 0.3880, 0.0313, 0.3614},
4655 {0.2870, 0.1929, 0.2953, 0.2247},
4656 {0.1543, 0.2350, 0.3576, 0.2531}},
4657 {
4658 {0.2350, 0.1968, 0.4473, 0.1209},
4659 {0.3134, 0.2808, 0.0737, 0.3321},
4660 {0.2277, 0.1786, 0.3275, 0.2663},
4661 {0.1812, 0.2210, 0.3807, 0.2171}},
4662 {
4663 {0.2105, 0.1811, 0.3638, 0.2446},
4664 {0.3086, 0.3040, 0.0214, 0.3659},
4665 {0.2507, 0.2217, 0.3185, 0.2090},
4666 {0.2106, 0.2565, 0.2609, 0.2719}},
4667 {
4668 {0.2055, 0.1923, 0.4623, 0.1400},
4669 {0.3346, 0.3050, 0.0625, 0.2979},
4670 {0.2844, 0.1409, 0.3878, 0.1869},
4671 {0.0787, 0.3546, 0.3210, 0.2458}},
4672 {
4673 {0.2506, 0.1987, 0.3029, 0.2479},
4674 {0.2742, 0.2969, 0.0532, 0.3758},
4675 {0.2297, 0.2676, 0.3142, 0.1885},
4676 {0.1681, 0.2265, 0.2938, 0.3116}},
4677 {
4678 {0.2230, 0.2395, 0.3669, 0.1706},
4679 {0.3549, 0.2273, 0.0775, 0.3403},
4680 {0.2039, 0.1813, 0.3875, 0.2273},
4681 {0.1620, 0.2009, 0.4145, 0.2225}}
4682 },
4683 { /* Splice_Site: T2_GT; Species: Rat */
4684 {
4685 {0.1471, 0.1471, 0.1471, 0.1471},
4686 {0.3618, 0.3618, 0.3618, 0.3618},
4687 {0.2801, 0.2801, 0.2801, 0.2801},
4688 {0.2110, 0.2110, 0.2110, 0.2110}},
4689 {
4690 {0.1023, 0.2558, 0.4212, 0.2207},
4691 {0.4568, 0.2708, 0.0760, 0.1964},
4692 {0.2082, 0.2208, 0.3463, 0.2247},
4693 {0.1751, 0.2698, 0.4407, 0.1144}},
4694 {
4695 {0.2042, 0.2622, 0.1696, 0.3640},
4696 {0.2356, 0.2577, 0.1332, 0.3735},
4697 {0.3660, 0.2866, 0.1661, 0.1813},
4698 {0.1356, 0.3203, 0.3141, 0.2300}},
4699 {
4700 {0.1445, 0.2846, 0.3330, 0.2378},
4701 {0.1796, 0.4151, 0.0829, 0.3224},
4702 {0.1521, 0.3931, 0.2792, 0.1756},
4703 {0.1084, 0.3035, 0.4012, 0.1869}},
4704 {
4705 {0.2051, 0.2920, 0.3340, 0.1688},
4706 {0.3513, 0.3272, 0.1053, 0.2162},
4707 {0.2860, 0.2880, 0.3092, 0.1167},
4708 {0.1436, 0.1678, 0.4997, 0.1889}},
4709 {
4710 {0.3591, 0.2010, 0.2025, 0.2375},
4711 {0.1847, 0.1402, 0.0820, 0.5930},
4712 {0.2556, 0.1559, 0.2946, 0.2939},
4713 {0.1521, 0.2253, 0.1360, 0.4866}},
4714 {
4715 {0.1593, 0.3415, 0.2975, 0.2018},
4716 {0.3004, 0.3072, 0.0436, 0.3489},
4717 {0.1581, 0.4243, 0.2319, 0.1857},
4718 {0.0368, 0.3253, 0.3600, 0.2779}},
4719 {
4720 {0.2681, 0.2039, 0.4584, 0.0695},
4721 {0.3696, 0.3406, 0.0935, 0.1963},
4722 {0.3055, 0.2723, 0.3298, 0.0924},
4723 {0.1147, 0.2411, 0.4878, 0.1564}},
4724 {
4725 {0.2170, 0.2584, 0.2082, 0.3165},
4726 {0.3085, 0.1404, 0.1796, 0.3715},
4727 {0.2734, 0.2245, 0.2134, 0.2887},
4728 {0.1069, 0.3090, 0.2082, 0.3759}},
4729 {
4730 {0.1449, 0.3100, 0.3486, 0.1965},
4731 {0.1839, 0.4807, 0.0542, 0.2812},
4732 {0.2293, 0.3355, 0.2566, 0.1786},
4733 {0.1313, 0.3222, 0.3561, 0.1905}},
4734 {
4735 {0.1599, 0.2282, 0.4681, 0.1438},
4736 {0.3547, 0.2137, 0.0934, 0.3382},
4737 {0.2808, 0.2978, 0.3210, 0.1004},
4738 {0.1048, 0.1947, 0.4416, 0.2590}},
4739 {
4740 {0.3861, 0.2226, 0.2021, 0.1892},
4741 {0.1820, 0.2229, 0.1192, 0.4758},
4742 {0.4353, 0.2010, 0.1848, 0.1789},
4743 {0.1199, 0.2484, 0.2186, 0.4131}},
4744 {
4745 {0.1083, 0.2889, 0.4496, 0.1531},
4746 {0.2905, 0.4205, 0.0634, 0.2256},
4747 {0.2479, 0.2889, 0.3271, 0.1361},
4748 {0.0576, 0.4515, 0.3766, 0.1142}},
4749 {
4750 {0.1824, 0.0508, 0.5663, 0.2005},
4751 {0.2972, 0.3523, 0.1351, 0.2153},
4752 {0.3244, 0.2763, 0.2939, 0.1054},
4753 {0.0998, 0.2392, 0.5776, 0.0834}},
4754 {
4755 {0.2652, 0.2449, 0.2239, 0.2660},
4756 {0.2561, 0.2513, 0.0839, 0.4087},
4757 {0.2975, 0.2872, 0.1983, 0.2169},
4758 {0.2052, 0.2692, 0.1559, 0.3697}},
4759 {
4760 {0.1380, 0.3832, 0.2571, 0.2217},
4761 {0.3146, 0.3499, 0.1148, 0.2206},
4762 {0.2504, 0.3251, 0.2531, 0.1713},
4763 {0.0386, 0.2727, 0.4610, 0.2276}},
4764 {
4765 {0.2250, 0.1582, 0.4821, 0.1347},
4766 {0.3203, 0.4051, 0.1326, 0.1420},
4767 {0.2628, 0.2783, 0.3712, 0.0877},
4768 {0.0602, 0.2798, 0.5564, 0.1035}},
4769 {
4770 {0.3279, 0.2148, 0.2319, 0.2253},
4771 {0.1922, 0.2429, 0.1083, 0.4566},
4772 {0.2806, 0.2580, 0.2492, 0.2122},
4773 {0.0833, 0.3127, 0.2285, 0.3755}},
4774 {
4775 {0.1518, 0.2278, 0.4507, 0.1696},
4776 {0.1462, 0.4394, 0.1392, 0.2752},
4777 {0.2111, 0.4000, 0.1614, 0.2275},
4778 {0.0652, 0.3245, 0.4061, 0.2042}},
4779 {
4780 {0.1627, 0.1436, 0.5145, 0.1791},
4781 {0.3767, 0.2470, 0.1258, 0.2505},
4782 {0.2024, 0.2103, 0.4877, 0.0996},
4783 {0.1446, 0.1919, 0.4796, 0.1839}},
4784 {
4785 {0.3475, 0.2032, 0.2223, 0.2270},
4786 {0.2261, 0.2244, 0.0700, 0.4795},
4787 {0.3308, 0.2600, 0.2216, 0.1876},
4788 {0.1397, 0.3848, 0.1617, 0.3138}},
4789 {
4790 {0.1892, 0.2319, 0.4017, 0.1773},
4791 {0.2297, 0.3932, 0.1102, 0.2669},
4792 {0.1455, 0.3934, 0.3415, 0.1195},
4793 {0.1143, 0.2716, 0.3704, 0.2437}},
4794 {
4795 {0.3451, 0.1667, 0.3719, 0.1163},
4796 {0.3222, 0.2510, 0.1501, 0.2766},
4797 {0.2667, 0.3332, 0.3099, 0.0902},
4798 {0.1144, 0.3153, 0.4402, 0.1301}},
4799 {
4800 {0.2669, 0.2420, 0.2171, 0.2740},
4801 {0.2256, 0.1123, 0.1507, 0.5114},
4802 {0.3006, 0.2574, 0.2227, 0.2193},
4803 {0.1332, 0.3025, 0.1803, 0.3840}},
4804 {
4805 {0.1796, 0.3333, 0.3278, 0.1593},
4806 {0.2248, 0.4293, 0.1004, 0.2455},
4807 {0.1262, 0.5050, 0.1661, 0.2027},
4808 {0.1042, 0.3315, 0.3784, 0.1858}},
4809 {
4810 {0.2016, 0.2681, 0.4690, 0.0614},
4811 {0.2983, 0.2800, 0.1197, 0.3020},
4812 {0.2868, 0.3119, 0.3048, 0.0966},
4813 {0.1159, 0.2204, 0.5048, 0.1589}},
4814 {
4815 {0.2949, 0.2202, 0.1740, 0.3109},
4816 {0.2393, 0.2102, 0.1533, 0.3972},
4817 {0.3625, 0.1872, 0.2325, 0.2178},
4818 {0.2018, 0.1769, 0.3722, 0.2491}},
4819 {
4820 {0.1349, 0.2781, 0.3780, 0.2089},
4821 {0.1956, 0.3791, 0.0750, 0.3502},
4822 {0.1825, 0.3616, 0.2527, 0.2032},
4823 {0.0416, 0.3120, 0.4755, 0.1708}},
4824 {
4825 {0.2720, 0.1315, 0.5033, 0.0931},
4826 {0.4012, 0.2236, 0.1227, 0.2524},
4827 {0.3945, 0.1893, 0.3409, 0.0753},
4828 {0.0785, 0.2133, 0.5860, 0.1222}},
4829 {
4830 {0.3654, 0.1437, 0.2186, 0.2723},
4831 {0.3047, 0.2044, 0.1499, 0.3410},
4832 {0.2868, 0.3572, 0.1676, 0.1884},
4833 {0.2902, 0.2621, 0.1893, 0.2584}},
4834 {
4835 {0.1871, 0.2190, 0.3896, 0.2043},
4836 {0.1979, 0.5010, 0.0525, 0.2486},
4837 {0.1830, 0.3877, 0.2926, 0.1367},
4838 {0.1026, 0.3473, 0.4120, 0.1381}},
4839 {
4840 {0.1529, 0.1900, 0.4855, 0.1716},
4841 {0.3239, 0.3274, 0.0828, 0.2658},
4842 {0.3210, 0.1921, 0.3667, 0.1202},
4843 {0.1027, 0.1701, 0.5123, 0.2149}},
4844 {
4845 {0.3312, 0.2183, 0.2269, 0.2236},
4846 {0.2349, 0.2955, 0.1352, 0.3344},
4847 {0.3609, 0.2005, 0.2103, 0.2283},
4848 {0.2707, 0.1855, 0.1923, 0.3516}},
4849 {
4850 {0.1220, 0.3612, 0.3678, 0.1491},
4851 {0.1544, 0.3791, 0.1208, 0.3457},
4852 {0.2437, 0.3608, 0.2545, 0.1411},
4853 {0.0372, 0.3466, 0.3773, 0.2390}},
4854 {
4855 {0.1597, 0.1915, 0.4419, 0.2069},
4856 {0.3418, 0.2300, 0.1109, 0.3172},
4857 {0.3550, 0.2825, 0.2582, 0.1043},
4858 {0.0953, 0.2861, 0.5096, 0.1091}},
4859 {
4860 {0.2662, 0.2839, 0.1545, 0.2955},
4861 {0.3113, 0.1738, 0.1057, 0.4091},
4862 {0.2988, 0.2532, 0.1502, 0.2978},
4863 {0.2034, 0.2061, 0.1722, 0.4184}},
4864 {
4865 {0.1568, 0.3413, 0.3479, 0.1540},
4866 {0.1517, 0.4099, 0.0947, 0.3437},
4867 {0.1348, 0.2017, 0.4220, 0.2415},
4868 {0.0888, 0.3995, 0.3280, 0.1836}},
4869 {
4870 {0.1688, 0.2042, 0.4397, 0.1872},
4871 {0.3295, 0.3519, 0.1114, 0.2072},
4872 {0.3046, 0.2991, 0.3021, 0.0943},
4873 {0.1179, 0.2797, 0.3909, 0.2115}},
4874 {
4875 {0.2810, 0.3224, 0.1948, 0.2018},
4876 {0.2642, 0.2543, 0.0785, 0.4030},
4877 {0.3061, 0.3566, 0.1650, 0.1723},
4878 {0.1249, 0.3900, 0.1662, 0.3188}},
4879 {
4880 {0.1494, 0.2538, 0.4226, 0.1742},
4881 {0.2160, 0.3634, 0.0755, 0.3452},
4882 {0.2514, 0.3695, 0.3132, 0.0659},
4883 {0.1000, 0.4416, 0.3215, 0.1369}},
4884 {
4885 {0.2163, 0.2813, 0.3957, 0.1067},
4886 {0.4094, 0.3540, 0.0529, 0.1837},
4887 {0.4102, 0.1606, 0.3472, 0.0819},
4888 {0.0971, 0.2982, 0.4450, 0.1597}},
4889 {
4890 {0.4087, 0.1848, 0.2082, 0.1983},
4891 {0.2955, 0.2512, 0.0916, 0.3617},
4892 {0.3798, 0.2507, 0.2689, 0.1006},
4893 {0.1728, 0.2180, 0.2300, 0.3791}},
4894 {
4895 {0.1747, 0.2147, 0.4079, 0.2028},
4896 {0.1643, 0.4570, 0.0785, 0.3002},
4897 {0.2987, 0.4081, 0.1544, 0.1388},
4898 {0.1128, 0.2419, 0.4375, 0.2078}},
4899 {
4900 {0.2517, 0.2186, 0.3531, 0.1766},
4901 {0.3195, 0.2760, 0.1105, 0.2940},
4902 {0.3542, 0.2083, 0.3602, 0.0773},
4903 {0.1012, 0.1626, 0.5539, 0.1823}},
4904 {
4905 {0.3513, 0.2883, 0.1790, 0.1815},
4906 {0.2333, 0.2411, 0.1521, 0.3736},
4907 {0.3591, 0.2463, 0.1888, 0.2058},
4908 {0.0547, 0.3935, 0.3176, 0.2342}},
4909 {
4910 {0.2026, 0.2782, 0.3827, 0.1366},
4911 {0.1830, 0.4791, 0.0711, 0.2668},
4912 {0.2881, 0.3824, 0.1435, 0.1860},
4913 {0.0832, 0.3566, 0.3443, 0.2159}},
4914 {
4915 {0.2396, 0.1625, 0.4548, 0.1431},
4916 {0.4820, 0.1892, 0.1195, 0.2093},
4917 {0.3590, 0.1859, 0.3104, 0.1447},
4918 {0.1871, 0.2563, 0.4559, 0.1007}},
4919 {
4920 {0.3591, 0.3026, 0.1372, 0.2012},
4921 {0.4152, 0.3694, 0.0764, 0.1390},
4922 {0.4915, 0.2701, 0.1157, 0.1227},
4923 {0.1971, 0.4428, 0.2180, 0.1421}},
4924 {
4925 {0.5148, 0.1839, 0.1923, 0.1090},
4926 {0.7124, 0.0763, 0.0677, 0.1436},
4927 {0.3418, 0.1903, 0.3042, 0.1637},
4928 {0.2748, 0.1397, 0.1614, 0.4242}},
4929 {
4930 {0.0386, 0.0088, 0.9278, 0.0248},
4931 {0.2267, 0.0625, 0.5692, 0.1417},
4932 {0.0499, 0.0451, 0.8603, 0.0447},
4933 {0.0297, 0.0000, 0.9289, 0.0414}},
4934 {
4935 {0.0000, 0.0000, 1.0000, 0.0000},
4936 {0.0000, 0.0000, 1.0000, 0.0000},
4937 {0.0000, 0.0000, 1.0000, 0.0000},
4938 {0.0000, 0.0000, 1.0000, 0.0000}},
4939 {
4940 {0.0000, 0.0000, 0.0000, 0.0000},
4941 {0.0000, 0.0000, 0.0000, 0.0000},
4942 {0.0000, 0.0000, 0.0000, 1.0000},
4943 {0.0000, 0.0000, 0.0000, 0.0000}},
4944 {
4945 {0.0000, 0.0000, 0.0000, 0.0000},
4946 {0.0000, 0.0000, 0.0000, 0.0000},
4947 {0.0000, 0.0000, 0.0000, 0.0000},
4948 {0.5265, 0.0251, 0.4196, 0.0288}},
4949 {
4950 {0.6099, 0.1241, 0.1631, 0.1030},
4951 {0.6957, 0.0903, 0.0000, 0.2141},
4952 {0.8097, 0.0644, 0.1003, 0.0257},
4953 {0.5588, 0.1670, 0.2742, 0.0000}},
4954 {
4955 {0.0374, 0.0495, 0.8926, 0.0205},
4956 {0.1777, 0.1924, 0.3582, 0.2717},
4957 {0.0379, 0.0713, 0.8710, 0.0198},
4958 {0.0331, 0.0733, 0.8937, 0.0000}},
4959 {
4960 {0.0969, 0.0945, 0.3918, 0.4168},
4961 {0.1999, 0.2944, 0.0693, 0.4364},
4962 {0.1983, 0.1540, 0.1723, 0.4755},
4963 {0.1813, 0.0557, 0.6534, 0.1096}},
4964 {
4965 {0.3399, 0.2053, 0.3276, 0.1272},
4966 {0.3142, 0.3099, 0.1101, 0.2658},
4967 {0.4140, 0.1131, 0.3217, 0.1512},
4968 {0.2875, 0.1668, 0.4237, 0.1220}},
4969 {
4970 {0.2197, 0.2205, 0.2987, 0.2611},
4971 {0.2518, 0.2150, 0.0772, 0.4560},
4972 {0.2640, 0.2230, 0.3359, 0.1771},
4973 {0.1819, 0.2091, 0.3419, 0.2671}},
4974 {
4975 {0.2028, 0.2769, 0.3431, 0.1771},
4976 {0.2644, 0.3292, 0.1113, 0.2951},
4977 {0.1652, 0.2534, 0.4423, 0.1392},
4978 {0.0874, 0.2752, 0.4559, 0.1815}},
4979 {
4980 {0.2025, 0.2409, 0.3489, 0.2077},
4981 {0.2197, 0.4013, 0.0952, 0.2838},
4982 {0.2179, 0.1601, 0.4998, 0.1221},
4983 {0.0987, 0.2000, 0.5456, 0.1557}},
4984 {
4985 {0.2289, 0.2142, 0.3950, 0.1619},
4986 {0.2739, 0.3767, 0.0516, 0.2978},
4987 {0.1323, 0.2546, 0.4357, 0.1773},
4988 {0.1953, 0.2547, 0.3396, 0.2103}},
4989 {
4990 {0.1852, 0.2263, 0.4623, 0.1262},
4991 {0.1752, 0.3995, 0.0604, 0.3649},
4992 {0.2035, 0.2398, 0.3969, 0.1598},
4993 {0.1500, 0.3107, 0.2601, 0.2792}},
4994 {
4995 {0.1312, 0.2694, 0.3519, 0.2475},
4996 {0.2707, 0.2161, 0.1179, 0.3952},
4997 {0.1716, 0.2368, 0.3538, 0.2378},
4998 {0.1222, 0.2960, 0.3184, 0.2633}},
4999 {
5000 {0.2373, 0.1466, 0.3839, 0.2322},
5001 {0.1880, 0.4302, 0.0972, 0.2846},
5002 {0.2460, 0.1386, 0.4398, 0.1756},
5003 {0.1012, 0.3100, 0.3148, 0.2740}},
5004 {
5005 {0.3068, 0.2323, 0.3402, 0.1208},
5006 {0.3238, 0.2977, 0.0964, 0.2821},
5007 {0.1267, 0.1758, 0.5236, 0.1739},
5008 {0.1118, 0.2714, 0.3957, 0.2212}},
5009 {
5010 {0.1658, 0.2065, 0.4167, 0.2110},
5011 {0.2267, 0.3541, 0.1032, 0.3160},
5012 {0.1133, 0.2248, 0.4317, 0.2301},
5013 {0.1269, 0.2496, 0.2674, 0.3561}},
5014 {
5015 {0.2054, 0.2149, 0.3671, 0.2126},
5016 {0.2862, 0.2719, 0.1173, 0.3247},
5017 {0.2534, 0.1861, 0.3218, 0.2387},
5018 {0.1605, 0.2491, 0.3381, 0.2523}},
5019 {
5020 {0.1922, 0.2602, 0.3330, 0.2146},
5021 {0.1621, 0.2412, 0.1097, 0.4870},
5022 {0.2949, 0.1320, 0.3723, 0.2007},
5023 {0.1514, 0.3132, 0.3403, 0.1952}},
5024 {
5025 {0.1960, 0.2065, 0.3946, 0.2029},
5026 {0.2626, 0.3721, 0.0878, 0.2775},
5027 {0.1942, 0.2632, 0.3894, 0.1532},
5028 {0.0481, 0.2783, 0.3661, 0.3076}},
5029 {
5030 {0.1178, 0.2677, 0.3918, 0.2227},
5031 {0.2385, 0.3141, 0.0876, 0.3598},
5032 {0.2081, 0.1384, 0.4220, 0.2315},
5033 {0.1503, 0.3815, 0.2520, 0.2162}},
5034 {
5035 {0.0906, 0.2307, 0.4704, 0.2083},
5036 {0.2155, 0.3503, 0.0948, 0.3394},
5037 {0.1937, 0.1514, 0.3936, 0.2613},
5038 {0.1165, 0.2142, 0.3913, 0.2780}},
5039 {
5040 {0.2270, 0.2496, 0.3702, 0.1532},
5041 {0.2105, 0.2593, 0.1433, 0.3868},
5042 {0.2738, 0.1859, 0.3070, 0.2333},
5043 {0.1640, 0.2414, 0.2977, 0.2970}},
5044 {
5045 {0.2504, 0.1342, 0.3465, 0.2689},
5046 {0.2607, 0.3499, 0.0732, 0.3162},
5047 {0.3542, 0.1224, 0.2953, 0.2280},
5048 {0.1183, 0.2722, 0.3417, 0.2679}},
5049 {
5050 {0.2505, 0.1305, 0.4315, 0.1875},
5051 {0.2499, 0.4722, 0.0235, 0.2543},
5052 {0.2535, 0.1293, 0.4108, 0.2064},
5053 {0.1361, 0.2902, 0.3410, 0.2327}},
5054 {
5055 {0.2008, 0.2416, 0.4045, 0.1531},
5056 {0.2793, 0.3940, 0.0511, 0.2756},
5057 {0.1861, 0.2039, 0.4054, 0.2047},
5058 {0.0689, 0.3490, 0.3017, 0.2803}},
5059 {
5060 {0.2061, 0.3206, 0.3653, 0.1080},
5061 {0.2271, 0.3581, 0.0698, 0.3450},
5062 {0.2518, 0.1918, 0.3708, 0.1856},
5063 {0.1656, 0.1750, 0.4421, 0.2172}},
5064 {
5065 {0.2359, 0.1923, 0.3680, 0.2039},
5066 {0.1711, 0.3697, 0.0590, 0.4002},
5067 {0.2111, 0.1678, 0.4519, 0.1691},
5068 {0.1094, 0.2264, 0.4642, 0.2001}},
5069 {
5070 {0.1820, 0.2023, 0.4095, 0.2062},
5071 {0.2125, 0.2814, 0.0992, 0.4070},
5072 {0.2125, 0.3143, 0.3224, 0.1507},
5073 {0.1297, 0.2963, 0.3576, 0.2164}},
5074 {
5075 {0.2546, 0.1850, 0.3650, 0.1954},
5076 {0.2302, 0.3070, 0.0532, 0.4096},
5077 {0.2582, 0.1945, 0.3558, 0.1914},
5078 {0.1321, 0.3069, 0.3573, 0.2036}},
5079 {
5080 {0.2762, 0.2821, 0.2672, 0.1745},
5081 {0.2367, 0.3300, 0.0732, 0.3601},
5082 {0.2083, 0.2993, 0.2919, 0.2005},
5083 {0.1487, 0.2921, 0.2925, 0.2668}},
5084 {
5085 {0.2714, 0.1261, 0.4104, 0.1921},
5086 {0.3676, 0.2950, 0.0895, 0.2479},
5087 {0.1564, 0.2359, 0.4148, 0.1930},
5088 {0.1719, 0.3436, 0.3282, 0.1563}},
5089 {
5090 {0.1458, 0.2283, 0.4340, 0.1919},
5091 {0.2395, 0.3161, 0.0548, 0.3896},
5092 {0.2401, 0.2098, 0.3767, 0.1735},
5093 {0.0819, 0.1924, 0.4335, 0.2923}},
5094 {
5095 {0.3502, 0.1223, 0.3185, 0.2091},
5096 {0.2797, 0.2902, 0.0700, 0.3601},
5097 {0.2708, 0.2502, 0.3230, 0.1560},
5098 {0.1277, 0.3201, 0.3519, 0.2003}},
5099 {
5100 {0.2763, 0.1318, 0.4134, 0.1785},
5101 {0.1987, 0.2972, 0.0653, 0.4388},
5102 {0.1661, 0.2015, 0.4086, 0.2238},
5103 {0.2069, 0.2056, 0.2650, 0.3225}},
5104 {
5105 {0.2202, 0.1618, 0.3654, 0.2526},
5106 {0.2135, 0.3738, 0.1086, 0.3040},
5107 {0.2466, 0.1971, 0.3568, 0.1995},
5108 {0.1150, 0.2869, 0.3445, 0.2536}},
5109 {
5110 {0.2788, 0.1608, 0.3546, 0.2058},
5111 {0.1868, 0.3583, 0.1460, 0.3090},
5112 {0.2984, 0.2364, 0.2903, 0.1749},
5113 {0.1119, 0.2636, 0.3027, 0.3217}},
5114 {
5115 {0.2020, 0.2309, 0.3883, 0.1787},
5116 {0.2143, 0.3432, 0.0969, 0.3455},
5117 {0.2189, 0.1444, 0.4875, 0.1492},
5118 {0.2186, 0.2623, 0.2723, 0.2468}},
5119 {
5120 {0.2020, 0.2232, 0.2740, 0.3008},
5121 {0.3480, 0.3257, 0.1019, 0.2244},
5122 {0.2407, 0.1888, 0.4368, 0.1337},
5123 {0.1740, 0.2693, 0.3035, 0.2532}},
5124 {
5125 {0.1382, 0.1953, 0.4661, 0.2004},
5126 {0.2404, 0.3488, 0.0514, 0.3594},
5127 {0.2363, 0.1974, 0.3092, 0.2571},
5128 {0.1023, 0.2982, 0.3220, 0.2774}},
5129 {
5130 {0.2294, 0.1808, 0.3901, 0.1997},
5131 {0.2716, 0.3302, 0.0395, 0.3587},
5132 {0.2152, 0.1859, 0.3230, 0.2758},
5133 {0.1083, 0.2853, 0.3399, 0.2666}},
5134 {
5135 {0.1369, 0.2671, 0.4151, 0.1810},
5136 {0.2653, 0.3431, 0.0599, 0.3317},
5137 {0.2959, 0.1398, 0.4191, 0.1452},
5138 {0.1831, 0.2302, 0.3598, 0.2269}},
5139 {
5140 {0.2851, 0.1435, 0.3918, 0.1796},
5141 {0.3257, 0.3219, 0.0300, 0.3224},
5142 {0.3183, 0.1322, 0.3834, 0.1660},
5143 {0.1366, 0.1843, 0.4239, 0.2552}},
5144 {
5145 {0.2267, 0.2022, 0.3096, 0.2614},
5146 {0.1658, 0.3407, 0.0665, 0.4269},
5147 {0.2028, 0.2298, 0.4004, 0.1670},
5148 {0.2018, 0.2641, 0.3161, 0.2180}},
5149 {
5150 {0.1015, 0.1743, 0.4806, 0.2435},
5151 {0.3036, 0.3178, 0.0806, 0.2980},
5152 {0.2487, 0.1577, 0.4171, 0.1765},
5153 {0.1688, 0.1767, 0.3996, 0.2549}},
5154 {
5155 {0.2224, 0.2182, 0.3699, 0.1895},
5156 {0.2887, 0.3497, 0.1052, 0.2564},
5157 {0.2088, 0.2463, 0.3458, 0.1991},
5158 {0.1292, 0.3087, 0.2674, 0.2947}},
5159 {
5160 {0.2235, 0.2424, 0.3939, 0.1402},
5161 {0.2126, 0.3417, 0.0883, 0.3575},
5162 {0.2256, 0.2162, 0.4249, 0.1332},
5163 {0.1497, 0.2194, 0.3494, 0.2815}},
5164 {
5165 {0.3258, 0.2297, 0.3361, 0.1084},
5166 {0.2922, 0.3166, 0.0672, 0.3240},
5167 {0.2788, 0.1859, 0.3443, 0.1910},
5168 {0.1247, 0.2592, 0.3722, 0.2439}},
5169 {
5170 {0.2101, 0.1955, 0.4227, 0.1717},
5171 {0.2488, 0.3292, 0.1071, 0.3149},
5172 {0.2911, 0.1791, 0.3180, 0.2118},
5173 {0.1684, 0.3110, 0.2673, 0.2533}},
5174 {
5175 {0.2791, 0.2345, 0.3606, 0.1259},
5176 {0.3160, 0.3094, 0.0730, 0.3016},
5177 {0.2638, 0.2434, 0.2925, 0.2003},
5178 {0.1582, 0.2839, 0.3242, 0.2337}},
5179 {
5180 {0.2161, 0.2366, 0.4382, 0.1091},
5181 {0.2116, 0.2532, 0.0910, 0.4443},
5182 {0.1607, 0.2330, 0.3738, 0.2326},
5183 {0.1658, 0.2456, 0.2305, 0.3582}},
5184 {
5185 {0.2348, 0.1985, 0.4258, 0.1408},
5186 {0.2643, 0.3155, 0.1153, 0.3049},
5187 {0.2058, 0.2050, 0.3285, 0.2607},
5188 {0.0929, 0.3187, 0.3638, 0.2246}},
5189 {
5190 {0.2530, 0.2505, 0.2741, 0.2225},
5191 {0.3397, 0.2667, 0.0477, 0.3459},
5192 {0.1557, 0.2392, 0.3877, 0.2174},
5193 {0.1933, 0.2434, 0.2854, 0.2780}}
5194 },
5195 { /* Splice_Site: T0_GT; Species: Rat */
5196 {
5197 {0.2687, 0.2687, 0.2687, 0.2687},
5198 {0.2628, 0.2628, 0.2628, 0.2628},
5199 {0.3211, 0.3211, 0.3211, 0.3211},
5200 {0.1473, 0.1473, 0.1473, 0.1473}},
5201 {
5202 {0.2797, 0.1736, 0.2480, 0.2986},
5203 {0.3057, 0.1023, 0.1040, 0.4879},
5204 {0.4158, 0.1279, 0.2276, 0.2287},
5205 {0.0000, 0.3656, 0.3605, 0.2739}},
5206 {
5207 {0.1169, 0.2989, 0.4407, 0.1434},
5208 {0.1643, 0.4378, 0.0801, 0.3179},
5209 {0.2136, 0.4794, 0.1886, 0.1184},
5210 {0.1651, 0.2286, 0.4193, 0.1870}},
5211 {
5212 {0.2065, 0.2115, 0.3311, 0.2508},
5213 {0.4269, 0.2951, 0.0797, 0.1983},
5214 {0.2635, 0.2786, 0.2692, 0.1887},
5215 {0.0747, 0.2599, 0.4468, 0.2187}},
5216 {
5217 {0.4031, 0.1196, 0.2348, 0.2425},
5218 {0.2267, 0.1202, 0.1549, 0.4982},
5219 {0.4142, 0.2695, 0.1641, 0.1522},
5220 {0.1269, 0.2258, 0.1606, 0.4867}},
5221 {
5222 {0.0708, 0.3918, 0.3815, 0.1559},
5223 {0.2564, 0.2220, 0.0744, 0.4471},
5224 {0.1460, 0.2944, 0.4885, 0.0711},
5225 {0.0970, 0.4892, 0.2769, 0.1369}},
5226 {
5227 {0.1541, 0.2133, 0.5790, 0.0537},
5228 {0.5393, 0.1607, 0.0867, 0.2132},
5229 {0.3096, 0.2418, 0.3603, 0.0883},
5230 {0.1819, 0.3248, 0.3838, 0.1095}},
5231 {
5232 {0.3024, 0.1198, 0.1299, 0.4479},
5233 {0.3023, 0.2684, 0.0921, 0.3371},
5234 {0.4308, 0.2270, 0.1151, 0.2271},
5235 {0.1008, 0.3493, 0.2014, 0.3485}},
5236 {
5237 {0.1474, 0.1052, 0.6607, 0.0867},
5238 {0.2493, 0.4736, 0.0298, 0.2474},
5239 {0.1547, 0.3155, 0.2636, 0.2661},
5240 {0.1193, 0.3707, 0.4267, 0.0833}},
5241 {
5242 {0.3324, 0.2478, 0.2555, 0.1643},
5243 {0.3324, 0.2447, 0.0871, 0.3357},
5244 {0.3902, 0.2063, 0.3010, 0.1026},
5245 {0.0000, 0.3296, 0.5735, 0.0970}},
5246 {
5247 {0.4335, 0.1312, 0.1330, 0.3023},
5248 {0.2249, 0.2248, 0.2187, 0.3316},
5249 {0.3266, 0.0746, 0.2030, 0.3959},
5250 {0.0762, 0.2927, 0.2962, 0.3350}},
5251 {
5252 {0.1650, 0.2827, 0.4628, 0.0895},
5253 {0.2003, 0.4070, 0.1190, 0.2736},
5254 {0.1295, 0.4685, 0.1640, 0.2380},
5255 {0.0780, 0.4107, 0.4134, 0.0979}},
5256 {
5257 {0.2548, 0.2999, 0.3943, 0.0510},
5258 {0.2451, 0.3683, 0.1748, 0.2119},
5259 {0.3025, 0.2083, 0.3476, 0.1417},
5260 {0.1301, 0.2124, 0.4349, 0.2226}},
5261 {
5262 {0.3478, 0.1643, 0.2412, 0.2467},
5263 {0.1657, 0.2167, 0.2897, 0.3278},
5264 {0.2132, 0.3373, 0.1159, 0.3336},
5265 {0.1191, 0.1604, 0.3576, 0.3628}},
5266 {
5267 {0.1158, 0.4516, 0.3102, 0.1223},
5268 {0.2354, 0.4688, 0.0584, 0.2374},
5269 {0.1697, 0.3458, 0.2036, 0.2809},
5270 {0.1249, 0.2371, 0.4878, 0.1502}},
5271 {
5272 {0.2484, 0.0841, 0.4545, 0.2130},
5273 {0.4856, 0.2026, 0.0710, 0.2408},
5274 {0.3768, 0.2181, 0.3114, 0.0937},
5275 {0.1065, 0.2749, 0.5853, 0.0333}},
5276 {
5277 {0.3284, 0.1974, 0.2357, 0.2385},
5278 {0.4776, 0.2577, 0.0000, 0.2648},
5279 {0.3815, 0.2633, 0.1301, 0.2250},
5280 {0.1730, 0.2157, 0.3444, 0.2669}},
5281 {
5282 {0.1513, 0.2489, 0.3643, 0.2355},
5283 {0.3170, 0.3693, 0.0857, 0.2280},
5284 {0.0392, 0.4675, 0.2224, 0.2709},
5285 {0.0281, 0.4250, 0.4412, 0.1057}},
5286 {
5287 {0.1960, 0.1885, 0.4237, 0.1918},
5288 {0.3184, 0.3794, 0.0954, 0.2069},
5289 {0.3200, 0.2915, 0.2973, 0.0911},
5290 {0.0932, 0.2518, 0.5241, 0.1309}},
5291 {
5292 {0.2613, 0.2375, 0.2679, 0.2332},
5293 {0.2260, 0.2706, 0.1100, 0.3934},
5294 {0.2528, 0.2773, 0.2149, 0.2550},
5295 {0.2984, 0.2622, 0.1768, 0.2625}},
5296 {
5297 {0.1873, 0.4708, 0.1834, 0.1585},
5298 {0.2829, 0.3833, 0.0791, 0.2547},
5299 {0.2105, 0.3271, 0.2881, 0.1742},
5300 {0.0000, 0.3837, 0.4501, 0.1662}},
5301 {
5302 {0.2080, 0.0832, 0.5399, 0.1689},
5303 {0.5623, 0.2375, 0.0849, 0.1153},
5304 {0.2120, 0.2362, 0.4710, 0.0809},
5305 {0.1422, 0.2202, 0.6037, 0.0339}},
5306 {
5307 {0.3596, 0.1590, 0.2576, 0.2238},
5308 {0.2939, 0.1611, 0.1607, 0.3843},
5309 {0.2686, 0.2806, 0.1705, 0.2804},
5310 {0.0669, 0.4728, 0.0641, 0.3962}},
5311 {
5312 {0.1924, 0.1739, 0.4921, 0.1416},
5313 {0.2313, 0.4011, 0.1668, 0.2008},
5314 {0.3165, 0.2505, 0.2883, 0.1447},
5315 {0.0467, 0.3200, 0.4332, 0.2001}},
5316 {
5317 {0.2643, 0.1822, 0.3654, 0.1881},
5318 {0.3357, 0.2581, 0.0954, 0.3108},
5319 {0.3362, 0.2255, 0.3648, 0.0735},
5320 {0.1502, 0.3423, 0.2775, 0.2299}},
5321 {
5322 {0.3673, 0.2352, 0.1592, 0.2382},
5323 {0.1334, 0.2744, 0.1330, 0.4593},
5324 {0.4193, 0.2437, 0.1226, 0.2144},
5325 {0.3168, 0.2845, 0.1099, 0.2888}},
5326 {
5327 {0.1699, 0.4482, 0.2972, 0.0847},
5328 {0.1311, 0.5527, 0.1360, 0.1803},
5329 {0.1492, 0.3973, 0.3542, 0.0993},
5330 {0.0917, 0.2583, 0.4441, 0.2058}},
5331 {
5332 {0.3043, 0.1540, 0.2866, 0.2552},
5333 {0.3114, 0.3276, 0.1522, 0.2088},
5334 {0.2381, 0.2484, 0.4515, 0.0620},
5335 {0.0975, 0.1777, 0.6365, 0.0883}},
5336 {
5337 {0.3372, 0.1596, 0.1558, 0.3473},
5338 {0.3119, 0.1858, 0.0517, 0.4506},
5339 {0.4240, 0.2584, 0.1582, 0.1593},
5340 {0.1369, 0.3443, 0.2589, 0.2598}},
5341 {
5342 {0.1020, 0.2222, 0.5128, 0.1629},
5343 {0.1454, 0.3861, 0.1523, 0.3162},
5344 {0.1794, 0.1381, 0.4531, 0.2294},
5345 {0.0678, 0.2973, 0.4076, 0.2273}},
5346 {
5347 {0.1761, 0.2933, 0.4698, 0.0608},
5348 {0.2979, 0.3735, 0.1554, 0.1733},
5349 {0.1933, 0.2732, 0.3809, 0.1525},
5350 {0.1719, 0.1753, 0.6218, 0.0310}},
5351 {
5352 {0.3195, 0.1567, 0.1797, 0.3440},
5353 {0.2396, 0.2883, 0.0728, 0.3993},
5354 {0.3646, 0.2483, 0.1933, 0.1938},
5355 {0.1658, 0.2303, 0.4362, 0.1678}},
5356 {
5357 {0.1781, 0.3707, 0.2963, 0.1550},
5358 {0.3449, 0.3137, 0.1093, 0.2321},
5359 {0.1030, 0.5066, 0.1832, 0.2072},
5360 {0.0733, 0.2160, 0.4481, 0.2627}},
5361 {
5362 {0.1519, 0.1559, 0.5354, 0.1568},
5363 {0.3331, 0.2678, 0.2005, 0.1986},
5364 {0.1482, 0.2521, 0.5295, 0.0702},
5365 {0.1579, 0.1207, 0.5624, 0.1590}},
5366 {
5367 {0.3117, 0.2145, 0.1557, 0.3180},
5368 {0.2934, 0.1332, 0.0638, 0.5095},
5369 {0.3623, 0.3307, 0.1340, 0.1730},
5370 {0.2281, 0.2700, 0.0856, 0.4163}},
5371 {
5372 {0.1250, 0.2104, 0.4068, 0.2577},
5373 {0.2356, 0.3389, 0.0812, 0.3443},
5374 {0.1745, 0.2764, 0.2166, 0.3325},
5375 {0.0200, 0.3709, 0.4751, 0.1340}},
5376 {
5377 {0.1073, 0.2089, 0.5791, 0.1047},
5378 {0.4683, 0.2710, 0.0863, 0.1743},
5379 {0.1423, 0.2096, 0.4626, 0.1855},
5380 {0.1114, 0.1855, 0.5950, 0.1081}},
5381 {
5382 {0.2683, 0.3822, 0.1170, 0.2325},
5383 {0.3326, 0.1216, 0.1209, 0.4249},
5384 {0.4113, 0.1831, 0.1521, 0.2535},
5385 {0.0863, 0.3998, 0.2180, 0.2959}},
5386 {
5387 {0.2429, 0.2370, 0.3060, 0.2140},
5388 {0.1611, 0.4641, 0.0762, 0.2987},
5389 {0.0863, 0.5123, 0.3093, 0.0920},
5390 {0.0232, 0.2944, 0.4574, 0.2250}},
5391 {
5392 {0.1984, 0.2914, 0.5102, 0.0000},
5393 {0.5200, 0.1571, 0.1156, 0.2073},
5394 {0.3645, 0.1807, 0.3201, 0.1347},
5395 {0.1202, 0.3602, 0.3031, 0.2165}},
5396 {
5397 {0.4532, 0.1745, 0.0980, 0.2743},
5398 {0.4114, 0.2609, 0.0906, 0.2372},
5399 {0.4226, 0.3493, 0.1273, 0.1008},
5400 {0.1715, 0.2872, 0.2981, 0.2432}},
5401 {
5402 {0.2076, 0.2586, 0.3587, 0.1751},
5403 {0.2027, 0.5396, 0.0763, 0.1814},
5404 {0.1417, 0.4435, 0.2537, 0.1611},
5405 {0.0000, 0.3731, 0.3795, 0.2474}},
5406 {
5407 {0.1740, 0.3520, 0.4740, 0.0000},
5408 {0.2795, 0.4390, 0.1430, 0.1385},
5409 {0.3141, 0.2017, 0.2862, 0.1979},
5410 {0.1421, 0.2410, 0.5115, 0.1055}},
5411 {
5412 {0.3150, 0.1358, 0.2154, 0.3338},
5413 {0.3755, 0.0850, 0.1006, 0.4388},
5414 {0.2833, 0.1746, 0.2907, 0.2514},
5415 {0.2478, 0.3858, 0.0000, 0.3665}},
5416 {
5417 {0.1885, 0.1627, 0.4812, 0.1677},
5418 {0.2104, 0.3681, 0.1251, 0.2963},
5419 {0.3045, 0.2760, 0.3418, 0.0777},
5420 {0.0996, 0.3618, 0.4060, 0.1326}},
5421 {
5422 {0.2621, 0.2203, 0.4069, 0.1107},
5423 {0.4844, 0.2396, 0.1171, 0.1590},
5424 {0.3041, 0.3010, 0.2135, 0.1814},
5425 {0.2537, 0.0448, 0.6614, 0.0401}},
5426 {
5427 {0.3744, 0.2027, 0.2416, 0.1813},
5428 {0.3155, 0.2062, 0.0942, 0.3842},
5429 {0.3450, 0.2036, 0.2307, 0.2207},
5430 {0.3249, 0.2439, 0.1411, 0.2902}},
5431 {
5432 {0.1740, 0.4003, 0.2708, 0.1550},
5433 {0.2894, 0.5480, 0.0333, 0.1293},
5434 {0.2513, 0.5410, 0.1072, 0.1005},
5435 {0.1322, 0.4166, 0.2150, 0.2362}},
5436 {
5437 {0.4656, 0.1669, 0.2369, 0.1306},
5438 {0.6831, 0.1405, 0.0442, 0.1323},
5439 {0.7692, 0.0753, 0.0761, 0.0793},
5440 {0.2545, 0.1618, 0.4201, 0.1636}},
5441 {
5442 {0.2313, 0.0454, 0.6888, 0.0345},
5443 {0.3264, 0.0484, 0.5737, 0.0516},
5444 {0.1370, 0.0438, 0.6393, 0.1799},
5445 {0.0552, 0.1028, 0.7370, 0.1049}},
5446 {
5447 {0.0000, 0.0000, 1.0000, 0.0000},
5448 {0.0000, 0.0000, 1.0000, 0.0000},
5449 {0.0000, 0.0000, 1.0000, 0.0000},
5450 {0.0000, 0.0000, 1.0000, 0.0000}},
5451 {
5452 {0.0000, 0.0000, 0.0000, 0.0000},
5453 {0.0000, 0.0000, 0.0000, 0.0000},
5454 {0.0000, 0.0000, 0.0000, 1.0000},
5455 {0.0000, 0.0000, 0.0000, 0.0000}},
5456 {
5457 {0.0000, 0.0000, 0.0000, 0.0000},
5458 {0.0000, 0.0000, 0.0000, 0.0000},
5459 {0.0000, 0.0000, 0.0000, 0.0000},
5460 {0.5185, 0.0321, 0.4231, 0.0263}},
5461 {
5462 {0.6137, 0.1038, 0.1810, 0.1016},
5463 {0.8054, 0.0000, 0.0000, 0.1946},
5464 {0.8239, 0.0486, 0.1275, 0.0000},
5465 {0.2548, 0.0000, 0.7452, 0.0000}},
5466 {
5467 {0.0298, 0.0385, 0.8932, 0.0384},
5468 {0.4499, 0.0893, 0.4607, 0.0000},
5469 {0.0431, 0.0000, 0.9182, 0.0387},
5470 {0.0000, 0.0000, 1.0000, 0.0000}},
5471 {
5472 {0.0000, 0.5454, 0.3457, 0.1089},
5473 {0.4325, 0.3905, 0.0000, 0.1770},
5474 {0.1772, 0.1073, 0.1568, 0.5587},
5475 {0.1974, 0.0000, 0.6083, 0.1943}},
5476 {
5477 {0.1834, 0.2363, 0.3069, 0.2734},
5478 {0.4291, 0.2833, 0.0978, 0.1898},
5479 {0.2661, 0.3463, 0.1597, 0.2279},
5480 {0.2792, 0.1714, 0.4206, 0.1288}},
5481 {
5482 {0.1672, 0.2391, 0.3601, 0.2337},
5483 {0.1779, 0.3843, 0.1442, 0.2937},
5484 {0.1529, 0.1930, 0.4582, 0.1959},
5485 {0.1775, 0.3761, 0.3713, 0.0751}},
5486 {
5487 {0.1582, 0.3645, 0.2810, 0.1963},
5488 {0.3385, 0.3547, 0.0705, 0.2363},
5489 {0.1191, 0.2608, 0.4073, 0.2128},
5490 {0.0329, 0.6256, 0.1842, 0.1572}},
5491 {
5492 {0.2826, 0.1563, 0.4406, 0.1205},
5493 {0.2992, 0.3216, 0.1289, 0.2503},
5494 {0.1344, 0.2231, 0.4824, 0.1601},
5495 {0.2315, 0.2521, 0.2551, 0.2613}},
5496 {
5497 {0.1913, 0.3050, 0.3082, 0.1956},
5498 {0.3098, 0.4316, 0.0244, 0.2342},
5499 {0.1840, 0.2921, 0.4112, 0.1127},
5500 {0.1639, 0.1953, 0.5136, 0.1272}},
5501 {
5502 {0.1853, 0.2880, 0.4019, 0.1248},
5503 {0.2599, 0.3423, 0.0886, 0.3092},
5504 {0.2656, 0.3015, 0.1941, 0.2387},
5505 {0.1183, 0.2005, 0.4377, 0.2435}},
5506 {
5507 {0.1490, 0.2770, 0.4256, 0.1484},
5508 {0.2748, 0.3587, 0.0488, 0.3177},
5509 {0.2178, 0.2197, 0.4555, 0.1070},
5510 {0.0858, 0.2337, 0.4551, 0.2254}},
5511 {
5512 {0.2150, 0.2516, 0.3236, 0.2098},
5513 {0.2648, 0.2697, 0.0225, 0.4430},
5514 {0.2474, 0.2265, 0.2641, 0.2620},
5515 {0.0286, 0.3262, 0.3564, 0.2887}},
5516 {
5517 {0.1316, 0.3979, 0.2719, 0.1986},
5518 {0.1275, 0.3856, 0.0785, 0.4084},
5519 {0.1180, 0.3222, 0.2954, 0.2644},
5520 {0.1294, 0.1939, 0.4352, 0.2414}},
5521 {
5522 {0.1595, 0.2152, 0.4706, 0.1547},
5523 {0.1944, 0.3549, 0.1060, 0.3447},
5524 {0.1419, 0.2964, 0.2952, 0.2665},
5525 {0.2124, 0.1178, 0.3097, 0.3601}},
5526 {
5527 {0.1451, 0.4142, 0.3252, 0.1155},
5528 {0.2105, 0.2879, 0.1822, 0.3194},
5529 {0.3052, 0.1265, 0.3358, 0.2325},
5530 {0.3326, 0.1804, 0.3554, 0.1317}},
5531 {
5532 {0.1789, 0.2361, 0.4027, 0.1823},
5533 {0.1973, 0.4256, 0.0864, 0.2907},
5534 {0.1305, 0.3173, 0.3265, 0.2257},
5535 {0.0301, 0.3987, 0.4677, 0.1035}},
5536 {
5537 {0.3281, 0.1970, 0.3353, 0.1396},
5538 {0.2182, 0.3816, 0.0986, 0.3016},
5539 {0.1262, 0.2066, 0.3295, 0.3377},
5540 {0.0000, 0.2994, 0.3323, 0.3684}},
5541 {
5542 {0.2009, 0.2907, 0.4663, 0.0421},
5543 {0.2121, 0.2589, 0.1936, 0.3353},
5544 {0.1605, 0.3441, 0.2885, 0.2069},
5545 {0.0886, 0.4026, 0.3558, 0.1530}},
5546 {
5547 {0.2042, 0.2438, 0.5082, 0.0437},
5548 {0.1617, 0.2650, 0.0834, 0.4899},
5549 {0.1486, 0.1541, 0.4368, 0.2605},
5550 {0.2320, 0.1743, 0.4932, 0.1005}},
5551 {
5552 {0.0780, 0.3360, 0.3653, 0.2207},
5553 {0.2153, 0.2917, 0.1352, 0.3578},
5554 {0.1988, 0.2136, 0.3376, 0.2500},
5555 {0.0238, 0.3271, 0.3490, 0.3000}},
5556 {
5557 {0.3514, 0.0508, 0.4983, 0.0995},
5558 {0.1687, 0.2801, 0.1184, 0.4328},
5559 {0.2183, 0.1122, 0.2831, 0.3864},
5560 {0.2110, 0.1668, 0.4283, 0.1939}},
5561 {
5562 {0.2404, 0.1219, 0.4194, 0.2183},
5563 {0.1589, 0.4743, 0.0440, 0.3229},
5564 {0.1343, 0.4109, 0.2798, 0.1749},
5565 {0.2460, 0.3567, 0.2015, 0.1957}},
5566 {
5567 {0.3525, 0.1391, 0.3736, 0.1348},
5568 {0.1978, 0.4701, 0.0376, 0.2945},
5569 {0.2126, 0.3252, 0.3234, 0.1389},
5570 {0.0586, 0.3481, 0.2186, 0.3747}},
5571 {
5572 {0.1894, 0.3706, 0.3085, 0.1315},
5573 {0.1910, 0.2401, 0.0577, 0.5112},
5574 {0.1922, 0.2831, 0.3400, 0.1847},
5575 {0.2155, 0.2203, 0.2568, 0.3074}},
5576 {
5577 {0.2389, 0.2370, 0.3917, 0.1323},
5578 {0.2463, 0.2763, 0.1253, 0.3521},
5579 {0.1245, 0.2489, 0.3818, 0.2447},
5580 {0.1940, 0.2544, 0.3165, 0.2351}},
5581 {
5582 {0.0979, 0.1998, 0.3979, 0.3044},
5583 {0.1819, 0.3367, 0.1847, 0.2966},
5584 {0.2541, 0.1599, 0.3334, 0.2526},
5585 {0.1591, 0.3298, 0.2962, 0.2149}},
5586 {
5587 {0.1469, 0.2590, 0.2151, 0.3790},
5588 {0.2451, 0.2847, 0.1048, 0.3653},
5589 {0.2247, 0.2211, 0.3819, 0.1723},
5590 {0.1306, 0.2524, 0.4892, 0.1278}},
5591 {
5592 {0.1369, 0.1081, 0.5431, 0.2119},
5593 {0.3452, 0.2619, 0.0814, 0.3115},
5594 {0.1941, 0.2351, 0.3729, 0.1979},
5595 {0.1932, 0.2406, 0.3527, 0.2135}},
5596 {
5597 {0.0882, 0.1817, 0.4560, 0.2741},
5598 {0.2161, 0.2991, 0.1197, 0.3651},
5599 {0.2279, 0.1688, 0.4138, 0.1895},
5600 {0.2038, 0.2052, 0.1660, 0.4249}},
5601 {
5602 {0.2173, 0.2142, 0.4260, 0.1425},
5603 {0.2243, 0.2646, 0.0624, 0.4487},
5604 {0.1980, 0.2949, 0.3483, 0.1588},
5605 {0.0909, 0.2895, 0.3084, 0.3112}},
5606 {
5607 {0.1997, 0.1908, 0.3400, 0.2695},
5608 {0.3522, 0.2509, 0.1257, 0.2711},
5609 {0.1364, 0.3851, 0.2049, 0.2737},
5610 {0.1554, 0.3301, 0.3359, 0.1786}},
5611 {
5612 {0.1946, 0.2260, 0.3620, 0.2174},
5613 {0.2683, 0.4000, 0.0669, 0.2648},
5614 {0.1658, 0.3290, 0.2514, 0.2538},
5615 {0.1605, 0.1354, 0.4323, 0.2718}},
5616 {
5617 {0.2357, 0.1065, 0.4615, 0.1963},
5618 {0.1879, 0.3099, 0.1208, 0.3815},
5619 {0.2367, 0.0729, 0.5086, 0.1818},
5620 {0.1326, 0.2903, 0.3178, 0.2593}},
5621 {
5622 {0.2402, 0.3514, 0.2069, 0.2015},
5623 {0.0973, 0.3258, 0.1065, 0.4704},
5624 {0.2949, 0.2999, 0.3100, 0.0952},
5625 {0.2315, 0.2260, 0.3880, 0.1545}},
5626 {
5627 {0.2354, 0.0874, 0.4357, 0.2415},
5628 {0.2764, 0.3836, 0.0687, 0.2713},
5629 {0.1219, 0.2355, 0.3973, 0.2453},
5630 {0.0681, 0.3259, 0.3822, 0.2238}},
5631 {
5632 {0.3401, 0.1125, 0.4747, 0.0726},
5633 {0.1572, 0.3109, 0.0000, 0.5319},
5634 {0.1534, 0.2806, 0.3478, 0.2182},
5635 {0.1912, 0.2485, 0.3469, 0.2134}},
5636 {
5637 {0.2085, 0.1770, 0.3733, 0.2412},
5638 {0.2162, 0.2970, 0.1318, 0.3550},
5639 {0.1458, 0.2193, 0.3514, 0.2835},
5640 {0.1209, 0.2955, 0.3383, 0.2453}},
5641 {
5642 {0.0810, 0.3271, 0.4774, 0.1145},
5643 {0.1089, 0.3245, 0.1328, 0.4338},
5644 {0.2019, 0.2880, 0.2863, 0.2238},
5645 {0.1901, 0.2602, 0.2119, 0.3379}},
5646 {
5647 {0.1729, 0.2089, 0.4403, 0.1779},
5648 {0.3238, 0.2500, 0.0689, 0.3573},
5649 {0.3272, 0.2563, 0.2344, 0.1822},
5650 {0.0915, 0.2766, 0.2825, 0.3493}},
5651 {
5652 {0.1157, 0.3148, 0.5110, 0.0585},
5653 {0.3981, 0.3659, 0.0511, 0.1849},
5654 {0.1527, 0.2063, 0.4367, 0.2043},
5655 {0.0718, 0.3382, 0.2836, 0.3064}},
5656 {
5657 {0.3332, 0.2327, 0.2538, 0.1803},
5658 {0.3679, 0.2133, 0.0869, 0.3319},
5659 {0.2127, 0.1920, 0.4432, 0.1521},
5660 {0.1724, 0.3113, 0.2365, 0.2798}},
5661 {
5662 {0.1697, 0.1717, 0.3923, 0.2664},
5663 {0.3540, 0.4123, 0.0592, 0.1746},
5664 {0.2294, 0.1509, 0.3635, 0.2562},
5665 {0.1155, 0.3113, 0.2855, 0.2877}},
5666 {
5667 {0.2835, 0.1914, 0.3654, 0.1597},
5668 {0.1613, 0.4735, 0.1081, 0.2571},
5669 {0.1867, 0.1896, 0.3882, 0.2355},
5670 {0.2681, 0.2118, 0.3225, 0.1977}},
5671 {
5672 {0.2162, 0.1851, 0.2751, 0.3236},
5673 {0.1488, 0.3057, 0.1252, 0.4203},
5674 {0.1787, 0.2529, 0.3232, 0.2452},
5675 {0.1840, 0.1923, 0.5006, 0.1231}},
5676 {
5677 {0.2250, 0.4026, 0.2609, 0.1115},
5678 {0.2610, 0.3982, 0.1477, 0.1931},
5679 {0.1440, 0.3862, 0.3579, 0.1119},
5680 {0.1411, 0.2980, 0.2357, 0.3252}},
5681 {
5682 {0.0672, 0.3007, 0.3388, 0.2933},
5683 {0.2208, 0.3619, 0.1260, 0.2914},
5684 {0.2413, 0.1811, 0.2922, 0.2854},
5685 {0.1682, 0.1754, 0.3789, 0.2775}},
5686 {
5687 {0.2537, 0.0676, 0.3948, 0.2839},
5688 {0.1681, 0.4544, 0.0994, 0.2781},
5689 {0.3196, 0.2114, 0.2622, 0.2068},
5690 {0.1552, 0.2374, 0.3749, 0.2324}},
5691 {
5692 {0.2467, 0.2795, 0.2403, 0.2336},
5693 {0.3108, 0.1360, 0.1302, 0.4230},
5694 {0.2255, 0.2924, 0.1903, 0.2918},
5695 {0.2446, 0.2947, 0.2738, 0.1869}},
5696 {
5697 {0.1590, 0.1857, 0.4952, 0.1601},
5698 {0.2723, 0.3269, 0.1888, 0.2120},
5699 {0.1887, 0.1955, 0.4250, 0.1908},
5700 {0.1787, 0.2149, 0.2516, 0.3547}},
5701 {
5702 {0.1992, 0.1995, 0.4346, 0.1667},
5703 {0.2648, 0.2033, 0.0606, 0.4713},
5704 {0.1729, 0.2225, 0.3837, 0.2209},
5705 {0.1700, 0.2022, 0.2524, 0.3754}}
5706 },
5707 { /* Splice_Site: F1_GT; Species: Rat */
5708 {
5709 {0.2829, 0.2829, 0.2829, 0.2829},
5710 {0.2570, 0.2570, 0.2570, 0.2570},
5711 {0.1699, 0.1699, 0.1699, 0.1699},
5712 {0.2901, 0.2901, 0.2901, 0.2901}},
5713 {
5714 {0.1768, 0.2724, 0.4023, 0.1486},
5715 {0.2045, 0.3681, 0.1140, 0.3134},
5716 {0.1277, 0.3404, 0.3398, 0.1921},
5717 {0.1231, 0.3281, 0.3590, 0.1898}},
5718 {
5719 {0.3592, 0.2058, 0.3071, 0.1279},
5720 {0.3092, 0.2611, 0.1264, 0.3033},
5721 {0.2017, 0.2252, 0.4092, 0.1640},
5722 {0.0901, 0.2463, 0.4943, 0.1694}},
5723 {
5724 {0.3145, 0.2610, 0.2374, 0.1871},
5725 {0.2701, 0.3560, 0.1141, 0.2598},
5726 {0.3301, 0.2178, 0.2363, 0.2159},
5727 {0.1105, 0.3399, 0.2174, 0.3322}},
5728 {
5729 {0.1644, 0.2421, 0.4577, 0.1358},
5730 {0.1578, 0.3984, 0.1414, 0.3024},
5731 {0.1468, 0.3440, 0.2924, 0.2168},
5732 {0.0699, 0.3885, 0.3378, 0.2038}},
5733 {
5734 {0.2001, 0.1805, 0.4078, 0.2117},
5735 {0.3275, 0.3578, 0.0943, 0.2204},
5736 {0.2493, 0.2535, 0.3732, 0.1239},
5737 {0.1698, 0.2467, 0.3997, 0.1838}},
5738 {
5739 {0.3753, 0.2465, 0.1224, 0.2558},
5740 {0.2480, 0.2648, 0.1045, 0.3828},
5741 {0.2951, 0.2269, 0.2003, 0.2777},
5742 {0.0822, 0.4158, 0.2222, 0.2798}},
5743 {
5744 {0.1834, 0.3592, 0.3470, 0.1104},
5745 {0.1601, 0.4392, 0.1149, 0.2859},
5746 {0.1329, 0.3759, 0.2517, 0.2395},
5747 {0.1557, 0.3804, 0.3095, 0.1545}},
5748 {
5749 {0.2507, 0.2013, 0.4400, 0.1080},
5750 {0.4067, 0.2681, 0.0937, 0.2315},
5751 {0.2465, 0.2466, 0.3386, 0.1683},
5752 {0.1115, 0.2757, 0.4686, 0.1442}},
5753 {
5754 {0.2633, 0.2691, 0.1750, 0.2926},
5755 {0.2344, 0.2298, 0.1443, 0.3914},
5756 {0.3359, 0.2393, 0.1835, 0.2413},
5757 {0.1140, 0.3358, 0.1762, 0.3740}},
5758 {
5759 {0.1853, 0.1762, 0.4150, 0.2235},
5760 {0.2530, 0.3650, 0.0977, 0.2843},
5761 {0.1718, 0.3154, 0.2723, 0.2405},
5762 {0.1075, 0.3446, 0.4112, 0.1368}},
5763 {
5764 {0.1589, 0.2968, 0.3929, 0.1514},
5765 {0.3187, 0.3014, 0.1377, 0.2422},
5766 {0.2550, 0.2653, 0.3072, 0.1725},
5767 {0.1102, 0.3064, 0.4059, 0.1775}},
5768 {
5769 {0.1772, 0.2483, 0.2822, 0.2923},
5770 {0.2453, 0.2721, 0.1033, 0.3793},
5771 {0.2503, 0.2433, 0.2329, 0.2735},
5772 {0.1843, 0.3938, 0.1433, 0.2787}},
5773 {
5774 {0.0932, 0.3884, 0.2978, 0.2207},
5775 {0.2757, 0.3315, 0.1108, 0.2821},
5776 {0.1988, 0.2664, 0.3367, 0.1981},
5777 {0.0440, 0.3054, 0.4571, 0.1935}},
5778 {
5779 {0.1839, 0.2354, 0.4415, 0.1392},
5780 {0.3596, 0.2881, 0.1179, 0.2344},
5781 {0.2413, 0.2198, 0.3655, 0.1733},
5782 {0.1003, 0.2232, 0.4883, 0.1883}},
5783 {
5784 {0.3449, 0.2446, 0.1868, 0.2236},
5785 {0.2624, 0.2455, 0.1179, 0.3742},
5786 {0.3770, 0.2479, 0.1952, 0.1799},
5787 {0.0973, 0.3307, 0.2003, 0.3717}},
5788 {
5789 {0.2363, 0.2496, 0.3602, 0.1539},
5790 {0.2877, 0.3461, 0.0642, 0.3020},
5791 {0.1874, 0.3188, 0.2823, 0.2115},
5792 {0.0225, 0.2775, 0.4913, 0.2087}},
5793 {
5794 {0.1520, 0.1516, 0.5440, 0.1525},
5795 {0.3190, 0.3213, 0.1521, 0.2076},
5796 {0.2172, 0.2293, 0.4753, 0.0782},
5797 {0.1379, 0.2409, 0.4517, 0.1695}},
5798 {
5799 {0.2465, 0.1917, 0.2942, 0.2676},
5800 {0.2825, 0.2731, 0.0852, 0.3591},
5801 {0.3114, 0.2017, 0.2014, 0.2855},
5802 {0.1018, 0.3106, 0.2708, 0.3167}},
5803 {
5804 {0.1314, 0.3666, 0.3593, 0.1428},
5805 {0.2341, 0.4330, 0.0765, 0.2563},
5806 {0.1352, 0.3467, 0.2578, 0.2603},
5807 {0.0950, 0.2787, 0.4039, 0.2224}},
5808 {
5809 {0.1794, 0.2113, 0.4463, 0.1630},
5810 {0.3241, 0.3304, 0.1075, 0.2380},
5811 {0.2269, 0.2332, 0.3620, 0.1779},
5812 {0.0877, 0.3274, 0.3915, 0.1934}},
5813 {
5814 {0.2874, 0.2901, 0.2181, 0.2045},
5815 {0.2073, 0.2457, 0.0919, 0.4551},
5816 {0.2796, 0.2907, 0.2210, 0.2087},
5817 {0.1485, 0.2383, 0.1833, 0.4299}},
5818 {
5819 {0.2068, 0.2955, 0.3217, 0.1760},
5820 {0.1784, 0.4345, 0.0643, 0.3229},
5821 {0.1580, 0.3307, 0.2705, 0.2408},
5822 {0.0877, 0.3188, 0.4087, 0.1848}},
5823 {
5824 {0.2783, 0.2764, 0.3458, 0.0995},
5825 {0.3465, 0.3125, 0.1151, 0.2259},
5826 {0.2445, 0.3338, 0.3155, 0.1062},
5827 {0.0929, 0.2386, 0.5196, 0.1489}},
5828 {
5829 {0.3080, 0.2593, 0.1435, 0.2891},
5830 {0.2747, 0.2421, 0.1072, 0.3761},
5831 {0.3174, 0.2125, 0.2312, 0.2389},
5832 {0.1417, 0.2735, 0.1331, 0.4516}},
5833 {
5834 {0.1414, 0.2773, 0.3551, 0.2261},
5835 {0.2294, 0.3668, 0.0455, 0.3583},
5836 {0.1652, 0.3115, 0.3286, 0.1946},
5837 {0.0664, 0.3372, 0.3973, 0.1991}},
5838 {
5839 {0.2430, 0.2649, 0.3572, 0.1348},
5840 {0.3942, 0.2818, 0.1098, 0.2142},
5841 {0.2414, 0.2286, 0.3885, 0.1415},
5842 {0.1231, 0.2727, 0.3902, 0.2140}},
5843 {
5844 {0.2665, 0.2601, 0.1605, 0.3129},
5845 {0.1946, 0.2037, 0.1616, 0.4401},
5846 {0.3027, 0.2550, 0.2372, 0.2051},
5847 {0.1446, 0.3584, 0.1710, 0.3260}},
5848 {
5849 {0.1427, 0.2923, 0.3902, 0.1748},
5850 {0.1847, 0.3934, 0.1170, 0.3049},
5851 {0.1889, 0.3703, 0.2109, 0.2300},
5852 {0.0676, 0.3504, 0.3968, 0.1851}},
5853 {
5854 {0.2268, 0.2056, 0.5030, 0.0646},
5855 {0.3380, 0.2359, 0.1236, 0.3025},
5856 {0.3082, 0.1716, 0.4059, 0.1143},
5857 {0.0993, 0.2291, 0.5394, 0.1322}},
5858 {
5859 {0.2155, 0.2820, 0.2279, 0.2745},
5860 {0.2785, 0.1741, 0.1512, 0.3961},
5861 {0.3182, 0.2416, 0.1962, 0.2440},
5862 {0.1297, 0.2373, 0.2666, 0.3664}},
5863 {
5864 {0.1642, 0.3300, 0.3489, 0.1569},
5865 {0.2212, 0.4225, 0.0914, 0.2649},
5866 {0.1314, 0.3724, 0.2608, 0.2354},
5867 {0.0622, 0.3584, 0.4178, 0.1616}},
5868 {
5869 {0.2915, 0.2485, 0.3700, 0.0901},
5870 {0.3316, 0.3072, 0.1921, 0.1692},
5871 {0.3232, 0.2172, 0.3180, 0.1416},
5872 {0.1634, 0.2922, 0.4007, 0.1437}},
5873 {
5874 {0.3242, 0.2460, 0.2109, 0.2190},
5875 {0.3065, 0.2148, 0.1420, 0.3367},
5876 {0.3945, 0.2324, 0.1198, 0.2533},
5877 {0.1197, 0.2844, 0.1316, 0.4644}},
5878 {
5879 {0.1871, 0.2929, 0.4044, 0.1156},
5880 {0.2291, 0.3813, 0.1146, 0.2751},
5881 {0.1785, 0.3596, 0.2791, 0.1828},
5882 {0.0281, 0.3377, 0.3943, 0.2400}},
5883 {
5884 {0.1989, 0.1178, 0.4935, 0.1898},
5885 {0.3191, 0.2600, 0.1166, 0.3043},
5886 {0.2943, 0.2557, 0.3149, 0.1351},
5887 {0.1825, 0.1569, 0.5375, 0.1232}},
5888 {
5889 {0.3214, 0.2486, 0.1908, 0.2392},
5890 {0.2165, 0.2575, 0.0814, 0.4445},
5891 {0.3297, 0.2235, 0.2691, 0.1776},
5892 {0.1575, 0.3273, 0.2359, 0.2793}},
5893 {
5894 {0.1306, 0.2412, 0.4461, 0.1821},
5895 {0.2236, 0.3734, 0.1260, 0.2771},
5896 {0.1306, 0.3070, 0.2512, 0.3112},
5897 {0.1309, 0.2407, 0.4450, 0.1834}},
5898 {
5899 {0.1888, 0.2851, 0.4294, 0.0967},
5900 {0.3251, 0.3313, 0.1065, 0.2370},
5901 {0.2682, 0.2487, 0.2969, 0.1861},
5902 {0.1016, 0.1937, 0.5726, 0.1321}},
5903 {
5904 {0.3459, 0.2759, 0.1261, 0.2520},
5905 {0.2240, 0.2252, 0.1308, 0.4201},
5906 {0.3622, 0.1829, 0.1933, 0.2616},
5907 {0.2155, 0.2292, 0.1907, 0.3647}},
5908 {
5909 {0.1588, 0.3054, 0.3528, 0.1830},
5910 {0.2697, 0.3495, 0.1002, 0.2806},
5911 {0.1198, 0.3593, 0.3384, 0.1825},
5912 {0.1038, 0.3840, 0.3558, 0.1564}},
5913 {
5914 {0.1452, 0.2353, 0.5576, 0.0618},
5915 {0.4029, 0.2897, 0.1086, 0.1988},
5916 {0.2702, 0.1731, 0.4176, 0.1391},
5917 {0.1398, 0.3415, 0.4127, 0.1061}},
5918 {
5919 {0.3149, 0.2686, 0.1455, 0.2710},
5920 {0.2313, 0.2804, 0.1226, 0.3657},
5921 {0.2961, 0.2537, 0.1792, 0.2710},
5922 {0.2011, 0.2635, 0.2572, 0.2782}},
5923 {
5924 {0.1186, 0.2668, 0.4031, 0.2116},
5925 {0.2107, 0.3594, 0.1370, 0.2929},
5926 {0.1321, 0.3953, 0.2218, 0.2508},
5927 {0.1045, 0.2199, 0.4564, 0.2192}},
5928 {
5929 {0.1188, 0.1968, 0.4221, 0.2622},
5930 {0.2910, 0.2871, 0.1197, 0.3022},
5931 {0.2042, 0.2435, 0.4353, 0.1171},
5932 {0.1637, 0.2136, 0.5427, 0.0799}},
5933 {
5934 {0.3239, 0.1724, 0.2481, 0.2557},
5935 {0.3255, 0.1896, 0.1524, 0.3325},
5936 {0.3623, 0.2226, 0.1927, 0.2225},
5937 {0.1607, 0.2983, 0.2961, 0.2450}},
5938 {
5939 {0.1487, 0.3266, 0.4020, 0.1227},
5940 {0.2643, 0.4152, 0.0602, 0.2603},
5941 {0.1877, 0.4562, 0.2458, 0.1103},
5942 {0.0977, 0.2669, 0.5057, 0.1296}},
5943 {
5944 {0.3049, 0.0939, 0.4968, 0.1044},
5945 {0.3599, 0.2935, 0.0832, 0.2635},
5946 {0.2555, 0.2337, 0.3908, 0.1200},
5947 {0.0991, 0.2176, 0.5743, 0.1090}},
5948 {
5949 {0.3841, 0.2601, 0.1631, 0.1927},
5950 {0.2312, 0.1809, 0.1670, 0.4209},
5951 {0.2215, 0.3325, 0.1682, 0.2778},
5952 {0.2319, 0.2577, 0.2387, 0.2717}},
5953 {
5954 {0.1920, 0.1898, 0.3216, 0.2967},
5955 {0.2118, 0.1656, 0.1151, 0.5075},
5956 {0.1696, 0.1467, 0.3567, 0.3270},
5957 {0.0648, 0.1099, 0.5913, 0.2340}},
5958 {
5959 {0.0000, 0.0000, 1.0000, 0.0000},
5960 {0.0000, 0.0000, 1.0000, 0.0000},
5961 {0.0000, 0.0000, 1.0000, 0.0000},
5962 {0.0000, 0.0000, 1.0000, 0.0000}},
5963 {
5964 {0.0000, 0.0000, 0.0000, 0.0000},
5965 {0.0000, 0.0000, 0.0000, 0.0000},
5966 {0.0000, 0.0000, 0.0000, 1.0000},
5967 {0.0000, 0.0000, 0.0000, 0.0000}},
5968 {
5969 {0.0000, 0.0000, 0.0000, 0.0000},
5970 {0.0000, 0.0000, 0.0000, 0.0000},
5971 {0.0000, 0.0000, 0.0000, 0.0000},
5972 {0.1015, 0.2621, 0.4872, 0.1492}},
5973 {
5974 {0.2079, 0.2525, 0.4303, 0.1092},
5975 {0.4409, 0.2441, 0.0822, 0.2328},
5976 {0.2154, 0.2401, 0.4784, 0.0661},
5977 {0.1419, 0.3015, 0.4460, 0.1106}},
5978 {
5979 {0.3258, 0.2999, 0.1571, 0.2172},
5980 {0.2522, 0.1408, 0.1756, 0.4314},
5981 {0.2602, 0.3221, 0.1434, 0.2743},
5982 {0.1622, 0.3217, 0.2102, 0.3059}},
5983 {
5984 {0.2085, 0.2950, 0.3428, 0.1537},
5985 {0.1871, 0.4294, 0.1344, 0.2490},
5986 {0.1317, 0.4404, 0.2405, 0.1874},
5987 {0.0820, 0.2970, 0.4543, 0.1667}},
5988 {
5989 {0.1875, 0.1811, 0.5055, 0.1259},
5990 {0.3582, 0.2484, 0.1121, 0.2813},
5991 {0.2601, 0.2092, 0.3616, 0.1691},
5992 {0.0591, 0.2113, 0.6013, 0.1283}},
5993 {
5994 {0.3467, 0.1973, 0.2390, 0.2170},
5995 {0.2460, 0.2239, 0.1500, 0.3802},
5996 {0.2910, 0.2882, 0.2019, 0.2189},
5997 {0.1779, 0.2921, 0.2172, 0.3129}},
5998 {
5999 {0.1245, 0.3253, 0.3048, 0.2454},
6000 {0.1644, 0.3531, 0.1136, 0.3689},
6001 {0.1764, 0.3079, 0.3045, 0.2112},
6002 {0.0946, 0.3127, 0.4567, 0.1360}},
6003 {
6004 {0.1484, 0.2268, 0.4298, 0.1949},
6005 {0.3350, 0.2532, 0.1592, 0.2526},
6006 {0.3146, 0.1902, 0.3675, 0.1277},
6007 {0.0925, 0.2595, 0.5621, 0.0859}},
6008 {
6009 {0.3208, 0.1982, 0.2304, 0.2507},
6010 {0.2676, 0.2131, 0.0548, 0.4646},
6011 {0.2329, 0.2534, 0.2595, 0.2542},
6012 {0.1505, 0.1948, 0.2713, 0.3834}},
6013 {
6014 {0.1604, 0.3087, 0.4088, 0.1222},
6015 {0.2321, 0.3800, 0.0564, 0.3315},
6016 {0.1774, 0.3443, 0.2134, 0.2649},
6017 {0.0957, 0.3904, 0.3605, 0.1534}},
6018 {
6019 {0.1068, 0.1218, 0.6065, 0.1649},
6020 {0.3801, 0.2734, 0.1330, 0.2135},
6021 {0.2526, 0.2200, 0.4075, 0.1199},
6022 {0.1773, 0.1906, 0.4923, 0.1398}},
6023 {
6024 {0.2200, 0.2368, 0.2127, 0.3306},
6025 {0.3294, 0.2089, 0.1107, 0.3510},
6026 {0.3965, 0.2130, 0.2293, 0.1613},
6027 {0.1621, 0.1740, 0.2409, 0.4230}},
6028 {
6029 {0.1318, 0.2778, 0.3745, 0.2159},
6030 {0.2108, 0.3676, 0.1313, 0.2903},
6031 {0.2406, 0.3289, 0.2580, 0.1725},
6032 {0.0494, 0.3511, 0.3906, 0.2089}},
6033 {
6034 {0.2190, 0.1641, 0.4547, 0.1622},
6035 {0.3889, 0.2507, 0.1399, 0.2206},
6036 {0.3322, 0.2650, 0.3069, 0.0960},
6037 {0.1346, 0.2088, 0.4840, 0.1725}},
6038 {
6039 {0.3442, 0.2032, 0.1676, 0.2850},
6040 {0.2677, 0.2037, 0.0960, 0.4326},
6041 {0.3597, 0.2133, 0.2360, 0.1911},
6042 {0.0981, 0.2185, 0.3483, 0.3352}},
6043 {
6044 {0.1592, 0.2990, 0.4090, 0.1328},
6045 {0.2420, 0.3648, 0.1011, 0.2922},
6046 {0.1880, 0.3151, 0.3381, 0.1589},
6047 {0.0579, 0.3942, 0.4344, 0.1135}},
6048 {
6049 {0.2476, 0.1911, 0.4329, 0.1284},
6050 {0.3382, 0.2912, 0.1275, 0.2431},
6051 {0.2551, 0.2375, 0.4147, 0.0927},
6052 {0.1560, 0.1883, 0.5281, 0.1276}},
6053 {
6054 {0.3694, 0.2228, 0.1751, 0.2327},
6055 {0.2677, 0.2231, 0.1923, 0.3169},
6056 {0.3705, 0.1727, 0.2317, 0.2252},
6057 {0.2443, 0.2985, 0.1457, 0.3115}},
6058 {
6059 {0.1318, 0.3429, 0.3671, 0.1581},
6060 {0.2828, 0.3865, 0.1165, 0.2142},
6061 {0.1523, 0.3987, 0.2063, 0.2428},
6062 {0.1178, 0.3012, 0.4504, 0.1305}},
6063 {
6064 {0.2582, 0.1552, 0.4290, 0.1577},
6065 {0.3476, 0.2567, 0.1605, 0.2353},
6066 {0.2698, 0.2384, 0.3833, 0.1084},
6067 {0.1243, 0.1889, 0.5481, 0.1387}},
6068 {
6069 {0.4108, 0.2247, 0.1419, 0.2226},
6070 {0.2703, 0.2176, 0.0786, 0.4335},
6071 {0.3304, 0.1547, 0.2477, 0.2672},
6072 {0.2089, 0.2902, 0.2055, 0.2954}},
6073 {
6074 {0.1653, 0.3126, 0.3644, 0.1577},
6075 {0.2513, 0.4175, 0.0979, 0.2334},
6076 {0.1351, 0.3780, 0.2316, 0.2553},
6077 {0.0713, 0.2957, 0.4264, 0.2066}},
6078 {
6079 {0.3136, 0.2123, 0.3705, 0.1036},
6080 {0.3238, 0.3452, 0.1272, 0.2037},
6081 {0.2823, 0.2543, 0.3135, 0.1498},
6082 {0.1710, 0.2402, 0.4667, 0.1221}},
6083 {
6084 {0.3488, 0.1735, 0.2520, 0.2257},
6085 {0.3127, 0.2000, 0.1229, 0.3644},
6086 {0.3282, 0.2156, 0.2234, 0.2328},
6087 {0.2740, 0.1623, 0.1961, 0.3676}},
6088 {
6089 {0.1718, 0.2591, 0.3692, 0.1999},
6090 {0.2842, 0.3600, 0.0967, 0.2591},
6091 {0.2103, 0.2591, 0.2658, 0.2647},
6092 {0.0764, 0.3202, 0.4031, 0.2002}},
6093 {
6094 {0.2829, 0.1861, 0.5046, 0.0263},
6095 {0.3379, 0.2656, 0.1383, 0.2582},
6096 {0.2698, 0.2260, 0.3964, 0.1078},
6097 {0.1311, 0.1753, 0.5479, 0.1457}},
6098 {
6099 {0.2226, 0.2812, 0.2030, 0.2933},
6100 {0.2314, 0.2863, 0.1556, 0.3268},
6101 {0.3403, 0.2179, 0.2330, 0.2088},
6102 {0.3446, 0.2238, 0.1502, 0.2815}},
6103 {
6104 {0.1215, 0.3247, 0.3886, 0.1652},
6105 {0.2400, 0.4340, 0.0895, 0.2365},
6106 {0.1705, 0.2838, 0.3411, 0.2046},
6107 {0.0818, 0.3471, 0.3403, 0.2307}},
6108 {
6109 {0.1528, 0.2297, 0.5060, 0.1116},
6110 {0.3700, 0.2747, 0.1263, 0.2289},
6111 {0.3528, 0.1966, 0.3428, 0.1078},
6112 {0.1101, 0.2247, 0.5328, 0.1324}},
6113 {
6114 {0.2705, 0.2653, 0.2450, 0.2193},
6115 {0.2747, 0.2517, 0.1783, 0.2953},
6116 {0.3624, 0.2193, 0.2406, 0.1778},
6117 {0.2002, 0.2269, 0.2629, 0.3100}},
6118 {
6119 {0.1461, 0.2719, 0.3864, 0.1956},
6120 {0.2884, 0.3732, 0.0663, 0.2721},
6121 {0.1555, 0.2748, 0.2996, 0.2701},
6122 {0.0884, 0.2776, 0.4210, 0.2131}},
6123 {
6124 {0.2238, 0.2371, 0.3645, 0.1746},
6125 {0.3405, 0.3405, 0.0881, 0.2309},
6126 {0.2864, 0.2316, 0.3619, 0.1201},
6127 {0.1355, 0.2772, 0.4400, 0.1473}},
6128 {
6129 {0.3459, 0.2266, 0.2001, 0.2273},
6130 {0.2690, 0.2032, 0.1202, 0.4076},
6131 {0.3978, 0.2460, 0.1644, 0.1918},
6132 {0.2444, 0.1842, 0.2849, 0.2865}},
6133 {
6134 {0.2426, 0.2681, 0.3626, 0.1267},
6135 {0.1966, 0.3566, 0.1245, 0.3223},
6136 {0.1660, 0.3084, 0.3405, 0.1852},
6137 {0.1224, 0.3223, 0.3528, 0.2025}},
6138 {
6139 {0.1782, 0.1820, 0.5498, 0.0901},
6140 {0.2818, 0.3599, 0.1319, 0.2263},
6141 {0.2228, 0.2479, 0.3407, 0.1886},
6142 {0.1420, 0.2303, 0.4382, 0.1895}},
6143 {
6144 {0.2828, 0.1914, 0.2322, 0.2936},
6145 {0.2741, 0.2174, 0.1692, 0.3394},
6146 {0.3268, 0.2371, 0.2573, 0.1789},
6147 {0.1640, 0.3410, 0.1967, 0.2983}},
6148 {
6149 {0.1427, 0.3172, 0.3822, 0.1579},
6150 {0.2512, 0.4502, 0.0699, 0.2286},
6151 {0.2066, 0.2163, 0.3159, 0.2611},
6152 {0.0542, 0.3077, 0.4076, 0.2305}},
6153 {
6154 {0.3182, 0.2039, 0.3242, 0.1536},
6155 {0.4321, 0.2580, 0.0852, 0.2247},
6156 {0.3054, 0.1894, 0.3730, 0.1322},
6157 {0.1493, 0.1805, 0.5494, 0.1208}},
6158 {
6159 {0.3382, 0.1738, 0.2223, 0.2657},
6160 {0.2492, 0.2266, 0.1903, 0.3339},
6161 {0.3394, 0.1730, 0.2970, 0.1905},
6162 {0.1147, 0.3119, 0.1921, 0.3813}},
6163 {
6164 {0.1107, 0.3041, 0.4318, 0.1534},
6165 {0.2961, 0.3438, 0.1112, 0.2489},
6166 {0.1113, 0.3677, 0.3454, 0.1757},
6167 {0.0710, 0.3340, 0.4429, 0.1522}},
6168 {
6169 {0.1230, 0.3094, 0.4325, 0.1351},
6170 {0.3970, 0.2257, 0.1298, 0.2475},
6171 {0.2270, 0.2682, 0.3629, 0.1420},
6172 {0.1595, 0.1946, 0.4975, 0.1485}},
6173 {
6174 {0.4005, 0.2060, 0.1735, 0.2200},
6175 {0.2392, 0.1602, 0.1918, 0.4089},
6176 {0.3152, 0.1876, 0.2781, 0.2191},
6177 {0.0838, 0.3444, 0.2418, 0.3301}},
6178 {
6179 {0.2264, 0.2962, 0.3891, 0.0883},
6180 {0.1874, 0.4319, 0.1191, 0.2616},
6181 {0.1572, 0.3832, 0.2132, 0.2464},
6182 {0.0611, 0.3283, 0.4086, 0.2019}},
6183 {
6184 {0.2487, 0.1824, 0.4064, 0.1625},
6185 {0.3626, 0.2769, 0.1731, 0.1873},
6186 {0.2057, 0.3317, 0.3204, 0.1422},
6187 {0.2376, 0.2602, 0.3873, 0.1149}},
6188 {
6189 {0.2855, 0.2013, 0.2269, 0.2863},
6190 {0.3424, 0.2672, 0.0865, 0.3039},
6191 {0.2728, 0.2392, 0.2442, 0.2438},
6192 {0.1893, 0.2866, 0.1887, 0.3354}},
6193 {
6194 {0.1515, 0.2531, 0.4560, 0.1393},
6195 {0.2614, 0.4072, 0.0641, 0.2674},
6196 {0.1379, 0.2848, 0.3219, 0.2554},
6197 {0.1156, 0.2809, 0.4318, 0.1717}},
6198 {
6199 {0.2133, 0.2470, 0.4405, 0.0992},
6200 {0.2762, 0.2930, 0.1531, 0.2777},
6201 {0.3025, 0.2596, 0.3264, 0.1115},
6202 {0.1501, 0.2544, 0.4307, 0.1647}},
6203 {
6204 {0.3874, 0.1707, 0.2135, 0.2283},
6205 {0.2485, 0.3321, 0.1130, 0.3064},
6206 {0.3321, 0.1938, 0.2396, 0.2345},
6207 {0.1682, 0.3361, 0.2251, 0.2705}},
6208 {
6209 {0.1351, 0.2833, 0.4043, 0.1774},
6210 {0.2663, 0.4015, 0.0762, 0.2560},
6211 {0.1871, 0.2944, 0.2944, 0.2241},
6212 {0.1109, 0.2513, 0.3907, 0.2472}},
6213 {
6214 {0.2242, 0.2551, 0.4007, 0.1201},
6215 {0.3311, 0.3136, 0.1267, 0.2287},
6216 {0.2038, 0.2575, 0.4098, 0.1289},
6217 {0.1546, 0.2337, 0.3946, 0.2171}}
6218 },
6219 { /* Splice_Site: F2_GT; Species: Rat */
6220 {
6221 {0.1637, 0.1637, 0.1637, 0.1637},
6222 {0.3558, 0.3558, 0.3558, 0.3558},
6223 {0.2565, 0.2565, 0.2565, 0.2565},
6224 {0.2240, 0.2240, 0.2240, 0.2240}},
6225 {
6226 {0.3050, 0.2327, 0.3520, 0.1103},
6227 {0.3118, 0.3771, 0.1256, 0.1855},
6228 {0.2387, 0.1874, 0.4267, 0.1472},
6229 {0.2116, 0.2755, 0.3757, 0.1372}},
6230 {
6231 {0.2501, 0.2095, 0.2650, 0.2755},
6232 {0.2858, 0.2713, 0.1375, 0.3055},
6233 {0.3128, 0.2674, 0.2219, 0.1979},
6234 {0.1862, 0.3253, 0.1602, 0.3283}},
6235 {
6236 {0.1548, 0.2188, 0.3988, 0.2275},
6237 {0.2856, 0.2911, 0.0962, 0.3272},
6238 {0.1917, 0.3135, 0.3369, 0.1579},
6239 {0.1405, 0.3184, 0.3408, 0.2003}},
6240 {
6241 {0.1717, 0.2583, 0.4722, 0.0979},
6242 {0.3092, 0.3423, 0.1030, 0.2454},
6243 {0.2616, 0.1924, 0.3471, 0.1990},
6244 {0.1983, 0.2211, 0.4015, 0.1791}},
6245 {
6246 {0.2436, 0.3103, 0.2181, 0.2280},
6247 {0.2657, 0.3069, 0.1044, 0.3230},
6248 {0.3594, 0.2179, 0.2550, 0.1678},
6249 {0.1403, 0.2638, 0.2463, 0.3496}},
6250 {
6251 {0.1899, 0.2227, 0.3727, 0.2147},
6252 {0.3268, 0.2731, 0.0487, 0.3513},
6253 {0.1665, 0.3064, 0.2199, 0.3072},
6254 {0.0641, 0.3329, 0.4287, 0.1743}},
6255 {
6256 {0.2272, 0.1972, 0.4458, 0.1297},
6257 {0.3166, 0.2375, 0.1251, 0.3208},
6258 {0.2503, 0.2464, 0.3881, 0.1152},
6259 {0.1818, 0.3491, 0.3065, 0.1627}},
6260 {
6261 {0.3345, 0.2159, 0.2759, 0.1737},
6262 {0.2442, 0.2305, 0.1292, 0.3960},
6263 {0.3780, 0.2452, 0.1740, 0.2029},
6264 {0.1245, 0.2811, 0.2159, 0.3785}},
6265 {
6266 {0.1522, 0.2754, 0.3177, 0.2546},
6267 {0.1872, 0.3639, 0.1203, 0.3285},
6268 {0.1329, 0.2657, 0.2212, 0.3802},
6269 {0.0086, 0.4273, 0.3734, 0.1907}},
6270 {
6271 {0.2199, 0.1176, 0.5103, 0.1523},
6272 {0.3537, 0.3014, 0.0869, 0.2580},
6273 {0.2431, 0.2015, 0.4029, 0.1524},
6274 {0.1313, 0.2979, 0.3790, 0.1918}},
6275 {
6276 {0.3694, 0.2047, 0.1827, 0.2433},
6277 {0.2503, 0.2746, 0.1028, 0.3724},
6278 {0.3521, 0.2632, 0.1710, 0.2138},
6279 {0.0723, 0.3679, 0.2862, 0.2736}},
6280 {
6281 {0.1227, 0.3396, 0.3598, 0.1779},
6282 {0.3442, 0.3084, 0.0549, 0.2925},
6283 {0.1404, 0.3628, 0.2635, 0.2333},
6284 {0.1581, 0.2730, 0.3221, 0.2468}},
6285 {
6286 {0.2382, 0.2590, 0.3783, 0.1244},
6287 {0.3439, 0.3332, 0.0671, 0.2558},
6288 {0.3008, 0.2290, 0.2863, 0.1839},
6289 {0.1306, 0.2979, 0.3833, 0.1882}},
6290 {
6291 {0.3079, 0.2133, 0.1678, 0.3111},
6292 {0.2605, 0.3117, 0.1281, 0.2997},
6293 {0.3087, 0.2228, 0.2508, 0.2177},
6294 {0.1055, 0.4311, 0.1917, 0.2717}},
6295 {
6296 {0.1471, 0.2522, 0.3460, 0.2548},
6297 {0.2759, 0.3968, 0.0526, 0.2748},
6298 {0.1671, 0.3875, 0.1684, 0.2770},
6299 {0.1183, 0.3230, 0.3984, 0.1603}},
6300 {
6301 {0.2539, 0.2810, 0.4004, 0.0646},
6302 {0.3312, 0.2465, 0.1745, 0.2478},
6303 {0.3102, 0.2194, 0.2621, 0.2084},
6304 {0.1289, 0.2031, 0.4571, 0.2109}},
6305 {
6306 {0.3425, 0.1985, 0.2106, 0.2484},
6307 {0.3425, 0.2242, 0.1276, 0.3057},
6308 {0.3413, 0.2559, 0.1911, 0.2117},
6309 {0.1483, 0.3841, 0.1970, 0.2706}},
6310 {
6311 {0.2095, 0.2683, 0.3415, 0.1807},
6312 {0.1949, 0.3327, 0.1208, 0.3516},
6313 {0.1701, 0.4536, 0.1960, 0.1802},
6314 {0.0832, 0.3280, 0.3666, 0.2222}},
6315 {
6316 {0.1957, 0.1811, 0.4768, 0.1463},
6317 {0.3045, 0.2744, 0.1396, 0.2816},
6318 {0.2238, 0.2413, 0.3909, 0.1440},
6319 {0.1208, 0.2573, 0.4664, 0.1555}},
6320 {
6321 {0.4076, 0.2020, 0.1709, 0.2196},
6322 {0.2706, 0.2696, 0.1278, 0.3320},
6323 {0.3107, 0.2011, 0.3275, 0.1608},
6324 {0.2323, 0.2400, 0.2733, 0.2544}},
6325 {
6326 {0.1964, 0.2848, 0.3977, 0.1211},
6327 {0.3159, 0.3604, 0.1039, 0.2199},
6328 {0.1258, 0.3201, 0.2531, 0.3009},
6329 {0.0909, 0.2348, 0.4430, 0.2313}},
6330 {
6331 {0.1580, 0.1987, 0.4887, 0.1546},
6332 {0.3543, 0.2978, 0.0498, 0.2981},
6333 {0.2669, 0.2321, 0.3644, 0.1366},
6334 {0.1334, 0.2198, 0.4810, 0.1658}},
6335 {
6336 {0.2464, 0.2620, 0.1766, 0.3150},
6337 {0.2622, 0.2728, 0.1306, 0.3343},
6338 {0.3667, 0.2564, 0.2290, 0.1479},
6339 {0.1697, 0.3025, 0.1490, 0.3788}},
6340 {
6341 {0.1983, 0.3042, 0.2840, 0.2135},
6342 {0.2915, 0.3553, 0.0817, 0.2714},
6343 {0.1214, 0.4454, 0.1858, 0.2475},
6344 {0.1122, 0.3167, 0.3438, 0.2273}},
6345 {
6346 {0.1982, 0.1988, 0.4366, 0.1665},
6347 {0.3089, 0.3020, 0.1346, 0.2544},
6348 {0.2776, 0.2610, 0.4010, 0.0604},
6349 {0.1777, 0.2442, 0.4495, 0.1286}},
6350 {
6351 {0.2596, 0.2152, 0.2505, 0.2747},
6352 {0.2950, 0.2588, 0.1680, 0.2782},
6353 {0.3270, 0.2455, 0.2298, 0.1978},
6354 {0.1333, 0.2151, 0.2848, 0.3668}},
6355 {
6356 {0.1965, 0.2540, 0.3617, 0.1878},
6357 {0.3031, 0.2919, 0.0743, 0.3308},
6358 {0.2149, 0.2824, 0.2258, 0.2770},
6359 {0.0831, 0.3259, 0.3924, 0.1986}},
6360 {
6361 {0.2753, 0.1775, 0.4554, 0.0919},
6362 {0.3530, 0.2358, 0.1283, 0.2830},
6363 {0.2357, 0.1527, 0.4298, 0.1817},
6364 {0.1868, 0.1855, 0.4933, 0.1344}},
6365 {
6366 {0.3069, 0.2543, 0.1971, 0.2417},
6367 {0.2901, 0.2524, 0.1938, 0.2636},
6368 {0.3670, 0.2031, 0.2194, 0.2105},
6369 {0.0880, 0.2934, 0.2952, 0.3235}},
6370 {
6371 {0.1338, 0.2788, 0.3860, 0.2014},
6372 {0.1684, 0.4270, 0.0895, 0.3150},
6373 {0.2275, 0.3635, 0.2267, 0.1823},
6374 {0.0851, 0.3096, 0.3574, 0.2478}},
6375 {
6376 {0.2229, 0.2052, 0.4608, 0.1110},
6377 {0.3007, 0.3336, 0.0800, 0.2857},
6378 {0.2512, 0.2213, 0.3768, 0.1507},
6379 {0.1901, 0.2201, 0.4801, 0.1096}},
6380 {
6381 {0.3262, 0.2739, 0.1894, 0.2105},
6382 {0.2638, 0.2085, 0.1811, 0.3466},
6383 {0.3291, 0.2318, 0.2259, 0.2132},
6384 {0.1576, 0.3764, 0.2098, 0.2562}},
6385 {
6386 {0.1682, 0.3447, 0.3056, 0.1815},
6387 {0.2357, 0.4215, 0.0756, 0.2672},
6388 {0.1960, 0.3005, 0.2652, 0.2383},
6389 {0.0765, 0.2915, 0.4232, 0.2087}},
6390 {
6391 {0.2274, 0.2126, 0.4221, 0.1379},
6392 {0.3231, 0.2819, 0.0891, 0.3059},
6393 {0.3351, 0.2132, 0.3631, 0.0885},
6394 {0.1442, 0.2759, 0.4603, 0.1197}},
6395 {
6396 {0.4308, 0.2442, 0.1814, 0.1436},
6397 {0.2514, 0.2416, 0.1458, 0.3612},
6398 {0.3529, 0.2202, 0.2158, 0.2112},
6399 {0.2002, 0.2213, 0.2204, 0.3581}},
6400 {
6401 {0.1472, 0.2835, 0.3740, 0.1953},
6402 {0.3215, 0.2827, 0.0646, 0.3312},
6403 {0.1972, 0.2586, 0.3207, 0.2234},
6404 {0.0890, 0.3386, 0.3557, 0.2167}},
6405 {
6406 {0.2220, 0.1850, 0.4732, 0.1198},
6407 {0.3028, 0.3294, 0.1453, 0.2225},
6408 {0.2488, 0.2178, 0.3805, 0.1529},
6409 {0.1140, 0.2248, 0.4678, 0.1934}},
6410 {
6411 {0.3594, 0.2193, 0.2194, 0.2019},
6412 {0.3341, 0.2225, 0.1277, 0.3157},
6413 {0.2996, 0.2769, 0.1963, 0.2273},
6414 {0.1632, 0.2863, 0.2139, 0.3366}},
6415 {
6416 {0.1622, 0.2531, 0.4124, 0.1723},
6417 {0.2245, 0.4656, 0.0651, 0.2448},
6418 {0.2050, 0.4303, 0.1885, 0.1761},
6419 {0.0543, 0.2099, 0.5610, 0.1749}},
6420 {
6421 {0.2100, 0.1679, 0.4889, 0.1332},
6422 {0.3723, 0.2677, 0.1024, 0.2576},
6423 {0.3155, 0.1957, 0.3510, 0.1378},
6424 {0.1357, 0.3050, 0.4097, 0.1495}},
6425 {
6426 {0.3380, 0.2284, 0.1446, 0.2890},
6427 {0.3290, 0.2438, 0.1007, 0.3266},
6428 {0.3549, 0.2518, 0.2095, 0.1837},
6429 {0.2262, 0.2368, 0.2542, 0.2828}},
6430 {
6431 {0.1335, 0.2531, 0.4226, 0.1908},
6432 {0.2217, 0.4553, 0.0401, 0.2829},
6433 {0.1113, 0.3559, 0.3066, 0.2262},
6434 {0.0474, 0.3439, 0.4027, 0.2061}},
6435 {
6436 {0.2854, 0.3286, 0.2546, 0.1314},
6437 {0.3503, 0.3097, 0.1267, 0.2134},
6438 {0.2944, 0.1580, 0.4224, 0.1252},
6439 {0.1709, 0.2386, 0.4663, 0.1242}},
6440 {
6441 {0.3563, 0.1982, 0.2260, 0.2195},
6442 {0.2161, 0.2291, 0.1465, 0.4083},
6443 {0.3281, 0.2480, 0.1630, 0.2608},
6444 {0.1649, 0.2573, 0.2796, 0.2981}},
6445 {
6446 {0.1565, 0.2739, 0.3498, 0.2198},
6447 {0.3036, 0.3813, 0.0764, 0.2388},
6448 {0.1515, 0.3201, 0.3109, 0.2175},
6449 {0.1490, 0.3171, 0.3671, 0.1668}},
6450 {
6451 {0.2124, 0.2581, 0.3920, 0.1375},
6452 {0.3090, 0.3183, 0.1039, 0.2688},
6453 {0.2361, 0.3376, 0.3375, 0.0888},
6454 {0.1834, 0.1068, 0.5835, 0.1264}},
6455 {
6456 {0.3171, 0.2001, 0.2210, 0.2617},
6457 {0.2926, 0.2574, 0.0848, 0.3653},
6458 {0.2819, 0.1984, 0.3211, 0.1987},
6459 {0.2038, 0.2073, 0.1423, 0.4466}},
6460 {
6461 {0.1754, 0.2512, 0.3799, 0.1935},
6462 {0.2020, 0.3049, 0.1744, 0.3187},
6463 {0.2451, 0.2642, 0.2573, 0.2334},
6464 {0.0871, 0.3109, 0.4092, 0.1928}},
6465 {
6466 {0.2555, 0.1298, 0.4621, 0.1525},
6467 {0.3516, 0.1531, 0.1368, 0.3585},
6468 {0.2620, 0.1290, 0.4008, 0.2081},
6469 {0.2274, 0.1807, 0.4642, 0.1277}},
6470 {
6471 {0.0000, 0.0000, 1.0000, 0.0000},
6472 {0.0000, 0.0000, 1.0000, 0.0000},
6473 {0.0000, 0.0000, 1.0000, 0.0000},
6474 {0.0000, 0.0000, 1.0000, 0.0000}},
6475 {
6476 {0.0000, 0.0000, 0.0000, 0.0000},
6477 {0.0000, 0.0000, 0.0000, 0.0000},
6478 {0.0000, 0.0000, 0.0000, 1.0000},
6479 {0.0000, 0.0000, 0.0000, 0.0000}},
6480 {
6481 {0.0000, 0.0000, 0.0000, 0.0000},
6482 {0.0000, 0.0000, 0.0000, 0.0000},
6483 {0.0000, 0.0000, 0.0000, 0.0000},
6484 {0.1455, 0.2153, 0.4627, 0.1765}},
6485 {
6486 {0.2557, 0.2944, 0.1515, 0.2984},
6487 {0.2602, 0.1899, 0.1360, 0.4138},
6488 {0.2656, 0.1966, 0.2894, 0.2483},
6489 {0.1081, 0.2707, 0.1246, 0.4965}},
6490 {
6491 {0.1848, 0.3441, 0.2832, 0.1878},
6492 {0.1740, 0.4451, 0.0708, 0.3101},
6493 {0.1750, 0.3436, 0.2516, 0.2298},
6494 {0.0689, 0.3472, 0.4194, 0.1645}},
6495 {
6496 {0.2883, 0.2474, 0.3681, 0.0962},
6497 {0.3199, 0.3259, 0.0998, 0.2544},
6498 {0.3232, 0.2257, 0.3479, 0.1032},
6499 {0.1663, 0.1678, 0.5817, 0.0842}},
6500 {
6501 {0.3717, 0.2305, 0.2408, 0.1570},
6502 {0.3092, 0.2370, 0.1268, 0.3269},
6503 {0.3299, 0.1648, 0.2760, 0.2293},
6504 {0.2031, 0.3240, 0.1672, 0.3056}},
6505 {
6506 {0.1686, 0.3295, 0.3411, 0.1609},
6507 {0.2052, 0.3524, 0.1426, 0.2998},
6508 {0.1700, 0.3118, 0.3096, 0.2087},
6509 {0.1047, 0.3230, 0.4008, 0.1715}},
6510 {
6511 {0.2652, 0.2035, 0.4239, 0.1075},
6512 {0.4096, 0.2258, 0.1276, 0.2370},
6513 {0.2394, 0.2290, 0.3323, 0.1994},
6514 {0.1655, 0.2268, 0.4555, 0.1523}},
6515 {
6516 {0.3093, 0.1989, 0.2457, 0.2461},
6517 {0.2762, 0.2125, 0.1035, 0.4078},
6518 {0.4064, 0.1482, 0.2763, 0.1692},
6519 {0.1679, 0.2449, 0.3208, 0.2664}},
6520 {
6521 {0.1665, 0.3718, 0.3400, 0.1216},
6522 {0.2329, 0.4295, 0.0519, 0.2857},
6523 {0.1318, 0.4115, 0.2531, 0.2036},
6524 {0.1666, 0.2642, 0.3874, 0.1818}},
6525 {
6526 {0.2973, 0.1985, 0.3658, 0.1384},
6527 {0.4321, 0.2483, 0.0594, 0.2602},
6528 {0.2062, 0.2749, 0.3872, 0.1316},
6529 {0.2041, 0.2241, 0.4081, 0.1637}},
6530 {
6531 {0.2765, 0.2132, 0.2348, 0.2755},
6532 {0.2575, 0.2994, 0.1328, 0.3104},
6533 {0.3232, 0.1875, 0.2669, 0.2224},
6534 {0.1841, 0.3405, 0.1777, 0.2977}},
6535 {
6536 {0.2752, 0.2782, 0.2527, 0.1938},
6537 {0.2304, 0.3924, 0.0766, 0.3006},
6538 {0.2445, 0.2818, 0.1954, 0.2783},
6539 {0.1040, 0.3476, 0.3322, 0.2161}},
6540 {
6541 {0.2591, 0.2323, 0.4294, 0.0792},
6542 {0.3682, 0.2882, 0.1093, 0.2343},
6543 {0.2086, 0.2412, 0.4325, 0.1177},
6544 {0.1548, 0.2069, 0.5324, 0.1059}},
6545 {
6546 {0.3686, 0.2649, 0.1869, 0.1796},
6547 {0.2827, 0.2548, 0.1337, 0.3288},
6548 {0.3478, 0.2075, 0.1993, 0.2453},
6549 {0.1152, 0.2918, 0.2257, 0.3673}},
6550 {
6551 {0.1744, 0.2703, 0.3997, 0.1556},
6552 {0.2460, 0.4356, 0.1049, 0.2135},
6553 {0.1272, 0.3656, 0.3064, 0.2008},
6554 {0.0724, 0.3783, 0.3926, 0.1566}},
6555 {
6556 {0.1332, 0.2546, 0.4539, 0.1583},
6557 {0.4543, 0.2601, 0.0645, 0.2211},
6558 {0.3033, 0.2388, 0.3739, 0.0841},
6559 {0.1182, 0.1949, 0.5422, 0.1447}},
6560 {
6561 {0.3109, 0.2243, 0.2248, 0.2400},
6562 {0.3572, 0.2137, 0.2087, 0.2205},
6563 {0.3326, 0.2398, 0.2552, 0.1724},
6564 {0.2122, 0.2861, 0.3231, 0.1786}},
6565 {
6566 {0.1689, 0.2875, 0.3505, 0.1931},
6567 {0.1594, 0.4256, 0.0625, 0.3525},
6568 {0.1095, 0.4555, 0.1974, 0.2375},
6569 {0.0686, 0.3499, 0.4305, 0.1510}},
6570 {
6571 {0.1779, 0.3711, 0.3143, 0.1367},
6572 {0.3107, 0.3377, 0.1084, 0.2432},
6573 {0.2956, 0.2129, 0.3903, 0.1012},
6574 {0.1200, 0.1797, 0.5672, 0.1330}},
6575 {
6576 {0.2993, 0.2853, 0.2047, 0.2107},
6577 {0.2967, 0.1650, 0.1081, 0.4302},
6578 {0.2515, 0.2330, 0.2439, 0.2716},
6579 {0.1444, 0.2618, 0.2707, 0.3231}},
6580 {
6581 {0.2709, 0.2506, 0.3438, 0.1347},
6582 {0.2578, 0.3500, 0.0825, 0.3097},
6583 {0.1630, 0.2852, 0.3463, 0.2055},
6584 {0.0680, 0.2471, 0.4827, 0.2022}},
6585 {
6586 {0.2047, 0.1893, 0.4779, 0.1280},
6587 {0.3616, 0.2356, 0.0952, 0.3077},
6588 {0.2677, 0.2518, 0.3697, 0.1108},
6589 {0.2099, 0.2548, 0.3868, 0.1485}},
6590 {
6591 {0.2708, 0.2201, 0.2237, 0.2854},
6592 {0.2786, 0.1407, 0.1670, 0.4138},
6593 {0.3111, 0.2504, 0.2306, 0.2079},
6594 {0.1751, 0.2716, 0.1671, 0.3862}},
6595 {
6596 {0.2138, 0.3012, 0.3535, 0.1315},
6597 {0.2247, 0.3873, 0.0998, 0.2882},
6598 {0.1591, 0.3059, 0.1944, 0.3406},
6599 {0.1105, 0.3157, 0.3680, 0.2057}},
6600 {
6601 {0.3348, 0.1675, 0.3644, 0.1333},
6602 {0.3288, 0.2948, 0.1182, 0.2582},
6603 {0.2885, 0.2077, 0.3343, 0.1695},
6604 {0.1054, 0.2295, 0.5433, 0.1218}},
6605 {
6606 {0.3247, 0.2356, 0.2309, 0.2087},
6607 {0.2393, 0.1772, 0.1717, 0.4118},
6608 {0.3463, 0.2104, 0.1790, 0.2643},
6609 {0.1944, 0.3374, 0.1709, 0.2972}},
6610 {
6611 {0.1484, 0.2913, 0.3512, 0.2092},
6612 {0.2168, 0.3902, 0.1023, 0.2907},
6613 {0.1564, 0.3323, 0.3044, 0.2069},
6614 {0.0958, 0.2553, 0.4840, 0.1649}},
6615 {
6616 {0.2602, 0.1108, 0.4965, 0.1325},
6617 {0.2818, 0.3937, 0.0769, 0.2476},
6618 {0.2714, 0.2007, 0.3834, 0.1445},
6619 {0.1080, 0.2349, 0.4791, 0.1779}},
6620 {
6621 {0.2750, 0.2378, 0.2227, 0.2645},
6622 {0.1888, 0.2206, 0.2169, 0.3738},
6623 {0.3290, 0.2228, 0.2508, 0.1975},
6624 {0.1579, 0.2747, 0.2006, 0.3669}},
6625 {
6626 {0.1688, 0.2678, 0.4421, 0.1213},
6627 {0.2657, 0.3770, 0.1356, 0.2217},
6628 {0.2111, 0.2838, 0.2679, 0.2372},
6629 {0.0752, 0.3529, 0.4351, 0.1369}},
6630 {
6631 {0.1456, 0.2464, 0.5203, 0.0878},
6632 {0.4424, 0.2513, 0.0982, 0.2081},
6633 {0.2474, 0.2731, 0.3561, 0.1234},
6634 {0.2205, 0.2015, 0.3894, 0.1886}},
6635 {
6636 {0.3247, 0.2003, 0.1730, 0.3020},
6637 {0.2886, 0.2412, 0.0863, 0.3840},
6638 {0.2961, 0.1601, 0.3273, 0.2165},
6639 {0.2407, 0.2492, 0.1923, 0.3178}},
6640 {
6641 {0.1971, 0.3191, 0.2994, 0.1844},
6642 {0.2432, 0.4109, 0.0943, 0.2517},
6643 {0.1170, 0.3724, 0.2685, 0.2421},
6644 {0.0608, 0.4098, 0.3610, 0.1685}},
6645 {
6646 {0.2587, 0.1647, 0.4162, 0.1603},
6647 {0.3889, 0.2395, 0.1182, 0.2534},
6648 {0.2219, 0.1937, 0.3958, 0.1886},
6649 {0.1754, 0.1502, 0.5926, 0.0818}},
6650 {
6651 {0.3107, 0.3070, 0.2291, 0.1532},
6652 {0.2754, 0.2236, 0.1528, 0.3481},
6653 {0.3538, 0.1815, 0.2319, 0.2328},
6654 {0.2373, 0.2035, 0.1989, 0.3604}},
6655 {
6656 {0.1771, 0.3049, 0.3578, 0.1603},
6657 {0.2705, 0.3896, 0.1036, 0.2363},
6658 {0.2185, 0.2821, 0.2814, 0.2181},
6659 {0.0834, 0.2848, 0.3983, 0.2336}},
6660 {
6661 {0.2270, 0.1030, 0.5090, 0.1610},
6662 {0.3388, 0.3146, 0.1147, 0.2319},
6663 {0.2790, 0.1972, 0.3982, 0.1256},
6664 {0.1248, 0.2840, 0.4879, 0.1033}},
6665 {
6666 {0.3595, 0.1833, 0.2020, 0.2552},
6667 {0.3020, 0.2383, 0.0800, 0.3797},
6668 {0.3543, 0.1771, 0.2803, 0.1883},
6669 {0.3136, 0.2445, 0.1976, 0.2443}},
6670 {
6671 {0.1769, 0.2353, 0.3263, 0.2615},
6672 {0.2519, 0.4204, 0.0600, 0.2678},
6673 {0.1574, 0.3949, 0.2188, 0.2289},
6674 {0.0913, 0.3774, 0.3734, 0.1580}},
6675 {
6676 {0.1872, 0.1992, 0.4208, 0.1929},
6677 {0.3484, 0.3226, 0.1043, 0.2247},
6678 {0.2319, 0.2098, 0.4143, 0.1440},
6679 {0.1173, 0.1616, 0.5648, 0.1563}},
6680 {
6681 {0.3113, 0.2408, 0.2683, 0.1796},
6682 {0.3692, 0.2641, 0.0955, 0.2712},
6683 {0.3333, 0.2173, 0.2418, 0.2076},
6684 {0.1186, 0.2579, 0.2493, 0.3742}},
6685 {
6686 {0.2583, 0.1826, 0.4047, 0.1544},
6687 {0.2720, 0.3393, 0.0911, 0.2976},
6688 {0.1721, 0.3043, 0.2376, 0.2860},
6689 {0.0955, 0.3423, 0.4014, 0.1608}},
6690 {
6691 {0.1735, 0.2125, 0.4303, 0.1837},
6692 {0.3861, 0.2668, 0.1063, 0.2408},
6693 {0.3246, 0.2295, 0.3374, 0.1085},
6694 {0.0973, 0.2239, 0.5212, 0.1576}},
6695 {
6696 {0.2846, 0.1555, 0.3247, 0.2352},
6697 {0.3128, 0.1817, 0.1118, 0.3937},
6698 {0.3361, 0.2195, 0.2558, 0.1886},
6699 {0.2494, 0.2261, 0.2315, 0.2929}},
6700 {
6701 {0.1342, 0.3224, 0.3845, 0.1589},
6702 {0.2091, 0.3957, 0.0875, 0.3078},
6703 {0.1310, 0.3668, 0.2593, 0.2430},
6704 {0.0471, 0.2652, 0.5072, 0.1804}},
6705 {
6706 {0.3097, 0.2310, 0.3635, 0.0957},
6707 {0.3301, 0.2562, 0.1476, 0.2661},
6708 {0.1672, 0.3344, 0.3678, 0.1306},
6709 {0.1517, 0.2349, 0.4647, 0.1487}},
6710 {
6711 {0.3351, 0.2389, 0.1649, 0.2611},
6712 {0.3378, 0.1671, 0.1443, 0.3508},
6713 {0.3508, 0.1625, 0.3052, 0.1814},
6714 {0.1434, 0.2890, 0.1959, 0.3717}},
6715 {
6716 {0.2759, 0.2268, 0.3371, 0.1603},
6717 {0.2082, 0.4943, 0.0721, 0.2254},
6718 {0.1503, 0.3489, 0.2324, 0.2685},
6719 {0.0944, 0.3288, 0.3672, 0.2097}},
6720 {
6721 {0.1908, 0.1533, 0.4183, 0.2376},
6722 {0.3316, 0.3032, 0.0767, 0.2885},
6723 {0.1554, 0.2868, 0.3754, 0.1824},
6724 {0.0991, 0.2695, 0.5326, 0.0988}},
6725 {
6726 {0.3551, 0.1831, 0.2783, 0.1835},
6727 {0.2863, 0.2467, 0.1577, 0.3093},
6728 {0.2656, 0.2236, 0.2389, 0.2718},
6729 {0.1891, 0.3065, 0.2335, 0.2709}}
6730 },
6731 { /* Splice_Site: F0_GT; Species: Rat */
6732 {
6733 {0.2487, 0.2487, 0.2487, 0.2487},
6734 {0.2795, 0.2795, 0.2795, 0.2795},
6735 {0.3412, 0.3412, 0.3412, 0.3412},
6736 {0.1305, 0.1305, 0.1305, 0.1305}},
6737 {
6738 {0.1533, 0.2131, 0.3608, 0.2728},
6739 {0.4121, 0.1373, 0.0720, 0.3786},
6740 {0.3952, 0.1687, 0.2600, 0.1761},
6741 {0.1965, 0.1467, 0.0970, 0.5598}},
6742 {
6743 {0.0406, 0.3461, 0.3869, 0.2264},
6744 {0.1545, 0.4247, 0.0737, 0.3471},
6745 {0.1455, 0.3037, 0.2779, 0.2729},
6746 {0.1091, 0.4233, 0.2747, 0.1929}},
6747 {
6748 {0.1272, 0.2533, 0.3652, 0.2542},
6749 {0.2626, 0.2929, 0.1762, 0.2683},
6750 {0.2312, 0.1686, 0.4642, 0.1360},
6751 {0.1295, 0.2637, 0.4491, 0.1577}},
6752 {
6753 {0.2497, 0.1512, 0.1871, 0.4121},
6754 {0.3424, 0.2400, 0.0823, 0.3354},
6755 {0.1919, 0.2251, 0.3029, 0.2801},
6756 {0.1272, 0.3198, 0.1904, 0.3626}},
6757 {
6758 {0.1111, 0.2237, 0.3706, 0.2946},
6759 {0.2509, 0.3563, 0.1665, 0.2264},
6760 {0.1270, 0.3188, 0.2937, 0.2606},
6761 {0.0557, 0.3887, 0.3905, 0.1651}},
6762 {
6763 {0.3491, 0.2460, 0.3041, 0.1008},
6764 {0.2345, 0.3889, 0.0550, 0.3216},
6765 {0.2015, 0.2499, 0.3813, 0.1673},
6766 {0.2251, 0.1929, 0.4366, 0.1453}},
6767 {
6768 {0.2410, 0.1950, 0.3216, 0.2424},
6769 {0.3273, 0.2780, 0.2192, 0.1755},
6770 {0.3551, 0.1570, 0.1616, 0.3263},
6771 {0.1610, 0.2211, 0.2300, 0.3880}},
6772 {
6773 {0.2269, 0.2772, 0.3081, 0.1878},
6774 {0.1185, 0.4225, 0.0627, 0.3962},
6775 {0.0542, 0.4784, 0.2812, 0.1862},
6776 {0.1167, 0.3721, 0.2286, 0.2826}},
6777 {
6778 {0.4251, 0.2385, 0.2898, 0.0466},
6779 {0.1639, 0.4066, 0.1248, 0.3047},
6780 {0.4632, 0.1631, 0.3737, 0.0000},
6781 {0.0514, 0.2470, 0.3736, 0.3281}},
6782 {
6783 {0.2952, 0.1583, 0.2734, 0.2730},
6784 {0.4070, 0.1105, 0.0626, 0.4198},
6785 {0.2928, 0.2254, 0.2157, 0.2661},
6786 {0.1892, 0.1565, 0.3039, 0.3504}},
6787 {
6788 {0.1245, 0.3855, 0.3823, 0.1077},
6789 {0.3942, 0.4042, 0.1635, 0.0381},
6790 {0.1242, 0.4086, 0.2495, 0.2177},
6791 {0.0971, 0.2150, 0.4098, 0.2780}},
6792 {
6793 {0.1621, 0.2333, 0.4451, 0.1595},
6794 {0.3260, 0.4056, 0.0554, 0.2130},
6795 {0.1532, 0.2559, 0.4375, 0.1534},
6796 {0.0780, 0.2311, 0.5819, 0.1091}},
6797 {
6798 {0.4515, 0.1284, 0.1287, 0.2915},
6799 {0.3062, 0.3092, 0.0433, 0.3413},
6800 {0.3474, 0.2550, 0.2095, 0.1881},
6801 {0.3097, 0.2734, 0.1551, 0.2617}},
6802 {
6803 {0.1856, 0.2800, 0.4070, 0.1274},
6804 {0.1838, 0.3419, 0.2333, 0.2410},
6805 {0.1470, 0.2303, 0.3405, 0.2823},
6806 {0.0904, 0.3134, 0.4067, 0.1895}},
6807 {
6808 {0.1628, 0.0830, 0.6313, 0.1229},
6809 {0.3227, 0.2448, 0.1503, 0.2822},
6810 {0.2727, 0.2551, 0.3813, 0.0909},
6811 {0.1776, 0.1971, 0.4593, 0.1659}},
6812 {
6813 {0.3314, 0.2629, 0.0790, 0.3268},
6814 {0.2060, 0.3360, 0.1844, 0.2737},
6815 {0.3652, 0.2270, 0.1955, 0.2123},
6816 {0.1483, 0.1562, 0.3073, 0.3881}},
6817 {
6818 {0.1324, 0.2954, 0.3540, 0.2182},
6819 {0.2138, 0.4943, 0.1100, 0.1820},
6820 {0.0727, 0.3275, 0.3544, 0.2453},
6821 {0.0933, 0.3696, 0.2685, 0.2685}},
6822 {
6823 {0.2569, 0.1919, 0.5019, 0.0494},
6824 {0.3338, 0.2651, 0.1357, 0.2654},
6825 {0.3112, 0.1640, 0.3254, 0.1994},
6826 {0.1088, 0.3063, 0.4144, 0.1704}},
6827 {
6828 {0.3141, 0.2691, 0.1284, 0.2884},
6829 {0.1598, 0.3516, 0.0813, 0.4072},
6830 {0.3653, 0.1784, 0.1646, 0.2917},
6831 {0.0982, 0.4009, 0.2024, 0.2985}},
6832 {
6833 {0.0248, 0.3347, 0.4641, 0.1763},
6834 {0.2287, 0.4081, 0.0915, 0.2717},
6835 {0.2749, 0.3160, 0.2778, 0.1313},
6836 {0.1210, 0.2596, 0.4514, 0.1680}},
6837 {
6838 {0.0000, 0.3944, 0.5181, 0.0875},
6839 {0.2954, 0.2688, 0.1203, 0.3155},
6840 {0.1974, 0.2681, 0.4389, 0.0956},
6841 {0.1364, 0.1655, 0.4304, 0.2677}},
6842 {
6843 {0.2052, 0.2118, 0.2872, 0.2958},
6844 {0.3133, 0.1696, 0.1439, 0.3732},
6845 {0.3756, 0.2429, 0.0925, 0.2889},
6846 {0.2545, 0.1972, 0.2306, 0.3176}},
6847 {
6848 {0.0846, 0.3606, 0.3422, 0.2126},
6849 {0.3484, 0.3971, 0.0314, 0.2231},
6850 {0.1488, 0.3038, 0.4672, 0.0802},
6851 {0.1593, 0.1931, 0.4836, 0.1641}},
6852 {
6853 {0.1375, 0.2555, 0.4166, 0.1903},
6854 {0.2674, 0.3971, 0.0617, 0.2738},
6855 {0.2273, 0.2466, 0.3379, 0.1883},
6856 {0.1485, 0.3406, 0.4028, 0.1082}},
6857 {
6858 {0.4788, 0.2469, 0.1543, 0.1201},
6859 {0.2294, 0.2522, 0.1855, 0.3329},
6860 {0.3026, 0.1909, 0.2969, 0.2097},
6861 {0.2155, 0.2288, 0.1649, 0.3908}},
6862 {
6863 {0.1284, 0.2951, 0.4334, 0.1432},
6864 {0.2330, 0.4255, 0.0842, 0.2574},
6865 {0.0938, 0.3459, 0.3131, 0.2472},
6866 {0.1257, 0.3172, 0.3639, 0.1932}},
6867 {
6868 {0.0921, 0.0941, 0.6349, 0.1789},
6869 {0.2453, 0.3763, 0.1870, 0.1914},
6870 {0.2709, 0.2288, 0.4166, 0.0838},
6871 {0.0682, 0.3055, 0.4673, 0.1589}},
6872 {
6873 {0.4035, 0.1399, 0.1705, 0.2861},
6874 {0.2737, 0.2087, 0.2090, 0.3086},
6875 {0.4004, 0.2080, 0.2187, 0.1729},
6876 {0.1731, 0.3983, 0.1674, 0.2612}},
6877 {
6878 {0.1337, 0.2272, 0.5275, 0.1115},
6879 {0.2339, 0.3262, 0.1156, 0.3243},
6880 {0.1305, 0.3511, 0.2905, 0.2280},
6881 {0.0499, 0.3148, 0.4473, 0.1880}},
6882 {
6883 {0.1398, 0.2235, 0.2543, 0.3824},
6884 {0.2779, 0.2873, 0.1544, 0.2804},
6885 {0.2604, 0.2816, 0.3181, 0.1398},
6886 {0.0643, 0.3549, 0.4813, 0.0995}},
6887 {
6888 {0.2733, 0.3411, 0.0906, 0.2950},
6889 {0.2617, 0.1843, 0.1354, 0.4186},
6890 {0.3805, 0.2265, 0.1712, 0.2218},
6891 {0.1848, 0.2208, 0.2379, 0.3565}},
6892 {
6893 {0.1373, 0.3609, 0.3416, 0.1602},
6894 {0.2152, 0.3374, 0.0842, 0.3631},
6895 {0.1647, 0.2859, 0.3551, 0.1943},
6896 {0.1206, 0.2758, 0.4644, 0.1392}},
6897 {
6898 {0.1262, 0.2898, 0.3801, 0.2039},
6899 {0.2402, 0.3926, 0.1814, 0.1858},
6900 {0.2994, 0.2381, 0.4216, 0.0409},
6901 {0.1187, 0.3094, 0.4093, 0.1626}},
6902 {
6903 {0.3266, 0.2271, 0.1534, 0.2930},
6904 {0.2558, 0.2141, 0.1654, 0.3648},
6905 {0.4034, 0.1542, 0.1548, 0.2876},
6906 {0.1452, 0.1410, 0.3324, 0.3814}},
6907 {
6908 {0.0633, 0.2945, 0.4677, 0.1745},
6909 {0.2441, 0.4048, 0.0700, 0.2811},
6910 {0.0737, 0.4342, 0.3549, 0.1372},
6911 {0.0352, 0.2319, 0.5560, 0.1769}},
6912 {
6913 {0.0675, 0.2090, 0.6510, 0.0725},
6914 {0.3136, 0.2653, 0.1595, 0.2616},
6915 {0.2580, 0.2927, 0.3367, 0.1126},
6916 {0.1296, 0.2806, 0.5221, 0.0677}},
6917 {
6918 {0.3804, 0.2410, 0.1893, 0.1892},
6919 {0.3078, 0.2379, 0.1405, 0.3138},
6920 {0.3554, 0.1139, 0.3079, 0.2228},
6921 {0.3068, 0.3427, 0.1728, 0.1777}},
6922 {
6923 {0.1513, 0.2830, 0.3757, 0.1900},
6924 {0.2074, 0.4504, 0.0954, 0.2468},
6925 {0.1535, 0.3627, 0.2996, 0.1842},
6926 {0.1408, 0.2583, 0.4944, 0.1065}},
6927 {
6928 {0.2431, 0.3132, 0.2838, 0.1599},
6929 {0.3250, 0.2171, 0.1185, 0.3394},
6930 {0.2124, 0.3745, 0.3528, 0.0603},
6931 {0.0719, 0.2097, 0.5765, 0.1420}},
6932 {
6933 {0.3227, 0.2839, 0.1698, 0.2236},
6934 {0.2956, 0.2236, 0.1389, 0.3419},
6935 {0.5132, 0.1890, 0.2121, 0.0857},
6936 {0.1082, 0.2153, 0.2180, 0.4585}},
6937 {
6938 {0.2092, 0.2296, 0.4182, 0.1429},
6939 {0.1712, 0.4627, 0.1398, 0.2264},
6940 {0.2401, 0.2486, 0.3656, 0.1458},
6941 {0.0745, 0.2481, 0.2809, 0.3966}},
6942 {
6943 {0.2211, 0.2218, 0.4426, 0.1145},
6944 {0.4182, 0.2909, 0.0656, 0.2253},
6945 {0.1676, 0.2474, 0.5213, 0.0638},
6946 {0.2342, 0.2925, 0.3390, 0.1343}},
6947 {
6948 {0.3426, 0.2467, 0.1755, 0.2352},
6949 {0.2979, 0.1705, 0.1678, 0.3637},
6950 {0.4215, 0.1571, 0.2712, 0.1503},
6951 {0.1871, 0.0939, 0.3942, 0.3248}},
6952 {
6953 {0.0927, 0.3994, 0.4100, 0.0979},
6954 {0.2200, 0.4468, 0.0401, 0.2931},
6955 {0.0555, 0.4482, 0.3030, 0.1933},
6956 {0.1475, 0.4537, 0.2969, 0.1019}},
6957 {
6958 {0.1593, 0.3101, 0.4786, 0.0519},
6959 {0.3703, 0.2891, 0.1176, 0.2230},
6960 {0.2580, 0.3164, 0.2912, 0.1344},
6961 {0.0866, 0.2799, 0.5045, 0.1290}},
6962 {
6963 {0.3168, 0.3522, 0.1408, 0.1902},
6964 {0.2855, 0.2864, 0.1065, 0.3216},
6965 {0.5015, 0.1212, 0.2372, 0.1401},
6966 {0.2417, 0.1641, 0.3094, 0.2848}},
6967 {
6968 {0.1663, 0.3942, 0.3838, 0.0557},
6969 {0.2160, 0.5142, 0.0835, 0.1863},
6970 {0.1732, 0.3448, 0.2035, 0.2784},
6971 {0.2020, 0.2959, 0.3882, 0.1138}},
6972 {
6973 {0.3820, 0.2773, 0.2722, 0.0686},
6974 {0.3212, 0.3349, 0.0846, 0.2593},
6975 {0.3049, 0.2371, 0.3161, 0.1418},
6976 {0.1835, 0.3155, 0.4115, 0.0895}},
6977 {
6978 {0.6911, 0.1028, 0.0628, 0.1433},
6979 {0.4246, 0.0457, 0.0481, 0.4815},
6980 {0.4775, 0.1388, 0.1398, 0.2438},
6981 {0.0000, 0.2009, 0.4956, 0.3035}},
6982 {
6983 {0.0000, 0.0000, 1.0000, 0.0000},
6984 {0.0000, 0.0000, 1.0000, 0.0000},
6985 {0.0000, 0.0000, 1.0000, 0.0000},
6986 {0.0000, 0.0000, 1.0000, 0.0000}},
6987 {
6988 {0.0000, 0.0000, 0.0000, 0.0000},
6989 {0.0000, 0.0000, 0.0000, 0.0000},
6990 {0.0000, 0.0000, 0.0000, 1.0000},
6991 {0.0000, 0.0000, 0.0000, 0.0000}},
6992 {
6993 {0.0000, 0.0000, 0.0000, 0.0000},
6994 {0.0000, 0.0000, 0.0000, 0.0000},
6995 {0.0000, 0.0000, 0.0000, 0.0000},
6996 {0.1720, 0.2852, 0.1892, 0.3536}},
6997 {
6998 {0.0000, 0.7732, 0.0000, 0.2268},
6999 {0.2254, 0.3626, 0.0932, 0.3188},
7000 {0.0000, 0.2760, 0.5218, 0.2023},
7001 {0.0752, 0.4486, 0.2355, 0.2407}},
7002 {
7003 {0.0000, 0.3618, 0.5673, 0.0709},
7004 {0.2714, 0.2873, 0.1180, 0.3233},
7005 {0.2514, 0.2743, 0.4116, 0.0627},
7006 {0.1279, 0.2579, 0.5084, 0.1058}},
7007 {
7008 {0.2784, 0.2061, 0.1916, 0.3239},
7009 {0.2102, 0.2281, 0.1304, 0.4312},
7010 {0.4681, 0.3101, 0.1013, 0.1205},
7011 {0.1386, 0.1968, 0.3593, 0.3054}},
7012 {
7013 {0.1335, 0.2929, 0.3106, 0.2630},
7014 {0.2624, 0.2603, 0.2673, 0.2099},
7015 {0.1480, 0.3505, 0.2830, 0.2185},
7016 {0.0906, 0.2954, 0.4956, 0.1185}},
7017 {
7018 {0.2523, 0.0836, 0.4882, 0.1759},
7019 {0.4194, 0.1948, 0.1067, 0.2791},
7020 {0.1491, 0.3326, 0.3877, 0.1306},
7021 {0.1330, 0.0960, 0.5156, 0.2554}},
7022 {
7023 {0.3718, 0.1352, 0.2486, 0.2444},
7024 {0.2474, 0.1919, 0.1591, 0.4016},
7025 {0.3658, 0.2697, 0.1824, 0.1821},
7026 {0.2085, 0.1644, 0.2783, 0.3487}},
7027 {
7028 {0.0582, 0.2581, 0.4532, 0.2305},
7029 {0.1668, 0.3337, 0.1922, 0.3073},
7030 {0.1519, 0.3880, 0.2439, 0.2161},
7031 {0.0472, 0.2625, 0.4848, 0.2055}},
7032 {
7033 {0.1945, 0.2672, 0.4779, 0.0604},
7034 {0.4563, 0.2263, 0.1475, 0.1699},
7035 {0.2303, 0.2807, 0.3519, 0.1371},
7036 {0.1620, 0.1988, 0.4419, 0.1973}},
7037 {
7038 {0.3467, 0.4046, 0.1583, 0.0904},
7039 {0.3945, 0.1618, 0.1568, 0.2869},
7040 {0.2394, 0.2587, 0.2018, 0.3001},
7041 {0.1639, 0.3765, 0.2117, 0.2479}},
7042 {
7043 {0.0432, 0.3023, 0.4758, 0.1786},
7044 {0.1503, 0.3562, 0.2251, 0.2684},
7045 {0.1740, 0.3632, 0.3943, 0.0685},
7046 {0.0838, 0.3099, 0.3327, 0.2736}},
7047 {
7048 {0.1747, 0.3581, 0.3538, 0.1134},
7049 {0.3958, 0.1768, 0.1383, 0.2892},
7050 {0.2124, 0.3154, 0.3284, 0.1438},
7051 {0.1224, 0.3082, 0.3459, 0.2235}},
7052 {
7053 {0.4582, 0.0699, 0.2654, 0.2065},
7054 {0.2369, 0.2123, 0.1909, 0.3599},
7055 {0.2413, 0.3114, 0.1620, 0.2853},
7056 {0.2824, 0.2207, 0.2234, 0.2735}},
7057 {
7058 {0.0646, 0.1724, 0.5713, 0.1917},
7059 {0.0000, 0.4884, 0.0938, 0.4178},
7060 {0.1567, 0.3544, 0.1587, 0.3302},
7061 {0.2129, 0.2199, 0.5233, 0.0439}},
7062 {
7063 {0.2929, 0.1832, 0.4667, 0.0573},
7064 {0.4461, 0.1571, 0.0860, 0.3109},
7065 {0.3402, 0.1752, 0.4507, 0.0339},
7066 {0.1156, 0.2312, 0.4559, 0.1973}},
7067 {
7068 {0.2617, 0.2537, 0.2282, 0.2563},
7069 {0.1789, 0.2476, 0.2875, 0.2860},
7070 {0.3515, 0.1500, 0.1675, 0.3310},
7071 {0.2507, 0.3329, 0.0833, 0.3331}},
7072 {
7073 {0.1909, 0.2966, 0.3952, 0.1172},
7074 {0.2927, 0.3158, 0.0837, 0.3077},
7075 {0.1279, 0.4075, 0.2360, 0.2286},
7076 {0.1685, 0.3463, 0.2786, 0.2066}},
7077 {
7078 {0.1973, 0.1969, 0.4389, 0.1668},
7079 {0.3420, 0.2458, 0.1199, 0.2922},
7080 {0.2801, 0.3499, 0.2965, 0.0735},
7081 {0.0918, 0.3029, 0.3867, 0.2187}},
7082 {
7083 {0.4106, 0.2153, 0.2151, 0.1590},
7084 {0.3201, 0.2388, 0.1187, 0.3224},
7085 {0.2962, 0.4038, 0.2046, 0.0954},
7086 {0.2584, 0.3108, 0.1343, 0.2966}},
7087 {
7088 {0.0956, 0.2514, 0.3148, 0.3382},
7089 {0.1911, 0.3467, 0.1078, 0.3544},
7090 {0.1970, 0.3131, 0.3016, 0.1883},
7091 {0.0595, 0.3379, 0.4196, 0.1830}},
7092 {
7093 {0.2005, 0.3011, 0.3975, 0.1009},
7094 {0.3385, 0.3684, 0.1102, 0.1829},
7095 {0.1904, 0.2984, 0.3719, 0.1394},
7096 {0.1389, 0.1146, 0.6327, 0.1138}},
7097 {
7098 {0.3841, 0.1760, 0.1477, 0.2923},
7099 {0.2841, 0.2709, 0.0987, 0.3463},
7100 {0.3472, 0.2419, 0.2661, 0.1447},
7101 {0.1298, 0.1793, 0.2387, 0.4521}},
7102 {
7103 {0.1611, 0.2982, 0.4567, 0.0840},
7104 {0.1453, 0.2900, 0.0598, 0.5048},
7105 {0.1423, 0.3795, 0.2061, 0.2721},
7106 {0.0469, 0.3740, 0.3912, 0.1878}},
7107 {
7108 {0.2537, 0.2156, 0.4248, 0.1059},
7109 {0.3167, 0.2771, 0.1758, 0.2304},
7110 {0.2358, 0.2170, 0.3171, 0.2301},
7111 {0.1535, 0.1861, 0.4718, 0.1886}},
7112 {
7113 {0.4686, 0.1876, 0.2113, 0.1325},
7114 {0.3990, 0.0886, 0.2568, 0.2556},
7115 {0.2921, 0.2515, 0.1600, 0.2964},
7116 {0.1846, 0.3481, 0.1956, 0.2718}},
7117 {
7118 {0.1504, 0.3494, 0.4035, 0.0967},
7119 {0.1447, 0.4962, 0.2404, 0.1187},
7120 {0.1834, 0.3246, 0.3570, 0.1350},
7121 {0.0534, 0.3716, 0.4103, 0.1648}},
7122 {
7123 {0.2785, 0.3813, 0.2871, 0.0531},
7124 {0.3862, 0.2917, 0.1016, 0.2205},
7125 {0.2549, 0.2523, 0.4037, 0.0891},
7126 {0.1609, 0.3121, 0.4789, 0.0481}},
7127 {
7128 {0.2851, 0.2578, 0.2537, 0.2034},
7129 {0.2852, 0.2903, 0.0906, 0.3339},
7130 {0.4111, 0.1339, 0.2210, 0.2340},
7131 {0.1449, 0.3560, 0.2490, 0.2501}},
7132 {
7133 {0.1804, 0.1837, 0.4414, 0.1945},
7134 {0.3692, 0.3199, 0.1316, 0.1793},
7135 {0.2224, 0.1900, 0.1671, 0.4204},
7136 {0.0497, 0.2893, 0.4353, 0.2257}},
7137 {
7138 {0.2833, 0.1350, 0.4540, 0.1277},
7139 {0.3192, 0.2857, 0.1299, 0.2651},
7140 {0.3545, 0.0894, 0.4496, 0.1064},
7141 {0.0257, 0.3122, 0.5587, 0.1034}},
7142 {
7143 {0.3335, 0.1263, 0.3374, 0.2029},
7144 {0.4173, 0.1626, 0.0916, 0.3284},
7145 {0.3796, 0.1946, 0.2950, 0.1309},
7146 {0.1779, 0.2160, 0.3591, 0.2470}},
7147 {
7148 {0.1802, 0.2013, 0.4904, 0.1281},
7149 {0.2282, 0.2535, 0.0742, 0.4441},
7150 {0.1882, 0.3104, 0.3596, 0.1417},
7151 {0.1619, 0.4058, 0.2807, 0.1516}},
7152 {
7153 {0.3783, 0.1415, 0.1998, 0.2804},
7154 {0.2882, 0.3532, 0.1776, 0.1809},
7155 {0.2635, 0.2514, 0.3654, 0.1197},
7156 {0.1772, 0.1946, 0.5613, 0.0668}},
7157 {
7158 {0.3248, 0.1677, 0.2528, 0.2546},
7159 {0.4171, 0.2400, 0.1864, 0.1565},
7160 {0.3821, 0.1967, 0.2234, 0.1978},
7161 {0.1736, 0.1624, 0.2874, 0.3767}},
7162 {
7163 {0.1472, 0.3214, 0.3547, 0.1768},
7164 {0.1995, 0.4042, 0.0667, 0.3297},
7165 {0.0823, 0.4521, 0.3283, 0.1373},
7166 {0.1394, 0.3406, 0.3842, 0.1357}},
7167 {
7168 {0.3229, 0.2678, 0.3170, 0.0924},
7169 {0.3144, 0.2882, 0.1405, 0.2569},
7170 {0.4071, 0.2538, 0.3186, 0.0205},
7171 {0.2078, 0.1055, 0.5509, 0.1358}},
7172 {
7173 {0.3422, 0.1366, 0.2194, 0.3019},
7174 {0.3249, 0.1863, 0.0542, 0.4345},
7175 {0.3121, 0.2122, 0.2620, 0.2137},
7176 {0.0503, 0.1849, 0.2777, 0.4872}},
7177 {
7178 {0.2434, 0.2562, 0.4073, 0.0931},
7179 {0.2161, 0.4997, 0.0361, 0.2481},
7180 {0.2297, 0.2255, 0.3229, 0.2219},
7181 {0.0901, 0.3870, 0.4092, 0.1137}},
7182 {
7183 {0.2403, 0.1370, 0.4542, 0.1684},
7184 {0.2280, 0.2874, 0.1182, 0.3664},
7185 {0.2554, 0.3032, 0.3211, 0.1203},
7186 {0.2982, 0.2926, 0.3668, 0.0423}},
7187 {
7188 {0.3395, 0.2786, 0.1774, 0.2045},
7189 {0.2164, 0.1317, 0.2425, 0.4094},
7190 {0.2934, 0.2688, 0.2039, 0.2339},
7191 {0.1653, 0.3220, 0.3813, 0.1314}},
7192 {
7193 {0.0489, 0.2292, 0.5987, 0.1232},
7194 {0.1602, 0.4966, 0.0769, 0.2664},
7195 {0.2109, 0.1615, 0.3890, 0.2385},
7196 {0.0973, 0.4325, 0.2896, 0.1806}},
7197 {
7198 {0.2624, 0.1411, 0.4525, 0.1440},
7199 {0.3341, 0.2952, 0.1168, 0.2539},
7200 {0.3049, 0.2137, 0.2578, 0.2236},
7201 {0.2271, 0.1939, 0.4847, 0.0943}},
7202 {
7203 {0.4017, 0.2674, 0.1983, 0.1326},
7204 {0.3969, 0.3424, 0.0846, 0.1761},
7205 {0.3002, 0.2137, 0.2180, 0.2681},
7206 {0.1868, 0.2552, 0.2281, 0.3299}},
7207 {
7208 {0.1785, 0.3372, 0.3296, 0.1547},
7209 {0.3150, 0.3869, 0.0737, 0.2244},
7210 {0.1687, 0.3491, 0.2762, 0.2060},
7211 {0.1165, 0.4187, 0.3485, 0.1164}},
7212 {
7213 {0.1998, 0.1259, 0.4469, 0.2274},
7214 {0.3467, 0.3550, 0.0711, 0.2272},
7215 {0.2035, 0.3231, 0.3996, 0.0738},
7216 {0.1476, 0.1845, 0.5545, 0.1135}},
7217 {
7218 {0.3150, 0.3074, 0.1643, 0.2133},
7219 {0.2142, 0.2356, 0.0735, 0.4767},
7220 {0.2990, 0.2517, 0.3435, 0.1058},
7221 {0.2414, 0.2264, 0.2679, 0.2642}},
7222 {
7223 {0.2379, 0.3409, 0.2024, 0.2188},
7224 {0.2251, 0.4238, 0.0739, 0.2772},
7225 {0.1569, 0.3652, 0.3000, 0.1778},
7226 {0.0000, 0.4222, 0.4216, 0.1562}},
7227 {
7228 {0.3752, 0.2569, 0.3279, 0.0400},
7229 {0.3177, 0.2714, 0.2224, 0.1885},
7230 {0.1558, 0.2807, 0.4064, 0.1571},
7231 {0.1284, 0.2102, 0.5356, 0.1258}},
7232 {
7233 {0.3669, 0.2397, 0.1830, 0.2105},
7234 {0.3265, 0.3258, 0.0968, 0.2509},
7235 {0.3190, 0.2150, 0.2405, 0.2254},
7236 {0.0899, 0.2595, 0.3855, 0.2652}},
7237 {
7238 {0.2005, 0.2209, 0.3658, 0.2129},
7239 {0.4029, 0.2268, 0.0946, 0.2757},
7240 {0.1819, 0.1548, 0.4762, 0.1871},
7241 {0.0821, 0.3855, 0.4214, 0.1110}}
7242 },
7243 { /* Splice_Site: Fi_GT; Species: Rat */
7244 {
7245 {0.2136, 0.2136, 0.2136, 0.2136},
7246 {0.2710, 0.2710, 0.2710, 0.2710},
7247 {0.2764, 0.2764, 0.2764, 0.2764},
7248 {0.2390, 0.2390, 0.2390, 0.2390}},
7249 {
7250 {0.3054, 0.2521, 0.2431, 0.1994},
7251 {0.3385, 0.2953, 0.1040, 0.2622},
7252 {0.2151, 0.2656, 0.3129, 0.2065},
7253 {0.1742, 0.1739, 0.3907, 0.2612}},
7254 {
7255 {0.3475, 0.2467, 0.2807, 0.1251},
7256 {0.2602, 0.2982, 0.0815, 0.3600},
7257 {0.2033, 0.1541, 0.4282, 0.2144},
7258 {0.2536, 0.1638, 0.3890, 0.1935}},
7259 {
7260 {0.2897, 0.1642, 0.2793, 0.2668},
7261 {0.4578, 0.2222, 0.0610, 0.2590},
7262 {0.2853, 0.1819, 0.3731, 0.1597},
7263 {0.1511, 0.1695, 0.3850, 0.2944}},
7264 {
7265 {0.3014, 0.1987, 0.2937, 0.2061},
7266 {0.2992, 0.2607, 0.0702, 0.3699},
7267 {0.2842, 0.1913, 0.3199, 0.2046},
7268 {0.2367, 0.2118, 0.3251, 0.2264}},
7269 {
7270 {0.3247, 0.1796, 0.2865, 0.2092},
7271 {0.2521, 0.3342, 0.0581, 0.3556},
7272 {0.2133, 0.2449, 0.3280, 0.2138},
7273 {0.2327, 0.2036, 0.2793, 0.2844}},
7274 {
7275 {0.3289, 0.2185, 0.2826, 0.1699},
7276 {0.3049, 0.3080, 0.0802, 0.3069},
7277 {0.2468, 0.2099, 0.3186, 0.2247},
7278 {0.1916, 0.2378, 0.2866, 0.2840}},
7279 {
7280 {0.3288, 0.1394, 0.3273, 0.2045},
7281 {0.3826, 0.2276, 0.1210, 0.2688},
7282 {0.2500, 0.2885, 0.2340, 0.2275},
7283 {0.1974, 0.2648, 0.2822, 0.2556}},
7284 {
7285 {0.2326, 0.1979, 0.3793, 0.1901},
7286 {0.3215, 0.2798, 0.0671, 0.3316},
7287 {0.2653, 0.1926, 0.3101, 0.2321},
7288 {0.1863, 0.2273, 0.2363, 0.3501}},
7289 {
7290 {0.2176, 0.1738, 0.4276, 0.1811},
7291 {0.2459, 0.3233, 0.0395, 0.3913},
7292 {0.2218, 0.1748, 0.3388, 0.2646},
7293 {0.1631, 0.1991, 0.3345, 0.3032}},
7294 {
7295 {0.2550, 0.1731, 0.3151, 0.2569},
7296 {0.3044, 0.2915, 0.0477, 0.3564},
7297 {0.2207, 0.1928, 0.3019, 0.2846},
7298 {0.1698, 0.2303, 0.3116, 0.2883}},
7299 {
7300 {0.2841, 0.1452, 0.3046, 0.2661},
7301 {0.2997, 0.2227, 0.1030, 0.3746},
7302 {0.2349, 0.1962, 0.3069, 0.2620},
7303 {0.1804, 0.2570, 0.3396, 0.2229}},
7304 {
7305 {0.2520, 0.2258, 0.3421, 0.1801},
7306 {0.3230, 0.3730, 0.0387, 0.2653},
7307 {0.2089, 0.2722, 0.2813, 0.2375},
7308 {0.1703, 0.2085, 0.3716, 0.2495}},
7309 {
7310 {0.3089, 0.2015, 0.3452, 0.1444},
7311 {0.3346, 0.2447, 0.0717, 0.3490},
7312 {0.3272, 0.2571, 0.2283, 0.1874},
7313 {0.1885, 0.2810, 0.2453, 0.2852}},
7314 {
7315 {0.1700, 0.2514, 0.3710, 0.2076},
7316 {0.2911, 0.3484, 0.0681, 0.2924},
7317 {0.2973, 0.2268, 0.2575, 0.2184},
7318 {0.2328, 0.2158, 0.2963, 0.2552}},
7319 {
7320 {0.2286, 0.2346, 0.3122, 0.2246},
7321 {0.2885, 0.3076, 0.0890, 0.3150},
7322 {0.3001, 0.1267, 0.3222, 0.2510},
7323 {0.1972, 0.2065, 0.2984, 0.2978}},
7324 {
7325 {0.2745, 0.1466, 0.3281, 0.2508},
7326 {0.3488, 0.2196, 0.0565, 0.3751},
7327 {0.3105, 0.1867, 0.3368, 0.1660},
7328 {0.1824, 0.2513, 0.3470, 0.2192}},
7329 {
7330 {0.2570, 0.1207, 0.3242, 0.2980},
7331 {0.2368, 0.3199, 0.1165, 0.3268},
7332 {0.2578, 0.1923, 0.3625, 0.1874},
7333 {0.1903, 0.1629, 0.3057, 0.3411}},
7334 {
7335 {0.2694, 0.1981, 0.2880, 0.2445},
7336 {0.3074, 0.2991, 0.0477, 0.3458},
7337 {0.2236, 0.2246, 0.3338, 0.2181},
7338 {0.2080, 0.2180, 0.2994, 0.2746}},
7339 {
7340 {0.2356, 0.2302, 0.2922, 0.2420},
7341 {0.3446, 0.2693, 0.1025, 0.2837},
7342 {0.2831, 0.2590, 0.2397, 0.2182},
7343 {0.1794, 0.2165, 0.3015, 0.3027}},
7344 {
7345 {0.3089, 0.2349, 0.2927, 0.1636},
7346 {0.2717, 0.3463, 0.0793, 0.3027},
7347 {0.1943, 0.2239, 0.3172, 0.2646},
7348 {0.1896, 0.2074, 0.3410, 0.2620}},
7349 {
7350 {0.2739, 0.1760, 0.3678, 0.1822},
7351 {0.3493, 0.2573, 0.0490, 0.3443},
7352 {0.2127, 0.1801, 0.2840, 0.3233},
7353 {0.1301, 0.1911, 0.2884, 0.3903}},
7354 {
7355 {0.3017, 0.1904, 0.2763, 0.2316},
7356 {0.2633, 0.2332, 0.1181, 0.3853},
7357 {0.2839, 0.2501, 0.2671, 0.1989},
7358 {0.1705, 0.2189, 0.2996, 0.3110}},
7359 {
7360 {0.3113, 0.1270, 0.3416, 0.2202},
7361 {0.2726, 0.3319, 0.0667, 0.3287},
7362 {0.2115, 0.2580, 0.3015, 0.2290},
7363 {0.2253, 0.1516, 0.3727, 0.2503}},
7364 {
7365 {0.3032, 0.1851, 0.2903, 0.2215},
7366 {0.3499, 0.2192, 0.0609, 0.3701},
7367 {0.3128, 0.2459, 0.2340, 0.2072},
7368 {0.2080, 0.1898, 0.2843, 0.3179}},
7369 {
7370 {0.2352, 0.1788, 0.3398, 0.2462},
7371 {0.3013, 0.3222, 0.0265, 0.3499},
7372 {0.1999, 0.1637, 0.3221, 0.3143},
7373 {0.2171, 0.2149, 0.2643, 0.3038}},
7374 {
7375 {0.1889, 0.2736, 0.3740, 0.1634},
7376 {0.3186, 0.2501, 0.1025, 0.3288},
7377 {0.2203, 0.1533, 0.3531, 0.2733},
7378 {0.1838, 0.1917, 0.2931, 0.3314}},
7379 {
7380 {0.2326, 0.1924, 0.2840, 0.2910},
7381 {0.3120, 0.2615, 0.0664, 0.3602},
7382 {0.2810, 0.1992, 0.2516, 0.2682},
7383 {0.1987, 0.2832, 0.2768, 0.2412}},
7384 {
7385 {0.3190, 0.1856, 0.3123, 0.1831},
7386 {0.3021, 0.2987, 0.0709, 0.3284},
7387 {0.2470, 0.2539, 0.2063, 0.2927},
7388 {0.1979, 0.2291, 0.3302, 0.2428}},
7389 {
7390 {0.3371, 0.1690, 0.2669, 0.2270},
7391 {0.3521, 0.3232, 0.0256, 0.2991},
7392 {0.2719, 0.2113, 0.3234, 0.1934},
7393 {0.2015, 0.2549, 0.2348, 0.3089}},
7394 {
7395 {0.2485, 0.1994, 0.3555, 0.1965},
7396 {0.3378, 0.2268, 0.0975, 0.3379},
7397 {0.2595, 0.1746, 0.3331, 0.2328},
7398 {0.1807, 0.1965, 0.3552, 0.2676}},
7399 {
7400 {0.2374, 0.2623, 0.3078, 0.1925},
7401 {0.3066, 0.3185, 0.0727, 0.3022},
7402 {0.2568, 0.1690, 0.2510, 0.3232},
7403 {0.1992, 0.2657, 0.3053, 0.2297}},
7404 {
7405 {0.2800, 0.1693, 0.3099, 0.2408},
7406 {0.3835, 0.2506, 0.0485, 0.3173},
7407 {0.2446, 0.1994, 0.3008, 0.2552},
7408 {0.2336, 0.1334, 0.3404, 0.2926}},
7409 {
7410 {0.2168, 0.2234, 0.3744, 0.1855},
7411 {0.3274, 0.2441, 0.0814, 0.3471},
7412 {0.2724, 0.2074, 0.2026, 0.3175},
7413 {0.2283, 0.2168, 0.2652, 0.2897}},
7414 {
7415 {0.2161, 0.2015, 0.3612, 0.2211},
7416 {0.2768, 0.2706, 0.0839, 0.3687},
7417 {0.2566, 0.1797, 0.2910, 0.2728},
7418 {0.1577, 0.2068, 0.2977, 0.3378}},
7419 {
7420 {0.3162, 0.1562, 0.3199, 0.2077},
7421 {0.2860, 0.3556, 0.0383, 0.3201},
7422 {0.2171, 0.2326, 0.2628, 0.2876},
7423 {0.1606, 0.2350, 0.3129, 0.2915}},
7424 {
7425 {0.2779, 0.2208, 0.3098, 0.1916},
7426 {0.2704, 0.2620, 0.0992, 0.3685},
7427 {0.3043, 0.1846, 0.3117, 0.1994},
7428 {0.1618, 0.1418, 0.3083, 0.3880}},
7429 {
7430 {0.2725, 0.1642, 0.2860, 0.2772},
7431 {0.3344, 0.2391, 0.0759, 0.3506},
7432 {0.2070, 0.2007, 0.2728, 0.3195},
7433 {0.1521, 0.2066, 0.2708, 0.3704}},
7434 {
7435 {0.2788, 0.1586, 0.2822, 0.2803},
7436 {0.2754, 0.3525, 0.0431, 0.3290},
7437 {0.2786, 0.1780, 0.3538, 0.1896},
7438 {0.1464, 0.2757, 0.2708, 0.3071}},
7439 {
7440 {0.2176, 0.2797, 0.3629, 0.1398},
7441 {0.2229, 0.3159, 0.0598, 0.4015},
7442 {0.2339, 0.2305, 0.2680, 0.2677},
7443 {0.2249, 0.2177, 0.3172, 0.2402}},
7444 {
7445 {0.2567, 0.2608, 0.2811, 0.2014},
7446 {0.2381, 0.2608, 0.0659, 0.4352},
7447 {0.2098, 0.2222, 0.3407, 0.2272},
7448 {0.1463, 0.2440, 0.3296, 0.2802}},
7449 {
7450 {0.3026, 0.2610, 0.2664, 0.1701},
7451 {0.3402, 0.3208, 0.0263, 0.3126},
7452 {0.1767, 0.2446, 0.2682, 0.3105},
7453 {0.2130, 0.2601, 0.2841, 0.2428}},
7454 {
7455 {0.2578, 0.2070, 0.2824, 0.2529},
7456 {0.2614, 0.2876, 0.0717, 0.3793},
7457 {0.3269, 0.1770, 0.2227, 0.2733},
7458 {0.1575, 0.1953, 0.4268, 0.2204}},
7459 {
7460 {0.3454, 0.1684, 0.3272, 0.1589},
7461 {0.3808, 0.2656, 0.0326, 0.3210},
7462 {0.1772, 0.1417, 0.2918, 0.3894},
7463 {0.2135, 0.2253, 0.2654, 0.2958}},
7464 {
7465 {0.1960, 0.1765, 0.4094, 0.2181},
7466 {0.3480, 0.3183, 0.0337, 0.3000},
7467 {0.2139, 0.1879, 0.3263, 0.2719},
7468 {0.1461, 0.2202, 0.3985, 0.2352}},
7469 {
7470 {0.3245, 0.2402, 0.2721, 0.1632},
7471 {0.2826, 0.3101, 0.0977, 0.3097},
7472 {0.2616, 0.1894, 0.2145, 0.3346},
7473 {0.1839, 0.2112, 0.2948, 0.3101}},
7474 {
7475 {0.2220, 0.2794, 0.2950, 0.2036},
7476 {0.2795, 0.3032, 0.1086, 0.3088},
7477 {0.1918, 0.2745, 0.3039, 0.2298},
7478 {0.1447, 0.2432, 0.3775, 0.2346}},
7479 {
7480 {0.2234, 0.1630, 0.3943, 0.2192},
7481 {0.2223, 0.3288, 0.1050, 0.3439},
7482 {0.2836, 0.1656, 0.2276, 0.3232},
7483 {0.1754, 0.1649, 0.2478, 0.4118}},
7484 {
7485 {0.2743, 0.1748, 0.3671, 0.1838},
7486 {0.3570, 0.3106, 0.1009, 0.2315},
7487 {0.2186, 0.2278, 0.3589, 0.1947},
7488 {0.1432, 0.2320, 0.3735, 0.2513}},
7489 {
7490 {0.2680, 0.0849, 0.3055, 0.3416},
7491 {0.2100, 0.1166, 0.0532, 0.6201},
7492 {0.2273, 0.0434, 0.2895, 0.4398},
7493 {0.2544, 0.0863, 0.3231, 0.3362}},
7494 {
7495 {0.0000, 0.0000, 1.0000, 0.0000},
7496 {0.0000, 0.0000, 1.0000, 0.0000},
7497 {0.0000, 0.0000, 1.0000, 0.0000},
7498 {0.0000, 0.0000, 1.0000, 0.0000}},
7499 {
7500 {0.0000, 0.0000, 0.0000, 0.0000},
7501 {0.0000, 0.0000, 0.0000, 0.0000},
7502 {0.0000, 0.0000, 0.0000, 1.0000},
7503 {0.0000, 0.0000, 0.0000, 0.0000}},
7504 {
7505 {0.0000, 0.0000, 0.0000, 0.0000},
7506 {0.0000, 0.0000, 0.0000, 0.0000},
7507 {0.0000, 0.0000, 0.0000, 0.0000},
7508 {0.1779, 0.2506, 0.3283, 0.2432}},
7509 {
7510 {0.3433, 0.2132, 0.2140, 0.2296},
7511 {0.2663, 0.3192, 0.0239, 0.3906},
7512 {0.1890, 0.2222, 0.2637, 0.3251},
7513 {0.1556, 0.2893, 0.2455, 0.3096}},
7514 {
7515 {0.3568, 0.2094, 0.2478, 0.1860},
7516 {0.2409, 0.2789, 0.0592, 0.4210},
7517 {0.2083, 0.1525, 0.4186, 0.2206},
7518 {0.1630, 0.2254, 0.3131, 0.2985}},
7519 {
7520 {0.2374, 0.1707, 0.3996, 0.1922},
7521 {0.1974, 0.3806, 0.0781, 0.3439},
7522 {0.1776, 0.1935, 0.3196, 0.3093},
7523 {0.1953, 0.2073, 0.3443, 0.2531}},
7524 {
7525 {0.2050, 0.1892, 0.3343, 0.2715},
7526 {0.3041, 0.2234, 0.0713, 0.4012},
7527 {0.2922, 0.1225, 0.3566, 0.2287},
7528 {0.1364, 0.2676, 0.3881, 0.2078}},
7529 {
7530 {0.2145, 0.1699, 0.3547, 0.2610},
7531 {0.3359, 0.2370, 0.0492, 0.3779},
7532 {0.2346, 0.2085, 0.2524, 0.3045},
7533 {0.1821, 0.2461, 0.2627, 0.3091}},
7534 {
7535 {0.3348, 0.1554, 0.3012, 0.2086},
7536 {0.3390, 0.3156, 0.0569, 0.2885},
7537 {0.2901, 0.2310, 0.2407, 0.2382},
7538 {0.1081, 0.2265, 0.3466, 0.3189}},
7539 {
7540 {0.2362, 0.3156, 0.2797, 0.1685},
7541 {0.3339, 0.3014, 0.0628, 0.3020},
7542 {0.2969, 0.1727, 0.2518, 0.2785},
7543 {0.1834, 0.1691, 0.2824, 0.3651}},
7544 {
7545 {0.2619, 0.2187, 0.2394, 0.2801},
7546 {0.3449, 0.3197, 0.0433, 0.2920},
7547 {0.2033, 0.1538, 0.4003, 0.2426},
7548 {0.1963, 0.2235, 0.2715, 0.3086}},
7549 {
7550 {0.2911, 0.1296, 0.3492, 0.2301},
7551 {0.3063, 0.2459, 0.0847, 0.3631},
7552 {0.2149, 0.1697, 0.2731, 0.3424},
7553 {0.2241, 0.1498, 0.3878, 0.2383}},
7554 {
7555 {0.1925, 0.1705, 0.3887, 0.2482},
7556 {0.3398, 0.2475, 0.1166, 0.2960},
7557 {0.2570, 0.1792, 0.3709, 0.1929},
7558 {0.1651, 0.2525, 0.3545, 0.2279}},
7559 {
7560 {0.2035, 0.2472, 0.3166, 0.2326},
7561 {0.2715, 0.2148, 0.1042, 0.4096},
7562 {0.2449, 0.1684, 0.2949, 0.2918},
7563 {0.1656, 0.2319, 0.3133, 0.2892}},
7564 {
7565 {0.2232, 0.2315, 0.2853, 0.2600},
7566 {0.3218, 0.2293, 0.0493, 0.3996},
7567 {0.3020, 0.1367, 0.3182, 0.2431},
7568 {0.2067, 0.1439, 0.4213, 0.2281}},
7569 {
7570 {0.2581, 0.1782, 0.3183, 0.2455},
7571 {0.2823, 0.3676, 0.0950, 0.2550},
7572 {0.2803, 0.2248, 0.2263, 0.2687},
7573 {0.1592, 0.2996, 0.2479, 0.2932}},
7574 {
7575 {0.2238, 0.2507, 0.3201, 0.2054},
7576 {0.3586, 0.2458, 0.0643, 0.3312},
7577 {0.2071, 0.2614, 0.3027, 0.2288},
7578 {0.1731, 0.2741, 0.2667, 0.2861}},
7579 {
7580 {0.2298, 0.1722, 0.3251, 0.2728},
7581 {0.2606, 0.2974, 0.1071, 0.3349},
7582 {0.2937, 0.1699, 0.2999, 0.2366},
7583 {0.2076, 0.2345, 0.2300, 0.3278}},
7584 {
7585 {0.3297, 0.1358, 0.3148, 0.2197},
7586 {0.2516, 0.2744, 0.0466, 0.4274},
7587 {0.2857, 0.1963, 0.3225, 0.1955},
7588 {0.1594, 0.1878, 0.3553, 0.2975}},
7589 {
7590 {0.2188, 0.2444, 0.3852, 0.1516},
7591 {0.2659, 0.3196, 0.0859, 0.3287},
7592 {0.2573, 0.2372, 0.3103, 0.1953},
7593 {0.1748, 0.2693, 0.2795, 0.2764}},
7594 {
7595 {0.2610, 0.1742, 0.3223, 0.2425},
7596 {0.2728, 0.2508, 0.0486, 0.4277},
7597 {0.3269, 0.1821, 0.3154, 0.1756},
7598 {0.1795, 0.2756, 0.3118, 0.2331}},
7599 {
7600 {0.3100, 0.2036, 0.3246, 0.1618},
7601 {0.2498, 0.2751, 0.0967, 0.3784},
7602 {0.2543, 0.2031, 0.3078, 0.2348},
7603 {0.1339, 0.2393, 0.3162, 0.3105}},
7604 {
7605 {0.2773, 0.2063, 0.2845, 0.2319},
7606 {0.3140, 0.2028, 0.1047, 0.3786},
7607 {0.2461, 0.1954, 0.3402, 0.2183},
7608 {0.1350, 0.2557, 0.3443, 0.2650}},
7609 {
7610 {0.2784, 0.2087, 0.3263, 0.1865},
7611 {0.3106, 0.2799, 0.0415, 0.3680},
7612 {0.2008, 0.2029, 0.3045, 0.2918},
7613 {0.1260, 0.3196, 0.2963, 0.2582}},
7614 {
7615 {0.2429, 0.1553, 0.3685, 0.2333},
7616 {0.2607, 0.3150, 0.1212, 0.3031},
7617 {0.2459, 0.2170, 0.3291, 0.2080},
7618 {0.1505, 0.2324, 0.3850, 0.2321}},
7619 {
7620 {0.2260, 0.2077, 0.3052, 0.2611},
7621 {0.3203, 0.3143, 0.0526, 0.3129},
7622 {0.2547, 0.1903, 0.2864, 0.2687},
7623 {0.2001, 0.2182, 0.3262, 0.2555}},
7624 {
7625 {0.2696, 0.1297, 0.3736, 0.2271},
7626 {0.2549, 0.3098, 0.0867, 0.3486},
7627 {0.2564, 0.2441, 0.2144, 0.2851},
7628 {0.2188, 0.1775, 0.2836, 0.3201}},
7629 {
7630 {0.1988, 0.1616, 0.3962, 0.2434},
7631 {0.2069, 0.3309, 0.0674, 0.3948},
7632 {0.2655, 0.1090, 0.3561, 0.2693},
7633 {0.2004, 0.2473, 0.2523, 0.3000}},
7634 {
7635 {0.2228, 0.1798, 0.3641, 0.2333},
7636 {0.3109, 0.2805, 0.0791, 0.3295},
7637 {0.2817, 0.1854, 0.2711, 0.2618},
7638 {0.1314, 0.2868, 0.3028, 0.2790}},
7639 {
7640 {0.2519, 0.1556, 0.3413, 0.2513},
7641 {0.3065, 0.3033, 0.0475, 0.3427},
7642 {0.2836, 0.1841, 0.2831, 0.2492},
7643 {0.1480, 0.1888, 0.3409, 0.3223}},
7644 {
7645 {0.2618, 0.1837, 0.3472, 0.2072},
7646 {0.2389, 0.2408, 0.0838, 0.4365},
7647 {0.2989, 0.1580, 0.2336, 0.3095},
7648 {0.1791, 0.1845, 0.2765, 0.3599}},
7649 {
7650 {0.2625, 0.2153, 0.2550, 0.2673},
7651 {0.2319, 0.3643, 0.0434, 0.3605},
7652 {0.2472, 0.2122, 0.2610, 0.2797},
7653 {0.1453, 0.2821, 0.1869, 0.3857}},
7654 {
7655 {0.2672, 0.1979, 0.2770, 0.2578},
7656 {0.3152, 0.2763, 0.0841, 0.3244},
7657 {0.2716, 0.2524, 0.2790, 0.1970},
7658 {0.2089, 0.2519, 0.2978, 0.2414}},
7659 {
7660 {0.2129, 0.1528, 0.4097, 0.2246},
7661 {0.2444, 0.3243, 0.0865, 0.3448},
7662 {0.2680, 0.1668, 0.2896, 0.2756},
7663 {0.1576, 0.2018, 0.4175, 0.2231}},
7664 {
7665 {0.2847, 0.2344, 0.2717, 0.2092},
7666 {0.2771, 0.2596, 0.1064, 0.3570},
7667 {0.2247, 0.2215, 0.3108, 0.2430},
7668 {0.1431, 0.2257, 0.3345, 0.2967}},
7669 {
7670 {0.2019, 0.1673, 0.3616, 0.2693},
7671 {0.2976, 0.2126, 0.0682, 0.4216},
7672 {0.3222, 0.2477, 0.1669, 0.2632},
7673 {0.1750, 0.2321, 0.2807, 0.3121}},
7674 {
7675 {0.2341, 0.1544, 0.3526, 0.2590},
7676 {0.3218, 0.2289, 0.0753, 0.3739},
7677 {0.2588, 0.2052, 0.2923, 0.2437},
7678 {0.1369, 0.2316, 0.2793, 0.3521}},
7679 {
7680 {0.3787, 0.1801, 0.2061, 0.2351},
7681 {0.2565, 0.3149, 0.0398, 0.3888},
7682 {0.2962, 0.1344, 0.3166, 0.2528},
7683 {0.1968, 0.2103, 0.3065, 0.2864}},
7684 {
7685 {0.3163, 0.2252, 0.3187, 0.1397},
7686 {0.3927, 0.2534, 0.0746, 0.2793},
7687 {0.2784, 0.1848, 0.2926, 0.2442},
7688 {0.1466, 0.2718, 0.2837, 0.2980}},
7689 {
7690 {0.3002, 0.2049, 0.3164, 0.1786},
7691 {0.3078, 0.3319, 0.0457, 0.3145},
7692 {0.2432, 0.2482, 0.2751, 0.2334},
7693 {0.1231, 0.2175, 0.3390, 0.3205}},
7694 {
7695 {0.2597, 0.2343, 0.2900, 0.2159},
7696 {0.2223, 0.3158, 0.0921, 0.3698},
7697 {0.1979, 0.3180, 0.2709, 0.2131},
7698 {0.1841, 0.2716, 0.3529, 0.1914}},
7699 {
7700 {0.2074, 0.1784, 0.3525, 0.2617},
7701 {0.2823, 0.2918, 0.0756, 0.3502},
7702 {0.3098, 0.1332, 0.2120, 0.3451},
7703 {0.2619, 0.2624, 0.2102, 0.2655}},
7704 {
7705 {0.1858, 0.1492, 0.4254, 0.2396},
7706 {0.2531, 0.3317, 0.0906, 0.3245},
7707 {0.3130, 0.2208, 0.1964, 0.2698},
7708 {0.1510, 0.1809, 0.2969, 0.3712}},
7709 {
7710 {0.2003, 0.2261, 0.3683, 0.2053},
7711 {0.2327, 0.2873, 0.1172, 0.3628},
7712 {0.2429, 0.2102, 0.3366, 0.2102},
7713 {0.1831, 0.1763, 0.3133, 0.3272}},
7714 {
7715 {0.2120, 0.2399, 0.3307, 0.2173},
7716 {0.3106, 0.2443, 0.0920, 0.3531},
7717 {0.2149, 0.2139, 0.2866, 0.2846},
7718 {0.1469, 0.2308, 0.2556, 0.3667}},
7719 {
7720 {0.3283, 0.2196, 0.2649, 0.1872},
7721 {0.3055, 0.2109, 0.1086, 0.3750},
7722 {0.2848, 0.1942, 0.2433, 0.2777},
7723 {0.1858, 0.2313, 0.3457, 0.2371}},
7724 {
7725 {0.2110, 0.2093, 0.3433, 0.2364},
7726 {0.2654, 0.2749, 0.0298, 0.4299},
7727 {0.2553, 0.2155, 0.2185, 0.3107},
7728 {0.1636, 0.2362, 0.3207, 0.2795}},
7729 {
7730 {0.1889, 0.2213, 0.4036, 0.1862},
7731 {0.2260, 0.3434, 0.0889, 0.3417},
7732 {0.2840, 0.2171, 0.2634, 0.2355},
7733 {0.2113, 0.2374, 0.2044, 0.3468}},
7734 {
7735 {0.2057, 0.2298, 0.3378, 0.2268},
7736 {0.3198, 0.2721, 0.0513, 0.3567},
7737 {0.3245, 0.2482, 0.2329, 0.1944},
7738 {0.1166, 0.2583, 0.3362, 0.2890}},
7739 {
7740 {0.1798, 0.2600, 0.3304, 0.2297},
7741 {0.3379, 0.2662, 0.0584, 0.3374},
7742 {0.3177, 0.2725, 0.2192, 0.1905},
7743 {0.1954, 0.2310, 0.2943, 0.2793}},
7744 {
7745 {0.2071, 0.2364, 0.3630, 0.1935},
7746 {0.3241, 0.3341, 0.0657, 0.2761},
7747 {0.3052, 0.1603, 0.2557, 0.2788},
7748 {0.2133, 0.1746, 0.2866, 0.3255}},
7749 {
7750 {0.3196, 0.2249, 0.2438, 0.2117},
7751 {0.2722, 0.2481, 0.1449, 0.3348},
7752 {0.3630, 0.1306, 0.2477, 0.2587},
7753 {0.1894, 0.2167, 0.3561, 0.2378}}
7754 }},
7755 {
7756 { /* Splice_Site: T1_GT; Species: Chick */
7757 {
7758 {0.3117, 0.3117, 0.3117, 0.3117},
7759 {0.2137, 0.2137, 0.2137, 0.2137},
7760 {0.1596, 0.1596, 0.1596, 0.1596},
7761 {0.3149, 0.3149, 0.3149, 0.3149}},
7762 {
7763 {0.2743, 0.2659, 0.3409, 0.1189},
7764 {0.2790, 0.3100, 0.1185, 0.2925},
7765 {0.0871, 0.4458, 0.2071, 0.2600},
7766 {0.0575, 0.3424, 0.3993, 0.2007}},
7767 {
7768 {0.2576, 0.1516, 0.4116, 0.1791},
7769 {0.4955, 0.2391, 0.1034, 0.1621},
7770 {0.3336, 0.2742, 0.2450, 0.1473},
7771 {0.1020, 0.2256, 0.4804, 0.1920}},
7772 {
7773 {0.3155, 0.1601, 0.2121, 0.3123},
7774 {0.2837, 0.2428, 0.1636, 0.3099},
7775 {0.4497, 0.2774, 0.1522, 0.1207},
7776 {0.1201, 0.3728, 0.1734, 0.3336}},
7777 {
7778 {0.1917, 0.2288, 0.3751, 0.2045},
7779 {0.2702, 0.3426, 0.1392, 0.2480},
7780 {0.0996, 0.3914, 0.3669, 0.1421},
7781 {0.0528, 0.3989, 0.2845, 0.2638}},
7782 {
7783 {0.1952, 0.1768, 0.5155, 0.1125},
7784 {0.3812, 0.2472, 0.2060, 0.1655},
7785 {0.2958, 0.2323, 0.3879, 0.0841},
7786 {0.0977, 0.2356, 0.5408, 0.1258}},
7787 {
7788 {0.3589, 0.1950, 0.2751, 0.1710},
7789 {0.2812, 0.3103, 0.0280, 0.3805},
7790 {0.3170, 0.2266, 0.2566, 0.1998},
7791 {0.2055, 0.2468, 0.1326, 0.4151}},
7792 {
7793 {0.2848, 0.1742, 0.3687, 0.1724},
7794 {0.1879, 0.4667, 0.1288, 0.2166},
7795 {0.2517, 0.4077, 0.0898, 0.2507},
7796 {0.1047, 0.2670, 0.3354, 0.2929}},
7797 {
7798 {0.3507, 0.1845, 0.3485, 0.1164},
7799 {0.3848, 0.2977, 0.1485, 0.1690},
7800 {0.3025, 0.3025, 0.2831, 0.1118},
7801 {0.1806, 0.2088, 0.5198, 0.0908}},
7802 {
7803 {0.3866, 0.2049, 0.1444, 0.2641},
7804 {0.3600, 0.1483, 0.1252, 0.3665},
7805 {0.3394, 0.2504, 0.1864, 0.2237},
7806 {0.2145, 0.2277, 0.1812, 0.3766}},
7807 {
7808 {0.1974, 0.2963, 0.3017, 0.2045},
7809 {0.2083, 0.3860, 0.0885, 0.3172},
7810 {0.2865, 0.3708, 0.2113, 0.1314},
7811 {0.0959, 0.2258, 0.4514, 0.2269}},
7812 {
7813 {0.1883, 0.2506, 0.4851, 0.0760},
7814 {0.3287, 0.2375, 0.2636, 0.1702},
7815 {0.2437, 0.3071, 0.3175, 0.1317},
7816 {0.0766, 0.1548, 0.6113, 0.1574}},
7817 {
7818 {0.3032, 0.2489, 0.1899, 0.2580},
7819 {0.3131, 0.1714, 0.1725, 0.3430},
7820 {0.4347, 0.2203, 0.1665, 0.1785},
7821 {0.1543, 0.1466, 0.2498, 0.4493}},
7822 {
7823 {0.2164, 0.2280, 0.3107, 0.2450},
7824 {0.2730, 0.3722, 0.1334, 0.2214},
7825 {0.1143, 0.3773, 0.3010, 0.2073},
7826 {0.0632, 0.3457, 0.4771, 0.1141}},
7827 {
7828 {0.2769, 0.2242, 0.3728, 0.1261},
7829 {0.4077, 0.2276, 0.1199, 0.2448},
7830 {0.2444, 0.2745, 0.3811, 0.1000},
7831 {0.2583, 0.1405, 0.5143, 0.0869}},
7832 {
7833 {0.4218, 0.1221, 0.1491, 0.3069},
7834 {0.2986, 0.2450, 0.0708, 0.3856},
7835 {0.2605, 0.2503, 0.3246, 0.1646},
7836 {0.2416, 0.2787, 0.0455, 0.4342}},
7837 {
7838 {0.2203, 0.2884, 0.2948, 0.1965},
7839 {0.2096, 0.4512, 0.0931, 0.2460},
7840 {0.2724, 0.2943, 0.0990, 0.3343},
7841 {0.0590, 0.4064, 0.3934, 0.1412}},
7842 {
7843 {0.2621, 0.1492, 0.4900, 0.0987},
7844 {0.3895, 0.3345, 0.0985, 0.1775},
7845 {0.2589, 0.2250, 0.4162, 0.1000},
7846 {0.1482, 0.2667, 0.4715, 0.1135}},
7847 {
7848 {0.2876, 0.2487, 0.1846, 0.2791},
7849 {0.3122, 0.2197, 0.1250, 0.3431},
7850 {0.4180, 0.2356, 0.2179, 0.1285},
7851 {0.1878, 0.3524, 0.1864, 0.2733}},
7852 {
7853 {0.1517, 0.3365, 0.3495, 0.1623},
7854 {0.2329, 0.3629, 0.1253, 0.2788},
7855 {0.1540, 0.3827, 0.3300, 0.1333},
7856 {0.0624, 0.4167, 0.2912, 0.2297}},
7857 {
7858 {0.2792, 0.2073, 0.4421, 0.0714},
7859 {0.4243, 0.2170, 0.1669, 0.1918},
7860 {0.3378, 0.2611, 0.2735, 0.1276},
7861 {0.1654, 0.2579, 0.4037, 0.1730}},
7862 {
7863 {0.4606, 0.1980, 0.2125, 0.1290},
7864 {0.1609, 0.2634, 0.1509, 0.4248},
7865 {0.4115, 0.3194, 0.1749, 0.0942},
7866 {0.4199, 0.1599, 0.0639, 0.3564}},
7867 {
7868 {0.2187, 0.3247, 0.2752, 0.1814},
7869 {0.2538, 0.3294, 0.1443, 0.2725},
7870 {0.1287, 0.3851, 0.2586, 0.2275},
7871 {0.0282, 0.3185, 0.4778, 0.1756}},
7872 {
7873 {0.1845, 0.1816, 0.4831, 0.1508},
7874 {0.3921, 0.3316, 0.1026, 0.1736},
7875 {0.2040, 0.2777, 0.4217, 0.0966},
7876 {0.1156, 0.2492, 0.4823, 0.1529}},
7877 {
7878 {0.3840, 0.1547, 0.2018, 0.2596},
7879 {0.3287, 0.2567, 0.1495, 0.2651},
7880 {0.3053, 0.1641, 0.3781, 0.1525},
7881 {0.3295, 0.3001, 0.1240, 0.2464}},
7882 {
7883 {0.1647, 0.4102, 0.2981, 0.1270},
7884 {0.2588, 0.2838, 0.1216, 0.3358},
7885 {0.1911, 0.3414, 0.2687, 0.1989},
7886 {0.0486, 0.4654, 0.3568, 0.1292}},
7887 {
7888 {0.2586, 0.2751, 0.3425, 0.1238},
7889 {0.4120, 0.2345, 0.1895, 0.1640},
7890 {0.3099, 0.2205, 0.3973, 0.0722},
7891 {0.1304, 0.2263, 0.5705, 0.0728}},
7892 {
7893 {0.3062, 0.3209, 0.1912, 0.1816},
7894 {0.2832, 0.2731, 0.2341, 0.2095},
7895 {0.4354, 0.2735, 0.1494, 0.1416},
7896 {0.2372, 0.1451, 0.3278, 0.2899}},
7897 {
7898 {0.2786, 0.1998, 0.3552, 0.1665},
7899 {0.1920, 0.3468, 0.1047, 0.3565},
7900 {0.1159, 0.3650, 0.3289, 0.1902},
7901 {0.1283, 0.3476, 0.3397, 0.1845}},
7902 {
7903 {0.3814, 0.2283, 0.3371, 0.0531},
7904 {0.3871, 0.2540, 0.1376, 0.2212},
7905 {0.3181, 0.2655, 0.3383, 0.0780},
7906 {0.1228, 0.1861, 0.5524, 0.1387}},
7907 {
7908 {0.4281, 0.2465, 0.1168, 0.2086},
7909 {0.2774, 0.3383, 0.0896, 0.2947},
7910 {0.2458, 0.2235, 0.2862, 0.2445},
7911 {0.1825, 0.3275, 0.1852, 0.3047}},
7912 {
7913 {0.1627, 0.3357, 0.3612, 0.1404},
7914 {0.1561, 0.4434, 0.1297, 0.2709},
7915 {0.3167, 0.4006, 0.0976, 0.1851},
7916 {0.0582, 0.3600, 0.4006, 0.1812}},
7917 {
7918 {0.1971, 0.0879, 0.5380, 0.1770},
7919 {0.4659, 0.1356, 0.1782, 0.2204},
7920 {0.1483, 0.2938, 0.4116, 0.1463},
7921 {0.1109, 0.1239, 0.5795, 0.1857}},
7922 {
7923 {0.3939, 0.1398, 0.2461, 0.2202},
7924 {0.3388, 0.2883, 0.1194, 0.2535},
7925 {0.2897, 0.1298, 0.3745, 0.2061},
7926 {0.1735, 0.3609, 0.1824, 0.2833}},
7927 {
7928 {0.1448, 0.3387, 0.3422, 0.1743},
7929 {0.2199, 0.4184, 0.0496, 0.3121},
7930 {0.2773, 0.3587, 0.2692, 0.0949},
7931 {0.0288, 0.3876, 0.3747, 0.2090}},
7932 {
7933 {0.1796, 0.2460, 0.3704, 0.2040},
7934 {0.3136, 0.2601, 0.1612, 0.2651},
7935 {0.3300, 0.2775, 0.3302, 0.0623},
7936 {0.0557, 0.1625, 0.7051, 0.0767}},
7937 {
7938 {0.4239, 0.2248, 0.1985, 0.1528},
7939 {0.2585, 0.2111, 0.1131, 0.4173},
7940 {0.5279, 0.2058, 0.1378, 0.1284},
7941 {0.2499, 0.3005, 0.1307, 0.3189}},
7942 {
7943 {0.2523, 0.2505, 0.3417, 0.1555},
7944 {0.1952, 0.3563, 0.1384, 0.3102},
7945 {0.1419, 0.5247, 0.0972, 0.2362},
7946 {0.1001, 0.4031, 0.3072, 0.1896}},
7947 {
7948 {0.2982, 0.2202, 0.4075, 0.0741},
7949 {0.4473, 0.2271, 0.1586, 0.1670},
7950 {0.2731, 0.3369, 0.3184, 0.0716},
7951 {0.1316, 0.1561, 0.5805, 0.1318}},
7952 {
7953 {0.3899, 0.1666, 0.2407, 0.2028},
7954 {0.3175, 0.2340, 0.1156, 0.3329},
7955 {0.5018, 0.1534, 0.1852, 0.1596},
7956 {0.1763, 0.3535, 0.2935, 0.1767}},
7957 {
7958 {0.2347, 0.2859, 0.3458, 0.1337},
7959 {0.2918, 0.3572, 0.0886, 0.2624},
7960 {0.2094, 0.3827, 0.2607, 0.1471},
7961 {0.0458, 0.3693, 0.4408, 0.1440}},
7962 {
7963 {0.2213, 0.0852, 0.5734, 0.1200},
7964 {0.4136, 0.2380, 0.1735, 0.1749},
7965 {0.2903, 0.1543, 0.4953, 0.0601},
7966 {0.1701, 0.1502, 0.5697, 0.1100}},
7967 {
7968 {0.4180, 0.1822, 0.1584, 0.2414},
7969 {0.3082, 0.1256, 0.1851, 0.3811},
7970 {0.3751, 0.1233, 0.3319, 0.1697},
7971 {0.1975, 0.1835, 0.1495, 0.4694}},
7972 {
7973 {0.2512, 0.2548, 0.3160, 0.1780},
7974 {0.3249, 0.4689, 0.0705, 0.1357},
7975 {0.2962, 0.2874, 0.2146, 0.2019},
7976 {0.0937, 0.3729, 0.3899, 0.1435}},
7977 {
7978 {0.2880, 0.2269, 0.3807, 0.1043},
7979 {0.3791, 0.2398, 0.1818, 0.1993},
7980 {0.3431, 0.2679, 0.3145, 0.0745},
7981 {0.1408, 0.2289, 0.5277, 0.1025}},
7982 {
7983 {0.3504, 0.1696, 0.1748, 0.3052},
7984 {0.3624, 0.1459, 0.1292, 0.3625},
7985 {0.4544, 0.2591, 0.1500, 0.1365},
7986 {0.1623, 0.3867, 0.1552, 0.2958}},
7987 {
7988 {0.3224, 0.2102, 0.3156, 0.1518},
7989 {0.2898, 0.4427, 0.0661, 0.2014},
7990 {0.2953, 0.4180, 0.1945, 0.0922},
7991 {0.0671, 0.3589, 0.3803, 0.1937}},
7992 {
7993 {0.4167, 0.2249, 0.3443, 0.0142},
7994 {0.5254, 0.2972, 0.1169, 0.0606},
7995 {0.3237, 0.4096, 0.2280, 0.0388},
7996 {0.2635, 0.2295, 0.4472, 0.0598}},
7997 {
7998 {0.6645, 0.1002, 0.0714, 0.1639},
7999 {0.7494, 0.0954, 0.0808, 0.0744},
8000 {0.7070, 0.1572, 0.0810, 0.0549},
8001 {0.0715, 0.2357, 0.1578, 0.5350}},
8002 {
8003 {0.0260, 0.0428, 0.8832, 0.0479},
8004 {0.1753, 0.0298, 0.5100, 0.2849},
8005 {0.1794, 0.0424, 0.6913, 0.0868},
8006 {0.0262, 0.0248, 0.8689, 0.0802}},
8007 {
8008 {0.0000, 0.0000, 1.0000, 0.0000},
8009 {0.0000, 0.0000, 1.0000, 0.0000},
8010 {0.0000, 0.0000, 1.0000, 0.0000},
8011 {0.0000, 0.0000, 1.0000, 0.0000}},
8012 {
8013 {0.0000, 0.0000, 0.0000, 0.0000},
8014 {0.0000, 0.0000, 0.0000, 0.0000},
8015 {0.0000, 0.0000, 0.0000, 1.0000},
8016 {0.0000, 0.0000, 0.0000, 0.0000}},
8017 {
8018 {0.0000, 0.0000, 0.0000, 0.0000},
8019 {0.0000, 0.0000, 0.0000, 0.0000},
8020 {0.0000, 0.0000, 0.0000, 0.0000},
8021 {0.5477, 0.0235, 0.4004, 0.0284}},
8022 {
8023 {0.5708, 0.1189, 0.1163, 0.1940},
8024 {0.4577, 0.3972, 0.0000, 0.1451},
8025 {0.8343, 0.0341, 0.1062, 0.0254},
8026 {0.3575, 0.1354, 0.1220, 0.3851}},
8027 {
8028 {0.0783, 0.0923, 0.8157, 0.0136},
8029 {0.2908, 0.1889, 0.3075, 0.2129},
8030 {0.0368, 0.0000, 0.8657, 0.0975},
8031 {0.0514, 0.0558, 0.7603, 0.1325}},
8032 {
8033 {0.1926, 0.0737, 0.4598, 0.2739},
8034 {0.1564, 0.2403, 0.3128, 0.2905},
8035 {0.1781, 0.1254, 0.2367, 0.4598},
8036 {0.1193, 0.1231, 0.3482, 0.4094}},
8037 {
8038 {0.3551, 0.1391, 0.2888, 0.2170},
8039 {0.3793, 0.2387, 0.1124, 0.2696},
8040 {0.2208, 0.3165, 0.3491, 0.1136},
8041 {0.2942, 0.1463, 0.3613, 0.1982}},
8042 {
8043 {0.2921, 0.1629, 0.2668, 0.2783},
8044 {0.2724, 0.3323, 0.0952, 0.3001},
8045 {0.1502, 0.3313, 0.3372, 0.1813},
8046 {0.1495, 0.2105, 0.3440, 0.2959}},
8047 {
8048 {0.2689, 0.1983, 0.2542, 0.2785},
8049 {0.1871, 0.4108, 0.1460, 0.2561},
8050 {0.1851, 0.2590, 0.4133, 0.1427},
8051 {0.1667, 0.2142, 0.3228, 0.2963}},
8052 {
8053 {0.2957, 0.1230, 0.2419, 0.3394},
8054 {0.2706, 0.2957, 0.1645, 0.2692},
8055 {0.2324, 0.2398, 0.3257, 0.2021},
8056 {0.1553, 0.2274, 0.3370, 0.2803}},
8057 {
8058 {0.3477, 0.1918, 0.2512, 0.2093},
8059 {0.3185, 0.2237, 0.0509, 0.4069},
8060 {0.1716, 0.1971, 0.4242, 0.2071},
8061 {0.1560, 0.1795, 0.3833, 0.2812}},
8062 {
8063 {0.3848, 0.1569, 0.3304, 0.1279},
8064 {0.1742, 0.3527, 0.1227, 0.3504},
8065 {0.1196, 0.2881, 0.4178, 0.1745},
8066 {0.1811, 0.2268, 0.2544, 0.3377}},
8067 {
8068 {0.2354, 0.2977, 0.2091, 0.2578},
8069 {0.2146, 0.3676, 0.1800, 0.2378},
8070 {0.1981, 0.2894, 0.3674, 0.1452},
8071 {0.2033, 0.2615, 0.3068, 0.2284}},
8072 {
8073 {0.2316, 0.2316, 0.3116, 0.2252},
8074 {0.3903, 0.2541, 0.1294, 0.2262},
8075 {0.1177, 0.2565, 0.4135, 0.2124},
8076 {0.1787, 0.1997, 0.2770, 0.3446}},
8077 {
8078 {0.2542, 0.1782, 0.3817, 0.1859},
8079 {0.2479, 0.3355, 0.0913, 0.3253},
8080 {0.2264, 0.2522, 0.3197, 0.2017},
8081 {0.1566, 0.1688, 0.3256, 0.3490}},
8082 {
8083 {0.2240, 0.1924, 0.3330, 0.2507},
8084 {0.2265, 0.3698, 0.1024, 0.3013},
8085 {0.1515, 0.2463, 0.3918, 0.2104},
8086 {0.1609, 0.2059, 0.2919, 0.3413}},
8087 {
8088 {0.2286, 0.2563, 0.2265, 0.2886},
8089 {0.2942, 0.2521, 0.0820, 0.3717},
8090 {0.1317, 0.2720, 0.4234, 0.1729},
8091 {0.1501, 0.2002, 0.4049, 0.2448}},
8092 {
8093 {0.1962, 0.2385, 0.2811, 0.2842},
8094 {0.2709, 0.2747, 0.1688, 0.2856},
8095 {0.2425, 0.1878, 0.4230, 0.1467},
8096 {0.1453, 0.1574, 0.3855, 0.3118}},
8097 {
8098 {0.1914, 0.2335, 0.3877, 0.1874},
8099 {0.2898, 0.3645, 0.0314, 0.3144},
8100 {0.1533, 0.2762, 0.2924, 0.2781},
8101 {0.1677, 0.1682, 0.2834, 0.3807}},
8102 {
8103 {0.3075, 0.1491, 0.2520, 0.2913},
8104 {0.2411, 0.3795, 0.0840, 0.2954},
8105 {0.2162, 0.1619, 0.4099, 0.2120},
8106 {0.1914, 0.1686, 0.3194, 0.3206}},
8107 {
8108 {0.2290, 0.1381, 0.3595, 0.2734},
8109 {0.2291, 0.3402, 0.1940, 0.2367},
8110 {0.2382, 0.1610, 0.4080, 0.1928},
8111 {0.1477, 0.1456, 0.3273, 0.3795}},
8112 {
8113 {0.3063, 0.2833, 0.1907, 0.2196},
8114 {0.2637, 0.2997, 0.1181, 0.3185},
8115 {0.1694, 0.2732, 0.3312, 0.2262},
8116 {0.2199, 0.2285, 0.3361, 0.2155}},
8117 {
8118 {0.2886, 0.1704, 0.3009, 0.2401},
8119 {0.2501, 0.3538, 0.0547, 0.3414},
8120 {0.1743, 0.1945, 0.4336, 0.1976},
8121 {0.1325, 0.2107, 0.2881, 0.3687}},
8122 {
8123 {0.2834, 0.1506, 0.3705, 0.1956},
8124 {0.2634, 0.2875, 0.1083, 0.3407},
8125 {0.1920, 0.1525, 0.4228, 0.2328},
8126 {0.0873, 0.2076, 0.3701, 0.3350}},
8127 {
8128 {0.2887, 0.2258, 0.3325, 0.1530},
8129 {0.2280, 0.3040, 0.1400, 0.3280},
8130 {0.1416, 0.2294, 0.4710, 0.1580},
8131 {0.2209, 0.2978, 0.2251, 0.2561}},
8132 {
8133 {0.2329, 0.3490, 0.2466, 0.1714},
8134 {0.2683, 0.3345, 0.1185, 0.2787},
8135 {0.1725, 0.2189, 0.4111, 0.1975},
8136 {0.1911, 0.2227, 0.3596, 0.2265}},
8137 {
8138 {0.3074, 0.1671, 0.2657, 0.2597},
8139 {0.3434, 0.1974, 0.1560, 0.3032},
8140 {0.1911, 0.2130, 0.3315, 0.2645},
8141 {0.1477, 0.1704, 0.3532, 0.3287}},
8142 {
8143 {0.2367, 0.2284, 0.3393, 0.1957},
8144 {0.3218, 0.3541, 0.1082, 0.2158},
8145 {0.1674, 0.2941, 0.3307, 0.2078},
8146 {0.1215, 0.1926, 0.3791, 0.3068}},
8147 {
8148 {0.2581, 0.1673, 0.2649, 0.3097},
8149 {0.3460, 0.2190, 0.1092, 0.3258},
8150 {0.2014, 0.1801, 0.3959, 0.2226},
8151 {0.2807, 0.1960, 0.2961, 0.2273}},
8152 {
8153 {0.2492, 0.2792, 0.2149, 0.2566},
8154 {0.1825, 0.3800, 0.1480, 0.2895},
8155 {0.2083, 0.2699, 0.2839, 0.2379},
8156 {0.0898, 0.1796, 0.4418, 0.2888}},
8157 {
8158 {0.2517, 0.2538, 0.2098, 0.2847},
8159 {0.3328, 0.2805, 0.0409, 0.3458},
8160 {0.1972, 0.1996, 0.3394, 0.2638},
8161 {0.1731, 0.1997, 0.3394, 0.2878}},
8162 {
8163 {0.2371, 0.2148, 0.2815, 0.2666},
8164 {0.2286, 0.3323, 0.1356, 0.3035},
8165 {0.1481, 0.1342, 0.4559, 0.2619},
8166 {0.1988, 0.2505, 0.2827, 0.2679}},
8167 {
8168 {0.2358, 0.2965, 0.1590, 0.3087},
8169 {0.1755, 0.3497, 0.0781, 0.3968},
8170 {0.1337, 0.3030, 0.4048, 0.1585},
8171 {0.1775, 0.2175, 0.3232, 0.2819}},
8172 {
8173 {0.2367, 0.2194, 0.2727, 0.2712},
8174 {0.2801, 0.3239, 0.0974, 0.2986},
8175 {0.2096, 0.1961, 0.3792, 0.2151},
8176 {0.0967, 0.2915, 0.3605, 0.2513}},
8177 {
8178 {0.3481, 0.1032, 0.3221, 0.2266},
8179 {0.1420, 0.3621, 0.1358, 0.3601},
8180 {0.2147, 0.2518, 0.3788, 0.1546},
8181 {0.1503, 0.2282, 0.3871, 0.2344}},
8182 {
8183 {0.2672, 0.2259, 0.3530, 0.1540},
8184 {0.2952, 0.1980, 0.0983, 0.4085},
8185 {0.2380, 0.2156, 0.3994, 0.1470},
8186 {0.0578, 0.2129, 0.4124, 0.3169}},
8187 {
8188 {0.2622, 0.2853, 0.2704, 0.1821},
8189 {0.1621, 0.4430, 0.0480, 0.3469},
8190 {0.2081, 0.2540, 0.2941, 0.2438},
8191 {0.1367, 0.2433, 0.3373, 0.2828}},
8192 {
8193 {0.2516, 0.1992, 0.2194, 0.3299},
8194 {0.2938, 0.3420, 0.0846, 0.2796},
8195 {0.2274, 0.2220, 0.3554, 0.1953},
8196 {0.1861, 0.3101, 0.2909, 0.2130}},
8197 {
8198 {0.2023, 0.2848, 0.2658, 0.2472},
8199 {0.3397, 0.3412, 0.0491, 0.2700},
8200 {0.1812, 0.2908, 0.3202, 0.2078},
8201 {0.0967, 0.3029, 0.3455, 0.2550}},
8202 {
8203 {0.3705, 0.2663, 0.2526, 0.1106},
8204 {0.2974, 0.3691, 0.0884, 0.2450},
8205 {0.1876, 0.1951, 0.4155, 0.2018},
8206 {0.1731, 0.1608, 0.4664, 0.1997}},
8207 {
8208 {0.3251, 0.1840, 0.2051, 0.2858},
8209 {0.2284, 0.3029, 0.0878, 0.3809},
8210 {0.2005, 0.2022, 0.3865, 0.2108},
8211 {0.1415, 0.2762, 0.3348, 0.2475}},
8212 {
8213 {0.3344, 0.2607, 0.1981, 0.2069},
8214 {0.3172, 0.2740, 0.1043, 0.3044},
8215 {0.3427, 0.1646, 0.3283, 0.1644},
8216 {0.1533, 0.2107, 0.3650, 0.2711}},
8217 {
8218 {0.1894, 0.1592, 0.3357, 0.3157},
8219 {0.2845, 0.1647, 0.1344, 0.4165},
8220 {0.2312, 0.1640, 0.3965, 0.2083},
8221 {0.1902, 0.2420, 0.3013, 0.2666}},
8222 {
8223 {0.2440, 0.2369, 0.2868, 0.2323},
8224 {0.2109, 0.3856, 0.1734, 0.2301},
8225 {0.2017, 0.2312, 0.3571, 0.2100},
8226 {0.1944, 0.3018, 0.3128, 0.1910}},
8227 {
8228 {0.3066, 0.2095, 0.2160, 0.2679},
8229 {0.2447, 0.3275, 0.0732, 0.3546},
8230 {0.2246, 0.2481, 0.3875, 0.1398},
8231 {0.1476, 0.2264, 0.3266, 0.2994}},
8232 {
8233 {0.2284, 0.1786, 0.3675, 0.2254},
8234 {0.1911, 0.2987, 0.0962, 0.4140},
8235 {0.2672, 0.3336, 0.2239, 0.1752},
8236 {0.1194, 0.2397, 0.3462, 0.2946}},
8237 {
8238 {0.3161, 0.2772, 0.3167, 0.0900},
8239 {0.2818, 0.2744, 0.0906, 0.3532},
8240 {0.2632, 0.2305, 0.2050, 0.3013},
8241 {0.1360, 0.2612, 0.3208, 0.2820}},
8242 {
8243 {0.2559, 0.2176, 0.2890, 0.2376},
8244 {0.3270, 0.3339, 0.0788, 0.2604},
8245 {0.1837, 0.2655, 0.3269, 0.2238},
8246 {0.1008, 0.1607, 0.4119, 0.3266}},
8247 {
8248 {0.2225, 0.2865, 0.2235, 0.2674},
8249 {0.3681, 0.1555, 0.1001, 0.3762},
8250 {0.2277, 0.2035, 0.3205, 0.2483},
8251 {0.1873, 0.1618, 0.3830, 0.2680}},
8252 {
8253 {0.2512, 0.2072, 0.3451, 0.1965},
8254 {0.2606, 0.3346, 0.1247, 0.2802},
8255 {0.1069, 0.2255, 0.3236, 0.3440},
8256 {0.1620, 0.2396, 0.3368, 0.2617}},
8257 {
8258 {0.3250, 0.2189, 0.2757, 0.1804},
8259 {0.2350, 0.3472, 0.0862, 0.3316},
8260 {0.1851, 0.2456, 0.3293, 0.2400},
8261 {0.1469, 0.2734, 0.3391, 0.2406}},
8262 {
8263 {0.1830, 0.1932, 0.3263, 0.2975},
8264 {0.1808, 0.4057, 0.1161, 0.2975},
8265 {0.2573, 0.2244, 0.2507, 0.2676},
8266 {0.1796, 0.2326, 0.3149, 0.2728}}
8267 },
8268 { /* Splice_Site: T2_GT; Species: Chick */
8269 {
8270 {0.1365, 0.1365, 0.1365, 0.1365},
8271 {0.3811, 0.3811, 0.3811, 0.3811},
8272 {0.3010, 0.3010, 0.3010, 0.3010},
8273 {0.1814, 0.1814, 0.1814, 0.1814}},
8274 {
8275 {0.3127, 0.0624, 0.5601, 0.0648},
8276 {0.3437, 0.1542, 0.2000, 0.3021},
8277 {0.2056, 0.2925, 0.3086, 0.1933},
8278 {0.1904, 0.1818, 0.4403, 0.1875}},
8279 {
8280 {0.2402, 0.2051, 0.2059, 0.3487},
8281 {0.2598, 0.2271, 0.1549, 0.3582},
8282 {0.2242, 0.3636, 0.1369, 0.2753},
8283 {0.1171, 0.1973, 0.3726, 0.3130}},
8284 {
8285 {0.1204, 0.2583, 0.4293, 0.1920},
8286 {0.2149, 0.3975, 0.1750, 0.2126},
8287 {0.1012, 0.4808, 0.2791, 0.1389},
8288 {0.0685, 0.3547, 0.4543, 0.1224}},
8289 {
8290 {0.1804, 0.1298, 0.5378, 0.1520},
8291 {0.3743, 0.3427, 0.1269, 0.1561},
8292 {0.2737, 0.3253, 0.3513, 0.0497},
8293 {0.1245, 0.3163, 0.5345, 0.0248}},
8294 {
8295 {0.4022, 0.2254, 0.1715, 0.2009},
8296 {0.3573, 0.2021, 0.1418, 0.2988},
8297 {0.3541, 0.3065, 0.2092, 0.1302},
8298 {0.2617, 0.4676, 0.1390, 0.1317}},
8299 {
8300 {0.1061, 0.4524, 0.2569, 0.1847},
8301 {0.2873, 0.4029, 0.0920, 0.2178},
8302 {0.1723, 0.3811, 0.2694, 0.1772},
8303 {0.0203, 0.3367, 0.4921, 0.1510}},
8304 {
8305 {0.1150, 0.2881, 0.4295, 0.1673},
8306 {0.4519, 0.1778, 0.1916, 0.1788},
8307 {0.1912, 0.3942, 0.3015, 0.1132},
8308 {0.0935, 0.2382, 0.4163, 0.2520}},
8309 {
8310 {0.2879, 0.1450, 0.1838, 0.3833},
8311 {0.3084, 0.3081, 0.0795, 0.3040},
8312 {0.1324, 0.2822, 0.2014, 0.3840},
8313 {0.1269, 0.2159, 0.2649, 0.3924}},
8314 {
8315 {0.0961, 0.3376, 0.4060, 0.1603},
8316 {0.2444, 0.3925, 0.1032, 0.2598},
8317 {0.1038, 0.5026, 0.2596, 0.1340},
8318 {0.0489, 0.3247, 0.4603, 0.1661}},
8319 {
8320 {0.3433, 0.1837, 0.3596, 0.1135},
8321 {0.3217, 0.3008, 0.1742, 0.2034},
8322 {0.2560, 0.2315, 0.3731, 0.1394},
8323 {0.0961, 0.1167, 0.6097, 0.1776}},
8324 {
8325 {0.4414, 0.1985, 0.1730, 0.1871},
8326 {0.2351, 0.1958, 0.1478, 0.4212},
8327 {0.2243, 0.3798, 0.1940, 0.2018},
8328 {0.0757, 0.1966, 0.2075, 0.5202}},
8329 {
8330 {0.1537, 0.3391, 0.3432, 0.1640},
8331 {0.2430, 0.2918, 0.2058, 0.2594},
8332 {0.2345, 0.3098, 0.3821, 0.0735},
8333 {0.0709, 0.3030, 0.4778, 0.1483}},
8334 {
8335 {0.2069, 0.1295, 0.4868, 0.1768},
8336 {0.3070, 0.2198, 0.1738, 0.2994},
8337 {0.1912, 0.3315, 0.3311, 0.1461},
8338 {0.0996, 0.2585, 0.5155, 0.1264}},
8339 {
8340 {0.2783, 0.1575, 0.2339, 0.3304},
8341 {0.1824, 0.2064, 0.1527, 0.4585},
8342 {0.2740, 0.1837, 0.3320, 0.2103},
8343 {0.2452, 0.1368, 0.3151, 0.3029}},
8344 {
8345 {0.1183, 0.3505, 0.3282, 0.2029},
8346 {0.2448, 0.3463, 0.1395, 0.2693},
8347 {0.1496, 0.3605, 0.3946, 0.0953},
8348 {0.0631, 0.3442, 0.4178, 0.1749}},
8349 {
8350 {0.0921, 0.2970, 0.4822, 0.1287},
8351 {0.3113, 0.1828, 0.2324, 0.2735},
8352 {0.1496, 0.3298, 0.3815, 0.1391},
8353 {0.1195, 0.2435, 0.4926, 0.1443}},
8354 {
8355 {0.2506, 0.2441, 0.2803, 0.2250},
8356 {0.2286, 0.1791, 0.1145, 0.4778},
8357 {0.3300, 0.2551, 0.2667, 0.1483},
8358 {0.1883, 0.2037, 0.2694, 0.3387}},
8359 {
8360 {0.1414, 0.3058, 0.4051, 0.1476},
8361 {0.2497, 0.3547, 0.0775, 0.3181},
8362 {0.1266, 0.3798, 0.2931, 0.2005},
8363 {0.0315, 0.3634, 0.3836, 0.2214}},
8364 {
8365 {0.2334, 0.3145, 0.3584, 0.0937},
8366 {0.4324, 0.2271, 0.1212, 0.2192},
8367 {0.3808, 0.2498, 0.2835, 0.0858},
8368 {0.0758, 0.2887, 0.4022, 0.2332}},
8369 {
8370 {0.1589, 0.1223, 0.3221, 0.3967},
8371 {0.1584, 0.2251, 0.1470, 0.4695},
8372 {0.3501, 0.2056, 0.1821, 0.2622},
8373 {0.1508, 0.3105, 0.2544, 0.2844}},
8374 {
8375 {0.2799, 0.3066, 0.2901, 0.1234},
8376 {0.2504, 0.4137, 0.0814, 0.2545},
8377 {0.1152, 0.4961, 0.2417, 0.1470},
8378 {0.0703, 0.2926, 0.3642, 0.2729}},
8379 {
8380 {0.2368, 0.2367, 0.4247, 0.1018},
8381 {0.3251, 0.2737, 0.1250, 0.2762},
8382 {0.2712, 0.1420, 0.4473, 0.1395},
8383 {0.1199, 0.1588, 0.4988, 0.2225}},
8384 {
8385 {0.2682, 0.2319, 0.0675, 0.4325},
8386 {0.2729, 0.1012, 0.0798, 0.5461},
8387 {0.3546, 0.2034, 0.2626, 0.1793},
8388 {0.1026, 0.3104, 0.1884, 0.3985}},
8389 {
8390 {0.1641, 0.2974, 0.4088, 0.1297},
8391 {0.1015, 0.4173, 0.1375, 0.3437},
8392 {0.1335, 0.3708, 0.3671, 0.1286},
8393 {0.1169, 0.3512, 0.3264, 0.2055}},
8394 {
8395 {0.1971, 0.3092, 0.2290, 0.2647},
8396 {0.3398, 0.2167, 0.2046, 0.2389},
8397 {0.2307, 0.4380, 0.3027, 0.0287},
8398 {0.0639, 0.2114, 0.5636, 0.1611}},
8399 {
8400 {0.2556, 0.3482, 0.1615, 0.2347},
8401 {0.1538, 0.2982, 0.1526, 0.3954},
8402 {0.2077, 0.4600, 0.1846, 0.1477},
8403 {0.0994, 0.2335, 0.2661, 0.4010}},
8404 {
8405 {0.1119, 0.1804, 0.4808, 0.2269},
8406 {0.3110, 0.4508, 0.0798, 0.1584},
8407 {0.1172, 0.3958, 0.3106, 0.1765},
8408 {0.0727, 0.4215, 0.3513, 0.1545}},
8409 {
8410 {0.1761, 0.1477, 0.6524, 0.0238},
8411 {0.3311, 0.1942, 0.2104, 0.2644},
8412 {0.2393, 0.2577, 0.4073, 0.0957},
8413 {0.0725, 0.1903, 0.5908, 0.1464}},
8414 {
8415 {0.3223, 0.1904, 0.1436, 0.3438},
8416 {0.1632, 0.2042, 0.2535, 0.3791},
8417 {0.3112, 0.2612, 0.1981, 0.2295},
8418 {0.1652, 0.2697, 0.2733, 0.2918}},
8419 {
8420 {0.2429, 0.2289, 0.4144, 0.1138},
8421 {0.2488, 0.4244, 0.1785, 0.1483},
8422 {0.1625, 0.3635, 0.3677, 0.1063},
8423 {0.0257, 0.4465, 0.4155, 0.1123}},
8424 {
8425 {0.2059, 0.2289, 0.4377, 0.1276},
8426 {0.3532, 0.1733, 0.2190, 0.2544},
8427 {0.2200, 0.2933, 0.4035, 0.0832},
8428 {0.1341, 0.1022, 0.5422, 0.2214}},
8429 {
8430 {0.2963, 0.2310, 0.2575, 0.2152},
8431 {0.1987, 0.2975, 0.1550, 0.3487},
8432 {0.2123, 0.2612, 0.2338, 0.2926},
8433 {0.2760, 0.1507, 0.1423, 0.4310}},
8434 {
8435 {0.1962, 0.3120, 0.3342, 0.1577},
8436 {0.2160, 0.3309, 0.1530, 0.3001},
8437 {0.2604, 0.5187, 0.0816, 0.1393},
8438 {0.0573, 0.4002, 0.3345, 0.2080}},
8439 {
8440 {0.3218, 0.3594, 0.2949, 0.0239},
8441 {0.3362, 0.2920, 0.2068, 0.1651},
8442 {0.2258, 0.3166, 0.3315, 0.1261},
8443 {0.0811, 0.1924, 0.5591, 0.1674}},
8444 {
8445 {0.2338, 0.3137, 0.2089, 0.2436},
8446 {0.3241, 0.1842, 0.0921, 0.3996},
8447 {0.4016, 0.2106, 0.2067, 0.1811},
8448 {0.3227, 0.2909, 0.2908, 0.0956}},
8449 {
8450 {0.2733, 0.2872, 0.3735, 0.0660},
8451 {0.1764, 0.4700, 0.1911, 0.1625},
8452 {0.1418, 0.4434, 0.2537, 0.1611},
8453 {0.1698, 0.2361, 0.4904, 0.1037}},
8454 {
8455 {0.2991, 0.2089, 0.4488, 0.0432},
8456 {0.4174, 0.2660, 0.1450, 0.1717},
8457 {0.2639, 0.3629, 0.3221, 0.0510},
8458 {0.0806, 0.1792, 0.5950, 0.1451}},
8459 {
8460 {0.3442, 0.2397, 0.2325, 0.1836},
8461 {0.1502, 0.2904, 0.0884, 0.4710},
8462 {0.3061, 0.2656, 0.1472, 0.2810},
8463 {0.1692, 0.1576, 0.3422, 0.3310}},
8464 {
8465 {0.2448, 0.2577, 0.2427, 0.2549},
8466 {0.1755, 0.4789, 0.1279, 0.2176},
8467 {0.1461, 0.5709, 0.1614, 0.1216},
8468 {0.0655, 0.3519, 0.4401, 0.1425}},
8469 {
8470 {0.2129, 0.2508, 0.3738, 0.1625},
8471 {0.3954, 0.1900, 0.1288, 0.2858},
8472 {0.1796, 0.4249, 0.3323, 0.0632},
8473 {0.1203, 0.2016, 0.5890, 0.0891}},
8474 {
8475 {0.2559, 0.3350, 0.1978, 0.2112},
8476 {0.2915, 0.1827, 0.2045, 0.3213},
8477 {0.3203, 0.3279, 0.1666, 0.1852},
8478 {0.2370, 0.2664, 0.2272, 0.2694}},
8479 {
8480 {0.1973, 0.2388, 0.4335, 0.1304},
8481 {0.2377, 0.3244, 0.1235, 0.3144},
8482 {0.1523, 0.4752, 0.2176, 0.1549},
8483 {0.0191, 0.3775, 0.4927, 0.1106}},
8484 {
8485 {0.2458, 0.2127, 0.3528, 0.1887},
8486 {0.2600, 0.2879, 0.2050, 0.2472},
8487 {0.3204, 0.2775, 0.3240, 0.0782},
8488 {0.1441, 0.0729, 0.6524, 0.1305}},
8489 {
8490 {0.3356, 0.2996, 0.1959, 0.1689},
8491 {0.2348, 0.2156, 0.1611, 0.3884},
8492 {0.3839, 0.2750, 0.1471, 0.1940},
8493 {0.2321, 0.3082, 0.1052, 0.3545}},
8494 {
8495 {0.1855, 0.3232, 0.3123, 0.1790},
8496 {0.3098, 0.3861, 0.1018, 0.2023},
8497 {0.2670, 0.2699, 0.2735, 0.1896},
8498 {0.0981, 0.2584, 0.3972, 0.2464}},
8499 {
8500 {0.3735, 0.1995, 0.2881, 0.1388},
8501 {0.3470, 0.2040, 0.1856, 0.2635},
8502 {0.3616, 0.2675, 0.1583, 0.2127},
8503 {0.2103, 0.1241, 0.5418, 0.1237}},
8504 {
8505 {0.2749, 0.4467, 0.1540, 0.1244},
8506 {0.3347, 0.3961, 0.0427, 0.2265},
8507 {0.2488, 0.4694, 0.1580, 0.1238},
8508 {0.1083, 0.4107, 0.2131, 0.2679}},
8509 {
8510 {0.4010, 0.2149, 0.2479, 0.1362},
8511 {0.5630, 0.1529, 0.0889, 0.1952},
8512 {0.2041, 0.4425, 0.2614, 0.0919},
8513 {0.1215, 0.1691, 0.4502, 0.2592}},
8514 {
8515 {0.0112, 0.0216, 0.9547, 0.0125},
8516 {0.1578, 0.0971, 0.7061, 0.0390},
8517 {0.1571, 0.0763, 0.7273, 0.0393},
8518 {0.0000, 0.0000, 0.9743, 0.0257}},
8519 {
8520 {0.0000, 0.0000, 1.0000, 0.0000},
8521 {0.0000, 0.0000, 1.0000, 0.0000},
8522 {0.0000, 0.0000, 1.0000, 0.0000},
8523 {0.0000, 0.0000, 1.0000, 0.0000}},
8524 {
8525 {0.0000, 0.0000, 0.0000, 0.0000},
8526 {0.0000, 0.0000, 0.0000, 0.0000},
8527 {0.0000, 0.0000, 0.0000, 1.0000},
8528 {0.0000, 0.0000, 0.0000, 0.0000}},
8529 {
8530 {0.0000, 0.0000, 0.0000, 0.0000},
8531 {0.0000, 0.0000, 0.0000, 0.0000},
8532 {0.0000, 0.0000, 0.0000, 0.0000},
8533 {0.4868, 0.0377, 0.4715, 0.0041}},
8534 {
8535 {0.6271, 0.1313, 0.1427, 0.0989},
8536 {0.6718, 0.1094, 0.0000, 0.2188},
8537 {0.8433, 0.0497, 0.1070, 0.0000},
8538 {1.0000, 0.0000, 0.0000, 0.0000}},
8539 {
8540 {0.0756, 0.0396, 0.8562, 0.0286},
8541 {0.2443, 0.1740, 0.4895, 0.0923},
8542 {0.0697, 0.0329, 0.8627, 0.0347},
8543 {0.0788, 0.0749, 0.6945, 0.1518}},
8544 {
8545 {0.1917, 0.1060, 0.3294, 0.3730},
8546 {0.1537, 0.1450, 0.4814, 0.2200},
8547 {0.1091, 0.1692, 0.1408, 0.5809},
8548 {0.2033, 0.1031, 0.2960, 0.3976}},
8549 {
8550 {0.3440, 0.1400, 0.3496, 0.1664},
8551 {0.3203, 0.2397, 0.2558, 0.1842},
8552 {0.1386, 0.3200, 0.3013, 0.2401},
8553 {0.1464, 0.2021, 0.5039, 0.1476}},
8554 {
8555 {0.2110, 0.3385, 0.1510, 0.2995},
8556 {0.1262, 0.2809, 0.1202, 0.4727},
8557 {0.1840, 0.3946, 0.2748, 0.1466},
8558 {0.1244, 0.2962, 0.3772, 0.2022}},
8559 {
8560 {0.2474, 0.2313, 0.3226, 0.1988},
8561 {0.1929, 0.3239, 0.1082, 0.3750},
8562 {0.1504, 0.2972, 0.3535, 0.1988},
8563 {0.0989, 0.2836, 0.3241, 0.2935}},
8564 {
8565 {0.1977, 0.1775, 0.3745, 0.2503},
8566 {0.1793, 0.3213, 0.1922, 0.3072},
8567 {0.1961, 0.1076, 0.5366, 0.1597},
8568 {0.0762, 0.2215, 0.4348, 0.2675}},
8569 {
8570 {0.2642, 0.4435, 0.2129, 0.0795},
8571 {0.2789, 0.3919, 0.1169, 0.2123},
8572 {0.2876, 0.3123, 0.2686, 0.1316},
8573 {0.1922, 0.2356, 0.3847, 0.1875}},
8574 {
8575 {0.2017, 0.2763, 0.2887, 0.2334},
8576 {0.1940, 0.4009, 0.1545, 0.2506},
8577 {0.2183, 0.2171, 0.3736, 0.1910},
8578 {0.0822, 0.1852, 0.3508, 0.3818}},
8579 {
8580 {0.1890, 0.2130, 0.3249, 0.2731},
8581 {0.2240, 0.3046, 0.1739, 0.2976},
8582 {0.1380, 0.2704, 0.4712, 0.1204},
8583 {0.0676, 0.3811, 0.3379, 0.2135}},
8584 {
8585 {0.2703, 0.0533, 0.3669, 0.3094},
8586 {0.1572, 0.4426, 0.0838, 0.3163},
8587 {0.0917, 0.2196, 0.4221, 0.2666},
8588 {0.1673, 0.2982, 0.3636, 0.1709}},
8589 {
8590 {0.1893, 0.2737, 0.2176, 0.3194},
8591 {0.1829, 0.3620, 0.1867, 0.2683},
8592 {0.1348, 0.2875, 0.3919, 0.1858},
8593 {0.2285, 0.2443, 0.3667, 0.1605}},
8594 {
8595 {0.2498, 0.1857, 0.1825, 0.3820},
8596 {0.2477, 0.3915, 0.1431, 0.2177},
8597 {0.0838, 0.2489, 0.4281, 0.2391},
8598 {0.1260, 0.2656, 0.3240, 0.2843}},
8599 {
8600 {0.1718, 0.3681, 0.1703, 0.2898},
8601 {0.3138, 0.4062, 0.1166, 0.1633},
8602 {0.1071, 0.1649, 0.5182, 0.2099},
8603 {0.0520, 0.2513, 0.3934, 0.3032}},
8604 {
8605 {0.3607, 0.2368, 0.2670, 0.1356},
8606 {0.3140, 0.3086, 0.1020, 0.2754},
8607 {0.2004, 0.2311, 0.4042, 0.1643},
8608 {0.1595, 0.2707, 0.2275, 0.3423}},
8609 {
8610 {0.3646, 0.1710, 0.3102, 0.1542},
8611 {0.3070, 0.2566, 0.1882, 0.2482},
8612 {0.1139, 0.1921, 0.5280, 0.1661},
8613 {0.0740, 0.2338, 0.3812, 0.3110}},
8614 {
8615 {0.2696, 0.2208, 0.2504, 0.2593},
8616 {0.1627, 0.2149, 0.1959, 0.4265},
8617 {0.1180, 0.2856, 0.3672, 0.2292},
8618 {0.0586, 0.2916, 0.2910, 0.3588}},
8619 {
8620 {0.2964, 0.2256, 0.3038, 0.1742},
8621 {0.3050, 0.3703, 0.0979, 0.2268},
8622 {0.2042, 0.2490, 0.3272, 0.2195},
8623 {0.1917, 0.2435, 0.3465, 0.2183}},
8624 {
8625 {0.2478, 0.1704, 0.3581, 0.2236},
8626 {0.2609, 0.2595, 0.1542, 0.3254},
8627 {0.1207, 0.2475, 0.4760, 0.1558},
8628 {0.1631, 0.2415, 0.4136, 0.1819}},
8629 {
8630 {0.4643, 0.0636, 0.2545, 0.2176},
8631 {0.2576, 0.3585, 0.1782, 0.2056},
8632 {0.1607, 0.2177, 0.3932, 0.2285},
8633 {0.1895, 0.1681, 0.3887, 0.2537}},
8634 {
8635 {0.3355, 0.1702, 0.2622, 0.2322},
8636 {0.1835, 0.4125, 0.2027, 0.2013},
8637 {0.1402, 0.1837, 0.4865, 0.1895},
8638 {0.1160, 0.2507, 0.4053, 0.2281}},
8639 {
8640 {0.2191, 0.2624, 0.3201, 0.1985},
8641 {0.3089, 0.2950, 0.1235, 0.2727},
8642 {0.2058, 0.2421, 0.4424, 0.1096},
8643 {0.0786, 0.3105, 0.3077, 0.3032}},
8644 {
8645 {0.2451, 0.2988, 0.3114, 0.1447},
8646 {0.3328, 0.3121, 0.0742, 0.2809},
8647 {0.1728, 0.3541, 0.3968, 0.0764},
8648 {0.1960, 0.1497, 0.3234, 0.3309}},
8649 {
8650 {0.2150, 0.3460, 0.2080, 0.2311},
8651 {0.2476, 0.2742, 0.2796, 0.1985},
8652 {0.2391, 0.2753, 0.3056, 0.1800},
8653 {0.1512, 0.2341, 0.2762, 0.3386}},
8654 {
8655 {0.3858, 0.2477, 0.2293, 0.1372},
8656 {0.2439, 0.3721, 0.1309, 0.2532},
8657 {0.1543, 0.1729, 0.4834, 0.1894},
8658 {0.1451, 0.2111, 0.3701, 0.2737}},
8659 {
8660 {0.3136, 0.2440, 0.2641, 0.1783},
8661 {0.2972, 0.3785, 0.1160, 0.2083},
8662 {0.1536, 0.1437, 0.4548, 0.2478},
8663 {0.0966, 0.1386, 0.4667, 0.2981}},
8664 {
8665 {0.2609, 0.3311, 0.1118, 0.2962},
8666 {0.2464, 0.3008, 0.1712, 0.2816},
8667 {0.1576, 0.1326, 0.4851, 0.2248},
8668 {0.2017, 0.2708, 0.2344, 0.2931}},
8669 {
8670 {0.3440, 0.2057, 0.2889, 0.1614},
8671 {0.2223, 0.4037, 0.1555, 0.2184},
8672 {0.1798, 0.1504, 0.5655, 0.1043},
8673 {0.1272, 0.1970, 0.3296, 0.3462}},
8674 {
8675 {0.2904, 0.2117, 0.3204, 0.1775},
8676 {0.2204, 0.2867, 0.1762, 0.3167},
8677 {0.1227, 0.1693, 0.4435, 0.2646},
8678 {0.1605, 0.2156, 0.3327, 0.2912}},
8679 {
8680 {0.2047, 0.2363, 0.3151, 0.2440},
8681 {0.3273, 0.3254, 0.1175, 0.2298},
8682 {0.1644, 0.1946, 0.4359, 0.2051},
8683 {0.0979, 0.2371, 0.4615, 0.2034}},
8684 {
8685 {0.2057, 0.3290, 0.2201, 0.2452},
8686 {0.2619, 0.3953, 0.1357, 0.2072},
8687 {0.1206, 0.1577, 0.5173, 0.2044},
8688 {0.1371, 0.2245, 0.4642, 0.1741}},
8689 {
8690 {0.2181, 0.1474, 0.4157, 0.2189},
8691 {0.2309, 0.4002, 0.1592, 0.2097},
8692 {0.1063, 0.1975, 0.4686, 0.2277},
8693 {0.0389, 0.2280, 0.4315, 0.3016}},
8694 {
8695 {0.1453, 0.2052, 0.3612, 0.2883},
8696 {0.2360, 0.3596, 0.1346, 0.2698},
8697 {0.2301, 0.1917, 0.2835, 0.2947},
8698 {0.2281, 0.3046, 0.1994, 0.2679}},
8699 {
8700 {0.3031, 0.2458, 0.2570, 0.1942},
8701 {0.3098, 0.2859, 0.0656, 0.3386},
8702 {0.1231, 0.1970, 0.3975, 0.2825},
8703 {0.1201, 0.2061, 0.3268, 0.3470}},
8704 {
8705 {0.2115, 0.2404, 0.2858, 0.2623},
8706 {0.2872, 0.3077, 0.1748, 0.2304},
8707 {0.1930, 0.2320, 0.2474, 0.3276},
8708 {0.1167, 0.3370, 0.2551, 0.2912}},
8709 {
8710 {0.1865, 0.2143, 0.3216, 0.2776},
8711 {0.2553, 0.2946, 0.0894, 0.3607},
8712 {0.0546, 0.2956, 0.3859, 0.2640},
8713 {0.1504, 0.3507, 0.2317, 0.2672}},
8714 {
8715 {0.1990, 0.3613, 0.1771, 0.2625},
8716 {0.2574, 0.3615, 0.1012, 0.2798},
8717 {0.2778, 0.1226, 0.4133, 0.1862},
8718 {0.1262, 0.2707, 0.3882, 0.2149}},
8719 {
8720 {0.3534, 0.1560, 0.2085, 0.2821},
8721 {0.1582, 0.5373, 0.0597, 0.2448},
8722 {0.0794, 0.1940, 0.4821, 0.2445},
8723 {0.1315, 0.2769, 0.4355, 0.1561}},
8724 {
8725 {0.1753, 0.2218, 0.2731, 0.3298},
8726 {0.1983, 0.4150, 0.1664, 0.2204},
8727 {0.2165, 0.2011, 0.4141, 0.1683},
8728 {0.1221, 0.1983, 0.4194, 0.2601}},
8729 {
8730 {0.1161, 0.2301, 0.3456, 0.3082},
8731 {0.2217, 0.4149, 0.1939, 0.1695},
8732 {0.1751, 0.1853, 0.3565, 0.2831},
8733 {0.1277, 0.2774, 0.3954, 0.1995}},
8734 {
8735 {0.2573, 0.1554, 0.2897, 0.2976},
8736 {0.2319, 0.3411, 0.1489, 0.2781},
8737 {0.1225, 0.1882, 0.4077, 0.2817},
8738 {0.1393, 0.2134, 0.4304, 0.2170}},
8739 {
8740 {0.2613, 0.2149, 0.2874, 0.2363},
8741 {0.1292, 0.4464, 0.1826, 0.2418},
8742 {0.2247, 0.1434, 0.4211, 0.2109},
8743 {0.1118, 0.2392, 0.4150, 0.2339}},
8744 {
8745 {0.2193, 0.1151, 0.3042, 0.3613},
8746 {0.1971, 0.4494, 0.0659, 0.2876},
8747 {0.1923, 0.2741, 0.3698, 0.1638},
8748 {0.1103, 0.2627, 0.3868, 0.2403}},
8749 {
8750 {0.1873, 0.3240, 0.2377, 0.2510},
8751 {0.2882, 0.3148, 0.0998, 0.2971},
8752 {0.1753, 0.2491, 0.4269, 0.1486},
8753 {0.0825, 0.2423, 0.4233, 0.2519}},
8754 {
8755 {0.1329, 0.2640, 0.3748, 0.2283},
8756 {0.3210, 0.3312, 0.1189, 0.2289},
8757 {0.1790, 0.2946, 0.3545, 0.1720},
8758 {0.2205, 0.1858, 0.3712, 0.2225}},
8759 {
8760 {0.2110, 0.1378, 0.2725, 0.3787},
8761 {0.2437, 0.3577, 0.0877, 0.3109},
8762 {0.1599, 0.3367, 0.2478, 0.2557},
8763 {0.1621, 0.2232, 0.3907, 0.2239}},
8764 {
8765 {0.2352, 0.2369, 0.3321, 0.1958},
8766 {0.1799, 0.3581, 0.1386, 0.3234},
8767 {0.1218, 0.3882, 0.3691, 0.1208},
8768 {0.1427, 0.2277, 0.4397, 0.1900}},
8769 {
8770 {0.1740, 0.3146, 0.2751, 0.2363},
8771 {0.2177, 0.2153, 0.2129, 0.3541},
8772 {0.1339, 0.2643, 0.3873, 0.2146},
8773 {0.0820, 0.2656, 0.4679, 0.1845}},
8774 {
8775 {0.2732, 0.1331, 0.3218, 0.2718},
8776 {0.2764, 0.3166, 0.1129, 0.2941},
8777 {0.1744, 0.2271, 0.3774, 0.2211},
8778 {0.1225, 0.2166, 0.4104, 0.2505}}
8779 },
8780 { /* Splice_Site: T0_GT; Species: Chick */
8781 {
8782 {0.2822, 0.2822, 0.2822, 0.2822},
8783 {0.2815, 0.2815, 0.2815, 0.2815},
8784 {0.2866, 0.2866, 0.2866, 0.2866},
8785 {0.1496, 0.1496, 0.1496, 0.1496}},
8786 {
8787 {0.4292, 0.2360, 0.0653, 0.2695},
8788 {0.1679, 0.1372, 0.3286, 0.3662},
8789 {0.4220, 0.2922, 0.0640, 0.2219},
8790 {0.1212, 0.3758, 0.3204, 0.1826}},
8791 {
8792 {0.1831, 0.2422, 0.4235, 0.1512},
8793 {0.2283, 0.4660, 0.0753, 0.2304},
8794 {0.1040, 0.4699, 0.3692, 0.0568},
8795 {0.0375, 0.3753, 0.4891, 0.0980}},
8796 {
8797 {0.3994, 0.2772, 0.1986, 0.1247},
8798 {0.3257, 0.2495, 0.1018, 0.3230},
8799 {0.2952, 0.3022, 0.3219, 0.0808},
8800 {0.2007, 0.3364, 0.3282, 0.1347}},
8801 {
8802 {0.2399, 0.2143, 0.2149, 0.3309},
8803 {0.3299, 0.2347, 0.1307, 0.3047},
8804 {0.1718, 0.1632, 0.3765, 0.2886},
8805 {0.1563, 0.2505, 0.2513, 0.3419}},
8806 {
8807 {0.2362, 0.2011, 0.3602, 0.2025},
8808 {0.1371, 0.4272, 0.0890, 0.3466},
8809 {0.0826, 0.3566, 0.3585, 0.2023},
8810 {0.0860, 0.4132, 0.3821, 0.1187}},
8811 {
8812 {0.5765, 0.1426, 0.2089, 0.0719},
8813 {0.4143, 0.2682, 0.1587, 0.1589},
8814 {0.3004, 0.2432, 0.3339, 0.1224},
8815 {0.1394, 0.1852, 0.5440, 0.1314}},
8816 {
8817 {0.3278, 0.2947, 0.1891, 0.1885},
8818 {0.2930, 0.0787, 0.2060, 0.4223},
8819 {0.4719, 0.2158, 0.2513, 0.0610},
8820 {0.1398, 0.1468, 0.2144, 0.4989}},
8821 {
8822 {0.1957, 0.2833, 0.3584, 0.1626},
8823 {0.0899, 0.5950, 0.0896, 0.2255},
8824 {0.1332, 0.3460, 0.3040, 0.2168},
8825 {0.0000, 0.3094, 0.5382, 0.1524}},
8826 {
8827 {0.5020, 0.1659, 0.3322, 0.0000},
8828 {0.3796, 0.1834, 0.2040, 0.2330},
8829 {0.2221, 0.2784, 0.3875, 0.1121},
8830 {0.0947, 0.2092, 0.6019, 0.0941}},
8831 {
8832 {0.4201, 0.2568, 0.2307, 0.0924},
8833 {0.2545, 0.3160, 0.1335, 0.2960},
8834 {0.1577, 0.3927, 0.3144, 0.1352},
8835 {0.1920, 0.1273, 0.2705, 0.4103}},
8836 {
8837 {0.1080, 0.2909, 0.3192, 0.2818},
8838 {0.1606, 0.3694, 0.1878, 0.2822},
8839 {0.2326, 0.4598, 0.1915, 0.1161},
8840 {0.0940, 0.3325, 0.3909, 0.1826}},
8841 {
8842 {0.1214, 0.1311, 0.5597, 0.1878},
8843 {0.3267, 0.1858, 0.1786, 0.3089},
8844 {0.3906, 0.1516, 0.3504, 0.1075},
8845 {0.2120, 0.2845, 0.3772, 0.1263}},
8846 {
8847 {0.3504, 0.1925, 0.2611, 0.1960},
8848 {0.0950, 0.2872, 0.1541, 0.4638},
8849 {0.2891, 0.3121, 0.1977, 0.2010},
8850 {0.0991, 0.2805, 0.3353, 0.2852}},
8851 {
8852 {0.2378, 0.2407, 0.3592, 0.1623},
8853 {0.2403, 0.3792, 0.1037, 0.2768},
8854 {0.1972, 0.4819, 0.1626, 0.1583},
8855 {0.0000, 0.5272, 0.4038, 0.0690}},
8856 {
8857 {0.3403, 0.0524, 0.5052, 0.1021},
8858 {0.4778, 0.3614, 0.0455, 0.1153},
8859 {0.2189, 0.3349, 0.3729, 0.0733},
8860 {0.2268, 0.1123, 0.5542, 0.1067}},
8861 {
8862 {0.4371, 0.1364, 0.2116, 0.2148},
8863 {0.4647, 0.2780, 0.0716, 0.1856},
8864 {0.2877, 0.3235, 0.2582, 0.1307},
8865 {0.1927, 0.1777, 0.3600, 0.2696}},
8866 {
8867 {0.1250, 0.1977, 0.3007, 0.3766},
8868 {0.2750, 0.4056, 0.0000, 0.3194},
8869 {0.1761, 0.3200, 0.3199, 0.1839},
8870 {0.0000, 0.1471, 0.8034, 0.0496}},
8871 {
8872 {0.3117, 0.0610, 0.3754, 0.2520},
8873 {0.3192, 0.2546, 0.1763, 0.2499},
8874 {0.2601, 0.2033, 0.4211, 0.1154},
8875 {0.2492, 0.1414, 0.5384, 0.0710}},
8876 {
8877 {0.3331, 0.1970, 0.2670, 0.2028},
8878 {0.3113, 0.2106, 0.0000, 0.4782},
8879 {0.2901, 0.2217, 0.1749, 0.3133},
8880 {0.1175, 0.0581, 0.4718, 0.3526}},
8881 {
8882 {0.2001, 0.1343, 0.4997, 0.1658},
8883 {0.1976, 0.4494, 0.2033, 0.1497},
8884 {0.2159, 0.3864, 0.2645, 0.1331},
8885 {0.0877, 0.2626, 0.4107, 0.2390}},
8886 {
8887 {0.1101, 0.3420, 0.3342, 0.2137},
8888 {0.2934, 0.2561, 0.3245, 0.1260},
8889 {0.2800, 0.1594, 0.3820, 0.1787},
8890 {0.3207, 0.2084, 0.4147, 0.0563}},
8891 {
8892 {0.4265, 0.2898, 0.1418, 0.1419},
8893 {0.3319, 0.3349, 0.0841, 0.2491},
8894 {0.4328, 0.1806, 0.2060, 0.1807},
8895 {0.2454, 0.1928, 0.4338, 0.1279}},
8896 {
8897 {0.2202, 0.3394, 0.3443, 0.0961},
8898 {0.1542, 0.5785, 0.1174, 0.1498},
8899 {0.1898, 0.4798, 0.1872, 0.1432},
8900 {0.0000, 0.3731, 0.5212, 0.1057}},
8901 {
8902 {0.2895, 0.1806, 0.2332, 0.2967},
8903 {0.1986, 0.3491, 0.1935, 0.2588},
8904 {0.1319, 0.3554, 0.4145, 0.0982},
8905 {0.0791, 0.1522, 0.5328, 0.2359}},
8906 {
8907 {0.2123, 0.4221, 0.2094, 0.1562},
8908 {0.2825, 0.2212, 0.1556, 0.3406},
8909 {0.4522, 0.1239, 0.2439, 0.1799},
8910 {0.1770, 0.3942, 0.2600, 0.1688}},
8911 {
8912 {0.1226, 0.2500, 0.5017, 0.1258},
8913 {0.1069, 0.5682, 0.1075, 0.2174},
8914 {0.0877, 0.4293, 0.3978, 0.0851},
8915 {0.1279, 0.2105, 0.5353, 0.1263}},
8916 {
8917 {0.3413, 0.2478, 0.2532, 0.1577},
8918 {0.3606, 0.2791, 0.1271, 0.2331},
8919 {0.4383, 0.2709, 0.1923, 0.0985},
8920 {0.0660, 0.2667, 0.4690, 0.1983}},
8921 {
8922 {0.1796, 0.2498, 0.1892, 0.3814},
8923 {0.3393, 0.1378, 0.0695, 0.4534},
8924 {0.3859, 0.1332, 0.2212, 0.2596},
8925 {0.1155, 0.3360, 0.2124, 0.3361}},
8926 {
8927 {0.1780, 0.3235, 0.3133, 0.1852},
8928 {0.1353, 0.4012, 0.0449, 0.4186},
8929 {0.2275, 0.2137, 0.2261, 0.3327},
8930 {0.0257, 0.2378, 0.4837, 0.2528}},
8931 {
8932 {0.2307, 0.0758, 0.4611, 0.2324},
8933 {0.2650, 0.2850, 0.1860, 0.2641},
8934 {0.2415, 0.1231, 0.4859, 0.1495},
8935 {0.0706, 0.0627, 0.7008, 0.1659}},
8936 {
8937 {0.4737, 0.2411, 0.1841, 0.1012},
8938 {0.3200, 0.1839, 0.1776, 0.3185},
8939 {0.2038, 0.2643, 0.3050, 0.2270},
8940 {0.1931, 0.2786, 0.1918, 0.3365}},
8941 {
8942 {0.0000, 0.3439, 0.3798, 0.2763},
8943 {0.3299, 0.3278, 0.1540, 0.1883},
8944 {0.2336, 0.4568, 0.2324, 0.0773},
8945 {0.0383, 0.4779, 0.3622, 0.1215}},
8946 {
8947 {0.1257, 0.1265, 0.4956, 0.2522},
8948 {0.3938, 0.1873, 0.1646, 0.2543},
8949 {0.3361, 0.3012, 0.3003, 0.0624},
8950 {0.1683, 0.1049, 0.5584, 0.1685}},
8951 {
8952 {0.4327, 0.1269, 0.1606, 0.2797},
8953 {0.2824, 0.0947, 0.2437, 0.3792},
8954 {0.3263, 0.2321, 0.1171, 0.3246},
8955 {0.2056, 0.3934, 0.2002, 0.2008}},
8956 {
8957 {0.1476, 0.2559, 0.3918, 0.2047},
8958 {0.3203, 0.3663, 0.0000, 0.3135},
8959 {0.0565, 0.4364, 0.2877, 0.2193},
8960 {0.0691, 0.4319, 0.4067, 0.0922}},
8961 {
8962 {0.2646, 0.1302, 0.4091, 0.1961},
8963 {0.2324, 0.2538, 0.2027, 0.3110},
8964 {0.2526, 0.2751, 0.3827, 0.0897},
8965 {0.1946, 0.0423, 0.6211, 0.1420}},
8966 {
8967 {0.2363, 0.2405, 0.2386, 0.2845},
8968 {0.3193, 0.3650, 0.0000, 0.3157},
8969 {0.4541, 0.1559, 0.1278, 0.2622},
8970 {0.1412, 0.2362, 0.2394, 0.3832}},
8971 {
8972 {0.2054, 0.2953, 0.3249, 0.1744},
8973 {0.2404, 0.4047, 0.0772, 0.2777},
8974 {0.0645, 0.3129, 0.3118, 0.3107},
8975 {0.0626, 0.4417, 0.3390, 0.1568}},
8976 {
8977 {0.1238, 0.3767, 0.4365, 0.0630},
8978 {0.3318, 0.1856, 0.2069, 0.2757},
8979 {0.3816, 0.2415, 0.3079, 0.0690},
8980 {0.2159, 0.0873, 0.5222, 0.1746}},
8981 {
8982 {0.4524, 0.1585, 0.1295, 0.2596},
8983 {0.2701, 0.3207, 0.0929, 0.3163},
8984 {0.2473, 0.2189, 0.3693, 0.1645},
8985 {0.1770, 0.2302, 0.2730, 0.3198}},
8986 {
8987 {0.2519, 0.2243, 0.3722, 0.1516},
8988 {0.1242, 0.2062, 0.0846, 0.5850},
8989 {0.2932, 0.4568, 0.1669, 0.0831},
8990 {0.1110, 0.2573, 0.4098, 0.2220}},
8991 {
8992 {0.1361, 0.2847, 0.4349, 0.1442},
8993 {0.3669, 0.3339, 0.1030, 0.1962},
8994 {0.2773, 0.1696, 0.4525, 0.1007},
8995 {0.1084, 0.2558, 0.5998, 0.0360}},
8996 {
8997 {0.1193, 0.1240, 0.3222, 0.4345},
8998 {0.2482, 0.0000, 0.2157, 0.5361},
8999 {0.3433, 0.3410, 0.1473, 0.1684},
9000 {0.4740, 0.2239, 0.2269, 0.0753}},
9001 {
9002 {0.3351, 0.1665, 0.2988, 0.1996},
9003 {0.0530, 0.3455, 0.0000, 0.6015},
9004 {0.0438, 0.4730, 0.3948, 0.0885},
9005 {0.0000, 0.2357, 0.4983, 0.2660}},
9006 {
9007 {0.6597, 0.0811, 0.0858, 0.1734},
9008 {0.5204, 0.1587, 0.0655, 0.2554},
9009 {0.4307, 0.1434, 0.3432, 0.0827},
9010 {0.1380, 0.1344, 0.5178, 0.2098}},
9011 {
9012 {0.3017, 0.1851, 0.2633, 0.2499},
9013 {0.5341, 0.1941, 0.0000, 0.2718},
9014 {0.2368, 0.3008, 0.3328, 0.1296},
9015 {0.2673, 0.2549, 0.0526, 0.4251}},
9016 {
9017 {0.1505, 0.5456, 0.2439, 0.0600},
9018 {0.2840, 0.5574, 0.0390, 0.1195},
9019 {0.3130, 0.4590, 0.1807, 0.0473},
9020 {0.1510, 0.6300, 0.1813, 0.0378}},
9021 {
9022 {0.6917, 0.1342, 0.1294, 0.0447},
9023 {0.7304, 0.1331, 0.0695, 0.0671},
9024 {0.4978, 0.2723, 0.1729, 0.0570},
9025 {0.2782, 0.4396, 0.2822, 0.0000}},
9026 {
9027 {0.1981, 0.0421, 0.7168, 0.0430},
9028 {0.3131, 0.1062, 0.4278, 0.1529},
9029 {0.2538, 0.1641, 0.5821, 0.0000},
9030 {0.1578, 0.0000, 0.8422, 0.0000}},
9031 {
9032 {0.0000, 0.0000, 1.0000, 0.0000},
9033 {0.0000, 0.0000, 1.0000, 0.0000},
9034 {0.0000, 0.0000, 1.0000, 0.0000},
9035 {0.0000, 0.0000, 1.0000, 0.0000}},
9036 {
9037 {0.0000, 0.0000, 0.0000, 0.0000},
9038 {0.0000, 0.0000, 0.0000, 0.0000},
9039 {0.0000, 0.0000, 0.0000, 1.0000},
9040 {0.0000, 0.0000, 0.0000, 0.0000}},
9041 {
9042 {0.0000, 0.0000, 0.0000, 0.0000},
9043 {0.0000, 0.0000, 0.0000, 0.0000},
9044 {0.0000, 0.0000, 0.0000, 0.0000},
9045 {0.5700, 0.0092, 0.4021, 0.0186}},
9046 {
9047 {0.5859, 0.0660, 0.2345, 0.1136},
9048 {1.0000, 0.0000, 0.0000, 0.0000},
9049 {0.8145, 0.0453, 0.0911, 0.0490},
9050 {0.4830, 0.0000, 0.0000, 0.5170}},
9051 {
9052 {0.0409, 0.0955, 0.8227, 0.0410},
9053 {0.1781, 0.0000, 0.4875, 0.3343},
9054 {0.0585, 0.0000, 0.8851, 0.0564},
9055 {0.0000, 0.0000, 0.8989, 0.1011}},
9056 {
9057 {0.0000, 0.0000, 0.6070, 0.3930},
9058 {0.4204, 0.1456, 0.1491, 0.2850},
9059 {0.1017, 0.1358, 0.2505, 0.5120},
9060 {0.2778, 0.0000, 0.5773, 0.1449}},
9061 {
9062 {0.1457, 0.1396, 0.5012, 0.2135},
9063 {0.5428, 0.2344, 0.0741, 0.1487},
9064 {0.2041, 0.2265, 0.4353, 0.1341},
9065 {0.2586, 0.2244, 0.3810, 0.1360}},
9066 {
9067 {0.1437, 0.2119, 0.3950, 0.2494},
9068 {0.1707, 0.5242, 0.0424, 0.2626},
9069 {0.2473, 0.2224, 0.3796, 0.1507},
9070 {0.2508, 0.1828, 0.3096, 0.2568}},
9071 {
9072 {0.2326, 0.2281, 0.2260, 0.3133},
9073 {0.2980, 0.4302, 0.0686, 0.2032},
9074 {0.1604, 0.1812, 0.4680, 0.1904},
9075 {0.1755, 0.1301, 0.4327, 0.2618}},
9076 {
9077 {0.1747, 0.1705, 0.4335, 0.2214},
9078 {0.4154, 0.2612, 0.1057, 0.2177},
9079 {0.1254, 0.2493, 0.6253, 0.0000},
9080 {0.2407, 0.1610, 0.2751, 0.3232}},
9081 {
9082 {0.2400, 0.4020, 0.3160, 0.0420},
9083 {0.2521, 0.2647, 0.2176, 0.2656},
9084 {0.1517, 0.2509, 0.4506, 0.1468},
9085 {0.2672, 0.0530, 0.3658, 0.3140}},
9086 {
9087 {0.2145, 0.2655, 0.3094, 0.2105},
9088 {0.3381, 0.2174, 0.1117, 0.3329},
9089 {0.0518, 0.3143, 0.4469, 0.1870},
9090 {0.0000, 0.3189, 0.3198, 0.3612}},
9091 {
9092 {0.4253, 0.2586, 0.2563, 0.0598},
9093 {0.2017, 0.3338, 0.0990, 0.3655},
9094 {0.0889, 0.3028, 0.4248, 0.1835},
9095 {0.0734, 0.2476, 0.3212, 0.3578}},
9096 {
9097 {0.2703, 0.1077, 0.2797, 0.3423},
9098 {0.3543, 0.3208, 0.1334, 0.1915},
9099 {0.1350, 0.2985, 0.3288, 0.2376},
9100 {0.1024, 0.1734, 0.3300, 0.3942}},
9101 {
9102 {0.1265, 0.2155, 0.3953, 0.2628},
9103 {0.4289, 0.0411, 0.2707, 0.2593},
9104 {0.0718, 0.1052, 0.4629, 0.3601},
9105 {0.1348, 0.2664, 0.2932, 0.3056}},
9106 {
9107 {0.3484, 0.2043, 0.3988, 0.0486},
9108 {0.2944, 0.2391, 0.0000, 0.4664},
9109 {0.1340, 0.1034, 0.5200, 0.2427},
9110 {0.1239, 0.1923, 0.3430, 0.3408}},
9111 {
9112 {0.2802, 0.2380, 0.2389, 0.2429},
9113 {0.1643, 0.1099, 0.1148, 0.6111},
9114 {0.1261, 0.2108, 0.5099, 0.1532},
9115 {0.0721, 0.1399, 0.3379, 0.4501}},
9116 {
9117 {0.3041, 0.1922, 0.2579, 0.2458},
9118 {0.2582, 0.3743, 0.0000, 0.3674},
9119 {0.2443, 0.1608, 0.3517, 0.2432},
9120 {0.0579, 0.2629, 0.3699, 0.3094}},
9121 {
9122 {0.2401, 0.2899, 0.1893, 0.2807},
9123 {0.1551, 0.3656, 0.0410, 0.4383},
9124 {0.1627, 0.2038, 0.4636, 0.1698},
9125 {0.0605, 0.2904, 0.4521, 0.1969}},
9126 {
9127 {0.1870, 0.3068, 0.1235, 0.3826},
9128 {0.2642, 0.3378, 0.1685, 0.2295},
9129 {0.1489, 0.2112, 0.4542, 0.1857},
9130 {0.0710, 0.2466, 0.3853, 0.2971}},
9131 {
9132 {0.2779, 0.2233, 0.2776, 0.2212},
9133 {0.3085, 0.2437, 0.1023, 0.3455},
9134 {0.0590, 0.2801, 0.4212, 0.2397},
9135 {0.2648, 0.1106, 0.4477, 0.1768}},
9136 {
9137 {0.2642, 0.1725, 0.3380, 0.2253},
9138 {0.1743, 0.1323, 0.1724, 0.5210},
9139 {0.1158, 0.2703, 0.4658, 0.1480},
9140 {0.0744, 0.3015, 0.3623, 0.2618}},
9141 {
9142 {0.2572, 0.1898, 0.2473, 0.3056},
9143 {0.1284, 0.5329, 0.0824, 0.2563},
9144 {0.1039, 0.2117, 0.3936, 0.2908},
9145 {0.1068, 0.1734, 0.4460, 0.2738}},
9146 {
9147 {0.0000, 0.2145, 0.5658, 0.2198},
9148 {0.2755, 0.2400, 0.1380, 0.3465},
9149 {0.1113, 0.2062, 0.4384, 0.2441},
9150 {0.1359, 0.3316, 0.3311, 0.2015}},
9151 {
9152 {0.1887, 0.1908, 0.4236, 0.1970},
9153 {0.1126, 0.4022, 0.0750, 0.4102},
9154 {0.1081, 0.2988, 0.3500, 0.2432},
9155 {0.0733, 0.3755, 0.3682, 0.1830}},
9156 {
9157 {0.5002, 0.0000, 0.3354, 0.1645},
9158 {0.2271, 0.4595, 0.1708, 0.1426},
9159 {0.1540, 0.1903, 0.4316, 0.2242},
9160 {0.1101, 0.3253, 0.3189, 0.2457}},
9161 {
9162 {0.3690, 0.1810, 0.2657, 0.1843},
9163 {0.2298, 0.2273, 0.1595, 0.3833},
9164 {0.1849, 0.3344, 0.2956, 0.1851},
9165 {0.0955, 0.3358, 0.3888, 0.1799}},
9166 {
9167 {0.2671, 0.3491, 0.2975, 0.0863},
9168 {0.1044, 0.3817, 0.2074, 0.3064},
9169 {0.1978, 0.2099, 0.3441, 0.2482},
9170 {0.1898, 0.1985, 0.3796, 0.2321}},
9171 {
9172 {0.1558, 0.3379, 0.2477, 0.2586},
9173 {0.3070, 0.3948, 0.0662, 0.2321},
9174 {0.2704, 0.2726, 0.3948, 0.0622},
9175 {0.1651, 0.1617, 0.5428, 0.1304}},
9176 {
9177 {0.2398, 0.1529, 0.2412, 0.3662},
9178 {0.3446, 0.3130, 0.1234, 0.2190},
9179 {0.0616, 0.2711, 0.6051, 0.0622},
9180 {0.1724, 0.3000, 0.3505, 0.1771}},
9181 {
9182 {0.1761, 0.2681, 0.1807, 0.3751},
9183 {0.2837, 0.2149, 0.0724, 0.4290},
9184 {0.1707, 0.2776, 0.3290, 0.2227},
9185 {0.0490, 0.1460, 0.5276, 0.2774}},
9186 {
9187 {0.4292, 0.0000, 0.2645, 0.3063},
9188 {0.3194, 0.2804, 0.2031, 0.1971},
9189 {0.2052, 0.0672, 0.3074, 0.4202},
9190 {0.1752, 0.1223, 0.3171, 0.3854}},
9191 {
9192 {0.2481, 0.2135, 0.1081, 0.4303},
9193 {0.0791, 0.3845, 0.0777, 0.4587},
9194 {0.0351, 0.2623, 0.5013, 0.2013},
9195 {0.1932, 0.1431, 0.3081, 0.3556}},
9196 {
9197 {0.2466, 0.2494, 0.2502, 0.2538},
9198 {0.1275, 0.5462, 0.0801, 0.2461},
9199 {0.0986, 0.2018, 0.5991, 0.1005},
9200 {0.2437, 0.3791, 0.2171, 0.1601}},
9201 {
9202 {0.4719, 0.1032, 0.2148, 0.2100},
9203 {0.3998, 0.2994, 0.0550, 0.2458},
9204 {0.2509, 0.0948, 0.4378, 0.2165},
9205 {0.0000, 0.3165, 0.4790, 0.2045}},
9206 {
9207 {0.1884, 0.2798, 0.3726, 0.1592},
9208 {0.5035, 0.2626, 0.0000, 0.2339},
9209 {0.1683, 0.3128, 0.3789, 0.1400},
9210 {0.0412, 0.3693, 0.3368, 0.2527}},
9211 {
9212 {0.3418, 0.2195, 0.0438, 0.3948},
9213 {0.2134, 0.3071, 0.1530, 0.3265},
9214 {0.1296, 0.3549, 0.4227, 0.0928},
9215 {0.1529, 0.0496, 0.4497, 0.3477}},
9216 {
9217 {0.1836, 0.1363, 0.4063, 0.2738},
9218 {0.2578, 0.4407, 0.0745, 0.2270},
9219 {0.1787, 0.2128, 0.2867, 0.3218},
9220 {0.1975, 0.2612, 0.2712, 0.2701}},
9221 {
9222 {0.1863, 0.1751, 0.3119, 0.3267},
9223 {0.2738, 0.2429, 0.1080, 0.3754},
9224 {0.1114, 0.2313, 0.3659, 0.2913},
9225 {0.2752, 0.3103, 0.2442, 0.1702}},
9226 {
9227 {0.3034, 0.1269, 0.3047, 0.2651},
9228 {0.4203, 0.1900, 0.1177, 0.2719},
9229 {0.0754, 0.1848, 0.4105, 0.3293},
9230 {0.1657, 0.0978, 0.4480, 0.2886}},
9231 {
9232 {0.1273, 0.3167, 0.3581, 0.1980},
9233 {0.0000, 0.3690, 0.1314, 0.4996},
9234 {0.2916, 0.2267, 0.3443, 0.1373},
9235 {0.0950, 0.1565, 0.4201, 0.3284}},
9236 {
9237 {0.2489, 0.1848, 0.3788, 0.1875},
9238 {0.3286, 0.1848, 0.1892, 0.2974},
9239 {0.1401, 0.2464, 0.4774, 0.1361},
9240 {0.1054, 0.1804, 0.4593, 0.2549}},
9241 {
9242 {0.2417, 0.1410, 0.3356, 0.2816},
9243 {0.3320, 0.3035, 0.1351, 0.2294},
9244 {0.1733, 0.2924, 0.2933, 0.2411},
9245 {0.1763, 0.3853, 0.1741, 0.2642}},
9246 {
9247 {0.2566, 0.2620, 0.2683, 0.2131},
9248 {0.2307, 0.2240, 0.1300, 0.4153},
9249 {0.3087, 0.1543, 0.3062, 0.2308},
9250 {0.0732, 0.1161, 0.5950, 0.2157}},
9251 {
9252 {0.3070, 0.1321, 0.3396, 0.2213},
9253 {0.5540, 0.2951, 0.0000, 0.1509},
9254 {0.1452, 0.1164, 0.4986, 0.2399},
9255 {0.1675, 0.1005, 0.4352, 0.2968}},
9256 {
9257 {0.2479, 0.1450, 0.3246, 0.2826},
9258 {0.3744, 0.3080, 0.0653, 0.2523},
9259 {0.2675, 0.3674, 0.1315, 0.2336},
9260 {0.0356, 0.2453, 0.3990, 0.3201}},
9261 {
9262 {0.3333, 0.1266, 0.1274, 0.4127},
9263 {0.2394, 0.3160, 0.1029, 0.3417},
9264 {0.1198, 0.2011, 0.3570, 0.3221},
9265 {0.1380, 0.2748, 0.3483, 0.2389}},
9266 {
9267 {0.4142, 0.2282, 0.1769, 0.1808},
9268 {0.2810, 0.2332, 0.1199, 0.3660},
9269 {0.1998, 0.1953, 0.3190, 0.2859},
9270 {0.0558, 0.1730, 0.4279, 0.3432}},
9271 {
9272 {0.2122, 0.4799, 0.3079, 0.0000},
9273 {0.0439, 0.3176, 0.2275, 0.4111},
9274 {0.0981, 0.1727, 0.5286, 0.2006},
9275 {0.0313, 0.2546, 0.3411, 0.3731}},
9276 {
9277 {0.3033, 0.0000, 0.4080, 0.2887},
9278 {0.2644, 0.3469, 0.1281, 0.2606},
9279 {0.2563, 0.1805, 0.3053, 0.2579},
9280 {0.0758, 0.2642, 0.4687, 0.1912}},
9281 {
9282 {0.1339, 0.2930, 0.4425, 0.1305},
9283 {0.1980, 0.5625, 0.0401, 0.1993},
9284 {0.1510, 0.2410, 0.2497, 0.3583},
9285 {0.1173, 0.1563, 0.4536, 0.2728}},
9286 {
9287 {0.3807, 0.2434, 0.1266, 0.2493},
9288 {0.1227, 0.2472, 0.2119, 0.4183},
9289 {0.1660, 0.4502, 0.3555, 0.0283},
9290 {0.1116, 0.1514, 0.3693, 0.3677}}
9291 },
9292 { /* Splice_Site: F1_GT; Species: Chick */
9293 {
9294 {0.2337, 0.2337, 0.2337, 0.2337},
9295 {0.3034, 0.3034, 0.3034, 0.3034},
9296 {0.2097, 0.2097, 0.2097, 0.2097},
9297 {0.2533, 0.2533, 0.2533, 0.2533}},
9298 {
9299 {0.2199, 0.2709, 0.3573, 0.1519},
9300 {0.2544, 0.4143, 0.1490, 0.1823},
9301 {0.1783, 0.3810, 0.2101, 0.2305},
9302 {0.0261, 0.3342, 0.4711, 0.1686}},
9303 {
9304 {0.3682, 0.1341, 0.2575, 0.2402},
9305 {0.3404, 0.2756, 0.1510, 0.2329},
9306 {0.2348, 0.3080, 0.3659, 0.0912},
9307 {0.1846, 0.2257, 0.3677, 0.2220}},
9308 {
9309 {0.2534, 0.2400, 0.2109, 0.2957},
9310 {0.1928, 0.2731, 0.1456, 0.3885},
9311 {0.3548, 0.1871, 0.2490, 0.2091},
9312 {0.1821, 0.3852, 0.1627, 0.2700}},
9313 {
9314 {0.1871, 0.4160, 0.2745, 0.1223},
9315 {0.3106, 0.3071, 0.0788, 0.3035},
9316 {0.2100, 0.2942, 0.2745, 0.2213},
9317 {0.0729, 0.3525, 0.4121, 0.1626}},
9318 {
9319 {0.3765, 0.1459, 0.3911, 0.0865},
9320 {0.3889, 0.2315, 0.1453, 0.2343},
9321 {0.2444, 0.2923, 0.3245, 0.1388},
9322 {0.0867, 0.2330, 0.4280, 0.2523}},
9323 {
9324 {0.2788, 0.2388, 0.1867, 0.2957},
9325 {0.2765, 0.3287, 0.0858, 0.3089},
9326 {0.3476, 0.2422, 0.2169, 0.1933},
9327 {0.1942, 0.2954, 0.3063, 0.2040}},
9328 {
9329 {0.0933, 0.2624, 0.4116, 0.2327},
9330 {0.2543, 0.4195, 0.1173, 0.2088},
9331 {0.1393, 0.5167, 0.2041, 0.1398},
9332 {0.1213, 0.3658, 0.3242, 0.1888}},
9333 {
9334 {0.2015, 0.1825, 0.3993, 0.2167},
9335 {0.2863, 0.3001, 0.1938, 0.2198},
9336 {0.1576, 0.3247, 0.3626, 0.1552},
9337 {0.1350, 0.1681, 0.5467, 0.1501}},
9338 {
9339 {0.2751, 0.2266, 0.1756, 0.3227},
9340 {0.1830, 0.3136, 0.1774, 0.3260},
9341 {0.3072, 0.2561, 0.2502, 0.1865},
9342 {0.1989, 0.2918, 0.1878, 0.3215}},
9343 {
9344 {0.1458, 0.3691, 0.3487, 0.1364},
9345 {0.1873, 0.4862, 0.0370, 0.2895},
9346 {0.1032, 0.4093, 0.2798, 0.2077},
9347 {0.0475, 0.4059, 0.3955, 0.1510}},
9348 {
9349 {0.1650, 0.1703, 0.5002, 0.1645},
9350 {0.3486, 0.2475, 0.1550, 0.2489},
9351 {0.2439, 0.2985, 0.3668, 0.0909},
9352 {0.1648, 0.1906, 0.4180, 0.2265}},
9353 {
9354 {0.3030, 0.1952, 0.1948, 0.3070},
9355 {0.3500, 0.2747, 0.0931, 0.2823},
9356 {0.2693, 0.3082, 0.1883, 0.2342},
9357 {0.1263, 0.2798, 0.1732, 0.4207}},
9358 {
9359 {0.1010, 0.2766, 0.3686, 0.2538},
9360 {0.2706, 0.3248, 0.1221, 0.2825},
9361 {0.1728, 0.3370, 0.2928, 0.1974},
9362 {0.0563, 0.3965, 0.3600, 0.1872}},
9363 {
9364 {0.2393, 0.3066, 0.3094, 0.1448},
9365 {0.2929, 0.3501, 0.1111, 0.2458},
9366 {0.1830, 0.3154, 0.2823, 0.2194},
9367 {0.0964, 0.2454, 0.4062, 0.2521}},
9368 {
9369 {0.1622, 0.2430, 0.3044, 0.2904},
9370 {0.2592, 0.3512, 0.0779, 0.3117},
9371 {0.4178, 0.1718, 0.2896, 0.1209},
9372 {0.1265, 0.3673, 0.2362, 0.2701}},
9373 {
9374 {0.1757, 0.2891, 0.3192, 0.2159},
9375 {0.1169, 0.4507, 0.1270, 0.3054},
9376 {0.0594, 0.4126, 0.3537, 0.1743},
9377 {0.0409, 0.3672, 0.3517, 0.2402}},
9378 {
9379 {0.1384, 0.3645, 0.3352, 0.1618},
9380 {0.3263, 0.2538, 0.1927, 0.2272},
9381 {0.2531, 0.3298, 0.3090, 0.1080},
9382 {0.0974, 0.2297, 0.4770, 0.1958}},
9383 {
9384 {0.3507, 0.1600, 0.1927, 0.2966},
9385 {0.2583, 0.3224, 0.1075, 0.3119},
9386 {0.2873, 0.2051, 0.2607, 0.2470},
9387 {0.1491, 0.3088, 0.2446, 0.2974}},
9388 {
9389 {0.1600, 0.3609, 0.3495, 0.1297},
9390 {0.1340, 0.4610, 0.1357, 0.2693},
9391 {0.0882, 0.5729, 0.1690, 0.1700},
9392 {0.0584, 0.3793, 0.3627, 0.1996}},
9393 {
9394 {0.1473, 0.3087, 0.4251, 0.1189},
9395 {0.3674, 0.1858, 0.2160, 0.2309},
9396 {0.2205, 0.2414, 0.4396, 0.0984},
9397 {0.0865, 0.2156, 0.4703, 0.2277}},
9398 {
9399 {0.3492, 0.2194, 0.1610, 0.2705},
9400 {0.2921, 0.2488, 0.0809, 0.3783},
9401 {0.3323, 0.2692, 0.2113, 0.1872},
9402 {0.2003, 0.2090, 0.1806, 0.4100}},
9403 {
9404 {0.1001, 0.2936, 0.3787, 0.2277},
9405 {0.2445, 0.4234, 0.1799, 0.1522},
9406 {0.0840, 0.4074, 0.2838, 0.2247},
9407 {0.0686, 0.3967, 0.3410, 0.1936}},
9408 {
9409 {0.2182, 0.1203, 0.4994, 0.1621},
9410 {0.3500, 0.2158, 0.1726, 0.2617},
9411 {0.2324, 0.3545, 0.2987, 0.1143},
9412 {0.1535, 0.1913, 0.5372, 0.1181}},
9413 {
9414 {0.3549, 0.2329, 0.1940, 0.2183},
9415 {0.3126, 0.2349, 0.1076, 0.3450},
9416 {0.2940, 0.3004, 0.1671, 0.2385},
9417 {0.1564, 0.3527, 0.2102, 0.2807}},
9418 {
9419 {0.1407, 0.3683, 0.3271, 0.1639},
9420 {0.2247, 0.3372, 0.1242, 0.3140},
9421 {0.1392, 0.3948, 0.2834, 0.1825},
9422 {0.0622, 0.2876, 0.4598, 0.1904}},
9423 {
9424 {0.1713, 0.2447, 0.5143, 0.0698},
9425 {0.3263, 0.2091, 0.2060, 0.2586},
9426 {0.2145, 0.2481, 0.4140, 0.1234},
9427 {0.1061, 0.1855, 0.4530, 0.2554}},
9428 {
9429 {0.3386, 0.3067, 0.1215, 0.2332},
9430 {0.1537, 0.3725, 0.0616, 0.4123},
9431 {0.3173, 0.2512, 0.2026, 0.2289},
9432 {0.1430, 0.2124, 0.2319, 0.4127}},
9433 {
9434 {0.0965, 0.3922, 0.2783, 0.2330},
9435 {0.1997, 0.3997, 0.1308, 0.2698},
9436 {0.1264, 0.3414, 0.2590, 0.2732},
9437 {0.0675, 0.4055, 0.3483, 0.1787}},
9438 {
9439 {0.2275, 0.2763, 0.4429, 0.0533},
9440 {0.3581, 0.2319, 0.1936, 0.2164},
9441 {0.1667, 0.2775, 0.3726, 0.1833},
9442 {0.2025, 0.2212, 0.4779, 0.0984}},
9443 {
9444 {0.3568, 0.1703, 0.2014, 0.2715},
9445 {0.1915, 0.2632, 0.1787, 0.3666},
9446 {0.3619, 0.2622, 0.1824, 0.1936},
9447 {0.0798, 0.3957, 0.1483, 0.3762}},
9448 {
9449 {0.1930, 0.3123, 0.2926, 0.2021},
9450 {0.2213, 0.4050, 0.1095, 0.2642},
9451 {0.0404, 0.5186, 0.3067, 0.1343},
9452 {0.0601, 0.3576, 0.5112, 0.0711}},
9453 {
9454 {0.3684, 0.1758, 0.4042, 0.0515},
9455 {0.3536, 0.2448, 0.2655, 0.1362},
9456 {0.2563, 0.2283, 0.3706, 0.1448},
9457 {0.1015, 0.1816, 0.4992, 0.2178}},
9458 {
9459 {0.3693, 0.2186, 0.2312, 0.1809},
9460 {0.1865, 0.4320, 0.1075, 0.2740},
9461 {0.3916, 0.1913, 0.1794, 0.2377},
9462 {0.1201, 0.4011, 0.3138, 0.1650}},
9463 {
9464 {0.1422, 0.2685, 0.3988, 0.1905},
9465 {0.1066, 0.4475, 0.1697, 0.2762},
9466 {0.1233, 0.4618, 0.1935, 0.2214},
9467 {0.0298, 0.3518, 0.3995, 0.2188}},
9468 {
9469 {0.2515, 0.2663, 0.3176, 0.1646},
9470 {0.4324, 0.2124, 0.1621, 0.1931},
9471 {0.2182, 0.2786, 0.3901, 0.1130},
9472 {0.1473, 0.2940, 0.3900, 0.1688}},
9473 {
9474 {0.3304, 0.2469, 0.1331, 0.2896},
9475 {0.2806, 0.2193, 0.0689, 0.4312},
9476 {0.3398, 0.2806, 0.1270, 0.2526},
9477 {0.2055, 0.1874, 0.3179, 0.2891}},
9478 {
9479 {0.1561, 0.3320, 0.3523, 0.1596},
9480 {0.2243, 0.3145, 0.2273, 0.2339},
9481 {0.2329, 0.2615, 0.2667, 0.2389},
9482 {0.0554, 0.3123, 0.4150, 0.2173}},
9483 {
9484 {0.2874, 0.0886, 0.5369, 0.0871},
9485 {0.2937, 0.2875, 0.1563, 0.2625},
9486 {0.2431, 0.2388, 0.3725, 0.1455},
9487 {0.1101, 0.2416, 0.4834, 0.1649}},
9488 {
9489 {0.3777, 0.2657, 0.1761, 0.1805},
9490 {0.2705, 0.2731, 0.1059, 0.3504},
9491 {0.3047, 0.3240, 0.1965, 0.1748},
9492 {0.2327, 0.2310, 0.1718, 0.3645}},
9493 {
9494 {0.1428, 0.3483, 0.3632, 0.1457},
9495 {0.1837, 0.4158, 0.1310, 0.2695},
9496 {0.1296, 0.4538, 0.2911, 0.1256},
9497 {0.0547, 0.4483, 0.3284, 0.1686}},
9498 {
9499 {0.2380, 0.1510, 0.4196, 0.1915},
9500 {0.3341, 0.3102, 0.1477, 0.2080},
9501 {0.2662, 0.2542, 0.3805, 0.0991},
9502 {0.1454, 0.1248, 0.5839, 0.1459}},
9503 {
9504 {0.2619, 0.2401, 0.1000, 0.3980},
9505 {0.2061, 0.3203, 0.1248, 0.3488},
9506 {0.3649, 0.2766, 0.1816, 0.1768},
9507 {0.1694, 0.2661, 0.2780, 0.2864}},
9508 {
9509 {0.1858, 0.2797, 0.3569, 0.1776},
9510 {0.2097, 0.4964, 0.1115, 0.1824},
9511 {0.0626, 0.3217, 0.3947, 0.2210},
9512 {0.0589, 0.4113, 0.4350, 0.0948}},
9513 {
9514 {0.3888, 0.0503, 0.4935, 0.0674},
9515 {0.3577, 0.2270, 0.2245, 0.1908},
9516 {0.2440, 0.1625, 0.4253, 0.1682},
9517 {0.1596, 0.2326, 0.4660, 0.1417}},
9518 {
9519 {0.3513, 0.2501, 0.2312, 0.1673},
9520 {0.2141, 0.3434, 0.0914, 0.3511},
9521 {0.2584, 0.2159, 0.2804, 0.2454},
9522 {0.1260, 0.2826, 0.2162, 0.3752}},
9523 {
9524 {0.1529, 0.3744, 0.3418, 0.1309},
9525 {0.1446, 0.3731, 0.1694, 0.3128},
9526 {0.1390, 0.4313, 0.2602, 0.1694},
9527 {0.0258, 0.3941, 0.4373, 0.1427}},
9528 {
9529 {0.1229, 0.1738, 0.5554, 0.1479},
9530 {0.2861, 0.1806, 0.2062, 0.3271},
9531 {0.2319, 0.3250, 0.3436, 0.0995},
9532 {0.0896, 0.2440, 0.4987, 0.1677}},
9533 {
9534 {0.3493, 0.2508, 0.1433, 0.2567},
9535 {0.3613, 0.2207, 0.1331, 0.2849},
9536 {0.3189, 0.3140, 0.1092, 0.2579},
9537 {0.2132, 0.2803, 0.1991, 0.3074}},
9538 {
9539 {0.1534, 0.2655, 0.2864, 0.2947},
9540 {0.2362, 0.2328, 0.1505, 0.3805},
9541 {0.1733, 0.2651, 0.3891, 0.1725},
9542 {0.0490, 0.1834, 0.5076, 0.2600}},
9543 {
9544 {0.0000, 0.0000, 1.0000, 0.0000},
9545 {0.0000, 0.0000, 1.0000, 0.0000},
9546 {0.0000, 0.0000, 1.0000, 0.0000},
9547 {0.0000, 0.0000, 1.0000, 0.0000}},
9548 {
9549 {0.0000, 0.0000, 0.0000, 0.0000},
9550 {0.0000, 0.0000, 0.0000, 0.0000},
9551 {0.0000, 0.0000, 0.0000, 1.0000},
9552 {0.0000, 0.0000, 0.0000, 0.0000}},
9553 {
9554 {0.0000, 0.0000, 0.0000, 0.0000},
9555 {0.0000, 0.0000, 0.0000, 0.0000},
9556 {0.0000, 0.0000, 0.0000, 0.0000},
9557 {0.0930, 0.2911, 0.4835, 0.1324}},
9558 {
9559 {0.2550, 0.1562, 0.4455, 0.1433},
9560 {0.3851, 0.1996, 0.1179, 0.2974},
9561 {0.2630, 0.2846, 0.3968, 0.0557},
9562 {0.1016, 0.4213, 0.4245, 0.0526}},
9563 {
9564 {0.4120, 0.2235, 0.1112, 0.2533},
9565 {0.1949, 0.2436, 0.1699, 0.3916},
9566 {0.3048, 0.2415, 0.1759, 0.2778},
9567 {0.1741, 0.2749, 0.2550, 0.2961}},
9568 {
9569 {0.1555, 0.3110, 0.3666, 0.1669},
9570 {0.2440, 0.4033, 0.1558, 0.1969},
9571 {0.2326, 0.3022, 0.2906, 0.1747},
9572 {0.0541, 0.3428, 0.4500, 0.1532}},
9573 {
9574 {0.2156, 0.2233, 0.4113, 0.1498},
9575 {0.3323, 0.2658, 0.1566, 0.2453},
9576 {0.2046, 0.2751, 0.4682, 0.0521},
9577 {0.1695, 0.1219, 0.5267, 0.1819}},
9578 {
9579 {0.3866, 0.1907, 0.1779, 0.2447},
9580 {0.1859, 0.2686, 0.1410, 0.4046},
9581 {0.3293, 0.2891, 0.2260, 0.1557},
9582 {0.1667, 0.3743, 0.1047, 0.3543}},
9583 {
9584 {0.1635, 0.3372, 0.3215, 0.1778},
9585 {0.0876, 0.4927, 0.1543, 0.2654},
9586 {0.2142, 0.3401, 0.2283, 0.2175},
9587 {0.0244, 0.4198, 0.4345, 0.1213}},
9588 {
9589 {0.3218, 0.0590, 0.4492, 0.1700},
9590 {0.4303, 0.2196, 0.1364, 0.2137},
9591 {0.3062, 0.2282, 0.3813, 0.0843},
9592 {0.1240, 0.2389, 0.5842, 0.0529}},
9593 {
9594 {0.3532, 0.2293, 0.1574, 0.2601},
9595 {0.2463, 0.2470, 0.1673, 0.3394},
9596 {0.2865, 0.2741, 0.2137, 0.2257},
9597 {0.1689, 0.2414, 0.2075, 0.3821}},
9598 {
9599 {0.1566, 0.2581, 0.3961, 0.1892},
9600 {0.1926, 0.5208, 0.0991, 0.1875},
9601 {0.1855, 0.3224, 0.3675, 0.1246},
9602 {0.0627, 0.3910, 0.4037, 0.1426}},
9603 {
9604 {0.4264, 0.0486, 0.4303, 0.0946},
9605 {0.3934, 0.2280, 0.1587, 0.2199},
9606 {0.2882, 0.2581, 0.3594, 0.0942},
9607 {0.1055, 0.2607, 0.5485, 0.0852}},
9608 {
9609 {0.3417, 0.1973, 0.1524, 0.3086},
9610 {0.2704, 0.2331, 0.1112, 0.3854},
9611 {0.3129, 0.2190, 0.2890, 0.1791},
9612 {0.1792, 0.2486, 0.2363, 0.3359}},
9613 {
9614 {0.2221, 0.3001, 0.3373, 0.1405},
9615 {0.2341, 0.3656, 0.1398, 0.2605},
9616 {0.1194, 0.3212, 0.3201, 0.2393},
9617 {0.0586, 0.4311, 0.4031, 0.1072}},
9618 {
9619 {0.2122, 0.1308, 0.5661, 0.0909},
9620 {0.3340, 0.2313, 0.2548, 0.1799},
9621 {0.1979, 0.2908, 0.3992, 0.1120},
9622 {0.0962, 0.2230, 0.5455, 0.1354}},
9623 {
9624 {0.2785, 0.2192, 0.2872, 0.2151},
9625 {0.2762, 0.3613, 0.1197, 0.2429},
9626 {0.3118, 0.2230, 0.2552, 0.2100},
9627 {0.1548, 0.3014, 0.2148, 0.3290}},
9628 {
9629 {0.1983, 0.3089, 0.3538, 0.1390},
9630 {0.2041, 0.3611, 0.1062, 0.3286},
9631 {0.2398, 0.3151, 0.2398, 0.2053},
9632 {0.0435, 0.3460, 0.4519, 0.1586}},
9633 {
9634 {0.2169, 0.1919, 0.3896, 0.2016},
9635 {0.3774, 0.2538, 0.1935, 0.1754},
9636 {0.2190, 0.3114, 0.3399, 0.1296},
9637 {0.0941, 0.2398, 0.5823, 0.0838}},
9638 {
9639 {0.3733, 0.2348, 0.2017, 0.1902},
9640 {0.2162, 0.2251, 0.2354, 0.3233},
9641 {0.2725, 0.2940, 0.2231, 0.2104},
9642 {0.2604, 0.3251, 0.1560, 0.2585}},
9643 {
9644 {0.1836, 0.3071, 0.2998, 0.2095},
9645 {0.1835, 0.4060, 0.1908, 0.2197},
9646 {0.1557, 0.3250, 0.2674, 0.2519},
9647 {0.0425, 0.3765, 0.4116, 0.1694}},
9648 {
9649 {0.2828, 0.1451, 0.4073, 0.1648},
9650 {0.3784, 0.2207, 0.1931, 0.2078},
9651 {0.2417, 0.1926, 0.3824, 0.1833},
9652 {0.1091, 0.1938, 0.5523, 0.1448}},
9653 {
9654 {0.3705, 0.2171, 0.1859, 0.2266},
9655 {0.3419, 0.2115, 0.1015, 0.3451},
9656 {0.2431, 0.2308, 0.2712, 0.2549},
9657 {0.2230, 0.2730, 0.2756, 0.2285}},
9658 {
9659 {0.1070, 0.3675, 0.3900, 0.1355},
9660 {0.1793, 0.4348, 0.1563, 0.2296},
9661 {0.1704, 0.4058, 0.3136, 0.1103},
9662 {0.1094, 0.3324, 0.4178, 0.1404}},
9663 {
9664 {0.1735, 0.2619, 0.4392, 0.1254},
9665 {0.2642, 0.3560, 0.1073, 0.2725},
9666 {0.2179, 0.2554, 0.3134, 0.2132},
9667 {0.1109, 0.1280, 0.6306, 0.1305}},
9668 {
9669 {0.2661, 0.2053, 0.2869, 0.2417},
9670 {0.2224, 0.1843, 0.2112, 0.3822},
9671 {0.3498, 0.1598, 0.2281, 0.2623},
9672 {0.2531, 0.2289, 0.2864, 0.2316}},
9673 {
9674 {0.1574, 0.3358, 0.3703, 0.1365},
9675 {0.2550, 0.4608, 0.0725, 0.2117},
9676 {0.1425, 0.3604, 0.3472, 0.1500},
9677 {0.0359, 0.3328, 0.5162, 0.1151}},
9678 {
9679 {0.3670, 0.1220, 0.4362, 0.0747},
9680 {0.3724, 0.2587, 0.1770, 0.1919},
9681 {0.2577, 0.2222, 0.3312, 0.1888},
9682 {0.0705, 0.2483, 0.5651, 0.1161}},
9683 {
9684 {0.4105, 0.1421, 0.2217, 0.2256},
9685 {0.2520, 0.2425, 0.1520, 0.3535},
9686 {0.2685, 0.2948, 0.2324, 0.2043},
9687 {0.1881, 0.2758, 0.1890, 0.3471}},
9688 {
9689 {0.1881, 0.3006, 0.3978, 0.1135},
9690 {0.2004, 0.4483, 0.1332, 0.2181},
9691 {0.1542, 0.3311, 0.3694, 0.1453},
9692 {0.0741, 0.3872, 0.4356, 0.1031}},
9693 {
9694 {0.2883, 0.0860, 0.4651, 0.1606},
9695 {0.2846, 0.2558, 0.2285, 0.2311},
9696 {0.2391, 0.2507, 0.3817, 0.1284},
9697 {0.1942, 0.1195, 0.6134, 0.0728}},
9698 {
9699 {0.2711, 0.2026, 0.3187, 0.2075},
9700 {0.3055, 0.3355, 0.1126, 0.2464},
9701 {0.2957, 0.2635, 0.2343, 0.2066},
9702 {0.2079, 0.2289, 0.2719, 0.2913}},
9703 {
9704 {0.1389, 0.3023, 0.3509, 0.2079},
9705 {0.2094, 0.4667, 0.1134, 0.2105},
9706 {0.0862, 0.3927, 0.2789, 0.2423},
9707 {0.0737, 0.3493, 0.4030, 0.1740}},
9708 {
9709 {0.2357, 0.2988, 0.3054, 0.1601},
9710 {0.3933, 0.2935, 0.1727, 0.1405},
9711 {0.3082, 0.2311, 0.3781, 0.0826},
9712 {0.2112, 0.1797, 0.5147, 0.0944}},
9713 {
9714 {0.3400, 0.2319, 0.2080, 0.2201},
9715 {0.1889, 0.2677, 0.1544, 0.3890},
9716 {0.3238, 0.2480, 0.2592, 0.1690},
9717 {0.1421, 0.3986, 0.1171, 0.3421}},
9718 {
9719 {0.1939, 0.3016, 0.3324, 0.1721},
9720 {0.2161, 0.3987, 0.1660, 0.2192},
9721 {0.0868, 0.3883, 0.2844, 0.2405},
9722 {0.0760, 0.3430, 0.3458, 0.2353}},
9723 {
9724 {0.2787, 0.1429, 0.4211, 0.1573},
9725 {0.3142, 0.2448, 0.2322, 0.2089},
9726 {0.1919, 0.2859, 0.3941, 0.1282},
9727 {0.1462, 0.1710, 0.5066, 0.1762}},
9728 {
9729 {0.3113, 0.2274, 0.2140, 0.2472},
9730 {0.2825, 0.1813, 0.1408, 0.3953},
9731 {0.2340, 0.2841, 0.2406, 0.2412},
9732 {0.1593, 0.3201, 0.2687, 0.2520}},
9733 {
9734 {0.1092, 0.3264, 0.4127, 0.1517},
9735 {0.1874, 0.4012, 0.1315, 0.2799},
9736 {0.0601, 0.4209, 0.2984, 0.2206},
9737 {0.0824, 0.3276, 0.4080, 0.1820}},
9738 {
9739 {0.2225, 0.2610, 0.3926, 0.1238},
9740 {0.3437, 0.2502, 0.1725, 0.2336},
9741 {0.1941, 0.2938, 0.3742, 0.1379},
9742 {0.1804, 0.1454, 0.5408, 0.1333}},
9743 {
9744 {0.2730, 0.2795, 0.2197, 0.2278},
9745 {0.3027, 0.2953, 0.1322, 0.2698},
9746 {0.2810, 0.1988, 0.2591, 0.2612},
9747 {0.2385, 0.3190, 0.1418, 0.3007}},
9748 {
9749 {0.1700, 0.2916, 0.3556, 0.1828},
9750 {0.2046, 0.4545, 0.1465, 0.1944},
9751 {0.1183, 0.4413, 0.3323, 0.1082},
9752 {0.0542, 0.2842, 0.5050, 0.1567}},
9753 {
9754 {0.3200, 0.1262, 0.3329, 0.2209},
9755 {0.3885, 0.2542, 0.1483, 0.2090},
9756 {0.2415, 0.2048, 0.3770, 0.1767},
9757 {0.2144, 0.1727, 0.5502, 0.0627}},
9758 {
9759 {0.1980, 0.2650, 0.2780, 0.2590},
9760 {0.1971, 0.2774, 0.2899, 0.2356},
9761 {0.2916, 0.2133, 0.2604, 0.2346},
9762 {0.2592, 0.1977, 0.2239, 0.3192}},
9763 {
9764 {0.1163, 0.3871, 0.3232, 0.1734},
9765 {0.1251, 0.4503, 0.1713, 0.2532},
9766 {0.1336, 0.3212, 0.3556, 0.1896},
9767 {0.0773, 0.2569, 0.4022, 0.2635}},
9768 {
9769 {0.3122, 0.1906, 0.3499, 0.1473},
9770 {0.4320, 0.2357, 0.1340, 0.1983},
9771 {0.2444, 0.2969, 0.3419, 0.1168},
9772 {0.1894, 0.1745, 0.4901, 0.1460}},
9773 {
9774 {0.4087, 0.2105, 0.1912, 0.1897},
9775 {0.2434, 0.2352, 0.1874, 0.3340},
9776 {0.3910, 0.2339, 0.1877, 0.1874},
9777 {0.1291, 0.2735, 0.3160, 0.2814}},
9778 {
9779 {0.2269, 0.2830, 0.3869, 0.1032},
9780 {0.1753, 0.3403, 0.1306, 0.3538},
9781 {0.0811, 0.2843, 0.4186, 0.2160},
9782 {0.1139, 0.3164, 0.3689, 0.2008}},
9783 {
9784 {0.1480, 0.2256, 0.4293, 0.1971},
9785 {0.3210, 0.1996, 0.2821, 0.1973},
9786 {0.2680, 0.2985, 0.3243, 0.1091},
9787 {0.1449, 0.1812, 0.5268, 0.1470}},
9788 {
9789 {0.2960, 0.2104, 0.2415, 0.2521},
9790 {0.3126, 0.3130, 0.1019, 0.2725},
9791 {0.3335, 0.1857, 0.2012, 0.2795},
9792 {0.0209, 0.4556, 0.2507, 0.2728}},
9793 {
9794 {0.2099, 0.2665, 0.4111, 0.1125},
9795 {0.1167, 0.4830, 0.1317, 0.2687},
9796 {0.0511, 0.4146, 0.2941, 0.2401},
9797 {0.1136, 0.3056, 0.4568, 0.1241}},
9798 {
9799 {0.2608, 0.1801, 0.3740, 0.1851},
9800 {0.3479, 0.2662, 0.1627, 0.2232},
9801 {0.2049, 0.2602, 0.3615, 0.1734},
9802 {0.1643, 0.1499, 0.5545, 0.1313}}
9803 },
9804 { /* Splice_Site: F2_GT; Species: Chick */
9805 {
9806 {0.1857, 0.1857, 0.1857, 0.1857},
9807 {0.2968, 0.2968, 0.2968, 0.2968},
9808 {0.2549, 0.2549, 0.2549, 0.2549},
9809 {0.2626, 0.2626, 0.2626, 0.2626}},
9810 {
9811 {0.1947, 0.2749, 0.4858, 0.0447},
9812 {0.4477, 0.2714, 0.1414, 0.1395},
9813 {0.2098, 0.2976, 0.3905, 0.1021},
9814 {0.2087, 0.1974, 0.3562, 0.2376}},
9815 {
9816 {0.2558, 0.2391, 0.2060, 0.2991},
9817 {0.1830, 0.3507, 0.1122, 0.3541},
9818 {0.2981, 0.2798, 0.2029, 0.2191},
9819 {0.0933, 0.1527, 0.1922, 0.5618}},
9820 {
9821 {0.2213, 0.2678, 0.4339, 0.0770},
9822 {0.3877, 0.2991, 0.0762, 0.2370},
9823 {0.1115, 0.4093, 0.2402, 0.2391},
9824 {0.1067, 0.3283, 0.4483, 0.1167}},
9825 {
9826 {0.2754, 0.1374, 0.3852, 0.2020},
9827 {0.3671, 0.2429, 0.1181, 0.2719},
9828 {0.2757, 0.2448, 0.3719, 0.1076},
9829 {0.1842, 0.2121, 0.4190, 0.1846}},
9830 {
9831 {0.2767, 0.2470, 0.2235, 0.2528},
9832 {0.3572, 0.2717, 0.0761, 0.2949},
9833 {0.3083, 0.2414, 0.2976, 0.1527},
9834 {0.1735, 0.4221, 0.1472, 0.2573}},
9835 {
9836 {0.1902, 0.3105, 0.2280, 0.2713},
9837 {0.2081, 0.3066, 0.1957, 0.2895},
9838 {0.1888, 0.3197, 0.2274, 0.2641},
9839 {0.0850, 0.1953, 0.4673, 0.2524}},
9840 {
9841 {0.2023, 0.2375, 0.3674, 0.1928},
9842 {0.4333, 0.1929, 0.1652, 0.2086},
9843 {0.3420, 0.2586, 0.2165, 0.1829},
9844 {0.1190, 0.2026, 0.4338, 0.2447}},
9845 {
9846 {0.2937, 0.2255, 0.2499, 0.2309},
9847 {0.2791, 0.3386, 0.0946, 0.2877},
9848 {0.3435, 0.2436, 0.2639, 0.1490},
9849 {0.1189, 0.2368, 0.2164, 0.4280}},
9850 {
9851 {0.1102, 0.2710, 0.3224, 0.2963},
9852 {0.2113, 0.3678, 0.1162, 0.3046},
9853 {0.1742, 0.4290, 0.2362, 0.1605},
9854 {0.0684, 0.3098, 0.4324, 0.1895}},
9855 {
9856 {0.2348, 0.2413, 0.3451, 0.1787},
9857 {0.3455, 0.2434, 0.1886, 0.2225},
9858 {0.2807, 0.3047, 0.2356, 0.1789},
9859 {0.1418, 0.2455, 0.4415, 0.1712}},
9860 {
9861 {0.4135, 0.1723, 0.2353, 0.1789},
9862 {0.1596, 0.3738, 0.0813, 0.3852},
9863 {0.3288, 0.2662, 0.2016, 0.2034},
9864 {0.0631, 0.3759, 0.2608, 0.3002}},
9865 {
9866 {0.1907, 0.2069, 0.3779, 0.2245},
9867 {0.2057, 0.3025, 0.1261, 0.3656},
9868 {0.0875, 0.3467, 0.2589, 0.3069},
9869 {0.1916, 0.2264, 0.3938, 0.1883}},
9870 {
9871 {0.1894, 0.2176, 0.3584, 0.2346},
9872 {0.4159, 0.3168, 0.1245, 0.1429},
9873 {0.2890, 0.2464, 0.3502, 0.1144},
9874 {0.2267, 0.2009, 0.4156, 0.1568}},
9875 {
9876 {0.2705, 0.1294, 0.2248, 0.3753},
9877 {0.1992, 0.3284, 0.1328, 0.3395},
9878 {0.2960, 0.1900, 0.1922, 0.3218},
9879 {0.1616, 0.3001, 0.1282, 0.4101}},
9880 {
9881 {0.1743, 0.3047, 0.3909, 0.1301},
9882 {0.2850, 0.3734, 0.0574, 0.2842},
9883 {0.0952, 0.4708, 0.2464, 0.1876},
9884 {0.0928, 0.3308, 0.3640, 0.2124}},
9885 {
9886 {0.0520, 0.3209, 0.3543, 0.2729},
9887 {0.4443, 0.1911, 0.1410, 0.2236},
9888 {0.2189, 0.2974, 0.4083, 0.0754},
9889 {0.1667, 0.2028, 0.4901, 0.1405}},
9890 {
9891 {0.2822, 0.2518, 0.2356, 0.2305},
9892 {0.2558, 0.1883, 0.2758, 0.2801},
9893 {0.3841, 0.2366, 0.1808, 0.1984},
9894 {0.1231, 0.2652, 0.2676, 0.3441}},
9895 {
9896 {0.1956, 0.3243, 0.3187, 0.1614},
9897 {0.2476, 0.3393, 0.0742, 0.3389},
9898 {0.0730, 0.4412, 0.2277, 0.2580},
9899 {0.0995, 0.3670, 0.3519, 0.1815}},
9900 {
9901 {0.3098, 0.2188, 0.3037, 0.1676},
9902 {0.3685, 0.2845, 0.1855, 0.1615},
9903 {0.2959, 0.2594, 0.3275, 0.1172},
9904 {0.1322, 0.2551, 0.4703, 0.1424}},
9905 {
9906 {0.2842, 0.1688, 0.3049, 0.2420},
9907 {0.2392, 0.3725, 0.0670, 0.3213},
9908 {0.3469, 0.2664, 0.1947, 0.1920},
9909 {0.2786, 0.2565, 0.0570, 0.4080}},
9910 {
9911 {0.1643, 0.3900, 0.3206, 0.1251},
9912 {0.3497, 0.2926, 0.1049, 0.2529},
9913 {0.1390, 0.4974, 0.1670, 0.1967},
9914 {0.0751, 0.2798, 0.3669, 0.2781}},
9915 {
9916 {0.2444, 0.2503, 0.3569, 0.1484},
9917 {0.3813, 0.2317, 0.1220, 0.2650},
9918 {0.2551, 0.2312, 0.3357, 0.1780},
9919 {0.1528, 0.3131, 0.3370, 0.1971}},
9920 {
9921 {0.2364, 0.2716, 0.2061, 0.2858},
9922 {0.2315, 0.3285, 0.1169, 0.3231},
9923 {0.2686, 0.2796, 0.2424, 0.2094},
9924 {0.1328, 0.3014, 0.1956, 0.3701}},
9925 {
9926 {0.2627, 0.3013, 0.2873, 0.1487},
9927 {0.2285, 0.3931, 0.1128, 0.2656},
9928 {0.0435, 0.4585, 0.2366, 0.2613},
9929 {0.0569, 0.3321, 0.4287, 0.1823}},
9930 {
9931 {0.2968, 0.2822, 0.3366, 0.0844},
9932 {0.3658, 0.2796, 0.0763, 0.2782},
9933 {0.2534, 0.2511, 0.3197, 0.1758},
9934 {0.2086, 0.0978, 0.4661, 0.2276}},
9935 {
9936 {0.3260, 0.1737, 0.2318, 0.2685},
9937 {0.2897, 0.3298, 0.0545, 0.3260},
9938 {0.2578, 0.2932, 0.2459, 0.2031},
9939 {0.1743, 0.2558, 0.1579, 0.4120}},
9940 {
9941 {0.2516, 0.2346, 0.2853, 0.2285},
9942 {0.1767, 0.3659, 0.0958, 0.3616},
9943 {0.2439, 0.4296, 0.1409, 0.1856},
9944 {0.0972, 0.2863, 0.4211, 0.1954}},
9945 {
9946 {0.2457, 0.2296, 0.3699, 0.1548},
9947 {0.4804, 0.2370, 0.1771, 0.1055},
9948 {0.2435, 0.1689, 0.3825, 0.2052},
9949 {0.2568, 0.1853, 0.4049, 0.1530}},
9950 {
9951 {0.3278, 0.2438, 0.1942, 0.2342},
9952 {0.2211, 0.3889, 0.1220, 0.2680},
9953 {0.3764, 0.2184, 0.2066, 0.1986},
9954 {0.0769, 0.3930, 0.1971, 0.3330}},
9955 {
9956 {0.1320, 0.2696, 0.3931, 0.2053},
9957 {0.1417, 0.4239, 0.1047, 0.3297},
9958 {0.2492, 0.2746, 0.2756, 0.2006},
9959 {0.0836, 0.2970, 0.3624, 0.2570}},
9960 {
9961 {0.3377, 0.1166, 0.5170, 0.0286},
9962 {0.4144, 0.2341, 0.1164, 0.2351},
9963 {0.2650, 0.3326, 0.3106, 0.0917},
9964 {0.1324, 0.1808, 0.5383, 0.1484}},
9965 {
9966 {0.3255, 0.2285, 0.2148, 0.2312},
9967 {0.3052, 0.1931, 0.0957, 0.4060},
9968 {0.3823, 0.1970, 0.1569, 0.2638},
9969 {0.1189, 0.2655, 0.1179, 0.4977}},
9970 {
9971 {0.1720, 0.2417, 0.4688, 0.1175},
9972 {0.1874, 0.4018, 0.1154, 0.2955},
9973 {0.1018, 0.3828, 0.2370, 0.2784},
9974 {0.0682, 0.3956, 0.3447, 0.1915}},
9975 {
9976 {0.1546, 0.1506, 0.4095, 0.2852},
9977 {0.3214, 0.3447, 0.1129, 0.2210},
9978 {0.2932, 0.2626, 0.2862, 0.1580},
9979 {0.0976, 0.2296, 0.5362, 0.1366}},
9980 {
9981 {0.3487, 0.2036, 0.2412, 0.2065},
9982 {0.2647, 0.2151, 0.0795, 0.4407},
9983 {0.2447, 0.3568, 0.2095, 0.1889},
9984 {0.2374, 0.2012, 0.1333, 0.4282}},
9985 {
9986 {0.1651, 0.3227, 0.3274, 0.1848},
9987 {0.2272, 0.3491, 0.2053, 0.2185},
9988 {0.0247, 0.5023, 0.3010, 0.1720},
9989 {0.0679, 0.3444, 0.4212, 0.1665}},
9990 {
9991 {0.2153, 0.2867, 0.2973, 0.2006},
9992 {0.4017, 0.2257, 0.1562, 0.2165},
9993 {0.2224, 0.2959, 0.3746, 0.1071},
9994 {0.1590, 0.1795, 0.5724, 0.0891}},
9995 {
9996 {0.2454, 0.3064, 0.2835, 0.1647},
9997 {0.2518, 0.2636, 0.1157, 0.3689},
9998 {0.3746, 0.1989, 0.1324, 0.2942},
9999 {0.2127, 0.2074, 0.2980, 0.2819}},
10000 {
10001 {0.1490, 0.2652, 0.4092, 0.1765},
10002 {0.2724, 0.3257, 0.1195, 0.2825},
10003 {0.1672, 0.4638, 0.2414, 0.1276},
10004 {0.0940, 0.2284, 0.4799, 0.1977}},
10005 {
10006 {0.2340, 0.1985, 0.4474, 0.1202},
10007 {0.5294, 0.2159, 0.0966, 0.1580},
10008 {0.2401, 0.2232, 0.4036, 0.1331},
10009 {0.1245, 0.1283, 0.4630, 0.2843}},
10010 {
10011 {0.3732, 0.1536, 0.2047, 0.2684},
10012 {0.1696, 0.1905, 0.1902, 0.4498},
10013 {0.3896, 0.2750, 0.1818, 0.1537},
10014 {0.1755, 0.2857, 0.1905, 0.3484}},
10015 {
10016 {0.2151, 0.1790, 0.4586, 0.1473},
10017 {0.3122, 0.3839, 0.0372, 0.2667},
10018 {0.1978, 0.3460, 0.2432, 0.2130},
10019 {0.0576, 0.4161, 0.3766, 0.1498}},
10020 {
10021 {0.3650, 0.2187, 0.3089, 0.1075},
10022 {0.3887, 0.2979, 0.1407, 0.1727},
10023 {0.2647, 0.1813, 0.3607, 0.1933},
10024 {0.0883, 0.2475, 0.4850, 0.1792}},
10025 {
10026 {0.2714, 0.2180, 0.2580, 0.2526},
10027 {0.2278, 0.2753, 0.1235, 0.3733},
10028 {0.3171, 0.3463, 0.1724, 0.1642},
10029 {0.1255, 0.2781, 0.2164, 0.3800}},
10030 {
10031 {0.2342, 0.2359, 0.3649, 0.1649},
10032 {0.2402, 0.2566, 0.1789, 0.3243},
10033 {0.1739, 0.2577, 0.3177, 0.2507},
10034 {0.0620, 0.3403, 0.4161, 0.1816}},
10035 {
10036 {0.3579, 0.1978, 0.3252, 0.1191},
10037 {0.4914, 0.2097, 0.1054, 0.1934},
10038 {0.3274, 0.2583, 0.3079, 0.1064},
10039 {0.1811, 0.1929, 0.5736, 0.0524}},
10040 {
10041 {0.3024, 0.1859, 0.2807, 0.2310},
10042 {0.2226, 0.3050, 0.1217, 0.3507},
10043 {0.2917, 0.2805, 0.2589, 0.1689},
10044 {0.1338, 0.4179, 0.2407, 0.2076}},
10045 {
10046 {0.2026, 0.2252, 0.3767, 0.1955},
10047 {0.1241, 0.4261, 0.1124, 0.3374},
10048 {0.0893, 0.3346, 0.2655, 0.3106},
10049 {0.0352, 0.2571, 0.4779, 0.2298}},
10050 {
10051 {0.1441, 0.2134, 0.5009, 0.1416},
10052 {0.3739, 0.2119, 0.1487, 0.2656},
10053 {0.2879, 0.2020, 0.3185, 0.1916},
10054 {0.1524, 0.2083, 0.5764, 0.0630}},
10055 {
10056 {0.0000, 0.0000, 1.0000, 0.0000},
10057 {0.0000, 0.0000, 1.0000, 0.0000},
10058 {0.0000, 0.0000, 1.0000, 0.0000},
10059 {0.0000, 0.0000, 1.0000, 0.0000}},
10060 {
10061 {0.0000, 0.0000, 0.0000, 0.0000},
10062 {0.0000, 0.0000, 0.0000, 0.0000},
10063 {0.0000, 0.0000, 0.0000, 1.0000},
10064 {0.0000, 0.0000, 0.0000, 0.0000}},
10065 {
10066 {0.0000, 0.0000, 0.0000, 0.0000},
10067 {0.0000, 0.0000, 0.0000, 0.0000},
10068 {0.0000, 0.0000, 0.0000, 0.0000},
10069 {0.1532, 0.1785, 0.5138, 0.1545}},
10070 {
10071 {0.3016, 0.2083, 0.2152, 0.2749},
10072 {0.3732, 0.2077, 0.1796, 0.2395},
10073 {0.3258, 0.1793, 0.3194, 0.1755},
10074 {0.1942, 0.3478, 0.1886, 0.2694}},
10075 {
10076 {0.0544, 0.3801, 0.4161, 0.1494},
10077 {0.1681, 0.4500, 0.0579, 0.3240},
10078 {0.1989, 0.3759, 0.2328, 0.1924},
10079 {0.0802, 0.3099, 0.4152, 0.1947}},
10080 {
10081 {0.2658, 0.1308, 0.4297, 0.1737},
10082 {0.3516, 0.3453, 0.1123, 0.1908},
10083 {0.2458, 0.2765, 0.3307, 0.1471},
10084 {0.2152, 0.0822, 0.5414, 0.1612}},
10085 {
10086 {0.3173, 0.3455, 0.1625, 0.1748},
10087 {0.2363, 0.2378, 0.1018, 0.4241},
10088 {0.5019, 0.1941, 0.1497, 0.1543},
10089 {0.1657, 0.2473, 0.1092, 0.4778}},
10090 {
10091 {0.1239, 0.3026, 0.3749, 0.1987},
10092 {0.1994, 0.3907, 0.1282, 0.2817},
10093 {0.1812, 0.3159, 0.3465, 0.1564},
10094 {0.0769, 0.3473, 0.3816, 0.1942}},
10095 {
10096 {0.1875, 0.1507, 0.5453, 0.1165},
10097 {0.4542, 0.2540, 0.0743, 0.2175},
10098 {0.2297, 0.1867, 0.4491, 0.1345},
10099 {0.1977, 0.1364, 0.4898, 0.1761}},
10100 {
10101 {0.2680, 0.1926, 0.2485, 0.2909},
10102 {0.3647, 0.1285, 0.1340, 0.3727},
10103 {0.3257, 0.1653, 0.2794, 0.2296},
10104 {0.1947, 0.2736, 0.1441, 0.3876}},
10105 {
10106 {0.2108, 0.2289, 0.3644, 0.1960},
10107 {0.3131, 0.2010, 0.0895, 0.3964},
10108 {0.1357, 0.5097, 0.2056, 0.1490},
10109 {0.0824, 0.2959, 0.3872, 0.2345}},
10110 {
10111 {0.2294, 0.1899, 0.3936, 0.1871},
10112 {0.4555, 0.1913, 0.1648, 0.1884},
10113 {0.2163, 0.2902, 0.4082, 0.0853},
10114 {0.1954, 0.1651, 0.4805, 0.1589}},
10115 {
10116 {0.4200, 0.1453, 0.2903, 0.1444},
10117 {0.2483, 0.2781, 0.2136, 0.2600},
10118 {0.3105, 0.2253, 0.2549, 0.2093},
10119 {0.1833, 0.2785, 0.1363, 0.4019}},
10120 {
10121 {0.1882, 0.2228, 0.4298, 0.1592},
10122 {0.2980, 0.3035, 0.1172, 0.2813},
10123 {0.1947, 0.2796, 0.2244, 0.3013},
10124 {0.0907, 0.4017, 0.3473, 0.1603}},
10125 {
10126 {0.3854, 0.1062, 0.4004, 0.1080},
10127 {0.3814, 0.2788, 0.0996, 0.2402},
10128 {0.2922, 0.1605, 0.3776, 0.1697},
10129 {0.1668, 0.1754, 0.5619, 0.0959}},
10130 {
10131 {0.3572, 0.1539, 0.2047, 0.2841},
10132 {0.2680, 0.2230, 0.1747, 0.3344},
10133 {0.3050, 0.2329, 0.2400, 0.2221},
10134 {0.1517, 0.3570, 0.3418, 0.1494}},
10135 {
10136 {0.2064, 0.2173, 0.3899, 0.1864},
10137 {0.2714, 0.3447, 0.0759, 0.3080},
10138 {0.1072, 0.3665, 0.2899, 0.2365},
10139 {0.1011, 0.2733, 0.4673, 0.1583}},
10140 {
10141 {0.3308, 0.1683, 0.3103, 0.1906},
10142 {0.4319, 0.2503, 0.0427, 0.2751},
10143 {0.2747, 0.2653, 0.3036, 0.1564},
10144 {0.1313, 0.2043, 0.5674, 0.0970}},
10145 {
10146 {0.2580, 0.1951, 0.2922, 0.2546},
10147 {0.2869, 0.2841, 0.1099, 0.3191},
10148 {0.3191, 0.2507, 0.2141, 0.2161},
10149 {0.3173, 0.2579, 0.1823, 0.2425}},
10150 {
10151 {0.1559, 0.3934, 0.2921, 0.1586},
10152 {0.2422, 0.4061, 0.1428, 0.2089},
10153 {0.1373, 0.4151, 0.2273, 0.2202},
10154 {0.1128, 0.2128, 0.4423, 0.2322}},
10155 {
10156 {0.2272, 0.1585, 0.4165, 0.1978},
10157 {0.3744, 0.2699, 0.1419, 0.2138},
10158 {0.2506, 0.1512, 0.3734, 0.2248},
10159 {0.2661, 0.1812, 0.4285, 0.1241}},
10160 {
10161 {0.3292, 0.1841, 0.2217, 0.2649},
10162 {0.2957, 0.2385, 0.1636, 0.3022},
10163 {0.3896, 0.2559, 0.1908, 0.1638},
10164 {0.2311, 0.2128, 0.3205, 0.2356}},
10165 {
10166 {0.1690, 0.3230, 0.3134, 0.1946},
10167 {0.2545, 0.3760, 0.0906, 0.2789},
10168 {0.1723, 0.5678, 0.1276, 0.1323},
10169 {0.0527, 0.3340, 0.4352, 0.1781}},
10170 {
10171 {0.1512, 0.1849, 0.5101, 0.1538},
10172 {0.4362, 0.2042, 0.1349, 0.2247},
10173 {0.2567, 0.3191, 0.2919, 0.1322},
10174 {0.0638, 0.2537, 0.4733, 0.2092}},
10175 {
10176 {0.3613, 0.2155, 0.1793, 0.2439},
10177 {0.2796, 0.2458, 0.1580, 0.3167},
10178 {0.2986, 0.2304, 0.2622, 0.2087},
10179 {0.1842, 0.3507, 0.1543, 0.3108}},
10180 {
10181 {0.1793, 0.2549, 0.3789, 0.1870},
10182 {0.2524, 0.3307, 0.1131, 0.3038},
10183 {0.0895, 0.4171, 0.3273, 0.1660},
10184 {0.1144, 0.2966, 0.3486, 0.2403}},
10185 {
10186 {0.2632, 0.2009, 0.4102, 0.1257},
10187 {0.3472, 0.2224, 0.1704, 0.2600},
10188 {0.2906, 0.2935, 0.3455, 0.0704},
10189 {0.1440, 0.2016, 0.5418, 0.1126}},
10190 {
10191 {0.4054, 0.1639, 0.2460, 0.1846},
10192 {0.2084, 0.3749, 0.1016, 0.3151},
10193 {0.3460, 0.2322, 0.2220, 0.1998},
10194 {0.1706, 0.2813, 0.1625, 0.3856}},
10195 {
10196 {0.1742, 0.3012, 0.3473, 0.1773},
10197 {0.1579, 0.3131, 0.1689, 0.3601},
10198 {0.2375, 0.3199, 0.2435, 0.1991},
10199 {0.1027, 0.2180, 0.5625, 0.1167}},
10200 {
10201 {0.2787, 0.2008, 0.3972, 0.1233},
10202 {0.4657, 0.2035, 0.1305, 0.2003},
10203 {0.2402, 0.3152, 0.2707, 0.1740},
10204 {0.1449, 0.2138, 0.5307, 0.1105}},
10205 {
10206 {0.2998, 0.2082, 0.2639, 0.2281},
10207 {0.1915, 0.2608, 0.1305, 0.4173},
10208 {0.3066, 0.2290, 0.2605, 0.2039},
10209 {0.1355, 0.2065, 0.2064, 0.4516}},
10210 {
10211 {0.2337, 0.2796, 0.2790, 0.2077},
10212 {0.2979, 0.3317, 0.1298, 0.2406},
10213 {0.1676, 0.3729, 0.2673, 0.1922},
10214 {0.1608, 0.2423, 0.4259, 0.1711}},
10215 {
10216 {0.3928, 0.1391, 0.3726, 0.0955},
10217 {0.3355, 0.2086, 0.1802, 0.2756},
10218 {0.2833, 0.1854, 0.3999, 0.1314},
10219 {0.2309, 0.2127, 0.3620, 0.1944}},
10220 {
10221 {0.3462, 0.2231, 0.2886, 0.1421},
10222 {0.3746, 0.0946, 0.1952, 0.3356},
10223 {0.3809, 0.1984, 0.2783, 0.1423},
10224 {0.2526, 0.1406, 0.3612, 0.2456}},
10225 {
10226 {0.2060, 0.3349, 0.2563, 0.2027},
10227 {0.2392, 0.3079, 0.1138, 0.3391},
10228 {0.0609, 0.3748, 0.2492, 0.3150},
10229 {0.0628, 0.2513, 0.4807, 0.2052}},
10230 {
10231 {0.3467, 0.1399, 0.3874, 0.1260},
10232 {0.4712, 0.1584, 0.1788, 0.1917},
10233 {0.1544, 0.3550, 0.3446, 0.1460},
10234 {0.1574, 0.1940, 0.4903, 0.1583}},
10235 {
10236 {0.3301, 0.2040, 0.2029, 0.2631},
10237 {0.3447, 0.1708, 0.0766, 0.4079},
10238 {0.2872, 0.2637, 0.2634, 0.1857},
10239 {0.3075, 0.2372, 0.2481, 0.2071}},
10240 {
10241 {0.2256, 0.3148, 0.3016, 0.1581},
10242 {0.2328, 0.2466, 0.1281, 0.3924},
10243 {0.2052, 0.2459, 0.3038, 0.2451},
10244 {0.0636, 0.3621, 0.4100, 0.1643}},
10245 {
10246 {0.3225, 0.0759, 0.4897, 0.1119},
10247 {0.4763, 0.1553, 0.1976, 0.1708},
10248 {0.2833, 0.2655, 0.3277, 0.1235},
10249 {0.1488, 0.1782, 0.4556, 0.2174}},
10250 {
10251 {0.3274, 0.2785, 0.1933, 0.2008},
10252 {0.3283, 0.1888, 0.0955, 0.3874},
10253 {0.2879, 0.2051, 0.2919, 0.2151},
10254 {0.2673, 0.2857, 0.2632, 0.1838}},
10255 {
10256 {0.1504, 0.3051, 0.2715, 0.2730},
10257 {0.2092, 0.4533, 0.1436, 0.1940},
10258 {0.2450, 0.2252, 0.2889, 0.2409},
10259 {0.0701, 0.2849, 0.3807, 0.2643}},
10260 {
10261 {0.2515, 0.1755, 0.3743, 0.1986},
10262 {0.3010, 0.2872, 0.1488, 0.2630},
10263 {0.2790, 0.2569, 0.3727, 0.0913},
10264 {0.1852, 0.1675, 0.5275, 0.1199}},
10265 {
10266 {0.3137, 0.1619, 0.2356, 0.2888},
10267 {0.3057, 0.2306, 0.1445, 0.3193},
10268 {0.2924, 0.2301, 0.2616, 0.2158},
10269 {0.2206, 0.3712, 0.1785, 0.2297}},
10270 {
10271 {0.1441, 0.2612, 0.3885, 0.2062},
10272 {0.2653, 0.4157, 0.0920, 0.2269},
10273 {0.1593, 0.2731, 0.3156, 0.2520},
10274 {0.1218, 0.2905, 0.4323, 0.1554}},
10275 {
10276 {0.1995, 0.2404, 0.3660, 0.1941},
10277 {0.4010, 0.2440, 0.1524, 0.2026},
10278 {0.3605, 0.1778, 0.3821, 0.0795},
10279 {0.1165, 0.3046, 0.4019, 0.1770}},
10280 {
10281 {0.3648, 0.1699, 0.2655, 0.1998},
10282 {0.3214, 0.2671, 0.1414, 0.2701},
10283 {0.3706, 0.1856, 0.2558, 0.1880},
10284 {0.1388, 0.2056, 0.2901, 0.3656}},
10285 {
10286 {0.2592, 0.2630, 0.3470, 0.1308},
10287 {0.2432, 0.3671, 0.0429, 0.3468},
10288 {0.1238, 0.3789, 0.2135, 0.2839},
10289 {0.1022, 0.2972, 0.4381, 0.1625}},
10290 {
10291 {0.2438, 0.2478, 0.3304, 0.1780},
10292 {0.3600, 0.2632, 0.1314, 0.2454},
10293 {0.2231, 0.2290, 0.4091, 0.1389},
10294 {0.1784, 0.1205, 0.5842, 0.1170}},
10295 {
10296 {0.3679, 0.2368, 0.2232, 0.1720},
10297 {0.3227, 0.3084, 0.0810, 0.2879},
10298 {0.3691, 0.1516, 0.2373, 0.2420},
10299 {0.0885, 0.2809, 0.3883, 0.2423}},
10300 {
10301 {0.1744, 0.2507, 0.4166, 0.1583},
10302 {0.3003, 0.3137, 0.0387, 0.3473},
10303 {0.2174, 0.3307, 0.2994, 0.1526},
10304 {0.1077, 0.2378, 0.4600, 0.1946}},
10305 {
10306 {0.2094, 0.1431, 0.4397, 0.2078},
10307 {0.3220, 0.2421, 0.1656, 0.2702},
10308 {0.2740, 0.2897, 0.2855, 0.1508},
10309 {0.1632, 0.0996, 0.6792, 0.0581}},
10310 {
10311 {0.2738, 0.2016, 0.2841, 0.2405},
10312 {0.2348, 0.2641, 0.2214, 0.2796},
10313 {0.2519, 0.2197, 0.2267, 0.3017},
10314 {0.2175, 0.2919, 0.1889, 0.3016}}
10315 },
10316 { /* Splice_Site: F0_GT; Species: Chick */
10317 {
10318 {0.3022, 0.3022, 0.3022, 0.3022},
10319 {0.2477, 0.2477, 0.2477, 0.2477},
10320 {0.2637, 0.2637, 0.2637, 0.2637},
10321 {0.1864, 0.1864, 0.1864, 0.1864}},
10322 {
10323 {0.2174, 0.2696, 0.1773, 0.3356},
10324 {0.2180, 0.4460, 0.0727, 0.2633},
10325 {0.3445, 0.2417, 0.2038, 0.2100},
10326 {0.2600, 0.3013, 0.3429, 0.0958}},
10327 {
10328 {0.0365, 0.1812, 0.4598, 0.3226},
10329 {0.1508, 0.4124, 0.2642, 0.1726},
10330 {0.0971, 0.2339, 0.3819, 0.2870},
10331 {0.0000, 0.3438, 0.5007, 0.1555}},
10332 {
10333 {0.3704, 0.2489, 0.2545, 0.1262},
10334 {0.3626, 0.1534, 0.2137, 0.2703},
10335 {0.2357, 0.2294, 0.2802, 0.2548},
10336 {0.1598, 0.3193, 0.3547, 0.1663}},
10337 {
10338 {0.3101, 0.2418, 0.1765, 0.2716},
10339 {0.1243, 0.3158, 0.1976, 0.3623},
10340 {0.4628, 0.2677, 0.2025, 0.0669},
10341 {0.2365, 0.3216, 0.2857, 0.1562}},
10342 {
10343 {0.2476, 0.4030, 0.2190, 0.1304},
10344 {0.1248, 0.4893, 0.1603, 0.2256},
10345 {0.0877, 0.5294, 0.2108, 0.1721},
10346 {0.1327, 0.2582, 0.3891, 0.2199}},
10347 {
10348 {0.2931, 0.0586, 0.5365, 0.1118},
10349 {0.3465, 0.2155, 0.0906, 0.3473},
10350 {0.3068, 0.2669, 0.2653, 0.1610},
10351 {0.0985, 0.4455, 0.2476, 0.2084}},
10352 {
10353 {0.2871, 0.1608, 0.1897, 0.3624},
10354 {0.3663, 0.2642, 0.1081, 0.2613},
10355 {0.5139, 0.2012, 0.2029, 0.0820},
10356 {0.1911, 0.3824, 0.2362, 0.1902}},
10357 {
10358 {0.0516, 0.3009, 0.4544, 0.1932},
10359 {0.2204, 0.2965, 0.1136, 0.3694},
10360 {0.1439, 0.3879, 0.2613, 0.2070},
10361 {0.0763, 0.4045, 0.3563, 0.1629}},
10362 {
10363 {0.0763, 0.2314, 0.5356, 0.1567},
10364 {0.2695, 0.3009, 0.1872, 0.2423},
10365 {0.1773, 0.1786, 0.3205, 0.3236},
10366 {0.0818, 0.3953, 0.2762, 0.2467}},
10367 {
10368 {0.3670, 0.2583, 0.1042, 0.2705},
10369 {0.2951, 0.1949, 0.1360, 0.3740},
10370 {0.3457, 0.2141, 0.2838, 0.1563},
10371 {0.1410, 0.3918, 0.2142, 0.2529}},
10372 {
10373 {0.1971, 0.3610, 0.2839, 0.1580},
10374 {0.2735, 0.3053, 0.1016, 0.3196},
10375 {0.0466, 0.2821, 0.3813, 0.2900},
10376 {0.0345, 0.2874, 0.5735, 0.1046}},
10377 {
10378 {0.4409, 0.0603, 0.3768, 0.1220},
10379 {0.3495, 0.2365, 0.2102, 0.2039},
10380 {0.1940, 0.2519, 0.3853, 0.1688},
10381 {0.0404, 0.2660, 0.5658, 0.1278}},
10382 {
10383 {0.3296, 0.1883, 0.1483, 0.3338},
10384 {0.0839, 0.3316, 0.1299, 0.4546},
10385 {0.2715, 0.3773, 0.1277, 0.2236},
10386 {0.1668, 0.3347, 0.2184, 0.2801}},
10387 {
10388 {0.2381, 0.2823, 0.2372, 0.2425},
10389 {0.1490, 0.3799, 0.1183, 0.3529},
10390 {0.3137, 0.3784, 0.2490, 0.0589},
10391 {0.0851, 0.4683, 0.3554, 0.0912}},
10392 {
10393 {0.3575, 0.1672, 0.3179, 0.1574},
10394 {0.2635, 0.3084, 0.1411, 0.2870},
10395 {0.3438, 0.0759, 0.4589, 0.1214},
10396 {0.0498, 0.3550, 0.4577, 0.1375}},
10397 {
10398 {0.1456, 0.2466, 0.2923, 0.3155},
10399 {0.1188, 0.3055, 0.1552, 0.4205},
10400 {0.2939, 0.3271, 0.1486, 0.2305},
10401 {0.2414, 0.3266, 0.0989, 0.3331}},
10402 {
10403 {0.0910, 0.3680, 0.4473, 0.0937},
10404 {0.1227, 0.4892, 0.1783, 0.2098},
10405 {0.1634, 0.3578, 0.1598, 0.3190},
10406 {0.0828, 0.3144, 0.3759, 0.2269}},
10407 {
10408 {0.2444, 0.0818, 0.5004, 0.1734},
10409 {0.4063, 0.2341, 0.1723, 0.1874},
10410 {0.2143, 0.3139, 0.2194, 0.2524},
10411 {0.2132, 0.2179, 0.3454, 0.2235}},
10412 {
10413 {0.1839, 0.1889, 0.2536, 0.3737},
10414 {0.2292, 0.2309, 0.1934, 0.3465},
10415 {0.2122, 0.2865, 0.2879, 0.2134},
10416 {0.0000, 0.3405, 0.2201, 0.4394}},
10417 {
10418 {0.1161, 0.3852, 0.4987, 0.0000},
10419 {0.1743, 0.4237, 0.1436, 0.2584},
10420 {0.0000, 0.4277, 0.3448, 0.2275},
10421 {0.0817, 0.4566, 0.3534, 0.1083}},
10422 {
10423 {0.2041, 0.0000, 0.5933, 0.2026},
10424 {0.3795, 0.2323, 0.1074, 0.2807},
10425 {0.2581, 0.2565, 0.2852, 0.2002},
10426 {0.1838, 0.1183, 0.4610, 0.2368}},
10427 {
10428 {0.3398, 0.3428, 0.0615, 0.2558},
10429 {0.2684, 0.3662, 0.1800, 0.1854},
10430 {0.2770, 0.2064, 0.2409, 0.2757},
10431 {0.0726, 0.3489, 0.3853, 0.1932}},
10432 {
10433 {0.1855, 0.3277, 0.3347, 0.1520},
10434 {0.2350, 0.4753, 0.1456, 0.1440},
10435 {0.0858, 0.3994, 0.3012, 0.2136},
10436 {0.0000, 0.3607, 0.2755, 0.3638}},
10437 {
10438 {0.3986, 0.2668, 0.2018, 0.1327},
10439 {0.2366, 0.3660, 0.1395, 0.2578},
10440 {0.2886, 0.1794, 0.4605, 0.0714},
10441 {0.0405, 0.2168, 0.5252, 0.2175}},
10442 {
10443 {0.3152, 0.2006, 0.2085, 0.2758},
10444 {0.1694, 0.3360, 0.2002, 0.2943},
10445 {0.2597, 0.2991, 0.2352, 0.2060},
10446 {0.1451, 0.3072, 0.2998, 0.2478}},
10447 {
10448 {0.1165, 0.3614, 0.3191, 0.2030},
10449 {0.1315, 0.3559, 0.1919, 0.3207},
10450 {0.1586, 0.4373, 0.2449, 0.1592},
10451 {0.0377, 0.3573, 0.4644, 0.1406}},
10452 {
10453 {0.0789, 0.1656, 0.6749, 0.0807},
10454 {0.3224, 0.2893, 0.1942, 0.1941},
10455 {0.2158, 0.2721, 0.3598, 0.1523},
10456 {0.1295, 0.2595, 0.5181, 0.0930}},
10457 {
10458 {0.2894, 0.2977, 0.0845, 0.3284},
10459 {0.2090, 0.2070, 0.0665, 0.5175},
10460 {0.2505, 0.3028, 0.2737, 0.1730},
10461 {0.1847, 0.3670, 0.1334, 0.3149}},
10462 {
10463 {0.2725, 0.2680, 0.3060, 0.1535},
10464 {0.1306, 0.4562, 0.0941, 0.3191},
10465 {0.1703, 0.2958, 0.1771, 0.3567},
10466 {0.0551, 0.4319, 0.4579, 0.0551}},
10467 {
10468 {0.3148, 0.2509, 0.1851, 0.2492},
10469 {0.4140, 0.2421, 0.0992, 0.2448},
10470 {0.2604, 0.2705, 0.3352, 0.1339},
10471 {0.3223, 0.1351, 0.4554, 0.0872}},
10472 {
10473 {0.3518, 0.1052, 0.1323, 0.4107},
10474 {0.2415, 0.1225, 0.2352, 0.4008},
10475 {0.3237, 0.3745, 0.0749, 0.2269},
10476 {0.1094, 0.3507, 0.2414, 0.2986}},
10477 {
10478 {0.1272, 0.3053, 0.4294, 0.1381},
10479 {0.2095, 0.4531, 0.1645, 0.1728},
10480 {0.1114, 0.4436, 0.2807, 0.1643},
10481 {0.0528, 0.3251, 0.4344, 0.1877}},
10482 {
10483 {0.1488, 0.3055, 0.4702, 0.0755},
10484 {0.5278, 0.2023, 0.1249, 0.1450},
10485 {0.1295, 0.2663, 0.4751, 0.1291},
10486 {0.1672, 0.1190, 0.7137, 0.0000}},
10487 {
10488 {0.2614, 0.2225, 0.1951, 0.3210},
10489 {0.0795, 0.3757, 0.1240, 0.4207},
10490 {0.4514, 0.2895, 0.1639, 0.0951},
10491 {0.2585, 0.4951, 0.0824, 0.1640}},
10492 {
10493 {0.0628, 0.3138, 0.4358, 0.1876},
10494 {0.2908, 0.4687, 0.0587, 0.1819},
10495 {0.1191, 0.5360, 0.2288, 0.1161},
10496 {0.0760, 0.3446, 0.3107, 0.2687}},
10497 {
10498 {0.3741, 0.1874, 0.3764, 0.0621},
10499 {0.3776, 0.1812, 0.2539, 0.1873},
10500 {0.3642, 0.2511, 0.2457, 0.1391},
10501 {0.1457, 0.2347, 0.5242, 0.0954}},
10502 {
10503 {0.3926, 0.1409, 0.0845, 0.3820},
10504 {0.3031, 0.3521, 0.0827, 0.2622},
10505 {0.2857, 0.2611, 0.2278, 0.2253},
10506 {0.1331, 0.3274, 0.1985, 0.3409}},
10507 {
10508 {0.0325, 0.5506, 0.3242, 0.0928},
10509 {0.1101, 0.5266, 0.1085, 0.2548},
10510 {0.0000, 0.5597, 0.2520, 0.1883},
10511 {0.1218, 0.4228, 0.2731, 0.1823}},
10512 {
10513 {0.2401, 0.2476, 0.3884, 0.1238},
10514 {0.3617, 0.2017, 0.1642, 0.2724},
10515 {0.1519, 0.2602, 0.4457, 0.1422},
10516 {0.1012, 0.1043, 0.6890, 0.1056}},
10517 {
10518 {0.2487, 0.3572, 0.1070, 0.2871},
10519 {0.3116, 0.1841, 0.0465, 0.4577},
10520 {0.4839, 0.1633, 0.1598, 0.1930},
10521 {0.1921, 0.4023, 0.1828, 0.2228}},
10522 {
10523 {0.0813, 0.3373, 0.4132, 0.1682},
10524 {0.1322, 0.4450, 0.1037, 0.3191},
10525 {0.1449, 0.4988, 0.2806, 0.0757},
10526 {0.1343, 0.1959, 0.4354, 0.2344}},
10527 {
10528 {0.4677, 0.1481, 0.3842, 0.0000},
10529 {0.3138, 0.3160, 0.1029, 0.2674},
10530 {0.2565, 0.2066, 0.4267, 0.1102},
10531 {0.1355, 0.1295, 0.4391, 0.2958}},
10532 {
10533 {0.3336, 0.2351, 0.1961, 0.2352},
10534 {0.3669, 0.1650, 0.1645, 0.3036},
10535 {0.3858, 0.1489, 0.2049, 0.2605},
10536 {0.1486, 0.1825, 0.2853, 0.3835}},
10537 {
10538 {0.1434, 0.3737, 0.4263, 0.0566},
10539 {0.2501, 0.4433, 0.0524, 0.2542},
10540 {0.0455, 0.3437, 0.4381, 0.1727},
10541 {0.1279, 0.2670, 0.4757, 0.1293}},
10542 {
10543 {0.5350, 0.1277, 0.3373, 0.0000},
10544 {0.2360, 0.3977, 0.1582, 0.2081},
10545 {0.1700, 0.2496, 0.4568, 0.1236},
10546 {0.0685, 0.1392, 0.5975, 0.1947}},
10547 {
10548 {0.3636, 0.2441, 0.1180, 0.2742},
10549 {0.3723, 0.0691, 0.1810, 0.3775},
10550 {0.4064, 0.2296, 0.2846, 0.0795},
10551 {0.1284, 0.4301, 0.2490, 0.1925}},
10552 {
10553 {0.1843, 0.4183, 0.3163, 0.0810},
10554 {0.2468, 0.3754, 0.1265, 0.2513},
10555 {0.1289, 0.3459, 0.3066, 0.2187},
10556 {0.0467, 0.2596, 0.6516, 0.0421}},
10557 {
10558 {0.2987, 0.2337, 0.4111, 0.0565},
10559 {0.2304, 0.4351, 0.1802, 0.1543},
10560 {0.2275, 0.4029, 0.3436, 0.0259},
10561 {0.1359, 0.1955, 0.6036, 0.0650}},
10562 {
10563 {0.2757, 0.1606, 0.1639, 0.3999},
10564 {0.4370, 0.1048, 0.0498, 0.4084},
10565 {0.5287, 0.1100, 0.2495, 0.1117},
10566 {0.0000, 0.4452, 0.4477, 0.1071}},
10567 {
10568 {0.0000, 0.0000, 1.0000, 0.0000},
10569 {0.0000, 0.0000, 1.0000, 0.0000},
10570 {0.0000, 0.0000, 1.0000, 0.0000},
10571 {0.0000, 0.0000, 1.0000, 0.0000}},
10572 {
10573 {0.0000, 0.0000, 0.0000, 0.0000},
10574 {0.0000, 0.0000, 0.0000, 0.0000},
10575 {0.0000, 0.0000, 0.0000, 1.0000},
10576 {0.0000, 0.0000, 0.0000, 0.0000}},
10577 {
10578 {0.0000, 0.0000, 0.0000, 0.0000},
10579 {0.0000, 0.0000, 0.0000, 0.0000},
10580 {0.0000, 0.0000, 0.0000, 0.0000},
10581 {0.1560, 0.3212, 0.2744, 0.2484}},
10582 {
10583 {0.0000, 0.7659, 0.0000, 0.2341},
10584 {0.1631, 0.4627, 0.1724, 0.2018},
10585 {0.0000, 0.3966, 0.4725, 0.1308},
10586 {0.0375, 0.6359, 0.0352, 0.2914}},
10587 {
10588 {0.4085, 0.1436, 0.4478, 0.0000},
10589 {0.3227, 0.2806, 0.1188, 0.2779},
10590 {0.2827, 0.0971, 0.3758, 0.2445},
10591 {0.0432, 0.1290, 0.6572, 0.1706}},
10592 {
10593 {0.1019, 0.2047, 0.3452, 0.3483},
10594 {0.3122, 0.2731, 0.1857, 0.2289},
10595 {0.4878, 0.2701, 0.1506, 0.0914},
10596 {0.2046, 0.2807, 0.2014, 0.3134}},
10597 {
10598 {0.0969, 0.2946, 0.4181, 0.1905},
10599 {0.1757, 0.6100, 0.1437, 0.0705},
10600 {0.0000, 0.5437, 0.3347, 0.1216},
10601 {0.0789, 0.2697, 0.4628, 0.1886}},
10602 {
10603 {0.2990, 0.1993, 0.4048, 0.0969},
10604 {0.3958, 0.2134, 0.1729, 0.2179},
10605 {0.2491, 0.2969, 0.3166, 0.1374},
10606 {0.0591, 0.0000, 0.8126, 0.1284}},
10607 {
10608 {0.4224, 0.1618, 0.1284, 0.2874},
10609 {0.3036, 0.2644, 0.1738, 0.2582},
10610 {0.3267, 0.1068, 0.2971, 0.2694},
10611 {0.1670, 0.2217, 0.2171, 0.3942}},
10612 {
10613 {0.2630, 0.2812, 0.3130, 0.1428},
10614 {0.0464, 0.5879, 0.2088, 0.1570},
10615 {0.0473, 0.5998, 0.2226, 0.1303},
10616 {0.0595, 0.4716, 0.3108, 0.1581}},
10617 {
10618 {0.1514, 0.3050, 0.5437, 0.0000},
10619 {0.4210, 0.1586, 0.1605, 0.2599},
10620 {0.2647, 0.2349, 0.2672, 0.2332},
10621 {0.0642, 0.3769, 0.4961, 0.0628}},
10622 {
10623 {0.3096, 0.2505, 0.2175, 0.2224},
10624 {0.3604, 0.1147, 0.2402, 0.2847},
10625 {0.4216, 0.1915, 0.2538, 0.1330},
10626 {0.2892, 0.2809, 0.1440, 0.2859}},
10627 {
10628 {0.0533, 0.4222, 0.3383, 0.1862},
10629 {0.1305, 0.5252, 0.2134, 0.1308},
10630 {0.0813, 0.2982, 0.3744, 0.2461},
10631 {0.0828, 0.2516, 0.5015, 0.1640}},
10632 {
10633 {0.1103, 0.3396, 0.4381, 0.1120},
10634 {0.3140, 0.2899, 0.1229, 0.2732},
10635 {0.2043, 0.3597, 0.3339, 0.1022},
10636 {0.2953, 0.1991, 0.4068, 0.0988}},
10637 {
10638 {0.2506, 0.1775, 0.2553, 0.3167},
10639 {0.2383, 0.1794, 0.1504, 0.4318},
10640 {0.2091, 0.2983, 0.3241, 0.1686},
10641 {0.2691, 0.2251, 0.2239, 0.2818}},
10642 {
10643 {0.0400, 0.3448, 0.4593, 0.1559},
10644 {0.2089, 0.3746, 0.1265, 0.2900},
10645 {0.1950, 0.3864, 0.3433, 0.0753},
10646 {0.0616, 0.3279, 0.5221, 0.0884}},
10647 {
10648 {0.2365, 0.3806, 0.3830, 0.0000},
10649 {0.3896, 0.2519, 0.1827, 0.1758},
10650 {0.3130, 0.2763, 0.2867, 0.1241},
10651 {0.2480, 0.1297, 0.5593, 0.0630}},
10652 {
10653 {0.2888, 0.2552, 0.2017, 0.2543},
10654 {0.3632, 0.1419, 0.2453, 0.2496},
10655 {0.3588, 0.1789, 0.1199, 0.3424},
10656 {0.2217, 0.2295, 0.3163, 0.2324}},
10657 {
10658 {0.1679, 0.3392, 0.3804, 0.1124},
10659 {0.1372, 0.5940, 0.0449, 0.2239},
10660 {0.0872, 0.4522, 0.2256, 0.2349},
10661 {0.0675, 0.3037, 0.4336, 0.1953}},
10662 {
10663 {0.3848, 0.1556, 0.4596, 0.0000},
10664 {0.2733, 0.2037, 0.3424, 0.1806},
10665 {0.1826, 0.4111, 0.2857, 0.1206},
10666 {0.2043, 0.1068, 0.5388, 0.1501}},
10667 {
10668 {0.2269, 0.3667, 0.1466, 0.2599},
10669 {0.1142, 0.2731, 0.2250, 0.3878},
10670 {0.3177, 0.2170, 0.3208, 0.1445},
10671 {0.1984, 0.1341, 0.3327, 0.3348}},
10672 {
10673 {0.2368, 0.4015, 0.2426, 0.1190},
10674 {0.1451, 0.5675, 0.1420, 0.1454},
10675 {0.1415, 0.3288, 0.4255, 0.1042},
10676 {0.0346, 0.2459, 0.5424, 0.1770}},
10677 {
10678 {0.3936, 0.2010, 0.3377, 0.0677},
10679 {0.3326, 0.2624, 0.1914, 0.2137},
10680 {0.1666, 0.2950, 0.4322, 0.1062},
10681 {0.1945, 0.1367, 0.5351, 0.1337}},
10682 {
10683 {0.2703, 0.2011, 0.2151, 0.3135},
10684 {0.3735, 0.1786, 0.1113, 0.3366},
10685 {0.4067, 0.2122, 0.2428, 0.1383},
10686 {0.1887, 0.2497, 0.1807, 0.3809}},
10687 {
10688 {0.1927, 0.3344, 0.2798, 0.1930},
10689 {0.2569, 0.3902, 0.0906, 0.2623},
10690 {0.1428, 0.4325, 0.2812, 0.1435},
10691 {0.0713, 0.4849, 0.3085, 0.1353}},
10692 {
10693 {0.2762, 0.2168, 0.5069, 0.0000},
10694 {0.2879, 0.1655, 0.2952, 0.2514},
10695 {0.2598, 0.1115, 0.5129, 0.1158},
10696 {0.2559, 0.2899, 0.3524, 0.1018}},
10697 {
10698 {0.2722, 0.3972, 0.1646, 0.1660},
10699 {0.1585, 0.3520, 0.1982, 0.2913},
10700 {0.3469, 0.2802, 0.2343, 0.1386},
10701 {0.3146, 0.3111, 0.1842, 0.1902}},
10702 {
10703 {0.1230, 0.3839, 0.4580, 0.0352},
10704 {0.2240, 0.3295, 0.2762, 0.1703},
10705 {0.2284, 0.2726, 0.2293, 0.2697},
10706 {0.0000, 0.2503, 0.6530, 0.0967}},
10707 {
10708 {0.3537, 0.0616, 0.2329, 0.3517},
10709 {0.2311, 0.3466, 0.2275, 0.1948},
10710 {0.1441, 0.2569, 0.4556, 0.1433},
10711 {0.2611, 0.2092, 0.4011, 0.1287}},
10712 {
10713 {0.3720, 0.1667, 0.2521, 0.2092},
10714 {0.2223, 0.2963, 0.2254, 0.2560},
10715 {0.2984, 0.2459, 0.1368, 0.3189},
10716 {0.1428, 0.2885, 0.2403, 0.3284}},
10717 {
10718 {0.1724, 0.2774, 0.4112, 0.1390},
10719 {0.1840, 0.4439, 0.1857, 0.1864},
10720 {0.2238, 0.4560, 0.2781, 0.0422},
10721 {0.0640, 0.3882, 0.3899, 0.1578}},
10722 {
10723 {0.1212, 0.0603, 0.7059, 0.1126},
10724 {0.4326, 0.2836, 0.1917, 0.0921},
10725 {0.1972, 0.2282, 0.4539, 0.1208},
10726 {0.2641, 0.1326, 0.3978, 0.2054}},
10727 {
10728 {0.2890, 0.2205, 0.1556, 0.3349},
10729 {0.2525, 0.3055, 0.0450, 0.3970},
10730 {0.3094, 0.2603, 0.2381, 0.1923},
10731 {0.3140, 0.3081, 0.0769, 0.3011}},
10732 {
10733 {0.1272, 0.2924, 0.4265, 0.1539},
10734 {0.2747, 0.3139, 0.2380, 0.1734},
10735 {0.1803, 0.2927, 0.4143, 0.1127},
10736 {0.0000, 0.4234, 0.5081, 0.0686}},
10737 {
10738 {0.1986, 0.3284, 0.4088, 0.0642},
10739 {0.3310, 0.1972, 0.2758, 0.1960},
10740 {0.2470, 0.2526, 0.3199, 0.1804},
10741 {0.1379, 0.1414, 0.4997, 0.2210}},
10742 {
10743 {0.3899, 0.2519, 0.1473, 0.2109},
10744 {0.2409, 0.2364, 0.1624, 0.3603},
10745 {0.4016, 0.1885, 0.2205, 0.1894},
10746 {0.0999, 0.1636, 0.3099, 0.4265}},
10747 {
10748 {0.1486, 0.2667, 0.4103, 0.1745},
10749 {0.2644, 0.4346, 0.0850, 0.2161},
10750 {0.1841, 0.2286, 0.4051, 0.1822},
10751 {0.0337, 0.3405, 0.5262, 0.0997}},
10752 {
10753 {0.1228, 0.2535, 0.5628, 0.0608},
10754 {0.4973, 0.2373, 0.0851, 0.1802},
10755 {0.1949, 0.2415, 0.4182, 0.1453},
10756 {0.1604, 0.1195, 0.6609, 0.0592}},
10757 {
10758 {0.3378, 0.2341, 0.1971, 0.2310},
10759 {0.2584, 0.2851, 0.2041, 0.2524},
10760 {0.5367, 0.1478, 0.1454, 0.1702},
10761 {0.2743, 0.2209, 0.1421, 0.3626}},
10762 {
10763 {0.2382, 0.2618, 0.3173, 0.1826},
10764 {0.1716, 0.6142, 0.1259, 0.0882},
10765 {0.1068, 0.5266, 0.2107, 0.1559},
10766 {0.0383, 0.4813, 0.4381, 0.0423}},
10767 {
10768 {0.1158, 0.2902, 0.2946, 0.2993},
10769 {0.3458, 0.2318, 0.2477, 0.1747},
10770 {0.2925, 0.2851, 0.2965, 0.1259},
10771 {0.0699, 0.0000, 0.8593, 0.0707}},
10772 {
10773 {0.3548, 0.1794, 0.1810, 0.2847},
10774 {0.1987, 0.2017, 0.2406, 0.3590},
10775 {0.3140, 0.2329, 0.2362, 0.2169},
10776 {0.0571, 0.3904, 0.0523, 0.5002}},
10777 {
10778 {0.0700, 0.1811, 0.4630, 0.2859},
10779 {0.1511, 0.3794, 0.3178, 0.1517},
10780 {0.0443, 0.3830, 0.4260, 0.1466},
10781 {0.0636, 0.4714, 0.3492, 0.1158}},
10782 {
10783 {0.3523, 0.1073, 0.1090, 0.4314},
10784 {0.3306, 0.2613, 0.1273, 0.2807},
10785 {0.2113, 0.3825, 0.2881, 0.1181},
10786 {0.0531, 0.3202, 0.4697, 0.1570}},
10787 {
10788 {0.2300, 0.1124, 0.3079, 0.3497},
10789 {0.1541, 0.3353, 0.0594, 0.4512},
10790 {0.3320, 0.2965, 0.1468, 0.2246},
10791 {0.0880, 0.3018, 0.3898, 0.2204}},
10792 {
10793 {0.2674, 0.2740, 0.3245, 0.1341},
10794 {0.2762, 0.4828, 0.1012, 0.1399},
10795 {0.1355, 0.2966, 0.2194, 0.3485},
10796 {0.0303, 0.3921, 0.4055, 0.1721}},
10797 {
10798 {0.4538, 0.1564, 0.2782, 0.1116},
10799 {0.2202, 0.1976, 0.3151, 0.2671},
10800 {0.2101, 0.2397, 0.3461, 0.2041},
10801 {0.0935, 0.2446, 0.5715, 0.0903}},
10802 {
10803 {0.3985, 0.2435, 0.1909, 0.1671},
10804 {0.3482, 0.1710, 0.1743, 0.3065},
10805 {0.3445, 0.3002, 0.2026, 0.1526},
10806 {0.3411, 0.3793, 0.0929, 0.1867}},
10807 {
10808 {0.1259, 0.4634, 0.2838, 0.1270},
10809 {0.1039, 0.4346, 0.1674, 0.2941},
10810 {0.2626, 0.3620, 0.1612, 0.2142},
10811 {0.1500, 0.2940, 0.4629, 0.0931}},
10812 {
10813 {0.2425, 0.1235, 0.5034, 0.1306},
10814 {0.4598, 0.2466, 0.1807, 0.1129},
10815 {0.2042, 0.2387, 0.2730, 0.2841},
10816 {0.2018, 0.0947, 0.4511, 0.2524}},
10817 {
10818 {0.2850, 0.2667, 0.2426, 0.2057},
10819 {0.1308, 0.3654, 0.2250, 0.2787},
10820 {0.2196, 0.2732, 0.3539, 0.1534},
10821 {0.1013, 0.2548, 0.2921, 0.3519}},
10822 {
10823 {0.2222, 0.3212, 0.3160, 0.1406},
10824 {0.2301, 0.4502, 0.1568, 0.1629},
10825 {0.1312, 0.3587, 0.3180, 0.1920},
10826 {0.1575, 0.3602, 0.3203, 0.1620}}
10827 },
10828 { /* Splice_Site: Fi_GT; Species: Chick */
10829 {
10830 {0.2291, 0.2291, 0.2291, 0.2291},
10831 {0.2423, 0.2423, 0.2423, 0.2423},
10832 {0.2440, 0.2440, 0.2440, 0.2440},
10833 {0.2846, 0.2846, 0.2846, 0.2846}},
10834 {
10835 {0.2355, 0.2307, 0.2777, 0.2561},
10836 {0.2825, 0.2389, 0.0685, 0.4101},
10837 {0.2322, 0.2381, 0.3185, 0.2113},
10838 {0.2071, 0.1617, 0.3593, 0.2719}},
10839 {
10840 {0.2820, 0.2292, 0.3117, 0.1771},
10841 {0.3619, 0.2976, 0.0475, 0.2930},
10842 {0.2934, 0.2552, 0.2301, 0.2213},
10843 {0.1644, 0.2646, 0.2992, 0.2717}},
10844 {
10845 {0.3140, 0.1492, 0.2917, 0.2451},
10846 {0.3483, 0.3259, 0.0658, 0.2599},
10847 {0.2121, 0.2555, 0.3708, 0.1615},
10848 {0.1410, 0.2560, 0.2867, 0.3162}},
10849 {
10850 {0.3379, 0.0979, 0.3099, 0.2543},
10851 {0.2435, 0.2463, 0.1239, 0.3863},
10852 {0.1750, 0.2170, 0.2992, 0.3087},
10853 {0.1069, 0.2895, 0.3125, 0.2911}},
10854 {
10855 {0.2298, 0.1705, 0.3837, 0.2161},
10856 {0.3722, 0.2484, 0.0617, 0.3176},
10857 {0.3153, 0.2154, 0.3438, 0.1255},
10858 {0.1121, 0.1266, 0.4068, 0.3545}},
10859 {
10860 {0.3006, 0.2189, 0.2588, 0.2218},
10861 {0.3560, 0.2396, 0.0562, 0.3482},
10862 {0.1801, 0.1989, 0.3955, 0.2255},
10863 {0.2127, 0.1695, 0.3773, 0.2405}},
10864 {
10865 {0.2572, 0.2447, 0.3035, 0.1945},
10866 {0.2877, 0.3604, 0.0667, 0.2853},
10867 {0.2229, 0.1623, 0.3471, 0.2677},
10868 {0.1348, 0.2062, 0.4019, 0.2572}},
10869 {
10870 {0.3154, 0.1650, 0.3364, 0.1831},
10871 {0.2895, 0.2597, 0.1146, 0.3362},
10872 {0.2511, 0.1852, 0.2974, 0.2663},
10873 {0.1723, 0.3114, 0.2169, 0.2993}},
10874 {
10875 {0.3150, 0.1608, 0.2081, 0.3160},
10876 {0.3362, 0.2508, 0.1044, 0.3086},
10877 {0.2649, 0.2327, 0.2974, 0.2050},
10878 {0.2849, 0.1634, 0.2964, 0.2553}},
10879 {
10880 {0.3109, 0.2274, 0.3080, 0.1537},
10881 {0.2557, 0.2603, 0.0967, 0.3874},
10882 {0.1552, 0.2352, 0.2060, 0.4036},
10883 {0.1742, 0.1830, 0.2963, 0.3465}},
10884 {
10885 {0.3314, 0.1630, 0.3261, 0.1795},
10886 {0.2092, 0.3812, 0.0943, 0.3152},
10887 {0.2296, 0.2240, 0.2930, 0.2534},
10888 {0.1733, 0.2719, 0.3091, 0.2456}},
10889 {
10890 {0.2601, 0.2426, 0.2335, 0.2637},
10891 {0.3356, 0.2763, 0.1417, 0.2465},
10892 {0.2340, 0.2064, 0.2217, 0.3379},
10893 {0.1392, 0.2529, 0.4183, 0.1896}},
10894 {
10895 {0.2762, 0.1121, 0.4143, 0.1974},
10896 {0.3405, 0.2361, 0.0642, 0.3592},
10897 {0.2411, 0.1590, 0.3245, 0.2754},
10898 {0.2272, 0.2046, 0.3632, 0.2050}},
10899 {
10900 {0.2458, 0.2384, 0.2907, 0.2251},
10901 {0.2674, 0.3040, 0.1172, 0.3115},
10902 {0.2355, 0.2603, 0.2384, 0.2658},
10903 {0.1998, 0.1350, 0.4165, 0.2487}},
10904 {
10905 {0.2137, 0.1427, 0.3981, 0.2456},
10906 {0.3640, 0.2664, 0.1163, 0.2533},
10907 {0.1972, 0.2301, 0.2339, 0.3387},
10908 {0.1279, 0.1983, 0.3744, 0.2994}},
10909 {
10910 {0.1651, 0.2906, 0.3641, 0.1802},
10911 {0.3359, 0.2461, 0.0480, 0.3700},
10912 {0.2196, 0.2404, 0.3181, 0.2219},
10913 {0.1854, 0.2222, 0.3677, 0.2248}},
10914 {
10915 {0.2127, 0.1901, 0.3679, 0.2293},
10916 {0.3167, 0.2209, 0.0533, 0.4092},
10917 {0.2231, 0.2144, 0.2805, 0.2820},
10918 {0.2151, 0.1704, 0.2459, 0.3685}},
10919 {
10920 {0.1516, 0.1814, 0.3882, 0.2788},
10921 {0.4307, 0.3403, 0.0460, 0.1830},
10922 {0.2250, 0.2431, 0.3337, 0.1982},
10923 {0.1358, 0.1656, 0.3996, 0.2990}},
10924 {
10925 {0.3844, 0.1879, 0.2399, 0.1878},
10926 {0.2440, 0.3763, 0.0772, 0.3025},
10927 {0.1881, 0.2407, 0.2539, 0.3174},
10928 {0.1481, 0.1600, 0.4110, 0.2809}},
10929 {
10930 {0.2647, 0.1471, 0.3376, 0.2506},
10931 {0.3098, 0.2491, 0.0413, 0.3999},
10932 {0.2871, 0.2277, 0.3101, 0.1751},
10933 {0.1542, 0.0954, 0.3665, 0.3840}},
10934 {
10935 {0.2624, 0.1865, 0.3480, 0.2031},
10936 {0.2674, 0.2965, 0.0392, 0.3970},
10937 {0.2156, 0.2638, 0.2695, 0.2512},
10938 {0.2289, 0.1188, 0.3575, 0.2948}},
10939 {
10940 {0.4387, 0.1137, 0.2032, 0.2444},
10941 {0.2278, 0.4328, 0.0490, 0.2904},
10942 {0.2256, 0.2572, 0.3156, 0.2016},
10943 {0.2242, 0.1472, 0.3245, 0.3041}},
10944 {
10945 {0.3036, 0.2023, 0.3067, 0.1874},
10946 {0.4748, 0.2293, 0.0707, 0.2252},
10947 {0.2154, 0.1836, 0.3114, 0.2897},
10948 {0.1544, 0.2973, 0.2763, 0.2720}},
10949 {
10950 {0.3392, 0.1566, 0.3106, 0.1936},
10951 {0.4033, 0.2334, 0.0748, 0.2885},
10952 {0.2106, 0.2442, 0.3250, 0.2202},
10953 {0.2547, 0.1934, 0.3154, 0.2365}},
10954 {
10955 {0.2789, 0.2278, 0.2373, 0.2560},
10956 {0.3910, 0.2620, 0.1129, 0.2342},
10957 {0.2378, 0.2566, 0.2747, 0.2309},
10958 {0.0920, 0.3274, 0.2062, 0.3744}},
10959 {
10960 {0.3018, 0.1386, 0.2720, 0.2875},
10961 {0.2656, 0.2866, 0.0751, 0.3726},
10962 {0.1871, 0.2662, 0.3517, 0.1950},
10963 {0.1373, 0.2497, 0.2829, 0.3301}},
10964 {
10965 {0.2165, 0.1082, 0.4274, 0.2479},
10966 {0.2811, 0.3634, 0.1004, 0.2552},
10967 {0.1731, 0.1551, 0.3671, 0.3046},
10968 {0.1925, 0.1566, 0.3362, 0.3147}},
10969 {
10970 {0.3131, 0.1834, 0.1600, 0.3435},
10971 {0.3544, 0.3464, 0.0151, 0.2841},
10972 {0.2552, 0.1310, 0.3063, 0.3075},
10973 {0.1530, 0.2036, 0.3703, 0.2731}},
10974 {
10975 {0.2839, 0.2169, 0.2216, 0.2776},
10976 {0.3327, 0.3206, 0.0657, 0.2810},
10977 {0.1727, 0.2154, 0.4204, 0.1915},
10978 {0.1240, 0.2182, 0.3748, 0.2830}},
10979 {
10980 {0.2468, 0.1352, 0.3261, 0.2919},
10981 {0.2584, 0.3413, 0.0973, 0.3029},
10982 {0.1688, 0.2394, 0.2977, 0.2942},
10983 {0.1039, 0.1822, 0.4263, 0.2876}},
10984 {
10985 {0.2360, 0.1548, 0.2793, 0.3299},
10986 {0.2981, 0.2520, 0.1315, 0.3184},
10987 {0.1864, 0.1829, 0.3624, 0.2684},
10988 {0.2714, 0.1630, 0.2894, 0.2762}},
10989 {
10990 {0.3023, 0.1642, 0.2599, 0.2736},
10991 {0.3037, 0.2785, 0.0734, 0.3444},
10992 {0.3194, 0.1608, 0.2469, 0.2730},
10993 {0.1884, 0.1935, 0.3670, 0.2511}},
10994 {
10995 {0.2641, 0.2503, 0.2706, 0.2150},
10996 {0.3480, 0.2690, 0.1032, 0.2798},
10997 {0.1372, 0.3043, 0.3478, 0.2106},
10998 {0.1525, 0.1870, 0.4171, 0.2433}},
10999 {
11000 {0.2346, 0.1764, 0.4063, 0.1826},
11001 {0.2789, 0.2730, 0.0671, 0.3810},
11002 {0.2133, 0.1237, 0.2893, 0.3737},
11003 {0.1326, 0.1868, 0.3542, 0.3263}},
11004 {
11005 {0.1870, 0.1695, 0.3912, 0.2523},
11006 {0.3796, 0.2714, 0.0182, 0.3308},
11007 {0.2468, 0.1878, 0.2728, 0.2927},
11008 {0.1902, 0.1623, 0.3011, 0.3465}},
11009 {
11010 {0.2496, 0.1829, 0.2499, 0.3176},
11011 {0.3179, 0.3136, 0.0165, 0.3521},
11012 {0.2396, 0.2721, 0.2022, 0.2862},
11013 {0.2211, 0.2674, 0.3057, 0.2057}},
11014 {
11015 {0.3518, 0.1093, 0.2686, 0.2703},
11016 {0.2645, 0.3387, 0.0255, 0.3713},
11017 {0.2687, 0.2242, 0.2205, 0.2865},
11018 {0.1868, 0.1313, 0.3676, 0.3143}},
11019 {
11020 {0.2058, 0.1015, 0.2801, 0.4125},
11021 {0.3473, 0.1834, 0.1027, 0.3665},
11022 {0.2264, 0.2852, 0.2840, 0.2044},
11023 {0.1493, 0.2146, 0.3031, 0.3330}},
11024 {
11025 {0.1696, 0.1662, 0.3263, 0.3379},
11026 {0.2840, 0.3723, 0.0851, 0.2585},
11027 {0.1317, 0.1995, 0.4261, 0.2427},
11028 {0.2051, 0.1715, 0.3326, 0.2908}},
11029 {
11030 {0.3030, 0.2112, 0.2545, 0.2313},
11031 {0.3364, 0.3140, 0.0740, 0.2756},
11032 {0.2547, 0.1811, 0.2878, 0.2763},
11033 {0.1817, 0.3389, 0.2767, 0.2027}},
11034 {
11035 {0.3439, 0.2333, 0.2280, 0.1948},
11036 {0.3768, 0.2156, 0.0992, 0.3084},
11037 {0.2221, 0.1400, 0.4359, 0.2021},
11038 {0.1055, 0.2488, 0.2864, 0.3593}},
11039 {
11040 {0.2188, 0.2041, 0.3043, 0.2727},
11041 {0.3964, 0.3366, 0.0773, 0.1898},
11042 {0.2349, 0.1708, 0.3740, 0.2203},
11043 {0.1027, 0.2634, 0.3739, 0.2601}},
11044 {
11045 {0.3736, 0.1861, 0.2641, 0.1762},
11046 {0.3285, 0.2851, 0.0714, 0.3150},
11047 {0.2765, 0.2282, 0.2833, 0.2120},
11048 {0.1320, 0.2059, 0.3800, 0.2821}},
11049 {
11050 {0.3435, 0.1838, 0.2755, 0.1972},
11051 {0.3097, 0.1921, 0.0976, 0.4006},
11052 {0.2052, 0.2844, 0.2710, 0.2393},
11053 {0.0694, 0.2934, 0.3657, 0.2714}},
11054 {
11055 {0.4078, 0.1424, 0.2901, 0.1597},
11056 {0.3375, 0.3031, 0.0861, 0.2733},
11057 {0.1990, 0.3111, 0.3080, 0.1819},
11058 {0.2150, 0.2003, 0.2964, 0.2883}},
11059 {
11060 {0.3213, 0.2174, 0.2606, 0.2007},
11061 {0.3501, 0.3259, 0.1136, 0.2105},
11062 {0.1884, 0.2028, 0.3439, 0.2648},
11063 {0.1574, 0.1896, 0.3396, 0.3133}},
11064 {
11065 {0.1988, 0.2637, 0.3005, 0.2369},
11066 {0.2504, 0.2891, 0.1009, 0.3596},
11067 {0.2551, 0.1416, 0.2794, 0.3239},
11068 {0.1931, 0.1190, 0.3935, 0.2944}},
11069 {
11070 {0.3377, 0.2248, 0.3031, 0.1345},
11071 {0.3381, 0.3608, 0.1209, 0.1803},
11072 {0.2054, 0.2854, 0.3306, 0.1785},
11073 {0.1939, 0.2281, 0.3663, 0.2117}},
11074 {
11075 {0.3571, 0.0794, 0.2144, 0.3491},
11076 {0.3689, 0.1601, 0.0638, 0.4073},
11077 {0.3115, 0.0959, 0.1948, 0.3978},
11078 {0.0949, 0.0360, 0.3561, 0.5130}},
11079 {
11080 {0.0000, 0.0000, 1.0000, 0.0000},
11081 {0.0000, 0.0000, 1.0000, 0.0000},
11082 {0.0000, 0.0000, 1.0000, 0.0000},
11083 {0.0000, 0.0000, 1.0000, 0.0000}},
11084 {
11085 {0.0000, 0.0000, 0.0000, 0.0000},
11086 {0.0000, 0.0000, 0.0000, 0.0000},
11087 {0.0000, 0.0000, 0.0000, 1.0000},
11088 {0.0000, 0.0000, 0.0000, 0.0000}},
11089 {
11090 {0.0000, 0.0000, 0.0000, 0.0000},
11091 {0.0000, 0.0000, 0.0000, 0.0000},
11092 {0.0000, 0.0000, 0.0000, 0.0000},
11093 {0.1732, 0.1806, 0.3732, 0.2730}},
11094 {
11095 {0.2689, 0.1508, 0.2984, 0.2819},
11096 {0.2920, 0.3199, 0.0942, 0.2939},
11097 {0.2370, 0.2333, 0.2359, 0.2938},
11098 {0.0763, 0.2738, 0.2763, 0.3736}},
11099 {
11100 {0.1470, 0.3010, 0.3352, 0.2168},
11101 {0.2303, 0.3805, 0.0860, 0.3032},
11102 {0.2630, 0.1887, 0.3275, 0.2208},
11103 {0.1297, 0.2482, 0.3210, 0.3011}},
11104 {
11105 {0.2711, 0.1448, 0.2826, 0.3015},
11106 {0.3339, 0.3536, 0.0451, 0.2673},
11107 {0.2862, 0.1763, 0.2787, 0.2588},
11108 {0.0741, 0.2300, 0.3308, 0.3651}},
11109 {
11110 {0.3612, 0.0994, 0.2873, 0.2521},
11111 {0.3943, 0.2439, 0.0545, 0.3074},
11112 {0.2201, 0.2664, 0.3493, 0.1642},
11113 {0.2376, 0.2062, 0.2846, 0.2716}},
11114 {
11115 {0.3504, 0.1720, 0.2247, 0.2529},
11116 {0.3199, 0.2985, 0.0806, 0.3010},
11117 {0.2290, 0.2170, 0.2715, 0.2826},
11118 {0.1612, 0.1989, 0.3103, 0.3296}},
11119 {
11120 {0.2868, 0.2834, 0.2369, 0.1929},
11121 {0.3171, 0.2613, 0.0946, 0.3270},
11122 {0.1437, 0.2694, 0.3063, 0.2806},
11123 {0.1080, 0.1433, 0.5510, 0.1977}},
11124 {
11125 {0.2093, 0.2533, 0.3049, 0.2325},
11126 {0.3424, 0.2602, 0.0992, 0.2982},
11127 {0.1437, 0.2121, 0.3047, 0.3395},
11128 {0.1534, 0.1793, 0.3349, 0.3324}},
11129 {
11130 {0.3069, 0.1588, 0.2914, 0.2429},
11131 {0.2735, 0.2926, 0.0918, 0.3422},
11132 {0.3050, 0.1622, 0.2827, 0.2501},
11133 {0.1456, 0.2778, 0.3647, 0.2119}},
11134 {
11135 {0.2683, 0.1533, 0.2299, 0.3485},
11136 {0.3611, 0.2249, 0.1068, 0.3072},
11137 {0.1104, 0.2593, 0.2929, 0.3374},
11138 {0.1573, 0.2541, 0.2617, 0.3269}},
11139 {
11140 {0.2579, 0.1244, 0.3083, 0.3094},
11141 {0.3165, 0.3715, 0.0601, 0.2519},
11142 {0.2126, 0.2670, 0.2394, 0.2810},
11143 {0.1149, 0.2065, 0.3330, 0.3456}},
11144 {
11145 {0.2086, 0.1829, 0.2256, 0.3828},
11146 {0.3298, 0.3707, 0.0977, 0.2017},
11147 {0.1819, 0.2044, 0.3508, 0.2629},
11148 {0.2046, 0.2270, 0.3039, 0.2644}},
11149 {
11150 {0.2521, 0.2110, 0.2735, 0.2634},
11151 {0.3216, 0.2702, 0.0381, 0.3701},
11152 {0.2222, 0.2443, 0.3514, 0.1821},
11153 {0.1401, 0.1856, 0.2313, 0.4431}},
11154 {
11155 {0.1615, 0.2717, 0.2737, 0.2930},
11156 {0.2937, 0.3497, 0.0851, 0.2714},
11157 {0.2450, 0.2541, 0.3455, 0.1554},
11158 {0.1409, 0.1449, 0.3471, 0.3670}},
11159 {
11160 {0.3030, 0.2030, 0.3068, 0.1871},
11161 {0.2530, 0.3164, 0.0559, 0.3746},
11162 {0.1961, 0.2061, 0.2838, 0.3140},
11163 {0.1926, 0.2079, 0.2784, 0.3212}},
11164 {
11165 {0.1644, 0.1756, 0.4030, 0.2570},
11166 {0.3024, 0.2496, 0.1048, 0.3432},
11167 {0.1285, 0.3014, 0.2658, 0.3044},
11168 {0.1357, 0.2268, 0.3979, 0.2396}},
11169 {
11170 {0.2244, 0.2056, 0.3211, 0.2488},
11171 {0.2842, 0.2576, 0.1470, 0.3112},
11172 {0.1829, 0.2688, 0.2780, 0.2703},
11173 {0.1504, 0.1673, 0.3880, 0.2944}},
11174 {
11175 {0.2624, 0.2233, 0.2179, 0.2963},
11176 {0.2954, 0.2285, 0.0737, 0.4024},
11177 {0.1708, 0.1786, 0.3174, 0.3332},
11178 {0.1298, 0.2934, 0.2481, 0.3287}},
11179 {
11180 {0.4073, 0.2192, 0.1999, 0.1736},
11181 {0.2931, 0.2854, 0.0686, 0.3528},
11182 {0.3142, 0.1569, 0.2868, 0.2422},
11183 {0.2081, 0.1877, 0.3530, 0.2511}},
11184 {
11185 {0.3040, 0.2137, 0.2622, 0.2200},
11186 {0.3049, 0.3739, 0.0655, 0.2557},
11187 {0.1952, 0.2901, 0.1687, 0.3460},
11188 {0.1271, 0.2549, 0.3107, 0.3073}},
11189 {
11190 {0.2647, 0.2301, 0.3482, 0.1570},
11191 {0.3780, 0.2536, 0.1090, 0.2594},
11192 {0.2681, 0.3332, 0.2455, 0.1531},
11193 {0.1482, 0.2321, 0.3799, 0.2398}},
11194 {
11195 {0.2224, 0.2524, 0.2549, 0.2703},
11196 {0.3365, 0.2701, 0.0793, 0.3141},
11197 {0.2694, 0.1764, 0.2639, 0.2903},
11198 {0.2274, 0.1885, 0.2256, 0.3585}},
11199 {
11200 {0.2687, 0.2016, 0.2595, 0.2703},
11201 {0.3542, 0.2489, 0.0302, 0.3667},
11202 {0.1943, 0.2782, 0.3315, 0.1960},
11203 {0.1775, 0.2433, 0.3005, 0.2787}},
11204 {
11205 {0.3613, 0.1864, 0.1883, 0.2640},
11206 {0.3233, 0.2904, 0.0539, 0.3323},
11207 {0.1737, 0.1903, 0.3317, 0.3043},
11208 {0.2342, 0.2457, 0.2769, 0.2432}},
11209 {
11210 {0.3081, 0.2492, 0.2420, 0.2007},
11211 {0.3595, 0.3403, 0.0745, 0.2257},
11212 {0.2505, 0.3564, 0.2241, 0.1691},
11213 {0.2177, 0.1760, 0.3815, 0.2248}},
11214 {
11215 {0.3015, 0.2014, 0.2044, 0.2927},
11216 {0.2600, 0.4542, 0.0632, 0.2226},
11217 {0.2411, 0.1977, 0.2344, 0.3268},
11218 {0.1310, 0.2286, 0.2860, 0.3545}},
11219 {
11220 {0.2447, 0.1295, 0.2959, 0.3299},
11221 {0.2635, 0.2456, 0.0762, 0.4146},
11222 {0.2776, 0.1860, 0.3420, 0.1944},
11223 {0.1658, 0.2283, 0.2241, 0.3818}},
11224 {
11225 {0.1805, 0.1931, 0.3059, 0.3204},
11226 {0.3710, 0.2228, 0.1147, 0.2914},
11227 {0.2124, 0.3398, 0.1695, 0.2783},
11228 {0.1534, 0.2447, 0.3429, 0.2589}},
11229 {
11230 {0.1906, 0.1878, 0.2972, 0.3244},
11231 {0.2666, 0.4262, 0.0861, 0.2211},
11232 {0.2472, 0.2090, 0.3491, 0.1947},
11233 {0.0834, 0.1673, 0.3401, 0.4091}},
11234 {
11235 {0.2692, 0.1905, 0.2933, 0.2470},
11236 {0.3619, 0.2562, 0.0934, 0.2886},
11237 {0.1856, 0.2359, 0.2225, 0.3560},
11238 {0.2477, 0.1838, 0.2439, 0.3246}},
11239 {
11240 {0.2062, 0.1835, 0.2602, 0.3501},
11241 {0.3234, 0.2740, 0.0595, 0.3430},
11242 {0.2944, 0.2039, 0.2558, 0.2459},
11243 {0.2195, 0.2351, 0.2890, 0.2564}},
11244 {
11245 {0.2611, 0.1711, 0.3377, 0.2301},
11246 {0.2612, 0.3029, 0.0610, 0.3748},
11247 {0.1663, 0.3290, 0.2603, 0.2444},
11248 {0.1139, 0.2125, 0.3624, 0.3111}},
11249 {
11250 {0.3359, 0.2486, 0.1765, 0.2390},
11251 {0.2452, 0.3166, 0.0963, 0.3418},
11252 {0.2335, 0.2435, 0.2945, 0.2285},
11253 {0.1408, 0.2417, 0.3293, 0.2881}},
11254 {
11255 {0.2235, 0.2101, 0.3298, 0.2365},
11256 {0.3593, 0.2957, 0.0482, 0.2968},
11257 {0.1436, 0.2522, 0.3051, 0.2991},
11258 {0.1580, 0.1784, 0.3863, 0.2774}},
11259 {
11260 {0.2707, 0.1228, 0.2764, 0.3301},
11261 {0.5050, 0.2575, 0.0261, 0.2114},
11262 {0.2458, 0.2351, 0.2713, 0.2478},
11263 {0.1215, 0.2971, 0.3267, 0.2546}},
11264 {
11265 {0.2332, 0.2080, 0.3496, 0.2091},
11266 {0.2183, 0.2015, 0.0583, 0.5219},
11267 {0.2327, 0.1771, 0.2798, 0.3104},
11268 {0.2236, 0.2403, 0.2519, 0.2842}},
11269 {
11270 {0.1172, 0.2378, 0.3026, 0.3425},
11271 {0.3305, 0.2702, 0.0643, 0.3349},
11272 {0.2125, 0.2458, 0.3060, 0.2358},
11273 {0.1858, 0.2199, 0.3310, 0.2633}},
11274 {
11275 {0.3612, 0.1720, 0.2378, 0.2290},
11276 {0.3208, 0.3020, 0.0937, 0.2835},
11277 {0.2124, 0.2824, 0.2723, 0.2329},
11278 {0.2352, 0.1985, 0.2782, 0.2881}},
11279 {
11280 {0.2869, 0.2166, 0.1793, 0.3171},
11281 {0.2830, 0.3592, 0.0279, 0.3299},
11282 {0.1992, 0.1803, 0.3826, 0.2379},
11283 {0.1723, 0.1788, 0.3063, 0.3425}},
11284 {
11285 {0.2555, 0.1874, 0.2778, 0.2793},
11286 {0.2655, 0.2915, 0.0455, 0.3975},
11287 {0.2924, 0.1645, 0.2870, 0.2561},
11288 {0.1306, 0.1800, 0.3141, 0.3753}},
11289 {
11290 {0.2380, 0.2234, 0.3261, 0.2125},
11291 {0.2128, 0.3237, 0.0511, 0.4123},
11292 {0.2436, 0.2646, 0.2330, 0.2588},
11293 {0.1840, 0.2498, 0.2911, 0.2751}},
11294 {
11295 {0.2518, 0.1702, 0.3262, 0.2518},
11296 {0.2666, 0.2903, 0.1004, 0.3427},
11297 {0.1754, 0.2626, 0.2466, 0.3154},
11298 {0.1569, 0.2620, 0.2811, 0.3000}},
11299 {
11300 {0.2033, 0.2537, 0.3783, 0.1647},
11301 {0.3566, 0.2387, 0.0797, 0.3249},
11302 {0.2674, 0.2342, 0.2517, 0.2467},
11303 {0.0792, 0.1974, 0.3520, 0.3714}},
11304 {
11305 {0.2943, 0.1404, 0.2867, 0.2786},
11306 {0.3454, 0.2077, 0.0841, 0.3627},
11307 {0.2572, 0.1940, 0.2805, 0.2683},
11308 {0.1634, 0.2071, 0.1997, 0.4297}},
11309 {
11310 {0.3068, 0.2057, 0.2759, 0.2116},
11311 {0.3292, 0.2529, 0.0367, 0.3812},
11312 {0.1307, 0.3588, 0.2800, 0.2305},
11313 {0.2073, 0.1989, 0.2867, 0.3071}},
11314 {
11315 {0.2986, 0.2018, 0.2588, 0.2408},
11316 {0.2787, 0.2810, 0.0986, 0.3417},
11317 {0.1427, 0.2683, 0.3500, 0.2390},
11318 {0.2223, 0.1747, 0.3061, 0.2969}},
11319 {
11320 {0.2011, 0.2570, 0.2284, 0.3134},
11321 {0.3597, 0.3332, 0.0581, 0.2490},
11322 {0.2497, 0.2110, 0.2880, 0.2513},
11323 {0.1579, 0.1574, 0.4087, 0.2760}},
11324 {
11325 {0.1692, 0.1622, 0.4314, 0.2372},
11326 {0.4086, 0.2904, 0.0126, 0.2885},
11327 {0.2436, 0.1941, 0.3312, 0.2311},
11328 {0.1979, 0.1633, 0.4249, 0.2140}},
11329 {
11330 {0.3113, 0.2199, 0.2370, 0.2318},
11331 {0.3091, 0.2862, 0.0823, 0.3225},
11332 {0.2818, 0.2417, 0.2015, 0.2750},
11333 {0.1779, 0.1846, 0.3259, 0.3116}},
11334 {
11335 {0.3168, 0.1435, 0.2689, 0.2709},
11336 {0.4320, 0.2641, 0.0434, 0.2605},
11337 {0.3304, 0.1603, 0.3212, 0.1881},
11338 {0.1058, 0.2299, 0.3169, 0.3473}}
11339 }},
11340 {
11341 { /* Splice_Site: T1_GT; Species: Droso */
11342 {
11343 {0.3258, 0.3258, 0.3258, 0.3258},
11344 {0.2306, 0.2306, 0.2306, 0.2306},
11345 {0.1754, 0.1754, 0.1754, 0.1754},
11346 {0.2682, 0.2682, 0.2682, 0.2682}},
11347 {
11348 {0.1703, 0.3100, 0.3686, 0.1511},
11349 {0.1838, 0.4340, 0.2538, 0.1284},
11350 {0.1846, 0.4979, 0.1260, 0.1915},
11351 {0.1088, 0.3249, 0.3042, 0.2621}},
11352 {
11353 {0.2663, 0.2353, 0.3447, 0.1537},
11354 {0.3327, 0.2067, 0.2540, 0.2065},
11355 {0.2342, 0.3350, 0.3143, 0.1165},
11356 {0.2166, 0.2433, 0.3323, 0.2078}},
11357 {
11358 {0.4046, 0.1693, 0.1159, 0.3103},
11359 {0.3591, 0.1584, 0.1961, 0.2865},
11360 {0.3790, 0.2327, 0.2067, 0.1816},
11361 {0.3326, 0.2438, 0.1601, 0.2634}},
11362 {
11363 {0.1519, 0.3050, 0.3641, 0.1790},
11364 {0.1763, 0.3379, 0.3387, 0.1471},
11365 {0.1236, 0.5600, 0.1201, 0.1962},
11366 {0.0986, 0.2938, 0.3864, 0.2212}},
11367 {
11368 {0.4044, 0.1463, 0.2904, 0.1588},
11369 {0.3772, 0.1316, 0.3036, 0.1877},
11370 {0.2686, 0.2974, 0.3222, 0.1117},
11371 {0.1312, 0.3080, 0.3706, 0.1902}},
11372 {
11373 {0.4056, 0.1685, 0.1610, 0.2649},
11374 {0.3156, 0.1828, 0.1850, 0.3167},
11375 {0.3795, 0.2210, 0.1802, 0.2193},
11376 {0.1439, 0.3483, 0.1377, 0.3701}},
11377 {
11378 {0.1388, 0.2752, 0.3654, 0.2206},
11379 {0.2040, 0.4271, 0.1784, 0.1905},
11380 {0.2100, 0.4386, 0.1279, 0.2234},
11381 {0.1130, 0.3347, 0.3145, 0.2377}},
11382 {
11383 {0.3206, 0.2180, 0.2896, 0.1718},
11384 {0.3657, 0.1845, 0.3074, 0.1424},
11385 {0.2827, 0.2912, 0.2648, 0.1612},
11386 {0.1865, 0.2650, 0.3994, 0.1491}},
11387 {
11388 {0.3883, 0.2253, 0.1147, 0.2716},
11389 {0.3464, 0.2363, 0.1677, 0.2496},
11390 {0.3617, 0.2284, 0.2373, 0.1726},
11391 {0.1748, 0.2160, 0.2929, 0.3163}},
11392 {
11393 {0.1898, 0.2311, 0.3741, 0.2051},
11394 {0.1922, 0.3820, 0.2575, 0.1683},
11395 {0.1692, 0.4823, 0.1458, 0.2027},
11396 {0.0950, 0.2546, 0.4102, 0.2403}},
11397 {
11398 {0.2536, 0.2387, 0.2904, 0.2174},
11399 {0.3041, 0.1555, 0.3066, 0.2338},
11400 {0.2106, 0.3442, 0.3087, 0.1364},
11401 {0.2071, 0.2322, 0.3774, 0.1833}},
11402 {
11403 {0.3819, 0.1881, 0.1383, 0.2917},
11404 {0.3383, 0.1791, 0.1549, 0.3277},
11405 {0.3471, 0.1921, 0.2233, 0.2375},
11406 {0.1564, 0.3590, 0.1506, 0.3340}},
11407 {
11408 {0.1923, 0.2562, 0.3870, 0.1646},
11409 {0.1864, 0.3902, 0.2848, 0.1385},
11410 {0.2013, 0.3657, 0.2076, 0.2254},
11411 {0.0950, 0.2946, 0.4270, 0.1834}},
11412 {
11413 {0.3328, 0.1910, 0.3389, 0.1373},
11414 {0.3791, 0.1245, 0.3392, 0.1572},
11415 {0.2183, 0.2673, 0.4089, 0.1056},
11416 {0.1992, 0.3553, 0.2796, 0.1659}},
11417 {
11418 {0.4565, 0.1637, 0.1264, 0.2534},
11419 {0.2778, 0.1971, 0.1960, 0.3291},
11420 {0.4267, 0.2311, 0.1658, 0.1764},
11421 {0.1852, 0.2833, 0.1494, 0.3821}},
11422 {
11423 {0.1778, 0.2570, 0.3861, 0.1791},
11424 {0.1508, 0.5179, 0.1999, 0.1314},
11425 {0.2058, 0.4257, 0.1659, 0.2025},
11426 {0.1136, 0.3383, 0.3705, 0.1776}},
11427 {
11428 {0.3477, 0.2214, 0.2654, 0.1655},
11429 {0.4459, 0.1473, 0.2239, 0.1829},
11430 {0.2309, 0.2323, 0.4108, 0.1259},
11431 {0.1386, 0.3173, 0.3642, 0.1799}},
11432 {
11433 {0.4122, 0.2402, 0.1292, 0.2184},
11434 {0.2725, 0.2043, 0.2246, 0.2986},
11435 {0.3473, 0.3131, 0.1746, 0.1650},
11436 {0.1786, 0.2522, 0.1375, 0.4317}},
11437 {
11438 {0.1435, 0.2289, 0.3906, 0.2371},
11439 {0.1769, 0.4347, 0.2450, 0.1435},
11440 {0.2289, 0.4511, 0.1385, 0.1814},
11441 {0.1174, 0.3525, 0.3321, 0.1980}},
11442 {
11443 {0.2948, 0.1845, 0.3801, 0.1406},
11444 {0.3910, 0.1713, 0.2503, 0.1875},
11445 {0.3046, 0.3061, 0.2761, 0.1132},
11446 {0.1881, 0.2318, 0.3775, 0.2026}},
11447 {
11448 {0.3931, 0.2015, 0.1649, 0.2404},
11449 {0.3578, 0.1521, 0.1653, 0.3248},
11450 {0.3385, 0.2724, 0.2004, 0.1887},
11451 {0.1271, 0.2703, 0.2281, 0.3746}},
11452 {
11453 {0.1828, 0.2435, 0.3903, 0.1835},
11454 {0.1833, 0.3704, 0.2025, 0.2439},
11455 {0.1145, 0.4825, 0.1082, 0.2948},
11456 {0.1010, 0.3196, 0.3736, 0.2058}},
11457 {
11458 {0.2805, 0.2992, 0.2562, 0.1641},
11459 {0.3712, 0.1544, 0.2879, 0.1865},
11460 {0.2358, 0.3133, 0.3173, 0.1336},
11461 {0.1753, 0.2624, 0.4155, 0.1469}},
11462 {
11463 {0.4094, 0.1831, 0.1182, 0.2894},
11464 {0.3193, 0.1519, 0.2112, 0.3176},
11465 {0.3078, 0.2918, 0.2000, 0.2004},
11466 {0.1589, 0.2740, 0.2122, 0.3549}},
11467 {
11468 {0.1601, 0.2626, 0.4156, 0.1617},
11469 {0.1642, 0.4628, 0.2009, 0.1720},
11470 {0.1871, 0.3877, 0.2211, 0.2041},
11471 {0.0876, 0.3038, 0.4141, 0.1946}},
11472 {
11473 {0.3331, 0.2126, 0.3104, 0.1439},
11474 {0.3978, 0.1987, 0.2199, 0.1836},
11475 {0.2477, 0.2940, 0.3182, 0.1400},
11476 {0.1383, 0.3427, 0.3425, 0.1765}},
11477 {
11478 {0.3913, 0.1824, 0.1483, 0.2780},
11479 {0.3076, 0.2535, 0.1486, 0.2904},
11480 {0.3858, 0.2338, 0.1894, 0.1911},
11481 {0.2093, 0.2755, 0.2358, 0.2794}},
11482 {
11483 {0.1520, 0.3198, 0.3055, 0.2227},
11484 {0.1503, 0.4176, 0.2387, 0.1934},
11485 {0.1523, 0.4551, 0.1953, 0.1973},
11486 {0.0854, 0.2994, 0.3845, 0.2307}},
11487 {
11488 {0.3054, 0.2197, 0.3085, 0.1663},
11489 {0.3980, 0.1752, 0.2527, 0.1740},
11490 {0.2595, 0.2378, 0.3619, 0.1408},
11491 {0.1698, 0.3096, 0.3418, 0.1788}},
11492 {
11493 {0.3875, 0.2121, 0.1605, 0.2399},
11494 {0.3417, 0.1939, 0.1546, 0.3099},
11495 {0.3803, 0.2614, 0.1835, 0.1748},
11496 {0.2115, 0.2395, 0.1871, 0.3620}},
11497 {
11498 {0.1619, 0.2966, 0.3413, 0.2002},
11499 {0.1905, 0.4158, 0.2320, 0.1617},
11500 {0.1663, 0.5099, 0.2020, 0.1218},
11501 {0.0943, 0.2785, 0.4188, 0.2083}},
11502 {
11503 {0.3386, 0.2333, 0.2593, 0.1688},
11504 {0.3978, 0.1801, 0.2053, 0.2167},
11505 {0.2395, 0.3074, 0.3167, 0.1364},
11506 {0.1744, 0.2896, 0.4314, 0.1046}},
11507 {
11508 {0.4581, 0.1529, 0.1194, 0.2696},
11509 {0.3053, 0.1906, 0.2228, 0.2813},
11510 {0.3431, 0.2288, 0.2015, 0.2266},
11511 {0.1429, 0.2144, 0.2358, 0.4068}},
11512 {
11513 {0.2592, 0.2604, 0.2915, 0.1889},
11514 {0.1978, 0.4137, 0.2457, 0.1428},
11515 {0.2228, 0.4294, 0.1559, 0.1918},
11516 {0.0810, 0.4174, 0.3161, 0.1855}},
11517 {
11518 {0.3333, 0.1953, 0.2540, 0.2174},
11519 {0.4674, 0.1316, 0.2128, 0.1882},
11520 {0.2648, 0.2863, 0.3376, 0.1114},
11521 {0.2012, 0.2689, 0.3812, 0.1488}},
11522 {
11523 {0.3450, 0.2560, 0.1266, 0.2724},
11524 {0.3001, 0.1766, 0.1810, 0.3424},
11525 {0.4497, 0.2295, 0.1327, 0.1881},
11526 {0.2423, 0.2574, 0.1895, 0.3108}},
11527 {
11528 {0.1841, 0.2225, 0.3611, 0.2322},
11529 {0.1840, 0.4543, 0.1746, 0.1871},
11530 {0.1222, 0.4604, 0.1549, 0.2625},
11531 {0.0944, 0.2983, 0.3779, 0.2293}},
11532 {
11533 {0.3412, 0.2376, 0.2492, 0.1720},
11534 {0.4059, 0.1400, 0.2841, 0.1699},
11535 {0.2135, 0.3185, 0.3421, 0.1259},
11536 {0.1854, 0.2093, 0.5112, 0.0941}},
11537 {
11538 {0.4259, 0.1398, 0.1646, 0.2696},
11539 {0.3174, 0.2119, 0.2001, 0.2706},
11540 {0.3320, 0.2240, 0.2743, 0.1696},
11541 {0.1587, 0.2778, 0.1645, 0.3991}},
11542 {
11543 {0.1750, 0.2792, 0.3403, 0.2054},
11544 {0.2055, 0.4318, 0.1791, 0.1836},
11545 {0.1512, 0.4713, 0.0964, 0.2811},
11546 {0.1179, 0.2715, 0.4080, 0.2026}},
11547 {
11548 {0.2092, 0.2521, 0.2924, 0.2463},
11549 {0.4075, 0.1398, 0.2673, 0.1855},
11550 {0.2058, 0.2451, 0.3698, 0.1793},
11551 {0.2048, 0.2186, 0.3843, 0.1922}},
11552 {
11553 {0.4257, 0.2129, 0.1207, 0.2407},
11554 {0.2794, 0.1668, 0.1668, 0.3869},
11555 {0.4364, 0.2328, 0.1942, 0.1365},
11556 {0.2075, 0.3517, 0.1003, 0.3406}},
11557 {
11558 {0.1358, 0.3034, 0.3177, 0.2431},
11559 {0.1627, 0.4649, 0.1948, 0.1775},
11560 {0.2113, 0.3741, 0.1727, 0.2419},
11561 {0.1257, 0.2825, 0.3997, 0.1921}},
11562 {
11563 {0.3152, 0.2255, 0.2247, 0.2345},
11564 {0.4201, 0.1804, 0.1993, 0.2002},
11565 {0.2889, 0.2834, 0.2882, 0.1395},
11566 {0.1650, 0.2787, 0.3609, 0.1955}},
11567 {
11568 {0.4179, 0.1485, 0.1124, 0.3213},
11569 {0.2544, 0.1908, 0.1620, 0.3927},
11570 {0.4753, 0.1867, 0.1356, 0.2025},
11571 {0.1722, 0.2169, 0.1180, 0.4928}},
11572 {
11573 {0.2580, 0.2108, 0.2554, 0.2758},
11574 {0.3062, 0.3341, 0.1638, 0.1960},
11575 {0.3459, 0.3500, 0.0799, 0.2242},
11576 {0.1784, 0.2906, 0.3186, 0.2125}},
11577 {
11578 {0.4272, 0.2114, 0.2138, 0.1476},
11579 {0.5852, 0.1732, 0.1534, 0.0882},
11580 {0.2815, 0.3545, 0.3291, 0.0350},
11581 {0.2687, 0.2686, 0.3759, 0.0868}},
11582 {
11583 {0.6150, 0.1154, 0.0782, 0.1915},
11584 {0.6577, 0.1068, 0.0992, 0.1363},
11585 {0.5045, 0.2653, 0.0946, 0.1357},
11586 {0.1987, 0.3417, 0.1052, 0.3543}},
11587 {
11588 {0.0558, 0.0528, 0.7442, 0.1472},
11589 {0.0895, 0.0881, 0.6726, 0.1498},
11590 {0.0773, 0.2663, 0.5213, 0.1350},
11591 {0.0324, 0.1480, 0.6134, 0.2062}},
11592 {
11593 {0.0000, 0.0000, 1.0000, 0.0000},
11594 {0.0000, 0.0000, 1.0000, 0.0000},
11595 {0.0000, 0.0000, 1.0000, 0.0000},
11596 {0.0000, 0.0000, 1.0000, 0.0000}},
11597 {
11598 {0.0000, 0.0000, 0.0000, 0.0000},
11599 {0.0000, 0.0000, 0.0000, 0.0000},
11600 {0.0000, 0.0000, 0.0000, 1.0000},
11601 {0.0000, 0.0000, 0.0000, 0.0000}},
11602 {
11603 {0.0000, 0.0000, 0.0000, 0.0000},
11604 {0.0000, 0.0000, 0.0000, 0.0000},
11605 {0.0000, 0.0000, 0.0000, 0.0000},
11606 {0.5302, 0.0183, 0.4028, 0.0487}},
11607 {
11608 {0.7644, 0.0481, 0.0757, 0.1118},
11609 {0.5569, 0.0000, 0.3917, 0.0514},
11610 {0.7372, 0.0681, 0.1642, 0.0305},
11611 {0.4741, 0.1656, 0.2449, 0.1155}},
11612 {
11613 {0.0617, 0.0197, 0.8788, 0.0398},
11614 {0.1145, 0.0745, 0.6977, 0.1132},
11615 {0.1131, 0.0069, 0.8288, 0.0513},
11616 {0.1074, 0.0233, 0.7424, 0.1269}},
11617 {
11618 {0.0951, 0.1395, 0.2490, 0.5164},
11619 {0.1919, 0.1365, 0.0489, 0.6227},
11620 {0.1055, 0.1288, 0.0644, 0.7013},
11621 {0.1163, 0.1338, 0.2558, 0.4941}},
11622 {
11623 {0.2555, 0.1786, 0.2036, 0.3624},
11624 {0.3578, 0.2025, 0.0943, 0.3454},
11625 {0.4838, 0.2257, 0.0580, 0.2324},
11626 {0.3431, 0.1463, 0.2293, 0.2813}},
11627 {
11628 {0.2605, 0.2363, 0.1723, 0.3309},
11629 {0.3435, 0.2717, 0.1405, 0.2443},
11630 {0.2299, 0.2595, 0.2049, 0.3057},
11631 {0.2619, 0.2338, 0.2002, 0.3041}},
11632 {
11633 {0.3536, 0.1557, 0.1812, 0.3095},
11634 {0.3139, 0.2317, 0.1493, 0.3051},
11635 {0.3381, 0.2194, 0.1993, 0.2432},
11636 {0.2311, 0.2405, 0.1817, 0.3467}},
11637 {
11638 {0.3524, 0.1681, 0.2143, 0.2652},
11639 {0.3129, 0.2787, 0.1893, 0.2191},
11640 {0.2673, 0.2266, 0.2167, 0.2894},
11641 {0.2287, 0.2895, 0.2123, 0.2695}},
11642 {
11643 {0.3472, 0.1941, 0.1962, 0.2625},
11644 {0.3479, 0.2434, 0.1558, 0.2528},
11645 {0.2588, 0.3005, 0.1626, 0.2780},
11646 {0.1962, 0.2431, 0.2430, 0.3177}},
11647 {
11648 {0.3331, 0.1520, 0.2092, 0.3057},
11649 {0.3543, 0.2321, 0.1944, 0.2192},
11650 {0.3868, 0.2002, 0.1817, 0.2313},
11651 {0.2186, 0.2304, 0.2235, 0.3275}},
11652 {
11653 {0.3407, 0.1863, 0.1834, 0.2897},
11654 {0.3233, 0.2457, 0.1534, 0.2776},
11655 {0.3380, 0.2571, 0.2048, 0.2001},
11656 {0.2429, 0.2522, 0.1926, 0.3123}},
11657 {
11658 {0.3151, 0.2225, 0.1711, 0.2913},
11659 {0.2985, 0.2263, 0.2162, 0.2590},
11660 {0.3386, 0.2094, 0.1966, 0.2554},
11661 {0.2236, 0.2398, 0.2326, 0.3040}},
11662 {
11663 {0.3294, 0.2094, 0.1686, 0.2926},
11664 {0.3158, 0.2114, 0.1831, 0.2896},
11665 {0.3497, 0.2399, 0.2090, 0.2014},
11666 {0.2643, 0.2147, 0.1771, 0.3438}},
11667 {
11668 {0.2732, 0.1320, 0.1737, 0.4212},
11669 {0.3201, 0.1850, 0.1649, 0.3299},
11670 {0.3317, 0.2699, 0.2058, 0.1927},
11671 {0.3334, 0.1625, 0.2045, 0.2996}},
11672 {
11673 {0.3881, 0.1609, 0.1316, 0.3194},
11674 {0.3305, 0.2858, 0.1103, 0.2733},
11675 {0.2725, 0.2358, 0.2358, 0.2558},
11676 {0.2504, 0.1669, 0.2059, 0.3767}},
11677 {
11678 {0.3103, 0.2004, 0.1524, 0.3369},
11679 {0.3397, 0.2565, 0.1546, 0.2491},
11680 {0.3240, 0.2470, 0.1560, 0.2731},
11681 {0.2615, 0.1992, 0.2163, 0.3230}},
11682 {
11683 {0.3413, 0.1770, 0.1659, 0.3159},
11684 {0.2901, 0.3381, 0.1356, 0.2361},
11685 {0.2789, 0.2480, 0.2177, 0.2553},
11686 {0.2959, 0.1987, 0.1849, 0.3204}},
11687 {
11688 {0.3672, 0.1742, 0.1199, 0.3387},
11689 {0.3242, 0.2190, 0.1652, 0.2916},
11690 {0.2687, 0.2181, 0.2153, 0.2979},
11691 {0.2234, 0.1757, 0.2374, 0.3636}},
11692 {
11693 {0.3298, 0.1470, 0.1606, 0.3625},
11694 {0.2971, 0.2990, 0.1388, 0.2651},
11695 {0.2053, 0.2748, 0.2398, 0.2801},
11696 {0.2372, 0.1675, 0.2362, 0.3591}},
11697 {
11698 {0.3425, 0.2154, 0.1462, 0.2959},
11699 {0.3243, 0.2388, 0.1242, 0.3127},
11700 {0.2224, 0.2631, 0.2255, 0.2891},
11701 {0.2759, 0.2156, 0.2104, 0.2981}},
11702 {
11703 {0.3381, 0.1549, 0.1924, 0.3147},
11704 {0.2989, 0.2834, 0.1834, 0.2342},
11705 {0.2349, 0.3397, 0.1661, 0.2593},
11706 {0.3010, 0.1829, 0.1949, 0.3211}},
11707 {
11708 {0.3423, 0.1861, 0.1964, 0.2752},
11709 {0.3404, 0.2581, 0.1407, 0.2608},
11710 {0.2453, 0.2349, 0.1985, 0.3213},
11711 {0.2785, 0.1768, 0.1700, 0.3747}},
11712 {
11713 {0.3238, 0.1876, 0.2211, 0.2676},
11714 {0.3780, 0.2439, 0.1389, 0.2393},
11715 {0.2830, 0.2378, 0.1679, 0.3113},
11716 {0.2807, 0.1839, 0.1790, 0.3564}},
11717 {
11718 {0.3459, 0.1641, 0.1713, 0.3187},
11719 {0.3133, 0.2206, 0.1811, 0.2850},
11720 {0.3098, 0.3001, 0.1906, 0.1994},
11721 {0.2478, 0.1842, 0.2524, 0.3156}},
11722 {
11723 {0.3913, 0.1799, 0.1594, 0.2694},
11724 {0.3820, 0.2297, 0.1588, 0.2295},
11725 {0.3104, 0.2035, 0.2109, 0.2752},
11726 {0.2609, 0.2376, 0.1819, 0.3197}},
11727 {
11728 {0.3342, 0.1243, 0.1728, 0.3687},
11729 {0.3148, 0.2601, 0.1461, 0.2790},
11730 {0.3080, 0.2958, 0.1866, 0.2096},
11731 {0.2614, 0.2208, 0.2283, 0.2896}},
11732 {
11733 {0.3106, 0.1663, 0.1807, 0.3424},
11734 {0.3213, 0.2467, 0.1535, 0.2784},
11735 {0.2813, 0.2731, 0.1540, 0.2915},
11736 {0.3212, 0.1734, 0.1851, 0.3203}},
11737 {
11738 {0.3017, 0.2084, 0.1633, 0.3266},
11739 {0.2954, 0.2268, 0.1342, 0.3436},
11740 {0.3476, 0.2514, 0.1517, 0.2493},
11741 {0.2682, 0.1768, 0.1811, 0.3739}},
11742 {
11743 {0.2998, 0.2228, 0.1709, 0.3065},
11744 {0.3184, 0.2594, 0.1638, 0.2584},
11745 {0.3730, 0.2140, 0.1815, 0.2315},
11746 {0.2299, 0.2153, 0.2287, 0.3262}},
11747 {
11748 {0.3178, 0.2108, 0.1462, 0.3252},
11749 {0.3724, 0.2473, 0.1242, 0.2562},
11750 {0.2879, 0.2816, 0.1694, 0.2611},
11751 {0.2265, 0.2527, 0.1630, 0.3578}},
11752 {
11753 {0.3375, 0.1657, 0.1644, 0.3324},
11754 {0.3225, 0.2741, 0.1440, 0.2594},
11755 {0.3070, 0.2157, 0.2639, 0.2134},
11756 {0.3078, 0.2236, 0.2023, 0.2663}},
11757 {
11758 {0.3239, 0.1298, 0.1859, 0.3604},
11759 {0.2983, 0.2864, 0.1418, 0.2734},
11760 {0.3077, 0.2304, 0.1794, 0.2825},
11761 {0.2435, 0.1811, 0.2101, 0.3653}},
11762 {
11763 {0.3091, 0.1910, 0.1497, 0.3501},
11764 {0.3650, 0.1632, 0.1409, 0.3309},
11765 {0.2855, 0.2150, 0.1932, 0.3063},
11766 {0.2889, 0.1835, 0.1652, 0.3624}},
11767 {
11768 {0.3124, 0.1972, 0.1620, 0.3284},
11769 {0.2776, 0.2466, 0.1009, 0.3748},
11770 {0.3030, 0.1893, 0.2082, 0.2995},
11771 {0.3145, 0.2047, 0.1655, 0.3153}},
11772 {
11773 {0.3309, 0.2258, 0.1339, 0.3094},
11774 {0.2958, 0.2205, 0.1726, 0.3111},
11775 {0.2646, 0.2232, 0.2401, 0.2721},
11776 {0.2713, 0.2151, 0.1760, 0.3376}},
11777 {
11778 {0.3481, 0.1814, 0.1149, 0.3556},
11779 {0.3193, 0.2297, 0.1181, 0.3329},
11780 {0.3196, 0.2572, 0.1423, 0.2810},
11781 {0.3374, 0.1541, 0.1723, 0.3362}},
11782 {
11783 {0.3573, 0.2198, 0.1423, 0.2807},
11784 {0.3508, 0.2227, 0.1042, 0.3223},
11785 {0.3104, 0.2243, 0.2162, 0.2492},
11786 {0.3178, 0.1801, 0.2007, 0.3014}},
11787 {
11788 {0.3663, 0.1594, 0.1178, 0.3565},
11789 {0.3206, 0.2134, 0.2020, 0.2640},
11790 {0.2946, 0.2291, 0.1972, 0.2791},
11791 {0.3097, 0.1936, 0.1995, 0.2972}},
11792 {
11793 {0.3858, 0.1591, 0.1098, 0.3453},
11794 {0.3273, 0.2007, 0.1046, 0.3675},
11795 {0.2938, 0.2892, 0.1679, 0.2491},
11796 {0.3140, 0.1832, 0.1698, 0.3330}},
11797 {
11798 {0.3327, 0.2051, 0.1368, 0.3255},
11799 {0.3380, 0.1798, 0.1390, 0.3431},
11800 {0.2471, 0.2284, 0.2023, 0.3222},
11801 {0.2512, 0.2442, 0.1989, 0.3057}},
11802 {
11803 {0.3839, 0.1780, 0.1151, 0.3231},
11804 {0.2519, 0.2460, 0.0934, 0.4086},
11805 {0.3658, 0.2103, 0.1653, 0.2585},
11806 {0.2422, 0.2197, 0.1867, 0.3513}},
11807 {
11808 {0.2487, 0.2352, 0.1713, 0.3448},
11809 {0.2757, 0.2654, 0.1181, 0.3408},
11810 {0.3001, 0.2377, 0.1433, 0.3190},
11811 {0.2355, 0.2091, 0.1939, 0.3616}},
11812 {
11813 {0.3285, 0.1958, 0.1157, 0.3600},
11814 {0.2904, 0.2232, 0.1337, 0.3528},
11815 {0.3425, 0.2301, 0.1680, 0.2594},
11816 {0.2151, 0.2391, 0.2022, 0.3436}},
11817 {
11818 {0.3263, 0.2057, 0.1249, 0.3431},
11819 {0.3038, 0.2195, 0.1197, 0.3571},
11820 {0.2157, 0.3485, 0.1840, 0.2518},
11821 {0.2529, 0.2268, 0.1548, 0.3655}},
11822 {
11823 {0.3080, 0.1800, 0.1458, 0.3663},
11824 {0.3161, 0.2230, 0.1420, 0.3189},
11825 {0.3128, 0.2622, 0.1026, 0.3224},
11826 {0.2480, 0.1909, 0.2126, 0.3485}},
11827 {
11828 {0.3409, 0.1566, 0.1327, 0.3697},
11829 {0.3319, 0.1878, 0.1716, 0.3087},
11830 {0.2266, 0.2460, 0.2089, 0.3185},
11831 {0.1990, 0.2196, 0.1704, 0.4110}},
11832 {
11833 {0.3140, 0.1681, 0.1258, 0.3921},
11834 {0.2587, 0.3083, 0.1107, 0.3223},
11835 {0.2577, 0.2524, 0.1467, 0.3431},
11836 {0.2021, 0.1891, 0.1642, 0.4446}},
11837 {
11838 {0.2587, 0.1944, 0.1328, 0.4141},
11839 {0.2806, 0.2855, 0.1184, 0.3155},
11840 {0.2561, 0.2713, 0.1880, 0.2845},
11841 {0.1982, 0.2322, 0.1360, 0.4337}},
11842 {
11843 {0.3336, 0.2062, 0.0956, 0.3646},
11844 {0.3013, 0.2373, 0.1408, 0.3205},
11845 {0.2246, 0.2321, 0.2076, 0.3357},
11846 {0.1878, 0.1860, 0.1616, 0.4646}},
11847 {
11848 {0.3659, 0.2134, 0.0998, 0.3210},
11849 {0.2591, 0.2887, 0.1620, 0.2901},
11850 {0.2330, 0.2031, 0.2346, 0.3293},
11851 {0.1787, 0.2175, 0.1423, 0.4615}}
11852 },
11853 { /* Splice_Site: T2_GT; Species: Droso */
11854 {
11855 {0.1351, 0.1351, 0.1351, 0.1351},
11856 {0.3424, 0.3424, 0.3424, 0.3424},
11857 {0.2910, 0.2910, 0.2910, 0.2910},
11858 {0.2315, 0.2315, 0.2315, 0.2315}},
11859 {
11860 {0.4330, 0.1367, 0.2867, 0.1436},
11861 {0.4061, 0.1347, 0.2284, 0.2307},
11862 {0.2812, 0.2855, 0.2946, 0.1387},
11863 {0.1774, 0.1989, 0.3590, 0.2648}},
11864 {
11865 {0.3907, 0.2126, 0.1655, 0.2312},
11866 {0.2387, 0.2814, 0.1927, 0.2871},
11867 {0.3773, 0.2421, 0.2135, 0.1670},
11868 {0.1790, 0.2449, 0.1418, 0.4343}},
11869 {
11870 {0.1722, 0.3081, 0.3008, 0.2189},
11871 {0.1200, 0.3815, 0.3405, 0.1580},
11872 {0.1592, 0.4186, 0.1860, 0.2362},
11873 {0.1076, 0.2868, 0.4485, 0.1571}},
11874 {
11875 {0.2947, 0.2593, 0.2640, 0.1819},
11876 {0.4179, 0.1772, 0.2248, 0.1801},
11877 {0.2723, 0.2805, 0.2916, 0.1556},
11878 {0.1847, 0.2559, 0.4078, 0.1517}},
11879 {
11880 {0.3846, 0.2220, 0.1344, 0.2591},
11881 {0.2707, 0.2512, 0.1805, 0.2976},
11882 {0.5124, 0.2207, 0.1300, 0.1368},
11883 {0.1888, 0.2328, 0.2775, 0.3009}},
11884 {
11885 {0.1684, 0.2451, 0.4451, 0.1414},
11886 {0.1975, 0.3391, 0.2761, 0.1873},
11887 {0.1613, 0.4771, 0.2132, 0.1484},
11888 {0.0972, 0.3451, 0.3805, 0.1772}},
11889 {
11890 {0.2759, 0.1980, 0.3327, 0.1934},
11891 {0.3508, 0.1853, 0.2503, 0.2136},
11892 {0.2944, 0.2957, 0.2953, 0.1146},
11893 {0.1200, 0.3289, 0.3729, 0.1783}},
11894 {
11895 {0.3989, 0.2201, 0.1736, 0.2074},
11896 {0.2731, 0.2496, 0.1769, 0.3005},
11897 {0.3360, 0.2100, 0.3052, 0.1489},
11898 {0.1949, 0.2633, 0.1163, 0.4255}},
11899 {
11900 {0.1313, 0.3401, 0.3487, 0.1799},
11901 {0.2151, 0.3078, 0.2929, 0.1842},
11902 {0.2602, 0.4033, 0.1684, 0.1681},
11903 {0.1117, 0.3339, 0.3800, 0.1743}},
11904 {
11905 {0.3207, 0.2026, 0.2435, 0.2332},
11906 {0.3660, 0.1731, 0.2710, 0.1899},
11907 {0.2837, 0.2568, 0.3295, 0.1301},
11908 {0.1747, 0.3262, 0.3366, 0.1626}},
11909 {
11910 {0.3846, 0.1538, 0.1784, 0.2833},
11911 {0.3089, 0.1937, 0.1855, 0.3119},
11912 {0.3651, 0.2508, 0.1658, 0.2183},
11913 {0.1509, 0.2749, 0.1803, 0.3939}},
11914 {
11915 {0.2027, 0.2175, 0.3954, 0.1845},
11916 {0.2558, 0.2730, 0.3056, 0.1656},
11917 {0.1627, 0.4243, 0.2210, 0.1920},
11918 {0.1230, 0.2325, 0.4443, 0.2002}},
11919 {
11920 {0.3162, 0.2360, 0.2588, 0.1890},
11921 {0.3945, 0.1887, 0.2653, 0.1515},
11922 {0.2090, 0.2943, 0.3313, 0.1654},
11923 {0.1404, 0.2212, 0.4713, 0.1671}},
11924 {
11925 {0.4016, 0.1562, 0.1710, 0.2712},
11926 {0.3335, 0.2245, 0.1580, 0.2840},
11927 {0.3696, 0.2086, 0.2295, 0.1923},
11928 {0.1130, 0.4158, 0.1813, 0.2898}},
11929 {
11930 {0.1828, 0.2262, 0.3632, 0.2277},
11931 {0.1962, 0.3907, 0.2852, 0.1279},
11932 {0.1955, 0.4360, 0.1559, 0.2126},
11933 {0.1069, 0.2906, 0.4356, 0.1668}},
11934 {
11935 {0.3385, 0.1710, 0.3005, 0.1901},
11936 {0.4238, 0.2199, 0.2060, 0.1503},
11937 {0.2672, 0.2344, 0.3663, 0.1322},
11938 {0.1882, 0.3599, 0.3563, 0.0957}},
11939 {
11940 {0.3707, 0.2045, 0.1675, 0.2574},
11941 {0.3248, 0.1860, 0.1207, 0.3686},
11942 {0.3095, 0.2684, 0.2087, 0.2135},
11943 {0.1880, 0.1906, 0.1503, 0.4712}},
11944 {
11945 {0.1758, 0.2877, 0.3687, 0.1678},
11946 {0.2966, 0.3544, 0.1959, 0.1531},
11947 {0.1740, 0.5094, 0.1561, 0.1605},
11948 {0.0951, 0.3277, 0.3701, 0.2071}},
11949 {
11950 {0.3233, 0.2293, 0.2737, 0.1737},
11951 {0.3630, 0.1750, 0.2511, 0.2109},
11952 {0.2837, 0.2340, 0.3572, 0.1251},
11953 {0.1837, 0.2823, 0.3547, 0.1793}},
11954 {
11955 {0.3938, 0.1889, 0.1373, 0.2801},
11956 {0.2616, 0.2392, 0.1702, 0.3290},
11957 {0.3561, 0.2347, 0.2156, 0.1937},
11958 {0.1997, 0.3095, 0.1602, 0.3306}},
11959 {
11960 {0.1454, 0.3142, 0.3293, 0.2110},
11961 {0.2291, 0.2945, 0.3128, 0.1637},
11962 {0.1760, 0.4547, 0.1590, 0.2103},
11963 {0.1072, 0.3351, 0.3206, 0.2372}},
11964 {
11965 {0.3190, 0.3110, 0.1766, 0.1935},
11966 {0.4280, 0.1782, 0.2065, 0.1874},
11967 {0.2704, 0.2743, 0.3169, 0.1384},
11968 {0.1346, 0.2389, 0.4253, 0.2012}},
11969 {
11970 {0.4021, 0.2326, 0.0854, 0.2799},
11971 {0.3231, 0.1882, 0.1575, 0.3312},
11972 {0.3897, 0.2437, 0.2078, 0.1588},
11973 {0.1228, 0.2265, 0.2745, 0.3762}},
11974 {
11975 {0.1716, 0.2132, 0.3946, 0.2206},
11976 {0.1651, 0.4719, 0.2071, 0.1559},
11977 {0.1338, 0.4024, 0.1813, 0.2824},
11978 {0.1038, 0.3435, 0.3873, 0.1655}},
11979 {
11980 {0.3423, 0.1913, 0.2285, 0.2379},
11981 {0.3725, 0.1486, 0.2577, 0.2212},
11982 {0.2622, 0.3211, 0.2862, 0.1304},
11983 {0.1183, 0.3302, 0.3874, 0.1641}},
11984 {
11985 {0.4014, 0.1887, 0.1612, 0.2488},
11986 {0.3505, 0.1688, 0.2120, 0.2686},
11987 {0.4102, 0.1639, 0.2188, 0.2072},
11988 {0.1955, 0.2752, 0.1808, 0.3485}},
11989 {
11990 {0.1779, 0.2753, 0.3731, 0.1737},
11991 {0.2457, 0.3245, 0.2186, 0.2112},
11992 {0.1238, 0.4128, 0.2061, 0.2572},
11993 {0.0845, 0.3257, 0.3873, 0.2025}},
11994 {
11995 {0.3638, 0.2474, 0.2454, 0.1434},
11996 {0.3466, 0.1384, 0.3321, 0.1828},
11997 {0.2585, 0.3439, 0.2479, 0.1497},
11998 {0.2491, 0.2173, 0.3376, 0.1960}},
11999 {
12000 {0.3789, 0.1833, 0.1410, 0.2968},
12001 {0.3357, 0.1853, 0.1836, 0.2954},
12002 {0.4085, 0.2106, 0.1916, 0.1893},
12003 {0.1914, 0.2861, 0.1790, 0.3436}},
12004 {
12005 {0.1319, 0.3011, 0.3729, 0.1941},
12006 {0.1950, 0.4170, 0.1992, 0.1888},
12007 {0.1266, 0.4873, 0.1685, 0.2176},
12008 {0.1188, 0.3346, 0.3506, 0.1960}},
12009 {
12010 {0.2962, 0.3070, 0.2260, 0.1709},
12011 {0.3670, 0.1626, 0.2875, 0.1829},
12012 {0.1897, 0.3409, 0.3480, 0.1214},
12013 {0.1047, 0.2895, 0.4077, 0.1981}},
12014 {
12015 {0.3786, 0.1753, 0.1528, 0.2933},
12016 {0.2794, 0.1700, 0.2061, 0.3445},
12017 {0.4073, 0.2325, 0.1661, 0.1941},
12018 {0.1701, 0.2279, 0.2469, 0.3551}},
12019 {
12020 {0.1279, 0.2526, 0.3984, 0.2212},
12021 {0.1990, 0.4107, 0.2275, 0.1628},
12022 {0.1675, 0.5248, 0.1317, 0.1760},
12023 {0.0871, 0.3040, 0.3754, 0.2335}},
12024 {
12025 {0.3332, 0.1613, 0.2689, 0.2366},
12026 {0.3353, 0.1678, 0.3016, 0.1952},
12027 {0.2025, 0.3215, 0.3875, 0.0885},
12028 {0.1680, 0.3500, 0.3261, 0.1558}},
12029 {
12030 {0.3864, 0.1922, 0.1537, 0.2678},
12031 {0.2236, 0.2458, 0.1069, 0.4237},
12032 {0.3854, 0.2418, 0.1888, 0.1840},
12033 {0.1659, 0.1523, 0.3352, 0.3467}},
12034 {
12035 {0.2124, 0.2037, 0.3287, 0.2552},
12036 {0.2169, 0.3378, 0.1923, 0.2530},
12037 {0.1673, 0.4448, 0.2341, 0.1538},
12038 {0.1718, 0.1972, 0.4250, 0.2060}},
12039 {
12040 {0.3105, 0.2236, 0.3531, 0.1127},
12041 {0.4171, 0.1113, 0.2615, 0.2101},
12042 {0.2819, 0.2661, 0.3557, 0.0964},
12043 {0.2127, 0.3512, 0.2961, 0.1400}},
12044 {
12045 {0.3928, 0.2045, 0.1025, 0.3002},
12046 {0.2405, 0.3210, 0.1171, 0.3213},
12047 {0.3903, 0.2204, 0.2084, 0.1809},
12048 {0.1054, 0.3407, 0.2609, 0.2931}},
12049 {
12050 {0.1180, 0.2631, 0.3503, 0.2685},
12051 {0.2306, 0.4031, 0.2204, 0.1459},
12052 {0.1971, 0.5385, 0.0722, 0.1922},
12053 {0.0753, 0.2704, 0.4210, 0.2333}},
12054 {
12055 {0.2878, 0.2169, 0.2840, 0.2112},
12056 {0.3844, 0.1707, 0.2465, 0.1984},
12057 {0.2341, 0.3406, 0.3013, 0.1239},
12058 {0.2090, 0.3170, 0.3167, 0.1572}},
12059 {
12060 {0.3773, 0.2276, 0.1771, 0.2180},
12061 {0.3645, 0.2724, 0.0934, 0.2697},
12062 {0.4230, 0.2460, 0.1801, 0.1509},
12063 {0.1928, 0.1948, 0.2047, 0.4077}},
12064 {
12065 {0.1655, 0.2575, 0.3214, 0.2557},
12066 {0.2233, 0.3903, 0.2191, 0.1674},
12067 {0.2145, 0.5086, 0.1123, 0.1645},
12068 {0.1523, 0.2732, 0.3353, 0.2391}},
12069 {
12070 {0.3091, 0.1889, 0.2264, 0.2756},
12071 {0.3969, 0.1215, 0.2500, 0.2317},
12072 {0.1934, 0.3595, 0.2661, 0.1810},
12073 {0.2245, 0.2306, 0.3081, 0.2368}},
12074 {
12075 {0.3145, 0.1458, 0.1446, 0.3951},
12076 {0.3944, 0.2446, 0.1210, 0.2399},
12077 {0.3004, 0.2409, 0.2561, 0.2025},
12078 {0.2278, 0.2306, 0.1777, 0.3639}},
12079 {
12080 {0.2228, 0.2386, 0.2443, 0.2944},
12081 {0.2911, 0.2709, 0.2648, 0.1731},
12082 {0.3084, 0.3697, 0.0991, 0.2228},
12083 {0.2017, 0.2091, 0.2655, 0.3236}},
12084 {
12085 {0.3709, 0.1386, 0.3167, 0.1738},
12086 {0.4946, 0.1147, 0.1893, 0.2014},
12087 {0.3437, 0.2775, 0.2646, 0.1141},
12088 {0.2446, 0.3511, 0.2136, 0.1907}},
12089 {
12090 {0.3927, 0.2241, 0.0937, 0.2895},
12091 {0.4357, 0.2774, 0.0387, 0.2483},
12092 {0.5536, 0.1878, 0.1005, 0.1580},
12093 {0.0955, 0.2788, 0.0523, 0.5734}},
12094 {
12095 {0.3466, 0.1948, 0.2806, 0.1780},
12096 {0.4866, 0.1935, 0.2235, 0.0964},
12097 {0.4383, 0.3534, 0.0558, 0.1525},
12098 {0.2457, 0.1672, 0.3414, 0.2457}},
12099 {
12100 {0.1496, 0.0825, 0.6777, 0.0903},
12101 {0.2336, 0.1312, 0.4431, 0.1921},
12102 {0.1568, 0.0686, 0.6606, 0.1141},
12103 {0.1028, 0.1065, 0.7067, 0.0840}},
12104 {
12105 {0.0000, 0.0000, 1.0000, 0.0000},
12106 {0.0000, 0.0000, 1.0000, 0.0000},
12107 {0.0000, 0.0000, 1.0000, 0.0000},
12108 {0.0000, 0.0000, 1.0000, 0.0000}},
12109 {
12110 {0.0000, 0.0000, 0.0000, 0.0000},
12111 {0.0000, 0.0000, 0.0000, 0.0000},
12112 {0.0000, 0.0000, 0.0000, 1.0000},
12113 {0.0000, 0.0000, 0.0000, 0.0000}},
12114 {
12115 {0.0000, 0.0000, 0.0000, 0.0000},
12116 {0.0000, 0.0000, 0.0000, 0.0000},
12117 {0.0000, 0.0000, 0.0000, 0.0000},
12118 {0.6319, 0.0118, 0.3198, 0.0366}},
12119 {
12120 {0.7658, 0.0704, 0.0776, 0.0862},
12121 {0.7138, 0.0000, 0.1465, 0.1397},
12122 {0.8047, 0.0650, 0.0929, 0.0373},
12123 {0.4655, 0.1368, 0.2374, 0.1603}},
12124 {
12125 {0.0546, 0.0280, 0.8822, 0.0352},
12126 {0.1148, 0.0401, 0.7540, 0.0911},
12127 {0.0332, 0.0371, 0.8967, 0.0330},
12128 {0.0764, 0.0222, 0.8130, 0.0883}},
12129 {
12130 {0.1023, 0.1662, 0.1488, 0.5828},
12131 {0.1014, 0.2171, 0.2089, 0.4726},
12132 {0.1061, 0.1145, 0.0568, 0.7226},
12133 {0.3647, 0.0720, 0.2295, 0.3338}},
12134 {
12135 {0.4224, 0.1642, 0.1312, 0.2822},
12136 {0.4530, 0.1691, 0.0727, 0.3052},
12137 {0.3447, 0.2186, 0.1889, 0.2478},
12138 {0.3218, 0.1365, 0.1907, 0.3510}},
12139 {
12140 {0.2815, 0.2131, 0.1503, 0.3551},
12141 {0.2523, 0.2733, 0.1705, 0.3038},
12142 {0.2775, 0.3320, 0.1651, 0.2255},
12143 {0.1633, 0.2144, 0.2301, 0.3922}},
12144 {
12145 {0.3649, 0.2131, 0.1566, 0.2655},
12146 {0.3805, 0.1944, 0.1314, 0.2937},
12147 {0.3249, 0.1900, 0.1964, 0.2887},
12148 {0.2318, 0.2685, 0.1684, 0.3313}},
12149 {
12150 {0.3273, 0.1735, 0.1694, 0.3298},
12151 {0.3032, 0.2630, 0.1395, 0.2943},
12152 {0.3213, 0.2309, 0.2004, 0.2475},
12153 {0.2297, 0.2646, 0.2084, 0.2973}},
12154 {
12155 {0.3684, 0.1495, 0.2143, 0.2678},
12156 {0.4458, 0.1570, 0.1149, 0.2822},
12157 {0.3348, 0.3116, 0.0969, 0.2567},
12158 {0.2633, 0.1743, 0.2636, 0.2987}},
12159 {
12160 {0.3456, 0.1766, 0.2175, 0.2603},
12161 {0.3114, 0.2489, 0.1138, 0.3259},
12162 {0.2801, 0.2725, 0.2249, 0.2224},
12163 {0.2812, 0.2307, 0.2016, 0.2865}},
12164 {
12165 {0.3116, 0.1949, 0.1332, 0.3603},
12166 {0.3328, 0.2230, 0.1550, 0.2892},
12167 {0.2378, 0.2763, 0.1978, 0.2881},
12168 {0.2329, 0.2614, 0.1516, 0.3541}},
12169 {
12170 {0.3253, 0.1667, 0.1817, 0.3264},
12171 {0.3426, 0.2564, 0.2033, 0.1977},
12172 {0.2905, 0.3024, 0.1752, 0.2319},
12173 {0.2647, 0.2679, 0.1411, 0.3263}},
12174 {
12175 {0.3375, 0.2074, 0.1524, 0.3027},
12176 {0.3404, 0.2351, 0.1377, 0.2868},
12177 {0.2940, 0.2065, 0.2854, 0.2140},
12178 {0.2332, 0.2453, 0.1903, 0.3311}},
12179 {
12180 {0.3678, 0.1755, 0.1180, 0.3387},
12181 {0.2470, 0.2604, 0.2273, 0.2653},
12182 {0.3276, 0.2387, 0.2343, 0.1994},
12183 {0.2787, 0.1626, 0.2240, 0.3347}},
12184 {
12185 {0.3150, 0.1743, 0.1608, 0.3499},
12186 {0.3271, 0.2917, 0.0871, 0.2941},
12187 {0.3136, 0.2925, 0.1642, 0.2297},
12188 {0.2504, 0.2348, 0.2251, 0.2896}},
12189 {
12190 {0.3604, 0.1424, 0.1402, 0.3570},
12191 {0.3405, 0.2435, 0.1093, 0.3067},
12192 {0.2328, 0.2489, 0.2069, 0.3115},
12193 {0.2554, 0.2284, 0.1793, 0.3368}},
12194 {
12195 {0.3562, 0.1379, 0.1610, 0.3449},
12196 {0.3962, 0.2019, 0.1123, 0.2896},
12197 {0.3486, 0.2092, 0.1330, 0.3091},
12198 {0.2750, 0.2034, 0.1826, 0.3390}},
12199 {
12200 {0.3543, 0.1630, 0.1520, 0.3308},
12201 {0.3430, 0.2170, 0.1108, 0.3292},
12202 {0.3700, 0.2026, 0.1104, 0.3170},
12203 {0.2376, 0.2049, 0.1950, 0.3625}},
12204 {
12205 {0.3090, 0.1440, 0.2128, 0.3342},
12206 {0.3233, 0.2790, 0.1515, 0.2462},
12207 {0.2488, 0.3016, 0.1765, 0.2731},
12208 {0.2564, 0.1657, 0.1775, 0.4004}},
12209 {
12210 {0.2887, 0.2117, 0.1705, 0.3291},
12211 {0.3519, 0.2762, 0.1424, 0.2294},
12212 {0.2940, 0.3018, 0.1999, 0.2043},
12213 {0.2532, 0.1934, 0.1825, 0.3709}},
12214 {
12215 {0.3603, 0.1783, 0.2158, 0.2457},
12216 {0.3814, 0.2087, 0.1765, 0.2335},
12217 {0.2793, 0.2983, 0.1711, 0.2513},
12218 {0.2815, 0.2265, 0.1551, 0.3369}},
12219 {
12220 {0.3943, 0.1498, 0.1745, 0.2814},
12221 {0.2348, 0.2988, 0.1116, 0.3547},
12222 {0.3354, 0.2774, 0.1508, 0.2363},
12223 {0.3081, 0.1663, 0.2017, 0.3239}},
12224 {
12225 {0.3311, 0.1886, 0.1617, 0.3186},
12226 {0.3230, 0.2354, 0.1844, 0.2572},
12227 {0.3157, 0.2014, 0.1633, 0.3196},
12228 {0.1956, 0.2195, 0.2246, 0.3604}},
12229 {
12230 {0.3582, 0.1236, 0.1542, 0.3639},
12231 {0.3552, 0.2454, 0.0918, 0.3076},
12232 {0.2769, 0.3192, 0.1301, 0.2738},
12233 {0.2466, 0.1848, 0.2151, 0.3535}},
12234 {
12235 {0.3816, 0.1466, 0.1685, 0.3033},
12236 {0.3988, 0.1838, 0.2102, 0.2072},
12237 {0.2794, 0.2695, 0.1163, 0.3349},
12238 {0.2335, 0.1705, 0.2248, 0.3713}},
12239 {
12240 {0.3474, 0.1865, 0.1868, 0.2793},
12241 {0.3242, 0.2692, 0.1380, 0.2686},
12242 {0.3284, 0.2589, 0.1642, 0.2485},
12243 {0.2294, 0.1962, 0.2373, 0.3371}},
12244 {
12245 {0.3405, 0.1969, 0.1290, 0.3337},
12246 {0.4141, 0.1464, 0.1224, 0.3171},
12247 {0.2417, 0.1796, 0.2708, 0.3080},
12248 {0.1995, 0.1993, 0.2470, 0.3541}},
12249 {
12250 {0.3184, 0.2233, 0.1875, 0.2707},
12251 {0.3052, 0.2410, 0.2022, 0.2516},
12252 {0.2741, 0.2054, 0.2123, 0.3081},
12253 {0.2866, 0.2338, 0.1678, 0.3118}},
12254 {
12255 {0.3654, 0.1282, 0.1849, 0.3215},
12256 {0.3385, 0.1980, 0.1562, 0.3074},
12257 {0.2672, 0.2287, 0.2793, 0.2247},
12258 {0.2345, 0.2396, 0.1737, 0.3522}},
12259 {
12260 {0.3635, 0.1984, 0.1334, 0.3047},
12261 {0.2864, 0.2353, 0.1436, 0.3347},
12262 {0.3570, 0.2154, 0.1539, 0.2737},
12263 {0.2731, 0.2352, 0.1718, 0.3198}},
12264 {
12265 {0.3006, 0.1809, 0.2225, 0.2960},
12266 {0.2880, 0.2512, 0.1183, 0.3426},
12267 {0.2754, 0.2288, 0.1454, 0.3504},
12268 {0.3524, 0.1697, 0.1659, 0.3120}},
12269 {
12270 {0.4236, 0.1367, 0.1354, 0.3042},
12271 {0.3545, 0.2817, 0.0970, 0.2668},
12272 {0.3563, 0.2194, 0.1235, 0.3008},
12273 {0.2744, 0.2002, 0.1279, 0.3975}},
12274 {
12275 {0.2788, 0.1818, 0.1896, 0.3498},
12276 {0.3444, 0.1945, 0.1640, 0.2971},
12277 {0.2066, 0.2179, 0.2678, 0.3077},
12278 {0.2827, 0.1107, 0.1862, 0.4204}},
12279 {
12280 {0.3987, 0.1438, 0.1194, 0.3380},
12281 {0.2825, 0.2414, 0.1327, 0.3433},
12282 {0.2766, 0.2674, 0.1424, 0.3136},
12283 {0.3032, 0.1708, 0.1701, 0.3559}},
12284 {
12285 {0.4024, 0.1534, 0.1111, 0.3331},
12286 {0.3003, 0.2467, 0.1311, 0.3218},
12287 {0.3157, 0.2273, 0.1564, 0.3007},
12288 {0.3335, 0.1825, 0.1637, 0.3204}},
12289 {
12290 {0.3617, 0.1561, 0.1081, 0.3740},
12291 {0.2947, 0.2823, 0.1203, 0.3027},
12292 {0.1627, 0.3088, 0.1553, 0.3732},
12293 {0.3449, 0.1885, 0.1382, 0.3283}},
12294 {
12295 {0.4287, 0.1718, 0.0969, 0.3026},
12296 {0.3272, 0.1881, 0.1030, 0.3817},
12297 {0.3023, 0.2612, 0.1531, 0.2835},
12298 {0.3280, 0.1692, 0.1825, 0.3203}},
12299 {
12300 {0.3477, 0.1843, 0.1196, 0.3483},
12301 {0.3420, 0.2556, 0.0600, 0.3425},
12302 {0.3911, 0.2105, 0.1078, 0.2906},
12303 {0.3183, 0.1538, 0.1659, 0.3620}},
12304 {
12305 {0.3592, 0.2014, 0.1178, 0.3216},
12306 {0.3438, 0.1957, 0.1216, 0.3389},
12307 {0.2594, 0.2615, 0.1165, 0.3627},
12308 {0.3514, 0.1411, 0.1903, 0.3172}},
12309 {
12310 {0.3180, 0.2072, 0.0688, 0.4061},
12311 {0.3301, 0.2761, 0.1150, 0.2787},
12312 {0.3115, 0.2265, 0.1320, 0.3300},
12313 {0.3415, 0.2157, 0.1678, 0.2749}},
12314 {
12315 {0.3593, 0.1519, 0.0904, 0.3985},
12316 {0.2706, 0.2665, 0.1710, 0.2919},
12317 {0.2547, 0.1896, 0.2476, 0.3082},
12318 {0.3210, 0.1383, 0.1977, 0.3429}},
12319 {
12320 {0.3462, 0.1391, 0.1120, 0.4027},
12321 {0.2830, 0.2099, 0.1137, 0.3933},
12322 {0.2958, 0.3024, 0.1507, 0.2511},
12323 {0.2533, 0.1867, 0.1856, 0.3744}},
12324 {
12325 {0.3311, 0.1772, 0.1084, 0.3832},
12326 {0.3122, 0.2629, 0.1504, 0.2744},
12327 {0.2701, 0.2568, 0.1585, 0.3146},
12328 {0.2240, 0.1987, 0.1674, 0.4099}},
12329 {
12330 {0.3652, 0.1359, 0.1576, 0.3413},
12331 {0.2984, 0.1732, 0.1197, 0.4086},
12332 {0.2431, 0.2932, 0.1500, 0.3137},
12333 {0.2713, 0.1809, 0.1568, 0.3911}},
12334 {
12335 {0.3071, 0.1775, 0.1523, 0.3631},
12336 {0.2382, 0.3125, 0.1598, 0.2895},
12337 {0.3032, 0.2329, 0.1457, 0.3182},
12338 {0.1946, 0.2400, 0.2037, 0.3617}},
12339 {
12340 {0.2750, 0.1737, 0.1093, 0.4421},
12341 {0.3269, 0.2123, 0.1795, 0.2813},
12342 {0.2357, 0.2517, 0.2115, 0.3011},
12343 {0.2569, 0.1797, 0.1656, 0.3978}},
12344 {
12345 {0.3420, 0.1756, 0.1092, 0.3733},
12346 {0.2648, 0.1554, 0.1486, 0.4312},
12347 {0.2677, 0.2810, 0.2028, 0.2486},
12348 {0.2454, 0.1744, 0.1636, 0.4166}},
12349 {
12350 {0.2820, 0.1790, 0.1133, 0.4256},
12351 {0.2920, 0.2687, 0.1208, 0.3185},
12352 {0.3272, 0.2008, 0.2001, 0.2719},
12353 {0.1801, 0.2373, 0.1348, 0.4478}},
12354 {
12355 {0.3312, 0.2087, 0.1268, 0.3333},
12356 {0.3237, 0.2433, 0.1594, 0.2736},
12357 {0.2033, 0.2467, 0.1164, 0.4336},
12358 {0.2203, 0.1977, 0.1615, 0.4205}},
12359 {
12360 {0.2980, 0.2325, 0.0935, 0.3760},
12361 {0.2498, 0.2335, 0.1295, 0.3872},
12362 {0.2454, 0.2692, 0.1093, 0.3761},
12363 {0.1892, 0.2716, 0.1377, 0.4014}}
12364 },
12365 { /* Splice_Site: T0_GT; Species: Droso */
12366 {
12367 {0.3049, 0.3049, 0.3049, 0.3049},
12368 {0.2379, 0.2379, 0.2379, 0.2379},
12369 {0.2808, 0.2808, 0.2808, 0.2808},
12370 {0.1764, 0.1764, 0.1764, 0.1764}},
12371 {
12372 {0.4207, 0.1606, 0.1685, 0.2502},
12373 {0.3233, 0.1740, 0.2017, 0.3009},
12374 {0.3617, 0.2862, 0.1746, 0.1775},
12375 {0.1404, 0.3573, 0.1530, 0.3493}},
12376 {
12377 {0.1803, 0.2402, 0.3920, 0.1875},
12378 {0.2050, 0.3888, 0.2433, 0.1630},
12379 {0.1633, 0.4980, 0.1572, 0.1815},
12380 {0.1178, 0.3599, 0.3672, 0.1551}},
12381 {
12382 {0.3335, 0.2875, 0.1822, 0.1967},
12383 {0.4269, 0.1840, 0.1904, 0.1987},
12384 {0.1764, 0.3211, 0.3290, 0.1735},
12385 {0.2432, 0.2873, 0.2579, 0.2117}},
12386 {
12387 {0.3562, 0.1985, 0.1659, 0.2795},
12388 {0.2714, 0.2240, 0.1858, 0.3188},
12389 {0.3594, 0.2697, 0.1831, 0.1878},
12390 {0.1692, 0.2615, 0.1714, 0.3978}},
12391 {
12392 {0.1196, 0.2726, 0.4017, 0.2061},
12393 {0.2442, 0.3824, 0.2337, 0.1398},
12394 {0.0901, 0.5419, 0.1902, 0.1777},
12395 {0.1201, 0.2566, 0.4470, 0.1764}},
12396 {
12397 {0.3382, 0.2457, 0.2314, 0.1847},
12398 {0.3144, 0.1677, 0.3207, 0.1972},
12399 {0.2326, 0.2340, 0.3587, 0.1747},
12400 {0.2283, 0.3128, 0.2609, 0.1980}},
12401 {
12402 {0.3429, 0.1873, 0.1672, 0.3026},
12403 {0.2964, 0.2041, 0.1695, 0.3300},
12404 {0.4367, 0.1933, 0.2042, 0.1658},
12405 {0.1263, 0.2953, 0.1519, 0.4266}},
12406 {
12407 {0.1900, 0.1916, 0.3947, 0.2236},
12408 {0.1980, 0.4376, 0.2561, 0.1083},
12409 {0.1004, 0.4599, 0.1956, 0.2441},
12410 {0.1597, 0.2517, 0.3636, 0.2250}},
12411 {
12412 {0.2540, 0.2110, 0.3236, 0.2114},
12413 {0.3843, 0.2075, 0.2092, 0.1989},
12414 {0.2572, 0.2621, 0.3460, 0.1347},
12415 {0.1769, 0.2728, 0.3158, 0.2345}},
12416 {
12417 {0.4358, 0.2012, 0.0963, 0.2668},
12418 {0.2717, 0.1929, 0.2340, 0.3014},
12419 {0.4052, 0.2438, 0.1731, 0.1779},
12420 {0.1342, 0.2399, 0.1893, 0.4367}},
12421 {
12422 {0.2206, 0.2760, 0.3724, 0.1310},
12423 {0.0871, 0.3874, 0.3383, 0.1872},
12424 {0.1059, 0.3896, 0.2280, 0.2766},
12425 {0.0763, 0.3013, 0.3974, 0.2250}},
12426 {
12427 {0.3865, 0.1920, 0.2284, 0.1932},
12428 {0.3676, 0.1537, 0.3011, 0.1777},
12429 {0.3365, 0.2150, 0.3490, 0.0995},
12430 {0.2214, 0.2840, 0.3432, 0.1514}},
12431 {
12432 {0.3802, 0.2243, 0.1267, 0.2688},
12433 {0.2663, 0.1288, 0.2034, 0.4014},
12434 {0.3632, 0.2626, 0.2281, 0.1461},
12435 {0.1551, 0.2992, 0.1559, 0.3898}},
12436 {
12437 {0.1283, 0.2914, 0.3801, 0.2002},
12438 {0.2162, 0.4387, 0.2241, 0.1210},
12439 {0.1539, 0.4284, 0.1927, 0.2251},
12440 {0.1188, 0.3195, 0.3930, 0.1687}},
12441 {
12442 {0.2980, 0.2634, 0.2743, 0.1643},
12443 {0.3590, 0.1197, 0.2774, 0.2440},
12444 {0.2239, 0.2918, 0.3166, 0.1677},
12445 {0.2739, 0.2521, 0.3409, 0.1331}},
12446 {
12447 {0.4346, 0.1484, 0.1814, 0.2356},
12448 {0.2868, 0.1772, 0.2460, 0.2900},
12449 {0.4347, 0.2151, 0.1832, 0.1670},
12450 {0.1354, 0.2866, 0.1779, 0.4001}},
12451 {
12452 {0.1800, 0.2914, 0.3748, 0.1538},
12453 {0.1626, 0.4398, 0.2653, 0.1323},
12454 {0.1427, 0.4911, 0.1687, 0.1975},
12455 {0.1543, 0.2773, 0.3680, 0.2004}},
12456 {
12457 {0.2010, 0.2039, 0.3616, 0.2335},
12458 {0.3836, 0.1661, 0.2270, 0.2232},
12459 {0.2415, 0.2695, 0.3097, 0.1794},
12460 {0.1789, 0.3601, 0.3176, 0.1433}},
12461 {
12462 {0.4090, 0.1853, 0.1203, 0.2854},
12463 {0.3207, 0.2560, 0.1597, 0.2636},
12464 {0.4109, 0.2359, 0.1771, 0.1761},
12465 {0.2281, 0.2270, 0.1570, 0.3879}},
12466 {
12467 {0.1639, 0.3697, 0.2878, 0.1786},
12468 {0.1439, 0.4569, 0.2149, 0.1844},
12469 {0.1783, 0.4398, 0.1794, 0.2025},
12470 {0.1196, 0.3362, 0.4041, 0.1401}},
12471 {
12472 {0.3715, 0.3089, 0.1721, 0.1475},
12473 {0.3735, 0.2112, 0.2401, 0.1752},
12474 {0.2849, 0.2247, 0.3380, 0.1523},
12475 {0.1799, 0.2254, 0.4638, 0.1309}},
12476 {
12477 {0.3801, 0.2086, 0.1552, 0.2561},
12478 {0.2899, 0.1933, 0.2054, 0.3114},
12479 {0.3563, 0.2459, 0.1687, 0.2292},
12480 {0.1970, 0.2248, 0.2561, 0.3221}},
12481 {
12482 {0.1516, 0.2430, 0.3673, 0.2381},
12483 {0.1943, 0.4731, 0.1445, 0.1881},
12484 {0.1611, 0.4312, 0.2531, 0.1546},
12485 {0.0689, 0.3121, 0.3665, 0.2525}},
12486 {
12487 {0.3056, 0.2287, 0.3090, 0.1567},
12488 {0.3575, 0.1305, 0.3043, 0.2078},
12489 {0.3071, 0.2482, 0.3718, 0.0730},
12490 {0.1699, 0.2916, 0.3543, 0.1841}},
12491 {
12492 {0.3762, 0.2022, 0.0950, 0.3266},
12493 {0.3511, 0.1551, 0.1961, 0.2977},
12494 {0.3848, 0.1758, 0.1988, 0.2406},
12495 {0.1529, 0.2442, 0.1654, 0.4375}},
12496 {
12497 {0.1867, 0.2807, 0.3087, 0.2240},
12498 {0.1873, 0.3567, 0.3068, 0.1492},
12499 {0.2129, 0.4278, 0.1466, 0.2127},
12500 {0.0657, 0.3831, 0.3337, 0.2175}},
12501 {
12502 {0.2851, 0.2480, 0.2494, 0.2175},
12503 {0.3885, 0.1845, 0.2568, 0.1701},
12504 {0.2674, 0.2748, 0.3383, 0.1195},
12505 {0.1916, 0.2291, 0.3670, 0.2123}},
12506 {
12507 {0.3996, 0.1683, 0.1531, 0.2790},
12508 {0.2986, 0.1982, 0.1823, 0.3209},
12509 {0.3507, 0.2337, 0.2018, 0.2138},
12510 {0.2055, 0.2421, 0.2644, 0.2880}},
12511 {
12512 {0.1594, 0.2645, 0.3852, 0.1909},
12513 {0.2109, 0.4256, 0.2446, 0.1189},
12514 {0.1588, 0.5474, 0.0860, 0.2078},
12515 {0.1174, 0.3038, 0.3660, 0.2127}},
12516 {
12517 {0.2784, 0.2646, 0.2563, 0.2006},
12518 {0.3580, 0.1811, 0.2302, 0.2307},
12519 {0.2591, 0.3438, 0.2720, 0.1251},
12520 {0.1845, 0.3398, 0.3018, 0.1739}},
12521 {
12522 {0.4646, 0.1694, 0.1029, 0.2630},
12523 {0.2737, 0.2695, 0.1591, 0.2977},
12524 {0.2656, 0.2982, 0.2170, 0.2192},
12525 {0.2163, 0.2961, 0.1490, 0.3387}},
12526 {
12527 {0.1700, 0.3367, 0.3525, 0.1408},
12528 {0.1607, 0.4474, 0.2488, 0.1432},
12529 {0.2289, 0.4720, 0.1176, 0.1816},
12530 {0.1380, 0.3423, 0.3455, 0.1741}},
12531 {
12532 {0.3115, 0.2132, 0.2730, 0.2023},
12533 {0.4615, 0.1422, 0.2453, 0.1510},
12534 {0.2387, 0.2990, 0.3600, 0.1023},
12535 {0.2063, 0.3313, 0.3892, 0.0733}},
12536 {
12537 {0.4143, 0.1485, 0.1675, 0.2697},
12538 {0.2774, 0.2340, 0.1389, 0.3498},
12539 {0.4013, 0.2080, 0.1511, 0.2396},
12540 {0.1364, 0.2693, 0.1882, 0.4060}},
12541 {
12542 {0.2046, 0.3063, 0.2957, 0.1934},
12543 {0.1421, 0.4618, 0.2483, 0.1479},
12544 {0.1422, 0.4741, 0.1348, 0.2489},
12545 {0.1165, 0.3361, 0.3488, 0.1986}},
12546 {
12547 {0.3324, 0.3139, 0.2278, 0.1259},
12548 {0.4516, 0.1280, 0.2251, 0.1953},
12549 {0.2377, 0.3062, 0.3482, 0.1080},
12550 {0.1761, 0.2315, 0.3604, 0.2320}},
12551 {
12552 {0.3726, 0.2545, 0.1360, 0.2368},
12553 {0.3722, 0.1888, 0.1767, 0.2624},
12554 {0.3505, 0.2689, 0.2282, 0.1523},
12555 {0.2107, 0.2100, 0.2390, 0.3403}},
12556 {
12557 {0.1512, 0.2500, 0.4105, 0.1884},
12558 {0.1695, 0.4360, 0.2967, 0.0977},
12559 {0.2002, 0.5499, 0.1339, 0.1160},
12560 {0.1357, 0.2948, 0.3890, 0.1805}},
12561 {
12562 {0.2902, 0.2116, 0.2862, 0.2121},
12563 {0.3941, 0.1142, 0.1823, 0.3094},
12564 {0.2265, 0.2440, 0.3656, 0.1639},
12565 {0.2141, 0.2513, 0.2354, 0.2991}},
12566 {
12567 {0.3585, 0.2108, 0.1425, 0.2883},
12568 {0.3731, 0.2121, 0.1842, 0.2305},
12569 {0.4552, 0.2755, 0.1298, 0.1394},
12570 {0.2007, 0.2970, 0.1693, 0.3330}},
12571 {
12572 {0.1309, 0.3373, 0.3020, 0.2298},
12573 {0.1855, 0.3883, 0.2568, 0.1694},
12574 {0.1907, 0.4119, 0.1691, 0.2283},
12575 {0.1592, 0.2519, 0.3651, 0.2238}},
12576 {
12577 {0.2838, 0.2550, 0.1853, 0.2759},
12578 {0.4583, 0.1616, 0.1679, 0.2122},
12579 {0.2285, 0.2931, 0.2877, 0.1907},
12580 {0.2443, 0.2694, 0.3409, 0.1453}},
12581 {
12582 {0.3734, 0.1632, 0.1202, 0.3432},
12583 {0.3775, 0.1349, 0.2097, 0.2778},
12584 {0.3362, 0.2282, 0.2721, 0.1635},
12585 {0.1530, 0.2306, 0.2161, 0.4002}},
12586 {
12587 {0.2290, 0.3166, 0.3067, 0.1477},
12588 {0.1907, 0.4040, 0.2376, 0.1678},
12589 {0.2089, 0.5164, 0.1039, 0.1708},
12590 {0.1872, 0.2706, 0.3469, 0.1954}},
12591 {
12592 {0.4121, 0.1714, 0.2066, 0.2099},
12593 {0.4344, 0.1280, 0.1749, 0.2626},
12594 {0.2247, 0.3674, 0.2451, 0.1629},
12595 {0.2976, 0.2380, 0.2360, 0.2285}},
12596 {
12597 {0.4213, 0.2131, 0.1463, 0.2192},
12598 {0.3410, 0.1930, 0.1774, 0.2887},
12599 {0.4305, 0.3027, 0.0743, 0.1925},
12600 {0.3172, 0.2817, 0.1276, 0.2735}},
12601 {
12602 {0.2067, 0.2991, 0.2176, 0.2765},
12603 {0.2976, 0.4123, 0.1424, 0.1477},
12604 {0.2191, 0.5405, 0.1238, 0.1166},
12605 {0.1709, 0.3720, 0.2541, 0.2030}},
12606 {
12607 {0.4930, 0.2260, 0.1176, 0.1634},
12608 {0.6160, 0.0948, 0.1589, 0.1303},
12609 {0.4475, 0.2633, 0.1974, 0.0918},
12610 {0.3539, 0.2115, 0.3216, 0.1130}},
12611 {
12612 {0.3425, 0.0535, 0.4748, 0.1292},
12613 {0.1513, 0.1049, 0.5348, 0.2090},
12614 {0.3364, 0.1182, 0.4547, 0.0907},
12615 {0.1204, 0.1715, 0.4530, 0.2551}},
12616 {
12617 {0.0000, 0.0000, 1.0000, 0.0000},
12618 {0.0000, 0.0000, 1.0000, 0.0000},
12619 {0.0000, 0.0000, 1.0000, 0.0000},
12620 {0.0000, 0.0000, 1.0000, 0.0000}},
12621 {
12622 {0.0000, 0.0000, 0.0000, 0.0000},
12623 {0.0000, 0.0000, 0.0000, 0.0000},
12624 {0.0000, 0.0000, 0.0000, 1.0000},
12625 {0.0000, 0.0000, 0.0000, 0.0000}},
12626 {
12627 {0.0000, 0.0000, 0.0000, 0.0000},
12628 {0.0000, 0.0000, 0.0000, 0.0000},
12629 {0.0000, 0.0000, 0.0000, 0.0000},
12630 {0.5341, 0.0081, 0.4208, 0.0370}},
12631 {
12632 {0.7883, 0.0547, 0.0938, 0.0632},
12633 {0.7252, 0.0000, 0.2748, 0.0000},
12634 {0.7494, 0.0643, 0.1779, 0.0084},
12635 {0.5038, 0.1488, 0.2062, 0.1412}},
12636 {
12637 {0.0430, 0.0248, 0.8914, 0.0407},
12638 {0.0000, 0.0328, 0.9118, 0.0554},
12639 {0.0852, 0.0141, 0.8751, 0.0256},
12640 {0.1456, 0.0415, 0.7686, 0.0443}},
12641 {
12642 {0.2698, 0.1974, 0.0764, 0.4564},
12643 {0.1598, 0.0758, 0.0725, 0.6919},
12644 {0.0814, 0.1125, 0.0510, 0.7550},
12645 {0.0862, 0.1477, 0.0902, 0.6759}},
12646 {
12647 {0.3577, 0.1984, 0.1432, 0.3007},
12648 {0.3595, 0.1512, 0.1470, 0.3423},
12649 {0.3733, 0.2793, 0.0752, 0.2723},
12650 {0.3197, 0.0959, 0.2458, 0.3386}},
12651 {
12652 {0.2789, 0.2005, 0.2057, 0.3149},
12653 {0.2738, 0.2363, 0.1255, 0.3644},
12654 {0.2220, 0.2561, 0.2465, 0.2754},
12655 {0.2050, 0.1654, 0.2790, 0.3506}},
12656 {
12657 {0.3288, 0.2307, 0.1085, 0.3320},
12658 {0.3864, 0.1843, 0.1480, 0.2814},
12659 {0.2830, 0.2834, 0.1690, 0.2647},
12660 {0.2740, 0.1715, 0.1655, 0.3889}},
12661 {
12662 {0.3152, 0.1953, 0.1856, 0.3039},
12663 {0.3275, 0.2552, 0.1446, 0.2727},
12664 {0.2070, 0.2693, 0.3137, 0.2101},
12665 {0.2291, 0.2010, 0.2225, 0.3475}},
12666 {
12667 {0.3592, 0.1946, 0.1780, 0.2682},
12668 {0.2834, 0.2583, 0.1663, 0.2920},
12669 {0.3441, 0.2353, 0.2050, 0.2156},
12670 {0.3369, 0.2483, 0.1778, 0.2371}},
12671 {
12672 {0.2872, 0.2108, 0.1839, 0.3181},
12673 {0.4116, 0.2267, 0.1457, 0.2160},
12674 {0.2421, 0.2440, 0.1927, 0.3212},
12675 {0.2860, 0.1650, 0.2333, 0.3156}},
12676 {
12677 {0.3992, 0.2122, 0.1316, 0.2570},
12678 {0.3506, 0.2645, 0.1263, 0.2585},
12679 {0.3481, 0.2258, 0.2441, 0.1820},
12680 {0.2485, 0.2435, 0.2239, 0.2840}},
12681 {
12682 {0.3400, 0.1764, 0.1665, 0.3171},
12683 {0.3754, 0.2673, 0.1467, 0.2106},
12684 {0.2905, 0.2606, 0.2338, 0.2150},
12685 {0.2295, 0.1682, 0.2237, 0.3786}},
12686 {
12687 {0.3602, 0.1698, 0.1901, 0.2799},
12688 {0.2664, 0.2502, 0.1358, 0.3477},
12689 {0.3541, 0.2485, 0.1381, 0.2593},
12690 {0.2811, 0.1664, 0.1934, 0.3591}},
12691 {
12692 {0.3257, 0.1414, 0.1929, 0.3399},
12693 {0.3442, 0.2291, 0.1689, 0.2578},
12694 {0.2808, 0.2518, 0.2409, 0.2265},
12695 {0.2117, 0.2160, 0.2057, 0.3666}},
12696 {
12697 {0.2979, 0.1586, 0.2115, 0.3320},
12698 {0.2356, 0.3296, 0.1171, 0.3177},
12699 {0.2579, 0.2561, 0.1421, 0.3439},
12700 {0.3137, 0.1740, 0.2084, 0.3038}},
12701 {
12702 {0.2918, 0.1455, 0.1361, 0.4266},
12703 {0.3706, 0.2681, 0.1285, 0.2329},
12704 {0.2206, 0.3892, 0.1719, 0.2183},
12705 {0.2818, 0.1568, 0.1431, 0.4184}},
12706 {
12707 {0.3424, 0.1417, 0.1831, 0.3329},
12708 {0.3478, 0.2357, 0.1420, 0.2745},
12709 {0.3245, 0.1753, 0.3189, 0.1814},
12710 {0.2556, 0.2508, 0.1907, 0.3028}},
12711 {
12712 {0.3235, 0.1615, 0.1352, 0.3798},
12713 {0.2799, 0.1909, 0.1940, 0.3352},
12714 {0.2106, 0.2868, 0.2267, 0.2759},
12715 {0.2592, 0.2139, 0.1715, 0.3554}},
12716 {
12717 {0.3354, 0.1641, 0.1687, 0.3318},
12718 {0.2828, 0.1729, 0.2200, 0.3243},
12719 {0.2268, 0.2995, 0.2207, 0.2530},
12720 {0.3213, 0.2091, 0.1947, 0.2749}},
12721 {
12722 {0.3201, 0.1662, 0.1929, 0.3209},
12723 {0.3687, 0.2724, 0.1669, 0.1921},
12724 {0.2696, 0.3416, 0.1849, 0.2039},
12725 {0.3345, 0.2461, 0.1710, 0.2483}},
12726 {
12727 {0.3777, 0.1729, 0.1573, 0.2920},
12728 {0.4151, 0.2075, 0.1434, 0.2340},
12729 {0.3790, 0.2543, 0.1538, 0.2130},
12730 {0.3336, 0.1843, 0.1479, 0.3343}},
12731 {
12732 {0.3354, 0.1858, 0.1844, 0.2944},
12733 {0.3283, 0.2165, 0.1142, 0.3410},
12734 {0.2170, 0.2070, 0.2918, 0.2842},
12735 {0.3273, 0.1503, 0.2387, 0.2838}},
12736 {
12737 {0.3221, 0.1548, 0.1990, 0.3241},
12738 {0.3380, 0.3189, 0.1304, 0.2128},
12739 {0.3087, 0.1743, 0.1898, 0.3271},
12740 {0.3145, 0.2083, 0.1706, 0.3066}},
12741 {
12742 {0.3019, 0.1600, 0.1797, 0.3583},
12743 {0.3330, 0.1884, 0.1043, 0.3744},
12744 {0.3373, 0.2113, 0.1924, 0.2590},
12745 {0.2520, 0.2058, 0.2149, 0.3273}},
12746 {
12747 {0.3235, 0.1639, 0.1619, 0.3508},
12748 {0.2299, 0.2721, 0.2314, 0.2666},
12749 {0.2233, 0.3265, 0.1710, 0.2792},
12750 {0.2995, 0.1925, 0.2354, 0.2726}},
12751 {
12752 {0.2957, 0.1443, 0.1728, 0.3871},
12753 {0.3602, 0.2755, 0.1526, 0.2118},
12754 {0.3454, 0.1375, 0.2412, 0.2759},
12755 {0.2557, 0.1839, 0.2131, 0.3473}},
12756 {
12757 {0.3022, 0.1467, 0.2141, 0.3371},
12758 {0.3344, 0.2295, 0.1279, 0.3082},
12759 {0.3583, 0.2218, 0.1565, 0.2634},
12760 {0.2831, 0.1811, 0.1974, 0.3384}},
12761 {
12762 {0.3685, 0.1915, 0.1628, 0.2771},
12763 {0.4250, 0.1578, 0.0985, 0.3187},
12764 {0.3043, 0.1900, 0.1957, 0.3099},
12765 {0.2954, 0.2014, 0.1716, 0.3316}},
12766 {
12767 {0.2278, 0.1378, 0.2210, 0.4134},
12768 {0.3359, 0.2141, 0.1430, 0.3070},
12769 {0.2975, 0.2330, 0.1992, 0.2703},
12770 {0.2197, 0.1950, 0.2269, 0.3584}},
12771 {
12772 {0.3315, 0.1364, 0.1936, 0.3384},
12773 {0.2928, 0.2701, 0.1764, 0.2607},
12774 {0.3102, 0.2227, 0.1859, 0.2811},
12775 {0.2824, 0.2056, 0.2208, 0.2913}},
12776 {
12777 {0.2608, 0.1250, 0.1882, 0.4260},
12778 {0.3385, 0.2352, 0.1212, 0.3051},
12779 {0.3234, 0.2351, 0.1659, 0.2756},
12780 {0.2501, 0.2177, 0.1999, 0.3323}},
12781 {
12782 {0.3153, 0.1993, 0.1688, 0.3165},
12783 {0.3013, 0.2126, 0.1089, 0.3772},
12784 {0.2881, 0.1442, 0.2117, 0.3560},
12785 {0.3048, 0.1820, 0.1843, 0.3289}},
12786 {
12787 {0.2816, 0.1997, 0.1669, 0.3518},
12788 {0.2587, 0.2550, 0.1559, 0.3304},
12789 {0.2790, 0.2377, 0.1805, 0.3028},
12790 {0.3362, 0.1455, 0.1759, 0.3424}},
12791 {
12792 {0.3517, 0.1738, 0.1510, 0.3236},
12793 {0.3614, 0.1953, 0.1132, 0.3301},
12794 {0.2646, 0.3425, 0.1418, 0.2511},
12795 {0.2993, 0.1829, 0.1201, 0.3976}},
12796 {
12797 {0.2920, 0.1908, 0.1523, 0.3649},
12798 {0.3184, 0.1984, 0.1591, 0.3241},
12799 {0.3291, 0.1560, 0.2576, 0.2573},
12800 {0.3085, 0.2406, 0.1422, 0.3087}},
12801 {
12802 {0.2644, 0.2621, 0.1312, 0.3424},
12803 {0.3253, 0.2520, 0.1406, 0.2821},
12804 {0.3596, 0.2183, 0.1566, 0.2655},
12805 {0.3253, 0.1296, 0.1930, 0.3521}},
12806 {
12807 {0.3216, 0.1821, 0.1154, 0.3809},
12808 {0.2804, 0.1911, 0.1482, 0.3803},
12809 {0.3647, 0.2244, 0.2109, 0.2000},
12810 {0.3447, 0.1184, 0.1707, 0.3662}},
12811 {
12812 {0.3502, 0.1888, 0.1036, 0.3573},
12813 {0.3780, 0.2354, 0.1306, 0.2559},
12814 {0.3153, 0.2242, 0.1724, 0.2880},
12815 {0.3782, 0.1386, 0.1710, 0.3122}},
12816 {
12817 {0.3662, 0.1692, 0.1057, 0.3589},
12818 {0.3403, 0.1376, 0.1695, 0.3525},
12819 {0.3680, 0.2705, 0.1070, 0.2545},
12820 {0.3657, 0.1726, 0.1628, 0.2989}},
12821 {
12822 {0.3111, 0.2265, 0.1023, 0.3601},
12823 {0.2870, 0.2167, 0.1339, 0.3624},
12824 {0.3182, 0.2591, 0.1188, 0.3039},
12825 {0.3326, 0.2136, 0.2066, 0.2472}},
12826 {
12827 {0.3738, 0.1785, 0.1186, 0.3291},
12828 {0.3404, 0.2567, 0.1354, 0.2674},
12829 {0.2884, 0.2269, 0.1754, 0.3094},
12830 {0.2707, 0.2181, 0.1692, 0.3420}},
12831 {
12832 {0.3818, 0.1898, 0.1078, 0.3206},
12833 {0.3325, 0.1961, 0.1088, 0.3626},
12834 {0.3091, 0.2444, 0.1212, 0.3254},
12835 {0.2950, 0.1917, 0.1588, 0.3546}},
12836 {
12837 {0.3602, 0.2547, 0.0603, 0.3248},
12838 {0.2537, 0.3101, 0.0967, 0.3394},
12839 {0.2369, 0.2808, 0.1104, 0.3718},
12840 {0.2465, 0.1733, 0.1598, 0.4204}},
12841 {
12842 {0.3055, 0.2529, 0.1087, 0.3329},
12843 {0.2268, 0.2001, 0.2219, 0.3512},
12844 {0.3808, 0.2262, 0.1726, 0.2204},
12845 {0.2529, 0.1882, 0.1588, 0.4001}},
12846 {
12847 {0.3720, 0.1489, 0.0860, 0.3931},
12848 {0.2752, 0.2577, 0.1258, 0.3413},
12849 {0.2554, 0.2360, 0.1775, 0.3312},
12850 {0.2822, 0.2086, 0.1413, 0.3679}},
12851 {
12852 {0.3682, 0.1852, 0.0867, 0.3599},
12853 {0.3461, 0.2035, 0.1320, 0.3184},
12854 {0.3178, 0.2047, 0.2183, 0.2591},
12855 {0.2648, 0.1917, 0.1507, 0.3928}},
12856 {
12857 {0.2498, 0.2402, 0.1282, 0.3817},
12858 {0.2235, 0.2611, 0.1400, 0.3755},
12859 {0.1765, 0.2729, 0.2142, 0.3364},
12860 {0.2484, 0.2314, 0.1640, 0.3562}},
12861 {
12862 {0.2576, 0.1554, 0.1827, 0.4043},
12863 {0.3007, 0.2192, 0.1355, 0.3447},
12864 {0.1999, 0.2222, 0.2063, 0.3715},
12865 {0.2089, 0.2343, 0.1706, 0.3863}},
12866 {
12867 {0.3030, 0.2167, 0.1144, 0.3660},
12868 {0.3673, 0.2031, 0.0859, 0.3438},
12869 {0.2693, 0.1827, 0.1524, 0.3956},
12870 {0.2118, 0.2157, 0.1695, 0.4031}},
12871 {
12872 {0.2542, 0.1743, 0.1470, 0.4246},
12873 {0.2650, 0.2282, 0.1213, 0.3855},
12874 {0.2528, 0.2648, 0.1597, 0.3227},
12875 {0.2191, 0.2279, 0.1608, 0.3922}}
12876 },
12877 { /* Splice_Site: F1_GT; Species: Droso */
12878 {
12879 {0.3187, 0.3187, 0.3187, 0.3187},
12880 {0.2374, 0.2374, 0.2374, 0.2374},
12881 {0.1859, 0.1859, 0.1859, 0.1859},
12882 {0.2580, 0.2580, 0.2580, 0.2580}},
12883 {
12884 {0.2048, 0.2863, 0.3068, 0.2021},
12885 {0.2372, 0.3282, 0.2506, 0.1839},
12886 {0.1413, 0.4870, 0.1335, 0.2382},
12887 {0.0717, 0.2236, 0.4670, 0.2377}},
12888 {
12889 {0.3294, 0.2051, 0.2920, 0.1735},
12890 {0.3719, 0.1701, 0.2547, 0.2033},
12891 {0.2337, 0.2465, 0.3515, 0.1683},
12892 {0.2301, 0.2488, 0.3438, 0.1774}},
12893 {
12894 {0.4125, 0.1895, 0.1429, 0.2551},
12895 {0.3325, 0.1726, 0.1706, 0.3243},
12896 {0.3460, 0.2824, 0.2022, 0.1695},
12897 {0.1915, 0.2876, 0.1692, 0.3517}},
12898 {
12899 {0.1522, 0.2911, 0.3656, 0.1911},
12900 {0.1766, 0.3763, 0.2684, 0.1787},
12901 {0.1418, 0.4108, 0.1920, 0.2554},
12902 {0.0992, 0.3022, 0.3943, 0.2043}},
12903 {
12904 {0.2370, 0.2512, 0.2467, 0.2650},
12905 {0.3991, 0.1720, 0.2636, 0.1653},
12906 {0.2505, 0.2247, 0.3813, 0.1435},
12907 {0.1703, 0.2487, 0.4092, 0.1718}},
12908 {
12909 {0.3606, 0.1850, 0.1317, 0.3226},
12910 {0.2823, 0.2550, 0.1585, 0.3042},
12911 {0.3869, 0.2386, 0.1664, 0.2081},
12912 {0.1727, 0.3215, 0.1583, 0.3476}},
12913 {
12914 {0.1728, 0.2810, 0.3414, 0.2047},
12915 {0.2473, 0.3482, 0.2314, 0.1731},
12916 {0.1512, 0.4666, 0.1421, 0.2401},
12917 {0.1239, 0.2707, 0.3725, 0.2330}},
12918 {
12919 {0.2777, 0.2253, 0.2893, 0.2077},
12920 {0.4213, 0.1830, 0.2431, 0.1526},
12921 {0.2390, 0.2893, 0.3406, 0.1311},
12922 {0.2355, 0.2402, 0.3570, 0.1673}},
12923 {
12924 {0.3561, 0.2202, 0.1729, 0.2507},
12925 {0.2936, 0.2038, 0.2001, 0.3025},
12926 {0.3282, 0.2883, 0.1803, 0.2033},
12927 {0.1918, 0.3242, 0.1513, 0.3327}},
12928 {
12929 {0.1746, 0.2447, 0.3336, 0.2471},
12930 {0.2219, 0.4254, 0.2011, 0.1516},
12931 {0.2062, 0.4693, 0.1299, 0.1946},
12932 {0.1172, 0.2338, 0.4065, 0.2426}},
12933 {
12934 {0.3243, 0.2588, 0.2199, 0.1970},
12935 {0.3584, 0.1834, 0.2745, 0.1837},
12936 {0.2225, 0.3361, 0.3131, 0.1282},
12937 {0.1479, 0.2973, 0.3421, 0.2127}},
12938 {
12939 {0.3972, 0.2140, 0.1784, 0.2104},
12940 {0.3331, 0.2086, 0.1816, 0.2767},
12941 {0.3486, 0.2188, 0.2068, 0.2257},
12942 {0.1741, 0.3733, 0.1468, 0.3059}},
12943 {
12944 {0.1696, 0.2779, 0.3786, 0.1739},
12945 {0.1998, 0.4245, 0.1973, 0.1784},
12946 {0.1725, 0.3927, 0.1693, 0.2656},
12947 {0.0900, 0.3150, 0.4523, 0.1427}},
12948 {
12949 {0.2137, 0.2202, 0.3513, 0.2148},
12950 {0.3908, 0.1856, 0.1891, 0.2345},
12951 {0.2619, 0.2237, 0.3810, 0.1333},
12952 {0.1651, 0.2796, 0.3752, 0.1802}},
12953 {
12954 {0.3969, 0.1970, 0.1622, 0.2440},
12955 {0.2552, 0.2363, 0.2001, 0.3084},
12956 {0.3218, 0.2541, 0.2070, 0.2171},
12957 {0.1166, 0.2464, 0.2109, 0.4260}},
12958 {
12959 {0.1569, 0.2365, 0.3695, 0.2371},
12960 {0.1637, 0.4075, 0.2386, 0.1902},
12961 {0.1668, 0.4994, 0.1256, 0.2082},
12962 {0.1080, 0.2830, 0.3430, 0.2660}},
12963 {
12964 {0.2800, 0.2483, 0.2776, 0.1941},
12965 {0.3719, 0.1779, 0.2557, 0.1945},
12966 {0.2199, 0.2771, 0.3455, 0.1575},
12967 {0.1689, 0.3095, 0.3410, 0.1806}},
12968 {
12969 {0.4161, 0.2206, 0.1578, 0.2055},
12970 {0.3448, 0.1925, 0.1631, 0.2997},
12971 {0.3571, 0.2375, 0.1993, 0.2062},
12972 {0.1293, 0.3381, 0.1581, 0.3746}},
12973 {
12974 {0.1390, 0.2563, 0.4136, 0.1910},
12975 {0.2089, 0.3692, 0.2356, 0.1863},
12976 {0.1520, 0.4436, 0.1603, 0.2441},
12977 {0.0951, 0.2923, 0.3582, 0.2544}},
12978 {
12979 {0.2876, 0.2215, 0.2821, 0.2088},
12980 {0.3127, 0.1886, 0.2818, 0.2170},
12981 {0.2255, 0.3412, 0.3055, 0.1279},
12982 {0.1604, 0.2954, 0.3724, 0.1718}},
12983 {
12984 {0.3501, 0.2215, 0.1599, 0.2685},
12985 {0.2999, 0.2482, 0.1856, 0.2663},
12986 {0.3450, 0.2724, 0.1965, 0.1861},
12987 {0.1532, 0.2734, 0.1580, 0.4154}},
12988 {
12989 {0.1332, 0.2995, 0.3524, 0.2150},
12990 {0.1934, 0.3708, 0.2673, 0.1685},
12991 {0.2036, 0.3878, 0.1572, 0.2514},
12992 {0.0955, 0.3266, 0.3918, 0.1862}},
12993 {
12994 {0.2635, 0.2505, 0.2811, 0.2049},
12995 {0.3235, 0.1962, 0.2744, 0.2060},
12996 {0.2404, 0.3037, 0.3284, 0.1275},
12997 {0.1637, 0.2668, 0.3717, 0.1978}},
12998 {
12999 {0.3675, 0.2251, 0.1280, 0.2794},
13000 {0.3278, 0.2280, 0.1613, 0.2829},
13001 {0.3454, 0.2272, 0.2241, 0.2033},
13002 {0.1969, 0.3751, 0.1407, 0.2873}},
13003 {
13004 {0.1659, 0.3038, 0.3458, 0.1846},
13005 {0.1869, 0.3812, 0.3035, 0.1283},
13006 {0.1713, 0.4689, 0.1330, 0.2268},
13007 {0.0949, 0.2549, 0.4126, 0.2376}},
13008 {
13009 {0.2677, 0.2846, 0.2429, 0.2047},
13010 {0.3429, 0.1866, 0.2621, 0.2084},
13011 {0.2633, 0.2727, 0.3496, 0.1143},
13012 {0.2180, 0.2477, 0.3733, 0.1610}},
13013 {
13014 {0.3694, 0.1849, 0.1360, 0.3097},
13015 {0.3338, 0.2201, 0.1776, 0.2686},
13016 {0.3334, 0.2276, 0.2282, 0.2109},
13017 {0.2460, 0.3064, 0.1771, 0.2704}},
13018 {
13019 {0.1729, 0.2788, 0.3348, 0.2134},
13020 {0.1599, 0.4114, 0.2370, 0.1917},
13021 {0.2043, 0.3794, 0.1772, 0.2391},
13022 {0.1190, 0.3570, 0.3327, 0.1913}},
13023 {
13024 {0.2554, 0.2428, 0.3024, 0.1994},
13025 {0.3350, 0.2170, 0.2798, 0.1682},
13026 {0.2168, 0.2605, 0.3842, 0.1384},
13027 {0.1540, 0.2995, 0.3879, 0.1586}},
13028 {
13029 {0.4396, 0.1934, 0.1273, 0.2397},
13030 {0.2983, 0.2133, 0.1990, 0.2894},
13031 {0.2935, 0.2446, 0.2600, 0.2020},
13032 {0.1744, 0.2887, 0.1875, 0.3494}},
13033 {
13034 {0.1815, 0.2796, 0.2990, 0.2398},
13035 {0.2024, 0.4046, 0.2206, 0.1724},
13036 {0.1821, 0.4085, 0.1813, 0.2282},
13037 {0.0890, 0.3346, 0.3814, 0.1950}},
13038 {
13039 {0.2388, 0.3162, 0.3076, 0.1374},
13040 {0.3322, 0.1962, 0.2676, 0.2040},
13041 {0.1859, 0.2873, 0.3699, 0.1569},
13042 {0.1508, 0.3182, 0.3748, 0.1562}},
13043 {
13044 {0.4257, 0.2567, 0.1324, 0.1853},
13045 {0.3258, 0.2046, 0.2301, 0.2395},
13046 {0.3858, 0.2054, 0.2004, 0.2085},
13047 {0.1413, 0.2861, 0.1440, 0.4285}},
13048 {
13049 {0.1658, 0.2760, 0.3526, 0.2056},
13050 {0.1759, 0.3679, 0.2490, 0.2072},
13051 {0.1314, 0.4822, 0.1722, 0.2142},
13052 {0.0700, 0.3393, 0.3889, 0.2017}},
13053 {
13054 {0.2621, 0.2693, 0.2814, 0.1872},
13055 {0.3411, 0.1632, 0.3181, 0.1776},
13056 {0.2310, 0.2735, 0.3395, 0.1560},
13057 {0.1898, 0.3049, 0.3653, 0.1400}},
13058 {
13059 {0.3787, 0.2220, 0.1356, 0.2637},
13060 {0.3150, 0.2226, 0.1731, 0.2893},
13061 {0.3756, 0.2533, 0.2052, 0.1658},
13062 {0.1365, 0.3345, 0.1811, 0.3479}},
13063 {
13064 {0.1414, 0.2552, 0.3780, 0.2254},
13065 {0.1635, 0.3823, 0.2613, 0.1930},
13066 {0.2193, 0.4044, 0.1527, 0.2236},
13067 {0.0972, 0.3552, 0.3619, 0.1857}},
13068 {
13069 {0.2969, 0.2571, 0.2394, 0.2067},
13070 {0.4167, 0.1592, 0.2495, 0.1746},
13071 {0.2059, 0.2847, 0.3761, 0.1333},
13072 {0.1718, 0.2712, 0.4059, 0.1511}},
13073 {
13074 {0.3743, 0.2123, 0.1627, 0.2507},
13075 {0.2734, 0.2569, 0.2308, 0.2390},
13076 {0.3663, 0.2158, 0.2312, 0.1867},
13077 {0.1894, 0.3296, 0.1689, 0.3121}},
13078 {
13079 {0.1472, 0.3144, 0.3315, 0.2069},
13080 {0.1663, 0.3871, 0.2530, 0.1937},
13081 {0.1794, 0.4787, 0.1527, 0.1892},
13082 {0.1017, 0.3329, 0.3768, 0.1887}},
13083 {
13084 {0.2955, 0.2569, 0.3037, 0.1439},
13085 {0.3408, 0.1811, 0.2671, 0.2110},
13086 {0.2259, 0.3498, 0.2952, 0.1291},
13087 {0.2089, 0.3188, 0.3501, 0.1222}},
13088 {
13089 {0.3705, 0.2033, 0.1295, 0.2967},
13090 {0.3493, 0.2425, 0.1519, 0.2563},
13091 {0.3737, 0.2425, 0.2048, 0.1790},
13092 {0.1820, 0.2402, 0.1805, 0.3973}},
13093 {
13094 {0.1541, 0.2431, 0.3837, 0.2190},
13095 {0.2064, 0.3639, 0.2657, 0.1640},
13096 {0.1484, 0.5586, 0.1475, 0.1454},
13097 {0.0734, 0.3232, 0.3876, 0.2158}},
13098 {
13099 {0.2679, 0.2789, 0.2901, 0.1631},
13100 {0.3433, 0.1802, 0.2977, 0.1788},
13101 {0.2359, 0.2667, 0.3914, 0.1061},
13102 {0.2257, 0.2634, 0.3843, 0.1265}},
13103 {
13104 {0.4117, 0.2195, 0.1432, 0.2257},
13105 {0.3483, 0.2405, 0.1770, 0.2341},
13106 {0.3735, 0.2386, 0.2017, 0.1861},
13107 {0.2320, 0.3046, 0.1526, 0.3108}},
13108 {
13109 {0.1642, 0.2361, 0.3756, 0.2241},
13110 {0.2048, 0.3391, 0.2772, 0.1789},
13111 {0.1532, 0.5182, 0.1457, 0.1829},
13112 {0.1153, 0.2914, 0.4195, 0.1738}},
13113 {
13114 {0.2859, 0.2610, 0.2774, 0.1757},
13115 {0.3064, 0.2073, 0.3046, 0.1818},
13116 {0.1977, 0.2559, 0.3906, 0.1557},
13117 {0.2045, 0.2477, 0.3488, 0.1990}},
13118 {
13119 {0.3766, 0.2113, 0.1315, 0.2806},
13120 {0.3125, 0.2739, 0.1770, 0.2366},
13121 {0.3723, 0.2657, 0.1863, 0.1756},
13122 {0.1694, 0.2894, 0.1154, 0.4258}},
13123 {
13124 {0.1559, 0.1861, 0.3497, 0.3083},
13125 {0.2076, 0.2961, 0.3052, 0.1910},
13126 {0.2159, 0.4233, 0.1001, 0.2607},
13127 {0.0786, 0.2158, 0.4368, 0.2688}},
13128 {
13129 {0.0000, 0.0000, 1.0000, 0.0000},
13130 {0.0000, 0.0000, 1.0000, 0.0000},
13131 {0.0000, 0.0000, 1.0000, 0.0000},
13132 {0.0000, 0.0000, 1.0000, 0.0000}},
13133 {
13134 {0.0000, 0.0000, 0.0000, 0.0000},
13135 {0.0000, 0.0000, 0.0000, 0.0000},
13136 {0.0000, 0.0000, 0.0000, 1.0000},
13137 {0.0000, 0.0000, 0.0000, 0.0000}},
13138 {
13139 {0.0000, 0.0000, 0.0000, 0.0000},
13140 {0.0000, 0.0000, 0.0000, 0.0000},
13141 {0.0000, 0.0000, 0.0000, 0.0000},
13142 {0.1179, 0.2605, 0.4415, 0.1800}},
13143 {
13144 {0.3559, 0.2112, 0.2557, 0.1771},
13145 {0.3538, 0.1830, 0.2445, 0.2186},
13146 {0.2367, 0.2937, 0.4531, 0.0165},
13147 {0.2736, 0.3009, 0.2857, 0.1398}},
13148 {
13149 {0.3954, 0.2079, 0.1357, 0.2610},
13150 {0.3080, 0.1959, 0.1614, 0.3347},
13151 {0.3744, 0.2472, 0.1753, 0.2031},
13152 {0.1570, 0.3421, 0.1311, 0.3698}},
13153 {
13154 {0.1413, 0.2950, 0.3546, 0.2091},
13155 {0.1584, 0.4663, 0.1794, 0.1958},
13156 {0.1531, 0.5111, 0.1265, 0.2093},
13157 {0.0886, 0.3569, 0.3851, 0.1694}},
13158 {
13159 {0.2029, 0.1967, 0.4518, 0.1486},
13160 {0.3271, 0.1767, 0.3235, 0.1727},
13161 {0.2159, 0.2736, 0.3878, 0.1226},
13162 {0.1646, 0.2399, 0.4239, 0.1717}},
13163 {
13164 {0.3507, 0.2389, 0.1694, 0.2410},
13165 {0.3039, 0.2390, 0.1930, 0.2641},
13166 {0.3179, 0.2655, 0.2054, 0.2111},
13167 {0.1592, 0.3384, 0.1892, 0.3132}},
13168 {
13169 {0.1610, 0.2651, 0.3544, 0.2194},
13170 {0.1671, 0.4370, 0.2273, 0.1686},
13171 {0.1733, 0.4509, 0.1750, 0.2008},
13172 {0.1202, 0.3053, 0.3499, 0.2246}},
13173 {
13174 {0.2929, 0.2521, 0.2728, 0.1822},
13175 {0.3429, 0.1994, 0.2499, 0.2077},
13176 {0.2171, 0.3236, 0.3126, 0.1466},
13177 {0.2031, 0.2860, 0.3778, 0.1330}},
13178 {
13179 {0.3497, 0.2383, 0.1566, 0.2555},
13180 {0.2699, 0.1760, 0.2249, 0.3293},
13181 {0.3141, 0.2581, 0.2374, 0.1904},
13182 {0.2377, 0.2663, 0.1790, 0.3170}},
13183 {
13184 {0.1412, 0.3230, 0.3312, 0.2046},
13185 {0.2038, 0.3753, 0.2459, 0.1750},
13186 {0.1801, 0.3932, 0.1800, 0.2468},
13187 {0.1236, 0.2562, 0.4274, 0.1927}},
13188 {
13189 {0.3175, 0.1833, 0.2488, 0.2504},
13190 {0.3434, 0.1409, 0.3249, 0.1908},
13191 {0.2762, 0.2535, 0.3248, 0.1456},
13192 {0.1867, 0.2603, 0.4391, 0.1139}},
13193 {
13194 {0.3719, 0.2230, 0.1890, 0.2161},
13195 {0.3055, 0.1725, 0.1870, 0.3350},
13196 {0.3083, 0.2350, 0.2191, 0.2375},
13197 {0.1557, 0.3658, 0.1703, 0.3082}},
13198 {
13199 {0.1469, 0.2690, 0.3425, 0.2415},
13200 {0.2033, 0.3942, 0.1950, 0.2076},
13201 {0.1676, 0.4677, 0.1642, 0.2004},
13202 {0.1124, 0.2708, 0.4396, 0.1771}},
13203 {
13204 {0.2464, 0.2728, 0.3060, 0.1749},
13205 {0.3466, 0.1613, 0.2931, 0.1990},
13206 {0.2213, 0.2936, 0.3534, 0.1317},
13207 {0.2131, 0.2431, 0.4368, 0.1070}},
13208 {
13209 {0.4135, 0.2270, 0.1610, 0.1985},
13210 {0.2662, 0.2673, 0.1774, 0.2891},
13211 {0.3512, 0.2877, 0.1828, 0.1783},
13212 {0.1420, 0.3586, 0.1858, 0.3137}},
13213 {
13214 {0.1184, 0.2774, 0.3967, 0.2074},
13215 {0.1838, 0.3987, 0.2559, 0.1616},
13216 {0.1728, 0.4600, 0.1631, 0.2041},
13217 {0.1087, 0.2900, 0.4256, 0.1756}},
13218 {
13219 {0.2351, 0.2358, 0.3514, 0.1777},
13220 {0.3670, 0.1632, 0.2751, 0.1947},
13221 {0.1970, 0.3332, 0.3346, 0.1351},
13222 {0.1828, 0.2756, 0.3947, 0.1470}},
13223 {
13224 {0.3950, 0.2178, 0.1953, 0.1918},
13225 {0.3085, 0.2446, 0.1420, 0.3049},
13226 {0.3645, 0.2183, 0.1887, 0.2285},
13227 {0.1883, 0.2803, 0.1436, 0.3878}},
13228 {
13229 {0.1484, 0.2381, 0.3969, 0.2166},
13230 {0.1792, 0.4022, 0.2600, 0.1586},
13231 {0.1754, 0.4558, 0.1482, 0.2207},
13232 {0.0980, 0.3114, 0.3848, 0.2059}},
13233 {
13234 {0.3124, 0.2687, 0.2865, 0.1324},
13235 {0.3427, 0.1967, 0.2486, 0.2119},
13236 {0.2446, 0.2662, 0.3655, 0.1237},
13237 {0.1537, 0.3112, 0.3898, 0.1452}},
13238 {
13239 {0.3618, 0.2381, 0.1730, 0.2271},
13240 {0.2914, 0.2889, 0.1372, 0.2825},
13241 {0.3625, 0.2301, 0.1983, 0.2092},
13242 {0.1603, 0.2686, 0.1814, 0.3897}},
13243 {
13244 {0.1537, 0.2236, 0.3754, 0.2473},
13245 {0.1998, 0.4061, 0.2535, 0.1406},
13246 {0.2148, 0.4414, 0.1392, 0.2046},
13247 {0.1324, 0.2643, 0.4386, 0.1647}},
13248 {
13249 {0.2582, 0.2424, 0.3111, 0.1883},
13250 {0.3799, 0.1797, 0.2535, 0.1869},
13251 {0.1437, 0.2770, 0.3839, 0.1954},
13252 {0.1805, 0.2587, 0.3857, 0.1751}},
13253 {
13254 {0.3938, 0.1764, 0.1625, 0.2673},
13255 {0.3075, 0.2456, 0.1474, 0.2995},
13256 {0.3406, 0.2390, 0.2237, 0.1967},
13257 {0.1632, 0.3056, 0.1723, 0.3590}},
13258 {
13259 {0.1426, 0.2546, 0.3437, 0.2591},
13260 {0.1913, 0.3818, 0.2720, 0.1548},
13261 {0.1592, 0.4682, 0.1804, 0.1922},
13262 {0.1167, 0.2822, 0.4387, 0.1624}},
13263 {
13264 {0.2664, 0.2612, 0.3217, 0.1506},
13265 {0.3541, 0.1790, 0.2606, 0.2062},
13266 {0.2223, 0.2731, 0.3597, 0.1449},
13267 {0.1743, 0.3030, 0.3818, 0.1409}},
13268 {
13269 {0.3967, 0.1618, 0.1681, 0.2735},
13270 {0.2819, 0.2400, 0.1886, 0.2895},
13271 {0.3461, 0.2168, 0.2561, 0.1811},
13272 {0.2150, 0.3898, 0.1165, 0.2786}},
13273 {
13274 {0.1481, 0.3326, 0.3449, 0.1745},
13275 {0.1527, 0.4360, 0.2533, 0.1579},
13276 {0.1524, 0.4184, 0.1822, 0.2470},
13277 {0.1316, 0.3329, 0.3236, 0.2119}},
13278 {
13279 {0.3546, 0.2360, 0.2673, 0.1421},
13280 {0.3922, 0.1981, 0.2382, 0.1715},
13281 {0.2630, 0.2884, 0.3370, 0.1116},
13282 {0.1674, 0.2640, 0.4086, 0.1601}},
13283 {
13284 {0.3456, 0.2083, 0.1472, 0.2988},
13285 {0.3545, 0.2296, 0.1778, 0.2381},
13286 {0.3598, 0.2288, 0.2256, 0.1858},
13287 {0.1775, 0.2938, 0.1546, 0.3740}},
13288 {
13289 {0.1746, 0.2609, 0.4219, 0.1427},
13290 {0.1947, 0.4188, 0.2535, 0.1330},
13291 {0.1628, 0.3843, 0.1966, 0.2564},
13292 {0.1438, 0.2526, 0.3970, 0.2066}},
13293 {
13294 {0.2955, 0.1861, 0.2667, 0.2517},
13295 {0.3998, 0.1524, 0.2478, 0.2000},
13296 {0.2665, 0.2964, 0.3320, 0.1050},
13297 {0.1357, 0.2978, 0.3900, 0.1765}},
13298 {
13299 {0.3955, 0.1935, 0.1475, 0.2635},
13300 {0.2767, 0.2371, 0.1603, 0.3259},
13301 {0.3165, 0.2538, 0.2281, 0.2016},
13302 {0.1388, 0.3854, 0.1797, 0.2960}},
13303 {
13304 {0.1555, 0.2843, 0.3614, 0.1987},
13305 {0.2095, 0.3790, 0.2232, 0.1883},
13306 {0.1597, 0.4004, 0.1763, 0.2637},
13307 {0.0830, 0.2625, 0.4159, 0.2386}},
13308 {
13309 {0.2933, 0.2397, 0.2760, 0.1910},
13310 {0.3415, 0.1985, 0.2694, 0.1906},
13311 {0.2660, 0.2697, 0.3373, 0.1270},
13312 {0.1995, 0.2126, 0.3788, 0.2091}},
13313 {
13314 {0.4111, 0.2110, 0.1504, 0.2275},
13315 {0.3375, 0.2626, 0.1360, 0.2640},
13316 {0.3661, 0.2419, 0.2083, 0.1837},
13317 {0.1800, 0.3170, 0.1564, 0.3466}},
13318 {
13319 {0.1465, 0.2742, 0.4033, 0.1761},
13320 {0.1629, 0.4122, 0.2282, 0.1967},
13321 {0.1620, 0.4525, 0.1747, 0.2108},
13322 {0.1072, 0.2992, 0.4287, 0.1650}},
13323 {
13324 {0.2921, 0.2746, 0.1902, 0.2431},
13325 {0.3614, 0.1835, 0.2767, 0.1784},
13326 {0.2271, 0.2201, 0.3874, 0.1654},
13327 {0.2141, 0.2524, 0.4131, 0.1204}},
13328 {
13329 {0.3938, 0.2535, 0.1255, 0.2273},
13330 {0.3043, 0.2318, 0.1846, 0.2793},
13331 {0.3881, 0.2259, 0.1841, 0.2020},
13332 {0.1985, 0.3024, 0.1392, 0.3600}},
13333 {
13334 {0.1754, 0.2640, 0.3089, 0.2518},
13335 {0.1672, 0.4042, 0.2547, 0.1740},
13336 {0.1903, 0.3863, 0.1753, 0.2481},
13337 {0.1299, 0.2420, 0.4151, 0.2130}},
13338 {
13339 {0.2701, 0.3142, 0.2162, 0.1995},
13340 {0.3884, 0.1636, 0.2653, 0.1827},
13341 {0.2367, 0.3022, 0.3666, 0.0945},
13342 {0.1660, 0.2606, 0.4106, 0.1629}},
13343 {
13344 {0.3595, 0.2303, 0.1502, 0.2600},
13345 {0.3272, 0.2078, 0.1829, 0.2821},
13346 {0.3704, 0.2192, 0.2080, 0.2024},
13347 {0.1524, 0.2937, 0.2024, 0.3515}},
13348 {
13349 {0.1321, 0.2800, 0.4023, 0.1855},
13350 {0.1979, 0.4279, 0.2294, 0.1447},
13351 {0.1832, 0.4902, 0.1297, 0.1969},
13352 {0.1070, 0.3274, 0.3870, 0.1786}},
13353 {
13354 {0.2654, 0.2414, 0.2961, 0.1972},
13355 {0.3567, 0.1647, 0.2961, 0.1825},
13356 {0.2383, 0.2950, 0.3496, 0.1171},
13357 {0.1558, 0.2447, 0.4503, 0.1491}},
13358 {
13359 {0.4298, 0.1678, 0.1580, 0.2445},
13360 {0.2022, 0.2491, 0.1809, 0.3678},
13361 {0.3690, 0.2181, 0.2051, 0.2078},
13362 {0.2056, 0.2795, 0.1668, 0.3481}},
13363 {
13364 {0.1757, 0.2525, 0.3370, 0.2348},
13365 {0.1894, 0.3850, 0.2876, 0.1380},
13366 {0.1997, 0.4604, 0.1516, 0.1883},
13367 {0.1237, 0.3087, 0.3688, 0.1988}},
13368 {
13369 {0.2529, 0.2292, 0.3423, 0.1756},
13370 {0.3620, 0.1939, 0.2744, 0.1696},
13371 {0.2603, 0.2613, 0.3364, 0.1420},
13372 {0.1904, 0.2401, 0.4029, 0.1665}},
13373 {
13374 {0.3757, 0.1678, 0.1561, 0.3004},
13375 {0.2910, 0.2324, 0.1530, 0.3236},
13376 {0.3650, 0.2207, 0.2067, 0.2076},
13377 {0.1773, 0.2895, 0.1409, 0.3923}},
13378 {
13379 {0.1755, 0.2421, 0.3558, 0.2266},
13380 {0.2270, 0.3636, 0.2002, 0.2092},
13381 {0.1178, 0.4858, 0.1915, 0.2049},
13382 {0.1141, 0.3012, 0.3622, 0.2224}},
13383 {
13384 {0.3110, 0.2034, 0.3217, 0.1638},
13385 {0.3815, 0.1688, 0.2825, 0.1671},
13386 {0.2959, 0.2373, 0.3314, 0.1353},
13387 {0.1766, 0.2471, 0.3827, 0.1936}}
13388 },
13389 { /* Splice_Site: F2_GT; Species: Droso */
13390 {
13391 {0.1785, 0.1785, 0.1785, 0.1785},
13392 {0.3556, 0.3556, 0.3556, 0.3556},
13393 {0.2859, 0.2859, 0.2859, 0.2859},
13394 {0.1800, 0.1800, 0.1800, 0.1800}},
13395 {
13396 {0.2793, 0.2753, 0.2801, 0.1653},
13397 {0.3167, 0.1935, 0.2918, 0.1981},
13398 {0.2559, 0.2989, 0.3070, 0.1382},
13399 {0.1714, 0.2996, 0.3018, 0.2272}},
13400 {
13401 {0.4411, 0.1803, 0.1176, 0.2611},
13402 {0.2676, 0.2147, 0.2104, 0.3074},
13403 {0.3467, 0.2477, 0.2229, 0.1827},
13404 {0.1294, 0.2743, 0.2494, 0.3469}},
13405 {
13406 {0.2100, 0.1936, 0.3306, 0.2658},
13407 {0.2260, 0.3533, 0.2100, 0.2107},
13408 {0.1390, 0.3796, 0.2303, 0.2511},
13409 {0.1079, 0.2291, 0.4365, 0.2266}},
13410 {
13411 {0.2973, 0.2746, 0.2490, 0.1791},
13412 {0.3944, 0.1179, 0.2864, 0.2014},
13413 {0.2398, 0.2944, 0.3464, 0.1194},
13414 {0.2227, 0.2967, 0.2924, 0.1882}},
13415 {
13416 {0.3160, 0.2458, 0.1750, 0.2632},
13417 {0.3093, 0.2843, 0.1866, 0.2198},
13418 {0.3487, 0.2452, 0.2230, 0.1831},
13419 {0.1836, 0.2768, 0.2076, 0.3320}},
13420 {
13421 {0.2112, 0.2122, 0.3154, 0.2612},
13422 {0.1951, 0.3969, 0.1914, 0.2165},
13423 {0.1837, 0.3744, 0.1802, 0.2616},
13424 {0.1221, 0.3055, 0.3520, 0.2204}},
13425 {
13426 {0.3074, 0.2812, 0.2693, 0.1421},
13427 {0.3538, 0.1849, 0.2764, 0.1849},
13428 {0.2264, 0.2643, 0.3729, 0.1363},
13429 {0.2163, 0.2684, 0.3343, 0.1810}},
13430 {
13431 {0.3461, 0.1828, 0.1935, 0.2777},
13432 {0.3298, 0.2635, 0.1683, 0.2384},
13433 {0.3358, 0.2599, 0.2507, 0.1535},
13434 {0.1196, 0.3540, 0.2082, 0.3183}},
13435 {
13436 {0.1874, 0.2878, 0.2944, 0.2304},
13437 {0.2055, 0.3905, 0.2151, 0.1889},
13438 {0.1529, 0.5003, 0.1371, 0.2097},
13439 {0.1360, 0.2415, 0.4207, 0.2018}},
13440 {
13441 {0.2575, 0.2283, 0.3140, 0.2001},
13442 {0.3409, 0.1663, 0.2701, 0.2227},
13443 {0.2440, 0.3100, 0.3137, 0.1324},
13444 {0.1884, 0.2816, 0.3474, 0.1827}},
13445 {
13446 {0.3541, 0.1996, 0.1721, 0.2742},
13447 {0.3266, 0.2158, 0.2325, 0.2252},
13448 {0.2798, 0.3141, 0.2210, 0.1851},
13449 {0.1764, 0.3686, 0.1252, 0.3298}},
13450 {
13451 {0.2378, 0.2651, 0.3089, 0.1882},
13452 {0.2261, 0.3669, 0.1920, 0.2150},
13453 {0.1886, 0.4110, 0.1100, 0.2904},
13454 {0.1220, 0.2799, 0.3825, 0.2157}},
13455 {
13456 {0.2225, 0.2520, 0.3193, 0.2063},
13457 {0.3726, 0.1582, 0.2566, 0.2125},
13458 {0.2257, 0.3164, 0.3480, 0.1099},
13459 {0.2277, 0.2548, 0.3276, 0.1898}},
13460 {
13461 {0.4246, 0.1226, 0.1708, 0.2820},
13462 {0.3632, 0.2083, 0.2243, 0.2042},
13463 {0.3506, 0.2750, 0.2174, 0.1569},
13464 {0.1423, 0.3716, 0.2089, 0.2773}},
13465 {
13466 {0.1760, 0.2319, 0.3546, 0.2375},
13467 {0.2220, 0.3638, 0.2713, 0.1429},
13468 {0.1772, 0.3507, 0.2123, 0.2598},
13469 {0.1012, 0.2894, 0.3180, 0.2914}},
13470 {
13471 {0.2694, 0.2652, 0.2767, 0.1886},
13472 {0.3971, 0.1471, 0.2614, 0.1944},
13473 {0.2161, 0.2851, 0.3772, 0.1216},
13474 {0.2096, 0.2927, 0.3636, 0.1341}},
13475 {
13476 {0.3627, 0.2268, 0.1613, 0.2492},
13477 {0.2956, 0.2152, 0.1742, 0.3151},
13478 {0.3551, 0.2470, 0.2461, 0.1517},
13479 {0.2282, 0.2010, 0.1943, 0.3766}},
13480 {
13481 {0.1736, 0.2434, 0.3121, 0.2709},
13482 {0.2966, 0.3303, 0.2310, 0.1422},
13483 {0.2251, 0.4066, 0.1250, 0.2434},
13484 {0.1236, 0.2661, 0.3678, 0.2426}},
13485 {
13486 {0.3697, 0.2314, 0.2708, 0.1280},
13487 {0.3755, 0.1928, 0.2519, 0.1797},
13488 {0.2348, 0.2515, 0.3124, 0.2013},
13489 {0.1936, 0.2493, 0.3682, 0.1889}},
13490 {
13491 {0.3552, 0.2124, 0.1989, 0.2336},
13492 {0.2837, 0.2622, 0.2046, 0.2495},
13493 {0.3260, 0.2876, 0.2247, 0.1617},
13494 {0.1557, 0.4035, 0.1407, 0.3001}},
13495 {
13496 {0.1451, 0.2672, 0.3455, 0.2423},
13497 {0.1536, 0.3530, 0.2542, 0.2392},
13498 {0.1910, 0.4353, 0.2001, 0.1736},
13499 {0.1090, 0.3214, 0.4007, 0.1688}},
13500 {
13501 {0.2876, 0.2974, 0.2729, 0.1420},
13502 {0.3475, 0.2231, 0.2293, 0.2001},
13503 {0.2015, 0.2744, 0.3214, 0.2027},
13504 {0.1851, 0.2972, 0.3299, 0.1877}},
13505 {
13506 {0.3504, 0.2429, 0.1797, 0.2270},
13507 {0.2387, 0.2374, 0.1772, 0.3467},
13508 {0.3596, 0.2600, 0.2067, 0.1737},
13509 {0.1936, 0.3676, 0.1639, 0.2750}},
13510 {
13511 {0.1638, 0.3615, 0.2864, 0.1883},
13512 {0.1485, 0.3861, 0.2692, 0.1962},
13513 {0.1377, 0.3991, 0.1741, 0.2892},
13514 {0.1196, 0.2672, 0.3970, 0.2162}},
13515 {
13516 {0.3461, 0.1958, 0.2312, 0.2269},
13517 {0.3495, 0.1847, 0.2390, 0.2268},
13518 {0.2457, 0.2754, 0.3292, 0.1496},
13519 {0.2267, 0.2376, 0.3321, 0.2036}},
13520 {
13521 {0.3563, 0.2254, 0.1575, 0.2608},
13522 {0.2836, 0.2531, 0.2407, 0.2226},
13523 {0.2826, 0.2825, 0.2286, 0.2064},
13524 {0.1599, 0.2784, 0.1647, 0.3970}},
13525 {
13526 {0.1744, 0.3087, 0.3001, 0.2168},
13527 {0.2848, 0.3255, 0.2199, 0.1698},
13528 {0.2017, 0.4024, 0.1649, 0.2310},
13529 {0.1300, 0.3031, 0.3544, 0.2124}},
13530 {
13531 {0.2057, 0.2619, 0.3112, 0.2213},
13532 {0.4070, 0.1219, 0.2614, 0.2098},
13533 {0.2734, 0.3070, 0.2962, 0.1234},
13534 {0.1650, 0.2117, 0.4643, 0.1590}},
13535 {
13536 {0.3837, 0.1958, 0.1640, 0.2565},
13537 {0.3319, 0.2592, 0.1519, 0.2570},
13538 {0.3213, 0.2863, 0.1816, 0.2108},
13539 {0.1493, 0.3288, 0.2070, 0.3149}},
13540 {
13541 {0.1497, 0.2361, 0.3296, 0.2847},
13542 {0.1725, 0.3743, 0.2775, 0.1758},
13543 {0.1443, 0.3984, 0.1820, 0.2753},
13544 {0.1511, 0.2110, 0.3807, 0.2571}},
13545 {
13546 {0.2624, 0.3130, 0.2354, 0.1891},
13547 {0.3613, 0.2068, 0.2619, 0.1699},
13548 {0.2419, 0.2586, 0.3549, 0.1446},
13549 {0.2220, 0.2520, 0.3678, 0.1581}},
13550 {
13551 {0.3389, 0.2631, 0.1971, 0.2009},
13552 {0.2942, 0.2175, 0.2592, 0.2291},
13553 {0.3223, 0.2303, 0.2847, 0.1627},
13554 {0.1301, 0.3084, 0.2010, 0.3605}},
13555 {
13556 {0.1504, 0.2154, 0.3912, 0.2431},
13557 {0.1924, 0.3779, 0.1995, 0.2303},
13558 {0.1441, 0.4520, 0.1663, 0.2376},
13559 {0.0851, 0.3066, 0.3476, 0.2608}},
13560 {
13561 {0.2622, 0.2531, 0.3103, 0.1744},
13562 {0.3095, 0.1735, 0.3345, 0.1825},
13563 {0.2581, 0.2947, 0.3562, 0.0911},
13564 {0.1275, 0.2278, 0.4739, 0.1708}},
13565 {
13566 {0.3795, 0.1858, 0.1924, 0.2423},
13567 {0.2319, 0.2678, 0.2542, 0.2461},
13568 {0.3392, 0.2166, 0.2385, 0.2058},
13569 {0.1247, 0.3316, 0.2141, 0.3295}},
13570 {
13571 {0.1646, 0.2568, 0.3133, 0.2654},
13572 {0.1796, 0.3685, 0.2384, 0.2135},
13573 {0.2053, 0.5130, 0.1154, 0.1663},
13574 {0.1120, 0.2889, 0.3852, 0.2139}},
13575 {
13576 {0.3200, 0.2308, 0.2878, 0.1615},
13577 {0.2938, 0.2196, 0.3158, 0.1709},
13578 {0.2216, 0.3214, 0.3403, 0.1168},
13579 {0.1278, 0.2609, 0.3949, 0.2164}},
13580 {
13581 {0.3498, 0.1671, 0.2017, 0.2813},
13582 {0.3050, 0.2111, 0.2053, 0.2786},
13583 {0.3659, 0.2163, 0.2472, 0.1707},
13584 {0.1825, 0.2575, 0.1833, 0.3768}},
13585 {
13586 {0.1972, 0.2524, 0.3788, 0.1716},
13587 {0.2361, 0.3740, 0.2050, 0.1849},
13588 {0.1313, 0.4385, 0.1410, 0.2893},
13589 {0.1111, 0.2908, 0.3838, 0.2142}},
13590 {
13591 {0.3314, 0.1850, 0.2794, 0.2041},
13592 {0.3392, 0.1542, 0.2905, 0.2161},
13593 {0.2037, 0.2643, 0.3831, 0.1488},
13594 {0.1559, 0.2633, 0.4051, 0.1757}},
13595 {
13596 {0.3584, 0.2636, 0.1272, 0.2508},
13597 {0.3056, 0.2624, 0.2214, 0.2106},
13598 {0.3717, 0.2083, 0.2725, 0.1476},
13599 {0.1129, 0.3349, 0.2036, 0.3486}},
13600 {
13601 {0.1288, 0.1817, 0.4484, 0.2411},
13602 {0.2198, 0.3411, 0.3024, 0.1367},
13603 {0.1935, 0.4154, 0.1956, 0.1955},
13604 {0.1361, 0.2568, 0.3719, 0.2352}},
13605 {
13606 {0.2918, 0.2556, 0.3286, 0.1241},
13607 {0.3333, 0.1859, 0.3091, 0.1717},
13608 {0.2448, 0.3092, 0.3401, 0.1059},
13609 {0.1505, 0.2421, 0.4538, 0.1536}},
13610 {
13611 {0.3548, 0.2257, 0.1967, 0.2228},
13612 {0.3063, 0.2167, 0.2561, 0.2209},
13613 {0.3218, 0.2712, 0.2375, 0.1695},
13614 {0.1374, 0.3229, 0.2100, 0.3298}},
13615 {
13616 {0.2021, 0.2611, 0.3811, 0.1557},
13617 {0.2189, 0.3169, 0.2626, 0.2015},
13618 {0.1787, 0.4493, 0.1725, 0.1996},
13619 {0.0864, 0.2956, 0.4492, 0.1687}},
13620 {
13621 {0.2247, 0.2558, 0.3147, 0.2048},
13622 {0.3652, 0.1919, 0.2930, 0.1498},
13623 {0.2358, 0.3175, 0.3249, 0.1218},
13624 {0.1861, 0.2564, 0.3220, 0.2354}},
13625 {
13626 {0.3991, 0.1901, 0.1783, 0.2325},
13627 {0.2454, 0.2742, 0.2369, 0.2435},
13628 {0.2793, 0.2282, 0.2387, 0.2538},
13629 {0.1892, 0.3018, 0.1787, 0.3302}},
13630 {
13631 {0.1984, 0.2893, 0.2954, 0.2169},
13632 {0.2285, 0.3697, 0.1891, 0.2127},
13633 {0.1922, 0.4204, 0.1525, 0.2350},
13634 {0.1119, 0.3319, 0.3636, 0.1926}},
13635 {
13636 {0.3478, 0.2829, 0.2666, 0.1027},
13637 {0.3168, 0.1737, 0.3053, 0.2042},
13638 {0.1972, 0.3242, 0.4023, 0.0763},
13639 {0.1950, 0.2375, 0.4315, 0.1360}},
13640 {
13641 {0.0000, 0.0000, 1.0000, 0.0000},
13642 {0.0000, 0.0000, 1.0000, 0.0000},
13643 {0.0000, 0.0000, 1.0000, 0.0000},
13644 {0.0000, 0.0000, 1.0000, 0.0000}},
13645 {
13646 {0.0000, 0.0000, 0.0000, 0.0000},
13647 {0.0000, 0.0000, 0.0000, 0.0000},
13648 {0.0000, 0.0000, 0.0000, 1.0000},
13649 {0.0000, 0.0000, 0.0000, 0.0000}},
13650 {
13651 {0.0000, 0.0000, 0.0000, 0.0000},
13652 {0.0000, 0.0000, 0.0000, 0.0000},
13653 {0.0000, 0.0000, 0.0000, 0.0000},
13654 {0.1711, 0.2838, 0.3773, 0.1679}},
13655 {
13656 {0.3673, 0.2525, 0.1279, 0.2523},
13657 {0.2593, 0.2464, 0.2188, 0.2755},
13658 {0.2797, 0.2324, 0.2711, 0.2168},
13659 {0.1008, 0.3110, 0.2478, 0.3404}},
13660 {
13661 {0.2112, 0.2267, 0.3484, 0.2137},
13662 {0.2149, 0.3276, 0.2189, 0.2386},
13663 {0.1418, 0.4793, 0.1745, 0.2045},
13664 {0.1047, 0.3215, 0.3626, 0.2112}},
13665 {
13666 {0.2293, 0.2329, 0.2949, 0.2430},
13667 {0.2928, 0.1989, 0.3007, 0.2077},
13668 {0.2593, 0.2890, 0.3658, 0.0859},
13669 {0.1174, 0.3187, 0.4492, 0.1148}},
13670 {
13671 {0.3973, 0.1757, 0.1993, 0.2277},
13672 {0.2578, 0.2882, 0.1517, 0.3023},
13673 {0.3839, 0.2001, 0.2518, 0.1642},
13674 {0.1484, 0.3750, 0.1905, 0.2860}},
13675 {
13676 {0.1424, 0.2146, 0.3880, 0.2550},
13677 {0.1914, 0.3574, 0.2167, 0.2345},
13678 {0.2005, 0.3753, 0.1796, 0.2447},
13679 {0.1146, 0.2384, 0.4376, 0.2094}},
13680 {
13681 {0.2578, 0.2189, 0.2934, 0.2300},
13682 {0.3511, 0.1919, 0.2639, 0.1931},
13683 {0.2441, 0.2375, 0.3864, 0.1320},
13684 {0.2001, 0.2425, 0.4195, 0.1379}},
13685 {
13686 {0.3445, 0.2087, 0.2122, 0.2346},
13687 {0.3072, 0.1926, 0.2009, 0.2993},
13688 {0.3593, 0.1922, 0.2586, 0.1899},
13689 {0.1956, 0.2755, 0.2586, 0.2703}},
13690 {
13691 {0.1718, 0.2711, 0.2738, 0.2832},
13692 {0.1834, 0.3848, 0.2545, 0.1773},
13693 {0.2004, 0.4153, 0.1765, 0.2078},
13694 {0.0944, 0.2614, 0.3713, 0.2730}},
13695 {
13696 {0.3407, 0.1880, 0.2498, 0.2216},
13697 {0.3378, 0.1210, 0.3027, 0.2386},
13698 {0.2807, 0.2581, 0.2967, 0.1645},
13699 {0.1804, 0.2715, 0.4041, 0.1440}},
13700 {
13701 {0.3524, 0.2326, 0.1687, 0.2463},
13702 {0.3115, 0.1824, 0.2130, 0.2931},
13703 {0.3517, 0.2407, 0.2432, 0.1644},
13704 {0.1870, 0.2887, 0.1817, 0.3426}},
13705 {
13706 {0.1619, 0.2775, 0.3387, 0.2220},
13707 {0.1898, 0.3856, 0.2104, 0.2142},
13708 {0.1312, 0.3494, 0.1978, 0.3216},
13709 {0.1501, 0.2294, 0.3586, 0.2620}},
13710 {
13711 {0.2842, 0.2089, 0.3089, 0.1980},
13712 {0.3345, 0.1399, 0.3395, 0.1861},
13713 {0.2959, 0.2754, 0.2849, 0.1439},
13714 {0.1319, 0.2277, 0.4423, 0.1980}},
13715 {
13716 {0.3052, 0.1965, 0.2446, 0.2537},
13717 {0.2795, 0.2274, 0.2342, 0.2589},
13718 {0.3432, 0.2469, 0.2517, 0.1582},
13719 {0.1640, 0.4125, 0.1730, 0.2505}},
13720 {
13721 {0.1790, 0.2561, 0.3354, 0.2294},
13722 {0.1879, 0.4649, 0.1936, 0.1536},
13723 {0.1952, 0.4238, 0.1498, 0.2311},
13724 {0.1265, 0.2770, 0.3888, 0.2076}},
13725 {
13726 {0.2552, 0.1718, 0.3361, 0.2369},
13727 {0.3734, 0.2161, 0.2474, 0.1631},
13728 {0.2009, 0.2613, 0.3841, 0.1537},
13729 {0.1886, 0.2730, 0.3711, 0.1673}},
13730 {
13731 {0.3008, 0.2278, 0.2051, 0.2663},
13732 {0.2851, 0.2218, 0.2358, 0.2573},
13733 {0.3338, 0.1951, 0.2903, 0.1807},
13734 {0.1423, 0.2705, 0.2042, 0.3830}},
13735 {
13736 {0.1737, 0.1925, 0.4031, 0.2308},
13737 {0.1893, 0.3941, 0.2603, 0.1563},
13738 {0.1520, 0.4694, 0.1740, 0.2045},
13739 {0.1298, 0.3291, 0.3964, 0.1446}},
13740 {
13741 {0.3180, 0.2331, 0.2446, 0.2043},
13742 {0.3460, 0.1861, 0.3070, 0.1608},
13743 {0.2776, 0.2403, 0.3595, 0.1225},
13744 {0.1946, 0.2592, 0.3440, 0.2022}},
13745 {
13746 {0.3872, 0.1831, 0.2070, 0.2227},
13747 {0.3718, 0.1581, 0.1737, 0.2965},
13748 {0.3652, 0.2591, 0.2351, 0.1407},
13749 {0.1283, 0.3942, 0.1705, 0.3070}},
13750 {
13751 {0.1956, 0.2645, 0.2910, 0.2488},
13752 {0.1948, 0.4470, 0.2114, 0.1468},
13753 {0.0879, 0.4640, 0.2224, 0.2257},
13754 {0.1184, 0.2277, 0.4119, 0.2420}},
13755 {
13756 {0.3286, 0.2136, 0.2457, 0.2121},
13757 {0.3870, 0.1795, 0.2539, 0.1796},
13758 {0.2634, 0.2701, 0.3554, 0.1110},
13759 {0.1512, 0.2743, 0.4403, 0.1342}},
13760 {
13761 {0.3706, 0.2080, 0.1470, 0.2744},
13762 {0.2759, 0.1982, 0.2227, 0.3033},
13763 {0.3360, 0.2469, 0.2038, 0.2133},
13764 {0.1484, 0.1941, 0.2642, 0.3932}},
13765 {
13766 {0.1548, 0.2757, 0.3285, 0.2410},
13767 {0.2436, 0.4140, 0.1820, 0.1603},
13768 {0.1651, 0.4508, 0.1815, 0.2026},
13769 {0.1363, 0.2598, 0.4091, 0.1948}},
13770 {
13771 {0.2867, 0.2314, 0.2267, 0.2552},
13772 {0.3400, 0.1788, 0.2988, 0.1824},
13773 {0.2933, 0.1884, 0.4097, 0.1086},
13774 {0.2166, 0.2264, 0.3787, 0.1783}},
13775 {
13776 {0.3238, 0.1909, 0.2011, 0.2843},
13777 {0.3119, 0.2621, 0.1348, 0.2912},
13778 {0.3351, 0.2361, 0.2574, 0.1714},
13779 {0.1359, 0.3823, 0.1806, 0.3012}},
13780 {
13781 {0.1503, 0.2288, 0.3867, 0.2342},
13782 {0.2238, 0.4428, 0.1512, 0.1822},
13783 {0.2136, 0.4158, 0.1774, 0.1933},
13784 {0.1043, 0.2891, 0.3578, 0.2488}},
13785 {
13786 {0.2141, 0.3119, 0.2660, 0.2079},
13787 {0.3352, 0.1988, 0.2400, 0.2260},
13788 {0.2889, 0.2230, 0.3497, 0.1385},
13789 {0.2176, 0.2610, 0.3885, 0.1328}},
13790 {
13791 {0.2992, 0.2174, 0.1665, 0.3169},
13792 {0.3111, 0.1686, 0.2640, 0.2563},
13793 {0.3227, 0.2941, 0.1903, 0.1929},
13794 {0.1967, 0.3029, 0.1875, 0.3129}},
13795 {
13796 {0.1848, 0.2266, 0.3478, 0.2408},
13797 {0.1984, 0.4010, 0.2147, 0.1859},
13798 {0.1861, 0.4316, 0.1672, 0.2152},
13799 {0.1337, 0.3257, 0.3451, 0.1955}},
13800 {
13801 {0.2260, 0.2695, 0.2570, 0.2474},
13802 {0.3207, 0.1928, 0.3026, 0.1838},
13803 {0.2509, 0.2213, 0.3952, 0.1327},
13804 {0.2149, 0.2342, 0.4357, 0.1152}},
13805 {
13806 {0.3451, 0.2473, 0.1727, 0.2350},
13807 {0.3023, 0.2070, 0.2454, 0.2453},
13808 {0.2737, 0.2741, 0.2220, 0.2303},
13809 {0.1893, 0.3634, 0.2144, 0.2329}},
13810 {
13811 {0.1872, 0.2241, 0.3638, 0.2249},
13812 {0.2383, 0.4076, 0.2176, 0.1365},
13813 {0.2003, 0.4795, 0.1284, 0.1917},
13814 {0.1406, 0.2789, 0.3914, 0.1892}},
13815 {
13816 {0.2815, 0.2539, 0.2256, 0.2390},
13817 {0.3309, 0.1599, 0.2852, 0.2240},
13818 {0.2330, 0.2620, 0.3396, 0.1654},
13819 {0.2083, 0.2235, 0.4136, 0.1546}},
13820 {
13821 {0.4092, 0.1806, 0.1870, 0.2231},
13822 {0.3423, 0.2348, 0.1625, 0.2604},
13823 {0.3824, 0.1808, 0.1967, 0.2402},
13824 {0.1318, 0.2496, 0.2511, 0.3675}},
13825 {
13826 {0.1721, 0.2432, 0.3781, 0.2066},
13827 {0.2242, 0.3885, 0.1965, 0.1909},
13828 {0.1566, 0.4145, 0.1832, 0.2456},
13829 {0.1092, 0.2666, 0.4274, 0.1968}},
13830 {
13831 {0.2581, 0.3173, 0.1916, 0.2330},
13832 {0.3228, 0.1832, 0.2678, 0.2261},
13833 {0.1967, 0.3014, 0.3422, 0.1596},
13834 {0.1895, 0.2781, 0.3889, 0.1435}},
13835 {
13836 {0.4227, 0.1868, 0.1809, 0.2096},
13837 {0.3287, 0.2394, 0.1820, 0.2499},
13838 {0.3461, 0.2623, 0.1860, 0.2056},
13839 {0.2107, 0.2425, 0.1693, 0.3775}},
13840 {
13841 {0.1757, 0.2920, 0.3029, 0.2294},
13842 {0.1983, 0.3907, 0.2062, 0.2048},
13843 {0.1763, 0.3775, 0.2437, 0.2026},
13844 {0.1099, 0.2986, 0.3585, 0.2331}},
13845 {
13846 {0.2984, 0.2080, 0.2604, 0.2333},
13847 {0.4128, 0.1764, 0.2140, 0.1968},
13848 {0.2405, 0.2720, 0.3258, 0.1617},
13849 {0.2323, 0.1903, 0.4063, 0.1711}},
13850 {
13851 {0.4053, 0.2136, 0.1536, 0.2275},
13852 {0.2727, 0.1885, 0.1821, 0.3567},
13853 {0.3004, 0.2368, 0.2441, 0.2187},
13854 {0.1678, 0.3484, 0.2190, 0.2649}},
13855 {
13856 {0.1459, 0.2393, 0.3892, 0.2256},
13857 {0.1810, 0.4257, 0.2500, 0.1434},
13858 {0.2004, 0.3491, 0.2000, 0.2505},
13859 {0.1309, 0.2933, 0.3661, 0.2098}},
13860 {
13861 {0.3560, 0.2259, 0.2446, 0.1735},
13862 {0.3885, 0.1787, 0.2895, 0.1433},
13863 {0.2870, 0.2965, 0.2754, 0.1411},
13864 {0.2004, 0.2598, 0.4037, 0.1361}},
13865 {
13866 {0.3648, 0.1751, 0.1838, 0.2763},
13867 {0.3077, 0.2473, 0.1871, 0.2579},
13868 {0.3152, 0.1940, 0.2181, 0.2727},
13869 {0.1685, 0.3524, 0.1842, 0.2949}},
13870 {
13871 {0.1812, 0.2146, 0.3588, 0.2454},
13872 {0.2244, 0.4025, 0.1661, 0.2069},
13873 {0.1558, 0.3404, 0.1896, 0.3142},
13874 {0.1342, 0.2641, 0.3994, 0.2024}},
13875 {
13876 {0.2453, 0.2942, 0.2556, 0.2048},
13877 {0.4136, 0.1761, 0.2246, 0.1856},
13878 {0.2182, 0.3063, 0.3717, 0.1038},
13879 {0.1329, 0.2644, 0.4042, 0.1986}},
13880 {
13881 {0.3321, 0.2372, 0.1664, 0.2643},
13882 {0.3307, 0.2562, 0.1852, 0.2279},
13883 {0.3081, 0.2551, 0.2139, 0.2229},
13884 {0.1043, 0.3967, 0.2561, 0.2428}},
13885 {
13886 {0.2454, 0.2198, 0.3344, 0.2004},
13887 {0.1899, 0.4089, 0.2418, 0.1593},
13888 {0.1500, 0.4175, 0.2041, 0.2285},
13889 {0.1179, 0.2430, 0.3868, 0.2523}},
13890 {
13891 {0.3225, 0.2151, 0.2369, 0.2255},
13892 {0.3419, 0.1975, 0.2888, 0.1718},
13893 {0.1954, 0.3318, 0.3225, 0.1503},
13894 {0.2562, 0.2792, 0.3165, 0.1480}},
13895 {
13896 {0.3704, 0.2298, 0.1339, 0.2658},
13897 {0.2729, 0.2532, 0.1992, 0.2747},
13898 {0.3726, 0.2365, 0.1975, 0.1934},
13899 {0.2693, 0.4083, 0.1427, 0.1796}}
13900 },
13901 { /* Splice_Site: F0_GT; Species: Droso */
13902 {
13903 {0.2813, 0.2813, 0.2813, 0.2813},
13904 {0.2409, 0.2409, 0.2409, 0.2409},
13905 {0.3024, 0.3024, 0.3024, 0.3024},
13906 {0.1754, 0.1754, 0.1754, 0.1754}},
13907 {
13908 {0.3683, 0.1659, 0.1653, 0.3005},
13909 {0.3282, 0.2307, 0.1336, 0.3075},
13910 {0.3940, 0.2438, 0.1555, 0.2068},
13911 {0.2668, 0.2387, 0.1906, 0.3038}},
13912 {
13913 {0.1983, 0.2978, 0.2671, 0.2368},
13914 {0.1669, 0.4696, 0.2134, 0.1501},
13915 {0.1584, 0.4531, 0.1626, 0.2259},
13916 {0.1474, 0.2546, 0.4652, 0.1329}},
13917 {
13918 {0.3492, 0.2155, 0.2565, 0.1788},
13919 {0.3620, 0.1799, 0.2101, 0.2480},
13920 {0.2747, 0.2347, 0.3018, 0.1888},
13921 {0.1962, 0.2882, 0.3162, 0.1993}},
13922 {
13923 {0.3463, 0.1995, 0.1827, 0.2715},
13924 {0.2738, 0.2457, 0.1896, 0.2908},
13925 {0.4292, 0.2345, 0.1717, 0.1645},
13926 {0.1410, 0.3130, 0.2026, 0.3434}},
13927 {
13928 {0.1746, 0.2936, 0.3532, 0.1786},
13929 {0.1460, 0.3962, 0.2833, 0.1745},
13930 {0.0692, 0.5094, 0.1921, 0.2292},
13931 {0.1064, 0.3378, 0.3266, 0.2292}},
13932 {
13933 {0.3751, 0.2569, 0.2715, 0.0965},
13934 {0.3329, 0.1385, 0.3486, 0.1800},
13935 {0.2199, 0.2880, 0.3447, 0.1474},
13936 {0.1921, 0.2414, 0.3787, 0.1878}},
13937 {
13938 {0.3572, 0.2246, 0.1375, 0.2807},
13939 {0.4028, 0.1827, 0.1629, 0.2517},
13940 {0.3645, 0.1815, 0.2235, 0.2304},
13941 {0.1772, 0.3611, 0.1595, 0.3022}},
13942 {
13943 {0.1264, 0.2765, 0.3820, 0.2151},
13944 {0.2122, 0.3918, 0.2778, 0.1182},
13945 {0.1279, 0.5056, 0.1177, 0.2487},
13946 {0.1571, 0.2248, 0.3868, 0.2313}},
13947 {
13948 {0.2728, 0.2634, 0.3583, 0.1055},
13949 {0.3182, 0.1506, 0.3083, 0.2228},
13950 {0.2466, 0.3703, 0.2613, 0.1218},
13951 {0.1953, 0.3098, 0.3272, 0.1678}},
13952 {
13953 {0.3426, 0.2373, 0.1228, 0.2973},
13954 {0.2638, 0.2467, 0.1310, 0.3584},
13955 {0.3693, 0.2256, 0.2061, 0.1990},
13956 {0.1360, 0.3583, 0.2268, 0.2789}},
13957 {
13958 {0.1189, 0.2495, 0.4287, 0.2029},
13959 {0.2357, 0.3725, 0.2359, 0.1559},
13960 {0.1478, 0.5311, 0.1702, 0.1509},
13961 {0.0990, 0.1889, 0.4980, 0.2142}},
13962 {
13963 {0.2791, 0.3617, 0.2639, 0.0953},
13964 {0.2908, 0.2015, 0.2703, 0.2374},
13965 {0.2039, 0.2855, 0.3426, 0.1679},
13966 {0.1277, 0.2896, 0.3629, 0.2198}},
13967 {
13968 {0.3765, 0.2000, 0.1808, 0.2427},
13969 {0.3254, 0.2352, 0.1929, 0.2465},
13970 {0.3627, 0.1664, 0.2390, 0.2318},
13971 {0.0990, 0.2987, 0.1703, 0.4319}},
13972 {
13973 {0.1368, 0.2726, 0.4083, 0.1823},
13974 {0.1758, 0.4023, 0.2520, 0.1700},
13975 {0.1692, 0.4570, 0.1505, 0.2232},
13976 {0.1130, 0.3210, 0.4151, 0.1509}},
13977 {
13978 {0.3085, 0.2333, 0.2518, 0.2065},
13979 {0.3340, 0.1954, 0.2397, 0.2309},
13980 {0.2157, 0.2055, 0.3969, 0.1819},
13981 {0.1537, 0.2820, 0.4110, 0.1533}},
13982 {
13983 {0.3391, 0.1935, 0.1124, 0.3551},
13984 {0.2581, 0.2505, 0.2581, 0.2334},
13985 {0.3993, 0.2372, 0.1473, 0.2162},
13986 {0.0723, 0.3102, 0.2022, 0.4153}},
13987 {
13988 {0.1820, 0.2643, 0.3977, 0.1561},
13989 {0.2070, 0.4303, 0.2380, 0.1246},
13990 {0.1431, 0.4602, 0.2344, 0.1622},
13991 {0.1033, 0.3295, 0.3471, 0.2201}},
13992 {
13993 {0.2885, 0.2294, 0.3225, 0.1596},
13994 {0.3161, 0.1306, 0.3503, 0.2030},
13995 {0.2093, 0.3375, 0.2939, 0.1592},
13996 {0.2448, 0.2039, 0.3663, 0.1850}},
13997 {
13998 {0.3576, 0.2432, 0.1651, 0.2342},
13999 {0.2505, 0.2442, 0.2001, 0.3052},
14000 {0.3772, 0.2242, 0.2727, 0.1259},
14001 {0.1710, 0.2796, 0.2186, 0.3308}},
14002 {
14003 {0.1303, 0.3452, 0.3405, 0.1840},
14004 {0.1721, 0.4145, 0.2049, 0.2085},
14005 {0.1598, 0.4854, 0.1438, 0.2110},
14006 {0.0820, 0.3166, 0.4058, 0.1955}},
14007 {
14008 {0.2106, 0.2176, 0.3194, 0.2524},
14009 {0.3561, 0.1734, 0.2714, 0.1991},
14010 {0.2315, 0.2494, 0.3494, 0.1696},
14011 {0.2153, 0.1887, 0.3217, 0.2743}},
14012 {
14013 {0.3319, 0.1859, 0.1607, 0.3215},
14014 {0.2932, 0.1799, 0.1641, 0.3628},
14015 {0.4085, 0.2371, 0.1902, 0.1642},
14016 {0.1644, 0.3577, 0.2083, 0.2696}},
14017 {
14018 {0.1753, 0.2645, 0.3820, 0.1782},
14019 {0.1572, 0.4374, 0.2810, 0.1244},
14020 {0.1240, 0.4497, 0.2619, 0.1644},
14021 {0.0899, 0.3223, 0.4475, 0.1404}},
14022 {
14023 {0.3008, 0.1481, 0.2981, 0.2530},
14024 {0.3849, 0.1631, 0.2222, 0.2298},
14025 {0.2247, 0.2948, 0.3581, 0.1224},
14026 {0.1706, 0.2501, 0.4226, 0.1566}},
14027 {
14028 {0.3825, 0.1801, 0.1691, 0.2683},
14029 {0.3145, 0.2610, 0.1136, 0.3109},
14030 {0.3867, 0.2645, 0.1529, 0.1959},
14031 {0.1592, 0.3004, 0.1947, 0.3457}},
14032 {
14033 {0.1624, 0.2394, 0.3519, 0.2463},
14034 {0.1332, 0.4276, 0.3013, 0.1379},
14035 {0.0539, 0.5375, 0.1896, 0.2190},
14036 {0.1014, 0.2892, 0.4415, 0.1679}},
14037 {
14038 {0.2964, 0.3104, 0.2918, 0.1013},
14039 {0.3596, 0.1611, 0.2819, 0.1974},
14040 {0.1823, 0.3002, 0.3459, 0.1716},
14041 {0.1495, 0.2900, 0.4404, 0.1201}},
14042 {
14043 {0.2881, 0.2523, 0.1421, 0.3176},
14044 {0.3178, 0.1737, 0.2528, 0.2558},
14045 {0.3209, 0.2677, 0.1948, 0.2167},
14046 {0.1344, 0.2644, 0.2054, 0.3959}},
14047 {
14048 {0.1306, 0.2348, 0.4151, 0.2195},
14049 {0.1676, 0.4115, 0.2281, 0.1928},
14050 {0.1400, 0.5022, 0.1623, 0.1954},
14051 {0.0729, 0.3081, 0.4080, 0.2110}},
14052 {
14053 {0.2488, 0.1764, 0.3229, 0.2518},
14054 {0.3011, 0.1598, 0.3041, 0.2351},
14055 {0.2779, 0.2051, 0.3920, 0.1249},
14056 {0.2095, 0.2351, 0.4326, 0.1229}},
14057 {
14058 {0.2998, 0.2431, 0.1615, 0.2956},
14059 {0.2323, 0.2064, 0.2308, 0.3305},
14060 {0.3423, 0.2873, 0.1636, 0.2068},
14061 {0.1245, 0.2583, 0.2882, 0.3290}},
14062 {
14063 {0.1311, 0.2513, 0.4116, 0.2060},
14064 {0.2095, 0.3910, 0.2114, 0.1880},
14065 {0.1234, 0.4762, 0.2139, 0.1865},
14066 {0.1052, 0.2607, 0.4146, 0.2195}},
14067 {
14068 {0.3141, 0.2108, 0.3018, 0.1733},
14069 {0.3079, 0.2223, 0.2859, 0.1839},
14070 {0.2297, 0.2621, 0.3293, 0.1789},
14071 {0.1592, 0.2808, 0.3776, 0.1825}},
14072 {
14073 {0.3868, 0.1869, 0.1545, 0.2719},
14074 {0.2893, 0.1555, 0.1800, 0.3752},
14075 {0.3201, 0.2642, 0.2010, 0.2147},
14076 {0.1306, 0.3857, 0.1838, 0.2998}},
14077 {
14078 {0.1604, 0.2414, 0.3939, 0.2042},
14079 {0.1785, 0.4481, 0.2031, 0.1702},
14080 {0.1856, 0.4363, 0.1893, 0.1888},
14081 {0.0433, 0.3961, 0.3744, 0.1863}},
14082 {
14083 {0.1998, 0.2361, 0.3433, 0.2208},
14084 {0.3591, 0.1872, 0.2898, 0.1639},
14085 {0.1796, 0.2756, 0.3915, 0.1533},
14086 {0.1883, 0.3372, 0.3169, 0.1576}},
14087 {
14088 {0.3755, 0.2002, 0.1976, 0.2267},
14089 {0.3554, 0.1683, 0.2182, 0.2581},
14090 {0.3865, 0.2963, 0.1065, 0.2107},
14091 {0.1971, 0.2711, 0.2093, 0.3225}},
14092 {
14093 {0.1503, 0.2723, 0.3583, 0.2191},
14094 {0.1377, 0.4295, 0.2414, 0.1913},
14095 {0.1480, 0.5594, 0.1396, 0.1531},
14096 {0.1271, 0.3418, 0.3866, 0.1445}},
14097 {
14098 {0.2610, 0.2170, 0.2370, 0.2850},
14099 {0.3590, 0.2115, 0.1950, 0.2346},
14100 {0.2308, 0.3153, 0.3154, 0.1385},
14101 {0.1801, 0.2845, 0.3395, 0.1958}},
14102 {
14103 {0.3097, 0.2124, 0.2246, 0.2532},
14104 {0.2873, 0.1981, 0.1971, 0.3175},
14105 {0.2777, 0.2610, 0.1865, 0.2747},
14106 {0.1409, 0.3582, 0.2271, 0.2739}},
14107 {
14108 {0.1003, 0.4119, 0.3410, 0.1468},
14109 {0.1226, 0.4320, 0.3140, 0.1314},
14110 {0.1748, 0.4851, 0.1754, 0.1647},
14111 {0.1141, 0.3192, 0.4056, 0.1611}},
14112 {
14113 {0.2207, 0.3435, 0.2013, 0.2346},
14114 {0.3118, 0.2166, 0.2492, 0.2224},
14115 {0.1459, 0.3468, 0.3654, 0.1419},
14116 {0.2729, 0.1818, 0.2693, 0.2761}},
14117 {
14118 {0.4319, 0.2052, 0.1060, 0.2570},
14119 {0.3210, 0.2053, 0.1733, 0.3004},
14120 {0.4022, 0.2536, 0.1392, 0.2049},
14121 {0.0811, 0.3802, 0.2294, 0.3092}},
14122 {
14123 {0.0964, 0.2835, 0.4046, 0.2154},
14124 {0.1636, 0.3876, 0.2647, 0.1841},
14125 {0.1161, 0.4898, 0.2244, 0.1698},
14126 {0.0958, 0.3316, 0.4299, 0.1426}},
14127 {
14128 {0.2569, 0.2031, 0.2950, 0.2450},
14129 {0.3668, 0.2029, 0.2372, 0.1932},
14130 {0.2339, 0.2450, 0.3430, 0.1781},
14131 {0.1240, 0.3419, 0.3462, 0.1879}},
14132 {
14133 {0.2916, 0.2578, 0.2069, 0.2437},
14134 {0.3433, 0.2083, 0.1849, 0.2635},
14135 {0.4120, 0.2443, 0.1852, 0.1585},
14136 {0.1169, 0.3415, 0.1973, 0.3444}},
14137 {
14138 {0.1583, 0.2601, 0.4071, 0.1745},
14139 {0.1095, 0.5542, 0.2314, 0.1049},
14140 {0.1842, 0.4390, 0.1887, 0.1881},
14141 {0.1367, 0.2935, 0.4240, 0.1459}},
14142 {
14143 {0.3402, 0.2140, 0.1967, 0.2490},
14144 {0.3301, 0.2421, 0.2899, 0.1379},
14145 {0.2199, 0.3625, 0.2889, 0.1287},
14146 {0.1820, 0.3534, 0.3171, 0.1475}},
14147 {
14148 {0.4914, 0.1571, 0.0676, 0.2839},
14149 {0.3816, 0.1500, 0.0933, 0.3751},
14150 {0.5843, 0.1100, 0.0940, 0.2117},
14151 {0.0000, 0.4004, 0.3415, 0.2581}},
14152 {
14153 {0.0000, 0.0000, 1.0000, 0.0000},
14154 {0.0000, 0.0000, 1.0000, 0.0000},
14155 {0.0000, 0.0000, 1.0000, 0.0000},
14156 {0.0000, 0.0000, 1.0000, 0.0000}},
14157 {
14158 {0.0000, 0.0000, 0.0000, 0.0000},
14159 {0.0000, 0.0000, 0.0000, 0.0000},
14160 {0.0000, 0.0000, 0.0000, 1.0000},
14161 {0.0000, 0.0000, 0.0000, 0.0000}},
14162 {
14163 {0.0000, 0.0000, 0.0000, 0.0000},
14164 {0.0000, 0.0000, 0.0000, 0.0000},
14165 {0.0000, 0.0000, 0.0000, 0.0000},
14166 {0.1672, 0.3081, 0.2042, 0.3205}},
14167 {
14168 {0.0000, 0.8232, 0.0000, 0.1768},
14169 {0.1200, 0.4263, 0.3070, 0.1468},
14170 {0.0000, 0.4334, 0.4032, 0.1634},
14171 {0.0724, 0.4606, 0.2610, 0.2060}},
14172 {
14173 {0.2934, 0.2301, 0.2448, 0.2318},
14174 {0.3198, 0.1961, 0.2853, 0.1987},
14175 {0.1821, 0.3491, 0.2869, 0.1819},
14176 {0.1991, 0.3002, 0.2959, 0.2048}},
14177 {
14178 {0.3335, 0.2304, 0.1327, 0.3034},
14179 {0.3131, 0.1489, 0.2057, 0.3323},
14180 {0.4052, 0.2163, 0.2033, 0.1752},
14181 {0.1745, 0.3610, 0.1780, 0.2864}},
14182 {
14183 {0.1294, 0.2923, 0.3837, 0.1946},
14184 {0.1572, 0.4458, 0.2454, 0.1516},
14185 {0.1645, 0.4009, 0.2410, 0.1936},
14186 {0.0736, 0.2996, 0.4178, 0.2091}},
14187 {
14188 {0.2254, 0.3026, 0.2960, 0.1760},
14189 {0.3511, 0.1950, 0.2416, 0.2123},
14190 {0.2467, 0.3149, 0.2570, 0.1814},
14191 {0.1849, 0.3225, 0.3521, 0.1405}},
14192 {
14193 {0.4328, 0.1726, 0.1651, 0.2294},
14194 {0.3222, 0.1526, 0.2080, 0.3171},
14195 {0.3807, 0.2400, 0.2135, 0.1658},
14196 {0.1180, 0.3527, 0.2790, 0.2504}},
14197 {
14198 {0.1634, 0.2690, 0.3562, 0.2114},
14199 {0.2287, 0.3581, 0.2703, 0.1429},
14200 {0.1247, 0.4945, 0.1893, 0.1915},
14201 {0.1346, 0.3109, 0.3852, 0.1693}},
14202 {
14203 {0.2277, 0.2120, 0.3588, 0.2016},
14204 {0.3881, 0.1795, 0.2176, 0.2148},
14205 {0.2349, 0.2501, 0.3606, 0.1544},
14206 {0.2061, 0.3828, 0.2982, 0.1129}},
14207 {
14208 {0.4003, 0.2191, 0.1680, 0.2126},
14209 {0.2877, 0.2474, 0.1628, 0.3021},
14210 {0.3745, 0.2181, 0.1973, 0.2101},
14211 {0.1928, 0.2267, 0.1998, 0.3807}},
14212 {
14213 {0.1413, 0.2407, 0.3751, 0.2430},
14214 {0.2240, 0.3811, 0.2716, 0.1234},
14215 {0.1993, 0.3310, 0.2728, 0.1969},
14216 {0.0880, 0.2679, 0.4584, 0.1857}},
14217 {
14218 {0.2182, 0.2459, 0.3172, 0.2187},
14219 {0.2592, 0.1640, 0.3328, 0.2440},
14220 {0.2647, 0.2408, 0.3287, 0.1658},
14221 {0.2311, 0.3071, 0.2990, 0.1627}},
14222 {
14223 {0.3531, 0.2357, 0.1530, 0.2583},
14224 {0.2292, 0.2242, 0.1850, 0.3615},
14225 {0.3744, 0.2966, 0.1746, 0.1544},
14226 {0.1512, 0.2973, 0.2292, 0.3223}},
14227 {
14228 {0.1521, 0.3426, 0.3155, 0.1898},
14229 {0.1719, 0.3669, 0.3188, 0.1423},
14230 {0.1441, 0.5209, 0.1841, 0.1508},
14231 {0.0333, 0.3254, 0.4742, 0.1671}},
14232 {
14233 {0.2376, 0.3036, 0.2311, 0.2277},
14234 {0.3875, 0.1987, 0.2730, 0.1408},
14235 {0.2246, 0.3254, 0.2994, 0.1506},
14236 {0.1539, 0.4380, 0.3307, 0.0775}},
14237 {
14238 {0.3844, 0.2764, 0.1149, 0.2243},
14239 {0.3516, 0.2510, 0.1211, 0.2763},
14240 {0.3388, 0.2561, 0.2516, 0.1535},
14241 {0.1486, 0.3178, 0.2179, 0.3157}},
14242 {
14243 {0.1402, 0.2711, 0.3751, 0.2136},
14244 {0.1686, 0.3734, 0.3048, 0.1532},
14245 {0.1785, 0.5154, 0.1661, 0.1400},
14246 {0.0870, 0.2928, 0.3829, 0.2373}},
14247 {
14248 {0.3291, 0.2387, 0.2689, 0.1633},
14249 {0.3279, 0.1481, 0.2927, 0.2313},
14250 {0.2740, 0.2901, 0.2778, 0.1581},
14251 {0.1800, 0.2553, 0.3930, 0.1716}},
14252 {
14253 {0.4064, 0.2017, 0.1606, 0.2313},
14254 {0.2896, 0.2377, 0.2252, 0.2475},
14255 {0.3663, 0.2160, 0.2496, 0.1682},
14256 {0.1628, 0.3469, 0.2078, 0.2825}},
14257 {
14258 {0.0998, 0.2639, 0.4459, 0.1903},
14259 {0.1707, 0.4226, 0.2487, 0.1580},
14260 {0.2003, 0.3558, 0.1848, 0.2591},
14261 {0.0972, 0.4058, 0.3614, 0.1356}},
14262 {
14263 {0.3022, 0.2833, 0.2533, 0.1611},
14264 {0.2724, 0.1868, 0.2917, 0.2490},
14265 {0.2637, 0.2942, 0.2729, 0.1691},
14266 {0.2359, 0.2902, 0.2751, 0.1988}},
14267 {
14268 {0.3831, 0.2230, 0.0907, 0.3032},
14269 {0.3341, 0.2022, 0.1841, 0.2795},
14270 {0.3827, 0.2172, 0.2316, 0.1686},
14271 {0.1749, 0.2971, 0.2150, 0.3130}},
14272 {
14273 {0.1273, 0.2701, 0.4271, 0.1755},
14274 {0.1696, 0.3367, 0.2890, 0.2047},
14275 {0.1696, 0.3833, 0.1705, 0.2766},
14276 {0.0728, 0.3075, 0.4358, 0.1839}},
14277 {
14278 {0.2700, 0.2997, 0.2307, 0.1996},
14279 {0.2871, 0.1737, 0.2894, 0.2498},
14280 {0.2503, 0.2878, 0.2902, 0.1717},
14281 {0.1624, 0.3366, 0.3380, 0.1631}},
14282 {
14283 {0.3676, 0.1817, 0.1657, 0.2851},
14284 {0.2780, 0.1888, 0.1719, 0.3613},
14285 {0.3628, 0.1997, 0.1873, 0.2501},
14286 {0.1963, 0.3739, 0.1503, 0.2795}},
14287 {
14288 {0.0798, 0.3582, 0.3575, 0.2044},
14289 {0.1602, 0.3468, 0.3466, 0.1465},
14290 {0.1382, 0.5340, 0.1711, 0.1567},
14291 {0.1069, 0.2948, 0.4780, 0.1203}},
14292 {
14293 {0.2603, 0.3688, 0.1874, 0.1834},
14294 {0.3544, 0.1734, 0.2331, 0.2392},
14295 {0.2341, 0.2433, 0.4049, 0.1178},
14296 {0.1412, 0.2873, 0.3635, 0.2081}},
14297 {
14298 {0.4189, 0.2099, 0.1446, 0.2266},
14299 {0.2565, 0.2428, 0.1961, 0.3046},
14300 {0.3711, 0.2338, 0.2023, 0.1929},
14301 {0.2217, 0.2796, 0.2041, 0.2946}},
14302 {
14303 {0.1460, 0.3533, 0.2792, 0.2215},
14304 {0.2354, 0.3832, 0.2573, 0.1242},
14305 {0.1331, 0.5047, 0.1360, 0.2262},
14306 {0.0843, 0.3618, 0.3285, 0.2254}},
14307 {
14308 {0.3677, 0.1641, 0.2250, 0.2432},
14309 {0.3560, 0.1738, 0.2607, 0.2095},
14310 {0.2748, 0.2390, 0.2955, 0.1908},
14311 {0.2221, 0.2060, 0.3997, 0.1722}},
14312 {
14313 {0.3922, 0.2009, 0.1484, 0.2584},
14314 {0.3094, 0.1844, 0.2077, 0.2985},
14315 {0.3370, 0.2953, 0.1810, 0.1867},
14316 {0.1784, 0.3676, 0.1564, 0.2975}},
14317 {
14318 {0.1241, 0.3576, 0.3331, 0.1852},
14319 {0.1755, 0.3942, 0.2713, 0.1591},
14320 {0.1360, 0.5090, 0.1502, 0.2048},
14321 {0.0484, 0.3476, 0.4011, 0.2029}},
14322 {
14323 {0.2131, 0.2775, 0.3108, 0.1986},
14324 {0.3750, 0.2119, 0.2559, 0.1572},
14325 {0.2180, 0.3206, 0.2974, 0.1640},
14326 {0.2013, 0.2580, 0.3664, 0.1744}},
14327 {
14328 {0.3864, 0.2379, 0.1916, 0.1842},
14329 {0.3194, 0.1645, 0.2557, 0.2604},
14330 {0.3303, 0.2381, 0.2047, 0.2270},
14331 {0.1389, 0.2685, 0.1819, 0.4107}},
14332 {
14333 {0.1511, 0.2778, 0.4484, 0.1227},
14334 {0.1648, 0.3908, 0.3092, 0.1352},
14335 {0.1245, 0.5189, 0.1397, 0.2168},
14336 {0.1481, 0.3479, 0.3171, 0.1868}},
14337 {
14338 {0.3062, 0.2970, 0.1864, 0.2105},
14339 {0.3635, 0.1592, 0.2576, 0.2197},
14340 {0.1989, 0.2689, 0.3395, 0.1926},
14341 {0.1926, 0.3572, 0.2884, 0.1619}},
14342 {
14343 {0.3279, 0.2115, 0.2105, 0.2501},
14344 {0.3471, 0.2233, 0.2377, 0.1919},
14345 {0.3426, 0.1842, 0.2257, 0.2476},
14346 {0.1283, 0.4011, 0.2513, 0.2193}},
14347 {
14348 {0.0798, 0.2970, 0.4055, 0.2178},
14349 {0.1659, 0.4444, 0.2399, 0.1498},
14350 {0.1563, 0.4389, 0.1935, 0.2113},
14351 {0.1026, 0.2789, 0.3771, 0.2414}},
14352 {
14353 {0.3064, 0.2579, 0.2205, 0.2152},
14354 {0.3898, 0.1487, 0.2458, 0.2156},
14355 {0.2507, 0.3251, 0.3106, 0.1136},
14356 {0.1912, 0.2720, 0.3426, 0.1942}},
14357 {
14358 {0.3384, 0.2197, 0.2027, 0.2392},
14359 {0.2781, 0.2229, 0.2156, 0.2834},
14360 {0.4121, 0.2448, 0.1760, 0.1671},
14361 {0.1198, 0.2760, 0.2744, 0.3298}},
14362 {
14363 {0.1347, 0.3101, 0.3229, 0.2323},
14364 {0.1425, 0.3582, 0.2670, 0.2322},
14365 {0.1259, 0.4252, 0.2174, 0.2315},
14366 {0.0890, 0.2834, 0.4594, 0.1681}},
14367 {
14368 {0.4327, 0.2317, 0.1972, 0.1384},
14369 {0.3557, 0.1857, 0.2548, 0.2038},
14370 {0.2209, 0.3078, 0.3157, 0.1556},
14371 {0.2418, 0.2884, 0.2849, 0.1849}},
14372 {
14373 {0.3574, 0.2405, 0.1519, 0.2502},
14374 {0.3175, 0.2210, 0.2028, 0.2588},
14375 {0.3141, 0.2127, 0.2437, 0.2296},
14376 {0.1191, 0.3119, 0.2741, 0.2949}},
14377 {
14378 {0.1698, 0.1993, 0.4261, 0.2048},
14379 {0.1546, 0.4079, 0.2679, 0.1696},
14380 {0.2005, 0.4158, 0.1792, 0.2045},
14381 {0.1368, 0.2303, 0.4192, 0.2137}},
14382 {
14383 {0.2789, 0.2598, 0.2754, 0.1859},
14384 {0.3677, 0.1643, 0.2872, 0.1808},
14385 {0.2399, 0.2633, 0.3674, 0.1295},
14386 {0.1989, 0.3096, 0.3334, 0.1580}},
14387 {
14388 {0.3702, 0.1529, 0.1567, 0.3202},
14389 {0.3328, 0.2132, 0.1914, 0.2626},
14390 {0.3256, 0.2132, 0.2299, 0.2313},
14391 {0.1252, 0.3937, 0.1502, 0.3309}},
14392 {
14393 {0.1750, 0.2774, 0.3676, 0.1801},
14394 {0.2004, 0.3244, 0.2535, 0.2217},
14395 {0.1677, 0.4118, 0.1623, 0.2582},
14396 {0.1238, 0.3211, 0.4245, 0.1306}},
14397 {
14398 {0.3140, 0.2026, 0.2207, 0.2627},
14399 {0.3493, 0.1887, 0.2339, 0.2281},
14400 {0.2796, 0.3170, 0.2882, 0.1152},
14401 {0.1602, 0.3152, 0.3688, 0.1559}},
14402 {
14403 {0.3737, 0.2607, 0.1468, 0.2187},
14404 {0.3212, 0.1869, 0.1870, 0.3049},
14405 {0.3131, 0.2273, 0.2444, 0.2152},
14406 {0.1968, 0.3391, 0.2240, 0.2401}},
14407 {
14408 {0.1470, 0.2583, 0.3497, 0.2449},
14409 {0.1652, 0.4426, 0.2819, 0.1103},
14410 {0.1464, 0.4819, 0.2309, 0.1408},
14411 {0.0749, 0.2777, 0.3849, 0.2625}}
14412 },
14413 { /* Splice_Site: Fi_GT; Species: Droso */
14414 {
14415 {0.3107, 0.3107, 0.3107, 0.3107},
14416 {0.1942, 0.1942, 0.1942, 0.1942},
14417 {0.1995, 0.1995, 0.1995, 0.1995},
14418 {0.2955, 0.2955, 0.2955, 0.2955}},
14419 {
14420 {0.3270, 0.1723, 0.1982, 0.3025},
14421 {0.3797, 0.2303, 0.1583, 0.2317},
14422 {0.2229, 0.2639, 0.2080, 0.3051},
14423 {0.2130, 0.1847, 0.2667, 0.3356}},
14424 {
14425 {0.3559, 0.2055, 0.1775, 0.2611},
14426 {0.3356, 0.1983, 0.1752, 0.2909},
14427 {0.2379, 0.2997, 0.2329, 0.2295},
14428 {0.2771, 0.1847, 0.2504, 0.2878}},
14429 {
14430 {0.3733, 0.1993, 0.1974, 0.2301},
14431 {0.3175, 0.2268, 0.1733, 0.2824},
14432 {0.2701, 0.2867, 0.2212, 0.2220},
14433 {0.2067, 0.2091, 0.2488, 0.3355}},
14434 {
14435 {0.3205, 0.2229, 0.2103, 0.2463},
14436 {0.3462, 0.1879, 0.2561, 0.2098},
14437 {0.2813, 0.2763, 0.1955, 0.2469},
14438 {0.2467, 0.1996, 0.2174, 0.3362}},
14439 {
14440 {0.3726, 0.2097, 0.1560, 0.2617},
14441 {0.3432, 0.2333, 0.2100, 0.2135},
14442 {0.2844, 0.2799, 0.2048, 0.2309},
14443 {0.2214, 0.2367, 0.2410, 0.3009}},
14444 {
14445 {0.3260, 0.2169, 0.2084, 0.2487},
14446 {0.3034, 0.2157, 0.2007, 0.2802},
14447 {0.2618, 0.3036, 0.2179, 0.2166},
14448 {0.2383, 0.2171, 0.2039, 0.3407}},
14449 {
14450 {0.3145, 0.2089, 0.2351, 0.2415},
14451 {0.2830, 0.2222, 0.1665, 0.3283},
14452 {0.2256, 0.2798, 0.2022, 0.2924},
14453 {0.2800, 0.1913, 0.2382, 0.2906}},
14454 {
14455 {0.3373, 0.1917, 0.1882, 0.2827},
14456 {0.3541, 0.2417, 0.1847, 0.2195},
14457 {0.2330, 0.3049, 0.2263, 0.2358},
14458 {0.2366, 0.2019, 0.2692, 0.2922}},
14459 {
14460 {0.3650, 0.1861, 0.1836, 0.2652},
14461 {0.2911, 0.2188, 0.2084, 0.2817},
14462 {0.2371, 0.2930, 0.2414, 0.2285},
14463 {0.2337, 0.2022, 0.1845, 0.3796}},
14464 {
14465 {0.3841, 0.1455, 0.1814, 0.2890},
14466 {0.3158, 0.2441, 0.1932, 0.2469},
14467 {0.2995, 0.2480, 0.1996, 0.2530},
14468 {0.2113, 0.1649, 0.2462, 0.3776}},
14469 {
14470 {0.3541, 0.1708, 0.1971, 0.2781},
14471 {0.3091, 0.1901, 0.2557, 0.2452},
14472 {0.3029, 0.2113, 0.2628, 0.2230},
14473 {0.1719, 0.1967, 0.2717, 0.3596}},
14474 {
14475 {0.3421, 0.1767, 0.2191, 0.2621},
14476 {0.3715, 0.2175, 0.1555, 0.2555},
14477 {0.2472, 0.3156, 0.2300, 0.2072},
14478 {0.1972, 0.2329, 0.2335, 0.3364}},
14479 {
14480 {0.3463, 0.1900, 0.1863, 0.2773},
14481 {0.3186, 0.2785, 0.1820, 0.2208},
14482 {0.2440, 0.2850, 0.2087, 0.2623},
14483 {0.1773, 0.2235, 0.2027, 0.3964}},
14484 {
14485 {0.3571, 0.1910, 0.1473, 0.3045},
14486 {0.3141, 0.2342, 0.2442, 0.2075},
14487 {0.3062, 0.2991, 0.2050, 0.1897},
14488 {0.1993, 0.1692, 0.2735, 0.3581}},
14489 {
14490 {0.3345, 0.2264, 0.2025, 0.2366},
14491 {0.3444, 0.2054, 0.1721, 0.2781},
14492 {0.2660, 0.2661, 0.2235, 0.2445},
14493 {0.2124, 0.1970, 0.2471, 0.3435}},
14494 {
14495 {0.3273, 0.1906, 0.1905, 0.2916},
14496 {0.3275, 0.2484, 0.1615, 0.2626},
14497 {0.2555, 0.2590, 0.2201, 0.2653},
14498 {0.2403, 0.1707, 0.2694, 0.3196}},
14499 {
14500 {0.3344, 0.1779, 0.2091, 0.2786},
14501 {0.3108, 0.2375, 0.1940, 0.2576},
14502 {0.2725, 0.2784, 0.1897, 0.2594},
14503 {0.2386, 0.1731, 0.2656, 0.3228}},
14504 {
14505 {0.3174, 0.2097, 0.2160, 0.2569},
14506 {0.3025, 0.2057, 0.2347, 0.2572},
14507 {0.2464, 0.3040, 0.2063, 0.2433},
14508 {0.2435, 0.1892, 0.2334, 0.3339}},
14509 {
14510 {0.3464, 0.2039, 0.2280, 0.2218},
14511 {0.3005, 0.2276, 0.2360, 0.2359},
14512 {0.2486, 0.2582, 0.2286, 0.2646},
14513 {0.2454, 0.1812, 0.2394, 0.3340}},
14514 {
14515 {0.3595, 0.1779, 0.1947, 0.2679},
14516 {0.3309, 0.1996, 0.1906, 0.2789},
14517 {0.2830, 0.2872, 0.2043, 0.2256},
14518 {0.2317, 0.1900, 0.2291, 0.3492}},
14519 {
14520 {0.3404, 0.1968, 0.1829, 0.2799},
14521 {0.3342, 0.2471, 0.1750, 0.2436},
14522 {0.2882, 0.2516, 0.2423, 0.2179},
14523 {0.2180, 0.2219, 0.2138, 0.3464}},
14524 {
14525 {0.3071, 0.2246, 0.1925, 0.2759},
14526 {0.3201, 0.2439, 0.2134, 0.2226},
14527 {0.2677, 0.3028, 0.1847, 0.2448},
14528 {0.2073, 0.1911, 0.2198, 0.3819}},
14529 {
14530 {0.3529, 0.1602, 0.1987, 0.2882},
14531 {0.2981, 0.2445, 0.2106, 0.2467},
14532 {0.2458, 0.2445, 0.1679, 0.3418},
14533 {0.2283, 0.1914, 0.2677, 0.3125}},
14534 {
14535 {0.3657, 0.1868, 0.1756, 0.2719},
14536 {0.2860, 0.2500, 0.1913, 0.2728},
14537 {0.2851, 0.2113, 0.2551, 0.2485},
14538 {0.1805, 0.2141, 0.1940, 0.4115}},
14539 {
14540 {0.3454, 0.1822, 0.2220, 0.2503},
14541 {0.3129, 0.2664, 0.1982, 0.2224},
14542 {0.2953, 0.2493, 0.1886, 0.2668},
14543 {0.2629, 0.1906, 0.1969, 0.3495}},
14544 {
14545 {0.3524, 0.1520, 0.2158, 0.2798},
14546 {0.2911, 0.1803, 0.2583, 0.2703},
14547 {0.3007, 0.2520, 0.2008, 0.2465},
14548 {0.2322, 0.1673, 0.2588, 0.3417}},
14549 {
14550 {0.3576, 0.2070, 0.1580, 0.2774},
14551 {0.3387, 0.2035, 0.1882, 0.2696},
14552 {0.2271, 0.2809, 0.2277, 0.2643},
14553 {0.2387, 0.1972, 0.2430, 0.3211}},
14554 {
14555 {0.2768, 0.1919, 0.2309, 0.3004},
14556 {0.2889, 0.2284, 0.2443, 0.2383},
14557 {0.2611, 0.2764, 0.2095, 0.2531},
14558 {0.2053, 0.2076, 0.2457, 0.3414}},
14559 {
14560 {0.3702, 0.1980, 0.1783, 0.2535},
14561 {0.3326, 0.2437, 0.1823, 0.2414},
14562 {0.2939, 0.2363, 0.2063, 0.2635},
14563 {0.2317, 0.2168, 0.2224, 0.3291}},
14564 {
14565 {0.3568, 0.1788, 0.1912, 0.2733},
14566 {0.3407, 0.2122, 0.1757, 0.2714},
14567 {0.2301, 0.2280, 0.2188, 0.3231},
14568 {0.2447, 0.2150, 0.1901, 0.3502}},
14569 {
14570 {0.3226, 0.1847, 0.1983, 0.2945},
14571 {0.3319, 0.2570, 0.1752, 0.2359},
14572 {0.2317, 0.2562, 0.2174, 0.2947},
14573 {0.2261, 0.1613, 0.1860, 0.4266}},
14574 {
14575 {0.3679, 0.1706, 0.2078, 0.2538},
14576 {0.3069, 0.2370, 0.1993, 0.2568},
14577 {0.2337, 0.2683, 0.2447, 0.2533},
14578 {0.2220, 0.1763, 0.2656, 0.3362}},
14579 {
14580 {0.3408, 0.1581, 0.1800, 0.3211},
14581 {0.3690, 0.2335, 0.1903, 0.2072},
14582 {0.2959, 0.1859, 0.1958, 0.3225},
14583 {0.2136, 0.1684, 0.2521, 0.3659}},
14584 {
14585 {0.4220, 0.1199, 0.1842, 0.2739},
14586 {0.2459, 0.2597, 0.1907, 0.3036},
14587 {0.2234, 0.2699, 0.2363, 0.2704},
14588 {0.2062, 0.1881, 0.2393, 0.3663}},
14589 {
14590 {0.3306, 0.1962, 0.1618, 0.3114},
14591 {0.3586, 0.1887, 0.2202, 0.2325},
14592 {0.2257, 0.2748, 0.2279, 0.2716},
14593 {0.2128, 0.2151, 0.2602, 0.3120}},
14594 {
14595 {0.3408, 0.1880, 0.1827, 0.2885},
14596 {0.2690, 0.2309, 0.2261, 0.2740},
14597 {0.2642, 0.2154, 0.2434, 0.2770},
14598 {0.2482, 0.1557, 0.2235, 0.3726}},
14599 {
14600 {0.3460, 0.1903, 0.1675, 0.2962},
14601 {0.3440, 0.2456, 0.2024, 0.2080},
14602 {0.2743, 0.2550, 0.1832, 0.2876},
14603 {0.2817, 0.2032, 0.2355, 0.2796}},
14604 {
14605 {0.3511, 0.1557, 0.1958, 0.2974},
14606 {0.3082, 0.1729, 0.2306, 0.2884},
14607 {0.2463, 0.2460, 0.2233, 0.2845},
14608 {0.2108, 0.2203, 0.2350, 0.3340}},
14609 {
14610 {0.3303, 0.2206, 0.1573, 0.2918},
14611 {0.3720, 0.1854, 0.1818, 0.2608},
14612 {0.2211, 0.2320, 0.1864, 0.3605},
14613 {0.2265, 0.2066, 0.2596, 0.3073}},
14614 {
14615 {0.3004, 0.1459, 0.2072, 0.3465},
14616 {0.3468, 0.1880, 0.1919, 0.2734},
14617 {0.2841, 0.2256, 0.1963, 0.2940},
14618 {0.1905, 0.2160, 0.2275, 0.3661}},
14619 {
14620 {0.2951, 0.1938, 0.2048, 0.3063},
14621 {0.2632, 0.2656, 0.1792, 0.2921},
14622 {0.2433, 0.2857, 0.1859, 0.2851},
14623 {0.2199, 0.1736, 0.2508, 0.3557}},
14624 {
14625 {0.3328, 0.1813, 0.1755, 0.3104},
14626 {0.3281, 0.1963, 0.1987, 0.2768},
14627 {0.3207, 0.2398, 0.1593, 0.2803},
14628 {0.2196, 0.2143, 0.2346, 0.3315}},
14629 {
14630 {0.3403, 0.1973, 0.1894, 0.2730},
14631 {0.3483, 0.2028, 0.1777, 0.2712},
14632 {0.1998, 0.2408, 0.2056, 0.3538},
14633 {0.2108, 0.1804, 0.2612, 0.3476}},
14634 {
14635 {0.3479, 0.1917, 0.2099, 0.2505},
14636 {0.2915, 0.2210, 0.2039, 0.2837},
14637 {0.2585, 0.2398, 0.1935, 0.3081},
14638 {0.2067, 0.1963, 0.2223, 0.3747}},
14639 {
14640 {0.3654, 0.1636, 0.1647, 0.3063},
14641 {0.2927, 0.1654, 0.1947, 0.3472},
14642 {0.2577, 0.2193, 0.1736, 0.3493},
14643 {0.1982, 0.1700, 0.2399, 0.3919}},
14644 {
14645 {0.3618, 0.1528, 0.1986, 0.2869},
14646 {0.3580, 0.1771, 0.2317, 0.2332},
14647 {0.1901, 0.2234, 0.3118, 0.2746},
14648 {0.2458, 0.1918, 0.2349, 0.3275}},
14649 {
14650 {0.3456, 0.1747, 0.1589, 0.3208},
14651 {0.3275, 0.2187, 0.1478, 0.3060},
14652 {0.1911, 0.1806, 0.1726, 0.4557},
14653 {0.2090, 0.2097, 0.1899, 0.3915}},
14654 {
14655 {0.3893, 0.1516, 0.1654, 0.2936},
14656 {0.3184, 0.2254, 0.1937, 0.2625},
14657 {0.3334, 0.1864, 0.1804, 0.2999},
14658 {0.2363, 0.1884, 0.2569, 0.3183}},
14659 {
14660 {0.3590, 0.1370, 0.1143, 0.3896},
14661 {0.3883, 0.1750, 0.1280, 0.3087},
14662 {0.2679, 0.2073, 0.1812, 0.3436},
14663 {0.1802, 0.1940, 0.2231, 0.4027}},
14664 {
14665 {0.0000, 0.0000, 1.0000, 0.0000},
14666 {0.0000, 0.0000, 1.0000, 0.0000},
14667 {0.0000, 0.0000, 1.0000, 0.0000},
14668 {0.0000, 0.0000, 1.0000, 0.0000}},
14669 {
14670 {0.0000, 0.0000, 0.0000, 0.0000},
14671 {0.0000, 0.0000, 0.0000, 0.0000},
14672 {0.0000, 0.0000, 0.0000, 1.0000},
14673 {0.0000, 0.0000, 0.0000, 0.0000}},
14674 {
14675 {0.0000, 0.0000, 0.0000, 0.0000},
14676 {0.0000, 0.0000, 0.0000, 0.0000},
14677 {0.0000, 0.0000, 0.0000, 0.0000},
14678 {0.2169, 0.1817, 0.2585, 0.3428}},
14679 {
14680 {0.2526, 0.2151, 0.1464, 0.3859},
14681 {0.2228, 0.2894, 0.2143, 0.2735},
14682 {0.2256, 0.2430, 0.2325, 0.2988},
14683 {0.1460, 0.1910, 0.2366, 0.4264}},
14684 {
14685 {0.3682, 0.2196, 0.1273, 0.2849},
14686 {0.3238, 0.1901, 0.2302, 0.2559},
14687 {0.2287, 0.2883, 0.1799, 0.3032},
14688 {0.2214, 0.2252, 0.2309, 0.3226}},
14689 {
14690 {0.2862, 0.1828, 0.2358, 0.2953},
14691 {0.2356, 0.2330, 0.2103, 0.3211},
14692 {0.2165, 0.2520, 0.2158, 0.3156},
14693 {0.2302, 0.2033, 0.1908, 0.3757}},
14694 {
14695 {0.3643, 0.1942, 0.1739, 0.2676},
14696 {0.3345, 0.2123, 0.1463, 0.3069},
14697 {0.2472, 0.2838, 0.1989, 0.2702},
14698 {0.2069, 0.2097, 0.2650, 0.3184}},
14699 {
14700 {0.3192, 0.1689, 0.1940, 0.3180},
14701 {0.3074, 0.2250, 0.1661, 0.3014},
14702 {0.1760, 0.2662, 0.2431, 0.3147},
14703 {0.2083, 0.1825, 0.1930, 0.4162}},
14704 {
14705 {0.3168, 0.1606, 0.1667, 0.3560},
14706 {0.3513, 0.2598, 0.1244, 0.2646},
14707 {0.2554, 0.2532, 0.1987, 0.2927},
14708 {0.2174, 0.1837, 0.2278, 0.3711}},
14709 {
14710 {0.3594, 0.1823, 0.1490, 0.3093},
14711 {0.2691, 0.2308, 0.1894, 0.3107},
14712 {0.2601, 0.2334, 0.2091, 0.2975},
14713 {0.1875, 0.1618, 0.2953, 0.3553}},
14714 {
14715 {0.3379, 0.1703, 0.1796, 0.3122},
14716 {0.3362, 0.2533, 0.1711, 0.2393},
14717 {0.2668, 0.2304, 0.2270, 0.2758},
14718 {0.2129, 0.2700, 0.2117, 0.3054}},
14719 {
14720 {0.3132, 0.1741, 0.1683, 0.3444},
14721 {0.2520, 0.2504, 0.2681, 0.2295},
14722 {0.2812, 0.2261, 0.1781, 0.3146},
14723 {0.2537, 0.1604, 0.2547, 0.3312}},
14724 {
14725 {0.3923, 0.1534, 0.1602, 0.2941},
14726 {0.3550, 0.2145, 0.1919, 0.2386},
14727 {0.2427, 0.2627, 0.1987, 0.2958},
14728 {0.2512, 0.1723, 0.2083, 0.3682}},
14729 {
14730 {0.2776, 0.1781, 0.2024, 0.3420},
14731 {0.2983, 0.2429, 0.1835, 0.2752},
14732 {0.2888, 0.2578, 0.2009, 0.2525},
14733 {0.2394, 0.1896, 0.2163, 0.3547}},
14734 {
14735 {0.3375, 0.1722, 0.1956, 0.2946},
14736 {0.3374, 0.1539, 0.2171, 0.2916},
14737 {0.3222, 0.2184, 0.2412, 0.2183},
14738 {0.2294, 0.1296, 0.2695, 0.3716}},
14739 {
14740 {0.3007, 0.2382, 0.1929, 0.2683},
14741 {0.3452, 0.1686, 0.1896, 0.2966},
14742 {0.2319, 0.2628, 0.2457, 0.2595},
14743 {0.2612, 0.1924, 0.1933, 0.3531}},
14744 {
14745 {0.3292, 0.1548, 0.1489, 0.3670},
14746 {0.3289, 0.1537, 0.2115, 0.3059},
14747 {0.2301, 0.2284, 0.2529, 0.2886},
14748 {0.2393, 0.2096, 0.2086, 0.3425}},
14749 {
14750 {0.3165, 0.2017, 0.2034, 0.2785},
14751 {0.3207, 0.1721, 0.1842, 0.3230},
14752 {0.2628, 0.2732, 0.1725, 0.2914},
14753 {0.2466, 0.1865, 0.2092, 0.3577}},
14754 {
14755 {0.3262, 0.1956, 0.1394, 0.3388},
14756 {0.3170, 0.2012, 0.1775, 0.3043},
14757 {0.2239, 0.2636, 0.2100, 0.3025},
14758 {0.2051, 0.2221, 0.2292, 0.3436}},
14759 {
14760 {0.3599, 0.2021, 0.1777, 0.2604},
14761 {0.3133, 0.2247, 0.2181, 0.2439},
14762 {0.2621, 0.2637, 0.2030, 0.2713},
14763 {0.2741, 0.1662, 0.2009, 0.3588}},
14764 {
14765 {0.3151, 0.1641, 0.1985, 0.3224},
14766 {0.3033, 0.2540, 0.1908, 0.2519},
14767 {0.2659, 0.2903, 0.2287, 0.2151},
14768 {0.2298, 0.1845, 0.2215, 0.3643}},
14769 {
14770 {0.3639, 0.1855, 0.2058, 0.2448},
14771 {0.3530, 0.2475, 0.1433, 0.2563},
14772 {0.2160, 0.2989, 0.2224, 0.2627},
14773 {0.2336, 0.2012, 0.2342, 0.3310}},
14774 {
14775 {0.2977, 0.1747, 0.1925, 0.3351},
14776 {0.3361, 0.1893, 0.2007, 0.2739},
14777 {0.2497, 0.2650, 0.2356, 0.2496},
14778 {0.2117, 0.1964, 0.1973, 0.3946}},
14779 {
14780 {0.3054, 0.1828, 0.2230, 0.2887},
14781 {0.2863, 0.2216, 0.1996, 0.2925},
14782 {0.2586, 0.2322, 0.2435, 0.2656},
14783 {0.2608, 0.1951, 0.2456, 0.2985}},
14784 {
14785 {0.2962, 0.2105, 0.1738, 0.3195},
14786 {0.2553, 0.2246, 0.2191, 0.3010},
14787 {0.2877, 0.2322, 0.2297, 0.2504},
14788 {0.2176, 0.1831, 0.2379, 0.3614}},
14789 {
14790 {0.3382, 0.1840, 0.2040, 0.2739},
14791 {0.3223, 0.1869, 0.2039, 0.2869},
14792 {0.3044, 0.2412, 0.1850, 0.2693},
14793 {0.2381, 0.1913, 0.2289, 0.3417}},
14794 {
14795 {0.3456, 0.1824, 0.1613, 0.3107},
14796 {0.2712, 0.2482, 0.1788, 0.3019},
14797 {0.2460, 0.2596, 0.2275, 0.2670},
14798 {0.1999, 0.1845, 0.2521, 0.3635}},
14799 {
14800 {0.3293, 0.1891, 0.1972, 0.2844},
14801 {0.3138, 0.2274, 0.1788, 0.2800},
14802 {0.3316, 0.3087, 0.1498, 0.2099},
14803 {0.2649, 0.2031, 0.2047, 0.3273}},
14804 {
14805 {0.3514, 0.1969, 0.1464, 0.3053},
14806 {0.3603, 0.2087, 0.1534, 0.2776},
14807 {0.2249, 0.2636, 0.2317, 0.2798},
14808 {0.2047, 0.2306, 0.2278, 0.3369}},
14809 {
14810 {0.3236, 0.1983, 0.1907, 0.2874},
14811 {0.2928, 0.2441, 0.1909, 0.2723},
14812 {0.2460, 0.2750, 0.2136, 0.2655},
14813 {0.2477, 0.2401, 0.1686, 0.3436}},
14814 {
14815 {0.3684, 0.1941, 0.1423, 0.2952},
14816 {0.3526, 0.2079, 0.1599, 0.2797},
14817 {0.2599, 0.2736, 0.1918, 0.2747},
14818 {0.2383, 0.2223, 0.2345, 0.3049}},
14819 {
14820 {0.3178, 0.1844, 0.2294, 0.2684},
14821 {0.2859, 0.2339, 0.1949, 0.2853},
14822 {0.2514, 0.3054, 0.2186, 0.2247},
14823 {0.2456, 0.2132, 0.2199, 0.3212}},
14824 {
14825 {0.3757, 0.1608, 0.1466, 0.3169},
14826 {0.2809, 0.2739, 0.1597, 0.2856},
14827 {0.3070, 0.2186, 0.1655, 0.3089},
14828 {0.1978, 0.2039, 0.2135, 0.3848}},
14829 {
14830 {0.3445, 0.1876, 0.2222, 0.2456},
14831 {0.3087, 0.1821, 0.2271, 0.2822},
14832 {0.2114, 0.2513, 0.2564, 0.2808},
14833 {0.2061, 0.1970, 0.2405, 0.3565}},
14834 {
14835 {0.2875, 0.2090, 0.1675, 0.3360},
14836 {0.2713, 0.2103, 0.2456, 0.2729},
14837 {0.2584, 0.2691, 0.2132, 0.2593},
14838 {0.2090, 0.1857, 0.2446, 0.3607}},
14839 {
14840 {0.3140, 0.2322, 0.1721, 0.2816},
14841 {0.2937, 0.2507, 0.2293, 0.2262},
14842 {0.2750, 0.2924, 0.1896, 0.2430},
14843 {0.2102, 0.2300, 0.2255, 0.3343}},
14844 {
14845 {0.3528, 0.1727, 0.2072, 0.2674},
14846 {0.2529, 0.2790, 0.1993, 0.2687},
14847 {0.2357, 0.2819, 0.2176, 0.2648},
14848 {0.2755, 0.2089, 0.1973, 0.3182}},
14849 {
14850 {0.3895, 0.1253, 0.1780, 0.3072},
14851 {0.2704, 0.2126, 0.2465, 0.2705},
14852 {0.2941, 0.2539, 0.1626, 0.2894},
14853 {0.1610, 0.2379, 0.2073, 0.3938}},
14854 {
14855 {0.2796, 0.2262, 0.1827, 0.3115},
14856 {0.2542, 0.2418, 0.1728, 0.3312},
14857 {0.2491, 0.2339, 0.2407, 0.2763},
14858 {0.2318, 0.2039, 0.2053, 0.3590}},
14859 {
14860 {0.2930, 0.2382, 0.1783, 0.2905},
14861 {0.3067, 0.2393, 0.2034, 0.2506},
14862 {0.2794, 0.2752, 0.2050, 0.2403},
14863 {0.2388, 0.2088, 0.2186, 0.3339}},
14864 {
14865 {0.3251, 0.2074, 0.1857, 0.2818},
14866 {0.3076, 0.2382, 0.2105, 0.2436},
14867 {0.2184, 0.2575, 0.2048, 0.3193},
14868 {0.2082, 0.1688, 0.2340, 0.3890}},
14869 {
14870 {0.2981, 0.1887, 0.1995, 0.3136},
14871 {0.3343, 0.1920, 0.1829, 0.2907},
14872 {0.2737, 0.2535, 0.2093, 0.2635},
14873 {0.2491, 0.2044, 0.2243, 0.3223}},
14874 {
14875 {0.3167, 0.1939, 0.1610, 0.3284},
14876 {0.3040, 0.2273, 0.2146, 0.2542},
14877 {0.2474, 0.2656, 0.2976, 0.1893},
14878 {0.2208, 0.2025, 0.2591, 0.3176}},
14879 {
14880 {0.3606, 0.1647, 0.1316, 0.3432},
14881 {0.3766, 0.1857, 0.1603, 0.2775},
14882 {0.2880, 0.3006, 0.2020, 0.2094},
14883 {0.2002, 0.1577, 0.2463, 0.3958}},
14884 {
14885 {0.3642, 0.1871, 0.1614, 0.2874},
14886 {0.3320, 0.2085, 0.1748, 0.2848},
14887 {0.2321, 0.3046, 0.2129, 0.2505},
14888 {0.2672, 0.1784, 0.2398, 0.3146}},
14889 {
14890 {0.3176, 0.1700, 0.1937, 0.3187},
14891 {0.2385, 0.2604, 0.2417, 0.2593},
14892 {0.2428, 0.2847, 0.1841, 0.2884},
14893 {0.2477, 0.1840, 0.2573, 0.3110}},
14894 {
14895 {0.3694, 0.1662, 0.1513, 0.3131},
14896 {0.3393, 0.2411, 0.1773, 0.2424},
14897 {0.2151, 0.2865, 0.2264, 0.2720},
14898 {0.2230, 0.1876, 0.2219, 0.3675}},
14899 {
14900 {0.2940, 0.1948, 0.2017, 0.3095},
14901 {0.2982, 0.2770, 0.2000, 0.2249},
14902 {0.2775, 0.2599, 0.2013, 0.2612},
14903 {0.2603, 0.1778, 0.2110, 0.3510}},
14904 {
14905 {0.3115, 0.2094, 0.1805, 0.2987},
14906 {0.2878, 0.2340, 0.1817, 0.2965},
14907 {0.2824, 0.2557, 0.2434, 0.2185},
14908 {0.2573, 0.2270, 0.2240, 0.2917}},
14909 {
14910 {0.3255, 0.2270, 0.1636, 0.2839},
14911 {0.3118, 0.2205, 0.1870, 0.2808},
14912 {0.2659, 0.2431, 0.1882, 0.3027},
14913 {0.2376, 0.1746, 0.2496, 0.3382}},
14914 {
14915 {0.3416, 0.1660, 0.1880, 0.3044},
14916 {0.3270, 0.2458, 0.1605, 0.2667},
14917 {0.3183, 0.2340, 0.1948, 0.2528},
14918 {0.2259, 0.2121, 0.2425, 0.3196}},
14919 {
14920 {0.3680, 0.1775, 0.1787, 0.2759},
14921 {0.3000, 0.2558, 0.1653, 0.2788},
14922 {0.2540, 0.2698, 0.1976, 0.2785},
14923 {0.2594, 0.1861, 0.2776, 0.2769}}
14924 }},
14925 {
14926 { /* Splice_Site: T1_GT; Species: Elegn */
14927 {
14928 {0.3265, 0.3265, 0.3265, 0.3265},
14929 {0.2232, 0.2232, 0.2232, 0.2232},
14930 {0.1505, 0.1505, 0.1505, 0.1505},
14931 {0.2998, 0.2998, 0.2998, 0.2998}},
14932 {
14933 {0.3200, 0.1663, 0.1958, 0.3179},
14934 {0.3832, 0.1472, 0.1756, 0.2940},
14935 {0.3933, 0.1834, 0.1510, 0.2723},
14936 {0.1331, 0.2235, 0.2563, 0.3871}},
14937 {
14938 {0.3479, 0.1736, 0.2598, 0.2188},
14939 {0.3763, 0.1415, 0.2825, 0.1997},
14940 {0.3545, 0.1874, 0.2672, 0.1909},
14941 {0.1892, 0.2265, 0.3421, 0.2421}},
14942 {
14943 {0.3616, 0.1931, 0.1417, 0.3036},
14944 {0.3425, 0.2287, 0.1480, 0.2808},
14945 {0.4037, 0.2157, 0.1661, 0.2145},
14946 {0.1747, 0.2620, 0.1445, 0.4187}},
14947 {
14948 {0.3081, 0.1733, 0.1946, 0.3240},
14949 {0.3941, 0.1467, 0.1750, 0.2842},
14950 {0.3794, 0.1786, 0.1684, 0.2737},
14951 {0.1256, 0.2244, 0.2454, 0.4046}},
14952 {
14953 {0.3619, 0.1680, 0.2594, 0.2107},
14954 {0.3832, 0.1454, 0.2727, 0.1986},
14955 {0.3526, 0.1872, 0.2639, 0.1963},
14956 {0.1880, 0.2242, 0.3570, 0.2308}},
14957 {
14958 {0.3785, 0.1955, 0.1365, 0.2895},
14959 {0.3471, 0.2332, 0.1519, 0.2677},
14960 {0.3941, 0.2060, 0.1815, 0.2185},
14961 {0.1447, 0.2603, 0.1543, 0.4408}},
14962 {
14963 {0.3061, 0.1721, 0.2070, 0.3149},
14964 {0.3900, 0.1445, 0.1873, 0.2782},
14965 {0.3808, 0.1808, 0.1671, 0.2712},
14966 {0.1300, 0.2360, 0.2623, 0.3717}},
14967 {
14968 {0.3494, 0.1750, 0.2652, 0.2104},
14969 {0.3834, 0.1454, 0.2665, 0.2047},
14970 {0.3633, 0.1844, 0.2588, 0.1935},
14971 {0.2003, 0.2246, 0.3360, 0.2391}},
14972 {
14973 {0.3738, 0.1859, 0.1441, 0.2963},
14974 {0.3482, 0.2137, 0.1444, 0.2937},
14975 {0.4075, 0.2066, 0.1588, 0.2272},
14976 {0.1476, 0.2655, 0.1650, 0.4220}},
14977 {
14978 {0.3153, 0.1614, 0.2034, 0.3199},
14979 {0.3686, 0.1529, 0.1859, 0.2926},
14980 {0.3461, 0.1818, 0.1860, 0.2861},
14981 {0.1279, 0.2266, 0.2627, 0.3828}},
14982 {
14983 {0.3510, 0.1798, 0.2763, 0.1929},
14984 {0.3826, 0.1508, 0.2718, 0.1948},
14985 {0.3693, 0.1818, 0.2694, 0.1795},
14986 {0.2046, 0.2274, 0.3487, 0.2193}},
14987 {
14988 {0.3938, 0.1819, 0.1490, 0.2753},
14989 {0.3384, 0.2371, 0.1479, 0.2765},
14990 {0.4152, 0.1974, 0.1753, 0.2120},
14991 {0.1656, 0.2796, 0.1566, 0.3982}},
14992 {
14993 {0.3215, 0.1622, 0.1986, 0.3176},
14994 {0.3839, 0.1447, 0.1967, 0.2747},
14995 {0.4022, 0.1683, 0.1599, 0.2696},
14996 {0.1308, 0.2282, 0.2559, 0.3851}},
14997 {
14998 {0.3519, 0.1888, 0.2504, 0.2089},
14999 {0.3852, 0.1501, 0.2727, 0.1920},
15000 {0.3712, 0.1895, 0.2625, 0.1769},
15001 {0.2036, 0.2235, 0.3472, 0.2257}},
15002 {
15003 {0.3680, 0.1835, 0.1562, 0.2923},
15004 {0.3471, 0.2375, 0.1366, 0.2788},
15005 {0.3802, 0.2237, 0.1781, 0.2181},
15006 {0.1527, 0.2607, 0.1464, 0.4402}},
15007 {
15008 {0.3130, 0.1604, 0.2147, 0.3119},
15009 {0.3676, 0.1508, 0.1898, 0.2918},
15010 {0.3884, 0.1729, 0.1717, 0.2670},
15011 {0.1274, 0.2346, 0.2550, 0.3829}},
15012 {
15013 {0.3452, 0.1851, 0.2637, 0.2060},
15014 {0.3904, 0.1352, 0.2763, 0.1980},
15015 {0.3595, 0.1909, 0.2547, 0.1949},
15016 {0.1967, 0.2272, 0.3571, 0.2190}},
15017 {
15018 {0.3693, 0.1920, 0.1410, 0.2977},
15019 {0.3451, 0.2385, 0.1379, 0.2785},
15020 {0.3964, 0.2159, 0.1757, 0.2120},
15021 {0.1470, 0.2492, 0.1530, 0.4509}},
15022 {
15023 {0.3032, 0.1666, 0.2082, 0.3219},
15024 {0.3824, 0.1484, 0.1724, 0.2968},
15025 {0.3866, 0.1725, 0.1669, 0.2740},
15026 {0.1225, 0.2242, 0.2588, 0.3945}},
15027 {
15028 {0.3494, 0.1785, 0.2643, 0.2078},
15029 {0.3927, 0.1331, 0.2718, 0.2023},
15030 {0.3505, 0.1994, 0.2600, 0.1901},
15031 {0.2077, 0.2237, 0.3415, 0.2272}},
15032 {
15033 {0.3774, 0.1848, 0.1411, 0.2967},
15034 {0.3604, 0.2285, 0.1503, 0.2608},
15035 {0.4123, 0.2190, 0.1652, 0.2035},
15036 {0.1836, 0.2523, 0.1482, 0.4159}},
15037 {
15038 {0.3070, 0.1582, 0.1993, 0.3356},
15039 {0.3714, 0.1439, 0.1807, 0.3040},
15040 {0.3848, 0.1839, 0.1722, 0.2591},
15041 {0.1231, 0.2100, 0.2660, 0.4010}},
15042 {
15043 {0.3538, 0.1828, 0.2576, 0.2057},
15044 {0.3993, 0.1430, 0.2614, 0.1963},
15045 {0.3602, 0.2004, 0.2628, 0.1766},
15046 {0.2008, 0.2261, 0.3387, 0.2344}},
15047 {
15048 {0.3865, 0.1853, 0.1389, 0.2893},
15049 {0.3617, 0.2408, 0.1346, 0.2630},
15050 {0.3820, 0.2246, 0.1708, 0.2226},
15051 {0.1465, 0.2670, 0.1391, 0.4474}},
15052 {
15053 {0.3424, 0.1581, 0.1944, 0.3051},
15054 {0.3926, 0.1440, 0.1732, 0.2902},
15055 {0.3910, 0.1719, 0.1667, 0.2705},
15056 {0.1365, 0.2073, 0.2516, 0.4046}},
15057 {
15058 {0.3639, 0.1740, 0.2663, 0.1957},
15059 {0.4021, 0.1425, 0.2769, 0.1784},
15060 {0.3498, 0.2071, 0.2681, 0.1749},
15061 {0.1983, 0.2298, 0.3377, 0.2342}},
15062 {
15063 {0.3930, 0.1837, 0.1405, 0.2829},
15064 {0.3704, 0.2298, 0.1345, 0.2653},
15065 {0.4129, 0.2148, 0.1701, 0.2021},
15066 {0.1634, 0.2410, 0.1469, 0.4487}},
15067 {
15068 {0.3219, 0.1482, 0.2097, 0.3202},
15069 {0.3968, 0.1324, 0.1904, 0.2804},
15070 {0.3758, 0.1735, 0.1797, 0.2710},
15071 {0.1301, 0.2128, 0.2692, 0.3879}},
15072 {
15073 {0.3404, 0.1727, 0.2787, 0.2082},
15074 {0.3933, 0.1234, 0.2619, 0.2214},
15075 {0.3657, 0.1820, 0.2617, 0.1906},
15076 {0.2117, 0.2067, 0.3410, 0.2405}},
15077 {
15078 {0.3752, 0.1778, 0.1511, 0.2958},
15079 {0.3544, 0.2230, 0.1231, 0.2995},
15080 {0.3879, 0.2282, 0.1646, 0.2193},
15081 {0.1750, 0.2275, 0.1444, 0.4531}},
15082 {
15083 {0.2946, 0.1638, 0.2156, 0.3260},
15084 {0.3733, 0.1340, 0.1883, 0.3044},
15085 {0.3745, 0.1757, 0.1862, 0.2635},
15086 {0.1226, 0.2099, 0.2770, 0.3905}},
15087 {
15088 {0.3544, 0.1671, 0.2719, 0.2066},
15089 {0.4108, 0.1335, 0.2603, 0.1954},
15090 {0.3640, 0.1716, 0.2787, 0.1857},
15091 {0.2039, 0.2106, 0.3538, 0.2318}},
15092 {
15093 {0.3855, 0.1753, 0.1598, 0.2794},
15094 {0.3428, 0.2468, 0.1281, 0.2823},
15095 {0.4003, 0.2141, 0.1790, 0.2066},
15096 {0.1607, 0.2316, 0.1682, 0.4395}},
15097 {
15098 {0.3028, 0.1509, 0.2178, 0.3285},
15099 {0.3614, 0.1406, 0.1904, 0.3076},
15100 {0.3861, 0.1697, 0.1911, 0.2531},
15101 {0.1280, 0.1960, 0.2695, 0.4065}},
15102 {
15103 {0.3730, 0.1551, 0.2787, 0.1931},
15104 {0.4014, 0.1363, 0.2776, 0.1847},
15105 {0.3711, 0.1762, 0.2790, 0.1738},
15106 {0.2295, 0.1949, 0.3552, 0.2204}},
15107 {
15108 {0.4040, 0.1739, 0.1511, 0.2710},
15109 {0.3773, 0.2284, 0.1437, 0.2506},
15110 {0.4243, 0.2035, 0.1715, 0.2006},
15111 {0.1692, 0.2420, 0.1523, 0.4365}},
15112 {
15113 {0.2971, 0.1513, 0.2026, 0.3491},
15114 {0.3390, 0.1618, 0.1870, 0.3122},
15115 {0.3844, 0.1613, 0.1857, 0.2687},
15116 {0.1252, 0.2105, 0.2664, 0.3979}},
15117 {
15118 {0.3538, 0.1797, 0.2663, 0.2003},
15119 {0.4183, 0.1360, 0.2596, 0.1861},
15120 {0.3533, 0.1816, 0.2821, 0.1830},
15121 {0.2286, 0.2058, 0.3301, 0.2355}},
15122 {
15123 {0.3989, 0.1700, 0.1493, 0.2818},
15124 {0.3639, 0.2370, 0.1234, 0.2758},
15125 {0.4248, 0.2021, 0.1628, 0.2103},
15126 {0.1694, 0.2394, 0.1506, 0.4406}},
15127 {
15128 {0.3060, 0.1410, 0.1972, 0.3558},
15129 {0.3512, 0.1483, 0.1631, 0.3374},
15130 {0.3799, 0.1679, 0.1835, 0.2687},
15131 {0.1383, 0.1989, 0.2426, 0.4202}},
15132 {
15133 {0.3554, 0.1671, 0.2582, 0.2193},
15134 {0.4102, 0.1290, 0.2588, 0.2020},
15135 {0.3411, 0.1956, 0.2635, 0.1997},
15136 {0.2240, 0.1952, 0.3229, 0.2579}},
15137 {
15138 {0.3597, 0.1730, 0.1515, 0.3158},
15139 {0.3652, 0.2337, 0.1184, 0.2827},
15140 {0.4054, 0.2036, 0.1578, 0.2332},
15141 {0.1689, 0.2159, 0.1478, 0.4674}},
15142 {
15143 {0.2656, 0.1332, 0.2067, 0.3945},
15144 {0.3401, 0.1235, 0.1788, 0.3576},
15145 {0.3574, 0.1569, 0.1936, 0.2920},
15146 {0.1170, 0.1677, 0.2711, 0.4441}},
15147 {
15148 {0.3388, 0.1600, 0.2791, 0.2221},
15149 {0.4173, 0.1351, 0.2314, 0.2161},
15150 {0.3787, 0.1612, 0.2493, 0.2108},
15151 {0.2320, 0.1867, 0.3155, 0.2658}},
15152 {
15153 {0.4085, 0.1503, 0.1309, 0.3102},
15154 {0.3957, 0.2124, 0.1077, 0.2843},
15155 {0.4508, 0.1882, 0.1363, 0.2247},
15156 {0.1869, 0.2011, 0.1177, 0.4943}},
15157 {
15158 {0.3757, 0.1448, 0.1419, 0.3376},
15159 {0.4423, 0.1261, 0.1278, 0.3039},
15160 {0.4857, 0.1745, 0.1352, 0.2046},
15161 {0.1600, 0.1875, 0.2141, 0.4384}},
15162 {
15163 {0.4468, 0.2001, 0.2329, 0.1203},
15164 {0.4814, 0.1872, 0.2058, 0.1256},
15165 {0.4819, 0.2547, 0.2085, 0.0550},
15166 {0.3014, 0.2622, 0.2866, 0.1499}},
15167 {
15168 {0.5902, 0.1448, 0.1020, 0.1630},
15169 {0.6873, 0.1486, 0.0619, 0.1022},
15170 {0.6324, 0.1504, 0.0751, 0.1422},
15171 {0.1379, 0.3172, 0.0987, 0.4463}},
15172 {
15173 {0.1539, 0.0401, 0.6215, 0.1844},
15174 {0.1604, 0.0447, 0.5867, 0.2082},
15175 {0.2942, 0.0589, 0.4575, 0.1894},
15176 {0.0734, 0.0583, 0.6012, 0.2671}},
15177 {
15178 {0.0000, 0.0000, 1.0000, 0.0000},
15179 {0.0000, 0.0000, 1.0000, 0.0000},
15180 {0.0000, 0.0000, 1.0000, 0.0000},
15181 {0.0000, 0.0000, 1.0000, 0.0000}},
15182 {
15183 {0.0000, 0.0000, 0.0000, 0.0000},
15184 {0.0000, 0.0000, 0.0000, 0.0000},
15185 {0.0000, 0.0000, 0.0000, 1.0000},
15186 {0.0000, 0.0000, 0.0000, 0.0000}},
15187 {
15188 {0.0000, 0.0000, 0.0000, 0.0000},
15189 {0.0000, 0.0000, 0.0000, 0.0000},
15190 {0.0000, 0.0000, 0.0000, 0.0000},
15191 {0.5613, 0.0179, 0.2418, 0.1790}},
15192 {
15193 {0.6304, 0.0798, 0.1075, 0.1822},
15194 {0.7204, 0.0593, 0.0951, 0.1253},
15195 {0.8274, 0.0424, 0.0768, 0.0534},
15196 {0.4039, 0.0940, 0.1418, 0.3603}},
15197 {
15198 {0.1208, 0.0376, 0.7269, 0.1147},
15199 {0.2007, 0.0510, 0.5722, 0.1760},
15200 {0.1559, 0.0489, 0.7126, 0.0827},
15201 {0.1247, 0.0541, 0.5993, 0.2220}},
15202 {
15203 {0.3337, 0.1235, 0.1108, 0.4320},
15204 {0.3142, 0.1150, 0.1323, 0.4385},
15205 {0.1979, 0.1012, 0.0736, 0.6274},
15206 {0.1823, 0.1037, 0.1107, 0.6033}},
15207 {
15208 {0.3999, 0.1082, 0.1176, 0.3743},
15209 {0.3672, 0.1164, 0.1154, 0.4010},
15210 {0.3770, 0.1114, 0.1619, 0.3498},
15211 {0.1799, 0.0945, 0.1384, 0.5872}},
15212 {
15213 {0.3755, 0.1135, 0.1296, 0.3814},
15214 {0.4009, 0.1079, 0.1118, 0.3794},
15215 {0.3865, 0.1355, 0.1394, 0.3387},
15216 {0.1871, 0.1004, 0.1267, 0.5858}},
15217 {
15218 {0.3826, 0.1274, 0.1130, 0.3770},
15219 {0.3898, 0.1327, 0.0990, 0.3785},
15220 {0.4183, 0.1297, 0.1590, 0.2930},
15221 {0.1824, 0.1191, 0.1140, 0.5845}},
15222 {
15223 {0.4027, 0.1261, 0.1222, 0.3490},
15224 {0.3702, 0.1395, 0.1199, 0.3704},
15225 {0.4395, 0.1506, 0.1431, 0.2668},
15226 {0.2039, 0.1297, 0.1233, 0.5431}},
15227 {
15228 {0.4185, 0.1236, 0.1345, 0.3234},
15229 {0.3819, 0.1391, 0.1244, 0.3546},
15230 {0.4103, 0.1425, 0.1693, 0.2779},
15231 {0.2175, 0.1330, 0.1467, 0.5028}},
15232 {
15233 {0.4253, 0.1106, 0.1443, 0.3197},
15234 {0.3794, 0.1357, 0.1366, 0.3483},
15235 {0.4099, 0.1342, 0.1727, 0.2831},
15236 {0.2077, 0.1236, 0.1450, 0.5237}},
15237 {
15238 {0.4399, 0.1024, 0.1286, 0.3290},
15239 {0.3680, 0.1284, 0.1310, 0.3727},
15240 {0.4031, 0.1262, 0.1691, 0.3016},
15241 {0.2038, 0.1246, 0.1419, 0.5297}},
15242 {
15243 {0.4382, 0.1197, 0.1291, 0.3130},
15244 {0.3684, 0.1404, 0.1326, 0.3587},
15245 {0.3873, 0.1484, 0.1614, 0.3029},
15246 {0.2162, 0.1308, 0.1411, 0.5119}},
15247 {
15248 {0.4402, 0.1098, 0.1362, 0.3138},
15249 {0.3747, 0.1246, 0.1301, 0.3707},
15250 {0.3980, 0.1311, 0.1556, 0.3152},
15251 {0.2123, 0.1350, 0.1397, 0.5130}},
15252 {
15253 {0.4536, 0.1023, 0.1273, 0.3168},
15254 {0.3945, 0.1236, 0.1369, 0.3449},
15255 {0.3987, 0.1305, 0.1619, 0.3090},
15256 {0.2230, 0.1327, 0.1503, 0.4941}},
15257 {
15258 {0.4424, 0.1045, 0.1342, 0.3188},
15259 {0.3789, 0.1376, 0.1300, 0.3534},
15260 {0.4070, 0.1281, 0.1499, 0.3150},
15261 {0.2226, 0.1274, 0.1501, 0.4999}},
15262 {
15263 {0.4504, 0.0946, 0.1307, 0.3242},
15264 {0.3849, 0.1246, 0.1298, 0.3607},
15265 {0.4022, 0.1352, 0.1571, 0.3055},
15266 {0.2250, 0.1294, 0.1425, 0.5031}},
15267 {
15268 {0.4553, 0.1104, 0.1179, 0.3164},
15269 {0.3569, 0.1543, 0.1344, 0.3544},
15270 {0.3984, 0.1376, 0.1490, 0.3151},
15271 {0.2252, 0.1323, 0.1401, 0.5024}},
15272 {
15273 {0.4705, 0.1054, 0.1285, 0.2956},
15274 {0.3889, 0.1383, 0.1400, 0.3328},
15275 {0.4219, 0.1485, 0.1590, 0.2706},
15276 {0.2224, 0.1310, 0.1620, 0.4845}},
15277 {
15278 {0.4589, 0.1032, 0.1333, 0.3046},
15279 {0.3916, 0.1253, 0.1336, 0.3495},
15280 {0.3870, 0.1445, 0.1682, 0.3002},
15281 {0.2273, 0.1339, 0.1495, 0.4893}},
15282 {
15283 {0.4596, 0.1164, 0.1193, 0.3047},
15284 {0.3565, 0.1419, 0.1396, 0.3620},
15285 {0.3853, 0.1498, 0.1503, 0.3146},
15286 {0.2247, 0.1389, 0.1603, 0.4761}},
15287 {
15288 {0.4482, 0.1192, 0.1257, 0.3070},
15289 {0.3787, 0.1466, 0.1451, 0.3296},
15290 {0.3973, 0.1528, 0.1584, 0.2915},
15291 {0.2403, 0.1431, 0.1521, 0.4644}},
15292 {
15293 {0.4551, 0.1167, 0.1280, 0.3002},
15294 {0.3745, 0.1468, 0.1481, 0.3306},
15295 {0.3946, 0.1414, 0.1473, 0.3168},
15296 {0.2340, 0.1423, 0.1508, 0.4728}},
15297 {
15298 {0.4549, 0.1190, 0.1274, 0.2987},
15299 {0.3867, 0.1426, 0.1386, 0.3321},
15300 {0.3914, 0.1462, 0.1565, 0.3059},
15301 {0.2349, 0.1412, 0.1576, 0.4663}},
15302 {
15303 {0.4816, 0.1184, 0.1126, 0.2875},
15304 {0.3777, 0.1459, 0.1260, 0.3504},
15305 {0.3826, 0.1530, 0.1642, 0.3002},
15306 {0.2394, 0.1415, 0.1475, 0.4716}},
15307 {
15308 {0.4806, 0.1103, 0.1192, 0.2899},
15309 {0.3887, 0.1437, 0.1370, 0.3306},
15310 {0.4097, 0.1349, 0.1486, 0.3068},
15311 {0.2474, 0.1435, 0.1419, 0.4672}},
15312 {
15313 {0.4896, 0.1062, 0.1142, 0.2900},
15314 {0.3871, 0.1558, 0.1259, 0.3312},
15315 {0.3943, 0.1554, 0.1499, 0.3004},
15316 {0.2554, 0.1456, 0.1473, 0.4517}},
15317 {
15318 {0.4947, 0.1087, 0.1094, 0.2872},
15319 {0.4155, 0.1493, 0.1251, 0.3101},
15320 {0.4025, 0.1492, 0.1326, 0.3158},
15321 {0.2693, 0.1451, 0.1430, 0.4426}},
15322 {
15323 {0.4874, 0.1106, 0.1041, 0.2979},
15324 {0.4172, 0.1400, 0.1146, 0.3282},
15325 {0.3812, 0.1633, 0.1610, 0.2944},
15326 {0.2669, 0.1428, 0.1330, 0.4574}},
15327 {
15328 {0.4876, 0.1155, 0.1040, 0.2928},
15329 {0.4150, 0.1471, 0.1202, 0.3177},
15330 {0.3819, 0.1624, 0.1535, 0.3022},
15331 {0.2729, 0.1513, 0.1442, 0.4316}},
15332 {
15333 {0.4840, 0.1157, 0.1069, 0.2933},
15334 {0.4032, 0.1474, 0.1214, 0.3280},
15335 {0.3900, 0.1625, 0.1433, 0.3042},
15336 {0.2789, 0.1395, 0.1417, 0.4399}},
15337 {
15338 {0.4611, 0.1136, 0.1099, 0.3154},
15339 {0.4070, 0.1509, 0.1289, 0.3133},
15340 {0.3564, 0.1494, 0.1683, 0.3258},
15341 {0.2678, 0.1450, 0.1461, 0.4411}},
15342 {
15343 {0.4665, 0.1225, 0.1087, 0.3023},
15344 {0.3930, 0.1587, 0.1378, 0.3104},
15345 {0.3753, 0.1613, 0.1557, 0.3078},
15346 {0.2679, 0.1386, 0.1535, 0.4400}},
15347 {
15348 {0.4687, 0.1138, 0.1082, 0.3093},
15349 {0.3955, 0.1418, 0.1332, 0.3295},
15350 {0.3716, 0.1631, 0.1542, 0.3110},
15351 {0.2598, 0.1419, 0.1472, 0.4511}},
15352 {
15353 {0.4608, 0.1107, 0.1079, 0.3206},
15354 {0.3842, 0.1651, 0.1329, 0.3178},
15355 {0.3660, 0.1414, 0.1633, 0.3292},
15356 {0.2534, 0.1378, 0.1456, 0.4632}},
15357 {
15358 {0.4698, 0.1127, 0.0998, 0.3176},
15359 {0.3692, 0.1674, 0.1282, 0.3352},
15360 {0.3579, 0.1661, 0.1507, 0.3253},
15361 {0.2394, 0.1421, 0.1381, 0.4804}},
15362 {
15363 {0.4529, 0.1102, 0.1017, 0.3352},
15364 {0.3754, 0.1536, 0.1328, 0.3382},
15365 {0.3555, 0.1609, 0.1431, 0.3406},
15366 {0.2316, 0.1363, 0.1338, 0.4983}},
15367 {
15368 {0.4603, 0.1131, 0.0926, 0.3340},
15369 {0.3914, 0.1528, 0.1273, 0.3285},
15370 {0.3518, 0.1439, 0.1360, 0.3683},
15371 {0.2175, 0.1401, 0.1284, 0.5139}},
15372 {
15373 {0.4393, 0.1119, 0.0979, 0.3509},
15374 {0.3911, 0.1562, 0.1332, 0.3196},
15375 {0.3530, 0.1626, 0.1332, 0.3511},
15376 {0.2182, 0.1341, 0.1233, 0.5244}},
15377 {
15378 {0.4329, 0.1129, 0.1160, 0.3382},
15379 {0.4102, 0.1443, 0.1258, 0.3197},
15380 {0.3420, 0.1631, 0.1590, 0.3358},
15381 {0.1966, 0.1407, 0.1198, 0.5429}},
15382 {
15383 {0.4128, 0.1200, 0.1335, 0.3337},
15384 {0.4252, 0.1543, 0.1257, 0.2947},
15385 {0.3419, 0.1740, 0.1565, 0.3276},
15386 {0.1957, 0.1540, 0.1130, 0.5374}},
15387 {
15388 {0.3996, 0.1130, 0.1708, 0.3165},
15389 {0.4611, 0.1480, 0.1092, 0.2818},
15390 {0.3491, 0.1694, 0.1753, 0.3062},
15391 {0.1873, 0.1661, 0.1089, 0.5378}},
15392 {
15393 {0.3792, 0.1185, 0.1980, 0.3043},
15394 {0.4907, 0.1519, 0.1060, 0.2514},
15395 {0.3449, 0.1654, 0.1844, 0.3053},
15396 {0.1882, 0.1797, 0.1089, 0.5232}},
15397 {
15398 {0.3661, 0.1112, 0.2346, 0.2881},
15399 {0.5062, 0.1446, 0.0956, 0.2537},
15400 {0.3499, 0.1754, 0.1988, 0.2759},
15401 {0.1885, 0.1878, 0.1086, 0.5151}},
15402 {
15403 {0.3603, 0.1144, 0.2549, 0.2703},
15404 {0.5024, 0.1517, 0.0963, 0.2496},
15405 {0.3516, 0.1826, 0.1982, 0.2676},
15406 {0.1851, 0.1941, 0.1179, 0.5030}},
15407 {
15408 {0.3631, 0.1188, 0.2564, 0.2616},
15409 {0.4909, 0.1485, 0.1096, 0.2510},
15410 {0.3650, 0.1792, 0.2047, 0.2511},
15411 {0.2016, 0.1901, 0.1224, 0.4860}},
15412 {
15413 {0.3624, 0.1210, 0.2500, 0.2666},
15414 {0.4801, 0.1603, 0.1105, 0.2491},
15415 {0.3639, 0.1699, 0.2059, 0.2603},
15416 {0.1910, 0.1983, 0.1402, 0.4705}},
15417 {
15418 {0.3837, 0.1227, 0.2395, 0.2541},
15419 {0.4461, 0.1661, 0.1294, 0.2584},
15420 {0.3642, 0.1811, 0.2018, 0.2529},
15421 {0.1898, 0.1905, 0.1518, 0.4679}},
15422 {
15423 {0.3869, 0.1272, 0.2161, 0.2698},
15424 {0.4376, 0.1598, 0.1356, 0.2671},
15425 {0.3697, 0.1878, 0.1848, 0.2576},
15426 {0.1940, 0.2021, 0.1529, 0.4510}},
15427 {
15428 {0.3940, 0.1368, 0.2014, 0.2678},
15429 {0.3929, 0.1827, 0.1410, 0.2834},
15430 {0.3671, 0.1790, 0.2019, 0.2520},
15431 {0.1896, 0.2054, 0.1635, 0.4415}},
15432 {
15433 {0.3880, 0.1496, 0.1897, 0.2726},
15434 {0.3861, 0.1764, 0.1676, 0.2699},
15435 {0.3558, 0.1851, 0.1907, 0.2685},
15436 {0.2095, 0.2058, 0.1616, 0.4230}}},
15437
15438 { /* Splice_Site: T2_GT; Species: Elegn */
15439 {
15440 {0.2824, 0.2824, 0.2824, 0.2824},
15441 {0.1818, 0.1818, 0.1818, 0.1818},
15442 {0.1946, 0.1946, 0.1946, 0.1946},
15443 {0.3411, 0.3411, 0.3411, 0.3411}},
15444 {
15445 {0.3480, 0.1771, 0.2556, 0.2193},
15446 {0.3790, 0.1656, 0.2575, 0.1979},
15447 {0.3457, 0.1865, 0.2587, 0.2090},
15448 {0.1977, 0.2249, 0.3342, 0.2432}},
15449 {
15450 {0.3642, 0.2152, 0.1380, 0.2826},
15451 {0.3190, 0.2544, 0.1488, 0.2778},
15452 {0.3824, 0.2217, 0.1991, 0.1968},
15453 {0.1402, 0.2786, 0.1748, 0.4064}},
15454 {
15455 {0.3091, 0.1699, 0.1914, 0.3295},
15456 {0.3806, 0.1538, 0.1709, 0.2948},
15457 {0.3687, 0.2011, 0.1487, 0.2815},
15458 {0.1414, 0.2266, 0.2459, 0.3861}},
15459 {
15460 {0.3639, 0.1655, 0.2647, 0.2059},
15461 {0.3782, 0.1406, 0.2756, 0.2057},
15462 {0.3569, 0.1954, 0.2582, 0.1894},
15463 {0.1953, 0.2295, 0.3404, 0.2348}},
15464 {
15465 {0.3743, 0.1916, 0.1392, 0.2949},
15466 {0.3313, 0.2617, 0.1345, 0.2725},
15467 {0.3915, 0.2070, 0.1766, 0.2248},
15468 {0.1617, 0.2783, 0.1465, 0.4136}},
15469 {
15470 {0.3083, 0.1801, 0.1802, 0.3314},
15471 {0.3902, 0.1497, 0.1733, 0.2868},
15472 {0.3825, 0.1847, 0.1531, 0.2797},
15473 {0.1480, 0.2227, 0.2367, 0.3926}},
15474 {
15475 {0.3457, 0.1767, 0.2549, 0.2228},
15476 {0.3789, 0.1619, 0.2508, 0.2084},
15477 {0.3561, 0.1965, 0.2510, 0.1963},
15478 {0.1899, 0.2297, 0.3438, 0.2366}},
15479 {
15480 {0.3591, 0.1954, 0.1472, 0.2983},
15481 {0.2980, 0.2700, 0.1453, 0.2866},
15482 {0.3853, 0.2095, 0.1769, 0.2283},
15483 {0.1520, 0.2549, 0.1840, 0.4092}},
15484 {
15485 {0.3018, 0.1730, 0.2050, 0.3202},
15486 {0.4004, 0.1521, 0.1723, 0.2752},
15487 {0.3370, 0.1917, 0.1684, 0.3029},
15488 {0.1326, 0.2205, 0.2553, 0.3916}},
15489 {
15490 {0.3538, 0.1749, 0.2568, 0.2145},
15491 {0.3651, 0.1511, 0.2600, 0.2239},
15492 {0.3462, 0.2006, 0.2579, 0.1952},
15493 {0.1910, 0.2308, 0.3303, 0.2480}},
15494 {
15495 {0.3511, 0.1922, 0.1554, 0.3013},
15496 {0.3189, 0.2599, 0.1510, 0.2703},
15497 {0.3710, 0.2264, 0.1949, 0.2077},
15498 {0.1635, 0.2721, 0.1535, 0.4109}},
15499 {
15500 {0.3234, 0.1680, 0.1882, 0.3204},
15501 {0.4138, 0.1497, 0.1700, 0.2665},
15502 {0.3666, 0.1780, 0.1609, 0.2945},
15503 {0.1409, 0.2273, 0.2569, 0.3749}},
15504 {
15505 {0.3389, 0.1802, 0.2618, 0.2191},
15506 {0.3703, 0.1636, 0.2603, 0.2058},
15507 {0.3563, 0.1924, 0.2481, 0.2031},
15508 {0.2040, 0.2152, 0.3466, 0.2341}},
15509 {
15510 {0.3625, 0.1870, 0.1520, 0.2985},
15511 {0.3103, 0.2535, 0.1398, 0.2964},
15512 {0.3611, 0.2169, 0.2037, 0.2183},
15513 {0.1552, 0.2580, 0.1561, 0.4306}},
15514 {
15515 {0.3105, 0.1733, 0.1860, 0.3302},
15516 {0.3866, 0.1539, 0.1719, 0.2875},
15517 {0.3703, 0.1864, 0.1536, 0.2897},
15518 {0.1380, 0.1994, 0.2693, 0.3933}},
15519 {
15520 {0.3565, 0.1707, 0.2606, 0.2122},
15521 {0.3834, 0.1455, 0.2678, 0.2032},
15522 {0.3731, 0.1852, 0.2492, 0.1925},
15523 {0.1948, 0.2273, 0.3426, 0.2353}},
15524 {
15525 {0.3558, 0.1863, 0.1558, 0.3020},
15526 {0.3371, 0.2524, 0.1315, 0.2791},
15527 {0.3630, 0.2073, 0.1854, 0.2443},
15528 {0.1532, 0.2647, 0.1609, 0.4212}},
15529 {
15530 {0.3033, 0.1684, 0.1993, 0.3290},
15531 {0.3787, 0.1480, 0.1788, 0.2945},
15532 {0.3602, 0.1842, 0.1652, 0.2905},
15533 {0.1340, 0.2104, 0.2582, 0.3974}},
15534 {
15535 {0.3531, 0.1788, 0.2555, 0.2125},
15536 {0.4000, 0.1458, 0.2506, 0.2036},
15537 {0.3534, 0.1905, 0.2548, 0.2013},
15538 {0.2036, 0.2328, 0.3295, 0.2342}},
15539 {
15540 {0.3659, 0.2024, 0.1493, 0.2825},
15541 {0.3656, 0.2354, 0.1311, 0.2679},
15542 {0.3670, 0.2308, 0.1775, 0.2246},
15543 {0.1578, 0.2626, 0.1437, 0.4359}},
15544 {
15545 {0.3260, 0.1547, 0.2031, 0.3163},
15546 {0.3765, 0.1485, 0.1745, 0.3005},
15547 {0.3767, 0.1691, 0.1694, 0.2848},
15548 {0.1354, 0.2196, 0.2456, 0.3993}},
15549 {
15550 {0.3455, 0.1710, 0.2732, 0.2103},
15551 {0.3905, 0.1516, 0.2620, 0.1960},
15552 {0.3379, 0.1798, 0.2799, 0.2024},
15553 {0.2126, 0.2130, 0.3379, 0.2365}},
15554 {
15555 {0.3599, 0.1979, 0.1373, 0.3049},
15556 {0.3170, 0.2545, 0.1371, 0.2914},
15557 {0.3667, 0.2200, 0.1766, 0.2366},
15558 {0.1522, 0.2708, 0.1821, 0.3948}},
15559 {
15560 {0.3098, 0.1580, 0.1897, 0.3426},
15561 {0.3859, 0.1388, 0.1850, 0.2903},
15562 {0.3601, 0.1941, 0.1657, 0.2801},
15563 {0.1326, 0.2146, 0.2458, 0.4069}},
15564 {
15565 {0.3521, 0.1731, 0.2613, 0.2135},
15566 {0.4024, 0.1516, 0.2552, 0.1909},
15567 {0.3539, 0.1898, 0.2725, 0.1837},
15568 {0.1982, 0.2255, 0.3329, 0.2435}},
15569 {
15570 {0.3730, 0.1923, 0.1559, 0.2788},
15571 {0.3457, 0.2505, 0.1371, 0.2667},
15572 {0.3885, 0.2234, 0.1763, 0.2118},
15573 {0.1756, 0.2659, 0.1691, 0.3894}},
15574 {
15575 {0.3195, 0.1506, 0.1932, 0.3367},
15576 {0.3848, 0.1462, 0.1856, 0.2834},
15577 {0.3673, 0.1695, 0.1762, 0.2871},
15578 {0.1490, 0.2046, 0.2559, 0.3905}},
15579 {
15580 {0.3561, 0.1548, 0.2797, 0.2094},
15581 {0.3977, 0.1343, 0.2591, 0.2088},
15582 {0.3636, 0.1926, 0.2683, 0.1755},
15583 {0.2048, 0.2033, 0.3466, 0.2453}},
15584 {
15585 {0.3649, 0.1848, 0.1554, 0.2949},
15586 {0.3401, 0.2697, 0.1262, 0.2641},
15587 {0.3936, 0.2096, 0.1689, 0.2279},
15588 {0.1609, 0.2588, 0.1725, 0.4078}},
15589 {
15590 {0.2989, 0.1719, 0.1933, 0.3359},
15591 {0.3833, 0.1500, 0.1776, 0.2890},
15592 {0.3484, 0.1957, 0.1758, 0.2801},
15593 {0.1382, 0.2129, 0.2475, 0.4013}},
15594 {
15595 {0.3471, 0.1720, 0.2759, 0.2051},
15596 {0.3968, 0.1358, 0.2582, 0.2093},
15597 {0.3601, 0.1789, 0.2703, 0.1908},
15598 {0.2102, 0.2132, 0.3422, 0.2344}},
15599 {
15600 {0.3632, 0.1920, 0.1543, 0.2905},
15601 {0.3296, 0.2605, 0.1227, 0.2872},
15602 {0.3634, 0.2055, 0.1979, 0.2333},
15603 {0.1739, 0.2455, 0.1569, 0.4238}},
15604 {
15605 {0.2841, 0.1592, 0.2155, 0.3412},
15606 {0.3831, 0.1390, 0.1869, 0.2910},
15607 {0.4005, 0.1636, 0.1757, 0.2602},
15608 {0.1433, 0.1868, 0.2628, 0.4071}},
15609 {
15610 {0.3508, 0.1652, 0.2724, 0.2116},
15611 {0.3817, 0.1281, 0.2821, 0.2081},
15612 {0.3588, 0.1762, 0.2675, 0.1975},
15613 {0.2007, 0.1987, 0.3620, 0.2386}},
15614 {
15615 {0.3733, 0.1979, 0.1546, 0.2741},
15616 {0.3390, 0.2560, 0.1415, 0.2635},
15617 {0.3668, 0.2034, 0.2100, 0.2198},
15618 {0.1664, 0.2481, 0.1640, 0.4215}},
15619 {
15620 {0.3222, 0.1479, 0.1863, 0.3436},
15621 {0.3577, 0.1303, 0.1757, 0.3364},
15622 {0.3900, 0.1649, 0.1816, 0.2635},
15623 {0.1296, 0.1990, 0.2439, 0.4276}},
15624 {
15625 {0.3606, 0.1658, 0.2635, 0.2101},
15626 {0.3939, 0.1416, 0.2636, 0.2010},
15627 {0.3652, 0.1856, 0.2719, 0.1773},
15628 {0.2077, 0.2047, 0.3324, 0.2552}},
15629 {
15630 {0.3722, 0.1923, 0.1546, 0.2809},
15631 {0.3549, 0.2637, 0.1275, 0.2539},
15632 {0.3839, 0.2155, 0.1842, 0.2164},
15633 {0.1845, 0.2462, 0.1481, 0.4211}},
15634 {
15635 {0.3032, 0.1560, 0.1820, 0.3588},
15636 {0.3651, 0.1435, 0.1469, 0.3445},
15637 {0.3724, 0.1777, 0.1680, 0.2819},
15638 {0.1318, 0.1993, 0.2458, 0.4231}},
15639 {
15640 {0.3439, 0.1704, 0.2662, 0.2196},
15641 {0.3991, 0.1185, 0.2449, 0.2374},
15642 {0.3581, 0.1863, 0.2585, 0.1970},
15643 {0.2246, 0.1710, 0.3320, 0.2725}},
15644 {
15645 {0.3678, 0.1991, 0.1598, 0.2733},
15646 {0.3525, 0.2688, 0.1137, 0.2650},
15647 {0.3736, 0.2203, 0.1821, 0.2240},
15648 {0.1514, 0.2388, 0.1899, 0.4200}},
15649 {
15650 {0.2926, 0.1488, 0.1853, 0.3733},
15651 {0.3637, 0.1372, 0.1566, 0.3425},
15652 {0.3518, 0.1648, 0.1625, 0.3209},
15653 {0.1410, 0.1801, 0.2354, 0.4434}},
15654 {
15655 {0.3362, 0.1761, 0.2684, 0.2192},
15656 {0.3999, 0.1336, 0.2229, 0.2436},
15657 {0.3701, 0.1681, 0.2507, 0.2112},
15658 {0.2389, 0.1882, 0.3231, 0.2497}},
15659 {
15660 {0.3611, 0.1770, 0.1593, 0.3026},
15661 {0.3330, 0.2586, 0.1046, 0.3038},
15662 {0.3774, 0.2080, 0.1670, 0.2476},
15663 {0.1541, 0.2458, 0.1519, 0.4483}},
15664 {
15665 {0.3377, 0.1324, 0.1535, 0.3764},
15666 {0.3945, 0.1080, 0.1450, 0.3525},
15667 {0.4212, 0.1388, 0.1365, 0.3034},
15668 {0.1525, 0.1641, 0.2161, 0.4673}},
15669 {
15670 {0.4069, 0.1726, 0.2406, 0.1800},
15671 {0.4680, 0.1407, 0.2148, 0.1765},
15672 {0.4623, 0.2040, 0.1770, 0.1567},
15673 {0.2707, 0.2237, 0.2727, 0.2329}},
15674 {
15675 {0.4346, 0.1992, 0.1437, 0.2225},
15676 {0.3980, 0.3089, 0.0913, 0.2018},
15677 {0.4739, 0.2311, 0.1694, 0.1256},
15678 {0.1846, 0.3201, 0.1221, 0.3731}},
15679 {
15680 {0.4720, 0.1393, 0.0830, 0.3058},
15681 {0.5536, 0.1092, 0.0786, 0.2586},
15682 {0.5330, 0.1445, 0.0827, 0.2398},
15683 {0.2197, 0.1794, 0.1657, 0.4353}},
15684 {
15685 {0.2302, 0.0763, 0.5883, 0.1052},
15686 {0.3217, 0.0829, 0.4698, 0.1256},
15687 {0.3176, 0.1006, 0.4261, 0.1557},
15688 {0.1267, 0.0878, 0.6494, 0.1362}},
15689 {
15690 {0.0000, 0.0000, 1.0000, 0.0000},
15691 {0.0000, 0.0000, 1.0000, 0.0000},
15692 {0.0000, 0.0000, 1.0000, 0.0000},
15693 {0.0000, 0.0000, 1.0000, 0.0000}},
15694 {
15695 {0.0000, 0.0000, 0.0000, 0.0000},
15696 {0.0000, 0.0000, 0.0000, 0.0000},
15697 {0.0000, 0.0000, 0.0000, 1.0000},
15698 {0.0000, 0.0000, 0.0000, 0.0000}},
15699 {
15700 {0.0000, 0.0000, 0.0000, 0.0000},
15701 {0.0000, 0.0000, 0.0000, 0.0000},
15702 {0.0000, 0.0000, 0.0000, 0.0000},
15703 {0.5492, 0.0184, 0.2648, 0.1676}},
15704 {
15705 {0.6501, 0.0816, 0.0965, 0.1718},
15706 {0.6961, 0.0708, 0.0991, 0.1340},
15707 {0.8105, 0.0447, 0.0846, 0.0602},
15708 {0.4457, 0.0796, 0.1305, 0.3442}},
15709 {
15710 {0.1157, 0.0318, 0.7574, 0.0951},
15711 {0.2059, 0.0592, 0.5903, 0.1445},
15712 {0.1556, 0.0456, 0.7214, 0.0775},
15713 {0.1101, 0.0460, 0.6171, 0.2268}},
15714 {
15715 {0.3141, 0.1344, 0.1017, 0.4498},
15716 {0.3124, 0.1146, 0.1109, 0.4622},
15717 {0.1773, 0.1008, 0.0661, 0.6558},
15718 {0.2035, 0.1079, 0.1001, 0.5886}},
15719 {
15720 {0.4033, 0.1141, 0.1158, 0.3668},
15721 {0.3357, 0.1363, 0.1006, 0.4274},
15722 {0.3598, 0.1471, 0.1267, 0.3664},
15723 {0.1783, 0.0921, 0.1270, 0.6026}},
15724 {
15725 {0.3715, 0.1205, 0.1320, 0.3760},
15726 {0.3907, 0.0954, 0.1199, 0.3940},
15727 {0.3908, 0.1388, 0.1533, 0.3171},
15728 {0.1777, 0.1058, 0.1381, 0.5784}},
15729 {
15730 {0.3867, 0.1232, 0.1152, 0.3748},
15731 {0.3674, 0.1385, 0.1028, 0.3914},
15732 {0.3944, 0.1499, 0.1508, 0.3048},
15733 {0.1923, 0.1129, 0.1090, 0.5858}},
15734 {
15735 {0.4021, 0.1261, 0.1244, 0.3474},
15736 {0.3736, 0.1423, 0.1153, 0.3688},
15737 {0.4079, 0.1473, 0.1526, 0.2923},
15738 {0.1918, 0.1326, 0.1199, 0.5556}},
15739 {
15740 {0.4262, 0.1204, 0.1358, 0.3176},
15741 {0.3909, 0.1322, 0.1283, 0.3487},
15742 {0.4148, 0.1303, 0.1712, 0.2837},
15743 {0.2074, 0.1272, 0.1450, 0.5204}},
15744 {
15745 {0.4421, 0.1091, 0.1337, 0.3151},
15746 {0.3931, 0.1281, 0.1403, 0.3386},
15747 {0.4126, 0.1332, 0.1755, 0.2788},
15748 {0.2045, 0.1187, 0.1537, 0.5231}},
15749 {
15750 {0.4274, 0.1170, 0.1301, 0.3255},
15751 {0.3577, 0.1286, 0.1311, 0.3826},
15752 {0.3986, 0.1209, 0.1610, 0.3194},
15753 {0.2163, 0.1239, 0.1398, 0.5200}},
15754 {
15755 {0.4306, 0.1110, 0.1302, 0.3282},
15756 {0.3333, 0.1303, 0.1351, 0.4013},
15757 {0.3918, 0.1397, 0.1705, 0.2980},
15758 {0.2073, 0.1359, 0.1406, 0.5163}},
15759 {
15760 {0.4351, 0.1167, 0.1351, 0.3131},
15761 {0.3693, 0.1462, 0.1291, 0.3555},
15762 {0.3684, 0.1333, 0.1696, 0.3287},
15763 {0.2137, 0.1357, 0.1414, 0.5092}},
15764 {
15765 {0.4547, 0.1047, 0.1268, 0.3138},
15766 {0.3700, 0.1475, 0.1325, 0.3500},
15767 {0.3966, 0.1342, 0.1538, 0.3154},
15768 {0.2256, 0.1324, 0.1438, 0.4982}},
15769 {
15770 {0.4495, 0.1047, 0.1257, 0.3201},
15771 {0.3510, 0.1362, 0.1475, 0.3653},
15772 {0.4076, 0.1181, 0.1582, 0.3161},
15773 {0.2096, 0.1223, 0.1538, 0.5143}},
15774 {
15775 {0.4545, 0.0991, 0.1332, 0.3132},
15776 {0.3626, 0.1366, 0.1358, 0.3650},
15777 {0.4100, 0.1349, 0.1605, 0.2946},
15778 {0.2185, 0.1238, 0.1485, 0.5092}},
15779 {
15780 {0.4589, 0.1128, 0.1214, 0.3069},
15781 {0.3861, 0.1392, 0.1371, 0.3376},
15782 {0.4184, 0.1326, 0.1436, 0.3053},
15783 {0.2280, 0.1242, 0.1464, 0.5014}},
15784 {
15785 {0.4552, 0.1172, 0.1334, 0.2942},
15786 {0.3802, 0.1348, 0.1261, 0.3589},
15787 {0.3788, 0.1455, 0.1649, 0.3108},
15788 {0.2224, 0.1380, 0.1565, 0.4831}},
15789 {
15790 {0.4505, 0.1094, 0.1298, 0.3103},
15791 {0.3790, 0.1249, 0.1479, 0.3481},
15792 {0.3872, 0.1394, 0.1611, 0.3122},
15793 {0.2273, 0.1236, 0.1524, 0.4967}},
15794 {
15795 {0.4569, 0.1223, 0.1265, 0.2943},
15796 {0.3607, 0.1668, 0.1295, 0.3429},
15797 {0.3766, 0.1563, 0.1512, 0.3160},
15798 {0.2304, 0.1418, 0.1514, 0.4764}},
15799 {
15800 {0.4557, 0.1161, 0.1209, 0.3072},
15801 {0.3740, 0.1470, 0.1244, 0.3546},
15802 {0.3736, 0.1614, 0.1545, 0.3106},
15803 {0.2354, 0.1445, 0.1569, 0.4631}},
15804 {
15805 {0.4528, 0.1136, 0.1342, 0.2994},
15806 {0.3868, 0.1499, 0.1278, 0.3355},
15807 {0.3692, 0.1455, 0.1634, 0.3220},
15808 {0.2428, 0.1437, 0.1522, 0.4613}},
15809 {
15810 {0.4642, 0.1088, 0.1231, 0.3039},
15811 {0.3904, 0.1648, 0.1163, 0.3285},
15812 {0.3849, 0.1500, 0.1559, 0.3092},
15813 {0.2356, 0.1489, 0.1518, 0.4638}},
15814 {
15815 {0.4622, 0.1201, 0.1226, 0.2951},
15816 {0.3780, 0.1698, 0.1264, 0.3258},
15817 {0.3714, 0.1604, 0.1430, 0.3252},
15818 {0.2374, 0.1477, 0.1542, 0.4606}},
15819 {
15820 {0.4745, 0.1036, 0.1172, 0.3047},
15821 {0.3960, 0.1456, 0.1380, 0.3204},
15822 {0.3723, 0.1463, 0.1697, 0.3117},
15823 {0.2405, 0.1410, 0.1496, 0.4688}},
15824 {
15825 {0.4857, 0.1091, 0.1178, 0.2874},
15826 {0.3836, 0.1532, 0.1244, 0.3387},
15827 {0.3895, 0.1598, 0.1547, 0.2960},
15828 {0.2494, 0.1490, 0.1534, 0.4482}},
15829 {
15830 {0.4920, 0.1123, 0.1105, 0.2851},
15831 {0.3881, 0.1672, 0.1261, 0.3186},
15832 {0.4028, 0.1480, 0.1512, 0.2979},
15833 {0.2520, 0.1367, 0.1433, 0.4681}},
15834 {
15835 {0.4730, 0.1210, 0.1083, 0.2977},
15836 {0.3965, 0.1548, 0.1286, 0.3201},
15837 {0.3808, 0.1519, 0.1647, 0.3026},
15838 {0.2566, 0.1496, 0.1497, 0.4441}},
15839 {
15840 {0.4804, 0.1136, 0.1085, 0.2975},
15841 {0.4070, 0.1622, 0.1323, 0.2986},
15842 {0.4171, 0.1565, 0.1342, 0.2922},
15843 {0.2748, 0.1482, 0.1474, 0.4297}},
15844 {
15845 {0.4860, 0.1199, 0.1133, 0.2808},
15846 {0.3988, 0.1527, 0.1265, 0.3219},
15847 {0.3703, 0.1726, 0.1579, 0.2993},
15848 {0.2718, 0.1521, 0.1407, 0.4354}},
15849 {
15850 {0.4714, 0.1192, 0.1121, 0.2972},
15851 {0.3936, 0.1721, 0.1286, 0.3057},
15852 {0.3413, 0.1552, 0.1755, 0.3280},
15853 {0.2629, 0.1449, 0.1378, 0.4544}},
15854 {
15855 {0.4564, 0.1197, 0.1087, 0.3153},
15856 {0.3833, 0.1686, 0.1331, 0.3151},
15857 {0.3638, 0.1717, 0.1588, 0.3057},
15858 {0.2630, 0.1491, 0.1473, 0.4405}},
15859 {
15860 {0.4469, 0.1232, 0.1131, 0.3167},
15861 {0.3881, 0.1578, 0.1272, 0.3269},
15862 {0.3951, 0.1478, 0.1372, 0.3199},
15863 {0.2560, 0.1412, 0.1403, 0.4625}},
15864 {
15865 {0.4547, 0.1185, 0.1130, 0.3138},
15866 {0.3885, 0.1442, 0.1474, 0.3199},
15867 {0.3690, 0.1665, 0.1465, 0.3181},
15868 {0.2476, 0.1366, 0.1483, 0.4675}},
15869 {
15870 {0.4507, 0.1143, 0.1133, 0.3218},
15871 {0.3779, 0.1529, 0.1324, 0.3368},
15872 {0.3440, 0.1670, 0.1464, 0.3426},
15873 {0.2436, 0.1389, 0.1368, 0.4807}},
15874 {
15875 {0.4603, 0.1160, 0.1009, 0.3228},
15876 {0.3519, 0.1506, 0.1516, 0.3459},
15877 {0.3418, 0.1520, 0.1566, 0.3495},
15878 {0.2304, 0.1372, 0.1407, 0.4917}},
15879 {
15880 {0.4520, 0.1187, 0.0889, 0.3403},
15881 {0.3884, 0.1502, 0.1314, 0.3300},
15882 {0.3751, 0.1538, 0.1490, 0.3220},
15883 {0.2195, 0.1398, 0.1408, 0.4999}},
15884 {
15885 {0.4481, 0.1143, 0.0984, 0.3391},
15886 {0.3880, 0.1562, 0.1227, 0.3331},
15887 {0.3564, 0.1595, 0.1422, 0.3419},
15888 {0.2109, 0.1413, 0.1238, 0.5241}},
15889 {
15890 {0.4339, 0.1269, 0.1123, 0.3269},
15891 {0.4042, 0.1458, 0.1202, 0.3298},
15892 {0.3535, 0.1554, 0.1662, 0.3249},
15893 {0.1893, 0.1603, 0.1154, 0.5351}},
15894 {
15895 {0.4147, 0.1121, 0.1286, 0.3447},
15896 {0.4128, 0.1568, 0.1251, 0.3053},
15897 {0.3471, 0.1748, 0.1584, 0.3197},
15898 {0.1862, 0.1700, 0.1144, 0.5294}},
15899 {
15900 {0.3993, 0.1058, 0.1778, 0.3171},
15901 {0.4517, 0.1532, 0.1054, 0.2897},
15902 {0.3476, 0.1828, 0.1582, 0.3114},
15903 {0.1786, 0.1692, 0.1131, 0.5392}},
15904 {
15905 {0.3816, 0.1170, 0.2061, 0.2953},
15906 {0.5001, 0.1463, 0.1052, 0.2484},
15907 {0.3567, 0.1809, 0.1757, 0.2867},
15908 {0.1905, 0.1779, 0.1071, 0.5245}},
15909 {
15910 {0.3802, 0.1174, 0.2296, 0.2728},
15911 {0.4833, 0.1433, 0.1037, 0.2697},
15912 {0.3531, 0.1951, 0.1850, 0.2668},
15913 {0.1867, 0.1863, 0.1133, 0.5137}},
15914 {
15915 {0.3765, 0.1132, 0.2455, 0.2648},
15916 {0.5081, 0.1452, 0.1072, 0.2396},
15917 {0.3610, 0.1759, 0.1797, 0.2834},
15918 {0.1950, 0.1963, 0.1178, 0.4909}},
15919 {
15920 {0.3563, 0.1250, 0.2485, 0.2702},
15921 {0.4729, 0.1586, 0.1045, 0.2640},
15922 {0.3705, 0.1914, 0.1760, 0.2621},
15923 {0.2034, 0.1813, 0.1353, 0.4800}},
15924 {
15925 {0.3718, 0.1205, 0.2440, 0.2637},
15926 {0.4619, 0.1636, 0.1148, 0.2597},
15927 {0.3699, 0.1844, 0.1787, 0.2670},
15928 {0.2077, 0.2019, 0.1344, 0.4560}},
15929 {
15930 {0.3811, 0.1310, 0.2230, 0.2649},
15931 {0.4541, 0.1655, 0.1304, 0.2500},
15932 {0.3590, 0.1934, 0.1837, 0.2640},
15933 {0.1938, 0.1862, 0.1634, 0.4565}},
15934 {
15935 {0.3763, 0.1255, 0.2223, 0.2759},
15936 {0.4179, 0.1773, 0.1287, 0.2760},
15937 {0.3569, 0.1921, 0.1820, 0.2691},
15938 {0.1923, 0.2039, 0.1569, 0.4469}},
15939 {
15940 {0.3962, 0.1340, 0.1938, 0.2760},
15941 {0.4181, 0.1748, 0.1392, 0.2679},
15942 {0.3714, 0.1860, 0.1855, 0.2571},
15943 {0.2059, 0.2099, 0.1594, 0.4248}},
15944 {
15945 {0.3928, 0.1496, 0.1908, 0.2668},
15946 {0.4012, 0.1946, 0.1456, 0.2586},
15947 {0.3550, 0.2076, 0.1668, 0.2706},
15948 {0.1981, 0.2088, 0.1713, 0.4217}}},
15949
15950 { /* Splice_Site: T0_GT; Species: Elegn */
15951 {
15952 {0.3027, 0.3027, 0.3027, 0.3027},
15953 {0.1930, 0.1930, 0.1930, 0.1930},
15954 {0.2861, 0.2861, 0.2861, 0.2861},
15955 {0.2182, 0.2182, 0.2182, 0.2182}},
15956 {
15957 {0.3580, 0.1937, 0.1437, 0.3047},
15958 {0.3151, 0.2841, 0.1412, 0.2597},
15959 {0.3958, 0.2068, 0.1865, 0.2109},
15960 {0.1631, 0.2667, 0.1504, 0.4198}},
15961 {
15962 {0.3204, 0.1718, 0.1761, 0.3317},
15963 {0.3701, 0.1504, 0.1915, 0.2880},
15964 {0.3889, 0.1769, 0.1609, 0.2733},
15965 {0.1435, 0.2235, 0.2554, 0.3776}},
15966 {
15967 {0.3473, 0.1735, 0.2614, 0.2179},
15968 {0.3766, 0.1507, 0.2673, 0.2054},
15969 {0.3449, 0.1832, 0.2611, 0.2109},
15970 {0.1941, 0.2262, 0.3357, 0.2439}},
15971 {
15972 {0.3622, 0.1845, 0.1365, 0.3168},
15973 {0.3217, 0.2361, 0.1614, 0.2807},
15974 {0.3513, 0.2164, 0.1929, 0.2393},
15975 {0.1628, 0.2711, 0.1577, 0.4083}},
15976 {
15977 {0.3097, 0.1718, 0.1769, 0.3416},
15978 {0.3993, 0.1450, 0.1734, 0.2823},
15979 {0.3780, 0.1811, 0.1284, 0.3124},
15980 {0.1393, 0.2086, 0.2573, 0.3949}},
15981 {
15982 {0.3494, 0.1707, 0.2559, 0.2240},
15983 {0.3713, 0.1443, 0.2754, 0.2090},
15984 {0.3578, 0.1757, 0.2839, 0.1827},
15985 {0.1892, 0.2313, 0.3320, 0.2475}},
15986 {
15987 {0.3709, 0.1862, 0.1429, 0.3000},
15988 {0.3425, 0.2304, 0.1420, 0.2851},
15989 {0.3957, 0.2110, 0.1865, 0.2068},
15990 {0.1626, 0.2518, 0.1466, 0.4390}},
15991 {
15992 {0.2993, 0.1686, 0.1881, 0.3440},
15993 {0.4023, 0.1428, 0.1786, 0.2763},
15994 {0.3799, 0.1577, 0.1814, 0.2810},
15995 {0.1357, 0.2321, 0.2556, 0.3765}},
15996 {
15997 {0.3501, 0.1805, 0.2516, 0.2179},
15998 {0.3792, 0.1367, 0.2717, 0.2125},
15999 {0.3628, 0.1898, 0.2492, 0.1982},
16000 {0.1994, 0.2206, 0.3420, 0.2380}},
16001 {
16002 {0.3621, 0.1805, 0.1562, 0.3012},
16003 {0.3354, 0.2330, 0.1461, 0.2855},
16004 {0.3764, 0.2207, 0.1727, 0.2302},
16005 {0.1566, 0.2456, 0.1578, 0.4400}},
16006 {
16007 {0.3126, 0.1674, 0.1933, 0.3267},
16008 {0.3937, 0.1427, 0.1794, 0.2842},
16009 {0.3799, 0.1647, 0.1759, 0.2795},
16010 {0.1237, 0.2209, 0.2690, 0.3863}},
16011 {
16012 {0.3462, 0.1786, 0.2525, 0.2227},
16013 {0.3832, 0.1462, 0.2714, 0.1993},
16014 {0.3727, 0.1906, 0.2504, 0.1863},
16015 {0.1932, 0.2248, 0.3389, 0.2431}},
16016 {
16017 {0.3475, 0.1901, 0.1434, 0.3189},
16018 {0.3278, 0.2140, 0.1632, 0.2950},
16019 {0.3637, 0.2236, 0.2016, 0.2110},
16020 {0.1568, 0.2547, 0.1597, 0.4288}},
16021 {
16022 {0.3119, 0.1631, 0.1902, 0.3347},
16023 {0.3646, 0.1521, 0.1820, 0.3013},
16024 {0.3690, 0.1709, 0.1785, 0.2816},
16025 {0.1236, 0.2132, 0.2687, 0.3945}},
16026 {
16027 {0.3684, 0.1649, 0.2566, 0.2101},
16028 {0.3962, 0.1352, 0.2647, 0.2039},
16029 {0.3800, 0.1908, 0.2364, 0.1929},
16030 {0.2058, 0.2178, 0.3353, 0.2411}},
16031 {
16032 {0.3738, 0.1832, 0.1469, 0.2961},
16033 {0.3546, 0.2286, 0.1395, 0.2772},
16034 {0.3895, 0.2201, 0.1696, 0.2208},
16035 {0.1491, 0.2608, 0.1729, 0.4172}},
16036 {
16037 {0.3028, 0.1652, 0.1967, 0.3353},
16038 {0.3894, 0.1509, 0.1860, 0.2737},
16039 {0.3558, 0.1716, 0.1894, 0.2831},
16040 {0.1273, 0.2232, 0.2565, 0.3931}},
16041 {
16042 {0.3535, 0.1748, 0.2567, 0.2150},
16043 {0.3970, 0.1448, 0.2495, 0.2086},
16044 {0.3545, 0.1827, 0.2738, 0.1889},
16045 {0.2092, 0.2319, 0.3261, 0.2328}},
16046 {
16047 {0.3627, 0.1922, 0.1557, 0.2894},
16048 {0.3669, 0.2139, 0.1430, 0.2762},
16049 {0.3847, 0.2122, 0.1838, 0.2193},
16050 {0.1773, 0.2545, 0.1544, 0.4138}},
16051 {
16052 {0.2957, 0.1689, 0.1855, 0.3499},
16053 {0.3797, 0.1381, 0.1750, 0.3072},
16054 {0.3510, 0.1605, 0.1857, 0.3029},
16055 {0.1234, 0.2167, 0.2548, 0.4051}},
16056 {
16057 {0.3659, 0.1892, 0.2463, 0.1986},
16058 {0.4067, 0.1486, 0.2606, 0.1840},
16059 {0.3736, 0.1792, 0.2523, 0.1949},
16060 {0.2043, 0.2198, 0.3370, 0.2389}},
16061 {
16062 {0.3714, 0.1859, 0.1542, 0.2884},
16063 {0.3286, 0.2436, 0.1495, 0.2783},
16064 {0.3884, 0.2099, 0.1778, 0.2240},
16065 {0.1412, 0.2547, 0.1665, 0.4376}},
16066 {
16067 {0.3115, 0.1578, 0.1992, 0.3315},
16068 {0.3608, 0.1541, 0.1736, 0.3115},
16069 {0.3545, 0.1751, 0.1907, 0.2796},
16070 {0.1186, 0.2117, 0.2386, 0.4310}},
16071 {
16072 {0.3619, 0.1776, 0.2509, 0.2095},
16073 {0.4069, 0.1276, 0.2643, 0.2012},
16074 {0.3887, 0.1901, 0.2460, 0.1752},
16075 {0.1963, 0.2090, 0.3343, 0.2604}},
16076 {
16077 {0.3739, 0.1782, 0.1500, 0.2979},
16078 {0.3157, 0.2691, 0.1362, 0.2790},
16079 {0.3843, 0.2013, 0.1863, 0.2281},
16080 {0.1532, 0.2533, 0.1530, 0.4404}},
16081 {
16082 {0.3268, 0.1520, 0.1771, 0.3441},
16083 {0.4040, 0.1456, 0.1911, 0.2593},
16084 {0.3882, 0.1685, 0.1809, 0.2625},
16085 {0.1253, 0.2257, 0.2452, 0.4039}},
16086 {
16087 {0.3550, 0.1699, 0.2595, 0.2156},
16088 {0.3808, 0.1437, 0.2665, 0.2090},
16089 {0.3860, 0.1678, 0.2864, 0.1599},
16090 {0.1964, 0.2230, 0.3406, 0.2400}},
16091 {
16092 {0.3782, 0.1770, 0.1567, 0.2880},
16093 {0.3874, 0.2308, 0.1429, 0.2388},
16094 {0.4227, 0.1899, 0.1747, 0.2127},
16095 {0.1932, 0.2315, 0.1598, 0.4155}},
16096 {
16097 {0.3226, 0.1551, 0.1881, 0.3343},
16098 {0.3943, 0.1344, 0.1881, 0.2832},
16099 {0.4003, 0.1719, 0.1696, 0.2582},
16100 {0.1366, 0.2126, 0.2716, 0.3792}},
16101 {
16102 {0.3523, 0.1635, 0.2675, 0.2168},
16103 {0.3905, 0.1421, 0.2539, 0.2135},
16104 {0.3567, 0.1948, 0.2609, 0.1876},
16105 {0.2048, 0.2164, 0.3305, 0.2483}},
16106 {
16107 {0.3654, 0.1894, 0.1648, 0.2804},
16108 {0.3648, 0.2419, 0.1387, 0.2546},
16109 {0.4054, 0.2144, 0.1722, 0.2079},
16110 {0.1700, 0.2461, 0.1500, 0.4339}},
16111 {
16112 {0.3014, 0.1628, 0.1926, 0.3432},
16113 {0.3911, 0.1348, 0.1969, 0.2773},
16114 {0.4007, 0.1769, 0.1610, 0.2614},
16115 {0.1238, 0.1909, 0.2701, 0.4152}},
16116 {
16117 {0.3453, 0.1744, 0.2582, 0.2220},
16118 {0.3904, 0.1305, 0.2591, 0.2200},
16119 {0.3539, 0.1724, 0.2719, 0.2019},
16120 {0.2099, 0.1984, 0.3473, 0.2444}},
16121 {
16122 {0.3590, 0.1755, 0.1655, 0.3001},
16123 {0.3417, 0.2412, 0.1289, 0.2882},
16124 {0.3890, 0.2142, 0.1711, 0.2257},
16125 {0.1776, 0.2132, 0.1771, 0.4321}},
16126 {
16127 {0.2807, 0.1436, 0.2049, 0.3709},
16128 {0.3777, 0.1296, 0.1837, 0.3089},
16129 {0.3866, 0.1540, 0.1804, 0.2790},
16130 {0.1321, 0.1883, 0.2829, 0.3968}},
16131 {
16132 {0.3549, 0.1677, 0.2747, 0.2027},
16133 {0.4077, 0.1303, 0.2569, 0.2050},
16134 {0.3632, 0.1814, 0.3011, 0.1542},
16135 {0.2206, 0.2062, 0.3402, 0.2330}},
16136 {
16137 {0.4026, 0.1641, 0.1565, 0.2768},
16138 {0.3604, 0.2712, 0.1338, 0.2347},
16139 {0.4355, 0.2049, 0.1744, 0.1852},
16140 {0.1626, 0.2241, 0.1386, 0.4746}},
16141 {
16142 {0.2903, 0.1431, 0.2008, 0.3659},
16143 {0.3692, 0.1351, 0.1770, 0.3186},
16144 {0.3818, 0.1790, 0.1840, 0.2551},
16145 {0.1233, 0.2004, 0.2647, 0.4116}},
16146 {
16147 {0.3471, 0.1731, 0.2596, 0.2202},
16148 {0.4196, 0.1269, 0.2409, 0.2126},
16149 {0.3644, 0.1866, 0.2736, 0.1755},
16150 {0.2255, 0.1971, 0.3327, 0.2447}},
16151 {
16152 {0.3881, 0.1758, 0.1535, 0.2826},
16153 {0.3524, 0.2724, 0.1243, 0.2509},
16154 {0.4111, 0.2090, 0.1739, 0.2059},
16155 {0.1891, 0.2513, 0.1310, 0.4285}},
16156 {
16157 {0.2859, 0.1571, 0.1781, 0.3788},
16158 {0.3674, 0.1414, 0.1625, 0.3287},
16159 {0.3850, 0.1780, 0.1666, 0.2704},
16160 {0.1349, 0.1984, 0.2423, 0.4244}},
16161 {
16162 {0.3466, 0.1887, 0.2528, 0.2118},
16163 {0.4199, 0.1383, 0.2295, 0.2123},
16164 {0.3544, 0.1855, 0.2483, 0.2118},
16165 {0.2387, 0.1973, 0.3031, 0.2609}},
16166 {
16167 {0.3495, 0.1720, 0.1631, 0.3154},
16168 {0.3506, 0.2329, 0.1131, 0.3034},
16169 {0.3833, 0.2010, 0.1606, 0.2551},
16170 {0.1873, 0.2169, 0.1399, 0.4559}},
16171 {
16172 {0.2636, 0.1356, 0.1952, 0.4055},
16173 {0.3188, 0.1300, 0.1642, 0.3870},
16174 {0.3528, 0.1648, 0.1802, 0.3022},
16175 {0.1136, 0.1821, 0.2431, 0.4611}},
16176 {
16177 {0.3937, 0.1355, 0.2286, 0.2422},
16178 {0.4452, 0.1178, 0.2046, 0.2324},
16179 {0.4297, 0.1464, 0.2155, 0.2085},
16180 {0.2336, 0.1622, 0.3023, 0.3019}},
16181 {
16182 {0.4317, 0.1780, 0.1450, 0.2453},
16183 {0.4215, 0.2735, 0.0929, 0.2121},
16184 {0.4900, 0.2015, 0.1322, 0.1763},
16185 {0.1940, 0.2055, 0.1228, 0.4777}},
16186 {
16187 {0.3833, 0.1921, 0.1296, 0.2950},
16188 {0.4992, 0.1571, 0.1309, 0.2128},
16189 {0.4778, 0.2828, 0.1391, 0.1003},
16190 {0.1987, 0.2591, 0.2291, 0.3131}},
16191 {
16192 {0.5659, 0.1410, 0.1532, 0.1399},
16193 {0.6896, 0.0962, 0.1093, 0.1049},
16194 {0.6407, 0.1302, 0.1261, 0.1030},
16195 {0.3736, 0.1910, 0.2504, 0.1850}},
16196 {
16197 {0.3205, 0.0788, 0.4837, 0.1171},
16198 {0.3283, 0.1327, 0.3826, 0.1563},
16199 {0.3757, 0.1094, 0.3636, 0.1513},
16200 {0.0788, 0.1816, 0.3878, 0.3518}},
16201 {
16202 {0.0000, 0.0000, 1.0000, 0.0000},
16203 {0.0000, 0.0000, 1.0000, 0.0000},
16204 {0.0000, 0.0000, 1.0000, 0.0000},
16205 {0.0000, 0.0000, 1.0000, 0.0000}},
16206 {
16207 {0.0000, 0.0000, 0.0000, 0.0000},
16208 {0.0000, 0.0000, 0.0000, 0.0000},
16209 {0.0000, 0.0000, 0.0000, 1.0000},
16210 {0.0000, 0.0000, 0.0000, 0.0000}},
16211 {
16212 {0.0000, 0.0000, 0.0000, 0.0000},
16213 {0.0000, 0.0000, 0.0000, 0.0000},
16214 {0.0000, 0.0000, 0.0000, 0.0000},
16215 {0.5601, 0.0144, 0.2613, 0.1641}},
16216 {
16217 {0.6645, 0.0767, 0.0963, 0.1624},
16218 {0.7268, 0.0749, 0.0860, 0.1123},
16219 {0.8436, 0.0385, 0.0700, 0.0479},
16220 {0.4242, 0.1037, 0.1271, 0.3451}},
16221 {
16222 {0.0950, 0.0279, 0.7862, 0.0909},
16223 {0.1974, 0.0551, 0.6021, 0.1454},
16224 {0.1490, 0.0318, 0.7325, 0.0867},
16225 {0.1013, 0.0513, 0.6337, 0.2138}},
16226 {
16227 {0.3107, 0.1308, 0.1044, 0.4541},
16228 {0.3300, 0.1382, 0.0994, 0.4324},
16229 {0.1687, 0.0916, 0.0616, 0.6781},
16230 {0.2099, 0.1073, 0.0933, 0.5895}},
16231 {
16232 {0.3937, 0.1055, 0.1319, 0.3689},
16233 {0.3417, 0.1137, 0.1121, 0.4325},
16234 {0.3807, 0.1329, 0.1725, 0.3139},
16235 {0.1678, 0.0896, 0.1271, 0.6155}},
16236 {
16237 {0.3586, 0.1300, 0.1196, 0.3917},
16238 {0.3722, 0.1269, 0.1243, 0.3765},
16239 {0.3750, 0.1270, 0.1708, 0.3272},
16240 {0.1693, 0.1090, 0.1256, 0.5961}},
16241 {
16242 {0.3969, 0.1159, 0.1158, 0.3713},
16243 {0.3561, 0.1392, 0.0924, 0.4124},
16244 {0.4115, 0.1300, 0.1600, 0.2986},
16245 {0.1729, 0.1148, 0.1069, 0.6055}},
16246 {
16247 {0.3976, 0.1257, 0.1237, 0.3530},
16248 {0.3625, 0.1396, 0.1199, 0.3780},
16249 {0.4171, 0.1460, 0.1636, 0.2733},
16250 {0.2008, 0.1292, 0.1303, 0.5396}},
16251 {
16252 {0.4287, 0.1179, 0.1415, 0.3120},
16253 {0.3842, 0.1359, 0.1199, 0.3600},
16254 {0.4106, 0.1353, 0.1692, 0.2849},
16255 {0.2154, 0.1236, 0.1436, 0.5174}},
16256 {
16257 {0.4246, 0.1144, 0.1452, 0.3158},
16258 {0.3636, 0.1312, 0.1404, 0.3648},
16259 {0.4047, 0.1412, 0.1540, 0.3001},
16260 {0.2047, 0.1257, 0.1457, 0.5239}},
16261 {
16262 {0.4205, 0.1050, 0.1387, 0.3358},
16263 {0.4005, 0.1240, 0.1222, 0.3533},
16264 {0.3786, 0.1299, 0.1708, 0.3207},
16265 {0.2107, 0.1313, 0.1344, 0.5236}},
16266 {
16267 {0.4276, 0.1101, 0.1336, 0.3287},
16268 {0.3702, 0.1536, 0.1332, 0.3430},
16269 {0.3922, 0.1265, 0.1603, 0.3210},
16270 {0.2075, 0.1276, 0.1446, 0.5203}},
16271 {
16272 {0.4366, 0.1100, 0.1264, 0.3270},
16273 {0.3729, 0.1363, 0.1372, 0.3536},
16274 {0.3997, 0.1285, 0.1602, 0.3117},
16275 {0.2132, 0.1316, 0.1392, 0.5160}},
16276 {
16277 {0.4427, 0.1096, 0.1281, 0.3197},
16278 {0.3878, 0.1391, 0.1208, 0.3524},
16279 {0.3925, 0.1174, 0.1722, 0.3179},
16280 {0.2070, 0.1304, 0.1505, 0.5122}},
16281 {
16282 {0.4561, 0.1055, 0.1259, 0.3125},
16283 {0.3825, 0.1277, 0.1230, 0.3667},
16284 {0.4093, 0.1241, 0.1606, 0.3060},
16285 {0.2259, 0.1283, 0.1434, 0.5024}},
16286 {
16287 {0.4619, 0.1049, 0.1147, 0.3185},
16288 {0.3757, 0.1318, 0.1333, 0.3592},
16289 {0.4176, 0.1212, 0.1565, 0.3047},
16290 {0.2302, 0.1221, 0.1486, 0.4991}},
16291 {
16292 {0.4625, 0.1088, 0.1215, 0.3072},
16293 {0.3806, 0.1388, 0.1402, 0.3404},
16294 {0.4026, 0.1464, 0.1567, 0.2944},
16295 {0.2173, 0.1307, 0.1481, 0.5039}},
16296 {
16297 {0.4666, 0.1136, 0.1283, 0.2915},
16298 {0.3754, 0.1354, 0.1474, 0.3418},
16299 {0.4141, 0.1352, 0.1657, 0.2850},
16300 {0.2325, 0.1396, 0.1596, 0.4683}},
16301 {
16302 {0.4550, 0.1100, 0.1276, 0.3074},
16303 {0.3811, 0.1202, 0.1434, 0.3553},
16304 {0.4142, 0.1260, 0.1707, 0.2891},
16305 {0.2313, 0.1324, 0.1516, 0.4846}},
16306 {
16307 {0.4472, 0.1239, 0.1218, 0.3071},
16308 {0.3643, 0.1531, 0.1249, 0.3577},
16309 {0.4076, 0.1352, 0.1532, 0.3040},
16310 {0.2295, 0.1416, 0.1518, 0.4771}},
16311 {
16312 {0.4472, 0.1267, 0.1340, 0.2921},
16313 {0.3826, 0.1500, 0.1272, 0.3402},
16314 {0.3670, 0.1632, 0.1468, 0.3229},
16315 {0.2351, 0.1419, 0.1525, 0.4706}},
16316 {
16317 {0.4588, 0.1182, 0.1172, 0.3058},
16318 {0.3734, 0.1576, 0.1373, 0.3317},
16319 {0.3778, 0.1564, 0.1673, 0.2985},
16320 {0.2386, 0.1427, 0.1576, 0.4611}},
16321 {
16322 {0.4584, 0.1194, 0.1209, 0.3013},
16323 {0.3920, 0.1457, 0.1216, 0.3407},
16324 {0.3910, 0.1491, 0.1536, 0.3063},
16325 {0.2231, 0.1421, 0.1556, 0.4793}},
16326 {
16327 {0.4720, 0.1222, 0.1213, 0.2845},
16328 {0.3659, 0.1558, 0.1328, 0.3454},
16329 {0.3950, 0.1423, 0.1538, 0.3088},
16330 {0.2486, 0.1442, 0.1428, 0.4644}},
16331 {
16332 {0.4860, 0.1032, 0.1151, 0.2957},
16333 {0.3748, 0.1638, 0.1261, 0.3353},
16334 {0.3803, 0.1442, 0.1603, 0.3153},
16335 {0.2468, 0.1503, 0.1453, 0.4575}},
16336 {
16337 {0.4957, 0.1038, 0.1039, 0.2965},
16338 {0.4028, 0.1523, 0.1204, 0.3244},
16339 {0.3995, 0.1526, 0.1604, 0.2876},
16340 {0.2539, 0.1413, 0.1359, 0.4689}},
16341 {
16342 {0.5004, 0.1056, 0.1049, 0.2891},
16343 {0.4023, 0.1371, 0.1282, 0.3324},
16344 {0.3835, 0.1502, 0.1512, 0.3151},
16345 {0.2503, 0.1458, 0.1385, 0.4655}},
16346 {
16347 {0.4952, 0.1053, 0.1058, 0.2938},
16348 {0.3934, 0.1433, 0.1196, 0.3438},
16349 {0.3910, 0.1590, 0.1530, 0.2969},
16350 {0.2671, 0.1450, 0.1379, 0.4500}},
16351 {
16352 {0.4887, 0.1071, 0.1066, 0.2976},
16353 {0.4049, 0.1418, 0.1326, 0.3207},
16354 {0.3852, 0.1630, 0.1602, 0.2916},
16355 {0.2734, 0.1423, 0.1540, 0.4304}},
16356 {
16357 {0.4932, 0.1080, 0.1058, 0.2931},
16358 {0.4093, 0.1459, 0.1317, 0.3131},
16359 {0.3950, 0.1519, 0.1715, 0.2816},
16360 {0.2697, 0.1478, 0.1459, 0.4366}},
16361 {
16362 {0.4791, 0.1164, 0.1073, 0.2972},
16363 {0.3893, 0.1527, 0.1386, 0.3195},
16364 {0.3799, 0.1662, 0.1554, 0.2985},
16365 {0.2719, 0.1427, 0.1348, 0.4506}},
16366 {
16367 {0.4642, 0.1321, 0.1057, 0.2979},
16368 {0.4046, 0.1510, 0.1323, 0.3122},
16369 {0.3846, 0.1487, 0.1509, 0.3159},
16370 {0.2550, 0.1441, 0.1521, 0.4488}},
16371 {
16372 {0.4637, 0.1204, 0.1083, 0.3076},
16373 {0.3807, 0.1597, 0.1395, 0.3201},
16374 {0.3642, 0.1605, 0.1515, 0.3237},
16375 {0.2504, 0.1443, 0.1571, 0.4481}},
16376 {
16377 {0.4466, 0.1214, 0.1118, 0.3202},
16378 {0.3992, 0.1642, 0.1129, 0.3236},
16379 {0.3686, 0.1693, 0.1375, 0.3246},
16380 {0.2446, 0.1395, 0.1432, 0.4727}},
16381 {
16382 {0.4517, 0.1246, 0.1018, 0.3219},
16383 {0.3839, 0.1493, 0.1370, 0.3298},
16384 {0.3646, 0.1543, 0.1532, 0.3280},
16385 {0.2397, 0.1447, 0.1436, 0.4720}},
16386 {
16387 {0.4554, 0.1173, 0.0982, 0.3292},
16388 {0.3541, 0.1504, 0.1487, 0.3468},
16389 {0.3682, 0.1515, 0.1564, 0.3239},
16390 {0.2302, 0.1365, 0.1345, 0.4988}},
16391 {
16392 {0.4723, 0.1094, 0.0876, 0.3307},
16393 {0.3984, 0.1446, 0.1275, 0.3295},
16394 {0.3685, 0.1523, 0.1558, 0.3233},
16395 {0.2236, 0.1322, 0.1256, 0.5186}},
16396 {
16397 {0.4591, 0.1052, 0.0896, 0.3461},
16398 {0.3846, 0.1714, 0.1203, 0.3237},
16399 {0.3671, 0.1467, 0.1424, 0.3439},
16400 {0.2102, 0.1324, 0.1243, 0.5331}},
16401 {
16402 {0.4495, 0.1070, 0.1139, 0.3296},
16403 {0.4027, 0.1536, 0.1195, 0.3242},
16404 {0.3563, 0.1727, 0.1551, 0.3159},
16405 {0.1918, 0.1481, 0.1124, 0.5477}},
16406 {
16407 {0.4282, 0.1084, 0.1294, 0.3340},
16408 {0.4310, 0.1493, 0.1141, 0.3055},
16409 {0.3362, 0.1746, 0.1456, 0.3436},
16410 {0.1860, 0.1527, 0.1051, 0.5561}},
16411 {
16412 {0.4002, 0.1023, 0.1701, 0.3275},
16413 {0.4613, 0.1571, 0.1178, 0.2639},
16414 {0.3430, 0.1690, 0.1519, 0.3361},
16415 {0.1719, 0.1721, 0.1080, 0.5480}},
16416 {
16417 {0.4044, 0.1092, 0.1982, 0.2882},
16418 {0.4945, 0.1579, 0.0853, 0.2623},
16419 {0.3544, 0.1917, 0.1521, 0.3017},
16420 {0.1806, 0.1722, 0.1068, 0.5404}},
16421 {
16422 {0.3938, 0.1143, 0.2276, 0.2642},
16423 {0.5246, 0.1480, 0.0912, 0.2361},
16424 {0.4042, 0.1645, 0.1546, 0.2767},
16425 {0.1763, 0.1856, 0.1172, 0.5209}},
16426 {
16427 {0.3636, 0.1160, 0.2472, 0.2732},
16428 {0.5004, 0.1555, 0.1002, 0.2439},
16429 {0.3830, 0.1823, 0.1733, 0.2615},
16430 {0.1894, 0.1963, 0.1151, 0.4992}},
16431 {
16432 {0.3719, 0.1169, 0.2608, 0.2503},
16433 {0.5070, 0.1386, 0.1176, 0.2368},
16434 {0.4161, 0.1713, 0.1628, 0.2499},
16435 {0.1926, 0.1920, 0.1320, 0.4833}},
16436 {
16437 {0.3633, 0.1158, 0.2628, 0.2581},
16438 {0.4658, 0.1490, 0.1197, 0.2656},
16439 {0.3956, 0.1765, 0.1646, 0.2633},
16440 {0.1940, 0.1985, 0.1292, 0.4783}},
16441 {
16442 {0.3780, 0.1193, 0.2318, 0.2709},
16443 {0.4462, 0.1677, 0.1274, 0.2588},
16444 {0.4142, 0.1684, 0.1604, 0.2569},
16445 {0.2054, 0.1915, 0.1438, 0.4593}},
16446 {
16447 {0.3578, 0.1348, 0.2251, 0.2823},
16448 {0.4341, 0.1752, 0.1232, 0.2675},
16449 {0.3862, 0.1816, 0.1719, 0.2604},
16450 {0.2009, 0.1991, 0.1491, 0.4509}},
16451 {
16452 {0.3952, 0.1374, 0.2007, 0.2667},
16453 {0.4263, 0.1664, 0.1372, 0.2700},
16454 {0.3801, 0.1953, 0.1644, 0.2602},
16455 {0.1895, 0.1953, 0.1649, 0.4502}},
16456 {
16457 {0.4039, 0.1370, 0.1935, 0.2655},
16458 {0.3805, 0.1804, 0.1582, 0.2809},
16459 {0.3524, 0.1966, 0.1847, 0.2663},
16460 {0.1996, 0.2084, 0.1610, 0.4309}}},
16461
16462 { /* Splice_Site: F1_GT; Species: Elegn */
16463 {
16464 {0.3185, 0.3185, 0.3185, 0.3185},
16465 {0.2157, 0.2157, 0.2157, 0.2157},
16466 {0.1481, 0.1481, 0.1481, 0.1481},
16467 {0.3177, 0.3177, 0.3177, 0.3177}},
16468 {
16469 {0.3521, 0.1781, 0.1902, 0.2796},
16470 {0.3866, 0.1689, 0.1513, 0.2931},
16471 {0.3836, 0.1727, 0.1587, 0.2850},
16472 {0.1631, 0.2414, 0.2213, 0.3742}},
16473 {
16474 {0.3697, 0.1710, 0.2220, 0.2373},
16475 {0.3645, 0.1914, 0.2474, 0.1967},
16476 {0.3727, 0.1893, 0.2444, 0.1937},
16477 {0.1836, 0.2474, 0.2942, 0.2747}},
16478 {
16479 {0.3640, 0.1894, 0.1423, 0.3043},
16480 {0.3289, 0.2203, 0.1515, 0.2993},
16481 {0.3667, 0.2112, 0.1768, 0.2453},
16482 {0.1324, 0.2798, 0.1312, 0.4566}},
16483 {
16484 {0.3322, 0.1813, 0.1892, 0.2973},
16485 {0.3860, 0.1605, 0.1679, 0.2855},
16486 {0.3502, 0.1970, 0.1781, 0.2747},
16487 {0.1581, 0.2436, 0.2279, 0.3703}},
16488 {
16489 {0.3607, 0.1731, 0.2406, 0.2256},
16490 {0.3539, 0.1871, 0.2479, 0.2111},
16491 {0.3684, 0.1879, 0.2544, 0.1893},
16492 {0.1786, 0.2549, 0.2914, 0.2750}},
16493 {
16494 {0.3712, 0.1820, 0.1397, 0.3071},
16495 {0.3396, 0.2163, 0.1559, 0.2883},
16496 {0.3778, 0.2068, 0.1725, 0.2429},
16497 {0.1336, 0.2823, 0.1347, 0.4495}},
16498 {
16499 {0.3328, 0.1805, 0.1947, 0.2920},
16500 {0.3760, 0.1739, 0.1635, 0.2866},
16501 {0.3463, 0.1993, 0.1608, 0.2936},
16502 {0.1519, 0.2428, 0.2354, 0.3699}},
16503 {
16504 {0.3625, 0.1726, 0.2343, 0.2306},
16505 {0.3629, 0.1868, 0.2383, 0.2120},
16506 {0.3530, 0.1913, 0.2596, 0.1960},
16507 {0.1854, 0.2520, 0.2899, 0.2727}},
16508 {
16509 {0.3699, 0.1822, 0.1358, 0.3121},
16510 {0.3336, 0.2184, 0.1535, 0.2946},
16511 {0.3640, 0.2197, 0.1699, 0.2463},
16512 {0.1328, 0.2875, 0.1335, 0.4461}},
16513 {
16514 {0.3096, 0.1921, 0.1967, 0.3016},
16515 {0.3821, 0.1657, 0.1608, 0.2913},
16516 {0.3361, 0.2029, 0.1755, 0.2855},
16517 {0.1473, 0.2614, 0.2264, 0.3650}},
16518 {
16519 {0.3736, 0.1775, 0.2290, 0.2199},
16520 {0.3496, 0.1753, 0.2549, 0.2201},
16521 {0.3687, 0.1866, 0.2616, 0.1832},
16522 {0.1838, 0.2562, 0.2851, 0.2750}},
16523 {
16524 {0.3710, 0.1837, 0.1313, 0.3140},
16525 {0.3338, 0.2214, 0.1437, 0.3010},
16526 {0.3888, 0.2089, 0.1680, 0.2343},
16527 {0.1351, 0.2962, 0.1318, 0.4370}},
16528 {
16529 {0.3375, 0.1885, 0.1863, 0.2877},
16530 {0.3799, 0.1728, 0.1525, 0.2947},
16531 {0.3450, 0.1888, 0.1769, 0.2893},
16532 {0.1465, 0.2554, 0.2387, 0.3594}},
16533 {
16534 {0.3674, 0.1803, 0.2353, 0.2170},
16535 {0.3658, 0.1823, 0.2442, 0.2077},
16536 {0.3614, 0.1978, 0.2545, 0.1863},
16537 {0.1749, 0.2583, 0.3065, 0.2603}},
16538 {
16539 {0.3601, 0.1852, 0.1411, 0.3136},
16540 {0.3307, 0.2167, 0.1469, 0.3057},
16541 {0.3846, 0.2133, 0.1640, 0.2381},
16542 {0.1430, 0.2790, 0.1364, 0.4416}},
16543 {
16544 {0.3394, 0.1742, 0.1969, 0.2895},
16545 {0.3792, 0.1652, 0.1749, 0.2807},
16546 {0.3412, 0.1982, 0.1731, 0.2874},
16547 {0.1526, 0.2547, 0.2456, 0.3470}},
16548 {
16549 {0.3641, 0.1729, 0.2395, 0.2235},
16550 {0.3561, 0.1828, 0.2449, 0.2162},
16551 {0.3693, 0.1986, 0.2484, 0.1838},
16552 {0.1857, 0.2579, 0.3142, 0.2421}},
16553 {
16554 {0.3626, 0.1993, 0.1306, 0.3074},
16555 {0.3276, 0.2269, 0.1463, 0.2991},
16556 {0.3805, 0.2144, 0.1692, 0.2359},
16557 {0.1353, 0.2894, 0.1508, 0.4244}},
16558 {
16559 {0.3304, 0.1837, 0.2007, 0.2851},
16560 {0.3690, 0.1726, 0.1611, 0.2973},
16561 {0.3501, 0.1919, 0.1752, 0.2828},
16562 {0.1504, 0.2600, 0.2555, 0.3342}},
16563 {
16564 {0.3579, 0.1712, 0.2487, 0.2222},
16565 {0.3472, 0.1872, 0.2546, 0.2110},
16566 {0.3601, 0.1857, 0.2631, 0.1910},
16567 {0.1900, 0.2607, 0.3109, 0.2384}},
16568 {
16569 {0.3612, 0.1982, 0.1315, 0.3091},
16570 {0.3391, 0.2130, 0.1446, 0.3033},
16571 {0.3779, 0.2199, 0.1653, 0.2369},
16572 {0.1464, 0.2766, 0.1391, 0.4379}},
16573 {
16574 {0.3380, 0.1819, 0.1996, 0.2805},
16575 {0.3765, 0.1699, 0.1660, 0.2876},
16576 {0.3535, 0.1969, 0.1647, 0.2849},
16577 {0.1436, 0.2520, 0.2564, 0.3480}},
16578 {
16579 {0.3702, 0.1776, 0.2387, 0.2135},
16580 {0.3583, 0.1757, 0.2448, 0.2212},
16581 {0.3643, 0.1775, 0.2705, 0.1877},
16582 {0.1796, 0.2610, 0.2995, 0.2599}},
16583 {
16584 {0.3698, 0.1939, 0.1268, 0.3095},
16585 {0.3178, 0.2256, 0.1556, 0.3010},
16586 {0.3917, 0.2076, 0.1650, 0.2357},
16587 {0.1321, 0.3020, 0.1414, 0.4245}},
16588 {
16589 {0.3156, 0.1877, 0.2005, 0.2962},
16590 {0.3836, 0.1606, 0.1783, 0.2775},
16591 {0.3502, 0.1750, 0.1789, 0.2958},
16592 {0.1407, 0.2535, 0.2431, 0.3627}},
16593 {
16594 {0.3709, 0.1701, 0.2403, 0.2187},
16595 {0.3577, 0.1777, 0.2626, 0.2020},
16596 {0.3627, 0.2006, 0.2591, 0.1776},
16597 {0.1699, 0.2539, 0.3193, 0.2569}},
16598 {
16599 {0.3736, 0.1960, 0.1243, 0.3061},
16600 {0.3237, 0.2141, 0.1468, 0.3154},
16601 {0.3836, 0.2178, 0.1684, 0.2303},
16602 {0.1301, 0.2952, 0.1502, 0.4244}},
16603 {
16604 {0.3320, 0.1925, 0.1959, 0.2795},
16605 {0.3910, 0.1628, 0.1678, 0.2784},
16606 {0.3458, 0.1900, 0.1761, 0.2880},
16607 {0.1402, 0.2591, 0.2521, 0.3486}},
16608 {
16609 {0.3521, 0.1781, 0.2497, 0.2201},
16610 {0.3580, 0.1777, 0.2564, 0.2079},
16611 {0.3579, 0.1985, 0.2586, 0.1849},
16612 {0.1775, 0.2650, 0.3174, 0.2400}},
16613 {
16614 {0.3479, 0.1988, 0.1476, 0.3057},
16615 {0.3069, 0.2179, 0.1559, 0.3193},
16616 {0.3659, 0.2199, 0.1757, 0.2385},
16617 {0.1372, 0.2948, 0.1540, 0.4140}},
16618 {
16619 {0.3147, 0.1821, 0.2046, 0.2985},
16620 {0.3691, 0.1715, 0.1666, 0.2928},
16621 {0.3638, 0.1846, 0.1624, 0.2892},
16622 {0.1473, 0.2514, 0.2635, 0.3378}},
16623 {
16624 {0.3515, 0.1738, 0.2552, 0.2195},
16625 {0.3554, 0.1779, 0.2686, 0.1981},
16626 {0.3518, 0.1926, 0.2714, 0.1842},
16627 {0.1801, 0.2525, 0.3440, 0.2234}},
16628 {
16629 {0.3687, 0.1931, 0.1365, 0.3017},
16630 {0.3527, 0.2291, 0.1389, 0.2793},
16631 {0.3956, 0.2039, 0.1705, 0.2300},
16632 {0.1378, 0.2910, 0.1419, 0.4294}},
16633 {
16634 {0.3246, 0.1808, 0.2016, 0.2930},
16635 {0.3700, 0.1658, 0.1824, 0.2817},
16636 {0.3715, 0.1753, 0.1684, 0.2847},
16637 {0.1488, 0.2488, 0.2549, 0.3474}},
16638 {
16639 {0.3506, 0.1845, 0.2493, 0.2156},
16640 {0.3585, 0.1825, 0.2596, 0.1994},
16641 {0.3569, 0.1854, 0.2694, 0.1883},
16642 {0.1817, 0.2550, 0.3320, 0.2313}},
16643 {
16644 {0.3722, 0.1970, 0.1344, 0.2964},
16645 {0.3358, 0.2201, 0.1413, 0.3029},
16646 {0.3777, 0.2048, 0.1855, 0.2320},
16647 {0.1324, 0.2978, 0.1487, 0.4211}},
16648 {
16649 {0.3216, 0.1857, 0.2007, 0.2921},
16650 {0.3799, 0.1667, 0.1659, 0.2875},
16651 {0.3599, 0.1884, 0.1649, 0.2868},
16652 {0.1490, 0.2542, 0.2506, 0.3462}},
16653 {
16654 {0.3460, 0.1756, 0.2578, 0.2207},
16655 {0.3529, 0.1770, 0.2579, 0.2122},
16656 {0.3488, 0.2041, 0.2621, 0.1850},
16657 {0.1863, 0.2508, 0.3313, 0.2316}},
16658 {
16659 {0.3481, 0.2048, 0.1327, 0.3144},
16660 {0.3126, 0.2322, 0.1511, 0.3041},
16661 {0.3604, 0.2180, 0.1796, 0.2419},
16662 {0.1491, 0.2954, 0.1464, 0.4091}},
16663 {
16664 {0.3035, 0.1946, 0.1973, 0.3046},
16665 {0.3769, 0.1752, 0.1681, 0.2798},
16666 {0.3495, 0.1878, 0.1742, 0.2886},
16667 {0.1326, 0.2666, 0.2650, 0.3359}},
16668 {
16669 {0.3423, 0.1838, 0.2637, 0.2102},
16670 {0.3484, 0.1776, 0.2833, 0.1907},
16671 {0.3588, 0.1869, 0.2782, 0.1761},
16672 {0.1808, 0.2608, 0.3341, 0.2242}},
16673 {
16674 {0.3488, 0.1965, 0.1502, 0.3045},
16675 {0.3151, 0.2453, 0.1472, 0.2925},
16676 {0.3683, 0.2148, 0.1784, 0.2385},
16677 {0.1474, 0.2907, 0.1541, 0.4078}},
16678 {
16679 {0.2885, 0.1784, 0.2208, 0.3123},
16680 {0.3623, 0.1592, 0.1961, 0.2825},
16681 {0.3602, 0.1899, 0.1858, 0.2642},
16682 {0.1369, 0.2375, 0.2817, 0.3440}},
16683 {
16684 {0.3409, 0.1725, 0.2683, 0.2183},
16685 {0.3337, 0.1865, 0.2863, 0.1936},
16686 {0.3526, 0.1893, 0.2830, 0.1751},
16687 {0.1634, 0.2697, 0.3410, 0.2259}},
16688 {
16689 {0.3717, 0.1869, 0.1396, 0.3017},
16690 {0.3313, 0.2215, 0.1587, 0.2884},
16691 {0.3956, 0.1978, 0.1812, 0.2254},
16692 {0.1293, 0.2923, 0.1618, 0.4166}},
16693 {
16694 {0.3475, 0.1663, 0.1960, 0.2902},
16695 {0.4156, 0.1526, 0.1630, 0.2688},
16696 {0.3811, 0.1839, 0.1542, 0.2808},
16697 {0.1518, 0.2369, 0.2563, 0.3550}},
16698 {
16699 {0.3420, 0.1711, 0.2728, 0.2141},
16700 {0.3379, 0.1953, 0.2682, 0.1986},
16701 {0.3580, 0.2034, 0.2713, 0.1673},
16702 {0.1904, 0.2538, 0.3378, 0.2180}},
16703 {
16704 {0.3486, 0.2200, 0.1230, 0.3084},
16705 {0.3157, 0.2424, 0.1507, 0.2912},
16706 {0.3716, 0.2266, 0.1633, 0.2385},
16707 {0.1329, 0.3255, 0.1330, 0.4086}},
16708 {
16709 {0.3391, 0.1782, 0.1313, 0.3513},
16710 {0.3674, 0.1656, 0.1467, 0.3203},
16711 {0.3461, 0.1413, 0.1280, 0.3846},
16712 {0.1333, 0.2085, 0.2352, 0.4231}},
16713 {
16714 {0.0000, 0.0000, 1.0000, 0.0000},
16715 {0.0000, 0.0000, 1.0000, 0.0000},
16716 {0.0000, 0.0000, 1.0000, 0.0000},
16717 {0.0000, 0.0000, 1.0000, 0.0000}},
16718 {
16719 {0.0000, 0.0000, 0.0000, 0.0000},
16720 {0.0000, 0.0000, 0.0000, 0.0000},
16721 {0.0000, 0.0000, 0.0000, 1.0000},
16722 {0.0000, 0.0000, 0.0000, 0.0000}},
16723 {
16724 {0.0000, 0.0000, 0.0000, 0.0000},
16725 {0.0000, 0.0000, 0.0000, 0.0000},
16726 {0.0000, 0.0000, 0.0000, 0.0000},
16727 {0.1640, 0.2199, 0.2545, 0.3615}},
16728 {
16729 {0.2975, 0.2136, 0.2292, 0.2597},
16730 {0.3863, 0.1397, 0.2721, 0.2020},
16731 {0.3356, 0.1851, 0.2927, 0.1866},
16732 {0.1651, 0.2680, 0.3395, 0.2274}},
16733 {
16734 {0.3710, 0.2104, 0.1211, 0.2974},
16735 {0.3183, 0.2326, 0.1430, 0.3061},
16736 {0.3986, 0.2131, 0.1524, 0.2359},
16737 {0.1327, 0.2957, 0.1568, 0.4149}},
16738 {
16739 {0.3139, 0.1875, 0.2169, 0.2816},
16740 {0.3717, 0.1884, 0.1611, 0.2788},
16741 {0.3378, 0.2209, 0.1765, 0.2648},
16742 {0.1388, 0.3067, 0.2411, 0.3135}},
16743 {
16744 {0.3448, 0.1816, 0.2658, 0.2078},
16745 {0.3470, 0.1823, 0.2718, 0.1988},
16746 {0.3501, 0.2014, 0.2646, 0.1839},
16747 {0.1729, 0.2494, 0.3576, 0.2202}},
16748 {
16749 {0.3697, 0.1951, 0.1492, 0.2861},
16750 {0.3399, 0.2183, 0.1543, 0.2875},
16751 {0.3816, 0.2065, 0.1721, 0.2397},
16752 {0.1477, 0.2926, 0.1635, 0.3963}},
16753 {
16754 {0.3118, 0.1774, 0.2127, 0.2981},
16755 {0.3773, 0.1526, 0.1813, 0.2888},
16756 {0.3455, 0.1689, 0.1751, 0.3106},
16757 {0.1388, 0.2320, 0.2688, 0.3603}},
16758 {
16759 {0.3336, 0.1748, 0.2669, 0.2247},
16760 {0.3443, 0.1767, 0.2620, 0.2170},
16761 {0.3532, 0.1797, 0.2842, 0.1829},
16762 {0.1816, 0.2487, 0.3483, 0.2214}},
16763 {
16764 {0.3414, 0.2006, 0.1435, 0.3144},
16765 {0.3221, 0.2319, 0.1534, 0.2926},
16766 {0.3767, 0.2048, 0.1740, 0.2445},
16767 {0.1362, 0.2901, 0.1697, 0.4040}},
16768 {
16769 {0.2958, 0.1839, 0.2179, 0.3023},
16770 {0.3705, 0.1718, 0.1792, 0.2784},
16771 {0.3488, 0.1704, 0.1821, 0.2987},
16772 {0.1435, 0.2368, 0.2774, 0.3423}},
16773 {
16774 {0.3513, 0.1805, 0.2661, 0.2022},
16775 {0.3604, 0.1677, 0.2716, 0.2003},
16776 {0.3611, 0.1872, 0.2615, 0.1902},
16777 {0.1857, 0.2461, 0.3466, 0.2216}},
16778 {
16779 {0.3656, 0.1900, 0.1339, 0.3105},
16780 {0.3058, 0.2410, 0.1473, 0.3058},
16781 {0.3703, 0.2121, 0.1805, 0.2371},
16782 {0.1379, 0.2781, 0.1606, 0.4234}},
16783 {
16784 {0.3095, 0.1685, 0.2102, 0.3118},
16785 {0.3801, 0.1493, 0.1759, 0.2948},
16786 {0.3494, 0.1730, 0.1770, 0.3006},
16787 {0.1441, 0.2366, 0.2680, 0.3514}},
16788 {
16789 {0.3589, 0.1740, 0.2609, 0.2062},
16790 {0.3588, 0.1795, 0.2636, 0.1981},
16791 {0.3666, 0.1807, 0.2738, 0.1790},
16792 {0.1848, 0.2467, 0.3510, 0.2174}},
16793 {
16794 {0.3661, 0.1931, 0.1459, 0.2950},
16795 {0.3380, 0.2290, 0.1469, 0.2861},
16796 {0.3783, 0.2074, 0.1821, 0.2322},
16797 {0.1383, 0.2900, 0.1544, 0.4173}},
16798 {
16799 {0.3204, 0.1842, 0.2024, 0.2930},
16800 {0.3691, 0.1535, 0.1816, 0.2958},
16801 {0.3651, 0.1728, 0.1796, 0.2824},
16802 {0.1435, 0.2421, 0.2662, 0.3483}},
16803 {
16804 {0.3506, 0.1796, 0.2516, 0.2183},
16805 {0.3546, 0.1810, 0.2523, 0.2120},
16806 {0.3527, 0.1926, 0.2723, 0.1824},
16807 {0.1881, 0.2383, 0.3466, 0.2270}},
16808 {
16809 {0.3697, 0.1943, 0.1447, 0.2912},
16810 {0.3275, 0.2398, 0.1491, 0.2836},
16811 {0.3819, 0.2062, 0.1729, 0.2390},
16812 {0.1456, 0.2840, 0.1557, 0.4147}},
16813 {
16814 {0.3138, 0.1789, 0.2042, 0.3031},
16815 {0.3788, 0.1576, 0.1725, 0.2911},
16816 {0.3420, 0.1791, 0.1780, 0.3009},
16817 {0.1518, 0.2479, 0.2638, 0.3366}},
16818 {
16819 {0.3382, 0.1844, 0.2531, 0.2243},
16820 {0.3568, 0.1651, 0.2576, 0.2204},
16821 {0.3598, 0.1943, 0.2576, 0.1883},
16822 {0.1872, 0.2452, 0.3351, 0.2326}},
16823 {
16824 {0.3552, 0.2020, 0.1349, 0.3079},
16825 {0.3137, 0.2399, 0.1625, 0.2839},
16826 {0.3683, 0.2045, 0.1831, 0.2440},
16827 {0.1417, 0.2741, 0.1641, 0.4200}},
16828 {
16829 {0.3061, 0.1782, 0.2170, 0.2988},
16830 {0.3784, 0.1586, 0.1809, 0.2822},
16831 {0.3389, 0.1608, 0.1913, 0.3091},
16832 {0.1440, 0.2399, 0.2602, 0.3559}},
16833 {
16834 {0.3544, 0.1843, 0.2408, 0.2205},
16835 {0.3439, 0.1762, 0.2663, 0.2136},
16836 {0.3637, 0.1849, 0.2669, 0.1845},
16837 {0.1864, 0.2441, 0.3440, 0.2255}},
16838 {
16839 {0.3595, 0.1895, 0.1505, 0.3004},
16840 {0.3331, 0.2283, 0.1550, 0.2836},
16841 {0.3838, 0.2041, 0.1754, 0.2367},
16842 {0.1476, 0.2868, 0.1589, 0.4067}},
16843 {
16844 {0.3198, 0.1767, 0.1984, 0.3051},
16845 {0.3770, 0.1648, 0.1698, 0.2884},
16846 {0.3454, 0.1728, 0.1806, 0.3012},
16847 {0.1485, 0.2314, 0.2553, 0.3649}},
16848 {
16849 {0.3511, 0.1812, 0.2539, 0.2138},
16850 {0.3613, 0.1751, 0.2549, 0.2087},
16851 {0.3628, 0.1776, 0.2687, 0.1909},
16852 {0.1809, 0.2504, 0.3348, 0.2339}},
16853 {
16854 {0.3633, 0.2004, 0.1422, 0.2941},
16855 {0.3442, 0.2295, 0.1421, 0.2842},
16856 {0.3779, 0.2012, 0.1759, 0.2450},
16857 {0.1424, 0.2741, 0.1523, 0.4312}},
16858 {
16859 {0.3201, 0.1781, 0.2031, 0.2987},
16860 {0.3713, 0.1463, 0.1859, 0.2965},
16861 {0.3468, 0.1762, 0.1756, 0.3014},
16862 {0.1458, 0.2388, 0.2642, 0.3513}},
16863 {
16864 {0.3415, 0.1836, 0.2556, 0.2192},
16865 {0.3690, 0.1755, 0.2540, 0.2015},
16866 {0.3696, 0.1896, 0.2551, 0.1858},
16867 {0.1941, 0.2436, 0.3285, 0.2337}},
16868 {
16869 {0.3716, 0.1900, 0.1402, 0.2983},
16870 {0.3393, 0.2269, 0.1496, 0.2842},
16871 {0.3870, 0.2101, 0.1675, 0.2355},
16872 {0.1429, 0.2692, 0.1535, 0.4344}},
16873 {
16874 {0.3072, 0.1864, 0.2042, 0.3022},
16875 {0.3716, 0.1536, 0.1702, 0.3045},
16876 {0.3442, 0.1827, 0.1804, 0.2927},
16877 {0.1452, 0.2421, 0.2538, 0.3589}},
16878 {
16879 {0.3509, 0.1757, 0.2527, 0.2207},
16880 {0.3623, 0.1665, 0.2607, 0.2106},
16881 {0.3556, 0.1857, 0.2757, 0.1831},
16882 {0.1858, 0.2446, 0.3306, 0.2389}},
16883 {
16884 {0.3647, 0.1906, 0.1530, 0.2917},
16885 {0.3419, 0.2202, 0.1464, 0.2915},
16886 {0.3733, 0.2054, 0.1627, 0.2586},
16887 {0.1437, 0.2760, 0.1557, 0.4246}},
16888 {
16889 {0.3194, 0.1659, 0.2070, 0.3077},
16890 {0.3818, 0.1616, 0.1720, 0.2846},
16891 {0.3522, 0.1667, 0.1751, 0.3061},
16892 {0.1485, 0.2254, 0.2611, 0.3650}},
16893 {
16894 {0.3565, 0.1776, 0.2453, 0.2206},
16895 {0.3682, 0.1776, 0.2493, 0.2049},
16896 {0.3449, 0.1899, 0.2840, 0.1812},
16897 {0.1952, 0.2260, 0.3260, 0.2529}},
16898 {
16899 {0.3840, 0.1857, 0.1404, 0.2899},
16900 {0.3335, 0.2236, 0.1475, 0.2954},
16901 {0.3670, 0.2064, 0.1786, 0.2480},
16902 {0.1477, 0.2689, 0.1487, 0.4347}},
16903 {
16904 {0.3276, 0.1617, 0.2054, 0.3053},
16905 {0.3822, 0.1614, 0.1746, 0.2818},
16906 {0.3507, 0.1624, 0.1904, 0.2964},
16907 {0.1510, 0.2318, 0.2618, 0.3555}},
16908 {
16909 {0.3604, 0.1758, 0.2507, 0.2131},
16910 {0.3660, 0.1745, 0.2559, 0.2037},
16911 {0.3519, 0.1974, 0.2687, 0.1820},
16912 {0.1970, 0.2325, 0.3251, 0.2453}},
16913 {
16914 {0.3608, 0.1943, 0.1503, 0.2946},
16915 {0.3296, 0.2246, 0.1443, 0.3015},
16916 {0.3798, 0.2061, 0.1679, 0.2463},
16917 {0.1368, 0.2695, 0.1493, 0.4443}},
16918 {
16919 {0.3204, 0.1684, 0.2072, 0.3040},
16920 {0.3733, 0.1677, 0.1687, 0.2903},
16921 {0.3486, 0.1755, 0.1796, 0.2963},
16922 {0.1546, 0.2298, 0.2519, 0.3637}},
16923 {
16924 {0.3530, 0.1718, 0.2529, 0.2223},
16925 {0.3670, 0.1622, 0.2502, 0.2207},
16926 {0.3517, 0.1842, 0.2627, 0.2014},
16927 {0.1900, 0.2409, 0.3268, 0.2423}},
16928 {
16929 {0.3635, 0.1808, 0.1587, 0.2970},
16930 {0.3366, 0.2176, 0.1540, 0.2918},
16931 {0.3753, 0.2077, 0.1755, 0.2415},
16932 {0.1480, 0.2648, 0.1546, 0.4326}},
16933 {
16934 {0.3174, 0.1722, 0.2020, 0.3084},
16935 {0.3566, 0.1566, 0.1853, 0.3015},
16936 {0.3343, 0.1819, 0.1857, 0.2981},
16937 {0.1528, 0.2164, 0.2728, 0.3580}},
16938 {
16939 {0.3592, 0.1821, 0.2412, 0.2175},
16940 {0.3764, 0.1754, 0.2381, 0.2101},
16941 {0.3660, 0.1748, 0.2633, 0.1959},
16942 {0.2030, 0.2364, 0.3164, 0.2441}},
16943 {
16944 {0.3777, 0.1755, 0.1490, 0.2978},
16945 {0.3359, 0.2236, 0.1450, 0.2955},
16946 {0.3889, 0.1919, 0.1658, 0.2535},
16947 {0.1479, 0.2573, 0.1551, 0.4396}},
16948 {
16949 {0.3106, 0.1737, 0.2079, 0.3077},
16950 {0.3737, 0.1580, 0.1760, 0.2923},
16951 {0.3473, 0.1636, 0.1782, 0.3109},
16952 {0.1610, 0.2304, 0.2510, 0.3575}},
16953 {
16954 {0.3669, 0.1729, 0.2422, 0.2180},
16955 {0.3628, 0.1615, 0.2561, 0.2195},
16956 {0.3666, 0.1916, 0.2548, 0.1871},
16957 {0.1938, 0.2236, 0.3198, 0.2629}},
16958 {
16959 {0.3857, 0.1750, 0.1492, 0.2901},
16960 {0.3274, 0.2294, 0.1528, 0.2904},
16961 {0.3774, 0.1976, 0.1761, 0.2489},
16962 {0.1394, 0.2624, 0.1466, 0.4517}},
16963 {
16964 {0.3262, 0.1618, 0.2060, 0.3060},
16965 {0.3738, 0.1562, 0.1752, 0.2948},
16966 {0.3492, 0.1702, 0.1819, 0.2986},
16967 {0.1601, 0.2254, 0.2540, 0.3604}},
16968 {
16969 {0.3559, 0.1757, 0.2422, 0.2263},
16970 {0.3620, 0.1690, 0.2462, 0.2229},
16971 {0.3620, 0.1749, 0.2497, 0.2133},
16972 {0.1975, 0.2213, 0.3187, 0.2625}}},
16973
16974 { /* Splice_Site: F2_GT; Species: Elegn */
16975 {
16976 {0.2980, 0.2980, 0.2980, 0.2980},
16977 {0.1924, 0.1924, 0.1924, 0.1924},
16978 {0.1900, 0.1900, 0.1900, 0.1900},
16979 {0.3196, 0.3196, 0.3196, 0.3196}},
16980 {
16981 {0.3742, 0.1668, 0.2312, 0.2278},
16982 {0.3660, 0.1801, 0.2343, 0.2197},
16983 {0.3657, 0.1980, 0.2366, 0.1997},
16984 {0.1896, 0.2514, 0.2912, 0.2678}},
16985 {
16986 {0.3733, 0.1807, 0.1388, 0.3073},
16987 {0.3484, 0.2250, 0.1626, 0.2640},
16988 {0.3602, 0.2076, 0.2006, 0.2316},
16989 {0.1425, 0.2684, 0.1580, 0.4310}},
16990 {
16991 {0.3523, 0.1705, 0.1805, 0.2967},
16992 {0.3752, 0.1750, 0.1578, 0.2921},
16993 {0.3546, 0.1971, 0.1526, 0.2956},
16994 {0.1622, 0.2444, 0.2267, 0.3666}},
16995 {
16996 {0.3672, 0.1760, 0.2286, 0.2282},
16997 {0.3416, 0.1882, 0.2550, 0.2153},
16998 {0.3522, 0.2014, 0.2557, 0.1908},
16999 {0.1881, 0.2496, 0.2942, 0.2682}},
17000 {
17001 {0.3755, 0.1899, 0.1404, 0.2941},
17002 {0.3352, 0.2280, 0.1540, 0.2828},
17003 {0.3693, 0.2089, 0.1997, 0.2221},
17004 {0.1305, 0.3046, 0.1513, 0.4136}},
17005 {
17006 {0.3383, 0.1722, 0.1775, 0.3120},
17007 {0.3977, 0.1625, 0.1593, 0.2805},
17008 {0.3486, 0.1980, 0.1405, 0.3129},
17009 {0.1572, 0.2575, 0.2284, 0.3570}},
17010 {
17011 {0.3537, 0.1694, 0.2483, 0.2286},
17012 {0.3531, 0.1815, 0.2336, 0.2318},
17013 {0.3651, 0.1919, 0.2410, 0.2020},
17014 {0.1928, 0.2597, 0.2894, 0.2582}},
17015 {
17016 {0.3661, 0.1841, 0.1409, 0.3089},
17017 {0.3378, 0.2330, 0.1651, 0.2641},
17018 {0.3843, 0.2045, 0.1827, 0.2286},
17019 {0.1382, 0.2791, 0.1485, 0.4342}},
17020 {
17021 {0.3221, 0.1881, 0.1851, 0.3047},
17022 {0.3830, 0.1751, 0.1540, 0.2879},
17023 {0.3348, 0.2019, 0.1647, 0.2986},
17024 {0.1524, 0.2340, 0.2382, 0.3754}},
17025 {
17026 {0.3658, 0.1789, 0.2318, 0.2235},
17027 {0.3690, 0.1909, 0.2358, 0.2042},
17028 {0.3659, 0.2005, 0.2341, 0.1994},
17029 {0.1743, 0.2606, 0.2975, 0.2676}},
17030 {
17031 {0.3800, 0.1904, 0.1401, 0.2896},
17032 {0.3244, 0.2166, 0.1684, 0.2906},
17033 {0.3886, 0.2020, 0.1893, 0.2201},
17034 {0.1476, 0.2933, 0.1457, 0.4134}},
17035 {
17036 {0.3345, 0.1855, 0.1830, 0.2970},
17037 {0.3855, 0.1652, 0.1612, 0.2881},
17038 {0.3491, 0.1936, 0.1489, 0.3084},
17039 {0.1586, 0.2384, 0.2447, 0.3583}},
17040 {
17041 {0.3549, 0.1630, 0.2387, 0.2433},
17042 {0.3590, 0.1821, 0.2392, 0.2196},
17043 {0.3560, 0.2062, 0.2283, 0.2095},
17044 {0.1770, 0.2534, 0.3121, 0.2575}},
17045 {
17046 {0.3565, 0.1982, 0.1427, 0.3026},
17047 {0.3359, 0.2363, 0.1589, 0.2689},
17048 {0.3852, 0.2024, 0.1888, 0.2236},
17049 {0.1342, 0.2932, 0.1615, 0.4111}},
17050 {
17051 {0.3200, 0.1886, 0.1724, 0.3190},
17052 {0.3913, 0.1541, 0.1501, 0.3046},
17053 {0.3412, 0.2017, 0.1501, 0.3070},
17054 {0.1546, 0.2542, 0.2306, 0.3605}},
17055 {
17056 {0.3577, 0.1774, 0.2381, 0.2268},
17057 {0.3556, 0.1816, 0.2499, 0.2129},
17058 {0.3481, 0.2061, 0.2541, 0.1917},
17059 {0.1896, 0.2507, 0.3087, 0.2510}},
17060 {
17061 {0.3688, 0.2049, 0.1360, 0.2903},
17062 {0.3389, 0.2183, 0.1743, 0.2685},
17063 {0.3817, 0.2058, 0.1913, 0.2212},
17064 {0.1393, 0.3058, 0.1572, 0.3976}},
17065 {
17066 {0.3323, 0.1737, 0.1911, 0.3030},
17067 {0.3711, 0.1528, 0.1633, 0.3128},
17068 {0.3520, 0.1842, 0.1505, 0.3133},
17069 {0.1517, 0.2412, 0.2448, 0.3622}},
17070 {
17071 {0.3562, 0.1745, 0.2474, 0.2219},
17072 {0.3604, 0.1894, 0.2466, 0.2035},
17073 {0.3713, 0.2018, 0.2324, 0.1945},
17074 {0.1816, 0.2564, 0.3135, 0.2484}},
17075 {
17076 {0.3649, 0.1967, 0.1453, 0.2931},
17077 {0.3141, 0.2367, 0.1637, 0.2855},
17078 {0.3834, 0.2124, 0.1877, 0.2164},
17079 {0.1375, 0.2910, 0.1498, 0.4217}},
17080 {
17081 {0.3323, 0.1735, 0.1809, 0.3133},
17082 {0.3791, 0.1607, 0.1552, 0.3050},
17083 {0.3596, 0.1767, 0.1450, 0.3187},
17084 {0.1576, 0.2390, 0.2324, 0.3710}},
17085 {
17086 {0.3629, 0.1737, 0.2281, 0.2353},
17087 {0.3548, 0.1780, 0.2460, 0.2212},
17088 {0.3812, 0.1934, 0.2396, 0.1858},
17089 {0.1868, 0.2487, 0.3196, 0.2450}},
17090 {
17091 {0.3765, 0.1894, 0.1316, 0.3024},
17092 {0.3250, 0.2293, 0.1666, 0.2790},
17093 {0.3715, 0.2067, 0.2030, 0.2188},
17094 {0.1311, 0.2955, 0.1632, 0.4102}},
17095 {
17096 {0.3282, 0.1713, 0.1897, 0.3108},
17097 {0.3900, 0.1611, 0.1618, 0.2872},
17098 {0.3564, 0.1870, 0.1444, 0.3121},
17099 {0.1503, 0.2392, 0.2523, 0.3581}},
17100 {
17101 {0.3645, 0.1753, 0.2251, 0.2352},
17102 {0.3596, 0.1693, 0.2723, 0.1987},
17103 {0.3753, 0.1857, 0.2527, 0.1862},
17104 {0.1783, 0.2549, 0.3133, 0.2536}},
17105 {
17106 {0.3607, 0.2056, 0.1413, 0.2924},
17107 {0.3341, 0.2177, 0.1694, 0.2787},
17108 {0.3777, 0.2081, 0.2034, 0.2108},
17109 {0.1456, 0.3065, 0.1517, 0.3961}},
17110 {
17111 {0.3389, 0.1742, 0.1783, 0.3086},
17112 {0.3973, 0.1616, 0.1558, 0.2854},
17113 {0.3695, 0.1921, 0.1471, 0.2913},
17114 {0.1494, 0.2487, 0.2514, 0.3505}},
17115 {
17116 {0.3480, 0.1788, 0.2537, 0.2195},
17117 {0.3601, 0.1710, 0.2643, 0.2046},
17118 {0.3475, 0.2126, 0.2382, 0.2016},
17119 {0.1830, 0.2608, 0.3143, 0.2419}},
17120 {
17121 {0.3586, 0.1874, 0.1516, 0.3024},
17122 {0.3271, 0.2230, 0.1679, 0.2820},
17123 {0.3710, 0.2123, 0.1945, 0.2222},
17124 {0.1322, 0.2998, 0.1601, 0.4080}},
17125 {
17126 {0.3135, 0.1851, 0.1944, 0.3070},
17127 {0.3812, 0.1623, 0.1765, 0.2799},
17128 {0.3551, 0.1901, 0.1561, 0.2987},
17129 {0.1405, 0.2556, 0.2488, 0.3551}},
17130 {
17131 {0.3402, 0.1730, 0.2621, 0.2248},
17132 {0.3579, 0.1794, 0.2485, 0.2142},
17133 {0.3649, 0.2021, 0.2493, 0.1837},
17134 {0.1702, 0.2552, 0.3388, 0.2358}},
17135 {
17136 {0.3518, 0.1923, 0.1589, 0.2970},
17137 {0.3184, 0.2298, 0.1761, 0.2756},
17138 {0.3709, 0.2011, 0.2056, 0.2224},
17139 {0.1343, 0.2957, 0.1689, 0.4011}},
17140 {
17141 {0.3369, 0.1646, 0.1934, 0.3051},
17142 {0.3938, 0.1582, 0.1699, 0.2780},
17143 {0.3731, 0.1763, 0.1598, 0.2908},
17144 {0.1441, 0.2549, 0.2451, 0.3559}},
17145 {
17146 {0.3540, 0.1740, 0.2519, 0.2201},
17147 {0.3513, 0.1771, 0.2508, 0.2209},
17148 {0.3731, 0.1819, 0.2612, 0.1837},
17149 {0.1735, 0.2497, 0.3262, 0.2507}},
17150 {
17151 {0.3517, 0.1897, 0.1561, 0.3025},
17152 {0.3316, 0.2239, 0.1763, 0.2682},
17153 {0.3777, 0.2000, 0.2102, 0.2121},
17154 {0.1502, 0.2943, 0.1706, 0.3849}},
17155 {
17156 {0.3297, 0.1762, 0.1941, 0.3001},
17157 {0.3849, 0.1537, 0.1692, 0.2922},
17158 {0.3625, 0.1623, 0.1667, 0.3085},
17159 {0.1440, 0.2381, 0.2589, 0.3590}},
17160 {
17161 {0.3504, 0.1672, 0.2399, 0.2425},
17162 {0.3565, 0.1817, 0.2549, 0.2069},
17163 {0.3518, 0.1998, 0.2552, 0.1932},
17164 {0.1840, 0.2593, 0.3308, 0.2260}},
17165 {
17166 {0.3468, 0.2008, 0.1544, 0.2980},
17167 {0.3216, 0.2267, 0.1608, 0.2909},
17168 {0.3806, 0.2104, 0.2007, 0.2083},
17169 {0.1501, 0.2985, 0.1693, 0.3820}},
17170 {
17171 {0.3068, 0.1944, 0.1886, 0.3103},
17172 {0.3747, 0.1746, 0.1512, 0.2994},
17173 {0.3553, 0.1866, 0.1602, 0.2980},
17174 {0.1495, 0.2524, 0.2408, 0.3573}},
17175 {
17176 {0.3246, 0.1887, 0.2684, 0.2184},
17177 {0.3541, 0.1710, 0.2614, 0.2134},
17178 {0.3573, 0.1887, 0.2603, 0.1936},
17179 {0.1694, 0.2565, 0.3438, 0.2302}},
17180 {
17181 {0.3523, 0.2016, 0.1573, 0.2888},
17182 {0.3256, 0.2258, 0.1803, 0.2683},
17183 {0.3700, 0.2060, 0.2189, 0.2051},
17184 {0.1349, 0.3098, 0.1870, 0.3683}},
17185 {
17186 {0.3143, 0.1921, 0.1991, 0.2944},
17187 {0.3940, 0.1617, 0.1680, 0.2763},
17188 {0.3384, 0.1918, 0.1430, 0.3268},
17189 {0.1393, 0.2329, 0.2727, 0.3551}},
17190 {
17191 {0.3267, 0.1681, 0.2668, 0.2384},
17192 {0.3288, 0.1925, 0.2585, 0.2203},
17193 {0.3478, 0.1858, 0.2681, 0.1983},
17194 {0.1722, 0.2471, 0.3447, 0.2360}},
17195 {
17196 {0.3462, 0.1984, 0.1572, 0.2983},
17197 {0.3113, 0.2399, 0.1724, 0.2764},
17198 {0.3508, 0.2173, 0.2180, 0.2140},
17199 {0.1272, 0.3071, 0.1689, 0.3969}},
17200 {
17201 {0.3411, 0.1722, 0.1929, 0.2938},
17202 {0.3788, 0.1537, 0.1924, 0.2751},
17203 {0.3672, 0.1610, 0.1713, 0.3004},
17204 {0.1387, 0.2353, 0.2718, 0.3542}},
17205 {
17206 {0.3556, 0.1695, 0.2609, 0.2140},
17207 {0.3757, 0.1629, 0.2548, 0.2066},
17208 {0.3684, 0.1958, 0.2500, 0.1857},
17209 {0.1724, 0.2500, 0.3396, 0.2379}},
17210 {
17211 {0.3760, 0.1873, 0.1609, 0.2758},
17212 {0.3124, 0.2245, 0.1850, 0.2781},
17213 {0.3727, 0.2131, 0.2276, 0.1866},
17214 {0.1606, 0.2967, 0.1698, 0.3729}},
17215 {
17216 {0.3310, 0.1988, 0.1536, 0.3166},
17217 {0.3369, 0.1837, 0.1664, 0.3130},
17218 {0.3559, 0.1941, 0.1432, 0.3068},
17219 {0.1175, 0.3068, 0.2024, 0.3733}},
17220 {
17221 {0.3516, 0.2083, 0.1597, 0.2803},
17222 {0.3407, 0.2433, 0.2027, 0.2133},
17223 {0.3378, 0.1836, 0.1768, 0.3019},
17224 {0.1350, 0.2970, 0.3171, 0.2508}},
17225 {
17226 {0.0000, 0.0000, 1.0000, 0.0000},
17227 {0.0000, 0.0000, 1.0000, 0.0000},
17228 {0.0000, 0.0000, 1.0000, 0.0000},
17229 {0.0000, 0.0000, 1.0000, 0.0000}},
17230 {
17231 {0.0000, 0.0000, 0.0000, 0.0000},
17232 {0.0000, 0.0000, 0.0000, 0.0000},
17233 {0.0000, 0.0000, 0.0000, 1.0000},
17234 {0.0000, 0.0000, 0.0000, 0.0000}},
17235 {
17236 {0.0000, 0.0000, 0.0000, 0.0000},
17237 {0.0000, 0.0000, 0.0000, 0.0000},
17238 {0.0000, 0.0000, 0.0000, 0.0000},
17239 {0.1880, 0.2395, 0.3584, 0.2141}},
17240 {
17241 {0.2743, 0.2542, 0.1399, 0.3316},
17242 {0.3199, 0.1982, 0.1932, 0.2887},
17243 {0.3024, 0.2019, 0.2724, 0.2232},
17244 {0.1313, 0.3173, 0.1562, 0.3951}},
17245 {
17246 {0.3233, 0.1900, 0.1549, 0.3318},
17247 {0.4021, 0.1661, 0.1432, 0.2887},
17248 {0.3867, 0.1605, 0.1446, 0.3082},
17249 {0.1439, 0.2449, 0.2497, 0.3615}},
17250 {
17251 {0.3448, 0.1820, 0.2621, 0.2112},
17252 {0.3395, 0.1847, 0.2593, 0.2165},
17253 {0.3752, 0.2170, 0.2661, 0.1417},
17254 {0.1667, 0.2878, 0.3435, 0.2020}},
17255 {
17256 {0.3427, 0.1920, 0.1588, 0.3065},
17257 {0.3110, 0.2399, 0.1745, 0.2746},
17258 {0.3565, 0.2117, 0.2019, 0.2298},
17259 {0.1477, 0.3058, 0.1897, 0.3567}},
17260 {
17261 {0.3108, 0.1722, 0.2091, 0.3079},
17262 {0.3811, 0.1507, 0.1721, 0.2960},
17263 {0.3364, 0.1762, 0.1673, 0.3201},
17264 {0.1493, 0.2310, 0.2806, 0.3391}},
17265 {
17266 {0.3438, 0.1744, 0.2572, 0.2246},
17267 {0.3440, 0.1873, 0.2649, 0.2039},
17268 {0.3608, 0.2019, 0.2390, 0.1983},
17269 {0.1916, 0.2469, 0.3504, 0.2111}},
17270 {
17271 {0.3426, 0.1991, 0.1593, 0.2991},
17272 {0.3106, 0.2416, 0.1752, 0.2726},
17273 {0.3525, 0.1978, 0.2183, 0.2314},
17274 {0.1389, 0.2884, 0.1932, 0.3795}},
17275 {
17276 {0.3115, 0.1847, 0.1973, 0.3065},
17277 {0.3786, 0.1428, 0.1839, 0.2947},
17278 {0.3510, 0.1790, 0.1614, 0.3086},
17279 {0.1400, 0.2325, 0.2710, 0.3564}},
17280 {
17281 {0.3381, 0.1786, 0.2563, 0.2270},
17282 {0.3487, 0.1764, 0.2622, 0.2127},
17283 {0.3666, 0.2010, 0.2505, 0.1819},
17284 {0.1888, 0.2413, 0.3440, 0.2259}},
17285 {
17286 {0.3784, 0.1808, 0.1499, 0.2909},
17287 {0.3208, 0.2294, 0.1635, 0.2863},
17288 {0.3665, 0.2112, 0.2047, 0.2175},
17289 {0.1488, 0.2883, 0.1693, 0.3936}},
17290 {
17291 {0.3236, 0.1696, 0.1853, 0.3214},
17292 {0.3776, 0.1567, 0.1790, 0.2867},
17293 {0.3643, 0.1715, 0.1712, 0.2930},
17294 {0.1360, 0.2484, 0.2529, 0.3626}},
17295 {
17296 {0.3561, 0.1749, 0.2600, 0.2090},
17297 {0.3484, 0.1763, 0.2631, 0.2122},
17298 {0.3572, 0.1921, 0.2720, 0.1787},
17299 {0.1775, 0.2434, 0.3537, 0.2255}},
17300 {
17301 {0.3620, 0.1942, 0.1544, 0.2894},
17302 {0.3305, 0.2468, 0.1596, 0.2632},
17303 {0.3765, 0.1950, 0.2039, 0.2246},
17304 {0.1389, 0.2938, 0.1906, 0.3767}},
17305 {
17306 {0.3154, 0.1792, 0.1967, 0.3087},
17307 {0.3872, 0.1523, 0.1762, 0.2843},
17308 {0.3500, 0.1668, 0.1770, 0.3063},
17309 {0.1592, 0.2345, 0.2583, 0.3481}},
17310 {
17311 {0.3423, 0.1861, 0.2500, 0.2217},
17312 {0.3789, 0.1557, 0.2704, 0.1951},
17313 {0.3673, 0.1950, 0.2440, 0.1937},
17314 {0.1782, 0.2393, 0.3559, 0.2266}},
17315 {
17316 {0.3619, 0.1884, 0.1643, 0.2854},
17317 {0.3133, 0.2244, 0.1764, 0.2859},
17318 {0.3587, 0.2088, 0.2061, 0.2264},
17319 {0.1408, 0.2811, 0.1885, 0.3896}},
17320 {
17321 {0.3150, 0.1820, 0.1878, 0.3153},
17322 {0.3905, 0.1567, 0.1589, 0.2939},
17323 {0.3363, 0.1809, 0.1674, 0.3155},
17324 {0.1530, 0.2441, 0.2584, 0.3446}},
17325 {
17326 {0.3372, 0.1862, 0.2532, 0.2234},
17327 {0.3536, 0.1710, 0.2595, 0.2158},
17328 {0.3498, 0.1896, 0.2582, 0.2025},
17329 {0.1831, 0.2511, 0.3392, 0.2266}},
17330 {
17331 {0.3559, 0.1858, 0.1588, 0.2995},
17332 {0.3421, 0.2181, 0.1582, 0.2816},
17333 {0.3795, 0.2045, 0.1805, 0.2354},
17334 {0.1489, 0.2803, 0.1630, 0.4078}},
17335 {
17336 {0.3230, 0.1748, 0.1888, 0.3133},
17337 {0.3825, 0.1476, 0.1760, 0.2938},
17338 {0.3192, 0.1734, 0.1768, 0.3306},
17339 {0.1468, 0.2335, 0.2539, 0.3657}},
17340 {
17341 {0.3265, 0.1811, 0.2611, 0.2313},
17342 {0.3617, 0.1847, 0.2443, 0.2092},
17343 {0.3573, 0.1922, 0.2509, 0.1996},
17344 {0.1855, 0.2450, 0.3351, 0.2344}},
17345 {
17346 {0.3754, 0.1890, 0.1600, 0.2756},
17347 {0.3349, 0.2458, 0.1572, 0.2622},
17348 {0.3806, 0.1978, 0.2061, 0.2156},
17349 {0.1480, 0.2905, 0.1705, 0.3909}},
17350 {
17351 {0.3248, 0.1622, 0.2001, 0.3129},
17352 {0.3733, 0.1397, 0.1852, 0.3018},
17353 {0.3621, 0.1811, 0.1562, 0.3006},
17354 {0.1361, 0.2430, 0.2458, 0.3751}},
17355 {
17356 {0.3639, 0.1661, 0.2557, 0.2143},
17357 {0.3575, 0.1671, 0.2768, 0.1986},
17358 {0.3717, 0.1818, 0.2592, 0.1873},
17359 {0.1875, 0.2366, 0.3378, 0.2381}},
17360 {
17361 {0.3650, 0.1952, 0.1522, 0.2876},
17362 {0.3423, 0.2277, 0.1772, 0.2528},
17363 {0.3931, 0.1997, 0.1981, 0.2091},
17364 {0.1450, 0.2828, 0.1717, 0.4005}},
17365 {
17366 {0.3208, 0.1671, 0.1948, 0.3173},
17367 {0.3835, 0.1393, 0.1805, 0.2968},
17368 {0.3631, 0.1577, 0.1764, 0.3027},
17369 {0.1478, 0.2249, 0.2534, 0.3739}},
17370 {
17371 {0.3506, 0.1850, 0.2466, 0.2177},
17372 {0.3447, 0.1739, 0.2659, 0.2156},
17373 {0.3594, 0.1920, 0.2462, 0.2024},
17374 {0.1818, 0.2347, 0.3517, 0.2318}},
17375 {
17376 {0.3629, 0.1943, 0.1565, 0.2863},
17377 {0.3227, 0.2322, 0.1732, 0.2719},
17378 {0.3907, 0.1981, 0.1913, 0.2199},
17379 {0.1379, 0.2879, 0.1743, 0.4000}},
17380 {
17381 {0.3162, 0.1708, 0.2065, 0.3066},
17382 {0.3769, 0.1415, 0.1787, 0.3029},
17383 {0.3391, 0.1562, 0.1751, 0.3296},
17384 {0.1429, 0.2322, 0.2648, 0.3601}},
17385 {
17386 {0.3294, 0.1896, 0.2575, 0.2235},
17387 {0.3720, 0.1819, 0.2401, 0.2061},
17388 {0.3541, 0.1869, 0.2442, 0.2149},
17389 {0.2045, 0.2246, 0.3359, 0.2350}},
17390 {
17391 {0.3818, 0.1886, 0.1499, 0.2797},
17392 {0.3202, 0.2382, 0.1738, 0.2678},
17393 {0.3794, 0.1858, 0.2066, 0.2281},
17394 {0.1316, 0.3022, 0.1689, 0.3973}},
17395 {
17396 {0.3123, 0.1723, 0.1943, 0.3210},
17397 {0.3794, 0.1600, 0.1639, 0.2967},
17398 {0.3677, 0.1663, 0.1628, 0.3031},
17399 {0.1494, 0.2396, 0.2393, 0.3717}},
17400 {
17401 {0.3586, 0.1668, 0.2532, 0.2214},
17402 {0.3612, 0.1785, 0.2403, 0.2199},
17403 {0.3628, 0.1940, 0.2598, 0.1834},
17404 {0.1983, 0.2345, 0.3305, 0.2367}},
17405 {
17406 {0.3530, 0.1878, 0.1670, 0.2922},
17407 {0.3552, 0.2244, 0.1541, 0.2663},
17408 {0.3763, 0.1936, 0.1962, 0.2339},
17409 {0.1507, 0.2698, 0.1672, 0.4123}},
17410 {
17411 {0.2997, 0.1749, 0.1980, 0.3274},
17412 {0.3829, 0.1489, 0.1671, 0.3011},
17413 {0.3374, 0.1693, 0.1680, 0.3253},
17414 {0.1613, 0.2277, 0.2496, 0.3614}},
17415 {
17416 {0.3643, 0.1741, 0.2437, 0.2179},
17417 {0.3697, 0.1759, 0.2403, 0.2141},
17418 {0.3782, 0.1854, 0.2468, 0.1897},
17419 {0.1928, 0.2276, 0.3302, 0.2494}},
17420 {
17421 {0.3740, 0.1859, 0.1648, 0.2753},
17422 {0.3386, 0.2321, 0.1681, 0.2613},
17423 {0.3765, 0.2081, 0.2022, 0.2133},
17424 {0.1389, 0.2673, 0.1699, 0.4240}},
17425 {
17426 {0.3165, 0.1603, 0.2097, 0.3134},
17427 {0.3884, 0.1450, 0.1696, 0.2969},
17428 {0.3434, 0.1574, 0.1677, 0.3315},
17429 {0.1629, 0.2210, 0.2618, 0.3543}},
17430 {
17431 {0.3447, 0.1742, 0.2543, 0.2268},
17432 {0.3645, 0.1757, 0.2457, 0.2142},
17433 {0.3769, 0.1719, 0.2525, 0.1987},
17434 {0.1961, 0.2464, 0.3213, 0.2362}},
17435 {
17436 {0.3743, 0.1872, 0.1541, 0.2844},
17437 {0.3196, 0.2448, 0.1598, 0.2759},
17438 {0.3843, 0.1960, 0.1833, 0.2364},
17439 {0.1510, 0.2679, 0.1713, 0.4098}},
17440 {
17441 {0.3155, 0.1650, 0.2005, 0.3191},
17442 {0.3904, 0.1395, 0.1693, 0.3007},
17443 {0.3325, 0.1711, 0.1764, 0.3200},
17444 {0.1638, 0.2338, 0.2352, 0.3673}},
17445 {
17446 {0.3416, 0.1935, 0.2501, 0.2149},
17447 {0.3546, 0.1687, 0.2510, 0.2258},
17448 {0.3653, 0.1823, 0.2660, 0.1864},
17449 {0.2068, 0.2152, 0.3332, 0.2448}},
17450 {
17451 {0.3652, 0.1833, 0.1603, 0.2911},
17452 {0.3234, 0.2320, 0.1598, 0.2849},
17453 {0.3706, 0.1853, 0.2073, 0.2368},
17454 {0.1377, 0.2650, 0.1740, 0.4233}},
17455 {
17456 {0.3262, 0.1571, 0.2065, 0.3103},
17457 {0.3769, 0.1611, 0.1658, 0.2962},
17458 {0.3565, 0.1645, 0.1610, 0.3180},
17459 {0.1630, 0.2175, 0.2482, 0.3713}},
17460 {
17461 {0.3512, 0.1706, 0.2505, 0.2277},
17462 {0.3989, 0.1577, 0.2258, 0.2176},
17463 {0.3607, 0.1894, 0.2547, 0.1952},
17464 {0.2033, 0.2198, 0.3242, 0.2528}},
17465 {
17466 {0.3713, 0.1792, 0.1590, 0.2905},
17467 {0.3282, 0.2365, 0.1544, 0.2809},
17468 {0.3733, 0.2002, 0.1974, 0.2291},
17469 {0.1350, 0.2876, 0.1768, 0.4006}},
17470 {
17471 {0.3256, 0.1649, 0.1924, 0.3171},
17472 {0.3743, 0.1522, 0.1676, 0.3059},
17473 {0.3442, 0.1578, 0.1719, 0.3261},
17474 {0.1590, 0.2165, 0.2424, 0.3821}},
17475 {
17476 {0.3517, 0.1786, 0.2339, 0.2359},
17477 {0.3299, 0.1690, 0.2567, 0.2444},
17478 {0.3464, 0.1720, 0.2630, 0.2185},
17479 {0.1802, 0.2286, 0.3254, 0.2658}},
17480 {
17481 {0.3620, 0.1853, 0.1719, 0.2808},
17482 {0.3348, 0.2305, 0.1698, 0.2650},
17483 {0.3800, 0.1946, 0.1926, 0.2328},
17484 {0.1787, 0.2534, 0.1870, 0.3809}}},
17485
17486 { /* Splice_Site: F0_GT; Species: Elegn */
17487 {
17488 {0.3159, 0.3159, 0.3159, 0.3159},
17489 {0.2127, 0.2127, 0.2127, 0.2127},
17490 {0.2376, 0.2376, 0.2376, 0.2376},
17491 {0.2338, 0.2338, 0.2338, 0.2338}},
17492 {
17493 {0.3614, 0.1802, 0.1430, 0.3154},
17494 {0.3490, 0.2108, 0.1419, 0.2983},
17495 {0.3874, 0.2103, 0.1606, 0.2417},
17496 {0.1271, 0.2842, 0.1370, 0.4517}},
17497 {
17498 {0.3300, 0.1806, 0.1982, 0.2912},
17499 {0.3778, 0.1684, 0.1838, 0.2699},
17500 {0.3295, 0.2000, 0.1788, 0.2917},
17501 {0.1669, 0.2522, 0.2255, 0.3554}},
17502 {
17503 {0.3726, 0.1856, 0.2060, 0.2357},
17504 {0.3587, 0.1811, 0.2434, 0.2169},
17505 {0.3553, 0.2148, 0.2352, 0.1947},
17506 {0.1943, 0.2568, 0.2567, 0.2922}},
17507 {
17508 {0.3654, 0.1807, 0.1459, 0.3080},
17509 {0.3520, 0.2118, 0.1538, 0.2823},
17510 {0.3739, 0.2149, 0.1747, 0.2364},
17511 {0.1271, 0.2982, 0.1355, 0.4392}},
17512 {
17513 {0.3380, 0.1877, 0.1873, 0.2870},
17514 {0.3634, 0.1780, 0.1910, 0.2676},
17515 {0.3317, 0.1984, 0.1857, 0.2842},
17516 {0.1556, 0.2459, 0.2429, 0.3555}},
17517 {
17518 {0.3801, 0.1780, 0.2018, 0.2401},
17519 {0.3609, 0.1794, 0.2235, 0.2362},
17520 {0.3798, 0.1886, 0.2238, 0.2078},
17521 {0.1841, 0.2516, 0.2773, 0.2870}},
17522 {
17523 {0.3577, 0.1769, 0.1495, 0.3159},
17524 {0.3513, 0.2132, 0.1318, 0.3036},
17525 {0.3788, 0.2121, 0.1685, 0.2405},
17526 {0.1392, 0.2762, 0.1459, 0.4387}},
17527 {
17528 {0.3326, 0.1896, 0.1976, 0.2803},
17529 {0.3787, 0.1765, 0.1799, 0.2648},
17530 {0.3190, 0.2002, 0.1935, 0.2873},
17531 {0.1616, 0.2478, 0.2539, 0.3366}},
17532 {
17533 {0.3558, 0.1933, 0.2249, 0.2259},
17534 {0.3565, 0.1885, 0.2330, 0.2220},
17535 {0.3486, 0.2093, 0.2364, 0.2057},
17536 {0.1809, 0.2654, 0.2708, 0.2829}},
17537 {
17538 {0.3743, 0.1775, 0.1518, 0.2963},
17539 {0.3193, 0.2346, 0.1532, 0.2929},
17540 {0.3782, 0.2154, 0.1603, 0.2461},
17541 {0.1328, 0.2763, 0.1417, 0.4492}},
17542 {
17543 {0.3324, 0.1798, 0.1994, 0.2884},
17544 {0.3793, 0.1619, 0.1887, 0.2701},
17545 {0.3141, 0.2043, 0.1836, 0.2980},
17546 {0.1530, 0.2497, 0.2420, 0.3553}},
17547 {
17548 {0.3691, 0.1778, 0.2143, 0.2388},
17549 {0.3756, 0.1860, 0.2341, 0.2042},
17550 {0.3801, 0.1959, 0.2323, 0.1917},
17551 {0.1811, 0.2579, 0.2774, 0.2836}},
17552 {
17553 {0.3650, 0.1943, 0.1498, 0.2909},
17554 {0.3384, 0.2230, 0.1516, 0.2870},
17555 {0.3903, 0.2091, 0.1694, 0.2312},
17556 {0.1248, 0.2940, 0.1376, 0.4436}},
17557 {
17558 {0.3252, 0.1840, 0.2103, 0.2805},
17559 {0.3866, 0.1622, 0.1869, 0.2642},
17560 {0.3297, 0.1996, 0.1868, 0.2838},
17561 {0.1644, 0.2557, 0.2404, 0.3395}},
17562 {
17563 {0.3641, 0.1772, 0.2202, 0.2385},
17564 {0.3529, 0.1949, 0.2250, 0.2273},
17565 {0.3749, 0.1777, 0.2444, 0.2030},
17566 {0.1878, 0.2704, 0.2651, 0.2768}},
17567 {
17568 {0.3605, 0.1825, 0.1525, 0.3045},
17569 {0.3384, 0.2126, 0.1476, 0.3014},
17570 {0.3734, 0.2179, 0.1685, 0.2401},
17571 {0.1212, 0.3001, 0.1528, 0.4259}},
17572 {
17573 {0.3044, 0.1891, 0.2113, 0.2952},
17574 {0.3701, 0.1767, 0.1839, 0.2693},
17575 {0.3123, 0.2099, 0.1806, 0.2972},
17576 {0.1551, 0.2589, 0.2512, 0.3348}},
17577 {
17578 {0.3625, 0.1874, 0.2228, 0.2274},
17579 {0.3452, 0.1879, 0.2245, 0.2424},
17580 {0.3549, 0.2131, 0.2262, 0.2058},
17581 {0.1715, 0.2704, 0.2840, 0.2741}},
17582 {
17583 {0.3575, 0.1956, 0.1402, 0.3068},
17584 {0.3268, 0.2306, 0.1532, 0.2894},
17585 {0.3960, 0.2078, 0.1641, 0.2322},
17586 {0.1304, 0.3086, 0.1415, 0.4195}},
17587 {
17588 {0.3272, 0.2057, 0.1841, 0.2829},
17589 {0.3871, 0.1697, 0.1926, 0.2506},
17590 {0.3419, 0.1951, 0.1933, 0.2697},
17591 {0.1425, 0.2621, 0.2565, 0.3389}},
17592 {
17593 {0.3655, 0.1875, 0.2141, 0.2329},
17594 {0.3660, 0.1810, 0.2410, 0.2121},
17595 {0.3618, 0.2040, 0.2271, 0.2071},
17596 {0.1870, 0.2559, 0.2919, 0.2653}},
17597 {
17598 {0.3713, 0.1830, 0.1469, 0.2988},
17599 {0.3321, 0.2084, 0.1491, 0.3105},
17600 {0.3808, 0.2053, 0.1668, 0.2472},
17601 {0.1169, 0.2950, 0.1562, 0.4319}},
17602 {
17603 {0.3397, 0.1849, 0.1979, 0.2775},
17604 {0.3694, 0.1782, 0.1887, 0.2637},
17605 {0.3127, 0.2096, 0.1968, 0.2809},
17606 {0.1409, 0.2713, 0.2421, 0.3458}},
17607 {
17608 {0.3709, 0.1731, 0.2159, 0.2401},
17609 {0.3536, 0.1869, 0.2418, 0.2177},
17610 {0.3825, 0.2038, 0.2296, 0.1841},
17611 {0.1834, 0.2599, 0.2839, 0.2727}},
17612 {
17613 {0.3721, 0.1789, 0.1322, 0.3168},
17614 {0.3642, 0.2171, 0.1467, 0.2721},
17615 {0.3891, 0.2118, 0.1691, 0.2300},
17616 {0.1237, 0.3051, 0.1438, 0.4274}},
17617 {
17618 {0.3279, 0.1798, 0.2142, 0.2782},
17619 {0.3752, 0.1712, 0.1949, 0.2586},
17620 {0.3542, 0.1990, 0.1909, 0.2559},
17621 {0.1628, 0.2629, 0.2531, 0.3212}},
17622 {
17623 {0.3745, 0.1769, 0.2148, 0.2338},
17624 {0.3545, 0.1864, 0.2320, 0.2270},
17625 {0.3592, 0.1904, 0.2555, 0.1948},
17626 {0.1821, 0.2657, 0.2906, 0.2616}},
17627 {
17628 {0.3556, 0.1980, 0.1375, 0.3089},
17629 {0.3377, 0.2199, 0.1510, 0.2914},
17630 {0.3805, 0.2076, 0.1685, 0.2435},
17631 {0.1421, 0.2897, 0.1550, 0.4132}},
17632 {
17633 {0.3038, 0.1896, 0.2044, 0.3023},
17634 {0.3681, 0.1773, 0.1963, 0.2582},
17635 {0.3023, 0.2182, 0.1913, 0.2882},
17636 {0.1498, 0.2648, 0.2632, 0.3222}},
17637 {
17638 {0.3511, 0.1861, 0.2183, 0.2444},
17639 {0.3396, 0.1787, 0.2501, 0.2316},
17640 {0.3536, 0.1978, 0.2432, 0.2055},
17641 {0.1813, 0.2569, 0.2958, 0.2659}},
17642 {
17643 {0.3456, 0.1927, 0.1463, 0.3154},
17644 {0.3413, 0.2099, 0.1568, 0.2920},
17645 {0.3913, 0.2206, 0.1528, 0.2352},
17646 {0.1226, 0.3083, 0.1534, 0.4157}},
17647 {
17648 {0.3103, 0.1863, 0.2081, 0.2953},
17649 {0.3751, 0.1693, 0.1967, 0.2589},
17650 {0.3271, 0.1943, 0.2080, 0.2705},
17651 {0.1486, 0.2505, 0.2736, 0.3273}},
17652 {
17653 {0.3846, 0.1738, 0.2254, 0.2162},
17654 {0.3505, 0.1840, 0.2489, 0.2165},
17655 {0.3620, 0.2002, 0.2450, 0.1927},
17656 {0.1757, 0.2649, 0.3040, 0.2554}},
17657 {
17658 {0.3646, 0.1870, 0.1536, 0.2949},
17659 {0.3291, 0.2322, 0.1606, 0.2781},
17660 {0.4055, 0.1985, 0.1704, 0.2256},
17661 {0.1230, 0.2945, 0.1606, 0.4220}},
17662 {
17663 {0.3194, 0.1781, 0.2142, 0.2883},
17664 {0.3647, 0.1708, 0.1913, 0.2732},
17665 {0.3480, 0.1908, 0.1927, 0.2685},
17666 {0.1455, 0.2589, 0.2648, 0.3307}},
17667 {
17668 {0.3658, 0.1734, 0.2361, 0.2246},
17669 {0.3700, 0.1742, 0.2364, 0.2194},
17670 {0.3846, 0.1989, 0.2322, 0.1844},
17671 {0.1869, 0.2498, 0.3167, 0.2466}},
17672 {
17673 {0.3623, 0.2043, 0.1482, 0.2853},
17674 {0.3351, 0.2208, 0.1479, 0.2962},
17675 {0.3989, 0.2059, 0.1746, 0.2206},
17676 {0.1253, 0.3041, 0.1505, 0.4201}},
17677 {
17678 {0.3075, 0.1928, 0.2141, 0.2856},
17679 {0.3672, 0.1834, 0.1899, 0.2596},
17680 {0.3039, 0.2078, 0.1959, 0.2924},
17681 {0.1442, 0.2646, 0.2803, 0.3109}},
17682 {
17683 {0.3510, 0.1858, 0.2324, 0.2307},
17684 {0.3563, 0.1941, 0.2397, 0.2099},
17685 {0.3579, 0.2057, 0.2369, 0.1995},
17686 {0.1848, 0.2595, 0.3103, 0.2454}},
17687 {
17688 {0.3342, 0.2072, 0.1506, 0.3080},
17689 {0.3362, 0.2199, 0.1485, 0.2954},
17690 {0.3601, 0.2106, 0.1848, 0.2445},
17691 {0.1415, 0.3188, 0.1553, 0.3844}},
17692 {
17693 {0.2948, 0.2045, 0.2144, 0.2863},
17694 {0.3687, 0.1581, 0.2130, 0.2602},
17695 {0.3477, 0.2058, 0.1821, 0.2644},
17696 {0.1373, 0.2491, 0.2883, 0.3254}},
17697 {
17698 {0.3465, 0.1864, 0.2303, 0.2368},
17699 {0.3506, 0.1858, 0.2451, 0.2185},
17700 {0.3690, 0.1959, 0.2410, 0.1941},
17701 {0.1751, 0.2659, 0.3147, 0.2442}},
17702 {
17703 {0.3443, 0.1829, 0.1626, 0.3103},
17704 {0.3181, 0.2187, 0.1681, 0.2951},
17705 {0.3633, 0.2063, 0.1870, 0.2434},
17706 {0.1179, 0.2862, 0.1866, 0.4092}},
17707 {
17708 {0.3118, 0.1794, 0.2233, 0.2855},
17709 {0.3581, 0.1855, 0.2019, 0.2545},
17710 {0.3241, 0.1973, 0.2095, 0.2692},
17711 {0.1278, 0.2626, 0.2893, 0.3203}},
17712 {
17713 {0.3833, 0.1666, 0.2154, 0.2347},
17714 {0.3656, 0.1823, 0.2444, 0.2076},
17715 {0.3774, 0.1871, 0.2411, 0.1944},
17716 {0.1815, 0.2561, 0.3141, 0.2483}},
17717 {
17718 {0.3871, 0.1869, 0.1433, 0.2826},
17719 {0.3651, 0.2196, 0.1586, 0.2568},
17720 {0.4224, 0.2007, 0.1570, 0.2199},
17721 {0.1283, 0.3158, 0.1402, 0.4157}},
17722 {
17723 {0.3281, 0.1955, 0.2113, 0.2651},
17724 {0.3664, 0.1970, 0.2078, 0.2287},
17725 {0.3561, 0.2165, 0.2131, 0.2143},
17726 {0.1546, 0.2614, 0.2907, 0.2933}},
17727 {
17728 {0.4037, 0.1757, 0.1932, 0.2273},
17729 {0.3716, 0.1793, 0.2464, 0.2027},
17730 {0.3659, 0.1998, 0.2311, 0.2033},
17731 {0.1801, 0.2728, 0.2762, 0.2709}},
17732 {
17733 {0.3609, 0.1777, 0.0655, 0.3959},
17734 {0.3719, 0.2158, 0.1065, 0.3058},
17735 {0.4089, 0.1703, 0.1020, 0.3188},
17736 {0.0000, 0.2883, 0.2477, 0.4640}},
17737 {
17738 {0.0000, 0.0000, 1.0000, 0.0000},
17739 {0.0000, 0.0000, 1.0000, 0.0000},
17740 {0.0000, 0.0000, 1.0000, 0.0000},
17741 {0.0000, 0.0000, 1.0000, 0.0000}},
17742 {
17743 {0.0000, 0.0000, 0.0000, 0.0000},
17744 {0.0000, 0.0000, 0.0000, 0.0000},
17745 {0.0000, 0.0000, 0.0000, 1.0000},
17746 {0.0000, 0.0000, 0.0000, 0.0000}},
17747 {
17748 {0.0000, 0.0000, 0.0000, 0.0000},
17749 {0.0000, 0.0000, 0.0000, 0.0000},
17750 {0.0000, 0.0000, 0.0000, 0.0000},
17751 {0.1442, 0.2679, 0.1570, 0.4309}},
17752 {
17753 {0.0000, 0.4664, 0.0000, 0.5336},
17754 {0.3563, 0.1441, 0.2440, 0.2556},
17755 {0.0000, 0.3232, 0.3407, 0.3361},
17756 {0.1265, 0.3057, 0.2826, 0.2851}},
17757 {
17758 {0.3385, 0.2091, 0.1996, 0.2527},
17759 {0.3602, 0.2069, 0.2015, 0.2314},
17760 {0.3786, 0.1741, 0.2569, 0.1904},
17761 {0.1937, 0.2403, 0.3089, 0.2571}},
17762 {
17763 {0.3495, 0.2050, 0.1664, 0.2790},
17764 {0.3385, 0.2363, 0.1498, 0.2754},
17765 {0.3770, 0.2439, 0.1758, 0.2033},
17766 {0.1296, 0.3435, 0.1463, 0.3806}},
17767 {
17768 {0.3144, 0.1812, 0.2167, 0.2877},
17769 {0.3477, 0.1799, 0.1909, 0.2815},
17770 {0.3277, 0.2055, 0.1897, 0.2770},
17771 {0.1434, 0.2475, 0.3032, 0.3059}},
17772 {
17773 {0.3667, 0.1781, 0.2393, 0.2159},
17774 {0.3547, 0.1750, 0.2498, 0.2205},
17775 {0.3627, 0.1889, 0.2514, 0.1970},
17776 {0.1810, 0.2465, 0.3356, 0.2369}},
17777 {
17778 {0.3685, 0.1845, 0.1642, 0.2828},
17779 {0.3357, 0.2222, 0.1586, 0.2835},
17780 {0.3939, 0.1986, 0.1730, 0.2344},
17781 {0.1290, 0.2954, 0.1589, 0.4168}},
17782 {
17783 {0.3103, 0.1862, 0.2154, 0.2881},
17784 {0.3612, 0.1540, 0.2116, 0.2732},
17785 {0.3440, 0.1757, 0.2043, 0.2761},
17786 {0.1514, 0.2537, 0.2923, 0.3026}},
17787 {
17788 {0.3529, 0.1877, 0.2294, 0.2300},
17789 {0.3587, 0.1780, 0.2432, 0.2201},
17790 {0.3565, 0.1925, 0.2507, 0.2003},
17791 {0.1798, 0.2410, 0.3377, 0.2415}},
17792 {
17793 {0.3620, 0.1968, 0.1539, 0.2873},
17794 {0.3330, 0.2182, 0.1477, 0.3011},
17795 {0.3974, 0.1964, 0.1688, 0.2373},
17796 {0.1253, 0.2941, 0.1678, 0.4128}},
17797 {
17798 {0.3187, 0.1735, 0.2234, 0.2844},
17799 {0.3626, 0.1719, 0.1927, 0.2728},
17800 {0.3313, 0.1759, 0.2090, 0.2838},
17801 {0.1480, 0.2389, 0.2885, 0.3246}},
17802 {
17803 {0.3559, 0.1825, 0.2263, 0.2353},
17804 {0.3558, 0.1838, 0.2351, 0.2252},
17805 {0.3467, 0.1980, 0.2495, 0.2058},
17806 {0.1760, 0.2424, 0.3173, 0.2643}},
17807 {
17808 {0.3728, 0.1827, 0.1553, 0.2891},
17809 {0.3429, 0.2125, 0.1572, 0.2873},
17810 {0.3906, 0.1916, 0.1760, 0.2418},
17811 {0.1290, 0.2878, 0.1616, 0.4216}},
17812 {
17813 {0.3189, 0.1731, 0.2230, 0.2849},
17814 {0.3713, 0.1591, 0.2022, 0.2674},
17815 {0.3328, 0.1778, 0.2062, 0.2832},
17816 {0.1422, 0.2487, 0.2774, 0.3317}},
17817 {
17818 {0.3558, 0.1815, 0.2372, 0.2255},
17819 {0.3611, 0.1808, 0.2495, 0.2086},
17820 {0.3798, 0.1888, 0.2458, 0.1856},
17821 {0.1776, 0.2495, 0.3281, 0.2448}},
17822 {
17823 {0.3673, 0.1893, 0.1586, 0.2849},
17824 {0.3467, 0.2099, 0.1571, 0.2864},
17825 {0.3777, 0.2049, 0.1920, 0.2254},
17826 {0.1364, 0.2992, 0.1598, 0.4045}},
17827 {
17828 {0.3105, 0.1854, 0.2103, 0.2937},
17829 {0.3624, 0.1633, 0.2119, 0.2623},
17830 {0.3353, 0.1864, 0.1936, 0.2848},
17831 {0.1516, 0.2446, 0.2941, 0.3097}},
17832 {
17833 {0.3546, 0.1875, 0.2383, 0.2196},
17834 {0.3588, 0.1933, 0.2438, 0.2041},
17835 {0.3537, 0.2132, 0.2377, 0.1955},
17836 {0.1936, 0.2390, 0.3185, 0.2490}},
17837 {
17838 {0.3668, 0.1881, 0.1510, 0.2940},
17839 {0.3312, 0.2229, 0.1469, 0.2990},
17840 {0.3780, 0.1991, 0.1797, 0.2432},
17841 {0.1304, 0.2919, 0.1658, 0.4119}},
17842 {
17843 {0.3044, 0.1809, 0.2253, 0.2894},
17844 {0.3465, 0.1501, 0.2136, 0.2897},
17845 {0.3284, 0.1956, 0.1924, 0.2835},
17846 {0.1478, 0.2422, 0.2820, 0.3280}},
17847 {
17848 {0.3412, 0.1885, 0.2260, 0.2443},
17849 {0.3362, 0.1826, 0.2624, 0.2188},
17850 {0.3485, 0.2073, 0.2453, 0.1990},
17851 {0.1898, 0.2417, 0.3118, 0.2567}},
17852 {
17853 {0.3596, 0.1920, 0.1446, 0.3038},
17854 {0.3398, 0.2150, 0.1527, 0.2924},
17855 {0.3787, 0.1989, 0.1814, 0.2410},
17856 {0.1366, 0.2675, 0.1690, 0.4269}},
17857 {
17858 {0.3011, 0.1726, 0.2178, 0.3084},
17859 {0.3743, 0.1609, 0.2037, 0.2611},
17860 {0.3265, 0.1813, 0.2059, 0.2863},
17861 {0.1552, 0.2228, 0.2816, 0.3405}},
17862 {
17863 {0.3599, 0.1890, 0.2229, 0.2282},
17864 {0.3638, 0.1792, 0.2478, 0.2093},
17865 {0.3700, 0.1937, 0.2407, 0.1955},
17866 {0.1992, 0.2477, 0.2970, 0.2561}},
17867 {
17868 {0.3665, 0.1833, 0.1542, 0.2961},
17869 {0.3412, 0.2204, 0.1447, 0.2938},
17870 {0.3882, 0.1982, 0.1699, 0.2438},
17871 {0.1299, 0.2784, 0.1613, 0.4304}},
17872 {
17873 {0.3157, 0.1705, 0.2190, 0.2947},
17874 {0.3909, 0.1629, 0.1912, 0.2551},
17875 {0.3243, 0.1690, 0.2131, 0.2937},
17876 {0.1513, 0.2467, 0.2548, 0.3472}},
17877 {
17878 {0.3524, 0.1890, 0.2342, 0.2244},
17879 {0.3424, 0.1799, 0.2448, 0.2329},
17880 {0.3713, 0.1890, 0.2377, 0.2020},
17881 {0.1896, 0.2416, 0.2983, 0.2705}},
17882 {
17883 {0.3597, 0.1932, 0.1624, 0.2847},
17884 {0.3346, 0.2253, 0.1513, 0.2888},
17885 {0.3790, 0.2030, 0.1692, 0.2488},
17886 {0.1413, 0.2768, 0.1553, 0.4265}},
17887 {
17888 {0.2980, 0.1943, 0.2122, 0.2956},
17889 {0.3659, 0.1651, 0.2000, 0.2690},
17890 {0.3177, 0.1921, 0.2087, 0.2815},
17891 {0.1497, 0.2296, 0.2772, 0.3435}},
17892 {
17893 {0.3674, 0.1839, 0.2301, 0.2186},
17894 {0.3507, 0.1793, 0.2472, 0.2228},
17895 {0.3574, 0.1915, 0.2429, 0.2083},
17896 {0.1922, 0.2319, 0.3180, 0.2578}},
17897 {
17898 {0.3594, 0.1892, 0.1630, 0.2884},
17899 {0.3252, 0.2122, 0.1507, 0.3119},
17900 {0.3796, 0.1913, 0.1812, 0.2479},
17901 {0.1373, 0.2907, 0.1505, 0.4216}},
17902 {
17903 {0.3089, 0.1803, 0.2142, 0.2966},
17904 {0.3672, 0.1546, 0.2013, 0.2769},
17905 {0.3273, 0.1838, 0.2098, 0.2790},
17906 {0.1452, 0.2371, 0.2785, 0.3392}},
17907 {
17908 {0.3550, 0.1788, 0.2313, 0.2349},
17909 {0.3549, 0.1801, 0.2386, 0.2265},
17910 {0.3622, 0.1838, 0.2370, 0.2169},
17911 {0.1960, 0.2416, 0.2965, 0.2659}},
17912 {
17913 {0.3723, 0.1698, 0.1549, 0.3029},
17914 {0.3298, 0.2144, 0.1607, 0.2952},
17915 {0.3811, 0.2049, 0.1730, 0.2410},
17916 {0.1324, 0.2648, 0.1588, 0.4441}},
17917 {
17918 {0.3062, 0.1710, 0.2047, 0.3181},
17919 {0.3615, 0.1547, 0.1960, 0.2878},
17920 {0.3178, 0.1819, 0.2077, 0.2926},
17921 {0.1597, 0.2329, 0.2782, 0.3292}},
17922 {
17923 {0.3615, 0.1785, 0.2145, 0.2456},
17924 {0.3558, 0.1708, 0.2444, 0.2289},
17925 {0.3688, 0.2013, 0.2160, 0.2139},
17926 {0.2072, 0.2367, 0.3004, 0.2557}},
17927 {
17928 {0.3656, 0.1699, 0.1525, 0.3120},
17929 {0.3444, 0.2252, 0.1476, 0.2829},
17930 {0.3726, 0.1979, 0.1814, 0.2480},
17931 {0.1373, 0.2827, 0.1576, 0.4224}},
17932 {
17933 {0.3231, 0.1697, 0.2111, 0.2961},
17934 {0.3890, 0.1550, 0.1937, 0.2623},
17935 {0.3323, 0.1774, 0.2000, 0.2903},
17936 {0.1571, 0.2312, 0.2636, 0.3481}},
17937 {
17938 {0.3797, 0.1738, 0.2249, 0.2217},
17939 {0.3716, 0.1722, 0.2404, 0.2158},
17940 {0.3648, 0.2015, 0.2482, 0.1855},
17941 {0.2108, 0.2311, 0.2990, 0.2592}},
17942 {
17943 {0.3566, 0.1799, 0.1701, 0.2934},
17944 {0.3484, 0.2094, 0.1402, 0.3021},
17945 {0.3935, 0.1893, 0.1746, 0.2426},
17946 {0.1341, 0.2689, 0.1567, 0.4403}},
17947 {
17948 {0.3047, 0.1849, 0.2142, 0.2962},
17949 {0.3704, 0.1648, 0.1821, 0.2827},
17950 {0.3180, 0.1832, 0.2047, 0.2941},
17951 {0.1592, 0.2250, 0.2734, 0.3424}},
17952 {
17953 {0.3685, 0.1772, 0.2327, 0.2216},
17954 {0.3585, 0.1712, 0.2404, 0.2300},
17955 {0.3499, 0.1951, 0.2559, 0.1991},
17956 {0.1949, 0.2431, 0.2989, 0.2632}},
17957 {
17958 {0.3610, 0.1848, 0.1633, 0.2909},
17959 {0.3294, 0.2133, 0.1465, 0.3108},
17960 {0.3690, 0.1851, 0.1831, 0.2628},
17961 {0.1263, 0.2724, 0.1462, 0.4551}},
17962 {
17963 {0.3000, 0.1773, 0.2158, 0.3069},
17964 {0.3566, 0.1485, 0.2133, 0.2816},
17965 {0.3246, 0.1756, 0.2079, 0.2918},
17966 {0.1533, 0.2135, 0.2765, 0.3568}},
17967 {
17968 {0.3717, 0.1740, 0.2272, 0.2271},
17969 {0.3723, 0.1842, 0.2251, 0.2184},
17970 {0.3621, 0.1797, 0.2531, 0.2050},
17971 {0.1943, 0.2359, 0.2818, 0.2881}},
17972 {
17973 {0.3793, 0.1641, 0.1634, 0.2932},
17974 {0.3517, 0.2123, 0.1546, 0.2814},
17975 {0.3853, 0.1832, 0.1700, 0.2615},
17976 {0.1459, 0.2562, 0.1403, 0.4575}},
17977 {
17978 {0.3177, 0.1670, 0.2065, 0.3088},
17979 {0.3768, 0.1486, 0.2060, 0.2686},
17980 {0.3195, 0.1714, 0.2153, 0.2938},
17981 {0.1697, 0.2194, 0.2544, 0.3565}},
17982 {
17983 {0.3697, 0.1750, 0.2210, 0.2342},
17984 {0.3680, 0.1719, 0.2341, 0.2260},
17985 {0.3598, 0.1741, 0.2445, 0.2216},
17986 {0.1910, 0.2232, 0.2882, 0.2976}},
17987 {
17988 {0.3638, 0.1798, 0.1616, 0.2948},
17989 {0.3212, 0.2175, 0.1525, 0.3088},
17990 {0.3957, 0.1859, 0.1718, 0.2467},
17991 {0.1666, 0.2340, 0.1883, 0.4111}},
17992 {
17993 {0.3254, 0.1567, 0.2256, 0.2923},
17994 {0.3725, 0.1556, 0.1976, 0.2744},
17995 {0.3486, 0.1706, 0.1881, 0.2927},
17996 {0.1588, 0.2176, 0.2671, 0.3565}}},
17997
17998 { /* Splice_Site: Fi_GT; Species: Elegn */
17999 {
18000 {0.3214, 0.3214, 0.3214, 0.3214},
18001 {0.1731, 0.1731, 0.1731, 0.1731},
18002 {0.1820, 0.1820, 0.1820, 0.1820},
18003 {0.3235, 0.3235, 0.3235, 0.3235}},
18004 {
18005 {0.4123, 0.1500, 0.1569, 0.2807},
18006 {0.3478, 0.1897, 0.1839, 0.2786},
18007 {0.3460, 0.1845, 0.1962, 0.2733},
18008 {0.2030, 0.1739, 0.2021, 0.4209}},
18009 {
18010 {0.4250, 0.1461, 0.1554, 0.2736},
18011 {0.3413, 0.1794, 0.1940, 0.2853},
18012 {0.3385, 0.1847, 0.1826, 0.2943},
18013 {0.2095, 0.1707, 0.1900, 0.4297}},
18014 {
18015 {0.4191, 0.1467, 0.1618, 0.2724},
18016 {0.3440, 0.1823, 0.1766, 0.2971},
18017 {0.3352, 0.1872, 0.1925, 0.2852},
18018 {0.2056, 0.1728, 0.1974, 0.4242}},
18019 {
18020 {0.4221, 0.1445, 0.1634, 0.2700},
18021 {0.3479, 0.1807, 0.1752, 0.2962},
18022 {0.3298, 0.1890, 0.1911, 0.2901},
18023 {0.1928, 0.1779, 0.1962, 0.4331}},
18024 {
18025 {0.4218, 0.1501, 0.1610, 0.2671},
18026 {0.3416, 0.1802, 0.1839, 0.2943},
18027 {0.3432, 0.1828, 0.1896, 0.2844},
18028 {0.2133, 0.1670, 0.1938, 0.4258}},
18029 {
18030 {0.4232, 0.1475, 0.1628, 0.2665},
18031 {0.3640, 0.1689, 0.1857, 0.2814},
18032 {0.3362, 0.1751, 0.1949, 0.2938},
18033 {0.2062, 0.1823, 0.1911, 0.4204}},
18034 {
18035 {0.4164, 0.1526, 0.1643, 0.2668},
18036 {0.3554, 0.1812, 0.1754, 0.2879},
18037 {0.3227, 0.1797, 0.1907, 0.3070},
18038 {0.2112, 0.1823, 0.1969, 0.4096}},
18039 {
18040 {0.4223, 0.1492, 0.1667, 0.2619},
18041 {0.3521, 0.1829, 0.1761, 0.2889},
18042 {0.3341, 0.1887, 0.1854, 0.2918},
18043 {0.2113, 0.1690, 0.2063, 0.4133}},
18044 {
18045 {0.4200, 0.1439, 0.1684, 0.2677},
18046 {0.3477, 0.1835, 0.1775, 0.2913},
18047 {0.3294, 0.1812, 0.1896, 0.2997},
18048 {0.2043, 0.1848, 0.2003, 0.4106}},
18049 {
18050 {0.4046, 0.1542, 0.1646, 0.2765},
18051 {0.3349, 0.1953, 0.1856, 0.2842},
18052 {0.3391, 0.1953, 0.1886, 0.2770},
18053 {0.2058, 0.1801, 0.1987, 0.4154}},
18054 {
18055 {0.4243, 0.1451, 0.1603, 0.2703},
18056 {0.3579, 0.1830, 0.1702, 0.2889},
18057 {0.3471, 0.1714, 0.1936, 0.2878},
18058 {0.2052, 0.1784, 0.1892, 0.4272}},
18059 {
18060 {0.4279, 0.1449, 0.1648, 0.2624},
18061 {0.3399, 0.1768, 0.1867, 0.2965},
18062 {0.3289, 0.1769, 0.2015, 0.2927},
18063 {0.2052, 0.1746, 0.1960, 0.4242}},
18064 {
18065 {0.4225, 0.1439, 0.1666, 0.2670},
18066 {0.3513, 0.1865, 0.1838, 0.2785},
18067 {0.3345, 0.1756, 0.1884, 0.3015},
18068 {0.1992, 0.1761, 0.2027, 0.4220}},
18069 {
18070 {0.4237, 0.1451, 0.1709, 0.2604},
18071 {0.3556, 0.1945, 0.1793, 0.2706},
18072 {0.3374, 0.1711, 0.1996, 0.2919},
18073 {0.2150, 0.1723, 0.1877, 0.4249}},
18074 {
18075 {0.4158, 0.1544, 0.1652, 0.2646},
18076 {0.3345, 0.1835, 0.1789, 0.3030},
18077 {0.3408, 0.1762, 0.1788, 0.3042},
18078 {0.2015, 0.1742, 0.1909, 0.4334}},
18079 {
18080 {0.4189, 0.1453, 0.1638, 0.2719},
18081 {0.3604, 0.1914, 0.1653, 0.2829},
18082 {0.3328, 0.1880, 0.1843, 0.2949},
18083 {0.2093, 0.1721, 0.1973, 0.4213}},
18084 {
18085 {0.4130, 0.1503, 0.1731, 0.2635},
18086 {0.3426, 0.1949, 0.1660, 0.2966},
18087 {0.3272, 0.1959, 0.1870, 0.2899},
18088 {0.2157, 0.1701, 0.1961, 0.4181}},
18089 {
18090 {0.4109, 0.1501, 0.1749, 0.2642},
18091 {0.3444, 0.1919, 0.1774, 0.2863},
18092 {0.3232, 0.1740, 0.1907, 0.3120},
18093 {0.2069, 0.1767, 0.2025, 0.4140}},
18094 {
18095 {0.4191, 0.1513, 0.1581, 0.2715},
18096 {0.3515, 0.1803, 0.1838, 0.2844},
18097 {0.3228, 0.1858, 0.1963, 0.2951},
18098 {0.2143, 0.1716, 0.2039, 0.4103}},
18099 {
18100 {0.4109, 0.1529, 0.1598, 0.2764},
18101 {0.3565, 0.1869, 0.1735, 0.2830},
18102 {0.3287, 0.1892, 0.1899, 0.2921},
18103 {0.2153, 0.1715, 0.1963, 0.4169}},
18104 {
18105 {0.4112, 0.1522, 0.1668, 0.2698},
18106 {0.3336, 0.1858, 0.1819, 0.2986},
18107 {0.3247, 0.1810, 0.1881, 0.3062},
18108 {0.2081, 0.1707, 0.1903, 0.4309}},
18109 {
18110 {0.4319, 0.1431, 0.1609, 0.2640},
18111 {0.3585, 0.1743, 0.1816, 0.2856},
18112 {0.3299, 0.1966, 0.1870, 0.2865},
18113 {0.2176, 0.1696, 0.1901, 0.4228}},
18114 {
18115 {0.4298, 0.1467, 0.1577, 0.2657},
18116 {0.3422, 0.1893, 0.1648, 0.3037},
18117 {0.3349, 0.1827, 0.1981, 0.2842},
18118 {0.2064, 0.1662, 0.1879, 0.4395}},
18119 {
18120 {0.4356, 0.1401, 0.1494, 0.2749},
18121 {0.3420, 0.1812, 0.1715, 0.3053},
18122 {0.3397, 0.1886, 0.1862, 0.2856},
18123 {0.2227, 0.1561, 0.1841, 0.4371}},
18124 {
18125 {0.4315, 0.1417, 0.1660, 0.2609},
18126 {0.3420, 0.1687, 0.1785, 0.3109},
18127 {0.3396, 0.1726, 0.1895, 0.2983},
18128 {0.2122, 0.1715, 0.1827, 0.4336}},
18129 {
18130 {0.4244, 0.1510, 0.1623, 0.2623},
18131 {0.3503, 0.1736, 0.1757, 0.3004},
18132 {0.3295, 0.1864, 0.1939, 0.2903},
18133 {0.2160, 0.1660, 0.1878, 0.4302}},
18134 {
18135 {0.4268, 0.1398, 0.1655, 0.2679},
18136 {0.3540, 0.1757, 0.1709, 0.2993},
18137 {0.3183, 0.1756, 0.2055, 0.3006},
18138 {0.2061, 0.1659, 0.1877, 0.4402}},
18139 {
18140 {0.4281, 0.1428, 0.1543, 0.2749},
18141 {0.3407, 0.1749, 0.1836, 0.3008},
18142 {0.3212, 0.1842, 0.1918, 0.3028},
18143 {0.2082, 0.1737, 0.2001, 0.4180}},
18144 {
18145 {0.4083, 0.1443, 0.1700, 0.2774},
18146 {0.3483, 0.1714, 0.1797, 0.3006},
18147 {0.3189, 0.1861, 0.1843, 0.3107},
18148 {0.2139, 0.1687, 0.1996, 0.4179}},
18149 {
18150 {0.4102, 0.1483, 0.1687, 0.2728},
18151 {0.3430, 0.1819, 0.1745, 0.3006},
18152 {0.3242, 0.1864, 0.1788, 0.3105},
18153 {0.2190, 0.1622, 0.1898, 0.4290}},
18154 {
18155 {0.4072, 0.1424, 0.1774, 0.2731},
18156 {0.3468, 0.1938, 0.1695, 0.2898},
18157 {0.3009, 0.1799, 0.1960, 0.3233},
18158 {0.2143, 0.1712, 0.1993, 0.4152}},
18159 {
18160 {0.4114, 0.1439, 0.1650, 0.2797},
18161 {0.3496, 0.1821, 0.1875, 0.2808},
18162 {0.3311, 0.1677, 0.1933, 0.3079},
18163 {0.2185, 0.1682, 0.1839, 0.4294}},
18164 {
18165 {0.4306, 0.1382, 0.1597, 0.2715},
18166 {0.3618, 0.1665, 0.1744, 0.2972},
18167 {0.3289, 0.1777, 0.1832, 0.3102},
18168 {0.2147, 0.1645, 0.1919, 0.4289}},
18169 {
18170 {0.4314, 0.1407, 0.1579, 0.2700},
18171 {0.3432, 0.1779, 0.1778, 0.3011},
18172 {0.3236, 0.1729, 0.1896, 0.3140},
18173 {0.2165, 0.1696, 0.1826, 0.4313}},
18174 {
18175 {0.4465, 0.1281, 0.1580, 0.2674},
18176 {0.3346, 0.1785, 0.1769, 0.3100},
18177 {0.3246, 0.1727, 0.1936, 0.3092},
18178 {0.2171, 0.1674, 0.1831, 0.4324}},
18179 {
18180 {0.4406, 0.1301, 0.1469, 0.2824},
18181 {0.3469, 0.1733, 0.1778, 0.3020},
18182 {0.3171, 0.1754, 0.1857, 0.3218},
18183 {0.2279, 0.1615, 0.1813, 0.4294}},
18184 {
18185 {0.4223, 0.1484, 0.1453, 0.2841},
18186 {0.3499, 0.1724, 0.1704, 0.3073},
18187 {0.3157, 0.1837, 0.1799, 0.3206},
18188 {0.2159, 0.1632, 0.1794, 0.4415}},
18189 {
18190 {0.4204, 0.1436, 0.1608, 0.2751},
18191 {0.3435, 0.1808, 0.1824, 0.2934},
18192 {0.3257, 0.1727, 0.1817, 0.3199},
18193 {0.2122, 0.1743, 0.1897, 0.4238}},
18194 {
18195 {0.3983, 0.1530, 0.1710, 0.2777},
18196 {0.3490, 0.1792, 0.1719, 0.2999},
18197 {0.3171, 0.1946, 0.1852, 0.3031},
18198 {0.2201, 0.1669, 0.1874, 0.4257}},
18199 {
18200 {0.4014, 0.1509, 0.1679, 0.2798},
18201 {0.3534, 0.1980, 0.1713, 0.2773},
18202 {0.2981, 0.1812, 0.1847, 0.3359},
18203 {0.2272, 0.1652, 0.1899, 0.4177}},
18204 {
18205 {0.4153, 0.1496, 0.1666, 0.2685},
18206 {0.3707, 0.1708, 0.1749, 0.2836},
18207 {0.3315, 0.1687, 0.1891, 0.3106},
18208 {0.2393, 0.1598, 0.1892, 0.4116}},
18209 {
18210 {0.4266, 0.1412, 0.1622, 0.2701},
18211 {0.3558, 0.1867, 0.1698, 0.2877},
18212 {0.3347, 0.1730, 0.1883, 0.3041},
18213 {0.2289, 0.1558, 0.1927, 0.4226}},
18214 {
18215 {0.4297, 0.1336, 0.1641, 0.2726},
18216 {0.3419, 0.1679, 0.1936, 0.2965},
18217 {0.3324, 0.1807, 0.1838, 0.3032},
18218 {0.2170, 0.1550, 0.1926, 0.4355}},
18219 {
18220 {0.4419, 0.1393, 0.1508, 0.2681},
18221 {0.3555, 0.1937, 0.1652, 0.2856},
18222 {0.3324, 0.1643, 0.1949, 0.3085},
18223 {0.2138, 0.1658, 0.1852, 0.4353}},
18224 {
18225 {0.4366, 0.1327, 0.1595, 0.2712},
18226 {0.3543, 0.1671, 0.1859, 0.2927},
18227 {0.3130, 0.1637, 0.1917, 0.3316},
18228 {0.1999, 0.1538, 0.1858, 0.4605}},
18229 {
18230 {0.4566, 0.1251, 0.1703, 0.2479},
18231 {0.3436, 0.1722, 0.1824, 0.3018},
18232 {0.2830, 0.1526, 0.2483, 0.3161},
18233 {0.2121, 0.1576, 0.1918, 0.4385}},
18234 {
18235 {0.4448, 0.1327, 0.1622, 0.2604},
18236 {0.3326, 0.2085, 0.1730, 0.2859},
18237 {0.2544, 0.1479, 0.1563, 0.4414},
18238 {0.2483, 0.1626, 0.1800, 0.4091}},
18239 {
18240 {0.4086, 0.1930, 0.1305, 0.2679},
18241 {0.3271, 0.1924, 0.1684, 0.3121},
18242 {0.2999, 0.1715, 0.1955, 0.3331},
18243 {0.2337, 0.1682, 0.1984, 0.3998}},
18244 {
18245 {0.4034, 0.1281, 0.1421, 0.3263},
18246 {0.3677, 0.1682, 0.1565, 0.3076},
18247 {0.3415, 0.1425, 0.1685, 0.3475},
18248 {0.2434, 0.1417, 0.1688, 0.4461}},
18249 {
18250 {0.0000, 0.0000, 1.0000, 0.0000},
18251 {0.0000, 0.0000, 1.0000, 0.0000},
18252 {0.0000, 0.0000, 1.0000, 0.0000},
18253 {0.0000, 0.0000, 1.0000, 0.0000}},
18254 {
18255 {0.0000, 0.0000, 0.0000, 0.0000},
18256 {0.0000, 0.0000, 0.0000, 0.0000},
18257 {0.0000, 0.0000, 0.0000, 1.0000},
18258 {0.0000, 0.0000, 0.0000, 0.0000}},
18259 {
18260 {0.0000, 0.0000, 0.0000, 0.0000},
18261 {0.0000, 0.0000, 0.0000, 0.0000},
18262 {0.0000, 0.0000, 0.0000, 0.0000},
18263 {0.2414, 0.1510, 0.1873, 0.4203}},
18264 {
18265 {0.3382, 0.1565, 0.2168, 0.2884},
18266 {0.3600, 0.1450, 0.1945, 0.3005},
18267 {0.3088, 0.1871, 0.1956, 0.3086},
18268 {0.1713, 0.1595, 0.1562, 0.5130}},
18269 {
18270 {0.4004, 0.1554, 0.1494, 0.2947},
18271 {0.3328, 0.2071, 0.1437, 0.3164},
18272 {0.3286, 0.1860, 0.1905, 0.2949},
18273 {0.1925, 0.1828, 0.1592, 0.4654}},
18274 {
18275 {0.4265, 0.1358, 0.1552, 0.2825},
18276 {0.3521, 0.1976, 0.1727, 0.2775},
18277 {0.3297, 0.2202, 0.1819, 0.2682},
18278 {0.2107, 0.1890, 0.1759, 0.4244}},
18279 {
18280 {0.4398, 0.1372, 0.1567, 0.2662},
18281 {0.3567, 0.1894, 0.1608, 0.2931},
18282 {0.3358, 0.1851, 0.1763, 0.3028},
18283 {0.2194, 0.1666, 0.1782, 0.4358}},
18284 {
18285 {0.4291, 0.1374, 0.1619, 0.2716},
18286 {0.3511, 0.1652, 0.1653, 0.3183},
18287 {0.3285, 0.1831, 0.1838, 0.3046},
18288 {0.2179, 0.1575, 0.1686, 0.4560}},
18289 {
18290 {0.4263, 0.1415, 0.1534, 0.2787},
18291 {0.3504, 0.1791, 0.1685, 0.3020},
18292 {0.3338, 0.1878, 0.1727, 0.3057},
18293 {0.2306, 0.1602, 0.1666, 0.4426}},
18294 {
18295 {0.4129, 0.1696, 0.1422, 0.2753},
18296 {0.3436, 0.1817, 0.1659, 0.3088},
18297 {0.3201, 0.1822, 0.1789, 0.3189},
18298 {0.2105, 0.1717, 0.1770, 0.4408}},
18299 {
18300 {0.4318, 0.1332, 0.1561, 0.2790},
18301 {0.3512, 0.1827, 0.1736, 0.2925},
18302 {0.3378, 0.1841, 0.1839, 0.2941},
18303 {0.2232, 0.1667, 0.1789, 0.4311}},
18304 {
18305 {0.4084, 0.1473, 0.1684, 0.2760},
18306 {0.3514, 0.1867, 0.1672, 0.2948},
18307 {0.3473, 0.1732, 0.1760, 0.3035},
18308 {0.2007, 0.1737, 0.1865, 0.4392}},
18309 {
18310 {0.4236, 0.1447, 0.1484, 0.2833},
18311 {0.3617, 0.1761, 0.1710, 0.2912},
18312 {0.3316, 0.1736, 0.1884, 0.3064},
18313 {0.2144, 0.1777, 0.1758, 0.4320}},
18314 {
18315 {0.4301, 0.1415, 0.1544, 0.2740},
18316 {0.3545, 0.1875, 0.1556, 0.3024},
18317 {0.3227, 0.1944, 0.1772, 0.3056},
18318 {0.2262, 0.1589, 0.1662, 0.4486}},
18319 {
18320 {0.4250, 0.1416, 0.1579, 0.2755},
18321 {0.3509, 0.1882, 0.1604, 0.3005},
18322 {0.3430, 0.1773, 0.1831, 0.2966},
18323 {0.2176, 0.1664, 0.1742, 0.4418}},
18324 {
18325 {0.4443, 0.1297, 0.1472, 0.2788},
18326 {0.3377, 0.1927, 0.1727, 0.2969},
18327 {0.3404, 0.1842, 0.1838, 0.2917},
18328 {0.2091, 0.1604, 0.1721, 0.4584}},
18329 {
18330 {0.4322, 0.1418, 0.1438, 0.2822},
18331 {0.3580, 0.1863, 0.1709, 0.2848},
18332 {0.3359, 0.1817, 0.1868, 0.2956},
18333 {0.2223, 0.1744, 0.1637, 0.4396}},
18334 {
18335 {0.4398, 0.1387, 0.1457, 0.2757},
18336 {0.3436, 0.1839, 0.1727, 0.2998},
18337 {0.3338, 0.1879, 0.1762, 0.3021},
18338 {0.2079, 0.1682, 0.1721, 0.4518}},
18339 {
18340 {0.4245, 0.1433, 0.1524, 0.2798},
18341 {0.3642, 0.1744, 0.1683, 0.2931},
18342 {0.3172, 0.1822, 0.1985, 0.3020},
18343 {0.2116, 0.1719, 0.1806, 0.4360}},
18344 {
18345 {0.4274, 0.1482, 0.1536, 0.2709},
18346 {0.3463, 0.1838, 0.1609, 0.3091},
18347 {0.3257, 0.1936, 0.1650, 0.3156},
18348 {0.2229, 0.1656, 0.1758, 0.4357}},
18349 {
18350 {0.4217, 0.1558, 0.1486, 0.2738},
18351 {0.3571, 0.1898, 0.1631, 0.2900},
18352 {0.3335, 0.1986, 0.1773, 0.2907},
18353 {0.2171, 0.1789, 0.1771, 0.4269}},
18354 {
18355 {0.4069, 0.1564, 0.1561, 0.2805},
18356 {0.3664, 0.1816, 0.1683, 0.2836},
18357 {0.3194, 0.1972, 0.1967, 0.2868},
18358 {0.2052, 0.1694, 0.1783, 0.4471}},
18359 {
18360 {0.4184, 0.1462, 0.1538, 0.2816},
18361 {0.3588, 0.1886, 0.1643, 0.2883},
18362 {0.3176, 0.1985, 0.1826, 0.3012},
18363 {0.2083, 0.1786, 0.1724, 0.4407}},
18364 {
18365 {0.4294, 0.1438, 0.1522, 0.2746},
18366 {0.3556, 0.1710, 0.1731, 0.3003},
18367 {0.3237, 0.1830, 0.1839, 0.3094},
18368 {0.2165, 0.1751, 0.1669, 0.4415}},
18369 {
18370 {0.4357, 0.1441, 0.1397, 0.2804},
18371 {0.3572, 0.1797, 0.1733, 0.2898},
18372 {0.3388, 0.1956, 0.1850, 0.2807},
18373 {0.2234, 0.1661, 0.1727, 0.4378}},
18374 {
18375 {0.4308, 0.1501, 0.1486, 0.2704},
18376 {0.3513, 0.1892, 0.1586, 0.3009},
18377 {0.3465, 0.1819, 0.1726, 0.2990},
18378 {0.2139, 0.1739, 0.1611, 0.4511}},
18379 {
18380 {0.4338, 0.1383, 0.1495, 0.2785},
18381 {0.3632, 0.1877, 0.1610, 0.2881},
18382 {0.3576, 0.1891, 0.1713, 0.2819},
18383 {0.2091, 0.1801, 0.1594, 0.4514}},
18384 {
18385 {0.4247, 0.1410, 0.1543, 0.2799},
18386 {0.3573, 0.1816, 0.1549, 0.3062},
18387 {0.3345, 0.1878, 0.1860, 0.2918},
18388 {0.2139, 0.1781, 0.1724, 0.4356}},
18389 {
18390 {0.4344, 0.1377, 0.1488, 0.2791},
18391 {0.3523, 0.2055, 0.1628, 0.2794},
18392 {0.3435, 0.1899, 0.1728, 0.2938},
18393 {0.2098, 0.1745, 0.1670, 0.4487}},
18394 {
18395 {0.4313, 0.1535, 0.1372, 0.2780},
18396 {0.3546, 0.1796, 0.1672, 0.2986},
18397 {0.3464, 0.1840, 0.1717, 0.2978},
18398 {0.2070, 0.1802, 0.1762, 0.4366}},
18399 {
18400 {0.4218, 0.1442, 0.1556, 0.2784},
18401 {0.3458, 0.1930, 0.1756, 0.2856},
18402 {0.3359, 0.1915, 0.1829, 0.2898},
18403 {0.2137, 0.1790, 0.1702, 0.4372}},
18404 {
18405 {0.4044, 0.1567, 0.1497, 0.2892},
18406 {0.3626, 0.1917, 0.1555, 0.2902},
18407 {0.3323, 0.2099, 0.1726, 0.2852},
18408 {0.2104, 0.1854, 0.1746, 0.4295}},
18409 {
18410 {0.4227, 0.1500, 0.1553, 0.2720},
18411 {0.3595, 0.1871, 0.1647, 0.2887},
18412 {0.3295, 0.1977, 0.1862, 0.2866},
18413 {0.2102, 0.1870, 0.1748, 0.4280}},
18414 {
18415 {0.4104, 0.1590, 0.1548, 0.2759},
18416 {0.3647, 0.1935, 0.1609, 0.2809},
18417 {0.3356, 0.1942, 0.1723, 0.2979},
18418 {0.2154, 0.1833, 0.1790, 0.4222}},
18419 {
18420 {0.4374, 0.1427, 0.1490, 0.2708},
18421 {0.3482, 0.1813, 0.1715, 0.2990},
18422 {0.3477, 0.1809, 0.1735, 0.2979},
18423 {0.2075, 0.1851, 0.1697, 0.4377}},
18424 {
18425 {0.4292, 0.1525, 0.1501, 0.2682},
18426 {0.3557, 0.1943, 0.1578, 0.2922},
18427 {0.3364, 0.1872, 0.1853, 0.2911},
18428 {0.2226, 0.1707, 0.1715, 0.4351}},
18429 {
18430 {0.4383, 0.1475, 0.1447, 0.2696},
18431 {0.3527, 0.1890, 0.1641, 0.2942},
18432 {0.3467, 0.1844, 0.1882, 0.2807},
18433 {0.2001, 0.1807, 0.1806, 0.4386}},
18434 {
18435 {0.4336, 0.1451, 0.1443, 0.2770},
18436 {0.3507, 0.1881, 0.1601, 0.3011},
18437 {0.3464, 0.1946, 0.1843, 0.2746},
18438 {0.2034, 0.1868, 0.1703, 0.4395}},
18439 {
18440 {0.4412, 0.1415, 0.1558, 0.2615},
18441 {0.3662, 0.1826, 0.1733, 0.2779},
18442 {0.3467, 0.1886, 0.1819, 0.2828},
18443 {0.2054, 0.1764, 0.1682, 0.4501}},
18444 {
18445 {0.4246, 0.1482, 0.1523, 0.2748},
18446 {0.3643, 0.1898, 0.1563, 0.2896},
18447 {0.3284, 0.1930, 0.1825, 0.2960},
18448 {0.2035, 0.1920, 0.1732, 0.4313}},
18449 {
18450 {0.4196, 0.1425, 0.1594, 0.2785},
18451 {0.3641, 0.1856, 0.1613, 0.2890},
18452 {0.3276, 0.1986, 0.1831, 0.2907},
18453 {0.2185, 0.1796, 0.1832, 0.4186}},
18454 {
18455 {0.4149, 0.1564, 0.1589, 0.2697},
18456 {0.3540, 0.1976, 0.1749, 0.2734},
18457 {0.3343, 0.1939, 0.1851, 0.2867},
18458 {0.2158, 0.1872, 0.1761, 0.4209}},
18459 {
18460 {0.4207, 0.1566, 0.1545, 0.2681},
18461 {0.3496, 0.1965, 0.1650, 0.2889},
18462 {0.3198, 0.2035, 0.1919, 0.2849},
18463 {0.2067, 0.1854, 0.1813, 0.4266}},
18464 {
18465 {0.4194, 0.1448, 0.1559, 0.2799},
18466 {0.3510, 0.1930, 0.1734, 0.2826},
18467 {0.3181, 0.2011, 0.1863, 0.2945},
18468 {0.2165, 0.1785, 0.1771, 0.4279}},
18469 {
18470 {0.4250, 0.1543, 0.1471, 0.2737},
18471 {0.3646, 0.1905, 0.1597, 0.2852},
18472 {0.3442, 0.1899, 0.1851, 0.2809},
18473 {0.2061, 0.1834, 0.1810, 0.4295}},
18474 {
18475 {0.4159, 0.1559, 0.1525, 0.2757},
18476 {0.3545, 0.1946, 0.1636, 0.2873},
18477 {0.3403, 0.1909, 0.1785, 0.2903},
18478 {0.2034, 0.1895, 0.1820, 0.4251}},
18479 {
18480 {0.4324, 0.1423, 0.1472, 0.2782},
18481 {0.3625, 0.1898, 0.1650, 0.2826},
18482 {0.3354, 0.1939, 0.1840, 0.2868},
18483 {0.2154, 0.1817, 0.1810, 0.4219}},
18484 {
18485 {0.4368, 0.1465, 0.1479, 0.2688},
18486 {0.3542, 0.1820, 0.1726, 0.2911},
18487 {0.3325, 0.2037, 0.1790, 0.2849},
18488 {0.2042, 0.1822, 0.1858, 0.4279}},
18489 {
18490 {0.4192, 0.1493, 0.1591, 0.2724},
18491 {0.3457, 0.1997, 0.1751, 0.2794},
18492 {0.3505, 0.1898, 0.1848, 0.2749},
18493 {0.2026, 0.1857, 0.1737, 0.4380}},
18494 {
18495 {0.4177, 0.1463, 0.1504, 0.2857},
18496 {0.3370, 0.1925, 0.1771, 0.2935},
18497 {0.3338, 0.1905, 0.1944, 0.2814},
18498 {0.1999, 0.1971, 0.1751, 0.4279}},
18499 {
18500 {0.4253, 0.1491, 0.1522, 0.2734},
18501 {0.3439, 0.1912, 0.1694, 0.2956},
18502 {0.3378, 0.2038, 0.1737, 0.2847},
18503 {0.2023, 0.1904, 0.1856, 0.4218}},
18504 {
18505 {0.4182, 0.1640, 0.1483, 0.2695},
18506 {0.3555, 0.1848, 0.1756, 0.2841},
18507 {0.3388, 0.1938, 0.1879, 0.2794},
18508 {0.2040, 0.1884, 0.1846, 0.4229}}
18509 }},
18510 {
18511 { /* Splice_Site: T1_GT; Species: Yeast */
18512 {
18513 {0.4085, 0.4085, 0.4085, 0.4085},
18514 {0.1932, 0.1932, 0.1932, 0.1932},
18515 {0.1433, 0.1433, 0.1433, 0.1433},
18516 {0.2551, 0.2551, 0.2551, 0.2551}},
18517 {
18518 {0.2696, 0.1445, 0.1744, 0.4115},
18519 {0.3041, 0.1826, 0.1839, 0.3294},
18520 {0.2107, 0.2922, 0.0789, 0.4182},
18521 {0.3242, 0.0945, 0.1194, 0.4620}},
18522 {
18523 {0.3897, 0.1690, 0.1862, 0.2551},
18524 {0.2986, 0.1868, 0.2894, 0.2252},
18525 {0.2450, 0.2694, 0.3649, 0.1207},
18526 {0.2326, 0.1444, 0.3579, 0.2651}},
18527 {
18528 {0.4123, 0.1442, 0.1836, 0.2599},
18529 {0.4071, 0.3946, 0.0000, 0.1983},
18530 {0.4722, 0.1176, 0.2120, 0.1981},
18531 {0.1272, 0.3619, 0.0740, 0.4369}},
18532 {
18533 {0.3223, 0.0819, 0.2458, 0.3501},
18534 {0.3047, 0.2041, 0.1013, 0.3898},
18535 {0.3046, 0.1727, 0.2202, 0.3025},
18536 {0.2212, 0.1343, 0.3041, 0.3405}},
18537 {
18538 {0.4251, 0.0797, 0.2923, 0.2029},
18539 {0.3868, 0.2183, 0.0908, 0.3040},
18540 {0.1873, 0.1844, 0.3948, 0.2334},
18541 {0.3072, 0.1989, 0.2556, 0.2382}},
18542 {
18543 {0.3828, 0.2016, 0.1788, 0.2368},
18544 {0.2498, 0.1747, 0.2532, 0.3223},
18545 {0.2829, 0.1961, 0.1114, 0.4096},
18546 {0.0993, 0.3011, 0.1259, 0.4737}},
18547 {
18548 {0.3104, 0.2641, 0.0462, 0.3793},
18549 {0.3581, 0.1606, 0.1053, 0.3760},
18550 {0.3011, 0.1824, 0.1787, 0.3378},
18551 {0.1815, 0.1859, 0.2705, 0.3621}},
18552 {
18553 {0.3653, 0.1315, 0.3493, 0.1540},
18554 {0.4411, 0.1797, 0.1455, 0.2336},
18555 {0.4415, 0.1838, 0.1864, 0.1883},
18556 {0.3233, 0.1927, 0.2412, 0.2428}},
18557 {
18558 {0.2977, 0.2341, 0.1587, 0.3095},
18559 {0.3761, 0.2061, 0.2410, 0.1767},
18560 {0.5621, 0.1198, 0.1216, 0.1965},
18561 {0.2818, 0.1714, 0.0566, 0.4902}},
18562 {
18563 {0.3185, 0.2385, 0.1268, 0.3163},
18564 {0.1848, 0.2219, 0.2457, 0.3477},
18565 {0.3788, 0.1238, 0.2078, 0.2895},
18566 {0.1632, 0.1158, 0.3220, 0.3990}},
18567 {
18568 {0.3904, 0.1853, 0.2825, 0.1418},
18569 {0.3942, 0.1523, 0.3228, 0.1307},
18570 {0.4831, 0.2216, 0.1615, 0.1338},
18571 {0.2898, 0.1406, 0.3400, 0.2296}},
18572 {
18573 {0.4058, 0.1271, 0.1261, 0.3410},
18574 {0.2359, 0.3787, 0.1767, 0.2087},
18575 {0.3314, 0.2877, 0.1265, 0.2543},
18576 {0.2147, 0.1072, 0.0384, 0.6397}},
18577 {
18578 {0.2900, 0.0713, 0.2959, 0.3429},
18579 {0.4510, 0.1623, 0.0796, 0.3072},
18580 {0.1014, 0.0951, 0.1937, 0.6098},
18581 {0.1906, 0.2104, 0.1749, 0.4240}},
18582 {
18583 {0.3293, 0.2036, 0.2209, 0.2462},
18584 {0.4207, 0.0418, 0.3337, 0.2038},
18585 {0.3410, 0.2676, 0.1844, 0.2070},
18586 {0.2656, 0.2698, 0.2439, 0.2207}},
18587 {
18588 {0.4106, 0.2351, 0.1474, 0.2069},
18589 {0.4015, 0.1859, 0.1381, 0.2745},
18590 {0.3804, 0.2256, 0.2184, 0.1756},
18591 {0.1894, 0.2576, 0.0257, 0.5273}},
18592 {
18593 {0.3898, 0.0669, 0.1834, 0.3599},
18594 {0.2551, 0.1320, 0.1488, 0.4641},
18595 {0.1732, 0.0858, 0.1331, 0.6079},
18596 {0.1457, 0.0837, 0.2683, 0.5024}},
18597 {
18598 {0.3380, 0.1376, 0.3002, 0.2242},
18599 {0.5346, 0.0662, 0.0673, 0.3319},
18600 {0.3429, 0.0879, 0.2476, 0.3216},
18601 {0.2490, 0.2721, 0.1937, 0.2851}},
18602 {
18603 {0.4873, 0.0743, 0.1546, 0.2838},
18604 {0.2585, 0.2851, 0.2292, 0.2271},
18605 {0.4330, 0.1646, 0.1634, 0.2390},
18606 {0.1424, 0.1677, 0.1519, 0.5380}},
18607 {
18608 {0.4407, 0.1544, 0.1433, 0.2616},
18609 {0.1789, 0.1148, 0.0747, 0.6315},
18610 {0.2461, 0.1415, 0.2915, 0.3210},
18611 {0.2087, 0.1939, 0.2132, 0.3843}},
18612 {
18613 {0.3275, 0.1639, 0.2232, 0.2854},
18614 {0.3771, 0.2515, 0.2215, 0.1499},
18615 {0.2703, 0.1667, 0.4011, 0.1619},
18616 {0.2994, 0.1421, 0.3149, 0.2436}},
18617 {
18618 {0.3793, 0.1712, 0.2091, 0.2404},
18619 {0.3022, 0.2430, 0.2100, 0.2448},
18620 {0.4284, 0.1017, 0.2400, 0.2298},
18621 {0.1584, 0.2618, 0.2163, 0.3635}},
18622 {
18623 {0.2876, 0.1971, 0.1782, 0.3371},
18624 {0.3158, 0.2012, 0.1285, 0.3545},
18625 {0.2645, 0.1932, 0.1104, 0.4318},
18626 {0.1094, 0.1575, 0.3074, 0.4257}},
18627 {
18628 {0.3674, 0.1440, 0.2944, 0.1943},
18629 {0.2584, 0.1612, 0.3552, 0.2252},
18630 {0.2182, 0.2528, 0.3656, 0.1634},
18631 {0.2429, 0.1386, 0.3720, 0.2465}},
18632 {
18633 {0.4140, 0.1549, 0.1506, 0.2804},
18634 {0.3929, 0.2532, 0.1422, 0.2117},
18635 {0.4218, 0.1829, 0.2437, 0.1516},
18636 {0.2244, 0.2199, 0.2290, 0.3268}},
18637 {
18638 {0.3153, 0.0957, 0.1905, 0.3986},
18639 {0.1819, 0.1177, 0.1268, 0.5736},
18640 {0.2374, 0.2118, 0.0924, 0.4584},
18641 {0.2438, 0.0509, 0.2251, 0.4802}},
18642 {
18643 {0.1318, 0.2029, 0.3480, 0.3173},
18644 {0.2694, 0.2047, 0.3081, 0.2177},
18645 {0.2866, 0.2159, 0.3557, 0.1419},
18646 {0.2427, 0.1935, 0.2924, 0.2714}},
18647 {
18648 {0.2920, 0.2397, 0.0771, 0.3911},
18649 {0.3227, 0.0270, 0.1801, 0.4702},
18650 {0.4839, 0.1662, 0.1490, 0.2009},
18651 {0.0939, 0.3739, 0.1354, 0.3969}},
18652 {
18653 {0.3983, 0.1571, 0.1739, 0.2707},
18654 {0.2351, 0.1153, 0.0529, 0.5966},
18655 {0.2159, 0.2214, 0.1689, 0.3939},
18656 {0.1530, 0.2210, 0.2877, 0.3382}},
18657 {
18658 {0.3082, 0.1635, 0.3904, 0.1379},
18659 {0.4596, 0.1014, 0.2363, 0.2028},
18660 {0.4285, 0.1885, 0.1607, 0.2223},
18661 {0.1713, 0.2815, 0.3562, 0.1911}},
18662 {
18663 {0.4349, 0.0972, 0.1950, 0.2729},
18664 {0.3582, 0.2618, 0.1487, 0.2313},
18665 {0.2920, 0.2523, 0.1712, 0.2845},
18666 {0.1948, 0.3313, 0.0603, 0.4136}},
18667 {
18668 {0.3766, 0.1067, 0.1787, 0.3381},
18669 {0.2903, 0.2228, 0.1545, 0.3323},
18670 {0.3020, 0.1583, 0.1166, 0.4232},
18671 {0.1175, 0.1430, 0.2968, 0.4427}},
18672 {
18673 {0.3505, 0.1489, 0.3035, 0.1972},
18674 {0.3223, 0.1213, 0.2026, 0.3538},
18675 {0.2408, 0.3156, 0.1781, 0.2655},
18676 {0.3139, 0.1735, 0.2930, 0.2196}},
18677 {
18678 {0.1902, 0.3301, 0.0781, 0.4016},
18679 {0.3752, 0.1595, 0.2783, 0.1870},
18680 {0.4141, 0.2054, 0.2218, 0.1587},
18681 {0.0727, 0.1644, 0.0994, 0.6636}},
18682 {
18683 {0.3262, 0.1392, 0.1646, 0.3701},
18684 {0.2366, 0.1838, 0.0533, 0.5263},
18685 {0.3276, 0.0376, 0.2564, 0.3785},
18686 {0.1936, 0.2301, 0.2805, 0.2957}},
18687 {
18688 {0.4059, 0.1588, 0.2529, 0.1824},
18689 {0.3563, 0.0000, 0.4245, 0.2193},
18690 {0.3975, 0.0937, 0.3317, 0.1771},
18691 {0.3157, 0.1588, 0.2596, 0.2659}},
18692 {
18693 {0.4054, 0.1502, 0.1180, 0.3264},
18694 {0.3920, 0.2021, 0.2586, 0.1472},
18695 {0.5278, 0.1199, 0.2134, 0.1389},
18696 {0.1319, 0.1586, 0.1875, 0.5220}},
18697 {
18698 {0.3502, 0.1666, 0.2019, 0.2813},
18699 {0.2735, 0.2046, 0.1249, 0.3971},
18700 {0.2315, 0.2725, 0.1619, 0.3341},
18701 {0.2229, 0.1034, 0.1635, 0.5101}},
18702 {
18703 {0.4328, 0.1890, 0.2140, 0.1642},
18704 {0.3342, 0.2115, 0.2120, 0.2423},
18705 {0.3066, 0.2044, 0.2458, 0.2432},
18706 {0.2722, 0.1134, 0.4071, 0.2072}},
18707 {
18708 {0.4210, 0.1619, 0.1734, 0.2436},
18709 {0.2854, 0.1816, 0.2445, 0.2885},
18710 {0.3671, 0.2854, 0.1844, 0.1632},
18711 {0.2210, 0.2280, 0.0591, 0.4920}},
18712 {
18713 {0.2766, 0.2410, 0.1015, 0.3808},
18714 {0.2534, 0.1682, 0.1127, 0.4657},
18715 {0.2086, 0.2132, 0.1091, 0.4691},
18716 {0.1695, 0.1048, 0.1983, 0.5274}},
18717 {
18718 {0.3897, 0.1536, 0.1500, 0.3067},
18719 {0.3479, 0.1668, 0.1884, 0.2969},
18720 {0.4096, 0.2355, 0.0913, 0.2637},
18721 {0.2981, 0.1957, 0.2839, 0.2223}},
18722 {
18723 {0.4845, 0.1204, 0.1061, 0.2890},
18724 {0.2672, 0.2510, 0.0960, 0.3857},
18725 {0.4998, 0.1682, 0.0818, 0.2502},
18726 {0.0690, 0.2008, 0.0682, 0.6619}},
18727 {
18728 {0.3663, 0.1758, 0.1375, 0.3205},
18729 {0.2003, 0.3020, 0.0658, 0.4319},
18730 {0.0631, 0.3392, 0.0665, 0.5312},
18731 {0.2220, 0.2175, 0.2079, 0.3526}},
18732 {
18733 {0.3777, 0.1880, 0.3182, 0.1160},
18734 {0.3629, 0.1040, 0.2922, 0.2409},
18735 {0.3550, 0.2833, 0.1244, 0.2373},
18736 {0.2815, 0.1732, 0.3216, 0.2237}},
18737 {
18738 {0.4686, 0.1752, 0.0737, 0.2824},
18739 {0.5350, 0.0993, 0.2356, 0.1301},
18740 {0.5079, 0.0406, 0.1652, 0.2863},
18741 {0.2092, 0.2648, 0.1189, 0.4071}},
18742 {
18743 {0.4433, 0.1656, 0.0791, 0.3120},
18744 {0.3754, 0.1248, 0.1263, 0.3735},
18745 {0.6124, 0.1270, 0.1748, 0.0858},
18746 {0.3308, 0.1493, 0.0822, 0.4377}},
18747 {
18748 {0.4988, 0.1483, 0.3097, 0.0431},
18749 {0.5661, 0.1175, 0.1635, 0.1528},
18750 {0.4150, 0.2350, 0.2360, 0.1141},
18751 {0.3668, 0.2559, 0.1983, 0.1790}},
18752 {
18753 {0.5796, 0.1060, 0.1446, 0.1697},
18754 {0.6305, 0.1552, 0.0957, 0.1186},
18755 {0.5387, 0.0973, 0.1408, 0.2233},
18756 {0.0523, 0.1029, 0.1550, 0.6898}},
18757 {
18758 {0.1892, 0.0349, 0.6625, 0.1134},
18759 {0.2079, 0.1077, 0.3210, 0.3634},
18760 {0.1717, 0.0903, 0.4397, 0.2983},
18761 {0.0753, 0.1020, 0.5394, 0.2833}},
18762 {
18763 {0.0000, 0.0000, 1.0000, 0.0000},
18764 {0.0000, 0.0000, 1.0000, 0.0000},
18765 {0.0000, 0.0000, 1.0000, 0.0000},
18766 {0.0000, 0.0000, 1.0000, 0.0000}},
18767 {
18768 {0.0000, 0.0000, 0.0000, 0.0000},
18769 {0.0000, 0.0000, 0.0000, 0.0000},
18770 {0.0000, 0.0000, 0.0000, 1.0000},
18771 {0.0000, 0.0000, 0.0000, 0.0000}},
18772 {
18773 {0.0000, 0.0000, 0.0000, 0.0000},
18774 {0.0000, 0.0000, 0.0000, 0.0000},
18775 {0.0000, 0.0000, 0.0000, 0.0000},
18776 {0.8581, 0.0000, 0.0588, 0.0831}},
18777 {
18778 {0.4500, 0.0623, 0.0550, 0.4327},
18779 {0.0000, 0.0000, 0.0000, 0.0000},
18780 {0.6980, 0.0000, 0.0000, 0.3020},
18781 {0.2057, 0.0712, 0.0649, 0.6583}},
18782 {
18783 {0.0367, 0.0000, 0.9500, 0.0133},
18784 {0.0983, 0.0000, 0.9017, 0.0000},
18785 {0.1217, 0.2119, 0.6664, 0.0000},
18786 {0.0805, 0.0127, 0.8124, 0.0944}},
18787 {
18788 {0.3646, 0.0883, 0.0000, 0.5471},
18789 {0.0000, 0.0000, 0.0000, 1.0000},
18790 {0.1237, 0.0817, 0.0607, 0.7339},
18791 {0.5093, 0.1283, 0.0000, 0.3623}},
18792 {
18793 {0.3431, 0.0842, 0.1182, 0.4546},
18794 {0.2867, 0.1372, 0.0640, 0.5121},
18795 {0.4361, 0.2274, 0.1141, 0.2224},
18796 {0.2841, 0.1076, 0.1480, 0.4603}},
18797 {
18798 {0.4469, 0.1362, 0.0604, 0.3565},
18799 {0.1987, 0.1645, 0.1101, 0.5268},
18800 {0.4796, 0.0864, 0.0000, 0.4340},
18801 {0.3132, 0.1053, 0.1039, 0.4775}},
18802 {
18803 {0.4040, 0.1755, 0.0660, 0.3544},
18804 {0.2507, 0.1484, 0.1462, 0.4548},
18805 {0.2177, 0.2247, 0.0815, 0.4761},
18806 {0.2433, 0.1990, 0.0681, 0.4896}},
18807 {
18808 {0.4323, 0.0993, 0.0604, 0.4080},
18809 {0.2468, 0.1886, 0.1602, 0.4045},
18810 {0.3869, 0.1554, 0.0834, 0.3743},
18811 {0.2484, 0.1476, 0.1330, 0.4710}},
18812 {
18813 {0.3746, 0.1130, 0.2007, 0.3117},
18814 {0.2921, 0.2134, 0.1616, 0.3329},
18815 {0.6427, 0.1557, 0.0503, 0.1514},
18816 {0.2619, 0.0830, 0.1233, 0.5318}},
18817 {
18818 {0.4966, 0.0895, 0.0856, 0.3283},
18819 {0.4567, 0.1016, 0.0970, 0.3448},
18820 {0.2766, 0.1168, 0.1235, 0.4832},
18821 {0.2435, 0.0765, 0.1815, 0.4985}},
18822 {
18823 {0.3134, 0.1640, 0.1414, 0.3812},
18824 {0.4031, 0.0000, 0.0000, 0.5969},
18825 {0.2716, 0.2803, 0.0821, 0.3660},
18826 {0.2979, 0.1284, 0.1381, 0.4356}},
18827 {
18828 {0.2313, 0.0565, 0.1573, 0.5549},
18829 {0.3995, 0.0369, 0.1254, 0.4382},
18830 {0.3348, 0.1969, 0.2789, 0.1894},
18831 {0.2577, 0.1554, 0.1678, 0.4191}},
18832 {
18833 {0.4054, 0.0833, 0.0823, 0.4290},
18834 {0.2666, 0.1028, 0.1095, 0.5211},
18835 {0.2019, 0.3493, 0.1375, 0.3113},
18836 {0.2973, 0.1190, 0.2032, 0.3806}},
18837 {
18838 {0.3874, 0.1305, 0.1959, 0.2862},
18839 {0.4740, 0.0379, 0.1235, 0.3646},
18840 {0.2374, 0.1183, 0.1606, 0.4838},
18841 {0.2987, 0.1076, 0.0752, 0.5185}},
18842 {
18843 {0.4000, 0.0866, 0.1586, 0.3548},
18844 {0.3448, 0.1165, 0.1594, 0.3793},
18845 {0.2233, 0.1814, 0.1817, 0.4136},
18846 {0.2400, 0.0843, 0.1696, 0.5062}},
18847 {
18848 {0.2956, 0.1973, 0.1564, 0.3508},
18849 {0.1707, 0.1816, 0.0576, 0.5901},
18850 {0.2152, 0.2139, 0.2123, 0.3585},
18851 {0.1635, 0.1254, 0.1110, 0.6002}},
18852 {
18853 {0.5245, 0.0860, 0.1398, 0.2497},
18854 {0.3249, 0.1382, 0.2500, 0.2869},
18855 {0.5180, 0.1716, 0.1794, 0.1310},
18856 {0.2679, 0.1220, 0.1307, 0.4794}},
18857 {
18858 {0.3421, 0.1604, 0.1633, 0.3341},
18859 {0.3392, 0.0960, 0.2336, 0.3311},
18860 {0.5162, 0.2244, 0.0758, 0.1836},
18861 {0.1989, 0.0840, 0.2737, 0.4435}},
18862 {
18863 {0.3147, 0.2245, 0.1665, 0.2943},
18864 {0.2626, 0.0887, 0.1296, 0.5191},
18865 {0.3081, 0.1255, 0.1835, 0.3828},
18866 {0.2717, 0.1522, 0.1204, 0.4557}},
18867 {
18868 {0.3098, 0.2205, 0.0976, 0.3721},
18869 {0.2647, 0.1826, 0.2176, 0.3352},
18870 {0.2366, 0.0401, 0.3184, 0.4049},
18871 {0.2762, 0.1616, 0.1156, 0.4466}},
18872 {
18873 {0.3849, 0.1676, 0.1287, 0.3188},
18874 {0.2900, 0.1395, 0.1791, 0.3914},
18875 {0.2554, 0.1837, 0.1113, 0.4495},
18876 {0.2347, 0.0601, 0.1363, 0.5689}},
18877 {
18878 {0.3899, 0.0800, 0.1791, 0.3510},
18879 {0.2429, 0.0480, 0.0977, 0.6114},
18880 {0.2986, 0.2651, 0.1808, 0.2556},
18881 {0.2479, 0.1853, 0.1729, 0.3939}},
18882 {
18883 {0.3651, 0.0753, 0.1636, 0.3961},
18884 {0.2430, 0.1182, 0.2018, 0.4369},
18885 {0.4218, 0.2513, 0.0741, 0.2527},
18886 {0.2915, 0.1385, 0.1493, 0.4207}},
18887 {
18888 {0.2719, 0.2695, 0.1493, 0.3093},
18889 {0.5230, 0.0472, 0.1774, 0.2525},
18890 {0.2423, 0.1950, 0.2408, 0.3218},
18891 {0.2423, 0.0902, 0.1061, 0.5615}},
18892 {
18893 {0.2660, 0.2059, 0.1434, 0.3847},
18894 {0.2561, 0.1486, 0.0784, 0.5168},
18895 {0.3139, 0.2829, 0.1568, 0.2463},
18896 {0.2465, 0.1807, 0.1299, 0.4429}},
18897 {
18898 {0.2758, 0.1981, 0.0867, 0.4394},
18899 {0.4287, 0.1235, 0.2405, 0.2073},
18900 {0.2277, 0.2254, 0.0939, 0.4530},
18901 {0.2873, 0.0713, 0.1450, 0.4964}},
18902 {
18903 {0.3726, 0.1942, 0.1584, 0.2748},
18904 {0.2198, 0.2205, 0.0000, 0.5597},
18905 {0.2086, 0.1231, 0.2104, 0.4579},
18906 {0.2250, 0.1842, 0.1812, 0.4096}},
18907 {
18908 {0.1983, 0.2693, 0.0689, 0.4634},
18909 {0.1290, 0.1937, 0.0974, 0.5798},
18910 {0.4915, 0.1560, 0.0386, 0.3139},
18911 {0.3251, 0.1656, 0.1493, 0.3600}},
18912 {
18913 {0.5116, 0.2087, 0.0436, 0.2361},
18914 {0.3600, 0.0600, 0.0917, 0.4883},
18915 {0.3415, 0.0000, 0.1797, 0.4789},
18916 {0.3652, 0.1574, 0.1243, 0.3531}},
18917 {
18918 {0.3362, 0.1441, 0.1272, 0.3925},
18919 {0.3508, 0.2148, 0.0896, 0.3448},
18920 {0.1210, 0.2302, 0.1147, 0.5341},
18921 {0.1152, 0.2301, 0.1657, 0.4890}},
18922 {
18923 {0.4251, 0.1964, 0.0266, 0.3519},
18924 {0.3059, 0.0906, 0.1232, 0.4803},
18925 {0.2297, 0.2962, 0.2593, 0.2148},
18926 {0.2179, 0.0942, 0.2222, 0.4658}},
18927 {
18928 {0.3105, 0.2916, 0.0844, 0.3135},
18929 {0.4343, 0.2000, 0.0418, 0.3238},
18930 {0.2625, 0.1483, 0.1841, 0.4052},
18931 {0.3089, 0.2174, 0.1416, 0.3320}},
18932 {
18933 {0.4370, 0.1690, 0.0749, 0.3191},
18934 {0.3173, 0.1565, 0.1070, 0.4192},
18935 {0.2421, 0.2013, 0.1027, 0.4539},
18936 {0.3337, 0.1236, 0.1213, 0.4214}},
18937 {
18938 {0.3702, 0.2662, 0.0798, 0.2839},
18939 {0.2325, 0.0778, 0.0792, 0.6105},
18940 {0.2369, 0.2347, 0.2317, 0.2967},
18941 {0.2749, 0.1044, 0.1787, 0.4420}},
18942 {
18943 {0.2591, 0.2747, 0.1814, 0.2848},
18944 {0.4186, 0.0993, 0.1374, 0.3448},
18945 {0.3961, 0.2554, 0.2146, 0.1338},
18946 {0.3178, 0.1020, 0.1361, 0.4441}},
18947 {
18948 {0.3811, 0.2557, 0.0528, 0.3104},
18949 {0.2996, 0.0329, 0.2030, 0.4645},
18950 {0.2892, 0.1904, 0.0770, 0.4434},
18951 {0.3171, 0.0864, 0.1919, 0.4047}},
18952 {
18953 {0.2891, 0.1403, 0.1430, 0.4276},
18954 {0.3207, 0.1217, 0.1536, 0.4040},
18955 {0.3656, 0.1271, 0.1413, 0.3659},
18956 {0.1663, 0.2100, 0.2114, 0.4123}},
18957 {
18958 {0.3069, 0.2110, 0.2700, 0.2120},
18959 {0.2132, 0.1447, 0.1799, 0.4622},
18960 {0.3472, 0.2052, 0.1392, 0.3084},
18961 {0.4033, 0.0585, 0.1908, 0.3474}},
18962 {
18963 {0.3351, 0.1386, 0.1540, 0.3723},
18964 {0.4710, 0.0427, 0.1795, 0.3068},
18965 {0.4686, 0.1165, 0.1475, 0.2674},
18966 {0.1801, 0.1458, 0.1611, 0.5130}},
18967 {
18968 {0.4248, 0.1609, 0.1097, 0.3046},
18969 {0.2308, 0.2366, 0.1478, 0.3848},
18970 {0.2522, 0.1461, 0.1531, 0.4486},
18971 {0.3728, 0.0924, 0.0740, 0.4609}},
18972 {
18973 {0.3026, 0.1840, 0.1710, 0.3424},
18974 {0.2899, 0.0811, 0.0428, 0.5861},
18975 {0.3323, 0.2125, 0.2871, 0.1681},
18976 {0.1958, 0.1656, 0.1515, 0.4870}},
18977 {
18978 {0.2425, 0.2045, 0.1334, 0.4196},
18979 {0.2873, 0.2201, 0.0344, 0.4582},
18980 {0.3438, 0.1929, 0.1138, 0.3494},
18981 {0.3793, 0.0974, 0.1120, 0.4113}},
18982 {
18983 {0.3234, 0.0894, 0.3079, 0.2793},
18984 {0.3407, 0.1460, 0.1071, 0.4061},
18985 {0.3925, 0.1072, 0.2201, 0.2803},
18986 {0.2768, 0.0983, 0.2454, 0.3795}},
18987 {
18988 {0.2782, 0.2482, 0.1935, 0.2802},
18989 {0.5019, 0.0545, 0.2228, 0.2208},
18990 {0.4319, 0.1726, 0.2427, 0.1528},
18991 {0.2078, 0.1050, 0.1254, 0.5617}},
18992 {
18993 {0.4079, 0.2447, 0.0728, 0.2747},
18994 {0.2242, 0.1879, 0.1094, 0.4785},
18995 {0.3517, 0.1946, 0.1633, 0.2905},
18996 {0.3116, 0.1051, 0.1410, 0.4423}},
18997 {
18998 {0.5038, 0.1620, 0.1057, 0.2284},
18999 {0.3664, 0.2998, 0.0658, 0.2680},
19000 {0.3036, 0.2517, 0.0970, 0.3477},
19001 {0.3091, 0.0980, 0.1934, 0.3995}},
19002 {
19003 {0.3798, 0.1862, 0.1069, 0.3270},
19004 {0.2820, 0.1326, 0.2057, 0.3797},
19005 {0.3638, 0.2282, 0.0911, 0.3169},
19006 {0.2278, 0.2068, 0.1861, 0.3793}},
19007 {
19008 {0.2675, 0.2410, 0.0945, 0.3969},
19009 {0.4366, 0.1817, 0.0885, 0.2931},
19010 {0.3188, 0.1200, 0.1579, 0.4033},
19011 {0.2845, 0.2097, 0.1326, 0.3732}},
19012 {
19013 {0.3587, 0.2074, 0.2484, 0.1856},
19014 {0.3197, 0.1749, 0.1165, 0.3888},
19015 {0.2041, 0.0525, 0.3352, 0.4081},
19016 {0.2746, 0.1280, 0.1633, 0.4341}},
19017 {
19018 {0.3542, 0.0988, 0.1960, 0.3511},
19019 {0.3031, 0.1948, 0.2670, 0.2350},
19020 {0.5102, 0.1147, 0.1441, 0.2311},
19021 {0.2617, 0.1209, 0.1693, 0.4481}}},
19022
19023 { /* Splice_Site: T2_GT; Species: Yeast */
19024 {
19025 {0.2650, 0.2650, 0.2650, 0.2650},
19026 {0.1964, 0.1964, 0.1964, 0.1964},
19027 {0.1658, 0.1658, 0.1658, 0.1658},
19028 {0.3729, 0.3729, 0.3729, 0.3729}},
19029 {
19030 {0.3579, 0.1896, 0.3220, 0.1306},
19031 {0.2910, 0.1785, 0.3132, 0.2172},
19032 {0.1955, 0.2492, 0.3576, 0.1976},
19033 {0.2269, 0.2035, 0.3358, 0.2338}},
19034 {
19035 {0.3717, 0.1910, 0.1574, 0.2799},
19036 {0.3311, 0.2900, 0.0871, 0.2918},
19037 {0.4904, 0.2368, 0.0759, 0.1969},
19038 {0.1789, 0.2176, 0.1346, 0.4689}},
19039 {
19040 {0.2131, 0.1378, 0.1618, 0.4873},
19041 {0.2931, 0.1885, 0.1484, 0.3700},
19042 {0.2298, 0.0786, 0.4681, 0.2235},
19043 {0.2286, 0.2310, 0.1447, 0.3958}},
19044 {
19045 {0.4294, 0.2836, 0.2150, 0.0720},
19046 {0.4495, 0.2014, 0.2496, 0.0995},
19047 {0.3195, 0.2319, 0.1814, 0.2672},
19048 {0.2081, 0.1850, 0.2740, 0.3329}},
19049 {
19050 {0.4376, 0.1037, 0.0799, 0.3788},
19051 {0.3391, 0.1958, 0.2380, 0.2271},
19052 {0.5333, 0.1715, 0.0754, 0.2198},
19053 {0.1893, 0.1500, 0.1891, 0.4716}},
19054 {
19055 {0.2814, 0.1955, 0.1577, 0.3655},
19056 {0.1151, 0.0541, 0.0576, 0.7733},
19057 {0.1256, 0.1300, 0.3689, 0.3754},
19058 {0.2399, 0.1047, 0.1297, 0.5256}},
19059 {
19060 {0.3790, 0.2319, 0.2776, 0.1115},
19061 {0.1864, 0.3752, 0.2567, 0.1817},
19062 {0.2568, 0.3224, 0.2129, 0.2079},
19063 {0.3016, 0.2092, 0.2308, 0.2583}},
19064 {
19065 {0.4284, 0.1689, 0.1135, 0.2892},
19066 {0.2715, 0.2612, 0.1020, 0.3653},
19067 {0.2864, 0.1396, 0.1839, 0.3901},
19068 {0.1618, 0.2422, 0.0768, 0.5192}},
19069 {
19070 {0.2512, 0.2026, 0.1129, 0.4333},
19071 {0.2078, 0.1720, 0.1286, 0.4916},
19072 {0.3534, 0.0000, 0.2814, 0.3652},
19073 {0.1751, 0.1097, 0.2931, 0.4221}},
19074 {
19075 {0.4380, 0.2623, 0.2249, 0.0749},
19076 {0.1214, 0.1891, 0.4303, 0.2593},
19077 {0.2872, 0.2515, 0.2988, 0.1626},
19078 {0.2046, 0.2249, 0.2586, 0.3120}},
19079 {
19080 {0.4360, 0.0628, 0.1884, 0.3127},
19081 {0.2592, 0.2969, 0.2994, 0.1445},
19082 {0.3311, 0.2730, 0.0930, 0.3029},
19083 {0.1568, 0.4206, 0.0382, 0.3843}},
19084 {
19085 {0.3627, 0.0537, 0.1685, 0.4151},
19086 {0.3264, 0.0642, 0.1318, 0.4777},
19087 {0.3355, 0.1624, 0.0549, 0.4471},
19088 {0.1791, 0.1716, 0.1766, 0.4727}},
19089 {
19090 {0.3738, 0.1092, 0.1457, 0.3713},
19091 {0.5382, 0.0742, 0.2394, 0.1483},
19092 {0.3512, 0.2326, 0.2985, 0.1177},
19093 {0.1889, 0.2249, 0.4323, 0.1540}},
19094 {
19095 {0.3530, 0.2805, 0.1144, 0.2520},
19096 {0.4264, 0.1372, 0.2412, 0.1952},
19097 {0.5245, 0.2242, 0.1119, 0.1394},
19098 {0.3263, 0.2361, 0.0349, 0.4026}},
19099 {
19100 {0.2883, 0.1847, 0.2012, 0.3258},
19101 {0.2259, 0.2165, 0.2191, 0.3385},
19102 {0.2923, 0.2183, 0.1339, 0.3554},
19103 {0.0671, 0.1781, 0.2855, 0.4693}},
19104 {
19105 {0.1498, 0.1930, 0.4580, 0.1991},
19106 {0.3893, 0.2618, 0.1796, 0.1693},
19107 {0.2323, 0.2707, 0.3808, 0.1162},
19108 {0.1941, 0.1626, 0.3311, 0.3122}},
19109 {
19110 {0.3008, 0.2950, 0.1129, 0.2914},
19111 {0.2425, 0.2330, 0.2504, 0.2741},
19112 {0.6237, 0.1035, 0.1474, 0.1254},
19113 {0.1178, 0.2597, 0.2296, 0.3929}},
19114 {
19115 {0.2911, 0.1706, 0.0956, 0.4427},
19116 {0.2438, 0.1171, 0.1208, 0.5184},
19117 {0.3451, 0.1873, 0.1330, 0.3346},
19118 {0.0994, 0.2662, 0.2032, 0.4312}},
19119 {
19120 {0.2929, 0.1786, 0.1398, 0.3888},
19121 {0.4050, 0.0966, 0.3158, 0.1826},
19122 {0.6835, 0.0000, 0.1295, 0.1871},
19123 {0.2505, 0.1154, 0.3685, 0.2656}},
19124 {
19125 {0.2643, 0.1954, 0.1677, 0.3725},
19126 {0.2309, 0.2437, 0.2976, 0.2277},
19127 {0.3388, 0.2191, 0.1589, 0.2832},
19128 {0.2153, 0.1200, 0.0311, 0.6336}},
19129 {
19130 {0.2559, 0.3668, 0.1239, 0.2534},
19131 {0.4523, 0.1373, 0.0000, 0.4104},
19132 {0.4019, 0.1157, 0.0595, 0.4229},
19133 {0.2560, 0.0897, 0.2052, 0.4491}},
19134 {
19135 {0.2757, 0.1051, 0.1903, 0.4289},
19136 {0.3345, 0.3847, 0.1907, 0.0901},
19137 {0.4071, 0.0602, 0.3999, 0.1328},
19138 {0.2238, 0.1789, 0.3566, 0.2407}},
19139 {
19140 {0.3330, 0.1484, 0.2125, 0.3061},
19141 {0.2914, 0.1885, 0.1384, 0.3816},
19142 {0.4218, 0.1800, 0.1879, 0.2104},
19143 {0.0297, 0.3579, 0.1619, 0.4505}},
19144 {
19145 {0.5872, 0.0667, 0.1272, 0.2189},
19146 {0.3033, 0.1535, 0.0000, 0.5432},
19147 {0.0970, 0.3221, 0.3419, 0.2391},
19148 {0.2034, 0.1064, 0.2548, 0.4354}},
19149 {
19150 {0.3245, 0.1923, 0.4054, 0.0778},
19151 {0.3453, 0.1885, 0.1694, 0.2968},
19152 {0.3293, 0.1912, 0.2943, 0.1853},
19153 {0.2570, 0.0481, 0.3485, 0.3463}},
19154 {
19155 {0.3362, 0.2505, 0.0788, 0.3345},
19156 {0.4352, 0.1208, 0.1870, 0.2570},
19157 {0.3051, 0.3875, 0.1294, 0.1781},
19158 {0.1555, 0.3653, 0.0363, 0.4429}},
19159 {
19160 {0.4073, 0.2282, 0.0819, 0.2826},
19161 {0.1682, 0.1612, 0.1159, 0.5547},
19162 {0.3310, 0.0785, 0.0736, 0.5169},
19163 {0.2040, 0.1725, 0.2280, 0.3956}},
19164 {
19165 {0.2908, 0.1248, 0.3306, 0.2538},
19166 {0.3353, 0.2390, 0.2833, 0.1424},
19167 {0.4427, 0.1259, 0.2442, 0.1872},
19168 {0.1975, 0.0783, 0.6037, 0.1206}},
19169 {
19170 {0.3725, 0.2429, 0.1440, 0.2406},
19171 {0.3960, 0.2013, 0.0000, 0.4027},
19172 {0.4226, 0.2162, 0.1435, 0.2177},
19173 {0.1542, 0.2941, 0.1468, 0.4049}},
19174 {
19175 {0.3582, 0.0929, 0.2580, 0.2908},
19176 {0.2959, 0.3205, 0.0663, 0.3172},
19177 {0.2597, 0.0628, 0.0671, 0.6104},
19178 {0.0887, 0.0581, 0.2740, 0.5792}},
19179 {
19180 {0.2665, 0.1351, 0.2681, 0.3303},
19181 {0.2478, 0.1857, 0.0639, 0.5026},
19182 {0.3435, 0.0875, 0.3029, 0.2661},
19183 {0.2047, 0.1404, 0.4697, 0.1851}},
19184 {
19185 {0.4944, 0.1039, 0.0696, 0.3321},
19186 {0.6856, 0.1244, 0.0589, 0.1311},
19187 {0.3524, 0.2078, 0.1312, 0.3086},
19188 {0.1534, 0.1528, 0.0623, 0.6315}},
19189 {
19190 {0.4260, 0.1583, 0.0649, 0.3508},
19191 {0.6186, 0.0558, 0.0000, 0.3257},
19192 {0.0965, 0.3950, 0.0000, 0.5085},
19193 {0.1587, 0.2403, 0.2712, 0.3298}},
19194 {
19195 {0.3684, 0.1828, 0.2357, 0.2130},
19196 {0.4243, 0.2226, 0.2195, 0.1336},
19197 {0.3380, 0.2034, 0.2634, 0.1952},
19198 {0.2811, 0.1667, 0.3122, 0.2400}},
19199 {
19200 {0.3117, 0.1906, 0.1203, 0.3774},
19201 {0.3648, 0.1844, 0.1747, 0.2761},
19202 {0.5793, 0.2277, 0.0627, 0.1303},
19203 {0.1748, 0.2559, 0.2039, 0.3654}},
19204 {
19205 {0.4197, 0.1645, 0.1398, 0.2760},
19206 {0.1949, 0.2796, 0.1211, 0.4044},
19207 {0.3158, 0.1849, 0.1235, 0.3758},
19208 {0.2023, 0.0904, 0.2679, 0.4394}},
19209 {
19210 {0.3934, 0.2007, 0.3468, 0.0591},
19211 {0.3005, 0.2987, 0.3472, 0.0536},
19212 {0.3310, 0.2077, 0.3128, 0.1484},
19213 {0.2279, 0.2116, 0.2805, 0.2800}},
19214 {
19215 {0.2785, 0.1901, 0.1347, 0.3968},
19216 {0.3465, 0.3096, 0.0362, 0.3077},
19217 {0.3214, 0.2670, 0.1328, 0.2787},
19218 {0.2765, 0.3349, 0.1060, 0.2827}},
19219 {
19220 {0.3085, 0.0551, 0.2465, 0.3900},
19221 {0.3858, 0.1329, 0.0941, 0.3871},
19222 {0.1517, 0.3072, 0.1513, 0.3898},
19223 {0.1831, 0.1273, 0.2082, 0.4814}},
19224 {
19225 {0.3428, 0.1538, 0.2852, 0.2182},
19226 {0.2547, 0.0658, 0.5408, 0.1387},
19227 {0.1792, 0.2277, 0.2295, 0.3636},
19228 {0.1855, 0.2371, 0.2310, 0.3464}},
19229 {
19230 {0.2177, 0.2135, 0.0726, 0.4962},
19231 {0.3931, 0.3011, 0.1288, 0.1770},
19232 {0.4248, 0.2691, 0.1523, 0.1538},
19233 {0.1813, 0.1990, 0.0858, 0.5339}},
19234 {
19235 {0.2226, 0.2611, 0.1712, 0.3451},
19236 {0.2396, 0.1739, 0.0369, 0.5496},
19237 {0.3879, 0.1484, 0.0771, 0.3866},
19238 {0.1907, 0.1972, 0.2206, 0.3914}},
19239 {
19240 {0.3546, 0.1451, 0.2183, 0.2819},
19241 {0.4173, 0.2124, 0.2495, 0.1208},
19242 {0.1213, 0.2902, 0.3542, 0.2343},
19243 {0.0821, 0.2026, 0.3236, 0.3917}},
19244 {
19245 {0.2388, 0.1940, 0.0694, 0.4978},
19246 {0.4577, 0.0818, 0.1212, 0.3393},
19247 {0.4646, 0.1200, 0.2116, 0.2038},
19248 {0.1491, 0.2315, 0.0279, 0.5914}},
19249 {
19250 {0.3466, 0.1563, 0.1603, 0.3368},
19251 {0.3211, 0.1667, 0.0984, 0.4138},
19252 {0.4602, 0.1506, 0.0795, 0.3096},
19253 {0.3575, 0.1664, 0.2241, 0.2519}},
19254 {
19255 {0.5442, 0.1647, 0.2181, 0.0730},
19256 {0.4183, 0.1083, 0.0500, 0.4234},
19257 {0.4110, 0.1938, 0.2486, 0.1466},
19258 {0.2940, 0.1388, 0.4049, 0.1624}},
19259 {
19260 {0.5630, 0.1758, 0.1005, 0.1607},
19261 {0.7262, 0.1124, 0.0000, 0.1614},
19262 {0.6346, 0.2671, 0.0000, 0.0983},
19263 {0.2524, 0.3911, 0.0000, 0.3565}},
19264 {
19265 {0.4585, 0.1399, 0.0941, 0.3076},
19266 {0.4071, 0.0000, 0.1446, 0.4483},
19267 {0.5980, 0.0000, 0.0000, 0.4020},
19268 {0.1939, 0.0928, 0.2429, 0.4704}},
19269 {
19270 {0.1234, 0.0618, 0.7510, 0.0638},
19271 {0.2673, 0.0000, 0.5529, 0.1798},
19272 {0.1967, 0.1310, 0.6075, 0.0648},
19273 {0.1139, 0.1351, 0.5842, 0.1668}},
19274 {
19275 {0.0000, 0.0000, 1.0000, 0.0000},
19276 {0.0000, 0.0000, 1.0000, 0.0000},
19277 {0.0000, 0.0000, 1.0000, 0.0000},
19278 {0.0000, 0.0000, 1.0000, 0.0000}},
19279 {
19280 {0.0000, 0.0000, 0.0000, 0.0000},
19281 {0.0000, 0.0000, 0.0000, 0.0000},
19282 {0.0000, 0.0000, 0.0000, 1.0000},
19283 {0.0000, 0.0000, 0.0000, 0.0000}},
19284 {
19285 {0.0000, 0.0000, 0.0000, 0.0000},
19286 {0.0000, 0.0000, 0.0000, 0.0000},
19287 {0.0000, 0.0000, 0.0000, 0.0000},
19288 {0.8976, 0.0000, 0.0513, 0.0511}},
19289 {
19290 {0.5157, 0.0838, 0.0091, 0.3914},
19291 {0.0000, 0.0000, 0.0000, 0.0000},
19292 {0.6636, 0.0000, 0.3364, 0.0000},
19293 {0.0000, 0.0000, 0.0000, 1.0000}},
19294 {
19295 {0.0834, 0.0161, 0.8641, 0.0364},
19296 {0.0985, 0.0000, 0.9015, 0.0000},
19297 {0.0000, 0.0000, 1.0000, 0.0000},
19298 {0.0450, 0.0000, 0.9156, 0.0394}},
19299 {
19300 {0.2704, 0.3616, 0.1106, 0.2574},
19301 {0.0000, 0.0000, 0.0000, 1.0000},
19302 {0.1318, 0.0969, 0.0754, 0.6959},
19303 {0.0000, 0.0000, 1.0000, 0.0000}},
19304 {
19305 {0.3164, 0.1886, 0.0000, 0.4951},
19306 {0.2321, 0.1504, 0.2309, 0.3866},
19307 {0.3139, 0.0000, 0.1541, 0.5321},
19308 {0.3151, 0.1730, 0.1570, 0.3548}},
19309 {
19310 {0.3267, 0.1696, 0.1096, 0.3940},
19311 {0.4436, 0.2878, 0.0000, 0.2686},
19312 {0.3542, 0.1814, 0.2328, 0.2317},
19313 {0.2079, 0.1323, 0.1076, 0.5523}},
19314 {
19315 {0.2269, 0.1686, 0.0549, 0.5496},
19316 {0.3489, 0.0486, 0.0494, 0.5531},
19317 {0.1464, 0.3119, 0.2339, 0.3078},
19318 {0.2646, 0.0809, 0.0797, 0.5748}},
19319 {
19320 {0.4327, 0.1332, 0.0671, 0.3669},
19321 {0.4676, 0.0000, 0.1374, 0.3950},
19322 {0.2942, 0.2033, 0.3057, 0.1968},
19323 {0.2509, 0.1596, 0.1451, 0.4443}},
19324 {
19325 {0.5181, 0.1480, 0.0990, 0.2349},
19326 {0.6328, 0.0601, 0.0000, 0.3071},
19327 {0.5031, 0.0602, 0.2461, 0.1906},
19328 {0.2511, 0.1468, 0.1519, 0.4503}},
19329 {
19330 {0.3840, 0.2191, 0.0986, 0.2983},
19331 {0.4028, 0.2015, 0.1312, 0.2644},
19332 {0.2728, 0.0625, 0.3329, 0.3317},
19333 {0.2111, 0.1300, 0.1299, 0.5289}},
19334 {
19335 {0.3472, 0.1111, 0.0265, 0.5153},
19336 {0.3487, 0.0480, 0.2470, 0.3564},
19337 {0.2241, 0.1162, 0.1719, 0.4878},
19338 {0.2259, 0.1119, 0.2524, 0.4098}},
19339 {
19340 {0.2675, 0.2083, 0.1746, 0.3496},
19341 {0.5052, 0.0807, 0.1666, 0.2476},
19342 {0.2495, 0.0987, 0.2514, 0.4004},
19343 {0.3101, 0.0576, 0.1343, 0.4980}},
19344 {
19345 {0.3911, 0.0826, 0.1347, 0.3917},
19346 {0.2242, 0.2323, 0.2338, 0.3097},
19347 {0.3593, 0.0502, 0.1556, 0.4349},
19348 {0.2826, 0.1664, 0.1235, 0.4274}},
19349 {
19350 {0.4176, 0.1592, 0.1590, 0.2641},
19351 {0.5285, 0.0643, 0.0660, 0.3411},
19352 {0.2312, 0.1124, 0.1190, 0.5374},
19353 {0.3995, 0.0430, 0.2070, 0.3505}},
19354 {
19355 {0.3835, 0.1915, 0.1514, 0.2736},
19356 {0.4538, 0.0850, 0.2810, 0.1802},
19357 {0.4732, 0.1601, 0.1604, 0.2062},
19358 {0.4116, 0.1522, 0.1243, 0.3119}},
19359 {
19360 {0.4114, 0.1447, 0.1192, 0.3247},
19361 {0.2104, 0.1662, 0.1069, 0.5165},
19362 {0.2741, 0.1606, 0.1643, 0.4010},
19363 {0.3482, 0.1566, 0.1223, 0.3729}},
19364 {
19365 {0.5470, 0.1260, 0.0995, 0.2276},
19366 {0.2788, 0.2779, 0.0000, 0.4433},
19367 {0.3972, 0.1416, 0.0692, 0.3920},
19368 {0.2196, 0.1826, 0.1333, 0.4646}},
19369 {
19370 {0.3963, 0.1874, 0.1448, 0.2714},
19371 {0.1922, 0.1476, 0.2572, 0.4030},
19372 {0.2829, 0.1787, 0.1800, 0.3584},
19373 {0.3391, 0.2269, 0.0932, 0.3408}},
19374 {
19375 {0.3729, 0.0986, 0.1322, 0.3963},
19376 {0.3052, 0.1311, 0.2592, 0.3046},
19377 {0.3493, 0.1755, 0.2920, 0.1832},
19378 {0.2852, 0.1038, 0.1810, 0.4300}},
19379 {
19380 {0.4341, 0.2011, 0.1293, 0.2355},
19381 {0.2768, 0.4248, 0.0741, 0.2242},
19382 {0.4844, 0.0414, 0.3035, 0.1707},
19383 {0.3506, 0.0933, 0.0968, 0.4593}},
19384 {
19385 {0.3440, 0.1272, 0.1943, 0.3344},
19386 {0.3048, 0.2238, 0.2618, 0.2096},
19387 {0.2334, 0.1182, 0.2376, 0.4108},
19388 {0.2651, 0.1134, 0.0565, 0.5650}},
19389 {
19390 {0.4891, 0.0801, 0.1440, 0.2869},
19391 {0.4366, 0.1248, 0.1289, 0.3098},
19392 {0.5510, 0.1576, 0.1513, 0.1401},
19393 {0.1885, 0.1253, 0.2132, 0.4731}},
19394 {
19395 {0.3914, 0.1127, 0.1123, 0.3836},
19396 {0.2202, 0.0676, 0.1395, 0.5726},
19397 {0.2973, 0.1475, 0.1507, 0.4045},
19398 {0.2933, 0.1447, 0.1532, 0.4088}},
19399 {
19400 {0.5259, 0.0531, 0.2042, 0.2168},
19401 {0.1280, 0.3376, 0.0620, 0.4723},
19402 {0.4401, 0.2514, 0.0693, 0.2391},
19403 {0.2875, 0.0825, 0.1231, 0.5070}},
19404 {
19405 {0.3290, 0.2583, 0.1387, 0.2740},
19406 {0.5336, 0.1310, 0.0000, 0.3354},
19407 {0.3087, 0.1265, 0.1959, 0.3689},
19408 {0.2274, 0.0707, 0.1788, 0.5231}},
19409 {
19410 {0.3074, 0.2410, 0.0539, 0.3976},
19411 {0.1670, 0.1186, 0.1686, 0.5458},
19412 {0.2947, 0.1779, 0.1765, 0.3508},
19413 {0.2157, 0.0856, 0.1508, 0.5478}},
19414 {
19415 {0.3406, 0.1705, 0.1406, 0.3484},
19416 {0.3965, 0.1093, 0.1572, 0.3371},
19417 {0.2630, 0.2640, 0.2054, 0.2676},
19418 {0.3388, 0.1265, 0.1245, 0.4103}},
19419 {
19420 {0.4304, 0.0986, 0.0733, 0.3976},
19421 {0.4456, 0.0573, 0.0548, 0.4424},
19422 {0.3394, 0.1884, 0.1802, 0.2921},
19423 {0.3310, 0.0967, 0.2066, 0.3657}},
19424 {
19425 {0.3126, 0.1797, 0.1098, 0.3979},
19426 {0.4965, 0.0813, 0.0834, 0.3389},
19427 {0.2592, 0.3104, 0.0000, 0.4304},
19428 {0.2891, 0.1125, 0.0670, 0.5314}},
19429 {
19430 {0.4295, 0.1665, 0.1343, 0.2697},
19431 {0.3582, 0.1532, 0.1127, 0.3759},
19432 {0.3415, 0.1045, 0.0000, 0.5541},
19433 {0.3137, 0.0764, 0.1524, 0.4575}},
19434 {
19435 {0.2964, 0.1646, 0.1644, 0.3746},
19436 {0.3574, 0.2783, 0.2197, 0.1445},
19437 {0.2584, 0.1336, 0.2705, 0.3375},
19438 {0.1987, 0.1753, 0.1321, 0.4939}},
19439 {
19440 {0.4518, 0.2543, 0.1987, 0.0952},
19441 {0.3909, 0.1462, 0.0475, 0.4154},
19442 {0.4983, 0.1959, 0.0493, 0.2565},
19443 {0.2835, 0.2186, 0.1296, 0.3684}},
19444 {
19445 {0.4407, 0.1997, 0.1562, 0.2034},
19446 {0.4463, 0.0799, 0.1598, 0.3140},
19447 {0.4924, 0.0000, 0.2910, 0.2165},
19448 {0.3818, 0.1490, 0.1179, 0.3514}},
19449 {
19450 {0.2914, 0.2143, 0.1388, 0.3555},
19451 {0.3065, 0.1851, 0.1289, 0.3794},
19452 {0.3125, 0.1037, 0.1078, 0.4760},
19453 {0.1865, 0.1909, 0.1582, 0.4644}},
19454 {
19455 {0.3668, 0.2254, 0.0988, 0.3089},
19456 {0.3760, 0.2199, 0.1351, 0.2691},
19457 {0.5672, 0.0000, 0.1868, 0.2460},
19458 {0.1850, 0.1047, 0.1260, 0.5842}},
19459 {
19460 {0.2849, 0.1841, 0.2118, 0.3191},
19461 {0.3499, 0.1748, 0.0574, 0.4179},
19462 {0.3322, 0.2005, 0.1388, 0.3285},
19463 {0.3763, 0.1037, 0.1488, 0.3712}},
19464 {
19465 {0.3982, 0.1810, 0.1179, 0.3029},
19466 {0.2179, 0.1132, 0.1062, 0.5627},
19467 {0.4920, 0.3379, 0.1109, 0.0592},
19468 {0.2192, 0.1910, 0.1693, 0.4206}},
19469 {
19470 {0.3177, 0.2370, 0.1562, 0.2891},
19471 {0.3482, 0.0417, 0.2653, 0.3448},
19472 {0.2392, 0.2537, 0.1869, 0.3202},
19473 {0.3149, 0.0264, 0.1453, 0.5134}},
19474 {
19475 {0.4905, 0.1854, 0.2156, 0.1085},
19476 {0.4687, 0.2029, 0.0655, 0.2629},
19477 {0.6161, 0.1422, 0.0499, 0.1917},
19478 {0.3802, 0.1147, 0.0638, 0.4413}},
19479 {
19480 {0.2924, 0.1805, 0.2161, 0.3110},
19481 {0.3384, 0.0485, 0.1119, 0.5012},
19482 {0.6932, 0.0000, 0.0817, 0.2251},
19483 {0.1523, 0.1271, 0.1210, 0.5996}},
19484 {
19485 {0.3614, 0.2202, 0.1440, 0.2743},
19486 {0.1274, 0.1979, 0.0679, 0.6069},
19487 {0.4716, 0.2084, 0.0000, 0.3200},
19488 {0.3920, 0.1466, 0.0632, 0.3982}},
19489 {
19490 {0.4402, 0.1169, 0.1138, 0.3291},
19491 {0.1786, 0.2767, 0.0905, 0.4542},
19492 {0.3236, 0.1204, 0.4479, 0.1081},
19493 {0.3182, 0.1336, 0.0224, 0.5258}},
19494 {
19495 {0.3710, 0.1031, 0.2279, 0.2980},
19496 {0.1599, 0.1711, 0.2265, 0.4425},
19497 {0.2615, 0.1613, 0.2445, 0.3327},
19498 {0.4437, 0.0615, 0.1218, 0.3730}},
19499 {
19500 {0.2352, 0.1937, 0.1909, 0.3801},
19501 {0.3493, 0.0827, 0.1579, 0.4100},
19502 {0.3093, 0.0450, 0.1398, 0.5059},
19503 {0.3510, 0.2437, 0.1917, 0.2136}},
19504 {
19505 {0.3831, 0.2505, 0.0786, 0.2878},
19506 {0.2544, 0.2977, 0.0518, 0.3961},
19507 {0.3825, 0.2359, 0.0897, 0.2919},
19508 {0.3878, 0.0726, 0.2171, 0.3225}},
19509 {
19510 {0.3924, 0.2562, 0.1667, 0.1846},
19511 {0.3868, 0.1743, 0.0886, 0.3503},
19512 {0.4604, 0.2071, 0.0000, 0.3325},
19513 {0.2125, 0.1423, 0.2116, 0.4336}},
19514 {
19515 {0.3967, 0.1414, 0.2172, 0.2447},
19516 {0.2593, 0.1347, 0.1333, 0.4727},
19517 {0.4196, 0.1783, 0.1687, 0.2334},
19518 {0.1643, 0.1337, 0.2418, 0.4602}},
19519 {
19520 {0.3685, 0.2252, 0.0288, 0.3775},
19521 {0.4167, 0.2899, 0.1840, 0.1095},
19522 {0.2133, 0.0852, 0.1635, 0.5380},
19523 {0.1875, 0.1885, 0.1714, 0.4525}},
19524 {
19525 {0.4453, 0.1538, 0.0594, 0.3416},
19526 {0.0407, 0.0437, 0.3060, 0.6096},
19527 {0.3889, 0.1370, 0.0712, 0.4029},
19528 {0.2792, 0.0825, 0.1692, 0.4691}},
19529 {
19530 {0.4517, 0.1438, 0.1476, 0.2569},
19531 {0.5802, 0.0831, 0.1691, 0.1675},
19532 {0.3977, 0.1600, 0.1643, 0.2780},
19533 {0.3399, 0.0546, 0.2101, 0.3954}}},
19534
19535 { /* Splice_Site: T0_GT; Species: Yeast */
19536 {
19537 {0.3419, 0.3419, 0.3419, 0.3419},
19538 {0.1245, 0.1245, 0.1245, 0.1245},
19539 {0.2539, 0.2539, 0.2539, 0.2539},
19540 {0.2796, 0.2796, 0.2796, 0.2796}},
19541 {
19542 {0.3991, 0.2755, 0.1492, 0.1762},
19543 {0.1344, 0.2019, 0.4073, 0.2564},
19544 {0.4325, 0.2007, 0.1374, 0.2295},
19545 {0.2768, 0.2442, 0.1496, 0.3294}},
19546 {
19547 {0.3271, 0.2749, 0.0493, 0.3486},
19548 {0.4587, 0.1062, 0.0712, 0.3639},
19549 {0.1926, 0.2357, 0.0995, 0.4721},
19550 {0.3404, 0.1374, 0.1387, 0.3835}},
19551 {
19552 {0.3508, 0.1769, 0.2522, 0.2200},
19553 {0.3909, 0.1684, 0.2209, 0.2198},
19554 {0.3982, 0.3944, 0.1082, 0.0992},
19555 {0.2027, 0.1313, 0.4018, 0.2642}},
19556 {
19557 {0.3899, 0.1347, 0.1077, 0.3677},
19558 {0.3767, 0.2388, 0.0478, 0.3367},
19559 {0.3245, 0.1463, 0.2355, 0.2936},
19560 {0.1845, 0.1864, 0.1083, 0.5208}},
19561 {
19562 {0.2350, 0.2385, 0.1329, 0.3936},
19563 {0.3981, 0.0492, 0.0000, 0.5527},
19564 {0.2374, 0.0690, 0.3095, 0.3842},
19565 {0.2688, 0.1167, 0.1801, 0.4345}},
19566 {
19567 {0.4242, 0.0615, 0.3350, 0.1793},
19568 {0.2496, 0.1891, 0.1889, 0.3724},
19569 {0.2699, 0.1679, 0.2169, 0.3453},
19570 {0.2707, 0.2754, 0.2593, 0.1946}},
19571 {
19572 {0.2994, 0.1336, 0.1883, 0.3787},
19573 {0.3196, 0.1396, 0.2246, 0.3161},
19574 {0.4909, 0.2241, 0.0940, 0.1910},
19575 {0.2538, 0.2799, 0.1415, 0.3247}},
19576 {
19577 {0.3972, 0.0730, 0.1488, 0.3810},
19578 {0.1667, 0.0438, 0.1749, 0.6146},
19579 {0.2638, 0.1056, 0.1592, 0.4715},
19580 {0.2468, 0.1465, 0.1643, 0.4424}},
19581 {
19582 {0.3257, 0.2987, 0.2340, 0.1416},
19583 {0.3595, 0.1736, 0.1900, 0.2769},
19584 {0.2619, 0.1119, 0.4695, 0.1567},
19585 {0.3350, 0.1445, 0.2405, 0.2799}},
19586 {
19587 {0.3175, 0.1570, 0.1550, 0.3704},
19588 {0.3621, 0.1895, 0.1387, 0.3096},
19589 {0.5559, 0.2198, 0.1281, 0.0962},
19590 {0.2699, 0.3060, 0.1525, 0.2716}},
19591 {
19592 {0.3988, 0.1149, 0.0650, 0.4212},
19593 {0.2398, 0.1605, 0.0812, 0.5186},
19594 {0.4137, 0.2905, 0.0546, 0.2412},
19595 {0.2894, 0.1298, 0.2554, 0.3253}},
19596 {
19597 {0.3255, 0.1517, 0.3252, 0.1976},
19598 {0.4499, 0.2688, 0.1695, 0.1118},
19599 {0.4339, 0.2120, 0.1472, 0.2070},
19600 {0.3644, 0.2368, 0.2653, 0.1336}},
19601 {
19602 {0.3243, 0.1813, 0.1816, 0.3128},
19603 {0.5088, 0.0795, 0.1649, 0.2468},
19604 {0.3990, 0.1626, 0.1040, 0.3344},
19605 {0.1071, 0.3657, 0.1072, 0.4201}},
19606 {
19607 {0.4118, 0.1711, 0.2182, 0.1990},
19608 {0.1785, 0.1803, 0.2225, 0.4187},
19609 {0.2366, 0.2390, 0.1183, 0.4061},
19610 {0.3168, 0.1039, 0.1802, 0.3992}},
19611 {
19612 {0.5088, 0.2484, 0.1887, 0.0541},
19613 {0.3635, 0.1014, 0.3756, 0.1595},
19614 {0.3035, 0.2622, 0.1719, 0.2624},
19615 {0.4129, 0.1779, 0.2038, 0.2054}},
19616 {
19617 {0.4287, 0.1022, 0.2042, 0.2648},
19618 {0.2872, 0.2564, 0.0868, 0.3695},
19619 {0.4232, 0.2291, 0.1521, 0.1956},
19620 {0.1517, 0.1579, 0.1566, 0.5339}},
19621 {
19622 {0.3396, 0.1889, 0.1925, 0.2791},
19623 {0.1971, 0.1956, 0.3017, 0.3056},
19624 {0.3185, 0.1650, 0.1606, 0.3559},
19625 {0.2194, 0.1915, 0.2122, 0.3768}},
19626 {
19627 {0.4392, 0.1601, 0.2139, 0.1868},
19628 {0.4099, 0.1807, 0.2754, 0.1340},
19629 {0.2024, 0.2341, 0.3210, 0.2425},
19630 {0.2859, 0.1557, 0.3326, 0.2258}},
19631 {
19632 {0.4583, 0.1847, 0.0989, 0.2581},
19633 {0.2351, 0.2436, 0.3359, 0.1854},
19634 {0.2665, 0.2385, 0.2329, 0.2621},
19635 {0.2186, 0.1637, 0.2044, 0.4133}},
19636 {
19637 {0.3197, 0.0834, 0.2084, 0.3884},
19638 {0.3805, 0.1658, 0.0000, 0.4538},
19639 {0.1643, 0.2055, 0.1192, 0.5110},
19640 {0.3063, 0.0629, 0.2140, 0.4168}},
19641 {
19642 {0.3446, 0.1987, 0.2321, 0.2245},
19643 {0.5663, 0.2895, 0.0720, 0.0722},
19644 {0.3870, 0.2172, 0.3403, 0.0556},
19645 {0.2793, 0.1977, 0.2509, 0.2722}},
19646 {
19647 {0.4340, 0.1200, 0.1001, 0.3459},
19648 {0.2852, 0.2770, 0.3172, 0.1206},
19649 {0.4663, 0.1459, 0.2809, 0.1069},
19650 {0.1224, 0.3260, 0.1281, 0.4235}},
19651 {
19652 {0.2402, 0.1948, 0.1228, 0.4422},
19653 {0.4968, 0.0000, 0.0816, 0.4216},
19654 {0.2185, 0.2121, 0.3137, 0.2557},
19655 {0.1611, 0.1984, 0.2703, 0.3702}},
19656 {
19657 {0.3452, 0.0923, 0.3467, 0.2158},
19658 {0.2122, 0.1614, 0.2039, 0.4225},
19659 {0.3170, 0.1796, 0.4135, 0.0899},
19660 {0.0897, 0.2238, 0.3375, 0.3490}},
19661 {
19662 {0.4564, 0.1163, 0.0807, 0.3466},
19663 {0.2486, 0.0528, 0.2482, 0.4504},
19664 {0.5427, 0.1542, 0.1248, 0.1782},
19665 {0.1806, 0.2453, 0.0574, 0.5167}},
19666 {
19667 {0.3207, 0.1344, 0.1825, 0.3624},
19668 {0.1684, 0.2697, 0.0548, 0.5070},
19669 {0.2135, 0.2884, 0.1373, 0.3608},
19670 {0.1202, 0.1641, 0.3341, 0.3816}},
19671 {
19672 {0.4375, 0.0792, 0.2426, 0.2408},
19673 {0.4045, 0.1852, 0.2761, 0.1342},
19674 {0.4361, 0.0398, 0.4033, 0.1209},
19675 {0.1936, 0.2393, 0.2877, 0.2795}},
19676 {
19677 {0.5253, 0.1717, 0.0263, 0.2767},
19678 {0.4504, 0.2737, 0.1132, 0.1627},
19679 {0.4321, 0.3149, 0.1413, 0.1117},
19680 {0.0426, 0.3575, 0.2008, 0.3991}},
19681 {
19682 {0.2938, 0.0675, 0.2822, 0.3566},
19683 {0.1504, 0.3195, 0.1846, 0.3456},
19684 {0.3070, 0.0763, 0.0798, 0.5369},
19685 {0.2847, 0.1438, 0.2855, 0.2860}},
19686 {
19687 {0.4638, 0.1670, 0.1723, 0.1968},
19688 {0.2749, 0.3928, 0.1638, 0.1684},
19689 {0.1826, 0.2177, 0.3612, 0.2385},
19690 {0.2623, 0.1895, 0.3371, 0.2111}},
19691 {
19692 {0.3750, 0.2251, 0.2022, 0.1977},
19693 {0.2679, 0.2662, 0.1556, 0.3103},
19694 {0.4102, 0.1853, 0.3132, 0.0914},
19695 {0.2798, 0.2398, 0.1236, 0.3568}},
19696 {
19697 {0.4054, 0.1706, 0.1035, 0.3205},
19698 {0.3352, 0.1078, 0.0382, 0.5188},
19699 {0.2510, 0.1638, 0.1642, 0.4211},
19700 {0.1905, 0.2124, 0.1514, 0.4457}},
19701 {
19702 {0.2733, 0.1158, 0.3895, 0.2213},
19703 {0.3019, 0.1522, 0.4029, 0.1430},
19704 {0.3111, 0.3024, 0.2272, 0.1592},
19705 {0.2451, 0.2255, 0.2488, 0.2806}},
19706 {
19707 {0.2537, 0.1562, 0.2476, 0.3425},
19708 {0.4076, 0.1406, 0.1808, 0.2710},
19709 {0.2979, 0.2743, 0.2911, 0.1366},
19710 {0.3303, 0.3276, 0.1530, 0.1891}},
19711 {
19712 {0.2460, 0.1900, 0.1627, 0.4012},
19713 {0.2587, 0.0356, 0.0000, 0.7057},
19714 {0.3441, 0.1807, 0.1486, 0.3266},
19715 {0.2598, 0.2933, 0.1900, 0.2569}},
19716 {
19717 {0.3144, 0.1872, 0.3140, 0.1845},
19718 {0.1865, 0.1419, 0.3781, 0.2934},
19719 {0.4012, 0.1968, 0.1312, 0.2708},
19720 {0.2648, 0.1943, 0.2239, 0.3171}},
19721 {
19722 {0.2751, 0.1180, 0.3040, 0.3030},
19723 {0.3657, 0.1761, 0.1352, 0.3230},
19724 {0.5208, 0.1610, 0.2216, 0.0965},
19725 {0.3448, 0.0947, 0.0921, 0.4684}},
19726 {
19727 {0.2711, 0.2071, 0.0701, 0.4518},
19728 {0.6292, 0.1187, 0.0650, 0.1872},
19729 {0.0922, 0.1720, 0.1747, 0.5611},
19730 {0.3123, 0.1402, 0.2601, 0.2873}},
19731 {
19732 {0.3465, 0.2015, 0.3684, 0.0836},
19733 {0.6040, 0.1528, 0.1002, 0.1429},
19734 {0.2947, 0.2331, 0.4153, 0.0569},
19735 {0.1771, 0.1496, 0.3688, 0.3044}},
19736 {
19737 {0.4235, 0.1927, 0.0856, 0.2982},
19738 {0.3739, 0.1461, 0.3361, 0.1438},
19739 {0.3594, 0.2579, 0.1549, 0.2277},
19740 {0.3313, 0.2371, 0.1395, 0.2922}},
19741 {
19742 {0.3772, 0.1339, 0.0874, 0.4015},
19743 {0.4382, 0.0000, 0.1956, 0.3662},
19744 {0.3702, 0.2174, 0.1536, 0.2587},
19745 {0.1428, 0.0636, 0.3127, 0.4809}},
19746 {
19747 {0.3807, 0.1808, 0.1985, 0.2399},
19748 {0.5879, 0.0000, 0.0729, 0.3392},
19749 {0.2376, 0.2408, 0.2869, 0.2347},
19750 {0.2571, 0.1117, 0.3038, 0.3274}},
19751 {
19752 {0.3094, 0.1795, 0.2059, 0.3052},
19753 {0.2931, 0.1789, 0.1735, 0.3545},
19754 {0.3855, 0.3085, 0.1380, 0.1680},
19755 {0.1228, 0.3672, 0.0612, 0.4488}},
19756 {
19757 {0.3652, 0.1277, 0.0658, 0.4412},
19758 {0.3831, 0.2316, 0.0933, 0.2920},
19759 {0.2295, 0.2427, 0.0541, 0.4736},
19760 {0.2645, 0.2323, 0.1308, 0.3724}},
19761 {
19762 {0.5000, 0.0768, 0.2366, 0.1866},
19763 {0.4955, 0.2116, 0.1296, 0.1633},
19764 {0.5478, 0.0000, 0.2671, 0.1851},
19765 {0.2605, 0.1357, 0.4494, 0.1544}},
19766 {
19767 {0.4143, 0.1414, 0.1177, 0.3266},
19768 {0.3578, 0.3590, 0.0689, 0.2142},
19769 {0.4042, 0.2316, 0.1382, 0.2260},
19770 {0.1473, 0.1545, 0.1573, 0.5408}},
19771 {
19772 {0.6628, 0.0484, 0.0970, 0.1917},
19773 {0.4310, 0.0883, 0.0848, 0.3959},
19774 {0.5924, 0.0000, 0.1989, 0.2087},
19775 {0.1854, 0.0774, 0.2908, 0.4464}},
19776 {
19777 {0.4840, 0.1507, 0.2569, 0.1085},
19778 {0.5715, 0.1393, 0.1458, 0.1434},
19779 {0.3937, 0.3104, 0.0990, 0.1968},
19780 {0.3505, 0.1311, 0.2486, 0.2698}},
19781 {
19782 {0.3339, 0.0395, 0.4142, 0.2124},
19783 {0.2992, 0.1568, 0.3415, 0.2026},
19784 {0.3821, 0.1480, 0.3468, 0.1230},
19785 {0.0469, 0.1933, 0.5247, 0.2351}},
19786 {
19787 {0.0000, 0.0000, 1.0000, 0.0000},
19788 {0.0000, 0.0000, 1.0000, 0.0000},
19789 {0.0000, 0.0000, 1.0000, 0.0000},
19790 {0.0000, 0.0000, 1.0000, 0.0000}},
19791 {
19792 {0.0000, 0.0000, 0.0000, 0.0000},
19793 {0.0000, 0.0000, 0.0000, 0.0000},
19794 {0.0000, 0.0000, 0.0000, 1.0000},
19795 {0.0000, 0.0000, 0.0000, 0.0000}},
19796 {
19797 {0.0000, 0.0000, 0.0000, 0.0000},
19798 {0.0000, 0.0000, 0.0000, 0.0000},
19799 {0.0000, 0.0000, 0.0000, 0.0000},
19800 {0.9074, 0.0079, 0.0514, 0.0333}},
19801 {
19802 {0.5446, 0.1191, 0.0463, 0.2900},
19803 {1.0000, 0.0000, 0.0000, 0.0000},
19804 {0.6761, 0.1798, 0.0000, 0.1441},
19805 {0.0000, 0.0000, 0.2645, 0.7355}},
19806 {
19807 {0.0802, 0.0000, 0.8753, 0.0445},
19808 {0.0719, 0.0000, 0.9281, 0.0000},
19809 {0.1630, 0.0000, 0.3388, 0.4982},
19810 {0.0584, 0.0562, 0.8541, 0.0312}},
19811 {
19812 {0.1110, 0.2254, 0.1120, 0.5516},
19813 {0.0000, 0.4983, 0.0000, 0.5017},
19814 {0.1719, 0.0795, 0.0691, 0.6795},
19815 {0.5599, 0.1578, 0.1415, 0.1408}},
19816 {
19817 {0.5045, 0.1788, 0.1356, 0.1811},
19818 {0.4942, 0.0000, 0.0000, 0.5058},
19819 {0.7800, 0.1092, 0.1108, 0.0000},
19820 {0.3231, 0.1059, 0.1490, 0.4220}},
19821 {
19822 {0.3523, 0.0830, 0.1496, 0.4152},
19823 {0.3835, 0.0000, 0.1506, 0.4658},
19824 {0.3288, 0.1301, 0.0701, 0.4710},
19825 {0.3094, 0.0939, 0.2354, 0.3613}},
19826 {
19827 {0.4240, 0.1011, 0.1016, 0.3734},
19828 {0.2939, 0.1981, 0.0000, 0.5079},
19829 {0.4468, 0.0000, 0.1010, 0.4521},
19830 {0.3354, 0.1289, 0.0824, 0.4533}},
19831 {
19832 {0.3762, 0.1348, 0.0455, 0.4434},
19833 {0.3324, 0.1753, 0.2337, 0.2587},
19834 {0.5982, 0.1978, 0.0000, 0.2040},
19835 {0.3107, 0.0963, 0.0783, 0.5146}},
19836 {
19837 {0.3738, 0.1155, 0.1574, 0.3532},
19838 {0.1940, 0.0000, 0.2717, 0.5343},
19839 {0.3320, 0.1198, 0.2106, 0.3376},
19840 {0.2344, 0.1556, 0.1990, 0.4109}},
19841 {
19842 {0.3546, 0.2360, 0.1205, 0.2889},
19843 {0.1417, 0.2212, 0.0750, 0.5620},
19844 {0.2164, 0.2241, 0.0446, 0.5149},
19845 {0.2955, 0.1256, 0.1690, 0.4099}},
19846 {
19847 {0.2492, 0.1874, 0.1499, 0.4135},
19848 {0.4562, 0.0445, 0.1376, 0.3617},
19849 {0.3651, 0.3470, 0.0743, 0.2137},
19850 {0.2401, 0.1603, 0.1028, 0.4968}},
19851 {
19852 {0.3430, 0.2026, 0.1154, 0.3389},
19853 {0.2526, 0.1528, 0.0995, 0.4951},
19854 {0.2829, 0.2199, 0.1362, 0.3611},
19855 {0.2812, 0.1437, 0.1603, 0.4147}},
19856 {
19857 {0.3705, 0.1480, 0.1686, 0.3128},
19858 {0.3565, 0.1491, 0.0945, 0.3999},
19859 {0.2443, 0.3692, 0.1322, 0.2543},
19860 {0.3611, 0.1632, 0.1495, 0.3262}},
19861 {
19862 {0.3617, 0.1011, 0.1248, 0.4124},
19863 {0.3194, 0.1391, 0.2672, 0.2743},
19864 {0.4114, 0.2285, 0.1207, 0.2394},
19865 {0.2033, 0.1021, 0.1349, 0.5598}},
19866 {
19867 {0.2952, 0.1648, 0.1377, 0.4023},
19868 {0.2663, 0.0729, 0.1291, 0.5317},
19869 {0.4942, 0.1105, 0.0000, 0.3953},
19870 {0.1682, 0.1665, 0.1492, 0.5161}},
19871 {
19872 {0.2558, 0.0924, 0.1840, 0.4679},
19873 {0.3447, 0.1832, 0.1755, 0.2966},
19874 {0.4970, 0.1391, 0.2186, 0.1453},
19875 {0.2387, 0.1265, 0.0892, 0.5457}},
19876 {
19877 {0.3778, 0.1180, 0.1794, 0.3248},
19878 {0.5235, 0.2013, 0.0000, 0.2752},
19879 {0.2926, 0.2960, 0.1758, 0.2355},
19880 {0.1918, 0.0952, 0.2930, 0.4200}},
19881 {
19882 {0.3018, 0.2209, 0.1084, 0.3690},
19883 {0.3000, 0.1220, 0.1744, 0.4036},
19884 {0.2445, 0.1264, 0.2516, 0.3775},
19885 {0.1431, 0.1209, 0.1163, 0.6196}},
19886 {
19887 {0.3153, 0.2519, 0.1440, 0.2888},
19888 {0.2788, 0.1064, 0.2222, 0.3927},
19889 {0.6081, 0.0000, 0.1117, 0.2802},
19890 {0.3512, 0.1686, 0.1116, 0.3686}},
19891 {
19892 {0.3861, 0.1802, 0.1139, 0.3198},
19893 {0.2279, 0.1065, 0.2236, 0.4419},
19894 {0.3036, 0.1946, 0.0569, 0.4449},
19895 {0.2535, 0.0491, 0.1481, 0.5493}},
19896 {
19897 {0.4452, 0.0836, 0.1373, 0.3339},
19898 {0.6029, 0.0652, 0.2656, 0.0663},
19899 {0.4943, 0.1249, 0.1301, 0.2507},
19900 {0.2753, 0.1551, 0.1367, 0.4329}},
19901 {
19902 {0.2736, 0.1480, 0.2369, 0.3415},
19903 {0.3640, 0.1400, 0.2849, 0.2110},
19904 {0.4485, 0.1058, 0.1745, 0.2711},
19905 {0.2580, 0.0978, 0.0776, 0.5665}},
19906 {
19907 {0.3342, 0.1152, 0.0536, 0.4970},
19908 {0.1967, 0.1991, 0.0711, 0.5331},
19909 {0.3189, 0.1910, 0.1954, 0.2948},
19910 {0.1966, 0.2388, 0.0874, 0.4772}},
19911 {
19912 {0.2912, 0.2544, 0.1319, 0.3226},
19913 {0.2246, 0.2269, 0.0926, 0.4559},
19914 {0.5570, 0.0800, 0.0000, 0.3629},
19915 {0.2258, 0.1312, 0.2003, 0.4427}},
19916 {
19917 {0.3766, 0.2170, 0.0325, 0.3739},
19918 {0.3304, 0.1430, 0.0917, 0.4349},
19919 {0.3568, 0.1716, 0.1159, 0.3557},
19920 {0.2949, 0.1908, 0.0628, 0.4515}},
19921 {
19922 {0.2810, 0.1279, 0.1495, 0.4417},
19923 {0.2797, 0.1382, 0.0000, 0.5820},
19924 {0.2544, 0.1323, 0.1269, 0.4864},
19925 {0.2259, 0.1852, 0.1382, 0.4507}},
19926 {
19927 {0.2645, 0.3022, 0.2066, 0.2267},
19928 {0.4475, 0.0580, 0.1065, 0.3880},
19929 {0.4980, 0.2811, 0.0774, 0.1435},
19930 {0.2489, 0.1626, 0.1057, 0.4828}},
19931 {
19932 {0.3025, 0.1636, 0.0815, 0.4523},
19933 {0.3532, 0.0473, 0.1302, 0.4693},
19934 {0.1957, 0.3447, 0.0696, 0.3900},
19935 {0.2782, 0.1640, 0.1401, 0.4176}},
19936 {
19937 {0.3829, 0.1189, 0.0629, 0.4354},
19938 {0.1618, 0.1075, 0.2607, 0.4700},
19939 {0.3111, 0.3101, 0.0000, 0.3788},
19940 {0.4230, 0.1337, 0.0987, 0.3446}},
19941 {
19942 {0.3809, 0.1670, 0.0723, 0.3798},
19943 {0.1772, 0.0000, 0.2383, 0.5846},
19944 {0.4930, 0.0867, 0.0853, 0.3350},
19945 {0.4093, 0.1246, 0.1276, 0.3385}},
19946 {
19947 {0.3238, 0.2461, 0.1833, 0.2468},
19948 {0.2905, 0.0706, 0.1283, 0.5107},
19949 {0.3497, 0.2172, 0.2238, 0.2094},
19950 {0.3064, 0.1972, 0.1287, 0.3678}},
19951 {
19952 {0.3015, 0.2443, 0.1096, 0.3446},
19953 {0.3318, 0.0843, 0.1326, 0.4512},
19954 {0.4680, 0.2220, 0.0538, 0.2562},
19955 {0.2676, 0.1311, 0.2089, 0.3925}},
19956 {
19957 {0.3778, 0.2379, 0.0761, 0.3082},
19958 {0.1921, 0.0994, 0.0991, 0.6094},
19959 {0.0629, 0.0640, 0.1248, 0.7483},
19960 {0.3146, 0.0931, 0.1569, 0.4353}},
19961 {
19962 {0.3021, 0.2158, 0.1221, 0.3600},
19963 {0.1787, 0.1891, 0.1885, 0.4437},
19964 {0.5026, 0.0715, 0.1382, 0.2877},
19965 {0.3411, 0.1661, 0.1479, 0.3450}},
19966 {
19967 {0.4087, 0.2025, 0.1048, 0.2840},
19968 {0.2457, 0.2041, 0.0518, 0.4985},
19969 {0.2377, 0.2873, 0.1773, 0.2977},
19970 {0.2605, 0.1232, 0.0706, 0.5457}},
19971 {
19972 {0.2225, 0.3332, 0.1115, 0.3329},
19973 {0.3613, 0.0465, 0.2759, 0.3163},
19974 {0.2773, 0.1813, 0.1793, 0.3621},
19975 {0.2481, 0.1395, 0.2020, 0.4104}},
19976 {
19977 {0.4510, 0.2273, 0.1280, 0.1936},
19978 {0.3223, 0.1830, 0.0453, 0.4494},
19979 {0.3217, 0.2801, 0.0938, 0.3044},
19980 {0.3457, 0.0484, 0.1644, 0.4415}},
19981 {
19982 {0.4204, 0.1821, 0.1414, 0.2561},
19983 {0.3686, 0.1596, 0.0515, 0.4203},
19984 {0.2820, 0.0715, 0.2133, 0.4332},
19985 {0.3099, 0.1428, 0.0957, 0.4515}},
19986 {
19987 {0.3557, 0.1886, 0.1456, 0.3102},
19988 {0.8419, 0.0000, 0.0000, 0.1581},
19989 {0.1409, 0.3573, 0.0751, 0.4266},
19990 {0.2290, 0.0895, 0.2472, 0.4343}},
19991 {
19992 {0.4805, 0.1389, 0.1398, 0.2407},
19993 {0.2877, 0.0620, 0.1849, 0.4655},
19994 {0.2193, 0.2286, 0.2295, 0.3225},
19995 {0.2649, 0.0722, 0.1485, 0.5145}},
19996 {
19997 {0.3446, 0.1472, 0.2548, 0.2533},
19998 {0.5814, 0.0000, 0.2763, 0.1423},
19999 {0.4780, 0.2156, 0.1500, 0.1564},
20000 {0.2444, 0.0429, 0.1310, 0.5817}},
20001 {
20002 {0.2621, 0.2146, 0.1919, 0.3315},
20003 {0.3440, 0.2496, 0.0813, 0.3251},
20004 {0.3928, 0.1679, 0.2250, 0.2143},
20005 {0.3124, 0.1212, 0.1475, 0.4189}},
20006 {
20007 {0.4026, 0.1411, 0.1916, 0.2647},
20008 {0.5294, 0.0000, 0.0495, 0.4211},
20009 {0.3504, 0.0503, 0.1494, 0.4500},
20010 {0.2790, 0.0738, 0.1997, 0.4475}},
20011 {
20012 {0.3351, 0.1166, 0.3002, 0.2481},
20013 {0.1184, 0.1058, 0.0000, 0.7758},
20014 {0.2678, 0.1068, 0.1075, 0.5179},
20015 {0.2332, 0.1715, 0.1570, 0.4382}},
20016 {
20017 {0.5018, 0.0892, 0.1257, 0.2834},
20018 {0.3101, 0.2571, 0.0642, 0.3686},
20019 {0.3122, 0.1835, 0.0937, 0.4106},
20020 {0.3565, 0.1657, 0.1264, 0.3514}},
20021 {
20022 {0.2945, 0.1981, 0.2443, 0.2632},
20023 {0.3074, 0.1102, 0.3201, 0.2624},
20024 {0.2184, 0.1625, 0.3109, 0.3082},
20025 {0.3415, 0.0740, 0.1468, 0.4377}},
20026 {
20027 {0.2471, 0.3116, 0.1648, 0.2766},
20028 {0.3658, 0.2513, 0.1848, 0.1981},
20029 {0.3290, 0.2219, 0.1116, 0.3375},
20030 {0.2771, 0.1339, 0.1546, 0.4343}},
20031 {
20032 {0.3350, 0.1988, 0.1416, 0.3246},
20033 {0.4257, 0.1152, 0.1531, 0.3060},
20034 {0.2186, 0.0563, 0.2737, 0.4514},
20035 {0.2565, 0.2034, 0.1044, 0.4357}},
20036 {
20037 {0.2469, 0.1389, 0.3494, 0.2648},
20038 {0.3182, 0.1584, 0.1631, 0.3603},
20039 {0.3364, 0.1692, 0.1067, 0.3877},
20040 {0.3189, 0.0940, 0.2008, 0.3863}},
20041 {
20042 {0.3763, 0.1153, 0.2222, 0.2862},
20043 {0.4021, 0.1328, 0.0693, 0.3958},
20044 {0.2902, 0.2241, 0.1870, 0.2988},
20045 {0.3137, 0.1217, 0.2453, 0.3192}}},
20046
20047 { /* Splice_Site: F1_GT; Species: Yeast */
20048 {
20049 {0.3089, 0.3089, 0.3089, 0.3089},
20050 {0.1957, 0.1957, 0.1957, 0.1957},
20051 {0.1874, 0.1874, 0.1874, 0.1874},
20052 {0.3079, 0.3079, 0.3079, 0.3079}},
20053 {
20054 {0.2692, 0.2326, 0.1595, 0.3387},
20055 {0.2839, 0.1111, 0.1614, 0.4436},
20056 {0.2646, 0.1773, 0.1167, 0.4414},
20057 {0.1248, 0.1743, 0.2672, 0.4337}},
20058 {
20059 {0.3492, 0.0966, 0.2908, 0.2634},
20060 {0.3890, 0.1232, 0.2806, 0.2072},
20061 {0.1806, 0.2958, 0.2616, 0.2620},
20062 {0.2155, 0.2086, 0.4031, 0.1727}},
20063 {
20064 {0.4704, 0.1258, 0.1617, 0.2421},
20065 {0.2134, 0.3077, 0.1829, 0.2960},
20066 {0.3700, 0.1895, 0.2277, 0.2128},
20067 {0.1487, 0.3192, 0.1797, 0.3524}},
20068 {
20069 {0.4813, 0.0667, 0.1761, 0.2758},
20070 {0.3857, 0.1218, 0.0718, 0.4207},
20071 {0.2248, 0.2245, 0.2324, 0.3183},
20072 {0.1798, 0.1417, 0.2667, 0.4117}},
20073 {
20074 {0.3979, 0.1169, 0.2849, 0.2002},
20075 {0.4156, 0.1749, 0.1637, 0.2458},
20076 {0.2646, 0.1487, 0.2932, 0.2936},
20077 {0.2323, 0.2029, 0.3283, 0.2364}},
20078 {
20079 {0.4817, 0.1560, 0.1343, 0.2280},
20080 {0.4491, 0.1741, 0.3064, 0.0704},
20081 {0.3592, 0.2882, 0.1383, 0.2143},
20082 {0.2571, 0.2117, 0.0908, 0.4405}},
20083 {
20084 {0.4076, 0.0946, 0.1446, 0.3532},
20085 {0.2330, 0.1600, 0.1055, 0.5015},
20086 {0.2504, 0.3168, 0.1811, 0.2517},
20087 {0.1556, 0.0931, 0.2208, 0.5305}},
20088 {
20089 {0.2721, 0.2655, 0.1918, 0.2705},
20090 {0.4624, 0.1618, 0.2677, 0.1081},
20091 {0.2804, 0.0715, 0.3826, 0.2656},
20092 {0.2136, 0.2106, 0.2549, 0.3209}},
20093 {
20094 {0.4849, 0.1799, 0.0979, 0.2373},
20095 {0.2167, 0.2236, 0.1429, 0.4168},
20096 {0.3203, 0.3158, 0.0648, 0.2990},
20097 {0.1588, 0.3316, 0.1448, 0.3648}},
20098 {
20099 {0.1982, 0.1104, 0.2001, 0.4912},
20100 {0.2506, 0.2108, 0.0846, 0.4540},
20101 {0.0468, 0.4057, 0.1999, 0.3476},
20102 {0.1555, 0.2198, 0.2488, 0.3760}},
20103 {
20104 {0.3966, 0.1837, 0.2994, 0.1203},
20105 {0.2710, 0.1322, 0.4611, 0.1356},
20106 {0.2882, 0.3579, 0.2676, 0.0863},
20107 {0.2427, 0.1037, 0.4224, 0.2311}},
20108 {
20109 {0.3903, 0.1140, 0.1481, 0.3477},
20110 {0.3209, 0.1541, 0.1352, 0.3898},
20111 {0.3640, 0.1923, 0.1854, 0.2582},
20112 {0.2360, 0.3342, 0.1643, 0.2655}},
20113 {
20114 {0.3165, 0.2431, 0.1335, 0.3069},
20115 {0.1739, 0.1778, 0.1465, 0.5019},
20116 {0.3650, 0.1760, 0.1244, 0.3346},
20117 {0.2135, 0.0898, 0.1831, 0.5136}},
20118 {
20119 {0.2426, 0.1387, 0.4125, 0.2062},
20120 {0.2602, 0.2880, 0.1507, 0.3011},
20121 {0.3019, 0.1789, 0.2998, 0.2194},
20122 {0.2532, 0.1090, 0.3854, 0.2523}},
20123 {
20124 {0.4836, 0.1257, 0.0880, 0.3026},
20125 {0.2472, 0.2085, 0.2405, 0.3038},
20126 {0.3851, 0.2427, 0.2116, 0.1605},
20127 {0.2304, 0.1573, 0.0716, 0.5406}},
20128 {
20129 {0.2798, 0.1699, 0.1537, 0.3965},
20130 {0.2401, 0.2017, 0.0861, 0.4722},
20131 {0.2556, 0.2928, 0.0406, 0.4110},
20132 {0.2092, 0.2118, 0.2421, 0.3369}},
20133 {
20134 {0.3999, 0.1755, 0.2644, 0.1603},
20135 {0.2814, 0.1890, 0.3160, 0.2136},
20136 {0.3256, 0.1758, 0.3595, 0.1392},
20137 {0.1939, 0.2255, 0.2773, 0.3033}},
20138 {
20139 {0.4622, 0.1935, 0.1101, 0.2342},
20140 {0.2490, 0.2803, 0.1910, 0.2797},
20141 {0.3463, 0.1512, 0.2407, 0.2618},
20142 {0.2027, 0.2044, 0.1165, 0.4765}},
20143 {
20144 {0.3497, 0.1531, 0.1634, 0.3338},
20145 {0.2482, 0.2529, 0.1131, 0.3858},
20146 {0.3623, 0.0975, 0.0608, 0.4795},
20147 {0.2383, 0.1307, 0.1987, 0.4323}},
20148 {
20149 {0.4712, 0.1468, 0.2504, 0.1315},
20150 {0.3259, 0.1050, 0.3151, 0.2540},
20151 {0.3502, 0.2889, 0.2155, 0.1455},
20152 {0.2009, 0.2341, 0.3334, 0.2316}},
20153 {
20154 {0.3998, 0.1197, 0.1905, 0.2899},
20155 {0.3067, 0.1104, 0.3365, 0.2464},
20156 {0.4017, 0.2045, 0.1123, 0.2815},
20157 {0.2276, 0.2297, 0.1117, 0.4310}},
20158 {
20159 {0.3899, 0.1124, 0.0948, 0.4029},
20160 {0.2318, 0.1647, 0.1352, 0.4683},
20161 {0.3011, 0.1212, 0.0292, 0.5485},
20162 {0.2276, 0.1445, 0.1663, 0.4616}},
20163 {
20164 {0.3174, 0.1423, 0.2427, 0.2976},
20165 {0.4216, 0.1760, 0.3586, 0.0437},
20166 {0.4398, 0.1554, 0.3044, 0.1003},
20167 {0.2532, 0.1773, 0.3024, 0.2672}},
20168 {
20169 {0.4282, 0.1915, 0.0673, 0.3130},
20170 {0.1678, 0.3951, 0.1732, 0.2638},
20171 {0.2818, 0.3479, 0.2030, 0.1673},
20172 {0.0978, 0.2474, 0.1221, 0.5327}},
20173 {
20174 {0.3811, 0.0599, 0.2058, 0.3532},
20175 {0.2577, 0.1345, 0.0188, 0.5890},
20176 {0.1227, 0.2061, 0.1969, 0.4743},
20177 {0.2321, 0.1078, 0.2263, 0.4338}},
20178 {
20179 {0.3414, 0.1482, 0.3202, 0.1902},
20180 {0.2393, 0.1887, 0.3310, 0.2410},
20181 {0.3142, 0.1695, 0.3399, 0.1764},
20182 {0.2375, 0.1895, 0.3421, 0.2309}},
20183 {
20184 {0.3806, 0.2000, 0.1196, 0.2999},
20185 {0.2414, 0.3169, 0.1274, 0.3143},
20186 {0.3652, 0.2127, 0.1337, 0.2884},
20187 {0.2564, 0.3344, 0.0258, 0.3834}},
20188 {
20189 {0.2763, 0.2498, 0.1346, 0.3393},
20190 {0.2603, 0.1277, 0.1310, 0.4810},
20191 {0.1567, 0.2646, 0.1090, 0.4698},
20192 {0.1759, 0.1365, 0.2444, 0.4433}},
20193 {
20194 {0.4420, 0.1258, 0.2926, 0.1396},
20195 {0.3480, 0.0892, 0.3534, 0.2094},
20196 {0.1998, 0.2352, 0.2327, 0.3323},
20197 {0.2454, 0.1764, 0.4094, 0.1689}},
20198 {
20199 {0.3038, 0.2471, 0.1283, 0.3208},
20200 {0.3817, 0.2795, 0.0672, 0.2716},
20201 {0.4308, 0.2107, 0.1320, 0.2264},
20202 {0.1647, 0.3053, 0.1419, 0.3881}},
20203 {
20204 {0.4062, 0.1807, 0.1167, 0.2963},
20205 {0.2620, 0.1733, 0.0868, 0.4779},
20206 {0.2694, 0.2741, 0.0896, 0.3669},
20207 {0.2410, 0.1321, 0.3000, 0.3268}},
20208 {
20209 {0.3234, 0.1403, 0.3721, 0.1642},
20210 {0.3157, 0.1805, 0.2808, 0.2231},
20211 {0.3520, 0.2009, 0.2122, 0.2350},
20212 {0.2635, 0.1658, 0.3690, 0.2018}},
20213 {
20214 {0.4228, 0.1813, 0.0932, 0.3027},
20215 {0.2211, 0.3561, 0.1321, 0.2907},
20216 {0.2528, 0.3191, 0.1301, 0.2980},
20217 {0.0822, 0.5795, 0.0328, 0.3056}},
20218 {
20219 {0.2839, 0.1696, 0.2073, 0.3392},
20220 {0.2937, 0.1827, 0.1338, 0.3898},
20221 {0.2126, 0.2844, 0.1681, 0.3349},
20222 {0.2392, 0.2008, 0.0877, 0.4723}},
20223 {
20224 {0.2600, 0.1844, 0.2692, 0.2864},
20225 {0.3068, 0.1719, 0.3197, 0.2015},
20226 {0.3933, 0.1566, 0.1470, 0.3031},
20227 {0.1253, 0.1661, 0.2623, 0.4463}},
20228 {
20229 {0.3069, 0.2259, 0.2111, 0.2561},
20230 {0.4260, 0.2587, 0.0921, 0.2233},
20231 {0.3208, 0.2746, 0.2342, 0.1705},
20232 {0.0997, 0.3211, 0.1186, 0.4606}},
20233 {
20234 {0.3093, 0.2569, 0.1956, 0.2382},
20235 {0.3496, 0.2156, 0.0795, 0.3553},
20236 {0.2359, 0.2981, 0.0000, 0.4660},
20237 {0.2510, 0.1505, 0.2454, 0.3531}},
20238 {
20239 {0.3685, 0.2025, 0.2210, 0.2080},
20240 {0.3775, 0.1984, 0.1261, 0.2981},
20241 {0.3869, 0.3490, 0.0718, 0.1923},
20242 {0.3395, 0.2600, 0.2826, 0.1179}},
20243 {
20244 {0.2578, 0.3272, 0.1094, 0.3056},
20245 {0.3412, 0.2027, 0.2249, 0.2312},
20246 {0.4281, 0.2727, 0.1867, 0.1125},
20247 {0.1450, 0.2839, 0.0564, 0.5148}},
20248 {
20249 {0.2838, 0.2300, 0.2494, 0.2368},
20250 {0.3125, 0.0976, 0.1000, 0.4899},
20251 {0.1535, 0.3063, 0.1878, 0.3524},
20252 {0.1170, 0.2301, 0.2660, 0.3868}},
20253 {
20254 {0.3149, 0.1747, 0.4177, 0.0927},
20255 {0.3793, 0.1892, 0.1368, 0.2947},
20256 {0.1392, 0.2709, 0.2963, 0.2936},
20257 {0.2222, 0.2695, 0.3291, 0.1792}},
20258 {
20259 {0.2602, 0.3128, 0.1048, 0.3222},
20260 {0.3538, 0.2877, 0.1683, 0.1902},
20261 {0.4165, 0.2202, 0.1835, 0.1797},
20262 {0.2396, 0.2823, 0.1108, 0.3673}},
20263 {
20264 {0.3034, 0.1164, 0.2067, 0.3736},
20265 {0.2610, 0.2013, 0.0995, 0.4382},
20266 {0.1933, 0.2008, 0.0763, 0.5296},
20267 {0.1851, 0.2401, 0.1731, 0.4017}},
20268 {
20269 {0.4185, 0.1997, 0.1846, 0.1972},
20270 {0.5758, 0.1191, 0.1220, 0.1831},
20271 {0.4033, 0.1126, 0.3758, 0.1082},
20272 {0.2575, 0.1316, 0.4250, 0.1859}},
20273 {
20274 {0.5251, 0.2313, 0.0739, 0.1697},
20275 {0.2645, 0.2293, 0.2334, 0.2728},
20276 {0.3288, 0.2169, 0.2546, 0.1997},
20277 {0.0955, 0.3167, 0.2777, 0.3102}},
20278 {
20279 {0.2515, 0.1546, 0.2021, 0.3919},
20280 {0.3271, 0.1552, 0.0698, 0.4478},
20281 {0.1182, 0.1224, 0.2296, 0.5298},
20282 {0.1482, 0.2457, 0.1248, 0.4813}},
20283 {
20284 {0.1950, 0.2762, 0.3760, 0.1529},
20285 {0.4837, 0.0977, 0.2565, 0.1622},
20286 {0.3802, 0.1330, 0.2757, 0.2111},
20287 {0.2071, 0.2202, 0.2786, 0.2941}},
20288 {
20289 {0.4095, 0.2534, 0.1418, 0.1952},
20290 {0.4494, 0.1940, 0.1374, 0.2192},
20291 {0.4406, 0.2248, 0.1102, 0.2244},
20292 {0.1449, 0.2630, 0.1420, 0.4501}},
20293 {
20294 {0.2275, 0.2104, 0.2061, 0.3560},
20295 {0.3514, 0.1608, 0.1838, 0.3040},
20296 {0.0877, 0.3385, 0.0451, 0.5287},
20297 {0.1745, 0.1457, 0.2667, 0.4131}},
20298 {
20299 {0.0000, 0.0000, 1.0000, 0.0000},
20300 {0.0000, 0.0000, 1.0000, 0.0000},
20301 {0.0000, 0.0000, 1.0000, 0.0000},
20302 {0.0000, 0.0000, 1.0000, 0.0000}},
20303 {
20304 {0.0000, 0.0000, 0.0000, 0.0000},
20305 {0.0000, 0.0000, 0.0000, 0.0000},
20306 {0.0000, 0.0000, 0.0000, 1.0000},
20307 {0.0000, 0.0000, 0.0000, 0.0000}},
20308 {
20309 {0.0000, 0.0000, 0.0000, 0.0000},
20310 {0.0000, 0.0000, 0.0000, 0.0000},
20311 {0.0000, 0.0000, 0.0000, 0.0000},
20312 {0.1379, 0.1414, 0.1320, 0.5887}},
20313 {
20314 {0.2745, 0.0795, 0.4443, 0.2017},
20315 {0.4208, 0.1815, 0.1653, 0.2323},
20316 {0.3411, 0.2879, 0.2891, 0.0820},
20317 {0.1856, 0.1769, 0.3559, 0.2816}},
20318 {
20319 {0.5487, 0.1496, 0.0636, 0.2382},
20320 {0.2739, 0.2762, 0.2077, 0.2421},
20321 {0.5140, 0.1471, 0.1669, 0.1720},
20322 {0.0458, 0.2802, 0.2092, 0.4648}},
20323 {
20324 {0.3436, 0.2103, 0.1177, 0.3284},
20325 {0.1884, 0.2949, 0.0532, 0.4635},
20326 {0.1694, 0.3794, 0.0366, 0.4146},
20327 {0.2243, 0.2500, 0.2014, 0.3243}},
20328 {
20329 {0.2777, 0.2013, 0.2184, 0.3026},
20330 {0.3099, 0.1075, 0.2499, 0.3327},
20331 {0.1858, 0.3333, 0.2877, 0.1932},
20332 {0.1649, 0.1029, 0.4594, 0.2727}},
20333 {
20334 {0.3977, 0.1155, 0.1389, 0.3478},
20335 {0.4270, 0.1794, 0.1773, 0.2163},
20336 {0.3398, 0.2079, 0.3180, 0.1343},
20337 {0.1960, 0.3634, 0.1105, 0.3300}},
20338 {
20339 {0.3591, 0.1514, 0.1003, 0.3891},
20340 {0.3429, 0.1211, 0.0736, 0.4625},
20341 {0.2275, 0.2224, 0.1619, 0.3883},
20342 {0.1043, 0.1315, 0.3083, 0.4559}},
20343 {
20344 {0.3124, 0.1674, 0.2718, 0.2484},
20345 {0.2472, 0.3235, 0.3176, 0.1117},
20346 {0.2046, 0.3128, 0.3092, 0.1734},
20347 {0.2179, 0.2195, 0.3684, 0.1942}},
20348 {
20349 {0.3565, 0.1352, 0.1323, 0.3760},
20350 {0.2788, 0.2165, 0.2315, 0.2732},
20351 {0.3187, 0.3122, 0.1031, 0.2659},
20352 {0.1429, 0.2601, 0.1979, 0.3991}},
20353 {
20354 {0.3572, 0.1354, 0.1150, 0.3923},
20355 {0.3098, 0.2141, 0.0950, 0.3811},
20356 {0.1660, 0.1092, 0.3405, 0.3843},
20357 {0.2026, 0.1024, 0.2047, 0.4904}},
20358 {
20359 {0.3227, 0.2480, 0.2642, 0.1651},
20360 {0.4801, 0.2343, 0.2434, 0.0422},
20361 {0.3482, 0.1849, 0.2477, 0.2192},
20362 {0.1421, 0.2212, 0.4251, 0.2116}},
20363 {
20364 {0.3752, 0.2232, 0.1583, 0.2433},
20365 {0.2672, 0.2894, 0.1955, 0.2478},
20366 {0.4603, 0.1478, 0.2201, 0.1718},
20367 {0.1184, 0.2170, 0.0647, 0.5999}},
20368 {
20369 {0.4680, 0.1606, 0.1622, 0.2093},
20370 {0.2047, 0.2081, 0.1517, 0.4355},
20371 {0.3973, 0.1565, 0.0302, 0.4160},
20372 {0.0947, 0.1385, 0.2776, 0.4892}},
20373 {
20374 {0.2519, 0.1910, 0.3198, 0.2373},
20375 {0.3915, 0.3374, 0.1011, 0.1701},
20376 {0.2281, 0.1271, 0.3494, 0.2954},
20377 {0.1630, 0.1622, 0.3799, 0.2949}},
20378 {
20379 {0.3759, 0.2330, 0.1401, 0.2510},
20380 {0.2025, 0.4268, 0.1775, 0.1932},
20381 {0.3480, 0.2434, 0.3029, 0.1057},
20382 {0.1925, 0.2750, 0.0606, 0.4718}},
20383 {
20384 {0.3850, 0.0968, 0.1908, 0.3274},
20385 {0.3280, 0.0777, 0.0576, 0.5367},
20386 {0.2202, 0.1586, 0.1545, 0.4667},
20387 {0.1988, 0.1778, 0.3281, 0.2953}},
20388 {
20389 {0.3972, 0.2059, 0.2087, 0.1882},
20390 {0.2667, 0.3747, 0.1738, 0.1848},
20391 {0.2421, 0.1518, 0.3931, 0.2130},
20392 {0.1904, 0.2585, 0.3345, 0.2165}},
20393 {
20394 {0.2819, 0.2505, 0.2203, 0.2473},
20395 {0.3752, 0.2728, 0.1394, 0.2125},
20396 {0.4307, 0.1534, 0.1524, 0.2635},
20397 {0.1883, 0.3998, 0.0578, 0.3540}},
20398 {
20399 {0.4390, 0.2145, 0.1308, 0.2157},
20400 {0.2123, 0.1485, 0.0835, 0.5557},
20401 {0.3638, 0.2671, 0.0740, 0.2950},
20402 {0.2450, 0.0851, 0.2517, 0.4182}},
20403 {
20404 {0.3426, 0.1361, 0.3999, 0.1213},
20405 {0.3170, 0.0707, 0.3483, 0.2640},
20406 {0.1966, 0.1966, 0.3825, 0.2243},
20407 {0.2533, 0.2426, 0.3143, 0.1898}},
20408 {
20409 {0.3305, 0.1133, 0.2482, 0.3081},
20410 {0.4184, 0.3249, 0.0668, 0.1899},
20411 {0.4458, 0.2585, 0.0923, 0.2033},
20412 {0.0913, 0.2651, 0.0000, 0.6436}},
20413 {
20414 {0.3184, 0.0822, 0.2421, 0.3573},
20415 {0.1851, 0.1386, 0.0975, 0.5788},
20416 {0.2386, 0.0976, 0.0430, 0.6208},
20417 {0.1911, 0.1408, 0.2102, 0.4579}},
20418 {
20419 {0.3852, 0.0904, 0.3418, 0.1826},
20420 {0.3797, 0.1929, 0.3222, 0.1052},
20421 {0.4033, 0.2765, 0.1920, 0.1282},
20422 {0.2522, 0.1746, 0.3735, 0.1996}},
20423 {
20424 {0.5211, 0.1201, 0.1035, 0.2553},
20425 {0.3080, 0.1582, 0.1541, 0.3797},
20426 {0.4296, 0.2684, 0.1525, 0.1495},
20427 {0.1374, 0.1575, 0.0945, 0.6107}},
20428 {
20429 {0.2769, 0.2109, 0.2403, 0.2719},
20430 {0.2403, 0.1820, 0.0897, 0.4881},
20431 {0.3045, 0.0453, 0.3475, 0.3027},
20432 {0.1844, 0.2917, 0.1642, 0.3597}},
20433 {
20434 {0.2885, 0.2238, 0.3788, 0.1089},
20435 {0.2833, 0.1396, 0.3414, 0.2358},
20436 {0.2456, 0.3006, 0.2089, 0.2448},
20437 {0.2628, 0.1739, 0.2809, 0.2824}},
20438 {
20439 {0.3668, 0.1414, 0.0978, 0.3940},
20440 {0.1869, 0.2646, 0.2694, 0.2791},
20441 {0.3949, 0.2052, 0.1653, 0.2346},
20442 {0.1214, 0.2914, 0.1244, 0.4628}},
20443 {
20444 {0.3849, 0.1562, 0.1341, 0.3248},
20445 {0.2490, 0.2499, 0.0782, 0.4229},
20446 {0.1347, 0.1731, 0.1039, 0.5883},
20447 {0.1806, 0.2066, 0.1968, 0.4160}},
20448 {
20449 {0.2952, 0.1065, 0.4199, 0.1784},
20450 {0.4169, 0.1390, 0.2787, 0.1655},
20451 {0.2461, 0.2085, 0.3874, 0.1580},
20452 {0.1591, 0.1965, 0.3932, 0.2511}},
20453 {
20454 {0.4089, 0.1960, 0.0690, 0.3262},
20455 {0.3086, 0.1648, 0.1968, 0.3298},
20456 {0.4335, 0.1418, 0.1598, 0.2648},
20457 {0.1072, 0.2353, 0.1356, 0.5219}},
20458 {
20459 {0.3507, 0.1775, 0.2121, 0.2597},
20460 {0.1782, 0.1225, 0.0918, 0.6075},
20461 {0.4316, 0.1246, 0.0406, 0.4033},
20462 {0.1133, 0.1450, 0.2888, 0.4529}},
20463 {
20464 {0.3901, 0.0648, 0.2603, 0.2849},
20465 {0.3730, 0.1831, 0.2582, 0.1856},
20466 {0.2270, 0.1786, 0.4222, 0.1722},
20467 {0.2407, 0.2667, 0.2493, 0.2433}},
20468 {
20469 {0.4115, 0.1328, 0.1275, 0.3281},
20470 {0.3758, 0.2086, 0.2417, 0.1739},
20471 {0.4067, 0.2106, 0.2337, 0.1490},
20472 {0.1821, 0.2435, 0.0956, 0.4788}},
20473 {
20474 {0.3613, 0.1059, 0.1426, 0.3902},
20475 {0.2905, 0.1735, 0.0857, 0.4502},
20476 {0.1908, 0.2247, 0.1625, 0.4219},
20477 {0.2161, 0.2505, 0.1924, 0.3410}},
20478 {
20479 {0.2987, 0.1426, 0.2993, 0.2593},
20480 {0.2981, 0.2121, 0.2150, 0.2749},
20481 {0.2640, 0.1834, 0.2531, 0.2995},
20482 {0.2833, 0.2027, 0.2255, 0.2885}},
20483 {
20484 {0.3727, 0.1517, 0.1166, 0.3590},
20485 {0.4406, 0.2332, 0.2141, 0.1121},
20486 {0.4299, 0.1770, 0.1570, 0.2361},
20487 {0.1386, 0.2547, 0.1760, 0.4306}},
20488 {
20489 {0.3706, 0.0657, 0.2008, 0.3629},
20490 {0.2680, 0.0782, 0.0790, 0.5748},
20491 {0.1718, 0.1389, 0.2770, 0.4124},
20492 {0.3056, 0.1251, 0.2140, 0.3553}},
20493 {
20494 {0.2101, 0.1454, 0.3909, 0.2536},
20495 {0.4454, 0.1157, 0.3283, 0.1106},
20496 {0.3374, 0.2252, 0.2606, 0.1768},
20497 {0.2809, 0.1340, 0.3540, 0.2311}},
20498 {
20499 {0.4777, 0.1754, 0.1380, 0.2088},
20500 {0.2884, 0.1867, 0.2455, 0.2795},
20501 {0.3940, 0.2252, 0.0793, 0.3015},
20502 {0.2297, 0.1793, 0.1530, 0.4381}},
20503 {
20504 {0.4767, 0.1168, 0.1033, 0.3032},
20505 {0.3134, 0.1723, 0.0579, 0.4564},
20506 {0.2481, 0.2027, 0.0822, 0.4670},
20507 {0.0915, 0.2412, 0.2554, 0.4120}},
20508 {
20509 {0.1852, 0.0889, 0.4486, 0.2772},
20510 {0.2416, 0.1924, 0.3531, 0.2129},
20511 {0.1961, 0.2385, 0.3208, 0.2447},
20512 {0.2718, 0.1985, 0.4024, 0.1272}},
20513 {
20514 {0.2577, 0.1683, 0.1906, 0.3834},
20515 {0.4159, 0.2582, 0.0000, 0.3259},
20516 {0.4166, 0.1655, 0.1954, 0.2226},
20517 {0.1076, 0.3261, 0.1872, 0.3792}},
20518 {
20519 {0.4133, 0.1499, 0.2413, 0.1955},
20520 {0.3022, 0.0242, 0.0745, 0.5991},
20521 {0.2380, 0.2442, 0.1726, 0.3452},
20522 {0.2477, 0.2375, 0.2496, 0.2653}},
20523 {
20524 {0.2568, 0.0704, 0.3398, 0.3330},
20525 {0.3698, 0.1340, 0.2952, 0.2009},
20526 {0.2826, 0.1979, 0.4150, 0.1045},
20527 {0.2893, 0.2524, 0.2718, 0.1866}},
20528 {
20529 {0.4903, 0.1525, 0.1136, 0.2435},
20530 {0.1970, 0.3382, 0.2987, 0.1660},
20531 {0.3549, 0.2378, 0.1844, 0.2229},
20532 {0.1754, 0.1714, 0.0932, 0.5600}},
20533 {
20534 {0.3674, 0.2001, 0.1493, 0.2831},
20535 {0.2528, 0.2564, 0.1006, 0.3902},
20536 {0.2092, 0.1616, 0.1280, 0.5012},
20537 {0.2476, 0.1096, 0.2457, 0.3971}},
20538 {
20539 {0.3397, 0.1375, 0.3334, 0.1894},
20540 {0.2115, 0.3043, 0.3609, 0.1233},
20541 {0.3034, 0.1627, 0.3074, 0.2265},
20542 {0.2356, 0.1916, 0.2808, 0.2920}},
20543 {
20544 {0.4098, 0.2228, 0.0856, 0.2818},
20545 {0.3141, 0.1419, 0.2537, 0.2903},
20546 {0.2990, 0.3344, 0.1894, 0.1772},
20547 {0.1742, 0.2182, 0.1415, 0.4661}},
20548 {
20549 {0.3818, 0.1622, 0.0887, 0.3673},
20550 {0.1591, 0.1814, 0.1878, 0.4717},
20551 {0.3113, 0.1304, 0.0951, 0.4632},
20552 {0.2255, 0.2055, 0.2243, 0.3447}},
20553 {
20554 {0.2419, 0.1856, 0.3464, 0.2261},
20555 {0.4404, 0.1846, 0.1847, 0.1903},
20556 {0.3978, 0.1782, 0.3872, 0.0367},
20557 {0.2887, 0.2084, 0.3047, 0.1982}}},
20558
20559 { /* Splice_Site: F2_GT; Species: Yeast */
20560 {
20561 {0.2767, 0.2767, 0.2767, 0.2767},
20562 {0.1590, 0.1590, 0.1590, 0.1590},
20563 {0.1765, 0.1765, 0.1765, 0.1765},
20564 {0.3878, 0.3878, 0.3878, 0.3878}},
20565 {
20566 {0.4580, 0.2687, 0.1505, 0.1228},
20567 {0.3130, 0.3145, 0.1543, 0.2182},
20568 {0.2850, 0.2363, 0.4292, 0.0495},
20569 {0.2122, 0.1891, 0.3258, 0.2730}},
20570 {
20571 {0.2439, 0.3220, 0.1100, 0.3240},
20572 {0.2476, 0.2734, 0.0342, 0.4448},
20573 {0.4690, 0.2143, 0.2210, 0.0957},
20574 {0.1302, 0.4591, 0.0000, 0.4107}},
20575 {
20576 {0.5964, 0.1168, 0.1136, 0.1733},
20577 {0.2741, 0.1618, 0.0000, 0.5640},
20578 {0.4246, 0.1676, 0.0877, 0.3202},
20579 {0.1657, 0.2174, 0.2171, 0.3999}},
20580 {
20581 {0.4439, 0.0500, 0.2868, 0.2193},
20582 {0.2940, 0.3553, 0.0000, 0.3507},
20583 {0.1551, 0.0000, 0.5462, 0.2988},
20584 {0.1555, 0.2196, 0.2578, 0.3670}},
20585 {
20586 {0.4225, 0.1206, 0.0626, 0.3943},
20587 {0.3707, 0.2094, 0.1001, 0.3198},
20588 {0.4491, 0.2623, 0.1273, 0.1613},
20589 {0.0780, 0.3227, 0.1644, 0.4348}},
20590 {
20591 {0.2821, 0.2664, 0.2119, 0.2396},
20592 {0.3566, 0.2500, 0.2176, 0.1757},
20593 {0.2837, 0.0687, 0.2153, 0.4323},
20594 {0.1748, 0.1494, 0.2964, 0.3795}},
20595 {
20596 {0.3106, 0.0000, 0.3773, 0.3121},
20597 {0.2051, 0.0790, 0.4559, 0.2600},
20598 {0.2765, 0.2089, 0.2398, 0.2749},
20599 {0.3117, 0.1739, 0.3953, 0.1191}},
20600 {
20601 {0.3289, 0.0852, 0.1448, 0.4411},
20602 {0.2894, 0.1488, 0.1395, 0.4222},
20603 {0.3402, 0.2264, 0.2063, 0.2272},
20604 {0.2153, 0.3167, 0.0768, 0.3912}},
20605 {
20606 {0.2796, 0.1720, 0.2478, 0.3006},
20607 {0.1217, 0.1646, 0.2895, 0.4242},
20608 {0.3305, 0.2740, 0.0000, 0.3955},
20609 {0.1912, 0.1432, 0.1666, 0.4990}},
20610 {
20611 {0.4122, 0.1081, 0.4036, 0.0761},
20612 {0.3799, 0.0972, 0.2317, 0.2912},
20613 {0.2162, 0.0858, 0.6103, 0.0877},
20614 {0.2833, 0.2071, 0.2787, 0.2309}},
20615 {
20616 {0.4206, 0.1323, 0.1809, 0.2662},
20617 {0.4066, 0.2911, 0.1210, 0.1813},
20618 {0.3839, 0.2256, 0.2288, 0.1617},
20619 {0.0000, 0.1427, 0.1918, 0.6656}},
20620 {
20621 {0.2538, 0.1255, 0.1457, 0.4751},
20622 {0.0407, 0.1736, 0.0419, 0.7437},
20623 {0.0812, 0.2192, 0.0460, 0.6537},
20624 {0.2353, 0.1757, 0.2410, 0.3480}},
20625 {
20626 {0.2754, 0.3877, 0.2413, 0.0956},
20627 {0.2558, 0.2481, 0.1463, 0.3497},
20628 {0.2632, 0.0623, 0.5502, 0.1243},
20629 {0.2416, 0.1906, 0.3473, 0.2205}},
20630 {
20631 {0.5959, 0.0985, 0.2380, 0.0677},
20632 {0.3411, 0.2317, 0.1574, 0.2698},
20633 {0.5625, 0.1520, 0.1291, 0.1565},
20634 {0.1192, 0.2801, 0.1627, 0.4381}},
20635 {
20636 {0.3272, 0.1359, 0.1953, 0.3416},
20637 {0.0929, 0.1831, 0.1768, 0.5472},
20638 {0.2510, 0.3071, 0.1446, 0.2973},
20639 {0.2332, 0.1528, 0.2265, 0.3875}},
20640 {
20641 {0.3361, 0.1634, 0.2364, 0.2640},
20642 {0.3258, 0.1987, 0.2386, 0.2370},
20643 {0.3499, 0.2598, 0.3050, 0.0853},
20644 {0.2336, 0.1502, 0.4199, 0.1963}},
20645 {
20646 {0.3593, 0.2506, 0.1132, 0.2769},
20647 {0.3234, 0.3136, 0.1778, 0.1852},
20648 {0.1556, 0.2887, 0.1850, 0.3707},
20649 {0.2041, 0.3743, 0.1259, 0.2957}},
20650 {
20651 {0.3521, 0.2270, 0.1658, 0.2551},
20652 {0.2516, 0.1946, 0.0865, 0.4673},
20653 {0.3277, 0.1109, 0.2805, 0.2810},
20654 {0.2233, 0.2307, 0.1457, 0.4003}},
20655 {
20656 {0.2979, 0.1443, 0.3185, 0.2393},
20657 {0.4630, 0.2072, 0.2085, 0.1212},
20658 {0.5046, 0.0585, 0.2751, 0.1618},
20659 {0.2962, 0.1597, 0.4099, 0.1342}},
20660 {
20661 {0.4403, 0.1444, 0.1372, 0.2780},
20662 {0.2226, 0.2252, 0.2724, 0.2798},
20663 {0.4151, 0.2042, 0.2815, 0.0992},
20664 {0.2376, 0.3466, 0.1089, 0.3069}},
20665 {
20666 {0.3149, 0.2037, 0.1145, 0.3669},
20667 {0.2426, 0.1572, 0.0423, 0.5579},
20668 {0.1279, 0.1622, 0.1286, 0.5813},
20669 {0.1090, 0.1490, 0.1136, 0.6285}},
20670 {
20671 {0.3076, 0.2324, 0.2667, 0.1934},
20672 {0.4845, 0.2402, 0.1858, 0.0895},
20673 {0.2597, 0.2494, 0.2462, 0.2446},
20674 {0.1513, 0.2306, 0.3247, 0.2934}},
20675 {
20676 {0.5624, 0.1964, 0.1071, 0.1341},
20677 {0.3223, 0.2855, 0.2135, 0.1786},
20678 {0.4187, 0.2008, 0.2028, 0.1778},
20679 {0.2126, 0.3591, 0.0736, 0.3546}},
20680 {
20681 {0.4816, 0.0629, 0.0662, 0.3892},
20682 {0.1939, 0.2917, 0.1904, 0.3240},
20683 {0.1212, 0.1611, 0.2146, 0.5030},
20684 {0.3608, 0.0000, 0.2842, 0.3551}},
20685 {
20686 {0.3383, 0.2235, 0.2020, 0.2362},
20687 {0.3314, 0.0000, 0.5347, 0.1338},
20688 {0.2552, 0.1002, 0.1485, 0.4962},
20689 {0.3235, 0.2411, 0.1974, 0.2379}},
20690 {
20691 {0.3104, 0.2117, 0.1338, 0.3441},
20692 {0.2331, 0.4521, 0.1334, 0.1814},
20693 {0.3633, 0.1045, 0.1733, 0.3589},
20694 {0.1901, 0.3084, 0.1596, 0.3419}},
20695 {
20696 {0.2406, 0.1198, 0.2766, 0.3630},
20697 {0.3900, 0.1300, 0.0633, 0.4166},
20698 {0.3805, 0.0633, 0.3384, 0.2179},
20699 {0.1062, 0.0748, 0.3665, 0.4525}},
20700 {
20701 {0.5174, 0.1637, 0.2247, 0.0941},
20702 {0.3341, 0.0856, 0.3338, 0.2465},
20703 {0.1553, 0.2617, 0.3527, 0.2304},
20704 {0.2621, 0.2184, 0.3683, 0.1512}},
20705 {
20706 {0.4344, 0.1580, 0.1402, 0.2674},
20707 {0.2846, 0.2503, 0.2482, 0.2169},
20708 {0.4625, 0.1550, 0.1740, 0.2085},
20709 {0.0945, 0.4090, 0.0497, 0.4468}},
20710 {
20711 {0.2276, 0.2343, 0.1899, 0.3483},
20712 {0.2697, 0.2272, 0.0400, 0.4631},
20713 {0.2096, 0.1590, 0.1617, 0.4696},
20714 {0.2915, 0.0306, 0.1575, 0.5204}},
20715 {
20716 {0.4261, 0.1038, 0.3034, 0.1667},
20717 {0.2474, 0.3499, 0.2484, 0.1543},
20718 {0.3550, 0.0550, 0.2856, 0.3044},
20719 {0.2972, 0.2085, 0.3638, 0.1305}},
20720 {
20721 {0.4552, 0.1984, 0.1013, 0.2451},
20722 {0.5381, 0.2284, 0.0920, 0.1415},
20723 {0.3662, 0.2907, 0.2370, 0.1060},
20724 {0.0976, 0.1960, 0.1007, 0.6057}},
20725 {
20726 {0.3262, 0.1723, 0.1754, 0.3261},
20727 {0.1084, 0.2215, 0.1051, 0.5650},
20728 {0.3471, 0.0582, 0.1791, 0.4156},
20729 {0.1065, 0.2083, 0.1708, 0.5144}},
20730 {
20731 {0.3341, 0.1863, 0.2957, 0.1838},
20732 {0.2821, 0.1879, 0.1936, 0.3364},
20733 {0.3098, 0.2681, 0.2642, 0.1579},
20734 {0.2613, 0.1468, 0.3109, 0.2810}},
20735 {
20736 {0.4588, 0.1156, 0.1410, 0.2846},
20737 {0.2239, 0.1377, 0.3566, 0.2818},
20738 {0.3065, 0.2115, 0.3025, 0.1795},
20739 {0.1990, 0.4023, 0.0324, 0.3663}},
20740 {
20741 {0.3274, 0.2897, 0.1110, 0.2720},
20742 {0.3027, 0.2763, 0.0000, 0.4210},
20743 {0.1632, 0.3792, 0.0828, 0.3748},
20744 {0.1224, 0.0592, 0.2745, 0.5439}},
20745 {
20746 {0.2861, 0.1409, 0.4356, 0.1373},
20747 {0.4509, 0.1059, 0.2381, 0.2051},
20748 {0.2702, 0.1381, 0.3315, 0.2602},
20749 {0.2735, 0.1664, 0.2524, 0.3077}},
20750 {
20751 {0.4462, 0.1605, 0.1584, 0.2349},
20752 {0.1207, 0.2937, 0.4060, 0.1796},
20753 {0.3910, 0.1927, 0.1966, 0.2198},
20754 {0.1728, 0.2094, 0.2082, 0.4096}},
20755 {
20756 {0.3911, 0.1076, 0.2127, 0.2886},
20757 {0.2516, 0.0822, 0.0000, 0.6662},
20758 {0.3096, 0.1529, 0.1910, 0.3464},
20759 {0.1208, 0.2521, 0.2488, 0.3783}},
20760 {
20761 {0.2670, 0.1205, 0.2469, 0.3657},
20762 {0.3279, 0.2284, 0.0536, 0.3900},
20763 {0.1902, 0.1937, 0.3315, 0.2845},
20764 {0.2100, 0.2017, 0.3567, 0.2315}},
20765 {
20766 {0.4068, 0.1351, 0.2123, 0.2458},
20767 {0.3157, 0.2297, 0.2187, 0.2358},
20768 {0.4838, 0.2091, 0.0922, 0.2149},
20769 {0.1366, 0.1621, 0.1654, 0.5359}},
20770 {
20771 {0.3712, 0.0733, 0.1549, 0.4006},
20772 {0.2713, 0.2754, 0.1389, 0.3144},
20773 {0.1995, 0.0985, 0.1500, 0.5520},
20774 {0.2875, 0.2092, 0.1055, 0.3978}},
20775 {
20776 {0.1957, 0.2223, 0.2204, 0.3617},
20777 {0.2589, 0.2651, 0.2672, 0.2088},
20778 {0.2464, 0.1281, 0.4357, 0.1897},
20779 {0.1635, 0.3247, 0.2040, 0.3078}},
20780 {
20781 {0.5030, 0.2006, 0.1282, 0.1682},
20782 {0.1935, 0.2539, 0.3932, 0.1595},
20783 {0.3024, 0.2351, 0.2305, 0.2320},
20784 {0.1122, 0.1666, 0.2552, 0.4661}},
20785 {
20786 {0.2584, 0.2257, 0.1589, 0.3570},
20787 {0.1510, 0.1911, 0.1866, 0.4713},
20788 {0.2246, 0.1292, 0.1564, 0.4899},
20789 {0.1884, 0.1233, 0.1852, 0.5031}},
20790 {
20791 {0.2745, 0.0373, 0.4451, 0.2431},
20792 {0.3081, 0.2413, 0.0997, 0.3509},
20793 {0.3320, 0.1892, 0.2412, 0.2375},
20794 {0.2038, 0.2218, 0.2945, 0.2799}},
20795 {
20796 {0.4835, 0.0640, 0.0911, 0.3613},
20797 {0.2780, 0.2217, 0.2213, 0.2790},
20798 {0.2950, 0.2054, 0.2341, 0.2655},
20799 {0.1838, 0.3096, 0.1802, 0.3264}},
20800 {
20801 {0.3265, 0.1853, 0.1355, 0.3527},
20802 {0.2956, 0.0859, 0.0848, 0.5337},
20803 {0.1788, 0.1426, 0.1356, 0.5431},
20804 {0.1899, 0.2158, 0.0550, 0.5392}},
20805 {
20806 {0.2323, 0.2368, 0.3630, 0.1678},
20807 {0.3476, 0.3044, 0.3002, 0.0478},
20808 {0.3373, 0.2507, 0.4120, 0.0000},
20809 {0.2332, 0.3169, 0.3088, 0.1410}},
20810 {
20811 {0.0000, 0.0000, 1.0000, 0.0000},
20812 {0.0000, 0.0000, 1.0000, 0.0000},
20813 {0.0000, 0.0000, 1.0000, 0.0000},
20814 {0.0000, 0.0000, 1.0000, 0.0000}},
20815 {
20816 {0.0000, 0.0000, 0.0000, 0.0000},
20817 {0.0000, 0.0000, 0.0000, 0.0000},
20818 {0.0000, 0.0000, 0.0000, 1.0000},
20819 {0.0000, 0.0000, 0.0000, 0.0000}},
20820 {
20821 {0.0000, 0.0000, 0.0000, 0.0000},
20822 {0.0000, 0.0000, 0.0000, 0.0000},
20823 {0.0000, 0.0000, 0.0000, 0.0000},
20824 {0.2158, 0.1894, 0.3922, 0.2025}},
20825 {
20826 {0.2980, 0.2357, 0.1601, 0.3062},
20827 {0.3408, 0.2240, 0.1741, 0.2611},
20828 {0.3402, 0.2292, 0.2347, 0.1959},
20829 {0.2884, 0.2497, 0.0411, 0.4207}},
20830 {
20831 {0.2080, 0.2032, 0.1010, 0.4877},
20832 {0.2479, 0.2445, 0.0723, 0.4353},
20833 {0.0978, 0.1999, 0.1486, 0.5538},
20834 {0.1230, 0.1490, 0.3339, 0.3941}},
20835 {
20836 {0.2824, 0.2860, 0.2913, 0.1402},
20837 {0.3324, 0.1228, 0.3796, 0.1652},
20838 {0.1523, 0.5925, 0.1541, 0.1011},
20839 {0.1279, 0.2651, 0.3827, 0.2244}},
20840 {
20841 {0.4969, 0.1259, 0.0853, 0.2920},
20842 {0.1945, 0.2757, 0.1663, 0.3634},
20843 {0.3899, 0.1272, 0.2029, 0.2801},
20844 {0.4274, 0.3842, 0.0946, 0.0938}},
20845 {
20846 {0.3746, 0.3054, 0.1379, 0.1820},
20847 {0.3081, 0.1115, 0.0378, 0.5426},
20848 {0.3401, 0.0528, 0.2771, 0.3301},
20849 {0.1796, 0.1257, 0.1851, 0.5097}},
20850 {
20851 {0.2519, 0.1662, 0.3043, 0.2776},
20852 {0.1948, 0.1350, 0.3835, 0.2867},
20853 {0.4963, 0.2248, 0.2789, 0.0000},
20854 {0.2441, 0.2446, 0.2457, 0.2657}},
20855 {
20856 {0.3600, 0.1855, 0.1154, 0.3392},
20857 {0.4193, 0.2549, 0.2847, 0.0411},
20858 {0.3774, 0.2827, 0.2276, 0.1122},
20859 {0.1060, 0.3251, 0.1404, 0.4285}},
20860 {
20861 {0.3198, 0.1870, 0.1850, 0.3081},
20862 {0.2632, 0.1944, 0.0305, 0.5120},
20863 {0.2242, 0.1735, 0.1801, 0.4223},
20864 {0.2140, 0.0733, 0.3200, 0.3927}},
20865 {
20866 {0.3227, 0.1277, 0.3530, 0.1966},
20867 {0.2583, 0.1616, 0.3222, 0.2580},
20868 {0.3213, 0.3894, 0.1455, 0.1438},
20869 {0.2042, 0.1012, 0.2612, 0.4335}},
20870 {
20871 {0.2151, 0.2493, 0.3806, 0.1550},
20872 {0.3577, 0.1953, 0.1953, 0.2517},
20873 {0.3673, 0.2737, 0.2745, 0.0845},
20874 {0.0881, 0.4816, 0.0276, 0.4026}},
20875 {
20876 {0.4030, 0.1359, 0.2113, 0.2499},
20877 {0.2137, 0.1791, 0.0815, 0.5257},
20878 {0.4595, 0.1537, 0.1178, 0.2690},
20879 {0.2576, 0.1505, 0.1126, 0.4793}},
20880 {
20881 {0.3345, 0.1568, 0.2990, 0.2097},
20882 {0.5794, 0.3160, 0.0000, 0.1046},
20883 {0.3975, 0.1923, 0.2049, 0.2054},
20884 {0.3200, 0.1916, 0.2557, 0.2326}},
20885 {
20886 {0.2853, 0.2700, 0.1322, 0.3125},
20887 {0.2539, 0.1647, 0.2064, 0.3749},
20888 {0.4175, 0.1823, 0.2897, 0.1105},
20889 {0.2916, 0.2843, 0.0825, 0.3416}},
20890 {
20891 {0.2158, 0.1606, 0.2205, 0.4031},
20892 {0.2155, 0.1747, 0.0718, 0.5379},
20893 {0.3818, 0.1474, 0.1430, 0.3278},
20894 {0.2687, 0.1786, 0.1400, 0.4127}},
20895 {
20896 {0.3843, 0.1303, 0.2935, 0.1919},
20897 {0.2527, 0.2485, 0.3467, 0.1522},
20898 {0.4979, 0.1695, 0.2295, 0.1031},
20899 {0.1593, 0.1361, 0.4514, 0.2532}},
20900 {
20901 {0.4428, 0.1192, 0.2066, 0.2315},
20902 {0.4202, 0.1568, 0.2147, 0.2083},
20903 {0.3092, 0.1635, 0.2030, 0.3242},
20904 {0.1655, 0.3371, 0.1271, 0.3704}},
20905 {
20906 {0.3564, 0.2438, 0.0746, 0.3252},
20907 {0.0463, 0.3221, 0.0474, 0.5842},
20908 {0.2162, 0.2197, 0.0853, 0.4787},
20909 {0.2290, 0.1707, 0.2301, 0.3702}},
20910 {
20911 {0.4688, 0.2151, 0.1697, 0.1464},
20912 {0.2846, 0.3188, 0.2120, 0.1846},
20913 {0.1411, 0.4302, 0.2853, 0.1433},
20914 {0.2431, 0.1422, 0.2958, 0.3188}},
20915 {
20916 {0.3688, 0.2011, 0.0844, 0.3458},
20917 {0.3172, 0.2878, 0.2134, 0.1816},
20918 {0.3958, 0.1337, 0.1979, 0.2727},
20919 {0.1457, 0.2189, 0.0388, 0.5967}},
20920 {
20921 {0.3428, 0.0818, 0.2120, 0.3634},
20922 {0.2032, 0.1638, 0.1965, 0.4365},
20923 {0.3733, 0.0665, 0.1959, 0.3644},
20924 {0.2474, 0.1742, 0.2909, 0.2875}},
20925 {
20926 {0.3208, 0.3197, 0.1491, 0.2104},
20927 {0.4009, 0.2653, 0.2664, 0.0674},
20928 {0.3205, 0.2152, 0.1763, 0.2880},
20929 {0.2314, 0.2639, 0.1837, 0.3209}},
20930 {
20931 {0.4176, 0.3052, 0.1656, 0.1117},
20932 {0.4409, 0.2125, 0.2491, 0.0976},
20933 {0.3219, 0.1323, 0.2353, 0.3105},
20934 {0.1643, 0.2021, 0.0947, 0.5389}},
20935 {
20936 {0.4251, 0.0970, 0.1442, 0.3337},
20937 {0.3369, 0.0361, 0.1525, 0.4745},
20938 {0.1845, 0.0898, 0.1770, 0.5487},
20939 {0.3015, 0.1359, 0.0982, 0.4644}},
20940 {
20941 {0.2839, 0.1548, 0.2568, 0.3046},
20942 {0.2827, 0.2732, 0.2651, 0.1790},
20943 {0.2416, 0.4742, 0.1139, 0.1703},
20944 {0.1884, 0.2433, 0.3198, 0.2486}},
20945 {
20946 {0.4320, 0.2189, 0.0704, 0.2787},
20947 {0.2648, 0.2010, 0.2345, 0.2997},
20948 {0.4971, 0.1503, 0.2252, 0.1274},
20949 {0.1355, 0.1662, 0.1020, 0.5963}},
20950 {
20951 {0.2733, 0.2293, 0.1766, 0.3209},
20952 {0.0477, 0.0862, 0.1885, 0.6777},
20953 {0.2655, 0.1542, 0.1112, 0.4691},
20954 {0.2833, 0.2041, 0.1816, 0.3309}},
20955 {
20956 {0.3902, 0.2536, 0.2142, 0.1420},
20957 {0.3665, 0.1339, 0.2291, 0.2705},
20958 {0.1953, 0.0469, 0.2935, 0.4643},
20959 {0.2939, 0.1633, 0.3984, 0.1444}},
20960 {
20961 {0.4194, 0.1832, 0.1624, 0.2350},
20962 {0.1660, 0.2048, 0.2565, 0.3728},
20963 {0.3810, 0.2705, 0.1075, 0.2411},
20964 {0.1551, 0.4232, 0.0406, 0.3812}},
20965 {
20966 {0.2715, 0.2177, 0.2123, 0.2985},
20967 {0.1586, 0.1879, 0.0961, 0.5574},
20968 {0.3743, 0.2617, 0.0000, 0.3640},
20969 {0.2066, 0.2554, 0.2298, 0.3083}},
20970 {
20971 {0.2570, 0.2471, 0.2094, 0.2864},
20972 {0.3343, 0.1117, 0.3350, 0.2190},
20973 {0.1578, 0.2571, 0.3242, 0.2609},
20974 {0.1335, 0.1282, 0.4506, 0.2877}},
20975 {
20976 {0.3159, 0.2055, 0.2392, 0.2394},
20977 {0.3782, 0.3432, 0.0936, 0.1851},
20978 {0.4030, 0.1190, 0.2099, 0.2681},
20979 {0.1502, 0.3479, 0.1286, 0.3732}},
20980 {
20981 {0.2675, 0.2360, 0.0547, 0.4418},
20982 {0.2844, 0.2798, 0.0698, 0.3660},
20983 {0.1893, 0.1912, 0.2453, 0.3743},
20984 {0.2738, 0.0877, 0.3683, 0.2702}},
20985 {
20986 {0.3590, 0.1255, 0.2570, 0.2585},
20987 {0.4567, 0.2110, 0.1247, 0.2076},
20988 {0.3838, 0.0489, 0.5189, 0.0484},
20989 {0.3020, 0.1798, 0.2929, 0.2253}},
20990 {
20991 {0.4230, 0.1400, 0.1131, 0.3240},
20992 {0.2166, 0.4473, 0.1680, 0.1681},
20993 {0.2893, 0.2857, 0.2816, 0.1434},
20994 {0.2457, 0.2513, 0.1226, 0.3805}},
20995 {
20996 {0.3411, 0.1304, 0.0556, 0.4729},
20997 {0.2670, 0.0689, 0.1624, 0.5017},
20998 {0.1941, 0.1943, 0.1385, 0.4731},
20999 {0.2885, 0.0665, 0.2284, 0.4166}},
21000 {
21001 {0.2631, 0.3489, 0.2085, 0.1795},
21002 {0.2286, 0.3128, 0.3799, 0.0787},
21003 {0.1131, 0.2278, 0.3069, 0.3523},
21004 {0.2327, 0.2494, 0.3057, 0.2122}},
21005 {
21006 {0.2579, 0.1812, 0.2620, 0.2990},
21007 {0.4402, 0.2350, 0.1772, 0.1476},
21008 {0.4070, 0.2044, 0.1531, 0.2355},
21009 {0.1976, 0.4457, 0.1593, 0.1973}},
21010 {
21011 {0.1938, 0.2939, 0.2195, 0.2928},
21012 {0.3541, 0.0317, 0.1316, 0.4826},
21013 {0.2327, 0.1773, 0.1414, 0.4486},
21014 {0.2624, 0.1573, 0.3144, 0.2659}},
21015 {
21016 {0.2547, 0.1265, 0.1991, 0.4197},
21017 {0.4737, 0.0999, 0.2896, 0.1368},
21018 {0.2574, 0.2430, 0.2074, 0.2923},
21019 {0.2478, 0.1765, 0.3451, 0.2306}},
21020 {
21021 {0.2544, 0.2272, 0.1437, 0.3747},
21022 {0.3497, 0.2966, 0.0999, 0.2538},
21023 {0.4113, 0.2160, 0.1550, 0.2177},
21024 {0.1863, 0.3905, 0.0607, 0.3625}},
21025 {
21026 {0.2888, 0.1722, 0.1402, 0.3989},
21027 {0.1484, 0.2320, 0.1462, 0.4733},
21028 {0.2959, 0.2093, 0.2070, 0.2879},
21029 {0.2190, 0.1902, 0.1083, 0.4825}},
21030 {
21031 {0.4043, 0.0758, 0.3739, 0.1460},
21032 {0.3373, 0.1637, 0.2491, 0.2498},
21033 {0.2310, 0.2959, 0.2981, 0.1750},
21034 {0.3476, 0.0745, 0.2343, 0.3436}},
21035 {
21036 {0.3614, 0.2199, 0.0725, 0.3462},
21037 {0.4043, 0.2597, 0.1926, 0.1434},
21038 {0.3096, 0.1784, 0.1821, 0.3299},
21039 {0.0994, 0.4788, 0.0657, 0.3561}},
21040 {
21041 {0.3228, 0.1787, 0.2051, 0.2934},
21042 {0.1764, 0.2654, 0.0267, 0.5315},
21043 {0.3609, 0.1457, 0.0754, 0.4180},
21044 {0.0530, 0.1824, 0.3181, 0.4466}},
21045 {
21046 {0.4220, 0.1637, 0.2067, 0.2076},
21047 {0.3677, 0.2058, 0.2981, 0.1284},
21048 {0.3903, 0.3371, 0.1333, 0.1393},
21049 {0.2552, 0.1743, 0.2946, 0.2759}},
21050 {
21051 {0.4047, 0.2257, 0.0981, 0.2714},
21052 {0.3660, 0.4372, 0.1156, 0.0813},
21053 {0.3981, 0.2024, 0.2999, 0.0996},
21054 {0.2417, 0.2369, 0.1137, 0.4077}},
21055 {
21056 {0.3028, 0.1386, 0.2080, 0.3506},
21057 {0.1258, 0.1811, 0.1642, 0.5289},
21058 {0.3718, 0.2588, 0.1050, 0.2644},
21059 {0.1185, 0.1500, 0.3819, 0.3496}},
21060 {
21061 {0.1802, 0.2222, 0.2521, 0.3456},
21062 {0.4740, 0.1851, 0.1938, 0.1472},
21063 {0.4608, 0.1132, 0.2336, 0.1925},
21064 {0.3289, 0.2574, 0.2166, 0.1971}},
21065 {
21066 {0.5484, 0.0710, 0.1172, 0.2634},
21067 {0.3591, 0.3636, 0.1162, 0.1611},
21068 {0.4809, 0.3333, 0.1081, 0.0776},
21069 {0.1887, 0.3038, 0.1917, 0.3158}}},
21070
21071 { /* Splice_Site: F0_GT; Species: Yeast */
21072 {
21073 {0.3154, 0.3154, 0.3154, 0.3154},
21074 {0.2067, 0.2067, 0.2067, 0.2067},
21075 {0.2405, 0.2405, 0.2405, 0.2405},
21076 {0.2373, 0.2373, 0.2373, 0.2373}},
21077 {
21078 {0.4549, 0.1555, 0.0505, 0.3391},
21079 {0.3172, 0.3225, 0.1655, 0.1949},
21080 {0.3778, 0.3015, 0.1936, 0.1271},
21081 {0.2094, 0.3108, 0.1351, 0.3446}},
21082 {
21083 {0.3454, 0.1425, 0.1869, 0.3252},
21084 {0.2158, 0.2495, 0.1279, 0.4067},
21085 {0.1219, 0.1201, 0.2500, 0.5081},
21086 {0.1214, 0.2577, 0.1583, 0.4626}},
21087 {
21088 {0.2845, 0.2158, 0.2173, 0.2824},
21089 {0.3335, 0.1247, 0.2096, 0.3323},
21090 {0.2360, 0.3356, 0.1885, 0.2398},
21091 {0.3606, 0.1754, 0.2560, 0.2080}},
21092 {
21093 {0.4349, 0.1554, 0.1281, 0.2816},
21094 {0.1994, 0.1654, 0.3160, 0.3193},
21095 {0.3598, 0.3253, 0.1417, 0.1732},
21096 {0.1273, 0.2272, 0.1291, 0.5164}},
21097 {
21098 {0.3387, 0.1400, 0.1338, 0.3874},
21099 {0.3495, 0.1135, 0.1933, 0.3437},
21100 {0.2881, 0.1849, 0.1472, 0.3798},
21101 {0.2740, 0.2194, 0.2517, 0.2549}},
21102 {
21103 {0.3380, 0.1335, 0.1577, 0.3708},
21104 {0.4265, 0.1839, 0.1977, 0.1918},
21105 {0.4351, 0.1334, 0.3483, 0.0832},
21106 {0.2276, 0.2139, 0.3384, 0.2200}},
21107 {
21108 {0.3445, 0.2148, 0.1003, 0.3404},
21109 {0.2396, 0.3283, 0.1416, 0.2904},
21110 {0.4991, 0.1204, 0.1622, 0.2183},
21111 {0.2381, 0.2774, 0.0346, 0.4499}},
21112 {
21113 {0.2826, 0.1493, 0.1188, 0.4493},
21114 {0.2555, 0.1433, 0.1757, 0.4255},
21115 {0.0000, 0.2250, 0.3156, 0.4594},
21116 {0.1465, 0.1033, 0.3250, 0.4252}},
21117 {
21118 {0.4438, 0.0794, 0.3218, 0.1549},
21119 {0.4136, 0.0646, 0.2324, 0.2894},
21120 {0.2637, 0.3291, 0.2992, 0.1080},
21121 {0.3707, 0.0937, 0.3308, 0.2048}},
21122 {
21123 {0.2675, 0.2876, 0.1794, 0.2655},
21124 {0.2962, 0.1769, 0.1868, 0.3400},
21125 {0.4144, 0.1615, 0.1332, 0.2910},
21126 {0.1262, 0.3985, 0.0000, 0.4752}},
21127 {
21128 {0.2453, 0.1702, 0.1956, 0.3889},
21129 {0.2867, 0.2898, 0.0958, 0.3276},
21130 {0.2540, 0.1904, 0.0642, 0.4914},
21131 {0.2242, 0.2016, 0.2984, 0.2758}},
21132 {
21133 {0.3880, 0.1959, 0.3180, 0.0980},
21134 {0.3363, 0.1147, 0.3153, 0.2337},
21135 {0.2144, 0.3084, 0.2991, 0.1781},
21136 {0.2333, 0.1165, 0.3940, 0.2561}},
21137 {
21138 {0.5006, 0.1115, 0.1701, 0.2178},
21139 {0.4271, 0.2934, 0.1441, 0.1355},
21140 {0.3585, 0.2132, 0.1668, 0.2615},
21141 {0.2108, 0.2885, 0.0820, 0.4187}},
21142 {
21143 {0.3393, 0.0826, 0.1665, 0.4116},
21144 {0.2757, 0.1155, 0.0377, 0.5712},
21145 {0.2277, 0.0532, 0.2207, 0.4983},
21146 {0.2125, 0.1615, 0.1534, 0.4727}},
21147 {
21148 {0.3846, 0.2109, 0.2859, 0.1186},
21149 {0.3808, 0.2212, 0.3980, 0.0000},
21150 {0.1675, 0.1680, 0.4420, 0.2226},
21151 {0.1417, 0.2552, 0.3449, 0.2582}},
21152 {
21153 {0.4088, 0.0347, 0.1415, 0.4149},
21154 {0.2469, 0.1473, 0.2502, 0.3556},
21155 {0.3463, 0.2340, 0.2320, 0.1878},
21156 {0.0427, 0.3081, 0.2119, 0.4374}},
21157 {
21158 {0.3989, 0.1112, 0.1423, 0.3477},
21159 {0.1862, 0.2688, 0.1875, 0.3575},
21160 {0.1908, 0.0756, 0.1975, 0.5361},
21161 {0.2993, 0.2259, 0.1722, 0.3027}},
21162 {
21163 {0.3997, 0.1982, 0.2612, 0.1409},
21164 {0.3297, 0.1853, 0.3358, 0.1493},
21165 {0.0958, 0.2359, 0.5269, 0.1414},
21166 {0.3442, 0.2631, 0.1758, 0.2170}},
21167 {
21168 {0.3085, 0.1573, 0.2577, 0.2765},
21169 {0.2839, 0.2540, 0.1416, 0.3205},
21170 {0.4343, 0.1104, 0.1409, 0.3144},
21171 {0.0970, 0.2857, 0.2818, 0.3356}},
21172 {
21173 {0.4089, 0.1339, 0.2131, 0.2440},
21174 {0.1306, 0.3549, 0.0928, 0.4218},
21175 {0.2775, 0.1601, 0.2839, 0.2785},
21176 {0.3420, 0.1309, 0.1802, 0.3470}},
21177 {
21178 {0.2137, 0.1603, 0.3616, 0.2644},
21179 {0.3148, 0.0880, 0.5075, 0.0897},
21180 {0.2465, 0.2980, 0.2472, 0.2082},
21181 {0.3548, 0.1033, 0.3088, 0.2330}},
21182 {
21183 {0.2806, 0.2625, 0.1978, 0.2591},
21184 {0.3708, 0.2642, 0.1016, 0.2634},
21185 {0.5863, 0.1381, 0.1120, 0.1637},
21186 {0.1539, 0.3817, 0.2258, 0.2386}},
21187 {
21188 {0.2805, 0.2205, 0.1523, 0.3467},
21189 {0.2624, 0.0981, 0.1039, 0.5356},
21190 {0.2490, 0.1990, 0.2536, 0.2984},
21191 {0.2540, 0.3009, 0.1813, 0.2637}},
21192 {
21193 {0.3872, 0.2435, 0.1862, 0.1831},
21194 {0.1616, 0.4393, 0.2017, 0.1974},
21195 {0.4012, 0.1506, 0.3443, 0.1038},
21196 {0.2904, 0.2013, 0.2680, 0.2403}},
21197 {
21198 {0.3947, 0.2379, 0.1336, 0.2338},
21199 {0.3616, 0.2181, 0.2237, 0.1967},
21200 {0.5688, 0.1319, 0.0682, 0.2311},
21201 {0.1247, 0.3793, 0.2015, 0.2945}},
21202 {
21203 {0.4106, 0.1544, 0.1748, 0.2602},
21204 {0.4138, 0.1413, 0.1385, 0.3063},
21205 {0.1054, 0.3182, 0.2018, 0.3747},
21206 {0.0731, 0.1002, 0.3136, 0.5131}},
21207 {
21208 {0.2289, 0.2886, 0.2883, 0.1943},
21209 {0.3956, 0.0504, 0.1944, 0.3596},
21210 {0.2773, 0.2803, 0.2433, 0.1991},
21211 {0.2532, 0.1862, 0.2548, 0.3057}},
21212 {
21213 {0.3551, 0.1787, 0.0891, 0.3771},
21214 {0.4214, 0.1126, 0.2734, 0.1925},
21215 {0.4224, 0.0949, 0.2535, 0.2292},
21216 {0.1849, 0.2207, 0.1292, 0.4652}},
21217 {
21218 {0.4065, 0.0900, 0.0997, 0.4038},
21219 {0.1623, 0.1601, 0.3578, 0.3199},
21220 {0.1822, 0.2718, 0.0462, 0.4997},
21221 {0.2788, 0.1725, 0.1235, 0.4252}},
21222 {
21223 {0.2856, 0.1176, 0.3995, 0.1973},
21224 {0.3690, 0.1459, 0.2440, 0.2410},
21225 {0.3004, 0.1672, 0.2964, 0.2361},
21226 {0.1752, 0.1986, 0.3711, 0.2550}},
21227 {
21228 {0.4825, 0.1288, 0.1319, 0.2568},
21229 {0.3903, 0.3008, 0.2058, 0.1031},
21230 {0.5133, 0.0934, 0.1600, 0.2333},
21231 {0.1362, 0.5513, 0.0000, 0.3125}},
21232 {
21233 {0.3042, 0.1872, 0.2427, 0.2660},
21234 {0.2644, 0.2037, 0.0643, 0.4676},
21235 {0.3320, 0.1987, 0.0000, 0.4693},
21236 {0.1722, 0.1049, 0.1371, 0.5858}},
21237 {
21238 {0.3940, 0.2144, 0.2723, 0.1193},
21239 {0.4299, 0.1858, 0.2387, 0.1455},
21240 {0.1605, 0.2207, 0.2278, 0.3911},
21241 {0.2102, 0.1958, 0.3171, 0.2769}},
21242 {
21243 {0.4359, 0.1950, 0.1140, 0.2550},
21244 {0.2756, 0.3610, 0.2854, 0.0780},
21245 {0.3863, 0.2883, 0.1481, 0.1773},
21246 {0.2148, 0.3585, 0.1356, 0.2911}},
21247 {
21248 {0.3093, 0.1160, 0.3132, 0.2615},
21249 {0.2188, 0.2230, 0.1689, 0.3893},
21250 {0.0480, 0.2564, 0.0932, 0.6024},
21251 {0.2495, 0.1585, 0.1970, 0.3950}},
21252 {
21253 {0.3498, 0.0710, 0.2590, 0.3202},
21254 {0.3666, 0.0936, 0.3151, 0.2247},
21255 {0.3878, 0.1523, 0.2295, 0.2304},
21256 {0.3174, 0.1478, 0.3829, 0.1520}},
21257 {
21258 {0.2511, 0.1919, 0.2292, 0.3278},
21259 {0.0645, 0.3409, 0.2674, 0.3271},
21260 {0.3926, 0.2192, 0.1800, 0.2083},
21261 {0.1556, 0.3291, 0.1494, 0.3660}},
21262 {
21263 {0.2893, 0.1315, 0.2203, 0.3590},
21264 {0.1948, 0.1286, 0.1324, 0.5442},
21265 {0.2373, 0.1537, 0.1623, 0.4467},
21266 {0.2807, 0.1859, 0.2080, 0.3254}},
21267 {
21268 {0.3205, 0.1631, 0.2865, 0.2299},
21269 {0.3130, 0.1570, 0.2708, 0.2592},
21270 {0.3898, 0.2205, 0.2995, 0.0901},
21271 {0.2604, 0.1619, 0.2772, 0.3005}},
21272 {
21273 {0.2628, 0.2916, 0.0272, 0.4184},
21274 {0.3266, 0.2890, 0.0957, 0.2887},
21275 {0.5104, 0.1757, 0.1432, 0.1706},
21276 {0.1052, 0.4165, 0.1702, 0.3081}},
21277 {
21278 {0.2066, 0.0807, 0.2945, 0.4182},
21279 {0.2554, 0.1400, 0.0862, 0.5185},
21280 {0.2362, 0.3788, 0.2332, 0.1518},
21281 {0.1307, 0.1673, 0.1876, 0.5144}},
21282 {
21283 {0.4861, 0.1624, 0.1971, 0.1544},
21284 {0.2089, 0.3202, 0.2662, 0.2047},
21285 {0.3274, 0.2526, 0.2923, 0.1277},
21286 {0.1870, 0.2161, 0.3613, 0.2356}},
21287 {
21288 {0.3227, 0.1777, 0.2085, 0.2911},
21289 {0.1817, 0.3572, 0.2472, 0.2139},
21290 {0.4922, 0.2677, 0.1063, 0.1339},
21291 {0.1263, 0.2952, 0.2050, 0.3735}},
21292 {
21293 {0.3297, 0.1064, 0.2141, 0.3499},
21294 {0.2146, 0.2437, 0.0869, 0.4548},
21295 {0.3029, 0.0869, 0.1269, 0.4834},
21296 {0.1619, 0.1974, 0.2387, 0.4020}},
21297 {
21298 {0.3880, 0.2234, 0.2599, 0.1287},
21299 {0.2024, 0.0996, 0.4460, 0.2521},
21300 {0.2936, 0.1405, 0.5157, 0.0502},
21301 {0.2589, 0.0984, 0.3526, 0.2901}},
21302 {
21303 {0.2856, 0.2538, 0.1453, 0.3153},
21304 {0.2283, 0.2326, 0.2464, 0.2927},
21305 {0.6127, 0.2150, 0.0660, 0.1063},
21306 {0.0381, 0.2806, 0.1646, 0.5167}},
21307 {
21308 {0.2820, 0.3017, 0.1858, 0.2305},
21309 {0.3345, 0.1996, 0.1002, 0.3657},
21310 {0.0627, 0.1187, 0.2540, 0.5647},
21311 {0.2305, 0.2113, 0.1457, 0.4125}},
21312 {
21313 {0.4490, 0.0330, 0.3314, 0.1866},
21314 {0.3260, 0.1398, 0.1452, 0.3890},
21315 {0.2513, 0.1552, 0.1933, 0.4003},
21316 {0.2498, 0.1386, 0.2524, 0.3591}},
21317 {
21318 {0.4079, 0.2573, 0.1254, 0.2094},
21319 {0.4934, 0.2119, 0.1487, 0.1460},
21320 {0.6219, 0.1023, 0.1004, 0.1754},
21321 {0.0000, 0.2431, 0.1661, 0.5908}},
21322 {
21323 {0.0000, 0.0000, 1.0000, 0.0000},
21324 {0.0000, 0.0000, 1.0000, 0.0000},
21325 {0.0000, 0.0000, 1.0000, 0.0000},
21326 {0.0000, 0.0000, 1.0000, 0.0000}},
21327 {
21328 {0.0000, 0.0000, 0.0000, 0.0000},
21329 {0.0000, 0.0000, 0.0000, 0.0000},
21330 {0.0000, 0.0000, 0.0000, 1.0000},
21331 {0.0000, 0.0000, 0.0000, 0.0000}},
21332 {
21333 {0.0000, 0.0000, 0.0000, 0.0000},
21334 {0.0000, 0.0000, 0.0000, 0.0000},
21335 {0.0000, 0.0000, 0.0000, 0.0000},
21336 {0.1482, 0.3284, 0.0470, 0.4764}},
21337 {
21338 {0.0000, 0.3251, 0.0000, 0.6749},
21339 {0.1436, 0.2217, 0.1958, 0.4390},
21340 {0.0000, 0.3418, 0.4966, 0.1617},
21341 {0.2079, 0.1215, 0.2029, 0.4676}},
21342 {
21343 {0.2832, 0.1668, 0.2821, 0.2678},
21344 {0.4140, 0.0780, 0.2115, 0.2965},
21345 {0.3457, 0.1756, 0.2611, 0.2176},
21346 {0.2386, 0.1735, 0.3284, 0.2595}},
21347 {
21348 {0.4067, 0.2392, 0.1059, 0.2482},
21349 {0.2602, 0.1580, 0.1112, 0.4705},
21350 {0.4563, 0.2290, 0.0842, 0.2304},
21351 {0.1260, 0.2789, 0.0609, 0.5342}},
21352 {
21353 {0.3522, 0.1755, 0.0759, 0.3964},
21354 {0.3838, 0.1696, 0.1010, 0.3456},
21355 {0.0000, 0.1787, 0.0000, 0.8213},
21356 {0.2741, 0.0465, 0.2131, 0.4663}},
21357 {
21358 {0.2725, 0.2667, 0.3534, 0.1075},
21359 {0.4340, 0.3088, 0.1345, 0.1227},
21360 {0.1926, 0.1302, 0.4191, 0.2581},
21361 {0.2028, 0.1974, 0.3280, 0.2718}},
21362 {
21363 {0.3857, 0.2885, 0.0332, 0.2927},
21364 {0.3970, 0.3219, 0.1441, 0.1370},
21365 {0.4150, 0.1996, 0.2069, 0.1785},
21366 {0.0394, 0.3659, 0.0409, 0.5537}},
21367 {
21368 {0.4515, 0.1020, 0.1736, 0.2729},
21369 {0.3162, 0.2292, 0.0288, 0.4258},
21370 {0.5013, 0.1345, 0.0663, 0.2979},
21371 {0.1809, 0.2060, 0.1456, 0.4676}},
21372 {
21373 {0.2615, 0.0937, 0.3345, 0.3104},
21374 {0.3335, 0.2857, 0.2334, 0.1474},
21375 {0.2933, 0.2161, 0.2855, 0.2051},
21376 {0.2170, 0.2002, 0.3467, 0.2361}},
21377 {
21378 {0.4054, 0.2839, 0.0623, 0.2484},
21379 {0.1409, 0.3158, 0.2261, 0.3171},
21380 {0.5140, 0.1809, 0.1274, 0.1777},
21381 {0.1387, 0.3621, 0.2300, 0.2692}},
21382 {
21383 {0.3472, 0.1748, 0.3003, 0.1777},
21384 {0.3255, 0.1430, 0.1232, 0.4084},
21385 {0.1577, 0.2080, 0.1624, 0.4720},
21386 {0.1668, 0.0974, 0.2689, 0.4669}},
21387 {
21388 {0.3728, 0.0588, 0.2338, 0.3346},
21389 {0.3589, 0.2047, 0.3260, 0.1104},
21390 {0.2218, 0.2186, 0.4070, 0.1526},
21391 {0.1801, 0.3023, 0.2301, 0.2875}},
21392 {
21393 {0.4247, 0.0905, 0.2118, 0.2730},
21394 {0.3165, 0.3206, 0.1247, 0.2382},
21395 {0.4292, 0.2063, 0.2482, 0.1163},
21396 {0.1076, 0.3652, 0.2699, 0.2573}},
21397 {
21398 {0.5748, 0.1502, 0.0251, 0.2498},
21399 {0.2378, 0.1722, 0.1366, 0.4534},
21400 {0.2610, 0.1814, 0.1510, 0.4066},
21401 {0.1890, 0.2620, 0.1908, 0.3582}},
21402 {
21403 {0.3820, 0.0928, 0.4054, 0.1198},
21404 {0.6037, 0.1335, 0.1745, 0.0883},
21405 {0.3570, 0.4302, 0.2127, 0.0000},
21406 {0.2487, 0.3202, 0.2062, 0.2249}},
21407 {
21408 {0.3711, 0.1531, 0.1116, 0.3642},
21409 {0.2953, 0.2618, 0.1870, 0.2559},
21410 {0.3664, 0.1781, 0.1861, 0.2694},
21411 {0.1273, 0.1751, 0.2361, 0.4615}},
21412 {
21413 {0.3830, 0.1026, 0.2546, 0.2598},
21414 {0.4292, 0.3146, 0.0850, 0.1713},
21415 {0.3435, 0.1056, 0.0000, 0.5509},
21416 {0.2463, 0.1417, 0.2963, 0.3157}},
21417 {
21418 {0.3120, 0.2596, 0.2625, 0.1659},
21419 {0.3107, 0.3225, 0.3134, 0.0533},
21420 {0.2987, 0.3725, 0.2066, 0.1222},
21421 {0.2351, 0.2124, 0.2862, 0.2663}},
21422 {
21423 {0.5153, 0.0828, 0.0828, 0.3190},
21424 {0.3847, 0.2668, 0.2312, 0.1174},
21425 {0.4249, 0.2207, 0.1455, 0.2089},
21426 {0.0499, 0.2436, 0.1432, 0.5633}},
21427 {
21428 {0.3312, 0.1523, 0.1880, 0.3285},
21429 {0.3263, 0.1241, 0.0808, 0.4689},
21430 {0.3110, 0.0000, 0.1617, 0.5273},
21431 {0.2366, 0.0883, 0.2626, 0.4125}},
21432 {
21433 {0.3506, 0.1631, 0.2449, 0.2415},
21434 {0.3124, 0.2321, 0.3044, 0.1512},
21435 {0.4370, 0.0464, 0.1694, 0.3472},
21436 {0.3853, 0.1645, 0.2382, 0.2120}},
21437 {
21438 {0.3914, 0.1068, 0.1734, 0.3285},
21439 {0.3255, 0.3372, 0.2253, 0.1120},
21440 {0.3086, 0.2129, 0.2074, 0.2711},
21441 {0.2001, 0.3302, 0.0328, 0.4369}},
21442 {
21443 {0.3608, 0.2304, 0.1251, 0.2836},
21444 {0.2616, 0.0000, 0.2186, 0.5198},
21445 {0.1552, 0.3136, 0.0537, 0.4775},
21446 {0.2411, 0.2594, 0.2130, 0.2865}},
21447 {
21448 {0.3053, 0.2672, 0.1869, 0.2406},
21449 {0.5264, 0.1560, 0.1162, 0.2014},
21450 {0.3018, 0.2950, 0.2577, 0.1456},
21451 {0.2239, 0.2654, 0.2446, 0.2661}},
21452 {
21453 {0.3378, 0.1780, 0.2048, 0.2794},
21454 {0.2784, 0.2620, 0.1627, 0.2969},
21455 {0.3517, 0.2853, 0.1300, 0.2330},
21456 {0.0730, 0.3525, 0.1466, 0.4280}},
21457 {
21458 {0.3122, 0.0888, 0.1521, 0.4468},
21459 {0.3782, 0.1245, 0.0922, 0.4051},
21460 {0.3139, 0.1440, 0.3962, 0.1459},
21461 {0.1056, 0.3161, 0.2122, 0.3661}},
21462 {
21463 {0.2841, 0.3377, 0.1892, 0.1890},
21464 {0.4538, 0.0882, 0.3194, 0.1386},
21465 {0.3759, 0.1635, 0.4172, 0.0434},
21466 {0.2394, 0.2007, 0.3124, 0.2476}},
21467 {
21468 {0.5402, 0.0741, 0.2336, 0.1521},
21469 {0.3132, 0.3040, 0.1891, 0.1937},
21470 {0.2723, 0.1088, 0.2378, 0.3812},
21471 {0.0973, 0.2371, 0.1003, 0.5653}},
21472 {
21473 {0.3395, 0.0455, 0.1484, 0.4666},
21474 {0.2029, 0.1014, 0.1499, 0.5458},
21475 {0.3579, 0.1964, 0.1210, 0.3248},
21476 {0.2423, 0.1879, 0.1906, 0.3792}},
21477 {
21478 {0.2458, 0.1950, 0.3910, 0.1682},
21479 {0.3090, 0.0609, 0.3732, 0.2570},
21480 {0.3156, 0.0000, 0.5246, 0.1597},
21481 {0.2502, 0.2067, 0.2934, 0.2497}},
21482 {
21483 {0.5215, 0.1197, 0.2087, 0.1501},
21484 {0.4105, 0.1578, 0.1577, 0.2740},
21485 {0.6717, 0.0901, 0.1102, 0.1280},
21486 {0.1566, 0.3014, 0.1188, 0.4232}},
21487 {
21488 {0.3058, 0.0993, 0.1713, 0.4237},
21489 {0.4236, 0.0503, 0.1566, 0.3695},
21490 {0.4423, 0.1656, 0.0000, 0.3920},
21491 {0.1559, 0.1811, 0.3345, 0.3284}},
21492 {
21493 {0.3383, 0.1309, 0.2383, 0.2926},
21494 {0.0000, 0.3348, 0.1951, 0.4701},
21495 {0.3181, 0.2688, 0.1368, 0.2762},
21496 {0.2340, 0.1646, 0.4817, 0.1197}},
21497 {
21498 {0.3507, 0.1930, 0.2912, 0.1650},
21499 {0.3297, 0.3296, 0.1263, 0.2143},
21500 {0.4746, 0.1298, 0.2103, 0.1854},
21501 {0.1342, 0.3751, 0.0628, 0.4280}},
21502 {
21503 {0.1457, 0.0952, 0.1910, 0.5681},
21504 {0.3295, 0.1725, 0.1610, 0.3370},
21505 {0.2281, 0.0860, 0.0432, 0.6426},
21506 {0.2618, 0.2337, 0.1415, 0.3631}},
21507 {
21508 {0.2426, 0.2061, 0.3758, 0.1755},
21509 {0.2255, 0.1686, 0.1666, 0.4393},
21510 {0.1720, 0.2257, 0.1645, 0.4377},
21511 {0.2765, 0.1732, 0.3151, 0.2352}},
21512 {
21513 {0.3601, 0.1673, 0.1721, 0.3006},
21514 {0.2231, 0.3792, 0.2638, 0.1339},
21515 {0.4270, 0.2804, 0.1740, 0.1186},
21516 {0.1453, 0.3122, 0.0859, 0.4566}},
21517 {
21518 {0.3357, 0.2279, 0.1893, 0.2471},
21519 {0.3410, 0.2025, 0.0272, 0.4293},
21520 {0.3516, 0.1986, 0.1001, 0.3497},
21521 {0.2744, 0.1853, 0.1559, 0.3843}},
21522 {
21523 {0.2747, 0.2503, 0.1746, 0.3003},
21524 {0.3579, 0.1998, 0.2405, 0.2019},
21525 {0.6056, 0.3304, 0.0000, 0.0640},
21526 {0.2838, 0.1862, 0.2546, 0.2754}},
21527 {
21528 {0.4654, 0.2208, 0.1437, 0.1701},
21529 {0.1821, 0.4217, 0.0741, 0.3222},
21530 {0.3700, 0.1256, 0.2546, 0.2497},
21531 {0.0673, 0.2666, 0.1321, 0.5340}},
21532 {
21533 {0.4027, 0.2003, 0.1420, 0.2549},
21534 {0.2195, 0.1230, 0.1568, 0.5007},
21535 {0.3393, 0.1109, 0.1094, 0.4403},
21536 {0.0556, 0.2100, 0.3161, 0.4184}},
21537 {
21538 {0.3528, 0.1439, 0.2717, 0.2315},
21539 {0.5121, 0.1460, 0.2443, 0.0975},
21540 {0.3791, 0.2064, 0.2486, 0.1659},
21541 {0.2228, 0.1654, 0.3835, 0.2283}},
21542 {
21543 {0.5149, 0.0713, 0.0988, 0.3151},
21544 {0.2444, 0.3103, 0.0949, 0.3503},
21545 {0.3923, 0.1853, 0.1573, 0.2651},
21546 {0.1257, 0.3297, 0.0438, 0.5008}},
21547 {
21548 {0.3441, 0.2232, 0.1136, 0.3192},
21549 {0.1235, 0.0808, 0.2860, 0.5097},
21550 {0.3041, 0.2371, 0.1621, 0.2966},
21551 {0.1910, 0.1926, 0.1895, 0.4269}},
21552 {
21553 {0.2610, 0.0971, 0.3745, 0.2674},
21554 {0.3798, 0.0862, 0.2612, 0.2728},
21555 {0.3591, 0.0943, 0.2278, 0.3189},
21556 {0.2066, 0.1658, 0.3810, 0.2466}},
21557 {
21558 {0.3642, 0.1790, 0.1108, 0.3459},
21559 {0.3409, 0.3275, 0.1312, 0.2004},
21560 {0.4955, 0.2269, 0.1997, 0.0779},
21561 {0.0890, 0.3625, 0.1266, 0.4219}},
21562 {
21563 {0.3649, 0.1205, 0.1955, 0.3190},
21564 {0.2515, 0.2483, 0.0000, 0.5003},
21565 {0.1613, 0.1577, 0.2243, 0.4567},
21566 {0.0948, 0.2801, 0.1887, 0.4364}},
21567 {
21568 {0.4781, 0.1073, 0.2052, 0.2094},
21569 {0.3160, 0.2017, 0.1198, 0.3624},
21570 {0.2281, 0.3230, 0.3938, 0.0551},
21571 {0.1772, 0.2746, 0.3155, 0.2328}},
21572 {
21573 {0.1684, 0.3159, 0.1435, 0.3722},
21574 {0.2914, 0.2112, 0.3166, 0.1807},
21575 {0.4655, 0.2922, 0.0923, 0.1500},
21576 {0.0705, 0.2179, 0.1445, 0.5672}},
21577 {
21578 {0.2904, 0.1651, 0.2277, 0.3167},
21579 {0.2189, 0.2208, 0.0328, 0.5275},
21580 {0.2826, 0.1463, 0.0961, 0.4750},
21581 {0.2262, 0.1506, 0.2339, 0.3893}}},
21582
21583 { /* Splice_Site: Fi_GT; Species: Yeast */
21584 {
21585 {0.3963, 0.3963, 0.3963, 0.3963},
21586 {0.1638, 0.1638, 0.1638, 0.1638},
21587 {0.1861, 0.1861, 0.1861, 0.1861},
21588 {0.2538, 0.2538, 0.2538, 0.2538}},
21589 {
21590 {0.3323, 0.1409, 0.1953, 0.3314},
21591 {0.4059, 0.0666, 0.1009, 0.4265},
21592 {0.2918, 0.1182, 0.3201, 0.2699},
21593 {0.2817, 0.1336, 0.2122, 0.3725}},
21594 {
21595 {0.2520, 0.1662, 0.1836, 0.3981},
21596 {0.2754, 0.2251, 0.3605, 0.1390},
21597 {0.5036, 0.1919, 0.1029, 0.2016},
21598 {0.2573, 0.0461, 0.3035, 0.3931}},
21599 {
21600 {0.2483, 0.1928, 0.1780, 0.3809},
21601 {0.3590, 0.2774, 0.1621, 0.2015},
21602 {0.2550, 0.1410, 0.2644, 0.3396},
21603 {0.1712, 0.1500, 0.2362, 0.4425}},
21604 {
21605 {0.3237, 0.1370, 0.2263, 0.3131},
21606 {0.3382, 0.2439, 0.1774, 0.2404},
21607 {0.2876, 0.1519, 0.1026, 0.4578},
21608 {0.1902, 0.0613, 0.2904, 0.4581}},
21609 {
21610 {0.3672, 0.1422, 0.2440, 0.2466},
21611 {0.3698, 0.0397, 0.2555, 0.3350},
21612 {0.2873, 0.1542, 0.1274, 0.4312},
21613 {0.2877, 0.1103, 0.1588, 0.4431}},
21614 {
21615 {0.3655, 0.1551, 0.2024, 0.2770},
21616 {0.3118, 0.1370, 0.1779, 0.3733},
21617 {0.2356, 0.1430, 0.3593, 0.2621},
21618 {0.2204, 0.1355, 0.2619, 0.3822}},
21619 {
21620 {0.2289, 0.0754, 0.2016, 0.4941},
21621 {0.4143, 0.1511, 0.1243, 0.3104},
21622 {0.3848, 0.1306, 0.2135, 0.2710},
21623 {0.1739, 0.1022, 0.2342, 0.4897}},
21624 {
21625 {0.4106, 0.1575, 0.0764, 0.3555},
21626 {0.3495, 0.3037, 0.1033, 0.2435},
21627 {0.2942, 0.1881, 0.2457, 0.2721},
21628 {0.2849, 0.1804, 0.2407, 0.2940}},
21629 {
21630 {0.2379, 0.1655, 0.2357, 0.3609},
21631 {0.4099, 0.2704, 0.1425, 0.1772},
21632 {0.2125, 0.0892, 0.1881, 0.5102},
21633 {0.2207, 0.1678, 0.2035, 0.4080}},
21634 {
21635 {0.3350, 0.1874, 0.1562, 0.3215},
21636 {0.3860, 0.1970, 0.1605, 0.2566},
21637 {0.2514, 0.2215, 0.1746, 0.3525},
21638 {0.2947, 0.2065, 0.1320, 0.3668}},
21639 {
21640 {0.3332, 0.1198, 0.2491, 0.2979},
21641 {0.3743, 0.2154, 0.2216, 0.1886},
21642 {0.4561, 0.1791, 0.1443, 0.2205},
21643 {0.2872, 0.1275, 0.2121, 0.3732}},
21644 {
21645 {0.3395, 0.1421, 0.2889, 0.2295},
21646 {0.1496, 0.3120, 0.2169, 0.3215},
21647 {0.3341, 0.3058, 0.1845, 0.1756},
21648 {0.1850, 0.1743, 0.2041, 0.4366}},
21649 {
21650 {0.4164, 0.2223, 0.1266, 0.2348},
21651 {0.3378, 0.2550, 0.1024, 0.3049},
21652 {0.3520, 0.1608, 0.1264, 0.3608},
21653 {0.1338, 0.2817, 0.2791, 0.3054}},
21654 {
21655 {0.3839, 0.0707, 0.2392, 0.3061},
21656 {0.3015, 0.1888, 0.2048, 0.3049},
21657 {0.3512, 0.1325, 0.2108, 0.3055},
21658 {0.2998, 0.2248, 0.2367, 0.2387}},
21659 {
21660 {0.4092, 0.0987, 0.1645, 0.3275},
21661 {0.3594, 0.1442, 0.2476, 0.2489},
21662 {0.4149, 0.0974, 0.1907, 0.2970},
21663 {0.1926, 0.1347, 0.2697, 0.4030}},
21664 {
21665 {0.2832, 0.1644, 0.2630, 0.2894},
21666 {0.3786, 0.0483, 0.2387, 0.3343},
21667 {0.2329, 0.3127, 0.0754, 0.3790},
21668 {0.2828, 0.1111, 0.2008, 0.4053}},
21669 {
21670 {0.3673, 0.0563, 0.2335, 0.3429},
21671 {0.2967, 0.1933, 0.2017, 0.3083},
21672 {0.3326, 0.0837, 0.2455, 0.3382},
21673 {0.2619, 0.0947, 0.2341, 0.4092}},
21674 {
21675 {0.3133, 0.2168, 0.1883, 0.2816},
21676 {0.3917, 0.1056, 0.3335, 0.1692},
21677 {0.2379, 0.0736, 0.3735, 0.3150},
21678 {0.1870, 0.1061, 0.2944, 0.4125}},
21679 {
21680 {0.3163, 0.1926, 0.1701, 0.3209},
21681 {0.1631, 0.1693, 0.3699, 0.2977},
21682 {0.4035, 0.1939, 0.1205, 0.2821},
21683 {0.3869, 0.1334, 0.1587, 0.3210}},
21684 {
21685 {0.3374, 0.2237, 0.1874, 0.2515},
21686 {0.2266, 0.0977, 0.2836, 0.3921},
21687 {0.4140, 0.2393, 0.1226, 0.2241},
21688 {0.3761, 0.1974, 0.1777, 0.2487}},
21689 {
21690 {0.3933, 0.0647, 0.1589, 0.3830},
21691 {0.3531, 0.1104, 0.1749, 0.3616},
21692 {0.1430, 0.1980, 0.2598, 0.3992},
21693 {0.2698, 0.1451, 0.2852, 0.2999}},
21694 {
21695 {0.4241, 0.1624, 0.1442, 0.2694},
21696 {0.3605, 0.1802, 0.2363, 0.2230},
21697 {0.2035, 0.1782, 0.2762, 0.3422},
21698 {0.3483, 0.1549, 0.1932, 0.3036}},
21699 {
21700 {0.3250, 0.2701, 0.0962, 0.3087},
21701 {0.1681, 0.2710, 0.1976, 0.3633},
21702 {0.2989, 0.1079, 0.1089, 0.4843},
21703 {0.2495, 0.1697, 0.2582, 0.3226}},
21704 {
21705 {0.3054, 0.1278, 0.2049, 0.3620},
21706 {0.2915, 0.1595, 0.1584, 0.3907},
21707 {0.3046, 0.1687, 0.1911, 0.3356},
21708 {0.3732, 0.1086, 0.1972, 0.3210}},
21709 {
21710 {0.4237, 0.2351, 0.1201, 0.2211},
21711 {0.5412, 0.0424, 0.0878, 0.3286},
21712 {0.4906, 0.0567, 0.1394, 0.3133},
21713 {0.2496, 0.2194, 0.2295, 0.3015}},
21714 {
21715 {0.2622, 0.1005, 0.2222, 0.4151},
21716 {0.2846, 0.3284, 0.2221, 0.1648},
21717 {0.3058, 0.1716, 0.2048, 0.3178},
21718 {0.2520, 0.1571, 0.2006, 0.3903}},
21719 {
21720 {0.3568, 0.1220, 0.2238, 0.2974},
21721 {0.2732, 0.2900, 0.0991, 0.3377},
21722 {0.3623, 0.1018, 0.2818, 0.2541},
21723 {0.1721, 0.1932, 0.1925, 0.4422}},
21724 {
21725 {0.3072, 0.1180, 0.1971, 0.3776},
21726 {0.4495, 0.1269, 0.2659, 0.1577},
21727 {0.3493, 0.1082, 0.2694, 0.2731},
21728 {0.2059, 0.2530, 0.1443, 0.3968}},
21729 {
21730 {0.5020, 0.1219, 0.1059, 0.2702},
21731 {0.3644, 0.1591, 0.1328, 0.3438},
21732 {0.3223, 0.3039, 0.0810, 0.2927},
21733 {0.2181, 0.2583, 0.1687, 0.3550}},
21734 {
21735 {0.3632, 0.1096, 0.1715, 0.3557},
21736 {0.2914, 0.1584, 0.1888, 0.3615},
21737 {0.3888, 0.2630, 0.2153, 0.1330},
21738 {0.3023, 0.1169, 0.1923, 0.3885}},
21739 {
21740 {0.1972, 0.1670, 0.2771, 0.3586},
21741 {0.4626, 0.0773, 0.1897, 0.2703},
21742 {0.4387, 0.1198, 0.1489, 0.2926},
21743 {0.1931, 0.1804, 0.2213, 0.4053}},
21744 {
21745 {0.4694, 0.1738, 0.1196, 0.2372},
21746 {0.2162, 0.0801, 0.2990, 0.4047},
21747 {0.3359, 0.1995, 0.1250, 0.3396},
21748 {0.1935, 0.1558, 0.1409, 0.5098}},
21749 {
21750 {0.4133, 0.0896, 0.1413, 0.3559},
21751 {0.3192, 0.1632, 0.0685, 0.4491},
21752 {0.2587, 0.2035, 0.0714, 0.4664},
21753 {0.1822, 0.1157, 0.2773, 0.4248}},
21754 {
21755 {0.1393, 0.1764, 0.2847, 0.3996},
21756 {0.4130, 0.1677, 0.2089, 0.2104},
21757 {0.3813, 0.1323, 0.2600, 0.2264},
21758 {0.2421, 0.2247, 0.2515, 0.2818}},
21759 {
21760 {0.4488, 0.0679, 0.1491, 0.3342},
21761 {0.2882, 0.0890, 0.1729, 0.4499},
21762 {0.2346, 0.2760, 0.0855, 0.4039},
21763 {0.2996, 0.1424, 0.1259, 0.4320}},
21764 {
21765 {0.3135, 0.2071, 0.1731, 0.3064},
21766 {0.2573, 0.2287, 0.1501, 0.3639},
21767 {0.3346, 0.2137, 0.0795, 0.3722},
21768 {0.1904, 0.1646, 0.1667, 0.4784}},
21769 {
21770 {0.2993, 0.1543, 0.1940, 0.3524},
21771 {0.1999, 0.2307, 0.1931, 0.3762},
21772 {0.3893, 0.1450, 0.1463, 0.3194},
21773 {0.2507, 0.1540, 0.2075, 0.3877}},
21774 {
21775 {0.3195, 0.1396, 0.2180, 0.3229},
21776 {0.3644, 0.1009, 0.1655, 0.3692},
21777 {0.3816, 0.0564, 0.1747, 0.3873},
21778 {0.3129, 0.1230, 0.1947, 0.3694}},
21779 {
21780 {0.3648, 0.1959, 0.1291, 0.3103},
21781 {0.2547, 0.2963, 0.0972, 0.3519},
21782 {0.2859, 0.0276, 0.2027, 0.4839},
21783 {0.1827, 0.1698, 0.2438, 0.4037}},
21784 {
21785 {0.3460, 0.1675, 0.1623, 0.3242},
21786 {0.2651, 0.2336, 0.2002, 0.3011},
21787 {0.2479, 0.1741, 0.1258, 0.4523},
21788 {0.2724, 0.1537, 0.1952, 0.3786}},
21789 {
21790 {0.4811, 0.1529, 0.1163, 0.2497},
21791 {0.5282, 0.2511, 0.0310, 0.1897},
21792 {0.4417, 0.1501, 0.1258, 0.2824},
21793 {0.2713, 0.0918, 0.1674, 0.4694}},
21794 {
21795 {0.3026, 0.2282, 0.1457, 0.3235},
21796 {0.4111, 0.1813, 0.0820, 0.3256},
21797 {0.3201, 0.2744, 0.1815, 0.2240},
21798 {0.1987, 0.1911, 0.0669, 0.5434}},
21799 {
21800 {0.3087, 0.1862, 0.2291, 0.2759},
21801 {0.2571, 0.1570, 0.0753, 0.5105},
21802 {0.5197, 0.0972, 0.1480, 0.2351},
21803 {0.2793, 0.1271, 0.2514, 0.3422}},
21804 {
21805 {0.4326, 0.1406, 0.1233, 0.3035},
21806 {0.3763, 0.2248, 0.1785, 0.2204},
21807 {0.1464, 0.2994, 0.1894, 0.3648},
21808 {0.2344, 0.1931, 0.1865, 0.3860}},
21809 {
21810 {0.3264, 0.1980, 0.2169, 0.2587},
21811 {0.3863, 0.1373, 0.0819, 0.3944},
21812 {0.2838, 0.0652, 0.1645, 0.4865},
21813 {0.1661, 0.1858, 0.1667, 0.4814}},
21814 {
21815 {0.4122, 0.1344, 0.2524, 0.2010},
21816 {0.4142, 0.1043, 0.1690, 0.3125},
21817 {0.2900, 0.2046, 0.3347, 0.1707},
21818 {0.2321, 0.1813, 0.2738, 0.3128}},
21819 {
21820 {0.3755, 0.1539, 0.2010, 0.2696},
21821 {0.3095, 0.1427, 0.1371, 0.4108},
21822 {0.1928, 0.1065, 0.1405, 0.5602},
21823 {0.2958, 0.1967, 0.1713, 0.3362}},
21824 {
21825 {0.2740, 0.2604, 0.2296, 0.2360},
21826 {0.2227, 0.2220, 0.2952, 0.2600},
21827 {0.2869, 0.0653, 0.2268, 0.4210},
21828 {0.3953, 0.0845, 0.2254, 0.2949}},
21829 {
21830 {0.4248, 0.1545, 0.1235, 0.2971},
21831 {0.3097, 0.1848, 0.1073, 0.3982},
21832 {0.4369, 0.1130, 0.1410, 0.3091},
21833 {0.1699, 0.1174, 0.2601, 0.4526}},
21834 {
21835 {0.0000, 0.0000, 1.0000, 0.0000},
21836 {0.0000, 0.0000, 1.0000, 0.0000},
21837 {0.0000, 0.0000, 1.0000, 0.0000},
21838 {0.0000, 0.0000, 1.0000, 0.0000}},
21839 {
21840 {0.0000, 0.0000, 0.0000, 0.0000},
21841 {0.0000, 0.0000, 0.0000, 0.0000},
21842 {0.0000, 0.0000, 0.0000, 1.0000},
21843 {0.0000, 0.0000, 0.0000, 0.0000}},
21844 {
21845 {0.0000, 0.0000, 0.0000, 0.0000},
21846 {0.0000, 0.0000, 0.0000, 0.0000},
21847 {0.0000, 0.0000, 0.0000, 0.0000},
21848 {0.2532, 0.1601, 0.1658, 0.4208}},
21849 {
21850 {0.2633, 0.2189, 0.1766, 0.3411},
21851 {0.3831, 0.1389, 0.1012, 0.3768},
21852 {0.2048, 0.2325, 0.1598, 0.4029},
21853 {0.2464, 0.1586, 0.1038, 0.4912}},
21854 {
21855 {0.3391, 0.1467, 0.1844, 0.3297},
21856 {0.3589, 0.0664, 0.1203, 0.4544},
21857 {0.3770, 0.1636, 0.1224, 0.3369},
21858 {0.2207, 0.2047, 0.1134, 0.4613}},
21859 {
21860 {0.2577, 0.1654, 0.1881, 0.3889},
21861 {0.5562, 0.2389, 0.0383, 0.1666},
21862 {0.3614, 0.0000, 0.2792, 0.3595},
21863 {0.3020, 0.1198, 0.1452, 0.4330}},
21864 {
21865 {0.3499, 0.1630, 0.1442, 0.3429},
21866 {0.3230, 0.1546, 0.1645, 0.3578},
21867 {0.3430, 0.1716, 0.2049, 0.2805},
21868 {0.2730, 0.1927, 0.1774, 0.3569}},
21869 {
21870 {0.3324, 0.1923, 0.1932, 0.2822},
21871 {0.3064, 0.1599, 0.2176, 0.3160},
21872 {0.3166, 0.2215, 0.1300, 0.3320},
21873 {0.1942, 0.1634, 0.1137, 0.5287}},
21874 {
21875 {0.3069, 0.1365, 0.1751, 0.3816},
21876 {0.4232, 0.1516, 0.0914, 0.3339},
21877 {0.2743, 0.2041, 0.2411, 0.2805},
21878 {0.3142, 0.1040, 0.1458, 0.4360}},
21879 {
21880 {0.3395, 0.1144, 0.2285, 0.3176},
21881 {0.2812, 0.2054, 0.2257, 0.2878},
21882 {0.3797, 0.1967, 0.0698, 0.3538},
21883 {0.2637, 0.1152, 0.2089, 0.4122}},
21884 {
21885 {0.2634, 0.2340, 0.2121, 0.2904},
21886 {0.3506, 0.1142, 0.1897, 0.3456},
21887 {0.5569, 0.1965, 0.1131, 0.1335},
21888 {0.2545, 0.1367, 0.2009, 0.4079}},
21889 {
21890 {0.2682, 0.1336, 0.1478, 0.4503},
21891 {0.2459, 0.1521, 0.2245, 0.3776},
21892 {0.3503, 0.2651, 0.1797, 0.2049},
21893 {0.1969, 0.0920, 0.2497, 0.4614}},
21894 {
21895 {0.3801, 0.0860, 0.1687, 0.3653},
21896 {0.2925, 0.1814, 0.1896, 0.3365},
21897 {0.3923, 0.1358, 0.1950, 0.2769},
21898 {0.2470, 0.2101, 0.1789, 0.3640}},
21899 {
21900 {0.3248, 0.0682, 0.2584, 0.3486},
21901 {0.2383, 0.2442, 0.1447, 0.3728},
21902 {0.3315, 0.2760, 0.1219, 0.2705},
21903 {0.2913, 0.1118, 0.1938, 0.4031}},
21904 {
21905 {0.2580, 0.1804, 0.1439, 0.4178},
21906 {0.2570, 0.1802, 0.1522, 0.4106},
21907 {0.4913, 0.1377, 0.0826, 0.2884},
21908 {0.2992, 0.1080, 0.2002, 0.3926}},
21909 {
21910 {0.4913, 0.1764, 0.1253, 0.2070},
21911 {0.1772, 0.1826, 0.1866, 0.4536},
21912 {0.2884, 0.1775, 0.1040, 0.4301},
21913 {0.1716, 0.1568, 0.2748, 0.3968}},
21914 {
21915 {0.2222, 0.1718, 0.2243, 0.3817},
21916 {0.4215, 0.1594, 0.1358, 0.2833},
21917 {0.2906, 0.2063, 0.1188, 0.3843},
21918 {0.2061, 0.1460, 0.1404, 0.5075}},
21919 {
21920 {0.3528, 0.1058, 0.2749, 0.2665},
21921 {0.3911, 0.0662, 0.1003, 0.4424},
21922 {0.4237, 0.1656, 0.1018, 0.3090},
21923 {0.2134, 0.1886, 0.1876, 0.4104}},
21924 {
21925 {0.4043, 0.1737, 0.2098, 0.2121},
21926 {0.3972, 0.1487, 0.2226, 0.2315},
21927 {0.3608, 0.2464, 0.1177, 0.2750},
21928 {0.2279, 0.1645, 0.2161, 0.3916}},
21929 {
21930 {0.2523, 0.1491, 0.2488, 0.3498},
21931 {0.2749, 0.1247, 0.0884, 0.5119},
21932 {0.4203, 0.1910, 0.1442, 0.2445},
21933 {0.2825, 0.1353, 0.2105, 0.3717}},
21934 {
21935 {0.4265, 0.0360, 0.1480, 0.3895},
21936 {0.3355, 0.1429, 0.1870, 0.3346},
21937 {0.3428, 0.1505, 0.2431, 0.2636},
21938 {0.2347, 0.2520, 0.1652, 0.3481}},
21939 {
21940 {0.2509, 0.1973, 0.1894, 0.3624},
21941 {0.4303, 0.1459, 0.1404, 0.2833},
21942 {0.2908, 0.2395, 0.1547, 0.3150},
21943 {0.2080, 0.1618, 0.1474, 0.4828}},
21944 {
21945 {0.4307, 0.1403, 0.1839, 0.2451},
21946 {0.4679, 0.2116, 0.1129, 0.2076},
21947 {0.3819, 0.2392, 0.0704, 0.3085},
21948 {0.2133, 0.1149, 0.1591, 0.5128}},
21949 {
21950 {0.3170, 0.1408, 0.2007, 0.3414},
21951 {0.2679, 0.1075, 0.2012, 0.4234},
21952 {0.3062, 0.2685, 0.1515, 0.2739},
21953 {0.2840, 0.1211, 0.2377, 0.3572}},
21954 {
21955 {0.4233, 0.1651, 0.1098, 0.3019},
21956 {0.2304, 0.2611, 0.1083, 0.4001},
21957 {0.3077, 0.2335, 0.2671, 0.1917},
21958 {0.3203, 0.1432, 0.1881, 0.3483}},
21959 {
21960 {0.3457, 0.1299, 0.1670, 0.3574},
21961 {0.1734, 0.3019, 0.1482, 0.3765},
21962 {0.3845, 0.2233, 0.1987, 0.1934},
21963 {0.3210, 0.1797, 0.1052, 0.3941}},
21964 {
21965 {0.3295, 0.2297, 0.0511, 0.3897},
21966 {0.2236, 0.2812, 0.0908, 0.4045},
21967 {0.3701, 0.0388, 0.2215, 0.3696},
21968 {0.2233, 0.1252, 0.1405, 0.5109}},
21969 {
21970 {0.3392, 0.2152, 0.1322, 0.3134},
21971 {0.3533, 0.1563, 0.2148, 0.2756},
21972 {0.2464, 0.1936, 0.1398, 0.4201},
21973 {0.2418, 0.2048, 0.1647, 0.3887}},
21974 {
21975 {0.4165, 0.0781, 0.1943, 0.3111},
21976 {0.3339, 0.1399, 0.1400, 0.3862},
21977 {0.3639, 0.2002, 0.1344, 0.3014},
21978 {0.2455, 0.1250, 0.1768, 0.4527}},
21979 {
21980 {0.3424, 0.1143, 0.1668, 0.3765},
21981 {0.2206, 0.1327, 0.2131, 0.4337},
21982 {0.2750, 0.3278, 0.1955, 0.2017},
21983 {0.2853, 0.1782, 0.2031, 0.3334}},
21984 {
21985 {0.2650, 0.1321, 0.2261, 0.3768},
21986 {0.4049, 0.0905, 0.0902, 0.4144},
21987 {0.2345, 0.3396, 0.1663, 0.2596},
21988 {0.3184, 0.1303, 0.2241, 0.3271}},
21989 {
21990 {0.3314, 0.2314, 0.1508, 0.2865},
21991 {0.3357, 0.1675, 0.0632, 0.4335},
21992 {0.3136, 0.1988, 0.1726, 0.3151},
21993 {0.2420, 0.2568, 0.1290, 0.3722}},
21994 {
21995 {0.4242, 0.1837, 0.2079, 0.1842},
21996 {0.1721, 0.2219, 0.2626, 0.3434},
21997 {0.1742, 0.1709, 0.2410, 0.4140},
21998 {0.2711, 0.0601, 0.1422, 0.5266}},
21999 {
22000 {0.4500, 0.2127, 0.1170, 0.2203},
22001 {0.2898, 0.0752, 0.2211, 0.4139},
22002 {0.3249, 0.2141, 0.2214, 0.2396},
22003 {0.2388, 0.1459, 0.1925, 0.4227}},
22004 {
22005 {0.3418, 0.1879, 0.0859, 0.3845},
22006 {0.2952, 0.0614, 0.2589, 0.3845},
22007 {0.2713, 0.1837, 0.1848, 0.3602},
22008 {0.2395, 0.1014, 0.1850, 0.4741}},
22009 {
22010 {0.3407, 0.1831, 0.1729, 0.3032},
22011 {0.1586, 0.1205, 0.1975, 0.5234},
22012 {0.4321, 0.1315, 0.0995, 0.3370},
22013 {0.2523, 0.1707, 0.2000, 0.3770}},
22014 {
22015 {0.3970, 0.2032, 0.1609, 0.2390},
22016 {0.3022, 0.2789, 0.2124, 0.2065},
22017 {0.4075, 0.1874, 0.0959, 0.3091},
22018 {0.1784, 0.1939, 0.1375, 0.4902}},
22019 {
22020 {0.2738, 0.3116, 0.1450, 0.2695},
22021 {0.2957, 0.2377, 0.1820, 0.2845},
22022 {0.2193, 0.1933, 0.1849, 0.4025},
22023 {0.2548, 0.2088, 0.1423, 0.3941}},
22024 {
22025 {0.3498, 0.2650, 0.1735, 0.2117},
22026 {0.1831, 0.1768, 0.2384, 0.4017},
22027 {0.3138, 0.3067, 0.0730, 0.3064},
22028 {0.2446, 0.1782, 0.1307, 0.4465}},
22029 {
22030 {0.2684, 0.1211, 0.2208, 0.3897},
22031 {0.4161, 0.0981, 0.1237, 0.3620},
22032 {0.2418, 0.1781, 0.2955, 0.2847},
22033 {0.3140, 0.1747, 0.1251, 0.3862}},
22034 {
22035 {0.3019, 0.1787, 0.2068, 0.3126},
22036 {0.3874, 0.1903, 0.1524, 0.2699},
22037 {0.3371, 0.1249, 0.2164, 0.3216},
22038 {0.2429, 0.1869, 0.1462, 0.4240}},
22039 {
22040 {0.2966, 0.1486, 0.2172, 0.3376},
22041 {0.2751, 0.1228, 0.1869, 0.4151},
22042 {0.2428, 0.3610, 0.1190, 0.2771},
22043 {0.2696, 0.2072, 0.1418, 0.3814}},
22044 {
22045 {0.4022, 0.1383, 0.2236, 0.2359},
22046 {0.3189, 0.1630, 0.1357, 0.3823},
22047 {0.2590, 0.3605, 0.1281, 0.2524},
22048 {0.2872, 0.1380, 0.2080, 0.3668}},
22049 {
22050 {0.4384, 0.1558, 0.1657, 0.2402},
22051 {0.2785, 0.2475, 0.1184, 0.3556},
22052 {0.2414, 0.3362, 0.1514, 0.2710},
22053 {0.2776, 0.0696, 0.1938, 0.4590}},
22054 {
22055 {0.3210, 0.1702, 0.1199, 0.3889},
22056 {0.2157, 0.1563, 0.0880, 0.5400},
22057 {0.1971, 0.2039, 0.1381, 0.4609},
22058 {0.3286, 0.1873, 0.1277, 0.3564}},
22059 {
22060 {0.4258, 0.1131, 0.1347, 0.3264},
22061 {0.2393, 0.1526, 0.1827, 0.4254},
22062 {0.2254, 0.2782, 0.1301, 0.3664},
22063 {0.2671, 0.1736, 0.1301, 0.4291}},
22064 {
22065 {0.3862, 0.1446, 0.1990, 0.2702},
22066 {0.3002, 0.1615, 0.1318, 0.4064},
22067 {0.3604, 0.1939, 0.1465, 0.2992},
22068 {0.2205, 0.1379, 0.2378, 0.4039}},
22069 {
22070 {0.3204, 0.1085, 0.2584, 0.3126},
22071 {0.3219, 0.2162, 0.2506, 0.2113},
22072 {0.2533, 0.2774, 0.1666, 0.3028},
22073 {0.2557, 0.1731, 0.2210, 0.3502}},
22074 {
22075 {0.3719, 0.1342, 0.1918, 0.3021},
22076 {0.3033, 0.1233, 0.3032, 0.2701},
22077 {0.4178, 0.1172, 0.2196, 0.2455},
22078 {0.1561, 0.1584, 0.2531, 0.4323}},
22079 {
22080 {0.4411, 0.1473, 0.2121, 0.1995},
22081 {0.3649, 0.1543, 0.2419, 0.2389},
22082 {0.3287, 0.1336, 0.2592, 0.2785},
22083 {0.2161, 0.1555, 0.3268, 0.3017}},
22084 {
22085 {0.3180, 0.2023, 0.1858, 0.2939},
22086 {0.2556, 0.0708, 0.0718, 0.6018},
22087 {0.3759, 0.0638, 0.2929, 0.2673},
22088 {0.1700, 0.1710, 0.1942, 0.4647}},
22089 {
22090 {0.4243, 0.0564, 0.2362, 0.2831},
22091 {0.3264, 0.1592, 0.1558, 0.3586},
22092 {0.3366, 0.3324, 0.0868, 0.2442},
22093 {0.1887, 0.2649, 0.1595, 0.3869}}
22094 }},
22095 {
22096 { /* Splice_Site: T1_GT; Species: Asper */
22097 {
22098 {0.2647, 0.2647, 0.2647, 0.2647},
22099 {0.2672, 0.2672, 0.2672, 0.2672},
22100 {0.1583, 0.1583, 0.1583, 0.1583},
22101 {0.3098, 0.3098, 0.3098, 0.3098}},
22102 {
22103 {0.1709, 0.3087, 0.2678, 0.2526},
22104 {0.1747, 0.3620, 0.2735, 0.1898},
22105 {0.1740, 0.3734, 0.1424, 0.3102},
22106 {0.0265, 0.4118, 0.3360, 0.2257}},
22107 {
22108 {0.2948, 0.3182, 0.1396, 0.2474},
22109 {0.2741, 0.2027, 0.3775, 0.1457},
22110 {0.2189, 0.2509, 0.4432, 0.0869},
22111 {0.1171, 0.3090, 0.4933, 0.0806}},
22112 {
22113 {0.2429, 0.2179, 0.1443, 0.3950},
22114 {0.3475, 0.3147, 0.1243, 0.2134},
22115 {0.2410, 0.3479, 0.2529, 0.1582},
22116 {0.0741, 0.3561, 0.1008, 0.4689}},
22117 {
22118 {0.0705, 0.3596, 0.4267, 0.1432},
22119 {0.1321, 0.4028, 0.1599, 0.3051},
22120 {0.1621, 0.4084, 0.1810, 0.2485},
22121 {0.0502, 0.3429, 0.3153, 0.2915}},
22122 {
22123 {0.4566, 0.0440, 0.3121, 0.1872},
22124 {0.3285, 0.1772, 0.2536, 0.2408},
22125 {0.3114, 0.0628, 0.4111, 0.2146},
22126 {0.1788, 0.2671, 0.3914, 0.1626}},
22127 {
22128 {0.2726, 0.2643, 0.1235, 0.3395},
22129 {0.2274, 0.2476, 0.2364, 0.2886},
22130 {0.2670, 0.4080, 0.1401, 0.1850},
22131 {0.1478, 0.3052, 0.0848, 0.4622}},
22132 {
22133 {0.0548, 0.2646, 0.3640, 0.3167},
22134 {0.1406, 0.5030, 0.0852, 0.2712},
22135 {0.2756, 0.3348, 0.3204, 0.0692},
22136 {0.0716, 0.3777, 0.2188, 0.3319}},
22137 {
22138 {0.3047, 0.1988, 0.1853, 0.3113},
22139 {0.2622, 0.2276, 0.3066, 0.2036},
22140 {0.3312, 0.2981, 0.3114, 0.0594},
22141 {0.2040, 0.1970, 0.4179, 0.1811}},
22142 {
22143 {0.2574, 0.3638, 0.0994, 0.2794},
22144 {0.2950, 0.2139, 0.1760, 0.3152},
22145 {0.3984, 0.2748, 0.1586, 0.1681},
22146 {0.2024, 0.1532, 0.1291, 0.5153}},
22147 {
22148 {0.1571, 0.2262, 0.3778, 0.2389},
22149 {0.1541, 0.4116, 0.2630, 0.1714},
22150 {0.0979, 0.5174, 0.1977, 0.1870},
22151 {0.0778, 0.3534, 0.2871, 0.2817}},
22152 {
22153 {0.2555, 0.2515, 0.3817, 0.1114},
22154 {0.3767, 0.2186, 0.3016, 0.1030},
22155 {0.3297, 0.2482, 0.2534, 0.1686},
22156 {0.2580, 0.1614, 0.4386, 0.1420}},
22157 {
22158 {0.4417, 0.2439, 0.1551, 0.1593},
22159 {0.3753, 0.1434, 0.1870, 0.2942},
22160 {0.4720, 0.2496, 0.2242, 0.0543},
22161 {0.2028, 0.2378, 0.2066, 0.3528}},
22162 {
22163 {0.1642, 0.2854, 0.3164, 0.2340},
22164 {0.1645, 0.2619, 0.2490, 0.3245},
22165 {0.1667, 0.4295, 0.1247, 0.2792},
22166 {0.0754, 0.4007, 0.2585, 0.2654}},
22167 {
22168 {0.2777, 0.1279, 0.4448, 0.1496},
22169 {0.3294, 0.2045, 0.3689, 0.0972},
22170 {0.3747, 0.2067, 0.2734, 0.1452},
22171 {0.1510, 0.1855, 0.5449, 0.1186}},
22172 {
22173 {0.4089, 0.2261, 0.1129, 0.2521},
22174 {0.2701, 0.3182, 0.1449, 0.2668},
22175 {0.2779, 0.2597, 0.2578, 0.2046},
22176 {0.0742, 0.3682, 0.1761, 0.3815}},
22177 {
22178 {0.0973, 0.2622, 0.2954, 0.3451},
22179 {0.2136, 0.3013, 0.3009, 0.1842},
22180 {0.0988, 0.2648, 0.1911, 0.4453},
22181 {0.0758, 0.4737, 0.2731, 0.1775}},
22182 {
22183 {0.1887, 0.0722, 0.4034, 0.3357},
22184 {0.2739, 0.2900, 0.2634, 0.1727},
22185 {0.2860, 0.1979, 0.3163, 0.1998},
22186 {0.1793, 0.2138, 0.4923, 0.1146}},
22187 {
22188 {0.3556, 0.1689, 0.0790, 0.3965},
22189 {0.3112, 0.1662, 0.2494, 0.2732},
22190 {0.2900, 0.2658, 0.1604, 0.2837},
22191 {0.1485, 0.4038, 0.0757, 0.3721}},
22192 {
22193 {0.1838, 0.3529, 0.2864, 0.1769},
22194 {0.1900, 0.2743, 0.2592, 0.2766},
22195 {0.2790, 0.2160, 0.2878, 0.2172},
22196 {0.0570, 0.4718, 0.3028, 0.1684}},
22197 {
22198 {0.2822, 0.1400, 0.4385, 0.1393},
22199 {0.3069, 0.1896, 0.3198, 0.1837},
22200 {0.4017, 0.2141, 0.2833, 0.1009},
22201 {0.2005, 0.1759, 0.4914, 0.1322}},
22202 {
22203 {0.3058, 0.2649, 0.1741, 0.2552},
22204 {0.3671, 0.0940, 0.0511, 0.4878},
22205 {0.3994, 0.3492, 0.1661, 0.0852},
22206 {0.3153, 0.1958, 0.2279, 0.2610}},
22207 {
22208 {0.1431, 0.3465, 0.2657, 0.2447},
22209 {0.1124, 0.3961, 0.1777, 0.3137},
22210 {0.1763, 0.4466, 0.1758, 0.2013},
22211 {0.0813, 0.4227, 0.2323, 0.2637}},
22212 {
22213 {0.2487, 0.1522, 0.3773, 0.2218},
22214 {0.1516, 0.3404, 0.3229, 0.1851},
22215 {0.2537, 0.2620, 0.2864, 0.1978},
22216 {0.3025, 0.1712, 0.3996, 0.1266}},
22217 {
22218 {0.3273, 0.1569, 0.0434, 0.4724},
22219 {0.2570, 0.1956, 0.1763, 0.3711},
22220 {0.4426, 0.1885, 0.1874, 0.1816},
22221 {0.2043, 0.3404, 0.0245, 0.4308}},
22222 {
22223 {0.1522, 0.3408, 0.3252, 0.1818},
22224 {0.1503, 0.2838, 0.1348, 0.4310},
22225 {0.3017, 0.2482, 0.1830, 0.2670},
22226 {0.0647, 0.4429, 0.2648, 0.2276}},
22227 {
22228 {0.2805, 0.1302, 0.3853, 0.2039},
22229 {0.2182, 0.1322, 0.3581, 0.2914},
22230 {0.2383, 0.1608, 0.3882, 0.2127},
22231 {0.2041, 0.1602, 0.4981, 0.1375}},
22232 {
22233 {0.2912, 0.2761, 0.0789, 0.3539},
22234 {0.1529, 0.1854, 0.2248, 0.4369},
22235 {0.3263, 0.3009, 0.2049, 0.1679},
22236 {0.1940, 0.2053, 0.2666, 0.3342}},
22237 {
22238 {0.0836, 0.3167, 0.3593, 0.2404},
22239 {0.1220, 0.3519, 0.1969, 0.3291},
22240 {0.1171, 0.2627, 0.1463, 0.4740},
22241 {0.0776, 0.3618, 0.2333, 0.3274}},
22242 {
22243 {0.1837, 0.1815, 0.4908, 0.1440},
22244 {0.2999, 0.1406, 0.3140, 0.2454},
22245 {0.2338, 0.2533, 0.4571, 0.0558},
22246 {0.2037, 0.1744, 0.5003, 0.1216}},
22247 {
22248 {0.3159, 0.1830, 0.1543, 0.3468},
22249 {0.2465, 0.2296, 0.0972, 0.4268},
22250 {0.3058, 0.2197, 0.2310, 0.2434},
22251 {0.2451, 0.2778, 0.2390, 0.2382}},
22252 {
22253 {0.1866, 0.2230, 0.3371, 0.2533},
22254 {0.1204, 0.2450, 0.2108, 0.4238},
22255 {0.2595, 0.3319, 0.1217, 0.2869},
22256 {0.0615, 0.3618, 0.3609, 0.2158}},
22257 {
22258 {0.2477, 0.1785, 0.5401, 0.0336},
22259 {0.2040, 0.2050, 0.2793, 0.3117},
22260 {0.2651, 0.1702, 0.3830, 0.1817},
22261 {0.1283, 0.1775, 0.5223, 0.1720}},
22262 {
22263 {0.4685, 0.1299, 0.0656, 0.3360},
22264 {0.1991, 0.2751, 0.2213, 0.3045},
22265 {0.3011, 0.3287, 0.1870, 0.1832},
22266 {0.1185, 0.3459, 0.3228, 0.2129}},
22267 {
22268 {0.1879, 0.3721, 0.2447, 0.1953},
22269 {0.1528, 0.2711, 0.2429, 0.3332},
22270 {0.1832, 0.3732, 0.2589, 0.1847},
22271 {0.0588, 0.3409, 0.3441, 0.2562}},
22272 {
22273 {0.0883, 0.2471, 0.3625, 0.3021},
22274 {0.2896, 0.1794, 0.2335, 0.2975},
22275 {0.2601, 0.1158, 0.4722, 0.1518},
22276 {0.1616, 0.2580, 0.4157, 0.1648}},
22277 {
22278 {0.4274, 0.1982, 0.0399, 0.3345},
22279 {0.1946, 0.1664, 0.3553, 0.2837},
22280 {0.2057, 0.3112, 0.3708, 0.1123},
22281 {0.1223, 0.2613, 0.1606, 0.4558}},
22282 {
22283 {0.0782, 0.3199, 0.3731, 0.2289},
22284 {0.1500, 0.3652, 0.1488, 0.3360},
22285 {0.1954, 0.4239, 0.2353, 0.1453},
22286 {0.0522, 0.5193, 0.1815, 0.2470}},
22287 {
22288 {0.1619, 0.1974, 0.4155, 0.2252},
22289 {0.3779, 0.1539, 0.3434, 0.1247},
22290 {0.3183, 0.1892, 0.2771, 0.2154},
22291 {0.2217, 0.2054, 0.4966, 0.0763}},
22292 {
22293 {0.3581, 0.2431, 0.0621, 0.3367},
22294 {0.2737, 0.4219, 0.1266, 0.1779},
22295 {0.3804, 0.1649, 0.2283, 0.2264},
22296 {0.1882, 0.2088, 0.0619, 0.5411}},
22297 {
22298 {0.1230, 0.3866, 0.2382, 0.2523},
22299 {0.0747, 0.2391, 0.3286, 0.3576},
22300 {0.4505, 0.2037, 0.1057, 0.2401},
22301 {0.0768, 0.4477, 0.2747, 0.2008}},
22302 {
22303 {0.3280, 0.2178, 0.1595, 0.2947},
22304 {0.2390, 0.1848, 0.1427, 0.4335},
22305 {0.2168, 0.2136, 0.4418, 0.1279},
22306 {0.1957, 0.3001, 0.4324, 0.0719}},
22307 {
22308 {0.3496, 0.2111, 0.1179, 0.3215},
22309 {0.4281, 0.2187, 0.1187, 0.2345},
22310 {0.3007, 0.2275, 0.3041, 0.1677},
22311 {0.3083, 0.1898, 0.2297, 0.2721}},
22312 {
22313 {0.0775, 0.2942, 0.2425, 0.3858},
22314 {0.0875, 0.3156, 0.2199, 0.3770},
22315 {0.1806, 0.3201, 0.2301, 0.2692},
22316 {0.0732, 0.3528, 0.2754, 0.2986}},
22317 {
22318 {0.1462, 0.2713, 0.4137, 0.1688},
22319 {0.2008, 0.2886, 0.3416, 0.1690},
22320 {0.3597, 0.2769, 0.2089, 0.1545},
22321 {0.0901, 0.1351, 0.5110, 0.2638}},
22322 {
22323 {0.3054, 0.2999, 0.1148, 0.2799},
22324 {0.3111, 0.2179, 0.1556, 0.3154},
22325 {0.3825, 0.2396, 0.1951, 0.1828},
22326 {0.2249, 0.3491, 0.1350, 0.2910}},
22327 {
22328 {0.1551, 0.4401, 0.2707, 0.1342},
22329 {0.3092, 0.2934, 0.1572, 0.2403},
22330 {0.1782, 0.4051, 0.1382, 0.2785},
22331 {0.0921, 0.4109, 0.1955, 0.3015}},
22332 {
22333 {0.3490, 0.2001, 0.2974, 0.1535},
22334 {0.4284, 0.1730, 0.2573, 0.1414},
22335 {0.3650, 0.3613, 0.2272, 0.0465},
22336 {0.2359, 0.2211, 0.3893, 0.1537}},
22337 {
22338 {0.4331, 0.3649, 0.0256, 0.1764},
22339 {0.2656, 0.1585, 0.2208, 0.3551},
22340 {0.6235, 0.1733, 0.1066, 0.0965},
22341 {0.0703, 0.3190, 0.3656, 0.2452}},
22342 {
22343 {0.0918, 0.1923, 0.5509, 0.1650},
22344 {0.0504, 0.1627, 0.4745, 0.3124},
22345 {0.1024, 0.0931, 0.4444, 0.3601},
22346 {0.0000, 0.1130, 0.5955, 0.2915}},
22347 {
22348 {0.0000, 0.0000, 1.0000, 0.0000},
22349 {0.0000, 0.0000, 1.0000, 0.0000},
22350 {0.0000, 0.0000, 1.0000, 0.0000},
22351 {0.0000, 0.0000, 1.0000, 0.0000}},
22352 {
22353 {0.0000, 0.0000, 0.0000, 0.0000},
22354 {0.0000, 0.0000, 0.0000, 0.0000},
22355 {0.0000, 0.0000, 0.0000, 1.0000},
22356 {0.0000, 0.0000, 0.0000, 0.0000}},
22357 {
22358 {0.0000, 0.0000, 0.0000, 0.0000},
22359 {0.0000, 0.0000, 0.0000, 0.0000},
22360 {0.0000, 0.0000, 0.0000, 0.0000},
22361 {0.7461, 0.0420, 0.1569, 0.0549}},
22362 {
22363 {0.4589, 0.1725, 0.1017, 0.2668},
22364 {0.7647, 0.0000, 0.1157, 0.1195},
22365 {0.5987, 0.2024, 0.1416, 0.0574},
22366 {0.2625, 0.2380, 0.1708, 0.3287}},
22367 {
22368 {0.0464, 0.0091, 0.9446, 0.0000},
22369 {0.0780, 0.0000, 0.8404, 0.0816},
22370 {0.0803, 0.1320, 0.7042, 0.0835},
22371 {0.0000, 0.0202, 0.9404, 0.0394}},
22372 {
22373 {0.1984, 0.2189, 0.0916, 0.4910},
22374 {0.2078, 0.4019, 0.0000, 0.3903},
22375 {0.0875, 0.1591, 0.0384, 0.7149},
22376 {0.0000, 0.1384, 0.2997, 0.5618}},
22377 {
22378 {0.2632, 0.2538, 0.1428, 0.3402},
22379 {0.3540, 0.3515, 0.0276, 0.2669},
22380 {0.4444, 0.2979, 0.0000, 0.2577},
22381 {0.2460, 0.2710, 0.2257, 0.2573}},
22382 {
22383 {0.1527, 0.2788, 0.1455, 0.4230},
22384 {0.2536, 0.3450, 0.1593, 0.2420},
22385 {0.3208, 0.2691, 0.1296, 0.2804},
22386 {0.1527, 0.2923, 0.2848, 0.2701}},
22387 {
22388 {0.2610, 0.3670, 0.1559, 0.2161},
22389 {0.2433, 0.2922, 0.1087, 0.3558},
22390 {0.2991, 0.2711, 0.0246, 0.4052},
22391 {0.2041, 0.3117, 0.1464, 0.3379}},
22392 {
22393 {0.2202, 0.2212, 0.2997, 0.2588},
22394 {0.2681, 0.3801, 0.0730, 0.2788},
22395 {0.2372, 0.2415, 0.3239, 0.1974},
22396 {0.1484, 0.4535, 0.1953, 0.2028}},
22397 {
22398 {0.1495, 0.3955, 0.1512, 0.3039},
22399 {0.1946, 0.4126, 0.0910, 0.3019},
22400 {0.2310, 0.3430, 0.1189, 0.3072},
22401 {0.1305, 0.3757, 0.1299, 0.3640}},
22402 {
22403 {0.2232, 0.3295, 0.1076, 0.3397},
22404 {0.1971, 0.4029, 0.0928, 0.3072},
22405 {0.2374, 0.2976, 0.0400, 0.4250},
22406 {0.1152, 0.2992, 0.2184, 0.3672}},
22407 {
22408 {0.1745, 0.4294, 0.1969, 0.1992},
22409 {0.1325, 0.4124, 0.1182, 0.3369},
22410 {0.2818, 0.2898, 0.2157, 0.2127},
22411 {0.0786, 0.3609, 0.2398, 0.3207}},
22412 {
22413 {0.1892, 0.2607, 0.1619, 0.3881},
22414 {0.2123, 0.3926, 0.1539, 0.2412},
22415 {0.3400, 0.3381, 0.0780, 0.2439},
22416 {0.0934, 0.4598, 0.1557, 0.2911}},
22417 {
22418 {0.2266, 0.3132, 0.1776, 0.2826},
22419 {0.2261, 0.3703, 0.1150, 0.2887},
22420 {0.3242, 0.3487, 0.1615, 0.1656},
22421 {0.2106, 0.3276, 0.1485, 0.3133}},
22422 {
22423 {0.2338, 0.3211, 0.1185, 0.3266},
22424 {0.1833, 0.3661, 0.1333, 0.3173},
22425 {0.3120, 0.3386, 0.1214, 0.2279},
22426 {0.2646, 0.1162, 0.1985, 0.4207}},
22427 {
22428 {0.3660, 0.2142, 0.1558, 0.2640},
22429 {0.1888, 0.3780, 0.1458, 0.2874},
22430 {0.1824, 0.3471, 0.0634, 0.4071},
22431 {0.1943, 0.4120, 0.1200, 0.2736}},
22432 {
22433 {0.2888, 0.3233, 0.1932, 0.1946},
22434 {0.2256, 0.2832, 0.1576, 0.3337},
22435 {0.2571, 0.2843, 0.1411, 0.3176},
22436 {0.2045, 0.2431, 0.2161, 0.3362}},
22437 {
22438 {0.2045, 0.2326, 0.2138, 0.3491},
22439 {0.1944, 0.3031, 0.1872, 0.3154},
22440 {0.3039, 0.0999, 0.2000, 0.3961},
22441 {0.1381, 0.3664, 0.1835, 0.3120}},
22442 {
22443 {0.3127, 0.2947, 0.2269, 0.1656},
22444 {0.3240, 0.2870, 0.0866, 0.3025},
22445 {0.1752, 0.3848, 0.1613, 0.2787},
22446 {0.0541, 0.4912, 0.1857, 0.2690}},
22447 {
22448 {0.2743, 0.2475, 0.1093, 0.3690},
22449 {0.2287, 0.2906, 0.2171, 0.2635},
22450 {0.1185, 0.2177, 0.2782, 0.3856},
22451 {0.3153, 0.2516, 0.1532, 0.2800}},
22452 {
22453 {0.3145, 0.2548, 0.0733, 0.3573},
22454 {0.1253, 0.3693, 0.1901, 0.3153},
22455 {0.3695, 0.2693, 0.1455, 0.2156},
22456 {0.1573, 0.2613, 0.2325, 0.3489}},
22457 {
22458 {0.2179, 0.1743, 0.2170, 0.3908},
22459 {0.2247, 0.2848, 0.2364, 0.2540},
22460 {0.3265, 0.2143, 0.2455, 0.2137},
22461 {0.2075, 0.2067, 0.2426, 0.3431}},
22462 {
22463 {0.2348, 0.2247, 0.1579, 0.3827},
22464 {0.2265, 0.3860, 0.1049, 0.2825},
22465 {0.2293, 0.2626, 0.1992, 0.3089},
22466 {0.1223, 0.2799, 0.3324, 0.2653}},
22467 {
22468 {0.2848, 0.2346, 0.1111, 0.3695},
22469 {0.3071, 0.2074, 0.2038, 0.2816},
22470 {0.1987, 0.1574, 0.2426, 0.4013},
22471 {0.2077, 0.2495, 0.2798, 0.2630}},
22472 {
22473 {0.2871, 0.1791, 0.2017, 0.3320},
22474 {0.2093, 0.2555, 0.2770, 0.2582},
22475 {0.3702, 0.2488, 0.0636, 0.3174},
22476 {0.0984, 0.2884, 0.2130, 0.4002}},
22477 {
22478 {0.2881, 0.2193, 0.2012, 0.2914},
22479 {0.2439, 0.2907, 0.1846, 0.2808},
22480 {0.3526, 0.1715, 0.2610, 0.2149},
22481 {0.2325, 0.3028, 0.2221, 0.2427}},
22482 {
22483 {0.2277, 0.3695, 0.1554, 0.2474},
22484 {0.2337, 0.3726, 0.1463, 0.2475},
22485 {0.2775, 0.2306, 0.2357, 0.2562},
22486 {0.2350, 0.2218, 0.2028, 0.3404}},
22487 {
22488 {0.2812, 0.2068, 0.1537, 0.3583},
22489 {0.3062, 0.2626, 0.2057, 0.2255},
22490 {0.2479, 0.2104, 0.2212, 0.3205},
22491 {0.1813, 0.2966, 0.1963, 0.3259}},
22492 {
22493 {0.2704, 0.0721, 0.2801, 0.3774},
22494 {0.2608, 0.2455, 0.1140, 0.3797},
22495 {0.3533, 0.2314, 0.1816, 0.2337},
22496 {0.1983, 0.3217, 0.2076, 0.2723}},
22497 {
22498 {0.4474, 0.1754, 0.1376, 0.2396},
22499 {0.2510, 0.2491, 0.1414, 0.3585},
22500 {0.3179, 0.3005, 0.1365, 0.2451},
22501 {0.1995, 0.2582, 0.3019, 0.2405}},
22502 {
22503 {0.2969, 0.1567, 0.1631, 0.3832},
22504 {0.2084, 0.1641, 0.2506, 0.3768},
22505 {0.3239, 0.2617, 0.1918, 0.2225},
22506 {0.2048, 0.2238, 0.2589, 0.3125}},
22507 {
22508 {0.3584, 0.2085, 0.1111, 0.3221},
22509 {0.3039, 0.2293, 0.1670, 0.2998},
22510 {0.2352, 0.1628, 0.3319, 0.2701},
22511 {0.1896, 0.2494, 0.2745, 0.2865}},
22512 {
22513 {0.2575, 0.2246, 0.2457, 0.2722},
22514 {0.2538, 0.3504, 0.1903, 0.2055},
22515 {0.2225, 0.2147, 0.2943, 0.2685},
22516 {0.2285, 0.2940, 0.3084, 0.1690}},
22517 {
22518 {0.3232, 0.1897, 0.1451, 0.3420},
22519 {0.1543, 0.2187, 0.2495, 0.3775},
22520 {0.2635, 0.2969, 0.1066, 0.3330},
22521 {0.1994, 0.2246, 0.2815, 0.2946}},
22522 {
22523 {0.4133, 0.1546, 0.1379, 0.2943},
22524 {0.2997, 0.1320, 0.1552, 0.4130},
22525 {0.2805, 0.2719, 0.2588, 0.1887},
22526 {0.3747, 0.1760, 0.2112, 0.2382}},
22527 {
22528 {0.2837, 0.2247, 0.1462, 0.3455},
22529 {0.2767, 0.1504, 0.0978, 0.4752},
22530 {0.4063, 0.2423, 0.1461, 0.2053},
22531 {0.2295, 0.2872, 0.2522, 0.2311}},
22532 {
22533 {0.1895, 0.3577, 0.1711, 0.2817},
22534 {0.3210, 0.2168, 0.0406, 0.4217},
22535 {0.3268, 0.2969, 0.1643, 0.2120},
22536 {0.2585, 0.2238, 0.2437, 0.2740}},
22537 {
22538 {0.2992, 0.3583, 0.1219, 0.2206},
22539 {0.2678, 0.1503, 0.1623, 0.4196},
22540 {0.3634, 0.2496, 0.1656, 0.2214},
22541 {0.3584, 0.2324, 0.2090, 0.2002}},
22542 {
22543 {0.3513, 0.2804, 0.1412, 0.2271},
22544 {0.2581, 0.1686, 0.1701, 0.4032},
22545 {0.4325, 0.1368, 0.1884, 0.2423},
22546 {0.2841, 0.1153, 0.2783, 0.3223}},
22547 {
22548 {0.3122, 0.2798, 0.1700, 0.2379},
22549 {0.3693, 0.1173, 0.1467, 0.3666},
22550 {0.4293, 0.3048, 0.0237, 0.2421},
22551 {0.3642, 0.1330, 0.2717, 0.2311}},
22552 {
22553 {0.3680, 0.3142, 0.1289, 0.1889},
22554 {0.1886, 0.2147, 0.1701, 0.4266},
22555 {0.4394, 0.2089, 0.1327, 0.2191},
22556 {0.3141, 0.1868, 0.2312, 0.2678}},
22557 {
22558 {0.1774, 0.3080, 0.2205, 0.2941},
22559 {0.3714, 0.0719, 0.1886, 0.3682},
22560 {0.3520, 0.3333, 0.1995, 0.1153},
22561 {0.3280, 0.1560, 0.1535, 0.3625}},
22562 {
22563 {0.2472, 0.3070, 0.2653, 0.1805},
22564 {0.2497, 0.1735, 0.1938, 0.3830},
22565 {0.2385, 0.3340, 0.1655, 0.2620},
22566 {0.3017, 0.2234, 0.2024, 0.2725}},
22567 {
22568 {0.2591, 0.3424, 0.1659, 0.2326},
22569 {0.2133, 0.2808, 0.1350, 0.3709},
22570 {0.1939, 0.1530, 0.2840, 0.3691},
22571 {0.2230, 0.1858, 0.3462, 0.2450}},
22572 {
22573 {0.2219, 0.2908, 0.1538, 0.3334},
22574 {0.2404, 0.3361, 0.1618, 0.2617},
22575 {0.4134, 0.2300, 0.0955, 0.2610},
22576 {0.3447, 0.0906, 0.3529, 0.2118}},
22577 {
22578 {0.3549, 0.2939, 0.1206, 0.2305},
22579 {0.2572, 0.3232, 0.0822, 0.3374},
22580 {0.3586, 0.2327, 0.1546, 0.2541},
22581 {0.2275, 0.2230, 0.2800, 0.2695}},
22582 {
22583 {0.1968, 0.3167, 0.1935, 0.2930},
22584 {0.3352, 0.2872, 0.0856, 0.2921},
22585 {0.4833, 0.1704, 0.1439, 0.2024},
22586 {0.2515, 0.2781, 0.2375, 0.2329}},
22587 {
22588 {0.2615, 0.2119, 0.2852, 0.2415},
22589 {0.3490, 0.3112, 0.0973, 0.2425},
22590 {0.3532, 0.2111, 0.2460, 0.1897},
22591 {0.2485, 0.2410, 0.2653, 0.2453}},
22592 {
22593 {0.2899, 0.1830, 0.2179, 0.3092},
22594 {0.1819, 0.2378, 0.1444, 0.4359},
22595 {0.3077, 0.2131, 0.1854, 0.2938},
22596 {0.2258, 0.1150, 0.2875, 0.3717}},
22597 {
22598 {0.2813, 0.1847, 0.2880, 0.2460},
22599 {0.2171, 0.3836, 0.1762, 0.2231},
22600 {0.2235, 0.1888, 0.3706, 0.2170},
22601 {0.3481, 0.1914, 0.2358, 0.2247}},
22602 {
22603 {0.2712, 0.1742, 0.2926, 0.2620},
22604 {0.3704, 0.2469, 0.1221, 0.2606},
22605 {0.2244, 0.1895, 0.2029, 0.3831},
22606 {0.3581, 0.1651, 0.2549, 0.2219}}},
22607
22608 { /* Splice_Site: T2_GT; Species: Asper */
22609 {
22610 {0.0972, 0.0972, 0.0972, 0.0972},
22611 {0.4102, 0.4102, 0.4102, 0.4102},
22612 {0.3060, 0.3060, 0.3060, 0.3060},
22613 {0.1865, 0.1865, 0.1865, 0.1865}},
22614 {
22615 {0.2333, 0.1773, 0.2391, 0.3503},
22616 {0.3978, 0.1809, 0.2252, 0.1961},
22617 {0.2092, 0.1386, 0.4843, 0.1679},
22618 {0.3585, 0.1319, 0.4227, 0.0869}},
22619 {
22620 {0.3177, 0.1989, 0.2207, 0.2628},
22621 {0.4364, 0.1918, 0.1483, 0.2235},
22622 {0.2112, 0.2497, 0.2369, 0.3021},
22623 {0.1880, 0.3478, 0.1568, 0.3074}},
22624 {
22625 {0.2031, 0.3049, 0.3041, 0.1879},
22626 {0.1843, 0.3040, 0.2237, 0.2879},
22627 {0.2291, 0.3114, 0.1959, 0.2636},
22628 {0.0609, 0.4255, 0.2329, 0.2808}},
22629 {
22630 {0.2100, 0.3093, 0.3083, 0.1723},
22631 {0.3236, 0.1324, 0.3915, 0.1525},
22632 {0.3527, 0.0702, 0.4307, 0.1465},
22633 {0.1385, 0.1845, 0.6770, 0.0000}},
22634 {
22635 {0.4164, 0.1743, 0.0874, 0.3218},
22636 {0.4255, 0.1067, 0.1497, 0.3182},
22637 {0.2115, 0.3110, 0.2548, 0.2227},
22638 {0.2482, 0.0918, 0.1466, 0.5134}},
22639 {
22640 {0.0957, 0.3777, 0.3579, 0.1688},
22641 {0.1305, 0.4187, 0.0815, 0.3692},
22642 {0.2544, 0.3347, 0.2549, 0.1560},
22643 {0.0000, 0.4248, 0.4039, 0.1713}},
22644 {
22645 {0.3442, 0.0608, 0.4803, 0.1147},
22646 {0.3526, 0.2533, 0.2469, 0.1471},
22647 {0.2669, 0.1825, 0.3729, 0.1777},
22648 {0.1538, 0.2658, 0.4438, 0.1366}},
22649 {
22650 {0.3412, 0.1989, 0.1551, 0.3049},
22651 {0.3946, 0.3768, 0.0743, 0.1543},
22652 {0.2738, 0.2800, 0.2034, 0.2428},
22653 {0.2236, 0.3507, 0.0822, 0.3435}},
22654 {
22655 {0.1101, 0.3836, 0.2328, 0.2736},
22656 {0.1404, 0.2769, 0.3189, 0.2638},
22657 {0.1676, 0.5471, 0.1153, 0.1700},
22658 {0.0674, 0.4183, 0.3129, 0.2014}},
22659 {
22660 {0.2527, 0.1542, 0.3911, 0.2019},
22661 {0.3781, 0.1793, 0.2971, 0.1455},
22662 {0.2370, 0.3064, 0.2443, 0.2123},
22663 {0.0745, 0.3181, 0.5343, 0.0731}},
22664 {
22665 {0.5353, 0.1799, 0.0852, 0.1997},
22666 {0.3056, 0.1914, 0.0744, 0.4286},
22667 {0.3623, 0.1955, 0.3243, 0.1179},
22668 {0.1120, 0.2208, 0.1459, 0.5213}},
22669 {
22670 {0.1450, 0.1797, 0.4567, 0.2186},
22671 {0.1995, 0.3298, 0.0860, 0.3847},
22672 {0.1624, 0.3307, 0.2155, 0.2915},
22673 {0.0902, 0.4152, 0.3302, 0.1643}},
22674 {
22675 {0.3083, 0.1687, 0.3192, 0.2039},
22676 {0.2486, 0.2665, 0.4090, 0.0760},
22677 {0.4514, 0.1089, 0.2941, 0.1456},
22678 {0.1187, 0.2586, 0.4903, 0.1324}},
22679 {
22680 {0.3662, 0.2303, 0.0591, 0.3444},
22681 {0.3437, 0.0856, 0.1947, 0.3759},
22682 {0.2889, 0.1528, 0.3844, 0.1739},
22683 {0.1737, 0.2683, 0.2562, 0.3018}},
22684 {
22685 {0.1631, 0.2416, 0.4111, 0.1842},
22686 {0.1294, 0.4758, 0.1639, 0.2309},
22687 {0.0266, 0.4656, 0.1209, 0.3869},
22688 {0.0640, 0.2874, 0.2778, 0.3707}},
22689 {
22690 {0.1704, 0.2379, 0.3056, 0.2861},
22691 {0.2108, 0.2123, 0.4288, 0.1482},
22692 {0.2173, 0.2592, 0.2857, 0.2377},
22693 {0.1887, 0.3936, 0.3369, 0.0809}},
22694 {
22695 {0.4144, 0.2761, 0.1143, 0.1952},
22696 {0.2890, 0.2424, 0.2182, 0.2505},
22697 {0.3638, 0.1998, 0.2206, 0.2158},
22698 {0.1077, 0.2447, 0.3715, 0.2761}},
22699 {
22700 {0.0772, 0.3669, 0.2969, 0.2591},
22701 {0.1468, 0.3803, 0.2749, 0.1980},
22702 {0.1002, 0.2792, 0.2973, 0.3233},
22703 {0.0764, 0.4712, 0.2696, 0.1827}},
22704 {
22705 {0.1734, 0.2923, 0.4189, 0.1154},
22706 {0.1909, 0.1366, 0.3988, 0.2737},
22707 {0.2844, 0.2788, 0.2573, 0.1795},
22708 {0.1836, 0.2174, 0.4318, 0.1672}},
22709 {
22710 {0.2702, 0.3629, 0.1546, 0.2123},
22711 {0.2361, 0.2005, 0.0784, 0.4850},
22712 {0.2932, 0.2509, 0.1985, 0.2574},
22713 {0.0833, 0.1423, 0.1083, 0.6661}},
22714 {
22715 {0.0502, 0.2919, 0.4085, 0.2494},
22716 {0.1678, 0.3797, 0.1910, 0.2615},
22717 {0.2299, 0.2694, 0.3024, 0.1983},
22718 {0.0961, 0.3325, 0.3520, 0.2193}},
22719 {
22720 {0.1856, 0.2330, 0.4372, 0.1442},
22721 {0.2591, 0.1293, 0.4553, 0.1563},
22722 {0.2226, 0.1769, 0.5303, 0.0702},
22723 {0.2439, 0.2244, 0.4346, 0.0971}},
22724 {
22725 {0.5064, 0.1595, 0.1412, 0.1929},
22726 {0.3862, 0.2561, 0.1244, 0.2334},
22727 {0.3806, 0.2457, 0.1925, 0.1811},
22728 {0.2011, 0.0480, 0.1538, 0.5971}},
22729 {
22730 {0.1489, 0.3358, 0.2819, 0.2334},
22731 {0.1662, 0.3469, 0.1660, 0.3208},
22732 {0.1831, 0.2743, 0.2381, 0.3046},
22733 {0.1614, 0.4109, 0.2837, 0.1440}},
22734 {
22735 {0.3599, 0.1132, 0.4934, 0.0335},
22736 {0.3852, 0.2819, 0.2138, 0.1191},
22737 {0.2417, 0.2283, 0.3894, 0.1406},
22738 {0.2935, 0.2588, 0.3097, 0.1380}},
22739 {
22740 {0.4328, 0.1770, 0.1566, 0.2336},
22741 {0.4408, 0.3116, 0.1231, 0.1245},
22742 {0.3653, 0.2076, 0.2530, 0.1741},
22743 {0.2096, 0.3504, 0.2511, 0.1890}},
22744 {
22745 {0.0538, 0.2528, 0.4983, 0.1951},
22746 {0.1433, 0.4794, 0.1926, 0.1847},
22747 {0.2136, 0.2661, 0.3281, 0.1922},
22748 {0.0316, 0.4269, 0.3811, 0.1604}},
22749 {
22750 {0.2198, 0.2750, 0.1267, 0.3785},
22751 {0.3337, 0.1700, 0.2989, 0.1974},
22752 {0.2576, 0.1406, 0.4314, 0.1705},
22753 {0.2530, 0.1933, 0.4889, 0.0648}},
22754 {
22755 {0.3099, 0.2055, 0.1834, 0.3013},
22756 {0.1662, 0.3701, 0.1690, 0.2947},
22757 {0.3009, 0.3578, 0.2019, 0.1394},
22758 {0.1228, 0.2168, 0.3490, 0.3113}},
22759 {
22760 {0.1163, 0.2581, 0.3934, 0.2322},
22761 {0.1997, 0.3197, 0.1189, 0.3616},
22762 {0.1299, 0.5531, 0.1335, 0.1835},
22763 {0.0442, 0.3544, 0.3219, 0.2795}},
22764 {
22765 {0.2321, 0.2300, 0.1361, 0.4018},
22766 {0.2428, 0.2028, 0.2954, 0.2589},
22767 {0.3719, 0.1666, 0.3193, 0.1422},
22768 {0.2100, 0.2050, 0.4157, 0.1692}},
22769 {
22770 {0.2341, 0.2170, 0.2651, 0.2838},
22771 {0.3451, 0.2081, 0.1427, 0.3041},
22772 {0.3276, 0.1941, 0.1647, 0.3136},
22773 {0.1517, 0.3861, 0.1275, 0.3347}},
22774 {
22775 {0.2141, 0.2588, 0.2944, 0.2327},
22776 {0.1824, 0.4700, 0.1615, 0.1862},
22777 {0.1964, 0.3865, 0.2220, 0.1951},
22778 {0.0718, 0.3514, 0.3526, 0.2242}},
22779 {
22780 {0.3201, 0.1781, 0.1772, 0.3245},
22781 {0.4978, 0.1521, 0.1755, 0.1747},
22782 {0.2733, 0.1942, 0.3447, 0.1879},
22783 {0.2205, 0.2145, 0.4316, 0.1334}},
22784 {
22785 {0.4112, 0.2139, 0.1294, 0.2455},
22786 {0.2844, 0.2794, 0.2258, 0.2104},
22787 {0.3699, 0.1874, 0.1015, 0.3412},
22788 {0.1181, 0.2600, 0.2324, 0.3895}},
22789 {
22790 {0.1379, 0.3919, 0.2738, 0.1964},
22791 {0.2679, 0.4284, 0.1779, 0.1258},
22792 {0.0372, 0.3257, 0.3893, 0.2479},
22793 {0.1083, 0.5155, 0.1992, 0.1771}},
22794 {
22795 {0.2397, 0.1568, 0.3033, 0.3002},
22796 {0.3654, 0.2466, 0.1609, 0.2271},
22797 {0.1694, 0.2835, 0.4321, 0.1150},
22798 {0.1592, 0.2549, 0.4604, 0.1255}},
22799 {
22800 {0.3467, 0.2061, 0.1616, 0.2856},
22801 {0.4997, 0.1854, 0.0472, 0.2677},
22802 {0.4567, 0.1139, 0.3201, 0.1093},
22803 {0.2086, 0.2938, 0.2032, 0.2943}},
22804 {
22805 {0.1347, 0.2710, 0.3625, 0.2318},
22806 {0.0967, 0.3875, 0.2502, 0.2656},
22807 {0.1782, 0.3437, 0.1800, 0.2982},
22808 {0.0256, 0.4648, 0.2780, 0.2315}},
22809 {
22810 {0.3149, 0.2108, 0.1541, 0.3203},
22811 {0.3829, 0.1292, 0.3411, 0.1468},
22812 {0.2194, 0.1417, 0.4353, 0.2036},
22813 {0.2365, 0.1262, 0.5442, 0.0931}},
22814 {
22815 {0.3546, 0.2499, 0.0421, 0.3535},
22816 {0.3646, 0.1622, 0.0793, 0.3939},
22817 {0.4114, 0.2135, 0.2924, 0.0827},
22818 {0.3006, 0.3095, 0.1055, 0.2844}},
22819 {
22820 {0.0732, 0.4971, 0.1081, 0.3216},
22821 {0.1683, 0.3496, 0.0712, 0.4109},
22822 {0.2577, 0.3050, 0.2141, 0.2232},
22823 {0.0250, 0.4116, 0.3053, 0.2580}},
22824 {
22825 {0.5113, 0.2018, 0.1450, 0.1418},
22826 {0.3273, 0.3087, 0.1407, 0.2233},
22827 {0.3688, 0.3123, 0.1802, 0.1387},
22828 {0.2381, 0.1998, 0.3448, 0.2173}},
22829 {
22830 {0.2978, 0.2448, 0.2079, 0.2496},
22831 {0.2841, 0.2003, 0.2146, 0.3009},
22832 {0.2443, 0.2985, 0.2649, 0.1923},
22833 {0.2252, 0.1711, 0.0825, 0.5211}},
22834 {
22835 {0.2163, 0.4028, 0.1900, 0.1910},
22836 {0.2003, 0.2518, 0.1848, 0.3631},
22837 {0.2275, 0.4811, 0.0619, 0.2294},
22838 {0.1298, 0.3011, 0.2296, 0.3396}},
22839 {
22840 {0.3059, 0.1833, 0.3669, 0.1439},
22841 {0.4918, 0.1638, 0.1342, 0.2102},
22842 {0.3866, 0.3101, 0.1667, 0.1365},
22843 {0.1988, 0.2584, 0.4040, 0.1388}},
22844 {
22845 {0.3346, 0.1908, 0.0793, 0.3953},
22846 {0.4708, 0.1081, 0.0819, 0.3392},
22847 {0.5451, 0.2966, 0.0903, 0.0680},
22848 {0.2798, 0.2040, 0.1792, 0.3369}},
22849 {
22850 {0.2205, 0.2115, 0.3075, 0.2606},
22851 {0.2518, 0.1728, 0.1753, 0.4002},
22852 {0.2982, 0.2919, 0.1805, 0.2294},
22853 {0.1396, 0.4182, 0.1115, 0.3307}},
22854 {
22855 {0.0817, 0.1038, 0.6191, 0.1954},
22856 {0.2516, 0.1483, 0.4440, 0.1561},
22857 {0.2169, 0.1606, 0.5076, 0.1149},
22858 {0.0390, 0.1066, 0.7966, 0.0578}},
22859 {
22860 {0.0000, 0.0000, 1.0000, 0.0000},
22861 {0.0000, 0.0000, 1.0000, 0.0000},
22862 {0.0000, 0.0000, 1.0000, 0.0000},
22863 {0.0000, 0.0000, 1.0000, 0.0000}},
22864 {
22865 {0.0000, 0.0000, 0.0000, 0.0000},
22866 {0.0000, 0.0000, 0.0000, 0.0000},
22867 {0.0000, 0.0000, 0.0000, 1.0000},
22868 {0.0000, 0.0000, 0.0000, 0.0000}},
22869 {
22870 {0.0000, 0.0000, 0.0000, 0.0000},
22871 {0.0000, 0.0000, 0.0000, 0.0000},
22872 {0.0000, 0.0000, 0.0000, 0.0000},
22873 {0.7134, 0.0225, 0.1787, 0.0854}},
22874 {
22875 {0.3992, 0.2414, 0.0788, 0.2806},
22876 {0.4951, 0.2601, 0.0000, 0.2448},
22877 {0.6529, 0.1599, 0.0955, 0.0918},
22878 {0.4002, 0.2060, 0.2088, 0.1850}},
22879 {
22880 {0.0374, 0.0000, 0.9626, 0.0000},
22881 {0.0000, 0.0762, 0.8982, 0.0257},
22882 {0.1338, 0.0592, 0.7420, 0.0650},
22883 {0.0000, 0.0472, 0.9296, 0.0232}},
22884 {
22885 {0.0000, 0.3834, 0.6166, 0.0000},
22886 {0.0000, 0.0000, 0.5069, 0.4931},
22887 {0.1349, 0.2027, 0.0811, 0.5813},
22888 {0.0000, 0.0000, 0.3348, 0.6652}},
22889 {
22890 {0.0476, 0.3668, 0.2683, 0.3173},
22891 {0.3741, 0.1678, 0.1141, 0.3439},
22892 {0.3939, 0.2388, 0.1491, 0.2182},
22893 {0.2442, 0.2163, 0.1625, 0.3770}},
22894 {
22895 {0.1087, 0.2615, 0.2205, 0.4093},
22896 {0.3057, 0.2780, 0.0696, 0.3466},
22897 {0.3374, 0.3795, 0.1438, 0.1393},
22898 {0.1667, 0.2025, 0.2573, 0.3735}},
22899 {
22900 {0.2433, 0.1648, 0.1337, 0.4582},
22901 {0.1800, 0.5178, 0.0389, 0.2633},
22902 {0.3052, 0.3323, 0.1793, 0.1832},
22903 {0.2349, 0.3229, 0.1364, 0.3057}},
22904 {
22905 {0.1276, 0.3403, 0.2617, 0.2705},
22906 {0.1285, 0.5163, 0.1657, 0.1896},
22907 {0.1849, 0.4318, 0.2464, 0.1370},
22908 {0.2474, 0.3358, 0.1585, 0.2583}},
22909 {
22910 {0.1268, 0.3706, 0.1958, 0.3068},
22911 {0.2110, 0.4303, 0.0409, 0.3178},
22912 {0.2665, 0.3753, 0.0289, 0.3293},
22913 {0.2282, 0.3842, 0.1568, 0.2308}},
22914 {
22915 {0.1545, 0.3833, 0.1397, 0.3225},
22916 {0.1548, 0.4023, 0.1578, 0.2851},
22917 {0.3645, 0.3130, 0.0688, 0.2537},
22918 {0.1327, 0.3628, 0.1712, 0.3334}},
22919 {
22920 {0.1940, 0.4059, 0.1340, 0.2661},
22921 {0.2159, 0.3052, 0.1625, 0.3163},
22922 {0.2349, 0.2270, 0.3036, 0.2346},
22923 {0.1361, 0.3351, 0.1672, 0.3616}},
22924 {
22925 {0.3560, 0.1802, 0.2215, 0.2423},
22926 {0.3726, 0.3384, 0.0363, 0.2527},
22927 {0.1316, 0.3306, 0.1848, 0.3530},
22928 {0.1113, 0.3808, 0.2609, 0.2470}},
22929 {
22930 {0.3485, 0.2350, 0.1370, 0.2795},
22931 {0.1608, 0.3435, 0.1398, 0.3559},
22932 {0.3165, 0.2701, 0.1343, 0.2791},
22933 {0.2187, 0.3221, 0.2428, 0.2165}},
22934 {
22935 {0.1897, 0.2095, 0.2059, 0.3950},
22936 {0.2293, 0.3051, 0.1117, 0.3539},
22937 {0.2747, 0.2762, 0.1018, 0.3473},
22938 {0.1198, 0.3747, 0.2247, 0.2807}},
22939 {
22940 {0.2058, 0.1781, 0.2290, 0.3872},
22941 {0.2291, 0.3899, 0.1477, 0.2334},
22942 {0.2370, 0.2043, 0.3136, 0.2451},
22943 {0.0828, 0.4121, 0.1217, 0.3834}},
22944 {
22945 {0.1632, 0.1916, 0.2618, 0.3834},
22946 {0.3195, 0.2445, 0.0878, 0.3482},
22947 {0.3523, 0.2509, 0.1498, 0.2470},
22948 {0.0535, 0.3067, 0.2345, 0.4053}},
22949 {
22950 {0.2886, 0.1158, 0.2403, 0.3552},
22951 {0.2835, 0.2868, 0.1149, 0.3148},
22952 {0.2645, 0.2584, 0.1896, 0.2875},
22953 {0.1743, 0.2763, 0.1930, 0.3564}},
22954 {
22955 {0.1666, 0.2782, 0.2562, 0.2990},
22956 {0.1872, 0.2832, 0.1229, 0.4067},
22957 {0.3384, 0.1885, 0.2240, 0.2491},
22958 {0.1722, 0.3568, 0.1757, 0.2953}},
22959 {
22960 {0.1968, 0.2248, 0.2184, 0.3600},
22961 {0.3537, 0.3743, 0.0942, 0.1778},
22962 {0.2402, 0.2522, 0.3574, 0.1502},
22963 {0.3652, 0.2673, 0.0709, 0.2965}},
22964 {
22965 {0.2814, 0.2217, 0.2498, 0.2471},
22966 {0.2991, 0.3454, 0.0754, 0.2801},
22967 {0.4079, 0.2764, 0.1426, 0.1731},
22968 {0.1867, 0.3469, 0.1653, 0.3012}},
22969 {
22970 {0.3465, 0.2376, 0.1428, 0.2731},
22971 {0.2364, 0.1944, 0.1403, 0.4290},
22972 {0.3893, 0.1410, 0.2205, 0.2491},
22973 {0.0920, 0.3584, 0.2846, 0.2650}},
22974 {
22975 {0.2703, 0.0878, 0.2816, 0.3603},
22976 {0.2367, 0.3592, 0.1003, 0.3038},
22977 {0.2783, 0.3575, 0.1538, 0.2104},
22978 {0.2078, 0.2749, 0.2300, 0.2873}},
22979 {
22980 {0.3679, 0.2770, 0.1641, 0.1910},
22981 {0.2121, 0.3480, 0.1299, 0.3100},
22982 {0.1867, 0.2657, 0.2119, 0.3357},
22983 {0.0932, 0.3506, 0.2451, 0.3111}},
22984 {
22985 {0.1919, 0.2468, 0.2055, 0.3557},
22986 {0.2544, 0.4219, 0.0894, 0.2343},
22987 {0.2389, 0.2458, 0.2437, 0.2716},
22988 {0.1850, 0.1595, 0.4340, 0.2216}},
22989 {
22990 {0.2863, 0.1781, 0.2728, 0.2627},
22991 {0.2105, 0.3454, 0.2090, 0.2351},
22992 {0.3047, 0.3300, 0.1402, 0.2251},
22993 {0.1476, 0.2012, 0.2612, 0.3900}},
22994 {
22995 {0.2475, 0.3159, 0.1726, 0.2640},
22996 {0.2131, 0.3025, 0.1880, 0.2964},
22997 {0.2785, 0.3252, 0.1822, 0.2142},
22998 {0.0857, 0.2255, 0.3035, 0.3853}},
22999 {
23000 {0.2292, 0.2575, 0.1672, 0.3460},
23001 {0.2808, 0.1792, 0.2825, 0.2574},
23002 {0.2994, 0.2822, 0.2039, 0.2145},
23003 {0.1543, 0.2721, 0.2508, 0.3228}},
23004 {
23005 {0.2682, 0.2997, 0.1161, 0.3160},
23006 {0.3034, 0.2491, 0.1875, 0.2600},
23007 {0.2614, 0.2670, 0.1462, 0.3254},
23008 {0.0837, 0.3564, 0.2031, 0.3568}},
23009 {
23010 {0.3306, 0.2574, 0.1517, 0.2603},
23011 {0.2914, 0.3705, 0.1902, 0.1478},
23012 {0.1689, 0.1773, 0.3434, 0.3104},
23013 {0.1274, 0.3452, 0.2720, 0.2555}},
23014 {
23015 {0.2034, 0.1746, 0.2288, 0.3932},
23016 {0.1855, 0.2265, 0.2070, 0.3810},
23017 {0.2205, 0.2914, 0.2475, 0.2406},
23018 {0.3401, 0.1269, 0.3099, 0.2230}},
23019 {
23020 {0.3383, 0.2180, 0.0990, 0.3447},
23021 {0.2515, 0.1686, 0.1360, 0.4438},
23022 {0.2488, 0.3541, 0.1409, 0.2562},
23023 {0.2012, 0.3238, 0.2382, 0.2368}},
23024 {
23025 {0.1754, 0.3986, 0.1797, 0.2464},
23026 {0.2124, 0.2672, 0.1205, 0.4000},
23027 {0.2119, 0.2441, 0.1807, 0.3634},
23028 {0.1710, 0.2015, 0.4052, 0.2222}},
23029 {
23030 {0.2066, 0.2167, 0.3010, 0.2757},
23031 {0.3312, 0.2032, 0.1170, 0.3486},
23032 {0.2169, 0.4116, 0.2731, 0.0984},
23033 {0.2275, 0.2942, 0.2644, 0.2139}},
23034 {
23035 {0.2705, 0.2742, 0.0914, 0.3638},
23036 {0.2836, 0.1434, 0.2064, 0.3665},
23037 {0.1192, 0.2660, 0.2214, 0.3934},
23038 {0.1417, 0.2880, 0.2922, 0.2781}},
23039 {
23040 {0.1621, 0.1850, 0.3241, 0.3289},
23041 {0.2601, 0.3328, 0.1433, 0.2638},
23042 {0.3181, 0.3200, 0.1958, 0.1662},
23043 {0.2633, 0.2551, 0.2331, 0.2485}},
23044 {
23045 {0.2838, 0.3077, 0.1384, 0.2701},
23046 {0.2064, 0.3277, 0.0819, 0.3840},
23047 {0.5379, 0.1856, 0.1498, 0.1267},
23048 {0.3615, 0.1313, 0.3269, 0.1803}},
23049 {
23050 {0.3307, 0.3052, 0.1307, 0.2335},
23051 {0.1912, 0.2862, 0.1848, 0.3378},
23052 {0.4081, 0.2306, 0.2280, 0.1332},
23053 {0.4171, 0.2624, 0.1846, 0.1360}},
23054 {
23055 {0.3300, 0.3653, 0.1360, 0.1687},
23056 {0.2740, 0.1810, 0.1672, 0.3778},
23057 {0.2928, 0.2910, 0.1348, 0.2814},
23058 {0.1531, 0.2080, 0.5115, 0.1274}},
23059 {
23060 {0.1682, 0.3481, 0.2071, 0.2766},
23061 {0.3153, 0.1543, 0.1211, 0.4093},
23062 {0.3386, 0.2327, 0.1969, 0.2318},
23063 {0.2604, 0.1708, 0.2840, 0.2848}},
23064 {
23065 {0.2947, 0.3046, 0.1888, 0.2119},
23066 {0.3390, 0.2524, 0.0241, 0.3845},
23067 {0.2762, 0.3030, 0.0280, 0.3929},
23068 {0.1295, 0.2328, 0.4487, 0.1890}},
23069 {
23070 {0.2435, 0.3153, 0.1455, 0.2957},
23071 {0.2494, 0.1757, 0.1313, 0.4436},
23072 {0.4017, 0.2505, 0.0853, 0.2625},
23073 {0.1834, 0.0812, 0.4453, 0.2901}},
23074 {
23075 {0.2195, 0.4108, 0.0398, 0.3298},
23076 {0.2879, 0.1744, 0.1683, 0.3694},
23077 {0.2191, 0.4505, 0.1923, 0.1382},
23078 {0.2807, 0.1952, 0.3265, 0.1977}},
23079 {
23080 {0.3592, 0.2069, 0.1169, 0.3171},
23081 {0.3362, 0.2291, 0.0947, 0.3400},
23082 {0.2654, 0.3477, 0.2088, 0.1780},
23083 {0.1502, 0.2055, 0.2722, 0.3721}},
23084 {
23085 {0.2485, 0.2522, 0.1739, 0.3254},
23086 {0.3333, 0.1922, 0.0936, 0.3808},
23087 {0.3741, 0.2796, 0.1693, 0.1771},
23088 {0.1948, 0.2807, 0.2660, 0.2585}},
23089 {
23090 {0.1915, 0.2498, 0.2035, 0.3553},
23091 {0.2926, 0.1891, 0.1561, 0.3622},
23092 {0.3018, 0.2575, 0.2211, 0.2196},
23093 {0.3570, 0.2343, 0.1970, 0.2117}},
23094 {
23095 {0.2732, 0.2612, 0.2487, 0.2169},
23096 {0.3520, 0.1326, 0.1298, 0.3857},
23097 {0.3272, 0.2081, 0.2325, 0.2321},
23098 {0.2935, 0.1343, 0.2760, 0.2962}},
23099 {
23100 {0.1822, 0.1838, 0.3555, 0.2784},
23101 {0.3657, 0.1299, 0.1885, 0.3158},
23102 {0.3344, 0.1602, 0.3091, 0.1963},
23103 {0.4112, 0.2185, 0.1883, 0.1821}},
23104 {
23105 {0.2131, 0.2563, 0.1750, 0.3556},
23106 {0.4649, 0.1603, 0.2202, 0.1546},
23107 {0.3187, 0.3343, 0.1296, 0.2174},
23108 {0.1915, 0.2600, 0.2848, 0.2637}},
23109 {
23110 {0.2383, 0.2714, 0.2061, 0.2842},
23111 {0.2908, 0.1785, 0.1482, 0.3825},
23112 {0.2329, 0.3782, 0.1957, 0.1932},
23113 {0.1967, 0.2579, 0.3556, 0.1898}},
23114 {
23115 {0.2305, 0.2201, 0.4072, 0.1422},
23116 {0.3325, 0.3273, 0.0610, 0.2792},
23117 {0.3673, 0.1823, 0.2270, 0.2234},
23118 {0.4046, 0.1512, 0.3809, 0.0633}}},
23119
23120 { /* Splice_Site: T0_GT; Species: Asper */
23121 {
23122 {0.3242, 0.3242, 0.3242, 0.3242},
23123 {0.1719, 0.1719, 0.1719, 0.1719},
23124 {0.3644, 0.3644, 0.3644, 0.3644},
23125 {0.1395, 0.1395, 0.1395, 0.1395}},
23126 {
23127 {0.3093, 0.4530, 0.0417, 0.1960},
23128 {0.4070, 0.2203, 0.2260, 0.1466},
23129 {0.3148, 0.2802, 0.1763, 0.2287},
23130 {0.0822, 0.1916, 0.4126, 0.3135}},
23131 {
23132 {0.1473, 0.2589, 0.3565, 0.2374},
23133 {0.1229, 0.3704, 0.2239, 0.2828},
23134 {0.1201, 0.2487, 0.5255, 0.1056},
23135 {0.0299, 0.3733, 0.2429, 0.3539}},
23136 {
23137 {0.1238, 0.1148, 0.4658, 0.2955},
23138 {0.2999, 0.2197, 0.3807, 0.0996},
23139 {0.2121, 0.2623, 0.3866, 0.1389},
23140 {0.2027, 0.1778, 0.4405, 0.1790}},
23141 {
23142 {0.3043, 0.2807, 0.1134, 0.3016},
23143 {0.3041, 0.1814, 0.1187, 0.3959},
23144 {0.2420, 0.4308, 0.2010, 0.1262},
23145 {0.1632, 0.2083, 0.2124, 0.4161}},
23146 {
23147 {0.1463, 0.2515, 0.3217, 0.2804},
23148 {0.1611, 0.3284, 0.1871, 0.3234},
23149 {0.1542, 0.4648, 0.1934, 0.1877},
23150 {0.0265, 0.4687, 0.2216, 0.2832}},
23151 {
23152 {0.2066, 0.2633, 0.3690, 0.1610},
23153 {0.2725, 0.3465, 0.2747, 0.1064},
23154 {0.3919, 0.0810, 0.4153, 0.1118},
23155 {0.2759, 0.1576, 0.4964, 0.0701}},
23156 {
23157 {0.3275, 0.1084, 0.2204, 0.3437},
23158 {0.3425, 0.1112, 0.2580, 0.2883},
23159 {0.2947, 0.2045, 0.3220, 0.1788},
23160 {0.2565, 0.3095, 0.3101, 0.1240}},
23161 {
23162 {0.1387, 0.3216, 0.2874, 0.2523},
23163 {0.1460, 0.4235, 0.1563, 0.2742},
23164 {0.1139, 0.4237, 0.2291, 0.2333},
23165 {0.0491, 0.2101, 0.4571, 0.2838}},
23166 {
23167 {0.5115, 0.1579, 0.2205, 0.1101},
23168 {0.3730, 0.1117, 0.2274, 0.2879},
23169 {0.3718, 0.1791, 0.3874, 0.0617},
23170 {0.0771, 0.1702, 0.5737, 0.1789}},
23171 {
23172 {0.2671, 0.3515, 0.1182, 0.2632},
23173 {0.3045, 0.2409, 0.0369, 0.4177},
23174 {0.3368, 0.1729, 0.3323, 0.1580},
23175 {0.1166, 0.2536, 0.1837, 0.4461}},
23176 {
23177 {0.1432, 0.3852, 0.2781, 0.1935},
23178 {0.1968, 0.3259, 0.2299, 0.2473},
23179 {0.1315, 0.4459, 0.1242, 0.2984},
23180 {0.0912, 0.2546, 0.3393, 0.3149}},
23181 {
23182 {0.1891, 0.1881, 0.3571, 0.2657},
23183 {0.2006, 0.1830, 0.3149, 0.3015},
23184 {0.4481, 0.1488, 0.2571, 0.1460},
23185 {0.0453, 0.3207, 0.4415, 0.1925}},
23186 {
23187 {0.4881, 0.4317, 0.0562, 0.0240},
23188 {0.3358, 0.1168, 0.1754, 0.3720},
23189 {0.2972, 0.2776, 0.2126, 0.2125},
23190 {0.3308, 0.0816, 0.0844, 0.5032}},
23191 {
23192 {0.2145, 0.3552, 0.1572, 0.2731},
23193 {0.0525, 0.4415, 0.3191, 0.1869},
23194 {0.1854, 0.4598, 0.1755, 0.1793},
23195 {0.1411, 0.3612, 0.3055, 0.1921}},
23196 {
23197 {0.2092, 0.2095, 0.2524, 0.3290},
23198 {0.1802, 0.2837, 0.3244, 0.2118},
23199 {0.2587, 0.1904, 0.4483, 0.1027},
23200 {0.2062, 0.1434, 0.5894, 0.0611}},
23201 {
23202 {0.3586, 0.1547, 0.1741, 0.3125},
23203 {0.1750, 0.0883, 0.2428, 0.4939},
23204 {0.3194, 0.2674, 0.1410, 0.2722},
23205 {0.2979, 0.1884, 0.2182, 0.2956}},
23206 {
23207 {0.2440, 0.3267, 0.1320, 0.2973},
23208 {0.1018, 0.4358, 0.1327, 0.3298},
23209 {0.2425, 0.2415, 0.1645, 0.3515},
23210 {0.0583, 0.3893, 0.2915, 0.2609}},
23211 {
23212 {0.2582, 0.2030, 0.2858, 0.2530},
23213 {0.2392, 0.2145, 0.4017, 0.1447},
23214 {0.2686, 0.2396, 0.3231, 0.1686},
23215 {0.2262, 0.2311, 0.4610, 0.0818}},
23216 {
23217 {0.4249, 0.2097, 0.1302, 0.2352},
23218 {0.2851, 0.2583, 0.1436, 0.3129},
23219 {0.2991, 0.3388, 0.0943, 0.2679},
23220 {0.2131, 0.2653, 0.2149, 0.3066}},
23221 {
23222 {0.1459, 0.2830, 0.3522, 0.2189},
23223 {0.0921, 0.4610, 0.1121, 0.3348},
23224 {0.1839, 0.1913, 0.3796, 0.2453},
23225 {0.0708, 0.3851, 0.3284, 0.2157}},
23226 {
23227 {0.2815, 0.0620, 0.2732, 0.3833},
23228 {0.3861, 0.1630, 0.2490, 0.2019},
23229 {0.3380, 0.2089, 0.3169, 0.1361},
23230 {0.1464, 0.1494, 0.5792, 0.1250}},
23231 {
23232 {0.4237, 0.2163, 0.1080, 0.2520},
23233 {0.2057, 0.2372, 0.1108, 0.4462},
23234 {0.2461, 0.2322, 0.2890, 0.2328},
23235 {0.3419, 0.2376, 0.2755, 0.1450}},
23236 {
23237 {0.0829, 0.3513, 0.3615, 0.2043},
23238 {0.1384, 0.4686, 0.1670, 0.2259},
23239 {0.3061, 0.3137, 0.1570, 0.2232},
23240 {0.1193, 0.4039, 0.3278, 0.1490}},
23241 {
23242 {0.2069, 0.2923, 0.1683, 0.3324},
23243 {0.2297, 0.2334, 0.2864, 0.2505},
23244 {0.2124, 0.1199, 0.3791, 0.2886},
23245 {0.2262, 0.2244, 0.3923, 0.1572}},
23246 {
23247 {0.3359, 0.1392, 0.2664, 0.2585},
23248 {0.1199, 0.2076, 0.1536, 0.5188},
23249 {0.4250, 0.2065, 0.2279, 0.1405},
23250 {0.2764, 0.2726, 0.0696, 0.3814}},
23251 {
23252 {0.1474, 0.2929, 0.2475, 0.3122},
23253 {0.2530, 0.2402, 0.2433, 0.2635},
23254 {0.1402, 0.2922, 0.2004, 0.3672},
23255 {0.1438, 0.3549, 0.2122, 0.2890}},
23256 {
23257 {0.1575, 0.2324, 0.4184, 0.1917},
23258 {0.2954, 0.2535, 0.1987, 0.2524},
23259 {0.2484, 0.2555, 0.3885, 0.1075},
23260 {0.2840, 0.1246, 0.3992, 0.1922}},
23261 {
23262 {0.3709, 0.2633, 0.1268, 0.2390},
23263 {0.4827, 0.1506, 0.1232, 0.2434},
23264 {0.2645, 0.1682, 0.4407, 0.1266},
23265 {0.2368, 0.2051, 0.2890, 0.2691}},
23266 {
23267 {0.0803, 0.4044, 0.3242, 0.1912},
23268 {0.1647, 0.3497, 0.1272, 0.3583},
23269 {0.2221, 0.3218, 0.1861, 0.2700},
23270 {0.0624, 0.3901, 0.2131, 0.3345}},
23271 {
23272 {0.1484, 0.0498, 0.3989, 0.4029},
23273 {0.2733, 0.1029, 0.4335, 0.1903},
23274 {0.3319, 0.2220, 0.3337, 0.1123},
23275 {0.1184, 0.3270, 0.5082, 0.0464}},
23276 {
23277 {0.1928, 0.1878, 0.2539, 0.3654},
23278 {0.1729, 0.2726, 0.1404, 0.4142},
23279 {0.3888, 0.1930, 0.2673, 0.1510},
23280 {0.2004, 0.2725, 0.4047, 0.1224}},
23281 {
23282 {0.1420, 0.2514, 0.1609, 0.4457},
23283 {0.0539, 0.4290, 0.1994, 0.3178},
23284 {0.1459, 0.4137, 0.3448, 0.0956},
23285 {0.1002, 0.4949, 0.2131, 0.1918}},
23286 {
23287 {0.1108, 0.2788, 0.3403, 0.2701},
23288 {0.3233, 0.1596, 0.2275, 0.2896},
23289 {0.1696, 0.1669, 0.4404, 0.2231},
23290 {0.0708, 0.1973, 0.4607, 0.2712}},
23291 {
23292 {0.4109, 0.3638, 0.0000, 0.2253},
23293 {0.2650, 0.2460, 0.1372, 0.3518},
23294 {0.3460, 0.3427, 0.1625, 0.1488},
23295 {0.3098, 0.1688, 0.0978, 0.4236}},
23296 {
23297 {0.2064, 0.4134, 0.2057, 0.1745},
23298 {0.0888, 0.4843, 0.1984, 0.2285},
23299 {0.1706, 0.2345, 0.1792, 0.4157},
23300 {0.0949, 0.2821, 0.3184, 0.3046}},
23301 {
23302 {0.2741, 0.2371, 0.2193, 0.2695},
23303 {0.3806, 0.1826, 0.2349, 0.2019},
23304 {0.2430, 0.1030, 0.3516, 0.3024},
23305 {0.0764, 0.1245, 0.7177, 0.0815}},
23306 {
23307 {0.2774, 0.2329, 0.0703, 0.4194},
23308 {0.2760, 0.3151, 0.1238, 0.2851},
23309 {0.2875, 0.2816, 0.2996, 0.1313},
23310 {0.3384, 0.1241, 0.1921, 0.3454}},
23311 {
23312 {0.1314, 0.3468, 0.1289, 0.3929},
23313 {0.0787, 0.3907, 0.1264, 0.4042},
23314 {0.2618, 0.4735, 0.1343, 0.1305},
23315 {0.0471, 0.4560, 0.3137, 0.1832}},
23316 {
23317 {0.1558, 0.4313, 0.1487, 0.2641},
23318 {0.2613, 0.1518, 0.2607, 0.3262},
23319 {0.3190, 0.3217, 0.1772, 0.1821},
23320 {0.2418, 0.3312, 0.2927, 0.1343}},
23321 {
23322 {0.3573, 0.2011, 0.0724, 0.3692},
23323 {0.3534, 0.1941, 0.0922, 0.3603},
23324 {0.2353, 0.1823, 0.3688, 0.2136},
23325 {0.2455, 0.2972, 0.0791, 0.3782}},
23326 {
23327 {0.1702, 0.3007, 0.3407, 0.1883},
23328 {0.1484, 0.2371, 0.1482, 0.4664},
23329 {0.1193, 0.4119, 0.2103, 0.2584},
23330 {0.0407, 0.4015, 0.2898, 0.2679}},
23331 {
23332 {0.1716, 0.3344, 0.3321, 0.1619},
23333 {0.2784, 0.1530, 0.2652, 0.3034},
23334 {0.3429, 0.1917, 0.2185, 0.2470},
23335 {0.2256, 0.1766, 0.4206, 0.1772}},
23336 {
23337 {0.3329, 0.2329, 0.1203, 0.3139},
23338 {0.3032, 0.1619, 0.1352, 0.3997},
23339 {0.2931, 0.2745, 0.2276, 0.2049},
23340 {0.1920, 0.4057, 0.0808, 0.3215}},
23341 {
23342 {0.0913, 0.3728, 0.2058, 0.3302},
23343 {0.2271, 0.3743, 0.1172, 0.2814},
23344 {0.2546, 0.3107, 0.1700, 0.2648},
23345 {0.0672, 0.4431, 0.2119, 0.2777}},
23346 {
23347 {0.1279, 0.1737, 0.4350, 0.2635},
23348 {0.3890, 0.1807, 0.2961, 0.1341},
23349 {0.4038, 0.1003, 0.2813, 0.2147},
23350 {0.2027, 0.2316, 0.3487, 0.2170}},
23351 {
23352 {0.3431, 0.1736, 0.1090, 0.3743},
23353 {0.2797, 0.3100, 0.1324, 0.2780},
23354 {0.5264, 0.2968, 0.1383, 0.0385},
23355 {0.2321, 0.4079, 0.0648, 0.2952}},
23356 {
23357 {0.1832, 0.3287, 0.2365, 0.2516},
23358 {0.2257, 0.3398, 0.0671, 0.3674},
23359 {0.3401, 0.3821, 0.1644, 0.1134},
23360 {0.0820, 0.6134, 0.1106, 0.1941}},
23361 {
23362 {0.4686, 0.1009, 0.1628, 0.2676},
23363 {0.3793, 0.2390, 0.0927, 0.2890},
23364 {0.5019, 0.1275, 0.2055, 0.1651},
23365 {0.2288, 0.2017, 0.4425, 0.1270}},
23366 {
23367 {0.2036, 0.0849, 0.4397, 0.2718},
23368 {0.2485, 0.1012, 0.2775, 0.3728},
23369 {0.2612, 0.1722, 0.4177, 0.1488},
23370 {0.2007, 0.2293, 0.3125, 0.2575}},
23371 {
23372 {0.0000, 0.0000, 1.0000, 0.0000},
23373 {0.0000, 0.0000, 1.0000, 0.0000},
23374 {0.0000, 0.0000, 1.0000, 0.0000},
23375 {0.0000, 0.0000, 1.0000, 0.0000}},
23376 {
23377 {0.0000, 0.0000, 0.0000, 0.0000},
23378 {0.0000, 0.0000, 0.0000, 0.0000},
23379 {0.0000, 0.0000, 0.0000, 1.0000},
23380 {0.0000, 0.0000, 0.0000, 0.0000}},
23381 {
23382 {0.0000, 0.0000, 0.0000, 0.0000},
23383 {0.0000, 0.0000, 0.0000, 0.0000},
23384 {0.0000, 0.0000, 0.0000, 0.0000},
23385 {0.7639, 0.0191, 0.1646, 0.0524}},
23386 {
23387 {0.5557, 0.1185, 0.0745, 0.2512},
23388 {0.6776, 0.0000, 0.3224, 0.0000},
23389 {0.8895, 0.1105, 0.0000, 0.0000},
23390 {0.1184, 0.3768, 0.3748, 0.1300}},
23391 {
23392 {0.0209, 0.0000, 0.9485, 0.0305},
23393 {0.0994, 0.0000, 0.9006, 0.0000},
23394 {0.0732, 0.0842, 0.7597, 0.0829},
23395 {0.0318, 0.0000, 0.9682, 0.0000}},
23396 {
23397 {0.1513, 0.0000, 0.1782, 0.6704},
23398 {0.0000, 0.0000, 0.0000, 1.0000},
23399 {0.0624, 0.1491, 0.0337, 0.7548},
23400 {0.0000, 0.4984, 0.2257, 0.2759}},
23401 {
23402 {0.3967, 0.0941, 0.2012, 0.3080},
23403 {0.2580, 0.2506, 0.0846, 0.4069},
23404 {0.4394, 0.1285, 0.2939, 0.1383},
23405 {0.2158, 0.2229, 0.2585, 0.3027}},
23406 {
23407 {0.2373, 0.3913, 0.0791, 0.2922},
23408 {0.2687, 0.1164, 0.1751, 0.4398},
23409 {0.2241, 0.2744, 0.3118, 0.1896},
23410 {0.2027, 0.3130, 0.1834, 0.3009}},
23411 {
23412 {0.1341, 0.3418, 0.1082, 0.4160},
23413 {0.2285, 0.2931, 0.0914, 0.3869},
23414 {0.3763, 0.4172, 0.1380, 0.0685},
23415 {0.1437, 0.3598, 0.1907, 0.3058}},
23416 {
23417 {0.1547, 0.3022, 0.3287, 0.2143},
23418 {0.2758, 0.4804, 0.0758, 0.1680},
23419 {0.5197, 0.2867, 0.1454, 0.0482},
23420 {0.2034, 0.3873, 0.2055, 0.2038}},
23421 {
23422 {0.2415, 0.2200, 0.2202, 0.3183},
23423 {0.1508, 0.4881, 0.1473, 0.2138},
23424 {0.1362, 0.2855, 0.2163, 0.3620},
23425 {0.2217, 0.2295, 0.1536, 0.3952}},
23426 {
23427 {0.2380, 0.1775, 0.2069, 0.3777},
23428 {0.1475, 0.3956, 0.0915, 0.3654},
23429 {0.2835, 0.2158, 0.2159, 0.2848},
23430 {0.0602, 0.3203, 0.2588, 0.3608}},
23431 {
23432 {0.2643, 0.3114, 0.1538, 0.2704},
23433 {0.1262, 0.3228, 0.1246, 0.4264},
23434 {0.1015, 0.4197, 0.2042, 0.2747},
23435 {0.0939, 0.3985, 0.2376, 0.2700}},
23436 {
23437 {0.1382, 0.0990, 0.1380, 0.6248},
23438 {0.1944, 0.2791, 0.1415, 0.3849},
23439 {0.0730, 0.4236, 0.2697, 0.2337},
23440 {0.2358, 0.3030, 0.1587, 0.3025}},
23441 {
23442 {0.1053, 0.1401, 0.3313, 0.4233},
23443 {0.2636, 0.2030, 0.1582, 0.3752},
23444 {0.1867, 0.3308, 0.1452, 0.3373},
23445 {0.1408, 0.2947, 0.1592, 0.4052}},
23446 {
23447 {0.2842, 0.2878, 0.1748, 0.2532},
23448 {0.1777, 0.2379, 0.1761, 0.4083},
23449 {0.3176, 0.2348, 0.3157, 0.1320},
23450 {0.1014, 0.4585, 0.1834, 0.2567}},
23451 {
23452 {0.1987, 0.3273, 0.1751, 0.2989},
23453 {0.2063, 0.3296, 0.1529, 0.3111},
23454 {0.3130, 0.2540, 0.1534, 0.2796},
23455 {0.2010, 0.2554, 0.1852, 0.3583}},
23456 {
23457 {0.2698, 0.2492, 0.1686, 0.3124},
23458 {0.3714, 0.2127, 0.1503, 0.2656},
23459 {0.1978, 0.0764, 0.3846, 0.3411},
23460 {0.1641, 0.3290, 0.2643, 0.2426}},
23461 {
23462 {0.2237, 0.1507, 0.1477, 0.4779},
23463 {0.1368, 0.2703, 0.1640, 0.4289},
23464 {0.1956, 0.2208, 0.1397, 0.4438},
23465 {0.1775, 0.2955, 0.1827, 0.3443}},
23466 {
23467 {0.2708, 0.1737, 0.2176, 0.3379},
23468 {0.4010, 0.2698, 0.1138, 0.2153},
23469 {0.3106, 0.2053, 0.0835, 0.4006},
23470 {0.2606, 0.2906, 0.1500, 0.2987}},
23471 {
23472 {0.1889, 0.1910, 0.1596, 0.4606},
23473 {0.1746, 0.2820, 0.1544, 0.3890},
23474 {0.4522, 0.2629, 0.1891, 0.0958},
23475 {0.1576, 0.2927, 0.2144, 0.3354}},
23476 {
23477 {0.2094, 0.3863, 0.1141, 0.2902},
23478 {0.2329, 0.3038, 0.2174, 0.2458},
23479 {0.4004, 0.1452, 0.1733, 0.2810},
23480 {0.1264, 0.4004, 0.2350, 0.2382}},
23481 {
23482 {0.1181, 0.2377, 0.3199, 0.3243},
23483 {0.2333, 0.3137, 0.1395, 0.3135},
23484 {0.1567, 0.2325, 0.2244, 0.3864},
23485 {0.1753, 0.2631, 0.2462, 0.3154}},
23486 {
23487 {0.3210, 0.1378, 0.3273, 0.2139},
23488 {0.2952, 0.2800, 0.1186, 0.3062},
23489 {0.2324, 0.0843, 0.2859, 0.3975},
23490 {0.2370, 0.2472, 0.2107, 0.3050}},
23491 {
23492 {0.3649, 0.2197, 0.1989, 0.2165},
23493 {0.1303, 0.3445, 0.2193, 0.3060},
23494 {0.1699, 0.2902, 0.1455, 0.3944},
23495 {0.2800, 0.2489, 0.2665, 0.2047}},
23496 {
23497 {0.1530, 0.2528, 0.2624, 0.3318},
23498 {0.2413, 0.2388, 0.1410, 0.3788},
23499 {0.2700, 0.1479, 0.2792, 0.3029},
23500 {0.0944, 0.3916, 0.1690, 0.3450}},
23501 {
23502 {0.3460, 0.2037, 0.2386, 0.2116},
23503 {0.2356, 0.2834, 0.1448, 0.3363},
23504 {0.3169, 0.0891, 0.2840, 0.3100},
23505 {0.1666, 0.2609, 0.2600, 0.3124}},
23506 {
23507 {0.1269, 0.2605, 0.2083, 0.4043},
23508 {0.3108, 0.2600, 0.2020, 0.2272},
23509 {0.1970, 0.2379, 0.3080, 0.2571},
23510 {0.1512, 0.1774, 0.2320, 0.4395}},
23511 {
23512 {0.2315, 0.1371, 0.3234, 0.3080},
23513 {0.2992, 0.1979, 0.2219, 0.2809},
23514 {0.3164, 0.3819, 0.1400, 0.1617},
23515 {0.1164, 0.3521, 0.3106, 0.2209}},
23516 {
23517 {0.3245, 0.0845, 0.1735, 0.4174},
23518 {0.2435, 0.1108, 0.2059, 0.4398},
23519 {0.4007, 0.1988, 0.2217, 0.1788},
23520 {0.3548, 0.2135, 0.1881, 0.2436}},
23521 {
23522 {0.3198, 0.1370, 0.1710, 0.3723},
23523 {0.3306, 0.1991, 0.1741, 0.2963},
23524 {0.3914, 0.1953, 0.1641, 0.2492},
23525 {0.2775, 0.2566, 0.2185, 0.2474}},
23526 {
23527 {0.3295, 0.0398, 0.2407, 0.3901},
23528 {0.3235, 0.2316, 0.1907, 0.2542},
23529 {0.1397, 0.4889, 0.2386, 0.1329},
23530 {0.2153, 0.3042, 0.2416, 0.2389}},
23531 {
23532 {0.2244, 0.1671, 0.3643, 0.2442},
23533 {0.3455, 0.2445, 0.1615, 0.2485},
23534 {0.2008, 0.2747, 0.3066, 0.2178},
23535 {0.0943, 0.4605, 0.1184, 0.3269}},
23536 {
23537 {0.2693, 0.2679, 0.3174, 0.1454},
23538 {0.1765, 0.2791, 0.1934, 0.3510},
23539 {0.3372, 0.2135, 0.2381, 0.2111},
23540 {0.2473, 0.2660, 0.1674, 0.3193}},
23541 {
23542 {0.1557, 0.2338, 0.2778, 0.3326},
23543 {0.3152, 0.2211, 0.0956, 0.3681},
23544 {0.2475, 0.3213, 0.1708, 0.2604},
23545 {0.2591, 0.3145, 0.1896, 0.2368}},
23546 {
23547 {0.2734, 0.3339, 0.1315, 0.2612},
23548 {0.2375, 0.2179, 0.2625, 0.2821},
23549 {0.3528, 0.2670, 0.1405, 0.2397},
23550 {0.1910, 0.2372, 0.2970, 0.2748}},
23551 {
23552 {0.3293, 0.2965, 0.0243, 0.3498},
23553 {0.3366, 0.2902, 0.1251, 0.2481},
23554 {0.3281, 0.3766, 0.0900, 0.2053},
23555 {0.1890, 0.3364, 0.2659, 0.2087}},
23556 {
23557 {0.1949, 0.2790, 0.2427, 0.2834},
23558 {0.1958, 0.1952, 0.1769, 0.4322},
23559 {0.3064, 0.2960, 0.2001, 0.1975},
23560 {0.3328, 0.2256, 0.2185, 0.2232}},
23561 {
23562 {0.2892, 0.2347, 0.2083, 0.2679},
23563 {0.1603, 0.1851, 0.1314, 0.5233},
23564 {0.3626, 0.2776, 0.2406, 0.1193},
23565 {0.2863, 0.1642, 0.2588, 0.2907}},
23566 {
23567 {0.3722, 0.3457, 0.1189, 0.1632},
23568 {0.3448, 0.1838, 0.0855, 0.3859},
23569 {0.3977, 0.2176, 0.3278, 0.0569},
23570 {0.2293, 0.1915, 0.3122, 0.2671}},
23571 {
23572 {0.2559, 0.3195, 0.1382, 0.2864},
23573 {0.2906, 0.1891, 0.1969, 0.3235},
23574 {0.2400, 0.2920, 0.1752, 0.2928},
23575 {0.3719, 0.2585, 0.2026, 0.1670}},
23576 {
23577 {0.2909, 0.2853, 0.2061, 0.2176},
23578 {0.3238, 0.1976, 0.0718, 0.4068},
23579 {0.3718, 0.1889, 0.2564, 0.1829},
23580 {0.2776, 0.1804, 0.2340, 0.3080}},
23581 {
23582 {0.3279, 0.2496, 0.1385, 0.2840},
23583 {0.2935, 0.2136, 0.0919, 0.4010},
23584 {0.3100, 0.2117, 0.2054, 0.2729},
23585 {0.2024, 0.1990, 0.3562, 0.2425}},
23586 {
23587 {0.3438, 0.2026, 0.1596, 0.2941},
23588 {0.1703, 0.1476, 0.1148, 0.5673},
23589 {0.2811, 0.2206, 0.2193, 0.2790},
23590 {0.2961, 0.2416, 0.2332, 0.2291}},
23591 {
23592 {0.2901, 0.2748, 0.1153, 0.3198},
23593 {0.3517, 0.0865, 0.1600, 0.4017},
23594 {0.2750, 0.2833, 0.3059, 0.1358},
23595 {0.2576, 0.1508, 0.3247, 0.2668}},
23596 {
23597 {0.3139, 0.3931, 0.0413, 0.2516},
23598 {0.2225, 0.2913, 0.2284, 0.2578},
23599 {0.3856, 0.1946, 0.2213, 0.1985},
23600 {0.3951, 0.1545, 0.2455, 0.2049}},
23601 {
23602 {0.3157, 0.3800, 0.1187, 0.1855},
23603 {0.3202, 0.2434, 0.1722, 0.2642},
23604 {0.1768, 0.4352, 0.1399, 0.2481},
23605 {0.3731, 0.2338, 0.1371, 0.2560}},
23606 {
23607 {0.1856, 0.3100, 0.2539, 0.2504},
23608 {0.3416, 0.1002, 0.1153, 0.4429},
23609 {0.4098, 0.1852, 0.1854, 0.2196},
23610 {0.2627, 0.2409, 0.2210, 0.2754}},
23611 {
23612 {0.3070, 0.1819, 0.3565, 0.1546},
23613 {0.3685, 0.1810, 0.1200, 0.3305},
23614 {0.3247, 0.2635, 0.1720, 0.2398},
23615 {0.1614, 0.1693, 0.3021, 0.3673}},
23616 {
23617 {0.2314, 0.3392, 0.1112, 0.3181},
23618 {0.2938, 0.2339, 0.2725, 0.1998},
23619 {0.4249, 0.2304, 0.2235, 0.1212},
23620 {0.3470, 0.3511, 0.1413, 0.1606}},
23621 {
23622 {0.1716, 0.3783, 0.2161, 0.2340},
23623 {0.3484, 0.2412, 0.1351, 0.2754},
23624 {0.3606, 0.2847, 0.3214, 0.0332},
23625 {0.3751, 0.2150, 0.2534, 0.1564}},
23626 {
23627 {0.2116, 0.2306, 0.2607, 0.2972},
23628 {0.4009, 0.2428, 0.1349, 0.2214},
23629 {0.2084, 0.3502, 0.2969, 0.1445},
23630 {0.2957, 0.1246, 0.2224, 0.3573}}},
23631
23632 { /* Splice_Site: F1_GT; Species: Asper */
23633 {
23634 {0.2641, 0.2641, 0.2641, 0.2641},
23635 {0.2422, 0.2422, 0.2422, 0.2422},
23636 {0.1912, 0.1912, 0.1912, 0.1912},
23637 {0.3024, 0.3024, 0.3024, 0.3024}},
23638 {
23639 {0.0808, 0.3360, 0.2919, 0.2913},
23640 {0.1833, 0.3414, 0.2089, 0.2663},
23641 {0.0896, 0.5193, 0.2299, 0.1612},
23642 {0.0584, 0.2783, 0.3926, 0.2707}},
23643 {
23644 {0.3856, 0.1686, 0.1762, 0.2697},
23645 {0.2890, 0.2107, 0.2419, 0.2584},
23646 {0.1962, 0.3443, 0.3256, 0.1338},
23647 {0.1201, 0.2583, 0.5391, 0.0824}},
23648 {
23649 {0.4699, 0.1497, 0.0761, 0.3043},
23650 {0.4097, 0.1991, 0.1344, 0.2568},
23651 {0.3609, 0.2602, 0.2220, 0.1569},
23652 {0.3010, 0.2352, 0.2212, 0.2426}},
23653 {
23654 {0.1448, 0.2946, 0.3523, 0.2083},
23655 {0.1740, 0.3708, 0.1625, 0.2927},
23656 {0.0788, 0.3372, 0.2413, 0.3427},
23657 {0.0770, 0.3741, 0.3038, 0.2451}},
23658 {
23659 {0.3069, 0.2412, 0.2034, 0.2484},
23660 {0.3695, 0.2051, 0.2703, 0.1552},
23661 {0.1892, 0.2624, 0.3693, 0.1792},
23662 {0.1825, 0.1864, 0.4630, 0.1681}},
23663 {
23664 {0.3079, 0.2995, 0.1662, 0.2265},
23665 {0.2150, 0.1385, 0.3154, 0.3310},
23666 {0.3195, 0.2393, 0.2380, 0.2033},
23667 {0.1760, 0.2942, 0.1477, 0.3821}},
23668 {
23669 {0.1456, 0.3747, 0.3002, 0.1795},
23670 {0.1848, 0.2847, 0.1218, 0.4087},
23671 {0.1205, 0.4733, 0.1535, 0.2528},
23672 {0.0440, 0.3192, 0.3774, 0.2594}},
23673 {
23674 {0.2874, 0.1796, 0.1771, 0.3559},
23675 {0.2407, 0.2661, 0.1688, 0.3244},
23676 {0.1995, 0.3255, 0.2487, 0.2263},
23677 {0.1915, 0.2035, 0.4592, 0.1459}},
23678 {
23679 {0.2529, 0.2564, 0.1714, 0.3194},
23680 {0.2233, 0.2793, 0.2393, 0.2581},
23681 {0.2950, 0.3074, 0.2350, 0.1626},
23682 {0.2701, 0.2715, 0.2035, 0.2549}},
23683 {
23684 {0.1014, 0.3780, 0.3025, 0.2181},
23685 {0.1429, 0.3106, 0.2165, 0.3300},
23686 {0.0624, 0.2775, 0.2786, 0.3815},
23687 {0.0349, 0.4423, 0.3233, 0.1995}},
23688 {
23689 {0.0429, 0.2519, 0.6590, 0.0461},
23690 {0.2670, 0.1958, 0.3023, 0.2350},
23691 {0.3440, 0.2216, 0.3309, 0.1035},
23692 {0.1711, 0.1606, 0.4328, 0.2354}},
23693 {
23694 {0.3369, 0.2546, 0.1050, 0.3035},
23695 {0.3103, 0.1774, 0.1396, 0.3726},
23696 {0.2909, 0.2054, 0.2523, 0.2514},
23697 {0.2098, 0.3246, 0.0971, 0.3685}},
23698 {
23699 {0.1224, 0.2833, 0.3721, 0.2222},
23700 {0.1278, 0.2975, 0.2233, 0.3514},
23701 {0.1240, 0.3760, 0.2634, 0.2366},
23702 {0.0971, 0.4115, 0.3058, 0.1856}},
23703 {
23704 {0.3353, 0.1879, 0.3379, 0.1389},
23705 {0.2179, 0.1548, 0.4312, 0.1961},
23706 {0.1890, 0.2747, 0.3761, 0.1602},
23707 {0.1628, 0.2170, 0.4457, 0.1746}},
23708 {
23709 {0.3556, 0.2108, 0.1031, 0.3305},
23710 {0.2645, 0.2760, 0.1084, 0.3511},
23711 {0.3213, 0.2146, 0.2205, 0.2436},
23712 {0.2454, 0.3227, 0.1755, 0.2564}},
23713 {
23714 {0.0863, 0.3192, 0.3565, 0.2380},
23715 {0.2133, 0.4791, 0.1986, 0.1090},
23716 {0.2321, 0.3458, 0.1328, 0.2893},
23717 {0.0924, 0.4591, 0.2229, 0.2256}},
23718 {
23719 {0.1243, 0.3967, 0.3894, 0.0896},
23720 {0.3193, 0.2189, 0.2662, 0.1955},
23721 {0.3406, 0.1754, 0.2692, 0.2148},
23722 {0.1766, 0.2418, 0.4207, 0.1610}},
23723 {
23724 {0.3364, 0.3025, 0.0823, 0.2788},
23725 {0.1971, 0.2484, 0.2000, 0.3545},
23726 {0.4002, 0.2231, 0.1369, 0.2398},
23727 {0.2645, 0.2921, 0.1496, 0.2938}},
23728 {
23729 {0.1152, 0.3486, 0.3858, 0.1504},
23730 {0.0632, 0.5047, 0.1870, 0.2451},
23731 {0.0311, 0.4628, 0.3211, 0.1851},
23732 {0.0740, 0.4265, 0.3520, 0.1475}},
23733 {
23734 {0.2767, 0.2215, 0.3434, 0.1584},
23735 {0.2703, 0.1606, 0.3467, 0.2224},
23736 {0.2085, 0.3134, 0.3657, 0.1125},
23737 {0.1400, 0.2850, 0.3603, 0.2146}},
23738 {
23739 {0.2615, 0.2074, 0.1522, 0.3789},
23740 {0.2391, 0.2653, 0.1653, 0.3304},
23741 {0.2593, 0.2228, 0.2235, 0.2944},
23742 {0.1647, 0.3299, 0.2088, 0.2965}},
23743 {
23744 {0.1268, 0.2551, 0.3678, 0.2503},
23745 {0.1358, 0.4414, 0.1058, 0.3170},
23746 {0.1829, 0.3175, 0.1747, 0.3249},
23747 {0.0969, 0.4430, 0.2943, 0.1658}},
23748 {
23749 {0.2368, 0.1644, 0.3651, 0.2337},
23750 {0.3314, 0.2462, 0.2709, 0.1515},
23751 {0.2991, 0.3231, 0.2155, 0.1623},
23752 {0.1566, 0.2893, 0.5027, 0.0513}},
23753 {
23754 {0.4035, 0.2946, 0.1122, 0.1898},
23755 {0.3000, 0.2920, 0.0970, 0.3110},
23756 {0.2183, 0.3640, 0.2463, 0.1715},
23757 {0.1280, 0.3639, 0.1571, 0.3511}},
23758 {
23759 {0.1296, 0.2559, 0.5357, 0.0789},
23760 {0.0822, 0.4114, 0.1980, 0.3084},
23761 {0.1576, 0.3001, 0.2679, 0.2744},
23762 {0.0190, 0.4332, 0.2941, 0.2537}},
23763 {
23764 {0.2407, 0.2806, 0.3746, 0.1041},
23765 {0.2560, 0.2130, 0.3314, 0.1995},
23766 {0.2368, 0.2541, 0.4006, 0.1086},
23767 {0.1114, 0.1550, 0.5376, 0.1960}},
23768 {
23769 {0.2257, 0.3560, 0.1396, 0.2787},
23770 {0.0826, 0.3962, 0.1856, 0.3356},
23771 {0.3222, 0.1600, 0.3595, 0.1583},
23772 {0.1915, 0.3624, 0.1360, 0.3100}},
23773 {
23774 {0.0998, 0.2523, 0.3523, 0.2956},
23775 {0.1527, 0.3984, 0.2105, 0.2384},
23776 {0.0748, 0.4463, 0.1635, 0.3154},
23777 {0.0685, 0.3159, 0.3489, 0.2667}},
23778 {
23779 {0.2689, 0.2221, 0.3459, 0.1630},
23780 {0.3306, 0.1795, 0.3556, 0.1344},
23781 {0.2911, 0.2107, 0.3993, 0.0989},
23782 {0.1729, 0.3118, 0.3915, 0.1238}},
23783 {
23784 {0.3103, 0.2530, 0.1793, 0.2573},
23785 {0.2255, 0.2106, 0.1462, 0.4177},
23786 {0.2975, 0.2448, 0.2774, 0.1802},
23787 {0.1716, 0.3755, 0.1732, 0.2798}},
23788 {
23789 {0.1110, 0.3883, 0.3721, 0.1286},
23790 {0.1018, 0.3207, 0.2706, 0.3068},
23791 {0.0623, 0.4367, 0.1807, 0.3203},
23792 {0.0336, 0.5046, 0.2617, 0.2001}},
23793 {
23794 {0.3333, 0.1641, 0.2176, 0.2850},
23795 {0.3300, 0.1772, 0.3072, 0.1855},
23796 {0.2316, 0.1886, 0.4834, 0.0964},
23797 {0.2086, 0.1691, 0.4323, 0.1900}},
23798 {
23799 {0.3796, 0.2700, 0.1548, 0.1955},
23800 {0.1691, 0.3358, 0.2450, 0.2501},
23801 {0.2615, 0.2679, 0.3035, 0.1671},
23802 {0.1731, 0.3161, 0.1534, 0.3575}},
23803 {
23804 {0.0846, 0.3310, 0.3327, 0.2517},
23805 {0.1796, 0.4724, 0.2085, 0.1396},
23806 {0.0780, 0.5082, 0.1113, 0.3025},
23807 {0.0579, 0.3775, 0.2889, 0.2757}},
23808 {
23809 {0.3675, 0.2087, 0.2515, 0.1723},
23810 {0.2845, 0.1878, 0.3792, 0.1485},
23811 {0.2750, 0.2839, 0.2465, 0.1946},
23812 {0.1896, 0.2455, 0.4488, 0.1161}},
23813 {
23814 {0.3232, 0.2890, 0.1184, 0.2694},
23815 {0.3117, 0.1928, 0.1344, 0.3612},
23816 {0.2703, 0.2426, 0.2804, 0.2068},
23817 {0.2255, 0.2479, 0.1228, 0.4038}},
23818 {
23819 {0.1218, 0.3011, 0.3643, 0.2129},
23820 {0.1799, 0.4414, 0.2209, 0.1577},
23821 {0.1681, 0.3102, 0.1503, 0.3714},
23822 {0.0738, 0.3398, 0.3303, 0.2561}},
23823 {
23824 {0.2602, 0.3148, 0.3261, 0.0990},
23825 {0.3312, 0.2566, 0.2728, 0.1395},
23826 {0.1424, 0.3108, 0.3739, 0.1730},
23827 {0.2160, 0.3615, 0.3506, 0.0719}},
23828 {
23829 {0.2795, 0.4353, 0.0540, 0.2312},
23830 {0.3743, 0.1940, 0.1593, 0.2724},
23831 {0.2901, 0.3101, 0.2144, 0.1854},
23832 {0.2042, 0.5486, 0.0732, 0.1741}},
23833 {
23834 {0.1472, 0.3360, 0.3168, 0.2001},
23835 {0.0898, 0.5129, 0.1904, 0.2069},
23836 {0.0969, 0.3745, 0.1206, 0.4080},
23837 {0.1191, 0.3452, 0.3141, 0.2215}},
23838 {
23839 {0.1578, 0.3514, 0.2612, 0.2295},
23840 {0.3013, 0.2385, 0.2403, 0.2199},
23841 {0.2464, 0.2390, 0.3770, 0.1375},
23842 {0.1800, 0.1484, 0.5346, 0.1370}},
23843 {
23844 {0.4882, 0.2323, 0.0880, 0.1914},
23845 {0.1876, 0.3224, 0.1703, 0.3196},
23846 {0.2676, 0.3288, 0.2392, 0.1644},
23847 {0.1670, 0.3769, 0.1905, 0.2655}},
23848 {
23849 {0.1174, 0.2785, 0.4025, 0.2016},
23850 {0.1507, 0.4043, 0.2423, 0.2027},
23851 {0.0966, 0.3978, 0.2618, 0.2439},
23852 {0.0946, 0.2899, 0.3267, 0.2888}},
23853 {
23854 {0.1008, 0.2144, 0.5431, 0.1416},
23855 {0.2998, 0.1934, 0.3089, 0.1979},
23856 {0.1123, 0.2715, 0.4651, 0.1510},
23857 {0.1488, 0.2277, 0.4359, 0.1876}},
23858 {
23859 {0.4554, 0.1436, 0.0985, 0.3025},
23860 {0.1825, 0.2586, 0.1741, 0.3848},
23861 {0.3424, 0.2484, 0.2292, 0.1800},
23862 {0.1538, 0.3021, 0.2551, 0.2890}},
23863 {
23864 {0.0889, 0.3610, 0.2721, 0.2780},
23865 {0.1434, 0.4564, 0.1649, 0.2353},
23866 {0.2012, 0.4232, 0.2245, 0.1512},
23867 {0.0619, 0.3707, 0.4077, 0.1597}},
23868 {
23869 {0.1398, 0.2295, 0.5550, 0.0757},
23870 {0.3194, 0.2191, 0.3180, 0.1436},
23871 {0.2420, 0.1865, 0.3505, 0.2211},
23872 {0.1163, 0.1855, 0.5785, 0.1198}},
23873 {
23874 {0.3183, 0.2879, 0.1779, 0.2159},
23875 {0.2788, 0.2361, 0.1479, 0.3372},
23876 {0.3582, 0.2517, 0.2086, 0.1815},
23877 {0.2313, 0.2833, 0.0553, 0.4301}},
23878 {
23879 {0.0760, 0.3737, 0.2416, 0.3088},
23880 {0.1652, 0.3388, 0.2631, 0.2329},
23881 {0.1065, 0.2955, 0.1818, 0.4162},
23882 {0.0818, 0.2571, 0.3302, 0.3310}},
23883 {
23884 {0.0000, 0.0000, 1.0000, 0.0000},
23885 {0.0000, 0.0000, 1.0000, 0.0000},
23886 {0.0000, 0.0000, 1.0000, 0.0000},
23887 {0.0000, 0.0000, 1.0000, 0.0000}},
23888 {
23889 {0.0000, 0.0000, 0.0000, 0.0000},
23890 {0.0000, 0.0000, 0.0000, 0.0000},
23891 {0.0000, 0.0000, 0.0000, 1.0000},
23892 {0.0000, 0.0000, 0.0000, 0.0000}},
23893 {
23894 {0.0000, 0.0000, 0.0000, 0.0000},
23895 {0.0000, 0.0000, 0.0000, 0.0000},
23896 {0.0000, 0.0000, 0.0000, 0.0000},
23897 {0.0783, 0.4374, 0.2392, 0.2451}},
23898 {
23899 {0.0000, 0.4446, 0.5015, 0.0538},
23900 {0.3767, 0.1717, 0.2947, 0.1569},
23901 {0.2357, 0.2428, 0.4850, 0.0364},
23902 {0.0835, 0.2616, 0.4602, 0.1947}},
23903 {
23904 {0.4511, 0.2086, 0.1030, 0.2372},
23905 {0.2034, 0.2126, 0.2468, 0.3372},
23906 {0.3259, 0.2225, 0.2426, 0.2090},
23907 {0.2694, 0.3314, 0.0985, 0.3006}},
23908 {
23909 {0.1213, 0.4388, 0.2951, 0.1447},
23910 {0.0714, 0.4721, 0.1714, 0.2851},
23911 {0.1612, 0.3544, 0.2069, 0.2774},
23912 {0.0502, 0.4584, 0.2883, 0.2031}},
23913 {
23914 {0.4396, 0.1767, 0.2068, 0.1768},
23915 {0.3129, 0.2416, 0.2250, 0.2205},
23916 {0.1942, 0.2648, 0.4373, 0.1038},
23917 {0.0973, 0.3248, 0.4132, 0.1647}},
23918 {
23919 {0.3836, 0.2665, 0.1223, 0.2276},
23920 {0.2685, 0.2531, 0.0904, 0.3880},
23921 {0.3176, 0.2745, 0.2567, 0.1513},
23922 {0.1715, 0.3767, 0.1910, 0.2608}},
23923 {
23924 {0.0869, 0.2946, 0.4623, 0.1563},
23925 {0.1356, 0.3360, 0.1230, 0.4055},
23926 {0.1051, 0.4628, 0.2071, 0.2250},
23927 {0.0546, 0.4010, 0.3876, 0.1568}},
23928 {
23929 {0.2755, 0.2277, 0.3202, 0.1767},
23930 {0.3697, 0.1741, 0.2764, 0.1798},
23931 {0.3371, 0.2035, 0.2993, 0.1601},
23932 {0.1253, 0.1994, 0.4759, 0.1994}},
23933 {
23934 {0.2292, 0.3311, 0.2475, 0.1922},
23935 {0.3339, 0.2088, 0.1579, 0.2994},
23936 {0.2232, 0.3262, 0.2703, 0.1802},
23937 {0.2751, 0.2631, 0.0491, 0.4126}},
23938 {
23939 {0.1217, 0.3205, 0.3055, 0.2523},
23940 {0.1311, 0.4066, 0.2270, 0.2353},
23941 {0.0638, 0.5314, 0.1242, 0.2806},
23942 {0.0357, 0.3999, 0.3678, 0.1966}},
23943 {
23944 {0.1923, 0.1395, 0.2808, 0.3874},
23945 {0.3278, 0.2543, 0.3290, 0.0889},
23946 {0.2452, 0.1615, 0.3598, 0.2335},
23947 {0.1746, 0.1941, 0.4861, 0.1452}},
23948 {
23949 {0.3683, 0.2291, 0.1478, 0.2549},
23950 {0.3103, 0.1303, 0.2908, 0.2686},
23951 {0.3180, 0.2021, 0.2610, 0.2189},
23952 {0.1563, 0.3387, 0.2395, 0.2655}},
23953 {
23954 {0.1295, 0.3421, 0.3107, 0.2178},
23955 {0.1113, 0.3376, 0.1671, 0.3840},
23956 {0.0926, 0.4252, 0.2383, 0.2439},
23957 {0.0388, 0.5303, 0.2505, 0.1803}},
23958 {
23959 {0.0932, 0.3638, 0.2383, 0.3048},
23960 {0.3742, 0.1540, 0.2906, 0.1811},
23961 {0.2285, 0.1916, 0.4533, 0.1265},
23962 {0.2520, 0.3070, 0.3157, 0.1252}},
23963 {
23964 {0.3572, 0.2540, 0.1241, 0.2648},
23965 {0.4217, 0.1728, 0.1373, 0.2682},
23966 {0.3458, 0.1984, 0.2861, 0.1697},
23967 {0.1633, 0.2542, 0.2086, 0.3739}},
23968 {
23969 {0.1534, 0.2989, 0.3514, 0.1963},
23970 {0.1977, 0.3394, 0.1960, 0.2668},
23971 {0.1040, 0.4264, 0.1159, 0.3536},
23972 {0.0706, 0.4535, 0.2727, 0.2032}},
23973 {
23974 {0.3528, 0.1035, 0.1940, 0.3497},
23975 {0.3884, 0.2083, 0.1996, 0.2037},
23976 {0.2632, 0.2084, 0.3390, 0.1894},
23977 {0.1953, 0.2161, 0.3944, 0.1942}},
23978 {
23979 {0.2559, 0.3956, 0.1306, 0.2179},
23980 {0.4042, 0.1356, 0.1751, 0.2850},
23981 {0.3596, 0.3163, 0.1848, 0.1393},
23982 {0.2738, 0.3031, 0.1817, 0.2414}},
23983 {
23984 {0.1113, 0.4116, 0.2882, 0.1890},
23985 {0.1010, 0.4419, 0.2257, 0.2314},
23986 {0.2145, 0.3141, 0.1292, 0.3422},
23987 {0.0193, 0.5001, 0.2891, 0.1915}},
23988 {
23989 {0.2111, 0.1204, 0.4707, 0.1978},
23990 {0.3275, 0.1866, 0.2840, 0.2019},
23991 {0.2910, 0.1626, 0.3020, 0.2444},
23992 {0.2260, 0.2138, 0.3949, 0.1653}},
23993 {
23994 {0.3046, 0.2440, 0.1416, 0.3098},
23995 {0.0758, 0.2467, 0.2449, 0.4326},
23996 {0.2375, 0.2684, 0.2559, 0.2382},
23997 {0.2499, 0.2498, 0.1967, 0.3035}},
23998 {
23999 {0.1550, 0.3338, 0.3026, 0.2086},
24000 {0.0692, 0.3862, 0.2826, 0.2621},
24001 {0.1909, 0.4378, 0.1671, 0.2043},
24002 {0.0579, 0.4748, 0.2130, 0.2543}},
24003 {
24004 {0.2684, 0.1998, 0.3262, 0.2056},
24005 {0.2912, 0.1779, 0.2998, 0.2311},
24006 {0.2814, 0.2663, 0.2564, 0.1959},
24007 {0.2639, 0.4041, 0.2187, 0.1134}},
24008 {
24009 {0.3123, 0.2251, 0.1431, 0.3195},
24010 {0.2754, 0.2211, 0.2138, 0.2896},
24011 {0.3444, 0.2386, 0.2089, 0.2082},
24012 {0.2305, 0.5241, 0.0679, 0.1776}},
24013 {
24014 {0.1763, 0.4180, 0.2772, 0.1286},
24015 {0.1999, 0.5097, 0.1270, 0.1634},
24016 {0.1554, 0.3858, 0.2407, 0.2181},
24017 {0.0541, 0.3185, 0.3921, 0.2352}},
24018 {
24019 {0.2867, 0.0869, 0.3529, 0.2735},
24020 {0.3065, 0.2519, 0.2543, 0.1873},
24021 {0.2028, 0.2410, 0.3048, 0.2514},
24022 {0.1887, 0.1913, 0.4747, 0.1453}},
24023 {
24024 {0.3837, 0.3112, 0.1353, 0.1698},
24025 {0.1995, 0.2644, 0.2926, 0.2436},
24026 {0.3599, 0.2017, 0.2201, 0.2184},
24027 {0.1251, 0.2750, 0.2292, 0.3707}},
24028 {
24029 {0.1531, 0.3691, 0.2284, 0.2495},
24030 {0.1369, 0.4312, 0.1534, 0.2785},
24031 {0.1687, 0.3618, 0.2462, 0.2233},
24032 {0.0899, 0.3252, 0.3360, 0.2488}},
24033 {
24034 {0.1921, 0.2601, 0.3243, 0.2234},
24035 {0.2793, 0.1475, 0.3737, 0.1995},
24036 {0.3080, 0.1647, 0.3251, 0.2022},
24037 {0.1779, 0.2775, 0.4627, 0.0818}},
24038 {
24039 {0.2277, 0.2451, 0.0890, 0.4382},
24040 {0.2204, 0.1521, 0.2375, 0.3901},
24041 {0.3020, 0.2435, 0.2733, 0.1812},
24042 {0.1460, 0.5086, 0.1484, 0.1969}},
24043 {
24044 {0.1033, 0.3078, 0.3514, 0.2375},
24045 {0.1975, 0.3882, 0.2242, 0.1902},
24046 {0.1757, 0.3271, 0.2135, 0.2837},
24047 {0.0317, 0.4758, 0.1938, 0.2987}},
24048 {
24049 {0.2521, 0.1803, 0.3876, 0.1800},
24050 {0.2638, 0.1809, 0.3444, 0.2109},
24051 {0.1905, 0.2142, 0.4319, 0.1634},
24052 {0.1880, 0.1896, 0.4506, 0.1718}},
24053 {
24054 {0.2563, 0.2880, 0.1594, 0.2964},
24055 {0.2691, 0.2314, 0.2267, 0.2728},
24056 {0.3550, 0.1644, 0.2630, 0.2176},
24057 {0.1406, 0.3852, 0.0947, 0.3794}},
24058 {
24059 {0.1686, 0.2742, 0.3812, 0.1760},
24060 {0.1709, 0.3912, 0.2627, 0.1751},
24061 {0.1545, 0.3778, 0.1677, 0.3000},
24062 {0.0760, 0.3074, 0.3775, 0.2392}},
24063 {
24064 {0.2070, 0.2096, 0.3969, 0.1865},
24065 {0.3060, 0.2249, 0.3239, 0.1452},
24066 {0.1538, 0.1677, 0.5084, 0.1701},
24067 {0.1967, 0.2192, 0.5065, 0.0776}},
24068 {
24069 {0.3191, 0.2351, 0.1526, 0.2932},
24070 {0.2107, 0.2576, 0.2305, 0.3012},
24071 {0.3544, 0.2294, 0.2016, 0.2146},
24072 {0.0592, 0.4898, 0.1207, 0.3303}},
24073 {
24074 {0.2256, 0.1764, 0.3950, 0.2029},
24075 {0.1131, 0.3011, 0.2813, 0.3045},
24076 {0.1635, 0.2968, 0.1912, 0.3486},
24077 {0.0341, 0.4113, 0.3592, 0.1954}},
24078 {
24079 {0.3358, 0.1638, 0.2341, 0.2663},
24080 {0.1938, 0.2393, 0.2767, 0.2902},
24081 {0.2475, 0.2723, 0.3544, 0.1257},
24082 {0.1661, 0.1705, 0.5285, 0.1350}},
24083 {
24084 {0.3558, 0.2364, 0.1739, 0.2338},
24085 {0.2705, 0.2154, 0.1971, 0.3169},
24086 {0.3649, 0.1695, 0.2536, 0.2120},
24087 {0.1548, 0.3832, 0.1533, 0.3087}},
24088 {
24089 {0.1603, 0.3895, 0.2579, 0.1922},
24090 {0.0735, 0.4234, 0.2110, 0.2920},
24091 {0.1318, 0.3333, 0.2991, 0.2358},
24092 {0.0988, 0.4458, 0.2535, 0.2019}},
24093 {
24094 {0.2577, 0.1453, 0.3420, 0.2550},
24095 {0.3914, 0.1984, 0.2073, 0.2028},
24096 {0.2632, 0.1501, 0.3957, 0.1910},
24097 {0.1723, 0.2472, 0.4449, 0.1355}},
24098 {
24099 {0.3289, 0.2702, 0.0757, 0.3251},
24100 {0.1753, 0.2709, 0.2617, 0.2921},
24101 {0.3709, 0.2285, 0.2439, 0.1568},
24102 {0.1342, 0.2473, 0.3453, 0.2732}},
24103 {
24104 {0.1276, 0.3385, 0.3688, 0.1650},
24105 {0.2380, 0.3806, 0.1730, 0.2085},
24106 {0.1012, 0.2209, 0.2795, 0.3984},
24107 {0.0497, 0.4381, 0.3415, 0.1706}},
24108 {
24109 {0.2952, 0.2396, 0.3301, 0.1351},
24110 {0.3938, 0.1291, 0.3015, 0.1756},
24111 {0.2833, 0.2335, 0.2402, 0.2430},
24112 {0.1163, 0.2802, 0.5431, 0.0604}},
24113 {
24114 {0.3657, 0.3057, 0.1216, 0.2071},
24115 {0.2748, 0.2695, 0.2034, 0.2523},
24116 {0.4604, 0.2054, 0.1559, 0.1783},
24117 {0.1709, 0.2670, 0.1061, 0.4560}},
24118 {
24119 {0.1490, 0.3740, 0.2743, 0.2027},
24120 {0.1185, 0.3373, 0.2592, 0.2850},
24121 {0.1138, 0.4681, 0.0841, 0.3339},
24122 {0.0383, 0.5524, 0.2482, 0.1610}},
24123 {
24124 {0.2729, 0.3237, 0.2066, 0.1968},
24125 {0.2532, 0.2363, 0.2746, 0.2358},
24126 {0.2754, 0.1447, 0.4178, 0.1621},
24127 {0.1496, 0.3468, 0.3884, 0.1152}},
24128 {
24129 {0.4584, 0.1820, 0.1647, 0.1950},
24130 {0.3371, 0.1786, 0.2229, 0.2614},
24131 {0.2968, 0.2622, 0.2799, 0.1611},
24132 {0.1160, 0.3106, 0.2469, 0.3265}},
24133 {
24134 {0.1587, 0.3666, 0.3209, 0.1538},
24135 {0.1748, 0.4185, 0.1872, 0.2196},
24136 {0.0715, 0.4385, 0.1462, 0.3438},
24137 {0.0952, 0.3477, 0.3885, 0.1686}},
24138 {
24139 {0.2402, 0.1682, 0.5241, 0.0675},
24140 {0.3069, 0.2304, 0.3122, 0.1505},
24141 {0.3486, 0.1786, 0.2900, 0.1828},
24142 {0.2006, 0.2370, 0.4397, 0.1227}}},
24143
24144 { /* Splice_Site: F2_GT; Species: Asper */
24145 {
24146 {0.1013, 0.1013, 0.1013, 0.1013},
24147 {0.3552, 0.3552, 0.3552, 0.3552},
24148 {0.3015, 0.3015, 0.3015, 0.3015},
24149 {0.2420, 0.2420, 0.2420, 0.2420}},
24150 {
24151 {0.4354, 0.1197, 0.2140, 0.2309},
24152 {0.3396, 0.2297, 0.3027, 0.1280},
24153 {0.2399, 0.2879, 0.3456, 0.1267},
24154 {0.0715, 0.2934, 0.5200, 0.1152}},
24155 {
24156 {0.3329, 0.2209, 0.1318, 0.3144},
24157 {0.2894, 0.2208, 0.2415, 0.2483},
24158 {0.3091, 0.2149, 0.2718, 0.2042},
24159 {0.0816, 0.3735, 0.2947, 0.2502}},
24160 {
24161 {0.1375, 0.2637, 0.3599, 0.2389},
24162 {0.2112, 0.4261, 0.2031, 0.1596},
24163 {0.1765, 0.3604, 0.1463, 0.3168},
24164 {0.0932, 0.4739, 0.2536, 0.1793}},
24165 {
24166 {0.2556, 0.2264, 0.4081, 0.1100},
24167 {0.3603, 0.1356, 0.2111, 0.2930},
24168 {0.2271, 0.4102, 0.2046, 0.1581},
24169 {0.1943, 0.2525, 0.4747, 0.0785}},
24170 {
24171 {0.2634, 0.2918, 0.1606, 0.2842},
24172 {0.2729, 0.2354, 0.1655, 0.3262},
24173 {0.3384, 0.2786, 0.1865, 0.1965},
24174 {0.2038, 0.2152, 0.0887, 0.4923}},
24175 {
24176 {0.0766, 0.4395, 0.2640, 0.2200},
24177 {0.1461, 0.3898, 0.1320, 0.3322},
24178 {0.2571, 0.4298, 0.1354, 0.1778},
24179 {0.0362, 0.4445, 0.2803, 0.2390}},
24180 {
24181 {0.3405, 0.3028, 0.3096, 0.0472},
24182 {0.3946, 0.1589, 0.2970, 0.1495},
24183 {0.2972, 0.2858, 0.2345, 0.1825},
24184 {0.2736, 0.2704, 0.3386, 0.1174}},
24185 {
24186 {0.2349, 0.4181, 0.1175, 0.2295},
24187 {0.2637, 0.2693, 0.1453, 0.3217},
24188 {0.3062, 0.2025, 0.3239, 0.1673},
24189 {0.3380, 0.2025, 0.0860, 0.3734}},
24190 {
24191 {0.1634, 0.4530, 0.2383, 0.1452},
24192 {0.1555, 0.4186, 0.1960, 0.2299},
24193 {0.0636, 0.4708, 0.0305, 0.4350},
24194 {0.0957, 0.4850, 0.2227, 0.1966}},
24195 {
24196 {0.1298, 0.1842, 0.4024, 0.2836},
24197 {0.3189, 0.2338, 0.3080, 0.1394},
24198 {0.3042, 0.1784, 0.3675, 0.1499},
24199 {0.1438, 0.2656, 0.5217, 0.0690}},
24200 {
24201 {0.3126, 0.3747, 0.1578, 0.1549},
24202 {0.2161, 0.1960, 0.1277, 0.4601},
24203 {0.3417, 0.1020, 0.2675, 0.2887},
24204 {0.1157, 0.4340, 0.1596, 0.2906}},
24205 {
24206 {0.0992, 0.2811, 0.3718, 0.2478},
24207 {0.0951, 0.4608, 0.1364, 0.3078},
24208 {0.1162, 0.2338, 0.1495, 0.5006},
24209 {0.0751, 0.4222, 0.3056, 0.1971}},
24210 {
24211 {0.4202, 0.2329, 0.2946, 0.0522},
24212 {0.3386, 0.1882, 0.2998, 0.1734},
24213 {0.3385, 0.2038, 0.3053, 0.1524},
24214 {0.2298, 0.1341, 0.3607, 0.2754}},
24215 {
24216 {0.2264, 0.1801, 0.1417, 0.4518},
24217 {0.1983, 0.2143, 0.1581, 0.4294},
24218 {0.2269, 0.2428, 0.3347, 0.1955},
24219 {0.2477, 0.4853, 0.1209, 0.1461}},
24220 {
24221 {0.0734, 0.3940, 0.3570, 0.1755},
24222 {0.1944, 0.3239, 0.2876, 0.1941},
24223 {0.1172, 0.5266, 0.1333, 0.2229},
24224 {0.1081, 0.4355, 0.2723, 0.1841}},
24225 {
24226 {0.1829, 0.1705, 0.3687, 0.2779},
24227 {0.2568, 0.1884, 0.2382, 0.3167},
24228 {0.1409, 0.2557, 0.3485, 0.2549},
24229 {0.2884, 0.2390, 0.3264, 0.1463}},
24230 {
24231 {0.3071, 0.1497, 0.1995, 0.3437},
24232 {0.2569, 0.2490, 0.2585, 0.2356},
24233 {0.4144, 0.2910, 0.2001, 0.0946},
24234 {0.2417, 0.2432, 0.1503, 0.3648}},
24235 {
24236 {0.0925, 0.3027, 0.3479, 0.2569},
24237 {0.1178, 0.4163, 0.2053, 0.2606},
24238 {0.1120, 0.3270, 0.3120, 0.2489},
24239 {0.0425, 0.5114, 0.2825, 0.1637}},
24240 {
24241 {0.1207, 0.2437, 0.3238, 0.3118},
24242 {0.2953, 0.2560, 0.2573, 0.1913},
24243 {0.2306, 0.2527, 0.3304, 0.1863},
24244 {0.2168, 0.3007, 0.3132, 0.1693}},
24245 {
24246 {0.2520, 0.3276, 0.0899, 0.3305},
24247 {0.2319, 0.2603, 0.2082, 0.2996},
24248 {0.1469, 0.2456, 0.2647, 0.3428},
24249 {0.2093, 0.3900, 0.1121, 0.2886}},
24250 {
24251 {0.0558, 0.4526, 0.3803, 0.1113},
24252 {0.1106, 0.3815, 0.1354, 0.3725},
24253 {0.1575, 0.3105, 0.2486, 0.2834},
24254 {0.1264, 0.3890, 0.2180, 0.2666}},
24255 {
24256 {0.1459, 0.2984, 0.4049, 0.1508},
24257 {0.3447, 0.0700, 0.3345, 0.2508},
24258 {0.1689, 0.2187, 0.4194, 0.1930},
24259 {0.1467, 0.2323, 0.4115, 0.2095}},
24260 {
24261 {0.3868, 0.2436, 0.1229, 0.2467},
24262 {0.2885, 0.2237, 0.1936, 0.2942},
24263 {0.3585, 0.2162, 0.2154, 0.2098},
24264 {0.2624, 0.3130, 0.1569, 0.2676}},
24265 {
24266 {0.0864, 0.4400, 0.3196, 0.1540},
24267 {0.1322, 0.3652, 0.2271, 0.2755},
24268 {0.1255, 0.3395, 0.3398, 0.1952},
24269 {0.0733, 0.5061, 0.2626, 0.1579}},
24270 {
24271 {0.1164, 0.1060, 0.5594, 0.2182},
24272 {0.2681, 0.2052, 0.3410, 0.1857},
24273 {0.2310, 0.2357, 0.3372, 0.1961},
24274 {0.0898, 0.2569, 0.4992, 0.1540}},
24275 {
24276 {0.3843, 0.1909, 0.1828, 0.2421},
24277 {0.3649, 0.1296, 0.2363, 0.2692},
24278 {0.2697, 0.2410, 0.2591, 0.2302},
24279 {0.2340, 0.3975, 0.1495, 0.2191}},
24280 {
24281 {0.0735, 0.5120, 0.2003, 0.2141},
24282 {0.0709, 0.4472, 0.1884, 0.2935},
24283 {0.0773, 0.3322, 0.1016, 0.4888},
24284 {0.0717, 0.4383, 0.2602, 0.2297}},
24285 {
24286 {0.3132, 0.1499, 0.3096, 0.2273},
24287 {0.4396, 0.1170, 0.2642, 0.1792},
24288 {0.3214, 0.2997, 0.2011, 0.1778},
24289 {0.1698, 0.2683, 0.4134, 0.1485}},
24290 {
24291 {0.2583, 0.2711, 0.1412, 0.3294},
24292 {0.2600, 0.3135, 0.1669, 0.2596},
24293 {0.2777, 0.3364, 0.2056, 0.1803},
24294 {0.2631, 0.3898, 0.1579, 0.1892}},
24295 {
24296 {0.1739, 0.2728, 0.3800, 0.1732},
24297 {0.1887, 0.4615, 0.1240, 0.2258},
24298 {0.1011, 0.3355, 0.1304, 0.4330},
24299 {0.0450, 0.5007, 0.3225, 0.1318}},
24300 {
24301 {0.1619, 0.1744, 0.4600, 0.2037},
24302 {0.3425, 0.2238, 0.2543, 0.1794},
24303 {0.1874, 0.3032, 0.3203, 0.1891},
24304 {0.2267, 0.1957, 0.4490, 0.1286}},
24305 {
24306 {0.3144, 0.2487, 0.0867, 0.3502},
24307 {0.1971, 0.2017, 0.2343, 0.3668},
24308 {0.2829, 0.2438, 0.3115, 0.1618},
24309 {0.2358, 0.1920, 0.1905, 0.3817}},
24310 {
24311 {0.1040, 0.4425, 0.3449, 0.1086},
24312 {0.1275, 0.3260, 0.1483, 0.3982},
24313 {0.0258, 0.4111, 0.1574, 0.4058},
24314 {0.0912, 0.4061, 0.2751, 0.2277}},
24315 {
24316 {0.1247, 0.1277, 0.4414, 0.3062},
24317 {0.4236, 0.1433, 0.2631, 0.1699},
24318 {0.3863, 0.1328, 0.3283, 0.1526},
24319 {0.2235, 0.2433, 0.4261, 0.1072}},
24320 {
24321 {0.3376, 0.2514, 0.1048, 0.3063},
24322 {0.2317, 0.2983, 0.1584, 0.3116},
24323 {0.2839, 0.2115, 0.2603, 0.2443},
24324 {0.1492, 0.2727, 0.1388, 0.4392}},
24325 {
24326 {0.1628, 0.2774, 0.3246, 0.2352},
24327 {0.1595, 0.4615, 0.1765, 0.2025},
24328 {0.0973, 0.4820, 0.0326, 0.3880},
24329 {0.0567, 0.5182, 0.2010, 0.2241}},
24330 {
24331 {0.1934, 0.1886, 0.3283, 0.2898},
24332 {0.2566, 0.1942, 0.2962, 0.2531},
24333 {0.2817, 0.1959, 0.3560, 0.1664},
24334 {0.1130, 0.2965, 0.5462, 0.0443}},
24335 {
24336 {0.3604, 0.2355, 0.0484, 0.3557},
24337 {0.2319, 0.3820, 0.2080, 0.1781},
24338 {0.1936, 0.3364, 0.2464, 0.2235},
24339 {0.2741, 0.3091, 0.2377, 0.1791}},
24340 {
24341 {0.1142, 0.3304, 0.3336, 0.2218},
24342 {0.1590, 0.3530, 0.1569, 0.3311},
24343 {0.1151, 0.2663, 0.2924, 0.3261},
24344 {0.0957, 0.4283, 0.3790, 0.0970}},
24345 {
24346 {0.2740, 0.1817, 0.1772, 0.3671},
24347 {0.4235, 0.0949, 0.2917, 0.1899},
24348 {0.1792, 0.2014, 0.4001, 0.2193},
24349 {0.1129, 0.3420, 0.3653, 0.1798}},
24350 {
24351 {0.3344, 0.1717, 0.1083, 0.3856},
24352 {0.2344, 0.2328, 0.1739, 0.3589},
24353 {0.3834, 0.2240, 0.2182, 0.1744},
24354 {0.2083, 0.2794, 0.2332, 0.2791}},
24355 {
24356 {0.1328, 0.2963, 0.4187, 0.1522},
24357 {0.1236, 0.3841, 0.1182, 0.3740},
24358 {0.0904, 0.4864, 0.2752, 0.1480},
24359 {0.0413, 0.3208, 0.3699, 0.2679}},
24360 {
24361 {0.2860, 0.2369, 0.3616, 0.1155},
24362 {0.3057, 0.2435, 0.3064, 0.1445},
24363 {0.2160, 0.3702, 0.3201, 0.0938},
24364 {0.1431, 0.2340, 0.5096, 0.1133}},
24365 {
24366 {0.2768, 0.2578, 0.1377, 0.3277},
24367 {0.2450, 0.3609, 0.0971, 0.2970},
24368 {0.2351, 0.2448, 0.3028, 0.2173},
24369 {0.2411, 0.3867, 0.0483, 0.3238}},
24370 {
24371 {0.0731, 0.3474, 0.3507, 0.2289},
24372 {0.1694, 0.3937, 0.1758, 0.2612},
24373 {0.2007, 0.2606, 0.1648, 0.3738},
24374 {0.0000, 0.3814, 0.3430, 0.2757}},
24375 {
24376 {0.3359, 0.1138, 0.4441, 0.1062},
24377 {0.3974, 0.2035, 0.2528, 0.1462},
24378 {0.2763, 0.2631, 0.3310, 0.1296},
24379 {0.1958, 0.3443, 0.4021, 0.0577}},
24380 {
24381 {0.3251, 0.3394, 0.0770, 0.2585},
24382 {0.2982, 0.1612, 0.2264, 0.3142},
24383 {0.1958, 0.2662, 0.3032, 0.2349},
24384 {0.1996, 0.2428, 0.1472, 0.4105}},
24385 {
24386 {0.1469, 0.3040, 0.4421, 0.1070},
24387 {0.1982, 0.3325, 0.1059, 0.3633},
24388 {0.0594, 0.3105, 0.2001, 0.4300},
24389 {0.0809, 0.3015, 0.3406, 0.2770}},
24390 {
24391 {0.2807, 0.0812, 0.5024, 0.1356},
24392 {0.2325, 0.2427, 0.4878, 0.0370},
24393 {0.1396, 0.2171, 0.5641, 0.0792},
24394 {0.0974, 0.2758, 0.6065, 0.0202}},
24395 {
24396 {0.0000, 0.0000, 1.0000, 0.0000},
24397 {0.0000, 0.0000, 1.0000, 0.0000},
24398 {0.0000, 0.0000, 1.0000, 0.0000},
24399 {0.0000, 0.0000, 1.0000, 0.0000}},
24400 {
24401 {0.0000, 0.0000, 0.0000, 0.0000},
24402 {0.0000, 0.0000, 0.0000, 0.0000},
24403 {0.0000, 0.0000, 0.0000, 1.0000},
24404 {0.0000, 0.0000, 0.0000, 0.0000}},
24405 {
24406 {0.0000, 0.0000, 0.0000, 0.0000},
24407 {0.0000, 0.0000, 0.0000, 0.0000},
24408 {0.0000, 0.0000, 0.0000, 0.0000},
24409 {0.0950, 0.2758, 0.4823, 0.1469}},
24410 {
24411 {0.3525, 0.1255, 0.1342, 0.3878},
24412 {0.3227, 0.1043, 0.2514, 0.3216},
24413 {0.2479, 0.1768, 0.3459, 0.2295},
24414 {0.1835, 0.4688, 0.0771, 0.2705}},
24415 {
24416 {0.1471, 0.3953, 0.2484, 0.2091},
24417 {0.2039, 0.3752, 0.1844, 0.2365},
24418 {0.1959, 0.3945, 0.1309, 0.2787},
24419 {0.0969, 0.4822, 0.2812, 0.1397}},
24420 {
24421 {0.3954, 0.1744, 0.2154, 0.2148},
24422 {0.2404, 0.2328, 0.3082, 0.2186},
24423 {0.1873, 0.2322, 0.4213, 0.1591},
24424 {0.0805, 0.2858, 0.4720, 0.1617}},
24425 {
24426 {0.3176, 0.2225, 0.1266, 0.3334},
24427 {0.2824, 0.2817, 0.1679, 0.2680},
24428 {0.3121, 0.1866, 0.2907, 0.2106},
24429 {0.2419, 0.2942, 0.0900, 0.3739}},
24430 {
24431 {0.0786, 0.3238, 0.2474, 0.3502},
24432 {0.0699, 0.2967, 0.2113, 0.4221},
24433 {0.1200, 0.3308, 0.0326, 0.5167},
24434 {0.0582, 0.3207, 0.3564, 0.2647}},
24435 {
24436 {0.2014, 0.1465, 0.4295, 0.2227},
24437 {0.4079, 0.2453, 0.2421, 0.1047},
24438 {0.2711, 0.3195, 0.2651, 0.1442},
24439 {0.2120, 0.2589, 0.4074, 0.1217}},
24440 {
24441 {0.3129, 0.2730, 0.1560, 0.2581},
24442 {0.2619, 0.1899, 0.1971, 0.3511},
24443 {0.3459, 0.2544, 0.1903, 0.2095},
24444 {0.3115, 0.1294, 0.0917, 0.4674}},
24445 {
24446 {0.1463, 0.2880, 0.3435, 0.2221},
24447 {0.0972, 0.4468, 0.2177, 0.2383},
24448 {0.1623, 0.4730, 0.0965, 0.2682},
24449 {0.0000, 0.3634, 0.4077, 0.2289}},
24450 {
24451 {0.3041, 0.2253, 0.4158, 0.0549},
24452 {0.3791, 0.1334, 0.2675, 0.2200},
24453 {0.3433, 0.2083, 0.2746, 0.1738},
24454 {0.2119, 0.1668, 0.5014, 0.1199}},
24455 {
24456 {0.3728, 0.2341, 0.1566, 0.2364},
24457 {0.4210, 0.1962, 0.1571, 0.2257},
24458 {0.2889, 0.3149, 0.2613, 0.1350},
24459 {0.3353, 0.3678, 0.0314, 0.2655}},
24460 {
24461 {0.0483, 0.3753, 0.4158, 0.1606},
24462 {0.1034, 0.4739, 0.1792, 0.2435},
24463 {0.0641, 0.3135, 0.1959, 0.4266},
24464 {0.1726, 0.2694, 0.2932, 0.2647}},
24465 {
24466 {0.4459, 0.1907, 0.3634, 0.0000},
24467 {0.3689, 0.1183, 0.2595, 0.2533},
24468 {0.2717, 0.2554, 0.3173, 0.1555},
24469 {0.2470, 0.1282, 0.4433, 0.1815}},
24470 {
24471 {0.2955, 0.2378, 0.1308, 0.3359},
24472 {0.3286, 0.1681, 0.1703, 0.3330},
24473 {0.3382, 0.2918, 0.2393, 0.1307},
24474 {0.2678, 0.2490, 0.1216, 0.3615}},
24475 {
24476 {0.1374, 0.3252, 0.3958, 0.1416},
24477 {0.1371, 0.4388, 0.1937, 0.2303},
24478 {0.1067, 0.4681, 0.1616, 0.2636},
24479 {0.0607, 0.4298, 0.3413, 0.1682}},
24480 {
24481 {0.2903, 0.3575, 0.3037, 0.0485},
24482 {0.2885, 0.2499, 0.2628, 0.1988},
24483 {0.3058, 0.1367, 0.4003, 0.1571},
24484 {0.1788, 0.3170, 0.3219, 0.1824}},
24485 {
24486 {0.3227, 0.2297, 0.1425, 0.3051},
24487 {0.2541, 0.3033, 0.1152, 0.3274},
24488 {0.3166, 0.2299, 0.2095, 0.2439},
24489 {0.0712, 0.4439, 0.2021, 0.2828}},
24490 {
24491 {0.2304, 0.1896, 0.4074, 0.1726},
24492 {0.1214, 0.3595, 0.1982, 0.3209},
24493 {0.0970, 0.5351, 0.1992, 0.1687},
24494 {0.1355, 0.3743, 0.3175, 0.1728}},
24495 {
24496 {0.1888, 0.2259, 0.4380, 0.1473},
24497 {0.3538, 0.1920, 0.3174, 0.1368},
24498 {0.2549, 0.1982, 0.3314, 0.2155},
24499 {0.3504, 0.1790, 0.3427, 0.1279}},
24500 {
24501 {0.3946, 0.3594, 0.0950, 0.1510},
24502 {0.2677, 0.3116, 0.1185, 0.3022},
24503 {0.3245, 0.2179, 0.2459, 0.2117},
24504 {0.0700, 0.3960, 0.1090, 0.4250}},
24505 {
24506 {0.1137, 0.2840, 0.4847, 0.1176},
24507 {0.1123, 0.4476, 0.2031, 0.2370},
24508 {0.1509, 0.3336, 0.0374, 0.4781},
24509 {0.0240, 0.5649, 0.2019, 0.2091}},
24510 {
24511 {0.2240, 0.1832, 0.2984, 0.2945},
24512 {0.2856, 0.2136, 0.2693, 0.2315},
24513 {0.1546, 0.2125, 0.4392, 0.1937},
24514 {0.2000, 0.2676, 0.3651, 0.1672}},
24515 {
24516 {0.4259, 0.2787, 0.0755, 0.2198},
24517 {0.2258, 0.2240, 0.1479, 0.4024},
24518 {0.3027, 0.2324, 0.2540, 0.2108},
24519 {0.2094, 0.3501, 0.0776, 0.3630}},
24520 {
24521 {0.0987, 0.4973, 0.2096, 0.1944},
24522 {0.1920, 0.3604, 0.1449, 0.3027},
24523 {0.1073, 0.3819, 0.2229, 0.2879},
24524 {0.0562, 0.3129, 0.2789, 0.3520}},
24525 {
24526 {0.1562, 0.0956, 0.4447, 0.3035},
24527 {0.3799, 0.1000, 0.3134, 0.2067},
24528 {0.2831, 0.2575, 0.3017, 0.1577},
24529 {0.1988, 0.2154, 0.4698, 0.1159}},
24530 {
24531 {0.3189, 0.2205, 0.1209, 0.3396},
24532 {0.3694, 0.0687, 0.2057, 0.3561},
24533 {0.3143, 0.2281, 0.2126, 0.2450},
24534 {0.1653, 0.4022, 0.1226, 0.3098}},
24535 {
24536 {0.1147, 0.3026, 0.3726, 0.2102},
24537 {0.1690, 0.3609, 0.2493, 0.2208},
24538 {0.1012, 0.3316, 0.1008, 0.4664},
24539 {0.0542, 0.3810, 0.3028, 0.2620}},
24540 {
24541 {0.1031, 0.2153, 0.4192, 0.2623},
24542 {0.2287, 0.1909, 0.3105, 0.2700},
24543 {0.2244, 0.2065, 0.4111, 0.1580},
24544 {0.2083, 0.2290, 0.3965, 0.1662}},
24545 {
24546 {0.3765, 0.2188, 0.1076, 0.2972},
24547 {0.2457, 0.2526, 0.1544, 0.3473},
24548 {0.2724, 0.2571, 0.3163, 0.1542},
24549 {0.2363, 0.1798, 0.2731, 0.3107}},
24550 {
24551 {0.1483, 0.3971, 0.2200, 0.2345},
24552 {0.1736, 0.3103, 0.2773, 0.2387},
24553 {0.0248, 0.3408, 0.1972, 0.4372},
24554 {0.0192, 0.6143, 0.1932, 0.1733}},
24555 {
24556 {0.3735, 0.1193, 0.3785, 0.1286},
24557 {0.2769, 0.2690, 0.2684, 0.1856},
24558 {0.3374, 0.1023, 0.2532, 0.3070},
24559 {0.2075, 0.1059, 0.5036, 0.1831}},
24560 {
24561 {0.2527, 0.2663, 0.1242, 0.3568},
24562 {0.3635, 0.0648, 0.1949, 0.3768},
24563 {0.2145, 0.3548, 0.2347, 0.1959},
24564 {0.1624, 0.2946, 0.1388, 0.4041}},
24565 {
24566 {0.0729, 0.4116, 0.4203, 0.0952},
24567 {0.1043, 0.4074, 0.1197, 0.3687},
24568 {0.0636, 0.5548, 0.0631, 0.3186},
24569 {0.1214, 0.4589, 0.2258, 0.1939}},
24570 {
24571 {0.1795, 0.2250, 0.2916, 0.3039},
24572 {0.3890, 0.1726, 0.2274, 0.2110},
24573 {0.3218, 0.2268, 0.3287, 0.1228},
24574 {0.2319, 0.3366, 0.3599, 0.0716}},
24575 {
24576 {0.2545, 0.2709, 0.1929, 0.2817},
24577 {0.4113, 0.2246, 0.1483, 0.2158},
24578 {0.2923, 0.2953, 0.2535, 0.1589},
24579 {0.0999, 0.3450, 0.1279, 0.4272}},
24580 {
24581 {0.0774, 0.3097, 0.5321, 0.0808},
24582 {0.1404, 0.4498, 0.1234, 0.2864},
24583 {0.0313, 0.2937, 0.2894, 0.3856},
24584 {0.0453, 0.3865, 0.4134, 0.1548}},
24585 {
24586 {0.2136, 0.1453, 0.2079, 0.4331},
24587 {0.2039, 0.2955, 0.2415, 0.2591},
24588 {0.3444, 0.1178, 0.3803, 0.1575},
24589 {0.2096, 0.2123, 0.4444, 0.1338}},
24590 {
24591 {0.2908, 0.3589, 0.1319, 0.2183},
24592 {0.3297, 0.1968, 0.1624, 0.3110},
24593 {0.3010, 0.2551, 0.2683, 0.1755},
24594 {0.1553, 0.2864, 0.1308, 0.4275}},
24595 {
24596 {0.1263, 0.3464, 0.2899, 0.2374},
24597 {0.1469, 0.3966, 0.1856, 0.2709},
24598 {0.0000, 0.5074, 0.0297, 0.4629},
24599 {0.0626, 0.3654, 0.2929, 0.2791}},
24600 {
24601 {0.2535, 0.1983, 0.2440, 0.3043},
24602 {0.3503, 0.2844, 0.2411, 0.1243},
24603 {0.1934, 0.2343, 0.2558, 0.3165},
24604 {0.2237, 0.2460, 0.4731, 0.0573}},
24605 {
24606 {0.2679, 0.2548, 0.1697, 0.3077},
24607 {0.2863, 0.2865, 0.2432, 0.1839},
24608 {0.2608, 0.3021, 0.2762, 0.1609},
24609 {0.1713, 0.4199, 0.1076, 0.3012}},
24610 {
24611 {0.0000, 0.4341, 0.4583, 0.1076},
24612 {0.2275, 0.3082, 0.1279, 0.3365},
24613 {0.1078, 0.3176, 0.2167, 0.3579},
24614 {0.0760, 0.3880, 0.2613, 0.2747}},
24615 {
24616 {0.3634, 0.1597, 0.3224, 0.1545},
24617 {0.2287, 0.1415, 0.4469, 0.1830},
24618 {0.2342, 0.2160, 0.3337, 0.2161},
24619 {0.1709, 0.2972, 0.4503, 0.0817}},
24620 {
24621 {0.3295, 0.2525, 0.1713, 0.2467},
24622 {0.2184, 0.3249, 0.1120, 0.3446},
24623 {0.3030, 0.2652, 0.2338, 0.1979},
24624 {0.3742, 0.2430, 0.2145, 0.1684}},
24625 {
24626 {0.1095, 0.3072, 0.3774, 0.2059},
24627 {0.1443, 0.4599, 0.1222, 0.2736},
24628 {0.0284, 0.2383, 0.1784, 0.5549},
24629 {0.0490, 0.4110, 0.3947, 0.1452}},
24630 {
24631 {0.3048, 0.2580, 0.3080, 0.1292},
24632 {0.2806, 0.0931, 0.2927, 0.3336},
24633 {0.2640, 0.2665, 0.3459, 0.1236},
24634 {0.1049, 0.2389, 0.4300, 0.2263}},
24635 {
24636 {0.3165, 0.3353, 0.0820, 0.2662},
24637 {0.2975, 0.3136, 0.1943, 0.1946},
24638 {0.3347, 0.2598, 0.1938, 0.2116},
24639 {0.1975, 0.2491, 0.1499, 0.4035}},
24640 {
24641 {0.1758, 0.2949, 0.3236, 0.2057},
24642 {0.1993, 0.4055, 0.1605, 0.2347},
24643 {0.0696, 0.3557, 0.3186, 0.2562},
24644 {0.0871, 0.3631, 0.3399, 0.2099}},
24645 {
24646 {0.2095, 0.1584, 0.4814, 0.1507},
24647 {0.3835, 0.1291, 0.2685, 0.2189},
24648 {0.2393, 0.1625, 0.3990, 0.1992},
24649 {0.2486, 0.2786, 0.3467, 0.1261}},
24650 {
24651 {0.3519, 0.2985, 0.1557, 0.1938},
24652 {0.2921, 0.1962, 0.1832, 0.3285},
24653 {0.2876, 0.1705, 0.3395, 0.2024},
24654 {0.2459, 0.3028, 0.2501, 0.2013}}},
24655
24656 { /* Splice_Site: F0_GT; Species: Asper */
24657 {
24658 {0.2728, 0.2728, 0.2728, 0.2728},
24659 {0.2236, 0.2236, 0.2236, 0.2236},
24660 {0.3225, 0.3225, 0.3225, 0.3225},
24661 {0.1810, 0.1810, 0.1810, 0.1810}},
24662 {
24663 {0.3808, 0.3114, 0.0657, 0.2421},
24664 {0.2930, 0.2979, 0.2987, 0.1104},
24665 {0.3588, 0.2032, 0.2465, 0.1916},
24666 {0.2738, 0.2508, 0.1735, 0.3019}},
24667 {
24668 {0.1610, 0.3616, 0.2790, 0.1985},
24669 {0.0668, 0.3218, 0.3026, 0.3088},
24670 {0.1293, 0.2770, 0.2873, 0.3064},
24671 {0.0867, 0.3517, 0.3854, 0.1763}},
24672 {
24673 {0.1096, 0.3643, 0.1610, 0.3652},
24674 {0.3342, 0.1979, 0.2709, 0.1970},
24675 {0.2347, 0.2776, 0.3463, 0.1413},
24676 {0.0702, 0.2223, 0.5541, 0.1534}},
24677 {
24678 {0.4539, 0.3765, 0.0000, 0.1696},
24679 {0.1249, 0.3393, 0.1520, 0.3838},
24680 {0.4008, 0.2069, 0.1804, 0.2120},
24681 {0.0666, 0.2588, 0.2917, 0.3830}},
24682 {
24683 {0.1148, 0.2967, 0.4139, 0.1746},
24684 {0.0830, 0.4494, 0.2579, 0.2097},
24685 {0.1246, 0.1594, 0.4494, 0.2666},
24686 {0.0637, 0.4368, 0.3094, 0.1901}},
24687 {
24688 {0.1378, 0.2027, 0.5959, 0.0636},
24689 {0.1898, 0.2817, 0.2910, 0.2375},
24690 {0.2350, 0.2680, 0.2863, 0.2107},
24691 {0.1149, 0.3852, 0.4118, 0.0881}},
24692 {
24693 {0.4349, 0.2298, 0.0000, 0.3353},
24694 {0.2434, 0.3142, 0.1856, 0.2568},
24695 {0.3727, 0.2664, 0.1635, 0.1974},
24696 {0.0676, 0.3605, 0.2656, 0.3063}},
24697 {
24698 {0.1447, 0.2530, 0.4178, 0.1844},
24699 {0.1265, 0.4559, 0.1650, 0.2525},
24700 {0.0770, 0.3513, 0.3063, 0.2654},
24701 {0.1429, 0.2849, 0.4041, 0.1680}},
24702 {
24703 {0.3268, 0.1397, 0.2938, 0.2397},
24704 {0.3095, 0.2932, 0.2892, 0.1081},
24705 {0.3728, 0.2881, 0.1699, 0.1692},
24706 {0.3357, 0.1423, 0.4947, 0.0273}},
24707 {
24708 {0.3541, 0.2864, 0.1065, 0.2530},
24709 {0.2472, 0.2590, 0.2108, 0.2830},
24710 {0.4015, 0.1600, 0.1646, 0.2739},
24711 {0.2870, 0.2802, 0.1400, 0.2928}},
24712 {
24713 {0.1088, 0.4151, 0.3065, 0.1696},
24714 {0.1982, 0.3221, 0.2809, 0.1988},
24715 {0.2833, 0.3135, 0.3238, 0.0794},
24716 {0.1353, 0.2776, 0.3651, 0.2220}},
24717 {
24718 {0.1126, 0.1469, 0.3469, 0.3936},
24719 {0.4148, 0.2504, 0.1577, 0.1771},
24720 {0.2770, 0.2260, 0.3790, 0.1179},
24721 {0.2790, 0.2011, 0.2756, 0.2443}},
24722 {
24723 {0.3181, 0.2290, 0.1238, 0.3290},
24724 {0.1622, 0.2774, 0.1989, 0.3615},
24725 {0.4353, 0.1757, 0.1489, 0.2400},
24726 {0.1154, 0.4403, 0.1810, 0.2633}},
24727 {
24728 {0.0888, 0.4253, 0.2187, 0.2672},
24729 {0.2237, 0.3225, 0.2930, 0.1609},
24730 {0.1183, 0.3117, 0.2585, 0.3115},
24731 {0.0645, 0.4009, 0.2842, 0.2505}},
24732 {
24733 {0.3003, 0.1921, 0.2500, 0.2576},
24734 {0.3977, 0.2960, 0.1443, 0.1620},
24735 {0.2503, 0.2511, 0.2457, 0.2529},
24736 {0.2001, 0.3674, 0.2789, 0.1536}},
24737 {
24738 {0.3491, 0.2182, 0.1869, 0.2458},
24739 {0.3652, 0.2738, 0.2028, 0.1583},
24740 {0.4114, 0.3075, 0.1368, 0.1443},
24741 {0.2195, 0.2498, 0.1851, 0.3456}},
24742 {
24743 {0.0695, 0.3299, 0.4197, 0.1809},
24744 {0.1365, 0.3730, 0.2113, 0.2792},
24745 {0.0983, 0.4025, 0.3300, 0.1693},
24746 {0.0622, 0.4243, 0.3449, 0.1686}},
24747 {
24748 {0.2449, 0.2776, 0.2767, 0.2008},
24749 {0.3556, 0.2234, 0.2427, 0.1784},
24750 {0.2108, 0.2732, 0.3890, 0.1270},
24751 {0.0905, 0.2448, 0.5382, 0.1265}},
24752 {
24753 {0.3827, 0.1765, 0.1493, 0.2915},
24754 {0.2622, 0.1639, 0.2446, 0.3293},
24755 {0.2770, 0.3480, 0.2722, 0.1028},
24756 {0.0804, 0.2836, 0.3582, 0.2779}},
24757 {
24758 {0.1340, 0.2066, 0.4102, 0.2492},
24759 {0.1290, 0.5024, 0.1709, 0.1977},
24760 {0.1885, 0.3122, 0.2987, 0.2005},
24761 {0.0262, 0.3659, 0.3983, 0.2096}},
24762 {
24763 {0.2017, 0.2934, 0.3614, 0.1436},
24764 {0.1911, 0.1403, 0.3881, 0.2805},
24765 {0.2499, 0.3332, 0.2280, 0.1889},
24766 {0.1137, 0.3115, 0.4628, 0.1121}},
24767 {
24768 {0.2828, 0.2484, 0.1291, 0.3398},
24769 {0.3507, 0.2592, 0.0952, 0.2949},
24770 {0.4024, 0.2128, 0.2266, 0.1583},
24771 {0.2428, 0.3912, 0.0924, 0.2736}},
24772 {
24773 {0.1437, 0.4009, 0.2699, 0.1855},
24774 {0.1133, 0.3700, 0.1979, 0.3187},
24775 {0.1598, 0.3849, 0.2077, 0.2476},
24776 {0.1496, 0.3834, 0.2448, 0.2222}},
24777 {
24778 {0.2181, 0.0000, 0.4362, 0.3456},
24779 {0.3084, 0.2919, 0.2707, 0.1290},
24780 {0.1798, 0.3084, 0.3353, 0.1766},
24781 {0.2248, 0.2255, 0.4414, 0.1083}},
24782 {
24783 {0.3998, 0.2467, 0.0981, 0.2554},
24784 {0.2498, 0.3474, 0.1251, 0.2777},
24785 {0.2978, 0.2827, 0.2079, 0.2116},
24786 {0.1082, 0.3700, 0.2227, 0.2991}},
24787 {
24788 {0.1091, 0.1742, 0.4351, 0.2816},
24789 {0.1054, 0.3602, 0.1987, 0.3357},
24790 {0.1541, 0.4055, 0.1535, 0.2869},
24791 {0.0991, 0.4811, 0.2222, 0.1976}},
24792 {
24793 {0.0554, 0.3300, 0.3371, 0.2775},
24794 {0.2620, 0.1570, 0.3884, 0.1926},
24795 {0.2812, 0.3461, 0.2763, 0.0964},
24796 {0.2636, 0.1927, 0.4135, 0.1303}},
24797 {
24798 {0.3269, 0.2475, 0.1522, 0.2734},
24799 {0.3039, 0.3047, 0.1041, 0.2873},
24800 {0.3544, 0.3116, 0.2036, 0.1304},
24801 {0.1140, 0.3825, 0.0741, 0.4295}},
24802 {
24803 {0.1216, 0.2665, 0.2444, 0.3675},
24804 {0.2435, 0.2936, 0.2488, 0.2142},
24805 {0.1572, 0.4689, 0.1667, 0.2072},
24806 {0.0000, 0.4403, 0.3396, 0.2201}},
24807 {
24808 {0.2668, 0.1891, 0.3122, 0.2318},
24809 {0.2466, 0.1210, 0.3993, 0.2331},
24810 {0.1396, 0.2636, 0.3515, 0.2454},
24811 {0.2778, 0.1858, 0.3684, 0.1680}},
24812 {
24813 {0.2904, 0.2879, 0.0782, 0.3434},
24814 {0.0655, 0.2724, 0.2631, 0.3989},
24815 {0.4095, 0.1625, 0.2443, 0.1836},
24816 {0.2605, 0.2860, 0.2344, 0.2190}},
24817 {
24818 {0.2084, 0.3610, 0.2361, 0.1945},
24819 {0.1433, 0.3356, 0.2108, 0.3103},
24820 {0.1407, 0.3176, 0.3322, 0.2095},
24821 {0.0469, 0.3225, 0.4262, 0.2044}},
24822 {
24823 {0.2550, 0.1320, 0.4856, 0.1274},
24824 {0.3793, 0.1804, 0.1674, 0.2729},
24825 {0.3244, 0.2057, 0.3068, 0.1631},
24826 {0.2147, 0.3276, 0.2923, 0.1654}},
24827 {
24828 {0.3744, 0.1383, 0.0576, 0.4297},
24829 {0.1745, 0.2807, 0.1411, 0.4037},
24830 {0.2608, 0.2984, 0.2227, 0.2180},
24831 {0.1555, 0.3707, 0.1907, 0.2831}},
24832 {
24833 {0.1440, 0.3763, 0.3364, 0.1434},
24834 {0.1386, 0.3000, 0.2808, 0.2806},
24835 {0.2063, 0.2524, 0.2867, 0.2547},
24836 {0.0850, 0.3251, 0.2585, 0.3313}},
24837 {
24838 {0.2284, 0.1818, 0.4132, 0.1766},
24839 {0.2298, 0.1483, 0.3589, 0.2630},
24840 {0.1708, 0.1932, 0.4054, 0.2307},
24841 {0.2386, 0.1920, 0.3788, 0.1907}},
24842 {
24843 {0.4288, 0.2239, 0.1184, 0.2289},
24844 {0.2712, 0.2457, 0.2113, 0.2719},
24845 {0.2912, 0.2660, 0.3050, 0.1378},
24846 {0.1883, 0.3818, 0.1057, 0.3242}},
24847 {
24848 {0.1512, 0.3779, 0.3063, 0.1646},
24849 {0.1034, 0.3288, 0.2438, 0.3239},
24850 {0.1466, 0.2741, 0.3127, 0.2666},
24851 {0.0251, 0.4000, 0.2477, 0.3271}},
24852 {
24853 {0.0527, 0.3821, 0.4054, 0.1598},
24854 {0.2659, 0.1423, 0.4028, 0.1889},
24855 {0.2629, 0.2831, 0.2678, 0.1861},
24856 {0.2511, 0.2526, 0.3371, 0.1593}},
24857 {
24858 {0.3285, 0.3039, 0.0770, 0.2907},
24859 {0.2304, 0.2858, 0.2493, 0.2344},
24860 {0.3859, 0.2811, 0.0689, 0.2642},
24861 {0.2701, 0.1711, 0.2453, 0.3134}},
24862 {
24863 {0.1213, 0.2454, 0.3492, 0.2841},
24864 {0.0452, 0.4354, 0.3222, 0.1972},
24865 {0.1656, 0.2797, 0.3482, 0.2065},
24866 {0.1166, 0.4299, 0.2267, 0.2267}},
24867 {
24868 {0.1684, 0.3635, 0.2394, 0.2287},
24869 {0.2637, 0.1557, 0.2873, 0.2933},
24870 {0.1644, 0.2984, 0.3387, 0.1986},
24871 {0.1274, 0.2060, 0.5127, 0.1538}},
24872 {
24873 {0.2264, 0.3574, 0.1250, 0.2913},
24874 {0.3376, 0.1798, 0.1035, 0.3791},
24875 {0.2996, 0.3229, 0.2065, 0.1710},
24876 {0.2507, 0.3215, 0.1902, 0.2376}},
24877 {
24878 {0.1946, 0.3478, 0.2591, 0.1985},
24879 {0.1410, 0.3241, 0.2466, 0.2883},
24880 {0.2650, 0.2154, 0.3350, 0.1846},
24881 {0.0460, 0.3138, 0.4300, 0.2102}},
24882 {
24883 {0.2397, 0.1986, 0.4401, 0.1216},
24884 {0.2099, 0.2375, 0.4138, 0.1389},
24885 {0.3379, 0.1971, 0.2931, 0.1719},
24886 {0.1837, 0.2751, 0.4325, 0.1086}},
24887 {
24888 {0.3647, 0.2914, 0.0242, 0.3197},
24889 {0.3052, 0.2666, 0.2408, 0.1874},
24890 {0.2821, 0.3655, 0.2079, 0.1445},
24891 {0.1760, 0.3889, 0.1294, 0.3057}},
24892 {
24893 {0.1702, 0.3320, 0.3073, 0.1904},
24894 {0.1060, 0.3747, 0.2823, 0.2370},
24895 {0.1504, 0.3783, 0.2715, 0.1998},
24896 {0.0526, 0.3948, 0.3847, 0.1679}},
24897 {
24898 {0.1582, 0.4451, 0.1984, 0.1983},
24899 {0.3015, 0.2126, 0.2700, 0.2159},
24900 {0.2594, 0.3529, 0.2893, 0.0984},
24901 {0.2064, 0.4015, 0.3333, 0.0588}},
24902 {
24903 {0.3678, 0.2655, 0.1197, 0.2470},
24904 {0.3561, 0.1344, 0.2825, 0.2270},
24905 {0.4555, 0.1809, 0.2171, 0.1466},
24906 {0.0000, 0.5815, 0.2891, 0.1293}},
24907 {
24908 {0.0000, 0.0000, 1.0000, 0.0000},
24909 {0.0000, 0.0000, 1.0000, 0.0000},
24910 {0.0000, 0.0000, 1.0000, 0.0000},
24911 {0.0000, 0.0000, 1.0000, 0.0000}},
24912 {
24913 {0.0000, 0.0000, 0.0000, 0.0000},
24914 {0.0000, 0.0000, 0.0000, 0.0000},
24915 {0.0000, 0.0000, 0.0000, 1.0000},
24916 {0.0000, 0.0000, 0.0000, 0.0000}},
24917 {
24918 {0.0000, 0.0000, 0.0000, 0.0000},
24919 {0.0000, 0.0000, 0.0000, 0.0000},
24920 {0.0000, 0.0000, 0.0000, 0.0000},
24921 {0.2152, 0.3270, 0.1155, 0.3423}},
24922 {
24923 {0.0000, 0.7655, 0.0000, 0.2345},
24924 {0.1293, 0.4154, 0.2766, 0.1787},
24925 {0.0000, 0.2631, 0.6815, 0.0554},
24926 {0.0349, 0.5176, 0.2647, 0.1828}},
24927 {
24928 {0.2313, 0.3337, 0.3274, 0.1076},
24929 {0.3261, 0.2684, 0.2242, 0.1814},
24930 {0.2082, 0.2077, 0.3739, 0.2103},
24931 {0.1701, 0.2391, 0.4571, 0.1337}},
24932 {
24933 {0.3961, 0.3219, 0.0455, 0.2365},
24934 {0.2538, 0.3108, 0.0932, 0.3421},
24935 {0.3474, 0.2333, 0.2135, 0.2057},
24936 {0.1769, 0.3078, 0.1384, 0.3768}},
24937 {
24938 {0.1212, 0.3567, 0.3062, 0.2159},
24939 {0.2746, 0.3466, 0.1694, 0.2094},
24940 {0.0933, 0.2855, 0.3840, 0.2371},
24941 {0.0237, 0.4442, 0.3331, 0.1991}},
24942 {
24943 {0.1800, 0.2168, 0.5142, 0.0890},
24944 {0.3716, 0.2175, 0.2167, 0.1942},
24945 {0.3387, 0.1758, 0.3727, 0.1128},
24946 {0.3343, 0.1469, 0.4590, 0.0598}},
24947 {
24948 {0.2903, 0.2536, 0.2184, 0.2377},
24949 {0.1316, 0.2629, 0.1312, 0.4743},
24950 {0.3371, 0.2961, 0.1612, 0.2056},
24951 {0.1872, 0.2865, 0.2399, 0.2864}},
24952 {
24953 {0.1870, 0.2321, 0.3715, 0.2093},
24954 {0.1968, 0.3346, 0.3125, 0.1561},
24955 {0.1363, 0.5614, 0.1298, 0.1725},
24956 {0.0439, 0.3285, 0.4755, 0.1521}},
24957 {
24958 {0.2680, 0.2542, 0.2108, 0.2670},
24959 {0.4038, 0.1730, 0.1908, 0.2324},
24960 {0.1046, 0.2880, 0.4876, 0.1199},
24961 {0.2493, 0.1095, 0.3571, 0.2840}},
24962 {
24963 {0.3761, 0.2176, 0.1384, 0.2679},
24964 {0.1743, 0.2509, 0.1443, 0.4305},
24965 {0.3358, 0.3431, 0.2273, 0.0938},
24966 {0.2032, 0.3541, 0.2304, 0.2122}},
24967 {
24968 {0.1240, 0.4254, 0.3032, 0.1474},
24969 {0.1682, 0.3728, 0.2103, 0.2487},
24970 {0.0655, 0.2644, 0.3455, 0.3245},
24971 {0.0504, 0.4743, 0.2864, 0.1889}},
24972 {
24973 {0.3427, 0.2281, 0.1583, 0.2709},
24974 {0.2152, 0.2658, 0.2718, 0.2472},
24975 {0.2000, 0.2769, 0.3451, 0.1779},
24976 {0.2504, 0.2800, 0.3600, 0.1097}},
24977 {
24978 {0.2091, 0.3423, 0.1320, 0.3166},
24979 {0.2279, 0.2033, 0.2516, 0.3172},
24980 {0.3188, 0.2465, 0.2299, 0.2048},
24981 {0.2154, 0.3323, 0.1787, 0.2735}},
24982 {
24983 {0.1271, 0.3908, 0.1728, 0.3093},
24984 {0.0670, 0.4177, 0.3093, 0.2060},
24985 {0.0984, 0.4464, 0.2467, 0.2084},
24986 {0.0652, 0.3474, 0.2938, 0.2935}},
24987 {
24988 {0.2238, 0.1346, 0.2210, 0.4206},
24989 {0.3906, 0.1652, 0.2287, 0.2155},
24990 {0.2642, 0.2643, 0.3042, 0.1673},
24991 {0.1170, 0.1855, 0.5028, 0.1947}},
24992 {
24993 {0.3497, 0.2935, 0.2622, 0.0945},
24994 {0.2721, 0.1290, 0.1602, 0.4387},
24995 {0.4421, 0.2116, 0.1715, 0.1749},
24996 {0.2024, 0.2849, 0.1713, 0.3414}},
24997 {
24998 {0.0562, 0.3657, 0.4117, 0.1664},
24999 {0.0801, 0.3410, 0.3429, 0.2361},
25000 {0.1230, 0.3415, 0.1894, 0.3461},
25001 {0.0505, 0.5123, 0.2256, 0.2116}},
25002 {
25003 {0.2491, 0.2584, 0.3325, 0.1600},
25004 {0.3292, 0.1996, 0.3777, 0.0934},
25005 {0.4072, 0.2307, 0.2055, 0.1566},
25006 {0.2087, 0.3224, 0.3367, 0.1321}},
25007 {
25008 {0.2797, 0.2800, 0.1349, 0.3055},
25009 {0.3269, 0.2506, 0.0791, 0.3434},
25010 {0.3794, 0.2214, 0.2253, 0.1739},
25011 {0.1856, 0.2851, 0.1943, 0.3350}},
25012 {
25013 {0.1591, 0.2158, 0.4277, 0.1974},
25014 {0.1935, 0.3096, 0.1867, 0.3103},
25015 {0.1201, 0.5160, 0.2868, 0.0770},
25016 {0.0823, 0.3947, 0.3254, 0.1976}},
25017 {
25018 {0.3021, 0.1317, 0.3453, 0.2208},
25019 {0.2538, 0.2312, 0.2595, 0.2554},
25020 {0.2513, 0.1723, 0.4593, 0.1170},
25021 {0.1772, 0.1970, 0.4516, 0.1742}},
25022 {
25023 {0.3217, 0.2742, 0.1003, 0.3039},
25024 {0.2476, 0.2772, 0.1911, 0.2842},
25025 {0.3892, 0.1937, 0.2559, 0.1612},
25026 {0.2942, 0.1938, 0.1921, 0.3199}},
25027 {
25028 {0.0910, 0.4368, 0.2268, 0.2454},
25029 {0.1859, 0.3476, 0.2864, 0.1800},
25030 {0.2188, 0.2829, 0.1519, 0.3464},
25031 {0.0508, 0.4331, 0.3639, 0.1522}},
25032 {
25033 {0.2875, 0.1888, 0.2357, 0.2881},
25034 {0.4115, 0.1933, 0.1080, 0.2872},
25035 {0.3072, 0.1137, 0.3642, 0.2149},
25036 {0.1316, 0.3268, 0.5151, 0.0265}},
25037 {
25038 {0.3593, 0.2570, 0.1778, 0.2059},
25039 {0.3625, 0.2112, 0.1492, 0.2771},
25040 {0.2984, 0.2962, 0.1872, 0.2182},
25041 {0.2638, 0.2343, 0.0595, 0.4424}},
25042 {
25043 {0.1122, 0.4349, 0.3203, 0.1326},
25044 {0.1150, 0.4347, 0.1912, 0.2592},
25045 {0.1672, 0.4730, 0.2456, 0.1143},
25046 {0.1109, 0.2296, 0.5028, 0.1567}},
25047 {
25048 {0.1048, 0.3002, 0.3933, 0.2017},
25049 {0.2340, 0.2397, 0.3373, 0.1891},
25050 {0.2221, 0.2626, 0.3253, 0.1900},
25051 {0.1788, 0.1437, 0.5013, 0.1763}},
25052 {
25053 {0.2589, 0.3541, 0.0304, 0.3565},
25054 {0.2799, 0.2801, 0.2356, 0.2044},
25055 {0.3274, 0.2113, 0.2999, 0.1614},
25056 {0.2590, 0.2208, 0.1926, 0.3275}},
25057 {
25058 {0.1058, 0.3453, 0.3592, 0.1897},
25059 {0.1172, 0.4164, 0.3030, 0.1634},
25060 {0.1140, 0.4490, 0.2568, 0.1802},
25061 {0.0526, 0.2924, 0.3835, 0.2715}},
25062 {
25063 {0.0000, 0.1761, 0.6215, 0.2025},
25064 {0.2106, 0.2441, 0.2456, 0.2997},
25065 {0.3375, 0.1818, 0.3372, 0.1435},
25066 {0.1172, 0.2696, 0.4865, 0.1267}},
25067 {
25068 {0.3132, 0.3092, 0.1740, 0.2035},
25069 {0.2701, 0.2133, 0.2704, 0.2461},
25070 {0.3528, 0.3416, 0.1841, 0.1215},
25071 {0.0600, 0.4137, 0.2840, 0.2423}},
25072 {
25073 {0.1337, 0.2279, 0.4630, 0.1754},
25074 {0.1135, 0.4313, 0.2123, 0.2428},
25075 {0.0832, 0.2826, 0.2749, 0.3594},
25076 {0.1284, 0.5199, 0.2844, 0.0674}},
25077 {
25078 {0.3119, 0.2099, 0.3170, 0.1612},
25079 {0.3211, 0.2574, 0.2326, 0.1888},
25080 {0.3440, 0.1982, 0.2771, 0.1807},
25081 {0.1389, 0.2210, 0.5839, 0.0563}},
25082 {
25083 {0.2520, 0.3430, 0.1071, 0.2979},
25084 {0.2484, 0.2929, 0.1614, 0.2972},
25085 {0.3283, 0.2567, 0.2334, 0.1816},
25086 {0.1974, 0.3990, 0.1212, 0.2823}},
25087 {
25088 {0.0621, 0.4084, 0.3957, 0.1337},
25089 {0.0786, 0.3723, 0.3157, 0.2335},
25090 {0.1556, 0.3654, 0.1821, 0.2968},
25091 {0.0940, 0.4138, 0.1911, 0.3012}},
25092 {
25093 {0.3962, 0.2650, 0.1352, 0.2035},
25094 {0.3543, 0.1874, 0.2059, 0.2524},
25095 {0.2972, 0.1942, 0.3558, 0.1528},
25096 {0.1554, 0.2556, 0.3364, 0.2526}},
25097 {
25098 {0.4337, 0.2225, 0.1224, 0.2213},
25099 {0.2278, 0.3135, 0.1975, 0.2611},
25100 {0.3590, 0.1637, 0.2222, 0.2551},
25101 {0.1689, 0.3618, 0.0549, 0.4144}},
25102 {
25103 {0.1489, 0.3224, 0.4124, 0.1162},
25104 {0.2647, 0.2403, 0.2856, 0.2094},
25105 {0.1182, 0.5651, 0.1228, 0.1939},
25106 {0.0895, 0.3934, 0.2578, 0.2592}},
25107 {
25108 {0.2305, 0.1972, 0.3087, 0.2636},
25109 {0.2703, 0.2770, 0.2950, 0.1576},
25110 {0.2303, 0.2510, 0.3481, 0.1707},
25111 {0.1556, 0.1559, 0.4375, 0.2509}},
25112 {
25113 {0.3857, 0.2124, 0.1924, 0.2094},
25114 {0.2692, 0.3355, 0.1277, 0.2676},
25115 {0.3645, 0.2661, 0.2582, 0.1112},
25116 {0.2477, 0.2798, 0.1927, 0.2798}},
25117 {
25118 {0.0944, 0.3183, 0.3371, 0.2502},
25119 {0.1574, 0.3317, 0.2271, 0.2837},
25120 {0.0920, 0.5019, 0.1250, 0.2811},
25121 {0.0313, 0.3576, 0.3980, 0.2131}},
25122 {
25123 {0.2474, 0.2596, 0.2443, 0.2487},
25124 {0.2978, 0.1983, 0.3191, 0.1848},
25125 {0.2221, 0.2663, 0.4038, 0.1078},
25126 {0.1126, 0.2020, 0.4245, 0.2609}},
25127 {
25128 {0.4032, 0.1661, 0.0526, 0.3781},
25129 {0.2939, 0.3002, 0.1646, 0.2413},
25130 {0.3040, 0.3666, 0.1857, 0.1438},
25131 {0.1634, 0.3231, 0.2310, 0.2825}},
25132 {
25133 {0.1347, 0.3078, 0.2667, 0.2908},
25134 {0.2395, 0.2660, 0.1837, 0.3108},
25135 {0.0775, 0.3126, 0.3086, 0.3012},
25136 {0.0739, 0.5028, 0.2997, 0.1236}},
25137 {
25138 {0.2058, 0.3393, 0.3281, 0.1269},
25139 {0.2711, 0.3343, 0.2501, 0.1445},
25140 {0.2623, 0.1707, 0.4245, 0.1425},
25141 {0.1400, 0.1606, 0.5498, 0.1496}},
25142 {
25143 {0.4301, 0.1367, 0.1958, 0.2374},
25144 {0.3409, 0.2458, 0.1977, 0.2157},
25145 {0.2407, 0.2837, 0.1888, 0.2868},
25146 {0.2618, 0.3007, 0.1311, 0.3063}},
25147 {
25148 {0.2372, 0.2978, 0.3085, 0.1565},
25149 {0.2526, 0.2212, 0.2250, 0.3011},
25150 {0.1944, 0.5399, 0.0957, 0.1700},
25151 {0.0977, 0.4343, 0.3752, 0.0929}},
25152 {
25153 {0.2205, 0.3120, 0.2802, 0.1873},
25154 {0.3780, 0.1657, 0.3047, 0.1516},
25155 {0.2762, 0.3406, 0.2709, 0.1123},
25156 {0.1720, 0.2427, 0.4475, 0.1377}},
25157 {
25158 {0.2565, 0.4005, 0.0635, 0.2796},
25159 {0.2465, 0.4042, 0.1831, 0.1662},
25160 {0.2939, 0.2280, 0.2633, 0.2148},
25161 {0.1680, 0.2490, 0.2457, 0.3373}},
25162 {
25163 {0.2032, 0.2612, 0.2713, 0.2643},
25164 {0.1898, 0.3620, 0.2589, 0.1892},
25165 {0.2243, 0.3617, 0.2253, 0.1888},
25166 {0.0712, 0.3623, 0.3910, 0.1756}}},
25167
25168 { /* Splice_Site: Fi_GT; Species: Asper */
25169 {
25170 {0.2385, 0.2385, 0.2385, 0.2385},
25171 {0.2377, 0.2377, 0.2377, 0.2377},
25172 {0.3012, 0.3012, 0.3012, 0.3012},
25173 {0.2225, 0.2225, 0.2225, 0.2225}},
25174 {
25175 {0.1775, 0.1434, 0.3115, 0.3675},
25176 {0.1478, 0.3576, 0.3008, 0.1938},
25177 {0.2690, 0.1796, 0.2191, 0.3323},
25178 {0.1740, 0.2230, 0.4122, 0.1908}},
25179 {
25180 {0.3075, 0.1516, 0.1949, 0.3460},
25181 {0.2328, 0.3003, 0.2489, 0.2180},
25182 {0.2802, 0.2325, 0.2141, 0.2732},
25183 {0.2152, 0.1954, 0.3514, 0.2380}},
25184 {
25185 {0.2661, 0.1985, 0.2063, 0.3291},
25186 {0.2541, 0.3380, 0.1785, 0.2295},
25187 {0.1856, 0.3111, 0.3492, 0.1541},
25188 {0.1959, 0.2725, 0.2430, 0.2885}},
25189 {
25190 {0.3373, 0.1724, 0.2338, 0.2565},
25191 {0.2822, 0.2313, 0.1885, 0.2980},
25192 {0.2432, 0.1769, 0.2568, 0.3231},
25193 {0.1961, 0.4081, 0.2117, 0.1841}},
25194 {
25195 {0.2304, 0.2752, 0.2318, 0.2627},
25196 {0.2660, 0.2262, 0.2603, 0.2476},
25197 {0.2511, 0.2004, 0.1907, 0.3577},
25198 {0.1290, 0.3048, 0.3234, 0.2429}},
25199 {
25200 {0.2561, 0.2415, 0.2225, 0.2799},
25201 {0.2940, 0.2366, 0.1524, 0.3170},
25202 {0.2918, 0.1659, 0.2953, 0.2470},
25203 {0.1764, 0.1920, 0.2328, 0.3987}},
25204 {
25205 {0.3249, 0.1515, 0.3155, 0.2081},
25206 {0.2157, 0.2742, 0.2648, 0.2453},
25207 {0.4881, 0.1939, 0.1891, 0.1289},
25208 {0.2428, 0.2021, 0.2600, 0.2950}},
25209 {
25210 {0.3398, 0.2218, 0.2265, 0.2119},
25211 {0.3450, 0.2727, 0.1751, 0.2072},
25212 {0.2685, 0.1772, 0.2377, 0.3165},
25213 {0.1667, 0.1518, 0.3007, 0.3807}},
25214 {
25215 {0.3402, 0.1994, 0.2286, 0.2317},
25216 {0.1864, 0.2999, 0.2684, 0.2453},
25217 {0.2835, 0.2300, 0.2621, 0.2245},
25218 {0.2347, 0.1893, 0.2808, 0.2952}},
25219 {
25220 {0.2040, 0.2926, 0.3064, 0.1970},
25221 {0.2277, 0.2844, 0.2102, 0.2777},
25222 {0.2277, 0.2467, 0.1689, 0.3567},
25223 {0.3013, 0.1325, 0.2917, 0.2745}},
25224 {
25225 {0.3008, 0.1881, 0.2038, 0.3073},
25226 {0.2146, 0.2976, 0.1405, 0.3473},
25227 {0.2296, 0.2275, 0.1723, 0.3706},
25228 {0.2053, 0.2393, 0.2726, 0.2829}},
25229 {
25230 {0.2207, 0.2734, 0.3531, 0.1528},
25231 {0.2283, 0.3457, 0.1489, 0.2772},
25232 {0.2106, 0.2650, 0.1285, 0.3959},
25233 {0.2145, 0.3230, 0.2401, 0.2223}},
25234 {
25235 {0.3351, 0.1947, 0.2138, 0.2564},
25236 {0.2691, 0.2571, 0.1581, 0.3157},
25237 {0.2741, 0.1790, 0.2036, 0.3433},
25238 {0.2740, 0.2453, 0.2950, 0.1857}},
25239 {
25240 {0.2948, 0.1669, 0.2236, 0.3146},
25241 {0.2019, 0.3380, 0.2340, 0.2261},
25242 {0.1975, 0.3024, 0.3557, 0.1445},
25243 {0.1839, 0.3304, 0.3433, 0.1424}},
25244 {
25245 {0.3048, 0.2769, 0.2191, 0.1992},
25246 {0.2142, 0.3301, 0.1398, 0.3159},
25247 {0.2227, 0.2457, 0.2123, 0.3193},
25248 {0.2261, 0.2863, 0.2886, 0.1989}},
25249 {
25250 {0.2667, 0.2263, 0.1798, 0.3272},
25251 {0.2592, 0.2024, 0.3418, 0.1966},
25252 {0.2333, 0.2145, 0.2463, 0.3058},
25253 {0.1799, 0.1907, 0.2611, 0.3682}},
25254 {
25255 {0.2247, 0.2344, 0.2414, 0.2995},
25256 {0.2521, 0.2894, 0.1623, 0.2962},
25257 {0.2626, 0.2160, 0.2333, 0.2881},
25258 {0.1752, 0.2645, 0.2759, 0.2844}},
25259 {
25260 {0.2272, 0.2141, 0.1913, 0.3673},
25261 {0.2599, 0.2252, 0.1873, 0.3275},
25262 {0.2400, 0.2196, 0.3560, 0.1844},
25263 {0.2468, 0.2240, 0.2461, 0.2831}},
25264 {
25265 {0.3935, 0.1993, 0.1767, 0.2306},
25266 {0.2205, 0.2696, 0.1730, 0.3369},
25267 {0.2635, 0.2335, 0.2707, 0.2323},
25268 {0.2977, 0.2782, 0.2141, 0.2100}},
25269 {
25270 {0.3256, 0.1290, 0.2799, 0.2655},
25271 {0.1767, 0.2405, 0.2820, 0.3008},
25272 {0.3359, 0.1448, 0.2719, 0.2473},
25273 {0.2291, 0.2935, 0.2113, 0.2662}},
25274 {
25275 {0.2993, 0.2117, 0.2755, 0.2135},
25276 {0.2348, 0.2954, 0.1735, 0.2964},
25277 {0.1829, 0.1559, 0.2269, 0.4342},
25278 {0.1131, 0.2417, 0.3710, 0.2742}},
25279 {
25280 {0.3219, 0.1240, 0.3005, 0.2535},
25281 {0.2373, 0.2722, 0.1585, 0.3319},
25282 {0.3212, 0.1984, 0.1735, 0.3069},
25283 {0.1722, 0.3139, 0.2154, 0.2985}},
25284 {
25285 {0.2413, 0.1914, 0.2649, 0.3024},
25286 {0.2523, 0.3218, 0.0871, 0.3388},
25287 {0.1507, 0.2682, 0.3700, 0.2111},
25288 {0.2153, 0.1745, 0.2757, 0.3344}},
25289 {
25290 {0.2417, 0.3576, 0.1027, 0.2980},
25291 {0.3544, 0.2530, 0.1515, 0.2411},
25292 {0.1206, 0.2242, 0.3658, 0.2894},
25293 {0.1913, 0.2331, 0.2763, 0.2993}},
25294 {
25295 {0.2614, 0.1972, 0.2485, 0.2929},
25296 {0.2496, 0.3703, 0.1630, 0.2170},
25297 {0.2742, 0.1745, 0.2680, 0.2834},
25298 {0.3003, 0.1837, 0.3220, 0.1941}},
25299 {
25300 {0.3474, 0.2446, 0.1870, 0.2210},
25301 {0.2866, 0.3557, 0.1316, 0.2262},
25302 {0.1935, 0.2444, 0.2559, 0.3061},
25303 {0.2379, 0.2771, 0.3946, 0.0904}},
25304 {
25305 {0.3467, 0.1170, 0.1934, 0.3429},
25306 {0.2500, 0.2549, 0.1851, 0.3100},
25307 {0.3424, 0.1441, 0.2145, 0.2990},
25308 {0.1656, 0.2171, 0.3517, 0.2656}},
25309 {
25310 {0.1998, 0.1896, 0.2881, 0.3224},
25311 {0.2832, 0.3396, 0.1390, 0.2382},
25312 {0.2442, 0.2094, 0.3397, 0.2067},
25313 {0.2054, 0.2432, 0.2265, 0.3249}},
25314 {
25315 {0.2401, 0.2070, 0.2513, 0.3017},
25316 {0.2757, 0.2587, 0.1812, 0.2844},
25317 {0.2375, 0.1393, 0.1739, 0.4494},
25318 {0.2238, 0.2186, 0.2641, 0.2935}},
25319 {
25320 {0.1949, 0.2414, 0.2448, 0.3189},
25321 {0.3405, 0.3435, 0.0400, 0.2759},
25322 {0.2437, 0.3142, 0.1607, 0.2815},
25323 {0.3086, 0.1887, 0.2415, 0.2612}},
25324 {
25325 {0.4026, 0.1652, 0.1275, 0.3047},
25326 {0.2894, 0.3278, 0.1659, 0.2170},
25327 {0.2629, 0.1496, 0.3770, 0.2105},
25328 {0.1806, 0.2205, 0.3242, 0.2747}},
25329 {
25330 {0.2446, 0.2189, 0.3332, 0.2033},
25331 {0.3643, 0.2591, 0.1801, 0.1966},
25332 {0.2743, 0.2374, 0.2535, 0.2348},
25333 {0.2017, 0.2341, 0.1501, 0.4141}},
25334 {
25335 {0.2544, 0.2772, 0.1622, 0.3062},
25336 {0.2468, 0.2934, 0.1313, 0.3285},
25337 {0.2574, 0.2724, 0.2263, 0.2439},
25338 {0.2476, 0.2754, 0.2295, 0.2475}},
25339 {
25340 {0.2080, 0.2050, 0.3147, 0.2723},
25341 {0.2346, 0.2342, 0.1568, 0.3744},
25342 {0.2307, 0.2555, 0.2078, 0.3059},
25343 {0.1224, 0.2622, 0.2762, 0.3392}},
25344 {
25345 {0.2738, 0.1580, 0.2142, 0.3540},
25346 {0.3316, 0.2138, 0.1080, 0.3465},
25347 {0.2709, 0.1431, 0.2695, 0.3165},
25348 {0.2649, 0.1870, 0.3455, 0.2025}},
25349 {
25350 {0.3078, 0.1696, 0.2355, 0.2870},
25351 {0.4193, 0.1451, 0.1720, 0.2637},
25352 {0.3331, 0.1050, 0.2259, 0.3359},
25353 {0.3182, 0.2053, 0.1925, 0.2840}},
25354 {
25355 {0.3246, 0.1810, 0.2356, 0.2588},
25356 {0.2709, 0.2459, 0.2131, 0.2700},
25357 {0.3369, 0.2327, 0.2081, 0.2223},
25358 {0.2294, 0.2854, 0.2818, 0.2034}},
25359 {
25360 {0.2720, 0.1681, 0.1985, 0.3614},
25361 {0.3177, 0.1998, 0.1666, 0.3159},
25362 {0.2414, 0.2263, 0.3500, 0.1822},
25363 {0.2820, 0.2377, 0.3178, 0.1625}},
25364 {
25365 {0.2917, 0.2233, 0.2179, 0.2671},
25366 {0.2516, 0.2864, 0.2112, 0.2509},
25367 {0.2351, 0.1380, 0.2683, 0.3586},
25368 {0.2817, 0.2630, 0.1544, 0.3009}},
25369 {
25370 {0.4070, 0.1640, 0.1793, 0.2497},
25371 {0.2505, 0.2600, 0.1581, 0.3314},
25372 {0.3430, 0.2311, 0.1465, 0.2794},
25373 {0.2471, 0.2150, 0.2738, 0.2641}},
25374 {
25375 {0.3237, 0.1427, 0.2372, 0.2965},
25376 {0.2397, 0.1406, 0.3200, 0.2997},
25377 {0.3197, 0.2760, 0.1743, 0.2301},
25378 {0.2513, 0.1402, 0.2691, 0.3394}},
25379 {
25380 {0.3314, 0.1983, 0.2433, 0.2269},
25381 {0.1077, 0.2845, 0.1297, 0.4781},
25382 {0.2635, 0.2634, 0.2225, 0.2506},
25383 {0.2038, 0.1177, 0.2928, 0.3857}},
25384 {
25385 {0.2918, 0.2856, 0.0953, 0.3272},
25386 {0.3059, 0.2969, 0.1461, 0.2511},
25387 {0.4452, 0.1242, 0.2621, 0.1685},
25388 {0.2594, 0.2700, 0.2801, 0.1905}},
25389 {
25390 {0.2643, 0.2260, 0.2606, 0.2491},
25391 {0.2462, 0.2412, 0.2043, 0.3083},
25392 {0.3005, 0.2107, 0.2525, 0.2363},
25393 {0.3017, 0.2672, 0.2266, 0.2045}},
25394 {
25395 {0.3129, 0.3983, 0.1511, 0.1376},
25396 {0.1841, 0.3029, 0.1824, 0.3306},
25397 {0.3436, 0.1884, 0.2263, 0.2417},
25398 {0.3062, 0.2399, 0.1767, 0.2771}},
25399 {
25400 {0.2788, 0.2214, 0.2697, 0.2301},
25401 {0.3121, 0.1909, 0.2683, 0.2287},
25402 {0.1912, 0.0914, 0.5081, 0.2092},
25403 {0.1974, 0.1414, 0.3937, 0.2676}},
25404 {
25405 {0.2287, 0.1692, 0.2443, 0.3578},
25406 {0.3326, 0.2589, 0.1272, 0.2813},
25407 {0.1521, 0.1277, 0.1778, 0.5424},
25408 {0.2003, 0.1820, 0.3738, 0.2439}},
25409 {
25410 {0.3014, 0.2209, 0.0878, 0.3899},
25411 {0.3004, 0.2471, 0.3042, 0.1484},
25412 {0.3647, 0.1453, 0.1538, 0.3362},
25413 {0.3972, 0.1299, 0.2063, 0.2666}},
25414 {
25415 {0.3826, 0.1978, 0.1347, 0.2849},
25416 {0.3387, 0.2240, 0.1980, 0.2393},
25417 {0.3565, 0.1652, 0.1432, 0.3351},
25418 {0.1664, 0.1973, 0.3175, 0.3188}},
25419 {
25420 {0.0000, 0.0000, 1.0000, 0.0000},
25421 {0.0000, 0.0000, 1.0000, 0.0000},
25422 {0.0000, 0.0000, 1.0000, 0.0000},
25423 {0.0000, 0.0000, 1.0000, 0.0000}},
25424 {
25425 {0.0000, 0.0000, 0.0000, 0.0000},
25426 {0.0000, 0.0000, 0.0000, 0.0000},
25427 {0.0000, 0.0000, 0.0000, 1.0000},
25428 {0.0000, 0.0000, 0.0000, 0.0000}},
25429 {
25430 {0.0000, 0.0000, 0.0000, 0.0000},
25431 {0.0000, 0.0000, 0.0000, 0.0000},
25432 {0.0000, 0.0000, 0.0000, 0.0000},
25433 {0.2271, 0.2431, 0.2197, 0.3101}},
25434 {
25435 {0.2068, 0.2078, 0.2578, 0.3276},
25436 {0.1930, 0.2793, 0.0892, 0.4385},
25437 {0.2607, 0.3097, 0.1717, 0.2579},
25438 {0.2276, 0.2523, 0.1833, 0.3368}},
25439 {
25440 {0.1881, 0.1791, 0.2537, 0.3792},
25441 {0.2389, 0.1492, 0.1431, 0.4689},
25442 {0.1975, 0.3510, 0.1243, 0.3272},
25443 {0.2318, 0.2688, 0.1783, 0.3211}},
25444 {
25445 {0.2252, 0.1128, 0.2610, 0.4009},
25446 {0.2393, 0.3058, 0.1494, 0.3055},
25447 {0.4247, 0.1156, 0.1990, 0.2607},
25448 {0.2574, 0.3506, 0.1999, 0.1921}},
25449 {
25450 {0.3640, 0.1465, 0.2345, 0.2550},
25451 {0.2861, 0.2768, 0.0517, 0.3855},
25452 {0.3058, 0.1291, 0.3883, 0.1767},
25453 {0.1534, 0.1786, 0.3414, 0.3267}},
25454 {
25455 {0.2894, 0.2090, 0.1550, 0.3466},
25456 {0.3029, 0.1470, 0.2434, 0.3066},
25457 {0.3533, 0.2493, 0.1722, 0.2252},
25458 {0.2266, 0.2250, 0.3140, 0.2344}},
25459 {
25460 {0.2840, 0.2895, 0.1654, 0.2611},
25461 {0.3066, 0.2343, 0.0989, 0.3603},
25462 {0.3919, 0.1193, 0.1983, 0.2905},
25463 {0.3442, 0.2637, 0.1874, 0.2047}},
25464 {
25465 {0.2852, 0.2026, 0.1954, 0.3169},
25466 {0.2113, 0.2102, 0.1497, 0.4288},
25467 {0.2589, 0.1857, 0.2834, 0.2719},
25468 {0.1727, 0.2404, 0.3985, 0.1885}},
25469 {
25470 {0.3707, 0.1843, 0.1867, 0.2584},
25471 {0.2258, 0.2720, 0.1471, 0.3551},
25472 {0.3051, 0.2500, 0.2348, 0.2101},
25473 {0.2233, 0.2510, 0.2504, 0.2753}},
25474 {
25475 {0.1362, 0.3043, 0.2054, 0.3540},
25476 {0.2700, 0.2168, 0.1382, 0.3750},
25477 {0.4803, 0.1216, 0.1446, 0.2536},
25478 {0.2580, 0.1740, 0.2940, 0.2741}},
25479 {
25480 {0.2247, 0.1582, 0.2854, 0.3316},
25481 {0.3019, 0.2361, 0.1627, 0.2993},
25482 {0.3049, 0.1927, 0.3769, 0.1255},
25483 {0.2582, 0.2896, 0.1902, 0.2619}},
25484 {
25485 {0.2740, 0.1656, 0.1782, 0.3821},
25486 {0.1799, 0.2030, 0.1835, 0.4336},
25487 {0.4370, 0.1219, 0.1430, 0.2981},
25488 {0.2081, 0.2506, 0.2450, 0.2964}},
25489 {
25490 {0.2693, 0.2758, 0.1725, 0.2825},
25491 {0.1893, 0.2132, 0.2387, 0.3588},
25492 {0.3292, 0.1865, 0.1846, 0.2996},
25493 {0.1823, 0.3131, 0.2400, 0.2646}},
25494 {
25495 {0.3321, 0.2415, 0.1651, 0.2614},
25496 {0.3297, 0.2004, 0.1167, 0.3531},
25497 {0.3326, 0.2186, 0.1820, 0.2669},
25498 {0.2612, 0.1943, 0.2843, 0.2602}},
25499 {
25500 {0.3138, 0.2416, 0.1961, 0.2485},
25501 {0.2430, 0.1835, 0.2072, 0.3662},
25502 {0.2798, 0.2044, 0.3324, 0.1834},
25503 {0.3330, 0.2159, 0.2168, 0.2343}},
25504 {
25505 {0.2663, 0.1728, 0.2599, 0.3010},
25506 {0.2862, 0.1869, 0.0854, 0.4416},
25507 {0.3018, 0.1560, 0.2958, 0.2463},
25508 {0.2218, 0.2685, 0.2680, 0.2417}},
25509 {
25510 {0.2944, 0.2926, 0.1630, 0.2500},
25511 {0.2394, 0.2386, 0.2038, 0.3183},
25512 {0.4139, 0.1824, 0.1901, 0.2137},
25513 {0.2635, 0.1423, 0.3161, 0.2781}},
25514 {
25515 {0.1968, 0.2206, 0.2793, 0.3033},
25516 {0.3483, 0.2204, 0.1619, 0.2694},
25517 {0.2587, 0.1775, 0.2106, 0.3532},
25518 {0.2688, 0.2677, 0.2273, 0.2363}},
25519 {
25520 {0.3971, 0.1676, 0.2997, 0.1356},
25521 {0.3004, 0.2345, 0.1368, 0.3282},
25522 {0.3042, 0.2071, 0.2266, 0.2622},
25523 {0.3616, 0.1786, 0.1982, 0.2616}},
25524 {
25525 {0.2240, 0.2852, 0.2490, 0.2418},
25526 {0.2656, 0.2716, 0.2209, 0.2420},
25527 {0.2178, 0.2240, 0.2206, 0.3375},
25528 {0.2175, 0.2710, 0.3164, 0.1951}},
25529 {
25530 {0.2409, 0.1656, 0.2955, 0.2980},
25531 {0.3620, 0.1356, 0.1508, 0.3515},
25532 {0.2033, 0.3219, 0.2804, 0.1943},
25533 {0.2711, 0.2908, 0.2972, 0.1409}},
25534 {
25535 {0.3368, 0.2347, 0.1459, 0.2827},
25536 {0.0920, 0.2843, 0.1075, 0.5161},
25537 {0.3297, 0.2240, 0.2434, 0.2029},
25538 {0.2126, 0.2318, 0.2683, 0.2873}},
25539 {
25540 {0.2559, 0.2822, 0.1420, 0.3199},
25541 {0.2788, 0.2480, 0.2166, 0.2566},
25542 {0.4083, 0.1685, 0.1815, 0.2417},
25543 {0.2900, 0.2988, 0.1662, 0.2451}},
25544 {
25545 {0.2925, 0.2155, 0.2559, 0.2361},
25546 {0.2319, 0.2670, 0.1548, 0.3463},
25547 {0.2702, 0.2061, 0.1469, 0.3768},
25548 {0.2469, 0.1791, 0.2575, 0.3165}},
25549 {
25550 {0.2531, 0.2517, 0.1997, 0.2955},
25551 {0.4572, 0.1020, 0.2614, 0.1794},
25552 {0.4246, 0.1639, 0.2266, 0.1850},
25553 {0.2691, 0.2337, 0.2032, 0.2940}},
25554 {
25555 {0.2011, 0.2557, 0.2512, 0.2919},
25556 {0.1974, 0.2488, 0.2118, 0.3421},
25557 {0.2808, 0.3436, 0.2390, 0.1365},
25558 {0.1599, 0.2285, 0.2457, 0.3659}},
25559 {
25560 {0.4349, 0.1468, 0.1672, 0.2512},
25561 {0.3775, 0.2758, 0.0662, 0.2805},
25562 {0.2364, 0.1789, 0.3251, 0.2596},
25563 {0.1944, 0.2491, 0.3440, 0.2125}},
25564 {
25565 {0.2750, 0.1558, 0.2550, 0.3141},
25566 {0.2160, 0.3060, 0.0818, 0.3962},
25567 {0.2658, 0.2870, 0.2943, 0.1529},
25568 {0.2966, 0.2102, 0.3143, 0.1789}},
25569 {
25570 {0.3128, 0.1820, 0.1685, 0.3367},
25571 {0.3854, 0.2439, 0.1879, 0.1828},
25572 {0.1987, 0.3050, 0.2280, 0.2684},
25573 {0.2089, 0.2628, 0.3135, 0.2147}},
25574 {
25575 {0.2097, 0.1785, 0.2593, 0.3525},
25576 {0.2807, 0.1172, 0.2325, 0.3696},
25577 {0.1657, 0.2886, 0.2737, 0.2720},
25578 {0.1864, 0.2556, 0.2195, 0.3385}},
25579 {
25580 {0.3896, 0.1844, 0.1845, 0.2415},
25581 {0.2375, 0.2946, 0.1922, 0.2757},
25582 {0.3248, 0.1587, 0.2101, 0.3064},
25583 {0.2417, 0.3062, 0.2710, 0.1811}},
25584 {
25585 {0.2696, 0.2330, 0.2384, 0.2590},
25586 {0.2407, 0.3081, 0.2150, 0.2362},
25587 {0.3078, 0.1538, 0.3625, 0.1759},
25588 {0.2357, 0.2686, 0.1466, 0.3490}},
25589 {
25590 {0.1829, 0.2671, 0.2278, 0.3223},
25591 {0.2779, 0.2325, 0.1413, 0.3484},
25592 {0.2262, 0.2647, 0.2882, 0.2209},
25593 {0.2732, 0.2514, 0.2567, 0.2187}},
25594 {
25595 {0.3369, 0.2413, 0.1651, 0.2567},
25596 {0.2376, 0.2057, 0.2066, 0.3501},
25597 {0.3177, 0.2526, 0.2659, 0.1638},
25598 {0.2673, 0.2930, 0.2278, 0.2119}},
25599 {
25600 {0.3153, 0.1799, 0.1616, 0.3432},
25601 {0.2525, 0.1642, 0.2628, 0.3205},
25602 {0.3213, 0.1354, 0.2808, 0.2625},
25603 {0.3025, 0.2284, 0.3124, 0.1567}},
25604 {
25605 {0.2667, 0.2029, 0.2111, 0.3193},
25606 {0.3779, 0.2401, 0.1826, 0.1994},
25607 {0.3153, 0.2219, 0.1701, 0.2927},
25608 {0.3177, 0.2399, 0.2525, 0.1899}},
25609 {
25610 {0.1920, 0.2814, 0.2419, 0.2847},
25611 {0.3479, 0.2270, 0.1376, 0.2876},
25612 {0.5103, 0.1970, 0.1268, 0.1659},
25613 {0.2845, 0.3030, 0.2376, 0.1749}},
25614 {
25615 {0.2316, 0.3056, 0.2564, 0.2064},
25616 {0.3938, 0.1884, 0.2712, 0.1466},
25617 {0.3359, 0.1786, 0.2178, 0.2677},
25618 {0.1670, 0.2613, 0.2496, 0.3221}},
25619 {
25620 {0.2163, 0.1740, 0.2699, 0.3398},
25621 {0.2231, 0.3969, 0.1506, 0.2294},
25622 {0.4064, 0.2120, 0.2639, 0.1176},
25623 {0.1516, 0.3220, 0.2869, 0.2395}},
25624 {
25625 {0.1858, 0.3464, 0.2187, 0.2491},
25626 {0.4522, 0.2106, 0.1462, 0.1910},
25627 {0.2051, 0.3052, 0.2521, 0.2375},
25628 {0.3674, 0.2155, 0.1846, 0.2325}},
25629 {
25630 {0.2149, 0.2138, 0.3038, 0.2674},
25631 {0.1450, 0.2282, 0.2254, 0.4014},
25632 {0.2407, 0.2405, 0.3259, 0.1928},
25633 {0.3125, 0.2295, 0.2311, 0.2268}},
25634 {
25635 {0.3148, 0.1874, 0.1997, 0.2981},
25636 {0.2116, 0.2436, 0.1326, 0.4122},
25637 {0.2821, 0.3519, 0.1923, 0.1738},
25638 {0.2957, 0.1982, 0.2444, 0.2617}},
25639 {
25640 {0.3116, 0.2224, 0.2618, 0.2042},
25641 {0.2394, 0.3295, 0.1811, 0.2499},
25642 {0.4220, 0.1321, 0.2509, 0.1950},
25643 {0.1880, 0.2684, 0.2637, 0.2799}},
25644 {
25645 {0.2822, 0.2772, 0.1891, 0.2515},
25646 {0.2099, 0.2491, 0.1980, 0.3430},
25647 {0.3057, 0.2233, 0.2937, 0.1773},
25648 {0.1841, 0.2418, 0.2860, 0.2880}},
25649 {
25650 {0.1688, 0.3101, 0.2431, 0.2779},
25651 {0.3329, 0.1594, 0.1365, 0.3711},
25652 {0.2006, 0.2869, 0.2962, 0.2163},
25653 {0.2508, 0.2892, 0.2316, 0.2285}},
25654 {
25655 {0.1280, 0.2169, 0.3465, 0.3086},
25656 {0.2855, 0.2113, 0.2358, 0.2674},
25657 {0.2064, 0.2586, 0.3972, 0.1377},
25658 {0.2522, 0.2869, 0.2722, 0.1886}},
25659 {
25660 {0.3548, 0.1472, 0.2432, 0.2547},
25661 {0.2554, 0.2168, 0.2508, 0.2770},
25662 {0.2080, 0.2229, 0.2529, 0.3162},
25663 {0.1902, 0.3265, 0.2491, 0.2342}},
25664 {
25665 {0.2479, 0.2057, 0.1970, 0.3494},
25666 {0.3197, 0.2075, 0.1105, 0.3623},
25667 {0.2546, 0.2460, 0.2989, 0.2005},
25668 {0.1601, 0.3627, 0.1585, 0.3187}},
25669 {
25670 {0.3066, 0.2110, 0.3030, 0.1794},
25671 {0.3413, 0.2364, 0.1345, 0.2878},
25672 {0.2914, 0.2029, 0.2069, 0.2987},
25673 {0.1881, 0.3082, 0.2168, 0.2869}},
25674 {
25675 {0.3157, 0.2512, 0.1780, 0.2551},
25676 {0.2276, 0.2604, 0.2268, 0.2852},
25677 {0.2188, 0.3303, 0.2246, 0.2263},
25678 {0.3435, 0.2133, 0.1978, 0.2454}}
25679 }},
25680 {
25681 { /* Splice_Site: T1_GT; Species: Cress */
25682 {
25683 {0.3123, 0.3123, 0.3123, 0.3123},
25684 {0.2220, 0.2220, 0.2220, 0.2220},
25685 {0.1754, 0.1754, 0.1754, 0.1754},
25686 {0.2903, 0.2903, 0.2903, 0.2903}},
25687 {
25688 {0.2890, 0.1717, 0.2458, 0.2935},
25689 {0.3062, 0.1547, 0.1033, 0.4358},
25690 {0.2767, 0.1834, 0.1926, 0.3473},
25691 {0.1589, 0.2296, 0.2465, 0.3651}},
25692 {
25693 {0.2958, 0.1926, 0.3254, 0.1862},
25694 {0.3549, 0.1742, 0.2246, 0.2463},
25695 {0.3471, 0.2003, 0.2759, 0.1767},
25696 {0.1872, 0.2266, 0.3774, 0.2088}},
25697 {
25698 {0.3570, 0.1768, 0.1842, 0.2820},
25699 {0.3093, 0.2142, 0.1294, 0.3472},
25700 {0.3810, 0.2146, 0.1916, 0.2129},
25701 {0.1394, 0.3238, 0.1440, 0.3928}},
25702 {
25703 {0.2793, 0.1815, 0.2332, 0.3059},
25704 {0.3112, 0.1582, 0.0854, 0.4451},
25705 {0.2659, 0.1721, 0.2144, 0.3476},
25706 {0.1495, 0.2317, 0.2382, 0.3806}},
25707 {
25708 {0.2890, 0.1834, 0.3494, 0.1782},
25709 {0.3927, 0.1744, 0.2102, 0.2227},
25710 {0.3412, 0.1981, 0.2869, 0.1737},
25711 {0.1893, 0.2126, 0.3875, 0.2106}},
25712 {
25713 {0.3799, 0.1618, 0.1821, 0.2763},
25714 {0.3010, 0.2358, 0.1138, 0.3494},
25715 {0.3781, 0.2079, 0.1898, 0.2242},
25716 {0.1322, 0.2994, 0.1503, 0.4181}},
25717 {
25718 {0.2838, 0.1752, 0.2461, 0.2948},
25719 {0.2931, 0.1671, 0.1039, 0.4358},
25720 {0.2757, 0.1848, 0.2051, 0.3345},
25721 {0.1509, 0.2444, 0.2348, 0.3699}},
25722 {
25723 {0.2765, 0.1804, 0.3590, 0.1841},
25724 {0.3617, 0.1871, 0.2019, 0.2493},
25725 {0.3340, 0.2156, 0.2721, 0.1782},
25726 {0.1929, 0.2157, 0.3941, 0.1972}},
25727 {
25728 {0.3587, 0.1871, 0.1675, 0.2867},
25729 {0.3038, 0.2268, 0.1399, 0.3295},
25730 {0.3734, 0.2190, 0.1970, 0.2106},
25731 {0.1585, 0.2910, 0.1488, 0.4018}},
25732 {
25733 {0.2810, 0.1773, 0.2402, 0.3015},
25734 {0.2893, 0.1672, 0.0993, 0.4442},
25735 {0.2849, 0.1781, 0.2140, 0.3230},
25736 {0.1485, 0.2544, 0.2237, 0.3733}},
25737 {
25738 {0.2863, 0.1717, 0.3337, 0.2083},
25739 {0.3769, 0.1808, 0.1975, 0.2448},
25740 {0.3391, 0.2080, 0.2785, 0.1744},
25741 {0.1931, 0.2294, 0.3867, 0.1908}},
25742 {
25743 {0.3777, 0.1843, 0.1810, 0.2570},
25744 {0.2989, 0.2338, 0.1345, 0.3328},
25745 {0.3800, 0.2207, 0.1885, 0.2107},
25746 {0.1537, 0.3097, 0.1349, 0.4017}},
25747 {
25748 {0.2804, 0.1821, 0.2409, 0.2966},
25749 {0.3019, 0.1693, 0.0884, 0.4404},
25750 {0.2843, 0.1888, 0.2008, 0.3260},
25751 {0.1604, 0.2483, 0.2199, 0.3713}},
25752 {
25753 {0.2983, 0.1750, 0.3249, 0.2018},
25754 {0.3679, 0.1830, 0.2110, 0.2380},
25755 {0.3539, 0.2171, 0.2551, 0.1739},
25756 {0.1821, 0.2185, 0.3940, 0.2054}},
25757 {
25758 {0.3900, 0.1761, 0.1661, 0.2678},
25759 {0.2987, 0.2139, 0.1352, 0.3522},
25760 {0.3769, 0.2132, 0.1983, 0.2117},
25761 {0.1363, 0.2973, 0.1575, 0.4089}},
25762 {
25763 {0.2783, 0.1783, 0.2376, 0.3059},
25764 {0.2990, 0.1735, 0.0946, 0.4329},
25765 {0.2654, 0.1953, 0.1916, 0.3477},
25766 {0.1534, 0.2478, 0.2216, 0.3772}},
25767 {
25768 {0.2862, 0.1828, 0.3401, 0.1909},
25769 {0.3792, 0.1811, 0.2003, 0.2393},
25770 {0.3374, 0.2213, 0.2646, 0.1767},
25771 {0.1841, 0.2258, 0.3848, 0.2053}},
25772 {
25773 {0.3706, 0.1774, 0.1754, 0.2766},
25774 {0.2878, 0.2176, 0.1236, 0.3710},
25775 {0.3840, 0.2206, 0.1908, 0.2047},
25776 {0.1509, 0.3018, 0.1524, 0.3949}},
25777 {
25778 {0.2794, 0.1772, 0.2295, 0.3138},
25779 {0.2981, 0.1683, 0.0908, 0.4428},
25780 {0.2670, 0.1951, 0.2100, 0.3280},
25781 {0.1574, 0.2513, 0.2159, 0.3754}},
25782 {
25783 {0.2920, 0.1805, 0.3422, 0.1853},
25784 {0.3773, 0.1796, 0.2105, 0.2326},
25785 {0.3248, 0.2148, 0.2655, 0.1950},
25786 {0.1844, 0.2323, 0.3932, 0.1901}},
25787 {
25788 {0.3737, 0.1817, 0.1697, 0.2748},
25789 {0.3121, 0.2222, 0.1385, 0.3271},
25790 {0.3733, 0.2238, 0.2000, 0.2028},
25791 {0.1444, 0.3081, 0.1540, 0.3935}},
25792 {
25793 {0.2850, 0.1919, 0.2251, 0.2980},
25794 {0.2856, 0.1786, 0.0858, 0.4499},
25795 {0.2700, 0.1945, 0.2116, 0.3239},
25796 {0.1544, 0.2472, 0.2296, 0.3687}},
25797 {
25798 {0.2893, 0.1956, 0.3332, 0.1819},
25799 {0.3658, 0.1873, 0.2025, 0.2444},
25800 {0.3363, 0.2139, 0.2675, 0.1823},
25801 {0.1918, 0.2305, 0.3862, 0.1915}},
25802 {
25803 {0.3734, 0.1766, 0.1707, 0.2793},
25804 {0.3059, 0.2161, 0.1224, 0.3556},
25805 {0.3813, 0.2171, 0.1817, 0.2199},
25806 {0.1489, 0.3024, 0.1622, 0.3865}},
25807 {
25808 {0.2841, 0.1842, 0.2261, 0.3056},
25809 {0.3115, 0.1757, 0.0813, 0.4315},
25810 {0.2814, 0.2073, 0.1977, 0.3136},
25811 {0.1430, 0.2665, 0.2168, 0.3737}},
25812 {
25813 {0.2850, 0.1806, 0.3454, 0.1891},
25814 {0.3677, 0.1878, 0.2094, 0.2352},
25815 {0.3596, 0.1923, 0.2655, 0.1825},
25816 {0.1830, 0.2318, 0.3846, 0.2006}},
25817 {
25818 {0.3557, 0.1928, 0.1689, 0.2826},
25819 {0.2956, 0.2282, 0.1357, 0.3405},
25820 {0.3961, 0.2187, 0.2000, 0.1852},
25821 {0.1557, 0.3231, 0.1460, 0.3752}},
25822 {
25823 {0.2859, 0.1911, 0.2232, 0.2999},
25824 {0.2884, 0.1871, 0.0787, 0.4458},
25825 {0.2856, 0.1976, 0.2098, 0.3070},
25826 {0.1487, 0.2687, 0.2234, 0.3593}},
25827 {
25828 {0.2884, 0.1851, 0.3297, 0.1968},
25829 {0.3659, 0.1862, 0.2060, 0.2420},
25830 {0.3421, 0.2171, 0.2557, 0.1852},
25831 {0.1889, 0.2337, 0.3756, 0.2018}},
25832 {
25833 {0.3700, 0.1841, 0.1663, 0.2797},
25834 {0.2859, 0.2194, 0.1317, 0.3630},
25835 {0.3802, 0.2202, 0.1886, 0.2110},
25836 {0.1615, 0.3247, 0.1374, 0.3763}},
25837 {
25838 {0.2798, 0.1971, 0.2055, 0.3176},
25839 {0.3014, 0.1951, 0.0698, 0.4336},
25840 {0.2747, 0.2111, 0.1907, 0.3236},
25841 {0.1604, 0.2736, 0.2011, 0.3649}},
25842 {
25843 {0.2880, 0.1778, 0.3295, 0.2047},
25844 {0.3716, 0.1848, 0.2029, 0.2407},
25845 {0.3537, 0.2163, 0.2637, 0.1663},
25846 {0.1825, 0.2479, 0.3786, 0.1910}},
25847 {
25848 {0.3699, 0.1733, 0.1656, 0.2912},
25849 {0.2937, 0.2010, 0.1404, 0.3649},
25850 {0.3844, 0.2192, 0.1877, 0.2087},
25851 {0.1524, 0.3030, 0.1410, 0.4036}},
25852 {
25853 {0.2838, 0.1944, 0.2153, 0.3065},
25854 {0.2912, 0.1925, 0.0820, 0.4343},
25855 {0.2988, 0.2245, 0.1787, 0.2981},
25856 {0.1603, 0.2661, 0.1946, 0.3790}},
25857 {
25858 {0.2847, 0.1835, 0.3340, 0.1979},
25859 {0.3734, 0.1880, 0.2107, 0.2278},
25860 {0.3472, 0.2166, 0.2509, 0.1854},
25861 {0.1824, 0.2354, 0.3905, 0.1918}},
25862 {
25863 {0.3957, 0.1772, 0.1531, 0.2740},
25864 {0.3062, 0.2293, 0.1395, 0.3250},
25865 {0.3919, 0.2096, 0.1963, 0.2022},
25866 {0.1564, 0.3101, 0.1522, 0.3813}},
25867 {
25868 {0.2953, 0.2060, 0.2011, 0.2976},
25869 {0.2947, 0.1956, 0.0682, 0.4414},
25870 {0.2733, 0.2159, 0.1919, 0.3189},
25871 {0.1518, 0.2738, 0.2080, 0.3665}},
25872 {
25873 {0.3062, 0.1974, 0.3050, 0.1914},
25874 {0.3904, 0.1780, 0.1942, 0.2373},
25875 {0.3570, 0.2169, 0.2449, 0.1813},
25876 {0.1940, 0.2424, 0.3622, 0.2014}},
25877 {
25878 {0.3598, 0.1940, 0.1655, 0.2807},
25879 {0.2893, 0.2147, 0.1397, 0.3562},
25880 {0.3788, 0.2358, 0.1666, 0.2188},
25881 {0.1429, 0.3228, 0.1444, 0.3900}},
25882 {
25883 {0.2866, 0.2062, 0.1872, 0.3200},
25884 {0.2978, 0.1817, 0.0823, 0.4383},
25885 {0.2936, 0.2179, 0.1887, 0.2999},
25886 {0.1657, 0.2705, 0.2023, 0.3616}},
25887 {
25888 {0.2896, 0.1996, 0.3118, 0.1990},
25889 {0.3691, 0.1805, 0.1889, 0.2615},
25890 {0.3608, 0.2109, 0.2453, 0.1830},
25891 {0.1938, 0.2408, 0.3706, 0.1948}},
25892 {
25893 {0.3442, 0.1971, 0.1536, 0.3051},
25894 {0.2903, 0.2104, 0.1400, 0.3594},
25895 {0.3645, 0.2274, 0.1784, 0.2297},
25896 {0.1649, 0.2863, 0.1392, 0.4096}},
25897 {
25898 {0.2801, 0.1923, 0.1893, 0.3383},
25899 {0.2818, 0.1885, 0.0819, 0.4478},
25900 {0.2544, 0.2131, 0.1820, 0.3504},
25901 {0.1523, 0.2591, 0.1853, 0.4033}},
25902 {
25903 {0.3189, 0.1798, 0.2984, 0.2029},
25904 {0.3671, 0.1955, 0.1903, 0.2471},
25905 {0.3541, 0.2030, 0.2363, 0.2066},
25906 {0.1983, 0.2396, 0.3491, 0.2130}},
25907 {
25908 {0.3698, 0.1699, 0.1444, 0.3158},
25909 {0.3197, 0.2197, 0.1000, 0.3606},
25910 {0.4165, 0.2080, 0.1617, 0.2138},
25911 {0.1638, 0.2864, 0.1351, 0.4147}},
25912 {
25913 {0.3311, 0.2162, 0.1679, 0.2847},
25914 {0.3472, 0.1902, 0.0540, 0.4086},
25915 {0.3426, 0.2492, 0.1736, 0.2346},
25916 {0.1718, 0.2752, 0.1910, 0.3619}},
25917 {
25918 {0.3869, 0.2781, 0.2477, 0.0873},
25919 {0.4854, 0.2555, 0.1632, 0.0960},
25920 {0.4137, 0.3318, 0.2010, 0.0534},
25921 {0.2414, 0.3883, 0.2849, 0.0854}},
25922 {
25923 {0.6984, 0.0974, 0.0655, 0.1387},
25924 {0.7411, 0.0802, 0.0472, 0.1314},
25925 {0.7326, 0.0996, 0.0634, 0.1043},
25926 {0.1459, 0.2757, 0.1673, 0.4110}},
25927 {
25928 {0.0766, 0.0208, 0.8251, 0.0774},
25929 {0.1297, 0.0696, 0.4868, 0.3138},
25930 {0.1540, 0.0368, 0.6430, 0.1661},
25931 {0.0552, 0.0571, 0.7033, 0.1844}},
25932 {
25933 {0.0000, 0.0000, 1.0000, 0.0000},
25934 {0.0000, 0.0000, 1.0000, 0.0000},
25935 {0.0000, 0.0000, 1.0000, 0.0000},
25936 {0.0000, 0.0000, 1.0000, 0.0000}},
25937 {
25938 {0.0000, 0.0000, 0.0000, 0.0000},
25939 {0.0000, 0.0000, 0.0000, 0.0000},
25940 {0.0000, 0.0000, 0.0000, 1.0000},
25941 {0.0000, 0.0000, 0.0000, 0.0000}},
25942 {
25943 {0.0000, 0.0000, 0.0000, 0.0000},
25944 {0.0000, 0.0000, 0.0000, 0.0000},
25945 {0.0000, 0.0000, 0.0000, 0.0000},
25946 {0.6413, 0.0537, 0.1237, 0.1812}},
25947 {
25948 {0.5436, 0.1377, 0.0522, 0.2665},
25949 {0.4556, 0.1265, 0.0453, 0.3727},
25950 {0.6726, 0.0958, 0.0720, 0.1596},
25951 {0.3453, 0.1547, 0.1004, 0.3996}},
25952 {
25953 {0.2090, 0.0948, 0.5249, 0.1713},
25954 {0.2781, 0.1086, 0.2991, 0.3142},
25955 {0.2244, 0.1306, 0.4420, 0.2030},
25956 {0.1981, 0.0995, 0.4949, 0.2075}},
25957 {
25958 {0.2943, 0.1614, 0.1565, 0.3877},
25959 {0.3210, 0.1239, 0.0725, 0.4826},
25960 {0.1918, 0.1472, 0.0718, 0.5892},
25961 {0.2153, 0.1456, 0.1726, 0.4665}},
25962 {
25963 {0.3436, 0.1812, 0.1339, 0.3413},
25964 {0.3562, 0.1542, 0.0560, 0.4336},
25965 {0.3298, 0.1730, 0.0942, 0.4030},
25966 {0.2759, 0.1704, 0.1535, 0.4002}},
25967 {
25968 {0.3108, 0.1976, 0.1087, 0.3828},
25969 {0.2979, 0.1717, 0.0561, 0.4743},
25970 {0.3278, 0.1836, 0.1161, 0.3725},
25971 {0.2108, 0.2116, 0.1119, 0.4657}},
25972 {
25973 {0.3313, 0.2034, 0.1127, 0.3526},
25974 {0.2836, 0.1899, 0.0487, 0.4777},
25975 {0.3397, 0.1873, 0.1029, 0.3701},
25976 {0.1882, 0.2541, 0.1170, 0.4407}},
25977 {
25978 {0.3200, 0.1921, 0.1232, 0.3647},
25979 {0.2806, 0.1561, 0.0610, 0.5024},
25980 {0.3055, 0.2051, 0.1261, 0.3633},
25981 {0.1804, 0.2437, 0.1287, 0.4472}},
25982 {
25983 {0.3170, 0.1915, 0.1298, 0.3617},
25984 {0.2830, 0.1530, 0.0686, 0.4954},
25985 {0.3207, 0.1935, 0.1244, 0.3613},
25986 {0.2092, 0.2191, 0.1436, 0.4281}},
25987 {
25988 {0.3334, 0.1707, 0.1315, 0.3644},
25989 {0.3037, 0.1285, 0.0696, 0.4982},
25990 {0.3208, 0.1620, 0.1248, 0.3924},
25991 {0.2110, 0.1992, 0.1439, 0.4459}},
25992 {
25993 {0.3227, 0.1841, 0.1248, 0.3684},
25994 {0.3050, 0.1425, 0.0631, 0.4894},
25995 {0.3241, 0.1765, 0.1264, 0.3729},
25996 {0.2018, 0.2288, 0.1295, 0.4400}},
25997 {
25998 {0.3133, 0.1980, 0.1159, 0.3728},
25999 {0.2511, 0.1880, 0.0651, 0.4958},
26000 {0.3368, 0.1964, 0.1073, 0.3595},
26001 {0.1983, 0.2396, 0.1289, 0.4332}},
26002 {
26003 {0.3138, 0.2206, 0.1245, 0.3412},
26004 {0.2807, 0.1821, 0.0633, 0.4739},
26005 {0.3074, 0.1975, 0.1171, 0.3780},
26006 {0.1852, 0.2579, 0.1390, 0.4180}},
26007 {
26008 {0.3100, 0.2033, 0.1222, 0.3646},
26009 {0.2793, 0.1838, 0.0565, 0.4804},
26010 {0.3176, 0.2116, 0.1111, 0.3597},
26011 {0.1931, 0.2384, 0.1404, 0.4282}},
26012 {
26013 {0.3214, 0.1814, 0.1368, 0.3604},
26014 {0.2910, 0.1911, 0.0573, 0.4605},
26015 {0.3253, 0.1838, 0.1102, 0.3806},
26016 {0.2037, 0.2265, 0.1522, 0.4176}},
26017 {
26018 {0.3155, 0.1897, 0.1309, 0.3639},
26019 {0.2745, 0.1815, 0.0606, 0.4834},
26020 {0.2983, 0.1728, 0.1271, 0.4018},
26021 {0.1918, 0.2257, 0.1524, 0.4301}},
26022 {
26023 {0.3010, 0.1845, 0.1418, 0.3727},
26024 {0.2702, 0.1844, 0.0629, 0.4825},
26025 {0.3134, 0.1877, 0.1139, 0.3851},
26026 {0.1942, 0.2249, 0.1493, 0.4316}},
26027 {
26028 {0.3201, 0.1835, 0.1288, 0.3676},
26029 {0.2742, 0.1607, 0.0619, 0.5032},
26030 {0.3024, 0.1802, 0.1147, 0.4026},
26031 {0.1915, 0.2243, 0.1480, 0.4361}},
26032 {
26033 {0.3124, 0.1845, 0.1410, 0.3621},
26034 {0.2905, 0.1603, 0.0726, 0.4766},
26035 {0.2893, 0.1776, 0.1189, 0.4142},
26036 {0.2030, 0.2041, 0.1583, 0.4346}},
26037 {
26038 {0.2829, 0.1861, 0.1365, 0.3946},
26039 {0.2996, 0.1629, 0.0775, 0.4600},
26040 {0.2852, 0.1681, 0.1274, 0.4192},
26041 {0.1964, 0.2092, 0.1649, 0.4295}},
26042 {
26043 {0.3027, 0.1734, 0.1457, 0.3782},
26044 {0.2896, 0.1604, 0.0694, 0.4805},
26045 {0.3011, 0.1748, 0.1208, 0.4033},
26046 {0.1998, 0.2107, 0.1624, 0.4271}},
26047 {
26048 {0.2962, 0.1758, 0.1403, 0.3877},
26049 {0.3053, 0.1492, 0.0705, 0.4750},
26050 {0.3093, 0.1716, 0.1219, 0.3972},
26051 {0.2048, 0.2013, 0.1609, 0.4329}},
26052 {
26053 {0.2925, 0.1755, 0.1477, 0.3843},
26054 {0.2961, 0.1592, 0.0756, 0.4692},
26055 {0.3053, 0.1681, 0.1273, 0.3994},
26056 {0.2191, 0.1910, 0.1630, 0.4270}},
26057 {
26058 {0.2978, 0.1689, 0.1543, 0.3790},
26059 {0.3048, 0.1606, 0.0683, 0.4663},
26060 {0.3149, 0.1570, 0.1472, 0.3809},
26061 {0.1999, 0.1900, 0.1709, 0.4391}},
26062 {
26063 {0.3109, 0.1677, 0.1480, 0.3734},
26064 {0.3090, 0.1531, 0.0787, 0.4592},
26065 {0.2995, 0.1687, 0.1277, 0.4041},
26066 {0.2142, 0.1855, 0.1684, 0.4320}},
26067 {
26068 {0.3173, 0.1559, 0.1500, 0.3769},
26069 {0.3242, 0.1422, 0.0730, 0.4605},
26070 {0.3055, 0.1605, 0.1406, 0.3934},
26071 {0.2056, 0.1953, 0.1669, 0.4323}},
26072 {
26073 {0.3157, 0.1623, 0.1426, 0.3794},
26074 {0.3189, 0.1340, 0.0695, 0.4775},
26075 {0.3005, 0.1552, 0.1463, 0.3980},
26076 {0.2108, 0.1886, 0.1640, 0.4367}},
26077 {
26078 {0.3072, 0.1576, 0.1536, 0.3815},
26079 {0.3072, 0.1519, 0.0738, 0.4670},
26080 {0.2821, 0.1649, 0.1409, 0.4120},
26081 {0.2084, 0.1834, 0.1667, 0.4415}},
26082 {
26083 {0.3097, 0.1631, 0.1590, 0.3682},
26084 {0.3136, 0.1493, 0.0770, 0.4601},
26085 {0.2917, 0.1725, 0.1356, 0.4002},
26086 {0.2075, 0.1931, 0.1695, 0.4300}},
26087 {
26088 {0.3217, 0.1501, 0.1620, 0.3663},
26089 {0.3066, 0.1437, 0.0787, 0.4710},
26090 {0.3071, 0.1678, 0.1338, 0.3913},
26091 {0.2042, 0.1799, 0.1778, 0.4382}},
26092 {
26093 {0.3091, 0.1600, 0.1579, 0.3731},
26094 {0.3162, 0.1321, 0.0843, 0.4674},
26095 {0.3168, 0.1353, 0.1438, 0.4041},
26096 {0.2069, 0.1849, 0.1792, 0.4290}},
26097 {
26098 {0.3048, 0.1598, 0.1558, 0.3796},
26099 {0.3242, 0.1499, 0.0887, 0.4373},
26100 {0.2983, 0.1560, 0.1338, 0.4118},
26101 {0.2049, 0.1810, 0.1872, 0.4268}},
26102 {
26103 {0.3053, 0.1504, 0.1704, 0.3739},
26104 {0.3197, 0.1479, 0.0757, 0.4566},
26105 {0.3134, 0.1525, 0.1450, 0.3891},
26106 {0.2158, 0.1789, 0.1821, 0.4231}},
26107 {
26108 {0.3252, 0.1548, 0.1482, 0.3718},
26109 {0.3430, 0.1367, 0.0794, 0.4409},
26110 {0.3015, 0.1492, 0.1515, 0.3977},
26111 {0.1999, 0.1871, 0.1901, 0.4229}},
26112 {
26113 {0.3084, 0.1480, 0.1605, 0.3831},
26114 {0.3331, 0.1432, 0.0865, 0.4373},
26115 {0.3186, 0.1656, 0.1402, 0.3756},
26116 {0.2156, 0.1851, 0.1810, 0.4183}},
26117 {
26118 {0.3158, 0.1570, 0.1630, 0.3642},
26119 {0.3159, 0.1595, 0.0862, 0.4384},
26120 {0.3172, 0.1523, 0.1440, 0.3866},
26121 {0.2121, 0.1790, 0.1853, 0.4236}},
26122 {
26123 {0.3221, 0.1479, 0.1677, 0.3623},
26124 {0.3368, 0.1495, 0.0839, 0.4298},
26125 {0.3091, 0.1410, 0.1439, 0.4061},
26126 {0.2127, 0.1757, 0.1866, 0.4250}},
26127 {
26128 {0.3227, 0.1428, 0.1724, 0.3621},
26129 {0.3368, 0.1518, 0.0796, 0.4317},
26130 {0.3235, 0.1517, 0.1398, 0.3849},
26131 {0.2130, 0.1839, 0.1900, 0.4130}},
26132 {
26133 {0.3128, 0.1541, 0.1694, 0.3637},
26134 {0.3410, 0.1446, 0.0841, 0.4303},
26135 {0.3241, 0.1591, 0.1515, 0.3653},
26136 {0.2149, 0.1735, 0.1912, 0.4204}},
26137 {
26138 {0.3184, 0.1540, 0.1671, 0.3605},
26139 {0.3325, 0.1386, 0.0985, 0.4304},
26140 {0.3224, 0.1504, 0.1418, 0.3853},
26141 {0.2181, 0.1692, 0.1988, 0.4138}},
26142 {
26143 {0.3252, 0.1449, 0.1789, 0.3509},
26144 {0.3022, 0.1650, 0.0915, 0.4413},
26145 {0.3127, 0.1416, 0.1527, 0.3929},
26146 {0.2147, 0.1725, 0.1944, 0.4184}},
26147 {
26148 {0.3123, 0.1394, 0.1778, 0.3705},
26149 {0.3238, 0.1375, 0.0915, 0.4471},
26150 {0.3250, 0.1412, 0.1395, 0.3944},
26151 {0.2087, 0.1691, 0.1985, 0.4237}},
26152 {
26153 {0.3063, 0.1490, 0.1644, 0.3803},
26154 {0.3210, 0.1267, 0.1057, 0.4466},
26155 {0.3275, 0.1487, 0.1495, 0.3743},
26156 {0.2225, 0.1724, 0.1951, 0.4100}},
26157 {
26158 {0.3282, 0.1442, 0.1708, 0.3568},
26159 {0.3257, 0.1468, 0.0866, 0.4410},
26160 {0.3038, 0.1552, 0.1504, 0.3906},
26161 {0.2180, 0.1722, 0.2008, 0.4090}},
26162 {
26163 {0.3218, 0.1592, 0.1669, 0.3522},
26164 {0.3284, 0.1446, 0.0876, 0.4394},
26165 {0.3087, 0.1412, 0.1529, 0.3972},
26166 {0.2099, 0.1726, 0.2040, 0.4135}},
26167 {
26168 {0.3056, 0.1494, 0.1815, 0.3635},
26169 {0.3338, 0.1408, 0.0875, 0.4379},
26170 {0.3227, 0.1445, 0.1565, 0.3763},
26171 {0.2128, 0.1736, 0.1987, 0.4149}},
26172 {
26173 {0.3194, 0.1479, 0.1615, 0.3712},
26174 {0.3212, 0.1293, 0.0841, 0.4654},
26175 {0.3192, 0.1349, 0.1598, 0.3862},
26176 {0.2197, 0.1764, 0.1942, 0.4097}},
26177 {
26178 {0.3414, 0.1473, 0.1592, 0.3520},
26179 {0.3170, 0.1433, 0.0815, 0.4583},
26180 {0.3225, 0.1438, 0.1551, 0.3787},
26181 {0.2166, 0.1665, 0.2121, 0.4049}},
26182 {
26183 {0.3295, 0.1375, 0.1686, 0.3644},
26184 {0.3192, 0.1432, 0.0941, 0.4435},
26185 {0.3257, 0.1561, 0.1488, 0.3694},
26186 {0.2165, 0.1700, 0.2145, 0.3990}},
26187 {
26188 {0.3169, 0.1524, 0.1635, 0.3672},
26189 {0.3296, 0.1359, 0.0860, 0.4484},
26190 {0.3187, 0.1415, 0.1588, 0.3809},
26191 {0.2208, 0.1663, 0.2058, 0.4071}}},
26192
26193 { /* Splice_Site: T2_GT; Species: Cress */
26194 {
26195 {0.2404, 0.2404, 0.2404, 0.2404},
26196 {0.1966, 0.1966, 0.1966, 0.1966},
26197 {0.2007, 0.2007, 0.2007, 0.2007},
26198 {0.3623, 0.3623, 0.3623, 0.3623}},
26199 {
26200 {0.2959, 0.1836, 0.3216, 0.1989},
26201 {0.3661, 0.1661, 0.2167, 0.2511},
26202 {0.3506, 0.1791, 0.2833, 0.1871},
26203 {0.1825, 0.2231, 0.3701, 0.2243}},
26204 {
26205 {0.3758, 0.1612, 0.1826, 0.2804},
26206 {0.2753, 0.2392, 0.1504, 0.3351},
26207 {0.3548, 0.2158, 0.1961, 0.2332},
26208 {0.1399, 0.2938, 0.1600, 0.4063}},
26209 {
26210 {0.2554, 0.1847, 0.2335, 0.3264},
26211 {0.3097, 0.1570, 0.1037, 0.4295},
26212 {0.2622, 0.1833, 0.2048, 0.3497},
26213 {0.1348, 0.2411, 0.2246, 0.3995}},
26214 {
26215 {0.2753, 0.1660, 0.3538, 0.2048},
26216 {0.3636, 0.1663, 0.2112, 0.2589},
26217 {0.3740, 0.1794, 0.2574, 0.1891},
26218 {0.1855, 0.2347, 0.3614, 0.2184}},
26219 {
26220 {0.3285, 0.1731, 0.1735, 0.3249},
26221 {0.2983, 0.2291, 0.1437, 0.3289},
26222 {0.3415, 0.2114, 0.2006, 0.2466},
26223 {0.1229, 0.3152, 0.1370, 0.4249}},
26224 {
26225 {0.2801, 0.1724, 0.2339, 0.3136},
26226 {0.2877, 0.1678, 0.1166, 0.4279},
26227 {0.2515, 0.2019, 0.2114, 0.3352},
26228 {0.1392, 0.2785, 0.2148, 0.3675}},
26229 {
26230 {0.3089, 0.1790, 0.3166, 0.1955},
26231 {0.3730, 0.1534, 0.2039, 0.2698},
26232 {0.3518, 0.1860, 0.2666, 0.1957},
26233 {0.1948, 0.2302, 0.3638, 0.2112}},
26234 {
26235 {0.3660, 0.1699, 0.1803, 0.2838},
26236 {0.2864, 0.2476, 0.1212, 0.3449},
26237 {0.3860, 0.1918, 0.2203, 0.2019},
26238 {0.1739, 0.2982, 0.1435, 0.3844}},
26239 {
26240 {0.2576, 0.1968, 0.2285, 0.3170},
26241 {0.2777, 0.1866, 0.1159, 0.4198},
26242 {0.2793, 0.1991, 0.2080, 0.3136},
26243 {0.1457, 0.2663, 0.2164, 0.3716}},
26244 {
26245 {0.3031, 0.1727, 0.3340, 0.1901},
26246 {0.3548, 0.1603, 0.2434, 0.2415},
26247 {0.3716, 0.1831, 0.2442, 0.2011},
26248 {0.1969, 0.2358, 0.3807, 0.1867}},
26249 {
26250 {0.3846, 0.1697, 0.1709, 0.2749},
26251 {0.2870, 0.2507, 0.1279, 0.3344},
26252 {0.3647, 0.2064, 0.2110, 0.2179},
26253 {0.1413, 0.2914, 0.1650, 0.4024}},
26254 {
26255 {0.2705, 0.1922, 0.2445, 0.2928},
26256 {0.2802, 0.1679, 0.1048, 0.4471},
26257 {0.2833, 0.1882, 0.2029, 0.3257},
26258 {0.1574, 0.2618, 0.2285, 0.3523}},
26259 {
26260 {0.2770, 0.1860, 0.3507, 0.1863},
26261 {0.3825, 0.1719, 0.1967, 0.2488},
26262 {0.3328, 0.1865, 0.2563, 0.2244},
26263 {0.1901, 0.2137, 0.3748, 0.2214}},
26264 {
26265 {0.3712, 0.1810, 0.1758, 0.2720},
26266 {0.2947, 0.2380, 0.1459, 0.3214},
26267 {0.3466, 0.2247, 0.2153, 0.2134},
26268 {0.1684, 0.2988, 0.1370, 0.3958}},
26269 {
26270 {0.2739, 0.2028, 0.2262, 0.2972},
26271 {0.2833, 0.1790, 0.0955, 0.4422},
26272 {0.2586, 0.1935, 0.2206, 0.3273},
26273 {0.1437, 0.2532, 0.2218, 0.3812}},
26274 {
26275 {0.2994, 0.1816, 0.3279, 0.1911},
26276 {0.3833, 0.1811, 0.2023, 0.2333},
26277 {0.3281, 0.2007, 0.2707, 0.2005},
26278 {0.2010, 0.2340, 0.3531, 0.2120}},
26279 {
26280 {0.3681, 0.1761, 0.1576, 0.2983},
26281 {0.2942, 0.2177, 0.1257, 0.3624},
26282 {0.3637, 0.2091, 0.2049, 0.2222},
26283 {0.1491, 0.2925, 0.1677, 0.3907}},
26284 {
26285 {0.2671, 0.1924, 0.2315, 0.3090},
26286 {0.2647, 0.1929, 0.1004, 0.4420},
26287 {0.2813, 0.1897, 0.2125, 0.3166},
26288 {0.1282, 0.2754, 0.2136, 0.3828}},
26289 {
26290 {0.2917, 0.1897, 0.3469, 0.1717},
26291 {0.3774, 0.1872, 0.1948, 0.2406},
26292 {0.3652, 0.1989, 0.2380, 0.1978},
26293 {0.2065, 0.2407, 0.3561, 0.1967}},
26294 {
26295 {0.3665, 0.1642, 0.1894, 0.2799},
26296 {0.2802, 0.2321, 0.1332, 0.3545},
26297 {0.3715, 0.2149, 0.1924, 0.2212},
26298 {0.1466, 0.3372, 0.1446, 0.3716}},
26299 {
26300 {0.2741, 0.1998, 0.2295, 0.2965},
26301 {0.2824, 0.1688, 0.0931, 0.4557},
26302 {0.2742, 0.1891, 0.1866, 0.3501},
26303 {0.1590, 0.2612, 0.1958, 0.3840}},
26304 {
26305 {0.2943, 0.1806, 0.3174, 0.2078},
26306 {0.3625, 0.1624, 0.2171, 0.2580},
26307 {0.3683, 0.1900, 0.2516, 0.1901},
26308 {0.2016, 0.2126, 0.3619, 0.2238}},
26309 {
26310 {0.4052, 0.1717, 0.1737, 0.2494},
26311 {0.2885, 0.2304, 0.1431, 0.3380},
26312 {0.3763, 0.2192, 0.1992, 0.2053},
26313 {0.1523, 0.3222, 0.1552, 0.3703}},
26314 {
26315 {0.2649, 0.2278, 0.2039, 0.3034},
26316 {0.2779, 0.1982, 0.0969, 0.4269},
26317 {0.2789, 0.2082, 0.2032, 0.3098},
26318 {0.1524, 0.2719, 0.2130, 0.3627}},
26319 {
26320 {0.2761, 0.1879, 0.3350, 0.2010},
26321 {0.3849, 0.1660, 0.2131, 0.2360},
26322 {0.3412, 0.2114, 0.2597, 0.1877},
26323 {0.1859, 0.2435, 0.3872, 0.1834}},
26324 {
26325 {0.3636, 0.1697, 0.1802, 0.2864},
26326 {0.2911, 0.2336, 0.1441, 0.3313},
26327 {0.3501, 0.2005, 0.2321, 0.2173},
26328 {0.1281, 0.3222, 0.1682, 0.3815}},
26329 {
26330 {0.2994, 0.2034, 0.2096, 0.2875},
26331 {0.2917, 0.1949, 0.0866, 0.4268},
26332 {0.2947, 0.2092, 0.1987, 0.2973},
26333 {0.1549, 0.2731, 0.2053, 0.3667}},
26334 {
26335 {0.2909, 0.1828, 0.3163, 0.2100},
26336 {0.3680, 0.1838, 0.1944, 0.2538},
26337 {0.3655, 0.1936, 0.2424, 0.1986},
26338 {0.1946, 0.2597, 0.3466, 0.1991}},
26339 {
26340 {0.3462, 0.1680, 0.2067, 0.2792},
26341 {0.2880, 0.2318, 0.1480, 0.3322},
26342 {0.3717, 0.2299, 0.1908, 0.2076},
26343 {0.1421, 0.3256, 0.1642, 0.3681}},
26344 {
26345 {0.2703, 0.2032, 0.2164, 0.3101},
26346 {0.2933, 0.1852, 0.0953, 0.4262},
26347 {0.2534, 0.2382, 0.1726, 0.3358},
26348 {0.1556, 0.2977, 0.1883, 0.3585}},
26349 {
26350 {0.2786, 0.1793, 0.3136, 0.2286},
26351 {0.3490, 0.1894, 0.2102, 0.2514},
26352 {0.3457, 0.2164, 0.2519, 0.1859},
26353 {0.1831, 0.2453, 0.3640, 0.2076}},
26354 {
26355 {0.3626, 0.2072, 0.1589, 0.2713},
26356 {0.2674, 0.2431, 0.1253, 0.3642},
26357 {0.3658, 0.2241, 0.1890, 0.2210},
26358 {0.1404, 0.3315, 0.1356, 0.3925}},
26359 {
26360 {0.2579, 0.2218, 0.2273, 0.2930},
26361 {0.2951, 0.1901, 0.0898, 0.4250},
26362 {0.2641, 0.2301, 0.1927, 0.3132},
26363 {0.1445, 0.2816, 0.2035, 0.3704}},
26364 {
26365 {0.2991, 0.1838, 0.3023, 0.2148},
26366 {0.3724, 0.1823, 0.2164, 0.2289},
26367 {0.3665, 0.1992, 0.2395, 0.1949},
26368 {0.1827, 0.2451, 0.3694, 0.2027}},
26369 {
26370 {0.3572, 0.2106, 0.1400, 0.2922},
26371 {0.2798, 0.2288, 0.1314, 0.3600},
26372 {0.3558, 0.2406, 0.1798, 0.2237},
26373 {0.1689, 0.3186, 0.1382, 0.3743}},
26374 {
26375 {0.2749, 0.2135, 0.1998, 0.3117},
26376 {0.2846, 0.1875, 0.0751, 0.4529},
26377 {0.2644, 0.2077, 0.2002, 0.3277},
26378 {0.1492, 0.2964, 0.1889, 0.3655}},
26379 {
26380 {0.2939, 0.1876, 0.3143, 0.2041},
26381 {0.3375, 0.1884, 0.2305, 0.2436},
26382 {0.3325, 0.2067, 0.2546, 0.2062},
26383 {0.1851, 0.2467, 0.3499, 0.2183}},
26384 {
26385 {0.3863, 0.1881, 0.1579, 0.2677},
26386 {0.2967, 0.2568, 0.1272, 0.3193},
26387 {0.3862, 0.2042, 0.2068, 0.2028},
26388 {0.1499, 0.3365, 0.1528, 0.3608}},
26389 {
26390 {0.2633, 0.2158, 0.2056, 0.3153},
26391 {0.2639, 0.1849, 0.0821, 0.4691},
26392 {0.2736, 0.1878, 0.2014, 0.3372},
26393 {0.1570, 0.2806, 0.1818, 0.3806}},
26394 {
26395 {0.3037, 0.1873, 0.3243, 0.1846},
26396 {0.3878, 0.1628, 0.2119, 0.2375},
26397 {0.3558, 0.2004, 0.2455, 0.1983},
26398 {0.2090, 0.2344, 0.3444, 0.2122}},
26399 {
26400 {0.3641, 0.1900, 0.1466, 0.2994},
26401 {0.3256, 0.2388, 0.1250, 0.3105},
26402 {0.3798, 0.2310, 0.1745, 0.2147},
26403 {0.1469, 0.3389, 0.1295, 0.3847}},
26404 {
26405 {0.2976, 0.1947, 0.1879, 0.3198},
26406 {0.2961, 0.1863, 0.0690, 0.4486},
26407 {0.2982, 0.2337, 0.1692, 0.2990},
26408 {0.1655, 0.2662, 0.1741, 0.3943}},
26409 {
26410 {0.3185, 0.1885, 0.2856, 0.2074},
26411 {0.3914, 0.1739, 0.1797, 0.2550},
26412 {0.3667, 0.1965, 0.2243, 0.2125},
26413 {0.1918, 0.2499, 0.3316, 0.2267}},
26414 {
26415 {0.3423, 0.1979, 0.1539, 0.3059},
26416 {0.2734, 0.2380, 0.1120, 0.3766},
26417 {0.3426, 0.2193, 0.1936, 0.2445},
26418 {0.1482, 0.2955, 0.1444, 0.4119}},
26419 {
26420 {0.3023, 0.2132, 0.1661, 0.3185},
26421 {0.3106, 0.1910, 0.0625, 0.4359},
26422 {0.3213, 0.2354, 0.1511, 0.2922},
26423 {0.1843, 0.2646, 0.1602, 0.3909}},
26424 {
26425 {0.3414, 0.2178, 0.2527, 0.1882},
26426 {0.4203, 0.1773, 0.1507, 0.2517},
26427 {0.4032, 0.2247, 0.2308, 0.1413},
26428 {0.2077, 0.2787, 0.3041, 0.2094}},
26429 {
26430 {0.4139, 0.2757, 0.1224, 0.1880},
26431 {0.3583, 0.3334, 0.0755, 0.2328},
26432 {0.4199, 0.2903, 0.1518, 0.1380},
26433 {0.1172, 0.4924, 0.0805, 0.3098}},
26434 {
26435 {0.5241, 0.1277, 0.0710, 0.2772},
26436 {0.5493, 0.1052, 0.0427, 0.3028},
26437 {0.5765, 0.1196, 0.0884, 0.2155},
26438 {0.3070, 0.1914, 0.1190, 0.3825}},
26439 {
26440 {0.1101, 0.0304, 0.8012, 0.0583},
26441 {0.1440, 0.0581, 0.6816, 0.1163},
26442 {0.2031, 0.0652, 0.6043, 0.1274},
26443 {0.0615, 0.0401, 0.8229, 0.0755}},
26444 {
26445 {0.0000, 0.0000, 1.0000, 0.0000},
26446 {0.0000, 0.0000, 1.0000, 0.0000},
26447 {0.0000, 0.0000, 1.0000, 0.0000},
26448 {0.0000, 0.0000, 1.0000, 0.0000}},
26449 {
26450 {0.0000, 0.0000, 0.0000, 0.0000},
26451 {0.0000, 0.0000, 0.0000, 0.0000},
26452 {0.0000, 0.0000, 0.0000, 1.0000},
26453 {0.0000, 0.0000, 0.0000, 0.0000}},
26454 {
26455 {0.0000, 0.0000, 0.0000, 0.0000},
26456 {0.0000, 0.0000, 0.0000, 0.0000},
26457 {0.0000, 0.0000, 0.0000, 0.0000},
26458 {0.6292, 0.0549, 0.1405, 0.1754}},
26459 {
26460 {0.5445, 0.1504, 0.0437, 0.2615},
26461 {0.4541, 0.1499, 0.0620, 0.3341},
26462 {0.6916, 0.0964, 0.0769, 0.1350},
26463 {0.3637, 0.1692, 0.0873, 0.3799}},
26464 {
26465 {0.2066, 0.0908, 0.5205, 0.1821},
26466 {0.2518, 0.0979, 0.3121, 0.3382},
26467 {0.2227, 0.1088, 0.4874, 0.1811},
26468 {0.1921, 0.0991, 0.4962, 0.2126}},
26469 {
26470 {0.2780, 0.1818, 0.1620, 0.3782},
26471 {0.3116, 0.1399, 0.1030, 0.4454},
26472 {0.2011, 0.1447, 0.0846, 0.5695},
26473 {0.2118, 0.1705, 0.1686, 0.4491}},
26474 {
26475 {0.3656, 0.1774, 0.1203, 0.3367},
26476 {0.3312, 0.1621, 0.0673, 0.4394},
26477 {0.3397, 0.1808, 0.1208, 0.3587},
26478 {0.2639, 0.1835, 0.1486, 0.4040}},
26479 {
26480 {0.3165, 0.1940, 0.1192, 0.3704},
26481 {0.2784, 0.1683, 0.0598, 0.4935},
26482 {0.3440, 0.1807, 0.1076, 0.3677},
26483 {0.1920, 0.2189, 0.1210, 0.4681}},
26484 {
26485 {0.3381, 0.2100, 0.1225, 0.3294},
26486 {0.3215, 0.1749, 0.0495, 0.4541},
26487 {0.3238, 0.1871, 0.1303, 0.3589},
26488 {0.1850, 0.2626, 0.1185, 0.4339}},
26489 {
26490 {0.3238, 0.2031, 0.1134, 0.3597},
26491 {0.2785, 0.1618, 0.0621, 0.4975},
26492 {0.3177, 0.1607, 0.1324, 0.3892},
26493 {0.1958, 0.2409, 0.1228, 0.4405}},
26494 {
26495 {0.3215, 0.1912, 0.1468, 0.3405},
26496 {0.2917, 0.1473, 0.0782, 0.4828},
26497 {0.3339, 0.1705, 0.1279, 0.3677},
26498 {0.2057, 0.2246, 0.1471, 0.4226}},
26499 {
26500 {0.3225, 0.1889, 0.1328, 0.3558},
26501 {0.2736, 0.1547, 0.0885, 0.4831},
26502 {0.3354, 0.1697, 0.1519, 0.3430},
26503 {0.1918, 0.2149, 0.1491, 0.4442}},
26504 {
26505 {0.3248, 0.1845, 0.1253, 0.3655},
26506 {0.2942, 0.1451, 0.0678, 0.4929},
26507 {0.3421, 0.1706, 0.1218, 0.3654},
26508 {0.2098, 0.2221, 0.1333, 0.4349}},
26509 {
26510 {0.3037, 0.2158, 0.1246, 0.3558},
26511 {0.2673, 0.1747, 0.0661, 0.4920},
26512 {0.3294, 0.1933, 0.1288, 0.3485},
26513 {0.1889, 0.2611, 0.1225, 0.4274}},
26514 {
26515 {0.2990, 0.2153, 0.1359, 0.3498},
26516 {0.2805, 0.1918, 0.0681, 0.4596},
26517 {0.3310, 0.2059, 0.1492, 0.3139},
26518 {0.1986, 0.2675, 0.1381, 0.3958}},
26519 {
26520 {0.3134, 0.1891, 0.1221, 0.3754},
26521 {0.2721, 0.1854, 0.0662, 0.4763},
26522 {0.3150, 0.1909, 0.1015, 0.3926},
26523 {0.1915, 0.2488, 0.1368, 0.4228}},
26524 {
26525 {0.2977, 0.1943, 0.1284, 0.3795},
26526 {0.2739, 0.1794, 0.0711, 0.4757},
26527 {0.3061, 0.2065, 0.1460, 0.3414},
26528 {0.2046, 0.2455, 0.1413, 0.4086}},
26529 {
26530 {0.2967, 0.1962, 0.1257, 0.3814},
26531 {0.2769, 0.1865, 0.0652, 0.4714},
26532 {0.2938, 0.1774, 0.1258, 0.4030},
26533 {0.1929, 0.2273, 0.1534, 0.4264}},
26534 {
26535 {0.2989, 0.1914, 0.1393, 0.3704},
26536 {0.2753, 0.1863, 0.0647, 0.4737},
26537 {0.2852, 0.1880, 0.1248, 0.4020},
26538 {0.2009, 0.2196, 0.1442, 0.4353}},
26539 {
26540 {0.2879, 0.1802, 0.1512, 0.3807},
26541 {0.2577, 0.1596, 0.0761, 0.5065},
26542 {0.3033, 0.1870, 0.1348, 0.3749},
26543 {0.1833, 0.2316, 0.1446, 0.4406}},
26544 {
26545 {0.3085, 0.1702, 0.1521, 0.3691},
26546 {0.2937, 0.1660, 0.0757, 0.4646},
26547 {0.3242, 0.1778, 0.1399, 0.3581},
26548 {0.1993, 0.2143, 0.1591, 0.4274}},
26549 {
26550 {0.3030, 0.1748, 0.1452, 0.3769},
26551 {0.2814, 0.1557, 0.0777, 0.4851},
26552 {0.3063, 0.1736, 0.1274, 0.3927},
26553 {0.1815, 0.2232, 0.1600, 0.4352}},
26554 {
26555 {0.2982, 0.1637, 0.1527, 0.3854},
26556 {0.2915, 0.1619, 0.0562, 0.4904},
26557 {0.2891, 0.1629, 0.1543, 0.3936},
26558 {0.2012, 0.2292, 0.1506, 0.4190}},
26559 {
26560 {0.2904, 0.1793, 0.1494, 0.3808},
26561 {0.3113, 0.1569, 0.0735, 0.4583},
26562 {0.3201, 0.1737, 0.1382, 0.3681},
26563 {0.1986, 0.2021, 0.1617, 0.4376}},
26564 {
26565 {0.3172, 0.1698, 0.1519, 0.3611},
26566 {0.2881, 0.1559, 0.0713, 0.4847},
26567 {0.3050, 0.1468, 0.1655, 0.3827},
26568 {0.2049, 0.2069, 0.1532, 0.4351}},
26569 {
26570 {0.2994, 0.1750, 0.1602, 0.3654},
26571 {0.2681, 0.1536, 0.0871, 0.4912},
26572 {0.3200, 0.1515, 0.1390, 0.3895},
26573 {0.2017, 0.2012, 0.1672, 0.4298}},
26574 {
26575 {0.2969, 0.1549, 0.1587, 0.3895},
26576 {0.3058, 0.1480, 0.0927, 0.4535},
26577 {0.3182, 0.1480, 0.1517, 0.3820},
26578 {0.1999, 0.1941, 0.1576, 0.4483}},
26579 {
26580 {0.3241, 0.1376, 0.1681, 0.3702},
26581 {0.3003, 0.1634, 0.0795, 0.4567},
26582 {0.3067, 0.1564, 0.1367, 0.4002},
26583 {0.2032, 0.1984, 0.1682, 0.4302}},
26584 {
26585 {0.3061, 0.1632, 0.1532, 0.3776},
26586 {0.3073, 0.1539, 0.0747, 0.4641},
26587 {0.3043, 0.1716, 0.1318, 0.3923},
26588 {0.2006, 0.1899, 0.1607, 0.4488}},
26589 {
26590 {0.2843, 0.1472, 0.1689, 0.3997},
26591 {0.3165, 0.1534, 0.1025, 0.4276},
26592 {0.3101, 0.1433, 0.1362, 0.4104},
26593 {0.1982, 0.2003, 0.1758, 0.4256}},
26594 {
26595 {0.3022, 0.1526, 0.1549, 0.3903},
26596 {0.3071, 0.1241, 0.0862, 0.4826},
26597 {0.3273, 0.1587, 0.1444, 0.3696},
26598 {0.2005, 0.1919, 0.1803, 0.4273}},
26599 {
26600 {0.3154, 0.1491, 0.1528, 0.3827},
26601 {0.2973, 0.1604, 0.0877, 0.4546},
26602 {0.2710, 0.1746, 0.1582, 0.3962},
26603 {0.2095, 0.1822, 0.1717, 0.4367}},
26604 {
26605 {0.3044, 0.1636, 0.1629, 0.3691},
26606 {0.3354, 0.1416, 0.0874, 0.4357},
26607 {0.2909, 0.1661, 0.1650, 0.3779},
26608 {0.2129, 0.1960, 0.1756, 0.4155}},
26609 {
26610 {0.3223, 0.1601, 0.1483, 0.3693},
26611 {0.3090, 0.1558, 0.1002, 0.4350},
26612 {0.3190, 0.1523, 0.1609, 0.3678},
26613 {0.2123, 0.1931, 0.1662, 0.4283}},
26614 {
26615 {0.3062, 0.1575, 0.1768, 0.3596},
26616 {0.3322, 0.1390, 0.0791, 0.4497},
26617 {0.2839, 0.1667, 0.1660, 0.3834},
26618 {0.2196, 0.1828, 0.1804, 0.4172}},
26619 {
26620 {0.3037, 0.1447, 0.1712, 0.3803},
26621 {0.3093, 0.1594, 0.1001, 0.4313},
26622 {0.3074, 0.1607, 0.1547, 0.3771},
26623 {0.2091, 0.1847, 0.1909, 0.4153}},
26624 {
26625 {0.3244, 0.1446, 0.1652, 0.3658},
26626 {0.3286, 0.1395, 0.1001, 0.4319},
26627 {0.3269, 0.1417, 0.1604, 0.3710},
26628 {0.2177, 0.1723, 0.1775, 0.4325}},
26629 {
26630 {0.3217, 0.1522, 0.1671, 0.3591},
26631 {0.3422, 0.1554, 0.0797, 0.4227},
26632 {0.3298, 0.1478, 0.1576, 0.3648},
26633 {0.2042, 0.1877, 0.1893, 0.4188}},
26634 {
26635 {0.3253, 0.1449, 0.1703, 0.3595},
26636 {0.3528, 0.1376, 0.0885, 0.4211},
26637 {0.3230, 0.1553, 0.1714, 0.3504},
26638 {0.1955, 0.1821, 0.1947, 0.4278}},
26639 {
26640 {0.3262, 0.1455, 0.1581, 0.3703},
26641 {0.3279, 0.1565, 0.0802, 0.4355},
26642 {0.3153, 0.1535, 0.1620, 0.3692},
26643 {0.1950, 0.1885, 0.1866, 0.4299}},
26644 {
26645 {0.3230, 0.1448, 0.1640, 0.3682},
26646 {0.3227, 0.1471, 0.0934, 0.4368},
26647 {0.3211, 0.1467, 0.1602, 0.3720},
26648 {0.2175, 0.1757, 0.1962, 0.4106}},
26649 {
26650 {0.2967, 0.1461, 0.1873, 0.3699},
26651 {0.3388, 0.1577, 0.1007, 0.4028},
26652 {0.3218, 0.1515, 0.1496, 0.3771},
26653 {0.2142, 0.1616, 0.1980, 0.4262}},
26654 {
26655 {0.3334, 0.1373, 0.1641, 0.3652},
26656 {0.3383, 0.1827, 0.0844, 0.3947},
26657 {0.3168, 0.1570, 0.1664, 0.3598},
26658 {0.2056, 0.1890, 0.1968, 0.4085}},
26659 {
26660 {0.3114, 0.1525, 0.1793, 0.3568},
26661 {0.3273, 0.1485, 0.1093, 0.4149},
26662 {0.3215, 0.1556, 0.1587, 0.3643},
26663 {0.2028, 0.1818, 0.1877, 0.4277}},
26664 {
26665 {0.3061, 0.1510, 0.1921, 0.3508},
26666 {0.3356, 0.1428, 0.1051, 0.4165},
26667 {0.3380, 0.1449, 0.1695, 0.3476},
26668 {0.2120, 0.1738, 0.1939, 0.4202}},
26669 {
26670 {0.3311, 0.1549, 0.1591, 0.3549},
26671 {0.3295, 0.1468, 0.0912, 0.4325},
26672 {0.3281, 0.1450, 0.1582, 0.3687},
26673 {0.2064, 0.1721, 0.1948, 0.4267}},
26674 {
26675 {0.3040, 0.1543, 0.1822, 0.3595},
26676 {0.3424, 0.1412, 0.0910, 0.4254},
26677 {0.3329, 0.1336, 0.1578, 0.3757},
26678 {0.2044, 0.1666, 0.2017, 0.4273}},
26679 {
26680 {0.3242, 0.1445, 0.1830, 0.3483},
26681 {0.3383, 0.1488, 0.0914, 0.4215},
26682 {0.3342, 0.1485, 0.1467, 0.3706},
26683 {0.2170, 0.1646, 0.2041, 0.4144}},
26684 {
26685 {0.3112, 0.1490, 0.1845, 0.3553},
26686 {0.3257, 0.1465, 0.0951, 0.4327},
26687 {0.3203, 0.1606, 0.1452, 0.3739},
26688 {0.2187, 0.1763, 0.2016, 0.4033}},
26689 {
26690 {0.3090, 0.1485, 0.1821, 0.3604},
26691 {0.3433, 0.1293, 0.0946, 0.4328},
26692 {0.3219, 0.1406, 0.1636, 0.3740},
26693 {0.2198, 0.1712, 0.1839, 0.4251}},
26694 {
26695 {0.3197, 0.1463, 0.1813, 0.3526},
26696 {0.3554, 0.1173, 0.1113, 0.4160},
26697 {0.3169, 0.1452, 0.1609, 0.3770},
26698 {0.2296, 0.1651, 0.1973, 0.4080}},
26699 {
26700 {0.3177, 0.1466, 0.1675, 0.3683},
26701 {0.3157, 0.1645, 0.1134, 0.4065},
26702 {0.3378, 0.1580, 0.1635, 0.3407},
26703 {0.2048, 0.1731, 0.2010, 0.4211}}},
26704
26705 { /* Splice_Site: T0_GT; Species: Cress */
26706 {
26707 {0.2829, 0.2829, 0.2829, 0.2829},
26708 {0.1981, 0.1981, 0.1981, 0.1981},
26709 {0.3146, 0.3146, 0.3146, 0.3146},
26710 {0.2044, 0.2044, 0.2044, 0.2044}},
26711 {
26712 {0.3590, 0.2069, 0.1714, 0.2628},
26713 {0.3226, 0.2416, 0.1290, 0.3068},
26714 {0.3907, 0.1963, 0.1999, 0.2130},
26715 {0.1395, 0.3093, 0.1513, 0.4000}},
26716 {
26717 {0.2770, 0.1924, 0.2386, 0.2920},
26718 {0.3020, 0.1549, 0.0974, 0.4457},
26719 {0.2584, 0.1787, 0.2104, 0.3525},
26720 {0.1504, 0.2360, 0.2328, 0.3808}},
26721 {
26722 {0.2829, 0.1564, 0.3659, 0.1948},
26723 {0.3591, 0.1805, 0.2289, 0.2316},
26724 {0.3491, 0.1774, 0.2917, 0.1819},
26725 {0.1874, 0.2315, 0.3751, 0.2060}},
26726 {
26727 {0.3633, 0.1722, 0.1696, 0.2949},
26728 {0.3104, 0.2267, 0.1262, 0.3367},
26729 {0.3659, 0.2098, 0.2139, 0.2104},
26730 {0.1472, 0.2932, 0.1592, 0.4004}},
26731 {
26732 {0.2849, 0.1642, 0.2364, 0.3145},
26733 {0.2668, 0.1732, 0.1074, 0.4525},
26734 {0.2852, 0.1789, 0.2212, 0.3147},
26735 {0.1565, 0.2540, 0.2132, 0.3763}},
26736 {
26737 {0.2981, 0.1709, 0.3270, 0.2040},
26738 {0.3868, 0.1490, 0.2253, 0.2389},
26739 {0.3663, 0.1735, 0.2738, 0.1865},
26740 {0.1883, 0.2235, 0.3875, 0.2008}},
26741 {
26742 {0.3558, 0.1778, 0.1864, 0.2800},
26743 {0.2784, 0.2267, 0.1513, 0.3435},
26744 {0.3842, 0.2086, 0.1931, 0.2140},
26745 {0.1599, 0.3085, 0.1484, 0.3831}},
26746 {
26747 {0.2781, 0.1790, 0.2163, 0.3266},
26748 {0.2965, 0.1634, 0.1067, 0.4334},
26749 {0.2860, 0.1908, 0.2226, 0.3006},
26750 {0.1405, 0.2516, 0.2449, 0.3631}},
26751 {
26752 {0.2874, 0.1646, 0.3547, 0.1933},
26753 {0.3920, 0.1809, 0.2021, 0.2250},
26754 {0.3518, 0.1839, 0.2735, 0.1908},
26755 {0.2055, 0.2175, 0.3779, 0.1990}},
26756 {
26757 {0.3944, 0.1692, 0.1549, 0.2815},
26758 {0.3073, 0.2241, 0.1304, 0.3382},
26759 {0.3738, 0.2182, 0.1944, 0.2135},
26760 {0.1391, 0.3143, 0.1449, 0.4017}},
26761 {
26762 {0.2628, 0.1910, 0.2380, 0.3081},
26763 {0.2819, 0.1728, 0.1062, 0.4391},
26764 {0.2931, 0.2040, 0.2105, 0.2925},
26765 {0.1480, 0.2566, 0.2219, 0.3735}},
26766 {
26767 {0.2937, 0.1902, 0.3262, 0.1899},
26768 {0.3630, 0.2060, 0.1949, 0.2360},
26769 {0.3546, 0.1936, 0.2624, 0.1894},
26770 {0.1834, 0.2422, 0.3894, 0.1849}},
26771 {
26772 {0.3493, 0.1915, 0.1664, 0.2927},
26773 {0.3105, 0.2398, 0.1204, 0.3293},
26774 {0.4194, 0.1969, 0.1751, 0.2087},
26775 {0.1655, 0.3111, 0.1174, 0.4060}},
26776 {
26777 {0.2973, 0.1901, 0.2210, 0.2916},
26778 {0.2744, 0.1703, 0.0949, 0.4603},
26779 {0.2678, 0.1949, 0.2092, 0.3281},
26780 {0.1476, 0.2479, 0.2177, 0.3869}},
26781 {
26782 {0.3082, 0.1808, 0.3152, 0.1957},
26783 {0.3547, 0.1949, 0.2039, 0.2465},
26784 {0.3636, 0.1916, 0.2434, 0.2013},
26785 {0.1950, 0.2306, 0.3642, 0.2102}},
26786 {
26787 {0.3628, 0.1979, 0.1615, 0.2778},
26788 {0.3081, 0.2278, 0.1294, 0.3347},
26789 {0.3766, 0.2007, 0.2165, 0.2061},
26790 {0.1623, 0.3057, 0.1507, 0.3813}},
26791 {
26792 {0.2767, 0.1865, 0.2364, 0.3004},
26793 {0.2858, 0.1733, 0.0897, 0.4512},
26794 {0.2690, 0.1749, 0.2404, 0.3156},
26795 {0.1580, 0.2500, 0.2204, 0.3716}},
26796 {
26797 {0.2810, 0.1973, 0.3252, 0.1965},
26798 {0.3682, 0.1871, 0.1976, 0.2472},
26799 {0.3363, 0.1946, 0.2577, 0.2113},
26800 {0.1821, 0.2301, 0.3765, 0.2113}},
26801 {
26802 {0.3727, 0.1836, 0.1794, 0.2643},
26803 {0.3075, 0.2365, 0.1358, 0.3203},
26804 {0.3828, 0.2146, 0.1873, 0.2153},
26805 {0.1529, 0.3128, 0.1500, 0.3843}},
26806 {
26807 {0.2699, 0.1867, 0.2281, 0.3153},
26808 {0.2814, 0.1950, 0.0915, 0.4321},
26809 {0.2641, 0.2172, 0.2057, 0.3129},
26810 {0.1441, 0.2735, 0.2070, 0.3754}},
26811 {
26812 {0.2921, 0.1820, 0.3257, 0.2002},
26813 {0.3690, 0.1760, 0.1927, 0.2624},
26814 {0.3415, 0.2107, 0.2756, 0.1722},
26815 {0.1756, 0.2420, 0.3564, 0.2260}},
26816 {
26817 {0.3776, 0.1659, 0.1741, 0.2823},
26818 {0.3199, 0.2095, 0.1309, 0.3398},
26819 {0.3629, 0.2371, 0.1946, 0.2054},
26820 {0.1743, 0.2737, 0.1538, 0.3983}},
26821 {
26822 {0.2765, 0.2018, 0.2256, 0.2961},
26823 {0.2519, 0.1991, 0.0950, 0.4539},
26824 {0.2807, 0.2122, 0.2206, 0.2865},
26825 {0.1502, 0.2558, 0.2127, 0.3813}},
26826 {
26827 {0.2897, 0.1730, 0.3419, 0.1954},
26828 {0.3731, 0.1888, 0.1917, 0.2464},
26829 {0.3571, 0.2109, 0.2389, 0.1931},
26830 {0.1954, 0.2445, 0.3701, 0.1900}},
26831 {
26832 {0.3726, 0.1705, 0.1768, 0.2801},
26833 {0.2908, 0.2193, 0.1558, 0.3340},
26834 {0.3667, 0.2098, 0.2050, 0.2185},
26835 {0.1586, 0.3081, 0.1544, 0.3789}},
26836 {
26837 {0.2790, 0.1954, 0.2373, 0.2883},
26838 {0.2698, 0.1982, 0.0802, 0.4518},
26839 {0.2832, 0.2196, 0.1929, 0.3042},
26840 {0.1488, 0.2799, 0.2032, 0.3681}},
26841 {
26842 {0.3065, 0.1830, 0.3143, 0.1962},
26843 {0.3793, 0.1842, 0.1799, 0.2566},
26844 {0.3514, 0.2192, 0.2640, 0.1655},
26845 {0.1934, 0.2199, 0.3697, 0.2170}},
26846 {
26847 {0.3481, 0.2090, 0.1576, 0.2854},
26848 {0.2918, 0.2187, 0.1324, 0.3572},
26849 {0.3655, 0.2104, 0.2143, 0.2098},
26850 {0.1454, 0.2888, 0.1632, 0.4026}},
26851 {
26852 {0.2499, 0.2219, 0.2198, 0.3085},
26853 {0.2756, 0.1985, 0.0894, 0.4365},
26854 {0.2407, 0.2319, 0.1976, 0.3298},
26855 {0.1411, 0.2891, 0.2132, 0.3566}},
26856 {
26857 {0.2817, 0.1994, 0.3133, 0.2056},
26858 {0.3770, 0.1741, 0.1980, 0.2509},
26859 {0.3506, 0.2089, 0.2395, 0.2010},
26860 {0.1667, 0.2728, 0.3492, 0.2113}},
26861 {
26862 {0.3487, 0.2031, 0.1674, 0.2808},
26863 {0.2698, 0.2202, 0.1329, 0.3770},
26864 {0.3770, 0.2045, 0.1866, 0.2319},
26865 {0.1531, 0.2608, 0.1897, 0.3965}},
26866 {
26867 {0.2735, 0.2077, 0.2058, 0.3130},
26868 {0.2783, 0.1962, 0.0817, 0.4438},
26869 {0.2452, 0.2401, 0.1924, 0.3223},
26870 {0.1461, 0.2824, 0.1933, 0.3782}},
26871 {
26872 {0.2818, 0.1896, 0.3220, 0.2065},
26873 {0.3704, 0.1786, 0.2053, 0.2457},
26874 {0.3726, 0.2029, 0.2398, 0.1847},
26875 {0.2002, 0.2283, 0.3807, 0.1908}},
26876 {
26877 {0.3397, 0.1867, 0.1859, 0.2878},
26878 {0.2842, 0.2374, 0.1341, 0.3443},
26879 {0.3871, 0.2096, 0.1963, 0.2071},
26880 {0.1600, 0.3138, 0.1368, 0.3893}},
26881 {
26882 {0.2811, 0.2109, 0.2021, 0.3059},
26883 {0.2787, 0.1985, 0.0856, 0.4372},
26884 {0.2886, 0.2111, 0.2076, 0.2927},
26885 {0.1547, 0.2741, 0.2142, 0.3570}},
26886 {
26887 {0.2898, 0.1934, 0.3264, 0.1904},
26888 {0.3787, 0.1879, 0.1900, 0.2433},
26889 {0.3385, 0.2070, 0.2812, 0.1733},
26890 {0.1867, 0.2450, 0.3536, 0.2147}},
26891 {
26892 {0.3657, 0.1756, 0.1779, 0.2808},
26893 {0.2826, 0.2461, 0.1326, 0.3387},
26894 {0.3943, 0.2154, 0.1858, 0.2045},
26895 {0.1602, 0.3194, 0.1486, 0.3718}},
26896 {
26897 {0.2814, 0.2005, 0.1878, 0.3303},
26898 {0.2973, 0.1988, 0.0862, 0.4178},
26899 {0.2748, 0.2447, 0.1803, 0.3003},
26900 {0.1462, 0.2801, 0.1904, 0.3833}},
26901 {
26902 {0.2861, 0.1976, 0.3027, 0.2136},
26903 {0.3544, 0.1966, 0.1828, 0.2662},
26904 {0.3365, 0.2039, 0.2628, 0.1969},
26905 {0.1762, 0.2651, 0.3418, 0.2169}},
26906 {
26907 {0.3476, 0.1856, 0.1756, 0.2912},
26908 {0.2653, 0.2162, 0.1388, 0.3797},
26909 {0.3591, 0.1996, 0.2035, 0.2379},
26910 {0.1654, 0.2754, 0.1530, 0.4062}},
26911 {
26912 {0.2692, 0.2218, 0.1942, 0.3148},
26913 {0.2754, 0.1800, 0.0764, 0.4683},
26914 {0.3025, 0.2092, 0.1909, 0.2974},
26915 {0.1620, 0.2661, 0.1966, 0.3754}},
26916 {
26917 {0.3073, 0.1957, 0.2847, 0.2123},
26918 {0.3647, 0.1857, 0.1762, 0.2734},
26919 {0.3602, 0.1849, 0.2617, 0.1933},
26920 {0.2009, 0.2495, 0.3395, 0.2101}},
26921 {
26922 {0.3429, 0.1845, 0.1593, 0.3133},
26923 {0.2776, 0.2278, 0.1394, 0.3553},
26924 {0.3274, 0.2521, 0.1968, 0.2238},
26925 {0.1452, 0.2975, 0.1589, 0.3983}},
26926 {
26927 {0.2738, 0.1970, 0.1951, 0.3341},
26928 {0.2597, 0.1930, 0.0793, 0.4681},
26929 {0.2746, 0.2296, 0.1854, 0.3104},
26930 {0.1461, 0.2797, 0.1953, 0.3789}},
26931 {
26932 {0.3517, 0.1730, 0.2580, 0.2173},
26933 {0.3965, 0.1902, 0.1654, 0.2479},
26934 {0.3924, 0.2226, 0.2195, 0.1655},
26935 {0.2025, 0.2288, 0.3030, 0.2657}},
26936 {
26937 {0.3968, 0.1861, 0.1489, 0.2683},
26938 {0.3567, 0.2417, 0.1092, 0.2924},
26939 {0.4427, 0.2200, 0.1945, 0.1427},
26940 {0.1947, 0.2813, 0.1437, 0.3803}},
26941 {
26942 {0.3055, 0.3401, 0.1446, 0.2097},
26943 {0.3980, 0.2529, 0.0686, 0.2806},
26944 {0.3834, 0.3587, 0.1380, 0.1199},
26945 {0.2051, 0.3895, 0.1587, 0.2467}},
26946 {
26947 {0.5958, 0.0894, 0.1609, 0.1540},
26948 {0.6707, 0.0678, 0.1122, 0.1493},
26949 {0.7074, 0.0963, 0.1178, 0.0785},
26950 {0.4316, 0.1220, 0.2488, 0.1977}},
26951 {
26952 {0.1806, 0.0403, 0.6991, 0.0800},
26953 {0.2197, 0.1014, 0.4451, 0.2337},
26954 {0.2403, 0.0734, 0.5591, 0.1273},
26955 {0.0441, 0.0921, 0.6618, 0.2020}},
26956 {
26957 {0.0000, 0.0000, 1.0000, 0.0000},
26958 {0.0000, 0.0000, 1.0000, 0.0000},
26959 {0.0000, 0.0000, 1.0000, 0.0000},
26960 {0.0000, 0.0000, 1.0000, 0.0000}},
26961 {
26962 {0.0000, 0.0000, 0.0000, 0.0000},
26963 {0.0000, 0.0000, 0.0000, 0.0000},
26964 {0.0000, 0.0000, 0.0000, 1.0000},
26965 {0.0000, 0.0000, 0.0000, 0.0000}},
26966 {
26967 {0.0000, 0.0000, 0.0000, 0.0000},
26968 {0.0000, 0.0000, 0.0000, 0.0000},
26969 {0.0000, 0.0000, 0.0000, 0.0000},
26970 {0.6612, 0.0441, 0.1307, 0.1640}},
26971 {
26972 {0.5593, 0.1363, 0.0436, 0.2607},
26973 {0.4997, 0.1316, 0.0652, 0.3035},
26974 {0.7101, 0.1015, 0.0808, 0.1076},
26975 {0.3697, 0.1561, 0.0742, 0.3999}},
26976 {
26977 {0.1945, 0.0752, 0.5684, 0.1619},
26978 {0.2809, 0.0947, 0.2999, 0.3245},
26979 {0.2080, 0.1212, 0.4770, 0.1938},
26980 {0.1882, 0.1031, 0.5261, 0.1827}},
26981 {
26982 {0.2975, 0.1614, 0.1453, 0.3958},
26983 {0.3174, 0.1515, 0.0881, 0.4431},
26984 {0.1855, 0.1452, 0.0692, 0.6000},
26985 {0.2015, 0.1878, 0.1796, 0.4311}},
26986 {
26987 {0.3532, 0.1482, 0.1260, 0.3725},
26988 {0.3401, 0.1375, 0.0515, 0.4710},
26989 {0.3344, 0.1706, 0.1122, 0.3828},
26990 {0.2754, 0.1794, 0.1517, 0.3935}},
26991 {
26992 {0.3029, 0.1817, 0.1088, 0.4066},
26993 {0.2801, 0.1960, 0.0542, 0.4697},
26994 {0.3204, 0.1754, 0.1072, 0.3970},
26995 {0.2158, 0.2200, 0.1126, 0.4515}},
26996 {
26997 {0.3488, 0.2050, 0.1023, 0.3440},
26998 {0.2832, 0.1906, 0.0548, 0.4714},
26999 {0.3313, 0.2146, 0.1066, 0.3475},
27000 {0.1998, 0.2665, 0.1050, 0.4286}},
27001 {
27002 {0.3060, 0.1935, 0.1248, 0.3757},
27003 {0.2671, 0.1816, 0.0595, 0.4917},
27004 {0.3269, 0.2305, 0.1050, 0.3376},
27005 {0.1865, 0.2587, 0.1214, 0.4334}},
27006 {
27007 {0.3154, 0.2011, 0.1227, 0.3608},
27008 {0.3017, 0.1457, 0.0684, 0.4842},
27009 {0.2927, 0.1877, 0.1153, 0.4044},
27010 {0.1954, 0.2462, 0.1449, 0.4134}},
27011 {
27012 {0.3427, 0.1724, 0.1276, 0.3573},
27013 {0.2963, 0.1245, 0.0693, 0.5099},
27014 {0.3188, 0.1830, 0.1234, 0.3749},
27015 {0.2087, 0.2121, 0.1298, 0.4494}},
27016 {
27017 {0.3407, 0.2009, 0.1174, 0.3411},
27018 {0.2953, 0.1529, 0.0600, 0.4919},
27019 {0.3070, 0.1843, 0.1145, 0.3943},
27020 {0.1840, 0.2414, 0.1347, 0.4398}},
27021 {
27022 {0.3137, 0.2167, 0.1159, 0.3537},
27023 {0.2701, 0.2000, 0.0678, 0.4621},
27024 {0.3163, 0.1839, 0.1106, 0.3892},
27025 {0.2042, 0.2459, 0.1292, 0.4207}},
27026 {
27027 {0.3195, 0.2203, 0.1273, 0.3330},
27028 {0.2645, 0.1870, 0.0593, 0.4893},
27029 {0.3163, 0.2056, 0.1076, 0.3705},
27030 {0.1930, 0.2675, 0.1245, 0.4150}},
27031 {
27032 {0.2948, 0.2062, 0.1218, 0.3772},
27033 {0.2720, 0.1763, 0.0619, 0.4897},
27034 {0.3259, 0.1944, 0.1249, 0.3549},
27035 {0.1841, 0.2563, 0.1264, 0.4332}},
27036 {
27037 {0.3109, 0.2071, 0.1326, 0.3494},
27038 {0.2798, 0.1659, 0.0689, 0.4854},
27039 {0.3290, 0.1866, 0.1125, 0.3719},
27040 {0.1928, 0.2350, 0.1370, 0.4353}},
27041 {
27042 {0.3074, 0.1922, 0.1278, 0.3725},
27043 {0.2765, 0.1877, 0.0556, 0.4803},
27044 {0.3245, 0.1924, 0.1224, 0.3607},
27045 {0.1917, 0.2348, 0.1540, 0.4195}},
27046 {
27047 {0.2903, 0.1703, 0.1525, 0.3869},
27048 {0.2897, 0.1700, 0.0674, 0.4729},
27049 {0.3071, 0.1751, 0.1033, 0.4146},
27050 {0.1934, 0.2226, 0.1445, 0.4395}},
27051 {
27052 {0.2963, 0.1849, 0.1310, 0.3879},
27053 {0.2943, 0.1535, 0.0675, 0.4846},
27054 {0.2955, 0.1933, 0.1107, 0.4006},
27055 {0.2013, 0.2239, 0.1505, 0.4243}},
27056 {
27057 {0.3144, 0.1923, 0.1182, 0.3752},
27058 {0.2894, 0.1512, 0.0679, 0.4915},
27059 {0.3174, 0.1778, 0.1321, 0.3726},
27060 {0.2070, 0.2140, 0.1565, 0.4225}},
27061 {
27062 {0.2917, 0.1810, 0.1570, 0.3703},
27063 {0.2839, 0.1679, 0.0646, 0.4836},
27064 {0.2931, 0.1584, 0.1297, 0.4188},
27065 {0.2157, 0.2147, 0.1446, 0.4250}},
27066 {
27067 {0.2763, 0.1899, 0.1331, 0.4007},
27068 {0.2853, 0.1688, 0.0650, 0.4809},
27069 {0.3316, 0.1633, 0.1092, 0.3959},
27070 {0.2141, 0.2044, 0.1617, 0.4199}},
27071 {
27072 {0.3306, 0.1735, 0.1277, 0.3682},
27073 {0.2966, 0.1428, 0.0663, 0.4944},
27074 {0.3238, 0.1767, 0.1164, 0.3831},
27075 {0.2011, 0.2051, 0.1666, 0.4271}},
27076 {
27077 {0.3093, 0.1669, 0.1367, 0.3872},
27078 {0.2857, 0.1495, 0.0738, 0.4911},
27079 {0.2908, 0.1733, 0.1251, 0.4109},
27080 {0.1883, 0.2014, 0.1694, 0.4408}},
27081 {
27082 {0.3103, 0.1583, 0.1447, 0.3867},
27083 {0.3032, 0.1607, 0.0696, 0.4665},
27084 {0.3253, 0.1589, 0.1381, 0.3777},
27085 {0.1988, 0.1950, 0.1665, 0.4398}},
27086 {
27087 {0.3064, 0.1693, 0.1421, 0.3821},
27088 {0.2999, 0.1568, 0.0799, 0.4635},
27089 {0.3192, 0.1513, 0.1286, 0.4008},
27090 {0.1890, 0.1986, 0.1739, 0.4385}},
27091 {
27092 {0.3093, 0.1674, 0.1516, 0.3717},
27093 {0.3028, 0.1537, 0.0631, 0.4804},
27094 {0.3105, 0.1420, 0.1389, 0.4086},
27095 {0.2018, 0.1930, 0.1538, 0.4514}},
27096 {
27097 {0.3036, 0.1736, 0.1431, 0.3797},
27098 {0.3117, 0.1393, 0.0738, 0.4752},
27099 {0.3195, 0.1567, 0.1343, 0.3896},
27100 {0.2024, 0.1832, 0.1617, 0.4527}},
27101 {
27102 {0.3003, 0.1765, 0.1359, 0.3872},
27103 {0.3088, 0.1536, 0.0937, 0.4439},
27104 {0.3083, 0.1592, 0.1466, 0.3858},
27105 {0.2136, 0.1804, 0.1777, 0.4282}},
27106 {
27107 {0.3071, 0.1801, 0.1592, 0.3537},
27108 {0.3271, 0.1472, 0.0661, 0.4596},
27109 {0.3273, 0.1465, 0.1389, 0.3872},
27110 {0.1893, 0.1703, 0.1854, 0.4549}},
27111 {
27112 {0.2961, 0.1649, 0.1649, 0.3740},
27113 {0.3264, 0.1345, 0.0835, 0.4556},
27114 {0.3043, 0.1536, 0.1217, 0.4204},
27115 {0.1863, 0.1839, 0.1784, 0.4514}},
27116 {
27117 {0.3241, 0.1542, 0.1503, 0.3714},
27118 {0.3389, 0.1415, 0.0912, 0.4284},
27119 {0.2821, 0.1717, 0.1536, 0.3926},
27120 {0.2052, 0.1824, 0.1832, 0.4291}},
27121 {
27122 {0.3107, 0.1562, 0.1589, 0.3741},
27123 {0.3063, 0.1496, 0.0807, 0.4634},
27124 {0.3025, 0.1686, 0.1207, 0.4083},
27125 {0.1990, 0.1790, 0.1724, 0.4496}},
27126 {
27127 {0.3077, 0.1573, 0.1549, 0.3801},
27128 {0.2930, 0.1612, 0.0812, 0.4646},
27129 {0.3078, 0.1769, 0.1408, 0.3744},
27130 {0.2066, 0.1890, 0.1860, 0.4184}},
27131 {
27132 {0.3056, 0.1517, 0.1695, 0.3732},
27133 {0.3008, 0.1590, 0.0790, 0.4612},
27134 {0.2990, 0.1507, 0.1372, 0.4130},
27135 {0.2008, 0.1789, 0.1890, 0.4313}},
27136 {
27137 {0.3152, 0.1566, 0.1616, 0.3666},
27138 {0.2958, 0.1706, 0.0836, 0.4499},
27139 {0.2771, 0.1283, 0.1643, 0.4303},
27140 {0.2093, 0.1812, 0.1790, 0.4305}},
27141 {
27142 {0.3122, 0.1616, 0.1612, 0.3649},
27143 {0.3154, 0.1408, 0.0922, 0.4516},
27144 {0.3099, 0.1439, 0.1515, 0.3947},
27145 {0.2042, 0.1644, 0.1986, 0.4328}},
27146 {
27147 {0.3297, 0.1492, 0.1522, 0.3689},
27148 {0.3563, 0.1491, 0.0793, 0.4153},
27149 {0.3231, 0.1284, 0.1584, 0.3900},
27150 {0.2148, 0.1729, 0.1793, 0.4330}},
27151 {
27152 {0.3094, 0.1495, 0.1639, 0.3772},
27153 {0.3368, 0.1455, 0.0815, 0.4362},
27154 {0.3070, 0.1545, 0.1578, 0.3807},
27155 {0.2042, 0.1822, 0.1801, 0.4335}},
27156 {
27157 {0.3188, 0.1482, 0.1708, 0.3622},
27158 {0.3345, 0.1602, 0.0835, 0.4219},
27159 {0.3135, 0.1475, 0.1434, 0.3955},
27160 {0.2044, 0.1763, 0.1943, 0.4250}},
27161 {
27162 {0.3052, 0.1492, 0.1734, 0.3721},
27163 {0.3296, 0.1208, 0.0993, 0.4504},
27164 {0.3247, 0.1498, 0.1406, 0.3848},
27165 {0.2107, 0.1696, 0.2094, 0.4104}},
27166 {
27167 {0.2985, 0.1425, 0.1677, 0.3912},
27168 {0.3364, 0.1519, 0.0687, 0.4430},
27169 {0.2997, 0.1650, 0.1417, 0.3936},
27170 {0.2091, 0.1833, 0.1888, 0.4188}},
27171 {
27172 {0.3144, 0.1409, 0.1826, 0.3622},
27173 {0.3323, 0.1343, 0.0969, 0.4364},
27174 {0.3189, 0.1574, 0.1420, 0.3817},
27175 {0.2279, 0.1742, 0.1954, 0.4025}},
27176 {
27177 {0.2970, 0.1446, 0.1724, 0.3860},
27178 {0.3226, 0.1516, 0.0965, 0.4292},
27179 {0.3267, 0.1621, 0.1440, 0.3671},
27180 {0.1962, 0.1802, 0.2059, 0.4178}},
27181 {
27182 {0.3170, 0.1463, 0.1800, 0.3567},
27183 {0.3580, 0.1389, 0.0936, 0.4095},
27184 {0.3232, 0.1645, 0.1377, 0.3746},
27185 {0.2235, 0.1749, 0.1956, 0.4060}},
27186 {
27187 {0.3094, 0.1449, 0.1700, 0.3757},
27188 {0.2957, 0.1355, 0.1148, 0.4540},
27189 {0.3354, 0.1477, 0.1429, 0.3739},
27190 {0.2129, 0.1734, 0.2016, 0.4121}},
27191 {
27192 {0.3215, 0.1426, 0.1717, 0.3643},
27193 {0.3121, 0.1237, 0.0906, 0.4736},
27194 {0.3332, 0.1431, 0.1654, 0.3583},
27195 {0.2124, 0.1745, 0.1964, 0.4167}},
27196 {
27197 {0.3212, 0.1680, 0.1529, 0.3580},
27198 {0.3173, 0.1240, 0.0786, 0.4801},
27199 {0.3199, 0.1459, 0.1654, 0.3688},
27200 {0.2261, 0.1754, 0.1867, 0.4118}},
27201 {
27202 {0.3223, 0.1325, 0.1862, 0.3591},
27203 {0.3119, 0.1356, 0.0968, 0.4557},
27204 {0.3028, 0.1307, 0.1673, 0.3992},
27205 {0.2205, 0.1717, 0.1989, 0.4089}},
27206 {
27207 {0.3195, 0.1588, 0.1654, 0.3563},
27208 {0.3408, 0.1404, 0.0877, 0.4310},
27209 {0.3180, 0.1414, 0.1860, 0.3545},
27210 {0.2146, 0.1642, 0.2086, 0.4126}},
27211 {
27212 {0.3206, 0.1538, 0.1686, 0.3570},
27213 {0.3134, 0.1397, 0.0984, 0.4485},
27214 {0.3176, 0.1485, 0.1570, 0.3768},
27215 {0.2301, 0.1858, 0.1935, 0.3906}}},
27216
27217 { /* Splice_Site: F1_GT; Species: Cress */
27218 {
27219 {0.3022, 0.3022, 0.3022, 0.3022},
27220 {0.2166, 0.2166, 0.2166, 0.2166},
27221 {0.1780, 0.1780, 0.1780, 0.1780},
27222 {0.3033, 0.3033, 0.3033, 0.3033}},
27223 {
27224 {0.2738, 0.1886, 0.2538, 0.2838},
27225 {0.3003, 0.1511, 0.1753, 0.3733},
27226 {0.2850, 0.1620, 0.2302, 0.3227},
27227 {0.1733, 0.2043, 0.2821, 0.3404}},
27228 {
27229 {0.3129, 0.1698, 0.3239, 0.1934},
27230 {0.3374, 0.1815, 0.2191, 0.2621},
27231 {0.3619, 0.1726, 0.2661, 0.1994},
27232 {0.1954, 0.2220, 0.3353, 0.2473}},
27233 {
27234 {0.3466, 0.1634, 0.2019, 0.2881},
27235 {0.3091, 0.2228, 0.1207, 0.3474},
27236 {0.3642, 0.2006, 0.2026, 0.2325},
27237 {0.1279, 0.2874, 0.1682, 0.4165}},
27238 {
27239 {0.2562, 0.1899, 0.2694, 0.2845},
27240 {0.3128, 0.1516, 0.1565, 0.3790},
27241 {0.2626, 0.1655, 0.2314, 0.3406},
27242 {0.1716, 0.2113, 0.2777, 0.3394}},
27243 {
27244 {0.3086, 0.1621, 0.3359, 0.1934},
27245 {0.3612, 0.1716, 0.2189, 0.2483},
27246 {0.3761, 0.1668, 0.2718, 0.1853},
27247 {0.2095, 0.2031, 0.3322, 0.2552}},
27248 {
27249 {0.3463, 0.1732, 0.1998, 0.2807},
27250 {0.3076, 0.2352, 0.1191, 0.3381},
27251 {0.3764, 0.1962, 0.1980, 0.2294},
27252 {0.1230, 0.2908, 0.1603, 0.4260}},
27253 {
27254 {0.2788, 0.1804, 0.2594, 0.2814},
27255 {0.3087, 0.1516, 0.1662, 0.3736},
27256 {0.2734, 0.1792, 0.2335, 0.3138},
27257 {0.1758, 0.2154, 0.2714, 0.3374}},
27258 {
27259 {0.3068, 0.1622, 0.3316, 0.1994},
27260 {0.3495, 0.1819, 0.2159, 0.2527},
27261 {0.3566, 0.1829, 0.2664, 0.1941},
27262 {0.2069, 0.2154, 0.3402, 0.2375}},
27263 {
27264 {0.3529, 0.1839, 0.1879, 0.2754},
27265 {0.3137, 0.2277, 0.1225, 0.3361},
27266 {0.3708, 0.1938, 0.1926, 0.2428},
27267 {0.1318, 0.2855, 0.1558, 0.4269}},
27268 {
27269 {0.2758, 0.1912, 0.2547, 0.2783},
27270 {0.3103, 0.1593, 0.1656, 0.3648},
27271 {0.2713, 0.1822, 0.2213, 0.3251},
27272 {0.1770, 0.2167, 0.2747, 0.3317}},
27273 {
27274 {0.2872, 0.1745, 0.3389, 0.1994},
27275 {0.3578, 0.1696, 0.2271, 0.2454},
27276 {0.3552, 0.1677, 0.2808, 0.1963},
27277 {0.1913, 0.2229, 0.3421, 0.2436}},
27278 {
27279 {0.3526, 0.1646, 0.1978, 0.2850},
27280 {0.3089, 0.2245, 0.1118, 0.3548},
27281 {0.3750, 0.1875, 0.1986, 0.2390},
27282 {0.1325, 0.2969, 0.1480, 0.4226}},
27283 {
27284 {0.2816, 0.1826, 0.2682, 0.2675},
27285 {0.3033, 0.1599, 0.1569, 0.3798},
27286 {0.2806, 0.1673, 0.2214, 0.3307},
27287 {0.1786, 0.2162, 0.2719, 0.3332}},
27288 {
27289 {0.3109, 0.1730, 0.3190, 0.1971},
27290 {0.3509, 0.1812, 0.2154, 0.2525},
27291 {0.3664, 0.1694, 0.2671, 0.1971},
27292 {0.1992, 0.2287, 0.3423, 0.2298}},
27293 {
27294 {0.3478, 0.1756, 0.2029, 0.2737},
27295 {0.3094, 0.2354, 0.1090, 0.3462},
27296 {0.3804, 0.1813, 0.2062, 0.2321},
27297 {0.1274, 0.3083, 0.1629, 0.4014}},
27298 {
27299 {0.2761, 0.1869, 0.2619, 0.2751},
27300 {0.3039, 0.1557, 0.1738, 0.3665},
27301 {0.2657, 0.1720, 0.2475, 0.3148},
27302 {0.1602, 0.2261, 0.2808, 0.3330}},
27303 {
27304 {0.3063, 0.1591, 0.3402, 0.1944},
27305 {0.3391, 0.1759, 0.2391, 0.2459},
27306 {0.3592, 0.1716, 0.2696, 0.1995},
27307 {0.2023, 0.2267, 0.3384, 0.2326}},
27308 {
27309 {0.3415, 0.1883, 0.1934, 0.2767},
27310 {0.3041, 0.2256, 0.1312, 0.3391},
27311 {0.3591, 0.1989, 0.2006, 0.2414},
27312 {0.1276, 0.2892, 0.1619, 0.4213}},
27313 {
27314 {0.2675, 0.1864, 0.2619, 0.2842},
27315 {0.3015, 0.1601, 0.1690, 0.3694},
27316 {0.2653, 0.1805, 0.2291, 0.3251},
27317 {0.1762, 0.2201, 0.2635, 0.3402}},
27318 {
27319 {0.2893, 0.1669, 0.3414, 0.2024},
27320 {0.3474, 0.1687, 0.2467, 0.2372},
27321 {0.3698, 0.1721, 0.2726, 0.1855},
27322 {0.2010, 0.2133, 0.3500, 0.2356}},
27323 {
27324 {0.3587, 0.1729, 0.1895, 0.2789},
27325 {0.2879, 0.2285, 0.1224, 0.3612},
27326 {0.3567, 0.1961, 0.2098, 0.2374},
27327 {0.1220, 0.2977, 0.1591, 0.4211}},
27328 {
27329 {0.2769, 0.1726, 0.2730, 0.2775},
27330 {0.3045, 0.1551, 0.1570, 0.3834},
27331 {0.2637, 0.1726, 0.2381, 0.3256},
27332 {0.1740, 0.2139, 0.2839, 0.3282}},
27333 {
27334 {0.2959, 0.1764, 0.3349, 0.1928},
27335 {0.3470, 0.1882, 0.2267, 0.2381},
27336 {0.3668, 0.1688, 0.2796, 0.1847},
27337 {0.2058, 0.2268, 0.3451, 0.2222}},
27338 {
27339 {0.3530, 0.1744, 0.1980, 0.2747},
27340 {0.2919, 0.2476, 0.1214, 0.3391},
27341 {0.3788, 0.1997, 0.1882, 0.2332},
27342 {0.1187, 0.2979, 0.1682, 0.4152}},
27343 {
27344 {0.2704, 0.1851, 0.2673, 0.2772},
27345 {0.3035, 0.1541, 0.1716, 0.3707},
27346 {0.2866, 0.1613, 0.2418, 0.3104},
27347 {0.1723, 0.2306, 0.2697, 0.3275}},
27348 {
27349 {0.3001, 0.1693, 0.3308, 0.1998},
27350 {0.3296, 0.1792, 0.2437, 0.2476},
27351 {0.3601, 0.1654, 0.2795, 0.1950},
27352 {0.1952, 0.2192, 0.3444, 0.2412}},
27353 {
27354 {0.3600, 0.1738, 0.1992, 0.2670},
27355 {0.3018, 0.2329, 0.1171, 0.3481},
27356 {0.3706, 0.1886, 0.2014, 0.2394},
27357 {0.1288, 0.3054, 0.1669, 0.3989}},
27358 {
27359 {0.2736, 0.1836, 0.2639, 0.2790},
27360 {0.3037, 0.1588, 0.1652, 0.3723},
27361 {0.2612, 0.1816, 0.2516, 0.3057},
27362 {0.1671, 0.2255, 0.2726, 0.3349}},
27363 {
27364 {0.3090, 0.1675, 0.3400, 0.1835},
27365 {0.3426, 0.1720, 0.2428, 0.2427},
27366 {0.3753, 0.1679, 0.2777, 0.1791},
27367 {0.2000, 0.2172, 0.3621, 0.2207}},
27368 {
27369 {0.3579, 0.1744, 0.2013, 0.2663},
27370 {0.2978, 0.2417, 0.1231, 0.3374},
27371 {0.3624, 0.1877, 0.2083, 0.2416},
27372 {0.1304, 0.3024, 0.1554, 0.4117}},
27373 {
27374 {0.2654, 0.2064, 0.2479, 0.2803},
27375 {0.3124, 0.1607, 0.1579, 0.3690},
27376 {0.2863, 0.1665, 0.2224, 0.3249},
27377 {0.1664, 0.2297, 0.2791, 0.3249}},
27378 {
27379 {0.2989, 0.1675, 0.3512, 0.1824},
27380 {0.3496, 0.1806, 0.2485, 0.2213},
27381 {0.3604, 0.1777, 0.2720, 0.1898},
27382 {0.1975, 0.2116, 0.3696, 0.2214}},
27383 {
27384 {0.3587, 0.1764, 0.2004, 0.2646},
27385 {0.2959, 0.2454, 0.1245, 0.3341},
27386 {0.3865, 0.1862, 0.2083, 0.2190},
27387 {0.1426, 0.3162, 0.1547, 0.3866}},
27388 {
27389 {0.2747, 0.1833, 0.2653, 0.2767},
27390 {0.2908, 0.1692, 0.1653, 0.3748},
27391 {0.2765, 0.1709, 0.2444, 0.3082},
27392 {0.1554, 0.2201, 0.2836, 0.3408}},
27393 {
27394 {0.3051, 0.1599, 0.3661, 0.1689},
27395 {0.3507, 0.1753, 0.2376, 0.2364},
27396 {0.3767, 0.1692, 0.2750, 0.1791},
27397 {0.1983, 0.2205, 0.3575, 0.2236}},
27398 {
27399 {0.3599, 0.1852, 0.1882, 0.2667},
27400 {0.2974, 0.2427, 0.1240, 0.3359},
27401 {0.3683, 0.1949, 0.2089, 0.2280},
27402 {0.1313, 0.3180, 0.1445, 0.4061}},
27403 {
27404 {0.2749, 0.1881, 0.2621, 0.2748},
27405 {0.3157, 0.1448, 0.1708, 0.3687},
27406 {0.2904, 0.1809, 0.2208, 0.3079},
27407 {0.1652, 0.2272, 0.2863, 0.3213}},
27408 {
27409 {0.3059, 0.1657, 0.3460, 0.1825},
27410 {0.3493, 0.1791, 0.2240, 0.2476},
27411 {0.3704, 0.1816, 0.2721, 0.1759},
27412 {0.2011, 0.2286, 0.3548, 0.2155}},
27413 {
27414 {0.3512, 0.1825, 0.1931, 0.2732},
27415 {0.3036, 0.2408, 0.1267, 0.3289},
27416 {0.3594, 0.1979, 0.2067, 0.2360},
27417 {0.1280, 0.2934, 0.1630, 0.4157}},
27418 {
27419 {0.2647, 0.1877, 0.2640, 0.2836},
27420 {0.2942, 0.1444, 0.1811, 0.3802},
27421 {0.2726, 0.1739, 0.2255, 0.3280},
27422 {0.1717, 0.2171, 0.2802, 0.3311}},
27423 {
27424 {0.2958, 0.1698, 0.3614, 0.1729},
27425 {0.3500, 0.1719, 0.2350, 0.2431},
27426 {0.3640, 0.1750, 0.2718, 0.1892},
27427 {0.1881, 0.2371, 0.3694, 0.2053}},
27428 {
27429 {0.3608, 0.1851, 0.1861, 0.2681},
27430 {0.3062, 0.2548, 0.1167, 0.3224},
27431 {0.3676, 0.2009, 0.2044, 0.2272},
27432 {0.1225, 0.3197, 0.1566, 0.4012}},
27433 {
27434 {0.2665, 0.1901, 0.2550, 0.2884},
27435 {0.3095, 0.1617, 0.1699, 0.3589},
27436 {0.2624, 0.1828, 0.2291, 0.3257},
27437 {0.1724, 0.2234, 0.2699, 0.3343}},
27438 {
27439 {0.2874, 0.1616, 0.3708, 0.1803},
27440 {0.3390, 0.1796, 0.2547, 0.2268},
27441 {0.3624, 0.1716, 0.3006, 0.1654},
27442 {0.1924, 0.2206, 0.3831, 0.2038}},
27443 {
27444 {0.3770, 0.1764, 0.1995, 0.2471},
27445 {0.3048, 0.2434, 0.1352, 0.3166},
27446 {0.3834, 0.1860, 0.2013, 0.2293},
27447 {0.1226, 0.3224, 0.1630, 0.3920}},
27448 {
27449 {0.2723, 0.1951, 0.2462, 0.2864},
27450 {0.2907, 0.1827, 0.1405, 0.3861},
27451 {0.2675, 0.1828, 0.2108, 0.3389},
27452 {0.1565, 0.2407, 0.2613, 0.3415}},
27453 {
27454 {0.2954, 0.1844, 0.3390, 0.1811},
27455 {0.3538, 0.1741, 0.2461, 0.2260},
27456 {0.3526, 0.1920, 0.2842, 0.1712},
27457 {0.2008, 0.2348, 0.3514, 0.2131}},
27458 {
27459 {0.3323, 0.1964, 0.1840, 0.2873},
27460 {0.2907, 0.2414, 0.1273, 0.3407},
27461 {0.3449, 0.2067, 0.1793, 0.2692},
27462 {0.1403, 0.3038, 0.1492, 0.4067}},
27463 {
27464 {0.2876, 0.1361, 0.2090, 0.3673},
27465 {0.2407, 0.1660, 0.2034, 0.3899},
27466 {0.2784, 0.1258, 0.2046, 0.3912},
27467 {0.1457, 0.1652, 0.2931, 0.3960}},
27468 {
27469 {0.0000, 0.0000, 1.0000, 0.0000},
27470 {0.0000, 0.0000, 1.0000, 0.0000},
27471 {0.0000, 0.0000, 1.0000, 0.0000},
27472 {0.0000, 0.0000, 1.0000, 0.0000}},
27473 {
27474 {0.0000, 0.0000, 0.0000, 0.0000},
27475 {0.0000, 0.0000, 0.0000, 0.0000},
27476 {0.0000, 0.0000, 0.0000, 1.0000},
27477 {0.0000, 0.0000, 0.0000, 0.0000}},
27478 {
27479 {0.0000, 0.0000, 0.0000, 0.0000},
27480 {0.0000, 0.0000, 0.0000, 0.0000},
27481 {0.0000, 0.0000, 0.0000, 0.0000},
27482 {0.1642, 0.1986, 0.2365, 0.4007}},
27483 {
27484 {0.3047, 0.1716, 0.3363, 0.1874},
27485 {0.3343, 0.1754, 0.2353, 0.2550},
27486 {0.4125, 0.1494, 0.3719, 0.0662},
27487 {0.2013, 0.2122, 0.3577, 0.2288}},
27488 {
27489 {0.3646, 0.1959, 0.1757, 0.2638},
27490 {0.3056, 0.2455, 0.1178, 0.3311},
27491 {0.3777, 0.2078, 0.1685, 0.2459},
27492 {0.1431, 0.3404, 0.1486, 0.3680}},
27493 {
27494 {0.2581, 0.1912, 0.2716, 0.2790},
27495 {0.2886, 0.1651, 0.1571, 0.3892},
27496 {0.2950, 0.1607, 0.2365, 0.3078},
27497 {0.1619, 0.2354, 0.2843, 0.3184}},
27498 {
27499 {0.2744, 0.1525, 0.3809, 0.1922},
27500 {0.3525, 0.1670, 0.2633, 0.2171},
27501 {0.3411, 0.1638, 0.2996, 0.1956},
27502 {0.2054, 0.2165, 0.3797, 0.1984}},
27503 {
27504 {0.3843, 0.1903, 0.1964, 0.2291},
27505 {0.3109, 0.2287, 0.1365, 0.3239},
27506 {0.3828, 0.2026, 0.1866, 0.2281},
27507 {0.1246, 0.3371, 0.1589, 0.3794}},
27508 {
27509 {0.2719, 0.1902, 0.2612, 0.2767},
27510 {0.3117, 0.1661, 0.1539, 0.3683},
27511 {0.2946, 0.1863, 0.2103, 0.3088},
27512 {0.1794, 0.2434, 0.2558, 0.3214}},
27513 {
27514 {0.3011, 0.1582, 0.3486, 0.1921},
27515 {0.3383, 0.1871, 0.2464, 0.2283},
27516 {0.3549, 0.1752, 0.2939, 0.1761},
27517 {0.1908, 0.2313, 0.3673, 0.2107}},
27518 {
27519 {0.3650, 0.1754, 0.1947, 0.2649},
27520 {0.2963, 0.2440, 0.1167, 0.3430},
27521 {0.3558, 0.2045, 0.1987, 0.2410},
27522 {0.1247, 0.3109, 0.1632, 0.4013}},
27523 {
27524 {0.2604, 0.1852, 0.2621, 0.2923},
27525 {0.2835, 0.1689, 0.1734, 0.3742},
27526 {0.2668, 0.1819, 0.2225, 0.3288},
27527 {0.1660, 0.2347, 0.2777, 0.3216}},
27528 {
27529 {0.3004, 0.1697, 0.3492, 0.1808},
27530 {0.3502, 0.1752, 0.2398, 0.2348},
27531 {0.3548, 0.1780, 0.2924, 0.1748},
27532 {0.1949, 0.2305, 0.3677, 0.2069}},
27533 {
27534 {0.3551, 0.1877, 0.1939, 0.2634},
27535 {0.2804, 0.2488, 0.1174, 0.3534},
27536 {0.3717, 0.1947, 0.1975, 0.2362},
27537 {0.1295, 0.3066, 0.1625, 0.4014}},
27538 {
27539 {0.2579, 0.1923, 0.2626, 0.2871},
27540 {0.3062, 0.1685, 0.1523, 0.3730},
27541 {0.2678, 0.2002, 0.2134, 0.3186},
27542 {0.1577, 0.2415, 0.2762, 0.3245}},
27543 {
27544 {0.3043, 0.1679, 0.3421, 0.1858},
27545 {0.3465, 0.1869, 0.2331, 0.2336},
27546 {0.3580, 0.1827, 0.2787, 0.1806},
27547 {0.1957, 0.2217, 0.3802, 0.2023}},
27548 {
27549 {0.3591, 0.1818, 0.2005, 0.2586},
27550 {0.3045, 0.2295, 0.1347, 0.3313},
27551 {0.3687, 0.2009, 0.2075, 0.2229},
27552 {0.1268, 0.3233, 0.1652, 0.3847}},
27553 {
27554 {0.2732, 0.1902, 0.2616, 0.2750},
27555 {0.2869, 0.1672, 0.1574, 0.3885},
27556 {0.2588, 0.1754, 0.2384, 0.3274},
27557 {0.1794, 0.2345, 0.2684, 0.3177}},
27558 {
27559 {0.2897, 0.1768, 0.3500, 0.1836},
27560 {0.3609, 0.1718, 0.2362, 0.2311},
27561 {0.3584, 0.1746, 0.2875, 0.1795},
27562 {0.2089, 0.2243, 0.3434, 0.2234}},
27563 {
27564 {0.3588, 0.1751, 0.2087, 0.2574},
27565 {0.3024, 0.2377, 0.1379, 0.3220},
27566 {0.3737, 0.1925, 0.1984, 0.2355},
27567 {0.1478, 0.3231, 0.1498, 0.3793}},
27568 {
27569 {0.2574, 0.1893, 0.2641, 0.2892},
27570 {0.2959, 0.1698, 0.1607, 0.3736},
27571 {0.2619, 0.1814, 0.2280, 0.3287},
27572 {0.1676, 0.2380, 0.2754, 0.3190}},
27573 {
27574 {0.2989, 0.1723, 0.3359, 0.1929},
27575 {0.3347, 0.1885, 0.2312, 0.2455},
27576 {0.3565, 0.1859, 0.2631, 0.1946},
27577 {0.1955, 0.2412, 0.3418, 0.2215}},
27578 {
27579 {0.3611, 0.1825, 0.1932, 0.2632},
27580 {0.3046, 0.2288, 0.1256, 0.3410},
27581 {0.3579, 0.2053, 0.2022, 0.2345},
27582 {0.1349, 0.3032, 0.1587, 0.4033}},
27583 {
27584 {0.2617, 0.2002, 0.2510, 0.2872},
27585 {0.2962, 0.1536, 0.1480, 0.4022},
27586 {0.2557, 0.1695, 0.2283, 0.3464},
27587 {0.1699, 0.2350, 0.2677, 0.3274}},
27588 {
27589 {0.3085, 0.1792, 0.3347, 0.1776},
27590 {0.3582, 0.1877, 0.2115, 0.2426},
27591 {0.3661, 0.1743, 0.2772, 0.1824},
27592 {0.2002, 0.2249, 0.3542, 0.2206}},
27593 {
27594 {0.3538, 0.1845, 0.1883, 0.2734},
27595 {0.2956, 0.2417, 0.1274, 0.3353},
27596 {0.3631, 0.1962, 0.2098, 0.2309},
27597 {0.1461, 0.2802, 0.1554, 0.4184}},
27598 {
27599 {0.2592, 0.1999, 0.2520, 0.2889},
27600 {0.2959, 0.1645, 0.1479, 0.3916},
27601 {0.2698, 0.1749, 0.2205, 0.3347},
27602 {0.1670, 0.2508, 0.2521, 0.3302}},
27603 {
27604 {0.2998, 0.1769, 0.3261, 0.1973},
27605 {0.3425, 0.1848, 0.2414, 0.2313},
27606 {0.3627, 0.1762, 0.2718, 0.1893},
27607 {0.2029, 0.2309, 0.3399, 0.2263}},
27608 {
27609 {0.3558, 0.1754, 0.1971, 0.2717},
27610 {0.2902, 0.2366, 0.1187, 0.3544},
27611 {0.3756, 0.1902, 0.1969, 0.2373},
27612 {0.1328, 0.3120, 0.1523, 0.4029}},
27613 {
27614 {0.2722, 0.1830, 0.2499, 0.2948},
27615 {0.2916, 0.1681, 0.1576, 0.3827},
27616 {0.2492, 0.1863, 0.2260, 0.3385},
27617 {0.1756, 0.2290, 0.2546, 0.3408}},
27618 {
27619 {0.3069, 0.1729, 0.3322, 0.1880},
27620 {0.3378, 0.1694, 0.2440, 0.2488},
27621 {0.3616, 0.1631, 0.2875, 0.1878},
27622 {0.2086, 0.2317, 0.3413, 0.2185}},
27623 {
27624 {0.3619, 0.1836, 0.1926, 0.2619},
27625 {0.2821, 0.2262, 0.1254, 0.3662},
27626 {0.3639, 0.1942, 0.1953, 0.2465},
27627 {0.1356, 0.3126, 0.1487, 0.4031}},
27628 {
27629 {0.2715, 0.1862, 0.2547, 0.2876},
27630 {0.3009, 0.1750, 0.1490, 0.3751},
27631 {0.2664, 0.1810, 0.2418, 0.3108},
27632 {0.1720, 0.2400, 0.2462, 0.3418}},
27633 {
27634 {0.2935, 0.1740, 0.3431, 0.1893},
27635 {0.3455, 0.1818, 0.2264, 0.2463},
27636 {0.3592, 0.1745, 0.2764, 0.1899},
27637 {0.1965, 0.2313, 0.3493, 0.2229}},
27638 {
27639 {0.3522, 0.1876, 0.1891, 0.2711},
27640 {0.2844, 0.2292, 0.1300, 0.3563},
27641 {0.3445, 0.2058, 0.2045, 0.2451},
27642 {0.1387, 0.3003, 0.1627, 0.3983}},
27643 {
27644 {0.2735, 0.1957, 0.2510, 0.2799},
27645 {0.2812, 0.1719, 0.1471, 0.3998},
27646 {0.2502, 0.1676, 0.2421, 0.3402},
27647 {0.1692, 0.2365, 0.2430, 0.3513}},
27648 {
27649 {0.3003, 0.1732, 0.3310, 0.1955},
27650 {0.3566, 0.1825, 0.2225, 0.2384},
27651 {0.3628, 0.1686, 0.2662, 0.2024},
27652 {0.2049, 0.2310, 0.3353, 0.2287}},
27653 {
27654 {0.3489, 0.1847, 0.1937, 0.2727},
27655 {0.3146, 0.2258, 0.1256, 0.3341},
27656 {0.3688, 0.1887, 0.1911, 0.2513},
27657 {0.1399, 0.3033, 0.1474, 0.4093}},
27658 {
27659 {0.2782, 0.1909, 0.2585, 0.2725},
27660 {0.2903, 0.1600, 0.1530, 0.3967},
27661 {0.2631, 0.1828, 0.2264, 0.3278},
27662 {0.1814, 0.2511, 0.2339, 0.3336}},
27663 {
27664 {0.3008, 0.1801, 0.3235, 0.1957},
27665 {0.3370, 0.1916, 0.2179, 0.2534},
27666 {0.3573, 0.1815, 0.2745, 0.1868},
27667 {0.1975, 0.2245, 0.3421, 0.2359}},
27668 {
27669 {0.3480, 0.1820, 0.1915, 0.2786},
27670 {0.2923, 0.2254, 0.1189, 0.3634},
27671 {0.3700, 0.1828, 0.2010, 0.2462},
27672 {0.1312, 0.3066, 0.1569, 0.4053}},
27673 {
27674 {0.2712, 0.1873, 0.2574, 0.2841},
27675 {0.2861, 0.1694, 0.1487, 0.3957},
27676 {0.2608, 0.1884, 0.2253, 0.3256},
27677 {0.1645, 0.2378, 0.2600, 0.3377}},
27678 {
27679 {0.3125, 0.1641, 0.3234, 0.2000},
27680 {0.3529, 0.1832, 0.2092, 0.2546},
27681 {0.3540, 0.1737, 0.2721, 0.2002},
27682 {0.1995, 0.2291, 0.3350, 0.2364}},
27683 {
27684 {0.3525, 0.1811, 0.1992, 0.2671},
27685 {0.3117, 0.2295, 0.1233, 0.3354},
27686 {0.3681, 0.1987, 0.1966, 0.2367},
27687 {0.1333, 0.2983, 0.1581, 0.4102}},
27688 {
27689 {0.2700, 0.2016, 0.2431, 0.2853},
27690 {0.2960, 0.1671, 0.1515, 0.3854},
27691 {0.2608, 0.1754, 0.2249, 0.3389},
27692 {0.1683, 0.2460, 0.2404, 0.3454}},
27693 {
27694 {0.3101, 0.1698, 0.3273, 0.1928},
27695 {0.3373, 0.1959, 0.2255, 0.2413},
27696 {0.3593, 0.1642, 0.2800, 0.1965},
27697 {0.2071, 0.2243, 0.3288, 0.2398}},
27698 {
27699 {0.3683, 0.1665, 0.1896, 0.2756},
27700 {0.2879, 0.2345, 0.1279, 0.3496},
27701 {0.3612, 0.1918, 0.2065, 0.2405},
27702 {0.1409, 0.2984, 0.1537, 0.4071}},
27703 {
27704 {0.2474, 0.1996, 0.2677, 0.2852},
27705 {0.2882, 0.1709, 0.1460, 0.3949},
27706 {0.2649, 0.1892, 0.2205, 0.3255},
27707 {0.1700, 0.2367, 0.2522, 0.3411}},
27708 {
27709 {0.3014, 0.1707, 0.3165, 0.2114},
27710 {0.3458, 0.1776, 0.2185, 0.2580},
27711 {0.3618, 0.1696, 0.2771, 0.1915},
27712 {0.2028, 0.2408, 0.3257, 0.2307}},
27713 {
27714 {0.3606, 0.1669, 0.2076, 0.2649},
27715 {0.3082, 0.2254, 0.1247, 0.3417},
27716 {0.3480, 0.1907, 0.1995, 0.2617},
27717 {0.1324, 0.3083, 0.1466, 0.4127}},
27718 {
27719 {0.2685, 0.1873, 0.2490, 0.2951},
27720 {0.2755, 0.1703, 0.1538, 0.4003},
27721 {0.2443, 0.1719, 0.2337, 0.3501},
27722 {0.1860, 0.2249, 0.2429, 0.3462}},
27723 {
27724 {0.3071, 0.1806, 0.3124, 0.2000},
27725 {0.3398, 0.1797, 0.2259, 0.2546},
27726 {0.3541, 0.1628, 0.2732, 0.2099},
27727 {0.2089, 0.2147, 0.3263, 0.2501}}},
27728
27729 { /* Splice_Site: F2_GT; Species: Cress */
27730 {
27731 {0.2522, 0.2522, 0.2522, 0.2522},
27732 {0.1829, 0.1829, 0.1829, 0.1829},
27733 {0.2313, 0.2313, 0.2313, 0.2313},
27734 {0.3336, 0.3336, 0.3336, 0.3336}},
27735 {
27736 {0.3063, 0.1580, 0.3385, 0.1971},
27737 {0.3459, 0.1684, 0.2165, 0.2691},
27738 {0.3396, 0.1761, 0.2878, 0.1965},
27739 {0.2182, 0.2136, 0.3223, 0.2459}},
27740 {
27741 {0.3467, 0.1798, 0.2104, 0.2631},
27742 {0.3020, 0.2431, 0.1505, 0.3043},
27743 {0.3740, 0.1765, 0.2287, 0.2208},
27744 {0.1186, 0.2916, 0.1829, 0.4068}},
27745 {
27746 {0.2800, 0.1628, 0.2573, 0.2999},
27747 {0.2973, 0.1641, 0.1560, 0.3826},
27748 {0.2568, 0.1800, 0.2256, 0.3376},
27749 {0.1830, 0.2177, 0.2574, 0.3419}},
27750 {
27751 {0.3089, 0.1527, 0.3401, 0.1983},
27752 {0.3574, 0.1752, 0.2173, 0.2502},
27753 {0.3564, 0.1648, 0.2731, 0.2057},
27754 {0.2038, 0.2029, 0.3391, 0.2542}},
27755 {
27756 {0.3692, 0.1825, 0.2084, 0.2400},
27757 {0.3089, 0.2402, 0.1257, 0.3252},
27758 {0.3688, 0.1995, 0.2129, 0.2188},
27759 {0.1248, 0.2976, 0.1615, 0.4161}},
27760 {
27761 {0.2678, 0.1822, 0.2414, 0.3086},
27762 {0.2806, 0.1606, 0.1518, 0.4069},
27763 {0.2598, 0.1824, 0.2352, 0.3225},
27764 {0.1679, 0.2143, 0.2703, 0.3475}},
27765 {
27766 {0.2981, 0.1738, 0.3273, 0.2008},
27767 {0.3406, 0.1816, 0.2197, 0.2581},
27768 {0.3777, 0.1792, 0.2576, 0.1856},
27769 {0.2102, 0.2155, 0.3423, 0.2320}},
27770 {
27771 {0.3595, 0.1691, 0.2023, 0.2691},
27772 {0.2984, 0.2313, 0.1288, 0.3415},
27773 {0.3789, 0.1805, 0.2206, 0.2201},
27774 {0.1098, 0.3224, 0.1811, 0.3867}},
27775 {
27776 {0.2641, 0.1709, 0.2662, 0.2987},
27777 {0.2910, 0.1500, 0.1649, 0.3941},
27778 {0.2622, 0.1634, 0.2360, 0.3384},
27779 {0.1629, 0.2251, 0.2758, 0.3362}},
27780 {
27781 {0.3202, 0.1660, 0.3140, 0.1997},
27782 {0.3401, 0.1771, 0.2173, 0.2655},
27783 {0.3648, 0.1771, 0.2552, 0.2029},
27784 {0.1930, 0.2125, 0.3532, 0.2413}},
27785 {
27786 {0.3646, 0.1717, 0.1926, 0.2712},
27787 {0.3137, 0.2406, 0.1104, 0.3353},
27788 {0.3859, 0.1979, 0.2000, 0.2162},
27789 {0.1309, 0.2807, 0.1595, 0.4289}},
27790 {
27791 {0.2555, 0.1922, 0.2485, 0.3039},
27792 {0.3057, 0.1511, 0.1430, 0.4002},
27793 {0.2601, 0.1774, 0.2346, 0.3279},
27794 {0.1820, 0.2276, 0.2439, 0.3465}},
27795 {
27796 {0.3058, 0.1675, 0.3298, 0.1970},
27797 {0.3670, 0.1653, 0.2188, 0.2489},
27798 {0.3608, 0.1819, 0.2432, 0.2142},
27799 {0.1874, 0.2193, 0.3479, 0.2454}},
27800 {
27801 {0.3517, 0.1804, 0.1830, 0.2850},
27802 {0.3163, 0.2554, 0.1192, 0.3091},
27803 {0.3687, 0.2007, 0.2166, 0.2139},
27804 {0.1283, 0.2967, 0.1640, 0.4109}},
27805 {
27806 {0.2796, 0.1780, 0.2546, 0.2878},
27807 {0.2864, 0.1600, 0.1551, 0.3985},
27808 {0.2705, 0.1728, 0.2269, 0.3297},
27809 {0.1708, 0.2165, 0.2711, 0.3416}},
27810 {
27811 {0.3022, 0.1611, 0.3438, 0.1930},
27812 {0.3523, 0.1737, 0.2271, 0.2468},
27813 {0.3784, 0.1625, 0.2603, 0.1989},
27814 {0.2034, 0.2184, 0.3433, 0.2349}},
27815 {
27816 {0.3537, 0.1728, 0.2067, 0.2669},
27817 {0.2966, 0.2400, 0.1333, 0.3301},
27818 {0.3719, 0.1908, 0.2086, 0.2286},
27819 {0.1418, 0.3228, 0.1631, 0.3723}},
27820 {
27821 {0.2613, 0.1828, 0.2435, 0.3124},
27822 {0.2969, 0.1564, 0.1542, 0.3925},
27823 {0.2735, 0.1684, 0.2370, 0.3211},
27824 {0.1691, 0.2094, 0.2679, 0.3535}},
27825 {
27826 {0.2850, 0.1745, 0.3449, 0.1956},
27827 {0.3497, 0.1900, 0.2213, 0.2391},
27828 {0.3694, 0.1608, 0.2682, 0.2016},
27829 {0.1994, 0.2299, 0.3459, 0.2247}},
27830 {
27831 {0.3487, 0.1695, 0.2082, 0.2736},
27832 {0.3076, 0.2308, 0.1469, 0.3147},
27833 {0.3781, 0.1711, 0.2307, 0.2201},
27834 {0.1289, 0.3033, 0.1523, 0.4155}},
27835 {
27836 {0.2666, 0.1880, 0.2570, 0.2884},
27837 {0.2940, 0.1765, 0.1461, 0.3834},
27838 {0.3051, 0.1536, 0.2092, 0.3321},
27839 {0.1609, 0.2185, 0.2691, 0.3515}},
27840 {
27841 {0.3102, 0.1617, 0.3291, 0.1990},
27842 {0.3508, 0.1704, 0.2234, 0.2553},
27843 {0.3541, 0.1835, 0.2640, 0.1985},
27844 {0.2000, 0.2085, 0.3404, 0.2511}},
27845 {
27846 {0.3658, 0.1706, 0.2034, 0.2602},
27847 {0.3325, 0.2319, 0.1209, 0.3147},
27848 {0.3818, 0.1837, 0.2220, 0.2125},
27849 {0.1392, 0.3174, 0.1473, 0.3962}},
27850 {
27851 {0.2532, 0.1976, 0.2375, 0.3117},
27852 {0.2886, 0.1721, 0.1526, 0.3867},
27853 {0.2594, 0.1698, 0.2391, 0.3317},
27854 {0.1629, 0.2174, 0.2758, 0.3439}},
27855 {
27856 {0.3159, 0.1728, 0.3296, 0.1817},
27857 {0.3665, 0.1719, 0.2268, 0.2348},
27858 {0.3559, 0.1828, 0.2640, 0.1974},
27859 {0.1875, 0.2184, 0.3522, 0.2420}},
27860 {
27861 {0.3522, 0.1781, 0.2025, 0.2672},
27862 {0.3176, 0.2317, 0.1344, 0.3163},
27863 {0.3672, 0.1968, 0.2161, 0.2199},
27864 {0.1306, 0.3067, 0.1717, 0.3910}},
27865 {
27866 {0.2591, 0.1967, 0.2476, 0.2965},
27867 {0.2882, 0.1762, 0.1565, 0.3791},
27868 {0.2828, 0.1669, 0.2061, 0.3442},
27869 {0.1806, 0.2050, 0.2656, 0.3488}},
27870 {
27871 {0.2945, 0.1621, 0.3537, 0.1896},
27872 {0.3540, 0.1938, 0.2314, 0.2208},
27873 {0.3478, 0.1870, 0.2794, 0.1857},
27874 {0.1980, 0.2259, 0.3557, 0.2204}},
27875 {
27876 {0.3526, 0.1851, 0.1937, 0.2685},
27877 {0.3267, 0.2168, 0.1425, 0.3140},
27878 {0.3640, 0.1885, 0.2200, 0.2275},
27879 {0.1419, 0.2782, 0.1775, 0.4024}},
27880 {
27881 {0.2613, 0.1875, 0.2626, 0.2887},
27882 {0.3026, 0.1546, 0.1333, 0.4095},
27883 {0.2594, 0.1798, 0.2132, 0.3475},
27884 {0.1646, 0.2344, 0.2641, 0.3370}},
27885 {
27886 {0.3026, 0.1629, 0.3232, 0.2114},
27887 {0.3871, 0.1701, 0.2101, 0.2327},
27888 {0.3725, 0.1699, 0.2625, 0.1950},
27889 {0.2019, 0.2144, 0.3554, 0.2283}},
27890 {
27891 {0.3688, 0.1611, 0.1913, 0.2788},
27892 {0.3143, 0.2340, 0.1270, 0.3247},
27893 {0.3636, 0.1848, 0.2237, 0.2279},
27894 {0.1220, 0.3157, 0.1650, 0.3972}},
27895 {
27896 {0.2558, 0.1863, 0.2519, 0.3061},
27897 {0.2912, 0.1499, 0.1546, 0.4043},
27898 {0.2503, 0.1720, 0.2313, 0.3463},
27899 {0.1622, 0.2390, 0.2659, 0.3330}},
27900 {
27901 {0.3143, 0.1739, 0.3338, 0.1780},
27902 {0.3592, 0.1882, 0.2012, 0.2514},
27903 {0.3493, 0.1842, 0.2762, 0.1902},
27904 {0.1900, 0.1980, 0.3763, 0.2357}},
27905 {
27906 {0.3549, 0.1735, 0.1946, 0.2770},
27907 {0.3186, 0.2344, 0.1275, 0.3194},
27908 {0.3642, 0.1930, 0.2211, 0.2217},
27909 {0.1553, 0.2904, 0.1658, 0.3885}},
27910 {
27911 {0.2726, 0.1891, 0.2338, 0.3045},
27912 {0.2878, 0.1545, 0.1495, 0.4081},
27913 {0.2852, 0.1703, 0.2304, 0.3142},
27914 {0.1692, 0.2209, 0.2616, 0.3483}},
27915 {
27916 {0.2906, 0.1719, 0.3483, 0.1892},
27917 {0.3506, 0.1679, 0.2442, 0.2372},
27918 {0.3757, 0.1698, 0.2689, 0.1856},
27919 {0.2074, 0.2195, 0.3541, 0.2190}},
27920 {
27921 {0.3404, 0.1742, 0.2099, 0.2754},
27922 {0.2887, 0.2512, 0.1314, 0.3287},
27923 {0.3516, 0.1962, 0.2361, 0.2161},
27924 {0.1371, 0.3124, 0.1734, 0.3770}},
27925 {
27926 {0.2574, 0.1882, 0.2395, 0.3150},
27927 {0.2809, 0.1426, 0.1482, 0.4284},
27928 {0.2692, 0.1858, 0.1963, 0.3488},
27929 {0.1670, 0.2175, 0.2765, 0.3389}},
27930 {
27931 {0.3107, 0.1631, 0.3433, 0.1829},
27932 {0.3645, 0.1790, 0.2340, 0.2226},
27933 {0.3672, 0.1759, 0.2768, 0.1802},
27934 {0.2087, 0.1961, 0.3714, 0.2239}},
27935 {
27936 {0.3578, 0.1840, 0.2063, 0.2519},
27937 {0.3164, 0.2341, 0.1413, 0.3082},
27938 {0.3558, 0.2069, 0.2255, 0.2117},
27939 {0.1253, 0.3007, 0.1757, 0.3982}},
27940 {
27941 {0.2720, 0.1981, 0.2343, 0.2955},
27942 {0.2946, 0.1592, 0.1330, 0.4132},
27943 {0.2617, 0.2002, 0.1998, 0.3383},
27944 {0.1808, 0.2397, 0.2625, 0.3170}},
27945 {
27946 {0.2874, 0.1757, 0.3501, 0.1868},
27947 {0.3535, 0.1795, 0.2261, 0.2409},
27948 {0.3533, 0.1885, 0.2737, 0.1845},
27949 {0.2015, 0.2175, 0.3724, 0.2086}},
27950 {
27951 {0.3445, 0.1790, 0.2101, 0.2664},
27952 {0.3075, 0.2080, 0.1486, 0.3360},
27953 {0.3444, 0.1931, 0.2543, 0.2083},
27954 {0.1583, 0.2966, 0.1572, 0.3879}},
27955 {
27956 {0.2802, 0.1831, 0.2489, 0.2879},
27957 {0.2845, 0.1608, 0.1402, 0.4145},
27958 {0.2625, 0.1844, 0.2130, 0.3400},
27959 {0.1473, 0.2403, 0.2864, 0.3260}},
27960 {
27961 {0.2778, 0.1686, 0.3602, 0.1934},
27962 {0.3601, 0.1935, 0.1963, 0.2501},
27963 {0.3637, 0.1897, 0.2426, 0.2041},
27964 {0.2046, 0.2559, 0.3186, 0.2209}},
27965 {
27966 {0.3519, 0.1877, 0.2052, 0.2553},
27967 {0.2882, 0.2297, 0.1451, 0.3370},
27968 {0.3602, 0.1896, 0.2435, 0.2068},
27969 {0.1411, 0.3231, 0.1604, 0.3753}},
27970 {
27971 {0.2560, 0.2100, 0.2249, 0.3091},
27972 {0.2692, 0.1459, 0.1568, 0.4281},
27973 {0.2541, 0.1790, 0.1781, 0.3888},
27974 {0.1473, 0.2278, 0.2353, 0.3896}},
27975 {
27976 {0.3146, 0.1426, 0.3102, 0.2325},
27977 {0.2857, 0.2089, 0.3100, 0.1954},
27978 {0.3679, 0.1586, 0.2532, 0.2203},
27979 {0.1726, 0.1697, 0.4619, 0.1958}},
27980 {
27981 {0.0000, 0.0000, 1.0000, 0.0000},
27982 {0.0000, 0.0000, 1.0000, 0.0000},
27983 {0.0000, 0.0000, 1.0000, 0.0000},
27984 {0.0000, 0.0000, 1.0000, 0.0000}},
27985 {
27986 {0.0000, 0.0000, 0.0000, 0.0000},
27987 {0.0000, 0.0000, 0.0000, 0.0000},
27988 {0.0000, 0.0000, 0.0000, 1.0000},
27989 {0.0000, 0.0000, 0.0000, 0.0000}},
27990 {
27991 {0.0000, 0.0000, 0.0000, 0.0000},
27992 {0.0000, 0.0000, 0.0000, 0.0000},
27993 {0.0000, 0.0000, 0.0000, 0.0000},
27994 {0.2044, 0.2095, 0.3398, 0.2464}},
27995 {
27996 {0.3473, 0.1717, 0.1933, 0.2878},
27997 {0.2960, 0.2187, 0.1580, 0.3273},
27998 {0.3310, 0.1561, 0.2873, 0.2256},
27999 {0.1244, 0.2844, 0.1654, 0.4258}},
28000 {
28001 {0.2769, 0.2236, 0.1886, 0.3109},
28002 {0.2804, 0.1539, 0.1356, 0.4300},
28003 {0.2397, 0.1787, 0.1869, 0.3947},
28004 {0.1701, 0.2407, 0.2484, 0.3407}},
28005 {
28006 {0.2892, 0.1635, 0.3390, 0.2084},
28007 {0.3457, 0.1923, 0.2044, 0.2575},
28008 {0.3772, 0.1662, 0.2728, 0.1838},
28009 {0.1986, 0.2084, 0.3819, 0.2111}},
28010 {
28011 {0.3335, 0.1738, 0.2163, 0.2765},
28012 {0.3036, 0.2431, 0.1424, 0.3109},
28013 {0.3403, 0.1867, 0.2434, 0.2296},
28014 {0.1358, 0.3117, 0.1808, 0.3717}},
28015 {
28016 {0.2356, 0.2024, 0.2438, 0.3182},
28017 {0.2788, 0.1726, 0.1539, 0.3948},
28018 {0.2855, 0.1938, 0.1904, 0.3303},
28019 {0.1714, 0.2548, 0.2391, 0.3347}},
28020 {
28021 {0.2936, 0.1782, 0.3386, 0.1896},
28022 {0.3538, 0.1761, 0.2123, 0.2579},
28023 {0.3718, 0.1774, 0.2534, 0.1974},
28024 {0.2040, 0.2316, 0.3623, 0.2022}},
28025 {
28026 {0.3634, 0.1729, 0.2124, 0.2512},
28027 {0.2946, 0.2527, 0.1529, 0.2998},
28028 {0.3627, 0.1871, 0.2152, 0.2351},
28029 {0.1448, 0.3207, 0.1622, 0.3723}},
28030 {
28031 {0.2492, 0.2051, 0.2439, 0.3019},
28032 {0.2727, 0.1561, 0.1552, 0.4159},
28033 {0.2441, 0.1966, 0.2015, 0.3577},
28034 {0.1557, 0.2220, 0.2619, 0.3603}},
28035 {
28036 {0.2920, 0.1722, 0.3536, 0.1821},
28037 {0.3388, 0.1776, 0.2572, 0.2264},
28038 {0.3499, 0.1743, 0.2912, 0.1846},
28039 {0.2017, 0.2171, 0.3620, 0.2192}},
28040 {
28041 {0.3666, 0.1811, 0.2060, 0.2463},
28042 {0.3065, 0.2465, 0.1311, 0.3159},
28043 {0.3618, 0.1895, 0.2278, 0.2209},
28044 {0.1356, 0.3219, 0.1687, 0.3738}},
28045 {
28046 {0.2541, 0.1967, 0.2527, 0.2964},
28047 {0.2910, 0.1727, 0.1511, 0.3851},
28048 {0.2451, 0.1804, 0.2258, 0.3487},
28049 {0.1536, 0.2404, 0.2715, 0.3344}},
28050 {
28051 {0.2997, 0.1711, 0.3418, 0.1874},
28052 {0.3650, 0.1794, 0.2268, 0.2289},
28053 {0.3701, 0.1689, 0.2771, 0.1839},
28054 {0.2249, 0.2216, 0.3451, 0.2084}},
28055 {
28056 {0.3602, 0.1752, 0.2142, 0.2504},
28057 {0.2942, 0.2443, 0.1522, 0.3094},
28058 {0.3416, 0.1966, 0.2327, 0.2291},
28059 {0.1475, 0.3229, 0.1589, 0.3708}},
28060 {
28061 {0.2667, 0.1851, 0.2588, 0.2893},
28062 {0.2962, 0.1611, 0.1643, 0.3784},
28063 {0.2740, 0.1747, 0.2223, 0.3290},
28064 {0.1834, 0.2365, 0.2547, 0.3254}},
28065 {
28066 {0.2974, 0.1797, 0.3199, 0.2029},
28067 {0.3444, 0.1828, 0.2272, 0.2456},
28068 {0.3796, 0.1570, 0.2710, 0.1924},
28069 {0.1980, 0.2315, 0.3333, 0.2372}},
28070 {
28071 {0.3602, 0.1809, 0.2011, 0.2577},
28072 {0.2876, 0.2478, 0.1364, 0.3282},
28073 {0.3784, 0.1944, 0.2019, 0.2253},
28074 {0.1395, 0.3251, 0.1611, 0.3743}},
28075 {
28076 {0.2694, 0.1817, 0.2492, 0.2997},
28077 {0.2818, 0.1546, 0.1513, 0.4123},
28078 {0.2527, 0.1884, 0.2111, 0.3478},
28079 {0.1637, 0.2265, 0.2587, 0.3510}},
28080 {
28081 {0.2775, 0.1897, 0.3598, 0.1730},
28082 {0.3705, 0.1790, 0.2241, 0.2263},
28083 {0.3435, 0.1866, 0.2714, 0.1985},
28084 {0.2143, 0.2246, 0.3497, 0.2115}},
28085 {
28086 {0.3450, 0.1909, 0.2074, 0.2567},
28087 {0.2726, 0.2455, 0.1499, 0.3319},
28088 {0.3598, 0.1757, 0.2152, 0.2493},
28089 {0.1406, 0.2967, 0.1517, 0.4110}},
28090 {
28091 {0.2734, 0.1900, 0.2497, 0.2868},
28092 {0.2872, 0.1599, 0.1413, 0.4116},
28093 {0.2660, 0.1738, 0.2125, 0.3477},
28094 {0.1704, 0.2368, 0.2480, 0.3447}},
28095 {
28096 {0.3037, 0.1877, 0.3186, 0.1900},
28097 {0.3554, 0.1818, 0.2348, 0.2279},
28098 {0.3548, 0.1868, 0.2545, 0.2038},
28099 {0.2084, 0.2262, 0.3534, 0.2120}},
28100 {
28101 {0.3473, 0.1864, 0.2059, 0.2603},
28102 {0.2853, 0.2476, 0.1222, 0.3449},
28103 {0.3580, 0.1982, 0.2114, 0.2324},
28104 {0.1388, 0.3198, 0.1698, 0.3716}},
28105 {
28106 {0.2470, 0.1856, 0.2475, 0.3199},
28107 {0.2798, 0.1656, 0.1549, 0.3998},
28108 {0.2494, 0.1863, 0.2224, 0.3419},
28109 {0.1792, 0.2364, 0.2304, 0.3541}},
28110 {
28111 {0.3071, 0.1689, 0.3281, 0.1958},
28112 {0.3551, 0.1848, 0.2161, 0.2441},
28113 {0.3621, 0.1731, 0.2772, 0.1875},
28114 {0.2075, 0.2066, 0.3563, 0.2296}},
28115 {
28116 {0.3636, 0.1901, 0.1803, 0.2661},
28117 {0.3006, 0.2468, 0.1342, 0.3184},
28118 {0.3604, 0.1947, 0.2237, 0.2211},
28119 {0.1403, 0.3119, 0.1595, 0.3883}},
28120 {
28121 {0.2640, 0.1982, 0.2525, 0.2852},
28122 {0.2861, 0.1689, 0.1423, 0.4027},
28123 {0.2731, 0.1778, 0.2056, 0.3436},
28124 {0.1791, 0.2341, 0.2368, 0.3500}},
28125 {
28126 {0.3054, 0.1852, 0.3180, 0.1914},
28127 {0.3442, 0.1924, 0.2182, 0.2452},
28128 {0.3444, 0.1730, 0.2859, 0.1967},
28129 {0.1967, 0.2239, 0.3543, 0.2251}},
28130 {
28131 {0.3532, 0.1854, 0.2122, 0.2491},
28132 {0.3013, 0.2187, 0.1321, 0.3479},
28133 {0.3598, 0.1852, 0.2109, 0.2441},
28134 {0.1397, 0.2997, 0.1787, 0.3820}},
28135 {
28136 {0.2582, 0.2012, 0.2513, 0.2893},
28137 {0.2938, 0.1578, 0.1476, 0.4008},
28138 {0.2468, 0.1835, 0.2253, 0.3443},
28139 {0.1706, 0.2342, 0.2614, 0.3338}},
28140 {
28141 {0.2832, 0.1865, 0.3363, 0.1939},
28142 {0.3548, 0.1845, 0.2307, 0.2300},
28143 {0.3660, 0.1764, 0.2551, 0.2025},
28144 {0.2078, 0.2421, 0.3400, 0.2102}},
28145 {
28146 {0.3539, 0.1835, 0.2144, 0.2483},
28147 {0.3080, 0.2351, 0.1235, 0.3333},
28148 {0.3741, 0.1768, 0.2145, 0.2347},
28149 {0.1403, 0.3137, 0.1530, 0.3930}},
28150 {
28151 {0.2674, 0.1803, 0.2365, 0.3158},
28152 {0.2825, 0.1707, 0.1392, 0.4076},
28153 {0.2523, 0.1672, 0.2097, 0.3707},
28154 {0.1652, 0.2397, 0.2563, 0.3387}},
28155 {
28156 {0.2979, 0.1842, 0.3127, 0.2052},
28157 {0.3556, 0.1844, 0.2143, 0.2456},
28158 {0.3653, 0.1737, 0.2738, 0.1872},
28159 {0.2058, 0.2368, 0.3293, 0.2281}},
28160 {
28161 {0.3484, 0.1770, 0.2146, 0.2600},
28162 {0.3017, 0.2280, 0.1331, 0.3372},
28163 {0.3737, 0.1906, 0.2157, 0.2199},
28164 {0.1241, 0.3025, 0.1573, 0.4160}},
28165 {
28166 {0.2665, 0.1942, 0.2483, 0.2910},
28167 {0.2767, 0.1568, 0.1496, 0.4169},
28168 {0.2484, 0.1677, 0.1993, 0.3845},
28169 {0.1584, 0.2268, 0.2625, 0.3524}},
28170 {
28171 {0.3216, 0.1696, 0.3109, 0.1980},
28172 {0.3512, 0.1643, 0.2435, 0.2410},
28173 {0.3581, 0.1724, 0.2523, 0.2172},
28174 {0.1957, 0.2208, 0.3535, 0.2300}},
28175 {
28176 {0.3744, 0.1586, 0.2055, 0.2614},
28177 {0.2904, 0.2445, 0.1385, 0.3266},
28178 {0.3670, 0.1869, 0.2222, 0.2239},
28179 {0.1329, 0.3302, 0.1511, 0.3858}},
28180 {
28181 {0.2647, 0.1905, 0.2465, 0.2983},
28182 {0.2884, 0.1607, 0.1294, 0.4215},
28183 {0.2675, 0.1742, 0.2112, 0.3471},
28184 {0.1805, 0.2242, 0.2375, 0.3578}},
28185 {
28186 {0.3026, 0.1829, 0.3195, 0.1950},
28187 {0.3469, 0.1639, 0.2442, 0.2450},
28188 {0.3549, 0.1764, 0.2585, 0.2102},
28189 {0.2145, 0.2311, 0.3321, 0.2222}},
28190 {
28191 {0.3589, 0.1762, 0.2055, 0.2595},
28192 {0.2999, 0.2223, 0.1283, 0.3495},
28193 {0.3732, 0.1996, 0.2039, 0.2233},
28194 {0.1440, 0.3228, 0.1405, 0.3927}},
28195 {
28196 {0.2558, 0.2007, 0.2423, 0.3012},
28197 {0.2941, 0.1614, 0.1381, 0.4064},
28198 {0.2669, 0.1889, 0.2131, 0.3310},
28199 {0.1665, 0.2251, 0.2459, 0.3624}},
28200 {
28201 {0.2921, 0.1765, 0.3342, 0.1971},
28202 {0.3459, 0.1918, 0.2169, 0.2455},
28203 {0.3444, 0.1768, 0.2745, 0.2043},
28204 {0.2026, 0.2206, 0.3369, 0.2399}},
28205 {
28206 {0.3680, 0.1776, 0.1942, 0.2602},
28207 {0.2903, 0.2554, 0.1310, 0.3233},
28208 {0.3460, 0.1961, 0.2130, 0.2448},
28209 {0.1372, 0.3170, 0.1417, 0.4041}},
28210 {
28211 {0.2662, 0.2012, 0.2510, 0.2816},
28212 {0.2846, 0.1691, 0.1376, 0.4087},
28213 {0.2619, 0.1649, 0.2053, 0.3679},
28214 {0.1756, 0.2153, 0.2380, 0.3711}},
28215 {
28216 {0.3084, 0.1766, 0.3252, 0.1898},
28217 {0.3353, 0.1929, 0.2181, 0.2537},
28218 {0.3484, 0.1826, 0.2845, 0.1845},
28219 {0.2119, 0.2361, 0.3270, 0.2250}},
28220 {
28221 {0.3734, 0.1800, 0.1927, 0.2539},
28222 {0.2930, 0.2297, 0.1339, 0.3434},
28223 {0.3815, 0.1809, 0.2078, 0.2299},
28224 {0.1354, 0.3207, 0.1634, 0.3805}},
28225 {
28226 {0.2578, 0.1835, 0.2611, 0.2976},
28227 {0.2829, 0.1638, 0.1453, 0.4080},
28228 {0.2561, 0.1762, 0.2040, 0.3637},
28229 {0.1680, 0.2453, 0.2395, 0.3471}},
28230 {
28231 {0.3104, 0.1969, 0.2950, 0.1977},
28232 {0.3504, 0.1796, 0.2022, 0.2678},
28233 {0.3662, 0.1759, 0.2543, 0.2036},
28234 {0.2017, 0.2206, 0.3213, 0.2564}},
28235 {
28236 {0.3785, 0.1672, 0.1981, 0.2562},
28237 {0.3223, 0.2225, 0.1276, 0.3277},
28238 {0.3737, 0.1705, 0.2089, 0.2469},
28239 {0.1693, 0.2952, 0.1561, 0.3793}}},
28240
28241 { /* Splice_Site: F0_GT; Species: Cress */
28242 {
28243 {0.2986, 0.2986, 0.2986, 0.2986},
28244 {0.1911, 0.1911, 0.1911, 0.1911},
28245 {0.2795, 0.2795, 0.2795, 0.2795},
28246 {0.2307, 0.2307, 0.2307, 0.2307}},
28247 {
28248 {0.3547, 0.1854, 0.2005, 0.2594},
28249 {0.3269, 0.2114, 0.1232, 0.3385},
28250 {0.3599, 0.1979, 0.2010, 0.2412},
28251 {0.1265, 0.2810, 0.1712, 0.4214}},
28252 {
28253 {0.2587, 0.1996, 0.2559, 0.2858},
28254 {0.3003, 0.1310, 0.1707, 0.3980},
28255 {0.2711, 0.1633, 0.2643, 0.3014},
28256 {0.1696, 0.1962, 0.2723, 0.3619}},
28257 {
28258 {0.3021, 0.1837, 0.2973, 0.2169},
28259 {0.3598, 0.1557, 0.2255, 0.2590},
28260 {0.3677, 0.1748, 0.2604, 0.1971},
28261 {0.1980, 0.2153, 0.3370, 0.2497}},
28262 {
28263 {0.3537, 0.1731, 0.2053, 0.2679},
28264 {0.3090, 0.2260, 0.1179, 0.3471},
28265 {0.3772, 0.1970, 0.1983, 0.2275},
28266 {0.1189, 0.2880, 0.1614, 0.4318}},
28267 {
28268 {0.2808, 0.1824, 0.2578, 0.2790},
28269 {0.3185, 0.1338, 0.1801, 0.3677},
28270 {0.2900, 0.1539, 0.2538, 0.3023},
28271 {0.1706, 0.2219, 0.2794, 0.3281}},
28272 {
28273 {0.3062, 0.1761, 0.3310, 0.1867},
28274 {0.3213, 0.1866, 0.2432, 0.2488},
28275 {0.3644, 0.1626, 0.2674, 0.2057},
28276 {0.1889, 0.2169, 0.3304, 0.2638}},
28277 {
28278 {0.3342, 0.1647, 0.2090, 0.2922},
28279 {0.3170, 0.2111, 0.1237, 0.3482},
28280 {0.3673, 0.1809, 0.2150, 0.2367},
28281 {0.1454, 0.2653, 0.1680, 0.4213}},
28282 {
28283 {0.2708, 0.1863, 0.2498, 0.2931},
28284 {0.2843, 0.1501, 0.1924, 0.3732},
28285 {0.2734, 0.1760, 0.2428, 0.3078},
28286 {0.1787, 0.2142, 0.2859, 0.3212}},
28287 {
28288 {0.3048, 0.1667, 0.3245, 0.2040},
28289 {0.3226, 0.1848, 0.2161, 0.2765},
28290 {0.3670, 0.1872, 0.2495, 0.1964},
28291 {0.2134, 0.2255, 0.3214, 0.2396}},
28292 {
28293 {0.3390, 0.1674, 0.2140, 0.2797},
28294 {0.3122, 0.2181, 0.1294, 0.3403},
28295 {0.3443, 0.1968, 0.2095, 0.2495},
28296 {0.1252, 0.2925, 0.1670, 0.4153}},
28297 {
28298 {0.2693, 0.1756, 0.2677, 0.2875},
28299 {0.3164, 0.1383, 0.1896, 0.3556},
28300 {0.2699, 0.1721, 0.2341, 0.3240},
28301 {0.1672, 0.2207, 0.2686, 0.3435}},
28302 {
28303 {0.3307, 0.1623, 0.3078, 0.1992},
28304 {0.3471, 0.1674, 0.2216, 0.2639},
28305 {0.3832, 0.1667, 0.2507, 0.1994},
28306 {0.2069, 0.2109, 0.3153, 0.2668}},
28307 {
28308 {0.3566, 0.1745, 0.1960, 0.2729},
28309 {0.3290, 0.2338, 0.1141, 0.3230},
28310 {0.3740, 0.1656, 0.2089, 0.2515},
28311 {0.1359, 0.2830, 0.1687, 0.4124}},
28312 {
28313 {0.2619, 0.1830, 0.2575, 0.2975},
28314 {0.3176, 0.1563, 0.1723, 0.3539},
28315 {0.2628, 0.1732, 0.2583, 0.3057},
28316 {0.1702, 0.2197, 0.2798, 0.3304}},
28317 {
28318 {0.2871, 0.1839, 0.3281, 0.2010},
28319 {0.3740, 0.1562, 0.2197, 0.2501},
28320 {0.3653, 0.1717, 0.2692, 0.1938},
28321 {0.2002, 0.2153, 0.3269, 0.2576}},
28322 {
28323 {0.3502, 0.1565, 0.1931, 0.3003},
28324 {0.3229, 0.2166, 0.1233, 0.3372},
28325 {0.3775, 0.1834, 0.2073, 0.2318},
28326 {0.1316, 0.2995, 0.1570, 0.4119}},
28327 {
28328 {0.2623, 0.1927, 0.2679, 0.2771},
28329 {0.3021, 0.1439, 0.1782, 0.3757},
28330 {0.2529, 0.1684, 0.2496, 0.3292},
28331 {0.1789, 0.2118, 0.2985, 0.3108}},
28332 {
28333 {0.2871, 0.1707, 0.3295, 0.2127},
28334 {0.3340, 0.1939, 0.2028, 0.2693},
28335 {0.3730, 0.1810, 0.2460, 0.2000},
28336 {0.2081, 0.2170, 0.3385, 0.2364}},
28337 {
28338 {0.3396, 0.1783, 0.1970, 0.2851},
28339 {0.3215, 0.2250, 0.1380, 0.3154},
28340 {0.3478, 0.1923, 0.2149, 0.2450},
28341 {0.1299, 0.2862, 0.1801, 0.4038}},
28342 {
28343 {0.2587, 0.1827, 0.2787, 0.2799},
28344 {0.3087, 0.1427, 0.1621, 0.3865},
28345 {0.2751, 0.1648, 0.2319, 0.3282},
28346 {0.1614, 0.2192, 0.3007, 0.3187}},
28347 {
28348 {0.2984, 0.1660, 0.3402, 0.1955},
28349 {0.3613, 0.1735, 0.2074, 0.2578},
28350 {0.3615, 0.1764, 0.2424, 0.2197},
28351 {0.2001, 0.2324, 0.3208, 0.2466}},
28352 {
28353 {0.3432, 0.1843, 0.2127, 0.2598},
28354 {0.3154, 0.2225, 0.1191, 0.3431},
28355 {0.3701, 0.1923, 0.2033, 0.2344},
28356 {0.1320, 0.2996, 0.1538, 0.4146}},
28357 {
28358 {0.2717, 0.1919, 0.2702, 0.2662},
28359 {0.2842, 0.1541, 0.1721, 0.3897},
28360 {0.2611, 0.1828, 0.2362, 0.3198},
28361 {0.1671, 0.2109, 0.2811, 0.3410}},
28362 {
28363 {0.3039, 0.1730, 0.3377, 0.1855},
28364 {0.3612, 0.1714, 0.2300, 0.2374},
28365 {0.3627, 0.1714, 0.2647, 0.2012},
28366 {0.1968, 0.2217, 0.3425, 0.2390}},
28367 {
28368 {0.3534, 0.1745, 0.2003, 0.2718},
28369 {0.2911, 0.2303, 0.1364, 0.3422},
28370 {0.3972, 0.1759, 0.2021, 0.2248},
28371 {0.1212, 0.3015, 0.1527, 0.4246}},
28372 {
28373 {0.2686, 0.1831, 0.2692, 0.2790},
28374 {0.2901, 0.1548, 0.2013, 0.3538},
28375 {0.2939, 0.1675, 0.2182, 0.3204},
28376 {0.1656, 0.2208, 0.2737, 0.3399}},
28377 {
28378 {0.3292, 0.1521, 0.3266, 0.1922},
28379 {0.3550, 0.1842, 0.2152, 0.2455},
28380 {0.3545, 0.1901, 0.2651, 0.1903},
28381 {0.2078, 0.2245, 0.3464, 0.2212}},
28382 {
28383 {0.3560, 0.1840, 0.2059, 0.2541},
28384 {0.3004, 0.2299, 0.1219, 0.3479},
28385 {0.3672, 0.1949, 0.2025, 0.2355},
28386 {0.1245, 0.3091, 0.1571, 0.4093}},
28387 {
28388 {0.2644, 0.1807, 0.2714, 0.2835},
28389 {0.2942, 0.1627, 0.1758, 0.3674},
28390 {0.2587, 0.1816, 0.2499, 0.3098},
28391 {0.1656, 0.2087, 0.3095, 0.3162}},
28392 {
28393 {0.2930, 0.1879, 0.3216, 0.1975},
28394 {0.3269, 0.1729, 0.2426, 0.2576},
28395 {0.3666, 0.1503, 0.2614, 0.2218},
28396 {0.2034, 0.2242, 0.3385, 0.2339}},
28397 {
28398 {0.3347, 0.1789, 0.2173, 0.2691},
28399 {0.2962, 0.2352, 0.1343, 0.3343},
28400 {0.3681, 0.1923, 0.1984, 0.2412},
28401 {0.1345, 0.3081, 0.1621, 0.3953}},
28402 {
28403 {0.2382, 0.1909, 0.2762, 0.2947},
28404 {0.3094, 0.1641, 0.1807, 0.3458},
28405 {0.2705, 0.1859, 0.2517, 0.2919},
28406 {0.1715, 0.2209, 0.2854, 0.3222}},
28407 {
28408 {0.3223, 0.1644, 0.3210, 0.1923},
28409 {0.3676, 0.1856, 0.2015, 0.2454},
28410 {0.4008, 0.1589, 0.2656, 0.1748},
28411 {0.2182, 0.2240, 0.3320, 0.2259}},
28412 {
28413 {0.3699, 0.1781, 0.1985, 0.2535},
28414 {0.2978, 0.2530, 0.1393, 0.3099},
28415 {0.3904, 0.1790, 0.2083, 0.2223},
28416 {0.1337, 0.3093, 0.1718, 0.3852}},
28417 {
28418 {0.2753, 0.1835, 0.2594, 0.2818},
28419 {0.3082, 0.1672, 0.1718, 0.3528},
28420 {0.2915, 0.1773, 0.2462, 0.2850},
28421 {0.1880, 0.2186, 0.2958, 0.2977}},
28422 {
28423 {0.2955, 0.1664, 0.3386, 0.1995},
28424 {0.3479, 0.1949, 0.2233, 0.2340},
28425 {0.3639, 0.1855, 0.2630, 0.1877},
28426 {0.2120, 0.2271, 0.3275, 0.2334}},
28427 {
28428 {0.3488, 0.1642, 0.2187, 0.2683},
28429 {0.3223, 0.2497, 0.1187, 0.3093},
28430 {0.3812, 0.1993, 0.1945, 0.2249},
28431 {0.1417, 0.3088, 0.1618, 0.3877}},
28432 {
28433 {0.2497, 0.2062, 0.2734, 0.2707},
28434 {0.2899, 0.1740, 0.1792, 0.3569},
28435 {0.2494, 0.1861, 0.2644, 0.3000},
28436 {0.1742, 0.2093, 0.3105, 0.3060}},
28437 {
28438 {0.2797, 0.1774, 0.3307, 0.2121},
28439 {0.3374, 0.1833, 0.2328, 0.2465},
28440 {0.3702, 0.1688, 0.2670, 0.1940},
28441 {0.2038, 0.2186, 0.3474, 0.2302}},
28442 {
28443 {0.3577, 0.1811, 0.2176, 0.2436},
28444 {0.3065, 0.2210, 0.1348, 0.3377},
28445 {0.3808, 0.2064, 0.2001, 0.2127},
28446 {0.1159, 0.3114, 0.1669, 0.4058}},
28447 {
28448 {0.2691, 0.1723, 0.2826, 0.2761},
28449 {0.3062, 0.1584, 0.1915, 0.3440},
28450 {0.2668, 0.1706, 0.2644, 0.2982},
28451 {0.1737, 0.2010, 0.3069, 0.3183}},
28452 {
28453 {0.3203, 0.1879, 0.3058, 0.1859},
28454 {0.3719, 0.1911, 0.2121, 0.2249},
28455 {0.3572, 0.1891, 0.2687, 0.1850},
28456 {0.2030, 0.2385, 0.3213, 0.2372}},
28457 {
28458 {0.3362, 0.1719, 0.2101, 0.2818},
28459 {0.2876, 0.2546, 0.1286, 0.3292},
28460 {0.3595, 0.2102, 0.1949, 0.2354},
28461 {0.1237, 0.2910, 0.1813, 0.4041}},
28462 {
28463 {0.2604, 0.1803, 0.2983, 0.2610},
28464 {0.2885, 0.1328, 0.2031, 0.3757},
28465 {0.2629, 0.1702, 0.2580, 0.3089},
28466 {0.1771, 0.2151, 0.3032, 0.3047}},
28467 {
28468 {0.3167, 0.1781, 0.3099, 0.1953},
28469 {0.3345, 0.2025, 0.2159, 0.2471},
28470 {0.3583, 0.1839, 0.2582, 0.1995},
28471 {0.1896, 0.2315, 0.3369, 0.2420}},
28472 {
28473 {0.3576, 0.1829, 0.2128, 0.2468},
28474 {0.2997, 0.2616, 0.1113, 0.3273},
28475 {0.3828, 0.2053, 0.1790, 0.2330},
28476 {0.1224, 0.3689, 0.1372, 0.3715}},
28477 {
28478 {0.2671, 0.2095, 0.2529, 0.2704},
28479 {0.3170, 0.1676, 0.1680, 0.3474},
28480 {0.2909, 0.1987, 0.2538, 0.2567},
28481 {0.1611, 0.2217, 0.2815, 0.3357}},
28482 {
28483 {0.2887, 0.1988, 0.3133, 0.1992},
28484 {0.4088, 0.1805, 0.1937, 0.2169},
28485 {0.3785, 0.1809, 0.2432, 0.1973},
28486 {0.2239, 0.2276, 0.3057, 0.2428}},
28487 {
28488 {0.3858, 0.1092, 0.1837, 0.3213},
28489 {0.3632, 0.2064, 0.1589, 0.2714},
28490 {0.4815, 0.1458, 0.1748, 0.1979},
28491 {0.0000, 0.2472, 0.2841, 0.4686}},
28492 {
28493 {0.0000, 0.0000, 1.0000, 0.0000},
28494 {0.0000, 0.0000, 1.0000, 0.0000},
28495 {0.0000, 0.0000, 1.0000, 0.0000},
28496 {0.0000, 0.0000, 1.0000, 0.0000}},
28497 {
28498 {0.0000, 0.0000, 0.0000, 0.0000},
28499 {0.0000, 0.0000, 0.0000, 0.0000},
28500 {0.0000, 0.0000, 0.0000, 1.0000},
28501 {0.0000, 0.0000, 0.0000, 0.0000}},
28502 {
28503 {0.0000, 0.0000, 0.0000, 0.0000},
28504 {0.0000, 0.0000, 0.0000, 0.0000},
28505 {0.0000, 0.0000, 0.0000, 0.0000},
28506 {0.1294, 0.2661, 0.1401, 0.4643}},
28507 {
28508 {0.0000, 0.3879, 0.0000, 0.6121},
28509 {0.2914, 0.1288, 0.1948, 0.3850},
28510 {0.0000, 0.1914, 0.4660, 0.3426},
28511 {0.1649, 0.2159, 0.2657, 0.3536}},
28512 {
28513 {0.3098, 0.2173, 0.2623, 0.2105},
28514 {0.3560, 0.2017, 0.1811, 0.2612},
28515 {0.3535, 0.1836, 0.2527, 0.2102},
28516 {0.2041, 0.2539, 0.3073, 0.2346}},
28517 {
28518 {0.3513, 0.1675, 0.2110, 0.2702},
28519 {0.3062, 0.2382, 0.1143, 0.3414},
28520 {0.3880, 0.1839, 0.2201, 0.2080},
28521 {0.1238, 0.2959, 0.1689, 0.4113}},
28522 {
28523 {0.2406, 0.1677, 0.2897, 0.3021},
28524 {0.2839, 0.1495, 0.1869, 0.3797},
28525 {0.2514, 0.1620, 0.2768, 0.3098},
28526 {0.1721, 0.2041, 0.3191, 0.3047}},
28527 {
28528 {0.3007, 0.1757, 0.3168, 0.2069},
28529 {0.3502, 0.1934, 0.2284, 0.2280},
28530 {0.3526, 0.2060, 0.2619, 0.1795},
28531 {0.1888, 0.2395, 0.3427, 0.2289}},
28532 {
28533 {0.3617, 0.1799, 0.2038, 0.2546},
28534 {0.2861, 0.2976, 0.1089, 0.3073},
28535 {0.3824, 0.1822, 0.1941, 0.2413},
28536 {0.1206, 0.3640, 0.1507, 0.3647}},
28537 {
28538 {0.2713, 0.1871, 0.2588, 0.2827},
28539 {0.3138, 0.1671, 0.1630, 0.3561},
28540 {0.2677, 0.1879, 0.2393, 0.3051},
28541 {0.1803, 0.2306, 0.2871, 0.3020}},
28542 {
28543 {0.2943, 0.1693, 0.3332, 0.2032},
28544 {0.3619, 0.1821, 0.2212, 0.2348},
28545 {0.3850, 0.1707, 0.2465, 0.1978},
28546 {0.1969, 0.2309, 0.3369, 0.2353}},
28547 {
28548 {0.3537, 0.1711, 0.2042, 0.2710},
28549 {0.2886, 0.2262, 0.1377, 0.3475},
28550 {0.3920, 0.1858, 0.2013, 0.2209},
28551 {0.1189, 0.3175, 0.1606, 0.4030}},
28552 {
28553 {0.2690, 0.1730, 0.2719, 0.2862},
28554 {0.2977, 0.1489, 0.1874, 0.3659},
28555 {0.2603, 0.1727, 0.2342, 0.3328},
28556 {0.1696, 0.2210, 0.3001, 0.3093}},
28557 {
28558 {0.2840, 0.1928, 0.3288, 0.1943},
28559 {0.3709, 0.1933, 0.2090, 0.2267},
28560 {0.3628, 0.1710, 0.2631, 0.2032},
28561 {0.2140, 0.2346, 0.3277, 0.2237}},
28562 {
28563 {0.3538, 0.1844, 0.2117, 0.2500},
28564 {0.3302, 0.2413, 0.1193, 0.3092},
28565 {0.3670, 0.1956, 0.2081, 0.2292},
28566 {0.1335, 0.3136, 0.1605, 0.3924}},
28567 {
28568 {0.2681, 0.1977, 0.2296, 0.3046},
28569 {0.2963, 0.1716, 0.1614, 0.3708},
28570 {0.2713, 0.1942, 0.2211, 0.3134},
28571 {0.1823, 0.2386, 0.2678, 0.3113}},
28572 {
28573 {0.2931, 0.1843, 0.3279, 0.1947},
28574 {0.3609, 0.1920, 0.2043, 0.2428},
28575 {0.3672, 0.1681, 0.2641, 0.2007},
28576 {0.1979, 0.2219, 0.3738, 0.2064}},
28577 {
28578 {0.3522, 0.1713, 0.2226, 0.2539},
28579 {0.2964, 0.2562, 0.1414, 0.3061},
28580 {0.3736, 0.2031, 0.2068, 0.2166},
28581 {0.1319, 0.3068, 0.1517, 0.4095}},
28582 {
28583 {0.2510, 0.1921, 0.2676, 0.2892},
28584 {0.3091, 0.1685, 0.1697, 0.3527},
28585 {0.2681, 0.1847, 0.2237, 0.3235},
28586 {0.1542, 0.2314, 0.2867, 0.3277}},
28587 {
28588 {0.3294, 0.1705, 0.3177, 0.1825},
28589 {0.3366, 0.1687, 0.2387, 0.2559},
28590 {0.3558, 0.1745, 0.2715, 0.1981},
28591 {0.2110, 0.2190, 0.3389, 0.2311}},
28592 {
28593 {0.3553, 0.1846, 0.2013, 0.2588},
28594 {0.2966, 0.2466, 0.1223, 0.3345},
28595 {0.3858, 0.1888, 0.2042, 0.2212},
28596 {0.1337, 0.3157, 0.1513, 0.3994}},
28597 {
28598 {0.2579, 0.1920, 0.2649, 0.2852},
28599 {0.2976, 0.1707, 0.1723, 0.3593},
28600 {0.2841, 0.1781, 0.2337, 0.3041},
28601 {0.1727, 0.2184, 0.2785, 0.3304}},
28602 {
28603 {0.3116, 0.1886, 0.3073, 0.1925},
28604 {0.3300, 0.1964, 0.2384, 0.2351},
28605 {0.3285, 0.1840, 0.2754, 0.2121},
28606 {0.1875, 0.2395, 0.3272, 0.2458}},
28607 {
28608 {0.3549, 0.1711, 0.2038, 0.2703},
28609 {0.3155, 0.2285, 0.1164, 0.3396},
28610 {0.3776, 0.1921, 0.1983, 0.2320},
28611 {0.1357, 0.3096, 0.1535, 0.4012}},
28612 {
28613 {0.2751, 0.1939, 0.2551, 0.2759},
28614 {0.2922, 0.1609, 0.1800, 0.3669},
28615 {0.2567, 0.1854, 0.2478, 0.3102},
28616 {0.1767, 0.2305, 0.2619, 0.3309}},
28617 {
28618 {0.3171, 0.1694, 0.3216, 0.1920},
28619 {0.3345, 0.1912, 0.2065, 0.2678},
28620 {0.3627, 0.1720, 0.2656, 0.1996},
28621 {0.2129, 0.2353, 0.3119, 0.2399}},
28622 {
28623 {0.3360, 0.1944, 0.2104, 0.2593},
28624 {0.3010, 0.2351, 0.1335, 0.3305},
28625 {0.3755, 0.1780, 0.2096, 0.2369},
28626 {0.1449, 0.3177, 0.1508, 0.3866}},
28627 {
28628 {0.2658, 0.1814, 0.2596, 0.2932},
28629 {0.2972, 0.1609, 0.1565, 0.3854},
28630 {0.2576, 0.1856, 0.2266, 0.3302},
28631 {0.1732, 0.2332, 0.2779, 0.3157}},
28632 {
28633 {0.2969, 0.1625, 0.3184, 0.2222},
28634 {0.3425, 0.1879, 0.2089, 0.2607},
28635 {0.3656, 0.1755, 0.2669, 0.1921},
28636 {0.1950, 0.2388, 0.3240, 0.2423}},
28637 {
28638 {0.3600, 0.1626, 0.2018, 0.2756},
28639 {0.3004, 0.2384, 0.1219, 0.3393},
28640 {0.3620, 0.1955, 0.2094, 0.2332},
28641 {0.1356, 0.3024, 0.1620, 0.4001}},
28642 {
28643 {0.2695, 0.1939, 0.2444, 0.2922},
28644 {0.2947, 0.1565, 0.1633, 0.3855},
28645 {0.2525, 0.1896, 0.2433, 0.3146},
28646 {0.1715, 0.2395, 0.2650, 0.3240}},
28647 {
28648 {0.3066, 0.1691, 0.3123, 0.2121},
28649 {0.3710, 0.1796, 0.1948, 0.2546},
28650 {0.3448, 0.1882, 0.2670, 0.1999},
28651 {0.2068, 0.2410, 0.3321, 0.2201}},
28652 {
28653 {0.3514, 0.1927, 0.1888, 0.2671},
28654 {0.3217, 0.2144, 0.1321, 0.3318},
28655 {0.3674, 0.1921, 0.1923, 0.2482},
28656 {0.1377, 0.3090, 0.1602, 0.3930}},
28657 {
28658 {0.2452, 0.1832, 0.2694, 0.3023},
28659 {0.3017, 0.1558, 0.1483, 0.3941},
28660 {0.2495, 0.1840, 0.2645, 0.3020},
28661 {0.1786, 0.2198, 0.2760, 0.3255}},
28662 {
28663 {0.3211, 0.1849, 0.3043, 0.1896},
28664 {0.3545, 0.1761, 0.2130, 0.2564},
28665 {0.3527, 0.1725, 0.2725, 0.2023},
28666 {0.1881, 0.2326, 0.3365, 0.2429}},
28667 {
28668 {0.3513, 0.1798, 0.1973, 0.2717},
28669 {0.3240, 0.2221, 0.1274, 0.3265},
28670 {0.3633, 0.2009, 0.2010, 0.2348},
28671 {0.1338, 0.2994, 0.1724, 0.3943}},
28672 {
28673 {0.2519, 0.1866, 0.2626, 0.2988},
28674 {0.2765, 0.1709, 0.1556, 0.3970},
28675 {0.2636, 0.1830, 0.2246, 0.3288},
28676 {0.1815, 0.2395, 0.2522, 0.3268}},
28677 {
28678 {0.3107, 0.1727, 0.3052, 0.2114},
28679 {0.3535, 0.1859, 0.2010, 0.2595},
28680 {0.3676, 0.1753, 0.2582, 0.1989},
28681 {0.2045, 0.2146, 0.3409, 0.2400}},
28682 {
28683 {0.3506, 0.1811, 0.1914, 0.2769},
28684 {0.3060, 0.2413, 0.1165, 0.3362},
28685 {0.3483, 0.2063, 0.2038, 0.2415},
28686 {0.1526, 0.3045, 0.1434, 0.3995}},
28687 {
28688 {0.2680, 0.1906, 0.2438, 0.2976},
28689 {0.2764, 0.1765, 0.1648, 0.3823},
28690 {0.2699, 0.1775, 0.2345, 0.3181},
28691 {0.1787, 0.2506, 0.2453, 0.3254}},
28692 {
28693 {0.3083, 0.1802, 0.3076, 0.2039},
28694 {0.3410, 0.1849, 0.2086, 0.2656},
28695 {0.3455, 0.1905, 0.2715, 0.1925},
28696 {0.2004, 0.2232, 0.3443, 0.2322}},
28697 {
28698 {0.3491, 0.1893, 0.2067, 0.2550},
28699 {0.2936, 0.2386, 0.1282, 0.3396},
28700 {0.3646, 0.1869, 0.2066, 0.2420},
28701 {0.1306, 0.3107, 0.1489, 0.4098}},
28702 {
28703 {0.2595, 0.2024, 0.2519, 0.2861},
28704 {0.2886, 0.1613, 0.1563, 0.3939},
28705 {0.2677, 0.1872, 0.2434, 0.3017},
28706 {0.1610, 0.2315, 0.2745, 0.3330}},
28707 {
28708 {0.3053, 0.1871, 0.3117, 0.1960},
28709 {0.3525, 0.1731, 0.2056, 0.2689},
28710 {0.3561, 0.1649, 0.2669, 0.2121},
28711 {0.2000, 0.2273, 0.3377, 0.2350}},
28712 {
28713 {0.3677, 0.1680, 0.2057, 0.2586},
28714 {0.3004, 0.2286, 0.1357, 0.3353},
28715 {0.3475, 0.1945, 0.2021, 0.2558},
28716 {0.1350, 0.2909, 0.1705, 0.4036}},
28717 {
28718 {0.2530, 0.1932, 0.2574, 0.2964},
28719 {0.2697, 0.1429, 0.1661, 0.4212},
28720 {0.2492, 0.1631, 0.2435, 0.3442},
28721 {0.1781, 0.2273, 0.2757, 0.3189}},
28722 {
28723 {0.3187, 0.1828, 0.3114, 0.1871},
28724 {0.3478, 0.1763, 0.2253, 0.2505},
28725 {0.3601, 0.1729, 0.2638, 0.2032},
28726 {0.2032, 0.2290, 0.3099, 0.2579}},
28727 {
28728 {0.3504, 0.1781, 0.2021, 0.2694},
28729 {0.2825, 0.2355, 0.1273, 0.3547},
28730 {0.3604, 0.1991, 0.1984, 0.2420},
28731 {0.1270, 0.2820, 0.1704, 0.4207}},
28732 {
28733 {0.2606, 0.1904, 0.2635, 0.2855},
28734 {0.2745, 0.1795, 0.1580, 0.3881},
28735 {0.2668, 0.1678, 0.2339, 0.3315},
28736 {0.1856, 0.2253, 0.2540, 0.3351}},
28737 {
28738 {0.2998, 0.1762, 0.3118, 0.2122},
28739 {0.3306, 0.1761, 0.2106, 0.2826},
28740 {0.3616, 0.1627, 0.2528, 0.2229},
28741 {0.1998, 0.2169, 0.3303, 0.2530}},
28742 {
28743 {0.3654, 0.1841, 0.1919, 0.2587},
28744 {0.2973, 0.2270, 0.1326, 0.3430},
28745 {0.3715, 0.1775, 0.2082, 0.2428},
28746 {0.1698, 0.2797, 0.1680, 0.3825}},
28747 {
28748 {0.2723, 0.1837, 0.2697, 0.2742},
28749 {0.2784, 0.1642, 0.1674, 0.3901},
28750 {0.2808, 0.1609, 0.2235, 0.3349},
28751 {0.1853, 0.2334, 0.2640, 0.3172}}},
28752
28753 { /* Splice_Site: Fi_GT; Species: Cress */
28754 {
28755 {0.2834, 0.2834, 0.2834, 0.2834},
28756 {0.1751, 0.1751, 0.1751, 0.1751},
28757 {0.1839, 0.1839, 0.1839, 0.1839},
28758 {0.3577, 0.3577, 0.3577, 0.3577}},
28759 {
28760 {0.3242, 0.1604, 0.1963, 0.3191},
28761 {0.3205, 0.1635, 0.1072, 0.4088},
28762 {0.3201, 0.1527, 0.1884, 0.3388},
28763 {0.2188, 0.1917, 0.2118, 0.3777}},
28764 {
28765 {0.3191, 0.1576, 0.1996, 0.3237},
28766 {0.3261, 0.1735, 0.1084, 0.3920},
28767 {0.3122, 0.1554, 0.1960, 0.3364},
28768 {0.2140, 0.1895, 0.2143, 0.3822}},
28769 {
28770 {0.3291, 0.1512, 0.1937, 0.3260},
28771 {0.3203, 0.1645, 0.1152, 0.4000},
28772 {0.3155, 0.1550, 0.1819, 0.3476},
28773 {0.2162, 0.1966, 0.2066, 0.3806}},
28774 {
28775 {0.3236, 0.1446, 0.2001, 0.3316},
28776 {0.3216, 0.1672, 0.1041, 0.4072},
28777 {0.3152, 0.1525, 0.1926, 0.3397},
28778 {0.2133, 0.1971, 0.2161, 0.3734}},
28779 {
28780 {0.3235, 0.1655, 0.2035, 0.3075},
28781 {0.3245, 0.1433, 0.1180, 0.4142},
28782 {0.3138, 0.1485, 0.2007, 0.3370},
28783 {0.2238, 0.1878, 0.2088, 0.3796}},
28784 {
28785 {0.3328, 0.1525, 0.1979, 0.3168},
28786 {0.3202, 0.1647, 0.1055, 0.4096},
28787 {0.3188, 0.1524, 0.1938, 0.3350},
28788 {0.2231, 0.1806, 0.2083, 0.3880}},
28789 {
28790 {0.3233, 0.1596, 0.2064, 0.3107},
28791 {0.3359, 0.1620, 0.1032, 0.3989},
28792 {0.3140, 0.1399, 0.1950, 0.3512},
28793 {0.2189, 0.1818, 0.2117, 0.3876}},
28794 {
28795 {0.3206, 0.1568, 0.2017, 0.3209},
28796 {0.3156, 0.1543, 0.1098, 0.4203},
28797 {0.3095, 0.1582, 0.1810, 0.3513},
28798 {0.2183, 0.1815, 0.2193, 0.3809}},
28799 {
28800 {0.3291, 0.1513, 0.1895, 0.3300},
28801 {0.3117, 0.1612, 0.1171, 0.4101},
28802 {0.3221, 0.1442, 0.1925, 0.3412},
28803 {0.2232, 0.1819, 0.2145, 0.3804}},
28804 {
28805 {0.3282, 0.1496, 0.2021, 0.3201},
28806 {0.3405, 0.1666, 0.1065, 0.3864},
28807 {0.3167, 0.1689, 0.1751, 0.3392},
28808 {0.2235, 0.1959, 0.2078, 0.3728}},
28809 {
28810 {0.3283, 0.1596, 0.1862, 0.3259},
28811 {0.3413, 0.1465, 0.1153, 0.3969},
28812 {0.2993, 0.1545, 0.1949, 0.3513},
28813 {0.2289, 0.1837, 0.1964, 0.3909}},
28814 {
28815 {0.3272, 0.1464, 0.1955, 0.3309},
28816 {0.3309, 0.1707, 0.0943, 0.4040},
28817 {0.3105, 0.1523, 0.1868, 0.3505},
28818 {0.2186, 0.1836, 0.2004, 0.3974}},
28819 {
28820 {0.3296, 0.1518, 0.1922, 0.3264},
28821 {0.3423, 0.1437, 0.1044, 0.4096},
28822 {0.3028, 0.1534, 0.1901, 0.3537},
28823 {0.2153, 0.1770, 0.2169, 0.3907}},
28824 {
28825 {0.3245, 0.1620, 0.1929, 0.3205},
28826 {0.3454, 0.1574, 0.1031, 0.3941},
28827 {0.3242, 0.1504, 0.1836, 0.3418},
28828 {0.2216, 0.1868, 0.2057, 0.3859}},
28829 {
28830 {0.3254, 0.1589, 0.1840, 0.3317},
28831 {0.3300, 0.1650, 0.1046, 0.4005},
28832 {0.3231, 0.1552, 0.1755, 0.3462},
28833 {0.2167, 0.1824, 0.2077, 0.3932}},
28834 {
28835 {0.3251, 0.1519, 0.1995, 0.3234},
28836 {0.3335, 0.1543, 0.1128, 0.3994},
28837 {0.3227, 0.1478, 0.1939, 0.3356},
28838 {0.2225, 0.1800, 0.2092, 0.3884}},
28839 {
28840 {0.3345, 0.1552, 0.1986, 0.3117},
28841 {0.3251, 0.1547, 0.1200, 0.4001},
28842 {0.3110, 0.1464, 0.1824, 0.3602},
28843 {0.2197, 0.1694, 0.2063, 0.4046}},
28844 {
28845 {0.3201, 0.1457, 0.2009, 0.3333},
28846 {0.3239, 0.1528, 0.0997, 0.4235},
28847 {0.2987, 0.1504, 0.1853, 0.3656},
28848 {0.2255, 0.1799, 0.2085, 0.3860}},
28849 {
28850 {0.3503, 0.1477, 0.1837, 0.3184},
28851 {0.3224, 0.1553, 0.1009, 0.4214},
28852 {0.3115, 0.1513, 0.1845, 0.3526},
28853 {0.2219, 0.1833, 0.2128, 0.3820}},
28854 {
28855 {0.3264, 0.1497, 0.1953, 0.3286},
28856 {0.3205, 0.1632, 0.1056, 0.4107},
28857 {0.3015, 0.1589, 0.1880, 0.3517},
28858 {0.2079, 0.1771, 0.2153, 0.3997}},
28859 {
28860 {0.3273, 0.1457, 0.1918, 0.3352},
28861 {0.3409, 0.1624, 0.1030, 0.3937},
28862 {0.3079, 0.1406, 0.1858, 0.3657},
28863 {0.2282, 0.1808, 0.1997, 0.3913}},
28864 {
28865 {0.3308, 0.1571, 0.1937, 0.3184},
28866 {0.3259, 0.1599, 0.1050, 0.4092},
28867 {0.3075, 0.1470, 0.1787, 0.3668},
28868 {0.2222, 0.1881, 0.2025, 0.3872}},
28869 {
28870 {0.3306, 0.1516, 0.1872, 0.3306},
28871 {0.3255, 0.1610, 0.1067, 0.4068},
28872 {0.3106, 0.1450, 0.1841, 0.3603},
28873 {0.2176, 0.1772, 0.2068, 0.3984}},
28874 {
28875 {0.3265, 0.1502, 0.1906, 0.3327},
28876 {0.3309, 0.1591, 0.1025, 0.4074},
28877 {0.3161, 0.1452, 0.1845, 0.3541},
28878 {0.2313, 0.1745, 0.1924, 0.4017}},
28879 {
28880 {0.3352, 0.1457, 0.1843, 0.3349},
28881 {0.3167, 0.1604, 0.1107, 0.4122},
28882 {0.3017, 0.1558, 0.1816, 0.3609},
28883 {0.2342, 0.1747, 0.2008, 0.3903}},
28884 {
28885 {0.3273, 0.1547, 0.1867, 0.3314},
28886 {0.3347, 0.1593, 0.1090, 0.3969},
28887 {0.3018, 0.1471, 0.1805, 0.3706},
28888 {0.2268, 0.1667, 0.2097, 0.3968}},
28889 {
28890 {0.3165, 0.1536, 0.1900, 0.3398},
28891 {0.3179, 0.1537, 0.1048, 0.4236},
28892 {0.3132, 0.1498, 0.1882, 0.3487},
28893 {0.2190, 0.1801, 0.2102, 0.3908}},
28894 {
28895 {0.3260, 0.1462, 0.1755, 0.3523},
28896 {0.3128, 0.1522, 0.1006, 0.4344},
28897 {0.3298, 0.1460, 0.1753, 0.3489},
28898 {0.2298, 0.1824, 0.1983, 0.3896}},
28899 {
28900 {0.3259, 0.1548, 0.1847, 0.3347},
28901 {0.3315, 0.1624, 0.0921, 0.4140},
28902 {0.3187, 0.1470, 0.1771, 0.3572},
28903 {0.2074, 0.1743, 0.2131, 0.4053}},
28904 {
28905 {0.3377, 0.1467, 0.1876, 0.3280},
28906 {0.3286, 0.1535, 0.1011, 0.4168},
28907 {0.3229, 0.1485, 0.1774, 0.3512},
28908 {0.2243, 0.1855, 0.2023, 0.3879}},
28909 {
28910 {0.3342, 0.1504, 0.1897, 0.3258},
28911 {0.3390, 0.1531, 0.0953, 0.4126},
28912 {0.3198, 0.1488, 0.1816, 0.3498},
28913 {0.2292, 0.1741, 0.2033, 0.3935}},
28914 {
28915 {0.3260, 0.1504, 0.1806, 0.3430},
28916 {0.3171, 0.1477, 0.1013, 0.4340},
28917 {0.3209, 0.1334, 0.1690, 0.3767},
28918 {0.2308, 0.1801, 0.2043, 0.3847}},
28919 {
28920 {0.3286, 0.1478, 0.1825, 0.3411},
28921 {0.3153, 0.1492, 0.1052, 0.4302},
28922 {0.2952, 0.1513, 0.1789, 0.3747},
28923 {0.2205, 0.1731, 0.2067, 0.3998}},
28924 {
28925 {0.3295, 0.1465, 0.1818, 0.3422},
28926 {0.3334, 0.1474, 0.1008, 0.4185},
28927 {0.3097, 0.1480, 0.1810, 0.3614},
28928 {0.2222, 0.1713, 0.2041, 0.4025}},
28929 {
28930 {0.3370, 0.1513, 0.1805, 0.3312},
28931 {0.3203, 0.1629, 0.0937, 0.4230},
28932 {0.3098, 0.1390, 0.1797, 0.3714},
28933 {0.2264, 0.1771, 0.2023, 0.3942}},
28934 {
28935 {0.3258, 0.1482, 0.1827, 0.3432},
28936 {0.3333, 0.1498, 0.1013, 0.4157},
28937 {0.2931, 0.1448, 0.1919, 0.3702},
28938 {0.2301, 0.1692, 0.1985, 0.4023}},
28939 {
28940 {0.3232, 0.1459, 0.1817, 0.3492},
28941 {0.3270, 0.1596, 0.1022, 0.4111},
28942 {0.3162, 0.1393, 0.1702, 0.3742},
28943 {0.2257, 0.1749, 0.1987, 0.4007}},
28944 {
28945 {0.3268, 0.1390, 0.1999, 0.3343},
28946 {0.3390, 0.1375, 0.0980, 0.4255},
28947 {0.3225, 0.1306, 0.1839, 0.3630},
28948 {0.2256, 0.1688, 0.2070, 0.3985}},
28949 {
28950 {0.3233, 0.1400, 0.1840, 0.3527},
28951 {0.3123, 0.1583, 0.1030, 0.4264},
28952 {0.3084, 0.1399, 0.1664, 0.3853},
28953 {0.2174, 0.1663, 0.2038, 0.4125}},
28954 {
28955 {0.3282, 0.1434, 0.1855, 0.3429},
28956 {0.3171, 0.1510, 0.0902, 0.4418},
28957 {0.3130, 0.1379, 0.1790, 0.3701},
28958 {0.2224, 0.1609, 0.2116, 0.4051}},
28959 {
28960 {0.3176, 0.1433, 0.1855, 0.3537},
28961 {0.3203, 0.1670, 0.0937, 0.4190},
28962 {0.3055, 0.1502, 0.1762, 0.3681},
28963 {0.2195, 0.1805, 0.2016, 0.3985}},
28964 {
28965 {0.3110, 0.1493, 0.1862, 0.3535},
28966 {0.3089, 0.1365, 0.0950, 0.4596},
28967 {0.3195, 0.1498, 0.1748, 0.3559},
28968 {0.2304, 0.1719, 0.1994, 0.3983}},
28969 {
28970 {0.3123, 0.1638, 0.1699, 0.3540},
28971 {0.3150, 0.1562, 0.0953, 0.4335},
28972 {0.3021, 0.1501, 0.1612, 0.3867},
28973 {0.2147, 0.1700, 0.2075, 0.4079}},
28974 {
28975 {0.3207, 0.1453, 0.1836, 0.3504},
28976 {0.3012, 0.1432, 0.1140, 0.4416},
28977 {0.3305, 0.1179, 0.1878, 0.3638},
28978 {0.2245, 0.1534, 0.2271, 0.3949}},
28979 {
28980 {0.3099, 0.1475, 0.1816, 0.3610},
28981 {0.3146, 0.1364, 0.1042, 0.4449},
28982 {0.2875, 0.1367, 0.1750, 0.4008},
28983 {0.2070, 0.1661, 0.2159, 0.4109}},
28984 {
28985 {0.3366, 0.1390, 0.1641, 0.3603},
28986 {0.3151, 0.1392, 0.1033, 0.4425},
28987 {0.2692, 0.1384, 0.2102, 0.3821},
28988 {0.2174, 0.1661, 0.1910, 0.4254}},
28989 {
28990 {0.3060, 0.1576, 0.1404, 0.3959},
28991 {0.2889, 0.1562, 0.0986, 0.4563},
28992 {0.2619, 0.1288, 0.1296, 0.4797},
28993 {0.2120, 0.1591, 0.1790, 0.4498}},
28994 {
28995 {0.3316, 0.1461, 0.1642, 0.3582},
28996 {0.3325, 0.1276, 0.0931, 0.4468},
28997 {0.2809, 0.1284, 0.1552, 0.4355},
28998 {0.2154, 0.1534, 0.1986, 0.4326}},
28999 {
29000 {0.3169, 0.0919, 0.1325, 0.4586},
29001 {0.2849, 0.0954, 0.1050, 0.5148},
29002 {0.3181, 0.0826, 0.1359, 0.4634},
29003 {0.2022, 0.0898, 0.2172, 0.4909}},
29004 {
29005 {0.0000, 0.0000, 1.0000, 0.0000},
29006 {0.0000, 0.0000, 1.0000, 0.0000},
29007 {0.0000, 0.0000, 1.0000, 0.0000},
29008 {0.0000, 0.0000, 1.0000, 0.0000}},
29009 {
29010 {0.0000, 0.0000, 0.0000, 0.0000},
29011 {0.0000, 0.0000, 0.0000, 0.0000},
29012 {0.0000, 0.0000, 0.0000, 1.0000},
29013 {0.0000, 0.0000, 0.0000, 0.0000}},
29014 {
29015 {0.0000, 0.0000, 0.0000, 0.0000},
29016 {0.0000, 0.0000, 0.0000, 0.0000},
29017 {0.0000, 0.0000, 0.0000, 0.0000},
29018 {0.2147, 0.1403, 0.1946, 0.4504}},
29019 {
29020 {0.2839, 0.1444, 0.1969, 0.3749},
29021 {0.2913, 0.1518, 0.1002, 0.4567},
29022 {0.3039, 0.1255, 0.1627, 0.4079},
29023 {0.1965, 0.1467, 0.1873, 0.4695}},
29024 {
29025 {0.3149, 0.1731, 0.1448, 0.3672},
29026 {0.3262, 0.1481, 0.0929, 0.4328},
29027 {0.3079, 0.1533, 0.1656, 0.3731},
29028 {0.2118, 0.1855, 0.1985, 0.4042}},
29029 {
29030 {0.2955, 0.1445, 0.1919, 0.3681},
29031 {0.3389, 0.1426, 0.0803, 0.4382},
29032 {0.2995, 0.1419, 0.1740, 0.3846},
29033 {0.2132, 0.1617, 0.2212, 0.4039}},
29034 {
29035 {0.3007, 0.1433, 0.2108, 0.3452},
29036 {0.3227, 0.1255, 0.1048, 0.4469},
29037 {0.2973, 0.1381, 0.1704, 0.3942},
29038 {0.2210, 0.1507, 0.2325, 0.3958}},
29039 {
29040 {0.2930, 0.1546, 0.1867, 0.3657},
29041 {0.3179, 0.1482, 0.0969, 0.4370},
29042 {0.2825, 0.1517, 0.1593, 0.4065},
29043 {0.2130, 0.1647, 0.1933, 0.4290}},
29044 {
29045 {0.3154, 0.1479, 0.1776, 0.3591},
29046 {0.3504, 0.1487, 0.0903, 0.4105},
29047 {0.3130, 0.1393, 0.1700, 0.3777},
29048 {0.2116, 0.1619, 0.2139, 0.4127}},
29049 {
29050 {0.2955, 0.1512, 0.1875, 0.3658},
29051 {0.3205, 0.1321, 0.0950, 0.4525},
29052 {0.3001, 0.1482, 0.1825, 0.3692},
29053 {0.2179, 0.1629, 0.2103, 0.4089}},
29054 {
29055 {0.3132, 0.1544, 0.1728, 0.3596},
29056 {0.3290, 0.1587, 0.0924, 0.4199},
29057 {0.3114, 0.1410, 0.1803, 0.3673},
29058 {0.2028, 0.1731, 0.2015, 0.4226}},
29059 {
29060 {0.3157, 0.1419, 0.1825, 0.3599},
29061 {0.3564, 0.1332, 0.1020, 0.4084},
29062 {0.3122, 0.1489, 0.1623, 0.3766},
29063 {0.2066, 0.1612, 0.2184, 0.4138}},
29064 {
29065 {0.3015, 0.1507, 0.1968, 0.3510},
29066 {0.3407, 0.1462, 0.1020, 0.4110},
29067 {0.3093, 0.1481, 0.1819, 0.3607},
29068 {0.2141, 0.1679, 0.2148, 0.4031}},
29069 {
29070 {0.3100, 0.1409, 0.1902, 0.3589},
29071 {0.3314, 0.1521, 0.0903, 0.4261},
29072 {0.3024, 0.1467, 0.1710, 0.3799},
29073 {0.2156, 0.1636, 0.2084, 0.4124}},
29074 {
29075 {0.3062, 0.1491, 0.1862, 0.3585},
29076 {0.3437, 0.1497, 0.0946, 0.4120},
29077 {0.3262, 0.1375, 0.1882, 0.3482},
29078 {0.2191, 0.1607, 0.2122, 0.4080}},
29079 {
29080 {0.3180, 0.1433, 0.1985, 0.3402},
29081 {0.3411, 0.1427, 0.1001, 0.4161},
29082 {0.3215, 0.1454, 0.1854, 0.3477},
29083 {0.2159, 0.1624, 0.2170, 0.4047}},
29084 {
29085 {0.3076, 0.1435, 0.2001, 0.3488},
29086 {0.3318, 0.1544, 0.0982, 0.4156},
29087 {0.3156, 0.1435, 0.1902, 0.3507},
29088 {0.2183, 0.1640, 0.2113, 0.4063}},
29089 {
29090 {0.3173, 0.1508, 0.1918, 0.3401},
29091 {0.3311, 0.1516, 0.0951, 0.4222},
29092 {0.3150, 0.1469, 0.1821, 0.3560},
29093 {0.2127, 0.1650, 0.2154, 0.4068}},
29094 {
29095 {0.3194, 0.1414, 0.2011, 0.3381},
29096 {0.3186, 0.1457, 0.1005, 0.4352},
29097 {0.3068, 0.1572, 0.1900, 0.3460},
29098 {0.2062, 0.1666, 0.2141, 0.4131}},
29099 {
29100 {0.3192, 0.1513, 0.1884, 0.3412},
29101 {0.3451, 0.1432, 0.0966, 0.4150},
29102 {0.3055, 0.1501, 0.1924, 0.3520},
29103 {0.2222, 0.1682, 0.2119, 0.3977}},
29104 {
29105 {0.3092, 0.1524, 0.2017, 0.3367},
29106 {0.3368, 0.1531, 0.1017, 0.4084},
29107 {0.3130, 0.1489, 0.1818, 0.3563},
29108 {0.2164, 0.1663, 0.2200, 0.3973}},
29109 {
29110 {0.3028, 0.1516, 0.1964, 0.3493},
29111 {0.3430, 0.1553, 0.1068, 0.3948},
29112 {0.3119, 0.1489, 0.2029, 0.3364},
29113 {0.2063, 0.1753, 0.2254, 0.3930}},
29114 {
29115 {0.3190, 0.1559, 0.1939, 0.3312},
29116 {0.3448, 0.1485, 0.1039, 0.4028},
29117 {0.3110, 0.1528, 0.1854, 0.3508},
29118 {0.2152, 0.1622, 0.2274, 0.3953}},
29119 {
29120 {0.3126, 0.1546, 0.1957, 0.3370},
29121 {0.3466, 0.1506, 0.0901, 0.4126},
29122 {0.3271, 0.1460, 0.1926, 0.3343},
29123 {0.2093, 0.1623, 0.2283, 0.4002}},
29124 {
29125 {0.3332, 0.1362, 0.1924, 0.3382},
29126 {0.3230, 0.1541, 0.1093, 0.4136},
29127 {0.3078, 0.1625, 0.1862, 0.3435},
29128 {0.2086, 0.1708, 0.2257, 0.3948}},
29129 {
29130 {0.3193, 0.1438, 0.1954, 0.3416},
29131 {0.3385, 0.1431, 0.1058, 0.4126},
29132 {0.3247, 0.1532, 0.1851, 0.3370},
29133 {0.2070, 0.1715, 0.2196, 0.4019}},
29134 {
29135 {0.3158, 0.1521, 0.2005, 0.3316},
29136 {0.3356, 0.1446, 0.1166, 0.4033},
29137 {0.3018, 0.1645, 0.1890, 0.3447},
29138 {0.2103, 0.1632, 0.2297, 0.3968}},
29139 {
29140 {0.3172, 0.1438, 0.1940, 0.3450},
29141 {0.3383, 0.1508, 0.0974, 0.4134},
29142 {0.3123, 0.1590, 0.1896, 0.3391},
29143 {0.2073, 0.1755, 0.2196, 0.3976}},
29144 {
29145 {0.3118, 0.1514, 0.1922, 0.3447},
29146 {0.3525, 0.1378, 0.0902, 0.4195},
29147 {0.3298, 0.1408, 0.1898, 0.3396},
29148 {0.2193, 0.1587, 0.2149, 0.4071}},
29149 {
29150 {0.3086, 0.1532, 0.2078, 0.3303},
29151 {0.3297, 0.1479, 0.1028, 0.4196},
29152 {0.3114, 0.1455, 0.1899, 0.3532},
29153 {0.2124, 0.1634, 0.2220, 0.4022}},
29154 {
29155 {0.3227, 0.1472, 0.2031, 0.3270},
29156 {0.3417, 0.1507, 0.1152, 0.3924},
29157 {0.3102, 0.1587, 0.1890, 0.3421},
29158 {0.2154, 0.1645, 0.2290, 0.3912}},
29159 {
29160 {0.3003, 0.1480, 0.2046, 0.3471},
29161 {0.3496, 0.1506, 0.1064, 0.3935},
29162 {0.3194, 0.1510, 0.1969, 0.3328},
29163 {0.2093, 0.1716, 0.2255, 0.3936}},
29164 {
29165 {0.3127, 0.1538, 0.2105, 0.3231},
29166 {0.3401, 0.1500, 0.0997, 0.4102},
29167 {0.3095, 0.1563, 0.2025, 0.3318},
29168 {0.2127, 0.1735, 0.2244, 0.3894}},
29169 {
29170 {0.3131, 0.1521, 0.2011, 0.3336},
29171 {0.3354, 0.1617, 0.1110, 0.3919},
29172 {0.3319, 0.1528, 0.1914, 0.3239},
29173 {0.2117, 0.1721, 0.2227, 0.3935}},
29174 {
29175 {0.3076, 0.1593, 0.1963, 0.3368},
29176 {0.3562, 0.1569, 0.1053, 0.3816},
29177 {0.3243, 0.1520, 0.2081, 0.3157},
29178 {0.2116, 0.1600, 0.2317, 0.3966}},
29179 {
29180 {0.3148, 0.1416, 0.2082, 0.3354},
29181 {0.3614, 0.1616, 0.0998, 0.3772},
29182 {0.3154, 0.1566, 0.2012, 0.3268},
29183 {0.2148, 0.1683, 0.2282, 0.3887}},
29184 {
29185 {0.3073, 0.1575, 0.2059, 0.3293},
29186 {0.3588, 0.1481, 0.1057, 0.3874},
29187 {0.3311, 0.1570, 0.1810, 0.3309},
29188 {0.2164, 0.1644, 0.2232, 0.3961}},
29189 {
29190 {0.3160, 0.1452, 0.2093, 0.3295},
29191 {0.3538, 0.1503, 0.1083, 0.3875},
29192 {0.3344, 0.1564, 0.1940, 0.3153},
29193 {0.2181, 0.1677, 0.2275, 0.3867}},
29194 {
29195 {0.3245, 0.1481, 0.2120, 0.3154},
29196 {0.3458, 0.1455, 0.1117, 0.3970},
29197 {0.3133, 0.1581, 0.1996, 0.3290},
29198 {0.2160, 0.1563, 0.2325, 0.3952}},
29199 {
29200 {0.3098, 0.1369, 0.2111, 0.3422},
29201 {0.3247, 0.1561, 0.1167, 0.4025},
29202 {0.3190, 0.1512, 0.1966, 0.3331},
29203 {0.2100, 0.1677, 0.2203, 0.4020}},
29204 {
29205 {0.3095, 0.1483, 0.2063, 0.3359},
29206 {0.3378, 0.1515, 0.1009, 0.4097},
29207 {0.3321, 0.1563, 0.1928, 0.3188},
29208 {0.2100, 0.1691, 0.2254, 0.3955}},
29209 {
29210 {0.3157, 0.1425, 0.2090, 0.3329},
29211 {0.3602, 0.1345, 0.1126, 0.3927},
29212 {0.3108, 0.1466, 0.1981, 0.3444},
29213 {0.2079, 0.1647, 0.2324, 0.3950}},
29214 {
29215 {0.3133, 0.1544, 0.2021, 0.3302},
29216 {0.3221, 0.1561, 0.1163, 0.4056},
29217 {0.3211, 0.1619, 0.1906, 0.3263},
29218 {0.2161, 0.1615, 0.2381, 0.3842}},
29219 {
29220 {0.3139, 0.1537, 0.2037, 0.3287},
29221 {0.3453, 0.1478, 0.1204, 0.3866},
29222 {0.3308, 0.1628, 0.1983, 0.3082},
29223 {0.2079, 0.1634, 0.2383, 0.3903}},
29224 {
29225 {0.3258, 0.1446, 0.2155, 0.3142},
29226 {0.3486, 0.1590, 0.1106, 0.3818},
29227 {0.3243, 0.1567, 0.1868, 0.3322},
29228 {0.2143, 0.1687, 0.2338, 0.3831}},
29229 {
29230 {0.3127, 0.1621, 0.2037, 0.3215},
29231 {0.3463, 0.1454, 0.1183, 0.3900},
29232 {0.3249, 0.1593, 0.1946, 0.3213},
29233 {0.2142, 0.1656, 0.2305, 0.3896}},
29234 {
29235 {0.3101, 0.1539, 0.2095, 0.3265},
29236 {0.3463, 0.1500, 0.1175, 0.3862},
29237 {0.3287, 0.1631, 0.1998, 0.3083},
29238 {0.2165, 0.1690, 0.2340, 0.3804}},
29239 {
29240 {0.3146, 0.1489, 0.2037, 0.3327},
29241 {0.3672, 0.1533, 0.1093, 0.3702},
29242 {0.3084, 0.1536, 0.2083, 0.3298},
29243 {0.2122, 0.1654, 0.2308, 0.3915}},
29244 {
29245 {0.3184, 0.1558, 0.2074, 0.3184},
29246 {0.3306, 0.1624, 0.1190, 0.3880},
29247 {0.3285, 0.1554, 0.1997, 0.3165},
29248 {0.2123, 0.1700, 0.2277, 0.3900}},
29249 {
29250 {0.3180, 0.1532, 0.2089, 0.3199},
29251 {0.3335, 0.1516, 0.1202, 0.3946},
29252 {0.3241, 0.1471, 0.2062, 0.3227},
29253 {0.2077, 0.1675, 0.2393, 0.3855}},
29254 {
29255 {0.3184, 0.1502, 0.2087, 0.3227},
29256 {0.3251, 0.1642, 0.1162, 0.3945},
29257 {0.3199, 0.1581, 0.2062, 0.3157},
29258 {0.2056, 0.1609, 0.2501, 0.3833}},
29259 {
29260 {0.3110, 0.1600, 0.2086, 0.3204},
29261 {0.3362, 0.1544, 0.1149, 0.3945},
29262 {0.3212, 0.1570, 0.2033, 0.3185},
29263 {0.2040, 0.1699, 0.2438, 0.3823}}
29264 }},
29265 {
29266 { /* Splice_Site: T1_GT; Species: Maize */
29267 {
29268 {0.3163, 0.3163, 0.3163, 0.3163},
29269 {0.1806, 0.1806, 0.1806, 0.1806},
29270 {0.2061, 0.2061, 0.2061, 0.2061},
29271 {0.2970, 0.2970, 0.2970, 0.2970}},
29272 {
29273 {0.1137, 0.3187, 0.3465, 0.2211},
29274 {0.2047, 0.3689, 0.1639, 0.2626},
29275 {0.1377, 0.3054, 0.2526, 0.3043},
29276 {0.1516, 0.2685, 0.2470, 0.3329}},
29277 {
29278 {0.2750, 0.1705, 0.2138, 0.3407},
29279 {0.3448, 0.2075, 0.2524, 0.1953},
29280 {0.2568, 0.1550, 0.3941, 0.1940},
29281 {0.1380, 0.2399, 0.4745, 0.1476}},
29282 {
29283 {0.3442, 0.1354, 0.2393, 0.2811},
29284 {0.2416, 0.2027, 0.1733, 0.3824},
29285 {0.3278, 0.1860, 0.1946, 0.2917},
29286 {0.1233, 0.2155, 0.2473, 0.4139}},
29287 {
29288 {0.1371, 0.4051, 0.2791, 0.1787},
29289 {0.2972, 0.3130, 0.1736, 0.2162},
29290 {0.1812, 0.2450, 0.3966, 0.1772},
29291 {0.0730, 0.4184, 0.2499, 0.2588}},
29292 {
29293 {0.3658, 0.2435, 0.2870, 0.1037},
29294 {0.3596, 0.2466, 0.1990, 0.1948},
29295 {0.3526, 0.1972, 0.3134, 0.1368},
29296 {0.0864, 0.1181, 0.6017, 0.1937}},
29297 {
29298 {0.3583, 0.2686, 0.1429, 0.2302},
29299 {0.4576, 0.1387, 0.1455, 0.2583},
29300 {0.2801, 0.2239, 0.2815, 0.2145},
29301 {0.1139, 0.3011, 0.1323, 0.4527}},
29302 {
29303 {0.1491, 0.2924, 0.3728, 0.1857},
29304 {0.2987, 0.2947, 0.1199, 0.2867},
29305 {0.2380, 0.2058, 0.3012, 0.2551},
29306 {0.0842, 0.3704, 0.2613, 0.2841}},
29307 {
29308 {0.2785, 0.1797, 0.2366, 0.3052},
29309 {0.3209, 0.2278, 0.2896, 0.1617},
29310 {0.3519, 0.3005, 0.2685, 0.0791},
29311 {0.2181, 0.2239, 0.3899, 0.1680}},
29312 {
29313 {0.3258, 0.2260, 0.2556, 0.1926},
29314 {0.3609, 0.2238, 0.1403, 0.2750},
29315 {0.4217, 0.3077, 0.1238, 0.1468},
29316 {0.1121, 0.4395, 0.1556, 0.2928}},
29317 {
29318 {0.2094, 0.3046, 0.3038, 0.1822},
29319 {0.1826, 0.3449, 0.2052, 0.2672},
29320 {0.2187, 0.3814, 0.2170, 0.1829},
29321 {0.1301, 0.4351, 0.2156, 0.2192}},
29322 {
29323 {0.2151, 0.2537, 0.3002, 0.2310},
29324 {0.3017, 0.1504, 0.4047, 0.1432},
29325 {0.3066, 0.2485, 0.2028, 0.2421},
29326 {0.2231, 0.2344, 0.4684, 0.0741}},
29327 {
29328 {0.4256, 0.2084, 0.1430, 0.2230},
29329 {0.3665, 0.1780, 0.1221, 0.3334},
29330 {0.3960, 0.2160, 0.1974, 0.1907},
29331 {0.1471, 0.2943, 0.1135, 0.4451}},
29332 {
29333 {0.2066, 0.2884, 0.2884, 0.2166},
29334 {0.2342, 0.1783, 0.2545, 0.3330},
29335 {0.2072, 0.2711, 0.2978, 0.2238},
29336 {0.0668, 0.4554, 0.2672, 0.2105}},
29337 {
29338 {0.2006, 0.1992, 0.4137, 0.1865},
29339 {0.3129, 0.1419, 0.3378, 0.2074},
29340 {0.1257, 0.3448, 0.3389, 0.1907},
29341 {0.1627, 0.1393, 0.4776, 0.2204}},
29342 {
29343 {0.3048, 0.1222, 0.2508, 0.3222},
29344 {0.3823, 0.2486, 0.0951, 0.2740},
29345 {0.3676, 0.2558, 0.1781, 0.1985},
29346 {0.1538, 0.3689, 0.1750, 0.3024}},
29347 {
29348 {0.1905, 0.4083, 0.2233, 0.1778},
29349 {0.2147, 0.3672, 0.1042, 0.3138},
29350 {0.1196, 0.3560, 0.2762, 0.2483},
29351 {0.0933, 0.3660, 0.3071, 0.2335}},
29352 {
29353 {0.2317, 0.0803, 0.4581, 0.2299},
29354 {0.4017, 0.1729, 0.2590, 0.1664},
29355 {0.3494, 0.2390, 0.3017, 0.1099},
29356 {0.2297, 0.1008, 0.5776, 0.0920}},
29357 {
29358 {0.3416, 0.2401, 0.1001, 0.3182},
29359 {0.3625, 0.1375, 0.1850, 0.3150},
29360 {0.4011, 0.2589, 0.1857, 0.1542},
29361 {0.1698, 0.2413, 0.1636, 0.4253}},
29362 {
29363 {0.1574, 0.3791, 0.2339, 0.2297},
29364 {0.3097, 0.2169, 0.2119, 0.2615},
29365 {0.0381, 0.2825, 0.2819, 0.3975},
29366 {0.0686, 0.3555, 0.3263, 0.2495}},
29367 {
29368 {0.2710, 0.1838, 0.2767, 0.2685},
29369 {0.4076, 0.2036, 0.1674, 0.2214},
29370 {0.2856, 0.2910, 0.3299, 0.0934},
29371 {0.1389, 0.1626, 0.5654, 0.1331}},
29372 {
29373 {0.3381, 0.1649, 0.1565, 0.3406},
29374 {0.3672, 0.3266, 0.0884, 0.2178},
29375 {0.3778, 0.1956, 0.1901, 0.2365},
29376 {0.2240, 0.1914, 0.1696, 0.4151}},
29377 {
29378 {0.1290, 0.3411, 0.2947, 0.2352},
29379 {0.2969, 0.2613, 0.1030, 0.3388},
29380 {0.1865, 0.3885, 0.2256, 0.1994},
29381 {0.0856, 0.3307, 0.2595, 0.3242}},
29382 {
29383 {0.3525, 0.1779, 0.2740, 0.1957},
29384 {0.3930, 0.1935, 0.2025, 0.2110},
29385 {0.2617, 0.2625, 0.3197, 0.1560},
29386 {0.1701, 0.1972, 0.4503, 0.1825}},
29387 {
29388 {0.3553, 0.1981, 0.1296, 0.3170},
29389 {0.2256, 0.2420, 0.1808, 0.3516},
29390 {0.3340, 0.2782, 0.1716, 0.2162},
29391 {0.1643, 0.2673, 0.1506, 0.4179}},
29392 {
29393 {0.1564, 0.3053, 0.2418, 0.2965},
29394 {0.2113, 0.4061, 0.1011, 0.2815},
29395 {0.2018, 0.3161, 0.2236, 0.2586},
29396 {0.0957, 0.3910, 0.2506, 0.2627}},
29397 {
29398 {0.3449, 0.0792, 0.3545, 0.2214},
29399 {0.2604, 0.2036, 0.2991, 0.2369},
29400 {0.1952, 0.2097, 0.4431, 0.1519},
29401 {0.1348, 0.2067, 0.5790, 0.0794}},
29402 {
29403 {0.3861, 0.1224, 0.1859, 0.3056},
29404 {0.3070, 0.2359, 0.1722, 0.2850},
29405 {0.3380, 0.2606, 0.1786, 0.2228},
29406 {0.2168, 0.2372, 0.1832, 0.3628}},
29407 {
29408 {0.1497, 0.3961, 0.2595, 0.1947},
29409 {0.2321, 0.3310, 0.1428, 0.2941},
29410 {0.1048, 0.3269, 0.2840, 0.2843},
29411 {0.0808, 0.3772, 0.2496, 0.2925}},
29412 {
29413 {0.2291, 0.1967, 0.3502, 0.2240},
29414 {0.2804, 0.2391, 0.2758, 0.2046},
29415 {0.2283, 0.3370, 0.2850, 0.1496},
29416 {0.1901, 0.2413, 0.4118, 0.1568}},
29417 {
29418 {0.3955, 0.2145, 0.1317, 0.2583},
29419 {0.3029, 0.1570, 0.1208, 0.4193},
29420 {0.2438, 0.2139, 0.2549, 0.2874},
29421 {0.2631, 0.2401, 0.1573, 0.3395}},
29422 {
29423 {0.1760, 0.3021, 0.2495, 0.2724},
29424 {0.2518, 0.3240, 0.0945, 0.3296},
29425 {0.1731, 0.3908, 0.2933, 0.1427},
29426 {0.0847, 0.3666, 0.2373, 0.3115}},
29427 {
29428 {0.2611, 0.2130, 0.3685, 0.1574},
29429 {0.3309, 0.2642, 0.2695, 0.1353},
29430 {0.2020, 0.2462, 0.4104, 0.1414},
29431 {0.1049, 0.2116, 0.5595, 0.1240}},
29432 {
29433 {0.4244, 0.1384, 0.1831, 0.2541},
29434 {0.2437, 0.2103, 0.1440, 0.4020},
29435 {0.3090, 0.2439, 0.2454, 0.2017},
29436 {0.2774, 0.2490, 0.0655, 0.4080}},
29437 {
29438 {0.1418, 0.2580, 0.3777, 0.2224},
29439 {0.2541, 0.2822, 0.1060, 0.3576},
29440 {0.2114, 0.3046, 0.2258, 0.2582},
29441 {0.0931, 0.4215, 0.2626, 0.2228}},
29442 {
29443 {0.3576, 0.0752, 0.3484, 0.2187},
29444 {0.4064, 0.1221, 0.2504, 0.2211},
29445 {0.2664, 0.2891, 0.3026, 0.1418},
29446 {0.0992, 0.3046, 0.5118, 0.0844}},
29447 {
29448 {0.3783, 0.2119, 0.1848, 0.2251},
29449 {0.1850, 0.2712, 0.0897, 0.4542},
29450 {0.3693, 0.2699, 0.2188, 0.1420},
29451 {0.2270, 0.1857, 0.2503, 0.3369}},
29452 {
29453 {0.1796, 0.2421, 0.3313, 0.2470},
29454 {0.1813, 0.3475, 0.1177, 0.3535},
29455 {0.2942, 0.3360, 0.2073, 0.1625},
29456 {0.1443, 0.2549, 0.3370, 0.2639}},
29457 {
29458 {0.2725, 0.2172, 0.3651, 0.1452},
29459 {0.3058, 0.2413, 0.2636, 0.1893},
29460 {0.2966, 0.2551, 0.3065, 0.1418},
29461 {0.1399, 0.2877, 0.4666, 0.1058}},
29462 {
29463 {0.3007, 0.2156, 0.1817, 0.3020},
29464 {0.1766, 0.2688, 0.1281, 0.4266},
29465 {0.2808, 0.3062, 0.2348, 0.1782},
29466 {0.2100, 0.2164, 0.2167, 0.3568}},
29467 {
29468 {0.1561, 0.3823, 0.2532, 0.2083},
29469 {0.3847, 0.2356, 0.0742, 0.3055},
29470 {0.1986, 0.1769, 0.3537, 0.2708},
29471 {0.1300, 0.3257, 0.3133, 0.2310}},
29472 {
29473 {0.2762, 0.2190, 0.2487, 0.2561},
29474 {0.3294, 0.2021, 0.2490, 0.2196},
29475 {0.3754, 0.1604, 0.3521, 0.1121},
29476 {0.1515, 0.2490, 0.4762, 0.1233}},
29477 {
29478 {0.3288, 0.1675, 0.1959, 0.3079},
29479 {0.2334, 0.2590, 0.1375, 0.3701},
29480 {0.3022, 0.2223, 0.2508, 0.2247},
29481 {0.1437, 0.2706, 0.2259, 0.3597}},
29482 {
29483 {0.1178, 0.3995, 0.2208, 0.2619},
29484 {0.3053, 0.1674, 0.1855, 0.3418},
29485 {0.2422, 0.2484, 0.1771, 0.3323},
29486 {0.1167, 0.2911, 0.3239, 0.2683}},
29487 {
29488 {0.2896, 0.2043, 0.2375, 0.2686},
29489 {0.3546, 0.2112, 0.2695, 0.1647},
29490 {0.3221, 0.2320, 0.1855, 0.2603},
29491 {0.1560, 0.2026, 0.4852, 0.1562}},
29492 {
29493 {0.3689, 0.1786, 0.2317, 0.2208},
29494 {0.3851, 0.1601, 0.0884, 0.3664},
29495 {0.3802, 0.2342, 0.2274, 0.1582},
29496 {0.3308, 0.2528, 0.1859, 0.2306}},
29497 {
29498 {0.1989, 0.2731, 0.2538, 0.2742},
29499 {0.2044, 0.2991, 0.1120, 0.3845},
29500 {0.2668, 0.3481, 0.2148, 0.1703},
29501 {0.0942, 0.4259, 0.1873, 0.2926}},
29502 {
29503 {0.3233, 0.2866, 0.2750, 0.1151},
29504 {0.3461, 0.3615, 0.2094, 0.0831},
29505 {0.3293, 0.3079, 0.3014, 0.0613},
29506 {0.1669, 0.4076, 0.3684, 0.0570}},
29507 {
29508 {0.6961, 0.0902, 0.0927, 0.1210},
29509 {0.7790, 0.0688, 0.0164, 0.1357},
29510 {0.6986, 0.1990, 0.0332, 0.0691},
29511 {0.1651, 0.4461, 0.1604, 0.2284}},
29512 {
29513 {0.0616, 0.0359, 0.8317, 0.0708},
29514 {0.1079, 0.1409, 0.5884, 0.1629},
29515 {0.1248, 0.1108, 0.7064, 0.0580},
29516 {0.0000, 0.0000, 0.8027, 0.1973}},
29517 {
29518 {0.0000, 0.0000, 1.0000, 0.0000},
29519 {0.0000, 0.0000, 1.0000, 0.0000},
29520 {0.0000, 0.0000, 1.0000, 0.0000},
29521 {0.0000, 0.0000, 1.0000, 0.0000}},
29522 {
29523 {0.0000, 0.0000, 0.0000, 0.0000},
29524 {0.0000, 0.0000, 0.0000, 0.0000},
29525 {0.0000, 0.0000, 0.0000, 1.0000},
29526 {0.0000, 0.0000, 0.0000, 0.0000}},
29527 {
29528 {0.0000, 0.0000, 0.0000, 0.0000},
29529 {0.0000, 0.0000, 0.0000, 0.0000},
29530 {0.0000, 0.0000, 0.0000, 0.0000},
29531 {0.6639, 0.0501, 0.1910, 0.0950}},
29532 {
29533 {0.4307, 0.2584, 0.0593, 0.2515},
29534 {0.5046, 0.0636, 0.0000, 0.4318},
29535 {0.6746, 0.1611, 0.0306, 0.1338},
29536 {0.3981, 0.1323, 0.1318, 0.3378}},
29537 {
29538 {0.1093, 0.0735, 0.6473, 0.1699},
29539 {0.2164, 0.0582, 0.4969, 0.2285},
29540 {0.2025, 0.2641, 0.3110, 0.2224},
29541 {0.1532, 0.0724, 0.7119, 0.0625}},
29542 {
29543 {0.3180, 0.1705, 0.1620, 0.3494},
29544 {0.3514, 0.3028, 0.1530, 0.1927},
29545 {0.1089, 0.2772, 0.1036, 0.5103},
29546 {0.0761, 0.2016, 0.3325, 0.3897}},
29547 {
29548 {0.3374, 0.1825, 0.1585, 0.3216},
29549 {0.2498, 0.1864, 0.1218, 0.4420},
29550 {0.4956, 0.1106, 0.1933, 0.2005},
29551 {0.2910, 0.1676, 0.2536, 0.2878}},
29552 {
29553 {0.2886, 0.2755, 0.1284, 0.3075},
29554 {0.2537, 0.2965, 0.1299, 0.3199},
29555 {0.2382, 0.3705, 0.1163, 0.2750},
29556 {0.1557, 0.1836, 0.2397, 0.4210}},
29557 {
29558 {0.3220, 0.2316, 0.1344, 0.3119},
29559 {0.1802, 0.2912, 0.1584, 0.3702},
29560 {0.2830, 0.3145, 0.0761, 0.3265},
29561 {0.2154, 0.2432, 0.1597, 0.3817}},
29562 {
29563 {0.2395, 0.3148, 0.1277, 0.3181},
29564 {0.3119, 0.2136, 0.0828, 0.3918},
29565 {0.2464, 0.3386, 0.1334, 0.2816},
29566 {0.2311, 0.2123, 0.2074, 0.3493}},
29567 {
29568 {0.2491, 0.1313, 0.1792, 0.4404},
29569 {0.2582, 0.2896, 0.1483, 0.3040},
29570 {0.3004, 0.3653, 0.0484, 0.2859},
29571 {0.1715, 0.2927, 0.1692, 0.3666}},
29572 {
29573 {0.2590, 0.2052, 0.1486, 0.3872},
29574 {0.2797, 0.2780, 0.1410, 0.3013},
29575 {0.1296, 0.2990, 0.1622, 0.4093},
29576 {0.1404, 0.2610, 0.2219, 0.3767}},
29577 {
29578 {0.2802, 0.2895, 0.1695, 0.2609},
29579 {0.2720, 0.2621, 0.1587, 0.3072},
29580 {0.2168, 0.3025, 0.1200, 0.3607},
29581 {0.2817, 0.2025, 0.1966, 0.3192}},
29582 {
29583 {0.2558, 0.2024, 0.1815, 0.3604},
29584 {0.1778, 0.3331, 0.0699, 0.4193},
29585 {0.2791, 0.3020, 0.0933, 0.3255},
29586 {0.1177, 0.2154, 0.2419, 0.4250}},
29587 {
29588 {0.2666, 0.2469, 0.1118, 0.3747},
29589 {0.2669, 0.2821, 0.1118, 0.3392},
29590 {0.1909, 0.3232, 0.0975, 0.3885},
29591 {0.1918, 0.3047, 0.2449, 0.2586}},
29592 {
29593 {0.2587, 0.2396, 0.2190, 0.2828},
29594 {0.2452, 0.2214, 0.1851, 0.3482},
29595 {0.3174, 0.3659, 0.1155, 0.2013},
29596 {0.2257, 0.2252, 0.2352, 0.3138}},
29597 {
29598 {0.2109, 0.2835, 0.2527, 0.2529},
29599 {0.2278, 0.2839, 0.0939, 0.3943},
29600 {0.2775, 0.3783, 0.0628, 0.2814},
29601 {0.3385, 0.1900, 0.2276, 0.2439}},
29602 {
29603 {0.2524, 0.2109, 0.1322, 0.4044},
29604 {0.2933, 0.1683, 0.1170, 0.4215},
29605 {0.2573, 0.3873, 0.0963, 0.2591},
29606 {0.1702, 0.2677, 0.2035, 0.3586}},
29607 {
29608 {0.2068, 0.1576, 0.2161, 0.4195},
29609 {0.2710, 0.1926, 0.1352, 0.4011},
29610 {0.2381, 0.2275, 0.2499, 0.2845},
29611 {0.1069, 0.2896, 0.2243, 0.3792}},
29612 {
29613 {0.3127, 0.2771, 0.1490, 0.2612},
29614 {0.3183, 0.2118, 0.1309, 0.3390},
29615 {0.3034, 0.2505, 0.1398, 0.3063},
29616 {0.2229, 0.1980, 0.2240, 0.3550}},
29617 {
29618 {0.1993, 0.2209, 0.2237, 0.3562},
29619 {0.2203, 0.2715, 0.0826, 0.4256},
29620 {0.1305, 0.2478, 0.1500, 0.4717},
29621 {0.1871, 0.2567, 0.2101, 0.3461}},
29622 {
29623 {0.2986, 0.1971, 0.1001, 0.4043},
29624 {0.2409, 0.2584, 0.0828, 0.4179},
29625 {0.1738, 0.2629, 0.1611, 0.4022},
29626 {0.2219, 0.3172, 0.1495, 0.3114}},
29627 {
29628 {0.3424, 0.2157, 0.1299, 0.3120},
29629 {0.2305, 0.2089, 0.1167, 0.4439},
29630 {0.1713, 0.3311, 0.1400, 0.3576},
29631 {0.1415, 0.2538, 0.1813, 0.4234}},
29632 {
29633 {0.2321, 0.1768, 0.1822, 0.4089},
29634 {0.2764, 0.1671, 0.0762, 0.4803},
29635 {0.1858, 0.3708, 0.1223, 0.3211},
29636 {0.2475, 0.1729, 0.2160, 0.3636}},
29637 {
29638 {0.2154, 0.1455, 0.1753, 0.4637},
29639 {0.3225, 0.1430, 0.0768, 0.4576},
29640 {0.1934, 0.3258, 0.0545, 0.4264},
29641 {0.1426, 0.2476, 0.3019, 0.3080}},
29642 {
29643 {0.2987, 0.1421, 0.1688, 0.3904},
29644 {0.2016, 0.2309, 0.1574, 0.4101},
29645 {0.2210, 0.2006, 0.1995, 0.3789},
29646 {0.1565, 0.1842, 0.2150, 0.4443}},
29647 {
29648 {0.2403, 0.1618, 0.1303, 0.4675},
29649 {0.3589, 0.2291, 0.0645, 0.3474},
29650 {0.1812, 0.3021, 0.1599, 0.3568},
29651 {0.1832, 0.2180, 0.2418, 0.3570}},
29652 {
29653 {0.3360, 0.1646, 0.1448, 0.3545},
29654 {0.2514, 0.1808, 0.0972, 0.4705},
29655 {0.2264, 0.2915, 0.1213, 0.3608},
29656 {0.1442, 0.2565, 0.1656, 0.4337}},
29657 {
29658 {0.2866, 0.1944, 0.1413, 0.3778},
29659 {0.1891, 0.2044, 0.1142, 0.4923},
29660 {0.2336, 0.2637, 0.2021, 0.3006},
29661 {0.1607, 0.1897, 0.2445, 0.4050}},
29662 {
29663 {0.3051, 0.1689, 0.1853, 0.3407},
29664 {0.3153, 0.2732, 0.1158, 0.2957},
29665 {0.3026, 0.3147, 0.1811, 0.2015},
29666 {0.1700, 0.2250, 0.2096, 0.3954}},
29667 {
29668 {0.3189, 0.2840, 0.0847, 0.3125},
29669 {0.2873, 0.1748, 0.1262, 0.4117},
29670 {0.3268, 0.2031, 0.1538, 0.3163},
29671 {0.2497, 0.1252, 0.2489, 0.3762}},
29672 {
29673 {0.2465, 0.1396, 0.1998, 0.4141},
29674 {0.2995, 0.2382, 0.1022, 0.3601},
29675 {0.2889, 0.2174, 0.0974, 0.3963},
29676 {0.1833, 0.1787, 0.2020, 0.4359}},
29677 {
29678 {0.2973, 0.2094, 0.1813, 0.3121},
29679 {0.2743, 0.0855, 0.1934, 0.4469},
29680 {0.1682, 0.3711, 0.0935, 0.3673},
29681 {0.1465, 0.2079, 0.1762, 0.4694}},
29682 {
29683 {0.2195, 0.1725, 0.2656, 0.3424},
29684 {0.3173, 0.1934, 0.1349, 0.3545},
29685 {0.1880, 0.2752, 0.1398, 0.3970},
29686 {0.2259, 0.1617, 0.1925, 0.4199}},
29687 {
29688 {0.2724, 0.1953, 0.1714, 0.3609},
29689 {0.2346, 0.1935, 0.1683, 0.4036},
29690 {0.2003, 0.2508, 0.1943, 0.3546},
29691 {0.1732, 0.1729, 0.2594, 0.3946}},
29692 {
29693 {0.1697, 0.2631, 0.1295, 0.4377},
29694 {0.3834, 0.1579, 0.0934, 0.3652},
29695 {0.2356, 0.3181, 0.0909, 0.3553},
29696 {0.1998, 0.1607, 0.1921, 0.4474}},
29697 {
29698 {0.2795, 0.2880, 0.1210, 0.3115},
29699 {0.2299, 0.2077, 0.1342, 0.4281},
29700 {0.2838, 0.2033, 0.1554, 0.3576},
29701 {0.1387, 0.1732, 0.2405, 0.4476}},
29702 {
29703 {0.2533, 0.2498, 0.1849, 0.3119},
29704 {0.2489, 0.0889, 0.1012, 0.5611},
29705 {0.2291, 0.2354, 0.0875, 0.4480},
29706 {0.1887, 0.1735, 0.2684, 0.3694}},
29707 {
29708 {0.2816, 0.1243, 0.2865, 0.3076},
29709 {0.3590, 0.2903, 0.0566, 0.2942},
29710 {0.1287, 0.2551, 0.2410, 0.3753},
29711 {0.1658, 0.2862, 0.1906, 0.3573}},
29712 {
29713 {0.3359, 0.1968, 0.1811, 0.2863},
29714 {0.2905, 0.2027, 0.1503, 0.3564},
29715 {0.3229, 0.2702, 0.1354, 0.2715},
29716 {0.1226, 0.2253, 0.1340, 0.5182}},
29717 {
29718 {0.2218, 0.2260, 0.1983, 0.3539},
29719 {0.3143, 0.1100, 0.0705, 0.5052},
29720 {0.2337, 0.2740, 0.2077, 0.2846},
29721 {0.1680, 0.2196, 0.1538, 0.4586}},
29722 {
29723 {0.2544, 0.1548, 0.1542, 0.4366},
29724 {0.3664, 0.2140, 0.1711, 0.2485},
29725 {0.2331, 0.2406, 0.2646, 0.2617},
29726 {0.2343, 0.1464, 0.2241, 0.3952}},
29727 {
29728 {0.3732, 0.1963, 0.1843, 0.2463},
29729 {0.3475, 0.1610, 0.1473, 0.3442},
29730 {0.2481, 0.1995, 0.1673, 0.3852},
29731 {0.2244, 0.2114, 0.2229, 0.3413}},
29732 {
29733 {0.2138, 0.1495, 0.2342, 0.4025},
29734 {0.2273, 0.3269, 0.0132, 0.4326},
29735 {0.2852, 0.2687, 0.1875, 0.2586},
29736 {0.1958, 0.1740, 0.2787, 0.3515}},
29737 {
29738 {0.2215, 0.1811, 0.1544, 0.4430},
29739 {0.2784, 0.1774, 0.1622, 0.3820},
29740 {0.2253, 0.2228, 0.2275, 0.3245},
29741 {0.1773, 0.2175, 0.2621, 0.3431}},
29742 {
29743 {0.2726, 0.2989, 0.1120, 0.3164},
29744 {0.3871, 0.1893, 0.0923, 0.3313},
29745 {0.3040, 0.2166, 0.1442, 0.3352},
29746 {0.1795, 0.2188, 0.2143, 0.3875}},
29747 {
29748 {0.2676, 0.2063, 0.1719, 0.3542},
29749 {0.2187, 0.1486, 0.1229, 0.5099},
29750 {0.3014, 0.1444, 0.2422, 0.3120},
29751 {0.2257, 0.2113, 0.2137, 0.3494}},
29752 {
29753 {0.2776, 0.1387, 0.2056, 0.3781},
29754 {0.3373, 0.1768, 0.1557, 0.3302},
29755 {0.2099, 0.2528, 0.1102, 0.4272},
29756 {0.1968, 0.1655, 0.3222, 0.3155}},
29757 {
29758 {0.2368, 0.1752, 0.2337, 0.3542},
29759 {0.3265, 0.1900, 0.1312, 0.3523},
29760 {0.3464, 0.2157, 0.1713, 0.2666},
29761 {0.1660, 0.1803, 0.2797, 0.3741}},
29762 {
29763 {0.2814, 0.1664, 0.1406, 0.4117},
29764 {0.2978, 0.1177, 0.1852, 0.3993},
29765 {0.3198, 0.3239, 0.1098, 0.2464},
29766 {0.1535, 0.1838, 0.3502, 0.3125}},
29767 {
29768 {0.2742, 0.1637, 0.1370, 0.4251},
29769 {0.3259, 0.1553, 0.0613, 0.4576},
29770 {0.3158, 0.2636, 0.1286, 0.2920},
29771 {0.2464, 0.1558, 0.2836, 0.3143}},
29772 {
29773 {0.2058, 0.2324, 0.1835, 0.3783},
29774 {0.1892, 0.2081, 0.1403, 0.4624},
29775 {0.2496, 0.2297, 0.1469, 0.3738},
29776 {0.1421, 0.1361, 0.3253, 0.3965}}},
29777
29778 { /* Splice_Site: T2_GT; Species: Maize */
29779 {
29780 {0.1102, 0.1102, 0.1102, 0.1102},
29781 {0.3448, 0.3448, 0.3448, 0.3448},
29782 {0.2214, 0.2214, 0.2214, 0.2214},
29783 {0.3237, 0.3237, 0.3237, 0.3237}},
29784 {
29785 {0.5047, 0.0806, 0.4147, 0.0000},
29786 {0.3739, 0.1935, 0.4041, 0.0285},
29787 {0.4081, 0.0845, 0.2946, 0.2128},
29788 {0.1424, 0.2287, 0.4299, 0.1990}},
29789 {
29790 {0.3438, 0.1698, 0.2025, 0.2840},
29791 {0.1667, 0.2183, 0.1161, 0.4989},
29792 {0.2133, 0.1854, 0.2402, 0.3611},
29793 {0.0000, 0.4692, 0.1516, 0.3792}},
29794 {
29795 {0.1264, 0.3790, 0.2887, 0.2058},
29796 {0.2097, 0.2890, 0.1639, 0.3374},
29797 {0.0966, 0.5266, 0.0977, 0.2791},
29798 {0.0751, 0.2637, 0.3331, 0.3281}},
29799 {
29800 {0.3034, 0.0818, 0.3836, 0.2312},
29801 {0.3477, 0.1920, 0.2969, 0.1634},
29802 {0.2374, 0.3060, 0.2694, 0.1873},
29803 {0.0621, 0.2855, 0.5605, 0.0919}},
29804 {
29805 {0.2489, 0.0391, 0.2322, 0.4798},
29806 {0.1249, 0.1538, 0.2426, 0.4787},
29807 {0.2677, 0.2192, 0.2968, 0.2163},
29808 {0.0616, 0.6395, 0.0000, 0.2989}},
29809 {
29810 {0.1878, 0.2419, 0.3295, 0.2409},
29811 {0.2377, 0.2824, 0.2382, 0.2417},
29812 {0.1646, 0.4578, 0.2915, 0.0861},
29813 {0.0258, 0.4512, 0.2359, 0.2871}},
29814 {
29815 {0.3306, 0.1978, 0.3340, 0.1375},
29816 {0.3659, 0.1024, 0.3299, 0.2018},
29817 {0.3422, 0.3752, 0.1785, 0.1041},
29818 {0.1279, 0.2929, 0.3361, 0.2432}},
29819 {
29820 {0.2053, 0.1213, 0.2423, 0.4311},
29821 {0.2749, 0.2866, 0.2013, 0.2372},
29822 {0.4164, 0.2570, 0.1609, 0.1657},
29823 {0.0000, 0.3733, 0.1571, 0.4697}},
29824 {
29825 {0.1117, 0.3731, 0.3996, 0.1156},
29826 {0.2326, 0.4663, 0.0372, 0.2639},
29827 {0.0960, 0.3936, 0.2788, 0.2316},
29828 {0.0314, 0.5608, 0.1737, 0.2341}},
29829 {
29830 {0.3242, 0.1733, 0.2553, 0.2471},
29831 {0.3450, 0.3280, 0.2246, 0.1024},
29832 {0.4583, 0.1190, 0.3377, 0.0850},
29833 {0.3893, 0.1690, 0.4005, 0.0412}},
29834 {
29835 {0.1701, 0.3362, 0.0996, 0.3941},
29836 {0.4474, 0.1214, 0.0392, 0.3920},
29837 {0.2554, 0.1920, 0.4209, 0.1318},
29838 {0.0924, 0.3688, 0.0890, 0.4498}},
29839 {
29840 {0.1468, 0.2178, 0.4041, 0.2313},
29841 {0.2594, 0.2901, 0.1907, 0.2598},
29842 {0.1094, 0.5236, 0.1021, 0.2650},
29843 {0.0292, 0.4827, 0.2605, 0.2276}},
29844 {
29845 {0.0666, 0.3569, 0.4322, 0.1443},
29846 {0.2903, 0.2452, 0.3176, 0.1468},
29847 {0.2155, 0.2282, 0.5185, 0.0379},
29848 {0.1170, 0.1807, 0.6648, 0.0374}},
29849 {
29850 {0.3106, 0.1378, 0.1892, 0.3624},
29851 {0.3498, 0.1966, 0.1947, 0.2588},
29852 {0.2786, 0.3405, 0.1796, 0.2013},
29853 {0.4026, 0.3941, 0.0000, 0.2033}},
29854 {
29855 {0.2019, 0.2040, 0.3852, 0.2089},
29856 {0.3722, 0.2428, 0.2122, 0.1728},
29857 {0.0000, 0.5035, 0.2718, 0.2247},
29858 {0.0744, 0.4066, 0.2574, 0.2615}},
29859 {
29860 {0.3537, 0.1061, 0.4440, 0.0962},
29861 {0.3177, 0.1454, 0.3911, 0.1458},
29862 {0.2890, 0.3260, 0.1580, 0.2270},
29863 {0.1333, 0.3451, 0.4383, 0.0834}},
29864 {
29865 {0.2326, 0.2048, 0.2002, 0.3623},
29866 {0.0391, 0.1157, 0.1973, 0.6478},
29867 {0.2754, 0.1046, 0.2703, 0.3496},
29868 {0.4901, 0.2530, 0.0635, 0.1934}},
29869 {
29870 {0.2350, 0.3015, 0.3125, 0.1510},
29871 {0.1717, 0.4723, 0.2377, 0.1182},
29872 {0.1423, 0.4531, 0.1275, 0.2771},
29873 {0.0942, 0.3964, 0.1591, 0.3503}},
29874 {
29875 {0.1870, 0.0638, 0.4383, 0.3109},
29876 {0.2539, 0.2330, 0.3272, 0.1859},
29877 {0.0472, 0.1835, 0.6376, 0.1317},
29878 {0.1810, 0.2248, 0.4484, 0.1458}},
29879 {
29880 {0.4522, 0.1506, 0.1999, 0.1973},
29881 {0.4290, 0.1371, 0.0504, 0.3835},
29882 {0.2991, 0.1016, 0.3642, 0.2350},
29883 {0.1974, 0.3581, 0.1532, 0.2912}},
29884 {
29885 {0.1055, 0.4164, 0.1952, 0.2828},
29886 {0.1700, 0.2174, 0.2218, 0.3908},
29887 {0.1585, 0.2775, 0.2812, 0.2827},
29888 {0.0000, 0.4439, 0.2049, 0.3512}},
29889 {
29890 {0.3627, 0.0905, 0.3728, 0.1740},
29891 {0.2574, 0.1811, 0.1560, 0.4055},
29892 {0.2464, 0.2119, 0.4162, 0.1255},
29893 {0.0848, 0.2083, 0.4136, 0.2933}},
29894 {
29895 {0.3504, 0.3451, 0.1318, 0.1727},
29896 {0.2495, 0.1468, 0.1973, 0.4064},
29897 {0.2634, 0.3552, 0.1742, 0.2073},
29898 {0.0650, 0.4153, 0.1630, 0.3567}},
29899 {
29900 {0.2101, 0.5417, 0.2085, 0.0398},
29901 {0.3000, 0.3051, 0.1433, 0.2515},
29902 {0.1633, 0.2810, 0.2788, 0.2768},
29903 {0.1308, 0.4931, 0.1741, 0.2021}},
29904 {
29905 {0.2610, 0.2599, 0.3473, 0.1318},
29906 {0.2741, 0.3382, 0.3179, 0.0698},
29907 {0.3038, 0.2916, 0.2480, 0.1566},
29908 {0.1383, 0.0984, 0.5287, 0.2346}},
29909 {
29910 {0.2969, 0.1886, 0.1430, 0.3714},
29911 {0.3765, 0.1758, 0.1362, 0.3115},
29912 {0.2909, 0.2071, 0.2401, 0.2620},
29913 {0.0000, 0.4908, 0.2190, 0.2902}},
29914 {
29915 {0.0669, 0.3981, 0.3641, 0.1708},
29916 {0.2750, 0.3201, 0.2464, 0.1585},
29917 {0.2538, 0.3527, 0.2940, 0.0995},
29918 {0.1231, 0.5403, 0.3060, 0.0306}},
29919 {
29920 {0.3423, 0.1609, 0.3292, 0.1676},
29921 {0.3350, 0.2638, 0.2235, 0.1776},
29922 {0.1839, 0.3945, 0.2688, 0.1527},
29923 {0.0000, 0.1671, 0.7597, 0.0733}},
29924 {
29925 {0.4043, 0.1885, 0.1515, 0.2556},
29926 {0.1660, 0.4322, 0.1347, 0.2671},
29927 {0.2671, 0.3533, 0.1746, 0.2050},
29928 {0.3568, 0.1784, 0.2328, 0.2320}},
29929 {
29930 {0.0954, 0.3555, 0.2555, 0.2936},
29931 {0.2441, 0.3070, 0.2425, 0.2064},
29932 {0.1066, 0.3353, 0.3324, 0.2256},
29933 {0.0780, 0.3787, 0.2324, 0.3109}},
29934 {
29935 {0.4692, 0.2045, 0.1335, 0.1928},
29936 {0.3247, 0.1352, 0.4311, 0.1091},
29937 {0.3523, 0.1833, 0.3915, 0.0729},
29938 {0.1786, 0.3931, 0.2508, 0.1776}},
29939 {
29940 {0.3264, 0.2096, 0.1453, 0.3187},
29941 {0.0834, 0.5810, 0.0838, 0.2518},
29942 {0.2856, 0.4102, 0.1641, 0.1402},
29943 {0.1500, 0.2178, 0.0713, 0.5609}},
29944 {
29945 {0.1605, 0.1626, 0.5127, 0.1642},
29946 {0.1797, 0.4296, 0.1818, 0.2089},
29947 {0.3613, 0.2854, 0.2166, 0.1368},
29948 {0.0981, 0.4977, 0.1698, 0.2344}},
29949 {
29950 {0.4647, 0.0516, 0.2704, 0.2132},
29951 {0.4202, 0.1723, 0.1271, 0.2805},
29952 {0.1852, 0.2887, 0.4186, 0.1075},
29953 {0.3319, 0.0000, 0.6681, 0.0000}},
29954 {
29955 {0.3640, 0.2649, 0.1608, 0.2103},
29956 {0.1905, 0.3749, 0.0595, 0.3751},
29957 {0.2234, 0.2188, 0.3342, 0.2236},
29958 {0.2186, 0.1664, 0.4465, 0.1685}},
29959 {
29960 {0.1721, 0.2419, 0.4156, 0.1705},
29961 {0.2259, 0.4068, 0.1859, 0.1813},
29962 {0.1874, 0.3736, 0.1116, 0.3274},
29963 {0.0798, 0.3561, 0.3619, 0.2023}},
29964 {
29965 {0.1116, 0.1105, 0.3313, 0.4466},
29966 {0.2397, 0.2680, 0.3025, 0.1897},
29967 {0.4446, 0.1736, 0.1754, 0.2064},
29968 {0.0419, 0.2540, 0.5840, 0.1201}},
29969 {
29970 {0.3216, 0.0810, 0.1227, 0.4747},
29971 {0.3459, 0.1759, 0.1754, 0.3028},
29972 {0.1404, 0.2787, 0.3862, 0.1947},
29973 {0.2906, 0.3777, 0.1247, 0.2070}},
29974 {
29975 {0.1431, 0.4280, 0.1785, 0.2505},
29976 {0.1971, 0.5601, 0.0796, 0.1632},
29977 {0.2940, 0.2154, 0.1657, 0.3249},
29978 {0.1283, 0.5128, 0.2283, 0.1305}},
29979 {
29980 {0.1542, 0.1509, 0.4511, 0.2438},
29981 {0.2554, 0.1460, 0.3206, 0.2780},
29982 {0.1659, 0.3918, 0.2754, 0.1669},
29983 {0.1756, 0.2206, 0.4763, 0.1275}},
29984 {
29985 {0.4062, 0.1337, 0.1396, 0.3205},
29986 {0.4089, 0.0458, 0.3175, 0.2279},
29987 {0.2953, 0.1773, 0.3033, 0.2241},
29988 {0.2426, 0.0417, 0.4210, 0.2947}},
29989 {
29990 {0.0807, 0.2191, 0.3964, 0.3038},
29991 {0.2503, 0.4993, 0.0000, 0.2504},
29992 {0.3800, 0.2233, 0.2086, 0.1881},
29993 {0.0686, 0.3880, 0.2195, 0.3238}},
29994 {
29995 {0.4507, 0.1979, 0.3026, 0.0487},
29996 {0.2189, 0.1502, 0.3189, 0.3120},
29997 {0.3671, 0.1081, 0.2615, 0.2633},
29998 {0.1675, 0.2077, 0.3824, 0.2424}},
29999 {
30000 {0.3189, 0.2269, 0.0300, 0.4243},
30001 {0.3871, 0.3921, 0.1072, 0.1136},
30002 {0.2920, 0.2664, 0.2343, 0.2072},
30003 {0.3202, 0.2840, 0.1136, 0.2823}},
30004 {
30005 {0.2327, 0.3706, 0.1972, 0.1995},
30006 {0.3424, 0.1977, 0.1948, 0.2651},
30007 {0.3654, 0.4215, 0.2131, 0.0000},
30008 {0.0725, 0.4759, 0.2109, 0.2407}},
30009 {
30010 {0.2848, 0.1581, 0.4404, 0.1166},
30011 {0.5136, 0.1280, 0.2040, 0.1544},
30012 {0.3586, 0.3243, 0.2721, 0.0449},
30013 {0.1848, 0.3199, 0.4078, 0.0875}},
30014 {
30015 {0.4876, 0.4127, 0.0231, 0.0766},
30016 {0.3521, 0.3459, 0.0879, 0.2140},
30017 {0.4994, 0.2976, 0.1755, 0.0274},
30018 {0.1664, 0.3290, 0.1733, 0.3314}},
30019 {
30020 {0.3734, 0.2416, 0.1113, 0.2737},
30021 {0.2382, 0.2094, 0.1024, 0.4500},
30022 {0.7177, 0.0000, 0.1920, 0.0903},
30023 {0.1569, 0.3839, 0.3081, 0.1511}},
30024 {
30025 {0.0275, 0.0286, 0.8892, 0.0547},
30026 {0.0785, 0.0431, 0.8784, 0.0000},
30027 {0.1279, 0.0000, 0.8721, 0.0000},
30028 {0.0607, 0.0321, 0.8774, 0.0298}},
30029 {
30030 {0.0000, 0.0000, 1.0000, 0.0000},
30031 {0.0000, 0.0000, 1.0000, 0.0000},
30032 {0.0000, 0.0000, 1.0000, 0.0000},
30033 {0.0000, 0.0000, 1.0000, 0.0000}},
30034 {
30035 {0.0000, 0.0000, 0.0000, 0.0000},
30036 {0.0000, 0.0000, 0.0000, 0.0000},
30037 {0.0000, 0.0000, 0.0000, 1.0000},
30038 {0.0000, 0.0000, 0.0000, 0.0000}},
30039 {
30040 {0.0000, 0.0000, 0.0000, 0.0000},
30041 {0.0000, 0.0000, 0.0000, 0.0000},
30042 {0.0000, 0.0000, 0.0000, 0.0000},
30043 {0.6022, 0.0545, 0.2290, 0.1143}},
30044 {
30045 {0.5246, 0.3075, 0.0306, 0.1373},
30046 {0.3299, 0.3369, 0.1666, 0.1666},
30047 {0.4460, 0.4310, 0.0000, 0.1230},
30048 {0.4237, 0.0829, 0.2488, 0.2445}},
30049 {
30050 {0.1402, 0.1162, 0.5701, 0.1735},
30051 {0.1778, 0.0585, 0.7637, 0.0000},
30052 {0.1703, 0.3400, 0.4897, 0.0000},
30053 {0.1239, 0.1886, 0.4374, 0.2502}},
30054 {
30055 {0.3786, 0.1896, 0.1279, 0.3039},
30056 {0.3099, 0.3055, 0.0768, 0.3078},
30057 {0.1819, 0.1035, 0.0906, 0.6240},
30058 {0.2306, 0.0000, 0.5352, 0.2342}},
30059 {
30060 {0.1593, 0.4002, 0.1616, 0.2788},
30061 {0.2902, 0.4273, 0.0647, 0.2178},
30062 {0.3197, 0.1902, 0.0628, 0.4273},
30063 {0.3208, 0.1142, 0.1868, 0.3783}},
30064 {
30065 {0.2654, 0.3273, 0.0990, 0.3083},
30066 {0.1615, 0.4422, 0.0000, 0.3964},
30067 {0.0000, 0.6245, 0.0000, 0.3755},
30068 {0.2141, 0.2184, 0.2207, 0.3468}},
30069 {
30070 {0.1534, 0.3989, 0.0993, 0.3485},
30071 {0.2829, 0.2564, 0.2517, 0.2090},
30072 {0.0000, 0.2706, 0.5543, 0.1751},
30073 {0.1052, 0.3169, 0.1588, 0.4191}},
30074 {
30075 {0.3345, 0.3305, 0.0000, 0.3350},
30076 {0.2184, 0.3866, 0.1491, 0.2460},
30077 {0.2476, 0.2492, 0.0416, 0.4616},
30078 {0.2689, 0.2500, 0.3001, 0.1809}},
30079 {
30080 {0.2478, 0.1439, 0.0721, 0.5362},
30081 {0.2407, 0.2106, 0.1494, 0.3993},
30082 {0.3725, 0.1271, 0.0000, 0.5004},
30083 {0.1303, 0.3230, 0.1599, 0.3868}},
30084 {
30085 {0.0793, 0.4034, 0.1142, 0.4032},
30086 {0.2571, 0.2611, 0.1338, 0.3480},
30087 {0.0836, 0.4964, 0.0000, 0.4200},
30088 {0.1687, 0.1674, 0.2059, 0.4580}},
30089 {
30090 {0.1747, 0.1723, 0.2404, 0.4125},
30091 {0.2305, 0.3006, 0.1389, 0.3299},
30092 {0.3683, 0.1267, 0.2405, 0.2645},
30093 {0.1343, 0.2896, 0.1343, 0.4418}},
30094 {
30095 {0.2257, 0.2287, 0.1367, 0.4089},
30096 {0.0749, 0.4072, 0.1140, 0.4040},
30097 {0.1680, 0.4366, 0.1169, 0.2785},
30098 {0.2940, 0.1942, 0.1998, 0.3121}},
30099 {
30100 {0.1814, 0.4049, 0.2307, 0.1830},
30101 {0.1891, 0.1632, 0.1248, 0.5230},
30102 {0.2513, 0.1905, 0.1266, 0.4316},
30103 {0.2879, 0.2632, 0.0546, 0.3943}},
30104 {
30105 {0.2791, 0.3601, 0.0801, 0.2807},
30106 {0.2892, 0.1493, 0.0346, 0.5270},
30107 {0.1537, 0.7013, 0.1449, 0.0000},
30108 {0.1624, 0.3052, 0.1892, 0.3432}},
30109 {
30110 {0.1692, 0.2898, 0.1256, 0.4154},
30111 {0.1459, 0.3090, 0.1134, 0.4317},
30112 {0.0771, 0.4617, 0.0000, 0.4611},
30113 {0.0839, 0.3624, 0.1681, 0.3856}},
30114 {
30115 {0.2251, 0.2360, 0.1596, 0.3794},
30116 {0.2453, 0.2425, 0.1634, 0.3488},
30117 {0.1452, 0.5411, 0.1553, 0.1584},
30118 {0.2892, 0.3152, 0.1341, 0.2615}},
30119 {
30120 {0.1135, 0.3691, 0.0757, 0.4416},
30121 {0.1205, 0.2686, 0.1559, 0.4550},
30122 {0.2452, 0.1840, 0.0000, 0.5708},
30123 {0.0662, 0.2467, 0.3504, 0.3367}},
30124 {
30125 {0.3056, 0.2384, 0.0775, 0.3785},
30126 {0.3725, 0.1629, 0.0656, 0.3990},
30127 {0.2246, 0.3850, 0.0548, 0.3356},
30128 {0.0849, 0.2358, 0.1927, 0.4866}},
30129 {
30130 {0.2578, 0.1717, 0.1805, 0.3900},
30131 {0.0757, 0.3492, 0.2301, 0.3450},
30132 {0.1571, 0.2267, 0.1509, 0.4653},
30133 {0.2595, 0.1291, 0.1110, 0.5005}},
30134 {
30135 {0.1387, 0.2762, 0.0935, 0.4916},
30136 {0.3591, 0.3201, 0.0464, 0.2744},
30137 {0.3529, 0.2426, 0.1165, 0.2880},
30138 {0.1059, 0.2767, 0.2737, 0.3437}},
30139 {
30140 {0.4098, 0.1338, 0.1373, 0.3190},
30141 {0.3273, 0.2636, 0.1028, 0.3063},
30142 {0.5045, 0.2170, 0.0570, 0.2215},
30143 {0.1805, 0.4500, 0.1860, 0.1836}},
30144 {
30145 {0.1134, 0.2311, 0.2249, 0.4307},
30146 {0.2174, 0.2795, 0.0313, 0.4717},
30147 {0.2783, 0.5049, 0.2168, 0.0000},
30148 {0.1483, 0.2574, 0.1500, 0.4443}},
30149 {
30150 {0.0990, 0.2134, 0.3176, 0.3701},
30151 {0.1905, 0.4531, 0.1304, 0.2260},
30152 {0.3719, 0.2444, 0.0670, 0.3167},
30153 {0.2137, 0.1901, 0.2831, 0.3131}},
30154 {
30155 {0.2991, 0.2209, 0.1788, 0.3013},
30156 {0.2006, 0.2703, 0.0982, 0.4308},
30157 {0.1753, 0.1342, 0.1718, 0.5187},
30158 {0.2516, 0.1508, 0.2221, 0.3755}},
30159 {
30160 {0.0821, 0.2838, 0.2731, 0.3611},
30161 {0.1422, 0.3235, 0.1940, 0.3402},
30162 {0.3867, 0.2282, 0.1090, 0.2761},
30163 {0.2261, 0.1788, 0.1178, 0.4773}},
30164 {
30165 {0.3156, 0.2747, 0.0912, 0.3185},
30166 {0.1959, 0.1944, 0.3022, 0.3075},
30167 {0.1169, 0.2778, 0.1692, 0.4361},
30168 {0.1208, 0.2354, 0.2365, 0.4074}},
30169 {
30170 {0.2121, 0.0000, 0.2623, 0.5256},
30171 {0.3841, 0.1507, 0.1909, 0.2744},
30172 {0.4340, 0.1746, 0.1313, 0.2600},
30173 {0.2261, 0.2738, 0.3019, 0.1983}},
30174 {
30175 {0.1244, 0.4254, 0.0589, 0.3912},
30176 {0.2034, 0.3674, 0.1074, 0.3218},
30177 {0.3597, 0.1251, 0.2412, 0.2741},
30178 {0.1626, 0.2251, 0.1902, 0.4220}},
30179 {
30180 {0.2221, 0.0472, 0.2315, 0.4993},
30181 {0.1944, 0.2238, 0.0335, 0.5483},
30182 {0.2509, 0.3062, 0.0639, 0.3791},
30183 {0.1525, 0.1784, 0.3325, 0.3365}},
30184 {
30185 {0.2856, 0.1948, 0.1002, 0.4194},
30186 {0.2434, 0.3008, 0.1532, 0.3026},
30187 {0.2973, 0.2532, 0.1489, 0.3006},
30188 {0.1887, 0.2327, 0.2993, 0.2793}},
30189 {
30190 {0.0000, 0.1528, 0.2302, 0.6170},
30191 {0.1489, 0.2295, 0.1888, 0.4329},
30192 {0.1767, 0.2305, 0.0910, 0.5018},
30193 {0.2364, 0.1475, 0.2063, 0.4099}},
30194 {
30195 {0.3735, 0.1248, 0.0629, 0.4387},
30196 {0.2508, 0.1994, 0.1474, 0.4024},
30197 {0.2065, 0.2465, 0.2953, 0.2517},
30198 {0.1349, 0.2328, 0.2476, 0.3847}},
30199 {
30200 {0.1808, 0.2256, 0.0875, 0.5061},
30201 {0.2185, 0.3074, 0.2176, 0.2565},
30202 {0.3512, 0.1291, 0.2567, 0.2631},
30203 {0.1462, 0.3016, 0.2526, 0.2996}},
30204 {
30205 {0.0905, 0.1749, 0.3885, 0.3461},
30206 {0.3352, 0.0375, 0.1482, 0.4791},
30207 {0.1810, 0.2481, 0.0880, 0.4828},
30208 {0.1733, 0.2280, 0.1970, 0.4017}},
30209 {
30210 {0.1462, 0.1870, 0.3348, 0.3320},
30211 {0.4282, 0.2670, 0.0988, 0.2060},
30212 {0.2292, 0.2264, 0.3190, 0.2254},
30213 {0.1949, 0.2790, 0.1758, 0.3503}},
30214 {
30215 {0.2347, 0.2047, 0.3226, 0.2380},
30216 {0.2620, 0.3357, 0.1434, 0.2589},
30217 {0.2504, 0.1260, 0.2522, 0.3714},
30218 {0.1798, 0.2225, 0.2825, 0.3152}},
30219 {
30220 {0.2407, 0.0742, 0.1990, 0.4861},
30221 {0.3342, 0.0859, 0.1257, 0.4542},
30222 {0.1488, 0.2594, 0.1117, 0.4801},
30223 {0.2493, 0.1841, 0.0928, 0.4739}},
30224 {
30225 {0.1516, 0.3010, 0.2754, 0.2719},
30226 {0.3648, 0.1758, 0.1136, 0.3457},
30227 {0.0679, 0.1480, 0.3551, 0.4289},
30228 {0.1351, 0.2376, 0.2804, 0.3469}},
30229 {
30230 {0.1701, 0.3410, 0.1079, 0.3810},
30231 {0.2070, 0.2777, 0.2090, 0.3063},
30232 {0.3183, 0.2851, 0.1082, 0.2884},
30233 {0.2692, 0.1881, 0.1891, 0.3535}},
30234 {
30235 {0.2947, 0.2594, 0.2179, 0.2279},
30236 {0.2172, 0.3254, 0.1385, 0.3188},
30237 {0.2319, 0.2873, 0.1812, 0.2997},
30238 {0.1357, 0.1948, 0.2537, 0.4158}},
30239 {
30240 {0.0860, 0.3482, 0.2664, 0.2995},
30241 {0.2827, 0.2533, 0.1088, 0.3552},
30242 {0.2751, 0.2210, 0.2320, 0.2720},
30243 {0.1200, 0.2581, 0.2545, 0.3674}},
30244 {
30245 {0.1967, 0.3529, 0.1012, 0.3492},
30246 {0.1420, 0.3108, 0.2404, 0.3068},
30247 {0.2612, 0.3499, 0.0870, 0.3019},
30248 {0.1366, 0.1089, 0.1938, 0.5607}},
30249 {
30250 {0.3610, 0.1564, 0.1075, 0.3751},
30251 {0.3248, 0.1787, 0.0725, 0.4240},
30252 {0.2753, 0.3373, 0.1124, 0.2750},
30253 {0.2262, 0.1904, 0.2135, 0.3699}},
30254 {
30255 {0.3880, 0.1639, 0.2186, 0.2295},
30256 {0.3670, 0.1856, 0.1736, 0.2738},
30257 {0.3319, 0.1341, 0.2660, 0.2680},
30258 {0.2267, 0.2944, 0.2290, 0.2499}},
30259 {
30260 {0.2705, 0.1414, 0.1480, 0.4400},
30261 {0.1779, 0.1740, 0.3027, 0.3454},
30262 {0.0817, 0.2424, 0.2916, 0.3843},
30263 {0.2960, 0.1102, 0.2230, 0.3709}},
30264 {
30265 {0.3057, 0.2188, 0.1318, 0.3436},
30266 {0.2805, 0.1076, 0.1143, 0.4976},
30267 {0.1168, 0.3172, 0.1635, 0.4025},
30268 {0.2889, 0.2087, 0.1929, 0.3096}},
30269 {
30270 {0.2165, 0.2266, 0.2238, 0.3331},
30271 {0.2162, 0.1271, 0.1565, 0.5002},
30272 {0.1811, 0.2321, 0.1170, 0.4698},
30273 {0.1699, 0.1266, 0.3016, 0.4019}},
30274 {
30275 {0.1947, 0.1426, 0.3246, 0.3381},
30276 {0.3289, 0.3391, 0.0558, 0.2762},
30277 {0.1999, 0.2516, 0.2087, 0.3398},
30278 {0.1128, 0.2246, 0.2021, 0.4605}},
30279 {
30280 {0.2967, 0.3573, 0.0499, 0.2961},
30281 {0.3156, 0.1605, 0.2011, 0.3228},
30282 {0.1802, 0.3586, 0.0898, 0.3713},
30283 {0.1917, 0.2236, 0.1949, 0.3898}},
30284 {
30285 {0.2315, 0.0751, 0.3079, 0.3855},
30286 {0.2523, 0.2159, 0.1047, 0.4272},
30287 {0.3707, 0.0650, 0.1854, 0.3789},
30288 {0.2101, 0.2357, 0.2149, 0.3393}}},
30289
30290 { /* Splice_Site: T0_GT; Species: Maize */
30291 {
30292 {0.2369, 0.2369, 0.2369, 0.2369},
30293 {0.2017, 0.2017, 0.2017, 0.2017},
30294 {0.3822, 0.3822, 0.3822, 0.3822},
30295 {0.1793, 0.1793, 0.1793, 0.1793}},
30296 {
30297 {0.3833, 0.0923, 0.2410, 0.2834},
30298 {0.3356, 0.2216, 0.1082, 0.3346},
30299 {0.2349, 0.2320, 0.2677, 0.2654},
30300 {0.1842, 0.2529, 0.2539, 0.3090}},
30301 {
30302 {0.1208, 0.3594, 0.2760, 0.2438},
30303 {0.2258, 0.2746, 0.1617, 0.3378},
30304 {0.0984, 0.4440, 0.3039, 0.1537},
30305 {0.0384, 0.3827, 0.3091, 0.2698}},
30306 {
30307 {0.3021, 0.0000, 0.4962, 0.2017},
30308 {0.3641, 0.1489, 0.3634, 0.1235},
30309 {0.1666, 0.2907, 0.2947, 0.2480},
30310 {0.1356, 0.2275, 0.4113, 0.2256}},
30311 {
30312 {0.3171, 0.2320, 0.2748, 0.1761},
30313 {0.4701, 0.2336, 0.1202, 0.1762},
30314 {0.5198, 0.2077, 0.1508, 0.1217},
30315 {0.2963, 0.3603, 0.1159, 0.2274}},
30316 {
30317 {0.1639, 0.2724, 0.2652, 0.2986},
30318 {0.1880, 0.4008, 0.2756, 0.1356},
30319 {0.5401, 0.0666, 0.2594, 0.1339},
30320 {0.1308, 0.2684, 0.3397, 0.2611}},
30321 {
30322 {0.3601, 0.0502, 0.5417, 0.0480},
30323 {0.1669, 0.0850, 0.4144, 0.3337},
30324 {0.4801, 0.1603, 0.2006, 0.1591},
30325 {0.1995, 0.3076, 0.3418, 0.1511}},
30326 {
30327 {0.1894, 0.3276, 0.1098, 0.3732},
30328 {0.3857, 0.4622, 0.1521, 0.0000},
30329 {0.3039, 0.3303, 0.2428, 0.1230},
30330 {0.0602, 0.3758, 0.3148, 0.2492}},
30331 {
30332 {0.1418, 0.2850, 0.2371, 0.3361},
30333 {0.1591, 0.4372, 0.1888, 0.2150},
30334 {0.0581, 0.4986, 0.2827, 0.1607},
30335 {0.1116, 0.3948, 0.1648, 0.3289}},
30336 {
30337 {0.1808, 0.3687, 0.4506, 0.0000},
30338 {0.1913, 0.3074, 0.3054, 0.1958},
30339 {0.2102, 0.2083, 0.4750, 0.1065},
30340 {0.1263, 0.2237, 0.4325, 0.2175}},
30341 {
30342 {0.1898, 0.2449, 0.1262, 0.4392},
30343 {0.2098, 0.3342, 0.0000, 0.4560},
30344 {0.6318, 0.0872, 0.1959, 0.0851},
30345 {0.2798, 0.0713, 0.2888, 0.3601}},
30346 {
30347 {0.0000, 0.2620, 0.5035, 0.2345},
30348 {0.1839, 0.3128, 0.2533, 0.2500},
30349 {0.0786, 0.5354, 0.1535, 0.2325},
30350 {0.0776, 0.3116, 0.3068, 0.3039}},
30351 {
30352 {0.6602, 0.0000, 0.1695, 0.1704},
30353 {0.3145, 0.1343, 0.1718, 0.3794},
30354 {0.2844, 0.1609, 0.4227, 0.1319},
30355 {0.0418, 0.3005, 0.3930, 0.2647}},
30356 {
30357 {0.5201, 0.2155, 0.0887, 0.1757},
30358 {0.4421, 0.1838, 0.1242, 0.2499},
30359 {0.6781, 0.1439, 0.1432, 0.0348},
30360 {0.3643, 0.1802, 0.0954, 0.3601}},
30361 {
30362 {0.0655, 0.2142, 0.5212, 0.1991},
30363 {0.0596, 0.3049, 0.3194, 0.3161},
30364 {0.2069, 0.3042, 0.2962, 0.1927},
30365 {0.1180, 0.5253, 0.1193, 0.2375}},
30366 {
30367 {0.1174, 0.3824, 0.3748, 0.1253},
30368 {0.3643, 0.2651, 0.2216, 0.1490},
30369 {0.1751, 0.2377, 0.3495, 0.2377},
30370 {0.1523, 0.2466, 0.5540, 0.0470}},
30371 {
30372 {0.2537, 0.1495, 0.0962, 0.5006},
30373 {0.2149, 0.2571, 0.0467, 0.4812},
30374 {0.2785, 0.2201, 0.2503, 0.2512},
30375 {0.3637, 0.2836, 0.0729, 0.2798}},
30376 {
30377 {0.1692, 0.3340, 0.2921, 0.2046},
30378 {0.1485, 0.4000, 0.0981, 0.3533},
30379 {0.2553, 0.4101, 0.3346, 0.0000},
30380 {0.0600, 0.4880, 0.2697, 0.1823}},
30381 {
30382 {0.2507, 0.2601, 0.4893, 0.0000},
30383 {0.3533, 0.3207, 0.1337, 0.1923},
30384 {0.2221, 0.2289, 0.3272, 0.2218},
30385 {0.1106, 0.2228, 0.4402, 0.2265}},
30386 {
30387 {0.2608, 0.1714, 0.1766, 0.3913},
30388 {0.1684, 0.3746, 0.0825, 0.3745},
30389 {0.1148, 0.3910, 0.4155, 0.0786},
30390 {0.0640, 0.3127, 0.1836, 0.4397}},
30391 {
30392 {0.0000, 0.2108, 0.3569, 0.4323},
30393 {0.1407, 0.2487, 0.2856, 0.3250},
30394 {0.1951, 0.4022, 0.0999, 0.3028},
30395 {0.0726, 0.5222, 0.2961, 0.1091}},
30396 {
30397 {0.2897, 0.1032, 0.3000, 0.3070},
30398 {0.3458, 0.3074, 0.1545, 0.1923},
30399 {0.2183, 0.3055, 0.3496, 0.1266},
30400 {0.1253, 0.0859, 0.5836, 0.2051}},
30401 {
30402 {0.3696, 0.3190, 0.1328, 0.1786},
30403 {0.3524, 0.1507, 0.1962, 0.3006},
30404 {0.2349, 0.1996, 0.1000, 0.4656},
30405 {0.1810, 0.2919, 0.1140, 0.4131}},
30406 {
30407 {0.1200, 0.1994, 0.5213, 0.1593},
30408 {0.2380, 0.4270, 0.1456, 0.1894},
30409 {0.0826, 0.5050, 0.2484, 0.1640},
30410 {0.0344, 0.3858, 0.2934, 0.2863}},
30411 {
30412 {0.2097, 0.1016, 0.3868, 0.3019},
30413 {0.4999, 0.3124, 0.0316, 0.1560},
30414 {0.2145, 0.1764, 0.5032, 0.1059},
30415 {0.1552, 0.1057, 0.4707, 0.2685}},
30416 {
30417 {0.4107, 0.1090, 0.2617, 0.2186},
30418 {0.2242, 0.1119, 0.2716, 0.3923},
30419 {0.2487, 0.3937, 0.2133, 0.1443},
30420 {0.3136, 0.3105, 0.0632, 0.3127}},
30421 {
30422 {0.1506, 0.1519, 0.2930, 0.4045},
30423 {0.0915, 0.2373, 0.3320, 0.3392},
30424 {0.2577, 0.4228, 0.1597, 0.1597},
30425 {0.3191, 0.5022, 0.1362, 0.0426}},
30426 {
30427 {0.1050, 0.1110, 0.6222, 0.1618},
30428 {0.3601, 0.2129, 0.2876, 0.1394},
30429 {0.0959, 0.3807, 0.3348, 0.1886},
30430 {0.1801, 0.2271, 0.4980, 0.0948}},
30431 {
30432 {0.1716, 0.3270, 0.0564, 0.4450},
30433 {0.2341, 0.3317, 0.1953, 0.2389},
30434 {0.5162, 0.1877, 0.1333, 0.1628},
30435 {0.3018, 0.3755, 0.1595, 0.1632}},
30436 {
30437 {0.1277, 0.2913, 0.3556, 0.2254},
30438 {0.1625, 0.3588, 0.2385, 0.2403},
30439 {0.0000, 0.3247, 0.2506, 0.4247},
30440 {0.2872, 0.5216, 0.0476, 0.1436}},
30441 {
30442 {0.0691, 0.2183, 0.0663, 0.6463},
30443 {0.3594, 0.1840, 0.1873, 0.2694},
30444 {0.0470, 0.2382, 0.5290, 0.1858},
30445 {0.2794, 0.4290, 0.2442, 0.0474}},
30446 {
30447 {0.4028, 0.2965, 0.0515, 0.2491},
30448 {0.1314, 0.3426, 0.0910, 0.4350},
30449 {0.4815, 0.2590, 0.1278, 0.1317},
30450 {0.2224, 0.3462, 0.1714, 0.2600}},
30451 {
30452 {0.2675, 0.3721, 0.1808, 0.1796},
30453 {0.1769, 0.2859, 0.2537, 0.2834},
30454 {0.1956, 0.4050, 0.0966, 0.3028},
30455 {0.0395, 0.5877, 0.1671, 0.2057}},
30456 {
30457 {0.2038, 0.3262, 0.1986, 0.2714},
30458 {0.3070, 0.2492, 0.1943, 0.2495},
30459 {0.1815, 0.3551, 0.1736, 0.2899},
30460 {0.1433, 0.2364, 0.3372, 0.2831}},
30461 {
30462 {0.1978, 0.1518, 0.1979, 0.4525},
30463 {0.2820, 0.2428, 0.1179, 0.3573},
30464 {0.2549, 0.3440, 0.1515, 0.2496},
30465 {0.0810, 0.1656, 0.3401, 0.4133}},
30466 {
30467 {0.1092, 0.1071, 0.6692, 0.1145},
30468 {0.1021, 0.4008, 0.1469, 0.3502},
30469 {0.1148, 0.4992, 0.2781, 0.1079},
30470 {0.1192, 0.5792, 0.2098, 0.0918}},
30471 {
30472 {0.0000, 0.2086, 0.7914, 0.0000},
30473 {0.3486, 0.2571, 0.2606, 0.1336},
30474 {0.4423, 0.4072, 0.1505, 0.0000},
30475 {0.2134, 0.2835, 0.2170, 0.2862}},
30476 {
30477 {0.4677, 0.3143, 0.1100, 0.1080},
30478 {0.2187, 0.2577, 0.1485, 0.3751},
30479 {0.4774, 0.2017, 0.1219, 0.1990},
30480 {0.2157, 0.1122, 0.2266, 0.4456}},
30481 {
30482 {0.2164, 0.1497, 0.3322, 0.3016},
30483 {0.2278, 0.3652, 0.0928, 0.3142},
30484 {0.2452, 0.3395, 0.1673, 0.2480},
30485 {0.1395, 0.5867, 0.0900, 0.1839}},
30486 {
30487 {0.3849, 0.2785, 0.1118, 0.2247},
30488 {0.3616, 0.1390, 0.2001, 0.2993},
30489 {0.3525, 0.2419, 0.4056, 0.0000},
30490 {0.1697, 0.1585, 0.6304, 0.0413}},
30491 {
30492 {0.3943, 0.1385, 0.0340, 0.4332},
30493 {0.0596, 0.4165, 0.1145, 0.4094},
30494 {0.3974, 0.1310, 0.2008, 0.2707},
30495 {0.1435, 0.2278, 0.1343, 0.4945}},
30496 {
30497 {0.2712, 0.3486, 0.2665, 0.1137},
30498 {0.3285, 0.1697, 0.2191, 0.2827},
30499 {0.2732, 0.1816, 0.0000, 0.5452},
30500 {0.0890, 0.3817, 0.2378, 0.2915}},
30501 {
30502 {0.2067, 0.1591, 0.3167, 0.3174},
30503 {0.1852, 0.2238, 0.4048, 0.1862},
30504 {0.1595, 0.1596, 0.4702, 0.2107},
30505 {0.0412, 0.1252, 0.6273, 0.2063}},
30506 {
30507 {0.6138, 0.0000, 0.1543, 0.2319},
30508 {0.2660, 0.2614, 0.1983, 0.2744},
30509 {0.3174, 0.3907, 0.1716, 0.1203},
30510 {0.1011, 0.2921, 0.2518, 0.3550}},
30511 {
30512 {0.1498, 0.2595, 0.3318, 0.2588},
30513 {0.1515, 0.3042, 0.0396, 0.5047},
30514 {0.1167, 0.6505, 0.1184, 0.1144},
30515 {0.1053, 0.3085, 0.2120, 0.3743}},
30516 {
30517 {0.3374, 0.1619, 0.2580, 0.2427},
30518 {0.4735, 0.1542, 0.2481, 0.1242},
30519 {0.3073, 0.1915, 0.3117, 0.1895},
30520 {0.2074, 0.2797, 0.4088, 0.1040}},
30521 {
30522 {0.3351, 0.1333, 0.2016, 0.3299},
30523 {0.3406, 0.2675, 0.2184, 0.1735},
30524 {0.3627, 0.2804, 0.2855, 0.0714},
30525 {0.1476, 0.3854, 0.0733, 0.3937}},
30526 {
30527 {0.2161, 0.3189, 0.3595, 0.1055},
30528 {0.1797, 0.4973, 0.1841, 0.1388},
30529 {0.2618, 0.6307, 0.1074, 0.0000},
30530 {0.1479, 0.5050, 0.1474, 0.1997}},
30531 {
30532 {0.5500, 0.0558, 0.3383, 0.0559},
30533 {0.8129, 0.0229, 0.0707, 0.0935},
30534 {0.6299, 0.1570, 0.2131, 0.0000},
30535 {0.4064, 0.1931, 0.4005, 0.0000}},
30536 {
30537 {0.3195, 0.0000, 0.5812, 0.0993},
30538 {0.4384, 0.0000, 0.5616, 0.0000},
30539 {0.1780, 0.0000, 0.7639, 0.0581},
30540 {0.0000, 0.0000, 1.0000, 0.0000}},
30541 {
30542 {0.0000, 0.0000, 1.0000, 0.0000},
30543 {0.0000, 0.0000, 1.0000, 0.0000},
30544 {0.0000, 0.0000, 1.0000, 0.0000},
30545 {0.0000, 0.0000, 1.0000, 0.0000}},
30546 {
30547 {0.0000, 0.0000, 0.0000, 0.0000},
30548 {0.0000, 0.0000, 0.0000, 0.0000},
30549 {0.0000, 0.0000, 0.0000, 1.0000},
30550 {0.0000, 0.0000, 0.0000, 0.0000}},
30551 {
30552 {0.0000, 0.0000, 0.0000, 0.0000},
30553 {0.0000, 0.0000, 0.0000, 0.0000},
30554 {0.0000, 0.0000, 0.0000, 0.0000},
30555 {0.6625, 0.0451, 0.2252, 0.0672}},
30556 {
30557 {0.4748, 0.1353, 0.1195, 0.2704},
30558 {0.0000, 0.0000, 0.0000, 1.0000},
30559 {0.6036, 0.2411, 0.1011, 0.0541},
30560 {0.5108, 0.3195, 0.0000, 0.1697}},
30561 {
30562 {0.0700, 0.0236, 0.7426, 0.1639},
30563 {0.2021, 0.1262, 0.4700, 0.2018},
30564 {0.1125, 0.2243, 0.5515, 0.1117},
30565 {0.1369, 0.0455, 0.7265, 0.0911}},
30566 {
30567 {0.3957, 0.1987, 0.0000, 0.4056},
30568 {0.3309, 0.0000, 0.3347, 0.3344},
30569 {0.1501, 0.2006, 0.0838, 0.5655},
30570 {0.0777, 0.4591, 0.2290, 0.2342}},
30571 {
30572 {0.2467, 0.2515, 0.0000, 0.5019},
30573 {0.3501, 0.3480, 0.0483, 0.2535},
30574 {0.2914, 0.5068, 0.1008, 0.1010},
30575 {0.3499, 0.0942, 0.2762, 0.2796}},
30576 {
30577 {0.1711, 0.2055, 0.2418, 0.3815},
30578 {0.2021, 0.1488, 0.1470, 0.5021},
30579 {0.2825, 0.4291, 0.1423, 0.1462},
30580 {0.0000, 0.3071, 0.1911, 0.5018}},
30581 {
30582 {0.0710, 0.6195, 0.0000, 0.3095},
30583 {0.2202, 0.1711, 0.1298, 0.4790},
30584 {0.2938, 0.2357, 0.1747, 0.2958},
30585 {0.1690, 0.2497, 0.1648, 0.4165}},
30586 {
30587 {0.1794, 0.1825, 0.2326, 0.4054},
30588 {0.2442, 0.3166, 0.1184, 0.3208},
30589 {0.0000, 0.3370, 0.1571, 0.5058},
30590 {0.2545, 0.2294, 0.1445, 0.3716}},
30591 {
30592 {0.2843, 0.2729, 0.2151, 0.2277},
30593 {0.1744, 0.3514, 0.1256, 0.3487},
30594 {0.4234, 0.1425, 0.0724, 0.3616},
30595 {0.2657, 0.2035, 0.1760, 0.3547}},
30596 {
30597 {0.2066, 0.2932, 0.1262, 0.3740},
30598 {0.1393, 0.2735, 0.1797, 0.4076},
30599 {0.2868, 0.3550, 0.0682, 0.2900},
30600 {0.1364, 0.2768, 0.1758, 0.4110}},
30601 {
30602 {0.1856, 0.1846, 0.0631, 0.5666},
30603 {0.2709, 0.1888, 0.0779, 0.4624},
30604 {0.1607, 0.2245, 0.0000, 0.6148},
30605 {0.1793, 0.2045, 0.2350, 0.3812}},
30606 {
30607 {0.2816, 0.1105, 0.1596, 0.4483},
30608 {0.4426, 0.2778, 0.1109, 0.1687},
30609 {0.0923, 0.2662, 0.1857, 0.4557},
30610 {0.1421, 0.3093, 0.1893, 0.3594}},
30611 {
30612 {0.3008, 0.2525, 0.1460, 0.3007},
30613 {0.1736, 0.2198, 0.3459, 0.2607},
30614 {0.1980, 0.5343, 0.0000, 0.2677},
30615 {0.1259, 0.2937, 0.3537, 0.2266}},
30616 {
30617 {0.2452, 0.2330, 0.0568, 0.4650},
30618 {0.1916, 0.2963, 0.0374, 0.4747},
30619 {0.2735, 0.3172, 0.1344, 0.2749},
30620 {0.2147, 0.2132, 0.1797, 0.3924}},
30621 {
30622 {0.1959, 0.1583, 0.2455, 0.4003},
30623 {0.0830, 0.3774, 0.2106, 0.3290},
30624 {0.2152, 0.2259, 0.1087, 0.4502},
30625 {0.2204, 0.1664, 0.2502, 0.3630}},
30626 {
30627 {0.2490, 0.1884, 0.3147, 0.2478},
30628 {0.2004, 0.3550, 0.0465, 0.3982},
30629 {0.2493, 0.3485, 0.1007, 0.3015},
30630 {0.1492, 0.2402, 0.1818, 0.4287}},
30631 {
30632 {0.2785, 0.3293, 0.0556, 0.3365},
30633 {0.2788, 0.1232, 0.2395, 0.3584},
30634 {0.4263, 0.2867, 0.0727, 0.2142},
30635 {0.1884, 0.2814, 0.2203, 0.3099}},
30636 {
30637 {0.3334, 0.1683, 0.0845, 0.4137},
30638 {0.3258, 0.3118, 0.0440, 0.3185},
30639 {0.0674, 0.2626, 0.4038, 0.2662},
30640 {0.2124, 0.1817, 0.3576, 0.2484}},
30641 {
30642 {0.1880, 0.3568, 0.0914, 0.3638},
30643 {0.2436, 0.1529, 0.0505, 0.5531},
30644 {0.2603, 0.3146, 0.1023, 0.3229},
30645 {0.0349, 0.0000, 0.4293, 0.5358}},
30646 {
30647 {0.1335, 0.3273, 0.1960, 0.3433},
30648 {0.2944, 0.2412, 0.0583, 0.4061},
30649 {0.2302, 0.3000, 0.0594, 0.4104},
30650 {0.2282, 0.2983, 0.2472, 0.2264}},
30651 {
30652 {0.2968, 0.2995, 0.0510, 0.3527},
30653 {0.2365, 0.3116, 0.1155, 0.3364},
30654 {0.1979, 0.3289, 0.1349, 0.3384},
30655 {0.2806, 0.1053, 0.2514, 0.3628}},
30656 {
30657 {0.2158, 0.2173, 0.2162, 0.3507},
30658 {0.1855, 0.1836, 0.1313, 0.4997},
30659 {0.2293, 0.5420, 0.0000, 0.2287},
30660 {0.1938, 0.3563, 0.1286, 0.3213}},
30661 {
30662 {0.2845, 0.4388, 0.0549, 0.2218},
30663 {0.2206, 0.2194, 0.1855, 0.3745},
30664 {0.0852, 0.4982, 0.0788, 0.3379},
30665 {0.1285, 0.4066, 0.1242, 0.3407}},
30666 {
30667 {0.1236, 0.4403, 0.0616, 0.3745},
30668 {0.3630, 0.1234, 0.1815, 0.3322},
30669 {0.0000, 0.3668, 0.1806, 0.4526},
30670 {0.0694, 0.3762, 0.2079, 0.3465}},
30671 {
30672 {0.3080, 0.1330, 0.2522, 0.3068},
30673 {0.3874, 0.1887, 0.1144, 0.3096},
30674 {0.4040, 0.2635, 0.0684, 0.2640},
30675 {0.1882, 0.2501, 0.3773, 0.1844}},
30676 {
30677 {0.1815, 0.0741, 0.2929, 0.4516},
30678 {0.3170, 0.1539, 0.1599, 0.3693},
30679 {0.2020, 0.1473, 0.1453, 0.5054},
30680 {0.2597, 0.1732, 0.2178, 0.3493}},
30681 {
30682 {0.0962, 0.3298, 0.1441, 0.4299},
30683 {0.2523, 0.0832, 0.0837, 0.5808},
30684 {0.2655, 0.3650, 0.0535, 0.3159},
30685 {0.1347, 0.2717, 0.1894, 0.4042}},
30686 {
30687 {0.1411, 0.2668, 0.0663, 0.5259},
30688 {0.2876, 0.3162, 0.0379, 0.3583},
30689 {0.1705, 0.0838, 0.1665, 0.5793},
30690 {0.2408, 0.1908, 0.1355, 0.4329}},
30691 {
30692 {0.1987, 0.2479, 0.0515, 0.5019},
30693 {0.4452, 0.1521, 0.1035, 0.2992},
30694 {0.1088, 0.4442, 0.1130, 0.3339},
30695 {0.2750, 0.0748, 0.1758, 0.4743}},
30696 {
30697 {0.2827, 0.1146, 0.3227, 0.2799},
30698 {0.3997, 0.0000, 0.1988, 0.4015},
30699 {0.1860, 0.4540, 0.1807, 0.1794},
30700 {0.2672, 0.1544, 0.2609, 0.3176}},
30701 {
30702 {0.1995, 0.2384, 0.2012, 0.3610},
30703 {0.2173, 0.4244, 0.0736, 0.2847},
30704 {0.2163, 0.5180, 0.0000, 0.2657},
30705 {0.2226, 0.2635, 0.2557, 0.2583}},
30706 {
30707 {0.0539, 0.1605, 0.3670, 0.4187},
30708 {0.2267, 0.2279, 0.1613, 0.3842},
30709 {0.1537, 0.3107, 0.0775, 0.4581},
30710 {0.1553, 0.1535, 0.1509, 0.5403}},
30711 {
30712 {0.1427, 0.4360, 0.0670, 0.3543},
30713 {0.3290, 0.0556, 0.1640, 0.4514},
30714 {0.1747, 0.3522, 0.1738, 0.2993},
30715 {0.1501, 0.2234, 0.2504, 0.3761}},
30716 {
30717 {0.4055, 0.2380, 0.1783, 0.1782},
30718 {0.1840, 0.3181, 0.1852, 0.3127},
30719 {0.1167, 0.4179, 0.1699, 0.2955},
30720 {0.2758, 0.1807, 0.2371, 0.3065}},
30721 {
30722 {0.4501, 0.1830, 0.1854, 0.1815},
30723 {0.2502, 0.2107, 0.0421, 0.4970},
30724 {0.2275, 0.1133, 0.1668, 0.4924},
30725 {0.1979, 0.2029, 0.2403, 0.3589}},
30726 {
30727 {0.4829, 0.2323, 0.1245, 0.1604},
30728 {0.2475, 0.1892, 0.2484, 0.3149},
30729 {0.2860, 0.2097, 0.2176, 0.2868},
30730 {0.2049, 0.2016, 0.1484, 0.4451}},
30731 {
30732 {0.2169, 0.1490, 0.1120, 0.5222},
30733 {0.4757, 0.2097, 0.0520, 0.2626},
30734 {0.2626, 0.2085, 0.1296, 0.3993},
30735 {0.2191, 0.1054, 0.2874, 0.3881}},
30736 {
30737 {0.3185, 0.1608, 0.0417, 0.4790},
30738 {0.3532, 0.1500, 0.1477, 0.3491},
30739 {0.2815, 0.2141, 0.1413, 0.3631},
30740 {0.1097, 0.2210, 0.1389, 0.5305}},
30741 {
30742 {0.3383, 0.1430, 0.2334, 0.2852},
30743 {0.2962, 0.0593, 0.3526, 0.2920},
30744 {0.1913, 0.2025, 0.1055, 0.5007},
30745 {0.2427, 0.3434, 0.0974, 0.3165}},
30746 {
30747 {0.2916, 0.2094, 0.1216, 0.3775},
30748 {0.2998, 0.0506, 0.0501, 0.5995},
30749 {0.3821, 0.3079, 0.1874, 0.1226},
30750 {0.1724, 0.1056, 0.3454, 0.3765}},
30751 {
30752 {0.0419, 0.2481, 0.1252, 0.5848},
30753 {0.2157, 0.3521, 0.1431, 0.2891},
30754 {0.0583, 0.2346, 0.2927, 0.4144},
30755 {0.3531, 0.2952, 0.0576, 0.2941}},
30756 {
30757 {0.1184, 0.1771, 0.1173, 0.5871},
30758 {0.3588, 0.1968, 0.0411, 0.4033},
30759 {0.3388, 0.2380, 0.1679, 0.2553},
30760 {0.1706, 0.2034, 0.2282, 0.3979}},
30761 {
30762 {0.2841, 0.2375, 0.2430, 0.2354},
30763 {0.6141, 0.0548, 0.0527, 0.2784},
30764 {0.4628, 0.0756, 0.1561, 0.3055},
30765 {0.2146, 0.1895, 0.3254, 0.2705}},
30766 {
30767 {0.1963, 0.2211, 0.2250, 0.3576},
30768 {0.3576, 0.1456, 0.2122, 0.2845},
30769 {0.3064, 0.2045, 0.0497, 0.4394},
30770 {0.1239, 0.1264, 0.3330, 0.4167}},
30771 {
30772 {0.3947, 0.3028, 0.0510, 0.2516},
30773 {0.3729, 0.1834, 0.1877, 0.2560},
30774 {0.1035, 0.3145, 0.2653, 0.3167},
30775 {0.1779, 0.3216, 0.2041, 0.2964}},
30776 {
30777 {0.3175, 0.2288, 0.1830, 0.2707},
30778 {0.2304, 0.0774, 0.1541, 0.5381},
30779 {0.3149, 0.3118, 0.1838, 0.1895},
30780 {0.1553, 0.2412, 0.3612, 0.2423}},
30781 {
30782 {0.2688, 0.3611, 0.0936, 0.2766},
30783 {0.2810, 0.1681, 0.1054, 0.4455},
30784 {0.1050, 0.1974, 0.0000, 0.6976},
30785 {0.3421, 0.1379, 0.1712, 0.3489}},
30786 {
30787 {0.2103, 0.2623, 0.2668, 0.2606},
30788 {0.0530, 0.2123, 0.2041, 0.5306},
30789 {0.1130, 0.1108, 0.0000, 0.7761},
30790 {0.2109, 0.1553, 0.2116, 0.4222}},
30791 {
30792 {0.2673, 0.2662, 0.1409, 0.3256},
30793 {0.1733, 0.1754, 0.2360, 0.4152},
30794 {0.2288, 0.2698, 0.1087, 0.3926},
30795 {0.1777, 0.2581, 0.3584, 0.2059}},
30796 {
30797 {0.5044, 0.1090, 0.1161, 0.2706},
30798 {0.2706, 0.1365, 0.1840, 0.4089},
30799 {0.2700, 0.2296, 0.1371, 0.3633},
30800 {0.3376, 0.1795, 0.1510, 0.3318}}},
30801
30802 { /* Splice_Site: F1_GT; Species: Maize */
30803 {
30804 {0.2435, 0.2435, 0.2435, 0.2435},
30805 {0.2272, 0.2272, 0.2272, 0.2272},
30806 {0.2204, 0.2204, 0.2204, 0.2204},
30807 {0.3089, 0.3089, 0.3089, 0.3089}},
30808 {
30809 {0.1144, 0.2856, 0.4453, 0.1547},
30810 {0.1596, 0.2820, 0.3560, 0.2025},
30811 {0.0995, 0.3990, 0.3351, 0.1663},
30812 {0.0897, 0.3245, 0.3700, 0.2157}},
30813 {
30814 {0.3976, 0.0575, 0.3008, 0.2441},
30815 {0.2535, 0.2383, 0.2978, 0.2104},
30816 {0.2869, 0.2659, 0.2467, 0.2005},
30817 {0.1625, 0.1844, 0.4679, 0.1852}},
30818 {
30819 {0.4404, 0.1729, 0.1535, 0.2332},
30820 {0.3067, 0.2518, 0.1937, 0.2477},
30821 {0.3189, 0.3003, 0.1377, 0.2432},
30822 {0.1886, 0.2628, 0.1807, 0.3679}},
30823 {
30824 {0.0592, 0.3003, 0.4419, 0.1985},
30825 {0.2198, 0.2677, 0.2914, 0.2211},
30826 {0.1142, 0.3128, 0.3576, 0.2154},
30827 {0.0659, 0.3555, 0.3914, 0.1872}},
30828 {
30829 {0.4361, 0.1144, 0.3091, 0.1404},
30830 {0.2898, 0.1655, 0.4409, 0.1038},
30831 {0.3313, 0.2290, 0.2619, 0.1778},
30832 {0.1226, 0.2304, 0.5724, 0.0745}},
30833 {
30834 {0.3995, 0.1854, 0.1473, 0.2677},
30835 {0.2418, 0.2436, 0.2218, 0.2928},
30836 {0.2322, 0.3042, 0.2208, 0.2428},
30837 {0.2058, 0.1935, 0.2390, 0.3617}},
30838 {
30839 {0.2039, 0.3033, 0.2879, 0.2049},
30840 {0.1838, 0.3046, 0.3200, 0.1916},
30841 {0.1946, 0.2678, 0.4272, 0.1103},
30842 {0.0855, 0.3518, 0.3327, 0.2301}},
30843 {
30844 {0.1955, 0.2977, 0.2897, 0.2171},
30845 {0.3109, 0.1427, 0.4127, 0.1337},
30846 {0.2488, 0.2811, 0.3693, 0.1008},
30847 {0.0971, 0.2258, 0.4135, 0.2635}},
30848 {
30849 {0.3008, 0.1215, 0.2127, 0.3650},
30850 {0.2939, 0.2015, 0.2115, 0.2932},
30851 {0.2225, 0.2595, 0.2595, 0.2585},
30852 {0.1663, 0.1897, 0.3423, 0.3016}},
30853 {
30854 {0.1138, 0.3029, 0.4474, 0.1359},
30855 {0.2246, 0.3419, 0.3023, 0.1312},
30856 {0.1443, 0.4212, 0.2018, 0.2328},
30857 {0.1108, 0.3140, 0.3813, 0.1939}},
30858 {
30859 {0.2789, 0.2325, 0.3196, 0.1691},
30860 {0.3011, 0.1784, 0.2779, 0.2426},
30861 {0.2968, 0.2469, 0.3026, 0.1537},
30862 {0.0351, 0.1997, 0.4667, 0.2984}},
30863 {
30864 {0.2822, 0.1965, 0.1921, 0.3293},
30865 {0.2471, 0.2467, 0.1708, 0.3354},
30866 {0.3497, 0.3159, 0.1648, 0.1696},
30867 {0.1415, 0.2291, 0.2765, 0.3529}},
30868 {
30869 {0.1156, 0.3302, 0.4414, 0.1129},
30870 {0.1706, 0.3025, 0.2834, 0.2435},
30871 {0.0769, 0.3390, 0.3332, 0.2509},
30872 {0.1474, 0.3778, 0.3051, 0.1696}},
30873 {
30874 {0.3592, 0.1659, 0.2454, 0.2296},
30875 {0.2629, 0.2147, 0.2702, 0.2522},
30876 {0.1681, 0.3190, 0.3624, 0.1505},
30877 {0.2044, 0.2446, 0.4177, 0.1333}},
30878 {
30879 {0.3020, 0.2779, 0.1537, 0.2664},
30880 {0.2796, 0.2251, 0.2256, 0.2697},
30881 {0.2778, 0.2720, 0.2251, 0.2252},
30882 {0.2024, 0.2899, 0.2078, 0.2999}},
30883 {
30884 {0.1263, 0.4001, 0.2943, 0.1793},
30885 {0.2094, 0.3243, 0.1853, 0.2810},
30886 {0.0993, 0.3250, 0.3197, 0.2560},
30887 {0.0578, 0.4251, 0.3052, 0.2119}},
30888 {
30889 {0.3435, 0.1200, 0.3942, 0.1423},
30890 {0.2376, 0.1822, 0.3313, 0.2490},
30891 {0.2045, 0.3477, 0.2909, 0.1569},
30892 {0.2221, 0.2294, 0.4490, 0.0995}},
30893 {
30894 {0.3489, 0.1387, 0.2329, 0.2794},
30895 {0.2681, 0.2139, 0.1957, 0.3222},
30896 {0.2702, 0.3922, 0.1703, 0.1673},
30897 {0.1857, 0.2873, 0.2237, 0.3033}},
30898 {
30899 {0.1701, 0.2957, 0.3136, 0.2205},
30900 {0.2141, 0.3699, 0.2310, 0.1850},
30901 {0.1798, 0.3524, 0.2908, 0.1770},
30902 {0.0690, 0.4024, 0.3883, 0.1403}},
30903 {
30904 {0.2489, 0.2278, 0.2356, 0.2877},
30905 {0.3718, 0.1225, 0.3539, 0.1518},
30906 {0.2591, 0.2641, 0.2697, 0.2071},
30907 {0.1285, 0.1189, 0.5798, 0.1728}},
30908 {
30909 {0.3725, 0.1834, 0.0988, 0.3453},
30910 {0.2725, 0.2313, 0.2195, 0.2768},
30911 {0.2536, 0.2800, 0.1940, 0.2724},
30912 {0.2176, 0.2462, 0.2119, 0.3242}},
30913 {
30914 {0.1486, 0.3833, 0.3391, 0.1290},
30915 {0.1554, 0.3594, 0.1478, 0.3375},
30916 {0.1447, 0.4485, 0.2904, 0.1165},
30917 {0.1550, 0.3947, 0.2873, 0.1630}},
30918 {
30919 {0.2258, 0.2195, 0.2806, 0.2741},
30920 {0.3083, 0.1584, 0.3154, 0.2179},
30921 {0.2504, 0.3258, 0.3004, 0.1233},
30922 {0.1033, 0.2369, 0.4598, 0.2000}},
30923 {
30924 {0.3638, 0.1580, 0.1506, 0.3275},
30925 {0.2693, 0.1615, 0.1567, 0.4125},
30926 {0.2635, 0.2253, 0.2652, 0.2460},
30927 {0.1901, 0.2063, 0.1570, 0.4465}},
30928 {
30929 {0.0451, 0.3117, 0.4549, 0.1883},
30930 {0.2645, 0.2736, 0.2266, 0.2353},
30931 {0.1255, 0.5082, 0.2634, 0.1029},
30932 {0.1134, 0.3901, 0.3477, 0.1489}},
30933 {
30934 {0.1623, 0.1690, 0.4535, 0.2152},
30935 {0.2982, 0.1808, 0.3038, 0.2172},
30936 {0.2712, 0.2728, 0.3130, 0.1430},
30937 {0.2525, 0.1817, 0.4378, 0.1280}},
30938 {
30939 {0.4066, 0.2492, 0.1701, 0.1741},
30940 {0.2170, 0.2470, 0.2883, 0.2477},
30941 {0.2742, 0.2063, 0.3064, 0.2132},
30942 {0.1486, 0.3717, 0.2006, 0.2791}},
30943 {
30944 {0.0819, 0.3488, 0.4358, 0.1335},
30945 {0.1082, 0.4523, 0.1877, 0.2519},
30946 {0.0864, 0.4630, 0.2322, 0.2185},
30947 {0.1229, 0.2686, 0.4542, 0.1543}},
30948 {
30949 {0.0953, 0.3395, 0.3211, 0.2441},
30950 {0.2698, 0.2104, 0.3572, 0.1626},
30951 {0.2287, 0.2221, 0.3314, 0.2178},
30952 {0.1939, 0.2573, 0.2804, 0.2684}},
30953 {
30954 {0.3998, 0.1181, 0.1479, 0.3343},
30955 {0.3340, 0.3175, 0.1137, 0.2348},
30956 {0.3131, 0.2504, 0.1984, 0.2381},
30957 {0.1408, 0.1842, 0.2671, 0.4079}},
30958 {
30959 {0.1789, 0.4061, 0.3082, 0.1068},
30960 {0.2234, 0.2472, 0.3077, 0.2216},
30961 {0.0636, 0.2870, 0.3909, 0.2584},
30962 {0.0663, 0.3808, 0.3810, 0.1720}},
30963 {
30964 {0.1909, 0.2306, 0.3616, 0.2169},
30965 {0.2254, 0.2364, 0.4108, 0.1274},
30966 {0.2931, 0.2208, 0.2953, 0.1908},
30967 {0.2165, 0.2222, 0.3346, 0.2267}},
30968 {
30969 {0.2797, 0.1863, 0.2540, 0.2800},
30970 {0.2096, 0.2629, 0.2749, 0.2525},
30971 {0.2777, 0.2808, 0.2243, 0.2172},
30972 {0.1124, 0.2742, 0.2351, 0.3783}},
30973 {
30974 {0.0901, 0.3522, 0.4541, 0.1036},
30975 {0.0836, 0.2788, 0.3555, 0.2822},
30976 {0.1261, 0.4299, 0.3070, 0.1371},
30977 {0.0913, 0.3639, 0.3028, 0.2420}},
30978 {
30979 {0.1575, 0.1604, 0.3753, 0.3068},
30980 {0.2976, 0.1732, 0.3499, 0.1793},
30981 {0.1708, 0.3440, 0.3571, 0.1281},
30982 {0.1717, 0.2207, 0.5012, 0.1064}},
30983 {
30984 {0.2816, 0.2941, 0.1725, 0.2518},
30985 {0.2317, 0.2816, 0.1345, 0.3522},
30986 {0.3422, 0.2289, 0.2013, 0.2276},
30987 {0.1503, 0.3289, 0.1650, 0.3558}},
30988 {
30989 {0.0918, 0.4658, 0.3017, 0.1407},
30990 {0.1804, 0.3122, 0.2867, 0.2207},
30991 {0.1603, 0.5410, 0.2098, 0.0889},
30992 {0.0659, 0.3659, 0.3365, 0.2317}},
30993 {
30994 {0.2871, 0.2329, 0.2960, 0.1840},
30995 {0.2596, 0.2700, 0.3319, 0.1384},
30996 {0.2792, 0.2501, 0.3598, 0.1109},
30997 {0.2093, 0.2567, 0.4142, 0.1198}},
30998 {
30999 {0.2836, 0.2212, 0.1632, 0.3320},
31000 {0.1905, 0.3476, 0.1530, 0.3089},
31001 {0.2968, 0.2604, 0.2050, 0.2378},
31002 {0.1394, 0.3632, 0.2535, 0.2439}},
31003 {
31004 {0.1201, 0.3476, 0.3671, 0.1653},
31005 {0.1386, 0.4020, 0.2657, 0.1937},
31006 {0.1102, 0.3372, 0.3426, 0.2099},
31007 {0.0836, 0.4284, 0.2842, 0.2038}},
31008 {
31009 {0.2298, 0.2758, 0.3828, 0.1116},
31010 {0.3156, 0.2574, 0.2404, 0.1867},
31011 {0.2715, 0.2692, 0.3304, 0.1289},
31012 {0.1608, 0.1859, 0.4807, 0.1726}},
31013 {
31014 {0.3135, 0.2519, 0.2200, 0.2145},
31015 {0.2316, 0.2405, 0.1569, 0.3709},
31016 {0.2851, 0.3194, 0.1627, 0.2328},
31017 {0.1546, 0.3417, 0.2729, 0.2308}},
31018 {
31019 {0.1423, 0.3186, 0.3828, 0.1563},
31020 {0.1789, 0.3998, 0.2630, 0.1583},
31021 {0.0591, 0.4950, 0.2780, 0.1679},
31022 {0.1851, 0.3315, 0.3757, 0.1077}},
31023 {
31024 {0.3430, 0.2022, 0.3305, 0.1242},
31025 {0.2919, 0.2410, 0.3294, 0.1378},
31026 {0.2527, 0.2918, 0.3686, 0.0870},
31027 {0.1493, 0.1905, 0.6007, 0.0595}},
31028 {
31029 {0.3358, 0.2095, 0.1743, 0.2804},
31030 {0.2433, 0.2748, 0.1886, 0.2933},
31031 {0.3506, 0.2678, 0.2496, 0.1321},
31032 {0.1174, 0.3679, 0.2036, 0.3111}},
31033 {
31034 {0.1953, 0.2986, 0.3700, 0.1361},
31035 {0.2328, 0.3157, 0.3013, 0.1501},
31036 {0.1939, 0.4174, 0.2068, 0.1819},
31037 {0.0387, 0.4104, 0.3892, 0.1617}},
31038 {
31039 {0.2727, 0.1975, 0.3701, 0.1597},
31040 {0.2556, 0.2213, 0.4029, 0.1201},
31041 {0.2240, 0.3292, 0.3264, 0.1204},
31042 {0.2170, 0.2545, 0.4675, 0.0610}},
31043 {
31044 {0.3503, 0.2178, 0.1636, 0.2683},
31045 {0.2738, 0.2397, 0.1749, 0.3116},
31046 {0.3807, 0.2383, 0.2117, 0.1692},
31047 {0.2805, 0.2580, 0.3286, 0.1330}},
31048 {
31049 {0.1575, 0.2882, 0.2956, 0.2588},
31050 {0.1818, 0.3850, 0.2847, 0.1485},
31051 {0.1693, 0.2969, 0.2363, 0.2975},
31052 {0.0666, 0.3137, 0.4404, 0.1793}},
31053 {
31054 {0.0000, 0.0000, 1.0000, 0.0000},
31055 {0.0000, 0.0000, 1.0000, 0.0000},
31056 {0.0000, 0.0000, 1.0000, 0.0000},
31057 {0.0000, 0.0000, 1.0000, 0.0000}},
31058 {
31059 {0.0000, 0.0000, 0.0000, 0.0000},
31060 {0.0000, 0.0000, 0.0000, 0.0000},
31061 {0.0000, 0.0000, 0.0000, 1.0000},
31062 {0.0000, 0.0000, 0.0000, 0.0000}},
31063 {
31064 {0.0000, 0.0000, 0.0000, 0.0000},
31065 {0.0000, 0.0000, 0.0000, 0.0000},
31066 {0.0000, 0.0000, 0.0000, 0.0000},
31067 {0.1192, 0.3362, 0.3777, 0.1669}},
31068 {
31069 {0.1531, 0.1738, 0.4204, 0.2526},
31070 {0.3159, 0.1944, 0.3028, 0.1869},
31071 {0.2455, 0.3175, 0.3673, 0.0697},
31072 {0.1738, 0.1818, 0.4513, 0.1931}},
31073 {
31074 {0.3392, 0.1732, 0.2013, 0.2863},
31075 {0.2142, 0.2369, 0.2036, 0.3452},
31076 {0.2861, 0.2682, 0.2153, 0.2303},
31077 {0.1144, 0.3834, 0.1819, 0.3203}},
31078 {
31079 {0.1633, 0.3509, 0.3932, 0.0926},
31080 {0.1443, 0.3685, 0.2364, 0.2508},
31081 {0.1049, 0.3959, 0.3682, 0.1310},
31082 {0.0797, 0.4194, 0.3266, 0.1742}},
31083 {
31084 {0.1272, 0.1687, 0.4288, 0.2753},
31085 {0.3249, 0.2598, 0.2996, 0.1157},
31086 {0.2362, 0.2311, 0.4236, 0.1091},
31087 {0.0357, 0.2987, 0.5504, 0.1152}},
31088 {
31089 {0.3113, 0.2286, 0.2208, 0.2393},
31090 {0.1800, 0.3321, 0.2453, 0.2426},
31091 {0.3253, 0.2489, 0.2138, 0.2120},
31092 {0.2337, 0.2905, 0.1869, 0.2889}},
31093 {
31094 {0.1239, 0.3247, 0.4406, 0.1108},
31095 {0.1651, 0.3356, 0.2927, 0.2066},
31096 {0.0812, 0.5580, 0.2765, 0.0843},
31097 {0.0542, 0.3973, 0.3440, 0.2045}},
31098 {
31099 {0.2286, 0.1639, 0.4459, 0.1617},
31100 {0.2878, 0.2616, 0.3270, 0.1237},
31101 {0.2831, 0.2071, 0.3565, 0.1534},
31102 {0.2235, 0.1509, 0.4652, 0.1604}},
31103 {
31104 {0.3428, 0.1962, 0.1914, 0.2696},
31105 {0.3480, 0.2618, 0.0696, 0.3206},
31106 {0.2792, 0.2651, 0.1727, 0.2830},
31107 {0.1912, 0.3240, 0.1238, 0.3610}},
31108 {
31109 {0.1526, 0.4029, 0.2981, 0.1465},
31110 {0.1139, 0.2995, 0.3943, 0.1923},
31111 {0.1827, 0.4693, 0.2070, 0.1411},
31112 {0.0811, 0.4022, 0.3510, 0.1657}},
31113 {
31114 {0.3074, 0.1671, 0.3586, 0.1669},
31115 {0.2558, 0.1846, 0.3845, 0.1751},
31116 {0.2645, 0.2598, 0.3645, 0.1111},
31117 {0.1988, 0.1388, 0.5475, 0.1148}},
31118 {
31119 {0.2746, 0.2271, 0.2033, 0.2950},
31120 {0.2263, 0.2152, 0.1761, 0.3825},
31121 {0.3215, 0.2579, 0.1957, 0.2249},
31122 {0.2760, 0.2274, 0.2988, 0.1978}},
31123 {
31124 {0.0847, 0.3601, 0.3731, 0.1821},
31125 {0.1291, 0.4884, 0.2420, 0.1405},
31126 {0.1582, 0.3675, 0.3004, 0.1738},
31127 {0.0453, 0.3974, 0.4349, 0.1225}},
31128 {
31129 {0.2087, 0.1784, 0.3947, 0.2182},
31130 {0.2805, 0.2688, 0.2700, 0.1807},
31131 {0.2030, 0.2888, 0.2923, 0.2159},
31132 {0.1101, 0.2007, 0.5286, 0.1606}},
31133 {
31134 {0.3845, 0.2506, 0.1516, 0.2133},
31135 {0.2633, 0.2530, 0.1429, 0.3408},
31136 {0.3025, 0.2705, 0.1863, 0.2408},
31137 {0.2176, 0.3137, 0.2055, 0.2632}},
31138 {
31139 {0.1565, 0.3798, 0.2927, 0.1709},
31140 {0.1374, 0.3691, 0.2550, 0.2385},
31141 {0.0854, 0.3908, 0.3223, 0.2015},
31142 {0.0472, 0.4941, 0.2306, 0.2281}},
31143 {
31144 {0.2211, 0.1425, 0.3867, 0.2497},
31145 {0.3483, 0.2448, 0.2902, 0.1167},
31146 {0.3042, 0.2573, 0.2297, 0.2088},
31147 {0.1341, 0.1653, 0.5304, 0.1703}},
31148 {
31149 {0.3197, 0.1906, 0.2762, 0.2135},
31150 {0.2617, 0.2269, 0.1667, 0.3447},
31151 {0.3422, 0.2012, 0.2216, 0.2350},
31152 {0.1387, 0.2702, 0.2037, 0.3874}},
31153 {
31154 {0.1520, 0.3443, 0.3672, 0.1365},
31155 {0.1635, 0.3283, 0.2624, 0.2458},
31156 {0.1323, 0.4878, 0.2268, 0.1532},
31157 {0.1276, 0.3821, 0.3041, 0.1863}},
31158 {
31159 {0.3007, 0.1673, 0.3641, 0.1679},
31160 {0.3489, 0.2590, 0.2826, 0.1095},
31161 {0.1938, 0.2612, 0.3919, 0.1531},
31162 {0.2453, 0.2247, 0.3244, 0.2056}},
31163 {
31164 {0.3968, 0.1800, 0.1858, 0.2374},
31165 {0.2618, 0.2013, 0.1497, 0.3873},
31166 {0.3169, 0.2683, 0.1927, 0.2222},
31167 {0.1819, 0.2656, 0.2301, 0.3224}},
31168 {
31169 {0.1433, 0.3041, 0.3936, 0.1591},
31170 {0.1369, 0.4943, 0.1957, 0.1732},
31171 {0.1285, 0.3846, 0.2750, 0.2119},
31172 {0.0850, 0.3408, 0.3671, 0.2071}},
31173 {
31174 {0.3529, 0.2141, 0.2690, 0.1640},
31175 {0.2773, 0.2605, 0.3580, 0.1042},
31176 {0.2242, 0.2459, 0.4016, 0.1283},
31177 {0.1145, 0.2984, 0.3668, 0.2203}},
31178 {
31179 {0.4180, 0.1752, 0.1808, 0.2261},
31180 {0.3123, 0.3205, 0.1289, 0.2383},
31181 {0.3170, 0.3051, 0.2064, 0.1716},
31182 {0.1285, 0.4056, 0.1987, 0.2673}},
31183 {
31184 {0.1629, 0.3692, 0.2721, 0.1957},
31185 {0.1237, 0.3769, 0.2246, 0.2748},
31186 {0.1048, 0.3471, 0.2967, 0.2515},
31187 {0.0884, 0.3395, 0.3903, 0.1819}},
31188 {
31189 {0.2907, 0.1929, 0.3923, 0.1241},
31190 {0.2771, 0.2056, 0.3072, 0.2101},
31191 {0.2124, 0.1883, 0.4135, 0.1858},
31192 {0.1883, 0.1633, 0.4463, 0.2021}},
31193 {
31194 {0.3064, 0.2048, 0.2004, 0.2884},
31195 {0.3283, 0.1275, 0.2416, 0.3026},
31196 {0.3456, 0.2892, 0.1387, 0.2265},
31197 {0.2517, 0.3826, 0.1623, 0.2034}},
31198 {
31199 {0.1998, 0.3597, 0.2776, 0.1629},
31200 {0.1681, 0.3890, 0.2879, 0.1550},
31201 {0.1502, 0.4139, 0.2619, 0.1740},
31202 {0.1605, 0.3437, 0.3215, 0.1744}},
31203 {
31204 {0.4260, 0.1360, 0.2411, 0.1970},
31205 {0.2385, 0.2494, 0.3514, 0.1607},
31206 {0.2243, 0.2594, 0.2408, 0.2755},
31207 {0.1838, 0.2164, 0.4743, 0.1255}},
31208 {
31209 {0.2879, 0.2068, 0.2226, 0.2826},
31210 {0.2770, 0.2523, 0.1333, 0.3375},
31211 {0.3117, 0.2802, 0.2215, 0.1866},
31212 {0.1927, 0.1864, 0.2970, 0.3239}},
31213 {
31214 {0.0796, 0.4902, 0.2603, 0.1699},
31215 {0.1192, 0.4540, 0.2218, 0.2051},
31216 {0.0640, 0.4619, 0.2449, 0.2292},
31217 {0.0338, 0.4137, 0.4350, 0.1174}},
31218 {
31219 {0.1693, 0.3321, 0.4234, 0.0752},
31220 {0.2918, 0.2223, 0.3471, 0.1388},
31221 {0.2356, 0.2599, 0.3519, 0.1526},
31222 {0.1708, 0.1821, 0.4402, 0.2069}},
31223 {
31224 {0.3907, 0.2128, 0.1727, 0.2238},
31225 {0.3422, 0.2436, 0.1294, 0.2847},
31226 {0.2968, 0.3435, 0.1955, 0.1641},
31227 {0.1165, 0.2360, 0.2231, 0.4244}},
31228 {
31229 {0.1511, 0.3422, 0.3438, 0.1629},
31230 {0.1119, 0.3754, 0.3175, 0.1951},
31231 {0.1368, 0.3443, 0.2037, 0.3152},
31232 {0.0493, 0.3932, 0.3480, 0.2095}},
31233 {
31234 {0.2492, 0.2075, 0.3251, 0.2182},
31235 {0.3008, 0.2389, 0.3115, 0.1487},
31236 {0.1547, 0.2601, 0.4770, 0.1082},
31237 {0.1694, 0.2444, 0.4059, 0.1802}},
31238 {
31239 {0.3059, 0.2335, 0.2445, 0.2160},
31240 {0.2479, 0.2596, 0.1540, 0.3385},
31241 {0.2538, 0.2642, 0.2070, 0.2749},
31242 {0.1172, 0.3823, 0.1773, 0.3232}},
31243 {
31244 {0.2146, 0.3228, 0.3487, 0.1139},
31245 {0.1787, 0.3666, 0.2428, 0.2119},
31246 {0.0751, 0.4262, 0.3241, 0.1746},
31247 {0.1369, 0.4178, 0.3516, 0.0938}},
31248 {
31249 {0.2278, 0.3096, 0.2742, 0.1884},
31250 {0.2610, 0.2221, 0.3221, 0.1947},
31251 {0.1824, 0.2994, 0.3446, 0.1736},
31252 {0.1508, 0.1846, 0.4163, 0.2483}},
31253 {
31254 {0.3135, 0.1213, 0.1920, 0.3731},
31255 {0.2563, 0.1997, 0.2395, 0.3044},
31256 {0.3661, 0.2841, 0.1120, 0.2377},
31257 {0.1971, 0.2706, 0.1456, 0.3867}},
31258 {
31259 {0.1530, 0.4165, 0.2364, 0.1941},
31260 {0.1288, 0.3686, 0.3050, 0.1977},
31261 {0.1076, 0.3556, 0.3009, 0.2359},
31262 {0.1253, 0.4220, 0.2751, 0.1776}},
31263 {
31264 {0.3414, 0.2444, 0.1803, 0.2339},
31265 {0.3654, 0.2544, 0.2081, 0.1721},
31266 {0.1817, 0.2644, 0.3721, 0.1819},
31267 {0.1863, 0.3133, 0.2812, 0.2192}},
31268 {
31269 {0.3316, 0.2347, 0.1232, 0.3105},
31270 {0.2991, 0.1777, 0.1761, 0.3471},
31271 {0.3177, 0.2876, 0.1503, 0.2444},
31272 {0.2295, 0.2652, 0.1460, 0.3592}},
31273 {
31274 {0.1102, 0.3474, 0.3881, 0.1543},
31275 {0.2569, 0.2561, 0.2998, 0.1872},
31276 {0.0582, 0.4052, 0.2699, 0.2667},
31277 {0.0740, 0.4471, 0.2980, 0.1810}},
31278 {
31279 {0.2997, 0.1592, 0.2653, 0.2758},
31280 {0.2952, 0.3113, 0.2816, 0.1119},
31281 {0.2363, 0.2344, 0.3390, 0.1902},
31282 {0.1621, 0.3201, 0.3828, 0.1350}},
31283 {
31284 {0.3428, 0.2292, 0.1216, 0.3064},
31285 {0.2218, 0.2329, 0.1773, 0.3680},
31286 {0.3593, 0.2277, 0.2387, 0.1743},
31287 {0.2708, 0.2645, 0.1132, 0.3516}},
31288 {
31289 {0.0990, 0.3446, 0.4267, 0.1297},
31290 {0.1167, 0.3439, 0.2581, 0.2813},
31291 {0.1023, 0.4919, 0.2836, 0.1222},
31292 {0.1147, 0.4427, 0.2615, 0.1811}},
31293 {
31294 {0.2187, 0.2537, 0.2484, 0.2792},
31295 {0.2610, 0.2550, 0.3172, 0.1668},
31296 {0.2814, 0.2922, 0.2926, 0.1338},
31297 {0.0888, 0.2856, 0.3521, 0.2735}},
31298 {
31299 {0.3803, 0.2184, 0.1254, 0.2759},
31300 {0.2378, 0.2239, 0.2296, 0.3087},
31301 {0.2791, 0.2536, 0.1491, 0.3181},
31302 {0.1271, 0.2711, 0.2327, 0.3691}},
31303 {
31304 {0.0696, 0.3042, 0.5054, 0.1208},
31305 {0.1731, 0.3139, 0.2493, 0.2637},
31306 {0.0502, 0.2838, 0.2924, 0.3737},
31307 {0.1594, 0.3508, 0.3498, 0.1401}},
31308 {
31309 {0.2952, 0.2032, 0.2259, 0.2757},
31310 {0.3083, 0.2179, 0.3727, 0.1011},
31311 {0.2354, 0.2400, 0.3025, 0.2221},
31312 {0.1599, 0.2180, 0.4090, 0.2131}}},
31313
31314 { /* Splice_Site: F2_GT; Species: Maize */
31315 {
31316 {0.2153, 0.2153, 0.2153, 0.2153},
31317 {0.2440, 0.2440, 0.2440, 0.2440},
31318 {0.3053, 0.3053, 0.3053, 0.3053},
31319 {0.2354, 0.2354, 0.2354, 0.2354}},
31320 {
31321 {0.2901, 0.1271, 0.3732, 0.2096},
31322 {0.3286, 0.1518, 0.2584, 0.2612},
31323 {0.2028, 0.2649, 0.3801, 0.1522},
31324 {0.1141, 0.3523, 0.4604, 0.0732}},
31325 {
31326 {0.2700, 0.2287, 0.2344, 0.2669},
31327 {0.1987, 0.2739, 0.1642, 0.3633},
31328 {0.3644, 0.1484, 0.2198, 0.2674},
31329 {0.0000, 0.4139, 0.1597, 0.4264}},
31330 {
31331 {0.2260, 0.1094, 0.5167, 0.1480},
31332 {0.1784, 0.3027, 0.1169, 0.4021},
31333 {0.1780, 0.5020, 0.1826, 0.1375},
31334 {0.1160, 0.1176, 0.3403, 0.4261}},
31335 {
31336 {0.3210, 0.2077, 0.2626, 0.2087},
31337 {0.2315, 0.2708, 0.2685, 0.2292},
31338 {0.2942, 0.3355, 0.1805, 0.1898},
31339 {0.2171, 0.2149, 0.4503, 0.1177}},
31340 {
31341 {0.2010, 0.2431, 0.1371, 0.4188},
31342 {0.2372, 0.2821, 0.3424, 0.1383},
31343 {0.2122, 0.2451, 0.2454, 0.2973},
31344 {0.0950, 0.4088, 0.1958, 0.3004}},
31345 {
31346 {0.2236, 0.0935, 0.4988, 0.1841},
31347 {0.4544, 0.1619, 0.1263, 0.2574},
31348 {0.1936, 0.3532, 0.1893, 0.2640},
31349 {0.2150, 0.2231, 0.2511, 0.3108}},
31350 {
31351 {0.2167, 0.3581, 0.2279, 0.1973},
31352 {0.3075, 0.1338, 0.1764, 0.3823},
31353 {0.2890, 0.2841, 0.3928, 0.0341},
31354 {0.0672, 0.3192, 0.5801, 0.0335}},
31355 {
31356 {0.3376, 0.2890, 0.1697, 0.2037},
31357 {0.2252, 0.2868, 0.1313, 0.3567},
31358 {0.3079, 0.2328, 0.2066, 0.2528},
31359 {0.2374, 0.1109, 0.3467, 0.3049}},
31360 {
31361 {0.1885, 0.1287, 0.3932, 0.2895},
31362 {0.3806, 0.3671, 0.1081, 0.1442},
31363 {0.0885, 0.3707, 0.3207, 0.2201},
31364 {0.0984, 0.3920, 0.3173, 0.1923}},
31365 {
31366 {0.2454, 0.0941, 0.3740, 0.2865},
31367 {0.3797, 0.1763, 0.2670, 0.1770},
31368 {0.3440, 0.2153, 0.3116, 0.1291},
31369 {0.2120, 0.2499, 0.4108, 0.1273}},
31370 {
31371 {0.4952, 0.1761, 0.0622, 0.2665},
31372 {0.2422, 0.1879, 0.1861, 0.3838},
31373 {0.3505, 0.1897, 0.2723, 0.1875},
31374 {0.2638, 0.2147, 0.1030, 0.4185}},
31375 {
31376 {0.1758, 0.1497, 0.4486, 0.2259},
31377 {0.1878, 0.3367, 0.1434, 0.3321},
31378 {0.1095, 0.2785, 0.2297, 0.3823},
31379 {0.0603, 0.1853, 0.4097, 0.3447}},
31380 {
31381 {0.4559, 0.1368, 0.3377, 0.0696},
31382 {0.2963, 0.1697, 0.3707, 0.1634},
31383 {0.2100, 0.1822, 0.4176, 0.1901},
31384 {0.2369, 0.2038, 0.3780, 0.1813}},
31385 {
31386 {0.3732, 0.2949, 0.1636, 0.1684},
31387 {0.2002, 0.1976, 0.2963, 0.3060},
31388 {0.3227, 0.2117, 0.2807, 0.1849},
31389 {0.1679, 0.4468, 0.2176, 0.1677}},
31390 {
31391 {0.1886, 0.1814, 0.4060, 0.2240},
31392 {0.3674, 0.2675, 0.0362, 0.3289},
31393 {0.1837, 0.3074, 0.2536, 0.2553},
31394 {0.1290, 0.1353, 0.5962, 0.1396}},
31395 {
31396 {0.1212, 0.2329, 0.3173, 0.3287},
31397 {0.1591, 0.2802, 0.3222, 0.2385},
31398 {0.2599, 0.2051, 0.2697, 0.2654},
31399 {0.2217, 0.1093, 0.4061, 0.2629}},
31400 {
31401 {0.3654, 0.1848, 0.1815, 0.2683},
31402 {0.2976, 0.2187, 0.2612, 0.2225},
31403 {0.3044, 0.1094, 0.1952, 0.3910},
31404 {0.1990, 0.4012, 0.2342, 0.1656}},
31405 {
31406 {0.1855, 0.2462, 0.3188, 0.2494},
31407 {0.2368, 0.3241, 0.1586, 0.2806},
31408 {0.1602, 0.4558, 0.3014, 0.0826},
31409 {0.1643, 0.2949, 0.1680, 0.3728}},
31410 {
31411 {0.2916, 0.4698, 0.1453, 0.0933},
31412 {0.3086, 0.1393, 0.3616, 0.1905},
31413 {0.2641, 0.2330, 0.3460, 0.1570},
31414 {0.1421, 0.2500, 0.3915, 0.2165}},
31415 {
31416 {0.3937, 0.2888, 0.1729, 0.1446},
31417 {0.4661, 0.1445, 0.1077, 0.2817},
31418 {0.3340, 0.2828, 0.2490, 0.1342},
31419 {0.2120, 0.3173, 0.1037, 0.3670}},
31420 {
31421 {0.1733, 0.1257, 0.4032, 0.2978},
31422 {0.2815, 0.3203, 0.1805, 0.2178},
31423 {0.1552, 0.4738, 0.2111, 0.1599},
31424 {0.0817, 0.4999, 0.2093, 0.2091}},
31425 {
31426 {0.2485, 0.1482, 0.3590, 0.2442},
31427 {0.3076, 0.2573, 0.2336, 0.2016},
31428 {0.2365, 0.1994, 0.5641, 0.0000},
31429 {0.1895, 0.3107, 0.3408, 0.1590}},
31430 {
31431 {0.4979, 0.2523, 0.1085, 0.1414},
31432 {0.3846, 0.1955, 0.0754, 0.3445},
31433 {0.3180, 0.3379, 0.1710, 0.1731},
31434 {0.3111, 0.2487, 0.1251, 0.3151}},
31435 {
31436 {0.2335, 0.2148, 0.3622, 0.1895},
31437 {0.2977, 0.3034, 0.1969, 0.2020},
31438 {0.1497, 0.4307, 0.2080, 0.2115},
31439 {0.1576, 0.3228, 0.3550, 0.1645}},
31440 {
31441 {0.4018, 0.1640, 0.2400, 0.1942},
31442 {0.3495, 0.1844, 0.2156, 0.2505},
31443 {0.2456, 0.2386, 0.3662, 0.1496},
31444 {0.2419, 0.1388, 0.4804, 0.1389}},
31445 {
31446 {0.2359, 0.1499, 0.2282, 0.3860},
31447 {0.2803, 0.1860, 0.1449, 0.3889},
31448 {0.2876, 0.3129, 0.2238, 0.1758},
31449 {0.2859, 0.2381, 0.1457, 0.3303}},
31450 {
31451 {0.1680, 0.2708, 0.2355, 0.3256},
31452 {0.3204, 0.2352, 0.1587, 0.2857},
31453 {0.1364, 0.2654, 0.3644, 0.2338},
31454 {0.0581, 0.3307, 0.2301, 0.3812}},
31455 {
31456 {0.1732, 0.2229, 0.4430, 0.1609},
31457 {0.4892, 0.0648, 0.2225, 0.2234},
31458 {0.3306, 0.1488, 0.3690, 0.1516},
31459 {0.3431, 0.1715, 0.3712, 0.1142}},
31460 {
31461 {0.3346, 0.2021, 0.2304, 0.2328},
31462 {0.3093, 0.1258, 0.3192, 0.2458},
31463 {0.2622, 0.3211, 0.2870, 0.1297},
31464 {0.2782, 0.2182, 0.2827, 0.2208}},
31465 {
31466 {0.2425, 0.3681, 0.2397, 0.1497},
31467 {0.2641, 0.2696, 0.1563, 0.3101},
31468 {0.1311, 0.3302, 0.2693, 0.2693},
31469 {0.0916, 0.2196, 0.2305, 0.4584}},
31470 {
31471 {0.1944, 0.0468, 0.2845, 0.4743},
31472 {0.3267, 0.2039, 0.3212, 0.1482},
31473 {0.0790, 0.1658, 0.4717, 0.2835},
31474 {0.1319, 0.0680, 0.5747, 0.2254}},
31475 {
31476 {0.1479, 0.2826, 0.1423, 0.4272},
31477 {0.2785, 0.3604, 0.2148, 0.1463},
31478 {0.3422, 0.3189, 0.1721, 0.1669},
31479 {0.1695, 0.1757, 0.2769, 0.3779}},
31480 {
31481 {0.0710, 0.3872, 0.1076, 0.4343},
31482 {0.3213, 0.3558, 0.1299, 0.1931},
31483 {0.0468, 0.3618, 0.3738, 0.2177},
31484 {0.0946, 0.3039, 0.2708, 0.3307}},
31485 {
31486 {0.1254, 0.3145, 0.3035, 0.2566},
31487 {0.3309, 0.2040, 0.3124, 0.1527},
31488 {0.2212, 0.2173, 0.2607, 0.3008},
31489 {0.2736, 0.1470, 0.4590, 0.1203}},
31490 {
31491 {0.4494, 0.1375, 0.1383, 0.2748},
31492 {0.1728, 0.2212, 0.1743, 0.4316},
31493 {0.3661, 0.2641, 0.2602, 0.1096},
31494 {0.0969, 0.3822, 0.1457, 0.3752}},
31495 {
31496 {0.1192, 0.2957, 0.3984, 0.1867},
31497 {0.1847, 0.2560, 0.1921, 0.3672},
31498 {0.2291, 0.1907, 0.0963, 0.4839},
31499 {0.1349, 0.4308, 0.1347, 0.2996}},
31500 {
31501 {0.2229, 0.0524, 0.3911, 0.3336},
31502 {0.3194, 0.1778, 0.3003, 0.2025},
31503 {0.2511, 0.2942, 0.3329, 0.1218},
31504 {0.1750, 0.1714, 0.3414, 0.3121}},
31505 {
31506 {0.3360, 0.1401, 0.3343, 0.1895},
31507 {0.3043, 0.2037, 0.2945, 0.1975},
31508 {0.3820, 0.2658, 0.2708, 0.0813},
31509 {0.1080, 0.3408, 0.2199, 0.3313}},
31510 {
31511 {0.1265, 0.4336, 0.1247, 0.3152},
31512 {0.2591, 0.2567, 0.1539, 0.3303},
31513 {0.1981, 0.3847, 0.2268, 0.1904},
31514 {0.3389, 0.2310, 0.2841, 0.1459}},
31515 {
31516 {0.2568, 0.2105, 0.3712, 0.1615},
31517 {0.2369, 0.2646, 0.3965, 0.1020},
31518 {0.2330, 0.2838, 0.1894, 0.2939},
31519 {0.0708, 0.2829, 0.3258, 0.3205}},
31520 {
31521 {0.2735, 0.1895, 0.3544, 0.1825},
31522 {0.4107, 0.1694, 0.2097, 0.2103},
31523 {0.2462, 0.2149, 0.4066, 0.1323},
31524 {0.1298, 0.1740, 0.2551, 0.4410}},
31525 {
31526 {0.1374, 0.1619, 0.3977, 0.3030},
31527 {0.1442, 0.2841, 0.2427, 0.3289},
31528 {0.1736, 0.2776, 0.2603, 0.2884},
31529 {0.1591, 0.3591, 0.2423, 0.2395}},
31530 {
31531 {0.1798, 0.1175, 0.4679, 0.2349},
31532 {0.2984, 0.2036, 0.3643, 0.1337},
31533 {0.2539, 0.2414, 0.2233, 0.2814},
31534 {0.2156, 0.2468, 0.4438, 0.0938}},
31535 {
31536 {0.3365, 0.2882, 0.1478, 0.2275},
31537 {0.3314, 0.3839, 0.0815, 0.2032},
31538 {0.4472, 0.1503, 0.2256, 0.1769},
31539 {0.3995, 0.1546, 0.1954, 0.2505}},
31540 {
31541 {0.1634, 0.3506, 0.2573, 0.2286},
31542 {0.3864, 0.1548, 0.1540, 0.3049},
31543 {0.1091, 0.4760, 0.1548, 0.2601},
31544 {0.0398, 0.4761, 0.2198, 0.2643}},
31545 {
31546 {0.4025, 0.2037, 0.2531, 0.1406},
31547 {0.3100, 0.1041, 0.5118, 0.0741},
31548 {0.2575, 0.2632, 0.2178, 0.2615},
31549 {0.0680, 0.1023, 0.4903, 0.3394}},
31550 {
31551 {0.3865, 0.1800, 0.1454, 0.2880},
31552 {0.2273, 0.1769, 0.2988, 0.2970},
31553 {0.2724, 0.2039, 0.4096, 0.1141},
31554 {0.0495, 0.3155, 0.5011, 0.1339}},
31555 {
31556 {0.1794, 0.1795, 0.2894, 0.3517},
31557 {0.1626, 0.2945, 0.0874, 0.4555},
31558 {0.1086, 0.3154, 0.1594, 0.4167},
31559 {0.0503, 0.3776, 0.4309, 0.1413}},
31560 {
31561 {0.4939, 0.0000, 0.3628, 0.1434},
31562 {0.3205, 0.1570, 0.3989, 0.1235},
31563 {0.1233, 0.2841, 0.5138, 0.0787},
31564 {0.1775, 0.1551, 0.5199, 0.1474}},
31565 {
31566 {0.0000, 0.0000, 1.0000, 0.0000},
31567 {0.0000, 0.0000, 1.0000, 0.0000},
31568 {0.0000, 0.0000, 1.0000, 0.0000},
31569 {0.0000, 0.0000, 1.0000, 0.0000}},
31570 {
31571 {0.0000, 0.0000, 0.0000, 0.0000},
31572 {0.0000, 0.0000, 0.0000, 0.0000},
31573 {0.0000, 0.0000, 0.0000, 1.0000},
31574 {0.0000, 0.0000, 0.0000, 0.0000}},
31575 {
31576 {0.0000, 0.0000, 0.0000, 0.0000},
31577 {0.0000, 0.0000, 0.0000, 0.0000},
31578 {0.0000, 0.0000, 0.0000, 0.0000},
31579 {0.1352, 0.1267, 0.5290, 0.2091}},
31580 {
31581 {0.2002, 0.2037, 0.4076, 0.1885},
31582 {0.1440, 0.2077, 0.2144, 0.4339},
31583 {0.3235, 0.1494, 0.3579, 0.1692},
31584 {0.0419, 0.4752, 0.1694, 0.3135}},
31585 {
31586 {0.1549, 0.2033, 0.2831, 0.3586},
31587 {0.2239, 0.1905, 0.2288, 0.3569},
31588 {0.2025, 0.3880, 0.2644, 0.1451},
31589 {0.1195, 0.2753, 0.3383, 0.2669}},
31590 {
31591 {0.3055, 0.1485, 0.4021, 0.1439},
31592 {0.2999, 0.2630, 0.1700, 0.2671},
31593 {0.3124, 0.1671, 0.4257, 0.0949},
31594 {0.2087, 0.1949, 0.5006, 0.0958}},
31595 {
31596 {0.2270, 0.3226, 0.2275, 0.2228},
31597 {0.3637, 0.1311, 0.2319, 0.2733},
31598 {0.2696, 0.3176, 0.2393, 0.1736},
31599 {0.1142, 0.2331, 0.3612, 0.2915}},
31600 {
31601 {0.1428, 0.1450, 0.4665, 0.2457},
31602 {0.4085, 0.1663, 0.1316, 0.2936},
31603 {0.2510, 0.2501, 0.3210, 0.1778},
31604 {0.1613, 0.2797, 0.3546, 0.2044}},
31605 {
31606 {0.3301, 0.1871, 0.3327, 0.1501},
31607 {0.3432, 0.2642, 0.3465, 0.0461},
31608 {0.3445, 0.1431, 0.3713, 0.1412},
31609 {0.1938, 0.1124, 0.5433, 0.1504}},
31610 {
31611 {0.2949, 0.2083, 0.2887, 0.2081},
31612 {0.2660, 0.2596, 0.2084, 0.2660},
31613 {0.3422, 0.1602, 0.2261, 0.2716},
31614 {0.2091, 0.1443, 0.3525, 0.2941}},
31615 {
31616 {0.1786, 0.1245, 0.3973, 0.2995},
31617 {0.2901, 0.1450, 0.1379, 0.4270},
31618 {0.1726, 0.2408, 0.2050, 0.3816},
31619 {0.1413, 0.2842, 0.3602, 0.2143}},
31620 {
31621 {0.4846, 0.1362, 0.1888, 0.1904},
31622 {0.4056, 0.0952, 0.4097, 0.0896},
31623 {0.1906, 0.2155, 0.4060, 0.1879},
31624 {0.2177, 0.1955, 0.5018, 0.0850}},
31625 {
31626 {0.3922, 0.1852, 0.2702, 0.1525},
31627 {0.2495, 0.1079, 0.2725, 0.3701},
31628 {0.3407, 0.2293, 0.2947, 0.1354},
31629 {0.2681, 0.1319, 0.2024, 0.3976}},
31630 {
31631 {0.1590, 0.1889, 0.3047, 0.3474},
31632 {0.1010, 0.3053, 0.0000, 0.5937},
31633 {0.0965, 0.3024, 0.1973, 0.4038},
31634 {0.1677, 0.2924, 0.2920, 0.2479}},
31635 {
31636 {0.3350, 0.0000, 0.3932, 0.2718},
31637 {0.3451, 0.1731, 0.3793, 0.1025},
31638 {0.2852, 0.2133, 0.2935, 0.2080},
31639 {0.1638, 0.1650, 0.5563, 0.1149}},
31640 {
31641 {0.4513, 0.1724, 0.1714, 0.2049},
31642 {0.1824, 0.2954, 0.2273, 0.2949},
31643 {0.2712, 0.1874, 0.2921, 0.2494},
31644 {0.1192, 0.4121, 0.1732, 0.2956}},
31645 {
31646 {0.2923, 0.1944, 0.3843, 0.1289},
31647 {0.3081, 0.1920, 0.0785, 0.4214},
31648 {0.1551, 0.4209, 0.1539, 0.2702},
31649 {0.2133, 0.1774, 0.3940, 0.2154}},
31650 {
31651 {0.3374, 0.2540, 0.2260, 0.1826},
31652 {0.1480, 0.3324, 0.3640, 0.1556},
31653 {0.2415, 0.2432, 0.3795, 0.1358},
31654 {0.2844, 0.1055, 0.3912, 0.2189}},
31655 {
31656 {0.4393, 0.2061, 0.1770, 0.1776},
31657 {0.1864, 0.2724, 0.3066, 0.2346},
31658 {0.2387, 0.2664, 0.1843, 0.3107},
31659 {0.0529, 0.4741, 0.0000, 0.4730}},
31660 {
31661 {0.4787, 0.0706, 0.2251, 0.2257},
31662 {0.2207, 0.1547, 0.2166, 0.4080},
31663 {0.1448, 0.5569, 0.0978, 0.2006},
31664 {0.1289, 0.3163, 0.3062, 0.2486}},
31665 {
31666 {0.3007, 0.1518, 0.4025, 0.1451},
31667 {0.2526, 0.3187, 0.1773, 0.2514},
31668 {0.2011, 0.2838, 0.3220, 0.1931},
31669 {0.1595, 0.1663, 0.6422, 0.0320}},
31670 {
31671 {0.3159, 0.1606, 0.1926, 0.3309},
31672 {0.2790, 0.1990, 0.2826, 0.2395},
31673 {0.3818, 0.2058, 0.2051, 0.2073},
31674 {0.3482, 0.2360, 0.1811, 0.2347}},
31675 {
31676 {0.0276, 0.2328, 0.3981, 0.3415},
31677 {0.1790, 0.2291, 0.1859, 0.4061},
31678 {0.1247, 0.2134, 0.2471, 0.4148},
31679 {0.1139, 0.2549, 0.3730, 0.2582}},
31680 {
31681 {0.2736, 0.1807, 0.4522, 0.0935},
31682 {0.4255, 0.1195, 0.3023, 0.1528},
31683 {0.4608, 0.1671, 0.2867, 0.0854},
31684 {0.2566, 0.0763, 0.5125, 0.1545}},
31685 {
31686 {0.2765, 0.2481, 0.3008, 0.1746},
31687 {0.2858, 0.2774, 0.0673, 0.3695},
31688 {0.3528, 0.2760, 0.2534, 0.1179},
31689 {0.2876, 0.4951, 0.0000, 0.2173}},
31690 {
31691 {0.0872, 0.2095, 0.2907, 0.4125},
31692 {0.2358, 0.2420, 0.1504, 0.3717},
31693 {0.2071, 0.2876, 0.2944, 0.2109},
31694 {0.0995, 0.4421, 0.3089, 0.1495}},
31695 {
31696 {0.2784, 0.1105, 0.4450, 0.1661},
31697 {0.1243, 0.2949, 0.3254, 0.2554},
31698 {0.2864, 0.1765, 0.3250, 0.2121},
31699 {0.1738, 0.1452, 0.4988, 0.1822}},
31700 {
31701 {0.2568, 0.2586, 0.3121, 0.1725},
31702 {0.3322, 0.2410, 0.1899, 0.2369},
31703 {0.4083, 0.1591, 0.2520, 0.1805},
31704 {0.0841, 0.3538, 0.0885, 0.4736}},
31705 {
31706 {0.1797, 0.3082, 0.3005, 0.2117},
31707 {0.2325, 0.3101, 0.0785, 0.3789},
31708 {0.0847, 0.3256, 0.2971, 0.2926},
31709 {0.1098, 0.4292, 0.1755, 0.2855}},
31710 {
31711 {0.2925, 0.2306, 0.4770, 0.0000},
31712 {0.2344, 0.2377, 0.3158, 0.2120},
31713 {0.1271, 0.3733, 0.2894, 0.2103},
31714 {0.1561, 0.2813, 0.2493, 0.3133}},
31715 {
31716 {0.2715, 0.1309, 0.3685, 0.2291},
31717 {0.2914, 0.2281, 0.1561, 0.3245},
31718 {0.2570, 0.4339, 0.1429, 0.1663},
31719 {0.0000, 0.3965, 0.1270, 0.4765}},
31720 {
31721 {0.2449, 0.1693, 0.4574, 0.1283},
31722 {0.2389, 0.2958, 0.1436, 0.3217},
31723 {0.0985, 0.2882, 0.1903, 0.4229},
31724 {0.0618, 0.3431, 0.3407, 0.2544}},
31725 {
31726 {0.2761, 0.2792, 0.2743, 0.1704},
31727 {0.3529, 0.1581, 0.3916, 0.0974},
31728 {0.2199, 0.3223, 0.3965, 0.0613},
31729 {0.1290, 0.2584, 0.4182, 0.1943}},
31730 {
31731 {0.2585, 0.3327, 0.1843, 0.2246},
31732 {0.2865, 0.2481, 0.1737, 0.2917},
31733 {0.3610, 0.0925, 0.3303, 0.2162},
31734 {0.0704, 0.2940, 0.4193, 0.2162}},
31735 {
31736 {0.0947, 0.1979, 0.3831, 0.3243},
31737 {0.4147, 0.2077, 0.1645, 0.2131},
31738 {0.1664, 0.3666, 0.2708, 0.1963},
31739 {0.1507, 0.2724, 0.3094, 0.2675}},
31740 {
31741 {0.2690, 0.1374, 0.4099, 0.1837},
31742 {0.3881, 0.2042, 0.2052, 0.2025},
31743 {0.2189, 0.2164, 0.3430, 0.2217},
31744 {0.2502, 0.1439, 0.4999, 0.1060}},
31745 {
31746 {0.4181, 0.1632, 0.3556, 0.0631},
31747 {0.2979, 0.1464, 0.0972, 0.4585},
31748 {0.2748, 0.2490, 0.2259, 0.2503},
31749 {0.2975, 0.3521, 0.0965, 0.2539}},
31750 {
31751 {0.2206, 0.1654, 0.3298, 0.2842},
31752 {0.1624, 0.3630, 0.1204, 0.3542},
31753 {0.0413, 0.3346, 0.4198, 0.2043},
31754 {0.1532, 0.4256, 0.2315, 0.1896}},
31755 {
31756 {0.1751, 0.0583, 0.6463, 0.1202},
31757 {0.4484, 0.1733, 0.3492, 0.0291},
31758 {0.3312, 0.1947, 0.3826, 0.0915},
31759 {0.2126, 0.1719, 0.3750, 0.2405}},
31760 {
31761 {0.3201, 0.2086, 0.1479, 0.3235},
31762 {0.5018, 0.0553, 0.0538, 0.3891},
31763 {0.3283, 0.2147, 0.2138, 0.2432},
31764 {0.1473, 0.3154, 0.2231, 0.3142}},
31765 {
31766 {0.1330, 0.3487, 0.3550, 0.1633},
31767 {0.2234, 0.1413, 0.1343, 0.5010},
31768 {0.1110, 0.3212, 0.1026, 0.4652},
31769 {0.3037, 0.1784, 0.1799, 0.3380}},
31770 {
31771 {0.2232, 0.2724, 0.2696, 0.2348},
31772 {0.2159, 0.2080, 0.3248, 0.2513},
31773 {0.2471, 0.1671, 0.5043, 0.0815},
31774 {0.3752, 0.0263, 0.3556, 0.2429}},
31775 {
31776 {0.3596, 0.1263, 0.1917, 0.3225},
31777 {0.3461, 0.2984, 0.0601, 0.2955},
31778 {0.2225, 0.2001, 0.2756, 0.3018},
31779 {0.2208, 0.3003, 0.1753, 0.3035}},
31780 {
31781 {0.1549, 0.2626, 0.2263, 0.3562},
31782 {0.2906, 0.2538, 0.0825, 0.3731},
31783 {0.1738, 0.3704, 0.1804, 0.2754},
31784 {0.1147, 0.2601, 0.2994, 0.3257}},
31785 {
31786 {0.2963, 0.1536, 0.3017, 0.2484},
31787 {0.3576, 0.1292, 0.2587, 0.2545},
31788 {0.2985, 0.1824, 0.3474, 0.1717},
31789 {0.1938, 0.2700, 0.3180, 0.2182}},
31790 {
31791 {0.3838, 0.1592, 0.2599, 0.1971},
31792 {0.1479, 0.4241, 0.1420, 0.2860},
31793 {0.2675, 0.1463, 0.3201, 0.2661},
31794 {0.0771, 0.1609, 0.2364, 0.5257}},
31795 {
31796 {0.1958, 0.0763, 0.3102, 0.4177},
31797 {0.3474, 0.3054, 0.1336, 0.2136},
31798 {0.2511, 0.3943, 0.1378, 0.2167},
31799 {0.0603, 0.3815, 0.3215, 0.2367}},
31800 {
31801 {0.1327, 0.0960, 0.5089, 0.2624},
31802 {0.3953, 0.2403, 0.1799, 0.1845},
31803 {0.1899, 0.3839, 0.2291, 0.1971},
31804 {0.2623, 0.1971, 0.3387, 0.2020}},
31805 {
31806 {0.4854, 0.1352, 0.1052, 0.2743},
31807 {0.3100, 0.1849, 0.1117, 0.3934},
31808 {0.3953, 0.2138, 0.2389, 0.1520},
31809 {0.1271, 0.3037, 0.1789, 0.3904}},
31810 {
31811 {0.1053, 0.3607, 0.3467, 0.1873},
31812 {0.3010, 0.1792, 0.1322, 0.3876},
31813 {0.1097, 0.2180, 0.2309, 0.4414},
31814 {0.1263, 0.2879, 0.2413, 0.3444}},
31815 {
31816 {0.2300, 0.2977, 0.2364, 0.2359},
31817 {0.2652, 0.2918, 0.2808, 0.1622},
31818 {0.1466, 0.2486, 0.3876, 0.2172},
31819 {0.2573, 0.2015, 0.3710, 0.1702}},
31820 {
31821 {0.5620, 0.1176, 0.1198, 0.2006},
31822 {0.2494, 0.3160, 0.1440, 0.2907},
31823 {0.3807, 0.2157, 0.1834, 0.2202},
31824 {0.1405, 0.2397, 0.2845, 0.3353}}},
31825
31826 { /* Splice_Site: F0_GT; Species: Maize */
31827 {
31828 {0.2008, 0.2008, 0.2008, 0.2008},
31829 {0.2968, 0.2968, 0.2968, 0.2968},
31830 {0.3423, 0.3423, 0.3423, 0.3423},
31831 {0.1601, 0.1601, 0.1601, 0.1601}},
31832 {
31833 {0.1935, 0.2004, 0.1056, 0.5005},
31834 {0.2455, 0.1720, 0.2417, 0.3408},
31835 {0.2411, 0.2630, 0.1756, 0.3203},
31836 {0.1887, 0.5056, 0.1221, 0.1837}},
31837 {
31838 {0.0482, 0.3154, 0.3723, 0.2640},
31839 {0.0373, 0.3893, 0.2663, 0.3070},
31840 {0.0000, 0.5845, 0.2378, 0.1778},
31841 {0.0873, 0.2031, 0.4156, 0.2940}},
31842 {
31843 {0.4145, 0.1954, 0.1942, 0.1958},
31844 {0.2673, 0.3848, 0.2013, 0.1465},
31845 {0.2142, 0.2999, 0.3689, 0.1169},
31846 {0.2551, 0.2251, 0.4454, 0.0744}},
31847 {
31848 {0.3582, 0.2852, 0.0823, 0.2743},
31849 {0.1993, 0.3664, 0.1996, 0.2346},
31850 {0.3462, 0.4090, 0.1540, 0.0908},
31851 {0.0905, 0.4170, 0.1677, 0.3247}},
31852 {
31853 {0.1471, 0.2182, 0.4515, 0.1833},
31854 {0.1386, 0.2502, 0.4143, 0.1970},
31855 {0.1354, 0.3347, 0.3340, 0.1960},
31856 {0.0926, 0.2356, 0.4350, 0.2369}},
31857 {
31858 {0.4595, 0.1573, 0.1539, 0.2293},
31859 {0.2397, 0.1957, 0.3223, 0.2422},
31860 {0.2952, 0.1682, 0.3411, 0.1955},
31861 {0.0000, 0.1486, 0.5492, 0.3022}},
31862 {
31863 {0.2507, 0.2102, 0.2543, 0.2848},
31864 {0.1210, 0.4056, 0.2968, 0.1767},
31865 {0.3677, 0.3434, 0.1447, 0.1442},
31866 {0.1288, 0.2596, 0.2643, 0.3472}},
31867 {
31868 {0.0813, 0.3327, 0.4633, 0.1227},
31869 {0.1673, 0.3661, 0.2335, 0.2331},
31870 {0.0862, 0.3621, 0.4593, 0.0924},
31871 {0.0425, 0.4440, 0.1684, 0.3450}},
31872 {
31873 {0.3995, 0.1973, 0.2007, 0.2026},
31874 {0.3238, 0.2983, 0.2727, 0.1052},
31875 {0.1903, 0.3475, 0.2449, 0.2172},
31876 {0.0540, 0.2980, 0.5483, 0.0997}},
31877 {
31878 {0.3142, 0.2563, 0.1264, 0.3031},
31879 {0.1680, 0.2943, 0.1652, 0.3724},
31880 {0.3197, 0.3234, 0.1953, 0.1616},
31881 {0.1349, 0.3242, 0.2681, 0.2728}},
31882 {
31883 {0.0854, 0.2495, 0.5027, 0.1624},
31884 {0.1324, 0.4730, 0.2637, 0.1309},
31885 {0.2243, 0.3806, 0.2840, 0.1110},
31886 {0.0357, 0.4074, 0.4073, 0.1496}},
31887 {
31888 {0.2754, 0.0923, 0.3683, 0.2639},
31889 {0.2107, 0.2602, 0.3972, 0.1318},
31890 {0.3058, 0.3050, 0.2478, 0.1414},
31891 {0.4223, 0.2111, 0.2234, 0.1432}},
31892 {
31893 {0.3897, 0.1108, 0.0686, 0.4309},
31894 {0.2770, 0.1569, 0.3239, 0.2421},
31895 {0.3233, 0.2005, 0.2568, 0.2194},
31896 {0.1407, 0.2002, 0.2581, 0.4010}},
31897 {
31898 {0.1667, 0.3677, 0.3676, 0.0981},
31899 {0.0000, 0.5032, 0.3748, 0.1221},
31900 {0.0889, 0.6373, 0.1384, 0.1353},
31901 {0.0000, 0.4457, 0.3571, 0.1972}},
31902 {
31903 {0.3035, 0.0000, 0.4289, 0.2677},
31904 {0.3201, 0.1707, 0.3620, 0.1472},
31905 {0.3205, 0.3873, 0.1621, 0.1301},
31906 {0.1429, 0.3488, 0.2184, 0.2898}},
31907 {
31908 {0.4127, 0.1357, 0.1737, 0.2779},
31909 {0.0843, 0.3176, 0.2724, 0.3257},
31910 {0.2537, 0.3228, 0.1429, 0.2806},
31911 {0.0558, 0.3568, 0.2906, 0.2968}},
31912 {
31913 {0.2728, 0.2282, 0.4088, 0.0902},
31914 {0.1869, 0.3667, 0.2611, 0.1854},
31915 {0.0000, 0.3312, 0.4251, 0.2437},
31916 {0.0323, 0.4110, 0.4212, 0.1356}},
31917 {
31918 {0.1734, 0.3308, 0.3334, 0.1624},
31919 {0.3288, 0.2653, 0.2039, 0.2020},
31920 {0.2936, 0.2745, 0.2705, 0.1613},
31921 {0.1218, 0.1864, 0.5727, 0.1191}},
31922 {
31923 {0.1886, 0.1492, 0.2320, 0.4302},
31924 {0.1910, 0.2307, 0.1536, 0.4247},
31925 {0.3044, 0.3317, 0.2671, 0.0969},
31926 {0.1161, 0.3008, 0.2895, 0.2935}},
31927 {
31928 {0.2349, 0.2866, 0.3384, 0.1402},
31929 {0.0387, 0.4022, 0.3215, 0.2377},
31930 {0.0467, 0.4769, 0.1738, 0.3026},
31931 {0.0626, 0.4349, 0.3368, 0.1657}},
31932 {
31933 {0.0000, 0.4366, 0.3295, 0.2339},
31934 {0.3292, 0.1994, 0.4005, 0.0709},
31935 {0.2064, 0.3793, 0.2439, 0.1704},
31936 {0.1421, 0.1478, 0.4210, 0.2890}},
31937 {
31938 {0.3214, 0.0887, 0.3142, 0.2757},
31939 {0.3534, 0.2685, 0.1124, 0.2657},
31940 {0.3091, 0.3758, 0.1416, 0.1734},
31941 {0.1919, 0.1904, 0.3790, 0.2387}},
31942 {
31943 {0.0657, 0.3345, 0.4367, 0.1631},
31944 {0.1561, 0.5193, 0.2018, 0.1229},
31945 {0.0944, 0.2317, 0.5332, 0.1407},
31946 {0.0412, 0.2551, 0.6191, 0.0847}},
31947 {
31948 {0.3257, 0.1069, 0.3379, 0.2295},
31949 {0.3199, 0.0888, 0.3570, 0.2343},
31950 {0.2067, 0.1612, 0.4186, 0.2135},
31951 {0.1520, 0.1455, 0.7025, 0.0000}},
31952 {
31953 {0.0795, 0.3182, 0.1972, 0.4051},
31954 {0.1526, 0.3040, 0.2289, 0.3145},
31955 {0.3818, 0.1873, 0.2859, 0.1450},
31956 {0.0990, 0.1613, 0.3724, 0.3673}},
31957 {
31958 {0.1401, 0.6791, 0.1352, 0.0456},
31959 {0.0428, 0.4758, 0.2179, 0.2635},
31960 {0.1095, 0.4800, 0.2606, 0.1500},
31961 {0.0700, 0.2933, 0.3379, 0.2988}},
31962 {
31963 {0.4428, 0.1085, 0.3432, 0.1056},
31964 {0.1680, 0.2919, 0.3660, 0.1741},
31965 {0.1691, 0.2496, 0.3743, 0.2070},
31966 {0.2110, 0.2586, 0.4301, 0.1003}},
31967 {
31968 {0.5456, 0.0994, 0.2023, 0.1527},
31969 {0.1918, 0.1553, 0.1554, 0.4975},
31970 {0.3258, 0.1632, 0.2439, 0.2671},
31971 {0.2476, 0.2475, 0.1884, 0.3166}},
31972 {
31973 {0.0607, 0.3422, 0.4059, 0.1913},
31974 {0.1827, 0.1258, 0.5708, 0.1207},
31975 {0.0506, 0.4024, 0.3404, 0.2066},
31976 {0.0000, 0.2924, 0.4149, 0.2928}},
31977 {
31978 {0.3163, 0.0000, 0.3434, 0.3403},
31979 {0.2360, 0.2353, 0.2940, 0.2347},
31980 {0.1871, 0.3831, 0.2656, 0.1642},
31981 {0.0503, 0.1872, 0.4779, 0.2846}},
31982 {
31983 {0.3321, 0.1694, 0.1129, 0.3856},
31984 {0.2245, 0.2962, 0.2233, 0.2560},
31985 {0.3699, 0.2502, 0.1911, 0.1888},
31986 {0.0898, 0.5004, 0.1351, 0.2747}},
31987 {
31988 {0.1212, 0.4629, 0.3407, 0.0753},
31989 {0.2321, 0.3264, 0.2383, 0.2032},
31990 {0.1825, 0.2976, 0.2248, 0.2951},
31991 {0.0757, 0.4645, 0.3420, 0.1178}},
31992 {
31993 {0.1966, 0.2588, 0.4091, 0.1356},
31994 {0.3312, 0.2578, 0.2591, 0.1519},
31995 {0.3408, 0.2712, 0.2105, 0.1775},
31996 {0.1255, 0.3117, 0.4405, 0.1223}},
31997 {
31998 {0.4210, 0.2181, 0.1487, 0.2122},
31999 {0.5465, 0.0375, 0.1131, 0.3029},
32000 {0.2404, 0.2397, 0.3121, 0.2078},
32001 {0.0000, 0.3900, 0.1364, 0.4736}},
32002 {
32003 {0.2056, 0.4191, 0.2907, 0.0846},
32004 {0.2040, 0.1962, 0.4015, 0.1983},
32005 {0.1103, 0.3881, 0.2794, 0.2221},
32006 {0.1105, 0.3801, 0.4346, 0.0748}},
32007 {
32008 {0.2498, 0.1868, 0.4337, 0.1297},
32009 {0.2025, 0.3179, 0.3950, 0.0847},
32010 {0.1131, 0.2806, 0.4303, 0.1760},
32011 {0.1556, 0.3018, 0.3131, 0.2295}},
32012 {
32013 {0.2292, 0.1217, 0.2922, 0.3569},
32014 {0.2506, 0.2861, 0.2467, 0.2165},
32015 {0.1985, 0.2291, 0.3468, 0.2256},
32016 {0.0000, 0.5099, 0.2097, 0.2804}},
32017 {
32018 {0.2078, 0.3216, 0.2634, 0.2072},
32019 {0.1153, 0.4166, 0.2719, 0.1963},
32020 {0.1034, 0.5863, 0.1732, 0.1372},
32021 {0.0771, 0.2470, 0.4789, 0.1969}},
32022 {
32023 {0.2491, 0.1691, 0.5037, 0.0781},
32024 {0.3988, 0.0759, 0.3762, 0.1492},
32025 {0.2756, 0.2442, 0.3455, 0.1347},
32026 {0.1080, 0.1084, 0.3897, 0.3939}},
32027 {
32028 {0.3076, 0.2787, 0.0697, 0.3440},
32029 {0.4293, 0.0707, 0.1409, 0.3590},
32030 {0.3152, 0.2576, 0.2412, 0.1859},
32031 {0.0555, 0.2792, 0.3345, 0.3309}},
32032 {
32033 {0.1077, 0.2510, 0.4624, 0.1789},
32034 {0.1656, 0.3359, 0.4170, 0.0814},
32035 {0.0000, 0.4169, 0.3188, 0.2643},
32036 {0.1741, 0.5044, 0.2471, 0.0745}},
32037 {
32038 {0.1684, 0.1593, 0.5027, 0.1696},
32039 {0.3540, 0.1900, 0.2960, 0.1600},
32040 {0.3603, 0.1696, 0.3571, 0.1131},
32041 {0.2934, 0.0672, 0.5021, 0.1373}},
32042 {
32043 {0.3095, 0.3112, 0.0641, 0.3151},
32044 {0.1903, 0.1930, 0.3690, 0.2476},
32045 {0.2717, 0.2703, 0.2702, 0.1879},
32046 {0.0747, 0.4249, 0.2854, 0.2150}},
32047 {
32048 {0.1650, 0.3290, 0.4203, 0.0857},
32049 {0.2836, 0.1666, 0.4476, 0.1022},
32050 {0.1339, 0.3256, 0.3631, 0.1775},
32051 {0.0809, 0.4565, 0.2551, 0.2075}},
32052 {
32053 {0.2937, 0.2373, 0.2932, 0.1758},
32054 {0.1653, 0.1917, 0.2231, 0.4199},
32055 {0.2966, 0.2433, 0.3800, 0.0801},
32056 {0.2090, 0.3586, 0.3618, 0.0706}},
32057 {
32058 {0.2984, 0.2920, 0.1660, 0.2437},
32059 {0.1672, 0.3783, 0.3316, 0.1229},
32060 {0.2922, 0.3218, 0.1256, 0.2604},
32061 {0.2098, 0.4381, 0.0989, 0.2531}},
32062 {
32063 {0.0420, 0.6285, 0.3295, 0.0000},
32064 {0.1758, 0.3416, 0.4269, 0.0557},
32065 {0.0000, 0.4377, 0.5623, 0.0000},
32066 {0.0422, 0.5465, 0.3203, 0.0909}},
32067 {
32068 {0.1362, 0.1234, 0.3558, 0.3846},
32069 {0.2994, 0.2361, 0.3149, 0.1496},
32070 {0.1251, 0.3248, 0.4256, 0.1244},
32071 {0.2594, 0.2615, 0.4791, 0.0000}},
32072 {
32073 {0.5225, 0.1445, 0.0964, 0.2367},
32074 {0.1517, 0.1933, 0.2706, 0.3843},
32075 {0.4086, 0.2962, 0.1094, 0.1858},
32076 {0.0000, 0.4725, 0.1294, 0.3981}},
32077 {
32078 {0.0000, 0.0000, 1.0000, 0.0000},
32079 {0.0000, 0.0000, 1.0000, 0.0000},
32080 {0.0000, 0.0000, 1.0000, 0.0000},
32081 {0.0000, 0.0000, 1.0000, 0.0000}},
32082 {
32083 {0.0000, 0.0000, 0.0000, 0.0000},
32084 {0.0000, 0.0000, 0.0000, 0.0000},
32085 {0.0000, 0.0000, 0.0000, 1.0000},
32086 {0.0000, 0.0000, 0.0000, 0.0000}},
32087 {
32088 {0.0000, 0.0000, 0.0000, 0.0000},
32089 {0.0000, 0.0000, 0.0000, 0.0000},
32090 {0.0000, 0.0000, 0.0000, 0.0000},
32091 {0.1646, 0.3229, 0.2308, 0.2817}},
32092 {
32093 {0.0000, 0.8117, 0.0000, 0.1883},
32094 {0.1270, 0.3994, 0.2832, 0.1903},
32095 {0.0000, 0.3929, 0.5208, 0.0864},
32096 {0.0684, 0.6841, 0.0358, 0.2117}},
32097 {
32098 {0.1679, 0.0000, 0.1629, 0.6692},
32099 {0.3309, 0.2458, 0.2953, 0.1279},
32100 {0.4581, 0.1805, 0.2298, 0.1315},
32101 {0.1167, 0.0587, 0.7056, 0.1190}},
32102 {
32103 {0.2578, 0.2895, 0.1315, 0.3211},
32104 {0.2803, 0.1657, 0.2731, 0.2810},
32105 {0.4420, 0.2357, 0.1756, 0.1467},
32106 {0.2544, 0.2491, 0.0656, 0.4309}},
32107 {
32108 {0.0620, 0.5317, 0.3760, 0.0303},
32109 {0.1303, 0.4643, 0.2823, 0.1232},
32110 {0.1972, 0.3739, 0.2465, 0.1824},
32111 {0.0734, 0.4795, 0.2651, 0.1820}},
32112 {
32113 {0.3054, 0.0000, 0.5020, 0.1926},
32114 {0.2988, 0.1684, 0.3834, 0.1494},
32115 {0.2640, 0.1723, 0.4941, 0.0696},
32116 {0.1696, 0.1710, 0.6594, 0.0000}},
32117 {
32118 {0.4490, 0.2604, 0.0713, 0.2194},
32119 {0.2596, 0.3380, 0.1343, 0.2681},
32120 {0.3962, 0.1726, 0.2144, 0.2167},
32121 {0.0923, 0.3700, 0.1818, 0.3558}},
32122 {
32123 {0.1143, 0.2852, 0.5158, 0.0847},
32124 {0.0425, 0.5399, 0.2506, 0.1669},
32125 {0.0649, 0.3096, 0.3153, 0.3102},
32126 {0.0823, 0.4198, 0.4133, 0.0846}},
32127 {
32128 {0.3819, 0.3781, 0.2400, 0.0000},
32129 {0.2670, 0.1864, 0.2604, 0.2862},
32130 {0.1533, 0.2814, 0.4114, 0.1539},
32131 {0.1408, 0.2819, 0.5004, 0.0770}},
32132 {
32133 {0.4254, 0.1410, 0.0485, 0.3851},
32134 {0.3592, 0.1968, 0.0797, 0.3642},
32135 {0.3175, 0.1439, 0.1641, 0.3746},
32136 {0.0521, 0.3845, 0.0585, 0.5049}},
32137 {
32138 {0.0991, 0.3313, 0.4647, 0.1049},
32139 {0.2440, 0.2561, 0.4007, 0.0992},
32140 {0.1951, 0.1072, 0.2034, 0.4943},
32141 {0.0754, 0.3364, 0.4350, 0.1532}},
32142 {
32143 {0.2256, 0.0763, 0.3886, 0.3095},
32144 {0.2768, 0.2758, 0.3422, 0.1052},
32145 {0.1727, 0.2892, 0.3426, 0.1955},
32146 {0.2480, 0.0670, 0.4374, 0.2476}},
32147 {
32148 {0.2265, 0.2233, 0.2768, 0.2734},
32149 {0.1906, 0.2708, 0.0905, 0.4481},
32150 {0.1371, 0.2729, 0.3668, 0.2232},
32151 {0.1571, 0.3118, 0.2635, 0.2676}},
32152 {
32153 {0.2285, 0.4722, 0.2469, 0.0524},
32154 {0.2222, 0.3759, 0.1804, 0.2215},
32155 {0.1538, 0.3491, 0.3039, 0.1932},
32156 {0.1384, 0.4502, 0.3416, 0.0697}},
32157 {
32158 {0.1057, 0.1103, 0.5506, 0.2334},
32159 {0.2263, 0.2989, 0.2492, 0.2257},
32160 {0.2198, 0.2166, 0.3799, 0.1837},
32161 {0.2206, 0.1345, 0.5044, 0.1404}},
32162 {
32163 {0.3061, 0.1527, 0.1976, 0.3435},
32164 {0.3175, 0.1839, 0.2277, 0.2709},
32165 {0.4600, 0.3502, 0.0551, 0.1347},
32166 {0.2508, 0.3550, 0.1990, 0.1952}},
32167 {
32168 {0.0824, 0.3699, 0.3470, 0.2007},
32169 {0.1147, 0.2921, 0.2587, 0.3344},
32170 {0.0000, 0.4030, 0.4663, 0.1306},
32171 {0.0877, 0.4628, 0.3198, 0.1297}},
32172 {
32173 {0.2525, 0.0000, 0.7475, 0.0000},
32174 {0.2978, 0.0818, 0.3772, 0.2432},
32175 {0.1844, 0.3006, 0.4869, 0.0281},
32176 {0.3328, 0.1861, 0.2884, 0.1927}},
32177 {
32178 {0.3847, 0.3035, 0.1554, 0.1564},
32179 {0.1739, 0.3482, 0.0590, 0.4190},
32180 {0.3824, 0.2118, 0.1396, 0.2662},
32181 {0.2906, 0.2878, 0.1379, 0.2836}},
32182 {
32183 {0.0931, 0.4825, 0.3052, 0.1192},
32184 {0.1470, 0.3710, 0.4099, 0.0721},
32185 {0.0000, 0.3078, 0.5423, 0.1499},
32186 {0.0379, 0.4176, 0.4628, 0.0818}},
32187 {
32188 {0.2419, 0.2447, 0.2517, 0.2617},
32189 {0.2944, 0.2638, 0.3179, 0.1239},
32190 {0.1759, 0.2985, 0.3536, 0.1720},
32191 {0.0930, 0.1105, 0.6969, 0.0996}},
32192 {
32193 {0.4595, 0.1345, 0.2743, 0.1317},
32194 {0.3411, 0.1933, 0.0378, 0.4279},
32195 {0.3635, 0.2523, 0.1911, 0.1931},
32196 {0.3351, 0.1966, 0.2019, 0.2664}},
32197 {
32198 {0.1067, 0.4310, 0.3559, 0.1063},
32199 {0.1983, 0.3921, 0.2569, 0.1527},
32200 {0.1213, 0.2901, 0.4092, 0.1795},
32201 {0.1189, 0.1563, 0.4448, 0.2800}},
32202 {
32203 {0.4612, 0.0725, 0.2354, 0.2308},
32204 {0.2412, 0.2735, 0.3305, 0.1548},
32205 {0.3068, 0.2770, 0.2258, 0.1904},
32206 {0.3466, 0.0618, 0.4102, 0.1814}},
32207 {
32208 {0.4269, 0.2212, 0.0000, 0.3519},
32209 {0.1465, 0.3356, 0.3777, 0.1402},
32210 {0.2791, 0.2425, 0.3384, 0.1399},
32211 {0.1102, 0.3390, 0.2228, 0.3281}},
32212 {
32213 {0.0756, 0.3465, 0.4642, 0.1137},
32214 {0.1075, 0.3686, 0.3402, 0.1837},
32215 {0.0000, 0.5903, 0.3637, 0.0460},
32216 {0.1232, 0.5795, 0.1695, 0.1278}},
32217 {
32218 {0.1199, 0.1294, 0.3726, 0.3781},
32219 {0.2821, 0.2203, 0.2815, 0.2160},
32220 {0.2115, 0.3644, 0.3037, 0.1204},
32221 {0.1706, 0.3343, 0.3301, 0.1650}},
32222 {
32223 {0.3496, 0.1782, 0.0899, 0.3824},
32224 {0.2219, 0.1821, 0.2953, 0.3007},
32225 {0.3293, 0.2019, 0.2335, 0.2352},
32226 {0.4238, 0.3201, 0.0000, 0.2561}},
32227 {
32228 {0.0925, 0.3730, 0.3452, 0.1893},
32229 {0.0948, 0.2888, 0.3784, 0.2380},
32230 {0.1154, 0.4175, 0.3533, 0.1138},
32231 {0.1399, 0.5173, 0.2770, 0.0658}},
32232 {
32233 {0.2686, 0.2662, 0.0894, 0.3758},
32234 {0.2497, 0.2524, 0.3973, 0.1006},
32235 {0.2401, 0.3650, 0.2435, 0.1513},
32236 {0.0647, 0.1314, 0.4058, 0.3981}},
32237 {
32238 {0.1379, 0.3086, 0.1408, 0.4126},
32239 {0.3345, 0.1849, 0.2204, 0.2602},
32240 {0.3181, 0.2260, 0.0682, 0.3877},
32241 {0.3730, 0.1550, 0.0538, 0.4181}},
32242 {
32243 {0.1374, 0.4164, 0.3790, 0.0672},
32244 {0.1309, 0.2267, 0.4145, 0.2278},
32245 {0.1669, 0.4211, 0.2434, 0.1686},
32246 {0.1110, 0.4402, 0.2236, 0.2251}},
32247 {
32248 {0.0756, 0.2358, 0.4528, 0.2357},
32249 {0.1820, 0.1561, 0.5013, 0.1605},
32250 {0.1615, 0.3521, 0.3265, 0.1599},
32251 {0.3466, 0.2968, 0.2980, 0.0586}},
32252 {
32253 {0.3154, 0.1013, 0.3239, 0.2594},
32254 {0.2826, 0.3231, 0.1178, 0.2765},
32255 {0.2731, 0.2546, 0.2014, 0.2708},
32256 {0.1320, 0.0645, 0.2045, 0.5990}},
32257 {
32258 {0.0753, 0.5058, 0.3432, 0.0757},
32259 {0.0971, 0.3905, 0.3285, 0.1839},
32260 {0.0999, 0.5514, 0.2504, 0.0983},
32261 {0.0638, 0.4688, 0.4052, 0.0623}},
32262 {
32263 {0.0000, 0.1260, 0.4978, 0.3763},
32264 {0.2737, 0.3210, 0.2101, 0.1952},
32265 {0.1502, 0.2929, 0.3227, 0.2342},
32266 {0.2056, 0.2011, 0.4927, 0.1007}},
32267 {
32268 {0.3940, 0.1495, 0.1499, 0.3066},
32269 {0.1762, 0.2544, 0.2123, 0.3571},
32270 {0.6366, 0.0335, 0.2290, 0.1009},
32271 {0.1433, 0.2393, 0.1944, 0.4231}},
32272 {
32273 {0.0595, 0.3447, 0.3987, 0.1970},
32274 {0.2449, 0.1897, 0.3762, 0.1893},
32275 {0.0998, 0.6083, 0.2427, 0.0493},
32276 {0.0702, 0.5048, 0.3905, 0.0346}},
32277 {
32278 {0.3003, 0.2076, 0.3953, 0.0968},
32279 {0.2700, 0.1700, 0.4138, 0.1461},
32280 {0.1947, 0.1670, 0.3904, 0.2479},
32281 {0.1690, 0.2503, 0.2418, 0.3388}},
32282 {
32283 {0.3533, 0.3871, 0.0393, 0.2203},
32284 {0.1112, 0.2781, 0.0518, 0.5588},
32285 {0.3138, 0.2367, 0.2408, 0.2088},
32286 {0.2969, 0.3044, 0.1989, 0.1998}},
32287 {
32288 {0.1404, 0.5327, 0.2912, 0.0357},
32289 {0.1694, 0.3810, 0.3822, 0.0674},
32290 {0.3305, 0.3330, 0.2647, 0.0718},
32291 {0.1528, 0.1815, 0.5576, 0.1081}},
32292 {
32293 {0.1107, 0.1681, 0.2849, 0.4363},
32294 {0.3947, 0.2440, 0.2511, 0.1102},
32295 {0.2633, 0.2105, 0.3918, 0.1344},
32296 {0.5713, 0.2849, 0.1438, 0.0000}},
32297 {
32298 {0.3600, 0.2375, 0.2019, 0.2006},
32299 {0.2757, 0.2287, 0.1829, 0.3126},
32300 {0.3733, 0.1963, 0.1656, 0.2648},
32301 {0.4700, 0.1188, 0.1120, 0.2992}},
32302 {
32303 {0.0828, 0.3092, 0.2512, 0.3567},
32304 {0.1019, 0.4945, 0.3046, 0.0990},
32305 {0.3049, 0.4127, 0.1742, 0.1082},
32306 {0.0386, 0.3890, 0.4513, 0.1211}},
32307 {
32308 {0.4708, 0.0871, 0.2667, 0.1754},
32309 {0.2621, 0.2913, 0.3695, 0.0771},
32310 {0.2723, 0.2672, 0.2964, 0.1641},
32311 {0.2413, 0.1003, 0.4530, 0.2055}},
32312 {
32313 {0.3234, 0.2834, 0.1093, 0.2839},
32314 {0.0884, 0.3652, 0.3670, 0.1793},
32315 {0.2856, 0.2010, 0.2604, 0.2530},
32316 {0.3588, 0.0732, 0.1408, 0.4272}},
32317 {
32318 {0.0746, 0.3843, 0.3891, 0.1521},
32319 {0.1254, 0.3778, 0.3382, 0.1586},
32320 {0.0881, 0.5945, 0.2269, 0.0905},
32321 {0.1877, 0.2946, 0.2543, 0.2634}},
32322 {
32323 {0.0821, 0.5867, 0.1654, 0.1658},
32324 {0.2989, 0.2511, 0.3467, 0.1033},
32325 {0.2379, 0.2992, 0.3296, 0.1333},
32326 {0.1209, 0.3453, 0.2952, 0.2386}},
32327 {
32328 {0.2214, 0.2260, 0.1897, 0.3629},
32329 {0.2203, 0.2519, 0.3051, 0.2226},
32330 {0.3616, 0.2567, 0.0975, 0.2842},
32331 {0.2096, 0.2815, 0.2149, 0.2940}},
32332 {
32333 {0.2258, 0.5011, 0.2731, 0.0000},
32334 {0.1573, 0.2403, 0.3934, 0.2090},
32335 {0.0000, 0.5037, 0.2456, 0.2507},
32336 {0.1072, 0.3574, 0.3563, 0.1791}}},
32337
32338 { /* Splice_Site: Fi_GT; Species: Maize */
32339 {
32340 {0.2502, 0.2502, 0.2502, 0.2502},
32341 {0.2304, 0.2304, 0.2304, 0.2304},
32342 {0.2091, 0.2091, 0.2091, 0.2091},
32343 {0.3104, 0.3104, 0.3104, 0.3104}},
32344 {
32345 {0.2202, 0.2976, 0.2255, 0.2567},
32346 {0.2357, 0.2267, 0.1991, 0.3385},
32347 {0.2755, 0.1796, 0.2432, 0.3017},
32348 {0.2058, 0.2369, 0.2700, 0.2873}},
32349 {
32350 {0.2876, 0.1579, 0.2270, 0.3275},
32351 {0.3334, 0.1608, 0.1736, 0.3322},
32352 {0.2920, 0.1808, 0.2452, 0.2820},
32353 {0.2363, 0.1282, 0.2842, 0.3513}},
32354 {
32355 {0.1968, 0.3046, 0.2338, 0.2647},
32356 {0.2894, 0.2580, 0.0894, 0.3632},
32357 {0.2471, 0.2981, 0.2348, 0.2200},
32358 {0.2105, 0.2149, 0.2249, 0.3498}},
32359 {
32360 {0.1987, 0.1818, 0.1253, 0.4942},
32361 {0.3065, 0.2506, 0.1681, 0.2748},
32362 {0.3309, 0.2259, 0.2000, 0.2432},
32363 {0.2611, 0.1893, 0.3171, 0.2324}},
32364 {
32365 {0.2910, 0.1465, 0.2081, 0.3545},
32366 {0.2685, 0.2632, 0.2081, 0.2602},
32367 {0.2134, 0.2133, 0.2450, 0.3282},
32368 {0.2067, 0.2336, 0.2078, 0.3519}},
32369 {
32370 {0.3113, 0.1743, 0.1876, 0.3268},
32371 {0.3325, 0.2473, 0.1435, 0.2767},
32372 {0.2909, 0.1638, 0.2362, 0.3092},
32373 {0.1986, 0.1725, 0.2802, 0.3487}},
32374 {
32375 {0.3391, 0.1580, 0.2280, 0.2748},
32376 {0.3253, 0.1799, 0.2100, 0.2848},
32377 {0.3037, 0.2851, 0.1574, 0.2539},
32378 {0.1779, 0.2599, 0.2748, 0.2873}},
32379 {
32380 {0.2354, 0.1784, 0.3112, 0.2750},
32381 {0.3009, 0.2078, 0.1132, 0.3781},
32382 {0.2266, 0.3472, 0.2186, 0.2076},
32383 {0.2178, 0.1817, 0.2200, 0.3805}},
32384 {
32385 {0.2103, 0.2188, 0.2376, 0.3333},
32386 {0.2335, 0.2875, 0.1799, 0.2991},
32387 {0.2502, 0.1758, 0.2019, 0.3721},
32388 {0.2278, 0.2361, 0.2327, 0.3034}},
32389 {
32390 {0.2661, 0.1831, 0.2201, 0.3308},
32391 {0.3821, 0.1216, 0.1771, 0.3192},
32392 {0.1889, 0.2926, 0.1496, 0.3689},
32393 {0.2441, 0.2507, 0.2561, 0.2490}},
32394 {
32395 {0.3506, 0.1516, 0.1920, 0.3058},
32396 {0.3395, 0.1971, 0.1683, 0.2951},
32397 {0.2312, 0.3214, 0.1606, 0.2868},
32398 {0.1439, 0.2447, 0.3139, 0.2975}},
32399 {
32400 {0.2357, 0.1955, 0.2141, 0.3548},
32401 {0.2657, 0.2557, 0.1678, 0.3109},
32402 {0.2530, 0.2216, 0.2215, 0.3038},
32403 {0.2685, 0.2414, 0.2140, 0.2761}},
32404 {
32405 {0.2406, 0.2405, 0.2156, 0.3033},
32406 {0.2427, 0.2354, 0.2577, 0.2642},
32407 {0.2378, 0.3096, 0.2241, 0.2285},
32408 {0.2124, 0.2043, 0.2470, 0.3363}},
32409 {
32410 {0.2610, 0.1678, 0.1583, 0.4129},
32411 {0.3175, 0.2276, 0.2272, 0.2276},
32412 {0.3536, 0.1745, 0.1682, 0.3038},
32413 {0.1650, 0.1538, 0.3438, 0.3374}},
32414 {
32415 {0.3181, 0.2246, 0.2473, 0.2099},
32416 {0.2530, 0.1677, 0.1243, 0.4550},
32417 {0.2217, 0.2838, 0.2756, 0.2188},
32418 {0.2062, 0.1397, 0.2960, 0.3581}},
32419 {
32420 {0.3151, 0.2633, 0.1895, 0.2321},
32421 {0.3327, 0.1349, 0.2780, 0.2544},
32422 {0.2595, 0.2303, 0.1653, 0.3448},
32423 {0.1898, 0.2624, 0.1919, 0.3559}},
32424 {
32425 {0.2178, 0.2923, 0.1244, 0.3655},
32426 {0.3568, 0.2320, 0.1340, 0.2772},
32427 {0.2810, 0.2248, 0.1986, 0.2956},
32428 {0.1866, 0.2026, 0.2262, 0.3845}},
32429 {
32430 {0.3084, 0.2107, 0.2372, 0.2438},
32431 {0.3079, 0.2822, 0.1810, 0.2289},
32432 {0.2774, 0.3043, 0.0871, 0.3313},
32433 {0.2252, 0.1812, 0.3047, 0.2888}},
32434 {
32435 {0.2186, 0.2321, 0.2254, 0.3240},
32436 {0.2673, 0.1659, 0.2545, 0.3124},
32437 {0.2761, 0.2314, 0.2337, 0.2588},
32438 {0.2464, 0.2007, 0.2495, 0.3034}},
32439 {
32440 {0.2419, 0.2188, 0.3079, 0.2314},
32441 {0.2794, 0.2551, 0.1040, 0.3616},
32442 {0.1695, 0.2891, 0.2229, 0.3185},
32443 {0.2486, 0.2203, 0.1635, 0.3675}},
32444 {
32445 {0.2142, 0.1769, 0.2697, 0.3393},
32446 {0.4283, 0.2133, 0.1093, 0.2491},
32447 {0.3156, 0.2714, 0.1681, 0.2448},
32448 {0.2151, 0.2837, 0.2288, 0.2725}},
32449 {
32450 {0.2627, 0.1746, 0.2421, 0.3207},
32451 {0.2252, 0.2990, 0.2610, 0.2149},
32452 {0.1487, 0.2541, 0.1821, 0.4152},
32453 {0.1962, 0.1796, 0.2604, 0.3637}},
32454 {
32455 {0.3231, 0.2146, 0.2659, 0.1963},
32456 {0.3883, 0.2181, 0.0809, 0.3127},
32457 {0.2702, 0.1515, 0.2081, 0.3703},
32458 {0.1696, 0.2191, 0.2534, 0.3578}},
32459 {
32460 {0.2590, 0.1263, 0.2327, 0.3820},
32461 {0.2622, 0.1799, 0.1458, 0.4121},
32462 {0.1629, 0.2107, 0.2631, 0.3633},
32463 {0.2220, 0.1740, 0.2088, 0.3952}},
32464 {
32465 {0.3811, 0.1453, 0.2140, 0.2596},
32466 {0.2749, 0.1229, 0.2565, 0.3457},
32467 {0.2716, 0.2235, 0.1356, 0.3692},
32468 {0.2070, 0.1810, 0.2651, 0.3469}},
32469 {
32470 {0.2951, 0.2369, 0.2072, 0.2608},
32471 {0.3530, 0.1895, 0.1574, 0.3001},
32472 {0.2901, 0.2665, 0.1345, 0.3089},
32473 {0.2846, 0.2000, 0.2239, 0.2914}},
32474 {
32475 {0.3299, 0.1733, 0.1939, 0.3029},
32476 {0.2957, 0.2978, 0.0887, 0.3178},
32477 {0.1847, 0.2458, 0.2100, 0.3594},
32478 {0.1694, 0.1926, 0.1999, 0.4381}},
32479 {
32480 {0.3507, 0.1682, 0.0852, 0.3959},
32481 {0.2744, 0.2259, 0.1248, 0.3749},
32482 {0.2880, 0.2200, 0.2060, 0.2860},
32483 {0.1976, 0.2230, 0.3286, 0.2509}},
32484 {
32485 {0.3302, 0.1942, 0.1703, 0.3053},
32486 {0.3313, 0.2122, 0.1131, 0.3434},
32487 {0.2805, 0.1944, 0.2732, 0.2519},
32488 {0.1827, 0.1634, 0.2776, 0.3763}},
32489 {
32490 {0.1917, 0.2639, 0.2305, 0.3138},
32491 {0.2770, 0.1608, 0.1671, 0.3951},
32492 {0.2143, 0.2130, 0.2582, 0.3146},
32493 {0.2385, 0.1683, 0.3123, 0.2809}},
32494 {
32495 {0.2068, 0.1904, 0.2025, 0.4004},
32496 {0.2658, 0.1608, 0.1759, 0.3975},
32497 {0.2540, 0.2902, 0.1342, 0.3216},
32498 {0.2090, 0.1742, 0.2892, 0.3276}},
32499 {
32500 {0.1905, 0.2455, 0.2774, 0.2866},
32501 {0.2910, 0.1969, 0.1022, 0.4099},
32502 {0.2756, 0.1852, 0.1189, 0.4203},
32503 {0.2886, 0.1875, 0.2140, 0.3098}},
32504 {
32505 {0.3657, 0.1381, 0.1848, 0.3115},
32506 {0.2753, 0.2553, 0.0994, 0.3700},
32507 {0.3014, 0.2508, 0.1642, 0.2836},
32508 {0.1831, 0.1464, 0.3161, 0.3544}},
32509 {
32510 {0.2405, 0.2100, 0.2577, 0.2919},
32511 {0.2337, 0.2262, 0.1794, 0.3607},
32512 {0.2718, 0.2008, 0.2553, 0.2722},
32513 {0.2740, 0.1383, 0.3100, 0.2776}},
32514 {
32515 {0.3498, 0.1507, 0.2167, 0.2828},
32516 {0.3094, 0.2263, 0.1445, 0.3198},
32517 {0.2112, 0.1266, 0.2920, 0.3702},
32518 {0.2565, 0.2103, 0.2661, 0.2671}},
32519 {
32520 {0.1982, 0.2109, 0.3023, 0.2886},
32521 {0.3039, 0.2692, 0.1378, 0.2892},
32522 {0.2746, 0.3058, 0.2196, 0.2001},
32523 {0.2775, 0.1689, 0.2144, 0.3392}},
32524 {
32525 {0.2827, 0.1331, 0.2503, 0.3339},
32526 {0.2878, 0.1724, 0.1739, 0.3659},
32527 {0.2142, 0.2530, 0.2511, 0.2817},
32528 {0.2230, 0.1370, 0.3097, 0.3303}},
32529 {
32530 {0.2990, 0.2363, 0.2342, 0.2304},
32531 {0.2923, 0.1457, 0.1860, 0.3760},
32532 {0.3042, 0.2219, 0.1782, 0.2956},
32533 {0.2795, 0.1858, 0.2319, 0.3028}},
32534 {
32535 {0.3515, 0.1143, 0.2586, 0.2756},
32536 {0.3251, 0.1323, 0.1510, 0.3917},
32537 {0.2689, 0.1708, 0.2463, 0.3141},
32538 {0.1630, 0.2547, 0.2607, 0.3216}},
32539 {
32540 {0.2879, 0.2081, 0.2319, 0.2721},
32541 {0.2464, 0.1862, 0.2259, 0.3414},
32542 {0.1974, 0.2718, 0.2470, 0.2838},
32543 {0.2458, 0.2153, 0.2195, 0.3194}},
32544 {
32545 {0.1947, 0.3331, 0.1687, 0.3035},
32546 {0.2662, 0.1451, 0.2087, 0.3800},
32547 {0.2229, 0.2236, 0.2518, 0.3017},
32548 {0.1955, 0.1574, 0.2737, 0.3733}},
32549 {
32550 {0.4091, 0.1933, 0.1796, 0.2180},
32551 {0.3740, 0.2157, 0.1655, 0.2448},
32552 {0.2558, 0.1552, 0.2741, 0.3149},
32553 {0.1760, 0.1900, 0.3459, 0.2881}},
32554 {
32555 {0.3888, 0.1442, 0.0941, 0.3729},
32556 {0.3124, 0.1938, 0.1975, 0.2964},
32557 {0.3332, 0.1656, 0.1767, 0.3245},
32558 {0.1292, 0.2431, 0.2703, 0.3574}},
32559 {
32560 {0.3205, 0.1654, 0.2735, 0.2406},
32561 {0.2693, 0.1583, 0.2089, 0.3635},
32562 {0.2519, 0.1847, 0.1962, 0.3672},
32563 {0.2040, 0.1679, 0.2788, 0.3492}},
32564 {
32565 {0.2263, 0.2326, 0.2258, 0.3153},
32566 {0.2929, 0.2091, 0.2483, 0.2497},
32567 {0.2517, 0.2383, 0.1835, 0.3264},
32568 {0.2138, 0.1373, 0.3510, 0.2979}},
32569 {
32570 {0.2471, 0.2193, 0.2189, 0.3146},
32571 {0.2972, 0.2050, 0.1814, 0.3164},
32572 {0.2537, 0.1416, 0.3047, 0.3001},
32573 {0.2224, 0.2090, 0.1896, 0.3790}},
32574 {
32575 {0.2604, 0.2934, 0.2135, 0.2327},
32576 {0.3339, 0.2289, 0.1451, 0.2921},
32577 {0.2260, 0.1754, 0.1889, 0.4097},
32578 {0.2289, 0.1748, 0.1854, 0.4109}},
32579 {
32580 {0.2917, 0.2140, 0.2295, 0.2648},
32581 {0.2668, 0.1119, 0.2061, 0.4152},
32582 {0.2257, 0.2504, 0.2165, 0.3073},
32583 {0.2030, 0.1952, 0.2894, 0.3124}},
32584 {
32585 {0.2539, 0.1885, 0.1009, 0.4567},
32586 {0.3255, 0.1569, 0.0965, 0.4211},
32587 {0.2449, 0.2160, 0.1981, 0.3409},
32588 {0.1898, 0.1231, 0.2732, 0.4139}},
32589 {
32590 {0.0000, 0.0000, 1.0000, 0.0000},
32591 {0.0000, 0.0000, 1.0000, 0.0000},
32592 {0.0000, 0.0000, 1.0000, 0.0000},
32593 {0.0000, 0.0000, 1.0000, 0.0000}},
32594 {
32595 {0.0000, 0.0000, 0.0000, 0.0000},
32596 {0.0000, 0.0000, 0.0000, 0.0000},
32597 {0.0000, 0.0000, 0.0000, 1.0000},
32598 {0.0000, 0.0000, 0.0000, 0.0000}},
32599 {
32600 {0.0000, 0.0000, 0.0000, 0.0000},
32601 {0.0000, 0.0000, 0.0000, 0.0000},
32602 {0.0000, 0.0000, 0.0000, 0.0000},
32603 {0.1792, 0.2513, 0.2293, 0.3401}},
32604 {
32605 {0.1814, 0.2185, 0.2702, 0.3299},
32606 {0.2387, 0.2546, 0.2169, 0.2897},
32607 {0.1350, 0.2636, 0.1841, 0.4173},
32608 {0.1921, 0.1637, 0.3044, 0.3398}},
32609 {
32610 {0.2606, 0.2105, 0.2210, 0.3078},
32611 {0.3502, 0.1933, 0.2048, 0.2517},
32612 {0.1791, 0.2768, 0.1340, 0.4102},
32613 {0.1638, 0.1844, 0.2355, 0.4163}},
32614 {
32615 {0.2574, 0.1870, 0.1699, 0.3856},
32616 {0.3154, 0.1791, 0.1280, 0.3774},
32617 {0.1519, 0.2644, 0.3237, 0.2600},
32618 {0.2858, 0.1015, 0.2656, 0.3471}},
32619 {
32620 {0.2858, 0.1532, 0.2515, 0.3096},
32621 {0.3512, 0.2285, 0.1696, 0.2507},
32622 {0.1304, 0.2195, 0.2295, 0.4207},
32623 {0.2052, 0.1676, 0.2155, 0.4117}},
32624 {
32625 {0.2758, 0.2990, 0.1679, 0.2573},
32626 {0.2826, 0.3185, 0.0790, 0.3200},
32627 {0.1747, 0.2870, 0.2623, 0.2760},
32628 {0.2408, 0.3057, 0.1809, 0.2726}},
32629 {
32630 {0.2671, 0.2248, 0.2337, 0.2744},
32631 {0.2206, 0.2173, 0.2106, 0.3516},
32632 {0.1900, 0.1872, 0.2277, 0.3950},
32633 {0.1636, 0.2892, 0.2225, 0.3246}},
32634 {
32635 {0.2904, 0.2193, 0.1818, 0.3085},
32636 {0.1929, 0.2536, 0.2040, 0.3495},
32637 {0.1564, 0.2581, 0.2652, 0.3202},
32638 {0.1719, 0.2405, 0.2054, 0.3822}},
32639 {
32640 {0.2444, 0.1813, 0.2721, 0.3022},
32641 {0.2149, 0.2229, 0.1275, 0.4347},
32642 {0.2160, 0.1986, 0.2159, 0.3695},
32643 {0.1980, 0.1972, 0.2256, 0.3791}},
32644 {
32645 {0.1974, 0.2384, 0.2360, 0.3282},
32646 {0.3962, 0.2511, 0.0303, 0.3223},
32647 {0.2155, 0.3209, 0.2085, 0.2551},
32648 {0.1996, 0.1736, 0.2950, 0.3318}},
32649 {
32650 {0.2768, 0.1426, 0.1986, 0.3821},
32651 {0.2455, 0.2336, 0.1264, 0.3945},
32652 {0.3542, 0.1731, 0.1972, 0.2755},
32653 {0.2015, 0.2822, 0.1875, 0.3288}},
32654 {
32655 {0.2098, 0.2089, 0.3037, 0.2776},
32656 {0.3504, 0.2340, 0.1616, 0.2539},
32657 {0.2364, 0.2263, 0.2678, 0.2695},
32658 {0.2644, 0.1908, 0.1888, 0.3559}},
32659 {
32660 {0.3126, 0.1153, 0.2639, 0.3083},
32661 {0.3068, 0.1847, 0.0966, 0.4119},
32662 {0.2519, 0.2825, 0.1219, 0.3437},
32663 {0.1988, 0.1299, 0.2868, 0.3845}},
32664 {
32665 {0.2604, 0.2215, 0.2051, 0.3130},
32666 {0.2913, 0.2115, 0.0855, 0.4117},
32667 {0.2399, 0.1626, 0.2238, 0.3737},
32668 {0.2028, 0.2876, 0.2085, 0.3011}},
32669 {
32670 {0.2523, 0.1775, 0.2878, 0.2824},
32671 {0.2692, 0.2512, 0.1328, 0.3468},
32672 {0.2356, 0.2464, 0.1538, 0.3641},
32673 {0.1912, 0.1400, 0.3198, 0.3490}},
32674 {
32675 {0.1663, 0.2713, 0.2342, 0.3282},
32676 {0.1616, 0.2473, 0.1291, 0.4620},
32677 {0.2080, 0.1854, 0.1531, 0.4535},
32678 {0.1863, 0.1753, 0.2881, 0.3503}},
32679 {
32680 {0.2809, 0.1712, 0.2087, 0.3391},
32681 {0.3937, 0.2079, 0.1731, 0.2253},
32682 {0.3052, 0.1453, 0.2304, 0.3191},
32683 {0.1765, 0.2311, 0.2185, 0.3739}},
32684 {
32685 {0.2174, 0.1960, 0.2309, 0.3557},
32686 {0.2666, 0.3496, 0.1662, 0.2177},
32687 {0.2984, 0.2541, 0.1450, 0.3026},
32688 {0.2134, 0.1619, 0.2057, 0.4189}},
32689 {
32690 {0.2535, 0.2945, 0.1636, 0.2884},
32691 {0.3361, 0.2034, 0.1436, 0.3169},
32692 {0.2333, 0.2002, 0.2413, 0.3252},
32693 {0.2140, 0.1370, 0.2441, 0.4049}},
32694 {
32695 {0.2991, 0.2326, 0.1230, 0.3452},
32696 {0.3124, 0.2425, 0.1730, 0.2722},
32697 {0.2239, 0.3452, 0.2098, 0.2211},
32698 {0.1635, 0.1833, 0.3526, 0.3006}},
32699 {
32700 {0.2594, 0.1942, 0.2835, 0.2629},
32701 {0.1316, 0.3163, 0.2062, 0.3459},
32702 {0.2929, 0.2750, 0.1784, 0.2537},
32703 {0.2677, 0.2138, 0.1805, 0.3380}},
32704 {
32705 {0.3389, 0.1261, 0.1251, 0.4099},
32706 {0.3577, 0.1929, 0.1582, 0.2912},
32707 {0.3304, 0.2139, 0.1698, 0.2859},
32708 {0.1517, 0.2604, 0.2187, 0.3692}},
32709 {
32710 {0.1900, 0.2003, 0.2168, 0.3928},
32711 {0.2991, 0.2629, 0.1977, 0.2402},
32712 {0.2435, 0.3030, 0.1158, 0.3377},
32713 {0.2103, 0.2412, 0.2310, 0.3175}},
32714 {
32715 {0.2327, 0.1577, 0.2076, 0.4020},
32716 {0.2666, 0.1637, 0.2462, 0.3235},
32717 {0.3144, 0.1955, 0.1199, 0.3703},
32718 {0.1768, 0.1803, 0.3200, 0.3229}},
32719 {
32720 {0.2162, 0.2073, 0.3138, 0.2626},
32721 {0.3136, 0.2100, 0.1338, 0.3426},
32722 {0.1416, 0.2089, 0.3591, 0.2904},
32723 {0.1563, 0.1942, 0.2764, 0.3730}},
32724 {
32725 {0.3328, 0.2504, 0.1963, 0.2206},
32726 {0.3229, 0.1674, 0.1483, 0.3614},
32727 {0.2098, 0.2002, 0.2048, 0.3852},
32728 {0.2026, 0.2107, 0.2144, 0.3723}},
32729 {
32730 {0.2776, 0.1313, 0.2436, 0.3476},
32731 {0.2430, 0.2153, 0.2904, 0.2512},
32732 {0.2161, 0.1778, 0.3024, 0.3037},
32733 {0.2140, 0.1223, 0.2835, 0.3802}},
32734 {
32735 {0.3149, 0.2173, 0.1944, 0.2735},
32736 {0.4011, 0.0781, 0.2299, 0.2909},
32737 {0.2854, 0.2008, 0.2022, 0.3116},
32738 {0.2045, 0.1676, 0.2189, 0.4090}},
32739 {
32740 {0.3428, 0.1398, 0.1982, 0.3192},
32741 {0.4324, 0.1195, 0.1985, 0.2496},
32742 {0.2808, 0.2645, 0.2383, 0.2164},
32743 {0.2210, 0.2027, 0.2500, 0.3263}},
32744 {
32745 {0.2908, 0.1502, 0.2573, 0.3017},
32746 {0.2657, 0.1149, 0.2166, 0.4028},
32747 {0.3140, 0.2069, 0.2196, 0.2595},
32748 {0.2104, 0.1987, 0.2951, 0.2957}},
32749 {
32750 {0.2329, 0.1874, 0.2989, 0.2808},
32751 {0.2929, 0.2201, 0.1578, 0.3292},
32752 {0.1983, 0.3088, 0.2126, 0.2802},
32753 {0.2036, 0.2031, 0.2510, 0.3423}},
32754 {
32755 {0.2829, 0.1637, 0.3164, 0.2370},
32756 {0.3369, 0.2067, 0.1564, 0.3000},
32757 {0.2731, 0.2256, 0.2763, 0.2249},
32758 {0.1790, 0.2197, 0.2388, 0.3625}},
32759 {
32760 {0.3520, 0.1838, 0.2258, 0.2384},
32761 {0.1473, 0.2235, 0.2549, 0.3743},
32762 {0.2226, 0.1937, 0.2754, 0.3083},
32763 {0.2717, 0.1862, 0.2826, 0.2595}},
32764 {
32765 {0.2563, 0.1902, 0.1963, 0.3572},
32766 {0.2286, 0.3215, 0.1394, 0.3105},
32767 {0.1956, 0.3208, 0.2420, 0.2416},
32768 {0.2084, 0.1782, 0.2575, 0.3559}},
32769 {
32770 {0.2487, 0.1502, 0.2324, 0.3688},
32771 {0.3612, 0.2078, 0.1880, 0.2430},
32772 {0.2818, 0.3067, 0.2001, 0.2114},
32773 {0.1551, 0.2292, 0.3090, 0.3067}},
32774 {
32775 {0.2971, 0.2453, 0.1447, 0.3129},
32776 {0.3249, 0.1938, 0.2032, 0.2782},
32777 {0.1981, 0.3368, 0.1328, 0.3324},
32778 {0.1798, 0.1802, 0.2979, 0.3421}},
32779 {
32780 {0.2786, 0.3494, 0.1425, 0.2295},
32781 {0.4149, 0.1290, 0.1632, 0.2929},
32782 {0.2699, 0.1872, 0.2706, 0.2722},
32783 {0.1430, 0.1942, 0.2336, 0.4291}},
32784 {
32785 {0.2948, 0.1889, 0.2280, 0.2883},
32786 {0.3952, 0.1526, 0.1910, 0.2612},
32787 {0.2361, 0.1817, 0.2786, 0.3035},
32788 {0.1691, 0.1679, 0.3324, 0.3306}},
32789 {
32790 {0.2679, 0.1552, 0.3426, 0.2342},
32791 {0.2455, 0.1900, 0.2795, 0.2850},
32792 {0.2586, 0.2541, 0.1998, 0.2874},
32793 {0.1409, 0.1723, 0.3190, 0.3678}},
32794 {
32795 {0.3082, 0.1785, 0.2739, 0.2393},
32796 {0.2776, 0.2415, 0.1535, 0.3274},
32797 {0.3263, 0.2079, 0.1913, 0.2745},
32798 {0.2091, 0.1226, 0.2871, 0.3812}},
32799 {
32800 {0.2814, 0.1557, 0.2822, 0.2806},
32801 {0.2464, 0.2383, 0.1647, 0.3506},
32802 {0.2299, 0.2283, 0.1783, 0.3636},
32803 {0.1942, 0.2577, 0.2744, 0.2737}},
32804 {
32805 {0.3905, 0.2006, 0.1773, 0.2316},
32806 {0.4509, 0.2037, 0.1424, 0.2029},
32807 {0.3197, 0.1996, 0.2259, 0.2547},
32808 {0.1697, 0.2248, 0.3287, 0.2768}},
32809 {
32810 {0.2219, 0.2542, 0.2289, 0.2950},
32811 {0.3459, 0.1384, 0.1846, 0.3311},
32812 {0.3193, 0.2539, 0.1891, 0.2377},
32813 {0.2157, 0.1975, 0.2679, 0.3189}},
32814 {
32815 {0.3160, 0.1482, 0.2744, 0.2614},
32816 {0.3929, 0.1564, 0.1958, 0.2549},
32817 {0.2505, 0.2828, 0.1259, 0.3409},
32818 {0.1869, 0.2143, 0.3347, 0.2641}},
32819 {
32820 {0.2751, 0.1834, 0.2055, 0.3360},
32821 {0.2491, 0.2624, 0.1862, 0.3024},
32822 {0.2228, 0.2377, 0.2722, 0.2673},
32823 {0.1692, 0.2515, 0.2853, 0.2940}},
32824 {
32825 {0.2487, 0.1690, 0.2734, 0.3088},
32826 {0.2767, 0.2836, 0.1909, 0.2488},
32827 {0.2136, 0.2628, 0.2258, 0.2977},
32828 {0.2068, 0.1598, 0.3024, 0.3310}},
32829 {
32830 {0.2382, 0.2060, 0.2427, 0.3132},
32831 {0.3347, 0.2186, 0.1508, 0.2959},
32832 {0.2008, 0.2304, 0.2812, 0.2876},
32833 {0.2161, 0.1735, 0.2312, 0.3791}},
32834 {
32835 {0.3163, 0.0855, 0.2233, 0.3748},
32836 {0.2154, 0.2848, 0.1489, 0.3509},
32837 {0.2281, 0.2784, 0.1673, 0.3262},
32838 {0.2229, 0.2244, 0.2864, 0.2663}},
32839 {
32840 {0.3533, 0.1403, 0.1945, 0.3119},
32841 {0.2071, 0.1869, 0.1982, 0.4077},
32842 {0.1866, 0.2941, 0.2096, 0.3097},
32843 {0.1878, 0.1876, 0.3518, 0.2729}},
32844 {
32845 {0.2231, 0.2106, 0.2373, 0.3291},
32846 {0.3059, 0.2020, 0.1357, 0.3563},
32847 {0.2174, 0.2532, 0.2870, 0.2424},
32848 {0.2125, 0.1968, 0.3386, 0.2521}}
32849 }}
32850 }; /* end of intialization for GthFlt GU_7 */
32851
32852 static double AG_7[8][HYPOTHESIS7][WINSIZE + 2][4][4] =
32853 {
32854 {
32855 { /* Splice_Site: T1_AG; Species: Rat */
32856 {
32857 {0.2292, 0.2292, 0.2292, 0.2292},
32858 {0.2279, 0.2279, 0.2279, 0.2279},
32859 {0.3034, 0.3034, 0.3034, 0.3034},
32860 {0.2396, 0.2396, 0.2396, 0.2396}},
32861 {
32862 {0.2024, 0.2190, 0.3503, 0.2283},
32863 {0.3032, 0.2254, 0.0904, 0.3810},
32864 {0.2034, 0.2312, 0.3346, 0.2307},
32865 {0.1435, 0.2673, 0.3965, 0.1926}},
32866 {
32867 {0.1903, 0.2023, 0.4583, 0.1490},
32868 {0.2962, 0.2584, 0.1134, 0.3320},
32869 {0.1517, 0.1862, 0.3890, 0.2731},
32870 {0.1361, 0.3035, 0.2706, 0.2898}},
32871 {
32872 {0.2399, 0.1687, 0.3292, 0.2621},
32873 {0.2416, 0.2895, 0.0732, 0.3957},
32874 {0.2298, 0.1910, 0.2817, 0.2975},
32875 {0.1235, 0.2911, 0.3114, 0.2740}},
32876 {
32877 {0.2425, 0.1874, 0.3233, 0.2468},
32878 {0.1857, 0.3870, 0.0540, 0.3734},
32879 {0.2917, 0.1810, 0.3128, 0.2145},
32880 {0.1603, 0.2797, 0.3027, 0.2573}},
32881 {
32882 {0.2053, 0.1990, 0.3631, 0.2326},
32883 {0.2613, 0.3087, 0.0521, 0.3780},
32884 {0.2713, 0.2729, 0.2984, 0.1575},
32885 {0.2098, 0.2568, 0.3172, 0.2163}},
32886 {
32887 {0.2659, 0.2012, 0.3151, 0.2178},
32888 {0.2597, 0.2869, 0.0893, 0.3641},
32889 {0.2572, 0.1838, 0.3176, 0.2413},
32890 {0.2055, 0.2534, 0.2638, 0.2773}},
32891 {
32892 {0.3404, 0.2533, 0.1821, 0.2243},
32893 {0.2947, 0.3376, 0.0845, 0.2832},
32894 {0.1520, 0.1819, 0.4033, 0.2628},
32895 {0.1358, 0.3526, 0.2670, 0.2445}},
32896 {
32897 {0.2106, 0.1902, 0.3339, 0.2654},
32898 {0.2370, 0.2900, 0.0796, 0.3934},
32899 {0.2470, 0.3030, 0.2292, 0.2208},
32900 {0.1861, 0.2084, 0.2930, 0.3125}},
32901 {
32902 {0.2504, 0.2104, 0.3610, 0.1783},
32903 {0.2997, 0.2911, 0.0368, 0.3724},
32904 {0.2189, 0.1235, 0.4680, 0.1896},
32905 {0.1543, 0.2670, 0.2959, 0.2828}},
32906 {
32907 {0.2542, 0.1375, 0.3858, 0.2224},
32908 {0.2082, 0.3511, 0.0631, 0.3775},
32909 {0.2450, 0.1906, 0.3575, 0.2069},
32910 {0.1274, 0.1938, 0.3754, 0.3034}},
32911 {
32912 {0.2871, 0.1262, 0.3617, 0.2250},
32913 {0.2739, 0.3597, 0.0632, 0.3032},
32914 {0.2649, 0.1882, 0.2874, 0.2594},
32915 {0.0760, 0.2314, 0.4023, 0.2903}},
32916 {
32917 {0.2444, 0.1829, 0.4055, 0.1672},
32918 {0.2841, 0.2675, 0.0829, 0.3655},
32919 {0.2775, 0.2324, 0.2832, 0.2069},
32920 {0.1802, 0.2945, 0.2526, 0.2728}},
32921 {
32922 {0.2409, 0.2271, 0.3255, 0.2065},
32923 {0.2327, 0.3371, 0.0430, 0.3872},
32924 {0.2638, 0.1767, 0.3126, 0.2469},
32925 {0.0942, 0.2549, 0.2604, 0.3905}},
32926 {
32927 {0.1656, 0.2880, 0.4216, 0.1249},
32928 {0.3256, 0.3835, 0.0361, 0.2548},
32929 {0.2301, 0.2183, 0.3062, 0.2454},
32930 {0.1670, 0.2708, 0.2730, 0.2891}},
32931 {
32932 {0.2427, 0.2137, 0.3781, 0.1655},
32933 {0.2350, 0.3236, 0.0385, 0.4029},
32934 {0.2607, 0.1717, 0.3357, 0.2319},
32935 {0.1519, 0.3019, 0.2939, 0.2523}},
32936 {
32937 {0.2369, 0.2594, 0.3432, 0.1605},
32938 {0.2554, 0.3540, 0.0795, 0.3110},
32939 {0.1843, 0.2486, 0.3544, 0.2127},
32940 {0.1615, 0.2547, 0.3222, 0.2615}},
32941 {
32942 {0.2598, 0.2256, 0.2334, 0.2812},
32943 {0.2958, 0.3236, 0.0621, 0.3185},
32944 {0.2511, 0.2472, 0.2681, 0.2335},
32945 {0.1853, 0.3295, 0.2306, 0.2546}},
32946 {
32947 {0.2630, 0.1359, 0.3721, 0.2290},
32948 {0.2355, 0.3352, 0.0609, 0.3685},
32949 {0.2750, 0.2608, 0.2300, 0.2342},
32950 {0.1383, 0.2801, 0.3199, 0.2617}},
32951 {
32952 {0.2420, 0.2653, 0.2627, 0.2300},
32953 {0.2429, 0.3248, 0.0846, 0.3478},
32954 {0.3227, 0.1604, 0.2387, 0.2782},
32955 {0.2267, 0.2813, 0.2381, 0.2539}},
32956 {
32957 {0.2948, 0.2572, 0.2252, 0.2229},
32958 {0.2337, 0.3464, 0.0613, 0.3586},
32959 {0.2459, 0.2565, 0.3410, 0.1566},
32960 {0.1832, 0.3177, 0.2802, 0.2190}},
32961 {
32962 {0.1636, 0.2671, 0.2967, 0.2726},
32963 {0.2685, 0.2760, 0.0748, 0.3807},
32964 {0.2626, 0.3033, 0.1952, 0.2389},
32965 {0.1922, 0.2900, 0.2784, 0.2394}},
32966 {
32967 {0.2223, 0.2552, 0.2691, 0.2533},
32968 {0.1839, 0.3867, 0.0389, 0.3905},
32969 {0.2317, 0.3229, 0.2313, 0.2141},
32970 {0.1887, 0.3619, 0.2109, 0.2385}},
32971 {
32972 {0.2438, 0.2586, 0.3294, 0.1681},
32973 {0.1517, 0.3176, 0.0721, 0.4586},
32974 {0.2353, 0.2475, 0.2910, 0.2262},
32975 {0.1495, 0.3343, 0.1880, 0.3283}},
32976 {
32977 {0.3040, 0.2810, 0.1833, 0.2318},
32978 {0.2694, 0.3956, 0.0147, 0.3203},
32979 {0.1740, 0.2831, 0.2167, 0.3262},
32980 {0.1835, 0.2641, 0.2808, 0.2717}},
32981 {
32982 {0.2003, 0.2614, 0.2452, 0.2931},
32983 {0.2578, 0.2593, 0.0497, 0.4332},
32984 {0.2476, 0.2297, 0.2285, 0.2943},
32985 {0.1416, 0.3457, 0.2512, 0.2616}},
32986 {
32987 {0.2619, 0.2277, 0.3302, 0.1802},
32988 {0.2047, 0.3136, 0.0668, 0.4150},
32989 {0.1929, 0.3144, 0.2390, 0.2538},
32990 {0.1548, 0.3427, 0.1618, 0.3406}},
32991 {
32992 {0.3067, 0.2269, 0.1948, 0.2716},
32993 {0.2883, 0.2612, 0.0442, 0.4062},
32994 {0.2818, 0.2397, 0.2433, 0.2352},
32995 {0.1556, 0.3486, 0.1975, 0.2983}},
32996 {
32997 {0.2478, 0.1806, 0.2450, 0.3266},
32998 {0.2126, 0.2881, 0.0330, 0.4663},
32999 {0.3766, 0.1957, 0.2293, 0.1984},
33000 {0.1579, 0.2968, 0.2957, 0.2496}},
33001 {
33002 {0.2379, 0.3617, 0.1997, 0.2007},
33003 {0.2414, 0.3004, 0.0263, 0.4320},
33004 {0.3587, 0.1892, 0.1456, 0.3065},
33005 {0.2072, 0.2883, 0.2054, 0.2991}},
33006 {
33007 {0.2516, 0.4210, 0.0913, 0.2361},
33008 {0.1804, 0.2740, 0.0642, 0.4815},
33009 {0.3521, 0.3070, 0.1666, 0.1742},
33010 {0.1392, 0.3367, 0.2331, 0.2909}},
33011 {
33012 {0.1967, 0.3365, 0.2078, 0.2590},
33013 {0.2180, 0.3388, 0.0543, 0.3889},
33014 {0.2905, 0.2012, 0.2088, 0.2995},
33015 {0.1894, 0.3269, 0.1852, 0.2986}},
33016 {
33017 {0.2861, 0.2780, 0.1707, 0.2652},
33018 {0.2219, 0.3121, 0.0067, 0.4593},
33019 {0.3139, 0.3077, 0.2461, 0.1324},
33020 {0.1409, 0.2963, 0.2604, 0.3024}},
33021 {
33022 {0.2210, 0.3547, 0.1336, 0.2908},
33023 {0.2403, 0.3413, 0.0472, 0.3711},
33024 {0.2110, 0.2805, 0.1449, 0.3636},
33025 {0.0717, 0.2952, 0.2857, 0.3475}},
33026 {
33027 {0.1714, 0.4213, 0.1379, 0.2693},
33028 {0.2555, 0.3022, 0.0401, 0.4022},
33029 {0.2366, 0.3991, 0.0861, 0.2782},
33030 {0.1191, 0.2828, 0.2232, 0.3749}},
33031 {
33032 {0.1235, 0.3857, 0.1664, 0.3245},
33033 {0.1296, 0.3181, 0.0970, 0.4553},
33034 {0.1722, 0.3240, 0.1244, 0.3794},
33035 {0.0968, 0.3580, 0.2064, 0.3389}},
33036 {
33037 {0.2730, 0.2771, 0.1136, 0.3363},
33038 {0.1397, 0.4212, 0.0264, 0.4126},
33039 {0.2056, 0.2717, 0.1490, 0.3736},
33040 {0.0688, 0.3341, 0.2078, 0.3893}},
33041 {
33042 {0.0941, 0.3502, 0.0968, 0.4589},
33043 {0.1804, 0.3381, 0.0126, 0.4689},
33044 {0.1251, 0.3815, 0.0912, 0.4022},
33045 {0.0844, 0.3215, 0.2137, 0.3803}},
33046 {
33047 {0.1107, 0.4067, 0.1154, 0.3673},
33048 {0.0868, 0.3792, 0.0266, 0.5075},
33049 {0.0970, 0.2047, 0.1918, 0.5066},
33050 {0.0898, 0.3594, 0.1926, 0.3582}},
33051 {
33052 {0.1952, 0.2974, 0.0441, 0.4632},
33053 {0.0973, 0.3530, 0.0203, 0.5293},
33054 {0.1739, 0.3593, 0.0938, 0.3729},
33055 {0.0581, 0.3439, 0.1891, 0.4089}},
33056 {
33057 {0.0646, 0.3908, 0.0248, 0.5198},
33058 {0.1192, 0.3756, 0.0373, 0.4678},
33059 {0.0000, 0.3756, 0.0940, 0.5304},
33060 {0.0392, 0.3184, 0.1776, 0.4647}},
33061 {
33062 {0.1084, 0.4671, 0.0000, 0.4244},
33063 {0.0783, 0.2905, 0.0252, 0.6061},
33064 {0.1596, 0.2756, 0.2077, 0.3572},
33065 {0.0413, 0.3113, 0.1959, 0.4515}},
33066 {
33067 {0.0907, 0.4887, 0.1218, 0.2988},
33068 {0.1074, 0.3921, 0.0347, 0.4658},
33069 {0.0578, 0.2883, 0.1618, 0.4921},
33070 {0.0432, 0.3755, 0.2040, 0.3773}},
33071 {
33072 {0.1504, 0.3941, 0.0000, 0.4554},
33073 {0.0862, 0.3672, 0.0120, 0.5347},
33074 {0.0763, 0.3236, 0.0791, 0.5210},
33075 {0.0659, 0.3878, 0.1728, 0.3736}},
33076 {
33077 {0.1722, 0.4571, 0.0273, 0.3434},
33078 {0.1307, 0.3608, 0.0262, 0.4823},
33079 {0.1232, 0.2297, 0.1538, 0.4933},
33080 {0.0887, 0.3977, 0.2017, 0.3119}},
33081 {
33082 {0.0765, 0.3486, 0.0387, 0.5363},
33083 {0.0879, 0.4183, 0.0177, 0.4761},
33084 {0.0375, 0.2477, 0.2119, 0.5030},
33085 {0.0913, 0.4550, 0.1063, 0.3474}},
33086 {
33087 {0.1150, 0.4506, 0.0000, 0.4344},
33088 {0.1143, 0.4575, 0.0100, 0.4181},
33089 {0.1232, 0.3260, 0.1432, 0.4076},
33090 {0.0717, 0.4414, 0.1138, 0.3731}},
33091 {
33092 {0.1689, 0.4142, 0.0438, 0.3731},
33093 {0.1084, 0.3906, 0.0094, 0.4916},
33094 {0.1380, 0.3100, 0.2089, 0.3431},
33095 {0.0224, 0.2667, 0.1141, 0.5968}},
33096 {
33097 {0.2736, 0.4073, 0.1656, 0.1536},
33098 {0.3213, 0.3564, 0.0709, 0.2513},
33099 {0.3303, 0.3612, 0.2723, 0.0363},
33100 {0.1719, 0.2437, 0.3233, 0.2611}},
33101 {
33102 {0.0642, 0.7484, 0.0000, 0.1874},
33103 {0.0335, 0.6672, 0.0000, 0.2993},
33104 {0.0429, 0.8038, 0.0190, 0.1343},
33105 {0.0495, 0.6848, 0.0000, 0.2656}},
33106 {
33107 {1.0000, 0.0000, 0.0000, 0.0000},
33108 {1.0000, 0.0000, 0.0000, 0.0000},
33109 {1.0000, 0.0000, 0.0000, 0.0000},
33110 {1.0000, 0.0000, 0.0000, 0.0000}},
33111 {
33112 {0.0000, 0.0000, 1.0000, 0.0000},
33113 {0.0000, 0.0000, 0.0000, 0.0000},
33114 {0.0000, 0.0000, 0.0000, 0.0000},
33115 {0.0000, 0.0000, 0.0000, 0.0000}},
33116 {
33117 {0.0000, 0.0000, 0.0000, 0.0000},
33118 {0.0000, 0.0000, 0.0000, 0.0000},
33119 {0.2772, 0.1386, 0.5047, 0.0795},
33120 {0.0000, 0.0000, 0.0000, 0.0000}},
33121 {
33122 {0.2371, 0.1293, 0.1558, 0.4778},
33123 {0.1617, 0.1544, 0.0304, 0.6536},
33124 {0.2708, 0.1793, 0.1966, 0.3533},
33125 {0.2273, 0.1691, 0.1670, 0.4366}},
33126 {
33127 {0.1622, 0.3604, 0.2668, 0.2105},
33128 {0.1377, 0.3750, 0.0951, 0.3922},
33129 {0.2069, 0.3364, 0.1495, 0.3072},
33130 {0.0744, 0.3155, 0.4067, 0.2033}},
33131 {
33132 {0.3842, 0.1914, 0.3077, 0.1167},
33133 {0.3266, 0.3328, 0.1841, 0.1566},
33134 {0.2399, 0.2628, 0.3393, 0.1579},
33135 {0.1585, 0.1540, 0.5341, 0.1534}},
33136 {
33137 {0.3952, 0.2473, 0.1278, 0.2298},
33138 {0.2314, 0.1979, 0.1479, 0.4228},
33139 {0.3850, 0.2399, 0.1893, 0.1859},
33140 {0.1678, 0.1498, 0.1542, 0.5282}},
33141 {
33142 {0.2008, 0.2196, 0.3986, 0.1810},
33143 {0.2958, 0.3315, 0.1044, 0.2683},
33144 {0.2328, 0.2356, 0.2779, 0.2537},
33145 {0.0971, 0.2421, 0.4238, 0.2370}},
33146 {
33147 {0.3191, 0.1394, 0.4133, 0.1283},
33148 {0.3605, 0.2389, 0.0724, 0.3283},
33149 {0.3013, 0.1489, 0.4323, 0.1175},
33150 {0.1636, 0.2616, 0.4518, 0.1230}},
33151 {
33152 {0.3831, 0.2120, 0.1672, 0.2377},
33153 {0.3444, 0.1325, 0.1791, 0.3441},
33154 {0.4501, 0.1870, 0.2055, 0.1574},
33155 {0.1439, 0.3422, 0.2519, 0.2620}},
33156 {
33157 {0.1658, 0.2401, 0.3852, 0.2089},
33158 {0.2816, 0.3527, 0.0349, 0.3307},
33159 {0.1268, 0.4027, 0.2978, 0.1726},
33160 {0.1471, 0.2143, 0.4408, 0.1978}},
33161 {
33162 {0.2190, 0.2135, 0.4556, 0.1120},
33163 {0.3248, 0.3696, 0.0821, 0.2235},
33164 {0.2852, 0.1525, 0.4197, 0.1426},
33165 {0.0911, 0.1602, 0.6679, 0.0807}},
33166 {
33167 {0.4927, 0.1669, 0.0901, 0.2503},
33168 {0.2592, 0.1663, 0.2144, 0.3601},
33169 {0.4191, 0.2007, 0.1916, 0.1886},
33170 {0.1379, 0.2721, 0.2098, 0.3803}},
33171 {
33172 {0.1711, 0.2530, 0.3858, 0.1901},
33173 {0.2133, 0.4636, 0.1002, 0.2229},
33174 {0.0990, 0.4258, 0.2468, 0.2284},
33175 {0.1025, 0.2839, 0.4492, 0.1643}},
33176 {
33177 {0.2557, 0.1661, 0.3989, 0.1792},
33178 {0.3709, 0.2583, 0.1060, 0.2647},
33179 {0.2931, 0.2456, 0.2717, 0.1896},
33180 {0.1848, 0.1750, 0.4162, 0.2241}},
33181 {
33182 {0.3673, 0.1219, 0.1613, 0.3494},
33183 {0.2930, 0.2817, 0.0704, 0.3550},
33184 {0.4093, 0.2314, 0.2295, 0.1298},
33185 {0.2291, 0.1968, 0.1967, 0.3774}},
33186 {
33187 {0.1382, 0.2352, 0.3671, 0.2594},
33188 {0.2868, 0.3329, 0.0332, 0.3472},
33189 {0.1064, 0.3676, 0.3417, 0.1842},
33190 {0.0902, 0.3942, 0.3174, 0.1982}},
33191 {
33192 {0.1749, 0.1966, 0.4766, 0.1519},
33193 {0.3772, 0.2973, 0.0885, 0.2370},
33194 {0.2984, 0.2426, 0.3541, 0.1049},
33195 {0.2096, 0.1833, 0.4452, 0.1619}},
33196 {
33197 {0.2713, 0.1483, 0.2730, 0.3074},
33198 {0.2661, 0.2615, 0.1585, 0.3139},
33199 {0.4937, 0.1464, 0.2325, 0.1273},
33200 {0.1509, 0.3281, 0.1766, 0.3444}},
33201 {
33202 {0.2042, 0.2455, 0.3666, 0.1836},
33203 {0.2486, 0.4034, 0.1012, 0.2469},
33204 {0.2090, 0.2822, 0.3072, 0.2015},
33205 {0.0784, 0.2644, 0.4579, 0.1992}},
33206 {
33207 {0.1959, 0.2157, 0.4555, 0.1328},
33208 {0.3667, 0.2930, 0.1367, 0.2036},
33209 {0.3013, 0.2714, 0.2745, 0.1528},
33210 {0.1412, 0.1806, 0.5594, 0.1188}},
33211 {
33212 {0.3572, 0.1724, 0.2209, 0.2494},
33213 {0.2974, 0.2562, 0.0742, 0.3722},
33214 {0.4043, 0.2066, 0.1976, 0.1915},
33215 {0.2320, 0.2196, 0.1876, 0.3608}},
33216 {
33217 {0.1577, 0.2469, 0.3755, 0.2199},
33218 {0.2487, 0.3305, 0.0524, 0.3684},
33219 {0.1463, 0.3350, 0.3033, 0.2154},
33220 {0.0730, 0.2478, 0.4976, 0.1815}},
33221 {
33222 {0.2099, 0.2596, 0.4573, 0.0732},
33223 {0.3177, 0.2647, 0.1404, 0.2772},
33224 {0.2610, 0.2046, 0.3396, 0.1948},
33225 {0.1156, 0.2148, 0.4941, 0.1755}},
33226 {
33227 {0.3992, 0.1175, 0.2191, 0.2642},
33228 {0.1517, 0.1340, 0.1437, 0.5706},
33229 {0.2887, 0.2767, 0.1965, 0.2381},
33230 {0.2127, 0.3147, 0.1220, 0.3505}},
33231 {
33232 {0.1588, 0.2868, 0.3095, 0.2449},
33233 {0.2654, 0.3460, 0.0882, 0.3004},
33234 {0.1687, 0.4094, 0.1715, 0.2504},
33235 {0.0535, 0.3680, 0.4483, 0.1301}},
33236 {
33237 {0.2054, 0.2363, 0.4673, 0.0910},
33238 {0.3728, 0.2253, 0.1537, 0.2482},
33239 {0.2429, 0.2244, 0.3027, 0.2300},
33240 {0.1695, 0.2191, 0.4003, 0.2111}},
33241 {
33242 {0.3015, 0.1785, 0.2335, 0.2865},
33243 {0.3018, 0.2080, 0.1340, 0.3562},
33244 {0.3210, 0.2590, 0.2243, 0.1957},
33245 {0.2526, 0.2258, 0.1984, 0.3232}},
33246 {
33247 {0.1762, 0.2893, 0.3841, 0.1504},
33248 {0.2607, 0.3505, 0.0670, 0.3218},
33249 {0.1723, 0.3379, 0.2639, 0.2260},
33250 {0.1024, 0.3103, 0.4350, 0.1524}},
33251 {
33252 {0.2295, 0.2773, 0.4270, 0.0663},
33253 {0.4003, 0.2410, 0.0989, 0.2598},
33254 {0.3334, 0.2193, 0.3155, 0.1318},
33255 {0.0851, 0.2274, 0.5275, 0.1599}},
33256 {
33257 {0.4041, 0.1906, 0.1539, 0.2514},
33258 {0.2665, 0.2070, 0.2200, 0.3065},
33259 {0.4966, 0.1724, 0.1663, 0.1647},
33260 {0.1896, 0.3784, 0.1801, 0.2520}},
33261 {
33262 {0.1488, 0.2084, 0.4442, 0.1985},
33263 {0.2630, 0.3178, 0.0629, 0.3562},
33264 {0.1285, 0.3713, 0.2980, 0.2022},
33265 {0.0930, 0.2476, 0.5060, 0.1535}},
33266 {
33267 {0.2011, 0.1917, 0.4612, 0.1460},
33268 {0.3890, 0.3592, 0.0885, 0.1633},
33269 {0.2103, 0.2088, 0.4446, 0.1363},
33270 {0.1114, 0.2532, 0.5543, 0.0810}},
33271 {
33272 {0.2967, 0.1451, 0.1960, 0.3621},
33273 {0.2443, 0.1337, 0.1817, 0.4404},
33274 {0.3975, 0.2143, 0.2000, 0.1882},
33275 {0.1742, 0.2340, 0.1867, 0.4051}},
33276 {
33277 {0.1929, 0.2849, 0.3724, 0.1497},
33278 {0.1642, 0.4794, 0.0520, 0.3043},
33279 {0.2320, 0.3838, 0.2429, 0.1413},
33280 {0.1027, 0.2919, 0.4313, 0.1741}},
33281 {
33282 {0.1444, 0.3129, 0.4303, 0.1124},
33283 {0.2765, 0.3554, 0.1356, 0.2326},
33284 {0.2728, 0.2946, 0.3318, 0.1008},
33285 {0.1764, 0.2295, 0.4438, 0.1504}},
33286 {
33287 {0.2829, 0.2175, 0.2128, 0.2868},
33288 {0.2647, 0.2087, 0.1656, 0.3611},
33289 {0.4678, 0.1865, 0.1515, 0.1943},
33290 {0.2017, 0.2992, 0.2222, 0.2769}},
33291 {
33292 {0.1473, 0.2442, 0.4767, 0.1318},
33293 {0.3076, 0.3642, 0.0622, 0.2660},
33294 {0.1836, 0.2959, 0.3379, 0.1826},
33295 {0.0920, 0.2321, 0.4629, 0.2130}},
33296 {
33297 {0.1779, 0.2141, 0.5200, 0.0880},
33298 {0.3422, 0.3535, 0.1045, 0.1998},
33299 {0.3642, 0.2154, 0.3410, 0.0793},
33300 {0.2196, 0.2412, 0.4336, 0.1057}},
33301 {
33302 {0.4160, 0.1937, 0.1208, 0.2695},
33303 {0.3385, 0.1308, 0.1820, 0.3488},
33304 {0.5077, 0.1560, 0.2258, 0.1105},
33305 {0.1594, 0.3178, 0.1900, 0.3329}},
33306 {
33307 {0.1716, 0.2494, 0.4007, 0.1782},
33308 {0.2760, 0.2495, 0.0615, 0.4130},
33309 {0.1779, 0.3349, 0.2889, 0.1983},
33310 {0.1296, 0.3133, 0.3663, 0.1909}},
33311 {
33312 {0.2184, 0.1787, 0.5144, 0.0886},
33313 {0.2965, 0.3039, 0.1450, 0.2546},
33314 {0.2922, 0.1887, 0.3394, 0.1797},
33315 {0.0877, 0.3123, 0.4973, 0.1027}},
33316 {
33317 {0.4263, 0.1490, 0.2026, 0.2221},
33318 {0.3480, 0.1364, 0.1687, 0.3469},
33319 {0.4144, 0.1794, 0.1841, 0.2220},
33320 {0.3447, 0.1646, 0.1987, 0.2919}},
33321 {
33322 {0.1778, 0.2891, 0.3551, 0.1780},
33323 {0.2919, 0.3042, 0.0410, 0.3629},
33324 {0.1846, 0.3211, 0.2945, 0.1997},
33325 {0.1178, 0.2895, 0.4530, 0.1397}},
33326 {
33327 {0.2500, 0.2102, 0.4395, 0.1003},
33328 {0.3374, 0.3572, 0.1047, 0.2007},
33329 {0.3261, 0.2434, 0.3202, 0.1103},
33330 {0.0567, 0.2046, 0.6237, 0.1150}},
33331 {
33332 {0.3552, 0.1732, 0.2868, 0.1849},
33333 {0.2334, 0.2430, 0.1235, 0.4001},
33334 {0.3634, 0.1804, 0.2370, 0.2192},
33335 {0.1973, 0.1496, 0.2308, 0.4223}},
33336 {
33337 {0.1820, 0.2797, 0.3484, 0.1899},
33338 {0.2775, 0.3387, 0.0593, 0.3245},
33339 {0.2323, 0.3726, 0.1982, 0.1969},
33340 {0.1219, 0.3123, 0.3803, 0.1854}},
33341 {
33342 {0.2816, 0.1580, 0.4302, 0.1301},
33343 {0.3899, 0.2827, 0.1134, 0.2140},
33344 {0.2989, 0.2168, 0.3629, 0.1214},
33345 {0.1361, 0.1895, 0.5315, 0.1428}},
33346 {
33347 {0.3951, 0.2265, 0.1543, 0.2241},
33348 {0.2806, 0.1754, 0.1983, 0.3456},
33349 {0.3749, 0.2151, 0.2430, 0.1671},
33350 {0.1457, 0.1999, 0.2611, 0.3933}},
33351 {
33352 {0.1747, 0.2192, 0.4224, 0.1837},
33353 {0.2400, 0.3636, 0.0665, 0.3299},
33354 {0.1390, 0.3934, 0.2414, 0.2262},
33355 {0.0659, 0.3509, 0.4082, 0.1749}},
33356 {
33357 {0.2957, 0.2078, 0.4391, 0.0574},
33358 {0.4039, 0.3149, 0.0864, 0.1948},
33359 {0.2490, 0.1972, 0.4155, 0.1383},
33360 {0.2220, 0.1974, 0.4510, 0.1296}},
33361 {
33362 {0.3352, 0.2216, 0.1822, 0.2609},
33363 {0.4091, 0.1703, 0.1610, 0.2596},
33364 {0.3998, 0.2365, 0.1257, 0.2380},
33365 {0.1778, 0.2256, 0.1106, 0.4860}}},
33366
33367 { /* Splice_Site: T2_AG; Species: Rat */
33368 {
33369 {0.1986, 0.1986, 0.1986, 0.1986},
33370 {0.2777, 0.2777, 0.2777, 0.2777},
33371 {0.2596, 0.2596, 0.2596, 0.2596},
33372 {0.2641, 0.2641, 0.2641, 0.2641}},
33373 {
33374 {0.2237, 0.2664, 0.2920, 0.2179},
33375 {0.3413, 0.2741, 0.0640, 0.3207},
33376 {0.2248, 0.2143, 0.3969, 0.1639},
33377 {0.1781, 0.2163, 0.3974, 0.2083}},
33378 {
33379 {0.2073, 0.1846, 0.4207, 0.1873},
33380 {0.2763, 0.3036, 0.0697, 0.3504},
33381 {0.2823, 0.2367, 0.2260, 0.2551},
33382 {0.2327, 0.1874, 0.3568, 0.2232}},
33383 {
33384 {0.2690, 0.2493, 0.3612, 0.1206},
33385 {0.2211, 0.3022, 0.1338, 0.3429},
33386 {0.2318, 0.1703, 0.4249, 0.1731},
33387 {0.1593, 0.2410, 0.3498, 0.2499}},
33388 {
33389 {0.2040, 0.1409, 0.3758, 0.2794},
33390 {0.3028, 0.3288, 0.0608, 0.3076},
33391 {0.2274, 0.1797, 0.3501, 0.2428},
33392 {0.2257, 0.2779, 0.2460, 0.2503}},
33393 {
33394 {0.2232, 0.2146, 0.3757, 0.1864},
33395 {0.1993, 0.3920, 0.0891, 0.3196},
33396 {0.1910, 0.2031, 0.4251, 0.1808},
33397 {0.1709, 0.2333, 0.3345, 0.2613}},
33398 {
33399 {0.1823, 0.1841, 0.3408, 0.2928},
33400 {0.2095, 0.2632, 0.0779, 0.4494},
33401 {0.2199, 0.2189, 0.3880, 0.1732},
33402 {0.1142, 0.2367, 0.3319, 0.3172}},
33403 {
33404 {0.2243, 0.3036, 0.3671, 0.1049},
33405 {0.2357, 0.3723, 0.1003, 0.2917},
33406 {0.2124, 0.2394, 0.3424, 0.2058},
33407 {0.1136, 0.2488, 0.4805, 0.1570}},
33408 {
33409 {0.1709, 0.2741, 0.3325, 0.2225},
33410 {0.2153, 0.3287, 0.1188, 0.3372},
33411 {0.2311, 0.2286, 0.3269, 0.2134},
33412 {0.1571, 0.2945, 0.2882, 0.2602}},
33413 {
33414 {0.2978, 0.2341, 0.3325, 0.1355},
33415 {0.2718, 0.2603, 0.0935, 0.3743},
33416 {0.2629, 0.2373, 0.3312, 0.1687},
33417 {0.1218, 0.2566, 0.3459, 0.2757}},
33418 {
33419 {0.2474, 0.2620, 0.3515, 0.1390},
33420 {0.1989, 0.3779, 0.0693, 0.3539},
33421 {0.2220, 0.1634, 0.3696, 0.2450},
33422 {0.1576, 0.2927, 0.2796, 0.2701}},
33423 {
33424 {0.2019, 0.2499, 0.2876, 0.2606},
33425 {0.1917, 0.2933, 0.0839, 0.4312},
33426 {0.3456, 0.1273, 0.3676, 0.1596},
33427 {0.1003, 0.2923, 0.3441, 0.2634}},
33428 {
33429 {0.2022, 0.2417, 0.3658, 0.1902},
33430 {0.2960, 0.3320, 0.0518, 0.3202},
33431 {0.2716, 0.2521, 0.2974, 0.1790},
33432 {0.1206, 0.3438, 0.3039, 0.2317}},
33433 {
33434 {0.2383, 0.2458, 0.3956, 0.1204},
33435 {0.2196, 0.4396, 0.0510, 0.2897},
33436 {0.2322, 0.3067, 0.2703, 0.1908},
33437 {0.1749, 0.2431, 0.3802, 0.2018}},
33438 {
33439 {0.2565, 0.2122, 0.2767, 0.2546},
33440 {0.2552, 0.3630, 0.0674, 0.3144},
33441 {0.2180, 0.1675, 0.4094, 0.2052},
33442 {0.1687, 0.3234, 0.2737, 0.2342}},
33443 {
33444 {0.2198, 0.2154, 0.2543, 0.3105},
33445 {0.2911, 0.3274, 0.0674, 0.3141},
33446 {0.1977, 0.2504, 0.2643, 0.2876},
33447 {0.1071, 0.2341, 0.3947, 0.2641}},
33448 {
33449 {0.2250, 0.2455, 0.2975, 0.2320},
33450 {0.1666, 0.3389, 0.0497, 0.4448},
33451 {0.2180, 0.2368, 0.3182, 0.2270},
33452 {0.1731, 0.2737, 0.2608, 0.2924}},
33453 {
33454 {0.2308, 0.2363, 0.3083, 0.2246},
33455 {0.2397, 0.3818, 0.0374, 0.3412},
33456 {0.2885, 0.2255, 0.3528, 0.1333},
33457 {0.1587, 0.2536, 0.3266, 0.2611}},
33458 {
33459 {0.2158, 0.2012, 0.2815, 0.3016},
33460 {0.2222, 0.4091, 0.0812, 0.2875},
33461 {0.3083, 0.2309, 0.3025, 0.1584},
33462 {0.1720, 0.2860, 0.2601, 0.2819}},
33463 {
33464 {0.2510, 0.2195, 0.2796, 0.2500},
33465 {0.2623, 0.3427, 0.0363, 0.3586},
33466 {0.2066, 0.3214, 0.2693, 0.2027},
33467 {0.1573, 0.2376, 0.3225, 0.2826}},
33468 {
33469 {0.3043, 0.2699, 0.2450, 0.1808},
33470 {0.2076, 0.4366, 0.0542, 0.3016},
33471 {0.1638, 0.2203, 0.3808, 0.2350},
33472 {0.1624, 0.3031, 0.3017, 0.2328}},
33473 {
33474 {0.1842, 0.2978, 0.3346, 0.1834},
33475 {0.1917, 0.3760, 0.0815, 0.3508},
33476 {0.2757, 0.2558, 0.2074, 0.2610},
33477 {0.1353, 0.2441, 0.3731, 0.2474}},
33478 {
33479 {0.2199, 0.2331, 0.2792, 0.2679},
33480 {0.2723, 0.3507, 0.0349, 0.3421},
33481 {0.2554, 0.2964, 0.1995, 0.2487},
33482 {0.1470, 0.2648, 0.3508, 0.2375}},
33483 {
33484 {0.2331, 0.3176, 0.2187, 0.2307},
33485 {0.2804, 0.2892, 0.0256, 0.4048},
33486 {0.1702, 0.3094, 0.2954, 0.2251},
33487 {0.1766, 0.2714, 0.2766, 0.2754}},
33488 {
33489 {0.2610, 0.2830, 0.2590, 0.1970},
33490 {0.1829, 0.3353, 0.0750, 0.4067},
33491 {0.2882, 0.1376, 0.2599, 0.3144},
33492 {0.1302, 0.2941, 0.2677, 0.3081}},
33493 {
33494 {0.1952, 0.3162, 0.2075, 0.2811},
33495 {0.2013, 0.2945, 0.0912, 0.4129},
33496 {0.3042, 0.2063, 0.2356, 0.2539},
33497 {0.1729, 0.3161, 0.2848, 0.2262}},
33498 {
33499 {0.1783, 0.4027, 0.2107, 0.2083},
33500 {0.2354, 0.3978, 0.0803, 0.2865},
33501 {0.2425, 0.3010, 0.1641, 0.2925},
33502 {0.1385, 0.2028, 0.2785, 0.3801}},
33503 {
33504 {0.1569, 0.3104, 0.1952, 0.3376},
33505 {0.1945, 0.2750, 0.0652, 0.4653},
33506 {0.2410, 0.1868, 0.2441, 0.3281},
33507 {0.1224, 0.3593, 0.2412, 0.2771}},
33508 {
33509 {0.2370, 0.3878, 0.1767, 0.1986},
33510 {0.2975, 0.2344, 0.0895, 0.3786},
33511 {0.2006, 0.2262, 0.3443, 0.2289},
33512 {0.1726, 0.2736, 0.2540, 0.2998}},
33513 {
33514 {0.2224, 0.4352, 0.1593, 0.1831},
33515 {0.2434, 0.2815, 0.0832, 0.3919},
33516 {0.3048, 0.2523, 0.2622, 0.1808},
33517 {0.1499, 0.2960, 0.2233, 0.3307}},
33518 {
33519 {0.1732, 0.2706, 0.2073, 0.3488},
33520 {0.2083, 0.3003, 0.0174, 0.4741},
33521 {0.2765, 0.1859, 0.2514, 0.2862},
33522 {0.1126, 0.2849, 0.3025, 0.3000}},
33523 {
33524 {0.1812, 0.3245, 0.2475, 0.2467},
33525 {0.1793, 0.3487, 0.0733, 0.3987},
33526 {0.3178, 0.1714, 0.1891, 0.3218},
33527 {0.1680, 0.2995, 0.2794, 0.2531}},
33528 {
33529 {0.2456, 0.4381, 0.1118, 0.2044},
33530 {0.1947, 0.3021, 0.0424, 0.4609},
33531 {0.2969, 0.2535, 0.2197, 0.2299},
33532 {0.1055, 0.3492, 0.2590, 0.2864}},
33533 {
33534 {0.1926, 0.4287, 0.2021, 0.1766},
33535 {0.1750, 0.3153, 0.0138, 0.4960},
33536 {0.2678, 0.2317, 0.1934, 0.3071},
33537 {0.1402, 0.3778, 0.2239, 0.2581}},
33538 {
33539 {0.2194, 0.2417, 0.1240, 0.4149},
33540 {0.2282, 0.3036, 0.0655, 0.4027},
33541 {0.2323, 0.2777, 0.1081, 0.3820},
33542 {0.0888, 0.2986, 0.2286, 0.3840}},
33543 {
33544 {0.2060, 0.4341, 0.0967, 0.2632},
33545 {0.2308, 0.2594, 0.0606, 0.4492},
33546 {0.2486, 0.2427, 0.1894, 0.3193},
33547 {0.0513, 0.2811, 0.2901, 0.3774}},
33548 {
33549 {0.1429, 0.3362, 0.1911, 0.3297},
33550 {0.1791, 0.3853, 0.0403, 0.3953},
33551 {0.1463, 0.1852, 0.1741, 0.4944},
33552 {0.1188, 0.3289, 0.2182, 0.3341}},
33553 {
33554 {0.1408, 0.3908, 0.1226, 0.3457},
33555 {0.1056, 0.3609, 0.0977, 0.4358},
33556 {0.2007, 0.3775, 0.1558, 0.2660},
33557 {0.0811, 0.4038, 0.2139, 0.3012}},
33558 {
33559 {0.2204, 0.3610, 0.0688, 0.3498},
33560 {0.1413, 0.3721, 0.0498, 0.4368},
33561 {0.0616, 0.3424, 0.0822, 0.5138},
33562 {0.0713, 0.3401, 0.2653, 0.3233}},
33563 {
33564 {0.1536, 0.2658, 0.0945, 0.4861},
33565 {0.1002, 0.3709, 0.0760, 0.4530},
33566 {0.1202, 0.2717, 0.1415, 0.4666},
33567 {0.0414, 0.3580, 0.1513, 0.4493}},
33568 {
33569 {0.0669, 0.4123, 0.0000, 0.5208},
33570 {0.0832, 0.2995, 0.0614, 0.5559},
33571 {0.1581, 0.5010, 0.0422, 0.2987},
33572 {0.0595, 0.3797, 0.1983, 0.3625}},
33573 {
33574 {0.1419, 0.3142, 0.0312, 0.5127},
33575 {0.0624, 0.2854, 0.0609, 0.5913},
33576 {0.0900, 0.2106, 0.1980, 0.5014},
33577 {0.0278, 0.3000, 0.2200, 0.4522}},
33578 {
33579 {0.0926, 0.3963, 0.0000, 0.5111},
33580 {0.0708, 0.2758, 0.0370, 0.6164},
33581 {0.0686, 0.3851, 0.1030, 0.4433},
33582 {0.0626, 0.3391, 0.1863, 0.4120}},
33583 {
33584 {0.0356, 0.2941, 0.0377, 0.6325},
33585 {0.0855, 0.3641, 0.0085, 0.5419},
33586 {0.0207, 0.1794, 0.1938, 0.6061},
33587 {0.0807, 0.4173, 0.1418, 0.3602}},
33588 {
33589 {0.0351, 0.5393, 0.0000, 0.4256},
33590 {0.1126, 0.4105, 0.0681, 0.4088},
33591 {0.0552, 0.1230, 0.2750, 0.5467},
33592 {0.0736, 0.4837, 0.1740, 0.2688}},
33593 {
33594 {0.1176, 0.2982, 0.0272, 0.5570},
33595 {0.1056, 0.3890, 0.0000, 0.5054},
33596 {0.0563, 0.3514, 0.0907, 0.5017},
33597 {0.1019, 0.3798, 0.2209, 0.2974}},
33598 {
33599 {0.1493, 0.5455, 0.0000, 0.3052},
33600 {0.0820, 0.4774, 0.0060, 0.4346},
33601 {0.1373, 0.2369, 0.2123, 0.4135},
33602 {0.0435, 0.4142, 0.1052, 0.4371}},
33603 {
33604 {0.0674, 0.5660, 0.0666, 0.3000},
33605 {0.0405, 0.5719, 0.0462, 0.3413},
33606 {0.0355, 0.4025, 0.2216, 0.3404},
33607 {0.0478, 0.2873, 0.0860, 0.5789}},
33608 {
33609 {0.4354, 0.4562, 0.0000, 0.1084},
33610 {0.3251, 0.3809, 0.0930, 0.2010},
33611 {0.2322, 0.2545, 0.3500, 0.1632},
33612 {0.1820, 0.2976, 0.2571, 0.2633}},
33613 {
33614 {0.0089, 0.8737, 0.0000, 0.1175},
33615 {0.0148, 0.7465, 0.0069, 0.2319},
33616 {0.0264, 0.7368, 0.0000, 0.2369},
33617 {0.0000, 0.7654, 0.0000, 0.2346}},
33618 {
33619 {1.0000, 0.0000, 0.0000, 0.0000},
33620 {1.0000, 0.0000, 0.0000, 0.0000},
33621 {1.0000, 0.0000, 0.0000, 0.0000},
33622 {1.0000, 0.0000, 0.0000, 0.0000}},
33623 {
33624 {0.0000, 0.0000, 1.0000, 0.0000},
33625 {0.0000, 0.0000, 0.0000, 0.0000},
33626 {0.0000, 0.0000, 0.0000, 0.0000},
33627 {0.0000, 0.0000, 0.0000, 0.0000}},
33628 {
33629 {0.0000, 0.0000, 0.0000, 0.0000},
33630 {0.0000, 0.0000, 0.0000, 0.0000},
33631 {0.2661, 0.1114, 0.5388, 0.0838},
33632 {0.0000, 0.0000, 0.0000, 0.0000}},
33633 {
33634 {0.2082, 0.2154, 0.3339, 0.2425},
33635 {0.1343, 0.2965, 0.1406, 0.4285},
33636 {0.1928, 0.3210, 0.1911, 0.2951},
33637 {0.0292, 0.1929, 0.4586, 0.3193}},
33638 {
33639 {0.2746, 0.2034, 0.2577, 0.2643},
33640 {0.3095, 0.2764, 0.0833, 0.3307},
33641 {0.2239, 0.2861, 0.3267, 0.1633},
33642 {0.1526, 0.2346, 0.4640, 0.1488}},
33643 {
33644 {0.4206, 0.1818, 0.1074, 0.2902},
33645 {0.1790, 0.4408, 0.1342, 0.2460},
33646 {0.3558, 0.2499, 0.2133, 0.1811},
33647 {0.1347, 0.4289, 0.1533, 0.2831}},
33648 {
33649 {0.2760, 0.2852, 0.3078, 0.1310},
33650 {0.2795, 0.3207, 0.0482, 0.3516},
33651 {0.2128, 0.3920, 0.1805, 0.2147},
33652 {0.0702, 0.3258, 0.3804, 0.2236}},
33653 {
33654 {0.2306, 0.2077, 0.4540, 0.1077},
33655 {0.3627, 0.3433, 0.1018, 0.1922},
33656 {0.2003, 0.3416, 0.3582, 0.0999},
33657 {0.1069, 0.3535, 0.4433, 0.0962}},
33658 {
33659 {0.3223, 0.1542, 0.2466, 0.2770},
33660 {0.3572, 0.3075, 0.1022, 0.2332},
33661 {0.4054, 0.2087, 0.1507, 0.2351},
33662 {0.1490, 0.3610, 0.2023, 0.2876}},
33663 {
33664 {0.1977, 0.3428, 0.3235, 0.1360},
33665 {0.3330, 0.3108, 0.0420, 0.3142},
33666 {0.3041, 0.3138, 0.1506, 0.2315},
33667 {0.1029, 0.2544, 0.3804, 0.2622}},
33668 {
33669 {0.2667, 0.2020, 0.3956, 0.1357},
33670 {0.3062, 0.2853, 0.0927, 0.3158},
33671 {0.3388, 0.1667, 0.2973, 0.1972},
33672 {0.1138, 0.2887, 0.3682, 0.2292}},
33673 {
33674 {0.2667, 0.2382, 0.2367, 0.2584},
33675 {0.3329, 0.3401, 0.1051, 0.2219},
33676 {0.3449, 0.2315, 0.1328, 0.2907},
33677 {0.0757, 0.3872, 0.1637, 0.3734}},
33678 {
33679 {0.2465, 0.1692, 0.3802, 0.2042},
33680 {0.2897, 0.3715, 0.1016, 0.2372},
33681 {0.2383, 0.2871, 0.2881, 0.1864},
33682 {0.0807, 0.3393, 0.3736, 0.2065}},
33683 {
33684 {0.1276, 0.2383, 0.4042, 0.2298},
33685 {0.4223, 0.2974, 0.1091, 0.1712},
33686 {0.2362, 0.2420, 0.4082, 0.1136},
33687 {0.0938, 0.1327, 0.5551, 0.2185}},
33688 {
33689 {0.3396, 0.2494, 0.1787, 0.2323},
33690 {0.3318, 0.1860, 0.1155, 0.3666},
33691 {0.3904, 0.2652, 0.1648, 0.1796},
33692 {0.1097, 0.3157, 0.3501, 0.2245}},
33693 {
33694 {0.1763, 0.2653, 0.3748, 0.1836},
33695 {0.2907, 0.3787, 0.0427, 0.2879},
33696 {0.1172, 0.3948, 0.2707, 0.2173},
33697 {0.1260, 0.3044, 0.4179, 0.1516}},
33698 {
33699 {0.2188, 0.1845, 0.4307, 0.1660},
33700 {0.3263, 0.2988, 0.1362, 0.2388},
33701 {0.1635, 0.2979, 0.3989, 0.1397},
33702 {0.1044, 0.3827, 0.3938, 0.1191}},
33703 {
33704 {0.2890, 0.2674, 0.2504, 0.1931},
33705 {0.3535, 0.2268, 0.1539, 0.2658},
33706 {0.4420, 0.1615, 0.2073, 0.1892},
33707 {0.0449, 0.3278, 0.3276, 0.2996}},
33708 {
33709 {0.1716, 0.1808, 0.4604, 0.1872},
33710 {0.2062, 0.3244, 0.1164, 0.3530},
33711 {0.2387, 0.2714, 0.2747, 0.2152},
33712 {0.0498, 0.2513, 0.4772, 0.2217}},
33713 {
33714 {0.2656, 0.1478, 0.5159, 0.0707},
33715 {0.3473, 0.2693, 0.1686, 0.2148},
33716 {0.3062, 0.1271, 0.3823, 0.1844},
33717 {0.0509, 0.1153, 0.6450, 0.1888}},
33718 {
33719 {0.2238, 0.2585, 0.2146, 0.3031},
33720 {0.3492, 0.1845, 0.1251, 0.3412},
33721 {0.3922, 0.1110, 0.2418, 0.2550},
33722 {0.2053, 0.2960, 0.1934, 0.3052}},
33723 {
33724 {0.1739, 0.2176, 0.3579, 0.2507},
33725 {0.1887, 0.4223, 0.1041, 0.2850},
33726 {0.1762, 0.2324, 0.4337, 0.1577},
33727 {0.0657, 0.3491, 0.3837, 0.2016}},
33728 {
33729 {0.1225, 0.1709, 0.5392, 0.1674},
33730 {0.3526, 0.2813, 0.1108, 0.2553},
33731 {0.4814, 0.1462, 0.3338, 0.0385},
33732 {0.1380, 0.1517, 0.5329, 0.1774}},
33733 {
33734 {0.2847, 0.2598, 0.1484, 0.3071},
33735 {0.3413, 0.1450, 0.1878, 0.3259},
33736 {0.4481, 0.1448, 0.1793, 0.2277},
33737 {0.0790, 0.3771, 0.1826, 0.3613}},
33738 {
33739 {0.1789, 0.1863, 0.4791, 0.1556},
33740 {0.2092, 0.4953, 0.0779, 0.2176},
33741 {0.2110, 0.3156, 0.3121, 0.1613},
33742 {0.0777, 0.3406, 0.4328, 0.1489}},
33743 {
33744 {0.2093, 0.2763, 0.4083, 0.1061},
33745 {0.3379, 0.3301, 0.0777, 0.2543},
33746 {0.2397, 0.2618, 0.2974, 0.2011},
33747 {0.1496, 0.2129, 0.5617, 0.0758}},
33748 {
33749 {0.2502, 0.2298, 0.2176, 0.3024},
33750 {0.3274, 0.2527, 0.1434, 0.2765},
33751 {0.3991, 0.2299, 0.1913, 0.1797},
33752 {0.2246, 0.2967, 0.2379, 0.2408}},
33753 {
33754 {0.1831, 0.2614, 0.3324, 0.2230},
33755 {0.1642, 0.4285, 0.0511, 0.3562},
33756 {0.2101, 0.3188, 0.2615, 0.2096},
33757 {0.0891, 0.2987, 0.4180, 0.1942}},
33758 {
33759 {0.3423, 0.1663, 0.3642, 0.1272},
33760 {0.3959, 0.2250, 0.1113, 0.2678},
33761 {0.1504, 0.3346, 0.3806, 0.1344},
33762 {0.1119, 0.2482, 0.5168, 0.1231}},
33763 {
33764 {0.2819, 0.2615, 0.1650, 0.2916},
33765 {0.2843, 0.1299, 0.1025, 0.4833},
33766 {0.2727, 0.2052, 0.2618, 0.2603},
33767 {0.1194, 0.2543, 0.3572, 0.2691}},
33768 {
33769 {0.1669, 0.3060, 0.3625, 0.1646},
33770 {0.1960, 0.4223, 0.0511, 0.3307},
33771 {0.1453, 0.3779, 0.2262, 0.2506},
33772 {0.0656, 0.2846, 0.5114, 0.1384}},
33773 {
33774 {0.2808, 0.1649, 0.5321, 0.0222},
33775 {0.3660, 0.2370, 0.1404, 0.2566},
33776 {0.3278, 0.2321, 0.3097, 0.1304},
33777 {0.1933, 0.2193, 0.4201, 0.1673}},
33778 {
33779 {0.3255, 0.2484, 0.1565, 0.2695},
33780 {0.2660, 0.3113, 0.1026, 0.3201},
33781 {0.4004, 0.2376, 0.1511, 0.2109},
33782 {0.1069, 0.1878, 0.4632, 0.2421}},
33783 {
33784 {0.1660, 0.2918, 0.3874, 0.1547},
33785 {0.2041, 0.4214, 0.0594, 0.3152},
33786 {0.1348, 0.3427, 0.2583, 0.2642},
33787 {0.1499, 0.2533, 0.3921, 0.2047}},
33788 {
33789 {0.3097, 0.1689, 0.3826, 0.1388},
33790 {0.3706, 0.2125, 0.1669, 0.2500},
33791 {0.3088, 0.1682, 0.3828, 0.1402},
33792 {0.1414, 0.1634, 0.5830, 0.1121}},
33793 {
33794 {0.2593, 0.1366, 0.3431, 0.2610},
33795 {0.3320, 0.1915, 0.1963, 0.2802},
33796 {0.3614, 0.1513, 0.2039, 0.2835},
33797 {0.1982, 0.3167, 0.2811, 0.2039}},
33798 {
33799 {0.1554, 0.3162, 0.3513, 0.1771},
33800 {0.2211, 0.4189, 0.0693, 0.2907},
33801 {0.2106, 0.2994, 0.3076, 0.1824},
33802 {0.1301, 0.2768, 0.4509, 0.1423}},
33803 {
33804 {0.2534, 0.2515, 0.3934, 0.1017},
33805 {0.3302, 0.3246, 0.1538, 0.1913},
33806 {0.3120, 0.2008, 0.2710, 0.2162},
33807 {0.1622, 0.2094, 0.5230, 0.1054}},
33808 {
33809 {0.3658, 0.1848, 0.1186, 0.3307},
33810 {0.2806, 0.3091, 0.0336, 0.3768},
33811 {0.3138, 0.2404, 0.1955, 0.2503},
33812 {0.1810, 0.3450, 0.1837, 0.2903}},
33813 {
33814 {0.1921, 0.2369, 0.3818, 0.1892},
33815 {0.2905, 0.3041, 0.0274, 0.3780},
33816 {0.1573, 0.3706, 0.2064, 0.2656},
33817 {0.0905, 0.2559, 0.4511, 0.2025}},
33818 {
33819 {0.1661, 0.2806, 0.3168, 0.2365},
33820 {0.2941, 0.3449, 0.1553, 0.2056},
33821 {0.2715, 0.1837, 0.3728, 0.1720},
33822 {0.1418, 0.1522, 0.5365, 0.1696}},
33823 {
33824 {0.3219, 0.1684, 0.2312, 0.2785},
33825 {0.3936, 0.1965, 0.1353, 0.2746},
33826 {0.3389, 0.1956, 0.1802, 0.2853},
33827 {0.1570, 0.1819, 0.2480, 0.4130}},
33828 {
33829 {0.2052, 0.2984, 0.3003, 0.1962},
33830 {0.2240, 0.3547, 0.1100, 0.3114},
33831 {0.1189, 0.2236, 0.4648, 0.1928},
33832 {0.0992, 0.3649, 0.3888, 0.1471}},
33833 {
33834 {0.1986, 0.2587, 0.4010, 0.1417},
33835 {0.3666, 0.2628, 0.0732, 0.2973},
33836 {0.2284, 0.3882, 0.2406, 0.1427},
33837 {0.2038, 0.1116, 0.5211, 0.1635}},
33838 {
33839 {0.3673, 0.1597, 0.1485, 0.3245},
33840 {0.2088, 0.2603, 0.1852, 0.3457},
33841 {0.2938, 0.2198, 0.1976, 0.2888},
33842 {0.1443, 0.2756, 0.3605, 0.2196}},
33843 {
33844 {0.2410, 0.2176, 0.3971, 0.1444},
33845 {0.2332, 0.3686, 0.1248, 0.2734},
33846 {0.1248, 0.3505, 0.2359, 0.2888},
33847 {0.0762, 0.3620, 0.3843, 0.1775}},
33848 {
33849 {0.0755, 0.2379, 0.5122, 0.1744},
33850 {0.3345, 0.2918, 0.2085, 0.1651},
33851 {0.2606, 0.2041, 0.4131, 0.1223},
33852 {0.1802, 0.2621, 0.4166, 0.1411}},
33853 {
33854 {0.3837, 0.2150, 0.1575, 0.2438},
33855 {0.2811, 0.2063, 0.1554, 0.3572},
33856 {0.4188, 0.1893, 0.2731, 0.1188},
33857 {0.1541, 0.2654, 0.1961, 0.3844}},
33858 {
33859 {0.1828, 0.1760, 0.3467, 0.2946},
33860 {0.2828, 0.4309, 0.0213, 0.2650},
33861 {0.1531, 0.3411, 0.2242, 0.2816},
33862 {0.0520, 0.2570, 0.3729, 0.3181}},
33863 {
33864 {0.1665, 0.1540, 0.4999, 0.1797},
33865 {0.3422, 0.3485, 0.1275, 0.1817},
33866 {0.2947, 0.2115, 0.3912, 0.1026},
33867 {0.1212, 0.2102, 0.5537, 0.1149}},
33868 {
33869 {0.3818, 0.2327, 0.1490, 0.2366},
33870 {0.1876, 0.2064, 0.1268, 0.4791},
33871 {0.2825, 0.1098, 0.3070, 0.3008},
33872 {0.1432, 0.3288, 0.2444, 0.2836}},
33873 {
33874 {0.1855, 0.2561, 0.4153, 0.1430},
33875 {0.2552, 0.4021, 0.0259, 0.3168},
33876 {0.1515, 0.3075, 0.3131, 0.2279},
33877 {0.1340, 0.3498, 0.3309, 0.1853}}},
33878
33879 { /* Splice_Site: T0_AG; Species: Rat */
33880 {
33881 {0.2295, 0.2295, 0.2295, 0.2295},
33882 {0.2123, 0.2123, 0.2123, 0.2123},
33883 {0.3292, 0.3292, 0.3292, 0.3292},
33884 {0.2290, 0.2290, 0.2290, 0.2290}},
33885 {
33886 {0.2503, 0.3112, 0.1548, 0.2836},
33887 {0.2655, 0.3585, 0.1335, 0.2425},
33888 {0.1090, 0.1746, 0.4556, 0.2608},
33889 {0.1863, 0.2510, 0.3483, 0.2144}},
33890 {
33891 {0.2569, 0.1494, 0.3664, 0.2273},
33892 {0.2086, 0.4891, 0.0287, 0.2736},
33893 {0.1239, 0.2953, 0.4553, 0.1256},
33894 {0.2915, 0.2278, 0.1704, 0.3103}},
33895 {
33896 {0.1007, 0.2641, 0.3280, 0.3072},
33897 {0.3064, 0.2146, 0.0238, 0.4552},
33898 {0.1090, 0.2477, 0.4199, 0.2235},
33899 {0.1243, 0.4060, 0.2184, 0.2514}},
33900 {
33901 {0.1688, 0.1703, 0.4535, 0.2074},
33902 {0.1797, 0.2283, 0.0748, 0.5172},
33903 {0.2472, 0.2110, 0.3644, 0.1774},
33904 {0.1569, 0.1359, 0.4271, 0.2802}},
33905 {
33906 {0.2298, 0.1569, 0.3796, 0.2337},
33907 {0.1945, 0.3109, 0.0755, 0.4190},
33908 {0.2411, 0.1111, 0.5428, 0.1050},
33909 {0.2107, 0.2981, 0.2526, 0.2386}},
33910 {
33911 {0.1954, 0.2296, 0.4152, 0.1598},
33912 {0.3311, 0.3331, 0.1007, 0.2351},
33913 {0.4112, 0.1263, 0.3323, 0.1302},
33914 {0.1950, 0.1868, 0.3043, 0.3138}},
33915 {
33916 {0.2194, 0.1470, 0.4620, 0.1716},
33917 {0.2051, 0.2804, 0.1019, 0.4126},
33918 {0.2858, 0.1682, 0.4289, 0.1171},
33919 {0.2141, 0.3259, 0.2095, 0.2504}},
33920 {
33921 {0.3355, 0.1482, 0.3003, 0.2161},
33922 {0.3614, 0.2027, 0.0327, 0.4031},
33923 {0.1985, 0.3009, 0.2916, 0.2090},
33924 {0.2196, 0.3310, 0.1912, 0.2582}},
33925 {
33926 {0.2882, 0.2392, 0.3655, 0.1071},
33927 {0.4073, 0.2289, 0.0275, 0.3363},
33928 {0.2326, 0.2380, 0.2328, 0.2965},
33929 {0.1591, 0.1092, 0.3807, 0.3510}},
33930 {
33931 {0.2135, 0.2590, 0.2674, 0.2602},
33932 {0.2872, 0.3261, 0.1053, 0.2814},
33933 {0.2754, 0.1953, 0.3300, 0.1993},
33934 {0.1058, 0.3225, 0.2850, 0.2867}},
33935 {
33936 {0.2284, 0.2969, 0.2677, 0.2071},
33937 {0.1808, 0.3219, 0.0508, 0.4465},
33938 {0.1906, 0.1364, 0.2463, 0.4266},
33939 {0.0827, 0.2740, 0.3579, 0.2854}},
33940 {
33941 {0.2148, 0.2099, 0.3323, 0.2430},
33942 {0.3027, 0.3388, 0.0271, 0.3313},
33943 {0.2507, 0.1279, 0.3360, 0.2854},
33944 {0.1030, 0.3133, 0.3334, 0.2503}},
33945 {
33946 {0.0709, 0.3412, 0.3775, 0.2104},
33947 {0.1651, 0.4423, 0.0256, 0.3669},
33948 {0.2289, 0.1420, 0.3572, 0.2718},
33949 {0.0503, 0.2767, 0.4653, 0.2077}},
33950 {
33951 {0.2219, 0.1070, 0.3246, 0.3465},
33952 {0.2857, 0.4783, 0.0705, 0.1656},
33953 {0.2089, 0.2297, 0.2840, 0.2774},
33954 {0.1039, 0.3596, 0.2949, 0.2416}},
33955 {
33956 {0.2795, 0.1392, 0.3823, 0.1990},
33957 {0.2417, 0.3088, 0.0704, 0.3791},
33958 {0.2208, 0.2166, 0.3148, 0.2478},
33959 {0.1479, 0.2933, 0.4087, 0.1501}},
33960 {
33961 {0.2245, 0.2313, 0.2900, 0.2541},
33962 {0.2564, 0.3141, 0.1113, 0.3182},
33963 {0.3346, 0.1306, 0.2949, 0.2399},
33964 {0.1654, 0.3712, 0.3506, 0.1127}},
33965 {
33966 {0.1983, 0.2029, 0.4273, 0.1715},
33967 {0.2741, 0.3148, 0.0281, 0.3830},
33968 {0.2449, 0.2739, 0.2943, 0.1869},
33969 {0.1269, 0.3736, 0.1889, 0.3105}},
33970 {
33971 {0.3427, 0.2325, 0.1952, 0.2296},
33972 {0.1736, 0.2793, 0.0765, 0.4706},
33973 {0.3033, 0.3037, 0.2095, 0.1835},
33974 {0.1080, 0.1894, 0.3282, 0.3744}},
33975 {
33976 {0.2573, 0.2250, 0.3542, 0.1634},
33977 {0.2600, 0.4004, 0.1156, 0.2240},
33978 {0.2135, 0.2180, 0.4993, 0.0692},
33979 {0.2132, 0.2842, 0.2627, 0.2400}},
33980 {
33981 {0.2708, 0.3312, 0.2773, 0.1207},
33982 {0.2561, 0.4196, 0.0248, 0.2995},
33983 {0.2406, 0.3707, 0.2403, 0.1484},
33984 {0.0385, 0.2656, 0.3134, 0.3825}},
33985 {
33986 {0.2631, 0.2275, 0.3046, 0.2048},
33987 {0.2398, 0.2660, 0.0983, 0.3959},
33988 {0.0668, 0.1772, 0.4691, 0.2870},
33989 {0.1209, 0.3471, 0.1261, 0.4058}},
33990 {
33991 {0.2294, 0.2771, 0.1461, 0.3474},
33992 {0.2511, 0.4436, 0.0567, 0.2486},
33993 {0.1582, 0.2888, 0.2359, 0.3171},
33994 {0.1834, 0.3673, 0.2549, 0.1944}},
33995 {
33996 {0.1695, 0.3392, 0.1766, 0.3147},
33997 {0.3158, 0.2102, 0.0811, 0.3928},
33998 {0.2790, 0.1572, 0.2848, 0.2789},
33999 {0.1099, 0.3541, 0.3479, 0.1881}},
34000 {
34001 {0.0949, 0.3154, 0.2804, 0.3094},
34002 {0.1920, 0.3531, 0.0532, 0.4016},
34003 {0.3082, 0.2817, 0.1653, 0.2448},
34004 {0.1187, 0.3828, 0.3064, 0.1922}},
34005 {
34006 {0.3276, 0.4171, 0.0862, 0.1690},
34007 {0.1902, 0.2995, 0.0897, 0.4206},
34008 {0.3458, 0.2094, 0.2759, 0.1689},
34009 {0.1785, 0.3021, 0.2514, 0.2679}},
34010 {
34011 {0.2655, 0.3553, 0.2034, 0.1759},
34012 {0.1918, 0.3346, 0.0485, 0.4251},
34013 {0.2494, 0.2024, 0.1277, 0.4205},
34014 {0.1277, 0.3266, 0.2766, 0.2691}},
34015 {
34016 {0.3257, 0.2497, 0.2462, 0.1784},
34017 {0.3434, 0.2231, 0.0905, 0.3430},
34018 {0.3477, 0.3022, 0.1778, 0.1723},
34019 {0.2168, 0.2706, 0.1713, 0.3413}},
34020 {
34021 {0.2150, 0.3090, 0.2667, 0.2093},
34022 {0.2726, 0.2005, 0.0870, 0.4398},
34023 {0.3019, 0.2207, 0.1351, 0.3423},
34024 {0.2327, 0.3288, 0.2823, 0.1563}},
34025 {
34026 {0.2284, 0.3435, 0.1416, 0.2865},
34027 {0.1528, 0.3200, 0.1023, 0.4249},
34028 {0.1393, 0.2511, 0.1397, 0.4700},
34029 {0.1574, 0.4277, 0.2625, 0.1524}},
34030 {
34031 {0.2107, 0.2946, 0.1630, 0.3317},
34032 {0.2303, 0.4383, 0.0202, 0.3112},
34033 {0.2203, 0.2625, 0.2196, 0.2976},
34034 {0.2237, 0.3300, 0.2682, 0.1781}},
34035 {
34036 {0.2232, 0.2949, 0.1894, 0.2926},
34037 {0.2270, 0.4896, 0.0188, 0.2647},
34038 {0.3237, 0.2679, 0.0482, 0.3602},
34039 {0.1337, 0.3757, 0.2046, 0.2860}},
34040 {
34041 {0.1398, 0.3580, 0.2373, 0.2649},
34042 {0.1903, 0.3568, 0.0387, 0.4142},
34043 {0.1801, 0.3109, 0.1911, 0.3179},
34044 {0.1990, 0.3446, 0.2591, 0.1973}},
34045 {
34046 {0.1197, 0.2720, 0.1266, 0.4817},
34047 {0.1863, 0.3008, 0.0815, 0.4314},
34048 {0.0413, 0.4762, 0.2171, 0.2654},
34049 {0.1191, 0.3223, 0.3474, 0.2111}},
34050 {
34051 {0.0518, 0.2829, 0.3355, 0.3299},
34052 {0.1526, 0.3991, 0.0426, 0.4056},
34053 {0.1854, 0.2992, 0.1139, 0.4015},
34054 {0.0406, 0.3355, 0.3121, 0.3118}},
34055 {
34056 {0.2667, 0.2637, 0.2716, 0.1979},
34057 {0.1651, 0.3753, 0.0000, 0.4596},
34058 {0.0797, 0.3080, 0.1918, 0.4205},
34059 {0.0986, 0.3366, 0.2974, 0.2674}},
34060 {
34061 {0.3127, 0.2526, 0.0000, 0.4347},
34062 {0.1472, 0.3407, 0.0626, 0.4495},
34063 {0.1643, 0.3802, 0.0833, 0.3722},
34064 {0.1133, 0.3831, 0.2411, 0.2625}},
34065 {
34066 {0.1351, 0.3043, 0.1323, 0.4283},
34067 {0.2055, 0.3482, 0.0620, 0.3843},
34068 {0.0588, 0.2329, 0.2400, 0.4683},
34069 {0.0607, 0.3656, 0.2787, 0.2949}},
34070 {
34071 {0.0608, 0.4175, 0.0000, 0.5216},
34072 {0.0832, 0.3365, 0.0423, 0.5380},
34073 {0.1291, 0.2899, 0.1215, 0.4594},
34074 {0.0391, 0.3321, 0.2294, 0.3995}},
34075 {
34076 {0.1055, 0.4975, 0.0946, 0.3025},
34077 {0.0213, 0.5746, 0.0000, 0.4041},
34078 {0.0000, 0.1200, 0.2988, 0.5812},
34079 {0.0607, 0.3327, 0.2103, 0.3963}},
34080 {
34081 {0.3521, 0.1675, 0.1531, 0.3272},
34082 {0.1238, 0.2486, 0.0374, 0.5902},
34083 {0.1511, 0.1922, 0.1577, 0.4991},
34084 {0.0347, 0.4158, 0.1197, 0.4298}},
34085 {
34086 {0.0000, 0.3428, 0.0000, 0.6572},
34087 {0.0921, 0.2563, 0.0000, 0.6516},
34088 {0.1513, 0.2297, 0.0000, 0.6190},
34089 {0.0418, 0.3467, 0.1998, 0.4117}},
34090 {
34091 {0.1057, 0.3414, 0.1067, 0.4462},
34092 {0.0706, 0.4646, 0.0234, 0.4414},
34093 {0.0000, 0.3559, 0.1447, 0.4994},
34094 {0.0284, 0.3723, 0.2180, 0.3813}},
34095 {
34096 {0.0000, 0.6807, 0.0000, 0.3193},
34097 {0.0929, 0.3364, 0.0711, 0.4997},
34098 {0.0535, 0.2995, 0.0971, 0.5499},
34099 {0.0351, 0.4327, 0.1387, 0.3935}},
34100 {
34101 {0.2552, 0.4959, 0.0000, 0.2489},
34102 {0.1298, 0.3493, 0.0186, 0.5023},
34103 {0.0690, 0.4255, 0.2156, 0.2899},
34104 {0.0780, 0.3080, 0.2050, 0.4090}},
34105 {
34106 {0.0000, 0.4717, 0.0000, 0.5283},
34107 {0.0203, 0.4507, 0.0000, 0.5290},
34108 {0.0000, 0.3483, 0.0618, 0.5899},
34109 {0.0505, 0.4425, 0.2178, 0.2892}},
34110 {
34111 {0.0000, 0.0000, 0.0000, 1.0000},
34112 {0.0975, 0.5876, 0.0000, 0.3150},
34113 {0.0672, 0.2870, 0.1397, 0.5061},
34114 {0.1152, 0.4616, 0.0766, 0.3466}},
34115 {
34116 {0.1376, 0.3472, 0.0000, 0.5152},
34117 {0.0590, 0.4863, 0.0414, 0.4134},
34118 {0.1523, 0.5527, 0.0000, 0.2951},
34119 {0.1179, 0.2735, 0.0205, 0.5880}},
34120 {
34121 {0.2408, 0.4525, 0.0000, 0.3066},
34122 {0.3705, 0.3246, 0.0704, 0.2345},
34123 {0.7404, 0.0000, 0.0000, 0.2596},
34124 {0.1202, 0.3119, 0.3430, 0.2249}},
34125 {
34126 {0.0000, 0.7374, 0.0000, 0.2626},
34127 {0.0650, 0.6928, 0.0000, 0.2422},
34128 {0.0782, 0.7450, 0.0000, 0.1767},
34129 {0.0306, 0.7580, 0.0000, 0.2113}},
34130 {
34131 {1.0000, 0.0000, 0.0000, 0.0000},
34132 {1.0000, 0.0000, 0.0000, 0.0000},
34133 {1.0000, 0.0000, 0.0000, 0.0000},
34134 {1.0000, 0.0000, 0.0000, 0.0000}},
34135 {
34136 {0.0000, 0.0000, 1.0000, 0.0000},
34137 {0.0000, 0.0000, 0.0000, 0.0000},
34138 {0.0000, 0.0000, 0.0000, 0.0000},
34139 {0.0000, 0.0000, 0.0000, 0.0000}},
34140 {
34141 {0.0000, 0.0000, 0.0000, 0.0000},
34142 {0.0000, 0.0000, 0.0000, 0.0000},
34143 {0.1661, 0.1346, 0.5773, 0.1220},
34144 {0.0000, 0.0000, 0.0000, 0.0000}},
34145 {
34146 {0.2687, 0.1346, 0.5118, 0.0849},
34147 {0.4239, 0.1073, 0.2125, 0.2563},
34148 {0.3078, 0.1249, 0.2569, 0.3104},
34149 {0.4165, 0.1085, 0.2951, 0.1799}},
34150 {
34151 {0.4546, 0.1968, 0.0887, 0.2598},
34152 {0.2901, 0.1263, 0.1171, 0.4665},
34153 {0.5255, 0.1415, 0.1179, 0.2151},
34154 {0.1728, 0.1709, 0.2056, 0.4506}},
34155 {
34156 {0.2004, 0.2211, 0.3673, 0.2111},
34157 {0.0887, 0.6596, 0.1215, 0.1301},
34158 {0.1071, 0.3856, 0.2787, 0.2286},
34159 {0.1770, 0.2179, 0.3523, 0.2528}},
34160 {
34161 {0.3936, 0.2225, 0.3010, 0.0829},
34162 {0.3412, 0.2499, 0.0918, 0.3171},
34163 {0.2986, 0.1813, 0.3136, 0.2064},
34164 {0.1787, 0.0672, 0.5799, 0.1742}},
34165 {
34166 {0.3579, 0.1891, 0.1658, 0.2872},
34167 {0.3433, 0.1173, 0.0406, 0.4988},
34168 {0.3593, 0.3092, 0.1207, 0.2108},
34169 {0.1680, 0.4022, 0.2626, 0.1672}},
34170 {
34171 {0.1344, 0.3644, 0.3615, 0.1398},
34172 {0.2462, 0.4501, 0.1088, 0.1949},
34173 {0.0917, 0.4266, 0.2908, 0.1908},
34174 {0.1048, 0.4142, 0.4051, 0.0758}},
34175 {
34176 {0.2468, 0.0989, 0.3342, 0.3201},
34177 {0.4652, 0.2844, 0.0727, 0.1777},
34178 {0.3583, 0.2622, 0.2838, 0.0957},
34179 {0.1978, 0.2483, 0.3566, 0.1973}},
34180 {
34181 {0.2412, 0.1145, 0.2959, 0.3484},
34182 {0.4158, 0.1184, 0.1141, 0.3518},
34183 {0.5072, 0.2953, 0.0000, 0.1975},
34184 {0.1120, 0.4104, 0.2404, 0.2372}},
34185 {
34186 {0.1555, 0.3344, 0.4411, 0.0690},
34187 {0.0998, 0.4116, 0.1055, 0.3830},
34188 {0.1602, 0.1598, 0.5986, 0.0813},
34189 {0.0000, 0.2394, 0.4779, 0.2827}},
34190 {
34191 {0.3622, 0.1434, 0.3567, 0.1377},
34192 {0.4640, 0.2154, 0.0988, 0.2218},
34193 {0.2277, 0.2429, 0.4218, 0.1077},
34194 {0.0749, 0.1104, 0.7792, 0.0355}},
34195 {
34196 {0.4820, 0.0981, 0.2341, 0.1858},
34197 {0.2143, 0.2839, 0.1090, 0.3928},
34198 {0.4196, 0.1311, 0.1628, 0.2866},
34199 {0.1155, 0.2818, 0.3322, 0.2705}},
34200 {
34201 {0.1987, 0.2405, 0.4160, 0.1448},
34202 {0.1211, 0.5111, 0.0000, 0.3678},
34203 {0.1901, 0.2964, 0.2083, 0.3052},
34204 {0.0746, 0.1947, 0.5462, 0.1845}},
34205 {
34206 {0.2359, 0.1849, 0.4808, 0.0984},
34207 {0.3460, 0.1505, 0.1517, 0.3518},
34208 {0.3103, 0.2495, 0.3531, 0.0871},
34209 {0.1966, 0.1644, 0.3240, 0.3151}},
34210 {
34211 {0.3528, 0.2016, 0.2235, 0.2221},
34212 {0.2943, 0.1838, 0.0714, 0.4506},
34213 {0.3537, 0.1599, 0.2361, 0.2503},
34214 {0.2008, 0.2074, 0.1597, 0.4321}},
34215 {
34216 {0.1829, 0.3031, 0.3048, 0.2092},
34217 {0.0814, 0.4560, 0.1135, 0.3491},
34218 {0.2635, 0.3099, 0.2729, 0.1537},
34219 {0.1540, 0.2172, 0.4041, 0.2247}},
34220 {
34221 {0.2590, 0.3204, 0.3770, 0.0436},
34222 {0.3525, 0.3423, 0.1148, 0.1904},
34223 {0.2726, 0.2889, 0.3626, 0.0758},
34224 {0.1546, 0.1889, 0.5287, 0.1278}},
34225 {
34226 {0.3235, 0.2211, 0.1623, 0.2931},
34227 {0.3649, 0.1690, 0.1266, 0.3394},
34228 {0.3475, 0.2159, 0.1739, 0.2627},
34229 {0.3671, 0.3174, 0.1231, 0.1923}},
34230 {
34231 {0.1828, 0.3277, 0.3296, 0.1599},
34232 {0.1976, 0.4397, 0.0336, 0.3291},
34233 {0.1922, 0.2849, 0.2811, 0.2418},
34234 {0.1486, 0.3306, 0.3481, 0.1727}},
34235 {
34236 {0.1566, 0.2443, 0.4005, 0.1985},
34237 {0.3144, 0.3806, 0.0218, 0.2832},
34238 {0.3174, 0.2171, 0.3284, 0.1371},
34239 {0.1325, 0.3700, 0.2303, 0.2672}},
34240 {
34241 {0.4396, 0.2813, 0.1073, 0.1718},
34242 {0.1401, 0.3248, 0.1170, 0.4181},
34243 {0.3331, 0.3003, 0.1290, 0.2377},
34244 {0.1279, 0.2796, 0.3386, 0.2539}},
34245 {
34246 {0.1420, 0.3169, 0.4556, 0.0855},
34247 {0.1921, 0.3782, 0.0996, 0.3302},
34248 {0.2042, 0.3009, 0.2898, 0.2050},
34249 {0.0491, 0.2017, 0.5678, 0.1813}},
34250 {
34251 {0.1453, 0.3127, 0.4897, 0.0523},
34252 {0.2198, 0.2829, 0.1192, 0.3781},
34253 {0.3848, 0.1603, 0.3539, 0.1010},
34254 {0.1369, 0.2468, 0.4185, 0.1979}},
34255 {
34256 {0.3677, 0.2248, 0.3490, 0.0585},
34257 {0.2732, 0.1821, 0.1222, 0.4225},
34258 {0.5423, 0.2487, 0.0471, 0.1618},
34259 {0.2568, 0.3529, 0.2125, 0.1777}},
34260 {
34261 {0.1112, 0.2633, 0.3804, 0.2451},
34262 {0.2019, 0.5094, 0.1127, 0.1759},
34263 {0.2479, 0.3866, 0.2468, 0.1187},
34264 {0.0379, 0.3196, 0.5732, 0.0693}},
34265 {
34266 {0.2422, 0.1535, 0.5078, 0.0965},
34267 {0.3865, 0.3543, 0.1603, 0.0989},
34268 {0.2631, 0.1934, 0.3923, 0.1511},
34269 {0.2478, 0.0854, 0.5455, 0.1213}},
34270 {
34271 {0.3277, 0.2669, 0.1222, 0.2833},
34272 {0.4003, 0.0966, 0.1591, 0.3440},
34273 {0.4053, 0.1860, 0.1635, 0.2453},
34274 {0.1129, 0.3477, 0.1187, 0.4207}},
34275 {
34276 {0.0412, 0.3273, 0.4405, 0.1910},
34277 {0.1717, 0.4801, 0.1056, 0.2426},
34278 {0.3552, 0.4556, 0.0947, 0.0946},
34279 {0.0483, 0.3584, 0.3803, 0.2130}},
34280 {
34281 {0.1823, 0.1886, 0.4414, 0.1877},
34282 {0.3849, 0.2955, 0.0569, 0.2627},
34283 {0.2698, 0.1876, 0.3992, 0.1433},
34284 {0.1457, 0.1425, 0.4206, 0.2912}},
34285 {
34286 {0.3033, 0.2248, 0.2186, 0.2533},
34287 {0.1699, 0.2281, 0.1921, 0.4099},
34288 {0.4171, 0.0787, 0.2425, 0.2617},
34289 {0.0685, 0.2871, 0.2876, 0.3568}},
34290 {
34291 {0.0554, 0.3683, 0.3792, 0.1970},
34292 {0.2164, 0.4654, 0.0383, 0.2798},
34293 {0.1484, 0.3333, 0.3073, 0.2110},
34294 {0.0711, 0.3221, 0.4272, 0.1797}},
34295 {
34296 {0.3193, 0.1910, 0.4207, 0.0690},
34297 {0.3739, 0.2688, 0.0780, 0.2793},
34298 {0.3291, 0.2762, 0.2817, 0.1131},
34299 {0.1054, 0.2371, 0.5241, 0.1334}},
34300 {
34301 {0.4332, 0.1729, 0.0983, 0.2957},
34302 {0.3112, 0.1117, 0.1369, 0.4402},
34303 {0.3908, 0.2004, 0.1567, 0.2520},
34304 {0.3986, 0.1767, 0.2126, 0.2121}},
34305 {
34306 {0.1306, 0.3677, 0.2783, 0.2234},
34307 {0.2221, 0.2615, 0.1267, 0.3898},
34308 {0.1955, 0.1539, 0.4520, 0.1986},
34309 {0.1143, 0.3713, 0.3707, 0.1437}},
34310 {
34311 {0.0929, 0.2430, 0.5682, 0.0960},
34312 {0.4932, 0.2001, 0.1103, 0.1963},
34313 {0.3220, 0.2084, 0.3280, 0.1417},
34314 {0.1607, 0.3230, 0.4151, 0.1011}},
34315 {
34316 {0.3256, 0.2305, 0.1616, 0.2823},
34317 {0.3676, 0.2423, 0.0867, 0.3034},
34318 {0.3395, 0.3006, 0.0915, 0.2684},
34319 {0.2051, 0.0993, 0.2543, 0.4413}},
34320 {
34321 {0.0880, 0.3776, 0.4441, 0.0903},
34322 {0.2719, 0.3023, 0.1840, 0.2418},
34323 {0.2578, 0.2151, 0.2132, 0.3140},
34324 {0.1641, 0.2819, 0.2999, 0.2541}},
34325 {
34326 {0.2779, 0.3206, 0.2849, 0.1167},
34327 {0.2109, 0.3616, 0.2141, 0.2135},
34328 {0.2988, 0.2611, 0.3690, 0.0711},
34329 {0.0698, 0.2131, 0.4781, 0.2390}},
34330 {
34331 {0.3936, 0.2243, 0.1920, 0.1901},
34332 {0.2213, 0.3919, 0.1692, 0.2176},
34333 {0.4126, 0.0660, 0.2169, 0.3046},
34334 {0.0938, 0.5456, 0.1385, 0.2220}},
34335 {
34336 {0.0946, 0.3153, 0.3961, 0.1940},
34337 {0.1858, 0.2885, 0.0812, 0.4445},
34338 {0.3099, 0.2322, 0.3809, 0.0771},
34339 {0.0883, 0.4491, 0.3785, 0.0841}},
34340 {
34341 {0.3595, 0.0892, 0.4614, 0.0899},
34342 {0.5772, 0.2024, 0.1103, 0.1101},
34343 {0.2291, 0.1587, 0.4455, 0.1667},
34344 {0.1944, 0.1950, 0.5085, 0.1022}},
34345 {
34346 {0.4379, 0.1834, 0.1018, 0.2769},
34347 {0.3363, 0.1300, 0.2809, 0.2528},
34348 {0.3492, 0.1662, 0.2439, 0.2407},
34349 {0.1193, 0.1743, 0.2818, 0.4246}},
34350 {
34351 {0.1810, 0.2479, 0.4294, 0.1417},
34352 {0.3051, 0.4366, 0.0858, 0.1725},
34353 {0.3008, 0.1773, 0.3477, 0.1741},
34354 {0.0501, 0.4175, 0.3502, 0.1823}},
34355 {
34356 {0.1828, 0.1861, 0.5613, 0.0697},
34357 {0.3703, 0.3277, 0.2369, 0.0652},
34358 {0.3181, 0.1528, 0.4040, 0.1252},
34359 {0.1267, 0.3504, 0.4772, 0.0457}},
34360 {
34361 {0.4079, 0.1504, 0.1803, 0.2614},
34362 {0.1760, 0.2069, 0.2908, 0.3262},
34363 {0.4929, 0.1449, 0.1844, 0.1778},
34364 {0.1619, 0.2697, 0.2444, 0.3239}},
34365 {
34366 {0.0953, 0.1958, 0.5529, 0.1561},
34367 {0.2075, 0.3375, 0.1649, 0.2902},
34368 {0.2364, 0.3008, 0.2315, 0.2313},
34369 {0.1091, 0.1140, 0.4657, 0.3112}},
34370 {
34371 {0.1930, 0.2835, 0.3855, 0.1380},
34372 {0.0975, 0.2893, 0.3485, 0.2647},
34373 {0.2534, 0.2353, 0.4211, 0.0903},
34374 {0.1775, 0.1789, 0.5820, 0.0616}},
34375 {
34376 {0.2528, 0.2186, 0.0741, 0.4545},
34377 {0.4359, 0.1769, 0.1479, 0.2394},
34378 {0.3935, 0.1469, 0.1948, 0.2648},
34379 {0.1732, 0.2135, 0.3936, 0.2197}},
34380 {
34381 {0.1398, 0.3297, 0.3694, 0.1611},
34382 {0.2004, 0.4376, 0.0403, 0.3218},
34383 {0.0736, 0.2670, 0.2272, 0.4321},
34384 {0.0529, 0.2489, 0.4732, 0.2250}},
34385 {
34386 {0.1971, 0.0627, 0.5600, 0.1802},
34387 {0.3414, 0.2551, 0.0890, 0.3145},
34388 {0.2488, 0.1626, 0.4550, 0.1336},
34389 {0.1070, 0.1897, 0.5607, 0.1427}}},
34390
34391 { /* Splice_Site: F1_AG; Species: Rat */
34392 {
34393 {0.1771, 0.1771, 0.1771, 0.1771},
34394 {0.2967, 0.2967, 0.2967, 0.2967},
34395 {0.2874, 0.2874, 0.2874, 0.2874},
34396 {0.2389, 0.2389, 0.2389, 0.2389}},
34397 {
34398 {0.1892, 0.2020, 0.4198, 0.1890},
34399 {0.3272, 0.2998, 0.1505, 0.2225},
34400 {0.1843, 0.2875, 0.4297, 0.0984},
34401 {0.1133, 0.2537, 0.3714, 0.2617}},
34402 {
34403 {0.3910, 0.1987, 0.2065, 0.2038},
34404 {0.2948, 0.2146, 0.1219, 0.3687},
34405 {0.3168, 0.2012, 0.2305, 0.2515},
34406 {0.0807, 0.3363, 0.2769, 0.3061}},
34407 {
34408 {0.1886, 0.2518, 0.4091, 0.1505},
34409 {0.2707, 0.3688, 0.0674, 0.2931},
34410 {0.1145, 0.3751, 0.2391, 0.2713},
34411 {0.0732, 0.3684, 0.3987, 0.1597}},
34412 {
34413 {0.1878, 0.2184, 0.4734, 0.1204},
34414 {0.2665, 0.3312, 0.0993, 0.3030},
34415 {0.1986, 0.2808, 0.4276, 0.0929},
34416 {0.1109, 0.2773, 0.4364, 0.1754}},
34417 {
34418 {0.3314, 0.1587, 0.2197, 0.2903},
34419 {0.2098, 0.2597, 0.1566, 0.3739},
34420 {0.4057, 0.2138, 0.2467, 0.1338},
34421 {0.1465, 0.2879, 0.2271, 0.3385}},
34422 {
34423 {0.1109, 0.3234, 0.4536, 0.1121},
34424 {0.3664, 0.3335, 0.1091, 0.1910},
34425 {0.1150, 0.4088, 0.2301, 0.2461},
34426 {0.0685, 0.2874, 0.4098, 0.2343}},
34427 {
34428 {0.1476, 0.2889, 0.4626, 0.1009},
34429 {0.2758, 0.3554, 0.1068, 0.2621},
34430 {0.2033, 0.2765, 0.3880, 0.1322},
34431 {0.1620, 0.1792, 0.4560, 0.2027}},
34432 {
34433 {0.3111, 0.2737, 0.1925, 0.2227},
34434 {0.3147, 0.2647, 0.0822, 0.3383},
34435 {0.3846, 0.2438, 0.1863, 0.1853},
34436 {0.1849, 0.2615, 0.1762, 0.3774}},
34437 {
34438 {0.2062, 0.2923, 0.3416, 0.1598},
34439 {0.2121, 0.3968, 0.1098, 0.2812},
34440 {0.1272, 0.4034, 0.2916, 0.1778},
34441 {0.0966, 0.3613, 0.3971, 0.1450}},
34442 {
34443 {0.2827, 0.1892, 0.4123, 0.1159},
34444 {0.2830, 0.3645, 0.1129, 0.2396},
34445 {0.3035, 0.2334, 0.3174, 0.1457},
34446 {0.1287, 0.2707, 0.4641, 0.1364}},
34447 {
34448 {0.3382, 0.2294, 0.1631, 0.2692},
34449 {0.2440, 0.2375, 0.1090, 0.4095},
34450 {0.3822, 0.2885, 0.1796, 0.1497},
34451 {0.1708, 0.3435, 0.1155, 0.3702}},
34452 {
34453 {0.2132, 0.2059, 0.4136, 0.1672},
34454 {0.2376, 0.4107, 0.1369, 0.2148},
34455 {0.1915, 0.4033, 0.1574, 0.2478},
34456 {0.0439, 0.3038, 0.4393, 0.2131}},
34457 {
34458 {0.1873, 0.2763, 0.4321, 0.1044},
34459 {0.2956, 0.3410, 0.1275, 0.2359},
34460 {0.2390, 0.2218, 0.3649, 0.1743},
34461 {0.0795, 0.2359, 0.4783, 0.2063}},
34462 {
34463 {0.3976, 0.2659, 0.1212, 0.2153},
34464 {0.2062, 0.3471, 0.1051, 0.3415},
34465 {0.3797, 0.1367, 0.2775, 0.2061},
34466 {0.1649, 0.2691, 0.2318, 0.3342}},
34467 {
34468 {0.1087, 0.2883, 0.4649, 0.1380},
34469 {0.2696, 0.2491, 0.1326, 0.3487},
34470 {0.1283, 0.2666, 0.4042, 0.2009},
34471 {0.0650, 0.3137, 0.4363, 0.1850}},
34472 {
34473 {0.3130, 0.1792, 0.3950, 0.1128},
34474 {0.2864, 0.3850, 0.0838, 0.2449},
34475 {0.2187, 0.2896, 0.3626, 0.1290},
34476 {0.1363, 0.2341, 0.4503, 0.1792}},
34477 {
34478 {0.3991, 0.2190, 0.1672, 0.2147},
34479 {0.3742, 0.2547, 0.0851, 0.2860},
34480 {0.4058, 0.2280, 0.1659, 0.2003},
34481 {0.1740, 0.2791, 0.2356, 0.3113}},
34482 {
34483 {0.1106, 0.3366, 0.4014, 0.1514},
34484 {0.1904, 0.4827, 0.0926, 0.2343},
34485 {0.1771, 0.3297, 0.2423, 0.2509},
34486 {0.0447, 0.3136, 0.3963, 0.2454}},
34487 {
34488 {0.2831, 0.1971, 0.4347, 0.0851},
34489 {0.3178, 0.2964, 0.1515, 0.2344},
34490 {0.2118, 0.2460, 0.4451, 0.0970},
34491 {0.0434, 0.2560, 0.4889, 0.2118}},
34492 {
34493 {0.3315, 0.1522, 0.2416, 0.2746},
34494 {0.3870, 0.2307, 0.0969, 0.2854},
34495 {0.3981, 0.1819, 0.2218, 0.1982},
34496 {0.1514, 0.2560, 0.1884, 0.4042}},
34497 {
34498 {0.1593, 0.2754, 0.3960, 0.1693},
34499 {0.2299, 0.3619, 0.1544, 0.2539},
34500 {0.1913, 0.3890, 0.3090, 0.1107},
34501 {0.1023, 0.3151, 0.4478, 0.1349}},
34502 {
34503 {0.2646, 0.2326, 0.3727, 0.1301},
34504 {0.3324, 0.2992, 0.1263, 0.2422},
34505 {0.2712, 0.2125, 0.3897, 0.1266},
34506 {0.1430, 0.2023, 0.4983, 0.1564}},
34507 {
34508 {0.3082, 0.1938, 0.2257, 0.2723},
34509 {0.3283, 0.2642, 0.0989, 0.3086},
34510 {0.3788, 0.2302, 0.1949, 0.1961},
34511 {0.2139, 0.2747, 0.2149, 0.2965}},
34512 {
34513 {0.1177, 0.3325, 0.3798, 0.1699},
34514 {0.2349, 0.4342, 0.0590, 0.2720},
34515 {0.1301, 0.3394, 0.3398, 0.1906},
34516 {0.0897, 0.3456, 0.4327, 0.1319}},
34517 {
34518 {0.1811, 0.2977, 0.4221, 0.0991},
34519 {0.3662, 0.2595, 0.1687, 0.2056},
34520 {0.2779, 0.2795, 0.3387, 0.1039},
34521 {0.0888, 0.2270, 0.4970, 0.1872}},
34522 {
34523 {0.3280, 0.2463, 0.2016, 0.2241},
34524 {0.2435, 0.3116, 0.1289, 0.3160},
34525 {0.3392, 0.2699, 0.1654, 0.2255},
34526 {0.1563, 0.3101, 0.1623, 0.3713}},
34527 {
34528 {0.1924, 0.2166, 0.4638, 0.1273},
34529 {0.2432, 0.4017, 0.1011, 0.2540},
34530 {0.1420, 0.3437, 0.3292, 0.1851},
34531 {0.0394, 0.2877, 0.5041, 0.1688}},
34532 {
34533 {0.1524, 0.2206, 0.5428, 0.0842},
34534 {0.2872, 0.3625, 0.1025, 0.2478},
34535 {0.2598, 0.2181, 0.3914, 0.1307},
34536 {0.1877, 0.2744, 0.4310, 0.1069}},
34537 {
34538 {0.3065, 0.1800, 0.2546, 0.2589},
34539 {0.2606, 0.2712, 0.1735, 0.2947},
34540 {0.4122, 0.1672, 0.1998, 0.2208},
34541 {0.1363, 0.2648, 0.1952, 0.4036}},
34542 {
34543 {0.1599, 0.2450, 0.4645, 0.1306},
34544 {0.2400, 0.3648, 0.1298, 0.2654},
34545 {0.0892, 0.3974, 0.3871, 0.1263},
34546 {0.0908, 0.3669, 0.4092, 0.1331}},
34547 {
34548 {0.1173, 0.2681, 0.5050, 0.1095},
34549 {0.3403, 0.3594, 0.1139, 0.1864},
34550 {0.2706, 0.1773, 0.3952, 0.1569},
34551 {0.1386, 0.2732, 0.4514, 0.1368}},
34552 {
34553 {0.3240, 0.2080, 0.1889, 0.2791},
34554 {0.2766, 0.2589, 0.1213, 0.3431},
34555 {0.3303, 0.2890, 0.2346, 0.1461},
34556 {0.1356, 0.2715, 0.1406, 0.4523}},
34557 {
34558 {0.1537, 0.2474, 0.4383, 0.1606},
34559 {0.2678, 0.3768, 0.1090, 0.2464},
34560 {0.1673, 0.3683, 0.3245, 0.1399},
34561 {0.0930, 0.3332, 0.3505, 0.2233}},
34562 {
34563 {0.1768, 0.2443, 0.5018, 0.0771},
34564 {0.3056, 0.2665, 0.1827, 0.2452},
34565 {0.2774, 0.2988, 0.3305, 0.0933},
34566 {0.0989, 0.2537, 0.4653, 0.1820}},
34567 {
34568 {0.2915, 0.2772, 0.2182, 0.2131},
34569 {0.2178, 0.2217, 0.1307, 0.4298},
34570 {0.3668, 0.2154, 0.2252, 0.1926},
34571 {0.1388, 0.2627, 0.2046, 0.3939}},
34572 {
34573 {0.1538, 0.2457, 0.4469, 0.1535},
34574 {0.2381, 0.4090, 0.1107, 0.2423},
34575 {0.2349, 0.3019, 0.3281, 0.1351},
34576 {0.0805, 0.3518, 0.4648, 0.1029}},
34577 {
34578 {0.1691, 0.2974, 0.3909, 0.1426},
34579 {0.3007, 0.3310, 0.1222, 0.2462},
34580 {0.2576, 0.2255, 0.4050, 0.1118},
34581 {0.0840, 0.1929, 0.5845, 0.1386}},
34582 {
34583 {0.4200, 0.1738, 0.1608, 0.2454},
34584 {0.3266, 0.2124, 0.1745, 0.2865},
34585 {0.3532, 0.2887, 0.1990, 0.1591},
34586 {0.2297, 0.3340, 0.1802, 0.2561}},
34587 {
34588 {0.1744, 0.1867, 0.4240, 0.2149},
34589 {0.2502, 0.4179, 0.0523, 0.2796},
34590 {0.1650, 0.4971, 0.2204, 0.1174},
34591 {0.0750, 0.2844, 0.4733, 0.1673}},
34592 {
34593 {0.2305, 0.2680, 0.4260, 0.0755},
34594 {0.3157, 0.3064, 0.1296, 0.2483},
34595 {0.2747, 0.2408, 0.4281, 0.0564},
34596 {0.1622, 0.2748, 0.4648, 0.0982}},
34597 {
34598 {0.3794, 0.1808, 0.1738, 0.2661},
34599 {0.3077, 0.2029, 0.1163, 0.3731},
34600 {0.3842, 0.2469, 0.2285, 0.1404},
34601 {0.0977, 0.2708, 0.1484, 0.4830}},
34602 {
34603 {0.1999, 0.2615, 0.3927, 0.1459},
34604 {0.2665, 0.3322, 0.1208, 0.2805},
34605 {0.2283, 0.3389, 0.3443, 0.0886},
34606 {0.1450, 0.3334, 0.3473, 0.1744}},
34607 {
34608 {0.3148, 0.1869, 0.3793, 0.1189},
34609 {0.2802, 0.3229, 0.1497, 0.2472},
34610 {0.2316, 0.2060, 0.4277, 0.1347},
34611 {0.1874, 0.2228, 0.5395, 0.0503}},
34612 {
34613 {0.3442, 0.2161, 0.1915, 0.2483},
34614 {0.3252, 0.2589, 0.0795, 0.3365},
34615 {0.3825, 0.1640, 0.2039, 0.2496},
34616 {0.1292, 0.2756, 0.2331, 0.3621}},
34617 {
34618 {0.1354, 0.2027, 0.5187, 0.1433},
34619 {0.1831, 0.3855, 0.1504, 0.2810},
34620 {0.1622, 0.3628, 0.2708, 0.2043},
34621 {0.0754, 0.3196, 0.3572, 0.2478}},
34622 {
34623 {0.2104, 0.1739, 0.5664, 0.0494},
34624 {0.3349, 0.3390, 0.1339, 0.1922},
34625 {0.3134, 0.3021, 0.2788, 0.1057},
34626 {0.1221, 0.2953, 0.4345, 0.1481}},
34627 {
34628 {0.4123, 0.1685, 0.1563, 0.2628},
34629 {0.2649, 0.2486, 0.1088, 0.3777},
34630 {0.3425, 0.2756, 0.1846, 0.1973},
34631 {0.1253, 0.2859, 0.2118, 0.3770}},
34632 {
34633 {0.1416, 0.1860, 0.4858, 0.1866},
34634 {0.2459, 0.4085, 0.0901, 0.2555},
34635 {0.1784, 0.2618, 0.3703, 0.1894},
34636 {0.1386, 0.3391, 0.4394, 0.0828}},
34637 {
34638 {0.2574, 0.2438, 0.4988, 0.0000},
34639 {0.4071, 0.4460, 0.1469, 0.0000},
34640 {0.3545, 0.2996, 0.3460, 0.0000},
34641 {0.0869, 0.2983, 0.6147, 0.0000}},
34642 {
34643 {1.0000, 0.0000, 0.0000, 0.0000},
34644 {1.0000, 0.0000, 0.0000, 0.0000},
34645 {1.0000, 0.0000, 0.0000, 0.0000},
34646 {1.0000, 0.0000, 0.0000, 0.0000}},
34647 {
34648 {0.0000, 0.0000, 1.0000, 0.0000},
34649 {0.0000, 0.0000, 0.0000, 0.0000},
34650 {0.0000, 0.0000, 0.0000, 0.0000},
34651 {0.0000, 0.0000, 0.0000, 0.0000}},
34652 {
34653 {0.0000, 0.0000, 0.0000, 0.0000},
34654 {0.0000, 0.0000, 0.0000, 0.0000},
34655 {0.2822, 0.2707, 0.3120, 0.1351},
34656 {0.0000, 0.0000, 0.0000, 0.0000}},
34657 {
34658 {0.4721, 0.1596, 0.1470, 0.2213},
34659 {0.3405, 0.1732, 0.1280, 0.3584},
34660 {0.4709, 0.1499, 0.1850, 0.1941},
34661 {0.1561, 0.2976, 0.2145, 0.3318}},
34662 {
34663 {0.2074, 0.2073, 0.4672, 0.1181},
34664 {0.2021, 0.4907, 0.0702, 0.2369},
34665 {0.1720, 0.4282, 0.2776, 0.1222},
34666 {0.1047, 0.3037, 0.4227, 0.1689}},
34667 {
34668 {0.2155, 0.2600, 0.3856, 0.1390},
34669 {0.3562, 0.2319, 0.1489, 0.2629},
34670 {0.2682, 0.2298, 0.3343, 0.1677},
34671 {0.1234, 0.2983, 0.4391, 0.1392}},
34672 {
34673 {0.3322, 0.1699, 0.2644, 0.2336},
34674 {0.3909, 0.1260, 0.1841, 0.2990},
34675 {0.3137, 0.2252, 0.1867, 0.2745},
34676 {0.2076, 0.1681, 0.2032, 0.4211}},
34677 {
34678 {0.1625, 0.2626, 0.3894, 0.1854},
34679 {0.2062, 0.4385, 0.1119, 0.2434},
34680 {0.1099, 0.3776, 0.3189, 0.1936},
34681 {0.0597, 0.3293, 0.4367, 0.1743}},
34682 {
34683 {0.2638, 0.2580, 0.3793, 0.0990},
34684 {0.3176, 0.2649, 0.2142, 0.2034},
34685 {0.3152, 0.2128, 0.3968, 0.0753},
34686 {0.1500, 0.2457, 0.4555, 0.1488}},
34687 {
34688 {0.3784, 0.1351, 0.2202, 0.2662},
34689 {0.3203, 0.2091, 0.1319, 0.3386},
34690 {0.3303, 0.2345, 0.2445, 0.1907},
34691 {0.2177, 0.1770, 0.1944, 0.4110}},
34692 {
34693 {0.2115, 0.2598, 0.4286, 0.1000},
34694 {0.2248, 0.3751, 0.1103, 0.2899},
34695 {0.1443, 0.3158, 0.3487, 0.1911},
34696 {0.1350, 0.3127, 0.3798, 0.1726}},
34697 {
34698 {0.2769, 0.1904, 0.3894, 0.1433},
34699 {0.4063, 0.3204, 0.1399, 0.1334},
34700 {0.2147, 0.2411, 0.4476, 0.0966},
34701 {0.1864, 0.2651, 0.4886, 0.0599}},
34702 {
34703 {0.3754, 0.2190, 0.1758, 0.2298},
34704 {0.2845, 0.2235, 0.1512, 0.3407},
34705 {0.4169, 0.2015, 0.1378, 0.2437},
34706 {0.0775, 0.3348, 0.2407, 0.3470}},
34707 {
34708 {0.1558, 0.3064, 0.3672, 0.1706},
34709 {0.2735, 0.3879, 0.1407, 0.1979},
34710 {0.1560, 0.3077, 0.2858, 0.2505},
34711 {0.0744, 0.3541, 0.4531, 0.1185}},
34712 {
34713 {0.1602, 0.2372, 0.4450, 0.1576},
34714 {0.3548, 0.2803, 0.1540, 0.2109},
34715 {0.2982, 0.2142, 0.4236, 0.0639},
34716 {0.1310, 0.1743, 0.4876, 0.2072}},
34717 {
34718 {0.3820, 0.1554, 0.2769, 0.1856},
34719 {0.2605, 0.1669, 0.1727, 0.3999},
34720 {0.4360, 0.2189, 0.1758, 0.1692},
34721 {0.1397, 0.3145, 0.1938, 0.3519}},
34722 {
34723 {0.1570, 0.2622, 0.5003, 0.0805},
34724 {0.2212, 0.4301, 0.1159, 0.2329},
34725 {0.2524, 0.2817, 0.2554, 0.2105},
34726 {0.1159, 0.3027, 0.4132, 0.1682}},
34727 {
34728 {0.2559, 0.2807, 0.4010, 0.0624},
34729 {0.3286, 0.3360, 0.1411, 0.1944},
34730 {0.2376, 0.2806, 0.3356, 0.1462},
34731 {0.1583, 0.1746, 0.5318, 0.1353}},
34732 {
34733 {0.3208, 0.2162, 0.2118, 0.2512},
34734 {0.3418, 0.2074, 0.1454, 0.3055},
34735 {0.3681, 0.2372, 0.1976, 0.1971},
34736 {0.1896, 0.2737, 0.2541, 0.2827}},
34737 {
34738 {0.1288, 0.2724, 0.4438, 0.1550},
34739 {0.2288, 0.4175, 0.0560, 0.2977},
34740 {0.1339, 0.4326, 0.2340, 0.1994},
34741 {0.1120, 0.3158, 0.4456, 0.1265}},
34742 {
34743 {0.2551, 0.2292, 0.4030, 0.1128},
34744 {0.3913, 0.2463, 0.1613, 0.2012},
34745 {0.2547, 0.2549, 0.3835, 0.1069},
34746 {0.1391, 0.2297, 0.5183, 0.1129}},
34747 {
34748 {0.3538, 0.2214, 0.1911, 0.2336},
34749 {0.3727, 0.2094, 0.1629, 0.2550},
34750 {0.4174, 0.2006, 0.1759, 0.2061},
34751 {0.1846, 0.2682, 0.2718, 0.2754}},
34752 {
34753 {0.1468, 0.2706, 0.4259, 0.1568},
34754 {0.2646, 0.4684, 0.0836, 0.1835},
34755 {0.0992, 0.2838, 0.3084, 0.3086},
34756 {0.0666, 0.3145, 0.4441, 0.1749}},
34757 {
34758 {0.1785, 0.2779, 0.4603, 0.0832},
34759 {0.4148, 0.2693, 0.0930, 0.2228},
34760 {0.2528, 0.2654, 0.4061, 0.0757},
34761 {0.1570, 0.2083, 0.5092, 0.1255}},
34762 {
34763 {0.2934, 0.2345, 0.2331, 0.2390},
34764 {0.3579, 0.1810, 0.1322, 0.3290},
34765 {0.3849, 0.2204, 0.1898, 0.2049},
34766 {0.1498, 0.1917, 0.2533, 0.4052}},
34767 {
34768 {0.1151, 0.2965, 0.4378, 0.1505},
34769 {0.2107, 0.4117, 0.1595, 0.2181},
34770 {0.1112, 0.3405, 0.2769, 0.2713},
34771 {0.1123, 0.3711, 0.3652, 0.1513}},
34772 {
34773 {0.1762, 0.2295, 0.5495, 0.0448},
34774 {0.3633, 0.3142, 0.0982, 0.2244},
34775 {0.2407, 0.2542, 0.4048, 0.1003},
34776 {0.1772, 0.2316, 0.4528, 0.1384}},
34777 {
34778 {0.3660, 0.1982, 0.2053, 0.2305},
34779 {0.2892, 0.1761, 0.2123, 0.3224},
34780 {0.3680, 0.1799, 0.2352, 0.2169},
34781 {0.2428, 0.2443, 0.1731, 0.3397}},
34782 {
34783 {0.1170, 0.2910, 0.4470, 0.1451},
34784 {0.1041, 0.5184, 0.1487, 0.2287},
34785 {0.1383, 0.3077, 0.3391, 0.2149},
34786 {0.0734, 0.2921, 0.4436, 0.1908}},
34787 {
34788 {0.2831, 0.1930, 0.3816, 0.1424},
34789 {0.3580, 0.2952, 0.1270, 0.2198},
34790 {0.2614, 0.2665, 0.3728, 0.0993},
34791 {0.2318, 0.2127, 0.4472, 0.1083}},
34792 {
34793 {0.3498, 0.2045, 0.1746, 0.2711},
34794 {0.2677, 0.2266, 0.1339, 0.3718},
34795 {0.3440, 0.1809, 0.2636, 0.2116},
34796 {0.1299, 0.2658, 0.2655, 0.3388}},
34797 {
34798 {0.1283, 0.3166, 0.4027, 0.1524},
34799 {0.3203, 0.3917, 0.0940, 0.1940},
34800 {0.1754, 0.3541, 0.1686, 0.3019},
34801 {0.0587, 0.2480, 0.5508, 0.1424}},
34802 {
34803 {0.2013, 0.2977, 0.4061, 0.0949},
34804 {0.3165, 0.2615, 0.1588, 0.2632},
34805 {0.2532, 0.2036, 0.4311, 0.1121},
34806 {0.1172, 0.2235, 0.5000, 0.1592}},
34807 {
34808 {0.3347, 0.1592, 0.3161, 0.1900},
34809 {0.3285, 0.2666, 0.1281, 0.2769},
34810 {0.4194, 0.2120, 0.1735, 0.1951},
34811 {0.1492, 0.2716, 0.2324, 0.3468}},
34812 {
34813 {0.1692, 0.2330, 0.4533, 0.1445},
34814 {0.2615, 0.3375, 0.0971, 0.3038},
34815 {0.1372, 0.3773, 0.2705, 0.2149},
34816 {0.0946, 0.3375, 0.4160, 0.1519}},
34817 {
34818 {0.2880, 0.2726, 0.3560, 0.0834},
34819 {0.3337, 0.3770, 0.1147, 0.1746},
34820 {0.3619, 0.2278, 0.3387, 0.0717},
34821 {0.1462, 0.1737, 0.5715, 0.1086}},
34822 {
34823 {0.3165, 0.2002, 0.2621, 0.2212},
34824 {0.3467, 0.2012, 0.1374, 0.3147},
34825 {0.4174, 0.2007, 0.2189, 0.1630},
34826 {0.1506, 0.2882, 0.2516, 0.3097}},
34827 {
34828 {0.0971, 0.3228, 0.4048, 0.1753},
34829 {0.2401, 0.3666, 0.1235, 0.2697},
34830 {0.1665, 0.2871, 0.3106, 0.2358},
34831 {0.0738, 0.3201, 0.4508, 0.1554}},
34832 {
34833 {0.1955, 0.3207, 0.4074, 0.0764},
34834 {0.3510, 0.3214, 0.1145, 0.2131},
34835 {0.2238, 0.3283, 0.3563, 0.0916},
34836 {0.1650, 0.1451, 0.5595, 0.1304}},
34837 {
34838 {0.3464, 0.1643, 0.1619, 0.3275},
34839 {0.3113, 0.2186, 0.1224, 0.3477},
34840 {0.3801, 0.2121, 0.1543, 0.2534},
34841 {0.1621, 0.2881, 0.2548, 0.2950}},
34842 {
34843 {0.2225, 0.2210, 0.3955, 0.1610},
34844 {0.2042, 0.3393, 0.0887, 0.3678},
34845 {0.0661, 0.3911, 0.3914, 0.1515},
34846 {0.0650, 0.3211, 0.4854, 0.1285}},
34847 {
34848 {0.2359, 0.2865, 0.3605, 0.1171},
34849 {0.3273, 0.3344, 0.1057, 0.2326},
34850 {0.2198, 0.2807, 0.3865, 0.1131},
34851 {0.1651, 0.2331, 0.4910, 0.1108}},
34852 {
34853 {0.3608, 0.2375, 0.2384, 0.1633},
34854 {0.2986, 0.2460, 0.1471, 0.3082},
34855 {0.4068, 0.1539, 0.2787, 0.1607},
34856 {0.1588, 0.2471, 0.2178, 0.3763}},
34857 {
34858 {0.1339, 0.2705, 0.4288, 0.1668},
34859 {0.2390, 0.3753, 0.0588, 0.3269},
34860 {0.1717, 0.2833, 0.3322, 0.2127},
34861 {0.1200, 0.4222, 0.2683, 0.1895}},
34862 {
34863 {0.2457, 0.1756, 0.4751, 0.1036},
34864 {0.3070, 0.3578, 0.1607, 0.1744},
34865 {0.2485, 0.2640, 0.3740, 0.1135},
34866 {0.1996, 0.2303, 0.4600, 0.1101}},
34867 {
34868 {0.3748, 0.1770, 0.2206, 0.2276},
34869 {0.3011, 0.2974, 0.1093, 0.2922},
34870 {0.3716, 0.2246, 0.1926, 0.2112},
34871 {0.0966, 0.3760, 0.2099, 0.3175}},
34872 {
34873 {0.1886, 0.2526, 0.3944, 0.1644},
34874 {0.1993, 0.4038, 0.1348, 0.2622},
34875 {0.1100, 0.4175, 0.3050, 0.1675},
34876 {0.0857, 0.3028, 0.4738, 0.1376}},
34877 {
34878 {0.2216, 0.2453, 0.4050, 0.1281},
34879 {0.3488, 0.2546, 0.1528, 0.2438},
34880 {0.2288, 0.1946, 0.4349, 0.1417},
34881 {0.1231, 0.2347, 0.4359, 0.2064}},
34882 {
34883 {0.3384, 0.2119, 0.2447, 0.2050},
34884 {0.3709, 0.1933, 0.1019, 0.3339},
34885 {0.3209, 0.1583, 0.3355, 0.1853},
34886 {0.2258, 0.3419, 0.2003, 0.2321}},
34887 {
34888 {0.1597, 0.3057, 0.3985, 0.1361},
34889 {0.1673, 0.4084, 0.1180, 0.3063},
34890 {0.1268, 0.3533, 0.3095, 0.2104},
34891 {0.0922, 0.2821, 0.4689, 0.1568}},
34892 {
34893 {0.2539, 0.1904, 0.4003, 0.1554},
34894 {0.3201, 0.3234, 0.1283, 0.2282},
34895 {0.3090, 0.1990, 0.3466, 0.1455},
34896 {0.1856, 0.2690, 0.4105, 0.1349}},
34897 {
34898 {0.2976, 0.2556, 0.2388, 0.2079},
34899 {0.2004, 0.2840, 0.1511, 0.3646},
34900 {0.3417, 0.2171, 0.2404, 0.2008},
34901 {0.2423, 0.2388, 0.2206, 0.2982}}},
34902
34903 { /* Splice_Site: F2_AG; Species: Rat */
34904 {
34905 {0.2492, 0.2492, 0.2492, 0.2492},
34906 {0.3001, 0.3001, 0.3001, 0.3001},
34907 {0.2621, 0.2621, 0.2621, 0.2621},
34908 {0.1886, 0.1886, 0.1886, 0.1886}},
34909 {
34910 {0.2885, 0.2506, 0.2617, 0.1992},
34911 {0.2487, 0.3820, 0.0888, 0.2805},
34912 {0.3070, 0.2699, 0.2455, 0.1777},
34913 {0.1875, 0.3074, 0.1329, 0.3721}},
34914 {
34915 {0.1472, 0.3372, 0.4012, 0.1143},
34916 {0.2366, 0.4196, 0.1177, 0.2262},
34917 {0.2512, 0.3030, 0.1971, 0.2487},
34918 {0.0704, 0.3241, 0.4150, 0.1905}},
34919 {
34920 {0.1030, 0.4354, 0.3781, 0.0835},
34921 {0.2347, 0.3868, 0.1516, 0.2268},
34922 {0.2750, 0.2779, 0.2861, 0.1610},
34923 {0.0241, 0.3656, 0.3607, 0.2496}},
34924 {
34925 {0.3200, 0.2118, 0.2017, 0.2665},
34926 {0.2705, 0.3746, 0.0554, 0.2995},
34927 {0.1911, 0.2328, 0.3016, 0.2745},
34928 {0.1488, 0.3017, 0.2668, 0.2827}},
34929 {
34930 {0.2418, 0.1627, 0.5548, 0.0408},
34931 {0.2421, 0.4000, 0.0655, 0.2925},
34932 {0.1567, 0.3422, 0.3296, 0.1714},
34933 {0.1005, 0.2828, 0.4201, 0.1966}},
34934 {
34935 {0.1645, 0.3268, 0.4007, 0.1080},
34936 {0.2807, 0.3424, 0.1549, 0.2219},
34937 {0.3280, 0.2001, 0.3302, 0.1417},
34938 {0.1115, 0.3446, 0.3523, 0.1916}},
34939 {
34940 {0.3327, 0.2041, 0.2219, 0.2413},
34941 {0.3020, 0.3380, 0.0253, 0.3348},
34942 {0.2635, 0.2468, 0.2553, 0.2343},
34943 {0.1672, 0.2763, 0.2112, 0.3453}},
34944 {
34945 {0.2357, 0.2876, 0.4093, 0.0675},
34946 {0.2767, 0.3552, 0.0843, 0.2837},
34947 {0.2343, 0.3788, 0.2717, 0.1151},
34948 {0.1064, 0.3671, 0.3907, 0.1359}},
34949 {
34950 {0.1310, 0.2746, 0.4846, 0.1098},
34951 {0.3183, 0.3526, 0.0665, 0.2626},
34952 {0.2431, 0.2828, 0.3552, 0.1190},
34953 {0.0499, 0.4040, 0.3254, 0.2207}},
34954 {
34955 {0.3266, 0.2422, 0.1418, 0.2894},
34956 {0.2362, 0.2936, 0.1478, 0.3225},
34957 {0.2999, 0.2993, 0.2865, 0.1144},
34958 {0.1050, 0.3191, 0.2335, 0.3424}},
34959 {
34960 {0.2318, 0.2137, 0.4532, 0.1013},
34961 {0.2645, 0.4414, 0.1019, 0.1922},
34962 {0.2988, 0.3178, 0.2235, 0.1599},
34963 {0.1074, 0.4212, 0.3141, 0.1573}},
34964 {
34965 {0.1246, 0.2358, 0.5390, 0.1007},
34966 {0.2583, 0.3424, 0.1326, 0.2668},
34967 {0.2860, 0.2733, 0.3235, 0.1172},
34968 {0.0313, 0.3937, 0.3904, 0.1847}},
34969 {
34970 {0.2997, 0.1661, 0.2654, 0.2687},
34971 {0.2345, 0.3043, 0.1125, 0.3488},
34972 {0.2266, 0.2470, 0.3676, 0.1588},
34973 {0.1354, 0.3121, 0.2454, 0.3071}},
34974 {
34975 {0.1436, 0.2778, 0.4592, 0.1195},
34976 {0.2392, 0.3705, 0.0737, 0.3167},
34977 {0.2683, 0.3403, 0.2191, 0.1724},
34978 {0.0545, 0.2984, 0.4698, 0.1774}},
34979 {
34980 {0.1448, 0.3011, 0.4413, 0.1128},
34981 {0.2968, 0.3640, 0.1175, 0.2217},
34982 {0.2569, 0.3089, 0.3431, 0.0912},
34983 {0.0752, 0.3366, 0.3509, 0.2373}},
34984 {
34985 {0.2454, 0.3129, 0.2075, 0.2342},
34986 {0.2161, 0.3157, 0.1286, 0.3396},
34987 {0.2044, 0.3020, 0.3201, 0.1736},
34988 {0.1628, 0.3787, 0.2515, 0.2071}},
34989 {
34990 {0.1868, 0.3311, 0.3855, 0.0966},
34991 {0.2147, 0.4089, 0.1216, 0.2548},
34992 {0.2616, 0.2785, 0.2673, 0.1927},
34993 {0.0802, 0.3758, 0.3595, 0.1846}},
34994 {
34995 {0.1991, 0.3127, 0.4083, 0.0799},
34996 {0.2761, 0.3896, 0.1182, 0.2160},
34997 {0.2581, 0.2628, 0.3467, 0.1324},
34998 {0.0988, 0.4585, 0.2771, 0.1656}},
34999 {
35000 {0.2789, 0.2600, 0.1627, 0.2983},
35001 {0.2314, 0.3050, 0.1523, 0.3113},
35002 {0.2934, 0.2496, 0.2638, 0.1932},
35003 {0.1096, 0.3153, 0.2386, 0.3365}},
35004 {
35005 {0.1197, 0.2149, 0.5787, 0.0867},
35006 {0.2269, 0.3727, 0.0675, 0.3329},
35007 {0.2264, 0.3550, 0.2895, 0.1291},
35008 {0.0695, 0.2978, 0.4691, 0.1636}},
35009 {
35010 {0.0614, 0.4322, 0.4255, 0.0809},
35011 {0.2605, 0.3029, 0.1618, 0.2749},
35012 {0.2332, 0.3137, 0.2891, 0.1640},
35013 {0.0930, 0.3705, 0.3461, 0.1904}},
35014 {
35015 {0.2660, 0.2609, 0.2510, 0.2222},
35016 {0.3087, 0.2604, 0.1526, 0.2783},
35017 {0.2826, 0.2618, 0.2255, 0.2302},
35018 {0.1352, 0.3906, 0.2231, 0.2511}},
35019 {
35020 {0.1536, 0.2670, 0.4810, 0.0984},
35021 {0.2168, 0.3682, 0.1400, 0.2750},
35022 {0.1318, 0.3872, 0.3226, 0.1583},
35023 {0.1145, 0.3214, 0.3975, 0.1666}},
35024 {
35025 {0.2289, 0.2532, 0.3604, 0.1575},
35026 {0.3399, 0.3506, 0.1080, 0.2015},
35027 {0.3203, 0.2601, 0.2965, 0.1231},
35028 {0.1002, 0.2952, 0.4282, 0.1764}},
35029 {
35030 {0.3075, 0.2496, 0.2708, 0.1720},
35031 {0.3710, 0.3071, 0.0575, 0.2645},
35032 {0.2373, 0.2437, 0.2505, 0.2685},
35033 {0.1650, 0.3550, 0.1568, 0.3231}},
35034 {
35035 {0.2098, 0.2409, 0.4714, 0.0778},
35036 {0.2186, 0.3693, 0.1191, 0.2931},
35037 {0.2703, 0.5170, 0.1464, 0.0663},
35038 {0.1228, 0.2878, 0.4014, 0.1880}},
35039 {
35040 {0.1077, 0.2715, 0.4610, 0.1598},
35041 {0.4164, 0.3105, 0.1009, 0.1722},
35042 {0.2492, 0.2403, 0.3903, 0.1201},
35043 {0.0165, 0.3764, 0.3829, 0.2242}},
35044 {
35045 {0.3160, 0.1642, 0.2459, 0.2738},
35046 {0.1969, 0.3111, 0.0855, 0.4065},
35047 {0.2807, 0.2980, 0.2338, 0.1876},
35048 {0.1588, 0.3891, 0.1439, 0.3082}},
35049 {
35050 {0.2185, 0.2800, 0.3987, 0.1028},
35051 {0.2209, 0.4078, 0.1171, 0.2542},
35052 {0.2968, 0.3661, 0.2284, 0.1087},
35053 {0.0986, 0.2401, 0.4969, 0.1644}},
35054 {
35055 {0.2369, 0.2564, 0.4388, 0.0679},
35056 {0.3426, 0.2797, 0.1321, 0.2455},
35057 {0.2105, 0.2760, 0.3713, 0.1422},
35058 {0.0989, 0.3688, 0.2223, 0.3100}},
35059 {
35060 {0.3947, 0.1762, 0.1952, 0.2340},
35061 {0.2914, 0.3157, 0.1115, 0.2813},
35062 {0.2772, 0.1753, 0.3386, 0.2088},
35063 {0.1262, 0.2114, 0.3038, 0.3586}},
35064 {
35065 {0.1886, 0.3126, 0.3998, 0.0990},
35066 {0.1988, 0.4078, 0.0688, 0.3245},
35067 {0.1608, 0.3212, 0.3200, 0.1981},
35068 {0.0860, 0.3424, 0.3754, 0.1962}},
35069 {
35070 {0.1738, 0.2158, 0.4479, 0.1624},
35071 {0.2735, 0.3287, 0.1128, 0.2851},
35072 {0.2713, 0.1947, 0.4066, 0.1274},
35073 {0.0770, 0.5340, 0.2999, 0.0891}},
35074 {
35075 {0.2764, 0.2848, 0.1497, 0.2890},
35076 {0.3459, 0.2197, 0.0786, 0.3559},
35077 {0.1920, 0.2358, 0.3045, 0.2677},
35078 {0.1684, 0.3298, 0.2213, 0.2806}},
35079 {
35080 {0.2229, 0.1563, 0.5332, 0.0877},
35081 {0.2387, 0.3622, 0.0951, 0.3040},
35082 {0.1863, 0.3538, 0.2269, 0.2329},
35083 {0.0768, 0.3018, 0.3960, 0.2254}},
35084 {
35085 {0.1412, 0.2468, 0.4836, 0.1284},
35086 {0.3603, 0.3551, 0.1053, 0.1794},
35087 {0.2655, 0.2969, 0.3077, 0.1299},
35088 {0.0606, 0.4488, 0.3128, 0.1778}},
35089 {
35090 {0.3309, 0.2183, 0.2499, 0.2009},
35091 {0.2780, 0.3212, 0.1696, 0.2312},
35092 {0.2056, 0.2215, 0.3790, 0.1940},
35093 {0.1538, 0.3619, 0.1705, 0.3138}},
35094 {
35095 {0.1625, 0.2763, 0.4086, 0.1526},
35096 {0.2590, 0.3375, 0.1476, 0.2560},
35097 {0.1984, 0.4094, 0.2607, 0.1315},
35098 {0.0567, 0.3175, 0.4714, 0.1544}},
35099 {
35100 {0.1621, 0.3518, 0.3837, 0.1025},
35101 {0.2715, 0.4004, 0.1023, 0.2257},
35102 {0.2790, 0.2388, 0.3890, 0.0932},
35103 {0.1072, 0.2725, 0.4037, 0.2166}},
35104 {
35105 {0.3466, 0.3031, 0.1877, 0.1626},
35106 {0.3034, 0.3715, 0.0537, 0.2714},
35107 {0.2466, 0.2167, 0.2977, 0.2390},
35108 {0.2470, 0.2661, 0.1911, 0.2958}},
35109 {
35110 {0.1185, 0.3098, 0.4304, 0.1413},
35111 {0.3011, 0.4015, 0.1548, 0.1427},
35112 {0.2356, 0.3052, 0.3451, 0.1142},
35113 {0.0842, 0.3630, 0.4680, 0.0848}},
35114 {
35115 {0.0970, 0.2930, 0.4997, 0.1103},
35116 {0.3563, 0.3065, 0.1454, 0.1918},
35117 {0.2805, 0.2521, 0.3497, 0.1177},
35118 {0.2332, 0.2615, 0.2996, 0.2057}},
35119 {
35120 {0.2954, 0.2442, 0.1815, 0.2788},
35121 {0.2715, 0.3551, 0.0520, 0.3214},
35122 {0.3057, 0.2091, 0.2667, 0.2186},
35123 {0.0787, 0.2966, 0.3108, 0.3139}},
35124 {
35125 {0.1518, 0.2517, 0.5253, 0.0711},
35126 {0.3209, 0.4218, 0.1025, 0.1548},
35127 {0.1551, 0.3264, 0.2799, 0.2386},
35128 {0.0518, 0.2324, 0.6039, 0.1118}},
35129 {
35130 {0.0846, 0.3247, 0.4850, 0.1056},
35131 {0.2902, 0.3569, 0.1223, 0.2306},
35132 {0.2262, 0.2910, 0.3150, 0.1678},
35133 {0.0693, 0.2174, 0.4372, 0.2761}},
35134 {
35135 {0.2447, 0.1973, 0.2376, 0.3204},
35136 {0.1517, 0.4150, 0.1292, 0.3041},
35137 {0.2487, 0.2869, 0.2119, 0.2526},
35138 {0.0917, 0.3163, 0.1800, 0.4120}},
35139 {
35140 {0.1149, 0.2722, 0.5184, 0.0945},
35141 {0.3350, 0.3560, 0.1084, 0.2006},
35142 {0.1489, 0.3993, 0.2917, 0.1601},
35143 {0.1196, 0.2780, 0.4539, 0.1484}},
35144 {
35145 {0.1283, 0.3170, 0.5014, 0.0534},
35146 {0.3940, 0.3137, 0.1071, 0.1852},
35147 {0.3840, 0.2363, 0.3652, 0.0146},
35148 {0.0487, 0.2517, 0.5686, 0.1310}},
35149 {
35150 {0.3528, 0.3951, 0.1609, 0.0911},
35151 {0.2585, 0.4735, 0.1519, 0.1161},
35152 {0.2107, 0.3721, 0.3272, 0.0901},
35153 {0.0000, 0.8431, 0.0000, 0.1569}},
35154 {
35155 {1.0000, 0.0000, 0.0000, 0.0000},
35156 {1.0000, 0.0000, 0.0000, 0.0000},
35157 {1.0000, 0.0000, 0.0000, 0.0000},
35158 {1.0000, 0.0000, 0.0000, 0.0000}},
35159 {
35160 {0.0000, 0.0000, 1.0000, 0.0000},
35161 {0.0000, 0.0000, 0.0000, 0.0000},
35162 {0.0000, 0.0000, 0.0000, 0.0000},
35163 {0.0000, 0.0000, 0.0000, 0.0000}},
35164 {
35165 {0.0000, 0.0000, 0.0000, 0.0000},
35166 {0.0000, 0.0000, 0.0000, 0.0000},
35167 {0.2982, 0.2496, 0.2809, 0.1713},
35168 {0.0000, 0.0000, 0.0000, 0.0000}},
35169 {
35170 {0.2139, 0.1880, 0.4148, 0.1834},
35171 {0.3130, 0.4129, 0.0108, 0.2633},
35172 {0.2796, 0.2766, 0.2064, 0.2374},
35173 {0.1744, 0.2495, 0.4980, 0.0781}},
35174 {
35175 {0.1509, 0.2015, 0.5447, 0.1029},
35176 {0.3747, 0.3196, 0.1363, 0.1694},
35177 {0.2142, 0.2553, 0.3739, 0.1566},
35178 {0.1313, 0.3676, 0.4097, 0.0914}},
35179 {
35180 {0.3508, 0.2778, 0.1333, 0.2381},
35181 {0.3459, 0.2175, 0.1031, 0.3336},
35182 {0.2192, 0.2520, 0.3235, 0.2053},
35183 {0.1317, 0.2072, 0.3008, 0.3603}},
35184 {
35185 {0.2132, 0.2565, 0.4003, 0.1301},
35186 {0.2723, 0.3322, 0.1358, 0.2597},
35187 {0.2152, 0.3998, 0.2358, 0.1492},
35188 {0.1185, 0.3219, 0.4496, 0.1099}},
35189 {
35190 {0.1650, 0.3820, 0.3215, 0.1316},
35191 {0.2377, 0.3932, 0.1452, 0.2240},
35192 {0.2421, 0.2608, 0.3863, 0.1108},
35193 {0.0733, 0.3816, 0.4035, 0.1416}},
35194 {
35195 {0.3992, 0.2098, 0.1963, 0.1947},
35196 {0.3253, 0.3156, 0.0677, 0.2915},
35197 {0.2738, 0.2651, 0.2250, 0.2362},
35198 {0.2561, 0.3116, 0.2196, 0.2127}},
35199 {
35200 {0.1379, 0.3204, 0.4628, 0.0788},
35201 {0.3442, 0.2841, 0.1495, 0.2222},
35202 {0.2570, 0.2763, 0.3226, 0.1440},
35203 {0.0809, 0.3788, 0.3673, 0.1729}},
35204 {
35205 {0.1630, 0.3067, 0.3774, 0.1529},
35206 {0.3993, 0.3083, 0.0879, 0.2044},
35207 {0.2088, 0.3611, 0.3050, 0.1252},
35208 {0.1328, 0.2877, 0.4550, 0.1244}},
35209 {
35210 {0.2666, 0.2216, 0.2706, 0.2412},
35211 {0.3702, 0.2552, 0.1036, 0.2709},
35212 {0.2430, 0.2917, 0.2201, 0.2451},
35213 {0.1732, 0.2633, 0.2822, 0.2814}},
35214 {
35215 {0.1378, 0.2734, 0.5142, 0.0746},
35216 {0.3038, 0.4484, 0.0899, 0.1579},
35217 {0.2244, 0.3028, 0.2645, 0.2083},
35218 {0.1591, 0.2731, 0.4149, 0.1528}},
35219 {
35220 {0.1534, 0.2725, 0.4708, 0.1032},
35221 {0.3396, 0.2692, 0.1488, 0.2424},
35222 {0.3196, 0.2332, 0.3586, 0.0886},
35223 {0.0919, 0.2461, 0.4632, 0.1988}},
35224 {
35225 {0.3337, 0.2091, 0.1692, 0.2879},
35226 {0.3580, 0.2819, 0.0751, 0.2850},
35227 {0.2591, 0.2825, 0.2269, 0.2315},
35228 {0.1408, 0.2991, 0.2624, 0.2978}},
35229 {
35230 {0.1238, 0.2988, 0.5144, 0.0630},
35231 {0.1771, 0.4477, 0.1378, 0.2374},
35232 {0.2678, 0.2337, 0.3234, 0.1752},
35233 {0.1315, 0.2993, 0.4671, 0.1020}},
35234 {
35235 {0.1839, 0.3246, 0.4052, 0.0863},
35236 {0.3345, 0.3619, 0.0985, 0.2051},
35237 {0.2483, 0.2343, 0.4195, 0.0980},
35238 {0.0702, 0.3443, 0.4193, 0.1663}},
35239 {
35240 {0.2819, 0.2231, 0.2672, 0.2278},
35241 {0.2741, 0.2960, 0.1049, 0.3250},
35242 {0.2313, 0.2812, 0.2780, 0.2095},
35243 {0.1588, 0.2465, 0.2718, 0.3229}},
35244 {
35245 {0.2338, 0.2235, 0.4690, 0.0738},
35246 {0.2477, 0.3312, 0.1398, 0.2813},
35247 {0.3081, 0.2945, 0.2215, 0.1759},
35248 {0.1180, 0.3294, 0.4263, 0.1262}},
35249 {
35250 {0.1256, 0.3216, 0.4517, 0.1011},
35251 {0.2925, 0.3347, 0.1203, 0.2524},
35252 {0.2780, 0.2295, 0.3696, 0.1228},
35253 {0.1038, 0.2977, 0.4321, 0.1664}},
35254 {
35255 {0.2644, 0.2515, 0.2542, 0.2299},
35256 {0.2348, 0.3463, 0.1272, 0.2917},
35257 {0.2061, 0.2940, 0.2287, 0.2712},
35258 {0.1376, 0.2596, 0.3165, 0.2863}},
35259 {
35260 {0.2406, 0.2045, 0.4520, 0.1028},
35261 {0.1662, 0.3719, 0.1158, 0.3460},
35262 {0.2056, 0.3647, 0.2669, 0.1628},
35263 {0.1058, 0.3893, 0.4053, 0.0996}},
35264 {
35265 {0.1754, 0.2091, 0.5212, 0.0943},
35266 {0.2404, 0.3359, 0.1387, 0.2850},
35267 {0.2110, 0.1871, 0.4957, 0.1063},
35268 {0.0803, 0.4946, 0.2115, 0.2136}},
35269 {
35270 {0.3486, 0.2499, 0.2095, 0.1920},
35271 {0.3810, 0.2734, 0.1174, 0.2283},
35272 {0.3374, 0.2229, 0.2308, 0.2089},
35273 {0.1719, 0.4015, 0.1833, 0.2433}},
35274 {
35275 {0.2061, 0.2004, 0.4899, 0.1037},
35276 {0.2500, 0.3677, 0.1137, 0.2686},
35277 {0.1086, 0.3663, 0.4023, 0.1228},
35278 {0.1094, 0.3536, 0.3758, 0.1612}},
35279 {
35280 {0.1958, 0.2074, 0.4990, 0.0978},
35281 {0.2889, 0.3383, 0.1199, 0.2530},
35282 {0.2343, 0.2552, 0.3892, 0.1213},
35283 {0.0318, 0.4132, 0.4850, 0.0700}},
35284 {
35285 {0.2893, 0.2098, 0.1871, 0.3138},
35286 {0.3175, 0.2880, 0.1090, 0.2855},
35287 {0.2063, 0.2676, 0.3130, 0.2131},
35288 {0.1813, 0.1899, 0.2944, 0.3344}},
35289 {
35290 {0.1414, 0.2932, 0.4374, 0.1280},
35291 {0.1812, 0.4710, 0.0793, 0.2685},
35292 {0.1534, 0.3952, 0.2776, 0.1738},
35293 {0.0821, 0.4193, 0.3333, 0.1653}},
35294 {
35295 {0.1272, 0.2873, 0.3777, 0.2078},
35296 {0.2737, 0.3330, 0.1113, 0.2821},
35297 {0.2522, 0.2508, 0.3679, 0.1291},
35298 {0.0571, 0.2653, 0.4637, 0.2139}},
35299 {
35300 {0.2373, 0.2186, 0.1985, 0.3456},
35301 {0.3650, 0.2446, 0.1068, 0.2836},
35302 {0.2521, 0.2635, 0.3047, 0.1797},
35303 {0.1342, 0.2998, 0.2687, 0.2974}},
35304 {
35305 {0.1499, 0.2730, 0.4965, 0.0806},
35306 {0.2916, 0.3580, 0.1162, 0.2342},
35307 {0.1579, 0.3556, 0.3483, 0.1381},
35308 {0.1009, 0.3972, 0.3713, 0.1306}},
35309 {
35310 {0.2562, 0.2877, 0.3133, 0.1428},
35311 {0.3258, 0.2730, 0.1035, 0.2977},
35312 {0.2350, 0.2268, 0.3902, 0.1480},
35313 {0.0168, 0.3768, 0.4022, 0.2043}},
35314 {
35315 {0.4106, 0.1795, 0.2155, 0.1944},
35316 {0.2834, 0.2446, 0.0948, 0.3773},
35317 {0.2763, 0.2166, 0.3029, 0.2042},
35318 {0.1568, 0.2858, 0.2432, 0.3143}},
35319 {
35320 {0.1046, 0.2682, 0.4672, 0.1599},
35321 {0.2403, 0.4126, 0.0960, 0.2511},
35322 {0.2033, 0.3650, 0.2774, 0.1544},
35323 {0.1181, 0.3203, 0.4279, 0.1337}},
35324 {
35325 {0.2926, 0.3320, 0.2771, 0.0983},
35326 {0.3186, 0.3412, 0.1040, 0.2362},
35327 {0.2577, 0.3283, 0.2899, 0.1241},
35328 {0.0855, 0.3514, 0.4768, 0.0863}},
35329 {
35330 {0.4077, 0.1564, 0.2249, 0.2110},
35331 {0.2722, 0.2968, 0.0889, 0.3421},
35332 {0.1696, 0.2273, 0.3513, 0.2517},
35333 {0.2406, 0.1836, 0.2620, 0.3138}},
35334 {
35335 {0.2196, 0.2843, 0.3878, 0.1083},
35336 {0.3297, 0.4122, 0.0524, 0.2057},
35337 {0.2082, 0.3469, 0.2845, 0.1605},
35338 {0.1084, 0.3963, 0.3699, 0.1254}},
35339 {
35340 {0.2827, 0.2869, 0.3605, 0.0699},
35341 {0.3095, 0.3377, 0.1504, 0.2024},
35342 {0.2408, 0.1841, 0.3440, 0.2311},
35343 {0.0677, 0.4245, 0.3746, 0.1332}},
35344 {
35345 {0.3698, 0.1239, 0.2963, 0.2100},
35346 {0.2900, 0.2786, 0.1511, 0.2802},
35347 {0.2461, 0.2279, 0.2924, 0.2335},
35348 {0.1596, 0.3225, 0.1885, 0.3294}},
35349 {
35350 {0.1915, 0.2665, 0.4538, 0.0883},
35351 {0.2693, 0.3967, 0.1137, 0.2203},
35352 {0.1808, 0.3117, 0.3679, 0.1396},
35353 {0.1431, 0.2522, 0.4697, 0.1350}},
35354 {
35355 {0.0901, 0.2105, 0.5192, 0.1802},
35356 {0.3453, 0.3252, 0.1240, 0.2056},
35357 {0.2924, 0.2370, 0.3791, 0.0915},
35358 {0.0693, 0.3224, 0.3694, 0.2389}},
35359 {
35360 {0.3849, 0.2131, 0.2023, 0.1997},
35361 {0.2654, 0.2519, 0.1233, 0.3594},
35362 {0.2522, 0.2121, 0.3317, 0.2041},
35363 {0.1447, 0.1996, 0.2189, 0.4368}},
35364 {
35365 {0.1840, 0.2664, 0.3751, 0.1746},
35366 {0.2798, 0.3846, 0.0666, 0.2690},
35367 {0.2460, 0.3625, 0.2907, 0.1008},
35368 {0.0777, 0.2889, 0.4411, 0.1923}},
35369 {
35370 {0.1323, 0.1659, 0.5403, 0.1615},
35371 {0.3419, 0.3047, 0.1412, 0.2121},
35372 {0.2348, 0.2933, 0.3326, 0.1393},
35373 {0.1048, 0.4074, 0.2928, 0.1950}},
35374 {
35375 {0.3154, 0.2276, 0.2031, 0.2539},
35376 {0.2638, 0.2943, 0.0913, 0.3506},
35377 {0.2230, 0.1578, 0.3631, 0.2561},
35378 {0.0863, 0.2397, 0.2458, 0.4283}},
35379 {
35380 {0.2107, 0.2370, 0.4527, 0.0996},
35381 {0.3214, 0.3513, 0.0224, 0.3048},
35382 {0.1430, 0.3783, 0.2401, 0.2385},
35383 {0.0549, 0.3800, 0.4110, 0.1541}},
35384 {
35385 {0.1685, 0.3763, 0.3662, 0.0889},
35386 {0.2985, 0.3132, 0.0956, 0.2927},
35387 {0.2925, 0.2689, 0.3765, 0.0620},
35388 {0.0520, 0.3183, 0.4333, 0.1964}},
35389 {
35390 {0.3069, 0.2671, 0.2117, 0.2143},
35391 {0.2090, 0.3557, 0.1222, 0.3132},
35392 {0.2229, 0.2331, 0.2209, 0.3231},
35393 {0.0754, 0.3075, 0.2507, 0.3665}},
35394 {
35395 {0.2007, 0.2199, 0.4448, 0.1345},
35396 {0.3231, 0.3319, 0.0771, 0.2679},
35397 {0.0875, 0.3323, 0.3923, 0.1878},
35398 {0.0970, 0.4122, 0.3351, 0.1558}},
35399 {
35400 {0.2117, 0.3296, 0.3394, 0.1193},
35401 {0.3021, 0.3329, 0.1206, 0.2444},
35402 {0.3229, 0.2709, 0.2795, 0.1267},
35403 {0.0536, 0.4039, 0.3595, 0.1831}},
35404 {
35405 {0.3247, 0.2295, 0.2448, 0.2010},
35406 {0.3755, 0.3025, 0.1064, 0.2156},
35407 {0.2455, 0.2283, 0.2181, 0.3081},
35408 {0.1282, 0.2733, 0.3497, 0.2487}},
35409 {
35410 {0.1494, 0.2879, 0.4816, 0.0812},
35411 {0.2945, 0.3115, 0.0948, 0.2992},
35412 {0.2772, 0.2902, 0.2437, 0.1890},
35413 {0.1340, 0.2642, 0.4314, 0.1704}}},
35414
35415 { /* Splice_Site: F0_AG; Species: Rat */
35416 {
35417 {0.3791, 0.3791, 0.3791, 0.3791},
35418 {0.2229, 0.2229, 0.2229, 0.2229},
35419 {0.2298, 0.2298, 0.2298, 0.2298},
35420 {0.1682, 0.1682, 0.1682, 0.1682}},
35421 {
35422 {0.2338, 0.2136, 0.3543, 0.1984},
35423 {0.3345, 0.2693, 0.0882, 0.3080},
35424 {0.2320, 0.4205, 0.1779, 0.1697},
35425 {0.0442, 0.3999, 0.1555, 0.4004}},
35426 {
35427 {0.2678, 0.2747, 0.3062, 0.1513},
35428 {0.2379, 0.2939, 0.1341, 0.3341},
35429 {0.2463, 0.3011, 0.2745, 0.1780},
35430 {0.1054, 0.3236, 0.4020, 0.1690}},
35431 {
35432 {0.1294, 0.2459, 0.3719, 0.2528},
35433 {0.3860, 0.2470, 0.0483, 0.3187},
35434 {0.3498, 0.2736, 0.2257, 0.1509},
35435 {0.1543, 0.2862, 0.1856, 0.3738}},
35436 {
35437 {0.0697, 0.2536, 0.4317, 0.2450},
35438 {0.1861, 0.3848, 0.2037, 0.2254},
35439 {0.1374, 0.3407, 0.2444, 0.2775},
35440 {0.0248, 0.3241, 0.4015, 0.2496}},
35441 {
35442 {0.1233, 0.4698, 0.2759, 0.1310},
35443 {0.4159, 0.2689, 0.1278, 0.1873},
35444 {0.1232, 0.2518, 0.5006, 0.1244},
35445 {0.1083, 0.1380, 0.5100, 0.2436}},
35446 {
35447 {0.2804, 0.3160, 0.1853, 0.2182},
35448 {0.3312, 0.3239, 0.1603, 0.1845},
35449 {0.3428, 0.2228, 0.1315, 0.3029},
35450 {0.1125, 0.3883, 0.2657, 0.2335}},
35451 {
35452 {0.1629, 0.3617, 0.2845, 0.1910},
35453 {0.3270, 0.2918, 0.1122, 0.2690},
35454 {0.2355, 0.2330, 0.3452, 0.1863},
35455 {0.0270, 0.3926, 0.2722, 0.3082}},
35456 {
35457 {0.1723, 0.3201, 0.4360, 0.0717},
35458 {0.2937, 0.2737, 0.1621, 0.2706},
35459 {0.1939, 0.3301, 0.2517, 0.2242},
35460 {0.1172, 0.3842, 0.3102, 0.1883}},
35461 {
35462 {0.1683, 0.2054, 0.3322, 0.2941},
35463 {0.2735, 0.2233, 0.0621, 0.4411},
35464 {0.4987, 0.1991, 0.1802, 0.1221},
35465 {0.1292, 0.3286, 0.3763, 0.1660}},
35466 {
35467 {0.1444, 0.3344, 0.3323, 0.1889},
35468 {0.2015, 0.4568, 0.0817, 0.2601},
35469 {0.2298, 0.4561, 0.0976, 0.2166},
35470 {0.0246, 0.3505, 0.3754, 0.2494}},
35471 {
35472 {0.2361, 0.3310, 0.3356, 0.0974},
35473 {0.4343, 0.1592, 0.1679, 0.2386},
35474 {0.1474, 0.2261, 0.3722, 0.2542},
35475 {0.1453, 0.2694, 0.3216, 0.2637}},
35476 {
35477 {0.3030, 0.2476, 0.3246, 0.1248},
35478 {0.1489, 0.2746, 0.0627, 0.5137},
35479 {0.3398, 0.3398, 0.2248, 0.0956},
35480 {0.2073, 0.3501, 0.1735, 0.2691}},
35481 {
35482 {0.1257, 0.2366, 0.4559, 0.1819},
35483 {0.2432, 0.3310, 0.1330, 0.2928},
35484 {0.2939, 0.3016, 0.2377, 0.1668},
35485 {0.0000, 0.3706, 0.2878, 0.3416}},
35486 {
35487 {0.2405, 0.3223, 0.3965, 0.0407},
35488 {0.3469, 0.3306, 0.1310, 0.1915},
35489 {0.2013, 0.2518, 0.3739, 0.1730},
35490 {0.1659, 0.3390, 0.4163, 0.0787}},
35491 {
35492 {0.3312, 0.2528, 0.2489, 0.1670},
35493 {0.3247, 0.2823, 0.0896, 0.3034},
35494 {0.3234, 0.2395, 0.3039, 0.1333},
35495 {0.0517, 0.4007, 0.3522, 0.1954}},
35496 {
35497 {0.1843, 0.2309, 0.4629, 0.1219},
35498 {0.2194, 0.4169, 0.0983, 0.2654},
35499 {0.2356, 0.3561, 0.2351, 0.1732},
35500 {0.1354, 0.3338, 0.3691, 0.1617}},
35501 {
35502 {0.1708, 0.4517, 0.3072, 0.0703},
35503 {0.2881, 0.3079, 0.0824, 0.3216},
35504 {0.0935, 0.2565, 0.3494, 0.3006},
35505 {0.0775, 0.2912, 0.2606, 0.3707}},
35506 {
35507 {0.3249, 0.0792, 0.3202, 0.2757},
35508 {0.2568, 0.3374, 0.0661, 0.3398},
35509 {0.3453, 0.2840, 0.1717, 0.1990},
35510 {0.2733, 0.3143, 0.1174, 0.2950}},
35511 {
35512 {0.1862, 0.2530, 0.4011, 0.1597},
35513 {0.2671, 0.3879, 0.0738, 0.2712},
35514 {0.0895, 0.3593, 0.3239, 0.2273},
35515 {0.0477, 0.4798, 0.2864, 0.1861}},
35516 {
35517 {0.2652, 0.2640, 0.2524, 0.2183},
35518 {0.2359, 0.3121, 0.1444, 0.3077},
35519 {0.2327, 0.4112, 0.2820, 0.0740},
35520 {0.1610, 0.1949, 0.3615, 0.2826}},
35521 {
35522 {0.3041, 0.2760, 0.3323, 0.0876},
35523 {0.3585, 0.2177, 0.1528, 0.2709},
35524 {0.3044, 0.0812, 0.3042, 0.3103},
35525 {0.0839, 0.4140, 0.1999, 0.3021}},
35526 {
35527 {0.1782, 0.2503, 0.3715, 0.2000},
35528 {0.2236, 0.4403, 0.1110, 0.2252},
35529 {0.1159, 0.5034, 0.2207, 0.1600},
35530 {0.0282, 0.4192, 0.4432, 0.1095}},
35531 {
35532 {0.2962, 0.1479, 0.3533, 0.2026},
35533 {0.3580, 0.1864, 0.1189, 0.3367},
35534 {0.1896, 0.2787, 0.3210, 0.2107},
35535 {0.1105, 0.1560, 0.5087, 0.2249}},
35536 {
35537 {0.3189, 0.1079, 0.4420, 0.1312},
35538 {0.1661, 0.3319, 0.1619, 0.3401},
35539 {0.3424, 0.2482, 0.2917, 0.1178},
35540 {0.0799, 0.3534, 0.3389, 0.2277}},
35541 {
35542 {0.1704, 0.1488, 0.4139, 0.2669},
35543 {0.1835, 0.4151, 0.0801, 0.3214},
35544 {0.1242, 0.3631, 0.2798, 0.2328},
35545 {0.0710, 0.2756, 0.3832, 0.2702}},
35546 {
35547 {0.2879, 0.3493, 0.1869, 0.1759},
35548 {0.2625, 0.2371, 0.1967, 0.3036},
35549 {0.2193, 0.2746, 0.3121, 0.1940},
35550 {0.1712, 0.2489, 0.3808, 0.1992}},
35551 {
35552 {0.4415, 0.2340, 0.2345, 0.0900},
35553 {0.3601, 0.2312, 0.1584, 0.2503},
35554 {0.3185, 0.3177, 0.1936, 0.1702},
35555 {0.2063, 0.3226, 0.2352, 0.2358}},
35556 {
35557 {0.1463, 0.3227, 0.4452, 0.0858},
35558 {0.2964, 0.2852, 0.0735, 0.3448},
35559 {0.1990, 0.3371, 0.2362, 0.2277},
35560 {0.0365, 0.3565, 0.4674, 0.1396}},
35561 {
35562 {0.1823, 0.3053, 0.2754, 0.2370},
35563 {0.2497, 0.2493, 0.2483, 0.2527},
35564 {0.2902, 0.2207, 0.3569, 0.1322},
35565 {0.2773, 0.2420, 0.4127, 0.0679}},
35566 {
35567 {0.2630, 0.3134, 0.2937, 0.1299},
35568 {0.2658, 0.3578, 0.1292, 0.2473},
35569 {0.3549, 0.2177, 0.2964, 0.1309},
35570 {0.2001, 0.3446, 0.2672, 0.1881}},
35571 {
35572 {0.2389, 0.3153, 0.2777, 0.1681},
35573 {0.2695, 0.4095, 0.1119, 0.2091},
35574 {0.1076, 0.4024, 0.2694, 0.2206},
35575 {0.0435, 0.0381, 0.6793, 0.2391}},
35576 {
35577 {0.2217, 0.4051, 0.3733, 0.0000},
35578 {0.3495, 0.1443, 0.1930, 0.3133},
35579 {0.1342, 0.2993, 0.4087, 0.1577},
35580 {0.2035, 0.2724, 0.3899, 0.1342}},
35581 {
35582 {0.4100, 0.1727, 0.2952, 0.1221},
35583 {0.2307, 0.3152, 0.1999, 0.2542},
35584 {0.2702, 0.1851, 0.3838, 0.1610},
35585 {0.1498, 0.3052, 0.2311, 0.3139}},
35586 {
35587 {0.1455, 0.2509, 0.5052, 0.0984},
35588 {0.1996, 0.3087, 0.2044, 0.2874},
35589 {0.1608, 0.4177, 0.2588, 0.1627},
35590 {0.0353, 0.4018, 0.3252, 0.2376}},
35591 {
35592 {0.2307, 0.1951, 0.3810, 0.1932},
35593 {0.2369, 0.3096, 0.1186, 0.3348},
35594 {0.2322, 0.2927, 0.3308, 0.1443},
35595 {0.1122, 0.2568, 0.3940, 0.2371}},
35596 {
35597 {0.2620, 0.1625, 0.4116, 0.1639},
35598 {0.3203, 0.2654, 0.1171, 0.2973},
35599 {0.3430, 0.1233, 0.3130, 0.2207},
35600 {0.0868, 0.4866, 0.1728, 0.2538}},
35601 {
35602 {0.1297, 0.4201, 0.2682, 0.1820},
35603 {0.1780, 0.4228, 0.1274, 0.2717},
35604 {0.1096, 0.3814, 0.2393, 0.2696},
35605 {0.0591, 0.4813, 0.2824, 0.1772}},
35606 {
35607 {0.2189, 0.2177, 0.2861, 0.2774},
35608 {0.3249, 0.3651, 0.1246, 0.1854},
35609 {0.2059, 0.1200, 0.4964, 0.1778},
35610 {0.1485, 0.2096, 0.4848, 0.1571}},
35611 {
35612 {0.3098, 0.0835, 0.4652, 0.1416},
35613 {0.2956, 0.2864, 0.1314, 0.2865},
35614 {0.2862, 0.2804, 0.2190, 0.2144},
35615 {0.0319, 0.4269, 0.3176, 0.2237}},
35616 {
35617 {0.2746, 0.1925, 0.4519, 0.0810},
35618 {0.2076, 0.4067, 0.1048, 0.2809},
35619 {0.1501, 0.3889, 0.2922, 0.1688},
35620 {0.0919, 0.3714, 0.3187, 0.2180}},
35621 {
35622 {0.1132, 0.2951, 0.4103, 0.1814},
35623 {0.3533, 0.3330, 0.0588, 0.2548},
35624 {0.3581, 0.2362, 0.2628, 0.1429},
35625 {0.1116, 0.2417, 0.4664, 0.1803}},
35626 {
35627 {0.2605, 0.2321, 0.3018, 0.2056},
35628 {0.2872, 0.2345, 0.2835, 0.1948},
35629 {0.4759, 0.1323, 0.2875, 0.1043},
35630 {0.1352, 0.3788, 0.2470, 0.2389}},
35631 {
35632 {0.1577, 0.2288, 0.4792, 0.1344},
35633 {0.3506, 0.2277, 0.1398, 0.2819},
35634 {0.1176, 0.6162, 0.2160, 0.0502},
35635 {0.0370, 0.4055, 0.2973, 0.2603}},
35636 {
35637 {0.1577, 0.3716, 0.4340, 0.0367},
35638 {0.3292, 0.2924, 0.1091, 0.2692},
35639 {0.2567, 0.1662, 0.3482, 0.2289},
35640 {0.0794, 0.1584, 0.4350, 0.3271}},
35641 {
35642 {0.2830, 0.1478, 0.3934, 0.1758},
35643 {0.3964, 0.1655, 0.1409, 0.2972},
35644 {0.3739, 0.2042, 0.2365, 0.1854},
35645 {0.3211, 0.3251, 0.2083, 0.1454}},
35646 {
35647 {0.1327, 0.3155, 0.3335, 0.2183},
35648 {0.3199, 0.4250, 0.0337, 0.2214},
35649 {0.1952, 0.4409, 0.2510, 0.1129},
35650 {0.0336, 0.4391, 0.3935, 0.1338}},
35651 {
35652 {0.0392, 0.2798, 0.4069, 0.2741},
35653 {0.4332, 0.2424, 0.0701, 0.2543},
35654 {0.2278, 0.2373, 0.3812, 0.1537},
35655 {0.1487, 0.2681, 0.5076, 0.0756}},
35656 {
35657 {0.4867, 0.1557, 0.2527, 0.1049},
35658 {0.6015, 0.1890, 0.0520, 0.1575},
35659 {0.4735, 0.1929, 0.2637, 0.0699},
35660 {0.1019, 0.6021, 0.1968, 0.0992}},
35661 {
35662 {0.1257, 0.4329, 0.3495, 0.0918},
35663 {0.2300, 0.5597, 0.0767, 0.1336},
35664 {0.2519, 0.4807, 0.2325, 0.0349},
35665 {0.0000, 0.9374, 0.0000, 0.0626}},
35666 {
35667 {1.0000, 0.0000, 0.0000, 0.0000},
35668 {1.0000, 0.0000, 0.0000, 0.0000},
35669 {1.0000, 0.0000, 0.0000, 0.0000},
35670 {1.0000, 0.0000, 0.0000, 0.0000}},
35671 {
35672 {0.0000, 0.0000, 1.0000, 0.0000},
35673 {0.0000, 0.0000, 0.0000, 0.0000},
35674 {0.0000, 0.0000, 0.0000, 0.0000},
35675 {0.0000, 0.0000, 0.0000, 0.0000}},
35676 {
35677 {0.0000, 0.0000, 0.0000, 0.0000},
35678 {0.0000, 0.0000, 0.0000, 0.0000},
35679 {0.1633, 0.4244, 0.2033, 0.2090},
35680 {0.0000, 0.0000, 0.0000, 0.0000}},
35681 {
35682 {0.2028, 0.3281, 0.2545, 0.2145},
35683 {0.2072, 0.2692, 0.2552, 0.2684},
35684 {0.2991, 0.3420, 0.1986, 0.1603},
35685 {0.1278, 0.0963, 0.6791, 0.0968}},
35686 {
35687 {0.3294, 0.1004, 0.4418, 0.1284},
35688 {0.2630, 0.2712, 0.2349, 0.2309},
35689 {0.2431, 0.2202, 0.3954, 0.1413},
35690 {0.1346, 0.4611, 0.2351, 0.1692}},
35691 {
35692 {0.1446, 0.2492, 0.5522, 0.0540},
35693 {0.2922, 0.3421, 0.1303, 0.2355},
35694 {0.1874, 0.5256, 0.1445, 0.1425},
35695 {0.0000, 0.5153, 0.2854, 0.1993}},
35696 {
35697 {0.2431, 0.3174, 0.2005, 0.2390},
35698 {0.2950, 0.2323, 0.1317, 0.3410},
35699 {0.2033, 0.2031, 0.3923, 0.2012},
35700 {0.0441, 0.4335, 0.4759, 0.0465}},
35701 {
35702 {0.2383, 0.1590, 0.3883, 0.2144},
35703 {0.3452, 0.1863, 0.2498, 0.2187},
35704 {0.2547, 0.3071, 0.2582, 0.1799},
35705 {0.1367, 0.2263, 0.3646, 0.2724}},
35706 {
35707 {0.1334, 0.2429, 0.5958, 0.0279},
35708 {0.4040, 0.1573, 0.1563, 0.2824},
35709 {0.0667, 0.4099, 0.3705, 0.1529},
35710 {0.0295, 0.3938, 0.3387, 0.2379}},
35711 {
35712 {0.2228, 0.1418, 0.3140, 0.3214},
35713 {0.4127, 0.1689, 0.1599, 0.2585},
35714 {0.2347, 0.2614, 0.3240, 0.1799},
35715 {0.1634, 0.2747, 0.4833, 0.0787}},
35716 {
35717 {0.3657, 0.1479, 0.3892, 0.0973},
35718 {0.3199, 0.2768, 0.0947, 0.3086},
35719 {0.3612, 0.1592, 0.2964, 0.1832},
35720 {0.0996, 0.3838, 0.2917, 0.2249}},
35721 {
35722 {0.2040, 0.1381, 0.5666, 0.0912},
35723 {0.2320, 0.4756, 0.1159, 0.1765},
35724 {0.1738, 0.2917, 0.3612, 0.1732},
35725 {0.0681, 0.4073, 0.4192, 0.1054}},
35726 {
35727 {0.1529, 0.3050, 0.2812, 0.2609},
35728 {0.2338, 0.2457, 0.1969, 0.3236},
35729 {0.2489, 0.2486, 0.2380, 0.2644},
35730 {0.0943, 0.2932, 0.4059, 0.2066}},
35731 {
35732 {0.4181, 0.0642, 0.3179, 0.1997},
35733 {0.2574, 0.3603, 0.1267, 0.2556},
35734 {0.4094, 0.1861, 0.3239, 0.0806},
35735 {0.1711, 0.2682, 0.3642, 0.1965}},
35736 {
35737 {0.2016, 0.3291, 0.3120, 0.1573},
35738 {0.2299, 0.2964, 0.1789, 0.2949},
35739 {0.0989, 0.4488, 0.2879, 0.1645},
35740 {0.0000, 0.3724, 0.3311, 0.2964}},
35741 {
35742 {0.1949, 0.2423, 0.4178, 0.1450},
35743 {0.2959, 0.3718, 0.1315, 0.2008},
35744 {0.1729, 0.2648, 0.3720, 0.1903},
35745 {0.0928, 0.2866, 0.3433, 0.2773}},
35746 {
35747 {0.3356, 0.1344, 0.4625, 0.0675},
35748 {0.0888, 0.3575, 0.0880, 0.4657},
35749 {0.4515, 0.1197, 0.2844, 0.1444},
35750 {0.1248, 0.2878, 0.2951, 0.2922}},
35751 {
35752 {0.0825, 0.2642, 0.3850, 0.2682},
35753 {0.2000, 0.3242, 0.2374, 0.2384},
35754 {0.2076, 0.3802, 0.2531, 0.1591},
35755 {0.0000, 0.3410, 0.4226, 0.2364}},
35756 {
35757 {0.5074, 0.1624, 0.1662, 0.1640},
35758 {0.3613, 0.2881, 0.1039, 0.2466},
35759 {0.2301, 0.2122, 0.3517, 0.2060},
35760 {0.1217, 0.1801, 0.5202, 0.1780}},
35761 {
35762 {0.4060, 0.0697, 0.4054, 0.1189},
35763 {0.4583, 0.1804, 0.1194, 0.2419},
35764 {0.3810, 0.1646, 0.2854, 0.1690},
35765 {0.1595, 0.4877, 0.1306, 0.2222}},
35766 {
35767 {0.1325, 0.2027, 0.4609, 0.2039},
35768 {0.2294, 0.3898, 0.1231, 0.2577},
35769 {0.2703, 0.2707, 0.3760, 0.0830},
35770 {0.0367, 0.4790, 0.2586, 0.2256}},
35771 {
35772 {0.1609, 0.2426, 0.3222, 0.2744},
35773 {0.1774, 0.3284, 0.1315, 0.3627},
35774 {0.2873, 0.1186, 0.3495, 0.2446},
35775 {0.0676, 0.3947, 0.3592, 0.1785}},
35776 {
35777 {0.3283, 0.1772, 0.2454, 0.2491},
35778 {0.3154, 0.2049, 0.1853, 0.2945},
35779 {0.4857, 0.0756, 0.2706, 0.1681},
35780 {0.1916, 0.3127, 0.2703, 0.2254}},
35781 {
35782 {0.2460, 0.2589, 0.4131, 0.0820},
35783 {0.2399, 0.3471, 0.1410, 0.2720},
35784 {0.1142, 0.3288, 0.3291, 0.2279},
35785 {0.0000, 0.4726, 0.3239, 0.2036}},
35786 {
35787 {0.1778, 0.2590, 0.3009, 0.2624},
35788 {0.3721, 0.1606, 0.1961, 0.2712},
35789 {0.2329, 0.2995, 0.3640, 0.1036},
35790 {0.1131, 0.4009, 0.3351, 0.1508}},
35791 {
35792 {0.4593, 0.1345, 0.2190, 0.1872},
35793 {0.3082, 0.2592, 0.1781, 0.2545},
35794 {0.2717, 0.2339, 0.3018, 0.1926},
35795 {0.2775, 0.4120, 0.1033, 0.2072}},
35796 {
35797 {0.2868, 0.2392, 0.3088, 0.1653},
35798 {0.2159, 0.4023, 0.2458, 0.1361},
35799 {0.2571, 0.3912, 0.2911, 0.0606},
35800 {0.0000, 0.4590, 0.4445, 0.0965}},
35801 {
35802 {0.2307, 0.2705, 0.2601, 0.2388},
35803 {0.3603, 0.3626, 0.0358, 0.2414},
35804 {0.2358, 0.2113, 0.3183, 0.2346},
35805 {0.1780, 0.1115, 0.3793, 0.3313}},
35806 {
35807 {0.3493, 0.1213, 0.3058, 0.2236},
35808 {0.2337, 0.3281, 0.2128, 0.2254},
35809 {0.2804, 0.0927, 0.4119, 0.2149},
35810 {0.1647, 0.3773, 0.3002, 0.1577}},
35811 {
35812 {0.2630, 0.1561, 0.2888, 0.2921},
35813 {0.2269, 0.3932, 0.1201, 0.2598},
35814 {0.2043, 0.3462, 0.2923, 0.1572},
35815 {0.0942, 0.3909, 0.2248, 0.2900}},
35816 {
35817 {0.2296, 0.3011, 0.3342, 0.1350},
35818 {0.3557, 0.2388, 0.2184, 0.1872},
35819 {0.1428, 0.2535, 0.4004, 0.2034},
35820 {0.2554, 0.2400, 0.3675, 0.1371}},
35821 {
35822 {0.3988, 0.1537, 0.3136, 0.1339},
35823 {0.2588, 0.3196, 0.2070, 0.2146},
35824 {0.2550, 0.2999, 0.2728, 0.1722},
35825 {0.0774, 0.2735, 0.1631, 0.4860}},
35826 {
35827 {0.3561, 0.2787, 0.2328, 0.1325},
35828 {0.2081, 0.4390, 0.1515, 0.2014},
35829 {0.1584, 0.3525, 0.3525, 0.1367},
35830 {0.0265, 0.4758, 0.2164, 0.2813}},
35831 {
35832 {0.2108, 0.2803, 0.3037, 0.2053},
35833 {0.4030, 0.2668, 0.0718, 0.2584},
35834 {0.1154, 0.2863, 0.4517, 0.1467},
35835 {0.0365, 0.1472, 0.5589, 0.2574}},
35836 {
35837 {0.1988, 0.1184, 0.5052, 0.1776},
35838 {0.2420, 0.2383, 0.1336, 0.3861},
35839 {0.3198, 0.3414, 0.2715, 0.0674},
35840 {0.3366, 0.2655, 0.2209, 0.1770}},
35841 {
35842 {0.1418, 0.3173, 0.3957, 0.1453},
35843 {0.2425, 0.2750, 0.2400, 0.2425},
35844 {0.2227, 0.2883, 0.2450, 0.2441},
35845 {0.0000, 0.4468, 0.3832, 0.1700}},
35846 {
35847 {0.1697, 0.3702, 0.2935, 0.1666},
35848 {0.2506, 0.3499, 0.1259, 0.2736},
35849 {0.1961, 0.2087, 0.4395, 0.1557},
35850 {0.2321, 0.2681, 0.2705, 0.2293}},
35851 {
35852 {0.2208, 0.3159, 0.3714, 0.0918},
35853 {0.4157, 0.1974, 0.1131, 0.2738},
35854 {0.3699, 0.2173, 0.3136, 0.0992},
35855 {0.1971, 0.3240, 0.3192, 0.1597}},
35856 {
35857 {0.3048, 0.2863, 0.3002, 0.1087},
35858 {0.3457, 0.2336, 0.1586, 0.2621},
35859 {0.1275, 0.3489, 0.3030, 0.2207},
35860 {0.0447, 0.4173, 0.2499, 0.2882}},
35861 {
35862 {0.2097, 0.1864, 0.4482, 0.1557},
35863 {0.5630, 0.1303, 0.1325, 0.1742},
35864 {0.1845, 0.2679, 0.3439, 0.2037},
35865 {0.0969, 0.1932, 0.5837, 0.1262}},
35866 {
35867 {0.4662, 0.1856, 0.2330, 0.1151},
35868 {0.2207, 0.2359, 0.2499, 0.2935},
35869 {0.3256, 0.2839, 0.2326, 0.1579},
35870 {0.1949, 0.4816, 0.1620, 0.1615}},
35871 {
35872 {0.2236, 0.2093, 0.3392, 0.2279},
35873 {0.2422, 0.3502, 0.1460, 0.2616},
35874 {0.1530, 0.3341, 0.2714, 0.2416},
35875 {0.0000, 0.4816, 0.4395, 0.0789}},
35876 {
35877 {0.0369, 0.4142, 0.4711, 0.0778},
35878 {0.2965, 0.3144, 0.1855, 0.2036},
35879 {0.1900, 0.2644, 0.3794, 0.1662},
35880 {0.1278, 0.2454, 0.4064, 0.2204}},
35881 {
35882 {0.2224, 0.1567, 0.4742, 0.1468},
35883 {0.3137, 0.3506, 0.0871, 0.2486},
35884 {0.1560, 0.2664, 0.3758, 0.2018},
35885 {0.3097, 0.2267, 0.2352, 0.2283}},
35886 {
35887 {0.1349, 0.2782, 0.4174, 0.1696},
35888 {0.2028, 0.2758, 0.2313, 0.2900},
35889 {0.1617, 0.3126, 0.2654, 0.2603},
35890 {0.0981, 0.2953, 0.3521, 0.2546}},
35891 {
35892 {0.1305, 0.2230, 0.4260, 0.2205},
35893 {0.3494, 0.3987, 0.1195, 0.1324},
35894 {0.1476, 0.1098, 0.4842, 0.2585},
35895 {0.1356, 0.3382, 0.3869, 0.1393}},
35896 {
35897 {0.3370, 0.1297, 0.3012, 0.2320},
35898 {0.3911, 0.2053, 0.1519, 0.2516},
35899 {0.3521, 0.1765, 0.3749, 0.0966},
35900 {0.1827, 0.4185, 0.2174, 0.1814}},
35901 {
35902 {0.1709, 0.2478, 0.4791, 0.1022},
35903 {0.3362, 0.3570, 0.0928, 0.2140},
35904 {0.1531, 0.3509, 0.3546, 0.1414},
35905 {0.1161, 0.5208, 0.2545, 0.1086}},
35906 {
35907 {0.2206, 0.2109, 0.2484, 0.3200},
35908 {0.3098, 0.3645, 0.0386, 0.2872},
35909 {0.3018, 0.1925, 0.2942, 0.2115},
35910 {0.1992, 0.2367, 0.3732, 0.1909}},
35911 {
35912 {0.1742, 0.1979, 0.4063, 0.2216},
35913 {0.3402, 0.3060, 0.1232, 0.2305},
35914 {0.2869, 0.1924, 0.2933, 0.2274},
35915 {0.2384, 0.2873, 0.2638, 0.2105}},
35916 {
35917 {0.1045, 0.3939, 0.3424, 0.1591},
35918 {0.2166, 0.4311, 0.0555, 0.2968},
35919 {0.1247, 0.2996, 0.2238, 0.3518},
35920 {0.0907, 0.2114, 0.5168, 0.1812}},
35921 {
35922 {0.2938, 0.2001, 0.4059, 0.1001},
35923 {0.3416, 0.1638, 0.1404, 0.3325},
35924 {0.1712, 0.2450, 0.4184, 0.1655},
35925 {0.1854, 0.3286, 0.3450, 0.1411}}},
35926
35927 { /* Splice_Site: Fi_AG; Species: Rat */
35928 {
35929 {0.2660, 0.2660, 0.2660, 0.2660},
35930 {0.2182, 0.2182, 0.2182, 0.2182},
35931 {0.2600, 0.2600, 0.2600, 0.2600},
35932 {0.2557, 0.2557, 0.2557, 0.2557}},
35933 {
35934 {0.2289, 0.2045, 0.3379, 0.2287},
35935 {0.2770, 0.3150, 0.0569, 0.3510},
35936 {0.2734, 0.2364, 0.2812, 0.2090},
35937 {0.2548, 0.1928, 0.2657, 0.2867}},
35938 {
35939 {0.2633, 0.2169, 0.3111, 0.2087},
35940 {0.3546, 0.2447, 0.0737, 0.3270},
35941 {0.2580, 0.2166, 0.2116, 0.3139},
35942 {0.2322, 0.2251, 0.2552, 0.2876}},
35943 {
35944 {0.2794, 0.2265, 0.3055, 0.1887},
35945 {0.3039, 0.2757, 0.0676, 0.3528},
35946 {0.2862, 0.2098, 0.3015, 0.2025},
35947 {0.1824, 0.2693, 0.3820, 0.1663}},
35948 {
35949 {0.2504, 0.1982, 0.3327, 0.2187},
35950 {0.3595, 0.2393, 0.0881, 0.3131},
35951 {0.2770, 0.1660, 0.2881, 0.2689},
35952 {0.2081, 0.2044, 0.3401, 0.2473}},
35953 {
35954 {0.2505, 0.2725, 0.3115, 0.1655},
35955 {0.3549, 0.3470, 0.0520, 0.2461},
35956 {0.1964, 0.2151, 0.3008, 0.2878},
35957 {0.1166, 0.2501, 0.3717, 0.2616}},
35958 {
35959 {0.2207, 0.1757, 0.3843, 0.2193},
35960 {0.3568, 0.2624, 0.0650, 0.3159},
35961 {0.2839, 0.1716, 0.3198, 0.2247},
35962 {0.2078, 0.2398, 0.2903, 0.2622}},
35963 {
35964 {0.2914, 0.2663, 0.2757, 0.1666},
35965 {0.3412, 0.2699, 0.0404, 0.3486},
35966 {0.3178, 0.2258, 0.2090, 0.2474},
35967 {0.1291, 0.2702, 0.3472, 0.2535}},
35968 {
35969 {0.3742, 0.1579, 0.2493, 0.2186},
35970 {0.3679, 0.2866, 0.0726, 0.2729},
35971 {0.2877, 0.1785, 0.2991, 0.2347},
35972 {0.1719, 0.1908, 0.3714, 0.2659}},
35973 {
35974 {0.2801, 0.2066, 0.3259, 0.1874},
35975 {0.3392, 0.2418, 0.0415, 0.3775},
35976 {0.2642, 0.2117, 0.2582, 0.2660},
35977 {0.2217, 0.2423, 0.2938, 0.2422}},
35978 {
35979 {0.2944, 0.1902, 0.3189, 0.1965},
35980 {0.3611, 0.2420, 0.0754, 0.3215},
35981 {0.2815, 0.2161, 0.2871, 0.2153},
35982 {0.2238, 0.2766, 0.2578, 0.2418}},
35983 {
35984 {0.3161, 0.1501, 0.3569, 0.1769},
35985 {0.3346, 0.1975, 0.0777, 0.3901},
35986 {0.2418, 0.2015, 0.2967, 0.2601},
35987 {0.1720, 0.2343, 0.3491, 0.2446}},
35988 {
35989 {0.2292, 0.2456, 0.2972, 0.2280},
35990 {0.4234, 0.2238, 0.0398, 0.3129},
35991 {0.2195, 0.2234, 0.3116, 0.2454},
35992 {0.1875, 0.2370, 0.3245, 0.2511}},
35993 {
35994 {0.2064, 0.2436, 0.3484, 0.2015},
35995 {0.3068, 0.2001, 0.0916, 0.4015},
35996 {0.3045, 0.2307, 0.2404, 0.2244},
35997 {0.0869, 0.2264, 0.3569, 0.3298}},
35998 {
35999 {0.3327, 0.2561, 0.2861, 0.1251},
36000 {0.3676, 0.2864, 0.1141, 0.2319},
36001 {0.3146, 0.2066, 0.2091, 0.2697},
36002 {0.2129, 0.2004, 0.3097, 0.2769}},
36003 {
36004 {0.2767, 0.1667, 0.3525, 0.2040},
36005 {0.3547, 0.2276, 0.0467, 0.3710},
36006 {0.3060, 0.1774, 0.2964, 0.2202},
36007 {0.1982, 0.2201, 0.3203, 0.2614}},
36008 {
36009 {0.3005, 0.2278, 0.2938, 0.1779},
36010 {0.3018, 0.2923, 0.0873, 0.3186},
36011 {0.2833, 0.2194, 0.2435, 0.2538},
36012 {0.1934, 0.2385, 0.3125, 0.2556}},
36013 {
36014 {0.2693, 0.1824, 0.3494, 0.1989},
36015 {0.2679, 0.3388, 0.0821, 0.3112},
36016 {0.2659, 0.1884, 0.3267, 0.2191},
36017 {0.1599, 0.2571, 0.2569, 0.3261}},
36018 {
36019 {0.2718, 0.2631, 0.2771, 0.1880},
36020 {0.3440, 0.2964, 0.0597, 0.3000},
36021 {0.3066, 0.2358, 0.3435, 0.1141},
36022 {0.1764, 0.2236, 0.2729, 0.3271}},
36023 {
36024 {0.3059, 0.2005, 0.2635, 0.2300},
36025 {0.3168, 0.2632, 0.0765, 0.3436},
36026 {0.3003, 0.2208, 0.3331, 0.1459},
36027 {0.1741, 0.1749, 0.3352, 0.3158}},
36028 {
36029 {0.2184, 0.2100, 0.3047, 0.2669},
36030 {0.3585, 0.3811, 0.0704, 0.1899},
36031 {0.2810, 0.2650, 0.2598, 0.1942},
36032 {0.2393, 0.2259, 0.3220, 0.2128}},
36033 {
36034 {0.2595, 0.2120, 0.3099, 0.2186},
36035 {0.3806, 0.2481, 0.0566, 0.3147},
36036 {0.2723, 0.1922, 0.3386, 0.1968},
36037 {0.1471, 0.1683, 0.4074, 0.2772}},
36038 {
36039 {0.3485, 0.2376, 0.2453, 0.1686},
36040 {0.2513, 0.3314, 0.0998, 0.3175},
36041 {0.2122, 0.2149, 0.2961, 0.2768},
36042 {0.2258, 0.2443, 0.2507, 0.2792}},
36043 {
36044 {0.3143, 0.2229, 0.3215, 0.1413},
36045 {0.3607, 0.2685, 0.0519, 0.3189},
36046 {0.2420, 0.1751, 0.3698, 0.2131},
36047 {0.2186, 0.2138, 0.3532, 0.2144}},
36048 {
36049 {0.3031, 0.2520, 0.2122, 0.2327},
36050 {0.2934, 0.3200, 0.0602, 0.3264},
36051 {0.3008, 0.1180, 0.3748, 0.2064},
36052 {0.2024, 0.2679, 0.2607, 0.2690}},
36053 {
36054 {0.3587, 0.1720, 0.2730, 0.1963},
36055 {0.3269, 0.2949, 0.0684, 0.3098},
36056 {0.2657, 0.1821, 0.2769, 0.2753},
36057 {0.1349, 0.2290, 0.2990, 0.3372}},
36058 {
36059 {0.2609, 0.2353, 0.3574, 0.1463},
36060 {0.3241, 0.3048, 0.0950, 0.2762},
36061 {0.2655, 0.1917, 0.3047, 0.2381},
36062 {0.1945, 0.1610, 0.3164, 0.3280}},
36063 {
36064 {0.2663, 0.1523, 0.3787, 0.2026},
36065 {0.3841, 0.2098, 0.0665, 0.3395},
36066 {0.2626, 0.2327, 0.3184, 0.1863},
36067 {0.2365, 0.2262, 0.3146, 0.2227}},
36068 {
36069 {0.2874, 0.2156, 0.2724, 0.2245},
36070 {0.3719, 0.2101, 0.0914, 0.3266},
36071 {0.2934, 0.1917, 0.2785, 0.2364},
36072 {0.1280, 0.2294, 0.3052, 0.3374}},
36073 {
36074 {0.3440, 0.2447, 0.2569, 0.1545},
36075 {0.3092, 0.2769, 0.0791, 0.3348},
36076 {0.2977, 0.1749, 0.3291, 0.1983},
36077 {0.1814, 0.2118, 0.3525, 0.2542}},
36078 {
36079 {0.2748, 0.1831, 0.3641, 0.1781},
36080 {0.3820, 0.2217, 0.0680, 0.3282},
36081 {0.2553, 0.1236, 0.3007, 0.3204},
36082 {0.1957, 0.2533, 0.2426, 0.3084}},
36083 {
36084 {0.2405, 0.1750, 0.4262, 0.1583},
36085 {0.3312, 0.2294, 0.0865, 0.3530},
36086 {0.3399, 0.1219, 0.2853, 0.2529},
36087 {0.1488, 0.2372, 0.3831, 0.2308}},
36088 {
36089 {0.2808, 0.1702, 0.3336, 0.2154},
36090 {0.3450, 0.3466, 0.0336, 0.2748},
36091 {0.2462, 0.2535, 0.2718, 0.2286},
36092 {0.1530, 0.2389, 0.3576, 0.2505}},
36093 {
36094 {0.2678, 0.2070, 0.3207, 0.2046},
36095 {0.3711, 0.2431, 0.1064, 0.2794},
36096 {0.3188, 0.1951, 0.3286, 0.1574},
36097 {0.2062, 0.2521, 0.2636, 0.2781}},
36098 {
36099 {0.2571, 0.2231, 0.3014, 0.2183},
36100 {0.2821, 0.3453, 0.0863, 0.2863},
36101 {0.2656, 0.1195, 0.3388, 0.2760},
36102 {0.2005, 0.2331, 0.2895, 0.2768}},
36103 {
36104 {0.3493, 0.2155, 0.3267, 0.1086},
36105 {0.3365, 0.2956, 0.0592, 0.3087},
36106 {0.2774, 0.2267, 0.3119, 0.1840},
36107 {0.1970, 0.2236, 0.2825, 0.2969}},
36108 {
36109 {0.2093, 0.1780, 0.3914, 0.2213},
36110 {0.4254, 0.2046, 0.1330, 0.2371},
36111 {0.2643, 0.1186, 0.3747, 0.2425},
36112 {0.1927, 0.2403, 0.2715, 0.2955}},
36113 {
36114 {0.2663, 0.1989, 0.3585, 0.1763},
36115 {0.3412, 0.3018, 0.0723, 0.2848},
36116 {0.2581, 0.2417, 0.3082, 0.1920},
36117 {0.1528, 0.1734, 0.4412, 0.2325}},
36118 {
36119 {0.2603, 0.1758, 0.3186, 0.2453},
36120 {0.3656, 0.1844, 0.0579, 0.3921},
36121 {0.3071, 0.2547, 0.2599, 0.1783},
36122 {0.2500, 0.2415, 0.3336, 0.1748}},
36123 {
36124 {0.2633, 0.1839, 0.3618, 0.1910},
36125 {0.3481, 0.2468, 0.0863, 0.3188},
36126 {0.2855, 0.2253, 0.2519, 0.2373},
36127 {0.2245, 0.2283, 0.3151, 0.2322}},
36128 {
36129 {0.2238, 0.2238, 0.3403, 0.2121},
36130 {0.2355, 0.2488, 0.0906, 0.4252},
36131 {0.3236, 0.2305, 0.2200, 0.2259},
36132 {0.2253, 0.2262, 0.3944, 0.1542}},
36133 {
36134 {0.1613, 0.2383, 0.4230, 0.1774},
36135 {0.2760, 0.3415, 0.0870, 0.2954},
36136 {0.3050, 0.1970, 0.2889, 0.2091},
36137 {0.1438, 0.2383, 0.3744, 0.2435}},
36138 {
36139 {0.2352, 0.1494, 0.3737, 0.2417},
36140 {0.2985, 0.3015, 0.0824, 0.3175},
36141 {0.2926, 0.2116, 0.2720, 0.2238},
36142 {0.1893, 0.1981, 0.3566, 0.2561}},
36143 {
36144 {0.2582, 0.2304, 0.3175, 0.1939},
36145 {0.3033, 0.3108, 0.0402, 0.3457},
36146 {0.2470, 0.1813, 0.3511, 0.2207},
36147 {0.2627, 0.2056, 0.3028, 0.2290}},
36148 {
36149 {0.3272, 0.1910, 0.3592, 0.1226},
36150 {0.3733, 0.2346, 0.0387, 0.3533},
36151 {0.3184, 0.1722, 0.2772, 0.2321},
36152 {0.1784, 0.2319, 0.3418, 0.2479}},
36153 {
36154 {0.2502, 0.2089, 0.3097, 0.2312},
36155 {0.3012, 0.2387, 0.0406, 0.4195},
36156 {0.2645, 0.1653, 0.3242, 0.2460},
36157 {0.1572, 0.2417, 0.3504, 0.2507}},
36158 {
36159 {0.3067, 0.1484, 0.3982, 0.1466},
36160 {0.3221, 0.2871, 0.0789, 0.3119},
36161 {0.3074, 0.1242, 0.3020, 0.2665},
36162 {0.2184, 0.2590, 0.3699, 0.1527}},
36163 {
36164 {0.2388, 0.2030, 0.3650, 0.1933},
36165 {0.3037, 0.2730, 0.0678, 0.3555},
36166 {0.2143, 0.3004, 0.3127, 0.1726},
36167 {0.1637, 0.1931, 0.3728, 0.2704}},
36168 {
36169 {0.2727, 0.1631, 0.3896, 0.1746},
36170 {0.3090, 0.3043, 0.0633, 0.3234},
36171 {0.2804, 0.1544, 0.3976, 0.1677},
36172 {0.1862, 0.2366, 0.2940, 0.2832}},
36173 {
36174 {0.1977, 0.3112, 0.3533, 0.1378},
36175 {0.2549, 0.5287, 0.0312, 0.1852},
36176 {0.3265, 0.2266, 0.2987, 0.1483},
36177 {0.1677, 0.3462, 0.3169, 0.1693}},
36178 {
36179 {1.0000, 0.0000, 0.0000, 0.0000},
36180 {1.0000, 0.0000, 0.0000, 0.0000},
36181 {1.0000, 0.0000, 0.0000, 0.0000},
36182 {1.0000, 0.0000, 0.0000, 0.0000}},
36183 {
36184 {0.0000, 0.0000, 1.0000, 0.0000},
36185 {0.0000, 0.0000, 0.0000, 0.0000},
36186 {0.0000, 0.0000, 0.0000, 0.0000},
36187 {0.0000, 0.0000, 0.0000, 0.0000}},
36188 {
36189 {0.0000, 0.0000, 0.0000, 0.0000},
36190 {0.0000, 0.0000, 0.0000, 0.0000},
36191 {0.3046, 0.1939, 0.2776, 0.2238},
36192 {0.0000, 0.0000, 0.0000, 0.0000}},
36193 {
36194 {0.2687, 0.2170, 0.3999, 0.1145},
36195 {0.2775, 0.3036, 0.0979, 0.3210},
36196 {0.3052, 0.1946, 0.2638, 0.2364},
36197 {0.2922, 0.1855, 0.2896, 0.2326}},
36198 {
36199 {0.2659, 0.2156, 0.2798, 0.2386},
36200 {0.3424, 0.2518, 0.0815, 0.3242},
36201 {0.3148, 0.2296, 0.2677, 0.1879},
36202 {0.2144, 0.2268, 0.2211, 0.3377}},
36203 {
36204 {0.3034, 0.1464, 0.3409, 0.2093},
36205 {0.3194, 0.2747, 0.0487, 0.3572},
36206 {0.3037, 0.2081, 0.2929, 0.1953},
36207 {0.1706, 0.3015, 0.3344, 0.1936}},
36208 {
36209 {0.2950, 0.2250, 0.2800, 0.2000},
36210 {0.2813, 0.2723, 0.0901, 0.3563},
36211 {0.2493, 0.2025, 0.3540, 0.1942},
36212 {0.1652, 0.2306, 0.3803, 0.2239}},
36213 {
36214 {0.2049, 0.1185, 0.4083, 0.2682},
36215 {0.4105, 0.2047, 0.0758, 0.3089},
36216 {0.2452, 0.1769, 0.3082, 0.2698},
36217 {0.1655, 0.1698, 0.3673, 0.2974}},
36218 {
36219 {0.2550, 0.1419, 0.4062, 0.1969},
36220 {0.3537, 0.3461, 0.0639, 0.2362},
36221 {0.2601, 0.2005, 0.2913, 0.2481},
36222 {0.2440, 0.2408, 0.3197, 0.1955}},
36223 {
36224 {0.2876, 0.2003, 0.3815, 0.1306},
36225 {0.2765, 0.2141, 0.0657, 0.4437},
36226 {0.3000, 0.1685, 0.3225, 0.2091},
36227 {0.2493, 0.2769, 0.2589, 0.2149}},
36228 {
36229 {0.2386, 0.1845, 0.3244, 0.2525},
36230 {0.3262, 0.3267, 0.0938, 0.2533},
36231 {0.3394, 0.1863, 0.2625, 0.2118},
36232 {0.1480, 0.2036, 0.3456, 0.3028}},
36233 {
36234 {0.2549, 0.1276, 0.3484, 0.2691},
36235 {0.3244, 0.2186, 0.1131, 0.3439},
36236 {0.2151, 0.1877, 0.3339, 0.2633},
36237 {0.1747, 0.2860, 0.2318, 0.3074}},
36238 {
36239 {0.3177, 0.1565, 0.2310, 0.2947},
36240 {0.3322, 0.2140, 0.0684, 0.3854},
36241 {0.2997, 0.1941, 0.2538, 0.2524},
36242 {0.1657, 0.1979, 0.3541, 0.2823}},
36243 {
36244 {0.2758, 0.1938, 0.3448, 0.1856},
36245 {0.4123, 0.1864, 0.0794, 0.3219},
36246 {0.2774, 0.2747, 0.2501, 0.1978},
36247 {0.2114, 0.2135, 0.3319, 0.2432}},
36248 {
36249 {0.2612, 0.1789, 0.3645, 0.1954},
36250 {0.3699, 0.2324, 0.0495, 0.3482},
36251 {0.2336, 0.2132, 0.3365, 0.2168},
36252 {0.1981, 0.2144, 0.2909, 0.2965}},
36253 {
36254 {0.2168, 0.1784, 0.3510, 0.2537},
36255 {0.3042, 0.2763, 0.0649, 0.3547},
36256 {0.3247, 0.1834, 0.3337, 0.1581},
36257 {0.1453, 0.2911, 0.3542, 0.2094}},
36258 {
36259 {0.2594, 0.1229, 0.3868, 0.2309},
36260 {0.2955, 0.3109, 0.0928, 0.3009},
36261 {0.3119, 0.2368, 0.2098, 0.2416},
36262 {0.1850, 0.2644, 0.2940, 0.2566}},
36263 {
36264 {0.2072, 0.2758, 0.3558, 0.1612},
36265 {0.3010, 0.2941, 0.0461, 0.3589},
36266 {0.2923, 0.1747, 0.3159, 0.2171},
36267 {0.1815, 0.2454, 0.2948, 0.2783}},
36268 {
36269 {0.2749, 0.1566, 0.3813, 0.1873},
36270 {0.3474, 0.3155, 0.0529, 0.2842},
36271 {0.2310, 0.1924, 0.2950, 0.2817},
36272 {0.1725, 0.1584, 0.3587, 0.3104}},
36273 {
36274 {0.2556, 0.2122, 0.2549, 0.2774},
36275 {0.2666, 0.2478, 0.0744, 0.4113},
36276 {0.2801, 0.1950, 0.3410, 0.1839},
36277 {0.1439, 0.2937, 0.3059, 0.2565}},
36278 {
36279 {0.3488, 0.2044, 0.3574, 0.0894},
36280 {0.2924, 0.2609, 0.0849, 0.3618},
36281 {0.3062, 0.1529, 0.3166, 0.2243},
36282 {0.2204, 0.2227, 0.2999, 0.2570}},
36283 {
36284 {0.3051, 0.2065, 0.3301, 0.1583},
36285 {0.3563, 0.2684, 0.0624, 0.3129},
36286 {0.2397, 0.2326, 0.3120, 0.2158},
36287 {0.1443, 0.2145, 0.3288, 0.3123}},
36288 {
36289 {0.2287, 0.2357, 0.3506, 0.1850},
36290 {0.2790, 0.2840, 0.0753, 0.3617},
36291 {0.2762, 0.2746, 0.2893, 0.1599},
36292 {0.1710, 0.2212, 0.3052, 0.3027}},
36293 {
36294 {0.2329, 0.2031, 0.3679, 0.1961},
36295 {0.2797, 0.3647, 0.0755, 0.2801},
36296 {0.2748, 0.2122, 0.2764, 0.2367},
36297 {0.1136, 0.2661, 0.3936, 0.2266}},
36298 {
36299 {0.2792, 0.1353, 0.3451, 0.2405},
36300 {0.2855, 0.3079, 0.0553, 0.3512},
36301 {0.3371, 0.1586, 0.3068, 0.1976},
36302 {0.1628, 0.2931, 0.2862, 0.2578}},
36303 {
36304 {0.2725, 0.1912, 0.3774, 0.1589},
36305 {0.1494, 0.4734, 0.0784, 0.2988},
36306 {0.2114, 0.2036, 0.3639, 0.2211},
36307 {0.1991, 0.2633, 0.2785, 0.2591}},
36308 {
36309 {0.2266, 0.1729, 0.3671, 0.2334},
36310 {0.3133, 0.3243, 0.0461, 0.3163},
36311 {0.2675, 0.1791, 0.2989, 0.2544},
36312 {0.1303, 0.2194, 0.4066, 0.2437}},
36313 {
36314 {0.2798, 0.1597, 0.3616, 0.1989},
36315 {0.3222, 0.3010, 0.0199, 0.3569},
36316 {0.2643, 0.2151, 0.2867, 0.2340},
36317 {0.1410, 0.3267, 0.3132, 0.2191}},
36318 {
36319 {0.2918, 0.1738, 0.3515, 0.1830},
36320 {0.2784, 0.2407, 0.0602, 0.4207},
36321 {0.2704, 0.2042, 0.2551, 0.2703},
36322 {0.1937, 0.2086, 0.3162, 0.2815}},
36323 {
36324 {0.2946, 0.1194, 0.4013, 0.1846},
36325 {0.3394, 0.2810, 0.0320, 0.3476},
36326 {0.1948, 0.2276, 0.3423, 0.2354},
36327 {0.1200, 0.2322, 0.3540, 0.2938}},
36328 {
36329 {0.2533, 0.1922, 0.3077, 0.2468},
36330 {0.3457, 0.2344, 0.0682, 0.3518},
36331 {0.3285, 0.1599, 0.3400, 0.1715},
36332 {0.2770, 0.2580, 0.2698, 0.1952}},
36333 {
36334 {0.2325, 0.2149, 0.3162, 0.2365},
36335 {0.3593, 0.2305, 0.0738, 0.3364},
36336 {0.2447, 0.1657, 0.3723, 0.2174},
36337 {0.1564, 0.2927, 0.3558, 0.1950}},
36338 {
36339 {0.2626, 0.2242, 0.2648, 0.2484},
36340 {0.2747, 0.3298, 0.0474, 0.3480},
36341 {0.2858, 0.2138, 0.2798, 0.2206},
36342 {0.2127, 0.2203, 0.2840, 0.2830}},
36343 {
36344 {0.2348, 0.2283, 0.3997, 0.1372},
36345 {0.2976, 0.2894, 0.0721, 0.3409},
36346 {0.2438, 0.1865, 0.3442, 0.2256},
36347 {0.2005, 0.2053, 0.3401, 0.2541}},
36348 {
36349 {0.1955, 0.2208, 0.3799, 0.2038},
36350 {0.3214, 0.2915, 0.0394, 0.3477},
36351 {0.2216, 0.1809, 0.3565, 0.2410},
36352 {0.1798, 0.2846, 0.2746, 0.2610}},
36353 {
36354 {0.2776, 0.1528, 0.3398, 0.2298},
36355 {0.3172, 0.3227, 0.0618, 0.2984},
36356 {0.3250, 0.2129, 0.2671, 0.1950},
36357 {0.1328, 0.2426, 0.2973, 0.3273}},
36358 {
36359 {0.3478, 0.1537, 0.3727, 0.1258},
36360 {0.2844, 0.1930, 0.0502, 0.4723},
36361 {0.3291, 0.1764, 0.2809, 0.2135},
36362 {0.1682, 0.2171, 0.4099, 0.2048}},
36363 {
36364 {0.2603, 0.2555, 0.3691, 0.1151},
36365 {0.3684, 0.2280, 0.0727, 0.3309},
36366 {0.2665, 0.2634, 0.2568, 0.2133},
36367 {0.1733, 0.3019, 0.2932, 0.2316}},
36368 {
36369 {0.2856, 0.2868, 0.2723, 0.1554},
36370 {0.2797, 0.2302, 0.0775, 0.4126},
36371 {0.2802, 0.1553, 0.3313, 0.2332},
36372 {0.1565, 0.2415, 0.3044, 0.2976}},
36373 {
36374 {0.2796, 0.1465, 0.3948, 0.1790},
36375 {0.3054, 0.2738, 0.0669, 0.3540},
36376 {0.3396, 0.1889, 0.2755, 0.1961},
36377 {0.0906, 0.3175, 0.3368, 0.2551}},
36378 {
36379 {0.3336, 0.1734, 0.2372, 0.2558},
36380 {0.3388, 0.3108, 0.0491, 0.3013},
36381 {0.2961, 0.2648, 0.2291, 0.2100},
36382 {0.1826, 0.2422, 0.3780, 0.1973}},
36383 {
36384 {0.2172, 0.1463, 0.3909, 0.2457},
36385 {0.3828, 0.2352, 0.0872, 0.2948},
36386 {0.2219, 0.2940, 0.3128, 0.1713},
36387 {0.2397, 0.2421, 0.2684, 0.2499}},
36388 {
36389 {0.2722, 0.2139, 0.3343, 0.1796},
36390 {0.3870, 0.3100, 0.0277, 0.2754},
36391 {0.3090, 0.1744, 0.3321, 0.1846},
36392 {0.1491, 0.2041, 0.3786, 0.2683}},
36393 {
36394 {0.2773, 0.2207, 0.2666, 0.2354},
36395 {0.2718, 0.3473, 0.0639, 0.3171},
36396 {0.2488, 0.2655, 0.3032, 0.1825},
36397 {0.1658, 0.2029, 0.3726, 0.2587}},
36398 {
36399 {0.3399, 0.1914, 0.3271, 0.1416},
36400 {0.3589, 0.2555, 0.0519, 0.3338},
36401 {0.2411, 0.2035, 0.2691, 0.2864},
36402 {0.1852, 0.2584, 0.3501, 0.2063}},
36403 {
36404 {0.3438, 0.2039, 0.2699, 0.1824},
36405 {0.3972, 0.2738, 0.0254, 0.3036},
36406 {0.1959, 0.1355, 0.4099, 0.2587},
36407 {0.1681, 0.2694, 0.3076, 0.2549}},
36408 {
36409 {0.3258, 0.1261, 0.3321, 0.2160},
36410 {0.3226, 0.2430, 0.0434, 0.3910},
36411 {0.2687, 0.1745, 0.3186, 0.2382},
36412 {0.1778, 0.2829, 0.3624, 0.1769}},
36413 {
36414 {0.2755, 0.1436, 0.2769, 0.3040},
36415 {0.2819, 0.3110, 0.0732, 0.3339},
36416 {0.2224, 0.2358, 0.3392, 0.2026},
36417 {0.2851, 0.2213, 0.2774, 0.2162}},
36418 {
36419 {0.2599, 0.2412, 0.2954, 0.2034},
36420 {0.2546, 0.3302, 0.0419, 0.3732},
36421 {0.2961, 0.2130, 0.2680, 0.2229},
36422 {0.1977, 0.2144, 0.3782, 0.2097}},
36423 {
36424 {0.2808, 0.2179, 0.3358, 0.1656},
36425 {0.3462, 0.2964, 0.0713, 0.2862},
36426 {0.2417, 0.1923, 0.2370, 0.3290},
36427 {0.1553, 0.2921, 0.2824, 0.2702}},
36428 {
36429 {0.2198, 0.2301, 0.3647, 0.1854},
36430 {0.3343, 0.2929, 0.1128, 0.2600},
36431 {0.3158, 0.1681, 0.3193, 0.1968},
36432 {0.1947, 0.2817, 0.2758, 0.2478}},
36433 {
36434 {0.2016, 0.2740, 0.3193, 0.2052},
36435 {0.2601, 0.3215, 0.0596, 0.3589},
36436 {0.2853, 0.1613, 0.2477, 0.3057},
36437 {0.2504, 0.2294, 0.2751, 0.2451}}
36438 }},
36439 {
36440 { /* Splice_Site: T1_AG; Species: Chick */
36441 {
36442 {0.2099, 0.2099, 0.2099, 0.2099},
36443 {0.2136, 0.2136, 0.2136, 0.2136},
36444 {0.3247, 0.3247, 0.3247, 0.3247},
36445 {0.2518, 0.2518, 0.2518, 0.2518}},
36446 {
36447 {0.1689, 0.2640, 0.2252, 0.3419},
36448 {0.2146, 0.3111, 0.1131, 0.3611},
36449 {0.2155, 0.2412, 0.3345, 0.2088},
36450 {0.1231, 0.2357, 0.3554, 0.2858}},
36451 {
36452 {0.2656, 0.2678, 0.2269, 0.2397},
36453 {0.2937, 0.2329, 0.0972, 0.3761},
36454 {0.2493, 0.2797, 0.3345, 0.1365},
36455 {0.1650, 0.1995, 0.3785, 0.2571}},
36456 {
36457 {0.1847, 0.2334, 0.3346, 0.2473},
36458 {0.2774, 0.1827, 0.1275, 0.4123},
36459 {0.2217, 0.2360, 0.3433, 0.1990},
36460 {0.1301, 0.2234, 0.4238, 0.2226}},
36461 {
36462 {0.2264, 0.2150, 0.3365, 0.2221},
36463 {0.4210, 0.2209, 0.0308, 0.3272},
36464 {0.2240, 0.2422, 0.3532, 0.1806},
36465 {0.1572, 0.2287, 0.3447, 0.2694}},
36466 {
36467 {0.3020, 0.2306, 0.1375, 0.3298},
36468 {0.3801, 0.2557, 0.0764, 0.2878},
36469 {0.1391, 0.2719, 0.2533, 0.3357},
36470 {0.1688, 0.1966, 0.2775, 0.3571}},
36471 {
36472 {0.2352, 0.2013, 0.4090, 0.1545},
36473 {0.3144, 0.2712, 0.0576, 0.3569},
36474 {0.1949, 0.2872, 0.2952, 0.2227},
36475 {0.1194, 0.3752, 0.2976, 0.2078}},
36476 {
36477 {0.1810, 0.2661, 0.2476, 0.3053},
36478 {0.3233, 0.2032, 0.1082, 0.3653},
36479 {0.2141, 0.2127, 0.2701, 0.3031},
36480 {0.1019, 0.1491, 0.3436, 0.4054}},
36481 {
36482 {0.1877, 0.2230, 0.3756, 0.2137},
36483 {0.2232, 0.3681, 0.1521, 0.2565},
36484 {0.1806, 0.0973, 0.4437, 0.2784},
36485 {0.1639, 0.2177, 0.3219, 0.2965}},
36486 {
36487 {0.3172, 0.2631, 0.1880, 0.2317},
36488 {0.3202, 0.3585, 0.0474, 0.2740},
36489 {0.1568, 0.2572, 0.3309, 0.2550},
36490 {0.1600, 0.1588, 0.4206, 0.2606}},
36491 {
36492 {0.3264, 0.2297, 0.2401, 0.2039},
36493 {0.3193, 0.3388, 0.1074, 0.2345},
36494 {0.2490, 0.3024, 0.2249, 0.2237},
36495 {0.0805, 0.1748, 0.3509, 0.3938}},
36496 {
36497 {0.2525, 0.1983, 0.2618, 0.2874},
36498 {0.2811, 0.3024, 0.0635, 0.3530},
36499 {0.1400, 0.2484, 0.3433, 0.2683},
36500 {0.1959, 0.2204, 0.2737, 0.3100}},
36501 {
36502 {0.4188, 0.1789, 0.2429, 0.1594},
36503 {0.2405, 0.3671, 0.1464, 0.2460},
36504 {0.1456, 0.1654, 0.4065, 0.2825},
36505 {0.2504, 0.1981, 0.3138, 0.2377}},
36506 {
36507 {0.3230, 0.1197, 0.2903, 0.2670},
36508 {0.3513, 0.2900, 0.0776, 0.2811},
36509 {0.2447, 0.1825, 0.2899, 0.2829},
36510 {0.1873, 0.2282, 0.3460, 0.2385}},
36511 {
36512 {0.2200, 0.2549, 0.2580, 0.2672},
36513 {0.2604, 0.2851, 0.0336, 0.4209},
36514 {0.2231, 0.2315, 0.2864, 0.2590},
36515 {0.1618, 0.1995, 0.3161, 0.3226}},
36516 {
36517 {0.2347, 0.1321, 0.2781, 0.3551},
36518 {0.2642, 0.3498, 0.0892, 0.2968},
36519 {0.2526, 0.2334, 0.2658, 0.2482},
36520 {0.2011, 0.2657, 0.3304, 0.2029}},
36521 {
36522 {0.3000, 0.1804, 0.1492, 0.3704},
36523 {0.2970, 0.3268, 0.0421, 0.3341},
36524 {0.2383, 0.2821, 0.2959, 0.1837},
36525 {0.1677, 0.2577, 0.2386, 0.3360}},
36526 {
36527 {0.1362, 0.2412, 0.3279, 0.2947},
36528 {0.2894, 0.3176, 0.0725, 0.3205},
36529 {0.1679, 0.2644, 0.2880, 0.2797},
36530 {0.1805, 0.2232, 0.3168, 0.2795}},
36531 {
36532 {0.2795, 0.1928, 0.2646, 0.2631},
36533 {0.3335, 0.2952, 0.1078, 0.2634},
36534 {0.2248, 0.1986, 0.2967, 0.2799},
36535 {0.1792, 0.2441, 0.2796, 0.2971}},
36536 {
36537 {0.2000, 0.3154, 0.2061, 0.2785},
36538 {0.1663, 0.4515, 0.0746, 0.3076},
36539 {0.2817, 0.2637, 0.1905, 0.2641},
36540 {0.1381, 0.2405, 0.3086, 0.3129}},
36541 {
36542 {0.2332, 0.3107, 0.2577, 0.1983},
36543 {0.2752, 0.2925, 0.0897, 0.3425},
36544 {0.2010, 0.3014, 0.2779, 0.2196},
36545 {0.1094, 0.2250, 0.3568, 0.3088}},
36546 {
36547 {0.2286, 0.1658, 0.2541, 0.3514},
36548 {0.3267, 0.2712, 0.0762, 0.3260},
36549 {0.2737, 0.2920, 0.2520, 0.1823},
36550 {0.2037, 0.1752, 0.3375, 0.2835}},
36551 {
36552 {0.2838, 0.2700, 0.2306, 0.2156},
36553 {0.1656, 0.3472, 0.0797, 0.4074},
36554 {0.2096, 0.2847, 0.2172, 0.2885},
36555 {0.2045, 0.1665, 0.3197, 0.3093}},
36556 {
36557 {0.3668, 0.3027, 0.1567, 0.1738},
36558 {0.2773, 0.2553, 0.0500, 0.4174},
36559 {0.2545, 0.1949, 0.2619, 0.2887},
36560 {0.1911, 0.2049, 0.3629, 0.2411}},
36561 {
36562 {0.2615, 0.2858, 0.1410, 0.3117},
36563 {0.4385, 0.1835, 0.0847, 0.2934},
36564 {0.3011, 0.1476, 0.2077, 0.3436},
36565 {0.2107, 0.2271, 0.2957, 0.2666}},
36566 {
36567 {0.2461, 0.2385, 0.2597, 0.2557},
36568 {0.3048, 0.2288, 0.1232, 0.3431},
36569 {0.1909, 0.3414, 0.2439, 0.2238},
36570 {0.1277, 0.3006, 0.2420, 0.3297}},
36571 {
36572 {0.2949, 0.2304, 0.1277, 0.3470},
36573 {0.2583, 0.3470, 0.0913, 0.3034},
36574 {0.2695, 0.2298, 0.2485, 0.2522},
36575 {0.1410, 0.2135, 0.3387, 0.3067}},
36576 {
36577 {0.2502, 0.2871, 0.1756, 0.2871},
36578 {0.1929, 0.3311, 0.0817, 0.3943},
36579 {0.1895, 0.2370, 0.2514, 0.3221},
36580 {0.1796, 0.1917, 0.2636, 0.3651}},
36581 {
36582 {0.2437, 0.2681, 0.1212, 0.3670},
36583 {0.3266, 0.2524, 0.0683, 0.3528},
36584 {0.2123, 0.3581, 0.1655, 0.2641},
36585 {0.1800, 0.2706, 0.2540, 0.2955}},
36586 {
36587 {0.2662, 0.2793, 0.1760, 0.2785},
36588 {0.2735, 0.2725, 0.0626, 0.3914},
36589 {0.2436, 0.3450, 0.1902, 0.2212},
36590 {0.1856, 0.2547, 0.2068, 0.3529}},
36591 {
36592 {0.2977, 0.2912, 0.1316, 0.2795},
36593 {0.2571, 0.2478, 0.0314, 0.4636},
36594 {0.2484, 0.2869, 0.2396, 0.2251},
36595 {0.1861, 0.2133, 0.3126, 0.2880}},
36596 {
36597 {0.3564, 0.3194, 0.0751, 0.2491},
36598 {0.2998, 0.3285, 0.0664, 0.3053},
36599 {0.2152, 0.3270, 0.1532, 0.3047},
36600 {0.1185, 0.2536, 0.3212, 0.3067}},
36601 {
36602 {0.2273, 0.4581, 0.0453, 0.2692},
36603 {0.1930, 0.2266, 0.0941, 0.4864},
36604 {0.2269, 0.3252, 0.1048, 0.3431},
36605 {0.0706, 0.2755, 0.2622, 0.3917}},
36606 {
36607 {0.2577, 0.3128, 0.1379, 0.2917},
36608 {0.1916, 0.3624, 0.0675, 0.3784},
36609 {0.2366, 0.2865, 0.1341, 0.3428},
36610 {0.1355, 0.2191, 0.2030, 0.4423}},
36611 {
36612 {0.1471, 0.3003, 0.1662, 0.3864},
36613 {0.2155, 0.2952, 0.0485, 0.4409},
36614 {0.2567, 0.2787, 0.1191, 0.3455},
36615 {0.1451, 0.3295, 0.1769, 0.3485}},
36616 {
36617 {0.1980, 0.3201, 0.1104, 0.3715},
36618 {0.1995, 0.2918, 0.1032, 0.4054},
36619 {0.1049, 0.3099, 0.1080, 0.4773},
36620 {0.0520, 0.2562, 0.2625, 0.4293}},
36621 {
36622 {0.2488, 0.2182, 0.0505, 0.4825},
36623 {0.1419, 0.3974, 0.0358, 0.4249},
36624 {0.1427, 0.2961, 0.1003, 0.4609},
36625 {0.0420, 0.3611, 0.2249, 0.3721}},
36626 {
36627 {0.1784, 0.2642, 0.0960, 0.4614},
36628 {0.0833, 0.4384, 0.0106, 0.4677},
36629 {0.0537, 0.1345, 0.2142, 0.5976},
36630 {0.0672, 0.2341, 0.2175, 0.4811}},
36631 {
36632 {0.1666, 0.3447, 0.0782, 0.4106},
36633 {0.2092, 0.3333, 0.0461, 0.4115},
36634 {0.0230, 0.3987, 0.1850, 0.3933},
36635 {0.0637, 0.3384, 0.1925, 0.4055}},
36636 {
36637 {0.0331, 0.3375, 0.0322, 0.5972},
36638 {0.1698, 0.2774, 0.0512, 0.5015},
36639 {0.1752, 0.2461, 0.0792, 0.4994},
36640 {0.0572, 0.2419, 0.2117, 0.4892}},
36641 {
36642 {0.1941, 0.2570, 0.0000, 0.5489},
36643 {0.1034, 0.3165, 0.0765, 0.5036},
36644 {0.1470, 0.2972, 0.0282, 0.5276},
36645 {0.0620, 0.3047, 0.1756, 0.4577}},
36646 {
36647 {0.1074, 0.2506, 0.0366, 0.6054},
36648 {0.0115, 0.3868, 0.0557, 0.5461},
36649 {0.0607, 0.2429, 0.0308, 0.6655},
36650 {0.0356, 0.2821, 0.1797, 0.5027}},
36651 {
36652 {0.1825, 0.3525, 0.0000, 0.4650},
36653 {0.1252, 0.2642, 0.0446, 0.5660},
36654 {0.0962, 0.3083, 0.0624, 0.5330},
36655 {0.0737, 0.3348, 0.1656, 0.4259}},
36656 {
36657 {0.1521, 0.3124, 0.0000, 0.5355},
36658 {0.0661, 0.3914, 0.0344, 0.5081},
36659 {0.0912, 0.1526, 0.0915, 0.6647},
36660 {0.0488, 0.4295, 0.2155, 0.3062}},
36661 {
36662 {0.0968, 0.4418, 0.0502, 0.4112},
36663 {0.1142, 0.3778, 0.0364, 0.4716},
36664 {0.0000, 0.3144, 0.0537, 0.6319},
36665 {0.0460, 0.4241, 0.1605, 0.3695}},
36666 {
36667 {0.0960, 0.2979, 0.0000, 0.6060},
36668 {0.1687, 0.4307, 0.0337, 0.3669},
36669 {0.0367, 0.2989, 0.1453, 0.5191},
36670 {0.0719, 0.3312, 0.1407, 0.4562}},
36671 {
36672 {0.0316, 0.3535, 0.0000, 0.6149},
36673 {0.1113, 0.4552, 0.0103, 0.4232},
36674 {0.0785, 0.2402, 0.1905, 0.4908},
36675 {0.0469, 0.4903, 0.0796, 0.3831}},
36676 {
36677 {0.1869, 0.2384, 0.0000, 0.5747},
36678 {0.0552, 0.5516, 0.0412, 0.3520},
36679 {0.1968, 0.2563, 0.0639, 0.4830},
36680 {0.0577, 0.2000, 0.1522, 0.5901}},
36681 {
36682 {0.4663, 0.1434, 0.0963, 0.2940},
36683 {0.3594, 0.2691, 0.2170, 0.1545},
36684 {0.2443, 0.2858, 0.2656, 0.2042},
36685 {0.1491, 0.1951, 0.3928, 0.2629}},
36686 {
36687 {0.0681, 0.7960, 0.0000, 0.1360},
36688 {0.0317, 0.8152, 0.0153, 0.1378},
36689 {0.0227, 0.8849, 0.0000, 0.0924},
36690 {0.0331, 0.6167, 0.0000, 0.3502}},
36691 {
36692 {1.0000, 0.0000, 0.0000, 0.0000},
36693 {1.0000, 0.0000, 0.0000, 0.0000},
36694 {1.0000, 0.0000, 0.0000, 0.0000},
36695 {1.0000, 0.0000, 0.0000, 0.0000}},
36696 {
36697 {0.0000, 0.0000, 1.0000, 0.0000},
36698 {0.0000, 0.0000, 0.0000, 0.0000},
36699 {0.0000, 0.0000, 0.0000, 0.0000},
36700 {0.0000, 0.0000, 0.0000, 0.0000}},
36701 {
36702 {0.0000, 0.0000, 0.0000, 0.0000},
36703 {0.0000, 0.0000, 0.0000, 0.0000},
36704 {0.2341, 0.1269, 0.5493, 0.0896},
36705 {0.0000, 0.0000, 0.0000, 0.0000}},
36706 {
36707 {0.3290, 0.1024, 0.0893, 0.4793},
36708 {0.1176, 0.2758, 0.0838, 0.5228},
36709 {0.2704, 0.1929, 0.1964, 0.3402},
36710 {0.0401, 0.0745, 0.2675, 0.6180}},
36711 {
36712 {0.3624, 0.1843, 0.2680, 0.1853},
36713 {0.2631, 0.3438, 0.0340, 0.3591},
36714 {0.1700, 0.2939, 0.1025, 0.4335},
36715 {0.0892, 0.3100, 0.3875, 0.2133}},
36716 {
36717 {0.2276, 0.2254, 0.3534, 0.1936},
36718 {0.3838, 0.2566, 0.0724, 0.2872},
36719 {0.2586, 0.2493, 0.3306, 0.1615},
36720 {0.0907, 0.1989, 0.5846, 0.1259}},
36721 {
36722 {0.4228, 0.2456, 0.1026, 0.2291},
36723 {0.2077, 0.2090, 0.2130, 0.3703},
36724 {0.5668, 0.1546, 0.1259, 0.1527},
36725 {0.2679, 0.2528, 0.1908, 0.2884}},
36726 {
36727 {0.2129, 0.3118, 0.3147, 0.1606},
36728 {0.2826, 0.3104, 0.2227, 0.1844},
36729 {0.0938, 0.3144, 0.3007, 0.2910},
36730 {0.0971, 0.1682, 0.4579, 0.2767}},
36731 {
36732 {0.3293, 0.1171, 0.4336, 0.1200},
36733 {0.3791, 0.2888, 0.1227, 0.2093},
36734 {0.2087, 0.1927, 0.4183, 0.1803},
36735 {0.1685, 0.2397, 0.4433, 0.1485}},
36736 {
36737 {0.3649, 0.1841, 0.1860, 0.2650},
36738 {0.2742, 0.2502, 0.2145, 0.2610},
36739 {0.4278, 0.1852, 0.2101, 0.1768},
36740 {0.1376, 0.4122, 0.0580, 0.3922}},
36741 {
36742 {0.1902, 0.1966, 0.3829, 0.2304},
36743 {0.1756, 0.3447, 0.1156, 0.3641},
36744 {0.1616, 0.3748, 0.3291, 0.1344},
36745 {0.0682, 0.2800, 0.4303, 0.2215}},
36746 {
36747 {0.2083, 0.2057, 0.4899, 0.0960},
36748 {0.3134, 0.3219, 0.1600, 0.2046},
36749 {0.3014, 0.1264, 0.4498, 0.1224},
36750 {0.0865, 0.1418, 0.6329, 0.1387}},
36751 {
36752 {0.3580, 0.1703, 0.1784, 0.2932},
36753 {0.3420, 0.2409, 0.0905, 0.3266},
36754 {0.4624, 0.0921, 0.3069, 0.1385},
36755 {0.2664, 0.1867, 0.2370, 0.3099}},
36756 {
36757 {0.1610, 0.2480, 0.3945, 0.1965},
36758 {0.3112, 0.3318, 0.0434, 0.3136},
36759 {0.2688, 0.3433, 0.1720, 0.2159},
36760 {0.0455, 0.2908, 0.4784, 0.1853}},
36761 {
36762 {0.2093, 0.2504, 0.3912, 0.1490},
36763 {0.3563, 0.2619, 0.1432, 0.2386},
36764 {0.3142, 0.1899, 0.3702, 0.1257},
36765 {0.0660, 0.2030, 0.5711, 0.1599}},
36766 {
36767 {0.3432, 0.1641, 0.1614, 0.3313},
36768 {0.3578, 0.2487, 0.1503, 0.2433},
36769 {0.3856, 0.2140, 0.1888, 0.2116},
36770 {0.2219, 0.2053, 0.3329, 0.2399}},
36771 {
36772 {0.1949, 0.2540, 0.3171, 0.2340},
36773 {0.2295, 0.3577, 0.1186, 0.2943},
36774 {0.1046, 0.2957, 0.4021, 0.1977},
36775 {0.0708, 0.3251, 0.4631, 0.1411}},
36776 {
36777 {0.2279, 0.1889, 0.4050, 0.1781},
36778 {0.3685, 0.3649, 0.0853, 0.1813},
36779 {0.3024, 0.2753, 0.3381, 0.0842},
36780 {0.1920, 0.2144, 0.5475, 0.0461}},
36781 {
36782 {0.3155, 0.1325, 0.1438, 0.4082},
36783 {0.2497, 0.2793, 0.1374, 0.3336},
36784 {0.4009, 0.1982, 0.1867, 0.2143},
36785 {0.2503, 0.2039, 0.1940, 0.3517}},
36786 {
36787 {0.2385, 0.2189, 0.4344, 0.1081},
36788 {0.2778, 0.3120, 0.1030, 0.3073},
36789 {0.1946, 0.3503, 0.3508, 0.1043},
36790 {0.0322, 0.3707, 0.4852, 0.1118}},
36791 {
36792 {0.1847, 0.1353, 0.6020, 0.0780},
36793 {0.4310, 0.3003, 0.1109, 0.1579},
36794 {0.1853, 0.3252, 0.3617, 0.1278},
36795 {0.1641, 0.2303, 0.5582, 0.0474}},
36796 {
36797 {0.4186, 0.1726, 0.1241, 0.2846},
36798 {0.3093, 0.2055, 0.0971, 0.3881},
36799 {0.4055, 0.1558, 0.3138, 0.1249},
36800 {0.2068, 0.2423, 0.3080, 0.2429}},
36801 {
36802 {0.1516, 0.2460, 0.4605, 0.1419},
36803 {0.2985, 0.3097, 0.0564, 0.3354},
36804 {0.3013, 0.2472, 0.1858, 0.2657},
36805 {0.0156, 0.2127, 0.4789, 0.2927}},
36806 {
36807 {0.2817, 0.1690, 0.5096, 0.0397},
36808 {0.3974, 0.2637, 0.1570, 0.1820},
36809 {0.2194, 0.2806, 0.4075, 0.0925},
36810 {0.1153, 0.3232, 0.4576, 0.1038}},
36811 {
36812 {0.3912, 0.2132, 0.2004, 0.1952},
36813 {0.2832, 0.2164, 0.2161, 0.2844},
36814 {0.4781, 0.1433, 0.1482, 0.2304},
36815 {0.1815, 0.2256, 0.2645, 0.3284}},
36816 {
36817 {0.2114, 0.2490, 0.3414, 0.1982},
36818 {0.3558, 0.3560, 0.1322, 0.1560},
36819 {0.2199, 0.2773, 0.3281, 0.1747},
36820 {0.0566, 0.2576, 0.4610, 0.2247}},
36821 {
36822 {0.3844, 0.2694, 0.2736, 0.0726},
36823 {0.4221, 0.2115, 0.1612, 0.2053},
36824 {0.3055, 0.1701, 0.3911, 0.1333},
36825 {0.1266, 0.1275, 0.6738, 0.0721}},
36826 {
36827 {0.4350, 0.2081, 0.1709, 0.1860},
36828 {0.2704, 0.2619, 0.1771, 0.2906},
36829 {0.3153, 0.2687, 0.1793, 0.2367},
36830 {0.1816, 0.2695, 0.2237, 0.3252}},
36831 {
36832 {0.2462, 0.2279, 0.3991, 0.1269},
36833 {0.4395, 0.2365, 0.0536, 0.2704},
36834 {0.1254, 0.2316, 0.3358, 0.3072},
36835 {0.0722, 0.3442, 0.3960, 0.1876}},
36836 {
36837 {0.2008, 0.1992, 0.5571, 0.0428},
36838 {0.3337, 0.2921, 0.1729, 0.2014},
36839 {0.3243, 0.2012, 0.3468, 0.1277},
36840 {0.0328, 0.2147, 0.6030, 0.1495}},
36841 {
36842 {0.4081, 0.1605, 0.1766, 0.2547},
36843 {0.2110, 0.1676, 0.0782, 0.5432},
36844 {0.2804, 0.2130, 0.3002, 0.2065},
36845 {0.2398, 0.2880, 0.0779, 0.3943}},
36846 {
36847 {0.1725, 0.2172, 0.3835, 0.2269},
36848 {0.1861, 0.4250, 0.0720, 0.3169},
36849 {0.2387, 0.3847, 0.2990, 0.0776},
36850 {0.0537, 0.2836, 0.4644, 0.1983}},
36851 {
36852 {0.3990, 0.2041, 0.2786, 0.1184},
36853 {0.3691, 0.3019, 0.1532, 0.1758},
36854 {0.2415, 0.2177, 0.3848, 0.1560},
36855 {0.1752, 0.2370, 0.4531, 0.1347}},
36856 {
36857 {0.2533, 0.3258, 0.2250, 0.1959},
36858 {0.2699, 0.1868, 0.0844, 0.4590},
36859 {0.3300, 0.2160, 0.2433, 0.2107},
36860 {0.1605, 0.2998, 0.1107, 0.4290}},
36861 {
36862 {0.1055, 0.3403, 0.3422, 0.2120},
36863 {0.2449, 0.4320, 0.1062, 0.2169},
36864 {0.3004, 0.2880, 0.2781, 0.1335},
36865 {0.0469, 0.3173, 0.4185, 0.2174}},
36866 {
36867 {0.2619, 0.1741, 0.4154, 0.1487},
36868 {0.3132, 0.3191, 0.1293, 0.2384},
36869 {0.2802, 0.2827, 0.3037, 0.1334},
36870 {0.2256, 0.2201, 0.4545, 0.0998}},
36871 {
36872 {0.3274, 0.2495, 0.1540, 0.2692},
36873 {0.2854, 0.2825, 0.1923, 0.2398},
36874 {0.3942, 0.2244, 0.2389, 0.1425},
36875 {0.2168, 0.3466, 0.2914, 0.1451}},
36876 {
36877 {0.2131, 0.2736, 0.2789, 0.2343},
36878 {0.1911, 0.3204, 0.1931, 0.2954},
36879 {0.1507, 0.3395, 0.2472, 0.2626},
36880 {0.1724, 0.2546, 0.4526, 0.1204}},
36881 {
36882 {0.1860, 0.1294, 0.4955, 0.1891},
36883 {0.3550, 0.2996, 0.0908, 0.2546},
36884 {0.2085, 0.1796, 0.4724, 0.1395},
36885 {0.1357, 0.1912, 0.6158, 0.0574}},
36886 {
36887 {0.4708, 0.1965, 0.1198, 0.2128},
36888 {0.4300, 0.1963, 0.1579, 0.2158},
36889 {0.2676, 0.2385, 0.3328, 0.1611},
36890 {0.1907, 0.3210, 0.2413, 0.2471}},
36891 {
36892 {0.1685, 0.3081, 0.4277, 0.0957},
36893 {0.2771, 0.2964, 0.1591, 0.2674},
36894 {0.2495, 0.2891, 0.2777, 0.1837},
36895 {0.1608, 0.2234, 0.4606, 0.1553}},
36896 {
36897 {0.2182, 0.2973, 0.3885, 0.0960},
36898 {0.3951, 0.2598, 0.1493, 0.1959},
36899 {0.2782, 0.1890, 0.3846, 0.1482},
36900 {0.1010, 0.1489, 0.6591, 0.0910}},
36901 {
36902 {0.2179, 0.3315, 0.2671, 0.1835},
36903 {0.3225, 0.2332, 0.1412, 0.3031},
36904 {0.3543, 0.1969, 0.2459, 0.2030},
36905 {0.1733, 0.2935, 0.0691, 0.4641}},
36906 {
36907 {0.1634, 0.2555, 0.3877, 0.1934},
36908 {0.1928, 0.3191, 0.1451, 0.3431},
36909 {0.2615, 0.3765, 0.1868, 0.1752},
36910 {0.1090, 0.2832, 0.4625, 0.1453}},
36911 {
36912 {0.3384, 0.1721, 0.3005, 0.1889},
36913 {0.3327, 0.2607, 0.2032, 0.2034},
36914 {0.2574, 0.1801, 0.4375, 0.1251},
36915 {0.1174, 0.3422, 0.5077, 0.0328}},
36916 {
36917 {0.2767, 0.1525, 0.2913, 0.2796},
36918 {0.2645, 0.4068, 0.0891, 0.2396},
36919 {0.4354, 0.1858, 0.2035, 0.1754},
36920 {0.2410, 0.1859, 0.2415, 0.3316}},
36921 {
36922 {0.1721, 0.3399, 0.3780, 0.1100},
36923 {0.1542, 0.5108, 0.0894, 0.2456},
36924 {0.1771, 0.3351, 0.2693, 0.2184},
36925 {0.0161, 0.2529, 0.4686, 0.2623}},
36926 {
36927 {0.0862, 0.2213, 0.5604, 0.1321},
36928 {0.3665, 0.2034, 0.1707, 0.2594},
36929 {0.2812, 0.2488, 0.3923, 0.0777},
36930 {0.1645, 0.1574, 0.5708, 0.1074}},
36931 {
36932 {0.3772, 0.2774, 0.1465, 0.1990},
36933 {0.2840, 0.2016, 0.1160, 0.3983},
36934 {0.3823, 0.2215, 0.2405, 0.1557},
36935 {0.1130, 0.4070, 0.1753, 0.3047}},
36936 {
36937 {0.1969, 0.2820, 0.3800, 0.1411},
36938 {0.1499, 0.3424, 0.1407, 0.3670},
36939 {0.2487, 0.2858, 0.2928, 0.1727},
36940 {0.1128, 0.2839, 0.3986, 0.2047}},
36941 {
36942 {0.3034, 0.2215, 0.4751, 0.0000},
36943 {0.4502, 0.1745, 0.1327, 0.2426},
36944 {0.1985, 0.3057, 0.3832, 0.1126},
36945 {0.1427, 0.1381, 0.5923, 0.1270}},
36946 {
36947 {0.3620, 0.1556, 0.1562, 0.3262},
36948 {0.4101, 0.2741, 0.0815, 0.2343},
36949 {0.4657, 0.2394, 0.1456, 0.1492},
36950 {0.3134, 0.2778, 0.1549, 0.2539}}},
36951
36952 { /* Splice_Site: T2_AG; Species: Chick */
36953 {
36954 {0.1797, 0.1797, 0.1797, 0.1797},
36955 {0.2499, 0.2499, 0.2499, 0.2499},
36956 {0.3166, 0.3166, 0.3166, 0.3166},
36957 {0.2538, 0.2538, 0.2538, 0.2538}},
36958 {
36959 {0.2750, 0.2443, 0.3124, 0.1683},
36960 {0.3177, 0.4229, 0.1181, 0.1413},
36961 {0.2075, 0.1940, 0.3265, 0.2719},
36962 {0.1788, 0.1924, 0.2419, 0.3868}},
36963 {
36964 {0.2198, 0.3201, 0.2001, 0.2600},
36965 {0.2323, 0.3879, 0.1294, 0.2505},
36966 {0.1027, 0.2027, 0.4433, 0.2514},
36967 {0.1232, 0.1768, 0.3057, 0.3943}},
36968 {
36969 {0.3036, 0.2749, 0.2623, 0.1593},
36970 {0.3367, 0.3117, 0.1050, 0.2466},
36971 {0.1283, 0.2767, 0.3865, 0.2086},
36972 {0.0787, 0.2130, 0.4036, 0.3047}},
36973 {
36974 {0.1242, 0.1771, 0.4083, 0.2904},
36975 {0.2904, 0.4518, 0.0467, 0.2110},
36976 {0.1659, 0.1412, 0.4814, 0.2115},
36977 {0.1111, 0.2657, 0.4595, 0.1636}},
36978 {
36979 {0.2187, 0.1975, 0.3641, 0.2197},
36980 {0.3839, 0.4077, 0.0315, 0.1769},
36981 {0.2233, 0.2227, 0.4035, 0.1506},
36982 {0.0977, 0.1838, 0.4124, 0.3061}},
36983 {
36984 {0.2577, 0.2543, 0.2141, 0.2739},
36985 {0.2604, 0.3961, 0.1389, 0.2045},
36986 {0.2857, 0.2011, 0.3320, 0.1813},
36987 {0.1962, 0.2476, 0.3425, 0.2137}},
36988 {
36989 {0.2429, 0.2208, 0.2995, 0.2368},
36990 {0.2855, 0.3245, 0.0782, 0.3117},
36991 {0.2466, 0.2416, 0.2412, 0.2707},
36992 {0.1441, 0.2150, 0.3369, 0.3040}},
36993 {
36994 {0.2438, 0.2236, 0.2074, 0.3252},
36995 {0.1539, 0.5284, 0.0869, 0.2308},
36996 {0.2267, 0.2541, 0.2771, 0.2421},
36997 {0.1224, 0.1234, 0.4219, 0.3322}},
36998 {
36999 {0.2585, 0.2855, 0.2861, 0.1698},
37000 {0.3134, 0.4213, 0.1706, 0.0947},
37001 {0.1236, 0.1770, 0.4261, 0.2733},
37002 {0.1247, 0.1500, 0.3802, 0.3451}},
37003 {
37004 {0.2167, 0.2387, 0.2616, 0.2831},
37005 {0.2770, 0.3276, 0.0533, 0.3422},
37006 {0.1793, 0.2246, 0.3560, 0.2402},
37007 {0.1163, 0.1797, 0.3156, 0.3884}},
37008 {
37009 {0.1525, 0.1319, 0.4072, 0.3084},
37010 {0.2174, 0.3436, 0.1285, 0.3105},
37011 {0.2336, 0.2289, 0.3480, 0.1895},
37012 {0.1454, 0.2122, 0.3752, 0.2672}},
37013 {
37014 {0.2172, 0.3566, 0.2171, 0.2091},
37015 {0.2982, 0.2859, 0.1135, 0.3023},
37016 {0.1599, 0.3103, 0.3305, 0.1994},
37017 {0.2131, 0.1501, 0.4234, 0.2135}},
37018 {
37019 {0.3971, 0.2395, 0.1450, 0.2184},
37020 {0.2678, 0.2804, 0.0964, 0.3554},
37021 {0.2157, 0.1857, 0.4329, 0.1658},
37022 {0.1397, 0.1564, 0.3626, 0.3413}},
37023 {
37024 {0.1073, 0.2247, 0.4362, 0.2318},
37025 {0.2248, 0.4344, 0.0650, 0.2757},
37026 {0.0656, 0.2525, 0.5143, 0.1677},
37027 {0.0637, 0.2296, 0.3571, 0.3496}},
37028 {
37029 {0.2369, 0.1693, 0.3190, 0.2747},
37030 {0.1895, 0.3483, 0.1535, 0.3086},
37031 {0.2864, 0.2261, 0.3109, 0.1766},
37032 {0.1390, 0.3500, 0.2724, 0.2386}},
37033 {
37034 {0.1799, 0.2187, 0.2906, 0.3108},
37035 {0.3283, 0.3499, 0.0603, 0.2615},
37036 {0.0654, 0.3144, 0.3454, 0.2748},
37037 {0.1280, 0.2188, 0.4125, 0.2408}},
37038 {
37039 {0.2230, 0.2166, 0.2411, 0.3193},
37040 {0.3393, 0.3531, 0.1082, 0.1994},
37041 {0.1883, 0.1964, 0.2801, 0.3353},
37042 {0.1316, 0.2679, 0.3267, 0.2738}},
37043 {
37044 {0.2564, 0.2975, 0.2457, 0.2005},
37045 {0.2016, 0.4691, 0.1436, 0.1857},
37046 {0.1330, 0.2768, 0.1457, 0.4444},
37047 {0.1758, 0.2167, 0.3132, 0.2943}},
37048 {
37049 {0.2059, 0.2078, 0.3281, 0.2582},
37050 {0.2373, 0.3155, 0.1557, 0.2915},
37051 {0.1862, 0.2232, 0.2905, 0.3002},
37052 {0.0828, 0.2827, 0.4283, 0.2062}},
37053 {
37054 {0.2186, 0.2485, 0.1752, 0.3576},
37055 {0.2775, 0.3991, 0.0764, 0.2469},
37056 {0.1765, 0.2246, 0.4643, 0.1346},
37057 {0.1398, 0.3878, 0.2036, 0.2688}},
37058 {
37059 {0.1663, 0.2843, 0.2428, 0.3066},
37060 {0.2297, 0.3017, 0.1274, 0.3412},
37061 {0.1115, 0.1923, 0.4493, 0.2468},
37062 {0.2206, 0.1873, 0.2421, 0.3501}},
37063 {
37064 {0.3147, 0.2987, 0.0707, 0.3159},
37065 {0.1462, 0.4157, 0.1213, 0.3168},
37066 {0.2306, 0.2837, 0.1882, 0.2975},
37067 {0.1825, 0.1941, 0.3523, 0.2710}},
37068 {
37069 {0.2772, 0.2555, 0.1082, 0.3591},
37070 {0.2118, 0.3937, 0.0753, 0.3192},
37071 {0.2195, 0.2605, 0.3023, 0.2177},
37072 {0.1308, 0.3532, 0.2054, 0.3106}},
37073 {
37074 {0.3269, 0.3505, 0.1932, 0.1294},
37075 {0.3233, 0.3575, 0.1046, 0.2146},
37076 {0.2094, 0.2687, 0.2868, 0.2352},
37077 {0.1279, 0.2447, 0.3191, 0.3082}},
37078 {
37079 {0.3119, 0.1777, 0.1267, 0.3837},
37080 {0.2056, 0.3550, 0.1307, 0.3087},
37081 {0.1803, 0.2212, 0.2354, 0.3631},
37082 {0.1009, 0.3023, 0.3657, 0.2312}},
37083 {
37084 {0.1315, 0.3099, 0.1344, 0.4242},
37085 {0.2896, 0.2761, 0.0935, 0.3408},
37086 {0.2616, 0.1435, 0.1417, 0.4532},
37087 {0.1257, 0.3456, 0.3250, 0.2037}},
37088 {
37089 {0.2947, 0.3097, 0.0633, 0.3322},
37090 {0.1767, 0.3814, 0.0646, 0.3773},
37091 {0.1175, 0.4051, 0.0965, 0.3810},
37092 {0.1549, 0.2278, 0.3285, 0.2887}},
37093 {
37094 {0.2173, 0.4161, 0.0524, 0.3142},
37095 {0.2596, 0.2985, 0.0708, 0.3712},
37096 {0.2236, 0.2437, 0.2852, 0.2475},
37097 {0.1431, 0.2446, 0.2960, 0.3164}},
37098 {
37099 {0.1749, 0.3692, 0.2101, 0.2458},
37100 {0.1204, 0.4921, 0.0753, 0.3121},
37101 {0.2164, 0.3515, 0.1991, 0.2331},
37102 {0.1087, 0.2500, 0.2624, 0.3789}},
37103 {
37104 {0.2718, 0.1809, 0.2395, 0.3079},
37105 {0.1881, 0.3037, 0.0234, 0.4848},
37106 {0.2342, 0.3337, 0.1237, 0.3084},
37107 {0.1989, 0.2864, 0.1896, 0.3250}},
37108 {
37109 {0.2565, 0.3245, 0.1312, 0.2878},
37110 {0.2000, 0.3063, 0.0901, 0.4036},
37111 {0.2110, 0.3861, 0.1084, 0.2945},
37112 {0.0960, 0.2057, 0.3889, 0.3094}},
37113 {
37114 {0.2284, 0.3130, 0.0706, 0.3879},
37115 {0.1830, 0.3384, 0.1705, 0.3081},
37116 {0.3336, 0.2669, 0.1255, 0.2740},
37117 {0.1038, 0.3117, 0.1677, 0.4168}},
37118 {
37119 {0.1556, 0.3566, 0.1547, 0.3330},
37120 {0.2822, 0.2609, 0.1166, 0.3402},
37121 {0.1268, 0.3609, 0.1963, 0.3160},
37122 {0.0382, 0.3132, 0.1994, 0.4492}},
37123 {
37124 {0.1448, 0.3862, 0.2324, 0.2367},
37125 {0.1566, 0.3757, 0.0262, 0.4415},
37126 {0.1610, 0.4335, 0.1098, 0.2957},
37127 {0.0337, 0.2575, 0.2354, 0.4734}},
37128 {
37129 {0.1310, 0.3056, 0.1178, 0.4456},
37130 {0.1005, 0.4053, 0.1526, 0.3416},
37131 {0.1997, 0.2057, 0.3489, 0.2458},
37132 {0.0933, 0.2875, 0.2489, 0.3703}},
37133 {
37134 {0.2247, 0.2311, 0.0365, 0.5078},
37135 {0.0794, 0.4156, 0.0669, 0.4382},
37136 {0.1629, 0.3131, 0.1181, 0.4059},
37137 {0.0477, 0.3424, 0.2067, 0.4032}},
37138 {
37139 {0.2095, 0.1654, 0.0825, 0.5425},
37140 {0.1021, 0.3808, 0.0801, 0.4370},
37141 {0.1145, 0.2399, 0.1747, 0.4709},
37142 {0.0432, 0.2755, 0.3396, 0.3417}},
37143 {
37144 {0.1016, 0.2513, 0.0967, 0.5504},
37145 {0.0760, 0.4657, 0.0159, 0.4424},
37146 {0.1531, 0.5639, 0.0434, 0.2396},
37147 {0.1322, 0.2359, 0.2810, 0.3509}},
37148 {
37149 {0.1608, 0.2257, 0.0400, 0.5735},
37150 {0.0952, 0.3980, 0.0835, 0.4232},
37151 {0.0982, 0.2923, 0.1755, 0.4341},
37152 {0.0714, 0.2811, 0.2118, 0.4357}},
37153 {
37154 {0.0519, 0.3383, 0.0477, 0.5621},
37155 {0.1237, 0.3545, 0.1087, 0.4132},
37156 {0.1272, 0.2520, 0.1343, 0.4865},
37157 {0.0191, 0.3451, 0.2166, 0.4192}},
37158 {
37159 {0.0575, 0.2549, 0.1320, 0.5557},
37160 {0.1045, 0.3579, 0.0393, 0.4983},
37161 {0.1122, 0.4014, 0.0278, 0.4586},
37162 {0.0424, 0.3379, 0.1810, 0.4387}},
37163 {
37164 {0.2322, 0.2394, 0.0000, 0.5284},
37165 {0.0623, 0.3027, 0.1019, 0.5332},
37166 {0.1613, 0.2074, 0.1329, 0.4984},
37167 {0.0363, 0.3093, 0.1953, 0.4592}},
37168 {
37169 {0.1795, 0.2855, 0.1826, 0.3524},
37170 {0.1230, 0.4468, 0.0475, 0.3827},
37171 {0.0296, 0.2874, 0.0621, 0.6210},
37172 {0.0360, 0.3356, 0.2639, 0.3645}},
37173 {
37174 {0.1941, 0.2595, 0.0000, 0.5464},
37175 {0.0962, 0.4301, 0.0456, 0.4280},
37176 {0.0592, 0.3562, 0.1048, 0.4799},
37177 {0.0750, 0.4474, 0.1961, 0.2815}},
37178 {
37179 {0.0516, 0.5073, 0.0000, 0.4411},
37180 {0.1264, 0.5611, 0.0237, 0.2887},
37181 {0.0000, 0.6141, 0.0000, 0.3859},
37182 {0.0452, 0.2862, 0.1718, 0.4968}},
37183 {
37184 {0.1813, 0.2983, 0.0000, 0.5205},
37185 {0.0687, 0.6147, 0.0321, 0.2845},
37186 {0.0000, 0.2396, 0.1149, 0.6454},
37187 {0.0316, 0.3220, 0.1227, 0.5237}},
37188 {
37189 {0.1405, 0.2384, 0.0000, 0.6211},
37190 {0.0972, 0.5468, 0.0198, 0.3361},
37191 {0.1174, 0.1219, 0.0639, 0.6968},
37192 {0.0433, 0.2634, 0.1039, 0.5894}},
37193 {
37194 {0.4412, 0.2125, 0.1786, 0.1678},
37195 {0.3553, 0.2885, 0.2751, 0.0811},
37196 {0.2409, 0.1605, 0.4448, 0.1538},
37197 {0.1295, 0.2421, 0.4736, 0.1549}},
37198 {
37199 {0.0780, 0.7195, 0.0000, 0.2024},
37200 {0.0000, 0.8498, 0.0000, 0.1502},
37201 {0.0108, 0.9309, 0.0116, 0.0467},
37202 {0.0000, 0.7228, 0.0000, 0.2772}},
37203 {
37204 {1.0000, 0.0000, 0.0000, 0.0000},
37205 {1.0000, 0.0000, 0.0000, 0.0000},
37206 {1.0000, 0.0000, 0.0000, 0.0000},
37207 {1.0000, 0.0000, 0.0000, 0.0000}},
37208 {
37209 {0.0000, 0.0000, 1.0000, 0.0000},
37210 {0.0000, 0.0000, 0.0000, 0.0000},
37211 {0.0000, 0.0000, 0.0000, 0.0000},
37212 {0.0000, 0.0000, 0.0000, 0.0000}},
37213 {
37214 {0.0000, 0.0000, 0.0000, 0.0000},
37215 {0.0000, 0.0000, 0.0000, 0.0000},
37216 {0.3255, 0.1875, 0.3676, 0.1194},
37217 {0.0000, 0.0000, 0.0000, 0.0000}},
37218 {
37219 {0.2165, 0.1620, 0.3223, 0.2992},
37220 {0.1846, 0.2340, 0.2595, 0.3219},
37221 {0.1309, 0.3219, 0.1915, 0.3557},
37222 {0.0378, 0.1539, 0.6235, 0.1847}},
37223 {
37224 {0.3077, 0.3366, 0.1940, 0.1617},
37225 {0.3743, 0.2603, 0.1549, 0.2105},
37226 {0.1626, 0.3321, 0.2979, 0.2074},
37227 {0.1012, 0.2907, 0.4729, 0.1351}},
37228 {
37229 {0.3066, 0.1405, 0.2055, 0.3475},
37230 {0.2768, 0.2717, 0.1723, 0.2792},
37231 {0.3796, 0.2390, 0.1635, 0.2179},
37232 {0.0964, 0.3970, 0.1489, 0.3577}},
37233 {
37234 {0.2375, 0.1885, 0.3808, 0.1932},
37235 {0.2904, 0.3473, 0.1210, 0.2413},
37236 {0.1944, 0.2577, 0.3127, 0.2352},
37237 {0.0761, 0.3012, 0.4678, 0.1549}},
37238 {
37239 {0.3268, 0.1989, 0.2723, 0.2021},
37240 {0.2348, 0.3386, 0.1402, 0.2864},
37241 {0.2260, 0.3054, 0.3483, 0.1202},
37242 {0.1570, 0.1568, 0.5746, 0.1116}},
37243 {
37244 {0.2443, 0.2530, 0.2422, 0.2605},
37245 {0.2696, 0.3465, 0.1136, 0.2703},
37246 {0.4408, 0.1752, 0.1785, 0.2054},
37247 {0.1475, 0.1495, 0.3111, 0.3919}},
37248 {
37249 {0.1443, 0.3466, 0.3293, 0.1799},
37250 {0.2632, 0.3756, 0.1922, 0.1690},
37251 {0.1270, 0.3506, 0.2637, 0.2588},
37252 {0.0985, 0.2981, 0.4240, 0.1794}},
37253 {
37254 {0.2423, 0.3848, 0.2330, 0.1399},
37255 {0.3939, 0.2037, 0.1846, 0.2178},
37256 {0.2615, 0.1736, 0.4326, 0.1323},
37257 {0.1854, 0.2247, 0.3600, 0.2300}},
37258 {
37259 {0.4150, 0.2811, 0.1807, 0.1232},
37260 {0.2515, 0.2642, 0.1342, 0.3501},
37261 {0.2934, 0.2286, 0.2193, 0.2586},
37262 {0.1768, 0.2101, 0.2971, 0.3160}},
37263 {
37264 {0.2110, 0.2103, 0.4185, 0.1601},
37265 {0.2216, 0.3307, 0.2309, 0.2167},
37266 {0.1527, 0.3103, 0.3000, 0.2370},
37267 {0.0695, 0.2550, 0.4071, 0.2684}},
37268 {
37269 {0.2611, 0.2262, 0.3786, 0.1341},
37270 {0.2852, 0.2613, 0.2440, 0.2095},
37271 {0.2319, 0.2423, 0.4246, 0.1013},
37272 {0.0409, 0.2855, 0.5720, 0.1016}},
37273 {
37274 {0.3573, 0.1657, 0.1868, 0.2903},
37275 {0.2350, 0.3636, 0.1425, 0.2590},
37276 {0.2099, 0.2981, 0.1546, 0.3373},
37277 {0.0965, 0.3987, 0.3099, 0.1949}},
37278 {
37279 {0.1670, 0.2658, 0.3718, 0.1954},
37280 {0.2485, 0.3050, 0.1155, 0.3310},
37281 {0.1492, 0.4877, 0.2439, 0.1191},
37282 {0.0603, 0.2187, 0.5364, 0.1847}},
37283 {
37284 {0.2179, 0.1648, 0.4787, 0.1386},
37285 {0.2059, 0.2575, 0.2689, 0.2676},
37286 {0.2329, 0.3334, 0.2953, 0.1383},
37287 {0.1411, 0.2379, 0.4759, 0.1451}},
37288 {
37289 {0.3870, 0.2683, 0.1699, 0.1748},
37290 {0.2845, 0.3145, 0.1683, 0.2328},
37291 {0.3621, 0.2281, 0.1878, 0.2220},
37292 {0.0526, 0.3244, 0.2998, 0.3232}},
37293 {
37294 {0.1674, 0.1660, 0.5419, 0.1248},
37295 {0.1089, 0.3730, 0.2081, 0.3099},
37296 {0.1132, 0.3751, 0.3557, 0.1559},
37297 {0.0378, 0.3017, 0.4504, 0.2101}},
37298 {
37299 {0.3278, 0.1260, 0.4682, 0.0780},
37300 {0.4535, 0.3133, 0.1011, 0.1321},
37301 {0.2245, 0.2501, 0.3561, 0.1693},
37302 {0.1140, 0.2946, 0.4612, 0.1303}},
37303 {
37304 {0.2818, 0.1857, 0.2028, 0.3297},
37305 {0.1820, 0.2994, 0.1043, 0.4143},
37306 {0.2829, 0.2606, 0.2069, 0.2496},
37307 {0.1854, 0.2492, 0.2621, 0.3032}},
37308 {
37309 {0.1382, 0.3240, 0.3671, 0.1708},
37310 {0.2062, 0.2840, 0.2212, 0.2886},
37311 {0.1195, 0.3781, 0.2915, 0.2110},
37312 {0.0283, 0.3083, 0.4930, 0.1705}},
37313 {
37314 {0.3399, 0.2988, 0.2927, 0.0685},
37315 {0.4003, 0.2261, 0.1394, 0.2342},
37316 {0.2352, 0.1995, 0.4531, 0.1123},
37317 {0.1944, 0.2318, 0.4638, 0.1100}},
37318 {
37319 {0.1943, 0.3241, 0.2533, 0.2283},
37320 {0.2489, 0.3549, 0.1389, 0.2573},
37321 {0.3228, 0.2016, 0.1832, 0.2924},
37322 {0.1254, 0.2721, 0.3322, 0.2703}},
37323 {
37324 {0.0552, 0.3679, 0.4868, 0.0901},
37325 {0.2017, 0.4255, 0.1235, 0.2493},
37326 {0.0845, 0.3001, 0.2570, 0.3583},
37327 {0.1876, 0.3080, 0.4250, 0.0793}},
37328 {
37329 {0.2388, 0.2227, 0.3456, 0.1928},
37330 {0.3742, 0.3153, 0.1602, 0.1503},
37331 {0.3083, 0.2566, 0.3481, 0.0870},
37332 {0.1635, 0.1135, 0.5846, 0.1384}},
37333 {
37334 {0.3949, 0.2288, 0.1168, 0.2596},
37335 {0.4280, 0.1775, 0.0873, 0.3072},
37336 {0.4470, 0.1226, 0.1997, 0.2307},
37337 {0.1736, 0.3895, 0.1368, 0.3002}},
37338 {
37339 {0.1466, 0.2278, 0.4570, 0.1686},
37340 {0.1586, 0.3853, 0.2652, 0.1908},
37341 {0.1267, 0.2752, 0.4080, 0.1901},
37342 {0.0854, 0.3023, 0.4788, 0.1335}},
37343 {
37344 {0.4445, 0.0333, 0.4149, 0.1073},
37345 {0.2544, 0.2449, 0.2687, 0.2320},
37346 {0.2741, 0.2250, 0.2986, 0.2023},
37347 {0.1851, 0.2285, 0.4520, 0.1344}},
37348 {
37349 {0.3927, 0.1715, 0.2102, 0.2256},
37350 {0.3980, 0.1944, 0.1311, 0.2765},
37351 {0.4321, 0.1502, 0.1593, 0.2584},
37352 {0.2439, 0.3670, 0.2260, 0.1631}},
37353 {
37354 {0.1388, 0.2242, 0.4877, 0.1493},
37355 {0.2168, 0.4217, 0.1528, 0.2087},
37356 {0.0729, 0.6084, 0.1458, 0.1729},
37357 {0.0564, 0.3478, 0.4845, 0.1114}},
37358 {
37359 {0.2268, 0.2417, 0.4215, 0.1100},
37360 {0.3249, 0.2307, 0.2153, 0.2291},
37361 {0.2817, 0.2419, 0.2665, 0.2099},
37362 {0.1184, 0.3610, 0.3896, 0.1311}},
37363 {
37364 {0.3243, 0.2618, 0.1875, 0.2263},
37365 {0.3422, 0.2669, 0.0461, 0.3448},
37366 {0.4369, 0.1834, 0.1177, 0.2621},
37367 {0.1181, 0.3842, 0.2785, 0.2192}},
37368 {
37369 {0.1899, 0.2360, 0.4332, 0.1409},
37370 {0.1181, 0.4730, 0.1984, 0.2105},
37371 {0.1155, 0.3885, 0.2669, 0.2292},
37372 {0.0320, 0.2620, 0.4858, 0.2202}},
37373 {
37374 {0.1469, 0.3328, 0.4847, 0.0356},
37375 {0.3130, 0.3053, 0.1887, 0.1930},
37376 {0.2099, 0.2622, 0.3432, 0.1847},
37377 {0.0674, 0.2750, 0.5713, 0.0863}},
37378 {
37379 {0.2304, 0.1269, 0.2132, 0.4295},
37380 {0.2438, 0.2687, 0.1238, 0.3636},
37381 {0.3394, 0.2733, 0.1485, 0.2388},
37382 {0.2385, 0.4172, 0.0542, 0.2901}},
37383 {
37384 {0.1273, 0.2941, 0.4291, 0.1495},
37385 {0.1461, 0.4895, 0.2116, 0.1528},
37386 {0.0923, 0.3165, 0.4050, 0.1862},
37387 {0.0566, 0.4081, 0.3942, 0.1411}},
37388 {
37389 {0.3379, 0.2024, 0.3763, 0.0834},
37390 {0.3206, 0.3218, 0.1254, 0.2322},
37391 {0.2633, 0.2489, 0.3767, 0.1111},
37392 {0.0912, 0.1699, 0.5569, 0.1819}},
37393 {
37394 {0.2707, 0.3302, 0.1825, 0.2166},
37395 {0.2563, 0.1900, 0.1519, 0.4018},
37396 {0.3774, 0.1540, 0.3071, 0.1615},
37397 {0.2059, 0.1487, 0.2378, 0.4076}},
37398 {
37399 {0.1128, 0.3635, 0.3399, 0.1838},
37400 {0.2877, 0.2468, 0.3205, 0.1450},
37401 {0.1123, 0.3216, 0.3748, 0.1913},
37402 {0.0935, 0.3028, 0.4114, 0.1923}},
37403 {
37404 {0.3027, 0.1258, 0.4551, 0.1164},
37405 {0.1965, 0.3666, 0.1389, 0.2979},
37406 {0.2894, 0.2065, 0.3928, 0.1114},
37407 {0.1647, 0.1488, 0.5577, 0.1288}},
37408 {
37409 {0.4675, 0.2184, 0.1451, 0.1691},
37410 {0.3260, 0.1829, 0.1341, 0.3569},
37411 {0.2988, 0.3046, 0.1350, 0.2617},
37412 {0.2556, 0.3078, 0.2329, 0.2037}},
37413 {
37414 {0.1177, 0.2983, 0.3737, 0.2103},
37415 {0.2031, 0.4153, 0.1686, 0.2129},
37416 {0.1144, 0.4348, 0.2821, 0.1687},
37417 {0.1060, 0.1949, 0.4865, 0.2126}},
37418 {
37419 {0.2902, 0.1963, 0.3878, 0.1256},
37420 {0.3098, 0.3575, 0.1380, 0.1947},
37421 {0.2831, 0.2215, 0.3184, 0.1770},
37422 {0.1555, 0.2398, 0.4180, 0.1867}},
37423 {
37424 {0.4011, 0.1673, 0.2127, 0.2189},
37425 {0.2728, 0.2999, 0.1189, 0.3084},
37426 {0.3218, 0.2251, 0.1577, 0.2954},
37427 {0.1655, 0.2377, 0.1686, 0.4283}},
37428 {
37429 {0.2709, 0.3612, 0.2382, 0.1297},
37430 {0.2051, 0.3258, 0.1334, 0.3357},
37431 {0.1855, 0.4403, 0.2413, 0.1330},
37432 {0.1195, 0.3350, 0.3661, 0.1793}},
37433 {
37434 {0.3969, 0.1360, 0.4012, 0.0658},
37435 {0.3528, 0.2404, 0.2463, 0.1605},
37436 {0.2123, 0.2609, 0.4381, 0.0886},
37437 {0.1359, 0.1758, 0.6208, 0.0676}},
37438 {
37439 {0.2638, 0.2074, 0.2635, 0.2653},
37440 {0.2461, 0.2843, 0.0586, 0.4110},
37441 {0.2611, 0.1440, 0.2978, 0.2971},
37442 {0.0885, 0.4131, 0.1173, 0.3811}},
37443 {
37444 {0.1319, 0.3001, 0.3801, 0.1879},
37445 {0.2254, 0.3781, 0.1167, 0.2798},
37446 {0.1748, 0.5050, 0.1974, 0.1227},
37447 {0.0957, 0.2422, 0.5176, 0.1445}},
37448 {
37449 {0.4425, 0.0868, 0.4108, 0.0599},
37450 {0.4247, 0.2050, 0.2194, 0.1510},
37451 {0.1998, 0.2791, 0.4027, 0.1184},
37452 {0.1699, 0.1241, 0.5613, 0.1447}},
37453 {
37454 {0.3826, 0.2773, 0.1302, 0.2099},
37455 {0.3106, 0.2661, 0.1375, 0.2859},
37456 {0.3954, 0.1666, 0.2331, 0.2049},
37457 {0.2825, 0.3115, 0.2052, 0.2009}},
37458 {
37459 {0.2189, 0.2339, 0.4099, 0.1373},
37460 {0.2274, 0.5288, 0.1497, 0.0941},
37461 {0.0761, 0.4571, 0.2155, 0.2514},
37462 {0.0980, 0.2667, 0.5390, 0.0963}}},
37463
37464 { /* Splice_Site: T0_AG; Species: Chick */
37465 {
37466 {0.1354, 0.1354, 0.1354, 0.1354},
37467 {0.3129, 0.3129, 0.3129, 0.3129},
37468 {0.2590, 0.2590, 0.2590, 0.2590},
37469 {0.2927, 0.2927, 0.2927, 0.2927}},
37470 {
37471 {0.4258, 0.2881, 0.2149, 0.0711},
37472 {0.2540, 0.3734, 0.0937, 0.2789},
37473 {0.2617, 0.1794, 0.2987, 0.2602},
37474 {0.1936, 0.0674, 0.5376, 0.2014}},
37475 {
37476 {0.4079, 0.1151, 0.2245, 0.2526},
37477 {0.2172, 0.2562, 0.1299, 0.3966},
37478 {0.0654, 0.1354, 0.5290, 0.2703},
37479 {0.1308, 0.2633, 0.3093, 0.2966}},
37480 {
37481 {0.2769, 0.2396, 0.1448, 0.3387},
37482 {0.2131, 0.3693, 0.1022, 0.3155},
37483 {0.1574, 0.2510, 0.4631, 0.1284},
37484 {0.1280, 0.2274, 0.4157, 0.2288}},
37485 {
37486 {0.3100, 0.1607, 0.3693, 0.1600},
37487 {0.3660, 0.2202, 0.0763, 0.3375},
37488 {0.2425, 0.3094, 0.2454, 0.2027},
37489 {0.2486, 0.1238, 0.3366, 0.2910}},
37490 {
37491 {0.2331, 0.2678, 0.3337, 0.1653},
37492 {0.5032, 0.1801, 0.1837, 0.1330},
37493 {0.2347, 0.2819, 0.2847, 0.1986},
37494 {0.1159, 0.3868, 0.2253, 0.2719}},
37495 {
37496 {0.2560, 0.3313, 0.2618, 0.1508},
37497 {0.2046, 0.4534, 0.0000, 0.3421},
37498 {0.1103, 0.1097, 0.4845, 0.2956},
37499 {0.3468, 0.1089, 0.3469, 0.1975}},
37500 {
37501 {0.2645, 0.5163, 0.0850, 0.1342},
37502 {0.2198, 0.3002, 0.1080, 0.3721},
37503 {0.0749, 0.0732, 0.5495, 0.3023},
37504 {0.0768, 0.0769, 0.3451, 0.5011}},
37505 {
37506 {0.2549, 0.1847, 0.3115, 0.2490},
37507 {0.2051, 0.3822, 0.1232, 0.2895},
37508 {0.2104, 0.3482, 0.3038, 0.1377},
37509 {0.1165, 0.2360, 0.4679, 0.1797}},
37510 {
37511 {0.1068, 0.3608, 0.2104, 0.3220},
37512 {0.1716, 0.4002, 0.2020, 0.2262},
37513 {0.2133, 0.2996, 0.2738, 0.2133},
37514 {0.1396, 0.2907, 0.3357, 0.2340}},
37515 {
37516 {0.3537, 0.1177, 0.2916, 0.2370},
37517 {0.2831, 0.3470, 0.1109, 0.2590},
37518 {0.1936, 0.3007, 0.1931, 0.3126},
37519 {0.2067, 0.1212, 0.4382, 0.2339}},
37520 {
37521 {0.1538, 0.1509, 0.2272, 0.4681},
37522 {0.3145, 0.4447, 0.0000, 0.2408},
37523 {0.1600, 0.2389, 0.5616, 0.0395},
37524 {0.1102, 0.3303, 0.2976, 0.2618}},
37525 {
37526 {0.3176, 0.1569, 0.3706, 0.1549},
37527 {0.2967, 0.3067, 0.0638, 0.3328},
37528 {0.2479, 0.1734, 0.5056, 0.0731},
37529 {0.1520, 0.3033, 0.2735, 0.2713}},
37530 {
37531 {0.2287, 0.0757, 0.3460, 0.3496},
37532 {0.4039, 0.3228, 0.0380, 0.2353},
37533 {0.1352, 0.1980, 0.3357, 0.3311},
37534 {0.1434, 0.2251, 0.3135, 0.3180}},
37535 {
37536 {0.2607, 0.2582, 0.1297, 0.3514},
37537 {0.2397, 0.1926, 0.1343, 0.4333},
37538 {0.1109, 0.4108, 0.2580, 0.2203},
37539 {0.2495, 0.1215, 0.2191, 0.4099}},
37540 {
37541 {0.3659, 0.3634, 0.1372, 0.1336},
37542 {0.2810, 0.3197, 0.0408, 0.3585},
37543 {0.1947, 0.2501, 0.2561, 0.2991},
37544 {0.0822, 0.2556, 0.3295, 0.3327}},
37545 {
37546 {0.3301, 0.1350, 0.3088, 0.2262},
37547 {0.3034, 0.2962, 0.0992, 0.3012},
37548 {0.1919, 0.0960, 0.5666, 0.1455},
37549 {0.1649, 0.2010, 0.3011, 0.3330}},
37550 {
37551 {0.1150, 0.2846, 0.2365, 0.3639},
37552 {0.1980, 0.3538, 0.0000, 0.4483},
37553 {0.2166, 0.3316, 0.0964, 0.3555},
37554 {0.2285, 0.0720, 0.2921, 0.4074}},
37555 {
37556 {0.1986, 0.1476, 0.3071, 0.3466},
37557 {0.0767, 0.3447, 0.1169, 0.4616},
37558 {0.1168, 0.3553, 0.5279, 0.0000},
37559 {0.1739, 0.2211, 0.3550, 0.2500}},
37560 {
37561 {0.2694, 0.3265, 0.2026, 0.2015},
37562 {0.2576, 0.1862, 0.1495, 0.4067},
37563 {0.2775, 0.2834, 0.1861, 0.2530},
37564 {0.1687, 0.2482, 0.3470, 0.2360}},
37565 {
37566 {0.1223, 0.3544, 0.2803, 0.2430},
37567 {0.2673, 0.3871, 0.0766, 0.2690},
37568 {0.1299, 0.2171, 0.4382, 0.2148},
37569 {0.1017, 0.2417, 0.2794, 0.3772}},
37570 {
37571 {0.3065, 0.1295, 0.1909, 0.3731},
37572 {0.3556, 0.2549, 0.1319, 0.2576},
37573 {0.2591, 0.1472, 0.4059, 0.1877},
37574 {0.1746, 0.2448, 0.3039, 0.2766}},
37575 {
37576 {0.2129, 0.2116, 0.2895, 0.2859},
37577 {0.3385, 0.3304, 0.0452, 0.2859},
37578 {0.1464, 0.3779, 0.3683, 0.1074},
37579 {0.0733, 0.2643, 0.3673, 0.2950}},
37580 {
37581 {0.1544, 0.3117, 0.2689, 0.2649},
37582 {0.2340, 0.3678, 0.1632, 0.2350},
37583 {0.2404, 0.3440, 0.2737, 0.1418},
37584 {0.1246, 0.2007, 0.3164, 0.3583}},
37585 {
37586 {0.1527, 0.2573, 0.1927, 0.3973},
37587 {0.2503, 0.4068, 0.0326, 0.3103},
37588 {0.2406, 0.3143, 0.1057, 0.3394},
37589 {0.0393, 0.2037, 0.3190, 0.4380}},
37590 {
37591 {0.1577, 0.4539, 0.1077, 0.2806},
37592 {0.0000, 0.3550, 0.1286, 0.5164},
37593 {0.1177, 0.5012, 0.1272, 0.2539},
37594 {0.1330, 0.2615, 0.3977, 0.2078}},
37595 {
37596 {0.2032, 0.1928, 0.4980, 0.1060},
37597 {0.3993, 0.1100, 0.0836, 0.4071},
37598 {0.3056, 0.1701, 0.2646, 0.2597},
37599 {0.0583, 0.1236, 0.4598, 0.3583}},
37600 {
37601 {0.2678, 0.4583, 0.0394, 0.2344},
37602 {0.1443, 0.4423, 0.0615, 0.3519},
37603 {0.2065, 0.3466, 0.2000, 0.2469},
37604 {0.0873, 0.2309, 0.2962, 0.3856}},
37605 {
37606 {0.2228, 0.1107, 0.2765, 0.3900},
37607 {0.4162, 0.2304, 0.0000, 0.3534},
37608 {0.2843, 0.3317, 0.2791, 0.1048},
37609 {0.1255, 0.2944, 0.3275, 0.2526}},
37610 {
37611 {0.2866, 0.2870, 0.1837, 0.2427},
37612 {0.1979, 0.1198, 0.0786, 0.6038},
37613 {0.3048, 0.1513, 0.1981, 0.3457},
37614 {0.2348, 0.2688, 0.2316, 0.2648}},
37615 {
37616 {0.2631, 0.3882, 0.1567, 0.1920},
37617 {0.1834, 0.4439, 0.0000, 0.3727},
37618 {0.2793, 0.2795, 0.2168, 0.2244},
37619 {0.1076, 0.4038, 0.1904, 0.2982}},
37620 {
37621 {0.2549, 0.1983, 0.2460, 0.3008},
37622 {0.2519, 0.2730, 0.0750, 0.4001},
37623 {0.4088, 0.1408, 0.1939, 0.2564},
37624 {0.2145, 0.1754, 0.3623, 0.2478}},
37625 {
37626 {0.2209, 0.3293, 0.1882, 0.2616},
37627 {0.1330, 0.1841, 0.0948, 0.5881},
37628 {0.1936, 0.4766, 0.0439, 0.2859},
37629 {0.0910, 0.3401, 0.3295, 0.2395}},
37630 {
37631 {0.1860, 0.4448, 0.1224, 0.2468},
37632 {0.2370, 0.2983, 0.0609, 0.4039},
37633 {0.5256, 0.2092, 0.1046, 0.1606},
37634 {0.1189, 0.3527, 0.2322, 0.2961}},
37635 {
37636 {0.1247, 0.3072, 0.1199, 0.4482},
37637 {0.2135, 0.3636, 0.0600, 0.3629},
37638 {0.1446, 0.2821, 0.2186, 0.3547},
37639 {0.1337, 0.4447, 0.1001, 0.3215}},
37640 {
37641 {0.1868, 0.4968, 0.0000, 0.3164},
37642 {0.1284, 0.3498, 0.0783, 0.4434},
37643 {0.2647, 0.2757, 0.0928, 0.3668},
37644 {0.0536, 0.2337, 0.3171, 0.3955}},
37645 {
37646 {0.1592, 0.6160, 0.0000, 0.2248},
37647 {0.2161, 0.3634, 0.0623, 0.3582},
37648 {0.0635, 0.3779, 0.2526, 0.3060},
37649 {0.1227, 0.4359, 0.2230, 0.2184}},
37650 {
37651 {0.3369, 0.3361, 0.1954, 0.1316},
37652 {0.1130, 0.2056, 0.0643, 0.6170},
37653 {0.1340, 0.4638, 0.0617, 0.3405},
37654 {0.0343, 0.4853, 0.1720, 0.3083}},
37655 {
37656 {0.2324, 0.2195, 0.1574, 0.3907},
37657 {0.0854, 0.4303, 0.0294, 0.4548},
37658 {0.0000, 0.5086, 0.1549, 0.3365},
37659 {0.0702, 0.3677, 0.3300, 0.2321}},
37660 {
37661 {0.3350, 0.4401, 0.0000, 0.2249},
37662 {0.1517, 0.4992, 0.0270, 0.3221},
37663 {0.0000, 0.3755, 0.1039, 0.5207},
37664 {0.0593, 0.2866, 0.1693, 0.4848}},
37665 {
37666 {0.1838, 0.1822, 0.0000, 0.6340},
37667 {0.1187, 0.3169, 0.1210, 0.4434},
37668 {0.2241, 0.3372, 0.2094, 0.2294},
37669 {0.0492, 0.2629, 0.2085, 0.4794}},
37670 {
37671 {0.0895, 0.2787, 0.0000, 0.6318},
37672 {0.0327, 0.2732, 0.2062, 0.4879},
37673 {0.1250, 0.0670, 0.2538, 0.5543},
37674 {0.0442, 0.2746, 0.1703, 0.5109}},
37675 {
37676 {0.1832, 0.0000, 0.0000, 0.8168},
37677 {0.1228, 0.3208, 0.1206, 0.4358},
37678 {0.0554, 0.3403, 0.0536, 0.5507},
37679 {0.0761, 0.2719, 0.2257, 0.4263}},
37680 {
37681 {0.1122, 0.2229, 0.1077, 0.5573},
37682 {0.0364, 0.5183, 0.0000, 0.4453},
37683 {0.0000, 0.4391, 0.1249, 0.4360},
37684 {0.1426, 0.3726, 0.1434, 0.3414}},
37685 {
37686 {0.1094, 0.5658, 0.0000, 0.3249},
37687 {0.0941, 0.3564, 0.0253, 0.5243},
37688 {0.1921, 0.5027, 0.0000, 0.3052},
37689 {0.0485, 0.3698, 0.1709, 0.4109}},
37690 {
37691 {0.1109, 0.3406, 0.0000, 0.5485},
37692 {0.0258, 0.5110, 0.0514, 0.4118},
37693 {0.0000, 0.4975, 0.0000, 0.5025},
37694 {0.0225, 0.5756, 0.1330, 0.2689}},
37695 {
37696 {0.0000, 0.3433, 0.0000, 0.6567},
37697 {0.0915, 0.4840, 0.0173, 0.4071},
37698 {0.0000, 0.2473, 0.1059, 0.6468},
37699 {0.0255, 0.4190, 0.0522, 0.5033}},
37700 {
37701 {0.0000, 0.1653, 0.0000, 0.8347},
37702 {0.0875, 0.5563, 0.0666, 0.2896},
37703 {0.0000, 0.0000, 0.2514, 0.7486},
37704 {0.0601, 0.3361, 0.0400, 0.5638}},
37705 {
37706 {0.7271, 0.0000, 0.0000, 0.2729},
37707 {0.1679, 0.4317, 0.2566, 0.1438},
37708 {0.3372, 0.1614, 0.5014, 0.0000},
37709 {0.1649, 0.1486, 0.5397, 0.1468}},
37710 {
37711 {0.0453, 0.8199, 0.0000, 0.1348},
37712 {0.0000, 0.8846, 0.0000, 0.1154},
37713 {0.0250, 0.8233, 0.0000, 0.1517},
37714 {0.0000, 0.7955, 0.0000, 0.2045}},
37715 {
37716 {1.0000, 0.0000, 0.0000, 0.0000},
37717 {1.0000, 0.0000, 0.0000, 0.0000},
37718 {1.0000, 0.0000, 0.0000, 0.0000},
37719 {1.0000, 0.0000, 0.0000, 0.0000}},
37720 {
37721 {0.0000, 0.0000, 1.0000, 0.0000},
37722 {0.0000, 0.0000, 0.0000, 0.0000},
37723 {0.0000, 0.0000, 0.0000, 0.0000},
37724 {0.0000, 0.0000, 0.0000, 0.0000}},
37725 {
37726 {0.0000, 0.0000, 0.0000, 0.0000},
37727 {0.0000, 0.0000, 0.0000, 0.0000},
37728 {0.1438, 0.2554, 0.5046, 0.0961},
37729 {0.0000, 0.0000, 0.0000, 0.0000}},
37730 {
37731 {0.1329, 0.1982, 0.4010, 0.2680},
37732 {0.3057, 0.3840, 0.1199, 0.1904},
37733 {0.2518, 0.2828, 0.1746, 0.2909},
37734 {0.2939, 0.0000, 0.4973, 0.2089}},
37735 {
37736 {0.5428, 0.2305, 0.0000, 0.2267},
37737 {0.2486, 0.3204, 0.1477, 0.2833},
37738 {0.4321, 0.0904, 0.2199, 0.2576},
37739 {0.3486, 0.1923, 0.1927, 0.2663}},
37740 {
37741 {0.1454, 0.4244, 0.2271, 0.2031},
37742 {0.2666, 0.2301, 0.1361, 0.3672},
37743 {0.1444, 0.1446, 0.3516, 0.3594},
37744 {0.1143, 0.2636, 0.3269, 0.2952}},
37745 {
37746 {0.3480, 0.0000, 0.2341, 0.4179},
37747 {0.2549, 0.3219, 0.1657, 0.2574},
37748 {0.1901, 0.3488, 0.3101, 0.1509},
37749 {0.1021, 0.1350, 0.5562, 0.2067}},
37750 {
37751 {0.3253, 0.2613, 0.0476, 0.3657},
37752 {0.2581, 0.1720, 0.0425, 0.5273},
37753 {0.3597, 0.2411, 0.2151, 0.1840},
37754 {0.2423, 0.3600, 0.1182, 0.2796}},
37755 {
37756 {0.1292, 0.2252, 0.3838, 0.2618},
37757 {0.2978, 0.3299, 0.1073, 0.2650},
37758 {0.0000, 0.5065, 0.4088, 0.0847},
37759 {0.0322, 0.2705, 0.5217, 0.1755}},
37760 {
37761 {0.3755, 0.0000, 0.3799, 0.2447},
37762 {0.3255, 0.3239, 0.1904, 0.1602},
37763 {0.2386, 0.1926, 0.4297, 0.1391},
37764 {0.2746, 0.2727, 0.4527, 0.0000}},
37765 {
37766 {0.4042, 0.2637, 0.1373, 0.1947},
37767 {0.0400, 0.2155, 0.0911, 0.6534},
37768 {0.2962, 0.1865, 0.1892, 0.3282},
37769 {0.0000, 0.3100, 0.0714, 0.6186}},
37770 {
37771 {0.1741, 0.0411, 0.3329, 0.4519},
37772 {0.1628, 0.3738, 0.0450, 0.4185},
37773 {0.0707, 0.4932, 0.2924, 0.1438},
37774 {0.0488, 0.2652, 0.4380, 0.2480}},
37775 {
37776 {0.2760, 0.0778, 0.4662, 0.1800},
37777 {0.3598, 0.1443, 0.2160, 0.2799},
37778 {0.3189, 0.2290, 0.3218, 0.1303},
37779 {0.2091, 0.0895, 0.6407, 0.0606}},
37780 {
37781 {0.2692, 0.1661, 0.2007, 0.3639},
37782 {0.2682, 0.0673, 0.1406, 0.5239},
37783 {0.2626, 0.2908, 0.3319, 0.1147},
37784 {0.1250, 0.1195, 0.3868, 0.3687}},
37785 {
37786 {0.2800, 0.1572, 0.5223, 0.0405},
37787 {0.3038, 0.3025, 0.0985, 0.2953},
37788 {0.1059, 0.3949, 0.2122, 0.2870},
37789 {0.0000, 0.3994, 0.2686, 0.3320}},
37790 {
37791 {0.1833, 0.3159, 0.4380, 0.0628},
37792 {0.3682, 0.1480, 0.2153, 0.2685},
37793 {0.2402, 0.3079, 0.3780, 0.0739},
37794 {0.3231, 0.0775, 0.4020, 0.1974}},
37795 {
37796 {0.3979, 0.0694, 0.3035, 0.2292},
37797 {0.4206, 0.0472, 0.1437, 0.3885},
37798 {0.2572, 0.2544, 0.3512, 0.1373},
37799 {0.3440, 0.2437, 0.0582, 0.3541}},
37800 {
37801 {0.2193, 0.2471, 0.2533, 0.2804},
37802 {0.2526, 0.3772, 0.2438, 0.1264},
37803 {0.1614, 0.5967, 0.1181, 0.1238},
37804 {0.0000, 0.3851, 0.4984, 0.1166}},
37805 {
37806 {0.3171, 0.0624, 0.4994, 0.1211},
37807 {0.4009, 0.3236, 0.1514, 0.1242},
37808 {0.2731, 0.3088, 0.3157, 0.1024},
37809 {0.0541, 0.2745, 0.6165, 0.0549}},
37810 {
37811 {0.3622, 0.1663, 0.1719, 0.2995},
37812 {0.1441, 0.3521, 0.2570, 0.2468},
37813 {0.3862, 0.2043, 0.2343, 0.1752},
37814 {0.1784, 0.2687, 0.2774, 0.2756}},
37815 {
37816 {0.2329, 0.3627, 0.2707, 0.1338},
37817 {0.3663, 0.3200, 0.0764, 0.2373},
37818 {0.1757, 0.4768, 0.2175, 0.1300},
37819 {0.0781, 0.1981, 0.5177, 0.2061}},
37820 {
37821 {0.2289, 0.2705, 0.3204, 0.1803},
37822 {0.2591, 0.4880, 0.0565, 0.1964},
37823 {0.2541, 0.3550, 0.2834, 0.1076},
37824 {0.1102, 0.0541, 0.7258, 0.1100}},
37825 {
37826 {0.4832, 0.0440, 0.3033, 0.1695},
37827 {0.3249, 0.2624, 0.2035, 0.2092},
37828 {0.2687, 0.1685, 0.2666, 0.2962},
37829 {0.3120, 0.1243, 0.3759, 0.1878}},
37830 {
37831 {0.1446, 0.2554, 0.4526, 0.1474},
37832 {0.2936, 0.3580, 0.0601, 0.2883},
37833 {0.1080, 0.2887, 0.2471, 0.3563},
37834 {0.0442, 0.2218, 0.5203, 0.2136}},
37835 {
37836 {0.4282, 0.1423, 0.4295, 0.0000},
37837 {0.3175, 0.2175, 0.2451, 0.2199},
37838 {0.3049, 0.1680, 0.3334, 0.1937},
37839 {0.0381, 0.0829, 0.7969, 0.0821}},
37840 {
37841 {0.2915, 0.4834, 0.1880, 0.0371},
37842 {0.3162, 0.0604, 0.2559, 0.3675},
37843 {0.4289, 0.2214, 0.1538, 0.1960},
37844 {0.0648, 0.5354, 0.2659, 0.1339}},
37845 {
37846 {0.1771, 0.2446, 0.3339, 0.2444},
37847 {0.1271, 0.4924, 0.1280, 0.2525},
37848 {0.0982, 0.4029, 0.2507, 0.2482},
37849 {0.0000, 0.4464, 0.4394, 0.1142}},
37850 {
37851 {0.2614, 0.2494, 0.4061, 0.0832},
37852 {0.3520, 0.2514, 0.1259, 0.2707},
37853 {0.3517, 0.1379, 0.4765, 0.0339},
37854 {0.1741, 0.0000, 0.6956, 0.1303}},
37855 {
37856 {0.4191, 0.1267, 0.1654, 0.2888},
37857 {0.3540, 0.1145, 0.0605, 0.4710},
37858 {0.2300, 0.2250, 0.2566, 0.2884},
37859 {0.2453, 0.4487, 0.1849, 0.1210}},
37860 {
37861 {0.1246, 0.1835, 0.4128, 0.2791},
37862 {0.3146, 0.2737, 0.1887, 0.2229},
37863 {0.2075, 0.4816, 0.1050, 0.2059},
37864 {0.0355, 0.3917, 0.5728, 0.0000}},
37865 {
37866 {0.2461, 0.1820, 0.3767, 0.1951},
37867 {0.2391, 0.2722, 0.0930, 0.3957},
37868 {0.3848, 0.2537, 0.2519, 0.1096},
37869 {0.0550, 0.1119, 0.6630, 0.1702}},
37870 {
37871 {0.1865, 0.3730, 0.3288, 0.1117},
37872 {0.0818, 0.1284, 0.3419, 0.4479},
37873 {0.2709, 0.3610, 0.1027, 0.2653},
37874 {0.2562, 0.1293, 0.3053, 0.3092}},
37875 {
37876 {0.0927, 0.3818, 0.3315, 0.1940},
37877 {0.2987, 0.4369, 0.0760, 0.1884},
37878 {0.0352, 0.3361, 0.3326, 0.2960},
37879 {0.0707, 0.2906, 0.3916, 0.2471}},
37880 {
37881 {0.3073, 0.3140, 0.1526, 0.2261},
37882 {0.2477, 0.2355, 0.1134, 0.4033},
37883 {0.1405, 0.1783, 0.4727, 0.2085},
37884 {0.2095, 0.1650, 0.4986, 0.1269}},
37885 {
37886 {0.2302, 0.3158, 0.2307, 0.2234},
37887 {0.2246, 0.1848, 0.3234, 0.2673},
37888 {0.3113, 0.2495, 0.2208, 0.2184},
37889 {0.2205, 0.0741, 0.2226, 0.4828}},
37890 {
37891 {0.1521, 0.3062, 0.3851, 0.1566},
37892 {0.1836, 0.2863, 0.1971, 0.3330},
37893 {0.0384, 0.4434, 0.2319, 0.2864},
37894 {0.0000, 0.3878, 0.3524, 0.2599}},
37895 {
37896 {0.3344, 0.3375, 0.3282, 0.0000},
37897 {0.2999, 0.2707, 0.1655, 0.2639},
37898 {0.2223, 0.2911, 0.3605, 0.1261},
37899 {0.1148, 0.1947, 0.6520, 0.0385}},
37900 {
37901 {0.4979, 0.1662, 0.2121, 0.1238},
37902 {0.3362, 0.2226, 0.0716, 0.3696},
37903 {0.3273, 0.3242, 0.1058, 0.2427},
37904 {0.0664, 0.2657, 0.1359, 0.5320}},
37905 {
37906 {0.2339, 0.2345, 0.4707, 0.0609},
37907 {0.1539, 0.5728, 0.0764, 0.1969},
37908 {0.2287, 0.4653, 0.2282, 0.0777},
37909 {0.0317, 0.2984, 0.5056, 0.1642}},
37910 {
37911 {0.1250, 0.4944, 0.1256, 0.2550},
37912 {0.3129, 0.3105, 0.2674, 0.1092},
37913 {0.2992, 0.2497, 0.4232, 0.0279},
37914 {0.0000, 0.2337, 0.6894, 0.0768}},
37915 {
37916 {0.3616, 0.2376, 0.1200, 0.2808},
37917 {0.3415, 0.2564, 0.0917, 0.3104},
37918 {0.3330, 0.1119, 0.2498, 0.3052},
37919 {0.0993, 0.2007, 0.1992, 0.5008}},
37920 {
37921 {0.1197, 0.1534, 0.5460, 0.1809},
37922 {0.1008, 0.4460, 0.2016, 0.2516},
37923 {0.2339, 0.1697, 0.2307, 0.3657},
37924 {0.0294, 0.4250, 0.4824, 0.0633}},
37925 {
37926 {0.0915, 0.1800, 0.6384, 0.0900},
37927 {0.3905, 0.2535, 0.0977, 0.2582},
37928 {0.2624, 0.2622, 0.3099, 0.1654},
37929 {0.2113, 0.1536, 0.4207, 0.2144}},
37930 {
37931 {0.4629, 0.2149, 0.1424, 0.1798},
37932 {0.3004, 0.2489, 0.0833, 0.3674},
37933 {0.3269, 0.1620, 0.1277, 0.3833},
37934 {0.2497, 0.1536, 0.1478, 0.4489}},
37935 {
37936 {0.1993, 0.3407, 0.3452, 0.1148},
37937 {0.2005, 0.5437, 0.0508, 0.2050},
37938 {0.0759, 0.4691, 0.1552, 0.2998},
37939 {0.1137, 0.4083, 0.3911, 0.0869}},
37940 {
37941 {0.3096, 0.1941, 0.3712, 0.1251},
37942 {0.3789, 0.1623, 0.1162, 0.3426},
37943 {0.3117, 0.1047, 0.4490, 0.1347},
37944 {0.0000, 0.2687, 0.7313, 0.0000}},
37945 {
37946 {0.3591, 0.2685, 0.1332, 0.2392},
37947 {0.1730, 0.2985, 0.0569, 0.4715},
37948 {0.2844, 0.1701, 0.1732, 0.3723},
37949 {0.2835, 0.2897, 0.1458, 0.2810}},
37950 {
37951 {0.0695, 0.4054, 0.4308, 0.0942},
37952 {0.2830, 0.2817, 0.0409, 0.3943},
37953 {0.2234, 0.2719, 0.3590, 0.1456},
37954 {0.0271, 0.3802, 0.4494, 0.1434}},
37955 {
37956 {0.3209, 0.1531, 0.3760, 0.1501},
37957 {0.3145, 0.3273, 0.2206, 0.1376},
37958 {0.2964, 0.2035, 0.3815, 0.1187},
37959 {0.0508, 0.2014, 0.7041, 0.0437}},
37960 {
37961 {0.5365, 0.1902, 0.2332, 0.0402},
37962 {0.4016, 0.1976, 0.1234, 0.2773},
37963 {0.4513, 0.1506, 0.1998, 0.1982},
37964 {0.2510, 0.0852, 0.2485, 0.4152}},
37965 {
37966 {0.1565, 0.2883, 0.3568, 0.1984},
37967 {0.2354, 0.4032, 0.1190, 0.2424},
37968 {0.0503, 0.4037, 0.2916, 0.2545},
37969 {0.0487, 0.3438, 0.4128, 0.1947}},
37970 {
37971 {0.3821, 0.0805, 0.5375, 0.0000},
37972 {0.3656, 0.2642, 0.1980, 0.1723},
37973 {0.2495, 0.3887, 0.2376, 0.1242},
37974 {0.1325, 0.2237, 0.5529, 0.0909}}},
37975
37976 { /* Splice_Site: F1_AG; Species: Chick */
37977 {
37978 {0.1653, 0.1653, 0.1653, 0.1653},
37979 {0.2904, 0.2904, 0.2904, 0.2904},
37980 {0.3144, 0.3144, 0.3144, 0.3144},
37981 {0.2299, 0.2299, 0.2299, 0.2299}},
37982 {
37983 {0.2774, 0.2225, 0.3792, 0.1208},
37984 {0.3572, 0.2946, 0.1582, 0.1899},
37985 {0.2429, 0.3325, 0.3255, 0.0991},
37986 {0.1604, 0.1724, 0.5677, 0.0995}},
37987 {
37988 {0.2693, 0.2955, 0.1863, 0.2490},
37989 {0.3173, 0.2201, 0.1301, 0.3326},
37990 {0.2916, 0.2687, 0.1888, 0.2510},
37991 {0.1078, 0.3945, 0.1835, 0.3142}},
37992 {
37993 {0.1632, 0.2603, 0.4413, 0.1352},
37994 {0.2210, 0.4258, 0.1339, 0.2193},
37995 {0.1020, 0.3982, 0.3258, 0.1740},
37996 {0.0749, 0.2637, 0.4531, 0.2083}},
37997 {
37998 {0.1913, 0.1923, 0.5012, 0.1152},
37999 {0.3930, 0.2691, 0.1263, 0.2117},
38000 {0.2658, 0.2492, 0.3864, 0.0986},
38001 {0.1115, 0.2555, 0.3523, 0.2807}},
38002 {
38003 {0.3948, 0.1926, 0.1645, 0.2482},
38004 {0.1774, 0.2892, 0.1681, 0.3653},
38005 {0.3779, 0.2016, 0.2038, 0.2167},
38006 {0.1525, 0.4608, 0.1160, 0.2707}},
38007 {
38008 {0.1415, 0.3267, 0.3736, 0.1583},
38009 {0.1791, 0.3801, 0.1164, 0.3245},
38010 {0.0854, 0.3674, 0.3454, 0.2019},
38011 {0.0229, 0.3992, 0.4521, 0.1258}},
38012 {
38013 {0.1890, 0.2792, 0.3753, 0.1565},
38014 {0.3725, 0.2301, 0.1775, 0.2199},
38015 {0.2195, 0.2338, 0.4211, 0.1256},
38016 {0.1328, 0.2230, 0.5105, 0.1337}},
38017 {
38018 {0.2522, 0.2216, 0.2002, 0.3259},
38019 {0.2950, 0.2380, 0.1159, 0.3511},
38020 {0.3699, 0.3062, 0.1828, 0.1411},
38021 {0.1636, 0.2005, 0.2497, 0.3862}},
38022 {
38023 {0.1791, 0.2439, 0.4448, 0.1322},
38024 {0.2154, 0.3263, 0.1941, 0.2642},
38025 {0.0592, 0.4603, 0.3326, 0.1479},
38026 {0.0875, 0.3126, 0.3363, 0.2637}},
38027 {
38028 {0.2497, 0.1737, 0.4056, 0.1710},
38029 {0.3005, 0.2496, 0.2015, 0.2483},
38030 {0.2119, 0.2270, 0.4066, 0.1545},
38031 {0.0162, 0.2583, 0.5203, 0.2052}},
38032 {
38033 {0.3314, 0.1790, 0.2655, 0.2241},
38034 {0.2227, 0.2592, 0.1305, 0.3876},
38035 {0.4132, 0.1788, 0.2215, 0.1865},
38036 {0.0870, 0.3506, 0.1564, 0.4060}},
38037 {
38038 {0.1210, 0.3483, 0.4704, 0.0602},
38039 {0.2031, 0.3206, 0.2535, 0.2228},
38040 {0.1266, 0.4116, 0.3413, 0.1205},
38041 {0.0590, 0.3351, 0.4242, 0.1817}},
38042 {
38043 {0.2767, 0.2263, 0.3632, 0.1338},
38044 {0.3798, 0.2610, 0.1833, 0.1759},
38045 {0.2121, 0.2655, 0.3633, 0.1590},
38046 {0.1166, 0.1888, 0.5268, 0.1679}},
38047 {
38048 {0.2546, 0.3087, 0.1953, 0.2414},
38049 {0.3280, 0.3172, 0.1487, 0.2061},
38050 {0.3624, 0.2961, 0.1501, 0.1913},
38051 {0.1272, 0.3202, 0.2043, 0.3483}},
38052 {
38053 {0.1240, 0.2687, 0.4974, 0.1100},
38054 {0.1584, 0.3653, 0.1776, 0.2987},
38055 {0.1856, 0.3740, 0.2634, 0.1769},
38056 {0.0575, 0.3172, 0.4210, 0.2043}},
38057 {
38058 {0.2460, 0.2906, 0.2811, 0.1823},
38059 {0.4239, 0.1923, 0.1998, 0.1839},
38060 {0.2091, 0.2413, 0.4311, 0.1185},
38061 {0.0996, 0.2402, 0.5270, 0.1332}},
38062 {
38063 {0.2887, 0.2344, 0.1517, 0.3252},
38064 {0.3415, 0.2998, 0.0740, 0.2846},
38065 {0.3789, 0.2957, 0.1692, 0.1562},
38066 {0.1116, 0.4626, 0.1369, 0.2889}},
38067 {
38068 {0.2050, 0.1751, 0.5166, 0.1034},
38069 {0.2427, 0.4009, 0.1422, 0.2141},
38070 {0.0000, 0.3898, 0.4055, 0.2046},
38071 {0.0924, 0.3034, 0.3555, 0.2488}},
38072 {
38073 {0.2108, 0.1531, 0.4417, 0.1944},
38074 {0.3778, 0.3556, 0.0679, 0.1986},
38075 {0.2449, 0.2845, 0.3873, 0.0832},
38076 {0.1081, 0.3361, 0.4073, 0.1485}},
38077 {
38078 {0.3893, 0.2697, 0.1427, 0.1983},
38079 {0.2859, 0.2003, 0.2067, 0.3071},
38080 {0.4335, 0.3165, 0.1506, 0.0994},
38081 {0.1363, 0.3514, 0.1747, 0.3376}},
38082 {
38083 {0.2174, 0.2122, 0.4141, 0.1564},
38084 {0.2230, 0.3155, 0.1929, 0.2687},
38085 {0.1262, 0.2736, 0.4176, 0.1826},
38086 {0.0465, 0.3688, 0.4612, 0.1235}},
38087 {
38088 {0.2046, 0.1037, 0.5255, 0.1662},
38089 {0.3916, 0.2600, 0.1546, 0.1937},
38090 {0.2077, 0.2619, 0.3953, 0.1350},
38091 {0.0777, 0.1881, 0.5503, 0.1839}},
38092 {
38093 {0.4436, 0.2189, 0.1507, 0.1869},
38094 {0.2895, 0.2442, 0.0748, 0.3915},
38095 {0.4063, 0.3043, 0.1181, 0.1713},
38096 {0.2370, 0.4156, 0.0844, 0.2630}},
38097 {
38098 {0.1297, 0.3020, 0.4248, 0.1436},
38099 {0.1906, 0.4173, 0.0833, 0.3088},
38100 {0.1257, 0.4631, 0.2275, 0.1836},
38101 {0.0863, 0.2902, 0.4252, 0.1982}},
38102 {
38103 {0.3723, 0.2329, 0.3193, 0.0754},
38104 {0.4146, 0.2628, 0.1841, 0.1385},
38105 {0.2102, 0.3068, 0.4182, 0.0648},
38106 {0.0938, 0.2424, 0.4469, 0.2170}},
38107 {
38108 {0.3637, 0.2475, 0.1985, 0.1903},
38109 {0.2309, 0.2555, 0.1652, 0.3484},
38110 {0.3877, 0.2007, 0.1023, 0.3093},
38111 {0.1399, 0.4626, 0.2010, 0.1966}},
38112 {
38113 {0.1444, 0.2551, 0.4311, 0.1693},
38114 {0.2927, 0.3898, 0.0393, 0.2781},
38115 {0.1593, 0.3738, 0.2307, 0.2362},
38116 {0.0375, 0.3731, 0.4400, 0.1494}},
38117 {
38118 {0.2219, 0.1776, 0.4846, 0.1160},
38119 {0.3790, 0.2535, 0.1662, 0.2012},
38120 {0.2109, 0.2495, 0.4298, 0.1099},
38121 {0.0866, 0.2368, 0.5430, 0.1337}},
38122 {
38123 {0.3135, 0.2627, 0.2823, 0.1415},
38124 {0.3118, 0.2983, 0.1182, 0.2716},
38125 {0.4217, 0.1708, 0.1885, 0.2190},
38126 {0.3449, 0.3371, 0.1431, 0.1748}},
38127 {
38128 {0.1231, 0.3538, 0.4393, 0.0838},
38129 {0.1931, 0.4828, 0.1259, 0.1982},
38130 {0.1458, 0.3386, 0.4071, 0.1085},
38131 {0.0508, 0.2782, 0.5622, 0.1088}},
38132 {
38133 {0.2635, 0.2919, 0.3673, 0.0773},
38134 {0.2911, 0.3146, 0.1913, 0.2029},
38135 {0.3163, 0.2718, 0.3144, 0.0976},
38136 {0.1030, 0.1896, 0.5392, 0.1682}},
38137 {
38138 {0.3371, 0.1361, 0.2805, 0.2463},
38139 {0.3071, 0.2003, 0.1091, 0.3835},
38140 {0.4854, 0.2051, 0.1202, 0.1893},
38141 {0.1639, 0.4082, 0.2401, 0.1877}},
38142 {
38143 {0.1369, 0.3026, 0.4614, 0.0991},
38144 {0.2718, 0.3550, 0.1291, 0.2442},
38145 {0.0602, 0.4071, 0.3621, 0.1706},
38146 {0.0645, 0.3245, 0.5082, 0.1027}},
38147 {
38148 {0.2037, 0.1793, 0.4548, 0.1623},
38149 {0.3820, 0.2645, 0.1211, 0.2325},
38150 {0.2205, 0.2707, 0.4303, 0.0785},
38151 {0.1685, 0.2172, 0.5446, 0.0697}},
38152 {
38153 {0.3049, 0.2059, 0.2514, 0.2378},
38154 {0.2589, 0.3163, 0.1264, 0.2984},
38155 {0.3295, 0.3322, 0.1476, 0.1907},
38156 {0.2410, 0.2627, 0.1488, 0.3475}},
38157 {
38158 {0.1889, 0.3304, 0.3502, 0.1305},
38159 {0.1588, 0.4945, 0.1054, 0.2413},
38160 {0.1465, 0.4314, 0.2449, 0.1773},
38161 {0.0283, 0.3361, 0.5019, 0.1337}},
38162 {
38163 {0.2096, 0.2680, 0.4434, 0.0790},
38164 {0.4199, 0.2299, 0.1857, 0.1645},
38165 {0.2201, 0.2817, 0.3854, 0.1128},
38166 {0.1798, 0.1588, 0.5825, 0.0788}},
38167 {
38168 {0.4235, 0.2504, 0.1493, 0.1767},
38169 {0.3463, 0.1884, 0.2021, 0.2633},
38170 {0.3945, 0.2829, 0.2094, 0.1132},
38171 {0.1912, 0.2747, 0.2277, 0.3064}},
38172 {
38173 {0.2028, 0.2020, 0.4770, 0.1183},
38174 {0.2478, 0.3142, 0.1611, 0.2769},
38175 {0.1840, 0.2429, 0.3274, 0.2457},
38176 {0.0374, 0.2358, 0.4585, 0.2683}},
38177 {
38178 {0.1644, 0.2077, 0.5102, 0.1178},
38179 {0.4930, 0.2834, 0.0853, 0.1382},
38180 {0.2701, 0.2040, 0.4199, 0.1060},
38181 {0.0795, 0.2447, 0.5432, 0.1326}},
38182 {
38183 {0.3409, 0.2623, 0.1409, 0.2559},
38184 {0.3256, 0.2767, 0.1610, 0.2367},
38185 {0.4666, 0.2656, 0.0989, 0.1689},
38186 {0.2225, 0.2045, 0.1410, 0.4320}},
38187 {
38188 {0.1374, 0.2396, 0.4692, 0.1537},
38189 {0.2096, 0.3576, 0.1703, 0.2625},
38190 {0.1592, 0.2599, 0.4491, 0.1318},
38191 {0.0406, 0.3355, 0.4340, 0.1898}},
38192 {
38193 {0.2523, 0.1981, 0.5027, 0.0470},
38194 {0.3625, 0.3371, 0.0678, 0.2327},
38195 {0.3097, 0.2329, 0.3521, 0.1052},
38196 {0.2496, 0.0928, 0.5650, 0.0926}},
38197 {
38198 {0.3593, 0.1971, 0.1995, 0.2441},
38199 {0.3432, 0.2035, 0.1010, 0.3523},
38200 {0.3952, 0.2601, 0.1549, 0.1899},
38201 {0.1997, 0.1777, 0.2316, 0.3909}},
38202 {
38203 {0.2199, 0.2425, 0.4598, 0.0779},
38204 {0.2051, 0.4041, 0.1239, 0.2669},
38205 {0.1063, 0.4503, 0.3041, 0.1394},
38206 {0.0588, 0.2624, 0.4591, 0.2196}},
38207 {
38208 {0.2382, 0.2185, 0.4510, 0.0923},
38209 {0.3978, 0.2257, 0.2081, 0.1684},
38210 {0.2181, 0.1991, 0.4988, 0.0841},
38211 {0.1634, 0.1635, 0.5814, 0.0918}},
38212 {
38213 {0.3493, 0.2405, 0.2026, 0.2075},
38214 {0.3361, 0.1997, 0.0989, 0.3653},
38215 {0.5045, 0.2162, 0.1345, 0.1448},
38216 {0.2913, 0.2589, 0.2752, 0.1745}},
38217 {
38218 {0.1277, 0.1913, 0.5431, 0.1380},
38219 {0.2839, 0.3317, 0.1689, 0.2155},
38220 {0.1699, 0.2756, 0.4046, 0.1499},
38221 {0.0835, 0.2006, 0.6027, 0.1132}},
38222 {
38223 {0.2786, 0.3116, 0.4098, 0.0000},
38224 {0.5636, 0.2528, 0.1836, 0.0000},
38225 {0.2556, 0.2109, 0.5335, 0.0000},
38226 {0.1127, 0.2439, 0.6433, 0.0000}},
38227 {
38228 {1.0000, 0.0000, 0.0000, 0.0000},
38229 {1.0000, 0.0000, 0.0000, 0.0000},
38230 {1.0000, 0.0000, 0.0000, 0.0000},
38231 {1.0000, 0.0000, 0.0000, 0.0000}},
38232 {
38233 {0.0000, 0.0000, 1.0000, 0.0000},
38234 {0.0000, 0.0000, 0.0000, 0.0000},
38235 {0.0000, 0.0000, 0.0000, 0.0000},
38236 {0.0000, 0.0000, 0.0000, 0.0000}},
38237 {
38238 {0.0000, 0.0000, 0.0000, 0.0000},
38239 {0.0000, 0.0000, 0.0000, 0.0000},
38240 {0.2797, 0.2726, 0.3500, 0.0976},
38241 {0.0000, 0.0000, 0.0000, 0.0000}},
38242 {
38243 {0.4355, 0.1196, 0.2012, 0.2438},
38244 {0.3150, 0.1923, 0.1727, 0.3200},
38245 {0.4149, 0.2278, 0.1307, 0.2266},
38246 {0.2163, 0.2343, 0.2063, 0.3431}},
38247 {
38248 {0.2389, 0.2273, 0.4784, 0.0554},
38249 {0.2421, 0.3417, 0.2150, 0.2012},
38250 {0.0601, 0.4633, 0.3209, 0.1557},
38251 {0.1095, 0.3452, 0.4680, 0.0774}},
38252 {
38253 {0.2316, 0.1824, 0.4743, 0.1117},
38254 {0.3970, 0.2325, 0.1572, 0.2133},
38255 {0.2283, 0.2911, 0.3877, 0.0929},
38256 {0.0601, 0.1569, 0.5905, 0.1924}},
38257 {
38258 {0.3314, 0.1556, 0.2478, 0.2651},
38259 {0.2590, 0.1872, 0.1676, 0.3862},
38260 {0.3829, 0.2860, 0.1650, 0.1661},
38261 {0.2131, 0.2017, 0.2133, 0.3719}},
38262 {
38263 {0.1587, 0.2148, 0.4721, 0.1545},
38264 {0.1754, 0.4383, 0.1279, 0.2584},
38265 {0.0709, 0.5004, 0.3390, 0.0897},
38266 {0.0740, 0.3291, 0.4181, 0.1788}},
38267 {
38268 {0.2779, 0.1725, 0.4174, 0.1322},
38269 {0.3833, 0.2121, 0.2411, 0.1635},
38270 {0.3655, 0.2652, 0.2970, 0.0724},
38271 {0.1653, 0.1453, 0.5480, 0.1414}},
38272 {
38273 {0.3343, 0.1981, 0.2677, 0.1999},
38274 {0.2530, 0.1781, 0.2508, 0.3181},
38275 {0.5178, 0.2349, 0.1122, 0.1351},
38276 {0.1783, 0.3564, 0.3024, 0.1629}},
38277 {
38278 {0.1713, 0.2052, 0.4994, 0.1240},
38279 {0.2015, 0.4422, 0.1192, 0.2371},
38280 {0.0669, 0.3417, 0.3494, 0.2421},
38281 {0.0156, 0.4635, 0.4874, 0.0335}},
38282 {
38283 {0.3875, 0.0881, 0.3270, 0.1974},
38284 {0.3918, 0.2412, 0.1512, 0.2158},
38285 {0.3296, 0.2230, 0.3354, 0.1119},
38286 {0.1486, 0.0897, 0.6590, 0.1026}},
38287 {
38288 {0.4320, 0.1524, 0.2175, 0.1981},
38289 {0.2526, 0.3324, 0.1238, 0.2911},
38290 {0.4329, 0.1917, 0.1592, 0.2162},
38291 {0.1291, 0.3475, 0.2172, 0.3062}},
38292 {
38293 {0.2156, 0.2678, 0.3717, 0.1449},
38294 {0.1744, 0.3896, 0.1792, 0.2569},
38295 {0.1136, 0.4706, 0.2061, 0.2097},
38296 {0.1183, 0.2788, 0.4262, 0.1767}},
38297 {
38298 {0.2557, 0.1613, 0.4564, 0.1266},
38299 {0.4502, 0.2757, 0.1427, 0.1314},
38300 {0.2556, 0.2138, 0.4031, 0.1275},
38301 {0.0928, 0.1398, 0.6212, 0.1462}},
38302 {
38303 {0.3229, 0.2137, 0.1648, 0.2987},
38304 {0.2703, 0.2327, 0.1777, 0.3193},
38305 {0.3812, 0.1878, 0.1963, 0.2347},
38306 {0.2074, 0.1840, 0.2227, 0.3859}},
38307 {
38308 {0.1257, 0.3284, 0.4532, 0.0928},
38309 {0.2140, 0.3821, 0.1299, 0.2741},
38310 {0.2001, 0.2725, 0.3178, 0.2096},
38311 {0.0828, 0.3373, 0.4249, 0.1550}},
38312 {
38313 {0.1906, 0.1648, 0.5258, 0.1188},
38314 {0.3668, 0.2654, 0.1620, 0.2058},
38315 {0.1784, 0.2549, 0.4141, 0.1526},
38316 {0.1785, 0.2321, 0.5456, 0.0437}},
38317 {
38318 {0.3410, 0.1980, 0.2559, 0.2051},
38319 {0.3109, 0.1855, 0.0977, 0.4059},
38320 {0.4343, 0.2254, 0.1197, 0.2206},
38321 {0.1443, 0.2578, 0.2522, 0.3457}},
38322 {
38323 {0.1661, 0.3118, 0.4250, 0.0971},
38324 {0.1857, 0.3968, 0.1751, 0.2424},
38325 {0.0405, 0.4125, 0.3226, 0.2244},
38326 {0.0736, 0.1815, 0.5118, 0.2331}},
38327 {
38328 {0.2267, 0.1966, 0.3436, 0.2332},
38329 {0.3543, 0.3002, 0.1808, 0.1647},
38330 {0.3139, 0.2144, 0.4172, 0.0545},
38331 {0.0590, 0.2778, 0.5352, 0.1280}},
38332 {
38333 {0.3063, 0.2198, 0.1941, 0.2798},
38334 {0.3527, 0.2878, 0.1359, 0.2236},
38335 {0.5122, 0.1504, 0.1735, 0.1638},
38336 {0.1924, 0.4056, 0.1875, 0.2145}},
38337 {
38338 {0.0884, 0.2624, 0.4888, 0.1604},
38339 {0.2185, 0.3822, 0.1468, 0.2526},
38340 {0.1926, 0.3550, 0.2491, 0.2032},
38341 {0.0772, 0.3502, 0.3983, 0.1743}},
38342 {
38343 {0.2256, 0.2105, 0.5639, 0.0000},
38344 {0.3012, 0.2539, 0.1682, 0.2767},
38345 {0.2513, 0.2287, 0.3899, 0.1301},
38346 {0.0985, 0.0689, 0.6336, 0.1990}},
38347 {
38348 {0.3025, 0.2599, 0.2860, 0.1516},
38349 {0.2173, 0.3015, 0.1190, 0.3621},
38350 {0.3765, 0.2660, 0.1677, 0.1898},
38351 {0.1641, 0.2628, 0.1856, 0.3874}},
38352 {
38353 {0.1174, 0.1866, 0.5163, 0.1797},
38354 {0.1571, 0.4479, 0.1390, 0.2560},
38355 {0.0738, 0.2899, 0.3885, 0.2478},
38356 {0.0671, 0.3213, 0.4800, 0.1316}},
38357 {
38358 {0.1611, 0.1479, 0.4474, 0.2436},
38359 {0.3905, 0.2482, 0.1440, 0.2173},
38360 {0.2513, 0.1991, 0.4112, 0.1384},
38361 {0.1039, 0.2682, 0.5753, 0.0527}},
38362 {
38363 {0.3001, 0.2692, 0.2504, 0.1803},
38364 {0.2178, 0.1893, 0.1822, 0.4108},
38365 {0.2979, 0.2484, 0.2261, 0.2275},
38366 {0.1707, 0.2223, 0.1701, 0.4369}},
38367 {
38368 {0.1186, 0.1800, 0.4746, 0.2268},
38369 {0.2126, 0.3485, 0.1639, 0.2750},
38370 {0.1607, 0.3336, 0.2660, 0.2397},
38371 {0.0960, 0.3562, 0.4128, 0.1350}},
38372 {
38373 {0.2156, 0.2170, 0.4698, 0.0977},
38374 {0.3549, 0.3107, 0.1402, 0.1942},
38375 {0.2783, 0.2461, 0.3974, 0.0782},
38376 {0.0632, 0.1118, 0.7115, 0.1135}},
38377 {
38378 {0.4336, 0.1491, 0.1780, 0.2393},
38379 {0.3175, 0.2330, 0.2455, 0.2040},
38380 {0.4196, 0.2194, 0.1795, 0.1815},
38381 {0.2254, 0.1382, 0.3363, 0.3001}},
38382 {
38383 {0.1196, 0.2735, 0.3835, 0.2234},
38384 {0.1206, 0.4071, 0.1904, 0.2818},
38385 {0.0616, 0.3298, 0.5279, 0.0807},
38386 {0.1465, 0.2663, 0.4458, 0.1414}},
38387 {
38388 {0.2534, 0.2330, 0.3904, 0.1232},
38389 {0.3955, 0.2584, 0.1932, 0.1528},
38390 {0.2438, 0.2525, 0.4175, 0.0863},
38391 {0.0868, 0.1511, 0.5801, 0.1819}},
38392 {
38393 {0.3534, 0.2232, 0.2955, 0.1278},
38394 {0.2804, 0.2426, 0.2281, 0.2489},
38395 {0.4019, 0.2377, 0.1942, 0.1662},
38396 {0.2914, 0.2927, 0.1038, 0.3121}},
38397 {
38398 {0.1567, 0.2168, 0.4996, 0.1269},
38399 {0.1973, 0.4989, 0.1046, 0.1992},
38400 {0.1902, 0.4431, 0.1850, 0.1818},
38401 {0.1431, 0.2770, 0.3542, 0.2256}},
38402 {
38403 {0.2631, 0.2016, 0.4233, 0.1120},
38404 {0.3732, 0.2631, 0.2173, 0.1463},
38405 {0.2617, 0.1559, 0.4090, 0.1734},
38406 {0.0972, 0.1915, 0.5906, 0.1208}},
38407 {
38408 {0.4008, 0.1866, 0.1860, 0.2267},
38409 {0.2823, 0.2199, 0.1458, 0.3521},
38410 {0.4239, 0.1688, 0.2074, 0.1999},
38411 {0.1157, 0.3559, 0.2779, 0.2505}},
38412 {
38413 {0.1987, 0.2789, 0.3847, 0.1378},
38414 {0.1839, 0.3658, 0.1376, 0.3127},
38415 {0.2009, 0.3340, 0.2783, 0.1868},
38416 {0.0424, 0.2942, 0.4569, 0.2065}},
38417 {
38418 {0.2191, 0.1620, 0.4900, 0.1289},
38419 {0.3579, 0.2953, 0.1686, 0.1782},
38420 {0.2147, 0.2228, 0.4204, 0.1421},
38421 {0.1552, 0.2241, 0.4386, 0.1821}},
38422 {
38423 {0.3780, 0.1863, 0.1469, 0.2888},
38424 {0.2494, 0.3072, 0.1122, 0.3312},
38425 {0.4473, 0.2290, 0.1309, 0.1928},
38426 {0.1979, 0.3145, 0.1538, 0.3338}},
38427 {
38428 {0.1021, 0.2826, 0.4622, 0.1531},
38429 {0.1881, 0.4211, 0.1509, 0.2400},
38430 {0.1931, 0.2740, 0.2778, 0.2552},
38431 {0.1129, 0.2668, 0.4694, 0.1510}},
38432 {
38433 {0.2269, 0.2270, 0.2936, 0.2525},
38434 {0.3774, 0.2470, 0.1820, 0.1935},
38435 {0.2488, 0.2563, 0.3834, 0.1114},
38436 {0.2629, 0.1032, 0.5804, 0.0535}},
38437 {
38438 {0.3731, 0.2465, 0.2137, 0.1667},
38439 {0.3467, 0.2614, 0.1551, 0.2368},
38440 {0.4176, 0.2373, 0.1465, 0.1987},
38441 {0.1661, 0.2587, 0.2087, 0.3665}},
38442 {
38443 {0.1770, 0.2749, 0.4697, 0.0784},
38444 {0.2633, 0.3898, 0.1370, 0.2099},
38445 {0.2029, 0.3229, 0.3263, 0.1479},
38446 {0.1058, 0.3096, 0.3984, 0.1863}},
38447 {
38448 {0.3133, 0.1245, 0.4181, 0.1442},
38449 {0.3950, 0.1851, 0.2138, 0.2062},
38450 {0.2812, 0.2020, 0.4008, 0.1160},
38451 {0.1595, 0.1407, 0.5154, 0.1843}},
38452 {
38453 {0.3818, 0.2805, 0.1797, 0.1580},
38454 {0.1957, 0.3110, 0.1793, 0.3140},
38455 {0.3926, 0.1886, 0.2208, 0.1980},
38456 {0.1693, 0.2571, 0.3397, 0.2339}},
38457 {
38458 {0.1951, 0.3447, 0.3739, 0.0862},
38459 {0.2702, 0.3773, 0.0940, 0.2584},
38460 {0.0912, 0.3702, 0.2996, 0.2390},
38461 {0.1258, 0.2700, 0.3870, 0.2172}},
38462 {
38463 {0.1503, 0.2759, 0.3698, 0.2040},
38464 {0.4020, 0.2014, 0.1433, 0.2533},
38465 {0.3188, 0.1975, 0.3451, 0.1386},
38466 {0.1227, 0.2014, 0.5883, 0.0876}},
38467 {
38468 {0.2144, 0.2689, 0.2604, 0.2563},
38469 {0.2393, 0.3274, 0.2123, 0.2210},
38470 {0.4181, 0.2298, 0.1315, 0.2207},
38471 {0.1715, 0.2400, 0.3313, 0.2572}},
38472 {
38473 {0.1734, 0.2552, 0.4257, 0.1456},
38474 {0.1483, 0.4070, 0.1136, 0.3311},
38475 {0.1245, 0.3709, 0.3479, 0.1566},
38476 {0.1024, 0.2445, 0.5556, 0.0975}},
38477 {
38478 {0.3745, 0.2121, 0.2379, 0.1755},
38479 {0.3617, 0.1920, 0.1860, 0.2603},
38480 {0.3022, 0.1610, 0.3820, 0.1548},
38481 {0.1644, 0.2006, 0.3830, 0.2520}},
38482 {
38483 {0.3746, 0.2604, 0.1660, 0.1990},
38484 {0.2079, 0.2563, 0.2051, 0.3306},
38485 {0.3715, 0.2014, 0.2052, 0.2218},
38486 {0.2266, 0.2142, 0.2605, 0.2987}}},
38487
38488 { /* Splice_Site: F2_AG; Species: Chick */
38489 {
38490 {0.2694, 0.2694, 0.2694, 0.2694},
38491 {0.2692, 0.2692, 0.2692, 0.2692},
38492 {0.2774, 0.2774, 0.2774, 0.2774},
38493 {0.1840, 0.1840, 0.1840, 0.1840}},
38494 {
38495 {0.2101, 0.2009, 0.2988, 0.2902},
38496 {0.1794, 0.3219, 0.1004, 0.3984},
38497 {0.2020, 0.3752, 0.2337, 0.1890},
38498 {0.1365, 0.3761, 0.2542, 0.2332}},
38499 {
38500 {0.1681, 0.2760, 0.4416, 0.1143},
38501 {0.1915, 0.4727, 0.1002, 0.2356},
38502 {0.1197, 0.2762, 0.4175, 0.1867},
38503 {0.1224, 0.2472, 0.5417, 0.0887}},
38504 {
38505 {0.2015, 0.2869, 0.2865, 0.2252},
38506 {0.3561, 0.2885, 0.2223, 0.1330},
38507 {0.3017, 0.2386, 0.3626, 0.0971},
38508 {0.0813, 0.3234, 0.4419, 0.1535}},
38509 {
38510 {0.2105, 0.2601, 0.2988, 0.2306},
38511 {0.2507, 0.3472, 0.0458, 0.3563},
38512 {0.2444, 0.2172, 0.2507, 0.2877},
38513 {0.1266, 0.3098, 0.3516, 0.2120}},
38514 {
38515 {0.1386, 0.3671, 0.3780, 0.1163},
38516 {0.2166, 0.3564, 0.1611, 0.2659},
38517 {0.1833, 0.3632, 0.3349, 0.1185},
38518 {0.0752, 0.2959, 0.4758, 0.1531}},
38519 {
38520 {0.2577, 0.2824, 0.3517, 0.1082},
38521 {0.2914, 0.3309, 0.1426, 0.2351},
38522 {0.3361, 0.3216, 0.3154, 0.0270},
38523 {0.1249, 0.2285, 0.2877, 0.3589}},
38524 {
38525 {0.2238, 0.2090, 0.2406, 0.3266},
38526 {0.2929, 0.2950, 0.1582, 0.2539},
38527 {0.2674, 0.3128, 0.2065, 0.2133},
38528 {0.0980, 0.4616, 0.1310, 0.3095}},
38529 {
38530 {0.1106, 0.3256, 0.4080, 0.1558},
38531 {0.1616, 0.4119, 0.1716, 0.2550},
38532 {0.0689, 0.3704, 0.4191, 0.1415},
38533 {0.0641, 0.3676, 0.4582, 0.1101}},
38534 {
38535 {0.1119, 0.1668, 0.5055, 0.2158},
38536 {0.3070, 0.2123, 0.1746, 0.3061},
38537 {0.2002, 0.2454, 0.3918, 0.1626},
38538 {0.0983, 0.3874, 0.3828, 0.1315}},
38539 {
38540 {0.2251, 0.2031, 0.2660, 0.3058},
38541 {0.3116, 0.2831, 0.0000, 0.4052},
38542 {0.1961, 0.3675, 0.2173, 0.2191},
38543 {0.1240, 0.3143, 0.1961, 0.3656}},
38544 {
38545 {0.1581, 0.1798, 0.5267, 0.1353},
38546 {0.1473, 0.5361, 0.0868, 0.2298},
38547 {0.0730, 0.5466, 0.2773, 0.1031},
38548 {0.0542, 0.3014, 0.5175, 0.1269}},
38549 {
38550 {0.3178, 0.3179, 0.1637, 0.2006},
38551 {0.2643, 0.3310, 0.1600, 0.2447},
38552 {0.2574, 0.2191, 0.3862, 0.1373},
38553 {0.0566, 0.3339, 0.3049, 0.3046}},
38554 {
38555 {0.2139, 0.3614, 0.1271, 0.2976},
38556 {0.2588, 0.3338, 0.0910, 0.3164},
38557 {0.2660, 0.2810, 0.2701, 0.1829},
38558 {0.1009, 0.3723, 0.2680, 0.2588}},
38559 {
38560 {0.1847, 0.2207, 0.3940, 0.2006},
38561 {0.3543, 0.3228, 0.1592, 0.1637},
38562 {0.1411, 0.4305, 0.3110, 0.1174},
38563 {0.0326, 0.2399, 0.5007, 0.2267}},
38564 {
38565 {0.2082, 0.3213, 0.3803, 0.0901},
38566 {0.2928, 0.2306, 0.1331, 0.3436},
38567 {0.2362, 0.2952, 0.2814, 0.1872},
38568 {0.1411, 0.1894, 0.4294, 0.2401}},
38569 {
38570 {0.2435, 0.2102, 0.2439, 0.3024},
38571 {0.2151, 0.2941, 0.1200, 0.3708},
38572 {0.2771, 0.2742, 0.2623, 0.1864},
38573 {0.1502, 0.3692, 0.2504, 0.2301}},
38574 {
38575 {0.1513, 0.3987, 0.3674, 0.0826},
38576 {0.2509, 0.4956, 0.0915, 0.1620},
38577 {0.0974, 0.4627, 0.3656, 0.0744},
38578 {0.1110, 0.3198, 0.3909, 0.1783}},
38579 {
38580 {0.3386, 0.2011, 0.2717, 0.1886},
38581 {0.2381, 0.3179, 0.1842, 0.2598},
38582 {0.3340, 0.1886, 0.3730, 0.1044},
38583 {0.0331, 0.2591, 0.3261, 0.3817}},
38584 {
38585 {0.3003, 0.2037, 0.2784, 0.2176},
38586 {0.1853, 0.3998, 0.2104, 0.2044},
38587 {0.3196, 0.2536, 0.2230, 0.2038},
38588 {0.0555, 0.3594, 0.3173, 0.2678}},
38589 {
38590 {0.1418, 0.3734, 0.4244, 0.0603},
38591 {0.2405, 0.4325, 0.1158, 0.2113},
38592 {0.0876, 0.3816, 0.4108, 0.1199},
38593 {0.0378, 0.3506, 0.3924, 0.2191}},
38594 {
38595 {0.1864, 0.4030, 0.2809, 0.1297},
38596 {0.3164, 0.3139, 0.2042, 0.1655},
38597 {0.3117, 0.2776, 0.2654, 0.1452},
38598 {0.0554, 0.3544, 0.2606, 0.3296}},
38599 {
38600 {0.2359, 0.3249, 0.2162, 0.2230},
38601 {0.2584, 0.3355, 0.0946, 0.3115},
38602 {0.2573, 0.3238, 0.1434, 0.2755},
38603 {0.0457, 0.2620, 0.3058, 0.3865}},
38604 {
38605 {0.0817, 0.3909, 0.4274, 0.1001},
38606 {0.2476, 0.3861, 0.1812, 0.1851},
38607 {0.0998, 0.3130, 0.4432, 0.1441},
38608 {0.0592, 0.2939, 0.4663, 0.1805}},
38609 {
38610 {0.1291, 0.2007, 0.5071, 0.1632},
38611 {0.2856, 0.2645, 0.1135, 0.3365},
38612 {0.2880, 0.2064, 0.3236, 0.1819},
38613 {0.0816, 0.2762, 0.4349, 0.2073}},
38614 {
38615 {0.1616, 0.3736, 0.1881, 0.2767},
38616 {0.1484, 0.2164, 0.1319, 0.5033},
38617 {0.2111, 0.3886, 0.1509, 0.2493},
38618 {0.1054, 0.2243, 0.2903, 0.3800}},
38619 {
38620 {0.1385, 0.2944, 0.4379, 0.1292},
38621 {0.2861, 0.4415, 0.1033, 0.1690},
38622 {0.1145, 0.4638, 0.3011, 0.1206},
38623 {0.0995, 0.3619, 0.4332, 0.1054}},
38624 {
38625 {0.2372, 0.2105, 0.3827, 0.1696},
38626 {0.2278, 0.2775, 0.1999, 0.2948},
38627 {0.2926, 0.2093, 0.3880, 0.1101},
38628 {0.0986, 0.3237, 0.2735, 0.3042}},
38629 {
38630 {0.2920, 0.2396, 0.1734, 0.2950},
38631 {0.2094, 0.3328, 0.1380, 0.3198},
38632 {0.1200, 0.3619, 0.2966, 0.2215},
38633 {0.0981, 0.4287, 0.2725, 0.2006}},
38634 {
38635 {0.1723, 0.2181, 0.4872, 0.1224},
38636 {0.2565, 0.5164, 0.0915, 0.1356},
38637 {0.1588, 0.3835, 0.3056, 0.1521},
38638 {0.1477, 0.1853, 0.5310, 0.1360}},
38639 {
38640 {0.2500, 0.2003, 0.3900, 0.1597},
38641 {0.3008, 0.4019, 0.1243, 0.1730},
38642 {0.2785, 0.1737, 0.4270, 0.1208},
38643 {0.0680, 0.3621, 0.3567, 0.2131}},
38644 {
38645 {0.3768, 0.2283, 0.2413, 0.1536},
38646 {0.2408, 0.2822, 0.1235, 0.3535},
38647 {0.2642, 0.3305, 0.2065, 0.1988},
38648 {0.1630, 0.2976, 0.2718, 0.2676}},
38649 {
38650 {0.1295, 0.2777, 0.4812, 0.1117},
38651 {0.2524, 0.3804, 0.1850, 0.1822},
38652 {0.2013, 0.2767, 0.4107, 0.1113},
38653 {0.0924, 0.3064, 0.4970, 0.1042}},
38654 {
38655 {0.3737, 0.1292, 0.2897, 0.2074},
38656 {0.1914, 0.2793, 0.1648, 0.3645},
38657 {0.2657, 0.2083, 0.4360, 0.0900},
38658 {0.0990, 0.2347, 0.4290, 0.2373}},
38659 {
38660 {0.2159, 0.3036, 0.2601, 0.2204},
38661 {0.2448, 0.3401, 0.1811, 0.2341},
38662 {0.2793, 0.2502, 0.2392, 0.2314},
38663 {0.1643, 0.2992, 0.1848, 0.3516}},
38664 {
38665 {0.0726, 0.3731, 0.4437, 0.1107},
38666 {0.2095, 0.4566, 0.1401, 0.1937},
38667 {0.2422, 0.2814, 0.3348, 0.1416},
38668 {0.0528, 0.3498, 0.4273, 0.1701}},
38669 {
38670 {0.2147, 0.2070, 0.4555, 0.1228},
38671 {0.2778, 0.3717, 0.1138, 0.2367},
38672 {0.3045, 0.2049, 0.3428, 0.1478},
38673 {0.0291, 0.3909, 0.3624, 0.2176}},
38674 {
38675 {0.3307, 0.2714, 0.1655, 0.2324},
38676 {0.2067, 0.3278, 0.1474, 0.3181},
38677 {0.2383, 0.3377, 0.2634, 0.1606},
38678 {0.2072, 0.2515, 0.4061, 0.1352}},
38679 {
38680 {0.2107, 0.2806, 0.3782, 0.1306},
38681 {0.3384, 0.3600, 0.1104, 0.1911},
38682 {0.1613, 0.4760, 0.2495, 0.1132},
38683 {0.0756, 0.4432, 0.4019, 0.0793}},
38684 {
38685 {0.2052, 0.2631, 0.4452, 0.0865},
38686 {0.3830, 0.2802, 0.1217, 0.2150},
38687 {0.2380, 0.2969, 0.3521, 0.1130},
38688 {0.0925, 0.2264, 0.5016, 0.1795}},
38689 {
38690 {0.2624, 0.1839, 0.2867, 0.2670},
38691 {0.2733, 0.2361, 0.1887, 0.3019},
38692 {0.2276, 0.3220, 0.1742, 0.2763},
38693 {0.1128, 0.2501, 0.3155, 0.3215}},
38694 {
38695 {0.2010, 0.2835, 0.4375, 0.0779},
38696 {0.2676, 0.4008, 0.1353, 0.1963},
38697 {0.0739, 0.4318, 0.4023, 0.0920},
38698 {0.0438, 0.3312, 0.5138, 0.1113}},
38699 {
38700 {0.2349, 0.2897, 0.4135, 0.0619},
38701 {0.2824, 0.3342, 0.1804, 0.2029},
38702 {0.2212, 0.2981, 0.3625, 0.1182},
38703 {0.1841, 0.3791, 0.3580, 0.0788}},
38704 {
38705 {0.3033, 0.1683, 0.2195, 0.3089},
38706 {0.2984, 0.2380, 0.1917, 0.2719},
38707 {0.3539, 0.1338, 0.2826, 0.2297},
38708 {0.2284, 0.4823, 0.1978, 0.0915}},
38709 {
38710 {0.1705, 0.3079, 0.3949, 0.1267},
38711 {0.1819, 0.2933, 0.3181, 0.2067},
38712 {0.1766, 0.3448, 0.3459, 0.1328},
38713 {0.1233, 0.2398, 0.5642, 0.0726}},
38714 {
38715 {0.1947, 0.1803, 0.5448, 0.0802},
38716 {0.4413, 0.1873, 0.0697, 0.3016},
38717 {0.3089, 0.2459, 0.3476, 0.0975},
38718 {0.0696, 0.2898, 0.3861, 0.2544}},
38719 {
38720 {0.2222, 0.2509, 0.2516, 0.2753},
38721 {0.3088, 0.2285, 0.1890, 0.2737},
38722 {0.3036, 0.1825, 0.1833, 0.3306},
38723 {0.2784, 0.1680, 0.2780, 0.2756}},
38724 {
38725 {0.1594, 0.3159, 0.4152, 0.1094},
38726 {0.2666, 0.3675, 0.1241, 0.2419},
38727 {0.2104, 0.5150, 0.2127, 0.0619},
38728 {0.0435, 0.2553, 0.6130, 0.0882}},
38729 {
38730 {0.2160, 0.1894, 0.5121, 0.0824},
38731 {0.4153, 0.3017, 0.1503, 0.1327},
38732 {0.3769, 0.1553, 0.4245, 0.0433},
38733 {0.0000, 0.2162, 0.6732, 0.1107}},
38734 {
38735 {0.3470, 0.3981, 0.1896, 0.0653},
38736 {0.2178, 0.5786, 0.1632, 0.0403},
38737 {0.2583, 0.3537, 0.2955, 0.0925},
38738 {0.0478, 0.8545, 0.0978, 0.0000}},
38739 {
38740 {1.0000, 0.0000, 0.0000, 0.0000},
38741 {1.0000, 0.0000, 0.0000, 0.0000},
38742 {1.0000, 0.0000, 0.0000, 0.0000},
38743 {1.0000, 0.0000, 0.0000, 0.0000}},
38744 {
38745 {0.0000, 0.0000, 1.0000, 0.0000},
38746 {0.0000, 0.0000, 0.0000, 0.0000},
38747 {0.0000, 0.0000, 0.0000, 0.0000},
38748 {0.0000, 0.0000, 0.0000, 0.0000}},
38749 {
38750 {0.0000, 0.0000, 0.0000, 0.0000},
38751 {0.0000, 0.0000, 0.0000, 0.0000},
38752 {0.2838, 0.2826, 0.2466, 0.1870},
38753 {0.0000, 0.0000, 0.0000, 0.0000}},
38754 {
38755 {0.2215, 0.0750, 0.5712, 0.1322},
38756 {0.1843, 0.4539, 0.1997, 0.1621},
38757 {0.1939, 0.2273, 0.3430, 0.2358},
38758 {0.1152, 0.1784, 0.6099, 0.0965}},
38759 {
38760 {0.3394, 0.1437, 0.4501, 0.0668},
38761 {0.3786, 0.1401, 0.2426, 0.2387},
38762 {0.3460, 0.2292, 0.3600, 0.0647},
38763 {0.1589, 0.2708, 0.4425, 0.1279}},
38764 {
38765 {0.2777, 0.2836, 0.2817, 0.1569},
38766 {0.2431, 0.2198, 0.1710, 0.3662},
38767 {0.3068, 0.3294, 0.1586, 0.2052},
38768 {0.1090, 0.3752, 0.2149, 0.3008}},
38769 {
38770 {0.1866, 0.3722, 0.3558, 0.0854},
38771 {0.1613, 0.4340, 0.1640, 0.2407},
38772 {0.1889, 0.2932, 0.4540, 0.0639},
38773 {0.0532, 0.2428, 0.6658, 0.0382}},
38774 {
38775 {0.1194, 0.2990, 0.3815, 0.2001},
38776 {0.3641, 0.2062, 0.2430, 0.1867},
38777 {0.3267, 0.1998, 0.3864, 0.0872},
38778 {0.0769, 0.3546, 0.4512, 0.1174}},
38779 {
38780 {0.3279, 0.1433, 0.2942, 0.2346},
38781 {0.2437, 0.3152, 0.1616, 0.2794},
38782 {0.3151, 0.2414, 0.2121, 0.2314},
38783 {0.0943, 0.2614, 0.4561, 0.1881}},
38784 {
38785 {0.2172, 0.1959, 0.4581, 0.1288},
38786 {0.2282, 0.5140, 0.1495, 0.1083},
38787 {0.1813, 0.4034, 0.2686, 0.1467},
38788 {0.1839, 0.2195, 0.4890, 0.1077}},
38789 {
38790 {0.2835, 0.1772, 0.3930, 0.1463},
38791 {0.3320, 0.1968, 0.1469, 0.3243},
38792 {0.3440, 0.1280, 0.3254, 0.2026},
38793 {0.0655, 0.2442, 0.5907, 0.0995}},
38794 {
38795 {0.2697, 0.2273, 0.3139, 0.1891},
38796 {0.2424, 0.3247, 0.1483, 0.2846},
38797 {0.2206, 0.2814, 0.2459, 0.2520},
38798 {0.1587, 0.2529, 0.3337, 0.2548}},
38799 {
38800 {0.1783, 0.2518, 0.4914, 0.0785},
38801 {0.2551, 0.3912, 0.1397, 0.2140},
38802 {0.1434, 0.3000, 0.4053, 0.1513},
38803 {0.0557, 0.2730, 0.5453, 0.1259}},
38804 {
38805 {0.1641, 0.2518, 0.5065, 0.0776},
38806 {0.4527, 0.1938, 0.2103, 0.1431},
38807 {0.2553, 0.1899, 0.4299, 0.1249},
38808 {0.0579, 0.3333, 0.3064, 0.3024}},
38809 {
38810 {0.3594, 0.2474, 0.1925, 0.2008},
38811 {0.2121, 0.3794, 0.1542, 0.2542},
38812 {0.2896, 0.2768, 0.2725, 0.1610},
38813 {0.1763, 0.2986, 0.3217, 0.2034}},
38814 {
38815 {0.3035, 0.2282, 0.3384, 0.1298},
38816 {0.1845, 0.3362, 0.1870, 0.2923},
38817 {0.2051, 0.4186, 0.2063, 0.1700},
38818 {0.1083, 0.2199, 0.4754, 0.1965}},
38819 {
38820 {0.1850, 0.1393, 0.4697, 0.2061},
38821 {0.3004, 0.3319, 0.1553, 0.2123},
38822 {0.2356, 0.1860, 0.4724, 0.1060},
38823 {0.1333, 0.3095, 0.4035, 0.1537}},
38824 {
38825 {0.3236, 0.2156, 0.1913, 0.2695},
38826 {0.1776, 0.3623, 0.1552, 0.3049},
38827 {0.2573, 0.1777, 0.3355, 0.2296},
38828 {0.1553, 0.3321, 0.3557, 0.1569}},
38829 {
38830 {0.1665, 0.2747, 0.4320, 0.1268},
38831 {0.1979, 0.3971, 0.2331, 0.1719},
38832 {0.0999, 0.3040, 0.4322, 0.1639},
38833 {0.0384, 0.3067, 0.4603, 0.1947}},
38834 {
38835 {0.3453, 0.2009, 0.2749, 0.1789},
38836 {0.2934, 0.2208, 0.2839, 0.2020},
38837 {0.3405, 0.1680, 0.3819, 0.1097},
38838 {0.0553, 0.2978, 0.4915, 0.1554}},
38839 {
38840 {0.2178, 0.2229, 0.3260, 0.2334},
38841 {0.2719, 0.3171, 0.2068, 0.2042},
38842 {0.3193, 0.2883, 0.2049, 0.1875},
38843 {0.1719, 0.3535, 0.2492, 0.2254}},
38844 {
38845 {0.2387, 0.2241, 0.4368, 0.1004},
38846 {0.2453, 0.3561, 0.1688, 0.2298},
38847 {0.1566, 0.2997, 0.3473, 0.1964},
38848 {0.0587, 0.3397, 0.4604, 0.1412}},
38849 {
38850 {0.3598, 0.1411, 0.4348, 0.0644},
38851 {0.4157, 0.2827, 0.2134, 0.0883},
38852 {0.2748, 0.2444, 0.3283, 0.1525},
38853 {0.2018, 0.1542, 0.3899, 0.2541}},
38854 {
38855 {0.2737, 0.2728, 0.1738, 0.2798},
38856 {0.1730, 0.3087, 0.2194, 0.2988},
38857 {0.3890, 0.2912, 0.2268, 0.0930},
38858 {0.2296, 0.2466, 0.2575, 0.2663}},
38859 {
38860 {0.1370, 0.4034, 0.3976, 0.0620},
38861 {0.1670, 0.3582, 0.2170, 0.2578},
38862 {0.2273, 0.3651, 0.3464, 0.0612},
38863 {0.0559, 0.3136, 0.4875, 0.1431}},
38864 {
38865 {0.1762, 0.2239, 0.4568, 0.1431},
38866 {0.2746, 0.3524, 0.1712, 0.2018},
38867 {0.2287, 0.2649, 0.3837, 0.1228},
38868 {0.0339, 0.3596, 0.4480, 0.1585}},
38869 {
38870 {0.3272, 0.1651, 0.2474, 0.2603},
38871 {0.1762, 0.3522, 0.2472, 0.2244},
38872 {0.1915, 0.2500, 0.2424, 0.3162},
38873 {0.1618, 0.2732, 0.3477, 0.2173}},
38874 {
38875 {0.2062, 0.3621, 0.3520, 0.0798},
38876 {0.2310, 0.4219, 0.1494, 0.1977},
38877 {0.1148, 0.3666, 0.3853, 0.1333},
38878 {0.1805, 0.2114, 0.4938, 0.1142}},
38879 {
38880 {0.3552, 0.2475, 0.2809, 0.1164},
38881 {0.3503, 0.2688, 0.1651, 0.2158},
38882 {0.2499, 0.2810, 0.3932, 0.0760},
38883 {0.0000, 0.1979, 0.7018, 0.1003}},
38884 {
38885 {0.3365, 0.1404, 0.2254, 0.2978},
38886 {0.2376, 0.2700, 0.2370, 0.2554},
38887 {0.1939, 0.2941, 0.2551, 0.2569},
38888 {0.0617, 0.3798, 0.1931, 0.3653}},
38889 {
38890 {0.1770, 0.3725, 0.3892, 0.0612},
38891 {0.1681, 0.3862, 0.2798, 0.1659},
38892 {0.1318, 0.3130, 0.3333, 0.2220},
38893 {0.0766, 0.3165, 0.5502, 0.0567}},
38894 {
38895 {0.4521, 0.0975, 0.2815, 0.1689},
38896 {0.2754, 0.2930, 0.2027, 0.2288},
38897 {0.2417, 0.2324, 0.3859, 0.1401},
38898 {0.0000, 0.4508, 0.3462, 0.2030}},
38899 {
38900 {0.3751, 0.1561, 0.3434, 0.1253},
38901 {0.3129, 0.2225, 0.1297, 0.3348},
38902 {0.2694, 0.3003, 0.1721, 0.2582},
38903 {0.1180, 0.3563, 0.3553, 0.1704}},
38904 {
38905 {0.1516, 0.3959, 0.4071, 0.0454},
38906 {0.0902, 0.5546, 0.1182, 0.2371},
38907 {0.1261, 0.3584, 0.3507, 0.1648},
38908 {0.0762, 0.3255, 0.4831, 0.1152}},
38909 {
38910 {0.2643, 0.3236, 0.3334, 0.0786},
38911 {0.3127, 0.3182, 0.1732, 0.1959},
38912 {0.3208, 0.1961, 0.3366, 0.1466},
38913 {0.0331, 0.2504, 0.4325, 0.2840}},
38914 {
38915 {0.3016, 0.2402, 0.2833, 0.1749},
38916 {0.1129, 0.3339, 0.2591, 0.2942},
38917 {0.2774, 0.2464, 0.2375, 0.2386},
38918 {0.2620, 0.3155, 0.1682, 0.2543}},
38919 {
38920 {0.2596, 0.2273, 0.3598, 0.1534},
38921 {0.3220, 0.3733, 0.1353, 0.1694},
38922 {0.1079, 0.3639, 0.3178, 0.2104},
38923 {0.0919, 0.3543, 0.4973, 0.0566}},
38924 {
38925 {0.2207, 0.1152, 0.4443, 0.2199},
38926 {0.3558, 0.2917, 0.1557, 0.1968},
38927 {0.1853, 0.3114, 0.3521, 0.1511},
38928 {0.0831, 0.2640, 0.3859, 0.2670}},
38929 {
38930 {0.2804, 0.2444, 0.1893, 0.2860},
38931 {0.1990, 0.3562, 0.1103, 0.3345},
38932 {0.3555, 0.1795, 0.1945, 0.2705},
38933 {0.1173, 0.3825, 0.2789, 0.2213}},
38934 {
38935 {0.2093, 0.2804, 0.3343, 0.1759},
38936 {0.2598, 0.3935, 0.1125, 0.2343},
38937 {0.1446, 0.3810, 0.3837, 0.0907},
38938 {0.0929, 0.3201, 0.4782, 0.1088}},
38939 {
38940 {0.3167, 0.2211, 0.2920, 0.1702},
38941 {0.5284, 0.1924, 0.0744, 0.2048},
38942 {0.3532, 0.2457, 0.2969, 0.1042},
38943 {0.1059, 0.1161, 0.5547, 0.2233}},
38944 {
38945 {0.3651, 0.2087, 0.1921, 0.2340},
38946 {0.1768, 0.2366, 0.1496, 0.4369},
38947 {0.2821, 0.3041, 0.2185, 0.1952},
38948 {0.0270, 0.2872, 0.3341, 0.3517}},
38949 {
38950 {0.2756, 0.2834, 0.3683, 0.0727},
38951 {0.2229, 0.4335, 0.1715, 0.1721},
38952 {0.1595, 0.4162, 0.3193, 0.1051},
38953 {0.0300, 0.3602, 0.4164, 0.1933}},
38954 {
38955 {0.1264, 0.3434, 0.3797, 0.1504},
38956 {0.2457, 0.3174, 0.2009, 0.2359},
38957 {0.2304, 0.2726, 0.3509, 0.1461},
38958 {0.2193, 0.3709, 0.3151, 0.0946}},
38959 {
38960 {0.1833, 0.2163, 0.2503, 0.3502},
38961 {0.3198, 0.3645, 0.1387, 0.1771},
38962 {0.1770, 0.2803, 0.3536, 0.1891},
38963 {0.1789, 0.1778, 0.4671, 0.1762}},
38964 {
38965 {0.1151, 0.2915, 0.4521, 0.1413},
38966 {0.2256, 0.3300, 0.2087, 0.2357},
38967 {0.1335, 0.2877, 0.3535, 0.2252},
38968 {0.0847, 0.2589, 0.5343, 0.1221}},
38969 {
38970 {0.1509, 0.1318, 0.5317, 0.1856},
38971 {0.2867, 0.2709, 0.1935, 0.2490},
38972 {0.2970, 0.3039, 0.2334, 0.1657},
38973 {0.0709, 0.2314, 0.4194, 0.2783}},
38974 {
38975 {0.3883, 0.2390, 0.1489, 0.2238},
38976 {0.3138, 0.3319, 0.1732, 0.1811},
38977 {0.2223, 0.2915, 0.2491, 0.2370},
38978 {0.1661, 0.3300, 0.2835, 0.2204}},
38979 {
38980 {0.0949, 0.2804, 0.4812, 0.1436},
38981 {0.3320, 0.2315, 0.2567, 0.1798},
38982 {0.0811, 0.3272, 0.4261, 0.1656},
38983 {0.1202, 0.3542, 0.3227, 0.2028}},
38984 {
38985 {0.3695, 0.2036, 0.2943, 0.1326},
38986 {0.3660, 0.2772, 0.2090, 0.1478},
38987 {0.2590, 0.2691, 0.3289, 0.1430},
38988 {0.0760, 0.2012, 0.3813, 0.3414}},
38989 {
38990 {0.1554, 0.3299, 0.3903, 0.1245},
38991 {0.3324, 0.2559, 0.1568, 0.2549},
38992 {0.2076, 0.2583, 0.2828, 0.2513},
38993 {0.1731, 0.2761, 0.3267, 0.2241}},
38994 {
38995 {0.1815, 0.3413, 0.3192, 0.1581},
38996 {0.2943, 0.3329, 0.1483, 0.2245},
38997 {0.1634, 0.3122, 0.3640, 0.1604},
38998 {0.0633, 0.3299, 0.4038, 0.2031}}},
38999
39000 { /* Splice_Site: F0_AG; Species: Chick */
39001 {
39002 {0.2213, 0.2213, 0.2213, 0.2213},
39003 {0.2864, 0.2864, 0.2864, 0.2864},
39004 {0.3493, 0.3493, 0.3493, 0.3493},
39005 {0.1430, 0.1430, 0.1430, 0.1430}},
39006 {
39007 {0.1275, 0.2139, 0.3543, 0.3043},
39008 {0.1674, 0.4331, 0.0648, 0.3348},
39009 {0.1619, 0.4387, 0.1834, 0.2160},
39010 {0.0000, 0.3985, 0.4681, 0.1334}},
39011 {
39012 {0.3679, 0.0705, 0.3519, 0.2098},
39013 {0.4265, 0.2227, 0.2029, 0.1480},
39014 {0.0873, 0.2857, 0.3722, 0.2548},
39015 {0.1084, 0.3001, 0.3724, 0.2190}},
39016 {
39017 {0.1490, 0.2174, 0.4110, 0.2226},
39018 {0.1226, 0.3238, 0.1946, 0.3589},
39019 {0.1868, 0.4179, 0.2432, 0.1521},
39020 {0.2483, 0.2384, 0.2304, 0.2829}},
39021 {
39022 {0.1622, 0.3319, 0.2853, 0.2206},
39023 {0.2803, 0.3369, 0.1573, 0.2255},
39024 {0.0995, 0.4160, 0.2441, 0.2404},
39025 {0.0000, 0.3501, 0.4576, 0.1923}},
39026 {
39027 {0.1345, 0.1923, 0.4706, 0.2026},
39028 {0.5063, 0.2073, 0.1835, 0.1029},
39029 {0.1456, 0.4384, 0.2454, 0.1706},
39030 {0.1723, 0.2225, 0.5612, 0.0440}},
39031 {
39032 {0.1715, 0.2760, 0.3790, 0.1735},
39033 {0.4888, 0.1759, 0.0998, 0.2356},
39034 {0.3907, 0.2041, 0.2338, 0.1714},
39035 {0.2358, 0.3794, 0.1489, 0.2359}},
39036 {
39037 {0.1165, 0.2305, 0.5103, 0.1427},
39038 {0.3169, 0.3556, 0.2096, 0.1179},
39039 {0.0000, 0.5022, 0.3337, 0.1641},
39040 {0.0000, 0.1473, 0.5096, 0.3430}},
39041 {
39042 {0.0866, 0.4216, 0.2377, 0.2541},
39043 {0.3484, 0.3444, 0.0899, 0.2173},
39044 {0.2614, 0.2546, 0.3399, 0.1441},
39045 {0.0997, 0.2703, 0.5792, 0.0508}},
39046 {
39047 {0.2353, 0.2382, 0.3679, 0.1586},
39048 {0.1884, 0.3715, 0.0913, 0.3489},
39049 {0.2196, 0.2910, 0.2571, 0.2323},
39050 {0.1162, 0.2925, 0.3600, 0.2314}},
39051 {
39052 {0.1462, 0.5683, 0.2855, 0.0000},
39053 {0.2456, 0.4671, 0.1930, 0.0944},
39054 {0.0000, 0.6220, 0.2262, 0.1518},
39055 {0.1193, 0.3444, 0.3473, 0.1891}},
39056 {
39057 {0.1384, 0.3661, 0.2810, 0.2145},
39058 {0.3669, 0.2163, 0.2091, 0.2077},
39059 {0.1476, 0.3371, 0.2970, 0.2183},
39060 {0.2498, 0.3353, 0.2519, 0.1630}},
39061 {
39062 {0.3593, 0.1040, 0.3580, 0.1787},
39063 {0.1999, 0.4903, 0.1398, 0.1700},
39064 {0.2678, 0.1558, 0.3025, 0.2739},
39065 {0.0434, 0.2808, 0.3577, 0.3181}},
39066 {
39067 {0.0834, 0.2456, 0.5062, 0.1648},
39068 {0.2642, 0.2976, 0.2189, 0.2193},
39069 {0.1348, 0.5269, 0.2037, 0.1346},
39070 {0.0000, 0.3768, 0.4561, 0.1671}},
39071 {
39072 {0.2262, 0.3118, 0.1589, 0.3031},
39073 {0.4407, 0.2052, 0.0747, 0.2794},
39074 {0.2024, 0.2587, 0.3977, 0.1412},
39075 {0.3422, 0.2777, 0.3252, 0.0549}},
39076 {
39077 {0.2453, 0.1780, 0.4563, 0.1205},
39078 {0.1989, 0.4185, 0.1549, 0.2277},
39079 {0.4121, 0.1989, 0.0818, 0.3072},
39080 {0.1882, 0.3883, 0.2334, 0.1901}},
39081 {
39082 {0.0374, 0.4049, 0.3319, 0.2258},
39083 {0.1629, 0.6036, 0.0667, 0.1668},
39084 {0.0754, 0.6196, 0.1902, 0.1148},
39085 {0.0000, 0.2808, 0.4914, 0.2278}},
39086 {
39087 {0.2422, 0.1219, 0.3843, 0.2516},
39088 {0.4159, 0.2935, 0.0970, 0.1935},
39089 {0.1495, 0.1501, 0.5878, 0.1125},
39090 {0.2562, 0.2665, 0.3223, 0.1550}},
39091 {
39092 {0.2220, 0.1171, 0.4097, 0.2512},
39093 {0.1599, 0.5181, 0.0787, 0.2432},
39094 {0.3363, 0.2337, 0.2658, 0.1642},
39095 {0.1135, 0.3902, 0.3329, 0.1634}},
39096 {
39097 {0.2198, 0.2640, 0.2983, 0.2178},
39098 {0.1296, 0.4206, 0.1966, 0.2533},
39099 {0.1375, 0.4491, 0.1004, 0.3130},
39100 {0.0000, 0.4970, 0.0946, 0.4084}},
39101 {
39102 {0.3032, 0.3766, 0.3202, 0.0000},
39103 {0.3956, 0.2062, 0.1902, 0.2080},
39104 {0.2786, 0.2782, 0.3946, 0.0485},
39105 {0.1349, 0.2273, 0.4766, 0.1611}},
39106 {
39107 {0.2039, 0.1689, 0.4334, 0.1938},
39108 {0.2715, 0.4199, 0.1950, 0.1136},
39109 {0.4155, 0.2669, 0.1722, 0.1454},
39110 {0.1365, 0.3261, 0.3294, 0.2079}},
39111 {
39112 {0.1048, 0.3789, 0.3470, 0.1693},
39113 {0.1016, 0.5635, 0.0719, 0.2630},
39114 {0.1354, 0.4516, 0.2692, 0.1438},
39115 {0.0000, 0.3506, 0.2977, 0.3516}},
39116 {
39117 {0.3119, 0.1905, 0.1958, 0.3018},
39118 {0.3185, 0.3170, 0.1913, 0.1731},
39119 {0.1168, 0.2012, 0.4868, 0.1953},
39120 {0.2674, 0.1691, 0.3894, 0.1741}},
39121 {
39122 {0.1862, 0.2561, 0.4867, 0.0711},
39123 {0.1497, 0.4249, 0.0369, 0.3886},
39124 {0.3779, 0.1234, 0.2210, 0.2777},
39125 {0.1486, 0.3072, 0.2428, 0.3014}},
39126 {
39127 {0.0819, 0.3359, 0.3719, 0.2103},
39128 {0.2562, 0.4614, 0.0691, 0.2132},
39129 {0.0389, 0.5418, 0.1852, 0.2341},
39130 {0.0000, 0.4803, 0.3746, 0.1451}},
39131 {
39132 {0.1949, 0.4027, 0.2989, 0.1036},
39133 {0.4629, 0.2913, 0.1241, 0.1218},
39134 {0.1894, 0.3055, 0.3932, 0.1119},
39135 {0.1971, 0.2351, 0.3737, 0.1941}},
39136 {
39137 {0.1800, 0.1518, 0.4319, 0.2364},
39138 {0.4477, 0.2915, 0.0965, 0.1643},
39139 {0.3317, 0.2605, 0.2969, 0.1109},
39140 {0.2997, 0.3546, 0.2023, 0.1434}},
39141 {
39142 {0.1212, 0.3025, 0.5178, 0.0584},
39143 {0.2341, 0.4597, 0.1568, 0.1494},
39144 {0.0000, 0.6770, 0.2155, 0.1075},
39145 {0.0000, 0.3297, 0.4010, 0.2693}},
39146 {
39147 {0.2988, 0.2165, 0.2896, 0.1951},
39148 {0.4762, 0.2330, 0.0845, 0.2062},
39149 {0.1473, 0.1783, 0.5250, 0.1494},
39150 {0.1429, 0.1438, 0.4920, 0.2214}},
39151 {
39152 {0.3450, 0.1856, 0.3137, 0.1557},
39153 {0.2318, 0.4823, 0.1414, 0.1445},
39154 {0.3111, 0.3467, 0.2779, 0.0643},
39155 {0.0000, 0.4496, 0.2977, 0.2528}},
39156 {
39157 {0.2703, 0.1573, 0.4991, 0.0734},
39158 {0.2730, 0.5013, 0.0847, 0.1411},
39159 {0.1373, 0.5798, 0.2088, 0.0741},
39160 {0.0000, 0.1995, 0.5419, 0.2586}},
39161 {
39162 {0.2872, 0.1398, 0.4791, 0.0939},
39163 {0.4846, 0.2223, 0.1483, 0.1448},
39164 {0.2275, 0.3745, 0.2957, 0.1023},
39165 {0.1565, 0.2266, 0.4560, 0.1610}},
39166 {
39167 {0.2008, 0.1993, 0.5175, 0.0825},
39168 {0.1985, 0.4488, 0.1937, 0.1590},
39169 {0.3596, 0.3258, 0.1562, 0.1584},
39170 {0.1492, 0.3810, 0.1512, 0.3186}},
39171 {
39172 {0.2021, 0.2340, 0.3595, 0.2044},
39173 {0.1774, 0.6152, 0.0887, 0.1187},
39174 {0.1670, 0.3316, 0.4338, 0.0676},
39175 {0.0664, 0.3041, 0.2532, 0.3763}},
39176 {
39177 {0.4058, 0.3028, 0.1771, 0.1142},
39178 {0.2403, 0.2369, 0.1214, 0.4013},
39179 {0.2410, 0.2421, 0.3765, 0.1404},
39180 {0.2317, 0.4138, 0.1752, 0.1793}},
39181 {
39182 {0.1729, 0.0000, 0.5761, 0.2510},
39183 {0.1694, 0.5192, 0.1373, 0.1741},
39184 {0.3114, 0.3650, 0.2740, 0.0495},
39185 {0.0771, 0.3493, 0.3467, 0.2270}},
39186 {
39187 {0.1075, 0.3729, 0.4690, 0.0505},
39188 {0.1280, 0.4338, 0.2193, 0.2188},
39189 {0.0279, 0.4851, 0.3698, 0.1172},
39190 {0.0000, 0.4192, 0.3191, 0.2617}},
39191 {
39192 {0.4249, 0.4378, 0.1373, 0.0000},
39193 {0.4139, 0.1323, 0.2137, 0.2401},
39194 {0.2319, 0.2538, 0.3427, 0.1716},
39195 {0.2986, 0.2915, 0.3529, 0.0571}},
39196 {
39197 {0.1989, 0.1746, 0.4829, 0.1436},
39198 {0.1264, 0.4874, 0.2213, 0.1649},
39199 {0.3031, 0.2837, 0.3464, 0.0668},
39200 {0.0519, 0.5611, 0.2199, 0.1671}},
39201 {
39202 {0.1497, 0.2912, 0.4024, 0.1567},
39203 {0.2653, 0.3392, 0.2284, 0.1670},
39204 {0.1365, 0.4729, 0.2774, 0.1132},
39205 {0.0000, 0.5744, 0.2105, 0.2151}},
39206 {
39207 {0.1156, 0.4037, 0.4243, 0.0564},
39208 {0.5622, 0.1169, 0.1366, 0.1843},
39209 {0.2021, 0.3444, 0.3512, 0.1023},
39210 {0.3693, 0.1832, 0.1964, 0.2511}},
39211 {
39212 {0.2876, 0.1054, 0.4742, 0.1327},
39213 {0.3188, 0.2384, 0.2375, 0.2052},
39214 {0.2727, 0.3023, 0.2637, 0.1613},
39215 {0.1857, 0.3109, 0.1280, 0.3753}},
39216 {
39217 {0.1409, 0.1994, 0.4152, 0.2444},
39218 {0.1333, 0.5635, 0.3033, 0.0000},
39219 {0.1214, 0.4911, 0.2353, 0.1521},
39220 {0.0515, 0.3424, 0.5043, 0.1018}},
39221 {
39222 {0.3381, 0.2513, 0.2466, 0.1641},
39223 {0.5043, 0.1847, 0.1938, 0.1171},
39224 {0.1355, 0.1644, 0.4278, 0.2723},
39225 {0.1429, 0.2950, 0.2858, 0.2763}},
39226 {
39227 {0.1232, 0.1269, 0.5918, 0.1581},
39228 {0.2352, 0.2774, 0.1921, 0.2953},
39229 {0.2538, 0.1987, 0.3559, 0.1916},
39230 {0.0958, 0.2420, 0.4263, 0.2360}},
39231 {
39232 {0.0000, 0.1584, 0.6379, 0.2037},
39233 {0.0000, 0.5740, 0.2373, 0.1887},
39234 {0.1379, 0.3936, 0.3037, 0.1648},
39235 {0.0509, 0.4571, 0.3588, 0.1331}},
39236 {
39237 {0.2867, 0.1598, 0.2780, 0.2755},
39238 {0.4563, 0.3559, 0.1173, 0.0705},
39239 {0.2866, 0.3685, 0.2912, 0.0537},
39240 {0.2781, 0.1682, 0.4394, 0.1143}},
39241 {
39242 {0.2391, 0.2191, 0.4303, 0.1114},
39243 {0.3942, 0.2160, 0.2719, 0.1178},
39244 {0.4631, 0.0376, 0.3772, 0.1222},
39245 {0.1094, 0.2161, 0.5583, 0.1163}},
39246 {
39247 {0.1428, 0.4575, 0.3701, 0.0295},
39248 {0.1726, 0.5475, 0.2799, 0.0000},
39249 {0.1247, 0.5734, 0.2283, 0.0735},
39250 {0.0000, 1.0000, 0.0000, 0.0000}},
39251 {
39252 {1.0000, 0.0000, 0.0000, 0.0000},
39253 {1.0000, 0.0000, 0.0000, 0.0000},
39254 {1.0000, 0.0000, 0.0000, 0.0000},
39255 {1.0000, 0.0000, 0.0000, 0.0000}},
39256 {
39257 {0.0000, 0.0000, 1.0000, 0.0000},
39258 {0.0000, 0.0000, 0.0000, 0.0000},
39259 {0.0000, 0.0000, 0.0000, 0.0000},
39260 {0.0000, 0.0000, 0.0000, 0.0000}},
39261 {
39262 {0.0000, 0.0000, 0.0000, 0.0000},
39263 {0.0000, 0.0000, 0.0000, 0.0000},
39264 {0.1424, 0.5226, 0.2093, 0.1257},
39265 {0.0000, 0.0000, 0.0000, 0.0000}},
39266 {
39267 {0.1972, 0.2734, 0.3336, 0.1957},
39268 {0.3296, 0.2749, 0.1798, 0.2157},
39269 {0.4051, 0.2238, 0.2335, 0.1376},
39270 {0.3879, 0.1527, 0.3082, 0.1512}},
39271 {
39272 {0.3180, 0.1108, 0.4844, 0.0867},
39273 {0.2268, 0.4235, 0.1899, 0.1598},
39274 {0.2562, 0.1679, 0.3294, 0.2465},
39275 {0.2521, 0.3526, 0.2501, 0.1452}},
39276 {
39277 {0.1830, 0.2530, 0.2447, 0.3193},
39278 {0.1185, 0.4584, 0.1901, 0.2329},
39279 {0.0565, 0.6041, 0.2276, 0.1117},
39280 {0.0605, 0.3806, 0.3102, 0.2486}},
39281 {
39282 {0.3599, 0.1823, 0.3711, 0.0867},
39283 {0.3272, 0.2391, 0.1748, 0.2588},
39284 {0.1219, 0.3610, 0.3580, 0.1591},
39285 {0.1323, 0.3916, 0.3896, 0.0865}},
39286 {
39287 {0.3167, 0.2440, 0.3980, 0.0414},
39288 {0.3215, 0.2909, 0.1612, 0.2263},
39289 {0.2657, 0.1991, 0.3013, 0.2339},
39290 {0.2133, 0.2142, 0.3654, 0.2072}},
39291 {
39292 {0.0688, 0.3657, 0.3975, 0.1680},
39293 {0.1588, 0.4861, 0.1621, 0.1929},
39294 {0.0996, 0.3871, 0.4116, 0.1017},
39295 {0.0549, 0.2097, 0.5294, 0.2060}},
39296 {
39297 {0.4034, 0.2007, 0.2928, 0.1032},
39298 {0.5115, 0.1249, 0.1558, 0.2078},
39299 {0.1821, 0.2531, 0.3285, 0.2362},
39300 {0.2307, 0.1669, 0.5369, 0.0654}},
39301 {
39302 {0.1682, 0.2577, 0.4031, 0.1711},
39303 {0.2036, 0.4446, 0.1002, 0.2517},
39304 {0.2245, 0.3222, 0.2275, 0.2258},
39305 {0.2214, 0.2076, 0.3621, 0.2089}},
39306 {
39307 {0.2388, 0.3857, 0.3274, 0.0481},
39308 {0.1577, 0.3350, 0.2510, 0.2564},
39309 {0.1663, 0.5974, 0.0979, 0.1385},
39310 {0.0000, 0.3235, 0.5841, 0.0924}},
39311 {
39312 {0.4608, 0.1421, 0.2034, 0.1937},
39313 {0.4101, 0.3134, 0.0939, 0.1826},
39314 {0.0953, 0.3820, 0.3611, 0.1616},
39315 {0.2063, 0.0635, 0.5983, 0.1319}},
39316 {
39317 {0.1349, 0.1945, 0.5164, 0.1541},
39318 {0.2378, 0.3093, 0.1746, 0.2783},
39319 {0.1815, 0.3402, 0.3684, 0.1099},
39320 {0.1170, 0.2695, 0.4429, 0.1706}},
39321 {
39322 {0.1088, 0.2774, 0.4394, 0.1743},
39323 {0.2096, 0.4116, 0.1409, 0.2379},
39324 {0.0742, 0.4881, 0.2856, 0.1521},
39325 {0.0000, 0.2608, 0.4790, 0.2603}},
39326 {
39327 {0.7194, 0.0000, 0.0916, 0.1890},
39328 {0.4143, 0.3216, 0.1212, 0.1429},
39329 {0.0628, 0.3412, 0.3777, 0.2182},
39330 {0.1462, 0.1022, 0.7035, 0.0481}},
39331 {
39332 {0.2340, 0.1584, 0.4401, 0.1675},
39333 {0.1918, 0.3501, 0.2215, 0.2366},
39334 {0.3047, 0.3918, 0.1511, 0.1524},
39335 {0.3120, 0.2560, 0.3108, 0.1213}},
39336 {
39337 {0.2284, 0.3628, 0.3362, 0.0725},
39338 {0.1611, 0.4446, 0.1918, 0.2025},
39339 {0.1413, 0.4113, 0.3130, 0.1344},
39340 {0.1088, 0.2208, 0.5062, 0.1641}},
39341 {
39342 {0.2988, 0.2963, 0.2909, 0.1140},
39343 {0.3286, 0.1982, 0.2939, 0.1794},
39344 {0.1144, 0.2738, 0.2740, 0.3377},
39345 {0.2011, 0.2078, 0.4511, 0.1400}},
39346 {
39347 {0.2438, 0.0406, 0.5594, 0.1563},
39348 {0.2767, 0.0815, 0.3947, 0.2471},
39349 {0.2743, 0.2421, 0.3033, 0.1802},
39350 {0.2214, 0.3215, 0.3194, 0.1378}},
39351 {
39352 {0.2633, 0.2210, 0.3283, 0.1874},
39353 {0.2697, 0.5581, 0.0585, 0.1137},
39354 {0.1232, 0.3881, 0.2656, 0.2231},
39355 {0.0509, 0.3688, 0.4750, 0.1054}},
39356 {
39357 {0.3377, 0.2889, 0.2624, 0.1110},
39358 {0.3616, 0.3083, 0.1245, 0.2056},
39359 {0.0989, 0.4022, 0.3383, 0.1606},
39360 {0.2772, 0.2241, 0.3854, 0.1133}},
39361 {
39362 {0.3551, 0.1115, 0.3936, 0.1398},
39363 {0.2377, 0.3970, 0.1788, 0.1864},
39364 {0.2531, 0.3391, 0.2982, 0.1095},
39365 {0.0624, 0.2914, 0.3452, 0.3010}},
39366 {
39367 {0.0742, 0.1975, 0.6514, 0.0769},
39368 {0.0993, 0.3887, 0.1698, 0.3423},
39369 {0.0330, 0.6067, 0.1963, 0.1640},
39370 {0.1125, 0.4493, 0.2164, 0.2218}},
39371 {
39372 {0.1170, 0.2544, 0.1284, 0.5001},
39373 {0.3687, 0.1998, 0.2089, 0.2226},
39374 {0.2531, 0.2790, 0.3433, 0.1246},
39375 {0.2412, 0.3775, 0.2380, 0.1434}},
39376 {
39377 {0.1967, 0.0621, 0.6412, 0.1000},
39378 {0.3263, 0.4244, 0.0712, 0.1782},
39379 {0.3065, 0.3074, 0.1910, 0.1951},
39380 {0.2400, 0.0930, 0.5678, 0.0993}},
39381 {
39382 {0.1801, 0.3224, 0.3928, 0.1047},
39383 {0.2809, 0.3801, 0.1315, 0.2075},
39384 {0.0778, 0.5513, 0.1857, 0.1852},
39385 {0.0587, 0.4666, 0.3397, 0.1350}},
39386 {
39387 {0.3158, 0.1219, 0.1902, 0.3722},
39388 {0.4828, 0.2170, 0.0843, 0.2160},
39389 {0.2237, 0.3044, 0.3962, 0.0757},
39390 {0.0572, 0.2956, 0.5276, 0.1197}},
39391 {
39392 {0.1126, 0.0857, 0.5980, 0.2038},
39393 {0.2000, 0.3639, 0.1977, 0.2384},
39394 {0.1197, 0.3854, 0.3058, 0.1891},
39395 {0.2461, 0.3514, 0.2061, 0.1964}},
39396 {
39397 {0.1147, 0.2979, 0.4650, 0.1224},
39398 {0.2021, 0.2013, 0.2781, 0.3185},
39399 {0.0805, 0.4607, 0.3186, 0.1402},
39400 {0.0000, 0.3131, 0.5021, 0.1848}},
39401 {
39402 {0.3607, 0.3638, 0.2755, 0.0000},
39403 {0.6024, 0.1110, 0.0849, 0.2018},
39404 {0.0750, 0.2019, 0.4651, 0.2581},
39405 {0.1518, 0.1964, 0.6009, 0.0508}},
39406 {
39407 {0.0647, 0.2561, 0.5836, 0.0956},
39408 {0.5091, 0.2403, 0.0972, 0.1534},
39409 {0.3072, 0.3346, 0.3046, 0.0535},
39410 {0.1089, 0.2801, 0.2196, 0.3913}},
39411 {
39412 {0.0819, 0.3173, 0.3154, 0.2855},
39413 {0.3015, 0.4684, 0.0628, 0.1673},
39414 {0.2272, 0.3450, 0.1961, 0.2317},
39415 {0.0000, 0.4576, 0.3423, 0.2000}},
39416 {
39417 {0.2123, 0.2598, 0.4253, 0.1026},
39418 {0.3175, 0.2845, 0.1497, 0.2483},
39419 {0.2742, 0.3100, 0.2273, 0.1885},
39420 {0.3857, 0.2171, 0.3112, 0.0859}},
39421 {
39422 {0.1817, 0.2173, 0.4127, 0.1883},
39423 {0.3089, 0.3104, 0.2797, 0.1009},
39424 {0.2764, 0.2632, 0.3466, 0.1138},
39425 {0.1655, 0.3294, 0.3324, 0.1728}},
39426 {
39427 {0.2871, 0.5251, 0.1503, 0.0375},
39428 {0.3101, 0.2751, 0.2102, 0.2047},
39429 {0.0000, 0.4218, 0.4715, 0.1067},
39430 {0.0000, 0.4668, 0.2696, 0.2636}},
39431 {
39432 {0.3152, 0.1839, 0.3140, 0.1868},
39433 {0.3530, 0.2735, 0.1384, 0.2351},
39434 {0.1302, 0.2913, 0.3783, 0.2002},
39435 {0.1339, 0.2641, 0.4687, 0.1333}},
39436 {
39437 {0.2321, 0.1150, 0.5370, 0.1158},
39438 {0.1793, 0.3210, 0.0724, 0.4273},
39439 {0.1713, 0.2676, 0.4666, 0.0945},
39440 {0.1385, 0.2891, 0.4744, 0.0980}},
39441 {
39442 {0.1070, 0.4163, 0.3188, 0.1579},
39443 {0.2347, 0.3087, 0.1897, 0.2670},
39444 {0.1281, 0.4190, 0.2257, 0.2272},
39445 {0.0000, 0.2430, 0.6019, 0.1551}},
39446 {
39447 {0.2345, 0.3055, 0.2370, 0.2230},
39448 {0.4784, 0.1291, 0.2114, 0.1811},
39449 {0.1235, 0.4057, 0.2845, 0.1862},
39450 {0.2823, 0.3121, 0.2740, 0.1316}},
39451 {
39452 {0.2891, 0.0983, 0.5511, 0.0615},
39453 {0.2701, 0.3112, 0.1053, 0.3134},
39454 {0.3468, 0.3470, 0.1895, 0.1167},
39455 {0.1059, 0.3786, 0.4686, 0.0468}},
39456 {
39457 {0.1806, 0.3532, 0.3968, 0.0694},
39458 {0.3285, 0.2812, 0.0706, 0.3197},
39459 {0.1197, 0.4468, 0.3764, 0.0570},
39460 {0.1294, 0.5984, 0.1385, 0.1338}},
39461 {
39462 {0.2052, 0.3971, 0.2522, 0.1455},
39463 {0.4078, 0.2387, 0.1177, 0.2358},
39464 {0.2859, 0.1730, 0.3192, 0.2219},
39465 {0.2028, 0.5295, 0.1975, 0.0702}},
39466 {
39467 {0.2553, 0.0915, 0.3698, 0.2833},
39468 {0.3948, 0.3808, 0.1607, 0.0637},
39469 {0.4076, 0.3646, 0.1337, 0.0940},
39470 {0.1505, 0.4042, 0.2885, 0.1568}},
39471 {
39472 {0.1570, 0.1876, 0.4071, 0.2483},
39473 {0.2256, 0.2563, 0.1923, 0.3258},
39474 {0.1212, 0.4919, 0.2656, 0.1213},
39475 {0.1878, 0.1932, 0.3719, 0.2471}},
39476 {
39477 {0.3875, 0.3866, 0.1092, 0.1167},
39478 {0.4001, 0.1975, 0.2042, 0.1982},
39479 {0.1888, 0.2194, 0.4650, 0.1267},
39480 {0.2790, 0.1979, 0.3212, 0.2019}},
39481 {
39482 {0.2456, 0.0309, 0.5689, 0.1546},
39483 {0.2436, 0.3544, 0.1218, 0.2802},
39484 {0.2231, 0.2617, 0.3173, 0.1979},
39485 {0.1182, 0.5358, 0.2346, 0.1114}},
39486 {
39487 {0.2159, 0.3443, 0.3084, 0.1314},
39488 {0.2969, 0.3709, 0.1425, 0.1897},
39489 {0.1695, 0.4352, 0.2493, 0.1460},
39490 {0.0531, 0.4457, 0.3466, 0.1546}},
39491 {
39492 {0.3536, 0.3524, 0.1460, 0.1481},
39493 {0.3800, 0.2871, 0.1443, 0.1886},
39494 {0.0695, 0.2618, 0.5186, 0.1501},
39495 {0.3061, 0.2471, 0.1956, 0.2512}},
39496 {
39497 {0.0987, 0.3292, 0.4072, 0.1648},
39498 {0.2422, 0.3222, 0.2029, 0.2327},
39499 {0.3090, 0.3473, 0.2692, 0.0745},
39500 {0.2618, 0.3770, 0.2057, 0.1554}},
39501 {
39502 {0.3048, 0.2170, 0.3911, 0.0871},
39503 {0.2230, 0.3919, 0.1693, 0.2159},
39504 {0.2089, 0.5546, 0.0676, 0.1690},
39505 {0.1211, 0.4185, 0.2864, 0.1740}},
39506 {
39507 {0.1764, 0.0870, 0.3924, 0.3442},
39508 {0.3564, 0.1427, 0.2872, 0.2137},
39509 {0.2283, 0.3702, 0.3094, 0.0922},
39510 {0.1658, 0.2809, 0.3259, 0.2274}}},
39511
39512 { /* Splice_Site: Fi_AG; Species: Chick */
39513 {
39514 {0.2607, 0.2607, 0.2607, 0.2607},
39515 {0.2206, 0.2206, 0.2206, 0.2206},
39516 {0.2488, 0.2488, 0.2488, 0.2488},
39517 {0.2699, 0.2699, 0.2699, 0.2699}},
39518 {
39519 {0.3197, 0.1883, 0.2342, 0.2579},
39520 {0.3706, 0.3184, 0.0305, 0.2806},
39521 {0.1735, 0.2991, 0.2891, 0.2383},
39522 {0.2012, 0.1658, 0.3158, 0.3172}},
39523 {
39524 {0.3224, 0.1911, 0.2815, 0.2050},
39525 {0.4030, 0.3074, 0.0776, 0.2121},
39526 {0.3006, 0.1507, 0.2900, 0.2587},
39527 {0.2370, 0.2666, 0.2148, 0.2816}},
39528 {
39529 {0.2388, 0.2969, 0.3031, 0.1611},
39530 {0.2310, 0.3569, 0.0925, 0.3195},
39531 {0.2357, 0.1891, 0.3036, 0.2716},
39532 {0.0964, 0.1706, 0.3349, 0.3980}},
39533 {
39534 {0.2574, 0.1829, 0.3448, 0.2149},
39535 {0.3376, 0.2624, 0.0924, 0.3076},
39536 {0.2856, 0.1800, 0.3023, 0.2321},
39537 {0.1669, 0.1786, 0.4113, 0.2431}},
39538 {
39539 {0.3300, 0.1297, 0.2250, 0.3153},
39540 {0.2426, 0.3035, 0.0318, 0.4221},
39541 {0.3019, 0.2440, 0.2760, 0.1780},
39542 {0.1730, 0.2496, 0.3082, 0.2692}},
39543 {
39544 {0.2990, 0.2187, 0.2161, 0.2663},
39545 {0.4518, 0.2806, 0.0461, 0.2214},
39546 {0.2020, 0.2907, 0.3671, 0.1402},
39547 {0.1246, 0.2630, 0.4341, 0.1784}},
39548 {
39549 {0.2713, 0.2227, 0.3091, 0.1969},
39550 {0.2600, 0.2864, 0.1104, 0.3433},
39551 {0.2504, 0.3191, 0.2228, 0.2078},
39552 {0.1822, 0.1863, 0.3870, 0.2445}},
39553 {
39554 {0.2345, 0.2142, 0.3302, 0.2211},
39555 {0.3190, 0.2665, 0.1827, 0.2318},
39556 {0.1752, 0.2325, 0.3014, 0.2908},
39557 {0.1215, 0.2181, 0.3186, 0.3418}},
39558 {
39559 {0.3045, 0.1711, 0.3509, 0.1734},
39560 {0.3368, 0.1365, 0.1202, 0.4065},
39561 {0.2299, 0.2479, 0.2809, 0.2413},
39562 {0.2678, 0.1769, 0.3036, 0.2517}},
39563 {
39564 {0.3318, 0.2180, 0.2606, 0.1896},
39565 {0.2531, 0.3078, 0.0733, 0.3657},
39566 {0.1837, 0.1822, 0.3127, 0.3213},
39567 {0.1532, 0.1676, 0.3743, 0.3049}},
39568 {
39569 {0.3007, 0.2120, 0.2747, 0.2126},
39570 {0.4369, 0.2081, 0.0667, 0.2883},
39571 {0.2695, 0.2096, 0.3293, 0.1916},
39572 {0.1522, 0.2418, 0.2687, 0.3373}},
39573 {
39574 {0.3042, 0.2190, 0.3012, 0.1756},
39575 {0.3929, 0.1750, 0.0917, 0.3404},
39576 {0.2087, 0.1239, 0.3844, 0.2830},
39577 {0.2062, 0.2255, 0.2559, 0.3125}},
39578 {
39579 {0.2984, 0.1871, 0.2780, 0.2366},
39580 {0.3260, 0.2581, 0.0743, 0.3415},
39581 {0.2286, 0.2347, 0.2611, 0.2756},
39582 {0.1898, 0.1755, 0.3935, 0.2413}},
39583 {
39584 {0.3024, 0.1757, 0.2977, 0.2241},
39585 {0.3452, 0.2113, 0.1131, 0.3304},
39586 {0.3029, 0.1928, 0.2806, 0.2237},
39587 {0.0913, 0.2659, 0.3693, 0.2734}},
39588 {
39589 {0.2366, 0.2942, 0.2149, 0.2542},
39590 {0.2886, 0.2900, 0.0791, 0.3423},
39591 {0.2530, 0.1740, 0.3630, 0.2100},
39592 {0.2603, 0.1353, 0.2991, 0.3053}},
39593 {
39594 {0.2811, 0.2414, 0.2397, 0.2379},
39595 {0.3000, 0.3541, 0.0644, 0.2815},
39596 {0.3200, 0.2209, 0.2914, 0.1677},
39597 {0.1632, 0.2275, 0.3339, 0.2754}},
39598 {
39599 {0.2265, 0.1722, 0.2838, 0.3175},
39600 {0.3458, 0.1976, 0.1034, 0.3531},
39601 {0.2428, 0.2022, 0.2863, 0.2687},
39602 {0.1162, 0.2400, 0.2825, 0.3613}},
39603 {
39604 {0.2887, 0.1447, 0.2744, 0.2921},
39605 {0.3143, 0.2722, 0.0524, 0.3611},
39606 {0.2032, 0.3390, 0.2854, 0.1725},
39607 {0.2051, 0.1476, 0.3481, 0.2993}},
39608 {
39609 {0.2814, 0.2950, 0.3413, 0.0823},
39610 {0.3240, 0.1711, 0.0971, 0.4077},
39611 {0.2627, 0.2774, 0.3019, 0.1580},
39612 {0.2030, 0.2865, 0.2406, 0.2699}},
39613 {
39614 {0.2450, 0.1756, 0.4026, 0.1768},
39615 {0.3767, 0.1841, 0.0822, 0.3570},
39616 {0.1900, 0.3417, 0.2764, 0.1919},
39617 {0.1092, 0.1046, 0.4146, 0.3716}},
39618 {
39619 {0.2088, 0.2089, 0.2792, 0.3031},
39620 {0.3991, 0.2659, 0.0315, 0.3035},
39621 {0.2362, 0.1446, 0.2604, 0.3588},
39622 {0.1707, 0.1752, 0.3931, 0.2610}},
39623 {
39624 {0.2772, 0.1785, 0.2498, 0.2945},
39625 {0.3524, 0.2073, 0.1195, 0.3208},
39626 {0.2076, 0.2876, 0.2292, 0.2756},
39627 {0.1217, 0.2826, 0.3308, 0.2649}},
39628 {
39629 {0.2053, 0.2560, 0.3282, 0.2105},
39630 {0.3900, 0.3109, 0.0987, 0.2004},
39631 {0.2443, 0.2231, 0.3528, 0.1799},
39632 {0.1443, 0.2220, 0.3947, 0.2391}},
39633 {
39634 {0.3105, 0.1951, 0.2519, 0.2425},
39635 {0.3403, 0.2816, 0.0793, 0.2989},
39636 {0.2400, 0.2269, 0.3012, 0.2319},
39637 {0.0971, 0.2155, 0.3782, 0.3092}},
39638 {
39639 {0.2503, 0.2263, 0.2029, 0.3205},
39640 {0.2908, 0.2697, 0.0317, 0.4078},
39641 {0.2607, 0.1194, 0.3572, 0.2627},
39642 {0.1709, 0.2403, 0.2133, 0.3755}},
39643 {
39644 {0.2368, 0.2213, 0.3480, 0.1939},
39645 {0.2545, 0.3009, 0.1247, 0.3200},
39646 {0.2834, 0.2059, 0.3181, 0.1926},
39647 {0.1954, 0.2150, 0.3027, 0.2869}},
39648 {
39649 {0.2428, 0.2148, 0.3092, 0.2333},
39650 {0.3092, 0.3099, 0.0442, 0.3368},
39651 {0.2353, 0.2602, 0.2712, 0.2333},
39652 {0.2518, 0.1223, 0.2835, 0.3423}},
39653 {
39654 {0.2836, 0.1551, 0.3494, 0.2119},
39655 {0.3727, 0.2850, 0.0631, 0.2792},
39656 {0.2434, 0.2521, 0.2987, 0.2057},
39657 {0.2016, 0.1212, 0.3693, 0.3080}},
39658 {
39659 {0.3060, 0.1943, 0.3081, 0.1917},
39660 {0.4348, 0.2018, 0.1574, 0.2060},
39661 {0.2074, 0.2958, 0.2245, 0.2722},
39662 {0.1922, 0.2351, 0.3570, 0.2157}},
39663 {
39664 {0.3287, 0.2012, 0.2469, 0.2232},
39665 {0.3846, 0.1457, 0.0762, 0.3935},
39666 {0.2002, 0.2500, 0.2545, 0.2953},
39667 {0.2083, 0.2398, 0.2929, 0.2590}},
39668 {
39669 {0.3301, 0.1530, 0.2442, 0.2727},
39670 {0.3724, 0.2081, 0.1012, 0.3183},
39671 {0.2349, 0.2483, 0.3166, 0.2002},
39672 {0.1506, 0.1522, 0.3197, 0.3775}},
39673 {
39674 {0.2340, 0.1262, 0.3223, 0.3175},
39675 {0.2294, 0.2189, 0.0771, 0.4746},
39676 {0.0908, 0.3386, 0.3490, 0.2216},
39677 {0.0564, 0.2321, 0.3675, 0.3439}},
39678 {
39679 {0.2839, 0.2683, 0.2768, 0.1709},
39680 {0.2666, 0.2900, 0.1263, 0.3171},
39681 {0.2501, 0.1620, 0.2898, 0.2981},
39682 {0.1716, 0.1867, 0.3262, 0.3155}},
39683 {
39684 {0.2696, 0.3037, 0.2544, 0.1722},
39685 {0.4675, 0.2088, 0.0610, 0.2627},
39686 {0.3119, 0.1293, 0.2638, 0.2951},
39687 {0.1899, 0.2090, 0.3497, 0.2514}},
39688 {
39689 {0.2959, 0.2280, 0.2790, 0.1971},
39690 {0.2811, 0.2891, 0.0486, 0.3812},
39691 {0.1567, 0.2145, 0.3006, 0.3283},
39692 {0.0978, 0.2057, 0.2827, 0.4137}},
39693 {
39694 {0.3112, 0.1503, 0.2431, 0.2954},
39695 {0.3103, 0.2901, 0.0728, 0.3268},
39696 {0.2572, 0.2447, 0.2759, 0.2222},
39697 {0.1691, 0.1594, 0.2859, 0.3856}},
39698 {
39699 {0.3033, 0.2124, 0.3193, 0.1650},
39700 {0.2791, 0.2353, 0.1195, 0.3660},
39701 {0.1664, 0.1963, 0.2980, 0.3393},
39702 {0.2194, 0.2472, 0.2834, 0.2501}},
39703 {
39704 {0.2596, 0.1452, 0.3123, 0.2830},
39705 {0.4241, 0.1940, 0.1041, 0.2778},
39706 {0.2946, 0.1798, 0.2551, 0.2705},
39707 {0.1869, 0.2548, 0.2729, 0.2854}},
39708 {
39709 {0.2649, 0.1802, 0.2196, 0.3352},
39710 {0.2764, 0.2766, 0.0721, 0.3749},
39711 {0.2187, 0.1471, 0.3884, 0.2458},
39712 {0.1880, 0.1431, 0.3642, 0.3047}},
39713 {
39714 {0.3109, 0.1384, 0.2674, 0.2834},
39715 {0.3577, 0.1804, 0.0389, 0.4231},
39716 {0.2675, 0.2644, 0.3277, 0.1404},
39717 {0.1597, 0.1967, 0.3291, 0.3145}},
39718 {
39719 {0.2897, 0.1768, 0.3718, 0.1617},
39720 {0.4091, 0.2218, 0.0863, 0.2828},
39721 {0.2731, 0.2063, 0.3408, 0.1798},
39722 {0.1955, 0.2067, 0.3582, 0.2397}},
39723 {
39724 {0.2401, 0.2316, 0.3127, 0.2157},
39725 {0.3659, 0.2344, 0.0899, 0.3098},
39726 {0.2573, 0.1998, 0.3084, 0.2345},
39727 {0.1857, 0.2719, 0.3074, 0.2349}},
39728 {
39729 {0.2767, 0.1569, 0.3454, 0.2210},
39730 {0.3098, 0.2681, 0.1086, 0.3135},
39731 {0.2419, 0.1532, 0.3712, 0.2337},
39732 {0.1918, 0.1761, 0.4362, 0.1959}},
39733 {
39734 {0.3768, 0.1355, 0.2722, 0.2155},
39735 {0.2675, 0.2061, 0.0564, 0.4700},
39736 {0.2554, 0.1701, 0.3003, 0.2743},
39737 {0.2455, 0.1698, 0.2620, 0.3228}},
39738 {
39739 {0.3689, 0.1450, 0.2586, 0.2275},
39740 {0.3861, 0.3722, 0.1036, 0.1381},
39741 {0.2241, 0.1610, 0.3471, 0.2678},
39742 {0.1944, 0.1741, 0.3218, 0.3098}},
39743 {
39744 {0.2634, 0.1761, 0.3371, 0.2234},
39745 {0.3707, 0.1907, 0.1221, 0.3165},
39746 {0.2166, 0.2099, 0.3392, 0.2343},
39747 {0.2124, 0.2500, 0.2430, 0.2947}},
39748 {
39749 {0.2369, 0.2386, 0.3854, 0.1392},
39750 {0.3631, 0.1945, 0.0651, 0.3774},
39751 {0.2239, 0.2809, 0.3443, 0.1509},
39752 {0.2102, 0.1306, 0.3249, 0.3343}},
39753 {
39754 {0.3021, 0.1645, 0.2914, 0.2420},
39755 {0.3944, 0.1658, 0.0646, 0.3752},
39756 {0.2428, 0.1480, 0.3769, 0.2323},
39757 {0.1009, 0.1534, 0.5195, 0.2261}},
39758 {
39759 {0.2320, 0.2939, 0.3185, 0.1557},
39760 {0.2806, 0.5446, 0.0436, 0.1312},
39761 {0.1897, 0.3384, 0.3474, 0.1245},
39762 {0.1985, 0.2746, 0.3684, 0.1585}},
39763 {
39764 {1.0000, 0.0000, 0.0000, 0.0000},
39765 {1.0000, 0.0000, 0.0000, 0.0000},
39766 {1.0000, 0.0000, 0.0000, 0.0000},
39767 {1.0000, 0.0000, 0.0000, 0.0000}},
39768 {
39769 {0.0000, 0.0000, 1.0000, 0.0000},
39770 {0.0000, 0.0000, 0.0000, 0.0000},
39771 {0.0000, 0.0000, 0.0000, 0.0000},
39772 {0.0000, 0.0000, 0.0000, 0.0000}},
39773 {
39774 {0.0000, 0.0000, 0.0000, 0.0000},
39775 {0.0000, 0.0000, 0.0000, 0.0000},
39776 {0.2597, 0.2248, 0.2604, 0.2551},
39777 {0.0000, 0.0000, 0.0000, 0.0000}},
39778 {
39779 {0.3230, 0.0952, 0.2911, 0.2907},
39780 {0.3408, 0.2088, 0.1217, 0.3287},
39781 {0.1788, 0.1432, 0.4260, 0.2520},
39782 {0.3026, 0.1210, 0.2898, 0.2866}},
39783 {
39784 {0.2733, 0.1760, 0.3436, 0.2070},
39785 {0.2525, 0.3897, 0.0715, 0.2863},
39786 {0.2280, 0.2401, 0.3183, 0.2136},
39787 {0.1441, 0.2359, 0.2801, 0.3399}},
39788 {
39789 {0.2825, 0.1840, 0.2712, 0.2623},
39790 {0.4042, 0.2378, 0.0747, 0.2833},
39791 {0.1817, 0.3415, 0.2226, 0.2542},
39792 {0.1981, 0.2028, 0.2758, 0.3232}},
39793 {
39794 {0.2312, 0.2232, 0.3196, 0.2261},
39795 {0.4148, 0.2938, 0.0524, 0.2391},
39796 {0.2239, 0.3296, 0.1997, 0.2468},
39797 {0.2420, 0.1999, 0.3029, 0.2552}},
39798 {
39799 {0.3172, 0.1220, 0.3234, 0.2374},
39800 {0.4312, 0.1586, 0.0672, 0.3429},
39801 {0.1977, 0.2625, 0.3589, 0.1810},
39802 {0.2632, 0.2254, 0.2276, 0.2838}},
39803 {
39804 {0.2895, 0.1984, 0.2914, 0.2207},
39805 {0.3654, 0.2682, 0.0752, 0.2912},
39806 {0.1996, 0.2270, 0.4018, 0.1716},
39807 {0.1660, 0.2333, 0.3572, 0.2436}},
39808 {
39809 {0.2647, 0.1896, 0.3194, 0.2262},
39810 {0.2721, 0.2135, 0.0556, 0.4588},
39811 {0.2194, 0.2500, 0.2463, 0.2843},
39812 {0.1175, 0.2215, 0.3532, 0.3078}},
39813 {
39814 {0.3165, 0.1949, 0.2396, 0.2489},
39815 {0.4333, 0.1596, 0.0951, 0.3120},
39816 {0.2661, 0.1634, 0.3599, 0.2107},
39817 {0.1838, 0.1682, 0.3055, 0.3424}},
39818 {
39819 {0.3244, 0.1661, 0.2680, 0.2415},
39820 {0.3238, 0.2396, 0.1234, 0.3132},
39821 {0.2663, 0.2274, 0.3861, 0.1202},
39822 {0.2043, 0.1087, 0.2478, 0.4392}},
39823 {
39824 {0.3144, 0.1657, 0.2713, 0.2486},
39825 {0.3856, 0.2150, 0.0387, 0.3607},
39826 {0.1853, 0.2467, 0.3019, 0.2661},
39827 {0.1682, 0.2820, 0.2695, 0.2803}},
39828 {
39829 {0.2954, 0.1516, 0.3138, 0.2393},
39830 {0.2720, 0.2509, 0.1027, 0.3744},
39831 {0.2019, 0.2930, 0.2519, 0.2531},
39832 {0.0711, 0.2661, 0.3262, 0.3366}},
39833 {
39834 {0.3806, 0.2028, 0.2456, 0.1710},
39835 {0.2308, 0.2280, 0.0909, 0.4503},
39836 {0.2453, 0.2980, 0.2682, 0.1886},
39837 {0.1504, 0.2456, 0.3010, 0.3029}},
39838 {
39839 {0.2802, 0.2225, 0.2810, 0.2163},
39840 {0.2839, 0.3354, 0.1224, 0.2583},
39841 {0.2359, 0.2911, 0.2706, 0.2023},
39842 {0.1945, 0.1939, 0.2554, 0.3562}},
39843 {
39844 {0.3654, 0.1510, 0.3078, 0.1757},
39845 {0.5211, 0.2473, 0.0427, 0.1889},
39846 {0.1917, 0.2126, 0.3621, 0.2336},
39847 {0.1705, 0.2448, 0.3077, 0.2770}},
39848 {
39849 {0.2767, 0.2189, 0.3088, 0.1956},
39850 {0.2836, 0.2508, 0.1135, 0.3521},
39851 {0.2417, 0.2224, 0.2963, 0.2397},
39852 {0.1637, 0.2203, 0.3127, 0.3033}},
39853 {
39854 {0.3346, 0.1646, 0.2816, 0.2192},
39855 {0.3039, 0.3232, 0.0716, 0.3014},
39856 {0.3200, 0.1541, 0.3255, 0.2005},
39857 {0.1840, 0.2659, 0.2776, 0.2725}},
39858 {
39859 {0.2637, 0.1574, 0.3457, 0.2332},
39860 {0.3096, 0.2703, 0.0437, 0.3764},
39861 {0.4397, 0.1724, 0.2501, 0.1378},
39862 {0.2063, 0.1665, 0.3134, 0.3138}},
39863 {
39864 {0.2895, 0.2311, 0.1721, 0.3074},
39865 {0.3254, 0.2597, 0.0883, 0.3266},
39866 {0.2604, 0.2747, 0.2430, 0.2219},
39867 {0.1403, 0.1684, 0.2455, 0.4458}},
39868 {
39869 {0.3649, 0.1572, 0.2855, 0.1924},
39870 {0.3274, 0.2366, 0.1087, 0.3273},
39871 {0.1723, 0.2970, 0.3278, 0.2029},
39872 {0.1506, 0.2258, 0.3061, 0.3175}},
39873 {
39874 {0.3069, 0.2338, 0.2352, 0.2240},
39875 {0.4290, 0.1516, 0.0598, 0.3596},
39876 {0.1973, 0.2011, 0.3460, 0.2555},
39877 {0.1294, 0.2407, 0.3790, 0.2509}},
39878 {
39879 {0.3437, 0.1578, 0.2842, 0.2143},
39880 {0.2814, 0.1894, 0.1639, 0.3652},
39881 {0.1663, 0.3015, 0.2391, 0.2931},
39882 {0.1129, 0.2066, 0.3937, 0.2868}},
39883 {
39884 {0.2552, 0.1636, 0.3913, 0.1900},
39885 {0.3144, 0.1894, 0.1239, 0.3723},
39886 {0.2425, 0.2267, 0.3564, 0.1743},
39887 {0.1180, 0.2762, 0.3552, 0.2506}},
39888 {
39889 {0.2376, 0.1927, 0.3630, 0.2066},
39890 {0.3121, 0.1835, 0.0644, 0.4401},
39891 {0.2086, 0.2711, 0.2734, 0.2468},
39892 {0.2248, 0.1579, 0.3200, 0.2973}},
39893 {
39894 {0.3609, 0.1551, 0.2263, 0.2578},
39895 {0.2409, 0.1967, 0.1344, 0.4280},
39896 {0.2405, 0.1913, 0.3562, 0.2120},
39897 {0.1398, 0.3276, 0.2358, 0.2967}},
39898 {
39899 {0.2778, 0.1978, 0.2850, 0.2394},
39900 {0.2620, 0.3285, 0.1383, 0.2712},
39901 {0.1124, 0.1776, 0.3133, 0.3967},
39902 {0.2182, 0.1063, 0.2793, 0.3962}},
39903 {
39904 {0.3426, 0.1901, 0.2969, 0.1704},
39905 {0.3257, 0.1764, 0.1188, 0.3792},
39906 {0.2535, 0.2824, 0.2258, 0.2383},
39907 {0.1617, 0.2075, 0.2989, 0.3319}},
39908 {
39909 {0.2942, 0.2199, 0.1964, 0.2894},
39910 {0.2552, 0.2529, 0.0642, 0.4276},
39911 {0.2937, 0.2616, 0.2260, 0.2187},
39912 {0.2030, 0.2540, 0.2219, 0.3211}},
39913 {
39914 {0.2906, 0.1559, 0.2774, 0.2761},
39915 {0.2837, 0.2898, 0.0844, 0.3421},
39916 {0.2335, 0.1896, 0.3732, 0.2037},
39917 {0.1285, 0.1513, 0.4482, 0.2720}},
39918 {
39919 {0.2551, 0.1848, 0.3596, 0.2005},
39920 {0.4936, 0.2609, 0.0380, 0.2075},
39921 {0.1845, 0.2737, 0.2495, 0.2923},
39922 {0.1608, 0.2452, 0.3420, 0.2519}},
39923 {
39924 {0.3511, 0.1079, 0.2839, 0.2570},
39925 {0.3488, 0.3247, 0.0310, 0.2956},
39926 {0.3176, 0.2544, 0.1803, 0.2477},
39927 {0.1428, 0.2507, 0.2101, 0.3964}},
39928 {
39929 {0.2832, 0.2172, 0.3459, 0.1537},
39930 {0.2761, 0.3550, 0.0764, 0.2925},
39931 {0.2871, 0.1966, 0.3309, 0.1854},
39932 {0.1661, 0.2049, 0.3310, 0.2980}},
39933 {
39934 {0.2886, 0.2317, 0.2776, 0.2021},
39935 {0.4409, 0.2474, 0.0574, 0.2543},
39936 {0.2966, 0.2021, 0.2701, 0.2311},
39937 {0.1546, 0.1612, 0.3809, 0.3034}},
39938 {
39939 {0.3334, 0.2205, 0.2432, 0.2029},
39940 {0.2802, 0.2412, 0.0805, 0.3980},
39941 {0.2191, 0.2601, 0.2992, 0.2216},
39942 {0.1498, 0.1951, 0.3087, 0.3463}},
39943 {
39944 {0.3524, 0.1610, 0.2794, 0.2073},
39945 {0.3409, 0.2680, 0.0788, 0.3123},
39946 {0.2602, 0.2738, 0.2790, 0.1869},
39947 {0.0986, 0.2812, 0.3500, 0.2702}},
39948 {
39949 {0.4891, 0.2401, 0.1812, 0.0896},
39950 {0.2941, 0.2114, 0.0838, 0.4107},
39951 {0.2002, 0.2034, 0.3880, 0.2083},
39952 {0.1759, 0.2198, 0.2685, 0.3357}},
39953 {
39954 {0.2829, 0.1442, 0.3085, 0.2644},
39955 {0.3543, 0.2597, 0.0492, 0.3368},
39956 {0.1611, 0.2452, 0.3822, 0.2115},
39957 {0.1692, 0.1678, 0.2418, 0.4212}},
39958 {
39959 {0.2271, 0.1541, 0.3200, 0.2987},
39960 {0.3597, 0.1947, 0.0998, 0.3459},
39961 {0.2984, 0.1692, 0.3119, 0.2205},
39962 {0.1617, 0.2189, 0.3651, 0.2543}},
39963 {
39964 {0.2464, 0.1324, 0.3638, 0.2575},
39965 {0.2778, 0.3128, 0.0729, 0.3365},
39966 {0.2414, 0.2354, 0.2670, 0.2562},
39967 {0.1961, 0.1871, 0.3195, 0.2972}},
39968 {
39969 {0.3667, 0.2240, 0.2796, 0.1296},
39970 {0.3855, 0.2472, 0.0641, 0.3033},
39971 {0.3118, 0.2171, 0.2450, 0.2261},
39972 {0.1883, 0.1410, 0.3685, 0.3022}},
39973 {
39974 {0.4187, 0.1030, 0.2905, 0.1878},
39975 {0.2893, 0.2307, 0.1147, 0.3653},
39976 {0.3524, 0.2089, 0.2598, 0.1789},
39977 {0.1260, 0.1570, 0.4534, 0.2637}},
39978 {
39979 {0.3321, 0.2444, 0.2273, 0.1962},
39980 {0.3099, 0.2459, 0.0805, 0.3637},
39981 {0.2158, 0.2570, 0.3146, 0.2126},
39982 {0.1588, 0.1954, 0.2970, 0.3489}},
39983 {
39984 {0.3097, 0.2183, 0.2719, 0.2000},
39985 {0.3677, 0.2685, 0.1008, 0.2630},
39986 {0.2622, 0.2705, 0.2604, 0.2070},
39987 {0.1010, 0.2463, 0.2896, 0.3631}},
39988 {
39989 {0.2409, 0.1179, 0.3542, 0.2871},
39990 {0.3874, 0.2183, 0.0260, 0.3683},
39991 {0.2535, 0.2622, 0.2509, 0.2335},
39992 {0.1722, 0.1960, 0.2869, 0.3449}},
39993 {
39994 {0.2289, 0.2048, 0.3807, 0.1857},
39995 {0.2829, 0.2966, 0.1455, 0.2749},
39996 {0.2083, 0.2778, 0.2218, 0.2921},
39997 {0.1418, 0.1836, 0.3558, 0.3189}},
39998 {
39999 {0.2990, 0.1615, 0.2600, 0.2796},
40000 {0.3232, 0.2598, 0.1002, 0.3168},
40001 {0.2434, 0.2109, 0.3774, 0.1683},
40002 {0.1392, 0.2641, 0.3045, 0.2921}},
40003 {
40004 {0.2779, 0.2104, 0.2354, 0.2763},
40005 {0.3761, 0.2242, 0.0924, 0.3074},
40006 {0.1685, 0.2423, 0.3103, 0.2789},
40007 {0.2778, 0.1839, 0.2461, 0.2923}},
40008 {
40009 {0.2878, 0.1611, 0.2719, 0.2792},
40010 {0.2720, 0.2869, 0.0942, 0.3470},
40011 {0.1804, 0.3063, 0.2645, 0.2488},
40012 {0.1493, 0.2113, 0.2900, 0.3494}},
40013 {
40014 {0.3420, 0.2171, 0.2158, 0.2251},
40015 {0.2577, 0.4113, 0.0562, 0.2749},
40016 {0.2772, 0.2379, 0.2775, 0.2074},
40017 {0.1385, 0.2017, 0.2700, 0.3898}},
40018 {
40019 {0.2700, 0.2016, 0.2962, 0.2322},
40020 {0.3137, 0.2894, 0.0980, 0.2989},
40021 {0.2916, 0.1627, 0.2026, 0.3430},
40022 {0.1202, 0.1744, 0.2997, 0.4056}}
40023 }},
40024 {
40025 { /* Splice_Site: T1_AG; Species: Droso */
40026 {
40027 {0.2986, 0.2986, 0.2986, 0.2986},
40028 {0.1830, 0.1830, 0.1830, 0.1830},
40029 {0.2153, 0.2153, 0.2153, 0.2153},
40030 {0.3030, 0.3030, 0.3030, 0.3030}},
40031 {
40032 {0.3080, 0.1893, 0.2219, 0.2809},
40033 {0.2945, 0.2545, 0.1848, 0.2663},
40034 {0.3095, 0.2345, 0.2004, 0.2556},
40035 {0.2696, 0.2135, 0.2050, 0.3119}},
40036 {
40037 {0.3195, 0.1797, 0.1795, 0.3212},
40038 {0.3121, 0.2340, 0.1579, 0.2960},
40039 {0.2767, 0.2262, 0.1843, 0.3128},
40040 {0.2693, 0.2254, 0.2310, 0.2743}},
40041 {
40042 {0.3527, 0.1582, 0.2119, 0.2772},
40043 {0.3138, 0.2667, 0.1603, 0.2593},
40044 {0.2201, 0.2542, 0.1980, 0.3278},
40045 {0.3574, 0.1899, 0.1826, 0.2701}},
40046 {
40047 {0.3745, 0.1929, 0.1152, 0.3174},
40048 {0.2678, 0.3010, 0.1454, 0.2858},
40049 {0.2694, 0.2460, 0.2106, 0.2740},
40050 {0.2619, 0.1902, 0.1883, 0.3595}},
40051 {
40052 {0.2866, 0.1861, 0.2123, 0.3150},
40053 {0.2881, 0.2948, 0.1031, 0.3140},
40054 {0.2764, 0.2570, 0.1836, 0.2831},
40055 {0.2826, 0.2044, 0.1794, 0.3335}},
40056 {
40057 {0.3113, 0.1695, 0.1614, 0.3577},
40058 {0.3734, 0.2178, 0.1287, 0.2801},
40059 {0.2878, 0.2417, 0.2104, 0.2602},
40060 {0.2227, 0.2091, 0.1967, 0.3715}},
40061 {
40062 {0.3707, 0.1505, 0.1561, 0.3227},
40063 {0.3304, 0.2081, 0.1734, 0.2880},
40064 {0.2660, 0.2092, 0.1950, 0.3298},
40065 {0.2514, 0.2059, 0.2128, 0.3299}},
40066 {
40067 {0.3147, 0.1657, 0.1824, 0.3371},
40068 {0.2845, 0.2379, 0.1799, 0.2977},
40069 {0.3025, 0.2161, 0.1835, 0.2979},
40070 {0.2690, 0.2469, 0.1754, 0.3088}},
40071 {
40072 {0.3486, 0.1557, 0.1578, 0.3379},
40073 {0.3010, 0.2974, 0.1553, 0.2463},
40074 {0.2877, 0.2459, 0.2278, 0.2386},
40075 {0.2604, 0.1764, 0.1953, 0.3678}},
40076 {
40077 {0.3417, 0.1868, 0.1397, 0.3318},
40078 {0.3937, 0.1920, 0.1174, 0.2968},
40079 {0.2216, 0.3073, 0.1231, 0.3480},
40080 {0.2308, 0.2383, 0.1698, 0.3611}},
40081 {
40082 {0.2886, 0.1744, 0.1970, 0.3400},
40083 {0.2864, 0.2838, 0.1435, 0.2862},
40084 {0.2815, 0.2667, 0.1355, 0.3162},
40085 {0.2878, 0.1890, 0.1831, 0.3400}},
40086 {
40087 {0.2942, 0.1318, 0.2081, 0.3659},
40088 {0.2613, 0.2910, 0.1495, 0.2981},
40089 {0.3093, 0.3098, 0.1377, 0.2432},
40090 {0.2869, 0.1825, 0.2077, 0.3230}},
40091 {
40092 {0.3801, 0.1706, 0.1529, 0.2964},
40093 {0.3561, 0.2469, 0.1394, 0.2576},
40094 {0.2525, 0.2316, 0.1825, 0.3334},
40095 {0.2672, 0.1644, 0.1964, 0.3720}},
40096 {
40097 {0.3192, 0.1840, 0.1467, 0.3501},
40098 {0.3239, 0.2239, 0.1712, 0.2810},
40099 {0.3107, 0.2350, 0.1910, 0.2633},
40100 {0.2947, 0.1651, 0.2047, 0.3356}},
40101 {
40102 {0.3678, 0.1909, 0.1308, 0.3105},
40103 {0.2725, 0.2312, 0.1478, 0.3486},
40104 {0.3465, 0.2214, 0.1602, 0.2719},
40105 {0.3088, 0.1909, 0.2049, 0.2954}},
40106 {
40107 {0.3866, 0.1786, 0.0949, 0.3398},
40108 {0.3334, 0.2545, 0.1270, 0.2851},
40109 {0.3458, 0.2056, 0.1602, 0.2885},
40110 {0.2720, 0.2029, 0.1586, 0.3665}},
40111 {
40112 {0.3433, 0.2193, 0.1209, 0.3165},
40113 {0.3475, 0.2135, 0.1479, 0.2912},
40114 {0.2897, 0.2577, 0.1235, 0.3291},
40115 {0.2683, 0.2124, 0.1669, 0.3525}},
40116 {
40117 {0.3298, 0.1841, 0.1590, 0.3271},
40118 {0.2919, 0.2619, 0.1453, 0.3009},
40119 {0.2932, 0.2084, 0.1574, 0.3410},
40120 {0.2591, 0.1816, 0.1737, 0.3856}},
40121 {
40122 {0.3669, 0.1451, 0.1225, 0.3654},
40123 {0.3057, 0.2246, 0.1042, 0.3654},
40124 {0.3841, 0.2184, 0.1692, 0.2282},
40125 {0.2624, 0.1573, 0.2047, 0.3756}},
40126 {
40127 {0.3154, 0.2474, 0.1339, 0.3033},
40128 {0.2812, 0.2414, 0.1842, 0.2932},
40129 {0.3668, 0.2281, 0.1848, 0.2203},
40130 {0.2871, 0.1673, 0.1740, 0.3716}},
40131 {
40132 {0.3421, 0.1640, 0.1229, 0.3710},
40133 {0.3665, 0.2248, 0.1537, 0.2550},
40134 {0.3361, 0.2603, 0.1726, 0.2309},
40135 {0.2628, 0.2366, 0.1781, 0.3226}},
40136 {
40137 {0.3682, 0.1956, 0.1406, 0.2956},
40138 {0.3682, 0.2097, 0.1328, 0.2892},
40139 {0.2920, 0.1915, 0.1939, 0.3226},
40140 {0.2524, 0.1974, 0.1633, 0.3869}},
40141 {
40142 {0.2930, 0.1688, 0.1293, 0.4089},
40143 {0.2771, 0.2408, 0.1323, 0.3499},
40144 {0.3417, 0.2694, 0.1401, 0.2488},
40145 {0.2788, 0.1902, 0.1699, 0.3611}},
40146 {
40147 {0.3468, 0.2101, 0.0911, 0.3520},
40148 {0.2990, 0.2401, 0.1029, 0.3580},
40149 {0.3192, 0.2974, 0.1470, 0.2364},
40150 {0.3088, 0.2372, 0.1446, 0.3094}},
40151 {
40152 {0.2947, 0.2586, 0.1111, 0.3356},
40153 {0.2937, 0.2328, 0.1031, 0.3705},
40154 {0.2972, 0.2806, 0.1516, 0.2707},
40155 {0.3120, 0.2008, 0.1831, 0.3041}},
40156 {
40157 {0.3736, 0.2075, 0.0977, 0.3213},
40158 {0.3398, 0.2119, 0.1148, 0.3336},
40159 {0.3197, 0.2020, 0.1439, 0.3344},
40160 {0.2943, 0.2076, 0.1614, 0.3367}},
40161 {
40162 {0.3953, 0.1773, 0.0782, 0.3492},
40163 {0.2931, 0.2551, 0.0995, 0.3523},
40164 {0.2925, 0.2451, 0.1424, 0.3200},
40165 {0.3562, 0.1990, 0.1342, 0.3105}},
40166 {
40167 {0.3249, 0.1547, 0.1170, 0.4034},
40168 {0.2799, 0.2231, 0.0986, 0.3985},
40169 {0.3628, 0.2470, 0.1515, 0.2388},
40170 {0.3373, 0.1780, 0.1393, 0.3454}},
40171 {
40172 {0.3547, 0.1936, 0.0786, 0.3732},
40173 {0.2715, 0.3139, 0.0942, 0.3204},
40174 {0.2248, 0.2639, 0.1059, 0.4054},
40175 {0.3651, 0.1830, 0.1219, 0.3300}},
40176 {
40177 {0.3607, 0.1824, 0.0774, 0.3795},
40178 {0.3156, 0.1961, 0.0765, 0.4118},
40179 {0.3604, 0.2400, 0.0954, 0.3042},
40180 {0.2639, 0.2428, 0.1438, 0.3495}},
40181 {
40182 {0.3714, 0.2171, 0.0594, 0.3522},
40183 {0.2752, 0.2218, 0.0980, 0.4051},
40184 {0.1870, 0.2727, 0.2061, 0.3342},
40185 {0.3212, 0.1780, 0.1757, 0.3251}},
40186 {
40187 {0.3809, 0.2127, 0.0711, 0.3354},
40188 {0.2578, 0.1911, 0.1242, 0.4269},
40189 {0.2825, 0.3069, 0.0736, 0.3371},
40190 {0.3066, 0.1851, 0.1383, 0.3700}},
40191 {
40192 {0.3115, 0.2207, 0.0669, 0.4009},
40193 {0.3348, 0.2187, 0.1186, 0.3279},
40194 {0.2524, 0.2530, 0.0990, 0.3956},
40195 {0.2764, 0.2021, 0.1412, 0.3804}},
40196 {
40197 {0.4227, 0.1786, 0.0624, 0.3363},
40198 {0.2938, 0.2148, 0.1559, 0.3355},
40199 {0.2587, 0.2207, 0.2050, 0.3156},
40200 {0.2487, 0.2258, 0.1445, 0.3810}},
40201 {
40202 {0.2806, 0.2448, 0.0578, 0.4169},
40203 {0.2842, 0.2529, 0.1090, 0.3538},
40204 {0.2351, 0.2311, 0.1758, 0.3579},
40205 {0.2097, 0.2547, 0.1425, 0.3931}},
40206 {
40207 {0.3666, 0.1861, 0.0821, 0.3652},
40208 {0.2792, 0.2219, 0.1196, 0.3793},
40209 {0.3004, 0.2224, 0.1124, 0.3648},
40210 {0.1884, 0.2516, 0.1551, 0.4050}},
40211 {
40212 {0.2869, 0.2043, 0.0855, 0.4232},
40213 {0.2355, 0.2788, 0.1519, 0.3338},
40214 {0.2571, 0.2958, 0.0992, 0.3480},
40215 {0.2100, 0.2149, 0.1274, 0.4477}},
40216 {
40217 {0.2853, 0.2321, 0.0609, 0.4217},
40218 {0.2527, 0.2802, 0.0864, 0.3807},
40219 {0.2774, 0.2749, 0.1101, 0.3376},
40220 {0.1759, 0.2443, 0.1478, 0.4321}},
40221 {
40222 {0.2321, 0.2054, 0.0179, 0.5445},
40223 {0.2013, 0.2496, 0.1416, 0.4076},
40224 {0.2416, 0.2377, 0.0793, 0.4413},
40225 {0.1453, 0.2316, 0.1607, 0.4623}},
40226 {
40227 {0.2439, 0.2146, 0.0194, 0.5222},
40228 {0.2534, 0.2674, 0.1152, 0.3640},
40229 {0.2741, 0.2679, 0.1465, 0.3115},
40230 {0.2018, 0.2120, 0.1453, 0.4409}},
40231 {
40232 {0.3227, 0.2678, 0.0305, 0.3791},
40233 {0.2018, 0.3043, 0.1291, 0.3648},
40234 {0.2226, 0.2494, 0.1246, 0.4034},
40235 {0.1559, 0.2813, 0.0977, 0.4651}},
40236 {
40237 {0.2847, 0.2221, 0.0379, 0.4553},
40238 {0.2267, 0.3141, 0.0743, 0.3850},
40239 {0.1996, 0.3168, 0.0722, 0.4115},
40240 {0.1714, 0.2463, 0.1016, 0.4807}},
40241 {
40242 {0.1712, 0.3331, 0.0191, 0.4765},
40243 {0.1901, 0.3688, 0.0910, 0.3501},
40244 {0.0992, 0.4056, 0.1250, 0.3703},
40245 {0.1332, 0.3140, 0.1609, 0.3919}},
40246 {
40247 {0.2816, 0.2202, 0.0124, 0.4859},
40248 {0.2367, 0.2602, 0.1053, 0.3977},
40249 {0.2199, 0.3840, 0.0541, 0.3420},
40250 {0.1749, 0.2991, 0.1234, 0.4026}},
40251 {
40252 {0.2602, 0.2754, 0.0233, 0.4412},
40253 {0.1903, 0.3064, 0.0844, 0.4188},
40254 {0.1684, 0.3143, 0.1098, 0.4075},
40255 {0.1126, 0.3529, 0.0763, 0.4582}},
40256 {
40257 {0.1568, 0.2236, 0.0151, 0.6044},
40258 {0.1753, 0.3335, 0.1014, 0.3898},
40259 {0.1087, 0.3007, 0.1021, 0.4884},
40260 {0.0876, 0.2694, 0.1027, 0.5403}},
40261 {
40262 {0.3395, 0.2395, 0.0000, 0.4210},
40263 {0.1383, 0.4022, 0.0755, 0.3839},
40264 {0.1814, 0.3146, 0.1263, 0.3777},
40265 {0.0307, 0.1681, 0.0335, 0.7677}},
40266 {
40267 {0.4222, 0.3486, 0.0692, 0.1600},
40268 {0.3764, 0.1810, 0.2958, 0.1468},
40269 {0.3510, 0.1915, 0.2647, 0.1928},
40270 {0.1909, 0.1710, 0.3362, 0.3019}},
40271 {
40272 {0.0971, 0.6524, 0.0000, 0.2505},
40273 {0.0523, 0.6057, 0.0038, 0.3382},
40274 {0.0430, 0.7897, 0.0094, 0.1580},
40275 {0.0407, 0.5533, 0.0027, 0.4033}},
40276 {
40277 {1.0000, 0.0000, 0.0000, 0.0000},
40278 {1.0000, 0.0000, 0.0000, 0.0000},
40279 {1.0000, 0.0000, 0.0000, 0.0000},
40280 {1.0000, 0.0000, 0.0000, 0.0000}},
40281 {
40282 {0.0000, 0.0000, 1.0000, 0.0000},
40283 {0.0000, 0.0000, 0.0000, 0.0000},
40284 {0.0000, 0.0000, 0.0000, 0.0000},
40285 {0.0000, 0.0000, 0.0000, 0.0000}},
40286 {
40287 {0.0000, 0.0000, 0.0000, 0.0000},
40288 {0.0000, 0.0000, 0.0000, 0.0000},
40289 {0.3201, 0.1831, 0.3942, 0.1026},
40290 {0.0000, 0.0000, 0.0000, 0.0000}},
40291 {
40292 {0.3168, 0.1503, 0.1188, 0.4141},
40293 {0.2550, 0.1361, 0.1689, 0.4400},
40294 {0.2684, 0.1770, 0.1554, 0.3992},
40295 {0.1687, 0.2231, 0.1351, 0.4732}},
40296 {
40297 {0.3382, 0.3124, 0.1476, 0.2017},
40298 {0.1378, 0.4145, 0.2045, 0.2433},
40299 {0.1357, 0.5255, 0.1247, 0.2142},
40300 {0.0981, 0.2840, 0.3432, 0.2747}},
40301 {
40302 {0.3205, 0.3685, 0.1104, 0.2006},
40303 {0.3513, 0.2062, 0.1998, 0.2428},
40304 {0.2250, 0.2847, 0.3499, 0.1403},
40305 {0.2439, 0.2336, 0.3362, 0.1863}},
40306 {
40307 {0.3511, 0.1724, 0.0849, 0.3916},
40308 {0.2450, 0.2106, 0.1623, 0.3821},
40309 {0.3255, 0.2055, 0.2305, 0.2386},
40310 {0.2008, 0.2393, 0.1362, 0.4237}},
40311 {
40312 {0.2108, 0.3522, 0.2494, 0.1876},
40313 {0.1731, 0.3855, 0.2274, 0.2139},
40314 {0.1248, 0.4429, 0.1401, 0.2922},
40315 {0.0814, 0.3478, 0.3449, 0.2259}},
40316 {
40317 {0.2563, 0.2631, 0.2767, 0.2039},
40318 {0.3264, 0.1704, 0.3097, 0.1935},
40319 {0.1896, 0.2720, 0.3954, 0.1430},
40320 {0.1286, 0.3155, 0.3905, 0.1655}},
40321 {
40322 {0.4092, 0.2154, 0.1306, 0.2448},
40323 {0.3024, 0.1906, 0.1756, 0.3314},
40324 {0.3351, 0.2729, 0.1837, 0.2083},
40325 {0.2197, 0.2727, 0.1699, 0.3377}},
40326 {
40327 {0.1864, 0.3506, 0.2888, 0.1743},
40328 {0.1977, 0.3555, 0.2596, 0.1873},
40329 {0.1684, 0.4726, 0.1255, 0.2336},
40330 {0.1058, 0.3221, 0.3441, 0.2280}},
40331 {
40332 {0.3098, 0.1862, 0.3144, 0.1895},
40333 {0.3206, 0.1975, 0.2490, 0.2330},
40334 {0.2223, 0.2676, 0.3700, 0.1401},
40335 {0.1480, 0.2796, 0.4168, 0.1556}},
40336 {
40337 {0.3119, 0.2212, 0.1109, 0.3560},
40338 {0.3500, 0.2340, 0.1638, 0.2522},
40339 {0.3722, 0.2206, 0.1905, 0.2167},
40340 {0.1478, 0.2718, 0.2268, 0.3536}},
40341 {
40342 {0.1578, 0.2691, 0.4128, 0.1603},
40343 {0.1604, 0.4010, 0.2329, 0.2058},
40344 {0.1322, 0.5542, 0.1303, 0.1834},
40345 {0.0980, 0.3062, 0.4195, 0.1763}},
40346 {
40347 {0.2996, 0.2660, 0.2766, 0.1578},
40348 {0.3272, 0.1964, 0.2861, 0.1903},
40349 {0.1877, 0.2492, 0.4301, 0.1331},
40350 {0.1973, 0.3061, 0.3554, 0.1412}},
40351 {
40352 {0.3775, 0.2280, 0.0998, 0.2947},
40353 {0.2841, 0.1611, 0.1954, 0.3595},
40354 {0.3593, 0.2680, 0.2045, 0.1683},
40355 {0.1674, 0.2813, 0.1901, 0.3613}},
40356 {
40357 {0.1698, 0.2828, 0.3565, 0.1908},
40358 {0.1668, 0.4280, 0.2277, 0.1775},
40359 {0.2678, 0.4480, 0.1018, 0.1824},
40360 {0.1087, 0.2259, 0.4585, 0.2069}},
40361 {
40362 {0.2753, 0.2503, 0.2023, 0.2722},
40363 {0.3316, 0.1784, 0.2966, 0.1933},
40364 {0.2065, 0.3066, 0.3630, 0.1239},
40365 {0.1914, 0.2245, 0.4131, 0.1710}},
40366 {
40367 {0.4041, 0.2101, 0.0992, 0.2866},
40368 {0.3459, 0.1689, 0.1464, 0.3388},
40369 {0.3468, 0.2393, 0.2003, 0.2136},
40370 {0.1525, 0.4305, 0.1647, 0.2523}},
40371 {
40372 {0.1452, 0.2419, 0.3140, 0.2989},
40373 {0.2320, 0.3232, 0.2345, 0.2103},
40374 {0.1369, 0.4615, 0.1755, 0.2261},
40375 {0.0692, 0.2635, 0.4584, 0.2089}},
40376 {
40377 {0.2349, 0.2137, 0.3164, 0.2350},
40378 {0.3569, 0.2062, 0.2548, 0.1821},
40379 {0.2824, 0.2576, 0.3080, 0.1520},
40380 {0.1675, 0.2472, 0.4505, 0.1349}},
40381 {
40382 {0.4477, 0.1772, 0.2002, 0.1749},
40383 {0.2852, 0.2092, 0.2475, 0.2580},
40384 {0.4098, 0.1970, 0.2474, 0.1458},
40385 {0.1855, 0.3355, 0.1360, 0.3430}},
40386 {
40387 {0.1190, 0.2631, 0.4622, 0.1557},
40388 {0.1840, 0.4052, 0.2408, 0.1700},
40389 {0.1699, 0.4474, 0.1019, 0.2808},
40390 {0.1174, 0.3065, 0.3923, 0.1838}},
40391 {
40392 {0.3468, 0.2492, 0.2716, 0.1324},
40393 {0.3414, 0.1752, 0.2829, 0.2005},
40394 {0.1935, 0.3483, 0.3025, 0.1557},
40395 {0.1641, 0.2676, 0.4013, 0.1670}},
40396 {
40397 {0.3969, 0.1981, 0.1066, 0.2984},
40398 {0.2501, 0.1915, 0.2174, 0.3410},
40399 {0.3247, 0.2421, 0.1496, 0.2837},
40400 {0.1809, 0.2320, 0.2446, 0.3425}},
40401 {
40402 {0.1433, 0.2832, 0.3612, 0.2123},
40403 {0.1304, 0.3746, 0.3333, 0.1617},
40404 {0.0980, 0.4840, 0.2260, 0.1921},
40405 {0.1251, 0.2549, 0.4094, 0.2106}},
40406 {
40407 {0.3324, 0.2640, 0.2618, 0.1418},
40408 {0.3287, 0.1741, 0.3345, 0.1627},
40409 {0.2402, 0.3089, 0.3317, 0.1192},
40410 {0.1846, 0.2435, 0.4333, 0.1386}},
40411 {
40412 {0.4147, 0.2141, 0.0934, 0.2777},
40413 {0.2795, 0.2175, 0.1701, 0.3328},
40414 {0.4150, 0.2308, 0.1292, 0.2250},
40415 {0.1637, 0.3176, 0.1732, 0.3455}},
40416 {
40417 {0.1756, 0.2750, 0.3770, 0.1724},
40418 {0.1290, 0.4437, 0.2346, 0.1928},
40419 {0.1236, 0.5059, 0.1716, 0.1989},
40420 {0.1199, 0.2627, 0.4110, 0.2063}},
40421 {
40422 {0.3147, 0.2171, 0.3032, 0.1650},
40423 {0.4144, 0.1459, 0.2825, 0.1573},
40424 {0.2965, 0.2612, 0.3382, 0.1042},
40425 {0.1568, 0.2304, 0.4645, 0.1483}},
40426 {
40427 {0.4105, 0.1876, 0.1063, 0.2955},
40428 {0.2785, 0.2545, 0.1637, 0.3032},
40429 {0.3108, 0.2458, 0.1844, 0.2591},
40430 {0.1570, 0.2326, 0.2761, 0.3344}},
40431 {
40432 {0.1203, 0.3596, 0.3447, 0.1753},
40433 {0.1531, 0.4737, 0.2221, 0.1512},
40434 {0.1643, 0.4722, 0.1783, 0.1851},
40435 {0.1102, 0.2525, 0.4769, 0.1604}},
40436 {
40437 {0.2816, 0.1829, 0.2757, 0.2598},
40438 {0.3736, 0.1630, 0.2208, 0.2426},
40439 {0.2471, 0.2807, 0.3507, 0.1215},
40440 {0.1966, 0.2922, 0.3291, 0.1822}},
40441 {
40442 {0.4135, 0.1955, 0.1043, 0.2867},
40443 {0.3109, 0.2380, 0.1949, 0.2561},
40444 {0.4119, 0.1726, 0.1991, 0.2163},
40445 {0.2439, 0.2126, 0.1581, 0.3854}},
40446 {
40447 {0.1515, 0.3133, 0.3592, 0.1760},
40448 {0.1795, 0.4282, 0.2202, 0.1720},
40449 {0.1228, 0.4807, 0.1607, 0.2358},
40450 {0.0944, 0.2740, 0.3746, 0.2569}},
40451 {
40452 {0.2876, 0.2351, 0.3080, 0.1692},
40453 {0.3712, 0.1641, 0.2572, 0.2075},
40454 {0.2272, 0.3166, 0.3347, 0.1216},
40455 {0.2378, 0.1795, 0.4265, 0.1562}},
40456 {
40457 {0.3930, 0.1944, 0.1463, 0.2664},
40458 {0.3705, 0.1766, 0.1820, 0.2709},
40459 {0.3108, 0.2752, 0.2300, 0.1840},
40460 {0.1903, 0.3376, 0.1658, 0.3063}},
40461 {
40462 {0.1423, 0.2991, 0.3539, 0.2047},
40463 {0.1413, 0.4519, 0.1926, 0.2142},
40464 {0.1979, 0.5018, 0.1405, 0.1597},
40465 {0.0915, 0.2764, 0.4497, 0.1824}},
40466 {
40467 {0.2228, 0.3009, 0.3423, 0.1340},
40468 {0.3671, 0.1833, 0.2233, 0.2263},
40469 {0.2279, 0.3017, 0.3418, 0.1285},
40470 {0.2034, 0.2239, 0.4065, 0.1662}},
40471 {
40472 {0.3551, 0.1516, 0.1779, 0.3153},
40473 {0.3097, 0.1623, 0.2182, 0.3098},
40474 {0.3134, 0.2744, 0.2473, 0.1649},
40475 {0.1843, 0.2584, 0.1970, 0.3604}},
40476 {
40477 {0.1448, 0.3277, 0.3569, 0.1706},
40478 {0.1164, 0.4112, 0.2820, 0.1904},
40479 {0.1082, 0.5367, 0.1654, 0.1897},
40480 {0.1094, 0.3080, 0.3680, 0.2146}},
40481 {
40482 {0.2683, 0.2338, 0.2713, 0.2266},
40483 {0.3508, 0.2137, 0.2680, 0.1675},
40484 {0.2011, 0.3236, 0.3771, 0.0982},
40485 {0.1981, 0.2818, 0.3866, 0.1335}},
40486 {
40487 {0.3611, 0.1842, 0.1136, 0.3410},
40488 {0.3344, 0.1928, 0.1984, 0.2743},
40489 {0.3165, 0.2157, 0.3025, 0.1652},
40490 {0.2312, 0.2401, 0.1660, 0.3627}},
40491 {
40492 {0.1537, 0.2520, 0.3809, 0.2133},
40493 {0.1399, 0.3820, 0.2906, 0.1875},
40494 {0.1918, 0.4276, 0.1503, 0.2303},
40495 {0.0754, 0.2358, 0.4164, 0.2724}},
40496 {
40497 {0.2544, 0.2938, 0.2857, 0.1661},
40498 {0.2540, 0.1960, 0.3419, 0.2082},
40499 {0.2460, 0.2951, 0.3380, 0.1209},
40500 {0.1180, 0.2829, 0.4398, 0.1593}},
40501 {
40502 {0.3930, 0.2095, 0.1339, 0.2636},
40503 {0.2903, 0.1836, 0.2224, 0.3037},
40504 {0.3710, 0.2985, 0.1896, 0.1409},
40505 {0.1247, 0.2770, 0.2291, 0.3693}},
40506 {
40507 {0.1784, 0.2634, 0.3660, 0.1922},
40508 {0.1739, 0.3841, 0.2589, 0.1831},
40509 {0.1860, 0.4354, 0.1576, 0.2210},
40510 {0.0816, 0.3581, 0.3645, 0.1958}},
40511 {
40512 {0.3000, 0.2304, 0.2908, 0.1789},
40513 {0.3343, 0.1838, 0.2789, 0.2030},
40514 {0.1988, 0.2957, 0.3766, 0.1288},
40515 {0.1470, 0.3140, 0.4139, 0.1251}},
40516 {
40517 {0.3398, 0.2098, 0.1375, 0.3130},
40518 {0.2591, 0.1980, 0.1818, 0.3611},
40519 {0.3111, 0.2391, 0.2668, 0.1830},
40520 {0.1490, 0.2858, 0.2306, 0.3346}},
40521 {
40522 {0.1698, 0.3001, 0.3633, 0.1669},
40523 {0.1785, 0.4172, 0.2881, 0.1162},
40524 {0.1877, 0.4407, 0.1775, 0.1941},
40525 {0.0809, 0.2809, 0.4862, 0.1520}},
40526 {
40527 {0.2721, 0.2755, 0.2670, 0.1854},
40528 {0.3498, 0.1835, 0.3241, 0.1427},
40529 {0.1839, 0.2891, 0.3068, 0.2201},
40530 {0.1784, 0.3177, 0.3541, 0.1498}},
40531 {
40532 {0.3766, 0.1509, 0.1337, 0.3388},
40533 {0.2603, 0.1949, 0.1856, 0.3592},
40534 {0.3661, 0.2519, 0.1931, 0.1889},
40535 {0.1598, 0.2541, 0.1449, 0.4412}}},
40536
40537 { /* Splice_Site: T2_AG; Species: Droso */
40538 {
40539 {0.2987, 0.2987, 0.2987, 0.2987},
40540 {0.1695, 0.1695, 0.1695, 0.1695},
40541 {0.2068, 0.2068, 0.2068, 0.2068},
40542 {0.3251, 0.3251, 0.3251, 0.3251}},
40543 {
40544 {0.3492, 0.1687, 0.2265, 0.2556},
40545 {0.3373, 0.2549, 0.1222, 0.2856},
40546 {0.2406, 0.1696, 0.2488, 0.3411},
40547 {0.2861, 0.1890, 0.1876, 0.3373}},
40548 {
40549 {0.2994, 0.1978, 0.1969, 0.3059},
40550 {0.3442, 0.2209, 0.1306, 0.3042},
40551 {0.2823, 0.1854, 0.1988, 0.3335},
40552 {0.2336, 0.1838, 0.1726, 0.4100}},
40553 {
40554 {0.3210, 0.1544, 0.1568, 0.3678},
40555 {0.3599, 0.2212, 0.1274, 0.2915},
40556 {0.2913, 0.2086, 0.2020, 0.2982},
40557 {0.2588, 0.1992, 0.2268, 0.3152}},
40558 {
40559 {0.3281, 0.2294, 0.1866, 0.2559},
40560 {0.2892, 0.2614, 0.1590, 0.2904},
40561 {0.2280, 0.2620, 0.1646, 0.3454},
40562 {0.2665, 0.2224, 0.1694, 0.3417}},
40563 {
40564 {0.3018, 0.1482, 0.1972, 0.3529},
40565 {0.3309, 0.2434, 0.1697, 0.2560},
40566 {0.2919, 0.2268, 0.1601, 0.3212},
40567 {0.2335, 0.1985, 0.1495, 0.4185}},
40568 {
40569 {0.3170, 0.1892, 0.1432, 0.3505},
40570 {0.2672, 0.2994, 0.1433, 0.2901},
40571 {0.3274, 0.2546, 0.1691, 0.2489},
40572 {0.2778, 0.1749, 0.1896, 0.3578}},
40573 {
40574 {0.3078, 0.1896, 0.1701, 0.3324},
40575 {0.3701, 0.2179, 0.1229, 0.2892},
40576 {0.2711, 0.3392, 0.1540, 0.2357},
40577 {0.2232, 0.1718, 0.2707, 0.3343}},
40578 {
40579 {0.4092, 0.1883, 0.1487, 0.2538},
40580 {0.3245, 0.2437, 0.1357, 0.2961},
40581 {0.3726, 0.2549, 0.1141, 0.2584},
40582 {0.2462, 0.2315, 0.1979, 0.3244}},
40583 {
40584 {0.3282, 0.1886, 0.1306, 0.3526},
40585 {0.2750, 0.2853, 0.0865, 0.3533},
40586 {0.2436, 0.2726, 0.1836, 0.3002},
40587 {0.2366, 0.2063, 0.2603, 0.2968}},
40588 {
40589 {0.4118, 0.1040, 0.1409, 0.3433},
40590 {0.3429, 0.1869, 0.1498, 0.3205},
40591 {0.3024, 0.2426, 0.1950, 0.2599},
40592 {0.2353, 0.1889, 0.2121, 0.3636}},
40593 {
40594 {0.3762, 0.1615, 0.1372, 0.3252},
40595 {0.3525, 0.2332, 0.1260, 0.2883},
40596 {0.2222, 0.3146, 0.1285, 0.3347},
40597 {0.2507, 0.1899, 0.2546, 0.3048}},
40598 {
40599 {0.3244, 0.1552, 0.1341, 0.3863},
40600 {0.4014, 0.1968, 0.1075, 0.2943},
40601 {0.3310, 0.2266, 0.1971, 0.2453},
40602 {0.2993, 0.1613, 0.2168, 0.3227}},
40603 {
40604 {0.3678, 0.1270, 0.1464, 0.3588},
40605 {0.2682, 0.2368, 0.1294, 0.3656},
40606 {0.3182, 0.3230, 0.0916, 0.2672},
40607 {0.3380, 0.1638, 0.1654, 0.3328}},
40608 {
40609 {0.3009, 0.1884, 0.1396, 0.3711},
40610 {0.3307, 0.1898, 0.1951, 0.2844},
40611 {0.2922, 0.2598, 0.1586, 0.2895},
40612 {0.1962, 0.2404, 0.1986, 0.3648}},
40613 {
40614 {0.3926, 0.2194, 0.1160, 0.2720},
40615 {0.3260, 0.2481, 0.1499, 0.2760},
40616 {0.4341, 0.2238, 0.0764, 0.2657},
40617 {0.2510, 0.1675, 0.1636, 0.4179}},
40618 {
40619 {0.4182, 0.1750, 0.1310, 0.2758},
40620 {0.3588, 0.2147, 0.1094, 0.3171},
40621 {0.2814, 0.2822, 0.0991, 0.3373},
40622 {0.2560, 0.2213, 0.1562, 0.3666}},
40623 {
40624 {0.3389, 0.1492, 0.1923, 0.3196},
40625 {0.2691, 0.2518, 0.1262, 0.3529},
40626 {0.4033, 0.1937, 0.1595, 0.2435},
40627 {0.2258, 0.1811, 0.2240, 0.3691}},
40628 {
40629 {0.3282, 0.1749, 0.1500, 0.3469},
40630 {0.3254, 0.2022, 0.1763, 0.2961},
40631 {0.2919, 0.2537, 0.1756, 0.2788},
40632 {0.2425, 0.1999, 0.2603, 0.2973}},
40633 {
40634 {0.4037, 0.1810, 0.1209, 0.2943},
40635 {0.3362, 0.1402, 0.1411, 0.3825},
40636 {0.3021, 0.1881, 0.1577, 0.3521},
40637 {0.3071, 0.1436, 0.1693, 0.3801}},
40638 {
40639 {0.3321, 0.1760, 0.1535, 0.3384},
40640 {0.2926, 0.2214, 0.1207, 0.3654},
40641 {0.3299, 0.2219, 0.1700, 0.2782},
40642 {0.2715, 0.2074, 0.2115, 0.3097}},
40643 {
40644 {0.3594, 0.2087, 0.1100, 0.3219},
40645 {0.2593, 0.2194, 0.1615, 0.3598},
40646 {0.3884, 0.2241, 0.1682, 0.2192},
40647 {0.2756, 0.1799, 0.1949, 0.3495}},
40648 {
40649 {0.3165, 0.2392, 0.1100, 0.3343},
40650 {0.3390, 0.2179, 0.1893, 0.2538},
40651 {0.2514, 0.2915, 0.1202, 0.3369},
40652 {0.3351, 0.1434, 0.2016, 0.3198}},
40653 {
40654 {0.3119, 0.2172, 0.1196, 0.3513},
40655 {0.3161, 0.2035, 0.1570, 0.3234},
40656 {0.3075, 0.2989, 0.1051, 0.2885},
40657 {0.2871, 0.2037, 0.1726, 0.3366}},
40658 {
40659 {0.3492, 0.1659, 0.1300, 0.3549},
40660 {0.3285, 0.2186, 0.0811, 0.3717},
40661 {0.2218, 0.2844, 0.1252, 0.3686},
40662 {0.2771, 0.2149, 0.1783, 0.3297}},
40663 {
40664 {0.3605, 0.1471, 0.0811, 0.4113},
40665 {0.3809, 0.1843, 0.0825, 0.3523},
40666 {0.2824, 0.2852, 0.1046, 0.3278},
40667 {0.2548, 0.1738, 0.1551, 0.4162}},
40668 {
40669 {0.3840, 0.1506, 0.1120, 0.3534},
40670 {0.2863, 0.2582, 0.0747, 0.3808},
40671 {0.2607, 0.1950, 0.0925, 0.4518},
40672 {0.2509, 0.1889, 0.1296, 0.4306}},
40673 {
40674 {0.3817, 0.2055, 0.0533, 0.3595},
40675 {0.3604, 0.2362, 0.0868, 0.3166},
40676 {0.3482, 0.1739, 0.1072, 0.3706},
40677 {0.2853, 0.2083, 0.1319, 0.3745}},
40678 {
40679 {0.4407, 0.1531, 0.0744, 0.3318},
40680 {0.2822, 0.2410, 0.0874, 0.3894},
40681 {0.2623, 0.2545, 0.1572, 0.3261},
40682 {0.2690, 0.1817, 0.1320, 0.4173}},
40683 {
40684 {0.3058, 0.1324, 0.0683, 0.4935},
40685 {0.2670, 0.2253, 0.0928, 0.4148},
40686 {0.2538, 0.3354, 0.1247, 0.2861},
40687 {0.3570, 0.1796, 0.1443, 0.3191}},
40688 {
40689 {0.3710, 0.1405, 0.0980, 0.3904},
40690 {0.2136, 0.2145, 0.0969, 0.4750},
40691 {0.3093, 0.2167, 0.1234, 0.3505},
40692 {0.2871, 0.1691, 0.1200, 0.4237}},
40693 {
40694 {0.3675, 0.1517, 0.0654, 0.4155},
40695 {0.3080, 0.2511, 0.0954, 0.3456},
40696 {0.2914, 0.2479, 0.0949, 0.3659},
40697 {0.3610, 0.1229, 0.1607, 0.3554}},
40698 {
40699 {0.4459, 0.1530, 0.0500, 0.3511},
40700 {0.2902, 0.3115, 0.0650, 0.3333},
40701 {0.2727, 0.2158, 0.0346, 0.4769},
40702 {0.2788, 0.2079, 0.1760, 0.3373}},
40703 {
40704 {0.3537, 0.1856, 0.0667, 0.3939},
40705 {0.2573, 0.2354, 0.1592, 0.3481},
40706 {0.2553, 0.2524, 0.0621, 0.4303},
40707 {0.2730, 0.1804, 0.1176, 0.4290}},
40708 {
40709 {0.3546, 0.1932, 0.0504, 0.4017},
40710 {0.2959, 0.2045, 0.1431, 0.3565},
40711 {0.2513, 0.2967, 0.1141, 0.3379},
40712 {0.2709, 0.1713, 0.2079, 0.3498}},
40713 {
40714 {0.3757, 0.2280, 0.0520, 0.3443},
40715 {0.2744, 0.2774, 0.1220, 0.3261},
40716 {0.2233, 0.3530, 0.1038, 0.3199},
40717 {0.2495, 0.1909, 0.1305, 0.4291}},
40718 {
40719 {0.3022, 0.2106, 0.0810, 0.4062},
40720 {0.2579, 0.2944, 0.1326, 0.3151},
40721 {0.2289, 0.2332, 0.1174, 0.4205},
40722 {0.1909, 0.1957, 0.1686, 0.4448}},
40723 {
40724 {0.3556, 0.1740, 0.0527, 0.4178},
40725 {0.2657, 0.2762, 0.1139, 0.3441},
40726 {0.2524, 0.2550, 0.0944, 0.3982},
40727 {0.2247, 0.2231, 0.1617, 0.3905}},
40728 {
40729 {0.3130, 0.1772, 0.0576, 0.4523},
40730 {0.2740, 0.2719, 0.1260, 0.3281},
40731 {0.1698, 0.2796, 0.1448, 0.4059},
40732 {0.1892, 0.2563, 0.1547, 0.3998}},
40733 {
40734 {0.2431, 0.1570, 0.0293, 0.5706},
40735 {0.1765, 0.2774, 0.1094, 0.4367},
40736 {0.2739, 0.2908, 0.0865, 0.3488},
40737 {0.1701, 0.2654, 0.1398, 0.4248}},
40738 {
40739 {0.3147, 0.0953, 0.0296, 0.5603},
40740 {0.2410, 0.2367, 0.1525, 0.3698},
40741 {0.2185, 0.2555, 0.1044, 0.4217},
40742 {0.1501, 0.2050, 0.1608, 0.4841}},
40743 {
40744 {0.2124, 0.2435, 0.0190, 0.5251},
40745 {0.2606, 0.2575, 0.1136, 0.3683},
40746 {0.2311, 0.1967, 0.1059, 0.4662},
40747 {0.1782, 0.2215, 0.1111, 0.4892}},
40748 {
40749 {0.2536, 0.2231, 0.0225, 0.5009},
40750 {0.1729, 0.2705, 0.1328, 0.4238},
40751 {0.1410, 0.3120, 0.1462, 0.4008},
40752 {0.1347, 0.2149, 0.1255, 0.5248}},
40753 {
40754 {0.2820, 0.2539, 0.0079, 0.4562},
40755 {0.2343, 0.3345, 0.1267, 0.3045},
40756 {0.1818, 0.3461, 0.0530, 0.4191},
40757 {0.1684, 0.2173, 0.1826, 0.4317}},
40758 {
40759 {0.3496, 0.1791, 0.0000, 0.4713},
40760 {0.2069, 0.3354, 0.0979, 0.3598},
40761 {0.2015, 0.3245, 0.1389, 0.3351},
40762 {0.1458, 0.2847, 0.1409, 0.4285}},
40763 {
40764 {0.2290, 0.2533, 0.0066, 0.5111},
40765 {0.1558, 0.3366, 0.1155, 0.3922},
40766 {0.1051, 0.4775, 0.0738, 0.3436},
40767 {0.1002, 0.3490, 0.0848, 0.4661}},
40768 {
40769 {0.1753, 0.1574, 0.0116, 0.6557},
40770 {0.1729, 0.2623, 0.0946, 0.4703},
40771 {0.0969, 0.2594, 0.0592, 0.5845},
40772 {0.1164, 0.2224, 0.0824, 0.5789}},
40773 {
40774 {0.2639, 0.3907, 0.0105, 0.3349},
40775 {0.1596, 0.3317, 0.0931, 0.4156},
40776 {0.1439, 0.2425, 0.0685, 0.5451},
40777 {0.0456, 0.1218, 0.0524, 0.7802}},
40778 {
40779 {0.5637, 0.1867, 0.0502, 0.1994},
40780 {0.4038, 0.1720, 0.2406, 0.1836},
40781 {0.2894, 0.2095, 0.2159, 0.2852},
40782 {0.1726, 0.1828, 0.3087, 0.3360}},
40783 {
40784 {0.0272, 0.7304, 0.0000, 0.2424},
40785 {0.1048, 0.6643, 0.0159, 0.2150},
40786 {0.0438, 0.7939, 0.0052, 0.1571},
40787 {0.0414, 0.5022, 0.0057, 0.4507}},
40788 {
40789 {1.0000, 0.0000, 0.0000, 0.0000},
40790 {1.0000, 0.0000, 0.0000, 0.0000},
40791 {1.0000, 0.0000, 0.0000, 0.0000},
40792 {1.0000, 0.0000, 0.0000, 0.0000}},
40793 {
40794 {0.0000, 0.0000, 1.0000, 0.0000},
40795 {0.0000, 0.0000, 0.0000, 0.0000},
40796 {0.0000, 0.0000, 0.0000, 0.0000},
40797 {0.0000, 0.0000, 0.0000, 0.0000}},
40798 {
40799 {0.0000, 0.0000, 0.0000, 0.0000},
40800 {0.0000, 0.0000, 0.0000, 0.0000},
40801 {0.3242, 0.2219, 0.2773, 0.1766},
40802 {0.0000, 0.0000, 0.0000, 0.0000}},
40803 {
40804 {0.1706, 0.2372, 0.1762, 0.4159},
40805 {0.1548, 0.3311, 0.1131, 0.4011},
40806 {0.2353, 0.3135, 0.0521, 0.3992},
40807 {0.1198, 0.1463, 0.3660, 0.3679}},
40808 {
40809 {0.4356, 0.2467, 0.1585, 0.1593},
40810 {0.3160, 0.1434, 0.2617, 0.2789},
40811 {0.3204, 0.3318, 0.2784, 0.0694},
40812 {0.1631, 0.3131, 0.3626, 0.1612}},
40813 {
40814 {0.3546, 0.2676, 0.1011, 0.2767},
40815 {0.2812, 0.2587, 0.1246, 0.3356},
40816 {0.3811, 0.2018, 0.2084, 0.2087},
40817 {0.1786, 0.2577, 0.2540, 0.3097}},
40818 {
40819 {0.2496, 0.3440, 0.1939, 0.2125},
40820 {0.1928, 0.4013, 0.1831, 0.2228},
40821 {0.0979, 0.5460, 0.1456, 0.2104},
40822 {0.1099, 0.2960, 0.3075, 0.2867}},
40823 {
40824 {0.3458, 0.2264, 0.1716, 0.2562},
40825 {0.3361, 0.2087, 0.2576, 0.1976},
40826 {0.3227, 0.2662, 0.2906, 0.1205},
40827 {0.1982, 0.2934, 0.3687, 0.1397}},
40828 {
40829 {0.4632, 0.1075, 0.1553, 0.2739},
40830 {0.2919, 0.2483, 0.2047, 0.2552},
40831 {0.3551, 0.2024, 0.2403, 0.2022},
40832 {0.1432, 0.2740, 0.1740, 0.4088}},
40833 {
40834 {0.2811, 0.2298, 0.2619, 0.2272},
40835 {0.1984, 0.4095, 0.2221, 0.1700},
40836 {0.1657, 0.5279, 0.1383, 0.1681},
40837 {0.0646, 0.2013, 0.4090, 0.3250}},
40838 {
40839 {0.3209, 0.3489, 0.1563, 0.1740},
40840 {0.3429, 0.1773, 0.2688, 0.2110},
40841 {0.1598, 0.2879, 0.3404, 0.2119},
40842 {0.1746, 0.2380, 0.4077, 0.1797}},
40843 {
40844 {0.3684, 0.2557, 0.1139, 0.2619},
40845 {0.2984, 0.1587, 0.2773, 0.2656},
40846 {0.3193, 0.2299, 0.1822, 0.2686},
40847 {0.1929, 0.3230, 0.2332, 0.2510}},
40848 {
40849 {0.2026, 0.2391, 0.3411, 0.2172},
40850 {0.2110, 0.3309, 0.2824, 0.1757},
40851 {0.1868, 0.4108, 0.1360, 0.2663},
40852 {0.0740, 0.2860, 0.4062, 0.2338}},
40853 {
40854 {0.3341, 0.2457, 0.2680, 0.1522},
40855 {0.3129, 0.1641, 0.2947, 0.2283},
40856 {0.1932, 0.3090, 0.3416, 0.1562},
40857 {0.2103, 0.2573, 0.3895, 0.1429}},
40858 {
40859 {0.4181, 0.1899, 0.1068, 0.2852},
40860 {0.3032, 0.1960, 0.1905, 0.3104},
40861 {0.4286, 0.2390, 0.1971, 0.1353},
40862 {0.1143, 0.3285, 0.2480, 0.3092}},
40863 {
40864 {0.1845, 0.2461, 0.3463, 0.2230},
40865 {0.2900, 0.3148, 0.2357, 0.1595},
40866 {0.1724, 0.4127, 0.1680, 0.2469},
40867 {0.1012, 0.3153, 0.3595, 0.2240}},
40868 {
40869 {0.3922, 0.2369, 0.2177, 0.1532},
40870 {0.4458, 0.1617, 0.2046, 0.1880},
40871 {0.2959, 0.2260, 0.2871, 0.1910},
40872 {0.1766, 0.2147, 0.4358, 0.1729}},
40873 {
40874 {0.3556, 0.1785, 0.1406, 0.3253},
40875 {0.2492, 0.2483, 0.2041, 0.2984},
40876 {0.4077, 0.1996, 0.1939, 0.1987},
40877 {0.1880, 0.3135, 0.1414, 0.3571}},
40878 {
40879 {0.2029, 0.2458, 0.3276, 0.2236},
40880 {0.2118, 0.3699, 0.1964, 0.2219},
40881 {0.1606, 0.4072, 0.1603, 0.2719},
40882 {0.0984, 0.3113, 0.3912, 0.1991}},
40883 {
40884 {0.3086, 0.2805, 0.2226, 0.1884},
40885 {0.3719, 0.1893, 0.2877, 0.1510},
40886 {0.2555, 0.2499, 0.3768, 0.1178},
40887 {0.2038, 0.3020, 0.3193, 0.1749}},
40888 {
40889 {0.4016, 0.2179, 0.1448, 0.2357},
40890 {0.3125, 0.2351, 0.2027, 0.2498},
40891 {0.3704, 0.2136, 0.2354, 0.1806},
40892 {0.1040, 0.4416, 0.1660, 0.2884}},
40893 {
40894 {0.1661, 0.2585, 0.3749, 0.2005},
40895 {0.2178, 0.2929, 0.3489, 0.1404},
40896 {0.2291, 0.4956, 0.1055, 0.1698},
40897 {0.1343, 0.2383, 0.3342, 0.2932}},
40898 {
40899 {0.3182, 0.1993, 0.2513, 0.2311},
40900 {0.3165, 0.2107, 0.2410, 0.2318},
40901 {0.2340, 0.3124, 0.3201, 0.1335},
40902 {0.1878, 0.3757, 0.2817, 0.1548}},
40903 {
40904 {0.4273, 0.1903, 0.1684, 0.2140},
40905 {0.3617, 0.2714, 0.1736, 0.1933},
40906 {0.3731, 0.2250, 0.2418, 0.1602},
40907 {0.1868, 0.2609, 0.1649, 0.3874}},
40908 {
40909 {0.1365, 0.2598, 0.3383, 0.2653},
40910 {0.1719, 0.3500, 0.2820, 0.1961},
40911 {0.1490, 0.4624, 0.1332, 0.2554},
40912 {0.1223, 0.3099, 0.3777, 0.1900}},
40913 {
40914 {0.4092, 0.2221, 0.2426, 0.1262},
40915 {0.3667, 0.1549, 0.2936, 0.1847},
40916 {0.2444, 0.2485, 0.3680, 0.1391},
40917 {0.2074, 0.2554, 0.4261, 0.1110}},
40918 {
40919 {0.3992, 0.1894, 0.1152, 0.2961},
40920 {0.2361, 0.2430, 0.1746, 0.3463},
40921 {0.3914, 0.2188, 0.1906, 0.1992},
40922 {0.1156, 0.3316, 0.2246, 0.3281}},
40923 {
40924 {0.1413, 0.2837, 0.3435, 0.2316},
40925 {0.1772, 0.3555, 0.3071, 0.1602},
40926 {0.2534, 0.4108, 0.1127, 0.2231},
40927 {0.1310, 0.2471, 0.4382, 0.1836}},
40928 {
40929 {0.2385, 0.3391, 0.2892, 0.1332},
40930 {0.3519, 0.1772, 0.3274, 0.1436},
40931 {0.2457, 0.2692, 0.2966, 0.1884},
40932 {0.2268, 0.2838, 0.3832, 0.1063}},
40933 {
40934 {0.4021, 0.2083, 0.0904, 0.2992},
40935 {0.2940, 0.1769, 0.1927, 0.3364},
40936 {0.3664, 0.2376, 0.1922, 0.2039},
40937 {0.1771, 0.2959, 0.1749, 0.3521}},
40938 {
40939 {0.1853, 0.2692, 0.3403, 0.2051},
40940 {0.1545, 0.3912, 0.2916, 0.1627},
40941 {0.1733, 0.4798, 0.1599, 0.1871},
40942 {0.0890, 0.3625, 0.3915, 0.1570}},
40943 {
40944 {0.2669, 0.3306, 0.2486, 0.1539},
40945 {0.3608, 0.1477, 0.2716, 0.2199},
40946 {0.2846, 0.2611, 0.3321, 0.1223},
40947 {0.1886, 0.2291, 0.3804, 0.2018}},
40948 {
40949 {0.3399, 0.1850, 0.1261, 0.3490},
40950 {0.2642, 0.2470, 0.1818, 0.3070},
40951 {0.4048, 0.2130, 0.1503, 0.2320},
40952 {0.1245, 0.2815, 0.2094, 0.3846}},
40953 {
40954 {0.1673, 0.2739, 0.3934, 0.1654},
40955 {0.1935, 0.3475, 0.2298, 0.2292},
40956 {0.1297, 0.4948, 0.1122, 0.2633},
40957 {0.1407, 0.2369, 0.3848, 0.2376}},
40958 {
40959 {0.2945, 0.2297, 0.3049, 0.1709},
40960 {0.3955, 0.1822, 0.2284, 0.1939},
40961 {0.2041, 0.3341, 0.3181, 0.1437},
40962 {0.2067, 0.2246, 0.4585, 0.1101}},
40963 {
40964 {0.4664, 0.1732, 0.1211, 0.2393},
40965 {0.2993, 0.2977, 0.1272, 0.2758},
40966 {0.4277, 0.2390, 0.1424, 0.1909},
40967 {0.1984, 0.3022, 0.1672, 0.3323}},
40968 {
40969 {0.2013, 0.2990, 0.3384, 0.1612},
40970 {0.1411, 0.3116, 0.3038, 0.2435},
40971 {0.1676, 0.4365, 0.1396, 0.2563},
40972 {0.0873, 0.2769, 0.4025, 0.2333}},
40973 {
40974 {0.4152, 0.2508, 0.1427, 0.1912},
40975 {0.3388, 0.1891, 0.2487, 0.2233},
40976 {0.2027, 0.2844, 0.3192, 0.1937},
40977 {0.1969, 0.3215, 0.3284, 0.1533}},
40978 {
40979 {0.3853, 0.2298, 0.1539, 0.2310},
40980 {0.3393, 0.2369, 0.1800, 0.2439},
40981 {0.4147, 0.2283, 0.1831, 0.1739},
40982 {0.2214, 0.2570, 0.1524, 0.3691}},
40983 {
40984 {0.1996, 0.3380, 0.2622, 0.2002},
40985 {0.1802, 0.4633, 0.2006, 0.1558},
40986 {0.1275, 0.5451, 0.1530, 0.1745},
40987 {0.1317, 0.2972, 0.4026, 0.1685}},
40988 {
40989 {0.2375, 0.3287, 0.1762, 0.2576},
40990 {0.2794, 0.2021, 0.2810, 0.2375},
40991 {0.2337, 0.3301, 0.3072, 0.1291},
40992 {0.1579, 0.2490, 0.4812, 0.1119}},
40993 {
40994 {0.3397, 0.2493, 0.1390, 0.2721},
40995 {0.2943, 0.2383, 0.2172, 0.2502},
40996 {0.3171, 0.2414, 0.2709, 0.1706},
40997 {0.1374, 0.2340, 0.2309, 0.3977}},
40998 {
40999 {0.1681, 0.2712, 0.3565, 0.2042},
41000 {0.1899, 0.4115, 0.2488, 0.1499},
41001 {0.1693, 0.4124, 0.1536, 0.2646},
41002 {0.0963, 0.2485, 0.3906, 0.2646}},
41003 {
41004 {0.3090, 0.2290, 0.2654, 0.1965},
41005 {0.3861, 0.1858, 0.2736, 0.1544},
41006 {0.2374, 0.3109, 0.3542, 0.0975},
41007 {0.1617, 0.2916, 0.3965, 0.1502}},
41008 {
41009 {0.3569, 0.2519, 0.1114, 0.2798},
41010 {0.2179, 0.2590, 0.2000, 0.3231},
41011 {0.2785, 0.2539, 0.2040, 0.2636},
41012 {0.1868, 0.2317, 0.1901, 0.3914}},
41013 {
41014 {0.1424, 0.3017, 0.3499, 0.2060},
41015 {0.1974, 0.3999, 0.2770, 0.1257},
41016 {0.1719, 0.4725, 0.1494, 0.2062},
41017 {0.1149, 0.2895, 0.4528, 0.1428}},
41018 {
41019 {0.3159, 0.2458, 0.2618, 0.1765},
41020 {0.3320, 0.2002, 0.2806, 0.1872},
41021 {0.2378, 0.3899, 0.2726, 0.0997},
41022 {0.1196, 0.2320, 0.4375, 0.2110}},
41023 {
41024 {0.4168, 0.1487, 0.1438, 0.2906},
41025 {0.2057, 0.2970, 0.1997, 0.2976},
41026 {0.4124, 0.2366, 0.1518, 0.1992},
41027 {0.1882, 0.3007, 0.1734, 0.3377}},
41028 {
41029 {0.1214, 0.2921, 0.3766, 0.2100},
41030 {0.2133, 0.4520, 0.1835, 0.1512},
41031 {0.2036, 0.4484, 0.1412, 0.2068},
41032 {0.1371, 0.2462, 0.4062, 0.2105}},
41033 {
41034 {0.2522, 0.2440, 0.2482, 0.2556},
41035 {0.3846, 0.1742, 0.2611, 0.1801},
41036 {0.2928, 0.2890, 0.2861, 0.1321},
41037 {0.1379, 0.2600, 0.3656, 0.2365}},
41038 {
41039 {0.4058, 0.1755, 0.1805, 0.2382},
41040 {0.2627, 0.1967, 0.2506, 0.2900},
41041 {0.3459, 0.2213, 0.2392, 0.1936},
41042 {0.1900, 0.3075, 0.2161, 0.2863}},
41043 {
41044 {0.1552, 0.2909, 0.3570, 0.1969},
41045 {0.1528, 0.4331, 0.2454, 0.1687},
41046 {0.2017, 0.5131, 0.1332, 0.1520},
41047 {0.0725, 0.2640, 0.4350, 0.2286}}},
41048
41049 { /* Splice_Site: T0_AG; Species: Droso */
41050 {
41051 {0.2858, 0.2858, 0.2858, 0.2858},
41052 {0.1934, 0.1934, 0.1934, 0.1934},
41053 {0.1986, 0.1986, 0.1986, 0.1986},
41054 {0.3222, 0.3222, 0.3222, 0.3222}},
41055 {
41056 {0.3211, 0.1627, 0.1901, 0.3261},
41057 {0.2748, 0.2838, 0.1475, 0.2938},
41058 {0.2464, 0.2156, 0.2477, 0.2903},
41059 {0.3024, 0.1705, 0.2110, 0.3162}},
41060 {
41061 {0.3533, 0.1138, 0.2398, 0.2931},
41062 {0.3436, 0.2178, 0.0913, 0.3473},
41063 {0.1976, 0.1736, 0.2646, 0.3642},
41064 {0.2352, 0.1888, 0.1774, 0.3986}},
41065 {
41066 {0.4051, 0.2132, 0.2177, 0.1639},
41067 {0.3204, 0.2510, 0.1292, 0.2994},
41068 {0.2152, 0.3114, 0.1984, 0.2750},
41069 {0.2712, 0.2211, 0.1513, 0.3564}},
41070 {
41071 {0.2866, 0.1659, 0.2165, 0.3311},
41072 {0.2284, 0.3173, 0.1402, 0.3141},
41073 {0.2849, 0.2116, 0.1726, 0.3309},
41074 {0.2378, 0.2674, 0.2112, 0.2835}},
41075 {
41076 {0.3881, 0.1712, 0.1144, 0.3263},
41077 {0.4275, 0.1549, 0.0942, 0.3235},
41078 {0.2622, 0.2477, 0.1727, 0.3175},
41079 {0.3077, 0.1546, 0.1468, 0.3908}},
41080 {
41081 {0.3190, 0.1852, 0.1573, 0.3385},
41082 {0.3075, 0.2172, 0.2434, 0.2318},
41083 {0.2931, 0.2312, 0.2085, 0.2672},
41084 {0.2733, 0.2300, 0.1719, 0.3247}},
41085 {
41086 {0.3706, 0.1583, 0.1694, 0.3017},
41087 {0.2932, 0.2502, 0.1121, 0.3446},
41088 {0.2968, 0.2640, 0.1916, 0.2476},
41089 {0.2473, 0.2209, 0.1664, 0.3654}},
41090 {
41091 {0.3707, 0.1581, 0.1806, 0.2906},
41092 {0.2946, 0.2246, 0.1426, 0.3383},
41093 {0.2257, 0.2768, 0.2101, 0.2875},
41094 {0.2465, 0.1703, 0.1899, 0.3933}},
41095 {
41096 {0.3061, 0.1490, 0.1858, 0.3591},
41097 {0.3887, 0.2354, 0.1171, 0.2588},
41098 {0.2084, 0.3228, 0.1917, 0.2772},
41099 {0.2365, 0.2050, 0.2210, 0.3375}},
41100 {
41101 {0.2753, 0.1449, 0.1767, 0.4031},
41102 {0.2452, 0.2556, 0.1706, 0.3285},
41103 {0.3303, 0.1914, 0.1855, 0.2929},
41104 {0.2685, 0.2286, 0.2012, 0.3016}},
41105 {
41106 {0.3856, 0.1384, 0.1599, 0.3162},
41107 {0.2266, 0.2602, 0.1854, 0.3278},
41108 {0.2984, 0.2244, 0.1779, 0.2993},
41109 {0.2458, 0.2084, 0.2251, 0.3207}},
41110 {
41111 {0.3721, 0.1798, 0.1610, 0.2871},
41112 {0.3375, 0.2364, 0.1798, 0.2463},
41113 {0.1934, 0.3054, 0.1530, 0.3482},
41114 {0.2747, 0.1947, 0.1820, 0.3486}},
41115 {
41116 {0.3364, 0.1958, 0.1395, 0.3284},
41117 {0.3826, 0.2383, 0.1000, 0.2791},
41118 {0.3267, 0.2082, 0.1974, 0.2677},
41119 {0.3328, 0.2434, 0.1498, 0.2740}},
41120 {
41121 {0.3430, 0.1816, 0.1763, 0.2991},
41122 {0.3045, 0.2495, 0.1548, 0.2911},
41123 {0.3458, 0.2134, 0.2134, 0.2274},
41124 {0.2126, 0.1843, 0.2443, 0.3588}},
41125 {
41126 {0.2977, 0.1727, 0.2314, 0.2982},
41127 {0.2794, 0.1826, 0.2180, 0.3201},
41128 {0.2874, 0.2316, 0.1512, 0.3298},
41129 {0.2989, 0.2016, 0.1503, 0.3491}},
41130 {
41131 {0.3869, 0.1774, 0.1587, 0.2770},
41132 {0.3254, 0.2754, 0.1503, 0.2489},
41133 {0.3110, 0.2204, 0.1890, 0.2796},
41134 {0.3201, 0.2076, 0.1835, 0.2888}},
41135 {
41136 {0.3382, 0.1654, 0.1439, 0.3525},
41137 {0.2814, 0.3339, 0.2130, 0.1717},
41138 {0.4396, 0.1424, 0.2150, 0.2030},
41139 {0.3062, 0.1691, 0.2101, 0.3145}},
41140 {
41141 {0.3767, 0.1784, 0.1521, 0.2929},
41142 {0.3317, 0.2497, 0.1730, 0.2456},
41143 {0.3086, 0.2327, 0.2140, 0.2447},
41144 {0.3693, 0.1223, 0.1866, 0.3218}},
41145 {
41146 {0.3359, 0.1300, 0.1807, 0.3534},
41147 {0.3567, 0.2443, 0.0780, 0.3211},
41148 {0.3157, 0.2622, 0.1762, 0.2459},
41149 {0.2912, 0.1372, 0.2001, 0.3715}},
41150 {
41151 {0.2731, 0.1802, 0.1438, 0.4029},
41152 {0.2989, 0.1666, 0.2115, 0.3230},
41153 {0.3281, 0.1635, 0.2041, 0.3042},
41154 {0.2284, 0.2404, 0.1873, 0.3439}},
41155 {
41156 {0.3708, 0.1593, 0.1625, 0.3075},
41157 {0.3441, 0.3301, 0.0837, 0.2420},
41158 {0.2639, 0.3254, 0.1819, 0.2288},
41159 {0.3467, 0.1940, 0.1586, 0.3007}},
41160 {
41161 {0.3152, 0.1813, 0.1301, 0.3734},
41162 {0.2431, 0.2804, 0.1428, 0.3338},
41163 {0.3152, 0.1905, 0.2077, 0.2866},
41164 {0.3595, 0.1778, 0.2145, 0.2482}},
41165 {
41166 {0.2949, 0.1804, 0.1700, 0.3547},
41167 {0.2811, 0.2527, 0.1158, 0.3503},
41168 {0.3723, 0.1492, 0.2007, 0.2779},
41169 {0.3188, 0.1374, 0.1905, 0.3533}},
41170 {
41171 {0.3600, 0.1507, 0.0939, 0.3954},
41172 {0.3084, 0.2224, 0.1084, 0.3608},
41173 {0.3766, 0.2303, 0.0742, 0.3188},
41174 {0.3342, 0.1897, 0.1997, 0.2765}},
41175 {
41176 {0.3484, 0.1913, 0.0896, 0.3708},
41177 {0.3022, 0.2103, 0.1157, 0.3719},
41178 {0.3357, 0.2064, 0.1688, 0.2891},
41179 {0.2603, 0.2611, 0.1686, 0.3100}},
41180 {
41181 {0.3692, 0.1912, 0.0776, 0.3620},
41182 {0.3108, 0.2195, 0.1223, 0.3473},
41183 {0.3231, 0.2414, 0.0519, 0.3836},
41184 {0.2809, 0.2143, 0.1525, 0.3523}},
41185 {
41186 {0.3294, 0.2018, 0.0879, 0.3809},
41187 {0.2188, 0.2127, 0.0978, 0.4707},
41188 {0.4013, 0.1664, 0.0867, 0.3455},
41189 {0.3239, 0.1794, 0.1774, 0.3193}},
41190 {
41191 {0.3500, 0.2043, 0.0930, 0.3527},
41192 {0.2819, 0.1842, 0.1226, 0.4113},
41193 {0.3179, 0.1425, 0.1780, 0.3616},
41194 {0.3530, 0.1686, 0.1371, 0.3413}},
41195 {
41196 {0.3207, 0.2206, 0.0613, 0.3974},
41197 {0.3104, 0.2122, 0.0846, 0.3927},
41198 {0.2687, 0.2894, 0.1281, 0.3137},
41199 {0.2995, 0.1611, 0.1308, 0.4086}},
41200 {
41201 {0.3654, 0.1824, 0.0316, 0.4205},
41202 {0.3401, 0.1834, 0.0941, 0.3824},
41203 {0.3052, 0.2865, 0.0557, 0.3526},
41204 {0.3630, 0.1536, 0.1505, 0.3328}},
41205 {
41206 {0.4013, 0.1881, 0.0788, 0.3318},
41207 {0.2360, 0.2442, 0.0706, 0.4492},
41208 {0.3537, 0.3793, 0.0756, 0.1914},
41209 {0.3667, 0.1917, 0.1291, 0.3125}},
41210 {
41211 {0.3709, 0.2482, 0.0399, 0.3410},
41212 {0.2798, 0.1811, 0.0669, 0.4722},
41213 {0.2595, 0.3152, 0.1691, 0.2562},
41214 {0.3774, 0.1390, 0.1123, 0.3713}},
41215 {
41216 {0.3791, 0.2048, 0.0490, 0.3671},
41217 {0.2707, 0.2300, 0.2084, 0.2909},
41218 {0.1484, 0.2513, 0.1550, 0.4453},
41219 {0.3195, 0.1832, 0.1597, 0.3376}},
41220 {
41221 {0.2987, 0.2480, 0.0934, 0.3599},
41222 {0.2791, 0.2191, 0.1927, 0.3091},
41223 {0.2724, 0.2618, 0.1258, 0.3400},
41224 {0.3025, 0.1549, 0.1158, 0.4268}},
41225 {
41226 {0.3223, 0.1701, 0.1031, 0.4045},
41227 {0.3560, 0.2077, 0.0862, 0.3501},
41228 {0.2536, 0.2220, 0.1498, 0.3746},
41229 {0.2392, 0.2012, 0.1568, 0.4027}},
41230 {
41231 {0.3768, 0.1146, 0.1014, 0.4072},
41232 {0.2981, 0.1772, 0.1478, 0.3769},
41233 {0.2163, 0.2235, 0.0753, 0.4848},
41234 {0.1985, 0.2578, 0.1472, 0.3965}},
41235 {
41236 {0.2886, 0.2262, 0.0466, 0.4385},
41237 {0.1955, 0.3624, 0.1238, 0.3183},
41238 {0.1880, 0.1793, 0.1649, 0.4679},
41239 {0.2012, 0.2268, 0.1818, 0.3902}},
41240 {
41241 {0.2815, 0.1692, 0.0512, 0.4981},
41242 {0.2787, 0.3356, 0.0881, 0.2976},
41243 {0.2129, 0.2575, 0.0690, 0.4606},
41244 {0.1953, 0.2576, 0.1222, 0.4249}},
41245 {
41246 {0.2661, 0.2395, 0.0381, 0.4563},
41247 {0.2745, 0.2497, 0.1183, 0.3575},
41248 {0.2893, 0.3155, 0.0793, 0.3159},
41249 {0.2130, 0.2306, 0.1214, 0.4351}},
41250 {
41251 {0.2780, 0.2599, 0.0242, 0.4378},
41252 {0.2839, 0.2251, 0.0593, 0.4316},
41253 {0.2543, 0.2680, 0.1454, 0.3322},
41254 {0.2114, 0.2041, 0.1297, 0.4549}},
41255 {
41256 {0.2714, 0.2128, 0.0243, 0.4915},
41257 {0.2074, 0.3056, 0.1061, 0.3808},
41258 {0.2318, 0.3088, 0.0651, 0.3943},
41259 {0.1854, 0.2279, 0.1236, 0.4631}},
41260 {
41261 {0.2560, 0.2664, 0.0422, 0.4354},
41262 {0.1601, 0.2802, 0.1439, 0.4158},
41263 {0.1251, 0.3174, 0.0901, 0.4674},
41264 {0.1472, 0.2544, 0.1296, 0.4689}},
41265 {
41266 {0.1623, 0.2294, 0.0221, 0.5861},
41267 {0.1783, 0.3703, 0.1235, 0.3280},
41268 {0.1947, 0.2533, 0.1172, 0.4348},
41269 {0.1629, 0.3126, 0.1192, 0.4052}},
41270 {
41271 {0.3243, 0.2561, 0.0114, 0.4083},
41272 {0.2243, 0.3281, 0.1283, 0.3193},
41273 {0.1139, 0.3361, 0.1309, 0.4191},
41274 {0.1428, 0.3164, 0.1189, 0.4219}},
41275 {
41276 {0.2284, 0.2929, 0.0195, 0.4592},
41277 {0.2653, 0.3316, 0.0744, 0.3287},
41278 {0.1625, 0.3472, 0.0980, 0.3923},
41279 {0.1713, 0.3144, 0.1002, 0.4140}},
41280 {
41281 {0.1533, 0.1833, 0.0278, 0.6356},
41282 {0.1560, 0.3223, 0.0768, 0.4449},
41283 {0.0450, 0.2907, 0.0500, 0.6143},
41284 {0.0855, 0.2546, 0.0923, 0.5677}},
41285 {
41286 {0.2384, 0.2634, 0.0000, 0.4982},
41287 {0.2184, 0.3224, 0.1019, 0.3573},
41288 {0.2124, 0.3701, 0.0827, 0.3349},
41289 {0.0412, 0.1475, 0.0490, 0.7623}},
41290 {
41291 {0.5079, 0.1669, 0.0438, 0.2814},
41292 {0.3637, 0.1416, 0.3140, 0.1808},
41293 {0.3712, 0.1967, 0.2287, 0.2034},
41294 {0.1330, 0.2074, 0.2849, 0.3747}},
41295 {
41296 {0.0474, 0.6841, 0.0000, 0.2686},
41297 {0.0619, 0.6796, 0.0000, 0.2585},
41298 {0.0152, 0.8016, 0.0000, 0.1832},
41299 {0.0312, 0.5119, 0.0000, 0.4570}},
41300 {
41301 {1.0000, 0.0000, 0.0000, 0.0000},
41302 {1.0000, 0.0000, 0.0000, 0.0000},
41303 {1.0000, 0.0000, 0.0000, 0.0000},
41304 {1.0000, 0.0000, 0.0000, 0.0000}},
41305 {
41306 {0.0000, 0.0000, 1.0000, 0.0000},
41307 {0.0000, 0.0000, 0.0000, 0.0000},
41308 {0.0000, 0.0000, 0.0000, 0.0000},
41309 {0.0000, 0.0000, 0.0000, 0.0000}},
41310 {
41311 {0.0000, 0.0000, 0.0000, 0.0000},
41312 {0.0000, 0.0000, 0.0000, 0.0000},
41313 {0.2568, 0.2877, 0.2884, 0.1671},
41314 {0.0000, 0.0000, 0.0000, 0.0000}},
41315 {
41316 {0.2485, 0.1931, 0.1881, 0.3703},
41317 {0.3000, 0.1570, 0.1874, 0.3556},
41318 {0.2425, 0.2569, 0.2359, 0.2647},
41319 {0.1319, 0.1527, 0.3575, 0.3579}},
41320 {
41321 {0.3922, 0.1911, 0.0863, 0.3303},
41322 {0.3067, 0.1680, 0.1255, 0.3999},
41323 {0.3802, 0.2630, 0.1712, 0.1856},
41324 {0.2977, 0.2609, 0.1561, 0.2853}},
41325 {
41326 {0.1886, 0.4450, 0.1015, 0.2648},
41327 {0.1384, 0.4169, 0.1683, 0.2764},
41328 {0.0995, 0.5416, 0.2147, 0.1442},
41329 {0.1082, 0.3379, 0.3002, 0.2537}},
41330 {
41331 {0.2662, 0.3914, 0.1431, 0.1994},
41332 {0.3629, 0.2199, 0.1882, 0.2290},
41333 {0.2013, 0.2232, 0.4162, 0.1592},
41334 {0.1759, 0.2995, 0.3200, 0.2047}},
41335 {
41336 {0.4306, 0.1556, 0.1080, 0.3058},
41337 {0.2863, 0.2208, 0.2086, 0.2844},
41338 {0.3587, 0.2445, 0.2260, 0.1708},
41339 {0.2298, 0.2571, 0.1987, 0.3143}},
41340 {
41341 {0.2400, 0.3121, 0.2668, 0.1811},
41342 {0.1720, 0.4502, 0.1914, 0.1863},
41343 {0.1460, 0.4931, 0.1430, 0.2179},
41344 {0.1538, 0.2771, 0.3441, 0.2251}},
41345 {
41346 {0.3905, 0.2511, 0.1441, 0.2143},
41347 {0.4159, 0.1588, 0.2243, 0.2011},
41348 {0.3385, 0.2407, 0.3117, 0.1091},
41349 {0.1628, 0.2769, 0.4459, 0.1144}},
41350 {
41351 {0.3563, 0.1882, 0.1104, 0.3451},
41352 {0.3506, 0.1864, 0.1646, 0.2984},
41353 {0.3191, 0.2233, 0.2212, 0.2364},
41354 {0.1932, 0.2915, 0.1442, 0.3710}},
41355 {
41356 {0.1946, 0.3185, 0.3086, 0.1783},
41357 {0.1940, 0.4207, 0.2294, 0.1560},
41358 {0.1780, 0.5574, 0.1379, 0.1268},
41359 {0.0782, 0.3226, 0.3786, 0.2207}},
41360 {
41361 {0.3966, 0.2544, 0.1937, 0.1553},
41362 {0.3525, 0.1976, 0.2520, 0.1979},
41363 {0.2059, 0.3338, 0.3002, 0.1601},
41364 {0.1551, 0.2290, 0.3871, 0.2288}},
41365 {
41366 {0.4244, 0.1576, 0.1884, 0.2297},
41367 {0.3152, 0.2516, 0.1884, 0.2447},
41368 {0.4238, 0.2515, 0.1798, 0.1450},
41369 {0.2557, 0.2938, 0.1943, 0.2562}},
41370 {
41371 {0.1405, 0.2714, 0.3897, 0.1984},
41372 {0.1629, 0.4228, 0.2890, 0.1252},
41373 {0.1810, 0.4180, 0.0862, 0.3148},
41374 {0.1514, 0.1858, 0.4198, 0.2430}},
41375 {
41376 {0.3418, 0.2145, 0.2388, 0.2049},
41377 {0.3585, 0.1831, 0.2844, 0.1739},
41378 {0.2554, 0.1923, 0.3412, 0.2110},
41379 {0.1852, 0.2796, 0.3343, 0.2008}},
41380 {
41381 {0.5122, 0.1759, 0.1165, 0.1955},
41382 {0.3273, 0.1593, 0.2363, 0.2771},
41383 {0.4435, 0.2303, 0.1535, 0.1727},
41384 {0.2128, 0.2385, 0.1777, 0.3710}},
41385 {
41386 {0.0981, 0.2956, 0.3801, 0.2262},
41387 {0.1598, 0.4043, 0.2912, 0.1447},
41388 {0.1859, 0.5009, 0.1428, 0.1704},
41389 {0.0968, 0.2456, 0.5069, 0.1507}},
41390 {
41391 {0.2524, 0.2894, 0.2587, 0.1996},
41392 {0.2977, 0.2430, 0.2660, 0.1933},
41393 {0.2796, 0.2645, 0.3618, 0.0940},
41394 {0.1756, 0.2915, 0.4170, 0.1159}},
41395 {
41396 {0.4193, 0.2160, 0.1317, 0.2330},
41397 {0.1882, 0.2749, 0.2147, 0.3223},
41398 {0.2942, 0.2228, 0.2262, 0.2567},
41399 {0.1527, 0.2856, 0.1420, 0.4197}},
41400 {
41401 {0.2084, 0.2582, 0.3095, 0.2239},
41402 {0.2713, 0.3081, 0.2810, 0.1395},
41403 {0.2080, 0.4751, 0.1325, 0.1844},
41404 {0.0896, 0.2695, 0.4315, 0.2094}},
41405 {
41406 {0.2557, 0.2621, 0.2508, 0.2315},
41407 {0.4039, 0.1491, 0.3114, 0.1356},
41408 {0.2368, 0.2780, 0.3110, 0.1742},
41409 {0.1695, 0.2581, 0.3246, 0.2478}},
41410 {
41411 {0.3597, 0.1389, 0.2074, 0.2939},
41412 {0.2821, 0.1559, 0.2427, 0.3192},
41413 {0.3770, 0.1924, 0.1971, 0.2334},
41414 {0.2396, 0.3577, 0.1388, 0.2638}},
41415 {
41416 {0.1741, 0.2669, 0.3467, 0.2123},
41417 {0.1342, 0.4825, 0.2184, 0.1649},
41418 {0.1908, 0.5628, 0.1186, 0.1278},
41419 {0.1410, 0.2835, 0.4114, 0.1640}},
41420 {
41421 {0.3476, 0.3058, 0.2532, 0.0935},
41422 {0.3073, 0.2514, 0.2299, 0.2115},
41423 {0.2118, 0.2720, 0.3760, 0.1403},
41424 {0.1648, 0.3046, 0.4088, 0.1217}},
41425 {
41426 {0.3930, 0.2317, 0.1839, 0.1914},
41427 {0.3135, 0.1620, 0.1753, 0.3492},
41428 {0.3188, 0.2183, 0.2358, 0.2270},
41429 {0.1461, 0.2445, 0.2504, 0.3590}},
41430 {
41431 {0.1940, 0.2691, 0.3275, 0.2094},
41432 {0.1321, 0.3391, 0.3161, 0.2127},
41433 {0.1607, 0.5166, 0.1834, 0.1394},
41434 {0.1079, 0.2066, 0.5584, 0.1271}},
41435 {
41436 {0.2663, 0.3003, 0.2037, 0.2297},
41437 {0.3170, 0.1177, 0.2721, 0.2933},
41438 {0.2349, 0.2923, 0.3003, 0.1725},
41439 {0.1721, 0.2679, 0.3882, 0.1719}},
41440 {
41441 {0.4295, 0.1559, 0.1559, 0.2587},
41442 {0.2203, 0.2212, 0.1941, 0.3644},
41443 {0.3756, 0.1654, 0.2382, 0.2207},
41444 {0.1776, 0.2803, 0.2223, 0.3199}},
41445 {
41446 {0.1789, 0.2919, 0.3592, 0.1701},
41447 {0.1393, 0.3577, 0.3071, 0.1959},
41448 {0.1029, 0.4383, 0.2083, 0.2505},
41449 {0.1827, 0.2099, 0.4222, 0.1853}},
41450 {
41451 {0.3602, 0.2598, 0.2617, 0.1183},
41452 {0.3694, 0.2446, 0.2407, 0.1453},
41453 {0.2153, 0.2946, 0.3340, 0.1561},
41454 {0.1422, 0.2258, 0.4131, 0.2189}},
41455 {
41456 {0.3468, 0.1971, 0.1277, 0.3284},
41457 {0.3229, 0.1868, 0.1699, 0.3203},
41458 {0.3217, 0.2834, 0.1654, 0.2295},
41459 {0.2509, 0.2210, 0.1374, 0.3907}},
41460 {
41461 {0.1457, 0.2997, 0.3794, 0.1753},
41462 {0.1371, 0.4355, 0.2565, 0.1709},
41463 {0.1045, 0.5478, 0.1948, 0.1529},
41464 {0.1679, 0.2164, 0.4307, 0.1850}},
41465 {
41466 {0.2501, 0.2377, 0.2891, 0.2230},
41467 {0.3770, 0.2100, 0.2495, 0.1636},
41468 {0.2584, 0.2176, 0.3725, 0.1515},
41469 {0.1614, 0.3336, 0.2993, 0.2057}},
41470 {
41471 {0.3274, 0.2062, 0.1506, 0.3158},
41472 {0.2852, 0.2031, 0.1714, 0.3403},
41473 {0.3860, 0.2028, 0.2107, 0.2006},
41474 {0.2020, 0.2088, 0.2695, 0.3197}},
41475 {
41476 {0.1338, 0.3061, 0.3358, 0.2243},
41477 {0.1639, 0.3677, 0.2331, 0.2353},
41478 {0.1159, 0.5171, 0.2016, 0.1653},
41479 {0.1039, 0.3905, 0.3986, 0.1070}},
41480 {
41481 {0.3391, 0.2173, 0.2690, 0.1747},
41482 {0.3629, 0.1903, 0.2426, 0.2042},
41483 {0.2335, 0.2548, 0.3578, 0.1539},
41484 {0.1355, 0.2267, 0.4866, 0.1512}},
41485 {
41486 {0.3792, 0.1817, 0.1664, 0.2727},
41487 {0.3097, 0.1747, 0.1519, 0.3637},
41488 {0.3705, 0.2927, 0.1580, 0.1788},
41489 {0.1669, 0.3893, 0.1628, 0.2811}},
41490 {
41491 {0.1716, 0.2727, 0.2900, 0.2657},
41492 {0.1425, 0.4114, 0.3077, 0.1383},
41493 {0.1575, 0.4659, 0.1309, 0.2457},
41494 {0.1001, 0.2940, 0.3841, 0.2217}},
41495 {
41496 {0.3073, 0.2544, 0.2303, 0.2079},
41497 {0.3731, 0.1780, 0.2651, 0.1839},
41498 {0.2446, 0.2745, 0.3331, 0.1478},
41499 {0.1543, 0.3113, 0.3479, 0.1865}},
41500 {
41501 {0.4585, 0.1675, 0.1104, 0.2636},
41502 {0.2817, 0.2157, 0.1938, 0.3088},
41503 {0.4051, 0.1855, 0.2594, 0.1500},
41504 {0.1585, 0.2969, 0.1595, 0.3851}},
41505 {
41506 {0.2009, 0.3175, 0.3317, 0.1499},
41507 {0.1817, 0.4260, 0.2585, 0.1338},
41508 {0.1256, 0.4510, 0.1007, 0.3227},
41509 {0.0604, 0.3219, 0.4440, 0.1737}},
41510 {
41511 {0.2930, 0.1890, 0.2967, 0.2212},
41512 {0.3701, 0.1466, 0.2685, 0.2148},
41513 {0.2019, 0.3290, 0.3357, 0.1334},
41514 {0.1914, 0.3063, 0.3792, 0.1231}},
41515 {
41516 {0.4107, 0.1906, 0.1499, 0.2488},
41517 {0.3436, 0.2204, 0.1487, 0.2873},
41518 {0.3216, 0.2251, 0.2119, 0.2414},
41519 {0.1860, 0.3481, 0.1526, 0.3133}},
41520 {
41521 {0.1544, 0.2403, 0.3532, 0.2521},
41522 {0.1849, 0.3718, 0.2350, 0.2082},
41523 {0.1918, 0.4652, 0.1860, 0.1570},
41524 {0.1286, 0.3203, 0.3898, 0.1613}},
41525 {
41526 {0.2397, 0.2785, 0.2974, 0.1844},
41527 {0.3051, 0.1702, 0.2552, 0.2694},
41528 {0.1978, 0.2865, 0.3363, 0.1794},
41529 {0.1752, 0.3575, 0.3334, 0.1339}},
41530 {
41531 {0.4286, 0.1787, 0.1052, 0.2875},
41532 {0.2281, 0.1942, 0.1876, 0.3901},
41533 {0.3453, 0.2125, 0.2171, 0.2251},
41534 {0.1931, 0.3043, 0.1636, 0.3389}},
41535 {
41536 {0.1038, 0.3843, 0.3018, 0.2101},
41537 {0.2087, 0.3949, 0.2237, 0.1727},
41538 {0.1678, 0.5156, 0.2021, 0.1144},
41539 {0.1014, 0.2995, 0.4566, 0.1425}},
41540 {
41541 {0.2404, 0.2856, 0.2236, 0.2504},
41542 {0.4156, 0.1846, 0.2040, 0.1958},
41543 {0.2556, 0.3232, 0.3154, 0.1057},
41544 {0.2241, 0.4214, 0.2326, 0.1219}},
41545 {
41546 {0.4281, 0.1760, 0.1553, 0.2406},
41547 {0.2569, 0.2007, 0.1868, 0.3556},
41548 {0.2976, 0.2549, 0.2369, 0.2106},
41549 {0.1683, 0.3837, 0.1130, 0.3350}},
41550 {
41551 {0.1931, 0.2825, 0.3826, 0.1419},
41552 {0.2231, 0.3172, 0.2518, 0.2079},
41553 {0.2133, 0.4820, 0.1279, 0.1767},
41554 {0.1241, 0.3183, 0.3838, 0.1738}},
41555 {
41556 {0.3739, 0.2142, 0.2267, 0.1853},
41557 {0.3807, 0.1514, 0.2687, 0.1991},
41558 {0.3398, 0.2359, 0.3246, 0.0996},
41559 {0.2132, 0.3075, 0.3780, 0.1013}}},
41560
41561 { /* Splice_Site: F1_AG; Species: Droso */
41562 {
41563 {0.1416, 0.1416, 0.1416, 0.1416},
41564 {0.3324, 0.3324, 0.3324, 0.3324},
41565 {0.3126, 0.3126, 0.3126, 0.3126},
41566 {0.2135, 0.2135, 0.2135, 0.2135}},
41567 {
41568 {0.2526, 0.3437, 0.1746, 0.2290},
41569 {0.3055, 0.2195, 0.3138, 0.1613},
41570 {0.2063, 0.3044, 0.3564, 0.1329},
41571 {0.2025, 0.2712, 0.3482, 0.1781}},
41572 {
41573 {0.3536, 0.2404, 0.1881, 0.2179},
41574 {0.3271, 0.1966, 0.1958, 0.2804},
41575 {0.3942, 0.2102, 0.2237, 0.1720},
41576 {0.1921, 0.2687, 0.1953, 0.3440}},
41577 {
41578 {0.1295, 0.2481, 0.4196, 0.2028},
41579 {0.1624, 0.4037, 0.2536, 0.1803},
41580 {0.1503, 0.5130, 0.1515, 0.1851},
41581 {0.0789, 0.2851, 0.4288, 0.2072}},
41582 {
41583 {0.2966, 0.2634, 0.3460, 0.0940},
41584 {0.3526, 0.1740, 0.3000, 0.1734},
41585 {0.2479, 0.2818, 0.3249, 0.1454},
41586 {0.1712, 0.3512, 0.3448, 0.1327}},
41587 {
41588 {0.3681, 0.1847, 0.1948, 0.2523},
41589 {0.3437, 0.1805, 0.1741, 0.3016},
41590 {0.3928, 0.2562, 0.1932, 0.1577},
41591 {0.1272, 0.3668, 0.2108, 0.2952}},
41592 {
41593 {0.1798, 0.2870, 0.3579, 0.1753},
41594 {0.1999, 0.4003, 0.2380, 0.1619},
41595 {0.1390, 0.4950, 0.1478, 0.2182},
41596 {0.1017, 0.3173, 0.4194, 0.1616}},
41597 {
41598 {0.3381, 0.2477, 0.2619, 0.1524},
41599 {0.3341, 0.1955, 0.2763, 0.1941},
41600 {0.2350, 0.2846, 0.3516, 0.1288},
41601 {0.1769, 0.3234, 0.3438, 0.1559}},
41602 {
41603 {0.3313, 0.2156, 0.1492, 0.3039},
41604 {0.3890, 0.1963, 0.1564, 0.2582},
41605 {0.3656, 0.2518, 0.1821, 0.2005},
41606 {0.1736, 0.3231, 0.1637, 0.3396}},
41607 {
41608 {0.1269, 0.2593, 0.4416, 0.1722},
41609 {0.1749, 0.4636, 0.1984, 0.1631},
41610 {0.1689, 0.3759, 0.2023, 0.2528},
41611 {0.1279, 0.3108, 0.3638, 0.1975}},
41612 {
41613 {0.3004, 0.2443, 0.2484, 0.2069},
41614 {0.3720, 0.1629, 0.2474, 0.2178},
41615 {0.2734, 0.2952, 0.3180, 0.1135},
41616 {0.1773, 0.2308, 0.4083, 0.1837}},
41617 {
41618 {0.4013, 0.1508, 0.1603, 0.2876},
41619 {0.3815, 0.1886, 0.1583, 0.2716},
41620 {0.3733, 0.2419, 0.2214, 0.1634},
41621 {0.1611, 0.2879, 0.1753, 0.3758}},
41622 {
41623 {0.1672, 0.2734, 0.3625, 0.1969},
41624 {0.1542, 0.4506, 0.2145, 0.1808},
41625 {0.1702, 0.4634, 0.1536, 0.2128},
41626 {0.0927, 0.2817, 0.4120, 0.2135}},
41627 {
41628 {0.2812, 0.2807, 0.2699, 0.1683},
41629 {0.3587, 0.1764, 0.2929, 0.1719},
41630 {0.2001, 0.3107, 0.3655, 0.1236},
41631 {0.2001, 0.2674, 0.3994, 0.1330}},
41632 {
41633 {0.3737, 0.2052, 0.1656, 0.2555},
41634 {0.3215, 0.2476, 0.1607, 0.2702},
41635 {0.3602, 0.2159, 0.1988, 0.2251},
41636 {0.2059, 0.3080, 0.1599, 0.3261}},
41637 {
41638 {0.1444, 0.2633, 0.3852, 0.2071},
41639 {0.1853, 0.3907, 0.2798, 0.1443},
41640 {0.1493, 0.4779, 0.1537, 0.2191},
41641 {0.0827, 0.3381, 0.4412, 0.1380}},
41642 {
41643 {0.2393, 0.3026, 0.3630, 0.0950},
41644 {0.3313, 0.1812, 0.2892, 0.1984},
41645 {0.2341, 0.2722, 0.3869, 0.1068},
41646 {0.2084, 0.2328, 0.4027, 0.1560}},
41647 {
41648 {0.3846, 0.2470, 0.1124, 0.2560},
41649 {0.3231, 0.2215, 0.1858, 0.2696},
41650 {0.4117, 0.2498, 0.1676, 0.1708},
41651 {0.2152, 0.2912, 0.1734, 0.3203}},
41652 {
41653 {0.1526, 0.2816, 0.3919, 0.1738},
41654 {0.1947, 0.4364, 0.2300, 0.1389},
41655 {0.1308, 0.5102, 0.1126, 0.2464},
41656 {0.1043, 0.3366, 0.3778, 0.1813}},
41657 {
41658 {0.2423, 0.2472, 0.2909, 0.2196},
41659 {0.3344, 0.2079, 0.2620, 0.1957},
41660 {0.2359, 0.2744, 0.3446, 0.1451},
41661 {0.1386, 0.2502, 0.4647, 0.1465}},
41662 {
41663 {0.4400, 0.2037, 0.1124, 0.2438},
41664 {0.3634, 0.1727, 0.1779, 0.2860},
41665 {0.3350, 0.2666, 0.1914, 0.2071},
41666 {0.1661, 0.3131, 0.1881, 0.3327}},
41667 {
41668 {0.1330, 0.2583, 0.4307, 0.1780},
41669 {0.1745, 0.4562, 0.2313, 0.1380},
41670 {0.1618, 0.4778, 0.1420, 0.2184},
41671 {0.1200, 0.3001, 0.4038, 0.1761}},
41672 {
41673 {0.2653, 0.2359, 0.3040, 0.1949},
41674 {0.3376, 0.1450, 0.3138, 0.2037},
41675 {0.2348, 0.2974, 0.3514, 0.1164},
41676 {0.1809, 0.2697, 0.3674, 0.1820}},
41677 {
41678 {0.4157, 0.1887, 0.1166, 0.2791},
41679 {0.3756, 0.2119, 0.1247, 0.2878},
41680 {0.3922, 0.2450, 0.1773, 0.1855},
41681 {0.1457, 0.3081, 0.1759, 0.3703}},
41682 {
41683 {0.1267, 0.2454, 0.4035, 0.2245},
41684 {0.1664, 0.4545, 0.2401, 0.1389},
41685 {0.1548, 0.5264, 0.1194, 0.1994},
41686 {0.1249, 0.3345, 0.3649, 0.1757}},
41687 {
41688 {0.3709, 0.2134, 0.2428, 0.1729},
41689 {0.3245, 0.1937, 0.2705, 0.2113},
41690 {0.2783, 0.2991, 0.2882, 0.1345},
41691 {0.1590, 0.3143, 0.3642, 0.1625}},
41692 {
41693 {0.3785, 0.2376, 0.1362, 0.2478},
41694 {0.3494, 0.2129, 0.1723, 0.2654},
41695 {0.4202, 0.2277, 0.1647, 0.1875},
41696 {0.1534, 0.2960, 0.1707, 0.3799}},
41697 {
41698 {0.1554, 0.2783, 0.4140, 0.1523},
41699 {0.1701, 0.4018, 0.2347, 0.1934},
41700 {0.1365, 0.4890, 0.1502, 0.2242},
41701 {0.1207, 0.2615, 0.4628, 0.1549}},
41702 {
41703 {0.2611, 0.2530, 0.2748, 0.2111},
41704 {0.3476, 0.1908, 0.2886, 0.1730},
41705 {0.2185, 0.2956, 0.3614, 0.1245},
41706 {0.1857, 0.2617, 0.3787, 0.1739}},
41707 {
41708 {0.4033, 0.1819, 0.1461, 0.2686},
41709 {0.3590, 0.2015, 0.1603, 0.2792},
41710 {0.4030, 0.2623, 0.1640, 0.1707},
41711 {0.1523, 0.3231, 0.2158, 0.3088}},
41712 {
41713 {0.1568, 0.2459, 0.4176, 0.1797},
41714 {0.1842, 0.4498, 0.2112, 0.1548},
41715 {0.1261, 0.4575, 0.1995, 0.2170},
41716 {0.0819, 0.2840, 0.4779, 0.1562}},
41717 {
41718 {0.2737, 0.2995, 0.2548, 0.1720},
41719 {0.3797, 0.1522, 0.2808, 0.1873},
41720 {0.2002, 0.3325, 0.3567, 0.1105},
41721 {0.1995, 0.2407, 0.3989, 0.1609}},
41722 {
41723 {0.4150, 0.1746, 0.1346, 0.2758},
41724 {0.3838, 0.2078, 0.1482, 0.2602},
41725 {0.3982, 0.2216, 0.1884, 0.1917},
41726 {0.2166, 0.2693, 0.1841, 0.3299}},
41727 {
41728 {0.1588, 0.3066, 0.3534, 0.1812},
41729 {0.1610, 0.4012, 0.2735, 0.1644},
41730 {0.1141, 0.5434, 0.1511, 0.1914},
41731 {0.1349, 0.2814, 0.4071, 0.1765}},
41732 {
41733 {0.2866, 0.2412, 0.3010, 0.1711},
41734 {0.3536, 0.1695, 0.2798, 0.1972},
41735 {0.3017, 0.2729, 0.3276, 0.0979},
41736 {0.1767, 0.2441, 0.3848, 0.1945}},
41737 {
41738 {0.4260, 0.1844, 0.1226, 0.2670},
41739 {0.3271, 0.2165, 0.1577, 0.2987},
41740 {0.3924, 0.2575, 0.1581, 0.1920},
41741 {0.1673, 0.3190, 0.2175, 0.2962}},
41742 {
41743 {0.1281, 0.2332, 0.4228, 0.2159},
41744 {0.1852, 0.4314, 0.2641, 0.1193},
41745 {0.1447, 0.5142, 0.1898, 0.1512},
41746 {0.0842, 0.3075, 0.4566, 0.1517}},
41747 {
41748 {0.2585, 0.2853, 0.2710, 0.1852},
41749 {0.3537, 0.2149, 0.2468, 0.1847},
41750 {0.2294, 0.3138, 0.3424, 0.1144},
41751 {0.1780, 0.2825, 0.3591, 0.1804}},
41752 {
41753 {0.4111, 0.2161, 0.1476, 0.2252},
41754 {0.4093, 0.1628, 0.1578, 0.2701},
41755 {0.4343, 0.2507, 0.1303, 0.1846},
41756 {0.2302, 0.2598, 0.1685, 0.3415}},
41757 {
41758 {0.1385, 0.2600, 0.4510, 0.1505},
41759 {0.2094, 0.3907, 0.2463, 0.1537},
41760 {0.1638, 0.4283, 0.2132, 0.1947},
41761 {0.0816, 0.2993, 0.4429, 0.1762}},
41762 {
41763 {0.2994, 0.2390, 0.2833, 0.1783},
41764 {0.4062, 0.1559, 0.2278, 0.2101},
41765 {0.2629, 0.3144, 0.3273, 0.0954},
41766 {0.1132, 0.3368, 0.3688, 0.1812}},
41767 {
41768 {0.4124, 0.2515, 0.0938, 0.2424},
41769 {0.3979, 0.1657, 0.1948, 0.2417},
41770 {0.4150, 0.2060, 0.1708, 0.2083},
41771 {0.1704, 0.3646, 0.1561, 0.3089}},
41772 {
41773 {0.1477, 0.2666, 0.3957, 0.1900},
41774 {0.1558, 0.4101, 0.3019, 0.1322},
41775 {0.2255, 0.4332, 0.1816, 0.1597},
41776 {0.1067, 0.2796, 0.4708, 0.1429}},
41777 {
41778 {0.2484, 0.3229, 0.2510, 0.1777},
41779 {0.3281, 0.1668, 0.2958, 0.2094},
41780 {0.2259, 0.3041, 0.3309, 0.1391},
41781 {0.1795, 0.3138, 0.3332, 0.1734}},
41782 {
41783 {0.3834, 0.2022, 0.1290, 0.2854},
41784 {0.3586, 0.1354, 0.1656, 0.3405},
41785 {0.3515, 0.2607, 0.1669, 0.2210},
41786 {0.1670, 0.2922, 0.2046, 0.3363}},
41787 {
41788 {0.1461, 0.3243, 0.3729, 0.1567},
41789 {0.2021, 0.4567, 0.2437, 0.0975},
41790 {0.1681, 0.4729, 0.1910, 0.1681},
41791 {0.0972, 0.3394, 0.4173, 0.1461}},
41792 {
41793 {0.2780, 0.2111, 0.2944, 0.2164},
41794 {0.3365, 0.1973, 0.2899, 0.1763},
41795 {0.1681, 0.3845, 0.3534, 0.0940},
41796 {0.1743, 0.2785, 0.3683, 0.1788}},
41797 {
41798 {0.4206, 0.2125, 0.1317, 0.2352},
41799 {0.3976, 0.1664, 0.1775, 0.2585},
41800 {0.4526, 0.2172, 0.1255, 0.2047},
41801 {0.1752, 0.3290, 0.1677, 0.3281}},
41802 {
41803 {0.1239, 0.2495, 0.4540, 0.1727},
41804 {0.1631, 0.4826, 0.2514, 0.1029},
41805 {0.1204, 0.5699, 0.1702, 0.1395},
41806 {0.1035, 0.2789, 0.4671, 0.1505}},
41807 {
41808 {0.3039, 0.4056, 0.2905, 0.0000},
41809 {0.4077, 0.2761, 0.3163, 0.0000},
41810 {0.2630, 0.3264, 0.4106, 0.0000},
41811 {0.2681, 0.3765, 0.3554, 0.0000}},
41812 {
41813 {1.0000, 0.0000, 0.0000, 0.0000},
41814 {1.0000, 0.0000, 0.0000, 0.0000},
41815 {1.0000, 0.0000, 0.0000, 0.0000},
41816 {1.0000, 0.0000, 0.0000, 0.0000}},
41817 {
41818 {0.0000, 0.0000, 1.0000, 0.0000},
41819 {0.0000, 0.0000, 0.0000, 0.0000},
41820 {0.0000, 0.0000, 0.0000, 0.0000},
41821 {0.0000, 0.0000, 0.0000, 0.0000}},
41822 {
41823 {0.0000, 0.0000, 0.0000, 0.0000},
41824 {0.0000, 0.0000, 0.0000, 0.0000},
41825 {0.2675, 0.2934, 0.3038, 0.1353},
41826 {0.0000, 0.0000, 0.0000, 0.0000}},
41827 {
41828 {0.4219, 0.2030, 0.1349, 0.2402},
41829 {0.3628, 0.2019, 0.1860, 0.2493},
41830 {0.4438, 0.2506, 0.0918, 0.2138},
41831 {0.1438, 0.3139, 0.1487, 0.3936}},
41832 {
41833 {0.1349, 0.2401, 0.4994, 0.1255},
41834 {0.1929, 0.3576, 0.3217, 0.1279},
41835 {0.1612, 0.5014, 0.1338, 0.2036},
41836 {0.1168, 0.3049, 0.4601, 0.1182}},
41837 {
41838 {0.3720, 0.2907, 0.2280, 0.1093},
41839 {0.3985, 0.1492, 0.2577, 0.1946},
41840 {0.1981, 0.3488, 0.3283, 0.1248},
41841 {0.2261, 0.3530, 0.2724, 0.1485}},
41842 {
41843 {0.3974, 0.1661, 0.1050, 0.3316},
41844 {0.4070, 0.1600, 0.1259, 0.3071},
41845 {0.3971, 0.2363, 0.1673, 0.1993},
41846 {0.2338, 0.2830, 0.2073, 0.2758}},
41847 {
41848 {0.1535, 0.2677, 0.4064, 0.1724},
41849 {0.1639, 0.4014, 0.2769, 0.1578},
41850 {0.1365, 0.4707, 0.1476, 0.2452},
41851 {0.0651, 0.3199, 0.3997, 0.2152}},
41852 {
41853 {0.2427, 0.3458, 0.2787, 0.1329},
41854 {0.3555, 0.1805, 0.3046, 0.1594},
41855 {0.2108, 0.3020, 0.3698, 0.1174},
41856 {0.1827, 0.2603, 0.3944, 0.1626}},
41857 {
41858 {0.4700, 0.1659, 0.1219, 0.2423},
41859 {0.3786, 0.1553, 0.1822, 0.2839},
41860 {0.3907, 0.2638, 0.1423, 0.2032},
41861 {0.1441, 0.2960, 0.1977, 0.3623}},
41862 {
41863 {0.1260, 0.2439, 0.4741, 0.1559},
41864 {0.1641, 0.4698, 0.2073, 0.1588},
41865 {0.1420, 0.4949, 0.1736, 0.1895},
41866 {0.0980, 0.3688, 0.3654, 0.1677}},
41867 {
41868 {0.1532, 0.3640, 0.2451, 0.2377},
41869 {0.3550, 0.1801, 0.2608, 0.2041},
41870 {0.2230, 0.3495, 0.3259, 0.1017},
41871 {0.1847, 0.3018, 0.3753, 0.1382}},
41872 {
41873 {0.3742, 0.2053, 0.1828, 0.2376},
41874 {0.3412, 0.2093, 0.1839, 0.2657},
41875 {0.4623, 0.2108, 0.1768, 0.1501},
41876 {0.1751, 0.3754, 0.1335, 0.3161}},
41877 {
41878 {0.1335, 0.2194, 0.4445, 0.2026},
41879 {0.1745, 0.4153, 0.2960, 0.1142},
41880 {0.1280, 0.4640, 0.1683, 0.2398},
41881 {0.0832, 0.3117, 0.4344, 0.1707}},
41882 {
41883 {0.2488, 0.2929, 0.2893, 0.1690},
41884 {0.3133, 0.2409, 0.2567, 0.1890},
41885 {0.2332, 0.3343, 0.3092, 0.1233},
41886 {0.1631, 0.3394, 0.3680, 0.1295}},
41887 {
41888 {0.3751, 0.1847, 0.1450, 0.2952},
41889 {0.3087, 0.1816, 0.1786, 0.3310},
41890 {0.3472, 0.2592, 0.1852, 0.2085},
41891 {0.2037, 0.2117, 0.1875, 0.3972}},
41892 {
41893 {0.1608, 0.2744, 0.4036, 0.1611},
41894 {0.2001, 0.3722, 0.2621, 0.1656},
41895 {0.1293, 0.4731, 0.1576, 0.2400},
41896 {0.0978, 0.3117, 0.4377, 0.1527}},
41897 {
41898 {0.3155, 0.2088, 0.2901, 0.1855},
41899 {0.3593, 0.1964, 0.2805, 0.1638},
41900 {0.2386, 0.3174, 0.3210, 0.1230},
41901 {0.2049, 0.3234, 0.3041, 0.1675}},
41902 {
41903 {0.3756, 0.1951, 0.1572, 0.2721},
41904 {0.3209, 0.1634, 0.1567, 0.3589},
41905 {0.3928, 0.2346, 0.1790, 0.1936},
41906 {0.1877, 0.3702, 0.1262, 0.3159}},
41907 {
41908 {0.1620, 0.2435, 0.4594, 0.1351},
41909 {0.1923, 0.4492, 0.2374, 0.1211},
41910 {0.1293, 0.4960, 0.1761, 0.1986},
41911 {0.1079, 0.3217, 0.3928, 0.1775}},
41912 {
41913 {0.3020, 0.2757, 0.2482, 0.1740},
41914 {0.3212, 0.2205, 0.2675, 0.1908},
41915 {0.2178, 0.2946, 0.3596, 0.1280},
41916 {0.1747, 0.1939, 0.4374, 0.1940}},
41917 {
41918 {0.4455, 0.1412, 0.1552, 0.2581},
41919 {0.4061, 0.1768, 0.1677, 0.2495},
41920 {0.3866, 0.1997, 0.1991, 0.2145},
41921 {0.1672, 0.2835, 0.1911, 0.3582}},
41922 {
41923 {0.1387, 0.2362, 0.4618, 0.1633},
41924 {0.1911, 0.4351, 0.2113, 0.1625},
41925 {0.1675, 0.4164, 0.1941, 0.2219},
41926 {0.1164, 0.2910, 0.3971, 0.1955}},
41927 {
41928 {0.3216, 0.2454, 0.2797, 0.1533},
41929 {0.3613, 0.1483, 0.3182, 0.1721},
41930 {0.2514, 0.3195, 0.2746, 0.1545},
41931 {0.1650, 0.3002, 0.3854, 0.1494}},
41932 {
41933 {0.4225, 0.1888, 0.1395, 0.2492},
41934 {0.3449, 0.1860, 0.1774, 0.2916},
41935 {0.3849, 0.2323, 0.1917, 0.1911},
41936 {0.2003, 0.3015, 0.2069, 0.2913}},
41937 {
41938 {0.1606, 0.2599, 0.4151, 0.1644},
41939 {0.1849, 0.4089, 0.2542, 0.1519},
41940 {0.1554, 0.4415, 0.1696, 0.2336},
41941 {0.1214, 0.2821, 0.4258, 0.1706}},
41942 {
41943 {0.2147, 0.3248, 0.2482, 0.2123},
41944 {0.3286, 0.1933, 0.3048, 0.1732},
41945 {0.1855, 0.3336, 0.3536, 0.1274},
41946 {0.2004, 0.2317, 0.3785, 0.1894}},
41947 {
41948 {0.4167, 0.1681, 0.1597, 0.2555},
41949 {0.3307, 0.2076, 0.1703, 0.2914},
41950 {0.4346, 0.1890, 0.1825, 0.1939},
41951 {0.1568, 0.3036, 0.2081, 0.3315}},
41952 {
41953 {0.1472, 0.2875, 0.3800, 0.1853},
41954 {0.2206, 0.3723, 0.2659, 0.1412},
41955 {0.1815, 0.4379, 0.1936, 0.1871},
41956 {0.1189, 0.2858, 0.3900, 0.2053}},
41957 {
41958 {0.2383, 0.2630, 0.2853, 0.2134},
41959 {0.3665, 0.2014, 0.2623, 0.1698},
41960 {0.1995, 0.3403, 0.3687, 0.0915},
41961 {0.2072, 0.2407, 0.3781, 0.1740}},
41962 {
41963 {0.4126, 0.2155, 0.1144, 0.2575},
41964 {0.3257, 0.2172, 0.1784, 0.2787},
41965 {0.3672, 0.2409, 0.1835, 0.2084},
41966 {0.1636, 0.2753, 0.2037, 0.3574}},
41967 {
41968 {0.1787, 0.2449, 0.4111, 0.1652},
41969 {0.2079, 0.4349, 0.2325, 0.1247},
41970 {0.1652, 0.4469, 0.1861, 0.2018},
41971 {0.1167, 0.2718, 0.4521, 0.1594}},
41972 {
41973 {0.2446, 0.2674, 0.3083, 0.1797},
41974 {0.3448, 0.2030, 0.2933, 0.1589},
41975 {0.2372, 0.2611, 0.3632, 0.1385},
41976 {0.1279, 0.3194, 0.4281, 0.1246}},
41977 {
41978 {0.4245, 0.2070, 0.1393, 0.2292},
41979 {0.3413, 0.2257, 0.1685, 0.2645},
41980 {0.4002, 0.2021, 0.1930, 0.2047},
41981 {0.2609, 0.2363, 0.1694, 0.3335}},
41982 {
41983 {0.1381, 0.2487, 0.4085, 0.2047},
41984 {0.1766, 0.4491, 0.2143, 0.1600},
41985 {0.1712, 0.4612, 0.1827, 0.1849},
41986 {0.1357, 0.2406, 0.4078, 0.2159}},
41987 {
41988 {0.2265, 0.3253, 0.2668, 0.1814},
41989 {0.3851, 0.1800, 0.2639, 0.1709},
41990 {0.2510, 0.3118, 0.3263, 0.1110},
41991 {0.1977, 0.3148, 0.3383, 0.1492}},
41992 {
41993 {0.3726, 0.1947, 0.1459, 0.2868},
41994 {0.3249, 0.2256, 0.1873, 0.2622},
41995 {0.4193, 0.2171, 0.1655, 0.1982},
41996 {0.1925, 0.2718, 0.1468, 0.3889}},
41997 {
41998 {0.1518, 0.2477, 0.3766, 0.2238},
41999 {0.2029, 0.4332, 0.2084, 0.1555},
42000 {0.1348, 0.4553, 0.1539, 0.2559},
42001 {0.1371, 0.3143, 0.3924, 0.1562}},
42002 {
42003 {0.2880, 0.2032, 0.3038, 0.2050},
42004 {0.3749, 0.2066, 0.2489, 0.1696},
42005 {0.2584, 0.2767, 0.3378, 0.1271},
42006 {0.1598, 0.2876, 0.4007, 0.1519}},
42007 {
42008 {0.3703, 0.2031, 0.1403, 0.2863},
42009 {0.3768, 0.1838, 0.1624, 0.2770},
42010 {0.3393, 0.2244, 0.2008, 0.2356},
42011 {0.2099, 0.2943, 0.2104, 0.2855}},
42012 {
42013 {0.2050, 0.2632, 0.3733, 0.1585},
42014 {0.1962, 0.4290, 0.2198, 0.1550},
42015 {0.1489, 0.4612, 0.2125, 0.1774},
42016 {0.1336, 0.2760, 0.4011, 0.1893}},
42017 {
42018 {0.2794, 0.2377, 0.3061, 0.1768},
42019 {0.3967, 0.1505, 0.2952, 0.1577},
42020 {0.2370, 0.3005, 0.3313, 0.1312},
42021 {0.2340, 0.2704, 0.3598, 0.1358}},
42022 {
42023 {0.4135, 0.2088, 0.1375, 0.2402},
42024 {0.3924, 0.2048, 0.1443, 0.2586},
42025 {0.3647, 0.2119, 0.2036, 0.2199},
42026 {0.2227, 0.3066, 0.1460, 0.3246}},
42027 {
42028 {0.1663, 0.2490, 0.3554, 0.2293},
42029 {0.1613, 0.4039, 0.2710, 0.1637},
42030 {0.1975, 0.4918, 0.1419, 0.1688},
42031 {0.1125, 0.3071, 0.4007, 0.1796}},
42032 {
42033 {0.2629, 0.2710, 0.3072, 0.1589},
42034 {0.3516, 0.2157, 0.2607, 0.1720},
42035 {0.2119, 0.2970, 0.3308, 0.1604},
42036 {0.1644, 0.2986, 0.3823, 0.1547}},
42037 {
42038 {0.3763, 0.2090, 0.1860, 0.2287},
42039 {0.3827, 0.2067, 0.1422, 0.2685},
42040 {0.3891, 0.2670, 0.1756, 0.1683},
42041 {0.1772, 0.2576, 0.1631, 0.4021}},
42042 {
42043 {0.1477, 0.2677, 0.3661, 0.2184},
42044 {0.1984, 0.3581, 0.2811, 0.1625},
42045 {0.1213, 0.4610, 0.1488, 0.2690},
42046 {0.0972, 0.2632, 0.4477, 0.1920}},
42047 {
42048 {0.3097, 0.2320, 0.3049, 0.1534},
42049 {0.3739, 0.2163, 0.2520, 0.1578},
42050 {0.2230, 0.2997, 0.3713, 0.1061},
42051 {0.1770, 0.2853, 0.3741, 0.1636}},
42052 {
42053 {0.4282, 0.1645, 0.1600, 0.2473},
42054 {0.3249, 0.1851, 0.1904, 0.2996},
42055 {0.3814, 0.2688, 0.1767, 0.1730},
42056 {0.1827, 0.2854, 0.1440, 0.3879}},
42057 {
42058 {0.1312, 0.2122, 0.4335, 0.2231},
42059 {0.1816, 0.4037, 0.2226, 0.1922},
42060 {0.2028, 0.4927, 0.1132, 0.1913},
42061 {0.1236, 0.3018, 0.3850, 0.1896}},
42062 {
42063 {0.2168, 0.3220, 0.2456, 0.2156},
42064 {0.3393, 0.1996, 0.2614, 0.1997},
42065 {0.2391, 0.3104, 0.3479, 0.1026},
42066 {0.1745, 0.2713, 0.4075, 0.1468}},
42067 {
42068 {0.3906, 0.2372, 0.1280, 0.2442},
42069 {0.3647, 0.1730, 0.1828, 0.2795},
42070 {0.3775, 0.1885, 0.2409, 0.1932},
42071 {0.2133, 0.2972, 0.1676, 0.3219}}},
42072
42073 { /* Splice_Site: F2_AG; Species: Droso */
42074 {
42075 {0.2953, 0.2953, 0.2953, 0.2953},
42076 {0.2352, 0.2352, 0.2352, 0.2352},
42077 {0.2781, 0.2781, 0.2781, 0.2781},
42078 {0.1914, 0.1914, 0.1914, 0.1914}},
42079 {
42080 {0.3041, 0.1823, 0.2803, 0.2333},
42081 {0.2507, 0.3530, 0.1519, 0.2444},
42082 {0.2174, 0.4016, 0.2027, 0.1784},
42083 {0.1687, 0.3468, 0.2665, 0.2180}},
42084 {
42085 {0.2350, 0.2164, 0.3334, 0.2152},
42086 {0.2814, 0.2752, 0.2380, 0.2055},
42087 {0.1729, 0.4260, 0.2582, 0.1430},
42088 {0.2086, 0.2698, 0.3842, 0.1374}},
42089 {
42090 {0.2953, 0.1841, 0.3084, 0.2122},
42091 {0.3803, 0.2131, 0.1892, 0.2174},
42092 {0.2100, 0.2980, 0.3707, 0.1214},
42093 {0.1077, 0.4236, 0.3050, 0.1637}},
42094 {
42095 {0.2709, 0.2669, 0.2513, 0.2110},
42096 {0.2700, 0.3276, 0.1688, 0.2335},
42097 {0.2582, 0.3758, 0.1930, 0.1729},
42098 {0.1830, 0.3269, 0.2494, 0.2406}},
42099 {
42100 {0.1725, 0.2924, 0.3710, 0.1642},
42101 {0.2558, 0.2945, 0.2829, 0.1668},
42102 {0.2013, 0.3658, 0.3034, 0.1296},
42103 {0.1439, 0.2250, 0.4262, 0.2048}},
42104 {
42105 {0.2786, 0.2053, 0.2596, 0.2565},
42106 {0.4066, 0.2014, 0.2073, 0.1847},
42107 {0.2365, 0.2558, 0.3293, 0.1784},
42108 {0.1120, 0.3911, 0.2616, 0.2352}},
42109 {
42110 {0.2877, 0.2415, 0.2035, 0.2673},
42111 {0.2744, 0.2727, 0.2144, 0.2385},
42112 {0.2715, 0.2995, 0.2559, 0.1730},
42113 {0.0976, 0.3882, 0.2494, 0.2648}},
42114 {
42115 {0.2137, 0.2847, 0.3617, 0.1399},
42116 {0.3105, 0.2427, 0.2685, 0.1783},
42117 {0.2209, 0.3316, 0.2610, 0.1865},
42118 {0.1411, 0.2414, 0.4127, 0.2048}},
42119 {
42120 {0.2858, 0.1955, 0.2357, 0.2829},
42121 {0.3683, 0.1745, 0.2499, 0.2073},
42122 {0.2138, 0.3165, 0.2919, 0.1778},
42123 {0.0971, 0.2756, 0.2864, 0.3408}},
42124 {
42125 {0.2743, 0.2678, 0.2631, 0.1949},
42126 {0.2645, 0.2453, 0.1893, 0.3009},
42127 {0.2276, 0.3413, 0.2259, 0.2052},
42128 {0.1316, 0.3439, 0.2272, 0.2974}},
42129 {
42130 {0.2016, 0.2287, 0.3921, 0.1776},
42131 {0.2475, 0.3053, 0.2526, 0.1947},
42132 {0.2446, 0.4363, 0.2360, 0.0831},
42133 {0.1802, 0.3341, 0.3179, 0.1677}},
42134 {
42135 {0.2840, 0.2164, 0.3047, 0.1950},
42136 {0.3187, 0.1896, 0.2339, 0.2578},
42137 {0.2304, 0.2788, 0.3441, 0.1467},
42138 {0.1484, 0.3097, 0.2324, 0.3095}},
42139 {
42140 {0.2801, 0.2333, 0.3023, 0.1843},
42141 {0.2732, 0.3010, 0.2035, 0.2223},
42142 {0.2459, 0.3046, 0.2438, 0.2057},
42143 {0.1208, 0.2121, 0.3680, 0.2991}},
42144 {
42145 {0.1714, 0.2598, 0.3798, 0.1890},
42146 {0.2888, 0.2721, 0.2644, 0.1747},
42147 {0.1676, 0.4338, 0.2613, 0.1373},
42148 {0.1716, 0.3151, 0.2915, 0.2218}},
42149 {
42150 {0.2434, 0.2937, 0.2925, 0.1704},
42151 {0.3738, 0.1842, 0.2841, 0.1578},
42152 {0.3111, 0.2715, 0.2560, 0.1614},
42153 {0.0962, 0.3861, 0.2806, 0.2371}},
42154 {
42155 {0.2885, 0.1994, 0.2806, 0.2315},
42156 {0.3016, 0.2450, 0.2375, 0.2159},
42157 {0.2107, 0.4063, 0.2079, 0.1752},
42158 {0.1205, 0.3434, 0.2467, 0.2894}},
42159 {
42160 {0.2385, 0.3090, 0.2863, 0.1662},
42161 {0.2543, 0.3527, 0.2507, 0.1423},
42162 {0.1818, 0.3695, 0.2522, 0.1965},
42163 {0.0967, 0.3141, 0.3666, 0.2226}},
42164 {
42165 {0.2355, 0.2323, 0.2832, 0.2490},
42166 {0.3941, 0.1853, 0.2210, 0.1996},
42167 {0.2615, 0.2586, 0.3425, 0.1374},
42168 {0.0684, 0.2838, 0.3681, 0.2797}},
42169 {
42170 {0.2680, 0.2303, 0.2573, 0.2444},
42171 {0.3084, 0.2990, 0.1444, 0.2481},
42172 {0.2188, 0.3428, 0.2398, 0.1985},
42173 {0.2174, 0.2604, 0.2601, 0.2622}},
42174 {
42175 {0.2157, 0.3011, 0.2888, 0.1943},
42176 {0.2295, 0.2977, 0.2817, 0.1911},
42177 {0.2445, 0.3639, 0.2533, 0.1383},
42178 {0.1763, 0.2251, 0.4057, 0.1929}},
42179 {
42180 {0.3531, 0.2211, 0.2352, 0.1906},
42181 {0.3171, 0.2055, 0.2302, 0.2472},
42182 {0.3107, 0.2459, 0.3007, 0.1428},
42183 {0.1203, 0.3154, 0.2978, 0.2665}},
42184 {
42185 {0.2751, 0.2710, 0.2484, 0.2055},
42186 {0.2907, 0.2737, 0.2007, 0.2349},
42187 {0.1626, 0.3796, 0.2374, 0.2204},
42188 {0.1494, 0.3707, 0.2419, 0.2379}},
42189 {
42190 {0.1953, 0.3320, 0.3119, 0.1607},
42191 {0.2898, 0.2896, 0.2802, 0.1404},
42192 {0.2072, 0.3528, 0.2856, 0.1545},
42193 {0.1471, 0.2614, 0.3659, 0.2256}},
42194 {
42195 {0.2840, 0.2250, 0.2375, 0.2536},
42196 {0.3473, 0.1903, 0.2616, 0.2008},
42197 {0.3090, 0.2562, 0.3369, 0.0978},
42198 {0.1120, 0.3283, 0.2691, 0.2906}},
42199 {
42200 {0.2613, 0.2562, 0.2662, 0.2163},
42201 {0.3096, 0.2713, 0.2251, 0.1940},
42202 {0.1815, 0.3897, 0.2416, 0.1872},
42203 {0.1387, 0.3187, 0.2622, 0.2804}},
42204 {
42205 {0.1972, 0.2431, 0.3918, 0.1679},
42206 {0.2546, 0.2379, 0.3050, 0.2025},
42207 {0.1984, 0.3793, 0.2464, 0.1759},
42208 {0.1427, 0.3023, 0.3620, 0.1930}},
42209 {
42210 {0.3237, 0.2216, 0.2631, 0.1916},
42211 {0.3262, 0.1984, 0.2451, 0.2303},
42212 {0.2634, 0.2586, 0.3263, 0.1516},
42213 {0.0998, 0.3406, 0.3399, 0.2196}},
42214 {
42215 {0.2420, 0.2633, 0.2819, 0.2128},
42216 {0.2770, 0.3361, 0.1857, 0.2012},
42217 {0.2156, 0.3325, 0.2456, 0.2063},
42218 {0.1443, 0.2749, 0.3297, 0.2511}},
42219 {
42220 {0.2104, 0.2504, 0.3346, 0.2046},
42221 {0.3389, 0.2758, 0.1979, 0.1874},
42222 {0.2045, 0.4013, 0.2468, 0.1475},
42223 {0.1287, 0.2739, 0.3932, 0.2042}},
42224 {
42225 {0.3139, 0.2042, 0.2725, 0.2095},
42226 {0.3414, 0.1845, 0.2638, 0.2104},
42227 {0.2752, 0.2386, 0.3264, 0.1598},
42228 {0.0718, 0.3221, 0.3348, 0.2712}},
42229 {
42230 {0.2232, 0.2482, 0.2264, 0.3022},
42231 {0.2698, 0.3216, 0.1855, 0.2230},
42232 {0.1933, 0.3727, 0.2537, 0.1803},
42233 {0.1163, 0.2889, 0.3298, 0.2650}},
42234 {
42235 {0.2030, 0.2760, 0.3666, 0.1544},
42236 {0.2972, 0.2459, 0.2293, 0.2276},
42237 {0.2698, 0.3405, 0.2338, 0.1559},
42238 {0.1632, 0.2869, 0.3951, 0.1549}},
42239 {
42240 {0.3313, 0.1832, 0.3128, 0.1727},
42241 {0.3271, 0.1988, 0.3118, 0.1623},
42242 {0.3059, 0.2759, 0.2729, 0.1453},
42243 {0.1089, 0.2871, 0.3303, 0.2736}},
42244 {
42245 {0.2699, 0.2489, 0.2265, 0.2547},
42246 {0.3191, 0.2660, 0.2310, 0.1838},
42247 {0.2466, 0.3482, 0.2308, 0.1745},
42248 {0.1182, 0.2813, 0.3340, 0.2665}},
42249 {
42250 {0.2583, 0.2559, 0.3440, 0.1418},
42251 {0.3209, 0.2399, 0.2760, 0.1632},
42252 {0.2136, 0.3602, 0.2226, 0.2036},
42253 {0.1822, 0.3086, 0.3361, 0.1731}},
42254 {
42255 {0.3100, 0.2337, 0.3118, 0.1445},
42256 {0.3157, 0.2190, 0.2251, 0.2401},
42257 {0.2542, 0.2937, 0.2923, 0.1597},
42258 {0.1462, 0.3759, 0.2466, 0.2313}},
42259 {
42260 {0.2647, 0.2750, 0.2054, 0.2549},
42261 {0.2880, 0.2989, 0.2051, 0.2081},
42262 {0.1786, 0.3823, 0.2637, 0.1754},
42263 {0.1409, 0.2541, 0.2967, 0.3082}},
42264 {
42265 {0.1883, 0.2581, 0.3599, 0.1938},
42266 {0.3595, 0.2915, 0.2098, 0.1392},
42267 {0.2609, 0.3400, 0.2807, 0.1183},
42268 {0.1322, 0.2723, 0.3797, 0.2157}},
42269 {
42270 {0.1880, 0.2517, 0.3407, 0.2196},
42271 {0.3777, 0.1902, 0.2448, 0.1873},
42272 {0.2801, 0.2770, 0.2944, 0.1485},
42273 {0.1563, 0.3120, 0.2645, 0.2672}},
42274 {
42275 {0.2308, 0.2576, 0.2450, 0.2666},
42276 {0.2400, 0.3178, 0.2458, 0.1964},
42277 {0.1918, 0.3625, 0.2450, 0.2007},
42278 {0.0945, 0.2657, 0.3368, 0.3030}},
42279 {
42280 {0.2130, 0.2661, 0.3094, 0.2115},
42281 {0.2933, 0.3009, 0.2001, 0.2057},
42282 {0.1923, 0.3974, 0.2161, 0.1943},
42283 {0.1457, 0.2590, 0.4179, 0.1774}},
42284 {
42285 {0.3012, 0.2032, 0.3692, 0.1265},
42286 {0.2841, 0.1711, 0.2907, 0.2541},
42287 {0.2745, 0.2994, 0.2778, 0.1483},
42288 {0.0843, 0.3785, 0.2794, 0.2578}},
42289 {
42290 {0.2602, 0.2673, 0.2167, 0.2559},
42291 {0.3212, 0.2868, 0.1684, 0.2237},
42292 {0.1792, 0.3680, 0.2563, 0.1966},
42293 {0.1255, 0.3912, 0.2961, 0.1872}},
42294 {
42295 {0.2776, 0.2954, 0.2861, 0.1409},
42296 {0.2703, 0.2689, 0.2798, 0.1811},
42297 {0.1956, 0.3642, 0.3168, 0.1233},
42298 {0.1634, 0.2610, 0.3563, 0.2193}},
42299 {
42300 {0.2771, 0.2054, 0.3455, 0.1721},
42301 {0.3184, 0.1984, 0.2581, 0.2252},
42302 {0.2860, 0.2606, 0.3182, 0.1352},
42303 {0.0930, 0.3548, 0.2531, 0.2991}},
42304 {
42305 {0.2933, 0.2490, 0.2134, 0.2443},
42306 {0.2245, 0.3273, 0.2044, 0.2438},
42307 {0.2070, 0.3700, 0.2649, 0.1580},
42308 {0.1437, 0.3030, 0.3065, 0.2467}},
42309 {
42310 {0.2743, 0.2657, 0.3078, 0.1521},
42311 {0.3052, 0.2702, 0.2208, 0.2038},
42312 {0.2771, 0.3599, 0.2526, 0.1104},
42313 {0.1527, 0.2744, 0.3780, 0.1949}},
42314 {
42315 {0.2628, 0.1920, 0.3845, 0.1607},
42316 {0.3300, 0.1889, 0.3392, 0.1419},
42317 {0.2568, 0.2470, 0.4580, 0.0382},
42318 {0.0886, 0.2982, 0.3934, 0.2199}},
42319 {
42320 {0.2303, 0.3837, 0.2226, 0.1634},
42321 {0.2679, 0.4643, 0.1831, 0.0847},
42322 {0.1754, 0.3795, 0.3439, 0.1013},
42323 {0.1092, 0.4143, 0.2263, 0.2501}},
42324 {
42325 {1.0000, 0.0000, 0.0000, 0.0000},
42326 {1.0000, 0.0000, 0.0000, 0.0000},
42327 {1.0000, 0.0000, 0.0000, 0.0000},
42328 {1.0000, 0.0000, 0.0000, 0.0000}},
42329 {
42330 {0.0000, 0.0000, 1.0000, 0.0000},
42331 {0.0000, 0.0000, 0.0000, 0.0000},
42332 {0.0000, 0.0000, 0.0000, 0.0000},
42333 {0.0000, 0.0000, 0.0000, 0.0000}},
42334 {
42335 {0.0000, 0.0000, 0.0000, 0.0000},
42336 {0.0000, 0.0000, 0.0000, 0.0000},
42337 {0.1583, 0.3871, 0.2067, 0.2480},
42338 {0.0000, 0.0000, 0.0000, 0.0000}},
42339 {
42340 {0.1948, 0.2359, 0.4167, 0.1525},
42341 {0.2716, 0.2219, 0.3009, 0.2056},
42342 {0.3783, 0.2550, 0.1735, 0.1932},
42343 {0.1865, 0.1961, 0.4959, 0.1215}},
42344 {
42345 {0.2564, 0.2362, 0.3510, 0.1564},
42346 {0.3680, 0.1831, 0.3026, 0.1464},
42347 {0.2816, 0.2885, 0.3065, 0.1234},
42348 {0.1447, 0.3273, 0.3450, 0.1831}},
42349 {
42350 {0.2820, 0.2200, 0.2582, 0.2398},
42351 {0.2827, 0.2972, 0.2227, 0.1973},
42352 {0.1736, 0.3666, 0.2620, 0.1978},
42353 {0.1954, 0.3506, 0.2089, 0.2451}},
42354 {
42355 {0.1396, 0.3223, 0.3321, 0.2060},
42356 {0.3093, 0.3237, 0.2217, 0.1453},
42357 {0.2788, 0.3782, 0.2370, 0.1060},
42358 {0.1145, 0.2920, 0.3252, 0.2683}},
42359 {
42360 {0.2525, 0.1850, 0.4227, 0.1398},
42361 {0.3097, 0.1770, 0.2805, 0.2328},
42362 {0.2351, 0.2669, 0.3381, 0.1599},
42363 {0.0771, 0.3380, 0.3260, 0.2589}},
42364 {
42365 {0.2944, 0.2398, 0.2388, 0.2271},
42366 {0.2610, 0.2862, 0.2520, 0.2008},
42367 {0.2195, 0.3892, 0.2553, 0.1359},
42368 {0.1797, 0.3340, 0.3142, 0.1722}},
42369 {
42370 {0.1838, 0.2829, 0.3718, 0.1615},
42371 {0.2950, 0.3132, 0.2133, 0.1784},
42372 {0.1926, 0.3936, 0.2652, 0.1486},
42373 {0.1630, 0.2866, 0.3617, 0.1888}},
42374 {
42375 {0.2657, 0.2402, 0.2928, 0.2013},
42376 {0.3175, 0.1724, 0.2385, 0.2716},
42377 {0.2600, 0.2815, 0.3432, 0.1153},
42378 {0.1707, 0.3471, 0.3123, 0.1699}},
42379 {
42380 {0.1580, 0.3110, 0.2520, 0.2790},
42381 {0.2494, 0.2994, 0.1783, 0.2729},
42382 {0.2077, 0.3407, 0.2474, 0.2042},
42383 {0.1181, 0.3253, 0.2739, 0.2828}},
42384 {
42385 {0.2485, 0.3182, 0.2753, 0.1580},
42386 {0.3054, 0.2454, 0.2532, 0.1959},
42387 {0.2005, 0.3797, 0.2747, 0.1451},
42388 {0.1325, 0.2719, 0.4523, 0.1434}},
42389 {
42390 {0.2870, 0.1574, 0.3834, 0.1721},
42391 {0.3575, 0.1762, 0.2350, 0.2313},
42392 {0.2637, 0.2562, 0.3396, 0.1406},
42393 {0.0996, 0.3297, 0.3618, 0.2089}},
42394 {
42395 {0.2104, 0.2152, 0.3217, 0.2527},
42396 {0.2171, 0.3125, 0.2229, 0.2476},
42397 {0.1663, 0.3081, 0.2510, 0.2746},
42398 {0.1403, 0.3138, 0.2655, 0.2803}},
42399 {
42400 {0.1828, 0.2617, 0.3427, 0.2128},
42401 {0.2880, 0.3123, 0.2893, 0.1104},
42402 {0.2361, 0.3914, 0.1925, 0.1800},
42403 {0.1577, 0.2948, 0.4116, 0.1359}},
42404 {
42405 {0.2470, 0.1678, 0.4138, 0.1714},
42406 {0.3596, 0.2150, 0.1819, 0.2436},
42407 {0.2646, 0.2662, 0.3179, 0.1513},
42408 {0.0908, 0.3361, 0.3627, 0.2103}},
42409 {
42410 {0.2385, 0.2623, 0.3055, 0.1936},
42411 {0.2837, 0.2934, 0.2080, 0.2148},
42412 {0.1905, 0.4042, 0.2275, 0.1778},
42413 {0.1868, 0.2581, 0.3071, 0.2480}},
42414 {
42415 {0.2153, 0.3373, 0.2891, 0.1582},
42416 {0.2853, 0.2541, 0.2415, 0.2191},
42417 {0.1946, 0.3650, 0.2948, 0.1456},
42418 {0.1510, 0.2479, 0.4302, 0.1709}},
42419 {
42420 {0.2434, 0.2366, 0.3192, 0.2007},
42421 {0.3374, 0.1775, 0.2906, 0.1945},
42422 {0.2474, 0.2726, 0.3726, 0.1075},
42423 {0.1316, 0.3205, 0.2902, 0.2577}},
42424 {
42425 {0.3108, 0.2501, 0.1496, 0.2895},
42426 {0.2836, 0.2967, 0.2300, 0.1897},
42427 {0.1992, 0.3754, 0.1990, 0.2264},
42428 {0.0994, 0.2781, 0.3262, 0.2963}},
42429 {
42430 {0.2093, 0.2859, 0.4018, 0.1029},
42431 {0.3116, 0.2781, 0.2499, 0.1603},
42432 {0.2434, 0.3438, 0.2638, 0.1490},
42433 {0.1532, 0.3186, 0.3388, 0.1894}},
42434 {
42435 {0.2675, 0.2215, 0.3231, 0.1879},
42436 {0.3848, 0.1664, 0.2139, 0.2349},
42437 {0.3093, 0.2646, 0.2861, 0.1401},
42438 {0.1188, 0.3878, 0.2735, 0.2199}},
42439 {
42440 {0.2902, 0.2593, 0.2328, 0.2177},
42441 {0.3428, 0.2605, 0.2019, 0.1949},
42442 {0.2892, 0.3387, 0.1769, 0.1952},
42443 {0.1275, 0.2961, 0.3078, 0.2686}},
42444 {
42445 {0.2340, 0.2419, 0.3598, 0.1643},
42446 {0.3389, 0.2776, 0.2130, 0.1705},
42447 {0.2372, 0.3441, 0.2432, 0.1756},
42448 {0.1496, 0.2704, 0.4360, 0.1440}},
42449 {
42450 {0.2812, 0.2250, 0.3578, 0.1360},
42451 {0.3374, 0.1753, 0.2532, 0.2340},
42452 {0.2851, 0.2587, 0.2601, 0.1961},
42453 {0.1683, 0.3593, 0.3072, 0.1652}},
42454 {
42455 {0.2583, 0.2636, 0.2896, 0.1886},
42456 {0.2903, 0.3305, 0.1633, 0.2158},
42457 {0.2138, 0.3614, 0.2152, 0.2095},
42458 {0.1248, 0.2685, 0.3656, 0.2411}},
42459 {
42460 {0.2296, 0.1958, 0.4332, 0.1414},
42461 {0.3216, 0.2566, 0.2424, 0.1794},
42462 {0.2340, 0.3961, 0.2080, 0.1619},
42463 {0.1566, 0.3158, 0.3352, 0.1925}},
42464 {
42465 {0.2720, 0.2233, 0.2834, 0.2213},
42466 {0.3410, 0.1667, 0.2682, 0.2241},
42467 {0.2982, 0.3175, 0.2420, 0.1423},
42468 {0.0538, 0.2619, 0.3874, 0.2969}},
42469 {
42470 {0.3198, 0.2139, 0.2497, 0.2165},
42471 {0.2936, 0.2692, 0.1904, 0.2468},
42472 {0.2169, 0.3568, 0.2503, 0.1761},
42473 {0.1302, 0.3255, 0.3041, 0.2402}},
42474 {
42475 {0.2182, 0.2802, 0.3535, 0.1482},
42476 {0.3358, 0.2472, 0.2460, 0.1710},
42477 {0.2367, 0.3254, 0.2594, 0.1784},
42478 {0.2054, 0.2672, 0.3938, 0.1336}},
42479 {
42480 {0.3443, 0.1895, 0.3048, 0.1614},
42481 {0.3719, 0.1555, 0.1997, 0.2728},
42482 {0.2784, 0.2829, 0.3005, 0.1382},
42483 {0.1606, 0.3534, 0.2543, 0.2317}},
42484 {
42485 {0.2510, 0.2380, 0.2758, 0.2352},
42486 {0.3336, 0.2693, 0.1657, 0.2313},
42487 {0.2231, 0.3480, 0.2370, 0.1919},
42488 {0.1325, 0.2400, 0.3535, 0.2739}},
42489 {
42490 {0.2068, 0.2975, 0.3444, 0.1513},
42491 {0.2960, 0.2860, 0.2629, 0.1551},
42492 {0.2123, 0.3912, 0.2420, 0.1545},
42493 {0.1753, 0.2873, 0.3581, 0.1794}},
42494 {
42495 {0.2860, 0.2664, 0.2898, 0.1578},
42496 {0.3520, 0.1981, 0.2745, 0.1755},
42497 {0.2970, 0.3081, 0.2316, 0.1633},
42498 {0.1248, 0.3956, 0.2610, 0.2186}},
42499 {
42500 {0.2604, 0.2647, 0.2917, 0.1832},
42501 {0.2603, 0.3598, 0.1869, 0.1930},
42502 {0.2284, 0.3662, 0.2343, 0.1711},
42503 {0.1485, 0.2332, 0.3400, 0.2784}},
42504 {
42505 {0.1898, 0.2500, 0.3309, 0.2293},
42506 {0.2991, 0.3246, 0.2140, 0.1623},
42507 {0.1433, 0.4231, 0.2366, 0.1969},
42508 {0.1782, 0.2651, 0.4267, 0.1299}},
42509 {
42510 {0.3163, 0.2438, 0.2439, 0.1960},
42511 {0.3924, 0.1697, 0.2364, 0.2015},
42512 {0.2431, 0.2917, 0.3337, 0.1315},
42513 {0.0984, 0.3779, 0.2859, 0.2378}},
42514 {
42515 {0.2859, 0.1885, 0.2948, 0.2308},
42516 {0.2112, 0.3295, 0.2165, 0.2428},
42517 {0.1711, 0.3246, 0.2542, 0.2502},
42518 {0.1152, 0.3225, 0.2551, 0.3072}},
42519 {
42520 {0.1936, 0.2693, 0.3011, 0.2359},
42521 {0.3521, 0.2563, 0.2338, 0.1578},
42522 {0.1991, 0.3488, 0.2898, 0.1623},
42523 {0.1868, 0.2655, 0.3626, 0.1850}},
42524 {
42525 {0.3309, 0.2072, 0.2679, 0.1939},
42526 {0.2879, 0.1821, 0.2895, 0.2405},
42527 {0.2515, 0.2885, 0.3246, 0.1354},
42528 {0.1423, 0.4006, 0.2714, 0.1856}},
42529 {
42530 {0.2343, 0.2241, 0.2493, 0.2923},
42531 {0.3019, 0.3186, 0.1701, 0.2094},
42532 {0.2164, 0.3607, 0.2304, 0.1925},
42533 {0.1137, 0.2487, 0.3075, 0.3300}},
42534 {
42535 {0.2127, 0.2360, 0.3748, 0.1764},
42536 {0.3624, 0.2561, 0.2195, 0.1620},
42537 {0.1883, 0.4638, 0.2151, 0.1328},
42538 {0.1820, 0.2498, 0.4031, 0.1651}},
42539 {
42540 {0.4321, 0.1751, 0.2484, 0.1444},
42541 {0.3341, 0.1569, 0.2869, 0.2222},
42542 {0.2374, 0.2728, 0.3283, 0.1615},
42543 {0.1172, 0.2973, 0.3387, 0.2469}},
42544 {
42545 {0.2579, 0.2751, 0.2626, 0.2043},
42546 {0.3109, 0.3084, 0.1927, 0.1880},
42547 {0.2429, 0.3367, 0.1799, 0.2405},
42548 {0.1286, 0.2849, 0.3529, 0.2335}},
42549 {
42550 {0.2664, 0.2191, 0.3034, 0.2112},
42551 {0.2990, 0.2441, 0.2544, 0.2026},
42552 {0.2194, 0.3420, 0.2827, 0.1559},
42553 {0.1672, 0.3011, 0.3785, 0.1532}},
42554 {
42555 {0.3140, 0.2049, 0.2774, 0.2037},
42556 {0.3966, 0.1773, 0.2577, 0.1683},
42557 {0.2897, 0.2551, 0.3328, 0.1224},
42558 {0.1331, 0.3283, 0.2665, 0.2721}},
42559 {
42560 {0.2267, 0.2381, 0.2433, 0.2919},
42561 {0.3173, 0.3204, 0.1735, 0.1888},
42562 {0.2280, 0.3396, 0.2490, 0.1834},
42563 {0.1455, 0.3233, 0.2398, 0.2913}},
42564 {
42565 {0.2143, 0.2482, 0.3441, 0.1935},
42566 {0.2911, 0.2968, 0.2679, 0.1443},
42567 {0.1954, 0.4017, 0.2568, 0.1462},
42568 {0.1742, 0.3062, 0.3608, 0.1589}},
42569 {
42570 {0.2050, 0.2639, 0.3296, 0.2016},
42571 {0.4022, 0.1771, 0.2439, 0.1768},
42572 {0.2987, 0.2945, 0.2576, 0.1492},
42573 {0.0866, 0.2289, 0.3986, 0.2860}},
42574 {
42575 {0.2757, 0.2215, 0.2867, 0.2161},
42576 {0.2843, 0.2831, 0.2198, 0.2128},
42577 {0.1875, 0.3457, 0.2217, 0.2451},
42578 {0.1658, 0.3006, 0.2344, 0.2992}},
42579 {
42580 {0.2003, 0.2995, 0.3045, 0.1957},
42581 {0.3600, 0.3209, 0.2045, 0.1147},
42582 {0.2697, 0.3481, 0.2523, 0.1299},
42583 {0.1579, 0.2086, 0.3802, 0.2532}}},
42584
42585 { /* Splice_Site: F0_AG; Species: Droso */
42586 {
42587 {0.3000, 0.3000, 0.3000, 0.3000},
42588 {0.2321, 0.2321, 0.2321, 0.2321},
42589 {0.2806, 0.2806, 0.2806, 0.2806},
42590 {0.1874, 0.1874, 0.1874, 0.1874}},
42591 {
42592 {0.3080, 0.1779, 0.2779, 0.2362},
42593 {0.2555, 0.3473, 0.1505, 0.2466},
42594 {0.2209, 0.4024, 0.1999, 0.1767},
42595 {0.1724, 0.3417, 0.2668, 0.2192}},
42596 {
42597 {0.2395, 0.2152, 0.3380, 0.2073},
42598 {0.2887, 0.2712, 0.2387, 0.2014},
42599 {0.1756, 0.4251, 0.2644, 0.1349},
42600 {0.2065, 0.2614, 0.3915, 0.1407}},
42601 {
42602 {0.2926, 0.1777, 0.3137, 0.2160},
42603 {0.3770, 0.2089, 0.1922, 0.2218},
42604 {0.2197, 0.2921, 0.3654, 0.1228},
42605 {0.1032, 0.4205, 0.3055, 0.1708}},
42606 {
42607 {0.2673, 0.2646, 0.2508, 0.2172},
42608 {0.2718, 0.3287, 0.1697, 0.2298},
42609 {0.2615, 0.3738, 0.1945, 0.1702},
42610 {0.1810, 0.3226, 0.2503, 0.2461}},
42611 {
42612 {0.1759, 0.2935, 0.3698, 0.1608},
42613 {0.2538, 0.3021, 0.2795, 0.1647},
42614 {0.1998, 0.3567, 0.3094, 0.1340},
42615 {0.1353, 0.2344, 0.4313, 0.1989}},
42616 {
42617 {0.2876, 0.2094, 0.2488, 0.2542},
42618 {0.4050, 0.1988, 0.2127, 0.1836},
42619 {0.2431, 0.2573, 0.3252, 0.1744},
42620 {0.1155, 0.3880, 0.2629, 0.2336}},
42621 {
42622 {0.2957, 0.2339, 0.1970, 0.2734},
42623 {0.2736, 0.2770, 0.2148, 0.2347},
42624 {0.2670, 0.2971, 0.2612, 0.1747},
42625 {0.0977, 0.3850, 0.2509, 0.2664}},
42626 {
42627 {0.2135, 0.2836, 0.3627, 0.1401},
42628 {0.3058, 0.2468, 0.2682, 0.1792},
42629 {0.2247, 0.3316, 0.2644, 0.1793},
42630 {0.1458, 0.2384, 0.4074, 0.2084}},
42631 {
42632 {0.2812, 0.1999, 0.2336, 0.2853},
42633 {0.3727, 0.1805, 0.2473, 0.1994},
42634 {0.2219, 0.3179, 0.2833, 0.1769},
42635 {0.1020, 0.2764, 0.2748, 0.3468}},
42636 {
42637 {0.2564, 0.2764, 0.2633, 0.2040},
42638 {0.2687, 0.2442, 0.1875, 0.2997},
42639 {0.2225, 0.3384, 0.2247, 0.2143},
42640 {0.1350, 0.3404, 0.2269, 0.2977}},
42641 {
42642 {0.2073, 0.2259, 0.3980, 0.1688},
42643 {0.2487, 0.3010, 0.2540, 0.1962},
42644 {0.2372, 0.4549, 0.2292, 0.0786},
42645 {0.1847, 0.3280, 0.3213, 0.1660}},
42646 {
42647 {0.2894, 0.2258, 0.2922, 0.1927},
42648 {0.3143, 0.1915, 0.2366, 0.2576},
42649 {0.2296, 0.2729, 0.3509, 0.1465},
42650 {0.1555, 0.2976, 0.2333, 0.3136}},
42651 {
42652 {0.2822, 0.2357, 0.2994, 0.1827},
42653 {0.2742, 0.3026, 0.2045, 0.2188},
42654 {0.2436, 0.3046, 0.2447, 0.2071},
42655 {0.1247, 0.2141, 0.3625, 0.2987}},
42656 {
42657 {0.1699, 0.2697, 0.3651, 0.1953},
42658 {0.2833, 0.2733, 0.2602, 0.1832},
42659 {0.1725, 0.4412, 0.2522, 0.1341},
42660 {0.1710, 0.3210, 0.2891, 0.2189}},
42661 {
42662 {0.2415, 0.2936, 0.2997, 0.1652},
42663 {0.3608, 0.1879, 0.2906, 0.1607},
42664 {0.3126, 0.2747, 0.2534, 0.1593},
42665 {0.0917, 0.3755, 0.2905, 0.2423}},
42666 {
42667 {0.2914, 0.1930, 0.2865, 0.2292},
42668 {0.3011, 0.2509, 0.2393, 0.2087},
42669 {0.2070, 0.4012, 0.2153, 0.1765},
42670 {0.1255, 0.3430, 0.2485, 0.2830}},
42671 {
42672 {0.2361, 0.3088, 0.2857, 0.1695},
42673 {0.2510, 0.3605, 0.2502, 0.1383},
42674 {0.1856, 0.3602, 0.2597, 0.1945},
42675 {0.0946, 0.3190, 0.3607, 0.2256}},
42676 {
42677 {0.2421, 0.2324, 0.2811, 0.2444},
42678 {0.3928, 0.1928, 0.2211, 0.1933},
42679 {0.2573, 0.2519, 0.3546, 0.1361},
42680 {0.0725, 0.2779, 0.3771, 0.2725}},
42681 {
42682 {0.2682, 0.2387, 0.2533, 0.2398},
42683 {0.3116, 0.2971, 0.1458, 0.2456},
42684 {0.2235, 0.3404, 0.2410, 0.1952},
42685 {0.2191, 0.2505, 0.2709, 0.2594}},
42686 {
42687 {0.2100, 0.3021, 0.2964, 0.1915},
42688 {0.2305, 0.2912, 0.2895, 0.1888},
42689 {0.2442, 0.3663, 0.2513, 0.1382},
42690 {0.1780, 0.2337, 0.4025, 0.1858}},
42691 {
42692 {0.3520, 0.2229, 0.2322, 0.1929},
42693 {0.3146, 0.2011, 0.2297, 0.2545},
42694 {0.3178, 0.2360, 0.3035, 0.1427},
42695 {0.1235, 0.3260, 0.2908, 0.2596}},
42696 {
42697 {0.2789, 0.2742, 0.2499, 0.1970},
42698 {0.2951, 0.2637, 0.1984, 0.2428},
42699 {0.1724, 0.3727, 0.2464, 0.2086},
42700 {0.1477, 0.3741, 0.2359, 0.2422}},
42701 {
42702 {0.1958, 0.3290, 0.3152, 0.1600},
42703 {0.2992, 0.2715, 0.2924, 0.1370},
42704 {0.1996, 0.3478, 0.2959, 0.1567},
42705 {0.1491, 0.2533, 0.3638, 0.2338}},
42706 {
42707 {0.2748, 0.2293, 0.2372, 0.2587},
42708 {0.3393, 0.1979, 0.2613, 0.2015},
42709 {0.3067, 0.2558, 0.3360, 0.1015},
42710 {0.1128, 0.3255, 0.2778, 0.2839}},
42711 {
42712 {0.2665, 0.2464, 0.2697, 0.2173},
42713 {0.3151, 0.2627, 0.2142, 0.2081},
42714 {0.1773, 0.3902, 0.2338, 0.1988},
42715 {0.1334, 0.3229, 0.2562, 0.2875}},
42716 {
42717 {0.1953, 0.2470, 0.3856, 0.1721},
42718 {0.2624, 0.2313, 0.3070, 0.1993},
42719 {0.1959, 0.3692, 0.2555, 0.1795},
42720 {0.1521, 0.2997, 0.3600, 0.1882}},
42721 {
42722 {0.3233, 0.2194, 0.2629, 0.1943},
42723 {0.3236, 0.1948, 0.2463, 0.2354},
42724 {0.2571, 0.2623, 0.3262, 0.1544},
42725 {0.1076, 0.3433, 0.3239, 0.2252}},
42726 {
42727 {0.2435, 0.2588, 0.2829, 0.2148},
42728 {0.2729, 0.3414, 0.1866, 0.1991},
42729 {0.2232, 0.3340, 0.2418, 0.2011},
42730 {0.1362, 0.2783, 0.3291, 0.2564}},
42731 {
42732 {0.2143, 0.2457, 0.3347, 0.2053},
42733 {0.3370, 0.2812, 0.1973, 0.1845},
42734 {0.2104, 0.3964, 0.2440, 0.1491},
42735 {0.1274, 0.2784, 0.3815, 0.2127}},
42736 {
42737 {0.3135, 0.2073, 0.2728, 0.2064},
42738 {0.3435, 0.1832, 0.2622, 0.2111},
42739 {0.2760, 0.2431, 0.3218, 0.1592},
42740 {0.0724, 0.3218, 0.3318, 0.2740}},
42741 {
42742 {0.2243, 0.2449, 0.2292, 0.3016},
42743 {0.2661, 0.3271, 0.1804, 0.2264},
42744 {0.1965, 0.3655, 0.2546, 0.1834},
42745 {0.1108, 0.2897, 0.3301, 0.2694}},
42746 {
42747 {0.2055, 0.2698, 0.3727, 0.1520},
42748 {0.2909, 0.2414, 0.2352, 0.2325},
42749 {0.2771, 0.3272, 0.2392, 0.1565},
42750 {0.1618, 0.2873, 0.3988, 0.1521}},
42751 {
42752 {0.3373, 0.1760, 0.3137, 0.1729},
42753 {0.3230, 0.2066, 0.3098, 0.1605},
42754 {0.2933, 0.2788, 0.2778, 0.1501},
42755 {0.1042, 0.2799, 0.3310, 0.2849}},
42756 {
42757 {0.2745, 0.2519, 0.2226, 0.2510},
42758 {0.3090, 0.2735, 0.2304, 0.1872},
42759 {0.2460, 0.3416, 0.2330, 0.1794},
42760 {0.1157, 0.2920, 0.3247, 0.2677}},
42761 {
42762 {0.2512, 0.2489, 0.3531, 0.1468},
42763 {0.3148, 0.2416, 0.2780, 0.1656},
42764 {0.2113, 0.3657, 0.2251, 0.1979},
42765 {0.1802, 0.3041, 0.3445, 0.1713}},
42766 {
42767 {0.3076, 0.2417, 0.3124, 0.1382},
42768 {0.3129, 0.2168, 0.2225, 0.2478},
42769 {0.2556, 0.2908, 0.2981, 0.1556},
42770 {0.1483, 0.3796, 0.2516, 0.2205}},
42771 {
42772 {0.2684, 0.2816, 0.2082, 0.2418},
42773 {0.2843, 0.3087, 0.2018, 0.2052},
42774 {0.1801, 0.3870, 0.2608, 0.1722},
42775 {0.1371, 0.2601, 0.3050, 0.2978}},
42776 {
42777 {0.1847, 0.2599, 0.3557, 0.1997},
42778 {0.3607, 0.2884, 0.2101, 0.1408},
42779 {0.2647, 0.3404, 0.2779, 0.1171},
42780 {0.1283, 0.2768, 0.3768, 0.2180}},
42781 {
42782 {0.1864, 0.2496, 0.3421, 0.2219},
42783 {0.3829, 0.1879, 0.2457, 0.1835},
42784 {0.2863, 0.2747, 0.2951, 0.1439},
42785 {0.1600, 0.3191, 0.2719, 0.2490}},
42786 {
42787 {0.2352, 0.2522, 0.2485, 0.2641},
42788 {0.2481, 0.3197, 0.2369, 0.1952},
42789 {0.1870, 0.3634, 0.2461, 0.2035},
42790 {0.1057, 0.2624, 0.3360, 0.2959}},
42791 {
42792 {0.2145, 0.2599, 0.3141, 0.2115},
42793 {0.2893, 0.3023, 0.1977, 0.2107},
42794 {0.2053, 0.3932, 0.2137, 0.1878},
42795 {0.1467, 0.2598, 0.4133, 0.1803}},
42796 {
42797 {0.2884, 0.1996, 0.3774, 0.1346},
42798 {0.2774, 0.1699, 0.2980, 0.2547},
42799 {0.2807, 0.2973, 0.2775, 0.1445},
42800 {0.0814, 0.3699, 0.2823, 0.2664}},
42801 {
42802 {0.2624, 0.2623, 0.2209, 0.2544},
42803 {0.3186, 0.2959, 0.1601, 0.2254},
42804 {0.1807, 0.3612, 0.2617, 0.1964},
42805 {0.1208, 0.3999, 0.2911, 0.1882}},
42806 {
42807 {0.2761, 0.2946, 0.2868, 0.1425},
42808 {0.2775, 0.2677, 0.2766, 0.1781},
42809 {0.2047, 0.3727, 0.3017, 0.1209},
42810 {0.1646, 0.2568, 0.3468, 0.2318}},
42811 {
42812 {0.2777, 0.2019, 0.3450, 0.1754},
42813 {0.3151, 0.1969, 0.2574, 0.2306},
42814 {0.2860, 0.2623, 0.3098, 0.1418},
42815 {0.0943, 0.3551, 0.2515, 0.2991}},
42816 {
42817 {0.2945, 0.2497, 0.2125, 0.2433},
42818 {0.2137, 0.3326, 0.2096, 0.2441},
42819 {0.2021, 0.3720, 0.2666, 0.1593},
42820 {0.1429, 0.2928, 0.3080, 0.2564}},
42821 {
42822 {0.2725, 0.2590, 0.3094, 0.1591},
42823 {0.3031, 0.2677, 0.2215, 0.2077},
42824 {0.2838, 0.3504, 0.2553, 0.1104},
42825 {0.1555, 0.2803, 0.3668, 0.1974}},
42826 {
42827 {0.2608, 0.1911, 0.3825, 0.1656},
42828 {0.3307, 0.1844, 0.3413, 0.1437},
42829 {0.2630, 0.2474, 0.4480, 0.0415},
42830 {0.0894, 0.2978, 0.4058, 0.2070}},
42831 {
42832 {0.2341, 0.3694, 0.2281, 0.1684},
42833 {0.2696, 0.4690, 0.1762, 0.0853},
42834 {0.1724, 0.3781, 0.3473, 0.1021},
42835 {0.1073, 0.4131, 0.2243, 0.2553}},
42836 {
42837 {1.0000, 0.0000, 0.0000, 0.0000},
42838 {1.0000, 0.0000, 0.0000, 0.0000},
42839 {1.0000, 0.0000, 0.0000, 0.0000},
42840 {1.0000, 0.0000, 0.0000, 0.0000}},
42841 {
42842 {0.0000, 0.0000, 1.0000, 0.0000},
42843 {0.0000, 0.0000, 0.0000, 0.0000},
42844 {0.0000, 0.0000, 0.0000, 0.0000},
42845 {0.0000, 0.0000, 0.0000, 0.0000}},
42846 {
42847 {0.0000, 0.0000, 0.0000, 0.0000},
42848 {0.0000, 0.0000, 0.0000, 0.0000},
42849 {0.1589, 0.3879, 0.2057, 0.2474},
42850 {0.0000, 0.0000, 0.0000, 0.0000}},
42851 {
42852 {0.1982, 0.2261, 0.4210, 0.1547},
42853 {0.2740, 0.2235, 0.2905, 0.2120},
42854 {0.3730, 0.2523, 0.1750, 0.1997},
42855 {0.1862, 0.1913, 0.4943, 0.1282}},
42856 {
42857 {0.2534, 0.2353, 0.3569, 0.1544},
42858 {0.3622, 0.1836, 0.3070, 0.1473},
42859 {0.2787, 0.2948, 0.3041, 0.1224},
42860 {0.1499, 0.3209, 0.3424, 0.1867}},
42861 {
42862 {0.2793, 0.2298, 0.2496, 0.2412},
42863 {0.2868, 0.2849, 0.2326, 0.1958},
42864 {0.1763, 0.3609, 0.2641, 0.1987},
42865 {0.1787, 0.3650, 0.2102, 0.2460}},
42866 {
42867 {0.1384, 0.3183, 0.3344, 0.2090},
42868 {0.3069, 0.3248, 0.2204, 0.1478},
42869 {0.2805, 0.3839, 0.2308, 0.1047},
42870 {0.1242, 0.2931, 0.3190, 0.2637}},
42871 {
42872 {0.2505, 0.1869, 0.4226, 0.1401},
42873 {0.3116, 0.1776, 0.2797, 0.2311},
42874 {0.2295, 0.2691, 0.3375, 0.1639},
42875 {0.0755, 0.3413, 0.3182, 0.2650}},
42876 {
42877 {0.3014, 0.2405, 0.2349, 0.2232},
42878 {0.2665, 0.2862, 0.2449, 0.2024},
42879 {0.2179, 0.3832, 0.2650, 0.1339},
42880 {0.1728, 0.3309, 0.3254, 0.1708}},
42881 {
42882 {0.1913, 0.2782, 0.3658, 0.1647},
42883 {0.2918, 0.3134, 0.2127, 0.1821},
42884 {0.2048, 0.3752, 0.2639, 0.1562},
42885 {0.1671, 0.2913, 0.3541, 0.1875}},
42886 {
42887 {0.2640, 0.2405, 0.2904, 0.2050},
42888 {0.3183, 0.1695, 0.2383, 0.2739},
42889 {0.2601, 0.2757, 0.3460, 0.1182},
42890 {0.1760, 0.3405, 0.3095, 0.1740}},
42891 {
42892 {0.1566, 0.3129, 0.2556, 0.2749},
42893 {0.2477, 0.2937, 0.1731, 0.2855},
42894 {0.2080, 0.3431, 0.2487, 0.2002},
42895 {0.1193, 0.3313, 0.2719, 0.2775}},
42896 {
42897 {0.2379, 0.3202, 0.2771, 0.1648},
42898 {0.3104, 0.2432, 0.2506, 0.1959},
42899 {0.1998, 0.3844, 0.2731, 0.1427},
42900 {0.1269, 0.2710, 0.4553, 0.1468}},
42901 {
42902 {0.2912, 0.1583, 0.3798, 0.1706},
42903 {0.3579, 0.1764, 0.2325, 0.2332},
42904 {0.2653, 0.2559, 0.3366, 0.1422},
42905 {0.1026, 0.3136, 0.3696, 0.2141}},
42906 {
42907 {0.2076, 0.2147, 0.3214, 0.2563},
42908 {0.2153, 0.3186, 0.2177, 0.2484},
42909 {0.1648, 0.3198, 0.2428, 0.2727},
42910 {0.1427, 0.2997, 0.2729, 0.2846}},
42911 {
42912 {0.1884, 0.2638, 0.3431, 0.2046},
42913 {0.2922, 0.3155, 0.2779, 0.1145},
42914 {0.2305, 0.3909, 0.2016, 0.1770},
42915 {0.1582, 0.2847, 0.4119, 0.1452}},
42916 {
42917 {0.2389, 0.1749, 0.4166, 0.1696},
42918 {0.3592, 0.2251, 0.1796, 0.2362},
42919 {0.2621, 0.2662, 0.3236, 0.1481},
42920 {0.0912, 0.3368, 0.3626, 0.2094}},
42921 {
42922 {0.2424, 0.2640, 0.2967, 0.1969},
42923 {0.2789, 0.2976, 0.2077, 0.2159},
42924 {0.1861, 0.4084, 0.2235, 0.1821},
42925 {0.1853, 0.2520, 0.3051, 0.2577}},
42926 {
42927 {0.2176, 0.3284, 0.2961, 0.1578},
42928 {0.2841, 0.2514, 0.2388, 0.2258},
42929 {0.1977, 0.3699, 0.2853, 0.1471},
42930 {0.1529, 0.2413, 0.4389, 0.1669}},
42931 {
42932 {0.2409, 0.2378, 0.3243, 0.1970},
42933 {0.3355, 0.1777, 0.2848, 0.2019},
42934 {0.2483, 0.2628, 0.3828, 0.1061},
42935 {0.1287, 0.3159, 0.2990, 0.2564}},
42936 {
42937 {0.3136, 0.2469, 0.1540, 0.2855},
42938 {0.2872, 0.3013, 0.2303, 0.1812},
42939 {0.1979, 0.3795, 0.2050, 0.2176},
42940 {0.0971, 0.2661, 0.3316, 0.3052}},
42941 {
42942 {0.2098, 0.2900, 0.3998, 0.1003},
42943 {0.3168, 0.2734, 0.2481, 0.1617},
42944 {0.2443, 0.3488, 0.2609, 0.1459},
42945 {0.1599, 0.3047, 0.3394, 0.1959}},
42946 {
42947 {0.2667, 0.2182, 0.3252, 0.1899},
42948 {0.3814, 0.1652, 0.2182, 0.2352},
42949 {0.3214, 0.2598, 0.2803, 0.1385},
42950 {0.1189, 0.3854, 0.2768, 0.2189}},
42951 {
42952 {0.2881, 0.2615, 0.2300, 0.2203},
42953 {0.3379, 0.2533, 0.2031, 0.2057},
42954 {0.2864, 0.3309, 0.1822, 0.2005},
42955 {0.1278, 0.2985, 0.3019, 0.2718}},
42956 {
42957 {0.2359, 0.2453, 0.3557, 0.1632},
42958 {0.3393, 0.2799, 0.2081, 0.1727},
42959 {0.2370, 0.3471, 0.2331, 0.1828},
42960 {0.1460, 0.2678, 0.4314, 0.1548}},
42961 {
42962 {0.2932, 0.2116, 0.3567, 0.1384},
42963 {0.3360, 0.1724, 0.2556, 0.2360},
42964 {0.2806, 0.2558, 0.2639, 0.1997},
42965 {0.1707, 0.3661, 0.3055, 0.1577}},
42966 {
42967 {0.2626, 0.2646, 0.2898, 0.1830},
42968 {0.2948, 0.3227, 0.1571, 0.2254},
42969 {0.2099, 0.3672, 0.2202, 0.2026},
42970 {0.1155, 0.2642, 0.3729, 0.2474}},
42971 {
42972 {0.2240, 0.1918, 0.4367, 0.1475},
42973 {0.3316, 0.2504, 0.2351, 0.1829},
42974 {0.2284, 0.3921, 0.2077, 0.1718},
42975 {0.1563, 0.3144, 0.3328, 0.1965}},
42976 {
42977 {0.2651, 0.2299, 0.2820, 0.2230},
42978 {0.3433, 0.1626, 0.2643, 0.2298},
42979 {0.2999, 0.3134, 0.2471, 0.1396},
42980 {0.0505, 0.2658, 0.3941, 0.2896}},
42981 {
42982 {0.3197, 0.2155, 0.2514, 0.2133},
42983 {0.2982, 0.2779, 0.1864, 0.2375},
42984 {0.2120, 0.3528, 0.2538, 0.1813},
42985 {0.1241, 0.3227, 0.3002, 0.2531}},
42986 {
42987 {0.2298, 0.2676, 0.3522, 0.1504},
42988 {0.3387, 0.2482, 0.2414, 0.1718},
42989 {0.2328, 0.3377, 0.2586, 0.1709},
42990 {0.2109, 0.2713, 0.3835, 0.1343}},
42991 {
42992 {0.3416, 0.1866, 0.3143, 0.1576},
42993 {0.3667, 0.1619, 0.2021, 0.2693},
42994 {0.2753, 0.2833, 0.3072, 0.1342},
42995 {0.1581, 0.3635, 0.2491, 0.2294}},
42996 {
42997 {0.2501, 0.2409, 0.2778, 0.2311},
42998 {0.3421, 0.2660, 0.1621, 0.2298},
42999 {0.2250, 0.3466, 0.2325, 0.1960},
43000 {0.1358, 0.2455, 0.3408, 0.2779}},
43001 {
43002 {0.2103, 0.2882, 0.3448, 0.1567},
43003 {0.2970, 0.2834, 0.2590, 0.1605},
43004 {0.2179, 0.3909, 0.2372, 0.1541},
43005 {0.1726, 0.2871, 0.3545, 0.1859}},
43006 {
43007 {0.2782, 0.2654, 0.2946, 0.1618},
43008 {0.3530, 0.2036, 0.2784, 0.1650},
43009 {0.2940, 0.3064, 0.2418, 0.1578},
43010 {0.1302, 0.3897, 0.2641, 0.2160}},
43011 {
43012 {0.2616, 0.2621, 0.2884, 0.1879},
43013 {0.2576, 0.3573, 0.1887, 0.1964},
43014 {0.2231, 0.3691, 0.2401, 0.1678},
43015 {0.1443, 0.2415, 0.3369, 0.2773}},
43016 {
43017 {0.1905, 0.2479, 0.3273, 0.2343},
43018 {0.2973, 0.3238, 0.2084, 0.1705},
43019 {0.1455, 0.4246, 0.2293, 0.2006},
43020 {0.1856, 0.2655, 0.4147, 0.1342}},
43021 {
43022 {0.3071, 0.2431, 0.2509, 0.1989},
43023 {0.3893, 0.1700, 0.2471, 0.1935},
43024 {0.2490, 0.2966, 0.3205, 0.1339},
43025 {0.0964, 0.3832, 0.2821, 0.2383}},
43026 {
43027 {0.2802, 0.1908, 0.2962, 0.2328},
43028 {0.2102, 0.3371, 0.2136, 0.2391},
43029 {0.1698, 0.3239, 0.2522, 0.2541},
43030 {0.1124, 0.3105, 0.2611, 0.3160}},
43031 {
43032 {0.1983, 0.2655, 0.2986, 0.2375},
43033 {0.3528, 0.2551, 0.2330, 0.1591},
43034 {0.2038, 0.3381, 0.2845, 0.1736},
43035 {0.1972, 0.2587, 0.3548, 0.1893}},
43036 {
43037 {0.3434, 0.2069, 0.2621, 0.1876},
43038 {0.2818, 0.1836, 0.2950, 0.2395},
43039 {0.2555, 0.2887, 0.3167, 0.1391},
43040 {0.1428, 0.3936, 0.2710, 0.1925}},
43041 {
43042 {0.2389, 0.2224, 0.2482, 0.2905},
43043 {0.3066, 0.3155, 0.1699, 0.2080},
43044 {0.2053, 0.3596, 0.2517, 0.1834},
43045 {0.1129, 0.2475, 0.3087, 0.3309}},
43046 {
43047 {0.2183, 0.2339, 0.3683, 0.1795},
43048 {0.3607, 0.2624, 0.2164, 0.1605},
43049 {0.1899, 0.4646, 0.2166, 0.1289},
43050 {0.1852, 0.2463, 0.4039, 0.1647}},
43051 {
43052 {0.4243, 0.1752, 0.2552, 0.1454},
43053 {0.3294, 0.1574, 0.2930, 0.2202},
43054 {0.2386, 0.2695, 0.3378, 0.1541},
43055 {0.1140, 0.2978, 0.3423, 0.2460}},
43056 {
43057 {0.2597, 0.2694, 0.2712, 0.1997},
43058 {0.3111, 0.3046, 0.1994, 0.1850},
43059 {0.2372, 0.3382, 0.1816, 0.2430},
43060 {0.1260, 0.2844, 0.3436, 0.2459}},
43061 {
43062 {0.2712, 0.2066, 0.3109, 0.2114},
43063 {0.2970, 0.2533, 0.2483, 0.2014},
43064 {0.2256, 0.3347, 0.2852, 0.1545},
43065 {0.1625, 0.3031, 0.3831, 0.1512}},
43066 {
43067 {0.3135, 0.2013, 0.2839, 0.2012},
43068 {0.3982, 0.1831, 0.2566, 0.1621},
43069 {0.2916, 0.2578, 0.3296, 0.1210},
43070 {0.1315, 0.3339, 0.2605, 0.2741}},
43071 {
43072 {0.2238, 0.2360, 0.2508, 0.2894},
43073 {0.3188, 0.3258, 0.1652, 0.1902},
43074 {0.2366, 0.3313, 0.2518, 0.1803},
43075 {0.1459, 0.3263, 0.2373, 0.2905}},
43076 {
43077 {0.2197, 0.2448, 0.3426, 0.1929},
43078 {0.2913, 0.2950, 0.2693, 0.1444},
43079 {0.2090, 0.3878, 0.2527, 0.1505},
43080 {0.1711, 0.2981, 0.3678, 0.1630}},
43081 {
43082 {0.2021, 0.2697, 0.3294, 0.1988},
43083 {0.3860, 0.1812, 0.2552, 0.1776},
43084 {0.2993, 0.2950, 0.2558, 0.1499},
43085 {0.0952, 0.2346, 0.3899, 0.2803}},
43086 {
43087 {0.2760, 0.2188, 0.2826, 0.2226},
43088 {0.2810, 0.2723, 0.2189, 0.2278},
43089 {0.1861, 0.3378, 0.2257, 0.2504},
43090 {0.1632, 0.3016, 0.2391, 0.2961}},
43091 {
43092 {0.2049, 0.3029, 0.2958, 0.1964},
43093 {0.3533, 0.3238, 0.2071, 0.1157},
43094 {0.2753, 0.3351, 0.2582, 0.1314},
43095 {0.1549, 0.2110, 0.3781, 0.2559}}},
43096
43097 { /* Splice_Site: Fi_AG; Species: Droso */
43098 {
43099 {0.2955, 0.2955, 0.2955, 0.2955},
43100 {0.2260, 0.2260, 0.2260, 0.2260},
43101 {0.2151, 0.2151, 0.2151, 0.2151},
43102 {0.2634, 0.2634, 0.2634, 0.2634}},
43103 {
43104 {0.3330, 0.2153, 0.1898, 0.2619},
43105 {0.3319, 0.2293, 0.1939, 0.2449},
43106 {0.2605, 0.3065, 0.1946, 0.2384},
43107 {0.2249, 0.2114, 0.2357, 0.3281}},
43108 {
43109 {0.4076, 0.1591, 0.1712, 0.2621},
43110 {0.3184, 0.2235, 0.1885, 0.2695},
43111 {0.2616, 0.2520, 0.2191, 0.2672},
43112 {0.2455, 0.2219, 0.2474, 0.2853}},
43113 {
43114 {0.3261, 0.1778, 0.1947, 0.3015},
43115 {0.3315, 0.2681, 0.1935, 0.2070},
43116 {0.2457, 0.2788, 0.2424, 0.2331},
43117 {0.2178, 0.1869, 0.2314, 0.3639}},
43118 {
43119 {0.3792, 0.2258, 0.1652, 0.2298},
43120 {0.2845, 0.2079, 0.2473, 0.2602},
43121 {0.2196, 0.2894, 0.2406, 0.2503},
43122 {0.2429, 0.2176, 0.2313, 0.3082}},
43123 {
43124 {0.3545, 0.2348, 0.1765, 0.2341},
43125 {0.2774, 0.2451, 0.2273, 0.2502},
43126 {0.2771, 0.2647, 0.2359, 0.2223},
43127 {0.2129, 0.2245, 0.2645, 0.2982}},
43128 {
43129 {0.3975, 0.1816, 0.1982, 0.2227},
43130 {0.3700, 0.2293, 0.1672, 0.2335},
43131 {0.2379, 0.2648, 0.2170, 0.2804},
43132 {0.2185, 0.2006, 0.2458, 0.3352}},
43133 {
43134 {0.3318, 0.2157, 0.2054, 0.2471},
43135 {0.3396, 0.1867, 0.1911, 0.2827},
43136 {0.2742, 0.2828, 0.1635, 0.2796},
43137 {0.2537, 0.1536, 0.2636, 0.3291}},
43138 {
43139 {0.4046, 0.1929, 0.1666, 0.2359},
43140 {0.3310, 0.2458, 0.1798, 0.2434},
43141 {0.2337, 0.2847, 0.1965, 0.2851},
43142 {0.2402, 0.2063, 0.2128, 0.3408}},
43143 {
43144 {0.3504, 0.2178, 0.2252, 0.2066},
43145 {0.3241, 0.2408, 0.1780, 0.2571},
43146 {0.3110, 0.2928, 0.1713, 0.2248},
43147 {0.1803, 0.2233, 0.2541, 0.3422}},
43148 {
43149 {0.3582, 0.2063, 0.1881, 0.2474},
43150 {0.3531, 0.2199, 0.2068, 0.2202},
43151 {0.2652, 0.2723, 0.2059, 0.2566},
43152 {0.2200, 0.2396, 0.1922, 0.3481}},
43153 {
43154 {0.3308, 0.2228, 0.1814, 0.2651},
43155 {0.3725, 0.2091, 0.1657, 0.2528},
43156 {0.3055, 0.2298, 0.2187, 0.2460},
43157 {0.2680, 0.2082, 0.2202, 0.3036}},
43158 {
43159 {0.3572, 0.1907, 0.2021, 0.2500},
43160 {0.3856, 0.1690, 0.2151, 0.2303},
43161 {0.2527, 0.2928, 0.2418, 0.2127},
43162 {0.2237, 0.2014, 0.2543, 0.3206}},
43163 {
43164 {0.3414, 0.1758, 0.2038, 0.2789},
43165 {0.3415, 0.2835, 0.1101, 0.2650},
43166 {0.2777, 0.2533, 0.2274, 0.2416},
43167 {0.2621, 0.2005, 0.2194, 0.3180}},
43168 {
43169 {0.3823, 0.1713, 0.2052, 0.2411},
43170 {0.3213, 0.2274, 0.1997, 0.2516},
43171 {0.2904, 0.2006, 0.2653, 0.2436},
43172 {0.2760, 0.1798, 0.2445, 0.2998}},
43173 {
43174 {0.3806, 0.1625, 0.1709, 0.2861},
43175 {0.2978, 0.2026, 0.1941, 0.3055},
43176 {0.2732, 0.2346, 0.1950, 0.2973},
43177 {0.2649, 0.2068, 0.2400, 0.2883}},
43178 {
43179 {0.3674, 0.1801, 0.1805, 0.2720},
43180 {0.3284, 0.2029, 0.2037, 0.2651},
43181 {0.2620, 0.2849, 0.2480, 0.2050},
43182 {0.2631, 0.1857, 0.2162, 0.3350}},
43183 {
43184 {0.3157, 0.1887, 0.2211, 0.2746},
43185 {0.3482, 0.2041, 0.2166, 0.2312},
43186 {0.3148, 0.2679, 0.2423, 0.1750},
43187 {0.2350, 0.1849, 0.2301, 0.3500}},
43188 {
43189 {0.3035, 0.2125, 0.1868, 0.2972},
43190 {0.2991, 0.2748, 0.1744, 0.2516},
43191 {0.2979, 0.2507, 0.2018, 0.2496},
43192 {0.3210, 0.1906, 0.1888, 0.2997}},
43193 {
43194 {0.3261, 0.2043, 0.1702, 0.2994},
43195 {0.2831, 0.2060, 0.2764, 0.2345},
43196 {0.2926, 0.2075, 0.1944, 0.3056},
43197 {0.2649, 0.1705, 0.2581, 0.3065}},
43198 {
43199 {0.3308, 0.2081, 0.1973, 0.2638},
43200 {0.3529, 0.2665, 0.1828, 0.1978},
43201 {0.2317, 0.2009, 0.2555, 0.3119},
43202 {0.2348, 0.2076, 0.2201, 0.3374}},
43203 {
43204 {0.3038, 0.1759, 0.2262, 0.2942},
43205 {0.3479, 0.2193, 0.2397, 0.1931},
43206 {0.2414, 0.2746, 0.2318, 0.2522},
43207 {0.2841, 0.1768, 0.2343, 0.3048}},
43208 {
43209 {0.3313, 0.1998, 0.2007, 0.2683},
43210 {0.3436, 0.1890, 0.1989, 0.2684},
43211 {0.3333, 0.2514, 0.1786, 0.2368},
43212 {0.2215, 0.2098, 0.2572, 0.3114}},
43213 {
43214 {0.3249, 0.1683, 0.2448, 0.2619},
43215 {0.3170, 0.2213, 0.2202, 0.2415},
43216 {0.2663, 0.2386, 0.1837, 0.3114},
43217 {0.2217, 0.2047, 0.2303, 0.3433}},
43218 {
43219 {0.3531, 0.1683, 0.1928, 0.2859},
43220 {0.3708, 0.2518, 0.1633, 0.2141},
43221 {0.3209, 0.2588, 0.1614, 0.2589},
43222 {0.2527, 0.1915, 0.2301, 0.3258}},
43223 {
43224 {0.3372, 0.1609, 0.2015, 0.3004},
43225 {0.3368, 0.2095, 0.1893, 0.2644},
43226 {0.2398, 0.3001, 0.2135, 0.2466},
43227 {0.2071, 0.2164, 0.2343, 0.3423}},
43228 {
43229 {0.3689, 0.2032, 0.1524, 0.2756},
43230 {0.3688, 0.2093, 0.1404, 0.2815},
43231 {0.2411, 0.2406, 0.2506, 0.2677},
43232 {0.2589, 0.1973, 0.2182, 0.3256}},
43233 {
43234 {0.3875, 0.1608, 0.1954, 0.2562},
43235 {0.3701, 0.2047, 0.1950, 0.2303},
43236 {0.2318, 0.2724, 0.2017, 0.2940},
43237 {0.2101, 0.1795, 0.2253, 0.3851}},
43238 {
43239 {0.3794, 0.2062, 0.1877, 0.2267},
43240 {0.3121, 0.2359, 0.1837, 0.2683},
43241 {0.3099, 0.2874, 0.1988, 0.2039},
43242 {0.2104, 0.1771, 0.2445, 0.3680}},
43243 {
43244 {0.3170, 0.1721, 0.1800, 0.3310},
43245 {0.3268, 0.2427, 0.2373, 0.1933},
43246 {0.2794, 0.2394, 0.2321, 0.2491},
43247 {0.2439, 0.1960, 0.2032, 0.3570}},
43248 {
43249 {0.3144, 0.1763, 0.2553, 0.2540},
43250 {0.3598, 0.1954, 0.2214, 0.2234},
43251 {0.2610, 0.2637, 0.1688, 0.3065},
43252 {0.2499, 0.2186, 0.2255, 0.3059}},
43253 {
43254 {0.3469, 0.1815, 0.2125, 0.2591},
43255 {0.3853, 0.1749, 0.2063, 0.2335},
43256 {0.3233, 0.2487, 0.1962, 0.2319},
43257 {0.1935, 0.1621, 0.2657, 0.3787}},
43258 {
43259 {0.3238, 0.1518, 0.2570, 0.2674},
43260 {0.3461, 0.1978, 0.2088, 0.2473},
43261 {0.3165, 0.2114, 0.1931, 0.2790},
43262 {0.2378, 0.1550, 0.2215, 0.3858}},
43263 {
43264 {0.3373, 0.1966, 0.2030, 0.2631},
43265 {0.3358, 0.2240, 0.1867, 0.2535},
43266 {0.2179, 0.2886, 0.2145, 0.2790},
43267 {0.2282, 0.2430, 0.2131, 0.3158}},
43268 {
43269 {0.3637, 0.1955, 0.2182, 0.2226},
43270 {0.3402, 0.2450, 0.1721, 0.2427},
43271 {0.2782, 0.2550, 0.1883, 0.2786},
43272 {0.2462, 0.1685, 0.2285, 0.3568}},
43273 {
43274 {0.3341, 0.1625, 0.2211, 0.2823},
43275 {0.2596, 0.2355, 0.2286, 0.2762},
43276 {0.2531, 0.2860, 0.2227, 0.2383},
43277 {0.2227, 0.1931, 0.2192, 0.3650}},
43278 {
43279 {0.3293, 0.1890, 0.2234, 0.2583},
43280 {0.3559, 0.2239, 0.2027, 0.2175},
43281 {0.2804, 0.2163, 0.2186, 0.2847},
43282 {0.2656, 0.1796, 0.2223, 0.3326}},
43283 {
43284 {0.3197, 0.1869, 0.2169, 0.2765},
43285 {0.3638, 0.1844, 0.2389, 0.2129},
43286 {0.2270, 0.2305, 0.1991, 0.3434},
43287 {0.2276, 0.2144, 0.2529, 0.3051}},
43288 {
43289 {0.3598, 0.1780, 0.1788, 0.2834},
43290 {0.2811, 0.2360, 0.1963, 0.2866},
43291 {0.3193, 0.2481, 0.1965, 0.2361},
43292 {0.3245, 0.1972, 0.2256, 0.2527}},
43293 {
43294 {0.3076, 0.1940, 0.2512, 0.2472},
43295 {0.3143, 0.2289, 0.2182, 0.2387},
43296 {0.3151, 0.2408, 0.1882, 0.2559},
43297 {0.2386, 0.1811, 0.2511, 0.3292}},
43298 {
43299 {0.3715, 0.2037, 0.1810, 0.2438},
43300 {0.3289, 0.2442, 0.1744, 0.2524},
43301 {0.3031, 0.2260, 0.2240, 0.2470},
43302 {0.2985, 0.1556, 0.2275, 0.3183}},
43303 {
43304 {0.3821, 0.1573, 0.2024, 0.2582},
43305 {0.3155, 0.2279, 0.2427, 0.2139},
43306 {0.2988, 0.2251, 0.1906, 0.2856},
43307 {0.2348, 0.1734, 0.2319, 0.3599}},
43308 {
43309 {0.3381, 0.2107, 0.2277, 0.2236},
43310 {0.2812, 0.2394, 0.2130, 0.2664},
43311 {0.2856, 0.3011, 0.1468, 0.2665},
43312 {0.2744, 0.1932, 0.2318, 0.3005}},
43313 {
43314 {0.3492, 0.1832, 0.1882, 0.2793},
43315 {0.3817, 0.1857, 0.2250, 0.2076},
43316 {0.3321, 0.2609, 0.1895, 0.2175},
43317 {0.2496, 0.2156, 0.2211, 0.3137}},
43318 {
43319 {0.3913, 0.1527, 0.1875, 0.2685},
43320 {0.3451, 0.1623, 0.2273, 0.2654},
43321 {0.3336, 0.2266, 0.1798, 0.2600},
43322 {0.2534, 0.1969, 0.2478, 0.3019}},
43323 {
43324 {0.3437, 0.1598, 0.2465, 0.2501},
43325 {0.2477, 0.2574, 0.2171, 0.2777},
43326 {0.2430, 0.2356, 0.2208, 0.3006},
43327 {0.1965, 0.2316, 0.2509, 0.3211}},
43328 {
43329 {0.3788, 0.1420, 0.2160, 0.2633},
43330 {0.3458, 0.2064, 0.1853, 0.2626},
43331 {0.2395, 0.2404, 0.2435, 0.2765},
43332 {0.2383, 0.1310, 0.2623, 0.3683}},
43333 {
43334 {0.3057, 0.1906, 0.2409, 0.2629},
43335 {0.3478, 0.2407, 0.2138, 0.1977},
43336 {0.2448, 0.2651, 0.2757, 0.2144},
43337 {0.2051, 0.1861, 0.2471, 0.3617}},
43338 {
43339 {0.3368, 0.1376, 0.2468, 0.2787},
43340 {0.2986, 0.2453, 0.2109, 0.2452},
43341 {0.2273, 0.2208, 0.1981, 0.3539},
43342 {0.2439, 0.2648, 0.1970, 0.2942}},
43343 {
43344 {0.3805, 0.2174, 0.1760, 0.2260},
43345 {0.4096, 0.2593, 0.1774, 0.1536},
43346 {0.3030, 0.3188, 0.2214, 0.1568},
43347 {0.3636, 0.1920, 0.2457, 0.1988}},
43348 {
43349 {1.0000, 0.0000, 0.0000, 0.0000},
43350 {1.0000, 0.0000, 0.0000, 0.0000},
43351 {1.0000, 0.0000, 0.0000, 0.0000},
43352 {1.0000, 0.0000, 0.0000, 0.0000}},
43353 {
43354 {0.0000, 0.0000, 1.0000, 0.0000},
43355 {0.0000, 0.0000, 0.0000, 0.0000},
43356 {0.0000, 0.0000, 0.0000, 0.0000},
43357 {0.0000, 0.0000, 0.0000, 0.0000}},
43358 {
43359 {0.0000, 0.0000, 0.0000, 0.0000},
43360 {0.0000, 0.0000, 0.0000, 0.0000},
43361 {0.2670, 0.2496, 0.1609, 0.3224},
43362 {0.0000, 0.0000, 0.0000, 0.0000}},
43363 {
43364 {0.3441, 0.1896, 0.2172, 0.2491},
43365 {0.3929, 0.1933, 0.1593, 0.2544},
43366 {0.3343, 0.2672, 0.2131, 0.1855},
43367 {0.2190, 0.1853, 0.1989, 0.3967}},
43368 {
43369 {0.3819, 0.2019, 0.1925, 0.2237},
43370 {0.3698, 0.2452, 0.2008, 0.1842},
43371 {0.2684, 0.2918, 0.2061, 0.2337},
43372 {0.2768, 0.1587, 0.2454, 0.3190}},
43373 {
43374 {0.4110, 0.1634, 0.2178, 0.2078},
43375 {0.3235, 0.2550, 0.1504, 0.2711},
43376 {0.3099, 0.2223, 0.2321, 0.2357},
43377 {0.2602, 0.1948, 0.2028, 0.3422}},
43378 {
43379 {0.3713, 0.1614, 0.1921, 0.2751},
43380 {0.3555, 0.2598, 0.1415, 0.2432},
43381 {0.3264, 0.2987, 0.1286, 0.2462},
43382 {0.2018, 0.2136, 0.2123, 0.3723}},
43383 {
43384 {0.3170, 0.2268, 0.2157, 0.2405},
43385 {0.3234, 0.2050, 0.2038, 0.2678},
43386 {0.2498, 0.2789, 0.2558, 0.2156},
43387 {0.2655, 0.2015, 0.1969, 0.3360}},
43388 {
43389 {0.3194, 0.2202, 0.2181, 0.2423},
43390 {0.3580, 0.2054, 0.1935, 0.2431},
43391 {0.2885, 0.2687, 0.2341, 0.2087},
43392 {0.2375, 0.2347, 0.1960, 0.3317}},
43393 {
43394 {0.3839, 0.1248, 0.2211, 0.2702},
43395 {0.3499, 0.2404, 0.1776, 0.2321},
43396 {0.2845, 0.3183, 0.1743, 0.2229},
43397 {0.2790, 0.1895, 0.1644, 0.3671}},
43398 {
43399 {0.3533, 0.1976, 0.2177, 0.2314},
43400 {0.3377, 0.2834, 0.1832, 0.1957},
43401 {0.3451, 0.2631, 0.1846, 0.2072},
43402 {0.2480, 0.1608, 0.2205, 0.3707}},
43403 {
43404 {0.3706, 0.1746, 0.1870, 0.2678},
43405 {0.3213, 0.2723, 0.1542, 0.2522},
43406 {0.2785, 0.2645, 0.1893, 0.2677},
43407 {0.2633, 0.1975, 0.1912, 0.3480}},
43408 {
43409 {0.3994, 0.1204, 0.2028, 0.2773},
43410 {0.3465, 0.2262, 0.1644, 0.2629},
43411 {0.3060, 0.2259, 0.2507, 0.2175},
43412 {0.2532, 0.1828, 0.2013, 0.3627}},
43413 {
43414 {0.3251, 0.1835, 0.2373, 0.2541},
43415 {0.2398, 0.2846, 0.1767, 0.2989},
43416 {0.2617, 0.2739, 0.2394, 0.2250},
43417 {0.1832, 0.1976, 0.2112, 0.4080}},
43418 {
43419 {0.3532, 0.2163, 0.1569, 0.2736},
43420 {0.2961, 0.2047, 0.1769, 0.3224},
43421 {0.3329, 0.2530, 0.1949, 0.2192},
43422 {0.2793, 0.1585, 0.2211, 0.3411}},
43423 {
43424 {0.3359, 0.1582, 0.1821, 0.3238},
43425 {0.3055, 0.2714, 0.1238, 0.2992},
43426 {0.2993, 0.2506, 0.1972, 0.2528},
43427 {0.2632, 0.1580, 0.2174, 0.3615}},
43428 {
43429 {0.3324, 0.1902, 0.1718, 0.3055},
43430 {0.3258, 0.2145, 0.1574, 0.3023},
43431 {0.2757, 0.2825, 0.2087, 0.2331},
43432 {0.2720, 0.2086, 0.1602, 0.3593}},
43433 {
43434 {0.3447, 0.2024, 0.1626, 0.2903},
43435 {0.4129, 0.2464, 0.1304, 0.2103},
43436 {0.2983, 0.2462, 0.2397, 0.2158},
43437 {0.2583, 0.1572, 0.1953, 0.3892}},
43438 {
43439 {0.3847, 0.1656, 0.2024, 0.2473},
43440 {0.3056, 0.2765, 0.1861, 0.2319},
43441 {0.2958, 0.2508, 0.2238, 0.2296},
43442 {0.2720, 0.2080, 0.1871, 0.3329}},
43443 {
43444 {0.3271, 0.1872, 0.2155, 0.2701},
43445 {0.3231, 0.2647, 0.1685, 0.2437},
43446 {0.2772, 0.2494, 0.2239, 0.2495},
43447 {0.2491, 0.2250, 0.1903, 0.3356}},
43448 {
43449 {0.3401, 0.1815, 0.1862, 0.2922},
43450 {0.3664, 0.2437, 0.1424, 0.2475},
43451 {0.3511, 0.2332, 0.2141, 0.2017},
43452 {0.3027, 0.1589, 0.2052, 0.3332}},
43453 {
43454 {0.3651, 0.2295, 0.1369, 0.2685},
43455 {0.3555, 0.2626, 0.1454, 0.2365},
43456 {0.3030, 0.2635, 0.1994, 0.2342},
43457 {0.2479, 0.2345, 0.1829, 0.3347}},
43458 {
43459 {0.3788, 0.1489, 0.1602, 0.3121},
43460 {0.3671, 0.1803, 0.1648, 0.2878},
43461 {0.2992, 0.2446, 0.2006, 0.2556},
43462 {0.2179, 0.2183, 0.2414, 0.3224}},
43463 {
43464 {0.3753, 0.1908, 0.1890, 0.2448},
43465 {0.3506, 0.2388, 0.1800, 0.2306},
43466 {0.3587, 0.2983, 0.1312, 0.2118},
43467 {0.2643, 0.1891, 0.2145, 0.3322}},
43468 {
43469 {0.3131, 0.1992, 0.1724, 0.3152},
43470 {0.3415, 0.2202, 0.1464, 0.2919},
43471 {0.3091, 0.2437, 0.1886, 0.2586},
43472 {0.2672, 0.1725, 0.2139, 0.3465}},
43473 {
43474 {0.3157, 0.1879, 0.1980, 0.2983},
43475 {0.3576, 0.2496, 0.1533, 0.2394},
43476 {0.2253, 0.2316, 0.2417, 0.3013},
43477 {0.2708, 0.2234, 0.1903, 0.3155}},
43478 {
43479 {0.3283, 0.1940, 0.1676, 0.3101},
43480 {0.3066, 0.2720, 0.1531, 0.2682},
43481 {0.3447, 0.2633, 0.1385, 0.2535},
43482 {0.1970, 0.1644, 0.2390, 0.3996}},
43483 {
43484 {0.3076, 0.1625, 0.2038, 0.3261},
43485 {0.3572, 0.2068, 0.1492, 0.2868},
43486 {0.2581, 0.3050, 0.2187, 0.2182},
43487 {0.2282, 0.1886, 0.2393, 0.3439}},
43488 {
43489 {0.3394, 0.1796, 0.1848, 0.2962},
43490 {0.3152, 0.2431, 0.1889, 0.2528},
43491 {0.2619, 0.3220, 0.2077, 0.2084},
43492 {0.2638, 0.2258, 0.1975, 0.3129}},
43493 {
43494 {0.3699, 0.1885, 0.1534, 0.2882},
43495 {0.3195, 0.2510, 0.1498, 0.2797},
43496 {0.3114, 0.2337, 0.2229, 0.2320},
43497 {0.2926, 0.1759, 0.2400, 0.2915}},
43498 {
43499 {0.3471, 0.1934, 0.1713, 0.2882},
43500 {0.3724, 0.2414, 0.1616, 0.2246},
43501 {0.2809, 0.2124, 0.1872, 0.3194},
43502 {0.2348, 0.2222, 0.2055, 0.3375}},
43503 {
43504 {0.3146, 0.2025, 0.1699, 0.3130},
43505 {0.2428, 0.2444, 0.2074, 0.3054},
43506 {0.3104, 0.3203, 0.2178, 0.1516},
43507 {0.2458, 0.1849, 0.2112, 0.3581}},
43508 {
43509 {0.3261, 0.1836, 0.1976, 0.2927},
43510 {0.3202, 0.2157, 0.1862, 0.2779},
43511 {0.2747, 0.3194, 0.1862, 0.2198},
43512 {0.2091, 0.1942, 0.2106, 0.3861}},
43513 {
43514 {0.3605, 0.2240, 0.1249, 0.2907},
43515 {0.3379, 0.2358, 0.1582, 0.2681},
43516 {0.2593, 0.2833, 0.2457, 0.2116},
43517 {0.2729, 0.2132, 0.1882, 0.3256}},
43518 {
43519 {0.3984, 0.1901, 0.1809, 0.2307},
43520 {0.2901, 0.2366, 0.1391, 0.3342},
43521 {0.2362, 0.2554, 0.2760, 0.2323},
43522 {0.2699, 0.2270, 0.1586, 0.3445}},
43523 {
43524 {0.3564, 0.1926, 0.1960, 0.2550},
43525 {0.3673, 0.2598, 0.1623, 0.2106},
43526 {0.2758, 0.2678, 0.2559, 0.2004},
43527 {0.2379, 0.1999, 0.1690, 0.3932}},
43528 {
43529 {0.3658, 0.1872, 0.1609, 0.2861},
43530 {0.3536, 0.2154, 0.1561, 0.2749},
43531 {0.2341, 0.2989, 0.1519, 0.3150},
43532 {0.2304, 0.1926, 0.2134, 0.3635}},
43533 {
43534 {0.3984, 0.1597, 0.1818, 0.2600},
43535 {0.3819, 0.2239, 0.1390, 0.2551},
43536 {0.2701, 0.2270, 0.1946, 0.3083},
43537 {0.2106, 0.2046, 0.2279, 0.3569}},
43538 {
43539 {0.3767, 0.1596, 0.1862, 0.2775},
43540 {0.3093, 0.1928, 0.2472, 0.2508},
43541 {0.2469, 0.2526, 0.2047, 0.2957},
43542 {0.2578, 0.2372, 0.1758, 0.3292}},
43543 {
43544 {0.3704, 0.1975, 0.1873, 0.2448},
43545 {0.3380, 0.2327, 0.1518, 0.2774},
43546 {0.2743, 0.2659, 0.2430, 0.2168},
43547 {0.2361, 0.2153, 0.2436, 0.3050}},
43548 {
43549 {0.3633, 0.1727, 0.2293, 0.2347},
43550 {0.3071, 0.2294, 0.1738, 0.2897},
43551 {0.2812, 0.2847, 0.1557, 0.2785},
43552 {0.2173, 0.2063, 0.2320, 0.3443}},
43553 {
43554 {0.3531, 0.1692, 0.2048, 0.2729},
43555 {0.3429, 0.2327, 0.1604, 0.2640},
43556 {0.2377, 0.2697, 0.1965, 0.2961},
43557 {0.2434, 0.2129, 0.2014, 0.3422}},
43558 {
43559 {0.3689, 0.1852, 0.1676, 0.2782},
43560 {0.4091, 0.2167, 0.1625, 0.2117},
43561 {0.3418, 0.2265, 0.1968, 0.2349},
43562 {0.2672, 0.1788, 0.2159, 0.3380}},
43563 {
43564 {0.3549, 0.2209, 0.1818, 0.2424},
43565 {0.3259, 0.2322, 0.1542, 0.2877},
43566 {0.2555, 0.3017, 0.1725, 0.2703},
43567 {0.2157, 0.2004, 0.2277, 0.3562}},
43568 {
43569 {0.3216, 0.1916, 0.1889, 0.2979},
43570 {0.3273, 0.2123, 0.1845, 0.2759},
43571 {0.3217, 0.2825, 0.1626, 0.2332},
43572 {0.2442, 0.1997, 0.2240, 0.3321}},
43573 {
43574 {0.3508, 0.1451, 0.1879, 0.3162},
43575 {0.3452, 0.2204, 0.1578, 0.2766},
43576 {0.2703, 0.2820, 0.1971, 0.2507},
43577 {0.2002, 0.2083, 0.2268, 0.3647}},
43578 {
43579 {0.3434, 0.2034, 0.1592, 0.2940},
43580 {0.3378, 0.2330, 0.1854, 0.2438},
43581 {0.2433, 0.3251, 0.1790, 0.2526},
43582 {0.2168, 0.2113, 0.2467, 0.3252}},
43583 {
43584 {0.3397, 0.1958, 0.1815, 0.2830},
43585 {0.3749, 0.2192, 0.1546, 0.2513},
43586 {0.2833, 0.3117, 0.1595, 0.2455},
43587 {0.1870, 0.1850, 0.2445, 0.3835}},
43588 {
43589 {0.3528, 0.2068, 0.1674, 0.2730},
43590 {0.2981, 0.2261, 0.2113, 0.2645},
43591 {0.3026, 0.2533, 0.1723, 0.2719},
43592 {0.1979, 0.2249, 0.2229, 0.3544}},
43593 {
43594 {0.3345, 0.1815, 0.2002, 0.2838},
43595 {0.3001, 0.2055, 0.2506, 0.2438},
43596 {0.2528, 0.3009, 0.1941, 0.2522},
43597 {0.2173, 0.1812, 0.2503, 0.3512}},
43598 {
43599 {0.3503, 0.1686, 0.1933, 0.2879},
43600 {0.3925, 0.1978, 0.1965, 0.2131},
43601 {0.3049, 0.2332, 0.2032, 0.2587},
43602 {0.2213, 0.1962, 0.2142, 0.3683}},
43603 {
43604 {0.3587, 0.1924, 0.1901, 0.2588},
43605 {0.3143, 0.2137, 0.1713, 0.3007},
43606 {0.2425, 0.3177, 0.1964, 0.2434},
43607 {0.2206, 0.1608, 0.2326, 0.3860}}
43608 }},
43609 {
43610 { /* Splice_Site: T1_AG; Species: Elegn */
43611 {
43612 {0.3372, 0.3372, 0.3372, 0.3372},
43613 {0.1473, 0.1473, 0.1473, 0.1473},
43614 {0.1997, 0.1997, 0.1997, 0.1997},
43615 {0.3157, 0.3157, 0.3157, 0.3157}},
43616 {
43617 {0.4095, 0.1230, 0.2026, 0.2649},
43618 {0.3900, 0.1557, 0.1709, 0.2834},
43619 {0.3235, 0.1470, 0.2142, 0.3153},
43620 {0.2320, 0.1643, 0.2053, 0.3984}},
43621 {
43622 {0.4160, 0.1293, 0.1973, 0.2574},
43623 {0.3874, 0.1589, 0.1677, 0.2860},
43624 {0.3141, 0.1362, 0.2119, 0.3379},
43625 {0.2301, 0.1543, 0.2082, 0.4074}},
43626 {
43627 {0.4117, 0.1297, 0.2077, 0.2509},
43628 {0.3737, 0.1607, 0.1733, 0.2923},
43629 {0.2898, 0.1263, 0.2245, 0.3594},
43630 {0.2430, 0.1385, 0.2136, 0.4048}},
43631 {
43632 {0.4212, 0.1252, 0.2171, 0.2366},
43633 {0.3999, 0.1564, 0.1778, 0.2658},
43634 {0.2706, 0.1096, 0.2281, 0.3917},
43635 {0.2486, 0.1340, 0.2052, 0.4121}},
43636 {
43637 {0.4056, 0.1237, 0.2270, 0.2437},
43638 {0.3896, 0.1655, 0.1840, 0.2609},
43639 {0.2445, 0.1025, 0.2492, 0.4038},
43640 {0.2601, 0.1323, 0.2049, 0.4027}},
43641 {
43642 {0.4136, 0.1202, 0.2199, 0.2464},
43643 {0.3650, 0.1641, 0.1790, 0.2919},
43644 {0.2428, 0.0974, 0.2389, 0.4209},
43645 {0.2645, 0.1270, 0.1963, 0.4121}},
43646 {
43647 {0.4114, 0.1100, 0.2280, 0.2506},
43648 {0.3660, 0.1711, 0.1661, 0.2968},
43649 {0.2429, 0.0954, 0.2151, 0.4466},
43650 {0.2679, 0.1254, 0.1893, 0.4174}},
43651 {
43652 {0.4189, 0.1201, 0.2064, 0.2545},
43653 {0.3631, 0.1713, 0.1675, 0.2981},
43654 {0.2534, 0.1030, 0.2139, 0.4298},
43655 {0.2766, 0.1176, 0.1766, 0.4293}},
43656 {
43657 {0.4168, 0.1166, 0.2019, 0.2646},
43658 {0.3518, 0.1658, 0.1625, 0.3199},
43659 {0.2845, 0.1207, 0.1811, 0.4136},
43660 {0.2716, 0.1241, 0.1744, 0.4299}},
43661 {
43662 {0.4215, 0.1146, 0.1859, 0.2780},
43663 {0.3651, 0.1712, 0.1437, 0.3200},
43664 {0.2887, 0.1259, 0.1674, 0.4180},
43665 {0.2547, 0.1323, 0.1625, 0.4505}},
43666 {
43667 {0.4290, 0.1158, 0.1703, 0.2849},
43668 {0.3528, 0.1676, 0.1412, 0.3384},
43669 {0.3141, 0.1455, 0.1465, 0.3939},
43670 {0.2452, 0.1410, 0.1494, 0.4644}},
43671 {
43672 {0.4302, 0.1256, 0.1488, 0.2953},
43673 {0.3618, 0.1703, 0.1379, 0.3300},
43674 {0.3529, 0.1441, 0.1558, 0.3472},
43675 {0.2274, 0.1400, 0.1492, 0.4834}},
43676 {
43677 {0.4422, 0.1238, 0.1371, 0.2969},
43678 {0.3772, 0.1673, 0.1240, 0.3315},
43679 {0.3654, 0.1457, 0.1381, 0.3508},
43680 {0.2242, 0.1431, 0.1402, 0.4926}},
43681 {
43682 {0.4517, 0.1228, 0.1256, 0.2998},
43683 {0.3542, 0.1672, 0.1353, 0.3433},
43684 {0.3752, 0.1543, 0.1454, 0.3251},
43685 {0.2239, 0.1489, 0.1416, 0.4856}},
43686 {
43687 {0.4496, 0.1256, 0.1293, 0.2955},
43688 {0.3781, 0.1698, 0.1204, 0.3318},
43689 {0.3788, 0.1563, 0.1446, 0.3202},
43690 {0.2316, 0.1492, 0.1384, 0.4809}},
43691 {
43692 {0.4507, 0.1263, 0.1196, 0.3034},
43693 {0.3710, 0.1751, 0.1197, 0.3343},
43694 {0.4027, 0.1635, 0.1286, 0.3051},
43695 {0.2210, 0.1578, 0.1422, 0.4790}},
43696 {
43697 {0.4501, 0.1232, 0.1224, 0.3044},
43698 {0.3835, 0.1614, 0.1275, 0.3276},
43699 {0.3776, 0.1576, 0.1406, 0.3242},
43700 {0.2336, 0.1628, 0.1359, 0.4676}},
43701 {
43702 {0.4573, 0.1281, 0.1134, 0.3011},
43703 {0.3836, 0.1730, 0.1131, 0.3303},
43704 {0.3975, 0.1598, 0.1307, 0.3120},
43705 {0.2221, 0.1617, 0.1406, 0.4756}},
43706 {
43707 {0.4411, 0.1313, 0.1220, 0.3055},
43708 {0.3753, 0.1636, 0.1250, 0.3361},
43709 {0.3736, 0.1645, 0.1271, 0.3348},
43710 {0.2299, 0.1669, 0.1392, 0.4640}},
43711 {
43712 {0.4518, 0.1233, 0.1220, 0.3029},
43713 {0.3704, 0.1724, 0.1253, 0.3319},
43714 {0.3749, 0.1630, 0.1372, 0.3250},
43715 {0.2294, 0.1558, 0.1520, 0.4628}},
43716 {
43717 {0.4482, 0.1236, 0.1252, 0.3031},
43718 {0.3872, 0.1529, 0.1292, 0.3307},
43719 {0.3781, 0.1504, 0.1373, 0.3343},
43720 {0.2390, 0.1598, 0.1500, 0.4513}},
43721 {
43722 {0.4632, 0.1259, 0.1222, 0.2887},
43723 {0.3832, 0.1577, 0.1176, 0.3414},
43724 {0.3796, 0.1614, 0.1324, 0.3267},
43725 {0.2463, 0.1536, 0.1513, 0.4487}},
43726 {
43727 {0.4669, 0.1176, 0.1200, 0.2955},
43728 {0.3856, 0.1638, 0.1149, 0.3357},
43729 {0.4012, 0.1596, 0.1302, 0.3090},
43730 {0.2368, 0.1539, 0.1432, 0.4661}},
43731 {
43732 {0.4589, 0.1232, 0.1196, 0.2982},
43733 {0.3688, 0.1698, 0.1260, 0.3355},
43734 {0.3918, 0.1442, 0.1279, 0.3360},
43735 {0.2453, 0.1441, 0.1371, 0.4735}},
43736 {
43737 {0.4589, 0.1255, 0.1147, 0.3010},
43738 {0.3658, 0.1639, 0.1203, 0.3500},
43739 {0.3938, 0.1460, 0.1372, 0.3230},
43740 {0.2341, 0.1504, 0.1352, 0.4803}},
43741 {
43742 {0.4702, 0.1262, 0.1024, 0.3011},
43743 {0.3720, 0.1746, 0.1066, 0.3469},
43744 {0.4058, 0.1634, 0.1259, 0.3049},
43745 {0.2429, 0.1570, 0.1299, 0.4702}},
43746 {
43747 {0.4712, 0.1324, 0.0918, 0.3045},
43748 {0.3775, 0.1867, 0.1060, 0.3298},
43749 {0.3930, 0.1666, 0.1129, 0.3275},
43750 {0.2369, 0.1660, 0.1226, 0.4746}},
43751 {
43752 {0.4910, 0.1214, 0.0839, 0.3037},
43753 {0.4003, 0.1810, 0.1024, 0.3163},
43754 {0.3873, 0.1733, 0.0968, 0.3426},
43755 {0.2461, 0.1766, 0.1148, 0.4625}},
43756 {
43757 {0.4799, 0.1241, 0.0919, 0.3041},
43758 {0.4053, 0.1798, 0.0978, 0.3170},
43759 {0.4163, 0.1368, 0.1053, 0.3417},
43760 {0.2542, 0.1647, 0.1190, 0.4621}},
43761 {
43762 {0.4929, 0.1268, 0.0866, 0.2937},
43763 {0.4044, 0.1772, 0.0896, 0.3289},
43764 {0.3986, 0.1421, 0.1060, 0.3533},
43765 {0.2526, 0.1690, 0.1276, 0.4508}},
43766 {
43767 {0.4864, 0.1205, 0.0894, 0.3037},
43768 {0.3919, 0.1692, 0.0893, 0.3496},
43769 {0.3802, 0.1511, 0.0952, 0.3735},
43770 {0.2597, 0.1701, 0.1190, 0.4512}},
43771 {
43772 {0.4921, 0.1162, 0.0790, 0.3128},
43773 {0.3960, 0.1630, 0.0898, 0.3512},
43774 {0.3867, 0.1618, 0.0899, 0.3615},
43775 {0.2743, 0.1656, 0.1110, 0.4491}},
43776 {
43777 {0.5132, 0.1149, 0.0723, 0.2996},
43778 {0.4207, 0.1586, 0.0818, 0.3388},
43779 {0.4371, 0.1436, 0.0957, 0.3236},
43780 {0.2939, 0.1664, 0.1017, 0.4381}},
43781 {
43782 {0.5504, 0.1100, 0.0549, 0.2847},
43783 {0.4656, 0.1423, 0.0758, 0.3163},
43784 {0.4605, 0.1437, 0.0785, 0.3173},
43785 {0.3238, 0.1515, 0.0986, 0.4261}},
43786 {
43787 {0.5645, 0.1080, 0.0560, 0.2715},
43788 {0.5197, 0.1226, 0.0737, 0.2839},
43789 {0.5061, 0.1206, 0.0695, 0.3038},
43790 {0.3806, 0.1378, 0.0968, 0.3848}},
43791 {
43792 {0.5622, 0.1067, 0.0491, 0.2821},
43793 {0.5504, 0.1352, 0.0766, 0.2378},
43794 {0.5072, 0.1263, 0.0679, 0.2986},
43795 {0.3704, 0.1412, 0.0929, 0.3954}},
43796 {
43797 {0.5114, 0.1162, 0.0570, 0.3155},
43798 {0.4757, 0.1601, 0.0667, 0.2975},
43799 {0.4383, 0.1290, 0.0657, 0.3670},
43800 {0.3136, 0.1370, 0.0964, 0.4530}},
43801 {
43802 {0.4697, 0.1219, 0.0656, 0.3428},
43803 {0.3999, 0.1559, 0.1022, 0.3420},
43804 {0.3616, 0.1415, 0.0793, 0.4176},
43805 {0.2549, 0.1468, 0.1205, 0.4778}},
43806 {
43807 {0.4341, 0.1200, 0.0664, 0.3794},
43808 {0.3822, 0.1721, 0.1041, 0.3416},
43809 {0.3525, 0.1395, 0.0846, 0.4235},
43810 {0.2411, 0.1532, 0.1181, 0.4876}},
43811 {
43812 {0.4607, 0.1083, 0.0680, 0.3629},
43813 {0.3762, 0.1760, 0.1035, 0.3443},
43814 {0.3470, 0.1214, 0.0834, 0.4481},
43815 {0.2263, 0.1571, 0.1311, 0.4855}},
43816 {
43817 {0.4517, 0.1184, 0.0647, 0.3652},
43818 {0.3740, 0.1859, 0.0877, 0.3523},
43819 {0.3790, 0.1201, 0.0974, 0.4035},
43820 {0.2416, 0.1709, 0.1048, 0.4827}},
43821 {
43822 {0.4785, 0.1299, 0.0537, 0.3379},
43823 {0.4262, 0.1767, 0.0828, 0.3143},
43824 {0.4295, 0.1276, 0.0763, 0.3666},
43825 {0.2579, 0.1655, 0.1020, 0.4746}},
43826 {
43827 {0.4877, 0.1078, 0.0485, 0.3560},
43828 {0.4807, 0.1239, 0.0930, 0.3023},
43829 {0.4625, 0.1070, 0.0928, 0.3377},
43830 {0.2889, 0.1229, 0.1066, 0.4816}},
43831 {
43832 {0.5175, 0.0734, 0.0426, 0.3664},
43833 {0.4969, 0.0889, 0.0916, 0.3226},
43834 {0.4520, 0.0779, 0.0691, 0.4010},
43835 {0.3183, 0.0877, 0.1044, 0.4897}},
43836 {
43837 {0.3794, 0.0748, 0.0356, 0.5102},
43838 {0.3918, 0.0776, 0.1029, 0.4277},
43839 {0.2678, 0.0868, 0.0563, 0.5892},
43840 {0.2094, 0.0873, 0.0903, 0.6130}},
43841 {
43842 {0.1058, 0.0406, 0.0180, 0.8357},
43843 {0.0947, 0.0478, 0.0345, 0.8229},
43844 {0.0629, 0.0564, 0.0230, 0.8577},
43845 {0.0466, 0.0313, 0.0304, 0.8917}},
43846 {
43847 {0.0216, 0.0262, 0.0043, 0.9479},
43848 {0.0183, 0.0297, 0.0059, 0.9461},
43849 {0.0241, 0.0355, 0.0053, 0.9351},
43850 {0.0063, 0.0173, 0.0045, 0.9720}},
43851 {
43852 {0.2591, 0.1162, 0.0291, 0.5956},
43853 {0.1966, 0.1711, 0.0521, 0.5802},
43854 {0.2017, 0.0877, 0.1667, 0.5439},
43855 {0.0873, 0.1564, 0.0771, 0.6793}},
43856 {
43857 {0.0684, 0.7576, 0.0053, 0.1687},
43858 {0.0367, 0.8398, 0.0078, 0.1158},
43859 {0.0692, 0.7731, 0.0102, 0.1475},
43860 {0.0298, 0.8076, 0.0064, 0.1561}},
43861 {
43862 {1.0000, 0.0000, 0.0000, 0.0000},
43863 {1.0000, 0.0000, 0.0000, 0.0000},
43864 {1.0000, 0.0000, 0.0000, 0.0000},
43865 {1.0000, 0.0000, 0.0000, 0.0000}},
43866 {
43867 {0.0000, 0.0000, 1.0000, 0.0000},
43868 {0.0000, 0.0000, 0.0000, 0.0000},
43869 {0.0000, 0.0000, 0.0000, 0.0000},
43870 {0.0000, 0.0000, 0.0000, 0.0000}},
43871 {
43872 {0.0000, 0.0000, 0.0000, 0.0000},
43873 {0.0000, 0.0000, 0.0000, 0.0000},
43874 {0.3980, 0.1381, 0.3513, 0.1125},
43875 {0.0000, 0.0000, 0.0000, 0.0000}},
43876 {
43877 {0.3278, 0.1655, 0.1084, 0.3983},
43878 {0.2823, 0.2020, 0.0947, 0.4210},
43879 {0.3057, 0.1938, 0.1315, 0.3690},
43880 {0.1849, 0.2142, 0.1401, 0.4609}},
43881 {
43882 {0.3933, 0.2346, 0.1129, 0.2592},
43883 {0.3857, 0.1831, 0.1428, 0.2884},
43884 {0.3434, 0.2462, 0.0807, 0.3297},
43885 {0.1912, 0.2604, 0.1992, 0.3492}},
43886 {
43887 {0.3938, 0.1518, 0.2284, 0.2259},
43888 {0.2949, 0.1977, 0.2788, 0.2287},
43889 {0.3112, 0.2228, 0.2373, 0.2287},
43890 {0.1626, 0.2940, 0.3188, 0.2246}},
43891 {
43892 {0.3607, 0.2117, 0.0847, 0.3428},
43893 {0.2593, 0.2134, 0.1638, 0.3635},
43894 {0.3762, 0.2152, 0.1607, 0.2479},
43895 {0.1819, 0.3008, 0.1676, 0.3497}},
43896 {
43897 {0.3543, 0.2753, 0.1086, 0.2619},
43898 {0.3422, 0.2735, 0.1166, 0.2678},
43899 {0.2943, 0.3049, 0.1421, 0.2586},
43900 {0.1379, 0.3697, 0.1987, 0.2937}},
43901 {
43902 {0.3832, 0.1831, 0.2093, 0.2244},
43903 {0.3037, 0.2016, 0.2888, 0.2059},
43904 {0.3403, 0.2107, 0.2557, 0.1932},
43905 {0.1586, 0.3089, 0.3349, 0.1976}},
43906 {
43907 {0.3848, 0.2050, 0.0950, 0.3152},
43908 {0.2936, 0.2282, 0.1831, 0.2951},
43909 {0.4040, 0.2133, 0.1717, 0.2110},
43910 {0.1750, 0.3274, 0.1427, 0.3549}},
43911 {
43912 {0.3467, 0.2734, 0.1300, 0.2498},
43913 {0.3768, 0.2261, 0.1441, 0.2529},
43914 {0.3381, 0.2350, 0.1238, 0.3031},
43915 {0.1593, 0.3204, 0.2285, 0.2918}},
43916 {
43917 {0.3658, 0.1624, 0.2548, 0.2170},
43918 {0.3182, 0.1920, 0.2739, 0.2159},
43919 {0.3193, 0.2161, 0.2684, 0.1962},
43920 {0.1595, 0.2973, 0.3452, 0.1980}},
43921 {
43922 {0.3834, 0.2159, 0.1053, 0.2955},
43923 {0.2931, 0.2311, 0.1945, 0.2812},
43924 {0.4246, 0.2095, 0.1593, 0.2066},
43925 {0.1656, 0.3185, 0.1744, 0.3415}},
43926 {
43927 {0.3718, 0.2503, 0.1291, 0.2488},
43928 {0.3831, 0.2068, 0.1446, 0.2655},
43929 {0.3058, 0.2438, 0.1360, 0.3143},
43930 {0.1526, 0.3169, 0.2273, 0.3031}},
43931 {
43932 {0.3705, 0.1667, 0.2354, 0.2273},
43933 {0.3347, 0.1769, 0.2842, 0.2042},
43934 {0.3285, 0.2031, 0.2413, 0.2271},
43935 {0.1567, 0.2850, 0.3439, 0.2143}},
43936 {
43937 {0.3694, 0.1993, 0.1092, 0.3220},
43938 {0.2631, 0.2330, 0.1781, 0.3257},
43939 {0.3819, 0.2236, 0.1737, 0.2208},
43940 {0.1577, 0.3017, 0.1565, 0.3840}},
43941 {
43942 {0.3481, 0.2341, 0.1460, 0.2718},
43943 {0.3477, 0.1930, 0.1631, 0.2961},
43944 {0.3146, 0.2323, 0.1405, 0.3125},
43945 {0.1443, 0.2830, 0.2216, 0.3511}},
43946 {
43947 {0.3717, 0.1675, 0.2422, 0.2187},
43948 {0.3195, 0.1941, 0.2838, 0.2025},
43949 {0.3156, 0.2171, 0.2633, 0.2040},
43950 {0.1546, 0.2866, 0.3538, 0.2049}},
43951 {
43952 {0.3825, 0.2055, 0.1025, 0.3095},
43953 {0.2724, 0.2267, 0.1932, 0.3078},
43954 {0.3783, 0.2300, 0.1714, 0.2203},
43955 {0.1606, 0.3151, 0.1540, 0.3703}},
43956 {
43957 {0.3363, 0.2561, 0.1477, 0.2599},
43958 {0.3732, 0.2276, 0.1394, 0.2598},
43959 {0.3049, 0.2448, 0.1352, 0.3150},
43960 {0.1361, 0.3158, 0.2412, 0.3069}},
43961 {
43962 {0.3562, 0.1757, 0.2587, 0.2094},
43963 {0.3430, 0.1785, 0.2745, 0.2040},
43964 {0.3307, 0.2159, 0.2559, 0.1975},
43965 {0.1639, 0.2921, 0.3530, 0.1910}},
43966 {
43967 {0.3880, 0.2166, 0.0971, 0.2983},
43968 {0.3019, 0.2167, 0.1915, 0.2899},
43969 {0.4099, 0.2188, 0.1673, 0.2040},
43970 {0.1564, 0.3195, 0.1535, 0.3705}},
43971 {
43972 {0.3431, 0.2396, 0.1657, 0.2516},
43973 {0.3800, 0.2007, 0.1468, 0.2726},
43974 {0.3357, 0.2236, 0.1372, 0.3035},
43975 {0.1532, 0.2983, 0.2350, 0.3135}},
43976 {
43977 {0.3496, 0.1748, 0.2478, 0.2278},
43978 {0.3463, 0.1777, 0.2572, 0.2188},
43979 {0.3276, 0.2087, 0.2551, 0.2086},
43980 {0.1706, 0.2634, 0.3577, 0.2083}},
43981 {
43982 {0.3680, 0.2037, 0.1082, 0.3201},
43983 {0.2872, 0.2270, 0.1869, 0.2989},
43984 {0.3858, 0.2286, 0.1689, 0.2167},
43985 {0.1586, 0.2804, 0.1788, 0.3822}},
43986 {
43987 {0.3376, 0.2230, 0.1606, 0.2788},
43988 {0.3830, 0.1856, 0.1554, 0.2760},
43989 {0.3014, 0.2156, 0.1536, 0.3294},
43990 {0.1438, 0.2891, 0.2423, 0.3248}},
43991 {
43992 {0.3507, 0.1710, 0.2447, 0.2335},
43993 {0.3268, 0.1881, 0.2709, 0.2142},
43994 {0.3314, 0.2065, 0.2521, 0.2101},
43995 {0.1577, 0.2772, 0.3516, 0.2135}},
43996 {
43997 {0.3837, 0.2046, 0.1048, 0.3069},
43998 {0.3091, 0.2230, 0.1777, 0.2902},
43999 {0.3911, 0.2216, 0.1643, 0.2230},
44000 {0.1616, 0.2910, 0.1515, 0.3959}},
44001 {
44002 {0.3495, 0.2290, 0.1459, 0.2757},
44003 {0.3843, 0.1856, 0.1490, 0.2812},
44004 {0.3382, 0.2200, 0.1395, 0.3023},
44005 {0.1416, 0.2818, 0.2378, 0.3388}},
44006 {
44007 {0.3519, 0.1746, 0.2638, 0.2096},
44008 {0.3399, 0.1719, 0.2787, 0.2095},
44009 {0.3335, 0.2031, 0.2641, 0.1993},
44010 {0.1726, 0.2708, 0.3390, 0.2177}},
44011 {
44012 {0.3799, 0.1929, 0.1140, 0.3132},
44013 {0.2965, 0.2310, 0.1734, 0.2992},
44014 {0.3791, 0.2147, 0.1737, 0.2325},
44015 {0.1612, 0.2934, 0.1716, 0.3737}},
44016 {
44017 {0.3269, 0.2136, 0.1741, 0.2855},
44018 {0.3816, 0.1831, 0.1611, 0.2742},
44019 {0.3124, 0.2230, 0.1452, 0.3193},
44020 {0.1473, 0.2672, 0.2417, 0.3439}},
44021 {
44022 {0.3512, 0.1785, 0.2494, 0.2208},
44023 {0.3501, 0.1671, 0.2814, 0.2014},
44024 {0.3190, 0.2138, 0.2727, 0.1945},
44025 {0.1551, 0.2710, 0.3655, 0.2084}},
44026 {
44027 {0.3679, 0.2122, 0.1105, 0.3094},
44028 {0.3057, 0.2379, 0.1752, 0.2812},
44029 {0.3760, 0.2240, 0.1783, 0.2217},
44030 {0.1650, 0.3002, 0.1647, 0.3701}},
44031 {
44032 {0.3383, 0.2168, 0.1656, 0.2792},
44033 {0.3874, 0.1933, 0.1428, 0.2765},
44034 {0.3107, 0.2275, 0.1403, 0.3215},
44035 {0.1382, 0.2809, 0.2386, 0.3424}},
44036 {
44037 {0.3515, 0.1732, 0.2571, 0.2182},
44038 {0.3428, 0.1842, 0.2646, 0.2084},
44039 {0.3388, 0.2008, 0.2558, 0.2045},
44040 {0.1671, 0.2814, 0.3466, 0.2049}},
44041 {
44042 {0.3660, 0.2019, 0.1100, 0.3222},
44043 {0.2881, 0.2135, 0.1861, 0.3123},
44044 {0.3919, 0.2121, 0.1701, 0.2259},
44045 {0.1590, 0.2965, 0.1597, 0.3848}},
44046 {
44047 {0.3194, 0.2211, 0.1773, 0.2823},
44048 {0.3743, 0.1754, 0.1617, 0.2886},
44049 {0.3296, 0.2197, 0.1486, 0.3020},
44050 {0.1405, 0.2807, 0.2292, 0.3496}},
44051 {
44052 {0.3455, 0.1832, 0.2523, 0.2190},
44053 {0.3644, 0.1718, 0.2638, 0.2000},
44054 {0.3397, 0.2094, 0.2608, 0.1901},
44055 {0.1691, 0.2793, 0.3470, 0.2045}},
44056 {
44057 {0.3662, 0.1983, 0.1189, 0.3166},
44058 {0.2794, 0.2318, 0.1904, 0.2984},
44059 {0.3712, 0.2212, 0.1732, 0.2344},
44060 {0.1512, 0.3007, 0.1618, 0.3863}},
44061 {
44062 {0.3318, 0.2175, 0.1728, 0.2779},
44063 {0.3946, 0.1810, 0.1496, 0.2748},
44064 {0.3219, 0.2064, 0.1430, 0.3287},
44065 {0.1420, 0.2807, 0.2491, 0.3283}},
44066 {
44067 {0.3463, 0.1741, 0.2568, 0.2227},
44068 {0.3588, 0.1598, 0.2743, 0.2071},
44069 {0.3326, 0.1985, 0.2789, 0.1901},
44070 {0.1691, 0.2642, 0.3568, 0.2099}},
44071 {
44072 {0.3733, 0.2007, 0.1139, 0.3120},
44073 {0.3025, 0.2195, 0.1708, 0.3072},
44074 {0.3995, 0.2142, 0.1715, 0.2147},
44075 {0.1569, 0.2808, 0.1850, 0.3773}},
44076 {
44077 {0.3184, 0.2154, 0.1790, 0.2872},
44078 {0.3815, 0.1881, 0.1434, 0.2870},
44079 {0.3068, 0.2261, 0.1511, 0.3160},
44080 {0.1384, 0.2877, 0.2466, 0.3273}},
44081 {
44082 {0.3356, 0.1739, 0.2703, 0.2203},
44083 {0.3371, 0.1737, 0.2768, 0.2124},
44084 {0.3311, 0.2029, 0.2579, 0.2081},
44085 {0.1631, 0.2538, 0.3617, 0.2214}},
44086 {
44087 {0.3676, 0.2009, 0.1220, 0.3095},
44088 {0.2890, 0.2263, 0.1804, 0.3042},
44089 {0.3822, 0.2185, 0.1717, 0.2276},
44090 {0.1729, 0.2783, 0.1632, 0.3855}},
44091 {
44092 {0.3173, 0.2184, 0.1819, 0.2825},
44093 {0.3655, 0.1795, 0.1633, 0.2916},
44094 {0.3176, 0.1999, 0.1607, 0.3219},
44095 {0.1357, 0.2693, 0.2343, 0.3607}},
44096 {
44097 {0.3551, 0.1733, 0.2528, 0.2188},
44098 {0.3513, 0.1641, 0.2857, 0.1989},
44099 {0.3478, 0.1967, 0.2703, 0.1852},
44100 {0.1630, 0.2674, 0.3498, 0.2198}},
44101 {
44102 {0.3958, 0.1885, 0.1209, 0.2948},
44103 {0.3056, 0.2270, 0.1762, 0.2913},
44104 {0.3875, 0.2126, 0.1754, 0.2246},
44105 {0.1495, 0.2901, 0.1605, 0.3999}},
44106 {
44107 {0.3419, 0.1951, 0.1698, 0.2932},
44108 {0.3903, 0.1691, 0.1545, 0.2861},
44109 {0.3506, 0.1876, 0.1538, 0.3079},
44110 {0.1409, 0.2633, 0.2448, 0.3509}},
44111 {
44112 {0.3411, 0.1742, 0.2559, 0.2288},
44113 {0.3506, 0.1683, 0.2767, 0.2044},
44114 {0.3534, 0.1962, 0.2638, 0.1866},
44115 {0.1667, 0.2661, 0.3423, 0.2249}},
44116 {
44117 {0.3759, 0.1939, 0.1190, 0.3113},
44118 {0.3176, 0.2297, 0.1673, 0.2854},
44119 {0.3964, 0.2170, 0.1567, 0.2299},
44120 {0.1729, 0.2853, 0.1603, 0.3815}}},
44121
44122 { /* Splice_Site: T2_AG; Species: Elegn */
44123 {
44124 {0.3281, 0.3281, 0.3281, 0.3281},
44125 {0.1571, 0.1571, 0.1571, 0.1571},
44126 {0.1880, 0.1880, 0.1880, 0.1880},
44127 {0.3267, 0.3267, 0.3267, 0.3267}},
44128 {
44129 {0.4034, 0.1307, 0.1968, 0.2691},
44130 {0.3784, 0.1742, 0.1448, 0.3025},
44131 {0.3115, 0.1367, 0.2045, 0.3473},
44132 {0.2404, 0.1537, 0.2107, 0.3952}},
44133 {
44134 {0.4041, 0.1398, 0.2014, 0.2547},
44135 {0.3921, 0.1660, 0.1669, 0.2750},
44136 {0.3150, 0.1360, 0.2168, 0.3322},
44137 {0.2485, 0.1538, 0.2117, 0.3860}},
44138 {
44139 {0.4259, 0.1307, 0.1973, 0.2460},
44140 {0.3713, 0.1702, 0.1682, 0.2903},
44141 {0.2826, 0.1293, 0.2294, 0.3587},
44142 {0.2502, 0.1427, 0.2042, 0.4028}},
44143 {
44144 {0.4163, 0.1190, 0.2125, 0.2522},
44145 {0.3953, 0.1542, 0.1579, 0.2926},
44146 {0.2647, 0.1199, 0.2202, 0.3953},
44147 {0.2533, 0.1436, 0.2125, 0.3906}},
44148 {
44149 {0.4213, 0.1163, 0.2113, 0.2511},
44150 {0.3784, 0.1770, 0.1793, 0.2654},
44151 {0.2460, 0.1081, 0.2406, 0.4052},
44152 {0.2610, 0.1312, 0.1960, 0.4117}},
44153 {
44154 {0.4071, 0.1184, 0.2204, 0.2541},
44155 {0.3585, 0.1635, 0.1782, 0.2997},
44156 {0.2311, 0.1114, 0.2204, 0.4371},
44157 {0.2588, 0.1248, 0.1997, 0.4167}},
44158 {
44159 {0.4080, 0.1201, 0.2160, 0.2559},
44160 {0.3659, 0.1806, 0.1641, 0.2895},
44161 {0.2473, 0.1054, 0.2088, 0.4386},
44162 {0.2667, 0.1345, 0.1834, 0.4154}},
44163 {
44164 {0.4131, 0.1175, 0.2109, 0.2585},
44165 {0.3737, 0.1701, 0.1447, 0.3114},
44166 {0.2559, 0.1115, 0.2078, 0.4248},
44167 {0.2809, 0.1244, 0.1738, 0.4209}},
44168 {
44169 {0.4148, 0.1257, 0.2029, 0.2567},
44170 {0.3634, 0.1736, 0.1588, 0.3042},
44171 {0.2668, 0.1010, 0.1923, 0.4400},
44172 {0.2711, 0.1327, 0.1782, 0.4179}},
44173 {
44174 {0.4200, 0.1230, 0.1935, 0.2635},
44175 {0.3614, 0.1789, 0.1376, 0.3221},
44176 {0.2990, 0.1279, 0.1580, 0.4152},
44177 {0.2674, 0.1318, 0.1570, 0.4438}},
44178 {
44179 {0.4309, 0.1290, 0.1719, 0.2682},
44180 {0.3615, 0.1713, 0.1418, 0.3254},
44181 {0.3197, 0.1389, 0.1388, 0.4026},
44182 {0.2431, 0.1289, 0.1538, 0.4742}},
44183 {
44184 {0.4289, 0.1189, 0.1509, 0.3013},
44185 {0.3591, 0.1639, 0.1328, 0.3442},
44186 {0.3337, 0.1468, 0.1383, 0.3812},
44187 {0.2238, 0.1403, 0.1559, 0.4799}},
44188 {
44189 {0.4363, 0.1220, 0.1404, 0.3014},
44190 {0.3619, 0.1692, 0.1262, 0.3427},
44191 {0.3592, 0.1635, 0.1409, 0.3364},
44192 {0.2191, 0.1438, 0.1391, 0.4979}},
44193 {
44194 {0.4494, 0.1234, 0.1373, 0.2899},
44195 {0.3651, 0.1879, 0.1204, 0.3267},
44196 {0.3650, 0.1579, 0.1395, 0.3375},
44197 {0.2244, 0.1404, 0.1484, 0.4868}},
44198 {
44199 {0.4566, 0.1320, 0.1229, 0.2884},
44200 {0.3635, 0.1846, 0.1211, 0.3308},
44201 {0.3847, 0.1729, 0.1293, 0.3130},
44202 {0.2248, 0.1522, 0.1426, 0.4803}},
44203 {
44204 {0.4570, 0.1334, 0.1178, 0.2918},
44205 {0.3905, 0.1750, 0.1109, 0.3237},
44206 {0.3897, 0.1581, 0.1429, 0.3093},
44207 {0.2372, 0.1559, 0.1413, 0.4656}},
44208 {
44209 {0.4515, 0.1299, 0.1149, 0.3037},
44210 {0.3517, 0.1767, 0.1229, 0.3487},
44211 {0.3828, 0.1710, 0.1286, 0.3175},
44212 {0.2237, 0.1585, 0.1417, 0.4761}},
44213 {
44214 {0.4318, 0.1382, 0.1302, 0.2998},
44215 {0.3577, 0.1787, 0.1410, 0.3227},
44216 {0.3765, 0.1538, 0.1401, 0.3296},
44217 {0.2325, 0.1654, 0.1386, 0.4635}},
44218 {
44219 {0.4343, 0.1317, 0.1250, 0.3090},
44220 {0.3581, 0.1750, 0.1174, 0.3494},
44221 {0.3686, 0.1719, 0.1421, 0.3175},
44222 {0.2361, 0.1666, 0.1396, 0.4577}},
44223 {
44224 {0.4400, 0.1266, 0.1266, 0.3068},
44225 {0.3739, 0.1823, 0.1193, 0.3246},
44226 {0.3809, 0.1673, 0.1323, 0.3196},
44227 {0.2282, 0.1657, 0.1540, 0.4522}},
44228 {
44229 {0.4520, 0.1293, 0.1295, 0.2892},
44230 {0.3691, 0.1659, 0.1247, 0.3403},
44231 {0.3528, 0.1703, 0.1571, 0.3198},
44232 {0.2360, 0.1527, 0.1494, 0.4620}},
44233 {
44234 {0.4509, 0.1214, 0.1249, 0.3027},
44235 {0.3764, 0.1877, 0.1087, 0.3273},
44236 {0.3799, 0.1510, 0.1342, 0.3350},
44237 {0.2412, 0.1558, 0.1557, 0.4473}},
44238 {
44239 {0.4670, 0.1331, 0.1213, 0.2786},
44240 {0.3848, 0.1764, 0.1232, 0.3157},
44241 {0.4009, 0.1607, 0.1239, 0.3145},
44242 {0.2346, 0.1493, 0.1471, 0.4689}},
44243 {
44244 {0.4651, 0.1226, 0.1240, 0.2884},
44245 {0.3690, 0.1708, 0.1305, 0.3296},
44246 {0.3928, 0.1512, 0.1365, 0.3195},
44247 {0.2330, 0.1481, 0.1395, 0.4795}},
44248 {
44249 {0.4616, 0.1331, 0.1157, 0.2896},
44250 {0.3653, 0.1856, 0.1172, 0.3319},
44251 {0.3913, 0.1723, 0.1328, 0.3037},
44252 {0.2387, 0.1538, 0.1312, 0.4764}},
44253 {
44254 {0.4668, 0.1306, 0.1011, 0.3015},
44255 {0.3625, 0.1823, 0.0969, 0.3582},
44256 {0.3699, 0.1523, 0.1391, 0.3387},
44257 {0.2243, 0.1588, 0.1271, 0.4897}},
44258 {
44259 {0.4634, 0.1326, 0.0948, 0.3091},
44260 {0.3885, 0.1865, 0.1066, 0.3184},
44261 {0.3920, 0.1889, 0.1107, 0.3083},
44262 {0.2314, 0.1726, 0.1233, 0.4727}},
44263 {
44264 {0.4834, 0.1207, 0.0878, 0.3081},
44265 {0.3738, 0.1903, 0.0988, 0.3371},
44266 {0.3723, 0.1662, 0.1119, 0.3495},
44267 {0.2458, 0.1813, 0.1163, 0.4566}},
44268 {
44269 {0.4881, 0.1242, 0.0834, 0.3043},
44270 {0.3798, 0.1926, 0.1005, 0.3272},
44271 {0.3751, 0.1776, 0.0969, 0.3504},
44272 {0.2428, 0.1593, 0.1258, 0.4721}},
44273 {
44274 {0.4690, 0.1375, 0.0920, 0.3014},
44275 {0.3826, 0.1955, 0.0975, 0.3244},
44276 {0.3829, 0.1572, 0.1034, 0.3566},
44277 {0.2592, 0.1710, 0.1204, 0.4494}},
44278 {
44279 {0.4678, 0.1362, 0.0885, 0.3075},
44280 {0.3949, 0.1781, 0.0932, 0.3339},
44281 {0.3987, 0.1572, 0.1102, 0.3338},
44282 {0.2702, 0.1681, 0.1186, 0.4431}},
44283 {
44284 {0.4739, 0.1388, 0.0842, 0.3032},
44285 {0.3954, 0.1655, 0.0775, 0.3615},
44286 {0.4177, 0.1572, 0.0837, 0.3414},
44287 {0.2798, 0.1642, 0.1097, 0.4463}},
44288 {
44289 {0.5124, 0.1178, 0.0728, 0.2970},
44290 {0.4351, 0.1459, 0.0828, 0.3362},
44291 {0.4106, 0.1589, 0.0922, 0.3382},
44292 {0.2961, 0.1759, 0.1016, 0.4264}},
44293 {
44294 {0.5479, 0.1128, 0.0648, 0.2745},
44295 {0.4659, 0.1480, 0.0673, 0.3189},
44296 {0.4745, 0.1335, 0.0784, 0.3136},
44297 {0.3291, 0.1524, 0.1027, 0.4158}},
44298 {
44299 {0.5660, 0.1046, 0.0600, 0.2694},
44300 {0.5052, 0.1399, 0.0822, 0.2728},
44301 {0.4896, 0.1151, 0.0787, 0.3166},
44302 {0.3649, 0.1416, 0.1011, 0.3924}},
44303 {
44304 {0.5393, 0.1144, 0.0556, 0.2907},
44305 {0.5407, 0.1343, 0.0845, 0.2404},
44306 {0.4955, 0.1235, 0.0793, 0.3017},
44307 {0.3630, 0.1490, 0.0972, 0.3908}},
44308 {
44309 {0.5077, 0.1182, 0.0575, 0.3166},
44310 {0.4414, 0.1576, 0.0810, 0.3201},
44311 {0.3862, 0.1283, 0.1107, 0.3748},
44312 {0.2836, 0.1491, 0.0949, 0.4725}},
44313 {
44314 {0.4647, 0.1251, 0.0689, 0.3413},
44315 {0.3791, 0.1807, 0.1051, 0.3351},
44316 {0.4037, 0.1222, 0.0941, 0.3801},
44317 {0.2489, 0.1526, 0.1154, 0.4832}},
44318 {
44319 {0.4427, 0.1166, 0.0686, 0.3721},
44320 {0.3561, 0.1809, 0.0988, 0.3641},
44321 {0.3454, 0.1387, 0.0915, 0.4244},
44322 {0.2256, 0.1577, 0.1233, 0.4934}},
44323 {
44324 {0.4430, 0.1161, 0.0800, 0.3609},
44325 {0.3760, 0.1710, 0.1019, 0.3511},
44326 {0.3816, 0.1284, 0.0910, 0.3990},
44327 {0.2332, 0.1664, 0.1224, 0.4780}},
44328 {
44329 {0.4597, 0.1236, 0.0656, 0.3512},
44330 {0.3590, 0.1865, 0.0990, 0.3556},
44331 {0.3957, 0.1571, 0.0830, 0.3642},
44332 {0.2257, 0.1815, 0.1054, 0.4874}},
44333 {
44334 {0.4831, 0.1231, 0.0530, 0.3408},
44335 {0.4198, 0.1810, 0.0817, 0.3175},
44336 {0.4299, 0.1482, 0.0846, 0.3374},
44337 {0.2580, 0.1728, 0.1059, 0.4634}},
44338 {
44339 {0.4940, 0.1085, 0.0495, 0.3479},
44340 {0.4943, 0.1439, 0.0802, 0.2817},
44341 {0.4694, 0.1156, 0.0883, 0.3267},
44342 {0.2842, 0.1392, 0.1101, 0.4665}},
44343 {
44344 {0.5196, 0.0811, 0.0454, 0.3539},
44345 {0.5048, 0.1001, 0.0854, 0.3097},
44346 {0.4482, 0.0705, 0.0823, 0.3990},
44347 {0.3164, 0.0822, 0.1048, 0.4966}},
44348 {
44349 {0.3522, 0.0766, 0.0459, 0.5253},
44350 {0.3720, 0.0768, 0.0898, 0.4614},
44351 {0.2267, 0.1032, 0.0714, 0.5986},
44352 {0.2207, 0.0820, 0.1060, 0.5913}},
44353 {
44354 {0.0955, 0.0447, 0.0153, 0.8445},
44355 {0.1094, 0.0430, 0.0470, 0.8006},
44356 {0.0637, 0.0500, 0.0240, 0.8623},
44357 {0.0491, 0.0353, 0.0249, 0.8907}},
44358 {
44359 {0.0318, 0.0245, 0.0082, 0.9355},
44360 {0.0106, 0.0357, 0.0065, 0.9472},
44361 {0.0218, 0.0395, 0.0067, 0.9320},
44362 {0.0056, 0.0167, 0.0058, 0.9720}},
44363 {
44364 {0.2150, 0.1750, 0.0400, 0.5700},
44365 {0.2087, 0.1654, 0.0627, 0.5632},
44366 {0.1873, 0.1973, 0.1572, 0.4582},
44367 {0.0790, 0.1612, 0.0781, 0.6817}},
44368 {
44369 {0.0690, 0.7382, 0.0091, 0.1837},
44370 {0.0457, 0.8262, 0.0089, 0.1192},
44371 {0.0926, 0.7528, 0.0159, 0.1388},
44372 {0.0327, 0.8156, 0.0067, 0.1450}},
44373 {
44374 {1.0000, 0.0000, 0.0000, 0.0000},
44375 {1.0000, 0.0000, 0.0000, 0.0000},
44376 {1.0000, 0.0000, 0.0000, 0.0000},
44377 {1.0000, 0.0000, 0.0000, 0.0000}},
44378 {
44379 {0.0000, 0.0000, 1.0000, 0.0000},
44380 {0.0000, 0.0000, 0.0000, 0.0000},
44381 {0.0000, 0.0000, 0.0000, 0.0000},
44382 {0.0000, 0.0000, 0.0000, 0.0000}},
44383 {
44384 {0.0000, 0.0000, 0.0000, 0.0000},
44385 {0.0000, 0.0000, 0.0000, 0.0000},
44386 {0.3916, 0.1817, 0.2657, 0.1610},
44387 {0.0000, 0.0000, 0.0000, 0.0000}},
44388 {
44389 {0.3663, 0.1834, 0.1017, 0.3486},
44390 {0.3195, 0.1854, 0.1268, 0.3683},
44391 {0.4075, 0.1924, 0.0646, 0.3355},
44392 {0.2015, 0.1785, 0.2578, 0.3622}},
44393 {
44394 {0.3868, 0.1665, 0.2200, 0.2267},
44395 {0.3335, 0.1898, 0.2832, 0.1935},
44396 {0.3266, 0.2305, 0.2083, 0.2345},
44397 {0.2035, 0.2405, 0.3223, 0.2336}},
44398 {
44399 {0.3323, 0.2198, 0.1090, 0.3389},
44400 {0.2505, 0.2734, 0.1561, 0.3200},
44401 {0.3707, 0.2199, 0.1708, 0.2385},
44402 {0.1548, 0.3270, 0.1854, 0.3327}},
44403 {
44404 {0.3688, 0.2803, 0.1041, 0.2467},
44405 {0.3456, 0.2701, 0.1045, 0.2798},
44406 {0.2831, 0.2964, 0.0867, 0.3337},
44407 {0.1398, 0.3390, 0.1967, 0.3244}},
44408 {
44409 {0.3879, 0.1894, 0.2077, 0.2150},
44410 {0.2971, 0.2040, 0.2914, 0.2075},
44411 {0.3031, 0.2299, 0.2487, 0.2183},
44412 {0.1545, 0.3140, 0.3157, 0.2158}},
44413 {
44414 {0.3690, 0.2357, 0.0982, 0.2972},
44415 {0.2773, 0.2674, 0.1681, 0.2871},
44416 {0.3764, 0.2157, 0.1874, 0.2205},
44417 {0.1675, 0.3364, 0.1736, 0.3224}},
44418 {
44419 {0.3555, 0.2615, 0.1069, 0.2760},
44420 {0.3967, 0.2160, 0.1321, 0.2552},
44421 {0.3167, 0.2410, 0.1141, 0.3282},
44422 {0.1613, 0.3123, 0.2128, 0.3136}},
44423 {
44424 {0.3481, 0.1885, 0.2272, 0.2361},
44425 {0.3148, 0.2017, 0.2780, 0.2054},
44426 {0.3159, 0.2074, 0.2528, 0.2238},
44427 {0.1694, 0.2824, 0.3490, 0.1992}},
44428 {
44429 {0.3829, 0.2241, 0.1060, 0.2870},
44430 {0.2860, 0.2422, 0.1832, 0.2887},
44431 {0.3697, 0.2179, 0.1781, 0.2343},
44432 {0.1573, 0.3190, 0.2088, 0.3149}},
44433 {
44434 {0.3259, 0.2481, 0.1435, 0.2825},
44435 {0.3979, 0.1925, 0.1393, 0.2703},
44436 {0.3049, 0.2492, 0.1273, 0.3186},
44437 {0.1468, 0.2945, 0.2465, 0.3121}},
44438 {
44439 {0.3652, 0.1755, 0.2285, 0.2309},
44440 {0.3410, 0.1805, 0.2729, 0.2056},
44441 {0.3338, 0.1962, 0.2550, 0.2151},
44442 {0.1706, 0.2570, 0.3462, 0.2262}},
44443 {
44444 {0.3757, 0.2199, 0.1086, 0.2958},
44445 {0.2870, 0.2383, 0.1806, 0.2940},
44446 {0.3604, 0.2372, 0.1911, 0.2113},
44447 {0.1488, 0.3494, 0.1673, 0.3346}},
44448 {
44449 {0.3491, 0.2256, 0.1316, 0.2937},
44450 {0.3559, 0.2009, 0.1494, 0.2938},
44451 {0.2973, 0.2527, 0.1098, 0.3402},
44452 {0.1515, 0.2876, 0.2181, 0.3427}},
44453 {
44454 {0.3543, 0.1731, 0.2335, 0.2391},
44455 {0.3171, 0.1879, 0.2767, 0.2182},
44456 {0.3038, 0.2067, 0.2573, 0.2323},
44457 {0.1682, 0.2745, 0.3465, 0.2108}},
44458 {
44459 {0.3442, 0.2316, 0.1059, 0.3183},
44460 {0.2842, 0.2569, 0.1853, 0.2736},
44461 {0.3719, 0.2161, 0.1811, 0.2310},
44462 {0.1455, 0.3129, 0.1706, 0.3710}},
44463 {
44464 {0.3422, 0.2267, 0.1599, 0.2712},
44465 {0.3634, 0.1993, 0.1458, 0.2914},
44466 {0.3204, 0.2327, 0.1331, 0.3138},
44467 {0.1468, 0.2900, 0.2351, 0.3280}},
44468 {
44469 {0.3474, 0.1835, 0.2572, 0.2120},
44470 {0.3191, 0.1877, 0.2798, 0.2133},
44471 {0.3221, 0.2027, 0.2786, 0.1967},
44472 {0.1685, 0.2775, 0.3496, 0.2044}},
44473 {
44474 {0.3650, 0.2090, 0.1115, 0.3145},
44475 {0.2946, 0.2440, 0.1665, 0.2950},
44476 {0.3870, 0.2095, 0.1747, 0.2288},
44477 {0.1564, 0.3100, 0.1672, 0.3663}},
44478 {
44479 {0.3522, 0.2459, 0.1411, 0.2608},
44480 {0.3843, 0.1910, 0.1283, 0.2964},
44481 {0.3338, 0.2291, 0.1183, 0.3188},
44482 {0.1493, 0.2907, 0.2320, 0.3281}},
44483 {
44484 {0.3463, 0.1758, 0.2492, 0.2287},
44485 {0.3361, 0.1831, 0.2744, 0.2065},
44486 {0.2993, 0.2144, 0.2688, 0.2174},
44487 {0.1516, 0.2846, 0.3672, 0.1965}},
44488 {
44489 {0.3721, 0.2148, 0.1231, 0.2899},
44490 {0.2875, 0.2579, 0.1752, 0.2795},
44491 {0.3682, 0.2115, 0.1923, 0.2280},
44492 {0.1635, 0.3352, 0.1671, 0.3342}},
44493 {
44494 {0.3232, 0.2400, 0.1551, 0.2817},
44495 {0.3995, 0.1816, 0.1526, 0.2662},
44496 {0.3396, 0.1892, 0.1354, 0.3358},
44497 {0.1444, 0.2727, 0.2364, 0.3465}},
44498 {
44499 {0.3742, 0.1760, 0.2331, 0.2167},
44500 {0.3372, 0.1868, 0.2700, 0.2059},
44501 {0.3251, 0.2242, 0.2453, 0.2054},
44502 {0.1633, 0.2678, 0.3555, 0.2135}},
44503 {
44504 {0.3526, 0.2155, 0.1251, 0.3068},
44505 {0.3020, 0.2506, 0.1666, 0.2809},
44506 {0.3724, 0.2114, 0.1922, 0.2240},
44507 {0.1507, 0.3173, 0.1848, 0.3472}},
44508 {
44509 {0.3389, 0.2189, 0.1527, 0.2894},
44510 {0.3858, 0.1911, 0.1356, 0.2875},
44511 {0.3019, 0.2398, 0.1449, 0.3134},
44512 {0.1483, 0.2745, 0.2261, 0.3511}},
44513 {
44514 {0.3527, 0.1774, 0.2315, 0.2384},
44515 {0.3446, 0.1850, 0.2734, 0.1970},
44516 {0.3457, 0.1864, 0.2617, 0.2062},
44517 {0.1543, 0.2626, 0.3520, 0.2311}},
44518 {
44519 {0.3818, 0.2121, 0.1126, 0.2935},
44520 {0.2879, 0.2370, 0.1795, 0.2956},
44521 {0.3773, 0.2092, 0.1951, 0.2183},
44522 {0.1399, 0.3276, 0.1648, 0.3677}},
44523 {
44524 {0.3432, 0.2235, 0.1531, 0.2803},
44525 {0.3840, 0.1863, 0.1519, 0.2778},
44526 {0.3454, 0.2013, 0.1207, 0.3325},
44527 {0.1376, 0.2724, 0.2356, 0.3545}},
44528 {
44529 {0.3505, 0.1755, 0.2500, 0.2239},
44530 {0.3314, 0.1728, 0.2937, 0.2021},
44531 {0.3359, 0.2098, 0.2649, 0.1894},
44532 {0.1660, 0.2632, 0.3543, 0.2165}},
44533 {
44534 {0.3800, 0.2131, 0.1169, 0.2899},
44535 {0.2982, 0.2372, 0.1812, 0.2834},
44536 {0.3969, 0.2189, 0.1805, 0.2037},
44537 {0.1471, 0.3294, 0.1693, 0.3542}},
44538 {
44539 {0.3366, 0.2080, 0.1636, 0.2918},
44540 {0.3875, 0.1778, 0.1440, 0.2908},
44541 {0.3172, 0.2231, 0.1443, 0.3154},
44542 {0.1429, 0.2750, 0.2372, 0.3448}},
44543 {
44544 {0.3570, 0.1676, 0.2462, 0.2293},
44545 {0.3499, 0.1775, 0.2750, 0.1976},
44546 {0.3473, 0.1996, 0.2444, 0.2087},
44547 {0.1669, 0.2686, 0.3539, 0.2106}},
44548 {
44549 {0.3628, 0.2280, 0.1173, 0.2919},
44550 {0.2886, 0.2476, 0.1648, 0.2991},
44551 {0.3740, 0.2075, 0.2099, 0.2087},
44552 {0.1419, 0.3415, 0.1621, 0.3545}},
44553 {
44554 {0.3226, 0.2244, 0.1601, 0.2929},
44555 {0.3655, 0.1862, 0.1603, 0.2879},
44556 {0.3292, 0.2139, 0.1483, 0.3086},
44557 {0.1475, 0.2664, 0.2444, 0.3418}},
44558 {
44559 {0.3542, 0.1800, 0.2406, 0.2252},
44560 {0.3423, 0.1907, 0.2630, 0.2040},
44561 {0.3339, 0.1978, 0.2758, 0.1924},
44562 {0.1525, 0.2880, 0.3432, 0.2163}},
44563 {
44564 {0.3674, 0.2121, 0.1252, 0.2953},
44565 {0.3019, 0.2217, 0.1962, 0.2801},
44566 {0.3591, 0.2220, 0.2143, 0.2046},
44567 {0.1542, 0.3064, 0.1725, 0.3669}},
44568 {
44569 {0.3311, 0.2121, 0.1636, 0.2932},
44570 {0.3705, 0.1861, 0.1547, 0.2887},
44571 {0.3335, 0.2103, 0.1476, 0.3086},
44572 {0.1424, 0.2537, 0.2406, 0.3633}},
44573 {
44574 {0.3400, 0.1687, 0.2503, 0.2410},
44575 {0.3347, 0.1665, 0.2852, 0.2136},
44576 {0.3456, 0.1989, 0.2517, 0.2039},
44577 {0.1749, 0.2557, 0.3381, 0.2312}},
44578 {
44579 {0.3547, 0.2233, 0.1277, 0.2943},
44580 {0.2997, 0.2379, 0.1703, 0.2921},
44581 {0.3717, 0.2037, 0.2006, 0.2240},
44582 {0.1705, 0.3036, 0.1756, 0.3502}},
44583 {
44584 {0.3151, 0.2288, 0.1543, 0.3018},
44585 {0.3807, 0.1762, 0.1428, 0.3004},
44586 {0.3173, 0.2256, 0.1533, 0.3038},
44587 {0.1542, 0.2824, 0.2346, 0.3287}},
44588 {
44589 {0.3529, 0.1759, 0.2562, 0.2150},
44590 {0.3406, 0.1684, 0.2815, 0.2096},
44591 {0.3291, 0.2098, 0.2600, 0.2011},
44592 {0.1749, 0.2607, 0.3510, 0.2134}},
44593 {
44594 {0.3765, 0.2153, 0.1225, 0.2858},
44595 {0.3078, 0.2504, 0.1664, 0.2754},
44596 {0.3683, 0.2147, 0.1979, 0.2191},
44597 {0.1620, 0.3190, 0.1731, 0.3459}},
44598 {
44599 {0.3294, 0.2170, 0.1733, 0.2803},
44600 {0.3821, 0.1771, 0.1541, 0.2866},
44601 {0.3161, 0.2054, 0.1634, 0.3150},
44602 {0.1409, 0.2622, 0.2456, 0.3512}},
44603 {
44604 {0.3402, 0.1763, 0.2720, 0.2115},
44605 {0.3332, 0.1804, 0.2851, 0.2012},
44606 {0.3483, 0.1814, 0.2690, 0.2014},
44607 {0.1777, 0.2577, 0.3525, 0.2121}},
44608 {
44609 {0.3851, 0.2013, 0.1284, 0.2852},
44610 {0.2966, 0.2247, 0.1975, 0.2812},
44611 {0.3793, 0.2216, 0.1900, 0.2091},
44612 {0.1464, 0.3079, 0.1564, 0.3894}},
44613 {
44614 {0.3364, 0.1878, 0.1743, 0.3015},
44615 {0.3850, 0.1732, 0.1466, 0.2952},
44616 {0.3384, 0.1926, 0.1361, 0.3330},
44617 {0.1403, 0.2564, 0.2334, 0.3699}},
44618 {
44619 {0.3581, 0.1709, 0.2606, 0.2103},
44620 {0.3431, 0.1726, 0.2686, 0.2157},
44621 {0.3467, 0.2036, 0.2606, 0.1891},
44622 {0.1785, 0.2605, 0.3474, 0.2137}},
44623 {
44624 {0.3739, 0.2045, 0.1306, 0.2909},
44625 {0.3305, 0.2359, 0.1613, 0.2722},
44626 {0.3859, 0.2079, 0.1997, 0.2066},
44627 {0.1388, 0.3046, 0.1657, 0.3909}},
44628 {
44629 {0.3363, 0.1877, 0.1818, 0.2943},
44630 {0.4059, 0.1653, 0.1565, 0.2723},
44631 {0.3412, 0.1957, 0.1462, 0.3169},
44632 {0.1402, 0.2640, 0.2288, 0.3670}}},
44633
44634 { /* Splice_Site: T0_AG; Species: Elegn */
44635 {
44636 {0.3352, 0.3352, 0.3352, 0.3352},
44637 {0.1531, 0.1531, 0.1531, 0.1531},
44638 {0.1921, 0.1921, 0.1921, 0.1921},
44639 {0.3197, 0.3197, 0.3197, 0.3197}},
44640 {
44641 {0.4048, 0.1398, 0.1995, 0.2559},
44642 {0.3825, 0.1692, 0.1675, 0.2808},
44643 {0.3307, 0.1444, 0.1976, 0.3273},
44644 {0.2310, 0.1602, 0.2005, 0.4084}},
44645 {
44646 {0.4139, 0.1388, 0.2021, 0.2452},
44647 {0.4148, 0.1657, 0.1689, 0.2506},
44648 {0.3124, 0.1280, 0.2028, 0.3569},
44649 {0.2445, 0.1544, 0.1961, 0.4051}},
44650 {
44651 {0.4157, 0.1318, 0.2169, 0.2356},
44652 {0.4062, 0.1520, 0.1763, 0.2655},
44653 {0.2898, 0.1244, 0.1988, 0.3870},
44654 {0.2442, 0.1524, 0.1930, 0.4105}},
44655 {
44656 {0.4351, 0.1236, 0.2204, 0.2209},
44657 {0.3905, 0.1659, 0.1810, 0.2625},
44658 {0.2829, 0.1086, 0.2084, 0.4000},
44659 {0.2540, 0.1382, 0.1964, 0.4114}},
44660 {
44661 {0.4270, 0.1164, 0.2307, 0.2259},
44662 {0.3717, 0.1603, 0.1961, 0.2719},
44663 {0.2559, 0.1085, 0.2042, 0.4314},
44664 {0.2627, 0.1389, 0.1944, 0.4041}},
44665 {
44666 {0.4034, 0.1209, 0.2492, 0.2265},
44667 {0.3574, 0.1756, 0.2067, 0.2604},
44668 {0.2617, 0.1027, 0.1923, 0.4433},
44669 {0.2738, 0.1350, 0.1895, 0.4017}},
44670 {
44671 {0.4072, 0.1037, 0.2369, 0.2521},
44672 {0.3686, 0.1563, 0.1793, 0.2958},
44673 {0.2610, 0.1024, 0.1813, 0.4553},
44674 {0.2796, 0.1303, 0.1787, 0.4114}},
44675 {
44676 {0.4217, 0.1151, 0.2186, 0.2447},
44677 {0.3621, 0.1695, 0.1722, 0.2963},
44678 {0.2600, 0.1057, 0.1875, 0.4468},
44679 {0.2744, 0.1294, 0.1695, 0.4266}},
44680 {
44681 {0.4115, 0.1210, 0.2215, 0.2461},
44682 {0.3401, 0.1869, 0.1625, 0.3105},
44683 {0.2902, 0.1137, 0.1657, 0.4304},
44684 {0.2605, 0.1267, 0.1667, 0.4461}},
44685 {
44686 {0.4171, 0.1103, 0.1987, 0.2739},
44687 {0.3600, 0.1809, 0.1445, 0.3146},
44688 {0.3021, 0.1112, 0.1538, 0.4330},
44689 {0.2653, 0.1308, 0.1526, 0.4513}},
44690 {
44691 {0.4125, 0.1171, 0.1848, 0.2856},
44692 {0.3665, 0.1783, 0.1310, 0.3243},
44693 {0.3165, 0.1410, 0.1501, 0.3924},
44694 {0.2388, 0.1296, 0.1551, 0.4764}},
44695 {
44696 {0.4367, 0.1158, 0.1553, 0.2922},
44697 {0.3661, 0.1606, 0.1272, 0.3461},
44698 {0.3533, 0.1398, 0.1280, 0.3790},
44699 {0.2343, 0.1362, 0.1420, 0.4876}},
44700 {
44701 {0.4357, 0.1279, 0.1530, 0.2834},
44702 {0.3571, 0.1605, 0.1357, 0.3467},
44703 {0.3564, 0.1565, 0.1464, 0.3407},
44704 {0.2289, 0.1476, 0.1400, 0.4835}},
44705 {
44706 {0.4350, 0.1373, 0.1229, 0.3048},
44707 {0.3575, 0.1642, 0.1339, 0.3443},
44708 {0.3620, 0.1598, 0.1489, 0.3294},
44709 {0.2184, 0.1500, 0.1381, 0.4935}},
44710 {
44711 {0.4499, 0.1157, 0.1232, 0.3112},
44712 {0.3433, 0.1786, 0.1299, 0.3483},
44713 {0.3810, 0.1664, 0.1372, 0.3154},
44714 {0.2096, 0.1603, 0.1408, 0.4894}},
44715 {
44716 {0.4481, 0.1333, 0.1203, 0.2983},
44717 {0.3638, 0.1736, 0.1282, 0.3344},
44718 {0.3865, 0.1670, 0.1354, 0.3111},
44719 {0.2235, 0.1610, 0.1430, 0.4725}},
44720 {
44721 {0.4508, 0.1286, 0.1167, 0.3039},
44722 {0.3694, 0.1652, 0.1160, 0.3494},
44723 {0.3828, 0.1615, 0.1420, 0.3136},
44724 {0.2267, 0.1552, 0.1440, 0.4741}},
44725 {
44726 {0.4505, 0.1279, 0.1184, 0.3032},
44727 {0.3807, 0.1617, 0.1223, 0.3352},
44728 {0.3644, 0.1722, 0.1476, 0.3158},
44729 {0.2447, 0.1586, 0.1423, 0.4544}},
44730 {
44731 {0.4362, 0.1315, 0.1217, 0.3106},
44732 {0.3547, 0.1784, 0.1358, 0.3310},
44733 {0.3898, 0.1524, 0.1324, 0.3254},
44734 {0.2344, 0.1655, 0.1372, 0.4629}},
44735 {
44736 {0.4439, 0.1260, 0.1251, 0.3050},
44737 {0.3652, 0.1811, 0.1172, 0.3365},
44738 {0.3577, 0.1613, 0.1425, 0.3384},
44739 {0.2389, 0.1507, 0.1457, 0.4646}},
44740 {
44741 {0.4383, 0.1316, 0.1255, 0.3046},
44742 {0.3934, 0.1573, 0.1294, 0.3199},
44743 {0.3609, 0.1606, 0.1594, 0.3192},
44744 {0.2314, 0.1528, 0.1468, 0.4689}},
44745 {
44746 {0.4667, 0.1262, 0.1229, 0.2843},
44747 {0.3865, 0.1761, 0.1239, 0.3135},
44748 {0.3948, 0.1516, 0.1350, 0.3186},
44749 {0.2456, 0.1516, 0.1402, 0.4627}},
44750 {
44751 {0.4717, 0.1141, 0.1145, 0.2996},
44752 {0.3647, 0.1754, 0.1276, 0.3323},
44753 {0.3908, 0.1600, 0.1269, 0.3222},
44754 {0.2375, 0.1531, 0.1456, 0.4638}},
44755 {
44756 {0.4614, 0.1334, 0.1203, 0.2849},
44757 {0.3853, 0.1643, 0.1206, 0.3298},
44758 {0.4098, 0.1375, 0.1254, 0.3274},
44759 {0.2463, 0.1688, 0.1351, 0.4498}},
44760 {
44761 {0.4593, 0.1285, 0.1116, 0.3005},
44762 {0.3780, 0.1610, 0.1179, 0.3431},
44763 {0.3774, 0.1557, 0.1353, 0.3316},
44764 {0.2376, 0.1575, 0.1309, 0.4741}},
44765 {
44766 {0.4657, 0.1268, 0.1022, 0.3053},
44767 {0.3548, 0.1806, 0.1298, 0.3349},
44768 {0.3728, 0.1676, 0.1354, 0.3241},
44769 {0.2322, 0.1633, 0.1303, 0.4742}},
44770 {
44771 {0.4784, 0.1328, 0.0831, 0.3057},
44772 {0.3821, 0.1914, 0.0946, 0.3320},
44773 {0.3859, 0.1846, 0.1078, 0.3217},
44774 {0.2411, 0.1752, 0.1151, 0.4686}},
44775 {
44776 {0.4810, 0.1232, 0.0939, 0.3019},
44777 {0.4000, 0.1760, 0.0966, 0.3274},
44778 {0.4018, 0.1687, 0.1024, 0.3271},
44779 {0.2338, 0.1735, 0.1161, 0.4766}},
44780 {
44781 {0.4745, 0.1276, 0.0926, 0.3053},
44782 {0.3927, 0.1698, 0.0940, 0.3436},
44783 {0.3829, 0.1715, 0.0969, 0.3487},
44784 {0.2468, 0.1688, 0.1167, 0.4677}},
44785 {
44786 {0.4911, 0.1268, 0.0885, 0.2936},
44787 {0.3967, 0.1745, 0.0939, 0.3350},
44788 {0.4145, 0.1405, 0.0976, 0.3474},
44789 {0.2525, 0.1684, 0.1295, 0.4496}},
44790 {
44791 {0.4793, 0.1279, 0.0899, 0.3029},
44792 {0.3810, 0.1798, 0.1036, 0.3356},
44793 {0.4109, 0.1488, 0.1075, 0.3329},
44794 {0.2610, 0.1721, 0.1100, 0.4569}},
44795 {
44796 {0.4932, 0.1231, 0.0734, 0.3103},
44797 {0.4057, 0.1758, 0.0857, 0.3328},
44798 {0.4026, 0.1592, 0.0987, 0.3395},
44799 {0.2729, 0.1701, 0.1071, 0.4499}},
44800 {
44801 {0.5184, 0.1160, 0.0733, 0.2924},
44802 {0.4184, 0.1501, 0.0903, 0.3412},
44803 {0.4208, 0.1534, 0.0849, 0.3409},
44804 {0.2888, 0.1653, 0.1081, 0.4378}},
44805 {
44806 {0.5380, 0.1206, 0.0567, 0.2847},
44807 {0.4488, 0.1524, 0.0809, 0.3180},
44808 {0.4162, 0.1427, 0.0885, 0.3527},
44809 {0.3339, 0.1482, 0.0999, 0.4179}},
44810 {
44811 {0.5659, 0.1082, 0.0527, 0.2732},
44812 {0.5148, 0.1362, 0.0806, 0.2684},
44813 {0.4892, 0.1376, 0.0859, 0.2873},
44814 {0.3605, 0.1477, 0.0985, 0.3933}},
44815 {
44816 {0.5587, 0.1085, 0.0517, 0.2811},
44817 {0.5310, 0.1339, 0.0790, 0.2561},
44818 {0.5147, 0.1205, 0.0652, 0.2996},
44819 {0.3835, 0.1339, 0.0900, 0.3926}},
44820 {
44821 {0.5025, 0.1147, 0.0568, 0.3260},
44822 {0.4782, 0.1390, 0.0819, 0.3009},
44823 {0.4231, 0.1330, 0.0797, 0.3642},
44824 {0.3112, 0.1463, 0.0954, 0.4470}},
44825 {
44826 {0.4667, 0.1218, 0.0704, 0.3411},
44827 {0.3834, 0.1627, 0.1056, 0.3483},
44828 {0.3692, 0.1366, 0.0879, 0.4064},
44829 {0.2520, 0.1479, 0.1144, 0.4857}},
44830 {
44831 {0.4443, 0.1273, 0.0658, 0.3627},
44832 {0.3645, 0.1656, 0.0946, 0.3753},
44833 {0.3395, 0.1427, 0.0839, 0.4338},
44834 {0.2237, 0.1601, 0.1223, 0.4939}},
44835 {
44836 {0.4549, 0.1126, 0.0713, 0.3612},
44837 {0.3856, 0.1719, 0.0964, 0.3460},
44838 {0.3713, 0.1309, 0.0945, 0.4034},
44839 {0.2267, 0.1613, 0.1257, 0.4863}},
44840 {
44841 {0.4566, 0.1096, 0.0644, 0.3693},
44842 {0.3567, 0.2025, 0.0877, 0.3531},
44843 {0.3945, 0.1322, 0.0731, 0.4003},
44844 {0.2283, 0.1739, 0.1044, 0.4934}},
44845 {
44846 {0.4850, 0.1251, 0.0518, 0.3381},
44847 {0.4316, 0.1739, 0.0781, 0.3164},
44848 {0.4172, 0.1265, 0.0770, 0.3794},
44849 {0.2634, 0.1658, 0.1044, 0.4664}},
44850 {
44851 {0.4971, 0.1084, 0.0433, 0.3512},
44852 {0.4828, 0.1372, 0.0868, 0.2933},
44853 {0.4970, 0.1104, 0.0767, 0.3159},
44854 {0.2745, 0.1269, 0.1045, 0.4942}},
44855 {
44856 {0.5141, 0.0754, 0.0428, 0.3676},
44857 {0.5002, 0.0901, 0.0788, 0.3309},
44858 {0.4552, 0.0769, 0.0855, 0.3825},
44859 {0.3185, 0.0843, 0.0947, 0.5024}},
44860 {
44861 {0.3806, 0.0773, 0.0369, 0.5052},
44862 {0.3958, 0.0792, 0.0767, 0.4483},
44863 {0.2517, 0.0803, 0.0795, 0.5885},
44864 {0.2072, 0.0913, 0.0913, 0.6102}},
44865 {
44866 {0.0972, 0.0352, 0.0142, 0.8534},
44867 {0.0891, 0.0367, 0.0450, 0.8292},
44868 {0.0492, 0.0328, 0.0213, 0.8968},
44869 {0.0407, 0.0305, 0.0214, 0.9074}},
44870 {
44871 {0.0299, 0.0308, 0.0042, 0.9351},
44872 {0.0172, 0.0337, 0.0135, 0.9356},
44873 {0.0141, 0.0189, 0.0179, 0.9491},
44874 {0.0051, 0.0139, 0.0046, 0.9763}},
44875 {
44876 {0.3058, 0.0826, 0.0523, 0.5592},
44877 {0.1898, 0.1147, 0.0777, 0.6178},
44878 {0.2046, 0.1660, 0.0811, 0.5483},
44879 {0.0838, 0.1618, 0.0793, 0.6752}},
44880 {
44881 {0.0812, 0.7541, 0.0055, 0.1592},
44882 {0.0361, 0.8411, 0.0077, 0.1150},
44883 {0.0716, 0.7581, 0.0099, 0.1604},
44884 {0.0239, 0.8278, 0.0091, 0.1392}},
44885 {
44886 {1.0000, 0.0000, 0.0000, 0.0000},
44887 {1.0000, 0.0000, 0.0000, 0.0000},
44888 {1.0000, 0.0000, 0.0000, 0.0000},
44889 {1.0000, 0.0000, 0.0000, 0.0000}},
44890 {
44891 {0.0000, 0.0000, 1.0000, 0.0000},
44892 {0.0000, 0.0000, 0.0000, 0.0000},
44893 {0.0000, 0.0000, 0.0000, 0.0000},
44894 {0.0000, 0.0000, 0.0000, 0.0000}},
44895 {
44896 {0.0000, 0.0000, 0.0000, 0.0000},
44897 {0.0000, 0.0000, 0.0000, 0.0000},
44898 {0.5296, 0.1469, 0.1724, 0.1511},
44899 {0.0000, 0.0000, 0.0000, 0.0000}},
44900 {
44901 {0.3447, 0.1428, 0.2157, 0.2968},
44902 {0.3086, 0.1755, 0.2249, 0.2909},
44903 {0.2675, 0.2186, 0.1698, 0.3442},
44904 {0.1936, 0.1731, 0.3370, 0.2963}},
44905 {
44906 {0.4005, 0.1869, 0.1257, 0.2869},
44907 {0.3429, 0.2105, 0.1599, 0.2866},
44908 {0.4109, 0.2092, 0.1552, 0.2247},
44909 {0.2385, 0.2089, 0.1716, 0.3810}},
44910 {
44911 {0.3221, 0.2780, 0.0971, 0.3028},
44912 {0.3582, 0.2138, 0.1373, 0.2907},
44913 {0.2519, 0.2700, 0.1679, 0.3102},
44914 {0.1613, 0.3098, 0.2090, 0.3200}},
44915 {
44916 {0.4022, 0.1826, 0.1965, 0.2187},
44917 {0.2951, 0.2156, 0.2630, 0.2263},
44918 {0.3405, 0.2104, 0.2323, 0.2168},
44919 {0.1642, 0.3092, 0.3031, 0.2234}},
44920 {
44921 {0.3619, 0.2209, 0.0832, 0.3340},
44922 {0.2808, 0.2072, 0.2130, 0.2990},
44923 {0.3889, 0.2142, 0.1760, 0.2209},
44924 {0.1675, 0.2926, 0.1699, 0.3700}},
44925 {
44926 {0.3544, 0.2746, 0.1138, 0.2572},
44927 {0.3443, 0.2629, 0.1143, 0.2785},
44928 {0.2970, 0.2840, 0.1155, 0.3035},
44929 {0.1587, 0.3363, 0.2078, 0.2972}},
44930 {
44931 {0.3873, 0.1936, 0.2034, 0.2157},
44932 {0.2981, 0.2044, 0.2834, 0.2141},
44933 {0.3488, 0.2116, 0.2261, 0.2135},
44934 {0.1609, 0.2838, 0.3346, 0.2207}},
44935 {
44936 {0.3656, 0.2097, 0.1070, 0.3177},
44937 {0.2997, 0.2051, 0.1944, 0.3008},
44938 {0.4046, 0.2218, 0.1542, 0.2194},
44939 {0.1582, 0.3232, 0.1647, 0.3539}},
44940 {
44941 {0.3539, 0.2543, 0.1439, 0.2479},
44942 {0.3733, 0.2096, 0.1538, 0.2632},
44943 {0.3047, 0.2551, 0.1324, 0.3078},
44944 {0.1537, 0.3038, 0.2525, 0.2900}},
44945 {
44946 {0.3751, 0.1789, 0.2337, 0.2123},
44947 {0.3144, 0.1885, 0.2809, 0.2162},
44948 {0.3383, 0.2254, 0.2388, 0.1975},
44949 {0.1656, 0.2972, 0.3269, 0.2103}},
44950 {
44951 {0.3902, 0.2046, 0.1212, 0.2841},
44952 {0.2714, 0.2206, 0.2047, 0.3033},
44953 {0.4173, 0.2059, 0.1683, 0.2085},
44954 {0.1564, 0.3483, 0.1600, 0.3353}},
44955 {
44956 {0.3631, 0.2331, 0.1394, 0.2643},
44957 {0.3951, 0.1877, 0.1443, 0.2729},
44958 {0.3178, 0.2111, 0.1535, 0.3176},
44959 {0.1561, 0.2895, 0.2317, 0.3228}},
44960 {
44961 {0.3792, 0.1718, 0.2198, 0.2292},
44962 {0.3304, 0.2039, 0.2632, 0.2025},
44963 {0.3346, 0.2197, 0.2444, 0.2014},
44964 {0.1535, 0.2854, 0.3240, 0.2371}},
44965 {
44966 {0.4030, 0.1930, 0.1141, 0.2900},
44967 {0.2837, 0.2226, 0.1977, 0.2960},
44968 {0.3923, 0.2178, 0.1684, 0.2215},
44969 {0.1578, 0.3199, 0.1440, 0.3783}},
44970 {
44971 {0.3620, 0.2251, 0.1472, 0.2657},
44972 {0.3824, 0.1888, 0.1524, 0.2764},
44973 {0.3138, 0.2332, 0.1350, 0.3180},
44974 {0.1454, 0.2774, 0.2517, 0.3255}},
44975 {
44976 {0.3598, 0.1683, 0.2521, 0.2198},
44977 {0.3085, 0.1871, 0.2773, 0.2271},
44978 {0.3272, 0.2049, 0.2640, 0.2039},
44979 {0.1591, 0.2746, 0.3449, 0.2214}},
44980 {
44981 {0.3677, 0.2108, 0.1175, 0.3040},
44982 {0.2764, 0.2223, 0.2005, 0.3008},
44983 {0.3880, 0.1987, 0.1692, 0.2441},
44984 {0.1600, 0.3109, 0.1705, 0.3586}},
44985 {
44986 {0.3340, 0.2445, 0.1506, 0.2710},
44987 {0.3765, 0.2050, 0.1397, 0.2788},
44988 {0.3131, 0.2272, 0.1210, 0.3386},
44989 {0.1428, 0.2936, 0.2450, 0.3186}},
44990 {
44991 {0.3585, 0.1800, 0.2338, 0.2277},
44992 {0.3384, 0.1703, 0.2661, 0.2252},
44993 {0.3142, 0.1892, 0.2696, 0.2269},
44994 {0.1638, 0.2802, 0.3383, 0.2177}},
44995 {
44996 {0.3811, 0.2166, 0.1125, 0.2898},
44997 {0.2973, 0.2212, 0.2063, 0.2752},
44998 {0.3987, 0.2183, 0.1636, 0.2193},
44999 {0.1692, 0.3395, 0.1591, 0.3323}},
45000 {
45001 {0.3302, 0.2385, 0.1527, 0.2787},
45002 {0.3913, 0.1882, 0.1509, 0.2696},
45003 {0.3196, 0.2125, 0.1295, 0.3384},
45004 {0.1545, 0.2879, 0.2366, 0.3209}},
45005 {
45006 {0.3414, 0.1757, 0.2490, 0.2338},
45007 {0.3381, 0.1955, 0.2550, 0.2114},
45008 {0.3338, 0.2090, 0.2695, 0.1877},
45009 {0.1642, 0.2851, 0.3372, 0.2136}},
45010 {
45011 {0.3935, 0.1972, 0.1122, 0.2972},
45012 {0.2845, 0.2188, 0.2014, 0.2952},
45013 {0.3999, 0.2103, 0.1765, 0.2132},
45014 {0.1746, 0.2809, 0.1613, 0.3832}},
45015 {
45016 {0.3288, 0.2254, 0.1602, 0.2856},
45017 {0.3777, 0.1803, 0.1482, 0.2938},
45018 {0.3268, 0.2060, 0.1537, 0.3135},
45019 {0.1378, 0.2683, 0.2575, 0.3363}},
45020 {
45021 {0.3385, 0.1730, 0.2477, 0.2408},
45022 {0.3254, 0.1688, 0.2717, 0.2341},
45023 {0.3500, 0.1979, 0.2471, 0.2049},
45024 {0.1651, 0.2769, 0.3270, 0.2309}},
45025 {
45026 {0.3865, 0.1938, 0.1107, 0.3089},
45027 {0.2869, 0.2114, 0.1856, 0.3161},
45028 {0.3838, 0.2214, 0.1795, 0.2153},
45029 {0.1800, 0.2937, 0.1575, 0.3688}},
45030 {
45031 {0.3370, 0.2183, 0.1495, 0.2952},
45032 {0.3881, 0.1863, 0.1451, 0.2804},
45033 {0.3324, 0.2292, 0.1503, 0.2881},
45034 {0.1460, 0.2792, 0.2388, 0.3359}},
45035 {
45036 {0.3574, 0.1685, 0.2327, 0.2414},
45037 {0.3492, 0.1743, 0.2682, 0.2083},
45038 {0.3471, 0.2055, 0.2449, 0.2025},
45039 {0.1603, 0.2619, 0.3327, 0.2450}},
45040 {
45041 {0.3730, 0.1987, 0.1231, 0.3052},
45042 {0.2919, 0.2106, 0.1875, 0.3101},
45043 {0.4182, 0.1990, 0.1631, 0.2198},
45044 {0.1517, 0.2528, 0.1706, 0.4249}},
45045 {
45046 {0.3159, 0.2266, 0.1591, 0.2985},
45047 {0.4028, 0.1668, 0.1583, 0.2721},
45048 {0.3002, 0.2203, 0.1410, 0.3384},
45049 {0.1420, 0.2597, 0.2438, 0.3545}},
45050 {
45051 {0.3486, 0.1847, 0.2512, 0.2155},
45052 {0.3638, 0.1855, 0.2514, 0.1993},
45053 {0.3331, 0.2100, 0.2602, 0.1967},
45054 {0.1794, 0.2733, 0.3411, 0.2061}},
45055 {
45056 {0.3861, 0.1934, 0.1145, 0.3061},
45057 {0.2764, 0.2175, 0.2109, 0.2952},
45058 {0.3839, 0.2183, 0.1788, 0.2189},
45059 {0.1442, 0.3084, 0.1678, 0.3796}},
45060 {
45061 {0.3368, 0.2132, 0.1682, 0.2818},
45062 {0.3948, 0.1847, 0.1455, 0.2750},
45063 {0.3238, 0.2058, 0.1582, 0.3122},
45064 {0.1474, 0.2793, 0.2394, 0.3339}},
45065 {
45066 {0.3487, 0.1930, 0.2422, 0.2161},
45067 {0.3493, 0.1817, 0.2690, 0.1999},
45068 {0.3393, 0.2122, 0.2528, 0.1957},
45069 {0.1760, 0.2667, 0.3473, 0.2101}},
45070 {
45071 {0.3615, 0.2016, 0.1245, 0.3123},
45072 {0.2802, 0.2249, 0.2052, 0.2896},
45073 {0.3893, 0.2042, 0.1806, 0.2258},
45074 {0.1680, 0.2964, 0.1698, 0.3657}},
45075 {
45076 {0.3234, 0.2187, 0.1670, 0.2909},
45077 {0.3950, 0.1791, 0.1515, 0.2744},
45078 {0.3171, 0.2023, 0.1659, 0.3147},
45079 {0.1568, 0.2608, 0.2377, 0.3447}},
45080 {
45081 {0.3456, 0.1833, 0.2505, 0.2205},
45082 {0.3420, 0.1783, 0.2619, 0.2178},
45083 {0.3384, 0.2119, 0.2592, 0.1905},
45084 {0.1664, 0.2703, 0.3475, 0.2158}},
45085 {
45086 {0.3670, 0.2025, 0.1153, 0.3152},
45087 {0.2884, 0.2037, 0.1802, 0.3277},
45088 {0.3787, 0.2084, 0.1771, 0.2358},
45089 {0.1567, 0.2885, 0.1649, 0.3900}},
45090 {
45091 {0.3265, 0.2059, 0.1731, 0.2945},
45092 {0.3740, 0.1827, 0.1559, 0.2875},
45093 {0.3435, 0.1954, 0.1451, 0.3160},
45094 {0.1533, 0.2771, 0.2275, 0.3421}},
45095 {
45096 {0.3366, 0.1820, 0.2654, 0.2160},
45097 {0.3558, 0.1735, 0.2794, 0.1912},
45098 {0.3232, 0.2102, 0.2630, 0.2037},
45099 {0.1646, 0.2685, 0.3563, 0.2105}},
45100 {
45101 {0.3710, 0.1920, 0.1175, 0.3195},
45102 {0.2896, 0.2315, 0.1682, 0.3106},
45103 {0.3650, 0.2077, 0.1822, 0.2451},
45104 {0.1670, 0.3057, 0.1576, 0.3696}},
45105 {
45106 {0.3164, 0.2195, 0.1753, 0.2888},
45107 {0.3931, 0.1751, 0.1538, 0.2780},
45108 {0.3340, 0.2285, 0.1444, 0.2930},
45109 {0.1498, 0.2559, 0.2502, 0.3441}},
45110 {
45111 {0.3590, 0.1788, 0.2429, 0.2193},
45112 {0.3396, 0.1711, 0.2716, 0.2177},
45113 {0.3432, 0.1964, 0.2605, 0.1998},
45114 {0.1647, 0.2751, 0.3389, 0.2212}},
45115 {
45116 {0.3762, 0.1964, 0.1151, 0.3123},
45117 {0.2948, 0.2137, 0.1739, 0.3177},
45118 {0.3903, 0.2148, 0.1774, 0.2175},
45119 {0.1645, 0.2882, 0.1605, 0.3868}},
45120 {
45121 {0.3258, 0.1943, 0.1810, 0.2988},
45122 {0.3623, 0.1814, 0.1558, 0.3005},
45123 {0.3224, 0.2082, 0.1658, 0.3036},
45124 {0.1354, 0.2562, 0.2352, 0.3733}},
45125 {
45126 {0.3511, 0.1807, 0.2412, 0.2270},
45127 {0.3467, 0.1695, 0.2662, 0.2176},
45128 {0.3328, 0.1954, 0.2696, 0.2022},
45129 {0.1685, 0.2560, 0.3384, 0.2371}},
45130 {
45131 {0.3605, 0.1971, 0.1251, 0.3173},
45132 {0.2874, 0.2253, 0.1837, 0.3037},
45133 {0.3698, 0.2162, 0.1772, 0.2368},
45134 {0.1711, 0.2917, 0.1521, 0.3851}},
45135 {
45136 {0.3200, 0.2107, 0.1763, 0.2930},
45137 {0.3954, 0.1686, 0.1563, 0.2797},
45138 {0.3555, 0.1966, 0.1473, 0.3006},
45139 {0.1408, 0.2614, 0.2447, 0.3531}},
45140 {
45141 {0.3707, 0.1680, 0.2412, 0.2201},
45142 {0.3577, 0.1606, 0.2771, 0.2046},
45143 {0.3429, 0.1744, 0.2810, 0.2017},
45144 {0.1761, 0.2502, 0.3393, 0.2344}}},
45145
45146 { /* Splice_Site: F1_AG; Species: Elegn */
45147 {
45148 {0.2849, 0.2849, 0.2849, 0.2849},
45149 {0.2080, 0.2080, 0.2080, 0.2080},
45150 {0.2194, 0.2194, 0.2194, 0.2194},
45151 {0.2877, 0.2877, 0.2877, 0.2877}},
45152 {
45153 {0.3735, 0.1751, 0.2322, 0.2192},
45154 {0.3524, 0.1967, 0.2469, 0.2039},
45155 {0.3705, 0.2146, 0.2526, 0.1624},
45156 {0.1848, 0.2676, 0.2913, 0.2563}},
45157 {
45158 {0.3956, 0.1821, 0.1422, 0.2801},
45159 {0.3510, 0.2087, 0.1411, 0.2992},
45160 {0.4334, 0.2001, 0.1529, 0.2136},
45161 {0.1324, 0.2980, 0.1380, 0.4317}},
45162 {
45163 {0.3174, 0.1802, 0.2325, 0.2699},
45164 {0.3736, 0.1790, 0.1776, 0.2698},
45165 {0.3257, 0.2225, 0.1762, 0.2755},
45166 {0.1395, 0.2565, 0.2605, 0.3434}},
45167 {
45168 {0.3654, 0.1917, 0.2283, 0.2146},
45169 {0.3587, 0.1966, 0.2563, 0.1883},
45170 {0.3569, 0.2035, 0.2706, 0.1689},
45171 {0.1744, 0.2720, 0.2941, 0.2596}},
45172 {
45173 {0.3868, 0.1784, 0.1491, 0.2856},
45174 {0.3437, 0.2075, 0.1513, 0.2975},
45175 {0.4250, 0.1993, 0.1578, 0.2180},
45176 {0.1225, 0.2986, 0.1379, 0.4410}},
45177 {
45178 {0.3187, 0.1832, 0.2430, 0.2550},
45179 {0.3640, 0.1717, 0.1931, 0.2712},
45180 {0.3494, 0.2004, 0.1716, 0.2785},
45181 {0.1434, 0.2558, 0.2601, 0.3407}},
45182 {
45183 {0.3694, 0.1809, 0.2452, 0.2045},
45184 {0.3586, 0.1885, 0.2458, 0.2072},
45185 {0.3664, 0.2022, 0.2732, 0.1582},
45186 {0.1891, 0.2632, 0.3069, 0.2409}},
45187 {
45188 {0.3874, 0.1795, 0.1541, 0.2790},
45189 {0.3483, 0.2192, 0.1445, 0.2880},
45190 {0.4219, 0.2083, 0.1586, 0.2113},
45191 {0.1317, 0.3073, 0.1461, 0.4149}},
45192 {
45193 {0.3239, 0.1826, 0.2417, 0.2518},
45194 {0.3505, 0.1856, 0.1917, 0.2723},
45195 {0.3450, 0.2046, 0.1708, 0.2796},
45196 {0.1397, 0.2690, 0.2593, 0.3319}},
45197 {
45198 {0.3539, 0.1811, 0.2487, 0.2163},
45199 {0.3416, 0.1879, 0.2641, 0.2064},
45200 {0.3664, 0.2056, 0.2670, 0.1609},
45201 {0.1824, 0.2649, 0.3087, 0.2439}},
45202 {
45203 {0.3763, 0.1930, 0.1497, 0.2810},
45204 {0.3505, 0.2223, 0.1474, 0.2798},
45205 {0.4207, 0.2002, 0.1581, 0.2210},
45206 {0.1358, 0.3038, 0.1447, 0.4157}},
45207 {
45208 {0.3156, 0.1873, 0.2392, 0.2579},
45209 {0.3499, 0.1814, 0.1885, 0.2803},
45210 {0.3486, 0.2023, 0.1824, 0.2667},
45211 {0.1357, 0.2524, 0.2539, 0.3580}},
45212 {
45213 {0.3550, 0.1839, 0.2610, 0.2001},
45214 {0.3566, 0.1985, 0.2508, 0.1942},
45215 {0.3819, 0.2053, 0.2548, 0.1580},
45216 {0.1883, 0.2631, 0.3126, 0.2360}},
45217 {
45218 {0.3983, 0.1844, 0.1419, 0.2753},
45219 {0.3548, 0.2226, 0.1441, 0.2786},
45220 {0.4245, 0.2042, 0.1520, 0.2193},
45221 {0.1263, 0.3130, 0.1351, 0.4255}},
45222 {
45223 {0.3267, 0.1676, 0.2500, 0.2557},
45224 {0.3809, 0.1792, 0.1794, 0.2605},
45225 {0.3469, 0.1993, 0.1794, 0.2743},
45226 {0.1330, 0.2746, 0.2643, 0.3280}},
45227 {
45228 {0.3739, 0.1703, 0.2538, 0.2020},
45229 {0.3502, 0.2004, 0.2589, 0.1905},
45230 {0.3712, 0.1971, 0.2778, 0.1539},
45231 {0.1762, 0.2621, 0.3296, 0.2321}},
45232 {
45233 {0.3924, 0.1745, 0.1391, 0.2940},
45234 {0.3509, 0.2144, 0.1495, 0.2853},
45235 {0.4373, 0.2020, 0.1557, 0.2050},
45236 {0.1321, 0.2963, 0.1468, 0.4247}},
45237 {
45238 {0.3262, 0.1772, 0.2410, 0.2556},
45239 {0.3635, 0.1781, 0.1900, 0.2684},
45240 {0.3524, 0.1954, 0.1781, 0.2741},
45241 {0.1340, 0.2599, 0.2832, 0.3229}},
45242 {
45243 {0.3485, 0.1868, 0.2615, 0.2033},
45244 {0.3389, 0.2055, 0.2651, 0.1905},
45245 {0.3756, 0.2033, 0.2679, 0.1532},
45246 {0.1743, 0.2642, 0.3272, 0.2343}},
45247 {
45248 {0.3808, 0.1840, 0.1447, 0.2905},
45249 {0.3661, 0.2091, 0.1452, 0.2797},
45250 {0.4229, 0.2131, 0.1602, 0.2038},
45251 {0.1403, 0.3035, 0.1512, 0.4050}},
45252 {
45253 {0.3129, 0.1737, 0.2561, 0.2573},
45254 {0.3571, 0.1822, 0.1978, 0.2629},
45255 {0.3469, 0.1828, 0.1927, 0.2775},
45256 {0.1282, 0.2726, 0.2815, 0.3178}},
45257 {
45258 {0.3573, 0.1803, 0.2581, 0.2043},
45259 {0.3490, 0.2041, 0.2514, 0.1955},
45260 {0.3614, 0.2091, 0.2656, 0.1640},
45261 {0.1827, 0.2577, 0.3217, 0.2379}},
45262 {
45263 {0.3942, 0.1810, 0.1481, 0.2766},
45264 {0.3595, 0.2028, 0.1552, 0.2825},
45265 {0.4390, 0.2024, 0.1482, 0.2104},
45266 {0.1325, 0.2975, 0.1506, 0.4194}},
45267 {
45268 {0.3182, 0.1704, 0.2546, 0.2568},
45269 {0.3472, 0.1751, 0.1928, 0.2848},
45270 {0.3362, 0.2021, 0.1716, 0.2901},
45271 {0.1274, 0.2732, 0.2727, 0.3267}},
45272 {
45273 {0.3544, 0.1821, 0.2545, 0.2090},
45274 {0.3543, 0.1953, 0.2460, 0.2044},
45275 {0.3557, 0.1975, 0.2818, 0.1650},
45276 {0.1727, 0.2689, 0.3244, 0.2340}},
45277 {
45278 {0.4053, 0.1682, 0.1532, 0.2733},
45279 {0.3549, 0.2233, 0.1485, 0.2732},
45280 {0.4333, 0.2031, 0.1559, 0.2077},
45281 {0.1262, 0.3112, 0.1527, 0.4100}},
45282 {
45283 {0.3317, 0.1745, 0.2474, 0.2463},
45284 {0.3643, 0.1826, 0.1959, 0.2571},
45285 {0.3518, 0.1950, 0.1930, 0.2602},
45286 {0.1293, 0.2559, 0.2904, 0.3244}},
45287 {
45288 {0.3613, 0.1796, 0.2573, 0.2018},
45289 {0.3473, 0.1975, 0.2710, 0.1842},
45290 {0.3748, 0.1909, 0.2771, 0.1573},
45291 {0.1798, 0.2709, 0.3304, 0.2190}},
45292 {
45293 {0.4021, 0.1745, 0.1533, 0.2701},
45294 {0.3697, 0.2089, 0.1512, 0.2702},
45295 {0.4475, 0.2003, 0.1493, 0.2030},
45296 {0.1344, 0.3271, 0.1422, 0.3963}},
45297 {
45298 {0.3129, 0.1823, 0.2577, 0.2471},
45299 {0.3540, 0.1780, 0.1974, 0.2706},
45300 {0.3678, 0.1872, 0.1915, 0.2535},
45301 {0.1324, 0.2667, 0.2842, 0.3167}},
45302 {
45303 {0.3487, 0.1897, 0.2579, 0.2036},
45304 {0.3549, 0.1855, 0.2774, 0.1823},
45305 {0.3689, 0.1998, 0.2716, 0.1597},
45306 {0.1780, 0.2635, 0.3344, 0.2241}},
45307 {
45308 {0.3870, 0.1770, 0.1521, 0.2840},
45309 {0.3513, 0.2149, 0.1477, 0.2861},
45310 {0.4331, 0.2051, 0.1540, 0.2078},
45311 {0.1409, 0.2911, 0.1573, 0.4108}},
45312 {
45313 {0.3211, 0.1629, 0.2580, 0.2580},
45314 {0.3717, 0.1662, 0.1874, 0.2747},
45315 {0.3636, 0.1843, 0.1868, 0.2654},
45316 {0.1231, 0.2586, 0.3060, 0.3123}},
45317 {
45318 {0.3617, 0.1774, 0.2594, 0.2014},
45319 {0.3685, 0.1865, 0.2658, 0.1793},
45320 {0.3825, 0.1961, 0.2743, 0.1471},
45321 {0.1821, 0.2554, 0.3378, 0.2247}},
45322 {
45323 {0.3936, 0.1775, 0.1428, 0.2861},
45324 {0.3519, 0.2205, 0.1502, 0.2774},
45325 {0.4507, 0.1857, 0.1505, 0.2131},
45326 {0.1375, 0.2771, 0.1614, 0.4240}},
45327 {
45328 {0.3162, 0.1762, 0.2579, 0.2497},
45329 {0.3590, 0.1709, 0.1957, 0.2743},
45330 {0.3452, 0.2011, 0.1873, 0.2664},
45331 {0.1244, 0.2527, 0.2995, 0.3233}},
45332 {
45333 {0.3533, 0.1809, 0.2662, 0.1996},
45334 {0.3545, 0.2015, 0.2571, 0.1869},
45335 {0.3829, 0.1853, 0.2702, 0.1616},
45336 {0.1789, 0.2592, 0.3352, 0.2267}},
45337 {
45338 {0.4110, 0.1681, 0.1523, 0.2687},
45339 {0.3710, 0.2099, 0.1598, 0.2592},
45340 {0.4644, 0.1843, 0.1467, 0.2045},
45341 {0.1372, 0.2926, 0.1489, 0.4214}},
45342 {
45343 {0.3089, 0.1724, 0.2716, 0.2471},
45344 {0.3577, 0.1746, 0.2013, 0.2664},
45345 {0.3397, 0.1979, 0.2071, 0.2553},
45346 {0.1265, 0.2547, 0.3174, 0.3015}},
45347 {
45348 {0.3525, 0.1871, 0.2780, 0.1824},
45349 {0.3611, 0.2004, 0.2673, 0.1711},
45350 {0.3621, 0.2118, 0.2761, 0.1500},
45351 {0.1693, 0.2671, 0.3626, 0.2009}},
45352 {
45353 {0.4056, 0.1759, 0.1512, 0.2673},
45354 {0.3855, 0.2031, 0.1524, 0.2591},
45355 {0.4707, 0.1813, 0.1462, 0.2017},
45356 {0.1334, 0.3100, 0.1534, 0.4032}},
45357 {
45358 {0.3201, 0.1698, 0.2686, 0.2415},
45359 {0.3638, 0.1707, 0.2044, 0.2611},
45360 {0.3442, 0.1974, 0.1932, 0.2652},
45361 {0.1325, 0.2461, 0.3126, 0.3089}},
45362 {
45363 {0.3472, 0.1920, 0.2685, 0.1923},
45364 {0.3612, 0.1916, 0.2604, 0.1868},
45365 {0.3558, 0.2038, 0.2751, 0.1653},
45366 {0.1773, 0.2573, 0.3510, 0.2144}},
45367 {
45368 {0.3840, 0.1727, 0.1519, 0.2914},
45369 {0.3438, 0.2021, 0.1506, 0.3036},
45370 {0.4368, 0.1927, 0.1451, 0.2253},
45371 {0.1443, 0.2832, 0.1768, 0.3956}},
45372 {
45373 {0.2887, 0.1874, 0.2647, 0.2592},
45374 {0.3202, 0.1901, 0.1867, 0.3030},
45375 {0.3229, 0.2096, 0.2005, 0.2670},
45376 {0.1168, 0.2780, 0.2876, 0.3176}},
45377 {
45378 {0.3432, 0.1840, 0.2611, 0.2117},
45379 {0.3347, 0.1988, 0.2820, 0.1844},
45380 {0.3645, 0.2063, 0.2579, 0.1713},
45381 {0.1812, 0.2483, 0.3637, 0.2068}},
45382 {
45383 {0.4324, 0.1542, 0.1386, 0.2748},
45384 {0.3930, 0.1957, 0.1496, 0.2617},
45385 {0.4706, 0.1889, 0.1399, 0.2005},
45386 {0.1475, 0.2775, 0.1660, 0.4090}},
45387 {
45388 {0.2850, 0.2075, 0.2997, 0.2079},
45389 {0.3336, 0.2234, 0.2563, 0.1866},
45390 {0.3481, 0.2298, 0.2429, 0.1792},
45391 {0.1048, 0.3144, 0.3623, 0.2185}},
45392 {
45393 {0.4621, 0.2049, 0.3329, 0.0000},
45394 {0.4457, 0.2379, 0.3163, 0.0000},
45395 {0.4870, 0.1745, 0.3385, 0.0000},
45396 {0.2003, 0.3691, 0.4306, 0.0000}},
45397 {
45398 {1.0000, 0.0000, 0.0000, 0.0000},
45399 {1.0000, 0.0000, 0.0000, 0.0000},
45400 {1.0000, 0.0000, 0.0000, 0.0000},
45401 {1.0000, 0.0000, 0.0000, 0.0000}},
45402 {
45403 {0.0000, 0.0000, 1.0000, 0.0000},
45404 {0.0000, 0.0000, 0.0000, 0.0000},
45405 {0.0000, 0.0000, 0.0000, 0.0000},
45406 {0.0000, 0.0000, 0.0000, 0.0000}},
45407 {
45408 {0.0000, 0.0000, 0.0000, 0.0000},
45409 {0.0000, 0.0000, 0.0000, 0.0000},
45410 {0.3563, 0.2403, 0.2281, 0.1753},
45411 {0.0000, 0.0000, 0.0000, 0.0000}},
45412 {
45413 {0.4891, 0.1457, 0.1413, 0.2239},
45414 {0.3504, 0.2151, 0.1037, 0.3308},
45415 {0.5423, 0.1655, 0.1101, 0.1821},
45416 {0.1687, 0.2323, 0.1417, 0.4573}},
45417 {
45418 {0.3095, 0.1728, 0.2768, 0.2409},
45419 {0.3642, 0.1518, 0.2271, 0.2569},
45420 {0.3460, 0.2068, 0.1835, 0.2637},
45421 {0.1210, 0.2580, 0.2997, 0.3214}},
45422 {
45423 {0.3490, 0.1906, 0.2563, 0.2041},
45424 {0.3726, 0.2001, 0.2321, 0.1952},
45425 {0.3822, 0.2031, 0.2586, 0.1561},
45426 {0.2062, 0.2629, 0.3191, 0.2119}},
45427 {
45428 {0.3833, 0.1785, 0.1478, 0.2905},
45429 {0.3346, 0.2167, 0.1507, 0.2979},
45430 {0.4143, 0.1946, 0.1566, 0.2346},
45431 {0.1383, 0.2761, 0.1638, 0.4218}},
45432 {
45433 {0.3033, 0.1784, 0.2787, 0.2396},
45434 {0.3513, 0.1701, 0.2136, 0.2650},
45435 {0.3355, 0.1983, 0.1905, 0.2757},
45436 {0.1255, 0.2542, 0.3134, 0.3070}},
45437 {
45438 {0.3618, 0.1868, 0.2564, 0.1950},
45439 {0.3381, 0.1971, 0.2839, 0.1809},
45440 {0.3815, 0.1960, 0.2708, 0.1517},
45441 {0.1769, 0.2617, 0.3558, 0.2057}},
45442 {
45443 {0.4012, 0.1696, 0.1621, 0.2671},
45444 {0.3596, 0.2115, 0.1534, 0.2755},
45445 {0.4465, 0.1861, 0.1418, 0.2257},
45446 {0.1519, 0.2894, 0.1492, 0.4095}},
45447 {
45448 {0.3141, 0.1567, 0.2758, 0.2534},
45449 {0.3644, 0.1716, 0.2083, 0.2557},
45450 {0.3436, 0.1965, 0.1927, 0.2672},
45451 {0.1329, 0.2523, 0.3162, 0.2986}},
45452 {
45453 {0.3572, 0.1729, 0.2777, 0.1922},
45454 {0.3513, 0.1908, 0.2741, 0.1838},
45455 {0.3819, 0.1866, 0.2814, 0.1500},
45456 {0.1781, 0.2667, 0.3553, 0.1999}},
45457 {
45458 {0.4107, 0.1697, 0.1589, 0.2608},
45459 {0.3722, 0.2005, 0.1681, 0.2591},
45460 {0.4602, 0.1744, 0.1501, 0.2153},
45461 {0.1252, 0.2874, 0.1612, 0.4262}},
45462 {
45463 {0.3150, 0.1601, 0.2865, 0.2384},
45464 {0.3585, 0.1653, 0.2084, 0.2678},
45465 {0.3587, 0.1814, 0.2024, 0.2574},
45466 {0.1312, 0.2557, 0.3035, 0.3096}},
45467 {
45468 {0.3599, 0.1771, 0.2662, 0.1969},
45469 {0.3393, 0.1925, 0.2703, 0.1978},
45470 {0.3695, 0.2127, 0.2591, 0.1587},
45471 {0.1791, 0.2572, 0.3346, 0.2291}},
45472 {
45473 {0.4033, 0.1665, 0.1556, 0.2746},
45474 {0.3507, 0.2092, 0.1575, 0.2825},
45475 {0.4368, 0.1889, 0.1582, 0.2162},
45476 {0.1348, 0.2747, 0.1549, 0.4356}},
45477 {
45478 {0.3095, 0.1635, 0.2689, 0.2582},
45479 {0.3431, 0.1688, 0.2138, 0.2744},
45480 {0.3633, 0.1769, 0.1902, 0.2696},
45481 {0.1345, 0.2439, 0.3008, 0.3208}},
45482 {
45483 {0.3580, 0.1703, 0.2709, 0.2008},
45484 {0.3586, 0.1889, 0.2633, 0.1892},
45485 {0.3753, 0.1939, 0.2669, 0.1639},
45486 {0.1754, 0.2484, 0.3437, 0.2325}},
45487 {
45488 {0.3932, 0.1765, 0.1587, 0.2717},
45489 {0.3571, 0.2105, 0.1601, 0.2723},
45490 {0.4381, 0.1995, 0.1428, 0.2196},
45491 {0.1364, 0.2788, 0.1583, 0.4266}},
45492 {
45493 {0.3050, 0.1642, 0.2717, 0.2591},
45494 {0.3460, 0.1573, 0.2175, 0.2792},
45495 {0.3319, 0.1935, 0.2051, 0.2695},
45496 {0.1358, 0.2502, 0.3129, 0.3011}},
45497 {
45498 {0.3577, 0.1753, 0.2703, 0.1967},
45499 {0.3621, 0.1931, 0.2671, 0.1776},
45500 {0.3658, 0.1854, 0.2919, 0.1569},
45501 {0.1857, 0.2481, 0.3552, 0.2110}},
45502 {
45503 {0.3968, 0.1805, 0.1685, 0.2542},
45504 {0.3539, 0.2148, 0.1634, 0.2678},
45505 {0.4465, 0.1867, 0.1515, 0.2153},
45506 {0.1355, 0.2919, 0.1671, 0.4054}},
45507 {
45508 {0.3092, 0.1706, 0.2554, 0.2648},
45509 {0.3675, 0.1650, 0.2068, 0.2607},
45510 {0.3360, 0.1919, 0.1989, 0.2732},
45511 {0.1448, 0.2457, 0.2800, 0.3295}},
45512 {
45513 {0.3553, 0.1853, 0.2664, 0.1930},
45514 {0.3523, 0.1978, 0.2558, 0.1941},
45515 {0.3742, 0.2020, 0.2577, 0.1661},
45516 {0.1968, 0.2486, 0.3347, 0.2199}},
45517 {
45518 {0.3965, 0.1726, 0.1575, 0.2734},
45519 {0.3443, 0.2143, 0.1511, 0.2903},
45520 {0.4254, 0.1958, 0.1603, 0.2184},
45521 {0.1500, 0.2695, 0.1626, 0.4179}},
45522 {
45523 {0.3211, 0.1705, 0.2559, 0.2525},
45524 {0.3456, 0.1663, 0.2041, 0.2840},
45525 {0.3481, 0.1885, 0.1892, 0.2742},
45526 {0.1390, 0.2403, 0.2891, 0.3316}},
45527 {
45528 {0.3512, 0.1870, 0.2576, 0.2043},
45529 {0.3630, 0.1886, 0.2552, 0.1932},
45530 {0.3859, 0.1895, 0.2568, 0.1679},
45531 {0.1913, 0.2486, 0.3330, 0.2271}},
45532 {
45533 {0.4105, 0.1710, 0.1523, 0.2661},
45534 {0.3379, 0.2146, 0.1524, 0.2950},
45535 {0.4256, 0.1840, 0.1553, 0.2352},
45536 {0.1304, 0.2751, 0.1478, 0.4467}},
45537 {
45538 {0.3108, 0.1590, 0.2588, 0.2714},
45539 {0.3637, 0.1613, 0.2058, 0.2692},
45540 {0.3508, 0.1844, 0.1982, 0.2665},
45541 {0.1341, 0.2511, 0.2902, 0.3246}},
45542 {
45543 {0.3555, 0.1822, 0.2589, 0.2033},
45544 {0.3564, 0.1934, 0.2601, 0.1901},
45545 {0.3656, 0.1938, 0.2889, 0.1517},
45546 {0.1872, 0.2386, 0.3443, 0.2299}},
45547 {
45548 {0.3998, 0.1740, 0.1488, 0.2774},
45549 {0.3572, 0.2051, 0.1577, 0.2801},
45550 {0.4333, 0.1857, 0.1639, 0.2170},
45551 {0.1401, 0.2731, 0.1526, 0.4343}},
45552 {
45553 {0.3189, 0.1613, 0.2579, 0.2618},
45554 {0.3473, 0.1657, 0.2118, 0.2751},
45555 {0.3535, 0.1736, 0.1966, 0.2762},
45556 {0.1499, 0.2308, 0.2894, 0.3298}},
45557 {
45558 {0.3478, 0.1767, 0.2702, 0.2054},
45559 {0.3440, 0.1930, 0.2715, 0.1915},
45560 {0.3728, 0.1957, 0.2669, 0.1646},
45561 {0.2029, 0.2380, 0.3334, 0.2257}},
45562 {
45563 {0.3893, 0.1724, 0.1655, 0.2727},
45564 {0.3608, 0.2183, 0.1520, 0.2690},
45565 {0.4297, 0.1926, 0.1577, 0.2201},
45566 {0.1356, 0.2897, 0.1462, 0.4285}},
45567 {
45568 {0.3141, 0.1664, 0.2638, 0.2556},
45569 {0.3508, 0.1710, 0.2069, 0.2713},
45570 {0.3314, 0.1763, 0.2009, 0.2914},
45571 {0.1458, 0.2371, 0.2744, 0.3427}},
45572 {
45573 {0.3491, 0.1893, 0.2590, 0.2027},
45574 {0.3628, 0.1865, 0.2545, 0.1962},
45575 {0.3654, 0.2009, 0.2755, 0.1582},
45576 {0.1945, 0.2550, 0.3268, 0.2237}},
45577 {
45578 {0.3943, 0.1702, 0.1619, 0.2736},
45579 {0.3606, 0.2129, 0.1448, 0.2817},
45580 {0.4268, 0.1861, 0.1610, 0.2262},
45581 {0.1522, 0.2703, 0.1534, 0.4241}},
45582 {
45583 {0.3114, 0.1631, 0.2529, 0.2727},
45584 {0.3511, 0.1673, 0.2024, 0.2792},
45585 {0.3358, 0.1843, 0.1967, 0.2832},
45586 {0.1418, 0.2308, 0.2758, 0.3517}},
45587 {
45588 {0.3569, 0.1896, 0.2486, 0.2049},
45589 {0.3530, 0.1880, 0.2559, 0.2030},
45590 {0.3728, 0.1935, 0.2719, 0.1618},
45591 {0.1953, 0.2423, 0.3219, 0.2405}},
45592 {
45593 {0.3937, 0.1696, 0.1538, 0.2830},
45594 {0.3582, 0.2188, 0.1411, 0.2820},
45595 {0.4219, 0.1842, 0.1599, 0.2341},
45596 {0.1329, 0.2755, 0.1559, 0.4357}},
45597 {
45598 {0.3254, 0.1649, 0.2474, 0.2623},
45599 {0.3522, 0.1693, 0.1995, 0.2790},
45600 {0.3403, 0.1829, 0.1996, 0.2771},
45601 {0.1496, 0.2234, 0.2851, 0.3419}},
45602 {
45603 {0.3669, 0.1836, 0.2505, 0.1990},
45604 {0.3636, 0.1888, 0.2546, 0.1930},
45605 {0.3758, 0.1840, 0.2710, 0.1692},
45606 {0.2020, 0.2377, 0.3231, 0.2372}},
45607 {
45608 {0.3938, 0.1761, 0.1590, 0.2710},
45609 {0.3731, 0.2149, 0.1453, 0.2668},
45610 {0.4195, 0.1914, 0.1594, 0.2297},
45611 {0.1272, 0.2774, 0.1466, 0.4488}},
45612 {
45613 {0.3053, 0.1622, 0.2590, 0.2735},
45614 {0.3592, 0.1605, 0.1966, 0.2837},
45615 {0.3507, 0.1860, 0.1829, 0.2804},
45616 {0.1484, 0.2291, 0.2709, 0.3516}},
45617 {
45618 {0.3510, 0.1852, 0.2691, 0.1947},
45619 {0.3614, 0.2091, 0.2469, 0.1826},
45620 {0.3668, 0.1949, 0.2718, 0.1666},
45621 {0.1935, 0.2472, 0.3240, 0.2353}},
45622 {
45623 {0.3934, 0.1689, 0.1603, 0.2774},
45624 {0.3542, 0.2177, 0.1507, 0.2774},
45625 {0.4168, 0.1907, 0.1701, 0.2225},
45626 {0.1377, 0.2739, 0.1429, 0.4455}},
45627 {
45628 {0.3191, 0.1592, 0.2528, 0.2689},
45629 {0.3432, 0.1663, 0.2000, 0.2904},
45630 {0.3461, 0.1677, 0.1990, 0.2872},
45631 {0.1455, 0.2285, 0.2726, 0.3534}},
45632 {
45633 {0.3658, 0.1723, 0.2540, 0.2079},
45634 {0.3571, 0.1919, 0.2493, 0.2017},
45635 {0.3751, 0.1868, 0.2788, 0.1593},
45636 {0.2047, 0.2320, 0.3083, 0.2549}},
45637 {
45638 {0.3972, 0.1693, 0.1625, 0.2709},
45639 {0.3686, 0.1993, 0.1544, 0.2778},
45640 {0.4312, 0.1797, 0.1707, 0.2184},
45641 {0.1370, 0.2653, 0.1400, 0.4577}},
45642 {
45643 {0.3187, 0.1636, 0.2492, 0.2684},
45644 {0.3543, 0.1597, 0.1949, 0.2911},
45645 {0.3386, 0.1750, 0.1981, 0.2884},
45646 {0.1560, 0.2244, 0.2664, 0.3532}},
45647 {
45648 {0.3617, 0.1755, 0.2451, 0.2177},
45649 {0.3519, 0.1843, 0.2536, 0.2103},
45650 {0.3702, 0.1791, 0.2642, 0.1865},
45651 {0.1875, 0.2245, 0.3170, 0.2710}},
45652 {
45653 {0.4014, 0.1619, 0.1606, 0.2762},
45654 {0.3583, 0.2183, 0.1523, 0.2712},
45655 {0.4210, 0.1789, 0.1645, 0.2356},
45656 {0.1650, 0.2412, 0.1683, 0.4255}}},
45657
45658 { /* Splice_Site: F2_AG; Species: Elegn */
45659 {
45660 {0.3167, 0.3167, 0.3167, 0.3167},
45661 {0.2111, 0.2111, 0.2111, 0.2111},
45662 {0.1918, 0.1918, 0.1918, 0.1918},
45663 {0.2804, 0.2804, 0.2804, 0.2804}},
45664 {
45665 {0.3534, 0.1754, 0.1676, 0.3035},
45666 {0.3869, 0.1924, 0.1444, 0.2763},
45667 {0.3594, 0.2045, 0.1826, 0.2535},
45668 {0.1576, 0.2330, 0.2003, 0.4092}},
45669 {
45670 {0.3567, 0.1749, 0.2337, 0.2347},
45671 {0.4043, 0.1785, 0.1977, 0.2195},
45672 {0.3792, 0.1938, 0.2249, 0.2021},
45673 {0.1749, 0.2558, 0.2969, 0.2724}},
45674 {
45675 {0.3618, 0.1876, 0.1878, 0.2629},
45676 {0.3314, 0.2124, 0.1986, 0.2576},
45677 {0.3973, 0.2078, 0.1919, 0.2030},
45678 {0.1322, 0.2844, 0.1759, 0.4074}},
45679 {
45680 {0.3301, 0.1891, 0.1604, 0.3205},
45681 {0.3619, 0.2011, 0.1386, 0.2983},
45682 {0.3199, 0.2219, 0.1880, 0.2702},
45683 {0.1562, 0.2599, 0.1954, 0.3885}},
45684 {
45685 {0.3516, 0.1958, 0.2380, 0.2146},
45686 {0.3926, 0.1759, 0.2105, 0.2210},
45687 {0.3869, 0.1955, 0.2245, 0.1931},
45688 {0.1791, 0.2544, 0.2856, 0.2808}},
45689 {
45690 {0.3715, 0.1743, 0.1841, 0.2702},
45691 {0.3310, 0.2166, 0.1995, 0.2529},
45692 {0.3843, 0.2081, 0.1995, 0.2081},
45693 {0.1230, 0.3076, 0.1704, 0.3990}},
45694 {
45695 {0.3466, 0.1794, 0.1698, 0.3043},
45696 {0.3756, 0.1870, 0.1523, 0.2851},
45697 {0.3230, 0.2042, 0.2086, 0.2642},
45698 {0.1715, 0.2391, 0.1972, 0.3922}},
45699 {
45700 {0.3460, 0.1867, 0.2378, 0.2295},
45701 {0.4007, 0.1961, 0.1868, 0.2164},
45702 {0.3966, 0.1901, 0.2221, 0.1912},
45703 {0.1785, 0.2634, 0.2843, 0.2739}},
45704 {
45705 {0.3765, 0.1791, 0.1877, 0.2567},
45706 {0.3423, 0.2053, 0.1966, 0.2558},
45707 {0.3945, 0.2022, 0.1998, 0.2035},
45708 {0.1428, 0.2880, 0.1852, 0.3840}},
45709 {
45710 {0.3312, 0.2008, 0.1671, 0.3010},
45711 {0.3729, 0.1855, 0.1492, 0.2924},
45712 {0.3159, 0.2311, 0.1829, 0.2701},
45713 {0.1478, 0.2598, 0.1994, 0.3930}},
45714 {
45715 {0.3515, 0.1880, 0.2388, 0.2218},
45716 {0.3864, 0.1744, 0.2155, 0.2238},
45717 {0.3909, 0.1961, 0.2197, 0.1933},
45718 {0.1751, 0.2555, 0.2973, 0.2721}},
45719 {
45720 {0.3643, 0.1842, 0.1881, 0.2633},
45721 {0.3569, 0.2092, 0.1949, 0.2390},
45722 {0.3894, 0.2114, 0.1976, 0.2017},
45723 {0.1397, 0.3084, 0.1873, 0.3646}},
45724 {
45725 {0.3385, 0.1887, 0.1566, 0.3162},
45726 {0.3798, 0.1947, 0.1487, 0.2768},
45727 {0.3130, 0.2228, 0.1912, 0.2731},
45728 {0.1652, 0.2347, 0.2045, 0.3956}},
45729 {
45730 {0.3586, 0.1831, 0.2359, 0.2224},
45731 {0.3908, 0.1795, 0.2137, 0.2161},
45732 {0.3773, 0.2116, 0.2175, 0.1937},
45733 {0.1703, 0.2489, 0.3037, 0.2771}},
45734 {
45735 {0.3521, 0.1977, 0.1906, 0.2596},
45736 {0.3236, 0.2244, 0.1980, 0.2540},
45737 {0.3925, 0.2033, 0.1907, 0.2135},
45738 {0.1328, 0.2985, 0.1946, 0.3741}},
45739 {
45740 {0.3441, 0.1904, 0.1555, 0.3099},
45741 {0.3766, 0.1829, 0.1337, 0.3068},
45742 {0.3024, 0.2137, 0.2100, 0.2738},
45743 {0.1521, 0.2600, 0.1912, 0.3967}},
45744 {
45745 {0.3579, 0.1790, 0.2410, 0.2221},
45746 {0.3845, 0.1724, 0.2038, 0.2393},
45747 {0.3940, 0.2035, 0.2129, 0.1897},
45748 {0.1664, 0.2671, 0.2970, 0.2695}},
45749 {
45750 {0.3654, 0.1930, 0.1808, 0.2608},
45751 {0.3307, 0.2288, 0.1930, 0.2475},
45752 {0.3875, 0.2066, 0.1905, 0.2154},
45753 {0.1417, 0.3053, 0.1794, 0.3736}},
45754 {
45755 {0.3325, 0.1929, 0.1743, 0.3003},
45756 {0.3628, 0.2056, 0.1549, 0.2767},
45757 {0.3348, 0.2159, 0.1906, 0.2587},
45758 {0.1484, 0.2508, 0.2184, 0.3824}},
45759 {
45760 {0.3500, 0.1731, 0.2457, 0.2312},
45761 {0.4015, 0.1742, 0.1992, 0.2250},
45762 {0.3541, 0.2034, 0.2291, 0.2134},
45763 {0.1812, 0.2452, 0.2974, 0.2762}},
45764 {
45765 {0.3674, 0.1961, 0.1884, 0.2480},
45766 {0.3471, 0.2051, 0.2092, 0.2386},
45767 {0.4018, 0.2037, 0.1980, 0.1965},
45768 {0.1368, 0.3116, 0.1848, 0.3668}},
45769 {
45770 {0.3457, 0.1869, 0.1643, 0.3030},
45771 {0.3882, 0.2008, 0.1495, 0.2615},
45772 {0.3050, 0.2269, 0.2011, 0.2671},
45773 {0.1635, 0.2384, 0.2197, 0.3784}},
45774 {
45775 {0.3603, 0.1865, 0.2384, 0.2148},
45776 {0.3823, 0.1798, 0.2124, 0.2255},
45777 {0.3933, 0.1972, 0.2219, 0.1876},
45778 {0.1763, 0.2486, 0.3089, 0.2662}},
45779 {
45780 {0.3644, 0.1756, 0.1937, 0.2662},
45781 {0.3378, 0.2151, 0.2000, 0.2471},
45782 {0.3918, 0.2111, 0.1925, 0.2045},
45783 {0.1369, 0.2985, 0.1902, 0.3743}},
45784 {
45785 {0.3393, 0.1747, 0.1757, 0.3103},
45786 {0.3645, 0.2039, 0.1427, 0.2889},
45787 {0.3027, 0.2192, 0.2154, 0.2627},
45788 {0.1434, 0.2666, 0.2035, 0.3864}},
45789 {
45790 {0.3654, 0.1713, 0.2488, 0.2145},
45791 {0.3835, 0.1791, 0.2096, 0.2278},
45792 {0.3944, 0.2032, 0.2137, 0.1887},
45793 {0.1658, 0.2638, 0.3066, 0.2638}},
45794 {
45795 {0.3599, 0.2021, 0.1785, 0.2595},
45796 {0.3582, 0.2225, 0.2054, 0.2139},
45797 {0.3949, 0.1970, 0.2039, 0.2042},
45798 {0.1364, 0.3084, 0.1823, 0.3729}},
45799 {
45800 {0.3499, 0.1780, 0.1632, 0.3089},
45801 {0.3798, 0.2012, 0.1472, 0.2718},
45802 {0.3440, 0.2139, 0.1877, 0.2544},
45803 {0.1451, 0.2587, 0.2209, 0.3753}},
45804 {
45805 {0.3586, 0.1773, 0.2479, 0.2162},
45806 {0.3920, 0.1759, 0.2230, 0.2091},
45807 {0.3936, 0.1781, 0.2318, 0.1965},
45808 {0.1706, 0.2591, 0.3178, 0.2526}},
45809 {
45810 {0.3643, 0.1841, 0.1946, 0.2569},
45811 {0.3202, 0.2171, 0.2169, 0.2458},
45812 {0.4076, 0.1957, 0.1951, 0.2016},
45813 {0.1412, 0.3191, 0.1851, 0.3546}},
45814 {
45815 {0.3414, 0.1921, 0.1656, 0.3009},
45816 {0.3533, 0.1986, 0.1646, 0.2834},
45817 {0.3324, 0.2047, 0.2001, 0.2629},
45818 {0.1526, 0.2482, 0.2110, 0.3883}},
45819 {
45820 {0.3549, 0.1824, 0.2470, 0.2157},
45821 {0.3863, 0.1760, 0.2270, 0.2107},
45822 {0.4031, 0.1920, 0.2134, 0.1915},
45823 {0.1760, 0.2627, 0.3150, 0.2464}},
45824 {
45825 {0.3531, 0.1951, 0.2043, 0.2475},
45826 {0.3476, 0.2056, 0.2063, 0.2405},
45827 {0.3907, 0.2031, 0.2035, 0.2027},
45828 {0.1230, 0.3032, 0.2144, 0.3594}},
45829 {
45830 {0.3267, 0.1711, 0.1787, 0.3234},
45831 {0.3663, 0.1911, 0.1632, 0.2795},
45832 {0.3202, 0.2121, 0.2171, 0.2507},
45833 {0.1517, 0.2381, 0.2352, 0.3750}},
45834 {
45835 {0.3527, 0.1691, 0.2610, 0.2172},
45836 {0.3928, 0.1714, 0.2273, 0.2085},
45837 {0.3982, 0.1824, 0.2216, 0.1978},
45838 {0.1759, 0.2464, 0.3227, 0.2550}},
45839 {
45840 {0.3652, 0.1847, 0.2055, 0.2447},
45841 {0.3330, 0.2025, 0.2144, 0.2501},
45842 {0.3988, 0.1999, 0.1982, 0.2030},
45843 {0.1333, 0.3027, 0.2071, 0.3569}},
45844 {
45845 {0.3255, 0.1847, 0.1738, 0.3160},
45846 {0.3669, 0.2003, 0.1553, 0.2776},
45847 {0.3218, 0.2230, 0.1948, 0.2604},
45848 {0.1421, 0.2499, 0.2254, 0.3826}},
45849 {
45850 {0.3601, 0.1779, 0.2573, 0.2046},
45851 {0.3855, 0.1760, 0.2193, 0.2192},
45852 {0.3702, 0.1924, 0.2319, 0.2055},
45853 {0.1651, 0.2443, 0.3401, 0.2505}},
45854 {
45855 {0.3569, 0.1927, 0.2119, 0.2385},
45856 {0.3349, 0.2173, 0.2134, 0.2345},
45857 {0.3890, 0.2082, 0.1979, 0.2049},
45858 {0.1307, 0.3209, 0.2061, 0.3424}},
45859 {
45860 {0.3477, 0.1826, 0.1747, 0.2949},
45861 {0.3694, 0.2034, 0.1600, 0.2672},
45862 {0.3281, 0.2174, 0.2082, 0.2463},
45863 {0.1466, 0.2545, 0.2482, 0.3507}},
45864 {
45865 {0.3504, 0.1851, 0.2578, 0.2067},
45866 {0.4106, 0.1721, 0.2043, 0.2130},
45867 {0.3924, 0.1623, 0.2549, 0.1904},
45868 {0.1803, 0.2388, 0.3312, 0.2496}},
45869 {
45870 {0.3662, 0.1820, 0.2170, 0.2348},
45871 {0.3258, 0.2048, 0.2292, 0.2403},
45872 {0.4183, 0.1935, 0.1945, 0.1937},
45873 {0.1412, 0.3153, 0.2172, 0.3263}},
45874 {
45875 {0.3412, 0.1852, 0.1677, 0.3059},
45876 {0.3656, 0.2135, 0.1422, 0.2788},
45877 {0.3166, 0.2157, 0.2122, 0.2555},
45878 {0.1491, 0.2308, 0.2422, 0.3779}},
45879 {
45880 {0.3433, 0.1835, 0.2460, 0.2272},
45881 {0.3782, 0.1644, 0.2276, 0.2299},
45882 {0.3943, 0.2004, 0.1968, 0.2085},
45883 {0.1732, 0.2560, 0.3225, 0.2483}},
45884 {
45885 {0.3349, 0.1987, 0.1979, 0.2684},
45886 {0.3223, 0.2288, 0.2041, 0.2449},
45887 {0.3794, 0.2206, 0.1811, 0.2189},
45888 {0.1356, 0.3260, 0.1946, 0.3438}},
45889 {
45890 {0.3115, 0.1848, 0.1931, 0.3106},
45891 {0.3444, 0.1899, 0.1817, 0.2840},
45892 {0.3090, 0.2202, 0.2067, 0.2641},
45893 {0.1252, 0.2441, 0.2551, 0.3756}},
45894 {
45895 {0.3779, 0.1732, 0.2384, 0.2106},
45896 {0.3995, 0.1516, 0.2069, 0.2420},
45897 {0.4140, 0.1893, 0.2113, 0.1854},
45898 {0.1668, 0.2548, 0.3451, 0.2334}},
45899 {
45900 {0.3343, 0.2046, 0.2536, 0.2074},
45901 {0.3202, 0.2580, 0.2523, 0.1695},
45902 {0.3845, 0.2155, 0.2507, 0.1494},
45903 {0.1170, 0.3704, 0.2528, 0.2598}},
45904 {
45905 {0.3855, 0.2252, 0.2039, 0.1853},
45906 {0.3997, 0.2875, 0.1769, 0.1360},
45907 {0.3773, 0.1994, 0.2853, 0.1380},
45908 {0.1035, 0.3937, 0.2990, 0.2037}},
45909 {
45910 {1.0000, 0.0000, 0.0000, 0.0000},
45911 {1.0000, 0.0000, 0.0000, 0.0000},
45912 {1.0000, 0.0000, 0.0000, 0.0000},
45913 {1.0000, 0.0000, 0.0000, 0.0000}},
45914 {
45915 {0.0000, 0.0000, 1.0000, 0.0000},
45916 {0.0000, 0.0000, 0.0000, 0.0000},
45917 {0.0000, 0.0000, 0.0000, 0.0000},
45918 {0.0000, 0.0000, 0.0000, 0.0000}},
45919 {
45920 {0.0000, 0.0000, 0.0000, 0.0000},
45921 {0.0000, 0.0000, 0.0000, 0.0000},
45922 {0.3676, 0.2160, 0.1241, 0.2922},
45923 {0.0000, 0.0000, 0.0000, 0.0000}},
45924 {
45925 {0.3880, 0.1419, 0.2532, 0.2169},
45926 {0.3541, 0.2006, 0.1648, 0.2805},
45927 {0.5214, 0.1766, 0.1375, 0.1645},
45928 {0.2057, 0.2113, 0.3259, 0.2571}},
45929 {
45930 {0.3431, 0.1916, 0.2233, 0.2419},
45931 {0.3200, 0.1931, 0.2340, 0.2528},
45932 {0.3892, 0.2058, 0.2087, 0.1962},
45933 {0.1501, 0.3147, 0.2105, 0.3247}},
45934 {
45935 {0.3217, 0.1918, 0.1627, 0.3238},
45936 {0.3467, 0.2083, 0.1388, 0.3061},
45937 {0.3096, 0.2109, 0.1860, 0.2936},
45938 {0.1535, 0.2481, 0.2175, 0.3809}},
45939 {
45940 {0.3174, 0.1976, 0.2599, 0.2252},
45941 {0.3744, 0.1863, 0.2026, 0.2367},
45942 {0.3642, 0.1924, 0.2259, 0.2174},
45943 {0.1671, 0.2701, 0.3156, 0.2472}},
45944 {
45945 {0.3415, 0.1903, 0.2185, 0.2496},
45946 {0.3222, 0.2051, 0.2364, 0.2363},
45947 {0.3745, 0.2215, 0.2034, 0.2007},
45948 {0.1367, 0.3257, 0.2128, 0.3248}},
45949 {
45950 {0.3261, 0.1968, 0.1766, 0.3006},
45951 {0.3440, 0.1989, 0.1822, 0.2749},
45952 {0.3133, 0.2062, 0.2102, 0.2703},
45953 {0.1495, 0.2549, 0.2527, 0.3428}},
45954 {
45955 {0.3499, 0.1816, 0.2652, 0.2034},
45956 {0.3819, 0.1698, 0.2232, 0.2251},
45957 {0.3888, 0.1857, 0.2306, 0.1950},
45958 {0.1821, 0.2467, 0.3401, 0.2311}},
45959 {
45960 {0.3653, 0.1808, 0.2210, 0.2328},
45961 {0.3380, 0.2186, 0.2122, 0.2311},
45962 {0.3980, 0.1963, 0.2071, 0.1985},
45963 {0.1358, 0.3235, 0.2121, 0.3286}},
45964 {
45965 {0.3365, 0.1697, 0.1857, 0.3081},
45966 {0.3730, 0.1854, 0.1602, 0.2814},
45967 {0.3213, 0.1940, 0.2225, 0.2622},
45968 {0.1545, 0.2418, 0.2310, 0.3727}},
45969 {
45970 {0.3532, 0.1730, 0.2645, 0.2092},
45971 {0.4013, 0.1554, 0.2316, 0.2117},
45972 {0.3966, 0.1878, 0.2238, 0.1918},
45973 {0.1824, 0.2549, 0.3125, 0.2502}},
45974 {
45975 {0.3516, 0.1917, 0.2065, 0.2501},
45976 {0.3387, 0.2224, 0.1957, 0.2432},
45977 {0.3979, 0.1963, 0.2006, 0.2053},
45978 {0.1290, 0.3061, 0.2231, 0.3418}},
45979 {
45980 {0.3350, 0.1750, 0.1801, 0.3099},
45981 {0.3573, 0.2033, 0.1640, 0.2754},
45982 {0.3288, 0.2095, 0.1908, 0.2709},
45983 {0.1582, 0.2309, 0.2319, 0.3790}},
45984 {
45985 {0.3391, 0.1778, 0.2615, 0.2215},
45986 {0.3782, 0.1637, 0.2283, 0.2299},
45987 {0.3714, 0.1916, 0.2472, 0.1898},
45988 {0.1808, 0.2463, 0.3068, 0.2661}},
45989 {
45990 {0.3702, 0.1779, 0.2038, 0.2480},
45991 {0.3246, 0.2084, 0.2244, 0.2427},
45992 {0.4008, 0.2029, 0.2089, 0.1874},
45993 {0.1388, 0.3039, 0.2082, 0.3491}},
45994 {
45995 {0.3291, 0.1719, 0.1755, 0.3235},
45996 {0.3638, 0.2012, 0.1549, 0.2801},
45997 {0.3192, 0.2055, 0.2066, 0.2687},
45998 {0.1531, 0.2346, 0.2291, 0.3831}},
45999 {
46000 {0.3450, 0.1838, 0.2635, 0.2078},
46001 {0.3940, 0.1632, 0.2222, 0.2206},
46002 {0.4055, 0.1713, 0.2261, 0.1971},
46003 {0.1835, 0.2494, 0.3242, 0.2429}},
46004 {
46005 {0.3526, 0.1915, 0.2055, 0.2504},
46006 {0.3280, 0.2075, 0.2249, 0.2396},
46007 {0.3897, 0.1998, 0.2034, 0.2071},
46008 {0.1524, 0.3062, 0.2110, 0.3305}},
46009 {
46010 {0.3325, 0.1790, 0.1748, 0.3136},
46011 {0.3764, 0.1965, 0.1481, 0.2790},
46012 {0.3100, 0.2098, 0.2113, 0.2689},
46013 {0.1499, 0.2438, 0.2298, 0.3765}},
46014 {
46015 {0.3530, 0.1868, 0.2525, 0.2077},
46016 {0.4044, 0.1650, 0.2232, 0.2074},
46017 {0.3877, 0.1869, 0.2367, 0.1887},
46018 {0.1771, 0.2351, 0.3410, 0.2467}},
46019 {
46020 {0.3515, 0.1914, 0.2151, 0.2421},
46021 {0.3305, 0.2180, 0.2120, 0.2395},
46022 {0.3837, 0.2017, 0.1995, 0.2150},
46023 {0.1406, 0.3033, 0.2149, 0.3412}},
46024 {
46025 {0.3345, 0.1776, 0.1793, 0.3086},
46026 {0.3687, 0.2000, 0.1612, 0.2701},
46027 {0.3252, 0.2090, 0.1953, 0.2705},
46028 {0.1475, 0.2471, 0.2192, 0.3862}},
46029 {
46030 {0.3396, 0.1864, 0.2597, 0.2143},
46031 {0.3898, 0.1611, 0.2224, 0.2267},
46032 {0.3715, 0.1857, 0.2297, 0.2131},
46033 {0.1748, 0.2246, 0.3332, 0.2674}},
46034 {
46035 {0.3588, 0.1870, 0.2012, 0.2530},
46036 {0.3270, 0.2210, 0.2001, 0.2519},
46037 {0.3989, 0.2024, 0.1955, 0.2032},
46038 {0.1313, 0.3036, 0.2183, 0.3468}},
46039 {
46040 {0.3329, 0.1712, 0.1847, 0.3111},
46041 {0.3636, 0.1970, 0.1537, 0.2856},
46042 {0.2969, 0.2117, 0.2165, 0.2749},
46043 {0.1519, 0.2389, 0.2305, 0.3787}},
46044 {
46045 {0.3585, 0.1784, 0.2417, 0.2215},
46046 {0.3939, 0.1685, 0.2038, 0.2338},
46047 {0.3958, 0.1839, 0.2175, 0.2029},
46048 {0.1855, 0.2433, 0.3007, 0.2705}},
46049 {
46050 {0.3653, 0.1910, 0.1937, 0.2500},
46051 {0.3415, 0.2254, 0.1978, 0.2353},
46052 {0.3818, 0.1924, 0.2117, 0.2142},
46053 {0.1377, 0.2937, 0.2022, 0.3663}},
46054 {
46055 {0.3380, 0.1571, 0.1826, 0.3223},
46056 {0.3734, 0.1862, 0.1584, 0.2820},
46057 {0.3174, 0.1872, 0.2232, 0.2722},
46058 {0.1611, 0.2348, 0.2146, 0.3895}},
46059 {
46060 {0.3528, 0.1706, 0.2567, 0.2200},
46061 {0.3935, 0.1672, 0.2184, 0.2210},
46062 {0.4032, 0.1720, 0.2324, 0.1924},
46063 {0.1715, 0.2294, 0.3226, 0.2765}},
46064 {
46065 {0.3578, 0.1815, 0.2069, 0.2538},
46066 {0.3308, 0.2205, 0.1971, 0.2516},
46067 {0.3765, 0.1964, 0.2180, 0.2090},
46068 {0.1475, 0.2963, 0.1905, 0.3657}},
46069 {
46070 {0.3347, 0.1790, 0.1705, 0.3158},
46071 {0.3538, 0.1924, 0.1556, 0.2981},
46072 {0.3233, 0.2029, 0.2036, 0.2702},
46073 {0.1543, 0.2289, 0.2294, 0.3874}},
46074 {
46075 {0.3554, 0.1858, 0.2536, 0.2053},
46076 {0.3958, 0.1666, 0.2192, 0.2183},
46077 {0.3839, 0.1822, 0.2358, 0.1981},
46078 {0.1836, 0.2324, 0.3201, 0.2640}},
46079 {
46080 {0.3542, 0.1939, 0.2022, 0.2497},
46081 {0.3446, 0.2075, 0.2125, 0.2354},
46082 {0.3941, 0.1979, 0.2075, 0.2005},
46083 {0.1378, 0.2870, 0.2003, 0.3749}},
46084 {
46085 {0.3427, 0.1752, 0.1787, 0.3034},
46086 {0.3522, 0.2076, 0.1402, 0.2999},
46087 {0.3199, 0.2020, 0.2002, 0.2778},
46088 {0.1731, 0.2243, 0.2187, 0.3839}},
46089 {
46090 {0.3501, 0.1818, 0.2485, 0.2197},
46091 {0.4093, 0.1592, 0.2228, 0.2087},
46092 {0.3843, 0.1722, 0.2435, 0.1999},
46093 {0.1793, 0.2305, 0.3247, 0.2655}},
46094 {
46095 {0.3493, 0.1828, 0.2129, 0.2549},
46096 {0.3447, 0.2151, 0.1981, 0.2420},
46097 {0.3954, 0.1904, 0.1986, 0.2156},
46098 {0.1559, 0.2755, 0.1974, 0.3713}},
46099 {
46100 {0.3268, 0.1750, 0.1720, 0.3262},
46101 {0.3613, 0.1864, 0.1565, 0.2959},
46102 {0.3170, 0.1963, 0.2143, 0.2724},
46103 {0.1649, 0.2186, 0.2311, 0.3854}},
46104 {
46105 {0.3541, 0.1741, 0.2510, 0.2207},
46106 {0.3924, 0.1647, 0.2174, 0.2255},
46107 {0.3859, 0.1734, 0.2305, 0.2101},
46108 {0.1875, 0.2349, 0.2941, 0.2834}},
46109 {
46110 {0.3687, 0.1832, 0.1959, 0.2522},
46111 {0.3311, 0.2165, 0.1949, 0.2575},
46112 {0.3849, 0.2031, 0.1953, 0.2166},
46113 {0.1369, 0.2946, 0.1941, 0.3744}},
46114 {
46115 {0.3412, 0.1698, 0.1748, 0.3143},
46116 {0.3451, 0.1914, 0.1627, 0.3008},
46117 {0.3163, 0.2025, 0.2179, 0.2632},
46118 {0.1618, 0.2185, 0.2293, 0.3903}},
46119 {
46120 {0.3549, 0.1805, 0.2375, 0.2271},
46121 {0.4055, 0.1571, 0.2161, 0.2213},
46122 {0.3812, 0.1752, 0.2374, 0.2062},
46123 {0.1925, 0.2353, 0.3090, 0.2633}},
46124 {
46125 {0.3694, 0.1823, 0.1968, 0.2514},
46126 {0.3283, 0.2152, 0.2117, 0.2448},
46127 {0.3900, 0.1870, 0.2049, 0.2181},
46128 {0.1435, 0.2788, 0.1954, 0.3822}},
46129 {
46130 {0.3272, 0.1679, 0.1638, 0.3411},
46131 {0.3662, 0.1971, 0.1589, 0.2779},
46132 {0.3143, 0.1950, 0.2165, 0.2743},
46133 {0.1659, 0.2182, 0.2203, 0.3957}},
46134 {
46135 {0.3583, 0.1827, 0.2384, 0.2206},
46136 {0.3837, 0.1684, 0.2202, 0.2277},
46137 {0.3810, 0.1744, 0.2442, 0.2004},
46138 {0.1964, 0.2261, 0.2891, 0.2883}},
46139 {
46140 {0.3494, 0.1891, 0.2070, 0.2545},
46141 {0.3388, 0.2146, 0.1993, 0.2473},
46142 {0.3969, 0.2007, 0.1889, 0.2134},
46143 {0.1314, 0.2704, 0.1981, 0.4001}},
46144 {
46145 {0.3322, 0.1752, 0.1771, 0.3155},
46146 {0.3655, 0.1889, 0.1561, 0.2894},
46147 {0.2957, 0.1901, 0.2147, 0.2995},
46148 {0.1590, 0.2229, 0.2112, 0.4069}},
46149 {
46150 {0.3550, 0.1626, 0.2513, 0.2311},
46151 {0.3983, 0.1526, 0.2168, 0.2323},
46152 {0.4107, 0.1652, 0.2315, 0.1927},
46153 {0.1912, 0.2234, 0.3098, 0.2756}},
46154 {
46155 {0.3673, 0.1801, 0.2000, 0.2526},
46156 {0.3484, 0.2222, 0.1923, 0.2371},
46157 {0.3696, 0.1951, 0.1987, 0.2366},
46158 {0.1520, 0.2768, 0.1911, 0.3802}},
46159 {
46160 {0.3163, 0.1668, 0.1816, 0.3352},
46161 {0.3651, 0.2038, 0.1705, 0.2606},
46162 {0.2967, 0.1874, 0.2136, 0.3024},
46163 {0.1568, 0.2224, 0.2245, 0.3962}},
46164 {
46165 {0.3576, 0.1653, 0.2448, 0.2323},
46166 {0.3735, 0.1551, 0.2224, 0.2489},
46167 {0.3756, 0.1583, 0.2403, 0.2258},
46168 {0.1845, 0.2167, 0.2914, 0.3073}}},
46169
46170 { /* Splice_Site: F0_AG; Species: Elegn */
46171 {
46172 {0.3303, 0.3303, 0.3303, 0.3303},
46173 {0.2380, 0.2380, 0.2380, 0.2380},
46174 {0.1899, 0.1899, 0.1899, 0.1899},
46175 {0.2418, 0.2418, 0.2418, 0.2418}},
46176 {
46177 {0.3383, 0.1802, 0.2115, 0.2699},
46178 {0.3491, 0.1854, 0.2038, 0.2617},
46179 {0.3485, 0.1998, 0.1891, 0.2626},
46180 {0.0878, 0.2908, 0.2056, 0.4157}},
46181 {
46182 {0.3448, 0.1782, 0.1961, 0.2809},
46183 {0.3640, 0.1885, 0.2001, 0.2474},
46184 {0.2690, 0.2375, 0.2523, 0.2413},
46185 {0.1775, 0.2405, 0.2450, 0.3370}},
46186 {
46187 {0.3638, 0.2034, 0.2041, 0.2287},
46188 {0.3632, 0.2372, 0.1781, 0.2214},
46189 {0.3991, 0.2217, 0.1912, 0.1880},
46190 {0.1736, 0.2953, 0.1960, 0.3351}},
46191 {
46192 {0.3400, 0.1873, 0.2062, 0.2665},
46193 {0.3544, 0.1946, 0.2036, 0.2474},
46194 {0.3392, 0.1989, 0.1863, 0.2756},
46195 {0.0950, 0.3061, 0.1985, 0.4005}},
46196 {
46197 {0.3429, 0.1922, 0.1926, 0.2723},
46198 {0.3599, 0.2093, 0.1938, 0.2371},
46199 {0.2742, 0.2433, 0.2363, 0.2461},
46200 {0.1868, 0.2522, 0.2609, 0.3001}},
46201 {
46202 {0.3913, 0.1864, 0.1968, 0.2255},
46203 {0.3610, 0.2302, 0.1690, 0.2398},
46204 {0.3990, 0.2180, 0.1912, 0.1918},
46205 {0.1842, 0.2793, 0.1823, 0.3542}},
46206 {
46207 {0.3460, 0.1787, 0.2078, 0.2676},
46208 {0.3682, 0.1863, 0.1877, 0.2577},
46209 {0.3619, 0.1917, 0.1955, 0.2509},
46210 {0.1008, 0.3068, 0.1914, 0.4009}},
46211 {
46212 {0.3374, 0.1863, 0.1906, 0.2857},
46213 {0.3670, 0.2026, 0.2049, 0.2254},
46214 {0.2841, 0.2318, 0.2392, 0.2449},
46215 {0.1796, 0.2561, 0.2544, 0.3099}},
46216 {
46217 {0.3697, 0.1947, 0.2022, 0.2334},
46218 {0.3464, 0.2485, 0.1714, 0.2338},
46219 {0.3934, 0.2315, 0.1957, 0.1794},
46220 {0.1556, 0.2936, 0.1928, 0.3581}},
46221 {
46222 {0.3346, 0.1847, 0.2189, 0.2617},
46223 {0.3564, 0.1819, 0.1924, 0.2692},
46224 {0.3549, 0.2068, 0.1888, 0.2495},
46225 {0.0898, 0.3246, 0.1941, 0.3914}},
46226 {
46227 {0.3445, 0.1904, 0.1964, 0.2687},
46228 {0.3711, 0.2036, 0.1949, 0.2304},
46229 {0.2622, 0.2346, 0.2605, 0.2428},
46230 {0.1813, 0.2525, 0.2436, 0.3227}},
46231 {
46232 {0.3827, 0.2046, 0.1869, 0.2258},
46233 {0.3550, 0.2398, 0.1670, 0.2381},
46234 {0.3973, 0.2202, 0.2018, 0.1806},
46235 {0.1756, 0.2992, 0.1805, 0.3447}},
46236 {
46237 {0.3431, 0.1900, 0.2145, 0.2524},
46238 {0.3699, 0.1724, 0.2000, 0.2577},
46239 {0.3594, 0.1918, 0.1976, 0.2512},
46240 {0.0936, 0.3166, 0.1795, 0.4103}},
46241 {
46242 {0.3370, 0.1894, 0.1932, 0.2803},
46243 {0.3806, 0.1896, 0.2062, 0.2235},
46244 {0.2960, 0.2329, 0.2367, 0.2343},
46245 {0.1859, 0.2572, 0.2498, 0.3071}},
46246 {
46247 {0.3863, 0.1863, 0.1991, 0.2283},
46248 {0.3688, 0.2322, 0.1684, 0.2306},
46249 {0.4124, 0.2279, 0.1842, 0.1754},
46250 {0.1697, 0.3069, 0.1845, 0.3389}},
46251 {
46252 {0.3481, 0.1821, 0.2072, 0.2626},
46253 {0.3675, 0.1893, 0.1940, 0.2492},
46254 {0.3570, 0.2144, 0.1970, 0.2316},
46255 {0.0940, 0.3031, 0.1977, 0.4052}},
46256 {
46257 {0.3433, 0.1990, 0.1774, 0.2803},
46258 {0.3674, 0.2092, 0.1985, 0.2249},
46259 {0.2999, 0.2346, 0.2404, 0.2250},
46260 {0.1741, 0.2646, 0.2410, 0.3203}},
46261 {
46262 {0.3831, 0.2073, 0.1845, 0.2251},
46263 {0.3596, 0.2440, 0.1710, 0.2254},
46264 {0.4083, 0.2141, 0.1896, 0.1880},
46265 {0.1700, 0.3016, 0.1871, 0.3413}},
46266 {
46267 {0.3307, 0.1908, 0.2160, 0.2624},
46268 {0.3538, 0.1832, 0.2151, 0.2479},
46269 {0.3517, 0.2252, 0.1828, 0.2403},
46270 {0.1075, 0.3205, 0.1822, 0.3898}},
46271 {
46272 {0.3505, 0.1922, 0.1842, 0.2731},
46273 {0.3817, 0.2064, 0.1969, 0.2151},
46274 {0.2868, 0.2273, 0.2589, 0.2269},
46275 {0.1849, 0.2473, 0.2697, 0.2980}},
46276 {
46277 {0.3725, 0.1956, 0.2081, 0.2238},
46278 {0.3558, 0.2393, 0.1762, 0.2287},
46279 {0.4037, 0.2183, 0.1957, 0.1822},
46280 {0.1603, 0.3248, 0.1882, 0.3267}},
46281 {
46282 {0.3347, 0.1949, 0.2164, 0.2540},
46283 {0.3594, 0.1780, 0.2016, 0.2610},
46284 {0.3670, 0.2048, 0.1729, 0.2554},
46285 {0.0959, 0.3096, 0.2006, 0.3939}},
46286 {
46287 {0.3455, 0.2000, 0.1787, 0.2758},
46288 {0.3627, 0.2050, 0.1946, 0.2376},
46289 {0.2910, 0.2372, 0.2459, 0.2259},
46290 {0.1833, 0.2558, 0.2595, 0.3014}},
46291 {
46292 {0.3671, 0.2056, 0.2023, 0.2250},
46293 {0.3534, 0.2430, 0.1800, 0.2235},
46294 {0.4105, 0.2234, 0.1754, 0.1908},
46295 {0.1496, 0.3191, 0.1911, 0.3402}},
46296 {
46297 {0.3266, 0.1921, 0.2097, 0.2717},
46298 {0.3579, 0.1896, 0.2007, 0.2518},
46299 {0.3479, 0.2111, 0.1914, 0.2495},
46300 {0.0961, 0.3080, 0.2033, 0.3926}},
46301 {
46302 {0.3532, 0.1906, 0.1830, 0.2732},
46303 {0.3789, 0.2036, 0.2103, 0.2071},
46304 {0.3048, 0.2356, 0.2393, 0.2202},
46305 {0.1725, 0.2561, 0.2612, 0.3102}},
46306 {
46307 {0.3798, 0.1943, 0.2088, 0.2171},
46308 {0.3540, 0.2333, 0.1896, 0.2231},
46309 {0.4227, 0.2140, 0.1788, 0.1845},
46310 {0.1554, 0.3194, 0.1910, 0.3342}},
46311 {
46312 {0.3333, 0.1800, 0.2277, 0.2591},
46313 {0.3551, 0.1764, 0.2070, 0.2614},
46314 {0.3538, 0.1977, 0.2015, 0.2470},
46315 {0.0848, 0.3142, 0.2119, 0.3891}},
46316 {
46317 {0.3526, 0.1863, 0.1877, 0.2734},
46318 {0.3937, 0.2084, 0.2005, 0.1973},
46319 {0.2843, 0.2359, 0.2677, 0.2121},
46320 {0.1790, 0.2572, 0.2858, 0.2780}},
46321 {
46322 {0.3792, 0.1887, 0.2115, 0.2206},
46323 {0.3605, 0.2301, 0.1915, 0.2178},
46324 {0.4172, 0.2121, 0.1962, 0.1746},
46325 {0.1622, 0.3247, 0.1898, 0.3234}},
46326 {
46327 {0.3237, 0.2010, 0.2252, 0.2500},
46328 {0.3648, 0.1839, 0.2044, 0.2469},
46329 {0.3664, 0.2009, 0.1908, 0.2419},
46330 {0.0897, 0.3133, 0.2036, 0.3934}},
46331 {
46332 {0.3664, 0.1823, 0.1860, 0.2653},
46333 {0.3862, 0.1959, 0.1971, 0.2208},
46334 {0.2988, 0.2383, 0.2484, 0.2146},
46335 {0.1837, 0.2478, 0.2695, 0.2990}},
46336 {
46337 {0.3648, 0.1985, 0.1969, 0.2397},
46338 {0.3744, 0.2307, 0.1731, 0.2218},
46339 {0.4006, 0.2287, 0.1827, 0.1880},
46340 {0.1612, 0.3149, 0.2075, 0.3163}},
46341 {
46342 {0.3334, 0.1906, 0.2213, 0.2548},
46343 {0.3696, 0.1787, 0.2072, 0.2445},
46344 {0.3530, 0.2171, 0.1803, 0.2496},
46345 {0.0898, 0.3129, 0.2168, 0.3805}},
46346 {
46347 {0.3594, 0.1889, 0.1869, 0.2648},
46348 {0.3626, 0.2054, 0.2118, 0.2202},
46349 {0.3036, 0.2195, 0.2584, 0.2186},
46350 {0.1905, 0.2458, 0.2818, 0.2820}},
46351 {
46352 {0.3752, 0.2038, 0.1935, 0.2275},
46353 {0.3735, 0.2346, 0.1787, 0.2132},
46354 {0.3971, 0.2196, 0.2002, 0.1831},
46355 {0.1619, 0.3180, 0.1900, 0.3301}},
46356 {
46357 {0.3299, 0.1941, 0.2102, 0.2658},
46358 {0.3592, 0.1736, 0.2184, 0.2489},
46359 {0.3711, 0.1867, 0.2038, 0.2384},
46360 {0.0911, 0.3110, 0.2203, 0.3775}},
46361 {
46362 {0.3624, 0.1887, 0.1888, 0.2601},
46363 {0.3787, 0.1942, 0.2016, 0.2255},
46364 {0.2866, 0.2197, 0.2649, 0.2288},
46365 {0.1791, 0.2672, 0.2781, 0.2756}},
46366 {
46367 {0.3572, 0.1980, 0.2241, 0.2207},
46368 {0.3716, 0.2437, 0.1748, 0.2099},
46369 {0.4243, 0.2054, 0.1915, 0.1788},
46370 {0.1445, 0.3238, 0.2159, 0.3158}},
46371 {
46372 {0.3140, 0.1911, 0.2312, 0.2636},
46373 {0.3675, 0.1933, 0.2129, 0.2264},
46374 {0.3788, 0.1921, 0.2049, 0.2242},
46375 {0.0863, 0.3151, 0.2306, 0.3680}},
46376 {
46377 {0.3563, 0.1997, 0.2036, 0.2403},
46378 {0.3742, 0.1999, 0.2154, 0.2105},
46379 {0.3224, 0.2177, 0.2370, 0.2229},
46380 {0.1738, 0.2716, 0.2735, 0.2811}},
46381 {
46382 {0.3798, 0.1910, 0.2250, 0.2043},
46383 {0.3685, 0.2236, 0.1858, 0.2220},
46384 {0.4196, 0.2079, 0.2036, 0.1689},
46385 {0.1527, 0.3168, 0.2066, 0.3239}},
46386 {
46387 {0.3257, 0.1976, 0.2118, 0.2649},
46388 {0.3609, 0.1758, 0.2083, 0.2551},
46389 {0.3734, 0.2041, 0.1898, 0.2326},
46390 {0.1007, 0.3035, 0.2296, 0.3662}},
46391 {
46392 {0.3514, 0.1908, 0.1805, 0.2774},
46393 {0.3732, 0.1933, 0.1867, 0.2468},
46394 {0.2894, 0.2267, 0.2381, 0.2457},
46395 {0.1740, 0.2432, 0.2872, 0.2956}},
46396 {
46397 {0.3451, 0.2089, 0.2038, 0.2423},
46398 {0.3342, 0.2649, 0.1650, 0.2359},
46399 {0.3771, 0.2281, 0.1837, 0.2110},
46400 {0.1449, 0.3145, 0.2007, 0.3399}},
46401 {
46402 {0.2753, 0.2100, 0.2371, 0.2776},
46403 {0.3415, 0.1753, 0.2362, 0.2470},
46404 {0.3224, 0.1967, 0.2220, 0.2589},
46405 {0.0673, 0.3080, 0.2116, 0.4132}},
46406 {
46407 {0.3600, 0.1822, 0.1921, 0.2658},
46408 {0.4082, 0.1842, 0.2171, 0.1905},
46409 {0.3123, 0.2255, 0.2504, 0.2117},
46410 {0.1439, 0.2212, 0.2735, 0.3614}},
46411 {
46412 {0.3670, 0.2316, 0.2885, 0.1129},
46413 {0.3790, 0.2937, 0.2142, 0.1132},
46414 {0.4157, 0.2276, 0.2587, 0.0981},
46415 {0.1148, 0.3674, 0.2561, 0.2618}},
46416 {
46417 {0.3484, 0.2539, 0.2762, 0.1214},
46418 {0.4031, 0.2425, 0.2623, 0.0921},
46419 {0.4516, 0.2308, 0.2266, 0.0910},
46420 {0.0000, 0.8188, 0.0000, 0.1812}},
46421 {
46422 {1.0000, 0.0000, 0.0000, 0.0000},
46423 {1.0000, 0.0000, 0.0000, 0.0000},
46424 {1.0000, 0.0000, 0.0000, 0.0000},
46425 {1.0000, 0.0000, 0.0000, 0.0000}},
46426 {
46427 {0.0000, 0.0000, 1.0000, 0.0000},
46428 {0.0000, 0.0000, 0.0000, 0.0000},
46429 {0.0000, 0.0000, 0.0000, 0.0000},
46430 {0.0000, 0.0000, 0.0000, 0.0000}},
46431 {
46432 {0.0000, 0.0000, 0.0000, 0.0000},
46433 {0.0000, 0.0000, 0.0000, 0.0000},
46434 {0.3667, 0.2354, 0.1546, 0.2432},
46435 {0.0000, 0.0000, 0.0000, 0.0000}},
46436 {
46437 {0.4088, 0.1795, 0.2026, 0.2092},
46438 {0.3777, 0.2186, 0.1525, 0.2512},
46439 {0.4279, 0.2360, 0.1545, 0.1816},
46440 {0.1941, 0.2100, 0.3133, 0.2826}},
46441 {
46442 {0.3625, 0.1925, 0.2329, 0.2121},
46443 {0.3584, 0.2080, 0.1991, 0.2345},
46444 {0.4001, 0.2101, 0.2151, 0.1747},
46445 {0.1460, 0.3218, 0.2411, 0.2910}},
46446 {
46447 {0.3297, 0.1981, 0.2218, 0.2503},
46448 {0.3672, 0.1952, 0.1751, 0.2624},
46449 {0.3542, 0.2223, 0.1826, 0.2410},
46450 {0.1009, 0.3371, 0.2147, 0.3473}},
46451 {
46452 {0.3419, 0.2034, 0.1770, 0.2777},
46453 {0.3582, 0.2091, 0.1945, 0.2382},
46454 {0.2519, 0.2453, 0.2658, 0.2370},
46455 {0.1758, 0.2484, 0.3017, 0.2741}},
46456 {
46457 {0.3498, 0.2128, 0.2294, 0.2080},
46458 {0.3379, 0.2421, 0.2021, 0.2179},
46459 {0.3917, 0.2152, 0.2050, 0.1880},
46460 {0.1378, 0.3446, 0.2391, 0.2784}},
46461 {
46462 {0.3214, 0.1922, 0.2301, 0.2563},
46463 {0.3520, 0.1783, 0.2241, 0.2456},
46464 {0.3456, 0.2042, 0.2020, 0.2482},
46465 {0.0816, 0.3365, 0.2463, 0.3357}},
46466 {
46467 {0.3624, 0.1985, 0.2019, 0.2372},
46468 {0.3637, 0.1874, 0.2226, 0.2263},
46469 {0.3029, 0.2216, 0.2529, 0.2226},
46470 {0.1840, 0.2658, 0.2907, 0.2595}},
46471 {
46472 {0.3586, 0.2036, 0.2340, 0.2038},
46473 {0.3601, 0.2439, 0.1927, 0.2032},
46474 {0.4158, 0.2072, 0.1861, 0.1909},
46475 {0.1568, 0.3297, 0.2395, 0.2741}},
46476 {
46477 {0.3202, 0.1899, 0.2467, 0.2431},
46478 {0.3914, 0.1617, 0.2250, 0.2219},
46479 {0.3579, 0.1950, 0.2071, 0.2399},
46480 {0.0957, 0.3354, 0.2393, 0.3296}},
46481 {
46482 {0.3468, 0.2025, 0.1980, 0.2526},
46483 {0.3712, 0.2012, 0.2121, 0.2155},
46484 {0.3016, 0.2354, 0.2384, 0.2246},
46485 {0.1734, 0.2710, 0.2912, 0.2644}},
46486 {
46487 {0.3755, 0.1927, 0.2372, 0.1946},
46488 {0.3452, 0.2497, 0.2042, 0.2009},
46489 {0.4033, 0.2026, 0.2039, 0.1901},
46490 {0.1489, 0.3253, 0.2360, 0.2898}},
46491 {
46492 {0.3329, 0.1763, 0.2375, 0.2533},
46493 {0.3470, 0.1620, 0.2414, 0.2496},
46494 {0.3472, 0.2006, 0.2088, 0.2434},
46495 {0.0858, 0.3196, 0.2313, 0.3633}},
46496 {
46497 {0.3458, 0.1903, 0.2123, 0.2516},
46498 {0.3583, 0.1951, 0.2156, 0.2311},
46499 {0.2833, 0.2297, 0.2547, 0.2322},
46500 {0.1837, 0.2383, 0.3034, 0.2745}},
46501 {
46502 {0.3614, 0.1958, 0.2265, 0.2164},
46503 {0.3453, 0.2294, 0.1928, 0.2325},
46504 {0.4086, 0.2156, 0.1981, 0.1777},
46505 {0.1507, 0.3093, 0.2378, 0.3022}},
46506 {
46507 {0.3342, 0.1798, 0.2231, 0.2630},
46508 {0.3486, 0.1748, 0.2297, 0.2469},
46509 {0.3522, 0.1968, 0.2089, 0.2421},
46510 {0.0881, 0.3008, 0.2358, 0.3753}},
46511 {
46512 {0.3384, 0.1997, 0.2029, 0.2590},
46513 {0.3552, 0.2080, 0.2092, 0.2276},
46514 {0.2755, 0.2431, 0.2446, 0.2368},
46515 {0.1769, 0.2597, 0.2871, 0.2762}},
46516 {
46517 {0.3533, 0.2112, 0.2290, 0.2065},
46518 {0.3660, 0.2365, 0.1868, 0.2107},
46519 {0.3969, 0.2150, 0.1947, 0.1934},
46520 {0.1445, 0.3211, 0.2377, 0.2967}},
46521 {
46522 {0.3170, 0.1865, 0.2346, 0.2620},
46523 {0.3666, 0.1759, 0.2095, 0.2479},
46524 {0.3762, 0.1875, 0.1965, 0.2398},
46525 {0.0928, 0.3306, 0.2239, 0.3527}},
46526 {
46527 {0.3359, 0.2057, 0.2082, 0.2503},
46528 {0.3594, 0.1969, 0.2178, 0.2259},
46529 {0.2865, 0.2337, 0.2543, 0.2255},
46530 {0.1855, 0.2486, 0.2902, 0.2758}},
46531 {
46532 {0.3669, 0.2031, 0.2199, 0.2101},
46533 {0.3426, 0.2362, 0.1923, 0.2289},
46534 {0.3920, 0.2180, 0.1996, 0.1904},
46535 {0.1480, 0.3063, 0.2256, 0.3201}},
46536 {
46537 {0.3400, 0.1900, 0.2294, 0.2405},
46538 {0.3708, 0.1782, 0.2047, 0.2462},
46539 {0.3525, 0.2022, 0.1995, 0.2458},
46540 {0.0879, 0.3177, 0.2175, 0.3769}},
46541 {
46542 {0.3375, 0.1909, 0.2040, 0.2676},
46543 {0.3587, 0.1997, 0.2188, 0.2229},
46544 {0.2753, 0.2204, 0.2636, 0.2407},
46545 {0.1810, 0.2652, 0.2698, 0.2840}},
46546 {
46547 {0.3562, 0.2024, 0.2209, 0.2205},
46548 {0.3530, 0.2231, 0.1999, 0.2240},
46549 {0.3921, 0.2202, 0.2024, 0.1852},
46550 {0.1647, 0.2963, 0.2187, 0.3204}},
46551 {
46552 {0.3313, 0.1861, 0.2241, 0.2585},
46553 {0.3450, 0.1696, 0.2116, 0.2738},
46554 {0.3778, 0.1946, 0.2046, 0.2230},
46555 {0.0972, 0.3089, 0.2190, 0.3749}},
46556 {
46557 {0.3345, 0.2066, 0.1989, 0.2600},
46558 {0.3637, 0.2091, 0.1976, 0.2296},
46559 {0.2868, 0.2287, 0.2355, 0.2490},
46560 {0.1784, 0.2597, 0.2613, 0.3006}},
46561 {
46562 {0.3628, 0.1968, 0.2197, 0.2208},
46563 {0.3633, 0.2246, 0.1812, 0.2309},
46564 {0.4059, 0.2150, 0.1828, 0.1964},
46565 {0.1511, 0.2986, 0.2297, 0.3206}},
46566 {
46567 {0.3103, 0.1803, 0.2416, 0.2678},
46568 {0.3702, 0.1612, 0.2139, 0.2548},
46569 {0.3690, 0.1758, 0.2142, 0.2409},
46570 {0.0998, 0.3015, 0.2179, 0.3809}},
46571 {
46572 {0.3449, 0.2006, 0.1824, 0.2721},
46573 {0.3672, 0.2053, 0.1965, 0.2310},
46574 {0.2706, 0.2403, 0.2616, 0.2276},
46575 {0.1801, 0.2508, 0.2805, 0.2886}},
46576 {
46577 {0.3733, 0.1972, 0.2195, 0.2099},
46578 {0.3675, 0.2251, 0.1792, 0.2283},
46579 {0.4174, 0.1909, 0.1882, 0.2035},
46580 {0.1641, 0.3044, 0.2280, 0.3034}},
46581 {
46582 {0.3338, 0.1818, 0.2327, 0.2517},
46583 {0.3714, 0.1745, 0.1993, 0.2548},
46584 {0.3626, 0.1798, 0.2198, 0.2378},
46585 {0.0961, 0.3136, 0.2219, 0.3684}},
46586 {
46587 {0.3260, 0.2028, 0.1940, 0.2773},
46588 {0.3615, 0.2003, 0.2114, 0.2268},
46589 {0.2715, 0.2407, 0.2627, 0.2251},
46590 {0.1852, 0.2553, 0.2772, 0.2823}},
46591 {
46592 {0.3671, 0.2035, 0.2089, 0.2205},
46593 {0.3526, 0.2362, 0.1725, 0.2386},
46594 {0.3950, 0.2045, 0.2032, 0.1973},
46595 {0.1560, 0.2985, 0.2163, 0.3292}},
46596 {
46597 {0.3275, 0.1874, 0.2263, 0.2587},
46598 {0.3569, 0.1690, 0.2089, 0.2652},
46599 {0.3541, 0.1921, 0.1930, 0.2609},
46600 {0.0973, 0.3111, 0.2117, 0.3800}},
46601 {
46602 {0.3260, 0.1993, 0.2042, 0.2706},
46603 {0.3683, 0.2104, 0.1856, 0.2357},
46604 {0.2854, 0.2350, 0.2427, 0.2369},
46605 {0.1952, 0.2361, 0.2670, 0.3017}},
46606 {
46607 {0.3566, 0.2082, 0.2110, 0.2241},
46608 {0.3702, 0.2210, 0.1734, 0.2354},
46609 {0.4056, 0.2010, 0.1940, 0.1995},
46610 {0.1660, 0.2950, 0.2135, 0.3255}},
46611 {
46612 {0.3447, 0.1662, 0.2171, 0.2720},
46613 {0.3552, 0.1775, 0.2145, 0.2529},
46614 {0.3648, 0.1925, 0.2126, 0.2300},
46615 {0.1026, 0.2978, 0.2234, 0.3762}},
46616 {
46617 {0.3521, 0.1985, 0.1798, 0.2696},
46618 {0.3721, 0.2038, 0.2065, 0.2176},
46619 {0.2732, 0.2187, 0.2547, 0.2535},
46620 {0.1799, 0.2486, 0.2624, 0.3091}},
46621 {
46622 {0.3748, 0.1975, 0.2034, 0.2243},
46623 {0.3555, 0.2303, 0.1905, 0.2236},
46624 {0.4070, 0.1980, 0.1970, 0.1980},
46625 {0.1632, 0.2900, 0.2244, 0.3224}},
46626 {
46627 {0.3347, 0.1701, 0.2281, 0.2671},
46628 {0.3592, 0.1621, 0.2098, 0.2689},
46629 {0.3614, 0.1838, 0.1945, 0.2604},
46630 {0.0917, 0.2999, 0.2119, 0.3965}},
46631 {
46632 {0.3525, 0.2007, 0.1928, 0.2541},
46633 {0.3589, 0.2006, 0.2020, 0.2384},
46634 {0.2787, 0.2332, 0.2519, 0.2363},
46635 {0.1879, 0.2373, 0.2618, 0.3130}},
46636 {
46637 {0.3875, 0.1926, 0.2083, 0.2116},
46638 {0.3598, 0.2206, 0.1769, 0.2427},
46639 {0.4027, 0.2048, 0.1868, 0.2057},
46640 {0.1669, 0.2783, 0.2180, 0.3368}},
46641 {
46642 {0.3236, 0.1859, 0.2243, 0.2662},
46643 {0.3434, 0.1811, 0.2176, 0.2578},
46644 {0.3546, 0.1968, 0.2126, 0.2360},
46645 {0.1048, 0.2985, 0.2162, 0.3806}},
46646 {
46647 {0.3520, 0.1894, 0.1846, 0.2740},
46648 {0.3520, 0.2254, 0.1910, 0.2316},
46649 {0.2834, 0.2428, 0.2212, 0.2526},
46650 {0.1858, 0.2516, 0.2604, 0.3023}},
46651 {
46652 {0.3747, 0.1798, 0.2179, 0.2276},
46653 {0.3664, 0.2356, 0.1797, 0.2183},
46654 {0.3968, 0.2070, 0.1919, 0.2043},
46655 {0.1741, 0.2716, 0.2206, 0.3337}},
46656 {
46657 {0.3307, 0.1755, 0.2311, 0.2627},
46658 {0.3518, 0.1782, 0.2101, 0.2599},
46659 {0.3580, 0.1958, 0.1971, 0.2491},
46660 {0.0976, 0.2995, 0.1965, 0.4064}},
46661 {
46662 {0.3391, 0.1980, 0.1829, 0.2800},
46663 {0.3609, 0.2077, 0.2013, 0.2301},
46664 {0.2883, 0.2253, 0.2526, 0.2338},
46665 {0.1942, 0.2300, 0.2689, 0.3069}},
46666 {
46667 {0.3527, 0.1827, 0.2026, 0.2619},
46668 {0.3535, 0.2191, 0.1616, 0.2658},
46669 {0.3818, 0.1877, 0.1876, 0.2429},
46670 {0.1673, 0.2695, 0.1979, 0.3653}},
46671 {
46672 {0.3325, 0.1751, 0.2241, 0.2683},
46673 {0.3613, 0.1780, 0.2093, 0.2514},
46674 {0.3552, 0.1830, 0.2080, 0.2538},
46675 {0.1697, 0.2348, 0.2661, 0.3293}},
46676 {
46677 {0.3682, 0.1685, 0.2019, 0.2614},
46678 {0.3616, 0.1945, 0.2151, 0.2287},
46679 {0.3558, 0.2025, 0.2209, 0.2208},
46680 {0.1955, 0.2329, 0.2557, 0.3159}}},
46681
46682 { /* Splice_Site: Fi_AG; Species: Elegn */
46683 {
46684 {0.3176, 0.3176, 0.3176, 0.3176},
46685 {0.1689, 0.1689, 0.1689, 0.1689},
46686 {0.1824, 0.1824, 0.1824, 0.1824},
46687 {0.3310, 0.3310, 0.3310, 0.3310}},
46688 {
46689 {0.4091, 0.1522, 0.1643, 0.2743},
46690 {0.3395, 0.1973, 0.1743, 0.2889},
46691 {0.3334, 0.1829, 0.2007, 0.2830},
46692 {0.2121, 0.1755, 0.2001, 0.4123}},
46693 {
46694 {0.4221, 0.1493, 0.1569, 0.2716},
46695 {0.3670, 0.1738, 0.1727, 0.2865},
46696 {0.3496, 0.1767, 0.1917, 0.2820},
46697 {0.2132, 0.1678, 0.2032, 0.4157}},
46698 {
46699 {0.4085, 0.1415, 0.1792, 0.2707},
46700 {0.3497, 0.1752, 0.1769, 0.2983},
46701 {0.3478, 0.1793, 0.2057, 0.2673},
46702 {0.2108, 0.1778, 0.1885, 0.4229}},
46703 {
46704 {0.4282, 0.1430, 0.1599, 0.2689},
46705 {0.3518, 0.1876, 0.1739, 0.2867},
46706 {0.3261, 0.1876, 0.1963, 0.2900},
46707 {0.2003, 0.1775, 0.1978, 0.4243}},
46708 {
46709 {0.4205, 0.1436, 0.1677, 0.2683},
46710 {0.3487, 0.1835, 0.1730, 0.2948},
46711 {0.3267, 0.1888, 0.2049, 0.2797},
46712 {0.2048, 0.1726, 0.1970, 0.4256}},
46713 {
46714 {0.4298, 0.1403, 0.1591, 0.2708},
46715 {0.3329, 0.1759, 0.1868, 0.3044},
46716 {0.3516, 0.1787, 0.2010, 0.2687},
46717 {0.2059, 0.1722, 0.1876, 0.4342}},
46718 {
46719 {0.4097, 0.1446, 0.1646, 0.2811},
46720 {0.3553, 0.1746, 0.1785, 0.2916},
46721 {0.3419, 0.1878, 0.1912, 0.2791},
46722 {0.2020, 0.1747, 0.1968, 0.4265}},
46723 {
46724 {0.4287, 0.1497, 0.1669, 0.2548},
46725 {0.3491, 0.1782, 0.1782, 0.2945},
46726 {0.3420, 0.1915, 0.2006, 0.2660},
46727 {0.2131, 0.1804, 0.1979, 0.4086}},
46728 {
46729 {0.4105, 0.1455, 0.1796, 0.2645},
46730 {0.3449, 0.1770, 0.1805, 0.2976},
46731 {0.3440, 0.1822, 0.1987, 0.2750},
46732 {0.2134, 0.1731, 0.2075, 0.4059}},
46733 {
46734 {0.4154, 0.1474, 0.1718, 0.2654},
46735 {0.3592, 0.1781, 0.1755, 0.2872},
46736 {0.3387, 0.1954, 0.1995, 0.2664},
46737 {0.2046, 0.1831, 0.1926, 0.4197}},
46738 {
46739 {0.4158, 0.1527, 0.1695, 0.2620},
46740 {0.3453, 0.1925, 0.1715, 0.2907},
46741 {0.3283, 0.2020, 0.1890, 0.2806},
46742 {0.2071, 0.1745, 0.1941, 0.4243}},
46743 {
46744 {0.4220, 0.1458, 0.1642, 0.2680},
46745 {0.3352, 0.1864, 0.1770, 0.3014},
46746 {0.3399, 0.1859, 0.1880, 0.2862},
46747 {0.2119, 0.1627, 0.1897, 0.4357}},
46748 {
46749 {0.4166, 0.1448, 0.1703, 0.2683},
46750 {0.3544, 0.1781, 0.1811, 0.2864},
46751 {0.3426, 0.1862, 0.1847, 0.2864},
46752 {0.2118, 0.1671, 0.1933, 0.4278}},
46753 {
46754 {0.4219, 0.1433, 0.1680, 0.2668},
46755 {0.3709, 0.1763, 0.1655, 0.2873},
46756 {0.3525, 0.1730, 0.2030, 0.2715},
46757 {0.2199, 0.1748, 0.1921, 0.4131}},
46758 {
46759 {0.4143, 0.1399, 0.1817, 0.2641},
46760 {0.3358, 0.1809, 0.1927, 0.2905},
46761 {0.3553, 0.1653, 0.1900, 0.2893},
46762 {0.2210, 0.1614, 0.1990, 0.4185}},
46763 {
46764 {0.4124, 0.1465, 0.1741, 0.2671},
46765 {0.3542, 0.1772, 0.1780, 0.2907},
46766 {0.3240, 0.1873, 0.2098, 0.2789},
46767 {0.2045, 0.1715, 0.1964, 0.4277}},
46768 {
46769 {0.4272, 0.1462, 0.1684, 0.2583},
46770 {0.3652, 0.1759, 0.1765, 0.2825},
46771 {0.3429, 0.1895, 0.1860, 0.2815},
46772 {0.2131, 0.1721, 0.1933, 0.4215}},
46773 {
46774 {0.4183, 0.1400, 0.1705, 0.2712},
46775 {0.3410, 0.1808, 0.1754, 0.3028},
46776 {0.3457, 0.1823, 0.1952, 0.2769},
46777 {0.2062, 0.1735, 0.1964, 0.4239}},
46778 {
46779 {0.4207, 0.1447, 0.1646, 0.2701},
46780 {0.3565, 0.1896, 0.1684, 0.2855},
46781 {0.3322, 0.1759, 0.2005, 0.2914},
46782 {0.2189, 0.1699, 0.1881, 0.4231}},
46783 {
46784 {0.4243, 0.1434, 0.1646, 0.2677},
46785 {0.3669, 0.1762, 0.1764, 0.2805},
46786 {0.3539, 0.1726, 0.1947, 0.2789},
46787 {0.2268, 0.1723, 0.1901, 0.4108}},
46788 {
46789 {0.4040, 0.1520, 0.1855, 0.2585},
46790 {0.3473, 0.1920, 0.1775, 0.2832},
46791 {0.3351, 0.1884, 0.1978, 0.2787},
46792 {0.2153, 0.1597, 0.1968, 0.4282}},
46793 {
46794 {0.4200, 0.1436, 0.1671, 0.2693},
46795 {0.3494, 0.1782, 0.1805, 0.2920},
46796 {0.3415, 0.1871, 0.1978, 0.2737},
46797 {0.2186, 0.1692, 0.1980, 0.4141}},
46798 {
46799 {0.4255, 0.1450, 0.1659, 0.2635},
46800 {0.3487, 0.1863, 0.1689, 0.2960},
46801 {0.3354, 0.1952, 0.1881, 0.2813},
46802 {0.2175, 0.1654, 0.1911, 0.4260}},
46803 {
46804 {0.4350, 0.1375, 0.1606, 0.2669},
46805 {0.3410, 0.1840, 0.1677, 0.3073},
46806 {0.3452, 0.1738, 0.1800, 0.3010},
46807 {0.2085, 0.1691, 0.1924, 0.4301}},
46808 {
46809 {0.4181, 0.1357, 0.1689, 0.2773},
46810 {0.3376, 0.1827, 0.1781, 0.3017},
46811 {0.3393, 0.1766, 0.1884, 0.2957},
46812 {0.2166, 0.1607, 0.1861, 0.4365}},
46813 {
46814 {0.4327, 0.1311, 0.1737, 0.2625},
46815 {0.3594, 0.1710, 0.1800, 0.2896},
46816 {0.3501, 0.1819, 0.1879, 0.2800},
46817 {0.2217, 0.1606, 0.1842, 0.4335}},
46818 {
46819 {0.4104, 0.1352, 0.1891, 0.2654},
46820 {0.3602, 0.1818, 0.1780, 0.2800},
46821 {0.3396, 0.1827, 0.1893, 0.2884},
46822 {0.2109, 0.1639, 0.1988, 0.4265}},
46823 {
46824 {0.4327, 0.1416, 0.1735, 0.2523},
46825 {0.3622, 0.1886, 0.1739, 0.2754},
46826 {0.3168, 0.1831, 0.2148, 0.2853},
46827 {0.2047, 0.1751, 0.1884, 0.4317}},
46828 {
46829 {0.4282, 0.1404, 0.1736, 0.2577},
46830 {0.3453, 0.1980, 0.1689, 0.2879},
46831 {0.3426, 0.1929, 0.1819, 0.2826},
46832 {0.2145, 0.1764, 0.1955, 0.4136}},
46833 {
46834 {0.4213, 0.1484, 0.1723, 0.2580},
46835 {0.3388, 0.1756, 0.1652, 0.3203},
46836 {0.3407, 0.1780, 0.1954, 0.2859},
46837 {0.2174, 0.1660, 0.1960, 0.4206}},
46838 {
46839 {0.4210, 0.1376, 0.1702, 0.2713},
46840 {0.3491, 0.1854, 0.1781, 0.2874},
46841 {0.3336, 0.1827, 0.1911, 0.2926},
46842 {0.2189, 0.1644, 0.2013, 0.4153}},
46843 {
46844 {0.4246, 0.1436, 0.1685, 0.2633},
46845 {0.3592, 0.1831, 0.1907, 0.2670},
46846 {0.3447, 0.1603, 0.2073, 0.2877},
46847 {0.2235, 0.1647, 0.1924, 0.4194}},
46848 {
46849 {0.4223, 0.1356, 0.1818, 0.2604},
46850 {0.3542, 0.1828, 0.1807, 0.2823},
46851 {0.3316, 0.1770, 0.1893, 0.3020},
46852 {0.2205, 0.1608, 0.1974, 0.4214}},
46853 {
46854 {0.4343, 0.1358, 0.1661, 0.2638},
46855 {0.3455, 0.1811, 0.1756, 0.2979},
46856 {0.3345, 0.1811, 0.1966, 0.2878},
46857 {0.2218, 0.1563, 0.1932, 0.4288}},
46858 {
46859 {0.4212, 0.1485, 0.1732, 0.2571},
46860 {0.3472, 0.1892, 0.1813, 0.2823},
46861 {0.3201, 0.1906, 0.1873, 0.3021},
46862 {0.2172, 0.1570, 0.1885, 0.4373}},
46863 {
46864 {0.4271, 0.1352, 0.1699, 0.2678},
46865 {0.3360, 0.1665, 0.1710, 0.3265},
46866 {0.3541, 0.1646, 0.1878, 0.2936},
46867 {0.2157, 0.1538, 0.1820, 0.4485}},
46868 {
46869 {0.4218, 0.1391, 0.1657, 0.2734},
46870 {0.3581, 0.1693, 0.1664, 0.3063},
46871 {0.3359, 0.1743, 0.2096, 0.2803},
46872 {0.2233, 0.1581, 0.1812, 0.4374}},
46873 {
46874 {0.4324, 0.1382, 0.1714, 0.2580},
46875 {0.3581, 0.1840, 0.1587, 0.2992},
46876 {0.3350, 0.1803, 0.1794, 0.3054},
46877 {0.2246, 0.1651, 0.1863, 0.4240}},
46878 {
46879 {0.4136, 0.1400, 0.1901, 0.2562},
46880 {0.3615, 0.1784, 0.1877, 0.2724},
46881 {0.3376, 0.1793, 0.1922, 0.2909},
46882 {0.2319, 0.1604, 0.1982, 0.4096}},
46883 {
46884 {0.4195, 0.1480, 0.1831, 0.2495},
46885 {0.3607, 0.1845, 0.1806, 0.2743},
46886 {0.3323, 0.1952, 0.2133, 0.2592},
46887 {0.2321, 0.1576, 0.2005, 0.4098}},
46888 {
46889 {0.4288, 0.1382, 0.1754, 0.2576},
46890 {0.3433, 0.2016, 0.1786, 0.2765},
46891 {0.3199, 0.1917, 0.1949, 0.2935},
46892 {0.2281, 0.1595, 0.1994, 0.4130}},
46893 {
46894 {0.4521, 0.1283, 0.1659, 0.2537},
46895 {0.3585, 0.1616, 0.1733, 0.3066},
46896 {0.3726, 0.1566, 0.1833, 0.2875},
46897 {0.2438, 0.1537, 0.1929, 0.4097}},
46898 {
46899 {0.4337, 0.1367, 0.1725, 0.2571},
46900 {0.3694, 0.1750, 0.1653, 0.2904},
46901 {0.3630, 0.1651, 0.2004, 0.2715},
46902 {0.2245, 0.1585, 0.1875, 0.4295}},
46903 {
46904 {0.4534, 0.1352, 0.1563, 0.2551},
46905 {0.3471, 0.1705, 0.1725, 0.3099},
46906 {0.3577, 0.1708, 0.1799, 0.2916},
46907 {0.2333, 0.1520, 0.1755, 0.4392}},
46908 {
46909 {0.4140, 0.1358, 0.1897, 0.2605},
46910 {0.3413, 0.1924, 0.1549, 0.3114},
46911 {0.3313, 0.1691, 0.1890, 0.3105},
46912 {0.2085, 0.1568, 0.1835, 0.4512}},
46913 {
46914 {0.4289, 0.1417, 0.1669, 0.2625},
46915 {0.3366, 0.1818, 0.1743, 0.3073},
46916 {0.3262, 0.1761, 0.2182, 0.2795},
46917 {0.1969, 0.1399, 0.1787, 0.4845}},
46918 {
46919 {0.4215, 0.1268, 0.1947, 0.2570},
46920 {0.3223, 0.1674, 0.2028, 0.3076},
46921 {0.3121, 0.1832, 0.2655, 0.2392},
46922 {0.1954, 0.1444, 0.1943, 0.4659}},
46923 {
46924 {0.4252, 0.1446, 0.1819, 0.2483},
46925 {0.3554, 0.2010, 0.1783, 0.2653},
46926 {0.2686, 0.1448, 0.1828, 0.4038},
46927 {0.2269, 0.1813, 0.2096, 0.3823}},
46928 {
46929 {0.4476, 0.1717, 0.1692, 0.2116},
46930 {0.3268, 0.2101, 0.2015, 0.2615},
46931 {0.3389, 0.1774, 0.1934, 0.2903},
46932 {0.2643, 0.2157, 0.2447, 0.2753}},
46933 {
46934 {1.0000, 0.0000, 0.0000, 0.0000},
46935 {1.0000, 0.0000, 0.0000, 0.0000},
46936 {1.0000, 0.0000, 0.0000, 0.0000},
46937 {1.0000, 0.0000, 0.0000, 0.0000}},
46938 {
46939 {0.0000, 0.0000, 1.0000, 0.0000},
46940 {0.0000, 0.0000, 0.0000, 0.0000},
46941 {0.0000, 0.0000, 0.0000, 0.0000},
46942 {0.0000, 0.0000, 0.0000, 0.0000}},
46943 {
46944 {0.0000, 0.0000, 0.0000, 0.0000},
46945 {0.0000, 0.0000, 0.0000, 0.0000},
46946 {0.3350, 0.1758, 0.1516, 0.3376},
46947 {0.0000, 0.0000, 0.0000, 0.0000}},
46948 {
46949 {0.4656, 0.1343, 0.1663, 0.2338},
46950 {0.3173, 0.2057, 0.1404, 0.3367},
46951 {0.3052, 0.2469, 0.1752, 0.2727},
46952 {0.2397, 0.1243, 0.1634, 0.4726}},
46953 {
46954 {0.4436, 0.1436, 0.1575, 0.2553},
46955 {0.3377, 0.1627, 0.1653, 0.3342},
46956 {0.3490, 0.1783, 0.1893, 0.2834},
46957 {0.2084, 0.1550, 0.1753, 0.4613}},
46958 {
46959 {0.4352, 0.1431, 0.1410, 0.2806},
46960 {0.3744, 0.1779, 0.1509, 0.2968},
46961 {0.3404, 0.1949, 0.1870, 0.2777},
46962 {0.2314, 0.1526, 0.1577, 0.4583}},
46963 {
46964 {0.4389, 0.1489, 0.1375, 0.2746},
46965 {0.3619, 0.1886, 0.1577, 0.2918},
46966 {0.3461, 0.1818, 0.1985, 0.2737},
46967 {0.2300, 0.1686, 0.1738, 0.4276}},
46968 {
46969 {0.4130, 0.1446, 0.1834, 0.2590},
46970 {0.3807, 0.1696, 0.1671, 0.2825},
46971 {0.3263, 0.2098, 0.1888, 0.2751},
46972 {0.2166, 0.1734, 0.1769, 0.4331}},
46973 {
46974 {0.4431, 0.1357, 0.1632, 0.2580},
46975 {0.3506, 0.1783, 0.1654, 0.3056},
46976 {0.3361, 0.1864, 0.2140, 0.2635},
46977 {0.2309, 0.1687, 0.1839, 0.4165}},
46978 {
46979 {0.4216, 0.1422, 0.1743, 0.2619},
46980 {0.3549, 0.2066, 0.1600, 0.2785},
46981 {0.3420, 0.1950, 0.1854, 0.2776},
46982 {0.2330, 0.1588, 0.1836, 0.4245}},
46983 {
46984 {0.4417, 0.1349, 0.1628, 0.2606},
46985 {0.3450, 0.1793, 0.1600, 0.3157},
46986 {0.3330, 0.1824, 0.1857, 0.2989},
46987 {0.2220, 0.1648, 0.1822, 0.4310}},
46988 {
46989 {0.4418, 0.1410, 0.1579, 0.2593},
46990 {0.3621, 0.1703, 0.1686, 0.2991},
46991 {0.3645, 0.1812, 0.1699, 0.2844},
46992 {0.2463, 0.1635, 0.1722, 0.4180}},
46993 {
46994 {0.4465, 0.1381, 0.1590, 0.2564},
46995 {0.3675, 0.1786, 0.1743, 0.2796},
46996 {0.3677, 0.1761, 0.1872, 0.2690},
46997 {0.2339, 0.1586, 0.1750, 0.4325}},
46998 {
46999 {0.4268, 0.1336, 0.1802, 0.2595},
47000 {0.3650, 0.1616, 0.1712, 0.3022},
47001 {0.3371, 0.1752, 0.2068, 0.2809},
47002 {0.2135, 0.1624, 0.1814, 0.4427}},
47003 {
47004 {0.4401, 0.1355, 0.1536, 0.2708},
47005 {0.3633, 0.1783, 0.1577, 0.3007},
47006 {0.3341, 0.1889, 0.2039, 0.2731},
47007 {0.2213, 0.1660, 0.1702, 0.4425}},
47008 {
47009 {0.4373, 0.1379, 0.1501, 0.2746},
47010 {0.3517, 0.1823, 0.1669, 0.2992},
47011 {0.3446, 0.2052, 0.1744, 0.2758},
47012 {0.2195, 0.1628, 0.1707, 0.4470}},
47013 {
47014 {0.4521, 0.1257, 0.1534, 0.2687},
47015 {0.3411, 0.1777, 0.1685, 0.3126},
47016 {0.3576, 0.1757, 0.1950, 0.2716},
47017 {0.2220, 0.1588, 0.1692, 0.4500}},
47018 {
47019 {0.4396, 0.1340, 0.1551, 0.2713},
47020 {0.3671, 0.1729, 0.1738, 0.2862},
47021 {0.3450, 0.1901, 0.1912, 0.2738},
47022 {0.2137, 0.1647, 0.1650, 0.4566}},
47023 {
47024 {0.4338, 0.1395, 0.1493, 0.2774},
47025 {0.3787, 0.1664, 0.1577, 0.2972},
47026 {0.3449, 0.1851, 0.1862, 0.2838},
47027 {0.2159, 0.1663, 0.1659, 0.4519}},
47028 {
47029 {0.4216, 0.1346, 0.1735, 0.2703},
47030 {0.3520, 0.1844, 0.1653, 0.2983},
47031 {0.3372, 0.1852, 0.2027, 0.2749},
47032 {0.2108, 0.1707, 0.1769, 0.4417}},
47033 {
47034 {0.4407, 0.1488, 0.1544, 0.2560},
47035 {0.3617, 0.1929, 0.1616, 0.2838},
47036 {0.3407, 0.1980, 0.1929, 0.2683},
47037 {0.2240, 0.1737, 0.1746, 0.4277}},
47038 {
47039 {0.4231, 0.1432, 0.1706, 0.2631},
47040 {0.3581, 0.1868, 0.1663, 0.2888},
47041 {0.3323, 0.1969, 0.1780, 0.2928},
47042 {0.2245, 0.1753, 0.1729, 0.4274}},
47043 {
47044 {0.4219, 0.1423, 0.1697, 0.2661},
47045 {0.3410, 0.1839, 0.1637, 0.3114},
47046 {0.3490, 0.1948, 0.1734, 0.2828},
47047 {0.2296, 0.1698, 0.1684, 0.4322}},
47048 {
47049 {0.4384, 0.1351, 0.1601, 0.2664},
47050 {0.3458, 0.1897, 0.1677, 0.2968},
47051 {0.3487, 0.1857, 0.1780, 0.2876},
47052 {0.2205, 0.1759, 0.1677, 0.4359}},
47053 {
47054 {0.4436, 0.1348, 0.1470, 0.2746},
47055 {0.3469, 0.1939, 0.1530, 0.3061},
47056 {0.3381, 0.1902, 0.1892, 0.2825},
47057 {0.2212, 0.1662, 0.1777, 0.4349}},
47058 {
47059 {0.4343, 0.1338, 0.1650, 0.2670},
47060 {0.3715, 0.1752, 0.1606, 0.2927},
47061 {0.3391, 0.2017, 0.1759, 0.2834},
47062 {0.2160, 0.1713, 0.1759, 0.4368}},
47063 {
47064 {0.4434, 0.1402, 0.1445, 0.2719},
47065 {0.3612, 0.1933, 0.1515, 0.2940},
47066 {0.3396, 0.1943, 0.2000, 0.2661},
47067 {0.2089, 0.1694, 0.1697, 0.4521}},
47068 {
47069 {0.4490, 0.1382, 0.1519, 0.2608},
47070 {0.3669, 0.1850, 0.1606, 0.2875},
47071 {0.3431, 0.2055, 0.1726, 0.2788},
47072 {0.2226, 0.1764, 0.1627, 0.4383}},
47073 {
47074 {0.4331, 0.1424, 0.1533, 0.2712},
47075 {0.3336, 0.1926, 0.1651, 0.3087},
47076 {0.3458, 0.1790, 0.1937, 0.2815},
47077 {0.2097, 0.1730, 0.1658, 0.4515}},
47078 {
47079 {0.4337, 0.1482, 0.1453, 0.2728},
47080 {0.3645, 0.1884, 0.1571, 0.2900},
47081 {0.3396, 0.1974, 0.1787, 0.2843},
47082 {0.2154, 0.1763, 0.1692, 0.4391}},
47083 {
47084 {0.4309, 0.1348, 0.1547, 0.2796},
47085 {0.3610, 0.1882, 0.1623, 0.2885},
47086 {0.3586, 0.1925, 0.1866, 0.2623},
47087 {0.2190, 0.1659, 0.1735, 0.4416}},
47088 {
47089 {0.4228, 0.1411, 0.1735, 0.2626},
47090 {0.3478, 0.1889, 0.1726, 0.2907},
47091 {0.3357, 0.1923, 0.1891, 0.2829},
47092 {0.2214, 0.1706, 0.1754, 0.4326}},
47093 {
47094 {0.4336, 0.1539, 0.1499, 0.2627},
47095 {0.3619, 0.1786, 0.1706, 0.2889},
47096 {0.3353, 0.2099, 0.1788, 0.2760},
47097 {0.2224, 0.1723, 0.1777, 0.4276}},
47098 {
47099 {0.4267, 0.1450, 0.1556, 0.2728},
47100 {0.3544, 0.1997, 0.1611, 0.2847},
47101 {0.3318, 0.2092, 0.1847, 0.2743},
47102 {0.2149, 0.1713, 0.1816, 0.4322}},
47103 {
47104 {0.4192, 0.1441, 0.1622, 0.2745},
47105 {0.3504, 0.1836, 0.1633, 0.3027},
47106 {0.3321, 0.2004, 0.1749, 0.2925},
47107 {0.2161, 0.1735, 0.1801, 0.4304}},
47108 {
47109 {0.4225, 0.1405, 0.1568, 0.2802},
47110 {0.3428, 0.2009, 0.1587, 0.2976},
47111 {0.3495, 0.1931, 0.1779, 0.2795},
47112 {0.2158, 0.1771, 0.1736, 0.4334}},
47113 {
47114 {0.4387, 0.1477, 0.1483, 0.2653},
47115 {0.3627, 0.1869, 0.1641, 0.2863},
47116 {0.3466, 0.1828, 0.1956, 0.2750},
47117 {0.2206, 0.1731, 0.1679, 0.4384}},
47118 {
47119 {0.4233, 0.1385, 0.1708, 0.2675},
47120 {0.3567, 0.1813, 0.1729, 0.2890},
47121 {0.3356, 0.1894, 0.1955, 0.2795},
47122 {0.2028, 0.1799, 0.1808, 0.4364}},
47123 {
47124 {0.4342, 0.1437, 0.1550, 0.2671},
47125 {0.3560, 0.1940, 0.1574, 0.2926},
47126 {0.3389, 0.2031, 0.1851, 0.2729},
47127 {0.2038, 0.1877, 0.1669, 0.4416}},
47128 {
47129 {0.4360, 0.1402, 0.1500, 0.2739},
47130 {0.3471, 0.1983, 0.1641, 0.2905},
47131 {0.3357, 0.2095, 0.1773, 0.2775},
47132 {0.2049, 0.1884, 0.1686, 0.4381}},
47133 {
47134 {0.4244, 0.1496, 0.1529, 0.2732},
47135 {0.3430, 0.1988, 0.1496, 0.3086},
47136 {0.3399, 0.1997, 0.1794, 0.2810},
47137 {0.2084, 0.1837, 0.1759, 0.4320}},
47138 {
47139 {0.4313, 0.1454, 0.1571, 0.2662},
47140 {0.3551, 0.1985, 0.1566, 0.2898},
47141 {0.3317, 0.2018, 0.1850, 0.2816},
47142 {0.2098, 0.1790, 0.1733, 0.4379}},
47143 {
47144 {0.4228, 0.1530, 0.1600, 0.2643},
47145 {0.3601, 0.1902, 0.1759, 0.2738},
47146 {0.3512, 0.1764, 0.1925, 0.2799},
47147 {0.2109, 0.1852, 0.1779, 0.4260}},
47148 {
47149 {0.4089, 0.1474, 0.1743, 0.2694},
47150 {0.3630, 0.1797, 0.1710, 0.2863},
47151 {0.3395, 0.1904, 0.1943, 0.2757},
47152 {0.2052, 0.1911, 0.1792, 0.4245}},
47153 {
47154 {0.4284, 0.1505, 0.1633, 0.2578},
47155 {0.3740, 0.1880, 0.1543, 0.2837},
47156 {0.3403, 0.1915, 0.1894, 0.2788},
47157 {0.2115, 0.1842, 0.1784, 0.4259}},
47158 {
47159 {0.4257, 0.1436, 0.1606, 0.2701},
47160 {0.3386, 0.2004, 0.1723, 0.2887},
47161 {0.3382, 0.2020, 0.1721, 0.2877},
47162 {0.2066, 0.1815, 0.1839, 0.4280}},
47163 {
47164 {0.4345, 0.1449, 0.1499, 0.2706},
47165 {0.3416, 0.1973, 0.1615, 0.2996},
47166 {0.3377, 0.2002, 0.1829, 0.2791},
47167 {0.2042, 0.1854, 0.1734, 0.4371}},
47168 {
47169 {0.4319, 0.1493, 0.1509, 0.2679},
47170 {0.3436, 0.1932, 0.1644, 0.2987},
47171 {0.3440, 0.1920, 0.1754, 0.2886},
47172 {0.2051, 0.1741, 0.1774, 0.4434}},
47173 {
47174 {0.4496, 0.1398, 0.1480, 0.2625},
47175 {0.3485, 0.1874, 0.1636, 0.3005},
47176 {0.3497, 0.1955, 0.1723, 0.2825},
47177 {0.2136, 0.1816, 0.1691, 0.4357}},
47178 {
47179 {0.4177, 0.1514, 0.1713, 0.2596},
47180 {0.3569, 0.1914, 0.1598, 0.2920},
47181 {0.3303, 0.2016, 0.1875, 0.2806},
47182 {0.2038, 0.1810, 0.1836, 0.4317}},
47183 {
47184 {0.4296, 0.1487, 0.1513, 0.2704},
47185 {0.3545, 0.1987, 0.1612, 0.2856},
47186 {0.3293, 0.1958, 0.1901, 0.2848},
47187 {0.2098, 0.1858, 0.1834, 0.4210}},
47188 {
47189 {0.4209, 0.1574, 0.1503, 0.2713},
47190 {0.3612, 0.1943, 0.1720, 0.2725},
47191 {0.3271, 0.2154, 0.1801, 0.2774},
47192 {0.1980, 0.1880, 0.1833, 0.4307}}
47193 }},
47194 {
47195 { /* Splice_Site: T1_AG; Species: Yeast */
47196 {
47197 {0.3284, 0.3284, 0.3284, 0.3284},
47198 {0.1466, 0.1466, 0.1466, 0.1466},
47199 {0.1672, 0.1672, 0.1672, 0.1672},
47200 {0.3578, 0.3578, 0.3578, 0.3578}},
47201 {
47202 {0.3722, 0.1912, 0.1728, 0.2638},
47203 {0.2702, 0.0000, 0.1572, 0.5726},
47204 {0.4660, 0.1677, 0.1347, 0.2317},
47205 {0.2988, 0.0806, 0.2000, 0.4206}},
47206 {
47207 {0.3869, 0.1025, 0.2579, 0.2527},
47208 {0.3738, 0.0459, 0.0958, 0.4845},
47209 {0.3545, 0.0679, 0.1606, 0.4170},
47210 {0.2921, 0.0898, 0.1544, 0.4637}},
47211 {
47212 {0.3477, 0.1627, 0.1926, 0.2970},
47213 {0.2668, 0.0721, 0.2096, 0.4516},
47214 {0.2643, 0.1868, 0.3033, 0.2455},
47215 {0.2770, 0.0709, 0.1861, 0.4660}},
47216 {
47217 {0.3762, 0.1612, 0.0976, 0.3650},
47218 {0.2283, 0.1792, 0.0902, 0.5022},
47219 {0.3644, 0.1380, 0.1555, 0.3422},
47220 {0.2726, 0.1241, 0.2084, 0.3949}},
47221 {
47222 {0.4354, 0.0699, 0.1950, 0.2996},
47223 {0.2307, 0.1540, 0.1142, 0.5011},
47224 {0.3265, 0.0713, 0.2314, 0.3708},
47225 {0.2188, 0.1338, 0.1431, 0.5043}},
47226 {
47227 {0.3338, 0.2212, 0.2150, 0.2299},
47228 {0.4684, 0.1037, 0.0997, 0.3281},
47229 {0.3336, 0.0334, 0.1002, 0.5328},
47230 {0.2000, 0.1469, 0.2294, 0.4237}},
47231 {
47232 {0.4203, 0.0784, 0.2303, 0.2711},
47233 {0.5528, 0.1460, 0.1138, 0.1874},
47234 {0.2278, 0.0871, 0.2364, 0.4486},
47235 {0.2134, 0.1467, 0.1356, 0.5042}},
47236 {
47237 {0.3277, 0.1905, 0.1897, 0.2921},
47238 {0.4406, 0.0857, 0.1466, 0.3270},
47239 {0.2165, 0.1292, 0.0905, 0.5639},
47240 {0.3586, 0.1015, 0.1892, 0.3508}},
47241 {
47242 {0.3570, 0.1706, 0.2179, 0.2545},
47243 {0.2556, 0.2415, 0.2548, 0.2481},
47244 {0.2315, 0.1978, 0.0625, 0.5082},
47245 {0.3495, 0.1038, 0.0935, 0.4532}},
47246 {
47247 {0.4878, 0.1231, 0.1119, 0.2771},
47248 {0.3746, 0.1385, 0.0685, 0.4184},
47249 {0.1464, 0.1908, 0.1467, 0.5162},
47250 {0.2586, 0.1258, 0.1493, 0.4664}},
47251 {
47252 {0.4263, 0.0528, 0.2016, 0.3193},
47253 {0.2116, 0.1286, 0.2989, 0.3609},
47254 {0.1951, 0.1327, 0.1807, 0.4915},
47255 {0.1890, 0.1495, 0.2633, 0.3982}},
47256 {
47257 {0.4301, 0.1255, 0.1019, 0.3425},
47258 {0.2976, 0.1466, 0.0990, 0.4567},
47259 {0.2212, 0.0926, 0.2651, 0.4210},
47260 {0.2295, 0.1371, 0.1158, 0.5175}},
47261 {
47262 {0.2306, 0.1521, 0.1930, 0.4243},
47263 {0.3681, 0.0478, 0.3118, 0.2722},
47264 {0.2222, 0.1541, 0.1996, 0.4240},
47265 {0.2531, 0.1057, 0.1636, 0.4775}},
47266 {
47267 {0.4704, 0.1462, 0.0404, 0.3430},
47268 {0.4858, 0.1326, 0.0439, 0.3376},
47269 {0.3140, 0.1418, 0.2210, 0.3232},
47270 {0.2479, 0.1535, 0.1408, 0.4578}},
47271 {
47272 {0.3273, 0.1646, 0.1475, 0.3607},
47273 {0.2632, 0.1067, 0.1879, 0.4422},
47274 {0.2845, 0.1786, 0.1374, 0.3994},
47275 {0.3351, 0.1160, 0.0991, 0.4498}},
47276 {
47277 {0.4244, 0.1305, 0.0721, 0.3730},
47278 {0.3237, 0.1983, 0.1535, 0.3246},
47279 {0.2973, 0.0827, 0.1626, 0.4574},
47280 {0.2583, 0.1216, 0.1207, 0.4994}},
47281 {
47282 {0.4481, 0.1716, 0.1051, 0.2752},
47283 {0.1670, 0.2612, 0.0855, 0.4863},
47284 {0.2408, 0.0000, 0.3794, 0.3798},
47285 {0.1962, 0.1683, 0.1033, 0.5322}},
47286 {
47287 {0.2974, 0.1774, 0.1231, 0.4021},
47288 {0.4540, 0.1037, 0.0379, 0.4044},
47289 {0.4686, 0.2411, 0.0000, 0.2903},
47290 {0.2120, 0.1190, 0.1062, 0.5628}},
47291 {
47292 {0.3699, 0.1454, 0.1254, 0.3593},
47293 {0.2559, 0.1168, 0.0774, 0.5499},
47294 {0.2690, 0.1988, 0.1305, 0.4017},
47295 {0.2340, 0.1793, 0.0957, 0.4910}},
47296 {
47297 {0.2605, 0.0563, 0.1848, 0.4984},
47298 {0.5220, 0.0965, 0.0983, 0.2831},
47299 {0.2646, 0.2632, 0.2066, 0.2657},
47300 {0.3209, 0.1631, 0.0847, 0.4314}},
47301 {
47302 {0.2717, 0.1717, 0.1560, 0.4006},
47303 {0.1660, 0.1700, 0.2118, 0.4521},
47304 {0.3933, 0.2579, 0.0429, 0.3059},
47305 {0.3453, 0.2246, 0.0276, 0.4025}},
47306 {
47307 {0.3146, 0.1293, 0.1667, 0.3894},
47308 {0.2873, 0.1100, 0.1387, 0.4639},
47309 {0.4139, 0.1218, 0.2927, 0.1716},
47310 {0.2082, 0.1188, 0.0993, 0.5738}},
47311 {
47312 {0.3286, 0.1639, 0.1213, 0.3863},
47313 {0.4389, 0.0474, 0.1382, 0.3754},
47314 {0.1571, 0.0382, 0.1892, 0.6155},
47315 {0.2036, 0.1442, 0.1959, 0.4563}},
47316 {
47317 {0.3187, 0.1880, 0.1911, 0.3023},
47318 {0.2759, 0.1419, 0.0833, 0.4989},
47319 {0.2907, 0.1009, 0.1757, 0.4327},
47320 {0.2769, 0.1090, 0.1736, 0.4405}},
47321 {
47322 {0.4225, 0.0739, 0.1785, 0.3251},
47323 {0.2891, 0.2110, 0.1249, 0.3750},
47324 {0.3703, 0.2360, 0.1332, 0.2605},
47325 {0.2865, 0.2421, 0.1103, 0.3611}},
47326 {
47327 {0.4092, 0.0967, 0.0985, 0.3957},
47328 {0.3542, 0.1135, 0.2007, 0.3316},
47329 {0.3256, 0.2108, 0.0456, 0.4180},
47330 {0.2280, 0.0691, 0.1319, 0.5710}},
47331 {
47332 {0.5107, 0.1039, 0.0985, 0.2869},
47333 {0.3380, 0.1537, 0.1012, 0.4070},
47334 {0.1861, 0.2357, 0.0946, 0.4836},
47335 {0.2148, 0.1029, 0.2299, 0.4524}},
47336 {
47337 {0.4267, 0.1196, 0.0892, 0.3645},
47338 {0.5482, 0.0406, 0.0869, 0.3244},
47339 {0.2368, 0.1885, 0.2126, 0.3621},
47340 {0.1107, 0.1590, 0.1774, 0.5528}},
47341 {
47342 {0.3315, 0.1388, 0.1422, 0.3876},
47343 {0.3257, 0.1617, 0.2212, 0.2915},
47344 {0.2680, 0.1567, 0.1540, 0.4213},
47345 {0.3068, 0.0778, 0.0774, 0.5380}},
47346 {
47347 {0.4024, 0.1885, 0.1062, 0.3029},
47348 {0.2362, 0.2357, 0.1836, 0.3445},
47349 {0.4076, 0.1796, 0.0499, 0.3629},
47350 {0.2511, 0.1128, 0.1020, 0.5341}},
47351 {
47352 {0.2556, 0.2860, 0.0877, 0.3707},
47353 {0.4142, 0.1064, 0.1016, 0.3777},
47354 {0.3612, 0.1089, 0.2075, 0.3224},
47355 {0.2964, 0.1634, 0.1038, 0.4364}},
47356 {
47357 {0.3014, 0.1845, 0.0884, 0.4257},
47358 {0.3341, 0.1185, 0.1819, 0.3655},
47359 {0.3021, 0.2563, 0.0482, 0.3934},
47360 {0.2338, 0.1254, 0.1156, 0.5252}},
47361 {
47362 {0.4576, 0.1388, 0.0825, 0.3211},
47363 {0.2573, 0.0368, 0.2055, 0.5004},
47364 {0.2564, 0.2989, 0.1466, 0.2980},
47365 {0.3216, 0.0975, 0.1397, 0.4412}},
47366 {
47367 {0.2812, 0.2213, 0.0534, 0.4441},
47368 {0.3648, 0.0000, 0.0000, 0.6352},
47369 {0.4116, 0.0418, 0.0927, 0.4539},
47370 {0.2441, 0.0832, 0.2214, 0.4513}},
47371 {
47372 {0.3770, 0.2997, 0.0964, 0.2269},
47373 {0.0915, 0.1916, 0.0962, 0.6207},
47374 {0.3270, 0.2462, 0.0395, 0.3872},
47375 {0.3181, 0.1350, 0.1881, 0.3588}},
47376 {
47377 {0.2691, 0.3419, 0.0885, 0.3005},
47378 {0.2223, 0.0560, 0.1112, 0.6105},
47379 {0.2862, 0.2884, 0.0000, 0.4254},
47380 {0.3505, 0.1742, 0.1417, 0.3337}},
47381 {
47382 {0.2836, 0.3717, 0.0356, 0.3091},
47383 {0.1547, 0.1775, 0.1076, 0.5603},
47384 {0.3751, 0.3359, 0.0000, 0.2890},
47385 {0.4982, 0.1094, 0.0738, 0.3186}},
47386 {
47387 {0.4017, 0.3017, 0.0625, 0.2340},
47388 {0.1765, 0.0237, 0.0479, 0.7519},
47389 {0.2722, 0.2647, 0.0000, 0.4631},
47390 {0.4498, 0.1724, 0.0876, 0.2902}},
47391 {
47392 {0.3102, 0.4442, 0.0599, 0.1858},
47393 {0.2087, 0.0548, 0.0586, 0.6779},
47394 {0.3338, 0.5839, 0.0000, 0.0823},
47395 {0.4430, 0.1153, 0.0734, 0.3683}},
47396 {
47397 {0.4635, 0.3924, 0.0000, 0.1440},
47398 {0.2032, 0.1566, 0.1065, 0.5336},
47399 {0.2764, 0.4605, 0.0775, 0.1857},
47400 {0.5371, 0.0788, 0.1301, 0.2541}},
47401 {
47402 {0.3792, 0.3910, 0.0280, 0.2018},
47403 {0.2700, 0.0749, 0.0717, 0.5834},
47404 {0.5556, 0.2334, 0.0000, 0.2110},
47405 {0.4690, 0.1611, 0.1632, 0.2067}},
47406 {
47407 {0.3841, 0.3205, 0.0282, 0.2673},
47408 {0.5058, 0.1179, 0.0466, 0.3296},
47409 {0.4709, 0.0000, 0.0781, 0.4510},
47410 {0.4136, 0.0917, 0.1352, 0.3595}},
47411 {
47412 {0.2763, 0.2992, 0.0512, 0.3733},
47413 {0.3914, 0.0911, 0.1250, 0.3924},
47414 {0.2588, 0.0846, 0.3315, 0.3252},
47415 {0.4589, 0.0345, 0.1024, 0.4042}},
47416 {
47417 {0.3778, 0.2226, 0.0167, 0.3830},
47418 {0.3169, 0.1033, 0.2091, 0.3707},
47419 {0.2253, 0.1138, 0.1100, 0.5509},
47420 {0.2465, 0.0556, 0.0895, 0.6084}},
47421 {
47422 {0.2538, 0.2240, 0.0378, 0.4844},
47423 {0.2575, 0.1732, 0.3013, 0.2680},
47424 {0.6566, 0.1407, 0.1360, 0.0667},
47425 {0.2818, 0.0827, 0.1527, 0.4828}},
47426 {
47427 {0.3268, 0.2053, 0.0718, 0.3961},
47428 {0.5182, 0.1612, 0.1204, 0.2002},
47429 {0.2955, 0.1686, 0.1226, 0.4133},
47430 {0.2601, 0.1071, 0.1841, 0.4488}},
47431 {
47432 {0.4240, 0.1242, 0.0156, 0.4361},
47433 {0.3250, 0.0728, 0.2339, 0.3683},
47434 {0.1716, 0.1289, 0.1177, 0.5818},
47435 {0.2232, 0.1261, 0.0874, 0.5634}},
47436 {
47437 {0.4140, 0.1291, 0.0782, 0.3787},
47438 {0.3316, 0.2382, 0.1418, 0.2884},
47439 {0.3388, 0.2481, 0.1164, 0.2967},
47440 {0.2724, 0.1013, 0.1109, 0.5154}},
47441 {
47442 {0.1708, 0.1397, 0.0000, 0.6895},
47443 {0.1521, 0.1658, 0.0000, 0.6821},
47444 {0.0510, 0.3246, 0.0000, 0.6245},
47445 {0.0646, 0.0935, 0.0000, 0.8420}},
47446 {
47447 {1.0000, 0.0000, 0.0000, 0.0000},
47448 {1.0000, 0.0000, 0.0000, 0.0000},
47449 {1.0000, 0.0000, 0.0000, 0.0000},
47450 {1.0000, 0.0000, 0.0000, 0.0000}},
47451 {
47452 {0.0000, 0.0000, 1.0000, 0.0000},
47453 {0.0000, 0.0000, 0.0000, 0.0000},
47454 {0.0000, 0.0000, 0.0000, 0.0000},
47455 {0.0000, 0.0000, 0.0000, 0.0000}},
47456 {
47457 {0.0000, 0.0000, 0.0000, 0.0000},
47458 {0.0000, 0.0000, 0.0000, 0.0000},
47459 {0.3207, 0.1057, 0.3895, 0.1841},
47460 {0.0000, 0.0000, 0.0000, 0.0000}},
47461 {
47462 {0.3383, 0.1509, 0.0544, 0.4564},
47463 {0.5812, 0.1057, 0.0000, 0.3131},
47464 {0.3624, 0.2771, 0.1165, 0.2440},
47465 {0.0952, 0.2497, 0.1774, 0.4778}},
47466 {
47467 {0.3398, 0.1598, 0.1018, 0.3986},
47468 {0.2248, 0.3071, 0.1091, 0.3590},
47469 {0.0562, 0.2301, 0.2926, 0.4211},
47470 {0.1488, 0.1393, 0.1849, 0.5269}},
47471 {
47472 {0.2516, 0.2704, 0.2024, 0.2756},
47473 {0.2594, 0.1429, 0.3313, 0.2664},
47474 {0.4518, 0.1478, 0.2868, 0.1136},
47475 {0.2516, 0.2554, 0.2992, 0.1939}},
47476 {
47477 {0.3754, 0.2535, 0.0402, 0.3309},
47478 {0.3295, 0.3206, 0.1483, 0.2016},
47479 {0.2966, 0.2511, 0.2163, 0.2360},
47480 {0.0797, 0.2617, 0.1342, 0.5244}},
47481 {
47482 {0.3340, 0.2369, 0.1247, 0.3045},
47483 {0.1454, 0.3323, 0.1249, 0.3973},
47484 {0.2541, 0.2452, 0.1345, 0.3662},
47485 {0.2264, 0.1239, 0.2322, 0.4175}},
47486 {
47487 {0.3421, 0.1198, 0.4190, 0.1191},
47488 {0.4567, 0.1507, 0.2458, 0.1468},
47489 {0.5406, 0.1031, 0.3223, 0.0340},
47490 {0.1780, 0.1760, 0.4389, 0.2071}},
47491 {
47492 {0.4051, 0.1595, 0.1335, 0.3019},
47493 {0.2816, 0.1462, 0.2258, 0.3464},
47494 {0.3622, 0.2165, 0.2253, 0.1960},
47495 {0.1888, 0.2790, 0.1186, 0.4136}},
47496 {
47497 {0.3504, 0.1301, 0.2736, 0.2459},
47498 {0.2564, 0.2511, 0.1145, 0.3780},
47499 {0.3090, 0.2239, 0.0644, 0.4026},
47500 {0.1940, 0.1008, 0.1926, 0.5126}},
47501 {
47502 {0.3991, 0.2023, 0.1992, 0.1994},
47503 {0.3077, 0.0707, 0.5153, 0.1064},
47504 {0.2756, 0.2431, 0.3099, 0.1714},
47505 {0.2563, 0.1072, 0.2676, 0.3690}},
47506 {
47507 {0.3309, 0.2587, 0.1416, 0.2689},
47508 {0.2591, 0.3014, 0.0687, 0.3709},
47509 {0.4109, 0.1845, 0.1752, 0.2295},
47510 {0.2075, 0.2989, 0.1763, 0.3173}},
47511 {
47512 {0.2840, 0.2677, 0.0514, 0.3969},
47513 {0.2851, 0.1816, 0.0658, 0.4675},
47514 {0.3023, 0.1059, 0.2540, 0.3378},
47515 {0.1787, 0.1190, 0.1954, 0.5069}},
47516 {
47517 {0.3317, 0.1769, 0.2949, 0.1965},
47518 {0.4403, 0.1604, 0.2496, 0.1497},
47519 {0.3127, 0.1324, 0.1858, 0.3691},
47520 {0.2151, 0.1532, 0.3243, 0.3074}},
47521 {
47522 {0.4171, 0.0923, 0.1185, 0.3721},
47523 {0.4980, 0.0772, 0.1803, 0.2445},
47524 {0.3176, 0.2717, 0.0960, 0.3147},
47525 {0.1913, 0.3009, 0.0417, 0.4661}},
47526 {
47527 {0.4133, 0.1302, 0.1965, 0.2601},
47528 {0.3130, 0.2546, 0.0849, 0.3475},
47529 {0.4016, 0.1087, 0.2171, 0.2726},
47530 {0.2354, 0.1538, 0.1861, 0.4246}},
47531 {
47532 {0.4745, 0.1414, 0.0878, 0.2963},
47533 {0.3087, 0.2117, 0.2701, 0.2095},
47534 {0.3167, 0.1331, 0.2925, 0.2576},
47535 {0.2539, 0.2888, 0.2128, 0.2445}},
47536 {
47537 {0.4058, 0.2031, 0.1111, 0.2800},
47538 {0.3668, 0.3586, 0.1619, 0.1126},
47539 {0.5171, 0.1458, 0.1963, 0.1408},
47540 {0.1940, 0.3025, 0.1332, 0.3703}},
47541 {
47542 {0.3046, 0.1573, 0.1525, 0.3856},
47543 {0.2998, 0.2516, 0.1330, 0.3155},
47544 {0.3439, 0.2352, 0.1203, 0.3006},
47545 {0.2768, 0.0870, 0.2348, 0.4014}},
47546 {
47547 {0.3952, 0.1093, 0.3297, 0.1658},
47548 {0.3178, 0.2299, 0.2623, 0.1899},
47549 {0.3063, 0.1706, 0.3767, 0.1464},
47550 {0.2210, 0.2648, 0.2667, 0.2475}},
47551 {
47552 {0.3638, 0.1475, 0.2493, 0.2394},
47553 {0.3433, 0.2203, 0.1444, 0.2920},
47554 {0.3875, 0.2948, 0.1420, 0.1757},
47555 {0.1741, 0.3084, 0.0581, 0.4594}},
47556 {
47557 {0.2998, 0.1191, 0.1175, 0.4636},
47558 {0.2553, 0.2058, 0.1201, 0.4188},
47559 {0.4751, 0.1010, 0.1746, 0.2493},
47560 {0.1657, 0.2722, 0.1658, 0.3962}},
47561 {
47562 {0.3850, 0.2150, 0.2765, 0.1234},
47563 {0.3423, 0.1209, 0.3432, 0.1935},
47564 {0.3148, 0.2421, 0.2018, 0.2412},
47565 {0.1944, 0.2809, 0.2802, 0.2444}},
47566 {
47567 {0.3423, 0.2291, 0.1507, 0.2780},
47568 {0.3863, 0.2303, 0.1165, 0.2669},
47569 {0.5208, 0.1957, 0.1187, 0.1647},
47570 {0.1682, 0.2822, 0.1430, 0.4067}},
47571 {
47572 {0.4063, 0.1217, 0.1971, 0.2749},
47573 {0.2669, 0.2727, 0.0248, 0.4356},
47574 {0.2134, 0.2017, 0.2930, 0.2919},
47575 {0.2301, 0.1653, 0.2247, 0.3799}},
47576 {
47577 {0.4318, 0.0842, 0.2582, 0.2258},
47578 {0.4310, 0.1260, 0.3191, 0.1239},
47579 {0.3097, 0.3444, 0.2215, 0.1244},
47580 {0.2814, 0.1977, 0.3484, 0.1725}},
47581 {
47582 {0.3439, 0.1851, 0.1742, 0.2967},
47583 {0.4047, 0.1879, 0.3113, 0.0962},
47584 {0.4764, 0.1956, 0.1546, 0.1735},
47585 {0.2206, 0.1334, 0.1667, 0.4794}},
47586 {
47587 {0.3838, 0.1299, 0.1624, 0.3239},
47588 {0.2517, 0.2169, 0.0979, 0.4335},
47589 {0.2319, 0.2920, 0.1491, 0.3270},
47590 {0.3294, 0.2413, 0.0801, 0.3492}},
47591 {
47592 {0.3349, 0.1600, 0.2881, 0.2169},
47593 {0.3244, 0.2435, 0.1893, 0.2428},
47594 {0.3101, 0.1801, 0.3000, 0.2097},
47595 {0.2853, 0.1712, 0.3356, 0.2079}},
47596 {
47597 {0.4473, 0.1303, 0.0894, 0.3330},
47598 {0.2526, 0.1152, 0.2692, 0.3631},
47599 {0.3758, 0.2108, 0.1594, 0.2541},
47600 {0.1745, 0.2607, 0.0779, 0.4869}},
47601 {
47602 {0.3361, 0.1471, 0.2279, 0.2889},
47603 {0.2509, 0.1546, 0.1172, 0.4774},
47604 {0.3271, 0.0775, 0.1620, 0.4335},
47605 {0.2399, 0.2310, 0.1271, 0.4020}},
47606 {
47607 {0.3869, 0.1597, 0.2618, 0.1917},
47608 {0.2915, 0.2919, 0.2523, 0.1643},
47609 {0.3810, 0.1351, 0.3071, 0.1768},
47610 {0.1348, 0.1354, 0.5126, 0.2172}},
47611 {
47612 {0.4120, 0.2850, 0.0781, 0.2249},
47613 {0.4637, 0.2748, 0.0991, 0.1623},
47614 {0.4453, 0.1837, 0.1691, 0.2019},
47615 {0.1435, 0.1764, 0.1360, 0.5441}},
47616 {
47617 {0.3549, 0.1329, 0.1892, 0.3230},
47618 {0.2489, 0.1804, 0.1272, 0.4435},
47619 {0.1765, 0.2571, 0.0897, 0.4766},
47620 {0.1456, 0.1711, 0.3097, 0.3736}},
47621 {
47622 {0.4871, 0.1102, 0.2028, 0.1999},
47623 {0.2324, 0.1699, 0.2405, 0.3572},
47624 {0.2857, 0.2572, 0.2039, 0.2532},
47625 {0.1975, 0.1863, 0.3627, 0.2535}},
47626 {
47627 {0.2640, 0.1929, 0.1863, 0.3568},
47628 {0.3404, 0.1853, 0.0615, 0.4128},
47629 {0.4822, 0.2051, 0.1487, 0.1640},
47630 {0.0852, 0.3318, 0.0647, 0.5182}},
47631 {
47632 {0.4115, 0.0957, 0.1414, 0.3513},
47633 {0.3212, 0.2198, 0.0945, 0.3645},
47634 {0.2752, 0.1809, 0.1397, 0.4041},
47635 {0.3094, 0.1418, 0.2279, 0.3209}},
47636 {
47637 {0.3664, 0.1823, 0.2527, 0.1986},
47638 {0.3586, 0.3735, 0.2299, 0.0380},
47639 {0.2541, 0.1451, 0.2842, 0.3166},
47640 {0.2066, 0.1561, 0.4615, 0.1759}},
47641 {
47642 {0.5483, 0.1724, 0.0904, 0.1889},
47643 {0.3491, 0.3076, 0.1458, 0.1975},
47644 {0.3311, 0.2590, 0.0984, 0.3115},
47645 {0.1511, 0.1840, 0.0568, 0.6080}},
47646 {
47647 {0.3696, 0.1949, 0.2037, 0.2318},
47648 {0.1920, 0.1498, 0.0000, 0.6582},
47649 {0.2148, 0.2828, 0.1757, 0.3268},
47650 {0.1793, 0.1454, 0.1488, 0.5265}},
47651 {
47652 {0.3694, 0.1772, 0.2437, 0.2097},
47653 {0.2490, 0.1548, 0.3020, 0.2942},
47654 {0.1271, 0.2497, 0.4118, 0.2113},
47655 {0.1901, 0.2843, 0.2997, 0.2258}},
47656 {
47657 {0.4381, 0.1382, 0.1857, 0.2379},
47658 {0.5105, 0.1476, 0.1503, 0.1917},
47659 {0.3574, 0.2389, 0.1826, 0.2212},
47660 {0.2938, 0.2673, 0.1138, 0.3252}},
47661 {
47662 {0.2639, 0.1413, 0.2640, 0.3309},
47663 {0.3357, 0.1320, 0.1383, 0.3940},
47664 {0.3144, 0.1746, 0.1024, 0.4086},
47665 {0.2163, 0.2106, 0.0922, 0.4810}},
47666 {
47667 {0.3469, 0.1654, 0.2825, 0.2051},
47668 {0.2698, 0.1468, 0.3087, 0.2747},
47669 {0.4240, 0.0916, 0.2276, 0.2568},
47670 {0.1865, 0.2429, 0.2971, 0.2734}},
47671 {
47672 {0.3727, 0.1754, 0.1759, 0.2760},
47673 {0.3418, 0.2120, 0.2228, 0.2234},
47674 {0.4709, 0.2529, 0.1175, 0.1587},
47675 {0.0860, 0.3099, 0.0636, 0.5405}},
47676 {
47677 {0.4070, 0.1525, 0.1843, 0.2562},
47678 {0.2546, 0.1194, 0.0951, 0.5309},
47679 {0.4022, 0.1184, 0.0339, 0.4456},
47680 {0.2281, 0.0937, 0.3185, 0.3596}},
47681 {
47682 {0.3579, 0.2031, 0.2618, 0.1773},
47683 {0.3721, 0.0000, 0.4062, 0.2216},
47684 {0.4512, 0.0936, 0.3071, 0.1481},
47685 {0.2371, 0.1487, 0.3495, 0.2646}},
47686 {
47687 {0.4469, 0.2017, 0.1165, 0.2349},
47688 {0.4181, 0.2107, 0.0771, 0.2941},
47689 {0.3941, 0.2077, 0.1582, 0.2400},
47690 {0.1227, 0.2469, 0.0792, 0.5512}},
47691 {
47692 {0.2939, 0.2030, 0.1767, 0.3264},
47693 {0.2942, 0.2309, 0.1075, 0.3673},
47694 {0.2836, 0.1888, 0.2925, 0.2351},
47695 {0.2855, 0.1596, 0.1250, 0.4299}},
47696 {
47697 {0.3632, 0.2494, 0.2701, 0.1173},
47698 {0.5496, 0.0844, 0.2575, 0.1085},
47699 {0.2478, 0.3548, 0.2502, 0.1472},
47700 {0.1993, 0.1871, 0.3754, 0.2382}},
47701 {
47702 {0.3873, 0.0987, 0.1513, 0.3627},
47703 {0.3182, 0.2915, 0.2328, 0.1576},
47704 {0.4731, 0.1621, 0.1148, 0.2499},
47705 {0.2368, 0.3104, 0.0723, 0.3805}}},
47706
47707 { /* Splice_Site: T2_AG; Species: Yeast */
47708 {
47709 {0.2876, 0.2876, 0.2876, 0.2876},
47710 {0.1828, 0.1828, 0.1828, 0.1828},
47711 {0.1543, 0.1543, 0.1543, 0.1543},
47712 {0.3753, 0.3753, 0.3753, 0.3753}},
47713 {
47714 {0.3983, 0.0546, 0.1982, 0.3488},
47715 {0.2692, 0.1838, 0.0867, 0.4603},
47716 {0.4849, 0.0532, 0.0000, 0.4619},
47717 {0.2839, 0.1716, 0.0878, 0.4567}},
47718 {
47719 {0.3807, 0.0960, 0.2140, 0.3093},
47720 {0.5293, 0.2744, 0.0632, 0.1330},
47721 {0.2402, 0.3755, 0.2304, 0.1539},
47722 {0.2683, 0.0932, 0.3134, 0.3251}},
47723 {
47724 {0.3919, 0.1179, 0.0705, 0.4197},
47725 {0.3384, 0.1169, 0.1106, 0.4341},
47726 {0.2015, 0.2399, 0.2152, 0.3434},
47727 {0.2065, 0.2088, 0.2384, 0.3462}},
47728 {
47729 {0.2866, 0.1985, 0.1699, 0.3450},
47730 {0.2324, 0.2413, 0.0934, 0.4328},
47731 {0.3108, 0.0000, 0.2672, 0.4219},
47732 {0.3477, 0.0852, 0.1704, 0.3967}},
47733 {
47734 {0.4033, 0.1374, 0.2447, 0.2145},
47735 {0.4312, 0.0000, 0.1876, 0.3813},
47736 {0.1813, 0.0945, 0.2366, 0.4876},
47737 {0.4185, 0.0418, 0.1657, 0.3740}},
47738 {
47739 {0.4346, 0.0853, 0.1921, 0.2881},
47740 {0.2185, 0.1072, 0.3346, 0.3397},
47741 {0.3230, 0.1167, 0.1225, 0.4378},
47742 {0.3109, 0.1644, 0.1918, 0.3329}},
47743 {
47744 {0.3527, 0.0900, 0.3060, 0.2513},
47745 {0.1908, 0.1321, 0.2698, 0.4073},
47746 {0.4320, 0.1333, 0.1693, 0.2653},
47747 {0.2674, 0.0960, 0.2424, 0.3942}},
47748 {
47749 {0.5436, 0.1297, 0.0770, 0.2496},
47750 {0.4490, 0.0000, 0.1655, 0.3855},
47751 {0.3159, 0.1298, 0.1921, 0.3621},
47752 {0.2372, 0.1508, 0.1781, 0.4340}},
47753 {
47754 {0.3684, 0.1530, 0.1535, 0.3251},
47755 {0.3377, 0.1402, 0.0671, 0.4550},
47756 {0.2210, 0.0603, 0.2753, 0.4434},
47757 {0.2748, 0.1422, 0.1650, 0.4180}},
47758 {
47759 {0.4244, 0.0802, 0.2572, 0.2382},
47760 {0.1828, 0.0645, 0.2459, 0.5069},
47761 {0.3556, 0.0489, 0.3509, 0.2445},
47762 {0.2723, 0.1269, 0.2058, 0.3950}},
47763 {
47764 {0.2835, 0.1711, 0.2063, 0.3391},
47765 {0.1822, 0.0936, 0.1750, 0.5492},
47766 {0.3193, 0.0619, 0.2237, 0.3951},
47767 {0.1402, 0.1711, 0.1930, 0.4957}},
47768 {
47769 {0.2373, 0.1067, 0.2727, 0.3833},
47770 {0.4061, 0.1197, 0.2362, 0.2380},
47771 {0.4817, 0.2422, 0.0000, 0.2761},
47772 {0.2910, 0.0810, 0.1544, 0.4736}},
47773 {
47774 {0.4111, 0.2466, 0.1226, 0.2197},
47775 {0.3301, 0.0635, 0.2035, 0.4029},
47776 {0.2442, 0.0514, 0.1555, 0.5489},
47777 {0.3228, 0.0641, 0.1061, 0.5071}},
47778 {
47779 {0.5758, 0.1416, 0.0697, 0.2128},
47780 {0.4028, 0.1272, 0.1361, 0.3339},
47781 {0.3070, 0.1296, 0.0620, 0.5014},
47782 {0.2407, 0.1018, 0.2061, 0.4514}},
47783 {
47784 {0.4023, 0.1287, 0.1683, 0.3007},
47785 {0.2657, 0.3281, 0.2079, 0.1983},
47786 {0.1177, 0.1252, 0.1876, 0.5694},
47787 {0.3379, 0.1538, 0.0949, 0.4134}},
47788 {
47789 {0.2490, 0.1468, 0.2245, 0.3797},
47790 {0.2946, 0.3100, 0.1462, 0.2492},
47791 {0.2752, 0.2226, 0.2190, 0.2833},
47792 {0.2056, 0.1371, 0.2014, 0.4559}},
47793 {
47794 {0.5337, 0.2024, 0.1332, 0.1308},
47795 {0.3201, 0.0464, 0.1380, 0.4956},
47796 {0.3187, 0.0407, 0.1626, 0.4781},
47797 {0.2255, 0.1487, 0.1812, 0.4447}},
47798 {
47799 {0.3197, 0.1973, 0.1494, 0.3337},
47800 {0.2540, 0.1307, 0.2015, 0.4138},
47801 {0.3736, 0.2085, 0.1554, 0.2625},
47802 {0.3363, 0.1482, 0.1708, 0.3447}},
47803 {
47804 {0.3022, 0.1759, 0.1201, 0.4018},
47805 {0.2865, 0.0975, 0.1432, 0.4729},
47806 {0.3452, 0.0542, 0.0471, 0.5534},
47807 {0.3183, 0.1473, 0.1470, 0.3874}},
47808 {
47809 {0.4456, 0.0520, 0.1080, 0.3945},
47810 {0.2531, 0.1221, 0.1271, 0.4977},
47811 {0.2593, 0.0000, 0.2713, 0.4693},
47812 {0.2095, 0.1919, 0.1284, 0.4702}},
47813 {
47814 {0.4715, 0.1954, 0.1131, 0.2200},
47815 {0.5708, 0.1427, 0.0744, 0.2120},
47816 {0.2386, 0.2335, 0.4083, 0.1196},
47817 {0.2506, 0.1668, 0.0894, 0.4932}},
47818 {
47819 {0.4217, 0.1377, 0.0450, 0.3955},
47820 {0.1889, 0.0465, 0.1725, 0.5921},
47821 {0.4217, 0.0603, 0.1717, 0.3462},
47822 {0.2003, 0.0499, 0.2291, 0.5207}},
47823 {
47824 {0.4067, 0.1330, 0.1064, 0.3539},
47825 {0.2991, 0.0964, 0.3138, 0.2907},
47826 {0.3948, 0.2222, 0.0000, 0.3830},
47827 {0.2457, 0.1411, 0.1037, 0.5095}},
47828 {
47829 {0.3880, 0.1031, 0.1505, 0.3584},
47830 {0.3291, 0.3936, 0.1080, 0.1694},
47831 {0.3132, 0.2995, 0.0000, 0.3873},
47832 {0.2652, 0.1316, 0.1382, 0.4650}},
47833 {
47834 {0.3350, 0.2326, 0.1542, 0.2782},
47835 {0.2260, 0.4079, 0.1834, 0.1827},
47836 {0.3336, 0.2016, 0.1295, 0.3353},
47837 {0.2566, 0.1569, 0.1962, 0.3902}},
47838 {
47839 {0.2575, 0.3384, 0.1135, 0.2906},
47840 {0.2221, 0.0731, 0.1775, 0.5273},
47841 {0.2348, 0.0957, 0.2424, 0.4271},
47842 {0.1079, 0.2606, 0.1586, 0.4728}},
47843 {
47844 {0.2571, 0.0457, 0.1187, 0.5785},
47845 {0.3857, 0.1222, 0.0730, 0.4190},
47846 {0.4585, 0.2510, 0.0491, 0.2414},
47847 {0.2342, 0.0947, 0.1541, 0.5170}},
47848 {
47849 {0.3804, 0.1899, 0.1621, 0.2675},
47850 {0.3530, 0.0000, 0.1412, 0.5058},
47851 {0.4303, 0.0000, 0.0768, 0.4929},
47852 {0.2593, 0.1409, 0.1779, 0.4219}},
47853 {
47854 {0.4273, 0.1250, 0.1001, 0.3476},
47855 {0.3412, 0.2660, 0.1303, 0.2626},
47856 {0.2104, 0.1646, 0.2141, 0.4108},
47857 {0.2291, 0.1047, 0.1896, 0.4766}},
47858 {
47859 {0.3278, 0.1593, 0.1350, 0.3780},
47860 {0.5331, 0.0620, 0.1138, 0.2911},
47861 {0.3229, 0.1558, 0.1017, 0.4196},
47862 {0.2424, 0.1229, 0.1867, 0.4480}},
47863 {
47864 {0.4643, 0.0788, 0.0477, 0.4093},
47865 {0.3144, 0.1254, 0.1926, 0.3676},
47866 {0.3828, 0.1099, 0.3394, 0.1680},
47867 {0.2597, 0.1216, 0.1464, 0.4723}},
47868 {
47869 {0.3460, 0.1634, 0.2577, 0.2329},
47870 {0.3875, 0.1517, 0.1508, 0.3100},
47871 {0.2224, 0.2730, 0.1667, 0.3380},
47872 {0.3718, 0.0640, 0.1634, 0.4008}},
47873 {
47874 {0.4285, 0.2408, 0.0478, 0.2829},
47875 {0.2317, 0.0559, 0.0582, 0.6543},
47876 {0.2416, 0.2563, 0.0856, 0.4165},
47877 {0.2572, 0.0997, 0.1774, 0.4657}},
47878 {
47879 {0.3192, 0.1846, 0.1028, 0.3934},
47880 {0.1436, 0.3830, 0.1475, 0.3259},
47881 {0.2519, 0.3285, 0.0000, 0.4196},
47882 {0.3493, 0.1175, 0.0624, 0.4708}},
47883 {
47884 {0.4766, 0.1662, 0.0548, 0.3024},
47885 {0.1655, 0.0794, 0.0431, 0.7120},
47886 {0.1997, 0.2023, 0.1078, 0.4902},
47887 {0.3940, 0.1175, 0.0584, 0.4301}},
47888 {
47889 {0.3930, 0.2841, 0.0228, 0.3001},
47890 {0.1235, 0.0671, 0.0630, 0.7464},
47891 {0.3056, 0.4189, 0.1390, 0.1365},
47892 {0.2841, 0.1617, 0.0902, 0.4640}},
47893 {
47894 {0.3851, 0.4315, 0.0000, 0.1833},
47895 {0.2286, 0.1214, 0.1609, 0.4890},
47896 {0.1290, 0.3781, 0.0000, 0.4929},
47897 {0.5056, 0.0945, 0.0773, 0.3226}},
47898 {
47899 {0.2777, 0.3806, 0.0640, 0.2778},
47900 {0.1870, 0.0753, 0.0733, 0.6644},
47901 {0.2484, 0.3651, 0.2588, 0.1277},
47902 {0.4531, 0.1025, 0.0492, 0.3952}},
47903 {
47904 {0.3738, 0.2147, 0.0255, 0.3860},
47905 {0.2253, 0.0768, 0.0379, 0.6600},
47906 {0.1124, 0.3306, 0.0000, 0.5570},
47907 {0.4770, 0.0852, 0.1469, 0.2910}},
47908 {
47909 {0.5889, 0.2972, 0.0463, 0.0676},
47910 {0.2385, 0.1166, 0.0000, 0.6449},
47911 {0.3280, 0.4486, 0.0000, 0.2234},
47912 {0.4761, 0.1379, 0.1158, 0.2702}},
47913 {
47914 {0.4499, 0.3081, 0.0170, 0.2250},
47915 {0.1911, 0.1903, 0.1193, 0.4993},
47916 {0.6176, 0.1251, 0.0000, 0.2573},
47917 {0.5030, 0.1351, 0.1304, 0.2315}},
47918 {
47919 {0.4576, 0.3478, 0.0000, 0.1946},
47920 {0.3221, 0.1436, 0.1045, 0.4298},
47921 {0.2496, 0.1355, 0.2380, 0.3769},
47922 {0.1153, 0.1418, 0.1793, 0.5637}},
47923 {
47924 {0.2054, 0.3437, 0.0241, 0.4268},
47925 {0.1725, 0.1803, 0.1815, 0.4656},
47926 {0.7284, 0.0000, 0.0000, 0.2716},
47927 {0.2208, 0.0925, 0.1112, 0.5755}},
47928 {
47929 {0.4208, 0.2630, 0.0343, 0.2819},
47930 {0.4652, 0.3505, 0.0000, 0.1843},
47931 {0.3597, 0.1798, 0.0000, 0.4604},
47932 {0.2913, 0.0844, 0.1551, 0.4692}},
47933 {
47934 {0.4559, 0.1565, 0.0432, 0.3445},
47935 {0.3484, 0.0406, 0.1334, 0.4776},
47936 {0.3977, 0.0969, 0.0000, 0.5054},
47937 {0.3082, 0.1515, 0.2060, 0.3343}},
47938 {
47939 {0.2849, 0.1520, 0.1140, 0.4491},
47940 {0.2557, 0.1296, 0.1870, 0.4277},
47941 {0.4967, 0.0716, 0.0756, 0.3560},
47942 {0.1766, 0.1284, 0.1501, 0.5449}},
47943 {
47944 {0.5052, 0.0954, 0.0596, 0.3398},
47945 {0.3078, 0.1241, 0.0641, 0.5039},
47946 {0.1835, 0.2564, 0.0000, 0.5601},
47947 {0.1553, 0.1525, 0.1207, 0.5714}},
47948 {
47949 {0.6060, 0.0647, 0.0301, 0.2992},
47950 {0.2262, 0.2242, 0.2171, 0.3325},
47951 {0.4027, 0.2973, 0.1042, 0.1959},
47952 {0.3069, 0.0979, 0.1346, 0.4605}},
47953 {
47954 {0.0848, 0.2976, 0.0000, 0.6176},
47955 {0.3291, 0.2736, 0.0000, 0.3973},
47956 {0.2069, 0.1378, 0.0000, 0.6553},
47957 {0.0206, 0.1329, 0.0000, 0.8465}},
47958 {
47959 {1.0000, 0.0000, 0.0000, 0.0000},
47960 {1.0000, 0.0000, 0.0000, 0.0000},
47961 {1.0000, 0.0000, 0.0000, 0.0000},
47962 {1.0000, 0.0000, 0.0000, 0.0000}},
47963 {
47964 {0.0000, 0.0000, 1.0000, 0.0000},
47965 {0.0000, 0.0000, 0.0000, 0.0000},
47966 {0.0000, 0.0000, 0.0000, 0.0000},
47967 {0.0000, 0.0000, 0.0000, 0.0000}},
47968 {
47969 {0.0000, 0.0000, 0.0000, 0.0000},
47970 {0.0000, 0.0000, 0.0000, 0.0000},
47971 {0.3658, 0.2208, 0.1554, 0.2580},
47972 {0.0000, 0.0000, 0.0000, 0.0000}},
47973 {
47974 {0.2850, 0.2467, 0.1130, 0.3553},
47975 {0.1827, 0.2638, 0.0746, 0.4788},
47976 {0.4697, 0.1538, 0.1051, 0.2715},
47977 {0.1966, 0.2231, 0.1592, 0.4211}},
47978 {
47979 {0.3333, 0.2385, 0.0901, 0.3381},
47980 {0.2458, 0.3211, 0.3607, 0.0724},
47981 {0.4179, 0.0723, 0.3639, 0.1460},
47982 {0.1237, 0.2114, 0.3228, 0.3420}},
47983 {
47984 {0.3994, 0.1663, 0.0986, 0.3357},
47985 {0.3555, 0.1084, 0.2073, 0.3287},
47986 {0.2781, 0.2445, 0.1786, 0.2988},
47987 {0.0000, 0.2841, 0.1950, 0.5208}},
47988 {
47989 {0.4493, 0.0958, 0.0919, 0.3629},
47990 {0.3199, 0.2806, 0.0802, 0.3194},
47991 {0.1395, 0.2840, 0.0000, 0.5765},
47992 {0.2276, 0.1392, 0.0646, 0.5686}},
47993 {
47994 {0.4285, 0.1758, 0.1695, 0.2262},
47995 {0.3236, 0.1791, 0.3172, 0.1801},
47996 {0.2402, 0.2463, 0.3808, 0.1327},
47997 {0.2480, 0.1224, 0.3178, 0.3118}},
47998 {
47999 {0.4733, 0.1576, 0.0491, 0.3200},
48000 {0.3231, 0.3140, 0.1576, 0.2052},
48001 {0.3572, 0.1790, 0.2342, 0.2296},
48002 {0.1233, 0.3286, 0.1938, 0.3543}},
48003 {
48004 {0.3796, 0.1757, 0.1247, 0.3200},
48005 {0.3566, 0.1028, 0.0000, 0.5406},
48006 {0.2064, 0.1590, 0.1111, 0.5236},
48007 {0.0297, 0.2296, 0.3959, 0.3448}},
48008 {
48009 {0.5338, 0.0000, 0.2327, 0.2335},
48010 {0.2884, 0.1948, 0.3250, 0.1917},
48011 {0.3305, 0.1424, 0.3875, 0.1396},
48012 {0.1987, 0.2031, 0.4173, 0.1809}},
48013 {
48014 {0.3822, 0.1787, 0.1772, 0.2619},
48015 {0.3509, 0.2346, 0.1715, 0.2430},
48016 {0.4383, 0.1914, 0.1854, 0.1850},
48017 {0.0417, 0.3938, 0.0849, 0.4796}},
48018 {
48019 {0.3401, 0.2464, 0.0960, 0.3175},
48020 {0.1030, 0.1397, 0.0708, 0.6865},
48021 {0.2530, 0.2444, 0.1514, 0.3512},
48022 {0.2165, 0.3051, 0.2088, 0.2697}},
48023 {
48024 {0.3108, 0.1393, 0.4065, 0.1434},
48025 {0.3119, 0.1033, 0.3470, 0.2378},
48026 {0.3060, 0.1918, 0.1920, 0.3102},
48027 {0.2466, 0.2110, 0.2852, 0.2571}},
48028 {
48029 {0.3708, 0.2599, 0.1139, 0.2554},
48030 {0.3955, 0.2042, 0.1457, 0.2546},
48031 {0.4395, 0.1773, 0.1249, 0.2583},
48032 {0.1467, 0.1422, 0.1058, 0.6053}},
48033 {
48034 {0.2165, 0.1929, 0.2119, 0.3787},
48035 {0.2131, 0.2074, 0.1211, 0.4584},
48036 {0.2718, 0.1351, 0.1284, 0.4647},
48037 {0.2405, 0.0967, 0.1961, 0.4667}},
48038 {
48039 {0.2844, 0.1771, 0.1409, 0.3976},
48040 {0.3128, 0.1654, 0.3119, 0.2099},
48041 {0.2764, 0.0846, 0.5454, 0.0936},
48042 {0.2630, 0.1694, 0.3733, 0.1944}},
48043 {
48044 {0.3258, 0.2656, 0.1130, 0.2956},
48045 {0.3208, 0.3175, 0.0988, 0.2630},
48046 {0.3329, 0.1648, 0.0969, 0.4054},
48047 {0.1871, 0.2565, 0.0402, 0.5162}},
48048 {
48049 {0.2452, 0.1712, 0.2238, 0.3599},
48050 {0.2470, 0.1035, 0.1398, 0.5097},
48051 {0.1849, 0.1844, 0.0876, 0.5431},
48052 {0.1930, 0.0878, 0.2194, 0.4998}},
48053 {
48054 {0.2166, 0.3683, 0.2286, 0.1866},
48055 {0.1298, 0.4049, 0.2680, 0.1974},
48056 {0.4389, 0.1327, 0.2976, 0.1308},
48057 {0.2477, 0.1584, 0.2970, 0.2969}},
48058 {
48059 {0.4401, 0.1560, 0.1534, 0.2505},
48060 {0.3577, 0.2453, 0.1415, 0.2556},
48061 {0.4152, 0.0588, 0.1747, 0.3512},
48062 {0.2110, 0.2530, 0.2134, 0.3226}},
48063 {
48064 {0.3259, 0.2019, 0.1112, 0.3611},
48065 {0.3736, 0.2432, 0.2374, 0.1458},
48066 {0.1927, 0.1457, 0.2366, 0.4250},
48067 {0.1152, 0.2757, 0.3006, 0.3085}},
48068 {
48069 {0.4679, 0.1666, 0.0979, 0.2676},
48070 {0.2949, 0.2256, 0.2193, 0.2602},
48071 {0.3448, 0.1884, 0.1558, 0.3110},
48072 {0.3303, 0.2569, 0.1041, 0.3087}},
48073 {
48074 {0.4365, 0.1531, 0.1805, 0.2298},
48075 {0.3437, 0.3064, 0.1582, 0.1917},
48076 {0.4219, 0.1133, 0.1702, 0.2947},
48077 {0.1390, 0.2558, 0.0586, 0.5466}},
48078 {
48079 {0.3029, 0.1746, 0.2273, 0.2952},
48080 {0.2743, 0.1529, 0.1189, 0.4539},
48081 {0.3480, 0.1740, 0.0600, 0.4180},
48082 {0.3647, 0.1025, 0.1032, 0.4296}},
48083 {
48084 {0.2794, 0.2284, 0.1797, 0.3125},
48085 {0.4923, 0.0543, 0.3413, 0.1122},
48086 {0.2904, 0.2344, 0.3000, 0.1751},
48087 {0.2530, 0.1255, 0.3096, 0.3120}},
48088 {
48089 {0.4631, 0.1921, 0.1607, 0.1841},
48090 {0.3436, 0.3547, 0.1454, 0.1563},
48091 {0.2751, 0.1520, 0.2131, 0.3597},
48092 {0.2183, 0.2561, 0.1243, 0.4013}},
48093 {
48094 {0.3495, 0.2042, 0.1734, 0.2730},
48095 {0.3005, 0.1771, 0.1886, 0.3339},
48096 {0.4501, 0.1030, 0.2010, 0.2459},
48097 {0.1728, 0.1775, 0.2266, 0.4230}},
48098 {
48099 {0.3803, 0.1073, 0.2176, 0.2948},
48100 {0.2821, 0.2764, 0.3424, 0.0991},
48101 {0.3387, 0.2881, 0.2895, 0.0838},
48102 {0.1945, 0.1785, 0.2479, 0.3791}},
48103 {
48104 {0.4655, 0.1135, 0.2537, 0.1673},
48105 {0.3279, 0.2107, 0.1283, 0.3331},
48106 {0.2532, 0.2115, 0.1890, 0.3462},
48107 {0.1639, 0.3357, 0.0988, 0.4017}},
48108 {
48109 {0.1848, 0.1919, 0.1046, 0.5187},
48110 {0.2287, 0.1906, 0.1904, 0.3903},
48111 {0.2876, 0.1899, 0.1873, 0.3352},
48112 {0.2207, 0.1592, 0.1652, 0.4550}},
48113 {
48114 {0.3387, 0.1465, 0.2524, 0.2624},
48115 {0.2721, 0.1376, 0.2754, 0.3149},
48116 {0.3166, 0.2140, 0.0984, 0.3710},
48117 {0.2241, 0.2422, 0.2783, 0.2555}},
48118 {
48119 {0.6038, 0.1502, 0.0907, 0.1553},
48120 {0.5445, 0.1214, 0.1238, 0.2103},
48121 {0.3378, 0.1685, 0.2689, 0.2248},
48122 {0.0866, 0.2915, 0.2519, 0.3699}},
48123 {
48124 {0.2996, 0.1590, 0.2589, 0.2825},
48125 {0.3467, 0.2181, 0.0000, 0.4352},
48126 {0.2209, 0.1320, 0.2999, 0.3472},
48127 {0.1365, 0.2389, 0.2348, 0.3898}},
48128 {
48129 {0.2564, 0.1572, 0.3588, 0.2276},
48130 {0.4596, 0.0440, 0.3622, 0.1342},
48131 {0.1483, 0.1914, 0.3516, 0.3087},
48132 {0.1880, 0.2805, 0.2993, 0.2322}},
48133 {
48134 {0.3625, 0.2373, 0.1647, 0.2355},
48135 {0.4739, 0.1301, 0.2153, 0.1806},
48136 {0.4426, 0.1447, 0.2438, 0.1689},
48137 {0.1407, 0.1454, 0.1767, 0.5373}},
48138 {
48139 {0.3898, 0.1789, 0.1822, 0.2491},
48140 {0.3059, 0.1497, 0.0501, 0.4943},
48141 {0.2354, 0.1237, 0.1198, 0.5211},
48142 {0.2726, 0.0320, 0.1833, 0.5121}},
48143 {
48144 {0.2595, 0.1598, 0.4220, 0.1587},
48145 {0.4668, 0.2754, 0.0000, 0.2578},
48146 {0.2240, 0.2776, 0.3264, 0.1720},
48147 {0.2182, 0.2546, 0.2509, 0.2763}},
48148 {
48149 {0.4609, 0.0984, 0.1205, 0.3202},
48150 {0.2516, 0.2858, 0.0700, 0.3926},
48151 {0.2827, 0.2312, 0.2583, 0.2277},
48152 {0.1448, 0.1862, 0.1887, 0.4803}},
48153 {
48154 {0.2763, 0.1334, 0.2284, 0.3619},
48155 {0.2927, 0.2491, 0.0000, 0.4582},
48156 {0.2017, 0.2951, 0.2037, 0.2995},
48157 {0.1172, 0.2404, 0.3318, 0.3105}},
48158 {
48159 {0.3097, 0.2308, 0.4207, 0.0388},
48160 {0.3391, 0.1134, 0.3988, 0.1487},
48161 {0.2687, 0.4245, 0.1570, 0.1498},
48162 {0.2582, 0.0910, 0.3008, 0.3500}},
48163 {
48164 {0.4015, 0.2793, 0.0594, 0.2598},
48165 {0.4138, 0.1261, 0.1680, 0.2920},
48166 {0.5078, 0.2086, 0.1550, 0.1287},
48167 {0.2032, 0.2500, 0.0872, 0.4596}},
48168 {
48169 {0.3467, 0.0813, 0.1845, 0.3875},
48170 {0.2911, 0.3661, 0.0000, 0.3428},
48171 {0.2185, 0.2853, 0.0000, 0.4962},
48172 {0.2136, 0.0650, 0.4329, 0.2886}},
48173 {
48174 {0.3471, 0.1686, 0.3422, 0.1421},
48175 {0.2484, 0.1476, 0.4475, 0.1565},
48176 {0.3925, 0.2193, 0.2560, 0.1322},
48177 {0.2094, 0.2023, 0.3129, 0.2754}},
48178 {
48179 {0.3960, 0.0000, 0.2282, 0.3758},
48180 {0.3939, 0.2167, 0.2113, 0.1781},
48181 {0.4190, 0.1688, 0.1695, 0.2427},
48182 {0.3116, 0.1273, 0.1297, 0.4314}},
48183 {
48184 {0.2548, 0.2987, 0.2328, 0.2138},
48185 {0.3992, 0.1382, 0.0682, 0.3944},
48186 {0.2168, 0.0877, 0.1808, 0.5147},
48187 {0.1836, 0.0802, 0.1971, 0.5391}},
48188 {
48189 {0.2995, 0.1675, 0.1357, 0.3973},
48190 {0.2809, 0.1410, 0.4362, 0.1419},
48191 {0.1708, 0.3915, 0.1311, 0.3066},
48192 {0.3515, 0.1295, 0.2926, 0.2264}},
48193 {
48194 {0.3927, 0.1146, 0.1905, 0.3023},
48195 {0.4754, 0.2605, 0.1735, 0.0905},
48196 {0.4695, 0.2652, 0.1334, 0.1319},
48197 {0.1792, 0.1841, 0.1438, 0.4929}},
48198 {
48199 {0.3516, 0.2032, 0.1373, 0.3080},
48200 {0.2083, 0.1299, 0.1592, 0.5025},
48201 {0.2043, 0.1528, 0.0476, 0.5953},
48202 {0.1846, 0.1821, 0.1792, 0.4541}},
48203 {
48204 {0.3488, 0.1266, 0.3899, 0.1347},
48205 {0.2311, 0.2882, 0.0973, 0.3834},
48206 {0.3449, 0.1679, 0.1214, 0.3658},
48207 {0.2225, 0.2050, 0.3273, 0.2452}},
48208 {
48209 {0.3222, 0.1789, 0.0303, 0.4687},
48210 {0.3333, 0.2147, 0.0809, 0.3712},
48211 {0.4263, 0.2691, 0.1825, 0.1222},
48212 {0.1601, 0.2558, 0.0615, 0.5226}},
48213 {
48214 {0.2852, 0.1833, 0.1314, 0.4001},
48215 {0.2627, 0.2152, 0.1729, 0.3492},
48216 {0.1805, 0.0957, 0.1679, 0.5559},
48217 {0.2883, 0.1337, 0.1816, 0.3964}}},
48218
48219 { /* Splice_Site: T0_AG; Species: Yeast */
48220 {
48221 {0.3129, 0.3129, 0.3129, 0.3129},
48222 {0.1679, 0.1679, 0.1679, 0.1679},
48223 {0.1863, 0.1863, 0.1863, 0.1863},
48224 {0.3329, 0.3329, 0.3329, 0.3329}},
48225 {
48226 {0.3267, 0.1345, 0.1570, 0.3818},
48227 {0.2013, 0.1514, 0.1971, 0.4503},
48228 {0.1887, 0.1332, 0.3078, 0.3703},
48229 {0.1277, 0.2036, 0.3230, 0.3457}},
48230 {
48231 {0.4418, 0.0394, 0.3132, 0.2056},
48232 {0.2664, 0.2672, 0.1584, 0.3081},
48233 {0.1988, 0.1321, 0.1651, 0.5039},
48234 {0.3102, 0.1090, 0.2669, 0.3139}},
48235 {
48236 {0.5022, 0.1680, 0.1921, 0.1377},
48237 {0.3997, 0.2692, 0.1381, 0.1930},
48238 {0.2547, 0.1739, 0.0717, 0.4997},
48239 {0.4041, 0.1021, 0.2468, 0.2470}},
48240 {
48241 {0.3824, 0.1529, 0.2319, 0.2328},
48242 {0.2571, 0.1644, 0.2148, 0.3637},
48243 {0.2942, 0.2789, 0.0965, 0.3304},
48244 {0.3151, 0.0936, 0.1265, 0.4649}},
48245 {
48246 {0.4601, 0.0261, 0.1526, 0.3612},
48247 {0.3101, 0.1546, 0.2202, 0.3152},
48248 {0.2853, 0.1466, 0.0478, 0.5203},
48249 {0.3238, 0.0473, 0.3000, 0.3289}},
48250 {
48251 {0.4428, 0.1373, 0.2115, 0.2084},
48252 {0.3455, 0.2152, 0.1102, 0.3291},
48253 {0.1289, 0.0863, 0.2644, 0.5204},
48254 {0.2744, 0.1124, 0.1813, 0.4318}},
48255 {
48256 {0.3721, 0.0556, 0.2469, 0.3254},
48257 {0.6063, 0.0641, 0.1338, 0.1958},
48258 {0.0861, 0.1660, 0.1668, 0.5812},
48259 {0.1656, 0.2067, 0.2787, 0.3490}},
48260 {
48261 {0.2191, 0.1269, 0.2782, 0.3758},
48262 {0.3692, 0.1274, 0.0647, 0.4386},
48263 {0.3631, 0.1483, 0.1081, 0.3805},
48264 {0.2722, 0.1588, 0.2068, 0.3622}},
48265 {
48266 {0.4597, 0.1398, 0.1120, 0.2884},
48267 {0.1738, 0.1235, 0.1776, 0.5252},
48268 {0.2254, 0.0495, 0.1330, 0.5921},
48269 {0.2275, 0.1561, 0.2405, 0.3759}},
48270 {
48271 {0.3567, 0.0576, 0.3192, 0.2665},
48272 {0.4670, 0.0634, 0.2660, 0.2037},
48273 {0.2341, 0.0980, 0.1856, 0.4823},
48274 {0.2654, 0.1423, 0.1195, 0.4727}},
48275 {
48276 {0.4332, 0.1343, 0.1909, 0.2415},
48277 {0.4935, 0.0821, 0.0000, 0.4244},
48278 {0.2395, 0.1586, 0.2035, 0.3984},
48279 {0.2178, 0.1629, 0.2236, 0.3956}},
48280 {
48281 {0.3385, 0.1548, 0.1887, 0.3180},
48282 {0.3563, 0.1268, 0.1103, 0.4066},
48283 {0.3610, 0.0489, 0.3163, 0.2739},
48284 {0.4254, 0.0719, 0.1706, 0.3321}},
48285 {
48286 {0.3098, 0.1544, 0.1312, 0.4046},
48287 {0.3369, 0.0000, 0.3278, 0.3353},
48288 {0.2168, 0.1296, 0.1331, 0.5205},
48289 {0.2811, 0.2549, 0.1552, 0.3088}},
48290 {
48291 {0.3536, 0.2024, 0.1804, 0.2636},
48292 {0.2528, 0.2561, 0.1957, 0.2954},
48293 {0.1581, 0.1082, 0.2138, 0.5198},
48294 {0.3101, 0.0224, 0.1943, 0.4733}},
48295 {
48296 {0.3484, 0.0863, 0.1172, 0.4481},
48297 {0.2024, 0.3380, 0.0677, 0.3920},
48298 {0.3064, 0.1263, 0.2176, 0.3497},
48299 {0.3201, 0.1496, 0.0226, 0.5076}},
48300 {
48301 {0.3485, 0.1095, 0.1088, 0.4333},
48302 {0.0000, 0.1068, 0.1145, 0.7787},
48303 {0.2774, 0.3552, 0.0000, 0.3673},
48304 {0.2660, 0.0956, 0.1852, 0.4533}},
48305 {
48306 {0.4670, 0.0969, 0.1626, 0.2736},
48307 {0.2624, 0.0697, 0.2050, 0.4629},
48308 {0.3799, 0.2491, 0.0000, 0.3711},
48309 {0.2419, 0.1364, 0.0871, 0.5345}},
48310 {
48311 {0.3183, 0.1307, 0.2117, 0.3392},
48312 {0.3720, 0.0000, 0.2459, 0.3821},
48313 {0.5418, 0.0763, 0.0767, 0.3051},
48314 {0.2310, 0.1515, 0.1380, 0.4795}},
48315 {
48316 {0.4355, 0.1630, 0.0518, 0.3497},
48317 {0.4322, 0.2158, 0.0684, 0.2837},
48318 {0.3554, 0.2466, 0.0000, 0.3979},
48319 {0.1892, 0.1042, 0.1485, 0.5582}},
48320 {
48321 {0.2655, 0.0784, 0.1346, 0.5214},
48322 {0.4273, 0.0536, 0.2603, 0.2588},
48323 {0.1034, 0.2057, 0.1915, 0.4994},
48324 {0.2478, 0.1764, 0.1347, 0.4411}},
48325 {
48326 {0.1868, 0.1834, 0.1910, 0.4389},
48327 {0.3344, 0.1328, 0.2027, 0.3302},
48328 {0.5777, 0.1588, 0.0506, 0.2129},
48329 {0.1675, 0.1294, 0.1546, 0.5485}},
48330 {
48331 {0.3188, 0.1628, 0.1328, 0.3856},
48332 {0.2793, 0.1152, 0.0578, 0.5478},
48333 {0.3378, 0.1683, 0.0582, 0.4357},
48334 {0.1574, 0.0941, 0.2280, 0.5205}},
48335 {
48336 {0.2032, 0.3111, 0.1062, 0.3795},
48337 {0.1947, 0.2777, 0.1293, 0.3984},
48338 {0.4958, 0.1133, 0.0538, 0.3371},
48339 {0.1946, 0.0697, 0.1741, 0.5617}},
48340 {
48341 {0.4810, 0.1066, 0.0674, 0.3450},
48342 {0.3724, 0.0000, 0.2609, 0.3667},
48343 {0.3693, 0.0601, 0.2587, 0.3119},
48344 {0.2170, 0.1284, 0.1287, 0.5260}},
48345 {
48346 {0.4591, 0.2071, 0.1036, 0.2302},
48347 {0.1763, 0.0861, 0.2741, 0.4635},
48348 {0.3253, 0.4535, 0.0560, 0.1652},
48349 {0.2550, 0.0788, 0.0941, 0.5721}},
48350 {
48351 {0.5150, 0.0792, 0.0527, 0.3532},
48352 {0.2844, 0.2876, 0.1440, 0.2840},
48353 {0.3774, 0.2227, 0.0876, 0.3123},
48354 {0.2237, 0.0849, 0.0863, 0.6051}},
48355 {
48356 {0.4144, 0.1256, 0.2166, 0.2434},
48357 {0.4317, 0.1234, 0.0000, 0.4449},
48358 {0.5039, 0.2028, 0.0000, 0.2933},
48359 {0.2684, 0.0383, 0.1573, 0.5360}},
48360 {
48361 {0.5327, 0.1184, 0.0929, 0.2561},
48362 {0.3766, 0.0883, 0.2657, 0.2693},
48363 {0.4659, 0.1826, 0.1760, 0.1755},
48364 {0.1841, 0.1253, 0.1710, 0.5196}},
48365 {
48366 {0.2545, 0.2648, 0.0877, 0.3929},
48367 {0.4049, 0.0653, 0.1296, 0.4002},
48368 {0.4458, 0.0524, 0.0540, 0.4478},
48369 {0.1902, 0.1678, 0.1660, 0.4761}},
48370 {
48371 {0.5451, 0.0895, 0.0640, 0.3013},
48372 {0.1930, 0.1888, 0.0909, 0.5272},
48373 {0.4368, 0.1412, 0.1439, 0.2781},
48374 {0.3321, 0.0995, 0.1182, 0.4501}},
48375 {
48376 {0.4196, 0.2226, 0.0906, 0.2672},
48377 {0.3604, 0.0678, 0.2106, 0.3612},
48378 {0.0814, 0.3403, 0.3387, 0.2397},
48379 {0.3952, 0.1052, 0.0222, 0.4775}},
48380 {
48381 {0.2047, 0.2756, 0.0456, 0.4741},
48382 {0.1932, 0.0000, 0.1512, 0.6556},
48383 {0.7523, 0.0000, 0.0000, 0.2477},
48384 {0.2862, 0.0907, 0.0723, 0.5508}},
48385 {
48386 {0.4133, 0.1749, 0.0566, 0.3552},
48387 {0.4344, 0.1227, 0.0000, 0.4429},
48388 {0.3829, 0.1232, 0.0000, 0.4940},
48389 {0.2610, 0.0995, 0.0809, 0.5586}},
48390 {
48391 {0.3494, 0.1269, 0.0714, 0.4523},
48392 {0.3359, 0.0712, 0.1346, 0.4583},
48393 {0.2863, 0.0000, 0.0000, 0.7137},
48394 {0.4056, 0.0853, 0.1054, 0.4037}},
48395 {
48396 {0.2704, 0.2265, 0.1210, 0.3822},
48397 {0.1798, 0.1867, 0.0000, 0.6335},
48398 {0.2728, 0.1774, 0.0891, 0.4607},
48399 {0.3215, 0.1141, 0.1309, 0.4335}},
48400 {
48401 {0.2945, 0.2643, 0.0927, 0.3485},
48402 {0.2496, 0.0496, 0.0000, 0.7008},
48403 {0.3006, 0.3031, 0.1513, 0.2449},
48404 {0.3080, 0.1737, 0.1536, 0.3646}},
48405 {
48406 {0.3135, 0.2030, 0.1174, 0.3661},
48407 {0.3030, 0.0835, 0.0935, 0.5200},
48408 {0.2234, 0.5456, 0.1509, 0.0802},
48409 {0.5027, 0.1405, 0.0418, 0.3150}},
48410 {
48411 {0.4223, 0.3095, 0.0877, 0.1805},
48412 {0.1330, 0.0419, 0.0435, 0.7815},
48413 {0.5025, 0.3029, 0.0000, 0.1947},
48414 {0.2229, 0.1714, 0.2415, 0.3642}},
48415 {
48416 {0.2468, 0.5268, 0.0592, 0.1672},
48417 {0.3155, 0.0396, 0.0000, 0.6448},
48418 {0.1354, 0.6649, 0.0000, 0.1998},
48419 {0.4700, 0.1616, 0.1177, 0.2506}},
48420 {
48421 {0.3597, 0.4340, 0.0000, 0.2062},
48422 {0.1080, 0.1578, 0.0260, 0.7083},
48423 {0.4243, 0.4257, 0.1500, 0.0000},
48424 {0.3937, 0.0822, 0.1933, 0.3309}},
48425 {
48426 {0.4300, 0.4588, 0.0000, 0.1112},
48427 {0.1360, 0.1386, 0.0350, 0.6903},
48428 {0.4508, 0.3321, 0.0000, 0.2171},
48429 {0.4769, 0.1282, 0.0859, 0.3091}},
48430 {
48431 {0.4228, 0.3321, 0.0244, 0.2207},
48432 {0.2715, 0.1082, 0.1390, 0.4813},
48433 {0.4134, 0.0000, 0.0000, 0.5866},
48434 {0.4288, 0.0792, 0.1946, 0.2974}},
48435 {
48436 {0.4094, 0.2398, 0.0000, 0.3508},
48437 {0.3326, 0.1395, 0.0946, 0.4333},
48438 {0.3839, 0.1508, 0.1582, 0.3072},
48439 {0.2334, 0.0771, 0.1223, 0.5672}},
48440 {
48441 {0.3242, 0.3040, 0.0764, 0.2954},
48442 {0.2156, 0.2116, 0.1614, 0.4114},
48443 {0.2193, 0.0000, 0.1013, 0.6794},
48444 {0.1982, 0.0764, 0.1596, 0.5659}},
48445 {
48446 {0.2422, 0.1991, 0.0692, 0.4895},
48447 {0.2483, 0.2472, 0.1589, 0.3456},
48448 {0.2040, 0.2069, 0.0690, 0.5201},
48449 {0.1990, 0.1641, 0.1830, 0.4538}},
48450 {
48451 {0.5323, 0.1524, 0.1599, 0.1554},
48452 {0.4745, 0.2207, 0.0872, 0.2176},
48453 {0.6847, 0.0569, 0.1245, 0.1340},
48454 {0.1838, 0.1668, 0.1859, 0.4636}},
48455 {
48456 {0.3292, 0.0651, 0.0657, 0.5401},
48457 {0.3240, 0.2149, 0.0000, 0.4611},
48458 {0.2243, 0.0612, 0.0547, 0.6598},
48459 {0.1649, 0.1384, 0.0870, 0.6098}},
48460 {
48461 {0.5169, 0.1578, 0.0307, 0.2946},
48462 {0.4593, 0.0730, 0.3072, 0.1605},
48463 {0.8606, 0.1394, 0.0000, 0.0000},
48464 {0.2507, 0.0854, 0.1326, 0.5313}},
48465 {
48466 {0.1777, 0.2878, 0.0000, 0.5345},
48467 {0.3047, 0.1576, 0.0000, 0.5376},
48468 {0.2827, 0.4262, 0.0000, 0.2911},
48469 {0.0832, 0.2165, 0.0000, 0.7002}},
48470 {
48471 {1.0000, 0.0000, 0.0000, 0.0000},
48472 {1.0000, 0.0000, 0.0000, 0.0000},
48473 {1.0000, 0.0000, 0.0000, 0.0000},
48474 {1.0000, 0.0000, 0.0000, 0.0000}},
48475 {
48476 {0.0000, 0.0000, 1.0000, 0.0000},
48477 {0.0000, 0.0000, 0.0000, 0.0000},
48478 {0.0000, 0.0000, 0.0000, 0.0000},
48479 {0.0000, 0.0000, 0.0000, 0.0000}},
48480 {
48481 {0.0000, 0.0000, 0.0000, 0.0000},
48482 {0.0000, 0.0000, 0.0000, 0.0000},
48483 {0.3457, 0.1177, 0.2345, 0.3021},
48484 {0.0000, 0.0000, 0.0000, 0.0000}},
48485 {
48486 {0.1209, 0.1951, 0.2903, 0.3937},
48487 {0.2108, 0.0712, 0.3575, 0.3605},
48488 {0.1418, 0.3231, 0.2181, 0.3170},
48489 {0.2813, 0.2206, 0.3299, 0.1682}},
48490 {
48491 {0.2225, 0.1841, 0.0431, 0.5503},
48492 {0.3102, 0.1919, 0.1522, 0.3457},
48493 {0.5113, 0.0576, 0.0857, 0.3454},
48494 {0.3074, 0.2808, 0.1064, 0.3054}},
48495 {
48496 {0.2337, 0.1941, 0.0721, 0.5002},
48497 {0.1903, 0.1921, 0.1430, 0.4745},
48498 {0.0000, 0.2523, 0.3296, 0.4181},
48499 {0.1350, 0.2509, 0.0909, 0.5232}},
48500 {
48501 {0.4999, 0.2942, 0.1538, 0.0521},
48502 {0.1886, 0.1187, 0.4655, 0.2273},
48503 {0.2134, 0.1445, 0.3525, 0.2896},
48504 {0.2933, 0.1188, 0.3347, 0.2532}},
48505 {
48506 {0.3746, 0.2883, 0.1691, 0.1680},
48507 {0.2203, 0.2299, 0.1097, 0.4401},
48508 {0.3521, 0.2516, 0.1270, 0.2693},
48509 {0.3451, 0.1122, 0.1549, 0.3877}},
48510 {
48511 {0.1764, 0.2479, 0.1778, 0.3980},
48512 {0.3690, 0.1188, 0.0692, 0.4429},
48513 {0.1139, 0.3594, 0.2358, 0.2909},
48514 {0.0890, 0.1970, 0.1141, 0.5999}},
48515 {
48516 {0.3633, 0.2261, 0.2283, 0.1824},
48517 {0.3075, 0.1569, 0.3051, 0.2305},
48518 {0.2301, 0.3579, 0.2373, 0.1748},
48519 {0.2070, 0.1087, 0.3895, 0.2948}},
48520 {
48521 {0.5478, 0.1593, 0.1654, 0.1275},
48522 {0.3313, 0.2847, 0.0536, 0.3304},
48523 {0.3159, 0.2123, 0.2902, 0.1816},
48524 {0.2102, 0.2472, 0.0651, 0.4774}},
48525 {
48526 {0.3057, 0.1690, 0.2157, 0.3096},
48527 {0.2289, 0.1149, 0.1902, 0.4659},
48528 {0.4179, 0.1003, 0.0499, 0.4318},
48529 {0.2230, 0.1906, 0.2108, 0.3757}},
48530 {
48531 {0.1463, 0.2320, 0.3591, 0.2626},
48532 {0.5578, 0.0000, 0.2743, 0.1679},
48533 {0.2224, 0.1351, 0.1329, 0.5096},
48534 {0.1531, 0.2008, 0.4462, 0.1998}},
48535 {
48536 {0.3333, 0.2243, 0.0746, 0.3678},
48537 {0.3050, 0.2548, 0.0000, 0.4402},
48538 {0.4283, 0.2244, 0.1986, 0.1487},
48539 {0.0918, 0.3731, 0.0932, 0.4419}},
48540 {
48541 {0.4604, 0.1114, 0.0875, 0.3408},
48542 {0.0959, 0.1581, 0.1547, 0.5912},
48543 {0.3841, 0.2294, 0.0769, 0.3096},
48544 {0.2634, 0.1279, 0.2279, 0.3809}},
48545 {
48546 {0.2874, 0.1775, 0.2370, 0.2980},
48547 {0.2889, 0.3588, 0.1198, 0.2326},
48548 {0.2264, 0.1701, 0.4335, 0.1700},
48549 {0.1589, 0.1181, 0.3015, 0.4215}},
48550 {
48551 {0.3739, 0.1476, 0.2553, 0.2232},
48552 {0.2331, 0.2319, 0.1480, 0.3871},
48553 {0.3971, 0.2115, 0.1164, 0.2749},
48554 {0.1061, 0.4250, 0.1305, 0.3384}},
48555 {
48556 {0.3493, 0.1541, 0.1877, 0.3090},
48557 {0.3176, 0.1271, 0.0960, 0.4593},
48558 {0.2615, 0.0984, 0.2680, 0.3721},
48559 {0.2180, 0.1654, 0.1928, 0.4238}},
48560 {
48561 {0.4186, 0.1734, 0.2319, 0.1760},
48562 {0.4655, 0.0587, 0.2365, 0.2393},
48563 {0.3306, 0.1459, 0.3795, 0.1439},
48564 {0.2530, 0.1959, 0.2303, 0.3208}},
48565 {
48566 {0.3973, 0.1187, 0.1924, 0.2915},
48567 {0.4215, 0.2052, 0.2163, 0.1570},
48568 {0.3550, 0.3522, 0.0992, 0.1936},
48569 {0.1416, 0.1428, 0.2513, 0.4643}},
48570 {
48571 {0.3810, 0.1010, 0.1855, 0.3325},
48572 {0.2053, 0.1260, 0.0401, 0.6286},
48573 {0.2255, 0.2717, 0.0000, 0.5028},
48574 {0.3572, 0.1141, 0.2036, 0.3251}},
48575 {
48576 {0.3188, 0.1635, 0.3263, 0.1914},
48577 {0.3526, 0.2430, 0.2389, 0.1655},
48578 {0.1972, 0.3420, 0.3997, 0.0610},
48579 {0.1004, 0.1975, 0.3005, 0.4016}},
48580 {
48581 {0.4172, 0.1950, 0.2299, 0.1578},
48582 {0.3181, 0.1616, 0.2389, 0.2815},
48583 {0.4611, 0.2192, 0.1342, 0.1855},
48584 {0.1330, 0.2595, 0.1597, 0.4478}},
48585 {
48586 {0.2713, 0.2000, 0.1499, 0.3788},
48587 {0.3644, 0.2409, 0.0403, 0.3544},
48588 {0.1338, 0.3605, 0.2269, 0.2788},
48589 {0.2491, 0.0916, 0.1262, 0.5331}},
48590 {
48591 {0.1321, 0.1335, 0.5393, 0.1952},
48592 {0.1956, 0.1593, 0.5209, 0.1242},
48593 {0.3799, 0.2483, 0.1849, 0.1869},
48594 {0.2102, 0.1058, 0.4022, 0.2818}},
48595 {
48596 {0.4418, 0.1219, 0.0784, 0.3579},
48597 {0.4082, 0.1784, 0.3024, 0.1110},
48598 {0.4396, 0.2280, 0.1763, 0.1560},
48599 {0.2362, 0.2467, 0.0818, 0.4353}},
48600 {
48601 {0.4068, 0.1535, 0.1026, 0.3371},
48602 {0.3766, 0.2897, 0.0409, 0.2927},
48603 {0.2251, 0.1138, 0.0543, 0.6068},
48604 {0.3657, 0.0988, 0.2007, 0.3349}},
48605 {
48606 {0.2341, 0.1875, 0.3944, 0.1840},
48607 {0.4828, 0.1048, 0.1548, 0.2576},
48608 {0.2327, 0.2315, 0.3803, 0.1555},
48609 {0.2954, 0.1399, 0.2717, 0.2930}},
48610 {
48611 {0.5179, 0.1713, 0.0604, 0.2504},
48612 {0.2136, 0.2672, 0.2008, 0.3184},
48613 {0.4027, 0.2136, 0.1913, 0.1924},
48614 {0.1423, 0.2574, 0.1018, 0.4984}},
48615 {
48616 {0.3155, 0.2728, 0.0509, 0.3608},
48617 {0.2373, 0.2331, 0.1461, 0.3836},
48618 {0.1842, 0.1831, 0.1283, 0.5044},
48619 {0.3318, 0.1415, 0.1891, 0.3376}},
48620 {
48621 {0.3491, 0.3244, 0.1173, 0.2092},
48622 {0.2407, 0.3207, 0.2047, 0.2340},
48623 {0.3260, 0.1331, 0.2607, 0.2802},
48624 {0.2457, 0.1523, 0.3562, 0.2459}},
48625 {
48626 {0.4358, 0.0605, 0.1518, 0.3519},
48627 {0.3151, 0.2888, 0.2156, 0.1805},
48628 {0.4858, 0.2037, 0.1363, 0.1742},
48629 {0.3197, 0.2183, 0.0717, 0.3904}},
48630 {
48631 {0.2996, 0.1460, 0.1693, 0.3851},
48632 {0.3140, 0.0892, 0.1395, 0.4572},
48633 {0.1735, 0.2324, 0.0598, 0.5343},
48634 {0.2498, 0.1215, 0.1781, 0.4506}},
48635 {
48636 {0.4386, 0.1196, 0.3127, 0.1291},
48637 {0.3506, 0.1215, 0.4156, 0.1122},
48638 {0.3272, 0.2298, 0.2222, 0.2208},
48639 {0.2480, 0.1140, 0.4259, 0.2121}},
48640 {
48641 {0.3551, 0.1837, 0.1509, 0.3103},
48642 {0.3027, 0.2542, 0.2566, 0.1865},
48643 {0.3525, 0.3231, 0.1875, 0.1368},
48644 {0.1836, 0.2492, 0.0471, 0.5201}},
48645 {
48646 {0.3411, 0.1324, 0.2077, 0.3188},
48647 {0.2663, 0.2344, 0.1334, 0.3659},
48648 {0.3706, 0.1583, 0.1043, 0.3668},
48649 {0.2213, 0.3047, 0.1916, 0.2824}},
48650 {
48651 {0.3148, 0.1727, 0.2545, 0.2581},
48652 {0.2814, 0.1213, 0.3978, 0.1996},
48653 {0.2055, 0.0472, 0.2913, 0.4560},
48654 {0.3079, 0.1050, 0.4571, 0.1300}},
48655 {
48656 {0.4693, 0.2042, 0.1438, 0.1827},
48657 {0.3591, 0.2096, 0.2150, 0.2164},
48658 {0.4672, 0.1629, 0.2088, 0.1611},
48659 {0.3235, 0.1721, 0.0713, 0.4331}},
48660 {
48661 {0.3408, 0.1953, 0.1570, 0.3069},
48662 {0.2212, 0.3161, 0.0000, 0.4627},
48663 {0.1548, 0.1606, 0.2652, 0.4193},
48664 {0.2189, 0.1080, 0.2813, 0.3918}},
48665 {
48666 {0.2840, 0.0642, 0.5203, 0.1316},
48667 {0.3902, 0.1713, 0.1765, 0.2621},
48668 {0.1494, 0.1840, 0.4326, 0.2340},
48669 {0.2228, 0.1606, 0.3416, 0.2750}},
48670 {
48671 {0.2597, 0.1277, 0.1273, 0.4853},
48672 {0.3547, 0.2345, 0.1110, 0.2998},
48673 {0.4051, 0.2272, 0.1554, 0.2123},
48674 {0.1881, 0.2920, 0.0697, 0.4501}},
48675 {
48676 {0.3715, 0.1896, 0.1115, 0.3274},
48677 {0.2764, 0.1547, 0.0369, 0.5320},
48678 {0.3390, 0.0684, 0.1347, 0.4579},
48679 {0.1730, 0.1479, 0.1255, 0.5536}},
48680 {
48681 {0.3076, 0.1524, 0.2408, 0.2992},
48682 {0.3361, 0.1638, 0.3867, 0.1134},
48683 {0.3265, 0.1666, 0.4251, 0.0818},
48684 {0.2678, 0.1992, 0.2842, 0.2488}},
48685 {
48686 {0.3392, 0.2535, 0.1762, 0.2312},
48687 {0.2423, 0.2825, 0.1900, 0.2852},
48688 {0.4185, 0.1347, 0.1959, 0.2509},
48689 {0.3735, 0.2636, 0.0705, 0.2924}},
48690 {
48691 {0.2382, 0.1898, 0.1403, 0.4317},
48692 {0.3699, 0.0747, 0.0756, 0.4799},
48693 {0.2701, 0.1527, 0.0000, 0.5772},
48694 {0.2880, 0.1602, 0.1618, 0.3900}},
48695 {
48696 {0.2717, 0.2342, 0.2649, 0.2292},
48697 {0.2757, 0.2815, 0.1117, 0.3311},
48698 {0.5495, 0.0753, 0.2242, 0.1511},
48699 {0.2605, 0.2002, 0.3696, 0.1698}},
48700 {
48701 {0.4887, 0.1120, 0.1430, 0.2563},
48702 {0.6008, 0.1192, 0.0787, 0.2012},
48703 {0.4690, 0.1795, 0.1447, 0.2068},
48704 {0.1598, 0.1547, 0.1215, 0.5641}},
48705 {
48706 {0.3058, 0.2161, 0.1323, 0.3458},
48707 {0.2995, 0.0570, 0.2334, 0.4102},
48708 {0.1344, 0.2704, 0.0655, 0.5297},
48709 {0.2564, 0.1479, 0.1763, 0.4194}},
48710 {
48711 {0.2842, 0.1837, 0.2816, 0.2505},
48712 {0.4807, 0.0930, 0.1451, 0.2812},
48713 {0.2157, 0.2224, 0.2834, 0.2786},
48714 {0.2923, 0.1880, 0.1629, 0.3568}},
48715 {
48716 {0.4615, 0.1363, 0.1304, 0.2718},
48717 {0.3303, 0.2342, 0.1883, 0.2471},
48718 {0.3185, 0.2770, 0.1187, 0.2858},
48719 {0.1970, 0.3304, 0.0000, 0.4727}},
48720 {
48721 {0.3248, 0.1843, 0.2306, 0.2604},
48722 {0.2367, 0.1040, 0.1452, 0.5142},
48723 {0.4206, 0.1573, 0.0830, 0.3390},
48724 {0.2549, 0.0531, 0.2581, 0.4339}},
48725 {
48726 {0.5391, 0.0856, 0.1751, 0.2001},
48727 {0.3612, 0.1369, 0.1375, 0.3644},
48728 {0.3752, 0.0825, 0.3741, 0.1682},
48729 {0.2594, 0.2597, 0.2400, 0.2409}}},
48730
48731 { /* Splice_Site: F1_AG; Species: Yeast */
48732 {
48733 {0.3040, 0.3040, 0.3040, 0.3040},
48734 {0.1574, 0.1574, 0.1574, 0.1574},
48735 {0.1833, 0.1833, 0.1833, 0.1833},
48736 {0.3553, 0.3553, 0.3553, 0.3553}},
48737 {
48738 {0.3685, 0.1795, 0.2229, 0.2291},
48739 {0.3370, 0.2702, 0.1958, 0.1970},
48740 {0.3737, 0.0890, 0.4228, 0.1145},
48741 {0.3259, 0.1364, 0.3120, 0.2256}},
48742 {
48743 {0.3780, 0.2032, 0.0855, 0.3333},
48744 {0.3994, 0.2655, 0.0985, 0.2367},
48745 {0.3823, 0.1814, 0.1824, 0.2539},
48746 {0.2667, 0.3360, 0.1591, 0.2382}},
48747 {
48748 {0.3036, 0.1502, 0.1486, 0.3977},
48749 {0.2673, 0.2999, 0.0845, 0.3483},
48750 {0.1531, 0.2427, 0.2367, 0.3675},
48751 {0.1926, 0.1907, 0.1714, 0.4453}},
48752 {
48753 {0.3993, 0.1495, 0.1737, 0.2775},
48754 {0.2796, 0.2584, 0.2548, 0.2073},
48755 {0.2841, 0.2420, 0.2012, 0.2726},
48756 {0.2283, 0.1626, 0.3361, 0.2730}},
48757 {
48758 {0.3443, 0.2061, 0.1826, 0.2670},
48759 {0.4620, 0.1655, 0.1147, 0.2578},
48760 {0.5350, 0.2037, 0.1375, 0.1238},
48761 {0.3287, 0.3465, 0.0632, 0.2617}},
48762 {
48763 {0.3473, 0.2181, 0.1931, 0.2415},
48764 {0.2318, 0.1990, 0.0876, 0.4816},
48765 {0.2047, 0.1628, 0.0902, 0.5423},
48766 {0.0951, 0.2336, 0.1583, 0.5130}},
48767 {
48768 {0.3039, 0.1127, 0.3004, 0.2830},
48769 {0.3746, 0.2025, 0.2946, 0.1282},
48770 {0.2834, 0.2824, 0.2206, 0.2136},
48771 {0.2413, 0.2667, 0.2665, 0.2255}},
48772 {
48773 {0.5645, 0.1481, 0.0502, 0.2372},
48774 {0.4143, 0.2480, 0.0282, 0.3095},
48775 {0.4618, 0.1359, 0.1909, 0.2114},
48776 {0.2540, 0.2395, 0.0700, 0.4365}},
48777 {
48778 {0.2808, 0.1730, 0.2048, 0.3414},
48779 {0.3121, 0.2879, 0.0000, 0.4000},
48780 {0.1160, 0.1842, 0.2314, 0.4684},
48781 {0.2171, 0.1058, 0.2224, 0.4547}},
48782 {
48783 {0.4329, 0.1044, 0.3788, 0.0840},
48784 {0.3890, 0.0600, 0.3633, 0.1877},
48785 {0.3946, 0.2445, 0.1856, 0.1752},
48786 {0.2493, 0.1516, 0.3854, 0.2137}},
48787 {
48788 {0.4077, 0.1678, 0.1195, 0.3050},
48789 {0.2610, 0.3464, 0.0777, 0.3149},
48790 {0.3684, 0.3131, 0.1218, 0.1967},
48791 {0.1550, 0.3165, 0.0924, 0.4361}},
48792 {
48793 {0.4597, 0.0948, 0.2074, 0.2381},
48794 {0.1732, 0.2966, 0.2036, 0.3266},
48795 {0.1407, 0.1007, 0.2366, 0.5220},
48796 {0.1958, 0.0911, 0.3457, 0.3675}},
48797 {
48798 {0.2832, 0.1756, 0.3862, 0.1549},
48799 {0.4670, 0.2144, 0.1449, 0.1736},
48800 {0.2750, 0.1732, 0.4221, 0.1297},
48801 {0.1789, 0.1955, 0.3515, 0.2740}},
48802 {
48803 {0.4629, 0.1930, 0.1322, 0.2119},
48804 {0.4310, 0.1964, 0.1741, 0.1985},
48805 {0.4655, 0.2737, 0.0613, 0.1996},
48806 {0.1905, 0.4706, 0.0822, 0.2567}},
48807 {
48808 {0.3776, 0.2063, 0.1406, 0.2754},
48809 {0.2644, 0.1529, 0.0579, 0.5248},
48810 {0.2482, 0.1995, 0.1497, 0.4026},
48811 {0.2776, 0.1507, 0.1004, 0.4713}},
48812 {
48813 {0.3251, 0.1873, 0.3036, 0.1840},
48814 {0.2643, 0.2365, 0.2616, 0.2377},
48815 {0.3383, 0.0465, 0.3318, 0.2834},
48816 {0.1880, 0.1863, 0.3876, 0.2380}},
48817 {
48818 {0.4340, 0.2247, 0.1029, 0.2384},
48819 {0.3344, 0.3472, 0.1180, 0.2005},
48820 {0.4495, 0.2592, 0.0746, 0.2167},
48821 {0.0942, 0.3221, 0.1141, 0.4697}},
48822 {
48823 {0.3478, 0.1754, 0.1546, 0.3222},
48824 {0.3737, 0.1134, 0.0950, 0.4179},
48825 {0.1672, 0.2120, 0.1544, 0.4664},
48826 {0.1336, 0.1656, 0.2270, 0.4738}},
48827 {
48828 {0.3883, 0.2302, 0.2463, 0.1351},
48829 {0.3999, 0.1292, 0.3018, 0.1691},
48830 {0.2321, 0.2011, 0.2645, 0.3023},
48831 {0.2060, 0.1962, 0.3628, 0.2349}},
48832 {
48833 {0.4426, 0.1654, 0.1238, 0.2682},
48834 {0.3588, 0.2936, 0.1881, 0.1594},
48835 {0.3627, 0.1901, 0.1374, 0.3099},
48836 {0.2008, 0.2329, 0.0494, 0.5168}},
48837 {
48838 {0.3956, 0.1089, 0.1197, 0.3758},
48839 {0.3699, 0.0817, 0.0494, 0.4990},
48840 {0.2059, 0.1632, 0.1700, 0.4609},
48841 {0.2608, 0.1330, 0.2019, 0.4042}},
48842 {
48843 {0.3852, 0.1933, 0.2755, 0.1459},
48844 {0.2365, 0.3529, 0.1395, 0.2711},
48845 {0.2354, 0.2266, 0.3056, 0.2325},
48846 {0.2649, 0.1126, 0.4220, 0.2005}},
48847 {
48848 {0.3991, 0.1299, 0.1111, 0.3599},
48849 {0.5313, 0.0838, 0.2364, 0.1484},
48850 {0.5594, 0.0647, 0.0982, 0.2777},
48851 {0.1346, 0.2967, 0.1088, 0.4599}},
48852 {
48853 {0.4846, 0.1728, 0.1492, 0.1934},
48854 {0.4753, 0.1998, 0.0403, 0.2846},
48855 {0.1636, 0.2526, 0.1645, 0.4193},
48856 {0.2392, 0.1499, 0.2567, 0.3542}},
48857 {
48858 {0.4085, 0.1315, 0.3010, 0.1590},
48859 {0.3551, 0.0604, 0.2372, 0.3473},
48860 {0.2803, 0.2823, 0.1541, 0.2833},
48861 {0.2644, 0.1685, 0.3685, 0.1986}},
48862 {
48863 {0.4415, 0.1397, 0.0768, 0.3420},
48864 {0.3124, 0.3415, 0.1025, 0.2437},
48865 {0.4948, 0.2470, 0.1293, 0.1290},
48866 {0.1138, 0.4931, 0.0718, 0.3212}},
48867 {
48868 {0.3900, 0.1778, 0.1892, 0.2431},
48869 {0.1843, 0.0932, 0.1526, 0.5699},
48870 {0.1135, 0.2828, 0.1604, 0.4433},
48871 {0.2495, 0.2185, 0.2054, 0.3267}},
48872 {
48873 {0.3759, 0.0975, 0.3299, 0.1967},
48874 {0.3278, 0.2529, 0.2372, 0.1822},
48875 {0.3800, 0.1817, 0.2074, 0.2308},
48876 {0.2453, 0.3106, 0.2883, 0.1557}},
48877 {
48878 {0.4662, 0.1844, 0.1318, 0.2176},
48879 {0.3978, 0.1903, 0.1928, 0.2192},
48880 {0.3935, 0.1872, 0.1735, 0.2458},
48881 {0.1140, 0.3087, 0.0879, 0.4894}},
48882 {
48883 {0.3837, 0.1120, 0.1725, 0.3318},
48884 {0.2572, 0.1945, 0.0717, 0.4766},
48885 {0.3206, 0.1384, 0.1494, 0.3916},
48886 {0.1741, 0.2315, 0.2321, 0.3623}},
48887 {
48888 {0.4091, 0.1087, 0.2806, 0.2015},
48889 {0.2233, 0.1879, 0.3338, 0.2550},
48890 {0.3572, 0.2557, 0.2936, 0.0934},
48891 {0.3061, 0.1922, 0.2946, 0.2071}},
48892 {
48893 {0.2763, 0.2382, 0.1284, 0.3571},
48894 {0.3912, 0.1706, 0.0864, 0.3518},
48895 {0.3588, 0.1967, 0.1978, 0.2467},
48896 {0.1695, 0.1617, 0.1067, 0.5621}},
48897 {
48898 {0.4595, 0.1292, 0.1782, 0.2330},
48899 {0.3651, 0.1618, 0.1636, 0.3095},
48900 {0.1958, 0.1523, 0.1513, 0.5006},
48901 {0.2449, 0.1162, 0.1851, 0.4539}},
48902 {
48903 {0.3468, 0.2221, 0.2420, 0.1890},
48904 {0.3510, 0.2705, 0.1690, 0.2096},
48905 {0.3031, 0.2118, 0.3667, 0.1184},
48906 {0.2764, 0.1947, 0.2899, 0.2390}},
48907 {
48908 {0.3558, 0.2535, 0.1179, 0.2728},
48909 {0.3629, 0.2229, 0.0968, 0.3173},
48910 {0.4218, 0.1920, 0.1759, 0.2103},
48911 {0.1577, 0.3913, 0.1323, 0.3186}},
48912 {
48913 {0.4323, 0.1100, 0.1752, 0.2825},
48914 {0.2465, 0.2435, 0.0795, 0.4305},
48915 {0.1232, 0.3279, 0.1942, 0.3547},
48916 {0.1356, 0.2143, 0.2481, 0.4019}},
48917 {
48918 {0.4237, 0.1017, 0.1860, 0.2886},
48919 {0.3276, 0.1394, 0.2948, 0.2381},
48920 {0.2097, 0.2091, 0.3991, 0.1821},
48921 {0.3608, 0.1562, 0.2632, 0.2198}},
48922 {
48923 {0.3741, 0.1363, 0.2004, 0.2893},
48924 {0.2869, 0.2111, 0.2900, 0.2120},
48925 {0.4937, 0.2366, 0.0940, 0.1757},
48926 {0.1118, 0.3343, 0.1178, 0.4361}},
48927 {
48928 {0.4259, 0.0794, 0.1738, 0.3210},
48929 {0.2699, 0.2801, 0.0918, 0.3582},
48930 {0.2861, 0.1926, 0.1002, 0.4212},
48931 {0.2268, 0.1121, 0.2859, 0.3752}},
48932 {
48933 {0.3027, 0.2044, 0.2228, 0.2701},
48934 {0.4550, 0.1355, 0.2712, 0.1383},
48935 {0.1815, 0.3276, 0.3664, 0.1246},
48936 {0.3241, 0.1050, 0.3083, 0.2626}},
48937 {
48938 {0.3365, 0.2411, 0.0989, 0.3235},
48939 {0.2374, 0.2285, 0.1153, 0.4188},
48940 {0.4807, 0.2255, 0.1102, 0.1836},
48941 {0.2652, 0.1633, 0.1203, 0.4512}},
48942 {
48943 {0.3208, 0.1745, 0.2161, 0.2886},
48944 {0.2729, 0.1491, 0.1850, 0.3930},
48945 {0.1841, 0.1450, 0.1953, 0.4756},
48946 {0.2457, 0.1174, 0.2057, 0.4312}},
48947 {
48948 {0.3126, 0.0965, 0.3925, 0.1984},
48949 {0.3296, 0.1479, 0.3423, 0.1802},
48950 {0.2596, 0.1761, 0.3845, 0.1798},
48951 {0.1612, 0.1720, 0.3972, 0.2696}},
48952 {
48953 {0.3365, 0.1988, 0.1671, 0.2976},
48954 {0.2090, 0.2171, 0.1776, 0.3963},
48955 {0.3550, 0.2225, 0.1178, 0.3046},
48956 {0.1466, 0.3101, 0.1226, 0.4206}},
48957 {
48958 {0.2784, 0.1872, 0.2039, 0.3305},
48959 {0.2485, 0.2016, 0.0219, 0.5280},
48960 {0.2271, 0.1817, 0.2287, 0.3625},
48961 {0.2347, 0.2668, 0.1557, 0.3428}},
48962 {
48963 {0.3832, 0.1261, 0.3431, 0.1476},
48964 {0.2931, 0.2667, 0.2669, 0.1733},
48965 {0.2473, 0.2511, 0.4315, 0.0702},
48966 {0.2699, 0.2197, 0.3282, 0.1823}},
48967 {
48968 {0.4580, 0.2282, 0.1549, 0.1589},
48969 {0.3171, 0.3253, 0.1343, 0.2234},
48970 {0.4748, 0.1905, 0.1412, 0.1935},
48971 {0.1396, 0.3060, 0.1040, 0.4503}},
48972 {
48973 {0.4611, 0.1681, 0.1495, 0.2213},
48974 {0.1914, 0.2741, 0.1286, 0.4059},
48975 {0.3485, 0.0772, 0.1931, 0.3813},
48976 {0.2267, 0.2070, 0.1388, 0.4275}},
48977 {
48978 {0.4345, 0.2094, 0.3561, 0.0000},
48979 {0.6414, 0.0513, 0.3073, 0.0000},
48980 {0.5031, 0.2137, 0.2831, 0.0000},
48981 {0.3324, 0.1425, 0.5251, 0.0000}},
48982 {
48983 {1.0000, 0.0000, 0.0000, 0.0000},
48984 {1.0000, 0.0000, 0.0000, 0.0000},
48985 {1.0000, 0.0000, 0.0000, 0.0000},
48986 {1.0000, 0.0000, 0.0000, 0.0000}},
48987 {
48988 {0.0000, 0.0000, 1.0000, 0.0000},
48989 {0.0000, 0.0000, 0.0000, 0.0000},
48990 {0.0000, 0.0000, 0.0000, 0.0000},
48991 {0.0000, 0.0000, 0.0000, 0.0000}},
48992 {
48993 {0.0000, 0.0000, 0.0000, 0.0000},
48994 {0.0000, 0.0000, 0.0000, 0.0000},
48995 {0.2727, 0.2440, 0.3352, 0.1481},
48996 {0.0000, 0.0000, 0.0000, 0.0000}},
48997 {
48998 {0.5172, 0.0781, 0.1537, 0.2510},
48999 {0.4352, 0.0842, 0.1553, 0.3253},
49000 {0.4557, 0.1712, 0.1074, 0.2657},
49001 {0.0375, 0.2913, 0.0722, 0.5990}},
49002 {
49003 {0.4532, 0.0528, 0.2207, 0.2733},
49004 {0.4881, 0.1096, 0.0791, 0.3232},
49005 {0.4558, 0.1222, 0.0426, 0.3794},
49006 {0.1757, 0.1237, 0.2772, 0.4234}},
49007 {
49008 {0.3960, 0.1285, 0.2742, 0.2013},
49009 {0.1775, 0.3937, 0.2092, 0.2196},
49010 {0.3797, 0.2460, 0.2420, 0.1323},
49011 {0.2789, 0.1347, 0.3842, 0.2021}},
49012 {
49013 {0.3858, 0.1722, 0.0625, 0.3794},
49014 {0.3249, 0.2359, 0.2344, 0.2048},
49015 {0.5074, 0.1598, 0.0883, 0.2445},
49016 {0.1971, 0.1910, 0.0533, 0.5586}},
49017 {
49018 {0.3201, 0.1862, 0.2283, 0.2654},
49019 {0.1785, 0.2259, 0.1683, 0.4273},
49020 {0.3246, 0.0985, 0.1575, 0.4193},
49021 {0.2946, 0.0969, 0.2641, 0.3444}},
49022 {
49023 {0.3314, 0.1860, 0.3140, 0.1686},
49024 {0.4792, 0.2072, 0.1417, 0.1719},
49025 {0.3069, 0.1722, 0.2816, 0.2393},
49026 {0.3314, 0.1258, 0.3094, 0.2333}},
49027 {
49028 {0.5046, 0.1653, 0.0600, 0.2700},
49029 {0.1851, 0.1300, 0.2602, 0.4247},
49030 {0.4349, 0.1321, 0.1502, 0.2828},
49031 {0.0792, 0.2758, 0.0533, 0.5917}},
49032 {
49033 {0.3692, 0.2013, 0.1739, 0.2556},
49034 {0.3601, 0.1190, 0.0314, 0.4896},
49035 {0.2684, 0.2261, 0.0920, 0.4136},
49036 {0.2433, 0.2170, 0.1773, 0.3624}},
49037 {
49038 {0.4968, 0.1350, 0.1999, 0.1683},
49039 {0.2768, 0.1817, 0.2968, 0.2448},
49040 {0.2710, 0.2315, 0.2715, 0.2260},
49041 {0.2124, 0.2232, 0.3849, 0.1795}},
49042 {
49043 {0.4309, 0.2316, 0.1367, 0.2008},
49044 {0.2205, 0.3301, 0.2196, 0.2298},
49045 {0.4488, 0.1444, 0.2151, 0.1917},
49046 {0.1642, 0.2396, 0.1916, 0.4047}},
49047 {
49048 {0.3226, 0.2169, 0.1680, 0.2925},
49049 {0.2346, 0.1655, 0.1575, 0.4424},
49050 {0.2296, 0.2016, 0.0277, 0.5411},
49051 {0.1719, 0.2257, 0.2298, 0.3726}},
49052 {
49053 {0.2794, 0.2333, 0.2958, 0.1915},
49054 {0.3666, 0.2945, 0.1578, 0.1812},
49055 {0.2752, 0.1608, 0.2699, 0.2940},
49056 {0.2167, 0.1524, 0.4156, 0.2153}},
49057 {
49058 {0.4877, 0.0588, 0.1541, 0.2995},
49059 {0.3073, 0.2943, 0.1593, 0.2391},
49060 {0.4297, 0.1855, 0.1518, 0.2330},
49061 {0.2195, 0.3024, 0.0944, 0.3838}},
49062 {
49063 {0.2212, 0.1823, 0.2879, 0.3086},
49064 {0.2467, 0.1841, 0.1384, 0.4307},
49065 {0.2965, 0.1576, 0.1451, 0.4008},
49066 {0.1579, 0.1296, 0.1931, 0.5194}},
49067 {
49068 {0.3535, 0.1186, 0.2839, 0.2440},
49069 {0.4223, 0.1917, 0.2180, 0.1679},
49070 {0.3037, 0.4139, 0.0737, 0.2087},
49071 {0.2699, 0.2515, 0.2570, 0.2216}},
49072 {
49073 {0.2801, 0.2475, 0.1267, 0.3457},
49074 {0.3026, 0.3040, 0.2194, 0.1741},
49075 {0.3700, 0.3374, 0.0707, 0.2218},
49076 {0.1521, 0.1472, 0.1555, 0.5453}},
49077 {
49078 {0.3550, 0.1691, 0.1696, 0.3062},
49079 {0.3232, 0.1629, 0.0395, 0.4744},
49080 {0.2844, 0.2181, 0.1558, 0.3418},
49081 {0.2157, 0.1660, 0.2172, 0.4011}},
49082 {
49083 {0.3682, 0.2026, 0.1793, 0.2498},
49084 {0.2735, 0.0888, 0.3278, 0.3099},
49085 {0.4613, 0.0348, 0.2832, 0.2207},
49086 {0.2829, 0.2101, 0.3407, 0.1663}},
49087 {
49088 {0.4119, 0.1756, 0.1409, 0.2716},
49089 {0.3287, 0.3428, 0.1631, 0.1654},
49090 {0.3948, 0.2649, 0.1448, 0.1955},
49091 {0.0735, 0.3651, 0.0697, 0.4916}},
49092 {
49093 {0.3833, 0.0844, 0.2157, 0.3166},
49094 {0.2005, 0.1195, 0.1222, 0.5578},
49095 {0.2821, 0.2445, 0.2789, 0.1945},
49096 {0.1454, 0.2798, 0.2405, 0.3343}},
49097 {
49098 {0.3815, 0.0834, 0.2847, 0.2504},
49099 {0.4740, 0.1257, 0.2117, 0.1885},
49100 {0.4312, 0.1561, 0.2823, 0.1305},
49101 {0.3125, 0.2287, 0.2483, 0.2105}},
49102 {
49103 {0.5695, 0.1689, 0.1285, 0.1330},
49104 {0.2654, 0.2706, 0.3018, 0.1622},
49105 {0.4876, 0.0988, 0.1204, 0.2932},
49106 {0.1567, 0.2370, 0.2088, 0.3975}},
49107 {
49108 {0.3663, 0.1021, 0.1661, 0.3655},
49109 {0.2624, 0.1717, 0.1471, 0.4188},
49110 {0.1899, 0.1599, 0.1604, 0.4898},
49111 {0.1584, 0.2066, 0.2741, 0.3609}},
49112 {
49113 {0.3929, 0.2555, 0.2334, 0.1182},
49114 {0.3131, 0.1790, 0.2914, 0.2165},
49115 {0.3233, 0.3180, 0.2493, 0.1095},
49116 {0.3527, 0.1310, 0.3685, 0.1478}},
49117 {
49118 {0.3666, 0.1959, 0.1367, 0.3008},
49119 {0.4422, 0.1520, 0.1536, 0.2522},
49120 {0.4221, 0.2630, 0.1733, 0.1416},
49121 {0.1165, 0.5154, 0.1102, 0.2579}},
49122 {
49123 {0.2643, 0.1444, 0.2346, 0.3567},
49124 {0.2751, 0.1835, 0.1043, 0.4371},
49125 {0.2459, 0.1441, 0.2478, 0.3621},
49126 {0.1969, 0.2898, 0.2229, 0.2904}},
49127 {
49128 {0.3406, 0.2085, 0.3083, 0.1426},
49129 {0.3003, 0.2549, 0.2510, 0.1938},
49130 {0.3625, 0.1842, 0.2212, 0.2320},
49131 {0.1733, 0.2525, 0.2948, 0.2795}},
49132 {
49133 {0.4313, 0.1331, 0.2085, 0.2271},
49134 {0.3654, 0.2370, 0.1885, 0.2091},
49135 {0.4297, 0.2553, 0.0993, 0.2158},
49136 {0.0736, 0.3579, 0.0751, 0.4934}},
49137 {
49138 {0.3267, 0.1091, 0.2365, 0.3277},
49139 {0.3399, 0.2684, 0.0868, 0.3049},
49140 {0.4092, 0.1081, 0.1070, 0.3758},
49141 {0.1561, 0.1509, 0.2010, 0.4921}},
49142 {
49143 {0.2589, 0.1988, 0.3043, 0.2381},
49144 {0.2646, 0.1990, 0.3019, 0.2345},
49145 {0.2715, 0.2087, 0.3017, 0.2181},
49146 {0.2797, 0.1504, 0.3159, 0.2540}},
49147 {
49148 {0.4244, 0.1328, 0.1858, 0.2570},
49149 {0.2544, 0.3776, 0.1669, 0.2010},
49150 {0.4601, 0.2412, 0.0998, 0.1989},
49151 {0.1818, 0.1983, 0.0687, 0.5512}},
49152 {
49153 {0.3721, 0.1375, 0.1369, 0.3535},
49154 {0.2571, 0.2111, 0.0941, 0.4377},
49155 {0.3130, 0.1604, 0.1235, 0.4031},
49156 {0.2488, 0.1257, 0.1366, 0.4890}},
49157 {
49158 {0.3304, 0.1187, 0.2474, 0.3035},
49159 {0.2756, 0.3101, 0.2110, 0.2034},
49160 {0.2929, 0.2449, 0.2574, 0.2048},
49161 {0.2904, 0.2177, 0.3300, 0.1619}},
49162 {
49163 {0.4716, 0.2463, 0.1269, 0.1552},
49164 {0.3123, 0.2571, 0.2055, 0.2250},
49165 {0.3831, 0.1552, 0.1343, 0.3274},
49166 {0.1973, 0.4099, 0.0740, 0.3189}},
49167 {
49168 {0.3574, 0.1517, 0.1033, 0.3876},
49169 {0.3056, 0.1600, 0.0861, 0.4483},
49170 {0.1567, 0.1596, 0.0000, 0.6836},
49171 {0.2066, 0.2485, 0.2115, 0.3334}},
49172 {
49173 {0.2820, 0.2067, 0.3256, 0.1856},
49174 {0.4397, 0.1429, 0.2947, 0.1226},
49175 {0.0492, 0.2340, 0.4342, 0.2826},
49176 {0.2243, 0.1940, 0.3365, 0.2452}},
49177 {
49178 {0.4295, 0.1849, 0.0823, 0.3034},
49179 {0.2972, 0.1840, 0.0539, 0.4649},
49180 {0.3607, 0.2248, 0.1279, 0.2867},
49181 {0.0781, 0.1988, 0.0988, 0.6243}},
49182 {
49183 {0.3931, 0.1215, 0.1526, 0.3328},
49184 {0.3349, 0.1556, 0.0259, 0.4836},
49185 {0.2203, 0.0578, 0.1047, 0.6172},
49186 {0.1888, 0.2017, 0.2777, 0.3318}},
49187 {
49188 {0.3456, 0.1699, 0.2449, 0.2396},
49189 {0.1065, 0.1383, 0.4490, 0.3062},
49190 {0.3970, 0.1176, 0.2992, 0.1862},
49191 {0.2029, 0.2177, 0.3771, 0.2023}},
49192 {
49193 {0.4799, 0.2211, 0.1364, 0.1626},
49194 {0.2447, 0.1750, 0.2457, 0.3345},
49195 {0.3610, 0.1758, 0.2234, 0.2398},
49196 {0.0901, 0.3488, 0.0230, 0.5380}},
49197 {
49198 {0.3375, 0.0879, 0.2203, 0.3543},
49199 {0.2320, 0.2359, 0.1144, 0.4177},
49200 {0.3039, 0.1317, 0.0990, 0.4654},
49201 {0.1759, 0.1930, 0.2157, 0.4155}},
49202 {
49203 {0.2475, 0.2504, 0.3211, 0.1810},
49204 {0.3371, 0.1656, 0.3044, 0.1929},
49205 {0.2773, 0.2733, 0.2365, 0.2129},
49206 {0.3260, 0.1405, 0.3546, 0.1789}},
49207 {
49208 {0.4713, 0.1040, 0.1275, 0.2971},
49209 {0.3300, 0.2410, 0.1886, 0.2405},
49210 {0.5485, 0.1707, 0.1169, 0.1639},
49211 {0.2212, 0.2168, 0.1087, 0.4534}},
49212 {
49213 {0.3475, 0.1610, 0.1903, 0.3011},
49214 {0.1552, 0.2119, 0.1806, 0.4523},
49215 {0.0824, 0.2391, 0.1562, 0.5224},
49216 {0.1692, 0.2104, 0.2932, 0.3272}},
49217 {
49218 {0.3743, 0.1996, 0.2364, 0.1897},
49219 {0.1899, 0.2414, 0.2405, 0.3283},
49220 {0.2245, 0.2261, 0.3747, 0.1747},
49221 {0.3915, 0.0734, 0.3300, 0.2052}},
49222 {
49223 {0.3047, 0.2026, 0.2073, 0.2854},
49224 {0.3078, 0.2208, 0.2161, 0.2553},
49225 {0.3705, 0.2604, 0.2093, 0.1598},
49226 {0.1991, 0.1889, 0.1262, 0.4859}},
49227 {
49228 {0.3133, 0.1599, 0.1566, 0.3702},
49229 {0.2657, 0.1895, 0.0993, 0.4454},
49230 {0.2435, 0.1957, 0.1741, 0.3867},
49231 {0.2793, 0.2050, 0.2564, 0.2594}},
49232 {
49233 {0.3467, 0.2948, 0.1573, 0.2011},
49234 {0.3060, 0.1735, 0.2258, 0.2946},
49235 {0.2094, 0.2167, 0.2450, 0.3289},
49236 {0.2935, 0.1616, 0.3711, 0.1738}},
49237 {
49238 {0.3375, 0.1591, 0.1088, 0.3947},
49239 {0.2689, 0.2311, 0.2557, 0.2443},
49240 {0.5512, 0.1686, 0.1419, 0.1383},
49241 {0.1874, 0.2236, 0.1150, 0.4740}}},
49242
49243 { /* Splice_Site: F2_AG; Species: Yeast */
49244 {
49245 {0.2693, 0.2693, 0.2693, 0.2693},
49246 {0.2510, 0.2510, 0.2510, 0.2510},
49247 {0.2026, 0.2026, 0.2026, 0.2026},
49248 {0.2770, 0.2770, 0.2770, 0.2770}},
49249 {
49250 {0.3029, 0.1837, 0.2396, 0.2738},
49251 {0.3299, 0.3210, 0.0969, 0.2522},
49252 {0.4723, 0.2067, 0.0827, 0.2383},
49253 {0.0854, 0.2032, 0.1475, 0.5638}},
49254 {
49255 {0.4252, 0.0858, 0.2018, 0.2872},
49256 {0.3257, 0.2100, 0.1104, 0.3539},
49257 {0.2198, 0.2731, 0.1152, 0.3919},
49258 {0.2205, 0.2068, 0.2168, 0.3560}},
49259 {
49260 {0.3271, 0.1907, 0.2400, 0.2423},
49261 {0.4407, 0.3054, 0.0421, 0.2118},
49262 {0.3284, 0.0922, 0.3314, 0.2479},
49263 {0.1455, 0.2158, 0.2389, 0.3997}},
49264 {
49265 {0.3945, 0.1444, 0.1138, 0.3472},
49266 {0.5207, 0.0770, 0.1664, 0.2358},
49267 {0.2555, 0.2308, 0.1774, 0.3363},
49268 {0.0812, 0.2493, 0.1684, 0.5011}},
49269 {
49270 {0.2398, 0.1106, 0.2975, 0.3521},
49271 {0.3698, 0.1348, 0.1775, 0.3179},
49272 {0.1588, 0.2698, 0.1527, 0.4187},
49273 {0.2682, 0.1572, 0.1989, 0.3757}},
49274 {
49275 {0.3418, 0.2796, 0.1857, 0.1929},
49276 {0.4212, 0.3188, 0.1070, 0.1530},
49277 {0.3314, 0.2573, 0.2257, 0.1855},
49278 {0.2508, 0.1311, 0.2208, 0.3974}},
49279 {
49280 {0.2295, 0.2318, 0.1057, 0.4330},
49281 {0.2553, 0.1404, 0.1076, 0.4967},
49282 {0.2980, 0.2454, 0.1621, 0.2945},
49283 {0.1532, 0.1923, 0.2485, 0.4061}},
49284 {
49285 {0.3218, 0.0687, 0.3559, 0.2536},
49286 {0.2413, 0.2004, 0.0816, 0.4768},
49287 {0.1544, 0.1473, 0.2780, 0.4203},
49288 {0.3341, 0.2760, 0.1150, 0.2750}},
49289 {
49290 {0.3436, 0.2299, 0.2587, 0.1677},
49291 {0.3746, 0.2154, 0.1684, 0.2416},
49292 {0.3038, 0.3097, 0.1299, 0.2566},
49293 {0.1432, 0.2184, 0.1256, 0.5128}},
49294 {
49295 {0.3604, 0.2063, 0.1174, 0.3160},
49296 {0.3502, 0.2014, 0.1981, 0.2503},
49297 {0.1875, 0.3387, 0.1457, 0.3281},
49298 {0.1040, 0.2330, 0.1546, 0.5085}},
49299 {
49300 {0.5000, 0.1993, 0.1393, 0.1614},
49301 {0.3473, 0.2050, 0.2076, 0.2401},
49302 {0.2143, 0.4140, 0.2614, 0.1103},
49303 {0.2436, 0.1334, 0.2894, 0.3337}},
49304 {
49305 {0.4055, 0.2207, 0.1762, 0.1976},
49306 {0.3088, 0.3067, 0.2273, 0.1572},
49307 {0.3473, 0.4372, 0.1780, 0.0375},
49308 {0.3095, 0.1350, 0.2384, 0.3171}},
49309 {
49310 {0.3223, 0.1602, 0.0478, 0.4696},
49311 {0.3889, 0.2444, 0.0902, 0.2766},
49312 {0.4728, 0.3701, 0.0791, 0.0781},
49313 {0.2236, 0.1882, 0.2727, 0.3155}},
49314 {
49315 {0.2534, 0.1200, 0.2007, 0.4259},
49316 {0.3238, 0.1474, 0.2154, 0.3134},
49317 {0.3153, 0.1578, 0.3750, 0.1520},
49318 {0.2603, 0.2391, 0.2642, 0.2364}},
49319 {
49320 {0.4727, 0.1167, 0.1168, 0.2938},
49321 {0.2996, 0.2497, 0.2475, 0.2033},
49322 {0.3592, 0.2014, 0.1988, 0.2405},
49323 {0.1025, 0.2823, 0.1810, 0.4342}},
49324 {
49325 {0.3821, 0.1655, 0.1865, 0.2659},
49326 {0.2644, 0.2380, 0.1900, 0.3076},
49327 {0.3557, 0.1834, 0.0932, 0.3677},
49328 {0.1317, 0.2701, 0.2349, 0.3633}},
49329 {
49330 {0.4351, 0.2050, 0.0898, 0.2701},
49331 {0.3852, 0.1579, 0.1901, 0.2669},
49332 {0.2705, 0.2594, 0.1308, 0.3393},
49333 {0.2481, 0.2495, 0.1719, 0.3305}},
49334 {
49335 {0.3151, 0.2192, 0.2421, 0.2235},
49336 {0.2265, 0.2641, 0.2558, 0.2535},
49337 {0.3856, 0.2726, 0.1708, 0.1710},
49338 {0.1898, 0.2476, 0.1376, 0.4250}},
49339 {
49340 {0.2398, 0.1791, 0.2467, 0.3344},
49341 {0.3216, 0.2739, 0.1036, 0.3010},
49342 {0.4328, 0.1189, 0.2454, 0.2029},
49343 {0.2059, 0.2854, 0.1744, 0.3342}},
49344 {
49345 {0.2464, 0.1728, 0.1410, 0.4398},
49346 {0.4081, 0.2276, 0.2189, 0.1454},
49347 {0.3091, 0.0895, 0.2171, 0.3842},
49348 {0.2083, 0.3000, 0.3008, 0.1909}},
49349 {
49350 {0.2604, 0.2252, 0.1717, 0.3427},
49351 {0.3252, 0.2348, 0.1209, 0.3191},
49352 {0.3356, 0.1896, 0.2567, 0.2181},
49353 {0.1130, 0.4073, 0.1685, 0.3111}},
49354 {
49355 {0.3704, 0.2329, 0.0990, 0.2978},
49356 {0.4112, 0.3273, 0.1429, 0.1186},
49357 {0.3581, 0.1347, 0.1420, 0.3652},
49358 {0.1632, 0.3076, 0.1028, 0.4264}},
49359 {
49360 {0.3579, 0.0809, 0.2053, 0.3560},
49361 {0.2520, 0.1214, 0.1267, 0.5000},
49362 {0.1969, 0.2674, 0.1294, 0.4063},
49363 {0.2176, 0.1633, 0.2975, 0.3217}},
49364 {
49365 {0.3459, 0.2120, 0.0839, 0.3581},
49366 {0.2318, 0.1773, 0.2988, 0.2920},
49367 {0.4289, 0.2056, 0.1197, 0.2458},
49368 {0.1862, 0.2097, 0.1862, 0.4180}},
49369 {
49370 {0.1992, 0.2819, 0.2033, 0.3156},
49371 {0.3986, 0.1180, 0.2405, 0.2428},
49372 {0.1462, 0.2505, 0.3466, 0.2567},
49373 {0.1852, 0.2319, 0.1424, 0.4404}},
49374 {
49375 {0.3963, 0.1410, 0.2499, 0.2127},
49376 {0.3237, 0.2206, 0.1003, 0.3554},
49377 {0.1098, 0.2683, 0.2363, 0.3856},
49378 {0.1451, 0.2234, 0.2231, 0.4084}},
49379 {
49380 {0.4160, 0.1730, 0.2732, 0.1378},
49381 {0.2690, 0.1944, 0.1151, 0.4214},
49382 {0.4047, 0.2726, 0.2374, 0.0853},
49383 {0.1848, 0.2767, 0.2529, 0.2856}},
49384 {
49385 {0.1337, 0.2919, 0.1605, 0.4139},
49386 {0.4463, 0.2131, 0.0715, 0.2691},
49387 {0.1746, 0.3546, 0.2533, 0.2175},
49388 {0.2408, 0.0708, 0.2354, 0.4530}},
49389 {
49390 {0.1991, 0.1992, 0.1719, 0.4299},
49391 {0.3788, 0.3159, 0.0350, 0.2704},
49392 {0.1379, 0.1782, 0.4077, 0.2763},
49393 {0.1884, 0.1934, 0.3576, 0.2606}},
49394 {
49395 {0.2157, 0.2790, 0.3591, 0.1463},
49396 {0.2599, 0.3333, 0.1865, 0.2202},
49397 {0.3006, 0.2994, 0.3011, 0.0989},
49398 {0.1585, 0.2353, 0.2127, 0.3935}},
49399 {
49400 {0.2165, 0.1742, 0.1478, 0.4615},
49401 {0.4314, 0.3329, 0.0272, 0.2085},
49402 {0.2556, 0.2199, 0.2468, 0.2776},
49403 {0.0730, 0.2828, 0.1807, 0.4635}},
49404 {
49405 {0.3512, 0.1937, 0.1987, 0.2564},
49406 {0.1841, 0.2460, 0.2183, 0.3516},
49407 {0.3972, 0.2129, 0.2760, 0.1139},
49408 {0.1419, 0.2387, 0.2814, 0.3379}},
49409 {
49410 {0.3264, 0.1715, 0.3039, 0.1983},
49411 {0.3628, 0.2522, 0.0703, 0.3147},
49412 {0.3319, 0.2672, 0.2354, 0.1655},
49413 {0.1492, 0.2868, 0.1935, 0.3704}},
49414 {
49415 {0.2259, 0.2025, 0.1719, 0.3998},
49416 {0.1989, 0.3652, 0.0971, 0.3389},
49417 {0.0784, 0.3605, 0.2854, 0.2756},
49418 {0.2684, 0.3065, 0.0919, 0.3333}},
49419 {
49420 {0.2812, 0.1958, 0.2421, 0.2810},
49421 {0.3567, 0.1062, 0.1898, 0.3473},
49422 {0.3188, 0.1637, 0.3069, 0.2107},
49423 {0.2404, 0.2157, 0.2840, 0.2600}},
49424 {
49425 {0.3349, 0.2756, 0.1320, 0.2576},
49426 {0.3714, 0.0955, 0.1456, 0.3875},
49427 {0.4248, 0.2199, 0.2594, 0.0960},
49428 {0.1443, 0.1712, 0.1731, 0.5115}},
49429 {
49430 {0.3738, 0.1570, 0.2065, 0.2627},
49431 {0.3184, 0.1200, 0.2067, 0.3548},
49432 {0.3579, 0.0485, 0.3211, 0.2724},
49433 {0.1860, 0.2612, 0.1842, 0.3687}},
49434 {
49435 {0.4564, 0.1656, 0.1088, 0.2692},
49436 {0.1589, 0.2513, 0.2003, 0.3895},
49437 {0.4114, 0.1837, 0.1091, 0.2958},
49438 {0.2806, 0.1777, 0.2833, 0.2584}},
49439 {
49440 {0.3971, 0.2171, 0.1910, 0.1948},
49441 {0.2965, 0.1360, 0.0895, 0.4779},
49442 {0.3256, 0.0935, 0.4073, 0.1736},
49443 {0.1442, 0.1632, 0.1676, 0.5250}},
49444 {
49445 {0.4116, 0.1443, 0.2449, 0.1992},
49446 {0.2015, 0.3458, 0.2039, 0.2488},
49447 {0.1579, 0.2808, 0.2458, 0.3155},
49448 {0.1399, 0.2604, 0.1677, 0.4320}},
49449 {
49450 {0.3771, 0.2105, 0.2110, 0.2015},
49451 {0.1981, 0.2627, 0.1335, 0.4057},
49452 {0.1872, 0.2695, 0.1551, 0.3882},
49453 {0.2366, 0.1885, 0.3384, 0.2365}},
49454 {
49455 {0.2624, 0.2212, 0.1653, 0.3511},
49456 {0.3180, 0.3231, 0.1106, 0.2483},
49457 {0.2605, 0.2189, 0.2573, 0.2633},
49458 {0.2478, 0.2910, 0.2163, 0.2449}},
49459 {
49460 {0.4285, 0.1534, 0.1154, 0.3027},
49461 {0.2971, 0.3041, 0.0920, 0.3067},
49462 {0.2684, 0.3472, 0.1703, 0.2142},
49463 {0.1739, 0.1472, 0.1472, 0.5318}},
49464 {
49465 {0.5533, 0.1942, 0.1406, 0.1120},
49466 {0.4002, 0.1780, 0.1428, 0.2790},
49467 {0.2651, 0.2458, 0.3036, 0.1856},
49468 {0.2076, 0.2319, 0.2651, 0.2955}},
49469 {
49470 {0.4137, 0.2485, 0.1299, 0.2078},
49471 {0.3052, 0.1176, 0.1552, 0.4220},
49472 {0.2845, 0.1956, 0.2813, 0.2385},
49473 {0.1078, 0.2465, 0.1771, 0.4686}},
49474 {
49475 {0.3893, 0.2476, 0.1143, 0.2488},
49476 {0.4209, 0.1558, 0.2665, 0.1569},
49477 {0.1856, 0.4622, 0.3073, 0.0449},
49478 {0.2514, 0.2307, 0.1563, 0.3616}},
49479 {
49480 {0.4057, 0.2562, 0.0763, 0.2617},
49481 {0.3422, 0.2762, 0.0603, 0.3213},
49482 {0.1989, 0.3382, 0.1713, 0.2915},
49483 {0.1398, 0.3207, 0.2114, 0.3280}},
49484 {
49485 {0.3089, 0.2206, 0.3010, 0.1695},
49486 {0.3576, 0.3427, 0.1634, 0.1364},
49487 {0.7191, 0.1416, 0.0000, 0.1394},
49488 {0.1658, 0.3035, 0.1397, 0.3910}},
49489 {
49490 {0.5083, 0.2210, 0.1241, 0.1466},
49491 {0.4263, 0.3076, 0.0907, 0.1754},
49492 {0.4444, 0.1892, 0.1794, 0.1870},
49493 {0.0680, 0.1472, 0.0748, 0.7099}},
49494 {
49495 {1.0000, 0.0000, 0.0000, 0.0000},
49496 {1.0000, 0.0000, 0.0000, 0.0000},
49497 {1.0000, 0.0000, 0.0000, 0.0000},
49498 {1.0000, 0.0000, 0.0000, 0.0000}},
49499 {
49500 {0.0000, 0.0000, 1.0000, 0.0000},
49501 {0.0000, 0.0000, 0.0000, 0.0000},
49502 {0.0000, 0.0000, 0.0000, 0.0000},
49503 {0.0000, 0.0000, 0.0000, 0.0000}},
49504 {
49505 {0.0000, 0.0000, 0.0000, 0.0000},
49506 {0.0000, 0.0000, 0.0000, 0.0000},
49507 {0.3733, 0.2037, 0.1852, 0.2379},
49508 {0.0000, 0.0000, 0.0000, 0.0000}},
49509 {
49510 {0.4807, 0.0844, 0.2158, 0.2191},
49511 {0.3550, 0.1144, 0.1250, 0.4056},
49512 {0.4787, 0.2144, 0.1314, 0.1755},
49513 {0.1008, 0.3109, 0.3439, 0.2445}},
49514 {
49515 {0.4385, 0.1345, 0.2469, 0.1801},
49516 {0.3311, 0.0000, 0.4277, 0.2411},
49517 {0.2280, 0.2743, 0.1945, 0.3032},
49518 {0.0958, 0.2579, 0.2858, 0.3605}},
49519 {
49520 {0.4157, 0.1874, 0.1124, 0.2845},
49521 {0.0899, 0.3389, 0.1849, 0.3862},
49522 {0.3223, 0.2362, 0.1790, 0.2625},
49523 {0.2529, 0.2458, 0.1249, 0.3765}},
49524 {
49525 {0.3911, 0.1684, 0.2989, 0.1416},
49526 {0.4242, 0.1679, 0.1698, 0.2380},
49527 {0.2230, 0.1623, 0.2195, 0.3953},
49528 {0.2039, 0.2326, 0.2613, 0.3021}},
49529 {
49530 {0.2873, 0.1726, 0.2588, 0.2813},
49531 {0.2997, 0.3090, 0.1696, 0.2217},
49532 {0.2367, 0.2431, 0.3247, 0.1956},
49533 {0.2261, 0.1623, 0.1586, 0.4530}},
49534 {
49535 {0.4406, 0.1235, 0.0936, 0.3422},
49536 {0.3076, 0.1139, 0.1186, 0.4599},
49537 {0.3137, 0.2015, 0.2080, 0.2767},
49538 {0.1617, 0.2264, 0.2493, 0.3626}},
49539 {
49540 {0.4634, 0.1043, 0.2934, 0.1389},
49541 {0.2360, 0.0488, 0.1978, 0.5174},
49542 {0.2337, 0.2386, 0.1862, 0.3415},
49543 {0.2702, 0.1814, 0.1843, 0.3641}},
49544 {
49545 {0.3845, 0.1258, 0.2362, 0.2535},
49546 {0.3347, 0.4497, 0.0526, 0.1630},
49547 {0.2993, 0.3004, 0.2515, 0.1488},
49548 {0.1026, 0.2818, 0.3035, 0.3121}},
49549 {
49550 {0.3646, 0.1569, 0.2091, 0.2695},
49551 {0.1541, 0.1845, 0.3487, 0.3127},
49552 {0.2785, 0.2078, 0.2049, 0.3087},
49553 {0.2798, 0.1765, 0.1377, 0.4060}},
49554 {
49555 {0.3233, 0.1547, 0.2733, 0.2487},
49556 {0.3643, 0.1297, 0.1869, 0.3191},
49557 {0.1829, 0.3871, 0.1721, 0.2578},
49558 {0.3004, 0.2941, 0.1058, 0.2997}},
49559 {
49560 {0.3378, 0.1396, 0.3592, 0.1634},
49561 {0.3567, 0.2858, 0.1625, 0.1949},
49562 {0.3705, 0.0434, 0.3211, 0.2649},
49563 {0.0550, 0.3554, 0.1738, 0.4158}},
49564 {
49565 {0.4208, 0.0901, 0.1594, 0.3297},
49566 {0.4083, 0.2584, 0.1121, 0.2213},
49567 {0.3217, 0.2524, 0.1630, 0.2629},
49568 {0.1794, 0.4030, 0.0627, 0.3549}},
49569 {
49570 {0.3892, 0.2411, 0.1248, 0.2448},
49571 {0.5093, 0.0703, 0.1641, 0.2563},
49572 {0.1929, 0.1289, 0.3381, 0.3400},
49573 {0.1955, 0.2505, 0.2772, 0.2768}},
49574 {
49575 {0.3093, 0.1187, 0.2576, 0.3143},
49576 {0.2993, 0.2158, 0.1338, 0.3511},
49577 {0.2834, 0.2053, 0.2007, 0.3107},
49578 {0.0318, 0.1500, 0.3255, 0.4927}},
49579 {
49580 {0.4610, 0.1849, 0.1434, 0.2106},
49581 {0.4007, 0.1494, 0.0945, 0.3554},
49582 {0.2722, 0.1334, 0.0983, 0.4961},
49583 {0.2689, 0.2045, 0.1576, 0.3690}},
49584 {
49585 {0.4909, 0.0479, 0.1903, 0.2708},
49586 {0.4322, 0.1384, 0.1900, 0.2394},
49587 {0.1222, 0.3106, 0.2534, 0.3138},
49588 {0.3112, 0.1318, 0.2457, 0.3113}},
49589 {
49590 {0.3245, 0.1790, 0.2944, 0.2021},
49591 {0.2506, 0.3137, 0.1820, 0.2537},
49592 {0.4112, 0.1057, 0.2283, 0.2548},
49593 {0.1162, 0.3490, 0.2198, 0.3149}},
49594 {
49595 {0.4124, 0.2071, 0.0588, 0.3217},
49596 {0.2850, 0.0708, 0.2861, 0.3581},
49597 {0.4051, 0.2292, 0.1616, 0.2041},
49598 {0.1643, 0.2791, 0.1663, 0.3903}},
49599 {
49600 {0.5105, 0.1279, 0.1773, 0.1843},
49601 {0.3524, 0.0810, 0.2028, 0.3638},
49602 {0.2523, 0.1464, 0.1472, 0.4541},
49603 {0.2288, 0.2053, 0.3305, 0.2355}},
49604 {
49605 {0.4440, 0.1395, 0.2066, 0.2099},
49606 {0.3357, 0.1555, 0.1165, 0.3922},
49607 {0.3325, 0.1784, 0.4210, 0.0681},
49608 {0.0935, 0.2623, 0.2406, 0.4036}},
49609 {
49610 {0.3225, 0.2235, 0.1324, 0.3216},
49611 {0.3836, 0.2608, 0.1376, 0.2180},
49612 {0.1854, 0.2586, 0.2605, 0.2955},
49613 {0.2820, 0.2131, 0.1619, 0.3430}},
49614 {
49615 {0.4979, 0.0825, 0.2245, 0.1952},
49616 {0.2038, 0.2110, 0.2397, 0.3455},
49617 {0.3230, 0.1892, 0.1911, 0.2967},
49618 {0.2148, 0.2136, 0.3506, 0.2210}},
49619 {
49620 {0.3565, 0.2034, 0.2565, 0.1837},
49621 {0.3776, 0.1435, 0.3420, 0.1370},
49622 {0.3511, 0.0958, 0.2456, 0.3075},
49623 {0.1597, 0.3264, 0.2599, 0.2540}},
49624 {
49625 {0.2639, 0.1622, 0.1289, 0.4450},
49626 {0.3771, 0.2057, 0.1273, 0.2898},
49627 {0.4506, 0.0913, 0.1258, 0.3323},
49628 {0.2129, 0.3620, 0.1016, 0.3234}},
49629 {
49630 {0.3800, 0.0748, 0.2480, 0.2973},
49631 {0.2489, 0.1307, 0.2064, 0.4140},
49632 {0.4643, 0.0638, 0.4114, 0.0605},
49633 {0.2701, 0.0635, 0.3168, 0.3497}},
49634 {
49635 {0.2459, 0.1005, 0.2818, 0.3718},
49636 {0.1943, 0.1030, 0.1143, 0.5884},
49637 {0.2560, 0.2333, 0.1915, 0.3192},
49638 {0.1851, 0.1039, 0.2937, 0.4173}},
49639 {
49640 {0.2473, 0.1430, 0.0733, 0.5364},
49641 {0.2967, 0.2905, 0.0558, 0.3571},
49642 {0.0000, 0.2038, 0.3713, 0.4249},
49643 {0.1878, 0.1614, 0.1258, 0.5250}},
49644 {
49645 {0.3371, 0.1926, 0.2415, 0.2288},
49646 {0.1310, 0.1284, 0.4378, 0.3027},
49647 {0.4950, 0.1496, 0.2025, 0.1528},
49648 {0.2699, 0.1706, 0.2740, 0.2854}},
49649 {
49650 {0.3378, 0.3032, 0.2505, 0.1084},
49651 {0.4009, 0.1977, 0.1489, 0.2526},
49652 {0.3090, 0.0885, 0.4281, 0.1744},
49653 {0.2869, 0.1900, 0.2805, 0.2426}},
49654 {
49655 {0.2765, 0.2471, 0.0781, 0.3983},
49656 {0.3750, 0.3317, 0.0418, 0.2514},
49657 {0.2827, 0.2434, 0.1110, 0.3629},
49658 {0.1263, 0.1753, 0.3106, 0.3878}},
49659 {
49660 {0.4654, 0.1809, 0.0593, 0.2945},
49661 {0.3827, 0.1284, 0.2024, 0.2865},
49662 {0.2046, 0.2036, 0.3964, 0.1953},
49663 {0.2072, 0.2571, 0.1358, 0.4000}},
49664 {
49665 {0.3578, 0.1563, 0.2302, 0.2558},
49666 {0.3343, 0.2816, 0.2994, 0.0847},
49667 {0.3617, 0.1967, 0.3412, 0.1004},
49668 {0.2473, 0.1967, 0.2269, 0.3292}},
49669 {
49670 {0.2087, 0.3014, 0.0804, 0.4095},
49671 {0.4409, 0.2008, 0.0783, 0.2800},
49672 {0.2539, 0.1541, 0.2176, 0.3744},
49673 {0.1140, 0.3335, 0.1461, 0.4064}},
49674 {
49675 {0.3653, 0.1022, 0.1685, 0.3640},
49676 {0.3942, 0.1983, 0.1623, 0.2453},
49677 {0.3718, 0.1311, 0.1889, 0.3082},
49678 {0.2423, 0.1949, 0.2838, 0.2790}},
49679 {
49680 {0.3955, 0.1514, 0.3014, 0.1518},
49681 {0.3021, 0.0488, 0.4020, 0.2471},
49682 {0.3595, 0.3012, 0.1492, 0.1902},
49683 {0.2687, 0.1638, 0.2690, 0.2985}},
49684 {
49685 {0.2700, 0.2216, 0.1282, 0.3802},
49686 {0.2404, 0.2919, 0.1851, 0.2826},
49687 {0.2373, 0.2653, 0.1780, 0.3194},
49688 {0.1549, 0.2946, 0.1447, 0.4058}},
49689 {
49690 {0.2888, 0.1447, 0.3218, 0.2448},
49691 {0.4125, 0.0915, 0.1528, 0.3433},
49692 {0.4805, 0.2071, 0.0979, 0.2144},
49693 {0.2267, 0.2041, 0.1624, 0.4069}},
49694 {
49695 {0.4542, 0.2023, 0.1721, 0.1714},
49696 {0.2537, 0.3513, 0.1024, 0.2926},
49697 {0.3080, 0.0895, 0.3851, 0.2174},
49698 {0.1496, 0.2005, 0.2259, 0.4240}},
49699 {
49700 {0.3089, 0.0806, 0.2537, 0.3568},
49701 {0.2828, 0.3188, 0.0767, 0.3217},
49702 {0.3049, 0.1509, 0.1091, 0.4351},
49703 {0.2925, 0.1945, 0.1366, 0.3765}},
49704 {
49705 {0.4175, 0.1357, 0.1121, 0.3347},
49706 {0.3534, 0.1365, 0.0469, 0.4632},
49707 {0.3161, 0.4186, 0.2653, 0.0000},
49708 {0.3102, 0.1055, 0.1770, 0.4073}},
49709 {
49710 {0.3752, 0.1157, 0.1861, 0.3230},
49711 {0.2888, 0.1374, 0.2853, 0.2885},
49712 {0.4563, 0.2689, 0.1095, 0.1652},
49713 {0.1220, 0.2622, 0.1478, 0.4681}},
49714 {
49715 {0.4506, 0.1986, 0.1140, 0.2368},
49716 {0.1643, 0.2944, 0.1250, 0.4163},
49717 {0.2771, 0.2213, 0.1363, 0.3652},
49718 {0.2619, 0.1610, 0.1438, 0.4333}},
49719 {
49720 {0.4117, 0.2395, 0.1354, 0.2134},
49721 {0.3432, 0.1208, 0.1820, 0.3539},
49722 {0.3041, 0.0650, 0.3119, 0.3190},
49723 {0.2551, 0.1810, 0.2322, 0.3317}},
49724 {
49725 {0.3262, 0.2468, 0.1480, 0.2789},
49726 {0.4731, 0.0890, 0.3004, 0.1374},
49727 {0.4828, 0.2037, 0.1612, 0.1523},
49728 {0.2166, 0.1865, 0.1643, 0.4326}},
49729 {
49730 {0.3271, 0.1628, 0.0684, 0.4417},
49731 {0.3358, 0.3310, 0.1229, 0.2103},
49732 {0.2277, 0.2237, 0.3242, 0.2244},
49733 {0.1474, 0.1168, 0.1770, 0.5588}},
49734 {
49735 {0.5415, 0.0301, 0.2170, 0.2114},
49736 {0.4180, 0.1687, 0.0846, 0.3287},
49737 {0.2606, 0.2131, 0.1557, 0.3706},
49738 {0.2674, 0.2285, 0.2739, 0.2302}},
49739 {
49740 {0.4217, 0.2034, 0.1731, 0.2017},
49741 {0.3574, 0.2031, 0.1502, 0.2893},
49742 {0.4033, 0.1218, 0.1625, 0.3124},
49743 {0.2031, 0.1816, 0.3035, 0.3119}},
49744 {
49745 {0.2839, 0.1579, 0.1647, 0.3935},
49746 {0.2692, 0.2718, 0.1387, 0.3202},
49747 {0.1640, 0.1938, 0.3567, 0.2854},
49748 {0.2475, 0.1226, 0.3005, 0.3294}},
49749 {
49750 {0.2303, 0.2029, 0.1717, 0.3951},
49751 {0.2334, 0.0940, 0.1796, 0.4930},
49752 {0.2720, 0.1344, 0.3452, 0.2484},
49753 {0.2392, 0.2632, 0.1912, 0.3064}}},
49754
49755 { /* Splice_Site: F0_AG; Species: Yeast */
49756 {
49757 {0.3703, 0.3703, 0.3703, 0.3703},
49758 {0.1959, 0.1959, 0.1959, 0.1959},
49759 {0.2041, 0.2041, 0.2041, 0.2041},
49760 {0.2297, 0.2297, 0.2297, 0.2297}},
49761 {
49762 {0.2446, 0.1289, 0.2277, 0.3989},
49763 {0.3793, 0.2850, 0.0812, 0.2544},
49764 {0.0809, 0.2007, 0.3581, 0.3603},
49765 {0.0724, 0.3192, 0.1788, 0.4296}},
49766 {
49767 {0.1230, 0.3354, 0.3761, 0.1655},
49768 {0.2992, 0.1870, 0.2614, 0.2524},
49769 {0.3122, 0.2227, 0.3491, 0.1160},
49770 {0.2884, 0.1786, 0.4013, 0.1317}},
49771 {
49772 {0.3356, 0.1617, 0.1850, 0.3178},
49773 {0.4387, 0.2638, 0.1091, 0.1885},
49774 {0.4023, 0.2743, 0.2120, 0.1114},
49775 {0.3540, 0.2483, 0.1459, 0.2518}},
49776 {
49777 {0.3497, 0.1866, 0.1492, 0.3144},
49778 {0.4101, 0.0339, 0.1732, 0.3828},
49779 {0.1888, 0.0504, 0.1835, 0.5772},
49780 {0.0775, 0.4115, 0.1185, 0.3925}},
49781 {
49782 {0.4076, 0.0300, 0.2303, 0.3321},
49783 {0.1815, 0.2412, 0.5293, 0.0480},
49784 {0.2623, 0.2096, 0.3096, 0.2185},
49785 {0.1880, 0.2092, 0.2924, 0.3104}},
49786 {
49787 {0.2799, 0.1875, 0.1584, 0.3742},
49788 {0.0512, 0.2956, 0.3047, 0.3484},
49789 {0.3282, 0.3602, 0.2108, 0.1009},
49790 {0.2526, 0.3265, 0.1310, 0.2899}},
49791 {
49792 {0.2579, 0.2286, 0.1880, 0.3255},
49793 {0.3625, 0.0571, 0.1126, 0.4677},
49794 {0.2636, 0.1752, 0.1301, 0.4311},
49795 {0.1288, 0.0972, 0.2140, 0.5600}},
49796 {
49797 {0.3256, 0.1974, 0.1856, 0.2915},
49798 {0.3736, 0.1871, 0.3153, 0.1241},
49799 {0.3076, 0.1995, 0.3458, 0.1471},
49800 {0.2332, 0.1638, 0.3462, 0.2569}},
49801 {
49802 {0.2349, 0.2527, 0.1983, 0.3141},
49803 {0.3094, 0.3221, 0.1858, 0.1827},
49804 {0.4549, 0.0804, 0.2427, 0.2221},
49805 {0.2934, 0.2179, 0.1364, 0.3524}},
49806 {
49807 {0.2740, 0.1537, 0.1954, 0.3769},
49808 {0.2470, 0.2347, 0.0384, 0.4800},
49809 {0.3387, 0.1294, 0.1216, 0.4103},
49810 {0.2162, 0.2110, 0.2077, 0.3650}},
49811 {
49812 {0.3080, 0.3157, 0.1219, 0.2544},
49813 {0.3151, 0.1754, 0.1882, 0.3213},
49814 {0.2095, 0.2629, 0.4202, 0.1074},
49815 {0.2862, 0.2070, 0.2850, 0.2218}},
49816 {
49817 {0.4177, 0.1464, 0.2656, 0.1703},
49818 {0.2786, 0.3150, 0.2727, 0.1337},
49819 {0.3608, 0.4039, 0.2057, 0.0297},
49820 {0.2523, 0.2843, 0.0718, 0.3916}},
49821 {
49822 {0.3483, 0.2717, 0.0943, 0.2856},
49823 {0.3496, 0.1209, 0.0283, 0.5012},
49824 {0.2795, 0.0415, 0.0388, 0.6401},
49825 {0.2802, 0.2251, 0.2295, 0.2651}},
49826 {
49827 {0.3838, 0.2040, 0.2067, 0.2055},
49828 {0.1924, 0.1445, 0.2357, 0.4274},
49829 {0.1786, 0.1865, 0.3608, 0.2740},
49830 {0.2169, 0.2884, 0.3203, 0.1743}},
49831 {
49832 {0.5081, 0.1860, 0.0635, 0.2425},
49833 {0.2818, 0.3920, 0.1445, 0.1818},
49834 {0.3678, 0.1521, 0.2712, 0.2089},
49835 {0.2137, 0.4483, 0.0999, 0.2381}},
49836 {
49837 {0.2171, 0.2390, 0.1662, 0.3777},
49838 {0.2522, 0.1476, 0.1179, 0.4823},
49839 {0.2880, 0.1073, 0.1606, 0.4441},
49840 {0.0746, 0.2997, 0.1855, 0.4402}},
49841 {
49842 {0.3214, 0.3184, 0.1221, 0.2381},
49843 {0.3956, 0.2432, 0.2822, 0.0790},
49844 {0.1618, 0.2673, 0.3067, 0.2642},
49845 {0.2066, 0.1861, 0.4151, 0.1923}},
49846 {
49847 {0.4230, 0.1267, 0.1590, 0.2913},
49848 {0.3056, 0.3047, 0.1786, 0.2111},
49849 {0.4731, 0.1383, 0.1792, 0.2095},
49850 {0.3022, 0.4773, 0.1297, 0.0909}},
49851 {
49852 {0.3978, 0.1421, 0.1647, 0.2954},
49853 {0.2385, 0.1368, 0.1353, 0.4893},
49854 {0.2561, 0.2016, 0.0525, 0.4898},
49855 {0.1264, 0.1650, 0.0774, 0.6312}},
49856 {
49857 {0.4125, 0.1757, 0.1738, 0.2380},
49858 {0.3662, 0.1058, 0.3230, 0.2051},
49859 {0.4046, 0.2589, 0.2033, 0.1331},
49860 {0.2553, 0.2208, 0.2577, 0.2662}},
49861 {
49862 {0.3499, 0.2193, 0.1436, 0.2871},
49863 {0.2799, 0.1674, 0.3025, 0.2502},
49864 {0.4809, 0.2434, 0.1715, 0.1041},
49865 {0.1847, 0.4659, 0.0698, 0.2796}},
49866 {
49867 {0.4686, 0.0485, 0.1800, 0.3030},
49868 {0.2386, 0.1844, 0.0915, 0.4855},
49869 {0.2408, 0.1526, 0.1029, 0.5037},
49870 {0.0681, 0.2401, 0.0723, 0.6196}},
49871 {
49872 {0.2881, 0.2082, 0.2098, 0.2939},
49873 {0.3379, 0.2784, 0.2781, 0.1056},
49874 {0.4275, 0.1495, 0.0658, 0.3572},
49875 {0.2180, 0.2321, 0.3330, 0.2168}},
49876 {
49877 {0.2671, 0.2328, 0.1494, 0.3506},
49878 {0.1169, 0.4497, 0.2553, 0.1780},
49879 {0.3717, 0.2581, 0.1867, 0.1835},
49880 {0.3012, 0.2131, 0.0679, 0.4178}},
49881 {
49882 {0.3020, 0.2431, 0.1240, 0.3309},
49883 {0.2946, 0.1442, 0.0897, 0.4715},
49884 {0.2023, 0.3558, 0.0910, 0.3509},
49885 {0.1432, 0.1986, 0.1196, 0.5387}},
49886 {
49887 {0.3157, 0.2406, 0.1692, 0.2745},
49888 {0.3680, 0.2663, 0.1433, 0.2224},
49889 {0.1517, 0.1590, 0.4581, 0.2312},
49890 {0.2850, 0.1501, 0.3962, 0.1688}},
49891 {
49892 {0.4715, 0.2276, 0.1932, 0.1077},
49893 {0.5480, 0.2075, 0.1660, 0.0784},
49894 {0.4701, 0.1105, 0.2207, 0.1987},
49895 {0.1532, 0.3817, 0.1523, 0.3127}},
49896 {
49897 {0.3502, 0.1333, 0.1642, 0.3523},
49898 {0.2927, 0.2996, 0.1482, 0.2595},
49899 {0.4209, 0.2241, 0.0430, 0.3120},
49900 {0.1910, 0.2793, 0.1447, 0.3850}},
49901 {
49902 {0.4212, 0.1546, 0.1492, 0.2750},
49903 {0.4158, 0.1147, 0.2343, 0.2352},
49904 {0.3124, 0.2568, 0.1825, 0.2483},
49905 {0.3706, 0.3220, 0.2044, 0.1030}},
49906 {
49907 {0.4794, 0.1039, 0.1929, 0.2238},
49908 {0.4611, 0.2717, 0.1532, 0.1140},
49909 {0.5597, 0.1764, 0.2186, 0.0452},
49910 {0.1960, 0.3958, 0.0771, 0.3312}},
49911 {
49912 {0.3642, 0.0920, 0.1831, 0.3606},
49913 {0.2293, 0.3052, 0.0814, 0.3841},
49914 {0.2947, 0.1534, 0.1010, 0.4509},
49915 {0.0000, 0.2145, 0.1731, 0.6124}},
49916 {
49917 {0.4252, 0.0943, 0.2879, 0.1926},
49918 {0.6180, 0.0981, 0.0963, 0.1876},
49919 {0.1616, 0.2907, 0.3326, 0.2151},
49920 {0.2303, 0.1506, 0.3867, 0.2324}},
49921 {
49922 {0.4649, 0.2414, 0.0451, 0.2485},
49923 {0.2766, 0.4423, 0.2241, 0.0571},
49924 {0.2735, 0.2682, 0.1335, 0.3248},
49925 {0.3024, 0.4221, 0.0000, 0.2754}},
49926 {
49927 {0.2899, 0.2352, 0.1917, 0.2832},
49928 {0.2818, 0.1786, 0.0521, 0.4875},
49929 {0.3422, 0.1882, 0.0000, 0.4696},
49930 {0.0000, 0.3285, 0.1310, 0.5404}},
49931 {
49932 {0.3958, 0.1890, 0.2614, 0.1538},
49933 {0.2069, 0.1716, 0.4838, 0.1377},
49934 {0.0733, 0.1434, 0.2826, 0.5007},
49935 {0.2897, 0.1312, 0.3410, 0.2381}},
49936 {
49937 {0.2995, 0.3038, 0.1508, 0.2459},
49938 {0.1044, 0.4154, 0.2130, 0.2672},
49939 {0.4220, 0.3006, 0.1865, 0.0909},
49940 {0.2237, 0.4043, 0.0382, 0.3338}},
49941 {
49942 {0.3617, 0.0836, 0.1935, 0.3611},
49943 {0.1833, 0.2597, 0.0943, 0.4627},
49944 {0.3965, 0.1173, 0.0595, 0.4267},
49945 {0.1527, 0.0791, 0.2326, 0.5356}},
49946 {
49947 {0.2801, 0.2126, 0.3497, 0.1576},
49948 {0.3443, 0.2202, 0.2193, 0.2162},
49949 {0.3773, 0.2899, 0.1655, 0.1673},
49950 {0.2748, 0.2804, 0.2420, 0.2029}},
49951 {
49952 {0.4817, 0.1352, 0.1910, 0.1921},
49953 {0.2931, 0.2927, 0.2299, 0.1843},
49954 {0.4487, 0.1951, 0.2244, 0.1318},
49955 {0.0890, 0.3032, 0.1794, 0.4284}},
49956 {
49957 {0.4446, 0.0954, 0.2049, 0.2551},
49958 {0.1484, 0.0780, 0.1533, 0.6203},
49959 {0.1904, 0.2431, 0.1633, 0.4032},
49960 {0.0702, 0.2605, 0.2230, 0.4462}},
49961 {
49962 {0.3991, 0.1272, 0.3409, 0.1328},
49963 {0.3744, 0.2175, 0.3013, 0.1067},
49964 {0.2674, 0.2170, 0.2914, 0.2243},
49965 {0.1835, 0.2379, 0.3597, 0.2190}},
49966 {
49967 {0.3458, 0.1197, 0.2657, 0.2688},
49968 {0.3606, 0.3200, 0.1172, 0.2022},
49969 {0.3898, 0.1449, 0.2684, 0.1970},
49970 {0.1883, 0.3164, 0.2246, 0.2706}},
49971 {
49972 {0.3911, 0.1761, 0.2132, 0.2196},
49973 {0.0745, 0.2024, 0.0445, 0.6786},
49974 {0.2226, 0.2543, 0.1404, 0.3826},
49975 {0.1121, 0.1395, 0.2137, 0.5347}},
49976 {
49977 {0.2929, 0.2356, 0.2562, 0.2152},
49978 {0.2143, 0.1706, 0.4408, 0.1743},
49979 {0.2433, 0.2508, 0.1565, 0.3495},
49980 {0.1942, 0.2135, 0.3593, 0.2330}},
49981 {
49982 {0.3833, 0.2227, 0.1770, 0.2171},
49983 {0.3505, 0.2265, 0.1531, 0.2699},
49984 {0.3870, 0.1545, 0.2742, 0.1843},
49985 {0.0640, 0.4514, 0.2053, 0.2793}},
49986 {
49987 {0.4922, 0.2182, 0.1024, 0.1873},
49988 {0.2917, 0.1994, 0.0919, 0.4170},
49989 {0.2345, 0.0371, 0.1171, 0.6114},
49990 {0.1394, 0.1827, 0.1370, 0.5409}},
49991 {
49992 {0.2712, 0.1902, 0.2751, 0.2635},
49993 {0.2004, 0.1533, 0.2965, 0.3497},
49994 {0.3540, 0.2228, 0.2079, 0.2153},
49995 {0.3290, 0.1777, 0.3204, 0.1729}},
49996 {
49997 {0.4554, 0.2159, 0.2487, 0.0800},
49998 {0.5899, 0.2722, 0.1378, 0.0000},
49999 {0.4370, 0.1959, 0.2564, 0.1107},
50000 {0.2746, 0.4145, 0.1356, 0.1752}},
50001 {
50002 {0.5162, 0.1364, 0.0985, 0.2489},
50003 {0.3976, 0.3320, 0.0326, 0.2377},
50004 {0.3498, 0.0815, 0.1176, 0.4511},
50005 {0.0000, 0.5732, 0.0000, 0.4268}},
50006 {
50007 {1.0000, 0.0000, 0.0000, 0.0000},
50008 {1.0000, 0.0000, 0.0000, 0.0000},
50009 {1.0000, 0.0000, 0.0000, 0.0000},
50010 {1.0000, 0.0000, 0.0000, 0.0000}},
50011 {
50012 {0.0000, 0.0000, 1.0000, 0.0000},
50013 {0.0000, 0.0000, 0.0000, 0.0000},
50014 {0.0000, 0.0000, 0.0000, 0.0000},
50015 {0.0000, 0.0000, 0.0000, 0.0000}},
50016 {
50017 {0.0000, 0.0000, 0.0000, 0.0000},
50018 {0.0000, 0.0000, 0.0000, 0.0000},
50019 {0.3413, 0.2617, 0.0985, 0.2985},
50020 {0.0000, 0.0000, 0.0000, 0.0000}},
50021 {
50022 {0.3844, 0.1167, 0.3829, 0.1160},
50023 {0.5250, 0.1861, 0.2583, 0.0306},
50024 {0.4874, 0.3321, 0.0920, 0.0884},
50025 {0.3606, 0.3054, 0.1928, 0.1411}},
50026 {
50027 {0.3848, 0.1522, 0.1755, 0.2874},
50028 {0.5385, 0.1891, 0.2337, 0.0387},
50029 {0.3771, 0.2530, 0.1524, 0.2176},
50030 {0.0000, 0.6779, 0.0823, 0.2397}},
50031 {
50032 {0.3939, 0.1733, 0.1521, 0.2807},
50033 {0.2378, 0.2807, 0.0368, 0.4448},
50034 {0.3349, 0.1973, 0.0000, 0.4679},
50035 {0.0391, 0.3515, 0.1125, 0.4969}},
50036 {
50037 {0.3626, 0.0874, 0.2744, 0.2756},
50038 {0.2760, 0.1416, 0.3049, 0.2776},
50039 {0.2784, 0.1851, 0.4518, 0.0847},
50040 {0.2855, 0.1441, 0.2307, 0.3397}},
50041 {
50042 {0.4028, 0.1100, 0.1588, 0.3285},
50043 {0.5621, 0.1835, 0.1285, 0.1259},
50044 {0.4383, 0.2098, 0.3238, 0.0281},
50045 {0.2057, 0.3374, 0.1134, 0.3436}},
50046 {
50047 {0.3034, 0.2123, 0.1971, 0.2872},
50048 {0.1432, 0.2717, 0.1562, 0.4289},
50049 {0.3025, 0.2553, 0.1790, 0.2632},
50050 {0.0743, 0.1792, 0.1506, 0.5959}},
50051 {
50052 {0.2927, 0.1922, 0.2931, 0.2219},
50053 {0.4298, 0.0707, 0.3594, 0.1401},
50054 {0.2879, 0.2374, 0.3288, 0.1459},
50055 {0.1113, 0.1953, 0.4064, 0.2870}},
50056 {
50057 {0.3934, 0.1949, 0.2564, 0.1553},
50058 {0.2405, 0.3328, 0.2867, 0.1400},
50059 {0.4992, 0.1796, 0.1133, 0.2079},
50060 {0.3139, 0.6089, 0.0382, 0.0389}},
50061 {
50062 {0.4482, 0.1262, 0.1258, 0.2998},
50063 {0.2737, 0.1873, 0.0850, 0.4540},
50064 {0.3507, 0.0000, 0.0460, 0.6033},
50065 {0.0555, 0.1101, 0.1646, 0.6698}},
50066 {
50067 {0.2265, 0.1886, 0.3537, 0.2312},
50068 {0.3281, 0.0000, 0.4001, 0.2718},
50069 {0.3926, 0.1506, 0.2268, 0.2300},
50070 {0.3331, 0.2567, 0.2678, 0.1424}},
50071 {
50072 {0.4531, 0.0274, 0.3047, 0.2147},
50073 {0.3023, 0.3414, 0.2214, 0.1349},
50074 {0.4710, 0.2121, 0.1352, 0.1818},
50075 {0.1726, 0.4173, 0.0851, 0.3249}},
50076 {
50077 {0.2832, 0.2162, 0.1484, 0.3523},
50078 {0.2201, 0.0727, 0.1090, 0.5982},
50079 {0.3933, 0.0882, 0.1304, 0.3881},
50080 {0.1099, 0.2346, 0.1543, 0.5012}},
50081 {
50082 {0.4467, 0.1311, 0.2258, 0.1964},
50083 {0.0502, 0.2433, 0.3944, 0.3121},
50084 {0.5292, 0.1126, 0.1790, 0.1792},
50085 {0.2917, 0.2072, 0.3530, 0.1480}},
50086 {
50087 {0.3281, 0.0700, 0.1493, 0.4526},
50088 {0.2759, 0.2299, 0.3610, 0.1332},
50089 {0.3223, 0.1622, 0.2695, 0.2460},
50090 {0.1717, 0.3189, 0.1659, 0.3435}},
50091 {
50092 {0.3525, 0.1416, 0.1665, 0.3394},
50093 {0.0968, 0.1451, 0.1434, 0.6147},
50094 {0.1831, 0.1074, 0.1038, 0.6056},
50095 {0.0528, 0.2634, 0.1600, 0.5237}},
50096 {
50097 {0.1852, 0.2885, 0.2391, 0.2873},
50098 {0.3368, 0.2865, 0.1861, 0.1905},
50099 {0.1151, 0.1108, 0.4396, 0.3345},
50100 {0.2770, 0.2083, 0.2902, 0.2246}},
50101 {
50102 {0.5167, 0.1258, 0.2615, 0.0961},
50103 {0.4355, 0.2676, 0.1490, 0.1479},
50104 {0.4581, 0.0840, 0.1416, 0.3164},
50105 {0.2341, 0.3673, 0.1321, 0.2664}},
50106 {
50107 {0.3173, 0.1190, 0.2245, 0.3392},
50108 {0.2698, 0.3270, 0.0424, 0.3608},
50109 {0.5171, 0.0467, 0.1477, 0.2886},
50110 {0.0820, 0.2283, 0.1947, 0.4949}},
50111 {
50112 {0.4404, 0.1426, 0.2450, 0.1719},
50113 {0.2738, 0.0976, 0.3832, 0.2453},
50114 {0.3036, 0.1919, 0.3567, 0.1478},
50115 {0.2780, 0.2035, 0.3844, 0.1342}},
50116 {
50117 {0.4171, 0.1451, 0.1436, 0.2943},
50118 {0.3488, 0.4086, 0.1937, 0.0489},
50119 {0.4137, 0.1706, 0.2480, 0.1678},
50120 {0.1998, 0.3976, 0.1474, 0.2552}},
50121 {
50122 {0.3311, 0.1290, 0.2268, 0.3131},
50123 {0.1005, 0.3148, 0.0696, 0.5152},
50124 {0.3410, 0.1279, 0.2693, 0.2618},
50125 {0.1624, 0.1126, 0.2423, 0.4827}},
50126 {
50127 {0.2296, 0.1259, 0.3731, 0.2714},
50128 {0.4280, 0.1448, 0.1871, 0.2401},
50129 {0.2952, 0.3352, 0.2033, 0.1663},
50130 {0.2351, 0.2145, 0.3811, 0.1693}},
50131 {
50132 {0.4723, 0.1444, 0.1743, 0.2091},
50133 {0.2771, 0.2449, 0.2032, 0.2748},
50134 {0.4233, 0.1281, 0.2653, 0.1833},
50135 {0.2457, 0.3536, 0.0403, 0.3604}},
50136 {
50137 {0.2699, 0.1732, 0.1555, 0.4015},
50138 {0.2902, 0.1559, 0.0405, 0.5135},
50139 {0.2708, 0.1837, 0.0419, 0.5037},
50140 {0.0961, 0.2383, 0.2638, 0.4019}},
50141 {
50142 {0.4284, 0.1727, 0.1082, 0.2907},
50143 {0.2530, 0.2668, 0.1248, 0.3554},
50144 {0.1205, 0.1720, 0.4080, 0.2995},
50145 {0.3140, 0.0940, 0.2918, 0.3001}},
50146 {
50147 {0.3700, 0.1327, 0.1360, 0.3613},
50148 {0.2000, 0.2629, 0.2095, 0.3276},
50149 {0.3449, 0.3108, 0.1020, 0.2422},
50150 {0.2654, 0.2797, 0.0548, 0.4000}},
50151 {
50152 {0.3166, 0.1286, 0.1821, 0.3727},
50153 {0.0684, 0.2104, 0.1672, 0.5539},
50154 {0.2155, 0.0738, 0.2874, 0.4233},
50155 {0.0727, 0.0960, 0.2419, 0.5894}},
50156 {
50157 {0.4006, 0.1494, 0.2552, 0.1948},
50158 {0.5179, 0.2441, 0.1183, 0.1197},
50159 {0.2273, 0.1916, 0.4215, 0.1596},
50160 {0.2705, 0.3501, 0.1457, 0.2337}},
50161 {
50162 {0.4713, 0.2082, 0.0545, 0.2661},
50163 {0.2701, 0.4586, 0.2392, 0.0321},
50164 {0.3315, 0.2232, 0.0777, 0.3676},
50165 {0.0813, 0.4644, 0.1208, 0.3335}},
50166 {
50167 {0.2649, 0.2105, 0.1862, 0.3384},
50168 {0.2501, 0.0778, 0.2278, 0.4442},
50169 {0.2039, 0.1450, 0.3188, 0.3324},
50170 {0.1393, 0.1027, 0.1986, 0.5594}},
50171 {
50172 {0.2554, 0.1511, 0.3361, 0.2575},
50173 {0.4873, 0.1929, 0.0671, 0.2526},
50174 {0.3332, 0.2319, 0.2188, 0.2162},
50175 {0.0745, 0.2684, 0.3449, 0.3122}},
50176 {
50177 {0.2820, 0.2859, 0.1790, 0.2532},
50178 {0.2207, 0.2576, 0.2206, 0.3010},
50179 {0.4393, 0.2617, 0.1834, 0.1156},
50180 {0.2446, 0.3615, 0.1500, 0.2439}},
50181 {
50182 {0.4410, 0.2428, 0.1066, 0.2096},
50183 {0.2767, 0.1167, 0.0822, 0.5243},
50184 {0.2230, 0.2335, 0.1329, 0.4105},
50185 {0.1108, 0.1449, 0.1838, 0.5605}},
50186 {
50187 {0.3206, 0.1142, 0.2976, 0.2676},
50188 {0.4127, 0.1860, 0.1757, 0.2256},
50189 {0.3974, 0.1306, 0.3415, 0.1305},
50190 {0.2512, 0.1963, 0.3335, 0.2191}},
50191 {
50192 {0.3619, 0.1755, 0.2073, 0.2553},
50193 {0.3997, 0.3022, 0.1014, 0.1968},
50194 {0.4737, 0.1113, 0.1941, 0.2209},
50195 {0.3065, 0.1804, 0.1478, 0.3652}},
50196 {
50197 {0.2305, 0.3254, 0.1893, 0.2548},
50198 {0.2219, 0.1814, 0.1769, 0.4199},
50199 {0.4377, 0.1891, 0.0906, 0.2826},
50200 {0.1569, 0.1918, 0.1811, 0.4701}},
50201 {
50202 {0.2353, 0.1377, 0.2326, 0.3944},
50203 {0.2340, 0.1733, 0.3097, 0.2829},
50204 {0.2401, 0.1477, 0.3284, 0.2838},
50205 {0.2634, 0.1644, 0.3065, 0.2657}},
50206 {
50207 {0.2672, 0.1641, 0.1700, 0.3987},
50208 {0.5257, 0.2096, 0.0581, 0.2065},
50209 {0.3620, 0.2506, 0.2217, 0.1657},
50210 {0.3261, 0.2706, 0.1335, 0.2698}},
50211 {
50212 {0.3248, 0.1883, 0.1160, 0.3709},
50213 {0.2490, 0.2880, 0.1061, 0.3569},
50214 {0.3004, 0.0518, 0.2072, 0.4406},
50215 {0.2193, 0.3108, 0.1641, 0.3057}},
50216 {
50217 {0.3257, 0.2642, 0.2325, 0.1776},
50218 {0.2260, 0.2592, 0.2927, 0.2221},
50219 {0.1692, 0.1742, 0.1770, 0.4795},
50220 {0.1633, 0.2434, 0.2958, 0.2974}},
50221 {
50222 {0.4808, 0.2960, 0.1127, 0.1106},
50223 {0.3683, 0.3964, 0.0652, 0.1701},
50224 {0.4993, 0.1888, 0.1230, 0.1888},
50225 {0.1268, 0.3878, 0.0846, 0.4009}},
50226 {
50227 {0.3669, 0.1807, 0.1773, 0.2752},
50228 {0.3637, 0.0986, 0.0763, 0.4614},
50229 {0.2575, 0.2401, 0.1671, 0.3353},
50230 {0.2224, 0.1876, 0.1463, 0.4437}},
50231 {
50232 {0.2346, 0.2574, 0.1501, 0.3579},
50233 {0.3077, 0.1443, 0.3966, 0.1514},
50234 {0.2336, 0.0594, 0.4135, 0.2935},
50235 {0.1972, 0.2206, 0.3667, 0.2155}},
50236 {
50237 {0.4647, 0.2160, 0.2489, 0.0704},
50238 {0.3579, 0.3042, 0.2079, 0.1300},
50239 {0.3424, 0.2916, 0.1286, 0.2373},
50240 {0.2757, 0.2522, 0.0979, 0.3742}},
50241 {
50242 {0.4330, 0.1574, 0.0697, 0.3399},
50243 {0.2498, 0.1889, 0.0600, 0.5013},
50244 {0.2040, 0.2462, 0.1549, 0.3949},
50245 {0.1860, 0.2304, 0.1117, 0.4719}},
50246 {
50247 {0.2977, 0.3635, 0.1439, 0.1950},
50248 {0.4579, 0.0860, 0.2037, 0.2524},
50249 {0.2839, 0.4536, 0.1729, 0.0896},
50250 {0.2123, 0.2348, 0.1937, 0.3591}},
50251 {
50252 {0.2744, 0.2246, 0.1961, 0.3049},
50253 {0.2514, 0.4272, 0.1262, 0.1952},
50254 {0.4502, 0.1860, 0.1336, 0.2302},
50255 {0.2913, 0.3108, 0.0879, 0.3101}},
50256 {
50257 {0.3814, 0.1066, 0.1071, 0.4049},
50258 {0.2217, 0.1995, 0.0303, 0.5485},
50259 {0.2380, 0.1186, 0.1178, 0.5256},
50260 {0.3439, 0.1835, 0.1811, 0.2916}},
50261 {
50262 {0.3757, 0.1881, 0.1890, 0.2471},
50263 {0.3189, 0.2119, 0.2139, 0.2553},
50264 {0.3125, 0.2389, 0.3000, 0.1486},
50265 {0.2861, 0.1727, 0.2794, 0.2618}}},
50266
50267 { /* Splice_Site: Fi_AG; Species: Yeast */
50268 {
50269 {0.3186, 0.3186, 0.3186, 0.3186},
50270 {0.1832, 0.1832, 0.1832, 0.1832},
50271 {0.1758, 0.1758, 0.1758, 0.1758},
50272 {0.3224, 0.3224, 0.3224, 0.3224}},
50273 {
50274 {0.4445, 0.1201, 0.1621, 0.2732},
50275 {0.1991, 0.2306, 0.2077, 0.3626},
50276 {0.2088, 0.2745, 0.2403, 0.2764},
50277 {0.2155, 0.1491, 0.2972, 0.3382}},
50278 {
50279 {0.3944, 0.0568, 0.1496, 0.3991},
50280 {0.2987, 0.2777, 0.1587, 0.2649},
50281 {0.2768, 0.2603, 0.2070, 0.2559},
50282 {0.2756, 0.1522, 0.1218, 0.4504}},
50283 {
50284 {0.3226, 0.1706, 0.1499, 0.3569},
50285 {0.3062, 0.1879, 0.1600, 0.3459},
50286 {0.2054, 0.2775, 0.1434, 0.3737},
50287 {0.2479, 0.2019, 0.1713, 0.3789}},
50288 {
50289 {0.3619, 0.1126, 0.1917, 0.3338},
50290 {0.2340, 0.1858, 0.1838, 0.3963},
50291 {0.4703, 0.1964, 0.0358, 0.2975},
50292 {0.1615, 0.1987, 0.2190, 0.4208}},
50293 {
50294 {0.2669, 0.1480, 0.2428, 0.3423},
50295 {0.3014, 0.2767, 0.0900, 0.3319},
50296 {0.3564, 0.1251, 0.2420, 0.2766},
50297 {0.3354, 0.1247, 0.1576, 0.3823}},
50298 {
50299 {0.3451, 0.1547, 0.1829, 0.3173},
50300 {0.3035, 0.2028, 0.1610, 0.3327},
50301 {0.2309, 0.2268, 0.1122, 0.4300},
50302 {0.2659, 0.2150, 0.2458, 0.2734}},
50303 {
50304 {0.3848, 0.1122, 0.2748, 0.2282},
50305 {0.3744, 0.1616, 0.2498, 0.2142},
50306 {0.4410, 0.2303, 0.1107, 0.2179},
50307 {0.2741, 0.1442, 0.1480, 0.4337}},
50308 {
50309 {0.3331, 0.1356, 0.2263, 0.3050},
50310 {0.3105, 0.2394, 0.0997, 0.3504},
50311 {0.3000, 0.2710, 0.2169, 0.2122},
50312 {0.2556, 0.1640, 0.1954, 0.3850}},
50313 {
50314 {0.3878, 0.0564, 0.2424, 0.3133},
50315 {0.4325, 0.1688, 0.1442, 0.2545},
50316 {0.2984, 0.1879, 0.1590, 0.3547},
50317 {0.3192, 0.0958, 0.2664, 0.3185}},
50318 {
50319 {0.2952, 0.1490, 0.1312, 0.4246},
50320 {0.2308, 0.2749, 0.2678, 0.2265},
50321 {0.4129, 0.1486, 0.1949, 0.2435},
50322 {0.2207, 0.1811, 0.2185, 0.3796}},
50323 {
50324 {0.2724, 0.1807, 0.1462, 0.4007},
50325 {0.2392, 0.2081, 0.1522, 0.4005},
50326 {0.2478, 0.2221, 0.1410, 0.3891},
50327 {0.2317, 0.1636, 0.1492, 0.4555}},
50328 {
50329 {0.3848, 0.2598, 0.1240, 0.2314},
50330 {0.4177, 0.1060, 0.1409, 0.3354},
50331 {0.1807, 0.2163, 0.1777, 0.4252},
50332 {0.2355, 0.1427, 0.2664, 0.3555}},
50333 {
50334 {0.2715, 0.1449, 0.3161, 0.2675},
50335 {0.3751, 0.1490, 0.1501, 0.3258},
50336 {0.2206, 0.2157, 0.1894, 0.3744},
50337 {0.1713, 0.2204, 0.2216, 0.3867}},
50338 {
50339 {0.3744, 0.1086, 0.1709, 0.3461},
50340 {0.3787, 0.1669, 0.1462, 0.3082},
50341 {0.2488, 0.1795, 0.2479, 0.3238},
50342 {0.2429, 0.1877, 0.1659, 0.4036}},
50343 {
50344 {0.3062, 0.1984, 0.2642, 0.2311},
50345 {0.3200, 0.2015, 0.1553, 0.3232},
50346 {0.3759, 0.1178, 0.1961, 0.3103},
50347 {0.3315, 0.1188, 0.2367, 0.3131}},
50348 {
50349 {0.4351, 0.1118, 0.1317, 0.3214},
50350 {0.3410, 0.0708, 0.2086, 0.3796},
50351 {0.3820, 0.1110, 0.1812, 0.3259},
50352 {0.2341, 0.2015, 0.2351, 0.3293}},
50353 {
50354 {0.4532, 0.0802, 0.1964, 0.2702},
50355 {0.3624, 0.1579, 0.1604, 0.3193},
50356 {0.3186, 0.2295, 0.0833, 0.3685},
50357 {0.2395, 0.1942, 0.1271, 0.4392}},
50358 {
50359 {0.2932, 0.0910, 0.2760, 0.3398},
50360 {0.2817, 0.1323, 0.2799, 0.3062},
50361 {0.3877, 0.1109, 0.2833, 0.2180},
50362 {0.3104, 0.1806, 0.2235, 0.2856}},
50363 {
50364 {0.4741, 0.1688, 0.1551, 0.2020},
50365 {0.4398, 0.2460, 0.1608, 0.1533},
50366 {0.4198, 0.0822, 0.2090, 0.2890},
50367 {0.3284, 0.1222, 0.2158, 0.3336}},
50368 {
50369 {0.3078, 0.1402, 0.2065, 0.3455},
50370 {0.4147, 0.2974, 0.0363, 0.2516},
50371 {0.3935, 0.2322, 0.0924, 0.2818},
50372 {0.1229, 0.1459, 0.3519, 0.3792}},
50373 {
50374 {0.4260, 0.1659, 0.2129, 0.1952},
50375 {0.2317, 0.2613, 0.1789, 0.3281},
50376 {0.2954, 0.1365, 0.2136, 0.3544},
50377 {0.2639, 0.1599, 0.2873, 0.2890}},
50378 {
50379 {0.3802, 0.1680, 0.1596, 0.2922},
50380 {0.2411, 0.3413, 0.0857, 0.3319},
50381 {0.3508, 0.1412, 0.1397, 0.3682},
50382 {0.1889, 0.1159, 0.2422, 0.4529}},
50383 {
50384 {0.4058, 0.1950, 0.1089, 0.2903},
50385 {0.2704, 0.2054, 0.1568, 0.3674},
50386 {0.2502, 0.1293, 0.2470, 0.3735},
50387 {0.3113, 0.1763, 0.1578, 0.3546}},
50388 {
50389 {0.2794, 0.1323, 0.2309, 0.3575},
50390 {0.3250, 0.0886, 0.2351, 0.3513},
50391 {0.2383, 0.2610, 0.2012, 0.2996},
50392 {0.2860, 0.1379, 0.1834, 0.3927}},
50393 {
50394 {0.3016, 0.2240, 0.2464, 0.2279},
50395 {0.4641, 0.0692, 0.1095, 0.3572},
50396 {0.2257, 0.2414, 0.1592, 0.3737},
50397 {0.1608, 0.1037, 0.3123, 0.4233}},
50398 {
50399 {0.4304, 0.0773, 0.1431, 0.3492},
50400 {0.2924, 0.1610, 0.2189, 0.3277},
50401 {0.2061, 0.2083, 0.1372, 0.4484},
50402 {0.2989, 0.1700, 0.2144, 0.3167}},
50403 {
50404 {0.2746, 0.1514, 0.2551, 0.3189},
50405 {0.3849, 0.0994, 0.1043, 0.4114},
50406 {0.2303, 0.2922, 0.1813, 0.2962},
50407 {0.2659, 0.1792, 0.2379, 0.3169}},
50408 {
50409 {0.4579, 0.1291, 0.1514, 0.2616},
50410 {0.2375, 0.3199, 0.1210, 0.3216},
50411 {0.4224, 0.1252, 0.1292, 0.3232},
50412 {0.1769, 0.1759, 0.1996, 0.4476}},
50413 {
50414 {0.3337, 0.1535, 0.1611, 0.3517},
50415 {0.2425, 0.1147, 0.2928, 0.3500},
50416 {0.2715, 0.0662, 0.2452, 0.4171},
50417 {0.2419, 0.1956, 0.1665, 0.3960}},
50418 {
50419 {0.2672, 0.1184, 0.2279, 0.3865},
50420 {0.1432, 0.3199, 0.1808, 0.3561},
50421 {0.3316, 0.2018, 0.0747, 0.3919},
50422 {0.2698, 0.1240, 0.2860, 0.3203}},
50423 {
50424 {0.4114, 0.0964, 0.2214, 0.2708},
50425 {0.2160, 0.0649, 0.1539, 0.5652},
50426 {0.3430, 0.2009, 0.1514, 0.3047},
50427 {0.1920, 0.2316, 0.1757, 0.4006}},
50428 {
50429 {0.3887, 0.1282, 0.0749, 0.4082},
50430 {0.2930, 0.2546, 0.1913, 0.2611},
50431 {0.5619, 0.0586, 0.0291, 0.3504},
50432 {0.2605, 0.2088, 0.1990, 0.3317}},
50433 {
50434 {0.3690, 0.1208, 0.1648, 0.3455},
50435 {0.2777, 0.1875, 0.0973, 0.4375},
50436 {0.3242, 0.1965, 0.2404, 0.2389},
50437 {0.2933, 0.1975, 0.2288, 0.2804}},
50438 {
50439 {0.3365, 0.1597, 0.1904, 0.3135},
50440 {0.3443, 0.1871, 0.1293, 0.3393},
50441 {0.4225, 0.1137, 0.2078, 0.2561},
50442 {0.1793, 0.1805, 0.1339, 0.5063}},
50443 {
50444 {0.4364, 0.1212, 0.1247, 0.3178},
50445 {0.3515, 0.1925, 0.2534, 0.2025},
50446 {0.3576, 0.1620, 0.1019, 0.3785},
50447 {0.2445, 0.1724, 0.2234, 0.3597}},
50448 {
50449 {0.3554, 0.2272, 0.1733, 0.2441},
50450 {0.4068, 0.1005, 0.2350, 0.2578},
50451 {0.3208, 0.2115, 0.2005, 0.2672},
50452 {0.2592, 0.1367, 0.1633, 0.4408}},
50453 {
50454 {0.4495, 0.1297, 0.2073, 0.2136},
50455 {0.3144, 0.1890, 0.2798, 0.2168},
50456 {0.3690, 0.2071, 0.1691, 0.2548},
50457 {0.3538, 0.2087, 0.0954, 0.3420}},
50458 {
50459 {0.3769, 0.1504, 0.2192, 0.2534},
50460 {0.4181, 0.0853, 0.2421, 0.2545},
50461 {0.2335, 0.2078, 0.2675, 0.2912},
50462 {0.2848, 0.1385, 0.2277, 0.3491}},
50463 {
50464 {0.2989, 0.2027, 0.2223, 0.2761},
50465 {0.3167, 0.1451, 0.1407, 0.3976},
50466 {0.3192, 0.1342, 0.2080, 0.3386},
50467 {0.1985, 0.1263, 0.3082, 0.3670}},
50468 {
50469 {0.3071, 0.1879, 0.1284, 0.3767},
50470 {0.2025, 0.2004, 0.2702, 0.3269},
50471 {0.2776, 0.2079, 0.2292, 0.2853},
50472 {0.1936, 0.1903, 0.1897, 0.4263}},
50473 {
50474 {0.3674, 0.1112, 0.1741, 0.3473},
50475 {0.3232, 0.2427, 0.1355, 0.2986},
50476 {0.3277, 0.1860, 0.2179, 0.2685},
50477 {0.2651, 0.2118, 0.2063, 0.3168}},
50478 {
50479 {0.3145, 0.1571, 0.1863, 0.3421},
50480 {0.3616, 0.1980, 0.1944, 0.2461},
50481 {0.2009, 0.1179, 0.2525, 0.4287},
50482 {0.2406, 0.2033, 0.1840, 0.3721}},
50483 {
50484 {0.3489, 0.1545, 0.2290, 0.2676},
50485 {0.3768, 0.1209, 0.1306, 0.3717},
50486 {0.1627, 0.1533, 0.2360, 0.4480},
50487 {0.2689, 0.0745, 0.2305, 0.4261}},
50488 {
50489 {0.3756, 0.1671, 0.1444, 0.3129},
50490 {0.3030, 0.3468, 0.1783, 0.1719},
50491 {0.3272, 0.1952, 0.0767, 0.4009},
50492 {0.2822, 0.1656, 0.1976, 0.3546}},
50493 {
50494 {0.5121, 0.1258, 0.0971, 0.2649},
50495 {0.2652, 0.1583, 0.1885, 0.3880},
50496 {0.3424, 0.2085, 0.0996, 0.3496},
50497 {0.1618, 0.1448, 0.2396, 0.4538}},
50498 {
50499 {0.3736, 0.1444, 0.1634, 0.3186},
50500 {0.4410, 0.0382, 0.1077, 0.4132},
50501 {0.4092, 0.0687, 0.1654, 0.3566},
50502 {0.2239, 0.1912, 0.1595, 0.4254}},
50503 {
50504 {0.3947, 0.1104, 0.1858, 0.3091},
50505 {0.2366, 0.3193, 0.2775, 0.1665},
50506 {0.2787, 0.1058, 0.2735, 0.3419},
50507 {0.2551, 0.0973, 0.2839, 0.3636}},
50508 {
50509 {0.3339, 0.1368, 0.2595, 0.2698},
50510 {0.4806, 0.0000, 0.2796, 0.2399},
50511 {0.2990, 0.0881, 0.3410, 0.2718},
50512 {0.2525, 0.1536, 0.2487, 0.3452}},
50513 {
50514 {0.4477, 0.1659, 0.1344, 0.2521},
50515 {0.3262, 0.1918, 0.1854, 0.2966},
50516 {0.3944, 0.1330, 0.1514, 0.3212},
50517 {0.3370, 0.1300, 0.2388, 0.2943}},
50518 {
50519 {1.0000, 0.0000, 0.0000, 0.0000},
50520 {1.0000, 0.0000, 0.0000, 0.0000},
50521 {1.0000, 0.0000, 0.0000, 0.0000},
50522 {1.0000, 0.0000, 0.0000, 0.0000}},
50523 {
50524 {0.0000, 0.0000, 1.0000, 0.0000},
50525 {0.0000, 0.0000, 0.0000, 0.0000},
50526 {0.0000, 0.0000, 0.0000, 0.0000},
50527 {0.0000, 0.0000, 0.0000, 0.0000}},
50528 {
50529 {0.0000, 0.0000, 0.0000, 0.0000},
50530 {0.0000, 0.0000, 0.0000, 0.0000},
50531 {0.3535, 0.2415, 0.1968, 0.2082},
50532 {0.0000, 0.0000, 0.0000, 0.0000}},
50533 {
50534 {0.4629, 0.1512, 0.1531, 0.2328},
50535 {0.4135, 0.0844, 0.1049, 0.3973},
50536 {0.4299, 0.1376, 0.1385, 0.2940},
50537 {0.2716, 0.1274, 0.1755, 0.4255}},
50538 {
50539 {0.3880, 0.0921, 0.2469, 0.2730},
50540 {0.3393, 0.0861, 0.2455, 0.3291},
50541 {0.1436, 0.1871, 0.3069, 0.3623},
50542 {0.1963, 0.1139, 0.2523, 0.4375}},
50543 {
50544 {0.3868, 0.0913, 0.2623, 0.2596},
50545 {0.3901, 0.2923, 0.0468, 0.2709},
50546 {0.3124, 0.1697, 0.2096, 0.3084},
50547 {0.2152, 0.1638, 0.2576, 0.3634}},
50548 {
50549 {0.4156, 0.1359, 0.1547, 0.2938},
50550 {0.3994, 0.2375, 0.0975, 0.2656},
50551 {0.5258, 0.1211, 0.0476, 0.3054},
50552 {0.3177, 0.1765, 0.1659, 0.3399}},
50553 {
50554 {0.4211, 0.0516, 0.1572, 0.3701},
50555 {0.2324, 0.2657, 0.1987, 0.3032},
50556 {0.4515, 0.2132, 0.0000, 0.3353},
50557 {0.2232, 0.0326, 0.1953, 0.5490}},
50558 {
50559 {0.3685, 0.2225, 0.1415, 0.2675},
50560 {0.4780, 0.0456, 0.2133, 0.2631},
50561 {0.2765, 0.1715, 0.1764, 0.3757},
50562 {0.2396, 0.1393, 0.1545, 0.4665}},
50563 {
50564 {0.3086, 0.1680, 0.1873, 0.3361},
50565 {0.1588, 0.1926, 0.1938, 0.4548},
50566 {0.2330, 0.2677, 0.1018, 0.3976},
50567 {0.2920, 0.2011, 0.1279, 0.3790}},
50568 {
50569 {0.3783, 0.1604, 0.1366, 0.3246},
50570 {0.3423, 0.2344, 0.0808, 0.3425},
50571 {0.3437, 0.2083, 0.0334, 0.4147},
50572 {0.2009, 0.1639, 0.2586, 0.3767}},
50573 {
50574 {0.4038, 0.1455, 0.1382, 0.3125},
50575 {0.3126, 0.1683, 0.1431, 0.3760},
50576 {0.4610, 0.0978, 0.1027, 0.3384},
50577 {0.2349, 0.1422, 0.2189, 0.4041}},
50578 {
50579 {0.4042, 0.0449, 0.2333, 0.3176},
50580 {0.2606, 0.1512, 0.2965, 0.2918},
50581 {0.3209, 0.1578, 0.1663, 0.3550},
50582 {0.2396, 0.1651, 0.1331, 0.4622}},
50583 {
50584 {0.2118, 0.1519, 0.3471, 0.2892},
50585 {0.3086, 0.2639, 0.2558, 0.1717},
50586 {0.3192, 0.1613, 0.2935, 0.2260},
50587 {0.2929, 0.1297, 0.1889, 0.3885}},
50588 {
50589 {0.3228, 0.2266, 0.1652, 0.2854},
50590 {0.2316, 0.1311, 0.1358, 0.5015},
50591 {0.4016, 0.2037, 0.1404, 0.2543},
50592 {0.2686, 0.1234, 0.1261, 0.4819}},
50593 {
50594 {0.2478, 0.1381, 0.2071, 0.4070},
50595 {0.3632, 0.1209, 0.1871, 0.3288},
50596 {0.3468, 0.2167, 0.1810, 0.2556},
50597 {0.2830, 0.2016, 0.0858, 0.4295}},
50598 {
50599 {0.1978, 0.0891, 0.2904, 0.4226},
50600 {0.5006, 0.1600, 0.1538, 0.1856},
50601 {0.3625, 0.1473, 0.1376, 0.3527},
50602 {0.2609, 0.1992, 0.2181, 0.3218}},
50603 {
50604 {0.4031, 0.1772, 0.1759, 0.2438},
50605 {0.2857, 0.1457, 0.1771, 0.3916},
50606 {0.1941, 0.2951, 0.2203, 0.2905},
50607 {0.2239, 0.2398, 0.2046, 0.3316}},
50608 {
50609 {0.2542, 0.1837, 0.1557, 0.4064},
50610 {0.3371, 0.2175, 0.1268, 0.3186},
50611 {0.3500, 0.2171, 0.1635, 0.2694},
50612 {0.2208, 0.1214, 0.1714, 0.4864}},
50613 {
50614 {0.2840, 0.1709, 0.2056, 0.3395},
50615 {0.2587, 0.1795, 0.0897, 0.4721},
50616 {0.4160, 0.1340, 0.1371, 0.3129},
50617 {0.2312, 0.1181, 0.2269, 0.4238}},
50618 {
50619 {0.3572, 0.2081, 0.1676, 0.2670},
50620 {0.3987, 0.1059, 0.0670, 0.4285},
50621 {0.3578, 0.2024, 0.1468, 0.2930},
50622 {0.1751, 0.2285, 0.2309, 0.3655}},
50623 {
50624 {0.4232, 0.1270, 0.2364, 0.2134},
50625 {0.3406, 0.1296, 0.1892, 0.3406},
50626 {0.3046, 0.1788, 0.2384, 0.2782},
50627 {0.2548, 0.2359, 0.1575, 0.3518}},
50628 {
50629 {0.3779, 0.1935, 0.0980, 0.3306},
50630 {0.3293, 0.1857, 0.2113, 0.2736},
50631 {0.3150, 0.1056, 0.2691, 0.3104},
50632 {0.2824, 0.1099, 0.2652, 0.3426}},
50633 {
50634 {0.2854, 0.2738, 0.1657, 0.2751},
50635 {0.2073, 0.2474, 0.1471, 0.3982},
50636 {0.3398, 0.1904, 0.2051, 0.2647},
50637 {0.2268, 0.1757, 0.1802, 0.4172}},
50638 {
50639 {0.2310, 0.1978, 0.1804, 0.3909},
50640 {0.3800, 0.1903, 0.1398, 0.2899},
50641 {0.3328, 0.1722, 0.2867, 0.2083},
50642 {0.3292, 0.2253, 0.1418, 0.3036}},
50643 {
50644 {0.4457, 0.0843, 0.1854, 0.2846},
50645 {0.4738, 0.1334, 0.1050, 0.2878},
50646 {0.2971, 0.0890, 0.1875, 0.4264},
50647 {0.1895, 0.1567, 0.1585, 0.4953}},
50648 {
50649 {0.3206, 0.2410, 0.1467, 0.2917},
50650 {0.1781, 0.1409, 0.1783, 0.5027},
50651 {0.2340, 0.2011, 0.1968, 0.3680},
50652 {0.3099, 0.1229, 0.2407, 0.3265}},
50653 {
50654 {0.3293, 0.1848, 0.1523, 0.3336},
50655 {0.1769, 0.2715, 0.2582, 0.2934},
50656 {0.2701, 0.2119, 0.2215, 0.2965},
50657 {0.2676, 0.1906, 0.0947, 0.4471}},
50658 {
50659 {0.2738, 0.2541, 0.1819, 0.2902},
50660 {0.3101, 0.2320, 0.1505, 0.3074},
50661 {0.5148, 0.1311, 0.0324, 0.3217},
50662 {0.2912, 0.0899, 0.1907, 0.4282}},
50663 {
50664 {0.3897, 0.1890, 0.1280, 0.2933},
50665 {0.3991, 0.1580, 0.1922, 0.2507},
50666 {0.2463, 0.1701, 0.1732, 0.4104},
50667 {0.2544, 0.2229, 0.0935, 0.4293}},
50668 {
50669 {0.2974, 0.1671, 0.2606, 0.2750},
50670 {0.2971, 0.1346, 0.1642, 0.4042},
50671 {0.3598, 0.2396, 0.2387, 0.1618},
50672 {0.2407, 0.1208, 0.2423, 0.3962}},
50673 {
50674 {0.2952, 0.2539, 0.1713, 0.2796},
50675 {0.4140, 0.1714, 0.0719, 0.3426},
50676 {0.3059, 0.2284, 0.2247, 0.2411},
50677 {0.3117, 0.1594, 0.0964, 0.4324}},
50678 {
50679 {0.3760, 0.1329, 0.2176, 0.2735},
50680 {0.3104, 0.2059, 0.0258, 0.4579},
50681 {0.4047, 0.2193, 0.1582, 0.2177},
50682 {0.3321, 0.1416, 0.1403, 0.3861}},
50683 {
50684 {0.3631, 0.1335, 0.2027, 0.3007},
50685 {0.4228, 0.1286, 0.1285, 0.3201},
50686 {0.1851, 0.1567, 0.2183, 0.4399},
50687 {0.3693, 0.1213, 0.0595, 0.4499}},
50688 {
50689 {0.2560, 0.1957, 0.2122, 0.3361},
50690 {0.3634, 0.2316, 0.1179, 0.2871},
50691 {0.3383, 0.1082, 0.1845, 0.3690},
50692 {0.2687, 0.1393, 0.1274, 0.4646}},
50693 {
50694 {0.3302, 0.1725, 0.1699, 0.3274},
50695 {0.1854, 0.2746, 0.1254, 0.4146},
50696 {0.3521, 0.1256, 0.2319, 0.2905},
50697 {0.2056, 0.1517, 0.2092, 0.4335}},
50698 {
50699 {0.2821, 0.1576, 0.2020, 0.3583},
50700 {0.2374, 0.2116, 0.1547, 0.3963},
50701 {0.4268, 0.2573, 0.0298, 0.2861},
50702 {0.1251, 0.1856, 0.2002, 0.4891}},
50703 {
50704 {0.4548, 0.1533, 0.1309, 0.2610},
50705 {0.2699, 0.1621, 0.2150, 0.3530},
50706 {0.4267, 0.2742, 0.1973, 0.1019},
50707 {0.2743, 0.0629, 0.2775, 0.3853}},
50708 {
50709 {0.3854, 0.1733, 0.1669, 0.2743},
50710 {0.3496, 0.1179, 0.2682, 0.2644},
50711 {0.3201, 0.0508, 0.3134, 0.3157},
50712 {0.2750, 0.1206, 0.2462, 0.3582}},
50713 {
50714 {0.3317, 0.1551, 0.2240, 0.2893},
50715 {0.3953, 0.0885, 0.1293, 0.3869},
50716 {0.3743, 0.2698, 0.0638, 0.2921},
50717 {0.3276, 0.1625, 0.1410, 0.3690}},
50718 {
50719 {0.2433, 0.1821, 0.2247, 0.3499},
50720 {0.2358, 0.1264, 0.1201, 0.5177},
50721 {0.3121, 0.1459, 0.1806, 0.3614},
50722 {0.2574, 0.1445, 0.2107, 0.3874}},
50723 {
50724 {0.4026, 0.1881, 0.2217, 0.1876},
50725 {0.2759, 0.3334, 0.2153, 0.1753},
50726 {0.2748, 0.1836, 0.2437, 0.2979},
50727 {0.1843, 0.1379, 0.1867, 0.4911}},
50728 {
50729 {0.4640, 0.2246, 0.1577, 0.1536},
50730 {0.2762, 0.1642, 0.1679, 0.3917},
50731 {0.2996, 0.1536, 0.1967, 0.3501},
50732 {0.2304, 0.1958, 0.2133, 0.3606}},
50733 {
50734 {0.3158, 0.1844, 0.2496, 0.2502},
50735 {0.2435, 0.2761, 0.1380, 0.3424},
50736 {0.4872, 0.2574, 0.1150, 0.1404},
50737 {0.2396, 0.1625, 0.1595, 0.4384}},
50738 {
50739 {0.4405, 0.1496, 0.1551, 0.2548},
50740 {0.3284, 0.1745, 0.1449, 0.3522},
50741 {0.2683, 0.2392, 0.1882, 0.3043},
50742 {0.2268, 0.1051, 0.2212, 0.4469}},
50743 {
50744 {0.3436, 0.1927, 0.1827, 0.2810},
50745 {0.2052, 0.2009, 0.1973, 0.3966},
50746 {0.4680, 0.0897, 0.1744, 0.2679},
50747 {0.3889, 0.1705, 0.0951, 0.3456}},
50748 {
50749 {0.2901, 0.1919, 0.2052, 0.3128},
50750 {0.2167, 0.1907, 0.2831, 0.3095},
50751 {0.2710, 0.2375, 0.2401, 0.2514},
50752 {0.2027, 0.1531, 0.2544, 0.3899}},
50753 {
50754 {0.3412, 0.2332, 0.0859, 0.3397},
50755 {0.3121, 0.1180, 0.1138, 0.4561},
50756 {0.3403, 0.2637, 0.1767, 0.2193},
50757 {0.2739, 0.1777, 0.1602, 0.3882}},
50758 {
50759 {0.3394, 0.2028, 0.1210, 0.3368},
50760 {0.4735, 0.1632, 0.1536, 0.2098},
50761 {0.1930, 0.3536, 0.0360, 0.4174},
50762 {0.1832, 0.1200, 0.1832, 0.5136}},
50763 {
50764 {0.3586, 0.1237, 0.1788, 0.3390},
50765 {0.4038, 0.0584, 0.2650, 0.2729},
50766 {0.2343, 0.1980, 0.1551, 0.4126},
50767 {0.4117, 0.1364, 0.1757, 0.2762}},
50768 {
50769 {0.3314, 0.1304, 0.2316, 0.3066},
50770 {0.2548, 0.3243, 0.0878, 0.3331},
50771 {0.3294, 0.3012, 0.1104, 0.2591},
50772 {0.2684, 0.1482, 0.2266, 0.3567}},
50773 {
50774 {0.4896, 0.1449, 0.0889, 0.2765},
50775 {0.4335, 0.1895, 0.1616, 0.2155},
50776 {0.2786, 0.2197, 0.1676, 0.3341},
50777 {0.3095, 0.1850, 0.2332, 0.2723}}
50778 }},
50779 {
50780 { /* Splice_Site: T1_AG; Species: Asper */
50781 {
50782 {0.3143, 0.3143, 0.3143, 0.3143},
50783 {0.1918, 0.1918, 0.1918, 0.1918},
50784 {0.2636, 0.2636, 0.2636, 0.2636},
50785 {0.2303, 0.2303, 0.2303, 0.2303}},
50786 {
50787 {0.3622, 0.1563, 0.2612, 0.2203},
50788 {0.2330, 0.3987, 0.0755, 0.2928},
50789 {0.2047, 0.1228, 0.2730, 0.3995},
50790 {0.3356, 0.2161, 0.2174, 0.2310}},
50791 {
50792 {0.3494, 0.1531, 0.2639, 0.2336},
50793 {0.2178, 0.3048, 0.1765, 0.3009},
50794 {0.1907, 0.2045, 0.1430, 0.4619},
50795 {0.2035, 0.2485, 0.2280, 0.3200}},
50796 {
50797 {0.2931, 0.2467, 0.2799, 0.1803},
50798 {0.1486, 0.3857, 0.1586, 0.3070},
50799 {0.1333, 0.1872, 0.1748, 0.5046},
50800 {0.1959, 0.2126, 0.2818, 0.3097}},
50801 {
50802 {0.1869, 0.2541, 0.3275, 0.2315},
50803 {0.1755, 0.3047, 0.1611, 0.3587},
50804 {0.1954, 0.2364, 0.1964, 0.3717},
50805 {0.2676, 0.1850, 0.2009, 0.3465}},
50806 {
50807 {0.2974, 0.2314, 0.1700, 0.3012},
50808 {0.1491, 0.3274, 0.1521, 0.3714},
50809 {0.1655, 0.3223, 0.1445, 0.3678},
50810 {0.1960, 0.2414, 0.2348, 0.3278}},
50811 {
50812 {0.1795, 0.2445, 0.2777, 0.2984},
50813 {0.2605, 0.2799, 0.1341, 0.3255},
50814 {0.2023, 0.1764, 0.0692, 0.5522},
50815 {0.1310, 0.3204, 0.2458, 0.3028}},
50816 {
50817 {0.4034, 0.1147, 0.2404, 0.2415},
50818 {0.1016, 0.4077, 0.1894, 0.3013},
50819 {0.2655, 0.1494, 0.1244, 0.4607},
50820 {0.2391, 0.2672, 0.1939, 0.2998}},
50821 {
50822 {0.2547, 0.3732, 0.1653, 0.2069},
50823 {0.3057, 0.3563, 0.0919, 0.2461},
50824 {0.1463, 0.2137, 0.2052, 0.4347},
50825 {0.1835, 0.3160, 0.1441, 0.3563}},
50826 {
50827 {0.2045, 0.2014, 0.3250, 0.2691},
50828 {0.3668, 0.2835, 0.1382, 0.2115},
50829 {0.1811, 0.2949, 0.1865, 0.3375},
50830 {0.2927, 0.3390, 0.2055, 0.1628}},
50831 {
50832 {0.2744, 0.3050, 0.1940, 0.2266},
50833 {0.1338, 0.4503, 0.1445, 0.2714},
50834 {0.3500, 0.1527, 0.1295, 0.3679},
50835 {0.2790, 0.2380, 0.2224, 0.2606}},
50836 {
50837 {0.4369, 0.1996, 0.1835, 0.1800},
50838 {0.3074, 0.2716, 0.1193, 0.3017},
50839 {0.2583, 0.2390, 0.2193, 0.2833},
50840 {0.2274, 0.3020, 0.1796, 0.2910}},
50841 {
50842 {0.2376, 0.2809, 0.1580, 0.3235},
50843 {0.2515, 0.3547, 0.1417, 0.2521},
50844 {0.3232, 0.1355, 0.1836, 0.3577},
50845 {0.0666, 0.3142, 0.2146, 0.4045}},
50846 {
50847 {0.2639, 0.2389, 0.1921, 0.3050},
50848 {0.1294, 0.3387, 0.1436, 0.3883},
50849 {0.2254, 0.3095, 0.2084, 0.2566},
50850 {0.2478, 0.2820, 0.2520, 0.2182}},
50851 {
50852 {0.1260, 0.2600, 0.3458, 0.2682},
50853 {0.3108, 0.2728, 0.2330, 0.1835},
50854 {0.2771, 0.3299, 0.0892, 0.3038},
50855 {0.1348, 0.3599, 0.2262, 0.2791}},
50856 {
50857 {0.2569, 0.1928, 0.1937, 0.3566},
50858 {0.2820, 0.2772, 0.1431, 0.2976},
50859 {0.2459, 0.2618, 0.1669, 0.3253},
50860 {0.1807, 0.2985, 0.2630, 0.2579}},
50861 {
50862 {0.2445, 0.2694, 0.1499, 0.3362},
50863 {0.3103, 0.2676, 0.1555, 0.2666},
50864 {0.2552, 0.3147, 0.0476, 0.3825},
50865 {0.2677, 0.2526, 0.2231, 0.2565}},
50866 {
50867 {0.1664, 0.3160, 0.1322, 0.3854},
50868 {0.3004, 0.2200, 0.1118, 0.3677},
50869 {0.1542, 0.3497, 0.1489, 0.3472},
50870 {0.1797, 0.3733, 0.2497, 0.1974}},
50871 {
50872 {0.3576, 0.1057, 0.1993, 0.3374},
50873 {0.1904, 0.2759, 0.1042, 0.4295},
50874 {0.1886, 0.4700, 0.0830, 0.2583},
50875 {0.1421, 0.2811, 0.2752, 0.3016}},
50876 {
50877 {0.2800, 0.1788, 0.1783, 0.3628},
50878 {0.3798, 0.2927, 0.0824, 0.2451},
50879 {0.3128, 0.1299, 0.3196, 0.2377},
50880 {0.2512, 0.2049, 0.1995, 0.3444}},
50881 {
50882 {0.3169, 0.1733, 0.0929, 0.4169},
50883 {0.1517, 0.2810, 0.2407, 0.3267},
50884 {0.2459, 0.1762, 0.2992, 0.2786},
50885 {0.2766, 0.3023, 0.1989, 0.2222}},
50886 {
50887 {0.1865, 0.2372, 0.2268, 0.3495},
50888 {0.2129, 0.2510, 0.1900, 0.3461},
50889 {0.2422, 0.3298, 0.1937, 0.2343},
50890 {0.2332, 0.2661, 0.2147, 0.2860}},
50891 {
50892 {0.2517, 0.3357, 0.1621, 0.2505},
50893 {0.2277, 0.2861, 0.2256, 0.2605},
50894 {0.4172, 0.1547, 0.2140, 0.2140},
50895 {0.1464, 0.3516, 0.2207, 0.2813}},
50896 {
50897 {0.3543, 0.1411, 0.2031, 0.3015},
50898 {0.3786, 0.2697, 0.0882, 0.2635},
50899 {0.4232, 0.1641, 0.1071, 0.3056},
50900 {0.2132, 0.1759, 0.2347, 0.3762}},
50901 {
50902 {0.2826, 0.2204, 0.2062, 0.2908},
50903 {0.3208, 0.0947, 0.3236, 0.2609},
50904 {0.4359, 0.2556, 0.1738, 0.1347},
50905 {0.1633, 0.2912, 0.2655, 0.2800}},
50906 {
50907 {0.2248, 0.1801, 0.2354, 0.3597},
50908 {0.2677, 0.2625, 0.2470, 0.2228},
50909 {0.3848, 0.2425, 0.1653, 0.2074},
50910 {0.1773, 0.3012, 0.2429, 0.2787}},
50911 {
50912 {0.2807, 0.2098, 0.2449, 0.2647},
50913 {0.3047, 0.1804, 0.2370, 0.2779},
50914 {0.2641, 0.1769, 0.2914, 0.2677},
50915 {0.2490, 0.1958, 0.2394, 0.3158}},
50916 {
50917 {0.3870, 0.1684, 0.2105, 0.2341},
50918 {0.2974, 0.2155, 0.1334, 0.3537},
50919 {0.3799, 0.1448, 0.1088, 0.3665},
50920 {0.1750, 0.1110, 0.3304, 0.3836}},
50921 {
50922 {0.2382, 0.2032, 0.2094, 0.3491},
50923 {0.3823, 0.2060, 0.1461, 0.2656},
50924 {0.3278, 0.2035, 0.2408, 0.2279},
50925 {0.1740, 0.2386, 0.2482, 0.3392}},
50926 {
50927 {0.2152, 0.2260, 0.3308, 0.2280},
50928 {0.2554, 0.2303, 0.2176, 0.2967},
50929 {0.3675, 0.0817, 0.2325, 0.3184},
50930 {0.3436, 0.1911, 0.2523, 0.2129}},
50931 {
50932 {0.2913, 0.2166, 0.1992, 0.2929},
50933 {0.2895, 0.1242, 0.1899, 0.3965},
50934 {0.3179, 0.1917, 0.1745, 0.3159},
50935 {0.2111, 0.3166, 0.2262, 0.2461}},
50936 {
50937 {0.3684, 0.2160, 0.1770, 0.2386},
50938 {0.2053, 0.1483, 0.2089, 0.4375},
50939 {0.3378, 0.2324, 0.2958, 0.1340},
50940 {0.2212, 0.3858, 0.1821, 0.2109}},
50941 {
50942 {0.2522, 0.2983, 0.1082, 0.3413},
50943 {0.3382, 0.1473, 0.1926, 0.3220},
50944 {0.3256, 0.3233, 0.2222, 0.1289},
50945 {0.2770, 0.1771, 0.3444, 0.2016}},
50946 {
50947 {0.2956, 0.2709, 0.1660, 0.2675},
50948 {0.2916, 0.2162, 0.0895, 0.4027},
50949 {0.3256, 0.2923, 0.2563, 0.1258},
50950 {0.3069, 0.2275, 0.3030, 0.1626}},
50951 {
50952 {0.2447, 0.2455, 0.2195, 0.2903},
50953 {0.2378, 0.1216, 0.1415, 0.4990},
50954 {0.3829, 0.2020, 0.1976, 0.2175},
50955 {0.2500, 0.1443, 0.3155, 0.2902}},
50956 {
50957 {0.2862, 0.3425, 0.0830, 0.2882},
50958 {0.1479, 0.1507, 0.2688, 0.4326},
50959 {0.3668, 0.3458, 0.1028, 0.1845},
50960 {0.2753, 0.1633, 0.3522, 0.2092}},
50961 {
50962 {0.3268, 0.3402, 0.1528, 0.1802},
50963 {0.1816, 0.1801, 0.1265, 0.5118},
50964 {0.4130, 0.2421, 0.0849, 0.2600},
50965 {0.3306, 0.2391, 0.2940, 0.1362}},
50966 {
50967 {0.1920, 0.4273, 0.1893, 0.1914},
50968 {0.2183, 0.1040, 0.1762, 0.5016},
50969 {0.4035, 0.3770, 0.0000, 0.2194},
50970 {0.3537, 0.1180, 0.3212, 0.2070}},
50971 {
50972 {0.3750, 0.4128, 0.0149, 0.1973},
50973 {0.1596, 0.0340, 0.1612, 0.6452},
50974 {0.3393, 0.3622, 0.0443, 0.2542},
50975 {0.4253, 0.1280, 0.3332, 0.1135}},
50976 {
50977 {0.3485, 0.3417, 0.0570, 0.2528},
50978 {0.0994, 0.1020, 0.1405, 0.6582},
50979 {0.5420, 0.2807, 0.0876, 0.0898},
50980 {0.3698, 0.0876, 0.3213, 0.2214}},
50981 {
50982 {0.3517, 0.2953, 0.0573, 0.2957},
50983 {0.1994, 0.1342, 0.1822, 0.4843},
50984 {0.4930, 0.1681, 0.1714, 0.1675},
50985 {0.3726, 0.1313, 0.2938, 0.2023}},
50986 {
50987 {0.3095, 0.3519, 0.1179, 0.2208},
50988 {0.3785, 0.1658, 0.1693, 0.2864},
50989 {0.4396, 0.1103, 0.1590, 0.2911},
50990 {0.3701, 0.1849, 0.2189, 0.2262}},
50991 {
50992 {0.3019, 0.3730, 0.1141, 0.2111},
50993 {0.3522, 0.1666, 0.1593, 0.3219},
50994 {0.4134, 0.1611, 0.1160, 0.3094},
50995 {0.2119, 0.1885, 0.4173, 0.1823}},
50996 {
50997 {0.2848, 0.2456, 0.0438, 0.4258},
50998 {0.3693, 0.2614, 0.1241, 0.2453},
50999 {0.2076, 0.1799, 0.2266, 0.3859},
51000 {0.0912, 0.2952, 0.2560, 0.3576}},
51001 {
51002 {0.2051, 0.2501, 0.0732, 0.4716},
51003 {0.3445, 0.1795, 0.1288, 0.3472},
51004 {0.1823, 0.2716, 0.2885, 0.2575},
51005 {0.1899, 0.1925, 0.2841, 0.3335}},
51006 {
51007 {0.2525, 0.1958, 0.1798, 0.3719},
51008 {0.2176, 0.2718, 0.1068, 0.4038},
51009 {0.2748, 0.1854, 0.1928, 0.3470},
51010 {0.1522, 0.3550, 0.2003, 0.2926}},
51011 {
51012 {0.2508, 0.2399, 0.1469, 0.3625},
51013 {0.2068, 0.2389, 0.1719, 0.3824},
51014 {0.2822, 0.1590, 0.1570, 0.4017},
51015 {0.2193, 0.2380, 0.3335, 0.2093}},
51016 {
51017 {0.2716, 0.1908, 0.0714, 0.4662},
51018 {0.1863, 0.3676, 0.1006, 0.3455},
51019 {0.2246, 0.2028, 0.2125, 0.3600},
51020 {0.2263, 0.2398, 0.2704, 0.2635}},
51021 {
51022 {0.3023, 0.2380, 0.0375, 0.4222},
51023 {0.3212, 0.1849, 0.2778, 0.2160},
51024 {0.3126, 0.2709, 0.2348, 0.1816},
51025 {0.2444, 0.2626, 0.2754, 0.2176}},
51026 {
51027 {0.0747, 0.4627, 0.0000, 0.4626},
51028 {0.0781, 0.5013, 0.0000, 0.4206},
51029 {0.0000, 0.6192, 0.0000, 0.3808},
51030 {0.1016, 0.4746, 0.0000, 0.4239}},
51031 {
51032 {1.0000, 0.0000, 0.0000, 0.0000},
51033 {1.0000, 0.0000, 0.0000, 0.0000},
51034 {1.0000, 0.0000, 0.0000, 0.0000},
51035 {1.0000, 0.0000, 0.0000, 0.0000}},
51036 {
51037 {0.0000, 0.0000, 1.0000, 0.0000},
51038 {0.0000, 0.0000, 0.0000, 0.0000},
51039 {0.0000, 0.0000, 0.0000, 0.0000},
51040 {0.0000, 0.0000, 0.0000, 0.0000}},
51041 {
51042 {0.0000, 0.0000, 0.0000, 0.0000},
51043 {0.0000, 0.0000, 0.0000, 0.0000},
51044 {0.2987, 0.1253, 0.4109, 0.1651},
51045 {0.0000, 0.0000, 0.0000, 0.0000}},
51046 {
51047 {0.3052, 0.2279, 0.1223, 0.3446},
51048 {0.2656, 0.3251, 0.0758, 0.3335},
51049 {0.2765, 0.1528, 0.1774, 0.3933},
51050 {0.3305, 0.1664, 0.0848, 0.4183}},
51051 {
51052 {0.3332, 0.4777, 0.0319, 0.1571},
51053 {0.0880, 0.3939, 0.2034, 0.3147},
51054 {0.2138, 0.3671, 0.0707, 0.3484},
51055 {0.0467, 0.4622, 0.2192, 0.2720}},
51056 {
51057 {0.2864, 0.2797, 0.2623, 0.1716},
51058 {0.2553, 0.2186, 0.3535, 0.1725},
51059 {0.3144, 0.1983, 0.3580, 0.1293},
51060 {0.2185, 0.1666, 0.5117, 0.1033}},
51061 {
51062 {0.2611, 0.2490, 0.0889, 0.4010},
51063 {0.3005, 0.1483, 0.1086, 0.4427},
51064 {0.3929, 0.1768, 0.2270, 0.2032},
51065 {0.1809, 0.3978, 0.2088, 0.2126}},
51066 {
51067 {0.1961, 0.4118, 0.0761, 0.3160},
51068 {0.0821, 0.5548, 0.0962, 0.2669},
51069 {0.3069, 0.3102, 0.2205, 0.1624},
51070 {0.0591, 0.4735, 0.1455, 0.3219}},
51071 {
51072 {0.2854, 0.1581, 0.3632, 0.1933},
51073 {0.1539, 0.1414, 0.3677, 0.3370},
51074 {0.3180, 0.1000, 0.3362, 0.2459},
51075 {0.1294, 0.2065, 0.5346, 0.1295}},
51076 {
51077 {0.4468, 0.2895, 0.0481, 0.2156},
51078 {0.3454, 0.3170, 0.1460, 0.1917},
51079 {0.3006, 0.2564, 0.2015, 0.2415},
51080 {0.2666, 0.2370, 0.1602, 0.3363}},
51081 {
51082 {0.2690, 0.3381, 0.1297, 0.2631},
51083 {0.2045, 0.4435, 0.1011, 0.2510},
51084 {0.1507, 0.2622, 0.2638, 0.3234},
51085 {0.0368, 0.4824, 0.2098, 0.2710}},
51086 {
51087 {0.2419, 0.1825, 0.3420, 0.2336},
51088 {0.2417, 0.1417, 0.3812, 0.2354},
51089 {0.2507, 0.3138, 0.3542, 0.0813},
51090 {0.1373, 0.3130, 0.4003, 0.1494}},
51091 {
51092 {0.2973, 0.3138, 0.0435, 0.3454},
51093 {0.3250, 0.2469, 0.2652, 0.1629},
51094 {0.2518, 0.3893, 0.2153, 0.1435},
51095 {0.1504, 0.2739, 0.2381, 0.3377}},
51096 {
51097 {0.1052, 0.4669, 0.1931, 0.2348},
51098 {0.2402, 0.3158, 0.1988, 0.2453},
51099 {0.1613, 0.3424, 0.2122, 0.2841},
51100 {0.0613, 0.5431, 0.1419, 0.2537}},
51101 {
51102 {0.2711, 0.2462, 0.3004, 0.1823},
51103 {0.3270, 0.1553, 0.2764, 0.2413},
51104 {0.3211, 0.1412, 0.3878, 0.1499},
51105 {0.1946, 0.2425, 0.4183, 0.1446}},
51106 {
51107 {0.3011, 0.3826, 0.0479, 0.2684},
51108 {0.3933, 0.2159, 0.2000, 0.1908},
51109 {0.3379, 0.2147, 0.2407, 0.2067},
51110 {0.2689, 0.2742, 0.1979, 0.2590}},
51111 {
51112 {0.1079, 0.3563, 0.3646, 0.1713},
51113 {0.2279, 0.3587, 0.1795, 0.2339},
51114 {0.1909, 0.3995, 0.1394, 0.2703},
51115 {0.0785, 0.4708, 0.2102, 0.2406}},
51116 {
51117 {0.4144, 0.1517, 0.2754, 0.1584},
51118 {0.4187, 0.1401, 0.2208, 0.2204},
51119 {0.2293, 0.1330, 0.4513, 0.1864},
51120 {0.2457, 0.3303, 0.3612, 0.0627}},
51121 {
51122 {0.2185, 0.3653, 0.1842, 0.2320},
51123 {0.3217, 0.2022, 0.2735, 0.2026},
51124 {0.3706, 0.2032, 0.2336, 0.1926},
51125 {0.3230, 0.3820, 0.1592, 0.1358}},
51126 {
51127 {0.2312, 0.3927, 0.1950, 0.1810},
51128 {0.1559, 0.4620, 0.1912, 0.1910},
51129 {0.2112, 0.4178, 0.1511, 0.2200},
51130 {0.1178, 0.4647, 0.2282, 0.1893}},
51131 {
51132 {0.1962, 0.1472, 0.4634, 0.1932},
51133 {0.2983, 0.2559, 0.2502, 0.1956},
51134 {0.2861, 0.2003, 0.4665, 0.0471},
51135 {0.2403, 0.2063, 0.4805, 0.0729}},
51136 {
51137 {0.2438, 0.2889, 0.2402, 0.2272},
51138 {0.3385, 0.1488, 0.2373, 0.2754},
51139 {0.3813, 0.1966, 0.2646, 0.1575},
51140 {0.2794, 0.2567, 0.1823, 0.2815}},
51141 {
51142 {0.1012, 0.4502, 0.1961, 0.2525},
51143 {0.1682, 0.3711, 0.2282, 0.2325},
51144 {0.1160, 0.4666, 0.1675, 0.2499},
51145 {0.1241, 0.4651, 0.2298, 0.1810}},
51146 {
51147 {0.1466, 0.3028, 0.2563, 0.2943},
51148 {0.2449, 0.3402, 0.2797, 0.1351},
51149 {0.1304, 0.3315, 0.3154, 0.2227},
51150 {0.1338, 0.2178, 0.5097, 0.1388}},
51151 {
51152 {0.3173, 0.3875, 0.0944, 0.2008},
51153 {0.3655, 0.3159, 0.1219, 0.1968},
51154 {0.3082, 0.2542, 0.2743, 0.1633},
51155 {0.1136, 0.4224, 0.2045, 0.2594}},
51156 {
51157 {0.1664, 0.3092, 0.3551, 0.1693},
51158 {0.1224, 0.3380, 0.2652, 0.2744},
51159 {0.2290, 0.4187, 0.1701, 0.1822},
51160 {0.0224, 0.4648, 0.2340, 0.2788}},
51161 {
51162 {0.2654, 0.1341, 0.3009, 0.2995},
51163 {0.2272, 0.2060, 0.2623, 0.3045},
51164 {0.2355, 0.2932, 0.2351, 0.2361},
51165 {0.2022, 0.2528, 0.4011, 0.1438}},
51166 {
51167 {0.3245, 0.2516, 0.1398, 0.2841},
51168 {0.2081, 0.1905, 0.2885, 0.3129},
51169 {0.2656, 0.2825, 0.2158, 0.2360},
51170 {0.0907, 0.2952, 0.2012, 0.4128}},
51171 {
51172 {0.1661, 0.2476, 0.4218, 0.1645},
51173 {0.1737, 0.4119, 0.2217, 0.1926},
51174 {0.1857, 0.4251, 0.1310, 0.2582},
51175 {0.0908, 0.4642, 0.2082, 0.2369}},
51176 {
51177 {0.1749, 0.2434, 0.4025, 0.1791},
51178 {0.3067, 0.1054, 0.2801, 0.3078},
51179 {0.3492, 0.1674, 0.2962, 0.1873},
51180 {0.0882, 0.2267, 0.3634, 0.3217}},
51181 {
51182 {0.3373, 0.2639, 0.0908, 0.3081},
51183 {0.1058, 0.2426, 0.2149, 0.4368},
51184 {0.4519, 0.1816, 0.2083, 0.1582},
51185 {0.2669, 0.3977, 0.1009, 0.2345}},
51186 {
51187 {0.1326, 0.4622, 0.1194, 0.2858},
51188 {0.1194, 0.5083, 0.0976, 0.2747},
51189 {0.2087, 0.2959, 0.2324, 0.2630},
51190 {0.0516, 0.4283, 0.2405, 0.2796}},
51191 {
51192 {0.1837, 0.0739, 0.4694, 0.2729},
51193 {0.2108, 0.2010, 0.3287, 0.2595},
51194 {0.2566, 0.2739, 0.2532, 0.2164},
51195 {0.1141, 0.1467, 0.5469, 0.1923}},
51196 {
51197 {0.2489, 0.2140, 0.1528, 0.3843},
51198 {0.3620, 0.2220, 0.1747, 0.2413},
51199 {0.2118, 0.3067, 0.2985, 0.1830},
51200 {0.3178, 0.1565, 0.2366, 0.2892}},
51201 {
51202 {0.1888, 0.4283, 0.2004, 0.1825},
51203 {0.2513, 0.4004, 0.1172, 0.2311},
51204 {0.0969, 0.4321, 0.2534, 0.2176},
51205 {0.0523, 0.4605, 0.2795, 0.2076}},
51206 {
51207 {0.2526, 0.2172, 0.3139, 0.2162},
51208 {0.2514, 0.2215, 0.3654, 0.1616},
51209 {0.3252, 0.1976, 0.3075, 0.1697},
51210 {0.1079, 0.3500, 0.4541, 0.0880}},
51211 {
51212 {0.3852, 0.1560, 0.1761, 0.2828},
51213 {0.2274, 0.3014, 0.0581, 0.4131},
51214 {0.2646, 0.2634, 0.2605, 0.2115},
51215 {0.1968, 0.2700, 0.1200, 0.4132}},
51216 {
51217 {0.0681, 0.4421, 0.3298, 0.1601},
51218 {0.1325, 0.4202, 0.1869, 0.2604},
51219 {0.1112, 0.4280, 0.1348, 0.3260},
51220 {0.0859, 0.4653, 0.1426, 0.3063}},
51221 {
51222 {0.3366, 0.2795, 0.1960, 0.1879},
51223 {0.2470, 0.2621, 0.3548, 0.1361},
51224 {0.2472, 0.1801, 0.4414, 0.1313},
51225 {0.1953, 0.2313, 0.4352, 0.1382}},
51226 {
51227 {0.3351, 0.3587, 0.0596, 0.2466},
51228 {0.4169, 0.0923, 0.1741, 0.3167},
51229 {0.3101, 0.2537, 0.2427, 0.1935},
51230 {0.1381, 0.2299, 0.3197, 0.3122}},
51231 {
51232 {0.1399, 0.3560, 0.3012, 0.2029},
51233 {0.1467, 0.4865, 0.0557, 0.3111},
51234 {0.0920, 0.2401, 0.3321, 0.3357},
51235 {0.1277, 0.4565, 0.1810, 0.2347}},
51236 {
51237 {0.1329, 0.1460, 0.2396, 0.4815},
51238 {0.2189, 0.2010, 0.4518, 0.1282},
51239 {0.2255, 0.2754, 0.2709, 0.2281},
51240 {0.2461, 0.2232, 0.3497, 0.1810}},
51241 {
51242 {0.2309, 0.3105, 0.1449, 0.3137},
51243 {0.3439, 0.2585, 0.2941, 0.1035},
51244 {0.2634, 0.3539, 0.2074, 0.1753},
51245 {0.1778, 0.1264, 0.2817, 0.4141}},
51246 {
51247 {0.1520, 0.3480, 0.2653, 0.2347},
51248 {0.0963, 0.4125, 0.1966, 0.2947},
51249 {0.0410, 0.3964, 0.2954, 0.2671},
51250 {0.0375, 0.4617, 0.2430, 0.2578}},
51251 {
51252 {0.3784, 0.0494, 0.4048, 0.1675},
51253 {0.3742, 0.2338, 0.1994, 0.1926},
51254 {0.2752, 0.3437, 0.2903, 0.0909},
51255 {0.2980, 0.2483, 0.2961, 0.1576}},
51256 {
51257 {0.3032, 0.2793, 0.1230, 0.2945},
51258 {0.2296, 0.1223, 0.1414, 0.5067},
51259 {0.3145, 0.2922, 0.1929, 0.2004},
51260 {0.2325, 0.3005, 0.1137, 0.3533}},
51261 {
51262 {0.1795, 0.3410, 0.3016, 0.1779},
51263 {0.1259, 0.3838, 0.2978, 0.1925},
51264 {0.1538, 0.2842, 0.1578, 0.4043},
51265 {0.0720, 0.3684, 0.3677, 0.1919}},
51266 {
51267 {0.2815, 0.2210, 0.2568, 0.2407},
51268 {0.3616, 0.1671, 0.3317, 0.1396},
51269 {0.3707, 0.1512, 0.3157, 0.1624},
51270 {0.2716, 0.2658, 0.2106, 0.2520}},
51271 {
51272 {0.2774, 0.4228, 0.1092, 0.1906},
51273 {0.3376, 0.3320, 0.1666, 0.1638},
51274 {0.2474, 0.2551, 0.2012, 0.2962},
51275 {0.1679, 0.3939, 0.1485, 0.2897}},
51276 {
51277 {0.1428, 0.2984, 0.3147, 0.2440},
51278 {0.0926, 0.4151, 0.1831, 0.3093},
51279 {0.3553, 0.3774, 0.0884, 0.1790},
51280 {0.0409, 0.5014, 0.2290, 0.2288}},
51281 {
51282 {0.2092, 0.2044, 0.2780, 0.3083},
51283 {0.2735, 0.2026, 0.3073, 0.2166},
51284 {0.2631, 0.2118, 0.3601, 0.1650},
51285 {0.1770, 0.1998, 0.5332, 0.0900}},
51286 {
51287 {0.2528, 0.3650, 0.1125, 0.2697},
51288 {0.1578, 0.4162, 0.2482, 0.1779},
51289 {0.2547, 0.1621, 0.2587, 0.3246},
51290 {0.1491, 0.2835, 0.3209, 0.2465}}},
51291
51292 { /* Splice_Site: T2_AG; Species: Asper */
51293 {
51294 {0.2182, 0.2182, 0.2182, 0.2182},
51295 {0.2599, 0.2599, 0.2599, 0.2599},
51296 {0.2196, 0.2196, 0.2196, 0.2196},
51297 {0.3023, 0.3023, 0.3023, 0.3023}},
51298 {
51299 {0.0827, 0.2951, 0.2988, 0.3234},
51300 {0.3183, 0.3903, 0.0904, 0.2010},
51301 {0.2167, 0.1385, 0.2636, 0.3812},
51302 {0.3126, 0.2462, 0.1895, 0.2517}},
51303 {
51304 {0.3359, 0.2220, 0.2215, 0.2206},
51305 {0.2632, 0.2304, 0.2545, 0.2518},
51306 {0.2313, 0.1936, 0.1138, 0.4614},
51307 {0.2262, 0.3355, 0.1663, 0.2719}},
51308 {
51309 {0.2452, 0.1802, 0.2864, 0.2882},
51310 {0.1855, 0.3257, 0.2340, 0.2548},
51311 {0.2108, 0.1745, 0.3099, 0.3047},
51312 {0.1941, 0.1617, 0.1389, 0.5053}},
51313 {
51314 {0.1342, 0.2502, 0.2773, 0.3382},
51315 {0.1695, 0.3604, 0.2514, 0.2188},
51316 {0.2502, 0.1442, 0.2222, 0.3834},
51317 {0.1703, 0.2375, 0.3042, 0.2881}},
51318 {
51319 {0.1605, 0.2267, 0.2870, 0.3259},
51320 {0.2949, 0.2873, 0.1113, 0.3066},
51321 {0.1500, 0.3031, 0.2419, 0.3050},
51322 {0.3280, 0.2333, 0.2146, 0.2240}},
51323 {
51324 {0.3467, 0.1945, 0.2386, 0.2203},
51325 {0.1739, 0.3636, 0.1793, 0.2833},
51326 {0.2858, 0.2767, 0.1366, 0.3009},
51327 {0.3104, 0.3285, 0.1414, 0.2197}},
51328 {
51329 {0.3228, 0.1692, 0.2339, 0.2741},
51330 {0.2960, 0.3228, 0.2024, 0.1789},
51331 {0.1965, 0.2344, 0.2947, 0.2744},
51332 {0.2470, 0.3645, 0.1654, 0.2232}},
51333 {
51334 {0.2967, 0.3211, 0.1908, 0.1914},
51335 {0.1706, 0.4037, 0.1473, 0.2784},
51336 {0.2162, 0.2126, 0.2420, 0.3291},
51337 {0.2517, 0.3005, 0.1771, 0.2706}},
51338 {
51339 {0.2260, 0.3031, 0.2478, 0.2231},
51340 {0.2865, 0.3975, 0.1664, 0.1496},
51341 {0.2459, 0.2543, 0.1901, 0.3098},
51342 {0.1366, 0.3799, 0.1298, 0.3538}},
51343 {
51344 {0.1615, 0.1797, 0.2905, 0.3683},
51345 {0.2312, 0.2709, 0.1734, 0.3245},
51346 {0.2244, 0.3218, 0.0633, 0.3905},
51347 {0.1583, 0.3740, 0.1427, 0.3250}},
51348 {
51349 {0.2065, 0.1704, 0.1746, 0.4485},
51350 {0.2684, 0.2228, 0.1430, 0.3658},
51351 {0.2364, 0.1772, 0.3426, 0.2438},
51352 {0.2041, 0.2136, 0.2366, 0.3457}},
51353 {
51354 {0.2840, 0.2344, 0.4042, 0.0774},
51355 {0.1748, 0.3966, 0.1402, 0.2884},
51356 {0.2159, 0.2924, 0.2107, 0.2810},
51357 {0.1640, 0.2993, 0.2492, 0.2874}},
51358 {
51359 {0.2316, 0.3364, 0.2296, 0.2024},
51360 {0.3321, 0.2723, 0.0731, 0.3225},
51361 {0.2041, 0.4096, 0.1595, 0.2268},
51362 {0.2215, 0.3029, 0.1032, 0.3724}},
51363 {
51364 {0.3090, 0.2679, 0.1200, 0.3031},
51365 {0.1801, 0.3374, 0.1272, 0.3552},
51366 {0.3390, 0.2229, 0.2230, 0.2151},
51367 {0.1633, 0.4062, 0.2652, 0.1653}},
51368 {
51369 {0.2008, 0.2939, 0.2539, 0.2514},
51370 {0.3587, 0.1568, 0.2012, 0.2833},
51371 {0.2315, 0.3004, 0.2284, 0.2396},
51372 {0.2629, 0.1943, 0.1712, 0.3716}},
51373 {
51374 {0.4277, 0.1270, 0.2783, 0.1670},
51375 {0.2130, 0.3661, 0.1577, 0.2632},
51376 {0.2507, 0.2205, 0.3030, 0.2257},
51377 {0.0800, 0.2479, 0.4526, 0.2195}},
51378 {
51379 {0.1429, 0.3262, 0.1716, 0.3592},
51380 {0.3771, 0.1709, 0.1518, 0.3003},
51381 {0.3585, 0.1317, 0.2591, 0.2508},
51382 {0.2674, 0.2345, 0.1905, 0.3076}},
51383 {
51384 {0.2145, 0.1775, 0.1430, 0.4650},
51385 {0.2207, 0.4497, 0.0547, 0.2749},
51386 {0.2290, 0.3016, 0.1807, 0.2886},
51387 {0.2318, 0.3523, 0.2408, 0.1751}},
51388 {
51389 {0.2289, 0.3083, 0.1577, 0.3051},
51390 {0.4125, 0.2637, 0.1167, 0.2071},
51391 {0.2920, 0.1863, 0.0763, 0.4454},
51392 {0.2684, 0.1738, 0.2697, 0.2881}},
51393 {
51394 {0.1720, 0.2217, 0.2671, 0.3393},
51395 {0.2244, 0.3496, 0.1546, 0.2714},
51396 {0.1053, 0.4400, 0.2116, 0.2432},
51397 {0.0617, 0.2604, 0.2785, 0.3994}},
51398 {
51399 {0.3748, 0.2078, 0.1255, 0.2919},
51400 {0.3775, 0.1979, 0.0570, 0.3676},
51401 {0.2694, 0.3488, 0.2519, 0.1299},
51402 {0.2008, 0.2667, 0.2094, 0.3231}},
51403 {
51404 {0.3665, 0.1660, 0.2162, 0.2513},
51405 {0.3119, 0.1387, 0.1159, 0.4335},
51406 {0.3962, 0.0715, 0.2858, 0.2464},
51407 {0.1007, 0.2414, 0.4311, 0.2269}},
51408 {
51409 {0.2674, 0.1649, 0.2734, 0.2943},
51410 {0.2863, 0.2484, 0.2195, 0.2459},
51411 {0.2666, 0.2406, 0.2646, 0.2282},
51412 {0.0783, 0.2610, 0.3046, 0.3562}},
51413 {
51414 {0.3327, 0.1670, 0.1344, 0.3659},
51415 {0.1795, 0.1841, 0.2255, 0.4109},
51416 {0.2320, 0.2827, 0.2396, 0.2457},
51417 {0.1406, 0.2283, 0.3833, 0.2477}},
51418 {
51419 {0.2419, 0.2526, 0.2670, 0.2386},
51420 {0.2153, 0.1906, 0.2698, 0.3242},
51421 {0.3189, 0.2036, 0.2259, 0.2516},
51422 {0.2011, 0.2430, 0.3247, 0.2312}},
51423 {
51424 {0.2894, 0.2313, 0.2151, 0.2642},
51425 {0.3151, 0.1537, 0.0809, 0.4503},
51426 {0.2582, 0.2309, 0.1960, 0.3149},
51427 {0.0920, 0.2750, 0.3621, 0.2709}},
51428 {
51429 {0.2775, 0.2000, 0.1713, 0.3511},
51430 {0.1998, 0.2565, 0.2812, 0.2625},
51431 {0.4334, 0.1862, 0.2711, 0.1093},
51432 {0.2728, 0.2028, 0.3295, 0.1949}},
51433 {
51434 {0.2796, 0.3456, 0.2412, 0.1336},
51435 {0.3011, 0.2721, 0.1438, 0.2829},
51436 {0.2589, 0.2376, 0.3256, 0.1779},
51437 {0.2048, 0.2312, 0.3643, 0.1997}},
51438 {
51439 {0.1953, 0.3155, 0.1789, 0.3103},
51440 {0.2940, 0.1710, 0.3472, 0.1879},
51441 {0.3050, 0.3263, 0.1734, 0.1953},
51442 {0.3669, 0.1800, 0.2436, 0.2096}},
51443 {
51444 {0.1454, 0.3432, 0.2644, 0.2471},
51445 {0.3311, 0.2294, 0.1359, 0.3036},
51446 {0.2753, 0.2159, 0.2074, 0.3014},
51447 {0.1760, 0.2623, 0.2527, 0.3089}},
51448 {
51449 {0.2312, 0.2214, 0.1826, 0.3649},
51450 {0.2882, 0.1738, 0.2366, 0.3015},
51451 {0.4689, 0.2463, 0.1295, 0.1553},
51452 {0.2620, 0.2420, 0.2870, 0.2090}},
51453 {
51454 {0.1936, 0.4053, 0.0935, 0.3077},
51455 {0.3460, 0.2880, 0.1588, 0.2072},
51456 {0.1387, 0.3507, 0.1580, 0.3525},
51457 {0.2277, 0.3182, 0.2519, 0.2022}},
51458 {
51459 {0.2351, 0.2936, 0.2034, 0.2680},
51460 {0.3068, 0.1665, 0.1876, 0.3391},
51461 {0.3234, 0.2544, 0.1399, 0.2822},
51462 {0.1481, 0.1957, 0.3707, 0.2855}},
51463 {
51464 {0.3025, 0.2511, 0.1189, 0.3275},
51465 {0.2130, 0.3537, 0.1061, 0.3272},
51466 {0.2723, 0.3550, 0.1755, 0.1972},
51467 {0.3176, 0.1977, 0.2911, 0.1937}},
51468 {
51469 {0.3695, 0.2064, 0.1231, 0.3010},
51470 {0.2917, 0.1236, 0.1651, 0.4195},
51471 {0.2628, 0.4522, 0.0639, 0.2211},
51472 {0.2970, 0.1591, 0.3626, 0.1813}},
51473 {
51474 {0.1564, 0.3237, 0.1833, 0.3365},
51475 {0.1912, 0.1059, 0.1084, 0.5944},
51476 {0.3445, 0.2155, 0.1267, 0.3134},
51477 {0.2218, 0.1648, 0.3238, 0.2896}},
51478 {
51479 {0.3488, 0.4013, 0.1110, 0.1389},
51480 {0.2017, 0.1106, 0.1112, 0.5764},
51481 {0.2301, 0.3785, 0.2107, 0.1807},
51482 {0.4571, 0.0898, 0.1880, 0.2651}},
51483 {
51484 {0.2840, 0.4566, 0.1228, 0.1366},
51485 {0.1356, 0.1056, 0.0498, 0.7090},
51486 {0.3319, 0.3719, 0.1871, 0.1091},
51487 {0.2047, 0.1827, 0.4690, 0.1436}},
51488 {
51489 {0.3000, 0.3800, 0.0509, 0.2692},
51490 {0.1587, 0.0805, 0.1038, 0.6570},
51491 {0.4046, 0.4079, 0.0535, 0.1340},
51492 {0.3047, 0.2255, 0.3334, 0.1364}},
51493 {
51494 {0.3498, 0.3654, 0.0821, 0.2027},
51495 {0.2799, 0.1342, 0.1103, 0.4756},
51496 {0.6993, 0.0428, 0.0884, 0.1696},
51497 {0.4273, 0.1329, 0.2786, 0.1613}},
51498 {
51499 {0.3633, 0.2844, 0.0725, 0.2798},
51500 {0.3494, 0.2193, 0.1245, 0.3067},
51501 {0.3910, 0.1494, 0.2267, 0.2328},
51502 {0.2782, 0.2279, 0.2641, 0.2298}},
51503 {
51504 {0.3458, 0.3432, 0.0330, 0.2779},
51505 {0.1966, 0.3533, 0.1879, 0.2622},
51506 {0.4462, 0.2635, 0.1108, 0.1795},
51507 {0.0693, 0.2440, 0.4420, 0.2448}},
51508 {
51509 {0.2306, 0.3539, 0.1400, 0.2754},
51510 {0.3105, 0.2125, 0.2074, 0.2696},
51511 {0.3367, 0.1220, 0.2412, 0.3000},
51512 {0.3227, 0.1394, 0.3260, 0.2118}},
51513 {
51514 {0.2949, 0.1798, 0.2890, 0.2362},
51515 {0.2832, 0.1987, 0.1385, 0.3796},
51516 {0.3577, 0.3096, 0.1265, 0.2062},
51517 {0.1567, 0.2217, 0.3058, 0.3159}},
51518 {
51519 {0.3270, 0.1729, 0.1129, 0.3871},
51520 {0.2106, 0.2085, 0.1884, 0.3926},
51521 {0.1824, 0.3059, 0.3061, 0.2056},
51522 {0.1479, 0.1814, 0.3595, 0.3112}},
51523 {
51524 {0.3007, 0.1146, 0.1826, 0.4020},
51525 {0.2144, 0.1090, 0.2485, 0.4281},
51526 {0.2180, 0.1922, 0.2220, 0.3679},
51527 {0.2118, 0.2876, 0.2156, 0.2851}},
51528 {
51529 {0.2950, 0.2093, 0.0991, 0.3966},
51530 {0.0944, 0.3166, 0.1253, 0.4638},
51531 {0.2644, 0.1951, 0.1399, 0.4006},
51532 {0.1089, 0.3260, 0.1976, 0.3675}},
51533 {
51534 {0.6304, 0.1553, 0.0611, 0.1531},
51535 {0.4058, 0.2163, 0.2015, 0.1764},
51536 {0.3908, 0.1235, 0.4076, 0.0782},
51537 {0.3210, 0.2006, 0.2592, 0.2193}},
51538 {
51539 {0.0586, 0.4273, 0.0000, 0.5142},
51540 {0.0597, 0.5653, 0.0000, 0.3751},
51541 {0.0514, 0.6447, 0.0274, 0.2764},
51542 {0.0335, 0.6289, 0.0000, 0.3376}},
51543 {
51544 {1.0000, 0.0000, 0.0000, 0.0000},
51545 {1.0000, 0.0000, 0.0000, 0.0000},
51546 {1.0000, 0.0000, 0.0000, 0.0000},
51547 {1.0000, 0.0000, 0.0000, 0.0000}},
51548 {
51549 {0.0000, 0.0000, 1.0000, 0.0000},
51550 {0.0000, 0.0000, 0.0000, 0.0000},
51551 {0.0000, 0.0000, 0.0000, 0.0000},
51552 {0.0000, 0.0000, 0.0000, 0.0000}},
51553 {
51554 {0.0000, 0.0000, 0.0000, 0.0000},
51555 {0.0000, 0.0000, 0.0000, 0.0000},
51556 {0.3280, 0.1493, 0.3411, 0.1817},
51557 {0.0000, 0.0000, 0.0000, 0.0000}},
51558 {
51559 {0.1062, 0.3521, 0.1625, 0.3792},
51560 {0.1166, 0.2678, 0.3135, 0.3021},
51561 {0.1883, 0.3813, 0.1576, 0.2728},
51562 {0.0934, 0.5182, 0.1950, 0.1934}},
51563 {
51564 {0.2986, 0.2246, 0.1758, 0.3010},
51565 {0.3038, 0.2138, 0.2161, 0.2664},
51566 {0.1867, 0.1893, 0.3127, 0.3113},
51567 {0.2382, 0.1611, 0.3891, 0.2116}},
51568 {
51569 {0.1568, 0.3714, 0.1552, 0.3166},
51570 {0.2101, 0.2423, 0.1234, 0.4243},
51571 {0.3159, 0.2096, 0.3096, 0.1650},
51572 {0.1360, 0.2456, 0.2826, 0.3358}},
51573 {
51574 {0.1399, 0.4031, 0.2810, 0.1760},
51575 {0.1094, 0.6084, 0.0883, 0.1939},
51576 {0.1328, 0.2355, 0.3030, 0.3287},
51577 {0.0369, 0.6082, 0.1603, 0.1946}},
51578 {
51579 {0.4089, 0.1708, 0.1785, 0.2419},
51580 {0.2059, 0.1455, 0.4764, 0.1722},
51581 {0.2324, 0.4154, 0.3222, 0.0300},
51582 {0.1368, 0.3142, 0.4198, 0.1292}},
51583 {
51584 {0.2945, 0.0544, 0.2117, 0.4394},
51585 {0.4373, 0.1725, 0.1479, 0.2423},
51586 {0.2344, 0.1871, 0.4057, 0.1727},
51587 {0.4604, 0.2465, 0.1272, 0.1660}},
51588 {
51589 {0.2322, 0.3911, 0.3056, 0.0711},
51590 {0.1089, 0.4356, 0.1028, 0.3527},
51591 {0.3349, 0.3330, 0.0916, 0.2406},
51592 {0.0957, 0.3539, 0.1648, 0.3856}},
51593 {
51594 {0.3109, 0.2039, 0.1756, 0.3096},
51595 {0.3437, 0.1772, 0.2661, 0.2130},
51596 {0.2255, 0.0332, 0.5083, 0.2330},
51597 {0.3411, 0.1923, 0.3713, 0.0953}},
51598 {
51599 {0.2799, 0.4635, 0.0724, 0.1841},
51600 {0.1119, 0.2606, 0.1497, 0.4778},
51601 {0.2446, 0.2967, 0.3276, 0.1311},
51602 {0.1933, 0.4210, 0.0816, 0.3041}},
51603 {
51604 {0.1312, 0.3914, 0.3684, 0.1090},
51605 {0.1572, 0.4902, 0.1154, 0.2372},
51606 {0.1826, 0.3432, 0.2420, 0.2322},
51607 {0.0500, 0.4153, 0.1639, 0.3708}},
51608 {
51609 {0.1836, 0.2311, 0.2710, 0.3143},
51610 {0.2733, 0.1522, 0.2428, 0.3317},
51611 {0.2620, 0.1985, 0.4005, 0.1389},
51612 {0.2124, 0.2911, 0.3436, 0.1529}},
51613 {
51614 {0.3784, 0.3058, 0.0686, 0.2472},
51615 {0.3130, 0.1724, 0.2883, 0.2263},
51616 {0.3061, 0.3081, 0.3322, 0.0535},
51617 {0.2424, 0.2861, 0.2375, 0.2340}},
51618 {
51619 {0.1525, 0.3945, 0.2056, 0.2474},
51620 {0.1338, 0.3393, 0.1653, 0.3616},
51621 {0.1267, 0.2987, 0.2465, 0.3281},
51622 {0.1008, 0.3829, 0.2924, 0.2239}},
51623 {
51624 {0.4134, 0.2234, 0.2251, 0.1381},
51625 {0.3130, 0.3605, 0.1525, 0.1739},
51626 {0.2967, 0.2609, 0.2570, 0.1853},
51627 {0.3866, 0.1431, 0.3107, 0.1596}},
51628 {
51629 {0.2928, 0.2728, 0.0506, 0.3837},
51630 {0.2540, 0.2948, 0.0885, 0.3628},
51631 {0.4256, 0.1771, 0.1244, 0.2729},
51632 {0.2702, 0.1787, 0.2026, 0.3484}},
51633 {
51634 {0.1536, 0.3021, 0.3257, 0.2186},
51635 {0.1251, 0.3896, 0.1680, 0.3173},
51636 {0.2265, 0.2224, 0.2811, 0.2701},
51637 {0.0338, 0.5255, 0.1576, 0.2831}},
51638 {
51639 {0.1505, 0.3185, 0.1612, 0.3697},
51640 {0.1809, 0.3123, 0.3283, 0.1785},
51641 {0.1883, 0.3569, 0.3480, 0.1067},
51642 {0.2170, 0.2953, 0.3847, 0.1029}},
51643 {
51644 {0.3234, 0.1845, 0.1198, 0.3723},
51645 {0.2388, 0.2894, 0.1803, 0.2915},
51646 {0.3970, 0.2727, 0.1907, 0.1397},
51647 {0.2151, 0.2489, 0.3250, 0.2110}},
51648 {
51649 {0.1369, 0.3726, 0.4311, 0.0594},
51650 {0.1136, 0.6553, 0.0928, 0.1383},
51651 {0.1454, 0.4967, 0.1219, 0.2361},
51652 {0.0467, 0.5207, 0.2880, 0.1445}},
51653 {
51654 {0.3202, 0.1541, 0.2647, 0.2610},
51655 {0.2669, 0.1754, 0.2709, 0.2867},
51656 {0.1657, 0.3812, 0.3093, 0.1438},
51657 {0.2136, 0.2949, 0.3174, 0.1741}},
51658 {
51659 {0.1913, 0.2443, 0.0996, 0.4648},
51660 {0.2454, 0.2893, 0.1204, 0.3449},
51661 {0.2818, 0.2217, 0.3297, 0.1668},
51662 {0.2238, 0.2739, 0.1745, 0.3278}},
51663 {
51664 {0.2693, 0.2932, 0.1739, 0.2636},
51665 {0.0923, 0.4473, 0.1614, 0.2991},
51666 {0.1235, 0.3145, 0.2422, 0.3198},
51667 {0.0355, 0.6199, 0.2202, 0.1244}},
51668 {
51669 {0.3790, 0.0000, 0.3403, 0.2807},
51670 {0.2505, 0.3108, 0.2207, 0.2180},
51671 {0.2940, 0.2342, 0.2357, 0.2361},
51672 {0.1725, 0.2158, 0.4171, 0.1947}},
51673 {
51674 {0.4694, 0.1832, 0.0213, 0.3262},
51675 {0.3487, 0.2457, 0.2052, 0.2005},
51676 {0.2437, 0.2819, 0.1841, 0.2903},
51677 {0.1535, 0.3444, 0.1826, 0.3195}},
51678 {
51679 {0.0576, 0.3531, 0.3274, 0.2619},
51680 {0.1303, 0.3094, 0.2443, 0.3160},
51681 {0.1603, 0.2795, 0.3138, 0.2464},
51682 {0.0655, 0.6010, 0.1863, 0.1472}},
51683 {
51684 {0.1852, 0.0572, 0.3749, 0.3828},
51685 {0.3191, 0.2143, 0.2806, 0.1860},
51686 {0.1772, 0.2700, 0.4431, 0.1097},
51687 {0.0496, 0.2767, 0.5038, 0.1699}},
51688 {
51689 {0.4278, 0.2014, 0.0870, 0.2837},
51690 {0.3347, 0.2060, 0.2571, 0.2022},
51691 {0.4014, 0.1619, 0.3039, 0.1328},
51692 {0.1954, 0.1886, 0.0621, 0.5539}},
51693 {
51694 {0.1855, 0.2836, 0.1953, 0.3357},
51695 {0.0626, 0.5004, 0.2453, 0.1917},
51696 {0.2293, 0.3127, 0.1487, 0.3093},
51697 {0.0918, 0.5628, 0.1385, 0.2070}},
51698 {
51699 {0.1187, 0.1599, 0.4875, 0.2339},
51700 {0.2719, 0.1886, 0.3814, 0.1581},
51701 {0.1979, 0.1648, 0.3828, 0.2545},
51702 {0.2368, 0.3670, 0.3336, 0.0626}},
51703 {
51704 {0.4827, 0.1520, 0.1594, 0.2059},
51705 {0.3043, 0.1267, 0.1292, 0.4398},
51706 {0.3996, 0.2763, 0.1918, 0.1323},
51707 {0.0718, 0.2833, 0.1447, 0.5002}},
51708 {
51709 {0.1173, 0.4274, 0.2735, 0.1818},
51710 {0.0262, 0.4588, 0.2187, 0.2964},
51711 {0.1132, 0.4767, 0.1167, 0.2934},
51712 {0.0215, 0.5496, 0.2670, 0.1619}},
51713 {
51714 {0.1716, 0.3345, 0.3237, 0.1701},
51715 {0.3545, 0.1504, 0.2708, 0.2243},
51716 {0.1270, 0.2946, 0.3757, 0.2026},
51717 {0.1539, 0.2130, 0.5336, 0.0995}},
51718 {
51719 {0.3664, 0.2821, 0.0942, 0.2573},
51720 {0.3301, 0.1656, 0.2842, 0.2201},
51721 {0.3601, 0.1621, 0.1808, 0.2971},
51722 {0.1931, 0.2757, 0.1911, 0.3402}},
51723 {
51724 {0.1107, 0.4012, 0.3247, 0.1634},
51725 {0.1081, 0.5955, 0.1104, 0.1860},
51726 {0.1935, 0.4771, 0.2321, 0.0973},
51727 {0.0216, 0.6000, 0.1679, 0.2105}},
51728 {
51729 {0.4654, 0.2393, 0.1217, 0.1736},
51730 {0.3653, 0.2186, 0.2370, 0.1791},
51731 {0.2976, 0.1029, 0.4373, 0.1622},
51732 {0.1705, 0.1722, 0.3823, 0.2750}},
51733 {
51734 {0.3983, 0.2324, 0.0176, 0.3518},
51735 {0.3160, 0.2531, 0.1269, 0.3041},
51736 {0.5013, 0.1582, 0.1733, 0.1671},
51737 {0.2438, 0.2411, 0.0912, 0.4239}},
51738 {
51739 {0.1418, 0.3383, 0.3936, 0.1263},
51740 {0.1627, 0.2934, 0.2462, 0.2977},
51741 {0.1268, 0.2343, 0.2312, 0.4076},
51742 {0.0386, 0.5850, 0.2828, 0.0936}},
51743 {
51744 {0.2637, 0.2110, 0.1584, 0.3668},
51745 {0.2958, 0.3176, 0.2564, 0.1302},
51746 {0.2625, 0.1468, 0.4251, 0.1656},
51747 {0.2970, 0.2577, 0.4164, 0.0289}},
51748 {
51749 {0.4579, 0.2045, 0.0830, 0.2546},
51750 {0.3920, 0.3189, 0.0734, 0.2158},
51751 {0.3412, 0.2301, 0.1980, 0.2307},
51752 {0.4653, 0.2641, 0.0412, 0.2294}},
51753 {
51754 {0.1019, 0.3001, 0.3790, 0.2190},
51755 {0.1411, 0.4233, 0.2042, 0.2314},
51756 {0.2064, 0.4707, 0.2234, 0.0995},
51757 {0.0483, 0.4457, 0.2001, 0.3059}},
51758 {
51759 {0.3662, 0.1000, 0.3143, 0.2194},
51760 {0.3620, 0.1071, 0.4567, 0.0741},
51761 {0.2576, 0.1935, 0.4217, 0.1272},
51762 {0.1054, 0.1731, 0.5181, 0.2034}},
51763 {
51764 {0.3592, 0.2773, 0.0660, 0.2975},
51765 {0.2513, 0.2383, 0.1999, 0.3105},
51766 {0.2373, 0.2500, 0.2229, 0.2898},
51767 {0.0814, 0.3930, 0.3041, 0.2216}},
51768 {
51769 {0.1392, 0.3023, 0.3338, 0.2247},
51770 {0.1730, 0.3785, 0.0654, 0.3831},
51771 {0.1965, 0.2840, 0.2447, 0.2748},
51772 {0.1206, 0.3450, 0.3104, 0.2239}},
51773 {
51774 {0.3522, 0.1902, 0.2613, 0.1963},
51775 {0.2768, 0.3334, 0.2445, 0.1452},
51776 {0.3166, 0.1505, 0.2782, 0.2547},
51777 {0.2603, 0.1237, 0.4500, 0.1661}},
51778 {
51779 {0.3572, 0.3605, 0.0427, 0.2395},
51780 {0.1939, 0.2499, 0.1958, 0.3603},
51781 {0.3129, 0.2573, 0.2028, 0.2270},
51782 {0.2274, 0.0613, 0.2955, 0.4158}},
51783 {
51784 {0.1003, 0.2675, 0.3894, 0.2427},
51785 {0.2356, 0.3966, 0.2530, 0.1148},
51786 {0.1077, 0.3495, 0.1424, 0.4005},
51787 {0.0589, 0.5552, 0.1240, 0.2620}},
51788 {
51789 {0.2763, 0.1889, 0.3411, 0.1937},
51790 {0.3656, 0.1583, 0.2071, 0.2691},
51791 {0.1993, 0.1527, 0.4281, 0.2198},
51792 {0.1414, 0.2164, 0.4117, 0.2305}},
51793 {
51794 {0.3988, 0.2194, 0.0228, 0.3590},
51795 {0.3309, 0.1664, 0.1623, 0.3403},
51796 {0.3340, 0.2025, 0.1801, 0.2834},
51797 {0.2179, 0.3206, 0.1237, 0.3378}},
51798 {
51799 {0.1456, 0.3450, 0.3448, 0.1646},
51800 {0.2062, 0.3852, 0.2259, 0.1827},
51801 {0.1393, 0.3337, 0.2906, 0.2364},
51802 {0.0886, 0.5386, 0.2166, 0.1563}}},
51803
51804 { /* Splice_Site: T0_AG; Species: Asper */
51805 {
51806 {0.2835, 0.2835, 0.2835, 0.2835},
51807 {0.2016, 0.2016, 0.2016, 0.2016},
51808 {0.2355, 0.2355, 0.2355, 0.2355},
51809 {0.2795, 0.2795, 0.2795, 0.2795}},
51810 {
51811 {0.2147, 0.2567, 0.3075, 0.2211},
51812 {0.2389, 0.3152, 0.1185, 0.3274},
51813 {0.2350, 0.1050, 0.1827, 0.4773},
51814 {0.2415, 0.2128, 0.3436, 0.2020}},
51815 {
51816 {0.3908, 0.1579, 0.2665, 0.1848},
51817 {0.3084, 0.3843, 0.1043, 0.2030},
51818 {0.2212, 0.1930, 0.1725, 0.4133},
51819 {0.3851, 0.2317, 0.1608, 0.2224}},
51820 {
51821 {0.2803, 0.1854, 0.3511, 0.1831},
51822 {0.1537, 0.3276, 0.2651, 0.2537},
51823 {0.1767, 0.3131, 0.2711, 0.2391},
51824 {0.2820, 0.1671, 0.1902, 0.3608}},
51825 {
51826 {0.3156, 0.1535, 0.2361, 0.2947},
51827 {0.1558, 0.2852, 0.3319, 0.2271},
51828 {0.1567, 0.1743, 0.2655, 0.4035},
51829 {0.1164, 0.3387, 0.1892, 0.3556}},
51830 {
51831 {0.0652, 0.1276, 0.6073, 0.2000},
51832 {0.2535, 0.3327, 0.0747, 0.3391},
51833 {0.1954, 0.1693, 0.1664, 0.4689},
51834 {0.1898, 0.4000, 0.1670, 0.2432}},
51835 {
51836 {0.2653, 0.2003, 0.1960, 0.3384},
51837 {0.1753, 0.2412, 0.1589, 0.4246},
51838 {0.3023, 0.2371, 0.1835, 0.2772},
51839 {0.2861, 0.2099, 0.2673, 0.2368}},
51840 {
51841 {0.0965, 0.1204, 0.3078, 0.4753},
51842 {0.1900, 0.2710, 0.2114, 0.3276},
51843 {0.2388, 0.1769, 0.2922, 0.2921},
51844 {0.1776, 0.1786, 0.2565, 0.3873}},
51845 {
51846 {0.2864, 0.2090, 0.2555, 0.2490},
51847 {0.2302, 0.3745, 0.1002, 0.2951},
51848 {0.2888, 0.2329, 0.1814, 0.2970},
51849 {0.1281, 0.1980, 0.2901, 0.3838}},
51850 {
51851 {0.1361, 0.2187, 0.3449, 0.3003},
51852 {0.2293, 0.3036, 0.1840, 0.2831},
51853 {0.1713, 0.3314, 0.0578, 0.4394},
51854 {0.2609, 0.3198, 0.2469, 0.1724}},
51855 {
51856 {0.3300, 0.1476, 0.1155, 0.4069},
51857 {0.3337, 0.2620, 0.1839, 0.2204},
51858 {0.2336, 0.2313, 0.2052, 0.3300},
51859 {0.1705, 0.2774, 0.2321, 0.3200}},
51860 {
51861 {0.1579, 0.2270, 0.1648, 0.4503},
51862 {0.0984, 0.3078, 0.1286, 0.4652},
51863 {0.2259, 0.1664, 0.3538, 0.2539},
51864 {0.2749, 0.2768, 0.2116, 0.2367}},
51865 {
51866 {0.2218, 0.2250, 0.2118, 0.3414},
51867 {0.2691, 0.1978, 0.1906, 0.3425},
51868 {0.3374, 0.2852, 0.1161, 0.2613},
51869 {0.1914, 0.2627, 0.2113, 0.3346}},
51870 {
51871 {0.2717, 0.2964, 0.1538, 0.2781},
51872 {0.2629, 0.3089, 0.1475, 0.2807},
51873 {0.2898, 0.0979, 0.2259, 0.3864},
51874 {0.2076, 0.3791, 0.1864, 0.2268}},
51875 {
51876 {0.1200, 0.2123, 0.1686, 0.4990},
51877 {0.2815, 0.3375, 0.1504, 0.2306},
51878 {0.2331, 0.2036, 0.2137, 0.3497},
51879 {0.2691, 0.2879, 0.2096, 0.2334}},
51880 {
51881 {0.1874, 0.1360, 0.2444, 0.4322},
51882 {0.3179, 0.0921, 0.2039, 0.3861},
51883 {0.2382, 0.3327, 0.2602, 0.1689},
51884 {0.2985, 0.2043, 0.1522, 0.3450}},
51885 {
51886 {0.2741, 0.2485, 0.2225, 0.2549},
51887 {0.2703, 0.2404, 0.1036, 0.3858},
51888 {0.3792, 0.1729, 0.0899, 0.3580},
51889 {0.1975, 0.3737, 0.1249, 0.3039}},
51890 {
51891 {0.1771, 0.1154, 0.4056, 0.3018},
51892 {0.1531, 0.2287, 0.1379, 0.4803},
51893 {0.3598, 0.2121, 0.2103, 0.2178},
51894 {0.1318, 0.2671, 0.1970, 0.4040}},
51895 {
51896 {0.2691, 0.3086, 0.0963, 0.3260},
51897 {0.1472, 0.4097, 0.1173, 0.3258},
51898 {0.2285, 0.2875, 0.2017, 0.2823},
51899 {0.1632, 0.3730, 0.2347, 0.2290}},
51900 {
51901 {0.2895, 0.2795, 0.0894, 0.3416},
51902 {0.3026, 0.2109, 0.1433, 0.3433},
51903 {0.1830, 0.1332, 0.2718, 0.4120},
51904 {0.1735, 0.3713, 0.1726, 0.2826}},
51905 {
51906 {0.2311, 0.1761, 0.2317, 0.3611},
51907 {0.3662, 0.2098, 0.1187, 0.3053},
51908 {0.3310, 0.1537, 0.2966, 0.2186},
51909 {0.2677, 0.2106, 0.1995, 0.3222}},
51910 {
51911 {0.1038, 0.2711, 0.1699, 0.4553},
51912 {0.3685, 0.1860, 0.1896, 0.2559},
51913 {0.1520, 0.2732, 0.1478, 0.4270},
51914 {0.2149, 0.2715, 0.2536, 0.2600}},
51915 {
51916 {0.2769, 0.2750, 0.1741, 0.2741},
51917 {0.2875, 0.3616, 0.0926, 0.2583},
51918 {0.2449, 0.3719, 0.2257, 0.1574},
51919 {0.1789, 0.2635, 0.2440, 0.3136}},
51920 {
51921 {0.1788, 0.1282, 0.2835, 0.4094},
51922 {0.4703, 0.2581, 0.0566, 0.2150},
51923 {0.2262, 0.1598, 0.3575, 0.2565},
51924 {0.1621, 0.2264, 0.2796, 0.3319}},
51925 {
51926 {0.1133, 0.2220, 0.3807, 0.2840},
51927 {0.3365, 0.3308, 0.1200, 0.2127},
51928 {0.2687, 0.2478, 0.2149, 0.2686},
51929 {0.2060, 0.2587, 0.2288, 0.3065}},
51930 {
51931 {0.3071, 0.2594, 0.1654, 0.2681},
51932 {0.1880, 0.3271, 0.2772, 0.2077},
51933 {0.4021, 0.1734, 0.2713, 0.1533},
51934 {0.1308, 0.2639, 0.3140, 0.2914}},
51935 {
51936 {0.1927, 0.1952, 0.1742, 0.4379},
51937 {0.2645, 0.1424, 0.2647, 0.3283},
51938 {0.1854, 0.1617, 0.3255, 0.3274},
51939 {0.1772, 0.3630, 0.2955, 0.1643}},
51940 {
51941 {0.3473, 0.1190, 0.2690, 0.2647},
51942 {0.1958, 0.2914, 0.1994, 0.3134},
51943 {0.3316, 0.2530, 0.1852, 0.2302},
51944 {0.1744, 0.1774, 0.4164, 0.2317}},
51945 {
51946 {0.3108, 0.2099, 0.3128, 0.1665},
51947 {0.3314, 0.1742, 0.1744, 0.3201},
51948 {0.3944, 0.2615, 0.0887, 0.2555},
51949 {0.3315, 0.3060, 0.2410, 0.1214}},
51950 {
51951 {0.3517, 0.2380, 0.2123, 0.1979},
51952 {0.3048, 0.2534, 0.1231, 0.3187},
51953 {0.2031, 0.3061, 0.3367, 0.1542},
51954 {0.2623, 0.1433, 0.2487, 0.3458}},
51955 {
51956 {0.3552, 0.1832, 0.1889, 0.2727},
51957 {0.2420, 0.2081, 0.0755, 0.4744},
51958 {0.2945, 0.1917, 0.1901, 0.3236},
51959 {0.2878, 0.2237, 0.2226, 0.2660}},
51960 {
51961 {0.3801, 0.2083, 0.1425, 0.2690},
51962 {0.2490, 0.1835, 0.1793, 0.3881},
51963 {0.4244, 0.2155, 0.1415, 0.2186},
51964 {0.1100, 0.2217, 0.2616, 0.4067}},
51965 {
51966 {0.2285, 0.3959, 0.1784, 0.1972},
51967 {0.1375, 0.3509, 0.1494, 0.3622},
51968 {0.3870, 0.1879, 0.2258, 0.1994},
51969 {0.2026, 0.2924, 0.2837, 0.2213}},
51970 {
51971 {0.3830, 0.1396, 0.0821, 0.3953},
51972 {0.3283, 0.2707, 0.0807, 0.3203},
51973 {0.3740, 0.2004, 0.2023, 0.2233},
51974 {0.3306, 0.1808, 0.3104, 0.1782}},
51975 {
51976 {0.1575, 0.3955, 0.1868, 0.2603},
51977 {0.3340, 0.1537, 0.1152, 0.3970},
51978 {0.3548, 0.3035, 0.1495, 0.1921},
51979 {0.2147, 0.1327, 0.3587, 0.2939}},
51980 {
51981 {0.2522, 0.2618, 0.2779, 0.2080},
51982 {0.1689, 0.1627, 0.1424, 0.5260},
51983 {0.2744, 0.3863, 0.1754, 0.1639},
51984 {0.3197, 0.2480, 0.2348, 0.1975}},
51985 {
51986 {0.2841, 0.3340, 0.0943, 0.2876},
51987 {0.2576, 0.2344, 0.1415, 0.3665},
51988 {0.2323, 0.2396, 0.2637, 0.2643},
51989 {0.2000, 0.1792, 0.3979, 0.2229}},
51990 {
51991 {0.3525, 0.2961, 0.1497, 0.2017},
51992 {0.1456, 0.2511, 0.0714, 0.5318},
51993 {0.3227, 0.4878, 0.1088, 0.0807},
51994 {0.3597, 0.2156, 0.2538, 0.1709}},
51995 {
51996 {0.2830, 0.5139, 0.0434, 0.1597},
51997 {0.1796, 0.1014, 0.0419, 0.6770},
51998 {0.3212, 0.2824, 0.3572, 0.0392},
51999 {0.3308, 0.2204, 0.2257, 0.2230}},
52000 {
52001 {0.3739, 0.3784, 0.0676, 0.1800},
52002 {0.1526, 0.1116, 0.1093, 0.6265},
52003 {0.3767, 0.3136, 0.2212, 0.0884},
52004 {0.3843, 0.0936, 0.3531, 0.1690}},
52005 {
52006 {0.5001, 0.3333, 0.0415, 0.1251},
52007 {0.2042, 0.0581, 0.1810, 0.5567},
52008 {0.5189, 0.1981, 0.1576, 0.1254},
52009 {0.4000, 0.1623, 0.1660, 0.2718}},
52010 {
52011 {0.2668, 0.3677, 0.1017, 0.2638},
52012 {0.3654, 0.1120, 0.0916, 0.4310},
52013 {0.5276, 0.0460, 0.1372, 0.2892},
52014 {0.3568, 0.2112, 0.2630, 0.1691}},
52015 {
52016 {0.3535, 0.3235, 0.0559, 0.2671},
52017 {0.3135, 0.2826, 0.1265, 0.2774},
52018 {0.4503, 0.2060, 0.2184, 0.1252},
52019 {0.3124, 0.1574, 0.3260, 0.2042}},
52020 {
52021 {0.2836, 0.3145, 0.1056, 0.2963},
52022 {0.1973, 0.3684, 0.1261, 0.3083},
52023 {0.3262, 0.1051, 0.1746, 0.3942},
52024 {0.1321, 0.3126, 0.2368, 0.3185}},
52025 {
52026 {0.1588, 0.4598, 0.1013, 0.2801},
52027 {0.2048, 0.2899, 0.1932, 0.3122},
52028 {0.3558, 0.0813, 0.2398, 0.3231},
52029 {0.1528, 0.3436, 0.1855, 0.3181}},
52030 {
52031 {0.3306, 0.1257, 0.1471, 0.3966},
52032 {0.1994, 0.1940, 0.3347, 0.2718},
52033 {0.3757, 0.1693, 0.1388, 0.3162},
52034 {0.1555, 0.2206, 0.2936, 0.3302}},
52035 {
52036 {0.2504, 0.2237, 0.0990, 0.4269},
52037 {0.1992, 0.1987, 0.3061, 0.2961},
52038 {0.3839, 0.1256, 0.1724, 0.3182},
52039 {0.0937, 0.3258, 0.2408, 0.3397}},
52040 {
52041 {0.4025, 0.2724, 0.1616, 0.1634},
52042 {0.1056, 0.1626, 0.1908, 0.5411},
52043 {0.1534, 0.3356, 0.1170, 0.3940},
52044 {0.2300, 0.1777, 0.2302, 0.3621}},
52045 {
52046 {0.4298, 0.3012, 0.0276, 0.2414},
52047 {0.4818, 0.1394, 0.2174, 0.1614},
52048 {0.3366, 0.2709, 0.0973, 0.2952},
52049 {0.2428, 0.2687, 0.2860, 0.2025}},
52050 {
52051 {0.1003, 0.4650, 0.0000, 0.4346},
52052 {0.0464, 0.4445, 0.0000, 0.5091},
52053 {0.0317, 0.5862, 0.0339, 0.3483},
52054 {0.0301, 0.4785, 0.0000, 0.4914}},
52055 {
52056 {1.0000, 0.0000, 0.0000, 0.0000},
52057 {1.0000, 0.0000, 0.0000, 0.0000},
52058 {1.0000, 0.0000, 0.0000, 0.0000},
52059 {1.0000, 0.0000, 0.0000, 0.0000}},
52060 {
52061 {0.0000, 0.0000, 1.0000, 0.0000},
52062 {0.0000, 0.0000, 0.0000, 0.0000},
52063 {0.0000, 0.0000, 0.0000, 0.0000},
52064 {0.0000, 0.0000, 0.0000, 0.0000}},
52065 {
52066 {0.0000, 0.0000, 0.0000, 0.0000},
52067 {0.0000, 0.0000, 0.0000, 0.0000},
52068 {0.2135, 0.3068, 0.2681, 0.2116},
52069 {0.0000, 0.0000, 0.0000, 0.0000}},
52070 {
52071 {0.2251, 0.1692, 0.2299, 0.3757},
52072 {0.2437, 0.1806, 0.1815, 0.3943},
52073 {0.2269, 0.1341, 0.4125, 0.2264},
52074 {0.1131, 0.0863, 0.5160, 0.2845}},
52075 {
52076 {0.4110, 0.2936, 0.0870, 0.2084},
52077 {0.2567, 0.0896, 0.1682, 0.4855},
52078 {0.4110, 0.2484, 0.2254, 0.1152},
52079 {0.4314, 0.0389, 0.2255, 0.3042}},
52080 {
52081 {0.1095, 0.6033, 0.1020, 0.1852},
52082 {0.2564, 0.4018, 0.1534, 0.1884},
52083 {0.1257, 0.3949, 0.1888, 0.2906},
52084 {0.0689, 0.4190, 0.2156, 0.2965}},
52085 {
52086 {0.1924, 0.1362, 0.2849, 0.3865},
52087 {0.2785, 0.1646, 0.3165, 0.2404},
52088 {0.1509, 0.1597, 0.6115, 0.0780},
52089 {0.1592, 0.1492, 0.6663, 0.0253}},
52090 {
52091 {0.3626, 0.2470, 0.0276, 0.3627},
52092 {0.4186, 0.0741, 0.0428, 0.4645},
52093 {0.3136, 0.1974, 0.2541, 0.2349},
52094 {0.2382, 0.2303, 0.1027, 0.4288}},
52095 {
52096 {0.2543, 0.4127, 0.0747, 0.2583},
52097 {0.0918, 0.5383, 0.1534, 0.2164},
52098 {0.3417, 0.2159, 0.2685, 0.1739},
52099 {0.1047, 0.4339, 0.2425, 0.2189}},
52100 {
52101 {0.4136, 0.1632, 0.2284, 0.1948},
52102 {0.2480, 0.1794, 0.2984, 0.2742},
52103 {0.3539, 0.0716, 0.4290, 0.1455},
52104 {0.1886, 0.2130, 0.4674, 0.1310}},
52105 {
52106 {0.2285, 0.4064, 0.1038, 0.2613},
52107 {0.2684, 0.1458, 0.2157, 0.3700},
52108 {0.3744, 0.2508, 0.2161, 0.1587},
52109 {0.1793, 0.3825, 0.1758, 0.2624}},
52110 {
52111 {0.2233, 0.4380, 0.2030, 0.1357},
52112 {0.2260, 0.4026, 0.1166, 0.2549},
52113 {0.1401, 0.5860, 0.1708, 0.1032},
52114 {0.0258, 0.5172, 0.1510, 0.3060}},
52115 {
52116 {0.2321, 0.2683, 0.3483, 0.1512},
52117 {0.2665, 0.1141, 0.3204, 0.2991},
52118 {0.4269, 0.0754, 0.4196, 0.0782},
52119 {0.0601, 0.1515, 0.6192, 0.1691}},
52120 {
52121 {0.2442, 0.3493, 0.1501, 0.2564},
52122 {0.1712, 0.3026, 0.2195, 0.3067},
52123 {0.2111, 0.2591, 0.2573, 0.2725},
52124 {0.4839, 0.3342, 0.0913, 0.0906}},
52125 {
52126 {0.1126, 0.5574, 0.1100, 0.2200},
52127 {0.0767, 0.3810, 0.1790, 0.3633},
52128 {0.2529, 0.4836, 0.1023, 0.1613},
52129 {0.0517, 0.4538, 0.1825, 0.3120}},
52130 {
52131 {0.2087, 0.4772, 0.2558, 0.0582},
52132 {0.2872, 0.1422, 0.3163, 0.2543},
52133 {0.5392, 0.2028, 0.1297, 0.1282},
52134 {0.0868, 0.3126, 0.3778, 0.2228}},
52135 {
52136 {0.3513, 0.2054, 0.0959, 0.3474},
52137 {0.3356, 0.2313, 0.1548, 0.2783},
52138 {0.4635, 0.2619, 0.1887, 0.0860},
52139 {0.2693, 0.4891, 0.0307, 0.2108}},
52140 {
52141 {0.2003, 0.3303, 0.2978, 0.1717},
52142 {0.1505, 0.3589, 0.2138, 0.2768},
52143 {0.1008, 0.5438, 0.0507, 0.3047},
52144 {0.0521, 0.3789, 0.3815, 0.1875}},
52145 {
52146 {0.2644, 0.3831, 0.1728, 0.1796},
52147 {0.3034, 0.1643, 0.3382, 0.1941},
52148 {0.2358, 0.2703, 0.2822, 0.2117},
52149 {0.2169, 0.3313, 0.3714, 0.0804}},
52150 {
52151 {0.2532, 0.2349, 0.1356, 0.3764},
52152 {0.3965, 0.2765, 0.1396, 0.1874},
52153 {0.3996, 0.2002, 0.2602, 0.1400},
52154 {0.2459, 0.3579, 0.1456, 0.2506}},
52155 {
52156 {0.1645, 0.3761, 0.2594, 0.1999},
52157 {0.1680, 0.5468, 0.1185, 0.1667},
52158 {0.1701, 0.3849, 0.2404, 0.2046},
52159 {0.0246, 0.4196, 0.3728, 0.1830}},
52160 {
52161 {0.3239, 0.1358, 0.4490, 0.0913},
52162 {0.3560, 0.1431, 0.3356, 0.1654},
52163 {0.1781, 0.3765, 0.2239, 0.2215},
52164 {0.2541, 0.1952, 0.4507, 0.1001}},
52165 {
52166 {0.3894, 0.1288, 0.1869, 0.2948},
52167 {0.2641, 0.2330, 0.1494, 0.3535},
52168 {0.3176, 0.2455, 0.2444, 0.1925},
52169 {0.1846, 0.3877, 0.1921, 0.2356}},
52170 {
52171 {0.1185, 0.3642, 0.3016, 0.2157},
52172 {0.2729, 0.2307, 0.2910, 0.2055},
52173 {0.1598, 0.5354, 0.0613, 0.2435},
52174 {0.0702, 0.5111, 0.1425, 0.2762}},
52175 {
52176 {0.2535, 0.1971, 0.2969, 0.2526},
52177 {0.2710, 0.2994, 0.2241, 0.2056},
52178 {0.3243, 0.1446, 0.3791, 0.1520},
52179 {0.2065, 0.1573, 0.4054, 0.2309}},
52180 {
52181 {0.4863, 0.1890, 0.0904, 0.2342},
52182 {0.2246, 0.3636, 0.1365, 0.2753},
52183 {0.1393, 0.4128, 0.3325, 0.1155},
52184 {0.1855, 0.4061, 0.0906, 0.3177}},
52185 {
52186 {0.1696, 0.3310, 0.3563, 0.1431},
52187 {0.1622, 0.4331, 0.1564, 0.2483},
52188 {0.2429, 0.3695, 0.2501, 0.1376},
52189 {0.0828, 0.3744, 0.2523, 0.2905}},
52190 {
52191 {0.1549, 0.1933, 0.1894, 0.4623},
52192 {0.4520, 0.2396, 0.1149, 0.1935},
52193 {0.1949, 0.2492, 0.3331, 0.2228},
52194 {0.1144, 0.0842, 0.5735, 0.2279}},
52195 {
52196 {0.3290, 0.3377, 0.1367, 0.1967},
52197 {0.1821, 0.3570, 0.1231, 0.3379},
52198 {0.2485, 0.3551, 0.1788, 0.2176},
52199 {0.3174, 0.3195, 0.1690, 0.1941}},
52200 {
52201 {0.1986, 0.2047, 0.3525, 0.2441},
52202 {0.2385, 0.4577, 0.1274, 0.1765},
52203 {0.0817, 0.3974, 0.1938, 0.3271},
52204 {0.0485, 0.5019, 0.3419, 0.1077}},
52205 {
52206 {0.1505, 0.1554, 0.4597, 0.2344},
52207 {0.2159, 0.2352, 0.2349, 0.3139},
52208 {0.2646, 0.1497, 0.4683, 0.1175},
52209 {0.0917, 0.3957, 0.4215, 0.0911}},
52210 {
52211 {0.5284, 0.0618, 0.1900, 0.2199},
52212 {0.2346, 0.2365, 0.2390, 0.2899},
52213 {0.3376, 0.2330, 0.1834, 0.2459},
52214 {0.2046, 0.4435, 0.0856, 0.2662}},
52215 {
52216 {0.2268, 0.2975, 0.3213, 0.1544},
52217 {0.1227, 0.3211, 0.2516, 0.3046},
52218 {0.2018, 0.4786, 0.1722, 0.1474},
52219 {0.1170, 0.5258, 0.1892, 0.1681}},
52220 {
52221 {0.1776, 0.2545, 0.2151, 0.3528},
52222 {0.3860, 0.2142, 0.2301, 0.1697},
52223 {0.2541, 0.1493, 0.4230, 0.1737},
52224 {0.2886, 0.2267, 0.2914, 0.1933}},
52225 {
52226 {0.3919, 0.1820, 0.1625, 0.2636},
52227 {0.3483, 0.0580, 0.3827, 0.2110},
52228 {0.4257, 0.1722, 0.2536, 0.1485},
52229 {0.1483, 0.3211, 0.1508, 0.3798}},
52230 {
52231 {0.1453, 0.2874, 0.2687, 0.2986},
52232 {0.0351, 0.4956, 0.1671, 0.3021},
52233 {0.3110, 0.3981, 0.1066, 0.1844},
52234 {0.0508, 0.3491, 0.3054, 0.2948}},
52235 {
52236 {0.3514, 0.1760, 0.3527, 0.1199},
52237 {0.2681, 0.2679, 0.3344, 0.1297},
52238 {0.2147, 0.4741, 0.1690, 0.1422},
52239 {0.1806, 0.1318, 0.5109, 0.1767}},
52240 {
52241 {0.3516, 0.1990, 0.1500, 0.2994},
52242 {0.4113, 0.2327, 0.1459, 0.2101},
52243 {0.2461, 0.1380, 0.3870, 0.2288},
52244 {0.2081, 0.6165, 0.0000, 0.1754}},
52245 {
52246 {0.1581, 0.2684, 0.3526, 0.2208},
52247 {0.1199, 0.5830, 0.0486, 0.2485},
52248 {0.1726, 0.4138, 0.1811, 0.2325},
52249 {0.1077, 0.3690, 0.3177, 0.2057}},
52250 {
52251 {0.3094, 0.0420, 0.5604, 0.0883},
52252 {0.3780, 0.1847, 0.2217, 0.2156},
52253 {0.3230, 0.2077, 0.2632, 0.2060},
52254 {0.1651, 0.3502, 0.3232, 0.1615}},
52255 {
52256 {0.4226, 0.2415, 0.1594, 0.1766},
52257 {0.4367, 0.1461, 0.1760, 0.2412},
52258 {0.3204, 0.2007, 0.2805, 0.1984},
52259 {0.3004, 0.3327, 0.0658, 0.3012}},
52260 {
52261 {0.1676, 0.4912, 0.2081, 0.1331},
52262 {0.1317, 0.3991, 0.2193, 0.2499},
52263 {0.0974, 0.3904, 0.2401, 0.2721},
52264 {0.0283, 0.5021, 0.3850, 0.0846}},
52265 {
52266 {0.2582, 0.0573, 0.3220, 0.3625},
52267 {0.3432, 0.0951, 0.3593, 0.2024},
52268 {0.2854, 0.1704, 0.3601, 0.1841},
52269 {0.2867, 0.1006, 0.3200, 0.2926}},
52270 {
52271 {0.4555, 0.0973, 0.2145, 0.2327},
52272 {0.2853, 0.3859, 0.0564, 0.2724},
52273 {0.3325, 0.1218, 0.3150, 0.2307},
52274 {0.2150, 0.1340, 0.2351, 0.4159}},
52275 {
52276 {0.1334, 0.3808, 0.2317, 0.2541},
52277 {0.1228, 0.6242, 0.0397, 0.2133},
52278 {0.0773, 0.5673, 0.1571, 0.1982},
52279 {0.0209, 0.5440, 0.2389, 0.1962}},
52280 {
52281 {0.2086, 0.2114, 0.5131, 0.0669},
52282 {0.2757, 0.1782, 0.2680, 0.2781},
52283 {0.1607, 0.1618, 0.3902, 0.2873},
52284 {0.1640, 0.2732, 0.2766, 0.2862}},
52285 {
52286 {0.2703, 0.2149, 0.0845, 0.4302},
52287 {0.4217, 0.2094, 0.0622, 0.3066},
52288 {0.3361, 0.2698, 0.2150, 0.1791},
52289 {0.2334, 0.2742, 0.2141, 0.2783}},
52290 {
52291 {0.0993, 0.5127, 0.1930, 0.1951},
52292 {0.2012, 0.4145, 0.1676, 0.2167},
52293 {0.0773, 0.3650, 0.2358, 0.3219},
52294 {0.0203, 0.5787, 0.2085, 0.1925}},
52295 {
52296 {0.3026, 0.2522, 0.1310, 0.3143},
52297 {0.3033, 0.1782, 0.3549, 0.1636},
52298 {0.2709, 0.3043, 0.3651, 0.0597},
52299 {0.1670, 0.1395, 0.5795, 0.1140}},
52300 {
52301 {0.3471, 0.3126, 0.1125, 0.2278},
52302 {0.4234, 0.0913, 0.1265, 0.3588},
52303 {0.4630, 0.1589, 0.1568, 0.2214},
52304 {0.3393, 0.1647, 0.2554, 0.2406}},
52305 {
52306 {0.1053, 0.3370, 0.2409, 0.3168},
52307 {0.1226, 0.4250, 0.1604, 0.2919},
52308 {0.0861, 0.5168, 0.1264, 0.2708},
52309 {0.0238, 0.6444, 0.1402, 0.1916}},
52310 {
52311 {0.0784, 0.4291, 0.2837, 0.2087},
52312 {0.3512, 0.1479, 0.3309, 0.1700},
52313 {0.3439, 0.2895, 0.2702, 0.0965},
52314 {0.1810, 0.2633, 0.4695, 0.0862}}},
52315
52316 { /* Splice_Site: F1_AG; Species: Asper */
52317 {
52318 {0.1574, 0.1574, 0.1574, 0.1574},
52319 {0.4034, 0.4034, 0.4034, 0.4034},
52320 {0.1953, 0.1953, 0.1953, 0.1953},
52321 {0.2439, 0.2439, 0.2439, 0.2439}},
52322 {
52323 {0.3134, 0.2295, 0.2240, 0.2331},
52324 {0.3435, 0.1852, 0.2492, 0.2222},
52325 {0.2537, 0.2932, 0.3641, 0.0890},
52326 {0.1796, 0.2769, 0.3597, 0.1837}},
52327 {
52328 {0.2696, 0.3178, 0.0848, 0.3279},
52329 {0.3177, 0.2466, 0.2130, 0.2227},
52330 {0.4470, 0.1680, 0.1769, 0.2082},
52331 {0.1352, 0.4342, 0.1182, 0.3123}},
52332 {
52333 {0.1103, 0.2693, 0.3721, 0.2484},
52334 {0.0810, 0.5835, 0.0959, 0.2396},
52335 {0.0307, 0.3795, 0.2623, 0.3275},
52336 {0.0678, 0.4997, 0.2316, 0.2009}},
52337 {
52338 {0.1128, 0.2258, 0.4986, 0.1627},
52339 {0.3327, 0.2192, 0.2880, 0.1601},
52340 {0.2411, 0.2350, 0.3264, 0.1975},
52341 {0.2179, 0.2609, 0.4099, 0.1113}},
52342 {
52343 {0.2891, 0.2050, 0.1680, 0.3379},
52344 {0.2819, 0.1344, 0.2839, 0.2999},
52345 {0.3475, 0.2341, 0.2517, 0.1667},
52346 {0.2442, 0.2678, 0.2030, 0.2851}},
52347 {
52348 {0.1984, 0.3352, 0.3076, 0.1589},
52349 {0.0871, 0.5100, 0.1049, 0.2980},
52350 {0.1154, 0.3556, 0.2339, 0.2951},
52351 {0.0375, 0.4744, 0.3676, 0.1205}},
52352 {
52353 {0.0420, 0.1646, 0.4337, 0.3597},
52354 {0.2596, 0.2653, 0.2611, 0.2139},
52355 {0.3360, 0.1679, 0.3241, 0.1720},
52356 {0.1910, 0.2375, 0.4692, 0.1023}},
52357 {
52358 {0.3735, 0.2216, 0.1837, 0.2212},
52359 {0.3484, 0.2615, 0.1367, 0.2534},
52360 {0.3599, 0.1851, 0.1933, 0.2617},
52361 {0.1584, 0.4249, 0.1579, 0.2587}},
52362 {
52363 {0.1857, 0.2635, 0.3366, 0.2142},
52364 {0.0526, 0.4818, 0.2049, 0.2606},
52365 {0.1756, 0.4067, 0.0749, 0.3428},
52366 {0.0683, 0.5080, 0.2186, 0.2051}},
52367 {
52368 {0.2584, 0.1854, 0.3722, 0.1841},
52369 {0.2512, 0.2466, 0.2740, 0.2282},
52370 {0.2679, 0.2134, 0.3233, 0.1955},
52371 {0.0910, 0.3700, 0.4126, 0.1265}},
52372 {
52373 {0.3684, 0.1457, 0.1389, 0.3470},
52374 {0.3113, 0.1686, 0.2401, 0.2800},
52375 {0.2134, 0.2655, 0.2684, 0.2527},
52376 {0.3092, 0.2500, 0.2138, 0.2270}},
52377 {
52378 {0.1692, 0.2917, 0.3848, 0.1542},
52379 {0.1500, 0.4727, 0.1257, 0.2516},
52380 {0.0792, 0.3751, 0.2253, 0.3204},
52381 {0.0461, 0.5071, 0.2753, 0.1714}},
52382 {
52383 {0.2766, 0.3576, 0.2436, 0.1222},
52384 {0.4152, 0.1316, 0.2810, 0.1722},
52385 {0.2819, 0.1654, 0.4315, 0.1212},
52386 {0.1027, 0.2002, 0.5746, 0.1225}},
52387 {
52388 {0.3880, 0.1500, 0.1475, 0.3146},
52389 {0.1713, 0.1516, 0.3124, 0.3647},
52390 {0.3168, 0.2334, 0.2837, 0.1661},
52391 {0.2788, 0.3137, 0.0654, 0.3421}},
52392 {
52393 {0.0851, 0.3078, 0.4204, 0.1867},
52394 {0.1329, 0.3195, 0.2065, 0.3411},
52395 {0.2452, 0.3696, 0.1219, 0.2633},
52396 {0.0000, 0.4609, 0.2956, 0.2434}},
52397 {
52398 {0.1195, 0.2537, 0.4204, 0.2064},
52399 {0.2963, 0.3042, 0.3153, 0.0842},
52400 {0.3092, 0.1423, 0.4043, 0.1442},
52401 {0.2132, 0.2486, 0.4060, 0.1322}},
52402 {
52403 {0.3352, 0.2415, 0.1168, 0.3064},
52404 {0.2944, 0.2638, 0.1144, 0.3275},
52405 {0.2610, 0.2619, 0.2165, 0.2605},
52406 {0.2038, 0.4072, 0.1391, 0.2500}},
52407 {
52408 {0.1718, 0.3836, 0.3000, 0.1446},
52409 {0.1493, 0.3568, 0.2386, 0.2554},
52410 {0.0844, 0.3633, 0.1426, 0.4097},
52411 {0.0753, 0.3474, 0.2955, 0.2818}},
52412 {
52413 {0.1449, 0.2145, 0.2788, 0.3618},
52414 {0.2945, 0.1605, 0.3753, 0.1697},
52415 {0.3087, 0.2192, 0.2810, 0.1911},
52416 {0.2484, 0.2966, 0.3874, 0.0675}},
52417 {
52418 {0.3832, 0.2615, 0.1508, 0.2044},
52419 {0.2218, 0.1829, 0.2303, 0.3650},
52420 {0.3845, 0.2005, 0.2366, 0.1784},
52421 {0.1567, 0.3314, 0.2521, 0.2598}},
52422 {
52423 {0.1006, 0.3310, 0.3956, 0.1729},
52424 {0.1499, 0.4131, 0.2098, 0.2272},
52425 {0.1696, 0.3878, 0.2092, 0.2333},
52426 {0.0781, 0.4263, 0.3269, 0.1687}},
52427 {
52428 {0.2918, 0.3032, 0.3012, 0.1038},
52429 {0.3093, 0.2331, 0.2537, 0.2038},
52430 {0.3001, 0.1808, 0.2975, 0.2217},
52431 {0.1371, 0.1596, 0.4935, 0.2099}},
52432 {
52433 {0.3806, 0.2547, 0.0996, 0.2652},
52434 {0.3777, 0.1980, 0.2103, 0.2140},
52435 {0.3960, 0.1829, 0.2155, 0.2057},
52436 {0.2016, 0.3843, 0.2841, 0.1300}},
52437 {
52438 {0.1008, 0.3225, 0.4112, 0.1655},
52439 {0.0721, 0.4532, 0.2018, 0.2729},
52440 {0.1534, 0.4159, 0.2488, 0.1819},
52441 {0.1267, 0.4027, 0.3057, 0.1650}},
52442 {
52443 {0.1577, 0.3209, 0.4002, 0.1212},
52444 {0.3318, 0.2230, 0.2877, 0.1575},
52445 {0.3059, 0.2329, 0.2682, 0.1929},
52446 {0.1293, 0.2999, 0.4327, 0.1381}},
52447 {
52448 {0.2921, 0.1892, 0.1685, 0.3501},
52449 {0.2641, 0.2261, 0.1565, 0.3533},
52450 {0.4435, 0.1802, 0.2621, 0.1142},
52451 {0.2893, 0.3265, 0.0803, 0.3039}},
52452 {
52453 {0.1498, 0.3191, 0.2729, 0.2582},
52454 {0.1844, 0.4197, 0.2159, 0.1800},
52455 {0.1925, 0.5197, 0.0474, 0.2405},
52456 {0.0674, 0.4836, 0.2871, 0.1620}},
52457 {
52458 {0.2232, 0.3457, 0.3120, 0.1191},
52459 {0.3587, 0.2891, 0.1707, 0.1815},
52460 {0.3017, 0.2174, 0.3385, 0.1424},
52461 {0.1940, 0.2223, 0.4820, 0.1017}},
52462 {
52463 {0.2689, 0.2700, 0.1080, 0.3531},
52464 {0.3420, 0.2632, 0.2245, 0.1703},
52465 {0.3292, 0.2463, 0.2422, 0.1823},
52466 {0.1771, 0.3049, 0.2140, 0.3041}},
52467 {
52468 {0.1250, 0.2413, 0.4969, 0.1368},
52469 {0.1520, 0.4034, 0.1463, 0.2983},
52470 {0.1419, 0.3609, 0.2522, 0.2449},
52471 {0.0905, 0.4195, 0.3073, 0.1828}},
52472 {
52473 {0.2532, 0.1433, 0.3232, 0.2804},
52474 {0.3132, 0.2530, 0.2458, 0.1879},
52475 {0.2700, 0.3145, 0.2984, 0.1171},
52476 {0.1402, 0.2656, 0.5078, 0.0864}},
52477 {
52478 {0.3135, 0.2228, 0.1191, 0.3446},
52479 {0.2354, 0.2073, 0.1830, 0.3742},
52480 {0.2620, 0.3014, 0.2547, 0.1819},
52481 {0.1143, 0.3400, 0.2356, 0.3101}},
52482 {
52483 {0.1432, 0.3142, 0.4340, 0.1086},
52484 {0.1839, 0.3584, 0.1944, 0.2633},
52485 {0.0895, 0.4598, 0.2046, 0.2461},
52486 {0.0793, 0.4672, 0.2859, 0.1677}},
52487 {
52488 {0.1471, 0.1019, 0.5015, 0.2495},
52489 {0.3027, 0.2098, 0.3091, 0.1785},
52490 {0.2061, 0.2072, 0.3502, 0.2365},
52491 {0.2287, 0.2685, 0.3471, 0.1556}},
52492 {
52493 {0.4447, 0.1462, 0.1120, 0.2971},
52494 {0.1637, 0.2587, 0.3039, 0.2737},
52495 {0.2786, 0.2405, 0.2235, 0.2574},
52496 {0.1514, 0.2628, 0.1881, 0.3977}},
52497 {
52498 {0.1459, 0.2811, 0.3251, 0.2479},
52499 {0.1160, 0.5008, 0.1717, 0.2115},
52500 {0.1094, 0.4369, 0.1733, 0.2804},
52501 {0.0305, 0.4265, 0.3302, 0.2128}},
52502 {
52503 {0.1731, 0.2901, 0.3085, 0.2283},
52504 {0.3392, 0.2102, 0.2745, 0.1761},
52505 {0.2886, 0.1871, 0.4088, 0.1156},
52506 {0.1884, 0.2503, 0.3915, 0.1698}},
52507 {
52508 {0.3214, 0.2391, 0.0937, 0.3458},
52509 {0.2004, 0.2248, 0.2278, 0.3471},
52510 {0.4130, 0.2767, 0.1294, 0.1810},
52511 {0.0776, 0.2913, 0.2973, 0.3338}},
52512 {
52513 {0.2053, 0.2859, 0.3977, 0.1110},
52514 {0.0974, 0.3937, 0.1607, 0.3482},
52515 {0.1612, 0.4251, 0.2284, 0.1853},
52516 {0.0773, 0.4184, 0.2821, 0.2222}},
52517 {
52518 {0.2538, 0.1767, 0.4409, 0.1287},
52519 {0.2765, 0.2054, 0.3642, 0.1539},
52520 {0.3104, 0.1799, 0.4016, 0.1082},
52521 {0.2726, 0.3103, 0.3095, 0.1076}},
52522 {
52523 {0.3835, 0.2696, 0.1287, 0.2182},
52524 {0.3219, 0.1853, 0.1437, 0.3492},
52525 {0.3481, 0.2783, 0.1409, 0.2326},
52526 {0.0748, 0.3783, 0.2481, 0.2988}},
52527 {
52528 {0.0856, 0.2783, 0.4786, 0.1576},
52529 {0.1302, 0.4393, 0.1003, 0.3302},
52530 {0.1201, 0.3214, 0.2416, 0.3169},
52531 {0.0487, 0.3630, 0.2851, 0.3032}},
52532 {
52533 {0.1813, 0.2305, 0.4966, 0.0915},
52534 {0.3059, 0.1767, 0.3063, 0.2111},
52535 {0.2822, 0.2043, 0.3444, 0.1691},
52536 {0.1006, 0.3114, 0.4026, 0.1854}},
52537 {
52538 {0.1944, 0.2932, 0.2289, 0.2835},
52539 {0.2008, 0.2576, 0.1772, 0.3643},
52540 {0.3925, 0.2104, 0.2713, 0.1258},
52541 {0.1677, 0.3442, 0.1905, 0.2976}},
52542 {
52543 {0.1027, 0.4025, 0.2767, 0.2182},
52544 {0.1169, 0.4270, 0.2405, 0.2156},
52545 {0.1438, 0.3541, 0.2500, 0.2521},
52546 {0.0552, 0.4039, 0.3163, 0.2245}},
52547 {
52548 {0.0835, 0.2553, 0.4436, 0.2175},
52549 {0.2610, 0.2193, 0.3000, 0.2197},
52550 {0.1887, 0.3143, 0.3610, 0.1360},
52551 {0.1556, 0.2257, 0.4245, 0.1942}},
52552 {
52553 {0.3848, 0.1603, 0.1793, 0.2756},
52554 {0.2941, 0.2091, 0.3187, 0.1781},
52555 {0.3780, 0.2401, 0.1769, 0.2050},
52556 {0.1147, 0.2707, 0.1902, 0.4245}},
52557 {
52558 {0.1334, 0.3144, 0.4202, 0.1320},
52559 {0.1151, 0.4076, 0.2987, 0.1786},
52560 {0.1068, 0.4421, 0.2262, 0.2249},
52561 {0.1034, 0.4608, 0.2782, 0.1576}},
52562 {
52563 {0.3973, 0.3376, 0.2650, 0.0000},
52564 {0.4486, 0.2108, 0.3406, 0.0000},
52565 {0.3822, 0.1837, 0.4341, 0.0000},
52566 {0.1794, 0.3952, 0.4254, 0.0000}},
52567 {
52568 {1.0000, 0.0000, 0.0000, 0.0000},
52569 {1.0000, 0.0000, 0.0000, 0.0000},
52570 {1.0000, 0.0000, 0.0000, 0.0000},
52571 {1.0000, 0.0000, 0.0000, 0.0000}},
52572 {
52573 {0.0000, 0.0000, 1.0000, 0.0000},
52574 {0.0000, 0.0000, 0.0000, 0.0000},
52575 {0.0000, 0.0000, 0.0000, 0.0000},
52576 {0.0000, 0.0000, 0.0000, 0.0000}},
52577 {
52578 {0.0000, 0.0000, 0.0000, 0.0000},
52579 {0.0000, 0.0000, 0.0000, 0.0000},
52580 {0.2697, 0.2578, 0.3536, 0.1188},
52581 {0.0000, 0.0000, 0.0000, 0.0000}},
52582 {
52583 {0.4719, 0.1502, 0.0846, 0.2933},
52584 {0.2611, 0.2711, 0.1538, 0.3140},
52585 {0.4228, 0.1739, 0.2664, 0.1369},
52586 {0.1132, 0.2972, 0.1473, 0.4423}},
52587 {
52588 {0.1958, 0.2993, 0.3316, 0.1733},
52589 {0.1276, 0.3172, 0.2981, 0.2572},
52590 {0.0833, 0.4324, 0.2355, 0.2488},
52591 {0.0668, 0.3453, 0.3449, 0.2429}},
52592 {
52593 {0.2810, 0.2740, 0.3051, 0.1400},
52594 {0.3069, 0.1690, 0.3163, 0.2077},
52595 {0.1973, 0.2450, 0.3850, 0.1728},
52596 {0.1375, 0.2858, 0.4777, 0.0990}},
52597 {
52598 {0.3485, 0.1732, 0.1123, 0.3661},
52599 {0.2491, 0.1486, 0.1564, 0.4458},
52600 {0.2900, 0.2152, 0.1517, 0.3431},
52601 {0.2813, 0.2954, 0.1579, 0.2655}},
52602 {
52603 {0.1572, 0.3646, 0.2758, 0.2024},
52604 {0.0673, 0.4302, 0.1250, 0.3775},
52605 {0.1937, 0.3638, 0.1517, 0.2908},
52606 {0.0609, 0.4459, 0.2118, 0.2813}},
52607 {
52608 {0.0901, 0.3674, 0.2135, 0.3290},
52609 {0.3469, 0.1978, 0.2897, 0.1657},
52610 {0.4636, 0.1295, 0.2591, 0.1478},
52611 {0.1398, 0.2729, 0.4784, 0.1088}},
52612 {
52613 {0.2681, 0.2809, 0.1869, 0.2641},
52614 {0.3049, 0.2197, 0.1152, 0.3602},
52615 {0.3383, 0.2719, 0.2021, 0.1878},
52616 {0.2108, 0.3215, 0.1649, 0.3028}},
52617 {
52618 {0.1418, 0.2582, 0.3865, 0.2135},
52619 {0.0835, 0.3284, 0.2242, 0.3638},
52620 {0.1280, 0.5126, 0.1293, 0.2300},
52621 {0.0467, 0.5040, 0.1887, 0.2607}},
52622 {
52623 {0.2246, 0.1283, 0.5022, 0.1449},
52624 {0.3078, 0.1700, 0.3122, 0.2100},
52625 {0.2909, 0.2337, 0.3668, 0.1085},
52626 {0.1331, 0.2194, 0.5000, 0.1475}},
52627 {
52628 {0.3225, 0.1042, 0.2306, 0.3428},
52629 {0.2875, 0.3242, 0.2508, 0.1375},
52630 {0.4581, 0.1944, 0.1956, 0.1519},
52631 {0.1595, 0.3665, 0.1099, 0.3640}},
52632 {
52633 {0.0909, 0.3382, 0.3659, 0.2050},
52634 {0.0214, 0.4611, 0.2237, 0.2937},
52635 {0.1284, 0.5874, 0.0872, 0.1969},
52636 {0.0595, 0.5149, 0.3055, 0.1201}},
52637 {
52638 {0.2357, 0.1125, 0.4642, 0.1875},
52639 {0.3040, 0.2102, 0.2795, 0.2063},
52640 {0.2629, 0.1871, 0.3665, 0.1836},
52641 {0.1947, 0.3267, 0.4098, 0.0687}},
52642 {
52643 {0.4178, 0.1979, 0.0837, 0.3006},
52644 {0.1987, 0.3002, 0.1838, 0.3173},
52645 {0.3007, 0.3574, 0.1557, 0.1862},
52646 {0.1859, 0.3372, 0.1056, 0.3713}},
52647 {
52648 {0.2002, 0.2906, 0.3667, 0.1424},
52649 {0.1821, 0.4435, 0.2179, 0.1565},
52650 {0.1658, 0.3849, 0.1292, 0.3200},
52651 {0.0488, 0.4366, 0.2386, 0.2760}},
52652 {
52653 {0.1490, 0.1222, 0.4848, 0.2440},
52654 {0.3616, 0.1606, 0.3269, 0.1509},
52655 {0.3106, 0.1549, 0.3434, 0.1910},
52656 {0.2663, 0.3056, 0.2776, 0.1504}},
52657 {
52658 {0.3319, 0.2546, 0.1005, 0.3129},
52659 {0.3167, 0.2197, 0.2454, 0.2182},
52660 {0.3191, 0.3220, 0.2093, 0.1496},
52661 {0.2584, 0.2490, 0.1759, 0.3167}},
52662 {
52663 {0.1290, 0.3451, 0.3395, 0.1865},
52664 {0.1291, 0.3633, 0.2159, 0.2917},
52665 {0.0703, 0.4794, 0.2489, 0.2014},
52666 {0.0758, 0.3348, 0.3300, 0.2594}},
52667 {
52668 {0.0384, 0.2450, 0.2917, 0.4249},
52669 {0.3341, 0.2321, 0.2545, 0.1792},
52670 {0.3846, 0.2047, 0.2735, 0.1372},
52671 {0.2965, 0.2028, 0.3881, 0.1126}},
52672 {
52673 {0.2902, 0.2572, 0.1670, 0.2856},
52674 {0.4939, 0.2020, 0.1425, 0.1617},
52675 {0.3986, 0.1964, 0.2222, 0.1828},
52676 {0.1428, 0.4499, 0.2092, 0.1980}},
52677 {
52678 {0.1584, 0.2829, 0.4394, 0.1193},
52679 {0.2212, 0.3033, 0.1855, 0.2901},
52680 {0.1110, 0.3581, 0.2016, 0.3292},
52681 {0.0862, 0.3471, 0.3784, 0.1882}},
52682 {
52683 {0.2741, 0.1121, 0.4096, 0.2042},
52684 {0.2796, 0.2339, 0.3047, 0.1818},
52685 {0.3369, 0.2017, 0.3169, 0.1445},
52686 {0.2245, 0.4273, 0.2047, 0.1435}},
52687 {
52688 {0.2642, 0.2345, 0.2045, 0.2968},
52689 {0.1978, 0.3628, 0.2381, 0.2012},
52690 {0.3413, 0.2039, 0.2019, 0.2529},
52691 {0.0556, 0.3552, 0.1299, 0.4592}},
52692 {
52693 {0.2592, 0.2859, 0.3989, 0.0560},
52694 {0.1760, 0.4494, 0.1601, 0.2144},
52695 {0.1323, 0.4223, 0.1336, 0.3118},
52696 {0.0304, 0.4790, 0.2889, 0.2017}},
52697 {
52698 {0.2524, 0.2086, 0.4532, 0.0858},
52699 {0.3445, 0.1693, 0.2652, 0.2209},
52700 {0.1990, 0.1991, 0.4771, 0.1247},
52701 {0.0919, 0.1906, 0.5333, 0.1843}},
52702 {
52703 {0.3127, 0.2157, 0.1436, 0.3280},
52704 {0.1878, 0.2570, 0.1480, 0.4073},
52705 {0.2733, 0.2958, 0.2627, 0.1681},
52706 {0.1863, 0.3341, 0.2118, 0.2678}},
52707 {
52708 {0.1465, 0.3042, 0.3944, 0.1550},
52709 {0.1463, 0.2854, 0.2673, 0.3009},
52710 {0.1322, 0.5100, 0.0899, 0.2679},
52711 {0.0717, 0.4244, 0.2867, 0.2172}},
52712 {
52713 {0.2082, 0.1935, 0.4396, 0.1587},
52714 {0.3198, 0.2345, 0.2649, 0.1809},
52715 {0.2817, 0.1807, 0.3290, 0.2086},
52716 {0.1689, 0.2678, 0.3576, 0.2057}},
52717 {
52718 {0.3388, 0.2683, 0.1012, 0.2917},
52719 {0.3311, 0.1811, 0.3045, 0.1833},
52720 {0.4790, 0.2359, 0.1492, 0.1359},
52721 {0.1806, 0.3688, 0.1235, 0.3270}},
52722 {
52723 {0.0883, 0.4708, 0.3036, 0.1373},
52724 {0.0819, 0.3897, 0.2866, 0.2418},
52725 {0.0825, 0.4281, 0.2491, 0.2403},
52726 {0.0394, 0.5231, 0.2997, 0.1379}},
52727 {
52728 {0.2371, 0.0591, 0.4563, 0.2474},
52729 {0.4000, 0.1665, 0.2579, 0.1756},
52730 {0.3363, 0.1901, 0.3177, 0.1559},
52731 {0.1442, 0.2174, 0.5447, 0.0937}},
52732 {
52733 {0.3877, 0.1921, 0.1217, 0.2985},
52734 {0.2983, 0.1870, 0.2532, 0.2614},
52735 {0.4020, 0.1948, 0.2219, 0.1813},
52736 {0.3317, 0.1960, 0.1683, 0.3040}},
52737 {
52738 {0.0973, 0.3382, 0.3464, 0.2180},
52739 {0.1675, 0.4829, 0.1868, 0.1629},
52740 {0.1470, 0.2566, 0.2620, 0.3344},
52741 {0.0872, 0.3709, 0.2277, 0.3141}},
52742 {
52743 {0.3805, 0.1228, 0.2962, 0.2006},
52744 {0.2777, 0.1562, 0.3545, 0.2116},
52745 {0.1927, 0.2646, 0.3321, 0.2106},
52746 {0.2273, 0.2290, 0.3826, 0.1611}},
52747 {
52748 {0.2099, 0.3332, 0.1451, 0.3119},
52749 {0.2869, 0.1769, 0.3106, 0.2256},
52750 {0.3572, 0.3175, 0.1883, 0.1370},
52751 {0.2517, 0.2465, 0.1892, 0.3126}},
52752 {
52753 {0.2527, 0.2316, 0.3602, 0.1555},
52754 {0.1301, 0.3169, 0.2681, 0.2849},
52755 {0.1521, 0.4289, 0.1372, 0.2818},
52756 {0.0587, 0.4687, 0.2699, 0.2027}},
52757 {
52758 {0.2622, 0.1721, 0.3893, 0.1763},
52759 {0.3232, 0.2629, 0.2225, 0.1914},
52760 {0.2357, 0.2173, 0.3978, 0.1492},
52761 {0.1947, 0.2625, 0.4054, 0.1374}},
52762 {
52763 {0.3053, 0.2738, 0.1907, 0.2301},
52764 {0.2398, 0.1694, 0.1295, 0.4613},
52765 {0.2208, 0.3448, 0.2292, 0.2052},
52766 {0.2152, 0.3485, 0.0532, 0.3831}},
52767 {
52768 {0.1657, 0.1985, 0.3653, 0.2704},
52769 {0.0913, 0.4432, 0.1699, 0.2956},
52770 {0.1001, 0.4592, 0.0842, 0.3565},
52771 {0.1006, 0.4110, 0.2649, 0.2235}},
52772 {
52773 {0.3102, 0.1535, 0.3487, 0.1875},
52774 {0.2865, 0.2351, 0.2858, 0.1925},
52775 {0.2420, 0.2296, 0.3770, 0.1514},
52776 {0.1879, 0.1894, 0.4097, 0.2131}},
52777 {
52778 {0.4152, 0.2770, 0.1131, 0.1946},
52779 {0.2716, 0.2472, 0.1891, 0.2921},
52780 {0.3951, 0.2157, 0.2267, 0.1626},
52781 {0.1449, 0.3033, 0.2646, 0.2871}},
52782 {
52783 {0.1836, 0.3254, 0.2901, 0.2009},
52784 {0.1390, 0.3261, 0.2247, 0.3102},
52785 {0.0882, 0.4044, 0.2304, 0.2770},
52786 {0.1200, 0.4602, 0.2184, 0.2015}},
52787 {
52788 {0.2125, 0.1858, 0.4734, 0.1284},
52789 {0.3300, 0.1972, 0.3538, 0.1190},
52790 {0.2685, 0.1703, 0.4682, 0.0930},
52791 {0.2247, 0.1833, 0.4830, 0.1091}},
52792 {
52793 {0.4524, 0.1481, 0.1650, 0.2344},
52794 {0.2312, 0.2197, 0.3087, 0.2404},
52795 {0.3740, 0.2343, 0.1702, 0.2215},
52796 {0.1616, 0.3125, 0.1255, 0.4005}},
52797 {
52798 {0.1297, 0.3048, 0.3859, 0.1795},
52799 {0.1879, 0.4479, 0.1606, 0.2037},
52800 {0.1132, 0.3005, 0.3019, 0.2844},
52801 {0.0177, 0.4519, 0.2890, 0.2414}},
52802 {
52803 {0.2097, 0.2704, 0.3121, 0.2078},
52804 {0.3204, 0.2353, 0.2727, 0.1716},
52805 {0.4026, 0.1709, 0.3263, 0.1001},
52806 {0.2237, 0.2676, 0.3470, 0.1617}},
52807 {
52808 {0.3396, 0.1991, 0.1298, 0.3315},
52809 {0.2802, 0.2325, 0.1793, 0.3079},
52810 {0.2904, 0.3004, 0.2386, 0.1706},
52811 {0.2911, 0.2694, 0.1183, 0.3212}},
52812 {
52813 {0.0858, 0.3809, 0.3430, 0.1904},
52814 {0.1593, 0.3583, 0.1601, 0.3223},
52815 {0.0725, 0.4822, 0.1857, 0.2596},
52816 {0.0327, 0.4633, 0.2242, 0.2798}},
52817 {
52818 {0.2887, 0.2587, 0.1552, 0.2974},
52819 {0.2795, 0.2371, 0.2284, 0.2551},
52820 {0.2865, 0.2050, 0.2779, 0.2306},
52821 {0.1168, 0.1777, 0.4784, 0.2271}},
52822 {
52823 {0.3149, 0.3488, 0.1118, 0.2245},
52824 {0.2314, 0.2113, 0.2021, 0.3552},
52825 {0.2802, 0.2233, 0.2413, 0.2553},
52826 {0.1930, 0.3955, 0.0905, 0.3210}}},
52827
52828 { /* Splice_Site: F2_AG; Species: Asper */
52829 {
52830 {0.2154, 0.2154, 0.2154, 0.2154},
52831 {0.2289, 0.2289, 0.2289, 0.2289},
52832 {0.3039, 0.3039, 0.3039, 0.3039},
52833 {0.2518, 0.2518, 0.2518, 0.2518}},
52834 {
52835 {0.2446, 0.2870, 0.1003, 0.3681},
52836 {0.2754, 0.1755, 0.2006, 0.3485},
52837 {0.4358, 0.2077, 0.2269, 0.1296},
52838 {0.1313, 0.3748, 0.2001, 0.2938}},
52839 {
52840 {0.1181, 0.3390, 0.2634, 0.2796},
52841 {0.1578, 0.3520, 0.2270, 0.2631},
52842 {0.1534, 0.3328, 0.3043, 0.2095},
52843 {0.0850, 0.4506, 0.2961, 0.1682}},
52844 {
52845 {0.2776, 0.0974, 0.4053, 0.2197},
52846 {0.2876, 0.2263, 0.2457, 0.2405},
52847 {0.2579, 0.2113, 0.2717, 0.2590},
52848 {0.2689, 0.3204, 0.2936, 0.1171}},
52849 {
52850 {0.2794, 0.3063, 0.1657, 0.2486},
52851 {0.4202, 0.1722, 0.1863, 0.2213},
52852 {0.2815, 0.3127, 0.2634, 0.1424},
52853 {0.2872, 0.3447, 0.1563, 0.2118}},
52854 {
52855 {0.1948, 0.2907, 0.3554, 0.1590},
52856 {0.2128, 0.3919, 0.2024, 0.1929},
52857 {0.2120, 0.2972, 0.2338, 0.2570},
52858 {0.1383, 0.4249, 0.2995, 0.1373}},
52859 {
52860 {0.3796, 0.1167, 0.2292, 0.2744},
52861 {0.2963, 0.2125, 0.2512, 0.2400},
52862 {0.2536, 0.2535, 0.2243, 0.2685},
52863 {0.0901, 0.2510, 0.3521, 0.3068}},
52864 {
52865 {0.1788, 0.2379, 0.2852, 0.2981},
52866 {0.2168, 0.3296, 0.2678, 0.1859},
52867 {0.1760, 0.3032, 0.2822, 0.2386},
52868 {0.2710, 0.2166, 0.2748, 0.2376}},
52869 {
52870 {0.0849, 0.5647, 0.2155, 0.1349},
52871 {0.2086, 0.3636, 0.2587, 0.1692},
52872 {0.2231, 0.2924, 0.2606, 0.2239},
52873 {0.1173, 0.3981, 0.3688, 0.1158}},
52874 {
52875 {0.4940, 0.1677, 0.2065, 0.1318},
52876 {0.2751, 0.1453, 0.3045, 0.2751},
52877 {0.2369, 0.2474, 0.2637, 0.2521},
52878 {0.1043, 0.2741, 0.3873, 0.2343}},
52879 {
52880 {0.2694, 0.2908, 0.1224, 0.3174},
52881 {0.3457, 0.1436, 0.2263, 0.2845},
52882 {0.3003, 0.2351, 0.2718, 0.1928},
52883 {0.1198, 0.3032, 0.1920, 0.3851}},
52884 {
52885 {0.3232, 0.2580, 0.2203, 0.1985},
52886 {0.2041, 0.4279, 0.2767, 0.0913},
52887 {0.1950, 0.4973, 0.1412, 0.1665},
52888 {0.0425, 0.4900, 0.3492, 0.1182}},
52889 {
52890 {0.1615, 0.2238, 0.3351, 0.2797},
52891 {0.2428, 0.1509, 0.4157, 0.1906},
52892 {0.4006, 0.1745, 0.3342, 0.0908},
52893 {0.1160, 0.2387, 0.4019, 0.2434}},
52894 {
52895 {0.3884, 0.1134, 0.0467, 0.4515},
52896 {0.2531, 0.2468, 0.1903, 0.3099},
52897 {0.1931, 0.3860, 0.1501, 0.2707},
52898 {0.2766, 0.2162, 0.2362, 0.2710}},
52899 {
52900 {0.0856, 0.2298, 0.4257, 0.2589},
52901 {0.1570, 0.3705, 0.2355, 0.2370},
52902 {0.2056, 0.6046, 0.1124, 0.0774},
52903 {0.1237, 0.4729, 0.2613, 0.1422}},
52904 {
52905 {0.1357, 0.2616, 0.3506, 0.2521},
52906 {0.2657, 0.2074, 0.2163, 0.3106},
52907 {0.2816, 0.2469, 0.2397, 0.2317},
52908 {0.1563, 0.1813, 0.4790, 0.1834}},
52909 {
52910 {0.1948, 0.3402, 0.0751, 0.3899},
52911 {0.3638, 0.3043, 0.1271, 0.2048},
52912 {0.2020, 0.2481, 0.2949, 0.2550},
52913 {0.1591, 0.4206, 0.1719, 0.2483}},
52914 {
52915 {0.3027, 0.3149, 0.2019, 0.1805},
52916 {0.2431, 0.3580, 0.2103, 0.1886},
52917 {0.1257, 0.4222, 0.3565, 0.0956},
52918 {0.0857, 0.5005, 0.3102, 0.1035}},
52919 {
52920 {0.3818, 0.1200, 0.2304, 0.2678},
52921 {0.3976, 0.1437, 0.3124, 0.1462},
52922 {0.2399, 0.2582, 0.3482, 0.1537},
52923 {0.2547, 0.3170, 0.3095, 0.1189}},
52924 {
52925 {0.2757, 0.2154, 0.1889, 0.3200},
52926 {0.2935, 0.2342, 0.1800, 0.2923},
52927 {0.2814, 0.3135, 0.1487, 0.2563},
52928 {0.3183, 0.2747, 0.1666, 0.2403}},
52929 {
52930 {0.1204, 0.4913, 0.2726, 0.1158},
52931 {0.1958, 0.3482, 0.3266, 0.1294},
52932 {0.2041, 0.3020, 0.2988, 0.1952},
52933 {0.1590, 0.4902, 0.2166, 0.1342}},
52934 {
52935 {0.1411, 0.3405, 0.3817, 0.1366},
52936 {0.2616, 0.1888, 0.2620, 0.2876},
52937 {0.3041, 0.2483, 0.3654, 0.0823},
52938 {0.0820, 0.3146, 0.3646, 0.2389}},
52939 {
52940 {0.2724, 0.2265, 0.2026, 0.2985},
52941 {0.3824, 0.1365, 0.2012, 0.2800},
52942 {0.1774, 0.3712, 0.3113, 0.1402},
52943 {0.1666, 0.4556, 0.1447, 0.2331}},
52944 {
52945 {0.2251, 0.3818, 0.3485, 0.0446},
52946 {0.1907, 0.3473, 0.3088, 0.1532},
52947 {0.2324, 0.4200, 0.1257, 0.2219},
52948 {0.2002, 0.3001, 0.4004, 0.0993}},
52949 {
52950 {0.2186, 0.1354, 0.3997, 0.2463},
52951 {0.3445, 0.1882, 0.2697, 0.1975},
52952 {0.2572, 0.2642, 0.3028, 0.1758},
52953 {0.1670, 0.4800, 0.1801, 0.1729}},
52954 {
52955 {0.1496, 0.3247, 0.1667, 0.3589},
52956 {0.4396, 0.1394, 0.1685, 0.2525},
52957 {0.2649, 0.2702, 0.3110, 0.1539},
52958 {0.1778, 0.3094, 0.1436, 0.3692}},
52959 {
52960 {0.1995, 0.4247, 0.2855, 0.0903},
52961 {0.1493, 0.3267, 0.3269, 0.1972},
52962 {0.1964, 0.4474, 0.1887, 0.1676},
52963 {0.1841, 0.3226, 0.3906, 0.1028}},
52964 {
52965 {0.2168, 0.1587, 0.2801, 0.3444},
52966 {0.2212, 0.1966, 0.3775, 0.2047},
52967 {0.1488, 0.2632, 0.4462, 0.1418},
52968 {0.1265, 0.3309, 0.2885, 0.2541}},
52969 {
52970 {0.3290, 0.2084, 0.1555, 0.3071},
52971 {0.2276, 0.2200, 0.1752, 0.3771},
52972 {0.2297, 0.2189, 0.3064, 0.2451},
52973 {0.1775, 0.3423, 0.1340, 0.3462}},
52974 {
52975 {0.2392, 0.2341, 0.2660, 0.2607},
52976 {0.1646, 0.3677, 0.2803, 0.1874},
52977 {0.1899, 0.3742, 0.2997, 0.1362},
52978 {0.1141, 0.4075, 0.3695, 0.1089}},
52979 {
52980 {0.1648, 0.2315, 0.4350, 0.1687},
52981 {0.3251, 0.1606, 0.3154, 0.1989},
52982 {0.3368, 0.3861, 0.1840, 0.0931},
52983 {0.1239, 0.5392, 0.2343, 0.1026}},
52984 {
52985 {0.3587, 0.2102, 0.1472, 0.2839},
52986 {0.3140, 0.1310, 0.1485, 0.4065},
52987 {0.3463, 0.1658, 0.2647, 0.2232},
52988 {0.3178, 0.2854, 0.1164, 0.2804}},
52989 {
52990 {0.2554, 0.2682, 0.3056, 0.1708},
52991 {0.1809, 0.2848, 0.2823, 0.2520},
52992 {0.1297, 0.4496, 0.2565, 0.1642},
52993 {0.1105, 0.3739, 0.2939, 0.2217}},
52994 {
52995 {0.1893, 0.3229, 0.3182, 0.1696},
52996 {0.2547, 0.2212, 0.2188, 0.3053},
52997 {0.2168, 0.1325, 0.3981, 0.2526},
52998 {0.0543, 0.2852, 0.4634, 0.1971}},
52999 {
53000 {0.2920, 0.2624, 0.1171, 0.3284},
53001 {0.2002, 0.1692, 0.3025, 0.3281},
53002 {0.2405, 0.2902, 0.2852, 0.1841},
53003 {0.1606, 0.3242, 0.1851, 0.3301}},
53004 {
53005 {0.1287, 0.3832, 0.2583, 0.2298},
53006 {0.0649, 0.3407, 0.4046, 0.1898},
53007 {0.1504, 0.3709, 0.2138, 0.2650},
53008 {0.1065, 0.4246, 0.2284, 0.2405}},
53009 {
53010 {0.2132, 0.3665, 0.2113, 0.2090},
53011 {0.2844, 0.2122, 0.2551, 0.2483},
53012 {0.2058, 0.2634, 0.3599, 0.1710},
53013 {0.1256, 0.3404, 0.3650, 0.1690}},
53014 {
53015 {0.2874, 0.2963, 0.1307, 0.2856},
53016 {0.2405, 0.3848, 0.1018, 0.2729},
53017 {0.2957, 0.2040, 0.2211, 0.2792},
53018 {0.2534, 0.2739, 0.1459, 0.3269}},
53019 {
53020 {0.2952, 0.3586, 0.1959, 0.1502},
53021 {0.1347, 0.3846, 0.2576, 0.2231},
53022 {0.2259, 0.2921, 0.2987, 0.1833},
53023 {0.0819, 0.4322, 0.3731, 0.1128}},
53024 {
53025 {0.1617, 0.3569, 0.2903, 0.1911},
53026 {0.2539, 0.2460, 0.3020, 0.1980},
53027 {0.2466, 0.3298, 0.3435, 0.0802},
53028 {0.2002, 0.2479, 0.3762, 0.1757}},
53029 {
53030 {0.3272, 0.2772, 0.0487, 0.3468},
53031 {0.1936, 0.1936, 0.2222, 0.3906},
53032 {0.2232, 0.4950, 0.2285, 0.0533},
53033 {0.1793, 0.4261, 0.1372, 0.2573}},
53034 {
53035 {0.1485, 0.2247, 0.4066, 0.2203},
53036 {0.1808, 0.3743, 0.1667, 0.2783},
53037 {0.2732, 0.4275, 0.1927, 0.1066},
53038 {0.1359, 0.2923, 0.3875, 0.1843}},
53039 {
53040 {0.1942, 0.2549, 0.3927, 0.1582},
53041 {0.3190, 0.2132, 0.3112, 0.1566},
53042 {0.2851, 0.1613, 0.3800, 0.1737},
53043 {0.2154, 0.3208, 0.3566, 0.1072}},
53044 {
53045 {0.2803, 0.2588, 0.1469, 0.3139},
53046 {0.1796, 0.2946, 0.1991, 0.3267},
53047 {0.2532, 0.3873, 0.1806, 0.1789},
53048 {0.0765, 0.4406, 0.1099, 0.3730}},
53049 {
53050 {0.1048, 0.4342, 0.3579, 0.1030},
53051 {0.2150, 0.4033, 0.1825, 0.1992},
53052 {0.1704, 0.3449, 0.2067, 0.2779},
53053 {0.0988, 0.3505, 0.3493, 0.2014}},
53054 {
53055 {0.2880, 0.3385, 0.3017, 0.0718},
53056 {0.2385, 0.2676, 0.2878, 0.2061},
53057 {0.1906, 0.3464, 0.3810, 0.0820},
53058 {0.1482, 0.4360, 0.2698, 0.1461}},
53059 {
53060 {0.2668, 0.2897, 0.2380, 0.2054},
53061 {0.2523, 0.3746, 0.1555, 0.2176},
53062 {0.1686, 0.3018, 0.2922, 0.2374},
53063 {0.1196, 0.3560, 0.1335, 0.3909}},
53064 {
53065 {0.2748, 0.3491, 0.2143, 0.1618},
53066 {0.1236, 0.4108, 0.3630, 0.1026},
53067 {0.2103, 0.3517, 0.2499, 0.1881},
53068 {0.1094, 0.4525, 0.3222, 0.1158}},
53069 {
53070 {0.0962, 0.5305, 0.2704, 0.1029},
53071 {0.2132, 0.2609, 0.4251, 0.1007},
53072 {0.2100, 0.3244, 0.3279, 0.1376},
53073 {0.0430, 0.2504, 0.4536, 0.2529}},
53074 {
53075 {0.3716, 0.3310, 0.1645, 0.1330},
53076 {0.2121, 0.3881, 0.1584, 0.2413},
53077 {0.2867, 0.2620, 0.4043, 0.0470},
53078 {0.0887, 0.6569, 0.0000, 0.2544}},
53079 {
53080 {1.0000, 0.0000, 0.0000, 0.0000},
53081 {1.0000, 0.0000, 0.0000, 0.0000},
53082 {1.0000, 0.0000, 0.0000, 0.0000},
53083 {1.0000, 0.0000, 0.0000, 0.0000}},
53084 {
53085 {0.0000, 0.0000, 1.0000, 0.0000},
53086 {0.0000, 0.0000, 0.0000, 0.0000},
53087 {0.0000, 0.0000, 0.0000, 0.0000},
53088 {0.0000, 0.0000, 0.0000, 0.0000}},
53089 {
53090 {0.0000, 0.0000, 0.0000, 0.0000},
53091 {0.0000, 0.0000, 0.0000, 0.0000},
53092 {0.2534, 0.3240, 0.2350, 0.1876},
53093 {0.0000, 0.0000, 0.0000, 0.0000}},
53094 {
53095 {0.3145, 0.2598, 0.2456, 0.1800},
53096 {0.2738, 0.3610, 0.1738, 0.1913},
53097 {0.2681, 0.3931, 0.2422, 0.0966},
53098 {0.1787, 0.4868, 0.2454, 0.0891}},
53099 {
53100 {0.2342, 0.2131, 0.3750, 0.1776},
53101 {0.3302, 0.2594, 0.2589, 0.1515},
53102 {0.2346, 0.2860, 0.3047, 0.1748},
53103 {0.1947, 0.3015, 0.2691, 0.2347}},
53104 {
53105 {0.1761, 0.4346, 0.1934, 0.1959},
53106 {0.2410, 0.2432, 0.1455, 0.3702},
53107 {0.2053, 0.2823, 0.3425, 0.1698},
53108 {0.2547, 0.1945, 0.1354, 0.4155}},
53109 {
53110 {0.2088, 0.5015, 0.1558, 0.1339},
53111 {0.2281, 0.2673, 0.3301, 0.1744},
53112 {0.2896, 0.3131, 0.2172, 0.1801},
53113 {0.1247, 0.3737, 0.3924, 0.1092}},
53114 {
53115 {0.2463, 0.1848, 0.4040, 0.1649},
53116 {0.3470, 0.2259, 0.1720, 0.2551},
53117 {0.1814, 0.3642, 0.3202, 0.1342},
53118 {0.1921, 0.3075, 0.2641, 0.2363}},
53119 {
53120 {0.2438, 0.3339, 0.1352, 0.2871},
53121 {0.2112, 0.2365, 0.2580, 0.2943},
53122 {0.2866, 0.2612, 0.2014, 0.2508},
53123 {0.1939, 0.2851, 0.2372, 0.2838}},
53124 {
53125 {0.2422, 0.3558, 0.2834, 0.1186},
53126 {0.2042, 0.4071, 0.2505, 0.1381},
53127 {0.1676, 0.3040, 0.3105, 0.2179},
53128 {0.0846, 0.3883, 0.3237, 0.2034}},
53129 {
53130 {0.3691, 0.1352, 0.4289, 0.0667},
53131 {0.3670, 0.1739, 0.2625, 0.1966},
53132 {0.2871, 0.2421, 0.3501, 0.1207},
53133 {0.0962, 0.4695, 0.2038, 0.2306}},
53134 {
53135 {0.3613, 0.2405, 0.1520, 0.2463},
53136 {0.1963, 0.2649, 0.2016, 0.3372},
53137 {0.3512, 0.1871, 0.2422, 0.2194},
53138 {0.2813, 0.3223, 0.0731, 0.3232}},
53139 {
53140 {0.2279, 0.4248, 0.1817, 0.1656},
53141 {0.0696, 0.4600, 0.1840, 0.2865},
53142 {0.2272, 0.3235, 0.2861, 0.1632},
53143 {0.1263, 0.3297, 0.4379, 0.1061}},
53144 {
53145 {0.2121, 0.2907, 0.2851, 0.2121},
53146 {0.2460, 0.1595, 0.3205, 0.2740},
53147 {0.3086, 0.1012, 0.3406, 0.2495},
53148 {0.0333, 0.3796, 0.4936, 0.0936}},
53149 {
53150 {0.2790, 0.1769, 0.1790, 0.3651},
53151 {0.3300, 0.2533, 0.1391, 0.2775},
53152 {0.2475, 0.3324, 0.2091, 0.2110},
53153 {0.3043, 0.2294, 0.1928, 0.2735}},
53154 {
53155 {0.1169, 0.3155, 0.2791, 0.2885},
53156 {0.1846, 0.4182, 0.2678, 0.1293},
53157 {0.1248, 0.4144, 0.2473, 0.2135},
53158 {0.1269, 0.4571, 0.2865, 0.1295}},
53159 {
53160 {0.2546, 0.3689, 0.2536, 0.1229},
53161 {0.3089, 0.0868, 0.2894, 0.3149},
53162 {0.2698, 0.2670, 0.2545, 0.2087},
53163 {0.0547, 0.2485, 0.4247, 0.2722}},
53164 {
53165 {0.3995, 0.2241, 0.1890, 0.1874},
53166 {0.1604, 0.1416, 0.2229, 0.4751},
53167 {0.1909, 0.3434, 0.3190, 0.1467},
53168 {0.1608, 0.2943, 0.1786, 0.3664}},
53169 {
53170 {0.1775, 0.2747, 0.3696, 0.1782},
53171 {0.1358, 0.3055, 0.3854, 0.1733},
53172 {0.2447, 0.5087, 0.1224, 0.1242},
53173 {0.1438, 0.4266, 0.3072, 0.1224}},
53174 {
53175 {0.1627, 0.0974, 0.4118, 0.3281},
53176 {0.1838, 0.1968, 0.4150, 0.2044},
53177 {0.2821, 0.3388, 0.2265, 0.1526},
53178 {0.2298, 0.2622, 0.3481, 0.1599}},
53179 {
53180 {0.1589, 0.3377, 0.1068, 0.3966},
53181 {0.1448, 0.2640, 0.1991, 0.3921},
53182 {0.2623, 0.2638, 0.2468, 0.2271},
53183 {0.2483, 0.2225, 0.0870, 0.4422}},
53184 {
53185 {0.1676, 0.2674, 0.3502, 0.2149},
53186 {0.2869, 0.1648, 0.3172, 0.2311},
53187 {0.2309, 0.3278, 0.2460, 0.1954},
53188 {0.0843, 0.4759, 0.3083, 0.1315}},
53189 {
53190 {0.2177, 0.3461, 0.2827, 0.1536},
53191 {0.2644, 0.2801, 0.2432, 0.2123},
53192 {0.3032, 0.2705, 0.2794, 0.1469},
53193 {0.0918, 0.2477, 0.4211, 0.2394}},
53194 {
53195 {0.2940, 0.3440, 0.1709, 0.1911},
53196 {0.2849, 0.2552, 0.1622, 0.2977},
53197 {0.2126, 0.3461, 0.2289, 0.2124},
53198 {0.2118, 0.3674, 0.2106, 0.2103}},
53199 {
53200 {0.2716, 0.4124, 0.2267, 0.0893},
53201 {0.2648, 0.3995, 0.2294, 0.1062},
53202 {0.2322, 0.5639, 0.1167, 0.0871},
53203 {0.1235, 0.3910, 0.3895, 0.0961}},
53204 {
53205 {0.2704, 0.1311, 0.3582, 0.2403},
53206 {0.2927, 0.1914, 0.3169, 0.1991},
53207 {0.2836, 0.2110, 0.3216, 0.1838},
53208 {0.1149, 0.2993, 0.2985, 0.2874}},
53209 {
53210 {0.2200, 0.4038, 0.1261, 0.2501},
53211 {0.3295, 0.1951, 0.1472, 0.3282},
53212 {0.4175, 0.2283, 0.1937, 0.1606},
53213 {0.1330, 0.2917, 0.2117, 0.3637}},
53214 {
53215 {0.3180, 0.2422, 0.3007, 0.1391},
53216 {0.1437, 0.4004, 0.2750, 0.1809},
53217 {0.2724, 0.3257, 0.1316, 0.2704},
53218 {0.0866, 0.3950, 0.4140, 0.1045}},
53219 {
53220 {0.0904, 0.2639, 0.4783, 0.1674},
53221 {0.2136, 0.1816, 0.3047, 0.3001},
53222 {0.3622, 0.1731, 0.2678, 0.1969},
53223 {0.1714, 0.5285, 0.2351, 0.0650}},
53224 {
53225 {0.2048, 0.3215, 0.1455, 0.3283},
53226 {0.2737, 0.2293, 0.2309, 0.2661},
53227 {0.3929, 0.1993, 0.1945, 0.2133},
53228 {0.2434, 0.2714, 0.0846, 0.4007}},
53229 {
53230 {0.1373, 0.4092, 0.1774, 0.2761},
53231 {0.1124, 0.3618, 0.2659, 0.2599},
53232 {0.3338, 0.3576, 0.1752, 0.1335},
53233 {0.1333, 0.4369, 0.3506, 0.0792}},
53234 {
53235 {0.1986, 0.2482, 0.3402, 0.2131},
53236 {0.2283, 0.2827, 0.2984, 0.1906},
53237 {0.1133, 0.2969, 0.4082, 0.1816},
53238 {0.1541, 0.4520, 0.2476, 0.1463}},
53239 {
53240 {0.2162, 0.4373, 0.0646, 0.2819},
53241 {0.2209, 0.3065, 0.1444, 0.3283},
53242 {0.3484, 0.2483, 0.2091, 0.1943},
53243 {0.0958, 0.2561, 0.2505, 0.3976}},
53244 {
53245 {0.2591, 0.2180, 0.3534, 0.1695},
53246 {0.2059, 0.3032, 0.3571, 0.1338},
53247 {0.2326, 0.3379, 0.2040, 0.2255},
53248 {0.0381, 0.4681, 0.2585, 0.2353}},
53249 {
53250 {0.2913, 0.1890, 0.3272, 0.1925},
53251 {0.3627, 0.2001, 0.3039, 0.1333},
53252 {0.3411, 0.1852, 0.3108, 0.1629},
53253 {0.1238, 0.4214, 0.2148, 0.2400}},
53254 {
53255 {0.3467, 0.2693, 0.2289, 0.1551},
53256 {0.2161, 0.3317, 0.2865, 0.1656},
53257 {0.1935, 0.3146, 0.1938, 0.2982},
53258 {0.1255, 0.4476, 0.2300, 0.1970}},
53259 {
53260 {0.1234, 0.3672, 0.4119, 0.0976},
53261 {0.1885, 0.3250, 0.2956, 0.1910},
53262 {0.0748, 0.4897, 0.2192, 0.2163},
53263 {0.1667, 0.4397, 0.2793, 0.1143}},
53264 {
53265 {0.1947, 0.2404, 0.4497, 0.1152},
53266 {0.2705, 0.2477, 0.2550, 0.2268},
53267 {0.2095, 0.2856, 0.3600, 0.1449},
53268 {0.0721, 0.3896, 0.4285, 0.1099}},
53269 {
53270 {0.3744, 0.1639, 0.1893, 0.2724},
53271 {0.3031, 0.1402, 0.1869, 0.3698},
53272 {0.2843, 0.2848, 0.2325, 0.1985},
53273 {0.0328, 0.3359, 0.1339, 0.4974}},
53274 {
53275 {0.1298, 0.2508, 0.3581, 0.2614},
53276 {0.1218, 0.4048, 0.2710, 0.2024},
53277 {0.1782, 0.3556, 0.2114, 0.2547},
53278 {0.1808, 0.3808, 0.3121, 0.1263}},
53279 {
53280 {0.2938, 0.2961, 0.2237, 0.1864},
53281 {0.4411, 0.1013, 0.3398, 0.1178},
53282 {0.3224, 0.1763, 0.2855, 0.2158},
53283 {0.3377, 0.2754, 0.3066, 0.0802}},
53284 {
53285 {0.1909, 0.2682, 0.1333, 0.4076},
53286 {0.2474, 0.2353, 0.2081, 0.3092},
53287 {0.3356, 0.3586, 0.1757, 0.1301},
53288 {0.1951, 0.3478, 0.1991, 0.2580}},
53289 {
53290 {0.1201, 0.3541, 0.3446, 0.1811},
53291 {0.2297, 0.3428, 0.2251, 0.2024},
53292 {0.1034, 0.3996, 0.1347, 0.3623},
53293 {0.0595, 0.3781, 0.3372, 0.2253}},
53294 {
53295 {0.2207, 0.1338, 0.3470, 0.2985},
53296 {0.3289, 0.1540, 0.3726, 0.1445},
53297 {0.2320, 0.2731, 0.3345, 0.1604},
53298 {0.1467, 0.4439, 0.3402, 0.0693}},
53299 {
53300 {0.3098, 0.1796, 0.1192, 0.3914},
53301 {0.1359, 0.3420, 0.2251, 0.2970},
53302 {0.1943, 0.1948, 0.3552, 0.2557},
53303 {0.2936, 0.3414, 0.1485, 0.2166}},
53304 {
53305 {0.1857, 0.1769, 0.3896, 0.2478},
53306 {0.1174, 0.3351, 0.3201, 0.2275},
53307 {0.2686, 0.3444, 0.1938, 0.1932},
53308 {0.1332, 0.4461, 0.1722, 0.2485}},
53309 {
53310 {0.1961, 0.2314, 0.3362, 0.2364},
53311 {0.3723, 0.1862, 0.2574, 0.1841},
53312 {0.2852, 0.2613, 0.2778, 0.1757},
53313 {0.1455, 0.3205, 0.3648, 0.1692}},
53314 {
53315 {0.2177, 0.1902, 0.1272, 0.4648},
53316 {0.2172, 0.2328, 0.2048, 0.3452},
53317 {0.2317, 0.3790, 0.1656, 0.2236},
53318 {0.1803, 0.3299, 0.1523, 0.3375}},
53319 {
53320 {0.2423, 0.3014, 0.2367, 0.2196},
53321 {0.1966, 0.2021, 0.2846, 0.3168},
53322 {0.0974, 0.4138, 0.2519, 0.2368},
53323 {0.1024, 0.5154, 0.2680, 0.1142}},
53324 {
53325 {0.2585, 0.1020, 0.4228, 0.2168},
53326 {0.2160, 0.2335, 0.2831, 0.2674},
53327 {0.2827, 0.2769, 0.3513, 0.0890},
53328 {0.1834, 0.3178, 0.4430, 0.0559}},
53329 {
53330 {0.2939, 0.2181, 0.1758, 0.3122},
53331 {0.0890, 0.3272, 0.3033, 0.2804},
53332 {0.1914, 0.3006, 0.3333, 0.1747},
53333 {0.2131, 0.2412, 0.1729, 0.3728}},
53334 {
53335 {0.0850, 0.4182, 0.2265, 0.2703},
53336 {0.2679, 0.3304, 0.1977, 0.2039},
53337 {0.1724, 0.3458, 0.3081, 0.1737},
53338 {0.1268, 0.2508, 0.3838, 0.2386}}},
53339
53340 { /* Splice_Site: F0_AG; Species: Asper */
53341 {
53342 {0.2700, 0.2700, 0.2700, 0.2700},
53343 {0.3048, 0.3048, 0.3048, 0.3048},
53344 {0.1864, 0.1864, 0.1864, 0.1864},
53345 {0.2388, 0.2388, 0.2388, 0.2388}},
53346 {
53347 {0.1088, 0.4295, 0.1949, 0.2668},
53348 {0.0791, 0.4014, 0.2674, 0.2520},
53349 {0.1587, 0.4031, 0.2149, 0.2233},
53350 {0.0977, 0.3669, 0.2140, 0.3215}},
53351 {
53352 {0.3277, 0.1588, 0.1704, 0.3431},
53353 {0.3554, 0.2469, 0.2046, 0.1930},
53354 {0.1318, 0.2798, 0.3312, 0.2573},
53355 {0.1948, 0.2888, 0.3598, 0.1566}},
53356 {
53357 {0.2487, 0.2198, 0.1545, 0.3770},
53358 {0.3922, 0.2670, 0.2037, 0.1371},
53359 {0.3059, 0.3038, 0.2213, 0.1689},
53360 {0.2810, 0.4105, 0.1665, 0.1420}},
53361 {
53362 {0.0944, 0.4275, 0.2857, 0.1924},
53363 {0.2224, 0.3503, 0.1532, 0.2742},
53364 {0.0899, 0.5015, 0.1612, 0.2474},
53365 {0.0814, 0.3281, 0.3120, 0.2785}},
53366 {
53367 {0.1852, 0.1306, 0.2289, 0.4553},
53368 {0.3790, 0.1488, 0.2365, 0.2357},
53369 {0.2099, 0.1818, 0.5319, 0.0764},
53370 {0.1861, 0.2834, 0.3626, 0.1679}},
53371 {
53372 {0.4584, 0.1075, 0.1917, 0.2424},
53373 {0.3857, 0.2458, 0.0875, 0.2810},
53374 {0.3341, 0.2973, 0.1702, 0.1984},
53375 {0.2201, 0.3388, 0.2211, 0.2200}},
53376 {
53377 {0.1700, 0.3189, 0.3647, 0.1463},
53378 {0.1206, 0.3536, 0.3325, 0.1933},
53379 {0.1735, 0.3286, 0.3348, 0.1631},
53380 {0.0000, 0.4891, 0.3374, 0.1735}},
53381 {
53382 {0.3617, 0.0927, 0.3049, 0.2407},
53383 {0.3154, 0.1737, 0.2371, 0.2738},
53384 {0.2726, 0.2067, 0.3521, 0.1686},
53385 {0.1364, 0.2092, 0.2754, 0.3790}},
53386 {
53387 {0.2745, 0.2952, 0.2598, 0.1705},
53388 {0.5137, 0.1666, 0.1894, 0.1304},
53389 {0.2959, 0.3031, 0.2464, 0.1546},
53390 {0.1198, 0.3710, 0.2511, 0.2581}},
53391 {
53392 {0.1403, 0.3497, 0.3444, 0.1656},
53393 {0.1400, 0.3401, 0.2606, 0.2593},
53394 {0.1500, 0.4611, 0.1698, 0.2192},
53395 {0.0597, 0.7101, 0.1301, 0.1001}},
53396 {
53397 {0.2812, 0.3698, 0.1272, 0.2218},
53398 {0.3511, 0.2679, 0.1959, 0.1851},
53399 {0.3169, 0.2190, 0.3915, 0.0725},
53400 {0.2793, 0.2057, 0.3047, 0.2103}},
53401 {
53402 {0.2967, 0.3871, 0.1665, 0.1497},
53403 {0.3437, 0.2921, 0.1108, 0.2535},
53404 {0.3454, 0.2314, 0.2189, 0.2043},
53405 {0.2125, 0.3105, 0.2316, 0.2455}},
53406 {
53407 {0.1181, 0.4028, 0.2294, 0.2497},
53408 {0.1644, 0.3806, 0.1117, 0.3433},
53409 {0.1638, 0.4189, 0.1926, 0.2247},
53410 {0.0291, 0.5186, 0.3357, 0.1166}},
53411 {
53412 {0.2768, 0.3448, 0.1889, 0.1895},
53413 {0.3064, 0.2091, 0.3220, 0.1626},
53414 {0.1758, 0.2699, 0.3879, 0.1664},
53415 {0.1195, 0.2117, 0.4274, 0.2414}},
53416 {
53417 {0.5094, 0.2854, 0.1001, 0.1051},
53418 {0.4387, 0.2742, 0.0463, 0.2408},
53419 {0.2726, 0.2696, 0.2708, 0.1870},
53420 {0.0939, 0.5360, 0.1546, 0.2155}},
53421 {
53422 {0.0517, 0.2321, 0.5210, 0.1952},
53423 {0.1617, 0.4010, 0.1646, 0.2727},
53424 {0.1771, 0.5313, 0.1437, 0.1479},
53425 {0.0943, 0.5591, 0.0962, 0.2504}},
53426 {
53427 {0.1528, 0.2520, 0.3441, 0.2511},
53428 {0.3278, 0.1625, 0.3001, 0.2096},
53429 {0.3271, 0.2027, 0.3218, 0.1484},
53430 {0.2971, 0.2839, 0.1837, 0.2354}},
53431 {
53432 {0.4094, 0.2342, 0.1609, 0.1955},
53433 {0.2803, 0.3831, 0.0864, 0.2503},
53434 {0.2650, 0.3282, 0.2800, 0.1267},
53435 {0.2257, 0.4531, 0.2025, 0.1187}},
53436 {
53437 {0.1754, 0.2509, 0.3291, 0.2445},
53438 {0.1039, 0.3981, 0.2601, 0.2378},
53439 {0.2557, 0.4082, 0.2209, 0.1153},
53440 {0.0348, 0.3486, 0.4437, 0.1729}},
53441 {
53442 {0.3360, 0.1230, 0.2466, 0.2943},
53443 {0.3719, 0.1898, 0.2037, 0.2346},
53444 {0.3070, 0.2526, 0.2346, 0.2058},
53445 {0.2510, 0.2163, 0.3349, 0.1978}},
53446 {
53447 {0.3479, 0.2942, 0.1575, 0.2005},
53448 {0.3477, 0.2330, 0.1397, 0.2796},
53449 {0.2853, 0.2920, 0.1884, 0.2343},
53450 {0.1816, 0.3540, 0.1798, 0.2845}},
53451 {
53452 {0.2142, 0.3356, 0.2438, 0.2065},
53453 {0.1179, 0.3804, 0.1801, 0.3216},
53454 {0.2427, 0.5465, 0.1387, 0.0721},
53455 {0.0000, 0.4803, 0.3089, 0.2108}},
53456 {
53457 {0.3621, 0.2141, 0.2522, 0.1715},
53458 {0.3350, 0.1552, 0.2743, 0.2354},
53459 {0.4176, 0.1766, 0.2144, 0.1914},
53460 {0.1623, 0.1373, 0.4355, 0.2649}},
53461 {
53462 {0.3860, 0.2335, 0.1642, 0.2163},
53463 {0.1723, 0.3959, 0.1420, 0.2897},
53464 {0.2354, 0.4045, 0.2591, 0.1010},
53465 {0.1865, 0.3177, 0.2579, 0.2378}},
53466 {
53467 {0.1544, 0.3602, 0.2417, 0.2437},
53468 {0.1974, 0.3044, 0.2505, 0.2477},
53469 {0.0814, 0.6034, 0.1688, 0.1464},
53470 {0.0000, 0.5029, 0.2993, 0.1978}},
53471 {
53472 {0.1389, 0.3399, 0.3285, 0.1927},
53473 {0.3303, 0.2689, 0.1836, 0.2171},
53474 {0.1449, 0.2915, 0.2880, 0.2756},
53475 {0.3013, 0.2133, 0.4854, 0.0000}},
53476 {
53477 {0.3887, 0.1609, 0.2656, 0.1848},
53478 {0.2865, 0.1509, 0.2835, 0.2791},
53479 {0.2632, 0.2518, 0.2616, 0.2234},
53480 {0.2616, 0.2513, 0.1907, 0.2964}},
53481 {
53482 {0.1213, 0.2354, 0.4283, 0.2150},
53483 {0.1433, 0.4537, 0.1447, 0.2584},
53484 {0.0948, 0.4502, 0.2957, 0.1592},
53485 {0.0272, 0.4916, 0.3603, 0.1209}},
53486 {
53487 {0.1870, 0.1153, 0.4423, 0.2554},
53488 {0.3223, 0.1470, 0.1925, 0.3382},
53489 {0.1840, 0.2932, 0.1601, 0.3627},
53490 {0.0263, 0.4337, 0.4102, 0.1298}},
53491 {
53492 {0.3302, 0.3069, 0.1708, 0.1921},
53493 {0.2845, 0.3092, 0.2133, 0.1930},
53494 {0.4514, 0.2845, 0.0733, 0.1908},
53495 {0.2780, 0.3326, 0.2325, 0.1569}},
53496 {
53497 {0.1766, 0.2946, 0.3485, 0.1802},
53498 {0.1524, 0.4284, 0.1511, 0.2681},
53499 {0.2716, 0.2285, 0.3082, 0.1917},
53500 {0.0000, 0.6242, 0.2222, 0.1535}},
53501 {
53502 {0.1597, 0.3758, 0.2695, 0.1949},
53503 {0.3311, 0.2013, 0.2264, 0.2412},
53504 {0.1335, 0.1546, 0.5495, 0.1624},
53505 {0.3076, 0.1689, 0.3826, 0.1409}},
53506 {
53507 {0.2846, 0.2790, 0.1845, 0.2519},
53508 {0.1996, 0.2518, 0.1897, 0.3589},
53509 {0.3018, 0.2377, 0.2391, 0.2214},
53510 {0.2104, 0.3300, 0.1793, 0.2804}},
53511 {
53512 {0.0461, 0.2895, 0.3248, 0.3396},
53513 {0.1700, 0.3261, 0.2824, 0.2215},
53514 {0.1349, 0.4111, 0.2268, 0.2273},
53515 {0.0000, 0.4196, 0.3014, 0.2790}},
53516 {
53517 {0.4018, 0.1341, 0.1982, 0.2658},
53518 {0.1955, 0.2614, 0.2960, 0.2470},
53519 {0.1195, 0.2256, 0.4540, 0.2008},
53520 {0.2859, 0.2558, 0.3455, 0.1128}},
53521 {
53522 {0.4070, 0.2422, 0.1596, 0.1911},
53523 {0.4424, 0.2205, 0.1446, 0.1925},
53524 {0.3285, 0.2354, 0.2347, 0.2014},
53525 {0.2038, 0.3279, 0.0552, 0.4131}},
53526 {
53527 {0.1527, 0.3588, 0.2846, 0.2039},
53528 {0.1389, 0.3479, 0.2085, 0.3047},
53529 {0.1122, 0.3206, 0.3542, 0.2130},
53530 {0.0247, 0.3796, 0.3689, 0.2268}},
53531 {
53532 {0.2073, 0.2644, 0.3125, 0.2158},
53533 {0.4410, 0.1317, 0.3470, 0.0803},
53534 {0.3329, 0.3540, 0.1765, 0.1365},
53535 {0.3211, 0.1489, 0.4026, 0.1274}},
53536 {
53537 {0.2968, 0.3409, 0.0658, 0.2965},
53538 {0.2427, 0.1340, 0.3736, 0.2497},
53539 {0.2259, 0.2546, 0.2315, 0.2880},
53540 {0.0483, 0.4855, 0.2298, 0.2364}},
53541 {
53542 {0.1783, 0.2553, 0.3463, 0.2201},
53543 {0.0803, 0.3869, 0.3053, 0.2275},
53544 {0.1771, 0.4511, 0.2271, 0.1446},
53545 {0.0204, 0.4899, 0.2743, 0.2153}},
53546 {
53547 {0.2170, 0.2244, 0.3333, 0.2254},
53548 {0.2769, 0.2067, 0.2500, 0.2664},
53549 {0.3202, 0.1644, 0.4364, 0.0790},
53550 {0.2291, 0.2519, 0.3131, 0.2060}},
53551 {
53552 {0.3588, 0.2120, 0.1719, 0.2573},
53553 {0.3168, 0.2250, 0.1182, 0.3401},
53554 {0.2377, 0.2761, 0.2857, 0.2005},
53555 {0.1460, 0.3651, 0.2198, 0.2690}},
53556 {
53557 {0.1026, 0.3047, 0.4146, 0.1781},
53558 {0.1318, 0.4337, 0.2397, 0.1948},
53559 {0.1664, 0.3400, 0.3158, 0.1779},
53560 {0.0000, 0.5682, 0.2784, 0.1534}},
53561 {
53562 {0.1150, 0.2345, 0.3448, 0.3058},
53563 {0.2217, 0.2107, 0.3368, 0.2308},
53564 {0.1843, 0.2104, 0.3231, 0.2822},
53565 {0.1709, 0.3633, 0.3338, 0.1321}},
53566 {
53567 {0.1881, 0.4220, 0.1493, 0.2406},
53568 {0.2705, 0.2943, 0.1241, 0.3111},
53569 {0.2670, 0.2459, 0.3651, 0.1220},
53570 {0.0508, 0.3988, 0.2447, 0.3056}},
53571 {
53572 {0.2337, 0.2400, 0.3452, 0.1811},
53573 {0.1438, 0.3403, 0.2995, 0.2163},
53574 {0.1899, 0.2676, 0.2226, 0.3199},
53575 {0.0488, 0.4418, 0.3037, 0.2057}},
53576 {
53577 {0.2711, 0.2276, 0.3066, 0.1946},
53578 {0.3380, 0.1253, 0.3554, 0.1813},
53579 {0.2767, 0.2018, 0.3219, 0.1996},
53580 {0.1514, 0.1543, 0.4630, 0.2313}},
53581 {
53582 {0.2347, 0.3504, 0.1560, 0.2590},
53583 {0.2748, 0.3499, 0.1748, 0.2004},
53584 {0.3564, 0.2260, 0.3239, 0.0937},
53585 {0.0866, 0.4660, 0.2666, 0.1808}},
53586 {
53587 {0.1585, 0.3811, 0.3509, 0.1094},
53588 {0.1946, 0.5201, 0.1612, 0.1241},
53589 {0.2443, 0.4684, 0.1475, 0.1397},
53590 {0.0000, 0.8681, 0.0000, 0.1319}},
53591 {
53592 {1.0000, 0.0000, 0.0000, 0.0000},
53593 {1.0000, 0.0000, 0.0000, 0.0000},
53594 {1.0000, 0.0000, 0.0000, 0.0000},
53595 {1.0000, 0.0000, 0.0000, 0.0000}},
53596 {
53597 {0.0000, 0.0000, 1.0000, 0.0000},
53598 {0.0000, 0.0000, 0.0000, 0.0000},
53599 {0.0000, 0.0000, 0.0000, 0.0000},
53600 {0.0000, 0.0000, 0.0000, 0.0000}},
53601 {
53602 {0.0000, 0.0000, 0.0000, 0.0000},
53603 {0.0000, 0.0000, 0.0000, 0.0000},
53604 {0.1237, 0.5171, 0.0928, 0.2665},
53605 {0.0000, 0.0000, 0.0000, 0.0000}},
53606 {
53607 {0.2795, 0.3951, 0.1780, 0.1474},
53608 {0.3149, 0.1787, 0.2363, 0.2702},
53609 {0.3149, 0.1214, 0.3142, 0.2495},
53610 {0.2160, 0.2447, 0.3825, 0.1568}},
53611 {
53612 {0.2517, 0.4454, 0.1834, 0.1195},
53613 {0.2918, 0.2428, 0.2139, 0.2515},
53614 {0.3198, 0.3126, 0.2422, 0.1254},
53615 {0.1876, 0.3445, 0.2907, 0.1772}},
53616 {
53617 {0.2192, 0.2494, 0.3345, 0.1969},
53618 {0.1545, 0.4231, 0.1847, 0.2377},
53619 {0.1808, 0.3774, 0.1809, 0.2609},
53620 {0.0753, 0.3905, 0.3196, 0.2146}},
53621 {
53622 {0.2191, 0.1805, 0.2821, 0.3183},
53623 {0.3443, 0.1123, 0.3278, 0.2156},
53624 {0.2397, 0.2073, 0.3161, 0.2369},
53625 {0.2060, 0.1573, 0.4845, 0.1522}},
53626 {
53627 {0.3789, 0.3102, 0.1131, 0.1978},
53628 {0.2239, 0.4010, 0.2636, 0.1114},
53629 {0.3146, 0.3044, 0.2305, 0.1505},
53630 {0.0769, 0.3813, 0.1827, 0.3591}},
53631 {
53632 {0.1799, 0.3065, 0.2694, 0.2442},
53633 {0.1757, 0.4182, 0.2021, 0.2040},
53634 {0.3298, 0.2694, 0.2133, 0.1875},
53635 {0.0600, 0.5736, 0.1686, 0.1978}},
53636 {
53637 {0.3536, 0.1252, 0.1940, 0.3271},
53638 {0.2213, 0.1819, 0.2926, 0.3042},
53639 {0.2469, 0.2438, 0.3517, 0.1576},
53640 {0.2509, 0.2468, 0.4192, 0.0831}},
53641 {
53642 {0.2314, 0.3638, 0.1541, 0.2507},
53643 {0.3501, 0.2015, 0.2133, 0.2352},
53644 {0.2561, 0.3183, 0.2805, 0.1451},
53645 {0.1210, 0.4114, 0.2284, 0.2392}},
53646 {
53647 {0.1444, 0.3683, 0.3222, 0.1652},
53648 {0.1060, 0.3973, 0.2806, 0.2160},
53649 {0.1829, 0.3358, 0.2189, 0.2624},
53650 {0.0284, 0.3671, 0.3265, 0.2780}},
53651 {
53652 {0.3957, 0.1550, 0.3004, 0.1489},
53653 {0.3004, 0.1591, 0.2894, 0.2511},
53654 {0.3572, 0.1854, 0.2440, 0.2134},
53655 {0.2089, 0.2054, 0.3826, 0.2031}},
53656 {
53657 {0.2510, 0.3477, 0.0937, 0.3075},
53658 {0.3001, 0.3348, 0.1344, 0.2308},
53659 {0.2650, 0.2737, 0.3266, 0.1348},
53660 {0.2668, 0.3028, 0.2717, 0.1587}},
53661 {
53662 {0.0461, 0.3983, 0.3296, 0.2260},
53663 {0.1104, 0.3399, 0.2957, 0.2540},
53664 {0.0602, 0.4938, 0.2218, 0.2242},
53665 {0.0546, 0.3631, 0.1945, 0.3877}},
53666 {
53667 {0.0819, 0.0830, 0.5831, 0.2520},
53668 {0.3684, 0.1652, 0.2579, 0.2085},
53669 {0.2158, 0.3118, 0.3432, 0.1292},
53670 {0.1532, 0.2611, 0.4775, 0.1082}},
53671 {
53672 {0.2742, 0.2537, 0.2114, 0.2606},
53673 {0.2943, 0.2853, 0.2144, 0.2059},
53674 {0.3495, 0.2155, 0.2422, 0.1928},
53675 {0.1736, 0.3957, 0.1827, 0.2480}},
53676 {
53677 {0.0419, 0.3589, 0.3751, 0.2241},
53678 {0.1302, 0.3258, 0.2597, 0.2843},
53679 {0.1333, 0.3721, 0.2725, 0.2221},
53680 {0.0000, 0.4234, 0.2595, 0.3171}},
53681 {
53682 {0.3827, 0.3080, 0.2340, 0.0753},
53683 {0.3319, 0.1776, 0.3635, 0.1269},
53684 {0.1758, 0.2545, 0.3515, 0.2181},
53685 {0.1757, 0.2522, 0.4331, 0.1390}},
53686 {
53687 {0.1747, 0.3062, 0.2079, 0.3112},
53688 {0.2336, 0.1771, 0.2297, 0.3597},
53689 {0.3972, 0.2073, 0.2157, 0.1798},
53690 {0.1930, 0.3926, 0.2279, 0.1866}},
53691 {
53692 {0.1518, 0.3794, 0.2692, 0.1996},
53693 {0.1166, 0.3018, 0.2960, 0.2856},
53694 {0.1587, 0.4961, 0.1331, 0.2121},
53695 {0.0475, 0.4433, 0.2810, 0.2282}},
53696 {
53697 {0.1486, 0.2046, 0.2493, 0.3975},
53698 {0.3292, 0.1896, 0.2810, 0.2002},
53699 {0.2262, 0.1610, 0.3607, 0.2521},
53700 {0.2497, 0.2062, 0.3098, 0.2343}},
53701 {
53702 {0.2802, 0.1926, 0.2845, 0.2426},
53703 {0.2519, 0.1244, 0.2836, 0.3401},
53704 {0.3371, 0.3320, 0.2519, 0.0789},
53705 {0.1664, 0.4323, 0.1398, 0.2615}},
53706 {
53707 {0.2054, 0.3774, 0.2635, 0.1537},
53708 {0.1666, 0.4335, 0.2138, 0.1861},
53709 {0.1267, 0.2920, 0.2887, 0.2926},
53710 {0.0802, 0.4872, 0.2952, 0.1375}},
53711 {
53712 {0.0392, 0.2064, 0.3985, 0.3559},
53713 {0.3833, 0.1731, 0.2394, 0.2043},
53714 {0.2528, 0.1954, 0.3152, 0.2366},
53715 {0.1492, 0.3964, 0.3005, 0.1538}},
53716 {
53717 {0.3440, 0.2813, 0.2345, 0.1402},
53718 {0.3360, 0.3315, 0.0758, 0.2566},
53719 {0.3153, 0.3020, 0.2215, 0.1612},
53720 {0.3012, 0.3353, 0.1834, 0.1801}},
53721 {
53722 {0.2144, 0.3391, 0.3594, 0.0871},
53723 {0.1490, 0.4589, 0.2239, 0.1682},
53724 {0.0939, 0.4527, 0.2286, 0.2249},
53725 {0.0292, 0.4185, 0.2927, 0.2595}},
53726 {
53727 {0.2069, 0.2912, 0.2120, 0.2898},
53728 {0.4178, 0.1397, 0.2714, 0.1711},
53729 {0.2285, 0.2959, 0.3313, 0.1443},
53730 {0.2440, 0.3448, 0.3097, 0.1014}},
53731 {
53732 {0.4028, 0.2322, 0.1555, 0.2095},
53733 {0.3393, 0.2420, 0.2741, 0.1446},
53734 {0.3552, 0.3649, 0.1406, 0.1394},
53735 {0.1401, 0.3467, 0.1351, 0.3780}},
53736 {
53737 {0.1773, 0.3414, 0.3570, 0.1242},
53738 {0.1011, 0.3401, 0.2614, 0.2974},
53739 {0.2639, 0.2026, 0.2720, 0.2614},
53740 {0.0271, 0.5776, 0.1709, 0.2244}},
53741 {
53742 {0.2093, 0.1638, 0.2957, 0.3312},
53743 {0.3353, 0.2131, 0.3365, 0.1151},
53744 {0.1935, 0.2510, 0.2575, 0.2980},
53745 {0.1862, 0.1621, 0.4665, 0.1852}},
53746 {
53747 {0.3338, 0.3156, 0.1659, 0.1847},
53748 {0.2835, 0.2581, 0.2547, 0.2037},
53749 {0.4190, 0.1898, 0.2237, 0.1676},
53750 {0.0841, 0.3907, 0.2196, 0.3056}},
53751 {
53752 {0.1352, 0.2548, 0.4093, 0.2007},
53753 {0.2127, 0.3158, 0.2553, 0.2161},
53754 {0.1694, 0.3212, 0.2115, 0.2979},
53755 {0.0000, 0.5321, 0.2758, 0.1920}},
53756 {
53757 {0.1721, 0.2629, 0.3517, 0.2133},
53758 {0.3441, 0.1848, 0.2164, 0.2547},
53759 {0.2796, 0.2124, 0.2921, 0.2159},
53760 {0.1580, 0.3077, 0.3738, 0.1605}},
53761 {
53762 {0.4069, 0.1629, 0.2952, 0.1351},
53763 {0.2022, 0.3255, 0.1259, 0.3465},
53764 {0.2224, 0.3128, 0.1770, 0.2877},
53765 {0.3273, 0.2704, 0.0806, 0.3217}},
53766 {
53767 {0.1241, 0.3321, 0.3390, 0.2049},
53768 {0.1551, 0.4619, 0.1256, 0.2574},
53769 {0.2694, 0.3640, 0.3333, 0.0333},
53770 {0.0839, 0.3710, 0.1951, 0.3499}},
53771 {
53772 {0.2812, 0.1205, 0.2793, 0.3190},
53773 {0.2609, 0.1837, 0.2473, 0.3080},
53774 {0.2124, 0.1860, 0.3834, 0.2182},
53775 {0.1822, 0.3140, 0.2989, 0.2049}},
53776 {
53777 {0.2901, 0.3770, 0.1813, 0.1516},
53778 {0.2254, 0.3250, 0.1403, 0.3093},
53779 {0.2672, 0.2582, 0.3373, 0.1373},
53780 {0.1777, 0.4399, 0.1793, 0.2032}},
53781 {
53782 {0.1221, 0.2597, 0.3855, 0.2327},
53783 {0.0688, 0.3057, 0.3418, 0.2837},
53784 {0.1857, 0.2943, 0.1616, 0.3583},
53785 {0.0000, 0.6052, 0.1826, 0.2122}},
53786 {
53787 {0.4341, 0.1785, 0.0000, 0.3874},
53788 {0.3584, 0.1178, 0.2729, 0.2508},
53789 {0.3105, 0.1428, 0.2981, 0.2486},
53790 {0.3003, 0.2114, 0.4008, 0.0875}},
53791 {
53792 {0.2211, 0.2575, 0.2270, 0.2944},
53793 {0.1804, 0.3390, 0.2169, 0.2637},
53794 {0.2883, 0.3395, 0.2440, 0.1282},
53795 {0.1354, 0.3758, 0.1694, 0.3194}},
53796 {
53797 {0.1636, 0.3544, 0.2707, 0.2114},
53798 {0.2014, 0.3567, 0.2041, 0.2377},
53799 {0.1094, 0.3751, 0.1376, 0.3778},
53800 {0.0501, 0.4993, 0.2610, 0.1895}},
53801 {
53802 {0.0871, 0.3519, 0.3426, 0.2184},
53803 {0.3251, 0.1776, 0.3240, 0.1733},
53804 {0.0828, 0.2716, 0.3790, 0.2666},
53805 {0.2569, 0.1816, 0.4949, 0.0665}},
53806 {
53807 {0.2893, 0.2899, 0.1852, 0.2356},
53808 {0.1585, 0.4403, 0.1819, 0.2194},
53809 {0.2672, 0.2569, 0.2785, 0.1974},
53810 {0.2262, 0.3074, 0.1967, 0.2698}},
53811 {
53812 {0.0721, 0.4141, 0.2789, 0.2349},
53813 {0.1492, 0.3117, 0.2416, 0.2975},
53814 {0.2144, 0.3672, 0.2113, 0.2071},
53815 {0.0000, 0.4464, 0.2862, 0.2674}},
53816 {
53817 {0.3742, 0.1539, 0.2674, 0.2046},
53818 {0.3348, 0.2576, 0.2660, 0.1417},
53819 {0.1875, 0.1884, 0.4316, 0.1924},
53820 {0.2689, 0.2312, 0.2224, 0.2776}},
53821 {
53822 {0.3011, 0.2854, 0.1446, 0.2689},
53823 {0.2400, 0.1309, 0.3170, 0.3121},
53824 {0.3948, 0.3087, 0.1198, 0.1766},
53825 {0.2678, 0.4530, 0.1240, 0.1552}},
53826 {
53827 {0.1508, 0.3775, 0.2651, 0.2066},
53828 {0.0809, 0.3266, 0.1830, 0.4095},
53829 {0.1687, 0.4490, 0.2439, 0.1385},
53830 {0.0760, 0.5204, 0.2779, 0.1257}},
53831 {
53832 {0.3028, 0.1955, 0.3043, 0.1974},
53833 {0.2611, 0.2081, 0.2304, 0.3005},
53834 {0.1203, 0.2721, 0.3136, 0.2940},
53835 {0.2472, 0.2671, 0.3854, 0.1002}},
53836 {
53837 {0.1765, 0.3386, 0.2032, 0.2816},
53838 {0.3769, 0.1508, 0.2472, 0.2251},
53839 {0.3192, 0.2654, 0.1741, 0.2412},
53840 {0.2405, 0.4356, 0.0973, 0.2266}},
53841 {
53842 {0.2100, 0.2431, 0.2507, 0.2962},
53843 {0.2170, 0.4662, 0.1595, 0.1573},
53844 {0.2237, 0.2789, 0.1639, 0.3335},
53845 {0.1179, 0.3155, 0.3681, 0.1985}},
53846 {
53847 {0.3296, 0.2156, 0.2360, 0.2187},
53848 {0.3283, 0.1404, 0.2842, 0.2471},
53849 {0.0984, 0.4014, 0.3725, 0.1277},
53850 {0.2728, 0.2499, 0.3759, 0.1014}}},
53851
53852 { /* Splice_Site: Fi_AG; Species: Asper */
53853 {
53854 {0.2564, 0.2564, 0.2564, 0.2564},
53855 {0.2303, 0.2303, 0.2303, 0.2303},
53856 {0.2518, 0.2518, 0.2518, 0.2518},
53857 {0.2615, 0.2615, 0.2615, 0.2615}},
53858 {
53859 {0.2594, 0.2785, 0.2182, 0.2440},
53860 {0.2665, 0.1486, 0.1561, 0.4288},
53861 {0.2885, 0.2537, 0.2636, 0.1942},
53862 {0.1891, 0.3040, 0.2113, 0.2956}},
53863 {
53864 {0.2671, 0.1993, 0.2121, 0.3214},
53865 {0.1989, 0.2852, 0.2472, 0.2687},
53866 {0.2270, 0.2278, 0.2946, 0.2506},
53867 {0.2941, 0.2798, 0.2774, 0.1487}},
53868 {
53869 {0.4070, 0.2688, 0.1687, 0.1555},
53870 {0.2339, 0.2659, 0.2378, 0.2624},
53871 {0.2639, 0.3579, 0.1868, 0.1915},
53872 {0.3433, 0.2039, 0.2348, 0.2180}},
53873 {
53874 {0.3118, 0.2315, 0.2126, 0.2441},
53875 {0.2920, 0.2752, 0.1611, 0.2717},
53876 {0.2900, 0.1489, 0.2369, 0.3242},
53877 {0.1315, 0.2326, 0.2849, 0.3511}},
53878 {
53879 {0.4212, 0.1861, 0.2060, 0.1867},
53880 {0.1367, 0.3547, 0.2546, 0.2539},
53881 {0.3485, 0.3103, 0.1998, 0.1414},
53882 {0.2063, 0.1863, 0.3049, 0.3025}},
53883 {
53884 {0.3144, 0.3065, 0.1230, 0.2561},
53885 {0.3237, 0.2128, 0.1385, 0.3250},
53886 {0.3566, 0.3233, 0.1599, 0.1601},
53887 {0.2088, 0.2372, 0.2941, 0.2600}},
53888 {
53889 {0.2431, 0.1927, 0.2972, 0.2670},
53890 {0.2464, 0.1960, 0.1956, 0.3620},
53891 {0.3042, 0.1438, 0.2807, 0.2713},
53892 {0.2173, 0.1966, 0.2810, 0.3050}},
53893 {
53894 {0.3340, 0.2180, 0.1601, 0.2879},
53895 {0.2164, 0.2556, 0.1690, 0.3590},
53896 {0.2696, 0.1483, 0.3099, 0.2723},
53897 {0.2402, 0.2647, 0.1864, 0.3086}},
53898 {
53899 {0.4046, 0.1000, 0.1332, 0.3622},
53900 {0.1818, 0.3058, 0.1976, 0.3148},
53901 {0.1672, 0.4073, 0.1723, 0.2531},
53902 {0.2457, 0.2979, 0.2656, 0.1908}},
53903 {
53904 {0.3125, 0.2391, 0.2217, 0.2267},
53905 {0.2966, 0.1476, 0.1332, 0.4226},
53906 {0.3020, 0.1844, 0.3323, 0.1814},
53907 {0.2561, 0.1439, 0.2246, 0.3753}},
53908 {
53909 {0.2625, 0.3100, 0.1392, 0.2883},
53910 {0.2208, 0.2252, 0.2796, 0.2744},
53911 {0.2373, 0.2811, 0.2963, 0.1853},
53912 {0.1442, 0.2601, 0.2956, 0.3001}},
53913 {
53914 {0.3128, 0.1462, 0.2865, 0.2545},
53915 {0.3618, 0.2777, 0.1488, 0.2116},
53916 {0.2712, 0.1824, 0.2338, 0.3125},
53917 {0.2182, 0.2648, 0.2198, 0.2971}},
53918 {
53919 {0.3429, 0.1515, 0.2618, 0.2438},
53920 {0.2667, 0.2525, 0.1986, 0.2822},
53921 {0.1215, 0.3630, 0.2056, 0.3099},
53922 {0.2595, 0.2615, 0.2167, 0.2623}},
53923 {
53924 {0.2603, 0.2290, 0.1954, 0.3153},
53925 {0.2492, 0.2672, 0.1374, 0.3463},
53926 {0.2441, 0.2395, 0.2381, 0.2783},
53927 {0.1616, 0.2477, 0.2138, 0.3770}},
53928 {
53929 {0.2515, 0.2590, 0.1688, 0.3207},
53930 {0.3276, 0.1497, 0.1672, 0.3554},
53931 {0.2290, 0.3356, 0.1604, 0.2750},
53932 {0.1067, 0.3321, 0.2407, 0.3205}},
53933 {
53934 {0.2257, 0.3282, 0.2220, 0.2241},
53935 {0.2272, 0.2277, 0.1022, 0.4429},
53936 {0.2046, 0.1880, 0.3553, 0.2520},
53937 {0.2076, 0.2812, 0.2655, 0.2456}},
53938 {
53939 {0.3064, 0.1484, 0.2622, 0.2829},
53940 {0.2892, 0.2814, 0.1906, 0.2387},
53941 {0.2497, 0.2163, 0.2569, 0.2770},
53942 {0.2744, 0.1985, 0.1727, 0.3544}},
53943 {
53944 {0.3160, 0.2224, 0.2876, 0.1741},
53945 {0.2972, 0.2993, 0.1294, 0.2742},
53946 {0.3302, 0.2238, 0.2433, 0.2027},
53947 {0.1923, 0.2159, 0.2411, 0.3508}},
53948 {
53949 {0.2790, 0.2057, 0.2549, 0.2603},
53950 {0.1702, 0.2807, 0.2512, 0.2979},
53951 {0.3091, 0.1740, 0.3042, 0.2127},
53952 {0.2795, 0.2125, 0.1953, 0.3127}},
53953 {
53954 {0.3627, 0.1159, 0.1689, 0.3525},
53955 {0.2854, 0.2867, 0.1398, 0.2881},
53956 {0.2852, 0.2171, 0.2478, 0.2499},
53957 {0.2437, 0.2186, 0.2749, 0.2628}},
53958 {
53959 {0.2996, 0.1937, 0.2459, 0.2608},
53960 {0.2650, 0.3059, 0.2806, 0.1485},
53961 {0.2753, 0.2013, 0.2517, 0.2717},
53962 {0.3018, 0.2353, 0.2612, 0.2017}},
53963 {
53964 {0.2904, 0.1204, 0.2183, 0.3708},
53965 {0.2933, 0.2505, 0.1752, 0.2810},
53966 {0.1702, 0.2440, 0.2766, 0.3091},
53967 {0.2379, 0.2988, 0.1621, 0.3012}},
53968 {
53969 {0.4135, 0.1099, 0.2049, 0.2717},
53970 {0.2372, 0.2614, 0.1416, 0.3597},
53971 {0.2749, 0.2153, 0.1717, 0.3381},
53972 {0.2224, 0.1229, 0.3505, 0.3042}},
53973 {
53974 {0.3887, 0.1885, 0.2491, 0.1737},
53975 {0.3104, 0.1009, 0.1626, 0.4262},
53976 {0.2835, 0.1531, 0.3134, 0.2500},
53977 {0.1991, 0.2060, 0.2237, 0.3712}},
53978 {
53979 {0.2728, 0.1965, 0.1970, 0.3336},
53980 {0.2836, 0.3087, 0.1289, 0.2787},
53981 {0.2278, 0.1682, 0.3828, 0.2212},
53982 {0.2384, 0.1385, 0.2284, 0.3947}},
53983 {
53984 {0.2820, 0.1953, 0.2827, 0.2400},
53985 {0.2984, 0.2828, 0.1640, 0.2548},
53986 {0.3530, 0.2414, 0.2215, 0.1841},
53987 {0.2962, 0.1954, 0.2230, 0.2854}},
53988 {
53989 {0.2900, 0.1308, 0.3366, 0.2426},
53990 {0.2446, 0.2727, 0.1557, 0.3271},
53991 {0.2788, 0.1730, 0.1748, 0.3734},
53992 {0.2702, 0.2325, 0.2187, 0.2786}},
53993 {
53994 {0.3607, 0.1834, 0.1998, 0.2560},
53995 {0.1827, 0.3082, 0.2498, 0.2592},
53996 {0.2136, 0.3327, 0.2293, 0.2244},
53997 {0.2406, 0.2523, 0.2565, 0.2507}},
53998 {
53999 {0.4032, 0.1630, 0.1589, 0.2749},
54000 {0.3689, 0.2649, 0.1562, 0.2100},
54001 {0.2263, 0.1516, 0.3361, 0.2860},
54002 {0.2123, 0.3159, 0.1414, 0.3304}},
54003 {
54004 {0.3095, 0.1987, 0.2307, 0.2611},
54005 {0.2742, 0.3135, 0.0368, 0.3755},
54006 {0.2498, 0.1624, 0.2620, 0.3257},
54007 {0.2446, 0.2964, 0.1905, 0.2684}},
54008 {
54009 {0.2318, 0.3069, 0.1790, 0.2823},
54010 {0.3261, 0.1815, 0.1438, 0.3486},
54011 {0.1708, 0.1713, 0.2441, 0.4138},
54012 {0.2892, 0.1942, 0.2229, 0.2936}},
54013 {
54014 {0.2432, 0.1357, 0.3174, 0.3037},
54015 {0.2088, 0.3691, 0.1775, 0.2446},
54016 {0.2276, 0.2258, 0.2273, 0.3193},
54017 {0.3267, 0.2314, 0.1804, 0.2615}},
54018 {
54019 {0.2606, 0.2396, 0.2274, 0.2725},
54020 {0.2628, 0.2231, 0.1887, 0.3254},
54021 {0.2978, 0.2353, 0.2132, 0.2538},
54022 {0.2272, 0.2350, 0.2831, 0.2547}},
54023 {
54024 {0.2131, 0.2520, 0.2655, 0.2694},
54025 {0.2651, 0.3271, 0.1469, 0.2609},
54026 {0.2808, 0.1961, 0.2926, 0.2304},
54027 {0.1740, 0.3191, 0.1296, 0.3773}},
54028 {
54029 {0.2340, 0.2919, 0.2207, 0.2534},
54030 {0.2101, 0.2408, 0.1577, 0.3914},
54031 {0.2788, 0.1685, 0.2180, 0.3347},
54032 {0.2832, 0.2874, 0.1834, 0.2460}},
54033 {
54034 {0.1993, 0.2158, 0.2846, 0.3003},
54035 {0.1592, 0.3882, 0.1168, 0.3358},
54036 {0.3745, 0.0954, 0.2029, 0.3272},
54037 {0.2596, 0.2035, 0.2455, 0.2914}},
54038 {
54039 {0.2377, 0.2202, 0.1669, 0.3752},
54040 {0.3697, 0.2861, 0.1334, 0.2108},
54041 {0.2320, 0.2218, 0.2667, 0.2796},
54042 {0.1530, 0.2751, 0.2590, 0.3129}},
54043 {
54044 {0.3098, 0.1713, 0.1308, 0.3881},
54045 {0.2608, 0.3479, 0.0876, 0.3037},
54046 {0.3855, 0.1866, 0.1451, 0.2827},
54047 {0.2237, 0.1794, 0.1909, 0.4060}},
54048 {
54049 {0.3346, 0.1424, 0.2760, 0.2470},
54050 {0.1780, 0.4648, 0.1353, 0.2219},
54051 {0.2482, 0.0927, 0.2450, 0.4141},
54052 {0.2911, 0.2413, 0.1565, 0.3112}},
54053 {
54054 {0.2912, 0.1247, 0.2706, 0.3135},
54055 {0.2386, 0.3378, 0.1829, 0.2408},
54056 {0.1784, 0.2249, 0.2644, 0.3323},
54057 {0.1732, 0.3630, 0.1737, 0.2901}},
54058 {
54059 {0.2373, 0.1780, 0.2263, 0.3584},
54060 {0.2924, 0.1696, 0.2196, 0.3184},
54061 {0.2363, 0.2831, 0.2217, 0.2589},
54062 {0.2298, 0.2404, 0.2575, 0.2722}},
54063 {
54064 {0.2838, 0.2665, 0.2358, 0.2139},
54065 {0.2050, 0.2588, 0.2263, 0.3099},
54066 {0.2863, 0.2173, 0.2097, 0.2868},
54067 {0.2763, 0.1906, 0.2212, 0.3119}},
54068 {
54069 {0.3751, 0.1692, 0.1845, 0.2711},
54070 {0.3450, 0.2850, 0.1340, 0.2360},
54071 {0.2997, 0.2381, 0.2016, 0.2606},
54072 {0.2016, 0.2207, 0.3072, 0.2705}},
54073 {
54074 {0.4466, 0.2592, 0.1195, 0.1747},
54075 {0.2720, 0.2414, 0.0385, 0.4481},
54076 {0.2981, 0.2328, 0.2113, 0.2578},
54077 {0.2415, 0.3201, 0.1320, 0.3064}},
54078 {
54079 {0.3119, 0.1371, 0.2616, 0.2895},
54080 {0.2210, 0.3264, 0.1168, 0.3358},
54081 {0.2539, 0.2143, 0.2146, 0.3173},
54082 {0.2954, 0.1849, 0.2327, 0.2870}},
54083 {
54084 {0.2059, 0.1616, 0.1881, 0.4443},
54085 {0.2549, 0.3229, 0.1698, 0.2523},
54086 {0.3225, 0.1473, 0.2764, 0.2538},
54087 {0.2881, 0.1744, 0.2299, 0.3076}},
54088 {
54089 {0.1649, 0.1650, 0.3370, 0.3332},
54090 {0.2478, 0.2286, 0.2473, 0.2762},
54091 {0.3110, 0.0403, 0.3647, 0.2840},
54092 {0.1876, 0.1406, 0.3331, 0.3386}},
54093 {
54094 {0.2245, 0.2678, 0.2233, 0.2844},
54095 {0.4020, 0.3148, 0.0940, 0.1891},
54096 {0.2022, 0.0977, 0.1715, 0.5287},
54097 {0.3374, 0.2399, 0.1734, 0.2493}},
54098 {
54099 {0.3324, 0.1919, 0.2244, 0.2513},
54100 {0.2976, 0.2783, 0.2972, 0.1268},
54101 {0.3635, 0.2942, 0.1565, 0.1857},
54102 {0.4381, 0.1580, 0.2088, 0.1951}},
54103 {
54104 {1.0000, 0.0000, 0.0000, 0.0000},
54105 {1.0000, 0.0000, 0.0000, 0.0000},
54106 {1.0000, 0.0000, 0.0000, 0.0000},
54107 {1.0000, 0.0000, 0.0000, 0.0000}},
54108 {
54109 {0.0000, 0.0000, 1.0000, 0.0000},
54110 {0.0000, 0.0000, 0.0000, 0.0000},
54111 {0.0000, 0.0000, 0.0000, 0.0000},
54112 {0.0000, 0.0000, 0.0000, 0.0000}},
54113 {
54114 {0.0000, 0.0000, 0.0000, 0.0000},
54115 {0.0000, 0.0000, 0.0000, 0.0000},
54116 {0.3183, 0.1706, 0.1383, 0.3728},
54117 {0.0000, 0.0000, 0.0000, 0.0000}},
54118 {
54119 {0.4293, 0.1974, 0.0973, 0.2761},
54120 {0.1307, 0.2971, 0.1557, 0.4165},
54121 {0.2553, 0.3249, 0.0978, 0.3220},
54122 {0.3690, 0.1665, 0.1442, 0.3203}},
54123 {
54124 {0.3983, 0.1482, 0.2588, 0.1948},
54125 {0.2673, 0.3291, 0.1408, 0.2628},
54126 {0.3592, 0.1729, 0.1389, 0.3289},
54127 {0.2541, 0.1510, 0.2665, 0.3284}},
54128 {
54129 {0.3466, 0.2465, 0.1385, 0.2684},
54130 {0.3206, 0.2090, 0.1626, 0.3078},
54131 {0.2255, 0.1833, 0.3679, 0.2232},
54132 {0.2443, 0.2602, 0.1609, 0.3346}},
54133 {
54134 {0.2581, 0.2021, 0.2262, 0.3137},
54135 {0.3243, 0.1893, 0.0980, 0.3885},
54136 {0.3110, 0.2513, 0.2331, 0.2046},
54137 {0.3256, 0.1792, 0.2238, 0.2714}},
54138 {
54139 {0.3000, 0.1715, 0.3053, 0.2233},
54140 {0.2824, 0.3107, 0.1133, 0.2936},
54141 {0.2439, 0.2478, 0.2896, 0.2187},
54142 {0.2418, 0.2392, 0.2279, 0.2911}},
54143 {
54144 {0.3074, 0.2446, 0.1480, 0.2999},
54145 {0.3193, 0.2617, 0.1379, 0.2811},
54146 {0.3289, 0.2109, 0.1629, 0.2974},
54147 {0.3868, 0.1207, 0.2437, 0.2488}},
54148 {
54149 {0.2792, 0.1154, 0.2968, 0.3086},
54150 {0.1035, 0.2772, 0.1094, 0.5099},
54151 {0.3341, 0.2833, 0.1268, 0.2557},
54152 {0.2059, 0.2745, 0.1716, 0.3480}},
54153 {
54154 {0.2618, 0.2737, 0.2524, 0.2122},
54155 {0.2400, 0.1827, 0.1793, 0.3980},
54156 {0.2773, 0.2347, 0.2831, 0.2049},
54157 {0.2984, 0.1238, 0.2432, 0.3346}},
54158 {
54159 {0.2742, 0.2243, 0.2642, 0.2373},
54160 {0.3743, 0.2275, 0.2104, 0.1878},
54161 {0.3567, 0.1902, 0.2460, 0.2071},
54162 {0.2272, 0.1951, 0.2707, 0.3070}},
54163 {
54164 {0.3164, 0.1950, 0.1790, 0.3096},
54165 {0.2759, 0.2167, 0.1280, 0.3794},
54166 {0.4425, 0.1775, 0.2153, 0.1647},
54167 {0.3647, 0.1565, 0.2761, 0.2027}},
54168 {
54169 {0.3403, 0.2681, 0.1251, 0.2666},
54170 {0.2701, 0.1873, 0.1881, 0.3546},
54171 {0.2036, 0.2434, 0.2175, 0.3354},
54172 {0.2348, 0.2408, 0.2590, 0.2655}},
54173 {
54174 {0.2413, 0.1629, 0.1997, 0.3961},
54175 {0.3145, 0.1102, 0.1472, 0.4281},
54176 {0.2984, 0.1189, 0.3249, 0.2577},
54177 {0.3133, 0.1306, 0.2215, 0.3346}},
54178 {
54179 {0.3100, 0.1637, 0.2572, 0.2692},
54180 {0.3952, 0.1659, 0.1683, 0.2706},
54181 {0.2499, 0.2487, 0.2121, 0.2892},
54182 {0.3333, 0.1893, 0.1878, 0.2896}},
54183 {
54184 {0.4098, 0.2000, 0.1524, 0.2378},
54185 {0.2142, 0.3666, 0.1216, 0.2976},
54186 {0.3568, 0.2288, 0.2035, 0.2109},
54187 {0.2229, 0.1596, 0.3813, 0.2361}},
54188 {
54189 {0.2432, 0.2901, 0.1473, 0.3193},
54190 {0.2560, 0.2366, 0.1719, 0.3355},
54191 {0.3270, 0.1942, 0.2593, 0.2195},
54192 {0.2871, 0.3159, 0.2141, 0.1829}},
54193 {
54194 {0.2717, 0.2778, 0.1939, 0.2566},
54195 {0.3277, 0.2391, 0.1149, 0.3183},
54196 {0.2989, 0.2441, 0.2091, 0.2479},
54197 {0.2138, 0.2547, 0.2491, 0.2824}},
54198 {
54199 {0.3889, 0.1636, 0.1759, 0.2716},
54200 {0.2215, 0.3010, 0.1804, 0.2971},
54201 {0.2544, 0.2579, 0.1436, 0.3441},
54202 {0.2236, 0.2573, 0.2210, 0.2981}},
54203 {
54204 {0.2232, 0.1321, 0.3033, 0.3415},
54205 {0.3491, 0.3001, 0.0902, 0.2606},
54206 {0.3189, 0.2407, 0.2923, 0.1480},
54207 {0.2907, 0.2072, 0.2511, 0.2511}},
54208 {
54209 {0.3216, 0.2466, 0.2104, 0.2213},
54210 {0.3569, 0.2093, 0.0805, 0.3533},
54211 {0.3551, 0.1699, 0.2231, 0.2518},
54212 {0.2912, 0.2076, 0.1715, 0.3297}},
54213 {
54214 {0.2777, 0.2152, 0.2764, 0.2306},
54215 {0.3126, 0.1551, 0.1732, 0.3591},
54216 {0.2804, 0.2522, 0.1715, 0.2959},
54217 {0.1890, 0.2028, 0.1736, 0.4345}},
54218 {
54219 {0.3216, 0.2573, 0.2552, 0.1659},
54220 {0.3160, 0.0916, 0.2853, 0.3072},
54221 {0.2637, 0.2207, 0.2564, 0.2592},
54222 {0.2840, 0.1907, 0.2465, 0.2788}},
54223 {
54224 {0.2977, 0.1902, 0.1800, 0.3321},
54225 {0.3244, 0.3051, 0.1606, 0.2099},
54226 {0.3635, 0.1586, 0.2019, 0.2760},
54227 {0.2956, 0.1905, 0.2167, 0.2972}},
54228 {
54229 {0.3166, 0.2294, 0.2490, 0.2050},
54230 {0.1731, 0.2429, 0.1768, 0.4072},
54231 {0.3444, 0.1647, 0.3054, 0.1854},
54232 {0.2157, 0.2693, 0.3745, 0.1405}},
54233 {
54234 {0.1988, 0.1813, 0.2652, 0.3547},
54235 {0.3312, 0.2628, 0.1148, 0.2911},
54236 {0.3135, 0.1465, 0.3230, 0.2169},
54237 {0.2555, 0.2391, 0.2328, 0.2726}},
54238 {
54239 {0.2595, 0.2851, 0.1926, 0.2628},
54240 {0.2190, 0.2462, 0.0940, 0.4408},
54241 {0.2958, 0.2259, 0.1823, 0.2960},
54242 {0.3076, 0.1763, 0.2377, 0.2784}},
54243 {
54244 {0.3189, 0.2775, 0.1506, 0.2530},
54245 {0.2723, 0.1531, 0.1878, 0.3868},
54246 {0.3662, 0.2464, 0.2703, 0.1170},
54247 {0.2420, 0.2293, 0.1824, 0.3463}},
54248 {
54249 {0.3067, 0.1990, 0.2261, 0.2682},
54250 {0.4084, 0.2185, 0.1766, 0.1965},
54251 {0.2760, 0.2573, 0.2351, 0.2317},
54252 {0.3562, 0.1852, 0.1875, 0.2710}},
54253 {
54254 {0.3570, 0.1983, 0.1575, 0.2872},
54255 {0.4238, 0.1908, 0.0224, 0.3630},
54256 {0.4102, 0.2913, 0.1738, 0.1247},
54257 {0.2681, 0.1805, 0.3232, 0.2282}},
54258 {
54259 {0.2820, 0.2229, 0.2136, 0.2815},
54260 {0.2285, 0.3166, 0.2169, 0.2380},
54261 {0.2534, 0.3896, 0.1523, 0.2047},
54262 {0.2378, 0.1224, 0.3168, 0.3231}},
54263 {
54264 {0.3377, 0.2773, 0.1780, 0.2070},
54265 {0.2753, 0.2601, 0.2347, 0.2300},
54266 {0.1574, 0.2390, 0.2927, 0.3109},
54267 {0.2251, 0.2276, 0.2465, 0.3009}},
54268 {
54269 {0.3188, 0.1756, 0.1924, 0.3131},
54270 {0.2992, 0.2666, 0.1479, 0.2863},
54271 {0.2278, 0.2977, 0.1493, 0.3251},
54272 {0.2175, 0.2385, 0.1718, 0.3722}},
54273 {
54274 {0.2464, 0.2152, 0.2576, 0.2808},
54275 {0.2215, 0.1463, 0.1384, 0.4939},
54276 {0.3217, 0.2967, 0.2216, 0.1600},
54277 {0.2865, 0.2336, 0.3003, 0.1795}},
54278 {
54279 {0.2711, 0.1939, 0.2664, 0.2685},
54280 {0.3900, 0.1035, 0.1399, 0.3667},
54281 {0.2915, 0.2717, 0.2239, 0.2130},
54282 {0.2051, 0.2347, 0.2775, 0.2826}},
54283 {
54284 {0.2497, 0.2947, 0.2399, 0.2156},
54285 {0.1965, 0.2608, 0.1952, 0.3475},
54286 {0.3823, 0.2553, 0.1656, 0.1968},
54287 {0.3804, 0.1405, 0.1882, 0.2908}},
54288 {
54289 {0.2797, 0.2677, 0.2169, 0.2356},
54290 {0.2396, 0.2464, 0.1552, 0.3588},
54291 {0.3278, 0.2455, 0.1603, 0.2665},
54292 {0.3074, 0.1934, 0.2948, 0.2044}},
54293 {
54294 {0.3028, 0.2292, 0.1805, 0.2875},
54295 {0.3852, 0.2247, 0.1677, 0.2225},
54296 {0.3280, 0.3082, 0.2370, 0.1268},
54297 {0.2568, 0.3045, 0.2212, 0.2175}},
54298 {
54299 {0.3113, 0.2354, 0.1590, 0.2944},
54300 {0.2735, 0.1844, 0.2005, 0.3415},
54301 {0.3097, 0.2480, 0.1981, 0.2441},
54302 {0.2778, 0.2047, 0.2157, 0.3018}},
54303 {
54304 {0.2829, 0.3460, 0.1871, 0.1841},
54305 {0.3623, 0.1410, 0.1819, 0.3148},
54306 {0.3260, 0.2295, 0.2096, 0.2349},
54307 {0.2846, 0.2754, 0.1796, 0.2603}},
54308 {
54309 {0.3287, 0.2558, 0.1672, 0.2483},
54310 {0.4009, 0.1235, 0.1710, 0.3046},
54311 {0.3813, 0.2372, 0.1466, 0.2349},
54312 {0.2190, 0.3072, 0.2008, 0.2731}},
54313 {
54314 {0.3223, 0.1233, 0.1629, 0.3915},
54315 {0.2716, 0.2569, 0.1854, 0.2861},
54316 {0.3401, 0.2317, 0.1813, 0.2469},
54317 {0.2837, 0.2954, 0.1810, 0.2398}},
54318 {
54319 {0.3181, 0.2970, 0.1618, 0.2232},
54320 {0.1808, 0.2067, 0.2154, 0.3971},
54321 {0.2013, 0.1932, 0.3341, 0.2715},
54322 {0.2473, 0.2860, 0.2042, 0.2625}},
54323 {
54324 {0.3240, 0.2432, 0.0889, 0.3438},
54325 {0.3041, 0.2598, 0.1228, 0.3133},
54326 {0.3651, 0.2532, 0.2416, 0.1401},
54327 {0.3080, 0.2039, 0.1860, 0.3021}},
54328 {
54329 {0.3057, 0.2234, 0.2073, 0.2637},
54330 {0.3460, 0.2811, 0.1678, 0.2050},
54331 {0.1953, 0.2494, 0.2512, 0.3041},
54332 {0.2384, 0.2078, 0.2202, 0.3336}},
54333 {
54334 {0.3190, 0.2262, 0.2363, 0.2186},
54335 {0.3470, 0.2612, 0.1681, 0.2237},
54336 {0.2587, 0.2721, 0.2089, 0.2603},
54337 {0.2254, 0.3588, 0.1926, 0.2232}},
54338 {
54339 {0.2685, 0.2178, 0.2112, 0.3025},
54340 {0.3264, 0.1935, 0.2426, 0.2376},
54341 {0.3249, 0.1304, 0.2229, 0.3218},
54342 {0.2639, 0.2736, 0.1579, 0.3046}},
54343 {
54344 {0.2355, 0.2404, 0.2338, 0.2903},
54345 {0.3232, 0.3076, 0.1708, 0.1984},
54346 {0.2822, 0.2573, 0.2722, 0.1884},
54347 {0.2095, 0.2574, 0.2599, 0.2732}},
54348 {
54349 {0.3094, 0.2271, 0.2761, 0.1874},
54350 {0.3079, 0.2918, 0.2250, 0.1752},
54351 {0.2524, 0.2993, 0.2057, 0.2426},
54352 {0.2894, 0.2377, 0.2363, 0.2366}},
54353 {
54354 {0.2988, 0.1991, 0.2716, 0.2305},
54355 {0.3035, 0.2552, 0.1743, 0.2670},
54356 {0.3065, 0.2264, 0.2806, 0.1865},
54357 {0.2534, 0.2772, 0.1982, 0.2712}},
54358 {
54359 {0.2990, 0.2950, 0.2262, 0.1798},
54360 {0.2839, 0.3205, 0.1295, 0.2661},
54361 {0.3214, 0.1926, 0.2178, 0.2682},
54362 {0.1854, 0.2004, 0.1863, 0.4278}}
54363 }},
54364 {
54365 { /* Splice_Site: T1_AG; Species: Cress */
54366 {
54367 {0.2789, 0.2789, 0.2789, 0.2789},
54368 {0.1658, 0.1658, 0.1658, 0.1658},
54369 {0.1587, 0.1587, 0.1587, 0.1587},
54370 {0.3965, 0.3965, 0.3965, 0.3965}},
54371 {
54372 {0.3136, 0.1509, 0.1555, 0.3800},
54373 {0.3239, 0.1411, 0.0851, 0.4499},
54374 {0.3255, 0.1411, 0.1448, 0.3887},
54375 {0.2123, 0.1715, 0.1969, 0.4193}},
54376 {
54377 {0.3115, 0.1542, 0.1615, 0.3729},
54378 {0.3210, 0.1417, 0.0774, 0.4599},
54379 {0.3248, 0.1313, 0.1335, 0.4104},
54380 {0.2153, 0.1704, 0.1955, 0.4187}},
54381 {
54382 {0.3233, 0.1477, 0.1649, 0.3641},
54383 {0.3135, 0.1446, 0.0770, 0.4649},
54384 {0.3022, 0.1530, 0.1425, 0.4022},
54385 {0.2149, 0.1761, 0.1972, 0.4118}},
54386 {
54387 {0.3156, 0.1513, 0.1673, 0.3657},
54388 {0.3412, 0.1470, 0.0762, 0.4357},
54389 {0.3022, 0.1413, 0.1572, 0.3993},
54390 {0.2111, 0.1716, 0.1974, 0.4200}},
54391 {
54392 {0.3183, 0.1478, 0.1637, 0.3702},
54393 {0.3369, 0.1421, 0.0786, 0.4424},
54394 {0.2900, 0.1460, 0.1617, 0.4024},
54395 {0.2162, 0.1720, 0.1938, 0.4180}},
54396 {
54397 {0.3115, 0.1532, 0.1686, 0.3667},
54398 {0.3179, 0.1513, 0.0749, 0.4559},
54399 {0.3202, 0.1404, 0.1474, 0.3920},
54400 {0.2091, 0.1717, 0.2047, 0.4144}},
54401 {
54402 {0.3199, 0.1490, 0.1729, 0.3581},
54403 {0.3135, 0.1560, 0.0897, 0.4408},
54404 {0.3205, 0.1466, 0.1539, 0.3790},
54405 {0.2038, 0.1764, 0.1945, 0.4253}},
54406 {
54407 {0.3202, 0.1487, 0.1663, 0.3648},
54408 {0.3323, 0.1375, 0.0915, 0.4387},
54409 {0.3203, 0.1338, 0.1530, 0.3928},
54410 {0.2194, 0.1676, 0.1996, 0.4134}},
54411 {
54412 {0.3219, 0.1452, 0.1692, 0.3637},
54413 {0.3167, 0.1366, 0.0935, 0.4532},
54414 {0.3166, 0.1387, 0.1643, 0.3803},
54415 {0.2203, 0.1689, 0.1993, 0.4115}},
54416 {
54417 {0.3302, 0.1418, 0.1652, 0.3628},
54418 {0.3271, 0.1407, 0.0975, 0.4346},
54419 {0.3167, 0.1361, 0.1446, 0.4026},
54420 {0.2222, 0.1617, 0.2034, 0.4127}},
54421 {
54422 {0.3291, 0.1352, 0.1668, 0.3689},
54423 {0.3068, 0.1483, 0.0862, 0.4587},
54424 {0.3297, 0.1388, 0.1392, 0.3923},
54425 {0.2168, 0.1655, 0.2105, 0.4072}},
54426 {
54427 {0.3268, 0.1530, 0.1736, 0.3466},
54428 {0.3253, 0.1445, 0.0926, 0.4376},
54429 {0.3070, 0.1432, 0.1524, 0.3974},
54430 {0.2164, 0.1630, 0.2106, 0.4100}},
54431 {
54432 {0.3077, 0.1469, 0.1757, 0.3697},
54433 {0.3210, 0.1440, 0.0992, 0.4357},
54434 {0.3355, 0.1410, 0.1388, 0.3846},
54435 {0.2121, 0.1678, 0.2009, 0.4191}},
54436 {
54437 {0.3298, 0.1410, 0.1581, 0.3712},
54438 {0.3221, 0.1511, 0.0855, 0.4413},
54439 {0.3279, 0.1366, 0.1623, 0.3732},
54440 {0.2102, 0.1704, 0.2194, 0.4000}},
54441 {
54442 {0.3204, 0.1448, 0.1743, 0.3605},
54443 {0.3336, 0.1445, 0.0945, 0.4274},
54444 {0.3303, 0.1513, 0.1379, 0.3805},
54445 {0.2045, 0.1762, 0.2164, 0.4029}},
54446 {
54447 {0.3247, 0.1483, 0.1695, 0.3575},
54448 {0.3408, 0.1453, 0.0872, 0.4267},
54449 {0.3241, 0.1613, 0.1443, 0.3703},
54450 {0.2084, 0.1728, 0.2118, 0.4070}},
54451 {
54452 {0.3281, 0.1550, 0.1563, 0.3606},
54453 {0.3152, 0.1455, 0.0835, 0.4558},
54454 {0.3154, 0.1502, 0.1490, 0.3853},
54455 {0.2219, 0.1605, 0.2101, 0.4075}},
54456 {
54457 {0.3311, 0.1459, 0.1596, 0.3634},
54458 {0.3283, 0.1414, 0.0889, 0.4413},
54459 {0.3331, 0.1330, 0.1519, 0.3820},
54460 {0.2187, 0.1670, 0.2084, 0.4060}},
54461 {
54462 {0.3194, 0.1583, 0.1543, 0.3681},
54463 {0.2979, 0.1356, 0.0862, 0.4802},
54464 {0.3505, 0.1340, 0.1334, 0.3821},
54465 {0.2182, 0.1685, 0.2103, 0.4030}},
54466 {
54467 {0.3374, 0.1499, 0.1598, 0.3529},
54468 {0.2990, 0.1434, 0.0861, 0.4715},
54469 {0.3401, 0.1383, 0.1504, 0.3712},
54470 {0.2148, 0.1630, 0.2245, 0.3977}},
54471 {
54472 {0.3256, 0.1550, 0.1449, 0.3746},
54473 {0.3119, 0.1285, 0.0827, 0.4770},
54474 {0.3534, 0.1356, 0.1414, 0.3696},
54475 {0.2221, 0.1636, 0.2140, 0.4003}},
54476 {
54477 {0.3298, 0.1479, 0.1535, 0.3688},
54478 {0.3113, 0.1455, 0.0768, 0.4664},
54479 {0.3371, 0.1361, 0.1392, 0.3876},
54480 {0.2269, 0.1718, 0.2084, 0.3929}},
54481 {
54482 {0.3380, 0.1616, 0.1340, 0.3664},
54483 {0.2863, 0.1347, 0.0710, 0.5080},
54484 {0.3609, 0.1390, 0.1313, 0.3688},
54485 {0.2240, 0.1652, 0.2042, 0.4067}},
54486 {
54487 {0.3391, 0.1646, 0.1268, 0.3695},
54488 {0.3053, 0.1297, 0.0682, 0.4968},
54489 {0.3588, 0.1359, 0.1319, 0.3735},
54490 {0.2335, 0.1666, 0.2009, 0.3990}},
54491 {
54492 {0.3279, 0.1631, 0.1335, 0.3755},
54493 {0.2849, 0.1235, 0.0733, 0.5183},
54494 {0.3852, 0.1316, 0.1185, 0.3648},
54495 {0.2320, 0.1591, 0.2186, 0.3903}},
54496 {
54497 {0.3310, 0.1623, 0.1282, 0.3785},
54498 {0.2868, 0.1361, 0.0742, 0.5030},
54499 {0.3786, 0.1266, 0.1137, 0.3812},
54500 {0.2256, 0.1610, 0.2124, 0.4011}},
54501 {
54502 {0.3443, 0.1659, 0.1179, 0.3719},
54503 {0.2896, 0.1339, 0.0785, 0.4980},
54504 {0.3571, 0.1204, 0.1152, 0.4073},
54505 {0.2287, 0.1558, 0.2085, 0.4070}},
54506 {
54507 {0.3346, 0.1653, 0.1240, 0.3761},
54508 {0.2897, 0.1216, 0.0727, 0.5160},
54509 {0.3709, 0.1230, 0.1234, 0.3827},
54510 {0.2194, 0.1495, 0.2176, 0.4135}},
54511 {
54512 {0.3187, 0.1820, 0.1136, 0.3856},
54513 {0.2699, 0.1347, 0.0764, 0.5190},
54514 {0.3448, 0.1246, 0.1276, 0.4030},
54515 {0.2211, 0.1607, 0.1998, 0.4184}},
54516 {
54517 {0.3178, 0.1848, 0.1013, 0.3961},
54518 {0.2949, 0.1305, 0.0865, 0.4881},
54519 {0.3306, 0.1355, 0.1363, 0.3976},
54520 {0.1989, 0.1632, 0.2109, 0.4270}},
54521 {
54522 {0.3195, 0.1591, 0.1208, 0.4006},
54523 {0.2728, 0.1314, 0.0882, 0.5075},
54524 {0.3181, 0.1156, 0.1298, 0.4365},
54525 {0.1973, 0.1405, 0.2185, 0.4437}},
54526 {
54527 {0.3052, 0.1670, 0.1116, 0.4161},
54528 {0.2712, 0.1403, 0.0757, 0.5128},
54529 {0.2957, 0.1268, 0.1578, 0.4197},
54530 {0.1807, 0.1507, 0.2231, 0.4454}},
54531 {
54532 {0.3192, 0.1641, 0.0911, 0.4256},
54533 {0.2715, 0.1375, 0.0774, 0.5136},
54534 {0.2820, 0.1186, 0.1526, 0.4468},
54535 {0.1741, 0.1541, 0.2186, 0.4532}},
54536 {
54537 {0.2739, 0.1656, 0.1082, 0.4523},
54538 {0.2559, 0.1344, 0.0883, 0.5213},
54539 {0.2467, 0.1025, 0.1682, 0.4826},
54540 {0.1612, 0.1522, 0.2304, 0.4562}},
54541 {
54542 {0.2820, 0.1597, 0.0946, 0.4637},
54543 {0.2494, 0.1419, 0.0868, 0.5219},
54544 {0.2582, 0.1176, 0.1656, 0.4585},
54545 {0.1612, 0.1465, 0.2218, 0.4705}},
54546 {
54547 {0.2797, 0.1500, 0.0830, 0.4872},
54548 {0.2328, 0.1482, 0.0934, 0.5257},
54549 {0.2357, 0.1116, 0.1580, 0.4947},
54550 {0.1433, 0.1507, 0.2172, 0.4888}},
54551 {
54552 {0.2597, 0.1523, 0.0791, 0.5089},
54553 {0.2347, 0.1389, 0.0812, 0.5453},
54554 {0.2171, 0.1191, 0.1455, 0.5184},
54555 {0.1456, 0.1453, 0.2182, 0.4909}},
54556 {
54557 {0.2784, 0.1386, 0.0689, 0.5141},
54558 {0.2158, 0.1276, 0.0760, 0.5806},
54559 {0.2413, 0.1286, 0.1482, 0.4820},
54560 {0.1460, 0.1403, 0.2191, 0.4946}},
54561 {
54562 {0.2676, 0.1610, 0.0536, 0.5179},
54563 {0.2162, 0.1399, 0.0832, 0.5607},
54564 {0.2086, 0.1095, 0.1720, 0.5099},
54565 {0.1355, 0.1472, 0.2186, 0.4986}},
54566 {
54567 {0.2885, 0.1418, 0.0463, 0.5233},
54568 {0.2248, 0.1421, 0.0848, 0.5482},
54569 {0.2146, 0.1189, 0.1609, 0.5055},
54570 {0.1326, 0.1444, 0.2180, 0.5050}},
54571 {
54572 {0.2808, 0.1396, 0.0462, 0.5334},
54573 {0.2043, 0.1361, 0.0929, 0.5667},
54574 {0.2128, 0.1073, 0.1513, 0.5285},
54575 {0.1356, 0.1386, 0.2221, 0.5037}},
54576 {
54577 {0.3088, 0.1516, 0.0360, 0.5036},
54578 {0.2329, 0.1457, 0.0971, 0.5243},
54579 {0.2313, 0.1084, 0.1921, 0.4681},
54580 {0.1473, 0.1568, 0.2485, 0.4474}},
54581 {
54582 {0.2878, 0.1712, 0.0345, 0.5065},
54583 {0.2329, 0.1495, 0.0800, 0.5376},
54584 {0.2279, 0.1216, 0.1565, 0.4940},
54585 {0.1523, 0.1688, 0.2254, 0.4535}},
54586 {
54587 {0.3226, 0.1365, 0.0244, 0.5165},
54588 {0.2559, 0.1256, 0.0755, 0.5430},
54589 {0.2142, 0.1121, 0.1572, 0.5165},
54590 {0.1597, 0.1286, 0.2336, 0.4781}},
54591 {
54592 {0.2792, 0.1389, 0.0333, 0.5486},
54593 {0.2523, 0.1340, 0.0868, 0.5268},
54594 {0.2138, 0.1074, 0.1836, 0.4952},
54595 {0.1318, 0.1348, 0.2500, 0.4834}},
54596 {
54597 {0.2827, 0.1470, 0.0537, 0.5166},
54598 {0.2218, 0.1487, 0.0810, 0.5485},
54599 {0.2151, 0.1068, 0.1535, 0.5246},
54600 {0.1408, 0.1570, 0.2048, 0.4973}},
54601 {
54602 {0.2456, 0.1187, 0.0211, 0.6145},
54603 {0.1923, 0.1406, 0.0417, 0.6253},
54604 {0.2329, 0.0944, 0.1080, 0.5647},
54605 {0.1036, 0.1236, 0.1432, 0.6296}},
54606 {
54607 {0.4688, 0.1088, 0.1052, 0.3172},
54608 {0.3757, 0.0825, 0.1891, 0.3527},
54609 {0.3587, 0.0958, 0.3045, 0.2410},
54610 {0.1783, 0.0812, 0.4643, 0.2763}},
54611 {
54612 {0.0842, 0.6088, 0.0093, 0.2978},
54613 {0.1153, 0.5229, 0.0119, 0.3498},
54614 {0.0617, 0.6599, 0.0094, 0.2690},
54615 {0.0512, 0.6131, 0.0161, 0.3197}},
54616 {
54617 {1.0000, 0.0000, 0.0000, 0.0000},
54618 {1.0000, 0.0000, 0.0000, 0.0000},
54619 {1.0000, 0.0000, 0.0000, 0.0000},
54620 {1.0000, 0.0000, 0.0000, 0.0000}},
54621 {
54622 {0.0000, 0.0000, 1.0000, 0.0000},
54623 {0.0000, 0.0000, 0.0000, 0.0000},
54624 {0.0000, 0.0000, 0.0000, 0.0000},
54625 {0.0000, 0.0000, 0.0000, 0.0000}},
54626 {
54627 {0.0000, 0.0000, 0.0000, 0.0000},
54628 {0.0000, 0.0000, 0.0000, 0.0000},
54629 {0.2535, 0.0966, 0.5487, 0.1012},
54630 {0.0000, 0.0000, 0.0000, 0.0000}},
54631 {
54632 {0.2410, 0.1359, 0.1460, 0.4771},
54633 {0.2307, 0.2189, 0.0659, 0.4845},
54634 {0.2587, 0.1663, 0.1528, 0.4221},
54635 {0.1445, 0.2148, 0.1651, 0.4755}},
54636 {
54637 {0.3339, 0.1503, 0.1725, 0.3432},
54638 {0.3260, 0.1007, 0.1551, 0.4182},
54639 {0.3396, 0.1139, 0.1949, 0.3517},
54640 {0.1867, 0.1373, 0.2679, 0.4081}},
54641 {
54642 {0.3169, 0.1877, 0.2643, 0.2311},
54643 {0.3620, 0.1833, 0.2037, 0.2510},
54644 {0.3728, 0.1545, 0.2922, 0.1804},
54645 {0.1847, 0.2148, 0.3968, 0.2037}},
54646 {
54647 {0.3258, 0.1686, 0.1575, 0.3481},
54648 {0.2878, 0.2010, 0.1204, 0.3908},
54649 {0.3760, 0.1967, 0.1928, 0.2345},
54650 {0.1556, 0.2205, 0.1738, 0.4501}},
54651 {
54652 {0.2910, 0.1477, 0.2331, 0.3282},
54653 {0.3757, 0.0946, 0.1385, 0.3912},
54654 {0.2720, 0.1255, 0.2710, 0.3315},
54655 {0.1979, 0.1545, 0.2938, 0.3538}},
54656 {
54657 {0.3020, 0.1595, 0.3450, 0.1935},
54658 {0.3901, 0.1831, 0.1843, 0.2425},
54659 {0.3755, 0.1610, 0.2828, 0.1807},
54660 {0.2110, 0.1831, 0.4314, 0.1745}},
54661 {
54662 {0.3799, 0.1483, 0.2047, 0.2670},
54663 {0.3132, 0.2676, 0.1205, 0.2988},
54664 {0.3988, 0.1867, 0.2023, 0.2122},
54665 {0.1810, 0.2399, 0.1558, 0.4233}},
54666 {
54667 {0.2891, 0.1606, 0.2337, 0.3166},
54668 {0.3793, 0.1014, 0.1621, 0.3573},
54669 {0.3130, 0.1600, 0.2231, 0.3039},
54670 {0.2007, 0.1637, 0.2998, 0.3358}},
54671 {
54672 {0.3080, 0.1531, 0.3558, 0.1831},
54673 {0.3962, 0.1884, 0.1917, 0.2237},
54674 {0.3545, 0.1784, 0.2942, 0.1729},
54675 {0.1883, 0.1877, 0.4313, 0.1928}},
54676 {
54677 {0.3724, 0.1571, 0.1944, 0.2761},
54678 {0.2889, 0.2311, 0.1353, 0.3447},
54679 {0.4025, 0.2047, 0.1885, 0.2044},
54680 {0.1523, 0.2598, 0.1521, 0.4358}},
54681 {
54682 {0.2813, 0.1618, 0.2613, 0.2956},
54683 {0.3722, 0.1090, 0.1636, 0.3552},
54684 {0.3046, 0.1389, 0.2503, 0.3063},
54685 {0.1901, 0.1787, 0.3087, 0.3225}},
54686 {
54687 {0.3082, 0.1547, 0.3386, 0.1985},
54688 {0.3768, 0.1785, 0.2029, 0.2418},
54689 {0.3607, 0.1814, 0.2787, 0.1792},
54690 {0.1845, 0.2042, 0.4160, 0.1953}},
54691 {
54692 {0.3730, 0.1663, 0.1937, 0.2671},
54693 {0.2897, 0.2310, 0.1167, 0.3625},
54694 {0.3689, 0.2123, 0.2124, 0.2064},
54695 {0.1643, 0.2673, 0.1590, 0.4093}},
54696 {
54697 {0.2877, 0.1721, 0.2454, 0.2948},
54698 {0.3688, 0.1215, 0.1529, 0.3568},
54699 {0.3087, 0.1470, 0.2535, 0.2908},
54700 {0.1957, 0.1789, 0.2841, 0.3413}},
54701 {
54702 {0.3036, 0.1584, 0.3522, 0.1857},
54703 {0.3854, 0.1790, 0.2037, 0.2319},
54704 {0.3723, 0.1680, 0.2788, 0.1810},
54705 {0.2064, 0.1944, 0.4195, 0.1797}},
54706 {
54707 {0.3608, 0.1566, 0.1897, 0.2928},
54708 {0.3147, 0.2323, 0.1130, 0.3400},
54709 {0.3763, 0.2026, 0.2080, 0.2132},
54710 {0.1559, 0.2566, 0.1702, 0.4173}},
54711 {
54712 {0.2847, 0.1687, 0.2618, 0.2848},
54713 {0.3797, 0.1206, 0.1353, 0.3644},
54714 {0.2978, 0.1518, 0.2586, 0.2919},
54715 {0.1855, 0.1717, 0.2995, 0.3433}},
54716 {
54717 {0.2947, 0.1733, 0.3582, 0.1738},
54718 {0.3956, 0.1693, 0.1944, 0.2408},
54719 {0.3751, 0.1695, 0.2811, 0.1743},
54720 {0.1933, 0.1904, 0.4183, 0.1980}},
54721 {
54722 {0.3663, 0.1715, 0.1902, 0.2719},
54723 {0.3397, 0.2153, 0.1157, 0.3293},
54724 {0.3910, 0.1944, 0.2032, 0.2114},
54725 {0.1640, 0.2667, 0.1654, 0.4040}},
54726 {
54727 {0.2872, 0.1622, 0.2636, 0.2870},
54728 {0.3736, 0.1102, 0.1544, 0.3618},
54729 {0.3057, 0.1586, 0.2369, 0.2988},
54730 {0.1942, 0.1830, 0.2910, 0.3318}},
54731 {
54732 {0.2953, 0.1568, 0.3657, 0.1822},
54733 {0.3912, 0.1729, 0.1936, 0.2422},
54734 {0.3663, 0.1624, 0.2902, 0.1811},
54735 {0.1855, 0.1995, 0.4436, 0.1713}},
54736 {
54737 {0.3704, 0.1638, 0.1909, 0.2748},
54738 {0.3106, 0.2493, 0.1134, 0.3267},
54739 {0.4009, 0.2079, 0.1935, 0.1976},
54740 {0.1736, 0.2653, 0.1539, 0.4071}},
54741 {
54742 {0.2765, 0.1684, 0.2593, 0.2958},
54743 {0.3732, 0.1170, 0.1352, 0.3746},
54744 {0.3166, 0.1675, 0.2345, 0.2814},
54745 {0.2042, 0.1838, 0.2901, 0.3219}},
54746 {
54747 {0.2978, 0.1676, 0.3478, 0.1868},
54748 {0.3887, 0.1767, 0.1942, 0.2404},
54749 {0.3806, 0.1730, 0.2742, 0.1722},
54750 {0.1936, 0.2024, 0.4164, 0.1876}},
54751 {
54752 {0.3765, 0.1588, 0.1915, 0.2733},
54753 {0.3368, 0.2162, 0.1201, 0.3269},
54754 {0.3952, 0.1853, 0.2055, 0.2140},
54755 {0.1639, 0.2543, 0.1634, 0.4184}},
54756 {
54757 {0.2933, 0.1712, 0.2473, 0.2881},
54758 {0.3956, 0.1299, 0.1331, 0.3413},
54759 {0.3110, 0.1503, 0.2380, 0.3007},
54760 {0.1991, 0.1878, 0.2829, 0.3301}},
54761 {
54762 {0.2974, 0.1662, 0.3559, 0.1806},
54763 {0.3714, 0.1843, 0.1965, 0.2478},
54764 {0.3597, 0.1831, 0.2733, 0.1838},
54765 {0.1885, 0.2084, 0.4131, 0.1900}},
54766 {
54767 {0.3722, 0.1625, 0.1869, 0.2784},
54768 {0.3164, 0.2236, 0.1254, 0.3345},
54769 {0.3769, 0.2184, 0.1834, 0.2213},
54770 {0.1654, 0.2577, 0.1668, 0.4101}},
54771 {
54772 {0.2867, 0.1680, 0.2585, 0.2868},
54773 {0.3669, 0.1263, 0.1406, 0.3662},
54774 {0.3050, 0.1819, 0.2229, 0.2902},
54775 {0.1875, 0.1798, 0.3008, 0.3319}},
54776 {
54777 {0.2964, 0.1620, 0.3659, 0.1758},
54778 {0.3904, 0.1767, 0.2064, 0.2264},
54779 {0.3734, 0.1801, 0.2725, 0.1740},
54780 {0.1822, 0.2095, 0.4185, 0.1898}},
54781 {
54782 {0.3841, 0.1633, 0.1882, 0.2643},
54783 {0.3196, 0.2305, 0.1092, 0.3407},
54784 {0.3813, 0.2027, 0.2034, 0.2127},
54785 {0.1650, 0.2631, 0.1683, 0.4036}},
54786 {
54787 {0.2895, 0.1722, 0.2568, 0.2815},
54788 {0.3743, 0.1262, 0.1346, 0.3649},
54789 {0.3061, 0.1631, 0.2241, 0.3067},
54790 {0.2006, 0.1872, 0.2874, 0.3248}},
54791 {
54792 {0.2888, 0.1723, 0.3624, 0.1765},
54793 {0.3889, 0.1756, 0.1914, 0.2441},
54794 {0.3516, 0.1845, 0.2892, 0.1747},
54795 {0.1962, 0.2176, 0.4093, 0.1769}},
54796 {
54797 {0.3865, 0.1632, 0.1925, 0.2578},
54798 {0.3227, 0.2195, 0.1226, 0.3352},
54799 {0.3844, 0.2030, 0.2027, 0.2098},
54800 {0.1682, 0.2823, 0.1427, 0.4069}},
54801 {
54802 {0.2917, 0.1708, 0.2567, 0.2807},
54803 {0.3761, 0.1286, 0.1428, 0.3525},
54804 {0.3107, 0.1578, 0.2234, 0.3081},
54805 {0.2036, 0.1834, 0.2810, 0.3320}},
54806 {
54807 {0.3069, 0.1604, 0.3581, 0.1746},
54808 {0.4075, 0.1702, 0.1934, 0.2289},
54809 {0.3843, 0.1731, 0.2620, 0.1806},
54810 {0.1961, 0.2014, 0.4085, 0.1941}},
54811 {
54812 {0.3626, 0.1685, 0.1889, 0.2800},
54813 {0.3142, 0.2249, 0.1260, 0.3348},
54814 {0.3807, 0.2174, 0.1830, 0.2189},
54815 {0.1476, 0.2830, 0.1451, 0.4243}},
54816 {
54817 {0.2830, 0.1852, 0.2429, 0.2889},
54818 {0.3715, 0.1273, 0.1312, 0.3700},
54819 {0.3190, 0.1530, 0.2279, 0.3001},
54820 {0.1999, 0.1864, 0.2810, 0.3327}},
54821 {
54822 {0.2975, 0.1737, 0.3507, 0.1781},
54823 {0.3842, 0.1741, 0.2089, 0.2327},
54824 {0.3531, 0.1852, 0.2732, 0.1885},
54825 {0.1873, 0.2052, 0.4081, 0.1995}},
54826 {
54827 {0.3702, 0.1647, 0.1906, 0.2745},
54828 {0.3123, 0.2245, 0.1144, 0.3488},
54829 {0.3848, 0.2089, 0.1865, 0.2198},
54830 {0.1633, 0.2585, 0.1581, 0.4201}},
54831 {
54832 {0.2727, 0.1767, 0.2680, 0.2825},
54833 {0.3623, 0.1167, 0.1414, 0.3796},
54834 {0.3065, 0.1632, 0.2179, 0.3123},
54835 {0.1880, 0.1876, 0.2915, 0.3329}},
54836 {
54837 {0.2831, 0.1758, 0.3612, 0.1799},
54838 {0.3910, 0.1805, 0.1992, 0.2294},
54839 {0.3550, 0.1864, 0.2829, 0.1757},
54840 {0.1983, 0.2135, 0.3956, 0.1926}},
54841 {
54842 {0.3573, 0.1798, 0.1985, 0.2644},
54843 {0.3113, 0.2248, 0.1271, 0.3368},
54844 {0.3778, 0.2063, 0.1954, 0.2206},
54845 {0.1585, 0.2775, 0.1505, 0.4134}},
54846 {
54847 {0.2856, 0.1787, 0.2589, 0.2768},
54848 {0.3536, 0.1307, 0.1276, 0.3881},
54849 {0.3257, 0.1440, 0.2310, 0.2994},
54850 {0.2028, 0.1840, 0.2703, 0.3429}},
54851 {
54852 {0.2948, 0.1732, 0.3493, 0.1827},
54853 {0.4063, 0.1694, 0.2101, 0.2142},
54854 {0.3666, 0.1808, 0.2780, 0.1746},
54855 {0.2034, 0.2068, 0.4012, 0.1887}},
54856 {
54857 {0.3658, 0.1752, 0.1713, 0.2877},
54858 {0.3117, 0.2397, 0.1181, 0.3304},
54859 {0.3796, 0.2001, 0.1918, 0.2285},
54860 {0.1600, 0.2805, 0.1552, 0.4043}},
54861 {
54862 {0.2810, 0.1812, 0.2517, 0.2860},
54863 {0.3624, 0.1378, 0.1300, 0.3698},
54864 {0.3062, 0.1546, 0.2236, 0.3156},
54865 {0.1989, 0.1998, 0.2635, 0.3378}},
54866 {
54867 {0.3057, 0.1739, 0.3402, 0.1801},
54868 {0.4010, 0.1541, 0.1988, 0.2462},
54869 {0.3464, 0.1828, 0.2851, 0.1857},
54870 {0.2026, 0.2117, 0.3940, 0.1917}},
54871 {
54872 {0.3782, 0.1769, 0.1808, 0.2641},
54873 {0.3303, 0.2310, 0.1181, 0.3207},
54874 {0.3736, 0.2189, 0.1887, 0.2188},
54875 {0.1702, 0.2702, 0.1552, 0.4043}}},
54876
54877 { /* Splice_Site: T2_AG; Species: Cress */
54878 {
54879 {0.2674, 0.2674, 0.2674, 0.2674},
54880 {0.1634, 0.1634, 0.1634, 0.1634},
54881 {0.1684, 0.1684, 0.1684, 0.1684},
54882 {0.4009, 0.4009, 0.4009, 0.4009}},
54883 {
54884 {0.3309, 0.1452, 0.1745, 0.3494},
54885 {0.3298, 0.1367, 0.0981, 0.4355},
54886 {0.3217, 0.1482, 0.1687, 0.3614},
54887 {0.2113, 0.1790, 0.1905, 0.4191}},
54888 {
54889 {0.3039, 0.1511, 0.1681, 0.3769},
54890 {0.3084, 0.1534, 0.0877, 0.4505},
54891 {0.3139, 0.1376, 0.1625, 0.3860},
54892 {0.2156, 0.1702, 0.1892, 0.4250}},
54893 {
54894 {0.3200, 0.1533, 0.1801, 0.3467},
54895 {0.3241, 0.1514, 0.0987, 0.4259},
54896 {0.3186, 0.1414, 0.1476, 0.3924},
54897 {0.2174, 0.1765, 0.1888, 0.4172}},
54898 {
54899 {0.3100, 0.1652, 0.1883, 0.3365},
54900 {0.2982, 0.1577, 0.1018, 0.4424},
54901 {0.3077, 0.1344, 0.1775, 0.3804},
54902 {0.2104, 0.1864, 0.1991, 0.4041}},
54903 {
54904 {0.3243, 0.1345, 0.1754, 0.3658},
54905 {0.3305, 0.1602, 0.0941, 0.4151},
54906 {0.3048, 0.1568, 0.1502, 0.3882},
54907 {0.2120, 0.1798, 0.1997, 0.4085}},
54908 {
54909 {0.3243, 0.1427, 0.1713, 0.3617},
54910 {0.3310, 0.1440, 0.1169, 0.4082},
54911 {0.3097, 0.1333, 0.1579, 0.3992},
54912 {0.2110, 0.1847, 0.2093, 0.3950}},
54913 {
54914 {0.3396, 0.1460, 0.1606, 0.3538},
54915 {0.3140, 0.1626, 0.0859, 0.4375},
54916 {0.3259, 0.1391, 0.1535, 0.3815},
54917 {0.2057, 0.1731, 0.1966, 0.4246}},
54918 {
54919 {0.3168, 0.1480, 0.1795, 0.3557},
54920 {0.3203, 0.1444, 0.1003, 0.4350},
54921 {0.3062, 0.1489, 0.1593, 0.3856},
54922 {0.2160, 0.1718, 0.2049, 0.4073}},
54923 {
54924 {0.3263, 0.1454, 0.1633, 0.3650},
54925 {0.3215, 0.1458, 0.1063, 0.4264},
54926 {0.3295, 0.1381, 0.1541, 0.3783},
54927 {0.2144, 0.1572, 0.2141, 0.4142}},
54928 {
54929 {0.3205, 0.1853, 0.1821, 0.3121},
54930 {0.3096, 0.1520, 0.0944, 0.4440},
54931 {0.3185, 0.1413, 0.1618, 0.3785},
54932 {0.2149, 0.1718, 0.2105, 0.4027}},
54933 {
54934 {0.3241, 0.1502, 0.1749, 0.3507},
54935 {0.3190, 0.1473, 0.1046, 0.4291},
54936 {0.3244, 0.1387, 0.1604, 0.3765},
54937 {0.1946, 0.1809, 0.2092, 0.4153}},
54938 {
54939 {0.3232, 0.1561, 0.1679, 0.3528},
54940 {0.3101, 0.1450, 0.1022, 0.4428},
54941 {0.3142, 0.1204, 0.1789, 0.3865},
54942 {0.2195, 0.1673, 0.2049, 0.4083}},
54943 {
54944 {0.3384, 0.1484, 0.1759, 0.3373},
54945 {0.3187, 0.1594, 0.0946, 0.4273},
54946 {0.3249, 0.1399, 0.1593, 0.3759},
54947 {0.2038, 0.1743, 0.2165, 0.4054}},
54948 {
54949 {0.3059, 0.1502, 0.1631, 0.3808},
54950 {0.3193, 0.1425, 0.1055, 0.4326},
54951 {0.3347, 0.1538, 0.1583, 0.3531},
54952 {0.2200, 0.1665, 0.2129, 0.4006}},
54953 {
54954 {0.3201, 0.1463, 0.1763, 0.3573},
54955 {0.3053, 0.1421, 0.0967, 0.4559},
54956 {0.3285, 0.1334, 0.1642, 0.3739},
54957 {0.2139, 0.1818, 0.2214, 0.3829}},
54958 {
54959 {0.3485, 0.1468, 0.1690, 0.3356},
54960 {0.3331, 0.1475, 0.1014, 0.4180},
54961 {0.3208, 0.1331, 0.1738, 0.3724},
54962 {0.2260, 0.1716, 0.2013, 0.4011}},
54963 {
54964 {0.3371, 0.1523, 0.1839, 0.3267},
54965 {0.3089, 0.1613, 0.0944, 0.4355},
54966 {0.3456, 0.1283, 0.1627, 0.3633},
54967 {0.2111, 0.1803, 0.2115, 0.3970}},
54968 {
54969 {0.3196, 0.1436, 0.1702, 0.3666},
54970 {0.3289, 0.1479, 0.1026, 0.4205},
54971 {0.3443, 0.1558, 0.1451, 0.3548},
54972 {0.2094, 0.1708, 0.2024, 0.4175}},
54973 {
54974 {0.3322, 0.1554, 0.1624, 0.3501},
54975 {0.3055, 0.1537, 0.0848, 0.4559},
54976 {0.3208, 0.1503, 0.1726, 0.3563},
54977 {0.2046, 0.1665, 0.2197, 0.4091}},
54978 {
54979 {0.3322, 0.1536, 0.1514, 0.3628},
54980 {0.2944, 0.1418, 0.0888, 0.4750},
54981 {0.3382, 0.1193, 0.1505, 0.3920},
54982 {0.2258, 0.1591, 0.2047, 0.4104}},
54983 {
54984 {0.3372, 0.1527, 0.1561, 0.3540},
54985 {0.3105, 0.1401, 0.0921, 0.4573},
54986 {0.3632, 0.1353, 0.1421, 0.3594},
54987 {0.2164, 0.1626, 0.2104, 0.4106}},
54988 {
54989 {0.3306, 0.1562, 0.1524, 0.3609},
54990 {0.3005, 0.1490, 0.0606, 0.4899},
54991 {0.3467, 0.1301, 0.1673, 0.3558},
54992 {0.2341, 0.1649, 0.2012, 0.3999}},
54993 {
54994 {0.3278, 0.1505, 0.1471, 0.3746},
54995 {0.3110, 0.1181, 0.0827, 0.4882},
54996 {0.3705, 0.1396, 0.1236, 0.3663},
54997 {0.2207, 0.1638, 0.2126, 0.4030}},
54998 {
54999 {0.3266, 0.1584, 0.1477, 0.3673},
55000 {0.2992, 0.1280, 0.0974, 0.4754},
55001 {0.3699, 0.1484, 0.1238, 0.3578},
55002 {0.2345, 0.1594, 0.2060, 0.4001}},
55003 {
55004 {0.3360, 0.1819, 0.1351, 0.3470},
55005 {0.2960, 0.1286, 0.0711, 0.5042},
55006 {0.3443, 0.1411, 0.1471, 0.3676},
55007 {0.2244, 0.1646, 0.2225, 0.3885}},
55008 {
55009 {0.3321, 0.1639, 0.1351, 0.3689},
55010 {0.3006, 0.1219, 0.0679, 0.5096},
55011 {0.3519, 0.1413, 0.1534, 0.3534},
55012 {0.2178, 0.1579, 0.1896, 0.4346}},
55013 {
55014 {0.3303, 0.1695, 0.1277, 0.3724},
55015 {0.3064, 0.1280, 0.0667, 0.4989},
55016 {0.3254, 0.1404, 0.1628, 0.3714},
55017 {0.2181, 0.1639, 0.2072, 0.4108}},
55018 {
55019 {0.3380, 0.1641, 0.1281, 0.3698},
55020 {0.2956, 0.1284, 0.0735, 0.5025},
55021 {0.3566, 0.1436, 0.1246, 0.3752},
55022 {0.2153, 0.1553, 0.2180, 0.4113}},
55023 {
55024 {0.3191, 0.1866, 0.1158, 0.3785},
55025 {0.3040, 0.1295, 0.0797, 0.4869},
55026 {0.3512, 0.1238, 0.1333, 0.3916},
55027 {0.1830, 0.1645, 0.2172, 0.4353}},
55028 {
55029 {0.3282, 0.1680, 0.1149, 0.3889},
55030 {0.3030, 0.1304, 0.0905, 0.4760},
55031 {0.3272, 0.1346, 0.1526, 0.3856},
55032 {0.1988, 0.1588, 0.2138, 0.4285}},
55033 {
55034 {0.3329, 0.1521, 0.1255, 0.3895},
55035 {0.2846, 0.1469, 0.0727, 0.4958},
55036 {0.3137, 0.1308, 0.1467, 0.4089},
55037 {0.1918, 0.1492, 0.1990, 0.4600}},
55038 {
55039 {0.3134, 0.1605, 0.1111, 0.4149},
55040 {0.2638, 0.1271, 0.0967, 0.5124},
55041 {0.2979, 0.1133, 0.1308, 0.4580},
55042 {0.1823, 0.1542, 0.2082, 0.4553}},
55043 {
55044 {0.2893, 0.1582, 0.1165, 0.4360},
55045 {0.2596, 0.1310, 0.1111, 0.4983},
55046 {0.2535, 0.1128, 0.1582, 0.4755},
55047 {0.1650, 0.1507, 0.2346, 0.4497}},
55048 {
55049 {0.2977, 0.1643, 0.1209, 0.4171},
55050 {0.2407, 0.1492, 0.0953, 0.5147},
55051 {0.2659, 0.1333, 0.1577, 0.4432},
55052 {0.1550, 0.1466, 0.2277, 0.4707}},
55053 {
55054 {0.2760, 0.1551, 0.1080, 0.4609},
55055 {0.2496, 0.1282, 0.0980, 0.5242},
55056 {0.2561, 0.1105, 0.1674, 0.4660},
55057 {0.1480, 0.1426, 0.2262, 0.4832}},
55058 {
55059 {0.2698, 0.1628, 0.0974, 0.4700},
55060 {0.2484, 0.1347, 0.1132, 0.5037},
55061 {0.2376, 0.1145, 0.1586, 0.4894},
55062 {0.1500, 0.1517, 0.2285, 0.4698}},
55063 {
55064 {0.2695, 0.1742, 0.0906, 0.4656},
55065 {0.2517, 0.1506, 0.0783, 0.5194},
55066 {0.2329, 0.1317, 0.1640, 0.4714},
55067 {0.1568, 0.1500, 0.2050, 0.4882}},
55068 {
55069 {0.2669, 0.1409, 0.0827, 0.5095},
55070 {0.2355, 0.1320, 0.0898, 0.5427},
55071 {0.2183, 0.1091, 0.1623, 0.5102},
55072 {0.1340, 0.1445, 0.2290, 0.4926}},
55073 {
55074 {0.2419, 0.1592, 0.0667, 0.5322},
55075 {0.2405, 0.1371, 0.0959, 0.5265},
55076 {0.1835, 0.1119, 0.1898, 0.5148},
55077 {0.1346, 0.1413, 0.2285, 0.4956}},
55078 {
55079 {0.2968, 0.1475, 0.0456, 0.5101},
55080 {0.2398, 0.1483, 0.0791, 0.5328},
55081 {0.2477, 0.1109, 0.1711, 0.4703},
55082 {0.1371, 0.1354, 0.2136, 0.5139}},
55083 {
55084 {0.2610, 0.1338, 0.0757, 0.5295},
55085 {0.2238, 0.1330, 0.0944, 0.5488},
55086 {0.2116, 0.0970, 0.1911, 0.5002},
55087 {0.1314, 0.1345, 0.2382, 0.4959}},
55088 {
55089 {0.3224, 0.1729, 0.0570, 0.4478},
55090 {0.2396, 0.1376, 0.1074, 0.5154},
55091 {0.2259, 0.1066, 0.1851, 0.4824},
55092 {0.1501, 0.1582, 0.2460, 0.4456}},
55093 {
55094 {0.3158, 0.1512, 0.0527, 0.4803},
55095 {0.2689, 0.1516, 0.0770, 0.5025},
55096 {0.2325, 0.1288, 0.1547, 0.4841},
55097 {0.1499, 0.1690, 0.2165, 0.4647}},
55098 {
55099 {0.2939, 0.1482, 0.0559, 0.5019},
55100 {0.2550, 0.1121, 0.0949, 0.5380},
55101 {0.2439, 0.1085, 0.1543, 0.4934},
55102 {0.1534, 0.1394, 0.2395, 0.4678}},
55103 {
55104 {0.2659, 0.1477, 0.0662, 0.5202},
55105 {0.2402, 0.1229, 0.1044, 0.5325},
55106 {0.2033, 0.1284, 0.1976, 0.4706},
55107 {0.1303, 0.1512, 0.2551, 0.4633}},
55108 {
55109 {0.2894, 0.1447, 0.0502, 0.5157},
55110 {0.2222, 0.1554, 0.0816, 0.5407},
55111 {0.2357, 0.0991, 0.1611, 0.5041},
55112 {0.1530, 0.1615, 0.2198, 0.4657}},
55113 {
55114 {0.2402, 0.1241, 0.0397, 0.5959},
55115 {0.1814, 0.1479, 0.0622, 0.6084},
55116 {0.2392, 0.1073, 0.1135, 0.5400},
55117 {0.1123, 0.1180, 0.1457, 0.6240}},
55118 {
55119 {0.4491, 0.1220, 0.1360, 0.2929},
55120 {0.3521, 0.0920, 0.2035, 0.3524},
55121 {0.3380, 0.0934, 0.3333, 0.2352},
55122 {0.1883, 0.0893, 0.4713, 0.2511}},
55123 {
55124 {0.1052, 0.5926, 0.0186, 0.2836},
55125 {0.1627, 0.4769, 0.0150, 0.3454},
55126 {0.0725, 0.6459, 0.0183, 0.2634},
55127 {0.0620, 0.5938, 0.0136, 0.3306}},
55128 {
55129 {1.0000, 0.0000, 0.0000, 0.0000},
55130 {1.0000, 0.0000, 0.0000, 0.0000},
55131 {1.0000, 0.0000, 0.0000, 0.0000},
55132 {1.0000, 0.0000, 0.0000, 0.0000}},
55133 {
55134 {0.0000, 0.0000, 1.0000, 0.0000},
55135 {0.0000, 0.0000, 0.0000, 0.0000},
55136 {0.0000, 0.0000, 0.0000, 0.0000},
55137 {0.0000, 0.0000, 0.0000, 0.0000}},
55138 {
55139 {0.0000, 0.0000, 0.0000, 0.0000},
55140 {0.0000, 0.0000, 0.0000, 0.0000},
55141 {0.2905, 0.1468, 0.4275, 0.1352},
55142 {0.0000, 0.0000, 0.0000, 0.0000}},
55143 {
55144 {0.2274, 0.1101, 0.2210, 0.4415},
55145 {0.2255, 0.1089, 0.1229, 0.5426},
55146 {0.2953, 0.1062, 0.1789, 0.4196},
55147 {0.1370, 0.1095, 0.2943, 0.4592}},
55148 {
55149 {0.3924, 0.1332, 0.2518, 0.2226},
55150 {0.4249, 0.1637, 0.1986, 0.2129},
55151 {0.3869, 0.1404, 0.2879, 0.1848},
55152 {0.2224, 0.1722, 0.3665, 0.2388}},
55153 {
55154 {0.3572, 0.1886, 0.1588, 0.2954},
55155 {0.2750, 0.2563, 0.1132, 0.3555},
55156 {0.3729, 0.1951, 0.2154, 0.2166},
55157 {0.1342, 0.2573, 0.1624, 0.4460}},
55158 {
55159 {0.3047, 0.1644, 0.2001, 0.3307},
55160 {0.3369, 0.1134, 0.1398, 0.4100},
55161 {0.2835, 0.1486, 0.2366, 0.3313},
55162 {0.1918, 0.1555, 0.2957, 0.3570}},
55163 {
55164 {0.3381, 0.1529, 0.2958, 0.2132},
55165 {0.4021, 0.1680, 0.1950, 0.2349},
55166 {0.3486, 0.1568, 0.3095, 0.1851},
55167 {0.2191, 0.1758, 0.4074, 0.1977}},
55168 {
55169 {0.3539, 0.1939, 0.1927, 0.2595},
55170 {0.3010, 0.2619, 0.1303, 0.3069},
55171 {0.3853, 0.1849, 0.1956, 0.2341},
55172 {0.1617, 0.2597, 0.1651, 0.4135}},
55173 {
55174 {0.2771, 0.1559, 0.2620, 0.3050},
55175 {0.3285, 0.1179, 0.1642, 0.3894},
55176 {0.3219, 0.1531, 0.2187, 0.3064},
55177 {0.1806, 0.1700, 0.3039, 0.3456}},
55178 {
55179 {0.3200, 0.1573, 0.3320, 0.1907},
55180 {0.4072, 0.1495, 0.2144, 0.2288},
55181 {0.3606, 0.1514, 0.3002, 0.1878},
55182 {0.2091, 0.1812, 0.4056, 0.2041}},
55183 {
55184 {0.3671, 0.1665, 0.1978, 0.2686},
55185 {0.2785, 0.3067, 0.1126, 0.3022},
55186 {0.3746, 0.1823, 0.2297, 0.2134},
55187 {0.1680, 0.2422, 0.1774, 0.4124}},
55188 {
55189 {0.2732, 0.1686, 0.2695, 0.2887},
55190 {0.3646, 0.1130, 0.1554, 0.3670},
55191 {0.2658, 0.1584, 0.2529, 0.3230},
55192 {0.1750, 0.1639, 0.2911, 0.3700}},
55193 {
55194 {0.3227, 0.1456, 0.3444, 0.1874},
55195 {0.3593, 0.1625, 0.2106, 0.2675},
55196 {0.3855, 0.1633, 0.2750, 0.1762},
55197 {0.1993, 0.2009, 0.3972, 0.2026}},
55198 {
55199 {0.3572, 0.1853, 0.1967, 0.2609},
55200 {0.3056, 0.2434, 0.1407, 0.3103},
55201 {0.3582, 0.1858, 0.2144, 0.2416},
55202 {0.1365, 0.2994, 0.1729, 0.3912}},
55203 {
55204 {0.2707, 0.1660, 0.2537, 0.3096},
55205 {0.3539, 0.1236, 0.1595, 0.3630},
55206 {0.2976, 0.1616, 0.2351, 0.3057},
55207 {0.1871, 0.1689, 0.3059, 0.3381}},
55208 {
55209 {0.3055, 0.1644, 0.3300, 0.2001},
55210 {0.3782, 0.1510, 0.2297, 0.2411},
55211 {0.3861, 0.1649, 0.2516, 0.1974},
55212 {0.2055, 0.1923, 0.4049, 0.1973}},
55213 {
55214 {0.3378, 0.1711, 0.2032, 0.2879},
55215 {0.2986, 0.2283, 0.1151, 0.3580},
55216 {0.3849, 0.1653, 0.2226, 0.2273},
55217 {0.1598, 0.2687, 0.1610, 0.4105}},
55218 {
55219 {0.2883, 0.1609, 0.2447, 0.3062},
55220 {0.3583, 0.1232, 0.1447, 0.3739},
55221 {0.3039, 0.1667, 0.2121, 0.3174},
55222 {0.1888, 0.1825, 0.2929, 0.3359}},
55223 {
55224 {0.2982, 0.1436, 0.3641, 0.1941},
55225 {0.4034, 0.1652, 0.1736, 0.2578},
55226 {0.3526, 0.1642, 0.2895, 0.1937},
55227 {0.1885, 0.1946, 0.3978, 0.2192}},
55228 {
55229 {0.3726, 0.1756, 0.1821, 0.2697},
55230 {0.2868, 0.2405, 0.1150, 0.3577},
55231 {0.3716, 0.2089, 0.2109, 0.2086},
55232 {0.1497, 0.2508, 0.1795, 0.4199}},
55233 {
55234 {0.2711, 0.1727, 0.2407, 0.3155},
55235 {0.3353, 0.1366, 0.1538, 0.3742},
55236 {0.3219, 0.1488, 0.2378, 0.2915},
55237 {0.1843, 0.2003, 0.2814, 0.3340}},
55238 {
55239 {0.2805, 0.1494, 0.3766, 0.1935},
55240 {0.3725, 0.1706, 0.2243, 0.2327},
55241 {0.3565, 0.1677, 0.2992, 0.1767},
55242 {0.1941, 0.1838, 0.4366, 0.1854}},
55243 {
55244 {0.3622, 0.1706, 0.2064, 0.2608},
55245 {0.2897, 0.2603, 0.1152, 0.3349},
55246 {0.3877, 0.1877, 0.1984, 0.2262},
55247 {0.1392, 0.2717, 0.1684, 0.4207}},
55248 {
55249 {0.2886, 0.1676, 0.2462, 0.2976},
55250 {0.3576, 0.1315, 0.1609, 0.3501},
55251 {0.3246, 0.1321, 0.2242, 0.3191},
55252 {0.1891, 0.1812, 0.2968, 0.3329}},
55253 {
55254 {0.3150, 0.1592, 0.3316, 0.1941},
55255 {0.3867, 0.1908, 0.2050, 0.2175},
55256 {0.3616, 0.1557, 0.3008, 0.1818},
55257 {0.1986, 0.1943, 0.4028, 0.2043}},
55258 {
55259 {0.3684, 0.1758, 0.1899, 0.2659},
55260 {0.2965, 0.2484, 0.1161, 0.3390},
55261 {0.4095, 0.1902, 0.1998, 0.2004},
55262 {0.1384, 0.2509, 0.2072, 0.4034}},
55263 {
55264 {0.2761, 0.1846, 0.2491, 0.2903},
55265 {0.3549, 0.1255, 0.1494, 0.3702},
55266 {0.2851, 0.1458, 0.2702, 0.2990},
55267 {0.2009, 0.1731, 0.2865, 0.3395}},
55268 {
55269 {0.2940, 0.1653, 0.3548, 0.1859},
55270 {0.3668, 0.1669, 0.2008, 0.2656},
55271 {0.3572, 0.1652, 0.2813, 0.1963},
55272 {0.1993, 0.2058, 0.3905, 0.2045}},
55273 {
55274 {0.3741, 0.1587, 0.1962, 0.2710},
55275 {0.3035, 0.2694, 0.1171, 0.3099},
55276 {0.3730, 0.2144, 0.1979, 0.2147},
55277 {0.1427, 0.2525, 0.1997, 0.4051}},
55278 {
55279 {0.2772, 0.1781, 0.2582, 0.2865},
55280 {0.3668, 0.1241, 0.1452, 0.3639},
55281 {0.2795, 0.1697, 0.2515, 0.2993},
55282 {0.1876, 0.1911, 0.2936, 0.3277}},
55283 {
55284 {0.2873, 0.1804, 0.3517, 0.1806},
55285 {0.3569, 0.1814, 0.2163, 0.2454},
55286 {0.3668, 0.1677, 0.2889, 0.1766},
55287 {0.1957, 0.2018, 0.4036, 0.1989}},
55288 {
55289 {0.3764, 0.1876, 0.1949, 0.2411},
55290 {0.2798, 0.2977, 0.1074, 0.3151},
55291 {0.3671, 0.2248, 0.1984, 0.2097},
55292 {0.1571, 0.2594, 0.1530, 0.4305}},
55293 {
55294 {0.2771, 0.1890, 0.2495, 0.2843},
55295 {0.3488, 0.1384, 0.1532, 0.3597},
55296 {0.2985, 0.1552, 0.2584, 0.2879},
55297 {0.1872, 0.1823, 0.2944, 0.3361}},
55298 {
55299 {0.3054, 0.1706, 0.3317, 0.1924},
55300 {0.3389, 0.1647, 0.2214, 0.2749},
55301 {0.3697, 0.1780, 0.2722, 0.1800},
55302 {0.2073, 0.2044, 0.3964, 0.1919}},
55303 {
55304 {0.3674, 0.1682, 0.1995, 0.2650},
55305 {0.3294, 0.2444, 0.1128, 0.3135},
55306 {0.3918, 0.1949, 0.2108, 0.2025},
55307 {0.1590, 0.2788, 0.1583, 0.4039}},
55308 {
55309 {0.2923, 0.1571, 0.2531, 0.2975},
55310 {0.3591, 0.1319, 0.1619, 0.3471},
55311 {0.2979, 0.1523, 0.2339, 0.3159},
55312 {0.2019, 0.2028, 0.2766, 0.3187}},
55313 {
55314 {0.2876, 0.1739, 0.3557, 0.1828},
55315 {0.3761, 0.1553, 0.2296, 0.2389},
55316 {0.3737, 0.1707, 0.2713, 0.1843},
55317 {0.2093, 0.1966, 0.4022, 0.1918}},
55318 {
55319 {0.3465, 0.1718, 0.1934, 0.2884},
55320 {0.3084, 0.2279, 0.1219, 0.3418},
55321 {0.3676, 0.1926, 0.2064, 0.2334},
55322 {0.1648, 0.2458, 0.1645, 0.4250}},
55323 {
55324 {0.2663, 0.1815, 0.2522, 0.3001},
55325 {0.3715, 0.1191, 0.1437, 0.3656},
55326 {0.3075, 0.1498, 0.2507, 0.2921},
55327 {0.1847, 0.2008, 0.2738, 0.3408}},
55328 {
55329 {0.2577, 0.1589, 0.3546, 0.2288},
55330 {0.3989, 0.1517, 0.2142, 0.2351},
55331 {0.3559, 0.1703, 0.2757, 0.1980},
55332 {0.2082, 0.1909, 0.4030, 0.1979}},
55333 {
55334 {0.3679, 0.1784, 0.1779, 0.2758},
55335 {0.2847, 0.2574, 0.1222, 0.3356},
55336 {0.3560, 0.2006, 0.2066, 0.2368},
55337 {0.1706, 0.2687, 0.1674, 0.3933}},
55338 {
55339 {0.2976, 0.1886, 0.2266, 0.2872},
55340 {0.3443, 0.1128, 0.1529, 0.3901},
55341 {0.2983, 0.1733, 0.2489, 0.2795},
55342 {0.1814, 0.2145, 0.2621, 0.3419}},
55343 {
55344 {0.2822, 0.1715, 0.3785, 0.1678},
55345 {0.3948, 0.1736, 0.2013, 0.2303},
55346 {0.3527, 0.1480, 0.3097, 0.1896},
55347 {0.1900, 0.2086, 0.4147, 0.1867}},
55348 {
55349 {0.3696, 0.1720, 0.1872, 0.2713},
55350 {0.3290, 0.2557, 0.1052, 0.3101},
55351 {0.3698, 0.1982, 0.2175, 0.2145},
55352 {0.1501, 0.3118, 0.1506, 0.3875}},
55353 {
55354 {0.2919, 0.1772, 0.2393, 0.2915},
55355 {0.3383, 0.1396, 0.1305, 0.3916},
55356 {0.3053, 0.1698, 0.2252, 0.2997},
55357 {0.1956, 0.2095, 0.2481, 0.3469}},
55358 {
55359 {0.3100, 0.1793, 0.3246, 0.1861},
55360 {0.4051, 0.1780, 0.1790, 0.2379},
55361 {0.3819, 0.1738, 0.2662, 0.1781},
55362 {0.2062, 0.2088, 0.3820, 0.2030}},
55363 {
55364 {0.3687, 0.1716, 0.1925, 0.2672},
55365 {0.3002, 0.2376, 0.1233, 0.3389},
55366 {0.3956, 0.2043, 0.1860, 0.2140},
55367 {0.1720, 0.3014, 0.1450, 0.3816}},
55368 {
55369 {0.2561, 0.1947, 0.2475, 0.3017},
55370 {0.3520, 0.1404, 0.1284, 0.3792},
55371 {0.3245, 0.1608, 0.2199, 0.2948},
55372 {0.2052, 0.2188, 0.2341, 0.3419}},
55373 {
55374 {0.2973, 0.1784, 0.3412, 0.1831},
55375 {0.4036, 0.1672, 0.1972, 0.2319},
55376 {0.3714, 0.1605, 0.2835, 0.1846},
55377 {0.2006, 0.2041, 0.3815, 0.2138}},
55378 {
55379 {0.3607, 0.1787, 0.1854, 0.2752},
55380 {0.3033, 0.2458, 0.1191, 0.3317},
55381 {0.3734, 0.1977, 0.2179, 0.2110},
55382 {0.1670, 0.2773, 0.1594, 0.3963}},
55383 {
55384 {0.2696, 0.2017, 0.2322, 0.2965},
55385 {0.3637, 0.1400, 0.1335, 0.3627},
55386 {0.2858, 0.1884, 0.2320, 0.2938},
55387 {0.1969, 0.2057, 0.2537, 0.3437}}},
55388
55389 { /* Splice_Site: T0_AG; Species: Cress */
55390 {
55391 {0.2757, 0.2757, 0.2757, 0.2757},
55392 {0.1661, 0.1661, 0.1661, 0.1661},
55393 {0.1626, 0.1626, 0.1626, 0.1626},
55394 {0.3955, 0.3955, 0.3955, 0.3955}},
55395 {
55396 {0.3130, 0.1526, 0.1843, 0.3501},
55397 {0.3136, 0.1455, 0.0970, 0.4440},
55398 {0.3368, 0.1395, 0.1513, 0.3724},
55399 {0.2189, 0.1744, 0.1819, 0.4247}},
55400 {
55401 {0.3217, 0.1514, 0.1669, 0.3600},
55402 {0.3183, 0.1693, 0.0899, 0.4225},
55403 {0.2955, 0.1469, 0.1643, 0.3933},
55404 {0.2188, 0.1760, 0.1945, 0.4107}},
55405 {
55406 {0.3301, 0.1491, 0.1605, 0.3603},
55407 {0.3173, 0.1312, 0.0857, 0.4659},
55408 {0.2996, 0.1421, 0.1621, 0.3962},
55409 {0.2147, 0.1886, 0.1981, 0.3986}},
55410 {
55411 {0.3111, 0.1694, 0.1823, 0.3373},
55412 {0.3101, 0.1524, 0.0978, 0.4397},
55413 {0.3222, 0.1353, 0.1588, 0.3838},
55414 {0.2162, 0.1704, 0.1857, 0.4278}},
55415 {
55416 {0.2989, 0.1526, 0.1782, 0.3704},
55417 {0.3222, 0.1522, 0.0904, 0.4352},
55418 {0.3173, 0.1546, 0.1594, 0.3687},
55419 {0.2035, 0.1725, 0.2062, 0.4178}},
55420 {
55421 {0.3211, 0.1387, 0.1692, 0.3710},
55422 {0.3335, 0.1551, 0.0895, 0.4220},
55423 {0.2975, 0.1718, 0.1354, 0.3954},
55424 {0.2253, 0.1572, 0.1969, 0.4207}},
55425 {
55426 {0.3053, 0.1657, 0.1585, 0.3705},
55427 {0.3253, 0.1475, 0.0906, 0.4365},
55428 {0.3118, 0.1356, 0.1694, 0.3832},
55429 {0.2055, 0.1643, 0.2081, 0.4220}},
55430 {
55431 {0.3104, 0.1482, 0.1770, 0.3643},
55432 {0.3435, 0.1329, 0.0989, 0.4247},
55433 {0.3086, 0.1280, 0.1694, 0.3940},
55434 {0.2001, 0.1730, 0.2141, 0.4128}},
55435 {
55436 {0.3115, 0.1516, 0.1724, 0.3645},
55437 {0.3154, 0.1569, 0.0912, 0.4366},
55438 {0.3145, 0.1384, 0.1442, 0.4029},
55439 {0.1992, 0.1740, 0.2108, 0.4160}},
55440 {
55441 {0.3260, 0.1396, 0.1833, 0.3510},
55442 {0.3166, 0.1550, 0.0887, 0.4397},
55443 {0.3259, 0.1379, 0.1613, 0.3748},
55444 {0.2070, 0.1756, 0.1997, 0.4177}},
55445 {
55446 {0.3117, 0.1541, 0.1694, 0.3649},
55447 {0.3169, 0.1515, 0.1145, 0.4171},
55448 {0.3092, 0.1335, 0.1525, 0.4048},
55449 {0.2178, 0.1585, 0.2158, 0.4079}},
55450 {
55451 {0.3278, 0.1618, 0.1600, 0.3504},
55452 {0.3260, 0.1317, 0.0787, 0.4636},
55453 {0.3255, 0.1304, 0.1538, 0.3903},
55454 {0.2104, 0.1731, 0.2019, 0.4146}},
55455 {
55456 {0.3330, 0.1515, 0.1575, 0.3580},
55457 {0.3216, 0.1415, 0.0792, 0.4577},
55458 {0.2975, 0.1302, 0.1651, 0.4073},
55459 {0.2112, 0.1669, 0.2049, 0.4169}},
55460 {
55461 {0.3108, 0.1592, 0.1615, 0.3685},
55462 {0.3192, 0.1520, 0.0925, 0.4363},
55463 {0.3092, 0.1271, 0.1626, 0.4012},
55464 {0.2027, 0.1762, 0.2209, 0.4002}},
55465 {
55466 {0.3236, 0.1456, 0.1857, 0.3451},
55467 {0.3218, 0.1623, 0.0894, 0.4265},
55468 {0.3127, 0.1453, 0.1646, 0.3774},
55469 {0.2294, 0.1726, 0.2091, 0.3889}},
55470 {
55471 {0.3140, 0.1563, 0.1618, 0.3679},
55472 {0.3066, 0.1461, 0.0927, 0.4546},
55473 {0.3252, 0.1524, 0.1556, 0.3668},
55474 {0.2096, 0.1595, 0.2190, 0.4120}},
55475 {
55476 {0.3460, 0.1454, 0.1586, 0.3500},
55477 {0.3299, 0.1444, 0.0919, 0.4338},
55478 {0.3169, 0.1496, 0.1529, 0.3806},
55479 {0.2071, 0.1675, 0.2204, 0.4051}},
55480 {
55481 {0.3422, 0.1668, 0.1468, 0.3442},
55482 {0.3209, 0.1366, 0.0784, 0.4640},
55483 {0.3411, 0.1286, 0.1547, 0.3756},
55484 {0.2232, 0.1651, 0.2125, 0.3991}},
55485 {
55486 {0.3288, 0.1583, 0.1517, 0.3612},
55487 {0.3088, 0.1288, 0.1013, 0.4612},
55488 {0.3233, 0.1315, 0.1607, 0.3845},
55489 {0.2371, 0.1601, 0.2023, 0.4005}},
55490 {
55491 {0.3433, 0.1476, 0.1651, 0.3441},
55492 {0.3190, 0.1334, 0.0767, 0.4710},
55493 {0.3621, 0.1277, 0.1379, 0.3723},
55494 {0.2170, 0.1744, 0.2115, 0.3972}},
55495 {
55496 {0.3346, 0.1639, 0.1464, 0.3551},
55497 {0.3225, 0.1355, 0.0845, 0.4574},
55498 {0.3077, 0.1402, 0.1384, 0.4137},
55499 {0.2113, 0.1802, 0.2043, 0.4042}},
55500 {
55501 {0.3291, 0.1622, 0.1383, 0.3704},
55502 {0.3129, 0.1349, 0.0750, 0.4773},
55503 {0.3575, 0.1292, 0.1356, 0.3776},
55504 {0.2191, 0.1581, 0.2121, 0.4108}},
55505 {
55506 {0.3168, 0.1583, 0.1456, 0.3793},
55507 {0.3003, 0.1185, 0.0813, 0.4999},
55508 {0.3478, 0.1236, 0.1306, 0.3980},
55509 {0.2300, 0.1598, 0.2046, 0.4057}},
55510 {
55511 {0.3361, 0.1573, 0.1292, 0.3774},
55512 {0.2887, 0.1407, 0.0690, 0.5016},
55513 {0.3511, 0.1444, 0.1418, 0.3627},
55514 {0.2307, 0.1663, 0.2104, 0.3926}},
55515 {
55516 {0.3263, 0.1794, 0.1302, 0.3641},
55517 {0.2819, 0.1393, 0.0864, 0.4924},
55518 {0.3716, 0.1315, 0.1357, 0.3612},
55519 {0.2357, 0.1582, 0.2149, 0.3912}},
55520 {
55521 {0.3411, 0.1661, 0.1210, 0.3718},
55522 {0.3218, 0.1268, 0.0858, 0.4655},
55523 {0.3795, 0.1245, 0.1212, 0.3748},
55524 {0.2246, 0.1659, 0.1991, 0.4103}},
55525 {
55526 {0.3504, 0.1663, 0.1028, 0.3805},
55527 {0.2961, 0.1216, 0.0782, 0.5041},
55528 {0.3503, 0.1366, 0.1254, 0.3878},
55529 {0.2234, 0.1573, 0.2123, 0.4070}},
55530 {
55531 {0.3483, 0.1631, 0.1120, 0.3766},
55532 {0.3059, 0.1160, 0.0764, 0.5017},
55533 {0.3569, 0.1273, 0.1292, 0.3866},
55534 {0.2187, 0.1481, 0.2129, 0.4203}},
55535 {
55536 {0.3356, 0.1681, 0.1119, 0.3845},
55537 {0.2690, 0.1373, 0.0754, 0.5182},
55538 {0.3746, 0.1055, 0.1164, 0.4035},
55539 {0.2104, 0.1568, 0.2182, 0.4146}},
55540 {
55541 {0.3274, 0.1759, 0.1092, 0.3875},
55542 {0.2679, 0.1329, 0.0938, 0.5055},
55543 {0.3289, 0.1343, 0.1270, 0.4098},
55544 {0.1954, 0.1500, 0.2267, 0.4279}},
55545 {
55546 {0.3178, 0.1626, 0.1150, 0.4047},
55547 {0.2531, 0.1308, 0.0984, 0.5177},
55548 {0.3358, 0.1166, 0.1399, 0.4077},
55549 {0.1789, 0.1570, 0.2199, 0.4441}},
55550 {
55551 {0.3068, 0.1864, 0.1097, 0.3971},
55552 {0.2676, 0.1341, 0.0691, 0.5292},
55553 {0.2772, 0.1143, 0.1693, 0.4391},
55554 {0.1800, 0.1374, 0.2220, 0.4606}},
55555 {
55556 {0.3117, 0.1533, 0.0939, 0.4410},
55557 {0.2895, 0.1428, 0.0879, 0.4798},
55558 {0.2664, 0.1237, 0.1697, 0.4401},
55559 {0.1743, 0.1487, 0.2102, 0.4668}},
55560 {
55561 {0.2720, 0.1593, 0.1323, 0.4364},
55562 {0.2351, 0.1425, 0.1088, 0.5136},
55563 {0.2454, 0.1212, 0.1681, 0.4653},
55564 {0.1571, 0.1484, 0.2284, 0.4661}},
55565 {
55566 {0.2753, 0.1542, 0.0838, 0.4867},
55567 {0.2500, 0.1440, 0.0895, 0.5165},
55568 {0.2342, 0.1084, 0.1752, 0.4822},
55569 {0.1481, 0.1578, 0.2206, 0.4736}},
55570 {
55571 {0.2793, 0.1539, 0.0867, 0.4801},
55572 {0.2382, 0.1501, 0.0887, 0.5231},
55573 {0.2369, 0.1133, 0.1593, 0.4906},
55574 {0.1466, 0.1504, 0.2272, 0.4758}},
55575 {
55576 {0.2790, 0.1429, 0.0903, 0.4879},
55577 {0.2439, 0.1368, 0.0854, 0.5339},
55578 {0.2153, 0.1284, 0.1755, 0.4808},
55579 {0.1365, 0.1493, 0.2196, 0.4946}},
55580 {
55581 {0.2842, 0.1547, 0.0757, 0.4855},
55582 {0.2222, 0.1375, 0.0893, 0.5510},
55583 {0.2040, 0.1203, 0.1741, 0.5015},
55584 {0.1306, 0.1500, 0.2156, 0.5038}},
55585 {
55586 {0.2701, 0.1540, 0.0534, 0.5226},
55587 {0.2159, 0.1286, 0.1014, 0.5540},
55588 {0.2319, 0.1083, 0.1564, 0.5034},
55589 {0.1413, 0.1482, 0.2132, 0.4972}},
55590 {
55591 {0.2857, 0.1561, 0.0544, 0.5038},
55592 {0.2307, 0.1348, 0.0815, 0.5530},
55593 {0.2141, 0.1015, 0.1701, 0.5142},
55594 {0.1298, 0.1483, 0.2014, 0.5205}},
55595 {
55596 {0.2715, 0.1318, 0.0594, 0.5374},
55597 {0.1945, 0.1290, 0.0784, 0.5980},
55598 {0.2112, 0.1257, 0.1783, 0.4849},
55599 {0.1260, 0.1495, 0.2265, 0.4980}},
55600 {
55601 {0.3027, 0.1818, 0.0379, 0.4776},
55602 {0.2272, 0.1616, 0.0880, 0.5232},
55603 {0.2469, 0.1244, 0.1907, 0.4379},
55604 {0.1412, 0.1560, 0.2587, 0.4441}},
55605 {
55606 {0.3047, 0.1439, 0.0456, 0.5058},
55607 {0.2442, 0.1396, 0.0909, 0.5253},
55608 {0.2393, 0.1153, 0.1600, 0.4854},
55609 {0.1475, 0.1707, 0.2201, 0.4616}},
55610 {
55611 {0.3035, 0.1432, 0.0397, 0.5136},
55612 {0.2525, 0.1303, 0.0731, 0.5441},
55613 {0.2470, 0.1262, 0.1528, 0.4740},
55614 {0.1652, 0.1521, 0.2294, 0.4533}},
55615 {
55616 {0.2995, 0.1366, 0.0379, 0.5260},
55617 {0.2274, 0.1434, 0.0883, 0.5409},
55618 {0.2356, 0.1197, 0.1922, 0.4525},
55619 {0.1354, 0.1474, 0.2498, 0.4674}},
55620 {
55621 {0.2713, 0.1317, 0.0618, 0.5351},
55622 {0.1814, 0.1508, 0.0939, 0.5739},
55623 {0.2216, 0.1027, 0.1467, 0.5291},
55624 {0.1398, 0.1691, 0.1961, 0.4950}},
55625 {
55626 {0.2502, 0.1136, 0.0412, 0.5949},
55627 {0.1882, 0.1219, 0.0553, 0.6346},
55628 {0.2418, 0.0849, 0.1278, 0.5455},
55629 {0.1046, 0.1199, 0.1516, 0.6239}},
55630 {
55631 {0.4525, 0.1277, 0.0930, 0.3268},
55632 {0.3676, 0.0924, 0.1880, 0.3520},
55633 {0.3456, 0.1094, 0.3188, 0.2262},
55634 {0.1783, 0.0870, 0.4720, 0.2627}},
55635 {
55636 {0.0932, 0.6066, 0.0143, 0.2860},
55637 {0.1134, 0.4852, 0.0095, 0.3920},
55638 {0.0667, 0.6588, 0.0105, 0.2640},
55639 {0.0577, 0.5857, 0.0204, 0.3363}},
55640 {
55641 {1.0000, 0.0000, 0.0000, 0.0000},
55642 {1.0000, 0.0000, 0.0000, 0.0000},
55643 {1.0000, 0.0000, 0.0000, 0.0000},
55644 {1.0000, 0.0000, 0.0000, 0.0000}},
55645 {
55646 {0.0000, 0.0000, 1.0000, 0.0000},
55647 {0.0000, 0.0000, 0.0000, 0.0000},
55648 {0.0000, 0.0000, 0.0000, 0.0000},
55649 {0.0000, 0.0000, 0.0000, 0.0000}},
55650 {
55651 {0.0000, 0.0000, 0.0000, 0.0000},
55652 {0.0000, 0.0000, 0.0000, 0.0000},
55653 {0.2456, 0.1198, 0.4559, 0.1787},
55654 {0.0000, 0.0000, 0.0000, 0.0000}},
55655 {
55656 {0.2334, 0.0987, 0.2537, 0.4141},
55657 {0.3040, 0.1792, 0.1429, 0.3738},
55658 {0.2495, 0.1295, 0.2205, 0.4005},
55659 {0.1721, 0.1253, 0.4203, 0.2823}},
55660 {
55661 {0.4008, 0.1567, 0.1384, 0.3040},
55662 {0.3363, 0.2202, 0.1251, 0.3184},
55663 {0.3967, 0.1589, 0.2238, 0.2206},
55664 {0.3053, 0.1503, 0.1601, 0.3844}},
55665 {
55666 {0.2081, 0.2775, 0.1455, 0.3689},
55667 {0.3293, 0.1267, 0.1707, 0.3734},
55668 {0.2412, 0.1470, 0.2965, 0.3153},
55669 {0.1591, 0.1913, 0.2659, 0.3837}},
55670 {
55671 {0.3214, 0.1875, 0.2754, 0.2157},
55672 {0.3422, 0.1843, 0.1875, 0.2860},
55673 {0.3446, 0.1473, 0.2876, 0.2205},
55674 {0.1705, 0.2010, 0.4248, 0.2037}},
55675 {
55676 {0.3463, 0.1715, 0.1645, 0.3177},
55677 {0.3031, 0.2397, 0.1192, 0.3379},
55678 {0.4066, 0.1680, 0.2046, 0.2208},
55679 {0.1770, 0.2039, 0.1614, 0.4578}},
55680 {
55681 {0.2627, 0.1681, 0.2374, 0.3318},
55682 {0.3383, 0.1174, 0.1713, 0.3730},
55683 {0.2922, 0.1233, 0.2654, 0.3191},
55684 {0.2136, 0.1626, 0.3016, 0.3223}},
55685 {
55686 {0.3024, 0.1399, 0.3670, 0.1907},
55687 {0.3797, 0.1692, 0.2031, 0.2480},
55688 {0.3802, 0.1538, 0.3160, 0.1501},
55689 {0.2145, 0.1880, 0.4129, 0.1846}},
55690 {
55691 {0.3517, 0.1757, 0.1844, 0.2883},
55692 {0.3226, 0.2247, 0.1333, 0.3194},
55693 {0.4192, 0.1836, 0.1929, 0.2043},
55694 {0.1836, 0.2966, 0.1437, 0.3761}},
55695 {
55696 {0.2840, 0.1788, 0.2411, 0.2961},
55697 {0.3550, 0.1206, 0.1505, 0.3739},
55698 {0.3134, 0.1500, 0.2364, 0.3002},
55699 {0.1749, 0.1765, 0.3148, 0.3338}},
55700 {
55701 {0.3114, 0.1422, 0.3598, 0.1865},
55702 {0.3847, 0.1764, 0.2074, 0.2315},
55703 {0.3530, 0.1770, 0.2989, 0.1711},
55704 {0.2101, 0.1881, 0.3941, 0.2077}},
55705 {
55706 {0.3814, 0.1689, 0.1689, 0.2808},
55707 {0.3163, 0.2538, 0.1278, 0.3021},
55708 {0.4182, 0.1966, 0.1820, 0.2031},
55709 {0.1552, 0.2864, 0.1575, 0.4009}},
55710 {
55711 {0.2659, 0.1755, 0.2436, 0.3151},
55712 {0.3777, 0.1058, 0.1519, 0.3646},
55713 {0.2961, 0.1462, 0.2594, 0.2983},
55714 {0.1821, 0.1657, 0.3042, 0.3480}},
55715 {
55716 {0.3008, 0.1642, 0.3578, 0.1773},
55717 {0.3994, 0.1620, 0.1959, 0.2428},
55718 {0.3509, 0.1746, 0.2807, 0.1939},
55719 {0.2139, 0.2093, 0.3897, 0.1871}},
55720 {
55721 {0.3808, 0.1651, 0.1712, 0.2830},
55722 {0.3292, 0.2245, 0.1187, 0.3276},
55723 {0.3673, 0.2090, 0.2211, 0.2025},
55724 {0.1587, 0.2505, 0.1777, 0.4130}},
55725 {
55726 {0.2597, 0.1828, 0.2670, 0.2905},
55727 {0.3639, 0.1127, 0.1732, 0.3502},
55728 {0.2854, 0.1649, 0.2513, 0.2984},
55729 {0.1955, 0.1900, 0.2767, 0.3379}},
55730 {
55731 {0.2898, 0.1416, 0.3631, 0.2054},
55732 {0.3950, 0.1757, 0.1900, 0.2393},
55733 {0.3413, 0.1705, 0.2944, 0.1938},
55734 {0.1911, 0.1893, 0.4184, 0.2012}},
55735 {
55736 {0.3635, 0.1813, 0.1857, 0.2695},
55737 {0.2889, 0.2545, 0.1214, 0.3352},
55738 {0.4111, 0.1880, 0.1858, 0.2151},
55739 {0.1714, 0.2427, 0.1879, 0.3981}},
55740 {
55741 {0.2603, 0.1704, 0.2666, 0.3027},
55742 {0.3731, 0.1258, 0.1446, 0.3565},
55743 {0.3002, 0.1448, 0.2491, 0.3059},
55744 {0.1840, 0.1784, 0.2954, 0.3423}},
55745 {
55746 {0.2824, 0.1703, 0.3411, 0.2063},
55747 {0.3849, 0.1661, 0.1992, 0.2498},
55748 {0.3649, 0.1782, 0.2589, 0.1980},
55749 {0.1802, 0.2103, 0.4168, 0.1927}},
55750 {
55751 {0.3786, 0.1579, 0.1753, 0.2882},
55752 {0.2908, 0.2136, 0.1205, 0.3751},
55753 {0.3952, 0.2012, 0.1917, 0.2120},
55754 {0.1628, 0.2518, 0.1686, 0.4168}},
55755 {
55756 {0.2565, 0.1781, 0.2623, 0.3031},
55757 {0.3590, 0.1322, 0.1584, 0.3504},
55758 {0.2917, 0.1738, 0.2460, 0.2885},
55759 {0.1977, 0.1678, 0.2913, 0.3432}},
55760 {
55761 {0.3040, 0.1497, 0.3679, 0.1785},
55762 {0.4027, 0.1626, 0.2016, 0.2332},
55763 {0.3794, 0.1588, 0.2958, 0.1660},
55764 {0.1981, 0.2156, 0.4065, 0.1797}},
55765 {
55766 {0.3607, 0.1750, 0.1882, 0.2762},
55767 {0.2975, 0.2511, 0.1306, 0.3208},
55768 {0.3925, 0.2146, 0.2000, 0.1929},
55769 {0.1639, 0.2717, 0.1567, 0.4077}},
55770 {
55771 {0.2777, 0.1646, 0.2597, 0.2979},
55772 {0.3860, 0.1079, 0.1562, 0.3498},
55773 {0.3229, 0.1603, 0.2137, 0.3031},
55774 {0.2096, 0.1915, 0.2882, 0.3106}},
55775 {
55776 {0.3063, 0.1685, 0.3532, 0.1720},
55777 {0.3958, 0.1496, 0.2020, 0.2526},
55778 {0.3817, 0.1707, 0.2748, 0.1728},
55779 {0.2005, 0.2051, 0.3953, 0.1991}},
55780 {
55781 {0.3773, 0.1756, 0.1908, 0.2563},
55782 {0.2956, 0.2405, 0.1303, 0.3336},
55783 {0.3706, 0.1972, 0.2280, 0.2041},
55784 {0.1773, 0.2470, 0.1672, 0.4085}},
55785 {
55786 {0.2802, 0.1846, 0.2548, 0.2805},
55787 {0.3603, 0.1147, 0.1510, 0.3740},
55788 {0.2885, 0.1583, 0.2461, 0.3072},
55789 {0.2120, 0.1956, 0.2827, 0.3097}},
55790 {
55791 {0.2859, 0.1740, 0.3618, 0.1783},
55792 {0.3773, 0.1686, 0.2149, 0.2392},
55793 {0.3722, 0.1700, 0.2685, 0.1892},
55794 {0.2021, 0.1990, 0.4079, 0.1911}},
55795 {
55796 {0.3599, 0.1646, 0.2048, 0.2707},
55797 {0.3261, 0.2267, 0.1309, 0.3163},
55798 {0.3568, 0.1804, 0.2269, 0.2358},
55799 {0.1594, 0.2585, 0.1872, 0.3950}},
55800 {
55801 {0.2884, 0.1648, 0.2626, 0.2842},
55802 {0.3741, 0.1324, 0.1478, 0.3458},
55803 {0.3133, 0.1737, 0.2239, 0.2891},
55804 {0.1887, 0.1822, 0.2904, 0.3387}},
55805 {
55806 {0.2980, 0.1667, 0.3324, 0.2029},
55807 {0.3741, 0.1597, 0.2162, 0.2500},
55808 {0.3880, 0.1778, 0.2598, 0.1745},
55809 {0.1864, 0.2046, 0.4107, 0.1983}},
55810 {
55811 {0.3505, 0.1518, 0.2038, 0.2939},
55812 {0.3050, 0.2497, 0.1266, 0.3186},
55813 {0.3573, 0.1931, 0.2207, 0.2288},
55814 {0.1505, 0.2683, 0.1711, 0.4101}},
55815 {
55816 {0.2889, 0.1726, 0.2541, 0.2843},
55817 {0.3576, 0.1321, 0.1300, 0.3803},
55818 {0.3133, 0.1501, 0.2186, 0.3181},
55819 {0.1879, 0.2209, 0.2731, 0.3180}},
55820 {
55821 {0.2912, 0.1847, 0.3431, 0.1810},
55822 {0.3632, 0.2054, 0.2092, 0.2221},
55823 {0.3660, 0.1778, 0.2748, 0.1814},
55824 {0.1935, 0.2324, 0.3820, 0.1921}},
55825 {
55826 {0.3927, 0.1745, 0.1892, 0.2437},
55827 {0.2951, 0.2941, 0.1118, 0.2989},
55828 {0.4104, 0.2073, 0.1761, 0.2061},
55829 {0.2041, 0.2696, 0.1664, 0.3599}},
55830 {
55831 {0.2833, 0.1847, 0.2455, 0.2865},
55832 {0.3887, 0.1244, 0.1325, 0.3545},
55833 {0.3236, 0.1560, 0.2390, 0.2814},
55834 {0.2026, 0.1786, 0.2735, 0.3453}},
55835 {
55836 {0.2758, 0.1688, 0.3579, 0.1975},
55837 {0.3925, 0.1750, 0.2036, 0.2289},
55838 {0.3751, 0.1737, 0.2803, 0.1709},
55839 {0.2039, 0.2073, 0.4007, 0.1880}},
55840 {
55841 {0.3668, 0.1629, 0.2073, 0.2630},
55842 {0.3181, 0.2334, 0.1394, 0.3091},
55843 {0.3660, 0.2167, 0.1971, 0.2203},
55844 {0.1624, 0.2927, 0.1502, 0.3946}},
55845 {
55846 {0.2901, 0.1766, 0.2599, 0.2734},
55847 {0.3383, 0.1312, 0.1415, 0.3890},
55848 {0.3112, 0.1731, 0.2233, 0.2923},
55849 {0.2165, 0.2021, 0.2588, 0.3226}},
55850 {
55851 {0.3134, 0.1515, 0.3509, 0.1841},
55852 {0.3760, 0.1412, 0.1924, 0.2903},
55853 {0.3634, 0.1752, 0.2697, 0.1918},
55854 {0.2089, 0.1906, 0.3951, 0.2054}},
55855 {
55856 {0.3470, 0.1686, 0.1798, 0.3046},
55857 {0.2894, 0.2166, 0.1210, 0.3731},
55858 {0.3807, 0.2180, 0.1770, 0.2244},
55859 {0.1714, 0.2577, 0.1534, 0.4175}},
55860 {
55861 {0.2607, 0.1968, 0.2530, 0.2896},
55862 {0.3469, 0.1563, 0.1406, 0.3563},
55863 {0.2740, 0.1586, 0.2631, 0.3043},
55864 {0.1918, 0.1999, 0.2550, 0.3533}},
55865 {
55866 {0.2853, 0.1809, 0.3325, 0.2014},
55867 {0.3694, 0.1941, 0.2123, 0.2243},
55868 {0.3934, 0.1749, 0.2565, 0.1752},
55869 {0.2006, 0.2252, 0.3867, 0.1875}},
55870 {
55871 {0.3935, 0.1645, 0.1843, 0.2577},
55872 {0.3154, 0.2255, 0.1406, 0.3186},
55873 {0.3711, 0.2004, 0.2074, 0.2210},
55874 {0.1493, 0.2569, 0.1534, 0.4403}},
55875 {
55876 {0.2884, 0.1784, 0.2480, 0.2853},
55877 {0.3532, 0.1294, 0.1494, 0.3679},
55878 {0.2973, 0.1633, 0.2268, 0.3126},
55879 {0.1892, 0.2002, 0.2720, 0.3387}},
55880 {
55881 {0.2896, 0.1721, 0.3516, 0.1866},
55882 {0.3703, 0.1716, 0.2006, 0.2575},
55883 {0.3734, 0.1741, 0.2718, 0.1806},
55884 {0.2077, 0.2100, 0.3815, 0.2008}},
55885 {
55886 {0.3793, 0.1799, 0.1729, 0.2679},
55887 {0.2952, 0.2204, 0.1383, 0.3461},
55888 {0.3778, 0.1998, 0.2050, 0.2174},
55889 {0.1503, 0.2721, 0.1640, 0.4136}},
55890 {
55891 {0.2955, 0.1819, 0.2566, 0.2660},
55892 {0.3557, 0.1393, 0.1268, 0.3781},
55893 {0.2890, 0.1547, 0.2248, 0.3315},
55894 {0.1992, 0.1991, 0.2620, 0.3397}},
55895 {
55896 {0.3111, 0.1625, 0.3290, 0.1974},
55897 {0.3827, 0.1737, 0.2135, 0.2301},
55898 {0.3512, 0.1758, 0.2948, 0.1782},
55899 {0.2167, 0.2114, 0.3691, 0.2028}}},
55900
55901 { /* Splice_Site: F1_AG; Species: Cress */
55902 {
55903 {0.2604, 0.2604, 0.2604, 0.2604},
55904 {0.1780, 0.1780, 0.1780, 0.1780},
55905 {0.2442, 0.2442, 0.2442, 0.2442},
55906 {0.3174, 0.3174, 0.3174, 0.3174}},
55907 {
55908 {0.3090, 0.1690, 0.3291, 0.1929},
55909 {0.3503, 0.1784, 0.2305, 0.2408},
55910 {0.3692, 0.1739, 0.2689, 0.1881},
55911 {0.2010, 0.2218, 0.3357, 0.2415}},
55912 {
55913 {0.3651, 0.1588, 0.2115, 0.2645},
55914 {0.3268, 0.2197, 0.1218, 0.3317},
55915 {0.4003, 0.1953, 0.1782, 0.2262},
55916 {0.1263, 0.2928, 0.1600, 0.4209}},
55917 {
55918 {0.2723, 0.1700, 0.2817, 0.2761},
55919 {0.3020, 0.1467, 0.1672, 0.3842},
55920 {0.2731, 0.1621, 0.2314, 0.3334},
55921 {0.1746, 0.2174, 0.2699, 0.3381}},
55922 {
55923 {0.2996, 0.1786, 0.3318, 0.1900},
55924 {0.3657, 0.1702, 0.2093, 0.2547},
55925 {0.3497, 0.1800, 0.2827, 0.1876},
55926 {0.2036, 0.2262, 0.3292, 0.2410}},
55927 {
55928 {0.3704, 0.1699, 0.1978, 0.2619},
55929 {0.3149, 0.2273, 0.1211, 0.3366},
55930 {0.3951, 0.1969, 0.1758, 0.2322},
55931 {0.1302, 0.2846, 0.1636, 0.4216}},
55932 {
55933 {0.2632, 0.1854, 0.2804, 0.2710},
55934 {0.3065, 0.1489, 0.1703, 0.3743},
55935 {0.2711, 0.1767, 0.2401, 0.3121},
55936 {0.1740, 0.2041, 0.2887, 0.3332}},
55937 {
55938 {0.3088, 0.1686, 0.3336, 0.1890},
55939 {0.3663, 0.1758, 0.2196, 0.2383},
55940 {0.3556, 0.1738, 0.2720, 0.1986},
55941 {0.2097, 0.2072, 0.3513, 0.2319}},
55942 {
55943 {0.3842, 0.1664, 0.1982, 0.2512},
55944 {0.3213, 0.2222, 0.1220, 0.3344},
55945 {0.4027, 0.1907, 0.1920, 0.2146},
55946 {0.1204, 0.2876, 0.1568, 0.4352}},
55947 {
55948 {0.2691, 0.1641, 0.2900, 0.2768},
55949 {0.3091, 0.1554, 0.1816, 0.3540},
55950 {0.2718, 0.1833, 0.2344, 0.3105},
55951 {0.1820, 0.1975, 0.2891, 0.3314}},
55952 {
55953 {0.3191, 0.1580, 0.3348, 0.1880},
55954 {0.3619, 0.1844, 0.2181, 0.2356},
55955 {0.3737, 0.1695, 0.2811, 0.1757},
55956 {0.1963, 0.2143, 0.3581, 0.2313}},
55957 {
55958 {0.3817, 0.1738, 0.1889, 0.2556},
55959 {0.3225, 0.2206, 0.1235, 0.3334},
55960 {0.3961, 0.1844, 0.1972, 0.2222},
55961 {0.1278, 0.2889, 0.1673, 0.4159}},
55962 {
55963 {0.2672, 0.1759, 0.2891, 0.2678},
55964 {0.3130, 0.1502, 0.1734, 0.3634},
55965 {0.2720, 0.1692, 0.2400, 0.3188},
55966 {0.1756, 0.2007, 0.2946, 0.3291}},
55967 {
55968 {0.3076, 0.1773, 0.3411, 0.1741},
55969 {0.3865, 0.1774, 0.2072, 0.2289},
55970 {0.3702, 0.1815, 0.2728, 0.1754},
55971 {0.2053, 0.2160, 0.3434, 0.2353}},
55972 {
55973 {0.3484, 0.1835, 0.2001, 0.2680},
55974 {0.3348, 0.2218, 0.1187, 0.3247},
55975 {0.3886, 0.1954, 0.1904, 0.2257},
55976 {0.1288, 0.2952, 0.1557, 0.4202}},
55977 {
55978 {0.2798, 0.1676, 0.2756, 0.2769},
55979 {0.3125, 0.1548, 0.1646, 0.3681},
55980 {0.2692, 0.1688, 0.2381, 0.3239},
55981 {0.1704, 0.2082, 0.2851, 0.3363}},
55982 {
55983 {0.3031, 0.1748, 0.3477, 0.1744},
55984 {0.3602, 0.1787, 0.2128, 0.2484},
55985 {0.3730, 0.1678, 0.2811, 0.1780},
55986 {0.1938, 0.2195, 0.3598, 0.2269}},
55987 {
55988 {0.3690, 0.1760, 0.2073, 0.2477},
55989 {0.3157, 0.2196, 0.1301, 0.3347},
55990 {0.4099, 0.1754, 0.1942, 0.2205},
55991 {0.1246, 0.3002, 0.1582, 0.4170}},
55992 {
55993 {0.2696, 0.1696, 0.2961, 0.2647},
55994 {0.3098, 0.1418, 0.1728, 0.3757},
55995 {0.2856, 0.1673, 0.2344, 0.3128},
55996 {0.1771, 0.2035, 0.2781, 0.3414}},
55997 {
55998 {0.2936, 0.1707, 0.3579, 0.1778},
55999 {0.3614, 0.1828, 0.2178, 0.2380},
56000 {0.3724, 0.1605, 0.2871, 0.1801},
56001 {0.2100, 0.2120, 0.3573, 0.2207}},
56002 {
56003 {0.3804, 0.1628, 0.1977, 0.2592},
56004 {0.3310, 0.2199, 0.1207, 0.3283},
56005 {0.4047, 0.1967, 0.1917, 0.2069},
56006 {0.1277, 0.3079, 0.1630, 0.4014}},
56007 {
56008 {0.2789, 0.1667, 0.2879, 0.2665},
56009 {0.3142, 0.1480, 0.1635, 0.3742},
56010 {0.2933, 0.1594, 0.2398, 0.3075},
56011 {0.1722, 0.2040, 0.2804, 0.3434}},
56012 {
56013 {0.3051, 0.1713, 0.3361, 0.1876},
56014 {0.3691, 0.1764, 0.2173, 0.2373},
56015 {0.3703, 0.1820, 0.2696, 0.1781},
56016 {0.1890, 0.2168, 0.3621, 0.2322}},
56017 {
56018 {0.3690, 0.1735, 0.1948, 0.2627},
56019 {0.3277, 0.2251, 0.1223, 0.3249},
56020 {0.4048, 0.1905, 0.1868, 0.2179},
56021 {0.1247, 0.3083, 0.1705, 0.3966}},
56022 {
56023 {0.2739, 0.1761, 0.2862, 0.2638},
56024 {0.2912, 0.1515, 0.1838, 0.3735},
56025 {0.2826, 0.1658, 0.2375, 0.3141},
56026 {0.1634, 0.2118, 0.2863, 0.3384}},
56027 {
56028 {0.3126, 0.1622, 0.3484, 0.1768},
56029 {0.3646, 0.1786, 0.2280, 0.2288},
56030 {0.3912, 0.1759, 0.2604, 0.1725},
56031 {0.1987, 0.2217, 0.3590, 0.2206}},
56032 {
56033 {0.3772, 0.1652, 0.2038, 0.2538},
56034 {0.3199, 0.2322, 0.1198, 0.3281},
56035 {0.4085, 0.1902, 0.1840, 0.2173},
56036 {0.1422, 0.3008, 0.1566, 0.4004}},
56037 {
56038 {0.2767, 0.1752, 0.2784, 0.2697},
56039 {0.3121, 0.1472, 0.1698, 0.3710},
56040 {0.2783, 0.1713, 0.2397, 0.3107},
56041 {0.1574, 0.2103, 0.2936, 0.3387}},
56042 {
56043 {0.2947, 0.1720, 0.3519, 0.1813},
56044 {0.3614, 0.1764, 0.2338, 0.2284},
56045 {0.3639, 0.1753, 0.2872, 0.1737},
56046 {0.1945, 0.2264, 0.3574, 0.2218}},
56047 {
56048 {0.3684, 0.1703, 0.2038, 0.2576},
56049 {0.3208, 0.2251, 0.1372, 0.3168},
56050 {0.4254, 0.1793, 0.1871, 0.2082},
56051 {0.1248, 0.3115, 0.1567, 0.4071}},
56052 {
56053 {0.2885, 0.1588, 0.2888, 0.2639},
56054 {0.3091, 0.1545, 0.1795, 0.3569},
56055 {0.2907, 0.1818, 0.2315, 0.2961},
56056 {0.1681, 0.2182, 0.2806, 0.3332}},
56057 {
56058 {0.3008, 0.1652, 0.3580, 0.1760},
56059 {0.3653, 0.1847, 0.2261, 0.2238},
56060 {0.3717, 0.1683, 0.2761, 0.1839},
56061 {0.1977, 0.2149, 0.3638, 0.2236}},
56062 {
56063 {0.3672, 0.1775, 0.2047, 0.2506},
56064 {0.3088, 0.2314, 0.1259, 0.3339},
56065 {0.4049, 0.1955, 0.1859, 0.2138},
56066 {0.1354, 0.2897, 0.1612, 0.4137}},
56067 {
56068 {0.2752, 0.1741, 0.2869, 0.2638},
56069 {0.3201, 0.1450, 0.1690, 0.3658},
56070 {0.2654, 0.1750, 0.2415, 0.3182},
56071 {0.1675, 0.2153, 0.3019, 0.3152}},
56072 {
56073 {0.2881, 0.1820, 0.3538, 0.1761},
56074 {0.3760, 0.1673, 0.2210, 0.2357},
56075 {0.3876, 0.1728, 0.2669, 0.1727},
56076 {0.1999, 0.2170, 0.3697, 0.2134}},
56077 {
56078 {0.3694, 0.1652, 0.2064, 0.2589},
56079 {0.3373, 0.2195, 0.1215, 0.3217},
56080 {0.3946, 0.1913, 0.1800, 0.2341},
56081 {0.1367, 0.2857, 0.1643, 0.4134}},
56082 {
56083 {0.2844, 0.1616, 0.2829, 0.2711},
56084 {0.3133, 0.1555, 0.1610, 0.3703},
56085 {0.2804, 0.1700, 0.2472, 0.3024},
56086 {0.1651, 0.2183, 0.2980, 0.3187}},
56087 {
56088 {0.3146, 0.1702, 0.3477, 0.1675},
56089 {0.3729, 0.1821, 0.2223, 0.2227},
56090 {0.3925, 0.1646, 0.2840, 0.1589},
56091 {0.2185, 0.2217, 0.3530, 0.2068}},
56092 {
56093 {0.3800, 0.1605, 0.2115, 0.2480},
56094 {0.3325, 0.2298, 0.1171, 0.3206},
56095 {0.4265, 0.1755, 0.1865, 0.2115},
56096 {0.1328, 0.2964, 0.1849, 0.3859}},
56097 {
56098 {0.2832, 0.1633, 0.2953, 0.2581},
56099 {0.3158, 0.1556, 0.1635, 0.3651},
56100 {0.2814, 0.1643, 0.2519, 0.3023},
56101 {0.1676, 0.2126, 0.2933, 0.3265}},
56102 {
56103 {0.3052, 0.1643, 0.3593, 0.1713},
56104 {0.3729, 0.1828, 0.2281, 0.2162},
56105 {0.3816, 0.1720, 0.2790, 0.1673},
56106 {0.2124, 0.2161, 0.3614, 0.2101}},
56107 {
56108 {0.3892, 0.1719, 0.2130, 0.2259},
56109 {0.3327, 0.2220, 0.1341, 0.3113},
56110 {0.4300, 0.1890, 0.1740, 0.2069},
56111 {0.1262, 0.3040, 0.1576, 0.4122}},
56112 {
56113 {0.2893, 0.1651, 0.2899, 0.2557},
56114 {0.3051, 0.1561, 0.1719, 0.3668},
56115 {0.2822, 0.1676, 0.2485, 0.3017},
56116 {0.1744, 0.2316, 0.2894, 0.3046}},
56117 {
56118 {0.2960, 0.1820, 0.3567, 0.1653},
56119 {0.3802, 0.1642, 0.2190, 0.2367},
56120 {0.3845, 0.1696, 0.2728, 0.1731},
56121 {0.2132, 0.2229, 0.3588, 0.2051}},
56122 {
56123 {0.3830, 0.1663, 0.1933, 0.2574},
56124 {0.3300, 0.2193, 0.1092, 0.3414},
56125 {0.4097, 0.2012, 0.1650, 0.2240},
56126 {0.1330, 0.2618, 0.1668, 0.4385}},
56127 {
56128 {0.2645, 0.1665, 0.3030, 0.2659},
56129 {0.2992, 0.1636, 0.1819, 0.3552},
56130 {0.2679, 0.1804, 0.2748, 0.2769},
56131 {0.1651, 0.2143, 0.3061, 0.3145}},
56132 {
56133 {0.2982, 0.1922, 0.3395, 0.1700},
56134 {0.3530, 0.1770, 0.2364, 0.2336},
56135 {0.3662, 0.1936, 0.2681, 0.1721},
56136 {0.2101, 0.2219, 0.3567, 0.2113}},
56137 {
56138 {0.3881, 0.1529, 0.1959, 0.2630},
56139 {0.3108, 0.2292, 0.1018, 0.3583},
56140 {0.4147, 0.2020, 0.1685, 0.2148},
56141 {0.1342, 0.3126, 0.1298, 0.4233}},
56142 {
56143 {0.2614, 0.1807, 0.3373, 0.2206},
56144 {0.3170, 0.1721, 0.1668, 0.3441},
56145 {0.2984, 0.2028, 0.2768, 0.2220},
56146 {0.1615, 0.2215, 0.3275, 0.2895}},
56147 {
56148 {0.3697, 0.1692, 0.4610, 0.0000},
56149 {0.5238, 0.1833, 0.2930, 0.0000},
56150 {0.4870, 0.1667, 0.3463, 0.0000},
56151 {0.2590, 0.2822, 0.4588, 0.0000}},
56152 {
56153 {1.0000, 0.0000, 0.0000, 0.0000},
56154 {1.0000, 0.0000, 0.0000, 0.0000},
56155 {1.0000, 0.0000, 0.0000, 0.0000},
56156 {1.0000, 0.0000, 0.0000, 0.0000}},
56157 {
56158 {0.0000, 0.0000, 1.0000, 0.0000},
56159 {0.0000, 0.0000, 0.0000, 0.0000},
56160 {0.0000, 0.0000, 0.0000, 0.0000},
56161 {0.0000, 0.0000, 0.0000, 0.0000}},
56162 {
56163 {0.0000, 0.0000, 0.0000, 0.0000},
56164 {0.0000, 0.0000, 0.0000, 0.0000},
56165 {0.3904, 0.2025, 0.2364, 0.1707},
56166 {0.0000, 0.0000, 0.0000, 0.0000}},
56167 {
56168 {0.4189, 0.1310, 0.1940, 0.2560},
56169 {0.2865, 0.1974, 0.0896, 0.4266},
56170 {0.4505, 0.1853, 0.1160, 0.2482},
56171 {0.1427, 0.2470, 0.1522, 0.4580}},
56172 {
56173 {0.3072, 0.1573, 0.2976, 0.2379},
56174 {0.3158, 0.1351, 0.1635, 0.3856},
56175 {0.2998, 0.1583, 0.2589, 0.2830},
56176 {0.1744, 0.2220, 0.2414, 0.3623}},
56177 {
56178 {0.2972, 0.1993, 0.3217, 0.1818},
56179 {0.3786, 0.1862, 0.2015, 0.2337},
56180 {0.3879, 0.2099, 0.2443, 0.1578},
56181 {0.1987, 0.2417, 0.3405, 0.2191}},
56182 {
56183 {0.3827, 0.1497, 0.1834, 0.2841},
56184 {0.3087, 0.2085, 0.1228, 0.3600},
56185 {0.4100, 0.1824, 0.1740, 0.2336},
56186 {0.1392, 0.2611, 0.1708, 0.4289}},
56187 {
56188 {0.2753, 0.1591, 0.3001, 0.2656},
56189 {0.3150, 0.1313, 0.1745, 0.3793},
56190 {0.2672, 0.1537, 0.2590, 0.3201},
56191 {0.1836, 0.1957, 0.2978, 0.3229}},
56192 {
56193 {0.3178, 0.1749, 0.3389, 0.1684},
56194 {0.3652, 0.1915, 0.2179, 0.2254},
56195 {0.3881, 0.1824, 0.2661, 0.1633},
56196 {0.2200, 0.2284, 0.3608, 0.1908}},
56197 {
56198 {0.3875, 0.1632, 0.2135, 0.2358},
56199 {0.3352, 0.2236, 0.1317, 0.3095},
56200 {0.4180, 0.1961, 0.1707, 0.2152},
56201 {0.1306, 0.3007, 0.1611, 0.4076}},
56202 {
56203 {0.2784, 0.1643, 0.2988, 0.2586},
56204 {0.3168, 0.1401, 0.1553, 0.3878},
56205 {0.2802, 0.1651, 0.2451, 0.3096},
56206 {0.1726, 0.2280, 0.2845, 0.3149}},
56207 {
56208 {0.3017, 0.1741, 0.3465, 0.1777},
56209 {0.3699, 0.1903, 0.2308, 0.2091},
56210 {0.3798, 0.1796, 0.2542, 0.1865},
56211 {0.1943, 0.2153, 0.3593, 0.2311}},
56212 {
56213 {0.3718, 0.1708, 0.2024, 0.2550},
56214 {0.3173, 0.2169, 0.1323, 0.3334},
56215 {0.4198, 0.1809, 0.1850, 0.2143},
56216 {0.1354, 0.3115, 0.1521, 0.4009}},
56217 {
56218 {0.2881, 0.1705, 0.2911, 0.2503},
56219 {0.3129, 0.1521, 0.1600, 0.3750},
56220 {0.2596, 0.1761, 0.2521, 0.3122},
56221 {0.1689, 0.2209, 0.2711, 0.3392}},
56222 {
56223 {0.2966, 0.1692, 0.3497, 0.1845},
56224 {0.3553, 0.1804, 0.2306, 0.2338},
56225 {0.3678, 0.1814, 0.2717, 0.1790},
56226 {0.2047, 0.2277, 0.3507, 0.2169}},
56227 {
56228 {0.3610, 0.1666, 0.1999, 0.2725},
56229 {0.3151, 0.2163, 0.1202, 0.3484},
56230 {0.4048, 0.1915, 0.1812, 0.2226},
56231 {0.1400, 0.2993, 0.1556, 0.4051}},
56232 {
56233 {0.2894, 0.1734, 0.2808, 0.2565},
56234 {0.2989, 0.1497, 0.1528, 0.3986},
56235 {0.2770, 0.1688, 0.2327, 0.3215},
56236 {0.1705, 0.2198, 0.2886, 0.3211}},
56237 {
56238 {0.2990, 0.1664, 0.3541, 0.1805},
56239 {0.3589, 0.1809, 0.2207, 0.2396},
56240 {0.3703, 0.1674, 0.2737, 0.1886},
56241 {0.2130, 0.2276, 0.3537, 0.2057}},
56242 {
56243 {0.3774, 0.1626, 0.2043, 0.2556},
56244 {0.3161, 0.2270, 0.1107, 0.3463},
56245 {0.3940, 0.1837, 0.1934, 0.2289},
56246 {0.1336, 0.3067, 0.1547, 0.4050}},
56247 {
56248 {0.2786, 0.1733, 0.2759, 0.2722},
56249 {0.3049, 0.1639, 0.1532, 0.3780},
56250 {0.2797, 0.1888, 0.2177, 0.3138},
56251 {0.1703, 0.2190, 0.2729, 0.3377}},
56252 {
56253 {0.3028, 0.1799, 0.3493, 0.1680},
56254 {0.3691, 0.1692, 0.2148, 0.2469},
56255 {0.3580, 0.1706, 0.2909, 0.1805},
56256 {0.1990, 0.2190, 0.3741, 0.2079}},
56257 {
56258 {0.3859, 0.1718, 0.2103, 0.2321},
56259 {0.3224, 0.2340, 0.1200, 0.3236},
56260 {0.4137, 0.1868, 0.1848, 0.2147},
56261 {0.1288, 0.3205, 0.1496, 0.4011}},
56262 {
56263 {0.2730, 0.1772, 0.2870, 0.2627},
56264 {0.2943, 0.1638, 0.1530, 0.3889},
56265 {0.2754, 0.1774, 0.2336, 0.3135},
56266 {0.1729, 0.2338, 0.2709, 0.3224}},
56267 {
56268 {0.3004, 0.1765, 0.3477, 0.1753},
56269 {0.3479, 0.1892, 0.2336, 0.2292},
56270 {0.3680, 0.1716, 0.2835, 0.1768},
56271 {0.1992, 0.2239, 0.3563, 0.2206}},
56272 {
56273 {0.3805, 0.1735, 0.1981, 0.2480},
56274 {0.3233, 0.2232, 0.1282, 0.3253},
56275 {0.3946, 0.1973, 0.1817, 0.2264},
56276 {0.1312, 0.3205, 0.1667, 0.3816}},
56277 {
56278 {0.2750, 0.1735, 0.2802, 0.2712},
56279 {0.2960, 0.1564, 0.1572, 0.3904},
56280 {0.2702, 0.1671, 0.2486, 0.3142},
56281 {0.1786, 0.2289, 0.2665, 0.3259}},
56282 {
56283 {0.3170, 0.1657, 0.3431, 0.1742},
56284 {0.3709, 0.1810, 0.2178, 0.2304},
56285 {0.3743, 0.1746, 0.2643, 0.1869},
56286 {0.2063, 0.2284, 0.3379, 0.2274}},
56287 {
56288 {0.3861, 0.1731, 0.1874, 0.2534},
56289 {0.3264, 0.2260, 0.1332, 0.3144},
56290 {0.4001, 0.1789, 0.1912, 0.2299},
56291 {0.1315, 0.3119, 0.1553, 0.4013}},
56292 {
56293 {0.2776, 0.1787, 0.2793, 0.2645},
56294 {0.2979, 0.1546, 0.1588, 0.3887},
56295 {0.2850, 0.1780, 0.2216, 0.3155},
56296 {0.1600, 0.2244, 0.2643, 0.3513}},
56297 {
56298 {0.2946, 0.1719, 0.3385, 0.1950},
56299 {0.3454, 0.1859, 0.2184, 0.2503},
56300 {0.3641, 0.1735, 0.2694, 0.1929},
56301 {0.2097, 0.2356, 0.3332, 0.2215}},
56302 {
56303 {0.3651, 0.1678, 0.2185, 0.2487},
56304 {0.3182, 0.2256, 0.1217, 0.3346},
56305 {0.3911, 0.1822, 0.1984, 0.2283},
56306 {0.1329, 0.2975, 0.1540, 0.4157}},
56307 {
56308 {0.2713, 0.1762, 0.2825, 0.2700},
56309 {0.2970, 0.1578, 0.1546, 0.3906},
56310 {0.2826, 0.1738, 0.2223, 0.3212},
56311 {0.1753, 0.2206, 0.2647, 0.3394}},
56312 {
56313 {0.2837, 0.1764, 0.3517, 0.1881},
56314 {0.3697, 0.1821, 0.2149, 0.2333},
56315 {0.3728, 0.1681, 0.2743, 0.1848},
56316 {0.1950, 0.2242, 0.3627, 0.2180}},
56317 {
56318 {0.3811, 0.1725, 0.2002, 0.2461},
56319 {0.3254, 0.2232, 0.1159, 0.3354},
56320 {0.4137, 0.1854, 0.1964, 0.2045},
56321 {0.1423, 0.3104, 0.1471, 0.4002}},
56322 {
56323 {0.2674, 0.1716, 0.2707, 0.2903},
56324 {0.2873, 0.1722, 0.1522, 0.3883},
56325 {0.2801, 0.1851, 0.2200, 0.3148},
56326 {0.1776, 0.2183, 0.2675, 0.3366}},
56327 {
56328 {0.2972, 0.1696, 0.3450, 0.1883},
56329 {0.3764, 0.1716, 0.2027, 0.2494},
56330 {0.3637, 0.1800, 0.2701, 0.1862},
56331 {0.1987, 0.2343, 0.3521, 0.2149}},
56332 {
56333 {0.3691, 0.1740, 0.2036, 0.2533},
56334 {0.3253, 0.2245, 0.1200, 0.3302},
56335 {0.3924, 0.1895, 0.1824, 0.2357},
56336 {0.1301, 0.3034, 0.1495, 0.4170}},
56337 {
56338 {0.2794, 0.1730, 0.2770, 0.2707},
56339 {0.2965, 0.1638, 0.1480, 0.3917},
56340 {0.2717, 0.1686, 0.2320, 0.3277},
56341 {0.1832, 0.2309, 0.2492, 0.3367}},
56342 {
56343 {0.3077, 0.1786, 0.3356, 0.1781},
56344 {0.3747, 0.1734, 0.2016, 0.2503},
56345 {0.3645, 0.1797, 0.2715, 0.1843},
56346 {0.2109, 0.2249, 0.3360, 0.2282}},
56347 {
56348 {0.3796, 0.1699, 0.1996, 0.2508},
56349 {0.3077, 0.2314, 0.1271, 0.3337},
56350 {0.3820, 0.1826, 0.1914, 0.2440},
56351 {0.1304, 0.2943, 0.1619, 0.4134}},
56352 {
56353 {0.2723, 0.1810, 0.2696, 0.2772},
56354 {0.2843, 0.1590, 0.1492, 0.4075},
56355 {0.2525, 0.1756, 0.2380, 0.3339},
56356 {0.1690, 0.2210, 0.2594, 0.3506}},
56357 {
56358 {0.3079, 0.1785, 0.3312, 0.1824},
56359 {0.3692, 0.1775, 0.2080, 0.2453},
56360 {0.3631, 0.1821, 0.2788, 0.1759},
56361 {0.2099, 0.2303, 0.3387, 0.2212}},
56362 {
56363 {0.3632, 0.1712, 0.2084, 0.2573},
56364 {0.2999, 0.2261, 0.1228, 0.3512},
56365 {0.4046, 0.1841, 0.1915, 0.2198},
56366 {0.1329, 0.3100, 0.1534, 0.4037}},
56367 {
56368 {0.2799, 0.1650, 0.2806, 0.2745},
56369 {0.2914, 0.1593, 0.1431, 0.4062},
56370 {0.2777, 0.1699, 0.2444, 0.3080},
56371 {0.1815, 0.2276, 0.2490, 0.3419}},
56372 {
56373 {0.3033, 0.1731, 0.3391, 0.1845},
56374 {0.3742, 0.1716, 0.2060, 0.2482},
56375 {0.3681, 0.1860, 0.2628, 0.1831},
56376 {0.1982, 0.2279, 0.3501, 0.2238}},
56377 {
56378 {0.3780, 0.1655, 0.1937, 0.2628},
56379 {0.3314, 0.2202, 0.1183, 0.3301},
56380 {0.3828, 0.1833, 0.1823, 0.2515},
56381 {0.1372, 0.3059, 0.1438, 0.4131}},
56382 {
56383 {0.2608, 0.1868, 0.2772, 0.2751},
56384 {0.2877, 0.1578, 0.1466, 0.4079},
56385 {0.2582, 0.1763, 0.2313, 0.3342},
56386 {0.1713, 0.2218, 0.2591, 0.3477}},
56387 {
56388 {0.3077, 0.1740, 0.3353, 0.1830},
56389 {0.3633, 0.1757, 0.2155, 0.2455},
56390 {0.3775, 0.1739, 0.2598, 0.1888},
56391 {0.2078, 0.2306, 0.3310, 0.2306}},
56392 {
56393 {0.3700, 0.1636, 0.1946, 0.2718},
56394 {0.3153, 0.2252, 0.1189, 0.3406},
56395 {0.3677, 0.1798, 0.2072, 0.2452},
56396 {0.1308, 0.3161, 0.1544, 0.3987}},
56397 {
56398 {0.2616, 0.1800, 0.2792, 0.2792},
56399 {0.2965, 0.1690, 0.1359, 0.3985},
56400 {0.2702, 0.1792, 0.2286, 0.3220},
56401 {0.1818, 0.2216, 0.2510, 0.3457}},
56402 {
56403 {0.2963, 0.1844, 0.3103, 0.2091},
56404 {0.3629, 0.1786, 0.2131, 0.2455},
56405 {0.3515, 0.1697, 0.2731, 0.2056},
56406 {0.2046, 0.2086, 0.3406, 0.2462}},
56407 {
56408 {0.3716, 0.1615, 0.2093, 0.2576},
56409 {0.3009, 0.2227, 0.1221, 0.3543},
56410 {0.4026, 0.1864, 0.1792, 0.2317},
56411 {0.1633, 0.2826, 0.1629, 0.3912}}},
56412
56413 { /* Splice_Site: F2_AG; Species: Cress */
56414 {
56415 {0.3035, 0.3035, 0.3035, 0.3035},
56416 {0.2042, 0.2042, 0.2042, 0.2042},
56417 {0.2080, 0.2080, 0.2080, 0.2080},
56418 {0.2843, 0.2843, 0.2843, 0.2843}},
56419 {
56420 {0.3008, 0.1662, 0.2445, 0.2885},
56421 {0.3162, 0.1566, 0.1428, 0.3844},
56422 {0.2979, 0.1767, 0.2285, 0.2969},
56423 {0.1786, 0.2001, 0.2562, 0.3651}},
56424 {
56425 {0.3239, 0.1724, 0.3052, 0.1986},
56426 {0.3781, 0.1694, 0.1875, 0.2650},
56427 {0.3427, 0.1838, 0.2591, 0.2144},
56428 {0.2126, 0.2100, 0.3334, 0.2440}},
56429 {
56430 {0.3638, 0.1612, 0.2267, 0.2483},
56431 {0.3452, 0.2223, 0.1318, 0.3006},
56432 {0.3873, 0.1809, 0.2150, 0.2168},
56433 {0.1408, 0.2821, 0.1833, 0.3938}},
56434 {
56435 {0.2766, 0.1930, 0.2095, 0.3208},
56436 {0.3250, 0.1482, 0.1362, 0.3907},
56437 {0.2729, 0.1905, 0.2238, 0.3128},
56438 {0.1741, 0.1987, 0.2670, 0.3601}},
56439 {
56440 {0.2970, 0.1777, 0.3362, 0.1892},
56441 {0.3838, 0.1672, 0.1958, 0.2531},
56442 {0.3434, 0.1898, 0.2599, 0.2069},
56443 {0.2060, 0.2032, 0.3371, 0.2537}},
56444 {
56445 {0.3358, 0.1604, 0.2425, 0.2613},
56446 {0.3388, 0.2162, 0.1241, 0.3209},
56447 {0.4043, 0.1865, 0.2029, 0.2063},
56448 {0.1316, 0.2818, 0.1889, 0.3977}},
56449 {
56450 {0.2819, 0.1981, 0.2256, 0.2944},
56451 {0.3287, 0.1550, 0.1211, 0.3952},
56452 {0.2846, 0.1826, 0.2281, 0.3047},
56453 {0.1721, 0.2303, 0.2345, 0.3631}},
56454 {
56455 {0.2929, 0.1907, 0.3176, 0.1987},
56456 {0.3887, 0.1680, 0.1950, 0.2483},
56457 {0.3500, 0.1795, 0.2612, 0.2093},
56458 {0.1975, 0.2198, 0.3430, 0.2397}},
56459 {
56460 {0.3332, 0.1786, 0.2378, 0.2503},
56461 {0.3248, 0.2321, 0.1369, 0.3063},
56462 {0.3904, 0.1915, 0.2003, 0.2177},
56463 {0.1302, 0.2858, 0.1822, 0.4018}},
56464 {
56465 {0.2887, 0.1940, 0.2375, 0.2798},
56466 {0.3339, 0.1685, 0.1209, 0.3768},
56467 {0.2732, 0.1932, 0.2211, 0.3125},
56468 {0.1768, 0.2144, 0.2326, 0.3762}},
56469 {
56470 {0.3148, 0.1924, 0.3216, 0.1712},
56471 {0.3552, 0.1862, 0.2110, 0.2477},
56472 {0.3593, 0.1739, 0.2603, 0.2065},
56473 {0.1940, 0.2080, 0.3450, 0.2530}},
56474 {
56475 {0.3527, 0.1592, 0.2433, 0.2448},
56476 {0.3171, 0.2301, 0.1510, 0.3018},
56477 {0.3855, 0.1896, 0.1993, 0.2257},
56478 {0.1433, 0.2906, 0.1974, 0.3686}},
56479 {
56480 {0.2872, 0.1745, 0.2354, 0.3029},
56481 {0.3292, 0.1587, 0.1391, 0.3730},
56482 {0.2610, 0.2062, 0.2274, 0.3053},
56483 {0.1721, 0.2110, 0.2573, 0.3596}},
56484 {
56485 {0.3090, 0.1751, 0.3247, 0.1912},
56486 {0.3958, 0.1664, 0.1844, 0.2534},
56487 {0.3301, 0.1790, 0.2853, 0.2056},
56488 {0.2041, 0.2180, 0.3425, 0.2354}},
56489 {
56490 {0.3726, 0.1612, 0.2330, 0.2331},
56491 {0.3295, 0.2038, 0.1432, 0.3235},
56492 {0.3808, 0.1973, 0.2108, 0.2111},
56493 {0.1365, 0.2729, 0.1831, 0.4075}},
56494 {
56495 {0.2897, 0.1949, 0.2361, 0.2793},
56496 {0.3410, 0.1706, 0.1274, 0.3610},
56497 {0.2626, 0.1957, 0.2373, 0.3044},
56498 {0.1973, 0.2114, 0.2333, 0.3580}},
56499 {
56500 {0.3085, 0.1725, 0.3279, 0.1911},
56501 {0.3910, 0.1653, 0.1922, 0.2515},
56502 {0.3647, 0.1646, 0.2759, 0.1947},
56503 {0.2041, 0.1959, 0.3653, 0.2347}},
56504 {
56505 {0.3664, 0.1709, 0.2244, 0.2382},
56506 {0.3372, 0.2207, 0.1521, 0.2901},
56507 {0.3731, 0.1777, 0.2118, 0.2373},
56508 {0.1406, 0.2917, 0.1710, 0.3968}},
56509 {
56510 {0.2753, 0.1815, 0.2439, 0.2993},
56511 {0.3243, 0.1754, 0.1268, 0.3735},
56512 {0.2707, 0.1925, 0.2133, 0.3235},
56513 {0.1864, 0.2169, 0.2361, 0.3607}},
56514 {
56515 {0.2934, 0.1745, 0.3410, 0.1911},
56516 {0.3776, 0.1449, 0.2052, 0.2722},
56517 {0.3536, 0.1730, 0.2684, 0.2050},
56518 {0.1963, 0.2215, 0.3584, 0.2238}},
56519 {
56520 {0.3384, 0.1815, 0.2397, 0.2404},
56521 {0.3248, 0.2235, 0.1608, 0.2908},
56522 {0.3960, 0.1806, 0.1990, 0.2245},
56523 {0.1331, 0.2844, 0.1967, 0.3859}},
56524 {
56525 {0.2926, 0.1843, 0.2342, 0.2888},
56526 {0.3348, 0.1795, 0.1246, 0.3611},
56527 {0.2691, 0.1985, 0.2237, 0.3087},
56528 {0.1680, 0.2253, 0.2459, 0.3608}},
56529 {
56530 {0.2946, 0.1818, 0.3373, 0.1863},
56531 {0.3879, 0.1812, 0.1784, 0.2525},
56532 {0.3284, 0.1931, 0.2688, 0.2097},
56533 {0.1997, 0.2081, 0.3584, 0.2338}},
56534 {
56535 {0.3525, 0.1673, 0.2426, 0.2375},
56536 {0.3162, 0.2162, 0.1624, 0.3052},
56537 {0.4008, 0.1931, 0.2061, 0.2000},
56538 {0.1386, 0.3017, 0.1955, 0.3642}},
56539 {
56540 {0.2918, 0.1772, 0.2394, 0.2916},
56541 {0.3248, 0.1701, 0.1239, 0.3812},
56542 {0.2502, 0.1878, 0.2549, 0.3071},
56543 {0.1690, 0.2178, 0.2506, 0.3627}},
56544 {
56545 {0.2855, 0.1891, 0.3321, 0.1933},
56546 {0.3865, 0.1661, 0.2037, 0.2437},
56547 {0.3793, 0.1804, 0.2379, 0.2024},
56548 {0.1978, 0.2137, 0.3488, 0.2397}},
56549 {
56550 {0.3545, 0.1720, 0.2319, 0.2416},
56551 {0.3284, 0.2334, 0.1478, 0.2903},
56552 {0.3895, 0.1782, 0.2203, 0.2121},
56553 {0.1462, 0.3048, 0.1951, 0.3539}},
56554 {
56555 {0.2893, 0.1633, 0.2525, 0.2950},
56556 {0.3359, 0.1499, 0.1441, 0.3701},
56557 {0.2692, 0.1950, 0.2409, 0.2949},
56558 {0.1721, 0.2169, 0.2536, 0.3573}},
56559 {
56560 {0.2851, 0.1811, 0.3318, 0.2020},
56561 {0.3831, 0.1760, 0.1879, 0.2530},
56562 {0.3664, 0.1731, 0.2540, 0.2065},
56563 {0.1920, 0.2160, 0.3680, 0.2240}},
56564 {
56565 {0.3528, 0.1649, 0.2453, 0.2371},
56566 {0.3268, 0.2268, 0.1529, 0.2936},
56567 {0.3751, 0.2025, 0.2185, 0.2039},
56568 {0.1427, 0.3106, 0.1937, 0.3530}},
56569 {
56570 {0.2904, 0.1787, 0.2386, 0.2923},
56571 {0.3393, 0.1626, 0.1359, 0.3622},
56572 {0.2703, 0.1906, 0.2356, 0.3035},
56573 {0.1628, 0.2294, 0.2518, 0.3560}},
56574 {
56575 {0.3034, 0.1727, 0.3308, 0.1931},
56576 {0.3856, 0.1826, 0.1818, 0.2500},
56577 {0.3511, 0.1936, 0.2555, 0.1998},
56578 {0.2052, 0.2137, 0.3687, 0.2125}},
56579 {
56580 {0.3407, 0.1740, 0.2292, 0.2561},
56581 {0.3623, 0.2165, 0.1363, 0.2850},
56582 {0.3952, 0.1885, 0.2053, 0.2111},
56583 {0.1212, 0.3004, 0.2035, 0.3749}},
56584 {
56585 {0.2885, 0.1779, 0.2468, 0.2868},
56586 {0.3281, 0.1459, 0.1462, 0.3798},
56587 {0.2708, 0.1870, 0.2391, 0.3031},
56588 {0.1781, 0.2253, 0.2558, 0.3409}},
56589 {
56590 {0.2921, 0.1861, 0.3402, 0.1816},
56591 {0.3889, 0.1757, 0.1933, 0.2422},
56592 {0.3511, 0.1704, 0.2659, 0.2126},
56593 {0.2078, 0.2194, 0.3575, 0.2152}},
56594 {
56595 {0.3620, 0.1620, 0.2316, 0.2444},
56596 {0.3346, 0.2172, 0.1508, 0.2974},
56597 {0.3902, 0.1933, 0.2206, 0.1959},
56598 {0.1395, 0.2880, 0.2006, 0.3719}},
56599 {
56600 {0.2952, 0.1861, 0.2204, 0.2984},
56601 {0.3370, 0.1547, 0.1211, 0.3872},
56602 {0.2699, 0.1850, 0.2450, 0.3001},
56603 {0.1709, 0.2220, 0.2437, 0.3634}},
56604 {
56605 {0.3264, 0.1696, 0.3264, 0.1777},
56606 {0.3597, 0.1757, 0.1972, 0.2675},
56607 {0.3582, 0.1537, 0.2795, 0.2086},
56608 {0.1969, 0.2050, 0.3830, 0.2151}},
56609 {
56610 {0.3588, 0.1716, 0.2340, 0.2356},
56611 {0.3266, 0.2329, 0.1503, 0.2902},
56612 {0.4011, 0.1882, 0.2072, 0.2035},
56613 {0.1352, 0.3019, 0.1963, 0.3667}},
56614 {
56615 {0.3018, 0.1755, 0.2229, 0.2998},
56616 {0.3358, 0.1756, 0.1149, 0.3736},
56617 {0.2641, 0.1853, 0.2507, 0.2999},
56618 {0.1809, 0.2286, 0.2443, 0.3462}},
56619 {
56620 {0.2902, 0.1779, 0.3592, 0.1727},
56621 {0.3752, 0.1808, 0.2077, 0.2363},
56622 {0.3483, 0.1847, 0.2651, 0.2019},
56623 {0.2019, 0.2145, 0.3722, 0.2114}},
56624 {
56625 {0.3560, 0.1732, 0.2567, 0.2141},
56626 {0.3575, 0.2193, 0.1658, 0.2574},
56627 {0.4027, 0.2012, 0.2111, 0.1850},
56628 {0.1325, 0.3196, 0.1946, 0.3533}},
56629 {
56630 {0.3062, 0.1662, 0.2435, 0.2841},
56631 {0.3238, 0.1670, 0.1341, 0.3751},
56632 {0.2763, 0.2019, 0.2320, 0.2898},
56633 {0.1880, 0.2228, 0.2448, 0.3444}},
56634 {
56635 {0.2904, 0.1904, 0.3394, 0.1798},
56636 {0.4036, 0.1621, 0.1906, 0.2437},
56637 {0.3494, 0.1937, 0.2646, 0.1922},
56638 {0.2152, 0.2058, 0.3578, 0.2212}},
56639 {
56640 {0.3386, 0.1753, 0.2663, 0.2197},
56641 {0.3250, 0.2197, 0.1660, 0.2893},
56642 {0.3717, 0.1877, 0.2399, 0.2007},
56643 {0.1372, 0.2975, 0.2188, 0.3465}},
56644 {
56645 {0.2823, 0.2014, 0.2268, 0.2895},
56646 {0.3424, 0.1642, 0.1318, 0.3615},
56647 {0.2779, 0.2014, 0.2471, 0.2735},
56648 {0.1944, 0.2268, 0.2517, 0.3270}},
56649 {
56650 {0.2977, 0.1988, 0.3303, 0.1732},
56651 {0.3827, 0.1931, 0.1619, 0.2623},
56652 {0.3616, 0.1774, 0.2721, 0.1888},
56653 {0.2174, 0.2151, 0.3521, 0.2153}},
56654 {
56655 {0.3388, 0.1702, 0.2847, 0.2063},
56656 {0.3335, 0.2414, 0.1775, 0.2475},
56657 {0.3877, 0.1949, 0.2366, 0.1808},
56658 {0.1321, 0.3272, 0.2294, 0.3114}},
56659 {
56660 {0.3000, 0.1942, 0.3103, 0.1955},
56661 {0.4271, 0.1544, 0.1602, 0.2582},
56662 {0.3334, 0.2071, 0.2619, 0.1976},
56663 {0.1852, 0.2641, 0.2937, 0.2570}},
56664 {
56665 {1.0000, 0.0000, 0.0000, 0.0000},
56666 {1.0000, 0.0000, 0.0000, 0.0000},
56667 {1.0000, 0.0000, 0.0000, 0.0000},
56668 {1.0000, 0.0000, 0.0000, 0.0000}},
56669 {
56670 {0.0000, 0.0000, 1.0000, 0.0000},
56671 {0.0000, 0.0000, 0.0000, 0.0000},
56672 {0.0000, 0.0000, 0.0000, 0.0000},
56673 {0.0000, 0.0000, 0.0000, 0.0000}},
56674 {
56675 {0.0000, 0.0000, 0.0000, 0.0000},
56676 {0.0000, 0.0000, 0.0000, 0.0000},
56677 {0.3397, 0.2107, 0.2009, 0.2487},
56678 {0.0000, 0.0000, 0.0000, 0.0000}},
56679 {
56680 {0.3159, 0.1785, 0.3230, 0.1826},
56681 {0.3614, 0.1968, 0.1580, 0.2838},
56682 {0.4002, 0.1958, 0.2075, 0.1965},
56683 {0.2262, 0.1901, 0.3523, 0.2313}},
56684 {
56685 {0.3577, 0.1637, 0.2590, 0.2196},
56686 {0.3362, 0.2063, 0.1820, 0.2756},
56687 {0.4124, 0.1683, 0.2222, 0.1970},
56688 {0.1346, 0.2979, 0.1821, 0.3853}},
56689 {
56690 {0.3129, 0.2064, 0.2093, 0.2714},
56691 {0.3460, 0.1575, 0.1373, 0.3592},
56692 {0.2824, 0.2063, 0.2128, 0.2985},
56693 {0.1771, 0.2442, 0.2258, 0.3529}},
56694 {
56695 {0.3153, 0.1867, 0.3156, 0.1823},
56696 {0.3843, 0.1772, 0.1762, 0.2623},
56697 {0.3707, 0.1748, 0.2459, 0.2086},
56698 {0.2061, 0.2322, 0.3378, 0.2239}},
56699 {
56700 {0.3563, 0.1613, 0.2464, 0.2360},
56701 {0.3209, 0.2107, 0.1556, 0.3128},
56702 {0.3490, 0.1805, 0.2470, 0.2235},
56703 {0.1344, 0.2810, 0.2020, 0.3825}},
56704 {
56705 {0.2887, 0.1895, 0.2281, 0.2937},
56706 {0.3196, 0.1805, 0.1369, 0.3629},
56707 {0.2734, 0.1883, 0.2404, 0.2979},
56708 {0.1785, 0.2393, 0.2374, 0.3448}},
56709 {
56710 {0.2973, 0.1829, 0.3434, 0.1764},
56711 {0.3519, 0.1862, 0.2146, 0.2474},
56712 {0.3555, 0.1693, 0.2684, 0.2067},
56713 {0.2117, 0.2311, 0.3508, 0.2064}},
56714 {
56715 {0.3600, 0.1545, 0.2575, 0.2279},
56716 {0.3399, 0.2249, 0.1510, 0.2843},
56717 {0.3934, 0.1985, 0.2083, 0.1998},
56718 {0.1469, 0.3271, 0.1754, 0.3507}},
56719 {
56720 {0.2829, 0.1731, 0.2354, 0.3086},
56721 {0.3258, 0.1545, 0.1301, 0.3896},
56722 {0.2713, 0.2046, 0.2306, 0.2935},
56723 {0.1768, 0.2331, 0.2058, 0.3843}},
56724 {
56725 {0.3171, 0.1813, 0.3345, 0.1671},
56726 {0.3660, 0.1733, 0.2055, 0.2552},
56727 {0.3548, 0.1610, 0.2700, 0.2142},
56728 {0.2003, 0.2311, 0.3553, 0.2133}},
56729 {
56730 {0.3563, 0.1693, 0.2448, 0.2296},
56731 {0.3249, 0.2326, 0.1615, 0.2810},
56732 {0.3962, 0.1823, 0.2160, 0.2056},
56733 {0.1227, 0.3302, 0.1917, 0.3554}},
56734 {
56735 {0.2888, 0.1802, 0.2487, 0.2822},
56736 {0.3364, 0.1539, 0.1333, 0.3764},
56737 {0.2892, 0.1898, 0.2293, 0.2917},
56738 {0.1706, 0.2368, 0.2574, 0.3351}},
56739 {
56740 {0.3089, 0.1796, 0.3273, 0.1843},
56741 {0.3682, 0.1899, 0.1977, 0.2442},
56742 {0.3538, 0.1716, 0.2758, 0.1987},
56743 {0.2176, 0.2159, 0.3580, 0.2085}},
56744 {
56745 {0.3328, 0.1800, 0.2448, 0.2424},
56746 {0.3172, 0.2199, 0.1576, 0.3052},
56747 {0.4098, 0.1850, 0.1981, 0.2072},
56748 {0.1206, 0.3282, 0.1918, 0.3594}},
56749 {
56750 {0.2854, 0.1739, 0.2521, 0.2886},
56751 {0.3235, 0.1752, 0.1421, 0.3592},
56752 {0.2808, 0.1833, 0.2408, 0.2951},
56753 {0.1806, 0.2229, 0.2526, 0.3440}},
56754 {
56755 {0.2992, 0.1746, 0.3263, 0.1999},
56756 {0.3797, 0.1728, 0.1934, 0.2540},
56757 {0.3464, 0.1761, 0.2821, 0.1955},
56758 {0.2176, 0.2216, 0.3405, 0.2204}},
56759 {
56760 {0.3321, 0.1719, 0.2492, 0.2469},
56761 {0.2901, 0.2196, 0.1577, 0.3326},
56762 {0.3646, 0.2166, 0.2108, 0.2080},
56763 {0.1395, 0.3027, 0.2044, 0.3534}},
56764 {
56765 {0.2879, 0.1832, 0.2327, 0.2962},
56766 {0.3139, 0.1599, 0.1218, 0.4044},
56767 {0.2715, 0.1902, 0.2212, 0.3171},
56768 {0.1717, 0.2227, 0.2352, 0.3705}},
56769 {
56770 {0.3174, 0.1755, 0.3158, 0.1913},
56771 {0.3600, 0.1753, 0.2048, 0.2600},
56772 {0.3442, 0.1739, 0.2855, 0.1963},
56773 {0.2041, 0.2299, 0.3574, 0.2086}},
56774 {
56775 {0.3449, 0.1723, 0.2472, 0.2356},
56776 {0.3299, 0.2228, 0.1465, 0.3008},
56777 {0.3845, 0.1826, 0.2228, 0.2101},
56778 {0.1359, 0.3090, 0.1889, 0.3662}},
56779 {
56780 {0.2897, 0.1758, 0.2498, 0.2846},
56781 {0.3222, 0.1593, 0.1332, 0.3853},
56782 {0.2759, 0.2023, 0.2259, 0.2960},
56783 {0.1860, 0.2128, 0.2435, 0.3577}},
56784 {
56785 {0.2963, 0.1826, 0.3243, 0.1968},
56786 {0.3439, 0.1797, 0.1975, 0.2790},
56787 {0.3667, 0.1755, 0.2530, 0.2049},
56788 {0.2109, 0.2261, 0.3511, 0.2119}},
56789 {
56790 {0.3238, 0.1654, 0.2612, 0.2495},
56791 {0.3338, 0.2087, 0.1560, 0.3015},
56792 {0.3826, 0.1909, 0.2055, 0.2210},
56793 {0.1410, 0.3124, 0.1880, 0.3586}},
56794 {
56795 {0.2908, 0.1947, 0.2287, 0.2858},
56796 {0.3261, 0.1745, 0.1263, 0.3732},
56797 {0.2597, 0.1818, 0.2290, 0.3295},
56798 {0.1881, 0.2195, 0.2298, 0.3625}},
56799 {
56800 {0.2979, 0.1782, 0.3185, 0.2055},
56801 {0.3896, 0.1671, 0.1930, 0.2504},
56802 {0.3698, 0.1589, 0.2739, 0.1974},
56803 {0.2038, 0.2189, 0.3500, 0.2273}},
56804 {
56805 {0.3488, 0.1684, 0.2276, 0.2551},
56806 {0.3228, 0.2401, 0.1527, 0.2844},
56807 {0.3773, 0.2041, 0.2090, 0.2096},
56808 {0.1375, 0.3025, 0.1942, 0.3658}},
56809 {
56810 {0.2833, 0.1755, 0.2457, 0.2955},
56811 {0.3451, 0.1569, 0.1325, 0.3656},
56812 {0.2678, 0.2076, 0.2178, 0.3068},
56813 {0.1922, 0.2298, 0.2259, 0.3521}},
56814 {
56815 {0.3083, 0.1825, 0.3085, 0.2007},
56816 {0.3895, 0.1813, 0.1733, 0.2558},
56817 {0.3402, 0.1830, 0.2791, 0.1977},
56818 {0.2098, 0.2218, 0.3291, 0.2393}},
56819 {
56820 {0.3359, 0.1907, 0.2386, 0.2349},
56821 {0.3447, 0.2178, 0.1467, 0.2907},
56822 {0.3900, 0.1816, 0.2108, 0.2176},
56823 {0.1373, 0.3023, 0.1767, 0.3838}},
56824 {
56825 {0.2880, 0.1949, 0.2304, 0.2867},
56826 {0.3288, 0.1674, 0.1148, 0.3891},
56827 {0.2610, 0.1942, 0.2394, 0.3054},
56828 {0.1881, 0.2331, 0.2327, 0.3461}},
56829 {
56830 {0.3064, 0.1959, 0.3178, 0.1799},
56831 {0.3584, 0.1825, 0.1772, 0.2819},
56832 {0.3551, 0.1723, 0.2882, 0.1844},
56833 {0.2090, 0.2355, 0.3285, 0.2270}},
56834 {
56835 {0.3575, 0.1685, 0.2362, 0.2378},
56836 {0.3142, 0.2322, 0.1509, 0.3027},
56837 {0.3746, 0.1998, 0.2103, 0.2154},
56838 {0.1410, 0.3174, 0.1885, 0.3532}},
56839 {
56840 {0.2904, 0.1829, 0.2400, 0.2867},
56841 {0.3112, 0.1707, 0.1183, 0.3998},
56842 {0.2704, 0.1997, 0.2243, 0.3056},
56843 {0.1900, 0.2356, 0.2226, 0.3517}},
56844 {
56845 {0.2819, 0.1944, 0.3355, 0.1882},
56846 {0.4015, 0.1754, 0.1819, 0.2412},
56847 {0.3392, 0.1719, 0.2693, 0.2196},
56848 {0.2000, 0.2164, 0.3562, 0.2274}},
56849 {
56850 {0.3597, 0.1812, 0.2282, 0.2308},
56851 {0.3337, 0.2270, 0.1537, 0.2856},
56852 {0.3782, 0.1846, 0.2184, 0.2188},
56853 {0.1400, 0.3182, 0.1717, 0.3702}},
56854 {
56855 {0.2809, 0.1932, 0.2304, 0.2955},
56856 {0.3045, 0.1622, 0.1222, 0.4111},
56857 {0.2568, 0.2021, 0.1971, 0.3440},
56858 {0.1868, 0.2329, 0.2256, 0.3547}},
56859 {
56860 {0.3155, 0.1801, 0.3129, 0.1914},
56861 {0.3725, 0.1854, 0.1641, 0.2779},
56862 {0.3402, 0.1824, 0.2682, 0.2092},
56863 {0.1962, 0.2368, 0.3326, 0.2344}},
56864 {
56865 {0.3361, 0.1681, 0.2480, 0.2478},
56866 {0.3297, 0.2220, 0.1499, 0.2985},
56867 {0.3737, 0.1889, 0.2134, 0.2240},
56868 {0.1285, 0.3002, 0.1817, 0.3895}},
56869 {
56870 {0.2845, 0.1877, 0.2138, 0.3140},
56871 {0.3212, 0.1677, 0.1210, 0.3902},
56872 {0.2772, 0.1881, 0.2145, 0.3202},
56873 {0.1922, 0.2345, 0.2196, 0.3537}},
56874 {
56875 {0.3189, 0.1765, 0.3080, 0.1967},
56876 {0.3737, 0.1757, 0.2000, 0.2506},
56877 {0.3320, 0.1857, 0.2673, 0.2151},
56878 {0.2099, 0.2232, 0.3192, 0.2477}},
56879 {
56880 {0.3531, 0.1668, 0.2174, 0.2627},
56881 {0.3361, 0.2221, 0.1427, 0.2991},
56882 {0.3832, 0.1933, 0.2013, 0.2222},
56883 {0.1443, 0.3221, 0.1688, 0.3648}},
56884 {
56885 {0.2684, 0.1888, 0.2240, 0.3187},
56886 {0.3228, 0.1687, 0.1263, 0.3822},
56887 {0.2795, 0.1867, 0.2155, 0.3183},
56888 {0.1749, 0.2312, 0.2215, 0.3724}},
56889 {
56890 {0.3109, 0.1860, 0.2960, 0.2071},
56891 {0.3867, 0.1536, 0.1955, 0.2642},
56892 {0.3352, 0.1837, 0.2731, 0.2081},
56893 {0.1928, 0.2319, 0.3345, 0.2407}},
56894 {
56895 {0.3506, 0.1861, 0.2307, 0.2326},
56896 {0.3324, 0.2133, 0.1415, 0.3128},
56897 {0.4072, 0.1817, 0.1883, 0.2228},
56898 {0.1284, 0.3233, 0.1893, 0.3590}},
56899 {
56900 {0.2960, 0.1831, 0.2142, 0.3067},
56901 {0.3436, 0.1605, 0.1152, 0.3806},
56902 {0.2543, 0.2025, 0.2191, 0.3240},
56903 {0.1784, 0.2250, 0.2203, 0.3763}},
56904 {
56905 {0.3022, 0.1773, 0.3159, 0.2045},
56906 {0.3554, 0.1909, 0.1794, 0.2744},
56907 {0.3650, 0.1773, 0.2446, 0.2132},
56908 {0.2112, 0.2104, 0.3383, 0.2402}},
56909 {
56910 {0.3582, 0.1611, 0.2442, 0.2364},
56911 {0.3223, 0.2289, 0.1468, 0.3021},
56912 {0.3769, 0.1843, 0.2059, 0.2329},
56913 {0.1433, 0.3080, 0.1938, 0.3549}},
56914 {
56915 {0.2863, 0.1963, 0.2262, 0.2912},
56916 {0.3142, 0.1602, 0.1115, 0.4141},
56917 {0.2674, 0.1746, 0.2208, 0.3372},
56918 {0.1634, 0.2266, 0.2360, 0.3740}},
56919 {
56920 {0.2970, 0.1849, 0.3012, 0.2169},
56921 {0.3573, 0.1799, 0.1908, 0.2720},
56922 {0.3381, 0.1574, 0.2700, 0.2345},
56923 {0.2038, 0.2290, 0.3180, 0.2492}}},
56924
56925 { /* Splice_Site: F0_AG; Species: Cress */
56926 {
56927 {0.3160, 0.3160, 0.3160, 0.3160},
56928 {0.2234, 0.2234, 0.2234, 0.2234},
56929 {0.2040, 0.2040, 0.2040, 0.2040},
56930 {0.2567, 0.2567, 0.2567, 0.2567}},
56931 {
56932 {0.2680, 0.1788, 0.2690, 0.2842},
56933 {0.3381, 0.1582, 0.1403, 0.3633},
56934 {0.3131, 0.1774, 0.2134, 0.2960},
56935 {0.1128, 0.2683, 0.2066, 0.4123}},
56936 {
56937 {0.2752, 0.1787, 0.2665, 0.2796},
56938 {0.3035, 0.1916, 0.1921, 0.3128},
56939 {0.2830, 0.1989, 0.2637, 0.2544},
56940 {0.1994, 0.2358, 0.2975, 0.2673}},
56941 {
56942 {0.3563, 0.1746, 0.2510, 0.2181},
56943 {0.3401, 0.2205, 0.1548, 0.2846},
56944 {0.3649, 0.1988, 0.2182, 0.2181},
56945 {0.1701, 0.2766, 0.2169, 0.3364}},
56946 {
56947 {0.2883, 0.1820, 0.2641, 0.2655},
56948 {0.3071, 0.1594, 0.1637, 0.3699},
56949 {0.2859, 0.1668, 0.2462, 0.3012},
56950 {0.0936, 0.2570, 0.2186, 0.4308}},
56951 {
56952 {0.2841, 0.1942, 0.2556, 0.2661},
56953 {0.3521, 0.1641, 0.2055, 0.2783},
56954 {0.2736, 0.2115, 0.2575, 0.2574},
56955 {0.1948, 0.2153, 0.3132, 0.2767}},
56956 {
56957 {0.3599, 0.1834, 0.2609, 0.1957},
56958 {0.3353, 0.2226, 0.1388, 0.3033},
56959 {0.3878, 0.1847, 0.2280, 0.1995},
56960 {0.1808, 0.2889, 0.2205, 0.3098}},
56961 {
56962 {0.2664, 0.1858, 0.2707, 0.2771},
56963 {0.3149, 0.1630, 0.1538, 0.3683},
56964 {0.2920, 0.1609, 0.2296, 0.3175},
56965 {0.0853, 0.2792, 0.2174, 0.4181}},
56966 {
56967 {0.2881, 0.1872, 0.2619, 0.2629},
56968 {0.3684, 0.1760, 0.1945, 0.2610},
56969 {0.2903, 0.2101, 0.2639, 0.2357},
56970 {0.1877, 0.2155, 0.3087, 0.2881}},
56971 {
56972 {0.3537, 0.1934, 0.2439, 0.2091},
56973 {0.3358, 0.2282, 0.1469, 0.2890},
56974 {0.3849, 0.1818, 0.2353, 0.1981},
56975 {0.1843, 0.2908, 0.2035, 0.3214}},
56976 {
56977 {0.2775, 0.1688, 0.2575, 0.2962},
56978 {0.3263, 0.1539, 0.1411, 0.3786},
56979 {0.2989, 0.1903, 0.2066, 0.3042},
56980 {0.1023, 0.2729, 0.2092, 0.4156}},
56981 {
56982 {0.3049, 0.2023, 0.2412, 0.2516},
56983 {0.3333, 0.1744, 0.1974, 0.2949},
56984 {0.2708, 0.2171, 0.2691, 0.2431},
56985 {0.2049, 0.2060, 0.3002, 0.2889}},
56986 {
56987 {0.3540, 0.1808, 0.2332, 0.2320},
56988 {0.3347, 0.2478, 0.1435, 0.2741},
56989 {0.3945, 0.1991, 0.2217, 0.1847},
56990 {0.1654, 0.2940, 0.2110, 0.3296}},
56991 {
56992 {0.2820, 0.1844, 0.2650, 0.2685},
56993 {0.3217, 0.1527, 0.1516, 0.3740},
56994 {0.3134, 0.1564, 0.2141, 0.3160},
56995 {0.0964, 0.2793, 0.2194, 0.4049}},
56996 {
56997 {0.3065, 0.1738, 0.2708, 0.2489},
56998 {0.3818, 0.1743, 0.1671, 0.2768},
56999 {0.2708, 0.1909, 0.2918, 0.2464},
57000 {0.1933, 0.2308, 0.3066, 0.2693}},
57001 {
57002 {0.3544, 0.1944, 0.2435, 0.2077},
57003 {0.3162, 0.2509, 0.1570, 0.2759},
57004 {0.4092, 0.1790, 0.2010, 0.2108},
57005 {0.1624, 0.3114, 0.2089, 0.3173}},
57006 {
57007 {0.2856, 0.1858, 0.2573, 0.2714},
57008 {0.3142, 0.1572, 0.1516, 0.3770},
57009 {0.3012, 0.1662, 0.2281, 0.3046},
57010 {0.0809, 0.2867, 0.2094, 0.4230}},
57011 {
57012 {0.2791, 0.2033, 0.2692, 0.2483},
57013 {0.3552, 0.1823, 0.1838, 0.2788},
57014 {0.2892, 0.1933, 0.2819, 0.2357},
57015 {0.2062, 0.2299, 0.3014, 0.2625}},
57016 {
57017 {0.3636, 0.1906, 0.2420, 0.2038},
57018 {0.3214, 0.2391, 0.1512, 0.2884},
57019 {0.3798, 0.1903, 0.2115, 0.2184},
57020 {0.1779, 0.3004, 0.2067, 0.3149}},
57021 {
57022 {0.2826, 0.1925, 0.2472, 0.2777},
57023 {0.3234, 0.1613, 0.1473, 0.3681},
57024 {0.2890, 0.1751, 0.2376, 0.2983},
57025 {0.1054, 0.2689, 0.2221, 0.4036}},
57026 {
57027 {0.2692, 0.2049, 0.2657, 0.2602},
57028 {0.3348, 0.1935, 0.1976, 0.2741},
57029 {0.2796, 0.2052, 0.2722, 0.2431},
57030 {0.1986, 0.2231, 0.3075, 0.2708}},
57031 {
57032 {0.3439, 0.1793, 0.2647, 0.2120},
57033 {0.3255, 0.2376, 0.1503, 0.2866},
57034 {0.3767, 0.1888, 0.2329, 0.2016},
57035 {0.1885, 0.2960, 0.2038, 0.3117}},
57036 {
57037 {0.2906, 0.1862, 0.2522, 0.2710},
57038 {0.3108, 0.1536, 0.1676, 0.3680},
57039 {0.3093, 0.1847, 0.2157, 0.2903},
57040 {0.0820, 0.2683, 0.2364, 0.4133}},
57041 {
57042 {0.2796, 0.1920, 0.2787, 0.2498},
57043 {0.3633, 0.1658, 0.2085, 0.2624},
57044 {0.2749, 0.2104, 0.2691, 0.2456},
57045 {0.2076, 0.2201, 0.3220, 0.2503}},
57046 {
57047 {0.3801, 0.1790, 0.2443, 0.1966},
57048 {0.3504, 0.2326, 0.1682, 0.2488},
57049 {0.3869, 0.1877, 0.2251, 0.2003},
57050 {0.1792, 0.2927, 0.2171, 0.3110}},
57051 {
57052 {0.2901, 0.1979, 0.2493, 0.2627},
57053 {0.2962, 0.1656, 0.1692, 0.3689},
57054 {0.2924, 0.1709, 0.2268, 0.3099},
57055 {0.0968, 0.2821, 0.2196, 0.4015}},
57056 {
57057 {0.2798, 0.2160, 0.2565, 0.2477},
57058 {0.3165, 0.1872, 0.2035, 0.2928},
57059 {0.2945, 0.1976, 0.2615, 0.2465},
57060 {0.1923, 0.2204, 0.3167, 0.2707}},
57061 {
57062 {0.3640, 0.1906, 0.2432, 0.2022},
57063 {0.3439, 0.2354, 0.1542, 0.2666},
57064 {0.3964, 0.1923, 0.2198, 0.1916},
57065 {0.1704, 0.3155, 0.2150, 0.2991}},
57066 {
57067 {0.2823, 0.1948, 0.2642, 0.2587},
57068 {0.2979, 0.1736, 0.1672, 0.3613},
57069 {0.3016, 0.1667, 0.2212, 0.3104},
57070 {0.0891, 0.2897, 0.2249, 0.3963}},
57071 {
57072 {0.2910, 0.1748, 0.2885, 0.2457},
57073 {0.3523, 0.1970, 0.1894, 0.2613},
57074 {0.2946, 0.1882, 0.2919, 0.2253},
57075 {0.2047, 0.2138, 0.3097, 0.2718}},
57076 {
57077 {0.3660, 0.1745, 0.2352, 0.2244},
57078 {0.3197, 0.2351, 0.1611, 0.2842},
57079 {0.3988, 0.1898, 0.2334, 0.1779},
57080 {0.1811, 0.3106, 0.1970, 0.3113}},
57081 {
57082 {0.2701, 0.1843, 0.2577, 0.2879},
57083 {0.3122, 0.1494, 0.1542, 0.3842},
57084 {0.3082, 0.1775, 0.2173, 0.2970},
57085 {0.1000, 0.2685, 0.2283, 0.4032}},
57086 {
57087 {0.2867, 0.1983, 0.2643, 0.2507},
57088 {0.3680, 0.1772, 0.1880, 0.2668},
57089 {0.2791, 0.2169, 0.2771, 0.2268},
57090 {0.2064, 0.2267, 0.3189, 0.2480}},
57091 {
57092 {0.3608, 0.1998, 0.2242, 0.2152},
57093 {0.3256, 0.2217, 0.1683, 0.2844},
57094 {0.3656, 0.2030, 0.2258, 0.2056},
57095 {0.1580, 0.3119, 0.2029, 0.3272}},
57096 {
57097 {0.2799, 0.1876, 0.2676, 0.2649},
57098 {0.3165, 0.1619, 0.1658, 0.3559},
57099 {0.3015, 0.1728, 0.2284, 0.2974},
57100 {0.0795, 0.2855, 0.2178, 0.4171}},
57101 {
57102 {0.3085, 0.1852, 0.2671, 0.2392},
57103 {0.3511, 0.1754, 0.1875, 0.2861},
57104 {0.2828, 0.2063, 0.2737, 0.2373},
57105 {0.1986, 0.2262, 0.3101, 0.2651}},
57106 {
57107 {0.3415, 0.1945, 0.2499, 0.2141},
57108 {0.3428, 0.2301, 0.1649, 0.2622},
57109 {0.3857, 0.1955, 0.2254, 0.1933},
57110 {0.1634, 0.2977, 0.2126, 0.3263}},
57111 {
57112 {0.2624, 0.1890, 0.2667, 0.2820},
57113 {0.3169, 0.1683, 0.1581, 0.3567},
57114 {0.2701, 0.1902, 0.2337, 0.3060},
57115 {0.0807, 0.3012, 0.2195, 0.3986}},
57116 {
57117 {0.3108, 0.1755, 0.2812, 0.2326},
57118 {0.3557, 0.1746, 0.2136, 0.2561},
57119 {0.3021, 0.1872, 0.2930, 0.2176},
57120 {0.2101, 0.2095, 0.3277, 0.2526}},
57121 {
57122 {0.3401, 0.1946, 0.2552, 0.2100},
57123 {0.3432, 0.2298, 0.1558, 0.2713},
57124 {0.3670, 0.1958, 0.2355, 0.2017},
57125 {0.1652, 0.3115, 0.2210, 0.3023}},
57126 {
57127 {0.2833, 0.1803, 0.2747, 0.2616},
57128 {0.3072, 0.1724, 0.1571, 0.3634},
57129 {0.2896, 0.1925, 0.2365, 0.2815},
57130 {0.0851, 0.2838, 0.2150, 0.4161}},
57131 {
57132 {0.3114, 0.1908, 0.2772, 0.2206},
57133 {0.3663, 0.1704, 0.1893, 0.2741},
57134 {0.3018, 0.1858, 0.2841, 0.2284},
57135 {0.1861, 0.2305, 0.3152, 0.2682}},
57136 {
57137 {0.3708, 0.1853, 0.2377, 0.2061},
57138 {0.3197, 0.2439, 0.1769, 0.2595},
57139 {0.3959, 0.2062, 0.2238, 0.1741},
57140 {0.1749, 0.3055, 0.2179, 0.3018}},
57141 {
57142 {0.2568, 0.1912, 0.2854, 0.2666},
57143 {0.3287, 0.1638, 0.1445, 0.3631},
57144 {0.2863, 0.1947, 0.2222, 0.2967},
57145 {0.1020, 0.2820, 0.2432, 0.3727}},
57146 {
57147 {0.3120, 0.2094, 0.2462, 0.2323},
57148 {0.3653, 0.1745, 0.2089, 0.2513},
57149 {0.3048, 0.1961, 0.2573, 0.2418},
57150 {0.2173, 0.2096, 0.3250, 0.2481}},
57151 {
57152 {0.3581, 0.1795, 0.2451, 0.2173},
57153 {0.3156, 0.2164, 0.1940, 0.2740},
57154 {0.3659, 0.1973, 0.2411, 0.1956},
57155 {0.1826, 0.3031, 0.2208, 0.2935}},
57156 {
57157 {0.2623, 0.2046, 0.2674, 0.2656},
57158 {0.3170, 0.1793, 0.1556, 0.3482},
57159 {0.3096, 0.1882, 0.2052, 0.2969},
57160 {0.0915, 0.3002, 0.2176, 0.3906}},
57161 {
57162 {0.2847, 0.2036, 0.2683, 0.2434},
57163 {0.3630, 0.2105, 0.2044, 0.2221},
57164 {0.2989, 0.2209, 0.2805, 0.1997},
57165 {0.1833, 0.2411, 0.2998, 0.2758}},
57166 {
57167 {0.3717, 0.2040, 0.3098, 0.1146},
57168 {0.3878, 0.2609, 0.1723, 0.1789},
57169 {0.3912, 0.2066, 0.2837, 0.1186},
57170 {0.1838, 0.3229, 0.2952, 0.1980}},
57171 {
57172 {0.2670, 0.2286, 0.3660, 0.1384},
57173 {0.3933, 0.1571, 0.2143, 0.2353},
57174 {0.3459, 0.2325, 0.2593, 0.1623},
57175 {0.0000, 0.5761, 0.0000, 0.4239}},
57176 {
57177 {1.0000, 0.0000, 0.0000, 0.0000},
57178 {1.0000, 0.0000, 0.0000, 0.0000},
57179 {1.0000, 0.0000, 0.0000, 0.0000},
57180 {1.0000, 0.0000, 0.0000, 0.0000}},
57181 {
57182 {0.0000, 0.0000, 1.0000, 0.0000},
57183 {0.0000, 0.0000, 0.0000, 0.0000},
57184 {0.0000, 0.0000, 0.0000, 0.0000},
57185 {0.0000, 0.0000, 0.0000, 0.0000}},
57186 {
57187 {0.0000, 0.0000, 0.0000, 0.0000},
57188 {0.0000, 0.0000, 0.0000, 0.0000},
57189 {0.3532, 0.2156, 0.1967, 0.2345},
57190 {0.0000, 0.0000, 0.0000, 0.0000}},
57191 {
57192 {0.3319, 0.1569, 0.2997, 0.2115},
57193 {0.3328, 0.1857, 0.1612, 0.3203},
57194 {0.3990, 0.2088, 0.1862, 0.2060},
57195 {0.2160, 0.2000, 0.3227, 0.2613}},
57196 {
57197 {0.3924, 0.1608, 0.2605, 0.1863},
57198 {0.3539, 0.2194, 0.1814, 0.2454},
57199 {0.3871, 0.1918, 0.2321, 0.1890},
57200 {0.1775, 0.3000, 0.1990, 0.3235}},
57201 {
57202 {0.2782, 0.2178, 0.2420, 0.2619},
57203 {0.3376, 0.1788, 0.1231, 0.3605},
57204 {0.3110, 0.2290, 0.2043, 0.2557},
57205 {0.1001, 0.3260, 0.1962, 0.3777}},
57206 {
57207 {0.3046, 0.1908, 0.2572, 0.2475},
57208 {0.3580, 0.1706, 0.1801, 0.2913},
57209 {0.2947, 0.2193, 0.2380, 0.2480},
57210 {0.2065, 0.2246, 0.3167, 0.2522}},
57211 {
57212 {0.3427, 0.1653, 0.2934, 0.1987},
57213 {0.3236, 0.2312, 0.1571, 0.2881},
57214 {0.3624, 0.1907, 0.2420, 0.2050},
57215 {0.1919, 0.2820, 0.2207, 0.3055}},
57216 {
57217 {0.2765, 0.2198, 0.2565, 0.2472},
57218 {0.3044, 0.1743, 0.1605, 0.3607},
57219 {0.3174, 0.1976, 0.2291, 0.2560},
57220 {0.0967, 0.2982, 0.2442, 0.3609}},
57221 {
57222 {0.2889, 0.1906, 0.2816, 0.2389},
57223 {0.3733, 0.1791, 0.2126, 0.2350},
57224 {0.2824, 0.2000, 0.2889, 0.2287},
57225 {0.2040, 0.2217, 0.3270, 0.2473}},
57226 {
57227 {0.3536, 0.1931, 0.2507, 0.2026},
57228 {0.3612, 0.2372, 0.1547, 0.2468},
57229 {0.4005, 0.1830, 0.2305, 0.1860},
57230 {0.1678, 0.3234, 0.2193, 0.2895}},
57231 {
57232 {0.2700, 0.1892, 0.2787, 0.2621},
57233 {0.3242, 0.1592, 0.1510, 0.3656},
57234 {0.2995, 0.1569, 0.2408, 0.3027},
57235 {0.1013, 0.2976, 0.2272, 0.3739}},
57236 {
57237 {0.3103, 0.1883, 0.2755, 0.2259},
57238 {0.3539, 0.1819, 0.2094, 0.2547},
57239 {0.2930, 0.2174, 0.2820, 0.2075},
57240 {0.2018, 0.2371, 0.3057, 0.2554}},
57241 {
57242 {0.3448, 0.1934, 0.2630, 0.1987},
57243 {0.3233, 0.2251, 0.1920, 0.2596},
57244 {0.3817, 0.1831, 0.2333, 0.2019},
57245 {0.1741, 0.3240, 0.2117, 0.2902}},
57246 {
57247 {0.2801, 0.1811, 0.2735, 0.2653},
57248 {0.3097, 0.1776, 0.1561, 0.3566},
57249 {0.2953, 0.1800, 0.2352, 0.2895},
57250 {0.0943, 0.2812, 0.2234, 0.4012}},
57251 {
57252 {0.2940, 0.1951, 0.2749, 0.2360},
57253 {0.3593, 0.1904, 0.2019, 0.2484},
57254 {0.3034, 0.2130, 0.2659, 0.2177},
57255 {0.2038, 0.2452, 0.2946, 0.2564}},
57256 {
57257 {0.3686, 0.1842, 0.2513, 0.1959},
57258 {0.3523, 0.2230, 0.1406, 0.2842},
57259 {0.3959, 0.1887, 0.2348, 0.1806},
57260 {0.1697, 0.3181, 0.2387, 0.2734}},
57261 {
57262 {0.2616, 0.1902, 0.2861, 0.2621},
57263 {0.3046, 0.1728, 0.1439, 0.3786},
57264 {0.2859, 0.1810, 0.2370, 0.2962},
57265 {0.0942, 0.2705, 0.2328, 0.4026}},
57266 {
57267 {0.2831, 0.1918, 0.2757, 0.2495},
57268 {0.3510, 0.1895, 0.1861, 0.2734},
57269 {0.2793, 0.2327, 0.2616, 0.2265},
57270 {0.1957, 0.2370, 0.3212, 0.2460}},
57271 {
57272 {0.3770, 0.1799, 0.2334, 0.2097},
57273 {0.3244, 0.2200, 0.1660, 0.2896},
57274 {0.3810, 0.1936, 0.2332, 0.1922},
57275 {0.1809, 0.2898, 0.2091, 0.3202}},
57276 {
57277 {0.2778, 0.1906, 0.2682, 0.2635},
57278 {0.3167, 0.1636, 0.1734, 0.3462},
57279 {0.2896, 0.1720, 0.2277, 0.3106},
57280 {0.0947, 0.2862, 0.2297, 0.3894}},
57281 {
57282 {0.3046, 0.2001, 0.2597, 0.2356},
57283 {0.3554, 0.1840, 0.2051, 0.2554},
57284 {0.2764, 0.1916, 0.2997, 0.2323},
57285 {0.1886, 0.2455, 0.3210, 0.2449}},
57286 {
57287 {0.3767, 0.1932, 0.2351, 0.1950},
57288 {0.3058, 0.2521, 0.1497, 0.2924},
57289 {0.3909, 0.1950, 0.2219, 0.1922},
57290 {0.1701, 0.3297, 0.2096, 0.2906}},
57291 {
57292 {0.2884, 0.1908, 0.2632, 0.2577},
57293 {0.3196, 0.1683, 0.1472, 0.3649},
57294 {0.3084, 0.1721, 0.2267, 0.2929},
57295 {0.0939, 0.3129, 0.2010, 0.3922}},
57296 {
57297 {0.2899, 0.2039, 0.2806, 0.2255},
57298 {0.3248, 0.2161, 0.1985, 0.2606},
57299 {0.2853, 0.1978, 0.2810, 0.2360},
57300 {0.2003, 0.2454, 0.3000, 0.2543}},
57301 {
57302 {0.3672, 0.1852, 0.2590, 0.1886},
57303 {0.3418, 0.2188, 0.1538, 0.2856},
57304 {0.3877, 0.1812, 0.2305, 0.2005},
57305 {0.1770, 0.3237, 0.2028, 0.2965}},
57306 {
57307 {0.2803, 0.1847, 0.2654, 0.2696},
57308 {0.3169, 0.1726, 0.1489, 0.3616},
57309 {0.3095, 0.2025, 0.2110, 0.2770},
57310 {0.1051, 0.2753, 0.2193, 0.4003}},
57311 {
57312 {0.2981, 0.1980, 0.2344, 0.2696},
57313 {0.3576, 0.1823, 0.2020, 0.2581},
57314 {0.2776, 0.2000, 0.2780, 0.2444},
57315 {0.1982, 0.2440, 0.2951, 0.2627}},
57316 {
57317 {0.3529, 0.1985, 0.2550, 0.1936},
57318 {0.3432, 0.2366, 0.1571, 0.2630},
57319 {0.3818, 0.1875, 0.2193, 0.2115},
57320 {0.1804, 0.3208, 0.2100, 0.2888}},
57321 {
57322 {0.2797, 0.1926, 0.2617, 0.2661},
57323 {0.3176, 0.1626, 0.1464, 0.3735},
57324 {0.2909, 0.1914, 0.2278, 0.2898},
57325 {0.0858, 0.3200, 0.2072, 0.3870}},
57326 {
57327 {0.2897, 0.1862, 0.2718, 0.2522},
57328 {0.3591, 0.1891, 0.1897, 0.2621},
57329 {0.2904, 0.2122, 0.2422, 0.2553},
57330 {0.2013, 0.2352, 0.3110, 0.2525}},
57331 {
57332 {0.3737, 0.1956, 0.2245, 0.2061},
57333 {0.3403, 0.2117, 0.1533, 0.2947},
57334 {0.3691, 0.1932, 0.2318, 0.2059},
57335 {0.1900, 0.3165, 0.2083, 0.2852}},
57336 {
57337 {0.2825, 0.1929, 0.2598, 0.2648},
57338 {0.3321, 0.1685, 0.1442, 0.3552},
57339 {0.3110, 0.2008, 0.2275, 0.2606},
57340 {0.0991, 0.3052, 0.2089, 0.3868}},
57341 {
57342 {0.2917, 0.2098, 0.2819, 0.2166},
57343 {0.3617, 0.1850, 0.1864, 0.2668},
57344 {0.2945, 0.2194, 0.2613, 0.2247},
57345 {0.1975, 0.2409, 0.2898, 0.2718}},
57346 {
57347 {0.3561, 0.1934, 0.2495, 0.2009},
57348 {0.3301, 0.2457, 0.1400, 0.2842},
57349 {0.3677, 0.2086, 0.2184, 0.2053},
57350 {0.1882, 0.3297, 0.1945, 0.2876}},
57351 {
57352 {0.2931, 0.1907, 0.2513, 0.2648},
57353 {0.3033, 0.1705, 0.1643, 0.3620},
57354 {0.2928, 0.1772, 0.2212, 0.3088},
57355 {0.1071, 0.2950, 0.2176, 0.3802}},
57356 {
57357 {0.2950, 0.1935, 0.2700, 0.2415},
57358 {0.3593, 0.2033, 0.1767, 0.2606},
57359 {0.2763, 0.2212, 0.2629, 0.2396},
57360 {0.2038, 0.2280, 0.2879, 0.2803}},
57361 {
57362 {0.3499, 0.2074, 0.2364, 0.2062},
57363 {0.3451, 0.2122, 0.1496, 0.2932},
57364 {0.3927, 0.1808, 0.2269, 0.1997},
57365 {0.1896, 0.3128, 0.1995, 0.2981}},
57366 {
57367 {0.2909, 0.1855, 0.2473, 0.2763},
57368 {0.2972, 0.1741, 0.1482, 0.3805},
57369 {0.2914, 0.1878, 0.2223, 0.2986},
57370 {0.1021, 0.3043, 0.1958, 0.3978}},
57371 {
57372 {0.3033, 0.1957, 0.2550, 0.2460},
57373 {0.3447, 0.2041, 0.1798, 0.2714},
57374 {0.2660, 0.2226, 0.2616, 0.2498},
57375 {0.2014, 0.2429, 0.2953, 0.2604}},
57376 {
57377 {0.3603, 0.1938, 0.2399, 0.2061},
57378 {0.3431, 0.2523, 0.1319, 0.2728},
57379 {0.3851, 0.1955, 0.2273, 0.1921},
57380 {0.1750, 0.3045, 0.2029, 0.3177}},
57381 {
57382 {0.2787, 0.1814, 0.2719, 0.2680},
57383 {0.2992, 0.1659, 0.1476, 0.3874},
57384 {0.3129, 0.1772, 0.2292, 0.2808},
57385 {0.1022, 0.2974, 0.1977, 0.4026}},
57386 {
57387 {0.2819, 0.2093, 0.2510, 0.2577},
57388 {0.3477, 0.1812, 0.1962, 0.2749},
57389 {0.2930, 0.1955, 0.2773, 0.2343},
57390 {0.2072, 0.2228, 0.3022, 0.2677}},
57391 {
57392 {0.3539, 0.2070, 0.2213, 0.2178},
57393 {0.3224, 0.2469, 0.1418, 0.2888},
57394 {0.3976, 0.1845, 0.2210, 0.1968},
57395 {0.1786, 0.3138, 0.1986, 0.3091}},
57396 {
57397 {0.2822, 0.1899, 0.2718, 0.2561},
57398 {0.2977, 0.1763, 0.1563, 0.3697},
57399 {0.3123, 0.1676, 0.2341, 0.2859},
57400 {0.0821, 0.3018, 0.2083, 0.4079}},
57401 {
57402 {0.2880, 0.2038, 0.2591, 0.2491},
57403 {0.3357, 0.1889, 0.1946, 0.2808},
57404 {0.2736, 0.2021, 0.2759, 0.2484},
57405 {0.1838, 0.2382, 0.3058, 0.2722}},
57406 {
57407 {0.3450, 0.2044, 0.2322, 0.2184},
57408 {0.3338, 0.2206, 0.1390, 0.3066},
57409 {0.3843, 0.1951, 0.2277, 0.1929},
57410 {0.1815, 0.3056, 0.2026, 0.3104}},
57411 {
57412 {0.2899, 0.1915, 0.2571, 0.2615},
57413 {0.2956, 0.1900, 0.1323, 0.3822},
57414 {0.2808, 0.1910, 0.2137, 0.3145},
57415 {0.0938, 0.3259, 0.1934, 0.3869}},
57416 {
57417 {0.3059, 0.1967, 0.2444, 0.2529},
57418 {0.3439, 0.1934, 0.1859, 0.2768},
57419 {0.2783, 0.2148, 0.2621, 0.2448},
57420 {0.2145, 0.2324, 0.2845, 0.2686}},
57421 {
57422 {0.3362, 0.1894, 0.2175, 0.2569},
57423 {0.3071, 0.2240, 0.1298, 0.3391},
57424 {0.3616, 0.1889, 0.2098, 0.2397},
57425 {0.1687, 0.2966, 0.1894, 0.3454}},
57426 {
57427 {0.2731, 0.2019, 0.2597, 0.2653},
57428 {0.2962, 0.1586, 0.1597, 0.3855},
57429 {0.2825, 0.1814, 0.2127, 0.3234},
57430 {0.1667, 0.2305, 0.2681, 0.3347}},
57431 {
57432 {0.3037, 0.1883, 0.2593, 0.2487},
57433 {0.3391, 0.1989, 0.1760, 0.2860},
57434 {0.3627, 0.1837, 0.2305, 0.2232},
57435 {0.1964, 0.2311, 0.2865, 0.2860}}},
57436
57437 { /* Splice_Site: Fi_AG; Species: Cress */
57438 {
57439 {0.2952, 0.2952, 0.2952, 0.2952},
57440 {0.1703, 0.1703, 0.1703, 0.1703},
57441 {0.1895, 0.1895, 0.1895, 0.1895},
57442 {0.3451, 0.3451, 0.3451, 0.3451}},
57443 {
57444 {0.3322, 0.1548, 0.1977, 0.3154},
57445 {0.3461, 0.1636, 0.1202, 0.3701},
57446 {0.3201, 0.1719, 0.1883, 0.3197},
57447 {0.2377, 0.1904, 0.2120, 0.3600}},
57448 {
57449 {0.3283, 0.1536, 0.2034, 0.3147},
57450 {0.3217, 0.1655, 0.1195, 0.3932},
57451 {0.3276, 0.1606, 0.1850, 0.3267},
57452 {0.2296, 0.1805, 0.2174, 0.3724}},
57453 {
57454 {0.3277, 0.1616, 0.2055, 0.3052},
57455 {0.3386, 0.1658, 0.1149, 0.3808},
57456 {0.3218, 0.1665, 0.1968, 0.3149},
57457 {0.2194, 0.1801, 0.2168, 0.3837}},
57458 {
57459 {0.3376, 0.1496, 0.1992, 0.3137},
57460 {0.3325, 0.1733, 0.1203, 0.3739},
57461 {0.3327, 0.1553, 0.1945, 0.3174},
57462 {0.2250, 0.1819, 0.2165, 0.3766}},
57463 {
57464 {0.3354, 0.1503, 0.1964, 0.3180},
57465 {0.3535, 0.1595, 0.1079, 0.3791},
57466 {0.3144, 0.1683, 0.1889, 0.3284},
57467 {0.2156, 0.1920, 0.2164, 0.3761}},
57468 {
57469 {0.3388, 0.1520, 0.1950, 0.3143},
57470 {0.3334, 0.1730, 0.1137, 0.3799},
57471 {0.3101, 0.1714, 0.1956, 0.3229},
57472 {0.2295, 0.1916, 0.2112, 0.3677}},
57473 {
57474 {0.3278, 0.1413, 0.2075, 0.3233},
57475 {0.3324, 0.1640, 0.1132, 0.3904},
57476 {0.3171, 0.1556, 0.1918, 0.3355},
57477 {0.2233, 0.1909, 0.2171, 0.3687}},
57478 {
57479 {0.3200, 0.1537, 0.2038, 0.3225},
57480 {0.3224, 0.1596, 0.1150, 0.4030},
57481 {0.3132, 0.1512, 0.1928, 0.3428},
57482 {0.2249, 0.1886, 0.2175, 0.3690}},
57483 {
57484 {0.3240, 0.1495, 0.2064, 0.3201},
57485 {0.3325, 0.1717, 0.1212, 0.3746},
57486 {0.3152, 0.1554, 0.1983, 0.3311},
57487 {0.2300, 0.1932, 0.2063, 0.3706}},
57488 {
57489 {0.3278, 0.1508, 0.1974, 0.3240},
57490 {0.3530, 0.1605, 0.1038, 0.3827},
57491 {0.3290, 0.1503, 0.1848, 0.3360},
57492 {0.2226, 0.1853, 0.2124, 0.3797}},
57493 {
57494 {0.3388, 0.1492, 0.1981, 0.3139},
57495 {0.3251, 0.1688, 0.1122, 0.3940},
57496 {0.3098, 0.1527, 0.2051, 0.3325},
57497 {0.2337, 0.1889, 0.2182, 0.3592}},
57498 {
57499 {0.3327, 0.1500, 0.2003, 0.3169},
57500 {0.3125, 0.1626, 0.1212, 0.4037},
57501 {0.3130, 0.1484, 0.2047, 0.3339},
57502 {0.2204, 0.1907, 0.2072, 0.3817}},
57503 {
57504 {0.3319, 0.1548, 0.1943, 0.3190},
57505 {0.3400, 0.1621, 0.1117, 0.3861},
57506 {0.3282, 0.1460, 0.1947, 0.3311},
57507 {0.2197, 0.1863, 0.2141, 0.3798}},
57508 {
57509 {0.3230, 0.1586, 0.1917, 0.3267},
57510 {0.3380, 0.1576, 0.1167, 0.3877},
57511 {0.3177, 0.1521, 0.1860, 0.3442},
57512 {0.2280, 0.1699, 0.2120, 0.3901}},
57513 {
57514 {0.3544, 0.1522, 0.1829, 0.3105},
57515 {0.3298, 0.1589, 0.1088, 0.4025},
57516 {0.3048, 0.1560, 0.1969, 0.3423},
57517 {0.2372, 0.1910, 0.1903, 0.3815}},
57518 {
57519 {0.3465, 0.1448, 0.1889, 0.3197},
57520 {0.3099, 0.1796, 0.1064, 0.4041},
57521 {0.3200, 0.1563, 0.1916, 0.3321},
57522 {0.2231, 0.1851, 0.2023, 0.3895}},
57523 {
57524 {0.3256, 0.1584, 0.1911, 0.3249},
57525 {0.3372, 0.1678, 0.0989, 0.3960},
57526 {0.3242, 0.1533, 0.1942, 0.3282},
57527 {0.2122, 0.1919, 0.2084, 0.3874}},
57528 {
57529 {0.3290, 0.1583, 0.1942, 0.3185},
57530 {0.3571, 0.1552, 0.1080, 0.3798},
57531 {0.3135, 0.1567, 0.1906, 0.3392},
57532 {0.2288, 0.1824, 0.2102, 0.3786}},
57533 {
57534 {0.3232, 0.1533, 0.2006, 0.3228},
57535 {0.3379, 0.1623, 0.1034, 0.3965},
57536 {0.3233, 0.1602, 0.1837, 0.3328},
57537 {0.2334, 0.1809, 0.2120, 0.3736}},
57538 {
57539 {0.3376, 0.1592, 0.1897, 0.3135},
57540 {0.3174, 0.1739, 0.1119, 0.3968},
57541 {0.2919, 0.1650, 0.1972, 0.3459},
57542 {0.2171, 0.1842, 0.2042, 0.3944}},
57543 {
57544 {0.3217, 0.1601, 0.2011, 0.3171},
57545 {0.3259, 0.1615, 0.1076, 0.4050},
57546 {0.3036, 0.1571, 0.1965, 0.3429},
57547 {0.2381, 0.1804, 0.2098, 0.3717}},
57548 {
57549 {0.3292, 0.1561, 0.1914, 0.3234},
57550 {0.3420, 0.1552, 0.1042, 0.3986},
57551 {0.3168, 0.1617, 0.1849, 0.3366},
57552 {0.2295, 0.1779, 0.2060, 0.3866}},
57553 {
57554 {0.3300, 0.1482, 0.1907, 0.3311},
57555 {0.3312, 0.1699, 0.1065, 0.3924},
57556 {0.3309, 0.1539, 0.1833, 0.3319},
57557 {0.2341, 0.1717, 0.2043, 0.3899}},
57558 {
57559 {0.3401, 0.1468, 0.1942, 0.3188},
57560 {0.3500, 0.1574, 0.1173, 0.3754},
57561 {0.3329, 0.1478, 0.1758, 0.3435},
57562 {0.2327, 0.1731, 0.2050, 0.3892}},
57563 {
57564 {0.3250, 0.1518, 0.1872, 0.3359},
57565 {0.3199, 0.1586, 0.1110, 0.4105},
57566 {0.3192, 0.1548, 0.1893, 0.3367},
57567 {0.2287, 0.1879, 0.2044, 0.3790}},
57568 {
57569 {0.3292, 0.1570, 0.2002, 0.3136},
57570 {0.3401, 0.1599, 0.1014, 0.3986},
57571 {0.3221, 0.1561, 0.1867, 0.3352},
57572 {0.2302, 0.1838, 0.2018, 0.3842}},
57573 {
57574 {0.3344, 0.1529, 0.1947, 0.3180},
57575 {0.3335, 0.1672, 0.1135, 0.3857},
57576 {0.3254, 0.1597, 0.1886, 0.3264},
57577 {0.2194, 0.1744, 0.2068, 0.3994}},
57578 {
57579 {0.3342, 0.1534, 0.1942, 0.3182},
57580 {0.3460, 0.1560, 0.1051, 0.3928},
57581 {0.3175, 0.1476, 0.1870, 0.3479},
57582 {0.2352, 0.1797, 0.1997, 0.3854}},
57583 {
57584 {0.3312, 0.1567, 0.1864, 0.3256},
57585 {0.3305, 0.1663, 0.1007, 0.4024},
57586 {0.3088, 0.1520, 0.1811, 0.3580},
57587 {0.2261, 0.1779, 0.2103, 0.3857}},
57588 {
57589 {0.3288, 0.1551, 0.2007, 0.3153},
57590 {0.3482, 0.1678, 0.1092, 0.3748},
57591 {0.3252, 0.1481, 0.1851, 0.3416},
57592 {0.2280, 0.1792, 0.2125, 0.3803}},
57593 {
57594 {0.3431, 0.1519, 0.1851, 0.3199},
57595 {0.3402, 0.1681, 0.1091, 0.3825},
57596 {0.3255, 0.1601, 0.1680, 0.3463},
57597 {0.2170, 0.1860, 0.2071, 0.3899}},
57598 {
57599 {0.3310, 0.1566, 0.1880, 0.3245},
57600 {0.3279, 0.1646, 0.1071, 0.4004},
57601 {0.3357, 0.1403, 0.1823, 0.3416},
57602 {0.2284, 0.1802, 0.2159, 0.3755}},
57603 {
57604 {0.3394, 0.1457, 0.1957, 0.3191},
57605 {0.3425, 0.1586, 0.1091, 0.3898},
57606 {0.3253, 0.1422, 0.1852, 0.3473},
57607 {0.2387, 0.1807, 0.1941, 0.3865}},
57608 {
57609 {0.3354, 0.1469, 0.1847, 0.3330},
57610 {0.3373, 0.1630, 0.1023, 0.3973},
57611 {0.3179, 0.1534, 0.1967, 0.3320},
57612 {0.2195, 0.1762, 0.2065, 0.3979}},
57613 {
57614 {0.3145, 0.1585, 0.1974, 0.3296},
57615 {0.3462, 0.1548, 0.1097, 0.3893},
57616 {0.3435, 0.1313, 0.1750, 0.3502},
57617 {0.2323, 0.1831, 0.2003, 0.3843}},
57618 {
57619 {0.3296, 0.1640, 0.1925, 0.3139},
57620 {0.3390, 0.1689, 0.1094, 0.3827},
57621 {0.3045, 0.1418, 0.1844, 0.3693},
57622 {0.2377, 0.1743, 0.2117, 0.3763}},
57623 {
57624 {0.3390, 0.1486, 0.1905, 0.3219},
57625 {0.3313, 0.1681, 0.1009, 0.3997},
57626 {0.3170, 0.1524, 0.1938, 0.3368},
57627 {0.2328, 0.1710, 0.1995, 0.3966}},
57628 {
57629 {0.3252, 0.1440, 0.2063, 0.3245},
57630 {0.3485, 0.1535, 0.0997, 0.3983},
57631 {0.3104, 0.1457, 0.1839, 0.3601},
57632 {0.2400, 0.1796, 0.2039, 0.3765}},
57633 {
57634 {0.3368, 0.1599, 0.1920, 0.3113},
57635 {0.3369, 0.1511, 0.1063, 0.4056},
57636 {0.3205, 0.1406, 0.1902, 0.3487},
57637 {0.2248, 0.1710, 0.2169, 0.3872}},
57638 {
57639 {0.3306, 0.1469, 0.1914, 0.3310},
57640 {0.3372, 0.1658, 0.0983, 0.3987},
57641 {0.3329, 0.1362, 0.1820, 0.3489},
57642 {0.2341, 0.1710, 0.2139, 0.3810}},
57643 {
57644 {0.3270, 0.1445, 0.2010, 0.3275},
57645 {0.3519, 0.1527, 0.1018, 0.3936},
57646 {0.3259, 0.1501, 0.1966, 0.3274},
57647 {0.2347, 0.1676, 0.2076, 0.3900}},
57648 {
57649 {0.3307, 0.1575, 0.1971, 0.3147},
57650 {0.3418, 0.1701, 0.0966, 0.3914},
57651 {0.3238, 0.1491, 0.1863, 0.3409},
57652 {0.2409, 0.1744, 0.2152, 0.3696}},
57653 {
57654 {0.3479, 0.1486, 0.1867, 0.3169},
57655 {0.3429, 0.1540, 0.0987, 0.4044},
57656 {0.3499, 0.1506, 0.1620, 0.3376},
57657 {0.2493, 0.1761, 0.2035, 0.3711}},
57658 {
57659 {0.3456, 0.1502, 0.1862, 0.3180},
57660 {0.3483, 0.1472, 0.0939, 0.4105},
57661 {0.3450, 0.1445, 0.1881, 0.3224},
57662 {0.2474, 0.1643, 0.2101, 0.3783}},
57663 {
57664 {0.3442, 0.1340, 0.2022, 0.3196},
57665 {0.3331, 0.1505, 0.1141, 0.4023},
57666 {0.3127, 0.1478, 0.1913, 0.3482},
57667 {0.2346, 0.1762, 0.2105, 0.3786}},
57668 {
57669 {0.3310, 0.1481, 0.2088, 0.3121},
57670 {0.3214, 0.1719, 0.1053, 0.4013},
57671 {0.3157, 0.1527, 0.1912, 0.3404},
57672 {0.2350, 0.1718, 0.2107, 0.3825}},
57673 {
57674 {0.3423, 0.1417, 0.2014, 0.3146},
57675 {0.3313, 0.1611, 0.0940, 0.4137},
57676 {0.2995, 0.1263, 0.2390, 0.3352},
57677 {0.2413, 0.1650, 0.2088, 0.3849}},
57678 {
57679 {0.3336, 0.1622, 0.1942, 0.3100},
57680 {0.3482, 0.1550, 0.1036, 0.3932},
57681 {0.2858, 0.1201, 0.1518, 0.4423},
57682 {0.2528, 0.1606, 0.2038, 0.3828}},
57683 {
57684 {0.3816, 0.1424, 0.2100, 0.2660},
57685 {0.3824, 0.1465, 0.1332, 0.3379},
57686 {0.3659, 0.1565, 0.1925, 0.2851},
57687 {0.2799, 0.1584, 0.2303, 0.3314}},
57688 {
57689 {1.0000, 0.0000, 0.0000, 0.0000},
57690 {1.0000, 0.0000, 0.0000, 0.0000},
57691 {1.0000, 0.0000, 0.0000, 0.0000},
57692 {1.0000, 0.0000, 0.0000, 0.0000}},
57693 {
57694 {0.0000, 0.0000, 1.0000, 0.0000},
57695 {0.0000, 0.0000, 0.0000, 0.0000},
57696 {0.0000, 0.0000, 0.0000, 0.0000},
57697 {0.0000, 0.0000, 0.0000, 0.0000}},
57698 {
57699 {0.0000, 0.0000, 0.0000, 0.0000},
57700 {0.0000, 0.0000, 0.0000, 0.0000},
57701 {0.3367, 0.1607, 0.1446, 0.3580},
57702 {0.0000, 0.0000, 0.0000, 0.0000}},
57703 {
57704 {0.3553, 0.1318, 0.1922, 0.3207},
57705 {0.3096, 0.1516, 0.0770, 0.4617},
57706 {0.3445, 0.1614, 0.1730, 0.3210},
57707 {0.2355, 0.1402, 0.1819, 0.4423}},
57708 {
57709 {0.3644, 0.1361, 0.1883, 0.3113},
57710 {0.3253, 0.1529, 0.1002, 0.4216},
57711 {0.3686, 0.1295, 0.1484, 0.3534},
57712 {0.2233, 0.1550, 0.1829, 0.4388}},
57713 {
57714 {0.3478, 0.1532, 0.1711, 0.3278},
57715 {0.3363, 0.1613, 0.0955, 0.4069},
57716 {0.3563, 0.1557, 0.1673, 0.3207},
57717 {0.2238, 0.1806, 0.1854, 0.4102}},
57718 {
57719 {0.3448, 0.1577, 0.1678, 0.3296},
57720 {0.3362, 0.1470, 0.0894, 0.4274},
57721 {0.3401, 0.1557, 0.1551, 0.3490},
57722 {0.2280, 0.1631, 0.2024, 0.4066}},
57723 {
57724 {0.3311, 0.1431, 0.2029, 0.3229},
57725 {0.3497, 0.1407, 0.0994, 0.4102},
57726 {0.3468, 0.1432, 0.1810, 0.3290},
57727 {0.2306, 0.1550, 0.2236, 0.3908}},
57728 {
57729 {0.3432, 0.1500, 0.1863, 0.3205},
57730 {0.3127, 0.1637, 0.1081, 0.4155},
57731 {0.3478, 0.1464, 0.1723, 0.3336},
57732 {0.2291, 0.1768, 0.2091, 0.3850}},
57733 {
57734 {0.3366, 0.1618, 0.1694, 0.3321},
57735 {0.3291, 0.1621, 0.1005, 0.4084},
57736 {0.3260, 0.1522, 0.1672, 0.3546},
57737 {0.2302, 0.1623, 0.2044, 0.4032}},
57738 {
57739 {0.3258, 0.1574, 0.1851, 0.3317},
57740 {0.3209, 0.1423, 0.1006, 0.4362},
57741 {0.3340, 0.1361, 0.1735, 0.3565},
57742 {0.2292, 0.1679, 0.2082, 0.3946}},
57743 {
57744 {0.3270, 0.1457, 0.1809, 0.3464},
57745 {0.3252, 0.1606, 0.0940, 0.4201},
57746 {0.3248, 0.1519, 0.1702, 0.3530},
57747 {0.2169, 0.1720, 0.1940, 0.4171}},
57748 {
57749 {0.3288, 0.1480, 0.1818, 0.3415},
57750 {0.3256, 0.1436, 0.1046, 0.4261},
57751 {0.3400, 0.1541, 0.1517, 0.3542},
57752 {0.2192, 0.1678, 0.2032, 0.4099}},
57753 {
57754 {0.3262, 0.1587, 0.1850, 0.3300},
57755 {0.3338, 0.1558, 0.1008, 0.4096},
57756 {0.3214, 0.1500, 0.1674, 0.3612},
57757 {0.2162, 0.1652, 0.2177, 0.4009}},
57758 {
57759 {0.3260, 0.1454, 0.1823, 0.3463},
57760 {0.3246, 0.1621, 0.1060, 0.4073},
57761 {0.3356, 0.1543, 0.1732, 0.3369},
57762 {0.2168, 0.1701, 0.2005, 0.4126}},
57763 {
57764 {0.3177, 0.1556, 0.1866, 0.3402},
57765 {0.3268, 0.1554, 0.0975, 0.4203},
57766 {0.3211, 0.1483, 0.1832, 0.3474},
57767 {0.2143, 0.1609, 0.2055, 0.4193}},
57768 {
57769 {0.3193, 0.1524, 0.1846, 0.3437},
57770 {0.3309, 0.1560, 0.0993, 0.4137},
57771 {0.3291, 0.1443, 0.1715, 0.3551},
57772 {0.2194, 0.1647, 0.2123, 0.4036}},
57773 {
57774 {0.3330, 0.1549, 0.1844, 0.3277},
57775 {0.3318, 0.1588, 0.0986, 0.4108},
57776 {0.3209, 0.1449, 0.1763, 0.3579},
57777 {0.2178, 0.1638, 0.2080, 0.4104}},
57778 {
57779 {0.3336, 0.1448, 0.1797, 0.3419},
57780 {0.3324, 0.1464, 0.1058, 0.4153},
57781 {0.3314, 0.1418, 0.1669, 0.3598},
57782 {0.2208, 0.1637, 0.2087, 0.4069}},
57783 {
57784 {0.3256, 0.1520, 0.1833, 0.3391},
57785 {0.3345, 0.1469, 0.0856, 0.4330},
57786 {0.3135, 0.1535, 0.1730, 0.3599},
57787 {0.2325, 0.1704, 0.2007, 0.3965}},
57788 {
57789 {0.3396, 0.1452, 0.1768, 0.3385},
57790 {0.3359, 0.1603, 0.0969, 0.4069},
57791 {0.3258, 0.1430, 0.1759, 0.3553},
57792 {0.2199, 0.1688, 0.2135, 0.3978}},
57793 {
57794 {0.3188, 0.1440, 0.1996, 0.3376},
57795 {0.3242, 0.1641, 0.0922, 0.4195},
57796 {0.3163, 0.1474, 0.1870, 0.3493},
57797 {0.2283, 0.1666, 0.2157, 0.3893}},
57798 {
57799 {0.3229, 0.1431, 0.1920, 0.3420},
57800 {0.3226, 0.1444, 0.1102, 0.4227},
57801 {0.3140, 0.1529, 0.1918, 0.3412},
57802 {0.2239, 0.1657, 0.2149, 0.3955}},
57803 {
57804 {0.3226, 0.1520, 0.1984, 0.3270},
57805 {0.3540, 0.1500, 0.0986, 0.3975},
57806 {0.3286, 0.1451, 0.1623, 0.3640},
57807 {0.2206, 0.1587, 0.2205, 0.4002}},
57808 {
57809 {0.3290, 0.1415, 0.1845, 0.3450},
57810 {0.3400, 0.1498, 0.1009, 0.4094},
57811 {0.3142, 0.1493, 0.1809, 0.3557},
57812 {0.2175, 0.1660, 0.2186, 0.3980}},
57813 {
57814 {0.3269, 0.1497, 0.1963, 0.3271},
57815 {0.3314, 0.1447, 0.1020, 0.4219},
57816 {0.3134, 0.1561, 0.1802, 0.3503},
57817 {0.2231, 0.1645, 0.2133, 0.3990}},
57818 {
57819 {0.3273, 0.1492, 0.1856, 0.3378},
57820 {0.3485, 0.1429, 0.1032, 0.4054},
57821 {0.3084, 0.1535, 0.1804, 0.3577},
57822 {0.2174, 0.1676, 0.2150, 0.4001}},
57823 {
57824 {0.3209, 0.1502, 0.1940, 0.3349},
57825 {0.3501, 0.1605, 0.1005, 0.3889},
57826 {0.3367, 0.1426, 0.1869, 0.3338},
57827 {0.2245, 0.1711, 0.2099, 0.3945}},
57828 {
57829 {0.3343, 0.1446, 0.1893, 0.3317},
57830 {0.3303, 0.1601, 0.1097, 0.3998},
57831 {0.3120, 0.1509, 0.1931, 0.3440},
57832 {0.2181, 0.1666, 0.2256, 0.3897}},
57833 {
57834 {0.3259, 0.1442, 0.1917, 0.3382},
57835 {0.3417, 0.1599, 0.0973, 0.4011},
57836 {0.3149, 0.1525, 0.1781, 0.3545},
57837 {0.2200, 0.1605, 0.2102, 0.4094}},
57838 {
57839 {0.3236, 0.1501, 0.1983, 0.3280},
57840 {0.3500, 0.1471, 0.0985, 0.4045},
57841 {0.3249, 0.1570, 0.1875, 0.3305},
57842 {0.2168, 0.1632, 0.2155, 0.4046}},
57843 {
57844 {0.3211, 0.1471, 0.2006, 0.3312},
57845 {0.3327, 0.1484, 0.1061, 0.4128},
57846 {0.3219, 0.1585, 0.1809, 0.3388},
57847 {0.2120, 0.1637, 0.2246, 0.3997}},
57848 {
57849 {0.3378, 0.1392, 0.1969, 0.3261},
57850 {0.3485, 0.1429, 0.1129, 0.3958},
57851 {0.3077, 0.1529, 0.1962, 0.3432},
57852 {0.2207, 0.1709, 0.2181, 0.3903}},
57853 {
57854 {0.3079, 0.1529, 0.2071, 0.3321},
57855 {0.3365, 0.1600, 0.1087, 0.3948},
57856 {0.3186, 0.1549, 0.1785, 0.3479},
57857 {0.2102, 0.1649, 0.2227, 0.4022}},
57858 {
57859 {0.3121, 0.1622, 0.1933, 0.3324},
57860 {0.3146, 0.1677, 0.0985, 0.4192},
57861 {0.3214, 0.1510, 0.1968, 0.3307},
57862 {0.2130, 0.1656, 0.2203, 0.4011}},
57863 {
57864 {0.3160, 0.1497, 0.1978, 0.3366},
57865 {0.3430, 0.1579, 0.1102, 0.3890},
57866 {0.3207, 0.1544, 0.1873, 0.3377},
57867 {0.2161, 0.1677, 0.2241, 0.3920}},
57868 {
57869 {0.3208, 0.1448, 0.2090, 0.3253},
57870 {0.3579, 0.1595, 0.1073, 0.3752},
57871 {0.3147, 0.1518, 0.1833, 0.3502},
57872 {0.2194, 0.1671, 0.2162, 0.3973}},
57873 {
57874 {0.3388, 0.1430, 0.2096, 0.3085},
57875 {0.3520, 0.1476, 0.0964, 0.4040},
57876 {0.3178, 0.1540, 0.1893, 0.3388},
57877 {0.2284, 0.1694, 0.2110, 0.3912}},
57878 {
57879 {0.3267, 0.1553, 0.1945, 0.3235},
57880 {0.3499, 0.1522, 0.1036, 0.3943},
57881 {0.3288, 0.1578, 0.1936, 0.3199},
57882 {0.2189, 0.1645, 0.2169, 0.3997}},
57883 {
57884 {0.3158, 0.1523, 0.1874, 0.3445},
57885 {0.3317, 0.1596, 0.1053, 0.4034},
57886 {0.3303, 0.1486, 0.1803, 0.3407},
57887 {0.2217, 0.1631, 0.2188, 0.3964}},
57888 {
57889 {0.3133, 0.1494, 0.1998, 0.3375},
57890 {0.3476, 0.1561, 0.1038, 0.3925},
57891 {0.2996, 0.1693, 0.1944, 0.3367},
57892 {0.2207, 0.1707, 0.2205, 0.3882}},
57893 {
57894 {0.3213, 0.1543, 0.2019, 0.3224},
57895 {0.3496, 0.1462, 0.0999, 0.4044},
57896 {0.3087, 0.1642, 0.1896, 0.3374},
57897 {0.2194, 0.1752, 0.2090, 0.3964}},
57898 {
57899 {0.3255, 0.1606, 0.1898, 0.3241},
57900 {0.3495, 0.1586, 0.1110, 0.3809},
57901 {0.3203, 0.1503, 0.1988, 0.3306},
57902 {0.2241, 0.1684, 0.2142, 0.3933}},
57903 {
57904 {0.3160, 0.1529, 0.2020, 0.3290},
57905 {0.3348, 0.1518, 0.1156, 0.3977},
57906 {0.3207, 0.1593, 0.1895, 0.3305},
57907 {0.2155, 0.1666, 0.2185, 0.3994}},
57908 {
57909 {0.3242, 0.1522, 0.1941, 0.3295},
57910 {0.3471, 0.1547, 0.1086, 0.3896},
57911 {0.3254, 0.1575, 0.1919, 0.3253},
57912 {0.2185, 0.1725, 0.2215, 0.3875}},
57913 {
57914 {0.3250, 0.1481, 0.2042, 0.3228},
57915 {0.3419, 0.1566, 0.1010, 0.4004},
57916 {0.3141, 0.1474, 0.2038, 0.3347},
57917 {0.2225, 0.1754, 0.2164, 0.3857}},
57918 {
57919 {0.3243, 0.1499, 0.2040, 0.3218},
57920 {0.3497, 0.1581, 0.1097, 0.3825},
57921 {0.3251, 0.1635, 0.1840, 0.3274},
57922 {0.2135, 0.1699, 0.2206, 0.3961}},
57923 {
57924 {0.3344, 0.1447, 0.2009, 0.3201},
57925 {0.3431, 0.1413, 0.1108, 0.4048},
57926 {0.3179, 0.1566, 0.1985, 0.3270},
57927 {0.2139, 0.1785, 0.2193, 0.3883}},
57928 {
57929 {0.3170, 0.1463, 0.2042, 0.3325},
57930 {0.3245, 0.1634, 0.1105, 0.4017},
57931 {0.3359, 0.1459, 0.2029, 0.3153},
57932 {0.2208, 0.1651, 0.2220, 0.3921}},
57933 {
57934 {0.3306, 0.1480, 0.2057, 0.3157},
57935 {0.3424, 0.1593, 0.1166, 0.3817},
57936 {0.3382, 0.1665, 0.1737, 0.3216},
57937 {0.2117, 0.1679, 0.2314, 0.3890}},
57938 {
57939 {0.3241, 0.1514, 0.2033, 0.3213},
57940 {0.3440, 0.1573, 0.1101, 0.3885},
57941 {0.3265, 0.1634, 0.1936, 0.3166},
57942 {0.2166, 0.1679, 0.2259, 0.3895}},
57943 {
57944 {0.3395, 0.1526, 0.1913, 0.3166},
57945 {0.3487, 0.1493, 0.1160, 0.3860},
57946 {0.3221, 0.1547, 0.1967, 0.3265},
57947 {0.2241, 0.1713, 0.2237, 0.3809}}
57948 }},
57949 {
57950 { /* Splice_Site: T1_AG; Species: Maize */
57951 {
57952 {0.2497, 0.2497, 0.2497, 0.2497},
57953 {0.2145, 0.2145, 0.2145, 0.2145},
57954 {0.1795, 0.1795, 0.1795, 0.1795},
57955 {0.3564, 0.3564, 0.3564, 0.3564}},
57956 {
57957 {0.2413, 0.1661, 0.1264, 0.4661},
57958 {0.2661, 0.1921, 0.1508, 0.3911},
57959 {0.3914, 0.2523, 0.1404, 0.2159},
57960 {0.1937, 0.1340, 0.1774, 0.4949}},
57961 {
57962 {0.3068, 0.1939, 0.1528, 0.3465},
57963 {0.4427, 0.1458, 0.1255, 0.2860},
57964 {0.2292, 0.2270, 0.2342, 0.3096},
57965 {0.1959, 0.1544, 0.2273, 0.4225}},
57966 {
57967 {0.3055, 0.1771, 0.2289, 0.2885},
57968 {0.2402, 0.1661, 0.1460, 0.4477},
57969 {0.3354, 0.2382, 0.0999, 0.3265},
57970 {0.1921, 0.1867, 0.2549, 0.3663}},
57971 {
57972 {0.2857, 0.1760, 0.1788, 0.3594},
57973 {0.3270, 0.2965, 0.2273, 0.1493},
57974 {0.3014, 0.2077, 0.1694, 0.3215},
57975 {0.1920, 0.1757, 0.2661, 0.3661}},
57976 {
57977 {0.2968, 0.2106, 0.1116, 0.3809},
57978 {0.1881, 0.2273, 0.1076, 0.4770},
57979 {0.2370, 0.2997, 0.1885, 0.2748},
57980 {0.2468, 0.2152, 0.1537, 0.3843}},
57981 {
57982 {0.2310, 0.1813, 0.1586, 0.4291},
57983 {0.2995, 0.1771, 0.1158, 0.4076},
57984 {0.1936, 0.1770, 0.2439, 0.3855},
57985 {0.1724, 0.2038, 0.2679, 0.3559}},
57986 {
57987 {0.2542, 0.2075, 0.1922, 0.3460},
57988 {0.2042, 0.2755, 0.1668, 0.3535},
57989 {0.2353, 0.2214, 0.2081, 0.3353},
57990 {0.1213, 0.1893, 0.2727, 0.4167}},
57991 {
57992 {0.2416, 0.2290, 0.1899, 0.3395},
57993 {0.2140, 0.2486, 0.1666, 0.3709},
57994 {0.2684, 0.2592, 0.2212, 0.2512},
57995 {0.2058, 0.2282, 0.1715, 0.3945}},
57996 {
57997 {0.2760, 0.0884, 0.2000, 0.4356},
57998 {0.3309, 0.1419, 0.2008, 0.3264},
57999 {0.3193, 0.0710, 0.1283, 0.4813},
58000 {0.2349, 0.1376, 0.2564, 0.3711}},
58001 {
58002 {0.3195, 0.1698, 0.1154, 0.3954},
58003 {0.3725, 0.1069, 0.1656, 0.3550},
58004 {0.3265, 0.2373, 0.2009, 0.2353},
58005 {0.2265, 0.1974, 0.2301, 0.3459}},
58006 {
58007 {0.2230, 0.1431, 0.1555, 0.4784},
58008 {0.3201, 0.1686, 0.1383, 0.3730},
58009 {0.2263, 0.2263, 0.2548, 0.2926},
58010 {0.1173, 0.2154, 0.2589, 0.4084}},
58011 {
58012 {0.2562, 0.1651, 0.2176, 0.3611},
58013 {0.2236, 0.2191, 0.1146, 0.4427},
58014 {0.2835, 0.1809, 0.1265, 0.4091},
58015 {0.1849, 0.1798, 0.2674, 0.3679}},
58016 {
58017 {0.2824, 0.1725, 0.1534, 0.3916},
58018 {0.2866, 0.1544, 0.1172, 0.4418},
58019 {0.1487, 0.2171, 0.1589, 0.4753},
58020 {0.1477, 0.2758, 0.2674, 0.3091}},
58021 {
58022 {0.3457, 0.2818, 0.1743, 0.1982},
58023 {0.2480, 0.2525, 0.1203, 0.3791},
58024 {0.2907, 0.2283, 0.1280, 0.3530},
58025 {0.1316, 0.1842, 0.2796, 0.4045}},
58026 {
58027 {0.2193, 0.2659, 0.2482, 0.2667},
58028 {0.3412, 0.1146, 0.1429, 0.4013},
58029 {0.2923, 0.2484, 0.1670, 0.2923},
58030 {0.1379, 0.1993, 0.2653, 0.3975}},
58031 {
58032 {0.2348, 0.1653, 0.1756, 0.4243},
58033 {0.4566, 0.1213, 0.1049, 0.3171},
58034 {0.3150, 0.2105, 0.1270, 0.3476},
58035 {0.1561, 0.2355, 0.2067, 0.4018}},
58036 {
58037 {0.2809, 0.1904, 0.1723, 0.3564},
58038 {0.3683, 0.1030, 0.2300, 0.2987},
58039 {0.2974, 0.1568, 0.1947, 0.3511},
58040 {0.1424, 0.1889, 0.2543, 0.4144}},
58041 {
58042 {0.3447, 0.1945, 0.0891, 0.3717},
58043 {0.3369, 0.0417, 0.2528, 0.3685},
58044 {0.2528, 0.3143, 0.1607, 0.2722},
58045 {0.2155, 0.2117, 0.3205, 0.2523}},
58046 {
58047 {0.2768, 0.1736, 0.1394, 0.4102},
58048 {0.3496, 0.2189, 0.1011, 0.3304},
58049 {0.2650, 0.2187, 0.1973, 0.3189},
58050 {0.1348, 0.2016, 0.2457, 0.4179}},
58051 {
58052 {0.2501, 0.2711, 0.1543, 0.3245},
58053 {0.3003, 0.1333, 0.1721, 0.3943},
58054 {0.2371, 0.3220, 0.1504, 0.2904},
58055 {0.2569, 0.1887, 0.2443, 0.3101}},
58056 {
58057 {0.3176, 0.1927, 0.1010, 0.3886},
58058 {0.3169, 0.1847, 0.0874, 0.4110},
58059 {0.3109, 0.1674, 0.1483, 0.3735},
58060 {0.2630, 0.1303, 0.2420, 0.3646}},
58061 {
58062 {0.2259, 0.2032, 0.1919, 0.3791},
58063 {0.3425, 0.0981, 0.1372, 0.4222},
58064 {0.2197, 0.2720, 0.1069, 0.4014},
58065 {0.1683, 0.1264, 0.3422, 0.3632}},
58066 {
58067 {0.2441, 0.2105, 0.1289, 0.4165},
58068 {0.1898, 0.2337, 0.1025, 0.4740},
58069 {0.2071, 0.1881, 0.1557, 0.4491},
58070 {0.1752, 0.1799, 0.2721, 0.3727}},
58071 {
58072 {0.3359, 0.1789, 0.0151, 0.4701},
58073 {0.3206, 0.2080, 0.0789, 0.3925},
58074 {0.3012, 0.2457, 0.0165, 0.4366},
58075 {0.1679, 0.2003, 0.2527, 0.3791}},
58076 {
58077 {0.3237, 0.2205, 0.1154, 0.3404},
58078 {0.2483, 0.0956, 0.1855, 0.4706},
58079 {0.2498, 0.2714, 0.2028, 0.2760},
58080 {0.2116, 0.1999, 0.2818, 0.3067}},
58081 {
58082 {0.3384, 0.2335, 0.1273, 0.3007},
58083 {0.2530, 0.1278, 0.1345, 0.4847},
58084 {0.1953, 0.2780, 0.1566, 0.3702},
58085 {0.2319, 0.2419, 0.2062, 0.3200}},
58086 {
58087 {0.2790, 0.1722, 0.1624, 0.3865},
58088 {0.3079, 0.0975, 0.2104, 0.3841},
58089 {0.3094, 0.2412, 0.0804, 0.3691},
58090 {0.2112, 0.1508, 0.2300, 0.4080}},
58091 {
58092 {0.4092, 0.1485, 0.1085, 0.3337},
58093 {0.2570, 0.2264, 0.0794, 0.4372},
58094 {0.3141, 0.1557, 0.1864, 0.3438},
58095 {0.2192, 0.1900, 0.2782, 0.3126}},
58096 {
58097 {0.2952, 0.2430, 0.1286, 0.3332},
58098 {0.1455, 0.2026, 0.1043, 0.5475},
58099 {0.2942, 0.2467, 0.1068, 0.3524},
58100 {0.2247, 0.1753, 0.2496, 0.3504}},
58101 {
58102 {0.2246, 0.3147, 0.1042, 0.3565},
58103 {0.2600, 0.1906, 0.1520, 0.3974},
58104 {0.2947, 0.3074, 0.0553, 0.3426},
58105 {0.2401, 0.1462, 0.3006, 0.3131}},
58106 {
58107 {0.3834, 0.1546, 0.1404, 0.3216},
58108 {0.2291, 0.1302, 0.1261, 0.5146},
58109 {0.4422, 0.1709, 0.1223, 0.2647},
58110 {0.1631, 0.1454, 0.2526, 0.4388}},
58111 {
58112 {0.3205, 0.2498, 0.0890, 0.3407},
58113 {0.1318, 0.1191, 0.1529, 0.5962},
58114 {0.3654, 0.1694, 0.1161, 0.3491},
58115 {0.1854, 0.1878, 0.3083, 0.3184}},
58116 {
58117 {0.3164, 0.2332, 0.0245, 0.4258},
58118 {0.3038, 0.2463, 0.1052, 0.3446},
58119 {0.2286, 0.2190, 0.1208, 0.4316},
58120 {0.1893, 0.1985, 0.2071, 0.4051}},
58121 {
58122 {0.3188, 0.1537, 0.1502, 0.3773},
58123 {0.2032, 0.1894, 0.1723, 0.4352},
58124 {0.1854, 0.1973, 0.1798, 0.4376},
58125 {0.1757, 0.2127, 0.2392, 0.3724}},
58126 {
58127 {0.2601, 0.2241, 0.0880, 0.4277},
58128 {0.2344, 0.2794, 0.2167, 0.2695},
58129 {0.1818, 0.1931, 0.1453, 0.4799},
58130 {0.1132, 0.1970, 0.3062, 0.3836}},
58131 {
58132 {0.1804, 0.1607, 0.0877, 0.5712},
58133 {0.1580, 0.1855, 0.1498, 0.5067},
58134 {0.1481, 0.2149, 0.1165, 0.5205},
58135 {0.1811, 0.1756, 0.2241, 0.4192}},
58136 {
58137 {0.1148, 0.2215, 0.0553, 0.6084},
58138 {0.2224, 0.2071, 0.2068, 0.3637},
58139 {0.1820, 0.2591, 0.1792, 0.3796},
58140 {0.1516, 0.1786, 0.2123, 0.4576}},
58141 {
58142 {0.1882, 0.2130, 0.0419, 0.5569},
58143 {0.2666, 0.2521, 0.0785, 0.4028},
58144 {0.1789, 0.3175, 0.1470, 0.3565},
58145 {0.1183, 0.1825, 0.2312, 0.4681}},
58146 {
58147 {0.1805, 0.2103, 0.0785, 0.5308},
58148 {0.2252, 0.1406, 0.1767, 0.4575},
58149 {0.1043, 0.3298, 0.1283, 0.4376},
58150 {0.1358, 0.2179, 0.3279, 0.3185}},
58151 {
58152 {0.2612, 0.1193, 0.0627, 0.5568},
58153 {0.2934, 0.1602, 0.1415, 0.4048},
58154 {0.2037, 0.2201, 0.1467, 0.4296},
58155 {0.1372, 0.1087, 0.3639, 0.3902}},
58156 {
58157 {0.3015, 0.1520, 0.0140, 0.5325},
58158 {0.2758, 0.1107, 0.2214, 0.3921},
58159 {0.1295, 0.2953, 0.1549, 0.4203},
58160 {0.1118, 0.1103, 0.2361, 0.5419}},
58161 {
58162 {0.2128, 0.2358, 0.0000, 0.5514},
58163 {0.3638, 0.1672, 0.0990, 0.3700},
58164 {0.1697, 0.1893, 0.1617, 0.4793},
58165 {0.1895, 0.2426, 0.2065, 0.3614}},
58166 {
58167 {0.2284, 0.2900, 0.0280, 0.4536},
58168 {0.2218, 0.2694, 0.1746, 0.3342},
58169 {0.2412, 0.2361, 0.1435, 0.3792},
58170 {0.1401, 0.2458, 0.2659, 0.3481}},
58171 {
58172 {0.3392, 0.1841, 0.0156, 0.4611},
58173 {0.2369, 0.1620, 0.1124, 0.4887},
58174 {0.1393, 0.1821, 0.0716, 0.6070},
58175 {0.2094, 0.1298, 0.3344, 0.3264}},
58176 {
58177 {0.2064, 0.2194, 0.0387, 0.5355},
58178 {0.1682, 0.1944, 0.1626, 0.4748},
58179 {0.1341, 0.3389, 0.0756, 0.4513},
58180 {0.1575, 0.1704, 0.3016, 0.3705}},
58181 {
58182 {0.2272, 0.2425, 0.0000, 0.5303},
58183 {0.1922, 0.1546, 0.1373, 0.5158},
58184 {0.2102, 0.1390, 0.2103, 0.4405},
58185 {0.1338, 0.1548, 0.2512, 0.4603}},
58186 {
58187 {0.2284, 0.1279, 0.0195, 0.6242},
58188 {0.0931, 0.1853, 0.0964, 0.6252},
58189 {0.1447, 0.2467, 0.0757, 0.5329},
58190 {0.0957, 0.1130, 0.2057, 0.5856}},
58191 {
58192 {0.2791, 0.2433, 0.0739, 0.4036},
58193 {0.3236, 0.1205, 0.3925, 0.1634},
58194 {0.1781, 0.1252, 0.4497, 0.2470},
58195 {0.1730, 0.0764, 0.5648, 0.1858}},
58196 {
58197 {0.0940, 0.7091, 0.0000, 0.1969},
58198 {0.1167, 0.7085, 0.0000, 0.1748},
58199 {0.0131, 0.8700, 0.0000, 0.1168},
58200 {0.0485, 0.6518, 0.0134, 0.2862}},
58201 {
58202 {1.0000, 0.0000, 0.0000, 0.0000},
58203 {1.0000, 0.0000, 0.0000, 0.0000},
58204 {1.0000, 0.0000, 0.0000, 0.0000},
58205 {1.0000, 0.0000, 0.0000, 0.0000}},
58206 {
58207 {0.0000, 0.0000, 1.0000, 0.0000},
58208 {0.0000, 0.0000, 0.0000, 0.0000},
58209 {0.0000, 0.0000, 0.0000, 0.0000},
58210 {0.0000, 0.0000, 0.0000, 0.0000}},
58211 {
58212 {0.0000, 0.0000, 0.0000, 0.0000},
58213 {0.0000, 0.0000, 0.0000, 0.0000},
58214 {0.2066, 0.0856, 0.5958, 0.1120},
58215 {0.0000, 0.0000, 0.0000, 0.0000}},
58216 {
58217 {0.2178, 0.1609, 0.0786, 0.5427},
58218 {0.0396, 0.3472, 0.1183, 0.4950},
58219 {0.2031, 0.1954, 0.1557, 0.4458},
58220 {0.1445, 0.1935, 0.1420, 0.5200}},
58221 {
58222 {0.1457, 0.1430, 0.3064, 0.4048},
58223 {0.1767, 0.2052, 0.1727, 0.4454},
58224 {0.2428, 0.3860, 0.1569, 0.2142},
58225 {0.1332, 0.2736, 0.2641, 0.3291}},
58226 {
58227 {0.1571, 0.2892, 0.2767, 0.2770},
58228 {0.3571, 0.1517, 0.2172, 0.2741},
58229 {0.3480, 0.1551, 0.3166, 0.1804},
58230 {0.1908, 0.1256, 0.4981, 0.1855}},
58231 {
58232 {0.3477, 0.1625, 0.1228, 0.3670},
58233 {0.1898, 0.2113, 0.1538, 0.4451},
58234 {0.3474, 0.2475, 0.2279, 0.1773},
58235 {0.2783, 0.2217, 0.2206, 0.2794}},
58236 {
58237 {0.1650, 0.3255, 0.2827, 0.2268},
58238 {0.2840, 0.1821, 0.1271, 0.4068},
58239 {0.1744, 0.2710, 0.3111, 0.2435},
58240 {0.1285, 0.2636, 0.2535, 0.3544}},
58241 {
58242 {0.2800, 0.1889, 0.3888, 0.1424},
58243 {0.4078, 0.1538, 0.2355, 0.2030},
58244 {0.4059, 0.0913, 0.3833, 0.1196},
58245 {0.0941, 0.2325, 0.4968, 0.1766}},
58246 {
58247 {0.2226, 0.1453, 0.3106, 0.3215},
58248 {0.3616, 0.3634, 0.1078, 0.1673},
58249 {0.2523, 0.2698, 0.2699, 0.2081},
58250 {0.2588, 0.1989, 0.0723, 0.4700}},
58251 {
58252 {0.2069, 0.2310, 0.2546, 0.3075},
58253 {0.2842, 0.1593, 0.2190, 0.3375},
58254 {0.2409, 0.2333, 0.2853, 0.2405},
58255 {0.1036, 0.2892, 0.3234, 0.2837}},
58256 {
58257 {0.3646, 0.1055, 0.3438, 0.1861},
58258 {0.4021, 0.1311, 0.2360, 0.2307},
58259 {0.2931, 0.2104, 0.3212, 0.1753},
58260 {0.1178, 0.1499, 0.5458, 0.1865}},
58261 {
58262 {0.2650, 0.2157, 0.2500, 0.2693},
58263 {0.3374, 0.2284, 0.1695, 0.2647},
58264 {0.3940, 0.2305, 0.2082, 0.1672},
58265 {0.1191, 0.2997, 0.2184, 0.3628}},
58266 {
58267 {0.1816, 0.2984, 0.2701, 0.2499},
58268 {0.2862, 0.3021, 0.1840, 0.2277},
58269 {0.2053, 0.3171, 0.2208, 0.2568},
58270 {0.0994, 0.2613, 0.3627, 0.2767}},
58271 {
58272 {0.2793, 0.1400, 0.3037, 0.2771},
58273 {0.3341, 0.2536, 0.2281, 0.1842},
58274 {0.3232, 0.1983, 0.2873, 0.1912},
58275 {0.1431, 0.1015, 0.6135, 0.1420}},
58276 {
58277 {0.4663, 0.1398, 0.1197, 0.2742},
58278 {0.1859, 0.1289, 0.1806, 0.5046},
58279 {0.3161, 0.2781, 0.1556, 0.2502},
58280 {0.1671, 0.2926, 0.1582, 0.3821}},
58281 {
58282 {0.1459, 0.2780, 0.3319, 0.2442},
58283 {0.2514, 0.2215, 0.2360, 0.2911},
58284 {0.1043, 0.3604, 0.3130, 0.2223},
58285 {0.0789, 0.2261, 0.3728, 0.3222}},
58286 {
58287 {0.2471, 0.1585, 0.3677, 0.2267},
58288 {0.3339, 0.1931, 0.2910, 0.1820},
58289 {0.2781, 0.2676, 0.2973, 0.1570},
58290 {0.1603, 0.1956, 0.5118, 0.1323}},
58291 {
58292 {0.3803, 0.1127, 0.2366, 0.2704},
58293 {0.2583, 0.3339, 0.1316, 0.2763},
58294 {0.4078, 0.1340, 0.2042, 0.2539},
58295 {0.2475, 0.1531, 0.3354, 0.2640}},
58296 {
58297 {0.2161, 0.2212, 0.2933, 0.2694},
58298 {0.2892, 0.2592, 0.2255, 0.2261},
58299 {0.1460, 0.2692, 0.3849, 0.1999},
58300 {0.1398, 0.3209, 0.3001, 0.2393}},
58301 {
58302 {0.3522, 0.1022, 0.3115, 0.2341},
58303 {0.2985, 0.2105, 0.2280, 0.2630},
58304 {0.2515, 0.2139, 0.2938, 0.2408},
58305 {0.1093, 0.2010, 0.5585, 0.1312}},
58306 {
58307 {0.3338, 0.2295, 0.2081, 0.2286},
58308 {0.3767, 0.1611, 0.0364, 0.4258},
58309 {0.4886, 0.2459, 0.1803, 0.0853},
58310 {0.1726, 0.1990, 0.1779, 0.4505}},
58311 {
58312 {0.1913, 0.2615, 0.3267, 0.2205},
58313 {0.1636, 0.2603, 0.1933, 0.3828},
58314 {0.1990, 0.1443, 0.4500, 0.2067},
58315 {0.1219, 0.2969, 0.3600, 0.2211}},
58316 {
58317 {0.2045, 0.1779, 0.4186, 0.1990},
58318 {0.3564, 0.1497, 0.3330, 0.1610},
58319 {0.3166, 0.2405, 0.2955, 0.1475},
58320 {0.2020, 0.2279, 0.4698, 0.1003}},
58321 {
58322 {0.2840, 0.1504, 0.2061, 0.3595},
58323 {0.2643, 0.2301, 0.0925, 0.4131},
58324 {0.3845, 0.2454, 0.2120, 0.1582},
58325 {0.2646, 0.2804, 0.1486, 0.3064}},
58326 {
58327 {0.1708, 0.2049, 0.3428, 0.2815},
58328 {0.3928, 0.2140, 0.1580, 0.2352},
58329 {0.2045, 0.2347, 0.4148, 0.1461},
58330 {0.0906, 0.3071, 0.3278, 0.2745}},
58331 {
58332 {0.2486, 0.0968, 0.5125, 0.1420},
58333 {0.3307, 0.2233, 0.1812, 0.2648},
58334 {0.3166, 0.1828, 0.3321, 0.1685},
58335 {0.1408, 0.2205, 0.5509, 0.0878}},
58336 {
58337 {0.3563, 0.1324, 0.2656, 0.2458},
58338 {0.2597, 0.1242, 0.1549, 0.4612},
58339 {0.3650, 0.1934, 0.2298, 0.2118},
58340 {0.1730, 0.2627, 0.1522, 0.4120}},
58341 {
58342 {0.2689, 0.2370, 0.2434, 0.2507},
58343 {0.1913, 0.2301, 0.3215, 0.2571},
58344 {0.1530, 0.2433, 0.3011, 0.3026},
58345 {0.0942, 0.2705, 0.3649, 0.2703}},
58346 {
58347 {0.2794, 0.1668, 0.3605, 0.1934},
58348 {0.3839, 0.2392, 0.2453, 0.1316},
58349 {0.2494, 0.2048, 0.3703, 0.1755},
58350 {0.1927, 0.1411, 0.4823, 0.1839}},
58351 {
58352 {0.2993, 0.2940, 0.2010, 0.2056},
58353 {0.2519, 0.3906, 0.1024, 0.2551},
58354 {0.3717, 0.1770, 0.2293, 0.2220},
58355 {0.1161, 0.2273, 0.1344, 0.5223}},
58356 {
58357 {0.1693, 0.3022, 0.3174, 0.2112},
58358 {0.2720, 0.2162, 0.1736, 0.3383},
58359 {0.2054, 0.3437, 0.2733, 0.1776},
58360 {0.0489, 0.3446, 0.3679, 0.2385}},
58361 {
58362 {0.2458, 0.2311, 0.2966, 0.2266},
58363 {0.3766, 0.1608, 0.3121, 0.1506},
58364 {0.3664, 0.2411, 0.2832, 0.1094},
58365 {0.2083, 0.2247, 0.4134, 0.1535}},
58366 {
58367 {0.3403, 0.1552, 0.2161, 0.2884},
58368 {0.2134, 0.3221, 0.1405, 0.3240},
58369 {0.2949, 0.2860, 0.2494, 0.1697},
58370 {0.1862, 0.2165, 0.1597, 0.4376}},
58371 {
58372 {0.1633, 0.2172, 0.4067, 0.2129},
58373 {0.2508, 0.2012, 0.2538, 0.2942},
58374 {0.1284, 0.2438, 0.3410, 0.2868},
58375 {0.1026, 0.2718, 0.3898, 0.2359}},
58376 {
58377 {0.2693, 0.2395, 0.2780, 0.2132},
58378 {0.1987, 0.3518, 0.3175, 0.1320},
58379 {0.3209, 0.1921, 0.3309, 0.1561},
58380 {0.1378, 0.1912, 0.5171, 0.1539}},
58381 {
58382 {0.3228, 0.2125, 0.1582, 0.3065},
58383 {0.2513, 0.1911, 0.1929, 0.3647},
58384 {0.4199, 0.1756, 0.2084, 0.1962},
58385 {0.1584, 0.3710, 0.1137, 0.3569}},
58386 {
58387 {0.2172, 0.2226, 0.3094, 0.2508},
58388 {0.3515, 0.1496, 0.2603, 0.2386},
58389 {0.1963, 0.2662, 0.3350, 0.2025},
58390 {0.1343, 0.2459, 0.3977, 0.2220}},
58391 {
58392 {0.3173, 0.1494, 0.2300, 0.3032},
58393 {0.3386, 0.1975, 0.1926, 0.2713},
58394 {0.3672, 0.2440, 0.3006, 0.0882},
58395 {0.1071, 0.3221, 0.5019, 0.0690}},
58396 {
58397 {0.4013, 0.1448, 0.1851, 0.2688},
58398 {0.3352, 0.2311, 0.1122, 0.3215},
58399 {0.4323, 0.1889, 0.2447, 0.1341},
58400 {0.0933, 0.1630, 0.2075, 0.5362}},
58401 {
58402 {0.1868, 0.1978, 0.3417, 0.2737},
58403 {0.2903, 0.2538, 0.1207, 0.3352},
58404 {0.0997, 0.3188, 0.3262, 0.2554},
58405 {0.0785, 0.3996, 0.2251, 0.2968}},
58406 {
58407 {0.2599, 0.1005, 0.3984, 0.2411},
58408 {0.4058, 0.2523, 0.2559, 0.0859},
58409 {0.3126, 0.2177, 0.3327, 0.1369},
58410 {0.1910, 0.2060, 0.4903, 0.1127}},
58411 {
58412 {0.3335, 0.1899, 0.2221, 0.2545},
58413 {0.2795, 0.3019, 0.1262, 0.2925},
58414 {0.3351, 0.2691, 0.1886, 0.2072},
58415 {0.1204, 0.2698, 0.2209, 0.3889}},
58416 {
58417 {0.1526, 0.2714, 0.3534, 0.2225},
58418 {0.2307, 0.2013, 0.1647, 0.4033},
58419 {0.1022, 0.3061, 0.2953, 0.2965},
58420 {0.0465, 0.3568, 0.4117, 0.1850}},
58421 {
58422 {0.3429, 0.1525, 0.3858, 0.1189},
58423 {0.3760, 0.2629, 0.1669, 0.1942},
58424 {0.3914, 0.1814, 0.2847, 0.1425},
58425 {0.1159, 0.2259, 0.5310, 0.1272}},
58426 {
58427 {0.3667, 0.1343, 0.2301, 0.2689},
58428 {0.4140, 0.2479, 0.0593, 0.2788},
58429 {0.4045, 0.2281, 0.1968, 0.1706},
58430 {0.1269, 0.3028, 0.2087, 0.3617}},
58431 {
58432 {0.2980, 0.1909, 0.3524, 0.1587},
58433 {0.3089, 0.1505, 0.2897, 0.2508},
58434 {0.2272, 0.3543, 0.1897, 0.2287},
58435 {0.0661, 0.3298, 0.4149, 0.1892}},
58436 {
58437 {0.2565, 0.2291, 0.3214, 0.1930},
58438 {0.2707, 0.3092, 0.2347, 0.1855},
58439 {0.3242, 0.2515, 0.2633, 0.1609},
58440 {0.2058, 0.0949, 0.6081, 0.0912}},
58441 {
58442 {0.3383, 0.2134, 0.1890, 0.2592},
58443 {0.3322, 0.1395, 0.1596, 0.3687},
58444 {0.4467, 0.1507, 0.1640, 0.2386},
58445 {0.3074, 0.1974, 0.2187, 0.2765}},
58446 {
58447 {0.1460, 0.2947, 0.2959, 0.2634},
58448 {0.2268, 0.2692, 0.1509, 0.3531},
58449 {0.1989, 0.2681, 0.2333, 0.2998},
58450 {0.1285, 0.2855, 0.3297, 0.2563}},
58451 {
58452 {0.1891, 0.0764, 0.4393, 0.2953},
58453 {0.4130, 0.1906, 0.2133, 0.1831},
58454 {0.2458, 0.3486, 0.2901, 0.1155},
58455 {0.2030, 0.2238, 0.4276, 0.1456}},
58456 {
58457 {0.3644, 0.1412, 0.1379, 0.3565},
58458 {0.2780, 0.2677, 0.2174, 0.2369},
58459 {0.3431, 0.2431, 0.2509, 0.1628},
58460 {0.1983, 0.3337, 0.1673, 0.3007}}},
58461
58462 { /* Splice_Site: T2_AG; Species: Maize */
58463 {
58464 {0.2969, 0.2969, 0.2969, 0.2969},
58465 {0.1945, 0.1945, 0.1945, 0.1945},
58466 {0.2110, 0.2110, 0.2110, 0.2110},
58467 {0.2976, 0.2976, 0.2976, 0.2976}},
58468 {
58469 {0.1940, 0.2160, 0.1589, 0.4310},
58470 {0.3435, 0.0549, 0.0964, 0.5053},
58471 {0.2661, 0.0914, 0.1869, 0.4556},
58472 {0.1636, 0.2234, 0.2268, 0.3862}},
58473 {
58474 {0.2560, 0.1676, 0.2028, 0.3737},
58475 {0.3568, 0.1731, 0.2884, 0.1816},
58476 {0.2816, 0.3815, 0.1611, 0.1758},
58477 {0.2688, 0.1978, 0.2904, 0.2430}},
58478 {
58479 {0.3182, 0.3138, 0.2339, 0.1341},
58480 {0.1691, 0.3049, 0.1272, 0.3988},
58481 {0.3107, 0.3460, 0.1463, 0.1970},
58482 {0.3043, 0.1540, 0.2712, 0.2705}},
58483 {
58484 {0.3831, 0.1387, 0.2047, 0.2736},
58485 {0.3824, 0.1373, 0.1064, 0.3738},
58486 {0.2376, 0.3896, 0.0486, 0.3242},
58487 {0.3633, 0.2432, 0.1970, 0.1965}},
58488 {
58489 {0.1638, 0.1991, 0.2155, 0.4216},
58490 {0.3637, 0.1393, 0.1859, 0.3111},
58491 {0.2100, 0.1925, 0.2007, 0.3968},
58492 {0.2272, 0.1291, 0.2538, 0.3899}},
58493 {
58494 {0.2474, 0.0832, 0.2095, 0.4598},
58495 {0.2928, 0.1077, 0.1180, 0.4814},
58496 {0.3496, 0.3088, 0.1343, 0.2073},
58497 {0.3254, 0.2004, 0.1724, 0.3018}},
58498 {
58499 {0.1592, 0.3078, 0.0636, 0.4694},
58500 {0.4189, 0.0505, 0.2711, 0.2596},
58501 {0.2373, 0.2315, 0.1738, 0.3574},
58502 {0.3066, 0.1169, 0.4074, 0.1692}},
58503 {
58504 {0.2812, 0.3939, 0.0716, 0.2533},
58505 {0.1091, 0.2595, 0.1532, 0.4782},
58506 {0.2758, 0.3237, 0.1608, 0.2398},
58507 {0.1178, 0.1557, 0.3185, 0.4081}},
58508 {
58509 {0.3298, 0.1465, 0.2810, 0.2427},
58510 {0.2399, 0.2066, 0.2798, 0.2737},
58511 {0.4223, 0.3145, 0.1534, 0.1098},
58512 {0.1991, 0.1717, 0.2305, 0.3986}},
58513 {
58514 {0.2068, 0.1042, 0.1342, 0.5548},
58515 {0.2882, 0.2371, 0.3343, 0.1405},
58516 {0.2711, 0.1171, 0.2878, 0.3240},
58517 {0.1340, 0.1702, 0.1742, 0.5216}},
58518 {
58519 {0.3879, 0.1285, 0.0442, 0.4394},
58520 {0.0603, 0.1870, 0.4440, 0.3087},
58521 {0.3472, 0.1359, 0.2193, 0.2976},
58522 {0.1442, 0.1461, 0.2605, 0.4492}},
58523 {
58524 {0.4081, 0.0852, 0.2145, 0.2922},
58525 {0.4732, 0.1892, 0.2004, 0.1373},
58526 {0.3318, 0.1669, 0.2027, 0.2986},
58527 {0.1984, 0.1215, 0.2391, 0.4410}},
58528 {
58529 {0.2948, 0.4271, 0.1558, 0.1223},
58530 {0.2942, 0.0756, 0.2107, 0.4196},
58531 {0.2588, 0.3467, 0.2179, 0.1766},
58532 {0.0600, 0.3543, 0.1755, 0.4102}},
58533 {
58534 {0.2311, 0.1383, 0.1372, 0.4935},
58535 {0.2849, 0.1997, 0.2069, 0.3086},
58536 {0.2667, 0.2573, 0.1605, 0.3154},
58537 {0.1876, 0.0649, 0.2458, 0.5018}},
58538 {
58539 {0.1969, 0.2038, 0.1615, 0.4378},
58540 {0.5286, 0.1182, 0.1710, 0.1823},
58541 {0.1505, 0.2041, 0.2961, 0.3493},
58542 {0.2363, 0.2373, 0.2881, 0.2384}},
58543 {
58544 {0.2550, 0.2237, 0.1873, 0.3339},
58545 {0.2898, 0.0982, 0.1826, 0.4294},
58546 {0.3993, 0.2044, 0.1221, 0.2743},
58547 {0.2633, 0.0906, 0.2916, 0.3544}},
58548 {
58549 {0.1289, 0.2849, 0.1971, 0.3890},
58550 {0.3696, 0.1904, 0.1231, 0.3168},
58551 {0.2371, 0.4248, 0.0000, 0.3381},
58552 {0.1096, 0.3114, 0.2471, 0.3318}},
58553 {
58554 {0.2716, 0.1078, 0.1998, 0.4208},
58555 {0.3703, 0.0976, 0.1879, 0.3443},
58556 {0.3535, 0.1160, 0.2958, 0.2347},
58557 {0.0818, 0.1990, 0.3382, 0.3810}},
58558 {
58559 {0.2682, 0.1550, 0.1134, 0.4634},
58560 {0.2055, 0.0713, 0.3620, 0.3612},
58561 {0.3707, 0.3013, 0.1083, 0.2197},
58562 {0.1357, 0.2422, 0.2399, 0.3823}},
58563 {
58564 {0.1203, 0.1914, 0.2031, 0.4852},
58565 {0.3180, 0.2277, 0.0929, 0.3614},
58566 {0.2979, 0.2463, 0.0970, 0.3587},
58567 {0.1312, 0.2415, 0.2459, 0.3814}},
58568 {
58569 {0.2375, 0.1439, 0.1481, 0.4705},
58570 {0.1710, 0.0395, 0.2100, 0.5795},
58571 {0.2214, 0.1729, 0.2151, 0.3906},
58572 {0.2403, 0.2213, 0.1952, 0.3432}},
58573 {
58574 {0.3947, 0.1295, 0.1256, 0.3502},
58575 {0.2515, 0.1266, 0.1871, 0.4348},
58576 {0.2072, 0.2460, 0.1488, 0.3980},
58577 {0.2642, 0.1778, 0.2199, 0.3381}},
58578 {
58579 {0.2447, 0.2137, 0.2307, 0.3109},
58580 {0.2712, 0.0560, 0.0579, 0.6149},
58581 {0.1580, 0.2596, 0.3142, 0.2681},
58582 {0.1605, 0.0788, 0.2669, 0.4938}},
58583 {
58584 {0.3694, 0.1940, 0.0457, 0.3908},
58585 {0.1319, 0.1244, 0.2721, 0.4716},
58586 {0.1214, 0.1643, 0.2157, 0.4985},
58587 {0.3211, 0.1137, 0.3875, 0.1777}},
58588 {
58589 {0.3360, 0.1060, 0.2274, 0.3306},
58590 {0.2603, 0.1312, 0.2011, 0.4074},
58591 {0.4074, 0.2235, 0.2170, 0.1521},
58592 {0.3491, 0.1458, 0.3081, 0.1969}},
58593 {
58594 {0.2194, 0.2811, 0.1379, 0.3616},
58595 {0.3853, 0.0626, 0.0589, 0.4932},
58596 {0.3135, 0.2598, 0.2311, 0.1955},
58597 {0.1454, 0.1976, 0.4199, 0.2371}},
58598 {
58599 {0.2217, 0.1549, 0.1184, 0.5051},
58600 {0.2609, 0.0887, 0.2194, 0.4311},
58601 {0.0844, 0.2140, 0.3042, 0.3973},
58602 {0.2551, 0.1566, 0.2769, 0.3114}},
58603 {
58604 {0.1783, 0.4181, 0.0433, 0.3603},
58605 {0.3149, 0.1233, 0.0628, 0.4991},
58606 {0.2012, 0.3319, 0.2531, 0.2137},
58607 {0.2158, 0.2445, 0.1632, 0.3764}},
58608 {
58609 {0.1314, 0.3125, 0.0438, 0.5123},
58610 {0.2104, 0.1025, 0.0687, 0.6183},
58611 {0.3930, 0.3338, 0.0686, 0.2045},
58612 {0.1610, 0.2450, 0.1930, 0.4009}},
58613 {
58614 {0.2379, 0.1902, 0.0485, 0.5233},
58615 {0.4241, 0.0400, 0.1261, 0.4098},
58616 {0.2775, 0.3651, 0.1803, 0.1770},
58617 {0.0873, 0.2267, 0.4645, 0.2215}},
58618 {
58619 {0.2273, 0.1832, 0.1846, 0.4049},
58620 {0.2449, 0.2523, 0.1000, 0.4028},
58621 {0.2462, 0.1461, 0.2503, 0.3574},
58622 {0.0823, 0.2931, 0.2045, 0.4201}},
58623 {
58624 {0.1915, 0.1011, 0.2669, 0.4405},
58625 {0.1292, 0.1296, 0.2592, 0.4819},
58626 {0.1019, 0.3551, 0.1507, 0.3923},
58627 {0.1235, 0.2695, 0.1659, 0.4412}},
58628 {
58629 {0.2787, 0.1527, 0.0000, 0.5686},
58630 {0.1303, 0.3017, 0.0919, 0.4761},
58631 {0.3250, 0.2847, 0.1454, 0.2449},
58632 {0.1528, 0.2017, 0.3011, 0.3443}},
58633 {
58634 {0.2825, 0.3813, 0.0955, 0.2407},
58635 {0.2863, 0.0849, 0.3309, 0.2979},
58636 {0.4162, 0.2722, 0.1073, 0.2043},
58637 {0.0949, 0.2231, 0.3289, 0.3531}},
58638 {
58639 {0.2369, 0.2047, 0.0405, 0.5178},
58640 {0.2480, 0.1255, 0.2057, 0.4208},
58641 {0.2853, 0.2763, 0.1209, 0.3175},
58642 {0.1320, 0.1988, 0.1338, 0.5354}},
58643 {
58644 {0.3455, 0.1349, 0.0372, 0.4824},
58645 {0.2849, 0.1915, 0.1921, 0.3315},
58646 {0.1620, 0.2344, 0.1428, 0.4609},
58647 {0.1696, 0.1322, 0.3608, 0.3374}},
58648 {
58649 {0.1715, 0.1624, 0.0427, 0.6234},
58650 {0.2448, 0.0633, 0.3857, 0.3062},
58651 {0.1303, 0.4473, 0.1285, 0.2939},
58652 {0.2212, 0.1022, 0.1500, 0.5265}},
58653 {
58654 {0.1011, 0.3469, 0.0467, 0.5053},
58655 {0.2393, 0.1523, 0.1529, 0.4555},
58656 {0.1273, 0.2431, 0.1284, 0.5012},
58657 {0.1012, 0.1642, 0.1642, 0.5704}},
58658 {
58659 {0.1402, 0.0769, 0.0000, 0.7830},
58660 {0.0476, 0.2692, 0.1433, 0.5400},
58661 {0.0000, 0.2844, 0.2816, 0.4340},
58662 {0.1309, 0.2978, 0.3124, 0.2589}},
58663 {
58664 {0.2975, 0.5009, 0.0000, 0.2017},
58665 {0.0749, 0.3458, 0.1446, 0.4347},
58666 {0.1648, 0.3701, 0.1737, 0.2914},
58667 {0.2250, 0.2588, 0.2119, 0.3043}},
58668 {
58669 {0.2038, 0.1051, 0.0529, 0.6382},
58670 {0.2338, 0.2021, 0.1155, 0.4487},
58671 {0.1196, 0.3474, 0.1749, 0.3581},
58672 {0.1191, 0.1760, 0.2322, 0.4727}},
58673 {
58674 {0.1065, 0.3260, 0.0000, 0.5675},
58675 {0.3321, 0.3833, 0.0000, 0.2846},
58676 {0.4312, 0.1227, 0.2585, 0.1876},
58677 {0.0616, 0.2874, 0.3495, 0.3015}},
58678 {
58679 {0.1040, 0.1595, 0.1084, 0.6280},
58680 {0.0656, 0.1958, 0.3036, 0.4350},
58681 {0.1430, 0.2420, 0.1871, 0.4279},
58682 {0.0916, 0.3339, 0.1944, 0.3801}},
58683 {
58684 {0.4109, 0.1950, 0.0000, 0.3940},
58685 {0.1948, 0.0798, 0.3629, 0.3625},
58686 {0.1776, 0.4149, 0.0434, 0.3641},
58687 {0.1907, 0.1050, 0.3878, 0.3164}},
58688 {
58689 {0.1374, 0.2730, 0.0439, 0.5458},
58690 {0.2239, 0.2806, 0.1078, 0.3877},
58691 {0.0376, 0.2564, 0.2158, 0.4902},
58692 {0.0272, 0.1401, 0.3351, 0.4977}},
58693 {
58694 {0.6628, 0.0000, 0.0000, 0.3372},
58695 {0.0875, 0.2161, 0.2185, 0.4780},
58696 {0.2461, 0.1387, 0.2833, 0.3319},
58697 {0.1567, 0.0981, 0.3754, 0.3698}},
58698 {
58699 {0.0943, 0.1874, 0.0000, 0.7183},
58700 {0.1543, 0.0733, 0.1465, 0.6259},
58701 {0.2606, 0.1364, 0.0680, 0.5350},
58702 {0.0708, 0.1771, 0.1774, 0.5747}},
58703 {
58704 {0.2735, 0.3916, 0.2701, 0.0648},
58705 {0.1876, 0.2393, 0.4519, 0.1211},
58706 {0.1855, 0.0954, 0.1716, 0.5475},
58707 {0.0795, 0.1297, 0.6307, 0.1600}},
58708 {
58709 {0.0000, 0.7908, 0.0000, 0.2092},
58710 {0.2630, 0.5223, 0.0513, 0.1634},
58711 {0.0000, 0.9229, 0.0000, 0.0771},
58712 {0.0516, 0.7898, 0.0000, 0.1587}},
58713 {
58714 {1.0000, 0.0000, 0.0000, 0.0000},
58715 {1.0000, 0.0000, 0.0000, 0.0000},
58716 {1.0000, 0.0000, 0.0000, 0.0000},
58717 {1.0000, 0.0000, 0.0000, 0.0000}},
58718 {
58719 {0.0000, 0.0000, 1.0000, 0.0000},
58720 {0.0000, 0.0000, 0.0000, 0.0000},
58721 {0.0000, 0.0000, 0.0000, 0.0000},
58722 {0.0000, 0.0000, 0.0000, 0.0000}},
58723 {
58724 {0.0000, 0.0000, 0.0000, 0.0000},
58725 {0.0000, 0.0000, 0.0000, 0.0000},
58726 {0.1990, 0.1744, 0.5588, 0.0678},
58727 {0.0000, 0.0000, 0.0000, 0.0000}},
58728 {
58729 {0.2380, 0.2366, 0.2324, 0.2929},
58730 {0.0552, 0.3269, 0.2235, 0.3944},
58731 {0.2080, 0.2920, 0.1681, 0.3318},
58732 {0.0000, 0.2880, 0.4367, 0.2753}},
58733 {
58734 {0.3222, 0.2198, 0.2268, 0.2312},
58735 {0.3630, 0.2710, 0.1646, 0.2014},
58736 {0.2284, 0.1351, 0.4525, 0.1840},
58737 {0.2909, 0.2356, 0.3825, 0.0910}},
58738 {
58739 {0.4391, 0.1849, 0.0630, 0.3129},
58740 {0.2187, 0.4797, 0.0000, 0.3016},
58741 {0.2739, 0.2230, 0.3125, 0.1906},
58742 {0.0535, 0.2925, 0.2312, 0.4228}},
58743 {
58744 {0.1023, 0.3830, 0.3783, 0.1364},
58745 {0.2440, 0.2380, 0.2100, 0.3081},
58746 {0.1265, 0.1255, 0.5614, 0.1866},
58747 {0.0663, 0.4330, 0.1396, 0.3611}},
58748 {
58749 {0.4352, 0.0693, 0.2815, 0.2140},
58750 {0.3009, 0.1227, 0.3968, 0.1797},
58751 {0.4312, 0.2405, 0.1655, 0.1629},
58752 {0.1438, 0.1495, 0.5667, 0.1400}},
58753 {
58754 {0.3377, 0.1490, 0.0886, 0.4248},
58755 {0.4978, 0.1863, 0.1316, 0.1844},
58756 {0.2437, 0.2170, 0.2408, 0.2985},
58757 {0.1074, 0.2760, 0.2314, 0.3853}},
58758 {
58759 {0.0648, 0.3664, 0.4382, 0.1306},
58760 {0.4755, 0.1419, 0.0454, 0.3373},
58761 {0.1652, 0.2100, 0.3416, 0.2831},
58762 {0.1134, 0.2527, 0.4032, 0.2307}},
58763 {
58764 {0.2654, 0.3117, 0.1552, 0.2676},
58765 {0.4728, 0.0744, 0.3802, 0.0727},
58766 {0.2326, 0.1773, 0.2655, 0.3247},
58767 {0.2936, 0.2045, 0.4619, 0.0401}},
58768 {
58769 {0.5462, 0.1526, 0.1837, 0.1175},
58770 {0.1074, 0.1091, 0.2167, 0.5668},
58771 {0.3971, 0.1479, 0.2734, 0.1817},
58772 {0.5217, 0.0000, 0.1058, 0.3725}},
58773 {
58774 {0.1359, 0.3071, 0.3949, 0.1621},
58775 {0.2527, 0.2493, 0.1603, 0.3377},
58776 {0.2363, 0.0000, 0.5734, 0.1903},
58777 {0.0361, 0.4336, 0.3901, 0.1402}},
58778 {
58779 {0.1352, 0.1374, 0.4622, 0.2652},
58780 {0.3889, 0.1028, 0.2875, 0.2208},
58781 {0.4539, 0.0734, 0.4215, 0.0511},
58782 {0.4222, 0.0505, 0.4735, 0.0538}},
58783 {
58784 {0.3717, 0.1750, 0.1244, 0.3289},
58785 {0.3414, 0.1180, 0.2097, 0.3309},
58786 {0.3063, 0.1649, 0.1700, 0.3589},
58787 {0.3845, 0.2340, 0.2357, 0.1458}},
58788 {
58789 {0.1382, 0.2502, 0.3899, 0.2217},
58790 {0.2232, 0.0000, 0.3983, 0.3785},
58791 {0.0596, 0.5326, 0.2336, 0.1741},
58792 {0.0622, 0.3081, 0.3598, 0.2699}},
58793 {
58794 {0.4168, 0.0810, 0.3222, 0.1799},
58795 {0.3996, 0.1072, 0.3198, 0.1734},
58796 {0.3693, 0.3247, 0.2214, 0.0845},
58797 {0.2988, 0.1460, 0.4422, 0.1130}},
58798 {
58799 {0.2921, 0.2874, 0.2104, 0.2100},
58800 {0.2486, 0.5514, 0.0521, 0.1479},
58801 {0.2745, 0.2094, 0.3015, 0.2146},
58802 {0.0000, 0.4593, 0.2198, 0.3209}},
58803 {
58804 {0.2408, 0.2011, 0.3174, 0.2407},
58805 {0.1978, 0.1394, 0.2590, 0.4037},
58806 {0.4067, 0.3739, 0.1719, 0.0475},
58807 {0.0948, 0.3139, 0.1838, 0.4075}},
58808 {
58809 {0.3834, 0.0419, 0.4548, 0.1200},
58810 {0.3248, 0.1175, 0.2420, 0.3157},
58811 {0.5154, 0.1207, 0.2836, 0.0803},
58812 {0.1647, 0.1654, 0.5999, 0.0700}},
58813 {
58814 {0.3448, 0.2013, 0.2259, 0.2280},
58815 {0.3263, 0.5045, 0.0000, 0.1692},
58816 {0.2856, 0.1851, 0.4314, 0.0979},
58817 {0.0629, 0.2722, 0.3307, 0.3342}},
58818 {
58819 {0.1387, 0.2043, 0.4212, 0.2358},
58820 {0.1184, 0.2461, 0.3537, 0.2819},
58821 {0.1985, 0.1245, 0.3556, 0.3214},
58822 {0.0000, 0.4230, 0.3742, 0.2028}},
58823 {
58824 {0.3061, 0.0763, 0.4604, 0.1571},
58825 {0.6236, 0.0846, 0.1652, 0.1266},
58826 {0.3067, 0.3064, 0.2587, 0.1281},
58827 {0.1737, 0.1499, 0.5289, 0.1475}},
58828 {
58829 {0.2995, 0.1713, 0.2257, 0.3035},
58830 {0.1580, 0.3277, 0.1048, 0.4095},
58831 {0.4580, 0.1422, 0.1444, 0.2554},
58832 {0.2091, 0.1463, 0.4338, 0.2107}},
58833 {
58834 {0.0924, 0.1835, 0.3343, 0.3898},
58835 {0.2685, 0.3710, 0.2037, 0.1568},
58836 {0.1413, 0.4323, 0.2375, 0.1889},
58837 {0.2512, 0.2315, 0.3237, 0.1936}},
58838 {
58839 {0.3190, 0.2120, 0.2010, 0.2679},
58840 {0.3437, 0.0702, 0.4822, 0.1039},
58841 {0.1630, 0.3339, 0.2985, 0.2046},
58842 {0.0728, 0.1175, 0.6947, 0.1149}},
58843 {
58844 {0.3903, 0.3070, 0.1723, 0.1305},
58845 {0.2598, 0.3195, 0.1033, 0.3174},
58846 {0.2230, 0.2436, 0.2720, 0.2614},
58847 {0.3487, 0.1733, 0.1226, 0.3554}},
58848 {
58849 {0.1304, 0.4392, 0.2270, 0.2034},
58850 {0.1800, 0.3349, 0.1849, 0.3001},
58851 {0.1037, 0.3985, 0.0966, 0.4012},
58852 {0.0330, 0.3371, 0.4109, 0.2190}},
58853 {
58854 {0.5839, 0.0807, 0.3355, 0.0000},
58855 {0.2847, 0.3580, 0.1552, 0.2022},
58856 {0.4835, 0.1996, 0.3169, 0.0000},
58857 {0.0346, 0.2113, 0.6853, 0.0688}},
58858 {
58859 {0.2222, 0.2205, 0.1990, 0.3583},
58860 {0.3545, 0.1893, 0.2619, 0.1943},
58861 {0.4291, 0.1404, 0.1330, 0.2975},
58862 {0.0998, 0.4094, 0.1969, 0.2938}},
58863 {
58864 {0.2410, 0.3056, 0.3070, 0.1463},
58865 {0.2845, 0.1913, 0.2939, 0.2303},
58866 {0.1983, 0.3478, 0.2059, 0.2480},
58867 {0.0992, 0.3024, 0.3008, 0.2976}},
58868 {
58869 {0.3776, 0.3323, 0.2438, 0.0464},
58870 {0.2899, 0.3010, 0.1673, 0.2418},
58871 {0.2395, 0.3124, 0.3081, 0.1400},
58872 {0.1732, 0.2968, 0.4474, 0.0826}},
58873 {
58874 {0.3281, 0.0374, 0.4249, 0.2096},
58875 {0.3446, 0.2452, 0.1254, 0.2848},
58876 {0.3678, 0.2321, 0.2341, 0.1659},
58877 {0.0676, 0.3642, 0.2209, 0.3473}},
58878 {
58879 {0.0937, 0.4680, 0.2568, 0.1815},
58880 {0.1860, 0.4816, 0.1409, 0.1914},
58881 {0.1943, 0.3025, 0.3832, 0.1200},
58882 {0.0833, 0.2364, 0.4862, 0.1941}},
58883 {
58884 {0.2129, 0.2137, 0.4226, 0.1507},
58885 {0.1504, 0.3897, 0.2546, 0.2053},
58886 {0.0917, 0.4187, 0.3018, 0.1878},
58887 {0.0000, 0.2779, 0.7221, 0.0000}},
58888 {
58889 {0.2515, 0.5837, 0.1648, 0.0000},
58890 {0.3191, 0.2181, 0.1358, 0.3269},
58891 {0.3589, 0.2534, 0.1773, 0.2104},
58892 {0.0668, 0.2439, 0.0680, 0.6213}},
58893 {
58894 {0.1650, 0.3419, 0.2303, 0.2628},
58895 {0.3077, 0.2712, 0.2487, 0.1725},
58896 {0.1983, 0.1259, 0.4716, 0.2043},
58897 {0.1365, 0.4678, 0.2306, 0.1650}},
58898 {
58899 {0.2911, 0.2415, 0.3274, 0.1399},
58900 {0.4404, 0.1776, 0.1167, 0.2653},
58901 {0.3635, 0.2078, 0.3170, 0.1117},
58902 {0.0961, 0.3361, 0.4818, 0.0861}},
58903 {
58904 {0.3014, 0.1803, 0.0886, 0.4297},
58905 {0.2028, 0.5473, 0.1675, 0.0824},
58906 {0.1724, 0.2979, 0.1670, 0.3627},
58907 {0.4104, 0.1691, 0.1832, 0.2372}},
58908 {
58909 {0.0771, 0.4131, 0.4412, 0.0686},
58910 {0.3538, 0.3608, 0.1971, 0.0883},
58911 {0.1949, 0.1328, 0.3446, 0.3278},
58912 {0.2297, 0.3260, 0.2224, 0.2220}},
58913 {
58914 {0.3056, 0.2160, 0.2206, 0.2578},
58915 {0.2653, 0.2635, 0.2372, 0.2339},
58916 {0.2292, 0.3369, 0.4339, 0.0000},
58917 {0.0000, 0.2871, 0.4770, 0.2359}},
58918 {
58919 {0.3442, 0.3050, 0.2654, 0.0853},
58920 {0.3087, 0.3817, 0.1363, 0.1733},
58921 {0.3523, 0.0887, 0.3827, 0.1763},
58922 {0.1076, 0.2805, 0.2808, 0.3311}},
58923 {
58924 {0.1854, 0.2894, 0.3561, 0.1691},
58925 {0.1923, 0.3424, 0.0818, 0.3834},
58926 {0.2200, 0.4947, 0.1783, 0.1071},
58927 {0.0000, 0.3164, 0.4833, 0.2003}},
58928 {
58929 {0.0612, 0.2915, 0.4704, 0.1770},
58930 {0.3657, 0.3223, 0.2091, 0.1030},
58931 {0.2230, 0.3352, 0.2221, 0.2197},
58932 {0.0433, 0.3623, 0.3174, 0.2771}},
58933 {
58934 {0.3986, 0.2313, 0.0938, 0.2762},
58935 {0.3254, 0.3796, 0.1141, 0.1809},
58936 {0.2748, 0.2795, 0.3790, 0.0667},
58937 {0.3192, 0.2551, 0.2617, 0.1641}},
58938 {
58939 {0.1802, 0.3575, 0.3141, 0.1481},
58940 {0.4209, 0.1922, 0.2263, 0.1606},
58941 {0.2697, 0.4090, 0.0894, 0.2318},
58942 {0.3476, 0.2996, 0.2359, 0.1170}},
58943 {
58944 {0.3559, 0.1013, 0.4454, 0.0974},
58945 {0.2827, 0.1576, 0.3076, 0.2520},
58946 {0.4098, 0.2164, 0.2490, 0.1248},
58947 {0.1732, 0.2894, 0.3561, 0.1813}},
58948 {
58949 {0.3944, 0.1529, 0.1503, 0.3024},
58950 {0.1689, 0.1660, 0.0518, 0.6133},
58951 {0.2518, 0.3870, 0.1945, 0.1668},
58952 {0.5197, 0.1798, 0.1191, 0.1814}},
58953 {
58954 {0.1167, 0.4692, 0.1463, 0.2678},
58955 {0.2376, 0.1591, 0.4004, 0.2029},
58956 {0.0713, 0.5377, 0.1336, 0.2574},
58957 {0.1347, 0.3673, 0.2676, 0.2304}},
58958 {
58959 {0.3278, 0.2087, 0.3978, 0.0657},
58960 {0.2276, 0.3614, 0.1232, 0.2877},
58961 {0.1621, 0.1981, 0.5182, 0.1216},
58962 {0.0359, 0.1560, 0.7343, 0.0739}},
58963 {
58964 {0.2729, 0.1566, 0.3739, 0.1965},
58965 {0.2706, 0.3097, 0.1084, 0.3113},
58966 {0.3590, 0.2345, 0.2400, 0.1665},
58967 {0.4118, 0.2938, 0.0518, 0.2425}},
58968 {
58969 {0.0883, 0.2403, 0.4655, 0.2059},
58970 {0.0747, 0.3104, 0.3052, 0.3097},
58971 {0.0911, 0.3502, 0.3278, 0.2310},
58972 {0.3895, 0.3573, 0.1716, 0.0817}}},
58973
58974 { /* Splice_Site: T0_AG; Species: Maize */
58975 {
58976 {0.2329, 0.2329, 0.2329, 0.2329},
58977 {0.2517, 0.2517, 0.2517, 0.2517},
58978 {0.1817, 0.1817, 0.1817, 0.1817},
58979 {0.3338, 0.3338, 0.3338, 0.3338}},
58980 {
58981 {0.2429, 0.2529, 0.1531, 0.3511},
58982 {0.3145, 0.0933, 0.2335, 0.3587},
58983 {0.3162, 0.3101, 0.2505, 0.1232},
58984 {0.2418, 0.3446, 0.1754, 0.2382}},
58985 {
58986 {0.2072, 0.2535, 0.0802, 0.4592},
58987 {0.3602, 0.2743, 0.0932, 0.2723},
58988 {0.2909, 0.2422, 0.1753, 0.2916},
58989 {0.1592, 0.0000, 0.5070, 0.3338}},
58990 {
58991 {0.1847, 0.0897, 0.2304, 0.4952},
58992 {0.3732, 0.1231, 0.0633, 0.4404},
58993 {0.2672, 0.3086, 0.1036, 0.3206},
58994 {0.1345, 0.1339, 0.3303, 0.4013}},
58995 {
58996 {0.0545, 0.3105, 0.1073, 0.5276},
58997 {0.5668, 0.1464, 0.0000, 0.2868},
58998 {0.3279, 0.1683, 0.0576, 0.4462},
58999 {0.1943, 0.1710, 0.1920, 0.4427}},
59000 {
59001 {0.2248, 0.2705, 0.2730, 0.2316},
59002 {0.2885, 0.1173, 0.1768, 0.4173},
59003 {0.0999, 0.2981, 0.2006, 0.4014},
59004 {0.2952, 0.0794, 0.2356, 0.3898}},
59005 {
59006 {0.2738, 0.0908, 0.2714, 0.3640},
59007 {0.4970, 0.1476, 0.1413, 0.2141},
59008 {0.2492, 0.2058, 0.1999, 0.3451},
59009 {0.0329, 0.2229, 0.2268, 0.5174}},
59010 {
59011 {0.3637, 0.1056, 0.2644, 0.2663},
59012 {0.4676, 0.0000, 0.2653, 0.2671},
59013 {0.2626, 0.3649, 0.0506, 0.3219},
59014 {0.2921, 0.1164, 0.2106, 0.3809}},
59015 {
59016 {0.2039, 0.2067, 0.2092, 0.3803},
59017 {0.2307, 0.2340, 0.2311, 0.3042},
59018 {0.2333, 0.2307, 0.1761, 0.3599},
59019 {0.3202, 0.2074, 0.1420, 0.3304}},
59020 {
59021 {0.2726, 0.1836, 0.1813, 0.3625},
59022 {0.5185, 0.0000, 0.2676, 0.2139},
59023 {0.3121, 0.1914, 0.0601, 0.4364},
59024 {0.2657, 0.2386, 0.1627, 0.3330}},
59025 {
59026 {0.3450, 0.0331, 0.2050, 0.4168},
59027 {0.4387, 0.3563, 0.0000, 0.2050},
59028 {0.1334, 0.2631, 0.1336, 0.4699},
59029 {0.3065, 0.1417, 0.2042, 0.3475}},
59030 {
59031 {0.2600, 0.1847, 0.1094, 0.4459},
59032 {0.2140, 0.3542, 0.1462, 0.2855},
59033 {0.3578, 0.2851, 0.0000, 0.3571},
59034 {0.0941, 0.3127, 0.2469, 0.3463}},
59035 {
59036 {0.2247, 0.1651, 0.0000, 0.6102},
59037 {0.3324, 0.2104, 0.1232, 0.3340},
59038 {0.2944, 0.2380, 0.0000, 0.4675},
59039 {0.2746, 0.1909, 0.2185, 0.3160}},
59040 {
59041 {0.2067, 0.1199, 0.1988, 0.4747},
59042 {0.2992, 0.1213, 0.1704, 0.4091},
59043 {0.2999, 0.2994, 0.0000, 0.4007},
59044 {0.1706, 0.1979, 0.2849, 0.3466}},
59045 {
59046 {0.2081, 0.1035, 0.1584, 0.5299},
59047 {0.3332, 0.2685, 0.1313, 0.2670},
59048 {0.1105, 0.0499, 0.3356, 0.5040},
59049 {0.3426, 0.1713, 0.2588, 0.2273}},
59050 {
59051 {0.4301, 0.2212, 0.0463, 0.3024},
59052 {0.4591, 0.0000, 0.0000, 0.5409},
59053 {0.3983, 0.2520, 0.1542, 0.1955},
59054 {0.2582, 0.1938, 0.2274, 0.3206}},
59055 {
59056 {0.2205, 0.3075, 0.1274, 0.3447},
59057 {0.4937, 0.0000, 0.2519, 0.2544},
59058 {0.5388, 0.2752, 0.0970, 0.0890},
59059 {0.0681, 0.2149, 0.3581, 0.3589}},
59060 {
59061 {0.2200, 0.2581, 0.0879, 0.4340},
59062 {0.4651, 0.0000, 0.0547, 0.4802},
59063 {0.2081, 0.2134, 0.3701, 0.2085},
59064 {0.3154, 0.1528, 0.1142, 0.4176}},
59065 {
59066 {0.2299, 0.3509, 0.1519, 0.2673},
59067 {0.2154, 0.1411, 0.1419, 0.5016},
59068 {0.3061, 0.1540, 0.2346, 0.3054},
59069 {0.1151, 0.1753, 0.2927, 0.4170}},
59070 {
59071 {0.2309, 0.3539, 0.2401, 0.1751},
59072 {0.2095, 0.1059, 0.1049, 0.5796},
59073 {0.2586, 0.0486, 0.2115, 0.4813},
59074 {0.1607, 0.2188, 0.2142, 0.4063}},
59075 {
59076 {0.1674, 0.1641, 0.0000, 0.6685},
59077 {0.1200, 0.1961, 0.1835, 0.5003},
59078 {0.3456, 0.0000, 0.1757, 0.4787},
59079 {0.1643, 0.2540, 0.3607, 0.2210}},
59080 {
59081 {0.2384, 0.2364, 0.2392, 0.2861},
59082 {0.2027, 0.2664, 0.0672, 0.4638},
59083 {0.3709, 0.0499, 0.1035, 0.4757},
59084 {0.1127, 0.1682, 0.1947, 0.5244}},
59085 {
59086 {0.2668, 0.1072, 0.1108, 0.5152},
59087 {0.1332, 0.0676, 0.2031, 0.5961},
59088 {0.2165, 0.1460, 0.2908, 0.3466},
59089 {0.3008, 0.1729, 0.1746, 0.3517}},
59090 {
59091 {0.1809, 0.0876, 0.1827, 0.5487},
59092 {0.0795, 0.1639, 0.2484, 0.5081},
59093 {0.2510, 0.2537, 0.1790, 0.3162},
59094 {0.1642, 0.1886, 0.3249, 0.3223}},
59095 {
59096 {0.0677, 0.5277, 0.2001, 0.2045},
59097 {0.1351, 0.2670, 0.0668, 0.5310},
59098 {0.3609, 0.1430, 0.1331, 0.3630},
59099 {0.2344, 0.1123, 0.3393, 0.3140}},
59100 {
59101 {0.2170, 0.2618, 0.0000, 0.5212},
59102 {0.1541, 0.2720, 0.0497, 0.5242},
59103 {0.1577, 0.3211, 0.0522, 0.4690},
59104 {0.2349, 0.0321, 0.2676, 0.4655}},
59105 {
59106 {0.1758, 0.2330, 0.1820, 0.4092},
59107 {0.3544, 0.0578, 0.1754, 0.4124},
59108 {0.3987, 0.3016, 0.0988, 0.2009},
59109 {0.1875, 0.1165, 0.2981, 0.3978}},
59110 {
59111 {0.3814, 0.2386, 0.0490, 0.3310},
59112 {0.2270, 0.0743, 0.1570, 0.5417},
59113 {0.2434, 0.1484, 0.0519, 0.5563},
59114 {0.2750, 0.2088, 0.2431, 0.2731}},
59115 {
59116 {0.2347, 0.2439, 0.1591, 0.3623},
59117 {0.3776, 0.1251, 0.0595, 0.4378},
59118 {0.4187, 0.4095, 0.0000, 0.1718},
59119 {0.2897, 0.2363, 0.3006, 0.1733}},
59120 {
59121 {0.1473, 0.2888, 0.0368, 0.5272},
59122 {0.3314, 0.1931, 0.0484, 0.4271},
59123 {0.3410, 0.2662, 0.0675, 0.3253},
59124 {0.3793, 0.1290, 0.2443, 0.2474}},
59125 {
59126 {0.4470, 0.1178, 0.0398, 0.3953},
59127 {0.2704, 0.0000, 0.1548, 0.5748},
59128 {0.2178, 0.4393, 0.1149, 0.2280},
59129 {0.2028, 0.1199, 0.3232, 0.3541}},
59130 {
59131 {0.2003, 0.2417, 0.0365, 0.5215},
59132 {0.2725, 0.1750, 0.0901, 0.4625},
59133 {0.1227, 0.1859, 0.0653, 0.6262},
59134 {0.2911, 0.1695, 0.1978, 0.3416}},
59135 {
59136 {0.3486, 0.0538, 0.1966, 0.4010},
59137 {0.1257, 0.3493, 0.0598, 0.4651},
59138 {0.3964, 0.1018, 0.2026, 0.2992},
59139 {0.1732, 0.1737, 0.2518, 0.4013}},
59140 {
59141 {0.2067, 0.1927, 0.0517, 0.5489},
59142 {0.3401, 0.0671, 0.0657, 0.5271},
59143 {0.2957, 0.2935, 0.0562, 0.3547},
59144 {0.1483, 0.1475, 0.3079, 0.3963}},
59145 {
59146 {0.3664, 0.1606, 0.0000, 0.4729},
59147 {0.1337, 0.2731, 0.1317, 0.4615},
59148 {0.1465, 0.3539, 0.2129, 0.2867},
59149 {0.1288, 0.1540, 0.3351, 0.3821}},
59150 {
59151 {0.3707, 0.1903, 0.0649, 0.3741},
59152 {0.3332, 0.1653, 0.1718, 0.3298},
59153 {0.2805, 0.1718, 0.1666, 0.3811},
59154 {0.0595, 0.2580, 0.3127, 0.3698}},
59155 {
59156 {0.2075, 0.2159, 0.2104, 0.3662},
59157 {0.1616, 0.2282, 0.0569, 0.5533},
59158 {0.2224, 0.1109, 0.4498, 0.2169},
59159 {0.1261, 0.1260, 0.3752, 0.3726}},
59160 {
59161 {0.3368, 0.3320, 0.0652, 0.2659},
59162 {0.2105, 0.3574, 0.1433, 0.2888},
59163 {0.2033, 0.2379, 0.2429, 0.3158},
59164 {0.2174, 0.0893, 0.3632, 0.3301}},
59165 {
59166 {0.0948, 0.1475, 0.1542, 0.6035},
59167 {0.3629, 0.1605, 0.1023, 0.3743},
59168 {0.0976, 0.2904, 0.2375, 0.3745},
59169 {0.1869, 0.2579, 0.2253, 0.3299}},
59170 {
59171 {0.0616, 0.2994, 0.0603, 0.5787},
59172 {0.2131, 0.0492, 0.2054, 0.5323},
59173 {0.2563, 0.2410, 0.1885, 0.3141},
59174 {0.1401, 0.1649, 0.2737, 0.4213}},
59175 {
59176 {0.4238, 0.2864, 0.0763, 0.2134},
59177 {0.1940, 0.2425, 0.1237, 0.4399},
59178 {0.1207, 0.2178, 0.1644, 0.4972},
59179 {0.0754, 0.1812, 0.3342, 0.4092}},
59180 {
59181 {0.1394, 0.4226, 0.0000, 0.4380},
59182 {0.2023, 0.2106, 0.1115, 0.4756},
59183 {0.2171, 0.3109, 0.0532, 0.4187},
59184 {0.0568, 0.2547, 0.2280, 0.4605}},
59185 {
59186 {0.0000, 0.2535, 0.0802, 0.6663},
59187 {0.2375, 0.2035, 0.2451, 0.3139},
59188 {0.2803, 0.0911, 0.1758, 0.4528},
59189 {0.1332, 0.2052, 0.3050, 0.3565}},
59190 {
59191 {0.2226, 0.2889, 0.0000, 0.4884},
59192 {0.2378, 0.4102, 0.0000, 0.3520},
59193 {0.1466, 0.2814, 0.2388, 0.3331},
59194 {0.0851, 0.1477, 0.1923, 0.5749}},
59195 {
59196 {0.2331, 0.2386, 0.0800, 0.4483},
59197 {0.2694, 0.1380, 0.0000, 0.5926},
59198 {0.0837, 0.2498, 0.3332, 0.3333},
59199 {0.1750, 0.1250, 0.1734, 0.5266}},
59200 {
59201 {0.2353, 0.1729, 0.0600, 0.5319},
59202 {0.1409, 0.2166, 0.2974, 0.3451},
59203 {0.2503, 0.1606, 0.1639, 0.4253},
59204 {0.1603, 0.1349, 0.2532, 0.4516}},
59205 {
59206 {0.3140, 0.1802, 0.0654, 0.4404},
59207 {0.2200, 0.0730, 0.2861, 0.4208},
59208 {0.0000, 0.1681, 0.2204, 0.6115},
59209 {0.1250, 0.1805, 0.2048, 0.4897}},
59210 {
59211 {0.2249, 0.0817, 0.0000, 0.6934},
59212 {0.0676, 0.0000, 0.1432, 0.7892},
59213 {0.2394, 0.2980, 0.0000, 0.4626},
59214 {0.0462, 0.0461, 0.1393, 0.7684}},
59215 {
59216 {0.4069, 0.2007, 0.2018, 0.1906},
59217 {0.3702, 0.1233, 0.1248, 0.3817},
59218 {0.1262, 0.3702, 0.2408, 0.2627},
59219 {0.1340, 0.0970, 0.5525, 0.2165}},
59220 {
59221 {0.0000, 0.8740, 0.0000, 0.1260},
59222 {0.0811, 0.7554, 0.0000, 0.1635},
59223 {0.0500, 0.8243, 0.0000, 0.1257},
59224 {0.0000, 0.7525, 0.0000, 0.2475}},
59225 {
59226 {1.0000, 0.0000, 0.0000, 0.0000},
59227 {1.0000, 0.0000, 0.0000, 0.0000},
59228 {1.0000, 0.0000, 0.0000, 0.0000},
59229 {1.0000, 0.0000, 0.0000, 0.0000}},
59230 {
59231 {0.0000, 0.0000, 1.0000, 0.0000},
59232 {0.0000, 0.0000, 0.0000, 0.0000},
59233 {0.0000, 0.0000, 0.0000, 0.0000},
59234 {0.0000, 0.0000, 0.0000, 0.0000}},
59235 {
59236 {0.0000, 0.0000, 0.0000, 0.0000},
59237 {0.0000, 0.0000, 0.0000, 0.0000},
59238 {0.1151, 0.1374, 0.6128, 0.1347},
59239 {0.0000, 0.0000, 0.0000, 0.0000}},
59240 {
59241 {0.1959, 0.1989, 0.1030, 0.5022},
59242 {0.2502, 0.1635, 0.1630, 0.4234},
59243 {0.1903, 0.0964, 0.2220, 0.4913},
59244 {0.1667, 0.1678, 0.4142, 0.2514}},
59245 {
59246 {0.4752, 0.1173, 0.1756, 0.2319},
59247 {0.3687, 0.1788, 0.0870, 0.3655},
59248 {0.2479, 0.4998, 0.1511, 0.1012},
59249 {0.4082, 0.2033, 0.1009, 0.2876}},
59250 {
59251 {0.1844, 0.4594, 0.1776, 0.1786},
59252 {0.2292, 0.1372, 0.2743, 0.3594},
59253 {0.2714, 0.0000, 0.5492, 0.1794},
59254 {0.1904, 0.3303, 0.3340, 0.1453}},
59255 {
59256 {0.3348, 0.1648, 0.2241, 0.2763},
59257 {0.3967, 0.2439, 0.1565, 0.2028},
59258 {0.3239, 0.1616, 0.3994, 0.1152},
59259 {0.2084, 0.2112, 0.3725, 0.2078}},
59260 {
59261 {0.3260, 0.1040, 0.2498, 0.3202},
59262 {0.2954, 0.2428, 0.2324, 0.2294},
59263 {0.5207, 0.2399, 0.0810, 0.1584},
59264 {0.1165, 0.2833, 0.2422, 0.3580}},
59265 {
59266 {0.2797, 0.3086, 0.2092, 0.2025},
59267 {0.2200, 0.2280, 0.3327, 0.2193},
59268 {0.2305, 0.1807, 0.3503, 0.2384},
59269 {0.2644, 0.3079, 0.2130, 0.2147}},
59270 {
59271 {0.3171, 0.0915, 0.2719, 0.3194},
59272 {0.3009, 0.2185, 0.2663, 0.2142},
59273 {0.3465, 0.2618, 0.3062, 0.0855},
59274 {0.3162, 0.2090, 0.2631, 0.2117}},
59275 {
59276 {0.4639, 0.1416, 0.1014, 0.2931},
59277 {0.1182, 0.1240, 0.1176, 0.6402},
59278 {0.5025, 0.1644, 0.1270, 0.2062},
59279 {0.2299, 0.4968, 0.0560, 0.2173}},
59280 {
59281 {0.1947, 0.2589, 0.3505, 0.1959},
59282 {0.1583, 0.3174, 0.3725, 0.1518},
59283 {0.1001, 0.3310, 0.5690, 0.0000},
59284 {0.1437, 0.2895, 0.3541, 0.2128}},
59285 {
59286 {0.2843, 0.2935, 0.3486, 0.0736},
59287 {0.2790, 0.2387, 0.2419, 0.2403},
59288 {0.4198, 0.1852, 0.3342, 0.0608},
59289 {0.4531, 0.1318, 0.3459, 0.0692}},
59290 {
59291 {0.4635, 0.1918, 0.2202, 0.1245},
59292 {0.2206, 0.2213, 0.1120, 0.4461},
59293 {0.4831, 0.0731, 0.2959, 0.1480},
59294 {0.1036, 0.1987, 0.4957, 0.2019}},
59295 {
59296 {0.2123, 0.2072, 0.3923, 0.1881},
59297 {0.2858, 0.4254, 0.0000, 0.2889},
59298 {0.1789, 0.2296, 0.2708, 0.3207},
59299 {0.0540, 0.1708, 0.3364, 0.4388}},
59300 {
59301 {0.3676, 0.1258, 0.3143, 0.1923},
59302 {0.2333, 0.2392, 0.3362, 0.1913},
59303 {0.1268, 0.3150, 0.4776, 0.0805},
59304 {0.1948, 0.1607, 0.5661, 0.0784}},
59305 {
59306 {0.3122, 0.2143, 0.3133, 0.1602},
59307 {0.3194, 0.3092, 0.1057, 0.2657},
59308 {0.3432, 0.1820, 0.3169, 0.1579},
59309 {0.0934, 0.2676, 0.1848, 0.4543}},
59310 {
59311 {0.2726, 0.2371, 0.2272, 0.2631},
59312 {0.1973, 0.1525, 0.4038, 0.2464},
59313 {0.2285, 0.2769, 0.3566, 0.1381},
59314 {0.1043, 0.2655, 0.2661, 0.3641}},
59315 {
59316 {0.3907, 0.1703, 0.2173, 0.2218},
59317 {0.2933, 0.1513, 0.3054, 0.2499},
59318 {0.4032, 0.1496, 0.3320, 0.1152},
59319 {0.0905, 0.2716, 0.4501, 0.1878}},
59320 {
59321 {0.3069, 0.2707, 0.1529, 0.2695},
59322 {0.3144, 0.3758, 0.1849, 0.1248},
59323 {0.4146, 0.2062, 0.2770, 0.1022},
59324 {0.1224, 0.1254, 0.3724, 0.3798}},
59325 {
59326 {0.0757, 0.1882, 0.5503, 0.1858},
59327 {0.1925, 0.2375, 0.4338, 0.1362},
59328 {0.1433, 0.0945, 0.4755, 0.2867},
59329 {0.2710, 0.1131, 0.3928, 0.2231}},
59330 {
59331 {0.2909, 0.2172, 0.3582, 0.1337},
59332 {0.2097, 0.3573, 0.3616, 0.0714},
59333 {0.2462, 0.1907, 0.3431, 0.2200},
59334 {0.0000, 0.2144, 0.5617, 0.2239}},
59335 {
59336 {0.4709, 0.0633, 0.2897, 0.1760},
59337 {0.2044, 0.0000, 0.0475, 0.7482},
59338 {0.3781, 0.1751, 0.3233, 0.1235},
59339 {0.2469, 0.1882, 0.1302, 0.4347}},
59340 {
59341 {0.0685, 0.3744, 0.3157, 0.2414},
59342 {0.3025, 0.4928, 0.1023, 0.1024},
59343 {0.2632, 0.2621, 0.2613, 0.2135},
59344 {0.1020, 0.2074, 0.3078, 0.3829}},
59345 {
59346 {0.3899, 0.2275, 0.3825, 0.0000},
59347 {0.4438, 0.2244, 0.1868, 0.1451},
59348 {0.2912, 0.2075, 0.3368, 0.1645},
59349 {0.2647, 0.1281, 0.5255, 0.0818}},
59350 {
59351 {0.4651, 0.1326, 0.0994, 0.3030},
59352 {0.2369, 0.3474, 0.1827, 0.2330},
59353 {0.3937, 0.2390, 0.2319, 0.1354},
59354 {0.6097, 0.1013, 0.0000, 0.2891}},
59355 {
59356 {0.0586, 0.1927, 0.6103, 0.1384},
59357 {0.2186, 0.3330, 0.2285, 0.2199},
59358 {0.1489, 0.0750, 0.3884, 0.3877},
59359 {0.0446, 0.2009, 0.5561, 0.1984}},
59360 {
59361 {0.6652, 0.2220, 0.1128, 0.0000},
59362 {0.3262, 0.2287, 0.0589, 0.3861},
59363 {0.2390, 0.3782, 0.2650, 0.1178},
59364 {0.2243, 0.1650, 0.5004, 0.1103}},
59365 {
59366 {0.3437, 0.1935, 0.1944, 0.2684},
59367 {0.2389, 0.4391, 0.0788, 0.2433},
59368 {0.2711, 0.0925, 0.4117, 0.2248},
59369 {0.1363, 0.3573, 0.2116, 0.2948}},
59370 {
59371 {0.1790, 0.2164, 0.4333, 0.1713},
59372 {0.3417, 0.2220, 0.2147, 0.2216},
59373 {0.1082, 0.1504, 0.3704, 0.3711},
59374 {0.0902, 0.1382, 0.5035, 0.2680}},
59375 {
59376 {0.4917, 0.1835, 0.2571, 0.0678},
59377 {0.1850, 0.3163, 0.1884, 0.3103},
59378 {0.3610, 0.3336, 0.1521, 0.1533},
59379 {0.0900, 0.1859, 0.4977, 0.2264}},
59380 {
59381 {0.3566, 0.1195, 0.1621, 0.3619},
59382 {0.3891, 0.2593, 0.1773, 0.1743},
59383 {0.4313, 0.3546, 0.2141, 0.0000},
59384 {0.1261, 0.1220, 0.3225, 0.4294}},
59385 {
59386 {0.1656, 0.2943, 0.2333, 0.3068},
59387 {0.1037, 0.3164, 0.2594, 0.3204},
59388 {0.0567, 0.3344, 0.3271, 0.2819},
59389 {0.0000, 0.4549, 0.2995, 0.2456}},
59390 {
59391 {0.2517, 0.0000, 0.3613, 0.3870},
59392 {0.3345, 0.1694, 0.1985, 0.2975},
59393 {0.4501, 0.2104, 0.1286, 0.2108},
59394 {0.2391, 0.2436, 0.3592, 0.1581}},
59395 {
59396 {0.4460, 0.2076, 0.0343, 0.3121},
59397 {0.2488, 0.3708, 0.2541, 0.1263},
59398 {0.3259, 0.1503, 0.4760, 0.0479},
59399 {0.0489, 0.2901, 0.2848, 0.3762}},
59400 {
59401 {0.1205, 0.3607, 0.1611, 0.3577},
59402 {0.3310, 0.1434, 0.1429, 0.3826},
59403 {0.0919, 0.3231, 0.3411, 0.2440},
59404 {0.0506, 0.1935, 0.3535, 0.4024}},
59405 {
59406 {0.3078, 0.2301, 0.3111, 0.1511},
59407 {0.2597, 0.3087, 0.2132, 0.2184},
59408 {0.3317, 0.0450, 0.4804, 0.1429},
59409 {0.0339, 0.2330, 0.6005, 0.1326}},
59410 {
59411 {0.5464, 0.2236, 0.1197, 0.1102},
59412 {0.2196, 0.3917, 0.2192, 0.1695},
59413 {0.4591, 0.2963, 0.1054, 0.1392},
59414 {0.0720, 0.1460, 0.3606, 0.4214}},
59415 {
59416 {0.1250, 0.2870, 0.3691, 0.2188},
59417 {0.2084, 0.2070, 0.2096, 0.3751},
59418 {0.1333, 0.1967, 0.1999, 0.4701},
59419 {0.0619, 0.4274, 0.3898, 0.1209}},
59420 {
59421 {0.2511, 0.0842, 0.4907, 0.1740},
59422 {0.4208, 0.2910, 0.1255, 0.1627},
59423 {0.3111, 0.1874, 0.3452, 0.1563},
59424 {0.1177, 0.1596, 0.3988, 0.3239}},
59425 {
59426 {0.3764, 0.1238, 0.1263, 0.3735},
59427 {0.5348, 0.1741, 0.0593, 0.2317},
59428 {0.3915, 0.3217, 0.1406, 0.1462},
59429 {0.1181, 0.3820, 0.1735, 0.3264}},
59430 {
59431 {0.0987, 0.4571, 0.3158, 0.1284},
59432 {0.2289, 0.2235, 0.2777, 0.2699},
59433 {0.0000, 0.3651, 0.4633, 0.1715},
59434 {0.0448, 0.3490, 0.3069, 0.2993}},
59435 {
59436 {0.1136, 0.2235, 0.5537, 0.1092},
59437 {0.3864, 0.1937, 0.2921, 0.1279},
59438 {0.3163, 0.2154, 0.3549, 0.1135},
59439 {0.1054, 0.2120, 0.5242, 0.1584}},
59440 {
59441 {0.3697, 0.3017, 0.0806, 0.2479},
59442 {0.2780, 0.2721, 0.0000, 0.4499},
59443 {0.2065, 0.3225, 0.2613, 0.2097},
59444 {0.1814, 0.1824, 0.2731, 0.3631}},
59445 {
59446 {0.2122, 0.3072, 0.1775, 0.3031},
59447 {0.3116, 0.1607, 0.2436, 0.2841},
59448 {0.2117, 0.1424, 0.2115, 0.4344},
59449 {0.0825, 0.2789, 0.4819, 0.1567}},
59450 {
59451 {0.2808, 0.3866, 0.1110, 0.2216},
59452 {0.2962, 0.4032, 0.2518, 0.0488},
59453 {0.3218, 0.1196, 0.4772, 0.0814},
59454 {0.2949, 0.2433, 0.4618, 0.0000}},
59455 {
59456 {0.3811, 0.2303, 0.1577, 0.2310},
59457 {0.1645, 0.0839, 0.2052, 0.5464},
59458 {0.3693, 0.1975, 0.2652, 0.1680},
59459 {0.0000, 0.2813, 0.2859, 0.4328}},
59460 {
59461 {0.1993, 0.2834, 0.4004, 0.1168},
59462 {0.1263, 0.1889, 0.3770, 0.3078},
59463 {0.1634, 0.2145, 0.4169, 0.2051},
59464 {0.0377, 0.2615, 0.4438, 0.2570}},
59465 {
59466 {0.1788, 0.2803, 0.5409, 0.0000},
59467 {0.2408, 0.1380, 0.4772, 0.1440},
59468 {0.3881, 0.2248, 0.2776, 0.1094},
59469 {0.1528, 0.1576, 0.4774, 0.2121}},
59470 {
59471 {0.2529, 0.2051, 0.1697, 0.3722},
59472 {0.2901, 0.2966, 0.4133, 0.0000},
59473 {0.2892, 0.2831, 0.1728, 0.2549},
59474 {0.3617, 0.1791, 0.0927, 0.3665}},
59475 {
59476 {0.1617, 0.4010, 0.2802, 0.1572},
59477 {0.3582, 0.2703, 0.0962, 0.2754},
59478 {0.1673, 0.3283, 0.2839, 0.2205},
59479 {0.0901, 0.4481, 0.4179, 0.0439}},
59480 {
59481 {0.3517, 0.1162, 0.3505, 0.1815},
59482 {0.3409, 0.0937, 0.2848, 0.2806},
59483 {0.2588, 0.1735, 0.3026, 0.2651},
59484 {0.0617, 0.1292, 0.7444, 0.0647}}},
59485
59486 { /* Splice_Site: F1_AG; Species: Maize */
59487 {
59488 {0.1039, 0.1039, 0.1039, 0.1039},
59489 {0.3549, 0.3549, 0.3549, 0.3549},
59490 {0.3487, 0.3487, 0.3487, 0.3487},
59491 {0.1926, 0.1926, 0.1926, 0.1926}},
59492 {
59493 {0.3161, 0.2603, 0.3059, 0.1176},
59494 {0.2421, 0.2475, 0.3541, 0.1564},
59495 {0.2273, 0.3482, 0.2944, 0.1301},
59496 {0.2583, 0.1422, 0.4145, 0.1851}},
59497 {
59498 {0.2979, 0.2100, 0.2358, 0.2562},
59499 {0.2812, 0.1875, 0.2266, 0.3047},
59500 {0.3248, 0.1401, 0.2424, 0.2927},
59501 {0.1462, 0.2807, 0.2797, 0.2934}},
59502 {
59503 {0.1333, 0.3329, 0.3927, 0.1412},
59504 {0.1462, 0.2854, 0.3319, 0.2365},
59505 {0.0761, 0.4340, 0.2988, 0.1911},
59506 {0.0958, 0.3501, 0.4117, 0.1423}},
59507 {
59508 {0.1858, 0.0581, 0.4753, 0.2808},
59509 {0.3007, 0.2179, 0.3447, 0.1367},
59510 {0.2711, 0.3153, 0.2527, 0.1608},
59511 {0.0876, 0.3201, 0.3644, 0.2279}},
59512 {
59513 {0.2734, 0.2232, 0.1765, 0.3269},
59514 {0.2590, 0.2059, 0.2177, 0.3173},
59515 {0.2834, 0.1812, 0.2278, 0.3076},
59516 {0.1532, 0.1882, 0.1370, 0.5216}},
59517 {
59518 {0.0846, 0.2935, 0.4668, 0.1551},
59519 {0.1053, 0.4719, 0.2655, 0.1573},
59520 {0.1135, 0.4822, 0.2484, 0.1559},
59521 {0.0595, 0.4609, 0.2875, 0.1921}},
59522 {
59523 {0.3647, 0.0706, 0.3111, 0.2536},
59524 {0.2592, 0.2339, 0.3513, 0.1556},
59525 {0.2143, 0.3273, 0.2821, 0.1763},
59526 {0.2351, 0.2010, 0.3832, 0.1807}},
59527 {
59528 {0.2494, 0.3464, 0.1237, 0.2806},
59529 {0.2685, 0.1878, 0.2036, 0.3401},
59530 {0.3341, 0.2182, 0.2030, 0.2446},
59531 {0.2272, 0.3126, 0.1427, 0.3175}},
59532 {
59533 {0.0345, 0.4614, 0.3733, 0.1307},
59534 {0.2152, 0.3439, 0.2869, 0.1539},
59535 {0.1213, 0.4969, 0.1804, 0.2014},
59536 {0.0819, 0.3506, 0.3982, 0.1694}},
59537 {
59538 {0.2791, 0.1151, 0.1900, 0.4157},
59539 {0.2537, 0.2759, 0.3594, 0.1109},
59540 {0.2470, 0.3096, 0.3464, 0.0970},
59541 {0.1355, 0.1707, 0.5234, 0.1703}},
59542 {
59543 {0.2717, 0.2168, 0.3016, 0.2099},
59544 {0.3082, 0.2547, 0.1526, 0.2846},
59545 {0.2631, 0.2156, 0.3360, 0.1853},
59546 {0.1815, 0.3191, 0.2365, 0.2628}},
59547 {
59548 {0.0943, 0.3715, 0.3802, 0.1541},
59549 {0.1298, 0.3107, 0.3733, 0.1862},
59550 {0.1378, 0.4816, 0.2512, 0.1294},
59551 {0.0663, 0.2741, 0.4649, 0.1947}},
59552 {
59553 {0.2347, 0.2082, 0.3669, 0.1902},
59554 {0.2707, 0.2103, 0.4031, 0.1160},
59555 {0.2375, 0.2288, 0.3772, 0.1565},
59556 {0.1548, 0.2455, 0.4483, 0.1515}},
59557 {
59558 {0.2713, 0.2454, 0.2281, 0.2552},
59559 {0.3046, 0.2822, 0.1547, 0.2584},
59560 {0.3213, 0.2751, 0.2125, 0.1911},
59561 {0.1744, 0.4199, 0.1666, 0.2391}},
59562 {
59563 {0.1234, 0.2772, 0.4388, 0.1606},
59564 {0.1791, 0.3464, 0.2965, 0.1780},
59565 {0.0943, 0.3891, 0.3483, 0.1682},
59566 {0.0686, 0.3715, 0.4112, 0.1487}},
59567 {
59568 {0.2484, 0.1066, 0.4539, 0.1911},
59569 {0.3457, 0.2130, 0.3380, 0.1033},
59570 {0.2235, 0.2694, 0.3597, 0.1475},
59571 {0.0969, 0.2092, 0.5133, 0.1806}},
59572 {
59573 {0.3151, 0.2124, 0.2738, 0.1987},
59574 {0.2636, 0.2128, 0.1368, 0.3868},
59575 {0.4100, 0.2159, 0.1832, 0.1910},
59576 {0.1076, 0.3420, 0.2335, 0.3169}},
59577 {
59578 {0.1029, 0.3572, 0.3814, 0.1585},
59579 {0.1092, 0.4564, 0.2565, 0.1779},
59580 {0.0906, 0.4197, 0.3135, 0.1762},
59581 {0.0495, 0.2777, 0.4024, 0.2704}},
59582 {
59583 {0.2910, 0.2833, 0.2481, 0.1776},
59584 {0.2903, 0.2571, 0.3211, 0.1316},
59585 {0.2145, 0.2506, 0.3814, 0.1535},
59586 {0.2206, 0.1723, 0.5047, 0.1024}},
59587 {
59588 {0.3565, 0.2040, 0.2155, 0.2240},
59589 {0.3865, 0.1980, 0.1516, 0.2638},
59590 {0.3819, 0.3039, 0.1837, 0.1304},
59591 {0.1848, 0.2842, 0.2026, 0.3284}},
59592 {
59593 {0.1206, 0.2620, 0.5193, 0.0981},
59594 {0.1459, 0.3219, 0.3499, 0.1823},
59595 {0.0530, 0.4435, 0.3704, 0.1331},
59596 {0.0142, 0.2798, 0.4882, 0.2178}},
59597 {
59598 {0.1379, 0.2727, 0.5174, 0.0720},
59599 {0.2818, 0.2309, 0.3582, 0.1291},
59600 {0.2268, 0.2764, 0.3450, 0.1518},
59601 {0.1025, 0.2726, 0.4620, 0.1628}},
59602 {
59603 {0.2242, 0.2164, 0.2489, 0.3105},
59604 {0.2121, 0.2167, 0.2028, 0.3683},
59605 {0.3418, 0.2729, 0.2751, 0.1102},
59606 {0.3200, 0.2919, 0.1059, 0.2822}},
59607 {
59608 {0.1283, 0.3331, 0.4286, 0.1101},
59609 {0.1851, 0.3386, 0.3297, 0.1465},
59610 {0.1467, 0.4701, 0.2757, 0.1075},
59611 {0.0497, 0.3939, 0.3861, 0.1703}},
59612 {
59613 {0.1846, 0.2387, 0.3095, 0.2672},
59614 {0.3504, 0.2044, 0.3011, 0.1441},
59615 {0.2617, 0.2946, 0.2664, 0.1772},
59616 {0.2380, 0.2067, 0.3886, 0.1666}},
59617 {
59618 {0.2704, 0.2521, 0.1861, 0.2915},
59619 {0.3559, 0.1503, 0.2046, 0.2892},
59620 {0.4569, 0.2062, 0.1531, 0.1837},
59621 {0.1557, 0.3808, 0.1746, 0.2889}},
59622 {
59623 {0.1735, 0.2626, 0.4901, 0.0738},
59624 {0.0681, 0.3281, 0.2952, 0.3086},
59625 {0.1526, 0.4151, 0.2618, 0.1705},
59626 {0.0582, 0.3504, 0.3996, 0.1918}},
59627 {
59628 {0.2512, 0.2446, 0.3508, 0.1534},
59629 {0.2180, 0.2372, 0.3326, 0.2122},
59630 {0.1545, 0.3213, 0.3402, 0.1839},
59631 {0.0527, 0.1580, 0.6851, 0.1042}},
59632 {
59633 {0.2722, 0.2174, 0.0545, 0.4558},
59634 {0.3445, 0.1447, 0.2431, 0.2677},
59635 {0.3777, 0.2491, 0.2043, 0.1688},
59636 {0.2458, 0.3619, 0.1607, 0.2316}},
59637 {
59638 {0.1372, 0.3651, 0.3513, 0.1464},
59639 {0.1838, 0.2764, 0.3332, 0.2066},
59640 {0.1051, 0.4728, 0.2500, 0.1721},
59641 {0.0466, 0.3901, 0.3773, 0.1860}},
59642 {
59643 {0.1513, 0.2818, 0.4119, 0.1550},
59644 {0.2642, 0.1824, 0.4096, 0.1438},
59645 {0.2311, 0.2672, 0.2992, 0.2025},
59646 {0.1584, 0.2101, 0.4382, 0.1932}},
59647 {
59648 {0.3376, 0.2265, 0.1621, 0.2738},
59649 {0.3045, 0.2545, 0.1739, 0.2672},
59650 {0.3586, 0.3388, 0.1572, 0.1454},
59651 {0.1238, 0.3740, 0.1466, 0.3556}},
59652 {
59653 {0.1227, 0.2700, 0.4400, 0.1674},
59654 {0.1126, 0.3669, 0.2959, 0.2246},
59655 {0.0751, 0.5183, 0.2722, 0.1344},
59656 {0.0642, 0.3401, 0.3214, 0.2743}},
59657 {
59658 {0.2396, 0.1210, 0.3466, 0.2928},
59659 {0.3612, 0.1763, 0.3106, 0.1520},
59660 {0.2347, 0.3254, 0.3039, 0.1361},
59661 {0.2013, 0.1782, 0.5631, 0.0574}},
59662 {
59663 {0.3703, 0.2008, 0.2150, 0.2138},
59664 {0.2593, 0.1979, 0.1684, 0.3744},
59665 {0.3783, 0.1791, 0.1867, 0.2559},
59666 {0.1694, 0.2863, 0.1748, 0.3694}},
59667 {
59668 {0.1598, 0.2534, 0.4261, 0.1607},
59669 {0.1406, 0.4001, 0.3354, 0.1240},
59670 {0.1326, 0.3688, 0.3142, 0.1843},
59671 {0.0412, 0.3968, 0.4042, 0.1578}},
59672 {
59673 {0.1653, 0.3077, 0.3927, 0.1343},
59674 {0.2547, 0.1803, 0.4310, 0.1340},
59675 {0.1882, 0.3824, 0.3104, 0.1189},
59676 {0.1576, 0.0762, 0.5453, 0.2209}},
59677 {
59678 {0.4441, 0.1097, 0.1928, 0.2534},
59679 {0.2219, 0.2404, 0.1765, 0.3612},
59680 {0.4372, 0.2613, 0.1127, 0.1888},
59681 {0.2302, 0.3558, 0.1890, 0.2249}},
59682 {
59683 {0.0995, 0.3694, 0.4374, 0.0938},
59684 {0.1451, 0.3504, 0.3585, 0.1459},
59685 {0.0376, 0.4575, 0.3537, 0.1512},
59686 {0.0747, 0.3407, 0.4324, 0.1523}},
59687 {
59688 {0.2172, 0.1662, 0.4465, 0.1701},
59689 {0.2833, 0.2258, 0.3241, 0.1668},
59690 {0.2293, 0.2681, 0.3820, 0.1206},
59691 {0.1682, 0.1937, 0.5697, 0.0684}},
59692 {
59693 {0.3347, 0.1817, 0.2680, 0.2155},
59694 {0.2547, 0.2080, 0.2382, 0.2990},
59695 {0.3710, 0.2165, 0.3039, 0.1086},
59696 {0.2069, 0.3584, 0.1406, 0.2941}},
59697 {
59698 {0.1401, 0.2835, 0.5117, 0.0647},
59699 {0.1645, 0.4017, 0.2548, 0.1790},
59700 {0.0945, 0.3943, 0.4383, 0.0728},
59701 {0.0607, 0.4031, 0.3719, 0.1643}},
59702 {
59703 {0.2414, 0.2431, 0.3805, 0.1350},
59704 {0.3113, 0.1524, 0.3619, 0.1744},
59705 {0.2206, 0.2995, 0.3447, 0.1352},
59706 {0.1102, 0.1102, 0.5455, 0.2342}},
59707 {
59708 {0.2865, 0.2136, 0.1677, 0.3322},
59709 {0.3366, 0.1623, 0.1620, 0.3391},
59710 {0.3942, 0.2456, 0.2125, 0.1476},
59711 {0.0990, 0.3413, 0.1715, 0.3882}},
59712 {
59713 {0.0807, 0.2876, 0.5222, 0.1094},
59714 {0.1520, 0.3061, 0.3715, 0.1704},
59715 {0.0980, 0.4887, 0.2493, 0.1640},
59716 {0.1605, 0.3299, 0.4233, 0.0863}},
59717 {
59718 {0.2531, 0.2929, 0.3072, 0.1468},
59719 {0.2232, 0.2639, 0.3104, 0.2024},
59720 {0.2986, 0.2034, 0.3648, 0.1332},
59721 {0.1403, 0.3040, 0.4535, 0.1021}},
59722 {
59723 {0.4881, 0.1379, 0.1519, 0.2222},
59724 {0.3343, 0.2085, 0.1484, 0.3088},
59725 {0.4395, 0.2800, 0.1662, 0.1144},
59726 {0.1574, 0.2363, 0.2871, 0.3192}},
59727 {
59728 {0.0946, 0.2068, 0.6004, 0.0982},
59729 {0.1608, 0.4053, 0.2341, 0.1999},
59730 {0.1472, 0.4288, 0.2973, 0.1268},
59731 {0.1021, 0.3657, 0.4469, 0.0853}},
59732 {
59733 {0.2439, 0.2739, 0.4822, 0.0000},
59734 {0.4691, 0.1876, 0.3433, 0.0000},
59735 {0.3486, 0.2344, 0.4170, 0.0000},
59736 {0.1263, 0.2561, 0.6176, 0.0000}},
59737 {
59738 {1.0000, 0.0000, 0.0000, 0.0000},
59739 {1.0000, 0.0000, 0.0000, 0.0000},
59740 {1.0000, 0.0000, 0.0000, 0.0000},
59741 {1.0000, 0.0000, 0.0000, 0.0000}},
59742 {
59743 {0.0000, 0.0000, 1.0000, 0.0000},
59744 {0.0000, 0.0000, 0.0000, 0.0000},
59745 {0.0000, 0.0000, 0.0000, 0.0000},
59746 {0.0000, 0.0000, 0.0000, 0.0000}},
59747 {
59748 {0.0000, 0.0000, 0.0000, 0.0000},
59749 {0.0000, 0.0000, 0.0000, 0.0000},
59750 {0.2891, 0.2298, 0.3448, 0.1363},
59751 {0.0000, 0.0000, 0.0000, 0.0000}},
59752 {
59753 {0.4178, 0.1373, 0.1556, 0.2893},
59754 {0.2553, 0.2641, 0.1341, 0.3465},
59755 {0.3441, 0.2355, 0.1820, 0.2385},
59756 {0.2782, 0.3785, 0.1574, 0.1859}},
59757 {
59758 {0.1020, 0.3209, 0.4670, 0.1101},
59759 {0.1684, 0.4378, 0.2489, 0.1450},
59760 {0.0993, 0.4303, 0.2446, 0.2258},
59761 {0.0839, 0.3530, 0.4256, 0.1375}},
59762 {
59763 {0.3096, 0.1989, 0.3246, 0.1669},
59764 {0.2936, 0.2486, 0.3500, 0.1078},
59765 {0.2089, 0.3263, 0.3582, 0.1066},
59766 {0.0864, 0.2461, 0.4967, 0.1707}},
59767 {
59768 {0.3898, 0.1428, 0.1156, 0.3518},
59769 {0.1704, 0.2191, 0.2330, 0.3776},
59770 {0.3684, 0.2255, 0.2175, 0.1886},
59771 {0.1744, 0.3262, 0.1548, 0.3446}},
59772 {
59773 {0.0603, 0.2920, 0.5326, 0.1151},
59774 {0.0839, 0.4108, 0.3310, 0.1742},
59775 {0.1313, 0.2566, 0.4188, 0.1933},
59776 {0.0529, 0.3837, 0.3723, 0.1911}},
59777 {
59778 {0.3072, 0.1916, 0.3320, 0.1692},
59779 {0.2631, 0.1934, 0.3087, 0.2348},
59780 {0.2212, 0.2935, 0.3065, 0.1788},
59781 {0.2057, 0.1710, 0.4929, 0.1304}},
59782 {
59783 {0.3180, 0.2550, 0.1976, 0.2294},
59784 {0.3505, 0.1467, 0.2150, 0.2878},
59785 {0.4204, 0.1996, 0.1959, 0.1841},
59786 {0.2506, 0.2397, 0.1629, 0.3468}},
59787 {
59788 {0.1399, 0.2961, 0.4205, 0.1436},
59789 {0.1382, 0.3681, 0.2663, 0.2274},
59790 {0.1389, 0.3265, 0.3748, 0.1598},
59791 {0.0634, 0.4203, 0.3178, 0.1985}},
59792 {
59793 {0.1842, 0.2256, 0.3977, 0.1925},
59794 {0.2387, 0.2474, 0.3495, 0.1644},
59795 {0.1785, 0.3218, 0.3673, 0.1324},
59796 {0.1691, 0.1735, 0.5294, 0.1280}},
59797 {
59798 {0.3745, 0.1809, 0.1873, 0.2573},
59799 {0.2134, 0.2891, 0.2041, 0.2934},
59800 {0.3829, 0.2315, 0.2018, 0.1838},
59801 {0.1422, 0.3494, 0.2472, 0.2612}},
59802 {
59803 {0.0703, 0.3747, 0.3698, 0.1853},
59804 {0.0895, 0.3114, 0.3868, 0.2124},
59805 {0.0601, 0.4552, 0.3115, 0.1731},
59806 {0.0620, 0.3487, 0.4297, 0.1596}},
59807 {
59808 {0.2119, 0.1716, 0.3585, 0.2580},
59809 {0.2817, 0.2859, 0.2957, 0.1367},
59810 {0.2462, 0.2553, 0.3155, 0.1830},
59811 {0.1309, 0.1348, 0.5957, 0.1386}},
59812 {
59813 {0.3186, 0.1872, 0.2654, 0.2288},
59814 {0.2801, 0.1838, 0.1833, 0.3528},
59815 {0.2855, 0.2973, 0.2064, 0.2107},
59816 {0.2109, 0.3500, 0.1952, 0.2439}},
59817 {
59818 {0.2334, 0.2865, 0.3596, 0.1205},
59819 {0.1851, 0.3373, 0.2821, 0.1954},
59820 {0.1369, 0.3951, 0.3364, 0.1316},
59821 {0.0129, 0.3565, 0.4224, 0.2082}},
59822 {
59823 {0.2870, 0.0630, 0.4465, 0.2036},
59824 {0.2598, 0.2088, 0.3741, 0.1574},
59825 {0.2513, 0.2422, 0.3919, 0.1147},
59826 {0.1287, 0.2592, 0.5175, 0.0946}},
59827 {
59828 {0.4450, 0.2562, 0.1529, 0.1459},
59829 {0.3474, 0.2245, 0.2123, 0.2158},
59830 {0.3873, 0.2479, 0.1556, 0.2092},
59831 {0.2172, 0.2872, 0.1119, 0.3836}},
59832 {
59833 {0.1310, 0.3413, 0.3382, 0.1894},
59834 {0.2002, 0.3282, 0.3126, 0.1590},
59835 {0.1384, 0.4207, 0.3459, 0.0949},
59836 {0.0565, 0.3366, 0.3469, 0.2600}},
59837 {
59838 {0.2327, 0.2981, 0.3260, 0.1432},
59839 {0.2958, 0.2702, 0.2886, 0.1454},
59840 {0.1815, 0.2398, 0.3556, 0.2231},
59841 {0.1668, 0.1543, 0.4518, 0.2271}},
59842 {
59843 {0.3131, 0.1418, 0.2695, 0.2756},
59844 {0.2749, 0.2206, 0.2375, 0.2669},
59845 {0.3744, 0.1738, 0.2999, 0.1519},
59846 {0.1828, 0.2085, 0.2515, 0.3573}},
59847 {
59848 {0.1302, 0.3352, 0.3883, 0.1462},
59849 {0.1487, 0.2909, 0.3823, 0.1781},
59850 {0.1257, 0.3967, 0.2953, 0.1823},
59851 {0.0518, 0.4236, 0.4135, 0.1111}},
59852 {
59853 {0.2713, 0.1445, 0.4216, 0.1626},
59854 {0.3423, 0.1384, 0.3275, 0.1919},
59855 {0.2249, 0.3210, 0.3443, 0.1099},
59856 {0.2829, 0.2229, 0.3744, 0.1198}},
59857 {
59858 {0.3435, 0.2638, 0.1737, 0.2189},
59859 {0.1970, 0.2267, 0.1888, 0.3876},
59860 {0.3966, 0.2339, 0.1842, 0.1852},
59861 {0.2558, 0.2911, 0.2223, 0.2308}},
59862 {
59863 {0.1120, 0.3027, 0.4394, 0.1459},
59864 {0.1094, 0.3333, 0.2953, 0.2620},
59865 {0.1342, 0.5786, 0.1873, 0.1000},
59866 {0.0848, 0.3483, 0.3807, 0.1862}},
59867 {
59868 {0.2595, 0.1939, 0.2903, 0.2564},
59869 {0.3007, 0.2471, 0.3435, 0.1087},
59870 {0.1688, 0.2899, 0.3945, 0.1467},
59871 {0.1571, 0.2288, 0.4747, 0.1394}},
59872 {
59873 {0.3306, 0.2549, 0.1790, 0.2354},
59874 {0.2306, 0.1929, 0.2045, 0.3719},
59875 {0.3801, 0.2348, 0.1893, 0.1959},
59876 {0.2816, 0.1967, 0.1944, 0.3274}},
59877 {
59878 {0.0883, 0.3886, 0.4150, 0.1081},
59879 {0.1763, 0.4373, 0.1528, 0.2335},
59880 {0.0324, 0.3915, 0.3106, 0.2656},
59881 {0.1279, 0.3859, 0.3469, 0.1393}},
59882 {
59883 {0.0894, 0.3983, 0.3715, 0.1407},
59884 {0.3395, 0.2233, 0.3308, 0.1065},
59885 {0.2551, 0.2444, 0.3485, 0.1520},
59886 {0.1427, 0.2273, 0.4739, 0.1561}},
59887 {
59888 {0.3701, 0.2493, 0.1230, 0.2576},
59889 {0.2855, 0.2710, 0.1091, 0.3344},
59890 {0.2933, 0.2494, 0.2636, 0.1937},
59891 {0.2437, 0.2789, 0.2037, 0.2738}},
59892 {
59893 {0.1896, 0.2974, 0.3495, 0.1635},
59894 {0.1667, 0.3396, 0.2691, 0.2246},
59895 {0.0173, 0.5426, 0.2594, 0.1807},
59896 {0.0869, 0.2642, 0.4191, 0.2298}},
59897 {
59898 {0.2515, 0.2753, 0.2432, 0.2300},
59899 {0.2963, 0.1990, 0.3435, 0.1612},
59900 {0.2456, 0.2992, 0.2768, 0.1785},
59901 {0.2031, 0.1505, 0.5210, 0.1254}},
59902 {
59903 {0.3230, 0.2907, 0.1921, 0.1942},
59904 {0.3035, 0.1629, 0.2157, 0.3179},
59905 {0.3525, 0.2813, 0.2249, 0.1412},
59906 {0.1487, 0.2489, 0.1506, 0.4518}},
59907 {
59908 {0.1505, 0.3297, 0.4180, 0.1018},
59909 {0.1677, 0.2802, 0.3195, 0.2326},
59910 {0.1217, 0.4837, 0.2848, 0.1098},
59911 {0.0244, 0.5084, 0.3269, 0.1403}},
59912 {
59913 {0.2334, 0.1218, 0.5624, 0.0823},
59914 {0.2536, 0.2239, 0.3486, 0.1739},
59915 {0.2357, 0.2419, 0.3692, 0.1532},
59916 {0.1046, 0.2102, 0.5979, 0.0872}},
59917 {
59918 {0.3508, 0.1874, 0.1991, 0.2627},
59919 {0.2346, 0.2094, 0.2243, 0.3317},
59920 {0.3403, 0.1632, 0.2657, 0.2308},
59921 {0.2360, 0.3289, 0.1105, 0.3246}},
59922 {
59923 {0.1313, 0.3972, 0.3859, 0.0855},
59924 {0.2012, 0.2451, 0.3959, 0.1578},
59925 {0.1165, 0.4680, 0.2910, 0.1245},
59926 {0.0701, 0.4149, 0.3261, 0.1888}},
59927 {
59928 {0.2965, 0.3006, 0.3059, 0.0970},
59929 {0.2778, 0.3330, 0.2503, 0.1389},
59930 {0.1576, 0.2763, 0.3197, 0.2464},
59931 {0.1818, 0.2130, 0.5170, 0.0882}},
59932 {
59933 {0.2806, 0.2182, 0.2294, 0.2717},
59934 {0.2091, 0.2446, 0.2241, 0.3222},
59935 {0.3266, 0.2665, 0.1539, 0.2530},
59936 {0.2632, 0.2400, 0.2483, 0.2484}},
59937 {
59938 {0.0335, 0.3923, 0.4395, 0.1348},
59939 {0.1389, 0.4233, 0.3106, 0.1272},
59940 {0.1318, 0.4769, 0.3057, 0.0856},
59941 {0.1515, 0.3285, 0.3870, 0.1330}},
59942 {
59943 {0.3242, 0.1643, 0.2043, 0.3072},
59944 {0.2636, 0.1751, 0.3575, 0.2039},
59945 {0.2221, 0.2548, 0.3393, 0.1838},
59946 {0.2042, 0.3234, 0.3247, 0.1477}},
59947 {
59948 {0.4252, 0.1582, 0.1695, 0.2471},
59949 {0.1780, 0.2366, 0.2191, 0.3662},
59950 {0.2982, 0.2644, 0.2050, 0.2324},
59951 {0.1676, 0.1950, 0.2693, 0.3680}},
59952 {
59953 {0.0640, 0.3586, 0.4425, 0.1349},
59954 {0.1829, 0.3230, 0.2962, 0.1979},
59955 {0.0876, 0.5744, 0.2244, 0.1136},
59956 {0.1464, 0.3510, 0.2780, 0.2246}},
59957 {
59958 {0.4453, 0.1757, 0.2774, 0.1016},
59959 {0.3394, 0.1196, 0.3253, 0.2157},
59960 {0.1495, 0.2527, 0.4067, 0.1910},
59961 {0.1364, 0.1609, 0.4707, 0.2320}},
59962 {
59963 {0.3526, 0.1847, 0.2429, 0.2198},
59964 {0.2042, 0.2776, 0.2446, 0.2735},
59965 {0.3002, 0.3071, 0.1683, 0.2243},
59966 {0.1510, 0.2868, 0.1839, 0.3783}},
59967 {
59968 {0.0991, 0.2536, 0.4853, 0.1621},
59969 {0.1759, 0.3552, 0.2513, 0.2176},
59970 {0.0738, 0.4243, 0.2990, 0.2028},
59971 {0.0474, 0.4154, 0.2702, 0.2670}},
59972 {
59973 {0.2734, 0.1482, 0.4821, 0.0963},
59974 {0.2409, 0.1898, 0.3445, 0.2248},
59975 {0.1287, 0.3479, 0.3535, 0.1699},
59976 {0.1270, 0.1871, 0.4550, 0.2308}},
59977 {
59978 {0.4738, 0.1564, 0.1013, 0.2685},
59979 {0.1795, 0.2545, 0.1831, 0.3829},
59980 {0.3609, 0.2072, 0.2013, 0.2306},
59981 {0.1589, 0.2571, 0.2733, 0.3107}},
59982 {
59983 {0.1715, 0.3039, 0.4090, 0.1156},
59984 {0.2208, 0.3273, 0.2291, 0.2227},
59985 {0.0661, 0.4346, 0.2386, 0.2608},
59986 {0.1085, 0.4341, 0.3185, 0.1389}},
59987 {
59988 {0.2167, 0.3346, 0.3417, 0.1070},
59989 {0.3095, 0.1817, 0.3274, 0.1814},
59990 {0.1569, 0.2468, 0.3182, 0.2780},
59991 {0.1983, 0.2469, 0.4489, 0.1060}},
59992 {
59993 {0.4349, 0.1164, 0.1949, 0.2538},
59994 {0.3001, 0.2504, 0.2259, 0.2237},
59995 {0.1836, 0.3538, 0.2316, 0.2310},
59996 {0.1677, 0.2448, 0.2393, 0.3482}}},
59997
59998 { /* Splice_Site: F2_AG; Species: Maize */
59999 {
60000 {0.2593, 0.2593, 0.2593, 0.2593},
60001 {0.1809, 0.1809, 0.1809, 0.1809},
60002 {0.3502, 0.3502, 0.3502, 0.3502},
60003 {0.2096, 0.2096, 0.2096, 0.2096}},
60004 {
60005 {0.2414, 0.2435, 0.2040, 0.3112},
60006 {0.2927, 0.2480, 0.3119, 0.1473},
60007 {0.3334, 0.4066, 0.2063, 0.0537},
60008 {0.1310, 0.2597, 0.3039, 0.3054}},
60009 {
60010 {0.2069, 0.4462, 0.1707, 0.1762},
60011 {0.2080, 0.1188, 0.4369, 0.2363},
60012 {0.0361, 0.5216, 0.2977, 0.1446},
60013 {0.0965, 0.2849, 0.2851, 0.3335}},
60014 {
60015 {0.1185, 0.1866, 0.3745, 0.3204},
60016 {0.1332, 0.2507, 0.4518, 0.1644},
60017 {0.2683, 0.2324, 0.3809, 0.1184},
60018 {0.2079, 0.2571, 0.4104, 0.1247}},
60019 {
60020 {0.1874, 0.1876, 0.2907, 0.3344},
60021 {0.3110, 0.1953, 0.0799, 0.4137},
60022 {0.3038, 0.2195, 0.2379, 0.2388},
60023 {0.1139, 0.1072, 0.3886, 0.3903}},
60024 {
60025 {0.1069, 0.3539, 0.3528, 0.1863},
60026 {0.0975, 0.4757, 0.1875, 0.2392},
60027 {0.1542, 0.3117, 0.2301, 0.3040},
60028 {0.1391, 0.4156, 0.2769, 0.1683}},
60029 {
60030 {0.2954, 0.1386, 0.4329, 0.1332},
60031 {0.2507, 0.2124, 0.4199, 0.1169},
60032 {0.3051, 0.1344, 0.3609, 0.1996},
60033 {0.0000, 0.3802, 0.4141, 0.2057}},
60034 {
60035 {0.2051, 0.1671, 0.2536, 0.3741},
60036 {0.3714, 0.1659, 0.2163, 0.2465},
60037 {0.3083, 0.3088, 0.2220, 0.1609},
60038 {0.2228, 0.2785, 0.3402, 0.1585}},
60039 {
60040 {0.2185, 0.2184, 0.4994, 0.0637},
60041 {0.2932, 0.2664, 0.2553, 0.1851},
60042 {0.2139, 0.2186, 0.3394, 0.2282},
60043 {0.0792, 0.2783, 0.5212, 0.1213}},
60044 {
60045 {0.3453, 0.1734, 0.3108, 0.1705},
60046 {0.2259, 0.1861, 0.4036, 0.1844},
60047 {0.3090, 0.0664, 0.3321, 0.2925},
60048 {0.0629, 0.1867, 0.6182, 0.1322}},
60049 {
60050 {0.1350, 0.2418, 0.3105, 0.3126},
60051 {0.5976, 0.1364, 0.1953, 0.0707},
60052 {0.2118, 0.3455, 0.3012, 0.1415},
60053 {0.2493, 0.2020, 0.2509, 0.2977}},
60054 {
60055 {0.1830, 0.2499, 0.4961, 0.0710},
60056 {0.2387, 0.2449, 0.3102, 0.2061},
60057 {0.1997, 0.5150, 0.2546, 0.0307},
60058 {0.1338, 0.3402, 0.3933, 0.1327}},
60059 {
60060 {0.1860, 0.2358, 0.4357, 0.1425},
60061 {0.1331, 0.1891, 0.3155, 0.3623},
60062 {0.3508, 0.2783, 0.2464, 0.1246},
60063 {0.0773, 0.0881, 0.4197, 0.4148}},
60064 {
60065 {0.2945, 0.3297, 0.2091, 0.1667},
60066 {0.3303, 0.0840, 0.2075, 0.3781},
60067 {0.3596, 0.1401, 0.2800, 0.2203},
60068 {0.1461, 0.2605, 0.2542, 0.3392}},
60069 {
60070 {0.1848, 0.3097, 0.5055, 0.0000},
60071 {0.2324, 0.1374, 0.3563, 0.2739},
60072 {0.2267, 0.2558, 0.3327, 0.1848},
60073 {0.0327, 0.3728, 0.3336, 0.2608}},
60074 {
60075 {0.3319, 0.2773, 0.2225, 0.1683},
60076 {0.1930, 0.2852, 0.2583, 0.2635},
60077 {0.3017, 0.1586, 0.4247, 0.1150},
60078 {0.1041, 0.4150, 0.2170, 0.2638}},
60079 {
60080 {0.2986, 0.3292, 0.1890, 0.1831},
60081 {0.1704, 0.2820, 0.2373, 0.3104},
60082 {0.2093, 0.2977, 0.2587, 0.2342},
60083 {0.2853, 0.1893, 0.1887, 0.3368}},
60084 {
60085 {0.1546, 0.3406, 0.3898, 0.1151},
60086 {0.2313, 0.2884, 0.2883, 0.1921},
60087 {0.2049, 0.3229, 0.2368, 0.2354},
60088 {0.0000, 0.5493, 0.2771, 0.1736}},
60089 {
60090 {0.3735, 0.1201, 0.2602, 0.2463},
60091 {0.4039, 0.1442, 0.3317, 0.1202},
60092 {0.1481, 0.3618, 0.3380, 0.1520},
60093 {0.1057, 0.2466, 0.3030, 0.3447}},
60094 {
60095 {0.1343, 0.3323, 0.1346, 0.3989},
60096 {0.2421, 0.3578, 0.1187, 0.2815},
60097 {0.2826, 0.3470, 0.2268, 0.1436},
60098 {0.1430, 0.3782, 0.1474, 0.3313}},
60099 {
60100 {0.2173, 0.4323, 0.2665, 0.0839},
60101 {0.0769, 0.2779, 0.4620, 0.1832},
60102 {0.2268, 0.3308, 0.2265, 0.2159},
60103 {0.1009, 0.4212, 0.2865, 0.1915}},
60104 {
60105 {0.2646, 0.2674, 0.2718, 0.1962},
60106 {0.3964, 0.1248, 0.3014, 0.1774},
60107 {0.2460, 0.2147, 0.3471, 0.1922},
60108 {0.0511, 0.3731, 0.2589, 0.3170}},
60109 {
60110 {0.2986, 0.0990, 0.2974, 0.3050},
60111 {0.2499, 0.2486, 0.1673, 0.3342},
60112 {0.1754, 0.4115, 0.2967, 0.1164},
60113 {0.2613, 0.1738, 0.2613, 0.3036}},
60114 {
60115 {0.2238, 0.2205, 0.3692, 0.1865},
60116 {0.2177, 0.2244, 0.4825, 0.0755},
60117 {0.1778, 0.3137, 0.3707, 0.1378},
60118 {0.0719, 0.4574, 0.1820, 0.2888}},
60119 {
60120 {0.5258, 0.1588, 0.1628, 0.1527},
60121 {0.2370, 0.2374, 0.5256, 0.0000},
60122 {0.2573, 0.2759, 0.2852, 0.1815},
60123 {0.0000, 0.3670, 0.3232, 0.3099}},
60124 {
60125 {0.5357, 0.1063, 0.1812, 0.1768},
60126 {0.2413, 0.3767, 0.1375, 0.2446},
60127 {0.2604, 0.2084, 0.2673, 0.2639},
60128 {0.0618, 0.0652, 0.1879, 0.6851}},
60129 {
60130 {0.1207, 0.3000, 0.4561, 0.1233},
60131 {0.3007, 0.3459, 0.0437, 0.3097},
60132 {0.1356, 0.5883, 0.0969, 0.1792},
60133 {0.0905, 0.5184, 0.3021, 0.0890}},
60134 {
60135 {0.3516, 0.3510, 0.2398, 0.0576},
60136 {0.2685, 0.2268, 0.4230, 0.0818},
60137 {0.3546, 0.1401, 0.2945, 0.2108},
60138 {0.1058, 0.1127, 0.4507, 0.3307}},
60139 {
60140 {0.1972, 0.3521, 0.1621, 0.2885},
60141 {0.4284, 0.1754, 0.1335, 0.2627},
60142 {0.2729, 0.2238, 0.2520, 0.2512},
60143 {0.1739, 0.0612, 0.2350, 0.5300}},
60144 {
60145 {0.0663, 0.4260, 0.4722, 0.0356},
60146 {0.1592, 0.3617, 0.3594, 0.1196},
60147 {0.2349, 0.2724, 0.2306, 0.2622},
60148 {0.0883, 0.4693, 0.3209, 0.1215}},
60149 {
60150 {0.1445, 0.2873, 0.5681, 0.0000},
60151 {0.2307, 0.1806, 0.3887, 0.2001},
60152 {0.3140, 0.2244, 0.3366, 0.1251},
60153 {0.0758, 0.1471, 0.5002, 0.2770}},
60154 {
60155 {0.2368, 0.1647, 0.2454, 0.3532},
60156 {0.1663, 0.1762, 0.1763, 0.4813},
60157 {0.4023, 0.1805, 0.2412, 0.1760},
60158 {0.1704, 0.2748, 0.2204, 0.3344}},
60159 {
60160 {0.2232, 0.2597, 0.3544, 0.1627},
60161 {0.2417, 0.3343, 0.3739, 0.0501},
60162 {0.0812, 0.4392, 0.2837, 0.1959},
60163 {0.0304, 0.2621, 0.4995, 0.2080}},
60164 {
60165 {0.0000, 0.2697, 0.3307, 0.3996},
60166 {0.3190, 0.2237, 0.3726, 0.0848},
60167 {0.2995, 0.2783, 0.3299, 0.0923},
60168 {0.1682, 0.2771, 0.3843, 0.1703}},
60169 {
60170 {0.4106, 0.1867, 0.0345, 0.3682},
60171 {0.1031, 0.2061, 0.3121, 0.3788},
60172 {0.3082, 0.2855, 0.2263, 0.1800},
60173 {0.1913, 0.2501, 0.4357, 0.1230}},
60174 {
60175 {0.1383, 0.4127, 0.4159, 0.0331},
60176 {0.0770, 0.3450, 0.3878, 0.1902},
60177 {0.1187, 0.1853, 0.3914, 0.3045},
60178 {0.0958, 0.1965, 0.5391, 0.1686}},
60179 {
60180 {0.2560, 0.2431, 0.0845, 0.4164},
60181 {0.0914, 0.1868, 0.4402, 0.2817},
60182 {0.2285, 0.3355, 0.2665, 0.1695},
60183 {0.0541, 0.3171, 0.3684, 0.2604}},
60184 {
60185 {0.3366, 0.4409, 0.0544, 0.1680},
60186 {0.2236, 0.3259, 0.1931, 0.2574},
60187 {0.2866, 0.1992, 0.2539, 0.2603},
60188 {0.2204, 0.1076, 0.3351, 0.3369}},
60189 {
60190 {0.1025, 0.3773, 0.3421, 0.1780},
60191 {0.3201, 0.3171, 0.1761, 0.1867},
60192 {0.0798, 0.5162, 0.1276, 0.2764},
60193 {0.1043, 0.2772, 0.3748, 0.2438}},
60194 {
60195 {0.1765, 0.1099, 0.4124, 0.3012},
60196 {0.3467, 0.1687, 0.3583, 0.1264},
60197 {0.3092, 0.3126, 0.3075, 0.0707},
60198 {0.0882, 0.2904, 0.4112, 0.2102}},
60199 {
60200 {0.1404, 0.2902, 0.2455, 0.3240},
60201 {0.4380, 0.1654, 0.1980, 0.1986},
60202 {0.1991, 0.4583, 0.2185, 0.1241},
60203 {0.2340, 0.1794, 0.2944, 0.2922}},
60204 {
60205 {0.2513, 0.2662, 0.3725, 0.1100},
60206 {0.1484, 0.4424, 0.1714, 0.2377},
60207 {0.0367, 0.4631, 0.1153, 0.3849},
60208 {0.0403, 0.4521, 0.4221, 0.0855}},
60209 {
60210 {0.2109, 0.0682, 0.4994, 0.2215},
60211 {0.3109, 0.0660, 0.4454, 0.1777},
60212 {0.1455, 0.3081, 0.4773, 0.0692},
60213 {0.0885, 0.2597, 0.4739, 0.1779}},
60214 {
60215 {0.3886, 0.2194, 0.2185, 0.1735},
60216 {0.2146, 0.1057, 0.3132, 0.3666},
60217 {0.2312, 0.3078, 0.2316, 0.2294},
60218 {0.1734, 0.1185, 0.2328, 0.4753}},
60219 {
60220 {0.1037, 0.3212, 0.5054, 0.0697},
60221 {0.0812, 0.4387, 0.3672, 0.1129},
60222 {0.2573, 0.4026, 0.1889, 0.1512},
60223 {0.0946, 0.3909, 0.3529, 0.1616}},
60224 {
60225 {0.0652, 0.2741, 0.4618, 0.1990},
60226 {0.2345, 0.2536, 0.3494, 0.1625},
60227 {0.2823, 0.2365, 0.3770, 0.1041},
60228 {0.2233, 0.2768, 0.4296, 0.0703}},
60229 {
60230 {0.4048, 0.2020, 0.0790, 0.3142},
60231 {0.1831, 0.2116, 0.1726, 0.4328},
60232 {0.3493, 0.2520, 0.2109, 0.1878},
60233 {0.2595, 0.2063, 0.2669, 0.2673}},
60234 {
60235 {0.2083, 0.2293, 0.4453, 0.1171},
60236 {0.2416, 0.3973, 0.2476, 0.1134},
60237 {0.2522, 0.2962, 0.2527, 0.1989},
60238 {0.0000, 0.4680, 0.4026, 0.1295}},
60239 {
60240 {0.1687, 0.3396, 0.4361, 0.0556},
60241 {0.2051, 0.1026, 0.6404, 0.0518},
60242 {0.2289, 0.3382, 0.3830, 0.0499},
60243 {0.0619, 0.6151, 0.2593, 0.0636}},
60244 {
60245 {0.1921, 0.4348, 0.2318, 0.1413},
60246 {0.3781, 0.4079, 0.0935, 0.1205},
60247 {0.2536, 0.3451, 0.3625, 0.0387},
60248 {0.0000, 0.6635, 0.3365, 0.0000}},
60249 {
60250 {1.0000, 0.0000, 0.0000, 0.0000},
60251 {1.0000, 0.0000, 0.0000, 0.0000},
60252 {1.0000, 0.0000, 0.0000, 0.0000},
60253 {1.0000, 0.0000, 0.0000, 0.0000}},
60254 {
60255 {0.0000, 0.0000, 1.0000, 0.0000},
60256 {0.0000, 0.0000, 0.0000, 0.0000},
60257 {0.0000, 0.0000, 0.0000, 0.0000},
60258 {0.0000, 0.0000, 0.0000, 0.0000}},
60259 {
60260 {0.0000, 0.0000, 0.0000, 0.0000},
60261 {0.0000, 0.0000, 0.0000, 0.0000},
60262 {0.2546, 0.2866, 0.2684, 0.1904},
60263 {0.0000, 0.0000, 0.0000, 0.0000}},
60264 {
60265 {0.2801, 0.1081, 0.4683, 0.1435},
60266 {0.2456, 0.3497, 0.1512, 0.2534},
60267 {0.2670, 0.3600, 0.2052, 0.1678},
60268 {0.0478, 0.3310, 0.4755, 0.1457}},
60269 {
60270 {0.1980, 0.1597, 0.4455, 0.1968},
60271 {0.2512, 0.1863, 0.4357, 0.1268},
60272 {0.2380, 0.2337, 0.3843, 0.1439},
60273 {0.1521, 0.3075, 0.3465, 0.1939}},
60274 {
60275 {0.2893, 0.2084, 0.2524, 0.2498},
60276 {0.2088, 0.3271, 0.3424, 0.1218},
60277 {0.1808, 0.4641, 0.1964, 0.1586},
60278 {0.1735, 0.2155, 0.2734, 0.3375}},
60279 {
60280 {0.3429, 0.1759, 0.3939, 0.0872},
60281 {0.2129, 0.3923, 0.2619, 0.1329},
60282 {0.0367, 0.3262, 0.2911, 0.3459},
60283 {0.0000, 0.4082, 0.3639, 0.2278}},
60284 {
60285 {0.2356, 0.2313, 0.3572, 0.1759},
60286 {0.2458, 0.2172, 0.3770, 0.1599},
60287 {0.3485, 0.1449, 0.3399, 0.1666},
60288 {0.2272, 0.2286, 0.4099, 0.1343}},
60289 {
60290 {0.3021, 0.2644, 0.2987, 0.1348},
60291 {0.2224, 0.3216, 0.2768, 0.1793},
60292 {0.1228, 0.2407, 0.3181, 0.3184},
60293 {0.2788, 0.4968, 0.1676, 0.0567}},
60294 {
60295 {0.2530, 0.4545, 0.2112, 0.0813},
60296 {0.2025, 0.1768, 0.4402, 0.1804},
60297 {0.2604, 0.2588, 0.3852, 0.0957},
60298 {0.1357, 0.3265, 0.3626, 0.1752}},
60299 {
60300 {0.1671, 0.1636, 0.3696, 0.2996},
60301 {0.3772, 0.1547, 0.2482, 0.2199},
60302 {0.2528, 0.1515, 0.3696, 0.2262},
60303 {0.0712, 0.1957, 0.4651, 0.2680}},
60304 {
60305 {0.1119, 0.2995, 0.2625, 0.3261},
60306 {0.2200, 0.1650, 0.3407, 0.2743},
60307 {0.1834, 0.2552, 0.2285, 0.3330},
60308 {0.1127, 0.5185, 0.1096, 0.2592}},
60309 {
60310 {0.1734, 0.3540, 0.4124, 0.0601},
60311 {0.1473, 0.3383, 0.3740, 0.1404},
60312 {0.2041, 0.3927, 0.2417, 0.1614},
60313 {0.1780, 0.3249, 0.2939, 0.2032}},
60314 {
60315 {0.3708, 0.3109, 0.2136, 0.1047},
60316 {0.2780, 0.1056, 0.3873, 0.2290},
60317 {0.2503, 0.2520, 0.2509, 0.2467},
60318 {0.2321, 0.2979, 0.4128, 0.0571}},
60319 {
60320 {0.2576, 0.2578, 0.2260, 0.2585},
60321 {0.3791, 0.1245, 0.2918, 0.2046},
60322 {0.2564, 0.3068, 0.2095, 0.2273},
60323 {0.1377, 0.4312, 0.2835, 0.1475}},
60324 {
60325 {0.1736, 0.3130, 0.4779, 0.0355},
60326 {0.0626, 0.3206, 0.4571, 0.1597},
60327 {0.1143, 0.4419, 0.3697, 0.0741},
60328 {0.2094, 0.2941, 0.4139, 0.0826}},
60329 {
60330 {0.2566, 0.2030, 0.4004, 0.1401},
60331 {0.2345, 0.1830, 0.3448, 0.2377},
60332 {0.1245, 0.1837, 0.4409, 0.2508},
60333 {0.1043, 0.2933, 0.4024, 0.2001}},
60334 {
60335 {0.1962, 0.1986, 0.3039, 0.3013},
60336 {0.4159, 0.1313, 0.0919, 0.3610},
60337 {0.2488, 0.2780, 0.2691, 0.2041},
60338 {0.1213, 0.3626, 0.4779, 0.0383}},
60339 {
60340 {0.0391, 0.3735, 0.4796, 0.1079},
60341 {0.2140, 0.3598, 0.3178, 0.1084},
60342 {0.2789, 0.3133, 0.2502, 0.1577},
60343 {0.2939, 0.2488, 0.3333, 0.1241}},
60344 {
60345 {0.2203, 0.1733, 0.3883, 0.2180},
60346 {0.2214, 0.1685, 0.3302, 0.2799},
60347 {0.2604, 0.1560, 0.3724, 0.2112},
60348 {0.1419, 0.2166, 0.2806, 0.3609}},
60349 {
60350 {0.3220, 0.1201, 0.2017, 0.3562},
60351 {0.2062, 0.4244, 0.0517, 0.3176},
60352 {0.4087, 0.3622, 0.1007, 0.1284},
60353 {0.0328, 0.3558, 0.4357, 0.1757}},
60354 {
60355 {0.1384, 0.3400, 0.3471, 0.1745},
60356 {0.3398, 0.2872, 0.2339, 0.1392},
60357 {0.1419, 0.2226, 0.5052, 0.1303},
60358 {0.0816, 0.4790, 0.4393, 0.0000}},
60359 {
60360 {0.2885, 0.1843, 0.3335, 0.1938},
60361 {0.2702, 0.1329, 0.4053, 0.1916},
60362 {0.1987, 0.2963, 0.3252, 0.1798},
60363 {0.1549, 0.3012, 0.3103, 0.2336}},
60364 {
60365 {0.2265, 0.2374, 0.0764, 0.4598},
60366 {0.2828, 0.2452, 0.1571, 0.3149},
60367 {0.3060, 0.2874, 0.1821, 0.2245},
60368 {0.1430, 0.1951, 0.3796, 0.2824}},
60369 {
60370 {0.1761, 0.3605, 0.3568, 0.1066},
60371 {0.2253, 0.4868, 0.1780, 0.1099},
60372 {0.2418, 0.2338, 0.3311, 0.1933},
60373 {0.0871, 0.3133, 0.3687, 0.2309}},
60374 {
60375 {0.1580, 0.3136, 0.3189, 0.2095},
60376 {0.3595, 0.1265, 0.2824, 0.2317},
60377 {0.1686, 0.3975, 0.3195, 0.1144},
60378 {0.0000, 0.2794, 0.3271, 0.3934}},
60379 {
60380 {0.3946, 0.2593, 0.2166, 0.1295},
60381 {0.2666, 0.1703, 0.2957, 0.2673},
60382 {0.3233, 0.1508, 0.2914, 0.2345},
60383 {0.3305, 0.1621, 0.1685, 0.3388}},
60384 {
60385 {0.0806, 0.3619, 0.3645, 0.1930},
60386 {0.2917, 0.3627, 0.2951, 0.0504},
60387 {0.1082, 0.3521, 0.3589, 0.1807},
60388 {0.1508, 0.4806, 0.1858, 0.1828}},
60389 {
60390 {0.2442, 0.3737, 0.1889, 0.1931},
60391 {0.3934, 0.2084, 0.3049, 0.0932},
60392 {0.2394, 0.2343, 0.4090, 0.1173},
60393 {0.1097, 0.3347, 0.3844, 0.1712}},
60394 {
60395 {0.3602, 0.2231, 0.2251, 0.1916},
60396 {0.3755, 0.2059, 0.1073, 0.3113},
60397 {0.2207, 0.2654, 0.1894, 0.3246},
60398 {0.1416, 0.3587, 0.2163, 0.2834}},
60399 {
60400 {0.1856, 0.3420, 0.3107, 0.1617},
60401 {0.1756, 0.1805, 0.4278, 0.2160},
60402 {0.0967, 0.4530, 0.3058, 0.1444},
60403 {0.0939, 0.3852, 0.3918, 0.1290}},
60404 {
60405 {0.1215, 0.1877, 0.3137, 0.3771},
60406 {0.3791, 0.2140, 0.2697, 0.1373},
60407 {0.2256, 0.2544, 0.3717, 0.1483},
60408 {0.0538, 0.3895, 0.3275, 0.2291}},
60409 {
60410 {0.2671, 0.0743, 0.2369, 0.4217},
60411 {0.3559, 0.2501, 0.0711, 0.3229},
60412 {0.1134, 0.4677, 0.2232, 0.1957},
60413 {0.1418, 0.2867, 0.3279, 0.2436}},
60414 {
60415 {0.1711, 0.2922, 0.3690, 0.1676},
60416 {0.1222, 0.3422, 0.4106, 0.1250},
60417 {0.0897, 0.3873, 0.3036, 0.2193},
60418 {0.0975, 0.4911, 0.3471, 0.0644}},
60419 {
60420 {0.2344, 0.3047, 0.3022, 0.1587},
60421 {0.3210, 0.1856, 0.3037, 0.1897},
60422 {0.2262, 0.3550, 0.2730, 0.1458},
60423 {0.1302, 0.2627, 0.5386, 0.0685}},
60424 {
60425 {0.3230, 0.2146, 0.2164, 0.2460},
60426 {0.4650, 0.1327, 0.3040, 0.0983},
60427 {0.2789, 0.3863, 0.2254, 0.1094},
60428 {0.1192, 0.2381, 0.2907, 0.3519}},
60429 {
60430 {0.1156, 0.3456, 0.3367, 0.2020},
60431 {0.2822, 0.2529, 0.3910, 0.0739},
60432 {0.0359, 0.4994, 0.1794, 0.2852},
60433 {0.1012, 0.5455, 0.2055, 0.1478}},
60434 {
60435 {0.4003, 0.2007, 0.1995, 0.1995},
60436 {0.2719, 0.3616, 0.2084, 0.1581},
60437 {0.2149, 0.2488, 0.3478, 0.1884},
60438 {0.1023, 0.2528, 0.4954, 0.1496}},
60439 {
60440 {0.3291, 0.2977, 0.1500, 0.2233},
60441 {0.3459, 0.1877, 0.0940, 0.3725},
60442 {0.2748, 0.3374, 0.1494, 0.2384},
60443 {0.2130, 0.4226, 0.1581, 0.2062}},
60444 {
60445 {0.1209, 0.4174, 0.2455, 0.2162},
60446 {0.2115, 0.3053, 0.2704, 0.2129},
60447 {0.2728, 0.1971, 0.1998, 0.3303},
60448 {0.1316, 0.3368, 0.4016, 0.1300}},
60449 {
60450 {0.1077, 0.4793, 0.2564, 0.1565},
60451 {0.1888, 0.2984, 0.2677, 0.2452},
60452 {0.0614, 0.3150, 0.4695, 0.1540},
60453 {0.0892, 0.5225, 0.3030, 0.0852}},
60454 {
60455 {0.2338, 0.3891, 0.1478, 0.2292},
60456 {0.1652, 0.1705, 0.1428, 0.5215},
60457 {0.0534, 0.1876, 0.4037, 0.3553},
60458 {0.2637, 0.1532, 0.2658, 0.3172}},
60459 {
60460 {0.3004, 0.2373, 0.0565, 0.4057},
60461 {0.1321, 0.5068, 0.3611, 0.0000},
60462 {0.2436, 0.3249, 0.2165, 0.2151},
60463 {0.2076, 0.3810, 0.3412, 0.0702}},
60464 {
60465 {0.1728, 0.1666, 0.3728, 0.2878},
60466 {0.3120, 0.2217, 0.2882, 0.1782},
60467 {0.2610, 0.1633, 0.4440, 0.1316},
60468 {0.0630, 0.5000, 0.3706, 0.0664}},
60469 {
60470 {0.3463, 0.1529, 0.1164, 0.3844},
60471 {0.2652, 0.1124, 0.3134, 0.3090},
60472 {0.2032, 0.2264, 0.2948, 0.2756},
60473 {0.0527, 0.2685, 0.3653, 0.3136}},
60474 {
60475 {0.2884, 0.2782, 0.3551, 0.0784},
60476 {0.1857, 0.2340, 0.2428, 0.3375},
60477 {0.2061, 0.3668, 0.1331, 0.2939},
60478 {0.0568, 0.4005, 0.4596, 0.0831}},
60479 {
60480 {0.2693, 0.2138, 0.3133, 0.2036},
60481 {0.2412, 0.2700, 0.3274, 0.1614},
60482 {0.1138, 0.3491, 0.2670, 0.2701},
60483 {0.1392, 0.2897, 0.2398, 0.3314}},
60484 {
60485 {0.2857, 0.2356, 0.1420, 0.3367},
60486 {0.2150, 0.2798, 0.1595, 0.3457},
60487 {0.3755, 0.4081, 0.1546, 0.0618},
60488 {0.0734, 0.4271, 0.0752, 0.4244}},
60489 {
60490 {0.1497, 0.4050, 0.1890, 0.2563},
60491 {0.1558, 0.4011, 0.2055, 0.2377},
60492 {0.2013, 0.3974, 0.2700, 0.1313},
60493 {0.1652, 0.3856, 0.3508, 0.0984}},
60494 {
60495 {0.0526, 0.2302, 0.3314, 0.3859},
60496 {0.3416, 0.2240, 0.2497, 0.1847},
60497 {0.3206, 0.2147, 0.3942, 0.0705},
60498 {0.0506, 0.4708, 0.2859, 0.1926}},
60499 {
60500 {0.3795, 0.3079, 0.0805, 0.2321},
60501 {0.2358, 0.2656, 0.0643, 0.4342},
60502 {0.1813, 0.2109, 0.3198, 0.2880},
60503 {0.0931, 0.4259, 0.1915, 0.2895}},
60504 {
60505 {0.2013, 0.3176, 0.2435, 0.2377},
60506 {0.1580, 0.3152, 0.1537, 0.3732},
60507 {0.2062, 0.4747, 0.2142, 0.1049},
60508 {0.0871, 0.4230, 0.2857, 0.2042}}},
60509
60510 { /* Splice_Site: F0_AG; Species: Maize */
60511 {
60512 {0.3357, 0.3357, 0.3357, 0.3357},
60513 {0.2324, 0.2324, 0.2324, 0.2324},
60514 {0.2660, 0.2660, 0.2660, 0.2660},
60515 {0.1660, 0.1660, 0.1660, 0.1660}},
60516 {
60517 {0.0944, 0.5934, 0.2196, 0.0926},
60518 {0.1412, 0.1804, 0.4046, 0.2738},
60519 {0.3241, 0.3583, 0.1988, 0.1187},
60520 {0.0610, 0.6934, 0.1241, 0.1215}},
60521 {
60522 {0.3315, 0.0000, 0.2665, 0.4020},
60523 {0.2315, 0.2534, 0.2106, 0.3044},
60524 {0.2162, 0.0427, 0.5248, 0.2163},
60525 {0.1476, 0.2192, 0.3513, 0.2818}},
60526 {
60527 {0.4535, 0.2310, 0.0429, 0.2726},
60528 {0.1958, 0.1338, 0.3283, 0.3421},
60529 {0.2683, 0.3629, 0.2004, 0.1684},
60530 {0.2136, 0.2116, 0.4335, 0.1413}},
60531 {
60532 {0.1523, 0.4766, 0.2980, 0.0731},
60533 {0.2489, 0.2462, 0.3305, 0.1743},
60534 {0.1633, 0.4196, 0.2052, 0.2119},
60535 {0.1975, 0.5030, 0.2011, 0.0985}},
60536 {
60537 {0.2831, 0.2771, 0.2728, 0.1670},
60538 {0.2559, 0.1786, 0.4371, 0.1284},
60539 {0.1604, 0.2818, 0.3614, 0.1964},
60540 {0.2318, 0.1607, 0.3788, 0.2287}},
60541 {
60542 {0.5005, 0.4085, 0.0475, 0.0435},
60543 {0.2882, 0.1940, 0.2350, 0.2829},
60544 {0.1951, 0.1935, 0.3622, 0.2492},
60545 {0.1850, 0.3120, 0.3175, 0.1856}},
60546 {
60547 {0.1861, 0.2907, 0.3734, 0.1498},
60548 {0.2395, 0.1976, 0.3603, 0.2026},
60549 {0.1250, 0.2868, 0.4245, 0.1637},
60550 {0.1102, 0.4216, 0.2630, 0.2052}},
60551 {
60552 {0.1247, 0.1922, 0.4336, 0.2495},
60553 {0.3880, 0.1783, 0.3230, 0.1107},
60554 {0.2362, 0.2036, 0.3835, 0.1767},
60555 {0.2350, 0.2343, 0.3498, 0.1810}},
60556 {
60557 {0.2432, 0.2006, 0.2398, 0.3164},
60558 {0.2147, 0.1556, 0.2589, 0.3708},
60559 {0.3149, 0.1959, 0.2306, 0.2586},
60560 {0.0609, 0.3088, 0.3119, 0.3183}},
60561 {
60562 {0.0921, 0.2749, 0.3131, 0.3198},
60563 {0.1516, 0.4027, 0.1957, 0.2501},
60564 {0.0417, 0.3762, 0.2052, 0.3769},
60565 {0.0701, 0.3795, 0.2676, 0.2827}},
60566 {
60567 {0.1238, 0.2418, 0.3780, 0.2564},
60568 {0.2050, 0.2345, 0.3242, 0.2363},
60569 {0.2960, 0.2506, 0.3313, 0.1222},
60570 {0.1350, 0.3170, 0.3073, 0.2406}},
60571 {
60572 {0.2660, 0.2085, 0.2113, 0.3143},
60573 {0.1585, 0.2422, 0.2759, 0.3235},
60574 {0.3252, 0.3538, 0.1285, 0.1925},
60575 {0.1474, 0.4998, 0.1541, 0.1987}},
60576 {
60577 {0.0470, 0.2294, 0.3645, 0.3591},
60578 {0.0940, 0.4181, 0.2546, 0.2333},
60579 {0.2796, 0.1656, 0.2242, 0.3307},
60580 {0.0000, 0.3760, 0.4557, 0.1682}},
60581 {
60582 {0.2279, 0.0000, 0.6692, 0.1029},
60583 {0.2633, 0.1652, 0.2632, 0.3082},
60584 {0.1657, 0.2923, 0.4109, 0.1311},
60585 {0.2783, 0.1647, 0.2349, 0.3221}},
60586 {
60587 {0.2752, 0.2727, 0.3186, 0.1334},
60588 {0.3328, 0.2799, 0.1704, 0.2170},
60589 {0.2093, 0.2464, 0.2384, 0.3059},
60590 {0.2266, 0.2254, 0.1390, 0.4090}},
60591 {
60592 {0.1674, 0.2860, 0.2488, 0.2978},
60593 {0.3759, 0.1654, 0.3758, 0.0830},
60594 {0.0496, 0.4696, 0.3342, 0.1466},
60595 {0.0000, 0.4637, 0.2277, 0.3086}},
60596 {
60597 {0.2841, 0.0000, 0.5037, 0.2122},
60598 {0.1837, 0.2128, 0.3898, 0.2137},
60599 {0.3194, 0.2515, 0.2454, 0.1838},
60600 {0.1467, 0.1003, 0.3990, 0.3540}},
60601 {
60602 {0.2295, 0.2225, 0.3644, 0.1836},
60603 {0.2498, 0.1273, 0.2505, 0.3724},
60604 {0.2595, 0.3733, 0.2819, 0.0854},
60605 {0.2306, 0.1755, 0.1384, 0.4555}},
60606 {
60607 {0.2586, 0.3521, 0.2597, 0.1296},
60608 {0.2074, 0.3732, 0.3767, 0.0428},
60609 {0.0833, 0.5905, 0.2011, 0.1251},
60610 {0.0438, 0.4395, 0.3409, 0.1759}},
60611 {
60612 {0.1369, 0.1383, 0.4314, 0.2934},
60613 {0.1895, 0.2660, 0.2840, 0.2604},
60614 {0.2527, 0.2857, 0.2454, 0.2163},
60615 {0.0890, 0.1806, 0.3666, 0.3639}},
60616 {
60617 {0.3329, 0.2760, 0.3911, 0.0000},
60618 {0.2166, 0.3953, 0.2571, 0.1309},
60619 {0.4463, 0.2388, 0.1767, 0.1382},
60620 {0.1225, 0.4392, 0.1969, 0.2415}},
60621 {
60622 {0.1097, 0.2602, 0.4431, 0.1870},
60623 {0.1280, 0.3098, 0.3757, 0.1865},
60624 {0.0420, 0.3606, 0.3816, 0.2158},
60625 {0.0744, 0.3048, 0.3091, 0.3117}},
60626 {
60627 {0.2201, 0.2158, 0.4545, 0.1096},
60628 {0.3119, 0.1026, 0.3754, 0.2100},
60629 {0.2452, 0.3531, 0.3211, 0.0805},
60630 {0.0507, 0.1509, 0.6411, 0.1572}},
60631 {
60632 {0.1942, 0.1948, 0.3287, 0.2823},
60633 {0.3346, 0.3345, 0.2367, 0.0943},
60634 {0.1787, 0.3220, 0.3253, 0.1739},
60635 {0.3005, 0.2338, 0.1566, 0.3091}},
60636 {
60637 {0.2274, 0.3633, 0.2752, 0.1341},
60638 {0.1521, 0.3258, 0.3708, 0.1513},
60639 {0.1094, 0.3636, 0.4143, 0.1127},
60640 {0.0514, 0.6339, 0.1037, 0.2109}},
60641 {
60642 {0.2379, 0.2252, 0.0764, 0.4605},
60643 {0.1825, 0.1292, 0.4083, 0.2801},
60644 {0.3110, 0.1732, 0.3091, 0.2066},
60645 {0.1470, 0.1447, 0.4248, 0.2835}},
60646 {
60647 {0.2811, 0.2851, 0.1438, 0.2901},
60648 {0.4687, 0.2654, 0.1332, 0.1328},
60649 {0.3098, 0.3435, 0.1884, 0.1584},
60650 {0.1872, 0.2924, 0.2235, 0.2970}},
60651 {
60652 {0.0704, 0.3918, 0.3574, 0.1804},
60653 {0.2425, 0.3399, 0.2453, 0.1723},
60654 {0.1748, 0.5336, 0.2916, 0.0000},
60655 {0.0501, 0.3808, 0.2406, 0.3285}},
60656 {
60657 {0.2186, 0.0817, 0.4784, 0.2214},
60658 {0.2905, 0.2638, 0.3156, 0.1300},
60659 {0.2607, 0.2587, 0.2919, 0.1887},
60660 {0.1198, 0.0000, 0.6464, 0.2338}},
60661 {
60662 {0.3408, 0.0919, 0.3872, 0.1801},
60663 {0.2288, 0.3894, 0.1074, 0.2744},
60664 {0.2658, 0.3292, 0.2401, 0.1649},
60665 {0.0574, 0.3486, 0.1751, 0.4189}},
60666 {
60667 {0.1286, 0.3939, 0.3479, 0.1297},
60668 {0.1847, 0.2593, 0.3288, 0.2272},
60669 {0.0427, 0.4304, 0.2650, 0.2618},
60670 {0.0000, 0.5041, 0.2216, 0.2743}},
60671 {
60672 {0.0000, 0.3282, 0.4488, 0.2230},
60673 {0.3571, 0.0837, 0.3724, 0.1868},
60674 {0.0715, 0.5320, 0.3294, 0.0672},
60675 {0.0956, 0.1462, 0.4733, 0.2849}},
60676 {
60677 {0.3458, 0.1765, 0.4185, 0.0591},
60678 {0.2054, 0.3334, 0.2041, 0.2572},
60679 {0.2930, 0.2949, 0.2449, 0.1672},
60680 {0.0000, 0.3563, 0.3430, 0.3007}},
60681 {
60682 {0.3212, 0.2768, 0.3127, 0.0892},
60683 {0.0700, 0.4264, 0.3567, 0.1468},
60684 {0.0760, 0.6199, 0.1904, 0.1138},
60685 {0.0000, 0.3380, 0.4969, 0.1651}},
60686 {
60687 {0.0922, 0.0889, 0.3626, 0.4564},
60688 {0.2702, 0.0986, 0.3874, 0.2439},
60689 {0.1643, 0.1941, 0.4194, 0.2221},
60690 {0.2473, 0.0898, 0.4204, 0.2425}},
60691 {
60692 {0.3392, 0.1523, 0.2036, 0.3049},
60693 {0.0872, 0.0821, 0.4182, 0.4125},
60694 {0.2369, 0.2928, 0.2318, 0.2386},
60695 {0.0785, 0.4389, 0.2802, 0.2024}},
60696 {
60697 {0.0000, 0.2665, 0.6290, 0.1045},
60698 {0.2705, 0.3473, 0.2270, 0.1551},
60699 {0.1219, 0.4790, 0.2019, 0.1972},
60700 {0.1194, 0.3624, 0.3964, 0.1219}},
60701 {
60702 {0.3866, 0.0000, 0.3063, 0.3071},
60703 {0.2607, 0.2005, 0.3932, 0.1456},
60704 {0.2139, 0.1802, 0.4579, 0.1480},
60705 {0.2219, 0.0000, 0.4230, 0.3550}},
60706 {
60707 {0.3336, 0.2507, 0.2518, 0.1639},
60708 {0.1574, 0.2982, 0.2330, 0.3115},
60709 {0.2571, 0.4622, 0.1777, 0.1030},
60710 {0.2672, 0.3147, 0.2116, 0.2066}},
60711 {
60712 {0.0795, 0.2383, 0.4396, 0.2426},
60713 {0.2358, 0.3236, 0.2966, 0.1440},
60714 {0.3013, 0.3513, 0.2527, 0.0947},
60715 {0.0000, 0.3071, 0.3768, 0.3161}},
60716 {
60717 {0.4383, 0.0561, 0.3214, 0.1842},
60718 {0.3762, 0.0736, 0.3752, 0.1750},
60719 {0.2239, 0.2496, 0.3697, 0.1568},
60720 {0.1645, 0.1694, 0.3887, 0.2774}},
60721 {
60722 {0.2465, 0.3191, 0.2901, 0.1442},
60723 {0.1428, 0.3665, 0.1350, 0.3557},
60724 {0.3981, 0.1990, 0.2001, 0.2028},
60725 {0.1622, 0.2180, 0.2745, 0.3453}},
60726 {
60727 {0.0373, 0.3493, 0.5343, 0.0792},
60728 {0.2443, 0.3194, 0.2786, 0.1577},
60729 {0.2773, 0.3210, 0.2688, 0.1329},
60730 {0.0000, 0.5086, 0.3568, 0.1346}},
60731 {
60732 {0.2988, 0.3074, 0.2333, 0.1605},
60733 {0.2291, 0.1991, 0.4298, 0.1420},
60734 {0.1965, 0.1996, 0.4849, 0.1189},
60735 {0.2469, 0.3288, 0.2564, 0.1679}},
60736 {
60737 {0.1350, 0.1388, 0.4047, 0.3214},
60738 {0.1837, 0.5001, 0.1373, 0.1790},
60739 {0.3700, 0.2904, 0.1289, 0.2108},
60740 {0.1504, 0.2274, 0.2279, 0.3944}},
60741 {
60742 {0.0869, 0.3937, 0.2174, 0.3020},
60743 {0.2479, 0.2520, 0.2525, 0.2476},
60744 {0.0508, 0.4998, 0.4494, 0.0000},
60745 {0.0000, 0.3697, 0.3296, 0.3007}},
60746 {
60747 {0.7051, 0.2949, 0.0000, 0.0000},
60748 {0.3390, 0.2585, 0.3166, 0.0859},
60749 {0.2361, 0.3130, 0.3101, 0.1408},
60750 {0.2343, 0.2870, 0.3826, 0.0962}},
60751 {
60752 {0.3583, 0.0976, 0.4810, 0.0632},
60753 {0.2953, 0.3711, 0.2210, 0.1126},
60754 {0.1409, 0.3582, 0.3955, 0.1055},
60755 {0.2319, 0.2237, 0.3253, 0.2190}},
60756 {
60757 {0.1977, 0.4040, 0.3568, 0.0415},
60758 {0.1630, 0.5182, 0.3188, 0.0000},
60759 {0.0859, 0.5109, 0.3443, 0.0588},
60760 {0.0000, 0.8956, 0.0000, 0.1044}},
60761 {
60762 {1.0000, 0.0000, 0.0000, 0.0000},
60763 {1.0000, 0.0000, 0.0000, 0.0000},
60764 {1.0000, 0.0000, 0.0000, 0.0000},
60765 {1.0000, 0.0000, 0.0000, 0.0000}},
60766 {
60767 {0.0000, 0.0000, 1.0000, 0.0000},
60768 {0.0000, 0.0000, 0.0000, 0.0000},
60769 {0.0000, 0.0000, 0.0000, 0.0000},
60770 {0.0000, 0.0000, 0.0000, 0.0000}},
60771 {
60772 {0.0000, 0.0000, 0.0000, 0.0000},
60773 {0.0000, 0.0000, 0.0000, 0.0000},
60774 {0.1798, 0.4501, 0.2634, 0.1068},
60775 {0.0000, 0.0000, 0.0000, 0.0000}},
60776 {
60777 {0.2923, 0.2347, 0.2914, 0.1815},
60778 {0.3999, 0.2062, 0.2317, 0.1622},
60779 {0.4046, 0.1628, 0.4326, 0.0000},
60780 {0.2034, 0.1960, 0.4088, 0.1918}},
60781 {
60782 {0.3253, 0.2056, 0.2597, 0.2094},
60783 {0.3697, 0.3182, 0.1054, 0.2068},
60784 {0.1696, 0.2963, 0.3684, 0.1657},
60785 {0.1676, 0.4982, 0.0879, 0.2463}},
60786 {
60787 {0.2799, 0.4355, 0.1637, 0.1209},
60788 {0.2511, 0.4267, 0.1816, 0.1406},
60789 {0.2170, 0.6075, 0.0000, 0.1755},
60790 {0.0516, 0.5838, 0.3131, 0.0514}},
60791 {
60792 {0.1462, 0.1944, 0.4099, 0.2495},
60793 {0.2909, 0.2737, 0.3081, 0.1273},
60794 {0.2020, 0.1300, 0.4660, 0.2021},
60795 {0.0791, 0.2480, 0.5904, 0.0825}},
60796 {
60797 {0.3372, 0.2872, 0.1414, 0.2342},
60798 {0.3659, 0.2338, 0.0885, 0.3118},
60799 {0.2756, 0.1329, 0.3501, 0.2414},
60800 {0.1361, 0.1980, 0.4621, 0.2038}},
60801 {
60802 {0.1456, 0.2261, 0.4804, 0.1478},
60803 {0.1617, 0.5766, 0.2618, 0.0000},
60804 {0.0387, 0.3160, 0.3278, 0.3175},
60805 {0.0402, 0.4997, 0.3365, 0.1236}},
60806 {
60807 {0.0000, 0.2142, 0.4557, 0.3301},
60808 {0.2189, 0.1054, 0.4292, 0.2465},
60809 {0.2090, 0.2282, 0.4712, 0.0917},
60810 {0.1301, 0.1280, 0.5381, 0.2038}},
60811 {
60812 {0.3634, 0.1174, 0.3495, 0.1696},
60813 {0.2566, 0.2468, 0.2454, 0.2512},
60814 {0.3199, 0.2937, 0.1857, 0.2007},
60815 {0.1115, 0.3925, 0.2742, 0.2219}},
60816 {
60817 {0.1878, 0.3828, 0.3102, 0.1192},
60818 {0.0795, 0.4558, 0.3505, 0.1142},
60819 {0.2194, 0.2974, 0.1737, 0.3094},
60820 {0.1036, 0.5958, 0.0000, 0.3006}},
60821 {
60822 {0.1374, 0.2136, 0.4270, 0.2219},
60823 {0.3441, 0.2193, 0.3156, 0.1210},
60824 {0.1897, 0.2406, 0.4763, 0.0933},
60825 {0.1554, 0.1542, 0.4779, 0.2125}},
60826 {
60827 {0.3894, 0.2185, 0.2128, 0.1794},
60828 {0.3472, 0.2005, 0.2500, 0.2023},
60829 {0.2604, 0.4457, 0.1874, 0.1065},
60830 {0.0681, 0.6489, 0.2093, 0.0738}},
60831 {
60832 {0.1104, 0.4045, 0.4111, 0.0740},
60833 {0.1711, 0.1138, 0.3430, 0.3720},
60834 {0.0994, 0.3993, 0.2972, 0.2042},
60835 {0.0802, 0.4539, 0.2319, 0.2340}},
60836 {
60837 {0.3274, 0.0843, 0.4154, 0.1728},
60838 {0.2094, 0.1730, 0.4064, 0.2113},
60839 {0.0935, 0.2460, 0.3775, 0.2830},
60840 {0.0448, 0.1332, 0.5414, 0.2806}},
60841 {
60842 {0.3549, 0.2161, 0.2118, 0.2172},
60843 {0.3554, 0.1758, 0.3468, 0.1220},
60844 {0.3656, 0.1957, 0.2190, 0.2196},
60845 {0.0852, 0.4380, 0.2567, 0.2201}},
60846 {
60847 {0.1050, 0.2482, 0.4688, 0.1781},
60848 {0.2951, 0.2494, 0.2925, 0.1630},
60849 {0.1260, 0.5337, 0.1723, 0.1681},
60850 {0.0000, 0.5310, 0.2622, 0.2068}},
60851 {
60852 {0.3182, 0.1549, 0.3687, 0.1582},
60853 {0.3075, 0.1409, 0.3572, 0.1944},
60854 {0.2388, 0.1388, 0.4851, 0.1374},
60855 {0.2850, 0.1206, 0.5344, 0.0600}},
60856 {
60857 {0.3365, 0.1502, 0.3686, 0.1447},
60858 {0.3091, 0.2263, 0.2315, 0.2331},
60859 {0.3899, 0.2653, 0.2214, 0.1234},
60860 {0.1462, 0.3631, 0.2779, 0.2128}},
60861 {
60862 {0.1596, 0.2886, 0.3859, 0.1660},
60863 {0.3105, 0.2100, 0.0411, 0.4384},
60864 {0.0387, 0.4944, 0.4257, 0.0413},
60865 {0.0663, 0.5278, 0.2033, 0.2026}},
60866 {
60867 {0.2175, 0.2184, 0.4248, 0.1393},
60868 {0.3968, 0.2298, 0.1454, 0.2280},
60869 {0.1460, 0.2586, 0.3725, 0.2229},
60870 {0.2093, 0.0509, 0.5277, 0.2120}},
60871 {
60872 {0.1626, 0.3153, 0.1607, 0.3614},
60873 {0.2673, 0.3120, 0.0535, 0.3671},
60874 {0.3575, 0.1649, 0.2846, 0.1930},
60875 {0.2999, 0.2542, 0.1986, 0.2473}},
60876 {
60877 {0.1108, 0.3045, 0.3909, 0.1938},
60878 {0.0411, 0.4151, 0.4210, 0.1228},
60879 {0.1106, 0.5008, 0.2746, 0.1140},
60880 {0.0778, 0.5229, 0.2206, 0.1787}},
60881 {
60882 {0.0000, 0.0000, 0.3754, 0.6246},
60883 {0.2720, 0.1220, 0.2430, 0.3630},
60884 {0.2611, 0.3465, 0.3603, 0.0321},
60885 {0.1981, 0.0670, 0.6014, 0.1335}},
60886 {
60887 {0.3615, 0.2320, 0.2243, 0.1822},
60888 {0.2976, 0.4041, 0.1790, 0.1193},
60889 {0.4274, 0.2128, 0.2085, 0.1513},
60890 {0.1721, 0.3019, 0.2614, 0.2647}},
60891 {
60892 {0.1949, 0.1896, 0.3858, 0.2297},
60893 {0.1966, 0.4604, 0.2261, 0.1169},
60894 {0.0488, 0.7138, 0.1905, 0.0469},
60895 {0.0619, 0.5340, 0.1771, 0.2270}},
60896 {
60897 {0.3066, 0.2354, 0.3823, 0.0758},
60898 {0.2637, 0.0942, 0.3581, 0.2840},
60899 {0.1195, 0.4853, 0.2764, 0.1188},
60900 {0.1350, 0.1261, 0.5394, 0.1996}},
60901 {
60902 {0.3586, 0.3470, 0.1476, 0.1468},
60903 {0.3317, 0.1939, 0.3315, 0.1429},
60904 {0.1994, 0.4548, 0.1743, 0.1715},
60905 {0.2597, 0.3127, 0.2122, 0.2154}},
60906 {
60907 {0.1914, 0.3833, 0.2305, 0.1948},
60908 {0.1812, 0.3617, 0.1820, 0.2751},
60909 {0.1550, 0.3453, 0.2441, 0.2556},
60910 {0.0000, 0.5663, 0.2468, 0.1869}},
60911 {
60912 {0.3577, 0.1411, 0.1418, 0.3594},
60913 {0.2897, 0.2375, 0.3134, 0.1594},
60914 {0.2358, 0.4261, 0.1914, 0.1467},
60915 {0.2720, 0.1841, 0.4984, 0.0455}},
60916 {
60917 {0.3709, 0.1476, 0.2191, 0.2624},
60918 {0.2535, 0.2064, 0.2484, 0.2916},
60919 {0.2738, 0.2776, 0.2444, 0.2042},
60920 {0.0697, 0.3348, 0.1333, 0.4622}},
60921 {
60922 {0.1214, 0.3162, 0.4410, 0.1215},
60923 {0.3229, 0.2282, 0.3138, 0.1351},
60924 {0.3271, 0.4411, 0.0904, 0.1414},
60925 {0.0726, 0.3671, 0.3719, 0.1884}},
60926 {
60927 {0.1560, 0.2106, 0.2639, 0.3695},
60928 {0.3180, 0.1837, 0.3719, 0.1265},
60929 {0.1020, 0.3637, 0.3653, 0.1690},
60930 {0.1422, 0.2127, 0.5067, 0.1383}},
60931 {
60932 {0.3326, 0.2166, 0.2241, 0.2267},
60933 {0.1253, 0.2055, 0.3806, 0.2886},
60934 {0.3143, 0.3967, 0.2307, 0.0583},
60935 {0.2791, 0.1610, 0.2834, 0.2766}},
60936 {
60937 {0.0840, 0.1994, 0.5218, 0.1949},
60938 {0.1586, 0.4204, 0.3065, 0.1145},
60939 {0.2289, 0.2316, 0.3094, 0.2301},
60940 {0.0577, 0.4455, 0.3335, 0.1633}},
60941 {
60942 {0.2331, 0.3080, 0.1550, 0.3039},
60943 {0.3991, 0.1389, 0.4278, 0.0342},
60944 {0.2055, 0.3123, 0.3963, 0.0859},
60945 {0.1750, 0.1733, 0.5350, 0.1166}},
60946 {
60947 {0.3989, 0.1982, 0.2427, 0.1602},
60948 {0.1835, 0.1805, 0.3574, 0.2786},
60949 {0.3162, 0.2623, 0.2411, 0.1803},
60950 {0.1998, 0.3013, 0.4012, 0.0978}},
60951 {
60952 {0.1393, 0.1801, 0.4625, 0.2182},
60953 {0.1382, 0.4058, 0.3195, 0.1365},
60954 {0.2988, 0.3683, 0.1837, 0.1492},
60955 {0.1128, 0.4426, 0.2790, 0.1655}},
60956 {
60957 {0.2939, 0.2374, 0.2936, 0.1751},
60958 {0.3415, 0.1581, 0.2501, 0.2502},
60959 {0.1646, 0.3335, 0.3999, 0.1020},
60960 {0.1261, 0.1847, 0.6269, 0.0623}},
60961 {
60962 {0.2605, 0.1687, 0.3068, 0.2640},
60963 {0.3594, 0.3183, 0.2301, 0.0921},
60964 {0.3389, 0.2892, 0.2018, 0.1701},
60965 {0.0705, 0.3253, 0.3412, 0.2631}},
60966 {
60967 {0.1088, 0.1485, 0.5192, 0.2235},
60968 {0.1943, 0.1571, 0.3805, 0.2681},
60969 {0.1243, 0.5468, 0.1662, 0.1626},
60970 {0.0000, 0.5000, 0.1621, 0.3379}},
60971 {
60972 {0.2743, 0.1791, 0.4522, 0.0945},
60973 {0.3338, 0.1977, 0.3005, 0.1680},
60974 {0.2599, 0.1290, 0.3852, 0.2259},
60975 {0.2110, 0.2203, 0.4812, 0.0875}},
60976 {
60977 {0.2707, 0.2261, 0.1890, 0.3143},
60978 {0.3557, 0.1167, 0.2383, 0.2893},
60979 {0.2176, 0.4014, 0.1097, 0.2713},
60980 {0.2648, 0.1290, 0.4008, 0.2054}},
60981 {
60982 {0.0398, 0.2368, 0.4822, 0.2411},
60983 {0.2421, 0.2733, 0.2815, 0.2032},
60984 {0.1555, 0.3670, 0.2114, 0.2661},
60985 {0.0391, 0.5405, 0.3078, 0.1125}},
60986 {
60987 {0.1746, 0.0000, 0.4574, 0.3680},
60988 {0.1173, 0.2967, 0.3518, 0.2343},
60989 {0.2642, 0.1624, 0.3506, 0.2228},
60990 {0.2565, 0.2095, 0.3718, 0.1622}},
60991 {
60992 {0.2647, 0.1553, 0.4283, 0.1518},
60993 {0.2085, 0.1089, 0.3611, 0.3216},
60994 {0.2583, 0.3122, 0.2273, 0.2021},
60995 {0.0891, 0.1810, 0.4168, 0.3131}},
60996 {
60997 {0.0485, 0.3508, 0.4487, 0.1520},
60998 {0.3527, 0.3439, 0.2533, 0.0501},
60999 {0.2519, 0.4053, 0.0952, 0.2476},
61000 {0.0434, 0.5195, 0.3509, 0.0862}},
61001 {
61002 {0.2873, 0.0594, 0.4755, 0.1779},
61003 {0.2782, 0.1829, 0.3831, 0.1558},
61004 {0.2398, 0.1612, 0.5162, 0.0828},
61005 {0.2120, 0.2894, 0.3584, 0.1402}},
61006 {
61007 {0.4426, 0.3565, 0.1211, 0.0798},
61008 {0.1267, 0.3728, 0.3122, 0.1883},
61009 {0.2510, 0.3135, 0.1709, 0.2646},
61010 {0.1551, 0.2281, 0.4614, 0.1554}},
61011 {
61012 {0.1595, 0.1236, 0.4408, 0.2761},
61013 {0.0943, 0.3240, 0.3252, 0.2565},
61014 {0.0974, 0.4289, 0.2781, 0.1956},
61015 {0.1064, 0.3899, 0.1711, 0.3326}},
61016 {
61017 {0.4602, 0.2750, 0.1760, 0.0889},
61018 {0.3852, 0.1710, 0.2390, 0.2048},
61019 {0.1987, 0.1346, 0.4987, 0.1680},
61020 {0.1661, 0.1977, 0.4771, 0.1591}}},
61021
61022 { /* Splice_Site: Fi_AG; Species: Maize */
61023 {
61024 {0.2572, 0.2572, 0.2572, 0.2572},
61025 {0.2143, 0.2143, 0.2143, 0.2143},
61026 {0.2093, 0.2093, 0.2093, 0.2093},
61027 {0.3192, 0.3192, 0.3192, 0.3192}},
61028 {
61029 {0.2615, 0.1649, 0.2080, 0.3656},
61030 {0.3118, 0.2038, 0.1012, 0.3831},
61031 {0.2964, 0.2299, 0.2195, 0.2542},
61032 {0.1615, 0.2725, 0.2447, 0.3213}},
61033 {
61034 {0.3590, 0.1867, 0.2135, 0.2407},
61035 {0.3397, 0.2689, 0.1350, 0.2563},
61036 {0.2559, 0.2197, 0.2233, 0.3011},
61037 {0.2184, 0.2279, 0.2467, 0.3070}},
61038 {
61039 {0.2842, 0.2944, 0.1757, 0.2457},
61040 {0.2357, 0.2644, 0.0852, 0.4146},
61041 {0.2483, 0.2078, 0.2536, 0.2903},
61042 {0.1645, 0.1290, 0.3675, 0.3390}},
61043 {
61044 {0.3509, 0.2411, 0.1669, 0.2411},
61045 {0.3419, 0.2219, 0.1111, 0.3251},
61046 {0.2487, 0.1183, 0.2850, 0.3479},
61047 {0.2132, 0.1864, 0.2435, 0.3570}},
61048 {
61049 {0.3744, 0.1387, 0.1605, 0.3265},
61050 {0.3124, 0.1545, 0.1605, 0.3726},
61051 {0.2489, 0.1658, 0.1996, 0.3857},
61052 {0.1858, 0.2061, 0.2910, 0.3171}},
61053 {
61054 {0.3159, 0.1854, 0.1916, 0.3072},
61055 {0.2498, 0.1799, 0.2452, 0.3251},
61056 {0.3008, 0.2599, 0.1751, 0.2641},
61057 {0.2652, 0.1534, 0.2102, 0.3712}},
61058 {
61059 {0.2965, 0.1944, 0.2812, 0.2279},
61060 {0.2411, 0.1311, 0.2382, 0.3897},
61061 {0.3193, 0.2111, 0.1988, 0.2709},
61062 {0.2433, 0.1998, 0.1714, 0.3854}},
61063 {
61064 {0.3356, 0.1653, 0.2251, 0.2740},
61065 {0.3286, 0.1820, 0.1134, 0.3759},
61066 {0.3227, 0.1542, 0.2326, 0.2905},
61067 {0.2187, 0.1937, 0.3206, 0.2671}},
61068 {
61069 {0.3345, 0.1860, 0.1965, 0.2830},
61070 {0.3558, 0.2461, 0.1099, 0.2882},
61071 {0.2525, 0.2346, 0.2560, 0.2569},
61072 {0.2323, 0.1844, 0.2432, 0.3402}},
61073 {
61074 {0.3500, 0.1427, 0.1983, 0.3090},
61075 {0.3369, 0.2123, 0.2201, 0.2308},
61076 {0.1484, 0.1593, 0.2814, 0.4110},
61077 {0.2573, 0.1847, 0.3038, 0.2542}},
61078 {
61079 {0.2643, 0.2072, 0.2091, 0.3194},
61080 {0.3020, 0.1168, 0.1369, 0.4443},
61081 {0.2479, 0.2075, 0.1982, 0.3464},
61082 {0.1939, 0.1927, 0.2639, 0.3496}},
61083 {
61084 {0.3280, 0.1867, 0.2344, 0.2509},
61085 {0.3701, 0.2086, 0.1105, 0.3108},
61086 {0.3230, 0.1458, 0.1660, 0.3652},
61087 {0.2237, 0.2277, 0.2443, 0.3043}},
61088 {
61089 {0.2616, 0.1531, 0.2977, 0.2875},
61090 {0.3481, 0.2163, 0.1450, 0.2906},
61091 {0.2800, 0.1513, 0.1591, 0.4096},
61092 {0.2579, 0.1711, 0.2197, 0.3513}},
61093 {
61094 {0.3156, 0.2478, 0.1464, 0.2902},
61095 {0.3800, 0.2452, 0.0886, 0.2862},
61096 {0.2275, 0.1437, 0.3631, 0.2657},
61097 {0.2829, 0.1825, 0.1805, 0.3541}},
61098 {
61099 {0.2514, 0.2322, 0.2762, 0.2402},
61100 {0.3897, 0.1826, 0.1333, 0.2945},
61101 {0.3026, 0.2294, 0.2198, 0.2482},
61102 {0.2939, 0.1371, 0.2430, 0.3259}},
61103 {
61104 {0.2882, 0.1658, 0.1898, 0.3561},
61105 {0.4516, 0.2384, 0.0596, 0.2503},
61106 {0.3282, 0.2078, 0.1630, 0.3010},
61107 {0.2546, 0.1658, 0.2479, 0.3318}},
61108 {
61109 {0.3326, 0.1610, 0.2545, 0.2519},
61110 {0.3744, 0.1929, 0.0977, 0.3350},
61111 {0.3105, 0.1887, 0.2205, 0.2803},
61112 {0.2695, 0.1659, 0.2405, 0.3241}},
61113 {
61114 {0.3304, 0.1971, 0.1961, 0.2764},
61115 {0.2117, 0.1804, 0.1702, 0.4376},
61116 {0.3223, 0.1298, 0.2255, 0.3224},
61117 {0.1920, 0.2134, 0.3524, 0.2422}},
61118 {
61119 {0.3329, 0.1242, 0.2130, 0.3300},
61120 {0.1909, 0.2677, 0.1195, 0.4219},
61121 {0.2076, 0.1873, 0.2939, 0.3112},
61122 {0.2388, 0.2142, 0.2629, 0.2842}},
61123 {
61124 {0.3052, 0.2655, 0.2319, 0.1975},
61125 {0.2138, 0.2980, 0.1567, 0.3316},
61126 {0.3360, 0.1464, 0.2640, 0.2537},
61127 {0.1874, 0.1708, 0.1973, 0.4445}},
61128 {
61129 {0.1975, 0.1430, 0.2794, 0.3801},
61130 {0.3968, 0.1726, 0.1166, 0.3140},
61131 {0.3076, 0.1832, 0.2161, 0.2931},
61132 {0.2786, 0.1628, 0.2036, 0.3550}},
61133 {
61134 {0.2754, 0.1394, 0.2040, 0.3812},
61135 {0.3202, 0.2724, 0.0780, 0.3293},
61136 {0.2885, 0.1780, 0.1959, 0.3376},
61137 {0.2990, 0.1981, 0.2565, 0.2464}},
61138 {
61139 {0.2436, 0.2064, 0.2032, 0.3467},
61140 {0.2750, 0.1972, 0.1728, 0.3549},
61141 {0.2676, 0.2628, 0.1389, 0.3308},
61142 {0.2124, 0.2309, 0.2164, 0.3404}},
61143 {
61144 {0.2310, 0.2112, 0.2173, 0.3404},
61145 {0.3666, 0.1656, 0.1077, 0.3602},
61146 {0.2893, 0.1010, 0.1777, 0.4320},
61147 {0.2559, 0.1526, 0.2516, 0.3399}},
61148 {
61149 {0.2582, 0.1289, 0.2144, 0.3985},
61150 {0.2664, 0.1944, 0.1010, 0.4381},
61151 {0.2487, 0.1102, 0.2684, 0.3727},
61152 {0.2237, 0.2225, 0.2517, 0.3021}},
61153 {
61154 {0.2117, 0.2107, 0.1492, 0.4284},
61155 {0.2387, 0.2500, 0.1309, 0.3804},
61156 {0.2852, 0.1819, 0.2519, 0.2810},
61157 {0.2180, 0.2167, 0.2323, 0.3330}},
61158 {
61159 {0.2815, 0.1576, 0.1834, 0.3774},
61160 {0.3019, 0.2147, 0.1535, 0.3299},
61161 {0.2189, 0.2290, 0.2301, 0.3221},
61162 {0.2035, 0.2153, 0.2619, 0.3194}},
61163 {
61164 {0.3439, 0.1483, 0.1519, 0.3558},
61165 {0.3592, 0.1965, 0.1041, 0.3401},
61166 {0.1893, 0.2409, 0.2172, 0.3526},
61167 {0.2657, 0.1617, 0.1913, 0.3814}},
61168 {
61169 {0.2855, 0.2027, 0.2440, 0.2678},
61170 {0.1540, 0.2411, 0.2032, 0.4018},
61171 {0.1496, 0.2151, 0.2156, 0.4197},
61172 {0.2629, 0.1331, 0.2398, 0.3642}},
61173 {
61174 {0.2696, 0.1822, 0.1938, 0.3544},
61175 {0.2278, 0.2661, 0.1782, 0.3279},
61176 {0.2182, 0.2240, 0.2129, 0.3449},
61177 {0.1630, 0.2594, 0.2692, 0.3085}},
61178 {
61179 {0.2874, 0.1730, 0.2626, 0.2770},
61180 {0.2868, 0.2567, 0.1278, 0.3286},
61181 {0.3001, 0.1946, 0.2676, 0.2377},
61182 {0.2914, 0.1635, 0.1634, 0.3817}},
61183 {
61184 {0.3291, 0.1728, 0.1481, 0.3500},
61185 {0.2446, 0.2656, 0.1402, 0.3495},
61186 {0.2762, 0.1216, 0.2368, 0.3654},
61187 {0.2897, 0.1719, 0.2446, 0.2937}},
61188 {
61189 {0.2923, 0.2830, 0.2037, 0.2210},
61190 {0.3423, 0.2217, 0.1395, 0.2966},
61191 {0.2553, 0.1397, 0.2858, 0.3192},
61192 {0.2521, 0.2168, 0.1825, 0.3486}},
61193 {
61194 {0.3385, 0.1325, 0.2483, 0.2807},
61195 {0.3367, 0.2630, 0.0991, 0.3013},
61196 {0.2779, 0.1703, 0.2516, 0.3002},
61197 {0.2176, 0.2075, 0.2632, 0.3117}},
61198 {
61199 {0.3358, 0.1210, 0.2418, 0.3014},
61200 {0.3762, 0.1002, 0.1682, 0.3554},
61201 {0.3364, 0.2213, 0.0978, 0.3446},
61202 {0.2527, 0.2062, 0.2480, 0.2931}},
61203 {
61204 {0.2896, 0.1950, 0.1735, 0.3419},
61205 {0.3245, 0.2103, 0.0799, 0.3853},
61206 {0.3067, 0.1958, 0.1525, 0.3450},
61207 {0.1692, 0.1564, 0.2335, 0.4410}},
61208 {
61209 {0.1643, 0.2516, 0.2775, 0.3066},
61210 {0.3030, 0.2902, 0.1042, 0.3027},
61211 {0.1913, 0.1729, 0.3333, 0.3025},
61212 {0.1937, 0.1182, 0.3219, 0.3662}},
61213 {
61214 {0.2948, 0.2363, 0.0896, 0.3794},
61215 {0.3303, 0.2071, 0.1400, 0.3227},
61216 {0.2730, 0.2202, 0.2467, 0.2601},
61217 {0.1927, 0.1576, 0.2152, 0.4345}},
61218 {
61219 {0.2885, 0.1407, 0.2322, 0.3386},
61220 {0.2757, 0.2181, 0.1047, 0.4015},
61221 {0.2453, 0.1493, 0.2409, 0.3645},
61222 {0.2460, 0.1556, 0.2415, 0.3569}},
61223 {
61224 {0.3303, 0.2126, 0.2107, 0.2464},
61225 {0.3322, 0.2210, 0.1527, 0.2940},
61226 {0.3246, 0.2153, 0.1256, 0.3345},
61227 {0.2068, 0.1993, 0.2276, 0.3663}},
61228 {
61229 {0.3522, 0.1986, 0.1402, 0.3090},
61230 {0.3334, 0.1643, 0.0714, 0.4309},
61231 {0.2930, 0.1926, 0.2566, 0.2578},
61232 {0.2748, 0.1719, 0.2227, 0.3307}},
61233 {
61234 {0.2667, 0.2474, 0.1679, 0.3180},
61235 {0.4155, 0.1415, 0.0822, 0.3608},
61236 {0.3689, 0.1424, 0.2490, 0.2397},
61237 {0.2409, 0.1468, 0.2523, 0.3600}},
61238 {
61239 {0.3360, 0.1465, 0.2437, 0.2738},
61240 {0.2810, 0.2101, 0.2435, 0.2655},
61241 {0.2037, 0.2474, 0.2265, 0.3225},
61242 {0.2325, 0.1874, 0.1663, 0.4139}},
61243 {
61244 {0.2182, 0.2043, 0.2538, 0.3236},
61245 {0.3237, 0.2089, 0.1782, 0.2892},
61246 {0.2545, 0.2712, 0.1959, 0.2784},
61247 {0.2905, 0.1804, 0.1717, 0.3574}},
61248 {
61249 {0.2795, 0.2062, 0.1572, 0.3572},
61250 {0.3513, 0.0972, 0.1773, 0.3743},
61251 {0.3547, 0.1986, 0.1577, 0.2889},
61252 {0.2402, 0.1754, 0.2559, 0.3286}},
61253 {
61254 {0.2950, 0.1841, 0.1795, 0.3414},
61255 {0.4252, 0.1223, 0.1631, 0.2894},
61256 {0.2166, 0.2391, 0.2730, 0.2713},
61257 {0.3073, 0.1664, 0.3002, 0.2261}},
61258 {
61259 {0.3829, 0.1092, 0.2497, 0.2582},
61260 {0.2305, 0.2217, 0.1749, 0.3730},
61261 {0.2666, 0.1968, 0.1939, 0.3427},
61262 {0.2875, 0.0789, 0.2443, 0.3893}},
61263 {
61264 {0.3240, 0.2119, 0.1927, 0.2713},
61265 {0.2600, 0.1996, 0.2115, 0.3289},
61266 {0.3126, 0.1269, 0.2487, 0.3118},
61267 {0.1950, 0.1487, 0.2332, 0.4231}},
61268 {
61269 {0.2918, 0.2557, 0.1042, 0.3484},
61270 {0.2685, 0.2911, 0.1550, 0.2854},
61271 {0.3780, 0.1403, 0.2385, 0.2432},
61272 {0.2817, 0.1168, 0.2445, 0.3570}},
61273 {
61274 {1.0000, 0.0000, 0.0000, 0.0000},
61275 {1.0000, 0.0000, 0.0000, 0.0000},
61276 {1.0000, 0.0000, 0.0000, 0.0000},
61277 {1.0000, 0.0000, 0.0000, 0.0000}},
61278 {
61279 {0.0000, 0.0000, 1.0000, 0.0000},
61280 {0.0000, 0.0000, 0.0000, 0.0000},
61281 {0.0000, 0.0000, 0.0000, 0.0000},
61282 {0.0000, 0.0000, 0.0000, 0.0000}},
61283 {
61284 {0.0000, 0.0000, 0.0000, 0.0000},
61285 {0.0000, 0.0000, 0.0000, 0.0000},
61286 {0.2878, 0.2160, 0.2066, 0.2896},
61287 {0.0000, 0.0000, 0.0000, 0.0000}},
61288 {
61289 {0.2892, 0.1734, 0.1911, 0.3463},
61290 {0.4465, 0.1721, 0.0830, 0.2984},
61291 {0.2803, 0.2499, 0.2182, 0.2516},
61292 {0.1667, 0.1919, 0.3193, 0.3220}},
61293 {
61294 {0.3412, 0.1321, 0.2016, 0.3251},
61295 {0.3938, 0.1395, 0.2098, 0.2570},
61296 {0.2655, 0.1678, 0.2836, 0.2830},
61297 {0.2565, 0.2281, 0.1835, 0.3319}},
61298 {
61299 {0.3270, 0.1286, 0.1676, 0.3769},
61300 {0.2505, 0.3223, 0.1308, 0.2964},
61301 {0.2439, 0.2251, 0.2013, 0.3297},
61302 {0.2218, 0.1182, 0.3171, 0.3428}},
61303 {
61304 {0.3053, 0.1515, 0.2139, 0.3294},
61305 {0.2975, 0.1911, 0.1353, 0.3761},
61306 {0.3212, 0.2072, 0.2376, 0.2340},
61307 {0.2228, 0.1679, 0.2789, 0.3305}},
61308 {
61309 {0.2388, 0.2108, 0.1403, 0.4100},
61310 {0.2325, 0.1542, 0.1208, 0.4925},
61311 {0.2688, 0.1987, 0.2323, 0.3002},
61312 {0.2224, 0.2147, 0.2469, 0.3161}},
61313 {
61314 {0.2703, 0.2990, 0.1552, 0.2755},
61315 {0.3970, 0.1698, 0.0772, 0.3560},
61316 {0.1968, 0.1315, 0.2952, 0.3765},
61317 {0.2622, 0.1667, 0.2103, 0.3609}},
61318 {
61319 {0.3723, 0.2019, 0.1812, 0.2446},
61320 {0.2406, 0.1654, 0.0879, 0.5060},
61321 {0.3203, 0.2473, 0.2001, 0.2323},
61322 {0.2857, 0.1744, 0.1988, 0.3411}},
61323 {
61324 {0.2888, 0.2566, 0.1188, 0.3358},
61325 {0.3424, 0.1672, 0.1615, 0.3288},
61326 {0.2995, 0.2311, 0.1668, 0.3026},
61327 {0.2812, 0.2184, 0.2590, 0.2414}},
61328 {
61329 {0.2933, 0.1515, 0.2339, 0.3214},
61330 {0.3144, 0.2157, 0.1772, 0.2927},
61331 {0.2762, 0.2105, 0.1676, 0.3457},
61332 {0.2630, 0.1310, 0.2577, 0.3483}},
61333 {
61334 {0.3016, 0.1596, 0.2278, 0.3110},
61335 {0.3015, 0.1399, 0.1436, 0.4149},
61336 {0.3780, 0.1312, 0.2728, 0.2181},
61337 {0.2436, 0.1623, 0.2868, 0.3073}},
61338 {
61339 {0.2935, 0.2072, 0.1766, 0.3227},
61340 {0.2460, 0.2711, 0.1459, 0.3371},
61341 {0.2314, 0.2678, 0.1641, 0.3367},
61342 {0.2114, 0.1902, 0.3097, 0.2886}},
61343 {
61344 {0.3339, 0.1818, 0.2394, 0.2450},
61345 {0.4499, 0.1803, 0.0826, 0.2872},
61346 {0.3693, 0.1888, 0.1351, 0.3068},
61347 {0.2064, 0.1734, 0.2314, 0.3888}},
61348 {
61349 {0.2391, 0.2131, 0.1922, 0.3556},
61350 {0.4377, 0.2384, 0.1001, 0.2238},
61351 {0.3196, 0.2259, 0.1660, 0.2884},
61352 {0.2468, 0.1894, 0.2130, 0.3509}},
61353 {
61354 {0.2659, 0.2276, 0.2146, 0.2919},
61355 {0.3202, 0.1412, 0.2306, 0.3080},
61356 {0.2981, 0.2419, 0.1575, 0.3025},
61357 {0.1554, 0.2236, 0.2960, 0.3250}},
61358 {
61359 {0.2013, 0.1351, 0.1884, 0.4752},
61360 {0.2582, 0.1896, 0.1852, 0.3670},
61361 {0.2899, 0.2335, 0.2915, 0.1852},
61362 {0.2389, 0.1889, 0.2647, 0.3075}},
61363 {
61364 {0.3354, 0.1329, 0.1685, 0.3632},
61365 {0.3288, 0.2684, 0.0866, 0.3162},
61366 {0.2168, 0.2252, 0.2398, 0.3183},
61367 {0.2534, 0.1708, 0.2713, 0.3045}},
61368 {
61369 {0.3291, 0.1406, 0.1772, 0.3532},
61370 {0.4117, 0.1879, 0.1414, 0.2589},
61371 {0.2163, 0.1987, 0.2950, 0.2901},
61372 {0.1888, 0.1501, 0.3152, 0.3460}},
61373 {
61374 {0.3311, 0.1679, 0.2569, 0.2441},
61375 {0.3384, 0.2052, 0.1396, 0.3168},
61376 {0.2873, 0.2575, 0.1564, 0.2988},
61377 {0.1870, 0.1795, 0.2429, 0.3906}},
61378 {
61379 {0.2582, 0.2226, 0.1552, 0.3640},
61380 {0.2136, 0.2787, 0.1047, 0.4030},
61381 {0.2072, 0.1959, 0.3479, 0.2490},
61382 {0.2045, 0.1862, 0.2626, 0.3467}},
61383 {
61384 {0.3454, 0.1938, 0.1828, 0.2780},
61385 {0.3751, 0.2260, 0.1397, 0.2592},
61386 {0.2932, 0.1515, 0.1929, 0.3624},
61387 {0.2270, 0.2283, 0.2309, 0.3138}},
61388 {
61389 {0.3541, 0.1829, 0.1943, 0.2687},
61390 {0.3035, 0.2138, 0.1212, 0.3615},
61391 {0.2361, 0.2077, 0.2130, 0.3432},
61392 {0.2078, 0.2057, 0.2741, 0.3124}},
61393 {
61394 {0.2454, 0.1135, 0.2924, 0.3487},
61395 {0.2158, 0.2039, 0.1461, 0.4341},
61396 {0.2495, 0.2319, 0.2224, 0.2961},
61397 {0.2712, 0.2056, 0.2064, 0.3167}},
61398 {
61399 {0.2581, 0.1576, 0.1566, 0.4276},
61400 {0.3056, 0.2639, 0.0952, 0.3352},
61401 {0.2988, 0.2123, 0.1862, 0.3028},
61402 {0.2117, 0.2490, 0.2122, 0.3271}},
61403 {
61404 {0.3319, 0.1232, 0.1854, 0.3595},
61405 {0.3730, 0.2220, 0.1415, 0.2635},
61406 {0.2698, 0.1435, 0.3030, 0.2837},
61407 {0.2378, 0.1359, 0.2525, 0.3738}},
61408 {
61409 {0.2366, 0.1547, 0.2038, 0.4049},
61410 {0.4191, 0.1688, 0.1007, 0.3114},
61411 {0.2562, 0.2037, 0.1983, 0.3417},
61412 {0.2705, 0.1577, 0.3202, 0.2516}},
61413 {
61414 {0.1806, 0.2062, 0.2710, 0.3421},
61415 {0.2831, 0.1862, 0.0913, 0.4395},
61416 {0.2841, 0.3830, 0.1465, 0.1864},
61417 {0.2618, 0.2064, 0.1697, 0.3621}},
61418 {
61419 {0.3225, 0.1953, 0.1993, 0.2829},
61420 {0.3219, 0.2486, 0.1238, 0.3056},
61421 {0.2610, 0.2668, 0.1836, 0.2886},
61422 {0.2498, 0.1743, 0.2578, 0.3180}},
61423 {
61424 {0.2910, 0.2504, 0.2248, 0.2338},
61425 {0.2423, 0.2107, 0.1540, 0.3930},
61426 {0.3219, 0.1093, 0.1881, 0.3807},
61427 {0.2766, 0.1438, 0.2543, 0.3252}},
61428 {
61429 {0.2167, 0.1656, 0.1847, 0.4330},
61430 {0.3512, 0.1534, 0.1830, 0.3124},
61431 {0.2181, 0.2170, 0.3063, 0.2586},
61432 {0.1438, 0.2455, 0.3175, 0.2932}},
61433 {
61434 {0.3215, 0.1649, 0.1860, 0.3275},
61435 {0.2604, 0.2456, 0.1508, 0.3432},
61436 {0.2632, 0.1561, 0.2408, 0.3398},
61437 {0.2079, 0.2084, 0.2443, 0.3394}},
61438 {
61439 {0.3340, 0.1567, 0.2053, 0.3040},
61440 {0.3355, 0.1838, 0.1178, 0.3629},
61441 {0.2913, 0.2440, 0.2151, 0.2496},
61442 {0.2495, 0.1871, 0.2467, 0.3168}},
61443 {
61444 {0.2779, 0.1645, 0.2711, 0.2864},
61445 {0.2290, 0.2014, 0.1449, 0.4247},
61446 {0.3311, 0.2329, 0.2138, 0.2222},
61447 {0.2007, 0.2308, 0.2806, 0.2879}},
61448 {
61449 {0.3166, 0.1872, 0.2359, 0.2604},
61450 {0.2245, 0.2417, 0.1713, 0.3624},
61451 {0.2202, 0.3244, 0.1714, 0.2839},
61452 {0.2013, 0.2226, 0.2779, 0.2983}},
61453 {
61454 {0.2780, 0.1486, 0.2901, 0.2833},
61455 {0.3816, 0.2028, 0.0386, 0.3770},
61456 {0.2523, 0.2326, 0.1847, 0.3303},
61457 {0.3190, 0.1582, 0.2022, 0.3206}},
61458 {
61459 {0.2801, 0.1996, 0.2609, 0.2593},
61460 {0.3075, 0.1353, 0.1360, 0.4212},
61461 {0.3079, 0.1854, 0.1877, 0.3189},
61462 {0.2386, 0.1105, 0.2619, 0.3891}},
61463 {
61464 {0.2957, 0.2085, 0.2195, 0.2762},
61465 {0.2887, 0.1760, 0.1185, 0.4168},
61466 {0.3091, 0.2436, 0.1881, 0.2592},
61467 {0.1978, 0.2055, 0.2682, 0.3284}},
61468 {
61469 {0.2667, 0.1925, 0.3185, 0.2223},
61470 {0.3287, 0.2047, 0.2058, 0.2608},
61471 {0.2581, 0.1958, 0.2319, 0.3142},
61472 {0.2158, 0.1956, 0.2813, 0.3073}},
61473 {
61474 {0.2516, 0.1612, 0.2367, 0.3505},
61475 {0.4590, 0.2223, 0.0629, 0.2557},
61476 {0.2204, 0.2258, 0.2012, 0.3525},
61477 {0.2427, 0.1880, 0.2345, 0.3348}},
61478 {
61479 {0.2847, 0.1204, 0.1913, 0.4035},
61480 {0.2797, 0.3006, 0.1734, 0.2462},
61481 {0.2081, 0.2766, 0.2283, 0.2870},
61482 {0.2046, 0.1836, 0.3350, 0.2768}},
61483 {
61484 {0.3370, 0.1819, 0.2138, 0.2673},
61485 {0.2084, 0.1981, 0.2192, 0.3743},
61486 {0.1671, 0.1149, 0.2625, 0.4555},
61487 {0.3142, 0.1868, 0.1670, 0.3320}},
61488 {
61489 {0.2800, 0.1795, 0.2164, 0.3241},
61490 {0.2296, 0.3433, 0.0359, 0.3913},
61491 {0.3237, 0.2730, 0.1164, 0.2869},
61492 {0.2453, 0.2182, 0.2435, 0.2930}},
61493 {
61494 {0.2109, 0.2612, 0.2297, 0.2981},
61495 {0.3107, 0.2135, 0.1568, 0.3191},
61496 {0.2315, 0.2620, 0.2756, 0.2309},
61497 {0.2448, 0.1830, 0.2312, 0.3411}},
61498 {
61499 {0.3197, 0.1830, 0.2074, 0.2898},
61500 {0.3774, 0.2015, 0.1749, 0.2463},
61501 {0.3568, 0.2115, 0.1698, 0.2619},
61502 {0.2862, 0.1393, 0.2610, 0.3136}},
61503 {
61504 {0.2564, 0.2218, 0.2258, 0.2960},
61505 {0.3433, 0.2177, 0.1524, 0.2865},
61506 {0.3352, 0.1618, 0.1560, 0.3469},
61507 {0.2204, 0.1415, 0.3017, 0.3364}},
61508 {
61509 {0.3430, 0.1328, 0.2238, 0.3004},
61510 {0.2846, 0.1934, 0.1319, 0.3902},
61511 {0.3546, 0.1797, 0.2982, 0.1675},
61512 {0.2042, 0.1652, 0.2714, 0.3592}},
61513 {
61514 {0.2325, 0.1881, 0.1754, 0.4040},
61515 {0.3012, 0.2243, 0.1399, 0.3347},
61516 {0.2575, 0.2345, 0.2035, 0.3045},
61517 {0.2157, 0.2074, 0.2238, 0.3530}},
61518 {
61519 {0.2755, 0.2737, 0.1780, 0.2727},
61520 {0.2575, 0.2088, 0.1331, 0.4006},
61521 {0.2753, 0.2330, 0.2277, 0.2641},
61522 {0.2965, 0.1530, 0.2971, 0.2534}},
61523 {
61524 {0.3097, 0.2167, 0.2322, 0.2414},
61525 {0.2719, 0.3660, 0.1165, 0.2455},
61526 {0.3129, 0.2079, 0.1804, 0.2988},
61527 {0.1150, 0.1777, 0.3518, 0.3555}},
61528 {
61529 {0.3527, 0.1711, 0.1823, 0.2939},
61530 {0.2930, 0.2390, 0.1439, 0.3241},
61531 {0.2402, 0.3389, 0.1051, 0.3158},
61532 {0.1247, 0.2388, 0.2382, 0.3983}}
61533 }}
61534 }; /* end of initialization for GthFlt AG_7 */
61535
61536 #endif
+0
-57
src/gth/bssm_param_rep.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2005 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef BSSM_PARAM_REP_H
19 #define BSSM_PARAM_REP_H
20
21 #include "gth/bssm_param.h"
22
23 #define WINSIZE 100 /* 50nt on the left and right of GT|AG */
24 #define HYPOTHESIS7 7 /* T1, T2, T0, F1, F2, F0 and Fi */
25 #define HYPOTHESIS2 2 /* true (Tr) or false (fs) sites */
26
27 /* The following structures define the tables for the BSSM parameters. */
28 typedef GthFlt Hypo2table[HYPOTHESIS2][WINSIZE+2][4][4];
29 typedef GthFlt Hypo7table[HYPOTHESIS7][WINSIZE+2][4][4];
30
31 /* The version of the Bssmparam structure */
32 #define BSSMPARAMVERSION 2
33
34 typedef struct {
35 GtUword hypothesis_num; /* number of hypothesis, either HYPOTHESIS2 or
36 HYPOTHESIS7 */
37 GtUword window_size_left,
38 window_size_right;
39 union {
40 Hypo2table hypo2table;
41 Hypo7table hypo7table;
42 } hypotables;
43 } GthBSSMModel;
44
45 struct GthBSSMParam{
46 unsigned char version_num; /* contains version number of the BSSM parameter
47 structure */
48 bool gt_donor_model_set, /* use GT donor site model */
49 gc_donor_model_set, /* use GC donor site model */
50 ag_acceptor_model_set; /* use AG acceptor site model */
51 GthBSSMModel gt_donor_model,
52 gc_donor_model,
53 ag_acceptor_model;
54 };
55
56 #endif
+0
-121
src/gth/bssm_param_rmsd.c less more
0 /*
1 Copyright (c) 2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include <math.h>
17 #include "gth/gthprobdef.h"
18 #include "gth/bssm_param_rep.h"
19 #include "gth/bssm_param_rmsd.h"
20
21 static void compute_rmsd(GthDbl *rmsd, GtUword *n,
22 GthBSSMModel *bssm_model_1, GthBSSMModel *bssm_model_2)
23 {
24 GtUword i, j, k, l;
25 GthDbl x, y;
26 gt_assert(rmsd && n && bssm_model_1 && bssm_model_2);
27 *rmsd = 0.0;
28 *n = 0;
29 for (i = 0; i < HYPOTHESIS7; i++) {
30 for (j = 0; j < STRINGSIZE; j++) {
31 for (k = 0; k < ALPHSIZE; k++) {
32 for (l = 0; l < ALPHSIZE; l++) {
33 x = bssm_model_1->hypotables.hypo7table[i][j][k][l];
34 y = bssm_model_2->hypotables.hypo7table[i][j][k][l];
35 *rmsd = (x - y) * (x - y);
36 (*n)++;
37 }
38 }
39 }
40 }
41 *rmsd /= *n;
42 *rmsd = sqrt(*rmsd);
43 }
44
45 static int show_rmsd(GthBSSMParam *bssm_1, GthBSSMParam *bssm_2, GtError *err)
46 {
47 unsigned int current = 0;
48 GtUword ns[3];
49 GthDbl rmsds[3];
50 gt_error_check(err);
51 gt_assert(bssm_1 && bssm_2);
52 gt_assert(gth_bssm_param_is_seven_class(bssm_1));
53 gt_assert(gth_bssm_param_is_seven_class(bssm_2));
54 if (bssm_1->gt_donor_model_set && bssm_2->gt_donor_model_set) {
55 compute_rmsd(&rmsds[current], &ns[current], &bssm_1->gt_donor_model,
56 &bssm_2->gt_donor_model);
57 printf("RMSD for GT donor site model: %f\n", rmsds[current]);
58 current++;
59 }
60 if (bssm_1->gc_donor_model_set && bssm_2->gc_donor_model_set) {
61 compute_rmsd(&rmsds[current], &ns[current], &bssm_1->gc_donor_model,
62 &bssm_2->gc_donor_model);
63 printf("RMSD for GC donor site model: %f\n", rmsds[current]);
64 current++;
65 }
66 if (bssm_1->ag_acceptor_model_set && bssm_2->ag_acceptor_model_set) {
67 compute_rmsd(&rmsds[current], &ns[current], &bssm_1->ag_acceptor_model,
68 &bssm_2->ag_acceptor_model);
69 printf("RMSD for AG acceptor site model: %f\n", rmsds[current]);
70 current++;
71 }
72 if (current) {
73 GthDbl overall_rmsd = 0.0;
74 GtUword i, n = 0;
75 for (i = 0; i < current; i++) {
76 overall_rmsd += rmsds[i] * rmsds[i] * ns[i];
77 n += ns[i];
78 }
79 overall_rmsd /= n;
80 overall_rmsd = sqrt(overall_rmsd);
81 printf("overall RMSD: %f\n", overall_rmsd);
82 }
83 else {
84 gt_error_set(err, "given BSSM files have no common site models");
85 return -1;
86 }
87 return 0;
88 }
89
90 int gth_bssm_param_rmsd_show(const char *bssm_file_1, const char *bssm_file_2,
91 GtError *err)
92 {
93 GthBSSMParam *bssm_1, *bssm_2 = NULL;
94 int had_err = 0;
95 gt_error_check(err);
96 gt_assert(bssm_file_1 && bssm_file_2);
97 if (!(bssm_1 = gth_bssm_param_load(bssm_file_1, err)))
98 had_err = -1;
99 if (!had_err) {
100 if (!gth_bssm_param_is_seven_class(bssm_1)) {
101 gt_error_set(err, "BSSM file '%s' is not seven-class", bssm_file_1);
102 had_err = -1;
103 }
104 }
105 if (!had_err) {
106 if (!(bssm_2 = gth_bssm_param_load(bssm_file_2, err)))
107 had_err = -1;
108 }
109 if (!had_err) {
110 if (!gth_bssm_param_is_seven_class(bssm_2)) {
111 gt_error_set(err, "BSSM file '%s' is not seven-class", bssm_file_2);
112 had_err = -1;
113 }
114 }
115 if (!had_err)
116 had_err = show_rmsd(bssm_1, bssm_2, err);
117 gth_bssm_param_delete(bssm_2);
118 gth_bssm_param_delete(bssm_1);
119 return had_err;
120 }
+0
-25
src/gth/bssm_param_rmsd.h less more
0 /*
1 Copyright (c) 2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef BSSM_PARAM_RMSD_H
17 #define BSSM_PARAM_RMSD_H
18
19 #include "core/error_api.h"
20
21 int gth_bssm_param_rmsd_show(const char *bssm_file_1, const char *bssm_file_2,
22 GtError *err);
23
24 #endif
+0
-1459
src/gth/bssm_seq_processor.c less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/assert_api.h"
17 #include "core/bittab_api.h"
18 #include "core/compat.h"
19 #include "core/cstr_api.h"
20 #include "core/fasta.h"
21 #include "core/file_api.h"
22 #include "core/fileutils_api.h"
23 #include "core/output_file.h"
24 #include "core/ma_api.h"
25 #include "core/mathsupport.h"
26 #include "core/minmax.h"
27 #include "core/str_api.h"
28 #include "core/unused_api.h"
29 #include "core/xposix.h"
30 #include "extended/reverse_api.h"
31 #include "gth/bssm_helper.h"
32 #include "gth/bssm_seq_processor.h"
33
34 #define GT_DIR "GT_donor"
35 #define GC_DIR "GC_donor"
36 #define AG_DIR "AG_acceptor"
37
38 struct GthBSSMSeqProcessor {
39 char *outdir;
40 bool force,
41 gcdonor;
42 GtArray *exon_0, /* squash */
43 *exon_1, /* squash */
44 *exon_2, /* squash */
45 *intron_0, /* squash */
46 *intron_1, /* squash */
47 *intron_2, /* squash */
48 *intron_all, /* squash */
49 *i0_true_don_gt, /* true donor and acceptor sites */
50 *i0_true_don_gc, /* true donor and acceptor sites */
51 *i0_true_acc, /* true donor and acceptor sites */
52 *i1_true_don_gt, /* true donor and acceptor sites */
53 *i1_true_don_gc, /* true donor and acceptor sites */
54 *i1_true_acc, /* true donor and acceptor sites */
55 *i2_true_don_gt, /* true donor and acceptor sites */
56 *i2_true_don_gc, /* true donor and acceptor sites */
57 *i2_true_acc, /* true donor and acceptor sites */
58 *e0_false_don_gt, /* false donor and acceptor sites */
59 *e0_false_don_gc, /* false donor and acceptor sites */
60 *e0_false_acc, /* false donor and acceptor sites */
61 *e1_false_don_gt, /* false donor and acceptor sites */
62 *e1_false_don_gc, /* false donor and acceptor sites */
63 *e1_false_acc, /* false donor and acceptor sites */
64 *e2_false_don_gt, /* false donor and acceptor sites */
65 *e2_false_don_gc, /* false donor and acceptor sites */
66 *e2_false_acc, /* false donor and acceptor sites */
67 *i_false_don_gt, /* false donor and acceptor sites */
68 *i_false_don_gc, /* false donor and acceptor sites */
69 *i_false_acc; /* false donor and acceptor sites */
70 GtFile *gt_t1_fp,
71 *gt_t2_fp,
72 *gt_t0_fp,
73 *gt_f1_fp,
74 *gt_f2_fp,
75 *gt_f0_fp,
76 *gt_fi_fp,
77 *gc_t1_fp,
78 *gc_t2_fp,
79 *gc_t0_fp,
80 *gc_f1_fp,
81 *gc_f2_fp,
82 *gc_f0_fp,
83 *gc_fi_fp,
84 *ag_t1_fp,
85 *ag_t2_fp,
86 *ag_t0_fp,
87 *ag_f1_fp,
88 *ag_f2_fp,
89 *ag_f0_fp,
90 *ag_fi_fp;
91 };
92
93 typedef struct {
94 GtFile *exon_0_fp, /* squash */
95 *exon_1_fp, /* squash */
96 *exon_2_fp, /* squash */
97 *intron_0_fp, /* squash */
98 *intron_1_fp, /* squash */
99 *intron_2_fp, /* squash */
100 *intron_all_fp, /* squash */
101 *i0_true_don_fp, /* true donor and acceptor sites */
102 *i0_true_acc_fp, /* true donor and acceptor sites */
103 *i1_true_don_fp, /* true donor and acceptor sites */
104 *i1_true_acc_fp, /* true donor and acceptor sites */
105 *i2_true_don_fp, /* true donor and acceptor sites */
106 *i2_true_acc_fp, /* true donor and acceptor sites */
107 *e0_false_don_fp, /* false donor and acceptor sites */
108 *e0_false_acc_fp, /* false donor and acceptor sites */
109 *e1_false_don_fp, /* false donor and acceptor sites */
110 *e1_false_acc_fp, /* false donor and acceptor sites */
111 *e2_false_don_fp, /* false donor and acceptor sites */
112 *e2_false_acc_fp, /* false donor and acceptor sites */
113 *i_false_don_fp, /* false donor and acceptor sites */
114 *i_false_acc_fp; /* false donor and acceptor sites */
115 } IntermediateFiles;
116
117 void intermediate_files_delete(IntermediateFiles *ifp)
118 {
119 if (!ifp) return;
120
121 gt_file_delete(ifp->i_false_acc_fp);
122 gt_file_delete(ifp->i_false_don_fp);
123 gt_file_delete(ifp->e2_false_acc_fp);
124 gt_file_delete(ifp->e2_false_don_fp);
125 gt_file_delete(ifp->e1_false_acc_fp);
126 gt_file_delete(ifp->e1_false_don_fp);
127 gt_file_delete(ifp->e0_false_acc_fp);
128 gt_file_delete(ifp->e0_false_don_fp);
129
130 gt_file_delete(ifp->i2_true_acc_fp);
131 gt_file_delete(ifp->i2_true_don_fp);
132 gt_file_delete(ifp->i1_true_acc_fp);
133 gt_file_delete(ifp->i1_true_don_fp);
134 gt_file_delete(ifp->i0_true_acc_fp);
135 gt_file_delete(ifp->i0_true_don_fp);
136
137 gt_file_delete(ifp->intron_all_fp);
138 gt_file_delete(ifp->intron_2_fp);
139 gt_file_delete(ifp->intron_1_fp);
140 gt_file_delete(ifp->intron_0_fp);
141 gt_file_delete(ifp->exon_2_fp);
142 gt_file_delete(ifp->exon_1_fp);
143 gt_file_delete(ifp->exon_0_fp);
144
145 gt_free(ifp);
146 }
147
148 typedef enum {
149 SQUASH,
150 TRUE_DON,
151 TRUE_ACC,
152 FALSE_DON,
153 FALSE_ACC
154 } SeqFileType;
155
156 static GtFile* open_seq_file(const char *outdir, const char *filesuffix,
157 bool force, SeqFileType type, GtError *err)
158 {
159 GtFile *file;
160 GtStr *path;
161 gt_error_check(err);
162 gt_assert(filesuffix);
163 path = gt_str_new_cstr(outdir);
164 gt_str_append_char(path, GT_PATH_SEPARATOR);
165 gt_str_append_cstr(path, "file");
166 gt_str_append_cstr(path, filesuffix);
167 switch (type) {
168 case SQUASH:
169 break;
170 case TRUE_DON:
171 gt_str_append_cstr(path, ".GT_AT.truedons");
172 break;
173 case TRUE_ACC:
174 gt_str_append_cstr(path, ".GT_AT.trueaccs");
175 break;
176 case FALSE_DON:
177 gt_str_append_cstr(path, ".GT_AT.falsedons");
178 break;
179 case FALSE_ACC:
180 gt_str_append_cstr(path, ".GT_AT.falseaccs");
181 break;
182 default:
183 gt_assert(0);
184 }
185 file = gt_output_file_xopen_forcecheck(gt_str_get(path), "w", force,
186 err);
187 gt_str_delete(path);
188 return file;
189 }
190
191 IntermediateFiles* intermediate_files_new(GthBSSMSeqProcessor *bsp,
192 GtError *err)
193 {
194 IntermediateFiles *ifp;
195
196 gt_error_check(err);
197 gt_assert(bsp);
198
199 ifp = gt_calloc(1, sizeof *ifp);
200
201 /* squash */
202 if (!(ifp->exon_0_fp = open_seq_file(bsp->outdir, "0", bsp->force, SQUASH,
203 err))) {
204 intermediate_files_delete(ifp);
205 return NULL;
206 }
207 if (!(ifp->exon_1_fp = open_seq_file(bsp->outdir, "1", bsp->force, SQUASH,
208 err))) {
209 intermediate_files_delete(ifp);
210 return NULL;
211 }
212 if (!(ifp->exon_2_fp = open_seq_file(bsp->outdir, "2", bsp->force, SQUASH,
213 err))) {
214 intermediate_files_delete(ifp);
215 return NULL;
216 }
217 if (!(ifp->intron_0_fp = open_seq_file(bsp->outdir, "I0", bsp->force, SQUASH,
218 err))) {
219 intermediate_files_delete(ifp);
220 return NULL;
221 }
222 if (!(ifp->intron_1_fp = open_seq_file(bsp->outdir, "I1", bsp->force, SQUASH,
223 err))) {
224 intermediate_files_delete(ifp);
225 return NULL;
226 }
227 if (!(ifp->intron_2_fp = open_seq_file(bsp->outdir, "I2", bsp->force, SQUASH,
228 err))) {
229 intermediate_files_delete(ifp);
230 return NULL;
231 }
232 if (!(ifp->intron_all_fp = open_seq_file(bsp->outdir, "I", bsp->force, SQUASH,
233 err))) {
234 intermediate_files_delete(ifp);
235 return NULL;
236 }
237
238 /* true donor and acceptor sites */
239 if (!(ifp->i0_true_don_fp = open_seq_file(bsp->outdir, "I0", bsp->force,
240 TRUE_DON, err))) {
241 intermediate_files_delete(ifp);
242 return NULL;
243 }
244 if (!(ifp->i0_true_acc_fp = open_seq_file(bsp->outdir, "I0", bsp->force,
245 TRUE_ACC, err))) {
246 intermediate_files_delete(ifp);
247 return NULL;
248 }
249 if (!(ifp->i1_true_don_fp = open_seq_file(bsp->outdir, "I1", bsp->force,
250 TRUE_DON, err))) {
251 intermediate_files_delete(ifp);
252 return NULL;
253 }
254 if (!(ifp->i1_true_acc_fp = open_seq_file(bsp->outdir, "I1", bsp->force,
255 TRUE_ACC, err))) {
256 intermediate_files_delete(ifp);
257 return NULL;
258 }
259 if (!(ifp->i2_true_don_fp = open_seq_file(bsp->outdir, "I2", bsp->force,
260 TRUE_DON, err))) {
261 intermediate_files_delete(ifp);
262 return NULL;
263 }
264 if (!(ifp->i2_true_acc_fp = open_seq_file(bsp->outdir, "I2", bsp->force,
265 TRUE_ACC, err))) {
266 intermediate_files_delete(ifp);
267 return NULL;
268 }
269
270 /* false donor and acceptor sites */
271 if (!(ifp->e0_false_don_fp = open_seq_file(bsp->outdir, "E0", bsp->force,
272 FALSE_DON, err))) {
273 intermediate_files_delete(ifp);
274 return NULL;
275 }
276 if (!(ifp->e0_false_acc_fp = open_seq_file(bsp->outdir, "E0", bsp->force,
277 FALSE_ACC, err))) {
278 intermediate_files_delete(ifp);
279 return NULL;
280 }
281 if (!(ifp->e1_false_don_fp = open_seq_file(bsp->outdir, "E1", bsp->force,
282 FALSE_DON, err))) {
283 intermediate_files_delete(ifp);
284 return NULL;
285 }
286 if (!(ifp->e1_false_acc_fp = open_seq_file(bsp->outdir, "E1", bsp->force,
287 FALSE_ACC, err))) {
288 intermediate_files_delete(ifp);
289 return NULL;
290 }
291 if (!(ifp->e2_false_don_fp = open_seq_file(bsp->outdir, "E2", bsp->force,
292 FALSE_DON, err))) {
293 intermediate_files_delete(ifp);
294 return NULL;
295 }
296 if (!(ifp->e2_false_acc_fp = open_seq_file(bsp->outdir, "E2", bsp->force,
297 FALSE_ACC, err))) {
298 intermediate_files_delete(ifp);
299 return NULL;
300 }
301 if (!(ifp->i_false_don_fp = open_seq_file(bsp->outdir, "I", bsp->force,
302 FALSE_DON,
303 err))) {
304 intermediate_files_delete(ifp);
305 return NULL;
306 }
307 if (!(ifp->i_false_acc_fp = open_seq_file(bsp->outdir, "I", bsp->force,
308 FALSE_ACC, err))) {
309 intermediate_files_delete(ifp);
310 return NULL;
311 }
312
313 return ifp;
314 }
315
316 typedef struct {
317 GtStr *seqid,
318 *seq,
319 *desc;
320 GtRange range;
321 bool reverse;
322 unsigned int phase;
323 } BSSMSeq;
324
325 static GtStr* construct_seq_description(const GtRange *range, bool reverse,
326 unsigned int phase, GtStr *seqid)
327 {
328 GtStr *desc;
329 gt_assert(range && phase <= 2);
330 desc = gt_str_new();
331 gt_str_append_uword(desc, reverse ? range->end : range->start);
332 gt_str_append_char(desc, ' ');
333 gt_str_append_uword(desc, reverse ? range->start : range->end);
334 gt_str_append_char(desc, ' ');
335 gt_str_append_uint(desc, phase);
336 gt_str_append_char(desc, ' ');
337 gt_str_append_str(desc, seqid);
338 gt_str_append_char(desc, reverse ? '-' : '+');
339 return desc;
340 }
341
342 static BSSMSeq* bssm_seq_new(GtStr *seqid, const GtRange *range, bool reverse,
343 unsigned int phase, const GtStr *seq)
344 {
345 BSSMSeq *s;
346 gt_assert(seqid && range && phase <= 2 && seqid);
347 s = gt_malloc(sizeof *s);
348 s->seqid = gt_str_ref(seqid);
349 s->range = *range;
350 s->reverse = reverse;
351 s->phase = phase;
352 s->seq = gt_str_clone(seq);
353 s->desc = construct_seq_description(range, reverse, phase, seqid);
354 return s;
355 }
356
357 static void bssm_seq_delete(BSSMSeq *s)
358 {
359 if (!s) return;
360 gt_str_delete(s->desc);
361 gt_str_delete(s->seq);
362 gt_str_delete(s->seqid);
363 gt_free(s);
364 }
365
366 static GtStr* bssm_seq_seq(BSSMSeq *s)
367 {
368 gt_assert(s && s->seq);
369 return s->seq;
370 }
371
372 static void bssm_seq_append_desc(BSSMSeq *s_1, BSSMSeq *s_2)
373 {
374 gt_assert(s_1 && s_2);
375 gt_str_append_cstr(s_1->desc, " AND *** ");
376 gt_str_append_str(s_1->desc, s_2->desc);
377 }
378
379 static int bssm_seq_compare(BSSMSeq **seq_1, BSSMSeq **seq_2)
380 {
381 return gt_str_cmp((*seq_1)->seq, (*seq_2)->seq);
382 }
383
384 static void bssm_seq_write(BSSMSeq *s, GtFile *outfp)
385 {
386 gt_assert(s && outfp);
387 gt_fasta_show_entry(gt_str_get(s->desc), gt_str_get(s->seq),
388 gt_str_length(s->seq), 0, outfp);
389 }
390
391 static GtFile* open_res_file(const char *outdir, const char *resdir,
392 const char *filename, GtFileMode file_mode,
393 bool force, GtError *err)
394 {
395 GtFile *file;
396 GtStr *path;
397 gt_error_check(err);
398 gt_assert(outdir && resdir && filename);
399 path = gt_str_new_cstr(outdir);
400 gt_str_append_char(path, GT_PATH_SEPARATOR);
401 gt_str_append_cstr(path, resdir);
402 gt_str_append_char(path, GT_PATH_SEPARATOR);
403 gt_str_append_cstr(path, filename);
404 gt_str_append_cstr(path, gt_file_mode_suffix(file_mode));
405 file = gt_output_file_xopen_forcecheck(gt_str_get(path), "w", force,
406 err);
407 gt_str_delete(path);
408 return file;
409 }
410
411 GthBSSMSeqProcessor* gth_bssm_seq_processor_new(const char *outdir,
412 GtFileMode fm, bool force,
413 bool gcdonor, GtError *err)
414 {
415 GthBSSMSeqProcessor *bsp;
416 GtStr *dir;
417 gt_error_check(err);
418 gt_assert(outdir);
419
420 bsp = gt_calloc(1, sizeof *bsp);
421 bsp->outdir = gt_cstr_dup(outdir);
422 bsp->force = force;
423 bsp->gcdonor = gcdonor;
424
425 bsp->exon_0 = gt_array_new(sizeof (BSSMSeq*));
426 bsp->exon_1 = gt_array_new(sizeof (BSSMSeq*));
427 bsp->exon_2 = gt_array_new(sizeof (BSSMSeq*));
428 bsp->intron_0 = gt_array_new(sizeof (BSSMSeq*));
429 bsp->intron_1 = gt_array_new(sizeof (BSSMSeq*));
430 bsp->intron_2 = gt_array_new(sizeof (BSSMSeq*));
431 bsp->intron_all = gt_array_new(sizeof (BSSMSeq*));
432
433 /* creat outdir, if necessary */
434 dir = gt_str_new_cstr(bsp->outdir);
435 if (!gt_file_exists(gt_str_get(dir)))
436 gt_xmkdir(gt_str_get(dir));
437
438 /* create GT directory, if necessary */
439 gt_str_append_char(dir, GT_PATH_SEPARATOR);
440 gt_str_append_cstr(dir, GT_DIR);
441 if (!gt_file_exists(gt_str_get(dir)))
442 gt_xmkdir(gt_str_get(dir));
443
444 /* create GC directory, if necessary */
445 if (gcdonor) {
446 gt_str_set(dir, bsp->outdir);
447 gt_str_append_char(dir, GT_PATH_SEPARATOR);
448 gt_str_append_cstr(dir, GC_DIR);
449 if (!gt_file_exists(gt_str_get(dir)))
450 gt_xmkdir(gt_str_get(dir));
451 }
452
453 /* create AG directory, if necessary */
454 gt_str_set(dir, bsp->outdir);
455 gt_str_append_char(dir, GT_PATH_SEPARATOR);
456 gt_str_append_cstr(dir, AG_DIR);
457 if (!gt_file_exists(gt_str_get(dir)))
458 gt_xmkdir(gt_str_get(dir));
459 gt_str_delete(dir);
460
461 /* open result files */
462 if (!(bsp->gt_t1_fp = open_res_file(outdir, GT_DIR, "T1", fm, force, err))) {
463 gth_bssm_seq_processor_delete(bsp);
464 return NULL;
465 }
466 if (!(bsp->gt_t2_fp = open_res_file(outdir, GT_DIR, "T2", fm, force, err))) {
467 gth_bssm_seq_processor_delete(bsp);
468 return NULL;
469 }
470 if (!(bsp->gt_t0_fp = open_res_file(outdir, GT_DIR, "T0", fm, force, err))) {
471 gth_bssm_seq_processor_delete(bsp);
472 return NULL;
473 }
474 if (!(bsp->gt_f1_fp = open_res_file(outdir, GT_DIR, "F1", fm, force, err))) {
475 gth_bssm_seq_processor_delete(bsp);
476 return NULL;
477 }
478 if (!(bsp->gt_f2_fp = open_res_file(outdir, GT_DIR, "F2", fm, force, err))) {
479 gth_bssm_seq_processor_delete(bsp);
480 return NULL;
481 }
482 if (!(bsp->gt_f0_fp = open_res_file(outdir, GT_DIR, "F0", fm, force, err))) {
483 gth_bssm_seq_processor_delete(bsp);
484 return NULL;
485 }
486 if (!(bsp->gt_fi_fp = open_res_file(outdir, GT_DIR, "Fi", fm, force, err))) {
487 gth_bssm_seq_processor_delete(bsp);
488 return NULL;
489 }
490
491 if (bsp->gcdonor) {
492 if (!(bsp->gc_t1_fp = open_res_file(outdir, GC_DIR, "T1", fm, force,
493 err))) {
494 gth_bssm_seq_processor_delete(bsp);
495 return NULL;
496 }
497 if (!(bsp->gc_t2_fp = open_res_file(outdir, GC_DIR, "T2", fm, force,
498 err))) {
499 gth_bssm_seq_processor_delete(bsp);
500 return NULL;
501 }
502 if (!(bsp->gc_t0_fp = open_res_file(outdir, GC_DIR, "T0", fm, force,
503 err))) {
504 gth_bssm_seq_processor_delete(bsp);
505 return NULL;
506 }
507 if (!(bsp->gc_f1_fp = open_res_file(outdir, GC_DIR, "F1", fm, force,
508 err))) {
509 gth_bssm_seq_processor_delete(bsp);
510 return NULL;
511 }
512 if (!(bsp->gc_f2_fp = open_res_file(outdir, GC_DIR, "F2", fm, force,
513 err))) {
514 gth_bssm_seq_processor_delete(bsp);
515 return NULL;
516 }
517 if (!(bsp->gc_f0_fp = open_res_file(outdir, GC_DIR, "F0", fm, force,
518 err))) {
519 gth_bssm_seq_processor_delete(bsp);
520 return NULL;
521 }
522 if (!(bsp->gc_fi_fp = open_res_file(outdir, GC_DIR, "Fi", fm, force,
523 err))) {
524 gth_bssm_seq_processor_delete(bsp);
525 return NULL;
526 }
527 }
528
529 if (!(bsp->ag_t1_fp = open_res_file(outdir, AG_DIR, "T1", fm, force, err))) {
530 gth_bssm_seq_processor_delete(bsp);
531 return NULL;
532 }
533 if (!(bsp->ag_t2_fp = open_res_file(outdir, AG_DIR, "T2", fm, force, err))) {
534 gth_bssm_seq_processor_delete(bsp);
535 return NULL;
536 }
537 if (!(bsp->ag_t0_fp = open_res_file(outdir, AG_DIR, "T0", fm, force, err))) {
538 gth_bssm_seq_processor_delete(bsp);
539 return NULL;
540 }
541 if (!(bsp->ag_f1_fp = open_res_file(outdir, AG_DIR, "F1", fm, force, err))) {
542 gth_bssm_seq_processor_delete(bsp);
543 return NULL;
544 }
545 if (!(bsp->ag_f2_fp = open_res_file(outdir, AG_DIR, "F2", fm, force, err))) {
546 gth_bssm_seq_processor_delete(bsp);
547 return NULL;
548 }
549 if (!(bsp->ag_f0_fp = open_res_file(outdir, AG_DIR, "F0", fm, force, err))) {
550 gth_bssm_seq_processor_delete(bsp);
551 return NULL;
552 }
553 if (!(bsp->ag_fi_fp = open_res_file(outdir, AG_DIR, "Fi", fm, force, err))) {
554 gth_bssm_seq_processor_delete(bsp);
555 return NULL;
556 }
557
558 return bsp;
559 }
560
561 static void bssm_seqs_delete(GtArray *seqs)
562 {
563 GtUword i;
564 for (i = 0; i < gt_array_size(seqs); i++)
565 bssm_seq_delete(*(BSSMSeq**) gt_array_get(seqs, i));
566 gt_array_delete(seqs);
567 }
568
569 void gth_bssm_seq_processor_delete(GthBSSMSeqProcessor *bsp)
570 {
571 if (!bsp) return;
572
573 gt_file_delete(bsp->ag_fi_fp);
574 gt_file_delete(bsp->ag_f0_fp);
575 gt_file_delete(bsp->ag_f2_fp);
576 gt_file_delete(bsp->ag_f1_fp);
577 gt_file_delete(bsp->ag_t0_fp);
578 gt_file_delete(bsp->ag_t2_fp);
579 gt_file_delete(bsp->ag_t1_fp);
580
581 gt_file_delete(bsp->gc_fi_fp);
582 gt_file_delete(bsp->gc_f0_fp);
583 gt_file_delete(bsp->gc_f2_fp);
584 gt_file_delete(bsp->gc_f1_fp);
585 gt_file_delete(bsp->gc_t0_fp);
586 gt_file_delete(bsp->gc_t2_fp);
587 gt_file_delete(bsp->gc_t1_fp);
588
589 gt_file_delete(bsp->gt_fi_fp);
590 gt_file_delete(bsp->gt_f0_fp);
591 gt_file_delete(bsp->gt_f2_fp);
592 gt_file_delete(bsp->gt_f1_fp);
593 gt_file_delete(bsp->gt_t0_fp);
594 gt_file_delete(bsp->gt_t2_fp);
595 gt_file_delete(bsp->gt_t1_fp);
596
597 bssm_seqs_delete(bsp->i_false_acc);
598 bssm_seqs_delete(bsp->i_false_don_gc);
599 bssm_seqs_delete(bsp->i_false_don_gt);
600 bssm_seqs_delete(bsp->e2_false_acc);
601 bssm_seqs_delete(bsp->e2_false_don_gc);
602 bssm_seqs_delete(bsp->e2_false_don_gt);
603 bssm_seqs_delete(bsp->e1_false_acc);
604 bssm_seqs_delete(bsp->e1_false_don_gc);
605 bssm_seqs_delete(bsp->e1_false_don_gt);
606 bssm_seqs_delete(bsp->e0_false_acc);
607 bssm_seqs_delete(bsp->e0_false_don_gc);
608 bssm_seqs_delete(bsp->e0_false_don_gt);
609
610 bssm_seqs_delete(bsp->i2_true_acc);
611 bssm_seqs_delete(bsp->i2_true_don_gc);
612 bssm_seqs_delete(bsp->i2_true_don_gt);
613 bssm_seqs_delete(bsp->i1_true_acc);
614 bssm_seqs_delete(bsp->i1_true_don_gc);
615 bssm_seqs_delete(bsp->i1_true_don_gt);
616 bssm_seqs_delete(bsp->i0_true_acc);
617 bssm_seqs_delete(bsp->i0_true_don_gc);
618 bssm_seqs_delete(bsp->i0_true_don_gt);
619
620 bssm_seqs_delete(bsp->intron_all);
621 bssm_seqs_delete(bsp->intron_2);
622 bssm_seqs_delete(bsp->intron_1);
623 bssm_seqs_delete(bsp->intron_0);
624 bssm_seqs_delete(bsp->exon_2);
625 bssm_seqs_delete(bsp->exon_1);
626 bssm_seqs_delete(bsp->exon_0);
627
628 gt_free(bsp->outdir);
629 gt_free(bsp);
630 }
631
632 void gth_bssm_seq_processor_proc_exon(GthBSSMSeqProcessor *bsp,
633 unsigned int phase, GtStr *seqid,
634 const GtRange *range, bool reverse,
635 const GtStr *seq)
636 {
637 GtArray *bssm_seqs = NULL;
638 BSSMSeq *bssm_seq;
639 gt_assert(bsp);
640 gt_assert(phase <= 2);
641 gt_assert(seq && gt_str_length(seq) == gt_range_length(range));
642 switch (phase) {
643 case 0: bssm_seqs = bsp->exon_0; break;
644 case 1: bssm_seqs = bsp->exon_1; break;
645 case 2: bssm_seqs = bsp->exon_2; break;
646 default: gt_assert(0);
647 }
648 bssm_seq = bssm_seq_new(seqid, range, reverse, phase, seq);
649 gt_array_add(bssm_seqs, bssm_seq);
650 }
651
652 void gth_bssm_seq_processor_proc_intron(GthBSSMSeqProcessor *bsp,
653 unsigned int phase, GtStr *seqid,
654 const GtRange *range, bool reverse,
655 const GtStr *seq)
656 {
657 GtArray *bssm_seqs = NULL;
658 BSSMSeq *bssm_seq;
659 gt_assert(bsp);
660 gt_assert(phase <= 2);
661 gt_assert(seq && gt_str_length(seq) == gt_range_length(range));
662 switch (phase) {
663 case 0: bssm_seqs = bsp->intron_0; break;
664 case 1: bssm_seqs = bsp->intron_1; break;
665 case 2: bssm_seqs = bsp->intron_2; break;
666 default: gt_assert(0);
667 }
668 bssm_seq = bssm_seq_new(seqid, range, reverse, phase, seq);
669 gt_array_add(bssm_seqs, bssm_seq);
670 bssm_seq = bssm_seq_new(seqid, range, reverse, phase, seq);
671 gt_array_add(bsp->intron_all, bssm_seq);
672 }
673
674 void bssm_seqs_squash(GtArray *seqs)
675 {
676 BSSMSeq *cur_seq, *pre_seq;
677 GtArray *tmp_seqs;
678 GtUword i;
679 gt_assert(seqs);
680 if (!gt_array_size(seqs))
681 return;
682 /* sort sequences */
683 qsort(gt_array_get_space(seqs), gt_array_size(seqs), gt_array_elem_size(seqs),
684 (GtCompare) bssm_seq_compare);
685 tmp_seqs = gt_array_new(sizeof (BSSMSeq*));
686 pre_seq = *(BSSMSeq**) gt_array_get_first(seqs);
687 for (i = 1; i < gt_array_size(seqs); i++) {
688 cur_seq = *(BSSMSeq**) gt_array_get(seqs, i);
689 if (!gt_str_cmp(bssm_seq_seq(pre_seq), bssm_seq_seq(cur_seq))) {
690 /* sequences are equal */
691 bssm_seq_append_desc(pre_seq, cur_seq);
692 bssm_seq_delete(cur_seq);
693 }
694 else {
695 gt_array_add(tmp_seqs, pre_seq);
696 pre_seq = cur_seq;
697 }
698 }
699 gt_array_add(tmp_seqs, pre_seq);
700 gt_array_reset(seqs);
701 gt_array_add_array(seqs, tmp_seqs);
702 gt_array_delete(tmp_seqs);
703 }
704
705 void gth_bssm_seq_processor_squash(GthBSSMSeqProcessor *bsp)
706 {
707 gt_assert(bsp);
708 bssm_seqs_squash(bsp->exon_0);
709 bssm_seqs_squash(bsp->exon_1);
710 bssm_seqs_squash(bsp->exon_2);
711 bssm_seqs_squash(bsp->intron_0);
712 bssm_seqs_squash(bsp->intron_1);
713 bssm_seqs_squash(bsp->intron_2);
714 bssm_seqs_squash(bsp->intron_all);
715 }
716
717 static int get_true_seq(GtArray *true_sites, BSSMSeq *intron,
718 const char *sequence,
719 GT_UNUSED GtUword sequence_length,
720 GtStr *seq, const GtRange *site_range, GtError *err)
721 {
722 int had_err = 0;
723 gt_error_check(err);
724 gt_assert(true_sites && intron);
725 /* 1-based coordinates */
726 gt_assert(intron->range.start && intron->range.end);
727 gt_assert(intron->range.end <= sequence_length);
728 gt_str_reset(seq);
729 gt_str_append_cstr_nt(seq, sequence, gt_range_length(site_range));
730 if (intron->reverse)
731 had_err = gt_reverse_complement(gt_str_get(seq), gt_str_length(seq), err);
732 if (!had_err && !gth_seq_contains_wildcard(seq)) {
733 BSSMSeq *true_seq = bssm_seq_new(intron->seqid, &intron->range,
734 intron->reverse, intron->phase, seq);
735 gt_array_add(true_sites, true_seq);
736 }
737 return had_err;
738 }
739
740 static int find_true_sites(GtArray *true_don_gt, GtArray *true_don_gc,
741 GtArray *true_acc, GtArray *introns,
742 GtRegionMapping *region_mapping, bool gcdonor,
743 GtError *err)
744 {
745 GtUword i, len;
746 bool don_underflow, acc_underflow;
747 const char *cseq;
748 GtRange don_range, acc_range;
749 BSSMSeq *intron;
750 GtStr *seq;
751 int had_err = 0;
752 gt_error_check(err);
753 gt_assert(true_don_gt && true_acc && introns && region_mapping);
754 seq = gt_str_new();
755 for (i = 0; !had_err && i < gt_array_size(introns); i++) {
756 intron = *(BSSMSeq**) gt_array_get(introns, i);
757 len = gt_str_length(intron->seq);
758 if (len >= 4) {
759 cseq = gt_str_get(intron->seq);
760 if ( (cseq[0] == 'G' || cseq[0] == 'g') &&
761 ((cseq[1] == 'T' || cseq[1] == 't') ||
762 (gcdonor &&
763 (cseq[1] == 'C' || cseq[1] == 'c'))) &&
764 (cseq[len-2] == 'A' || cseq[len-2] == 'a') &&
765 (cseq[len-1] == 'G' || cseq[len-1] == 'g')) {
766 GtUword sequence_length;
767 char *sequence = NULL;
768 /* correct splice site found -> get flanking sequences */
769 if (!intron->reverse) {
770 if (intron->range.start >= 50) {
771 don_range.start = intron->range.start - 50;
772 don_underflow = false;
773 }
774 else
775 don_underflow = true;
776 don_range.end = intron->range.start + 51;
777 if (intron->range.end >= 51) {
778 acc_range.start = intron->range.end - 51;
779 acc_underflow = false;
780 }
781 else
782 acc_underflow = true;
783 acc_range.end = intron->range.end + 50;
784 }
785 else {
786 if (intron->range.end >= 51) {
787 don_range.start = intron->range.end - 51;
788 don_underflow = false;
789 }
790 else
791 don_underflow = true;
792 don_range.end = intron->range.end + 50;
793 if (intron->range.start >= 50) {
794 acc_range.start = intron->range.start - 50;
795 acc_underflow = false;
796 }
797 else
798 acc_underflow = true;
799 acc_range.end = intron->range.start + 51;
800 }
801 /* donor sequence */
802 if (!had_err && !don_underflow) {
803 had_err = gt_region_mapping_get_sequence_length(region_mapping,
804 &sequence_length,
805 intron->seqid, err);
806 if (!had_err && don_range.end <= sequence_length) {
807 had_err = gt_region_mapping_get_sequence(region_mapping, &sequence,
808 intron->seqid,
809 don_range.start,
810 don_range.end, err);
811 if (!had_err) {
812 if (cseq[1] == 'T' || cseq[1] == 't') {
813 had_err = get_true_seq(true_don_gt, intron, sequence,
814 sequence_length, seq, &don_range, err);
815 }
816 else {
817 gt_assert(gcdonor && (cseq[1] == 'C' || cseq[1] == 'c'));
818 had_err = get_true_seq(true_don_gc, intron, sequence,
819 sequence_length, seq, &don_range, err);
820 }
821 gt_free(sequence);
822 }
823 }
824 }
825 /* acceptor sequence */
826 if (!had_err && !acc_underflow) {
827 had_err = gt_region_mapping_get_sequence_length(region_mapping,
828 &sequence_length,
829 intron->seqid, err);
830 if (!had_err && acc_range.end <= sequence_length) {
831 had_err = gt_region_mapping_get_sequence(region_mapping, &sequence,
832 intron->seqid,
833 acc_range.start,
834 acc_range.end, err);
835 if (!had_err) {
836 had_err = get_true_seq(true_acc, intron, sequence,
837 sequence_length, seq, &acc_range, err);
838 gt_free(sequence);
839 }
840 }
841 }
842 }
843 }
844 }
845 gt_str_delete(seq);
846 return had_err;
847 }
848
849 int gth_bssm_seq_processor_find_true_sites(GthBSSMSeqProcessor *bsp,
850 GtRegionMapping *region_mapping,
851 GtError *err)
852 {
853 int had_err;
854
855 gt_error_check(err);
856 gt_assert(bsp && region_mapping);
857 gt_assert(!bsp->i0_true_don_gt);
858 gt_assert(!bsp->i0_true_don_gc);
859 gt_assert(!bsp->i0_true_acc);
860 gt_assert(!bsp->i1_true_don_gt);
861 gt_assert(!bsp->i1_true_don_gc);
862 gt_assert(!bsp->i1_true_acc);
863 gt_assert(!bsp->i2_true_don_gt);
864 gt_assert(!bsp->i2_true_don_gc);
865 gt_assert(!bsp->i2_true_acc);
866
867 bsp->i0_true_don_gt = gt_array_new(sizeof (BSSMSeq*));
868 bsp->i0_true_acc = gt_array_new(sizeof (BSSMSeq*));
869 bsp->i1_true_don_gt = gt_array_new(sizeof (BSSMSeq*));
870 bsp->i1_true_acc = gt_array_new(sizeof (BSSMSeq*));
871 bsp->i2_true_don_gt = gt_array_new(sizeof (BSSMSeq*));
872 bsp->i2_true_acc = gt_array_new(sizeof (BSSMSeq*));
873
874 if (bsp->gcdonor) {
875 bsp->i0_true_don_gc = gt_array_new(sizeof (BSSMSeq*));
876 bsp->i1_true_don_gc = gt_array_new(sizeof (BSSMSeq*));
877 bsp->i2_true_don_gc = gt_array_new(sizeof (BSSMSeq*));
878 }
879
880 had_err = find_true_sites(bsp->i0_true_don_gt, bsp->i0_true_don_gc,
881 bsp->i0_true_acc, bsp->intron_0, region_mapping,
882 bsp->gcdonor, err);
883 if (!had_err) {
884 had_err = find_true_sites(bsp->i1_true_don_gt, bsp->i1_true_don_gc,
885 bsp->i1_true_acc, bsp->intron_1, region_mapping,
886 bsp->gcdonor, err);
887 }
888 if (!had_err) {
889 had_err = find_true_sites(bsp->i2_true_don_gt, bsp->i2_true_don_gc,
890 bsp->i2_true_acc, bsp->intron_2, region_mapping,
891 bsp->gcdonor, err);
892 }
893
894 return had_err;
895 }
896
897 static int get_false_don_seq(GtArray *false_don_0_gt, GtArray *false_don_0_gc,
898 GtArray *false_don_1_gt, GtArray *false_don_1_gc,
899 GtArray *false_don_2_gt, GtArray *false_don_2_gc,
900 BSSMSeq *intron, const char *sequence,
901 GT_UNUSED GtUword sequence_length,
902 GtStr *seq, const GtRange *don_range,
903 bool proc_exons, GT_UNUSED bool gcdonor,
904 GtUword j, GtError *err)
905 {
906 unsigned int phase = 0;
907 BSSMSeq *false_seq;
908 int had_err = 0;
909 gt_error_check(err);
910
911 /* 1-based coordinates */
912 gt_assert(intron->range.start && intron->range.end);
913 gt_assert(intron->range.end <= sequence_length);
914 gt_str_reset(seq);
915 gt_str_append_cstr_nt(seq, sequence, gt_range_length(don_range));
916 if (intron->reverse)
917 had_err = gt_reverse_complement(gt_str_get(seq), gt_str_length(seq), err);
918 if (!had_err && !gth_seq_contains_wildcard(seq)) {
919 const char *iseq = gt_str_get(seq);
920 gt_assert(gt_str_length(seq) == 102);
921 gt_assert(iseq[50] == 'G' || iseq[50] == 'g');
922 gt_assert(iseq[51] == 'T' || iseq[51] == 't' ||
923 (gcdonor && (iseq[51] == 'C' || iseq[51] == 'c')));
924 false_seq = bssm_seq_new(intron->seqid, &intron->range, intron->reverse,
925 intron->phase, seq);
926 if (proc_exons)
927 phase = (intron->phase + j) % 3;
928 if (iseq[51] == 'T' || iseq[51] == 't') {
929 switch (phase) {
930 case 0: gt_array_add(false_don_0_gt, false_seq); break;
931 case 1: gt_array_add(false_don_1_gt, false_seq); break;
932 case 2: gt_array_add(false_don_2_gt, false_seq); break;
933 default: gt_assert(0);
934 }
935 }
936 else {
937 gt_assert(gcdonor && (iseq[51] == 'C' || iseq[51] == 'c'));
938 switch (phase) {
939 case 0: gt_array_add(false_don_0_gc, false_seq); break;
940 case 1: gt_array_add(false_don_1_gc, false_seq); break;
941 case 2: gt_array_add(false_don_2_gc, false_seq); break;
942 default: gt_assert(0);
943 }
944 }
945 }
946 return had_err;
947 }
948
949 static int get_false_acc_seq(GtArray *false_acc_0, GtArray *false_acc_1,
950 GtArray *false_acc_2, BSSMSeq *intron,
951 const char *sequence,
952 GT_UNUSED GtUword sequence_length,
953 GtStr *seq, const GtRange *acc_range,
954 bool proc_exons, GtUword j, GtError *err)
955 {
956 unsigned int phase = 0;
957 BSSMSeq *false_seq;
958 int had_err = 0;
959 gt_error_check(err);
960
961 /* 1-based coordinates */
962 gt_assert(intron->range.start && intron->range.end);
963 gt_assert(intron->range.end <= sequence_length);
964 gt_str_reset(seq);
965 gt_str_append_cstr_nt(seq, sequence, gt_range_length(acc_range));
966 if (intron->reverse)
967 had_err = gt_reverse_complement(gt_str_get(seq), gt_str_length(seq), err);
968 if (!had_err && !gth_seq_contains_wildcard(seq)) {
969 #ifndef NDEBUG
970 const char *iseq = gt_str_get(seq);
971 #endif
972 gt_assert(gt_str_length(seq) == 102);
973 gt_assert(iseq[50] == 'A' || iseq[50] == 'a');
974 gt_assert(iseq[51] == 'G' || iseq[51] == 'g');
975 false_seq = bssm_seq_new(intron->seqid, &intron->range, intron->reverse,
976 intron->phase, seq);
977 if (proc_exons)
978 phase = (intron->phase + j) % 3;
979 switch (phase) {
980 case 0: gt_array_add(false_acc_0, false_seq); break;
981 case 1: gt_array_add(false_acc_1, false_seq); break;
982 case 2: gt_array_add(false_acc_2, false_seq); break;
983 default: gt_assert(0);
984 }
985 }
986 return had_err;
987 }
988
989 static int find_false_sites(GtArray *false_don_0_gt, GtArray *false_don_0_gc,
990 GtArray *false_acc_0,
991 GtArray *false_don_1_gt, GtArray *false_don_1_gc,
992 GtArray *false_acc_1,
993 GtArray *false_don_2_gt, GtArray *false_don_2_gc,
994 GtArray *false_acc_2,
995 GtArray *seqs, bool proc_exons,
996 GtRegionMapping *region_mapping, bool gcdonor,
997 GtError *err)
998 {
999 GtUword i, j, len;
1000 bool don_underflow, acc_underflow;
1001 const char *cseq;
1002 GtRange don_range = {0}, acc_range = {0};
1003 BSSMSeq *intron;
1004 GtStr *seq;
1005 int had_err = 0;
1006 gt_error_check(err);
1007 gt_assert(false_don_0_gt && false_acc_0 && seqs && region_mapping && err);
1008 seq = gt_str_new();
1009 for (i = 0; !had_err && i < gt_array_size(seqs); i++) {
1010 intron = *(BSSMSeq**) gt_array_get(seqs, i);
1011 len = gt_str_length(intron->seq);
1012 if (len >= 2) {
1013 cseq = gt_str_get(intron->seq);
1014 for (j = 0; !had_err && j < len - 1; j++) {
1015 GtUword sequence_length;
1016 char *sequence = NULL;
1017 if ((proc_exons || j) && /* skip true donor site */
1018 (cseq[j] == 'G' || cseq[j] == 'g') &&
1019 ((cseq[j+1] == 'T' || cseq[j+1] == 't') ||
1020 (gcdonor &&
1021 (cseq[j+1] == 'C' || cseq[j+1] == 'c')))) {
1022 if (!intron->reverse) {
1023 if (intron->range.start + j >= 50) {
1024 don_range.start = intron->range.start + j - 50;
1025 don_underflow = false;
1026 }
1027 else
1028 don_underflow = true;
1029 don_range.end = intron->range.start + j + 51;
1030 }
1031 else {
1032 if (intron->range.end >= j + 51) {
1033 don_range.start = intron->range.end - j - 51;
1034 don_underflow = false;
1035 }
1036 else
1037 don_underflow = true;
1038 don_range.end = intron->range.end - j + 50;
1039 }
1040 /* donor sequence */
1041 if (!had_err && !don_underflow) {
1042 had_err = gt_region_mapping_get_sequence_length(region_mapping,
1043 &sequence_length,
1044 intron->seqid, err);
1045 if (!had_err && don_range.end < sequence_length) {
1046 had_err = gt_region_mapping_get_sequence(region_mapping,
1047 &sequence, intron->seqid,
1048 don_range.start,
1049 don_range.end, err);
1050 if (!had_err) {
1051 had_err = get_false_don_seq(false_don_0_gt, false_don_0_gc,
1052 false_don_1_gt, false_don_1_gc,
1053 false_don_2_gt, false_don_2_gc,
1054 intron, sequence, sequence_length,
1055 seq, &don_range, proc_exons, gcdonor,
1056 j, err);
1057 }
1058 }
1059 }
1060 }
1061 else if ((proc_exons || j < len - 2) && /* skip true acceptor sites */
1062 (cseq[j] == 'A' || cseq[j] == 'a') &&
1063 (cseq[j+1] == 'G' || cseq[j+1] == 'g')) {
1064 if (!intron->reverse) {
1065 if (intron->range.start + j >= 50) {
1066 acc_range.start = intron->range.start + j - 50;
1067 acc_underflow = false;
1068 }
1069 else
1070 acc_underflow = true;
1071 acc_range.end = intron->range.start + j + 51;
1072 }
1073 else {
1074 if (intron->range.end >= j + 51) {
1075 acc_range.start = intron->range.end - j - 51;
1076 acc_underflow = false;
1077 }
1078 else
1079 acc_underflow = true;
1080 acc_range.end = intron->range.end - j + 50;
1081 }
1082 /* acceptor sequence */
1083 if (!had_err && !acc_underflow) {
1084 had_err = gt_region_mapping_get_sequence_length(region_mapping,
1085 &sequence_length,
1086 intron->seqid, err);
1087 if (!had_err && acc_range.end < sequence_length) {
1088 had_err = gt_region_mapping_get_sequence(region_mapping,
1089 &sequence, intron->seqid,
1090 acc_range.start,
1091 acc_range.end, err);
1092 if (!had_err) {
1093 had_err = get_false_acc_seq(false_acc_0, false_acc_1,
1094 false_acc_2, intron, sequence,
1095 sequence_length, seq, &acc_range,
1096 proc_exons, j, err);
1097 }
1098 }
1099 }
1100 }
1101 gt_free(sequence);
1102 }
1103 }
1104 }
1105 gt_str_delete(seq);
1106 return had_err;
1107 }
1108
1109 int gth_bssm_seq_processor_find_false_sites(GthBSSMSeqProcessor *bsp,
1110 GtRegionMapping *region_mapping,
1111 GtError *err)
1112 {
1113 int had_err = 0;
1114
1115 gt_error_check(err);
1116 gt_assert(bsp && region_mapping);
1117 gt_assert(!bsp->e0_false_don_gt);
1118 gt_assert(!bsp->e0_false_don_gc);
1119 gt_assert(!bsp->e0_false_acc);
1120 gt_assert(!bsp->e1_false_don_gt);
1121 gt_assert(!bsp->e1_false_don_gc);
1122 gt_assert(!bsp->e1_false_acc);
1123 gt_assert(!bsp->e2_false_don_gt);
1124 gt_assert(!bsp->e2_false_don_gc);
1125 gt_assert(!bsp->e2_false_acc);
1126 gt_assert(!bsp->i_false_don_gt);
1127 gt_assert(!bsp->i_false_don_gc);
1128 gt_assert(!bsp->i_false_acc);
1129
1130 bsp->e0_false_don_gt = gt_array_new(sizeof (BSSMSeq*));
1131 bsp->e0_false_acc = gt_array_new(sizeof (BSSMSeq*));
1132 bsp->e1_false_don_gt = gt_array_new(sizeof (BSSMSeq*));
1133 bsp->e1_false_acc = gt_array_new(sizeof (BSSMSeq*));
1134 bsp->e2_false_don_gt = gt_array_new(sizeof (BSSMSeq*));
1135 bsp->e2_false_acc = gt_array_new(sizeof (BSSMSeq*));
1136 bsp->i_false_don_gt = gt_array_new(sizeof (BSSMSeq*));
1137 bsp->i_false_acc = gt_array_new(sizeof (BSSMSeq*));
1138
1139 if (bsp->gcdonor) {
1140 bsp->e0_false_don_gc = gt_array_new(sizeof (BSSMSeq*));
1141 bsp->e1_false_don_gc = gt_array_new(sizeof (BSSMSeq*));
1142 bsp->e2_false_don_gc = gt_array_new(sizeof (BSSMSeq*));
1143 bsp->i_false_don_gc = gt_array_new(sizeof (BSSMSeq*));
1144 }
1145
1146 had_err = find_false_sites(bsp->i_false_don_gt, bsp->i_false_don_gc,
1147 bsp->i_false_acc, NULL, NULL, NULL, NULL, NULL,
1148 NULL, bsp->intron_all, false, region_mapping,
1149 bsp->gcdonor, err);
1150
1151 if (!had_err) {
1152 had_err = find_false_sites(bsp->e0_false_don_gt, bsp->e0_false_don_gc,
1153 bsp->e0_false_acc,
1154 bsp->e1_false_don_gt, bsp->e1_false_don_gc,
1155 bsp->e1_false_acc,
1156 bsp->e2_false_don_gt, bsp->e2_false_don_gc,
1157 bsp->e2_false_acc, bsp->exon_0, true,
1158 region_mapping, bsp->gcdonor, err);
1159 }
1160
1161 if (!had_err) {
1162 had_err = find_false_sites(bsp->e0_false_don_gt, bsp->e0_false_don_gc,
1163 bsp->e0_false_acc,
1164 bsp->e1_false_don_gt, bsp->e1_false_don_gc,
1165 bsp->e1_false_acc,
1166 bsp->e2_false_don_gt, bsp->e2_false_don_gc,
1167 bsp->e2_false_acc, bsp->exon_1, true,
1168 region_mapping, bsp->gcdonor, err);
1169 }
1170
1171 if (!had_err) {
1172 had_err = find_false_sites(bsp->e0_false_don_gt, bsp->e0_false_don_gc,
1173 bsp->e0_false_acc,
1174 bsp->e1_false_don_gt, bsp->e1_false_don_gc,
1175 bsp->e1_false_acc,
1176 bsp->e2_false_don_gt, bsp->e2_false_don_gc,
1177 bsp->e2_false_acc, bsp->exon_2, true,
1178 region_mapping, bsp->gcdonor, err);
1179 }
1180
1181 return had_err;
1182 }
1183
1184 static void bssm_seqs_write(GtArray *seqs, GtFile *outfp)
1185 {
1186 GtUword i;
1187 gt_assert(seqs && outfp);
1188 for (i = 0; i < gt_array_size(seqs); i++)
1189 bssm_seq_write(*(BSSMSeq**) gt_array_get(seqs, i), outfp);
1190 }
1191
1192 static void sample_bssm_seqs(GtArray *seqs, GtUword target_size)
1193 {
1194 GtUword i, randnum, original_size, sample_size = 0;
1195 GtBittab *samples;
1196 GtArray *tmp_seqs;
1197
1198 gt_assert(seqs);
1199 gt_assert(target_size <= gt_array_size(seqs));
1200
1201 original_size = gt_array_size(seqs);
1202 if (!original_size)
1203 return; /* nothing to do */
1204 tmp_seqs = gt_array_new(sizeof (BSSMSeq*));
1205 samples = gt_bittab_new(original_size);
1206
1207 /* compute random samples */
1208 while (sample_size < target_size) {
1209 randnum = gt_rand_max(original_size - 1);
1210 if (!gt_bittab_bit_is_set(samples, randnum)) {
1211 gt_bittab_set_bit(samples, randnum);
1212 sample_size++;
1213 }
1214 }
1215
1216 gt_assert(gt_bittab_count_set_bits(samples) == target_size);
1217
1218 /* process samples */
1219 for (i = 0; i < gt_bittab_size(samples); i++) {
1220 if (gt_bittab_bit_is_set(samples, i)) {
1221 BSSMSeq *seq = (*(BSSMSeq**) gt_array_get(seqs, i));
1222 gt_array_add(tmp_seqs, seq);
1223 }
1224 else
1225 bssm_seq_delete(*(BSSMSeq**) gt_array_get(seqs, i));
1226 }
1227 gt_array_reset(seqs);
1228 gt_array_add_array(seqs, tmp_seqs);
1229
1230 gt_bittab_delete(samples);
1231 gt_array_delete(tmp_seqs);
1232 }
1233
1234 int gth_bssm_seq_processor_write_intermediate(GthBSSMSeqProcessor *bsp,
1235 GtError *err)
1236 {
1237 IntermediateFiles *ifp;
1238
1239 gt_error_check(err);
1240 gt_assert(bsp);
1241
1242 if (!(ifp = intermediate_files_new(bsp, err)))
1243 return -1;
1244
1245 bssm_seqs_write(bsp->exon_0, ifp->exon_0_fp);
1246 bssm_seqs_write(bsp->exon_1, ifp->exon_1_fp);
1247 bssm_seqs_write(bsp->exon_2, ifp->exon_2_fp);
1248 bssm_seqs_write(bsp->intron_0, ifp->intron_0_fp);
1249 bssm_seqs_write(bsp->intron_1, ifp->intron_1_fp);
1250 bssm_seqs_write(bsp->intron_2, ifp->intron_2_fp);
1251 bssm_seqs_write(bsp->intron_all, ifp->intron_all_fp);
1252
1253 bssm_seqs_write(bsp->i0_true_don_gt, ifp->i0_true_don_fp);
1254 bssm_seqs_write(bsp->i0_true_acc, ifp->i0_true_acc_fp);
1255 bssm_seqs_write(bsp->i1_true_don_gt, ifp->i1_true_don_fp);
1256 bssm_seqs_write(bsp->i1_true_acc, ifp->i1_true_acc_fp);
1257 bssm_seqs_write(bsp->i2_true_don_gt, ifp->i2_true_don_fp);
1258 bssm_seqs_write(bsp->i2_true_acc, ifp->i2_true_acc_fp);
1259
1260 bssm_seqs_write(bsp->e0_false_don_gt, ifp->e0_false_don_fp);
1261 bssm_seqs_write(bsp->e0_false_acc, ifp->e0_false_acc_fp);
1262 bssm_seqs_write(bsp->e1_false_don_gt, ifp->e1_false_don_fp);
1263 bssm_seqs_write(bsp->e1_false_acc, ifp->e1_false_acc_fp);
1264 bssm_seqs_write(bsp->e2_false_don_gt, ifp->e2_false_don_fp);
1265 bssm_seqs_write(bsp->e2_false_acc, ifp->e2_false_acc_fp);
1266 bssm_seqs_write(bsp->i_false_don_gt, ifp->i_false_don_fp);
1267 bssm_seqs_write(bsp->i_false_acc, ifp->i_false_acc_fp);
1268
1269 intermediate_files_delete(ifp);
1270
1271 return 0;
1272 }
1273
1274 #if 0
1275 "T1",
1276 "T2",
1277 "T0",
1278 "F1",
1279 "F2",
1280 "F0",
1281 "Fi"
1282 #endif
1283
1284 static void show_sample_sizes(GthBSSMSeqProcessor *bsp, bool verbose,
1285 GtFile *logfp)
1286 {
1287 GtUword len0, len1, len2;
1288
1289 len0 = gt_array_size(bsp->i0_true_don_gt);
1290 len1 = gt_array_size(bsp->i1_true_don_gt);
1291 len2 = gt_array_size(bsp->i2_true_don_gt);
1292
1293 if (verbose) {
1294 printf("%s/T1: "GT_WU" seqs\n", GT_DIR, len0);
1295 printf("%s/T2: "GT_WU" seqs\n", GT_DIR, len1);
1296 printf("%s/T0: "GT_WU" seqs\n", GT_DIR, len2);
1297 printf("%s/F1: "GT_WU" seqs (sampled out of "GT_WU")\n", GT_DIR, len0,
1298 gt_array_size(bsp->e0_false_don_gt));
1299 printf("%s/F2: "GT_WU" seqs (sampled out of "GT_WU")\n", GT_DIR, len1,
1300 gt_array_size(bsp->e1_false_don_gt));
1301 printf("%s/F0: "GT_WU" seqs (sampled out of "GT_WU")\n", GT_DIR, len2,
1302 gt_array_size(bsp->e2_false_don_gt));
1303 printf("%s/Fi: "GT_WU" seqs (sampled out of "GT_WU")\n", GT_DIR,
1304 MAX3(len0, len1, len2),
1305 gt_array_size(bsp->i_false_don_gt));
1306 }
1307
1308 gt_file_xprintf(logfp, "%s/T1: "GT_WU" seqs\n", GT_DIR, len0);
1309 gt_file_xprintf(logfp, "%s/T2: "GT_WU" seqs\n", GT_DIR, len1);
1310 gt_file_xprintf(logfp, "%s/T0: "GT_WU" seqs\n", GT_DIR, len2);
1311 gt_file_xprintf(logfp, "%s/F1: "GT_WU" seqs (sampled out of "GT_WU")\n",
1312 GT_DIR, len0, gt_array_size(bsp->e0_false_don_gt));
1313 gt_file_xprintf(logfp, "%s/F2: "GT_WU" seqs (sampled out of "GT_WU")\n",
1314 GT_DIR, len1, gt_array_size(bsp->e1_false_don_gt));
1315 gt_file_xprintf(logfp, "%s/F0: "GT_WU" seqs (sampled out of "GT_WU")\n",
1316 GT_DIR, len2, gt_array_size(bsp->e2_false_don_gt));
1317 gt_file_xprintf(logfp, "%s/Fi: "GT_WU" seqs (sampled out of "GT_WU")\n",
1318 GT_DIR, MAX3(len0, len1, len2),
1319 gt_array_size(bsp->i_false_don_gt));
1320
1321 if (bsp->gcdonor) {
1322 len0 = gt_array_size(bsp->i0_true_don_gc);
1323 len1 = gt_array_size(bsp->i1_true_don_gc);
1324 len2 = gt_array_size(bsp->i2_true_don_gc);
1325
1326 if (verbose) {
1327 printf("%s/T1: "GT_WU" seqs\n", GC_DIR, len0);
1328 printf("%s/T2: "GT_WU" seqs\n", GC_DIR, len1);
1329 printf("%s/T0: "GT_WU" seqs\n", GC_DIR, len2);
1330 printf("%s/F1: "GT_WU" seqs (sampled out of "GT_WU")\n", GC_DIR, len0,
1331 gt_array_size(bsp->e0_false_don_gc));
1332 printf("%s/F2: "GT_WU" seqs (sampled out of "GT_WU")\n", GC_DIR, len1,
1333 gt_array_size(bsp->e1_false_don_gc));
1334 printf("%s/F0: "GT_WU" seqs (sampled out of "GT_WU")\n", GC_DIR, len2,
1335 gt_array_size(bsp->e2_false_don_gc));
1336 printf("%s/Fi: "GT_WU" seqs (sampled out of "GT_WU")\n", GC_DIR,
1337 MAX3(len0, len1, len2),
1338 gt_array_size(bsp->i_false_don_gc));
1339 }
1340
1341 gt_file_xprintf(logfp, "%s/T1: "GT_WU" seqs\n", GC_DIR, len0);
1342 gt_file_xprintf(logfp, "%s/T2: "GT_WU" seqs\n", GC_DIR, len1);
1343 gt_file_xprintf(logfp, "%s/T0: "GT_WU" seqs\n", GC_DIR, len2);
1344 gt_file_xprintf(logfp, "%s/F1: "GT_WU" seqs (sampled out of "GT_WU")\n",
1345 GC_DIR, len0, gt_array_size(bsp->e0_false_don_gc));
1346 gt_file_xprintf(logfp, "%s/F2: "GT_WU" seqs (sampled out of "GT_WU")\n",
1347 GC_DIR, len1, gt_array_size(bsp->e1_false_don_gc));
1348 gt_file_xprintf(logfp, "%s/F0: "GT_WU" seqs (sampled out of "GT_WU")\n",
1349 GC_DIR, len2, gt_array_size(bsp->e2_false_don_gc));
1350 gt_file_xprintf(logfp, "%s/Fi: "GT_WU" seqs (sampled out of "GT_WU")\n",
1351 GC_DIR, MAX3(len0, len1, len2),
1352 gt_array_size(bsp->i_false_don_gc));
1353 }
1354
1355 len0 = gt_array_size(bsp->i0_true_acc);
1356 len1 = gt_array_size(bsp->i1_true_acc);
1357 len2 = gt_array_size(bsp->i2_true_acc);
1358
1359 if (verbose) {
1360 printf("%s/T1: "GT_WU" seqs\n", AG_DIR, len0);
1361 printf("%s/T2: "GT_WU" seqs\n", AG_DIR, len1);
1362 printf("%s/T0: "GT_WU" seqs\n", AG_DIR, len2);
1363 printf("%s/F1: "GT_WU" seqs (sampled out of "GT_WU")\n", AG_DIR, len0,
1364 gt_array_size(bsp->e0_false_acc));
1365 printf("%s/F2: "GT_WU" seqs (sampled out of "GT_WU")\n", AG_DIR, len1,
1366 gt_array_size(bsp->e1_false_acc));
1367 printf("%s/F0: "GT_WU" seqs (sampled out of "GT_WU")\n", AG_DIR, len2,
1368 gt_array_size(bsp->e2_false_acc));
1369 printf("%s/Fi: "GT_WU" seqs (sampled out of "GT_WU")\n", AG_DIR,
1370 MAX3(len0, len1, len2),
1371 gt_array_size(bsp->i_false_acc));
1372 }
1373
1374 gt_file_xprintf(logfp, "%s/T1: "GT_WU" seqs\n", AG_DIR, len0);
1375 gt_file_xprintf(logfp, "%s/T2: "GT_WU" seqs\n", AG_DIR, len1);
1376 gt_file_xprintf(logfp, "%s/T0: "GT_WU" seqs\n", AG_DIR, len2);
1377 gt_file_xprintf(logfp, "%s/F1: "GT_WU" seqs (sampled out of "GT_WU")\n",
1378 AG_DIR, len0, gt_array_size(bsp->e0_false_acc));
1379 gt_file_xprintf(logfp, "%s/F2: "GT_WU" seqs (sampled out of "GT_WU")\n",
1380 AG_DIR, len1, gt_array_size(bsp->e1_false_acc));
1381 gt_file_xprintf(logfp, "%s/F0: "GT_WU" seqs (sampled out of "GT_WU")\n",
1382 AG_DIR, len2, gt_array_size(bsp->e2_false_acc));
1383 gt_file_xprintf(logfp, "%s/Fi: "GT_WU" seqs (sampled out of "GT_WU")\n",
1384 AG_DIR, MAX3(len0, len1, len2),
1385 gt_array_size(bsp->i_false_acc));
1386
1387 }
1388
1389 void gth_bssm_seq_processor_sample(GthBSSMSeqProcessor *bsp, bool verbose,
1390 GtFile *logfp)
1391 {
1392 GtUword len0, len1, len2;
1393 gt_assert(bsp);
1394
1395 show_sample_sizes(bsp, verbose, logfp);
1396
1397 sample_bssm_seqs(bsp->e0_false_don_gt, gt_array_size(bsp->i0_true_don_gt));
1398 sample_bssm_seqs(bsp->e0_false_acc, gt_array_size(bsp->i0_true_acc));
1399 sample_bssm_seqs(bsp->e1_false_don_gt, gt_array_size(bsp->i1_true_don_gt));
1400 sample_bssm_seqs(bsp->e1_false_acc, gt_array_size(bsp->i1_true_acc));
1401 sample_bssm_seqs(bsp->e2_false_don_gt, gt_array_size(bsp->i2_true_don_gt));
1402 sample_bssm_seqs(bsp->e2_false_acc, gt_array_size(bsp->i2_true_acc));
1403
1404 if (bsp->gcdonor) {
1405 sample_bssm_seqs(bsp->e0_false_don_gc, gt_array_size(bsp->i0_true_don_gc));
1406 sample_bssm_seqs(bsp->e1_false_don_gc, gt_array_size(bsp->i1_true_don_gc));
1407 sample_bssm_seqs(bsp->e2_false_don_gc, gt_array_size(bsp->i2_true_don_gc));
1408 }
1409
1410 len0 = gt_array_size(bsp->i0_true_don_gt);
1411 len1 = gt_array_size(bsp->i1_true_don_gt);
1412 len2 = gt_array_size(bsp->i2_true_don_gt);
1413 sample_bssm_seqs(bsp->i_false_don_gt, MAX3(len0, len1, len2));
1414
1415 if (bsp->gcdonor) {
1416 len0 = gt_array_size(bsp->i0_true_don_gc);
1417 len1 = gt_array_size(bsp->i1_true_don_gc);
1418 len2 = gt_array_size(bsp->i2_true_don_gc);
1419 sample_bssm_seqs(bsp->i_false_don_gc, MAX3(len0, len1, len2));
1420 }
1421
1422 len0 = gt_array_size(bsp->i0_true_acc);
1423 len1 = gt_array_size(bsp->i1_true_acc);
1424 len2 = gt_array_size(bsp->i2_true_acc);
1425 sample_bssm_seqs(bsp->i_false_acc, MAX3(len0, len1, len2));
1426 }
1427
1428 void gth_bssm_seq_processor_write(GthBSSMSeqProcessor *bsp)
1429 {
1430 gt_assert(bsp);
1431
1432 /* for the output files we use Volker Brendel's phase notation */
1433 bssm_seqs_write(bsp->i0_true_don_gt, bsp->gt_t1_fp);
1434 bssm_seqs_write(bsp->i1_true_don_gt, bsp->gt_t2_fp);
1435 bssm_seqs_write(bsp->i2_true_don_gt, bsp->gt_t0_fp);
1436 bssm_seqs_write(bsp->e0_false_don_gt, bsp->gt_f1_fp);
1437 bssm_seqs_write(bsp->e1_false_don_gt, bsp->gt_f2_fp);
1438 bssm_seqs_write(bsp->e2_false_don_gt, bsp->gt_f0_fp);
1439 bssm_seqs_write(bsp->i_false_don_gt, bsp->gt_fi_fp);
1440
1441 if (bsp->gcdonor) {
1442 bssm_seqs_write(bsp->i0_true_don_gc, bsp->gc_t1_fp);
1443 bssm_seqs_write(bsp->i1_true_don_gc, bsp->gc_t2_fp);
1444 bssm_seqs_write(bsp->i2_true_don_gc, bsp->gc_t0_fp);
1445 bssm_seqs_write(bsp->e0_false_don_gc, bsp->gc_f1_fp);
1446 bssm_seqs_write(bsp->e1_false_don_gc, bsp->gc_f2_fp);
1447 bssm_seqs_write(bsp->e2_false_don_gc, bsp->gc_f0_fp);
1448 bssm_seqs_write(bsp->i_false_don_gc, bsp->gc_fi_fp);
1449 }
1450
1451 bssm_seqs_write(bsp->i0_true_acc, bsp->ag_t1_fp);
1452 bssm_seqs_write(bsp->i1_true_acc, bsp->ag_t2_fp);
1453 bssm_seqs_write(bsp->i2_true_acc, bsp->ag_t0_fp);
1454 bssm_seqs_write(bsp->e0_false_acc, bsp->ag_f1_fp);
1455 bssm_seqs_write(bsp->e1_false_acc, bsp->ag_f2_fp);
1456 bssm_seqs_write(bsp->e2_false_acc, bsp->ag_f0_fp);
1457 bssm_seqs_write(bsp->i_false_acc, bsp->ag_fi_fp);
1458 }
+0
-60
src/gth/bssm_seq_processor.h less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef BSSM_SEQ_PROCESSOR_H
17 #define BSSM_SEQ_PROCESSOR_H
18
19 #include "core/file.h"
20 #include "extended/region_mapping_api.h"
21
22 typedef struct GthBSSMSeqProcessor GthBSSMSeqProcessor;
23
24 GthBSSMSeqProcessor* gth_bssm_seq_processor_new(const char *outdir,
25 GtFileMode file_mode,
26 bool force, bool gcdonor,
27 GtError *err);
28 void gth_bssm_seq_processor_delete(GthBSSMSeqProcessor*);
29 void gth_bssm_seq_processor_proc_exon(GthBSSMSeqProcessor*,
30 unsigned int phase,
31 GtStr *seqid,
32 const GtRange *range,
33 bool reverse,
34 const GtStr *seq);
35 void gth_bssm_seq_processor_proc_intron(GthBSSMSeqProcessor*,
36 unsigned int phase,
37 GtStr *seqid,
38 const GtRange *range,
39 bool reverse,
40 const GtStr *seq);
41 void gth_bssm_seq_processor_squash(GthBSSMSeqProcessor*);
42 int gth_bssm_seq_processor_find_true_sites(
43 GthBSSMSeqProcessor*,
44 GtRegionMapping
45 *region_mapping,
46 GtError *err);
47 int gth_bssm_seq_processor_find_false_sites(
48 GthBSSMSeqProcessor*,
49 GtRegionMapping
50 *region_mapping,
51 GtError *err);
52 int gth_bssm_seq_processor_write_intermediate(
53 GthBSSMSeqProcessor*,
54 GtError *err);
55 void gth_bssm_seq_processor_sample(GthBSSMSeqProcessor*,
56 bool verbose, GtFile *logfp);
57 void gth_bssm_seq_processor_write(GthBSSMSeqProcessor*);
58
59 #endif
+0
-87
src/gth/bssm_train_stream.c less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "extended/genome_node.h"
17 #include "extended/node_stream_api.h"
18 #include "gth/bssm_train_stream.h"
19 #include "gth/bssm_train_visitor.h"
20
21 struct GthBSSMTrainStream {
22 const GtNodeStream parent_instance;
23 GtNodeStream *in_stream;
24 GtNodeVisitor *bssm_train_visitor;
25 };
26
27 #define bssm_train_stream_cast(GS)\
28 gt_node_stream_cast(gth_bssm_train_stream_class(), GS)
29
30 static int bssm_train_stream_next(GtNodeStream *ns, GtGenomeNode **gn,
31 GtError *err)
32 {
33 GthBSSMTrainStream *bssm_train_stream;
34 int had_err;
35 gt_error_check(err);
36 bssm_train_stream = bssm_train_stream_cast(ns);
37 had_err = gt_node_stream_next(bssm_train_stream->in_stream, gn, err);
38 if (!had_err && *gn) {
39 had_err = gt_genome_node_accept(*gn, bssm_train_stream->bssm_train_visitor,
40 err);
41 }
42 if (had_err) {
43 /* we own the node -> delete it */
44 gt_genome_node_delete(*gn);
45 *gn = NULL;
46 }
47 return had_err;
48 }
49
50 static void bssm_train_stream_free(GtNodeStream *ns)
51 {
52 GthBSSMTrainStream *bssm_train_stream = bssm_train_stream_cast(ns);
53 gt_node_visitor_delete(bssm_train_stream->bssm_train_visitor);
54 gt_node_stream_delete(bssm_train_stream->in_stream);
55 }
56
57 const GtNodeStreamClass* gth_bssm_train_stream_class(void)
58 {
59 static const GtNodeStreamClass *nsc = NULL;
60 if (!nsc) {
61 nsc = gt_node_stream_class_new(sizeof (GthBSSMTrainStream),
62 bssm_train_stream_free,
63 bssm_train_stream_next);
64 }
65 return nsc;
66 }
67
68 GtNodeStream* gth_bssm_train_stream_new(GtNodeStream *in_stream,
69 GtRegionMapping *region_mapping,
70 GthBSSMSeqProcessor *bsp,
71 const char *filter_type,
72 const char *extract_type,
73 unsigned int good_exon_count,
74 double cutoff)
75 {
76 GtNodeStream *ns;
77 GthBSSMTrainStream *bts;
78 gt_assert(in_stream && region_mapping && filter_type && extract_type);
79 ns = gt_node_stream_create(gth_bssm_train_stream_class(), true);
80 bts = bssm_train_stream_cast(ns);
81 bts->in_stream = gt_node_stream_ref(in_stream);
82 bts->bssm_train_visitor =
83 gth_bssm_train_visitor_new(region_mapping, bsp, filter_type, extract_type,
84 good_exon_count, cutoff);
85 return ns;
86 }
+0
-39
src/gth/bssm_train_stream.h less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef BSSM_TRAIN_STREAM_H
17 #define BSSM_TRAIN_STREAM_H
18
19 #include "extended/node_stream_api.h"
20 #include "extended/region_mapping_api.h"
21 #include "gth/bssm_seq_processor.h"
22
23 /* Implements the ``genome_stream'' interface. */
24 typedef struct GthBSSMTrainStream GthBSSMTrainStream;
25
26 const GtNodeStreamClass* gth_bssm_train_stream_class(void);
27
28 /* Create a GthBSSMTrainStream, takes ownership of <region_mapping>. */
29 GtNodeStream* gth_bssm_train_stream_new(GtNodeStream *in_stream,
30 GtRegionMapping
31 *region_mapping,
32 GthBSSMSeqProcessor*,
33 const char *filter_type,
34 const char *extract_type,
35 unsigned int good_exon_count,
36 double cutoff);
37
38 #endif
+0
-269
src/gth/bssm_train_visitor.c less more
0 /*
1 Copyright (c) 2010-2013 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/alphabet.h"
17 #include "core/cstr_api.h"
18 #include "core/ma_api.h"
19 #include "core/warning_api.h"
20 #include "core/xansi_api.h"
21 #include "extended/feature_node_iterator_api.h"
22 #include "extended/feature_type.h"
23 #include "extended/node_visitor_api.h"
24 #include "extended/reverse_api.h"
25 #include "gth/bssm_helper.h"
26 #include "gth/bssm_seq_processor.h"
27 #include "gth/bssm_train_visitor.h"
28
29 struct GthBSSMTrainVisitor {
30 const GtNodeVisitor parent_instance;
31 GtRegionMapping *region_mapping;
32 char *filter_type,
33 *extract_type;
34 GthBSSMSeqProcessor *bsp;
35 unsigned int good_exon_count;
36 double cutoff;
37 };
38
39 #define bssm_train_visitor_cast(GV)\
40 gt_node_visitor_cast(gth_bssm_train_visitor_class(), GV)
41
42 static void bssm_train_visitor_free(GtNodeVisitor *nv)
43 {
44 GthBSSMTrainVisitor *bssm_train_visitor = bssm_train_visitor_cast(nv);
45 gth_bssm_seq_processor_delete(bssm_train_visitor->bsp);
46 gt_free(bssm_train_visitor->extract_type);
47 gt_free(bssm_train_visitor->filter_type);
48 gt_region_mapping_delete(bssm_train_visitor->region_mapping);
49 }
50
51 static int get_seq(GtStr *seq, bool *process, const GtRange *range,
52 GtStr *seqid, bool reverse, GtRegionMapping *region_mapping,
53 GtError *err)
54 {
55 GtUword sequence_length;
56 char *sequence = NULL;
57 int had_err;
58 gt_error_check(err);
59 gt_assert(seq && process && range && seqid && region_mapping);
60 had_err = gt_region_mapping_get_sequence_length(region_mapping,
61 &sequence_length, seqid, err);
62 if (!had_err) {
63 had_err = gt_region_mapping_get_sequence(region_mapping, &sequence, seqid,
64 range->start, range->end, err);
65 }
66 if (!had_err) {
67 gt_assert(range->start && range->end); /* 1-based coordinates */
68 gt_assert(range->end <= sequence_length);
69 gt_str_reset(seq);
70 gt_str_append_cstr_nt(seq, sequence, gt_range_length(range));
71 if (!gth_seq_contains_wildcard(seq)) {
72 /* no ambiguous bases found -> process */
73 if (reverse) {
74 had_err = gt_reverse_complement(gt_str_get(seq), gt_str_length(seq),
75 err);
76 }
77 *process = true;
78 }
79 else
80 *process = false;
81 }
82 gt_free(sequence);
83 return had_err;
84 }
85
86 static int process_ranges(GtArray *ranges, GtStr *seqid, bool reverse,
87 GthBSSMTrainVisitor *visitor, GtError *err)
88 {
89 GtUword i, phase = 0;
90 GtRange range;
91 GtStr *seq;
92 bool process;
93 int had_err = 0;
94 gt_error_check(err);
95 gt_assert(ranges && seqid && visitor);
96 seq = gt_str_new();
97 if (reverse)
98 gt_array_reverse(ranges);
99 for (i = 0; !had_err && i < gt_array_size(ranges); i++) {
100 if (i) {
101 /* get intron */
102 if (reverse) {
103 range.start = ((GtRange*) gt_array_get(ranges, i))->end + 1;
104 range.end = ((GtRange*) gt_array_get(ranges, i-1))->start - 1;
105 }
106 else{
107 range.start = ((GtRange*) gt_array_get(ranges, i-1))->end + 1;
108 range.end = ((GtRange*) gt_array_get(ranges, i))->start - 1;
109 }
110 gt_assert(range.start <= range.end);
111 if (gt_range_length(&range) >= 2) {
112 had_err = get_seq(seq, &process, &range, seqid, reverse,
113 visitor->region_mapping, err);
114 if (!had_err && process) {
115 /* no ambiguous bases found -> process intron */
116 gth_bssm_seq_processor_proc_intron(visitor->bsp, phase, seqid, &range,
117 reverse, seq);
118 }
119 }
120 else {
121 gt_warning("ignoring intron of length < 2 for sequence ID '%s'",
122 gt_str_get(seqid));
123 }
124 }
125 /* get exon */
126 if (!had_err) {
127 range = *(GtRange*) gt_array_get(ranges, i);
128 had_err = get_seq(seq, &process, &range, seqid, reverse,
129 visitor->region_mapping, err);
130 }
131 if (!had_err && process) {
132 /* no ambiguous bases found -> process exon */
133 gth_bssm_seq_processor_proc_exon(visitor->bsp, phase, seqid, &range,
134 reverse, seq);
135 }
136 /* update phase */
137 if (!had_err)
138 phase = (phase + gt_range_length(&range)) % 3;
139 }
140 gt_str_delete(seq);
141 return had_err;
142 }
143
144 static int traverse_direct(GtFeatureNode *fn, GthBSSMTrainVisitor *visitor,
145 GtError *err)
146 {
147 GtFeatureNode *node, *first_node = NULL;
148 GtFeatureNodeIterator *fni;
149 bool type_found = false;
150 GtStrand found_strand = GT_NUM_OF_STRAND_TYPES;
151 unsigned int count = 0;
152 GtArray *ranges;
153 GtRange range;
154 int had_err = 0;
155 gt_error_check(err);
156 gt_assert(fn && visitor);
157 ranges = gt_array_new(sizeof (GtRange));
158 fni = gt_feature_node_iterator_new_direct(fn);
159 while ((node = gt_feature_node_iterator_next(fni))) {
160 if (gt_feature_node_has_type(node, visitor->filter_type)) {
161 if (!gt_feature_node_score_is_defined(node) ||
162 gt_feature_node_get_score(node) >= visitor->cutoff) {
163 count++;
164 }
165 }
166 if (gt_feature_node_has_type(node, visitor->extract_type)) {
167 if (!type_found) {
168 type_found = true;
169 found_strand = gt_feature_node_get_strand(node);
170 if (!(found_strand == GT_STRAND_FORWARD ||
171 found_strand == GT_STRAND_REVERSE)) {
172 gt_error_set(err, "strand (%c) of feature on line %u in file \"%s\" "
173 "is neither forward (%c) nor reverse (%c)",
174 GT_STRAND_CHARS[found_strand],
175 gt_genome_node_get_line_number((GtGenomeNode*) node),
176 gt_genome_node_get_filename((GtGenomeNode*) node),
177 GT_STRAND_CHARS[GT_STRAND_FORWARD],
178 GT_STRAND_CHARS[GT_STRAND_REVERSE]);
179 had_err = -1;
180 break;
181 }
182 first_node = node;
183 }
184 else if (gt_feature_node_get_strand(node) != found_strand) {
185 gt_error_set(err, "strand (%c) of feature on line %u in file \"%s\" is "
186 "different from strand (%c) of feature on line %u in file "
187 "\"%s\"",
188 GT_STRAND_CHARS[gt_feature_node_get_strand(node)],
189 gt_genome_node_get_line_number((GtGenomeNode*) node),
190 gt_genome_node_get_filename((GtGenomeNode*) node),
191 GT_STRAND_CHARS[found_strand],
192 gt_genome_node_get_line_number((GtGenomeNode*) first_node),
193 gt_genome_node_get_filename((GtGenomeNode*) first_node));
194 had_err = -1;
195 break;
196 }
197 /* everything is fine with feature of desired type -> store range */
198 range = gt_genome_node_get_range((GtGenomeNode*) node);
199 gt_array_add(ranges, range);
200 }
201 }
202 gt_feature_node_iterator_delete(fni);
203 if (!had_err && gt_array_size(ranges) && count >= visitor->good_exon_count) {
204 gt_assert(type_found && first_node);
205 gt_assert(found_strand == GT_STRAND_FORWARD ||
206 found_strand == GT_STRAND_REVERSE);
207 had_err = process_ranges(ranges, gt_genome_node_get_seqid((GtGenomeNode*)
208 first_node),
209 found_strand == GT_STRAND_REVERSE, visitor, err);
210 }
211 gt_array_delete(ranges);
212 return had_err;
213 }
214
215 static int bssm_train_visitor_feature_node(GtNodeVisitor *nv, GtFeatureNode *fn,
216 GtError *err)
217 {
218 GthBSSMTrainVisitor *v = bssm_train_visitor_cast(nv);
219 GtFeatureNodeIterator *fni;
220 GtFeatureNode *node;
221 int had_err = 0;
222 gt_error_check(err);
223
224 if (!had_err) {
225 fni = gt_feature_node_iterator_new(fn);
226 while (!had_err && (node = gt_feature_node_iterator_next(fni)))
227 had_err = traverse_direct(node, v, err);
228 gt_feature_node_iterator_delete(fni);
229 }
230
231 return had_err;
232 }
233
234 const GtNodeVisitorClass* gth_bssm_train_visitor_class()
235 {
236 static const GtNodeVisitorClass *nvc = NULL;
237 if (!nvc) {
238 nvc = gt_node_visitor_class_new(sizeof (GthBSSMTrainVisitor),
239 bssm_train_visitor_free,
240 NULL,
241 bssm_train_visitor_feature_node,
242 NULL,
243 NULL,
244 NULL);
245 }
246 return nvc;
247 }
248
249 GtNodeVisitor* gth_bssm_train_visitor_new(GtRegionMapping *region_mapping,
250 GthBSSMSeqProcessor *bsp,
251 const char *filter_type,
252 const char *extract_type,
253 unsigned int good_exon_count,
254 double cutoff)
255 {
256 GtNodeVisitor *nv;
257 GthBSSMTrainVisitor *btv;
258 gt_assert(region_mapping);
259 nv = gt_node_visitor_create(gth_bssm_train_visitor_class());
260 btv = bssm_train_visitor_cast(nv);
261 btv->region_mapping = region_mapping;
262 btv->filter_type = gt_cstr_dup(filter_type);
263 btv->extract_type = gt_cstr_dup(extract_type);
264 btv->bsp = bsp;
265 btv->good_exon_count = good_exon_count;
266 btv->cutoff = cutoff;
267 return nv;
268 }
+0
-37
src/gth/bssm_train_visitor.h less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef BSSM_TRAIN_VISITOR_H
17 #define BSSM_TRAIN_VISITOR_H
18
19 /* Implements the ``genome visitor'' interface. */
20 typedef struct GthBSSMTrainVisitor GthBSSMTrainVisitor;
21
22 #include "extended/node_visitor.h"
23 #include "extended/region_mapping_api.h"
24 #include "gth/bssm_seq_processor.h"
25
26 const GtNodeVisitorClass* gth_bssm_train_visitor_class(void);
27 GtNodeVisitor* gth_bssm_train_visitor_new(GtRegionMapping
28 *region_mapping,
29 GthBSSMSeqProcessor*,
30 const char *filter_type,
31 const char *extract_type,
32 unsigned int
33 good_exon_count,
34 double cutoff);
35
36 #endif
+0
-71
src/gth/call_info.c less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/cstr_api.h"
18 #include "gth/default.h"
19 #include "gth/call_info.h"
20 #include "gth/gthspeciestab.h"
21
22 GthCallInfo* gth_call_info_new(const char *progname)
23 {
24 GthCallInfo *call_info = gt_calloc(1, sizeof *call_info);
25
26 call_info->out = gthoutput_new();
27
28 call_info->progname = gt_cstr_dup(progname);
29 call_info->scorematrixfile = gt_str_new();
30 call_info->dp_options_core = gth_dp_options_core_new();
31 call_info->dp_options_est = gth_dp_options_est_new();
32 call_info->dp_options_postpro = gth_dp_options_postpro_new();
33 call_info->translationtable = GTH_DEFAULT_TRANSLATIONTABLE;
34 call_info->out->skipalignmentout = GTH_DEFAULT_SKIPALIGNMENTOUT;
35 call_info->speciesnum = NUMOFSPECIES;
36
37 call_info->out->comments = GTH_DEFAULT_COMMENTS;
38 call_info->out->verboseseqs = GTH_DEFAULT_VERBOSESEQS;
39 call_info->out->xmlout = GTH_DEFAULT_XMLOUT;
40
41 /* init the spliced alignment filter */
42 call_info->sa_filter = gth_sa_filter_new();
43
44 /* init the splice site model */
45 call_info->splice_site_model = gth_splice_site_model_new();
46
47 return call_info;
48 }
49
50 void gth_call_info_delete(GthCallInfo *call_info)
51 {
52 if (!call_info) return;
53
54 gt_free(call_info->progname);
55 gt_str_delete(call_info->scorematrixfile);
56 gth_dp_options_core_delete(call_info->dp_options_core);
57 gth_dp_options_est_delete(call_info->dp_options_est);
58 gth_dp_options_postpro_delete(call_info->dp_options_postpro);
59
60 /* free the spliced alignment filter */
61 gth_sa_filter_delete(call_info->sa_filter);
62
63 /* free the splice site model */
64 gth_splice_site_model_delete(call_info->splice_site_model);
65
66 /* free the output data structure */
67 gthoutput_delete(call_info->out);
68
69 gt_free(call_info);
70 }
+0
-69
src/gth/call_info.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef CALL_INFO_H
18 #define CALL_INFO_H
19
20 #include "core/array.h"
21 #include "gth/gthoutput.h"
22 #include "gth/dp_options_core.h"
23 #include "gth/dp_options_est.h"
24 #include "gth/dp_options_postpro.h"
25 #include "gth/gthalphatype.h"
26 #include "gth/gthsimfilterparam.h"
27 #include "gth/sa_filter.h"
28 #include "gth/splice_site_model.h"
29
30 /* contains the all the parameters, which are passed to the program */
31 typedef struct {
32 unsigned int translationtable, /* translation table used at various places
33 */
34 speciesnum, /* the species number determining the model
35 */
36 firstalshown, /* number of cDNA/EST alignments shown
37 (GS2=maxnest) */
38 gcmaxgapwidth, /* maximum gap width for global chains */
39 gcmincoverage; /* minimum coverage of global chains
40 regarding to the reference sequence */
41 char *progname; /* name of this binary (e.g., ``gth'') */
42 GtStr *scorematrixfile; /* file name of amino acid substitution
43 matrix */
44 Gthsimfilterparam simfilterparam; /* the parameter for the similarity filter
45 */
46 GthDPOptionsCore *dp_options_core; /* the core DP options */
47 GthDPOptionsEST *dp_options_est; /* the cDNA/EST DP options */
48 GthDPOptionsPostpro *dp_options_postpro ;/* DP post processing options for
49 processing ``raw'' spliced
50 alignments */
51 double fragweightfactor, /* fragment weight factor */
52 minaveragessp; /* minimum average splice site probability
53 */
54 bool intermediate, /* stop after SA computation */
55 proteinexonpenal, /* add short exon penalty in protein DP */
56 disableclustersas, /* disable the clustering of SAs in
57 consensus phase */
58 cdnaforward; /* align only forward strand of cDNAs */
59 GthSAFilter *sa_filter; /* the spliced alignment filter */
60 GthDuplicateCheck duplicate_check; /* the modus use for duplicate checks */
61 GthSpliceSiteModel *splice_site_model; /* the splice site model */
62 GthOutput *out; /* bundles all output related variables */
63 } GthCallInfo;
64
65 GthCallInfo* gth_call_info_new(const char *progname);
66 void gth_call_info_delete(GthCallInfo*);
67
68 #endif
+0
-108
src/gth/chain_collection.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma_api.h"
18 #include "gth/chain_collection.h"
19
20 struct GthChainCollection {
21 GtArray *chains;
22 };
23
24 GthChainCollection* gth_chain_collection_new(void)
25 {
26 GthChainCollection *chain_collection = gt_malloc(sizeof *chain_collection);
27 chain_collection->chains = gt_array_new(sizeof (GthChain*));
28 return chain_collection;
29 }
30
31 void gth_chain_collection_delete(GthChainCollection *chain_collection)
32 {
33 GtUword i;
34 if (!chain_collection) return;
35 for (i = 0; i < gt_array_size(chain_collection->chains); i++)
36 gth_chain_delete(*(GthChain**) gt_array_get(chain_collection->chains, i));
37 gt_array_delete(chain_collection->chains);
38 gt_free(chain_collection);
39 }
40
41 void gth_chain_collection_add(GthChainCollection *chain_collection,
42 GthChain *chain)
43 {
44 gt_assert(chain_collection && chain);
45 gt_array_add(chain_collection->chains, chain);
46 }
47
48 static int compare_chains(const void *dataA, const void *dataB)
49 {
50 GthChain *chainA = *(GthChain**) dataA;
51 GthChain *chainB = *(GthChain**) dataB;
52
53 gt_assert(chainA->ref_file_num == chainB->ref_file_num);
54
55 /* sort after genomic file number */
56 if (chainA->gen_file_num < chainB->gen_file_num)
57 return -1;
58 if (chainA->gen_file_num > chainB->gen_file_num)
59 return 1;
60
61 /* genomic file number is the same,
62 sort after genomic sequence number */
63 if (chainA->gen_seq_num < chainB->gen_seq_num)
64 return -1;
65 if (chainA->gen_seq_num > chainB->gen_seq_num)
66 return 1;
67
68 /* genomic sequence number is also the same,
69 sort after reference sequence number */
70 if (chainA->ref_seq_num < chainB->ref_seq_num)
71 return -1;
72 if (chainA->ref_seq_num > chainB->ref_seq_num)
73 return 1;
74
75 /* reference sequence number is also the same,
76 sort after reference sequence coverage */
77 if (chainA->refseqcoverage < chainB->refseqcoverage)
78 return -1;
79 if (chainA->refseqcoverage > chainB->refseqcoverage)
80 return 1;
81
82 return 0;
83 }
84
85 void gth_chain_collection_sort(GthChainCollection *chain_collection)
86 {
87 gt_assert(chain_collection);
88 if (gt_array_size(chain_collection->chains)) {
89 qsort(gt_array_get_space(chain_collection->chains),
90 gt_array_size(chain_collection->chains), sizeof (GthChain*),
91 compare_chains);
92 }
93 }
94
95 GtUword gth_chain_collection_size(const GthChainCollection
96 *chain_collection)
97 {
98 gt_assert(chain_collection);
99 return gt_array_size(chain_collection->chains);
100 }
101
102 GthChain* gth_chain_collection_get(const GthChainCollection *chain_collection,
103 GtUword idx)
104 {
105 gt_assert(chain_collection);
106 return *(GthChain**) gt_array_get(chain_collection->chains, idx);
107 }
+0
-35
src/gth/chain_collection.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef CHAIN_COLLECTION_H
18 #define CHAIN_COLLECTION_H
19
20 typedef struct GthChainCollection GthChainCollection;
21
22 #include "gth/gthchain.h"
23
24 GthChainCollection* gth_chain_collection_new(void);
25 void gth_chain_collection_delete(GthChainCollection*);
26 /* Takes ownership of <chain>. */
27 void gth_chain_collection_add(GthChainCollection*,
28 GthChain *chain);
29 void gth_chain_collection_sort(GthChainCollection*);
30 GtUword gth_chain_collection_size(const GthChainCollection*);
31 GthChain* gth_chain_collection_get(const GthChainCollection*,
32 GtUword);
33
34 #endif
+0
-768
src/gth/chaining.c less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/unused_api.h"
18 #include "gth/chaining.h"
19
20 #define POLYATAILFILTERALPHASIZE 4
21 #define SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE 160
22
23 typedef struct {
24 GtUword seqnum1, /* number of reference sequence */
25 seqnum2, /* number of genomic sequence */
26 startpos,
27 length;
28 } Bucket;
29
30 static int compare_matches(const void *dataA, const void *dataB)
31 {
32 GthMatch *matchA = (GthMatch*) dataA;
33 GthMatch *matchB = (GthMatch*) dataB;
34
35 /* sort after genomic sequence number */
36 if (matchA->Storeseqnumgenomic < matchB->Storeseqnumgenomic)
37 return -1;
38 if (matchA->Storeseqnumgenomic > matchB->Storeseqnumgenomic)
39 return 1;
40
41 /* matches have the same genomic sequence number,
42 sort after reference sequence number */
43 if (matchA->Storeseqnumreference < matchB->Storeseqnumreference)
44 return -1;
45 if (matchA->Storeseqnumreference > matchB->Storeseqnumreference)
46 return 1;
47
48 /* matches have the same reference sequence number
49 sort after position reference */
50 if (matchA->Storepositionreference < matchB->Storepositionreference)
51 return -1;
52 if (matchA->Storepositionreference > matchB->Storepositionreference)
53 return 1;
54
55 /* sort after length reference */
56 if (matchA->Storelengthreference < matchB->Storelengthreference)
57 return -1;
58 if (matchA->Storelengthreference > matchB->Storelengthreference)
59 return 1;
60
61 /* sort after position genomic */
62 if (matchA->Storepositiongenomic < matchB->Storepositiongenomic)
63 return -1;
64 if (matchA->Storepositiongenomic > matchB->Storepositiongenomic)
65 return 1;
66
67 /* sort after length genomic */
68 if (matchA->Storelengthgenomic < matchB->Storelengthgenomic)
69 return -1;
70 if (matchA->Storelengthgenomic > matchB->Storelengthgenomic)
71 return 1;
72
73 /* matches are equal */
74 return 0;
75 }
76
77 #ifndef NDEBUG
78 static bool sum_of_bucket_lengths_equals_num_of_matches(GtArray *buckets,
79 GtUword
80 numofmatches)
81 {
82 GtUword i, sumofbucketlengths = 0;
83 gt_assert(buckets);
84 for (i = 0; i < gt_array_size(buckets); i++)
85 sumofbucketlengths += ((Bucket*) gt_array_get(buckets, i))->length;
86 if (sumofbucketlengths == numofmatches)
87 return true;
88 return false;
89 }
90 #endif
91
92 static void sort_matches_and_calc_buckets(GtArray *matches, GtArray *buckets,
93 GtUword *maxbucketlength)
94 {
95 GtUword i, currentstart = 0, currentend = 0;
96 GthMatch *matchptr;
97 Bucket bucket, *bucketptr;
98
99 gt_assert(gt_array_size(matches));
100
101 /* sort matches */
102 qsort(gt_array_get_space(matches), gt_array_size(matches), sizeof (GthMatch),
103 compare_matches);
104
105 /* init first bucket */
106 matchptr = gt_array_get_first(matches);
107 bucket.seqnum1 = matchptr->Storeseqnumreference;
108 bucket.seqnum2 = matchptr->Storeseqnumgenomic;
109 bucket.startpos = 0;
110
111 /* calc buckets */
112 for (i = 1; i < gt_array_size(matches); i++) {
113 matchptr = gt_array_get(matches, i);
114 if (matchptr->Storeseqnumreference != bucket.seqnum1 ||
115 matchptr->Storeseqnumgenomic != bucket.seqnum2) {
116 /* save the current bucket */
117 currentend = i - 1;
118 bucket.length = currentend - currentstart + 1;
119 gt_array_add(buckets, bucket);
120
121 /* create new bucket */
122 currentstart = i;
123 bucket.seqnum1 = matchptr->Storeseqnumreference;
124 bucket.seqnum2 = matchptr->Storeseqnumgenomic;
125 bucket.startpos = i;
126 }
127 }
128
129 /* save last bucket */
130 currentend = i - 1;
131 bucket.length = currentend - currentstart + 1;
132 gt_array_add(buckets, bucket);
133
134 /* compute maximum bucket length */
135 *maxbucketlength = 0;
136 for (i = 0; i < gt_array_size(buckets); i++) {
137 bucketptr = gt_array_get(buckets, i);
138 if (bucketptr->length > *maxbucketlength)
139 *maxbucketlength = bucketptr->length;
140 }
141
142 gt_assert(sum_of_bucket_lengths_equals_num_of_matches(buckets,
143 gt_array_size(matches)));
144 }
145
146 static void outputbuckets(GtArray *buckets, GthMatch *sortedmatches,
147 GtFile *outfp)
148 {
149 GtUword i, startpos;
150 Bucket *bucket;
151 for (i = 0; i < gt_array_size(buckets); i++) {
152 bucket = gt_array_get(buckets, i);
153 gt_file_xprintf(outfp, "%c bucket "GT_WU": seqnum1="GT_WU", startpos="GT_WU
154 ", length="GT_WU"\n", COMMENTCHAR, i, bucket->seqnum1,
155 bucket->startpos, bucket->length);
156 gt_file_xprintf(outfp, "%c first match in bucket "GT_WU":\n", COMMENTCHAR,
157 i);
158 startpos = bucket->startpos;
159 gt_file_xprintf(outfp, "%c seqnum1="GT_WU", seqnum2="GT_WU", p1="GT_WU
160 ", l1="GT_WU", p2="GT_WU", l2="GT_WU"\n", COMMENTCHAR,
161 sortedmatches[startpos].Storeseqnumreference,
162 sortedmatches[startpos].Storeseqnumgenomic,
163 sortedmatches[startpos].Storepositionreference,
164 sortedmatches[startpos].Storelengthreference,
165 sortedmatches[startpos].Storepositiongenomic,
166 sortedmatches[startpos].Storelengthgenomic);
167 }
168 }
169
170 /* The following function transforms the reference sequence positions to
171 the opposite strand. This is necessary for proper chaining (only if
172 palindromic matches have been calculated). */
173 static void transform_refseq_positions(GtArray *matches,
174 GthSeqCon *ref_seq_con)
175 {
176 GtUword i, referencelength, referenceoffset;
177 GtRange original, transformed;
178 GthMatch *match;
179 GtRange range;
180
181 for (i = 0; i < gt_array_size(matches); i++) {
182 match = gt_array_get(matches, i);
183 /* get necessary data for transformation */
184 range = gth_seq_con_get_range(ref_seq_con, match->Storeseqnumreference);
185 referencelength = range.end - range.start + 1;
186 referenceoffset = range.start;
187
188 /* store original match range */
189 original.start = match->Storepositionreference;
190 original.end = original.start + match->Storelengthreference - 1;
191 gt_assert(original.end > original.start);
192
193 /* transform match range */
194 transformed.start = referencelength - 1
195 - (original.end - referenceoffset)
196 + referenceoffset;
197 transformed.end = referencelength - 1
198 - (original.start - referenceoffset)
199 + referenceoffset;
200 gt_assert(transformed.end > transformed.start);
201
202 /* store transformed match range */
203 match->Storepositionreference = transformed.start;
204 match->Storelengthreference = transformed.end - transformed.start + 1;
205 }
206 }
207
208 /*
209 The following function is a modified version of the function
210 vmatchinitfragmentinfo from the file chainvm.c.
211 A difference is that GthMatches are processed instead of StoreMatches
212 and GTHDISTANCE2STORE is used instead of DISTANCE2SCORE.
213
214 More importantly, consequtive matches which are the same are stored only once.
215 */
216
217 static void gthinitfragments(GtFragment *fragments,
218 GtUword *num_of_fragments,
219 GthMatch *storematchtab,
220 GtUword numofmatches,
221 GtUword rare,
222 double fragweightfactor)
223 {
224 GthMatch *mptr;
225 GtFragment *fragmentptr;
226 GtWord tmp, largestdim1 = 0, largestdim2 = 0;
227 GtDiscDistri *startpointdistri = NULL;
228
229 /* init number of fragments */
230 *num_of_fragments = 0;
231 if (rare)
232 startpointdistri = gt_disc_distri_new();
233
234 for (mptr = storematchtab; mptr < storematchtab + numofmatches; mptr++) {
235 /* first dimension */
236 tmp = mptr->Storepositionreference + mptr->Storelengthreference - 1;
237 if (largestdim1 < tmp)
238 largestdim1 = tmp;
239
240 /* second dimension */
241 tmp = mptr->Storepositiongenomic + mptr->Storelengthgenomic - 1;
242 if (largestdim2 < tmp)
243 largestdim2 = tmp;
244 }
245
246 for (mptr = storematchtab, fragmentptr = fragments;
247 mptr < storematchtab + numofmatches;
248 mptr++) {
249 if (rare)
250 gt_disc_distri_add(startpointdistri, mptr->Storepositionreference);
251 if ((!rare ||
252 gt_disc_distri_get(startpointdistri, mptr->Storepositionreference)
253 <= rare) &&
254 (mptr == storematchtab || /* is the first match */
255 !gth_matches_are_equal(mptr, mptr-1))) { /* or is different from last
256 one */
257 fragmentptr->weight = (GtWord) (fragweightfactor *
258 (double) labs(mptr->Storescore));
259 fragmentptr->startpos1 = mptr->Storepositionreference;
260 fragmentptr->endpos1 = mptr->Storepositionreference
261 + mptr->Storelengthreference - 1;
262 fragmentptr->startpos2 = mptr->Storepositiongenomic;
263 fragmentptr->endpos2 = mptr->Storepositiongenomic
264 + mptr->Storelengthgenomic - 1;
265 fragmentptr++;
266 (*num_of_fragments)++;
267 }
268 }
269
270 gt_disc_distri_delete(startpointdistri);
271
272 gt_assert(*num_of_fragments <= numofmatches);
273 }
274
275 static void show_chain_calc_status(GthShowVerbose showverbose,
276 GtUword chainnum,
277 GtUword numofchains,
278 GtUword numofmatches,
279 GtUword currentgen_file_num,
280 GtUword numofgenomicfiles,
281 GtUword currentreffilenum,
282 GtUword numofreffiles,
283 bool directmatches, bool verboseseqs,
284 GtUword genseqnum,
285 GtUword refseqnum)
286 {
287 char buf[SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE];
288 GT_UNUSED int rval;
289
290 gt_assert(numofchains > 0);
291
292 if (numofgenomicfiles == 1 && numofreffiles == 1) {
293 rval = snprintf(buf, SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE,
294 "d=%c, compute chains for bucket "GT_WU"/"GT_WU
295 " (matches in bucket="GT_WU")", SHOWSTRAND(directmatches),
296 chainnum, numofchains, numofmatches);
297 }
298 else {
299 rval = snprintf(buf, SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE,
300 "gf="GT_WU"/"GT_WU", d=%c, rf="GT_WU"/"GT_WU
301 ", compute chains for bucket "GT_WU"/"GT_WU
302 " (matches in bucket="GT_WU")", currentgen_file_num + 1,
303 numofgenomicfiles, SHOWSTRAND(directmatches),
304 currentreffilenum + 1, numofreffiles, chainnum, numofchains,
305 numofmatches);
306 }
307 /* buf[SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE] is large enough */
308 gt_assert(rval < SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE);
309 showverbose(buf);
310
311 if (verboseseqs) {
312 rval = snprintf(buf, SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE,
313 "genseqnum="GT_WU", refseqnum="GT_WU"", genseqnum,
314 refseqnum);
315 /* buf[SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE] is large enough */
316 gt_assert(rval < SHOW_CHAIN_CALCULATION_STATUS_BUF_SIZE);
317 showverbose(buf);
318 }
319 }
320
321 static void chaining_info_init(GthChainingInfo *chaining_info,
322 bool directmatches,
323 bool refseqisdna,
324 GthCallInfo *call_info,
325 GthInput *input,
326 GthStat *stat,
327 GtUword gen_file_num,
328 GtUword ref_file_num)
329 {
330 chaining_info->directmatches = directmatches;
331 chaining_info->refseqisindex = call_info->simfilterparam.inverse ||
332 !refseqisdna;
333 chaining_info->jtdebug = call_info->dp_options_core->jtdebug;
334 chaining_info->call_info = call_info;
335 chaining_info->input = input;
336 chaining_info->stat = stat;
337 chaining_info->gen_file_num = gen_file_num;
338 chaining_info->ref_file_num = ref_file_num;
339 chaining_info->bucketnum = 0;
340 chaining_info->maxbucketnum = ~0;
341 }
342
343 static void showmatches(GthMatch *matches, GtUword numofmatches,
344 GtFile *outfp)
345 {
346 GtUword i;
347 for (i = 0; i < numofmatches; i++) {
348 gt_file_xprintf(outfp, "%c refseqnum="GT_WU", genseqnum="GT_WU", refpos="
349 GT_WU", reflen="GT_WU", genpos="GT_WU", genlen="GT_WU"\n",
350 COMMENTCHAR, matches[i].Storeseqnumreference,
351 matches[i].Storeseqnumgenomic,
352 matches[i].Storepositionreference,
353 matches[i].Storelengthreference,
354 matches[i].Storepositiongenomic,
355 matches[i].Storelengthgenomic);
356 }
357 }
358
359 static void calc_chains_from_matches(GthChainCollection *chain_collection,
360 GtArray *matches,
361 GthChainingInfo *chaining_info,
362 GthSeqCon *gen_seq_con,
363 GthSeqCon *ref_seq_con,
364 GtUword rare,
365 double fragweightfactor,
366 GthJumpTableNew jump_table_new,
367 GthJumpTableNewReverse
368 jump_table_new_reverse,
369 GthJumpTableDelete jump_table_delete)
370 {
371 GtUword i, numofchains = 0, num_of_fragments, maxbucketlength = 0;
372 GtRange range;
373 GtFile *outfp = chaining_info->call_info->out->outfp;
374 GtFragment *fragments;
375 GthSaveChainInfo info;
376 GtArray *buckets;
377 Bucket *bucket;
378
379 /* this is a random sample to check that no equal matches exist
380 either one match to chain or if more than one the first two differ */
381 gt_assert(gt_array_size(matches) == 1 ||
382 (gt_array_size(matches) > 1 &&
383 !gth_matches_are_equal(gt_array_get(matches, 0),
384 gt_array_get(matches, 1))));
385
386 /* init */
387 buckets = gt_array_new(sizeof (Bucket));
388
389 /* output unsorted matches */
390 if (chaining_info->call_info->out->comments) {
391 gt_file_xprintf(outfp, "%c output unsorted matches\n", COMMENTCHAR);
392 showmatches(gt_array_get_space(matches), gt_array_size(matches), outfp);
393 }
394
395 /* transform reference sequence positions to opposite strand if necessary */
396 if (!chaining_info->directmatches) {
397 if (chaining_info->call_info->out->comments) {
398 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
399 gt_file_xprintf(outfp, "%c transform reference sequence positions to "
400 "opposite strand\n", COMMENTCHAR);
401 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
402 }
403
404 transform_refseq_positions(matches, ref_seq_con);
405
406 /* output transformed matches */
407 if (chaining_info->call_info->out->comments) {
408 gt_file_xprintf(outfp, "%c output transformed matches\n", COMMENTCHAR);
409 showmatches(gt_array_get_space(matches), gt_array_size(matches), outfp);
410 }
411 }
412
413 /* sort matches */
414 sort_matches_and_calc_buckets(matches, buckets, &maxbucketlength);
415
416 /* output sorted matches */
417 if (chaining_info->call_info->out->comments) {
418 gt_file_xprintf(outfp, "%c output sorted matches\n", COMMENTCHAR);
419 showmatches(gt_array_get_space(matches), gt_array_size(matches), outfp);
420 }
421
422 /* output buckets */
423 if (chaining_info->call_info->out->comments) {
424 gt_file_xprintf(outfp, "%c output buckets\n", COMMENTCHAR);
425 outputbuckets(buckets, gt_array_get_space(matches), outfp);
426 }
427
428 /* alloc space for fragments */
429 fragments = gt_malloc(sizeof (GtFragment) * maxbucketlength);
430
431 /* save data to process the chains with saveChainasDPrange; constant part */
432 info.chain_collection = chain_collection;
433 info.gcmincoverage = chaining_info->call_info->gcmincoverage;
434 info.stat = chaining_info->stat;
435 info.comments = chaining_info->call_info->out->comments;
436 info.stopafterchaining = chaining_info->call_info->simfilterparam
437 .stopafterchaining;
438 info.paralogs = chaining_info->call_info->simfilterparam.paralogs;
439 info.enrichchains = chaining_info->call_info->simfilterparam
440 .enrichchains;
441 info.jump_table = chaining_info->call_info->simfilterparam.jump_table;
442 info.jump_table_new = jump_table_new;
443 info.jump_table_new_reverse = jump_table_new_reverse;
444 info.jump_table_delete = jump_table_delete;
445 info.jtdebug = chaining_info->jtdebug;
446 info.directmatches = chaining_info->directmatches;
447 info.outfp = outfp;
448 info.gen_file_num = chaining_info->gen_file_num;
449 info.ref_file_num = chaining_info->ref_file_num;
450
451 /* for every bucket a chain and for every chain a DP call (later maybe more
452 than one chain) */
453 for (i = 0; i < gt_array_size(buckets); i++) {
454 bucket = gt_array_get(buckets, i);
455 if (chaining_info->call_info->out->showverbose) {
456 if (chaining_info->refseqisindex &&
457 !chaining_info->call_info->simfilterparam.online) {
458 /* in this case the exact number of chains is known */
459 numofchains = gt_array_size(buckets);
460 }
461 else {
462 /* this expression gives an upper bound on the number of chains
463 (because we do not know the exact number here) */
464 numofchains = chaining_info->bucketnum +
465 gth_seq_con_num_of_seqs(gen_seq_con) *
466 (gth_seq_con_num_of_seqs(ref_seq_con) - bucket->seqnum1);
467
468 if (numofchains > chaining_info->maxbucketnum)
469 numofchains = chaining_info->maxbucketnum;
470 else
471 chaining_info->maxbucketnum = numofchains;
472 }
473 }
474
475 /* compute a set of fragments from every bucket of matches */
476
477 gthinitfragments(fragments, &num_of_fragments,
478 (GthMatch*) gt_array_get_space(matches) + bucket->startpos,
479 bucket->length, rare, fragweightfactor);
480
481 if (chaining_info->call_info->out->showverbose) {
482 show_chain_calc_status (chaining_info->call_info->out->showverbose,
483 ++chaining_info->bucketnum, numofchains,
484 num_of_fragments, chaining_info->gen_file_num,
485 gth_input_num_of_gen_files(chaining_info->input),
486 chaining_info->ref_file_num,
487 gth_input_num_of_ref_files(chaining_info->input),
488 chaining_info->directmatches,
489 chaining_info->call_info->out->verboseseqs,
490 bucket->seqnum2, bucket->seqnum1);
491 }
492
493 info.gen_seq_num = ((GthMatch*) gt_array_get(matches, bucket->startpos))
494 ->Storeseqnumgenomic;
495 info.ref_seq_num = ((GthMatch*) gt_array_get(matches, bucket->startpos))
496 ->Storeseqnumreference;
497
498 /* store genomic offset */
499 range = gth_seq_con_get_range(gen_seq_con, info.gen_seq_num);
500 info.gen_total_length = range.end - range.start + 1;
501 info.gen_offset = range.start;
502
503 /* store length of reference sequence */
504 range = gth_seq_con_get_range(ref_seq_con, info.ref_seq_num);
505 info.ref_total_length = range.end - range.start + 1;
506 info.ref_offset = range.start;
507 info.referencelength = range.end - range.start + 1;
508
509 /* set number of remaining buckets */
510 info.numofremainingbuckets = gt_array_size(buckets) - i;
511
512 if (chaining_info->call_info->simfilterparam.paralogs) {
513 gt_globalchaining_coverage(fragments, num_of_fragments,
514 chaining_info->call_info->gcmaxgapwidth,
515 info.referencelength,
516 ((double)
517 chaining_info->call_info->gcmincoverage) /
518 100.0, gth_save_chain, &info);
519 }
520 else {
521 gt_globalchaining_max(fragments, num_of_fragments,
522 chaining_info->call_info->gcmaxgapwidth,
523 gth_save_chain, &info);
524 }
525 }
526
527 /* free space */
528 gt_array_delete(buckets);
529 gt_free(fragments);
530 }
531
532 static void match_processor_info_init(GthMatchProcessorInfo
533 *match_processor_info,
534 GtArray *matches,
535 GthChainCollection *chain_collection,
536 bool directmatches, bool refseqisdna,
537 bool online, bool inverse, GthStat *stat,
538 GthChainingInfo *chaining_info,
539 GtUword maxnumofmatches,
540 GtUword rare,
541 double fragweightfactor,
542 GthJumpTableNew jump_table_new,
543 GthJumpTableNewReverse
544 jump_table_new_reverse,
545 GthJumpTableDelete jump_table_delete)
546 {
547 match_processor_info->chain_collection = chain_collection;
548 match_processor_info->matches = matches;
549 match_processor_info->directmatches = directmatches;
550 match_processor_info->refseqisdna = refseqisdna;
551 match_processor_info->online = online;
552 match_processor_info->refseqisindex = inverse || !refseqisdna;
553 match_processor_info->stat = stat;
554 match_processor_info->chaining_info = chaining_info;
555 match_processor_info->matchnumcounter = NULL;
556 match_processor_info->maxnumofmatches = maxnumofmatches;
557 match_processor_info->rare = rare;
558 match_processor_info->lastrefseqnum = 0;
559 match_processor_info->fragweightfactor = fragweightfactor;
560 match_processor_info->gen_seq_con = NULL;
561 match_processor_info->ref_seq_con = NULL;
562 match_processor_info->jump_table_new = jump_table_new;
563 match_processor_info->jump_table_new_reverse = jump_table_new_reverse;
564 match_processor_info->jump_table_delete = jump_table_delete;
565 }
566
567 /*
568 The following function expects <info> to point to an array of
569 GthMatch-structures. It stores a match in the next free position of this
570 array.
571 */
572
573 int gth_match_processor(GthMatchProcessorInfo *info, GthSeqCon *gen_seq_con,
574 GthSeqCon *ref_seq_con, GthMatch *match)
575 {
576 if (info->matchnumcounter) {
577 info->matchnumcounter[match->Storeseqnumreference]++;
578
579 if (info->maxnumofmatches > 0 &&
580 info->matchnumcounter[match->Storeseqnumreference] >
581 info->maxnumofmatches) {
582 /* discard matchA */
583 return 0;
584 }
585 }
586
587 if (!(info->refseqisindex && !info->online) &&
588 match->Storeseqnumreference != info->lastrefseqnum &&
589 gt_array_size(info->matches)) {
590 gt_assert(info->chain_collection && info->chaining_info);
591
592 /* chain all current matches */
593 calc_chains_from_matches(info->chain_collection, info->matches,
594 info->chaining_info, gen_seq_con, ref_seq_con,
595 info->rare, info->fragweightfactor,
596 info->jump_table_new, info->jump_table_new_reverse,
597 info->jump_table_delete);
598
599 /* and remove them afterwards */
600 gt_array_reset(info->matches);
601 }
602
603 /*...only if it does not equal the last one */
604 if (gt_array_size(info->matches) &&
605 gth_matches_are_equal(gt_array_get_last(info->matches), match)) {
606 return 0;
607 }
608 gt_array_add_elem(info->matches, match, sizeof *match);
609
610 /* update last reference sequence number */
611 info->lastrefseqnum = match->Storeseqnumreference;
612
613 return 0;
614 }
615
616 void gth_chaining(GthChainCollection *chain_collection,
617 GtUword gen_file_num,
618 GtUword ref_file_num,
619 GthCallInfo *call_info,
620 GthInput *input,
621 GthStat *stat,
622 bool directmatches,
623 const GthPlugins *plugins)
624 {
625 GtUword i, numofsequences = 0;
626 GtArray *matches;
627 GthChainingInfo chaining_info;
628 void *matcher_arguments;
629 GtFile *outfp = call_info->out->outfp;
630 GthMatchProcessorInfo match_processor_info;
631 bool refseqisdna = gth_input_ref_file_is_dna(input, ref_file_num);
632
633 /* make sure matcher is defined */
634 gt_assert(plugins);
635 gt_assert(plugins->matcher_arguments_new);
636 gt_assert(plugins->matcher_arguments_delete);
637 gt_assert(plugins->matcher_runner);
638
639 /* init */
640 matches = gt_array_new(sizeof (GthMatch));
641
642 chaining_info_init(&chaining_info, directmatches, refseqisdna, call_info,
643 input, stat, gen_file_num, ref_file_num);
644
645 matcher_arguments =
646 plugins->matcher_arguments_new(true,
647 input,
648 call_info->simfilterparam.inverse || !refseqisdna
649 ? gth_input_get_genomic_filename(input, gen_file_num)
650 : gth_input_get_reference_filename(input,
651 ref_file_num),
652 call_info->simfilterparam.inverse || !refseqisdna
653 ? gth_input_get_reference_filename(input,
654 ref_file_num)
655 : gth_input_get_genomic_filename(input, gen_file_num),
656 directmatches,
657 refseqisdna,
658 call_info->progname,
659 gt_str_get(gth_input_proteinsmap(input)),
660 call_info->simfilterparam.exact,
661 call_info->simfilterparam.edist,
662 false,
663 0,
664 call_info->simfilterparam.minmatchlength,
665 call_info->simfilterparam.seedlength,
666 call_info->simfilterparam.exdrop,
667 call_info->simfilterparam.prminmatchlen,
668 call_info->simfilterparam.prseedlength,
669 call_info->simfilterparam.prhdist,
670 call_info->translationtable,
671 call_info->simfilterparam.online,
672 call_info->simfilterparam.noautoindex,
673 call_info->simfilterparam.maskpolyAtails,
674 false);
675
676 match_processor_info_init(&match_processor_info, matches, chain_collection,
677 directmatches, refseqisdna,
678 call_info->simfilterparam.online,
679 call_info->simfilterparam.inverse, stat,
680 &chaining_info,
681 call_info->simfilterparam.maxnumofmatches,
682 call_info->simfilterparam.rare,
683 call_info->fragweightfactor,
684 plugins->jump_table_new,
685 plugins->jump_table_new_reverse,
686 plugins->jump_table_delete);
687
688 if (call_info->simfilterparam.maxnumofmatches > 0 ||
689 gth_stat_get_matchnumdistri(stat)) {
690 /* alloc space of match number counter */
691 numofsequences = gth_input_num_of_ref_seqs(input, ref_file_num);
692 match_processor_info.matchnumcounter = gt_malloc(sizeof (GtUword) *
693 numofsequences);
694
695 /* init match number counter to 0 */
696 memset(match_processor_info.matchnumcounter, 0,
697 (size_t) numofsequences * sizeof (GtUword));
698 }
699
700 /* free input, which contains the virtual trees.
701 because vmatch loads the virtual trees into memory, too.
702 this prevents that the virtual trees are loaded twice. */
703 gth_input_delete_current(input);
704
705 /* call matcher */
706 if (call_info->out->showverbose)
707 call_info->out->showverbose("call vmatch to compute matches");
708
709 plugins->matcher_runner(matcher_arguments, call_info->out->showverbose,
710 call_info->out->showverboseVM, &match_processor_info);
711
712 /* free matcher stuff here, because otherwise the reference file is mapped
713 twice below */
714 plugins->matcher_arguments_delete(matcher_arguments);
715
716 /* free sequence collections (if they have been filled by the matcher) */
717 gth_seq_con_delete(match_processor_info.gen_seq_con);
718 gth_seq_con_delete(match_processor_info.ref_seq_con);
719
720 /* save match numbers of match number distribution, if necessary */
721 if (gth_stat_get_matchnumdistri(stat)) {
722 for (i = 0; i < numofsequences; i++) {
723 if (match_processor_info.matchnumcounter[i] > 0) {
724 gth_stat_add_to_matchnumdistri(stat,
725 match_processor_info.matchnumcounter[i]);
726 }
727 }
728 }
729
730 /* free match number counter */
731 gt_free(match_processor_info.matchnumcounter);
732
733 /* return if no match has been found */
734 if (!gt_array_size(matches)) {
735 if (call_info->out->comments)
736 gt_file_xprintf(outfp, "%c no match has been found\n", COMMENTCHAR);
737 gt_array_delete(matches);
738 return;
739 }
740
741 /* load genomic file back into memory */
742 gth_input_load_genomic_file(input, gen_file_num, true);
743
744 /* load reference file back into memory */
745 gth_input_load_reference_file(input, ref_file_num, true);
746
747 /* compute chains from matches */
748 calc_chains_from_matches(chain_collection, matches, &chaining_info,
749 gth_input_current_gen_seq_con(input),
750 gth_input_current_ref_seq_con(input),
751 call_info->simfilterparam.rare,
752 call_info->fragweightfactor,
753 plugins->jump_table_new,
754 plugins->jump_table_new_reverse,
755 plugins->jump_table_delete);
756
757 if (call_info->out->showverbose) {
758 call_info->out->showverbose("sort global chains according to reference "
759 "sequence coverage");
760 }
761
762 /* sort chains */
763 gth_chain_collection_sort(chain_collection);
764
765 /* free */
766 gt_array_delete(matches);
767 }
+0
-79
src/gth/chaining.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef CHAINING_H
18 #define CHAINING_H
19
20 #include "core/unused_api.h"
21 #include "gth/call_info.h"
22 #include "gth/chain_collection.h"
23 #include "gth/gthmatch.h"
24 #include "gth/input.h"
25 #include "gth/matcher.h"
26 #include "gth/plugins.h"
27
28 void gth_chaining(GthChainCollection *chain_collection,
29 GtUword gen_file_num,
30 GtUword ref_file_num,
31 GthCallInfo*,
32 GthInput*,
33 GthStat*,
34 bool directmatches,
35 const GthPlugins *plugins);
36
37 typedef struct {
38 bool directmatches,
39 refseqisindex, /* (inverse || !refseqisdna) */
40 jtdebug;
41 GthCallInfo *call_info;
42 GthInput *input;
43 GthStat *stat;
44 GtUword gen_file_num,
45 ref_file_num,
46 bucketnum,
47 maxbucketnum;
48 } GthChainingInfo;
49
50 typedef struct {
51 GthChainCollection *chain_collection;
52 GtArray *matches;
53 bool directmatches,
54 refseqisdna,
55 online,
56 refseqisindex; /* (inverse || !refseqisdna) */
57 GthStat *stat;
58 GthChainingInfo *chaining_info;
59 GtUword *matchnumcounter,
60 maxnumofmatches,
61 rare,
62 lastrefseqnum;
63 double fragweightfactor;
64
65 GthJumpTableNew jump_table_new;
66 GthJumpTableNewReverse jump_table_new_reverse;
67 GthJumpTableDelete jump_table_delete;
68
69 /* can be filled and used by matcher */
70 GthSeqCon *gen_seq_con,
71 *ref_seq_con;
72 } GthMatchProcessorInfo;
73
74 /* the matcher has to call this */
75 int gth_match_processor(GthMatchProcessorInfo *info, GthSeqCon *gen_seq_con,
76 GthSeqCon *ref_seq_con, GthMatch *match);
77
78 #endif
+0
-735
src/gth/compute_scores.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <math.h>
18 #include "core/codon_api.h"
19 #include "core/safearith.h"
20 #include "core/undef_api.h"
21 #include "core/unused_api.h"
22 #include "gth/default.h"
23 #include "gth/align_protein.h"
24 #include "gth/compute_scores.h"
25 #include "gth/gthsplicesitescr.h"
26
27 static void evalnewexonifpossible(bool proteineop, bool *newexon,
28 bool *newintron, bool *firstexon,
29 bool introncutout, GthSplicedSeq *spliced_seq,
30 Exoninfo *exon, Introninfo *intron,
31 GthSA *sa,
32 Traversealignmentstate *travstate,
33 GtAlphabet *gen_alphabet,
34 GthDPParam *dp_param,
35 GthDPOptionsEST *dp_options_est,
36 const unsigned char *gen_seq_tran,
37 const unsigned char *ref_seq_tran,
38 GtUword gen_dp_start)
39 {
40 GtUword splicedpos;
41
42 if (*newexon) { /* in this case an intron will be saved */
43 exon->leftgenomicexonborder = gen_dp_start + travstate->genomicptr;
44 exon->leftreferenceexonborder = gt_safe_cast2ulong(travstate->referenceptr);
45 *newexon = false;
46 *newintron = true;
47 if (*firstexon)
48 *firstexon = false;
49 else
50 {
51 /* save acceptorsiteprobability */
52 if (introncutout) {
53 splicedpos =
54 gth_spliced_seq_orig_to_spliced_pos(spliced_seq,
55 gt_safe_cast2ulong(travstate->genomicptr - 1 + gen_dp_start));
56 if (splicedpos == GT_UNDEF_UWORD) {
57 /* XXX: no spliced position has been found -> this is an artificially
58 introduced intron, use 0.0 as acceptor site probabilty */
59 intron->acceptorsiteprobability = 0.0;
60 }
61 else {
62 intron->acceptorsiteprobability = (GthFlt)
63 exp((double) dp_param->log_Pacceptor[splicedpos]);
64 }
65 }
66 else {
67 intron->acceptorsiteprobability = (GthFlt) exp((double)
68 dp_param->log_Pacceptor[travstate->genomicptr-1]);
69 }
70
71 /* for cDNAs/ESTs: calculationg acceptorsitescore: going forward from here
72 */
73 if (proteineop)
74 intron->acceptorsitescore = UNDEFINED_SPLICE_SITE_SCORE;
75 else {
76 gthcalcsplicesitescore(&intron->acceptorsitescore, travstate,
77 gen_seq_tran, ref_seq_tran, gen_alphabet,
78 dp_options_est, true);
79 }
80
81 /* saving the intron */
82 gth_sa_add_intron(sa, intron);
83 }
84 }
85 }
86
87 static void evalnewintronifpossible(bool proteineop, bool *newexon,
88 bool *newintron, bool lastintron,
89 bool introncutout, bool gs2out,
90 GthSplicedSeq *spliced_seq,
91 Exoninfo *exon, Introninfo *intron,
92 GthFlt *singleexonweight,
93 GthFlt *maxsingleexonweight,
94 GthFlt *overallexonweight,
95 GthFlt *maxoverallexonweight,
96 GtUword
97 *cumulativelengthofscoredexons,
98 GthSA *sa,
99 Traversealignmentstate *travstate,
100 GtAlphabet *gen_alphabet,
101 GthDPParam *dp_param,
102 GthDPOptionsEST *dp_options_est,
103 const unsigned char *gen_seq_tran,
104 const unsigned char *ref_seq_tran,
105 GtUword gen_dp_start,
106 GtUword scoreminexonlen)
107 {
108 GtUword genomicexonlength, splicedpos;
109
110 if (*newintron) { /* in this case an exon will be saved */
111 exon->rightgenomicexonborder = gen_dp_start + travstate->genomicptr - 1;
112 exon->rightreferenceexonborder = gt_safe_cast2ulong(travstate
113 ->referenceptr - 1);
114 *newintron = false;
115 *newexon = true;
116 if (*maxsingleexonweight > 0.0) {
117 exon->exonscore = (GthDbl) ((*singleexonweight) /
118 (*maxsingleexonweight));
119 }
120 else
121 exon->exonscore = 0.0;
122
123 /* for calculating the alignmentscore and the cumulative length of scored
124 exons */
125 genomicexonlength = exon->rightgenomicexonborder -
126 exon->leftgenomicexonborder + 1;
127
128 /* short exons are not used for the alignment score */
129 if (genomicexonlength >= scoreminexonlen) {
130 *overallexonweight += *singleexonweight;
131 *maxoverallexonweight += *maxsingleexonweight;
132 }
133 /* coverage includes short exons (not for gs2out): */
134 if (gs2out) {
135 if (genomicexonlength >= scoreminexonlen)
136 *cumulativelengthofscoredexons += genomicexonlength;
137 }
138 else
139 *cumulativelengthofscoredexons += genomicexonlength;
140
141 /* saving the exon */
142 gt_assert(exon->leftgenomicexonborder <= exon->rightgenomicexonborder);
143 gth_sa_add_exon(sa, exon);
144
145 /* resetting scores */
146 *singleexonweight = (GthFlt) 0.0;
147 *maxsingleexonweight = (GthFlt) 0.0;
148
149 /* if this is not the last intron, save the donor site stuff.
150 if this is the last intron, this function has been called to save the
151 last exon. Therefore, no saving of donor site stuff is necessary. */
152 if (!lastintron) {
153 /* save donorsiteprobability */
154 if (introncutout) {
155 splicedpos =
156 gth_spliced_seq_orig_to_spliced_pos(spliced_seq,
157 gt_safe_cast2ulong(travstate->genomicptr + gen_dp_start));
158 if (splicedpos == GT_UNDEF_UWORD) {
159 /* XXX: no spliced position has been found -> this is an artificially
160 introduced intron, use 0.0 as donor site probabilty */
161 intron->donorsiteprobability = 0.0;
162 }
163 else {
164 intron->donorsiteprobability = (GthFlt)
165 exp((double) dp_param->log_Pdonor[splicedpos]);
166 }
167 }
168 else {
169 intron->donorsiteprobability = (GthFlt)
170 exp((double) dp_param->log_Pdonor[travstate->genomicptr]);
171 }
172
173 /* for the cDNAs/ESTs: calculationg donorsitescore: going back from here
174 */
175 if (proteineop)
176 intron->donorsitescore = UNDEFINED_SPLICE_SITE_SCORE;
177 else {
178 gthcalcsplicesitescore(&intron->donorsitescore, travstate, gen_seq_tran,
179 ref_seq_tran, gen_alphabet, dp_options_est,
180 false);
181 }
182 }
183 }
184 }
185
186 typedef struct
187 {
188 bool proteineop,
189 newexon,
190 newintron,
191 #ifndef NDEBUG
192 process_mismatch,
193 #endif
194 firstexon,
195 introncutout,
196 gs2out;
197 GthSplicedSeq *spliced_seq;
198 GthFlt singleexonweight, /* (GS2 = escr) */
199 maxsingleexonweight, /* (GS2 = oescr) */
200 overallexonweight, /* (GS2 = gescr) */
201 maxoverallexonweight; /* (GS2 = ogescr) */
202 GtUword cumulativelengthofscoredexons; /* (GS2 = mlght) */
203 Exoninfo exon;
204 Introninfo intron;
205 GthSA *sa;
206 GthDPParam *dp_param;
207 GthDPOptionsEST *dp_options_est; /* used if proteineop == false */
208 const unsigned char *gen_seq_tran,
209 *ref_seq_tran,
210 *ref_seq_orig;
211 const GtTransTable *transtable;
212 GtUword gen_dp_start,
213 scoreminexonlen,
214 ref_dp_length;
215 GtAlphabet *gen_alphabet; /* used if proteineop == true */
216 const GtUchar *gen_alphabet_characters;
217 GthDPScoresProtein *dp_scores_protein;
218 } Computebordersandscoresdata;
219
220 /*
221 The following function can only be used for traversals in forward direction,
222 because in the protein case we refer to upstream genomic positions.
223 */
224
225 static void computescoresprocmismatchordeletion(Traversealignmentstate *state,
226 void *data,
227 GT_UNUSED
228 GtUword lengthofeop)
229 {
230 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
231 unsigned int gen_alphabet_mapsize = gt_alphabet_size(d->gen_alphabet);
232 GthDPOptionsEST *dp_options_est = d->dp_options_est;
233 unsigned char genomicchar1,
234 genomicchar2,
235 genomicchar3,
236 #ifndef NDEBUG
237 origreferencechar,
238 #endif
239 codon;
240
241 gt_assert(lengthofeop == 1);
242
243 evalnewexonifpossible(d->proteineop, &d->newexon, &d->newintron,
244 &d->firstexon, d->introncutout, d->spliced_seq,
245 &d->exon, &d->intron, d->sa, state, d->gen_alphabet,
246 d->dp_param, dp_options_est, d->gen_seq_tran,
247 d->ref_seq_tran, d->gen_dp_start);
248
249 if (d->proteineop) {
250 if (state->processing_intron_with_1_base_left) {
251 genomicchar1 = d->gen_seq_tran[state->firstbaseleftptr];
252 genomicchar2 = d->gen_seq_tran[state->genomicptr];
253 genomicchar3 = d->gen_seq_tran[state->genomicptr + 1];
254 }
255 else if (state->processing_intron_with_2_bases_left) {
256 genomicchar1 = d->gen_seq_tran[state->firstbaseleftptr];
257 genomicchar2 = d->gen_seq_tran[state->secondbaseleftptr];
258 genomicchar3 = d->gen_seq_tran[state->genomicptr];
259 }
260 else {
261 genomicchar1 = d->gen_seq_tran[state->genomicptr];
262 genomicchar2 = d->gen_seq_tran[state->genomicptr + 1];
263 genomicchar3 = d->gen_seq_tran[state->genomicptr + 2];
264 }
265 codon = gthgetcodon(genomicchar1, genomicchar2, genomicchar3,
266 d->gen_alphabet_characters, d->transtable);
267
268 #ifndef NDEBUG
269 if (d->process_mismatch) {
270 if (state->processing_intron_with_2_bases_left)
271 origreferencechar = d->ref_seq_orig[state->referenceptr - 1];
272 else
273 origreferencechar = d->ref_seq_orig[state->referenceptr];
274 /* genomic codon does not equal reference character */
275 gt_assert(codon != origreferencechar);
276 }
277 #endif
278
279 d->maxsingleexonweight += GTHGETSCORE(d->dp_scores_protein, genomicchar1,
280 genomicchar2, genomicchar3, codon);
281 }
282 else {
283 genomicchar1 = d->gen_seq_tran[state->genomicptr];
284 /* SK: replaced
285 ADDOUTPUTWEIGHT(d->maxsingleexonweight, genomicchar1, genomicchar1);
286 by the following */
287 ADDOUTPUTWEIGHTIDENTITY(d->maxsingleexonweight, genomicchar1);
288 }
289 }
290
291 static void computescoresprocmismatch(Traversealignmentstate *state,
292 void *data, GtUword lengthofeop)
293 {
294 #ifndef NDEBUG
295 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
296 d->process_mismatch = true;
297 #endif
298 computescoresprocmismatchordeletion(state, data, lengthofeop);
299 }
300
301 static void computescoresprocdeletion(Traversealignmentstate *state,
302 void *data, GtUword lengthofeop)
303 {
304 #ifndef NDEBUG
305 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
306 d->process_mismatch = false;
307 #endif
308 computescoresprocmismatchordeletion(state, data, lengthofeop);
309 }
310
311 static void computescoresprocmismatchordeletionwithgap(Traversealignmentstate
312 *state,
313 void *data,
314 GT_UNUSED
315 GtUword
316 lengthofeop)
317 {
318 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
319 GthDPOptionsEST *dp_options_est = d->dp_options_est;
320 GthFlt score;
321
322 gt_assert(lengthofeop == 1);
323 /* a protein edit operation is processed */
324 gt_assert(d->proteineop);
325 /* we are not processing with 1 base left here */
326 gt_assert(!state->processing_intron_with_1_base_left);
327 /* we are not processing with 2 bases left here */
328 gt_assert(!state->processing_intron_with_2_bases_left);
329
330 evalnewexonifpossible(d->proteineop, &d->newexon, &d->newintron,
331 &d->firstexon, d->introncutout , d->spliced_seq,
332 &d->exon, &d->intron, d->sa, state, d->gen_alphabet,
333 d->dp_param, dp_options_est, d->gen_seq_tran,
334 d->ref_seq_tran, d->gen_dp_start);
335
336 /* the score is the same, no matter how many DASH'es are given */
337 score = GTHGETSCORE(d->dp_scores_protein, DASH, DASH, DASH, DASH);
338
339 gt_assert(score < 0.0);
340
341 /* we subtract the negative score here to increase the maxsingleexonweight
342 this is a somewhat arbirtarily chosen value, since it does not reflect
343 the maximum value which is possible with a proper codon */
344 d->maxsingleexonweight -= score;
345 }
346
347 static void computebordersandscoresprocinsertion(Traversealignmentstate *state,
348 void *data,
349 GT_UNUSED
350 GtUword lengthofeop)
351 {
352 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
353 unsigned int gen_alphabet_mapsize = gt_alphabet_size(d->gen_alphabet);
354 GthDPOptionsEST *dp_options_est = d->dp_options_est;
355 unsigned char genomicchar, referencechar;
356 GthFlt score;
357
358 gt_assert(lengthofeop == 1);
359 /* we are not processing with 1 base left here */
360 gt_assert(!state->processing_intron_with_1_base_left);
361 /* we are not processing with 2 bases left here */
362 gt_assert(!state->processing_intron_with_2_bases_left);
363
364 evalnewexonifpossible(d->proteineop, &d->newexon, &d->newintron,
365 &d->firstexon, d->introncutout, d->spliced_seq,
366 &d->exon, &d->intron, d->sa, state, d->gen_alphabet,
367 d->dp_param, dp_options_est, d->gen_seq_tran,
368 d->ref_seq_tran, d->gen_dp_start);
369
370 referencechar = d->ref_seq_tran[state->referenceptr];
371 if (d->proteineop) {
372 score = GTHGETSCORE(d->dp_scores_protein, DASH, DASH, DASH, referencechar);
373
374 gt_assert(score < 0.0);
375
376 /* XXX: maybe remove this */
377 d->singleexonweight += score;
378 /* we subtract the negative score here to increase the maxsingleexonweight
379 this is a somewhat arbirtarily chosen value, since it does not reflect
380 the maximum value which is possible with a proper codon */
381 d->maxsingleexonweight -= score;
382 /* XXX: maybe better add the maximum score which can be achieved by
383 a match with referencechar */
384 }
385 else {
386 genomicchar = (unsigned char) DASH;
387 ADDOUTPUTWEIGHT(d->singleexonweight, genomicchar, referencechar);
388 /* SK: replaced
389 ADDOUTPUTWEIGHT(d->maxsingleexonweight, genomicchar, genomicchar);
390 by the following */
391 ADDOUTPUTWEIGHTIDENTITY(d->maxsingleexonweight, genomicchar);
392 }
393 }
394
395 /*
396 The following function can only be used for traversals in forward direction,
397 because in the protein case we refer to upstream genomic positions.
398 */
399
400 static void computebordersandscoresprocmatch(Traversealignmentstate *state,
401 void *data,
402 GtUword lengthofeop)
403 {
404 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
405 unsigned int gen_alphabet_mapsize = gt_alphabet_size(d->gen_alphabet);
406 GthDPOptionsEST *dp_options_est = d->dp_options_est;
407 unsigned char genomicchar1,
408 genomicchar2,
409 genomicchar3,
410 referencechar,
411 origreferencechar;
412 GthFlt genomicinterimvalue = 0.0,
413 referenceinterimvalue = 0.0;
414
415 evalnewexonifpossible(d->proteineop, &d->newexon, &d->newintron,
416 &d->firstexon, d->introncutout, d->spliced_seq,
417 &d->exon, &d->intron, d->sa, state, d->gen_alphabet,
418 d->dp_param, d->dp_options_est, d->gen_seq_tran,
419 d->ref_seq_tran, d->gen_dp_start);
420
421 if (d->proteineop) {
422 if (state->processing_intron_with_1_base_left) {
423 genomicchar1 = d->gen_seq_tran[state->firstbaseleftptr];
424 genomicchar2 = d->gen_seq_tran[state->genomicptr];
425 genomicchar3 = d->gen_seq_tran[state->genomicptr + 1];
426 origreferencechar = d->ref_seq_orig[state->referenceptr];
427 }
428 else if (state->processing_intron_with_2_bases_left) {
429 genomicchar1 = d->gen_seq_tran[state->firstbaseleftptr];
430 genomicchar2 = d->gen_seq_tran[state->secondbaseleftptr];
431 genomicchar3 = d->gen_seq_tran[state->genomicptr];
432 origreferencechar = d->ref_seq_orig[state->referenceptr - 1];
433 /* ^^^!
434 we are processing a match after an intron with two bases left here.
435 therefore, the reference pointer points already to the amino acid after
436 this match, because the previous amino acid belongs to the two
437 nucleotides before the intron.
438 now it should be clear why we have to subtract 1 here. */
439 }
440 else {
441 genomicchar1 = d->gen_seq_tran[state->genomicptr];
442 genomicchar2 = d->gen_seq_tran[state->genomicptr + 1];
443 genomicchar3 = d->gen_seq_tran[state->genomicptr + 2];
444 origreferencechar = d->ref_seq_orig[state->referenceptr];
445 }
446
447 /* genomic codon equals reference character */
448 gt_assert(origreferencechar == gthgetcodon(genomicchar1, genomicchar2,
449 genomicchar3,
450 d->gen_alphabet_characters,
451 d->transtable));
452
453 genomicinterimvalue = GTHGETSCORE(d->dp_scores_protein, genomicchar1,
454 genomicchar2, genomicchar3,
455 origreferencechar);
456 genomicinterimvalue *= lengthofeop;
457 d->singleexonweight += genomicinterimvalue;
458 d->maxsingleexonweight += genomicinterimvalue;
459 }
460 else {
461 genomicchar1 = d->gen_seq_tran[state->genomicptr];
462 /* referenceptr in valid range */
463 gt_assert(state->referenceptr >= 0 &&
464 state->referenceptr < (GtWord) d->ref_dp_length);
465 referencechar = d->ref_seq_tran[state->referenceptr];
466 /* genomic char equals reference char */
467 gt_assert(genomicchar1 == referencechar);
468 ADDOUTPUTWEIGHT(referenceinterimvalue, genomicchar1, referencechar);
469 /* SK: replaced
470 ADDOUTPUTWEIGHT(genomicinterimvalue, genomicchar1, genomicchar1);
471 by the following */
472 ADDOUTPUTWEIGHTIDENTITY(genomicinterimvalue, genomicchar1);
473 genomicinterimvalue *= lengthofeop;
474 referenceinterimvalue *= lengthofeop;
475 d->singleexonweight += referenceinterimvalue;
476 d->maxsingleexonweight += genomicinterimvalue;
477 }
478 }
479
480 static void computebordersandscoresprocintron(Traversealignmentstate *state,
481 void *data,
482 GT_UNUSED
483 GtUword lengthofeop)
484 {
485 Computebordersandscoresdata *d = (Computebordersandscoresdata*) data;
486 evalnewintronifpossible(d->proteineop, &d->newexon, &d->newintron,
487 false, d->introncutout, d->gs2out, d->spliced_seq,
488 &d->exon, &d->intron, &d->singleexonweight,
489 &d->maxsingleexonweight, &d->overallexonweight,
490 &d->maxoverallexonweight,
491 &d->cumulativelengthofscoredexons , d->sa, state,
492 d->gen_alphabet, d->dp_param, d->dp_options_est,
493 d->gen_seq_tran, d->ref_seq_tran, d->gen_dp_start,
494 d->scoreminexonlen);
495 }
496
497 #ifndef NDEBUG
498 static bool containsintronsorinsertions(bool leading,
499 Editoperation *alignment,
500 GtWord alignmentlength,
501 bool proteineop)
502 {
503 Eoptype eoptype;
504 GtWord i;
505 bool breakforloop = false;
506
507 /* check for introns or insertions */
508 for (i = leading ? alignmentlength - 1 : 0;
509 leading ? i >= 0 : i < alignmentlength;
510 leading ? i-- : i++) {
511 eoptype = gt_editoperation_type(alignment[i], proteineop);
512
513 /* if match, mismatch, or deletion -> break
514 if insertion or intron -> return true */
515 switch (eoptype) {
516 case EOP_TYPE_MATCH:
517 case EOP_TYPE_MISMATCH:
518 case EOP_TYPE_MISMATCH_WITH_1_GAP:
519 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
520 case EOP_TYPE_DELETION:
521 case EOP_TYPE_DELETION_WITH_1_GAP:
522 case EOP_TYPE_DELETION_WITH_2_GAPS:
523 breakforloop = true;
524 break;
525 case EOP_TYPE_INSERTION:
526 case EOP_TYPE_INTRON:
527 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
528 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
529 return true;
530 default: gt_assert(0);
531 }
532 if (breakforloop)
533 break;
534 }
535
536 /* no introns or insertions found -> return false */
537 return false;
538 }
539 #endif
540
541 #ifndef NDEBUG
542 static bool containsnoleadingorterminalintronsorinsertions(Editoperation
543 *alignment,
544 GtWord
545 alignmentlength,
546 bool proteineop)
547 {
548 /* check for leading introns or insertions */
549 if (containsintronsorinsertions(true, alignment, alignmentlength, proteineop))
550 return false;
551
552 /* check for terminal introns or insertions */
553 if (containsintronsorinsertions(false, alignment, alignmentlength,
554 proteineop)) {
555 return false;
556 }
557
558 return true;
559 }
560 #endif
561
562 void gth_compute_scores(GthSA *sa,
563 bool proteineop,
564 GthDPParam *dp_param,
565 void *dp_options_est,
566 const unsigned char *gen_seq_tran,
567 const unsigned char *ref_seq_tran,
568 const unsigned char *ref_seq_orig,
569 const GtTransTable *transtable,
570 GtUword gen_dp_start,
571 GtUword scoreminexonlen,
572 bool introncutout,
573 bool gs2out,
574 GthSplicedSeq *spliced_seq,
575 GtUword ref_dp_length,
576 GtAlphabet *gen_alphabet,
577 GtAlphabet *ref_alphabet,
578 GthDPScoresProtein *dp_scores_protein)
579 {
580 Traversealignmentfunctions travfunctions;
581 Traversealignmentstate travstate;
582 Computebordersandscoresdata data;
583 GthFlt score, coverageofgenomicsegment, coverageofreferencesegment;
584
585 gt_assert(!gth_sa_num_of_exons(sa));
586 gt_assert(!gth_sa_num_of_introns(sa));
587
588 travfunctions.processmismatch = computescoresprocmismatch;
589 travfunctions.processdeletion = computescoresprocdeletion;
590 travfunctions.processinsertion = computebordersandscoresprocinsertion;
591 travfunctions.processmatch = computebordersandscoresprocmatch;
592 travfunctions.processintron = computebordersandscoresprocintron;
593 travfunctions.breakcondition = NULL;
594
595 /* additional functions for protein edit operations */
596 travfunctions.processintron_with_1_base_left =
597 computebordersandscoresprocintron;
598 travfunctions.processintron_with_2_bases_left =
599 computebordersandscoresprocintron;
600 travfunctions.processmismatch_with_1_gap =
601 computescoresprocmismatchordeletionwithgap;
602 travfunctions.processmismatch_with_2_gaps =
603 computescoresprocmismatchordeletionwithgap;
604 travfunctions.processdeletion_with_1_gap =
605 computescoresprocmismatchordeletionwithgap;
606 travfunctions.processdeletion_with_2_gaps =
607 computescoresprocmismatchordeletionwithgap;
608
609 travstate.proteineop = proteineop;
610 travstate.processing_intron_with_1_base_left = false;
611 travstate.processing_intron_with_2_bases_left = false;
612 travstate.alignment = gth_sa_get_editoperations(sa);
613 travstate.alignmentlength = gth_sa_get_editoperations_length(sa);
614 travstate.eopptr = travstate.alignment + travstate.alignmentlength - 1;
615 travstate.genomicptr = gth_sa_genomiccutoff_start(sa);
616 travstate.referenceptr = gth_sa_referencecutoff_start(sa);
617
618 if (travstate.alignmentlength <= 0) {
619 /* in this case the alignmentscore is set to 0, which leads to discarding
620 this alignment later */
621 gth_sa_set_score(sa, 0.0);
622 return;
623 }
624
625 /* editoperations contain no zero base exons */
626 gt_assert(gth_sa_contains_no_zero_base_exons(sa));
627 /* editoperations contain no leading or terminal introns or insertions */
628 gt_assert(containsnoleadingorterminalintronsorinsertions(travstate.alignment,
629 travstate
630 .alignmentlength,
631 proteineop));
632 /* sum of edit operations equals referencelength */
633 gt_assert(gt_eops_equal_referencelength(travstate.alignment,
634 travstate.alignmentlength,
635 ref_dp_length
636 - gth_sa_referencecutoff_start(sa)
637 - gth_sa_referencecutoff_end(sa),
638 proteineop));
639
640 data.proteineop = proteineop;
641 data.newexon = true;
642 data.newintron = true;
643 data.firstexon = true;
644 data.introncutout = introncutout;
645 data.gs2out = gs2out;
646 data.spliced_seq = spliced_seq;
647 data.singleexonweight = (GthFlt) 0.0;
648 data.maxsingleexonweight = (GthFlt) 0.0;
649 data.overallexonweight = (GthFlt) 0.0;
650 data.maxoverallexonweight = (GthFlt) 0.0;
651 data.cumulativelengthofscoredexons = 0;
652
653 data.exon.leftgenomicexonborder = GT_UNDEF_UWORD;
654 data.exon.rightgenomicexonborder = GT_UNDEF_UWORD;
655 data.exon.leftreferenceexonborder = GT_UNDEF_UWORD;
656 data.exon.rightreferenceexonborder = GT_UNDEF_UWORD;
657 data.exon.exonscore = GTH_UNDEF_GTHDBL;
658
659 data.intron.donorsiteprobability = GTH_UNDEF_GTHFLT;
660 data.intron.acceptorsiteprobability = GTH_UNDEF_GTHFLT;
661 data.intron.donorsitescore = GTH_UNDEF_GTHDBL;
662 data.intron.acceptorsitescore = GTH_UNDEF_GTHDBL;
663
664 data.sa = sa;
665 data.dp_param = dp_param;
666 data.dp_options_est = dp_options_est;
667 data.gen_seq_tran = gen_seq_tran;
668 data.ref_seq_tran = ref_seq_tran;
669 data.ref_seq_orig = ref_seq_orig;
670 data.transtable = transtable;
671 data.gen_dp_start = gen_dp_start;
672 data.scoreminexonlen = scoreminexonlen;
673 data.ref_dp_length = ref_dp_length;
674 data.gen_alphabet = gen_alphabet;
675 data.gen_alphabet_characters = gen_alphabet
676 ? gt_alphabet_characters(gen_alphabet)
677 : NULL;
678 data.dp_scores_protein = dp_scores_protein;
679
680 gthtraversealignment(true, &travstate, proteineop, &data, &travfunctions);
681
682 /* this is for saving the last exon */
683 evalnewintronifpossible(proteineop, &data.newexon, &data.newintron, true,
684 data.introncutout, data.gs2out, data.spliced_seq,
685 &data.exon, &data.intron, &data.singleexonweight,
686 &data.maxsingleexonweight, &data.overallexonweight,
687 &data.maxoverallexonweight,
688 &data.cumulativelengthofscoredexons, sa, &travstate,
689 gen_alphabet, data.dp_param, data.dp_options_est,
690 data.gen_seq_tran, data.ref_seq_tran,
691 data.gen_dp_start, data.scoreminexonlen);
692
693 /* saving the scores for the whole alignment */
694 if (data.maxoverallexonweight > 0.0) {
695 score = data.overallexonweight / data.maxoverallexonweight;
696 /* XXX: the way the alignmentscore is computed, it is possible to get a
697 score > 1.0. Since we don't want this, we cap it */
698 if (score > 1.0)
699 score = 1.0;
700 }
701 else
702 score = 0.0;
703 gth_sa_set_score(sa, score);
704 gth_sa_set_cumlen_scored_exons(sa, data.cumulativelengthofscoredexons);
705
706 /* fraction of the gen_dp_length which is scored/weighted */
707 coverageofgenomicsegment = (GthFlt) data.cumulativelengthofscoredexons /
708 (GthFlt) gth_sa_gen_dp_length(sa);
709 /* coverage of genomic segment is valid value */
710 gt_assert(coverageofgenomicsegment >= 0.0 && coverageofgenomicsegment <= 1.0);
711
712 /* fraction of the referencelength which is scored/weighted */
713 coverageofreferencesegment = (GthFlt) data.cumulativelengthofscoredexons /
714 (GthFlt) ((proteineop ? GT_CODON_LENGTH : 1) *
715 gth_sa_ref_total_length(sa));
716
717 if (coverageofgenomicsegment > coverageofreferencesegment) {
718 gth_sa_set_coverage(sa, coverageofgenomicsegment);
719 gth_sa_set_highest_cov(sa, true);
720 }
721 else {
722 gth_sa_set_coverage(sa, coverageofreferencesegment);
723 gth_sa_set_highest_cov(sa, false);
724 }
725
726 /* test the assumption that the coverage is never larger then the default */
727 gt_assert(gth_sa_coverage(sa) <= GTH_DEFAULT_MAX_COVERAGE);
728
729 /* compute poly(A) tail position */
730 gth_sa_calc_polyAtailpos(sa, ref_seq_tran, ref_alphabet);
731
732 /* determined exons are forward and consecutive */
733 gt_assert(gth_sa_exons_are_forward_and_consecutive(sa));
734 }
+0
-46
src/gth/compute_scores.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef COMPUTE_SCORES_H
18 #define COMPUTE_SCORES_H
19
20 #include <stdbool.h>
21 #include "core/trans_table_api.h"
22 #include "gth/align_common.h"
23 #include "gth/dp_scores_protein.h"
24 #include "gth/sa.h"
25 #include "gth/spliced_seq.h"
26
27 void gth_compute_scores(GthSA *sa,
28 bool proteineop,
29 GthDPParam *dp_param,
30 void *dp_options_est,
31 const unsigned char *gen_seq_tran,
32 const unsigned char *ref_seq_tran,
33 const unsigned char *ref_seq_orig,
34 const GtTransTable *transtable,
35 GtUword gen_dp_start,
36 GtUword scoreminexonlen,
37 bool introncutout,
38 bool gs2out,
39 GthSplicedSeq *spliced_seq,
40 GtUword ref_dp_length,
41 GtAlphabet *gen_alphabet,
42 GtAlphabet *ref_alphabet,
43 GthDPScoresProtein *dp_scores_protein);
44
45 #endif
+0
-36
src/gth/cutoffmode.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef CUTOFFMODE_H
18 #define CUTOFFMODE_H
19
20 /*
21 The cutoff modes.
22
23 IMPORTANT:
24 ----------
25 Definition has to be consistent with cutoff_modes[] in file parse_options.c.
26 */
27
28 typedef enum {
29 GTH_RELAXED = 0,
30 GTH_STRICT,
31 GTH_MINIMAL,
32 NUMOFCUTOFFMODES
33 } GthCutoffmode;
34
35 #endif
+0
-172
src/gth/default.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DEFAULT_H
18 #define DEFAULT_H
19
20 #include "core/trans_table_api.h"
21
22 /*
23 This file contains all default values of GenomeThreader.
24 Default values can be changed by command line options.
25 */
26
27 /* default score matrix */
28 #define GTH_DEFAULT_SCOREMATRIX "BLOSUM62"
29
30 /* defaults for data preprocessing options */
31 #define GTH_DEFAULT_PROTEINSMAP "protein"
32
33 /* default translation table */
34 #define GTH_DEFAULT_TRANSLATIONTABLE GT_STANDARD_TRANSLATION_SCHEME
35
36 /* default minimum match length for (new) similarity filter */
37 #define GTH_DEFAULT_MINMATCHLENGTH 20
38 #define GTH_DEFAULT_SEEDLENGTH 18
39 #define GTH_DEFAULT_EXDROP 2
40
41 /* default vmatch parameter for protein matching (taken from GS2) */
42 #define GTH_DEFAULT_PRMINMATCHLEN 24
43 #define GTH_DEFAULT_PRSEEDLENGTH 10
44 #define GTH_DEFAULT_PRHDIST 4
45
46 #define GTH_DEFAULT_ONLINE false
47 #define GTH_DEFAULT_INVERSE false
48 #define GTH_DEFAULT_EXACT false
49 #define GTH_DEFAULT_EDIST false
50 #define GTH_DEFAULT_NOAUTOINDEX false
51 #define GTH_DEFAULT_CREATEINDICESONLY false
52 #define GTH_DEFAULT_SKIPINDEXCHECK false
53 #define GTH_DEFAULT_MASKPOLYATAILS false
54 #define GTH_DEFAULT_MAXNUMOFMATCHES 0
55
56 #define GTH_DEFAULT_FRAGWEIGHTFACTOR 0.5
57 #define GTH_DEFAULT_GCMAXGAPWIDTH 1000000
58 #define GTH_DEFAULT_RARE 0
59 #define GTH_DEFAULT_PARALOGS false
60 #define GTH_DEFAULT_ENRICHCHAINS false
61 #define GTH_DEFAULT_GCMINCOVERAGE 50
62 #define GTH_DEFAULT_STOPAFTERCHAINING false
63
64 /* default values for the (generic) splice site model */
65 #define GTH_DEFAULT_DISABLEU12INTRONMODEL false
66
67 #define GTH_DEFAULT_GENERIC_GT_DONORPROB ((GthFlt) 0.05)
68 #define GTH_DEFAULT_NONGENERIC_GT_DONORPROB ((GthFlt) 0.00005)
69 #define GTH_DEFAULT_GENERIC_GC_DONORPROB ((GthFlt) 0.002)
70 #define GTH_DEFAULT_NONGENERIC_GC_DONORPROB ((GthFlt) 0.00002)
71 #define GTH_DEFAULT_GENERIC_AT_DONORPROB ((GthFlt) 0.002)
72 #define GTH_DEFAULT_NONGENERIC_AT_DONORPROB ((GthFlt) 0.00002)
73
74 #define GTH_DEFAULT_GENERIC_AG_ACCEPTORPROB ((GthFlt) 0.05)
75 #define GTH_DEFAULT_NONGENERIC_AG_ACCEPTORPROB ((GthFlt) 0.00005)
76 #define GTH_DEFAULT_GENERIC_AC_ACCEPTORPROB ((GthFlt) 0.002)
77 #define GTH_DEFAULT_NONGENERIC_AC_ACCEPTORPROB ((GthFlt) 0.00002)
78
79 #define GTH_DEFAULT_GENERIC_OTHERSPLICESITEPROB ((GthFlt) 0.0001)
80 #define GTH_DEFAULT_NONGENERIC_OTHERSPLICESITEPROB ((GthFlt) 0.000001)
81
82 #define GTH_DEFAULT_U12_TYPEDONORPROB ((GthFlt) 0.99)
83 #define GTH_DEFAULT_U12_TYPEDONORPROBONEMISMATCH ((GthFlt) 0.9)
84
85 #define GTH_DEFAULT_MAXIMAL_SPLICESITEPROB ((GthFlt) 0.999999)
86
87 #define GTH_DEFAULT_JUMPTABLE false
88
89 /* default values for intron cutouts */
90 #define GTH_DEFAULT_INTRONCUTOUT false
91 #define GTH_DEFAULT_AUTOICMAXMATRIXSIZE 0
92 #define GTH_DEFAULT_MAXMATRIXSIZE UNDEF_ULONG
93 #define GTH_DEFAULT_ICINITIALDELTA 50
94 #define GTH_DEFAULT_ICITERATIONS 2
95 #define GTH_DEFAULT_ICDELTAINCREASE 50
96 #define GTH_DEFAULT_ICMINREMLENGTH 10
97
98 #define GTH_DEFAULT_NOICININTRONCHECK false
99 #define GTH_DEFAULT_FREEINTRONTRANS false
100 #define GTH_DEFAULT_DPMINEXONLENGTH 5
101 #define GTH_DEFAULT_DPMININTRONLENGTH 50
102 #define GTH_DEFAULT_SHORTEXONPENALTY 100.0
103 #define GTH_DEFAULT_SHORTINTRONPENALTY 100.0
104
105 #define GTH_DEFAULT_JTOVERLAP 5
106 #define GTH_DEFAULT_JTDEBUG false
107
108 #define GTH_DEFAULT_PROBIES 0.5
109 #define GTH_DEFAULT_PROBDELGEN 0.03
110 #define GTH_DEFAULT_IDENTITYWEIGHT 2.0
111 #define GTH_DEFAULT_MISMATCHWEIGHT -2.0
112 #define GTH_DEFAULT_UNDETCHARWEIGHT 0.0
113 #define GTH_DEFAULT_DELETIONWEIGHT -5.0
114 #define GTH_DEFAULT_WZEROTRANSITION 80
115 #define GTH_DEFAULT_WDECREASEDOUTPUT 80
116 #define GTH_DEFAULT_DETECTSMALLEXONS false
117
118 #define GTH_DEFAULT_CUTOFFSMINEXONLEN 5
119 #define GTH_DEFAULT_SCOREMINEXONLEN 50
120
121 #define GTH_DEFAULT_MINAVERAGESSP 0.5 /* minimum average splice site
122 probability */
123 #define GTH_DEFAULT_MIN_ALIGNMENTSCORE 0.0 /* minimum aligmment score */
124 #define GTH_DEFAULT_MAX_ALIGNMENTSCORE 1.0 /* maximum aligmment score */
125 #define GTH_DEFAULT_MIN_COVERAGE 0.0 /* minimum coverage */
126
127 /* the coverage computation can produce a coverage larger than 1.0
128 and Volker Brendel thinks it is best to leave it this way */
129 #define GTH_DEFAULT_MAX_COVERAGE 9999.99 /* maximum coverage */
130
131 #define GTH_DEFAULT_INTERMEDIATE false /* stop after SA
132 calculation */
133
134 /* defaults for sorting of AGSs */
135 #define GTH_DEFAULT_SORTAGS false
136 #define GTH_DEFAULT_SORTAGSWF 1.0
137
138 #define GTH_DEFAULT_DISABLECLUSTERSAS true /* XXX !!! */
139
140 #define GTH_DEFAULT_FIRSTALSHOWN 0 /* default for firstalshown */
141
142 /* default for showfullintrons */
143 #define GTH_DEFAULT_SHOWINTRONMAXLEN DOUBLEALIGNMENTLINEWIDTH
144
145 #define GTH_DEFAULT_VERBOSESEQS false
146 #define GTH_DEFAULT_SKIPALIGNMENTOUT false
147 #define GTH_DEFAULT_SHOWSEQNUMS false
148 #define GTH_DEFAULT_SHOWMATUREMRNAS false
149 #define GTH_DEFAULT_XMLOUT false
150
151 #define GTH_DEFAULT_MINORFLENGTH 64 /* default for minORFlength */
152 #define GTH_DEFAULT_START_CODON false
153 #define GTH_DEFAULT_FINAL_STOP_CODON false
154
155 #define GTH_DEFAULT_GS2OUT false /* default for gs2out */
156 #define GTH_DEFAULT_MD5IDS false
157
158 #define GTH_DEFAULT_EXONDISTRI false
159 #define GTH_DEFAULT_INTRONDISTRI false
160 #define GTH_DEFAULT_MATCHNUMDISTRI false
161 #define GTH_DEFAULT_REFSEQCOVDISTRI false
162
163 #define GTH_DEFAULT_COMMENTS false
164 #define GTH_DEFAULT_CHAINWITHOVERLAPS false
165 #define GTH_DEFAULT_PROTEINEXONPENAL false
166 #define GTH_DEFAULT_PROTEINDPUPGRADE false
167
168 /* default for test options */
169 #define GTH_DEFAULT_SHOWEOPS false
170
171 #endif
+0
-56
src/gth/desc_cache.c less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/ma_api.h"
17 #include "core/str_cache.h"
18 #include "gth/desc_cache.h"
19
20 struct GthDescCache {
21 GtStrCache *str_cache;
22 };
23
24 static GtStr* get_desc_str(void *str_source, GtUword index)
25 {
26 GtStr *str;
27 GthSeqCon *seq_con = str_source;
28 gt_assert(seq_con);
29 str = gt_str_new();
30 gth_seq_con_get_description(seq_con, index, str);
31 return str;
32 }
33
34 GthDescCache* gth_desc_cache_new(GthSeqCon *seq_con)
35 {
36 GthDescCache *desc_cache;
37 gt_assert(seq_con);
38 desc_cache = gt_malloc(sizeof *desc_cache);
39 desc_cache->str_cache = gt_str_cache_new(seq_con, get_desc_str,
40 gth_seq_con_num_of_seqs(seq_con));
41 return desc_cache;
42 }
43
44 void gth_desc_cache_delete(GthDescCache *desc_cache)
45 {
46 if (!desc_cache) return;
47 gt_str_cache_delete(desc_cache->str_cache);
48 gt_free(desc_cache);
49 }
50
51 GtStr* gth_desc_cache_get(GthDescCache *desc_cache, GtUword seq_num)
52 {
53 gt_assert(desc_cache);
54 return gt_str_cache_get(desc_cache->str_cache, seq_num);
55 }
+0
-29
src/gth/desc_cache.h less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef DESC_CACHE_H
17 #define DESC_CACHE_H
18
19 #include "gth/seq_con.h"
20
21 typedef struct GthDescCache GthDescCache;
22
23 GthDescCache* gth_desc_cache_new(GthSeqCon *seq_con);
24 void gth_desc_cache_delete(GthDescCache *desc_cache);
25 GtStr* gth_desc_cache_get(GthDescCache *desc_cache,
26 GtUword seq_num);
27
28 #endif
+0
-55
src/gth/dp_options_core.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma_api.h"
18 #include "core/undef_api.h"
19 #include "gth/default.h"
20 #include "gth/dp_options_core.h"
21
22 GthDPOptionsCore* gth_dp_options_core_new(void)
23 {
24 GthDPOptionsCore *dp_options_core = gt_malloc(sizeof *dp_options_core);
25 dp_options_core->noicinintroncheck = GTH_DEFAULT_NOICININTRONCHECK;
26 dp_options_core->freeintrontrans = GTH_DEFAULT_FREEINTRONTRANS;
27 dp_options_core->dpminexonlength = GTH_DEFAULT_DPMINEXONLENGTH;
28 dp_options_core->dpminintronlength = GTH_DEFAULT_DPMININTRONLENGTH;
29 dp_options_core->shortexonpenalty = GTH_DEFAULT_SHORTEXONPENALTY;
30 dp_options_core->shortintronpenalty = GTH_DEFAULT_SHORTINTRONPENALTY;
31 dp_options_core->btmatrixgenrange.start = GT_UNDEF_UWORD;
32 dp_options_core->btmatrixgenrange.end = GT_UNDEF_UWORD;
33 dp_options_core->btmatrixrefrange.start = GT_UNDEF_UWORD;
34 dp_options_core->btmatrixrefrange.end = GT_UNDEF_UWORD;
35 dp_options_core->jtoverlap = GTH_DEFAULT_JTOVERLAP;
36 dp_options_core->jtdebug = GTH_DEFAULT_JTDEBUG;
37 return dp_options_core;
38 }
39
40 GthDPOptionsCore* gth_dp_options_core_clone(const
41 GthDPOptionsCore *dp_options_core)
42 {
43 GthDPOptionsCore *dp_options_core_clone;
44 gt_assert(dp_options_core);
45 dp_options_core_clone = gt_malloc(sizeof *dp_options_core_clone);
46 *dp_options_core_clone = *dp_options_core;
47 return dp_options_core_clone;
48 }
49
50 void gth_dp_options_core_delete(GthDPOptionsCore *dp_options_core)
51 {
52 if (!dp_options_core) return;
53 gt_free(dp_options_core);
54 }
+0
-43
src/gth/dp_options_core.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DP_OPTIONS_CORE_H
18 #define DP_OPTIONS_CORE_H
19
20 #include <stdbool.h>
21 #include "core/range_api.h"
22
23 typedef struct {
24 bool noicinintroncheck, /* perform no check if intron coutout is in
25 intron */
26 freeintrontrans; /* free state transitions between intron
27 states */
28 unsigned int dpminexonlength, /* minimum exon length for the DP */
29 dpminintronlength; /* minimum intron length */
30 double shortexonpenalty, /* penalty for short exons */
31 shortintronpenalty; /* penalty for short introns */
32 GtRange btmatrixgenrange,
33 btmatrixrefrange;
34 GtUword jtoverlap;
35 bool jtdebug;
36 } GthDPOptionsCore;
37
38 GthDPOptionsCore* gth_dp_options_core_new(void);
39 GthDPOptionsCore* gth_dp_options_core_clone(const GthDPOptionsCore*);
40 void gth_dp_options_core_delete(GthDPOptionsCore *);
41
42 #endif
+0
-50
src/gth/dp_options_est.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma_api.h"
18 #include "gth/default.h"
19 #include "gth/dp_options_est.h"
20
21 GthDPOptionsEST* gth_dp_options_est_new(void)
22 {
23 GthDPOptionsEST *dp_options_est = gt_malloc (sizeof *dp_options_est);
24 dp_options_est->probies = GTH_DEFAULT_PROBIES;
25 dp_options_est->probdelgen = GTH_DEFAULT_PROBDELGEN;
26 dp_options_est->identityweight = GTH_DEFAULT_IDENTITYWEIGHT;
27 dp_options_est->mismatchweight = GTH_DEFAULT_MISMATCHWEIGHT;
28 dp_options_est->undetcharweight = GTH_DEFAULT_UNDETCHARWEIGHT;
29 dp_options_est->deletionweight = GTH_DEFAULT_DELETIONWEIGHT;
30 dp_options_est->wzerotransition = GTH_DEFAULT_WZEROTRANSITION;
31 dp_options_est->wdecreasedoutput = GTH_DEFAULT_WDECREASEDOUTPUT;
32 dp_options_est->detectsmallexons = GTH_DEFAULT_DETECTSMALLEXONS;
33 return dp_options_est;
34 }
35
36 GthDPOptionsEST* gth_dp_options_est_clone(const GthDPOptionsEST *dp_options_est)
37 {
38 GthDPOptionsEST *dp_options_est_clone;
39 gt_assert(dp_options_est);
40 dp_options_est_clone = gt_malloc(sizeof *dp_options_est);
41 *dp_options_est_clone = *dp_options_est;
42 return dp_options_est_clone;
43 }
44
45 void gth_dp_options_est_delete(GthDPOptionsEST *dp_options_est)
46 {
47 if (!dp_options_est) return;
48 gt_free(dp_options_est);
49 }
+0
-45
src/gth/dp_options_est.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DP_OPTIONS_EST_H
18 #define DP_OPTIONS_EST_H
19
20 #include <stdbool.h>
21
22 typedef struct {
23 /* basic DP options */
24 double probies; /* P that initial state is exon state */
25 double probdelgen, /* P of deletion in genomic sequence */
26 identityweight, /* identity (sigma) */
27 mismatchweight, /* mismatch (mu) */
28 undetcharweight, /* alignment positions involving undetermined
29 characters (nu) */
30 deletionweight; /* cDNA deletions (delta) */
31
32 /* special options */
33 unsigned int wzerotransition, /* window size for zero transition weights */
34 wdecreasedoutput; /* window size for decreased output weights */
35
36 /* development options */
37 bool detectsmallexons; /* try to detect small exons */
38 } GthDPOptionsEST;
39
40 GthDPOptionsEST* gth_dp_options_est_new(void);
41 GthDPOptionsEST* gth_dp_options_est_clone(const GthDPOptionsEST*);
42 void gth_dp_options_est_delete(GthDPOptionsEST*);
43
44 #endif
+0
-37
src/gth/dp_options_postpro.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma_api.h"
18 #include "gth/default.h"
19 #include "gth/dp_options_postpro.h"
20
21 GthDPOptionsPostpro* gth_dp_options_postpro_new(void)
22 {
23 GthDPOptionsPostpro *dp_options_postpro =
24 gt_malloc(sizeof *dp_options_postpro);
25 dp_options_postpro->leadcutoffsmode = GTH_RELAXED;
26 dp_options_postpro->termcutoffsmode = GTH_STRICT;
27 dp_options_postpro->cutoffsminexonlen = GTH_DEFAULT_CUTOFFSMINEXONLEN;
28 dp_options_postpro->scoreminexonlen = GTH_DEFAULT_SCOREMINEXONLEN;
29 return dp_options_postpro;
30 }
31
32 void gth_dp_options_postpro_delete(GthDPOptionsPostpro *dp_options_postpro)
33 {
34 if (!dp_options_postpro) return;
35 gt_free(dp_options_postpro);
36 }
+0
-37
src/gth/dp_options_postpro.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DP_OPTIONS_POSTPRO_H
18 #define DP_OPTIONS_POSTPRO_H
19
20 #include "gth/cutoffmode.h"
21
22 /* These paramters are used for post processing the ``raw'' spliced alignments
23 after the DP. */
24 typedef struct {
25 GthCutoffmode leadcutoffsmode, /* leading cutoffs mode */
26 termcutoffsmode; /* terminal cutoffs mode */
27 unsigned int cutoffsminexonlen, /* minimum exon length for cutoffs
28 determination */
29 scoreminexonlen; /* minimum exon length for score
30 determination */
31 } GthDPOptionsPostpro;
32
33 GthDPOptionsPostpro* gth_dp_options_postpro_new(void);
34 void gth_dp_options_postpro_delete(GthDPOptionsPostpro*);
35
36 #endif
+0
-599
src/gth/dp_param.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <math.h>
18 #include "core/chardef.h"
19 #include "core/ma_api.h"
20 #include "core/range.h"
21 #include "core/safearith.h"
22 #include "core/unused_api.h"
23 #include "gth/bssm_param_rep.h"
24 #include "gth/default.h"
25 #include "gth/dp_param.h"
26 #include "gth/splice_site_model_rep.h"
27
28 /* XXX: why A? */
29 #define SUBSTITUTEWILDCARDWITHA(C)\
30 if (C == WILDCARD)\
31 {\
32 C = gen_alphabet_symbolmap['A'];\
33 }
34
35 #define CHECK_DP_PARAMETER_ALLOCATION(PTR)\
36 if ((PTR) == NULL)\
37 {\
38 gth_dp_param_delete(dp_param);\
39 return NULL;\
40 }
41
42 static void evalsplicesiteprobformodel(GthFlt *prob, bool donorsite,
43 const unsigned char *gen_seq_tran,
44 const GtRange *gen_seq_bounds,
45 GtUword genpos,
46 const GtUchar *gen_alphabet_symbolmap,
47 GthBSSMModel *bssmmodel)
48 {
49 GtUword pc, /* previous char */
50 cc, /* current char */
51 d, i, j;
52 GtWord startpos, endpos;
53 GthDbl pval = 0.5, Tv[3] = { 0.0 }, Fv[4] = { 0.0 };
54 gt_assert(bssmmodel);
55
56 /* set start and endpos */
57 if (donorsite) {
58 startpos = genpos - bssmmodel->window_size_left,
59 endpos = gt_safe_cast2long(genpos + bssmmodel->window_size_right + 1);
60 }
61 else { /* acceptorsite */
62 startpos = genpos - bssmmodel->window_size_left - 1,
63 endpos = genpos + bssmmodel->window_size_right;
64 }
65
66 if ((startpos >= gt_safe_cast2long(gen_seq_bounds->start)) &&
67 (gt_safe_cast2ulong(endpos) <= gen_seq_bounds->end)) {
68 pc = gen_seq_tran[startpos];
69 SUBSTITUTEWILDCARDWITHA(pc);
70 if (bssmmodel->hypothesis_num == HYPOTHESIS2) {
71 Tv[0] = (double) bssmmodel->hypotables.hypo2table[0][0][pc][0];
72 Fv[0] = (double) bssmmodel->hypotables.hypo2table[1][0][pc][0];
73 }
74 else {
75 Tv[0] = (double) bssmmodel->hypotables.hypo7table[0][0][pc][0];
76 Tv[1] = (double) bssmmodel->hypotables.hypo7table[1][0][pc][0];
77 Tv[2] = (double) bssmmodel->hypotables.hypo7table[2][0][pc][0];
78 Fv[0] = (double) bssmmodel->hypotables.hypo7table[3][0][pc][0];
79 Fv[1] = (double) bssmmodel->hypotables.hypo7table[4][0][pc][0];
80 Fv[2] = (double) bssmmodel->hypotables.hypo7table[5][0][pc][0];
81 Fv[3] = (double) bssmmodel->hypotables.hypo7table[6][0][pc][0];
82 }
83 d = 50 - bssmmodel->window_size_left;
84 for (i = startpos + 1; i <= gt_safe_cast2ulong(endpos); i++) {
85 j = d + (i - startpos);
86 cc = gen_seq_tran[i];
87 SUBSTITUTEWILDCARDWITHA(cc);
88 if (bssmmodel->hypothesis_num == HYPOTHESIS2) {
89 Tv[0] = Tv[0] * bssmmodel->hypotables.hypo2table[0][j][pc][cc];
90 Fv[0] = Fv[0] * bssmmodel->hypotables.hypo2table[1][j][pc][cc];
91 }
92 else {
93 Tv[0] = Tv[0] * bssmmodel->hypotables.hypo7table[0][j][pc][cc];
94 Tv[1] = Tv[1] * bssmmodel->hypotables.hypo7table[1][j][pc][cc];
95 Tv[2] = Tv[2] * bssmmodel->hypotables.hypo7table[2][j][pc][cc];
96 Fv[0] = Fv[0] * bssmmodel->hypotables.hypo7table[3][j][pc][cc];
97 Fv[1] = Fv[1] * bssmmodel->hypotables.hypo7table[4][j][pc][cc];
98 Fv[2] = Fv[2] * bssmmodel->hypotables.hypo7table[5][j][pc][cc];
99 Fv[3] = Fv[3] * bssmmodel->hypotables.hypo7table[6][j][pc][cc];
100 }
101 pc = cc;
102 }
103 if (bssmmodel->hypothesis_num == HYPOTHESIS2)
104 pval = Tv[0] / (Tv[0] + Fv[0]);
105 else {
106 pval = Tv[0] + Tv[1] + Tv[2];
107 pval = pval / (pval + Fv[0] + Fv[1] + Fv[2] + Fv[3]);
108 }
109 /* XXX: prevents problem with fission_yeast.bssm file */
110 if (isnan(pval))
111 pval = 0.0;
112 /* pval is a valid probability */
113 gt_assert(pval >= 0.0 && pval <= 1.0);
114 pval = 2.0 * (pval - 0.5); /* XXX: ? */
115 }
116 else
117 pval = 0.0;
118
119 /* return probability */
120 *prob = (GthFlt) pval;
121 }
122
123 static void evaldonorprob(GthFlt *prob, const unsigned char *gen_seq_tran,
124 const GtRange *gen_seq_bounds, GtUword genpos,
125 const GtUchar *gen_alphabet_symbolmap,
126 GthBSSMParam *bssm_param)
127 {
128 *prob = (GthFlt) 0.0;
129 gt_assert(bssm_param);
130
131 if (genpos < gen_seq_bounds->end) {
132 if (bssm_param->gt_donor_model_set &&
133 gen_seq_tran[genpos] == gen_alphabet_symbolmap['G'] &&
134 gen_seq_tran[genpos + 1] == gen_alphabet_symbolmap['T']) {
135 evalsplicesiteprobformodel(prob, true, gen_seq_tran, gen_seq_bounds,
136 genpos, gen_alphabet_symbolmap,
137 &bssm_param->gt_donor_model);
138 }
139 else if (bssm_param->gc_donor_model_set &&
140 gen_seq_tran[genpos] == gen_alphabet_symbolmap['G'] &&
141 gen_seq_tran[genpos + 1] == gen_alphabet_symbolmap['C']) {
142 evalsplicesiteprobformodel(prob, true, gen_seq_tran, gen_seq_bounds,
143 genpos, gen_alphabet_symbolmap,
144 &bssm_param->gc_donor_model);
145 }
146 }
147 }
148
149 static void evalacceptorprob(GthFlt *prob, const unsigned char *gen_seq_tran,
150 const GtRange *gen_seq_bounds,
151 GtUword genpos,
152 const GtUchar *gen_alphabet_symbolmap,
153 GthBSSMParam *bssm_param)
154 {
155 *prob = (GthFlt) 0.0;
156 gt_assert(bssm_param);
157
158 if (genpos > 0 &&
159 gen_seq_tran[genpos - 1] == gen_alphabet_symbolmap['A'] &&
160 gen_seq_tran[genpos] == gen_alphabet_symbolmap['G']) {
161 if (bssm_param->ag_acceptor_model_set) {
162 evalsplicesiteprobformodel(prob, false, gen_seq_tran, gen_seq_bounds,
163 genpos, gen_alphabet_symbolmap,
164 &bssm_param->ag_acceptor_model);
165 }
166 }
167 }
168
169 /*
170 The following function evaluates the U12-type intron model.
171 That is, if a consensus sequence /[AG]TATCCTT (where / denotes the exon end
172 and $[AG]$ indicates A or G) is found in the sequence part of
173 <gen_seq_tran> denoted by <left> and <right>, the probabilities are
174 updated.
175 */
176
177 static void evaluateU12intronmodel(GthFlt *log_Pdonor, GthFlt *log_1minusPdonor,
178 const unsigned char *gen_seq_tran,
179 GtUword left,
180 GtUword right,
181 GtUword probindex,
182 GT_UNUSED GtUword probindex_afterwards,
183 GthFlt log_U12typedonorprob,
184 GthFlt log1minus_U12typedonorprob,
185 GthFlt log_U12typedonorprobonemismatch,
186 GthFlt log1minus_U12typedonorprobonemismatch,
187 unsigned char Achar,
188 unsigned char Cchar,
189 unsigned char Gchar,
190 unsigned char Tchar)
191 {
192 GtUword mismatchcounter;
193 const unsigned char *sptr, *pptr;
194
195 #define CONSENSUS_PATTERN_SIZE 8
196
197 #define CHECK_FOR_U12_CONSENSUS_CHAR(C)\
198 if (*pptr != (C))\
199 {\
200 mismatchcounter++;\
201 if (mismatchcounter > 1)\
202 {\
203 continue;\
204 }\
205 }\
206 pptr--
207
208 for (sptr = gen_seq_tran + left + CONSENSUS_PATTERN_SIZE - 1;
209 sptr <= gen_seq_tran + right; sptr++, probindex++)
210 {
211 pptr = sptr;
212 mismatchcounter = 0;
213
214 /* check the last 6 characters of consensus (we are going backwards)
215 one mismatch is allowed in this 6 characters */
216 CHECK_FOR_U12_CONSENSUS_CHAR(Tchar);
217 CHECK_FOR_U12_CONSENSUS_CHAR(Tchar);
218 CHECK_FOR_U12_CONSENSUS_CHAR(Cchar);
219 CHECK_FOR_U12_CONSENSUS_CHAR(Cchar);
220 CHECK_FOR_U12_CONSENSUS_CHAR(Tchar);
221 CHECK_FOR_U12_CONSENSUS_CHAR(Achar);
222
223 /* check second character of consensus (has to match exactly) */
224 if (*pptr != Tchar)
225 continue;
226 pptr--;
227
228 /* check first character of consensus (has to match exactly) */
229 if (*pptr == Achar || *pptr == Gchar) {
230 if (mismatchcounter == 0) {
231 if (log_U12typedonorprob > log_Pdonor[probindex]) {
232 log_Pdonor[probindex] = log_U12typedonorprob;
233 log_1minusPdonor[probindex] = log1minus_U12typedonorprob;
234 }
235 }
236 else {
237 if (log_U12typedonorprobonemismatch> log_Pdonor[probindex]) {
238 log_Pdonor[probindex] = log_U12typedonorprobonemismatch;
239 log_1minusPdonor[probindex] = log1minus_U12typedonorprobonemismatch;
240 }
241 }
242 }
243 }
244
245 /* probindex is correct */
246 gt_assert(probindex + CONSENSUS_PATTERN_SIZE - 1 == probindex_afterwards);
247 }
248
249 static void calculateprobabilities(GtArray *ranges, GtUword totallength,
250 GthFlt *log_Pdonor,
251 GthFlt *log_1minusPdonor,
252 GthFlt *log_Pacceptor,
253 GthFlt *log_1minusPacceptor,
254 const unsigned char *gen_seq_tran,
255 const GtRange *gen_seq_bounds,
256 const GtUchar *gen_alphabet_symbolmap,
257 GthSpliceSiteModel *ssm,
258 bool gt_donor_model_set,
259 bool gc_donor_model_set,
260 bool ag_acceptor_model_set)
261 {
262 const unsigned char Achar = gen_alphabet_symbolmap['A'],
263 Cchar = gen_alphabet_symbolmap['C'],
264 Gchar = gen_alphabet_symbolmap['G'],
265 Tchar = gen_alphabet_symbolmap['T'];
266 GtUword rangeindex,
267 startpos,
268 endpos,
269 genomicindex,
270 probindex = 0,
271 probindexbackupforU12evaluation,
272 numofranges = gt_array_size(ranges);
273 unsigned char cc,
274 ccminus1,
275 ccplus1;
276 bool lastgenomicbase = false,
277 usegenericmodel = true;
278
279 #define SET_OTHER_SPLICE_SITE_PROB(P)\
280 if (usegenericmodel)\
281 {\
282 log_Pdonor[(P)] = ssm->log_genericothersplicesitep;\
283 log_Pacceptor[(P)] = ssm->log_genericothersplicesitep;\
284 log_1minusPdonor[(P)] = ssm->log1minus_genericothersplicesitep;\
285 log_1minusPacceptor[(P)] = ssm->log1minus_genericothersplicesitep;\
286 }\
287 else\
288 {\
289 log_Pdonor[(P)] = ssm->log_nongenericothersplicesitep;\
290 log_Pacceptor[(P)] = ssm->log_nongenericothersplicesitep;\
291 log_1minusPdonor[(P)] = ssm->log1minus_nongenericothersplicesitep;\
292 log_1minusPacceptor[(P)] = ssm->log1minus_nongenericothersplicesitep;\
293 }
294
295 if (gt_donor_model_set || gc_donor_model_set || ag_acceptor_model_set)
296 usegenericmodel = false;
297
298 for (rangeindex = 0; rangeindex < numofranges; rangeindex++) {
299 probindexbackupforU12evaluation = probindex;
300
301 if (rangeindex == 0 &&
302 ((GtRange*) gt_array_get_first(ranges))->start ==
303 gen_seq_bounds->start) {
304 /* in this case we consider the first genomic base */
305 gt_assert(probindex == 0);
306 SET_OTHER_SPLICE_SITE_PROB(0);
307 probindex++;
308 startpos = ((GtRange*) gt_array_get(ranges, rangeindex))->start + 1;
309 }
310 else
311 startpos = ((GtRange*) gt_array_get(ranges, rangeindex))->start;
312
313 if (rangeindex == numofranges - 1 &&
314 ((GtRange*) gt_array_get(ranges, numofranges - 1))->end ==
315 gen_seq_bounds->end) {
316 /* in this case we consider the last genomic base */
317 SET_OTHER_SPLICE_SITE_PROB(totallength - 1);
318 lastgenomicbase = true; /* to increase probindex later */
319 endpos = ((GtRange*) gt_array_get(ranges, rangeindex))->end - 1;
320 }
321 else
322 endpos = ((GtRange*) gt_array_get(ranges, rangeindex))->end;
323
324 for (genomicindex = startpos; genomicindex <= endpos; genomicindex++) {
325 cc = gen_seq_tran[genomicindex]; /* cc = "current character" */
326 ccminus1 = gen_seq_tran[genomicindex - 1];
327 ccplus1 = gen_seq_tran[genomicindex + 1];
328
329 if (cc == Gchar) {
330 if (ccplus1 == Tchar) {
331 /* donor = GT */
332 if (!gt_donor_model_set) {
333 log_Pdonor[probindex] = ssm->log_genericGTdonorprob;
334 log_1minusPdonor[probindex] = ssm->log1minus_genericGTdonorprob;
335 }
336 else {
337 log_Pdonor[probindex] = ssm->log_nongenericGTdonorprob;
338 log_1minusPdonor[probindex] = ssm->log1minus_nongenericGTdonorprob;
339 }
340 }
341 else if (ccplus1 == Cchar) {
342 /* donor = GC */
343 if (!gc_donor_model_set) {
344 log_Pdonor[probindex] = ssm->log_genericGCdonorprob;
345 log_1minusPdonor[probindex] = ssm->log1minus_genericGCdonorprob;
346 }
347 else {
348 log_Pdonor[probindex] = ssm->log_nongenericGCdonorprob;
349 log_1minusPdonor[probindex] = ssm->log1minus_nongenericGCdonorprob;
350 }
351 }
352 else {
353 /* donor = GA | GG */
354 if (usegenericmodel) {
355 log_Pdonor[probindex] = ssm->log_genericothersplicesitep;
356 log_1minusPdonor[probindex] =
357 ssm->log1minus_genericothersplicesitep;
358 }
359 else {
360 log_Pdonor[probindex] = ssm->log_nongenericothersplicesitep;
361 log_1minusPdonor[probindex] =
362 ssm->log1minus_nongenericothersplicesitep;
363 }
364 }
365 if (ccminus1 == Achar) {
366 if (!ag_acceptor_model_set) {
367 /* acceptor = AG */
368 log_Pacceptor[probindex] = ssm->log_genericAGacceptorprob;
369 log_1minusPacceptor[probindex] =
370 ssm->log1minus_genericAGacceptorprob;
371 }
372 else {
373 log_Pacceptor[probindex] = ssm->log_nongenericAGacceptorprob;
374 log_1minusPacceptor[probindex] =
375 ssm->log1minus_nongenericAGacceptorprob;
376 }
377 }
378 else {
379 /* acceptor = CG | GG | TG */
380 if (usegenericmodel) {
381 log_Pacceptor[probindex] = ssm->log_genericothersplicesitep;
382 log_1minusPacceptor[probindex] =
383 ssm->log1minus_genericothersplicesitep;
384 }
385 else {
386 log_Pacceptor[probindex] =
387 ssm->log_nongenericothersplicesitep;
388 log_1minusPacceptor[probindex] =
389 ssm->log1minus_nongenericothersplicesitep;
390 }
391 }
392 }
393 else {
394 SET_OTHER_SPLICE_SITE_PROB(probindex);
395
396 if (cc == Achar && ccplus1 == Tchar) {
397 /* donor = AT */
398 if (ssm->useU12intronmodel) {
399 log_Pdonor[probindex] = ssm->log_nongenericATdonorprob;
400 log_1minusPdonor[probindex] =
401 ssm->log1minus_nongenericATdonorprob;
402 }
403 else {
404 log_Pdonor[probindex] = ssm->log_genericATdonorprob;
405 log_1minusPdonor[probindex] =
406 ssm->log1minus_genericATdonorprob;
407 }
408 }
409 if (ccminus1 == Achar && cc == Cchar) {
410 /* acceptor = AC */
411 if (usegenericmodel) {
412 log_Pacceptor[probindex] = ssm->log_genericACacceptorprob;
413 log_1minusPacceptor[probindex] =
414 ssm->log1minus_genericACacceptorprob;
415 }
416 else {
417 log_Pacceptor[probindex] = ssm->log_nongenericACacceptorprob;
418 log_1minusPacceptor[probindex] =
419 ssm->log1minus_nongenericACacceptorprob;
420 }
421 }
422 }
423 probindex++;
424 }
425
426 if (lastgenomicbase)
427 probindex++;
428
429 /* evalutate U12-type intron model */
430 if (ssm->useU12intronmodel) {
431 evaluateU12intronmodel(log_Pdonor, log_1minusPdonor, gen_seq_tran,
432 ((GtRange*) gt_array_get(ranges, rangeindex))
433 ->start,
434 ((GtRange*) gt_array_get(ranges, rangeindex))
435 ->end, probindexbackupforU12evaluation,
436 probindex, ssm->log_U12typedonorprob,
437 ssm->log1minus_U12typedonorprob,
438 ssm->log_U12typedonorprobonemismatch,
439 ssm->log1minus_U12typedonorprobonemismatch, Achar,
440 Cchar, Gchar, Tchar);
441 }
442 }
443
444 gt_assert(probindex == totallength);
445 }
446
447 static void filllogvaluesforonestrand(GtArray *ranges,
448 const unsigned char *gen_seq_tran,
449 const GtRange *gen_seq_bounds,
450 GthFlt *log_Pdonor,
451 GthFlt *log_1minusPdonor,
452 GthFlt *log_Pacceptor,
453 GthFlt *log_1minusPacceptor,
454 const GtUchar *gen_alphabet_symbolmap,
455 GthSpliceSiteModel *splice_site_model)
456 {
457 GtUword rangeindex,
458 startpos,
459 endpos,
460 genomicindex,
461 probindex = 0,
462 totallength = gt_ranges_total_length(ranges);
463 GthFlt donorprob, acceptorprob;
464 double log_donorprob, log_acceptorprob;
465
466 if (!splice_site_model->bssm_param) {
467 /* the ``generic'' species */
468 calculateprobabilities(ranges, totallength, log_Pdonor, log_1minusPdonor,
469 log_Pacceptor, log_1minusPacceptor, gen_seq_tran,
470 gen_seq_bounds, gen_alphabet_symbolmap,
471 splice_site_model, false, false, false);
472 }
473 else {
474 /* all other species */
475 calculateprobabilities(ranges, totallength, log_Pdonor, log_1minusPdonor,
476 log_Pacceptor, log_1minusPacceptor, gen_seq_tran,
477 gen_seq_bounds, gen_alphabet_symbolmap,
478 splice_site_model,
479 splice_site_model->bssm_param->gt_donor_model_set,
480 splice_site_model->bssm_param->gc_donor_model_set,
481 splice_site_model->bssm_param
482 ->ag_acceptor_model_set);
483
484 for (rangeindex = 0; rangeindex < gt_array_size(ranges); rangeindex++) {
485 startpos = ((GtRange*) gt_array_get(ranges, rangeindex))->start;
486 endpos = ((GtRange*) gt_array_get(ranges, rangeindex))->end;
487
488 for (genomicindex = startpos; genomicindex <= endpos; genomicindex++) {
489 evaldonorprob(&donorprob, gen_seq_tran, gen_seq_bounds, genomicindex,
490 gen_alphabet_symbolmap, splice_site_model->bssm_param);
491 if (donorprob > GTH_DEFAULT_MAXIMAL_SPLICESITEPROB)
492 donorprob = GTH_DEFAULT_MAXIMAL_SPLICESITEPROB;
493 if (donorprob > 0.0) {
494 log_donorprob = log((double) donorprob);
495 if (log_donorprob > (double) log_Pdonor[probindex]) {
496 log_Pdonor[probindex] = (GthFlt) log_donorprob;
497 log_1minusPdonor[probindex] = (GthFlt)
498 log(1.0 - (double) donorprob);
499 }
500 }
501 evalacceptorprob(&acceptorprob, gen_seq_tran, gen_seq_bounds,
502 genomicindex, gen_alphabet_symbolmap,
503 splice_site_model->bssm_param);
504 if (acceptorprob > GTH_DEFAULT_MAXIMAL_SPLICESITEPROB)
505 acceptorprob = GTH_DEFAULT_MAXIMAL_SPLICESITEPROB;
506 if (acceptorprob > 0.0) {
507 log_acceptorprob = log((double) acceptorprob);
508 if (log_acceptorprob > (double) log_Pacceptor[probindex]) {
509 log_Pacceptor[probindex] = (GthFlt) log_acceptorprob;
510 log_1minusPacceptor[probindex] = (GthFlt)
511 log(1.0 - (double) acceptorprob);
512 }
513 }
514 probindex++;
515 }
516 }
517
518 gt_assert(probindex == totallength);
519 }
520 }
521
522 GthDPParam* dp_param_alloc(GtArray *ranges)
523 {
524 GtUword totallength;
525 GthDPParam *dp_param;
526
527 gt_assert(ranges);
528
529 dp_param = gt_calloc(1, sizeof *dp_param);
530 totallength = gt_ranges_total_length(ranges);
531
532 /* try to allocate space for the DP parameter */
533 dp_param->log_Pdonor = malloc(sizeof (GthFlt) * totallength);
534 CHECK_DP_PARAMETER_ALLOCATION(dp_param->log_Pdonor);
535
536 dp_param->log_1minusPdonor = malloc(sizeof (GthFlt) * totallength);
537 CHECK_DP_PARAMETER_ALLOCATION(dp_param->log_1minusPdonor);
538
539 dp_param->log_Pacceptor = malloc(sizeof (GthFlt) * totallength);
540 CHECK_DP_PARAMETER_ALLOCATION(dp_param->log_Pacceptor);
541
542 dp_param->log_1minusPacceptor = malloc(sizeof (GthFlt) * totallength);
543 CHECK_DP_PARAMETER_ALLOCATION(dp_param->log_1minusPacceptor);
544
545 return dp_param;
546 }
547
548 GthDPParam* gth_dp_param_new(GtArray *ranges,
549 const unsigned char *gen_seq_tran,
550 const GtRange *gen_seq_bounds,
551 GthSpliceSiteModel *splice_site_model,
552 GtAlphabet *gen_alphabet)
553 {
554 GthDPParam *dp_param;
555 gt_assert(ranges && gen_seq_tran && splice_site_model && gen_alphabet);
556 if ((dp_param = dp_param_alloc(ranges))) {
557 filllogvaluesforonestrand(ranges, gen_seq_tran, gen_seq_bounds,
558 dp_param->log_Pdonor,
559 dp_param->log_1minusPdonor,
560 dp_param->log_Pacceptor,
561 dp_param->log_1minusPacceptor,
562 gt_alphabet_symbolmap(gen_alphabet),
563 splice_site_model);
564 }
565 return dp_param;
566 }
567
568 GthDPParam* gth_dp_param_new_with_range(GtUword start,
569 GtUword end,
570 const unsigned char *gen_seq_tran,
571 const GtRange *gen_seq_bounds,
572 GthSpliceSiteModel *splice_site_model,
573 GtAlphabet *gen_alphabet)
574 {
575 GthDPParam *dp_param;
576 GtRange range;
577 GtArray *ranges;
578 gt_assert(start <= end);
579 gt_assert(gen_seq_tran && splice_site_model && gen_alphabet);
580 ranges = gt_array_new(sizeof (GtRange));
581 range.start = start;
582 range.end = end;
583 gt_array_add(ranges, range);
584 dp_param = gth_dp_param_new(ranges, gen_seq_tran, gen_seq_bounds,
585 splice_site_model, gen_alphabet);
586 gt_array_delete(ranges);
587 return dp_param;
588 }
589
590 void gth_dp_param_delete(GthDPParam *dp_param)
591 {
592 if (!dp_param) return;
593 free(dp_param->log_Pdonor);
594 free(dp_param->log_1minusPdonor);
595 free(dp_param->log_Pacceptor);
596 free(dp_param->log_1minusPacceptor);
597 gt_free(dp_param);
598 }
+0
-47
src/gth/dp_param.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DP_PARAM_H
18 #define DP_PARAM_H
19
20 #include "core/alphabet.h"
21 #include "gth/gthchain.h"
22 #include "gth/splice_site_model.h"
23
24 typedef struct {
25 GthFlt *log_Pdonor, /* donor site */
26 *log_1minusPdonor,
27 *log_Pacceptor, /* acceptor site */
28 *log_1minusPacceptor;
29 } GthDPParam;
30
31 /* Can return NULL */
32 GthDPParam* gth_dp_param_new(GtArray *ranges,
33 const unsigned char *gen_seq_tran,
34 const GtRange *gen_seq_bounds,
35 GthSpliceSiteModel*,
36 GtAlphabet *gen_alphabet);
37 /* Can return NULL */
38 GthDPParam* gth_dp_param_new_with_range(GtUword left,
39 GtUword right,
40 const unsigned char *gen_seq_tran,
41 const GtRange *gen_seq_bounds,
42 GthSpliceSiteModel*,
43 GtAlphabet *gen_alphabet);
44 void gth_dp_param_delete(GthDPParam *dp_param);
45
46 #endif
+0
-138
src/gth/dp_scores_protein.c less more
0 /*
1 Copyright (c) 2009-2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/array2dim_api.h"
17 #include "core/array3dim.h"
18 #include "core/trans_table.h"
19 #include "core/unused_api.h"
20 #include "gth/align_common.h"
21 #include "gth/dp_scores_protein.h"
22
23 #define INDEL_PENALTY -10.0
24 #define SCALEFACTOR 0.4
25
26 static GthFlt get_score(GtScoreMatrix *score_matrix,
27 GtAlphabet *score_matrix_alphabet,
28 unsigned char amino,
29 unsigned char origreferencechar)
30 {
31 GthFlt rval = 0.0,
32 scalefactor = SCALEFACTOR,
33 indel_penalty = INDEL_PENALTY;
34
35 if (amino == DASH || origreferencechar == DASH) {
36 /* 1.) scaled INDEL_PENALTY for deletions from and insertions into genomic
37 DNA of lengths 1, 2, or 3, irrespective of indel size */
38 rval = scalefactor * indel_penalty;
39 }
40 else if (amino != WILDCARD && amino <= CHAR_MAX &&
41 gt_alphabet_valid_input(score_matrix_alphabet, amino) &&
42 origreferencechar <= CHAR_MAX &&
43 gt_alphabet_valid_input(score_matrix_alphabet,
44 origreferencechar)) {
45 /* XXX: shorten this */
46 if (amino == GT_STOP_AMINO) {
47 /* 2.) (-)2*INDEL_PENALTY for matching/mismatching a stop codon */
48 if (origreferencechar == GT_STOP_AMINO)
49 rval = scalefactor * -2 * indel_penalty;
50 else
51 rval = scalefactor * 2 * indel_penalty;
52 }
53 else {
54 /* 3.) amino acid substitution score */
55 if (origreferencechar == GT_STOP_AMINO)
56 rval = scalefactor * 2 * indel_penalty;
57 else {
58 GtUchar code1, code2;
59 int wcidx;
60 code1 = gt_alphabet_encode(score_matrix_alphabet, amino);
61 code2 = gt_alphabet_encode(score_matrix_alphabet, origreferencechar);
62 wcidx = gt_alphabet_size(score_matrix_alphabet) - 1;
63 rval = scalefactor *
64 gt_score_matrix_get_score(score_matrix,
65 code1 == WILDCARD ? wcidx : code1,
66 code2 == WILDCARD ? wcidx : code2);
67 }
68 }
69 }
70 /* 4.) else: neutral score in case of wild-card characters in the genomic DNA
71 */
72
73 return rval;
74 }
75
76 static GtUchar*** precompute_codon2amino(GtUword translationtable)
77 {
78 GtUchar ***codon2amino;
79 GtTransTable *transtable;
80 GtAlphabet *dna_alpha;
81 int x, y, z, GT_UNUSED rval;
82 char amino;
83 gt_array3dim_malloc(codon2amino, 4, 4, 4);
84 dna_alpha = gt_alphabet_new_dna();
85 transtable = gt_trans_table_new(translationtable, NULL);
86 /* XXX: the validity of the translation table has to be checked before */
87 gt_assert(transtable);
88 for (x = 0; x <= 3; x++) {
89 for (y = 0; y <= 3; y++) {
90 for (z = 0; z <= 3; z++) {
91 char n1, n2, n3;
92 n1 = gt_alphabet_decode(dna_alpha, x);
93 n2 = gt_alphabet_decode(dna_alpha, y);
94 n3 = gt_alphabet_decode(dna_alpha, z);
95 rval = gt_trans_table_translate_codon(transtable, n1, n2, n3, &amino,
96 NULL);
97 gt_assert(!rval);
98 codon2amino[x][y][z] = amino;
99 }
100 }
101 }
102 gt_trans_table_delete(transtable);
103 gt_alphabet_delete(dna_alpha);
104 return codon2amino;
105 }
106
107 static GthFlt** precompute_scores(GtScoreMatrix *score_matrix,
108 GtAlphabet *score_matrix_alphabet)
109 {
110 GthFlt **score;
111 int x, y;
112 gt_array2dim_malloc(score, UCHAR_MAX+1, UCHAR_MAX+1);
113 for (x = 0; x < UCHAR_MAX+1; x++) {
114 for (y = 0; y < UCHAR_MAX+1; y++)
115 score[x][y] = get_score(score_matrix, score_matrix_alphabet, x, y);
116 }
117 return score;
118 }
119
120 GthDPScoresProtein* gth_dp_scores_protein_new(GtUword translationtable,
121 GtScoreMatrix *score_matrix,
122 GtAlphabet *score_matrix_alphabet)
123 {
124 GthDPScoresProtein *dp_scores_protein = gt_malloc(sizeof *dp_scores_protein);
125 dp_scores_protein->codon2amino = precompute_codon2amino(translationtable);
126 dp_scores_protein->score = precompute_scores(score_matrix,
127 score_matrix_alphabet);
128 return dp_scores_protein;
129 }
130
131 void gth_dp_scores_protein_delete(GthDPScoresProtein *dp_scores_protein)
132 {
133 if (!dp_scores_protein) return;
134 gt_array3dim_delete(dp_scores_protein->codon2amino);
135 gt_array2dim_delete(dp_scores_protein->score);
136 gt_free(dp_scores_protein);
137 }
+0
-46
src/gth/dp_scores_protein.h less more
0 /*
1 Copyright (c) 2009 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef DP_SCORES_PROTEIN_H
17 #define DP_SCORES_PROTEIN_H
18
19 #include "core/chardef.h"
20 #include "core/score_matrix.h"
21 #include "gth/bssm_param.h"
22
23 typedef struct {
24 GtUchar ***codon2amino;
25 GthFlt **score;
26 } GthDPScoresProtein;
27
28 static inline GthFlt GTHGETSCORE(GthDPScoresProtein *scores,
29 GtUchar n1, GtUchar n2, GtUchar n3,
30 GtUchar aa)
31 {
32 if (n1 == DASH || n2 == DASH || n3 == DASH)
33 return scores->score[DASH][aa];
34 else if (n1 > 3 || n2 > 3 || n3 > 3)
35 return scores->score[WILDCARD][aa];
36 return scores->score[scores->codon2amino[n1][n2][n3]][aa];
37 }
38
39 GthDPScoresProtein* gth_dp_scores_protein_new(GtUword translationtable,
40 GtScoreMatrix *score_matrix,
41 GtAlphabet
42 *score_matrix_alphabet);
43 void gth_dp_scores_protein_delete(GthDPScoresProtein*);
44
45 #endif
+0
-29
src/gth/duplicate_check.h less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef DUPLICATE_CHECK_H
17 #define DUPLICATE_CHECK_H
18
19 typedef enum {
20 GTH_DC_NONE,
21 GTH_DC_ID,
22 GTH_DC_DESC,
23 GTH_DC_SEQ,
24 GTH_DC_BOTH,
25 GTH_NUM_OF_DC_MODES
26 } GthDuplicateCheck;
27
28 #endif
+0
-268
src/gth/editoperation.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
3 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #include "gth/indent.h"
19 #include "gth/editoperation.h"
20
21 Eoptype gt_editoperation_type(Editoperation eop, bool proteineop)
22 {
23 Editoperation maxlen = proteineop ? MAXIDENTICALLENGTH_PROTEIN
24 : MAXIDENTICALLENGTH;
25
26 if (eop & maxlen) {
27 switch (eop & ~maxlen) {
28 case 0:
29 return EOP_TYPE_MATCH;
30 case DELETIONEOP:
31 return EOP_TYPE_INTRON;
32 case DELETION_WITH_1_GAP_EOP:
33 gt_assert(proteineop);
34 return EOP_TYPE_INTRON_WITH_1_BASE_LEFT;
35 case DELETION_WITH_2_GAPS_EOP:
36 gt_assert(proteineop);
37 return EOP_TYPE_INTRON_WITH_2_BASES_LEFT;
38 default: gt_assert(0); return EOP_TYPE_MATCH;
39 }
40 }
41 else {
42 switch (eop) {
43 case MISMATCHEOP:
44 return EOP_TYPE_MISMATCH;
45 case DELETIONEOP:
46 return EOP_TYPE_DELETION;
47 case INSERTIONEOP:
48 return EOP_TYPE_INSERTION;
49 case MISMATCH_WITH_1_GAP_EOP:
50 return EOP_TYPE_MISMATCH_WITH_1_GAP;
51 case MISMATCH_WITH_2_GAPS_EOP:
52 gt_assert(proteineop);
53 return EOP_TYPE_MISMATCH_WITH_2_GAPS;
54 case DELETION_WITH_1_GAP_EOP:
55 gt_assert(proteineop);
56 return EOP_TYPE_DELETION_WITH_1_GAP;
57 case DELETION_WITH_2_GAPS_EOP:
58 gt_assert(proteineop);
59 return EOP_TYPE_DELETION_WITH_2_GAPS;
60 default: gt_assert(0); return EOP_TYPE_MISMATCH; /* illegal edit op. */
61 }
62 }
63 }
64
65 unsigned int gt_editoperation_length(Editoperation eop, bool proteineop)
66 {
67 Editoperation maxlen = proteineop ? MAXIDENTICALLENGTH_PROTEIN
68 : MAXIDENTICALLENGTH;
69 if (eop & maxlen)
70 return eop & maxlen;
71 return 1;
72 }
73
74 void gt_editoperation_set_length(Editoperation *eop, unsigned int length,
75 bool proteineop)
76 {
77 Editoperation maxlen = proteineop ? MAXIDENTICALLENGTH_PROTEIN
78 : MAXIDENTICALLENGTH;
79 gt_assert(eop && length);
80 gt_assert(length <= maxlen);
81 *eop = (*eop & ~maxlen) | length;
82 }
83
84 static void showmultieop(const char *eop_string, unsigned int eop_length,
85 bool proteineop, unsigned int indentlevel,
86 GtFile *outfp)
87 {
88 gth_indent(outfp, indentlevel);
89 if (proteineop) {
90 gt_file_xprintf(outfp, "<Protein_eop_type>");
91 gt_file_xprintf(outfp, "%s", eop_string);
92 gt_file_xprintf(outfp, "</Protein_eop_type>\n");
93 }
94 else {
95 gt_file_xprintf(outfp, "<DNA_eop_type>");
96 gt_file_xprintf(outfp, "%s", eop_string);
97 gt_file_xprintf(outfp, "</DNA_eop_type>\n");
98 }
99
100 gth_indent(outfp, indentlevel);
101 if (proteineop)
102 {
103 gt_file_xprintf(outfp, "<Protein_eop_length>");
104 gt_file_xprintf(outfp, "%u", eop_length);
105 gt_file_xprintf(outfp, "</Protein_eop_length>\n");
106 }
107 else {
108 gt_file_xprintf(outfp, "<DNA_eop_length>");
109 gt_file_xprintf(outfp, "%u", eop_length);
110 gt_file_xprintf(outfp, "</DNA_eop_length>\n");
111 }
112 }
113
114 static void showoneeditopgeneric(GtFile *outfp, Editoperation eop,
115 bool proteineop,
116 bool xmlout, GtUword indentlevel,
117 bool nexteopisdefined, Editoperation nexteop,
118 GtUword *consecutive_eop_length)
119 {
120 unsigned int eop_length;
121
122 /* this code is necessary to show consecutive edit operations of the same
123 type as one edit operation in the XML output */
124 if (xmlout) {
125 if (nexteopisdefined &&
126 gt_editoperation_type(eop, proteineop) ==
127 gt_editoperation_type(nexteop, proteineop)) {
128 /* store length of this eop */
129 *consecutive_eop_length += gt_editoperation_length(eop, proteineop);
130 /* return, this consecutive eop is shown later */
131 return;
132 }
133 else {
134 /* store total length of this consecutive eop for output */
135 eop_length = *consecutive_eop_length +
136 gt_editoperation_length(eop, proteineop);
137 /* reset */
138 *consecutive_eop_length = 0;
139 }
140 }
141 else
142 eop_length = gt_editoperation_length(eop, proteineop);
143
144 switch (gt_editoperation_type(eop, proteineop)) {
145 case EOP_TYPE_MATCH:
146 if (xmlout)
147 showmultieop("match", eop_length, proteineop, indentlevel, outfp);
148 else
149 gt_file_xprintf(outfp, "(M %u)", eop_length);
150 break;
151 case EOP_TYPE_INTRON:
152 if (xmlout)
153 showmultieop("intron", eop_length, proteineop, indentlevel, outfp);
154 else {
155 gt_file_xprintf(outfp, "(Intron%s %u)", proteineop ? "(0)" : "",
156 eop_length);
157 }
158 break;
159 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
160 if (xmlout) {
161 showmultieop("intron_with_1_base_left", eop_length, proteineop,
162 indentlevel, outfp);
163 }
164 else
165 gt_file_xprintf(outfp, "(Intron(1) %u)", eop_length);
166 break;
167 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
168 if (xmlout) {
169 showmultieop("intron_with_2_bases_left", eop_length, proteineop,
170 indentlevel, outfp);
171 }
172 else
173 gt_file_xprintf(outfp, "(Intron(2) %u)", eop_length);
174 break;
175 case EOP_TYPE_MISMATCH:
176 if (xmlout)
177 showmultieop("mismatch", eop_length, proteineop, indentlevel, outfp);
178 else
179 gt_file_xfputc('R',outfp);
180 break;
181 case EOP_TYPE_DELETION:
182 if (xmlout)
183 showmultieop("deletion", eop_length, proteineop, indentlevel, outfp);
184 else
185 gt_file_xfputc('D',outfp);
186 break;
187 case EOP_TYPE_INSERTION:
188 if (xmlout)
189 showmultieop("insertion", eop_length, proteineop, indentlevel, outfp);
190 else
191 gt_file_xfputc('I',outfp);
192 break;
193 case EOP_TYPE_MISMATCH_WITH_1_GAP:
194 if (xmlout) {
195 showmultieop("mismatch_with_1_gap", eop_length, proteineop, indentlevel,
196 outfp);
197 }
198 else
199 gt_file_xprintf(outfp, "R1");
200 break;
201 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
202 if (xmlout) {
203 showmultieop("mismatch_with_2_gaps", eop_length, proteineop,
204 indentlevel, outfp);
205 }
206 else
207 gt_file_xprintf(outfp, "R2");
208 break;
209 case EOP_TYPE_DELETION_WITH_1_GAP:
210 if (xmlout) {
211 showmultieop("deletion_with_1_gap", eop_length, proteineop, indentlevel,
212 outfp);
213 }
214 else
215 gt_file_xprintf(outfp, "D1");
216 break;
217 case EOP_TYPE_DELETION_WITH_2_GAPS:
218 if (xmlout) {
219 showmultieop("deletion_with_2_gaps", eop_length, proteineop,
220 indentlevel, outfp);
221 }
222 else
223 gt_file_xprintf(outfp, "D2");
224 break;
225 default: gt_assert(0);
226 }
227 if (!xmlout)
228 gt_file_xfputc(' ', outfp);
229 }
230
231 void gt_editoperation_show(Editoperation *eops, GtUword num_of_eops,
232 bool proteineops, bool xmlout, unsigned int indentlevel,
233 GtFile *outfp)
234 {
235 GtWord i;
236 GtUword consecutive_eop_length = 0;
237
238 if (xmlout) {
239 gth_indent(outfp, indentlevel);
240 if (proteineops)
241 gt_file_xprintf(outfp, "<Protein_eops>\n");
242 else
243 gt_file_xprintf(outfp, "<DNA_eops>\n");
244 }
245
246 for (i=(GtWord) (num_of_eops - 1); i >= 0; i--) {
247 if (i > 0) {
248 showoneeditopgeneric(outfp, eops[i], proteineops, xmlout, indentlevel + 1,
249 true, eops[i-1], &consecutive_eop_length);
250 }
251 else {
252 showoneeditopgeneric(outfp, eops[i], proteineops, xmlout, indentlevel + 1,
253 false, 0, &consecutive_eop_length);
254
255 }
256 }
257
258 if (xmlout) {
259 gth_indent(outfp, indentlevel);
260 if (proteineops)
261 gt_file_xprintf(outfp, "</Protein_eops>\n");
262 else
263 gt_file_xprintf(outfp, "</DNA_eops>\n");
264 }
265 else
266 gt_file_xfputc('\n', outfp);
267 }
+0
-98
src/gth/editoperation.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
3 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef EDITOPERATION_H
19 #define EDITOPERATION_H
20
21 #include <inttypes.h>
22 #include <stdbool.h>
23 #include <stdio.h>
24 #include "core/file.h"
25 #include "core/types_api.h"
26
27 /*
28 An edit operation is an uint16_t value which stores
29 in the two most significant bits one of the following edit operation
30 or 0 in which case the remaining 14 bits are used for
31 representing the length of a pair of identical substrings in the alignment.
32 The largest such pair of identical substrings to store is thus of length
33 MAXIDENTICALLENGTH.
34
35 An intron is represented as a DELETIONEOP where the remaining 14 bits
36 represent the length (01|length).
37 */
38
39 typedef uint16_t Editoperation;
40
41 #define MAXIDENTICALLENGTH ((1 << 14) - 1)
42 #define DELETIONEOP ((Editoperation) (1 << 14)) /* 01|00|0^12 */
43 #define INSERTIONEOP ((Editoperation) (1 << 15)) /* 10|00|0^12 */
44 #define MISMATCHEOP ((Editoperation) (3 << 14)) /* 11|00|0^12 */
45
46 /*
47 To be able to represent DNA/protein alignments we need additional multi edit
48 operations. We use two additional bits for this purpose (the third and
49 fourth most significant ones).
50 In this case the largest pair of identical substrings or introns which can
51 be stored in a multi edit operation shrinks to MAXIDENTICALLENGTH_PROTEIN.
52
53 The introns used in DNA alignments (01|00|length) represent introns
54 which start after a completely processed codon in DNA/protein alignments.
55 Introns which start after an incompletely processed codon are represented as
56 follows:
57 - Introns which start after two bases of a codon are represented as a
58 DELETION_WITH_1_GAP_EOP, because 1 base is left.
59 The remaining 12 bits represent the length (01|01|length).
60 - Introns wich start after one base of a codon are represented as a
61 DELETION_WITH_2_GAPS_EOP, because 2 bases are left.
62 The remaining 12 bits represent the length (01|10|length).
63 */
64
65 #define MAXIDENTICALLENGTH_PROTEIN ((1 << 12) - 1)
66 #define MISMATCH_WITH_1_GAP_EOP ((Editoperation) (13 << 12)) /* 11|01|0^12 */
67 #define MISMATCH_WITH_2_GAPS_EOP ((Editoperation) (14 << 12)) /* 11|10|0^12 */
68 #define DELETION_WITH_1_GAP_EOP ((Editoperation) (5 << 12)) /* 01|01|0^12 */
69 #define DELETION_WITH_2_GAPS_EOP ((Editoperation) (6 << 12)) /* 01|10|0^12 */
70
71 typedef enum {
72 EOP_TYPE_MATCH = 0,
73 EOP_TYPE_INTRON,
74 EOP_TYPE_INTRON_WITH_1_BASE_LEFT,
75 EOP_TYPE_INTRON_WITH_2_BASES_LEFT,
76 EOP_TYPE_MISMATCH,
77 EOP_TYPE_DELETION,
78 EOP_TYPE_INSERTION,
79 EOP_TYPE_MISMATCH_WITH_1_GAP,
80 EOP_TYPE_MISMATCH_WITH_2_GAPS,
81 EOP_TYPE_DELETION_WITH_1_GAP,
82 EOP_TYPE_DELETION_WITH_2_GAPS,
83 NUM_OF_EOP_TYPES
84 } Eoptype;
85
86 Eoptype gt_editoperation_type(Editoperation, bool proteineop);
87 unsigned int gt_editoperation_length(Editoperation, bool proteineop);
88 void gt_editoperation_set_length(Editoperation*, unsigned int,
89 bool proteineop);
90
91 void gt_editoperation_show(Editoperation *eops,
92 GtUword num_of_eops,
93 bool proteineops, bool xmlout,
94 unsigned int indentlevel,
95 GtFile *outfp);
96
97 #endif
+0
-242
src/gth/gff3_pgl_visitor.c less more
0 /*
1 Copyright (c) 2004-2011, 2013 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/unused_api.h"
18 #include "extended/cds_visitor.h"
19 #include "extended/feature_type.h"
20 #include "extended/genome_node.h"
21 #include "gth/ags.h"
22 #include "gth/gff3_pgl_visitor.h"
23 #include "gth/pgl_visitor_rep.h"
24 #include "gth/region_factory.h"
25
26 struct GthGFF3PGLVisitor {
27 const GthPGLVisitor parent_instance;
28 GthInput *input;
29 GthRegionFactory *region_factory;
30 GtStr *gthsourcetag;
31 GtNodeVisitor *cds_visitor;
32 GtArray *nodes;
33 GtFile *outfp;
34 };
35
36 #define gff3_pgl_visitor_cast(GV)\
37 gth_pgl_visitor_cast(gth_gff3_pgl_visitor_class(), GV)
38
39 static void gff3_pgl_visitor_free(GthPGLVisitor *pgl_visitor)
40 {
41 GtUword i;
42 GthGFF3PGLVisitor *visitor = gff3_pgl_visitor_cast(pgl_visitor);
43 for (i = 0; i < gt_array_size(visitor->nodes); i++)
44 gt_genome_node_delete(*(GtGenomeNode**) gt_array_get(visitor->nodes, i));
45 gt_array_delete(visitor->nodes);
46 gt_node_visitor_delete(visitor->cds_visitor);
47 gt_str_delete(visitor->gthsourcetag);
48 gth_region_factory_delete(visitor->region_factory);
49 }
50
51 static void gff3_pgl_visitor_preface(GthPGLVisitor *pgl_visitor,
52 GT_UNUSED GtUword num_of_pgls)
53 {
54 GthGFF3PGLVisitor *visitor = gff3_pgl_visitor_cast(pgl_visitor);
55 gth_region_factory_save(visitor->region_factory, visitor->nodes,
56 visitor->input);
57 }
58
59 static void gff3_pgl_visitor_set_region_mapping(GthPGLVisitor *pgl_visitor,
60 GtRegionMapping *region_mapping)
61 {
62 GthGFF3PGLVisitor *visitor;
63 gt_assert(pgl_visitor && region_mapping);
64 visitor = gff3_pgl_visitor_cast(pgl_visitor);
65 gt_cds_visitor_set_region_mapping(gt_cds_visitor_cast(visitor->cds_visitor),
66 region_mapping);
67 }
68
69 static void add_target_attributes(GtFeatureNode *mrna_feature, GthAGS *ags,
70 bool md5ids)
71 {
72 GtStr *target_attribute;
73 GthSA *sa;
74 GtUword i;
75 gt_assert(mrna_feature && ags);
76 target_attribute = gt_str_new();
77 for (i = 0; i < gt_array_size(ags->alignments); i++) {
78 sa = *(GthSA**) gt_array_get(ags->alignments, i);
79 if (strlen(gth_sa_gff3_target_attribute(sa, md5ids))) {
80 if (gt_str_length(target_attribute))
81 gt_str_append_char(target_attribute, ',');
82 gt_str_append_cstr(target_attribute,
83 gth_sa_gff3_target_attribute(sa, md5ids));
84 }
85 }
86 if (gt_str_length(target_attribute)) {
87 gt_feature_node_add_attribute(mrna_feature, "Target",
88 gt_str_get(target_attribute));
89 }
90 gt_str_delete(target_attribute);
91 }
92
93 static void save_pgl_in_gff3(GthPGL *pgl, GthRegionFactory *region_factory,
94 GtNodeVisitor *cds_visitor, GtArray *nodes,
95 GtStr *gthsourcetag, bool md5ids)
96 {
97 GthExonAGS *exon, *first_exon, *last_exon;
98 GtFeatureNode *gene_feature, *mrna_feature, *exon_feature;
99 GtUword i, j;
100 GtRange range;
101 GtStr *seqid;
102 GT_UNUSED int had_err;
103 struct GthAGS *ags;
104 GtWord offset;
105
106 gt_assert(pgl && region_factory && cds_visitor && nodes);
107
108 seqid = gth_region_factory_get_seqid(region_factory, gth_pgl_filenum(pgl),
109 gth_pgl_seqnum(pgl));
110 offset = gth_region_factory_offset(region_factory, gth_pgl_filenum(pgl),
111 gth_pgl_seqnum(pgl)) - 1;
112
113 /* create gene feature */
114 range = gth_pgl_genomic_range(pgl);
115 range = gt_range_offset(&range, offset);
116 gene_feature = (GtFeatureNode*)
117 gt_feature_node_new(seqid, gt_ft_gene, range.start, range.end,
118 gth_pgl_genomic_strand(pgl));
119 gt_feature_node_set_source(gene_feature, gthsourcetag);
120
121 for (i = 0; i < gth_pgl_num_of_ags(pgl); i++) {
122 ags = gth_pgl_get_ags(pgl, i);
123 /* create mRNA feature */
124 first_exon = (GthExonAGS*) gt_array_get_first(ags->exons);
125 last_exon = (GthExonAGS*) gt_array_get_last(ags->exons);
126 range.start = gth_pgl_is_forward(pgl)
127 ? SHOWGENPOSAGS(first_exon->range.start)
128 : SHOWGENPOSAGS(last_exon->range.end);
129 range.end = gth_pgl_is_forward(pgl)
130 ? SHOWGENPOSAGS(last_exon->range.end)
131 : SHOWGENPOSAGS(first_exon->range.start);
132 gt_assert(range.start <= range.end);
133 range = gt_range_offset(&range, offset);
134 mrna_feature = (GtFeatureNode*)
135 gt_feature_node_new(seqid, gt_ft_mRNA, range.start,
136 range.end, gth_ags_genomic_strand(ags));
137 gt_feature_node_set_source(mrna_feature, gthsourcetag);
138 add_target_attributes(mrna_feature, ags, md5ids);
139 gt_feature_node_add_child(gene_feature, mrna_feature);
140
141 for (j = 0; j < gt_array_size(ags->exons); j++) {
142 /* create splice sites, if necessary */
143 if (j > 0) {
144 GtGenomeNode *ss_feature;
145 /* donor site */
146 range = gth_ags_donor_site_range(ags, j-1),
147 range = gt_range_offset(&range, offset);
148 ss_feature = gt_feature_node_new(seqid,
149 gt_ft_five_prime_cis_splice_site,
150 range.start, range.end,
151 gth_ags_genomic_strand(ags));
152 gt_feature_node_set_source((GtFeatureNode*) ss_feature, gthsourcetag);
153 gt_feature_node_set_score((GtFeatureNode*) ss_feature,
154 gth_ags_donor_site_prob(ags, j-1));
155 gt_feature_node_add_child(mrna_feature, (GtFeatureNode*) ss_feature);
156
157 /* acceptor site */
158 range = gth_ags_acceptor_site_range(ags, j-1),
159 range = gt_range_offset(&range, offset);
160 ss_feature = gt_feature_node_new(seqid,
161 gt_ft_three_prime_cis_splice_site,
162 range.start, range.end,
163 gth_ags_genomic_strand(ags));
164 gt_feature_node_set_source((GtFeatureNode*) ss_feature, gthsourcetag);
165 gt_feature_node_set_score((GtFeatureNode*) ss_feature,
166 gth_ags_acceptor_site_prob(ags, j-1));
167 gt_feature_node_add_child(mrna_feature, (GtFeatureNode*) ss_feature);
168 }
169
170 /* create exon */
171 exon = gt_array_get(ags->exons, j);
172 range.start = gth_pgl_is_forward(pgl)
173 ? SHOWGENPOSAGS(exon->range.start)
174 : SHOWGENPOSAGS(exon->range.end);
175 range.end = gth_pgl_is_forward(pgl)
176 ? SHOWGENPOSAGS(exon->range.end)
177 : SHOWGENPOSAGS(exon->range.start);
178 gt_assert(range.start <= range.end);
179 range = gt_range_offset(&range, offset);
180 exon_feature = (GtFeatureNode*)
181 gt_feature_node_new(seqid, gt_ft_exon, range.start,
182 range.end,
183 gth_ags_genomic_strand(ags));
184 gt_feature_node_set_source(exon_feature, gthsourcetag);
185 gt_feature_node_set_score(exon_feature, exon->score);
186 gt_feature_node_add_child(mrna_feature, exon_feature);
187 }
188 }
189 had_err = gt_genome_node_accept((GtGenomeNode*) gene_feature, cds_visitor,
190 NULL);
191 gt_assert(!had_err); /* should not happen */
192 gt_array_add(nodes, gene_feature);
193 }
194
195 static void gff3_pgl_visitor_visit_pgl(GthPGLVisitor *pgl_visitor,
196 GthPGL *pgl,
197 GT_UNUSED GtUword pglnum)
198 {
199 GthGFF3PGLVisitor *visitor = gff3_pgl_visitor_cast(pgl_visitor);
200 gt_assert(pgl);
201 save_pgl_in_gff3(pgl, visitor->region_factory, visitor->cds_visitor,
202 visitor->nodes, visitor->gthsourcetag,
203 gth_input_md5ids(visitor->input));
204 }
205
206 static void gff3_pgl_visitor_trailer(GthPGLVisitor *pgl_visitor)
207 {
208 GthGFF3PGLVisitor *visitor = gff3_pgl_visitor_cast(pgl_visitor);
209 gt_genome_nodes_sort_stable(visitor->nodes);
210 gt_genome_nodes_show(visitor->nodes, visitor->outfp);
211 }
212
213 const GthPGLVisitorClass* gth_gff3_pgl_visitor_class()
214 {
215 static const GthPGLVisitorClass pglvc = { sizeof (GthGFF3PGLVisitor),
216 gff3_pgl_visitor_free,
217 gff3_pgl_visitor_preface,
218 gff3_pgl_visitor_set_region_mapping,
219 gff3_pgl_visitor_visit_pgl,
220 gff3_pgl_visitor_trailer };
221 return &pglvc;
222 }
223
224 GthPGLVisitor* gth_gff3_pgl_visitor_new(GthInput *input, bool use_desc_ranges,
225 GtUword minORFlength,
226 bool start_codon, bool final_stop_codon,
227 GtFile *outfp)
228 {
229 GthPGLVisitor *pgl_visitor =
230 gth_pgl_visitor_create(gth_gff3_pgl_visitor_class());
231 GthGFF3PGLVisitor *visitor = gff3_pgl_visitor_cast(pgl_visitor);
232 visitor->input = input;
233 visitor->region_factory = gth_region_factory_new(use_desc_ranges);
234 visitor->gthsourcetag = gt_str_new_cstr(GTHSOURCETAG);
235 visitor->cds_visitor = gt_cds_visitor_new(NULL, minORFlength,
236 visitor->gthsourcetag, start_codon,
237 final_stop_codon, false /* XXX */);
238 visitor->nodes = gt_array_new(sizeof (GtGenomeNode*));
239 visitor->outfp = outfp;
240 return pgl_visitor;
241 }
+0
-34
src/gth/gff3_pgl_visitor.h less more
0 /*
1 Copyright (c) 2008-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GFF3_PGL_VISITOR_H
18 #define GFF3_PGL_VISITOR_H
19
20 #include "gth/input.h"
21 #include "gth/pgl_visitor.h"
22
23 /* implements the ``spliced alignment visitor'' interface */
24 typedef struct GthGFF3PGLVisitor GthGFF3PGLVisitor;
25
26 const GthPGLVisitorClass* gth_gff3_pgl_visitor_class(void);
27 GthPGLVisitor* gth_gff3_pgl_visitor_new(GthInput*,
28 bool use_desc_ranges,
29 GtUword minORFlength,
30 bool start_codon,
31 bool stop_codon, GtFile*);
32
33 #endif
+0
-168
src/gth/gff3_sa_visitor.c less more
0 /*
1 Copyright (c) 2004-2011, 2013 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/unused_api.h"
18 #include "extended/feature_type.h"
19 #include "extended/genome_node.h"
20 #include "gth/gff3_sa_visitor.h"
21 #include "gth/sa_visitor_rep.h"
22 #include "gth/region_factory.h"
23
24 #define SA_DELIMITERLINECHAR '*'
25
26 struct GthGFF3SAVisitor {
27 const GthSAVisitor parent_instance;
28 GthInput *input;
29 GthRegionFactory *region_factory;
30 GtStr *gthsourcetag;
31 GtArray *nodes;
32 GtFile *outfp;
33 };
34
35 #define gff3_sa_visitor_cast(GV)\
36 gth_sa_visitor_cast(gth_gff3_sa_visitor_class(), GV)
37
38 static void gff3_sa_visitor_free(GthSAVisitor *sa_visitor)
39 {
40 GtUword i;
41 GthGFF3SAVisitor *visitor = gff3_sa_visitor_cast(sa_visitor);
42 for (i = 0; i < gt_array_size(visitor->nodes); i++)
43 gt_genome_node_delete(*(GtGenomeNode**) gt_array_get(visitor->nodes, i));
44 gt_array_delete(visitor->nodes);
45 gt_str_delete(visitor->gthsourcetag);
46 gth_region_factory_delete(visitor->region_factory);
47 }
48
49 static void gff3_sa_visitor_preface(GthSAVisitor *sa_visitor)
50 {
51 GthGFF3SAVisitor *visitor = gff3_sa_visitor_cast(sa_visitor);
52 gth_region_factory_save(visitor->region_factory, visitor->nodes,
53 visitor->input);
54 }
55
56 static void save_sa_in_gff3(GthSA *sa, GthRegionFactory *region_factory,
57 GtArray *nodes, GtStr *gthsourcetag, bool md5ids)
58 {
59 GtFeatureNode *gene_feature, *exon_feature;
60 GtRange range;
61 GtStr *seqid;
62 GtUword i;
63 GtWord offset;
64
65 gt_assert(sa && region_factory && nodes);
66
67 seqid = gth_region_factory_get_seqid(region_factory, gth_sa_gen_file_num(sa),
68 gth_sa_gen_seq_num(sa));
69 offset = gth_region_factory_offset(region_factory, gth_sa_gen_file_num(sa),
70 gth_sa_gen_seq_num(sa)) - 1;
71 /* create gene feature */
72 range.start = gth_sa_left_genomic_exon_border(sa, 0);
73 range.end = gth_sa_right_genomic_exon_border(sa, gth_sa_num_of_exons(sa)-1);
74 range = gt_range_reorder(range);
75 range = gt_range_offset(&range, offset);
76 gene_feature = (GtFeatureNode*)
77 gt_feature_node_new(seqid, gt_ft_gene, range.start, range.end,
78 gth_sa_gen_strand(sa));
79 gt_feature_node_set_source(gene_feature, gthsourcetag);
80 gt_feature_node_set_score(gene_feature, gth_sa_score(sa));
81 /* set target attribute, if possible */
82 if (strlen(gth_sa_gff3_target_attribute(sa, md5ids))) {
83 gt_feature_node_add_attribute(gene_feature, "Target",
84 gth_sa_gff3_target_attribute(sa, md5ids));
85 }
86
87 for (i = 0; i < gth_sa_num_of_exons(sa); i++) {
88 /* create splice sites, if necessary */
89 if (i > 0) {
90 GtGenomeNode *ss_feature;
91 /* donor site */
92 range = gth_sa_donor_site_range(sa, i-1),
93 range = gt_range_offset(&range, offset);
94 ss_feature = gt_feature_node_new(seqid, gt_ft_five_prime_cis_splice_site,
95 range.start, range.end,
96 gth_sa_gen_strand(sa));
97 gt_feature_node_set_source((GtFeatureNode*) ss_feature, gthsourcetag);
98 gt_feature_node_set_score((GtFeatureNode*) ss_feature,
99 gth_sa_donor_site_prob(sa, i-1));
100 gt_feature_node_add_child(gene_feature, (GtFeatureNode*) ss_feature);
101
102 /* acceptor site */
103 range = gth_sa_acceptor_site_range(sa, i-1),
104 range = gt_range_offset(&range, offset);
105 ss_feature = gt_feature_node_new(seqid, gt_ft_three_prime_cis_splice_site,
106 range.start, range.end,
107 gth_sa_gen_strand(sa));
108 gt_feature_node_set_source((GtFeatureNode*) ss_feature, gthsourcetag);
109 gt_feature_node_set_score((GtFeatureNode*) ss_feature,
110 gth_sa_acceptor_site_prob(sa, i-1));
111 gt_feature_node_add_child(gene_feature, (GtFeatureNode*) ss_feature);
112 }
113
114 /* create exon */
115 range.start = gth_sa_left_genomic_exon_border(sa, i);
116 range.end = gth_sa_right_genomic_exon_border(sa, i);
117 range = gt_range_reorder(range);
118 range = gt_range_offset(&range, offset);
119 exon_feature = (GtFeatureNode*)
120 gt_feature_node_new(seqid, gt_ft_exon, range.start,
121 range.end, gth_sa_gen_strand(sa));
122 gt_feature_node_set_source(exon_feature, gthsourcetag);
123 gt_feature_node_set_score(exon_feature,
124 gth_sa_exon_score(sa, i));
125 gt_feature_node_add_child(gene_feature, exon_feature);
126 }
127 gt_array_add(nodes, gene_feature);
128 }
129
130 static void gff3_sa_visitor_visit_sa(GthSAVisitor *sa_visitor, GthSA *sa)
131 {
132 GthGFF3SAVisitor *visitor = gff3_sa_visitor_cast(sa_visitor);
133 gt_assert(sa);
134 save_sa_in_gff3(sa, visitor->region_factory, visitor->nodes,
135 visitor->gthsourcetag, gth_input_md5ids(visitor->input));
136 }
137
138 static void gff3_sa_visitor_trailer(GthSAVisitor *sa_visitor,
139 GT_UNUSED GtUword num_of_sas)
140 {
141 GthGFF3SAVisitor *visitor = gff3_sa_visitor_cast(sa_visitor);
142 gt_genome_nodes_sort_stable(visitor->nodes);
143 gt_genome_nodes_show(visitor->nodes, visitor->outfp);
144 }
145
146 const GthSAVisitorClass* gth_gff3_sa_visitor_class()
147 {
148 static const GthSAVisitorClass savc = { sizeof (GthGFF3SAVisitor),
149 gff3_sa_visitor_free,
150 gff3_sa_visitor_preface,
151 gff3_sa_visitor_visit_sa,
152 gff3_sa_visitor_trailer };
153 return &savc;
154 }
155
156 GthSAVisitor* gth_gff3_sa_visitor_new(GthInput *input, bool use_desc_ranges,
157 GtFile *outfp)
158 {
159 GthSAVisitor *sa_visitor = gth_sa_visitor_create(gth_gff3_sa_visitor_class());
160 GthGFF3SAVisitor *visitor = gff3_sa_visitor_cast(sa_visitor);
161 visitor->input = input;
162 visitor->region_factory = gth_region_factory_new(use_desc_ranges);
163 visitor->gthsourcetag = gt_str_new_cstr(GTHSOURCETAG);
164 visitor->nodes = gt_array_new(sizeof (GtGenomeNode*));
165 visitor->outfp = outfp;
166 return sa_visitor;
167 }
+0
-31
src/gth/gff3_sa_visitor.h less more
0 /*
1 Copyright (c) 2008-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GFF3_SA_VISITOR_H
18 #define GFF3_SA_VISITOR_H
19
20 #include "gth/sa_visitor.h"
21
22 /* implements the ``spliced alignment visitor'' interface */
23 typedef struct GthGFF3SAVisitor GthGFF3SAVisitor;
24
25 const GthSAVisitorClass* gth_gff3_sa_visitor_class(void);
26 GthSAVisitor* gth_gff3_sa_visitor_new(GthInput*,
27 bool use_desc_ranges,
28 GtFile *outfp);
29
30 #endif
+0
-115
src/gth/gt_gth.c less more
0 /*
1 Copyright (c) 2003-2012 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthxml.h"
18 #include "gth/call_info.h"
19 #include "gth/gt_gth.h"
20 #include "gth/gthverbosefunc.h"
21 #include "gth/gthverbosefuncvm.h"
22 #include "gth/parse_options.h"
23 #include "gth/similarity_filter.h"
24 #include "gth/run_header.h"
25
26 int gt_gth(int argc, const char **argv, const GthPlugins *plugins, GtError *err)
27 {
28 GthCallInfo *call_info;
29 GthInput *input;
30 GthStat *stat;
31 int parsed_args, had_err = 0;
32
33 gt_error_check(err);
34 gt_assert(plugins && plugins->file_preprocessor && plugins->seq_con_new);
35 gt_assert(plugins->gth_version_func);
36
37 /* init data structures */
38 call_info = gth_call_info_new(argv[0]);
39 input = gth_input_new(plugins->file_preprocessor, plugins->seq_con_new);
40 stat = gth_stat_new();
41
42 /* parse the options */
43 switch (gth_parse_options(call_info, input, &parsed_args, argc,
44 (const char**) argv, false, NULL, stat,
45 gth_show_on_stdout, gth_show_on_stdout_vmatch,
46 plugins->gth_version_func, plugins->jump_table_new,
47 err)) {
48 case GT_OPTION_PARSER_OK: break;
49 case GT_OPTION_PARSER_ERROR:
50 gth_stat_delete(stat);
51 gth_input_delete_complete(input);
52 gth_call_info_delete(call_info);
53 return -1;
54 case GT_OPTION_PARSER_REQUESTS_EXIT:
55 gth_stat_delete(stat);
56 gth_input_delete_complete(input);
57 gth_call_info_delete(call_info);
58 return 0;
59 }
60 gt_assert(parsed_args == argc);
61
62 /* show XML leader */
63 if (call_info->out->xmlout)
64 gth_xml_show_leader(call_info->intermediate, call_info->out->outfp);
65
66 /* show header for this run */
67 gth_run_header_show(call_info, input, plugins->gth_version,
68 INITIAL_XML_INDENTLEVEL + 1, argv + 1);
69
70 /* make sure the necessary indices of all input files are created */
71 if (!had_err) {
72 had_err = gth_input_preprocess(input, false,
73 call_info->simfilterparam.noautoindex,
74 call_info->simfilterparam.createindicesonly,
75 call_info->simfilterparam.skipindexcheck,
76 call_info->simfilterparam.maskpolyAtails,
77 call_info->simfilterparam.online,
78 call_info->simfilterparam.inverse,
79 call_info->progname,
80 gt_str_get(call_info->scorematrixfile),
81 call_info->translationtable,
82 call_info->duplicate_check,
83 call_info->out,
84 err);
85 }
86
87 if (!had_err) {
88 if (call_info->simfilterparam.createindicesonly) {
89 if (call_info->out->showverbose) {
90 call_info->out
91 ->showverbose("the indices have been created => stopping");
92 }
93 }
94 else {
95 /* set and check position values */
96 had_err = gth_input_set_and_check_substring_spec(input, err);
97
98 if (!had_err && call_info->out->showverbose)
99 call_info->out->showverbose("invoking similarity filter");
100
101 if (!had_err) {
102 had_err = gth_similarity_filter(call_info, input, stat,
103 INITIAL_XML_INDENTLEVEL, plugins, err);
104 }
105 }
106 }
107
108 /* free space */
109 gth_stat_delete(stat);
110 gth_input_delete_complete(input);
111 gth_call_info_delete(call_info);
112
113 return had_err;
114 }
+0
-27
src/gth/gt_gth.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTH_H
18 #define GT_GTH_H
19
20 #include "core/error.h"
21 #include "gth/plugins.h"
22
23 /* the GenomeThreader similarity-based gene structure prediction tool */
24 int gt_gth(int argc, const char **argv, const GthPlugins *plugins, GtError*);
25
26 #endif
+0
-200
src/gth/gt_gthbssmbuild.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 /*
19 Main implementation file for a program to build a 1st order Markov model for
20 GTH/GSQ splice sites.
21
22 Please note: Transliteration scheme
23 A -> 0
24 C -> 1
25 G -> 2
26 T/U -> 3
27
28 Input data files are--strictly!--named as follows, using
29 an obvious schema:
30 F0_don F1_don F2_don Fi_don T0_don T1_don T2_don
31 F0_acc F1_acc F2_acc Fi_acc T0_acc T1_acc T2_acc
32 Phase is denoted as follows (Brendel conventions) :
33 1 -> C O D |
34 2 -> C | O D
35 0 -> C O | D
36 */
37
38 #include "core/option_api.h"
39 #include "core/versionfunc.h"
40 #include "gth/bssm_param.h"
41 #include "gth/gt_gthbssmbuild.h"
42
43 #define GTDONORMODEL_OPT_CSTR "gtdonor"
44 #define GCDONORMODEL_OPT_CSTR "gcdonor"
45 #define AGACCEPTORMODEL_OPT_CSTR "agacceptor"
46
47 typedef struct {
48 GtStr *bssmfile,
49 *datapath;
50 bool calcGTdonormodel,
51 calcGCdonormodel,
52 calcAGacceptormodel,
53 gzip;
54 } Commandlineopts;
55
56 static void initcommandlineopts(Commandlineopts *commandlineopts)
57 {
58 commandlineopts->bssmfile = gt_str_new();
59 commandlineopts->datapath = gt_str_new();
60 }
61
62 static GtOPrval gthbssmbuild_parse_options(int *parsed_args,
63 Commandlineopts *commandlineopts,
64 int argc, const char **argv,
65 GtShowVersionFunc version_func,
66 GtError *err)
67 {
68 GtOptionParser *op;
69 GtOption *optbssmfile, *optdatapath, *optgtdonormodel, *optgcdonormodel,
70 *optagacceptormodel, *optgzip;
71 GtOPrval oprval;
72 gt_error_check(err);
73
74 op = gt_option_parser_new("[option ...] -datapath dir -bssmfile file ",
75 "Build a BSSM file from a directory tree "
76 "containing the training data.");
77
78 /* specify all options with the corresponding help-text */
79 optbssmfile = gt_option_new_filename("bssmfile", "specify name of BSSM file "
80 "to store parameters in",
81 commandlineopts->bssmfile);
82 gt_option_parser_add_option(op, optbssmfile);
83
84 optdatapath = gt_option_new_string("datapath", "specify root of "
85 "species-specific training data directory "
86 "tree", commandlineopts->datapath, NULL);
87 gt_option_parser_add_option(op, optdatapath);
88
89 optgtdonormodel = gt_option_new_bool(GTDONORMODEL_OPT_CSTR, "train GT donor "
90 "model",
91 &commandlineopts->calcGTdonormodel,
92 false);
93 gt_option_parser_add_option(op, optgtdonormodel);
94
95 optgcdonormodel = gt_option_new_bool(GCDONORMODEL_OPT_CSTR, "train GC donor "
96 "model",
97 &commandlineopts->calcGCdonormodel,
98 false);
99 gt_option_parser_add_option(op, optgcdonormodel);
100
101 optagacceptormodel = gt_option_new_bool(AGACCEPTORMODEL_OPT_CSTR, "train AG "
102 "acceptor model",
103 &commandlineopts->calcAGacceptormodel,
104 false);
105 gt_option_parser_add_option(op, optagacceptormodel);
106
107 optgzip = gt_option_new_bool("gzip", "use gzip'ed input files",
108 &commandlineopts->gzip, false);
109 gt_option_parser_add_option(op, optgzip);
110
111 /* mandatory options */
112 gt_option_is_mandatory(optbssmfile);
113 gt_option_is_mandatory(optdatapath);
114
115 gt_option_parser_set_max_args(op, 0);
116 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
117 oprval = gt_option_parser_parse(op, parsed_args, argc, argv, version_func,
118 err);
119
120 /* some checks */
121 if (oprval == GT_OPTION_PARSER_OK &&
122 !gt_option_is_set(optgtdonormodel) &&
123 !gt_option_is_set(optgcdonormodel) &&
124 !gt_option_is_set(optagacceptormodel)) {
125 gt_error_set(err, "at least one of the options -%s, -%s, or -%s have to "
126 "be used", GTDONORMODEL_OPT_CSTR, GCDONORMODEL_OPT_CSTR,
127 AGACCEPTORMODEL_OPT_CSTR);
128 oprval = GT_OPTION_PARSER_ERROR;
129 }
130
131 gt_option_parser_delete(op);
132
133 return oprval;
134 }
135
136 static void freecommandlineopts(Commandlineopts *commandlineopts)
137 {
138 gt_str_delete(commandlineopts->bssmfile);
139 gt_str_delete(commandlineopts->datapath);
140 }
141
142 int gt_gthbssmbuild_with_version_func(int argc, const char **argv,
143 GtShowVersionFunc version_func,
144 GtError *err)
145 {
146 GthBSSMParam *bssm_param; /* stores model parameterization */
147 Commandlineopts commandlineopts;
148 int parsed_args, had_err = 0;
149
150 /* process command line args */
151 initcommandlineopts(&commandlineopts);
152 switch (gthbssmbuild_parse_options(&parsed_args, &commandlineopts, argc, argv,
153 version_func, err)) {
154 case GT_OPTION_PARSER_OK: break;
155 case GT_OPTION_PARSER_ERROR: return -1;
156 case GT_OPTION_PARSER_REQUESTS_EXIT: return 0;
157 }
158 gt_assert(parsed_args = argc);
159
160 /* initialize our parameter object */
161 bssm_param = gth_bssm_param_new();
162
163 /* process each model type */
164 if (commandlineopts.calcGTdonormodel) {
165 had_err = gth_bssm_param_parameterize(bssm_param,
166 gt_str_get(commandlineopts.datapath),
167 GT_DONOR_TYPE,
168 commandlineopts.gzip, err);
169 }
170 if (!had_err && commandlineopts.calcGCdonormodel) {
171 had_err = gth_bssm_param_parameterize(bssm_param,
172 gt_str_get(commandlineopts.datapath),
173 GC_DONOR_TYPE,
174 commandlineopts.gzip, err);
175 }
176 if (!had_err && commandlineopts.calcAGacceptormodel) {
177 had_err = gth_bssm_param_parameterize(bssm_param,
178 gt_str_get(commandlineopts.datapath),
179 AG_ACCEPTOR_TYPE,
180 commandlineopts.gzip, err);
181 }
182
183 /* overwrite the binary file with our new object */
184 if (!had_err) {
185 had_err = gth_bssm_param_save(bssm_param,
186 gt_str_get(commandlineopts.bssmfile), err);
187 }
188
189 /* free memory */
190 freecommandlineopts(&commandlineopts);
191 gth_bssm_param_delete(bssm_param);
192
193 return had_err;
194 }
195
196 int gt_gthbssmbuild(int argc, const char **argv, GtError *err)
197 {
198 return gt_gthbssmbuild_with_version_func(argc, argv, gt_versionfunc, err);
199 }
+0
-29
src/gth/gt_gthbssmbuild.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHBSSMBUILD_H
18 #define GT_GTHBSSMBUILD_H
19
20 #include "core/error.h"
21
22 /* the gthbssmbuild tool */
23 int gt_gthbssmbuild(int argc, const char **argv, GtError*);
24
25 int gt_gthbssmbuild_with_version_func(int argc, const char **argv,
26 GtShowVersionFunc version_func, GtError*);
27
28 #endif
+0
-81
src/gth/gt_gthbssmfileinfo.c less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/option_api.h"
18 #include "core/versionfunc.h"
19 #include "gth/bssm_param.h"
20 #include "gth/gt_gthbssmfileinfo.h"
21
22 static GtOPrval gthbssmfileinfo_parse_options(int *parsed_args, int argc,
23 const char **argv,
24 GtShowVersionFunc
25 version_func, GtError *err)
26 {
27 GtOptionParser *op;
28 GtOPrval oprval;
29 gt_error_check(err);
30 op = gt_option_parser_new("bssm_file", "Show information about the specified "
31 "BSSM file.");
32 gt_option_parser_set_min_args(op, 1);
33 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
34 oprval = gt_option_parser_parse(op, parsed_args, argc, argv, version_func,
35 err);
36 gt_option_parser_delete(op);
37 return oprval;
38 }
39
40 int gt_gthbssmfileinfo(int argc, const char **argv, GtError *err)
41 {
42 return gt_gthbssmfileinfo_with_version_func(argc, argv, gt_versionfunc, err);
43 }
44
45 int gt_gthbssmfileinfo_with_version_func(int argc, const char **argv,
46 GtShowVersionFunc version_func,
47 GtError *err)
48 {
49 GthBSSMParam *bssm_param;
50 GtStr *bssm_param_filename;
51 int parsed_args, had_err = 0;
52
53 gt_error_check(err);
54
55 /* option parsing */
56 switch (gthbssmfileinfo_parse_options(&parsed_args, argc, argv,
57 version_func, err)) {
58 case GT_OPTION_PARSER_OK: break;
59 case GT_OPTION_PARSER_ERROR: return -1;
60 case GT_OPTION_PARSER_REQUESTS_EXIT: return 0;
61 }
62
63 /* build bssm file name */
64 bssm_param_filename = gt_str_new_cstr(argv[parsed_args]);
65 gt_str_append_char(bssm_param_filename, '.');
66 gt_str_append_cstr(bssm_param_filename, BSSMFILEENDING);
67
68 /* load bssm file */
69 if (!(bssm_param = gth_bssm_param_load(gt_str_get(bssm_param_filename), err)))
70 had_err = -1;
71
72 /* output bssm file info on stdout */
73 if (!had_err)
74 gth_bssm_param_show_info(bssm_param, NULL);
75
76 gt_str_delete(bssm_param_filename);
77 gth_bssm_param_delete(bssm_param);
78
79 return had_err;
80 }
+0
-30
src/gth/gt_gthbssmfileinfo.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHBSSMFILEINFO_H
18 #define GT_GTHBSSMFILEINFO_H
19
20 #include "core/error.h"
21
22 /* the gthbssmfileinfo tool */
23 int gt_gthbssmfileinfo(int argc, const char **argv, GtError *err);
24
25 int gt_gthbssmfileinfo_with_version_func(int argc, const char **argv,
26 GtShowVersionFunc version_func,
27 GtError *err);
28
29 #endif
+0
-83
src/gth/gt_gthbssmprint.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 /*
19 This is simply a driver program for using the echo_bssm function to help
20 potentially debug our parameterization routines. Namely, it allows us to
21 examine the contents of the parameterization without modifying them.
22
23 I think that this is a handy tool to have around, and potentially something
24 useful to share with the end user! (For printing ASCII parameterizations that
25 would be used in GeneSeqer, for example.)
26 */
27
28 #include "core/option_api.h"
29 #include "core/versionfunc.h"
30 #include "gth/bssm_param.h"
31 #include "gth/gt_gthbssmprint.h"
32
33 static GtOPrval gthbssmprint_parse_options(int *parsed_args, int argc,
34 const char **argv,
35 GtShowVersionFunc version_func,
36 GtError *err)
37 {
38 GtOptionParser *op;
39 GtOPrval oprval;
40 gt_error_check(err);
41 op = gt_option_parser_new("bssm_file",
42 "Print BSSM file bssm_file to stdout.");
43 gt_option_parser_set_min_max_args(op, 1, 1);
44 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
45 oprval = gt_option_parser_parse(op, parsed_args, argc, argv, version_func,
46 err);
47 gt_option_parser_delete(op);
48 return oprval;
49 }
50
51 int gt_gthbssmprint(int argc, const char **argv, GtError *err)
52 {
53 return gt_gthbssmprint_with_version_func(argc, argv, gt_versionfunc, err);
54 }
55
56 int gt_gthbssmprint_with_version_func(int argc, const char **argv,
57 GtShowVersionFunc version_func,
58 GtError *err)
59 {
60 GthBSSMParam *bssm_param; /* stores model parameterization */
61 int parsed_args, had_err = 0;
62
63 /* verify command line specification of a parameter file to inspect */
64 switch (gthbssmprint_parse_options(&parsed_args, argc, argv, version_func,
65 err)) {
66 case GT_OPTION_PARSER_OK: break;
67 case GT_OPTION_PARSER_ERROR: return -1;
68 case GT_OPTION_PARSER_REQUESTS_EXIT: return 0;
69 }
70 gt_assert(parsed_args + 1 == argc);
71
72 if (!(bssm_param = gth_bssm_param_load(argv[parsed_args], err)))
73 had_err = -1;
74
75 /* print debugging information to stdout */
76 if (!had_err)
77 gth_bssm_param_echo(bssm_param, stdout);
78
79 gth_bssm_param_delete(bssm_param);
80
81 return had_err;
82 }
+0
-30
src/gth/gt_gthbssmprint.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHBSSMPRINT_H
18 #define GT_GTHBSSMPRINT_H
19
20 #include "core/error.h"
21
22 /* the gthbssmprint tool */
23 int gt_gthbssmprint(int argc, const char **argv, GtError *err);
24
25 int gt_gthbssmprint_with_version_func(int argc, const char **argv,
26 GtShowVersionFunc version_func,
27 GtError *err);
28
29 #endif
+0
-46
src/gth/gt_gthbssmrmsd.c less more
0 /*
1 Copyright (c) 2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/unused_api.h"
17 #include "gth/bssm_param_rmsd.h"
18 #include "gth/gt_gthbssmrmsd.h"
19
20 static GtOptionParser* gt_gthbssmrmsd_option_parser_new(GT_UNUSED
21 void *tool_arguments)
22 {
23 GtOptionParser *op = gt_option_parser_new("BSSM_file_1 BSSM_file_2", "Show "
24 "RMSDs between given BSSM files.");
25 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
26 gt_option_parser_set_min_max_args(op, 2, 2);
27 return op;
28 }
29
30 static int gt_gthbssmrmsd_runner(GT_UNUSED int argc, const char **argv,
31 int parsed_args,
32 GT_UNUSED void *tool_arguments, GtError *err)
33 {
34 gt_error_check(err);
35 return gth_bssm_param_rmsd_show(argv[parsed_args], argv[parsed_args+1], err);
36 }
37
38 GtTool* gt_gthbssmrmsd(void)
39 {
40 return gt_tool_new(NULL,
41 NULL,
42 gt_gthbssmrmsd_option_parser_new,
43 NULL,
44 gt_gthbssmrmsd_runner);
45 }
+0
-25
src/gth/gt_gthbssmrmsd.h less more
0 /*
1 Copyright (c) 2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef GT_GTHBSSMRMSD_H
17 #define GT_GTHBSSMRMSD_H
18
19 #include "core/tool_api.h"
20
21 /* the gthbssmrmsd tool */
22 GtTool* gt_gthbssmrmsd(void);
23
24 #endif
+0
-343
src/gth/gt_gthbssmtrain.c less more
0 /*
1 Copyright (c) 2010-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/compat.h"
17 #include "core/cstr_array.h"
18 #include "core/ma_api.h"
19 #include "core/output_file.h"
20 #include "core/undef_api.h"
21 #include "core/unused_api.h"
22 #include "core/yarandom.h"
23 #include "core/warning_api.h"
24 #include "extended/add_introns_stream_api.h"
25 #include "extended/buffer_stream.h"
26 #include "extended/feature_type.h"
27 #include "extended/gff3_in_stream_api.h"
28 #include "extended/seqid2file.h"
29 #include "extended/splice_site_info_stream.h"
30 #include "gth/bssm_train_stream.h"
31 #include "gth/gt_gthbssmtrain.h"
32
33 typedef struct {
34 bool gcdonor,
35 force,
36 intermediate,
37 verbose,
38 gzip,
39 bzip2;
40 unsigned int seed;
41 GtStr *outdir,
42 *filter_type,
43 *extract_type;
44 unsigned int good_exon_count;
45 double cutoff;
46 GtFileMode file_mode;
47 GtSeqid2FileInfo *s2fi;
48 } GthBSSMTrainArguments;
49
50 static void* gt_gthbssmtrain_arguments_new(void)
51 {
52 GthBSSMTrainArguments *arguments = gt_calloc(1, sizeof *arguments);
53 arguments->outdir = gt_str_new();
54 arguments->filter_type = gt_str_new();
55 arguments->extract_type = gt_str_new();
56 arguments->file_mode = GT_FILE_MODE_UNCOMPRESSED;
57 arguments->s2fi = gt_seqid2file_info_new();
58 return arguments;
59 }
60
61 static void gt_gthbssmtrain_arguments_delete(void *tool_arguments)
62 {
63 GthBSSMTrainArguments *arguments = tool_arguments;
64 if (!arguments) return;
65 gt_seqid2file_info_delete(arguments->s2fi);
66 gt_str_delete(arguments->extract_type);
67 gt_str_delete(arguments->filter_type);
68 gt_str_delete(arguments->outdir);
69 gt_free(arguments);
70 }
71
72 static GtOptionParser* gt_gthbssmtrain_option_parser_new(void *tool_arguments)
73 {
74 GthBSSMTrainArguments *arguments = tool_arguments;
75 GtOptionParser *op;
76 GtOption *option, *optgzip, *optbzip2;
77 gt_assert(arguments);
78 op = gt_option_parser_new("[option ...] GFF3_file", "Create BSSM training "
79 "data from annotation given in GFF3_file.");
80
81 /* -outdir */
82 option = gt_option_new_string("outdir", "set name of output directory to "
83 "which the training files are written",
84 arguments->outdir, "training_data");
85 gt_option_parser_add_option(op, option);
86
87 /* -gcdonor */
88 option = gt_option_new_bool("gcdonor", "extract training data for GC donor "
89 "sites", &arguments->gcdonor, true);
90 gt_option_parser_add_option(op, option);
91
92 /* -filtertype */
93 option = gt_option_new_string("filtertype", "set type of features to used "
94 "for filtering (usually 'exon' or 'CDS')",
95 arguments->filter_type, gt_ft_exon);
96 gt_option_parser_add_option(op, option);
97
98 /* -goodexoncount */
99 option = gt_option_new_uint("goodexoncount", "set the minimum number of good "
100 "exons a feature must have to be included into "
101 "the training data", &arguments->good_exon_count,
102 1);
103 gt_option_parser_add_option(op, option);
104
105 /* -cutoff */
106 option = gt_option_new_double("cutoff", "set the minimum score an exon must "
107 "have to count towards the ``good exon count'' "
108 "(exons without a score count as good)",
109 &arguments->cutoff, 1.0);
110 gt_option_parser_add_option(op, option);
111
112 /* -extracttype */
113 option = gt_option_new_string("extracttype", "set type of features to be "
114 "extracted as exons (usually 'exon' or 'CDS')",
115 arguments->extract_type, gt_ft_CDS);
116 gt_option_parser_add_option(op, option);
117
118 /* -intermediate */
119 option = gt_option_new_bool("intermediate", "write out files containing "
120 "intermediate results", &arguments->intermediate,
121 false);
122 gt_option_is_development_option(option);
123 gt_option_parser_add_option(op, option);
124
125 /* -seqfile, -matchdesc, -usedesc and -region_mapping */
126 gt_seqid2file_register_options(op, arguments->s2fi);
127
128 /* -seed */
129 option = gt_option_new_uint("seed", "set seed for random number generator "
130 "manually\n0 generates a seed from the current "
131 "time and the process id", &arguments->seed, 0);
132 gt_option_parser_add_option(op, option);
133
134 /* -v */
135 option = gt_option_new_verbose(&arguments->verbose);
136 gt_option_parser_add_option(op, option);
137
138 /* -gzip */
139 optgzip = gt_option_new_bool("gzip", "write gzip compressed output files",
140 &arguments->gzip, false);
141 gt_option_parser_add_option(op, optgzip);
142
143 /* -bzip2 */
144 optbzip2 = gt_option_new_bool("bzip2", "write bzip2 compressed output files",
145 &arguments->bzip2, false);
146 gt_option_parser_add_option(op, optbzip2);
147
148 /* -force */
149 option = gt_option_new_bool(GT_FORCE_OPT_CSTR, "force writing to output "
150 "files", &arguments->force, false);
151 gt_option_parser_add_option(op, option);
152
153 gt_option_exclude(optgzip, optbzip2);
154
155 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
156 gt_option_parser_set_min_max_args(op, 1, 1);
157 return op;
158 }
159
160 static int gt_gthbssmtrain_arguments_check(GT_UNUSED int rest_argc,
161 void *tool_arguments,
162 GT_UNUSED GtError *err)
163 {
164 GthBSSMTrainArguments *arguments = tool_arguments;
165 gt_error_check(err);
166 gt_assert(arguments);
167 if (arguments->gzip)
168 arguments->file_mode = GT_FILE_MODE_GZIP;
169 if (arguments->bzip2)
170 arguments->file_mode = GT_FILE_MODE_BZIP2;
171 return 0;
172 }
173
174 static GtBufferStream* get_buffer_and_show_splice_sites(const char *filename,
175 GtRegionMapping *rm,
176 bool show_gc,
177 GtError *err)
178 {
179 GtBufferStream *buffer_stream_a, *buffer_stream_b;
180 GtNodeStream *gff3_in_stream, *ssi_stream;
181 bool processed_intron;
182 int had_err;
183
184 gt_error_check(err);
185
186 gff3_in_stream = gt_gff3_in_stream_new_sorted(filename);
187
188 buffer_stream_a = (GtBufferStream*) gt_buffer_stream_new(gff3_in_stream);
189 ssi_stream = gt_splice_site_info_stream_new((GtNodeStream*) buffer_stream_a,
190 gt_region_mapping_ref(rm));
191
192 had_err = gt_node_stream_pull(ssi_stream, err);
193
194 if (had_err) {
195 gt_node_stream_delete(ssi_stream);
196 gt_node_stream_delete((GtNodeStream*) buffer_stream_a);
197 gt_node_stream_delete(gff3_in_stream);
198 return NULL;
199 }
200
201 processed_intron = gt_splice_site_info_stream_intron_processed(ssi_stream);
202
203 if (processed_intron) {
204 if (!gt_splice_site_info_stream_show_canonical(ssi_stream, show_gc))
205 gt_warning("no gt-ag or gc-ag splice sites found\n");
206 }
207 else {
208 GtNodeStream *add_introns_stream;
209 gt_node_stream_delete(ssi_stream);
210 gt_buffer_stream_dequeue(buffer_stream_a);
211 buffer_stream_b = (GtBufferStream*)
212 gt_buffer_stream_new((GtNodeStream*) buffer_stream_a);
213 add_introns_stream = gt_add_introns_stream_new((GtNodeStream*)
214 buffer_stream_b);
215 ssi_stream = gt_splice_site_info_stream_new(add_introns_stream,
216 gt_region_mapping_ref(rm));
217 had_err = gt_node_stream_pull(ssi_stream, err);
218 if (had_err)
219 gt_node_stream_delete((GtNodeStream*) buffer_stream_b);
220 else {
221 if (!gt_splice_site_info_stream_show_canonical(ssi_stream, show_gc))
222 gt_warning("no gt-ag or gc-ag splice sites found\n");
223 }
224 gt_node_stream_delete(add_introns_stream);
225 gt_node_stream_delete((GtNodeStream*) buffer_stream_a);
226 }
227
228 gt_node_stream_delete(ssi_stream);
229 gt_node_stream_delete(gff3_in_stream);
230
231 if (had_err)
232 return NULL;
233 return processed_intron ? buffer_stream_a : buffer_stream_b;
234 }
235
236 static int gt_gthbssmtrain_runner(GT_UNUSED int argc, const char **argv,
237 int parsed_args, void *tool_arguments,
238 GtError *err)
239 {
240 GthBSSMTrainArguments *arguments = tool_arguments;
241 GtNodeStream *bssm_train_stream = NULL;
242 GtBufferStream *buffer_stream = NULL;
243 GtRegionMapping *region_mapping;
244 GthBSSMSeqProcessor *bsp = NULL;
245 GtFile *logfp = NULL;
246 int had_err = 0;
247
248 gt_error_check(err);
249 gt_assert(arguments);
250
251 /* create region mapping */
252 region_mapping = gt_seqid2file_region_mapping_new(arguments->s2fi, err);
253 if (!region_mapping)
254 had_err = -1;
255
256 if (!had_err) {
257 if (!(bsp = gth_bssm_seq_processor_new(gt_str_get(arguments->outdir),
258 arguments->file_mode,
259 arguments->force, arguments->gcdonor,
260 err))) {
261 had_err = -1;
262 }
263 }
264
265 /* open log file */
266 if (!had_err) {
267 GtStr *logfile = gt_str_clone(arguments->outdir);
268 gt_str_append_char(logfile, GT_PATH_SEPARATOR);
269 gt_str_append_cstr(logfile, "gthbssmtrain.run");
270 if (!(logfp = gt_output_file_xopen_forcecheck(gt_str_get(logfile), "w",
271 arguments->force,
272 err))) {
273 had_err = -1;
274 }
275 gt_str_delete(logfile);
276 }
277
278 if (!had_err) {
279 /* log argv */
280 gt_file_xprintf(logfp, "arguments=");
281 gt_cstr_array_show_genfile(argv + 1, logfp);
282
283 /* initialize random number generator */
284 arguments->seed = gt_ya_rand_init(arguments->seed);
285 if (arguments->verbose)
286 printf("seed=%u\n", arguments->seed);
287 gt_file_xprintf(logfp, "seed=%u\n", arguments->seed);
288 }
289
290 if (!had_err) {
291 buffer_stream = get_buffer_and_show_splice_sites(argv[parsed_args],
292 region_mapping,
293 arguments->gcdonor, err);
294 if (!buffer_stream)
295 had_err = -1;
296 else
297 gt_buffer_stream_dequeue(buffer_stream);
298 }
299
300 if (!had_err) {
301 /* create BSSM training stream */
302 bssm_train_stream =
303 gth_bssm_train_stream_new((GtNodeStream*) buffer_stream, region_mapping,
304 bsp, gt_str_get(arguments->filter_type),
305 gt_str_get(arguments->extract_type),
306 arguments->good_exon_count, arguments->cutoff);
307
308 /* pull the features through the stream and free them afterwards */
309 had_err = gt_node_stream_pull(bssm_train_stream, err);
310 }
311
312 if (!had_err) {
313 gth_bssm_seq_processor_squash(bsp);
314 had_err = gth_bssm_seq_processor_find_true_sites(bsp, region_mapping, err);
315 }
316
317 if (!had_err)
318 had_err = gth_bssm_seq_processor_find_false_sites(bsp, region_mapping, err);
319
320 if (!had_err && arguments->intermediate)
321 had_err = gth_bssm_seq_processor_write_intermediate(bsp, err);
322
323 if (!had_err) {
324 gth_bssm_seq_processor_sample(bsp, arguments->verbose, logfp);
325 gth_bssm_seq_processor_write(bsp);
326 }
327
328 gt_node_stream_delete(bssm_train_stream);
329 gt_node_stream_delete((GtNodeStream*) buffer_stream);
330 gt_file_delete(logfp);
331
332 return had_err;
333 }
334
335 GtTool* gt_gthbssmtrain(void)
336 {
337 return gt_tool_new(gt_gthbssmtrain_arguments_new,
338 gt_gthbssmtrain_arguments_delete,
339 gt_gthbssmtrain_option_parser_new,
340 gt_gthbssmtrain_arguments_check,
341 gt_gthbssmtrain_runner);
342 }
+0
-25
src/gth/gt_gthbssmtrain.h less more
0 /*
1 Copyright (c) 2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef GT_GTHBSSMTRAIN_H
17 #define GT_GTHBSSMTRAIN_H
18
19 #include "core/tool_api.h"
20
21 /* the gthbssmtrain tool */
22 GtTool* gt_gthbssmtrain(void);
23
24 #endif
+0
-140
src/gth/gt_gthconsensus.c less more
0 /*
1 Copyright (c) 2005-2012 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthxml.h"
18 #include "gth/gthverbosefunc.h"
19 #include "gth/gthverbosefuncvm.h"
20 #include "gth/intermediate.h"
21 #include "gth/parse_options.h"
22 #include "gth/proc_sa_collection.h"
23 #include "gth/gt_gthconsensus.h"
24
25 static int process_consensus_files(GtStrArray *consensusfiles,
26 GthCallInfo *call_info, GthInput *input,
27 GthStat *stat, GtUword indentlevel,
28 GtError *err)
29 {
30 GthSACollection *sa_collection;
31 int had_err;
32
33 gt_error_check(err);
34
35 /* initialization */
36 sa_collection = gth_sa_collection_new(call_info->duplicate_check);
37
38 if (call_info->out->showverbose)
39 call_info->out->showverbose("process all intermediate output files");
40
41 /* build tree of alignments from intermediate files */
42 had_err = gth_build_sa_collection(sa_collection, input, consensusfiles,
43 call_info->sa_filter, stat,
44 call_info->out->showverbose, err);
45
46 /* make sure the necessary indices of all input files are created */
47 if (!had_err) {
48 had_err = gth_input_preprocess(input, true,
49 call_info->simfilterparam.noautoindex,
50 call_info->simfilterparam.createindicesonly,
51 call_info->simfilterparam.skipindexcheck,
52 call_info->simfilterparam.maskpolyAtails,
53 call_info->simfilterparam.online,
54 call_info->simfilterparam.inverse,
55 call_info->progname,
56 gt_str_get(call_info->scorematrixfile),
57 call_info->translationtable,
58 call_info->duplicate_check, call_info->out,
59 err);
60 }
61
62 /* set reference MD5s, if necessary */
63 gth_sa_collection_set_md5s(sa_collection, input);
64
65 /* process the alignments */
66 if (!had_err)
67 gth_proc_sa_collection(sa_collection, call_info, input, stat, indentlevel);
68
69 /* show XML trailer */
70 if (!had_err && call_info->out->xmlout)
71 gth_xml_show_trailer(call_info->intermediate, call_info->out->outfp);
72
73 /* free collection of spliced alignments */
74 gth_sa_collection_delete(sa_collection);
75
76 return had_err;
77 }
78
79 int gt_gthconsensus(int argc, const char **argv, const GthPlugins *plugins,
80 GtError *err)
81 {
82 GthCallInfo *call_info;
83 GthInput *input;
84 GthStat *stat;
85 GtStrArray *consensusfiles;
86 int parsed_args, had_err = 0;
87
88 gt_error_check(err);
89
90 /* init data structures */
91 call_info = gth_call_info_new(argv[0]);
92 input = gth_input_new(plugins->file_preprocessor, plugins->seq_con_new);
93 stat = gth_stat_new();
94 consensusfiles = gt_str_array_new();
95
96 /* parse the options */
97 switch (gth_parse_options(call_info, input, &parsed_args, argc,
98 (const char**) argv, true, consensusfiles, stat,
99 gth_show_on_stdout, gth_show_on_stdout_vmatch,
100 plugins->gth_version_func, plugins->jump_table_new,
101 err)) {
102 case GT_OPTION_PARSER_OK: break;
103 case GT_OPTION_PARSER_ERROR:
104 gt_str_array_delete(consensusfiles);
105 gth_stat_delete(stat);
106 gth_input_delete_complete(input);
107 gth_call_info_delete(call_info);
108 return -1;
109 case GT_OPTION_PARSER_REQUESTS_EXIT:
110 gt_str_array_delete(consensusfiles);
111 gth_stat_delete(stat);
112 gth_input_delete_complete(input);
113 gth_call_info_delete(call_info);
114 return 0;
115 }
116 gt_assert(parsed_args == argc);
117
118 /* show XML leader */
119 if (call_info->out->xmlout)
120 gth_xml_show_leader(call_info->intermediate, call_info->out->outfp);
121
122 /* process consensus files */
123 if (!had_err) {
124 had_err = process_consensus_files(consensusfiles, call_info, input, stat,
125 INITIAL_XML_INDENTLEVEL, err);
126 }
127
128 /* output statistics */
129 if (!had_err && !call_info->out->gff3out)
130 gth_stat_show(stat, false, call_info->out->xmlout, call_info->out->outfp);
131
132 /* free space */
133 gt_str_array_delete(consensusfiles);
134 gth_stat_delete(stat);
135 gth_input_delete_complete(input);
136 gth_call_info_delete(call_info);
137
138 return had_err;
139 }
+0
-28
src/gth/gt_gthconsensus.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHCONSENSUS_H
18 #define GT_GTHCONSENSUS_H
19
20 #include "core/error.h"
21 #include "gth/plugins.h"
22
23 /* the gthconsensus tool */
24 int gt_gthconsensus(int argc, const char **argv, const GthPlugins *plugins,
25 GtError*);
26
27 #endif
+0
-166
src/gth/gt_gthfilestat.c less more
0 /*
1 Copyright (c) 2005-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthverbosefunc.h"
18 #include "gth/intermediate.h"
19 #include "gth/pgl_collection.h"
20 #include "gth/gt_gthfilestat.h"
21
22 typedef struct {
23 GtFileMode file_mode;
24 GtStrArray *consensusfiles;
25 GthSAFilter *sa_filter;
26 GthShowVerbose showverbose;
27 } GthFileStatInfo;
28
29 static void gth_file_stat_info_new(GthFileStatInfo *file_stat_info)
30 {
31 file_stat_info->file_mode = GT_FILE_MODE_UNCOMPRESSED;
32 file_stat_info->consensusfiles = gt_str_array_new();
33 file_stat_info->sa_filter = gth_sa_filter_new();
34 file_stat_info->showverbose = NULL;
35 }
36
37 static void gth_file_stat_info_delete(GthFileStatInfo *file_stat_info)
38 {
39 if (!file_stat_info) return;
40 gth_sa_filter_delete(file_stat_info->sa_filter);
41 gt_str_array_delete(file_stat_info->consensusfiles);
42 }
43
44 static GtOPrval gthfilestat_parse_options(int *parsed_args,
45 GthFileStatInfo *file_stat_info,
46 int argc, const char **argv,
47 const GthPlugins *plugins,
48 GtError *err)
49 {
50 GtOptionParser *op;
51 GtOption *o;
52 GtOPrval oprval;
53 bool verbose;
54 gt_error_check(err);
55
56 op = gt_option_parser_new("[option ...] [file ...]", "Show statistics about "
57 "spliced alignments in GenomeThreader output files\n"
58 "containing intermediate results.");
59
60 /* add sa_filter options */
61 gth_sa_filter_register_options(op, file_stat_info->sa_filter, false);
62
63 /* -v */
64 o = gt_option_new_verbose(&verbose);
65 gt_option_parser_add_option(op, o);
66
67 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
68 oprval = gt_option_parser_parse(op, parsed_args, argc, argv,
69 plugins->gth_version_func, err);
70
71 if (verbose)
72 file_stat_info->showverbose = gth_show_on_stdout;
73
74 /* save consensus files */
75 if (oprval == GT_OPTION_PARSER_OK) {
76 while (*parsed_args < argc) {
77 gt_str_array_add_cstr(file_stat_info->consensusfiles,
78 argv[*parsed_args]);
79 (*parsed_args)++;
80 }
81 }
82
83 gt_option_parser_delete(op);
84
85 return oprval;
86 }
87
88 static int gthfilestat_process_files(GthFileStatInfo *file_stat_info,
89 const GthPlugins *plugins, GtError *err)
90 {
91 GthSACollection *sa_collection;
92 GthStat *stat;
93 GthInput *input;
94 GthPGLCollection *pgl_collection = NULL;
95 int had_err = 0;
96
97 gt_error_check(err);
98
99 /* initialization */
100 sa_collection = gth_sa_collection_new(GTH_DC_NONE);
101 input = gth_input_new(plugins->file_preprocessor, plugins->seq_con_new);
102 stat = gth_stat_new();
103 gth_stat_enable_sa_stats(stat);
104 gth_stat_enable_gthfilestat_mode(stat);
105
106 if (file_stat_info->showverbose)
107 file_stat_info->showverbose("process all intermediate output files");
108
109 /* build tree of alignments from intermediate files */
110 had_err = gth_build_sa_collection(sa_collection, input,
111 file_stat_info->consensusfiles,
112 file_stat_info->sa_filter, stat,
113 file_stat_info->showverbose, err);
114
115 if (!had_err && gth_sa_collection_contains_sa(sa_collection)) {
116 /* compute PGLs */
117 pgl_collection = gth_pgl_collection_new(sa_collection, false);
118
119 /* save statistics for PGLs */
120 gth_stat_increase_numofPGLs_stored(stat,
121 gth_pgl_collection_size(pgl_collection));
122 }
123
124 /* output statistics */
125 gth_stat_show(stat, false, false, NULL);
126
127 /* free */
128 gth_sa_collection_delete(sa_collection);
129 gth_input_delete_complete(input);
130 gth_stat_delete(stat);
131 gth_pgl_collection_delete(pgl_collection);
132
133 return had_err;
134 }
135
136 int gt_gthfilestat(int argc, const char **argv, const GthPlugins *plugins,
137 GtError *err)
138 {
139 GthFileStatInfo file_stat_info;
140 int had_err, parsed_args;
141 gt_error_check(err);
142
143 /* init data structures */
144 gth_file_stat_info_new(&file_stat_info);
145
146 switch (gthfilestat_parse_options(&parsed_args, &file_stat_info, argc, argv,
147 plugins, err)) {
148 case GT_OPTION_PARSER_OK: break;
149 case GT_OPTION_PARSER_ERROR:
150 gth_file_stat_info_delete(&file_stat_info);
151 return -1;
152 case GT_OPTION_PARSER_REQUESTS_EXIT:
153 gth_file_stat_info_delete(&file_stat_info);
154 return 0;
155 }
156 gt_assert(parsed_args == argc);
157
158 /* process files */
159 had_err = gthfilestat_process_files(&file_stat_info, plugins, err);
160
161 /* free */
162 gth_file_stat_info_delete(&file_stat_info);
163
164 return had_err;
165 }
+0
-28
src/gth/gt_gthfilestat.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHFILESTAT_H
18 #define GT_GTHFILESTAT_H
19
20 #include "core/error.h"
21 #include "gth/plugins.h"
22
23 /* the gthfilestat tool */
24 int gt_gthfilestat(int argc, const char **argv, const GthPlugins *plugins,
25 GtError*);
26
27 #endif
+0
-88
src/gth/gt_gthmkbssmfiles.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #include "core/compat.h"
19 #include "core/option_api.h"
20 #include "core/versionfunc.h"
21 #include "gth/bssm_param.h"
22 #include "gth/gthspeciestab.h" /* XXX */
23 #include "gth/gt_gthmkbssmfiles.h"
24
25 /* The number of the last species defined in header file */
26 #define LASTSPECIESNUM 9
27
28 static GtOPrval gthmkbssmfiles_parse_options(int *parsed_args, int argc,
29 const char **argv, GtError *err)
30 {
31 GtOptionParser *op;
32 GtOPrval oprval;
33 gt_error_check(err);
34 op = gt_option_parser_new("output_path", "Write hard coded BSSM files to "
35 "output_path.");
36 gt_option_parser_set_min_max_args(op, 1, 1);
37 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
38 oprval = gt_option_parser_parse(op, parsed_args, argc, argv, gt_versionfunc,
39 err);
40 gt_option_parser_delete(op);
41 return oprval;
42 }
43
44 int gt_gthmkbssmfiles(int argc, const char **argv, GtError *err)
45 {
46 GtUword i;
47 GtStr *filename;
48 int parsed_args, had_err = 0;
49
50 /* option parsing */
51 switch (gthmkbssmfiles_parse_options(&parsed_args, argc, argv, err)) {
52 case GT_OPTION_PARSER_OK: break;
53 case GT_OPTION_PARSER_ERROR: return -1;
54 case GT_OPTION_PARSER_REQUESTS_EXIT: return 0;
55 }
56
57 gt_assert(parsed_args + 1 == argc);
58 filename = gt_str_new();
59
60 for (i = 0; !had_err && i <= LASTSPECIESNUM; i++) {
61 GthBSSMParam *bssm_param;
62 gt_str_append_cstr(filename, argv[parsed_args]);
63 gt_str_append_char(filename, GT_PATH_SEPARATOR);
64 gt_str_append_cstr(filename, speciestab[i]);
65
66 /* for files which are obsolete due to new model files produced by
67 gthbssmbuild add an .old after the species name */
68 if (i >= 8)
69 gt_str_append_cstr(filename, ".old");
70
71 gt_str_append_char(filename, '.');
72 gt_str_append_cstr(filename, BSSMFILEENDING);
73
74 if (!(bssm_param = gth_bssm_param_extract(i, err)))
75 had_err = -1;
76 if (!had_err)
77 had_err = gth_bssm_param_save(bssm_param, gt_str_get(filename), err);
78 gth_bssm_param_delete(bssm_param);
79
80 /* resetting filename */
81 gt_str_reset(filename);
82 }
83
84 gt_str_delete(filename);
85
86 return had_err;
87 }
+0
-26
src/gth/gt_gthmkbssmfiles.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHMKBSSMFILES_H
18 #define GT_GTHMKBSSMFILES_H
19
20 #include "core/error.h"
21
22 /* the gthmkbssmfiles tool */
23 int gt_gthmkbssmfiles(int argc, const char **argv, GtError*);
24
25 #endif
+0
-415
src/gth/gt_gthsplit.c less more
0 /*
1 Copyright (c) 2005-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <math.h>
18 #include "core/cstr_api.h"
19 #include "core/output_file_api.h"
20 #include "core/unused_api.h"
21 #include "gth/gthxml.h"
22 #include "gth/gthverbosefunc.h"
23 #include "gth/intermediate.h"
24 #include "gth/plugins.h"
25 #include "gth/xml_inter_sa_visitor.h"
26 #include "gth/gt_gthsplit.h"
27
28 #define RANGE_OPT_CSTR "range"
29 #define DEFAULT_RANGE 5
30
31 typedef enum {
32 ALIGNMENTSCORE_SPLIT,
33 COVERAGE_SPLIT,
34 UNDEF_SPLIT
35 } Splitmode;
36
37 typedef struct {
38 Splitmode splitmode;
39 unsigned int range;
40 GtFileMode file_mode;
41 GtStrArray *consensusfiles;
42 bool force;
43 GthSAFilter *sa_filter; /* owned */
44 GthShowVerbose showverbose;
45 } Gthsplitinfo;
46
47 typedef struct {
48 Gthsplitinfo *gthsplitinfo;
49 char *current_outputfilename;
50 GtFile **subset_files;
51 GtStr **subset_filenames;
52 GtUword *subset_file_sa_counter,
53 num_of_subset_files;
54 GthSAFilter *sa_filter; /* reference only */
55 GthSAVisitor *sa_visitor;
56 } Store_in_subset_file_data;
57
58 static void close_output_files(Store_in_subset_file_data
59 *store_in_subset_file_data)
60 {
61 GtUword i;
62 GtStr *buf;
63
64 buf = gt_str_new();
65 for (i = 0; i < store_in_subset_file_data->num_of_subset_files; i++) {
66 if (store_in_subset_file_data->subset_files[i]) {
67 if (store_in_subset_file_data->gthsplitinfo->showverbose) {
68 gt_str_reset(buf);
69 gt_str_append_cstr(buf, "split file created: ");
70 gt_str_append_str(buf, store_in_subset_file_data->subset_filenames[i]);
71 gt_str_append_cstr(buf, " (size=");
72 gt_str_append_uword(buf,
73 store_in_subset_file_data->subset_file_sa_counter[i]);
74 gt_str_append_cstr(buf, ")");
75 store_in_subset_file_data->gthsplitinfo->showverbose(gt_str_get(buf));
76 }
77 gt_assert(store_in_subset_file_data->subset_filenames[i]);
78 /* put XML trailer in file before closing it */
79 gth_xml_show_trailer(true, store_in_subset_file_data->subset_files[i]);
80 gt_file_delete(store_in_subset_file_data->subset_files[i]);
81 gt_str_delete(store_in_subset_file_data->subset_filenames[i]);
82 store_in_subset_file_data->subset_files[i] = NULL;
83 store_in_subset_file_data->subset_file_sa_counter[i] = 0;
84 }
85 }
86 gt_str_delete(buf);
87 }
88
89 static int store_in_subset_file(void *data, GthSA *sa,
90 const char *outputfilename, GtError *err)
91 {
92 Store_in_subset_file_data *store_in_subset_file_data =
93 (Store_in_subset_file_data*) data;
94 double split_determing_percentage = 0.0;
95 GtUword filenum;
96 char filenamesuffix[4];
97 int had_err = 0;
98
99 gt_error_check(err);
100
101 /* filter before we do any further processing */
102 if (gth_sa_filter_filter_sa(store_in_subset_file_data->sa_filter, sa)) {
103 /* and free it afterwards */
104 gth_sa_delete(sa);
105 /* discard */
106 return 0;
107 }
108
109 /* check whether we got a new output file to process */
110 if (!store_in_subset_file_data->current_outputfilename) {
111 store_in_subset_file_data->current_outputfilename =
112 gt_cstr_dup(outputfilename);
113 }
114 else if (strcmp(store_in_subset_file_data->current_outputfilename,
115 outputfilename)) {
116 /* close current output files */
117 close_output_files(store_in_subset_file_data);
118 gt_free(store_in_subset_file_data->current_outputfilename);
119 }
120
121 /* determine in which file the current sa needs to be put */
122 switch (store_in_subset_file_data->gthsplitinfo->splitmode) {
123 case ALIGNMENTSCORE_SPLIT:
124 split_determing_percentage = gth_sa_score(sa);
125 strcpy(filenamesuffix, "scr");
126 break;
127 case COVERAGE_SPLIT:
128 split_determing_percentage = gth_sa_coverage(sa);
129 strcpy(filenamesuffix, "cov");
130 break;
131 default: gt_assert(0);
132 }
133 gt_assert(split_determing_percentage >= 0.0);
134 /* XXX: change into an assertion when coverage problem is fixed */
135 if (split_determing_percentage > 1.0)
136 split_determing_percentage = 1.0;
137
138 if (split_determing_percentage == 1.0)
139 filenum = store_in_subset_file_data->num_of_subset_files - 1;
140 else {
141 filenum = floor(split_determing_percentage * 100.0 /
142 store_in_subset_file_data->gthsplitinfo->range);
143 }
144 gt_assert(filenum < store_in_subset_file_data->num_of_subset_files);
145
146 /* make sure the file exists and is open */
147 if (!store_in_subset_file_data->subset_files[filenum]) {
148 gt_assert(store_in_subset_file_data->subset_filenames[filenum] == NULL);
149 store_in_subset_file_data->subset_filenames[filenum] = gt_str_new();
150 gt_str_append_cstr_nt(store_in_subset_file_data->subset_filenames[filenum],
151 outputfilename,
152 gt_file_basename_length(outputfilename));
153 gt_str_append_char(store_in_subset_file_data->subset_filenames[filenum],
154 '.');
155 gt_str_append_cstr(store_in_subset_file_data->subset_filenames[filenum],
156 filenamesuffix);
157 gt_str_append_uword(store_in_subset_file_data->subset_filenames[filenum],
158 filenum *
159 store_in_subset_file_data->gthsplitinfo->range);
160 gt_str_append_char(store_in_subset_file_data->subset_filenames[filenum],
161 '-');
162 gt_str_append_uword(store_in_subset_file_data->subset_filenames[filenum],
163 (filenum + 1) *
164 store_in_subset_file_data->gthsplitinfo->range);
165 gt_str_append_cstr(store_in_subset_file_data->subset_filenames[filenum],
166 gt_file_mode_suffix(store_in_subset_file_data
167 ->gthsplitinfo->file_mode));
168
169 /* if not disabled by -force, check if file already exists */
170 if (!store_in_subset_file_data->gthsplitinfo->force) {
171 store_in_subset_file_data->subset_files[filenum] =
172 gt_file_open(store_in_subset_file_data->gthsplitinfo->file_mode,
173 gt_str_get(store_in_subset_file_data
174 ->subset_filenames[filenum]), "r", NULL);
175 if (store_in_subset_file_data->subset_files[filenum]) {
176 gt_error_set(err, "file \"%s\" exists already. use option -%s to "
177 "overwrite", gt_str_get(store_in_subset_file_data
178 ->subset_filenames[filenum]),
179 GT_FORCE_OPT_CSTR);
180 had_err = -1;
181 }
182 }
183 if (!had_err) {
184 /* open split file for writing */
185 store_in_subset_file_data->subset_files[filenum] =
186 gt_file_xopen_file_mode(store_in_subset_file_data->gthsplitinfo
187 ->file_mode,
188 gt_str_get(store_in_subset_file_data
189 ->subset_filenames[filenum]), "w");
190 /* store XML header in file */
191 gth_xml_show_leader(true,
192 store_in_subset_file_data->subset_files[filenum]);
193 }
194 }
195
196 /* put it there */
197 if (!had_err) {
198 gth_xml_inter_sa_visitor_set_outfp(store_in_subset_file_data->sa_visitor,
199 store_in_subset_file_data
200 ->subset_files[filenum]);
201 gth_sa_visitor_visit_sa(store_in_subset_file_data->sa_visitor, sa);
202 }
203
204 /* adjust counter */
205 if (!had_err)
206 store_in_subset_file_data->subset_file_sa_counter[filenum]++;
207
208 /* and free it afterwards */
209 gth_sa_delete(sa);
210
211 return had_err;
212 }
213
214 static void initGthsplitinfo(Gthsplitinfo *gthsplitinfo)
215 {
216 gthsplitinfo->splitmode = UNDEF_SPLIT;
217 gthsplitinfo->range = DEFAULT_RANGE;
218 gthsplitinfo->file_mode = GT_FILE_MODE_UNCOMPRESSED;
219 gthsplitinfo->showverbose = NULL;
220 gthsplitinfo->force = false;
221 gthsplitinfo->sa_filter = gth_sa_filter_new();
222 gthsplitinfo->consensusfiles = gt_str_array_new();
223 }
224
225 static void freeGthsplitinfo(Gthsplitinfo *gthsplitinfo)
226 {
227 if (!gthsplitinfo) return;
228 gt_str_array_delete(gthsplitinfo->consensusfiles);
229 gth_sa_filter_delete(gthsplitinfo->sa_filter);
230 }
231
232 static GtOPrval gthsplit_parse_options(int *parsed_args,
233 Gthsplitinfo *gthsplitinfo,
234 int argc, const char **argv,
235 const GthPlugins *plugins, GtError *err)
236 {
237 GtOptionParser *op;
238 GtOption *optalignmentscore, *optcoverage, *optrange, *optverbose, *optgzip,
239 *optbzip2, *optforce;
240 bool alignmentscore, coverage, verbose, gzip, bzip2;
241 GtOPrval oprval;
242
243 gt_error_check(err);
244
245 op = gt_option_parser_new("-alignmentscore | -coverage [option ...] "
246 "[file ...]", "Split GenomeThreader output files "
247 "containing intermediate results.");
248
249 /* specify all options with a corresponding help-text */
250 optalignmentscore = gt_option_new_bool("alignmentscore", "split according to "
251 "the overall alignment score (scr)",
252 &alignmentscore, false);
253 gt_option_parser_add_option(op, optalignmentscore);
254
255 optcoverage = gt_option_new_bool("coverage", "split according to coverage "
256 "(cov)", &coverage, false);
257 gt_option_parser_add_option(op, optcoverage);
258
259 optrange = gt_option_new_uint_max(RANGE_OPT_CSTR, "set the percentage range "
260 "used to create the sets",
261 &gthsplitinfo->range, DEFAULT_RANGE, 100);
262 gt_option_parser_add_option(op, optrange);
263
264 /* add sa_filter options */
265 gth_sa_filter_register_options(op, gthsplitinfo->sa_filter, false);
266
267 /* -v */
268 optverbose = gt_option_new_verbose(&verbose);
269 gt_option_parser_add_option(op, optverbose);
270
271 optgzip = gt_option_new_bool("gzip", "write gzip compressed output file(s)",
272 &gzip, false);
273 gt_option_parser_add_option(op, optgzip);
274
275 optbzip2 = gt_option_new_bool("bzip2", "write bzip2 compressed output "
276 "file(s)", &bzip2, false);
277 gt_option_parser_add_option(op, optbzip2);
278
279 optforce = gt_option_new_bool(GT_FORCE_OPT_CSTR,"force writing to split "
280 "files", &gthsplitinfo->force, false);
281 gt_option_parser_add_option(op, optforce);
282
283 gt_option_exclude(optalignmentscore, optcoverage);
284 gt_option_exclude(optgzip, optbzip2);
285 gt_option_is_mandatory_either(optalignmentscore, optcoverage);
286
287 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
288 oprval = gt_option_parser_parse(op, parsed_args, argc, argv,
289 plugins->gth_version_func, err);
290
291 if (oprval == GT_OPTION_PARSER_OK && alignmentscore)
292 gthsplitinfo->splitmode = ALIGNMENTSCORE_SPLIT;
293 if (oprval == GT_OPTION_PARSER_OK && coverage)
294 gthsplitinfo->splitmode = COVERAGE_SPLIT;
295 if (oprval == GT_OPTION_PARSER_OK && 100 % gthsplitinfo->range) {
296 gt_error_set(err, "argument to option %s must divide 100 without rest",
297 RANGE_OPT_CSTR);
298 oprval = GT_OPTION_PARSER_ERROR;
299 }
300 if (oprval == GT_OPTION_PARSER_OK && verbose)
301 gthsplitinfo->showverbose = gth_show_on_stdout;
302 if (oprval == GT_OPTION_PARSER_OK && gzip)
303 gthsplitinfo->file_mode = GT_FILE_MODE_GZIP;
304 if (oprval == GT_OPTION_PARSER_OK && bzip2)
305 gthsplitinfo->file_mode = GT_FILE_MODE_BZIP2;
306
307 /* save consensus files */
308 if (oprval == GT_OPTION_PARSER_OK) {
309 while (*parsed_args < argc) {
310 gt_str_array_add_cstr(gthsplitinfo->consensusfiles, argv[*parsed_args]);
311 (*parsed_args)++;
312 }
313 }
314
315 if (oprval == GT_OPTION_PARSER_OK &&
316 !gt_str_array_size(gthsplitinfo->consensusfiles) &&
317 (gt_option_is_set(optgzip) || gt_option_is_set(optbzip2))) {
318 gt_error_set(err, "to use compression, at least on input file has to be "
319 "supplied");
320 oprval = GT_OPTION_PARSER_ERROR;
321 }
322
323 gt_option_parser_delete(op);
324
325 return oprval;
326 }
327
328 static int gthsplit_process_files(Gthsplitinfo *gthsplitinfo,
329 const GthPlugins *plugins, GtError *err)
330 {
331 Store_in_subset_file_data store_in_subset_file_data;
332 GthInput *inputinfo;
333 GtUword i;
334 int had_err;
335
336 gt_error_check(err);
337
338 /* initialization */
339 inputinfo = gth_input_new(plugins->file_preprocessor, plugins->seq_con_new);
340 store_in_subset_file_data.gthsplitinfo = gthsplitinfo;
341 store_in_subset_file_data.num_of_subset_files = 100 / gthsplitinfo->range;
342 store_in_subset_file_data.sa_filter = gthsplitinfo->sa_filter;
343 store_in_subset_file_data.current_outputfilename = NULL;
344 store_in_subset_file_data.subset_files =
345 gt_malloc(sizeof (GtFile*) *
346 store_in_subset_file_data.num_of_subset_files);
347 store_in_subset_file_data.subset_filenames =
348 gt_malloc(sizeof (GtStr*) *
349 store_in_subset_file_data.num_of_subset_files);
350 store_in_subset_file_data.subset_file_sa_counter =
351 gt_malloc(sizeof (GtUword) *
352 store_in_subset_file_data.num_of_subset_files);
353 for (i = 0; i < store_in_subset_file_data.num_of_subset_files; i++) {
354 store_in_subset_file_data.subset_files[i] = NULL;
355 store_in_subset_file_data.subset_filenames[i] = NULL;
356 store_in_subset_file_data.subset_file_sa_counter[i] = 0;
357 }
358 store_in_subset_file_data.sa_visitor = gth_xml_inter_sa_visitor_new(inputinfo,
359 0, NULL);
360
361 if (gthsplitinfo->showverbose)
362 gthsplitinfo->showverbose("process all intermediate output files");
363
364 /* split up intermediate files */
365 had_err = gth_process_intermediate_files(inputinfo,
366 gthsplitinfo->consensusfiles,
367 store_in_subset_file,
368 &store_in_subset_file_data,
369 gthsplitinfo->showverbose, err);
370
371 /* close the split files */
372 close_output_files(&store_in_subset_file_data);
373
374 /* free */
375 gth_sa_visitor_delete(store_in_subset_file_data.sa_visitor);
376 gth_input_delete_complete(inputinfo);
377 gt_free(store_in_subset_file_data.current_outputfilename);
378 gt_free(store_in_subset_file_data.subset_files);
379 gt_free(store_in_subset_file_data.subset_filenames);
380 gt_free(store_in_subset_file_data.subset_file_sa_counter);
381
382 return had_err;
383 }
384
385 int gt_gthsplit(int argc, const char **argv, const GthPlugins *plugins,
386 GtError *err)
387 {
388 Gthsplitinfo gthsplitinfo;
389 int had_err, parsed_args;
390 gt_error_check(err);
391
392 /* init data structures */
393 initGthsplitinfo(&gthsplitinfo);
394
395 switch (gthsplit_parse_options(&parsed_args, &gthsplitinfo, argc, argv,
396 plugins, err)) {
397 case GT_OPTION_PARSER_OK: break;
398 case GT_OPTION_PARSER_ERROR:
399 freeGthsplitinfo(&gthsplitinfo);
400 return -1;
401 case GT_OPTION_PARSER_REQUESTS_EXIT:
402 freeGthsplitinfo(&gthsplitinfo);
403 return 0;
404 }
405 gt_assert(parsed_args == argc);
406
407 /* process files */
408 had_err = gthsplit_process_files(&gthsplitinfo, plugins, err);
409
410 /* free */
411 freeGthsplitinfo(&gthsplitinfo);
412
413 return had_err;
414 }
+0
-28
src/gth/gt_gthsplit.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GT_GTHSPLIT_H
18 #define GT_GTHSPLIT_H
19
20 #include "core/error.h"
21 #include "gth/plugins.h"
22
23 /* the gthsplit tool */
24 int gt_gthsplit(int argc, const char **argv, const GthPlugins *plugins,
25 GtError*);
26
27 #endif
+0
-1417
src/gth/gthalignment.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2000-2004 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
3 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #include <stdio.h>
19 #include <stdlib.h>
20 #include <ctype.h>
21 #include <math.h>
22 #include "core/chardef.h"
23 #include "core/codon_api.h"
24 #include "core/minmax.h"
25 #include "core/translator_api.h"
26 #include "core/unused_api.h"
27 #include "gth/gthalignment.h"
28
29 #define OUTCHAR(C) gt_file_xfputc((C),outfp)
30
31 #define OUTSTRINGNUM(N,S) gt_file_xprintf(outfp,"%*"GT_WUS,(int) (N), (S))
32
33 #define CHECK_FOR_IDENTICAL_SUBSTRING_OF_LENGTH_0(EOPPTR)\
34 if ((EOPPTR) == 0)\
35 {\
36 fprintf(stderr,"identical substring of length 0 not allowed\n");\
37 exit(EXIT_FAILURE);\
38 }
39
40 #define GENOMICDNAPTR_STILL_VALID\
41 gt_assert(genomicdnaptr < aftergenomicdnaline)
42
43 #define GENOMICPROTEINPTR_STILL_VALID\
44 gt_assert(genomicproteinptr < aftergenomicproteinline)
45
46 #define REFERENCEPROTEINPTR_STILL_VALID\
47 gt_assert(referenceproteinptr < afterreferenceproteinline)
48
49 #define EQUAL_AMINO_ACID_CHAR '|'
50 #define POSITIVE_SCORE_CHAR '+'
51 #define ZERO_SCORE_CHAR '.'
52 #define NEGATIVE_SCORE_CHAR ' '
53
54 /*EE
55 This file implements functions to formatting and showing an alignment.
56 The alignment is formatted in two steps. In the first step we
57 take the list of edit operations and compute the two lines of the alignment
58 with inserted abstract gap symbols for insertions and deletions.
59 The characters are however stored as integers in the range [0..alphasize-1].
60 In the second phase the two lines are formatted such that they fit
61 on the given linewidth. Additionally, the position offset for the
62 line are shown on the right. Moreover, if the given linewidth contains
63 at least one mismatch or indel, this is shown as an extra line
64 marking the corresponding columns by the symbol
65 \texttt{\symbol{34}\symbol{33}\symbol{34}}.
66 */
67
68 #define NUMWIDTH 12 /* width of position right of alignment */
69
70 static GtUword calctotallengthofintron(GtUword *numofeopsinintron,
71 Editoperation *intronstart,
72 Editoperation *alignmentstart)
73 {
74 Editoperation *eopptr;
75 GtUword totalintronlength = 0;
76 bool breakforloop = false;
77
78 *numofeopsinintron = 0;
79
80 for (eopptr = intronstart; eopptr >= alignmentstart; eopptr--) {
81 switch (*eopptr) {
82 case MISMATCHEOP:
83 case DELETIONEOP:
84 case INSERTIONEOP:
85 breakforloop = true;
86 break;
87 default:
88 switch (*eopptr & ~MAXIDENTICALLENGTH) {
89 case 0: /* match */
90 breakforloop = true;
91 break;
92 case DELETIONEOP: /* intron */
93 (*numofeopsinintron)++;
94 totalintronlength += *eopptr & MAXIDENTICALLENGTH;
95 break;
96 }
97 }
98 if (breakforloop)
99 break;
100 }
101
102 return totalintronlength;
103 }
104
105 /*
106 The following function implements the first step mentioned above, i.e.\
107 it fills the \texttt{firstlinecompare} and the \texttt{secondlinecompare}
108 of the alignment.
109 */
110
111 static GtUword fillthelines(GtUchar *firstline,GtUchar *secondline,
112 const GtUchar *useq, const GtUchar *vseq,
113 Editoperation *alignment,
114 GtUword lenalg, GtUword linewidth,
115 GtUword showintronmaxlen,
116 GtArrayShortIntronInfo *shortintroninfo)
117 {
118 Editoperation *eopptr;
119 GtUword l, intronlength, totalintronlength, numofeopsinintron,
120 restlength, end, completeshortintronlen = 0, i = 0, j = 0;
121 GtUchar *fptr = firstline, *sptr = secondline;
122 ShortIntronInfo oneshortintron;
123
124 /* first phase: construct first line of alignment */
125 for (eopptr = alignment+lenalg-1; eopptr >= alignment; eopptr--) {
126 switch (*eopptr)
127 {
128 case MISMATCHEOP:
129 case DELETIONEOP:
130 *fptr++ = useq[i];
131 i++;
132 break;
133 case INSERTIONEOP:
134 *fptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
135 break;
136 default:
137 switch (*eopptr & ~MAXIDENTICALLENGTH) {
138 case 0: /* match */
139 CHECK_FOR_IDENTICAL_SUBSTRING_OF_LENGTH_0(*eopptr);
140 for (l = 0; l < (GtUword) *eopptr; l++) {
141 *fptr++ = useq[i];
142 i++;
143 }
144 break;
145 case DELETIONEOP: /* intron */
146 if (showintronmaxlen > 0) {
147 /* compute total intron length */
148 totalintronlength = calctotallengthofintron(&numofeopsinintron,
149 eopptr, alignment);
150
151 /* compute the rest length which is necessary to fill the current
152 line */
153 restlength = (GtUword) (fptr - firstline) % linewidth;
154 if (restlength != 0) {
155 /* restlength is strictly smaller than linewidth" */
156 gt_assert(restlength < linewidth);
157 restlength = linewidth - restlength;
158 }
159
160 /* check if introducing a ``short'' intron here is necessary */
161 if (totalintronlength >=
162 showintronmaxlen + restlength + 2 * linewidth ) {
163 /* introduce ``short'' intron */
164
165 /* write the beginning of the intron in the conventional way */
166 for (l = 0; l < restlength + linewidth; l++) {
167 *fptr++ = useq[i];
168 i++;
169 }
170
171 /* store short intron information if necessary */
172 if (shortintroninfo) {
173 oneshortintron.start = (GtUword) (fptr - firstline +
174 completeshortintronlen);
175 end = oneshortintron.start +
176 ((totalintronlength - restlength - 2 * linewidth)
177 / linewidth) * linewidth - 1;
178 oneshortintron.length = end - oneshortintron.start + 1;
179 completeshortintronlen += oneshortintron.length;
180
181 GT_STOREINARRAY(shortintroninfo, ShortIntronInfo,
182 8, oneshortintron);
183 }
184
185 /* add length of short intron to i */
186 i += ((totalintronlength - restlength - 2 * linewidth)
187 / linewidth) * linewidth;
188
189 /* write the end of the intron in the conventional way */
190 for (l = 0;
191 l < linewidth +
192 ((totalintronlength - restlength - 2 * linewidth) %
193 linewidth);
194 l++) {
195 *fptr++ = useq[i];
196 i++;
197 }
198
199 /* place eopptr to the last multi editoperation of this intron
200 because the intron has already been completely processed */
201 eopptr -= (numofeopsinintron - 1);
202
203 /* intron is already processed, therefore continue */
204 continue;
205 }
206 }
207
208 intronlength = *eopptr & MAXIDENTICALLENGTH;
209 for (l = 0; l < intronlength; l++) {
210 *fptr++ = useq[i];
211 i++;
212 }
213 break;
214 default: gt_assert(0);
215 }
216 }
217 }
218 /* first phase: construct second line of alignment */
219 for (eopptr = alignment+lenalg-1; eopptr >= alignment; eopptr--) {
220 switch (*eopptr) {
221 case MISMATCHEOP:
222 case INSERTIONEOP:
223 *sptr++ = vseq[j];
224 j++;
225 break;
226 case DELETIONEOP:
227 *sptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
228 break;
229 default:
230 switch (*eopptr & ~MAXIDENTICALLENGTH) {
231 case 0: /* match */
232 CHECK_FOR_IDENTICAL_SUBSTRING_OF_LENGTH_0(*eopptr);
233 for (l = 0; l < (GtUword) *eopptr; l++) {
234 *sptr++ = vseq[j];
235 j++;
236 }
237 break;
238 case DELETIONEOP: /* intron */
239 if (showintronmaxlen > 0) {
240 /* compute total intron length */
241 totalintronlength = calctotallengthofintron(&numofeopsinintron,
242 eopptr, alignment);
243
244 /* compute the rest length which is necessary to fill the current
245 line */
246 restlength = (GtUword) (sptr - secondline) % linewidth;
247 if (restlength != 0) {
248 /* restlength is strictly smaller than linewidth */
249 gt_assert(restlength < linewidth);
250 restlength = linewidth - restlength;
251 }
252
253 /* check if introducing a ``short'' intron here is necessary */
254 if (totalintronlength >=
255 showintronmaxlen + restlength + 2 * linewidth ) {
256 /* write the rest of the intron in the conventional way */
257 for (l = 0;
258 l < restlength + 2 * linewidth +
259 ((totalintronlength - restlength - 2 * linewidth) %
260 linewidth);
261 l++) {
262 *sptr++ = (GtUchar) ABSTRACTINTRONSYMBOL;
263 }
264
265 /* place eopptr to the last multi editoperation of this intron
266 because the intron has already been completely processed */
267 eopptr -= (numofeopsinintron - 1);
268
269 /* intron is already processed, therefore continue */
270 continue;
271 }
272 }
273
274 intronlength = *eopptr & MAXIDENTICALLENGTH;
275 for (l = 0; l < intronlength; l++) {
276 *sptr++ = (GtUchar) ABSTRACTINTRONSYMBOL;
277 }
278 break;
279 default: gt_assert(0);
280 }
281 }
282 }
283
284 return (GtUword) (sptr-secondline);
285 }
286
287 static void match_mismatch_genomicdnaline(GtUchar **genomicdnaptr,
288 bool
289 *processing_intron_with_1_base_left,
290 bool
291 *processing_intron_with_2_bases_left,
292 const GtUchar *genseqorig,
293 GtUword *genseqindex)
294 {
295 if (*processing_intron_with_2_bases_left) {
296 /* this means we are after an intron with 2 bases left
297 this bases have already been shown, therefore we only show 1 more */
298 *processing_intron_with_2_bases_left = false;
299 **genomicdnaptr = genseqorig[(*genseqindex)++];
300 (*genomicdnaptr)++;
301 }
302 else {
303 if (*processing_intron_with_1_base_left) {
304 /* this means we are after an intron with 1 base left
305 this base has already been shown, therefore we only show 2 more */
306 *processing_intron_with_1_base_left = false;
307 }
308 else {
309 **genomicdnaptr = genseqorig[(*genseqindex)++];
310 (*genomicdnaptr)++;
311 }
312 **genomicdnaptr = genseqorig[(*genseqindex)++];
313 (*genomicdnaptr)++;
314 **genomicdnaptr = genseqorig[(*genseqindex)++];
315 (*genomicdnaptr)++;
316 }
317 }
318
319 /*
320 The following function is used to construct the genomic DNA line of
321 protein alignments.
322 */
323
324 static GtUword construct_genomic_dna_line(GtUchar *genomicdnaline,
325 GT_UNUSED GtUword
326 lengthofgenomicdnaline,
327 const GtUchar *genseqorig,
328 Editoperation *alignment,
329 GtUword lenalg)
330 {
331 Editoperation *eopptr;
332 Eoptype eoptype;
333 GtUword eoplength, l,
334 i = 0;
335 GtUchar *genomicdnaptr = genomicdnaline;
336 #ifndef NDEBUG
337 GtUchar *aftergenomicdnaline = genomicdnaline + lengthofgenomicdnaline;
338 #endif
339 bool processing_intron_with_1_base_left = false,
340 processing_intron_with_2_bases_left = false;
341
342 for (eopptr = alignment + lenalg - 1; eopptr >= alignment; eopptr--) {
343 eoptype = gt_editoperation_type(*eopptr, true);
344 eoplength = gt_editoperation_length(*eopptr, true);
345
346 /* we are not processing two intron types at the same time */
347 gt_assert(!(processing_intron_with_1_base_left &&
348 processing_intron_with_2_bases_left));
349
350 switch (eoptype) {
351 case EOP_TYPE_DELETION:
352 gt_assert(!processing_intron_with_1_base_left);
353 gt_assert(!processing_intron_with_2_bases_left);
354 /*@fallthrough@*/
355 case EOP_TYPE_MISMATCH:
356 gt_assert(eoplength == 1);
357 match_mismatch_genomicdnaline(&genomicdnaptr,
358 &processing_intron_with_1_base_left,
359 &processing_intron_with_2_bases_left,
360 genseqorig,
361 &i);
362 break;
363 case EOP_TYPE_INSERTION:
364 gt_assert(eoplength == 1);
365 gt_assert(!processing_intron_with_1_base_left);
366 gt_assert(!processing_intron_with_2_bases_left);
367 GENOMICDNAPTR_STILL_VALID;
368 *genomicdnaptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
369 GENOMICDNAPTR_STILL_VALID;
370 *genomicdnaptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
371 GENOMICDNAPTR_STILL_VALID;
372 *genomicdnaptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
373 break;
374 case EOP_TYPE_MISMATCH_WITH_1_GAP:
375 case EOP_TYPE_DELETION_WITH_1_GAP:
376 gt_assert(eoplength == 1);
377 gt_assert(!processing_intron_with_1_base_left);
378 gt_assert(!processing_intron_with_2_bases_left);
379 GENOMICDNAPTR_STILL_VALID;
380 *genomicdnaptr++ = genseqorig[i++];
381 GENOMICDNAPTR_STILL_VALID;
382 *genomicdnaptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
383 GENOMICDNAPTR_STILL_VALID;
384 *genomicdnaptr++ = genseqorig[i++];
385 break;
386 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
387 case EOP_TYPE_DELETION_WITH_2_GAPS:
388 gt_assert(eoplength == 1);
389 gt_assert(!processing_intron_with_1_base_left);
390 gt_assert(!processing_intron_with_2_bases_left);
391 GENOMICDNAPTR_STILL_VALID;
392 *genomicdnaptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
393 GENOMICDNAPTR_STILL_VALID;
394 *genomicdnaptr++ = genseqorig[i++];
395 GENOMICDNAPTR_STILL_VALID;
396 *genomicdnaptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
397 break;
398 case EOP_TYPE_MATCH:
399 for (l = 0; l < eoplength; l++) {
400 match_mismatch_genomicdnaline(&genomicdnaptr,
401 &processing_intron_with_1_base_left,
402 &processing_intron_with_2_bases_left,
403 genseqorig, &i);
404 }
405 break;
406 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
407 if (!processing_intron_with_2_bases_left) {
408 processing_intron_with_2_bases_left = true;
409 GENOMICDNAPTR_STILL_VALID;
410 *genomicdnaptr++ = genseqorig[i++];
411 GENOMICDNAPTR_STILL_VALID;
412 *genomicdnaptr++ = genseqorig[i++];
413 }
414 /* skip the next case statement and process this intron */
415 goto process_intron;
416 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
417 if (!processing_intron_with_1_base_left) {
418 processing_intron_with_1_base_left = true;
419 GENOMICDNAPTR_STILL_VALID;
420 *genomicdnaptr++ = genseqorig[i++];
421 }
422 /*@fallthrough@*/
423 case EOP_TYPE_INTRON:
424 process_intron:
425 for (l = 0; l < eoplength; l++) {
426 GENOMICDNAPTR_STILL_VALID;
427 *genomicdnaptr++ = genseqorig[i++];
428 }
429 break;
430 default: gt_assert(0);
431 }
432 }
433
434 gt_assert(!processing_intron_with_1_base_left);
435 gt_assert(!processing_intron_with_2_bases_left);
436
437 return (GtUword) (genomicdnaptr - genomicdnaline);
438 }
439
440 static void match_mismatch_genomicproteinline(GtUchar **genomicproteinptr,
441 bool
442 *processing_intron_with_1_base_left,
443 bool
444 *processing_intron_with_2_bases_left,
445 const GtUchar *genseqorig,
446 GtUchar *first_base_left,
447 GtUchar *second_base_left,
448 GtUchar *dummyptr,
449 GtUword *genseqindex,
450 GtUword translationschemenumber)
451 {
452 GtUchar dna[GT_CODON_LENGTH];
453 GtTransTable *transtable;
454 char codon;
455 GT_UNUSED int rval;
456
457 transtable = gt_trans_table_new(translationschemenumber, NULL);
458 /* XXX: the validity of the translation table has to be checked before */
459 gt_assert(transtable);
460
461 if (*processing_intron_with_2_bases_left) {
462 *processing_intron_with_2_bases_left = false;
463 gt_assert(*first_base_left != UNDEFCHAR);
464 gt_assert(*second_base_left != UNDEFCHAR);
465 gt_assert(dummyptr != NULL);
466 dna[0] = *first_base_left;
467 dna[1] = *second_base_left;
468 dna[2] = genseqorig[(*genseqindex)++];
469 *first_base_left = (GtUchar) UNDEFCHAR;
470 *second_base_left = (GtUchar) UNDEFCHAR;
471
472 rval = gt_trans_table_translate_codon(transtable, dna[0], dna[1], dna[2],
473 &codon, NULL);
474 /* since the sequence has been preprocessed before, the codon translation
475 should not fail */
476 gt_assert(!rval);
477
478 /* set dummy pointer */
479 *dummyptr = codon;
480 /* show second blank here */
481 **genomicproteinptr = (GtUchar) ' ';
482 (*genomicproteinptr)++;
483 }
484 else {
485 if (*processing_intron_with_1_base_left) {
486 *processing_intron_with_1_base_left = false;
487 gt_assert(*first_base_left != UNDEFCHAR);
488 dna[0] = *first_base_left;
489 *first_base_left = (GtUchar) UNDEFCHAR;
490 }
491 else {
492 dna[0] = genseqorig[(*genseqindex)++];
493 }
494 dna[1] = genseqorig[(*genseqindex)++];
495 dna[2] = genseqorig[(*genseqindex)++];
496
497 rval = gt_trans_table_translate_codon(transtable, dna[0], dna[1], dna[2],
498 &codon, NULL);
499 /* since the sequence has been preprocessed before, the codon translation
500 should not fail */
501 gt_assert(!rval);
502
503 (**genomicproteinptr) = (GtUchar) ' ';
504 (*genomicproteinptr)++;
505 (**genomicproteinptr) = codon;
506 (*genomicproteinptr)++;
507 (**genomicproteinptr) = (GtUchar) ' ';
508 (*genomicproteinptr)++;
509 }
510
511 gt_trans_table_delete(transtable);
512 }
513
514 /*
515 The following function is used to construct the genomic protein line of
516 protein alignments.
517 */
518
519 static GtUword construct_genomic_protein_line(GtUchar *genomicproteinline,
520 GT_UNUSED GtUword
521 lengthofgenomicproteinline,
522 const GtUchar *genseqorig,
523 Editoperation *alignment,
524 GtUword lenalg,
525 GtUword
526 translationschemenumber)
527 {
528 Editoperation *eopptr;
529 Eoptype eoptype;
530 GtUword eoplength, l,
531 i = 0;
532 GtUchar first_base_left = (GtUchar) UNDEFCHAR,
533 second_base_left = (GtUchar) UNDEFCHAR,
534 *dummyptr = NULL,
535 *genomicproteinptr = genomicproteinline;
536 #ifndef NDEBUG
537 GtUchar *aftergenomicproteinline = genomicproteinline +
538 lengthofgenomicproteinline;
539 #endif
540 bool processing_intron_with_1_base_left = false,
541 processing_intron_with_2_bases_left = false;
542
543 for (eopptr = alignment + lenalg - 1; eopptr >= alignment; eopptr--) {
544 eoptype = gt_editoperation_type(*eopptr, true);
545 eoplength = gt_editoperation_length(*eopptr, true);
546
547 gt_assert(!(processing_intron_with_1_base_left &&
548 processing_intron_with_2_bases_left));
549
550 switch (eoptype) {
551 case EOP_TYPE_MISMATCH:
552 gt_assert(eoplength == 1);
553 match_mismatch_genomicproteinline(&genomicproteinptr,
554 &processing_intron_with_1_base_left,
555 &processing_intron_with_2_bases_left,
556 genseqorig,
557 &first_base_left,
558 &second_base_left,
559 dummyptr,
560 &i,
561 translationschemenumber);
562 break;
563 case EOP_TYPE_DELETION:
564 /* skip three characters in genomic dna (fall through case!) */
565 i++;
566 /*@fallthrough@*/
567 case EOP_TYPE_MISMATCH_WITH_1_GAP:
568 case EOP_TYPE_DELETION_WITH_1_GAP:
569 /* skip two characters in genomic dna (fall through case!) */
570 i++;
571 /*@fallthrough@*/
572 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
573 case EOP_TYPE_DELETION_WITH_2_GAPS:
574 /* skip one characters in genomic dna (fall through case!) */
575 i++;
576 /*@fallthrough@*/
577 case EOP_TYPE_INSERTION:
578 gt_assert(eoplength == 1);
579 gt_assert(!processing_intron_with_1_base_left);
580 gt_assert(!processing_intron_with_2_bases_left);
581 GENOMICPROTEINPTR_STILL_VALID;
582 *genomicproteinptr++ = (GtUchar) ' ';
583 GENOMICPROTEINPTR_STILL_VALID;
584 *genomicproteinptr++ = (GtUchar) ' ';
585 GENOMICPROTEINPTR_STILL_VALID;
586 *genomicproteinptr++ = (GtUchar) ' ';
587 break;
588 case EOP_TYPE_MATCH:
589 for (l = 0; l < eoplength; l++) {
590 match_mismatch_genomicproteinline(&genomicproteinptr,
591 &processing_intron_with_1_base_left,
592 &processing_intron_with_2_bases_left,
593 genseqorig,
594 &first_base_left,
595 &second_base_left,
596 dummyptr,
597 &i,
598 translationschemenumber);
599 }
600 break;
601 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
602 if (!processing_intron_with_2_bases_left) {
603 processing_intron_with_2_bases_left = true;
604 /* save the first two bases */
605 first_base_left = genseqorig[i++];
606 second_base_left = genseqorig[i++];
607 /* print first blank here already */
608 GENOMICPROTEINPTR_STILL_VALID;
609 *genomicproteinptr++ = (GtUchar) ' ';
610 /* save dummy pointer */
611 GENOMICPROTEINPTR_STILL_VALID;
612 dummyptr = genomicproteinptr++;
613 }
614 /* skip the next case statement and process this intron */
615 goto process_intron;
616 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
617 if (!processing_intron_with_1_base_left)
618 {
619 processing_intron_with_1_base_left = true;
620 first_base_left = genseqorig[i++];
621 }
622 /*@fallthrough@*/
623 case EOP_TYPE_INTRON:
624 process_intron:
625 for (l = 0; l < eoplength; l++) {
626 GENOMICPROTEINPTR_STILL_VALID;
627 *genomicproteinptr++ = (GtUchar) ' ';
628 i++;
629 }
630 break;
631 default: gt_assert(0);
632 }
633 }
634
635 gt_assert(!processing_intron_with_1_base_left);
636 gt_assert(!processing_intron_with_2_bases_left);
637
638 return (GtUword) (genomicproteinptr - genomicproteinline);
639 }
640
641 static void match_mismatch_referenceproteinline(GtUchar **referenceproteinptr,
642 bool
643 *processing_intron_with_1_base_left,
644 bool
645 *processing_intron_with_2_bases_left,
646 const GtUchar *refseqorig,
647 GtUword *refseqindex)
648 {
649 if (*processing_intron_with_2_bases_left) {
650 *processing_intron_with_2_bases_left = false;
651 **referenceproteinptr = (GtUchar) ' ';
652 (*referenceproteinptr)++;
653 }
654 else {
655 if (*processing_intron_with_1_base_left) {
656 *processing_intron_with_1_base_left = false;
657 }
658 else {
659 **referenceproteinptr = (GtUchar) ' ';
660 (*referenceproteinptr)++;
661 }
662 **referenceproteinptr = refseqorig[(*refseqindex)++];
663 (*referenceproteinptr)++;
664 **referenceproteinptr = (GtUchar) ' ';
665 (*referenceproteinptr)++;
666 }
667 }
668
669 /*
670 The following function is used to construct the genomic protein line of
671 protein alignments.
672 */
673
674 static GtUword construct_reference_protein_line(GtUchar
675 *referenceproteinline,
676 GT_UNUSED GtUword
677 lengthofreferenceproteinline,
678 const GtUchar *refseqorig,
679 Editoperation *alignment,
680 GtUword lenalg)
681 {
682 Editoperation *eopptr;
683 Eoptype eoptype;
684 GtUword eoplength, l,
685 i = 0;
686 GtUchar *referenceproteinptr = referenceproteinline;
687 #ifndef NDEBUG
688 GtUchar *afterreferenceproteinline = referenceproteinline +
689 lengthofreferenceproteinline;
690 #endif
691 bool processing_intron_with_1_base_left = false,
692 processing_intron_with_2_bases_left = false;
693
694 for (eopptr = alignment + lenalg - 1; eopptr >= alignment; eopptr--) {
695 eoptype = gt_editoperation_type(*eopptr, true);
696 eoplength = gt_editoperation_length(*eopptr, true);
697
698 gt_assert(!(processing_intron_with_1_base_left &&
699 processing_intron_with_2_bases_left));
700
701 switch (eoptype) {
702 case EOP_TYPE_MISMATCH_WITH_1_GAP:
703 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
704 case EOP_TYPE_INSERTION:
705 gt_assert(!processing_intron_with_1_base_left);
706 gt_assert(!processing_intron_with_2_bases_left);
707 /*@fallthrough@*/
708 case EOP_TYPE_MISMATCH:
709 gt_assert(eoplength == 1);
710 match_mismatch_referenceproteinline(&referenceproteinptr,
711 &processing_intron_with_1_base_left,
712 &processing_intron_with_2_bases_left,
713 refseqorig,
714 &i);
715 break;
716 case EOP_TYPE_DELETION:
717 case EOP_TYPE_DELETION_WITH_1_GAP:
718 case EOP_TYPE_DELETION_WITH_2_GAPS:
719 gt_assert(eoplength == 1);
720 gt_assert(!processing_intron_with_1_base_left);
721 gt_assert(!processing_intron_with_2_bases_left);
722 REFERENCEPROTEINPTR_STILL_VALID;
723 *referenceproteinptr++ = (GtUchar) ' ';
724 REFERENCEPROTEINPTR_STILL_VALID;
725 *referenceproteinptr++ = (GtUchar) ABSTRACTGAPSYMBOL;
726 REFERENCEPROTEINPTR_STILL_VALID;
727 *referenceproteinptr++ = (GtUchar) ' ';
728 break;
729 case EOP_TYPE_MATCH:
730 for (l = 0; l < eoplength; l++)
731 {
732 match_mismatch_referenceproteinline(&referenceproteinptr,
733 &processing_intron_with_1_base_left,
734 &processing_intron_with_2_bases_left,
735 refseqorig,
736 &i);
737 }
738 break;
739 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
740 if (!processing_intron_with_2_bases_left)
741 {
742 processing_intron_with_2_bases_left = true;
743 REFERENCEPROTEINPTR_STILL_VALID;
744 *referenceproteinptr++ = (GtUchar) ' ';
745 REFERENCEPROTEINPTR_STILL_VALID;
746 *referenceproteinptr++ = refseqorig[i++];
747 }
748 /* skip the next case statement and process this intron */
749 goto process_intron;
750 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
751 if (!processing_intron_with_1_base_left)
752 {
753 processing_intron_with_1_base_left = true;
754 REFERENCEPROTEINPTR_STILL_VALID;
755 *referenceproteinptr++ = (GtUchar) ' ';
756 }
757 /*@fallthrough@*/
758 case EOP_TYPE_INTRON:
759 process_intron:
760 for (l = 0; l < eoplength; l++)
761 {
762 REFERENCEPROTEINPTR_STILL_VALID;
763 *referenceproteinptr++ = (GtUchar) ABSTRACTINTRONSYMBOL;
764 }
765 break;
766 default: gt_assert(0);
767 }
768 }
769
770 gt_assert(!processing_intron_with_1_base_left);
771 gt_assert(!processing_intron_with_2_bases_left);
772
773 return (GtUword) (referenceproteinptr - referenceproteinline);
774 }
775
776 static GtUword filltheproteinlines(GtUchar *genomicdnaline,
777 GtUchar *genomicproteinline,
778 GtUchar *referenceproteinline,
779 GtUword lengthofgenomicdnaline,
780 GtUword lengthofgenomicproteinline,
781 GtUword lengthofreferenceproteinline,
782 const GtUchar *genseqorig,
783 const GtUchar *refseqorig,
784 Editoperation *alignment,
785 GtUword lenalg,
786 GtUword translationschemenumber)
787 {
788 GtUword GT_UNUSED genomicdnalinelen,
789 GT_UNUSED genomicproteinlinelen,
790 referenceproteinlinelen;
791
792 /* construct genomic DNA line of alignment */
793 genomicdnalinelen = construct_genomic_dna_line(genomicdnaline,
794 lengthofgenomicdnaline,
795 genseqorig,
796 alignment,
797 lenalg);
798
799 /* construct genomic protein line of alignment */
800 genomicproteinlinelen =
801 construct_genomic_protein_line(genomicproteinline,
802 lengthofgenomicproteinline,
803 genseqorig,
804 alignment,
805 lenalg,
806 translationschemenumber);
807
808 /* construct reference protein line of alignment */
809 referenceproteinlinelen =
810 construct_reference_protein_line(referenceproteinline,
811 lengthofreferenceproteinline,
812 refseqorig,
813 alignment,
814 lenalg);
815
816 /* all three lines have the same length */
817 gt_assert(genomicdnalinelen == genomicproteinlinelen);
818 gt_assert(genomicproteinlinelen == referenceproteinlinelen);
819
820 return referenceproteinlinelen;
821 }
822
823 static GtUchar implodewildcard(GtUchar c, bool wildcardimplosion,
824 GtAlphabet *alphabet)
825 {
826 if (wildcardimplosion && (gt_alphabet_encode(alphabet, c) == WILDCARD)) {
827 if (islower(c))
828 return (GtUchar) tolower(gt_alphabet_wildcard_show(alphabet));
829 else
830 return (GtUchar) toupper(gt_alphabet_wildcard_show(alphabet));
831 }
832 else
833 return c;
834 }
835
836 /*
837 The following function formats a sequence \texttt{s} of length \texttt{len}.
838 Each character code is shown as the corresponding character w.r.t.
839 the given alphabet. Each abstract gap symbol is shown as a
840 \texttt{\symbol{34}-\symbol{34}}. The output goes to the file pointer
841 \texttt{outfp}.
842 */
843
844 static void formatseqwithgaps(GtFile *outfp, GtUchar *sorig, GtUword len,
845 GtUword *insertioncount,
846 bool countproteininsertions, GtAlphabet *alphabet,
847 bool wildcardimplosion)
848 {
849 GtUword i;
850
851 for (i=0; i<len; i++)
852 {
853 if ((i != 0) && (i%10 == 0))
854 {
855 OUTCHAR(' ');
856 }
857 if (sorig[i] == (GtUchar) ABSTRACTGAPSYMBOL)
858 {
859 OUTCHAR(CONCRETEGAPSYMBOL);
860 if (insertioncount)
861 {
862 if (countproteininsertions)
863 {
864 *insertioncount += GT_CODON_LENGTH;
865 }
866 else
867 {
868 (*insertioncount)++;
869 }
870 }
871 }
872 else if (sorig[i] == (GtUchar) ABSTRACTINTRONSYMBOL)
873 {
874 OUTCHAR(CONCRETEINTRONSYMBOL);
875 if (insertioncount)
876 {
877 (*insertioncount)++;
878 }
879 }
880 else
881 {
882 gt_file_xfputc(implodewildcard(toupper(sorig[i]), wildcardimplosion,
883 alphabet), outfp);
884 }
885 }
886 }
887
888 /*
889 For the alignment lines \texttt{firstlinecompare} and
890 \texttt{secondlinecompare}, both of length \texttt{len}, the following
891 function shows a line
892 with the symbol \texttt{\symbol{34}\symbol{33}\symbol{34}} in each column
893 corresponding to a mismatch or an indel. The output goes to the file
894 pointer \texttt{outfp}.
895 */
896
897 #define CHECKORIGEQUAL(OKAY,A,B)\
898 if ((A) == (B))\
899 {\
900 OKAY = true;\
901 } else\
902 {\
903 if (islower((A)))\
904 { \
905 OKAY = ((A) == (GtUchar) tolower(B)) ? true : false;\
906 } else\
907 {\
908 OKAY = ((A) == (GtUchar) toupper((B))) ? true : false;\
909 }\
910 }
911
912 static void showeditopline(GtFile *outfp,
913 GtUchar *firstlineorig,
914 GtUchar *secondlineorig,
915 GtUword len,
916 GtAlphabet *alphabet)
917 {
918 GtUword i;
919 GtUchar acompare, bcompare, aorig, borig;
920 bool charequal, charinline = false;
921
922 for (i=0; i<len; i++)
923 {
924 acompare = tolower(firstlineorig[i]);
925 bcompare = tolower(secondlineorig[i]);
926 if (acompare == bcompare && acompare != (GtUchar) CONCRETEGAPSYMBOL &&
927 gt_alphabet_encode(alphabet, acompare) != (GtUchar) WILDCARD)
928 {
929 charinline = true;
930 break;
931 }
932 aorig = firstlineorig[i];
933 borig = secondlineorig[i];
934 CHECKORIGEQUAL(charequal,aorig,borig);
935 if (!charequal)
936 {
937 charinline = true;
938 break;
939 }
940 }
941 if (charinline)
942 {
943 for (i=0; i<len; i++)
944 {
945 if ((i != 0) && (i%10 == 0))
946 {
947 OUTCHAR(' ');
948 }
949
950 acompare = tolower(firstlineorig[i]);
951 bcompare = tolower(secondlineorig[i]);
952 if (acompare == bcompare && acompare != (GtUchar) CONCRETEGAPSYMBOL &&
953 gt_alphabet_encode(alphabet, acompare) != (GtUchar) WILDCARD)
954 {
955 OUTCHAR('|');
956 } else
957 {
958 aorig = firstlineorig[i];
959 borig = secondlineorig[i];
960 CHECKORIGEQUAL(charequal,aorig,borig);
961 if (charequal)
962 {
963 OUTCHAR('=');
964 } else
965 {
966 OUTCHAR(' ');
967 }
968 }
969 }
970 OUTCHAR('\n');
971 }
972 }
973
974 static void showeditoplineprotein(GtFile *outfp,
975 GtUchar *genomicproteinline,
976 GtUchar *referenceproteinline,
977 GtUword len,
978 GtScoreMatrix *score_matrix,
979 GtAlphabet *score_matrix_alphabet)
980 {
981 GtUword i;
982 GtUchar genchar, refchar;
983 int score;
984
985 for (i = 0; i < len; i++)
986 {
987 genchar = genomicproteinline[i];
988 refchar = referenceproteinline[i];
989
990 /* an empty refchar implies an emtpy genchar */
991 gt_assert(!(refchar == ' ' && genchar != ' '));
992
993 /* output blank if necessary */
994 if ((i != 0) && (i%10 == 0)) {
995 OUTCHAR(' ');
996 }
997
998 /* handle the ``empty case'' */
999 if (genchar == ' ') {
1000 OUTCHAR(' ');
1001 }
1002 else if (genchar == refchar) {
1003 OUTCHAR(EQUAL_AMINO_ACID_CHAR);
1004 }
1005 else {
1006 GtUchar code1, code2;
1007 int wcidx;
1008
1009 /* output character depending on amino acid substitution score of the two
1010 characters
1011 XXX: handle output of stop codons appropriately */
1012
1013 /* determine score */
1014 code1 = gt_alphabet_encode(score_matrix_alphabet, genchar);
1015 code2 = gt_alphabet_encode(score_matrix_alphabet, refchar);
1016 wcidx = gt_alphabet_size(score_matrix_alphabet) - 1;
1017 score = gt_score_matrix_get_score(score_matrix,
1018 code1 == WILDCARD ? wcidx : code1,
1019 code2 == WILDCARD ? wcidx : code2);
1020
1021 /* output corresponding character depending on score */
1022 if (score > 0) {
1023 OUTCHAR(POSITIVE_SCORE_CHAR);
1024 }
1025 else if (score == 0) {
1026 OUTCHAR(ZERO_SCORE_CHAR);
1027 }
1028 else { /* score < 0 */
1029 OUTCHAR(NEGATIVE_SCORE_CHAR);
1030 }
1031 }
1032 }
1033 }
1034
1035 /*
1036 The following function formats an alignment given by the
1037 \texttt{firstlinecompare} and the \texttt{secondlinecompare}.
1038 \texttt{numofcols} is the number of columns in the alignment.
1039 \texttt{linewidth} is the width according to which the alignment
1040 is formatted. \texttt{startfirst} and \texttt{startsecond} are
1041 the starting positions of the aligned sequences.
1042 The output goes to the file pointer \texttt{outfp}.
1043 */
1044
1045 static void formatalignment(GtFile *outfp, GtUchar *firstlineorig,
1046 GtUchar *secondlineorig, GtUword numofcols,
1047 GtUword linewidth, GtUword startfirst,
1048 GtUword startsecond, GtUword totalulen,
1049 GtAlphabet *alphabet,
1050 GtArrayShortIntronInfo *shortintroninfo,
1051 bool reverse_subject_pos, bool wildcardimplosion)
1052 {
1053 GtUword len, i = 0;
1054 GtUword tennerblocksadjustment = 0,
1055 firstinsertioncount = 0,
1056 secondinsertioncount = 0,
1057 currentshortintroninfo = 0,
1058 completeshortintronlen = 0;
1059 GtWord j, numofblanks;
1060 GtUword shortintronstart,
1061 shortintronend,
1062 shortintronlength;
1063
1064 for (;;) {
1065 if ((numofcols - i) < linewidth)
1066 {
1067 len = numofcols -i;
1068 tennerblocksadjustment = (linewidth - len - 1)/10;
1069 }
1070 else
1071 {
1072 len = linewidth;
1073 }
1074 formatseqwithgaps(outfp,firstlineorig + i, len, &firstinsertioncount, false,
1075 alphabet, wildcardimplosion);
1076 if (reverse_subject_pos)
1077 {
1078 OUTSTRINGNUM(NUMWIDTH+linewidth-len+tennerblocksadjustment,
1079 totalulen + 1 - (i+startfirst+len-firstinsertioncount+
1080 completeshortintronlen));
1081 }
1082 else
1083 {
1084 OUTSTRINGNUM(NUMWIDTH+linewidth-len+tennerblocksadjustment,
1085 i+startfirst+len-firstinsertioncount+completeshortintronlen);
1086 }
1087 OUTCHAR('\n');
1088 showeditopline(outfp, firstlineorig+i,secondlineorig+i,len, alphabet);
1089 formatseqwithgaps(outfp, secondlineorig + i, len, &secondinsertioncount,
1090 false, alphabet, wildcardimplosion);
1091
1092 OUTSTRINGNUM(NUMWIDTH+linewidth-len+tennerblocksadjustment,
1093 i+startsecond+len-secondinsertioncount);
1094
1095 OUTCHAR('\n');
1096 OUTCHAR('\n');
1097
1098 i += len;
1099 if (i >= numofcols)
1100 break;
1101 OUTCHAR('\n');
1102
1103 /* take care of short introns, if some remain */
1104 if (currentshortintroninfo < shortintroninfo->nextfreeShortIntronInfo) {
1105 /* current short intron starts after or at current position */
1106 gt_assert(shortintroninfo->spaceShortIntronInfo[currentshortintroninfo]
1107 .start >= i + completeshortintronlen);
1108 if (shortintroninfo->spaceShortIntronInfo[currentshortintroninfo].start
1109 == i + completeshortintronlen) {
1110 /* output short intron */
1111 shortintronstart = reverse_subject_pos
1112 ? totalulen + 1 -
1113 (i+startfirst-firstinsertioncount+
1114 completeshortintronlen+1)
1115 : i+startfirst-firstinsertioncount +
1116 completeshortintronlen+1;
1117 shortintronend = reverse_subject_pos
1118 ? totalulen + 1 -
1119 (i+startfirst-firstinsertioncount+
1120 completeshortintronlen+
1121 shortintroninfo->spaceShortIntronInfo
1122 [currentshortintroninfo].length)
1123 : i+startfirst-firstinsertioncount+
1124 completeshortintronlen+
1125 shortintroninfo->spaceShortIntronInfo
1126 [currentshortintroninfo].length;
1127 shortintronlength = shortintroninfo->spaceShortIntronInfo
1128 [currentshortintroninfo].length;
1129
1130 numofblanks = (GtWord) linewidth - 33;
1131 numofblanks -= floor(log10((double) shortintronstart))+1;
1132 numofblanks -= floor(log10((double) shortintronend))+1;
1133 numofblanks -= floor(log10((double) shortintronlength))+1;
1134 numofblanks += (linewidth / 10 ) - 1;
1135
1136 gt_file_xprintf(outfp,
1137 "// intron part "GT_WU" "GT_WU" ("GT_WU" n) not shown",
1138 shortintronstart, shortintronend, shortintronlength);
1139
1140 for (j = 0; j < numofblanks; j++) {
1141 OUTCHAR(' ');
1142 }
1143
1144 gt_file_xprintf(outfp, "//\n\n");
1145 gt_file_xprintf(outfp, "//");
1146 for (j = 2; j < (GtWord) linewidth - 2; j++) {
1147 if ((j != 0) && (j%10 == 0)) {
1148 OUTCHAR(' ');
1149 }
1150 OUTCHAR(CONCRETEINTRONSYMBOL);
1151 }
1152 gt_file_xprintf(outfp, "//\n\n\n");
1153
1154 /* update short intron adjustment */
1155 completeshortintronlen += shortintroninfo->spaceShortIntronInfo
1156 [currentshortintroninfo].length;
1157 /* increase current intron */
1158 currentshortintroninfo++;
1159 }
1160 }
1161 }
1162 OUTCHAR('\n');
1163 }
1164
1165 static void formatproteinalignment(GtFile *outfp,
1166 GtUchar *genomicdnaline,
1167 GtUchar *genomicproteinline,
1168 GtUchar *referenceproteinline,
1169 GtUword numofcols,
1170 GtUword linewidth,
1171 GtUword startfirst,
1172 GtUword startsecond,
1173 GtUword totalulen,
1174 GtAlphabet *alphabet,
1175 GtScoreMatrix *score_matrix,
1176 GtAlphabet *score_matrix_alphabet,
1177 bool reverse_subject_pos,
1178 bool wildcardimplosion)
1179 {
1180 GtUword len, codon_remainder, i = 0,
1181 tennerblocksadjustment = 0,
1182 genomicdnainsertioncount = 0,
1183 referenceproteininsertioncount = 0,
1184 completeshortintronlen = 0;
1185
1186 for (;;)
1187 {
1188 if ((numofcols - i) < linewidth)
1189 {
1190 len = numofcols - i;
1191 tennerblocksadjustment = (linewidth - len - 1)/10;
1192 }
1193 else
1194 {
1195 len = linewidth;
1196 }
1197
1198 formatseqwithgaps(outfp, genomicdnaline + i, len, &genomicdnainsertioncount,
1199 false, alphabet, wildcardimplosion);
1200 if (reverse_subject_pos)
1201 {
1202 OUTSTRINGNUM(NUMWIDTH+linewidth-len+tennerblocksadjustment,
1203 totalulen + 1 - (i+startfirst+len-genomicdnainsertioncount+
1204 completeshortintronlen));
1205 }
1206 else
1207 {
1208 OUTSTRINGNUM(NUMWIDTH+linewidth-len+tennerblocksadjustment,
1209 i+startfirst+len-genomicdnainsertioncount+
1210 completeshortintronlen);
1211 }
1212 OUTCHAR('\n');
1213 formatseqwithgaps(outfp, genomicproteinline + i, len, NULL, false, alphabet,
1214 wildcardimplosion);
1215 OUTCHAR('\n');
1216 showeditoplineprotein(outfp, genomicproteinline + i,
1217 referenceproteinline + i, len, score_matrix,
1218 score_matrix_alphabet);
1219 OUTCHAR('\n');
1220 formatseqwithgaps(outfp, referenceproteinline + i, len,
1221 &referenceproteininsertioncount, true, alphabet,
1222 wildcardimplosion);
1223
1224 /* this is necessary for a correct output of protein positions */
1225 if ((i+len-referenceproteininsertioncount) % GT_CODON_LENGTH == 2)
1226 codon_remainder = 1;
1227 else
1228 codon_remainder = 0;
1229 OUTSTRINGNUM(NUMWIDTH+linewidth-len+tennerblocksadjustment,
1230 startsecond+
1231 ((i+len-referenceproteininsertioncount) / GT_CODON_LENGTH)+
1232 codon_remainder);
1233 OUTCHAR('\n');
1234 OUTCHAR('\n');
1235
1236 i += len;
1237 if (i >= numofcols)
1238 break;
1239 OUTCHAR('\n');
1240 }
1241 OUTCHAR('\n');
1242 }
1243
1244 GtUword gthfillthethreealignmentlines(GtUchar **firstline,
1245 GtUchar **secondline,
1246 GtUchar **thirdline,
1247 Editoperation *alignment,
1248 GtUword lenalg,
1249 GtUword indelcount,
1250 const GtUchar *genseqorig,
1251 GtUword genseqlen,
1252 const GtUchar *refseqorig,
1253 GtUword refseqlen,
1254 GtUword translationschemenumber)
1255 {
1256 GtUword lengthofgenomicdnaline,
1257 lengthofgenomicproteinline,
1258 lengthofreferenceproteinline;
1259
1260 /* set the lenght of the three output lines */
1261 lengthofgenomicdnaline = genseqlen
1262 + MIN(indelcount, refseqlen * GT_CODON_LENGTH);
1263 lengthofgenomicproteinline = genseqlen
1264 + MIN(indelcount, refseqlen * GT_CODON_LENGTH);
1265 lengthofreferenceproteinline = refseqlen * GT_CODON_LENGTH
1266 + MIN(indelcount, genseqlen);
1267
1268 /* alloc space for the three output lines */
1269 *firstline = gt_malloc(lengthofgenomicdnaline * sizeof (GtUchar));
1270 *secondline = gt_malloc(lengthofgenomicproteinline * sizeof (GtUchar));
1271 *thirdline = gt_malloc(lengthofreferenceproteinline * sizeof (GtUchar));
1272
1273 /* fill the output lines */
1274 return filltheproteinlines(*firstline,
1275 *secondline,
1276 *thirdline,
1277 lengthofgenomicdnaline,
1278 lengthofgenomicproteinline,
1279 lengthofreferenceproteinline,
1280 genseqorig,
1281 refseqorig,
1282 alignment,
1283 lenalg,
1284 translationschemenumber);
1285 }
1286
1287 void gthshowalignmentprotein(GtFile *outfp,
1288 GtUword linewidth,
1289 Editoperation *alignment,
1290 GtUword lenalg,
1291 GtUword indelcount,
1292 const GtUchar *genseqorig,
1293 GtUword genseqlen,
1294 const GtUchar *refseqorig,
1295 GtUword refseqlen,
1296 GtUword startfirst,
1297 GtUword startsecond,
1298 GtUword totalulen,
1299 GT_UNUSED GtUword showintronmaxlen,
1300 GtAlphabet *alphabet,
1301 GtUword translationschemenumber,
1302 GtScoreMatrix *score_matrix,
1303 GtAlphabet *score_matrix_alphabet,
1304 bool reverse_subject_pos,
1305 bool wildcardimplosion)
1306 {
1307 GtUword numofcols;
1308 GtUchar *genomicdnaline,
1309 *genomicproteinline,
1310 *referenceproteinline;
1311 GtArrayShortIntronInfo shortintroninfo;
1312
1313 /* init */
1314 GT_INITARRAY(&shortintroninfo, ShortIntronInfo);
1315
1316 numofcols = gthfillthethreealignmentlines(&genomicdnaline,
1317 &genomicproteinline,
1318 &referenceproteinline,
1319 alignment,
1320 lenalg,
1321 indelcount,
1322 genseqorig,
1323 genseqlen,
1324 refseqorig,
1325 refseqlen,
1326 translationschemenumber);
1327
1328 /* output the three lines in a formated fashion */
1329 formatproteinalignment(outfp, genomicdnaline, genomicproteinline,
1330 referenceproteinline, numofcols, linewidth, startfirst,
1331 startsecond, totalulen, alphabet, score_matrix,
1332 score_matrix_alphabet, reverse_subject_pos,
1333 wildcardimplosion);
1334
1335 /* free */
1336 GT_FREEARRAY(&shortintroninfo, ShortIntronInfo);
1337 gt_free(genomicdnaline);
1338 gt_free(genomicproteinline);
1339 gt_free(referenceproteinline);
1340 }
1341
1342 GtUword gthfillthetwoalignmentlines(GtUchar **firstline,
1343 GtUchar **secondline,
1344 const GtUchar *useq,
1345 GtUword ulen,
1346 const GtUchar *vseq,
1347 GtUword vlen,
1348 Editoperation *alignment,
1349 GtUword lenalg,
1350 GtUword linewidth,
1351 GtUword showintronmaxlen,
1352 GtArrayShortIntronInfo
1353 *shortintroninfo,
1354 GtUword indelcount)
1355 {
1356 *firstline = gt_malloc(ulen + MIN(indelcount, vlen) * sizeof (GtUchar));
1357 *secondline = gt_malloc(vlen + MIN(indelcount, ulen) * sizeof (GtUchar));
1358
1359 return fillthelines(*firstline, *secondline, useq, vseq, alignment, lenalg,
1360 linewidth, showintronmaxlen, shortintroninfo);
1361 }
1362
1363 /*EE
1364 The following function shows the \texttt{alignment} on
1365 the file pointer \texttt{outfp}. \texttt{lenalg} is the length
1366 of the alignment and \texttt{indelcount} is an upper bound on the number
1367 of insertions and deletions. If you do not exactly know this number then
1368 choose a value which is larger, e.g.\ MAX(ulen,vlen). The aligned
1369 sequences are \texttt{useqcompare} and \texttt{vseqcompare} of
1370 length \texttt{ulen} and \texttt{vlen}. The pointers
1371 \texttt{useqorig} and \texttt{vseqorig} refer to the original versions
1372 of the sequences.
1373 \texttt{startfirst} and \texttt{startsecond} are
1374 the starting positions of the aligned sequences.
1375 \texttt{linewidth} is the width the alignment is formatted for,
1376 If the argument \texttt{showintronmaxlen} is set to 0, introns are showed
1377 completely. Otherwise introns larger than \texttt{showintronmaxlen} are only
1378 shown partially.
1379 */
1380
1381 void gthshowalignmentdna(GtFile *outfp,
1382 GtUword linewidth,
1383 Editoperation *alignment,
1384 GtUword lenalg,
1385 GtUword indelcount,
1386 const GtUchar *useqorig,
1387 GtUword ulen,
1388 const GtUchar *vseqorig,
1389 GtUword vlen,
1390 GtUword startfirst,
1391 GtUword startsecond,
1392 GtUword totalulen,
1393 GtUword showintronmaxlen,
1394 GtAlphabet *alphabet,
1395 bool reverse_subject_pos,
1396 bool wildcardimplosion)
1397 {
1398 GtUchar *firstlineorig, *secondlineorig;
1399 GtUword numofcolsorig;
1400 GtArrayShortIntronInfo shortintroninfo;
1401
1402 GT_INITARRAY(&shortintroninfo, ShortIntronInfo);
1403
1404 numofcolsorig = gthfillthetwoalignmentlines(&firstlineorig, &secondlineorig,
1405 useqorig, ulen, vseqorig, vlen,
1406 alignment, lenalg, linewidth,
1407 showintronmaxlen,
1408 &shortintroninfo, indelcount);
1409
1410 formatalignment(outfp, firstlineorig, secondlineorig, numofcolsorig,
1411 linewidth, startfirst, startsecond, totalulen, alphabet,
1412 &shortintroninfo, reverse_subject_pos, wildcardimplosion);
1413 gt_free(firstlineorig);
1414 gt_free(secondlineorig);
1415 GT_FREEARRAY(&shortintroninfo, ShortIntronInfo);
1416 }
+0
-110
src/gth/gthalignment.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2000-2004 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
3 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef GTHALIGNMENT_H
19 #define GTHALIGNMENT_H
20
21 #include <stdio.h>
22 #include "core/arraydef.h"
23 #include "core/file.h"
24 #include "core/score_matrix.h"
25 #include "gth/editoperation.h"
26
27 #define CONCRETEINTRONSYMBOL '.'
28 #define CONCRETEGAPSYMBOL '-'
29 #define ABSTRACTINTRONSYMBOL (SEPARATOR-4) /* the abstract intron symbol */
30 #define ABSTRACTGAPSYMBOL (SEPARATOR-3) /* the abstract gap symbol */
31
32 /*
33 For the display of long introns in short form we need the following
34 structure.
35 */
36
37 typedef struct
38 {
39 GtUword start,
40 length;
41 } ShortIntronInfo;
42
43 GT_DECLAREARRAYSTRUCT(ShortIntronInfo);
44
45 GtUword gthfillthetwoalignmentlines(GtUchar **firstline,
46 GtUchar **secondline,
47 const GtUchar *useq,
48 GtUword ulen,
49 const GtUchar *vseq,
50 GtUword vlen,
51 Editoperation *alignment,
52 GtUword lenalg,
53 GtUword linewidth,
54 GtUword showintronmaxlen,
55 GtArrayShortIntronInfo
56 *shortintroninfo,
57 GtUword indelcount);
58
59 GtUword gthfillthethreealignmentlines(GtUchar **firstline,
60 GtUchar **secondline,
61 GtUchar **thirdline,
62 Editoperation *alignment,
63 GtUword lenalg,
64 GtUword indelcount,
65 const GtUchar *genseqorig,
66 GtUword genseqlen,
67 const GtUchar *refseqorig,
68 GtUword refseqlen,
69 GtUword
70 translationschemenumber);
71
72 void gthshowalignmentprotein(GtFile *outfp,
73 GtUword linewidth,
74 Editoperation *alignment,
75 GtUword lenalg,
76 GtUword indelcount,
77 const GtUchar *genseqorig,
78 GtUword genseqlen,
79 const GtUchar *refseqorig,
80 GtUword refseqlen,
81 GtUword startfirst,
82 GtUword startsecond,
83 GtUword totalulen,
84 GtUword showintronmaxlen,
85 GtAlphabet *alphabet,
86 GtUword translationschemenumber,
87 GtScoreMatrix *score_matrix,
88 GtAlphabet *score_matrix_alphabet,
89 bool reverse_subject_pos,
90 bool wildcardimplosion);
91
92 void gthshowalignmentdna(GtFile *outfp,
93 GtUword linewidth,
94 Editoperation *alignment,
95 GtUword lenalg,
96 GtUword indelcount,
97 const GtUchar *useqorig,
98 GtUword ulen,
99 const GtUchar *vseqorig,
100 GtUword vlen,
101 GtUword startfirst,
102 GtUword startsecond,
103 GtUword totalulen,
104 GtUword showintronmaxlen,
105 GtAlphabet *alphabet,
106 bool reverse_subject_pos,
107 bool wildcardimplosion);
108
109 #endif
+0
-31
src/gth/gthalphatype.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHALPHATYPE_H
18 #define GTHALPHATYPE_H
19
20 /* the following enum type defines the valid alphabet types */
21 typedef enum {
22 DNA_ALPHA,
23 PROTEIN_ALPHA,
24 MIXED_ALPHA, /* not a real alphabet type, but used to denote that reference
25 files with DNA_ALPHA alphabets and with PROTEIN_ALPHA
26 alphabets are used at the same time */
27 UNDEF_ALPHA,
28 } GthAlphatype;
29
30 #endif
+0
-778
src/gth/gthchain.c less more
0 /*
1 Copyright (c) 2004-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma_api.h"
18 #include "core/range.h"
19 #include "core/safearith.h"
20 #include "core/undef_api.h"
21 #include "core/unused_api.h"
22 #include "gth/gthoutput.h"
23 #include "gth/gthchain.h"
24
25 #define DPEXTENSION 300
26
27 /* An GthInvertedChain is the inversion of a GthChain.
28 That is, its genomic ranges denote the potential introns.
29 The variables <startpos> and <endpos> denote the leftmost genomic position of
30 the orginal exons and the rightmost postions, respectively. They are needed
31 to be able to convert a GthInvertedChain (back) to a GthChain. */
32 typedef struct {
33 GtUword gen_file_num,
34 gen_seq_num,
35 ref_file_num,
36 ref_seq_num,
37 startpos,
38 endpos;
39 GtArray *forwardranges;
40 } GthInvertedChain;
41
42 GthChain* gth_chain_new(void)
43 {
44 GthChain *chain = gt_calloc(1, sizeof *chain);
45 chain->gen_file_num = GT_UNDEF_UWORD;
46 chain->gen_seq_num = GT_UNDEF_UWORD;
47 chain->ref_file_num = GT_UNDEF_UWORD;
48 chain->ref_seq_num = GT_UNDEF_UWORD;
49 chain->forwardranges = gt_array_new(sizeof (GtRange));
50 chain->reverseranges = gt_array_new(sizeof (GtRange));
51 return chain;
52 }
53
54 void gth_chain_delete(GthChain *chain)
55 {
56 if (!chain) return;
57 if (chain->jump_table_delete) {
58 chain->jump_table_delete(chain->reverse_jump_table);
59 chain->jump_table_delete(chain->forward_jump_table);
60 }
61 gt_array_delete(chain->forwardranges);
62 gt_array_delete(chain->reverseranges);
63 gt_free(chain);
64 }
65
66 static void inverted_chain_init(GthInvertedChain *inverted_chain)
67 {
68 inverted_chain->gen_file_num = GT_UNDEF_UWORD;
69 inverted_chain->gen_seq_num = GT_UNDEF_UWORD;
70 inverted_chain->ref_file_num = GT_UNDEF_UWORD;
71 inverted_chain->ref_seq_num = GT_UNDEF_UWORD;
72 inverted_chain->startpos = GT_UNDEF_UWORD;
73 inverted_chain->endpos = GT_UNDEF_UWORD;
74 inverted_chain->forwardranges = gt_array_new(sizeof (GtRange));
75 }
76
77 static void inverted_chain_free(GthInvertedChain *inverted_chain)
78 {
79 if (!inverted_chain) return;
80 gt_array_delete(inverted_chain->forwardranges);
81 }
82
83 static void chain_copy_core(GthChain *dest, const GthChain *src)
84 {
85 /* destination chain is empty */
86 gt_assert(!gt_array_size(dest->forwardranges) &&
87 !gt_array_size(dest->reverseranges));
88 /* source is not empty */
89 gt_assert(gt_array_size(src->forwardranges) &&
90 gt_array_size(src->reverseranges));
91 /* number of forwardranges equals number of reverseranges */
92 gt_assert(gt_array_size(src->forwardranges) ==
93 gt_array_size(src->reverseranges));
94
95 /* copy file and sequence numbers */
96 dest->gen_file_num = src->gen_file_num;
97 dest->gen_seq_num = src->gen_seq_num;
98 dest->ref_file_num = src->ref_file_num;
99 dest->ref_seq_num = src->ref_seq_num;
100 dest->refseqcoverage = src->refseqcoverage;
101 }
102
103 void gth_chain_copy(GthChain *dest, const GthChain *src)
104 {
105 gt_assert(dest&& src);
106 chain_copy_core(dest, src);
107 gt_array_add_array(dest->forwardranges, src->forwardranges);
108 gt_array_add_array(dest->reverseranges, src->reverseranges);
109 }
110
111 #ifndef NDEBUG
112 static bool chain_is_filled_and_consistent(GthChain *chain,
113 GtUword gen_total_length,
114 GtUword gen_offset)
115 {
116 GtArray *testranges;
117
118 /* check of file sequence numbers are defined */
119 if (chain->gen_file_num == GT_UNDEF_UWORD ||
120 chain->gen_seq_num == GT_UNDEF_UWORD ||
121 chain->ref_file_num == GT_UNDEF_UWORD ||
122 chain->ref_seq_num == GT_UNDEF_UWORD) {
123 return false;
124 }
125
126 if (!gt_ranges_are_consecutive(chain->forwardranges))
127 return false;
128
129 testranges = gt_array_new(sizeof (GtRange));
130 gt_ranges_copy_to_opposite_strand(testranges, chain->reverseranges,
131 gen_total_length, gen_offset);
132 if (!gt_ranges_are_equal(testranges, chain->forwardranges)) {
133 gt_array_delete(testranges);
134 return false;
135 }
136
137 gt_array_delete(testranges);
138
139 return true;
140 }
141 #endif
142
143 static void convert_chain_to_inverted_chain(GthInvertedChain *inverted_chain,
144 GthChain *chain)
145 {
146 GtUword i, lastexonnum = gt_array_size(chain->forwardranges) - 1;
147 GtRange range;
148
149 /* inverted chain is empty */
150 gt_assert(!gt_array_size(inverted_chain->forwardranges));
151 /* chain is not empty */
152 gt_assert(gt_array_size(chain->forwardranges));
153
154 /* copy file and sequence numbers */
155 inverted_chain->gen_file_num = chain->gen_file_num;
156 inverted_chain->gen_seq_num = chain->gen_seq_num;
157 inverted_chain->ref_file_num = chain->ref_file_num;
158 inverted_chain->ref_seq_num = chain->ref_seq_num;
159
160 /* save startpos */
161 inverted_chain->startpos = ((GtRange*)
162 gt_array_get_first(chain->forwardranges))->start;
163
164 /* save endpos */
165 inverted_chain->endpos = ((GtRange*)
166 gt_array_get_last(chain->forwardranges))->end;
167
168 /* convert (potential) exons to (potential) introns */
169 for (i = 0; i < lastexonnum; i++) {
170 range.start = ((GtRange*) gt_array_get(chain->forwardranges, i))
171 ->end + 1;
172 range.end = ((GtRange*) gt_array_get(chain->forwardranges, i+1))
173 ->start - 1;
174 gt_array_add(inverted_chain->forwardranges, range);
175 }
176 }
177
178 static void convert_inverted_chain_to_chain(GthChain *chain,
179 GthInvertedChain *inverted_chain,
180 GtUword gen_total_length,
181 GtUword gen_offset)
182 {
183 GtUword i, numofintrons = gt_array_size(inverted_chain->forwardranges);
184 GtRange range;
185
186 /* chain is empty */
187 gt_assert(!gt_array_size(chain->forwardranges) &&
188 !gt_array_size(chain->reverseranges));
189
190 /* copy file and sequence numbers */
191 chain->gen_file_num = inverted_chain->gen_file_num;
192 chain->gen_seq_num = inverted_chain->gen_seq_num;
193 chain->ref_file_num = inverted_chain->ref_file_num;
194 chain->ref_seq_num = inverted_chain->ref_seq_num;
195
196 /* save forward ranges */
197 range.start = inverted_chain->startpos;
198 for (i = 0; i < numofintrons; i++) {
199 range.end = ((GtRange*) gt_array_get(inverted_chain->forwardranges,
200 i))->start - 1;
201 gt_array_add(chain->forwardranges, range);
202 range.start = ((GtRange*) gt_array_get(inverted_chain->forwardranges,
203 i))->end + 1;
204 }
205 range.end = inverted_chain->endpos;
206 gt_array_add(chain->forwardranges, range);
207
208 /* save inverted forward ranges as reverse ranges */
209 gt_ranges_copy_to_opposite_strand(chain->reverseranges, chain->forwardranges,
210 gen_total_length, gen_offset);
211
212 gt_assert(chain_is_filled_and_consistent(chain, gen_total_length,
213 gen_offset));
214 }
215
216 #ifndef NDEBUG
217 static bool conversion_is_correct(GthChain *orig_chain,
218 GthInvertedChain *inverted_chain,
219 GtUword gen_total_length,
220 GtUword gen_offset)
221 {
222 GthChain *check_chain;
223 GtUword i;
224
225 check_chain = gth_chain_new();
226 convert_inverted_chain_to_chain(check_chain, inverted_chain, gen_total_length,
227 gen_offset);
228
229 /* compare number of (potential) exons */
230 if ((gt_array_size(orig_chain->forwardranges) !=
231 gt_array_size(check_chain->forwardranges)) ||
232 (gt_array_size(orig_chain->reverseranges) !=
233 gt_array_size(check_chain->reverseranges))) {
234 gth_chain_delete(check_chain);
235 return false;
236 }
237
238 /* compare positions of (potential) exon */
239 for (i = 0; i < gt_array_size(orig_chain->forwardranges); i++) {
240 if ((((GtRange*)gt_array_get(orig_chain->forwardranges, i))->start !=
241 ((GtRange*)gt_array_get(check_chain->forwardranges, i))->start) ||
242 (((GtRange*)gt_array_get(orig_chain->forwardranges, i))->end !=
243 ((GtRange*)gt_array_get(check_chain->forwardranges, i))->end) ||
244 (((GtRange*)gt_array_get(orig_chain->reverseranges, i))->start !=
245 ((GtRange*)gt_array_get(check_chain->reverseranges, i))->start) ||
246 (((GtRange*)gt_array_get(orig_chain->reverseranges, i))->end !=
247 ((GtRange*)gt_array_get(check_chain->reverseranges, i))->end)) {
248 gth_chain_delete(check_chain);
249 return false;
250 }
251 }
252
253 gth_chain_delete(check_chain);
254
255 return true;
256 }
257 #endif
258
259 static void potentialintronspostpro(GtArray *intronstoprocess,
260 GtUword icdelta,
261 GtUword icminremintronlength)
262 {
263 GtArray *originalintrons;
264 GtRange potintron;
265 GtUword i, potintronlength,
266 minintronlength = 2 * icdelta + icminremintronlength;
267
268 originalintrons = gt_array_new(sizeof (GtRange));
269
270 /* save all (potential) introns */
271 gt_array_add_array(originalintrons, intronstoprocess);
272
273 /* reset introns to process */
274 gt_array_set_size(intronstoprocess, 0);
275
276 /* store introns */
277 for (i = 0; i < gt_array_size(originalintrons); i++) {
278 potintron = *(GtRange*) gt_array_get(originalintrons, i);
279 potintronlength = potintron.end - potintron.start + 1;
280
281 if (potintronlength >= minintronlength) {
282 /* keep this intron (plus/minus intron deltas)
283 that is, this intron is cut out later */
284 potintron.start += icdelta;
285 potintron.end -= icdelta;
286 gt_array_add(intronstoprocess, potintron);
287 }
288 /* else: skip this intron
289 that is, this intron is not cut out later */
290 }
291
292 gt_array_delete(originalintrons);
293 }
294
295 /* XXX: change this function: add more sophisticated extension strategy */
296 void gth_chain_extend_borders(GthChain *chain, const GtRange *gen_seq_bounds,
297 const GtRange *gen_seq_bounds_rc,
298 GT_UNUSED GtUword gen_total_length,
299 GT_UNUSED GtUword gen_offset)
300 {
301 GtWord tmpborder;
302
303 /* at least one range in chain */
304 gt_assert(gt_array_size(chain->forwardranges));
305 /* forward range borders are in considered genomic region */
306 gt_assert(gt_ranges_borders_are_in_region(chain->forwardranges,
307 gen_seq_bounds));
308 /* reverse range borders are in considered genomic region */
309 gt_assert(gt_ranges_borders_are_in_region(chain->reverseranges,
310 gen_seq_bounds_rc));
311 /* chain->forwardranges is forward and consecutive */
312 gt_assert(gt_ranges_are_consecutive(chain->forwardranges));
313 /* valid sequence bounds */
314 gt_assert(gen_seq_bounds->start <= gen_seq_bounds->end);
315 gt_assert(gen_seq_bounds_rc->start <= gen_seq_bounds_rc->end);
316
317 /* set start border, forward strand */
318 tmpborder = gt_safe_cast2long(((GtRange*)
319 gt_array_get_first(chain->forwardranges))
320 ->start);
321 tmpborder -= DPEXTENSION;
322 if (tmpborder < gt_safe_cast2long(gen_seq_bounds->start))
323 tmpborder = gen_seq_bounds->start;
324 ((GtRange*) gt_array_get_first(chain->forwardranges))->start =
325 gt_safe_cast2ulong(tmpborder);
326
327 /* set start border, reverse complement strand */
328 tmpborder = gt_safe_cast2long(((GtRange*)
329 gt_array_get_first(chain->reverseranges))
330 ->start);
331 tmpborder -= DPEXTENSION;
332 if (tmpborder < gt_safe_cast2long(gen_seq_bounds_rc->start))
333 tmpborder = gen_seq_bounds_rc->start;
334 ((GtRange*) gt_array_get_first(chain->reverseranges))->start =
335 gt_safe_cast2ulong(tmpborder);
336
337 /* set end border, forward strand */
338 tmpborder = gt_safe_cast2long(((GtRange*)
339 gt_array_get_last(chain->forwardranges))
340 ->end);
341 tmpborder += DPEXTENSION;
342 if (tmpborder > gt_safe_cast2long(gen_seq_bounds->end))
343 tmpborder = gen_seq_bounds->end;
344 ((GtRange*) gt_array_get_last(chain->forwardranges))->end =
345 gt_safe_cast2ulong(tmpborder);
346
347 /* set end border, reverse complement strand */
348 tmpborder = gt_safe_cast2long(((GtRange*)
349 gt_array_get_last(chain->reverseranges))
350 ->end);
351 tmpborder += DPEXTENSION;
352 if (tmpborder > gt_safe_cast2long(gen_seq_bounds_rc->end))
353 tmpborder = gen_seq_bounds_rc->end;
354 ((GtRange*) gt_array_get_last(chain->reverseranges))->end =
355 gt_safe_cast2ulong(tmpborder);
356
357 gt_assert(chain_is_filled_and_consistent(chain, gen_total_length,
358 gen_offset));
359 }
360
361 void gth_chain_shorten_introns(GthChain *chain, GtUword icdelta,
362 GtUword icminremintronlength,
363 GtUword gen_total_length,
364 GtUword gen_offset, bool comments,
365 GtFile *outfp)
366 {
367 GthInvertedChain inverted_chain;
368
369 gt_assert(chain);
370
371 /* init */
372 inverted_chain_init(&inverted_chain);
373
374 if (comments) {
375 gt_file_xprintf(outfp, "%c forward DP ranges (before post processing of "
376 "potential introns):\n", COMMENTCHAR);
377 gt_file_xprintf(outfp, "%c ", COMMENTCHAR);
378 gt_ranges_show(chain->forwardranges, outfp);
379 }
380
381 /* chain -> inverted_chain */
382 convert_chain_to_inverted_chain(&inverted_chain, chain);
383 gt_assert(conversion_is_correct(chain, &inverted_chain, gen_total_length,
384 gen_offset));
385
386 /* post processing of potential introns */
387 potentialintronspostpro(inverted_chain.forwardranges, icdelta,
388 icminremintronlength);
389
390 /* reset chain */
391 gt_array_set_size(chain->forwardranges, 0);
392 gt_array_set_size(chain->reverseranges, 0);
393
394 /* inverted_chain -> chain */
395 convert_inverted_chain_to_chain(chain, &inverted_chain, gen_total_length,
396 gen_offset);
397
398 if (comments) {
399 gt_file_xprintf(outfp,"%c forward DP ranges (after post processing of "
400 "potential introns):\n" , COMMENTCHAR);
401 gt_file_xprintf(outfp, "%c ", COMMENTCHAR);
402 gt_ranges_show(chain->forwardranges, outfp);
403 }
404
405 /* free space */
406 inverted_chain_free(&inverted_chain);
407 }
408
409 static void showfragment(GtFragment *fragment, GtFile *outfp)
410 {
411 gt_file_xprintf(outfp, "%c "GT_WU" "GT_WU" "GT_WU" "GT_WU" "GT_WD"\n",
412 COMMENTCHAR, fragment->startpos1, fragment->endpos1,
413 fragment->startpos2, fragment->endpos2, fragment->weight); }
414
415 static GtUword totallengthoffragments(GtChain *chain,
416 GtFragment *fragments)
417 {
418 GtRange currentrange, previousrange;
419 GtUword i, fragnum;
420 GtWord totallength = 0;
421
422 previousrange.end = GT_UNDEF_UWORD;
423
424 for (i = 0; i < gt_chain_size(chain); i++) {
425 fragnum = gt_chain_get_fragnum(chain, i);
426 currentrange.start = fragments[fragnum].startpos1;
427 currentrange.end = fragments[fragnum].endpos1;
428
429 /* currentrange is forward */
430 gt_assert(currentrange.start <= currentrange.end);
431
432 totallength += currentrange.end - currentrange.start + 1;
433
434 if (i > 0) {
435 /* subtract overlaps if necessary */
436 if (currentrange.start <= previousrange.end)
437 totallength -= previousrange.end - currentrange.start + 1;
438 }
439
440 previousrange = currentrange;
441 }
442
443 gt_assert(totallength > 0);
444
445 return totallength;
446 }
447
448 static bool globalchainislongenough(GtChain *chain, GtFragment *fragments,
449 double *refseqcoverage,
450 GtUword gcfilterthreshold,
451 GtUword referencelength,
452 GthStat *stat,
453 bool comments,
454 GtFile *outfp)
455 {
456 GtUword chain_length;
457
458 chain_length = totallengthoffragments(chain, fragments);
459
460 if (comments) {
461 gt_file_xprintf(outfp, "%c chain_length="GT_WU"\n", COMMENTCHAR,
462 chain_length);
463 gt_file_xprintf(outfp, "%c referencelength="GT_WU"\n", COMMENTCHAR,
464 referencelength);
465 }
466
467 *refseqcoverage = ((double) chain_length / (double) referencelength) * 100.0;
468
469 gt_assert(*refseqcoverage >= 0.0 && *refseqcoverage <= 100.0);
470
471 gth_stat_add_to_refseqcovdistri(stat, *refseqcoverage);
472 if (comments) {
473 gt_file_xprintf(outfp, "%c refseqcoverage=%f\n", COMMENTCHAR,
474 *refseqcoverage);
475 }
476
477 if (*refseqcoverage >= (double) gcfilterthreshold) {
478 if (comments)
479 gt_file_xprintf(outfp, "%c global chain long enough\n", COMMENTCHAR);
480 return true;
481 }
482
483 return false;
484 }
485
486 #ifndef NDEBUG
487 static bool chain_is_colinear(GtChain *chain, GtFragment *fragments)
488 {
489 GtFragment *firstfragment, *secondfragment;
490 GtUword i;
491
492 if (gt_chain_size(chain) > 1) {
493 for (i = 0; i < gt_chain_size(chain) - 1; i++) {
494 firstfragment = fragments + gt_chain_get_fragnum(chain, i);
495 secondfragment = fragments + gt_chain_get_fragnum(chain, i+1);
496
497 if (firstfragment->startpos1 >= secondfragment->startpos1 ||
498 firstfragment->endpos1 >= secondfragment->endpos1 ||
499 firstfragment->startpos2 >= secondfragment->startpos2 ||
500 firstfragment->endpos2 >= secondfragment->endpos2) {
501 return false;
502 }
503 }
504 }
505 return true;
506 }
507 #endif
508
509 static GtRange chain_get_genomicrange(GthChain *chain)
510 {
511 GtRange range;
512 gt_assert(chain);
513 range.start = ((GtRange*) gt_array_get_first(chain->forwardranges))->start;
514 range.end = ((GtRange*) gt_array_get_last(chain->forwardranges))->end;
515 gt_assert(range.start <= range.end);
516 return range;
517 }
518
519 static void enrich_chain(GthChain *chain, GtFragment *fragments,
520 GtUword num_of_fragments, bool comments,
521 GtFile *outfp)
522 {
523 GtRange genomicrange, fragmentrange;
524 GtArray *enrichment;
525 GtUword i;
526 gt_assert(chain && fragments && num_of_fragments);
527 if (comments) {
528 gt_file_xprintf(outfp, "%c enrich global chain with the following "
529 "forward ranges:\n",COMMENTCHAR);
530 gt_file_xprintf(outfp, "%c ", COMMENTCHAR);
531 gt_ranges_show(chain->forwardranges, outfp);
532 }
533 /* get genomic range of DP range */
534 genomicrange = chain_get_genomicrange(chain);
535 enrichment = gt_array_new(sizeof (GtRange));
536 /* add each fragment which overlaps which DP range to the enrichment */
537 for (i = 0; i < num_of_fragments; i++) {
538 fragmentrange.start = fragments[i].startpos2;
539 fragmentrange.end = fragments[i].endpos2;
540 if (gt_range_overlap(&genomicrange, &fragmentrange))
541 gt_array_add(enrichment, fragmentrange);
542 }
543 gt_assert(gt_array_size(enrichment));
544 /* sort the enrichment */
545 qsort(gt_array_get_space(enrichment), gt_array_size(enrichment),
546 sizeof (GtRange), (GtCompare) gt_range_compare);
547 /* reset the current DP range array */
548 gt_array_reset(chain->forwardranges);
549 /* rebuild the DP range array which now includes the enrichment */
550 genomicrange = *(GtRange*) gt_array_get_first(enrichment);
551 gt_array_add(chain->forwardranges, genomicrange);
552 for (i = 1; i < gt_array_size(enrichment); i++) {
553 genomicrange = *(GtRange*) gt_array_get(enrichment, i);
554 if (genomicrange.start <=
555 ((GtRange*) gt_array_get_last(chain->forwardranges))->end) {
556 /* overlap found -> modify last range, if necessary */
557 if (((GtRange*) gt_array_get_last(chain->forwardranges))->end <
558 genomicrange.end) {
559 ((GtRange*) gt_array_get_last(chain->forwardranges))->end =
560 genomicrange.end;
561 }
562 }
563 else {
564 /* save range */
565 gt_array_add(chain->forwardranges, genomicrange);
566 }
567 }
568 gt_array_delete(enrichment);
569 }
570
571 void gth_chain_contract(GthChain *dest, const GthChain *src)
572 {
573 GtRange forwardrange, reverserange;
574
575 gt_assert(gt_array_size(src->forwardranges) ==
576 gt_array_size(src->reverseranges));
577
578 /* copy core */
579 chain_copy_core(dest, src);
580
581 /* contract ranges */
582 forwardrange.start = ((GtRange*)
583 gt_array_get_first(src->forwardranges))->start;
584 forwardrange.end = ((GtRange*)
585 gt_array_get_last(src->forwardranges))->end;
586 reverserange.start = ((GtRange*)
587 gt_array_get_first(src->reverseranges))->start;
588 reverserange.end = ((GtRange*)
589 gt_array_get_last(src->reverseranges))->end;
590
591 /* store contracted ranges */
592 gt_array_add(dest->forwardranges, forwardrange);
593 gt_array_add(dest->reverseranges, reverserange);
594 }
595
596 static GtArray* make_list_of_chain_fragments(GtChain *chain,
597 GtFragment *fragments,
598 GtUword num_of_fragments,
599 bool enrichchains,
600 const GtRange *genomicrange)
601 {
602 GtUword i, fragnum;
603 GtArray *chain_fragments;
604 GthJTMatch match;
605 gt_assert(chain && fragments && num_of_fragments);
606 chain_fragments = gt_array_new(sizeof (GthJTMatch));
607 if (!enrichchains) {
608 /* no chain enrichment used -> store all fragments from chain */
609 for (i = 0; i < gt_chain_size(chain); i++) {
610 fragnum = gt_chain_get_fragnum(chain, i);
611 match.gen_range.start = fragments[fragnum].startpos2;
612 match.gen_range.end = fragments[fragnum].endpos2;
613 match.ref_range.start = fragments[fragnum].startpos1;
614 match.ref_range.end = fragments[fragnum].endpos1;
615 gt_array_add(chain_fragments, match);
616 }
617 }
618 else {
619 GtRange fragmentrange;
620 /* chain enrichment used -> store all fragments which overlap with genomic
621 range of computed chain */
622 for (i = 0; i < num_of_fragments; i++) {
623 fragmentrange.start = fragments[i].startpos2;
624 fragmentrange.end = fragments[i].endpos2;
625 if (gt_range_overlap(genomicrange, &fragmentrange)) {
626 match.gen_range.start = fragments[i].startpos2;
627 match.gen_range.end = fragments[i].endpos2;
628 match.ref_range.start = fragments[i].startpos1;
629 match.ref_range.end = fragments[i].endpos1;
630 gt_array_add(chain_fragments, match);
631 }
632 }
633 }
634 return chain_fragments;
635 }
636
637 void gth_save_chain(GtChain *chain, GtFragment *fragments,
638 GtUword num_of_fragments,
639 GT_UNUSED GtUword max_gap_width,
640 void *data)
641 {
642 GthSaveChainInfo *info = (GthSaveChainInfo*) data;
643 GtRange range;
644 GthChain *gth_chain;
645 GtUword i, fragnum;
646
647 gt_assert(chain_is_colinear(chain, fragments));
648
649 if (info->comments) {
650 gt_file_xprintf(info->outfp, "%c process global chain with score "GT_WD"\n",
651 COMMENTCHAR, gt_chain_get_score(chain));
652 gt_file_xprintf(info->outfp, "%c process global chain with the "
653 "following fragments\n", COMMENTCHAR);
654 for (i = 0; i < gt_chain_size(chain); i++)
655 showfragment(fragments + gt_chain_get_fragnum(chain, i), info->outfp);
656 }
657
658 /* init */
659 gth_chain = gth_chain_new();
660 gth_chain->gen_file_num = info->gen_file_num;
661 gth_chain->gen_seq_num = info->gen_seq_num;
662 gth_chain->ref_file_num = info->ref_file_num;
663 gth_chain->ref_seq_num = info->ref_seq_num;
664
665 /* chain has a minimum length of 1 */
666 gt_assert(gt_chain_size(chain));
667
668 /* global chain filter */
669 if (globalchainislongenough(chain, fragments,
670 &gth_chain->refseqcoverage, info->gcmincoverage,
671 info->referencelength, info->stat, info->comments,
672 info->outfp)) {
673 /* save all potential exons */
674 for (i = 0; i < gt_chain_size(chain); i++) {
675 fragnum = gt_chain_get_fragnum(chain, i);
676 range.start = fragments[fragnum].startpos2;
677 range.end = fragments[fragnum].endpos2;
678
679 /* check for overlap */
680 if (i > 0 &&
681 range.start <=
682 ((GtRange*) gt_array_get_last(gth_chain->forwardranges))->end) {
683 /* overlap found -> modify last range */
684 gt_assert(((GtRange*) gt_array_get_last(gth_chain->forwardranges))
685 ->end <= range.end);
686 ((GtRange*) gt_array_get_last(gth_chain->forwardranges))->end =
687 range.end;
688 }
689 else {
690 #ifndef NDEBUG
691 if (i > 0) {
692 /* gap width is smaller or equal than the maximum gap width */
693 gt_assert((range.start - 1 -
694 ((GtRange*) gt_array_get_last(gth_chain->forwardranges))
695 ->end + 1 - 1) <= max_gap_width);
696 }
697 #endif
698 /* save range */
699 gt_array_add(gth_chain->forwardranges, range);
700 }
701 }
702
703 GtRange genomicrange = chain_get_genomicrange(gth_chain);
704
705 if (info->enrichchains) {
706 enrich_chain(gth_chain, fragments, num_of_fragments, info->comments,
707 info->outfp);
708 }
709
710 gt_assert(gt_ranges_are_consecutive(gth_chain->forwardranges));
711
712 /* copy ranges to opposite strand */
713 gt_ranges_copy_to_opposite_strand(gth_chain->reverseranges,
714 gth_chain->forwardranges,
715 info->gen_total_length,
716 info->gen_offset);
717
718 /* compute jump table if necessary */
719 if (info->jump_table) {
720 GthJumpTable *forward_jump_table, *reverse_jump_table;
721 GtArray *chain_fragments;
722 chain_fragments = make_list_of_chain_fragments(chain, fragments,
723 num_of_fragments,
724 info->enrichchains,
725 &genomicrange);
726 forward_jump_table =
727 info->jump_table_new(gt_array_get_space(chain_fragments),
728 gt_array_size(chain_fragments), info->jtdebug);
729 reverse_jump_table =
730 info->jump_table_new_reverse(forward_jump_table,
731 info->gen_total_length, info->gen_offset,
732 info->ref_total_length, info->ref_offset);
733 gt_assert(!gth_chain->forward_jump_table);
734 gth_chain->forward_jump_table = forward_jump_table;
735 gt_assert(!gth_chain->reverse_jump_table);
736 gth_chain->reverse_jump_table = reverse_jump_table;
737 gt_array_delete(chain_fragments);
738 gth_chain->jump_table_delete = info->jump_table_delete;
739 }
740
741 /* save array of potential exons */
742 gth_chain_collection_add(info->chain_collection, gth_chain);
743 if (info->comments) {
744 gt_file_xprintf(info->outfp, "%c global chain with the following "
745 "ranges has been saved\n",COMMENTCHAR);
746 gt_file_xprintf(info->outfp, "%c forward ranges:\n", COMMENTCHAR);
747 gt_file_xprintf(info->outfp, "%c ", COMMENTCHAR);
748 gt_ranges_show(gth_chain->forwardranges, info->outfp);
749 gt_file_xprintf(info->outfp, "%c reverse ranges:\n", COMMENTCHAR);
750 gt_file_xprintf(info->outfp, "%c ", COMMENTCHAR);
751 gt_ranges_show(gth_chain->reverseranges, info->outfp);
752 }
753
754 /* output stored chains here
755 (Mohamed needed this to compare the chaining phase of gth with CHAINER)
756 */
757 if (info->stopafterchaining) {
758 gt_file_xprintf(info->outfp,
759 "%c gl. chain with coverage=%.2f and score "GT_WD" "
760 "(genseq="GT_WU", str.=%c, refseq="GT_WU")\n",
761 COMMENTCHAR, gth_chain->refseqcoverage,
762 gt_chain_get_score(chain), gth_chain->gen_seq_num,
763 SHOWSTRAND(info->directmatches), gth_chain->ref_seq_num);
764
765 for (i = 0; i < gt_chain_size(chain); i++)
766 showfragment(fragments + gt_chain_get_fragnum(chain, i), info->outfp);
767 }
768 }
769 else {
770 /* for -paralogs this case is not supposed to occur */
771 gt_assert(!info->paralogs);
772 if (info->comments)
773 gt_file_xprintf(info->outfp, "%c global chain discarded\n",
774 COMMENTCHAR);
775 gth_chain_delete(gth_chain);
776 }
777 }
+0
-96
src/gth/gthchain.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHCHAIN_H
18 #define GTHCHAIN_H
19
20 #include "core/array_api.h"
21 #include "core/file.h"
22 #include "core/range_api.h"
23 #include "extended/globalchaining.h"
24 #include "gth/jump_table.h"
25 #include "gth/stat.h"
26
27 /*
28 A GthChain is an array of genomic ranges (denoting the potential exons)
29 plus some additional information
30 */
31
32 typedef struct {
33 GtUword gen_file_num,
34 gen_seq_num,
35 ref_file_num,
36 ref_seq_num;
37 GtArray *forwardranges, /* refering forward strand */
38 *reverseranges; /* refering to reverse complement strand */
39
40 double refseqcoverage; /* the reference sequence coverage of this DP range */
41 GthJumpTableDelete jump_table_delete;
42 GthJumpTable *forward_jump_table,
43 *reverse_jump_table;
44 } GthChain;
45
46 #include "gth/chain_collection.h"
47
48 GthChain* gth_chain_new(void);
49 void gth_chain_delete(GthChain*);
50 void gth_chain_copy(GthChain*, const GthChain*);
51 void gth_chain_extend_borders(GthChain *dprange,
52 const GtRange *gen_seq_bounds,
53 const GtRange *gen_seq_bounds_rc,
54 GtUword gen_total_length,
55 GtUword gen_offset);
56 /* shorten the potential introns contained in the chain */
57 void gth_chain_shorten_introns(GthChain *dprange,
58 GtUword icdelta,
59 GtUword icminremintronlength,
60 GtUword gen_total_length,
61 GtUword gen_offset,
62 bool comments,
63 GtFile *outfp);
64 void gth_chain_contract(GthChain*, const GthChain*);
65
66 typedef struct {
67 GthChainCollection *chain_collection;
68 GtUword gen_file_num,
69 gen_seq_num,
70 ref_file_num,
71 ref_seq_num,
72 numofremainingbuckets,
73 gen_total_length,
74 gen_offset,
75 ref_total_length,
76 ref_offset,
77 referencelength, /* needed by globalchainislongenough() */
78 gcmincoverage; /* needed by globalchainislongenough() */
79 bool comments,
80 stopafterchaining,
81 directmatches, /* needed by stopafterchaining */
82 paralogs,
83 enrichchains,
84 jump_table;
85 GthJumpTableNew jump_table_new;
86 GthJumpTableNewReverse jump_table_new_reverse;
87 GthJumpTableDelete jump_table_delete;
88 bool jtdebug;
89 GthStat *stat;
90 GtFile *outfp;
91 } GthSaveChainInfo;
92
93 void gth_save_chain(GtChain*, GtFragment*, GtUword, GtUword, void*);
94
95 #endif
+0
-181
src/gth/gthcluster.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "gth/gthcluster.h"
19
20 static void storeSAinnewPGL(GtArray *pgls, GtUword *currentPGLindex,
21 GthSA *sa)
22 {
23 GthPGL *pgl;
24
25 pgl = gth_pgl_new(gth_sa_gen_strand_forward(sa));
26 pgl->maxrange.start = gth_sa_get_exon(sa, 0)->leftgenomicexonborder;
27 pgl->maxrange.end = gth_sa_get_exon(sa,gth_sa_num_of_exons(sa)-1)
28 ->rightgenomicexonborder;
29
30 gth_pgl_add_sa(pgl, sa);
31 gt_array_add(pgls, pgl);
32
33 /* set the current PGL index */
34 *currentPGLindex = gt_array_size(pgls) - 1;
35 }
36
37 static void storeSAincurrentPGL(GtArray *pgls, GtUword currentPGLindex,
38 GthSA *sa)
39 {
40 GtUword leftgenomicexonborder, rightgenomicexonborder;
41 GthPGL *currentPGL;
42
43 /* the current PGL index is defined */
44 gt_assert(currentPGLindex != GT_UNDEF_UWORD);
45
46 currentPGL = *(GthPGL**) gt_array_get(pgls, currentPGLindex);
47
48 /* update maxrange */
49 leftgenomicexonborder = gth_sa_get_exon(sa, 0)
50 ->leftgenomicexonborder;
51 rightgenomicexonborder = gth_sa_get_exon(sa,
52 gth_sa_num_of_exons(sa)-1)
53 ->rightgenomicexonborder;
54
55 if (leftgenomicexonborder < currentPGL->maxrange.start)
56 currentPGL->maxrange.start = leftgenomicexonborder;
57 if (rightgenomicexonborder > currentPGL->maxrange.end)
58 currentPGL->maxrange.end = rightgenomicexonborder;
59
60 /* save SA */
61 gth_pgl_add_sa(currentPGL, sa);
62 }
63
64 static void saveSAtoPGLs(GtUword *gen_file_num, GtUword *maxright,
65 GtUword *currentPGLindex, GtArray *pgls,
66 GthSA *sa)
67 {
68 GtRange range;
69
70 /* in this case save SA */
71 range = gth_sa_range_forward(sa);
72 if ((*gen_file_num == GT_UNDEF_UWORD) ||
73 (gth_sa_gen_file_num(sa) != *gen_file_num) ||
74 (range.start > *maxright)) {
75 storeSAinnewPGL(pgls, currentPGLindex, sa);
76 *gen_file_num = gth_sa_gen_file_num(sa);
77 *maxright = range.end;
78 }
79 else {
80 storeSAincurrentPGL(pgls, *currentPGLindex, sa);
81 if (range.end > *maxright)
82 *maxright = range.end;
83 }
84 }
85
86 /*
87 The following function checks the Array of PredictedGeneLocations <pgls> for
88 consistency. I.e., it is checked if every `cluster' consists of overlapping
89 spliced alignments, if all spliced alignments have the save strand
90 orientation, and if all spliced alignment come from the same genomic file
91 */
92 #ifndef NDEBUG
93 static bool cluster_is_consistent(GtArray *pgls)
94 {
95 GtUword i, j, maxright = GT_UNDEF_UWORD, gen_file_num = GT_UNDEF_UWORD;
96 GthPGL *pgl;
97 bool strandsign = GT_UNDEF_BOOL;
98 GthSA *sa;
99 GtRange range;
100
101 for (i = 0; i < gt_array_size(pgls); i++) {
102 pgl = *(GthPGL**) gt_array_get(pgls, i);
103
104 for (j = 0; j < gt_array_size(pgl->alignments); j++) {
105 sa = *(GthSA**) gt_array_get(pgl->alignments, j);
106 if (j == 0) {
107 /* save genomic file number of this cluster */
108 gen_file_num = gth_sa_gen_file_num(sa);
109
110 /* save strand sign of this cluster */
111 strandsign = gth_sa_gen_strand_forward(sa);
112
113 /* set maxright to right border of first SA */
114 range = gth_sa_range_forward(sa);
115 maxright = range.end;
116 }
117 else {
118 /* check if all genomic file numbers are the same */
119 if (gth_sa_gen_file_num(sa) != gen_file_num)
120 return false;
121
122 /* check if all strand signs of this cluster are equal */
123 if (gth_sa_gen_strand_forward(sa) != strandsign)
124 return false;
125
126 /* check for cluster condition */
127 range = gth_sa_range_forward(sa);
128 if (range.start > maxright)
129 return false;
130 if (range.end > maxright)
131 maxright = range.end;
132 }
133 }
134 }
135
136 return true;
137 }
138 #endif
139
140 void gthclusterSAstoPGLs(GtArray *pgls, GthSACollection *sa_collection)
141 {
142 GtUword forwardgen_file_num, /* the genomic file number of the
143 current forward cluster */
144 forwardmaxright, /* the maximal right position of the
145 current forward cluster */
146 forward_currentPGLindex, /* the current forward PGL index */
147 reversegen_file_num, /* the genomic file number of the
148 current reverse cluster */
149 reversemaxright, /* the maximal right position of the
150 current reverse cluster */
151 reverse_currentPGLindex; /* the current reverse PGL index */
152 GthSACollectionIterator *iterator;
153 GthSA *sa;
154 gt_assert(sa_collection);
155
156 /* init */
157 forwardgen_file_num = GT_UNDEF_UWORD;
158 forwardmaxright = GT_UNDEF_UWORD;
159 forward_currentPGLindex = GT_UNDEF_UWORD;
160 reversegen_file_num = GT_UNDEF_UWORD;
161 reversemaxright = GT_UNDEF_UWORD;
162 reverse_currentPGLindex = GT_UNDEF_UWORD;
163
164 /* cluster the SAs */
165 iterator = gth_sa_collection_iterator_new(sa_collection);
166 while ((sa = gth_sa_collection_iterator_next(iterator))) {
167 if (gth_sa_gen_strand_forward(sa)) {
168 saveSAtoPGLs(&forwardgen_file_num, &forwardmaxright,
169 &forward_currentPGLindex, pgls, sa);
170 }
171 else {
172 saveSAtoPGLs(&reversegen_file_num, &reversemaxright,
173 &reverse_currentPGLindex, pgls, sa);
174 }
175 }
176 gth_sa_collection_iterator_delete(iterator);
177
178 /* cluster is consistent */
179 gt_assert(cluster_is_consistent(pgls));
180 }
+0
-27
src/gth/gthcluster.h less more
0 /*
1 Copyright (c) 2003-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHCLUSTER_H
18 #define GTHCLUSTER_H
19
20 #include "core/array.h"
21 #include "gth/pgl.h"
22 #include "gth/sa_collection.h"
23
24 void gthclusterSAstoPGLs(GtArray *pgls, GthSACollection*);
25
26 #endif
+0
-93
src/gth/gthcutoffsminimal.c less more
0 /*
1 Copyright (c) 2003-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/safearith.h"
18 #include "core/unused_api.h"
19 #include "gth/gthcutoffsminimal.h"
20
21 static void minimalcutoffsprocmatchmismatchordeletion(Traversealignmentstate
22 *state,
23 void *data,
24 GT_UNUSED
25 GtUword lengthofeop)
26 {
27 Minimalcutoffsdata *d = (Minimalcutoffsdata*) data;
28
29 if (state->processing_intron_with_1_base_left ||
30 state->processing_intron_with_2_bases_left) {
31 /* in this case we process a single match or a single mismatch after an
32 intron with 1 or 2 bases left.
33 we skip this single (mis)match because otherwise the pointer would
34 become asynchronous and this is the best solution to solve this problem.
35 */
36 gt_assert(lengthofeop == 1);
37 d->cutoffs->eopcutoff++;
38 }
39 else {
40 d->cutoffs->genomiccutoff = gt_safe_labs(state->genomicptr);
41 d->cutoffs->referencecutoff = gt_safe_labs(state->referenceptr);
42 d->breakforloop = true;
43 }
44 }
45
46 static void minimalcutoffsprocinsertionorintron(GT_UNUSED
47 Traversealignmentstate *state,
48 void *data,
49 GT_UNUSED
50 GtUword lengthofeop)
51 {
52 Minimalcutoffsdata *d = (Minimalcutoffsdata*) data;
53 d->cutoffs->eopcutoff++;
54 }
55
56 static bool minimalcutoffsbreakcondition(void *data)
57 {
58 Minimalcutoffsdata *d = (Minimalcutoffsdata*) data;
59 return d->breakforloop;
60 }
61
62 void gt_initMinimalcutoffsTravfunctions(Traversealignmentfunctions
63 *travfunctions)
64 {
65 travfunctions->processmismatch = minimalcutoffsprocmatchmismatchordeletion;
66 travfunctions->processdeletion = minimalcutoffsprocmatchmismatchordeletion;
67 travfunctions->processinsertion = minimalcutoffsprocinsertionorintron;
68 travfunctions->processmatch = minimalcutoffsprocmatchmismatchordeletion;
69 travfunctions->processintron = minimalcutoffsprocinsertionorintron;
70 travfunctions->breakcondition = minimalcutoffsbreakcondition;
71
72 /* additional functions for protein edit operations */
73 travfunctions->processintron_with_1_base_left =
74 minimalcutoffsprocinsertionorintron;
75 travfunctions->processintron_with_2_bases_left =
76 minimalcutoffsprocinsertionorintron;
77 travfunctions->processmismatch_with_1_gap =
78 minimalcutoffsprocmatchmismatchordeletion;
79 travfunctions->processmismatch_with_2_gaps =
80 minimalcutoffsprocmatchmismatchordeletion;
81 travfunctions->processdeletion_with_1_gap =
82 minimalcutoffsprocmatchmismatchordeletion;
83 travfunctions->processdeletion_with_2_gaps =
84 minimalcutoffsprocmatchmismatchordeletion;
85 }
86
87 void gt_initMinimalcutoffsdata(Minimalcutoffsdata *minimalcutoffsdata,
88 Cutoffs *cutoffs)
89 {
90 minimalcutoffsdata->cutoffs = cutoffs;
91 minimalcutoffsdata->breakforloop = false;
92 }
+0
-36
src/gth/gthcutoffsminimal.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHCUTOFFSMINIMAL_H
18 #define GTHCUTOFFSMINIMAL_H
19
20 #include "gth/gthtravalign.h"
21 #include "gth/sa.h"
22
23 /*
24 This struct is used in gthdeterminecutoffs() to call
25 gthlibtraversealignment().
26 */
27 typedef struct {
28 Cutoffs *cutoffs;
29 bool breakforloop;
30 } Minimalcutoffsdata;
31
32 void gt_initMinimalcutoffsTravfunctions(Traversealignmentfunctions*);
33 void gt_initMinimalcutoffsdata(Minimalcutoffsdata*, Cutoffs*);
34
35 #endif
+0
-92
src/gth/gthcutoffsrelaxed.c less more
0 /*
1 Copyright (c) 2003-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/safearith.h"
18 #include "core/unused_api.h"
19 #include "gth/gthcutoffsrelaxed.h"
20
21 static void relaxedcutoffsprocmatchormismatch(Traversealignmentstate *state,
22 void *data,
23 GT_UNUSED
24 GtUword lengthofeop)
25 {
26 Relaxedcutoffsdata *d = (Relaxedcutoffsdata*) data;
27
28 if (state->processing_intron_with_1_base_left ||
29 state->processing_intron_with_2_bases_left) {
30 /* in this case we process a single match or a single mismatch after an
31 intron with 1 or 2 bases left.
32 we skip this single (mis)match because otherwise the pointer would
33 become asynchronous and this is the best solution to solve this problem.
34 */
35 gt_assert(lengthofeop == 1);
36 d->cutoffs->eopcutoff++;
37 }
38 else {
39 d->cutoffs->genomiccutoff = gt_safe_labs(state->genomicptr);
40 d->cutoffs->referencecutoff = gt_safe_labs(state->referenceptr);
41 d->breakforloop = true;
42 }
43 }
44
45 static void relaxedcutoffsprocindelorintron(GT_UNUSED
46 Traversealignmentstate *state,
47 void *data,
48 GT_UNUSED
49 GtUword lengthofeop)
50 {
51 Relaxedcutoffsdata *d = (Relaxedcutoffsdata*) data;
52 d->cutoffs->eopcutoff++;
53 }
54
55 static bool relaxedcutoffsbreakcondition(void *data)
56 {
57 Relaxedcutoffsdata *d = (Relaxedcutoffsdata*) data;
58 return d->breakforloop;
59 }
60
61 void gt_initRelaxedcutoffsTravfunctions(Traversealignmentfunctions
62 *travfunctions)
63 {
64 travfunctions->processmismatch = relaxedcutoffsprocmatchormismatch;
65 travfunctions->processdeletion = relaxedcutoffsprocindelorintron;
66 travfunctions->processinsertion = relaxedcutoffsprocindelorintron;
67 travfunctions->processmatch = relaxedcutoffsprocmatchormismatch;
68 travfunctions->processintron = relaxedcutoffsprocindelorintron;
69 travfunctions->breakcondition = relaxedcutoffsbreakcondition;
70
71 /* additional functions for protein edit operations */
72 travfunctions->processintron_with_1_base_left =
73 relaxedcutoffsprocindelorintron;
74 travfunctions->processintron_with_2_bases_left =
75 relaxedcutoffsprocindelorintron;
76 travfunctions->processmismatch_with_1_gap =
77 relaxedcutoffsprocmatchormismatch;
78 travfunctions->processmismatch_with_2_gaps =
79 relaxedcutoffsprocmatchormismatch;
80 travfunctions->processdeletion_with_1_gap =
81 relaxedcutoffsprocindelorintron;
82 travfunctions->processdeletion_with_2_gaps =
83 relaxedcutoffsprocindelorintron;
84 }
85
86 void gt_initRelaxedcutoffsdata(Relaxedcutoffsdata *relaxedcutoffsdata,
87 Cutoffs *cutoffs)
88 {
89 relaxedcutoffsdata->cutoffs = cutoffs;
90 relaxedcutoffsdata->breakforloop = false;
91 }
+0
-36
src/gth/gthcutoffsrelaxed.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHCUTOFFSRELAXED_H
18 #define GTHCUTOFFSRELAXED_H
19
20 #include "gth/gthtravalign.h"
21 #include "gth/sa.h"
22
23 /*
24 This struct is used in gthdeterminecutoffs() to call
25 gthlibtraversealignment().
26 */
27 typedef struct {
28 Cutoffs *cutoffs;
29 bool breakforloop;
30 } Relaxedcutoffsdata;
31
32 void gt_initRelaxedcutoffsTravfunctions(Traversealignmentfunctions*);
33 void gt_initRelaxedcutoffsdata(Relaxedcutoffsdata*, Cutoffs*);
34
35 #endif
+0
-129
src/gth/gthcutoffsstrict.c less more
0 /*
1 Copyright (c) 2003-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/codon_api.h"
18 #include "core/safearith.h"
19 #include "core/unused_api.h"
20 #include "gth/gthcutoffsstrict.h"
21
22 static void strictcutoffsprocindelorintron(GT_UNUSED
23 Traversealignmentstate *state,
24 void *data,
25 GT_UNUSED GtUword lengthofeop)
26 {
27 Strictcutoffsdata *d = (Strictcutoffsdata*) data;
28 d->cutoffs->eopcutoff++;
29 d->actualexonlengthgenomic = 0;
30 d->actualexonlengthreference = 0;
31 d->actualexonnumofeops = 0;
32 }
33
34 static void strictcutoffsprocmatchormismatch_generic(Traversealignmentstate
35 *state, void *data,
36 GtUword lengthofeop,
37 GtUword
38 genomic_eoplen_proteins)
39 {
40 Strictcutoffsdata *d = (Strictcutoffsdata*) data;
41 GtUword eop_length_factor = state->proteineop
42 ? genomic_eoplen_proteins
43 : 1;
44
45 if (!state->processing_intron_with_1_base_left &&
46 !state->processing_intron_with_2_bases_left &&
47 d->actualexonlengthgenomic + lengthofeop * eop_length_factor >=
48 d->cutoffsminexonlen) {
49 gt_safe_sub(d->cutoffs->genomiccutoff,
50 (GtUword) gt_safe_labs(state->genomicptr),
51 d->actualexonlengthgenomic);
52 gt_safe_sub(d->cutoffs->referencecutoff,
53 (GtUword) gt_safe_labs(state->referenceptr),
54 d->actualexonlengthreference);
55 d->cutoffs->eopcutoff = d->cutoffs->eopcutoff - d->actualexonnumofeops;
56 d->breakforloop = true;
57 }
58 else {
59 d->cutoffs->eopcutoff++;
60 d->actualexonlengthgenomic += lengthofeop * eop_length_factor;
61 d->actualexonlengthreference += lengthofeop;
62 d->actualexonnumofeops++;
63 }
64 }
65
66 static void strictcutoffsprocmatchormismatch(Traversealignmentstate *state,
67 void *data,
68 GtUword lengthofeop)
69 {
70 strictcutoffsprocmatchormismatch_generic(state, data, lengthofeop,
71 GT_CODON_LENGTH);
72 }
73
74 static void strictcutoffsprocmismatch_with_1_gap(Traversealignmentstate *state,
75 void *data,
76 GtUword lengthofeop)
77 {
78 return strictcutoffsprocmatchormismatch_generic(state, data, lengthofeop, 2);
79 }
80
81 static void strictcutoffsprocmismatch_with_2_gaps(Traversealignmentstate *state,
82 void *data,
83 GtUword lengthofeop)
84 {
85 return strictcutoffsprocmatchormismatch_generic(state, data, lengthofeop, 1);
86 }
87
88 static bool strictcutoffsbreakcondition(void *data)
89 {
90 Strictcutoffsdata *d = (Strictcutoffsdata*) data;
91 return d->breakforloop;
92 }
93
94 void gt_initStrictcutoffsTravfunctions(Traversealignmentfunctions
95 *travfunctions)
96 {
97 travfunctions->processmismatch = strictcutoffsprocmatchormismatch;
98 travfunctions->processdeletion = strictcutoffsprocindelorintron;
99 travfunctions->processinsertion = strictcutoffsprocindelorintron;
100 travfunctions->processmatch = strictcutoffsprocmatchormismatch;
101 travfunctions->processintron = strictcutoffsprocindelorintron;
102 travfunctions->breakcondition = strictcutoffsbreakcondition;
103
104 /* additional functions for protein edit operations */
105 travfunctions->processintron_with_1_base_left =
106 strictcutoffsprocindelorintron;
107 travfunctions->processintron_with_2_bases_left =
108 strictcutoffsprocindelorintron;
109 travfunctions->processmismatch_with_1_gap =
110 strictcutoffsprocmismatch_with_1_gap;
111 travfunctions->processmismatch_with_2_gaps =
112 strictcutoffsprocmismatch_with_2_gaps;
113 travfunctions->processdeletion_with_1_gap =
114 strictcutoffsprocindelorintron;
115 travfunctions->processdeletion_with_2_gaps =
116 strictcutoffsprocindelorintron;
117 }
118
119 void gt_initStrictcutoffsdata(Strictcutoffsdata *strictcutoffsdata,
120 Cutoffs *cutoffs, GtUword cutoffsminexonlen)
121 {
122 strictcutoffsdata->cutoffs = cutoffs;
123 strictcutoffsdata->breakforloop = false;
124 strictcutoffsdata->cutoffsminexonlen = cutoffsminexonlen;
125 strictcutoffsdata->actualexonlengthgenomic = 0;
126 strictcutoffsdata->actualexonlengthreference = 0;
127 strictcutoffsdata->actualexonnumofeops = 0;
128 }
+0
-41
src/gth/gthcutoffsstrict.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHCUTOFFSSTRICT_H
18 #define GTHCUTOFFSSTRICT_H
19
20 #include "gth/gthtravalign.h"
21 #include "gth/sa.h"
22
23 /*
24 This struct is used in gthdeterminecutoffs() to call
25 gthlibtraversealignment().
26 */
27 typedef struct {
28 Cutoffs *cutoffs;
29 bool breakforloop;
30 GtUword cutoffsminexonlen,
31 actualexonlengthgenomic,
32 actualexonlengthreference,
33 actualexonnumofeops;
34 } Strictcutoffsdata;
35
36 void gt_initStrictcutoffsTravfunctions(Traversealignmentfunctions*);
37 void gt_initStrictcutoffsdata(Strictcutoffsdata*, Cutoffs*,
38 GtUword cutoffsminexonlen);
39
40 #endif
+0
-35
src/gth/gthdef.h less more
0 /*
1 Copyright (c) 2003-2007, 2012 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHDEF_H
18 #define GTHDEF_H
19
20 /* file suffixes for different indices */
21 #define DNASUFFIX "dna"
22 #define POLYASUFFIX "polya"
23 #define MAXSUFFIXLEN 14
24
25 /* the name of the environment variable containing the path for gth data */
26 #define GTHDATAENVNAME "GTHDATADIR"
27
28 /* the name of the gth data file path relative to binary */
29 #define GTHDATADIRNAME "gthdata"
30
31 /* the name of the environment variable used to disable file locking */
32 #define GTHNOFLOCKENVNAME "GTHNOFLOCK"
33
34 #endif
+0
-23
src/gth/gthenum.h less more
0 /*
1 Copyright (c) 2003-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHENUM_H
18 #define GTHENUM_H
19
20 #define SHOWENUMTYPE(X) #X
21
22 #endif
+0
-31
src/gth/gtherror.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHERROR_H
18 #define GTHERROR_H
19
20 /* This file contains all error return values used in GenomeThreader.
21 If something unspecific goes wrong in a function, usually -1 is returned.
22 For specific events, which should cause specific reactions in the calling
23 functions the following codes are used. Error values have to be negative. */
24
25 #define GTH_ERROR_CUTOUT_NOT_IN_INTRON (-10)
26 #define GTH_ERROR_DP_PARAMETER_ALLOCATION_FAILED (-11)
27 #define GTH_ERROR_MATRIX_ALLOCATION_FAILED (-12)
28 #define GTH_ERROR_SA_COULD_NOT_BE_DETERMINED (-13)
29
30 #endif
+0
-37
src/gth/gthintroncutout.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHINTRONCUTOUT_H
18 #define GTHINTRONCUTOUT_H
19
20 #include <stdbool.h>
21
22 typedef struct
23 {
24 bool introncutout; /* use intron cutouts */
25 unsigned int autoicmaxmatrixsize, /* maximum matrix size (in megabytes) for
26 automatic intron cutout technique
27 (enabled if > 0) */
28 icinitialdelta, /* initial intron cutout delta */
29 iciterations, /* number of intron cutout iterations */
30 icdeltaincrease, /* the delta increase during every
31 iteration */
32 icminremintronlength; /* intron cutout minimum remaining intron
33 length */
34 } Introncutoutinfo;
35
36 #endif
+0
-32
src/gth/gthmatch.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthmatch.h"
18
19 bool gth_matches_are_equal(GthMatch *match1, GthMatch *match2)
20 {
21 if (match1->Storescore == match2->Storescore &&
22 match1->Storepositionreference == match2->Storepositionreference &&
23 match1->Storelengthreference == match2->Storelengthreference &&
24 match1->Storepositiongenomic == match2->Storepositiongenomic &&
25 match1->Storelengthgenomic == match2->Storelengthgenomic &&
26 match1->Storeseqnumreference == match2->Storeseqnumreference &&
27 match1->Storeseqnumgenomic == match2->Storeseqnumgenomic) {
28 return true;
29 }
30 return false;
31 }
+0
-48
src/gth/gthmatch.h less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHMATCH_H
18 #define GTHMATCH_H
19
20 #include <stdbool.h>
21 #include "core/types_api.h"
22
23 /*
24 The following structure is used to store matches in gth which have been
25 computed by vmatch. It is a subset of the StoreMatch structure.
26 Some parts have been deleted to reduce the space consumption of gth.
27
28 Keep in sync with function gth_matches_are_equal() in file gthmatch.c!
29 */
30
31 typedef struct {
32 GtWord Storescore; /* the score */
33 GtUword Storepositionreference, /* position of reference instance
34 w.r.t. sequence start */
35 Storelengthreference, /* length of reference instance */
36 Storepositiongenomic, /* position of genomic instance
37 w.r.t. sequence start */
38 Storelengthgenomic, /* length of genomic match instance */
39 Storeseqnumreference, /* sequence number of reference match
40 instance */
41 Storeseqnumgenomic; /* sequence number of genomic match
42 instance */
43 } GthMatch;
44
45 bool gth_matches_are_equal(GthMatch *match1, GthMatch *match2);
46
47 #endif
+0
-419
src/gth/gthorf.c less more
0 /*
1 Copyright (c) 2004-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/codon_api.h"
18 #include "core/orf.h"
19 #include "core/trans_table.h"
20 #include "core/unused_api.h"
21 #include "gth/gthorf.h"
22 #include "gth/gthstopcodon.h"
23 #include "gth/indent.h"
24
25 #define CONSOLIDATE_ORFS_MAX_OVERLAP 30
26 #define CONSOLIDATE_ORFS_WITHIN_LENGTH 30
27
28 #define ORFBLOCKWIDTH 10
29 #define ORFLINEWIDTH 60
30 #define ORFBPWIDTH 5
31 #define ORFRESIDUESWIDTH 4
32
33 typedef struct {
34 GtRange splseqrange; /* genomic positions refering to spliced seq.
35 (without stopcodon) */
36 GtUword framenum,
37 lengthwithstopcodon,
38 lengthwithoutstopcodon;
39 const char *frame;
40 bool stopcodon;
41 } MaximalORF;
42
43 typedef struct {
44 GtArray *maximalORFs;
45 GtUword minORFlength;
46 } SaveORFInfo;
47
48 static void saveORF(void *data, GtRange *range, GtUword framenum,
49 const char *frame, bool ends_with_stop_codon)
50 {
51 MaximalORF orf;
52 SaveORFInfo *info = data;
53 gt_assert(info && range);
54 orf.framenum = framenum;
55 orf.lengthwithstopcodon = gt_range_length(range);
56 orf.frame = frame + range->start;
57 if (ends_with_stop_codon)
58 orf.lengthwithoutstopcodon = orf.lengthwithstopcodon - 1;
59 else
60 orf.lengthwithoutstopcodon = orf.lengthwithstopcodon;
61 orf.stopcodon = ends_with_stop_codon;
62 orf.splseqrange.start = range->start * GT_CODON_LENGTH + orf.framenum;
63 orf.splseqrange.end = orf.splseqrange.start
64 + orf.lengthwithoutstopcodon * GT_CODON_LENGTH - 1;
65 /* -1 to shift from the genomic position _after_ the
66 last codon to the _last_ position of the last codon
67 */
68 /* save ORF, if necessary */
69 if (orf.lengthwithoutstopcodon >= info->minORFlength)
70 gt_array_add(info->maximalORFs, orf);
71 }
72
73 static int compareORFs(const void *dataA, const void *dataB)
74 {
75 MaximalORF *orfA = (MaximalORF*) dataA,
76 *orfB = (MaximalORF*) dataB;
77 gt_assert(orfA && orfB);
78 if (orfA->lengthwithoutstopcodon > orfB->lengthwithoutstopcodon)
79 return -1;
80 else if (orfA->lengthwithoutstopcodon == orfB->lengthwithoutstopcodon) {
81 if (orfA->framenum < orfB->framenum)
82 return -1;
83 else if (orfA->framenum == orfB->framenum)
84 return 0;
85 else
86 return 1;
87 }
88 else
89 return 1;
90 }
91
92 #ifndef NDEBUG
93 static bool orfs_are_sorted(GtArray *maximalORFs)
94 {
95 MaximalORF *orfA, *orfB;
96 GtUword i;
97 gt_assert(maximalORFs);
98 for (i = 1; i < gt_array_size(maximalORFs); i++) {
99 orfA = (MaximalORF*) gt_array_get(maximalORFs, i-1);
100 orfB = (MaximalORF*) gt_array_get(maximalORFs, i);
101 if (orfA->lengthwithoutstopcodon < orfB->lengthwithoutstopcodon)
102 return false;
103 else if ((orfA->lengthwithoutstopcodon == orfB->lengthwithoutstopcodon) &&
104 (orfA->framenum > orfB->framenum)) {
105 return false;
106 }
107 }
108 return true;
109 }
110 #endif
111
112 static void sortmaximalORFs(GtArray *maximalORFs)
113 {
114 gt_assert(maximalORFs);
115 qsort(gt_array_get_space(maximalORFs), gt_array_size(maximalORFs),
116 sizeof (MaximalORF), compareORFs);
117 gt_assert(orfs_are_sorted(maximalORFs));
118 }
119
120 static void showsingleORF(MaximalORF *orf, bool gen_strand_forward,
121 GtUword gen_total_length,
122 GtUword gen_offset, const char *gen_id,
123 GtUword pglnum, GtUword agsnum,
124 GtUword ppsnum, GthSplicedSeq *splicedseq,
125 unsigned int indentlevel, GthOutput *out)
126 {
127 GtUword i;
128 GT_UNUSED bool hasborder = false;
129 GtFile *outfp = out->outfp;
130
131 if (out->xmlout) {
132 gth_indent(outfp, indentlevel);
133 gt_file_xprintf(outfp, "<orf_entry>\n");
134 indentlevel++;
135 gth_indent(outfp, indentlevel);
136 gt_file_xprintf(outfp, "<id_line>\n");
137 indentlevel++;
138 gth_indent(outfp, indentlevel);
139 gt_file_xprintf(outfp, "<gDNA id=\"%s\" strand=\"%c\"/>\n", gen_id,
140 SHOWSTRAND(gen_strand_forward));
141 gth_indent(outfp, indentlevel);
142 gt_file_xprintf(outfp, "<serials PGL_serial=\""GT_WU"\" AGS_serial=\""
143 GT_WU"\" PPS_serial=\""GT_WU"\"/>\n", pglnum + OUTPUTOFFSET,
144 agsnum + OUTPUTOFFSET, ppsnum + OUTPUTOFFSET);
145 gth_indent(outfp, indentlevel);
146 gt_file_xprintf(outfp, "<orf_info>\n");
147 indentlevel++;
148 gth_indent(outfp, indentlevel);
149 gt_file_xprintf(outfp, "<exon_boundaries>\n");
150 indentlevel++;
151 gth_indent(outfp, indentlevel);
152 gt_file_xprintf(outfp, "<exon start=\""GT_WU"\" ",
153 SHOWGENPOS(gen_strand_forward, gen_total_length,
154 gen_offset,
155 splicedseq
156 ->positionmapping[orf->splseqrange.start]));
157 }
158 else {
159 gt_file_xprintf(outfp, ">%s%c_PGL-"GT_WU"_AGS-"GT_WU"_PPS_"GT_WU" ("
160 GT_WU" ",
161 gen_id, SHOWSTRAND(gen_strand_forward), pglnum +
162 OUTPUTOFFSET, agsnum + OUTPUTOFFSET, ppsnum + OUTPUTOFFSET,
163 SHOWGENPOS(gen_strand_forward, gen_total_length, gen_offset,
164 splicedseq
165 ->positionmapping[orf->splseqrange.start]));
166 }
167
168 for (i = orf->splseqrange.start;
169 i < orf->splseqrange.end + orf->stopcodon * GT_CODON_LENGTH; i++) {
170 if (gth_spliced_seq_pos_is_border(splicedseq, i)) {
171 if (out->xmlout) {
172 gt_file_xprintf(outfp, "stop=\""GT_WU"\"/>\n",
173 SHOWGENPOS(gen_strand_forward, gen_total_length,
174 gen_offset,
175 splicedseq->positionmapping[i]));
176 gth_indent(outfp, indentlevel);
177 gt_file_xprintf(outfp, "<exon start=\""GT_WU"\" ",
178 SHOWGENPOS(gen_strand_forward, gen_total_length,
179 gen_offset,
180 splicedseq->positionmapping[i+1]));
181 }
182 else {
183 gt_file_xprintf(outfp, ""GT_WU","GT_WU" ",
184 SHOWGENPOS(gen_strand_forward, gen_total_length,
185 gen_offset,
186 splicedseq->positionmapping[i]),
187 SHOWGENPOS(gen_strand_forward, gen_total_length,
188 gen_offset,
189 splicedseq->positionmapping[i+1]));
190 }
191
192 hasborder = true;
193 }
194 }
195
196 if (out->xmlout) {
197 gt_file_xprintf(outfp, "stop=\""GT_WU"\"/>\n",
198 SHOWGENPOS(gen_strand_forward, gen_total_length,
199 gen_offset, splicedseq
200 ->positionmapping[orf->splseqrange.end +
201 orf->stopcodon *
202 GT_CODON_LENGTH]));
203 indentlevel--;
204 gth_indent(outfp, indentlevel);
205 gt_file_xprintf(outfp, "</exon_boundaries>\n");
206 }
207 else {
208 gt_file_xprintf(outfp, ""GT_WU")",
209 SHOWGENPOS(gen_strand_forward,
210 gen_total_length, gen_offset, splicedseq
211 ->positionmapping[orf->splseqrange.end +
212 orf->stopcodon *
213 GT_CODON_LENGTH]));
214 }
215
216 if (out->xmlout)
217 {
218
219 gth_indent(outfp, indentlevel);
220 gt_file_xprintf(outfp, "<frame>"GT_WU"</frame>\n", orf->framenum);
221 gth_indent(outfp, indentlevel);
222 gt_file_xprintf(outfp, "<number_coding_nucleotides>"GT_WU""
223 "</number_coding_nucleotides>\n",
224 orf->lengthwithoutstopcodon * GT_CODON_LENGTH);
225 gth_indent(outfp, indentlevel);
226 gt_file_xprintf(outfp, "<number_encoded_amino_acids>"GT_WU""
227 "</number_encoded_amino_acids>\n",
228 orf->lengthwithoutstopcodon);
229 indentlevel--;
230 gth_indent(outfp, indentlevel);
231 gt_file_xprintf(outfp, "</orf_info>\n");
232 }
233 else {
234 gt_file_xprintf(outfp, "\t(frame '"GT_WU"'; %*"GT_WUS" bp, %*"
235 GT_WUS" residues)",
236 orf->framenum, ORFBPWIDTH,
237 orf->lengthwithoutstopcodon * GT_CODON_LENGTH,
238 ORFRESIDUESWIDTH,
239 orf->lengthwithoutstopcodon);
240 }
241
242 if (out->xmlout) {
243 indentlevel--;
244 gth_indent(outfp, indentlevel);
245 gt_file_xprintf(outfp, "</id_line>\n");
246 gth_indent(outfp, indentlevel);
247 gt_file_xprintf(outfp, "<predicted_protein_sequence>");
248 }
249
250 for (i = 0; i < orf->lengthwithstopcodon; i++) {
251 if (!out->xmlout) {
252 if (i % ORFBLOCKWIDTH == 0)
253 gt_file_xfputc(' ', outfp);
254 if (i % ORFLINEWIDTH == 0) {
255 gt_file_xprintf(outfp, "\n%*"GT_WUS" ", out->widthforgenpos,
256 i + OUTPUTOFFSET);
257 }
258 }
259
260 if (out->gs2out && i + 1 == orf->lengthwithstopcodon &&
261 orf->frame[i] == GT_STOP_AMINO) {
262 gt_file_xfputc(GS2_STOPCODON, outfp);
263 }
264 else
265 gt_file_xprintf(outfp, "%c", orf->frame[i]);
266 }
267
268 if (out->xmlout) {
269 gt_file_xprintf(outfp, "</predicted_protein_sequence>\n");
270 indentlevel--;
271 gth_indent(outfp, indentlevel);
272 gt_file_xprintf(outfp, "</orf_entry>\n");
273 }
274 else
275 gt_file_xprintf(outfp, "\n\n");
276 }
277
278 static void outputconsolidatedORFs(GtArray *consolidatedORFs,
279 bool gen_strand_forward,
280 GtUword gen_total_length,
281 GtUword gen_offset,
282 const char *gen_id,
283 GtUword pglnum,
284 GtUword agsnum,
285 GthSplicedSeq *splicedseq,
286 unsigned int indentlevel,
287 GthOutput *out)
288 {
289 GtFile *outfp = out->outfp;
290 GtUword i;
291
292 if (out->xmlout) {
293 gth_indent(outfp, indentlevel);
294 gt_file_xprintf(outfp,
295 "<probable_ORFs xmlns=\"http://www.genomethreader.org/"
296 "GTH_output/PGL_module/predicted_gene_location/"
297 "AGS_information/three_phase_translation/probable_ORFs/"
298 "\">\n");
299 indentlevel++;
300 }
301 else {
302 gt_file_xprintf(outfp,
303 "Maximal non-overlapping open reading frames (>= "
304 GT_WU" codons)\n",
305 out->minORFlength);
306 }
307
308 if (gt_array_size(consolidatedORFs) == 0) {
309 if (out->xmlout) {
310 gth_indent(outfp, indentlevel);
311 gt_file_xprintf(outfp, "<none gDNA_id=\"%s\"/>\n", gen_id);
312 }
313 else if (!out->xmlout)
314 gt_file_xprintf(outfp, "none\n");
315 }
316 else {
317 if (!out->xmlout)
318 gt_file_xfputc('\n', outfp);
319
320 for (i = 0; i < gt_array_size(consolidatedORFs); i++) {
321 showsingleORF(gt_array_get(consolidatedORFs, i), gen_strand_forward,
322 gen_total_length, gen_offset, gen_id, pglnum,
323 agsnum, i, splicedseq, indentlevel, out);
324 }
325 }
326
327 if (out->xmlout) {
328 indentlevel--;
329 gth_indent(outfp, indentlevel);
330 gt_file_xprintf(outfp, "</probable_ORFs>\n");
331 }
332 }
333
334 static bool overlapwithotherranges(GtRange range, GtArray *ranges,
335 GtUword delta)
336 {
337 GtUword i;
338 gt_assert(ranges);
339 for (i = 0; i < gt_array_size(ranges); i++) {
340 if (gt_range_overlap_delta(&range, gt_array_get(ranges, i), delta))
341 return true;
342 }
343 return false;
344 }
345
346 static void consolidateORFs(GtArray *consolidatedORFs, GtArray *maximalORFs)
347 {
348 GtUword i, maxlength;
349 MaximalORF *orf;
350 GtArray *ranges;
351
352 gt_assert(consolidatedORFs && maximalORFs);
353
354 ranges = gt_array_new(sizeof (GtRange));
355
356 /* save first ORF */
357 orf = gt_array_get_first(maximalORFs);
358 gt_array_add(consolidatedORFs, *orf);
359 /* and its genomic range */
360 gt_array_add(ranges, orf->splseqrange);
361 /* and the maximal length */
362 maxlength = orf->lengthwithoutstopcodon;
363
364 /* save the other ORFs if they fit the criteria */
365 for (i = 1; i < gt_array_size(maximalORFs); i++) {
366 orf = gt_array_get(maximalORFs, i);
367 if (!overlapwithotherranges(orf->splseqrange, ranges,
368 CONSOLIDATE_ORFS_MAX_OVERLAP)
369 || maxlength - orf->lengthwithoutstopcodon
370 <= CONSOLIDATE_ORFS_WITHIN_LENGTH) {
371 /* save actual ORF and its genomic range */
372 gt_array_add(consolidatedORFs, *orf);
373 gt_array_add(ranges, orf->splseqrange);
374 }
375 }
376
377 /* the number of consolidated ORFs equals the number of ranges */
378 gt_assert(gt_array_size(consolidatedORFs) == gt_array_size(ranges));
379
380 gt_array_delete(ranges);
381 }
382
383 void gthshowORFs(char *frame0, char *frame1, char *frame2,
384 GtUword frame0len, GtUword frame1len,
385 GtUword frame2len, bool gen_strand_forward,
386 GtUword gen_total_length, GtUword gen_offset,
387 const char *gen_id, GtUword pglnum,
388 GtUword agsnum, GthSplicedSeq *splicedseq,
389 unsigned int indentlevel, GthOutput *out)
390 {
391 GtArray *maximalORFs, *consolidatedORFs;
392 SaveORFInfo info;
393
394 maximalORFs = gt_array_new(sizeof (MaximalORF));
395 consolidatedORFs = gt_array_new(sizeof (MaximalORF));
396
397 info.maximalORFs = maximalORFs;
398 info.minORFlength = out->minORFlength;
399
400 gt_determine_ORFs(saveORF, &info, 0, frame0, frame0len, out->start_codon,
401 out->final_stop_codon, true, NULL);
402 gt_determine_ORFs(saveORF, &info, 1, frame1, frame1len, out->start_codon,
403 out->final_stop_codon, true, NULL);
404 gt_determine_ORFs(saveORF, &info, 2, frame2, frame2len, out->start_codon,
405 out->final_stop_codon, true, NULL);
406
407 if (gt_array_size(maximalORFs)) {
408 sortmaximalORFs(maximalORFs);
409 consolidateORFs(consolidatedORFs, maximalORFs);
410 }
411
412 outputconsolidatedORFs(consolidatedORFs, gen_strand_forward,
413 gen_total_length, gen_offset, gen_id, pglnum,
414 agsnum, splicedseq, indentlevel, out);
415
416 gt_array_delete(maximalORFs);
417 gt_array_delete(consolidatedORFs);
418 }
+0
-34
src/gth/gthorf.h less more
0 /*
1 Copyright (c) 2004-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHORF_H
18 #define GTHORF_H
19
20 #include <stdbool.h>
21 #include "core/range_api.h"
22 #include "gth/gthoutput.h"
23 #include "gth/spliced_seq.h"
24
25 void gthshowORFs(char *frame0, char *frame1, char *frame2,
26 GtUword frame0len, GtUword frame1len,
27 GtUword frame2len, bool gen_strand_forward,
28 GtUword gen_total_length, GtUword gen_offset,
29 const char *gen_id, GtUword pglnum,
30 GtUword agsnum, GthSplicedSeq *splicedseq,
31 unsigned int indentlevel, GthOutput *out);
32
33 #endif
+0
-34
src/gth/gthoutput.c less more
0 /*
1 Copyright (c) 2003-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma.h"
18 #include "gth/gthoutput.h"
19
20 GthOutput* gthoutput_new(void)
21 {
22 GthOutput *out;
23 out = gt_calloc(1, sizeof (GthOutput));
24 return out;
25 }
26
27 void gthoutput_delete(GthOutput *out)
28 {
29 if (!out) return;
30 gt_file_delete(out->outfp);
31 gt_free(out->outputfile);
32 gt_free(out);
33 }
+0
-97
src/gth/gthoutput.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHOUTPUT_H
18 #define GTHOUTPUT_H
19
20 /* This file bundles all output related structures and definitions. */
21
22 #include "core/error.h"
23 #include "core/file.h"
24 #include "core/types_api.h"
25 #include "gth/gthstrandchar.h"
26
27 /* The initial XML indent level */
28 #define INITIAL_XML_INDENTLEVEL 0
29
30 /* This character is shown at the beginnig of comment lines. */
31 #define COMMENTCHAR '$'
32
33 /* This offset is added when printing out sequence positions.
34 Usually it equals 1, because in the output we are counting from 1 on.
35 Within the program we are always counting from 0 on. */
36 #define OUTPUTOFFSET 1
37
38 #define SHOWGENPOS(FORWARD, TOTALLENGTH, OFFSET, P)\
39 (FORWARD)\
40 ? ((P) - (OFFSET) + OUTPUTOFFSET)\
41 : ((TOTALLENGTH) - 1 - ((P) - (OFFSET)) + OUTPUTOFFSET)
42
43 #define DELIMITERLINELENGTH 80
44
45 /* This width is mainly used for the output of scores */
46 #define SCORE_WIDTHTYPE 5.3
47
48 /* The number of bases in an alignment line */
49 #define ALIGNMENTLINEWIDTH 60
50
51 /* Two times the number of bases in an alignment line */
52 #define DOUBLEALIGNMENTLINEWIDTH (2 * ALIGNMENTLINEWIDTH)
53
54 /* The source tag used for GFF3 output */
55 #define GTHSOURCETAG "gth"
56
57 typedef void (*GthShowVerbose)(const char*);
58 typedef void (*GthShowVerboseVM)(char*);
59
60 /* This structure bundles all output related variables. */
61 typedef struct {
62 char *outputfile; /* name of output file */
63 bool verboseseqs, /* show additional sequence information */
64 /* (for debugging purposes) */
65 skipalignmentout, /* skip the output of spliced alignments */
66 showseqnums, /* show sequence numbers in output */
67 pglgentemplate, /* show genomic template in PGL lines */
68 xmlout, /* show output in XML format */
69 gff3out, /* show output in GFF3 format */
70 gff3descranges, /* use description ranges for GFF3 output */
71 gs2out, /* output in deprecated GeneSeqer2 format */
72 md5ids, /* show MD5 fingerprints as sequence IDs */
73 comments, /* output (additional) comments */
74 showeops, /* show edit operations after (protein) DP
75 */
76 sortags, /* sort AGSs */
77 start_codon, /* ORF must begin with a start codon */
78 final_stop_codon; /* final ORF must end with a stop codon */
79 double sortagswf; /* weight factor for the sorting of AGSs */
80 unsigned int maxagsnum; /* the maximum number of AGSs per PGL */
81 GtUword minORFlength, /* minimum ORF length shown in assembly */
82 showintronmaxlen; /* up to length an intron is shown
83 completly, otherwise a part in the middle
84 is not shown.
85 if 0 all introns are shown completely */
86 int widthforgenpos; /* width which is used to format genomic
87 sequence positions (GS2=ifwdth) */
88 GthShowVerbose showverbose; /* function to show status info */
89 GthShowVerboseVM showverboseVM; /* function to show vmatch status info */
90 GtFile *outfp; /* output file pointer */
91 } GthOutput;
92
93 GthOutput* gthoutput_new(void);
94 void gthoutput_delete(GthOutput*);
95
96 #endif
+0
-26
src/gth/gthprobdef.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004 Michael E Sparks <mespar1@iastate.edu>
3 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 #ifndef GTHPROBDEF_H
19 #define GTHPROBDEF_H
20
21 #define ALPHSIZE 4 /* A,C,G,T */
22 #define STRINGSIZE 102 /* Dinuc + 50nt flanks */
23 #define MAXSPLICESIG 50 /* Maximal splice site window extent */
24
25 #endif
+0
-69
src/gth/gthsadistri.c less more
0 /*
1 Copyright (c) 2004-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthsadistri.h"
18
19 static void addSAtoexondistribution(GtDiscDistri *exondistribution,
20 GthSA *sa)
21 {
22 Exoninfo *exoninfo;
23 GtUword i;
24
25 /* add values to exondistribution */
26 for (i = 0; i < gth_sa_num_of_exons(sa); i++) {
27 exoninfo = gth_sa_get_exon(sa, i);
28 gt_disc_distri_add(exondistribution, exoninfo->rightgenomicexonborder -
29 exoninfo->leftgenomicexonborder + 1);
30 }
31 }
32
33 static void addSAtointrondistribution(GtDiscDistri *introndistribution,
34 GthSA *sa)
35 {
36 GtUword i;
37
38 /* add values to introndistribution */
39 for (i = 0; i < gth_sa_num_of_introns(sa); i++) {
40 gt_disc_distri_add(introndistribution,
41 gth_sa_get_exon(sa, i+1)
42 ->leftgenomicexonborder -
43 gth_sa_get_exon(sa, i)
44 ->rightgenomicexonborder - 1);
45 }
46 }
47
48 void gthcalcSAdistributions(bool exondistri, bool introndistri,
49 GtDiscDistri *exondistribution,
50 GtDiscDistri *introndistribution,
51 GthSACollection *sa_collection)
52 {
53 GthSACollectionIterator *iterator;
54 GthSA *sa;
55 gt_assert(sa_collection);
56
57 /* calculate distribution, if necessary */
58 if (exondistri || introndistri) {
59 iterator = gth_sa_collection_iterator_new(sa_collection);
60 while ((sa = gth_sa_collection_iterator_next(iterator))) {
61 if (exondistri)
62 addSAtoexondistribution(exondistribution, sa);
63 if (introndistri)
64 addSAtointrondistribution(introndistribution, sa);
65 }
66 gth_sa_collection_iterator_delete(iterator);
67 }
68 }
+0
-27
src/gth/gthsadistri.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSADISTRI_H
18 #define GTHSADISTRI_H
19
20 #include "gth/sa_collection.h"
21
22 void gthcalcSAdistributions(bool exondistri, bool introndistri,
23 GtDiscDistri *exondistribution,
24 GtDiscDistri *introndistribution, GthSACollection*);
25
26 #endif
+0
-56
src/gth/gthsimfilterparam.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSIMFILTERPARAM_H
18 #define GTHSIMFILTERPARAM_H
19
20 #include "gth/gthintroncutout.h"
21
22 typedef struct {
23 /* dna vmatch call: */
24 GtUword minmatchlength, /* minimum match length */
25 seedlength, /* seed length */
26 exdrop, /* xdrop value for edit distance extension */
27
28 /* protein vmatch call: */
29 prminmatchlen, /* minimum match length */
30 prseedlength, /* seed length */
31 prhdist, /* haming distance */
32
33 /* other stuff: */
34 maxnumofmatches, /* the maximum number of matches (per genomic
35 file, per reference sequence) */
36 rare; /* maximum number of (rare) matches */
37 bool online, /* use online algorithm */
38 inverse, /* invert query and index */
39 exact, /* compute exact matches */
40 edist, /* use edist instead of exdrop */
41 noautoindex, /* do not create indices automatically */
42 createindicesonly, /* stop the program flow after the indices have
43 been created */
44 skipindexcheck, /* skip index check (in preprocessing phase) */
45 maskpolyAtails, /* create and use masked files for vmatch call
46 */
47 paralogs, /* compute paralogous genes
48 (different chaining procedure) */
49 enrichchains, /* enrich chains with additional matches */
50 stopafterchaining; /* stop gth after chaining phase */
51 bool jump_table; /* use jump table in DP */
52 Introncutoutinfo introncutoutinfo; /* parameter for intron cutout */
53 } Gthsimfilterparam;
54
55 #endif
+0
-89
src/gth/gthsortags.c less more
0 /*
1 Copyright (c) 2004-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthsortags.h"
18 #include "gth/ags.h"
19
20 static int compareAGSs(const void *dataA, const void *dataB)
21 {
22 GthAGS *agsA = *(GthAGS**) dataA;
23 GthAGS *agsB = *(GthAGS**) dataB;
24 gt_assert(agsA->overallscore != GTH_UNDEF_GTHDBL);
25 gt_assert(agsB->overallscore != GTH_UNDEF_GTHDBL);
26 if (agsA->overallscore < agsB->overallscore)
27 return 1;
28 if (agsA->overallscore > agsB->overallscore)
29 return -1;
30 return 0;
31 }
32
33 static void determineAGSscore(GthAGS *ags, double sortagswf)
34 {
35 GthDbl average_exon_score = 0.0,
36 average_splice_site_probability = 0.0;
37 GtUword i, numofexons = gt_array_size(ags->exons);
38 GthSpliceSiteProb *splicesiteprob;
39 gt_assert(numofexons > 0);
40
41 if (numofexons == 1) {
42 /* if the AGS contains only one exon, the exonscore equals the overall score
43 */
44 ags->overallscore = ((GthExonAGS*) gt_array_get_first(ags->exons))->score;
45 }
46 else {
47 /* compute weighted mean of the average exon score and the average splice
48 site probability */
49 for (i = 0; i < numofexons; i++) {
50 /* sum them up */
51 average_exon_score += ((GthExonAGS*) gt_array_get(ags->exons, i))->score;
52 if (i > 0) {
53 splicesiteprob = gt_array_get(ags->splicesiteprobs, i-1);
54 average_splice_site_probability += splicesiteprob->donorsiteprob;
55 average_splice_site_probability += splicesiteprob->acceptorsiteprob;
56 }
57 }
58 /* calc average */
59 average_exon_score /= numofexons;
60 average_splice_site_probability /= (2 * (numofexons - 1));
61
62 /* calc weighted mean */
63 ags->overallscore = (sortagswf * average_exon_score +
64 average_splice_site_probability) /
65 (sortagswf + 1.0);
66
67 }
68 }
69
70 static void sortAGSsinsinglePGL(GthPGL *pgl, double sortagswf)
71 {
72 GtUword i;
73
74 /* determine AGS scores */
75 for (i = 0; i < gt_array_size(pgl->assemblies); i++)
76 determineAGSscore(*(GthAGS**) gt_array_get(pgl->assemblies, i), sortagswf);
77
78 /* sort AGSs according to the scores */
79 qsort(gt_array_get_space(pgl->assemblies), gt_array_size(pgl->assemblies),
80 sizeof (GthAGS*), compareAGSs);
81 }
82
83 void gth_sortAGSs(GtArray *pgls, double sortagswf)
84 {
85 GtUword i;
86 for (i = 0; i < gt_array_size(pgls); i++)
87 sortAGSsinsinglePGL(*(GthPGL**) gt_array_get(pgls, i), sortagswf);
88 }
+0
-28
src/gth/gthsortags.h less more
0 /*
1 Copyright (c) 2004-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSORTAGS_H
18 #define GTHSORTAGS_H
19
20 #include "core/array.h"
21
22 /* The following function sorts the AGSs of every PGL contained in <pgls>
23 according to the weighted mean of the average exon score and the average
24 splice site probability. */
25 void gth_sortAGSs(GtArray *pgls, double sortagswf);
26
27 #endif
+0
-46
src/gth/gthspeciestab.h less more
0 /*
1 Copyright (c) 2003-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSPECIESTAB_H
18 #define GTHSPECIESTAB_H
19 #include "core/unused_api.h"
20
21 #define NUMOFSPECIES (sizeof (speciestab)/sizeof (speciestab[0]))
22
23 /*
24 The following defines the table of species. For each species the
25 corresponding index in the table is the species number in the GthCallInfo
26 structure.
27 */
28
29 GT_UNUSED static char *speciestab[] =
30 {
31 "human", /* 0 */
32 "mouse", /* 1 */
33 "rat", /* 2 */
34 "chicken", /* 3 */
35 "drosophila", /* 4 */
36 "nematode", /* 5 */
37 "fission_yeast", /* 6 */
38 "aspergillus", /* 7 */
39 "arabidopsis", /* 8 (old) */
40 "maize", /* 9 (old) last species stored in header file */
41 "rice",
42 "medicago"
43 };
44
45 #endif
+0
-176
src/gth/gthsplicesitescr.c less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/chardef.h"
18 #include "core/minmax.h"
19 #include "core/unused_api.h"
20 #include "gth/gthsplicesitescr.h"
21
22 #define SPLICE_SITE_SCORE_WINDOW 50 /* (GS2 = WSIZE) */
23 #define SSSWINDOW_MINSIZE_FACTOR .8
24
25 typedef struct {
26 bool breaktraversealignment;
27 const unsigned char *gen_seq_tran,
28 *ref_seq_tran;
29 GtAlphabet *gen_alphabet;
30 GthDPOptionsEST *dp_options_est;
31 GthFlt splicesiteweight, /* (GS2 = sscr) */
32 maxsplicesiteweight; /* (GS2 = osscr) */
33 GtUword processedalignmentpositions;
34 } Calcsplicesitescoredata;
35
36 static void calcsplicesitescoreprocmismatchordeletion(Traversealignmentstate
37 *state,
38 void *data,
39 GT_UNUSED
40 GtUword lengthofeop)
41 {
42 Calcsplicesitescoredata *d = (Calcsplicesitescoredata*) data;
43 unsigned int gen_alphabet_mapsize = gt_alphabet_size(d->gen_alphabet);
44 GthDPOptionsEST *dp_options_est = d->dp_options_est;
45 unsigned char genomicchar;
46 if (d->processedalignmentpositions < SPLICE_SITE_SCORE_WINDOW) {
47 genomicchar = d->gen_seq_tran[state->genomicptr];
48 ADDOUTPUTWEIGHTIDENTITY(d->maxsplicesiteweight, genomicchar);
49 d->processedalignmentpositions++;
50 }
51 else
52 d->breaktraversealignment = true;
53 }
54
55 static void calcsplicesitescoreprocinsertion(Traversealignmentstate *state,
56 void *data,
57 GT_UNUSED
58 GtUword lengthofeop)
59 {
60 Calcsplicesitescoredata *d = (Calcsplicesitescoredata*) data;
61 unsigned int gen_alphabet_mapsize = gt_alphabet_size(d->gen_alphabet);
62 GthDPOptionsEST *dp_options_est = d->dp_options_est;
63 unsigned char genomicchar, referencechar;
64 if (d->processedalignmentpositions < SPLICE_SITE_SCORE_WINDOW) {
65 genomicchar = (unsigned char) DASH;
66 referencechar = d->ref_seq_tran[state->referenceptr];
67 ADDOUTPUTWEIGHT(d->splicesiteweight, genomicchar, referencechar);
68 ADDOUTPUTWEIGHTIDENTITY(d->maxsplicesiteweight, genomicchar);
69 d->processedalignmentpositions++;
70 }
71 else
72 d->breaktraversealignment = true;
73 }
74
75 static void calcsplicesitescoreprocmatch(Traversealignmentstate *state,
76 void *data, GtUword lengthofeop)
77 {
78 Calcsplicesitescoredata *d = (Calcsplicesitescoredata*) data;
79 unsigned int gen_alphabet_mapsize = gt_alphabet_size(d->gen_alphabet);
80 GthDPOptionsEST *dp_options_est = d->dp_options_est;
81 unsigned char genomicchar, referencechar;
82 GtUword numofmatchestoprocess, alignmentpositionsleft;
83 GthFlt genomicinterimvalue = 0.0,
84 referenceinterimvalue = 0.0;
85 if (d->processedalignmentpositions < SPLICE_SITE_SCORE_WINDOW) {
86 alignmentpositionsleft = SPLICE_SITE_SCORE_WINDOW -
87 d->processedalignmentpositions;
88 numofmatchestoprocess = MIN(lengthofeop, alignmentpositionsleft);
89
90 genomicchar = d->gen_seq_tran[state->genomicptr];
91 referencechar = d->ref_seq_tran[state->referenceptr];
92 ADDOUTPUTWEIGHT(referenceinterimvalue, genomicchar, referencechar);
93 ADDOUTPUTWEIGHTIDENTITY(genomicinterimvalue, genomicchar);
94 genomicinterimvalue *= numofmatchestoprocess;
95 referenceinterimvalue *= numofmatchestoprocess;
96 d->splicesiteweight += referenceinterimvalue;
97 d->maxsplicesiteweight += genomicinterimvalue;
98 d->processedalignmentpositions += numofmatchestoprocess;
99 }
100 else
101 d->breaktraversealignment = true;
102 }
103
104 static void calcsplicesitescoreprocintron(GT_UNUSED
105 Traversealignmentstate *state,
106 void *data,
107 GT_UNUSED
108 GtUword lengthofeop)
109 {
110 Calcsplicesitescoredata *d = (Calcsplicesitescoredata*) data;
111 d->breaktraversealignment = true;
112 }
113
114 static bool calcsplicesitescorebreakcondition(void *data)
115 {
116 Calcsplicesitescoredata *d = (Calcsplicesitescoredata*) data;
117 return d->breaktraversealignment;
118 }
119
120 void gthcalcsplicesitescore(GthDbl *splicesitescore,
121 Traversealignmentstate *oldstate,
122 const unsigned char *gen_seq_tran,
123 const unsigned char *ref_seq_tran,
124 GtAlphabet *gen_alphabet,
125 GthDPOptionsEST *dp_options_est,
126 bool acceptorsite)
127 {
128 Traversealignmentfunctions travfunctions;
129 Traversealignmentstate newstate;
130 Calcsplicesitescoredata data;
131
132 gt_assert(dp_options_est);
133
134 travfunctions.processmismatch = calcsplicesitescoreprocmismatchordeletion;
135 travfunctions.processdeletion = calcsplicesitescoreprocmismatchordeletion;
136 travfunctions.processinsertion = calcsplicesitescoreprocinsertion;
137 travfunctions.processmatch = calcsplicesitescoreprocmatch;
138 travfunctions.processintron = calcsplicesitescoreprocintron;
139 travfunctions.breakcondition = calcsplicesitescorebreakcondition;
140
141 /* to prevent manipulation of oldstate we copy it to newstate */
142 newstate = *oldstate;
143
144 if (!acceptorsite) { /* i.e. we want to process a donorsite */
145 /* to go to the eopptr before the oldstate->eopptr */
146 newstate.eopptr++;
147
148 /* adjusting the sequence pointers to be able to correctly go backwards in
149 the alignment */
150 newstate.genomicptr--;
151 newstate.referenceptr--;
152 }
153
154 data.breaktraversealignment = false;
155 data.gen_seq_tran = gen_seq_tran;
156 data.ref_seq_tran = ref_seq_tran;
157 data.gen_alphabet = gen_alphabet;
158 data.dp_options_est = dp_options_est;
159 data.splicesiteweight = (GthFlt) 0.0;
160 data.maxsplicesiteweight = (GthFlt) 0.0;
161 data.processedalignmentpositions = 0;
162
163 /* for acceptorsites going forward, for donorsites going backward */
164 gthtraversealignment(acceptorsite, &newstate, false, &data, &travfunctions);
165
166 if ((data.processedalignmentpositions >= (SSSWINDOW_MINSIZE_FACTOR *
167 SPLICE_SITE_SCORE_WINDOW)) &&
168 (data.splicesiteweight > 0.0) && /* the weights must be positive */
169 (data.maxsplicesiteweight > 0.0)) {
170 *splicesitescore = (GthDbl) (data.splicesiteweight /
171 data.maxsplicesiteweight);
172 }
173 else
174 *splicesitescore = 0.0;
175 }
+0
-33
src/gth/gthsplicesitescr.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSPLICESITESCR_H
18 #define GTHSPLICESITESCR_H
19
20 #include "gth/align_dna.h"
21 #include "gth/bssm_param.h"
22 #include "gth/gthtravalign.h"
23
24 void gthcalcsplicesitescore(GthDbl *splicesitescore,
25 Traversealignmentstate *oldstate,
26 const unsigned char *gen_seq_tran,
27 const unsigned char *ref_seq_tran,
28 GtAlphabet *gen_alphabet,
29 GthDPOptionsEST *dp_options_est,
30 bool acceptorsite);
31
32 #endif
+0
-23
src/gth/gthstopcodon.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSTOPCODON_H
18 #define GTHSTOPCODON_H
19
20 #define GS2_STOPCODON '-'
21
22 #endif
+0
-25
src/gth/gthstrandchar.h less more
0 /*
1 Copyright (c) 2006-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2006-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHSTRANDCHAR_H
18 #define GTHSTRANDCHAR_H
19
20 #define FORWARDSTRANDCHAR '+'
21 #define REVERSESTRANDCHAR '-'
22 #define SHOWSTRAND(B) ((B) ? FORWARDSTRANDCHAR : REVERSESTRANDCHAR)
23
24 #endif
+0
-393
src/gth/gthtrans.c less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/codon_api.h"
18 #include "core/codon_iterator_simple_api.h"
19 #include "core/translator_api.h"
20 #include "core/trans_table.h"
21 #include "core/unused_api.h"
22 #include "gth/gthstopcodon.h"
23 #include "gth/indent.h"
24 #include "gth/gthorf.h"
25 #include "gth/gthtrans.h"
26
27 #define TRANSLATIONLINEWIDTH 60
28 #define EXONSEPARATORSTRING " : "
29 #define DOTLINECHAR '.'
30 #define DOTSPACING 10
31
32 #define INSERT_EXON_BORDER(LINE)\
33 if (gth_spliced_seq_pos_is_border(splicedseq, incounter))\
34 {\
35 for (i = 0; i < exonseparatorwidth; i++)\
36 {\
37 (LINE)[outcounter++] = (unsigned char) EXONSEPARATORSTRING[i];\
38 }\
39 }\
40 incounter++;
41
42 #define INSERT_NEWLINE(LINE)\
43 if (incounter % TRANSLATIONLINEWIDTH == 0)\
44 {\
45 (LINE)[outcounter++] = (unsigned char) '\n';\
46 }
47
48 #define REPLACE_STOPCODON(LINE)\
49 if (gs2out && (LINE)[outcounter] == GT_STOP_AMINO)\
50 {\
51 (LINE)[outcounter] = (unsigned char) GS2_STOPCODON;\
52 }
53
54 #define ADD_CODONCHAR(FRAMEOUT, FRAMEIN, FRAMENUM)\
55 if ((incounter > (FRAMENUM)) &&\
56 (incounter < splicedseq->splicedseqlen - 1) &&\
57 ((incounter - 1 - (FRAMENUM)) % GT_CODON_LENGTH == 0))\
58 {\
59 (FRAMEOUT)[outcounter] = (FRAMEIN)[(incounter - 1 - (FRAMENUM))\
60 / GT_CODON_LENGTH];\
61 REPLACE_STOPCODON(FRAMEOUT);\
62 }\
63 else\
64 {\
65 (FRAMEOUT)[outcounter] = (unsigned char) ' ';\
66 }\
67 outcounter++;
68
69 #define OUTCOUNTERCHECK\
70 gt_assert(outcounter == outlen);
71
72 #define OUTPUT_EXONPOSSPACE\
73 gt_file_xprintf(out->outfp, "%*s ", out->widthforgenpos, "")
74
75 #define OUTPUT_LINE(LINE)\
76 i = outcounter;\
77 while (i < outlen)\
78 {\
79 if ((LINE)[i] == '\n')\
80 {\
81 break;\
82 }\
83 else\
84 {\
85 gt_file_xfputc((char) (LINE)[i++], out->outfp);\
86 }\
87 }\
88 gt_file_xfputc('\n', out->outfp);
89
90 static void createoutputlines(char *dotline,
91 char *template_out,
92 char *frame0_out,
93 char *frame1_out,
94 char *frame2_out,
95 char *template_in,
96 char *frame0_in,
97 char *frame1_in,
98 char *frame2_in,
99 GthSplicedSeq *splicedseq,
100 GtUword exonseparatorwidth,
101 GT_UNUSED GtUword outlen, bool gs2out)
102 {
103 GtUword i,
104 dotcounter = DOTSPACING,
105 incounter = 0,
106 outcounter = 0;
107
108 /* fill dot line */
109 while (incounter < splicedseq->splicedseqlen) {
110 if (dotcounter == DOTSPACING) {
111 dotline[outcounter++] = (unsigned char) DOTLINECHAR;
112 dotcounter = 1;
113 }
114 else {
115 dotline[outcounter++] = (unsigned char) ' ';
116 dotcounter++;
117 }
118
119 INSERT_EXON_BORDER(dotline);
120 INSERT_NEWLINE(dotline);
121 }
122 OUTCOUNTERCHECK;
123
124 /* fill template line */
125 incounter = 0;
126 outcounter = 0;
127 while (incounter < splicedseq->splicedseqlen) {
128 template_out[outcounter++] = template_in[incounter];
129
130 INSERT_EXON_BORDER(template_out);
131 INSERT_NEWLINE(template_out);
132 }
133 OUTCOUNTERCHECK;
134
135 /* fill frame0 line */
136 incounter = 0;
137 outcounter = 0;
138 while (incounter < splicedseq->splicedseqlen) {
139 ADD_CODONCHAR(frame0_out, frame0_in, 0);
140
141 INSERT_EXON_BORDER(frame0_out);
142 INSERT_NEWLINE(frame0_out);
143 }
144 OUTCOUNTERCHECK;
145
146 /* fill frame1 line */
147 incounter = 0;
148 outcounter = 0;
149 while (incounter < splicedseq->splicedseqlen) {
150 ADD_CODONCHAR(frame1_out, frame1_in, 1);
151
152 INSERT_EXON_BORDER(frame1_out);
153 INSERT_NEWLINE(frame1_out);
154 }
155
156 /* fill frame2 line */
157 incounter = 0;
158 outcounter = 0;
159 while (incounter < splicedseq->splicedseqlen) {
160 ADD_CODONCHAR(frame2_out, frame2_in, 2);
161
162 INSERT_EXON_BORDER(frame2_out);
163 INSERT_NEWLINE(frame2_out);
164 }
165 }
166
167 static void showoutputlines(char *dotline,
168 char *template_out,
169 char *frame0_out,
170 char *frame1_out,
171 char *frame2_out,
172 GtUword outlen,
173 bool gen_strand_forward,
174 GtUword gen_total_length,
175 GtUword gen_offset,
176 GtUword *positionmapping,
177 GthOutput *out)
178 {
179 GtUword i, outcounter = 0, origcounter = 0;
180
181 while (outcounter < outlen) {
182 OUTPUT_EXONPOSSPACE;
183 OUTPUT_LINE(dotline);
184
185 /* output exon position */
186 gt_file_xprintf(out->outfp, "%*"GT_WUS" ", out->widthforgenpos,
187 SHOWGENPOS(gen_strand_forward, gen_total_length,
188 gen_offset, positionmapping[origcounter]));
189 OUTPUT_LINE(template_out);
190
191 OUTPUT_EXONPOSSPACE;
192 OUTPUT_LINE(frame0_out);
193
194 OUTPUT_EXONPOSSPACE;
195 OUTPUT_LINE(frame1_out);
196
197 OUTPUT_EXONPOSSPACE;
198 OUTPUT_LINE(frame2_out);
199
200 (void) gt_file_xprintf(out->outfp, "\n\n");
201 outcounter = i + 1;
202 origcounter += TRANSLATIONLINEWIDTH;
203 }
204 }
205
206 static void showtranslation(GthSplicedSeq *splicedseq,
207 char *frame0_in,
208 char *frame1_in,
209 char *frame2_in,
210 GtArray *exons,
211 bool gen_strand_forward,
212 GtUword gen_total_length,
213 GtUword gen_offset,
214 unsigned int indentlevel,
215 GthOutput *out)
216 {
217 char *dotline, *template_out, *frame0_out, *frame1_out, *frame2_out;
218 GtUword i, exonseparatorwidth = strlen(EXONSEPARATORSTRING),
219 outlen = splicedseq->splicedseqlen +
220 ((gt_array_size(exons) - 1) * exonseparatorwidth) +
221 (splicedseq->splicedseqlen / TRANSLATIONLINEWIDTH);
222 GtFile *outfp = out->outfp;
223
224 dotline = gt_malloc(sizeof (unsigned char) * outlen);
225 template_out = gt_malloc(sizeof (unsigned char) * outlen);
226 frame0_out = gt_malloc(sizeof (unsigned char) * outlen);
227 frame1_out = gt_malloc(sizeof (unsigned char) * outlen);
228 frame2_out = gt_malloc(sizeof (unsigned char) * outlen);
229
230 createoutputlines(dotline, template_out, frame0_out, frame1_out, frame2_out,
231 (char*) splicedseq->splicedseq, frame0_in, frame1_in,
232 frame2_in, splicedseq, exonseparatorwidth, outlen,
233 out->gs2out);
234
235 if (out->xmlout) {
236 gth_indent(outfp, indentlevel);
237 gt_file_xprintf(outfp, "<translation>\n");
238 indentlevel++;
239
240 gth_indent(outfp, indentlevel);
241 gt_file_xprintf(outfp, "<gDNA_template>");
242 for (i = 0; i < outlen; i++) {
243 if (template_out[i] != '\n') {
244 gt_file_xfputc(template_out[i], outfp);
245 }
246 }
247 gt_file_xprintf(outfp, "</gDNA_template>\n");
248
249 gth_indent(outfp, indentlevel);
250 gt_file_xprintf(outfp, "<first_frame>");
251 for (i = 0; i < outlen; i++) {
252 if (frame0_out[i] != '\n') {
253 gt_file_xfputc(frame0_out[i], outfp);
254 }
255 }
256 gt_file_xprintf(outfp, "</first_frame>\n");
257
258 gth_indent(outfp, indentlevel);
259 gt_file_xprintf(outfp, "<second_frame>");
260 for (i = 0; i < outlen; i++) {
261 if (frame1_out[i] != '\n') {
262 gt_file_xfputc(frame1_out[i], outfp);
263 }
264 }
265 gt_file_xprintf(outfp, "</second_frame>\n");
266
267 gth_indent(outfp, indentlevel);
268 gt_file_xprintf(outfp, "<third_frame>");
269 for (i = 0; i < outlen; i++) {
270 if (frame2_out[i] != '\n') {
271 gt_file_xfputc(frame2_out[i], outfp);
272 }
273 }
274 gt_file_xprintf(outfp, "</third_frame>\n");
275
276 indentlevel--;
277 gth_indent(outfp, indentlevel);
278 gt_file_xprintf(outfp, "</translation>\n");
279 }
280 else {
281 showoutputlines(dotline, template_out, frame0_out, frame1_out, frame2_out,
282 outlen, gen_strand_forward, gen_total_length,
283 gen_offset, splicedseq->positionmapping, out);
284 }
285
286 gt_free(dotline);
287 gt_free(template_out);
288 gt_free(frame0_out);
289 gt_free(frame1_out);
290 gt_free(frame2_out);
291 }
292
293 void gt_outputtranslationandorf(GtUword pglnum, const GthAGS *ags,
294 GtUword agsnum,
295 GtUword translationtable,
296 GthInput *input,
297 unsigned int indentlevel,
298 GthOutput *out)
299 {
300 GtUword i;
301 unsigned int nframe;
302 const unsigned char *gen_seq_orig;
303 GtStr *frame[3];
304 char translated;
305 GtTranslatorStatus status;
306 GtTranslator *translator;
307 GtTransTable *transtable;
308 GtCodonIterator *ci;
309 GthSplicedSeq *spliced_seq;
310 GtArray *ranges;
311 GtFile *outfp = out->outfp;
312
313 /* output header */
314 if (out->xmlout) {
315 gth_indent(outfp, indentlevel);
316 gt_file_xprintf(outfp, "<three_phase_translation "
317 "xmlns=\"http://www.genomethreader.org/GTH_output/"
318 "PGL_module/predicted_gene_location/AGS_information/"
319 "three_phase_translation/\">\n");
320 indentlevel++;
321 gth_indent(outfp, indentlevel);
322 gt_file_xprintf(outfp, "<description PGL_serial=\""GT_WU"\" "
323 "AGS_serial=\""GT_WU"\" gDNA_strand=\"%c\"/>\n",
324 pglnum + OUTPUTOFFSET, agsnum + OUTPUTOFFSET,
325 SHOWSTRAND(gth_ags_is_forward(ags)));
326 }
327 else {
328 gt_file_xprintf(outfp, "3-phase translation of AGS-"GT_WU" (%cstrand):\n\n",
329 agsnum + OUTPUTOFFSET,
330 SHOWSTRAND(gth_ags_is_forward(ags)));
331 }
332
333 ranges = gt_array_new(sizeof (GtRange));
334 for (i = 0; i < gt_array_size(ags->exons); i++)
335 gt_array_add(ranges, ((GthExonAGS*) gt_array_get(ags->exons, i))->range);
336
337 /* get genomic sequence */
338 gen_seq_orig = gth_input_original_genomic_sequence(input,
339 gth_ags_filenum(ags),
340 gth_ags_is_forward(ags));
341
342 spliced_seq = gth_spliced_seq_new(gen_seq_orig, ranges);
343
344 frame[0] = gt_str_new();
345 frame[1] = gt_str_new();
346 frame[2] = gt_str_new();
347
348 /* prepare for translation */
349 ci = gt_codon_iterator_simple_new((const char*) spliced_seq->splicedseq,
350 spliced_seq->splicedseqlen, NULL);
351 gt_assert(ci);
352 transtable = gt_trans_table_new(translationtable, NULL);
353 gt_assert(transtable);
354
355 /* translate the template in all three frames */
356 translator = gt_translator_new_with_table(transtable, ci);
357 status = gt_translator_next(translator, &translated, &nframe, NULL);
358 while (status == GT_TRANSLATOR_OK) {
359 gt_str_append_char(frame[nframe], translated);
360 status = gt_translator_next(translator, &translated, &nframe, NULL);
361 }
362 gt_assert(status != GT_TRANSLATOR_ERROR);
363 gt_translator_delete(translator);
364 gt_trans_table_delete(transtable);
365 gt_codon_iterator_delete(ci);
366
367 /* show the translation */
368 showtranslation(spliced_seq, gt_str_get(frame[0]), gt_str_get(frame[1]),
369 gt_str_get(frame[2]), ags->exons, gth_ags_is_forward(ags),
370 gth_ags_total_length(ags), gth_ags_genomic_offset(ags),
371 indentlevel, out);
372
373 /* show the (consolidated) ORFs */
374 gthshowORFs(gt_str_get(frame[0]), gt_str_get(frame[1]), gt_str_get(frame[2]),
375 gt_str_length(frame[0]), gt_str_length(frame[1]),
376 gt_str_length(frame[2]), gth_ags_is_forward(ags),
377 gth_ags_total_length(ags), gth_ags_genomic_offset(ags),
378 gt_str_get(ags->gen_id), pglnum, agsnum, spliced_seq,
379 indentlevel, out);
380
381 if (out->xmlout) {
382 indentlevel--;
383 gth_indent(outfp, indentlevel);
384 gt_file_xprintf(outfp, "</three_phase_translation>\n");
385 }
386
387 gth_spliced_seq_delete(spliced_seq);
388 gt_array_delete(ranges);
389 gt_str_delete(frame[0]);
390 gt_str_delete(frame[1]);
391 gt_str_delete(frame[2]);
392 }
+0
-30
src/gth/gthtrans.h less more
0 /*
1 Copyright (c) 2004-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHTRANS_H
18 #define GTHTRANS_H
19
20 #include "gth/gthoutput.h"
21 #include "gth/ags.h"
22
23 void gt_outputtranslationandorf(GtUword pglnum, const GthAGS*,
24 GtUword agsnum,
25 GtUword translationtable,
26 GthInput *input,
27 unsigned int indentlevel, GthOutput*);
28
29 #endif
+0
-316
src/gth/gthtravalign.c less more
0 /*
1 Copyright (c) 2003-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/codon_api.h"
18 #include "gth/gthtravalign.h"
19
20 bool gt_eops_equal_referencelength(Editoperation *alignment,
21 GtWord alignmentlength,
22 GtWord referencelength,
23 bool proteineop)
24 {
25 Eoptype eoptype;
26 GtUword eoplength;
27 GtWord i, sumofeops = 0;
28
29 for (i = 0; i < alignmentlength; i++) {
30 eoptype = gt_editoperation_type(alignment[i], proteineop);
31 eoplength = gt_editoperation_length(alignment[i], proteineop);
32
33 switch (eoptype) {
34 case EOP_TYPE_DELETION:
35 case EOP_TYPE_DELETION_WITH_1_GAP:
36 case EOP_TYPE_DELETION_WITH_2_GAPS:
37 case EOP_TYPE_INTRON:
38 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
39 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
40 /* nothing to do */
41 break;
42 case EOP_TYPE_INSERTION:
43 case EOP_TYPE_MISMATCH:
44 case EOP_TYPE_MISMATCH_WITH_1_GAP:
45 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
46 case EOP_TYPE_MATCH:
47 sumofeops += eoplength;
48 break;
49 default: gt_assert(0);
50 }
51 }
52
53 if (alignmentlength < 0 || sumofeops == referencelength)
54 return true;
55 return false;
56 }
57
58 static void match_mismatch_after_travfunc(bool forward,
59 Traversealignmentstate *state,
60 bool proteineop,
61 GtUword eoplength)
62 {
63 if (proteineop) {
64 if (state->processing_intron_with_1_base_left) {
65 /* we have to assure this for correct functioning of the STRICT cutoffs */
66 gt_assert(eoplength == 1);
67 state->processing_intron_with_1_base_left = false;
68 if (forward) {
69 state->genomicptr += eoplength * GT_CODON_LENGTH - 1;
70 state->referenceptr += eoplength;
71 }
72 else {
73 state->genomicptr -= eoplength * GT_CODON_LENGTH - 1;
74 state->referenceptr -= eoplength;
75 }
76 }
77 else if (state->processing_intron_with_2_bases_left) {
78 /* we have to assure this for correct functioning of the STRICT cutoffs */
79 gt_assert(eoplength == 1);
80 state->processing_intron_with_2_bases_left = false;
81 if (forward) {
82 state->genomicptr += eoplength * GT_CODON_LENGTH - 2;
83 state->referenceptr += eoplength - 1;
84 }
85 else {
86 state->genomicptr -= eoplength * GT_CODON_LENGTH - 2;
87 state->referenceptr -= eoplength - 1;
88 }
89 }
90 else {
91 if (forward) {
92 state->genomicptr += eoplength * GT_CODON_LENGTH;
93 state->referenceptr += eoplength;
94 }
95 else {
96 state->genomicptr -= eoplength * GT_CODON_LENGTH;
97 state->referenceptr -= eoplength;
98 }
99 }
100 }
101 else {
102 if (forward) {
103 state->genomicptr += eoplength;
104 state->referenceptr += eoplength;
105 }
106 else {
107 state->genomicptr -= eoplength;
108 state->referenceptr -= eoplength;
109 }
110 }
111 }
112
113 void gthtraversealignment(bool forward, Traversealignmentstate *state,
114 bool proteineop, void *data,
115 Traversealignmentfunctions *travfunctions)
116 {
117 Eoptype eoptype;
118 GtUword eoplength;
119
120 for (;forward ? state->eopptr >= state->alignment
121 : state->eopptr <= state->alignment
122 + state->alignmentlength - 1;
123 forward ? state->eopptr-- : state->eopptr++) {
124 eoptype = gt_editoperation_type(*state->eopptr, proteineop);
125 eoplength = gt_editoperation_length(*state->eopptr, proteineop);
126
127 /* we are not processing two intron types at the same time */
128 gt_assert(!(state->processing_intron_with_1_base_left &&
129 state->processing_intron_with_2_bases_left));
130
131 switch (eoptype) {
132 case EOP_TYPE_MISMATCH:
133 if (travfunctions->processmismatch)
134 travfunctions->processmismatch(state, data, eoplength);
135 match_mismatch_after_travfunc(forward, state, proteineop, eoplength);
136 break;
137 case EOP_TYPE_DELETION:
138 gt_assert(eoplength == 1);
139 if (travfunctions->processdeletion)
140 travfunctions->processdeletion(state, data, eoplength);
141 if (proteineop) {
142 if (forward)
143 state->genomicptr += GT_CODON_LENGTH;
144 else
145 state->genomicptr -= GT_CODON_LENGTH;
146 }
147 else {
148 if (forward)
149 state->genomicptr++;
150 else
151 state->genomicptr--;
152 }
153 break;
154 case EOP_TYPE_INSERTION:
155 gt_assert(eoplength == 1);
156 if (travfunctions->processinsertion)
157 travfunctions->processinsertion(state, data, eoplength);
158 if (forward)
159 state->referenceptr++;
160 else
161 state->referenceptr--;
162 break;
163 case EOP_TYPE_MATCH:
164 if (travfunctions->processmatch)
165 travfunctions->processmatch(state, data, eoplength);
166 match_mismatch_after_travfunc(forward, state, proteineop, eoplength);
167 break;
168 case EOP_TYPE_INTRON:
169 /* we are not processing with 1 base left here */
170 gt_assert(!state->processing_intron_with_1_base_left);
171 /* we are not processing with 2 bases left here */
172 gt_assert(!state->processing_intron_with_2_bases_left);
173 if (travfunctions->processintron)
174 travfunctions->processintron(state, data, eoplength);
175 if (forward)
176 state->genomicptr += eoplength;
177 else
178 state->genomicptr -= eoplength;
179 break;
180 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
181 gt_assert(proteineop);
182 /* we are not processing with 2 bases left here */
183 gt_assert(!state->processing_intron_with_2_bases_left);
184 if (!state->processing_intron_with_1_base_left) {
185 state->processing_intron_with_1_base_left = true;
186 state->firstbaseleftptr = state->genomicptr;
187 if (forward)
188 state->genomicptr++;
189 else
190 state->genomicptr--;
191 }
192 if (travfunctions->processintron_with_1_base_left)
193 travfunctions->processintron_with_1_base_left(state, data, eoplength);
194 if (forward)
195 state->genomicptr += eoplength;
196 else
197 state->genomicptr -= eoplength;
198 break;
199 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
200 gt_assert(proteineop);
201 /* we are not processing with 1 base left here */
202 gt_assert(!state->processing_intron_with_1_base_left);
203 if (!state->processing_intron_with_2_bases_left) {
204 state->processing_intron_with_2_bases_left = true;
205 state->firstbaseleftptr = state->genomicptr;
206 if (forward)
207 state->genomicptr++;
208 else
209 state->genomicptr--;
210 state->secondbaseleftptr = state->genomicptr;
211 if (forward) {
212 state->genomicptr++;
213 state->referenceptr++;
214 }
215 else {
216 state->genomicptr--;
217 state->referenceptr--;
218 }
219 }
220 if (travfunctions->processintron_with_2_bases_left) {
221 travfunctions->processintron_with_2_bases_left(state, data,
222 eoplength);
223 }
224 if (forward)
225 state->genomicptr += eoplength;
226 else
227 state->genomicptr -= eoplength;
228 break;
229 case EOP_TYPE_MISMATCH_WITH_1_GAP:
230 gt_assert(proteineop && eoplength == 1);
231 if (travfunctions->processmismatch_with_1_gap)
232 travfunctions->processmismatch_with_1_gap(state, data, eoplength);
233 if (state->processing_intron_with_1_base_left) {
234 state->processing_intron_with_1_base_left = false;
235 if (forward) {
236 state->genomicptr++;
237 state->referenceptr++;
238 }
239 else {
240 state->genomicptr--;
241 state->referenceptr--;
242 }
243 }
244 else if (state->processing_intron_with_2_bases_left)
245 state->processing_intron_with_2_bases_left = false;
246 else {
247 if (forward) {
248 state->genomicptr += 2;
249 state->referenceptr++;
250 }
251 else {
252 state->genomicptr -= 2;
253 state->referenceptr--;
254 }
255 }
256 break;
257 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
258 gt_assert(proteineop && eoplength == 1);
259 if (travfunctions->processmismatch_with_2_gaps)
260 travfunctions->processmismatch_with_2_gaps(state, data, eoplength);
261 if (state->processing_intron_with_1_base_left) {
262 state->processing_intron_with_1_base_left = false;
263 /* the genomicptr needs no further processing in this case */
264 if (forward)
265 state->referenceptr++;
266 else
267 state->referenceptr--;
268 }
269 else {
270 if (forward) {
271 state->genomicptr++;
272 state->referenceptr++;
273 }
274 else {
275 state->genomicptr--;
276 state->referenceptr--;
277 }
278 }
279 break;
280 case EOP_TYPE_DELETION_WITH_1_GAP:
281 gt_assert(proteineop && eoplength == 1);
282 if (travfunctions->processdeletion_with_1_gap)
283 travfunctions->processdeletion_with_1_gap(state, data, eoplength);
284 if (state->processing_intron_with_1_base_left) {
285 state->processing_intron_with_1_base_left = false;
286 if (forward)
287 state->genomicptr += 1;
288 else
289 state->genomicptr -= 1;
290 }
291 else {
292 if (forward)
293 state->genomicptr += 2;
294 else
295 state->genomicptr -= 2;
296 }
297 break;
298 case EOP_TYPE_DELETION_WITH_2_GAPS:
299 gt_assert(proteineop && eoplength == 1);
300 if (travfunctions->processdeletion_with_2_gaps)
301 travfunctions->processdeletion_with_2_gaps(state, data, eoplength);
302 if (!state->processing_intron_with_1_base_left) {
303 if (forward)
304 state->genomicptr++;
305 else
306 state->genomicptr--;
307 }
308 break;
309 default: gt_assert(0);
310 }
311
312 if (travfunctions->breakcondition && travfunctions->breakcondition(data))
313 break;
314 }
315 }
+0
-85
src/gth/gthtravalign.h less more
0 /*
1 Copyright (c) 2003-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHTRAVALIGN_H
18 #define GTHTRAVALIGN_H
19
20 #include <stdbool.h>
21 #include "gth/gthalignment.h"
22
23 typedef struct {
24 bool proteineop, /* processing protein edit operations */
25 processing_intron_with_1_base_left,
26 processing_intron_with_2_bases_left;
27 Editoperation *alignment, /* the editoperations of the whole alignment and
28 (doesn't change when using
29 gthtraversealignment()) */
30 *eopptr; /* the pointer to the current editoperation of
31 the alignment (changes) */
32 GtWord alignmentlength, /* its length, i.e. the number of Editoperations
33 */
34 genomicptr, /* the pointer to the current character of the
35 genomic sequence */
36 referenceptr, /* the pointer to the current character of the
37 reference sequence */
38 firstbaseleftptr,
39 secondbaseleftptr;
40 } Traversealignmentstate;
41
42 typedef struct {
43 void (*processmismatch)(Traversealignmentstate*, void*, GtUword);
44 void (*processdeletion)(Traversealignmentstate*, void*, GtUword);
45 void (*processinsertion)(Traversealignmentstate*, void*, GtUword);
46 void (*processmatch)(Traversealignmentstate*, void*, GtUword);
47 void (*processintron)(Traversealignmentstate*, void*, GtUword);
48 bool(*breakcondition)(void*);
49 /* additional functions for protein edit operations */
50 void (*processintron_with_1_base_left)(Traversealignmentstate*, void*,
51 GtUword);
52 void (*processintron_with_2_bases_left)(Traversealignmentstate*, void*,
53 GtUword);
54 void (*processmismatch_with_1_gap)(Traversealignmentstate*, void*,
55 GtUword);
56 void (*processmismatch_with_2_gaps)(Traversealignmentstate*, void*,
57 GtUword);
58 void (*processdeletion_with_1_gap)(Traversealignmentstate*, void*,
59 GtUword);
60 void (*processdeletion_with_2_gaps)(Traversealignmentstate*, void*,
61 GtUword);
62 } Traversealignmentfunctions;
63
64 /* The following function checks if the sum of multi edit operations
65 (sum in terms of reference sequence bases) equals the reference length.
66 If alignmentlength is less than 0 it is true returned, no matter what
67 referencelength is. */
68 bool gt_eops_equal_referencelength(Editoperation *alignment,
69 GtWord alignmentlength,
70 GtWord referencelength, bool proteineop);
71
72 /* The following function traverses an alignment given by an
73 Traversealignmentstate structure <state> in forward direction, if
74 <forward> equals true, in backward direction otherwise.
75 Forward direction means forward in the alignment (i.e. from left to right),
76 but backward (i.e. from right to left) in the Array of Editoperations.
77 For every Editoperation visited during the traversion, the corresponding
78 Traversealignmentfunction is called, if it is defined.
79 Thereby, <proteineop> denotes if protein edit operations are used. */
80 void gthtraversealignment(bool forward, Traversealignmentstate *state,
81 bool proteineop, void *data,
82 Traversealignmentfunctions *travfunctions);
83
84 #endif
+0
-24
src/gth/gthverbosefunc.c less more
0 /*
1 Copyright (c) 2005-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <stdio.h>
18 #include "gth/gthoutput.h"
19
20 void gth_show_on_stdout(const char *s)
21 {
22 printf("%c %s\n", COMMENTCHAR, s);
23 }
+0
-23
src/gth/gthverbosefunc.h less more
0 /*
1 Copyright (c) 2005-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHVERBOSEFUNC_H
18 #define GTHVERBOSEFUNC_H
19
20 void gth_show_on_stdout(const char*);
21
22 #endif
+0
-24
src/gth/gthverbosefuncvm.c less more
0 /*
1 Copyright (c) 2005-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <stdio.h>
18 #include "gth/gthoutput.h"
19
20 void gth_show_on_stdout_vmatch(char *s)
21 {
22 printf("%c %s\n", COMMENTCHAR, s);
23 }
+0
-23
src/gth/gthverbosefuncvm.h less more
0 /*
1 Copyright (c) 2005-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHVERBOSEFUNCVM_H
18 #define GTHVERBOSEFUNCVM_H
19
20 void gth_show_on_stdout_vmatch(char*);
21
22 #endif
+0
-43
src/gth/gthxml.c less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/gthxml.h"
18
19 void gth_xml_show_leader(bool intermediate, GtFile *outfp)
20 {
21 gt_file_xprintf(outfp,
22 "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
23 if (intermediate) {
24 gt_file_xprintf(outfp, "<SplicedAlignment xmlns="
25 "\"http://www.GenomeThreader.org/SplicedAlignment/\" "
26 "GTH_spliced_alignment_XML_version=\"%s\">\n",
27 GTH_SPLICED_ALIGNMENT_XML_VERSION);
28 }
29 else {
30 gt_file_xprintf(outfp, "<GTH_output xmlns="
31 "\"http://www.genomethreader.org/GTH_output/\" "
32 "GTH_XML_version=\"%s\">\n", GTH_XML_VERSION);
33 }
34 }
35
36 void gth_xml_show_trailer(bool intermediate, GtFile *outfp)
37 {
38 if (intermediate)
39 gt_file_xprintf(outfp, "</SplicedAlignment>\n");
40 else
41 gt_file_xprintf(outfp, "</GTH_output>\n");
42 }
+0
-33
src/gth/gthxml.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef GTHXML_H
18 #define GTHXML_H
19
20 #include <stdbool.h>
21 #include "core/file.h"
22
23 /* version for ``regular'' results */
24 #define GTH_XML_VERSION "1.1"
25
26 /* version for showing intermediate results */
27 #define GTH_SPLICED_ALIGNMENT_XML_VERSION "1.0"
28
29 void gth_xml_show_leader(bool intermediate, GtFile *outfp);
30 void gth_xml_show_trailer(bool intermediate, GtFile *outfp);
31
32 #endif
+0
-23
src/gth/indent.c less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/indent.h"
18
19 void gth_indent(GtFile *outfp, unsigned int indentlevel)
20 {
21 gt_file_xprintf(outfp, "%*s", indentlevel * 2, "");
22 }
+0
-26
src/gth/indent.h less more
0 /*
1 Copyright (c) 2004-2007 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2007 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef INDENT_H
18 #define INDENT_H
19
20 #include "core/file.h"
21
22 /* put <indentlevel> * 2 many blanks on <outfp> */
23 void gth_indent(GtFile *outfp, unsigned int indentlevel);
24
25 #endif
+0
-1097
src/gth/input.c less more
0 /*
1 Copyright (c) 2003-2013 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <ctype.h>
18 #include <math.h>
19 #include "core/compat.h"
20 #include "core/fileutils_api.h"
21 #include "core/md5_seqid.h"
22 #include "core/safearith.h"
23 #include "core/undef_api.h"
24 #include "core/unused_api.h"
25 #include "extended/regular_seqid.h"
26 #include "gth/default.h"
27 #include "gth/desc_cache.h"
28 #include "gth/gthdef.h"
29 #include "gth/input.h"
30 #include "gth/md5_cache.h"
31 #include "gth/parse_options.h"
32
33 #define GTHFORWARD 1 /* run program to match forward */
34 #define GTHREVERSE (1 << 1) /* run program to match reverse */
35
36 #define UPPERBLASTMATRIXALPHABET "ARNDCQEGHILKMFPSTWYVBZX*"
37
38 struct GthInput {
39 GthInputFilePreprocessor file_preprocessor;
40 GtStrArray *genomicfiles, /* pointer to genomic file names */
41 *referencefiles; /* pointer to reference file names */
42 GtArray *alphatypes; /* stores the alphabet types of the reference
43 files */
44 GthAlphatype overall_alphatype; /* the overall alphabet type (dna, protein, or
45 mixed) */
46 GtUword gen_file_num, /* number of genomic file which is currently
47 mapped into memory */
48 ref_file_num; /* number of reference file which is currently
49 mapped into memory */
50 GthSeqConConstructor seq_con_constructor;
51 GthSeqCon *gen_seq_con; /* containing the preprocessed genomic
52 sequence */
53 GthSeqCon *ref_seq_con; /* containing the reference sequence */
54 GtStr *proteinsmap, /* name of protein symbol mapping */
55 *bssmfile; /* file for bssm parameter */
56 GtScoreMatrix *score_matrix; /* contains the amino acid substitution matrix
57 (if necessary) */
58 GtAlphabet *score_matrix_alpha; /* the alphabet used for the scoring matrix */
59
60 unsigned int searchmode; /* stores bits GTHFORWARD and GTHREVERSE */
61 bool use_substring_spec,
62 genomic_translate,
63 reference_translate;
64 GtUword genomicfrompos, /* analyse genomic seq. from this position */
65 genomicwidth, /* analyse only this width of genomic seq. */
66 genomictopos; /* = genomicfrompos + genomicwidth - 1 */
67 bool md5ids,
68 use_md5_cache,
69 use_desc_cache;
70 GthMD5Cache *gen_md5_cache,
71 *ref_md5_cache;
72 GthDescCache *gen_desc_cache,
73 *ref_desc_cache;
74 };
75
76 GthInput *gth_input_new(GthInputFilePreprocessor file_preprocessor,
77 GthSeqConConstructor seq_con_constructor)
78 {
79 GthInput *input = gt_calloc(1, sizeof *input);
80 gt_assert(seq_con_constructor);
81 input->file_preprocessor = file_preprocessor;
82 input->genomicfiles = gt_str_array_new();
83 input->referencefiles = gt_str_array_new();
84 input->alphatypes = gt_array_new(sizeof (GthAlphatype));
85 input->overall_alphatype = UNDEF_ALPHA;
86 input->gen_file_num = GT_UNDEF_UWORD;
87 input->ref_file_num = GT_UNDEF_UWORD;
88 input->seq_con_constructor = seq_con_constructor;
89 input->proteinsmap = gt_str_new_cstr(GTH_DEFAULT_PROTEINSMAP);
90 input->bssmfile = gt_str_new();
91 input->searchmode = GTHFORWARD | GTHREVERSE;
92 input->genomic_translate = GT_UNDEF_BOOL;
93 input->reference_translate = GT_UNDEF_BOOL;
94 return input;
95 }
96
97 static void create_md5_cache_files(GthInput *input)
98 {
99 GthMD5Cache *md5_cache;
100 const char *filename;
101 GthSeqCon *seq_con;
102 GtStr *indexname;
103 GtUword i;
104 gt_assert(input);
105 indexname = gt_str_new();
106 for (i = 0; i < gt_str_array_size(input->genomicfiles); i++) {
107 filename = gth_input_get_genomic_filename(input, i);
108 gt_str_set(indexname, filename);
109 gt_str_append_char(indexname, '.');
110 gt_str_append_cstr(indexname, DNASUFFIX);
111 seq_con = input->seq_con_constructor(gt_str_get(indexname),
112 false, true,false);
113 md5_cache = gth_md5_cache_new(filename, seq_con);
114 gth_md5_cache_delete(md5_cache);
115 gth_seq_con_delete(seq_con);
116 }
117 for (i = 0; i < gt_str_array_size(input->referencefiles); i++) {
118 GthAlphatype alphatype = gth_input_get_alphatype(input, i);
119 filename = gth_input_get_reference_filename(input, i);
120 gt_str_set(indexname, filename);
121 gt_str_append_char(indexname, '.');
122 gt_str_append_cstr(indexname, alphatype == DNA_ALPHA
123 ? DNASUFFIX
124 : gt_str_get(input->proteinsmap));
125 seq_con = input->seq_con_constructor(gt_str_get(indexname),
126 false, true, false);
127 md5_cache = gth_md5_cache_new(filename, seq_con);
128 gth_md5_cache_delete(md5_cache);
129 gth_seq_con_delete(seq_con);
130 }
131 gt_str_delete(indexname);
132 }
133
134 int gth_input_preprocess(GthInput *input,
135 bool gthconsensus,
136 bool noautoindex,
137 bool createindicesonly,
138 bool skipindexcheck,
139 bool maskpolyAtails,
140 bool online,
141 bool inverse,
142 const char *progname,
143 char *scorematrixfile,
144 unsigned int translationtable,
145 GthDuplicateCheck duplicate_check,
146 GthOutput *out, GtError *err)
147 {
148 int had_err;
149 gt_error_check(err);
150 gt_assert(input);
151 had_err = input->file_preprocessor(input, gthconsensus, noautoindex,
152 skipindexcheck, maskpolyAtails, online,
153 inverse, progname, translationtable, out,
154 err);
155 if (!had_err)
156 had_err = gth_input_load_scorematrix(input, scorematrixfile, out, err);
157 if (!had_err) {
158 input->md5ids = out->md5ids;
159 input->use_md5_cache = out->md5ids || duplicate_check == GTH_DC_SEQ ||
160 duplicate_check == GTH_DC_BOTH;
161 input->use_desc_cache = duplicate_check == GTH_DC_DESC ||
162 duplicate_check == GTH_DC_BOTH;
163 }
164 if (!had_err && input->use_md5_cache && createindicesonly) {
165 /* for performance reasons (mapping of all index files), this is only done
166 if <createindicesonly> is <true>. otherwise, this is done automatically,
167 if the corresponding cache is accessed. */
168 create_md5_cache_files(input);
169 }
170 return had_err;
171 }
172
173 void gth_input_add_genomic_file(GthInput *input, const char *filename)
174 {
175 gt_assert(input && filename);
176 gt_str_array_add_cstr(input->genomicfiles, filename);
177 }
178
179 void gth_input_add_cdna_file(GthInput *input, const char *filename)
180 {
181 gt_assert(input && filename);
182 gth_input_add_reference_file(input, filename, DNA_ALPHA);
183 }
184
185 void gth_input_add_protein_file(GthInput *input, const char *filename)
186 {
187 gt_assert(input && filename);
188 gth_input_add_reference_file(input, filename, PROTEIN_ALPHA);
189 }
190
191 void gth_input_add_reference_file(GthInput *input, const char *filename,
192 GthAlphatype alphatype)
193 {
194 gt_assert(input && filename);
195 gt_assert(alphatype == DNA_ALPHA || alphatype == PROTEIN_ALPHA);
196 gt_str_array_add_cstr(input->referencefiles, filename);
197 gt_array_add(input->alphatypes, alphatype);
198 /* update overall alphatype */
199 if (input->overall_alphatype == UNDEF_ALPHA)
200 input->overall_alphatype = alphatype;
201 else if (input->overall_alphatype != alphatype)
202 input->overall_alphatype = MIXED_ALPHA;
203 }
204
205 const char* gth_input_get_genomic_filename(const GthInput *input,
206 GtUword gen_file_num)
207 {
208 gt_assert(input);
209 return gt_str_array_get(input->genomicfiles, gen_file_num);
210 }
211
212 const char* gth_input_get_reference_filename(const GthInput *input,
213 GtUword ref_file_num)
214 {
215 gt_assert(input);
216 return gt_str_array_get(input->referencefiles, ref_file_num);
217 }
218
219 GthAlphatype gth_input_get_alphatype(const GthInput *input,
220 GtUword ref_file_num)
221 {
222 gt_assert(input);
223 return *(GthAlphatype*) gt_array_get(input->alphatypes, ref_file_num);
224 }
225
226 bool gth_input_ref_file_is_dna(const GthInput *input,
227 GtUword ref_file_num)
228 {
229 gt_assert(input);
230 if (gth_input_get_alphatype(input, ref_file_num) == DNA_ALPHA)
231 return true;
232 return false;
233 }
234
235 bool gth_input_md5ids(const GthInput *input)
236 {
237 gt_assert(input);
238 return input->md5ids;
239 }
240
241 const unsigned char* gth_input_original_genomic_sequence(GthInput *input,
242 GT_UNUSED
243 GtUword filenum,
244 bool forward)
245 {
246 gt_assert(input);
247 gt_assert(input->gen_file_num == filenum);
248 if (forward)
249 return gth_seq_con_get_orig_seq(input->gen_seq_con, 0);
250 else {
251 gt_assert(input->searchmode & GTHREVERSE);
252 return gth_seq_con_get_orig_seq_rc(input->gen_seq_con, 0);
253 }
254 }
255
256 void gth_input_echo_genomic_description(GthInput *input,
257 GT_UNUSED GtUword filenum,
258 GtUword seqnum, GtFile *outfp)
259 {
260 gt_assert(input);
261 gt_assert(input->gen_file_num == filenum);
262 gth_seq_con_echo_description(input->gen_seq_con, seqnum, outfp);
263 }
264
265 void gth_input_echo_reference_description(GthInput *input,
266 GT_UNUSED GtUword filenum,
267 GtUword seqnum, GtFile *outfp)
268 {
269 gt_assert(input);
270 gt_assert(input->ref_file_num == filenum);
271 gth_seq_con_echo_description(input->ref_seq_con, seqnum, outfp);
272 }
273
274 static void format_reference_seq(unsigned char *seq, GtUword len, GtFile *outfp)
275 {
276 GtUword i, j, tennercount;
277 int width = 1;
278 bool showcharnum = true;
279
280 gt_assert(seq && len);
281
282 /* determine necessary width for character numbering */
283 if (ALIGNMENTLINEWIDTH < len)
284 width = ceil(log10(len - ALIGNMENTLINEWIDTH));
285
286 /* show sequence */
287 for (i = 0, j = 0, tennercount = 0; /* nothing */; i++) {
288 if (showcharnum) {
289 gt_file_xprintf(outfp, " %*"GT_WUS" ", width, i + OUTPUTOFFSET);
290 showcharnum = false;
291 }
292 gt_file_xfputc(toupper(seq[i]), outfp);
293 if (i == len - 1) {
294 gt_file_xfputc('\n', outfp);
295 break;
296 }
297 j++;
298 if (j >= ALIGNMENTLINEWIDTH) {
299 gt_file_xfputc('\n', outfp);
300 j = 0;
301 tennercount = 0;
302 showcharnum = true;
303 }
304 else {
305 tennercount++;
306 if (tennercount == 10) {
307 gt_file_xfputc(' ', outfp);
308 tennercount = 0;
309 }
310 }
311 }
312
313 gt_file_xfputc('\n', outfp);
314 }
315
316 void gth_input_echo_reference_sequence(GthInput *input, bool format,
317 GT_UNUSED GtUword filenum,
318 GtUword seqnum, bool forward,
319 GtFile *outfp)
320 {
321 unsigned char *refseq;
322 GtUword i, reflength;
323 gt_assert(input);
324 gt_assert(input->ref_file_num == filenum);
325
326 /* get reference sequence */
327 if (forward)
328 refseq = gth_seq_con_get_orig_seq(input->ref_seq_con, seqnum);
329 else
330 refseq = gth_seq_con_get_orig_seq_rc(input->ref_seq_con, seqnum);
331
332 /* output reference sequence */
333 reflength = gth_seq_con_get_length(input->ref_seq_con, seqnum);
334 if (format)
335 format_reference_seq(refseq, reflength, outfp);
336 else {
337 for (i = 0; i < reflength; i++)
338 gt_file_xfputc(refseq[i], outfp);
339 }
340 }
341
342 void gth_input_get_genomic_description(GthInput *input, GtStr *description,
343 GT_UNUSED GtUword filenum,
344 GtUword seqnum)
345 {
346 gt_assert(input && description);
347 gt_assert(input->gen_file_num == filenum);
348 gth_seq_con_get_description(input->gen_seq_con, seqnum, description);
349 }
350
351 static void save_sequenceid(GtStr *sequenceid, GthSeqCon *seqcol,
352 GtUword seqnum)
353 {
354 GtStr *description;
355
356 /* sequence number is defined */
357 gt_assert(seqnum != GT_UNDEF_UWORD);
358
359 description = gt_str_new();
360 gth_seq_con_get_description(seqcol, seqnum, description);
361
362 gt_regular_seqid_save(sequenceid, description);
363
364 gt_str_delete(description);
365 }
366
367 void gth_input_save_gen_id(GthInput *input, GtStr *id,
368 GT_UNUSED GtUword file_num,
369 GtUword seq_num)
370 {
371 gt_assert(input && id);
372 gt_assert(input->gen_file_num == file_num);
373 save_sequenceid(id, input->gen_seq_con, seq_num);
374 }
375
376 void gth_input_save_gen_identifier(GthInput *input, GtStr *id,
377 GT_UNUSED GtUword file_num, GtUword seq_num)
378 {
379 gt_assert(input && id);
380 gt_assert(input->gen_file_num == file_num);
381 if (input->md5ids) {
382 GtStr *md5;
383 gt_str_append_cstr(id, GT_MD5_SEQID_PREFIX);
384 md5 = gth_md5_cache_get(input->gen_md5_cache, seq_num);
385 gt_str_append_str(id, md5);
386 gt_str_delete(md5);
387 gt_str_append_char(id, ':');
388 }
389 save_sequenceid(id, input->gen_seq_con, seq_num);
390 }
391
392 void gth_input_save_ref_id(GthInput *input, GtStr *id,
393 GT_UNUSED GtUword file_num, GtUword seq_num)
394 {
395 gt_assert(input && id);
396 gt_assert(input->ref_file_num == file_num);
397 save_sequenceid(id, input->ref_seq_con, seq_num);
398 }
399
400 void gth_input_save_gen_md5(GthInput *input, GtStr **md5,
401 GT_UNUSED GtUword file_num, GtUword seq_num)
402 {
403 gt_assert(input && input->gen_file_num == file_num);
404 gt_assert(md5 && !*md5);
405 if (input->use_md5_cache)
406 *md5 = gth_md5_cache_get(input->gen_md5_cache, seq_num);
407 }
408
409 void gth_input_save_ref_md5(GthInput *input, GtStr **md5,
410 GT_UNUSED GtUword file_num,
411 GtUword seq_num)
412 {
413 gt_assert(input && input->ref_file_num == file_num);
414 gt_assert(md5 && !*md5);
415 if (input->use_md5_cache)
416 *md5 = gth_md5_cache_get(input->ref_md5_cache, seq_num);
417 }
418
419 void gth_input_save_gen_desc(GthInput *input, GtStr **desc,
420 GT_UNUSED GtUword file_num, GtUword seq_num)
421 {
422 gt_assert(input && input->gen_file_num == file_num);
423 gt_assert(desc && !*desc);
424 if (input->use_desc_cache)
425 *desc = gth_desc_cache_get(input->gen_desc_cache, seq_num);
426 }
427
428 void gth_input_save_ref_desc(GthInput *input, GtStr **desc,
429 GT_UNUSED GtUword file_num, GtUword seq_num)
430 {
431 gt_assert(input && input->ref_file_num == file_num);
432 gt_assert(desc && !*desc);
433 if (input->use_desc_cache)
434 *desc = gth_desc_cache_get(input->ref_desc_cache, seq_num);
435 }
436
437 GtUword gth_input_num_of_gen_files(const GthInput *input)
438 {
439 gt_assert(input);
440 return gt_str_array_size(input->genomicfiles);
441 }
442
443 GtUword gth_input_num_of_ref_files(const GthInput *input)
444 {
445 gt_assert(input);
446 return gt_str_array_size(input->referencefiles);
447 }
448
449 GtUword gth_input_genomic_file_total_length(GthInput *input,
450 GT_UNUSED GtUword filenum)
451 {
452 gt_assert(input);
453 gt_assert(input->gen_file_num == filenum);
454 return gth_seq_con_total_length(input->gen_seq_con);
455 }
456
457 GtUword gth_input_num_of_gen_seqs(GthInput *input, GT_UNUSED GtUword filenum)
458 {
459 gt_assert(input);
460 gt_assert(input->gen_file_num == filenum);
461 return gth_seq_con_num_of_seqs(input->gen_seq_con);
462 }
463
464 GtUword gth_input_num_of_ref_seqs(GthInput *input, GT_UNUSED GtUword filenum)
465 {
466 gt_assert(input);
467 gt_assert(input->ref_file_num == filenum);
468 return gth_seq_con_num_of_seqs(input->ref_seq_con);
469 }
470
471 GtRange gth_input_get_relative_genomic_range(GthInput *input,
472 GT_UNUSED GtUword filenum,
473 GtUword seqnum)
474 {
475 gt_assert(input);
476 gt_assert(input->gen_file_num == filenum);
477 return gth_seq_con_get_relative_range(input->gen_seq_con, seqnum);
478 }
479
480 GtRange gth_input_get_genomic_range(GthInput *input, GT_UNUSED GtUword filenum,
481 GtUword seqnum)
482 {
483 gt_assert(input);
484 gt_assert(input->gen_file_num == filenum);
485 return gth_seq_con_get_range(input->gen_seq_con, seqnum);
486 }
487
488 GtRange gth_input_get_reference_range(GthInput *input,
489 GT_UNUSED GtUword filenum, GtUword seqnum)
490 {
491 gt_assert(input);
492 gt_assert(input->ref_file_num == filenum);
493 return gth_seq_con_get_range(input->ref_seq_con, seqnum);
494 }
495
496 #define INPUT_DEBUG 0
497
498 void gth_input_load_genomic_file_func(GthInput *input, GtUword gen_file_num,
499 bool translate,
500 GT_UNUSED const char *src_file,
501 GT_UNUSED int src_line)
502 {
503 /* valid genomic file number */
504 gt_assert(input && gen_file_num < gt_str_array_size(input->genomicfiles));
505
506 #if INPUT_DEBUG
507 printf("load genomic (file %s, line %d): gen_file_num: " GT_WU
508 ", translate=%s\n",
509 src_file, src_line, gen_file_num, translate ? "true" : "false");
510 #endif
511
512 if (input->gen_file_num != gen_file_num) {
513 const char *genomic_filename;
514 GtStr *indexname;
515
516 /* free old genomic file */
517 if (input->gen_file_num != GT_UNDEF_UWORD) {
518 /* in this case a sequence collection has been loaded -> free it */
519 gth_seq_con_delete(input->gen_seq_con);
520 /* delete caches */
521 gth_md5_cache_delete(input->gen_md5_cache);
522 gth_desc_cache_delete(input->gen_desc_cache);
523 }
524
525 /* map genomic file */
526 genomic_filename = gth_input_get_genomic_filename(input, gen_file_num);
527 indexname = gt_str_new_cstr(genomic_filename);
528 gt_str_append_char(indexname, '.');
529 gt_str_append_cstr(indexname, DNASUFFIX);
530 input->gen_seq_con =
531 input->seq_con_constructor(gt_str_get(indexname),
532 input->searchmode & GTHREVERSE,
533 !translate, translate);
534 gt_str_delete(indexname);
535 input->genomic_translate = translate;
536
537 /* at least one sequence in genomic virtual tree */
538 gt_assert(gth_seq_con_num_of_seqs(input->gen_seq_con) > 0);
539
540 /* set genomic file number to new value */
541 input->gen_file_num = gen_file_num;
542
543 /* load caches, if necessary */
544 if (input->use_md5_cache) {
545 input->gen_md5_cache = gth_md5_cache_new(genomic_filename,
546 input->gen_seq_con);
547 }
548 if (input->use_desc_cache)
549 input->gen_desc_cache = gth_desc_cache_new(input->gen_seq_con);
550 }
551 /* else: necessary file already mapped */
552 gt_assert(input->genomic_translate == translate);
553 }
554
555 void gth_input_load_reference_file_func(GthInput *input, GtUword ref_file_num,
556 bool translate,
557 GT_UNUSED const char *src_file,
558 GT_UNUSED int src_line)
559 {
560 /* valid reference file number */
561 gt_assert(input &&
562 ref_file_num < gt_str_array_size(input->referencefiles));
563
564 #if INPUT_DEBUG
565 printf("load reference (file %s, line %d): ref_file_num: " GT_WU
566 ", translate=%s\n",
567 src_file, src_line, ref_file_num, translate ? "true" : "false");
568 #endif
569
570 if (input->ref_file_num != ref_file_num) {
571 const char *reference_filename;
572 GthAlphatype alphatype;
573 GtStr *indexname;
574
575 /* free old reference file */
576 if (input->ref_file_num != GT_UNDEF_UWORD) {
577 /* in this case a sequence collection has been loaded -> free it */
578 gth_seq_con_delete(input->ref_seq_con);
579 gth_md5_cache_delete(input->ref_md5_cache);
580 /* delete caches */
581 gth_desc_cache_delete(input->ref_desc_cache);
582 }
583
584 /* get alphabet type */
585 alphatype = gth_input_get_alphatype(input, ref_file_num);
586
587 /* alphabet type is valid */
588 gt_assert(alphatype == DNA_ALPHA || alphatype == PROTEIN_ALPHA);
589
590 /* loading reference sequence */
591 reference_filename = gth_input_get_reference_filename(input, ref_file_num);
592 indexname = gt_str_new_cstr(reference_filename);
593 gt_str_append_char(indexname, '.');
594 gt_str_append_cstr(indexname, alphatype == DNA_ALPHA
595 ? DNASUFFIX
596 : gt_str_get(input->proteinsmap));
597 if (alphatype == DNA_ALPHA) {
598 input->ref_seq_con = input->seq_con_constructor(gt_str_get(indexname),
599 true, !translate,
600 translate);
601 }
602 else {
603 input->ref_seq_con = input->seq_con_constructor(gt_str_get(indexname),
604 false, true, true);
605 }
606 gt_str_delete(indexname);
607 input->reference_translate = translate;
608
609 /* at least on reference sequence in virtual tree */
610 gt_assert(gth_seq_con_num_of_seqs(input->ref_seq_con) > 0);
611
612 /* set reference file number to new value */
613 input->ref_file_num = ref_file_num;
614
615 /* load caches, if necessary */
616 if (input->use_md5_cache) {
617 input->ref_md5_cache = gth_md5_cache_new(reference_filename,
618 input->ref_seq_con);
619 }
620 if (input->use_desc_cache)
621 input->ref_desc_cache = gth_desc_cache_new(input->ref_seq_con);
622 }
623 /* else: necessary file already mapped */
624 gt_assert(input->reference_translate == translate);
625 }
626
627 /* We use a ``special'' protein alphabet which has some characters which are
628 wildcards in the ``normal'' protein alphabet as normal characters.
629 Thereby, we can store different scores for character pairs with these
630 ``wildcards''. */
631 static GtAlphabet* alphabet_new_blast_matrix(void)
632 {
633 GtAlphabet *a;
634 const char *blast_matrix_chars = "ARNDCQEGHILKMFPSTWYVBZX";
635 char characters[2];
636 size_t i, len;
637 a = gt_alphabet_new_empty();
638 len = strlen(blast_matrix_chars);
639 characters[1] = '\0';
640 for (i = 0; i < len; i++) {
641 characters[0] = blast_matrix_chars[i];
642 gt_alphabet_add_mapping(a, characters);
643 }
644 gt_alphabet_add_wildcard(a, '*');
645 /* add other special wildcards */
646 gt_alphabet_add_wildcard(a, 'U');
647 gt_alphabet_add_wildcard(a, 'O');
648 return a;
649 }
650
651 static GtStr* find_score_matrix_path(const char *scorematrixfile, GtError *err)
652 {
653 GtStr *path = gt_str_new();
654 int had_err = 0;
655 if (gt_file_exists(scorematrixfile)) {
656 gt_str_set(path, scorematrixfile);
657 return path;
658 }
659 if (strchr(scorematrixfile, GT_PATH_SEPARATOR)) {
660 gt_error_set(err, "filename \"%s\" contains illegal symbol '%c': the path "
661 "list specified by environment variable \"%s\" cannot be "
662 "searched for it", scorematrixfile, GT_PATH_SEPARATOR,
663 GTHDATAENVNAME);
664 had_err = -1;
665 }
666 if (!had_err)
667 had_err = gt_file_find_in_env(path, scorematrixfile, GTHDATAENVNAME, err);
668 if (!had_err && !gt_str_length(path)) {
669 gt_error_set(err, "file \"%s\" not found in directory list specified by "
670 "environment variable %s", scorematrixfile, GTHDATAENVNAME);
671 had_err = -1;
672 }
673 if (!had_err) {
674 gt_assert(gt_str_length(path));
675 /* path found -> append score matrix file name */
676 gt_str_append_char(path, GT_PATH_SEPARATOR);
677 gt_str_append_cstr(path, scorematrixfile);
678 }
679 else {
680 /* check for file relative to binary */
681 int new_err = gt_file_find_exec_in_path(path, gt_error_get_progname(err),
682 NULL);
683 if (!new_err) {
684 gt_str_append_char(path, GT_PATH_SEPARATOR);
685 gt_str_append_cstr(path, GTHDATADIRNAME);
686 gt_str_append_char(path, GT_PATH_SEPARATOR);
687 gt_str_append_cstr(path, scorematrixfile);
688 if (gt_file_exists(gt_str_get(path))) {
689 gt_error_unset(err);
690 had_err = 0;
691 }
692 }
693 }
694 if (had_err) {
695 gt_str_delete(path);
696 return NULL;
697 }
698 return path;
699 }
700
701 int gth_input_load_scorematrix(GthInput *input, char *scorematrixfile,
702 GthOutput *out, GtError *err)
703 {
704 GtUword i;
705 bool protein_reffile_exists = false; /* equals true if at least one reference
706 file has alphabet type PROTEIN_ALPHA
707 */
708 int had_err = 0;
709
710 gt_error_check(err);
711
712 /* loop over alphatypes to set protein_reffile_exists */
713 for (i = 0; i < gt_array_size(input->alphatypes); i++) {
714 if (gth_input_get_alphatype(input, i) == PROTEIN_ALPHA) {
715 protein_reffile_exists = true;
716 break;
717 }
718 }
719
720 /* load scorematrix if necessary */
721 if (protein_reffile_exists) {
722 GtStr *path;
723
724 if (out->showverbose) {
725 out->showverbose("read in the following amino acid substitution matrix:");
726 out->showverbose(scorematrixfile);
727 }
728
729 gt_assert(!input->score_matrix_alpha);
730 input->score_matrix_alpha = alphabet_new_blast_matrix();
731 if (!(path = find_score_matrix_path(scorematrixfile, err)))
732 had_err = -1;
733 if (!had_err) {
734 input->score_matrix = gt_score_matrix_new_read(gt_str_get(path),
735 input->score_matrix_alpha,
736 err);
737 if (!input->score_matrix)
738 had_err = -1;
739 }
740 gt_str_delete(path);
741 }
742
743 return had_err;
744 }
745
746 GtStr* gth_input_proteinsmap(const GthInput *input)
747 {
748 gt_assert(input);
749 return input->proteinsmap;
750 }
751
752 GtStr* gth_input_bssmfile(const GthInput *input)
753 {
754 gt_assert(input);
755 return input->bssmfile;
756 }
757
758 const char* gth_input_bssmfilename(const GthInput *input)
759 {
760 gt_assert(input);
761 return gt_str_length(input->bssmfile) ? gt_str_get(input->bssmfile)
762 : "none";
763 }
764
765 GtScoreMatrix* gth_input_score_matrix(const GthInput *input)
766 {
767 gt_assert(input);
768 return input->score_matrix;
769 }
770
771 GtAlphabet* gth_input_score_matrix_alpha(const GthInput *input)
772 {
773 gt_assert(input);
774 return input->score_matrix_alpha;
775 }
776
777 void gth_input_set_forward_only(GthInput *input)
778 {
779 gt_assert(input);
780 input->searchmode = GTHFORWARD;
781 }
782
783 void gth_input_set_reverse_only(GthInput *input)
784 {
785 gt_assert(input);
786 input->searchmode = GTHREVERSE;
787 }
788
789 bool gth_input_forward(const GthInput *input)
790 {
791 gt_assert(input);
792 return input->searchmode & GTHFORWARD ? true : false;
793 }
794
795 bool gth_input_reverse(const GthInput *input)
796 {
797 gt_assert(input);
798 return input->searchmode & GTHREVERSE ? true : false;
799 }
800
801 bool gth_input_both(const GthInput *input)
802 {
803 gt_assert(input);
804 return ((input->searchmode & GTHFORWARD) &&
805 (input->searchmode & GTHREVERSE)) ? true : false;
806 }
807
808 GthAlphatype gth_input_overall_alphatype(const GthInput *input)
809 {
810 gt_assert(input);
811 return input->overall_alphatype;
812 }
813
814 /* the following function determines the index of the file name <ilename> in the
815 array <files> and returns it. If the file name is not contained in the array,
816 -1 is returned. */
817 static GtWord determine_file_index(const char *filename, GtStrArray *files)
818 {
819 GtUword i;
820 GtWord rval = -1;
821 for (i = 0; i < gt_str_array_size(files); i++) {
822 if (!strcmp(filename, gt_str_array_get(files, i))) {
823 rval = gt_safe_cast2long(i);
824 break;
825 }
826 }
827 return rval;
828 }
829
830 GtWord gth_input_determine_genomic_file_index(const GthInput *input,
831 const char *filename)
832 {
833 gt_assert(input && filename);
834 return determine_file_index(filename, input->genomicfiles);
835 }
836
837 GtWord gth_input_determine_reference_file_index(const GthInput *input,
838 const char *filename)
839 {
840 gt_assert(input && filename);
841 return determine_file_index(filename, input->referencefiles);
842 }
843
844 int gth_input_set_and_check_substring_spec(GthInput *input, GtError *err)
845 {
846 GtUword numofsequences, gen_total_length;
847 int had_err = 0;
848 gt_error_check(err);
849 gt_assert(input);
850
851 if (input->genomicfrompos) {
852 /* load genomic file first */
853 /* XXX: we do not need the reverse complement here */
854 gth_input_load_genomic_file(input, 0, true);
855
856 /* now we can set numofsequences and gen_total_length */
857 numofsequences = gth_input_num_of_gen_seqs(input, 0);
858 gen_total_length = gth_input_genomic_file_total_length(input, 0);
859
860 /* at least one genomic sequence in multiseq */
861 gt_assert(numofsequences > 0);
862
863 /* position setting options have been used, check if only one genomic
864 sequence is given */
865
866 if (numofsequences > 1) {
867 gt_error_set(err, "-%s only allowed for genomic file containing one "
868 "sequence", FROMPOS_OPT_CSTR);
869 had_err = -1;;
870 }
871
872 /* check if the values of frompos or width are valid */
873 if (!had_err && input->genomictopos > 0) {
874 /* -frompos has been used together with -topos */
875
876 /* checking if values are correctly set */
877 if (input->genomicfrompos == input->genomictopos) {
878 gt_error_set(err, "frompos equals topos");
879 had_err = -1;
880 }
881 if (!had_err && input->genomicfrompos > gen_total_length) {
882 gt_error_set(err, "frompos is larger than total length of genomic "
883 "sequence");
884 had_err = -1;
885 }
886 if (!had_err && input->genomictopos > gen_total_length) {
887 gt_error_set(err, "topos is larger than total length of genomic "
888 "sequence");
889 had_err = -1;
890 }
891 if (!had_err &&
892 input->genomicfrompos >= input->genomictopos) {
893 gt_error_set(err, "frompos has to be less than topos");
894 had_err = -1;
895 }
896
897 if (!had_err) {
898 /* all values correctly set -> setting width and changing values
899 because from here on we count starting with 0 */
900 input->genomicfrompos -= 1;
901 input->genomictopos -= 1;
902 input->genomicwidth = input->genomictopos -
903 input->genomicfrompos + 1;
904 }
905 }
906 else if (!had_err) {
907 /* -frompos has been used together with -width */
908
909 /* checking if values are correctly set */
910 if (input->genomicfrompos + input->genomicwidth - 1
911 > gen_total_length) {
912 gt_error_set(err, "frompos + width is larger than total length of "
913 "genomic sequence");
914 had_err = -1;
915 }
916
917 if (!had_err) {
918 /* all values correctly set -> setting topos and changing values
919 because from here on we count starting with 0 */
920 input->genomicfrompos -= 1;
921 input->genomictopos = input->genomicfrompos +
922 input->genomicwidth - 1;
923 }
924 }
925
926 input->use_substring_spec = true;
927 }
928
929 return had_err;
930 }
931
932 bool gth_input_use_substring_spec(const GthInput *input)
933 {
934 gt_assert(input);
935 return input->use_substring_spec;
936 }
937
938 GtUword gth_input_genomic_substring_from(const GthInput *input)
939 {
940 gt_assert(input);
941 return input->genomicfrompos;
942 }
943
944 GtUword gth_input_genomic_substring_to(const GthInput *input)
945 {
946 gt_assert(input);
947 return input->genomictopos;
948 }
949
950 GtUword* gth_input_genomicfrompos_ptr(GthInput *input)
951 {
952 gt_assert(input);
953 return &input->genomicfrompos;
954 }
955
956 GtUword* gth_input_genomicwidth_ptr(GthInput *input)
957 {
958 gt_assert(input);
959 return &input->genomicwidth;
960 }
961
962 GtUword* gth_input_genomictopos_ptr(GthInput *input)
963 {
964 gt_assert(input);
965 return &input->genomictopos;
966 }
967
968 int gth_input_make_indices(GthInput *input, const char *progname, GtError *err)
969 {
970 int had_err;
971 GthOutput *out;
972 gt_error_check(err);
973 gt_assert(input);
974 out = gthoutput_new();
975 had_err = input->file_preprocessor(input, true, false, false, false, false,
976 false, progname,
977 GTH_DEFAULT_TRANSLATIONTABLE, out, err);
978 if (!had_err) {
979 had_err = gth_input_load_scorematrix(input, GTH_DEFAULT_SCOREMATRIX, out,
980 err);
981 }
982 gthoutput_delete(out);
983 return had_err;
984 }
985
986 void gth_input_delete_current(GthInput *input)
987 {
988 /* free current genomic virtual tree */
989 if (input->gen_file_num != GT_UNDEF_UWORD) {
990 /* in this case a virtual tree has been loaded -> free it */
991 gth_seq_con_delete(input->gen_seq_con);
992 gth_md5_cache_delete(input->gen_md5_cache);
993 gth_desc_cache_delete(input->gen_desc_cache);
994 }
995
996 /* free current reference virtual tree */
997 if (input->ref_file_num != GT_UNDEF_UWORD) {
998 /* in this case a virtual tree has been loaded -> free it */
999 gth_seq_con_delete(input->ref_seq_con);
1000 gth_md5_cache_delete(input->ref_md5_cache);
1001 gth_desc_cache_delete(input->ref_desc_cache);
1002 }
1003
1004 /* set the filenumbers to undefined values */
1005 input->gen_file_num = GT_UNDEF_UWORD;
1006 input->ref_file_num = GT_UNDEF_UWORD;
1007
1008 input->genomic_translate = GT_UNDEF_BOOL;
1009 input->reference_translate = GT_UNDEF_BOOL;
1010 }
1011
1012 void gth_input_delete_complete(GthInput *input)
1013 {
1014 if (!input) return;
1015 gth_input_delete_current(input);
1016 gt_str_delete(input->bssmfile);
1017 gt_str_delete(input->proteinsmap);
1018 gt_score_matrix_delete(input->score_matrix);
1019 gt_alphabet_delete(input->score_matrix_alpha);
1020 gt_array_delete(input->alphatypes);
1021 gt_str_array_delete(input->referencefiles);
1022 gt_str_array_delete(input->genomicfiles);
1023 gt_free(input);
1024 }
1025
1026 GthSeqCon* gth_input_current_gen_seq_con(GthInput *input)
1027 {
1028 gt_assert(input);
1029 return input->gen_seq_con;
1030 }
1031
1032 GthSeqCon* gth_input_current_ref_seq_con(GthInput *input)
1033 {
1034 gt_assert(input);
1035 return input->ref_seq_con;
1036 }
1037
1038 const unsigned char* gth_input_current_gen_seq_tran(const GthInput *input)
1039 {
1040 gt_assert(input);
1041 return gth_seq_con_get_tran_seq(input->gen_seq_con, 0);
1042 }
1043
1044 const unsigned char* gth_input_current_gen_seq_tran_rc(const GthInput *input)
1045 {
1046 gt_assert(input);
1047 return gth_seq_con_get_tran_seq_rc(input->gen_seq_con, 0);
1048 }
1049
1050 const unsigned char* gth_input_current_gen_seq_orig(const GthInput *input)
1051 {
1052 gt_assert(input);
1053 return gth_seq_con_get_orig_seq(input->gen_seq_con, 0);
1054 }
1055
1056 const unsigned char* gth_input_current_gen_seq_orig_rc(const GthInput *input)
1057 {
1058 gt_assert(input);
1059 return gth_seq_con_get_orig_seq_rc(input->gen_seq_con, 0);
1060 }
1061
1062 const unsigned char* gth_input_current_ref_seq_tran(const GthInput *input)
1063 {
1064 gt_assert(input);
1065 return gth_seq_con_get_tran_seq(input->ref_seq_con, 0);
1066 }
1067
1068 const unsigned char* gth_input_current_ref_seq_tran_rc(const GthInput *input)
1069 {
1070 gt_assert(input);
1071 return gth_seq_con_get_tran_seq_rc(input->ref_seq_con, 0);
1072 }
1073
1074 const unsigned char* gth_input_current_ref_seq_orig(const GthInput *input)
1075 {
1076 gt_assert(input);
1077 return gth_seq_con_get_orig_seq(input->ref_seq_con, 0);
1078 }
1079
1080 const unsigned char* gth_input_current_ref_seq_orig_rc(const GthInput *input)
1081 {
1082 gt_assert(input);
1083 return gth_seq_con_get_orig_seq_rc(input->ref_seq_con, 0);
1084 }
1085
1086 GtAlphabet* gth_input_current_gen_alphabet(GthInput *input)
1087 {
1088 gt_assert(input);
1089 return gth_seq_con_get_alphabet(input->gen_seq_con);
1090 }
1091
1092 GtAlphabet* gth_input_current_ref_alphabet(GthInput *input)
1093 {
1094 gt_assert(input);
1095 return gth_seq_con_get_alphabet(input->ref_seq_con);
1096 }
+0
-197
src/gth/input.h less more
0 /*
1 Copyright (c) 2003-2012 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef INPUT_H
18 #define INPUT_H
19
20 #include "core/array.h"
21 #include "core/range.h"
22 #include "core/score_matrix.h"
23 #include "core/str_array.h"
24 #include "gth/duplicate_check.h"
25 #include "gth/gthoutput.h"
26 #include "gth/gthalphatype.h"
27 #include "gth/seq_con.h"
28
29 typedef struct GthInput GthInput;
30
31 typedef int (*GthInputFilePreprocessor)(GthInput *input,
32 bool gthconsensus,
33 bool noautoindex,
34 bool skipindexcheck,
35 bool maskpolyAtails,
36 bool online,
37 bool inverse,
38 const char *progname,
39 unsigned int translationtable,
40 GthOutput *out, GtError*);
41
42 GthInput* gth_input_new(GthInputFilePreprocessor file_preprocessor,
43 GthSeqConConstructor seq_con_constructor);
44 int gth_input_preprocess(GthInput*,
45 bool gthconsensus,
46 bool noautoindex,
47 bool createindicesonly,
48 bool skipindexcheck,
49 bool maskpolyAtails,
50 bool online,
51 bool inverse,
52 const char *progname,
53 char *scorematrixfile,
54 unsigned int translationtable,
55 GthDuplicateCheck duplicate_check,
56 GthOutput *out, GtError*);
57 void gth_input_add_genomic_file(GthInput*, const char *filename);
58 void gth_input_add_cdna_file(GthInput*, const char *filename);
59 void gth_input_add_protein_file(GthInput*, const char *filename);
60 void gth_input_add_reference_file(GthInput*, const char *filename,
61 GthAlphatype);
62 const char* gth_input_get_genomic_filename(const GthInput*,
63 GtUword gen_file_num);
64 const char* gth_input_get_reference_filename(const GthInput*,
65 GtUword ref_file_num);
66 GthAlphatype gth_input_get_alphatype(const GthInput*, GtUword);
67 bool gth_input_ref_file_is_dna(const GthInput*, GtUword);
68 bool gth_input_md5ids(const GthInput*);
69 const
70 unsigned char* gth_input_original_genomic_sequence(GthInput*,
71 GtUword filenum,
72 bool forward);
73 void gth_input_echo_genomic_description(GthInput*,
74 GtUword filenum,
75 GtUword seqnum,
76 GtFile*);
77 void gth_input_echo_reference_description(GthInput*,
78 GtUword filenum,
79 GtUword seqnum,
80 GtFile*);
81 void gth_input_echo_reference_sequence(GthInput*, bool format,
82 GtUword filenum,
83 GtUword seqnum,
84 bool forward,
85 GtFile*);
86 void gth_input_get_genomic_description(GthInput*, GtStr *desc,
87 GtUword filenum,
88 GtUword seqnum);
89 void gth_input_save_gen_id(GthInput*, GtStr *id,
90 GtUword file_num,
91 GtUword seq_num);
92 /* save the genomic identifier used for output */
93 void gth_input_save_gen_identifier(GthInput*, GtStr *id,
94 GtUword file_num,
95 GtUword seq_num);
96 void gth_input_save_ref_id(GthInput*, GtStr *id,
97 GtUword file_num,
98 GtUword seq_num);
99 void gth_input_save_gen_md5(GthInput*, GtStr **md5,
100 GtUword file_num,
101 GtUword seq_num);
102 void gth_input_save_ref_md5(GthInput*, GtStr **md5,
103 GtUword file_num,
104 GtUword seq_num);
105 void gth_input_save_gen_desc(GthInput*, GtStr **desc,
106 GtUword file_num,
107 GtUword seq_num);
108 void gth_input_save_ref_desc(GthInput*, GtStr **desc,
109 GtUword file_num,
110 GtUword seq_num);
111 GtUword gth_input_num_of_gen_files(const GthInput*);
112 GtUword gth_input_num_of_ref_files(const GthInput*);
113 GtUword gth_input_num_of_gen_seqs(GthInput*, GtUword filenum);
114 GtUword gth_input_num_of_ref_seqs(GthInput*, GtUword filenum);
115 GtUword gth_input_genomic_file_total_length(GthInput*,
116 GtUword filenum);
117 GtRange gth_input_get_relative_genomic_range(GthInput*,
118 GtUword filenum,
119 GtUword seqnum);
120 GtRange gth_input_get_genomic_range(GthInput*,
121 GtUword filenum,
122 GtUword seqnum);
123 GtRange gth_input_get_reference_range(GthInput*,
124 GtUword filenum,
125 GtUword seqnum);
126
127 #define gth_input_load_genomic_file(input, gen_file_num, translate) \
128 gth_input_load_genomic_file_func(input, gen_file_num, translate,\
129 __FILE__, __LINE__)
130 void gth_input_load_genomic_file_func(GthInput *input,
131 GtUword gen_file_num,
132 bool translate,
133 const char *src_file,
134 int src_line);
135 #define gth_input_load_reference_file(input, ref_file_num, translate) \
136 gth_input_load_reference_file_func(input, ref_file_num,\
137 translate, __FILE__, __LINE__)
138 void gth_input_load_reference_file_func(GthInput *input,
139 GtUword ref_file_num,
140 bool translate,
141 const char *src_file,
142 int src_line);
143 int gth_input_load_scorematrix(GthInput*, char *scorematrixfile,
144 GthOutput *out, GtError *err);
145 GtStr* gth_input_proteinsmap(const GthInput*);
146 GtStr* gth_input_bssmfile(const GthInput*);
147 const char* gth_input_bssmfilename(const GthInput*);
148 GtScoreMatrix* gth_input_score_matrix(const GthInput*);
149 GtAlphabet* gth_input_score_matrix_alpha(const GthInput*);
150 void gth_input_set_forward_only(GthInput*);
151 void gth_input_set_reverse_only(GthInput*);
152 bool gth_input_forward(const GthInput*);
153 bool gth_input_reverse(const GthInput*);
154 bool gth_input_both(const GthInput*);
155 GthAlphatype gth_input_overall_alphatype(const GthInput*);
156 GtWord gth_input_determine_genomic_file_index(const GthInput*,
157 const char *filename);
158 GtWord gth_input_determine_reference_file_index(const GthInput*,
159 const char *filename);
160 int gth_input_set_and_check_substring_spec(GthInput*, GtError*);
161 bool gth_input_use_substring_spec(const GthInput*);
162 GtUword gth_input_genomic_substring_from(const GthInput*);
163 GtUword gth_input_genomic_substring_to(const GthInput*);
164 /* for option parsing */
165 GtUword* gth_input_genomicfrompos_ptr(GthInput*);
166 /* for option parsing */
167 GtUword* gth_input_genomicwidth_ptr(GthInput*);
168 /* for option parsing */
169 GtUword* gth_input_genomictopos_ptr(GthInput*);
170
171 int gth_input_make_indices(GthInput*, const char *progname,
172 GtError*);
173
174 /* The following function frees the current genomic and reference virtual tree
175 of the Gthinptinfo structure, but not the BSSM paramter file. */
176 void gth_input_delete_current(GthInput*);
177
178 /* The following function frees the current genomic and reference virtual tree
179 of the GthInput structure and the BSSM paramter file. */
180 void gth_input_delete_complete(GthInput*);
181
182 /* deprecated interfaces */
183 GthSeqCon* gth_input_current_gen_seq_con(GthInput*);
184 GthSeqCon* gth_input_current_ref_seq_con(GthInput*);
185 const unsigned char* gth_input_current_gen_seq_tran(const GthInput*);
186 const unsigned char* gth_input_current_gen_seq_tran_rc(const GthInput*);
187 const unsigned char* gth_input_current_gen_seq_orig(const GthInput*);
188 const unsigned char* gth_input_current_gen_seq_orig_rc(const GthInput*);
189 const unsigned char* gth_input_current_ref_seq_tran(const GthInput*);
190 const unsigned char* gth_input_current_ref_seq_tran_rc(const GthInput*);
191 const unsigned char* gth_input_current_ref_seq_orig(const GthInput*);
192 const unsigned char* gth_input_current_ref_seq_orig_rc(const GthInput*);
193 GtAlphabet* gth_input_current_gen_alphabet(GthInput*);
194 GtAlphabet* gth_input_current_ref_alphabet(GthInput*);
195
196 #endif
+0
-681
src/gth/intermediate.c less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <expat.h>
18 #include "core/compat.h"
19 #include "core/fa.h"
20 #include "core/unused_api.h"
21 #include "gth/intermediate.h"
22
23 #define SPLICEDALIGNMENT_TAG "spliced_alignment"
24 #define REFERENCEALPHATYPE_TAG "referencealphatype"
25 #define DNA_EOP_TYPE_TAG "DNA_eop_type"
26 #define DNA_EOP_LENGTH_TAG "DNA_eop_length"
27 #define PROTEIN_EOP_TYPE_TAG "Protein_eop_type"
28 #define PROTEIN_EOP_LENGTH_TAG "Protein_eop_length"
29 #define INDELCOUNT_TAG "indelcount"
30 #define GENOMICLENGTHDP_TAG "genomiclengthDP"
31 #define GENOMICLENGTHTOTAL_TAG "genomiclengthtotal"
32 #define GENOMICOFFSET_TAG "genomicoffset"
33 #define REFERENCELENGTH_TAG "referencelength"
34 #define DPSTARTPOS_TAG "dpstartpos"
35 #define DPENDPOS_TAG "dpendpos"
36 #define GENOMICFILENAME_TAG "genomicfilename"
37 #define GENOMICFILEHASH_TAG "genomicfilehash"
38 #define GENOMICSEQNUM_TAG "genomicseqnum"
39 #define REFERENCEFILENAME_TAG "referencefilename"
40 #define REFERENCEFILEHASH_TAG "referencefilehash"
41 #define REFERENCESEQNUM_TAG "referenceseqnum"
42 #define GENOMICID_TAG "genomicid"
43 #define REFERENCEID_TAG "referenceid"
44 #define GENOMICSTRANDISFORWARD_TAG "genomicstrandisforward"
45 #define REFERENCESTRANDISFORWARD_TAG "referencestrandisforward"
46 #define CUTOFFSSTART_TAG "cutoffsstart"
47 #define CUTOFFSEND_TAG "cutoffsend"
48 #define GENOMICCUTOFF_TAG "genomiccutoff"
49 #define REFERENCECUTOFF_TAG "referencecutoff"
50 #define EOPCUTOFF_TAG "eopcutoff"
51 #define LEFTGENOMICEXONBORDER_TAG "leftgenomicexonborder"
52 #define RIGHTGENOMICEXONBORDER_TAG "rightgenomicexonborder"
53 #define LEFTREFERENCEEXONBORDER_TAG "leftreferenceexonborder"
54 #define RIGHTREFERENCEEXONBORDER_TAG "rightreferenceexonborder"
55 #define EXONSCORE_TAG "exonscore"
56 #define EXONINFO_TAG "exoninfo"
57 #define DONORSITEPROBABILITY_TAG "donorsiteprobability"
58 #define ACCEPTORSITEPROBABILITY_TAG "acceptorsiteprobability"
59 #define DONORSITESCORE_TAG "donorsitescore"
60 #define ACCEPTORSITESCORE_TAG "acceptorsitescore"
61 #define INTRONINFO_TAG "introninfo"
62 #define POLYASTART_TAG "polyAstart"
63 #define POLYAEND_TAG "polyAstop"
64 #define ALIGNMENTSCORE_TAG "alignmentscore"
65 #define COVERAGE_TAG "coverage"
66 #define COVERAGEOFGENOMICSEGMENTISHIGHEST_TAG\
67 "coverageofgenomicsegmentishighest"
68 #define CUMULATIVELENGTHOFSCOREDEXONS_TAG\
69 "cumulativelengthofscoredexons"
70
71 #define ILLEGAL_DATA\
72 fprintf(stderr, "illegal data in line "GT_WU" of file \"%s\"\n",\
73 parseinfo->linenumber , parseinfo->outputfilename);\
74 exit(EXIT_FAILURE)
75
76 #define SCANUINT\
77 if (sscanf(data, ""GT_WD"", &ret) != 1 || ret < 0)\
78 {\
79 ILLEGAL_DATA;\
80 }
81
82 #define SCANDOUBLE\
83 if (sscanf(data, "%lf", &retdouble) != 1)\
84 {\
85 ILLEGAL_DATA;\
86 }
87
88 typedef struct {
89 GthSA *currentSA;
90 GtStr *databuf,
91 *genomicfilename,
92 *referencefilename;
93 GtUword linenumber;
94 const char *outputfilename;
95 Eoptype eoptype;
96 bool proteineop;
97 Cutoffs cutoffs;
98 Exoninfo exoninfo;
99 Introninfo introninfo;
100 GthInput *input;
101 GthSAProcessFunc saprocessfunc;
102 void *data;
103 GtError *err;
104 } Parseinfo;
105
106 typedef struct {
107 GthSACollection *sa_collection;
108 GthSAFilter *sa_filter;
109 GthStat *stat;
110 } SACollectionData;
111
112 static int store_in_sa_collection(void *data, GthSA *sa,
113 GT_UNUSED const char *outputfilename,
114 GT_UNUSED GtError *err)
115 {
116 SACollectionData *sa_collection_data = (SACollectionData*) data;
117 bool inserted;
118 inserted = gth_sa_collection_insert_sa(sa_collection_data->sa_collection, sa,
119 sa_collection_data->sa_filter,
120 sa_collection_data->stat);
121 if (!inserted) { /* unsuccessful insertion; discard sa */
122 gth_sa_delete(sa);
123 }
124 return 0;
125 }
126
127 static bool parse_boolean(const char *data, Parseinfo *parseinfo)
128 {
129 if (strcmp(data, "True") == 0)
130 return true;
131 else if (strcmp(data, "False") == 0)
132 return false;
133 ILLEGAL_DATA;
134 }
135
136 /*
137 The following function handles the start elements of the intermediate output.
138 */
139
140 static void start_element_handler(void *data, const XML_Char *name,
141 GT_UNUSED const XML_Char **attributes)
142 {
143 Parseinfo *parseinfo = (Parseinfo*) data;
144
145 /* reset data buffer */
146 gt_str_reset(parseinfo->databuf);
147
148 /* perform actions depending on start tag */
149 if (strcmp(name, SPLICEDALIGNMENT_TAG) == 0) {
150 gt_assert(!parseinfo->currentSA);
151 parseinfo->currentSA = gth_sa_new();
152 }
153 }
154
155 /* XXX: implement this function */
156 static bool hashes_are_the_same(char *filehash, GT_UNUSED FILE *fp)
157 {
158 if (!strcmp(filehash, GTH_UNDEFINED_HASH))
159 return true;
160 return false;
161 }
162
163 /* The following function processes a file. That is, it checkes if the file with
164 name <filename> is already contained in the array <files>. If so, the index
165 refering to this array is returned. Otherwise, the hash of the file content
166 is compared with the hash <filehash>. If the hashes are the same, the
167 filename is added to the array and the index is returned. Otherwise, the
168 function calls exit(). */
169 static GtUword process_file(GthInput *input, char *filename,
170 char *filehash, bool isreferencefile,
171 GthAlphatype alphatype)
172 {
173 GtWord fileindex;
174 FILE *fp;
175
176 if (isreferencefile)
177 fileindex = gth_input_determine_reference_file_index(input, filename);
178 else
179 fileindex = gth_input_determine_genomic_file_index(input, filename);
180
181 if (fileindex == -1) {
182 /* file is not contained in array yet -> open file */
183 fp = gt_fa_xfopen(filename, "r");
184
185 /* check the hash */
186 if (!hashes_are_the_same(filehash, fp)) {
187 fprintf(stderr, "apparently file \"%s\" has changed\n", filename);
188 exit(EXIT_FAILURE);
189 }
190
191 /* hashes equal -> store new file in array and return index number */
192 gt_fa_xfclose(fp);
193 if (isreferencefile) {
194 gth_input_add_reference_file(input, filename, alphatype);
195 fileindex = gth_input_num_of_ref_files(input) - 1;
196 }
197 else {
198 gth_input_add_genomic_file(input, filename);
199 fileindex = gth_input_num_of_gen_files(input) - 1;
200 }
201 return fileindex;
202 }
203
204 /* file is already contained in array -> return index number */
205 return fileindex;
206 }
207
208 /*
209 The following function handles the end elements of the intermediate output.
210 */
211
212 static void end_element_handler(void *info, const XML_Char *name)
213 {
214 Parseinfo *parseinfo = (Parseinfo*) info;
215 GthSA *sa = parseinfo->currentSA;
216 GtUword datalength;
217 double retdouble;
218 GtWord ret;
219 char *data;
220
221 /* save data and data length */
222 data = gt_str_get(parseinfo->databuf);
223 datalength = gt_str_length(parseinfo->databuf);
224
225 /* perform actions depending on end tag */
226 if (strcmp(name, SPLICEDALIGNMENT_TAG) == 0) {
227 /* before we store the spliced alignment we have to reverse its edit
228 operations */
229 gt_assert(sa && gth_sa_backtrace_path(sa));
230 gth_backtrace_path_reverse(gth_sa_backtrace_path(sa));
231
232 /* ensure that before an intron which is not in phase the edit operation
233 has length 1 (only for protein spliced alignments) */
234 gth_backtrace_path_ensure_length_1_before_introns(
235 gth_sa_backtrace_path(sa));
236
237 if (parseinfo->saprocessfunc(parseinfo->data , sa,
238 parseinfo->outputfilename, parseinfo->err)) {
239 /* XXX */
240 fprintf(stderr, "error: %s\n", gt_error_get(parseinfo->err));
241 exit(EXIT_FAILURE);
242 }
243 /* reset current spliced alignment */
244 parseinfo->currentSA = NULL;
245 }
246 else if (strcmp(name, REFERENCEALPHATYPE_TAG) == 0) {
247 if (strcmp(data, "DNA_ALPHA") == 0)
248 gth_sa_set_alphatype(sa, DNA_ALPHA);
249 else if (strcmp(data, "PROTEIN_ALPHA") == 0) {
250 gth_sa_set_alphatype(sa, PROTEIN_ALPHA);
251 }
252 else {
253 ILLEGAL_DATA;
254 }
255 }
256 else if (strcmp(name, DNA_EOP_TYPE_TAG) == 0) {
257 if (strcmp(data, "match") == 0)
258 parseinfo->eoptype = EOP_TYPE_MATCH;
259 else if (strcmp(data, "deletion") == 0)
260 parseinfo->eoptype = EOP_TYPE_DELETION;
261 else if (strcmp(data, "insertion") == 0)
262 parseinfo->eoptype = EOP_TYPE_INSERTION;
263 else if (strcmp(data, "mismatch") == 0)
264 parseinfo->eoptype = EOP_TYPE_MISMATCH;
265 else if (strcmp(data, "intron") == 0)
266 parseinfo->eoptype = EOP_TYPE_INTRON;
267 else {
268 ILLEGAL_DATA;
269 }
270 }
271 else if (strcmp(name, DNA_EOP_LENGTH_TAG) == 0) {
272 SCANUINT;
273 gth_backtrace_path_add_eop(gth_sa_backtrace_path(sa), parseinfo->eoptype,
274 ret);
275 }
276 else if (strcmp(name, PROTEIN_EOP_TYPE_TAG) == 0) {
277 if (strcmp(data, "match") == 0)
278 parseinfo->eoptype = EOP_TYPE_MATCH;
279 else if (strcmp(data, "deletion") == 0)
280 parseinfo->eoptype = EOP_TYPE_DELETION;
281 else if (strcmp(data, "insertion") == 0)
282 parseinfo->eoptype = EOP_TYPE_INSERTION;
283 else if (strcmp(data, "mismatch") == 0)
284 parseinfo->eoptype = EOP_TYPE_MISMATCH;
285 else if (strcmp(data, "intron") == 0)
286 parseinfo->eoptype = EOP_TYPE_INTRON;
287 else if (strcmp(data, "mismatch_with_1_gap") == 0)
288 parseinfo->eoptype = EOP_TYPE_MISMATCH_WITH_1_GAP;
289 else if (strcmp(data, "mismatch_with_2_gaps") == 0)
290 parseinfo->eoptype = EOP_TYPE_MISMATCH_WITH_2_GAPS;
291 else if (strcmp(data, "deletion_with_1_gap") == 0)
292 parseinfo->eoptype = EOP_TYPE_DELETION_WITH_1_GAP;
293 else if (strcmp(data, "deletion_with_2_gaps") == 0)
294 parseinfo->eoptype = EOP_TYPE_DELETION_WITH_2_GAPS;
295 else if (strcmp(data, "intron_with_1_base_left") == 0)
296 parseinfo->eoptype = EOP_TYPE_INTRON_WITH_1_BASE_LEFT;
297 else if (strcmp(data, "intron_with_2_bases_left") == 0)
298 parseinfo->eoptype = EOP_TYPE_INTRON_WITH_2_BASES_LEFT;
299 else {
300 ILLEGAL_DATA;
301 }
302 }
303 else if (strcmp(name, PROTEIN_EOP_LENGTH_TAG) == 0) {
304 SCANUINT;
305 gth_backtrace_path_add_eop(gth_sa_backtrace_path(sa), parseinfo->eoptype,
306 ret);
307 }
308 else if (strcmp(name, INDELCOUNT_TAG) == 0) {
309 SCANUINT;
310 /* ignore indelcount, gets recomputed anyway */
311 }
312 else if (strcmp(name, GENOMICLENGTHDP_TAG) == 0) {
313 SCANUINT;
314 gth_sa_set_gen_dp_length(sa, ret);
315 }
316 else if (strcmp(name, GENOMICLENGTHTOTAL_TAG) == 0) {
317 SCANUINT;
318 gth_sa_set_gen_total_length(sa, ret);
319 }
320 else if (strcmp(name, GENOMICOFFSET_TAG) == 0) {
321 SCANUINT;
322 gth_sa_set_gen_offset(sa, ret);
323 }
324 else if (strcmp(name, REFERENCELENGTH_TAG) == 0) {
325 SCANUINT;
326 gth_sa_set_ref_total_length(sa, ret);
327 }
328 else if (strcmp(name, DPSTARTPOS_TAG) == 0) {
329 SCANUINT;
330 gth_sa_set_gen_dp_start(sa, ret);
331 }
332 else if (strcmp(name, DPENDPOS_TAG) == 0) {
333 SCANUINT;
334 /* ignore DP end pos, gets recomputed from gen_dp_length anyway */
335 gt_assert(gth_sa_gen_dp_end(sa) == ret);
336 }
337 else if (strcmp(name, GENOMICFILENAME_TAG) == 0) {
338 /* save genomic file name */
339 gt_str_append_cstr_nt(parseinfo->genomicfilename, data, datalength);
340 }
341 else if (strcmp(name, GENOMICFILEHASH_TAG) == 0) {
342 gth_sa_set_gen_file_num(sa, process_file(parseinfo->input,
343 gt_str_get(parseinfo->genomicfilename), data, false,
344 UNDEF_ALPHA));
345 /* reset genomic filename */
346 gt_str_reset(parseinfo->genomicfilename);
347 }
348 else if (strcmp(name, GENOMICSEQNUM_TAG) == 0) {
349 SCANUINT;
350 gth_sa_set_gen_seq_num(sa, ret);
351 }
352 else if (strcmp(name, REFERENCEFILENAME_TAG) == 0) {
353 /* save reference file name */
354 gt_str_append_cstr_nt(parseinfo->referencefilename, data, datalength);
355 }
356 else if (strcmp(name, REFERENCEFILEHASH_TAG) == 0) {
357 gth_sa_set_ref_file_num(sa, process_file(parseinfo->input,
358 gt_str_get(parseinfo->referencefilename),
359 data, true,
360 gth_sa_alphatype(sa)));
361
362 /* reset reference filename */
363 gt_str_reset(parseinfo->referencefilename);
364 }
365 else if (strcmp(name, REFERENCESEQNUM_TAG) == 0) {
366 SCANUINT;
367 gth_sa_set_ref_seq_num(sa, ret);
368 }
369 else if (strcmp(name, GENOMICID_TAG) == 0)
370 gth_sa_set_gen_id(sa, data);
371 else if (strcmp(name, REFERENCEID_TAG) == 0)
372 gth_sa_set_ref_id(sa, data);
373 else if (strcmp(name, GENOMICSTRANDISFORWARD_TAG) == 0)
374 gth_sa_set_gen_strand(sa, parse_boolean(data, parseinfo));
375 else if (strcmp(name, REFERENCESTRANDISFORWARD_TAG) == 0)
376 gth_sa_set_ref_strand(sa, parse_boolean(data, parseinfo));
377 else if (strcmp(name, GENOMICCUTOFF_TAG) == 0) {
378 SCANUINT;
379 parseinfo->cutoffs.genomiccutoff = ret;
380 }
381 else if (strcmp(name, REFERENCECUTOFF_TAG) == 0) {
382 SCANUINT;
383 parseinfo->cutoffs.referencecutoff = ret;
384 }
385 else if (strcmp(name, EOPCUTOFF_TAG) == 0) {
386 SCANUINT;
387 parseinfo->cutoffs.eopcutoff = ret;
388 }
389 else if (strcmp(name, CUTOFFSSTART_TAG) == 0)
390 gth_sa_set_cutoffs_start(sa, &parseinfo->cutoffs);
391 else if (strcmp(name, CUTOFFSEND_TAG) == 0)
392 gth_sa_set_cutoffs_end(sa, &parseinfo->cutoffs);
393 else if (strcmp(name, LEFTGENOMICEXONBORDER_TAG) == 0) {
394 SCANUINT;
395 parseinfo->exoninfo.leftgenomicexonborder = ret;
396 }
397 else if (strcmp(name, RIGHTGENOMICEXONBORDER_TAG) == 0) {
398 SCANUINT;
399 parseinfo->exoninfo.rightgenomicexonborder = ret;
400 }
401 else if (strcmp(name, LEFTREFERENCEEXONBORDER_TAG) == 0) {
402 SCANUINT;
403 parseinfo->exoninfo.leftreferenceexonborder = ret;
404 }
405 else if (strcmp(name, RIGHTREFERENCEEXONBORDER_TAG) == 0) {
406 SCANUINT;
407 parseinfo->exoninfo.rightreferenceexonborder = ret;
408 }
409 else if (strcmp(name, EXONSCORE_TAG) == 0) {
410 SCANDOUBLE;
411 parseinfo->exoninfo.exonscore = retdouble;
412 }
413 else if (strcmp(name, EXONINFO_TAG) == 0)
414 gth_sa_add_exon(sa, &parseinfo->exoninfo);
415 else if (strcmp(name, DONORSITEPROBABILITY_TAG) == 0) {
416 SCANDOUBLE;
417 parseinfo->introninfo.donorsiteprobability = (GthFlt) retdouble;
418 }
419 else if (strcmp(name, ACCEPTORSITEPROBABILITY_TAG) == 0) {
420 SCANDOUBLE;
421 parseinfo->introninfo.acceptorsiteprobability = (GthFlt) retdouble;
422 }
423 else if (strcmp(name, DONORSITESCORE_TAG) == 0) {
424 SCANDOUBLE;
425 parseinfo->introninfo.donorsitescore = retdouble;
426 }
427 else if (strcmp(name, ACCEPTORSITESCORE_TAG) == 0) {
428 SCANDOUBLE;
429 parseinfo->introninfo.acceptorsitescore = retdouble;
430 }
431 else if (strcmp(name, INTRONINFO_TAG) == 0)
432 gth_sa_add_intron(sa, &parseinfo->introninfo);
433 else if (strcmp(name, POLYASTART_TAG) == 0) {
434 SCANUINT;
435 gth_sa_set_polyAtail_start(sa, ret);
436 }
437 else if (strcmp(name, POLYAEND_TAG) == 0) {
438 SCANUINT;
439 gth_sa_set_polyAtail_stop(sa, ret);
440 }
441 else if (strcmp(name, ALIGNMENTSCORE_TAG) == 0) {
442 SCANDOUBLE;
443 gth_sa_set_score(sa, retdouble);
444 }
445 else if (strcmp(name, COVERAGE_TAG) == 0) {
446 SCANDOUBLE;
447 gth_sa_set_coverage(sa, retdouble);
448 }
449 else if (strcmp(name, COVERAGEOFGENOMICSEGMENTISHIGHEST_TAG) == 0) {
450 gth_sa_set_highest_cov(sa, parse_boolean(data, parseinfo));
451 }
452 else if (strcmp(name, CUMULATIVELENGTHOFSCOREDEXONS_TAG) == 0) {
453 SCANUINT;
454 gth_sa_set_cumlen_scored_exons(sa, ret);
455 }
456 }
457
458 /*
459 The following function handles the end charachter data of the intermediate
460 output.
461 */
462
463 static void character_data_handler(void *data, const XML_Char *string, int len)
464 {
465 Parseinfo *parseinfo = (Parseinfo*) data;
466 /* add data to the data buffer */
467 gt_str_append_cstr_nt(parseinfo->databuf, string, len);
468 }
469
470 int gt_parse_intermediate_output(GthInput *input,
471 GthSAProcessFunc saprocessfunc, void *data,
472 const char *outputfilename,
473 GtFile *intermediate_fp, GtError *err)
474 {
475 GtStr *line;
476 XML_Parser parser;
477 enum XML_Error error;
478 Parseinfo parseinfo;
479 int had_err = 0;
480
481 gt_error_check(err);
482
483 /* init */
484 line = gt_str_new();
485
486 /* create parser */
487 parser = XML_ParserCreate(NULL);
488
489 /* init parse info structure */
490 parseinfo.currentSA = NULL;
491 parseinfo.databuf = gt_str_new();
492 parseinfo.genomicfilename = gt_str_new();
493 parseinfo.referencefilename = gt_str_new();
494 parseinfo.linenumber = 0;
495 parseinfo.outputfilename = outputfilename;
496 parseinfo.input = input;
497 parseinfo.saprocessfunc = saprocessfunc;
498 parseinfo.data = data;
499 parseinfo.err = err;
500
501 /* set element handler */
502 XML_SetElementHandler(parser, start_element_handler, end_element_handler);
503
504 /* set character data handler */
505 XML_SetCharacterDataHandler(parser, character_data_handler);
506
507 /* register the parse info structure */
508 XML_SetUserData(parser, &parseinfo);
509
510 /* parse the intermediate output line by line */
511 while (gt_str_read_next_line_generic(line, intermediate_fp) != EOF) {
512 parseinfo.linenumber++;
513
514 if (XML_Parse(parser, gt_str_get(line), gt_str_length(line), false) ==
515 XML_STATUS_ERROR) {
516 error = XML_GetErrorCode(parser);
517 gt_error_set(err, "an error occurred parsing line "GT_WU
518 " of file \"%s\": %s",
519 parseinfo.linenumber, outputfilename,
520 XML_ErrorString(error));
521 had_err = -1;
522 }
523
524 /* reset line buffer */
525 gt_str_reset(line);
526 }
527
528 if (!had_err) {
529 /* finish parsing */
530 if (XML_Parse(parser, NULL, 0, true) == XML_STATUS_ERROR) {
531 error = XML_GetErrorCode(parser);
532 gt_error_set(err, "an error occurred while finishing the parsing of file "
533 "\"%s\": %s", outputfilename, XML_ErrorString(error));
534 had_err = -1;
535 }
536 }
537
538 /* free space */
539 XML_ParserFree(parser);
540 gt_str_delete(line);
541 gt_str_delete(parseinfo.databuf);
542 gt_str_delete(parseinfo.genomicfilename);
543 gt_str_delete(parseinfo.referencefilename);
544
545 return had_err;
546 }
547
548 bool gth_intermediate_output_is_correct(char *outputfilename,
549 GthSACollection *orig_sa_collection,
550 GthInput *input,
551 GtFile **outfp, GtError *err)
552 {
553 SACollectionData sa_collection_data;
554 GthSACollection *read_sa_collection;
555 GtFileMode file_mode;
556 bool rval;
557 #ifndef NDEBUG
558 GtUword numofgenomicfiles, numofreferencefiles;
559 #endif
560
561 gt_error_check(err);
562 gt_assert(outputfilename);
563 gt_assert(*outfp);
564 #ifndef NDEBUG
565 numofgenomicfiles = gth_input_num_of_gen_files(input);
566 numofreferencefiles = gth_input_num_of_ref_files(input);
567 #endif
568
569 /* init */
570 read_sa_collection = gth_sa_collection_new(GTH_DC_NONE);
571 sa_collection_data.sa_collection = read_sa_collection;
572 sa_collection_data.sa_filter = NULL;
573 sa_collection_data.stat = NULL;
574
575 /* store file mode */
576 file_mode = gt_file_mode(*outfp);
577
578 /* close output file */
579 gt_file_delete(*outfp);
580
581 /* open intermediate file again for reading */
582 *outfp = gt_file_xopen_file_mode(file_mode, outputfilename, "r");
583 gt_assert(*outfp);
584
585 /* read in the intermediate output */
586 if (gt_parse_intermediate_output(input, store_in_sa_collection,
587 &sa_collection_data, outputfilename, *outfp,
588 err)) {
589 fprintf(stderr, "error: %s\n", gt_error_get(err));
590 exit(EXIT_FAILURE);
591 }
592
593 /* array of genomic files did not grow */
594 gt_assert(numofgenomicfiles == gth_input_num_of_gen_files(input));
595 /* array of reference files did not grow */
596 gt_assert(numofreferencefiles == gth_input_num_of_ref_files(input));
597
598 /* compare the trees */
599 rval = gth_sa_collections_are_equal(orig_sa_collection, read_sa_collection);
600
601 /* free */
602 gth_sa_collection_delete(read_sa_collection);
603
604 return rval;
605 }
606
607 static void show_parse_file_status(GthShowVerbose showverbose,
608 GtUword filenum,
609 GtUword numoffiles,
610 const char *filename)
611 {
612 GtStr *buf = gt_str_new();
613 gt_str_append_cstr(buf, "process file ");
614 gt_str_append_uword(buf, filenum + 1);
615 gt_str_append_char(buf, GT_PATH_SEPARATOR);
616 gt_str_append_uword(buf, numoffiles);
617 gt_str_append_cstr(buf, ": ");
618 gt_str_append_cstr(buf, filename);
619 showverbose(gt_str_get(buf));
620 gt_str_delete(buf);
621 }
622
623 /* The following function processes a set of consensus files. If no consensus
624 file is given, stdin is used as input. */
625
626 int gth_process_intermediate_files(GthInput *input, GtStrArray *consensusfiles,
627 GthSAProcessFunc saprocessfunc, void *data,
628 GthShowVerbose showverbose, GtError *err)
629 {
630 GtUword i;
631 GtFile *fp, *genfile;
632 int had_err = 0;
633
634 gt_error_check(err);
635
636 /* process all files */
637 if (gt_str_array_size(consensusfiles)) {
638 for (i = 0; !had_err && i < gt_str_array_size(consensusfiles); i++) {
639 /* open file */
640 fp = gt_file_xopen(gt_str_array_get(consensusfiles, i), "r");
641
642 if (showverbose) {
643 show_parse_file_status(showverbose, i,
644 gt_str_array_size(consensusfiles),
645 gt_str_array_get(consensusfiles, i));
646 }
647
648 had_err = gt_parse_intermediate_output(input, saprocessfunc, data,
649 gt_str_array_get(consensusfiles, i),
650 fp, err);
651
652 /* close file */
653 gt_file_delete(fp);
654 }
655 }
656 else {
657 genfile = gt_file_new_from_fileptr(stdin);
658 had_err = gt_parse_intermediate_output(input, saprocessfunc, data, "stdin",
659 genfile, err);
660 gt_file_delete_without_handle(genfile);
661 }
662
663 return had_err;
664 }
665
666 int gth_build_sa_collection(GthSACollection *sa_collection, GthInput *input,
667 GtStrArray *consensusfiles, GthSAFilter *sa_filter,
668 GthStat *stat, GthShowVerbose showverbose,
669 GtError *err)
670 {
671 SACollectionData sa_collection_data;
672 gt_error_check(err);
673 sa_collection_data.sa_collection = sa_collection;
674 sa_collection_data.sa_filter = sa_filter;
675 sa_collection_data.stat = stat;
676
677 return gth_process_intermediate_files(input, consensusfiles,
678 store_in_sa_collection,
679 &sa_collection_data, showverbose, err);
680 }
+0
-43
src/gth/intermediate.h less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef INTERMEDIATE_H
18 #define INTERMEDIATE_H
19
20 #include "gth/sa_filter.h"
21 #include "gth/sa_collection.h"
22
23 /* XXX: impelement hashing method */
24 #define GTH_UNDEFINED_HASH "undefined"
25
26 typedef int (*GthSAProcessFunc)(void *data, GthSA*,
27 const char *outputfilename, GtError*);
28
29 bool gth_intermediate_output_is_correct(char *outputfilename,
30 GthSACollection *orig_sacollection,
31 GthInput*, GtFile **outfp, GtError*);
32 int gth_process_intermediate_files(GthInput*, GtStrArray *consensusfiles,
33 GthSAProcessFunc, void *data,
34 GthShowVerbose, GtError*);
35
36 /* The following function builds a tree of alignments from a set of consensus
37 files. If no consensus file is given, stdin is used as input. */
38 int gth_build_sa_collection(GthSACollection*, GthInput*,
39 GtStrArray *consensusfiles, GthSAFilter*, GthStat*,
40 GthShowVerbose, GtError*);
41
42 #endif
+0
-41
src/gth/jump_table.h less more
0 /*
1 Copyright (c) 2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef JUMP_TABLE_H
17 #define JUMP_TABLE_H
18
19 #include "core/range_api.h"
20 #include "extended/globalchaining.h"
21
22 typedef struct {
23 GtRange gen_range,
24 ref_range;
25 } GthJTMatch;
26
27 typedef struct GthJumpTable GthJumpTable;
28
29 /* Create jump table for the chain of <num_of_matches> many <matches>. */
30 typedef GthJumpTable* (*GthJumpTableNew)(GthJTMatch *matches,
31 GtUword num_of_matches,
32 bool debug);
33 typedef GthJumpTable* (*GthJumpTableNewReverse)(const GthJumpTable*,
34 GtUword gen_total_length,
35 GtUword gen_offset,
36 GtUword ref_total_length,
37 GtUword ref_offset);
38 typedef void (*GthJumpTableDelete)(GthJumpTable*);
39
40 #endif
+0
-49
src/gth/matcher.h less more
0 /*
1 Copyright (c) 2009 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef MATCHER_H
17 #define MATCHER_H
18
19 #include "gth/input.h"
20
21 typedef void* (*GthMatcherArgumentsNew)(bool checksubstrspec,
22 GthInput *input,
23 const char *queryfilename,
24 const char *indexfilename,
25 bool directmatches,
26 bool refseqisdna,
27 const char *progname,
28 char *proteinsmap,
29 bool exact,
30 bool edist,
31 bool hamming,
32 GtUword hammingdistance,
33 GtUword minmatchlength,
34 GtUword seedlength,
35 GtUword exdrop,
36 GtUword prminmatchlen,
37 GtUword prseedlength,
38 GtUword prhdist,
39 GtUword translationtable,
40 bool online,
41 bool noautoindex,
42 bool usepolyasuffix,
43 bool dbmaskmatch);
44 typedef void (*GthMatcherArgumentsDelete)(void *matcher_arguments);
45 typedef void (*GthMatcherRunner)(void *matcher_arguments, GthShowVerbose,
46 GthShowVerboseVM, void *match_processor_data);
47
48 #endif
+0
-82
src/gth/md5_cache.c less more
0 /*
1 Copyright (c) 2011-2012 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/ma_api.h"
17 #include "core/md5_tab.h"
18 #include "core/str_cache.h"
19 #include "gth/gthdef.h"
20 #include "gth/md5_cache.h"
21
22 struct GthMD5Cache {
23 GtMD5Tab *md5_tab;
24 GtStrCache *str_cache;
25 };
26
27 static const char* seq_con_get_seq(void *seqs, GtUword index)
28 {
29 GthSeqCon *seq_con = seqs;
30 const char *seq;
31 gt_assert(seq_con);
32 seq = (const char*) gth_seq_con_get_orig_seq(seq_con, index);
33 if (!seq) {
34 gth_seq_con_demand_orig_seq(seq_con);
35 seq = (const char*) gth_seq_con_get_orig_seq(seq_con, index);
36 gt_assert(seq);
37 }
38 return seq;
39 }
40
41 static GtUword seq_con_get_seq_len(void *seqs, GtUword index)
42 {
43 GthSeqCon *seq_con = seqs;
44 gt_assert(seq_con);
45 return gth_seq_con_get_length(seq_con, index);
46 }
47
48 static GtStr* get_md5_str(void *str_source, GtUword index)
49 {
50 const GtMD5Tab *md5_tab = str_source;
51 gt_assert(md5_tab);
52 return gt_str_new_cstr(gt_md5_tab_get(md5_tab, index));
53 }
54
55 GthMD5Cache* gth_md5_cache_new(const char *indexname, GthSeqCon *seq_con)
56 {
57 GthMD5Cache *md5_cache;
58 gt_assert(indexname && seq_con);
59 md5_cache = gt_malloc(sizeof *md5_cache);
60 md5_cache->md5_tab = gt_md5_tab_new(indexname, seq_con, seq_con_get_seq,
61 seq_con_get_seq_len,
62 gth_seq_con_num_of_seqs(seq_con), true,
63 !getenv(GTHNOFLOCKENVNAME));
64 md5_cache->str_cache = gt_str_cache_new(md5_cache->md5_tab, get_md5_str,
65 gt_md5_tab_size(md5_cache->md5_tab));
66 return md5_cache;
67 }
68
69 void gth_md5_cache_delete(GthMD5Cache *md5_cache)
70 {
71 if (!md5_cache) return;
72 gt_str_cache_delete(md5_cache->str_cache);
73 gt_md5_tab_delete(md5_cache->md5_tab);
74 gt_free(md5_cache);
75 }
76
77 GtStr* gth_md5_cache_get(GthMD5Cache *md5_cache, GtUword seq_num)
78 {
79 gt_assert(md5_cache);
80 return gt_str_cache_get(md5_cache->str_cache, seq_num);
81 }
+0
-28
src/gth/md5_cache.h less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef MD5_CACHE_H
17 #define MD5_CACHE_H
18
19 #include "gth/seq_con.h"
20
21 typedef struct GthMD5Cache GthMD5Cache;
22
23 GthMD5Cache* gth_md5_cache_new(const char *indexname, GthSeqCon *seq_con);
24 void gth_md5_cache_delete(GthMD5Cache *md5_cache);
25 GtStr* gth_md5_cache_get(GthMD5Cache *md5_cache, GtUword seq_num);
26
27 #endif
+0
-1624
src/gth/parse_options.c less more
0 /*
1 Copyright (c) 2003-2012, 2014 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/output_file_api.h"
18 #include "core/undef_api.h"
19 #include "gth/default.h"
20 #include "gth/gthdef.h"
21 #include "gth/gthspeciestab.h"
22 #include "gth/parse_options.h"
23
24 #define SHOWINTRONMAXLEN_OPT_CSTR "showintronmaxlen"
25 #define TOPOS_OPT_CSTR "topos"
26 #define WIDTH_OPT_CSTR "width"
27 #define ICINITIALDELTA_OPT_CSTR "icinitialdelta"
28 #define DPMININTRONLENGTH_OPT_CSTR "dpminintronlen"
29 #define MINMATCHLEN_OPT_CSTR "minmatchlen"
30 #define SEEDLENGTH_OPT_CSTR "seedlength"
31 #define PRMINMATCHLEN_OPT_CSTR "prminmatchlen"
32 #define PRSEEDLENGTH_OPT_CSTR "prseedlength"
33 #define PROTEINSMAP_OPT_CSTR "proteinsmap"
34
35 #define VM_MAXNUMBEROFFILES 256
36
37 /* The following function determines the species number for a given
38 species name. If the species name does not occur in the table, then an
39 errror is returned. */
40 static int findspeciesnum(char *specname, GtError *err)
41 {
42 unsigned int i;
43 gt_error_check(err);
44 for (i = 0; i < NUMOFSPECIES; i++) {
45 if (!strcmp(speciestab[i],specname))
46 return i;
47 }
48 gt_error_set(err, "illegal speciesname \"%s\"", specname);
49 return -1;
50 }
51
52 static const char *cutoff_modes[] = { "RELAXED", "STRICT", "MINIMAL" };
53
54 static const char *duplicate_check_modes[] = { "none", "id", "desc", "seq",
55 "both" };
56
57 static int get_cutoffs_mode_from_table(char *searchstring)
58 {
59 unsigned int i;
60 for (i = 0; i < NUMOFCUTOFFMODES; i++) {
61 if (!strcmp(searchstring, cutoff_modes[i]))
62 return i;
63 }
64 gt_assert(0); /* cannot happen */
65 return NUMOFCUTOFFMODES; /* shut up compiler */
66 }
67
68 static int get_duplicate_check_mode_from_table(char *searchstring)
69 {
70 unsigned int i;
71 for (i = 0; i < GTH_NUM_OF_DC_MODES; i++) {
72 if (!strcmp(searchstring, duplicate_check_modes[i]))
73 return i;
74 }
75 gt_assert(0); /* cannot happen */
76 return GTH_NUM_OF_DC_MODES; /* shut up compiler */
77 }
78
79 static int show_gth_help_trailer(GT_UNUSED const char *progname,
80 GT_UNUSED void *data, GT_UNUSED GtError *err)
81 {
82 gt_error_check(err);
83 printf("\nFor detailed information, please refer to the manual of "
84 "GenomeThreader.");
85 return 0;
86 }
87
88 GtOPrval gth_parse_options(GthCallInfo *call_info, GthInput *input,
89 int *parsed_args, int argc, const char **argv,
90 bool gthconsensus_parsing,
91 GtStrArray *consensusfiles, GthStat *stat,
92 GthShowVerbose showverbose,
93 GthShowVerboseVM showverboseVM,
94 GtShowVersionFunc show_version,
95 GthJumpTableNew jump_table_new, GtError *err)
96 {
97 GtUword i;
98 int ret, mode;
99 double u12donorprob, u12donorprob1mism;
100 GtStrArray *genomic_files, *cdna_files, *protein_files;
101 GtStr *specbuf, *parsed_species, *chaining_param, *leadcutoffsmode,
102 *termcutoffsmode, *duplicatecheck;
103 bool forward = false, reverse = false, verbose, mincutoffs = false,
104 nou12intronmodel, exondistri, introndistri, refseqcovdistri = false,
105 cdnaforwardonly = false, matchnumdistri = false;
106 GtOptionParser *op;
107 GtOutputFileInfo *ofi;
108 GtOption *optgenomic = NULL, /* mandatory input */
109 *optcdna = NULL, /* mandatory input */
110 *optprotein = NULL, /* mandatory input */
111 *optspecies = NULL, /* BSSM parameter */
112 *optbssm = NULL, /* BSSM parameter */
113 *optscorematrix = NULL, /* score matrix */
114 *opttranslationtable = NULL, /* translationtable */
115 *optforward = NULL, /* strand direction */
116 *optreverse = NULL, /* strand direction */
117 *optcdnaforward = NULL, /* strand direction */
118 *optfrompos = NULL, /* genomic sequence positions */
119 *opttopos = NULL, /* genomic sequence positions */
120 *optwidth = NULL, /* genomic sequence positions */
121 *optverbose = NULL, /* output */
122 *optverboseseqs = NULL, /* output */
123 *optcomments = NULL, /* output */
124 *optxmlout = NULL, /* output */
125 *optgff3out = NULL, /* output */
126 *optgff3descranges = NULL, /* output */
127 *optmd5ids = NULL, /* output */
128 *optskipalignmentout = NULL, /* output */
129 *optmincutoffs = NULL, /* output */
130 *optshowintronmaxlen = NULL, /* output */
131 *optmaxagsnum = NULL, /* output */
132 *optminorflength = NULL, /* output */
133 *optstartcodon = NULL, /* output */
134 *optfinalstopcodon = NULL, /* output */
135 *optshowseqnums = NULL, /* output */
136 *optpglgentemplate = NULL, /* output */
137 *optgs2out = NULL, /* output */
138 *optmaskpolyatails = NULL, /* data preprocessing */
139 *optproteinsmap = NULL, /* data preprocessing */
140 *optnoautoindex = NULL, /* data preprocessing */
141 *optcreateindicesonly = NULL, /* data preprocessing */
142 *optskipindexcheck = NULL, /* data preprocessing */
143 *optminmatchlen = NULL, /* sim. filter, vmatch, dna matching
144 */
145 *optseedlength = NULL, /* sim. filter, vmatch, dna matching
146 */
147 *optexdrop = NULL, /* sim. filter, vmatch, dna matching
148 */
149 *optprminmatchlen = NULL, /* sim. filter, vmatch, pr. matching
150 */
151 *optprseedlength = NULL, /* sim. filter, vmatch, pr. matching
152 */
153 *optprhdist = NULL, /* sim. filter, vmatch, pr. matching
154 */
155 *optonline = NULL, /* sim. filter, vmatch */
156 *optinverse = NULL, /* sim. filter, vmatch */
157 *optexact = NULL, /* sim. filter, vmatch */
158 *optedist = NULL, /* sim. filter, vmatch */
159 *optmaxnumofmatches = NULL, /* sim. filter, vmatch */
160 *optfragweightfactor = NULL, /* sim. filter, before gl. chaining */
161 *optgcmaxgapwidth = NULL, /* sim. filter, global chaining */
162 *optrare = NULL, /* sim. filter, global chaining */
163 *optparalogs = NULL, /* sim. filter, global chaining */
164 *optenrichchains = NULL, /* sim. filter, global chaining */
165 *optgcmincoverage = NULL, /* sim. filter, gl. chaining filter */
166 *optstopafterchaining = NULL, /* sim. filter, gl. chaining filter */
167 *optintroncutout = NULL, /* sim. filter, after gl. chaining */
168 *optfastdp = NULL, /* sim. filter, after gl. chaining */
169 *optautointroncutout = NULL, /* sim. filter, after gl. chaining */
170 *opticinitialdelta = NULL, /* sim. filter, after gl. chaining */
171 *opticiterations = NULL, /* sim. filter, after gl. chaining */
172 *opticdeltaincrease = NULL, /* sim. filter, after gl. chaining */
173 *opticminremlength = NULL, /* sim. filter, after gl. chaining */
174 *optnou12intronmodel = NULL, /* U12-type intron model */
175 *optu12donorprob = NULL, /* U12-type intron model */
176 *optu12donorprob1mism = NULL, /* U12-type intron model */
177 *optprobies = NULL, /* basic DP algorithm */
178 *optprobdelgen = NULL, /* basic DP algorithm */
179 *optidentityweight = NULL, /* basic DP algorithm */
180 *optmismatchweight = NULL, /* basic DP algorithm */
181 *optundetcharweight = NULL, /* basic DP algorithm */
182 *optdeletionweight = NULL, /* basic DP algorithm */
183 *optfreeintrontrans = NULL, /* basic DP algorithm */
184 *optdpminexonlength = NULL, /* short exon/intron parameters */
185 *optdpminintronlength = NULL, /* short exon/intron parameters */
186 *optshortexonpenalty = NULL, /* short exon/intron parameters */
187 *optshortintronpenalty = NULL, /* short exon/intron parameters */
188 *optbtmatrixgenrange = NULL,
189 *optbtmatrixrefrange = NULL,
190 *optjtoverlap = NULL,
191 *optjtdebug = NULL,
192 *optwzerotransition = NULL, /* special parameters for DP
193 algorithm */
194 *optwdecreasedoutput = NULL, /* special parameters for DP
195 algorithm */
196 *optdetectsmallexons = NULL, /* DP (detect small exons) */
197 *optnoicinintroncheck = NULL, /* DP (intron cutout technique) */
198 *optproteinexonpenal = NULL, /* protein DP */
199 *optleadcutoffsmode = NULL, /* proc. of `raw' spliced
200 alignments */
201 *opttermcutoffsmode = NULL, /* proc. of `raw' spliced
202 alignments */
203 *optcutoffsminexonlength = NULL, /* proc. of `raw' spliced
204 alignments */
205 *optscoreminexonlength = NULL, /* proc. of `raw' spliced
206 alignments */
207 *optminaveragessp = NULL, /* advanced similarity filter */
208 *optduplicatecheck= NULL, /* advanced similarity filter */
209 *optintermediate = NULL, /* stop after SA computation */
210 *optsortags = NULL, /* postproc. of PGLs, sorting of
211 AGSs */
212 *optsortagswf = NULL, /* postproc. of PGLs, sorting of
213 AGSs */
214 *optdisableclustersas = NULL, /* consensus phase
215 (development option) */
216 *optcdnaforwardonly = NULL, /* similarity filter
217 (development option) */
218 *optexondistri = NULL, /* statistics */
219 *optintrondistri = NULL, /* statistics */
220 *optrefseqcovdistri = NULL, /* statistics */
221 *optmatchnumdistri = NULL, /* statistics */
222 *optfirstalshown = NULL, /* miscellaneous */
223 *optshoweops = NULL; /* testing */
224 GtOPrval oprval;
225
226 gt_error_check(err);
227 gt_assert(call_info && input);
228
229 /* init */
230 if (gthconsensus_parsing) {
231 op = gt_option_parser_new("[option ...] [file ...]", "Show GenomeThreader "
232 "output files containing intermediate results "
233 "and assemble\nthe contained spliced alignments "
234 "to consensus spliced alignments.");
235 }
236 else {
237 op = gt_option_parser_new("[option ...] -genomic file [...] -cdna file "
238 "[...] -protein file [...]",
239 "Compute similarity-based gene structure "
240 "predictions (spliced alignments)\n"
241 "using cDNA/EST and/or protein sequences and "
242 "assemble the resulting spliced\n"
243 "alignments to consensus spliced alignments.");
244 }
245
246 ofi = gt_output_file_info_new();
247 genomic_files = gt_str_array_new();
248 cdna_files = gt_str_array_new();
249 protein_files = gt_str_array_new();
250 chaining_param = gt_str_new();
251 leadcutoffsmode = gt_str_new();
252 termcutoffsmode = gt_str_new();
253 duplicatecheck = gt_str_new();
254
255 /* -genomic */
256 if (!gthconsensus_parsing) {
257 optgenomic = gt_option_new_filename_array("genomic", "specify input files "
258 "containing genomic sequences\n"
259 "mandatory option",
260 genomic_files);
261 gt_option_parser_add_option(op, optgenomic);
262 }
263
264 /* -cdna */
265 if (!gthconsensus_parsing) {
266 optcdna = gt_option_new_filename_array("cdna", "specify input files "
267 "containing cDNA/EST sequences",
268 cdna_files);
269 gt_option_parser_add_option(op, optcdna);
270 }
271
272 /* -protein */
273 if (!gthconsensus_parsing) {
274 optprotein = gt_option_new_filename_array("protein", "specify input files "
275 "containing protein sequences",
276 protein_files);
277 gt_option_parser_add_option(op, optprotein);
278 }
279
280 /* fill <specbuf> with the names of the species */
281 specbuf = gt_str_new_cstr("specify species to select splice site model which "
282 "is most appropriate; possible species:\n");
283 for (i = 0; i < NUMOFSPECIES; i++) {
284 gt_str_append_char(specbuf, '"');
285 gt_str_append_cstr(specbuf, speciestab[i]);
286 gt_str_append_char(specbuf, '"');
287 if (i < NUMOFSPECIES - 1)
288 gt_str_append_char(specbuf, '\n');
289 }
290
291 /* -species */
292 parsed_species = gt_str_new();
293 if (!gthconsensus_parsing) {
294 optspecies = gt_option_new_string("species", gt_str_get(specbuf),
295 parsed_species, NULL);
296
297 gt_option_parser_add_option(op, optspecies);
298 }
299
300 /* -bssm */
301 if (!gthconsensus_parsing) {
302 optbssm = gt_option_new_string("bssm", "read bssm parameter from file in "
303 "the path given by the environment variable "
304 "BSSMDIR", gth_input_bssmfile(input), NULL);
305 gt_option_parser_add_option(op, optbssm);
306 }
307
308 /* -scorematrix */
309 optscorematrix = gt_option_new_string("scorematrix", "read amino acid "
310 "substitution scoring matrix from file in "
311 "the path given by the environment "
312 "variable "GTHDATAENVNAME,
313 call_info->scorematrixfile,
314 GTH_DEFAULT_SCOREMATRIX);
315 if (gthconsensus_parsing)
316 gt_option_is_extended_option(optscorematrix);
317 gt_option_parser_add_option(op, optscorematrix);
318
319 /* -translationtable */
320 opttranslationtable = gt_option_new_uint("translationtable", "set the codon "
321 "translation table used for codon "
322 "translation in matching, DP, and "
323 "output",
324 &call_info->translationtable,
325 GTH_DEFAULT_TRANSLATIONTABLE);
326 gt_option_parser_add_option(op, opttranslationtable);
327
328 /* -f */
329 if (!gthconsensus_parsing) {
330 optforward = gt_option_new_bool("f", "analyze only forward strand of "
331 "genomic sequences", &forward, false);
332 gt_option_parser_add_option(op, optforward);
333 }
334
335 /* -r */
336 if (!gthconsensus_parsing) {
337 optreverse = gt_option_new_bool("r", "analyze only reverse strand of "
338 "genomic sequences", &reverse, false);
339 gt_option_parser_add_option(op, optreverse);
340 }
341
342 /* -cdnaforward */
343 if (!gthconsensus_parsing) {
344 optcdnaforward = gt_option_new_bool("cdnaforward", "align only forward "
345 "strand of cDNAs",
346 &call_info->cdnaforward, false);
347 gt_option_parser_add_option(op, optcdnaforward);
348 }
349
350 /* -frompos */
351 if (!gthconsensus_parsing) {
352 optfrompos = gt_option_new_uword_min(FROMPOS_OPT_CSTR, "analyze genomic "
353 "sequence from this position\nrequires "
354 "-topos or -width; counting from 1 on",
355 gth_input_genomicfrompos_ptr(input),
356 0, 1);
357 gt_option_parser_add_option(op, optfrompos);
358 }
359
360 /* -topos */
361 if (!gthconsensus_parsing) {
362 opttopos = gt_option_new_uword_min(TOPOS_OPT_CSTR, "analyze genomic "
363 "sequence to this position\nrequires "
364 "-frompos; counting from 1 on",
365 gth_input_genomictopos_ptr(input), 0, 1);
366 gt_option_parser_add_option(op, opttopos);
367 }
368
369 /* -width */
370 if (!gthconsensus_parsing) {
371 optwidth = gt_option_new_uword_min(WIDTH_OPT_CSTR, "analyze only this "
372 "width of genomic sequence\nrequires "
373 "-frompos",
374 gth_input_genomicwidth_ptr(input), 0, 1);
375 gt_option_parser_add_option(op, optwidth);
376 }
377
378 /* -v */
379 optverbose = gt_option_new_verbose(&verbose);
380 gt_option_parser_add_option(op, optverbose);
381
382 /* -verboseseqs */
383 optverboseseqs = gt_option_new_bool("verboseseqs", "show additional sequence "
384 "information\n(for debugging purposes)",
385 &call_info->out->verboseseqs, false);
386 gt_option_is_development_option(optverboseseqs);
387 gt_option_parser_add_option(op, optverboseseqs);
388
389 /* -comments */
390 optcomments = gt_option_new_bool("comments", "show (additional) comments",
391 &call_info->out->comments, false);
392 gt_option_is_extended_option(optcomments);
393 gt_option_is_development_option(optcomments);
394 gt_option_parser_add_option(op, optcomments);
395
396 /* -xmlout */
397 optxmlout = gt_option_new_bool("xmlout", "show output in XML format",
398 &call_info->out->xmlout, false);
399 gt_option_parser_add_option(op, optxmlout);
400
401 /* -gff3out */
402 optgff3out = gt_option_new_bool("gff3out" , "show output in GFF3 format",
403 &call_info->out->gff3out, false);
404 gt_option_parser_add_option(op, optgff3out);
405
406 /* -gff3descrange */
407 optgff3descranges = gt_option_new_bool("gff3descranges", "use description "
408 "ranges to offset GFF3 output",
409 &call_info->out->gff3descranges,
410 false);
411 gt_option_is_development_option(optgff3descranges);
412 gt_option_parser_add_option(op, optgff3descranges);
413
414 /* -md5ids */
415 optmd5ids = gt_option_new_bool("md5ids", "show MD5 fingerprints as sequence "
416 "IDs", &call_info->out->md5ids,
417 GTH_DEFAULT_MD5IDS);
418 gt_option_parser_add_option(op, optmd5ids);
419
420 /* output file options */
421 gt_output_file_info_register_options(ofi, op, &call_info->out->outfp);
422
423 /* -skipalignmentout */
424 optskipalignmentout = gt_option_new_bool("skipalignmentout", "skip output of "
425 "spliced alignments",
426 &call_info->out->skipalignmentout,
427 false);
428 gt_option_is_extended_option(optskipalignmentout);
429 gt_option_parser_add_option(op, optskipalignmentout);
430
431 /* -mincutoffs */
432 if (!gthconsensus_parsing) {
433 optmincutoffs = gt_option_new_bool("mincutoffs", "show full spliced "
434 "alignments\ni.e., cutoffs mode for "
435 "leading and terminal bases is MINIMAL",
436 &mincutoffs, false);
437 gt_option_is_extended_option(optmincutoffs);
438 gt_option_parser_add_option(op, optmincutoffs);
439 }
440
441 /* -showintronmaxlen */
442 optshowintronmaxlen = gt_option_new_uword(SHOWINTRONMAXLEN_OPT_CSTR, "set "
443 "the maximum length of a fully "
444 "shown intron\nIf set to 0, all "
445 "introns are shown completely",
446 &call_info->out->showintronmaxlen,
447 GTH_DEFAULT_SHOWINTRONMAXLEN);
448 gt_option_is_extended_option(optshowintronmaxlen);
449 gt_option_parser_add_option(op, optshowintronmaxlen);
450
451 /* -maxagsnum */
452 optmaxagsnum = gt_option_new_uint_min("maxagsnum", "set the maximum number "
453 "of AGSs shown per PGL",
454 &call_info->out->maxagsnum,
455 GT_UNDEF_UINT, 1);
456 gt_option_is_development_option(optmaxagsnum);
457 gt_option_parser_add_option(op, optmaxagsnum);
458
459 /* -minorflen */
460 optminorflength = gt_option_new_uword_min("minorflen", "set the minimum "
461 "length of an ORF to be shown",
462 &call_info->out->minORFlength,
463 GTH_DEFAULT_MINORFLENGTH, 1);
464 gt_option_is_extended_option(optminorflength);
465 gt_option_parser_add_option(op, optminorflength);
466
467 /* -startcodon */
468 optstartcodon = gt_option_new_bool("startcodon", "require than an ORF must "
469 "begin with a start codon",
470 &call_info->out->start_codon,
471 GTH_DEFAULT_START_CODON);
472 gt_option_is_extended_option(optstartcodon);
473 gt_option_parser_add_option(op, optstartcodon);
474
475 /* -finalstopcodon */
476 optfinalstopcodon = gt_option_new_bool("finalstopcodon", "require that the "
477 "final ORF must end with a stop codon",
478 &call_info->out->final_stop_codon,
479 GTH_DEFAULT_FINAL_STOP_CODON);
480 gt_option_is_extended_option(optfinalstopcodon);
481 gt_option_parser_add_option(op, optfinalstopcodon);
482
483 /* -showseqnums */
484 optshowseqnums = gt_option_new_bool("showseqnums", "show sequence numbers in "
485 "output", &call_info->out->showseqnums,
486 GTH_DEFAULT_SHOWSEQNUMS);
487 gt_option_is_extended_option(optshowseqnums);
488 gt_option_parser_add_option(op, optshowseqnums);
489
490 /* -pglgentemplate */
491 optpglgentemplate = gt_option_new_bool("pglgentemplate", "show genomic "
492 "template in PGL lines \n(switch off "
493 "for backward compatibility)",
494 &call_info->out->pglgentemplate, true);
495 gt_option_is_extended_option(optpglgentemplate);
496 gt_option_parser_add_option(op, optpglgentemplate);
497
498 /* -gs2out */
499 optgs2out = gt_option_new_bool("gs2out", "output in old GeneSeqer2 format",
500 &call_info->out->gs2out, GTH_DEFAULT_GS2OUT);
501 gt_option_parser_add_option(op, optgs2out);
502
503 /* -maskpolyatails */
504 call_info->simfilterparam.maskpolyAtails = false;
505 if (!gthconsensus_parsing) {
506 optmaskpolyatails = gt_option_new_bool("maskpolyatails", "mask poly(A) "
507 "tails in cDNA/EST files",
508 &call_info->simfilterparam
509 .maskpolyAtails,
510 GTH_DEFAULT_MASKPOLYATAILS);
511 gt_option_is_extended_option(optmaskpolyatails);
512 gt_option_parser_add_option(op, optmaskpolyatails);
513 }
514
515 /* -proteinsmap */
516 optproteinsmap = gt_option_new_string(PROTEINSMAP_OPT_CSTR, "specify smap "
517 "file used for protein files",
518 gth_input_proteinsmap(input),
519 GTH_DEFAULT_PROTEINSMAP);
520 gt_option_is_extended_option(optproteinsmap);
521 gt_option_parser_add_option(op, optproteinsmap);
522
523 /* -noautoindex */
524 if (!gthconsensus_parsing) {
525 optnoautoindex = gt_option_new_bool("noautoindex", "do not create indices "
526 "automatically\nexcept for the .dna.* "
527 "files used for the DP.\nexistence is "
528 "not tested before an index is "
529 "actually used!",
530 &call_info->simfilterparam.noautoindex,
531 GTH_DEFAULT_NOAUTOINDEX);
532 gt_option_is_extended_option(optnoautoindex);
533 gt_option_parser_add_option(op, optnoautoindex);
534 }
535
536 /* -createindicesonly */
537 optcreateindicesonly = gt_option_new_bool("createindicesonly", "stop program "
538 "flow after the indices have been "
539 "created",
540 &call_info->simfilterparam
541 .createindicesonly,
542 GTH_DEFAULT_CREATEINDICESONLY);
543 gt_option_is_extended_option(optcreateindicesonly);
544 gt_option_parser_add_option(op, optcreateindicesonly);
545
546 /* -skipindexcheck */
547 optskipindexcheck = gt_option_new_bool("skipindexcheck", "skip index check "
548 "(in preprocessing phase)",
549 &call_info->simfilterparam
550 .skipindexcheck,
551 GTH_DEFAULT_SKIPINDEXCHECK);
552 gt_option_is_extended_option(optskipindexcheck);
553 gt_option_parser_add_option(op, optskipindexcheck);
554
555 /* -minmatchlen */
556 if (!gthconsensus_parsing) {
557 optminmatchlen = gt_option_new_uword_min(MINMATCHLEN_OPT_CSTR, "specify "
558 "minimum match length (cDNA "
559 "matching)",
560 &call_info->simfilterparam
561 .minmatchlength,
562 GTH_DEFAULT_MINMATCHLENGTH, 1);
563 gt_option_parser_add_option(op, optminmatchlen);
564 }
565
566 /* -seedlength */
567 if (!gthconsensus_parsing) {
568 optseedlength = gt_option_new_uword_min(SEEDLENGTH_OPT_CSTR, "specify the "
569 "seed length (cDNA matching)",
570 &call_info->simfilterparam
571 .seedlength, GTH_DEFAULT_SEEDLENGTH,
572 1);
573 gt_option_parser_add_option(op, optseedlength);
574 }
575
576 /* -exdrop */
577 if (!gthconsensus_parsing) {
578 optexdrop = gt_option_new_uword_min("exdrop", "specify the Xdrop value for "
579 "edit distance extension (cDNA "
580 "matching)",
581 &call_info->simfilterparam.exdrop,
582 GTH_DEFAULT_EXDROP, 1);
583 gt_option_parser_add_option(op, optexdrop);
584 }
585
586 /* -prminmatchlen */
587 if (!gthconsensus_parsing) {
588 optprminmatchlen = gt_option_new_uword_min(PRMINMATCHLEN_OPT_CSTR,
589 "specify minimum match length "
590 "(protein matches)",
591 &call_info->simfilterparam
592 .prminmatchlen,
593 GTH_DEFAULT_PRMINMATCHLEN, 1);
594 gt_option_parser_add_option(op, optprminmatchlen);
595 }
596
597 /* -prseedlength */
598 if (!gthconsensus_parsing) {
599 optprseedlength = gt_option_new_uword_min(PRSEEDLENGTH_OPT_CSTR, "specify "
600 "seed length (protein matching)",
601 &call_info->simfilterparam
602 .prseedlength,
603 GTH_DEFAULT_PRSEEDLENGTH, 1);
604 gt_option_parser_add_option(op, optprseedlength);
605 }
606
607 /* -prhdist */
608 if (!gthconsensus_parsing) {
609 optprhdist = gt_option_new_uword_min("prhdist", "specify Hamming distance "
610 "(protein matching)",
611 &call_info->simfilterparam.prhdist,
612 GTH_DEFAULT_PRHDIST, 1);
613 gt_option_parser_add_option(op, optprhdist);
614 }
615
616 /* -online */
617 if (!gthconsensus_parsing) {
618 optonline = gt_option_new_bool("online", "run the similarity filter online "
619 "without using the complete index "
620 "(increases runtime)",
621 &call_info->simfilterparam.online,
622 GTH_DEFAULT_ONLINE);
623 gt_option_is_extended_option(optonline);
624 gt_option_parser_add_option(op, optonline);
625 }
626
627 /* -inverse */
628 if (!gthconsensus_parsing) {
629 optinverse = gt_option_new_bool("inverse", "invert query and index in "
630 "vmatch call",
631 &call_info->simfilterparam.inverse,
632 GTH_DEFAULT_INVERSE);
633 gt_option_is_extended_option(optinverse);
634 gt_option_parser_add_option(op, optinverse);
635 }
636
637 /* -exact */
638 if (!gthconsensus_parsing) {
639 optexact = gt_option_new_bool("exact", "use exact matches in the "
640 "similarity filter",
641 &call_info->simfilterparam.exact,
642 GTH_DEFAULT_EXACT);
643 gt_option_is_extended_option(optexact);
644 gt_option_parser_add_option(op, optexact);
645 }
646
647 /* -edist */
648 if (!gthconsensus_parsing) {
649 optedist = gt_option_new_bool("edist", "use edist instead of exdrop in "
650 "simfilter", &call_info->simfilterparam.edist,
651 GTH_DEFAULT_EDIST);
652 gt_option_is_extended_option(optedist);
653 gt_option_is_development_option(optedist);
654 gt_option_parser_add_option(op, optedist);
655 }
656
657 /* -maxnumofmatches */
658 if (!gthconsensus_parsing) {
659 optmaxnumofmatches = gt_option_new_uword("maxnumofmatches", "set the "
660 "maximum number of matches per "
661 "genomic file. I.e., only that "
662 "number of matches will be saved "
663 "for every reference sequence",
664 &call_info->simfilterparam
665 .maxnumofmatches,
666 GTH_DEFAULT_MAXNUMOFMATCHES);
667 gt_option_is_extended_option(optmaxnumofmatches);
668 gt_option_is_development_option(optmaxnumofmatches);
669 gt_option_parser_add_option(op, optmaxnumofmatches);
670 }
671
672 /* -fragweightfactor */
673 if (!gthconsensus_parsing) {
674 optfragweightfactor = gt_option_new_double_min("fragweightfactor", "set "
675 "the weight factor with "
676 "which the fragments are "
677 "multiplied before the "
678 "global chaining is "
679 "performed",
680 &call_info->fragweightfactor,
681 GTH_DEFAULT_FRAGWEIGHTFACTOR,
682 0.1);
683 gt_option_is_development_option(optfragweightfactor);
684 gt_option_parser_add_option(op, optfragweightfactor);
685 }
686
687 /* -gcmaxgapwidth */
688 if (!gthconsensus_parsing) {
689 optgcmaxgapwidth = gt_option_new_uint("gcmaxgapwidth", "set the maximum "
690 "gap width for global chains\n"
691 "defines approximately the maximum "
692 "intron length\nset to 0 to allow "
693 "for unlimited length\nin order to "
694 "avoid false-positive exons (lonely "
695 "exons) at the sequence ends, it is "
696 "very important to set this "
697 "parameter appropriately!",
698 &call_info->gcmaxgapwidth,
699 GTH_DEFAULT_GCMAXGAPWIDTH);
700 gt_option_parser_add_option(op, optgcmaxgapwidth);
701 }
702
703 /* -rare */
704 if (!gthconsensus_parsing) {
705 optrare = gt_option_new_uword("rare", "set the maximum number of (rare) "
706 "matches. I.e., for any given start position in "
707 "the reference sequence, maximally ``rare'' "
708 "number of matches are allowed.",
709 &call_info->simfilterparam.rare,
710 GTH_DEFAULT_RARE);
711 gt_option_is_development_option(optrare);
712 gt_option_parser_add_option(op, optrare);
713 }
714
715 /* -gcmincoverage */
716 if (!gthconsensus_parsing) {
717 optgcmincoverage = gt_option_new_uint_max("gcmincoverage", "set the "
718 "minimum coverage of global "
719 "chains regarding to the "
720 "reference sequence",
721 &call_info->gcmincoverage,
722 GTH_DEFAULT_GCMINCOVERAGE, 100);
723 gt_option_parser_add_option(op, optgcmincoverage);
724 }
725
726 /* -paralogs */
727 if (!gthconsensus_parsing) {
728 optparalogs = gt_option_new_bool("paralogs", "compute paralogous genes "
729 "(different chaining procedure)",
730 &call_info->simfilterparam.paralogs,
731 GTH_DEFAULT_PARALOGS);
732 gt_option_parser_add_option(op, optparalogs);
733 }
734
735 /* -enrichchains */
736 if (!gthconsensus_parsing) {
737 optenrichchains = gt_option_new_bool("enrichchains", "enrich genomic "
738 "sequence part of global chains with "
739 "additional matches",
740 &call_info->simfilterparam
741 .enrichchains,
742 GTH_DEFAULT_ENRICHCHAINS);
743 gt_option_is_extended_option(optenrichchains);
744 gt_option_parser_add_option(op, optenrichchains);
745 }
746
747 /* -stopafterchaining */
748 if (!gthconsensus_parsing) {
749 optstopafterchaining = gt_option_new_bool("stopafterchaining", "stop gth "
750 "after chaining phase and show "
751 "stored global chains",
752 &call_info->simfilterparam
753 .stopafterchaining,
754 GTH_DEFAULT_STOPAFTERCHAINING);
755 gt_option_is_development_option(optstopafterchaining);
756 gt_option_parser_add_option(op, optstopafterchaining);
757 }
758
759 /* -introncutout */
760 if (!gthconsensus_parsing) {
761 optintroncutout = gt_option_new_bool("introncutout", "enable the intron "
762 "cutout technique",
763 &call_info->simfilterparam
764 .introncutoutinfo.introncutout,
765 GTH_DEFAULT_INTRONCUTOUT);
766 gt_option_parser_add_option(op, optintroncutout);
767 }
768
769 /* -fastdp */
770 if (jump_table_new && !gthconsensus_parsing) {
771 optfastdp = gt_option_new_bool("fastdp", "use jump table to increase speed "
772 "of DP calculation",
773 &call_info->simfilterparam.jump_table,
774 GTH_DEFAULT_JUMPTABLE);
775 gt_option_parser_add_option(op, optfastdp);
776 }
777
778 /* -autointroncutout */
779 if (!gthconsensus_parsing) {
780 optautointroncutout = gt_option_new_uint("autointroncutout", "set the "
781 "automatic intron cutout matrix "
782 "size in megabytes and enable the "
783 "automatic intron cutout "
784 "technique",
785 &call_info->simfilterparam
786 .introncutoutinfo
787 .autoicmaxmatrixsize,
788 GTH_DEFAULT_AUTOICMAXMATRIXSIZE);
789 gt_option_parser_add_option(op, optautointroncutout);
790 }
791
792 /* -icinitialdelta */
793 if (!gthconsensus_parsing) {
794 opticinitialdelta = gt_option_new_uint(ICINITIALDELTA_OPT_CSTR, "set the "
795 "initial delta used for intron "
796 "cutouts",
797 &call_info->simfilterparam
798 .introncutoutinfo.icinitialdelta,
799 GTH_DEFAULT_ICINITIALDELTA);
800 gt_option_is_extended_option(opticinitialdelta);
801 gt_option_parser_add_option(op, opticinitialdelta);
802 }
803
804 /* -iciterations */
805 if (!gthconsensus_parsing) {
806 opticiterations = gt_option_new_uint("iciterations", "set the number of "
807 "intron cutout iterations",
808 &call_info->simfilterparam
809 .introncutoutinfo.iciterations,
810 GTH_DEFAULT_ICITERATIONS);
811 gt_option_is_extended_option(opticiterations);
812 gt_option_parser_add_option(op, opticiterations);
813 }
814
815 /* -icdeltaincrease */
816 if (!gthconsensus_parsing) {
817 opticdeltaincrease = gt_option_new_uint("icdeltaincrease", "set the delta "
818 "increase during every iteration",
819 &call_info->simfilterparam
820 .introncutoutinfo.icdeltaincrease,
821 GTH_DEFAULT_ICDELTAINCREASE);
822 gt_option_is_extended_option(opticdeltaincrease);
823 gt_option_parser_add_option(op, opticdeltaincrease);
824 }
825
826 /* -icminremintronlen */
827 if (!gthconsensus_parsing) {
828 opticminremlength = gt_option_new_uint("icminremintronlen", "set the "
829 "minimum remaining intron length "
830 "for an intron to be cut out",
831 &call_info->simfilterparam
832 .introncutoutinfo
833 .icminremintronlength,
834 GTH_DEFAULT_ICMINREMLENGTH);
835 gt_option_is_extended_option(opticminremlength);
836 gt_option_parser_add_option(op, opticminremlength);
837 }
838
839 /* -nou12intronmodel */
840 if (!gthconsensus_parsing) {
841 optnou12intronmodel = gt_option_new_bool("nou12intronmodel", "disable the "
842 "U12-type intron model",
843 &nou12intronmodel,
844 GTH_DEFAULT_DISABLEU12INTRONMODEL);
845 gt_option_is_extended_option(optnou12intronmodel);
846 gt_option_parser_add_option(op, optnou12intronmodel);
847 }
848
849 /* -u12donorprob */
850 if (!gthconsensus_parsing) {
851 optu12donorprob = gt_option_new_probability("u12donorprob", "set the "
852 "probability for perfect "
853 "U12-type donor sites",
854 &u12donorprob,
855 GTH_DEFAULT_U12_TYPEDONORPROB);
856 gt_option_is_extended_option(optu12donorprob);
857 gt_option_parser_add_option(op, optu12donorprob);
858 }
859
860 /* -u12donorprob1mism */
861 if (!gthconsensus_parsing) {
862 optu12donorprob1mism = gt_option_new_probability("u12donorprob1mism", "set "
863 "the prob. for U12-type "
864 "donor w. 1 mismatch",
865 &u12donorprob1mism,
866 GTH_DEFAULT_U12_TYPEDONORPROBONEMISMATCH);
867 gt_option_is_extended_option(optu12donorprob1mism);
868 gt_option_parser_add_option(op, optu12donorprob1mism);
869 }
870
871 /* -probies */
872 if (!gthconsensus_parsing) {
873 optprobies = gt_option_new_probability("probies", "set the initial exon "
874 "state probability",
875 &call_info->dp_options_est->probies,
876 GTH_DEFAULT_PROBIES);
877 gt_option_is_extended_option(optprobies);
878 gt_option_parser_add_option(op, optprobies);
879 }
880
881 /* -probdelgen */
882 if (!gthconsensus_parsing) {
883 optprobdelgen = gt_option_new_probability("probdelgen", "set the genomic "
884 "sequence deletion probability",
885 &call_info->dp_options_est
886 ->probdelgen,
887 GTH_DEFAULT_PROBDELGEN);
888 gt_option_is_extended_option(optprobdelgen);
889 gt_option_parser_add_option(op, optprobdelgen);
890 }
891
892 /* -identityweight */
893 if (!gthconsensus_parsing) {
894 optidentityweight = gt_option_new_double("identityweight", "set the pairs "
895 "of identical characters weight",
896 &call_info->dp_options_est
897 ->identityweight,
898 GTH_DEFAULT_IDENTITYWEIGHT);
899 gt_option_is_extended_option(optidentityweight);
900 gt_option_parser_add_option(op, optidentityweight);
901 }
902
903 /* -mismatchweight */
904 if (!gthconsensus_parsing) {
905 optmismatchweight = gt_option_new_double("mismatchweight", "set the weight "
906 "for mismatching characters",
907 &call_info->dp_options_est
908 ->mismatchweight,
909 GTH_DEFAULT_MISMATCHWEIGHT);
910 gt_option_is_extended_option(optmismatchweight);
911 gt_option_parser_add_option(op, optmismatchweight);
912 }
913
914 /* -undetcharweight */
915 if (!gthconsensus_parsing) {
916 optundetcharweight = gt_option_new_double("undetcharweight", "set the "
917 "weight for undetermined "
918 "characters",
919 &call_info->dp_options_est
920 ->undetcharweight,
921 GTH_DEFAULT_UNDETCHARWEIGHT);
922 gt_option_is_extended_option(optundetcharweight);
923 gt_option_parser_add_option(op, optundetcharweight);
924 }
925
926 /* -deletionweight */
927 if (!gthconsensus_parsing) {
928 optdeletionweight = gt_option_new_double("deletionweight", "set the weight "
929 "for deletions",
930 &call_info->dp_options_est
931 ->deletionweight,
932 GTH_DEFAULT_DELETIONWEIGHT);
933 gt_option_is_extended_option(optdeletionweight);
934 gt_option_parser_add_option(op, optdeletionweight);
935 }
936
937 /* -freeintrontrans */
938 optfreeintrontrans = gt_option_new_bool("freeintrontrans", "free transitions "
939 "between intron states",
940 &call_info->dp_options_core
941 ->freeintrontrans,
942 GTH_DEFAULT_FREEINTRONTRANS);
943 gt_option_is_development_option(optfreeintrontrans);
944 gt_option_parser_add_option(op, optfreeintrontrans);
945
946 /* -dpminexonlen */
947 if (!gthconsensus_parsing) {
948 optdpminexonlength = gt_option_new_uint_min("dpminexonlen", "set the "
949 "minimum exon length for the "
950 "DP",
951 &call_info->dp_options_core
952 ->dpminexonlength,
953 GTH_DEFAULT_DPMINEXONLENGTH, 1);
954 gt_option_is_extended_option(optdpminexonlength);
955 gt_option_parser_add_option(op, optdpminexonlength);
956 }
957
958 /* -dpminintronlen */
959 if (!gthconsensus_parsing) {
960 optdpminintronlength = gt_option_new_uint_min(DPMININTRONLENGTH_OPT_CSTR,
961 "set the minimum intron length "
962 "for the DP",
963 &call_info->dp_options_core
964 ->dpminintronlength,
965 GTH_DEFAULT_DPMININTRONLENGTH,
966 1);
967 gt_option_is_extended_option(optdpminintronlength);
968 gt_option_parser_add_option(op, optdpminintronlength);
969 }
970
971 /* -shortexonpenal */
972 if (!gthconsensus_parsing) {
973 optshortexonpenalty = gt_option_new_double_min("shortexonpenal", "set the "
974 "short exon penalty",
975 &call_info->dp_options_core
976 ->shortexonpenalty,
977 GTH_DEFAULT_SHORTEXONPENALTY,
978 0.0);
979 gt_option_is_extended_option(optshortexonpenalty);
980 gt_option_parser_add_option(op, optshortexonpenalty);
981 }
982
983 /* -shortintronpenal */
984 if (!gthconsensus_parsing) {
985 optshortintronpenalty =
986 gt_option_new_double_min("shortintronpenal",
987 "set the short intron penalty",
988 &call_info->dp_options_core->shortintronpenalty,
989 GTH_DEFAULT_SHORTINTRONPENALTY, 0.0);
990 gt_option_is_extended_option(optshortintronpenalty);
991 gt_option_parser_add_option(op, optshortintronpenalty);
992 }
993
994 /* -btmatrixgenrage */
995 if (!gthconsensus_parsing) {
996 optbtmatrixgenrange = gt_option_new_range("btmatrixgenrange", "set the "
997 "backtrace genomic range to show",
998 &call_info->dp_options_core
999 ->btmatrixgenrange, NULL);
1000 gt_option_is_development_option(optbtmatrixgenrange);
1001 gt_option_parser_add_option(op, optbtmatrixgenrange);
1002 }
1003
1004 /* -btmatrixrefrange */
1005 if (!gthconsensus_parsing) {
1006 optbtmatrixrefrange = gt_option_new_range("btmatrixrefrange", "set the "
1007 "backtrace reference range to "
1008 "show",
1009 &call_info->dp_options_core
1010 ->btmatrixrefrange, NULL);
1011 gt_option_is_development_option(optbtmatrixrefrange);
1012 gt_option_parser_add_option(op, optbtmatrixrefrange);
1013 }
1014
1015 /* -jtoverlap */
1016 if (!gthconsensus_parsing) {
1017 optjtoverlap = gt_option_new_uword("jtoverlap", "set jump table overlap",
1018 &call_info->dp_options_core->jtoverlap,
1019 GTH_DEFAULT_JTOVERLAP);
1020 gt_option_is_development_option(optjtoverlap);
1021 gt_option_parser_add_option(op, optjtoverlap);
1022 }
1023
1024 /* -jtdebug */
1025 if (!gthconsensus_parsing) {
1026 optjtdebug = gt_option_new_bool("jtdebug", "enable debugging output for "
1027 "jump table stuff",
1028 &call_info->dp_options_core->jtdebug,
1029 GTH_DEFAULT_JTDEBUG);
1030 gt_option_is_development_option(optjtdebug);
1031 gt_option_parser_add_option(op, optjtdebug);
1032 }
1033
1034 /* -wzerotransition */
1035 if (!gthconsensus_parsing) {
1036 optwzerotransition = gt_option_new_uint("wzerotransition", "set the zero "
1037 "transition weights window size",
1038 &call_info->dp_options_est
1039 ->wzerotransition,
1040 GTH_DEFAULT_WZEROTRANSITION);
1041 gt_option_is_extended_option(optwzerotransition);
1042 gt_option_parser_add_option(op, optwzerotransition);
1043 }
1044
1045 /* -wdecreasedoutput */
1046 if (!gthconsensus_parsing) {
1047 optwdecreasedoutput = gt_option_new_uint("wdecreasedoutput", "set the "
1048 "decreased output weights window "
1049 "size", &call_info->dp_options_est
1050 ->wdecreasedoutput,
1051 GTH_DEFAULT_WDECREASEDOUTPUT);
1052 gt_option_is_extended_option(optwdecreasedoutput);
1053 gt_option_parser_add_option(op, optwdecreasedoutput);
1054 }
1055
1056 /* -detectsmallexons */
1057 if (!gthconsensus_parsing) {
1058 optdetectsmallexons = gt_option_new_bool("detectsmallexons", "detect small "
1059 "exons with additional dynamic "
1060 "programming calls",
1061 &call_info->dp_options_est
1062 ->detectsmallexons,
1063 GTH_DEFAULT_DETECTSMALLEXONS);
1064 gt_option_is_development_option(optdetectsmallexons);
1065 gt_option_parser_add_option(op, optdetectsmallexons);
1066 }
1067
1068 /* -noicinintroncheck */
1069 if (!gthconsensus_parsing) {
1070 optnoicinintroncheck = gt_option_new_bool("noicinintroncheck", "disable "
1071 "intron cutout in intron check\nin "
1072 "such cases include exon consisting "
1073 "of deletions instead",
1074 &call_info->dp_options_core
1075 ->noicinintroncheck,
1076 GTH_DEFAULT_NOICININTRONCHECK);
1077 gt_option_is_extended_option(optnoicinintroncheck);
1078 gt_option_is_development_option(optnoicinintroncheck);
1079 gt_option_parser_add_option(op, optnoicinintroncheck);
1080 }
1081
1082 /* -proteinexonpenal */
1083 if (!gthconsensus_parsing) {
1084 optproteinexonpenal = gt_option_new_bool("proteinexonpenal", "use short "
1085 "exon penalties in protein DP",
1086 &call_info->proteinexonpenal,
1087 GTH_DEFAULT_PROTEINEXONPENAL);
1088 gt_option_is_extended_option(optproteinexonpenal);
1089 gt_option_is_development_option(optproteinexonpenal);
1090 gt_option_parser_add_option(op, optproteinexonpenal);
1091 }
1092
1093 /* -leadcutoffsmode */
1094 if (!gthconsensus_parsing) {
1095 optleadcutoffsmode = gt_option_new_choice("leadcutoffsmode", "set the "
1096 "cutoffs mode for leading "
1097 "bases\ncan be either RELAXED, "
1098 "STRICT, or MINIMAL",
1099 leadcutoffsmode, cutoff_modes[0],
1100 cutoff_modes);
1101 gt_option_is_extended_option(optleadcutoffsmode);
1102 gt_option_parser_add_option(op, optleadcutoffsmode);
1103 }
1104
1105 /* -termcutoffsmode */
1106 if (!gthconsensus_parsing) {
1107 opttermcutoffsmode = gt_option_new_choice("termcutoffsmode", "set the "
1108 "cutoffs mode for terminal "
1109 "bases\ncan be either RELAXED, "
1110 "STRICT, or MINIMAL",
1111 termcutoffsmode, cutoff_modes[1],
1112 cutoff_modes);
1113 gt_option_is_extended_option(opttermcutoffsmode);
1114 gt_option_parser_add_option(op, opttermcutoffsmode);
1115 }
1116
1117 /* -cutoffsminexonlen */
1118 if (!gthconsensus_parsing) {
1119 optcutoffsminexonlength = gt_option_new_uint_min("cutoffsminexonlen",
1120 "set the cutoffs minimum "
1121 "exon length",
1122 &call_info
1123 ->dp_options_postpro
1124 ->cutoffsminexonlen,
1125 GTH_DEFAULT_CUTOFFSMINEXONLEN,
1126 1);
1127 gt_option_is_extended_option(optcutoffsminexonlength);
1128 gt_option_parser_add_option(op, optcutoffsminexonlength);
1129 }
1130
1131 /* -scoreminexonlen */
1132 if (!gthconsensus_parsing) {
1133 optscoreminexonlength = gt_option_new_uint_min("scoreminexonlen", "set the "
1134 "score minimum exon length",
1135 &call_info
1136 ->dp_options_postpro
1137 ->scoreminexonlen,
1138 GTH_DEFAULT_SCOREMINEXONLEN,
1139 1);
1140 gt_option_is_extended_option(optscoreminexonlength);
1141 gt_option_parser_add_option(op, optscoreminexonlength);
1142 }
1143
1144 /* -minaveragessp */
1145 if (!gthconsensus_parsing) {
1146 optminaveragessp = gt_option_new_probability("minaveragessp", "set the "
1147 "minimum average splice site "
1148 "prob.",
1149 &call_info->minaveragessp,
1150 GTH_DEFAULT_MINAVERAGESSP);
1151 gt_option_is_extended_option(optminaveragessp);
1152 gt_option_parser_add_option(op, optminaveragessp);
1153 }
1154
1155 /* -duplicatecheck */
1156 if (!gthconsensus_parsing) {
1157 optduplicatecheck = gt_option_new_choice("duplicatecheck", "criterion used "
1158 "to check for spliced alignment "
1159 "duplicates, choose from "
1160 "none|id|desc|seq|both",
1161 duplicatecheck,
1162 duplicate_check_modes[4],
1163 duplicate_check_modes);
1164 gt_option_is_extended_option(optduplicatecheck);
1165 gt_option_parser_add_option(op, optduplicatecheck);
1166 }
1167
1168 /* add spliced alignment filter options */
1169 gth_sa_filter_register_options(op, call_info->sa_filter,
1170 !gthconsensus_parsing);
1171
1172 /* -intermediate */
1173 optintermediate = gt_option_new_bool("intermediate", "stop after calculation "
1174 "of spliced alignments and output "
1175 "results in reusable XML format. Do not "
1176 "process this output yourself, use the "
1177 "``normal'' XML output instead!",
1178 &call_info->intermediate,
1179 GTH_DEFAULT_INTERMEDIATE);
1180 gt_option_parser_add_option(op, optintermediate);
1181
1182 /* -sortags */
1183 optsortags = gt_option_new_bool("sortags", "sort alternative gene structures "
1184 "according to the weighted mean of the "
1185 "average exon score and the average splice "
1186 "site probability", &call_info->out->sortags,
1187 GTH_DEFAULT_SORTAGS);
1188 gt_option_is_extended_option(optsortags);
1189 gt_option_parser_add_option(op, optsortags);
1190
1191 /* -sortagswf */
1192 optsortagswf = gt_option_new_double_min("sortagswf", "set the weight factor "
1193 "for the sorting of AGSs",
1194 &call_info->out->sortagswf,
1195 GTH_DEFAULT_SORTAGSWF, 0.001);
1196 gt_option_is_extended_option(optsortagswf);
1197 gt_option_parser_add_option(op, optsortagswf);
1198
1199 /* -disableclustersas */
1200 optdisableclustersas = gt_option_new_bool("disableclustersas", "disable the "
1201 "clustering of spliced alignments "
1202 "in the consensus phase (should "
1203 "not change the results)",
1204 &call_info->disableclustersas,
1205 GTH_DEFAULT_DISABLECLUSTERSAS);
1206 gt_option_is_extended_option(optdisableclustersas);
1207 gt_option_is_development_option(optdisableclustersas);
1208 gt_option_parser_add_option(op, optdisableclustersas);
1209
1210 /* -cdnaforwardonly (keep option for backward compatibility) */
1211 if (!gthconsensus_parsing) {
1212 optcdnaforwardonly = gt_option_new_bool("cdnaforwardonly", "align only "
1213 "forward strand of cDNAs",
1214 &cdnaforwardonly, false);
1215 gt_option_is_development_option(optcdnaforwardonly);
1216 gt_option_parser_add_option(op, optcdnaforwardonly);
1217 }
1218
1219 /* -exondistri */
1220 optexondistri = gt_option_new_bool("exondistri", "show the exon length "
1221 "distribution", &exondistri, false);
1222 gt_option_is_extended_option(optexondistri);
1223 gt_option_parser_add_option(op, optexondistri);
1224
1225 /* -introndistri */
1226 optintrondistri = gt_option_new_bool("introndistri", "show the intron length "
1227 "distribution", &introndistri, false);
1228 gt_option_is_extended_option(optintrondistri);
1229 gt_option_parser_add_option(op, optintrondistri);
1230
1231 /* -refseqcovdistri */
1232 if (!gthconsensus_parsing) {
1233 optrefseqcovdistri = gt_option_new_bool("refseqcovdistri", "show the "
1234 "reference sequence coverage "
1235 "distribution", &refseqcovdistri,
1236 false);
1237 gt_option_is_extended_option(optrefseqcovdistri);
1238 gt_option_parser_add_option(op, optrefseqcovdistri);
1239 }
1240
1241 /* -matchnumdistri */
1242 if (!gthconsensus_parsing) {
1243 optmatchnumdistri = gt_option_new_bool("matchnumdistri", "show the "
1244 "distribution of matches\n(per "
1245 "genomic file and per reference "
1246 "sequence)", &matchnumdistri, false);
1247 gt_option_is_extended_option(optmatchnumdistri);
1248 gt_option_is_development_option(optmatchnumdistri);
1249 gt_option_parser_add_option(op, optmatchnumdistri);
1250 }
1251
1252 /* -first */
1253 if (!gthconsensus_parsing) {
1254 optfirstalshown = gt_option_new_uint("first", "set the maximum number of "
1255 "spliced alignments per genomic DNA "
1256 "input. Set to 0 for unlimited "
1257 "number.", &call_info->firstalshown,
1258 GTH_DEFAULT_FIRSTALSHOWN);
1259 gt_option_parser_add_option(op, optfirstalshown);
1260 }
1261
1262 /* -showeops */
1263 if (!gthconsensus_parsing) {
1264 optshoweops = gt_option_new_bool("showeops", "show complete array of multi "
1265 "edit operations after each DP",
1266 &call_info->out->showeops,
1267 GTH_DEFAULT_SHOWEOPS);
1268 gt_option_is_extended_option(optshoweops);
1269 gt_option_is_development_option(optshoweops);
1270 gt_option_parser_add_option(op, optshoweops);
1271 }
1272
1273 /* mandatory options */
1274 if (!gthconsensus_parsing) {
1275 gt_option_is_mandatory(optgenomic);
1276 gt_option_is_mandatory_either(optcdna, optprotein);
1277 }
1278
1279 /* option exclusions */
1280 if (optforward && optreverse)
1281 gt_option_exclude(optforward, optreverse);
1282 if (optspecies && optbssm)
1283 gt_option_exclude(optspecies, optbssm);
1284 if (optmincutoffs && optleadcutoffsmode)
1285 gt_option_exclude(optmincutoffs, optleadcutoffsmode);
1286 if (optmincutoffs && opttermcutoffsmode)
1287 gt_option_exclude(optmincutoffs, opttermcutoffsmode);
1288 if (optexact && optseedlength)
1289 gt_option_exclude(optexact, optseedlength);
1290 if (optexact && optexdrop)
1291 gt_option_exclude(optexact, optexdrop);
1292 if (optgs2out && optshowseqnums)
1293 gt_option_exclude(optgs2out, optshowseqnums);
1294 if (optxmlout && optshowseqnums)
1295 gt_option_exclude(optxmlout, optshowseqnums);
1296 if (optexact && optedist)
1297 gt_option_exclude(optexact, optedist);
1298 if (optmaskpolyatails && optnoautoindex)
1299 gt_option_exclude(optmaskpolyatails, optnoautoindex);
1300 if (optproteinsmap && optnoautoindex)
1301 gt_option_exclude(optproteinsmap, optnoautoindex);
1302 if (optfrompos && optonline)
1303 gt_option_exclude(optfrompos, optonline);
1304 if (optnou12intronmodel && optu12donorprob)
1305 gt_option_exclude(optnou12intronmodel, optu12donorprob);
1306 if (optnou12intronmodel && optu12donorprob1mism)
1307 gt_option_exclude(optnou12intronmodel, optu12donorprob1mism);
1308 if (optnoautoindex && optcreateindicesonly)
1309 gt_option_exclude(optnoautoindex, optcreateindicesonly);
1310 if (optnoautoindex && optskipindexcheck)
1311 gt_option_exclude(optnoautoindex, optskipindexcheck);
1312 if (optcreateindicesonly && optskipindexcheck)
1313 gt_option_exclude(optcreateindicesonly, optskipindexcheck);
1314 if (optskipalignmentout && optintermediate)
1315 gt_option_exclude(optskipalignmentout, optintermediate);
1316 if (optxmlout && optgff3out)
1317 gt_option_exclude(optxmlout, optgff3out);
1318
1319 /* option implications (single) */
1320 if (opttopos && optfrompos)
1321 gt_option_imply(opttopos, optfrompos);
1322 if (optwidth && optfrompos)
1323 gt_option_imply(optwidth, optfrompos);
1324 if (optverboseseqs && optverbose)
1325 gt_option_imply(optverboseseqs, optverbose);
1326 if (optsortagswf && optsortags)
1327 gt_option_imply(optsortagswf, optsortags);
1328 gt_option_imply(optgff3descranges, optgff3out);
1329 gt_option_imply(optmd5ids, optgff3out);
1330 if (optbtmatrixgenrange && optbtmatrixrefrange) {
1331 gt_option_imply(optbtmatrixgenrange, optbtmatrixrefrange);
1332 gt_option_imply(optbtmatrixrefrange, optbtmatrixrefrange);
1333 }
1334
1335 /* option implications (either 2) */
1336 if (optgff3out && optskipalignmentout && optintermediate)
1337 gt_option_imply_either_2(optgff3out, optskipalignmentout, optintermediate);
1338 if (opticinitialdelta && optintroncutout && optautointroncutout) {
1339 gt_option_imply_either_2(opticinitialdelta, optintroncutout,
1340 optautointroncutout);
1341 }
1342 if (opticiterations && optintroncutout && optautointroncutout) {
1343 gt_option_imply_either_2(opticiterations, optintroncutout,
1344 optautointroncutout);
1345 }
1346 if (opticdeltaincrease && optintroncutout && optautointroncutout) {
1347 gt_option_imply_either_2(opticdeltaincrease, optintroncutout,
1348 optautointroncutout);
1349 }
1350 if (opticminremlength && optintroncutout && optautointroncutout) {
1351 gt_option_imply_either_2(opticminremlength, optintroncutout,
1352 optautointroncutout);
1353 }
1354 if (optintermediate && optxmlout && optgff3out) {
1355 gt_option_imply_either_2(optintermediate, optxmlout, optgff3out);
1356 }
1357
1358 /* set mail addresse */
1359 gt_option_parser_set_mail_address(op, "<gordon@gremme.org>");
1360
1361 /* set comment function */
1362 gt_option_parser_set_comment_func(op, show_gth_help_trailer, NULL);
1363
1364 /* parse options */
1365 if (gthconsensus_parsing) {
1366 oprval = gt_option_parser_parse(op, parsed_args, argc, argv, show_version,
1367 err);
1368 }
1369 else {
1370 gt_option_parser_set_max_args(op, 0);
1371 oprval = gt_option_parser_parse(op, parsed_args, argc, argv, show_version,
1372 err);
1373 }
1374
1375 if (oprval == GT_OPTION_PARSER_OK &&
1376 call_info->out->showintronmaxlen > 0 &&
1377 call_info->out->showintronmaxlen < DOUBLEALIGNMENTLINEWIDTH) {
1378 gt_error_set(err, "argument to option -%s must be 0 or integer larger "
1379 "than %u", SHOWINTRONMAXLEN_OPT_CSTR,
1380 DOUBLEALIGNMENTLINEWIDTH);
1381 oprval = GT_OPTION_PARSER_ERROR;
1382 }
1383
1384 if (oprval == GT_OPTION_PARSER_OK) {
1385 /* process genomic files */
1386 for (i = 0; i < gt_str_array_size(genomic_files); i++)
1387 gth_input_add_genomic_file(input, gt_str_array_get(genomic_files, i));
1388
1389 /* process cdna files */
1390 for (i = 0; i < gt_str_array_size(cdna_files); i++)
1391 gth_input_add_cdna_file(input, gt_str_array_get(cdna_files, i));
1392
1393 /* process protein files */
1394 for (i = 0; i < gt_str_array_size(protein_files); i++)
1395 gth_input_add_protein_file(input, gt_str_array_get(protein_files, i));
1396 }
1397
1398 if (oprval == GT_OPTION_PARSER_OK && gt_str_length(parsed_species)) {
1399 ret = findspeciesnum(gt_str_get(parsed_species), err);
1400 if (ret == -1)
1401 oprval = GT_OPTION_PARSER_ERROR;
1402 if (oprval == GT_OPTION_PARSER_OK) {
1403 call_info->speciesnum = ret;
1404 /* also setting the bssm parameter file */
1405 gt_assert(!gt_str_length(gth_input_bssmfile(input)));
1406 gt_str_append_cstr(gth_input_bssmfile(input), speciestab[ret]);
1407 }
1408 }
1409
1410 /* check translation table number */
1411 /* XXX: the check should refactored into the GtTranslator class */
1412 if (oprval == GT_OPTION_PARSER_OK &&
1413 (call_info->translationtable < 1 || call_info->translationtable > 23 ||
1414 call_info->translationtable == 7 || call_info->translationtable == 8 ||
1415 call_info->translationtable == 17 || call_info->translationtable == 18 ||
1416 call_info->translationtable == 19 ||
1417 call_info->translationtable == 20)) {
1418 gt_error_set(err, "wrong argument '%u' to option \"-%s\": "
1419 "must be number in the range [1,23] except for 7, 8, 17, 18, "
1420 "19 and 20", call_info->translationtable,
1421 gt_option_get_name(opttranslationtable));
1422 oprval = GT_OPTION_PARSER_ERROR;
1423 }
1424
1425 if (!gthconsensus_parsing) {
1426 /* some checking necessary if -frompos is set */
1427 if (oprval == GT_OPTION_PARSER_OK && gt_option_is_set(optfrompos)) {
1428 /* if -topos and -length are used at the same time throw an error */
1429 if (gt_option_is_set(opttopos) && gt_option_is_set(optwidth)) {
1430 gt_error_set(err, "-%s and -%s can not be used simultaneously",
1431 TOPOS_OPT_CSTR, WIDTH_OPT_CSTR);
1432 oprval = GT_OPTION_PARSER_ERROR;
1433 }
1434 /* if neither -topos nor -length are used throw an error */
1435 if (oprval == GT_OPTION_PARSER_OK && !gt_option_is_set(opttopos) &&
1436 !gt_option_is_set(optwidth)) {
1437 gt_error_set(err, "if -%s is used either -%s or -%s have to be used",
1438 FROMPOS_OPT_CSTR, TOPOS_OPT_CSTR, WIDTH_OPT_CSTR);
1439 oprval = GT_OPTION_PARSER_ERROR;
1440 }
1441 }
1442
1443 /* make sure we have only one genomic file */
1444 if (oprval == GT_OPTION_PARSER_OK && gt_option_is_set(optfrompos) &&
1445 gth_input_num_of_gen_files(input) > 1) {
1446 gt_error_set(err, "-%s only allowed if exactly 1 genomic file is "
1447 "specified", FROMPOS_OPT_CSTR);
1448 oprval = GT_OPTION_PARSER_ERROR;
1449 }
1450
1451 /* if optfrompos is set, we set optinverse automatically. This is more
1452 intuitive for the user (instead of requiring him to set -inverse) */
1453 if (oprval == GT_OPTION_PARSER_OK && gt_option_is_set(optfrompos) &&
1454 !gt_option_is_set(optinverse)) {
1455 call_info->simfilterparam.inverse = true;
1456 }
1457 }
1458
1459 /* check necessary for intron cutout technique */
1460 if (oprval == GT_OPTION_PARSER_OK && !gthconsensus_parsing &&
1461 2 * call_info->simfilterparam.introncutoutinfo.icinitialdelta <
1462 call_info->dp_options_core->dpminintronlength) {
1463 gt_error_set(err, "2 * %s(=%u) must be >= %s(=%u)",
1464 ICINITIALDELTA_OPT_CSTR,
1465 call_info->simfilterparam.introncutoutinfo.icinitialdelta,
1466 DPMININTRONLENGTH_OPT_CSTR,
1467 call_info->dp_options_core->dpminintronlength);
1468 oprval = GT_OPTION_PARSER_ERROR;
1469 }
1470
1471 /* check number of genomic files */
1472 if (oprval == GT_OPTION_PARSER_OK &&
1473 gth_input_num_of_gen_files(input) >= VM_MAXNUMBEROFFILES) {
1474 gt_error_set(err, "maximal number of genomic files is %u",
1475 VM_MAXNUMBEROFFILES);
1476 oprval = GT_OPTION_PARSER_ERROR;
1477 }
1478
1479 /* make sure minmatchlen is >= seedlength */
1480 if (oprval == GT_OPTION_PARSER_OK && !gthconsensus_parsing &&
1481 call_info->simfilterparam.minmatchlength <
1482 call_info->simfilterparam.seedlength) {
1483 gt_error_set(err, "-%s "GT_WU" must be >= -%s "GT_WU"",
1484 MINMATCHLEN_OPT_CSTR,
1485 call_info->simfilterparam.minmatchlength, SEEDLENGTH_OPT_CSTR,
1486 call_info->simfilterparam.seedlength);
1487 oprval = GT_OPTION_PARSER_ERROR;
1488 }
1489
1490 /* make sure prminmatchlen is >= prseedlength */
1491 if (oprval == GT_OPTION_PARSER_OK && !gthconsensus_parsing &&
1492 call_info->simfilterparam.prminmatchlen <
1493 call_info->simfilterparam.prseedlength) {
1494 gt_error_set(err, "-%s "GT_WU" must be >= -%s "GT_WU"",
1495 PRMINMATCHLEN_OPT_CSTR,
1496 call_info->simfilterparam.prminmatchlen, PRSEEDLENGTH_OPT_CSTR,
1497 call_info->simfilterparam.prseedlength);
1498 oprval = GT_OPTION_PARSER_ERROR;
1499 }
1500
1501 /* check that given proteinsmap is not too long (is used as suffix for
1502 protein index files) */
1503 if (oprval == GT_OPTION_PARSER_OK && optproteinsmap &&
1504 !gt_option_is_set(optproteinsmap)) {
1505 if (gt_str_length(gth_input_proteinsmap(input)) > MAXSUFFIXLEN) {
1506 gt_error_set(err, "%s argument \"%s\" is too long (>MAXSUFFIXLEN=%u)",
1507 PROTEINSMAP_OPT_CSTR,
1508 gt_str_get(gth_input_proteinsmap(input)), MAXSUFFIXLEN);
1509 oprval = GT_OPTION_PARSER_ERROR;
1510 }
1511 }
1512
1513 if (oprval == GT_OPTION_PARSER_OK) {
1514 gt_assert(!(forward && reverse));
1515 if (forward)
1516 gth_input_set_forward_only(input);
1517 if (reverse)
1518 gth_input_set_reverse_only(input);
1519
1520 if (verbose) {
1521 call_info->out->showverbose = showverbose;
1522 call_info->out->showverboseVM = showverboseVM;
1523 }
1524
1525 if (!gthconsensus_parsing) {
1526 gth_splice_site_model_U12intronmodel_set_usage(call_info
1527 ->splice_site_model,
1528 !nou12intronmodel);
1529 gth_splice_site_model_set_U12typedonorprob(call_info->splice_site_model,
1530 u12donorprob);
1531 gth_splice_site_model_set_U12typedonorprob_one_mismatch(call_info
1532 ->splice_site_model,
1533 u12donorprob1mism);
1534 }
1535
1536 if (exondistri)
1537 gth_stat_enable_exondistri(stat);
1538 if (introndistri)
1539 gth_stat_enable_introndistri(stat);
1540 if (refseqcovdistri)
1541 gth_stat_enable_refseqcovdistri(stat);
1542 if (matchnumdistri)
1543 gth_stat_enable_matchnumdistri(stat);
1544 }
1545
1546 /* post-process cutoff mode options */
1547 if (!gthconsensus_parsing) {
1548 if (oprval == GT_OPTION_PARSER_OK) {
1549 gt_assert(gt_str_length(leadcutoffsmode));
1550 mode = get_cutoffs_mode_from_table(gt_str_get(leadcutoffsmode));
1551 call_info->dp_options_postpro->leadcutoffsmode = mode;
1552 }
1553 if (oprval == GT_OPTION_PARSER_OK) {
1554 gt_assert(gt_str_length(termcutoffsmode));
1555 mode = get_cutoffs_mode_from_table(gt_str_get(termcutoffsmode));
1556 call_info->dp_options_postpro->termcutoffsmode = mode;
1557 }
1558 if (oprval == GT_OPTION_PARSER_OK && mincutoffs) {
1559 call_info->dp_options_postpro->leadcutoffsmode = GTH_MINIMAL;
1560 call_info->dp_options_postpro->termcutoffsmode = GTH_MINIMAL;
1561 }
1562 }
1563
1564 /* post-process duplicate check option */
1565 if (!gthconsensus_parsing) {
1566 if (oprval == GT_OPTION_PARSER_OK) {
1567 call_info->duplicate_check =
1568 get_duplicate_check_mode_from_table(gt_str_get(duplicatecheck));
1569 }
1570 }
1571
1572 /* backward compatibility */
1573 if (cdnaforwardonly && !gt_option_is_set(optcdnaforward))
1574 call_info->cdnaforward = true;
1575
1576 /* assertions */
1577 #ifndef NDEBUG
1578 if (oprval == GT_OPTION_PARSER_OK && !gthconsensus_parsing) {
1579 /* at least one genomic file defined */
1580 gt_assert(gth_input_num_of_gen_files(input));
1581 /* at least one reference file defined */
1582 gt_assert(gth_input_num_of_ref_files(input));
1583 }
1584 #endif
1585
1586 /* save consensus files */
1587 if (oprval == GT_OPTION_PARSER_OK && gthconsensus_parsing) {
1588 while (*parsed_args < argc) {
1589 gt_str_array_add_cstr(consensusfiles, argv[*parsed_args]);
1590 (*parsed_args)++;
1591 }
1592 }
1593
1594 /* load bssm parameter */
1595 if (oprval == GT_OPTION_PARSER_OK) {
1596 if (gt_str_length(gth_input_bssmfile(input))) {
1597 if (gth_splice_site_model_load_bssm(call_info->splice_site_model,
1598 gt_str_get(gth_input_bssmfile(input)),
1599 err)) {
1600 oprval = GT_OPTION_PARSER_ERROR;
1601 }
1602 }
1603 }
1604
1605 if (GT_OPTION_PARSER_OK) {
1606 gt_assert(*parsed_args == argc);
1607 }
1608
1609 /* free */
1610 gt_str_delete(parsed_species);
1611 gt_str_delete(specbuf);
1612 gt_str_delete(duplicatecheck);
1613 gt_str_delete(termcutoffsmode);
1614 gt_str_delete(leadcutoffsmode);
1615 gt_str_delete(chaining_param);
1616 gt_str_array_delete(protein_files);
1617 gt_str_array_delete(cdna_files);
1618 gt_str_array_delete(genomic_files);
1619 gt_output_file_info_delete(ofi);
1620 gt_option_parser_delete(op);
1621
1622 return oprval;
1623 }
+0
-37
src/gth/parse_options.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef PARSE_OPTIONS_H
18 #define PARSE_OPTIONS_H
19
20 #include "core/option_api.h"
21 #include "gth/call_info.h"
22 #include "gth/input.h"
23 #include "gth/jump_table.h"
24 #include "gth/stat.h"
25
26 #define FROMPOS_OPT_CSTR "frompos"
27
28 /* The following function parses the arguments given by the <argv> array of
29 length <argc>. */
30 GtOPrval gth_parse_options(GthCallInfo*, GthInput*, int *parsed_args, int argc,
31 const char **argv, bool gthconsensus_parsing,
32 GtStrArray *consensusfiles, GthStat*, GthShowVerbose,
33 GthShowVerboseVM, GtShowVersionFunc, GthJumpTableNew,
34 GtError*);
35
36 #endif
+0
-191
src/gth/path_matrix.c less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include <stdbool.h>
17 #include "core/array2dim_api.h"
18 #include "core/divmodmul.h"
19 #include "core/minmax.h"
20 #include "gth/align_common.h"
21 #include "gth/align_dna_imp.h"
22 #include "gth/path_matrix.h"
23
24 typedef struct {
25 bool used, on_max_path_e, on_max_path_i;
26 GthPath e_path,
27 i_path;
28 } PMEntry;
29
30 struct GthPathMatrix {
31 GtRange gen_range,
32 ref_range;
33 PMEntry **entries;
34 };
35
36 static void path_matrix_fill(GthPathMatrix *pm, GthPath **path, GtRowInfo *ri)
37 {
38 GtUword genptr, refptr, genidx, refidx;
39 GthPath e_path, i_path;
40 bool lower;
41
42 for (genptr = pm->gen_range.start; genptr <= pm->gen_range.end; genptr++) {
43 for (refptr = pm->ref_range.start; refptr <= pm->ref_range.end; refptr++) {
44 if (!ri ||
45 (refptr >= ri[genptr].offset &&
46 refptr < ri[genptr].offset + ri[genptr].length)) {
47 e_path = path[GT_DIV2(genptr)][refptr];
48 i_path = path[GT_DIV2(genptr)][refptr];
49 lower = (bool) !GT_MOD2(genptr);
50 if (lower) {
51 e_path &= LOWER_E_STATE_MASK;
52 i_path &= LOWER_I_STATE_MASK;
53 i_path >>= 3;
54 }
55 else {
56 e_path &= UPPER_E_STATE_MASK;
57 e_path >>= 4;
58 i_path &= UPPER_I_STATE_MASK;
59 i_path >>= 7;
60 }
61 gt_assert(i_path == DNA_E_N || i_path == DNA_I_N);
62 genidx = genptr - pm->gen_range.start;
63 refidx = refptr - pm->ref_range.start;
64 pm->entries[genidx][refidx].used = true;
65 pm->entries[genidx][refidx].e_path = e_path;
66 pm->entries[genidx][refidx].i_path = i_path;
67 }
68 }
69 }
70
71 }
72
73 GthPathMatrix* gth_path_matrix_new(GthPath **path,
74 GtUword gen_dp_length,
75 GtUword ref_dp_length,
76 const GtRange *btmatrixgenrange,
77 const GtRange *btmatrixrefrange,
78 GtRowInfo *ri)
79 {
80 GthPathMatrix *pm = gt_malloc(sizeof *pm);
81 pm->gen_range.start = btmatrixgenrange->start;
82 pm->gen_range.end = MIN(btmatrixgenrange->end, gen_dp_length);
83 pm->ref_range.start = btmatrixrefrange->start;
84 pm->ref_range.end = MIN(btmatrixrefrange->end, ref_dp_length);
85 gt_array2dim_calloc(pm->entries, gt_range_length(&pm->gen_range),
86 gt_range_length(&pm->ref_range));
87 path_matrix_fill(pm, path, ri);
88 return pm;
89 }
90
91 static char on_max_path_char(bool on_max_path)
92 {
93 return on_max_path ? '*' : ' ';
94 }
95
96 static char matrix_char(GthPath path)
97 {
98 switch (path) {
99 case DNA_E_N:
100 case DNA_E_NM:
101 case DNA_E_M:
102 return 'E';
103 case DNA_I_N:
104 case DNA_I_NM:
105 case DNA_I_M:
106 return 'I';
107 default:
108 gt_assert(0);
109 return 'X'; /* cannot happen */
110 }
111 }
112
113 static char direction_char(GthPath path)
114 {
115 switch (path) {
116 case DNA_E_N:
117 case DNA_I_N:
118 return '-';
119 case DNA_E_NM:
120 case DNA_I_NM:
121 return '\\';
122 case DNA_E_M:
123 case DNA_I_M:
124 return '|';
125 default:
126 gt_assert(0);
127 return 'X'; /* cannot happen */
128 }
129 }
130
131 void gth_path_matrix_show(GthPathMatrix *pm)
132 {
133 GtUword genptr, refptr, genidx, refidx;
134 PMEntry entry;
135 gt_assert(pm);
136 printf(" ");
137 for (genptr = pm->gen_range.start; genptr <= pm->gen_range.end; genptr++)
138 printf("%4"GT_WUS, genptr);
139 printf("\n\n");
140
141 for (refptr = pm->ref_range.start; refptr <= pm->ref_range.end; refptr++) {
142 refidx = refptr - pm->ref_range.start;
143 printf("%4"GT_WUS, refptr);
144 for (genptr = pm->gen_range.start; genptr <= pm->gen_range.end; genptr++) {
145 genidx = genptr - pm->gen_range.start;
146 entry = pm->entries[genidx][refidx];
147 if (entry.used) {
148 printf(" %c%c%c", on_max_path_char(entry.on_max_path_e),
149 matrix_char(entry.e_path), direction_char(entry.e_path));
150 }
151 else
152 printf(" ");
153 }
154 printf("\n ");
155 for (genptr = pm->gen_range.start; genptr <= pm->gen_range.end; genptr++) {
156 genidx = genptr - pm->gen_range.start;
157 entry = pm->entries[genidx][refidx];
158 if (entry.used) {
159 printf(" %c%c%c", on_max_path_char(entry.on_max_path_i),
160 matrix_char(entry.i_path), direction_char(entry.i_path));
161 }
162 else
163 printf(" ");
164 }
165 putchar('\n');
166 }
167 }
168
169 void gth_path_matrix_set_max_path(GthPathMatrix *pm, GtUword genptr,
170 GtUword refptr, bool e_state)
171 {
172 GtUword genidx, refidx;
173 gt_assert(pm);
174 if (genptr >= pm->gen_range.start && genptr <= pm->gen_range.end &&
175 refptr >= pm->ref_range.start && refptr <= pm->ref_range.end) {
176 genidx = genptr - pm->gen_range.start;
177 refidx = refptr - pm->ref_range.start;
178 if (e_state)
179 pm->entries[genidx][refidx].on_max_path_e = true;
180 else
181 pm->entries[genidx][refidx].on_max_path_i = true;
182 }
183 }
184
185 void gth_path_matrix_delete(GthPathMatrix *pm)
186 {
187 if (!pm) return;
188 gt_array2dim_delete(pm->entries);
189 gt_free(pm);
190 }
+0
-37
src/gth/path_matrix.h less more
0 /*
1 Copyright (c) 2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef PATH_MATRIX_H
17 #define PATH_MATRIX_H
18
19 #include "core/array2dim_sparse.h"
20
21 typedef struct GthPathMatrix GthPathMatrix;
22
23 GthPathMatrix* gth_path_matrix_new(GthPath **path,
24 GtUword gen_dp_length,
25 GtUword ref_dp_length,
26 const GtRange *btmatrixgenrange,
27 const GtRange *btmatrixrefrange,
28 GtRowInfo *ri);
29 void gth_path_matrix_show(GthPathMatrix*);
30 void gth_path_matrix_set_max_path(GthPathMatrix*,
31 GtUword genptr,
32 GtUword refptr,
33 bool e_state);
34 void gth_path_matrix_delete(GthPathMatrix*);
35
36 #endif
+0
-254
src/gth/path_walker.c less more
0 /*
1 Copyright (c) 2009 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/codon_api.h"
17 #include "gth/path_walker.h"
18
19 struct GthPathWalker {
20 bool forward,
21 proteineop,
22 processing_intron_with_1_base_left,
23 processing_intron_with_2_bases_left;
24 Editoperation *alignment,
25 *eopptr;
26 long alignmentlength;
27 Eoptype last_eop_type;
28 GtUword last_eop_length,
29 eop_distance,
30 gen_distance,
31 ref_distance,
32 actual_eops;
33 unsigned int steps_in_current_eop;
34 };
35
36 GthPathWalker* gth_path_walker_new(const GthBacktracePath *bp, bool forward)
37 {
38 GthPathWalker *pw;
39 gt_assert(bp);
40 gt_assert(forward); /* XXX: implement reverse walking */
41 pw = gt_calloc(1, sizeof *pw);
42 pw->forward = forward;
43 pw->proteineop = gth_backtrace_path_alphatype(bp) == PROTEIN_ALPHA;
44 pw->alignment = gth_backtrace_path_get(bp);
45 pw->alignmentlength = gth_backtrace_path_length(bp);
46 pw->eopptr = pw->alignment + pw->alignmentlength - 1;
47 pw->last_eop_type = NUM_OF_EOP_TYPES;
48 return pw;
49 }
50
51 void gth_path_walker_delete(GthPathWalker *pw)
52 {
53 if (!pw) return;
54 gt_free(pw);
55 }
56
57 bool gth_path_walker_is_forward(const GthPathWalker *pw)
58 {
59 gt_assert(pw);
60 return pw->forward;
61 }
62
63 bool gth_path_walker_has_next(const GthPathWalker *pw)
64 {
65 gt_assert(pw);
66 if ((pw->last_eop_length) ||
67 (pw->forward && pw->eopptr >= pw->alignment) ||
68 (!pw->forward && pw->eopptr <= pw->alignment + pw->alignmentlength - 1)) {
69 return true;
70 }
71 return false;
72 }
73
74 static void step(GthPathWalker *pw)
75 {
76 gt_assert(pw && pw->last_eop_length);
77
78 /* we are not processing two intron types at the same time */
79 gt_assert(!(pw->processing_intron_with_1_base_left &&
80 pw->processing_intron_with_2_bases_left));
81
82 pw->eop_distance++;
83
84 switch (pw->last_eop_type) {
85 case EOP_TYPE_MATCH:
86 case EOP_TYPE_MISMATCH:
87 if (pw->proteineop) {
88 if (pw->processing_intron_with_1_base_left) {
89 pw->processing_intron_with_1_base_left = false;
90 pw->gen_distance += GT_CODON_LENGTH - 1;
91 pw->ref_distance += 1;
92 }
93 else if (pw->processing_intron_with_2_bases_left) {
94 pw->processing_intron_with_2_bases_left = false;
95 pw->gen_distance += GT_CODON_LENGTH - 2;
96 }
97 else {
98 pw->gen_distance += GT_CODON_LENGTH;
99 pw->ref_distance += 1;
100 }
101 }
102 else {
103 pw->gen_distance++;
104 pw->ref_distance++;
105 }
106 break;
107 case EOP_TYPE_DELETION:
108 if (pw->proteineop)
109 pw->gen_distance += GT_CODON_LENGTH;
110 else
111 pw->gen_distance++;
112 break;
113 case EOP_TYPE_INSERTION:
114 pw->ref_distance++;
115 break;
116 case EOP_TYPE_INTRON:
117 gt_assert(!pw->processing_intron_with_1_base_left);
118 gt_assert(!pw->processing_intron_with_2_bases_left);
119 pw->gen_distance++;
120 break;
121 case EOP_TYPE_INTRON_WITH_1_BASE_LEFT:
122 gt_assert(pw->proteineop);
123 gt_assert(!pw->processing_intron_with_2_bases_left);
124 if (!pw->processing_intron_with_1_base_left) {
125 pw->processing_intron_with_1_base_left = true;
126 pw->gen_distance++;
127 }
128 pw->gen_distance++;
129 break;
130 case EOP_TYPE_INTRON_WITH_2_BASES_LEFT:
131 gt_assert(pw->proteineop);
132 gt_assert(!pw->processing_intron_with_1_base_left);
133 if (!pw->processing_intron_with_2_bases_left) {
134 pw->processing_intron_with_2_bases_left = true;
135 pw->gen_distance += 2;
136 pw->ref_distance++;
137 }
138 pw->gen_distance++;
139 break;
140 case EOP_TYPE_MISMATCH_WITH_1_GAP:
141 gt_assert(pw->proteineop);
142 if (pw->processing_intron_with_1_base_left) {
143 pw->processing_intron_with_1_base_left = false;
144 pw->gen_distance++;
145 pw->ref_distance++;
146 }
147 else if (pw->processing_intron_with_2_bases_left)
148 pw->processing_intron_with_2_bases_left = false;
149 else {
150 pw->gen_distance += 2;
151 pw->ref_distance++;
152 }
153 break;
154 case EOP_TYPE_MISMATCH_WITH_2_GAPS:
155 gt_assert(pw->proteineop);
156 if (pw->processing_intron_with_1_base_left) {
157 pw->processing_intron_with_1_base_left = false;
158 pw->ref_distance++;
159 }
160 else {
161 pw->gen_distance++;
162 pw->ref_distance++;
163 }
164 break;
165 case EOP_TYPE_DELETION_WITH_1_GAP:
166 gt_assert(pw->proteineop);
167 if (pw->processing_intron_with_1_base_left) {
168 pw->processing_intron_with_1_base_left = false;
169 pw->gen_distance++;
170 }
171 else
172 pw->gen_distance += 2;
173 break;
174 case EOP_TYPE_DELETION_WITH_2_GAPS:
175 gt_assert(pw->proteineop);
176 if (!pw->processing_intron_with_1_base_left)
177 pw->gen_distance++;
178 break;
179 default: gt_assert(0);
180 }
181
182 pw->last_eop_length--;
183
184 if (pw->last_eop_length)
185 pw->steps_in_current_eop++;
186 else {
187 pw->actual_eops++;
188 pw->steps_in_current_eop = 0;
189 }
190 }
191
192 void gth_path_walker_next(GthPathWalker *pw)
193 {
194 gt_assert(pw && gth_path_walker_has_next(pw));
195 if (!pw->last_eop_length) {
196 pw->last_eop_type = gt_editoperation_type(*pw->eopptr, pw->proteineop);
197 pw->last_eop_length = gt_editoperation_length(*pw->eopptr, pw->proteineop);
198 if (pw->forward)
199 pw->eopptr--;
200 else
201 pw->eopptr++;
202 }
203 step(pw);
204 }
205
206 void gth_path_walker_try_steps(GthPathWalker *pw, GtUword steps)
207 {
208 GtUword i;
209 gt_assert(pw);
210 for (i = 0; gth_path_walker_has_next(pw) && i < steps; i++)
211 gth_path_walker_next(pw);
212 }
213
214 GtUword gth_path_walker_eop_distance(const GthPathWalker *pw)
215 {
216 gt_assert(pw);
217 return pw->eop_distance;
218 }
219
220 GtUword gth_path_walker_gen_distance(const GthPathWalker *pw)
221 {
222 gt_assert(pw);
223 return pw->gen_distance;
224 }
225
226 GtUword gth_path_walker_ref_distance(const GthPathWalker *pw)
227 {
228 gt_assert(pw);
229 return pw->ref_distance;
230 }
231
232 void gth_path_walker_show(const GthPathWalker *pw, GtFile *outfp)
233 {
234 gt_assert(pw);
235 gt_file_xprintf(outfp, "GthPathWalker: orientation=%s, eop_dist="GT_WU", "
236 "gen_dist="GT_WU", ref_dist="GT_WU", actual="GT_WU
237 ", steps_cur=%d\n",
238 pw->forward ? "forward" : "reverse",
239 pw->eop_distance, pw->gen_distance, pw->ref_distance,
240 pw->actual_eops, pw->steps_in_current_eop);
241 }
242
243 GtUword gth_path_walker_actual_eops(const GthPathWalker *pw)
244 {
245 gt_assert(pw);
246 return pw->actual_eops;
247 }
248
249 unsigned int gth_path_walker_steps_in_current_eop(const GthPathWalker *pw)
250 {
251 gt_assert(pw);
252 return pw->steps_in_current_eop;
253 }
+0
-39
src/gth/path_walker.h less more
0 /*
1 Copyright (c) 2009 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef PATH_WALKER_H
17 #define PATH_WALKER_H
18
19 typedef struct GthPathWalker GthPathWalker;
20
21 #include "gth/backtrace_path.h"
22
23 GthPathWalker* gth_path_walker_new(const GthBacktracePath*, bool forward);
24 void gth_path_walker_delete(GthPathWalker*);
25 bool gth_path_walker_is_forward(const GthPathWalker*);
26 bool gth_path_walker_has_next(const GthPathWalker*);
27 void gth_path_walker_next(GthPathWalker*);
28 void gth_path_walker_try_steps(GthPathWalker*, GtUword);
29 GtUword gth_path_walker_eop_distance(const GthPathWalker*);
30 GtUword gth_path_walker_gen_distance(const GthPathWalker*);
31 GtUword gth_path_walker_ref_distance(const GthPathWalker*);
32 void gth_path_walker_show(const GthPathWalker*, GtFile*);
33
34 /* these methods expose internals, don't use */
35 GtUword gth_path_walker_actual_eops(const GthPathWalker*);
36 unsigned int gth_path_walker_steps_in_current_eop(const GthPathWalker*);
37
38 #endif
+0
-199
src/gth/pgl.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "core/unused_api.h"
19 #include "gth/ags.h"
20 #include "gth/pgl.h"
21
22 struct GthPGLObject {
23 bool gen_strand_forward; /* equals true, iff the the assemblies in the
24 alternative gene structures of this
25 predicted gene location lie on the forward
26 strand of the genomic sequence.
27 false otherwise */
28 GtUword gen_file_num, /* genomic file number */
29 gen_seq_num, /* genomic sequence number */
30 gen_total_length, /* total length of the genomic sequence */
31 gen_offset; /* offset of the genomic sequence where this
32 SA refers to */
33 };
34
35 GthPGL* gth_pgl_new(bool forward)
36 {
37 GthPGL *pgl;
38 pgl = gt_malloc(sizeof *pgl);
39 pgl->pglo = gt_malloc(sizeof *pgl->pglo);
40
41 pgl->pglo->gen_strand_forward = forward;
42 pgl->pglo->gen_file_num = GT_UNDEF_UWORD;
43 pgl->pglo->gen_seq_num = GT_UNDEF_UWORD;
44 pgl->pglo->gen_total_length = GT_UNDEF_UWORD;
45 pgl->pglo->gen_offset = GT_UNDEF_UWORD;
46 pgl->maxrange.start = GT_UNDEF_UWORD;
47 pgl->maxrange.end = GT_UNDEF_UWORD;
48
49 pgl->assemblies = gt_array_new(sizeof (GthAGS*));
50 pgl->alignments = gt_array_new(sizeof (GthSA*));
51 pgl->saclusters = gt_array_new(sizeof (GthSACluster*));
52
53 return pgl;
54 }
55
56 static void sa_clusters_free(GtArray *saclusters)
57 {
58 GthSACluster *sacluster;
59 GtUword i;
60 for (i = 0; i < gt_array_size(saclusters); i++) {
61 sacluster = *(GthSACluster**) gt_array_get(saclusters, i);
62 gt_array_delete(sacluster->members);
63 gt_free(sacluster);
64 }
65 gt_array_delete(saclusters);
66 }
67
68 void gth_pgl_delete(GthPGL *pgl)
69 {
70 GtUword i;
71
72 if (!pgl) return;
73
74 for (i = 0; i < gt_array_size(pgl->assemblies); i++)
75 gth_ags_delete(*(GthAGS**) gt_array_get(pgl->assemblies, i));
76 gt_array_delete(pgl->assemblies);
77 /* free the array of (unclustered) spliced alignments */
78 gt_array_delete(pgl->alignments);
79
80 sa_clusters_free(pgl->saclusters);
81
82 gt_free(pgl->pglo);
83 gt_free(pgl);
84 }
85
86 void gth_pgl_add_sa(GthPGL *pgl, GthSA *sa)
87 {
88 gt_assert(pgl && sa);
89
90 /* save genomic sequence number and total length of genomic sequence */
91 if ((pgl->pglo->gen_total_length == GT_UNDEF_UWORD) &&
92 !gt_array_size(pgl->alignments)) {
93 pgl->pglo->gen_file_num = gth_sa_gen_file_num(sa);
94 pgl->pglo->gen_seq_num = gth_sa_gen_seq_num(sa);
95 pgl->pglo->gen_total_length = gth_sa_gen_total_length(sa);
96 pgl->pglo->gen_offset = gth_sa_gen_offset(sa);
97 }
98 #ifndef NDEBUG
99 else {
100 gt_assert(pgl->pglo->gen_file_num == gth_sa_gen_file_num(sa));
101 gt_assert(pgl->pglo->gen_seq_num == gth_sa_gen_seq_num(sa));
102 gt_assert(pgl->pglo->gen_total_length == gth_sa_gen_total_length(sa));
103 gt_assert(pgl->pglo->gen_offset == gth_sa_gen_offset(sa));
104 }
105 #endif
106
107 gt_array_add(pgl->alignments, sa);
108 }
109
110 GthAGS* gth_pgl_get_ags(const GthPGL *pgl, GtUword i)
111 {
112 gt_assert(pgl && pgl->assemblies);
113 gt_assert(i < gt_array_size(pgl->assemblies));
114 return *(GthAGS**) gt_array_get(pgl->assemblies, i);
115 }
116
117 GtUword gth_pgl_num_of_ags(const GthPGL *pgl)
118 {
119 gt_assert(pgl && pgl->assemblies);
120 return gt_array_size(pgl->assemblies);
121 }
122
123 void gth_pgl_set_max_ags(GthPGL *pgl, unsigned int maxagsnum)
124 {
125 GtUword i;
126 gt_assert(pgl && maxagsnum && maxagsnum != GT_UNDEF_UINT);
127 if (maxagsnum < gt_array_size(pgl->assemblies)) {
128 for (i = maxagsnum; i < gt_array_size(pgl->assemblies); i++)
129 gth_ags_delete(*(GthAGS**) gt_array_get(pgl->assemblies, i));
130 gt_array_set_size(pgl->assemblies, maxagsnum);
131 }
132 }
133
134 bool gth_pgl_is_forward(const GthPGL *pgl)
135 {
136 gt_assert(pgl);
137 return pgl->pglo->gen_strand_forward;
138 }
139
140 GtUword gth_pgl_filenum(const GthPGL *pgl)
141 {
142 gt_assert(pgl);
143 return pgl->pglo->gen_file_num;
144 }
145
146 GtUword gth_pgl_seqnum(const GthPGL *pgl)
147 {
148 gt_assert(pgl);
149 return pgl->pglo->gen_seq_num;
150 }
151
152 GtUword gth_pgl_total_length(const GthPGL *pgl)
153 {
154 gt_assert(pgl);
155 return pgl->pglo->gen_total_length;
156 }
157
158 GtUword gth_pgl_genomic_offset(const GthPGL *pgl)
159 {
160 gt_assert(pgl);
161 return pgl->pglo->gen_offset;
162 }
163
164 GtRange gth_pgl_genomic_range(const GthPGL *pgl)
165 {
166 GtUword GT_UNUSED gen_offset, GT_UNUSED gen_total_length;
167 GtRange range;
168 GthAGS *ags;
169 gt_assert(pgl);
170
171 gen_offset = pgl->pglo->gen_offset;
172 gen_total_length = pgl->pglo->gen_total_length;
173
174 /* dirty hack to make SHOWGENPOSAGS work */
175 ags = gth_pgl_get_ags(pgl, 0);
176 range.start = gth_pgl_is_forward(pgl)
177 ? SHOWGENPOSAGS(pgl->maxrange.start)
178 : SHOWGENPOSAGS(pgl->maxrange.end);
179 range.end = gth_pgl_is_forward(pgl)
180 ? SHOWGENPOSAGS(pgl->maxrange.end)
181 : SHOWGENPOSAGS(pgl->maxrange.start);
182 gt_assert(range.start <= range.end);
183
184 return range;
185 }
186
187 GtStrand gth_pgl_genomic_strand(const GthPGL *pgl)
188 {
189 gt_assert(pgl);
190 return pgl->pglo->gen_strand_forward ? GT_STRAND_FORWARD : GT_STRAND_REVERSE;
191 }
192
193 const char* gth_pgl_gen_id(const GthPGL *pgl)
194 {
195 gt_assert(pgl);
196 /* the genomic ID is the same for every AGS */
197 return gt_str_get(gth_ags_get_gen_id(gth_pgl_get_ags(pgl, 0)));
198 }
+0
-65
src/gth/pgl.h less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef PGL_H
18 #define PGL_H
19
20 #include "core/array.h"
21 #include "core/error.h"
22 #include "extended/node_visitor_api.h"
23 #include "gth/sa.h"
24
25 typedef struct {
26 GthSA *representative; /* the representative of this cluster */
27 GtArray *members; /* additional members of this cluster */
28 } GthSACluster;
29
30 typedef struct GthPGLObject GthPGLObject;
31
32 typedef struct {
33 GtRange maxrange; /* contains the leftmost and rightmost sequence
34 position of all AGSs in this PGL */
35 GtArray *assemblies; /* contains all assemblies (AGSs) */
36
37 /* this goes into the assembly phase */
38 GtArray *alignments; /* contains the underlying alignments */
39
40 /* this is computed in the assembly phase */
41 GtArray *saclusters;
42
43 GthPGLObject *pglo;
44 } GthPGL;
45
46 GthPGL* gth_pgl_new(bool forward);
47 void gth_pgl_delete(GthPGL*);
48 void gth_pgl_add_sa(GthPGL*, GthSA*);
49 /* Returns alternative gene structure <i> from <pgl>. */
50 struct GthAGS* gth_pgl_get_ags(const GthPGL*, GtUword i);
51 /* Returns the number of alternative gene structures in <pgl>. */
52 GtUword gth_pgl_num_of_ags(const GthPGL*);
53 /* Set the maximum number of AGSs (<maxagsnum>) which are allowed for <pgl>. */
54 void gth_pgl_set_max_ags(GthPGL *pgl, unsigned int maxagsnum);
55 bool gth_pgl_is_forward(const GthPGL*);
56 GtUword gth_pgl_filenum(const GthPGL*);
57 GtUword gth_pgl_seqnum(const GthPGL*);
58 GtUword gth_pgl_total_length(const GthPGL*);
59 GtUword gth_pgl_genomic_offset(const GthPGL*);
60 GtRange gth_pgl_genomic_range(const GthPGL*);
61 GtStrand gth_pgl_genomic_strand(const GthPGL*);
62 const char* gth_pgl_gen_id(const GthPGL*);
63
64 #endif
+0
-241
src/gth/pgl_collection.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/parseutils.h"
18 #include "core/undef_api.h"
19 #include "core/unused_api.h"
20 #include "extended/consensus_sa.h"
21 #include "gth/ags_build.h"
22 #include "gth/pgl_collection.h"
23 #include "gth/gthcluster.h"
24 #include "gth/gthsortags.h"
25 #include "gth/sa_cmp.h"
26
27 #define PGLS_DELIMITERCHAR '-'
28
29 struct GthPGLCollection {
30 GtArray *pgls;
31 };
32
33 /* necessary to call consensus_sa() */
34 static GtRange pgl_get_genomic_range(const void *sa)
35 {
36 GthSACluster *sacluster = *(GthSACluster**) sa;
37 return gth_sa_range_actual(sacluster->representative);
38 }
39
40 /* necessary to call consensus_sa() */
41 static GtStrand pgl_get_strand(const void *sa)
42 {
43 GthSACluster *sacluster = *(GthSACluster**) sa;
44 gt_assert(sacluster);
45 return gth_sa_gen_strand(sacluster->representative);
46 }
47
48 /* necessary to call consensus_sa() */
49 static void get_exons_func(GtArray *exons, const void *sa)
50 {
51 GthSACluster *sacluster = *(GthSACluster**) sa;
52 GtArray *genomicexons;
53 GtRange exon;
54 GtUword i;
55
56 genomicexons = gt_array_new(sizeof (GtRange));
57 gth_sa_get_exons(sacluster->representative, genomicexons);
58 gt_assert(!gt_array_size(exons));
59 for (i = 0; i < gt_array_size(genomicexons); i++) {
60 exon.start = ((GtRange*) gt_array_get(genomicexons, i))->start;
61 exon.end = ((GtRange*) gt_array_get(genomicexons, i))->end;
62 gt_array_add(exons, exon);
63 }
64 gt_array_delete(genomicexons);
65 }
66
67 /* necessary to call consensus_sa() */
68 static void process_splice_form_func(GtArray *spliced_alignments_in_form,
69 GT_UNUSED const void *set_of_sas,
70 GT_UNUSED GtUword number_of_sas,
71 GT_UNUSED size_t size_of_sa,
72 void *userdata)
73 {
74 GthPGL *pgl = (GthPGL*) userdata;
75 GthAGS *ags;
76 GtBittab *assemblytab;
77 GtUword i;
78
79 ags = gth_ags_new(pgl);
80
81 assemblytab = gt_bittab_new(gt_array_size(pgl->saclusters));
82 for (i = 0; i < gt_array_size(spliced_alignments_in_form); i++) {
83 gt_bittab_set_bit(assemblytab, *(GtUword*)
84 gt_array_get(spliced_alignments_in_form, i));
85 }
86
87 gth_build_AGS_from_assembly(ags, assemblytab, pgl->saclusters);
88
89 gt_bittab_delete(assemblytab);
90
91 gt_array_add(pgl->assemblies, ags);
92 }
93
94 void assemble_cluster(GthPGL *pgl, bool disableclustersas)
95 {
96 GthSACluster *sacluster;
97 GthSA *sa;
98 GtUword i;
99
100 sacluster = gt_malloc(sizeof (GthSACluster));
101 sacluster->representative = *(GthSA**) gt_array_get_first(pgl->alignments);
102 sacluster->members = gt_array_new(sizeof (GthSA*));
103
104 for (i = 1; i < gt_array_size(pgl->alignments); i++) {
105 sa = *(GthSA**) gt_array_get(pgl->alignments, i);
106 if (disableclustersas ||
107 gth_sa_cmp_genomic_actual(&sacluster->representative, &sa)) {
108 /* spliced alignments differ -> create a new cluster */
109 gt_array_add(pgl->saclusters, sacluster);
110 sacluster = gt_malloc(sizeof (GthSACluster));
111 sacluster->representative = sa;
112 sacluster->members = gt_array_new(sizeof (GthSA*));
113 }
114 else {
115 /* spliced alignments are equal -> store new sa also in current cluster */
116 gt_array_add(sacluster->members, sa);
117 }
118 }
119
120 /* store last cluster */
121 gt_array_add(pgl->saclusters, sacluster);
122 }
123
124 GthPGLCollection* gth_pgl_collection_new(GthSACollection *sacollection,
125 bool disableclustersas)
126 {
127 GthPGLCollection *pgl_collection;
128 GthPGL *pgl;
129 GtUword i;
130 gt_assert(sacollection);
131
132 /* init */
133 pgl_collection = gt_malloc(sizeof *pgl_collection);
134 pgl_collection->pgls = gt_array_new(sizeof (GthPGL*));
135
136 /* cluster alignments */
137 gthclusterSAstoPGLs(pgl_collection->pgls, sacollection);
138
139 /* assemble (clustered) alignments */
140 for (i = 0; i < gt_array_size(pgl_collection->pgls); i++) {
141 pgl = *(GthPGL**) gt_array_get(pgl_collection->pgls, i);
142 /* sort the spliced alignments */
143 qsort(gt_array_get_space(pgl->alignments), gt_array_size(pgl->alignments),
144 sizeof (GthSA*), gth_sa_cmp_genomic_actual);
145
146 /* cluster spliced alignments which are equal on the genomic sequence.
147 this way we only have to consider one spliced alignment for each cluster
148 later on */
149 assemble_cluster(pgl, disableclustersas);
150
151 /* call consensus phase */
152 gt_consensus_sa(gt_array_get_space(pgl->saclusters),
153 gt_array_size(pgl->saclusters),
154 sizeof (GthSACluster*), pgl_get_genomic_range,
155 pgl_get_strand, get_exons_func, process_splice_form_func,
156 pgl);
157 }
158
159 return pgl_collection;
160 }
161
162 void gth_pgl_collection_delete(GthPGLCollection *pgl_collection)
163 {
164 GtUword i;
165 if (!pgl_collection) return;
166 for (i = 0; i < gt_array_size(pgl_collection->pgls); i++)
167 gth_pgl_delete(*(GthPGL**) gt_array_get(pgl_collection->pgls, i));
168 gt_array_delete(pgl_collection->pgls);
169 gt_free(pgl_collection);
170 }
171
172 void gth_pgl_collection_sortAGSs(GthPGLCollection *pgl_collection,
173 double sortagswf)
174 {
175 gt_assert(pgl_collection && pgl_collection->pgls);
176 /* sort AGSs according to the weighted mean of the average exon score and
177 the average splice site probability */
178 gth_sortAGSs(pgl_collection->pgls, sortagswf);
179 }
180
181 void gth_pgl_collection_set_max_ags(GthPGLCollection *pgl_collection,
182 unsigned int maxagsnum)
183 {
184 GtUword i;
185 gt_assert(pgl_collection && maxagsnum && maxagsnum != GT_UNDEF_UINT);
186 for (i = 0; i < gt_array_size(pgl_collection->pgls); i++) {
187 gth_pgl_set_max_ags(*(GthPGL**) gt_array_get(pgl_collection->pgls, i),
188 maxagsnum);
189 }
190 }
191
192 static GthPGL* gth_pgl_collection_get(const GthPGLCollection *pgl_collection,
193 GtUword i)
194 {
195 gt_assert(pgl_collection && pgl_collection->pgls);
196 gt_assert(i < gt_array_size(pgl_collection->pgls));
197 return *(GthPGL**) gt_array_get(pgl_collection->pgls, i);
198 }
199
200 GtUword gth_pgl_collection_size(const GthPGLCollection *pgl_collection)
201 {
202 gt_assert(pgl_collection && pgl_collection->pgls);
203 return gt_array_size(pgl_collection->pgls);
204 }
205
206 void gth_pgl_collection_traverse(const GthPGLCollection *pgl_collection,
207 GthPGLVisitor *pgl_visitor, GthInput *input,
208 bool use_desc_ranges)
209 {
210 GtUword i;
211 gt_assert(pgl_collection && pgl_visitor && input);
212 gth_pgl_visitor_preface(pgl_visitor, gth_pgl_collection_size(pgl_collection));
213 for (i = 0; i < gth_pgl_collection_size(pgl_collection); i++) {
214 GtRegionMapping *region_mapping;
215 GtUword file_num, seq_num, offset = 1;
216 GthSeqCon *seq_con;
217 GthPGL *pgl = gth_pgl_collection_get(pgl_collection, i);
218 file_num = gth_pgl_filenum(pgl);
219 gth_input_load_genomic_file(input, file_num, false);
220 seq_con = gth_input_current_gen_seq_con(input);
221 seq_num = gth_pgl_seqnum(pgl);
222 if (use_desc_ranges) {
223 GtRange descrange;
224 GtStr *description = gt_str_new();
225 gth_input_get_genomic_description(input, description, file_num, seq_num);
226 if (!gt_parse_description_range(gt_str_get(description), &descrange))
227 offset = descrange.start;
228 gt_str_delete(description);
229 }
230 region_mapping =
231 gt_region_mapping_new_rawseq((const char*)
232 gth_seq_con_get_orig_seq(seq_con, seq_num),
233 gth_seq_con_get_length(seq_con, seq_num),
234 offset);
235 gth_pgl_visitor_set_region_mapping(pgl_visitor, region_mapping);
236 gth_pgl_visitor_visit_pgl(pgl_visitor, pgl, i);
237 gt_region_mapping_delete(region_mapping);
238 }
239 gth_pgl_visitor_trailer(pgl_visitor);
240 }
+0
-44
src/gth/pgl_collection.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2009 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef PGL_COLLECTION_H
18 #define PGL_COLLECTION_H
19
20 #include "gth/gthoutput.h"
21 #include "gth/sa_collection.h"
22 #include "gth/pgl.h"
23 #include "gth/pgl_visitor.h"
24
25 typedef struct GthPGLCollection GthPGLCollection;
26
27 GthPGLCollection* gth_pgl_collection_new(GthSACollection*,
28 bool disableclustersas);
29 void gth_pgl_collection_delete(GthPGLCollection*);
30 /* Sort the alternative gene structures (AGSs) in <pgl_collection> according to
31 weight factor <sortagswf>. */
32 void gth_pgl_collection_sortAGSs(GthPGLCollection*,
33 double sortagswf);
34 /* Set the maximum number of AGSs (<maxagsnum>) which are allowed per PGL. */
35 void gth_pgl_collection_set_max_ags(GthPGLCollection*,
36 unsigned int maxagsnum);
37 /* Returns the number of consensus spliced alignments in <pgl_collection>. */
38 GtUword gth_pgl_collection_size(const GthPGLCollection*);
39 void gth_pgl_collection_traverse(const GthPGLCollection*,
40 GthPGLVisitor*, GthInput*,
41 bool use_desc_ranges);
42
43 #endif
+0
-73
src/gth/pgl_visitor.c less more
0 /*
1 Copyright (c) 2008-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/unused_api.h"
18 #include "gth/pgl_visitor_rep.h"
19
20 GthPGLVisitor* gth_pgl_visitor_create(const GthPGLVisitorClass *pglvc)
21 {
22 GthPGLVisitor *pglv;
23 gt_assert(pglvc && pglvc->size);
24 pglv = gt_calloc(1, pglvc->size);
25 pglv->c_class = pglvc;
26 return pglv;
27 }
28
29 void* gth_pgl_visitor_cast(GT_UNUSED const GthPGLVisitorClass *pglvc,
30 GthPGLVisitor *pglv)
31 {
32 gt_assert(pglvc && pglv && pglv->c_class == pglvc);
33 return pglv;
34 }
35
36 void gth_pgl_visitor_preface(GthPGLVisitor *pglv, GtUword num_of_pgls)
37 {
38 gt_assert(pglv && pglv->c_class);
39 if (pglv->c_class->preface)
40 pglv->c_class->preface(pglv, num_of_pgls);
41 }
42
43 void gth_pgl_visitor_set_region_mapping(GthPGLVisitor *pglv,
44 GtRegionMapping *region_mapping)
45 {
46 gt_assert(pglv && region_mapping && pglv->c_class);
47 if (pglv->c_class->set_region_mapping)
48 pglv->c_class->set_region_mapping(pglv, region_mapping);
49 }
50
51 void gth_pgl_visitor_visit_pgl(GthPGLVisitor *pglv, GthPGL *pgl,
52 GtUword pglnum)
53 {
54 gt_assert(pglv && pgl && pglv->c_class && pglv->c_class->visit_pgl);
55 pglv->c_class->visit_pgl(pglv, pgl, pglnum);
56 }
57
58 void gth_pgl_visitor_trailer(GthPGLVisitor *pglv)
59 {
60 gt_assert(pglv && pglv->c_class);
61 if (pglv->c_class->trailer)
62 pglv->c_class->trailer(pglv);
63 }
64
65 void gth_pgl_visitor_delete(GthPGLVisitor *pglv)
66 {
67 if (!pglv) return;
68 gt_assert(pglv->c_class);
69 if (pglv->c_class->free)
70 pglv->c_class->free(pglv);
71 gt_free(pglv);
72 }
+0
-34
src/gth/pgl_visitor.h less more
0 /*
1 Copyright (c) 2008-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef PGL_VISITOR_H
18 #define PGL_VISITOR_H
19
20 #include "extended/region_mapping_api.h"
21 #include "gth/pgl.h"
22
23 /* the ``predicted gene location visitor'' interface */
24 typedef struct GthPGLVisitorClass GthPGLVisitorClass;
25 typedef struct GthPGLVisitor GthPGLVisitor;
26
27 void gth_pgl_visitor_preface(GthPGLVisitor*, GtUword num_of_pgls);
28 void gth_pgl_visitor_set_region_mapping(GthPGLVisitor*, GtRegionMapping*);
29 void gth_pgl_visitor_visit_pgl(GthPGLVisitor*, GthPGL*, GtUword pglnum);
30 void gth_pgl_visitor_trailer(GthPGLVisitor*);
31 void gth_pgl_visitor_delete(GthPGLVisitor*);
32
33 #endif
+0
-40
src/gth/pgl_visitor_rep.h less more
0 /*
1 Copyright (c) 2008-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef PGL_VISITOR_REP_H
18 #define PGL_VISITOR_REP_H
19
20 #include "gth/pgl_visitor.h"
21
22 /* the ``predicted gene location visitor'' interface */
23 struct GthPGLVisitorClass {
24 size_t size;
25 void (*free)(GthPGLVisitor*);
26 void (*preface)(GthPGLVisitor*, GtUword num_of_pgls);
27 void (*set_region_mapping)(GthPGLVisitor*, GtRegionMapping*);
28 void (*visit_pgl)(GthPGLVisitor*, GthPGL*, GtUword pglnum);
29 void (*trailer)(GthPGLVisitor*);
30 };
31
32 struct GthPGLVisitor {
33 const GthPGLVisitorClass *c_class;
34 };
35
36 GthPGLVisitor* gth_pgl_visitor_create(const GthPGLVisitorClass*);
37 void* gth_pgl_visitor_cast(const GthPGLVisitorClass*, GthPGLVisitor*);
38
39 #endif
+0
-44
src/gth/plugins.h less more
0 /*
1 Copyright (c) 2009-2010 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef PLUGINS_H
17 #define PLUGINS_H
18
19 #include "gth/align_dna.h"
20 #include "gth/align_protein.h"
21 #include "gth/input.h"
22 #include "gth/jump_table.h"
23 #include "gth/matcher.h"
24 #include "gth/seq_con.h"
25
26 typedef struct {
27 GthInputFilePreprocessor file_preprocessor; /* required */
28 GthSeqConConstructor seq_con_new; /* required */
29 GthMatcherArgumentsNew matcher_arguments_new; /* required */
30 GthMatcherArgumentsDelete matcher_arguments_delete; /* required */
31 GthMatcherRunner matcher_runner; /* required */
32 const char *gth_version; /* required */
33 GtShowVersionFunc gth_version_func; /* required */
34
35 /* the optional jump table methods */
36 GthJumpTableNew jump_table_new;
37 GthJumpTableNewReverse jump_table_new_reverse;
38 GthJumpTableDelete jump_table_delete;
39 GthDNACompletePathMatrixJT dna_complete_path_matrix_jt;
40 GthProteinCompletePathMatrixJT protein_complete_path_matrix_jt;
41 } GthPlugins;
42
43 #endif
+0
-139
src/gth/proc_sa_collection.c less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "gth/proc_sa_collection.h"
19 #include "gth/gthsadistri.h"
20 #include "gth/pgl_collection.h"
21 #include "gth/gff3_pgl_visitor.h"
22 #include "gth/gff3_sa_visitor.h"
23 #include "gth/txt_pgl_visitor.h"
24 #include "gth/txt_sa_visitor.h"
25 #include "gth/xml_final_sa_visitor.h"
26 #include "gth/xml_inter_sa_visitor.h"
27 #include "gth/xml_pgl_visitor.h"
28
29 static void calc_sa_distributions(GthStat *stat, GthSACollection *sa_collection)
30 {
31 gt_assert(stat);
32 /* compute exon and intron length distributions */
33 if (gth_stat_get_exondistri(stat) || gth_stat_get_introndistri(stat)) {
34 gthcalcSAdistributions(gth_stat_get_exondistri(stat),
35 gth_stat_get_introndistri(stat),
36 gth_stat_get_exondistribution(stat),
37 gth_stat_get_introndistribution(stat),
38 sa_collection);
39 }
40 }
41
42 void gth_proc_sa_collection(GthSACollection *sa_collection,
43 GthCallInfo *call_info,
44 GthInput *input, GthStat *stat,
45 unsigned int indentlevel)
46 {
47 if (call_info->out->showverbose)
48 call_info->out->showverbose("output spliced alignments");
49
50 gth_input_delete_current(input);
51
52 /* output alignments */
53 if (!call_info->out->skipalignmentout) {
54 GthSAVisitor *sa_visitor;
55 if (call_info->out->xmlout) {
56 if (call_info->intermediate) {
57 sa_visitor = gth_xml_inter_sa_visitor_new(input, indentlevel + 1,
58 call_info->out->outfp);
59 }
60 else {
61 sa_visitor = gth_xml_final_sa_visitor_new(input,
62 call_info->dp_options_core
63 ->dpminintronlength,
64 call_info->translationtable,
65 indentlevel,
66 call_info->out->outfp);
67 }
68 }
69 else if (call_info->out->gff3out) {
70 sa_visitor = gth_gff3_sa_visitor_new(input,
71 call_info->out->gff3descranges,
72 call_info->out->outfp);
73 }
74 else {
75 sa_visitor = gth_txt_sa_visitor_new(input, call_info->out->gs2out,
76 call_info->dp_options_core
77 ->dpminintronlength,
78 call_info->out->widthforgenpos,
79 call_info->out->showintronmaxlen,
80 call_info->translationtable,
81 call_info->out->showseqnums,
82 call_info->out->outfp);
83 }
84 gth_sa_collection_traverse(sa_collection, sa_visitor, input);
85 gth_sa_visitor_delete(sa_visitor);
86 }
87
88 if (gth_sa_collection_contains_sa(sa_collection) &&
89 !call_info->intermediate) { /* do not stop after SA computation */
90 GthPGLCollection *pgl_collection;
91 GthPGLVisitor *pgl_visitor;
92 if (call_info->out->showverbose)
93 call_info->out->showverbose("compute predicted gene locations");
94
95 /* compute PGLs */
96 pgl_collection = gth_pgl_collection_new(sa_collection,
97 call_info->disableclustersas);
98 if (call_info->out->sortags)
99 gth_pgl_collection_sortAGSs(pgl_collection, call_info->out->sortagswf);
100
101 if (call_info->out->maxagsnum != GT_UNDEF_UINT)
102 gth_pgl_collection_set_max_ags(pgl_collection, call_info->out->maxagsnum);
103
104 if (call_info->out->showverbose)
105 call_info->out->showverbose("output predicted gene locations");
106
107 /* save memory statistics for PGLs */
108 gth_stat_increase_numofPGLs_stored(stat,
109 gth_pgl_collection_size(pgl_collection));
110
111 /* output PGLs */
112 if (call_info->out->xmlout) {
113 pgl_visitor = gth_xml_pgl_visitor_new(input, call_info->translationtable,
114 indentlevel + 1, call_info->out);
115 }
116 else if (call_info->out->gff3out) {
117 pgl_visitor = gth_gff3_pgl_visitor_new(input,
118 call_info->out->gff3descranges,
119 call_info->out->minORFlength,
120 call_info->out->start_codon,
121 call_info->out->final_stop_codon,
122 call_info->out->outfp);
123 }
124 else {
125 pgl_visitor = gth_txt_pgl_visitor_new(input, call_info->translationtable,
126 indentlevel + 1, call_info->out);
127 }
128 gth_pgl_collection_traverse(pgl_collection, pgl_visitor, input,
129 call_info->out->gff3descranges);
130 gth_pgl_visitor_delete(pgl_visitor);
131
132 /* free*/
133 gth_pgl_collection_delete(pgl_collection);
134 }
135
136 /* compute exon and intron length distributions */
137 calc_sa_distributions(stat, sa_collection);
138 }
+0
-26
src/gth/proc_sa_collection.h less more
0 /*
1 Copyright (c) 2003-2008 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef PROC_SA_COLLECTION_H
18 #define PROC_SA_COLLECTION_H
19
20 #include "gth/sa_collection.h"
21
22 void gth_proc_sa_collection(GthSACollection*, GthCallInfo*, GthInput*,
23 GthStat*, unsigned int indentlevel);
24
25 #endif
+0
-272
src/gth/region_factory.c less more
0 /*
1 Copyright (c) 2008-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/cstr_table.h"
18 #include "core/basename_api.h"
19 #include "core/ma.h"
20 #include "core/hashmap_api.h"
21 #include "core/parseutils.h"
22 #include "core/undef_api.h"
23 #include "core/unused_api.h"
24 #include "gth/region_factory.h"
25
26 typedef struct {
27 GtUword num_of_files,
28 *num_of_sequences;
29 GtStr ***store;
30 GtUword **offsets;
31 } SeqidStore;
32
33 static SeqidStore* seqid_store_new(GthInput *input)
34 {
35 SeqidStore *ss;
36 GtUword i, j;
37 gt_assert(input);
38 ss = gt_malloc(sizeof *ss);
39 ss->num_of_files = gth_input_num_of_gen_files(input);
40 ss->num_of_sequences = gt_calloc(ss->num_of_files, sizeof (GtUword));
41 /* allocate room for store */
42 ss->store = gt_calloc(ss->num_of_files, sizeof *ss->store);
43 for (i = 0; i < ss->num_of_files; i++) {
44 gth_input_load_genomic_file(input, i, false);
45 ss->num_of_sequences[i] = gth_input_num_of_gen_seqs(input, i);
46 ss->store[i] = gt_calloc(ss->num_of_sequences[i], sizeof **ss->store);
47 }
48 /* allocate room for offsets */
49 ss->offsets = gt_malloc(ss->num_of_files * sizeof *ss->offsets);
50 for (i = 0; i < ss->num_of_files; i++)
51 ss->offsets[i] = gt_malloc(ss->num_of_sequences[i] * sizeof **ss->offsets);
52 /* initialize offsets to undefined values */
53 for (i = 0; i < ss->num_of_files; i++) {
54 for (j = 0; j < ss->num_of_sequences[i]; j++)
55 ss->offsets[i][j] = GT_UNDEF_UWORD;
56 }
57 return ss;
58 }
59
60 static void seqid_store_delete(SeqidStore *ss)
61 {
62 GtUword i, j;
63 if (!ss) return;
64 for (i = 0; i < ss->num_of_files; i++)
65 gt_free(ss->offsets[i]);
66 gt_free(ss->offsets);
67 for (i = 0; i < ss->num_of_files; i++) {
68 for (j = 0; j < ss->num_of_sequences[i]; j++)
69 gt_str_delete(ss->store[i][j]);
70 gt_free(ss->store[i]);
71 }
72 gt_free(ss->store);
73 gt_free(ss->num_of_sequences);
74 gt_free(ss);
75 }
76
77 static void seqid_store_add(SeqidStore *ss, GtUword filenum,
78 GtUword seqnum, GtStr *seqid,
79 GtUword offset)
80 {
81 gt_assert(ss && seqid);
82 gt_assert(gt_str_length(seqid)); /* is not empty */
83 gt_assert(filenum < ss->num_of_files);
84 gt_assert(seqnum < ss->num_of_sequences[filenum]);
85 gt_assert(!ss->store[filenum][seqnum]); /* is unused */
86 ss->store[filenum][seqnum] = gt_str_clone(seqid);
87 ss->offsets[filenum][seqnum] = offset == GT_UNDEF_UWORD ? 1 : offset;
88 }
89
90 static GtStr* seqid_store_get(SeqidStore *ss, GtUword filenum,
91 GtUword seqnum)
92 {
93 GtStr *seqid;
94 gt_assert(ss);
95 gt_assert(filenum < ss->num_of_files);
96 gt_assert(seqnum < ss->num_of_sequences[filenum]);
97 gt_assert(ss->store[filenum][seqnum]); /* is used */
98 seqid = ss->store[filenum][seqnum];
99 gt_assert(gt_str_length(seqid)); /* is not empty */
100 return seqid;
101 }
102
103 static GtUword seqid_store_offset(SeqidStore *ss, GtUword filenum,
104 GtUword seqnum)
105 {
106 GtUword offset;
107 gt_assert(ss);
108 gt_assert(filenum < ss->num_of_files);
109 gt_assert(seqnum < ss->num_of_sequences[filenum]);
110 offset = ss->offsets[filenum][seqnum];
111 gt_assert(offset != GT_UNDEF_UWORD); /* is defined */
112 return offset;
113 }
114
115 struct GthRegionFactory{
116 GtCstrTable *used_seqids;
117 bool factory_was_used,
118 use_desc_ranges;
119 SeqidStore *seqid_store;
120 };
121
122 GthRegionFactory* gth_region_factory_new(bool use_desc_ranges)
123 {
124 GthRegionFactory *srf = gt_calloc(1, sizeof *srf);
125 srf->used_seqids = gt_cstr_table_new();
126 srf->use_desc_ranges = use_desc_ranges;
127 return srf;
128 }
129
130 void gth_region_factory_delete(GthRegionFactory *srf)
131 {
132 if (!srf) return;
133 gt_cstr_table_delete(srf->used_seqids);
134 seqid_store_delete(srf->seqid_store);
135 gt_free(srf);
136 }
137
138 static void make_sequence_region(GtHashmap *sequence_regions,
139 GtStr *sequenceid,
140 GthRegionFactory *srf,
141 GthInput *input,
142 GtUword filenum,
143 GtUword seqnum)
144 {
145 GtUword offset_is_defined = false;
146 GtRange range, descrange;
147 GtGenomeNode *sr = NULL;
148 gt_assert(sequence_regions && sequenceid && srf && input);
149 if (gth_input_use_substring_spec(input)) {
150 range.start = gth_input_genomic_substring_from(input);
151 range.end = gth_input_genomic_substring_to(input);
152 }
153 else {
154 range = gth_input_get_relative_genomic_range(input, filenum, seqnum);
155 }
156 if (srf->use_desc_ranges) {
157 GtStr *description = gt_str_new();
158 gth_input_get_genomic_description(input, description, filenum, seqnum);
159 if (!gt_parse_description_range(gt_str_get(description), &descrange))
160 offset_is_defined = true;
161 gt_str_delete(description);
162 }
163 if (offset_is_defined)
164 range = gt_range_offset(&range, descrange.start);
165 else
166 range = gt_range_offset(&range, 1); /* 1-based */
167 if (!gt_str_length(sequenceid) ||
168 (gt_cstr_table_get(srf->used_seqids, gt_str_get(sequenceid)) &&
169 !offset_is_defined)) {
170 /* sequenceid is empty or exists already (and no offset has been parsed)
171 -> make one up */
172 GtStr *seqid;
173 char *base;
174 base = gt_basename(gth_input_get_genomic_filename(input, filenum));
175 seqid = gt_str_new_cstr(base);
176 gt_free(base);
177 gt_str_append_char(seqid, '|');
178 gt_str_append_uword(seqid, seqnum + 1); /* 1-based */
179 seqid_store_add(srf->seqid_store, filenum, seqnum, seqid, GT_UNDEF_UWORD);
180 gt_assert(!gt_cstr_table_get(srf->used_seqids, gt_str_get(seqid)));
181 gt_cstr_table_add(srf->used_seqids, gt_str_get(seqid));
182 sr = gt_region_node_new(seqid_store_get(srf->seqid_store, filenum, seqnum),
183 range.start, range.end);
184 gt_hashmap_add(sequence_regions,
185 (void*) gt_cstr_table_get(srf->used_seqids,
186 gt_str_get(seqid)),
187 sr);
188 gt_str_delete(seqid);
189 }
190 else {
191 /* sequenceid does not exists already (or an offset has been parsed)
192 -> use this one */
193 if (!gt_cstr_table_get(srf->used_seqids, gt_str_get(sequenceid))) {
194 /* no sequence region with this id exists -> create one */
195 gt_cstr_table_add(srf->used_seqids, gt_str_get(sequenceid));
196 seqid_store_add(srf->seqid_store, filenum, seqnum, sequenceid,
197 offset_is_defined ? descrange.start : GT_UNDEF_UWORD);
198 sr = gt_region_node_new(seqid_store_get(srf->seqid_store, filenum,
199 seqnum), range.start, range.end);
200 gt_hashmap_add(sequence_regions,
201 (void*) gt_cstr_table_get(srf->used_seqids,
202 gt_str_get(sequenceid)),
203 sr);
204 }
205 else {
206 GtRange prev_range, new_range;
207 /* sequence region with this id exists already -> modify range */
208 sr = gt_hashmap_get(sequence_regions, gt_str_get(sequenceid));
209 gt_assert(sr);
210 prev_range = gt_genome_node_get_range(sr);
211 new_range = gt_range_join(&prev_range, &range);
212 gt_genome_node_set_range(sr, &new_range);
213 seqid_store_add(srf->seqid_store, filenum, seqnum, sequenceid,
214 offset_is_defined ? descrange.start : GT_UNDEF_UWORD);
215 }
216 }
217 gt_assert(sr);
218 }
219
220 static int save_sequence_region(GT_UNUSED void *key, void *value, void *data,
221 GT_UNUSED GtError *err)
222 {
223 GtGenomeNode *sr = value;
224 GtArray *nodes = data;
225 gt_error_check(err);
226 gt_assert(sr && nodes);
227 gt_array_add(nodes, sr);
228 return 0;
229 }
230
231 void gth_region_factory_save(GthRegionFactory *rf, GtArray *nodes,
232 GthInput *input)
233 {
234 GtHashmap *sequence_regions;
235 GtUword i, j;
236 GtStr *sequenceid;
237 GT_UNUSED int had_err;
238 gt_assert(rf && nodes && input);
239 gt_assert(!rf->factory_was_used);
240 rf->seqid_store = seqid_store_new(input);
241 sequence_regions = gt_hashmap_new(GT_HASH_STRING, NULL, NULL);
242 sequenceid = gt_str_new();
243 for (i = 0; i < gth_input_num_of_gen_files(input); i++) {
244 gth_input_load_genomic_file(input, i, false);
245 for (j = 0; j < gth_input_num_of_gen_seqs(input, i); j++) {
246 gt_str_reset(sequenceid);
247 gth_input_save_gen_identifier(input, sequenceid, i, j);
248 make_sequence_region(sequence_regions, sequenceid, rf, input, i, j);
249 }
250 }
251 gt_str_delete(sequenceid);
252 had_err = gt_hashmap_foreach_in_key_order(sequence_regions,
253 save_sequence_region, nodes, NULL);
254 gt_assert(!had_err); /* should not happen */
255 gt_hashmap_delete(sequence_regions);
256 rf->factory_was_used = true;
257 }
258
259 GtStr* gth_region_factory_get_seqid(GthRegionFactory *srf,
260 GtUword filenum, GtUword seqnum)
261 {
262 gt_assert(srf && srf->factory_was_used);
263 return seqid_store_get(srf->seqid_store, filenum, seqnum);
264 }
265
266 GtWord gth_region_factory_offset(GthRegionFactory *srf, GtUword filenum,
267 GtUword seqnum)
268 {
269 gt_assert(srf && srf->factory_was_used);
270 return seqid_store_offset(srf->seqid_store, filenum, seqnum);
271 }
+0
-39
src/gth/region_factory.h less more
0 /*
1 Copyright (c) 2008-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef REGION_FACTORY_H
18 #define REGION_FACTORY_H
19
20 #include "extended/node_visitor_api.h"
21 #include "gth/input.h"
22
23 typedef struct GthRegionFactory GthRegionFactory;
24
25 GthRegionFactory* gth_region_factory_new(bool use_desc_ranges);
26 void gth_region_factory_delete(GthRegionFactory*);
27 /* Use <region_factory> to produce sequence regions for each genomic sequence in
28 <input> and save them in the array <nodes>. */
29 void gth_region_factory_save(GthRegionFactory *region_factory,
30 GtArray *nodes, GthInput *input);
31 GtStr* gth_region_factory_get_seqid(GthRegionFactory*,
32 GtUword filenum,
33 GtUword seqnum);
34 GtWord gth_region_factory_offset(GthRegionFactory*,
35 GtUword filenum,
36 GtUword seqnum);
37
38 #endif
+0
-188
src/gth/run_header.c less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/cstr_array.h"
18 #include "gth/indent.h"
19 #include "gth/showbool.h"
20 #include "gth/time.h"
21 #include "gth/call_info.h"
22 #include "gth/gthspeciestab.h"
23 #include "gth/run_header.h"
24
25 /* The name of the splice site models. */
26 #define SPLICE_SITE_MODEL_NAME "Bayesian"
27
28 /* The name of the generic species */
29 #define GENERIC_SPECIES_NAME "generic"
30
31 static void show_overall_reference_type(GthAlphatype overallalphatype,
32 unsigned int indentlevel,
33 GtFile *outfp)
34 {
35 gth_indent(outfp, indentlevel);
36 gt_file_xprintf(outfp, "<overall_reference_type>");
37 switch (overallalphatype)
38 {
39 case DNA_ALPHA:
40 gt_file_xprintf(outfp, "ESTcDNA");
41 break;
42 case PROTEIN_ALPHA:
43 gt_file_xprintf(outfp, "Protein");
44 break;
45 case MIXED_ALPHA:
46 gt_file_xprintf(outfp, "Mixed");
47 break;
48 default: gt_assert(0);
49 }
50 gt_file_xprintf(outfp, "</overall_reference_type>\n");
51 }
52
53 static void show_xml_run_header(GthCallInfo *call_info, GthInput *input,
54 const char *timestring, const char *gth_version,
55 unsigned int indentlevel, const char **args)
56 {
57 GtFile *outfp = call_info->out->outfp;
58 GtUword i;
59
60 gth_indent(outfp, indentlevel);
61 if (call_info->intermediate) {
62 gt_file_xprintf(outfp, "<header xmlns=\"http://www.GenomeThreader.org/"
63 "SplicedAlignment/header/\">\n");
64 }
65 else {
66 gt_file_xprintf(outfp,
67 "<header xmlns=\"http://www.genomethreader.org/GTH_output/"
68 "header/\">\n");
69 }
70
71 /* at least one genomic file defined */
72 gt_assert(gth_input_num_of_gen_files(input));
73 /* at least one reference file defined */
74 gt_assert(gth_input_num_of_ref_files(input));
75
76 /* show a readable version of GthCallInfo. That is, it is shown with wich
77 parameters the program was called */
78
79 indentlevel++;
80 gth_indent(outfp, indentlevel);
81 gt_file_xprintf(outfp, "<source program=\"GenomeThreader\" version=\"%s\" "
82 "build_date=\"redacted\" run_date=\"%s\"/>\n", gth_version,
83 timestring);
84
85 /* show genomic file names */
86 gth_indent(outfp, indentlevel);
87 gt_file_xprintf(outfp, "<gDNA_template_files>\n");
88 indentlevel++;
89
90 for (i = 0; i < gth_input_num_of_gen_files(input); i++) {
91 gth_indent(outfp, indentlevel);
92 gt_file_xprintf(outfp, "<temp_name>%s</temp_name>\n",
93 gth_input_get_genomic_filename(input, i));
94 }
95
96 indentlevel--;
97 gth_indent(outfp, indentlevel);
98 gt_file_xprintf(outfp, "</gDNA_template_files>\n");
99
100 /* show reference file names */
101 gth_indent(outfp, indentlevel);
102 gt_file_xprintf(outfp, "<reference_files>\n");
103 indentlevel++;
104
105 for (i = 0; i < gth_input_num_of_ref_files(input); i++) {
106 gth_indent(outfp, indentlevel);
107 gt_file_xprintf(outfp, "<file ref_name=\"%s\" type=\"%s\"/>\n",
108 gth_input_get_reference_filename(input, i),
109 gth_input_get_alphatype(input, i) == DNA_ALPHA
110 ? "ESTcDNA" : "Protein");
111 }
112
113 indentlevel--;
114 gth_indent(outfp, indentlevel);
115 gt_file_xprintf(outfp, "</reference_files>\n");
116
117 gth_indent(outfp, indentlevel);
118 gt_file_xprintf(outfp, "<splice_site_parameters parameter_type=\"%s\" "
119 "species=\"%s\"/>\n", SPLICE_SITE_MODEL_NAME,
120 call_info->speciesnum == NUMOFSPECIES
121 ? GENERIC_SPECIES_NAME
122 : speciestab[call_info->speciesnum]);
123
124 gth_indent(outfp, indentlevel);
125 gt_file_xprintf(outfp, "<parameters>\n");
126 indentlevel++;
127
128 /* output name of BSSM file */
129 gth_indent(outfp, indentlevel);
130 gt_file_xprintf(outfp, "<parameter name=\"bssmfile\" value=\"%s\"/>\n",
131 gth_input_bssmfilename(input));
132
133 /* output name of scorematrix */
134 gth_indent(outfp, indentlevel);
135 gt_file_xprintf(outfp, "<parameter name=\"scorematrixfile\" value=\"%s\"/>\n",
136 gt_str_get(call_info->scorematrixfile));
137
138 /* output searchmode */
139 gth_indent(outfp, indentlevel);
140 gt_file_xprintf(outfp, "<parameter name=\"searchmode\" "
141 "value=\"forward=%s,reverse=%s)\"/>\n",
142 GTH_SHOWBOOL(gth_input_forward(input)),
143 GTH_SHOWBOOL(gth_input_reverse(input)));
144
145 /* output arguments as comment */
146 gt_file_xprintf(outfp, "<!--\n%c Arguments: ", COMMENTCHAR);
147 gt_cstr_array_show_genfile(args, outfp);
148 gt_file_xprintf(outfp, "-->\n");
149
150 indentlevel--;
151 gth_indent(outfp, indentlevel);
152 gt_file_xprintf(outfp, "</parameters>\n");
153
154 show_overall_reference_type(gth_input_overall_alphatype(input),
155 indentlevel, outfp);
156
157 indentlevel--;
158 gth_indent(outfp, indentlevel);
159 gt_file_xprintf(outfp, "</header>\n");
160 }
161
162 void gth_run_header_show(GthCallInfo *call_info, GthInput *input,
163 const char *gth_version, unsigned int indentlevel,
164 const char **args)
165 {
166 char *timestring;
167 GtFile *outfp = call_info->out->outfp;
168
169 /* determine time */
170 timestring = gth_get_time();
171
172 /* output XML header */
173 if (call_info->out->xmlout) {
174 show_xml_run_header(call_info, input, timestring, gth_version, indentlevel,
175 args);
176 }
177 else if (!call_info->out->gff3out) {
178 gt_file_xprintf(outfp, "%c GenomeThreader %s\n", COMMENTCHAR,
179 gth_version);
180 gt_file_xprintf(outfp, "%c Date run: %s\n", COMMENTCHAR, timestring);
181 gt_file_xprintf(outfp, "%c Arguments: ", COMMENTCHAR);
182 gt_cstr_array_show_genfile(args, outfp);
183 }
184
185 /* free */
186 gt_free(timestring);
187 }
+0
-27
src/gth/run_header.h less more
0 /*
1 Copyright (c) 2003-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef RUN_HEADER_H
18 #define RUN_HEADER_H
19
20 #include "gth/stat.h"
21
22 /* output the run header in plain or XML format */
23 void gth_run_header_show(GthCallInfo*, GthInput*, const char *gth_version,
24 unsigned int indentlevel, const char **args);
25
26 #endif
+0
-1485
src/gth/sa.c less more
0 /*
1 Copyright (c) 2003-2012 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/mathsupport.h"
18 #include "core/md5_seqid.h"
19 #include "core/safearith.h"
20 #include "core/undef_api.h"
21 #include "core/unused_api.h"
22 #include "extended/gff3_escaping.h"
23 #include "gth/default.h"
24 #include "gth/sa.h"
25 #include "gth/txt_sa_visitor.h"
26
27 #define SA_DELIMITERLINECHAR '*'
28 #define CALCPOLYATAILWINDOW 50
29 #define MINIMUMPOLYATAILLENGTH 10
30
31 /* Keep in sync with gth_sas_are_equal()! */
32 struct GthSA {
33 GthBacktracePath *backtrace_path; /* the edit operations */
34 GtUword gen_total_length, /* total length of the genomic sequence */
35 gen_offset, /* offset of the genomic sequence where
36 this SA refers to */
37 ref_total_length, /* total length of reference sequence */
38 gen_file_num, /* genomic file number */
39 gen_seq_num, /* genomic sequence number */
40 ref_file_num, /* reference file number */
41 ref_seq_num; /* reference sequence number */
42 GtStr *gen_id, /* contains id of genomic sequence */
43 *ref_id, /* contains id of reference sequence */
44 *gen_md5, /* contains MD5 of genomic sequence, if
45 necessary */
46 *ref_md5, /* contains MD5 of reference sequence, if
47 necessary */
48 *gen_desc, /* contains description of genomic
49 sequence, if necessary */
50 *ref_desc; /* contains description of reference
51 sequence, if necessary */
52 bool gen_strand_forward, /* equals true, iff the alignment relates
53 to the forward strand of the genomic
54 sequence */
55 ref_strand_forward; /* equals true, iff the alignment relates
56 to the forward strand of the reference
57 sequence */
58 GtArray *exons, /* contains the information about all
59 exons */
60 *introns; /* contains the information about all
61 introns */
62 GtRange polyAtailpos; /* (GS2 = ppa), contains the positions of
63 the poly-A tail in the reference
64 sequence. Iff both positions are equal
65 to zero, no poly-A tail could be
66 determined. */
67 GthFlt alignmentscore, /* the score of the alignment
68 (GS2 = simscore) */
69 coverage; /* coverage of the genomic DNA or cDNA
70 segment, whichever is highest
71 (GS2 = cvrge) */
72 bool genomic_cov_is_highest; /* (GS2 = no equivalent) */
73 GtUword cumlen_scored_exons, /* cumulative length of scored exons
74 (GS2 = mlgth) */
75 call_number; /* the consecutive number of successful DP
76 calls. not really usefull, only for
77 compatibility with GS2 */
78 GtStr *gff3_target_attribute;
79 };
80
81 GthSA* gth_sa_new(void)
82 {
83 GthSA *sa;
84
85 /* allocating space */
86 sa = gt_calloc(1, sizeof *sa);
87
88 /* initialize strings */
89 sa->gen_id = gt_str_new();
90 sa->ref_id = gt_str_new();
91
92 /* initialize all arrays */
93 sa->backtrace_path = gth_backtrace_path_new(GT_UNDEF_UWORD,
94 GT_UNDEF_UWORD,
95 0, /* ref_dp_start */
96 GT_UNDEF_UWORD);
97 sa->exons = gt_array_new(sizeof (Exoninfo));
98 sa->introns = gt_array_new(sizeof (Introninfo));
99
100 return sa;
101 }
102
103 GthSA* gth_sa_new_and_set(bool gen_strand_forward,
104 bool ref_strand_forward,
105 GthInput *input,
106 GtUword gen_file_num,
107 GtUword gen_seq_num,
108 GtUword ref_file_num,
109 GtUword ref_seq_num,
110 GtUword call_number,
111 GtUword gen_total_length,
112 GtUword gen_offset,
113 GtUword ref_total_length)
114 {
115 GthSA *sa;
116
117 /* alloc and init of arrays */
118 sa = gth_sa_new();
119
120 /* setting the strand directions */
121 sa->gen_strand_forward = gen_strand_forward;
122 sa->ref_strand_forward = ref_strand_forward;
123
124 /* saving sequence ids */
125 gth_input_save_gen_id(input, sa->gen_id, gen_file_num, gen_seq_num);
126 gth_input_save_ref_id(input, sa->ref_id, ref_file_num, ref_seq_num);
127
128 /* saving MD5s, if necessary */
129 gth_input_save_gen_md5(input, &sa->gen_md5, gen_file_num, gen_seq_num);
130 gth_input_save_ref_md5(input, &sa->ref_md5, ref_file_num, ref_seq_num);
131
132 /* saving descriptions, if necessary */
133 gth_input_save_gen_desc(input, &sa->gen_desc, gen_file_num, gen_seq_num);
134 gth_input_save_ref_desc(input, &sa->ref_desc, ref_file_num, ref_seq_num);
135
136 /* save the consecutive call number */
137 sa->call_number = call_number;
138
139 /* save total length of genomic sequence */
140 sa->gen_total_length = gen_total_length;
141
142 /* save genomic offset */
143 sa->gen_offset = gen_offset;
144
145 /* save total length of reference sequence */
146 sa->ref_total_length = ref_total_length;
147 gth_backtrace_path_set_ref_dp_length(sa->backtrace_path, ref_total_length);
148
149 /* save file and sequence numbers */
150 sa->gen_file_num = gen_file_num;
151 sa->gen_seq_num = gen_seq_num;
152 sa->ref_file_num = ref_file_num;
153 sa->ref_seq_num = ref_seq_num;
154
155 return sa;
156 }
157
158 void gth_sa_set(GthSA *sa, GthAlphatype ref_alphatype,
159 GtUword gen_dp_start, GtUword gen_dp_length)
160 {
161 gth_backtrace_path_set_gen_dp_start(sa->backtrace_path, gen_dp_start);
162 gth_backtrace_path_set_gen_dp_length(sa->backtrace_path, gen_dp_length);
163 gth_sa_set_score(sa, 0.0);
164 gth_sa_set_coverage(sa, 0.0);
165 gth_sa_set_highest_cov(sa, true);
166 gth_sa_set_cumlen_scored_exons(sa, 0);
167 /* reset edit operations */
168 gth_backtrace_path_reset(sa->backtrace_path);
169 gth_backtrace_path_set_alphatype(sa->backtrace_path, ref_alphatype);
170 /* reset arrays */
171 gt_array_reset(sa->exons);
172 gt_array_reset(sa->introns);
173 }
174
175 void gth_sa_set_gen_dp_length(GthSA *sa, GtUword gen_dp_length)
176 {
177 gt_assert(sa);
178 gth_backtrace_path_set_gen_dp_length(sa->backtrace_path, gen_dp_length);
179 }
180
181 void gth_sa_delete(GthSA *sa)
182 {
183 if (!sa) return;
184 gth_backtrace_path_delete(sa->backtrace_path);
185 gt_array_delete(sa->exons);
186 gt_array_delete(sa->introns);
187 gt_str_delete(sa->gen_id);
188 gt_str_delete(sa->ref_id);
189 gt_str_delete(sa->gen_md5);
190 gt_str_delete(sa->ref_md5);
191 gt_str_delete(sa->gen_desc);
192 gt_str_delete(sa->ref_desc);
193 gt_str_delete(sa->gff3_target_attribute);
194 gt_free(sa);
195 }
196
197 void gth_sa_show_exons(const GthSA *sa, GtFile *outfp)
198 {
199 Exoninfo *exoninfo;
200 GtUword i;
201 gt_assert(sa);
202 for (i = 0; i < gt_array_size(sa->exons); i++) {
203 exoninfo = (Exoninfo*) gt_array_get(sa->exons, i);
204 gt_file_xprintf(outfp, "("GT_WU","GT_WU")", exoninfo->leftgenomicexonborder,
205 exoninfo->rightgenomicexonborder);
206 }
207 gt_file_xfputc('\n', outfp);
208 }
209
210 void gth_sa_get_exons(const GthSA *sa, GtArray *ranges)
211 {
212 Exoninfo *exoninfo;
213 GtUword i;
214 GtRange range;
215 gt_assert(sa && ranges);
216 for (i = 0; i < gt_array_size(sa->exons); i++) {
217 exoninfo = gt_array_get(sa->exons, i);
218 range.start = exoninfo->leftgenomicexonborder;
219 range.end = exoninfo->rightgenomicexonborder;
220 gt_array_add(ranges, range);
221 }
222 }
223
224 #ifndef NDEBUG
225 bool gth_sa_exons_are_forward_and_consecutive(const GthSA *sa)
226 {
227 GtArray *ranges;
228 gt_assert(sa);
229 ranges = gt_array_new(sizeof (GtRange));
230 gth_sa_get_exons(sa, ranges);
231 if (!gt_ranges_are_consecutive(ranges)) {
232 gt_array_delete(ranges);
233 return false;
234 }
235 gt_array_delete(ranges);
236 return true;
237 }
238 #endif
239
240 GtRange gth_sa_range_forward(const GthSA *sa)
241 {
242 GtRange range;
243 GtUword leftgenomicborder, rightgenomicborder;
244
245 gt_assert(sa);
246
247 leftgenomicborder = ((Exoninfo*) gt_array_get_first(sa->exons))
248 ->leftgenomicexonborder;
249 rightgenomicborder = ((Exoninfo*) gt_array_get_last(sa->exons))
250 ->rightgenomicexonborder;
251
252 if (sa->gen_strand_forward) {
253 range.start = leftgenomicborder;
254 range.end = rightgenomicborder;
255 }
256 else {
257 /* genomic offset is defined */
258 gt_assert(sa->gen_offset != GT_UNDEF_UWORD);
259 range.start = sa->gen_total_length - 1
260 - (rightgenomicborder - sa->gen_offset)
261 + sa->gen_offset;
262 range.end = sa->gen_total_length - 1
263 - (leftgenomicborder - sa->gen_offset)
264 + sa->gen_offset;
265 }
266
267 return range;
268 }
269
270 GtRange gth_sa_range_actual(const GthSA *sa)
271 {
272 GtRange range;
273
274 gt_assert(sa);
275
276 range.start = ((Exoninfo*) gt_array_get_first(sa->exons))
277 ->leftgenomicexonborder;
278 range.end = ((Exoninfo*) gt_array_get_last(sa->exons))
279 ->rightgenomicexonborder;
280
281 return range;
282 }
283
284 GthFlt gth_sa_average_splice_site_prob(const GthSA *sa)
285 {
286 GtUword i, numofintrons;
287 GthFlt averagepdpa = 0.0;
288 Introninfo *introninfo;
289 gt_assert(sa);
290 numofintrons = gt_array_size(sa->introns);
291 if (numofintrons > 0) {
292 for (i = 0; i < numofintrons; i++) {
293 introninfo = gt_array_get(sa->introns, i);
294 averagepdpa += introninfo->donorsiteprobability;
295 averagepdpa += introninfo->acceptorsiteprobability;
296 }
297 averagepdpa /= (2 * numofintrons);
298 }
299 return averagepdpa;
300 }
301
302 bool gth_sa_is_poor(const GthSA *sa, GthFlt minaveragessp)
303 {
304 GtUword num_of_introns;
305 GthFlt averagepdpa;
306
307 gt_assert(sa);
308
309 num_of_introns = gt_array_size(sa->introns);
310 averagepdpa = gth_sa_average_splice_site_prob(sa);
311
312 if (num_of_introns == 0 &&
313 sa->polyAtailpos.start > sa->polyAtailpos.end)
314 return true;
315 if (num_of_introns == 1 &&
316 averagepdpa < (GthFlt) (1.5 * minaveragessp)) {
317 return true;
318 }
319 if (num_of_introns > 1 && averagepdpa < minaveragessp)
320 return true;
321
322 return false;
323 }
324
325 bool gth_sa_B_is_better_than_A(const GthSA *saA, const GthSA *saB)
326 {
327 GthFlt firstaveragepdpa, secondaveragepdpa;
328
329 gt_assert(saA && saB);
330
331 firstaveragepdpa = gth_sa_average_splice_site_prob(saA);
332 secondaveragepdpa = gth_sa_average_splice_site_prob(saB);
333
334 if (gt_array_size(saA->introns) == 0 ||
335 (gt_array_size(saB->introns) > 0 &&
336 secondaveragepdpa > firstaveragepdpa)) {
337 return true;
338 }
339 else
340 return false;
341 }
342
343 GtUword gth_sa_left_genomic_exon_border(const GthSA *sa,
344 GtUword exon)
345 {
346 Exoninfo *exoninfo;
347 gt_assert(sa);
348 exoninfo = gth_sa_get_exon(sa, exon);
349 return SHOWGENPOS(sa->gen_strand_forward,
350 sa->gen_total_length,
351 sa->gen_offset, exoninfo->leftgenomicexonborder);
352 }
353
354 GtUword gth_sa_right_genomic_exon_border(const GthSA *sa,
355 GtUword exon)
356 {
357 Exoninfo *exoninfo;
358 gt_assert(sa);
359 exoninfo = gth_sa_get_exon(sa, exon);
360 return SHOWGENPOS(sa->gen_strand_forward,
361 sa->gen_total_length,
362 sa->gen_offset, exoninfo->rightgenomicexonborder);
363 }
364
365 double gth_sa_exon_score(const GthSA *sa, GtUword exon)
366 {
367 Exoninfo *exoninfo;
368 gt_assert(sa);
369 exoninfo = gth_sa_get_exon(sa, exon);
370 return exoninfo->exonscore;
371 }
372
373 GtRange gth_sa_donor_site_range(const GthSA *sa, GtUword intron)
374 {
375 GtRange range;
376 gt_assert(sa);
377 range.start = gth_sa_left_intron_border(sa, intron);
378 range.end = range.start + 1;
379 return range;
380 }
381
382 GtRange gth_sa_acceptor_site_range(const GthSA *sa, GtUword intron)
383 {
384 GtRange range;
385 gt_assert(sa);
386 range.end = gth_sa_right_intron_border(sa, intron);
387 range.start = range.end - 1;
388 return range;
389 }
390
391 float gth_sa_donor_site_prob(const GthSA *sa, GtUword intron)
392 {
393 float prob;
394 gt_assert(sa);
395 prob = ((Introninfo*) gt_array_get(sa->introns, intron))
396 ->donorsiteprobability;
397 if (0.0005 > prob) /* return only three positions after decimal point */
398 return 0.0;
399 return prob;
400 }
401
402 float gth_sa_acceptor_site_prob(const GthSA *sa, GtUword intron)
403 {
404 float prob;
405 gt_assert(sa);
406 prob = ((Introninfo*) gt_array_get(sa->introns, intron))
407 ->acceptorsiteprobability;
408 if (0.0005 > prob) /* return only three positions after decimal point */
409 return 0.0;
410 return prob;
411 }
412
413 GtUword gth_sa_genomic_exon_length(const GthSA *sa, GtUword exon)
414 {
415 Exoninfo *exoninfo;
416 gt_assert(sa);
417 exoninfo = gth_sa_get_exon(sa, exon);
418 return exoninfo->rightgenomicexonborder - exoninfo->leftgenomicexonborder + 1;
419 }
420
421 GtUword gth_sa_left_intron_border(const GthSA *sa, GtUword intron)
422 {
423 Exoninfo *exoninfo;
424 gt_assert(sa);
425 exoninfo = gth_sa_get_exon(sa, intron);
426 return SHOWGENPOS(sa->gen_strand_forward,
427 sa->gen_total_length,
428 sa->gen_offset,
429 exoninfo->rightgenomicexonborder + 1);
430 }
431
432 GtUword gth_sa_right_intron_border(const GthSA *sa, GtUword intron)
433 {
434 Exoninfo *exoninfo;
435 gt_assert(sa);
436 exoninfo = gth_sa_get_exon(sa, intron + 1);
437 return SHOWGENPOS(sa->gen_strand_forward,
438 sa->gen_total_length,
439 sa->gen_offset,
440 exoninfo->leftgenomicexonborder - 1);
441 }
442
443 GtUword gth_sa_intron_length(const GthSA *sa, GtUword intron)
444 {
445 Exoninfo *left_exon, *right_exon;
446 gt_assert(sa);
447 left_exon = gth_sa_get_exon(sa, intron);
448 right_exon = gth_sa_get_exon(sa, intron + 1);
449 return right_exon->leftgenomicexonborder - left_exon->rightgenomicexonborder
450 - 1;
451 }
452
453 GthBacktracePath* gth_sa_backtrace_path(const GthSA *sa)
454 {
455 gt_assert(sa);
456 return sa->backtrace_path;
457 }
458
459 Editoperation* gth_sa_get_editoperations(const GthSA *sa)
460 {
461 gt_assert(sa);
462 return gth_backtrace_path_get(sa->backtrace_path);
463 }
464
465 GtUword gth_sa_get_editoperations_length(const GthSA *sa)
466 {
467 gt_assert(sa);
468 return gth_backtrace_path_length(sa->backtrace_path);
469 }
470
471 GtUword gth_sa_indelcount(const GthSA *sa)
472 {
473 gt_assert(sa);
474 return gth_backtrace_path_indelcount(sa->backtrace_path);
475 }
476
477 GtUword gth_sa_gen_dp_length(const GthSA *sa)
478 {
479 gt_assert(sa);
480 return gth_backtrace_path_gen_dp_length(sa->backtrace_path);
481 }
482
483 GtUword gth_sa_gen_total_length(const GthSA *sa)
484 {
485 gt_assert(sa);
486 return sa->gen_total_length;
487 }
488
489 void gth_sa_set_gen_total_length(GthSA *sa, GtUword gen_total_length)
490 {
491 gt_assert(sa);
492 sa->gen_total_length = gen_total_length;
493 }
494
495 GtUword gth_sa_gen_offset(const GthSA *sa)
496 {
497 gt_assert(sa);
498 return sa->gen_offset;
499 }
500
501 void gth_sa_set_gen_offset(GthSA *sa, GtUword gen_offset)
502 {
503 gt_assert(sa);
504 sa->gen_offset = gen_offset;
505 }
506
507 GtUword gth_sa_ref_total_length(const GthSA *sa)
508 {
509 gt_assert(sa);
510 return sa->ref_total_length;
511 }
512
513 void gth_sa_set_ref_total_length(GthSA *sa, GtUword reflen)
514 {
515 gt_assert(sa);
516 sa->ref_total_length = reflen;
517 /* XXX: ??? */
518 gth_backtrace_path_set_ref_dp_length(sa->backtrace_path, reflen);
519 }
520
521 GtUword gth_sa_gen_dp_start(const GthSA *sa)
522 {
523 gt_assert(sa);
524 return gth_backtrace_path_gen_dp_start(sa->backtrace_path);
525 }
526
527 GtUword gth_sa_gen_dp_start_show(const GthSA *sa)
528 {
529 gt_assert(sa);
530 return SHOWGENPOS(sa->gen_strand_forward,
531 sa->gen_total_length,
532 sa->gen_offset,
533 gth_backtrace_path_gen_dp_start(sa->backtrace_path));
534 }
535
536 void gth_sa_set_gen_dp_start(GthSA *sa, GtUword gen_dp_start)
537 {
538 gt_assert(sa);
539 gth_backtrace_path_set_gen_dp_start(sa->backtrace_path, gen_dp_start);
540 }
541
542 GtUword gth_sa_gen_dp_end(const GthSA *sa)
543 {
544 gt_assert(sa);
545 return gth_sa_gen_dp_start(sa) + gth_sa_gen_dp_length(sa) - 1;
546 }
547
548 GtUword gth_sa_gen_dp_end_show(const GthSA *sa)
549 {
550 gt_assert(sa);
551 return SHOWGENPOS(sa->gen_strand_forward,
552 sa->gen_total_length,
553 sa->gen_offset,
554 gth_sa_gen_dp_start(sa) + gth_sa_gen_dp_length(sa) - 1);
555 }
556
557 GtUword gth_sa_gen_file_num(const GthSA *sa)
558 {
559 gt_assert(sa);
560 return sa->gen_file_num;
561 }
562
563 void gth_sa_set_gen_file_num(GthSA *sa, GtUword filenum)
564 {
565 gt_assert(sa);
566 sa->gen_file_num = filenum;
567 }
568
569 GtUword gth_sa_gen_seq_num(const GthSA *sa)
570 {
571 gt_assert(sa);
572 return sa->gen_seq_num;
573 }
574
575 void gth_sa_set_gen_seq_num(GthSA *sa, GtUword seqnum)
576 {
577 gt_assert(sa);
578 sa->gen_seq_num = seqnum;
579 }
580
581 GtUword gth_sa_ref_file_num(const GthSA *sa)
582 {
583 gt_assert(sa);
584 return sa->ref_file_num;
585 }
586
587 void gth_sa_set_ref_file_num(GthSA *sa, GtUword filenum)
588 {
589 gt_assert(sa);
590 sa->ref_file_num = filenum;
591 }
592
593 GtUword gth_sa_ref_seq_num(const GthSA *sa)
594 {
595 gt_assert(sa);
596 return sa->ref_seq_num;
597 }
598
599 void gth_sa_set_ref_seq_num(GthSA *sa, GtUword seqnum)
600 {
601 gt_assert(sa);
602 sa->ref_seq_num = seqnum;
603 }
604
605 const char* gth_sa_gen_id(const GthSA *sa)
606 {
607 gt_assert(sa);
608 return gt_str_get(sa->gen_id);
609 }
610
611 GtStr* gth_sa_gen_id_str(const GthSA *sa)
612 {
613 gt_assert(sa);
614 return sa->gen_id;
615 }
616
617 void gth_sa_set_gen_id(GthSA *sa, const char *id)
618 {
619 gt_assert(sa);
620 gt_str_set(sa->gen_id, id);
621 }
622
623 const char* gth_sa_ref_id(const GthSA *sa)
624 {
625 gt_assert(sa);
626 return gt_str_get(sa->ref_id);
627 }
628
629 GtStr* gth_sa_ref_id_str(const GthSA *sa)
630 {
631 gt_assert(sa);
632 return sa->ref_id;
633 }
634
635 void gth_sa_set_ref_id(GthSA *sa, const char *id)
636 {
637 gt_assert(sa);
638 gt_str_set(sa->ref_id, id);
639 }
640
641 GtStr* gth_sa_gen_md5(const GthSA *sa)
642 {
643 gt_assert(sa && sa->gen_md5);
644 return sa->gen_md5;
645 }
646
647 GtStr* gth_sa_ref_md5(const GthSA *sa)
648 {
649 gt_assert(sa && sa->ref_md5);
650 return sa->ref_md5;
651 }
652
653 GtStr* gth_sa_gen_desc(const GthSA *sa)
654 {
655 gt_assert(sa && sa->gen_desc);
656 return sa->gen_desc;
657 }
658
659 GtStr* gth_sa_ref_desc(const GthSA *sa)
660 {
661 gt_assert(sa && sa->ref_desc);
662 return sa->ref_desc;
663 }
664
665 GtStrand gth_sa_gen_strand(const GthSA *sa)
666 {
667 gt_assert(sa);
668 return sa->gen_strand_forward ? GT_STRAND_FORWARD : GT_STRAND_REVERSE;
669 }
670
671 bool gth_sa_gen_strand_forward(const GthSA *sa)
672 {
673 gt_assert(sa);
674 return sa->gen_strand_forward;
675 }
676
677 char gth_sa_gen_strand_char(const GthSA *sa)
678 {
679 gt_assert(sa);
680 return SHOWSTRAND(sa->gen_strand_forward);
681 }
682
683 void gth_sa_set_gen_strand(GthSA *sa, bool forward)
684 {
685 gt_assert(sa);
686 sa->gen_strand_forward = forward;
687 }
688
689 bool gth_sa_ref_strand_forward(const GthSA *sa)
690 {
691 gt_assert(sa);
692 return sa->ref_strand_forward;
693 }
694
695 char gth_sa_ref_strand_char(const GthSA *sa)
696 {
697 gt_assert(sa);
698 return SHOWSTRAND(sa->ref_strand_forward);
699 }
700
701 void gth_sa_set_ref_strand(GthSA *sa, bool forward)
702 {
703 gt_assert(sa);
704 sa->ref_strand_forward = forward;
705 }
706
707 GtUword gth_sa_genomiccutoff_start(const GthSA *sa)
708 {
709 gt_assert(sa);
710 return gth_backtrace_path_genomiccutoff_start(sa->backtrace_path);
711 }
712
713 GtUword gth_sa_referencecutoff_start(const GthSA *sa)
714 {
715 gt_assert(sa);
716 return gth_backtrace_path_referencecutoff_start(sa->backtrace_path);
717 }
718
719 GtUword gth_sa_eopcutoff_start(const GthSA *sa)
720 {
721 gt_assert(sa);
722 return gth_backtrace_path_eopcutoff_start(sa->backtrace_path);
723 }
724
725 GtUword gth_sa_genomiccutoff_end(const GthSA *sa)
726 {
727 gt_assert(sa);
728 return gth_backtrace_path_genomiccutoff_end(sa->backtrace_path);
729 }
730
731 GtUword gth_sa_referencecutoff_end(const GthSA *sa)
732 {
733 gt_assert(sa);
734 return gth_backtrace_path_referencecutoff_end(sa->backtrace_path);
735 }
736
737 GtUword gth_sa_eopcutoff_end(const GthSA *sa)
738 {
739 gt_assert(sa);
740 return gth_backtrace_path_eopcutoff_end(sa->backtrace_path);
741 }
742
743 void gth_sa_set_cutoffs_start(GthSA *sa, Cutoffs *cutoffs)
744 {
745 gt_assert(sa && cutoffs);
746 gth_backtrace_path_set_cutoffs_start(sa->backtrace_path, cutoffs);
747 }
748
749 void gth_sa_set_cutoffs_end(GthSA *sa, Cutoffs *cutoffs)
750 {
751 gt_assert(sa && cutoffs);
752 gth_backtrace_path_set_cutoffs_end(sa->backtrace_path, cutoffs);
753 }
754
755 GthAlphatype gth_sa_alphatype(const GthSA *sa)
756 {
757 gt_assert(sa);
758 return gth_backtrace_path_alphatype(sa->backtrace_path);
759 }
760
761 const char* gth_sa_alphastring(const GthSA *sa)
762 {
763 gt_assert(sa);
764 return gth_sa_alphatype(sa) == DNA_ALPHA ? "cDNA" : "Protein";
765 }
766
767 void gth_sa_set_alphatype(GthSA *sa, GthAlphatype alphatype)
768 {
769 gt_assert(sa);
770 gth_backtrace_path_set_alphatype(sa->backtrace_path, alphatype);
771 }
772
773 Exoninfo* gth_sa_get_exon(const GthSA *sa, GtUword exon)
774 {
775 gt_assert(sa && sa->exons);
776 gt_assert(exon < gt_array_size(sa->exons));
777 return gt_array_get(sa->exons, exon);
778 }
779
780 void gth_sa_add_exon(GthSA *sa, Exoninfo *exoninfo)
781 {
782 gt_assert(sa && exoninfo);
783 gt_array_add(sa->exons, *exoninfo);
784 }
785
786 GtUword gth_sa_num_of_exons(const GthSA *sa)
787 {
788 gt_assert(sa && sa->exons);
789 return gt_array_size(sa->exons);
790 }
791
792 Introninfo* gth_sa_get_intron(const GthSA *sa, GtUword intron)
793 {
794 gt_assert(sa && sa->introns);
795 gt_assert(intron < gt_array_size(sa->exons));
796 return gt_array_get(sa->introns, intron);
797 }
798
799 void gth_sa_add_intron(GthSA *sa, Introninfo *introninfo)
800 {
801 gt_assert(sa && introninfo);
802 gt_array_add(sa->introns, *introninfo);
803 }
804
805 GtUword gth_sa_num_of_introns(const GthSA *sa)
806 {
807 gt_assert(sa && sa->introns);
808 return gt_array_size(sa->introns);
809 }
810
811 void gth_sa_calc_polyAtailpos(GthSA *sa, const unsigned char *ref_seq_tran,
812 GtAlphabet *ref_alphabet)
813 {
814 GtUword ppa, mma, rightreferenceborder, referencelength;
815 GtWord i, leftreferenceborder;
816
817 sa->polyAtailpos.start = 0;
818 sa->polyAtailpos.end = 0;
819 ppa = mma = 0;
820
821 rightreferenceborder = ((Exoninfo*) gt_array_get_last(sa->exons))
822 ->rightreferenceexonborder;
823 leftreferenceborder = ((Exoninfo*) gt_array_get_first(sa->exons))
824 ->leftreferenceexonborder;
825
826 /* setting i */
827 referencelength = gth_sa_ref_total_length(sa);
828 if ((rightreferenceborder + 1) >=
829 (referencelength - 1 - CALCPOLYATAILWINDOW)) {
830 i = gt_safe_cast2long(rightreferenceborder + 1);
831 }
832 else {
833 if (referencelength < 1 + CALCPOLYATAILWINDOW)
834 i = 0;
835 else
836 i = referencelength - 1 - CALCPOLYATAILWINDOW;
837 }
838
839 for (/* i already set */; i < gt_safe_cast2long(referencelength); i++) {
840 if (ref_seq_tran[i] == gt_alphabet_encode(ref_alphabet, 'A'))
841 ppa++;
842 else {
843 if (ppa > 0 && mma < 1) {
844 mma++;
845 continue;
846 }
847 else {
848 if (ppa >= MINIMUMPOLYATAILLENGTH)
849 break;
850 else {
851 ppa = mma = 0;
852 continue;
853 }
854 }
855 }
856 }
857
858 if (ppa >= MINIMUMPOLYATAILLENGTH) {
859 sa->polyAtailpos.start = gt_safe_cast2ulong(i - ppa - mma);
860 sa->polyAtailpos.end = i - 1;
861 }
862 else {
863 ppa = mma = 0;
864
865 /* setting i */
866 if ((leftreferenceborder - 1) <= CALCPOLYATAILWINDOW)
867 i = leftreferenceborder - 1;
868 else
869 i = CALCPOLYATAILWINDOW - 1;
870
871 for (/* i already set */; i >= 0; i--) {
872 if (ref_seq_tran[i] == gt_alphabet_encode(ref_alphabet, 'T'))
873 ppa++;
874 else {
875 if (ppa > 0 && mma < 1) {
876 mma++;
877 continue;
878 }
879 else {
880 if (ppa >= MINIMUMPOLYATAILLENGTH)
881 break;
882 else {
883 ppa = mma = 0;
884 continue;
885 }
886 }
887 }
888 }
889
890 if (ppa >= MINIMUMPOLYATAILLENGTH) {
891 sa->polyAtailpos.start = gt_safe_cast2ulong(i + ppa + mma);
892 sa->polyAtailpos.end = i + 1;
893 }
894 }
895 }
896
897 GtUword gth_sa_polyAtail_start(const GthSA *sa)
898 {
899 gt_assert(sa);
900 return sa->polyAtailpos.start;
901 }
902
903 GtUword gth_sa_polyAtail_stop(const GthSA *sa)
904 {
905 gt_assert(sa);
906 return sa->polyAtailpos.end;
907 }
908
909 void gth_sa_set_polyAtail_start(GthSA *sa, GtUword start)
910 {
911 gt_assert(sa);
912 sa->polyAtailpos.start = start;
913 }
914
915 void gth_sa_set_polyAtail_stop(GthSA *sa, GtUword stop)
916 {
917 gt_assert(sa);
918 sa->polyAtailpos.end = stop;
919 }
920
921 GthFlt gth_sa_score(const GthSA *sa)
922 {
923 gt_assert(sa);
924 return sa->alignmentscore;
925 }
926
927 void gth_sa_set_score(GthSA *sa, GthFlt score)
928 {
929 gt_assert(sa);
930 sa->alignmentscore = score;
931 }
932
933 GthFlt gth_sa_coverage(const GthSA *sa)
934 {
935 gt_assert(sa);
936 return sa->coverage;
937 }
938
939 void gth_sa_set_coverage(GthSA *sa, GthFlt coverage)
940 {
941 gt_assert(sa);
942 sa->coverage = coverage;
943 }
944
945 bool gth_sa_genomic_cov_is_highest(const GthSA *sa)
946 {
947 gt_assert(sa);
948 return sa->genomic_cov_is_highest;
949 }
950
951 char gth_sa_coverage_char(const GthSA *sa)
952 {
953 gt_assert(sa);
954 if (gth_sa_genomic_cov_is_highest(sa))
955 return 'G';
956 else {
957 if (gth_sa_alphatype(sa) == DNA_ALPHA)
958 return 'C';
959 else
960 return 'P';
961 }
962 }
963
964 void gth_sa_set_highest_cov(GthSA *sa, bool genomic)
965 {
966 gt_assert(sa);
967 sa->genomic_cov_is_highest = genomic;
968 }
969
970 GtUword gth_sa_cumlen_scored_exons(const GthSA *sa)
971 {
972 gt_assert(sa);
973 return sa->cumlen_scored_exons;
974 }
975
976 void gth_sa_set_cumlen_scored_exons(GthSA *sa, GtUword cumlen)
977 {
978 gt_assert(sa);
979 sa->cumlen_scored_exons = cumlen;
980 }
981
982 GtUword gth_sa_call_number(const GthSA *sa)
983 {
984 gt_assert(sa);
985 return sa->call_number;
986 }
987
988 static void set_gff3_target_attribute(GthSA *sa, bool md5ids)
989 {
990 gt_assert(sa && !sa->gff3_target_attribute);
991 sa->gff3_target_attribute = gt_str_new();
992 if (md5ids) {
993 gt_assert(sa->ref_md5);
994 gt_str_append_cstr(sa->gff3_target_attribute, GT_MD5_SEQID_PREFIX);
995 gt_str_append_str(sa->gff3_target_attribute, sa->ref_md5);
996 gt_str_append_char(sa->gff3_target_attribute, ':');
997 }
998 gt_gff3_escape(sa->gff3_target_attribute, gt_str_get(sa->ref_id),
999 gt_str_length(sa->ref_id));
1000 gt_str_append_char(sa->gff3_target_attribute, ' ');
1001 gt_str_append_uword(sa->gff3_target_attribute,
1002 gth_sa_referencecutoff_start(sa) + 1); /* XXX: use
1003 reference
1004 dpstartpos */
1005 gt_str_append_char(sa->gff3_target_attribute, ' ');
1006 gt_str_append_uword(sa->gff3_target_attribute,
1007 gth_sa_ref_total_length(sa) - /* XXX */
1008 gth_sa_referencecutoff_end(sa));
1009 gt_str_append_char(sa->gff3_target_attribute, ' ');
1010 if (sa->ref_strand_forward) {
1011 gt_str_append_char(sa->gff3_target_attribute,
1012 GT_STRAND_CHARS[GT_STRAND_FORWARD]);
1013 }
1014 else {
1015 gt_str_append_char(sa->gff3_target_attribute,
1016 GT_STRAND_CHARS[GT_STRAND_REVERSE]);
1017 }
1018 }
1019
1020 const char* gth_sa_gff3_target_attribute(GthSA *sa, bool md5ids)
1021 {
1022 gt_assert(sa);
1023 if (!sa->gff3_target_attribute && (md5ids || gt_str_length(sa->ref_id)))
1024 set_gff3_target_attribute(sa, md5ids);
1025 return gt_str_get(sa->gff3_target_attribute);
1026 }
1027
1028 void gth_sa_determine_cutoffs(GthSA *sa, GthCutoffmode leadcutoffsmode,
1029 GthCutoffmode termcutoffsmode,
1030 GtUword cutoffsminexonlen)
1031 {
1032 gt_assert(sa);
1033 gth_backtrace_path_determine_cutoffs(sa->backtrace_path, leadcutoffsmode,
1034 termcutoffsmode, cutoffsminexonlen);
1035 }
1036
1037 void gth_sa_cutoff_start(GthSA *sa)
1038 {
1039 gt_assert(sa);
1040 gth_backtrace_path_cutoff_start(sa->backtrace_path);
1041 }
1042
1043 void gth_sa_cutoff_end(GthSA *sa)
1044 {
1045 gt_assert(sa);
1046 gth_backtrace_path_cutoff_end(sa->backtrace_path);
1047 }
1048
1049 void gth_sa_cutoff_walked_path(GthSA *sa, const GthPathWalker *pw,
1050 bool showeops, GtFile *outfp)
1051 {
1052 gt_assert(sa && pw);
1053 gth_backtrace_path_cutoff_walked_path(sa->backtrace_path, pw, showeops,
1054 outfp);
1055 }
1056
1057 void gth_sa_prepend(GthSA *sa, const GthBacktracePath *eops)
1058 {
1059 gt_assert(sa && eops);
1060 gth_backtrace_path_prepend(sa->backtrace_path, eops);
1061 }
1062
1063 void gth_sa_append(GthSA *sa, const GthBacktracePath *eops)
1064 {
1065 gt_assert(sa && eops);
1066 gth_backtrace_path_append(sa->backtrace_path, eops);
1067 }
1068
1069 void gth_sa_remove_zero_base_exons(GthSA *sa, GthStat *stat)
1070 {
1071 gt_assert(sa);
1072 gth_backtrace_path_remove_zero_base_exons(sa->backtrace_path, stat);
1073 }
1074
1075 bool gth_sa_contains_no_zero_base_exons(const GthSA *sa)
1076 {
1077 gt_assert(sa);
1078 return gth_backtrace_path_contains_no_zero_base_exons(sa->backtrace_path);
1079 }
1080
1081 void gth_sa_echo_genomic_description(const GthSA *sa, GthInput *input,
1082 GtFile *outfp)
1083 {
1084 gt_assert(sa && input);
1085 gth_input_echo_genomic_description(input, sa->gen_file_num,
1086 sa->gen_seq_num, outfp);
1087 }
1088
1089 void gth_sa_echo_reference_description(const GthSA *sa, GthInput *input,
1090 GtFile *outfp)
1091 {
1092 gt_assert(sa && input);
1093 gth_input_echo_reference_description(input, sa->ref_file_num,
1094 sa->ref_seq_num, outfp);
1095 }
1096
1097 void gth_sa_echo_reference_sequence(const GthSA *sa, GthInput *input,
1098 bool format, GtFile *outfp)
1099 {
1100 gt_assert(sa && input);
1101 gth_input_echo_reference_sequence(input, format, sa->ref_file_num,
1102 sa->ref_seq_num, sa->ref_strand_forward,
1103 outfp);
1104 }
1105
1106 void gth_sa_echo_alignment(const GthSA *sa, GtUword showintronmaxlen,
1107 GtUword translationtable,
1108 bool wildcardimplosion, GthInput *input,
1109 GtFile *outfp)
1110 {
1111 GtUword genomicstartcutoff, genomicendcutoff, genomictotalcutoff,
1112 referencestartcutoff, referenceendcutoff, referencetotalcutoff;
1113 bool reverse_subject_pos = false;
1114 const unsigned char *gen_seq_orig, *ref_seq_orig;
1115 GthSeqCon *ref_seq_con;
1116 GtAlphabet *ref_alphabet;
1117
1118 gt_assert(sa && input);
1119
1120 /* only for cosmetic reasons */
1121 genomicstartcutoff = gth_sa_genomiccutoff_start(sa);
1122 genomicendcutoff = gth_sa_genomiccutoff_end(sa);
1123 genomictotalcutoff = genomicstartcutoff + genomicendcutoff;
1124 referencestartcutoff = gth_sa_referencecutoff_start(sa);
1125 referenceendcutoff = gth_sa_referencecutoff_end(sa);
1126 referencetotalcutoff = referencestartcutoff + referenceendcutoff;
1127
1128 /* make sure that the correct files are loaded */
1129 gth_input_load_reference_file(input, gth_sa_ref_file_num(sa), false);
1130 ref_seq_con = gth_input_current_ref_seq_con(input);
1131 ref_alphabet = gth_input_current_ref_alphabet(input);
1132
1133 /* If the reverse complement of the genomic DNA is considered, this
1134 opition is needed for correct output of the genomic sequence positions
1135 by the function showalignmentgeneric() */
1136 if (!gth_sa_gen_strand_forward(sa))
1137 reverse_subject_pos = true;
1138
1139 /* get genomic sequence */
1140 gen_seq_orig =
1141 gth_input_original_genomic_sequence(input, sa->gen_file_num,
1142 sa->gen_strand_forward)
1143 + gth_sa_gen_dp_start(sa);
1144
1145 /* get reference sequence */
1146 if (gth_sa_ref_strand_forward(sa)) {
1147 ref_seq_orig =
1148 gth_seq_con_get_orig_seq(ref_seq_con, gth_sa_ref_seq_num(sa));
1149 }
1150 else {
1151 ref_seq_orig =
1152 gth_seq_con_get_orig_seq_rc(ref_seq_con, gth_sa_ref_seq_num(sa));
1153 }
1154
1155 switch (gth_sa_alphatype(sa)) {
1156 case DNA_ALPHA:
1157 gthshowalignmentdna(outfp,ALIGNMENTLINEWIDTH,
1158 gth_sa_get_editoperations(sa),
1159 gth_sa_get_editoperations_length(sa),
1160 gth_sa_indelcount(sa),
1161 gen_seq_orig + genomicstartcutoff,
1162 gth_sa_gen_dp_length(sa) - genomictotalcutoff,
1163 ref_seq_orig + referencestartcutoff,
1164 gth_sa_ref_total_length(sa) -
1165 referencetotalcutoff,
1166 gth_sa_gen_dp_start(sa) + genomicstartcutoff -
1167 gth_sa_gen_offset(sa), referencestartcutoff,
1168 gth_sa_gen_total_length(sa), showintronmaxlen,
1169 ref_alphabet, reverse_subject_pos,
1170 wildcardimplosion);
1171 break;
1172 case PROTEIN_ALPHA:
1173 gthshowalignmentprotein(outfp, ALIGNMENTLINEWIDTH,
1174 gth_sa_get_editoperations(sa),
1175 gth_sa_get_editoperations_length(sa),
1176 gth_sa_indelcount(sa),
1177 gen_seq_orig + genomicstartcutoff,
1178 gth_sa_gen_dp_length(sa) - genomictotalcutoff,
1179 ref_seq_orig + referencestartcutoff,
1180 gth_sa_ref_total_length(sa) -
1181 referencetotalcutoff,
1182 gth_sa_gen_dp_start(sa) + genomicstartcutoff -
1183 gth_sa_gen_offset(sa), referencestartcutoff,
1184 gth_sa_gen_total_length(sa), showintronmaxlen,
1185 ref_alphabet, translationtable,
1186 gth_input_score_matrix(input),
1187 gth_input_score_matrix_alpha(input),
1188 reverse_subject_pos, wildcardimplosion);
1189 break;
1190 default: gt_assert(0);
1191 }
1192 }
1193
1194 GtUword gth_sa_get_alignment_lines(const GthSA *sa,
1195 unsigned char **first_line,
1196 unsigned char **second_line,
1197 unsigned char **third_line,
1198 GtUword translationtable,
1199 GthInput *input)
1200 {
1201 GtUword genomicstartcutoff, genomicendcutoff, genomictotalcutoff,
1202 referencestartcutoff, referenceendcutoff, referencetotalcutoff;
1203 GT_UNUSED bool reverse_subject_pos = false;
1204
1205 gt_assert(sa && first_line && second_line && third_line && input);
1206
1207 /* only for cosmetic reasons */
1208 genomicstartcutoff = gth_sa_genomiccutoff_start(sa);
1209 genomicendcutoff = gth_sa_genomiccutoff_end(sa);
1210 genomictotalcutoff = genomicstartcutoff + genomicendcutoff;
1211 referencestartcutoff = gth_sa_referencecutoff_start(sa);
1212 referenceendcutoff = gth_sa_referencecutoff_end(sa);
1213 referencetotalcutoff = referencestartcutoff + referenceendcutoff;
1214
1215 /* sequences */
1216 unsigned char *gen_seq_orig, *ref_seq_orig;
1217 GtUword cols = 0;
1218 GthSeqCon *ref_seq_con;
1219
1220 /* make sure that the correct files are loaded */
1221 gth_input_load_reference_file(input, gth_sa_ref_file_num(sa), false);
1222 ref_seq_con = gth_input_current_ref_seq_con(input);
1223
1224 /* If the reverse complement of the genomic DNA is considered, this
1225 opition is needed for correct output of the genomic sequence positions
1226 by the function showalignmentgeneric() */
1227 if (!gth_sa_gen_strand_forward(sa))
1228 reverse_subject_pos = true;
1229
1230 /* get genomic sequence */
1231 gen_seq_orig = (unsigned char*)
1232 gth_input_original_genomic_sequence(input, gth_sa_gen_file_num(sa),
1233 gth_sa_gen_strand_forward(sa))
1234 + gth_sa_gen_dp_start(sa);
1235
1236 /* get reference sequence */
1237 if (gth_sa_ref_strand_forward(sa)) {
1238 ref_seq_orig =
1239 gth_seq_con_get_orig_seq(ref_seq_con, gth_sa_ref_seq_num(sa));
1240 }
1241 else {
1242 ref_seq_orig =
1243 gth_seq_con_get_orig_seq_rc(ref_seq_con, gth_sa_ref_seq_num(sa));
1244 }
1245
1246 switch (gth_sa_alphatype(sa)) {
1247 case DNA_ALPHA:
1248 /* compute the two alignment lines */
1249 cols = gthfillthetwoalignmentlines(first_line,
1250 second_line,
1251 gen_seq_orig +
1252 genomicstartcutoff,
1253 gth_sa_gen_dp_length(sa) -
1254 genomictotalcutoff,
1255 ref_seq_orig +
1256 referencestartcutoff,
1257 gth_sa_ref_total_length(sa) -
1258 referencetotalcutoff,
1259 gth_sa_get_editoperations(sa),
1260 gth_sa_get_editoperations_length(sa),
1261 0, /* linewidth not important here */
1262 0, /* no short introns here */
1263 NULL,/* therefore no shortintroninfo */
1264 gth_sa_indelcount(sa));
1265 *third_line = NULL;
1266 break;
1267 case PROTEIN_ALPHA:
1268 /* compute the three alignment lines */
1269 cols = gthfillthethreealignmentlines(first_line,
1270 second_line,
1271 third_line,
1272 gth_sa_get_editoperations(sa),
1273 gth_sa_get_editoperations_length(sa),
1274 gth_sa_indelcount(sa),
1275 gen_seq_orig +
1276 genomicstartcutoff,
1277 gth_sa_gen_dp_length(sa) -
1278 genomictotalcutoff,
1279 ref_seq_orig +
1280 referencestartcutoff,
1281 gth_sa_ref_total_length(sa) -
1282 referencetotalcutoff,
1283 translationtable);
1284 break;
1285 default: gt_assert(0);
1286 }
1287
1288 return cols;
1289 }
1290
1291 bool gth_sa_is_valid(const GthSA *sa)
1292 {
1293 gt_assert(sa);
1294 return gth_backtrace_path_is_valid(sa->backtrace_path);
1295 }
1296
1297 void gth_sa_show(GthSA *sa, GthInput *input, GtFile *outfp)
1298 {
1299 GthSAVisitor *sa_visitor;
1300 gt_assert(sa && input);
1301 gth_input_load_genomic_file(input, sa->gen_file_num, false);
1302 gth_input_load_reference_file(input, sa->ref_file_num, false);
1303 sa_visitor = gth_txt_sa_visitor_new(input,
1304 GTH_DEFAULT_GS2OUT,
1305 GTH_DEFAULT_DPMININTRONLENGTH,
1306 6, /* XXX */
1307 GTH_DEFAULT_SHOWINTRONMAXLEN,
1308 GTH_DEFAULT_TRANSLATIONTABLE,
1309 GTH_DEFAULT_SHOWSEQNUMS,
1310 outfp);
1311 gth_sa_visitor_visit_sa(sa_visitor, sa);
1312 gth_sa_visitor_delete(sa_visitor);
1313 }
1314
1315 void gth_sa_save_ref_md5(GthSA *sa, GthInput *input)
1316 {
1317 gt_assert(sa && input);
1318 gth_input_save_ref_md5(input, &sa->ref_md5, sa->ref_file_num,
1319 sa->ref_seq_num);
1320 }
1321
1322 bool gth_sas_are_equal(const GthSA *saA, const GthSA *saB)
1323 {
1324 Exoninfo *exoninfoA, *exoninfoB;
1325 Introninfo *introninfoA, *introninfoB;
1326 GtUword i;
1327
1328 /* compare element 0 */
1329 if (gth_sa_alphatype(saA) != gth_sa_alphatype(saB))
1330 return false;
1331
1332 /* compare element 1 */
1333 if (gth_backtrace_path_length(saA->backtrace_path) !=
1334 gth_backtrace_path_length(saB->backtrace_path)) {
1335 return false;
1336 }
1337 for (i = 0; i < gth_backtrace_path_length(saA->backtrace_path); i++) {
1338 if (((Editoperation*) gth_backtrace_path_get(saA->backtrace_path))[i] !=
1339 ((Editoperation*) gth_backtrace_path_get(saB->backtrace_path))[i]) {
1340 return false;
1341 }
1342 }
1343
1344 /* element 2 has been removed (indelcount) */
1345
1346 /* compare element 3 */
1347 if (gth_sa_gen_dp_length(saA) != gth_sa_gen_dp_length(saB))
1348 return false;
1349
1350 /* compare element 4 */
1351 if (saA->gen_total_length != saB->gen_total_length)
1352 return false;
1353
1354 /* compare element 5 */
1355 if (saA->gen_offset != saB->gen_offset)
1356 return false;
1357
1358 /* compare element 6 */
1359 if (gth_sa_ref_total_length(saA) != gth_sa_ref_total_length(saB))
1360 return false;
1361
1362 /* compare element 7 */
1363 if (gth_sa_gen_dp_start(saA) != gth_sa_gen_dp_start(saB))
1364 return false;
1365
1366 /* element 8 has been removed (gen_dp_end) */
1367
1368 /* compare element 9 */
1369 if (saA->gen_file_num != saB->gen_file_num)
1370 return false;
1371
1372 /* compare element 10 */
1373 if (saA->gen_seq_num != saB->gen_seq_num)
1374 return false;
1375
1376 /* compare element 11 */
1377 if (saA->ref_file_num != saB->ref_file_num)
1378 return false;
1379
1380 /* compare element 12 */
1381 if (saA->ref_seq_num != saB->ref_seq_num)
1382 return false;
1383
1384 /* compare element 13 */
1385 if (gt_str_cmp(saA->gen_id, saB->gen_id))
1386 return false;
1387
1388 /* compare element 14 */
1389 if (gt_str_cmp(saA->ref_id, saB->ref_id))
1390 return false;
1391
1392 /* compare element 15 */
1393 if (saA->gen_strand_forward != saB->gen_strand_forward)
1394 return false;
1395
1396 /* compare element 16 */
1397 if (saA->ref_strand_forward != saB->ref_strand_forward)
1398 return false;
1399
1400 /* compare element 17 */
1401 if (gth_sa_genomiccutoff_start(saA) != gth_sa_genomiccutoff_start(saB))
1402 return false;
1403 if (gth_sa_referencecutoff_start(saA) != gth_sa_referencecutoff_start(saB))
1404 return false;
1405 if (gth_sa_eopcutoff_start(saA) != gth_sa_eopcutoff_start(saB))
1406 return false;
1407 if (gth_sa_genomiccutoff_end(saA) != gth_sa_genomiccutoff_end(saB))
1408 return false;
1409 if (gth_sa_referencecutoff_end(saA) != gth_sa_referencecutoff_end(saB))
1410 return false;
1411 if (gth_sa_eopcutoff_end(saA) != gth_sa_eopcutoff_end(saB))
1412 return false;
1413
1414 /* compare element 18 */
1415 if (gt_array_size(saA->exons) != gt_array_size(saB->exons))
1416 return false;
1417 for (i = 0; i < gt_array_size(saA->exons); i++) {
1418 exoninfoA = (Exoninfo*) gt_array_get(saA->exons, i);
1419 exoninfoB = (Exoninfo*) gt_array_get(saB->exons, i);
1420 if (exoninfoA->leftgenomicexonborder != exoninfoB->leftgenomicexonborder)
1421 return false;
1422 if (exoninfoA->rightgenomicexonborder != exoninfoB->rightgenomicexonborder)
1423 return false;
1424 if (exoninfoA->leftreferenceexonborder !=
1425 exoninfoB->leftreferenceexonborder) {
1426 return false;
1427 }
1428 if (exoninfoA->rightreferenceexonborder !=
1429 exoninfoB->rightreferenceexonborder) {
1430 return false;
1431 }
1432 if (!gt_double_equals_double(exoninfoA->exonscore, exoninfoB->exonscore)) {
1433 return false;
1434 }
1435 }
1436
1437 /* compare element 19 */
1438 if (gt_array_size(saA->introns) != gt_array_size(saB->introns))
1439 return false;
1440 for (i = 0; i < gt_array_size(saA->introns); i++) {
1441 introninfoA = (Introninfo*) gt_array_get(saA->introns, i);
1442 introninfoB = (Introninfo*) gt_array_get(saB->introns, i);
1443 if (!gt_double_equals_double(introninfoA->donorsiteprobability,
1444 introninfoB->donorsiteprobability)) {
1445 return false;
1446 }
1447 if (!gt_double_equals_double(introninfoA->acceptorsiteprobability,
1448 introninfoB->acceptorsiteprobability)) {
1449 return false;
1450 }
1451 if (!gt_double_equals_double(introninfoA->donorsitescore,
1452 introninfoB->donorsitescore)) {
1453 return false;
1454 }
1455 if (!gt_double_equals_double(introninfoA->acceptorsitescore,
1456 introninfoB->acceptorsitescore)) {
1457 return false;
1458 }
1459 }
1460
1461 /* compare element 20 */
1462 if (saA->polyAtailpos.start != saB->polyAtailpos.start)
1463 return false;
1464 if (saA->polyAtailpos.end != saB->polyAtailpos.end)
1465 return false;
1466
1467 /* compare element 21 */
1468 if (saA->alignmentscore != saB->alignmentscore)
1469 return false;
1470
1471 /* compare element 22 */
1472 if (saA->coverage != saB->coverage)
1473 return false;
1474
1475 /* compare element 23 */
1476 if (saA->genomic_cov_is_highest != saB->genomic_cov_is_highest)
1477 return false;
1478
1479 /* compare element 24 */
1480 if (saA->cumlen_scored_exons != saB->cumlen_scored_exons)
1481 return false;
1482
1483 return true;
1484 }
+0
-262
src/gth/sa.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SA_H
18 #define SA_H
19
20 #include "core/array.h"
21 #include "core/error.h"
22 #include "core/file.h"
23 #include "core/str.h"
24 #include "core/strand.h"
25 #include "gth/backtrace_path.h"
26 #include "gth/bssm_param.h"
27 #include "gth/gthalphatype.h"
28 #include "gth/input.h"
29 #include "gth/stat.h"
30
31 /*
32 This splice site score is used for protein spliced alignments, because
33 for them no splice site scores are computed.
34 */
35
36 #define UNDEFINED_SPLICE_SITE_SCORE -1.0
37
38 /*
39 This struct represents an exon. Thereby, the DNA positions always refer
40 to the actual strand.
41 Terminology: A DNA position can refer to the forward strand and to the
42 actual strand. In the case that the considered position lies on the forward
43 strand these are the same. In the case that the considered position lies on
44 the reverse complement strand the following relation holds:
45 pos_referring_to_actual_strand == total_genomic_length - 1 -
46 pos_referring_to_forward_strand
47 */
48
49 typedef struct {
50 GtUword leftgenomicexonborder, /* the borders of the exons in the */
51 rightgenomicexonborder, /* genomic sequence */
52 leftreferenceexonborder, /* the borders of the exons in the */
53 rightreferenceexonborder; /* reference sequence */
54 GthDbl exonscore; /* = exnscr */
55 } Exoninfo;
56
57 typedef struct {
58 GthFlt donorsiteprobability, /* (GS = itrscr) */
59 acceptorsiteprobability; /* (GS = itrscr) */
60 GthDbl donorsitescore, /* (GS = no equivalent) */
61 acceptorsitescore; /* (GS = no equivalent) */
62 } Introninfo;
63
64 /* The following structure bundles all information necessary to represent a
65 spliced alignment. Keep in sync with gth_sas_are_equal()! */
66 typedef struct GthSA GthSA;
67
68 /* create a new spliced alignment (sa) */
69 GthSA* gth_sa_new(void);
70 /* create a new sa and set the sequence ids and strand directions */
71 GthSA* gth_sa_new_and_set(bool gen_strand_forward,
72 bool ref_strand_forward,
73 GthInput *input,
74 GtUword gen_file_num,
75 GtUword gen_seq_num,
76 GtUword ref_file_num,
77 GtUword ref_seq_num,
78 GtUword call_number,
79 GtUword gen_total_length,
80 GtUword gen_offset,
81 GtUword ref_total_length);
82 void gth_sa_set(GthSA*, GthAlphatype ref_alphatype,
83 GtUword gen_dp_start,
84 GtUword gen_dp_length);
85 void gth_sa_set_gen_dp_length(GthSA*, GtUword gen_dp_length);
86 void gth_sa_delete(GthSA*);
87 void gth_sa_show_exons(const GthSA*, GtFile*);
88 void gth_sa_get_exons(const GthSA*, GtArray *ranges);
89 bool gth_sa_exons_are_forward_and_consecutive(const GthSA*);
90
91 /* returns the genomic range of <sa> referring to the forward strand. */
92 GtRange gth_sa_range_forward(const GthSA *sa);
93
94 /* returns the genomic range of <sa> referring to the actual strand */
95 GtRange gth_sa_range_actual(const GthSA *sa);
96
97 /* Returns the average splice site probability of spliced alignment <sa>.
98 That is, the average probability of all donor and acceptor sites. If the
99 spliced alignment contains no introns the average splice site probability is
100 zero. */
101 GthFlt gth_sa_average_splice_site_prob(const GthSA *sa);
102
103 /* A spliced alignment <sa> is ``poor'' if one of the following statements
104 holds:
105 - The number of introns equals zero and the polyA tail of the cDNA/EST is
106 at the start of the spliced alignment
107 - The number of introns equals one and the average splice site probability
108 is less than 1.5 times the minimum average splice site probability
109 <minaveragessp>.
110 - The number of introns is greater than one and the average splice site
111 probability is less than the minimum average splice site probability
112 <minaveragessp>, which can be changed by a command line option (see
113 manual). */
114 bool gth_sa_is_poor(const GthSA *sa, GthFlt minaveragessp);
115
116 /* Consider two spliced alignments <saA> and <saB>.
117 Spliced alignment <saB> is ``better'' than spliced alignment <saA> if at
118 least one of the following statements holds:
119 - <saA> has no introns.
120 - <saB> has at least one intron and the average splice site probability of
121 <saB> is greater than the average splice site probability of <saA>. */
122 bool gth_sa_B_is_better_than_A(const GthSA *saA, const GthSA *saB);
123
124 /* Returns the left genomic exon border for <exon> of <spliced_alignment>
125 (referring to the foward strand). */
126 GtUword gth_sa_left_genomic_exon_border(const GthSA*,
127 GtUword exon);
128
129 /* Returns the right genomic exon border for <exon> of <spliced_alignment>
130 (referring to the foward strand). */
131 GtUword gth_sa_right_genomic_exon_border(const GthSA*,
132 GtUword exon);
133
134 double gth_sa_exon_score(const GthSA*, GtUword exon);
135 GtRange gth_sa_donor_site_range(const GthSA*, GtUword intron);
136 GtRange gth_sa_acceptor_site_range(const GthSA*, GtUword intron);
137 /* Return donor site probablity with three positions after decimal point. */
138 float gth_sa_donor_site_prob(const GthSA*, GtUword intron);
139 /* Return acceptor site probablity with three positions after decimal point. */
140 float gth_sa_acceptor_site_prob(const GthSA*,
141 GtUword intron);
142 GtUword gth_sa_genomic_exon_length(const GthSA*, GtUword exon);
143 GtUword gth_sa_left_intron_border(const GthSA*, GtUword intron);
144 GtUword gth_sa_right_intron_border(const GthSA*, GtUword intron);
145 GtUword gth_sa_intron_length(const GthSA *, GtUword intron);
146
147 /* XXX */
148 GthBacktracePath* gth_sa_backtrace_path(const GthSA*);
149 Editoperation* gth_sa_get_editoperations(const GthSA*);
150 GtUword gth_sa_get_editoperations_length(const GthSA*);
151
152 GtUword gth_sa_indelcount(const GthSA*);
153 GtUword gth_sa_gen_dp_length(const GthSA*);
154 GtUword gth_sa_gen_total_length(const GthSA*);
155 void gth_sa_set_gen_total_length(GthSA*, GtUword);
156 GtUword gth_sa_gen_offset(const GthSA*);
157 void gth_sa_set_gen_offset(GthSA*, GtUword);
158 GtUword gth_sa_ref_total_length(const GthSA*);
159 void gth_sa_set_ref_total_length(GthSA*, GtUword);
160 GtUword gth_sa_gen_dp_start(const GthSA*);
161 GtUword gth_sa_gen_dp_start_show(const GthSA*);
162 void gth_sa_set_gen_dp_start(GthSA*, GtUword);
163 GtUword gth_sa_gen_dp_end(const GthSA*);
164 GtUword gth_sa_gen_dp_end_show(const GthSA*);
165 GtUword gth_sa_gen_file_num(const GthSA*);
166 void gth_sa_set_gen_file_num(GthSA*, GtUword);
167 GtUword gth_sa_gen_seq_num(const GthSA*);
168 void gth_sa_set_gen_seq_num(GthSA*, GtUword);
169 GtUword gth_sa_ref_file_num(const GthSA*);
170 void gth_sa_set_ref_file_num(GthSA*, GtUword);
171 GtUword gth_sa_ref_seq_num(const GthSA*);
172 void gth_sa_set_ref_seq_num(GthSA*, GtUword);
173 const char* gth_sa_gen_id(const GthSA*);
174 GtStr* gth_sa_gen_id_str(const GthSA*);
175 void gth_sa_set_gen_id(GthSA*, const char*);
176 const char* gth_sa_ref_id(const GthSA*);
177 GtStr* gth_sa_ref_id_str(const GthSA*);
178 void gth_sa_set_ref_id(GthSA*, const char*);
179 GtStr* gth_sa_gen_md5(const GthSA*);
180 GtStr* gth_sa_ref_md5(const GthSA*);
181 GtStr* gth_sa_gen_desc(const GthSA*);
182 GtStr* gth_sa_ref_desc(const GthSA*);
183 GtStrand gth_sa_gen_strand(const GthSA*);
184 bool gth_sa_gen_strand_forward(const GthSA*);
185 char gth_sa_gen_strand_char(const GthSA*);
186 void gth_sa_set_gen_strand(GthSA*, bool forward);
187 bool gth_sa_ref_strand_forward(const GthSA*);
188 char gth_sa_ref_strand_char(const GthSA*);
189 void gth_sa_set_ref_strand(GthSA*, bool forward);
190 GtUword gth_sa_genomiccutoff_start(const GthSA*);
191 GtUword gth_sa_referencecutoff_start(const GthSA*);
192 GtUword gth_sa_eopcutoff_start(const GthSA*);
193 GtUword gth_sa_genomiccutoff_end(const GthSA*);
194 GtUword gth_sa_referencecutoff_end(const GthSA*);
195 GtUword gth_sa_eopcutoff_end(const GthSA*);
196 void gth_sa_set_cutoffs_start(GthSA*, Cutoffs*);
197 void gth_sa_set_cutoffs_end(GthSA*, Cutoffs*);
198 GthAlphatype gth_sa_alphatype(const GthSA*);
199 const char* gth_sa_alphastring(const GthSA*);
200 void gth_sa_set_alphatype(GthSA*, GthAlphatype);
201 Exoninfo* gth_sa_get_exon(const GthSA*, GtUword);
202 void gth_sa_add_exon(GthSA*, Exoninfo*);
203 GtUword gth_sa_num_of_exons(const GthSA*);
204 Introninfo* gth_sa_get_intron(const GthSA*, GtUword);
205 void gth_sa_add_intron(GthSA*, Introninfo*);
206 GtUword gth_sa_num_of_introns(const GthSA*);
207 void gth_sa_calc_polyAtailpos(GthSA*,
208 const unsigned char *ref_seq_tran,
209 GtAlphabet *ref_alpha);
210 GtUword gth_sa_polyAtail_start(const GthSA*);
211 GtUword gth_sa_polyAtail_stop(const GthSA*);
212 void gth_sa_set_polyAtail_start(GthSA*, GtUword);
213 void gth_sa_set_polyAtail_stop(GthSA*, GtUword);
214 GthFlt gth_sa_score(const GthSA*);
215 void gth_sa_set_score(GthSA*, GthFlt);
216 GthFlt gth_sa_coverage(const GthSA*);
217 void gth_sa_set_coverage(GthSA*, GthFlt);
218 bool gth_sa_genomic_cov_is_highest(const GthSA*);
219 char gth_sa_coverage_char(const GthSA*);
220 void gth_sa_set_highest_cov(GthSA*, bool genomic);
221 GtUword gth_sa_cumlen_scored_exons(const GthSA*);
222 void gth_sa_set_cumlen_scored_exons(GthSA*, GtUword);
223 GtUword gth_sa_call_number(const GthSA*);
224 const char* gth_sa_gff3_target_attribute(GthSA*, bool md5ids);
225 void gth_sa_determine_cutoffs(GthSA*, GthCutoffmode leadcutoffsmode,
226 GthCutoffmode termcutoffsmode,
227 GtUword cutoffsminexonlen);
228 void gth_sa_cutoff_start(GthSA*);
229 void gth_sa_cutoff_end(GthSA*);
230 void gth_sa_cutoff_walked_path(GthSA*, const GthPathWalker*,
231 bool showeops, GtFile*);
232 void gth_sa_prepend(GthSA*, const GthBacktracePath*);
233 void gth_sa_append(GthSA*, const GthBacktracePath*);
234 void gth_sa_remove_zero_base_exons(GthSA*, GthStat *stat);
235 bool gth_sa_contains_no_zero_base_exons(const GthSA*);
236 void gth_sa_echo_genomic_description(const GthSA*, GthInput*,
237 GtFile*);
238 void gth_sa_echo_reference_description(const GthSA*, GthInput*,
239 GtFile*);
240 void gth_sa_echo_reference_sequence(const GthSA*, GthInput*,
241 bool format, GtFile*);
242 void gth_sa_echo_alignment(const GthSA *sa,
243 GtUword showintronmaxlen,
244 GtUword translationtable,
245 bool wildcardimplosion, GthInput *input,
246 GtFile *outfp);
247 /* Fills the alignment lines (<first_line> and <second_line> for DNA alignments
248 and <first_line>, <second_line>, and <third_line> for protein alignments). */
249 GtUword gth_sa_get_alignment_lines(const GthSA *sa,
250 unsigned char **first_line,
251 unsigned char **second_line,
252 unsigned char **third_line,
253 GtUword translationtable,
254 GthInput *input);
255 bool gth_sa_is_valid(const GthSA*);
256 void gth_sa_show(GthSA*, GthInput*, GtFile*);
257 void gth_sa_save_ref_md5(GthSA*, GthInput*);
258
259 bool gth_sas_are_equal(const GthSA*, const GthSA*);
260
261 #endif
+0
-79
src/gth/sa_cmp.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/sa.h"
18 #include "gth/sa_cmp.h"
19
20 /* is different from gt_range_compare()! */
21 static int compare_ranges(GtRange *rangeA, GtRange *rangeB)
22 {
23 if ((rangeA->start == rangeB->start) && (rangeA->end == rangeB->end))
24 return 0;
25
26 if ((rangeA->start < rangeB->start) ||
27 ((rangeA->start == rangeB->start) && (rangeA->end > rangeB->end))) {
28 return -1; /* rangeA '<' rangeB */
29 }
30
31 return 1; /* rangeA '>' rangeB */
32 }
33
34 /*
35 The following function compares two spliced alignments according to their
36 genomic positions. Thereby, the positions refering to the forward strand
37 are considered.
38 */
39 int gth_sa_cmp_genomic_forward(const void *dataA, const void *dataB)
40 {
41 GthSA *saA = (GthSA*) dataA;
42 GthSA *saB = (GthSA*) dataB;
43 GtRange rangeA, rangeB;
44
45 /* genomic file number comparison */
46 if (gth_sa_gen_file_num(saA) < gth_sa_gen_file_num(saB))
47 return -1; /* saA '<' saB */
48 else if (gth_sa_gen_file_num(saA) > gth_sa_gen_file_num(saB))
49 return 1; /* saA '>' saB */
50
51 rangeA = gth_sa_range_forward(saA);
52 rangeB = gth_sa_range_forward(saB);
53
54 return compare_ranges(&rangeA, &rangeB);
55 }
56
57 /*
58 The following function compares two spliced alignments pointers according to
59 their genomic positions. Thereby, the positions refering to the actual strand
60 are considered.
61 */
62 int gth_sa_cmp_genomic_actual(const void *dataA, const void *dataB)
63 {
64 GthSA *saA= *(GthSA**) dataA;
65 GthSA *saB= *(GthSA**) dataB;
66 GtRange rangeA, rangeB;
67
68 /* genomic file number comparison */
69 if (gth_sa_gen_file_num(saA) < gth_sa_gen_file_num(saB))
70 return -1; /* saA '<' saB */
71 else if (gth_sa_gen_file_num(saA) > gth_sa_gen_file_num(saB))
72 return 1; /* saA '>' saB */
73
74 rangeA = gth_sa_range_actual(saA);
75 rangeB = gth_sa_range_actual(saB);
76
77 return compare_ranges(&rangeA, &rangeB);
78 }
+0
-24
src/gth/sa_cmp.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SA_CMP_H
18 #define SA_CMP_H
19
20 int gth_sa_cmp_genomic_forward(const void *dataA, const void *dataB);
21 int gth_sa_cmp_genomic_actual(const void *dataA, const void *dataB);
22
23 #endif
+0
-581
src/gth/sa_collection.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/unused_api.h"
18 #include "extended/rbtree.h"
19 #include "gth/sa_cmp.h"
20 #include "gth/sa_collection.h"
21
22 /*
23 The following structure contains binary search trees of spliced alignments.
24 They contain the same elements, but ordered according to different criteria.
25 The tree rooted at <rootlist> contains the spliced alignments primarily
26 ordered according to their left genomic position (as the linked list in GS2).
27 Thereby, the genomic positions always refer to the forward strand (in
28 contrary to the rest of the program, where genomic positions always refer to
29 the actual strand). The elements of the tree rooted at <rootEST> are
30 primarily ordered according to their reference ids. This tree is used to
31 ensure that no alignment which ``spans'' another alignment (according to the
32 function span_check()) is inserted into the trees.
33 */
34 struct GthSACollection {
35 GthDuplicateCheck duplicate_check;
36 GtRBTree *rootlist,
37 *rootEST;
38 bool contains_sa;
39 };
40
41 typedef enum
42 {
43 NOSPAN = 0,
44 DISCARD,
45 REPLACE,
46 NUMOFSPANACTIONS
47 } Spancheck;
48
49 /*
50 The following function checks if one of the two GthSA
51 structures spans the other. This is checked on the basis of the left and
52 right genomic border. If <saB> is included in <saA>, DISCARD is returned.
53 The other way around REPLACE is returned. If none of the both spans the other
54 NOSPAN is returned;
55 */
56 static Spancheck span_check(GthSA *saA, GthSA *saB)
57 {
58 GtRange rangeA, rangeB;
59
60 rangeA = gth_sa_range_forward(saA);
61 rangeB = gth_sa_range_forward(saB);
62
63 if ((rangeA.start <= rangeB.start) && (rangeA.end >= rangeB.end)) {
64 /* discard saB */
65 return DISCARD;
66 }
67 if ((rangeA.start >= rangeB.start) && (rangeA.end <= rangeB.end)) {
68 /* replace saA by saB */
69 return REPLACE;
70 }
71 return NOSPAN;
72 }
73
74 static int compare_strands(bool strandsignA, bool strandsignB)
75 {
76 if (strandsignA && !strandsignB)
77 return -1;
78 if (!strandsignA && strandsignB)
79 return 1;
80 return 0;
81 }
82
83 /*
84 This function is used to check if the tree rooted at <rootEST>
85 contains an alignment with the same ids and strand orientations.
86 But the tree is ordered according to the function
87 compare_duplicate_and_genomic_pos() given below.
88 */
89
90 static int compare_duplicate(const void* dataA, const void* dataB,
91 void *cmpinfo)
92 {
93 int rval;
94 GthSA *saA = (GthSA*) dataA;
95 GthSA *saB = (GthSA*) dataB;
96 GthDuplicateCheck duplicate_check = *(GthDuplicateCheck*) cmpinfo;
97
98 gt_assert(duplicate_check && duplicate_check != GTH_DC_NONE);
99
100 if (duplicate_check == GTH_DC_ID &&
101 (rval = gt_str_cmp(gth_sa_gen_id_str(saA), gth_sa_gen_id_str(saB)))) {
102 return rval;
103 }
104
105 if ((duplicate_check == GTH_DC_DESC || duplicate_check == GTH_DC_BOTH) &&
106 (rval = gt_str_cmp(gth_sa_gen_desc(saA), gth_sa_gen_desc(saB)))) {
107 return rval;
108 }
109
110 if ((duplicate_check == GTH_DC_SEQ || duplicate_check == GTH_DC_BOTH) &&
111 (rval = gt_str_cmp(gth_sa_gen_md5(saA), gth_sa_gen_md5(saB)))) {
112 return rval;
113 }
114
115 if ((rval = compare_strands(gth_sa_gen_strand_forward(saA),
116 gth_sa_gen_strand_forward(saB)))) {
117 return rval;
118 }
119
120 if (duplicate_check == GTH_DC_ID &&
121 (rval = gt_str_cmp(gth_sa_ref_id_str(saA), gth_sa_ref_id_str(saB)))) {
122 return rval;
123 }
124
125 if ((duplicate_check == GTH_DC_DESC || duplicate_check == GTH_DC_BOTH) &&
126 (rval = gt_str_cmp(gth_sa_ref_desc(saA), gth_sa_ref_desc(saB)))) {
127 return rval;
128 }
129
130 if ((duplicate_check == GTH_DC_SEQ || duplicate_check == GTH_DC_BOTH) &&
131 (rval = gt_str_cmp(gth_sa_ref_md5(saA), gth_sa_ref_md5(saB)))) {
132 return rval;
133 }
134
135 if ((rval = compare_strands(gth_sa_ref_strand_forward(saA),
136 gth_sa_ref_strand_forward(saB)))) {
137 return rval;
138 }
139
140 return 0;
141 }
142
143 /*
144 This function is used as ordering for the tree rooted at <rootEST>.
145 */
146
147 static int compare_duplicate_and_genomic_pos(const void* dataA,
148 const void* dataB,
149 void *cmpinfo)
150 {
151 int rval;
152
153 if ((rval = compare_duplicate(dataA, dataB, cmpinfo)))
154 return rval;
155
156 return gth_sa_cmp_genomic_forward(dataA, dataB);
157 }
158
159 /*
160 The following function is used as ordering for the tree rooted at <rootlist>.
161 */
162
163 static int compare_sa(const void *dataA, const void *dataB, void *cmpinfo)
164 {
165 GthSA *saA = (GthSA*) dataA;
166 GthSA *saB = (GthSA*) dataB;
167 GtRange rangeA, rangeB;
168 GthDuplicateCheck duplicate_check = *(GthDuplicateCheck*) cmpinfo;
169
170 if (saA == saB)
171 return 0;
172
173 rangeA = gth_sa_range_forward(saA);
174 rangeB = gth_sa_range_forward(saB);
175
176 if (duplicate_check != GTH_DC_NONE && !compare_duplicate(saA, saB, cmpinfo)) {
177 Spancheck action = span_check(saA, saB);
178 if (action == DISCARD)
179 return 0;
180 gt_assert(action != REPLACE);
181 }
182
183 /* genomic file number comparison */
184 if (gth_sa_gen_file_num(saA) < gth_sa_gen_file_num(saB))
185 return -1;
186 if (gth_sa_gen_file_num(saA) > gth_sa_gen_file_num(saB))
187 return 1;
188
189 /* genomic file numbers are equal, compare ranges */
190 if ((rangeA.start < rangeB.start) ||
191 ((rangeA.start == rangeB.start) && (rangeA.end > rangeB.end))) {
192 /* saA '<' saB */
193 return -1;
194 }
195 else if (rangeA.start == rangeB.start && rangeA.end == rangeB.end) {
196 int rval;
197 /* some additional sorting criteria for the case when the two ranges are the
198 same, this helps preventing ``random'' order of spliced alignments in a
199 parallelized run */
200 if (gth_sa_score(saA) < gth_sa_score(saB))
201 return -1;
202 if (gth_sa_score(saA) > gth_sa_score(saB))
203 return 1;
204
205 if (gth_sa_cumlen_scored_exons(saA) < gth_sa_cumlen_scored_exons(saB))
206 return -1;
207 if (gth_sa_cumlen_scored_exons(saA) > gth_sa_cumlen_scored_exons(saB))
208 return 1;
209
210 if (gth_sa_gen_strand_forward(saA) < gth_sa_gen_strand_forward(saB))
211 return -1;
212 if (gth_sa_gen_strand_forward(saA) > gth_sa_gen_strand_forward(saB))
213 return 1;
214
215 if (gth_sa_ref_strand_forward(saA) < gth_sa_ref_strand_forward(saB))
216 return -1;
217 if (gth_sa_ref_strand_forward(saA) > gth_sa_ref_strand_forward(saB))
218 return 1;
219
220 if ((rval = gt_str_cmp(gth_sa_ref_id_str(saA), gth_sa_ref_id_str(saB))))
221 return rval;
222
223 if (gth_sa_call_number(saA) < gth_sa_call_number(saB))
224 return -1;
225 if (gth_sa_call_number(saA) > gth_sa_call_number(saB))
226 return 1;
227
228 if (gth_sa_ref_file_num(saA) < gth_sa_ref_file_num(saB))
229 return -1;
230 if (gth_sa_ref_file_num(saA) > gth_sa_ref_file_num(saB))
231 return 1;
232
233 if (gth_sa_ref_seq_num(saA) < gth_sa_ref_seq_num(saB))
234 return -1;
235 if (gth_sa_ref_seq_num(saA) > gth_sa_ref_seq_num(saB))
236 return 1;
237
238 gt_assert(0);
239 }
240
241 /* saA '>' saB */
242 return 1;
243 }
244
245 static void insert_alignment(GthSACollection *sa_collection, GthSA *saB,
246 bool use_rootEST)
247 {
248 GT_UNUSED GthSA *saA = NULL;
249 bool nodecreated;
250
251 gt_assert(sa_collection && saB);
252
253 /* insert spliced alignment into tree rooted at <rootlist> */
254 saA = (GthSA*) gt_rbtree_search_with_cmp(sa_collection->rootlist, saB,
255 compare_sa,
256 &sa_collection->duplicate_check,
257 &nodecreated);
258 /* insertion into binary tree succeeded */
259 gt_assert(saA && nodecreated);
260
261 if (use_rootEST) {
262 /* insert spliced alignment into tree rooted at <rootEST> */
263 saA = (GthSA*) gt_rbtree_search_with_cmp(sa_collection->rootEST, saB,
264 compare_duplicate_and_genomic_pos,
265 &sa_collection->duplicate_check,
266 &nodecreated);
267 /* insertion into binary tree succeeded */
268 gt_assert(saA && nodecreated);
269 }
270 }
271
272 GthSACollection* gth_sa_collection_new(GthDuplicateCheck duplicate_check)
273 {
274 GthSACollection *sa_collection= gt_calloc(1, sizeof *sa_collection);
275 sa_collection->duplicate_check = duplicate_check;
276 sa_collection->rootlist = gt_rbtree_new(compare_sa, (GtFree) gth_sa_delete,
277 &sa_collection->duplicate_check);
278 sa_collection->rootEST = gt_rbtree_new(compare_duplicate_and_genomic_pos,
279 NULL,
280 &sa_collection->duplicate_check);
281 return sa_collection;
282 }
283
284 bool gth_sa_collection_insert_sa(GthSACollection *sa_collection, GthSA *saB,
285 GthSAFilter *sa_filter, GthStat *stat)
286 {
287 GthSA *saA = NULL, *spliced_alignmentptr = NULL, *satodel;
288 Spancheck action;
289 GtArray *alignmentstodelete;
290 bool discard = false,
291 replace = false;
292 GtUword i;
293
294 /* filter */
295 if (sa_filter) {
296 if (gth_sa_filter_filter_sa(sa_filter, saB)) {
297 /* discard saB.
298 returning false to indicate that no element has been inserted */
299 return false;
300 }
301 }
302
303 if (sa_collection->duplicate_check != GTH_DC_NONE) {
304 saA = (GthSA*) gt_rbtree_find_with_cmp(sa_collection->rootEST, saB,
305 compare_duplicate,
306 &sa_collection->duplicate_check);
307 }
308
309 if (saA == NULL) {
310 /* no alignment with the same ids and strand orientations is in the tree or
311 the duplicate check has been disabled, insert saB into both trees. */
312 insert_alignment(sa_collection, saB,
313 sa_collection->duplicate_check != GTH_DC_NONE);
314 }
315 else {
316 /* one or more alignments with the same ids and strand orientations exist
317 in the tree. check if one of them spans the new alignment. */
318 alignmentstodelete = gt_array_new(sizeof (GthSA*));
319
320 /* check the actual one */
321 action = span_check(saA, saB);
322 switch (action) {
323 case NOSPAN:
324 /* nothing to do */
325 break;
326 case DISCARD:
327 discard = true;
328 break;
329 case REPLACE:
330 replace = true;
331 gt_array_add(alignmentstodelete, saA);
332 break;
333 default: gt_assert(0);
334 }
335
336 /* going to the left */
337 spliced_alignmentptr = gt_rbtree_previous_key(sa_collection->rootEST, saA,
338 compare_duplicate_and_genomic_pos,
339 &sa_collection->duplicate_check);
340
341 while ((spliced_alignmentptr) &&
342 (!compare_duplicate(saB, spliced_alignmentptr,
343 &sa_collection->duplicate_check))) {
344 /* spliced_alignmentptr has the same ids and strand orientations:
345 check if it spans saB */
346 action = span_check(spliced_alignmentptr, saB);
347 switch (action) {
348 case NOSPAN:
349 /* nothing to do */
350 break;
351 case DISCARD:
352 discard = true;
353 break;
354 case REPLACE:
355 replace = true;
356 gt_array_add(alignmentstodelete, spliced_alignmentptr);
357 break;
358 default: gt_assert(0);
359 }
360
361 /* retrieving next alignment */
362 spliced_alignmentptr = gt_rbtree_previous_key(sa_collection->rootEST,
363 spliced_alignmentptr,
364 compare_duplicate_and_genomic_pos,
365 &sa_collection->duplicate_check);
366 }
367
368 /* going to right */
369 spliced_alignmentptr = gt_rbtree_next_key(sa_collection->rootEST, saA,
370 compare_duplicate_and_genomic_pos,
371 &sa_collection->duplicate_check);
372 while ((spliced_alignmentptr) &&
373 (!compare_duplicate(saB, spliced_alignmentptr,
374 &sa_collection->duplicate_check))) {
375 /* spliced_alignmentptr has the same ids and strand orientations:
376 check if it spans saB */
377 action = span_check(spliced_alignmentptr, saB);
378 switch (action) {
379 case NOSPAN:
380 /* nothing to do */
381 break;
382 case DISCARD:
383 discard = true;
384 break;
385 case REPLACE:
386 replace = true;
387 gt_array_add(alignmentstodelete, spliced_alignmentptr);
388 break;
389 default: gt_assert(0);
390 }
391
392 /* retrieving next alignment */
393 spliced_alignmentptr = gt_rbtree_next_key(sa_collection->rootEST,
394 spliced_alignmentptr,
395 compare_duplicate_and_genomic_pos,
396 &sa_collection->duplicate_check);
397
398 }
399
400 /* DISCARD and REPLACE are not true at the same time */
401 gt_assert(!(discard && replace));
402 if (discard) {
403 gt_assert(saA);
404 /* saB will be discarded
405 returning false to indicate that no element has been inserted */
406 gt_array_delete(alignmentstodelete);
407 return false;
408 }
409 if (replace) {
410 /* deleting all alignments which need to be replaced by saA */
411 for (i = 0; i < gt_array_size(alignmentstodelete); i++) {
412 satodel = *(GthSA**) gt_array_get(alignmentstodelete, i);
413 (void) gt_rbtree_erase(sa_collection->rootEST, satodel);
414 (void) gt_rbtree_erase(sa_collection->rootlist, satodel);
415 }
416 }
417
418 /* free */
419 gt_array_delete(alignmentstodelete);
420
421 /* insert saB */
422 gt_assert(sa_collection->duplicate_check != GTH_DC_NONE);
423 insert_alignment(sa_collection, saB, true);
424 }
425
426 /* returning true to indicate that an element has been inserted */
427 if (stat)
428 gth_stat_increment_numofSAs(stat);
429 sa_collection->contains_sa = true;
430 return true;
431 }
432
433 static int storealignmentptr(void* data, GtRBTreeContext which,
434 GT_UNUSED GtUword depth, void *actinfo)
435 {
436 GthSA *sa = (GthSA*) data;
437 GtArray *alignments = (GtArray*) actinfo;
438 switch (which) {
439 case GT_RBTREE_PREORDER:
440 case GT_RBTREE_ENDORDER:
441 break;
442 case GT_RBTREE_POSTORDER:
443 case GT_RBTREE_LEAF:
444 gt_array_add(alignments, sa);
445 break;
446 default: gt_assert(0);
447 }
448 return 0;
449 }
450
451 /* The following function traverses the tree of alignments in <sa_collection>
452 and returns all alignment pointers in the array. */
453 static GtArray* sa_collection_get_alignments(const GthSACollection
454 *sa_collection)
455 {
456 GtArray *alignments = gt_array_new(sizeof (GthSA*));
457 GT_UNUSED int had_err;
458 /* traverse the tree */
459 had_err = gt_rbtree_walk(sa_collection->rootlist, storealignmentptr,
460 alignments);
461 gt_assert(!had_err); /* storealignmentptr() is sane */
462 return alignments;
463 }
464
465 bool gth_sa_collections_are_equal(const GthSACollection *sa_collectionA,
466 const GthSACollection *sa_collectionB)
467 {
468 GtArray *alignments_from_A, *alignments_from_B;
469 GtUword i;
470
471 /* compute arrays of SAs from the trees */
472 alignments_from_A = sa_collection_get_alignments(sa_collectionA);
473 alignments_from_B = sa_collection_get_alignments(sa_collectionB);
474
475 /* check if both arrays have the same size */
476 if (gt_array_size(alignments_from_A) != gt_array_size(alignments_from_B)) {
477 gt_array_delete(alignments_from_A);
478 gt_array_delete(alignments_from_B);
479 return false;
480 }
481
482 /* both arrays have the same size -> compare the individual SAs */
483 for (i = 0; i < gt_array_size(alignments_from_A); i++) {
484 if (!gth_sas_are_equal(*(GthSA**) gt_array_get(alignments_from_A, i),
485 *(GthSA**) gt_array_get(alignments_from_B, i))) {
486 gt_array_delete(alignments_from_A);
487 gt_array_delete(alignments_from_B);
488 return false;
489 }
490 }
491
492 /* free space */
493 gt_array_delete(alignments_from_A);
494 gt_array_delete(alignments_from_B);
495
496 return true;
497 }
498
499 bool gth_sa_collection_contains_sa(const GthSACollection *sa_collection)
500 {
501 gt_assert(sa_collection);
502 return sa_collection->contains_sa;
503 }
504
505 void gth_sa_collection_traverse(const GthSACollection *sa_collection,
506 GthSAVisitor *sa_visitor, GthInput *input)
507 {
508 GthSACollectionIterator *iterator;
509 GtUword num_of_sas = 0;
510 GthSA *sa;
511 gt_assert(sa_collection && sa_visitor && input);
512 gth_sa_visitor_preface(sa_visitor);
513 iterator = gth_sa_collection_iterator_new(sa_collection);
514 while ((sa = gth_sa_collection_iterator_next(iterator))) {
515 gth_input_load_genomic_file(input, gth_sa_gen_file_num(sa), false);
516 gth_input_load_reference_file(input, gth_sa_ref_file_num(sa), false);
517 gth_sa_visitor_visit_sa(sa_visitor, sa);
518 num_of_sas++;
519 }
520 gth_sa_collection_iterator_delete(iterator);
521 gth_sa_visitor_trailer(sa_visitor, num_of_sas);
522 }
523
524 void gth_sa_collection_set_md5s(GthSACollection *sa_collection, GthInput *input)
525 {
526 gt_assert(sa_collection && input);
527 if (gth_input_md5ids(input)) {
528 GthSACollectionIterator *iterator;
529 GthSA *sa;
530 iterator = gth_sa_collection_iterator_new(sa_collection);
531 while ((sa = gth_sa_collection_iterator_next(iterator))) {
532 gth_input_load_genomic_file(input, gth_sa_gen_file_num(sa), false);
533 gth_input_load_reference_file(input, gth_sa_ref_file_num(sa), false);
534 gth_sa_save_ref_md5(sa, input);
535 }
536 gth_sa_collection_iterator_delete(iterator);
537 }
538 }
539
540 void gth_sa_collection_delete(GthSACollection *sa_collection)
541 {
542 if (!sa_collection) return;
543 gt_rbtree_delete(sa_collection->rootlist);
544 /* for the second tree no free function is needed, because all elements have
545 been freed already by the previous redblacktreedestroy() */
546 gt_rbtree_delete(sa_collection->rootEST);
547
548 gt_free(sa_collection);
549 }
550
551 struct GthSACollectionIterator {
552 GtArray *alignments;
553 GtUword counter;
554 };
555
556 GthSACollectionIterator* gth_sa_collection_iterator_new(const GthSACollection
557 *sa_collection)
558 {
559 GthSACollectionIterator *iterator;
560 gt_assert(sa_collection);
561 iterator = gt_malloc(sizeof *iterator);
562 iterator->alignments = sa_collection_get_alignments(sa_collection);
563 iterator->counter = 0;
564 return iterator;
565 }
566
567 GthSA* gth_sa_collection_iterator_next(GthSACollectionIterator *iterator)
568 {
569 gt_assert(iterator);
570 if (iterator->counter < gt_array_size(iterator->alignments))
571 return *(GthSA**) gt_array_get(iterator->alignments, iterator->counter++);
572 return NULL;
573 }
574
575 void gth_sa_collection_iterator_delete(GthSACollectionIterator *iterator)
576 {
577 if (!iterator) return;
578 gt_array_delete(iterator->alignments);
579 gt_free(iterator);
580 }
+0
-54
src/gth/sa_collection.h less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SA_COLLECTION_H
18 #define SA_COLLECTION_H
19
20 #include "gth/call_info.h"
21 #include "gth/input.h"
22 #include "gth/sa_visitor.h"
23 #include "gth/stat.h"
24
25 typedef struct GthSACollection GthSACollection;
26
27 GthSACollection* gth_sa_collection_new(GthDuplicateCheck duplicate_check);
28 /* Returns true, if <sa> has passed the <sa_filter> and has been inserted into
29 <sa_collection>, otherwise false is returned. <stat> is optional. */
30 bool gth_sa_collection_insert_sa(GthSACollection*, GthSA *sa,
31 GthSAFilter *sa_filter,
32 GthStat *stat);
33 /* Checks if the given two spliced alignment collections are equal.
34 They are equal if they contain exactly the same spliced alignments. */
35 bool gth_sa_collections_are_equal(const GthSACollection*,
36 const GthSACollection*);
37 /* Returns true if <sa_collection> contains at least on spliced alignment,
38 false otherwise. */
39 bool gth_sa_collection_contains_sa(const GthSACollection*);
40 void gth_sa_collection_traverse(const GthSACollection*, GthSAVisitor*,
41 GthInput*);
42 void gth_sa_collection_set_md5s(GthSACollection*, GthInput*);
43 void gth_sa_collection_delete(GthSACollection*);
44
45 typedef struct GthSACollectionIterator GthSACollectionIterator;
46
47 GthSACollectionIterator* gth_sa_collection_iterator_new(const GthSACollection*);
48 GthSA* gth_sa_collection_iterator_next(
49 GthSACollectionIterator*);
50 void gth_sa_collection_iterator_delete(
51 GthSACollectionIterator*);
52
53 #endif
+0
-159
src/gth/sa_filter.c less more
0 /*
1 Copyright (c) 2005-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/default.h"
18 #include "gth/sa_filter.h"
19
20 #define MINALIGNMENTSCORE_OPT_CSTR "minalignmentscore"
21 #define MAXALIGNMENTSCORE_OPT_CSTR "maxalignmentscore"
22 #define MINCOVERAGE_OPT_CSTR "mincoverage"
23 #define MAXCOVERAGE_OPT_CSTR "maxcoverage"
24
25 struct GthSAFilter {
26 double min_alignmentscore,
27 max_alignmentscore,
28 min_coverage,
29 max_coverage;
30 };
31
32 GthSAFilter* gth_sa_filter_new(void)
33 {
34 GthSAFilter *sa_filter;
35 sa_filter = gt_malloc(sizeof (GthSAFilter));
36 sa_filter->min_alignmentscore = GTH_DEFAULT_MIN_ALIGNMENTSCORE;
37 sa_filter->max_alignmentscore = GTH_DEFAULT_MAX_ALIGNMENTSCORE;
38 sa_filter->min_coverage = GTH_DEFAULT_MIN_COVERAGE;
39 sa_filter->max_coverage = GTH_DEFAULT_MAX_COVERAGE;
40 return sa_filter;
41 }
42
43 static int sa_filter_check_arguments(void *data, GtError *err)
44 {
45 GthSAFilter *sa_filter= (GthSAFilter*) data;
46 int had_err = 0;
47 gt_error_check(err);
48 gt_assert(sa_filter);
49
50 if (sa_filter->min_alignmentscore > sa_filter->max_alignmentscore) {
51 gt_error_set(err, "argument \"%.2f\" to option -%s must be smaller or "
52 "equal than argument \"%.2f\" to option -%s",
53 sa_filter->min_alignmentscore, MINALIGNMENTSCORE_OPT_CSTR,
54 sa_filter->max_alignmentscore, MAXALIGNMENTSCORE_OPT_CSTR);
55 had_err = -1;
56 }
57
58 if (!had_err && sa_filter->min_coverage > sa_filter->max_coverage) {
59 gt_error_set(err, "argument \"%.2f\" to option -%s must be smaller or "
60 "equal than argument \"%.2f\" to option -%s",
61 sa_filter->min_coverage, MINCOVERAGE_OPT_CSTR,
62 sa_filter->max_coverage, MAXCOVERAGE_OPT_CSTR);
63 had_err = -1;
64 }
65
66 return had_err;
67 }
68
69 void gth_sa_filter_register_options(GtOptionParser *op, GthSAFilter *sa_filter,
70 bool extended_options)
71 {
72 GtOption *o;
73
74 gt_assert(sa_filter && op);
75
76 /* -minalignmentscore */
77 o = gt_option_new_double_min_max(MINALIGNMENTSCORE_OPT_CSTR, "set the "
78 "minimum alignment score for spliced "
79 "alignments to be included into the set of "
80 "spliced alignments",
81 &sa_filter->min_alignmentscore,
82 GTH_DEFAULT_MIN_ALIGNMENTSCORE,
83 GTH_DEFAULT_MIN_ALIGNMENTSCORE,
84 GTH_DEFAULT_MAX_ALIGNMENTSCORE);
85 if (extended_options)
86 gt_option_is_extended_option(o);
87 gt_option_parser_add_option(op, o);
88
89 /* -maxalignmentscore */
90 o = gt_option_new_double_min_max(MAXALIGNMENTSCORE_OPT_CSTR, "set the "
91 "maximum alignment score for spliced "
92 "alignments to be included into the set of "
93 "spliced alignments",
94 &sa_filter->max_alignmentscore,
95 GTH_DEFAULT_MAX_ALIGNMENTSCORE,
96 GTH_DEFAULT_MIN_ALIGNMENTSCORE,
97 GTH_DEFAULT_MAX_ALIGNMENTSCORE);
98 if (extended_options)
99 gt_option_is_extended_option(o);
100 gt_option_parser_add_option(op, o);
101
102 /* -mincoverage */
103 o = gt_option_new_double_min_max(MINCOVERAGE_OPT_CSTR, "set the minimum "
104 "coverage for spliced alignments to be "
105 "included into the set of spliced "
106 "alignments",
107 &sa_filter->min_coverage,
108 GTH_DEFAULT_MIN_COVERAGE,
109 GTH_DEFAULT_MIN_COVERAGE,
110 GTH_DEFAULT_MAX_COVERAGE);
111 if (extended_options)
112 gt_option_is_extended_option(o);
113 gt_option_parser_add_option(op, o);
114
115 /* -maxcoverage */
116 o = gt_option_new_double_min_max(MAXCOVERAGE_OPT_CSTR, "set the maximum "
117 "coverage for spliced alignments to be "
118 "included into the set of spliced "
119 "alignments",
120 &sa_filter->max_coverage,
121 GTH_DEFAULT_MAX_COVERAGE,
122 GTH_DEFAULT_MIN_COVERAGE,
123 GTH_DEFAULT_MAX_COVERAGE);
124 if (extended_options)
125 gt_option_is_extended_option(o);
126 gt_option_parser_add_option(op, o);
127
128 /* register hooks to check the arguments after the option parsing */
129 gt_option_parser_register_hook(op, sa_filter_check_arguments, sa_filter);
130 }
131
132 bool gth_sa_filter_filter_sa(const GthSAFilter *sa_filter, GthSA *sa)
133 {
134 gt_assert(sa_filter && sa);
135 /* alignment score is larger or equal then default min value */
136 gt_assert(gth_sa_score(sa) >= GTH_DEFAULT_MIN_ALIGNMENTSCORE);
137 /* alignment score is smaller or equal then default max value */
138 gt_assert(gth_sa_score(sa) <= GTH_DEFAULT_MAX_ALIGNMENTSCORE);
139 /* coverage is larger or equal then default min value */
140 gt_assert(gth_sa_coverage(sa) >= GTH_DEFAULT_MIN_COVERAGE);
141 /* coverage score is smaller or equal then default max value */
142 gt_assert(gth_sa_coverage(sa) <= GTH_DEFAULT_MAX_COVERAGE);
143
144 /* filter */
145 if (gth_sa_score(sa) < sa_filter->min_alignmentscore ||
146 gth_sa_score(sa) > sa_filter->max_alignmentscore ||
147 gth_sa_coverage(sa) < sa_filter->min_coverage ||
148 gth_sa_coverage(sa) > sa_filter->max_coverage) {
149 return true;
150 }
151 return false;
152 }
153
154 void gth_sa_filter_delete(GthSAFilter *sa_filter)
155 {
156 if (!sa_filter) return;
157 gt_free(sa_filter);
158 }
+0
-33
src/gth/sa_filter.h less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SA_FILTER_H
18 #define SA_FILTER_H
19
20 #include "core/option_api.h"
21 #include "gth/sa.h"
22
23 /* a filter for spliced alignments */
24 typedef struct GthSAFilter GthSAFilter;
25
26 GthSAFilter* gth_sa_filter_new(void);
27 void gth_sa_filter_register_options(GtOptionParser*, GthSAFilter*,
28 bool extended_options);
29 bool gth_sa_filter_filter_sa(const GthSAFilter*, GthSA*);
30 void gth_sa_filter_delete(GthSAFilter*);
31
32 #endif
+0
-64
src/gth/sa_visitor.c less more
0 /*
1 Copyright (c) 2008-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/unused_api.h"
18 #include "gth/sa_visitor_rep.h"
19
20 GthSAVisitor* gth_sa_visitor_create(const GthSAVisitorClass *savc)
21 {
22 GthSAVisitor *sav;
23 gt_assert(savc && savc->size);
24 sav = gt_calloc(1, savc->size);
25 sav->c_class = savc;
26 return sav;
27 }
28
29 void* gth_sa_visitor_cast(GT_UNUSED const GthSAVisitorClass *savc,
30 GthSAVisitor *sav)
31 {
32 gt_assert(savc && sav && sav->c_class == savc);
33 return sav;
34 }
35
36 void gth_sa_visitor_preface(GthSAVisitor *sav)
37 {
38 gt_assert(sav && sav->c_class);
39 if (sav->c_class->preface)
40 sav->c_class->preface(sav);
41 }
42
43 void gth_sa_visitor_visit_sa(GthSAVisitor *sav, GthSA *sa)
44 {
45 gt_assert(sav && sa && sav->c_class && sav->c_class->visit_sa);
46 sav->c_class->visit_sa(sav, sa);
47 }
48
49 void gth_sa_visitor_trailer(GthSAVisitor *sav, GtUword num_of_sas)
50 {
51 gt_assert(sav && sav->c_class);
52 if (sav->c_class->trailer)
53 sav->c_class->trailer(sav, num_of_sas);
54 }
55
56 void gth_sa_visitor_delete(GthSAVisitor *sav)
57 {
58 if (!sav) return;
59 gt_assert(sav->c_class);
60 if (sav->c_class->free)
61 sav->c_class->free(sav);
62 gt_free(sav);
63 }
+0
-32
src/gth/sa_visitor.h less more
0 /*
1 Copyright (c) 2008-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SA_VISITOR_H
18 #define SA_VISITOR_H
19
20 #include "gth/sa.h"
21
22 /* the ``spliced alignment visitor'' interface */
23 typedef struct GthSAVisitorClass GthSAVisitorClass;
24 typedef struct GthSAVisitor GthSAVisitor;
25
26 void gth_sa_visitor_preface(GthSAVisitor*);
27 void gth_sa_visitor_visit_sa(GthSAVisitor*, GthSA*);
28 void gth_sa_visitor_trailer(GthSAVisitor*, GtUword num_of_sas);
29 void gth_sa_visitor_delete(GthSAVisitor*);
30
31 #endif
+0
-39
src/gth/sa_visitor_rep.h less more
0 /*
1 Copyright (c) 2008-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SA_VISITOR_REP_H
18 #define SA_VISITOR_REP_H
19
20 #include "gth/sa_visitor.h"
21
22 /* the ``spliced alignment visitor'' interface */
23 struct GthSAVisitorClass {
24 size_t size;
25 void (*free)(GthSAVisitor*);
26 void (*preface)(GthSAVisitor*);
27 void (*visit_sa)(GthSAVisitor*, GthSA*);
28 void (*trailer)(GthSAVisitor*, GtUword num_of_sas);
29 };
30
31 struct GthSAVisitor {
32 const GthSAVisitorClass *c_class;
33 };
34
35 GthSAVisitor* gth_sa_visitor_create(const GthSAVisitorClass*);
36 void* gth_sa_visitor_cast(const GthSAVisitorClass*, GthSAVisitor*);
37
38 #endif
+0
-188
src/gth/seq_con.c less more
0 /*
1 Copyright (c) 2009-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #include "core/class_alloc.h"
17 #include "core/ma_api.h"
18 #include "core/unused_api.h"
19 #include "gth/seq_con_rep.h"
20
21 struct GthSeqConClass {
22 size_t size;
23 GthSeqConDemandOrigSeqFunc demand_orig_seq;
24 GthSeqConGetOrigSeqFunc get_orig_seq;
25 GthSeqConGetTranSeqFunc get_tran_seq;
26 GthSeqConGetOrigSeqRCFunc get_orig_seq_rc;
27 GthSeqConGetTranSeqRCFunc get_tran_seq_rc;
28 GthSeqConGetDescriptionFunc get_description;
29 GthSeqConEchoDescriptionFunc echo_description;
30 GthSeqConNumOfSeqsFunc num_of_seqs;
31 GthSeqConTotalLengthFunc total_length;
32 GthSeqConGetRangeFunc get_range;
33 GthSeqConGetAlphabetFunc get_alphabet;
34 GthSeqConFreeFunc free;
35 };
36
37 const GthSeqConClass* gth_seq_con_class_new(size_t size,
38 GthSeqConDemandOrigSeqFunc
39 demand_orig_seq,
40 GthSeqConGetOrigSeqFunc
41 get_orig_seq,
42 GthSeqConGetTranSeqFunc
43 get_tran_seq,
44 GthSeqConGetOrigSeqRCFunc
45 get_orig_seq_rc,
46 GthSeqConGetTranSeqRCFunc
47 get_tran_seq_rc,
48 GthSeqConGetDescriptionFunc
49 get_description,
50 GthSeqConEchoDescriptionFunc
51 echo_description,
52 GthSeqConNumOfSeqsFunc num_of_seqs,
53 GthSeqConTotalLengthFunc
54 total_length,
55 GthSeqConGetRangeFunc get_range,
56 GthSeqConGetAlphabetFunc
57 get_alphabet,
58 GthSeqConFreeFunc free)
59 {
60 GthSeqConClass *c_class = gt_class_alloc(sizeof *c_class);
61 c_class->size = size;
62 c_class->demand_orig_seq = demand_orig_seq;
63 c_class->get_orig_seq = get_orig_seq;
64 c_class->get_tran_seq = get_tran_seq;
65 c_class->get_orig_seq_rc = get_orig_seq_rc;
66 c_class->get_tran_seq_rc = get_tran_seq_rc;
67 c_class->get_description = get_description;
68 c_class->echo_description = echo_description;
69 c_class->num_of_seqs = num_of_seqs;
70 c_class->total_length = total_length;
71 c_class->get_range = get_range;
72 c_class->get_alphabet = get_alphabet;
73 c_class->free = free;
74 return c_class;
75 }
76
77 GthSeqCon* gth_seq_con_create(const GthSeqConClass *scc)
78 {
79 GthSeqCon *sc;
80 gt_assert(scc && scc->size);
81 sc = gt_calloc(1, scc->size);
82 sc->c_class = scc;
83 sc->pvt = NULL; /* XXX */
84 return sc;
85 }
86
87 void* gth_seq_con_cast(GT_UNUSED const GthSeqConClass *scc, GthSeqCon *sc)
88 {
89 gt_assert(scc && sc && sc->c_class == scc);
90 return sc;
91 }
92
93 void gth_seq_con_delete(GthSeqCon *sc)
94 {
95 if (!sc) return;
96 if (sc->c_class->free)
97 sc->c_class->free(sc);
98 gt_free(sc->pvt);
99 gt_free(sc);
100 }
101
102 void gth_seq_con_demand_orig_seq(GthSeqCon *seq_con)
103 {
104 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->demand_orig_seq);
105 seq_con->c_class->demand_orig_seq(seq_con);
106 }
107 GtUchar* gth_seq_con_get_orig_seq(GthSeqCon *seq_con, GtUword seq_num)
108 {
109 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_orig_seq);
110 return seq_con->c_class->get_orig_seq(seq_con, seq_num);
111 }
112
113 GtUchar* gth_seq_con_get_tran_seq(GthSeqCon *seq_con, GtUword seq_num)
114 {
115 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_tran_seq);
116 return seq_con->c_class->get_tran_seq(seq_con, seq_num);
117 }
118
119 GtUchar* gth_seq_con_get_orig_seq_rc(GthSeqCon *seq_con, GtUword seq_num)
120 {
121 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_orig_seq_rc);
122 return seq_con->c_class->get_orig_seq_rc(seq_con, seq_num);
123 }
124
125 GtUchar* gth_seq_con_get_tran_seq_rc(GthSeqCon *seq_con, GtUword seq_num)
126 {
127 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_tran_seq_rc);
128 return seq_con->c_class->get_tran_seq_rc(seq_con, seq_num);
129 }
130
131 void gth_seq_con_get_description(GthSeqCon *seq_con, GtUword seq_num,
132 GtStr *desc)
133 {
134 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_description);
135 seq_con->c_class->get_description(seq_con, seq_num, desc);
136 }
137
138 void gth_seq_con_echo_description(GthSeqCon *seq_con, GtUword seq_num,
139 GtFile *outfp)
140 {
141 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->echo_description);
142 seq_con->c_class->echo_description(seq_con, seq_num, outfp);
143 }
144
145 GtUword gth_seq_con_num_of_seqs(GthSeqCon *seq_con)
146 {
147 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->num_of_seqs);
148 return seq_con->c_class->num_of_seqs(seq_con);
149 }
150
151 GtUword gth_seq_con_total_length(GthSeqCon *seq_con)
152 {
153 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->total_length);
154 return seq_con->c_class->total_length(seq_con);
155 }
156
157 GtRange gth_seq_con_get_range(GthSeqCon *seq_con, GtUword seq_num)
158 {
159 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_range);
160 return seq_con->c_class->get_range(seq_con, seq_num);
161 }
162
163 GtRange gth_seq_con_get_relative_range(GthSeqCon *seq_con,
164 GtUword seq_num)
165 {
166 GtRange relative_range, range;
167 gt_assert(seq_con);
168 gt_assert(seq_num < gth_seq_con_num_of_seqs(seq_con));
169 range = gth_seq_con_get_range(seq_con, seq_num);
170 relative_range.start = 0;
171 relative_range.end = range.end - range.start;
172 return relative_range;
173 }
174
175 GtUword gth_seq_con_get_length(GthSeqCon *seq_con, GtUword seq_num)
176 {
177 GtRange range;
178 gt_assert(seq_con);
179 range = gth_seq_con_get_range(seq_con, seq_num);
180 return gt_range_length(&range);
181 }
182
183 GtAlphabet* gth_seq_con_get_alphabet(GthSeqCon *seq_con)
184 {
185 gt_assert(seq_con && seq_con->c_class && seq_con->c_class->get_alphabet);
186 return seq_con->c_class->get_alphabet(seq_con);
187 }
+0
-58
src/gth/seq_con.h less more
0 /*
1 Copyright (c) 2009-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef SEQ_CON_H
17 #define SEQ_CON_H
18
19 #include "core/alphabet.h"
20 #include "core/file.h"
21 #include "core/range.h"
22 #include "core/str_api.h"
23 #include "core/types_api.h"
24
25 /* The sequence container class */
26 typedef struct GthSeqConClass GthSeqConClass;
27 typedef struct GthSeqCon GthSeqCon;
28
29 typedef GthSeqCon* (*GthSeqConConstructor)(const char *indexname,
30 bool assign_rc, bool orig_seq,
31 bool tran_seq);
32
33 void gth_seq_con_delete(GthSeqCon*);
34 void gth_seq_con_demand_orig_seq(GthSeqCon *seq_con);
35 GtUchar* gth_seq_con_get_orig_seq(GthSeqCon *seq_con,
36 GtUword seq_num);
37 GtUchar* gth_seq_con_get_tran_seq(GthSeqCon *seq_con,
38 GtUword seq_num);
39 GtUchar* gth_seq_con_get_orig_seq_rc(GthSeqCon *seq_con,
40 GtUword seq_num);
41 GtUchar* gth_seq_con_get_tran_seq_rc(GthSeqCon *seq_con,
42 GtUword seq_num);
43 void gth_seq_con_get_description(GthSeqCon *seq_con,
44 GtUword seq_num, GtStr *desc);
45 void gth_seq_con_echo_description(GthSeqCon *seq_con,
46 GtUword seq_num,
47 GtFile *outfp);
48 GtUword gth_seq_con_num_of_seqs(GthSeqCon *seq_con);
49 GtUword gth_seq_con_total_length(GthSeqCon *seq_con);
50 GtRange gth_seq_con_get_range(GthSeqCon *seq_con, GtUword seq_num);
51
52 GtRange gth_seq_con_get_relative_range(GthSeqCon *seq_con,
53 GtUword seq_num);
54 GtUword gth_seq_con_get_length(GthSeqCon *seq_con, GtUword seq_num);
55 GtAlphabet* gth_seq_con_get_alphabet(GthSeqCon *seq_con);
56
57 #endif
+0
-74
src/gth/seq_con_rep.h less more
0 /*
1 Copyright (c) 2009-2011 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef SEQ_CON_REP_H
17 #define SEQ_CON_REP_H
18
19 #include "gth/seq_con.h"
20
21 typedef void (*GthSeqConDemandOrigSeqFunc)(GthSeqCon*);
22 typedef GtUchar* (*GthSeqConGetOrigSeqFunc)(GthSeqCon*, GtUword seq_num);
23 typedef GtUchar* (*GthSeqConGetTranSeqFunc)(GthSeqCon*, GtUword seq_num);
24 typedef GtUchar* (*GthSeqConGetOrigSeqRCFunc)(GthSeqCon*,
25 GtUword seq_num);
26 typedef GtUchar* (*GthSeqConGetTranSeqRCFunc)(GthSeqCon*,
27 GtUword seq_num);
28 typedef void (*GthSeqConGetDescriptionFunc)(GthSeqCon*,
29 GtUword seq_num,
30 GtStr *desc);
31 typedef void (*GthSeqConEchoDescriptionFunc)(GthSeqCon*,
32 GtUword seq_num,
33 GtFile *outfp);
34 typedef GtUword (*GthSeqConNumOfSeqsFunc)(GthSeqCon*);
35 typedef GtUword (*GthSeqConTotalLengthFunc)(GthSeqCon*);
36 typedef GtRange (*GthSeqConGetRangeFunc)(GthSeqCon*,
37 GtUword seq_num);
38 typedef GtAlphabet* (*GthSeqConGetAlphabetFunc)(GthSeqCon*);
39 typedef void (*GthSeqConFreeFunc)(GthSeqCon*);
40
41 typedef struct GthSeqConMembers GthSeqConMembers;
42
43 struct GthSeqCon {
44 const GthSeqConClass *c_class;
45 GthSeqConMembers *pvt;
46 };
47
48 const GthSeqConClass* gth_seq_con_class_new(size_t size,
49 GthSeqConDemandOrigSeqFunc
50 demand_orig_seq,
51 GthSeqConGetOrigSeqFunc
52 get_orig_seq,
53 GthSeqConGetTranSeqFunc
54 get_tran_seq,
55 GthSeqConGetOrigSeqRCFunc
56 get_orig_seq_rc,
57 GthSeqConGetTranSeqRCFunc
58 get_tran_seq_rc,
59 GthSeqConGetDescriptionFunc
60 get_description,
61 GthSeqConEchoDescriptionFunc
62 echo_description,
63 GthSeqConNumOfSeqsFunc num_of_seqs,
64 GthSeqConTotalLengthFunc
65 total_length,
66 GthSeqConGetRangeFunc get_range,
67 GthSeqConGetAlphabetFunc
68 get_alphabet,
69 GthSeqConFreeFunc free);
70 GthSeqCon* gth_seq_con_create(const GthSeqConClass*);
71 void* gth_seq_con_cast(const GthSeqConClass*, GthSeqCon*);
72
73 #endif
+0
-22
src/gth/showbool.h less more
0 /*
1 Copyright (c) 2009 Gordon Gremme <gordon@gremme.org>
2
3 Permission to use, copy, modify, and distribute this software for any
4 purpose with or without fee is hereby granted, provided that the above
5 copyright notice and this permission notice appear in all copies.
6
7 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 */
15
16 #ifndef SHOWBOOL_H
17 #define SHOWBOOL_H
18
19 #define GTH_SHOWBOOL(B) ((B) ? "True" : "False")
20
21 #endif
+0
-947
src/gth/similarity_filter.c less more
0 /*
1 Copyright (c) 2003-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/trans_table.h"
18 #include "core/undef_api.h"
19 #include "core/unused_api.h"
20 #include "core/warning_api.h"
21 #include "gth/chaining.h"
22 #include "gth/gtherror.h"
23 #include "gth/gthxml.h"
24 #include "gth/intermediate.h"
25 #include "gth/proc_sa_collection.h"
26 #include "gth/similarity_filter.h"
27
28 #define UNSUCCESSFULALIGNMENTSCORE 0.0
29
30 #define SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE 160
31 #define ICDELTASTRINGLENGTH 40
32
33 #define SHOW_COMPUTE_MATCHES_STATUS_BUF_SIZE 160
34
35 typedef struct {
36 GtUword call_number;
37 bool significant_match_found,
38 max_call_number_reached,
39 stop_amino_acid_warning;
40 } GthMatchInfo;
41
42 static void show_matrix_calculation_status(GthShowVerbose showverbose,
43 bool gen_strand_forward,
44 bool ref_strand_forward,
45 bool introncutout,
46 GtUword chainctr,
47 GtUword num_of_chains,
48 GtUword icdelta,
49 GtUword gen_file_num,
50 GtUword num_of_gen_files,
51 GtUword ref_file_num,
52 GtUword num_of_ref_files,
53 bool directmatches,
54 bool verboseseqs,
55 const char *gen_id,
56 const char *ref_id)
57 {
58 char buf[SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE],
59 icdeltastring[ICDELTASTRINGLENGTH];
60 GT_UNUSED int rval;
61
62 if (introncutout) {
63 rval = snprintf(icdeltastring, ICDELTASTRINGLENGTH, ", icdelta=" GT_WU ,
64 icdelta);
65 /* buffer icdeltastring[ICDELTASTRINGLENGTH] is large enough */
66 gt_assert(rval < ICDELTASTRINGLENGTH);
67 }
68
69 if (num_of_gen_files == 1 && num_of_ref_files == 1) {
70 rval = snprintf(buf, SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE,
71 "d=%c, compute spliced alignment, genseq=%c, "
72 "chain=" GT_WU "/" GT_WU ", refseq=%c%s",
73 SHOWSTRAND(directmatches), SHOWSTRAND(gen_strand_forward),
74 chainctr + 1, num_of_chains, SHOWSTRAND(ref_strand_forward),
75 introncutout ? icdeltastring : "");
76 }
77 else {
78 rval = snprintf(buf, SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE,
79 "gf=" GT_WU "/" GT_WU ", d=%c, rf=" GT_WU "/" GT_WU
80 ", compute spliced alignment, gs=%c, chain=" GT_WU "/"
81 GT_WU ", rs=%c%s",
82 gen_file_num + 1, num_of_gen_files,
83 SHOWSTRAND(directmatches), ref_file_num + 1,
84 num_of_ref_files, SHOWSTRAND(gen_strand_forward),
85 chainctr + 1, num_of_chains, SHOWSTRAND(ref_strand_forward),
86 introncutout ? icdeltastring : "");
87 }
88 /* buf[SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE] is large enough */
89 gt_assert(rval < SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE);
90 showverbose(buf);
91
92 if (verboseseqs) {
93 rval = snprintf(buf, SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE,
94 "genomicid=%s, referenceid=%s", gen_id, ref_id);
95 /* buf[SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE] is large enough */
96 gt_assert(rval < SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE);
97 showverbose(buf);
98 }
99 }
100
101 static int callsahmt(bool call_dna_dp,
102 GthSA *sa,
103 bool forward,
104 GtUword gen_file_num,
105 GtUword ref_file_num,
106 GthChain *raw_chain,
107 GtUword gen_total_length,
108 GtUword gen_offset,
109 const GtRange *gen_seq_bounds,
110 const GtRange *gen_seq_bounds_rc,
111 const unsigned char *ref_seq_tran,
112 const unsigned char *ref_seq_orig,
113 GtUword ref_total_length,
114 GtUword ref_offset,
115 GthInput *input,
116 Introncutoutinfo *introncutoutinfo,
117 GthStat *stat,
118 GtUword chainctr,
119 GtUword num_of_chains,
120 GtUword translationtable,
121 bool directmatches,
122 bool proteinexonpenal,
123 GthSpliceSiteModel *splice_site_model,
124 GthDPOptionsCore *dp_options_core,
125 GthDPOptionsEST *dp_options_est,
126 GthDPOptionsPostpro *dp_options_postpro,
127 GthDNACompletePathMatrixJT dna_complete_path_matrix_jt,
128 GthProteinCompletePathMatrixJT
129 protein_complete_path_matrix_jt,
130 GthOutput *out)
131 {
132 int rval;
133 GthChain *actual_chain, *contracted_chain, *used_chain;
134 GtUword icdelta = introncutoutinfo->icinitialdelta,
135 iciterations = introncutoutinfo->iciterations;
136 bool useintroncutout = introncutoutinfo->introncutout;
137 /* initially useintron is set to the value of introncutoutinfo->introncutout,
138 if the automatic intron cutotu technique is acitvated it can be set to
139 true if an matrix allocation error (ERROR_MATRIX_ALLOCATION_FAILED) occurs
140 */
141
142 gt_assert(sa);
143
144 actual_chain = gth_chain_new();
145 contracted_chain = gth_chain_new();
146
147 for (;;) {
148 /* reset actualDPrange; */
149 gt_array_set_size(actual_chain->forwardranges, 0);
150 gt_array_set_size(actual_chain->reverseranges, 0);
151
152 /* copy raw chain to actual chain */
153 gth_chain_copy(actual_chain, raw_chain);
154
155 /* shorten potential introns and compute spliced sequence, if the intron
156 cutout technique is used */
157 if (useintroncutout) {
158 /* shorten potential introns */
159 gth_chain_shorten_introns(actual_chain, icdelta,
160 introncutoutinfo->icminremintronlength,
161 gen_total_length, gen_offset, out->comments,
162 out->outfp);
163 }
164 else
165 gth_chain_contract(contracted_chain, actual_chain);
166
167 if (out->showverbose) {
168 show_matrix_calculation_status(out->showverbose, forward,
169 gth_sa_ref_strand_forward(sa),
170 useintroncutout, chainctr, num_of_chains,
171 icdelta, gen_file_num,
172 gth_input_num_of_gen_files(input),
173 ref_file_num,
174 gth_input_num_of_ref_files(input),
175 directmatches, out->verboseseqs,
176 gth_sa_gen_id(sa), gth_sa_ref_id(sa));
177 }
178
179 /* allocate space for DP parameter */
180 if (out->comments) {
181 gt_file_xprintf(out->outfp, "%c alloc space for DP param "
182 "(genomicid=%s, referenceid=%s)\n", COMMENTCHAR,
183 gth_sa_gen_id(sa), gth_sa_ref_id(sa));
184 }
185 used_chain = useintroncutout ? actual_chain : contracted_chain;
186
187 /* The variable 'forward' denotes the genomic strand on which the DP is
188 applied. */
189 if (forward) {
190 if (call_dna_dp) {
191 rval = gth_align_dna(sa, used_chain->forwardranges,
192 gth_input_current_gen_seq_tran(input),
193 gth_input_current_gen_seq_orig(input),
194 ref_seq_tran, ref_seq_orig, ref_total_length,
195 gth_input_current_gen_alphabet(input),
196 gth_input_current_ref_alphabet(input),
197 useintroncutout,
198 introncutoutinfo->autoicmaxmatrixsize,
199 out->showeops, out->comments, out->gs2out,
200 gen_seq_bounds, splice_site_model, dp_options_core,
201 dp_options_est, dp_options_postpro,
202 dna_complete_path_matrix_jt,
203 raw_chain->forward_jump_table, ref_offset, stat,
204 out->outfp);
205 }
206 else { /* call_protein_dp */
207 rval = gth_align_protein(sa, used_chain->forwardranges,
208 gth_input_current_gen_seq_tran(input),
209 ref_seq_tran, ref_seq_orig, ref_total_length,
210 gth_input_current_gen_alphabet(input),
211 gth_input_current_ref_alphabet(input),
212 input, useintroncutout,
213 introncutoutinfo->autoicmaxmatrixsize,
214 proteinexonpenal, out->showeops, out->comments,
215 out->gs2out, translationtable, gen_seq_bounds,
216 splice_site_model, dp_options_core,
217 dp_options_postpro,
218 protein_complete_path_matrix_jt,
219 raw_chain->forward_jump_table, ref_offset,
220 stat, out->outfp);
221 }
222 }
223 else {
224 /* the DP is called with the revers positions specifiers */
225 if (call_dna_dp) {
226 rval = gth_align_dna(sa, used_chain->reverseranges,
227 gth_input_current_gen_seq_tran_rc(input),
228 gth_input_current_gen_seq_orig_rc(input),
229 ref_seq_tran, ref_seq_orig, ref_total_length,
230 gth_input_current_gen_alphabet(input),
231 gth_input_current_ref_alphabet(input),
232 useintroncutout,
233 introncutoutinfo->autoicmaxmatrixsize,
234 out->showeops, out->comments, out->gs2out,
235 gen_seq_bounds_rc, splice_site_model,
236 dp_options_core, dp_options_est,
237 dp_options_postpro, dna_complete_path_matrix_jt,
238 raw_chain->reverse_jump_table, ref_offset, stat,
239 out->outfp);
240 }
241 else { /* call_protein_dp */
242 rval = gth_align_protein(sa, used_chain->reverseranges,
243 gth_input_current_gen_seq_tran_rc(input),
244 ref_seq_tran, ref_seq_orig, ref_total_length,
245 gth_input_current_gen_alphabet(input),
246 gth_input_current_ref_alphabet(input),
247 input, useintroncutout,
248 introncutoutinfo->autoicmaxmatrixsize,
249 proteinexonpenal, out->showeops, out->comments,
250 out->gs2out, translationtable, gen_seq_bounds,
251 splice_site_model, dp_options_core,
252 dp_options_postpro,
253 protein_complete_path_matrix_jt,
254 raw_chain->reverse_jump_table, ref_offset,
255 stat, out->outfp);
256 }
257 }
258
259 if (rval == GTH_ERROR_DP_PARAMETER_ALLOCATION_FAILED)
260 return GTH_ERROR_DP_PARAMETER_ALLOCATION_FAILED;
261
262 /* handling of special error codes ERROR_CUTOUT_NOT_IN_INTRON and
263 ERROR_MATRIX_ALLOCATION_FAILED from DP
264 the only possible special error code given back by this function is
265 ERROR_SA_COULD_NOT_BE_DETERMINED */
266 #ifndef NDEBUG
267 if (!useintroncutout) gt_assert(rval != GTH_ERROR_CUTOUT_NOT_IN_INTRON);
268 #endif
269 if (useintroncutout && rval == GTH_ERROR_CUTOUT_NOT_IN_INTRON) {
270 /* the intron cutout technique failed -> increase counter */
271 gth_stat_increment_numofunsuccessfulintroncutoutDPs(stat);
272 if (--iciterations > 0) {
273 /* if an iterations is left, increase icdelta, decrease the remaining
274 iterations, and continue the while-loop */
275 icdelta += introncutoutinfo->icdeltaincrease;
276 continue;
277 }
278 else {
279 /* no iteration left, discard SA */
280 gth_stat_increment_numofundeterminedSAs(stat);
281 gth_chain_delete(actual_chain);
282 gth_chain_delete(contracted_chain);
283 return GTH_ERROR_SA_COULD_NOT_BE_DETERMINED;
284 }
285 }
286 else if (rval == GTH_ERROR_MATRIX_ALLOCATION_FAILED) {
287 if (introncutoutinfo->autoicmaxmatrixsize > 0 && !useintroncutout) {
288 /* if the automatic intron cutout technique is enabled and a ``normal''
289 DP returned with the matrix allocation error, set useintroncutout,
290 increase counter, and continue */
291 if (out->showverbose) {
292 out->showverbose("matrix allocation failed, use intron cutout "
293 "technique");
294 }
295 gth_stat_increment_numofautointroncutoutcalls(stat);
296 useintroncutout = true;
297 continue;
298 }
299 else {
300 /* otherwise increase relevant statistics, free space and return with
301 error */
302 gth_stat_increment_numoffailedmatrixallocations(stat);
303 gth_stat_increment_numofundeterminedSAs(stat);
304 gth_chain_delete(actual_chain);
305 gth_chain_delete(contracted_chain);
306 return GTH_ERROR_SA_COULD_NOT_BE_DETERMINED;
307 }
308 }
309 else if (rval) /* ``normal'' DP */
310 return -1;
311 break;
312 }
313
314 #if 0
315 if (out->comments) {
316 gt_file_xprintf(out->outfp, "%c this SA has been computed:\n", COMMENTCHAR);
317 gth_sa_show(sa, input, out->outfp);
318 }
319 #endif
320
321 /* free */
322 gth_chain_delete(actual_chain);
323 gth_chain_delete(contracted_chain);
324
325 return 0;
326 }
327
328 /* the following function saves <sa> by inserting it into <sa_collection> and
329 sets <significantmatchfound> to true, if the insertion was successful */
330 static void save_sa(GthSACollection *sa_collection, GthSA *sa,
331 GthSAFilter *sa_filter, GthMatchInfo *match_info,
332 GthStat *stat)
333 {
334 if (!gth_sa_collection_insert_sa(sa_collection, sa, sa_filter, stat)) {
335 /* unsuccessful insertion; discard sa */
336 gth_sa_delete(sa);
337 match_info->call_number--;
338 }
339 else {
340 /* else successful insertion */
341 match_info->significant_match_found = true;
342 }
343 }
344
345 static bool isunsuccessfulalignment(GthSA *sa,
346 bool comments,
347 GtFile *outfp)
348 {
349 if (gth_sa_score(sa) <= UNSUCCESSFULALIGNMENTSCORE) {
350 if (comments)
351 gt_file_xprintf(outfp, "%c discard alignment\n", COMMENTCHAR);
352 return true;
353 }
354 return false;
355 }
356
357 static int call_dna_DP(bool directmatches, GthCallInfo *call_info,
358 GthInput *input, GthStat *stat,
359 GthSACollection *sa_collection, GthSA *saA,
360 GtUword gen_file_num,
361 GtUword ref_file_num,
362 GtUword gen_total_length,
363 GtUword gen_offset,
364 const GtRange *gen_seq_bounds,
365 const GtRange *gen_seq_bounds_rc,
366 GtUword ref_total_length, GtUword ref_offset,
367 GtUword chainctr,
368 GtUword num_of_chains, GthMatchInfo *match_info,
369 const unsigned char *ref_seq_tran,
370 const unsigned char *ref_seq_orig,
371 const unsigned char *ref_seq_tran_rc,
372 const unsigned char *ref_seq_orig_rc,
373 GthChain *chain,
374 GthDNACompletePathMatrixJT dna_complete_path_matrix_jt,
375 GthProteinCompletePathMatrixJT
376 protein_complete_path_matrix_jt)
377 {
378 int rval;
379 bool bothstrandsanalyzed, firstdp = true,
380 GT_UNUSED gs2outdirectmatches = directmatches;
381 GthSA *saB = NULL;
382 GtFile *outfp = call_info->out->outfp;
383
384 if (directmatches ? gth_input_forward(input)
385 : gth_input_reverse(input)) {
386 /* calculate alignment */
387 rval = callsahmt(true, saA, directmatches, gen_file_num, ref_file_num,
388 chain, gen_total_length, gen_offset, gen_seq_bounds,
389 gen_seq_bounds_rc,
390 ref_seq_tran, ref_seq_orig, ref_total_length, ref_offset,
391 input, &call_info->simfilterparam.introncutoutinfo, stat,
392 chainctr, num_of_chains, call_info->translationtable,
393 directmatches, call_info->proteinexonpenal,
394 call_info->splice_site_model, call_info->dp_options_core,
395 call_info->dp_options_est, call_info->dp_options_postpro,
396 dna_complete_path_matrix_jt,
397 protein_complete_path_matrix_jt, call_info->out);
398 if (rval && rval != GTH_ERROR_SA_COULD_NOT_BE_DETERMINED) {
399 /* ^ this error is treated below */
400 return rval;
401 }
402
403 firstdp = false;
404 bothstrandsanalyzed = gth_input_both(input);
405
406 if (rval == GTH_ERROR_SA_COULD_NOT_BE_DETERMINED ||
407 isunsuccessfulalignment(saA, call_info->out->comments, outfp)) {
408 match_info->call_number--;
409 /* if the spliced alignment was unsuccessful, it is deleted and the
410 next hit is considered. */
411 gth_sa_delete(saA);
412 return 0; /* continue */
413 }
414
415 /* if not both strands are analyzed, we can save this alignment now.
416 Otherwise we have to calculate the alignment to the other strand
417 first and then save the better one. */
418 if (!bothstrandsanalyzed)
419 save_sa(sa_collection, saA, call_info->sa_filter, match_info, stat);
420 }
421
422 if (directmatches ? gth_input_reverse(input)
423 : gth_input_forward(input)) {
424 if ((firstdp || gth_sa_is_poor(saA, call_info->minaveragessp)) &&
425 !call_info->cdnaforward) {
426 if (firstdp) {
427 /* space for first alignment is already allocated, but we have to
428 change the direction of the genomic and the reference strand */
429 gth_sa_set_gen_strand(saA, !directmatches);
430 gth_sa_set_ref_strand(saA, false);
431 }
432 else {
433 /* allocating space for second alignment */
434 saB = gth_sa_new_and_set(!directmatches, false, input,
435 chain->gen_file_num, chain->gen_seq_num,
436 chain->ref_file_num, chain->ref_seq_num,
437 match_info->call_number, gen_total_length,
438 gen_offset, ref_total_length);
439 }
440
441 /* setting gs2outdirectmatches (for compatibility) */
442 gs2outdirectmatches = (bool) !directmatches;
443
444 /* calculate alignment */
445 rval = callsahmt(true, firstdp ? saA : saB, !directmatches,
446 gen_file_num, ref_file_num, chain, gen_total_length,
447 gen_offset, gen_seq_bounds, gen_seq_bounds_rc,
448 ref_seq_tran_rc, ref_seq_orig_rc, ref_total_length,
449 ref_offset, input,
450 &call_info->simfilterparam.introncutoutinfo, stat,
451 chainctr, num_of_chains, call_info->translationtable,
452 directmatches, call_info->proteinexonpenal,
453 call_info->splice_site_model, call_info->dp_options_core,
454 call_info->dp_options_est, call_info->dp_options_postpro,
455 dna_complete_path_matrix_jt,
456 protein_complete_path_matrix_jt, call_info->out);
457 if (rval && rval != GTH_ERROR_SA_COULD_NOT_BE_DETERMINED) {
458 /* ^ this error is treated below */
459 return rval;
460 }
461
462 if (firstdp) {
463 if (rval == GTH_ERROR_SA_COULD_NOT_BE_DETERMINED ||
464 isunsuccessfulalignment(saA, call_info->out->comments, outfp)) {
465 /* for compatibility with GS2 */
466 /* XXX: makes no sense. Possibly only if -gs2out is used. */
467 match_info->significant_match_found= true;
468
469 /* if the spliced alignment was unsuccessful, it is deleted and
470 the next hit is considered. */
471 gth_sa_delete(saA);
472 return 0; /* continue */
473 }
474
475 save_sa(sa_collection, saA, call_info->sa_filter, match_info, stat);
476 }
477 else /* !firstdp */
478 {
479 if (rval == GTH_ERROR_SA_COULD_NOT_BE_DETERMINED ||
480 isunsuccessfulalignment(saB, call_info->out->comments, outfp) ||
481 !gth_sa_B_is_better_than_A(saA, saB)) {
482 /* insert first SA */
483 save_sa(sa_collection, saA, call_info->sa_filter, match_info, stat);
484 /* discard second SA */
485 gth_sa_delete(saB);
486 }
487 else {
488 /* insert second SA */
489 save_sa(sa_collection, saB, call_info->sa_filter, match_info, stat);
490 /* free first SA */
491 gth_sa_delete(saA);
492 }
493 }
494 }
495 else
496 save_sa(sa_collection, saA, call_info->sa_filter, match_info, stat);
497 }
498
499 return 0;
500 }
501
502 static int call_protein_DP(bool directmatches,
503 GthCallInfo *call_info,
504 GthInput *input,
505 GthStat *stat,
506 GthSACollection *sa_collection,
507 GthSA *saA,
508 GtUword gen_file_num,
509 GtUword ref_file_num,
510 GtUword gen_total_length,
511 GtUword gen_offset,
512 const GtRange *gen_seq_bounds,
513 const GtRange *gen_seq_bounds_rc,
514 GtUword ref_total_length,
515 GtUword ref_offset,
516 GtUword chainctr,
517 GtUword num_of_chains,
518 GthMatchInfo *match_info,
519 const unsigned char *ref_seq_tran,
520 const unsigned char *ref_seq_orig,
521 GthChain *chain,
522 GthDNACompletePathMatrixJT
523 dna_complete_path_matrix_jt,
524 GthProteinCompletePathMatrixJT
525 protein_complete_path_matrix_jt)
526 {
527 GtFile *outfp = call_info->out->outfp;
528 int rval;
529
530 #ifndef NDEBUG
531 /* strand is in searchmode */
532 if (directmatches)
533 gt_assert(gth_input_forward(input));
534 else
535 gt_assert(gth_input_reverse(input));
536 #endif
537
538 /* calculate alignment */
539 rval = callsahmt(false, saA, directmatches, gen_file_num, ref_file_num,
540 chain, gen_total_length, gen_offset, gen_seq_bounds,
541 gen_seq_bounds_rc, ref_seq_tran, ref_seq_orig,
542 ref_total_length, ref_offset, input,
543 &call_info->simfilterparam.introncutoutinfo, stat, chainctr,
544 num_of_chains, call_info->translationtable, directmatches,
545 call_info->proteinexonpenal, call_info->splice_site_model,
546 call_info->dp_options_core, call_info->dp_options_est,
547 call_info->dp_options_postpro, dna_complete_path_matrix_jt,
548 protein_complete_path_matrix_jt, call_info->out);
549 if (rval && rval != GTH_ERROR_SA_COULD_NOT_BE_DETERMINED) {
550 /* ^ this error is treated below */
551 return rval;
552 }
553
554 if (rval == GTH_ERROR_SA_COULD_NOT_BE_DETERMINED ||
555 isunsuccessfulalignment(saA, call_info->out->comments, outfp)) {
556 match_info->call_number--;
557 /* if the spliced alignment was unsuccessful, it is deleted and the
558 next hit is considered. */
559 gth_sa_delete(saA);
560 /* continue */
561 return 0;
562 }
563
564 /* we can save the alignment now */
565 save_sa(sa_collection, saA, call_info->sa_filter, match_info, stat);
566
567 return 0;
568 }
569
570 static void show_no_match_line(GthAlphatype overallalphatype, GtFile *outfp)
571 {
572 gt_file_xprintf(outfp, "\nNo significant ");
573 switch (overallalphatype)
574 {
575 case DNA_ALPHA:
576 gt_file_xprintf(outfp, "EST");
577 break;
578 case PROTEIN_ALPHA:
579 gt_file_xprintf(outfp, "protein");
580 break;
581 default: gt_assert(0);
582 }
583 gt_file_xprintf(outfp, " matches were found.\n");
584 }
585
586 static GthChainCollection* match_and_chain(GthCallInfo *call_info,
587 GthInput *input,
588 GthStat *stat,
589 GtUword gen_file_num,
590 GtUword ref_file_num,
591 bool directmatches,
592 GthMatchInfo *match_info,
593 const GthPlugins *plugins)
594 {
595 GtFile *outfp = call_info->out->outfp;
596 GthChainCollection *chain_collection = gth_chain_collection_new();
597
598 /* compute the chains */
599 gth_chaining(chain_collection, gen_file_num, ref_file_num, call_info, input,
600 stat, directmatches, plugins);
601
602 /* update statistics */
603 gth_stat_increase_numofchains(stat,
604 gth_chain_collection_size(chain_collection));
605
606 /* stop after chaining phase */
607 if (call_info->simfilterparam.stopafterchaining) {
608 gth_chain_collection_delete(chain_collection);
609 return NULL;
610 }
611
612 if (call_info->out->showverbose)
613 call_info->out->showverbose("calculate spliced alignment for every chain");
614
615 if (!gth_chain_collection_size(chain_collection)) {
616 /* no matches found -> return */
617 if (!call_info->out->xmlout && !call_info->out->gff3out && !directmatches &&
618 !match_info->significant_match_found) {
619 show_no_match_line(gth_input_get_alphatype(input, ref_file_num), outfp);
620 }
621 gth_chain_collection_delete(chain_collection);
622 return NULL;
623 }
624
625 return chain_collection;
626 }
627
628 static int calc_spliced_alignments(GthSACollection *sa_collection,
629 GthChainCollection *chain_collection,
630 GthCallInfo *call_info,
631 GthInput *input,
632 GthStat *stat,
633 GtUword gen_file_num,
634 GtUword ref_file_num,
635 bool directmatches,
636 GthMatchInfo *match_info,
637 GthDNACompletePathMatrixJT
638 dna_complete_path_matrix_jt,
639 GthProteinCompletePathMatrixJT
640 protein_complete_path_matrix_jt)
641 {
642 const unsigned char *ref_seq_tran, *ref_seq_orig, *ref_seq_tran_rc = NULL,
643 *ref_seq_orig_rc = NULL;
644 GtUword chainctr, gen_offset = GT_UNDEF_UWORD, gen_total_length,
645 ref_total_length;
646 GtFile *outfp = call_info->out->outfp;
647 GtRange gen_seq_bounds, gen_seq_bounds_rc;
648 bool refseqisdna;
649 GthChain *chain;
650 GtRange range;
651 GthSA *saA;
652 int rval;
653
654 gt_assert(sa_collection && chain_collection);
655
656 refseqisdna = gth_input_ref_file_is_dna(input, ref_file_num);
657
658 for (chainctr = 0;
659 chainctr < gth_chain_collection_size(chain_collection);
660 chainctr++) {
661 chain = gth_chain_collection_get(chain_collection, chainctr);
662 if (++match_info->call_number > call_info->firstalshown &&
663 call_info->firstalshown > 0) {
664 if (!(call_info->out->xmlout || call_info->out->gff3out))
665 gt_file_xfputc('\n', outfp);
666 else if (call_info->out->xmlout)
667 gt_file_xprintf(outfp, "<!--\n");
668
669 if (!call_info->out->gff3out) {
670 gt_file_xprintf(outfp, "Maximal matching %s count (%u) reached.\n",
671 refseqisdna ? "EST" : "protein",
672 call_info->firstalshown);
673 gt_file_xprintf(outfp, "Only the first %u matches will be "
674 "displayed.\n", call_info->firstalshown);
675 }
676
677 if (!(call_info->out->xmlout || call_info->out->gff3out))
678 gt_file_xfputc('\n', outfp);
679 else if (call_info->out->xmlout)
680 gt_file_xprintf(outfp, "-->\n");
681
682 match_info->max_call_number_reached = true;
683 break; /* break out of loop */
684 }
685
686 /* compute considered genomic regions if not set by -frompos */
687 if (!gth_input_use_substring_spec(input)) {
688 gen_seq_bounds = gth_input_get_genomic_range(input, chain->gen_file_num,
689 chain->gen_seq_num);
690 gen_total_length = gt_range_length(&gen_seq_bounds);
691 gen_offset = gen_seq_bounds.start;
692 gen_seq_bounds_rc = gen_seq_bounds;
693 }
694 else {
695 /* genomic multiseq contains exactly one sequence */
696 gt_assert(gth_input_num_of_gen_seqs(input, chain->gen_file_num) == 1);
697 gen_total_length = gth_input_genomic_file_total_length(input,
698 chain
699 ->gen_file_num);
700 gen_seq_bounds.start = gth_input_genomic_substring_from(input);
701 gen_seq_bounds.end = gth_input_genomic_substring_to(input);
702 gen_offset = 0;
703 gen_seq_bounds_rc.start = gen_total_length - 1 - gen_seq_bounds.end;
704 gen_seq_bounds_rc.end = gen_total_length - 1 - gen_seq_bounds.start;
705 }
706
707 /* "retrieving" the reference sequence */
708 range = gth_input_get_reference_range(input, chain->ref_file_num,
709 chain->ref_seq_num);
710 ref_seq_tran = gth_input_current_ref_seq_tran(input) + range.start;
711 ref_seq_orig = gth_input_current_ref_seq_orig(input) + range.start;
712 if (refseqisdna) {
713 ref_seq_tran_rc = gth_input_current_ref_seq_tran_rc(input) + range.start;
714 ref_seq_orig_rc = gth_input_current_ref_seq_orig_rc(input) + range.start;
715 }
716 ref_total_length = range.end - range.start + 1;
717
718 /* check if protein sequences have a stop amino acid */
719 if (!refseqisdna && !match_info->stop_amino_acid_warning &&
720 ref_seq_orig[ref_total_length - 1] != GT_STOP_AMINO) {
721 GtStr *ref_id = gt_str_new();
722 gth_input_save_ref_id(input, ref_id, chain->ref_file_num,
723 chain->ref_seq_num);
724 gt_warning("protein sequence '%s' (#" GT_WU " in file %s) does not end "
725 "with a stop amino acid ('%c'). If it is not a protein "
726 "fragment you should add a stop amino acid to improve the "
727 "prediction. For example with `gt seqtransform "
728 "-addstopaminos` (see http://genometools.org for details).",
729 gt_str_get(ref_id), chain->ref_seq_num,
730 gth_input_get_reference_filename(input, chain->ref_file_num),
731 GT_STOP_AMINO);
732 match_info->stop_amino_acid_warning = true;
733 gt_str_delete(ref_id);
734 }
735
736 /* allocating space for alignment */
737 saA = gth_sa_new_and_set(directmatches, true, input, chain->gen_file_num,
738 chain->gen_seq_num, chain->ref_file_num,
739 chain->ref_seq_num, match_info->call_number,
740 gen_total_length, gen_offset, ref_total_length);
741
742 /* extend the DP borders to the left and to the right */
743 gth_chain_extend_borders(chain, &gen_seq_bounds, &gen_seq_bounds_rc,
744 gen_total_length, gen_offset);
745
746 /* From here on the dp positions always refer to the forward strand of the
747 genomic DNA. */
748
749 /* call the Dynamic Programming */
750 if (refseqisdna) {
751 rval = call_dna_DP(directmatches, call_info, input, stat,
752 sa_collection, saA, gen_file_num, ref_file_num,
753 gen_total_length, gen_offset, &gen_seq_bounds,
754 &gen_seq_bounds_rc, ref_total_length, range.start,
755 chainctr, gth_chain_collection_size(chain_collection),
756 match_info, ref_seq_tran, ref_seq_orig,
757 ref_seq_tran_rc, ref_seq_orig_rc, chain,
758 dna_complete_path_matrix_jt,
759 protein_complete_path_matrix_jt);
760 }
761 else {
762 rval = call_protein_DP(directmatches, call_info, input,
763 stat, sa_collection, saA, gen_file_num,
764 ref_file_num, gen_total_length, gen_offset,
765 &gen_seq_bounds, &gen_seq_bounds_rc,
766 ref_total_length, range.start, chainctr,
767 gth_chain_collection_size(chain_collection),
768 match_info, ref_seq_tran, ref_seq_orig, chain,
769 dna_complete_path_matrix_jt,
770 protein_complete_path_matrix_jt);
771 }
772 /* check return value */
773 if (rval == GTH_ERROR_DP_PARAMETER_ALLOCATION_FAILED) {
774 /* statistics bookkeeping */
775 gth_stat_increment_numoffailedDPparameterallocations(stat);
776 gth_stat_increment_numofundeterminedSAs(stat);
777 /* free space */
778 gth_sa_delete(saA);
779 match_info->call_number--;
780 continue; /* continue with the next DP range */
781 }
782 else if (rval)
783 return -1;
784 }
785
786 if (!call_info->out->xmlout && !call_info->out->gff3out && !directmatches &&
787 !match_info->significant_match_found &&
788 match_info->call_number <= call_info->firstalshown) {
789 show_no_match_line(gth_input_get_alphatype(input, ref_file_num), outfp);
790 }
791
792 return 0;
793 }
794
795 static void show_compute_matches_status(bool direct, GthShowVerbose showverbose,
796 GtUword gen_file_num,
797 GtUword num_of_gen_files,
798 GtUword ref_file_num,
799 GtUword num_of_ref_files)
800 {
801 char buf[SHOW_COMPUTE_MATCHES_STATUS_BUF_SIZE];
802 GT_UNUSED int rval;
803 gt_assert(num_of_gen_files && num_of_ref_files );
804 if (num_of_gen_files == 1 && num_of_ref_files == 1) {
805 if (direct)
806 showverbose("compute direct matches");
807 else
808 showverbose("compute palindromic matches");
809 }
810 else {
811 if (direct) {
812 rval = snprintf(buf, SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE,
813 "compute direct matches for genomic file (gf) " GT_WU "/"
814 GT_WU " and reference file (rf) " GT_WU "/" GT_WU,
815 gen_file_num + 1, num_of_gen_files,
816 ref_file_num + 1, num_of_ref_files);
817 }
818 else {
819 rval = snprintf(buf, SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE,
820 "compute palindromic matches for genomic file (gf) " GT_WU
821 "/" GT_WU " and reference file (rf) " GT_WU "/" GT_WU,
822 gen_file_num + 1, num_of_gen_files,
823 ref_file_num + 1, num_of_ref_files);
824 }
825 /* buf[SHOW_COMPUTE_MATCHES_STATUS_BUF_SIZE] is large enough */
826 gt_assert(rval < SHOW_MATRIX_CALCULATION_STATUS_BUF_SIZE);
827 showverbose(buf);
828 }
829 }
830
831 static int compute_sa_collection(GthSACollection *sa_collection,
832 GthCallInfo *call_info,
833 GthInput *input,
834 GthStat *stat,
835 const GthPlugins *plugins)
836 {
837 GthChainCollection *chain_collection;
838 GthMatchInfo match_info;
839 GtUword g, r;
840 int rval = 0;
841
842 match_info.call_number = 0;
843 match_info.significant_match_found = false;
844 match_info.max_call_number_reached = false;
845 match_info.stop_amino_acid_warning = false;
846
847 for (g = 0; g < gth_input_num_of_gen_files(input); g++) {
848 for (r = 0; r < gth_input_num_of_ref_files(input); r++) {
849 if (gth_input_get_alphatype(input, r) == DNA_ALPHA ||
850 gth_input_forward(input)) {
851 if (call_info->out->showverbose) {
852 show_compute_matches_status(true, call_info->out->showverbose, g,
853 gth_input_num_of_gen_files(input), r,
854 gth_input_num_of_ref_files(input));
855 }
856 /* compute direct matches */
857 chain_collection = match_and_chain(call_info, input, stat, g, r, true,
858 &match_info, plugins);
859 if (chain_collection) {
860 rval = calc_spliced_alignments(sa_collection, chain_collection,
861 call_info, input, stat, g, r, true,
862 &match_info,
863 plugins->dna_complete_path_matrix_jt,
864 plugins
865 ->protein_complete_path_matrix_jt);
866 gth_chain_collection_delete(chain_collection);
867 if (rval)
868 break;
869 }
870 }
871 if (match_info.max_call_number_reached)
872 break;
873
874 if (gth_input_get_alphatype(input, r) == DNA_ALPHA ||
875 gth_input_reverse(input)) {
876 if (call_info->out->showverbose) {
877 show_compute_matches_status(false, call_info->out->showverbose, g,
878 gth_input_num_of_gen_files(input), r,
879 gth_input_num_of_ref_files(input));
880 }
881 /* compute reverse complemented (palindromic) matches */
882 chain_collection = match_and_chain(call_info, input, stat, g, r, false,
883 &match_info, plugins);
884 if (chain_collection) {
885 rval = calc_spliced_alignments(sa_collection, chain_collection,
886 call_info, input, stat, g, r, false,
887 &match_info,
888 plugins->dna_complete_path_matrix_jt,
889 plugins
890 ->protein_complete_path_matrix_jt);
891 gth_chain_collection_delete(chain_collection);
892 if (rval)
893 break;
894 }
895 if (match_info.max_call_number_reached)
896 break;
897 }
898 }
899 }
900
901 return rval;
902 }
903
904 int gth_similarity_filter(GthCallInfo *call_info, GthInput *input,
905 GthStat *stat, unsigned int indentlevel,
906 const GthPlugins *plugins, GT_UNUSED GtError *err)
907 {
908 GthSACollection *sa_collection; /* stores the calculated spliced alignments */
909
910 gt_error_check(err);
911
912 /* initialization */
913 sa_collection = gth_sa_collection_new(call_info->duplicate_check);
914
915 /* compute the spliced alignments */
916 if (compute_sa_collection(sa_collection, call_info, input, stat, plugins)) {
917 gth_sa_collection_delete(sa_collection);
918 return -1;
919 }
920
921 /* process the alignments */
922 gth_proc_sa_collection(sa_collection, call_info, input, stat, indentlevel);
923
924 /* show XML trailer */
925 if (call_info->out->xmlout) {
926 gth_xml_show_trailer(call_info->intermediate, call_info->out->outfp);
927 }
928
929 /* output statistics */
930 if (!call_info->out->gff3out)
931 gth_stat_show(stat, true, call_info->out->xmlout, call_info->out->outfp);
932
933 #ifndef NDEBUG
934 if (call_info->intermediate && call_info->out->outputfile) {
935 /* intermediate output equals tree of alignments */
936 gt_assert(gth_intermediate_output_is_correct(call_info->out->outputfile,
937 sa_collection, input,
938 &call_info->out->outfp, err));
939 }
940 #endif
941
942 /* free spliced alignment collection */
943 gth_sa_collection_delete(sa_collection);
944
945 return 0;
946 }
+0
-28
src/gth/similarity_filter.h less more
0 /*
1 Copyright (c) 2003-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2003-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SIMILARITY_FILTER_H
18 #define SIMILARITY_FILTER_H
19
20 #include "gth/plugins.h"
21 #include "gth/stat.h"
22
23 int gth_similarity_filter(GthCallInfo*, GthInput*, GthStat*,
24 unsigned int indentlevel, const GthPlugins *plugins,
25 GtError*);
26
27 #endif
+0
-106
src/gth/splice_site_model.c less more
0 /*
1 Copyright (c) 2005-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <math.h>
18 #include "core/ma_api.h"
19 #include "gth/default.h"
20 #include "gth/bssm_param.h"
21 #include "gth/splice_site_model_rep.h"
22
23 #define SET_PROB_VALUE(V, PROB) \
24 ssm->V = PROB; \
25 ssm->log_##V = (GthFlt) log(PROB); \
26 ssm->log1minus_##V = (GthFlt) log(1.0 - (PROB))
27
28 GthSpliceSiteModel* gth_splice_site_model_new(void)
29 {
30 GthSpliceSiteModel *ssm = gt_malloc(sizeof *ssm);
31
32 ssm->useU12intronmodel = !GTH_DEFAULT_DISABLEU12INTRONMODEL;
33
34 SET_PROB_VALUE(genericGTdonorprob, GTH_DEFAULT_GENERIC_GT_DONORPROB);
35 SET_PROB_VALUE(nongenericGTdonorprob, GTH_DEFAULT_NONGENERIC_GT_DONORPROB);
36 SET_PROB_VALUE(genericGCdonorprob, GTH_DEFAULT_GENERIC_GC_DONORPROB);
37 SET_PROB_VALUE(nongenericGCdonorprob, GTH_DEFAULT_NONGENERIC_GC_DONORPROB);
38 SET_PROB_VALUE(genericATdonorprob, GTH_DEFAULT_GENERIC_AT_DONORPROB);
39 SET_PROB_VALUE(nongenericATdonorprob, GTH_DEFAULT_NONGENERIC_AT_DONORPROB);
40 SET_PROB_VALUE(genericAGacceptorprob, GTH_DEFAULT_GENERIC_AG_ACCEPTORPROB);
41 SET_PROB_VALUE(nongenericAGacceptorprob,
42 GTH_DEFAULT_NONGENERIC_AG_ACCEPTORPROB);
43 SET_PROB_VALUE(genericACacceptorprob, GTH_DEFAULT_GENERIC_AC_ACCEPTORPROB);
44 SET_PROB_VALUE(nongenericACacceptorprob,
45 GTH_DEFAULT_NONGENERIC_AC_ACCEPTORPROB);
46 SET_PROB_VALUE(genericothersplicesitep,
47 GTH_DEFAULT_GENERIC_OTHERSPLICESITEPROB);
48 SET_PROB_VALUE(nongenericothersplicesitep,
49 GTH_DEFAULT_NONGENERIC_OTHERSPLICESITEPROB);
50 gth_splice_site_model_set_U12typedonorprob(ssm,
51 GTH_DEFAULT_U12_TYPEDONORPROB);
52 gth_splice_site_model_set_U12typedonorprob_one_mismatch(ssm,
53 GTH_DEFAULT_U12_TYPEDONORPROBONEMISMATCH);
54
55 ssm->bssm_param = NULL;
56
57 return ssm;
58 }
59
60 void gth_splice_site_model_delete(GthSpliceSiteModel *ssm)
61 {
62 if (!ssm) return;
63 gth_bssm_param_delete(ssm->bssm_param);
64 gt_free(ssm);
65 }
66
67 int gth_splice_site_model_load_bssm(GthSpliceSiteModel *ssm,
68 const char *bssmfile, GtError *err)
69 {
70 GtStr *bssmfilename;
71 int had_err = 0;
72 gt_error_check(err);
73 gt_assert(ssm && bssmfile && strlen(bssmfile));
74 if (ssm->bssm_param) {
75 gth_bssm_param_delete(ssm->bssm_param);
76 ssm->bssm_param = NULL;
77 }
78 bssmfilename = gt_str_new();
79 gt_str_append_cstr(bssmfilename, bssmfile);
80 gt_str_append_char(bssmfilename, '.');
81 gt_str_append_cstr(bssmfilename, BSSMFILEENDING);
82 if (!(ssm->bssm_param = gth_bssm_param_load(gt_str_get(bssmfilename), err)))
83 had_err = -1;
84 gt_str_delete(bssmfilename);
85 return had_err;
86 }
87
88 void gth_splice_site_model_U12intronmodel_set_usage(GthSpliceSiteModel *ssm,
89 bool useU12intronmodel)
90 {
91 ssm->useU12intronmodel = useU12intronmodel;
92 }
93
94 void gth_splice_site_model_set_U12typedonorprob(GthSpliceSiteModel *ssm,
95 GthFlt prob)
96 {
97 SET_PROB_VALUE(U12typedonorprob, prob);
98 }
99
100 void gth_splice_site_model_set_U12typedonorprob_one_mismatch(GthSpliceSiteModel
101 *ssm,
102 GthFlt prob)
103 {
104 SET_PROB_VALUE(U12typedonorprobonemismatch, prob);
105 }
+0
-41
src/gth/splice_site_model.h less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SPLICE_SITE_MODEL_H
18 #define SPLICE_SITE_MODEL_H
19
20 #include "core/error.h"
21
22 /* generic splice site model */
23 typedef struct GthSpliceSiteModel GthSpliceSiteModel;
24
25 GthSpliceSiteModel* gth_splice_site_model_new(void);
26 void gth_splice_site_model_delete(GthSpliceSiteModel*);
27 int gth_splice_site_model_load_bssm(GthSpliceSiteModel*,
28 const char *bssmfile,
29 GtError*);
30 void gth_splice_site_model_U12intronmodel_set_usage(
31 GthSpliceSiteModel*,
32 bool useU12intronmodel);
33 void gth_splice_site_model_set_U12typedonorprob(
34 GthSpliceSiteModel*,
35 GthFlt prob);
36 void gth_splice_site_model_set_U12typedonorprob_one_mismatch(
37 GthSpliceSiteModel*,
38 GthFlt prob);
39
40 #endif
+0
-76
src/gth/splice_site_model_rep.h less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SPLICE_SITE_MODEL_REP_H
18 #define SPLICE_SITE_MODEL_REP_H
19
20 #include "gth/splice_site_model.h"
21
22 struct GthSpliceSiteModel {
23 /* the probabilities */
24 GthFlt genericGTdonorprob, /* generic prob. of GT donor */
25 nongenericGTdonorprob, /* non-generic prob. of GT donor */
26 genericGCdonorprob, /* generic prob. of GC donor */
27 nongenericGCdonorprob, /* non-generic prob. of GC donor */
28 genericATdonorprob, /* generic prob. of AT donor */
29 nongenericATdonorprob, /* non-generic prob. of AT donor */
30 genericAGacceptorprob, /* generic prob. of AG acceptor */
31 nongenericAGacceptorprob, /* non-generic prob. of AG acceptor */
32 genericACacceptorprob, /* generic prob. of AC acceptor */
33 nongenericACacceptorprob, /* non-generic prob. of AC acceptor */
34 genericothersplicesitep, /* generic prob. of other sp. sites */
35 nongenericothersplicesitep; /* non-generic prob. of other sp. sites */
36 bool useU12intronmodel; /* enable U12 intron model */
37 GthFlt U12typedonorprob, /* prob. of U12-type donor */
38 U12typedonorprobonemismatch; /* prob. of U12-type donor with 1
39 mismatch */
40
41 /* the precomputed log values */
42 GthFlt log_genericGTdonorprob,
43 log1minus_genericGTdonorprob,
44 log_nongenericGTdonorprob,
45 log1minus_nongenericGTdonorprob,
46 log_genericGCdonorprob,
47 log1minus_genericGCdonorprob,
48 log_nongenericGCdonorprob,
49 log1minus_nongenericGCdonorprob,
50 log_genericATdonorprob,
51 log1minus_genericATdonorprob,
52 log_nongenericATdonorprob,
53 log1minus_nongenericATdonorprob,
54 log_genericAGacceptorprob,
55 log1minus_genericAGacceptorprob,
56 log_nongenericAGacceptorprob,
57 log1minus_nongenericAGacceptorprob,
58 log_genericACacceptorprob,
59 log1minus_genericACacceptorprob,
60 log_nongenericACacceptorprob,
61 log1minus_nongenericACacceptorprob,
62 log_genericothersplicesitep,
63 log1minus_genericothersplicesitep,
64 log_nongenericothersplicesitep,
65 log1minus_nongenericothersplicesitep,
66 log_U12typedonorprob,
67 log1minus_U12typedonorprob,
68 log_U12typedonorprobonemismatch,
69 log1minus_U12typedonorprobonemismatch;
70
71 GthBSSMParam *bssm_param; /* contains bssm parameters or is NULL,
72 if generic parameters are used. */
73 };
74
75 #endif
+0
-164
src/gth/spliced_seq.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma.h"
18 #include "core/range.h"
19 #include "core/undef_api.h"
20 #include "core/unused_api.h"
21 #include "gth/gthoutput.h"
22 #include "gth/spliced_seq.h"
23
24 static void fillsplicedseq(unsigned char *splicedseq,
25 const unsigned char *origseq, GtArray *ranges)
26 {
27 const unsigned char *genomicptr;
28 GtUword i;
29 gt_assert(ranges);
30 for (i = 0; i < gt_array_size(ranges); i++) {
31 for (genomicptr = origseq + ((GtRange*) gt_array_get(ranges, i))->start;
32 genomicptr <= origseq +
33 ((GtRange*) gt_array_get(ranges, i))->end;
34 *splicedseq++ = *genomicptr++);
35 }
36 }
37
38 static void computepositionmapping(GtUword *positionmapping,
39 GtArray *ranges,
40 GT_UNUSED GtUword splicedseqlen)
41 {
42 GtUword i, rangecounter, templatepos = 0;
43 for (rangecounter = 0; rangecounter < gt_array_size(ranges); rangecounter++) {
44 for (i = ((GtRange*) gt_array_get(ranges, rangecounter))->start;
45 i <= ((GtRange*) gt_array_get(ranges, rangecounter))->end;
46 i++) {
47 positionmapping[templatepos++] = i;
48 }
49 }
50 gt_assert(templatepos == splicedseqlen);
51 }
52
53 GthSplicedSeq* gth_spliced_seq_new(const unsigned char *sequence,
54 GtArray *ranges)
55 {
56 GthSplicedSeq *spliced_seq = gt_malloc(sizeof *spliced_seq);
57
58 gt_assert(sequence && ranges);
59
60 spliced_seq->origseq = sequence;
61 spliced_seq->ranges = ranges;
62
63 gt_assert(gt_ranges_are_consecutive(ranges));
64
65 /* save total length of ranges */
66 spliced_seq->splicedseqlen = gt_ranges_total_length(ranges);
67
68 /* allocate space */
69 spliced_seq->splicedseq = gt_malloc(sizeof (unsigned char) *
70 spliced_seq->splicedseqlen);
71 spliced_seq->positionmapping = gt_malloc(sizeof (GtUword) *
72 spliced_seq->splicedseqlen);
73
74 /* processing */
75 fillsplicedseq(spliced_seq->splicedseq, spliced_seq->origseq,
76 spliced_seq->ranges);
77
78 /* compute position mapping */
79 computepositionmapping(spliced_seq->positionmapping, spliced_seq->ranges,
80 spliced_seq->splicedseqlen);
81
82 return spliced_seq;
83 }
84
85 GthSplicedSeq* gth_spliced_seq_new_with_comments(const unsigned char *sequence,
86 GtArray *ranges, bool comments,
87 GtFile *outfp)
88 {
89 GthSplicedSeq *spliced_seq;
90 gt_assert(sequence && ranges);
91 spliced_seq = gth_spliced_seq_new(sequence, ranges);
92 gt_assert(spliced_seq);
93 if (comments) {
94 double fraction = ((double) spliced_seq->splicedseqlen /
95 (double) gt_ranges_spanned_length(ranges)) * 100.0;
96 /* fraction is valid percent value */
97 gt_assert(fraction >= 0.0 && fraction <= 100.0);
98 gt_file_xprintf(outfp,
99 "%c spliced sequence is %.2f%% of original sequence\n",
100 COMMENTCHAR, fraction);
101 }
102 return spliced_seq;
103 }
104
105 void gth_spliced_seq_delete(GthSplicedSeq *spliced_seq)
106 {
107 if (!spliced_seq) return;
108 gt_free(spliced_seq->splicedseq);
109 gt_free(spliced_seq->positionmapping);
110 gt_free(spliced_seq);
111 }
112
113 bool gth_spliced_seq_pos_is_border(const GthSplicedSeq *spliced_seq,
114 GtUword position)
115 {
116 gt_assert(spliced_seq);
117 /* position is legal */
118 gt_assert(position < spliced_seq->splicedseqlen);
119 if ((position + 1 < spliced_seq->splicedseqlen) &&
120 (spliced_seq->positionmapping[position] + 1 !=
121 spliced_seq->positionmapping[position+1])) {
122 return true;
123 }
124 return false;
125 }
126
127 GtUword gth_spliced_seq_border_length(const GthSplicedSeq *spliced_seq,
128 GtUword position)
129 {
130 gt_assert(gth_spliced_seq_pos_is_border(spliced_seq, position));
131 return spliced_seq->positionmapping[position+1] -
132 spliced_seq->positionmapping[position] - 1;
133 }
134
135 GtUword gth_spliced_seq_num_of_borders(const GthSplicedSeq *spliced_seq)
136 {
137 GtUword i, borders = 0;
138 gt_assert(spliced_seq);
139 for (i = 0; i < spliced_seq->splicedseqlen; i++) {
140 if (gth_spliced_seq_pos_is_border(spliced_seq, i))
141 borders++;
142 }
143 return borders;
144 }
145
146 static int cmpulong(const void *u1, const void *u2)
147 {
148 return *(GtUword*) u1 - *(GtUword*) u2;
149 }
150
151 GtUword gth_spliced_seq_orig_to_spliced_pos(const GthSplicedSeq
152 *spliced_seq,
153 GtUword orig_pos)
154 {
155 GtUword *splicedposptr ;
156 gt_assert(spliced_seq);
157 splicedposptr = bsearch(&orig_pos, spliced_seq->positionmapping,
158 spliced_seq->splicedseqlen,
159 sizeof (GtUword), cmpulong);
160 if (splicedposptr)
161 return splicedposptr - spliced_seq->positionmapping;
162 return GT_UNDEF_UWORD;
163 }
+0
-51
src/gth/spliced_seq.h less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef SPLICED_SEQ_H
18 #define SPLICED_SEQ_H
19
20 #include "core/array_api.h"
21 #include "core/file.h"
22
23 typedef struct {
24 GtArray *ranges; /* the ranges of the genomic sequence which
25 have been used for processing */
26 const unsigned char *origseq; /* the original sequence */
27 unsigned char *splicedseq;/* the processed sequence */
28 GtUword splicedseqlen, /* the length of the processed sequence */
29 *positionmapping; /* maps the positions on the spliced sequence
30 back to the original sequence */
31 } GthSplicedSeq;
32
33 GthSplicedSeq* gth_spliced_seq_new(const unsigned char *sequence,
34 GtArray *ranges);
35 GthSplicedSeq* gth_spliced_seq_new_with_comments(const unsigned char *sequence,
36 GtArray *ranges, bool comments,
37 GtFile *outfp);
38 void gth_spliced_seq_delete(GthSplicedSeq*);
39 bool gth_spliced_seq_pos_is_border(const GthSplicedSeq*,
40 GtUword position);
41 GtUword gth_spliced_seq_border_length(const GthSplicedSeq*,
42 GtUword position);
43 GtUword gth_spliced_seq_num_of_borders(const GthSplicedSeq*);
44 /* The following function computes the spliced sequence position of a given
45 original position <origpos> of a position mapping <positionmapping> of length
46 <splicedseqlen> via binary search. */
47 GtUword gth_spliced_seq_orig_to_spliced_pos(const GthSplicedSeq*,
48 GtUword orig_pos);
49
50 #endif
+0
-487
src/gth/stat.c less more
0 /*
1 Copyright (c) 2004-2010 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/ma_api.h"
18 #include "core/safearith.h"
19 #include "gth/default.h"
20 #include "gth/gthoutput.h"
21 #include "gth/time.h"
22 #include "gth/stat.h"
23
24 #define INFOCHAR\
25 if (!stat->gthfilestat_mode) { \
26 gt_file_xprintf(outfp, "%c ", COMMENTCHAR); \
27 }
28
29 struct GthStat {
30 bool exondistri, /* compute/output exon length distribution */
31 introndistri, /* compute/output intron length distribution */
32 matchnumdistri, /* compute/output match number distribution */
33 refseqcovdistri, /* compute/output reference sequence coverage
34 distribution */
35 sa_stats, /* compute/output spliced alignment statistics (e.g.,
36 alignment score and coverage distributions) */
37 gthfilestat_mode; /* modify output for gthfilestat */
38
39 GtUword numofchains, /* total number of computed chains */
40 numofremovedzerobaseexons, /* see function replacezerobaseexons()
41 for explanation */
42 numofautointroncutoutcalls, /* number of times when the intron
43 cutout technique was used
44 automatically */
45 numofunsuccessfulintroncutoutDPs, /* corresponds to
46 ERROR_CUTOUT_NOT_IN_INTRON */
47 numoffailedDPparameterallocations,/* correspoinds to
48 ERROR_DP_PARAMETER_ALLOCATION_FAILED
49 */
50 numoffailedmatrixallocations, /* corresponds to
51 ERROR_MATRIX_ALLOCATION_FAILED */
52 numofundeterminedSAs, /* corresponds to
53 ERROR_SA_COULD_NOT_BE_DETERMINED */
54 numoffilteredpolyAtailmatches, /* the number of filtered out matches
55 which represent a matching poly(A)
56 tail */
57
58 /* memory statistics */
59 numofSAs, /* number of computed SAs */
60 numofPGLs_stored, /* number of stored PGLs */
61 totalsizeofbacktracematricesinMB,
62 numofbacktracematrixallocations;
63
64 /* distributions */
65 GtDiscDistri *exondistribution,
66 *introndistribution,
67 *matchnumdistribution,
68 *refseqcoveragedistribution,
69 *sa_alignment_score_distribution,
70 *sa_coverage_distribution;
71 };
72
73 GthStat *gth_stat_new(void)
74 {
75 GthStat *stat;
76
77 stat = gt_malloc(sizeof (GthStat));
78
79 stat->exondistri = GTH_DEFAULT_EXONDISTRI;
80 stat->introndistri = GTH_DEFAULT_INTRONDISTRI;
81 stat->matchnumdistri = GTH_DEFAULT_MATCHNUMDISTRI;
82 stat->refseqcovdistri = GTH_DEFAULT_REFSEQCOVDISTRI;
83 stat->sa_stats = false;
84 stat->gthfilestat_mode = false;
85
86 stat->numofchains = 0;
87 stat->numofremovedzerobaseexons = 0;
88 stat->numofautointroncutoutcalls = 0;
89 stat->numofunsuccessfulintroncutoutDPs = 0;
90 stat->numoffailedDPparameterallocations = 0;
91 stat->numoffailedmatrixallocations = 0;
92 stat->numofundeterminedSAs = 0;
93 stat->numoffilteredpolyAtailmatches = 0;
94
95 /* init variables for memory statistics */
96 stat->numofSAs = 0;
97 stat->numofPGLs_stored = 0;
98 stat->totalsizeofbacktracematricesinMB = 0;
99 stat->numofbacktracematrixallocations = 0;
100
101 /* init distributions */
102 stat->exondistribution = gt_disc_distri_new();
103 stat->introndistribution = gt_disc_distri_new();
104 stat->matchnumdistribution = gt_disc_distri_new();
105 stat->refseqcoveragedistribution = gt_disc_distri_new();
106 stat->sa_alignment_score_distribution = gt_disc_distri_new();
107 stat->sa_coverage_distribution = gt_disc_distri_new();
108
109 return stat;
110 }
111
112 void gth_stat_enable_exondistri(GthStat *stat)
113 {
114 gt_assert(stat);
115 stat->exondistri = true;
116 }
117
118 void gth_stat_enable_introndistri(GthStat *stat)
119 {
120 gt_assert(stat);
121 stat->introndistri= true;
122 }
123
124 void gth_stat_enable_matchnumdistri(GthStat *stat)
125 {
126 gt_assert(stat);
127 stat->matchnumdistri = true;
128 }
129
130 void gth_stat_enable_refseqcovdistri(GthStat *stat)
131 {
132 gt_assert(stat);
133 stat->refseqcovdistri = true;
134 }
135
136 void gth_stat_enable_sa_stats(GthStat *stat)
137 {
138 gt_assert(stat);
139 stat->sa_stats = true;
140 }
141
142 void gth_stat_enable_gthfilestat_mode(GthStat *stat)
143 {
144 gt_assert(stat);
145 stat->gthfilestat_mode= true;
146 }
147
148 void gth_stat_increment_numofunsuccessfulintroncutoutDPs(GthStat *stat)
149 {
150 gt_assert(stat);
151 stat->numofunsuccessfulintroncutoutDPs++;
152 }
153
154 void gth_stat_increment_numofundeterminedSAs(GthStat *stat)
155 {
156 gt_assert(stat);
157 stat->numofundeterminedSAs++;
158 }
159
160 void gth_stat_increment_numofautointroncutoutcalls(GthStat *stat)
161 {
162 gt_assert(stat);
163 stat->numofautointroncutoutcalls++;
164 }
165
166 void gth_stat_increment_numoffailedmatrixallocations(GthStat *stat)
167 {
168 gt_assert(stat);
169 stat->numoffailedmatrixallocations++;
170 }
171
172 void gth_stat_increment_numoffailedDPparameterallocations(GthStat *stat)
173 {
174 gt_assert(stat);
175 stat->numoffailedDPparameterallocations++;
176 }
177
178 void gth_stat_increment_numofbacktracematrixallocations(GthStat *stat)
179 {
180 gt_assert(stat);
181 stat->numofbacktracematrixallocations++;
182 }
183
184 void gth_stat_increment_numofremovedzerobaseexons(GthStat *stat)
185 {
186 gt_assert(stat);
187 stat->numofremovedzerobaseexons++;
188 }
189
190 void gth_stat_increment_numofSAs(GthStat *stat)
191 {
192 gt_assert(stat);
193 stat->numofSAs++;
194 }
195
196 void gth_stat_increase_numofchains(GthStat *stat, GtUword addend)
197 {
198 gt_assert(stat);
199 stat->numofchains += addend;
200 }
201
202 void gth_stat_increase_totalsizeofbacktracematricesinMB(GthStat *stat,
203 GtUword addend)
204 {
205 gt_assert(stat);
206 gt_safe_add(stat->totalsizeofbacktracematricesinMB,
207 stat->totalsizeofbacktracematricesinMB, addend);
208 }
209
210 void gth_stat_increase_numofPGLs_stored(GthStat *stat, GtUword addend)
211 {
212 gt_assert(stat);
213 stat->numofPGLs_stored += addend;
214 }
215
216 GtUword gth_stat_get_numofSAs(GthStat *stat)
217 {
218 gt_assert(stat);
219 return stat->numofSAs;
220 }
221
222 bool gth_stat_get_exondistri(GthStat *stat)
223 {
224 gt_assert(stat);
225 return stat->exondistri;
226 }
227
228 bool gth_stat_get_introndistri(GthStat *stat)
229 {
230 gt_assert(stat);
231 return stat->introndistri;
232 }
233
234 GtDiscDistri* gth_stat_get_exondistribution(GthStat *stat)
235 {
236 gt_assert(stat);
237 return stat->exondistribution;
238 }
239
240 GtDiscDistri* gth_stat_get_introndistribution(GthStat *stat)
241 {
242 gt_assert(stat);
243 return stat->introndistribution;
244 }
245
246 bool gth_stat_get_matchnumdistri(GthStat *stat)
247 {
248 gt_assert(stat);
249 return stat->matchnumdistri;
250 }
251
252 bool gth_stat_get_refseqcovdistri(GthStat *stat)
253 {
254 gt_assert(stat);
255 return stat->refseqcovdistri;
256 }
257
258 void gth_stat_add_to_matchnumdistri(GthStat *stat, GtUword data)
259 {
260 gt_assert(stat);
261 if (stat->matchnumdistri)
262 gt_disc_distri_add(stat->matchnumdistribution, data);
263 }
264
265 void gth_stat_add_to_refseqcovdistri(GthStat *stat, GtUword data)
266 {
267 gt_assert(stat);
268 if (stat->refseqcovdistri)
269 gt_disc_distri_add(stat->refseqcoveragedistribution, data);
270 }
271
272 void gth_stat_add_to_sa_alignment_score_distri(GthStat *stat,
273 GtUword data)
274 {
275 gt_assert(stat);
276 if (stat->sa_stats)
277 gt_disc_distri_add(stat->sa_alignment_score_distribution, data);
278 }
279
280 void gth_stat_add_to_sa_coverage_distri(GthStat *stat, GtUword data)
281 {
282 gt_assert(stat);
283 if (stat->sa_stats)
284 gt_disc_distri_add(stat->sa_coverage_distribution, data);
285 }
286
287 static void outputgeneralstatistics(GthStat *stat, bool show_full_stats,
288 GtFile *outfp)
289 {
290 gt_assert(stat);
291 if (show_full_stats) {
292 gt_file_xprintf(outfp, "%c general statistics:\n", COMMENTCHAR);
293 switch (stat->numofchains) {
294 case 0:
295 gt_file_xprintf(outfp, "%c no chain has been computed\n",
296 COMMENTCHAR);
297 break;
298 case 1:
299 gt_file_xprintf(outfp, "%c 1 chain has been computed\n",
300 COMMENTCHAR);
301 break;
302 default:
303 gt_file_xprintf(outfp, "%c "GT_WU" chains have been computed\n",
304 COMMENTCHAR, stat->numofchains);
305 }
306 }
307 }
308
309 static void outputmemorystatistics(GthStat *stat, bool show_full_stats,
310 GtFile *outfp)
311 {
312 gt_assert(stat);
313
314 /* SA memory statistics */
315 INFOCHAR;
316 gt_file_xprintf(outfp, "memory statistics:\n");
317 INFOCHAR;
318 gt_file_xprintf(outfp, ""GT_WU" spliced alignments have been stored\n",
319 stat->numofSAs);
320
321 /* PGL memory statistics */
322 INFOCHAR;
323 gt_file_xprintf(outfp, ""GT_WU" predicted gene locations have been stored\n",
324 stat->numofPGLs_stored);
325
326 /* DP memory statistics */
327 if (show_full_stats) {
328 gt_file_xprintf(outfp, "%c "GT_WU" megabytes was the average size of the "
329 "backtrace matrix\n", COMMENTCHAR,
330 (stat->numofbacktracematrixallocations > 0 ?
331 stat->totalsizeofbacktracematricesinMB /
332 stat->numofbacktracematrixallocations : 0));
333 switch (stat->numofbacktracematrixallocations) {
334 case 0:
335 gt_file_xprintf(outfp, "%c no backtrace matrix has been allocated\n",
336 COMMENTCHAR);
337 break;
338 case 1:
339 gt_file_xprintf(outfp, "%c 1 backtrace matrix has been allocated\n",
340 COMMENTCHAR);
341 break;
342 default:
343 gt_file_xprintf(outfp,"%c "GT_WU" backtrace matrices have been "
344 "allocated\n", COMMENTCHAR,
345 stat->numofbacktracematrixallocations);
346 }
347 }
348 }
349
350 void gth_stat_show(GthStat *stat, bool show_full_stats, bool xmlout,
351 GtFile *outfp)
352 {
353 char *timestring;
354
355 gt_assert(stat);
356
357 /* begin XML comment */
358 if (xmlout)
359 gt_file_xprintf(outfp, "<!--\n");
360
361 /* output exon length distribution */
362 if (stat->exondistri) {
363 gt_file_xprintf(outfp, "%c length distribution of all exons:\n",
364 COMMENTCHAR);
365 gt_disc_distri_show(stat->exondistribution, outfp);
366 }
367
368 /* output intron length distribution */
369 if (stat->introndistri) {
370 if (stat->exondistri)
371 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
372 gt_file_xprintf(outfp, "%c length distribution of all introns:\n",
373 COMMENTCHAR);
374 gt_disc_distri_show(stat->introndistribution, outfp);
375 }
376
377 /* output match number distribution */
378 if (stat->matchnumdistri) {
379 if (stat->exondistri || stat->introndistri)
380 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
381 gt_file_xprintf(outfp, "%c distribution of match numbers (per genomic "
382 "file, per reference sequence:\n", COMMENTCHAR);
383 gt_disc_distri_show(stat->matchnumdistribution, outfp);
384 }
385
386 /* output reference sequence coverage distribution */
387 if (stat->refseqcovdistri) {
388 if (stat->exondistri || stat->introndistri || stat->matchnumdistri)
389 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
390 gt_file_xprintf(outfp, "%c reference sequence coverage distribution (of "
391 "global chains):\n", COMMENTCHAR);
392 gt_disc_distri_show(stat->refseqcoveragedistribution, outfp);
393 }
394
395 /* output spliced alignment statistics */
396 if (stat->sa_stats) {
397 if (stat->exondistri || stat->introndistri ||
398 stat->matchnumdistri || stat->refseqcovdistri) {
399 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
400 }
401 INFOCHAR;
402 gt_file_xprintf(outfp,
403 "spliced alignment alignment score distribution:\n");
404 gt_disc_distri_show(stat->sa_alignment_score_distribution, outfp);
405 INFOCHAR;
406 gt_file_xfputc('\n', outfp);
407 INFOCHAR;
408 gt_file_xprintf(outfp, "spliced alignment coverage distribution:\n");
409 gt_disc_distri_show(stat->sa_coverage_distribution, outfp);
410 }
411
412 /* output general statistics */
413 outputgeneralstatistics(stat, show_full_stats, outfp);
414 INFOCHAR;
415 gt_file_xfputc('\n', outfp);
416
417 /* output the memory statistics */
418 outputmemorystatistics(stat, show_full_stats, outfp);
419
420 /* output time */
421 INFOCHAR;
422 gt_file_xfputc('\n', outfp);
423 INFOCHAR;
424 timestring = gth_get_time();
425 gt_file_xprintf(outfp, "date finished: %s\n", timestring);
426 gt_free(timestring);
427
428 /* output important messages */
429 if (stat->numofremovedzerobaseexons ||
430 stat->numofautointroncutoutcalls ||
431 stat->numofunsuccessfulintroncutoutDPs ||
432 stat->numoffailedDPparameterallocations ||
433 stat->numoffailedmatrixallocations ||
434 stat->numofundeterminedSAs ||
435 stat->numoffilteredpolyAtailmatches) {
436 gt_file_xprintf(outfp, "%c\n", COMMENTCHAR);
437 gt_file_xprintf(outfp, "%c important messages:\n", COMMENTCHAR);
438 if (stat->numofremovedzerobaseexons > 0) {
439 gt_file_xprintf(outfp, "%c "GT_WU" removed zero base exons\n",
440 COMMENTCHAR, stat->numofremovedzerobaseexons);
441 }
442 if (stat->numofautointroncutoutcalls > 0) {
443 gt_file_xprintf(outfp, "%c "GT_WU" times the intron cutout technique was "
444 "used automatically\n", COMMENTCHAR,
445 stat->numofautointroncutoutcalls);
446 }
447 if (stat->numofunsuccessfulintroncutoutDPs > 0) {
448 gt_file_xprintf(outfp, "%c "GT_WU" unsuccessful DP calls using intron "
449 "cutout technique\n", COMMENTCHAR,
450 stat->numofunsuccessfulintroncutoutDPs);
451 }
452 if (stat->numoffailedDPparameterallocations > 0) {
453 gt_file_xprintf(outfp, "%c "GT_WU" DP parameter allocations failed\n",
454 COMMENTCHAR, stat->numoffailedDPparameterallocations);
455 }
456 if (stat->numoffailedmatrixallocations > 0) {
457 gt_file_xprintf(outfp, "%c "GT_WU" matrix allocations failed\n",
458 COMMENTCHAR, stat->numoffailedmatrixallocations);
459 }
460 if (stat->numofundeterminedSAs > 0) {
461 gt_file_xprintf(outfp, "%c "GT_WU" undetermined spliced alignments\n",
462 COMMENTCHAR, stat->numofundeterminedSAs);
463 }
464 if (stat->numoffilteredpolyAtailmatches > 0) {
465 gt_file_xprintf(outfp,
466 "%c "GT_WU" matches containing a poly(A) tail filtered\n",
467 COMMENTCHAR, stat->numoffilteredpolyAtailmatches);
468 }
469 }
470
471 /* end XML comment */
472 if (xmlout)
473 gt_file_xprintf(outfp, "-->\n");
474 }
475
476 void gth_stat_delete(GthStat *stat)
477 {
478 if (!stat) return;
479 gt_disc_distri_delete(stat->exondistribution);
480 gt_disc_distri_delete(stat->introndistribution);
481 gt_disc_distri_delete(stat->matchnumdistribution);
482 gt_disc_distri_delete(stat->refseqcoveragedistribution);
483 gt_disc_distri_delete(stat->sa_alignment_score_distribution);
484 gt_disc_distri_delete(stat->sa_coverage_distribution);
485 gt_free(stat);
486 }
+0
-63
src/gth/stat.h less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef STAT_H
18 #define STAT_H
19
20 #include <stdbool.h>
21 #include "core/disc_distri_api.h"
22 #include "core/error.h"
23
24 /* stores all kinds of gth related statistical information */
25 typedef struct GthStat GthStat;
26
27 GthStat* gth_stat_new(void);
28 void gth_stat_enable_exondistri(GthStat*);
29 void gth_stat_enable_introndistri(GthStat*);
30 void gth_stat_enable_matchnumdistri(GthStat*);
31 void gth_stat_enable_refseqcovdistri(GthStat*);
32 void gth_stat_enable_sa_stats(GthStat*);
33 void gth_stat_enable_gthfilestat_mode(GthStat*);
34 void gth_stat_increment_numofunsuccessfulintroncutoutDPs(GthStat*);
35 void gth_stat_increment_numofundeterminedSAs(GthStat*);
36 void gth_stat_increment_numofautointroncutoutcalls(GthStat*);
37 void gth_stat_increment_numoffailedmatrixallocations(GthStat*);
38 void gth_stat_increment_numoffailedDPparameterallocations(GthStat*);
39 void gth_stat_increment_numofbacktracematrixallocations(GthStat*);
40 void gth_stat_increment_numofremovedzerobaseexons(GthStat*);
41 void gth_stat_increment_numofSAs(GthStat*);
42 void gth_stat_increase_numofchains(GthStat*, GtUword);
43 void gth_stat_increase_totalsizeofbacktracematricesinMB(GthStat*,
44 GtUword);
45 void gth_stat_increase_numofPGLs_stored(GthStat*, GtUword);
46 GtUword gth_stat_get_numofSAs(GthStat*);
47 bool gth_stat_get_exondistri(GthStat*);
48 bool gth_stat_get_introndistri(GthStat*);
49 GtDiscDistri* gth_stat_get_exondistribution(GthStat*);
50 GtDiscDistri* gth_stat_get_introndistribution(GthStat*);
51 bool gth_stat_get_matchnumdistri(GthStat*);
52 bool gth_stat_get_refseqcovdistri(GthStat*);
53 void gth_stat_add_to_matchnumdistri(GthStat*, GtUword);
54 void gth_stat_add_to_refseqcovdistri(GthStat*, GtUword);
55 void gth_stat_add_to_sa_alignment_score_distri(GthStat*,
56 GtUword);
57 void gth_stat_add_to_sa_coverage_distri(GthStat*, GtUword);
58 void gth_stat_show(GthStat*, bool show_full_stats, bool xmlout,
59 GtFile*);
60 void gth_stat_delete(GthStat*);
61
62 #endif
+0
-50
src/gth/time.c less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <time.h>
18 #include "core/ma.h"
19 #include "core/unused_api.h"
20 #include "gth/time.h"
21
22 #define TIMESTRINGLENGTH 80
23
24 char* gth_get_time(void)
25 {
26 time_t utime;
27 char *timestring;
28 GT_UNUSED int rval;
29
30 /* determine timestring */
31 if (time(&utime) < 0) {
32 timestring = gt_malloc(sizeof (char) * TIMESTRINGLENGTH);
33 rval = snprintf(timestring, (size_t) TIMESTRINGLENGTH, "%s",
34 "time not available");
35 gt_assert(rval < TIMESTRINGLENGTH);
36 return timestring;
37 }
38
39 timestring = gt_malloc(sizeof (char) * TIMESTRINGLENGTH);
40 if (strftime(timestring, (size_t) TIMESTRINGLENGTH, "%Y-%m-%d %H:%M:%S",
41 localtime(&utime)) == 0) {
42 rval = snprintf(timestring, (size_t) TIMESTRINGLENGTH, "%s",
43 "problem with time conversion");
44 gt_assert(rval < TIMESTRINGLENGTH);
45 return timestring;
46 }
47
48 return timestring;
49 }
+0
-23
src/gth/time.h less more
0 /*
1 Copyright (c) 2005-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2005-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef TIME_H
18 #define TIME_H
19
20 char* gth_get_time(void);
21
22 #endif
+0
-273
src/gth/txt_pgl_visitor.c less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "gth/indent.h"
19 #include "gth/gthtrans.h"
20 #include "gth/pgl_visitor_rep.h"
21 #include "gth/txt_pgl_visitor.h"
22
23 #define PGLS_DELIMITERCHAR '-'
24 #define PGL_DELIMITERLINECHAR '*'
25
26 struct GthTxtPGLVisitor {
27 const GthPGLVisitor parent_instance;
28 GthInput *input;
29 GtUword translationtable;
30 unsigned int indentlevel;
31 GthOutput *out;
32 };
33
34 #define txt_pgl_visitor_cast(GV)\
35 gth_pgl_visitor_cast(gth_txt_pgl_visitor_class(), GV)
36
37 static void outputAGSline(const GthAGS *ags, GtUword agsnum,
38 GtFile *outfp)
39 {
40 GthExonAGS *exon;
41 GtUword i;
42
43 gt_file_xprintf(outfp, "AGS-" GT_WU " (", agsnum + OUTPUTOFFSET);
44 for (i = 0; i < gth_ags_num_of_exons(ags); i++) {
45 exon = gth_ags_get_exon(ags, i);
46 if (i > 0)
47 gt_file_xfputc(',', outfp);
48 gt_file_xprintf(outfp, GT_WU " " GT_WU, SHOWGENPOSAGS(exon->range.start),
49 SHOWGENPOSAGS(exon->range.end));
50 }
51 gt_file_xprintf(outfp, ")\n");
52 }
53
54 static void outputSCRline(const GthAGS *ags, GtFile *outfp)
55 {
56 GthSpliceSiteProb *splicesiteprob;
57 GtUword i;
58
59 gt_file_xprintf(outfp, "SCR (");
60 for (i = 0; i < gt_array_size(ags->exons) - 1; i++) {
61 splicesiteprob = (GthSpliceSiteProb*) gt_array_get(ags->splicesiteprobs, i);
62 gt_file_xprintf(outfp, "e %5.3f d %5.3f a %5.3f,",
63 ((GthExonAGS*) gt_array_get(ags->exons, i))->score,
64 splicesiteprob->donorsiteprob,
65 splicesiteprob->acceptorsiteprob);
66 }
67 gt_file_xprintf(outfp, "e %5.3f)\n",
68 ((GthExonAGS*) gt_array_get(ags->exons, i))->score);
69 gt_file_xfputc('\n', outfp);
70 }
71
72 static void output_exon_intron_lines(const GthAGS *ags, int widthforgenpos,
73 GtFile *outfp)
74 {
75 GthSpliceSiteProb *splicesiteprob;
76 GthExonAGS *exon;
77 GtUword i, leftexonborder, rightexonborder, exonlength,
78 leftintronborder = GT_UNDEF_UWORD, rightintronborder,
79 intronlength;
80 GthDbl exonscore;
81 GthFlt donorsiteprob, acceptorsiteprob;
82
83 for (i = 0; i < gt_array_size(ags->exons); i++) {
84 exon = (GthExonAGS*) gt_array_get(ags->exons, i);
85 leftexonborder = exon->range.start;
86 rightexonborder = exon->range.end;
87 exonlength = rightexonborder - leftexonborder + 1;
88 exonscore = exon->score;
89
90 if (i > 0) {
91 rightintronborder = leftexonborder - 1;
92 intronlength = rightintronborder - leftintronborder + 1;
93 splicesiteprob = (GthSpliceSiteProb*)
94 gt_array_get(ags->splicesiteprobs, i-1);
95 donorsiteprob = splicesiteprob->donorsiteprob;
96 acceptorsiteprob = splicesiteprob->acceptorsiteprob;
97
98 /* output intron */
99 gt_file_xprintf(outfp,
100 " Intron %2" GT_WUS " %*" GT_WUS " %*" GT_WUS " (%4"
101 GT_WUS " n); " "Pd: %5.3f Pa: %5.3f\n",
102 i - 1 + OUTPUTOFFSET, widthforgenpos,
103 SHOWGENPOSAGS(leftintronborder), widthforgenpos,
104 SHOWGENPOSAGS(rightintronborder), intronlength,
105 donorsiteprob, acceptorsiteprob);
106 }
107 leftintronborder = rightexonborder + 1;
108
109 /* output exon */
110 gt_file_xprintf(outfp,
111 " Exon %2" GT_WUS " %*" GT_WUS " %*" GT_WUS " (%4" GT_WUS
112 " n); score: %5.3f\n",
113 i + OUTPUTOFFSET, widthforgenpos,
114 SHOWGENPOSAGS(leftexonborder), widthforgenpos,
115 SHOWGENPOSAGS(rightexonborder), exonlength, exonscore);
116 }
117 gt_file_xfputc('\n', outfp);
118 }
119
120 static void outputPGSlines(GtArray *alignments, GtFile *outfp)
121 {
122 GtUword i, j;
123 GthSA *sa;
124
125 for (i = 0; i < gt_array_size(alignments); i++) {
126 sa = *(GthSA**) gt_array_get(alignments, i);
127
128 gt_file_xprintf(outfp, " PGS (");
129 for (j = 0; j < gth_sa_num_of_exons(sa); j++) {
130 if (j > 0)
131 gt_file_xfputc(',', outfp);
132 gt_file_xprintf(outfp, GT_WU " " GT_WU ,
133 gth_sa_left_genomic_exon_border(sa, j),
134 gth_sa_right_genomic_exon_border(sa, j));
135 }
136 gt_file_xprintf(outfp, ")\t%s%c\n", gth_sa_ref_id(sa),
137 gth_sa_ref_strand_char(sa));
138 }
139
140 gt_file_xfputc('\n', outfp);
141 }
142
143 static void show_ags(const GthAGS *ags, GtUword pglnum,
144 GtUword agsnum, GtUword translationtable,
145 GthInput *input, unsigned int indentlevel, GthOutput *out)
146 {
147 GtFile *outfp = out->outfp;
148
149 /* output AGS line */
150 outputAGSline(ags, agsnum, out->outfp);
151
152 /* output SCR line */
153 outputSCRline(ags, out->outfp);
154
155 /* output exon/intron lines */
156 output_exon_intron_lines(ags, out->widthforgenpos, out->outfp);
157
158 /* output PGS lines */
159 outputPGSlines(ags->alignments, out->outfp);
160
161 /* output 3-phase translation */
162 gt_outputtranslationandorf(pglnum, ags, agsnum, translationtable, input,
163 indentlevel, out);
164
165 /* output three final newlines */
166 gt_file_xprintf(outfp, "\n\n\n");
167 }
168
169 static void show_pgl(GthPGL *pgl, GtUword pglnum,
170 GtUword translationtable, GthInput *input,
171 unsigned int indentlevel, GthOutput *out)
172 {
173 GtUword i;
174 GtFile *outfp = out->outfp;
175
176 gt_assert(!out->gff3out);
177
178 if (out->xmlout) {
179 gth_indent(outfp, indentlevel);
180 gt_file_xprintf(outfp, "<predicted_gene_location>\n");
181 indentlevel++;
182 gth_indent(outfp, indentlevel);
183 gt_file_xprintf(outfp, "<PGL_line PGL_serial=\"" GT_WU "\" "
184 "PGL_strand=\"%c\" PGL_start=\"" GT_WU "\" PGL_stop=\""
185 GT_WU "\"/>\n",
186 pglnum + OUTPUTOFFSET,
187 SHOWSTRAND(gth_pgl_is_forward(pgl)),
188 SHOWGENPOS(gth_pgl_is_forward(pgl),
189 gth_pgl_total_length(pgl),
190 gth_pgl_genomic_offset(pgl),
191 pgl->maxrange.start),
192 SHOWGENPOS(gth_pgl_is_forward(pgl),
193 gth_pgl_total_length(pgl),
194 gth_pgl_genomic_offset(pgl),
195 pgl->maxrange.end));
196 }
197 else {
198 gt_file_xprintf(outfp, "PGL %3" GT_WUS " (%c strand): " GT_WU " "
199 GT_WU,
200 pglnum + OUTPUTOFFSET,
201 SHOWSTRAND(gth_pgl_is_forward(pgl)),
202 SHOWGENPOS(gth_pgl_is_forward(pgl),
203 gth_pgl_total_length(pgl),
204 gth_pgl_genomic_offset(pgl),
205 pgl->maxrange.start),
206 SHOWGENPOS(gth_pgl_is_forward(pgl),
207 gth_pgl_total_length(pgl),
208 gth_pgl_genomic_offset(pgl),
209 pgl->maxrange.end));
210 if (out->pglgentemplate)
211 gt_file_xprintf(outfp, " (genomic template '%s')", gth_pgl_gen_id(pgl));
212 gt_file_xfputc('\n', outfp);
213 }
214
215 for (i = 0; i < gt_array_size(pgl->assemblies); i++) {
216 show_ags(gth_pgl_get_ags(pgl, i), pglnum, i, translationtable, input,
217 indentlevel, out);
218 }
219
220 if (out->xmlout) {
221 indentlevel--;
222 gth_indent(outfp, indentlevel);
223 gt_file_xprintf(outfp, "</predicted_gene_location>\n");
224 }
225 }
226
227 static void txt_pgl_visitor_preface(GthPGLVisitor *pgl_visitor,
228 GtUword num_of_pgls)
229 {
230 GtUword i;
231 GthTxtPGLVisitor *visitor = txt_pgl_visitor_cast(pgl_visitor);
232 for (i = 0; i < DELIMITERLINELENGTH; i++)
233 gt_file_xfputc(PGLS_DELIMITERCHAR, visitor->out->outfp);
234 gt_file_xprintf(visitor->out->outfp, "\n\n");
235 gt_file_xprintf(visitor->out->outfp, "Predicted gene locations (" GT_WU
236 "):\n\n\n", num_of_pgls);
237 }
238
239 static void txt_pgl_visitor_visit_pgl(GthPGLVisitor *pgl_visitor,
240 GthPGL *pgl, GtUword pglnum)
241 {
242 GthTxtPGLVisitor *visitor = txt_pgl_visitor_cast(pgl_visitor);
243 gt_assert(pgl);
244 show_pgl(pgl, pglnum, visitor->translationtable, visitor->input,
245 visitor->indentlevel, visitor->out);
246 }
247
248 const GthPGLVisitorClass* gth_txt_pgl_visitor_class()
249 {
250 static const GthPGLVisitorClass pglvc = { sizeof (GthTxtPGLVisitor),
251 NULL,
252 txt_pgl_visitor_preface,
253 NULL,
254 txt_pgl_visitor_visit_pgl,
255 NULL };
256 return &pglvc;
257 }
258
259 GthPGLVisitor* gth_txt_pgl_visitor_new(GthInput *input,
260 GtUword translationtable,
261 unsigned int indentlevel,
262 GthOutput *out)
263 {
264 GthPGLVisitor *pgl_visitor =
265 gth_pgl_visitor_create(gth_txt_pgl_visitor_class());
266 GthTxtPGLVisitor *visitor = txt_pgl_visitor_cast(pgl_visitor);
267 visitor->input = input;
268 visitor->translationtable = translationtable;
269 visitor->indentlevel = indentlevel;
270 visitor->out = out;
271 return pgl_visitor;
272 }
+0
-34
src/gth/txt_pgl_visitor.h less more
0 /*
1 Copyright (c) 2008-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef TXT_PGL_VISITOR_H
18 #define TXT_PGL_VISITOR_H
19
20 #include "gth/input.h"
21 #include "gth/pgl_visitor.h"
22
23 /* implements the ``spliced alignment visitor'' interface */
24 typedef struct GthTxtPGLVisitor GthTxtPGLVisitor;
25
26 const GthPGLVisitorClass* gth_txt_pgl_visitor_class(void);
27 GthPGLVisitor* gth_txt_pgl_visitor_new(GthInput*,
28 GtUword
29 translationtable,
30 unsigned int indentlevel,
31 GthOutput*);
32
33 #endif
+0
-325
src/gth/txt_sa_visitor.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "gth/sa_visitor_rep.h"
19 #include "gth/txt_sa_visitor.h"
20
21 #define SA_DELIMITERLINECHAR '*'
22
23 struct GthTxtSAVisitor {
24 const GthSAVisitor parent_instance;
25 GthInput *input;
26 bool gs2out,
27 showseqnums;
28 GtUword minintronlength,
29 widthforgenpos,
30 showintronmaxlen,
31 translationtable;
32 GtFile *outfp;
33 };
34
35 #define txt_sa_visitor_cast(GV)\
36 gth_sa_visitor_cast(gth_txt_sa_visitor_class(), GV)
37
38 static void showgthreferenceinformation(GthSA *sa, GthInput *input,
39 bool showseqnums,
40 GtFile *outfp)
41 {
42 gt_assert(gth_sa_ref_file_num(sa) != GT_UNDEF_UWORD);
43
44 switch (gth_sa_alphatype(sa)) {
45 case DNA_ALPHA:
46 gt_file_xprintf(outfp,
47 "EST Sequence: file=%s, strand=%c, description=",
48 gth_input_get_reference_filename(input,
49 gth_sa_ref_file_num(sa)),
50 gth_sa_ref_strand_char(sa));
51 break;
52 case PROTEIN_ALPHA:
53 gt_file_xprintf(outfp, "Protein Sequence: file=%s, description=",
54 gth_input_get_reference_filename(input,
55 gth_sa_ref_file_num(sa)));
56 break;
57 default: gt_assert(0);
58 }
59
60 gth_sa_echo_reference_description(sa, input, outfp);
61
62 if (showseqnums)
63 gt_file_xprintf(outfp, ", seqnum="GT_WU"", gth_sa_ref_seq_num(sa));
64
65 gt_file_xfputc('\n', outfp);
66 gt_file_xfputc('\n', outfp);
67 }
68
69 static void showgs2referenceinformation(GthSA *sa, GtFile *outfp)
70 {
71 gt_file_xprintf(outfp, "EST sequence %4"GT_WUS" %cstrand (File: %s%c)\n\n",
72 gth_sa_call_number(sa),
73 gth_sa_ref_strand_char(sa),
74 gth_sa_ref_id(sa),
75 gth_sa_ref_strand_char(sa));
76 }
77
78 static void showgthgenomicinformation(GthSA *sa, GthInput *input,
79 bool showseqnums, GtFile *outfp)
80 {
81 gt_assert(gth_sa_gen_file_num(sa) != GT_UNDEF_UWORD);
82
83 gt_file_xprintf(outfp, "Genomic Template: file=%s, strand=%c, from="GT_WU", "
84 "to="GT_WU", description=",
85 gth_input_get_genomic_filename(input,
86 gth_sa_gen_file_num(sa)),
87 gth_sa_gen_strand_char(sa),
88 gth_sa_gen_dp_start_show(sa),
89 gth_sa_gen_dp_end_show(sa));
90
91 gth_sa_echo_genomic_description(sa, input, outfp);
92
93 if (showseqnums)
94 gt_file_xprintf(outfp, ", seqnum="GT_WU"", gth_sa_gen_seq_num(sa));
95
96 gt_file_xfputc('\n', outfp);
97 gt_file_xfputc('\n', outfp);
98 }
99
100 /*
101 The following function prints a PPA line, which shows the start and end
102 position of the poly-A tail in the cDNA (iff a poly-A tail could be
103 determined).
104 */
105 static void showppaline(GthSA *sa, GtFile *outfp)
106 {
107 if (gth_sa_polyAtail_start(sa) ||
108 gth_sa_polyAtail_stop(sa)) {
109 gt_file_xprintf(outfp,
110 " PPA cDNA %6" GT_WUS " %6"
111 GT_WUS "\n", gth_sa_polyAtail_start(sa) + OUTPUTOFFSET,
112 gth_sa_polyAtail_stop(sa) + OUTPUTOFFSET);
113 }
114 }
115
116 /* The following function prints the "classic" GeneSeqer2 MATCH line */
117 static void showmatchline(GthSA *sa, GtFile *outfp)
118 {
119 gt_file_xprintf(outfp, "MATCH\t%s%c\t%s%c\t%5.3f\t"GT_WU"\t%5.3f\t%c\n",
120 gth_sa_gen_id(sa),
121 gth_sa_gen_strand_char(sa),
122 gth_sa_ref_id(sa),
123 gth_sa_ref_strand_char(sa),
124 gth_sa_score(sa),
125 gth_sa_cumlen_scored_exons(sa),
126 gth_sa_coverage(sa),
127 gth_sa_coverage_char(sa));
128 }
129
130 /*
131 The following function prints the "classic" GeneSeqer2 PGS line
132 */
133 static void showpgsline(GthSA *sa, GtFile *outfp)
134 {
135 GtUword i, numofexons;
136 gt_assert(sa);
137 numofexons = gth_sa_num_of_exons(sa);
138 gt_file_xprintf(outfp, "PGS_%s%c_%s%c\t(",
139 gth_sa_gen_id(sa),
140 gth_sa_gen_strand_char(sa),
141 gth_sa_ref_id(sa),
142 gth_sa_ref_strand_char(sa));
143
144 for (i = 0; i < numofexons; i++) {
145 gt_file_xprintf(outfp, ""GT_WU" "GT_WU"",
146 gth_sa_left_genomic_exon_border(sa, i),
147 gth_sa_right_genomic_exon_border(sa, i));
148 if (i == numofexons - 1)
149 gt_file_xprintf(outfp, ")\n\n");
150 else
151 gt_file_xfputc(',', outfp);
152 }
153 }
154
155 static void showalignmentheader(GthSA *sa, bool gs2out, int widthforgenpos,
156 GtUword minintronlength, GtFile *outfp)
157 {
158 GtUword i, leftreferenceexonborder, rightreferenceexonborder,
159 referenceexonlength;
160 GthDbl exonscore, donorsitescore, acceptorsitescore;
161 GthFlt donorsiteprobability, acceptorsiteprobability;
162 Exoninfo *exoninfo;
163 Introninfo *introninfo;
164
165 gt_file_xprintf(outfp, "Predicted gene structure");
166 if (gs2out) {
167 gt_file_xprintf(outfp, " (within gDNA segment "GT_WU" to "GT_WU"):\n",
168 gth_sa_gen_dp_start_show(sa),
169 gth_sa_gen_dp_end_show(sa));
170 }
171 else
172 gt_file_xprintf(outfp, ":\n");
173 gt_file_xfputc('\n', outfp);
174
175 for (i = 0; i < gth_sa_num_of_exons(sa); i++) {
176 exoninfo = gth_sa_get_exon(sa, i);
177 leftreferenceexonborder = exoninfo->leftreferenceexonborder;
178 rightreferenceexonborder = exoninfo->rightreferenceexonborder;
179 referenceexonlength = rightreferenceexonborder
180 - leftreferenceexonborder + 1;
181 exonscore = exoninfo->exonscore;
182
183 if (i > 0) {
184 introninfo = gth_sa_get_intron(sa, i-1);
185 donorsiteprobability = introninfo->donorsiteprobability;
186 donorsitescore = introninfo->donorsitescore;
187 acceptorsiteprobability = introninfo->acceptorsiteprobability;
188 acceptorsitescore = introninfo->acceptorsitescore;
189
190 gt_file_xprintf(outfp, " Intron %2" GT_WUS " %*" GT_WUS " %*" GT_WUS
191 " (%4" GT_WUS " n); ",
192 i - 1 + OUTPUTOFFSET, widthforgenpos,
193 gth_sa_left_intron_border(sa, i-1), widthforgenpos,
194 gth_sa_right_intron_border(sa, i-1),
195 gth_sa_intron_length(sa, i-1));
196
197 gt_file_xprintf(outfp, "Pd: %5.3f ", donorsiteprobability);
198 if (gth_sa_alphatype(sa) == DNA_ALPHA) {
199 if (donorsitescore == 0.0)
200 gt_file_xprintf(outfp, "(s: 0), ");
201 else
202 gt_file_xprintf(outfp, "(s: %4.2f), ", donorsitescore);
203 }
204 else
205 gt_file_xprintf(outfp, " ");
206 gt_file_xprintf(outfp, "Pa: %5.3f ", acceptorsiteprobability);
207 if (gth_sa_alphatype(sa) == DNA_ALPHA) {
208 if (acceptorsitescore == 0.0)
209 gt_file_xprintf(outfp, "(s: 0)");
210 else
211 gt_file_xprintf(outfp, "(s: %4.2f)", acceptorsitescore);
212 }
213 /* if the intron is shorter or equal than the minimum intron length two
214 question marks are shown at the end of the line */
215 if (gth_sa_intron_length(sa, i-1) <= minintronlength)
216 gt_file_xprintf(outfp, " ??");
217 gt_file_xfputc('\n', outfp);
218 }
219
220 gt_file_xprintf(outfp,
221 " Exon %2" GT_WUS " %*" GT_WUS " %*" GT_WUS " (%4" GT_WUS
222 " n); %s %6" GT_WUS " %6" GT_WUS " (%4" GT_WUS " %s); "
223 "score: %5.3f\n", i + OUTPUTOFFSET, widthforgenpos,
224 gth_sa_left_genomic_exon_border(sa, i), widthforgenpos,
225 gth_sa_right_genomic_exon_border(sa, i),
226 gth_sa_genomic_exon_length(sa, i), gth_sa_alphastring(sa),
227 leftreferenceexonborder + OUTPUTOFFSET,
228 rightreferenceexonborder + OUTPUTOFFSET,
229 referenceexonlength,
230 gth_sa_alphatype(sa) == DNA_ALPHA ? "n" : "aa", exonscore);
231 }
232
233 /* showing PPA line (if an poly-A tail was determined) */
234 if (gth_sa_alphatype(sa) == DNA_ALPHA)
235 showppaline(sa, outfp);
236 gt_file_xfputc('\n', outfp);
237
238 /* showing MATCH line */
239 showmatchline(sa, outfp);
240
241 /* showing PGS line */
242 showpgsline(sa, outfp);
243 }
244
245 static void showdelimiterline(GtFile *outfp)
246 {
247 GtUword i;
248 for (i = 0; i < DELIMITERLINELENGTH; i++)
249 gt_file_xfputc(SA_DELIMITERLINECHAR, outfp);
250 gt_file_xfputc('\n', outfp);
251 }
252
253 static void show_spliced_alignment(GthSA *sa, GthInput *input, bool gs2out,
254 GtUword minintronlength,
255 GtUword widthforgenpos,
256 GtUword showintronmaxlen,
257 GtUword translationtable,
258 bool showseqnums, GtFile *outfp)
259 {
260 bool wildcardimplosion = false;
261
262 showdelimiterline(outfp);
263
264 if (gs2out) {
265 /* all wildcards (N,S,Y,W,R,K,V,B,D,H,M) will be replaced by the wildcard N
266 makes only sense for a DNA alphabet */
267 wildcardimplosion = true;
268 showgs2referenceinformation(sa, outfp);
269 gth_sa_echo_reference_sequence(sa, input, true, outfp);
270 }
271 else {
272 showgthreferenceinformation(sa, input, showseqnums, outfp);
273 gth_sa_echo_reference_sequence(sa, input, true, outfp);
274 showgthgenomicinformation(sa, input, showseqnums, outfp);
275 }
276
277 showalignmentheader(sa, gs2out, widthforgenpos, minintronlength, outfp);
278
279 gt_file_xprintf(outfp,
280 "Alignment (genomic DNA sequence = upper lines):\n\n");
281
282 gth_sa_echo_alignment(sa, showintronmaxlen, translationtable,
283 wildcardimplosion, input, outfp);
284 }
285
286 static void txt_sa_visitor_visit_sa(GthSAVisitor *sa_visitor, GthSA *sa)
287 {
288 GthTxtSAVisitor *visitor = txt_sa_visitor_cast(sa_visitor);
289 gt_assert(sa);
290 show_spliced_alignment(sa, visitor->input, visitor->gs2out,
291 visitor->minintronlength, visitor->widthforgenpos,
292 visitor->showintronmaxlen, visitor->translationtable,
293 visitor->showseqnums, visitor->outfp);
294 }
295
296 const GthSAVisitorClass* gth_txt_sa_visitor_class()
297 {
298 static const GthSAVisitorClass savc = { sizeof (GthTxtSAVisitor),
299 NULL,
300 NULL,
301 txt_sa_visitor_visit_sa,
302 NULL };
303 return &savc;
304 }
305
306 GthSAVisitor* gth_txt_sa_visitor_new(GthInput *input, bool gs2out,
307 GtUword minintronlength,
308 GtUword widthforgenpos,
309 GtUword showintronmaxlen,
310 GtUword translationtable,
311 bool showseqnums, GtFile *outfp)
312 {
313 GthSAVisitor *sa_visitor = gth_sa_visitor_create(gth_txt_sa_visitor_class());
314 GthTxtSAVisitor *visitor = txt_sa_visitor_cast(sa_visitor);
315 visitor->input = input;
316 visitor->gs2out = gs2out;
317 visitor->minintronlength = minintronlength;
318 visitor->widthforgenpos = widthforgenpos;
319 visitor->showintronmaxlen = showintronmaxlen;
320 visitor->translationtable = translationtable;
321 visitor->showseqnums = showseqnums;
322 visitor->outfp = outfp;
323 return sa_visitor;
324 }
+0
-37
src/gth/txt_sa_visitor.h less more
0 /*
1 Copyright (c) 2008-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef TXT_SA_VISITOR_H
18 #define TXT_SA_VISITOR_H
19
20 #include "gth/sa_visitor.h"
21 #include "gth/input.h"
22
23 /* implements the ``spliced alignment visitor'' interface */
24 typedef struct GthTxtSAVisitor GthTxtSAVisitor;
25
26 const GthSAVisitorClass* gth_txt_sa_visitor_class(void);
27 GthSAVisitor* gth_txt_sa_visitor_new(GthInput*,
28 bool gs2out,
29 GtUword minintronlength,
30 GtUword widthforgenpos,
31 GtUword showintronmaxlen,
32 GtUword translationtable,
33 bool showseqnums,
34 GtFile *outfp);
35
36 #endif
+0
-474
src/gth/xml_final_sa_visitor.c less more
0 /*
1 Copyright (c) 2004-2011 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/chardef.h"
18 #include "core/undef_api.h"
19 #include "core/unused_api.h"
20 #include "gth/indent.h"
21 #include "gth/sa_visitor_rep.h"
22 #include "gth/xml_final_sa_visitor.h"
23
24 struct GthXMLFinalSAVisitor {
25 const GthSAVisitor parent_instance;
26 GtUword minintronlength,
27 translationtable;
28 GthInput *input;
29 unsigned int indentlevel;
30 GtFile *outfp;
31 };
32
33 #define xml_final_sa_visitor_cast(GV)\
34 gth_sa_visitor_cast(gth_xml_final_sa_visitor_class(), GV)
35
36 static void xml_showgthreferenceinformation(GthSA *sa,
37 GthInput *input,
38 unsigned int indentlevel,
39 GtFile *outfp)
40 {
41 gt_assert(gth_sa_ref_file_num(sa) != GT_UNDEF_UWORD);
42
43 gth_indent(outfp, indentlevel);
44
45 switch (gth_sa_alphatype(sa)) {
46 case DNA_ALPHA:
47 gt_file_xprintf(outfp, "<reference ref_file=\"%s\" ref_id=\"%s\" "
48 "ref_strand=\"%c\" ref_description=\"",
49 gth_input_get_reference_filename(input,
50 gth_sa_ref_file_num(sa)),
51 gth_sa_ref_id(sa),
52 gth_sa_ref_strand_char(sa));
53 break;
54 case PROTEIN_ALPHA:
55 gt_file_xprintf(outfp, "<reference ref_file=\"%s\" ref_id=\"%s\" "
56 "ref_description=\"",
57 gth_input_get_reference_filename(input,
58 gth_sa_ref_file_num(sa)),
59 gth_sa_ref_id(sa));
60 break;
61 default: gt_assert(0);
62 }
63
64 gth_input_echo_reference_description(input, gth_sa_ref_file_num(sa),
65 gth_sa_ref_seq_num(sa), outfp);
66
67 gt_file_xprintf(outfp, "\">\n");
68 }
69
70 static void xml_showgthgenomicinformation(GthSA *sa,
71 GthInput *input,
72 unsigned int indentlevel,
73 GtFile *outfp)
74 {
75 gt_assert(gth_sa_gen_file_num(sa) != GT_UNDEF_UWORD);
76
77 gth_indent(outfp, indentlevel);
78 gt_file_xprintf(outfp, "<gDNA_segment>\n");
79 indentlevel++;
80 gth_indent(outfp, indentlevel);
81 gt_file_xprintf(outfp, "<template temp_file=\"%s\" temp_id=\"%s\" "
82 "temp_strand=\"%c\" temp_description=\"",
83 gth_input_get_genomic_filename(input,
84 gth_sa_gen_file_num(sa)),
85 gth_sa_gen_id(sa),
86 gth_sa_gen_strand_char(sa));
87
88 gth_input_echo_genomic_description(input, gth_sa_gen_file_num(sa),
89 gth_sa_gen_seq_num(sa), outfp);
90
91 gt_file_xprintf(outfp, "\">\n");
92 indentlevel++;
93 gth_indent(outfp, indentlevel);
94 gt_file_xprintf(outfp, "<position start=\""GT_WU"\" stop=\""GT_WU"\"/>\n",
95 gth_sa_gen_dp_start_show(sa),
96 gth_sa_gen_dp_end_show(sa));
97 indentlevel--;
98 gth_indent(outfp, indentlevel);
99 gt_file_xprintf(outfp, "</template>\n");
100 indentlevel--;
101 gth_indent(outfp, indentlevel);
102 gt_file_xprintf(outfp, "</gDNA_segment>\n");
103 }
104
105 /*
106 The following function prints a PPA line, which shows the start and end
107 position of the poly-A tail in the cDNA (iff a poly-A tail could be
108 determined).
109 */
110 static void xml_showppaline(GthSA *sa, unsigned int indentlevel,
111 GtFile *outfp)
112 {
113 if (gth_sa_polyAtail_start(sa) ||
114 gth_sa_polyAtail_stop(sa)) {
115 gth_indent(outfp, indentlevel);
116 gt_file_xprintf(outfp,
117 "<PPA_line polyA_start=\"" GT_WU "\" polyA_stop=\"" GT_WU
118 "\"/>\n", gth_sa_polyAtail_start(sa) + OUTPUTOFFSET,
119 gth_sa_polyAtail_stop(sa) + OUTPUTOFFSET);
120 }
121 }
122
123 /* The following function prints the "classic" GeneSeqer2 MATCH line */
124 static void xml_showmatchline(GthSA *sa, unsigned int indentlevel,
125 GtFile *outfp)
126 {
127 gth_indent(outfp, indentlevel);
128 gt_file_xprintf(outfp, "<MATCH_line gen_id=\"%s\" gen_strand=\"%c\" ",
129 gth_sa_gen_id(sa),
130 gth_sa_gen_strand_char(sa));
131 if (gth_sa_alphatype(sa) == DNA_ALPHA) {
132 gt_file_xprintf(outfp, "ref_id=\"%s\" ref_strand=\"%c\">\n",
133 gth_sa_ref_id(sa),
134 gth_sa_ref_strand_char(sa));
135 }
136 else
137 gt_file_xprintf(outfp, "ref_id=\"%s\">\n", gth_sa_ref_id(sa));
138
139 indentlevel++;
140 gth_indent(outfp, indentlevel);
141 gt_file_xprintf(outfp,
142 "<total_alignment_score>%.3f</total_alignment_score>\n",
143 gth_sa_score(sa));
144 gth_indent(outfp, indentlevel);
145 gt_file_xprintf(outfp, "<cumulative_length_of_scored_exons>"GT_WU""
146 "</cumulative_length_of_scored_exons>\n",
147 gth_sa_cumlen_scored_exons(sa));
148 gth_indent(outfp, indentlevel);
149 gt_file_xprintf(outfp, "<coverage percentage=\"%.3f\" high_type=\"",
150 gth_sa_coverage(sa));
151 gt_file_xfputc(gth_sa_coverage_char(sa), outfp);
152
153 gt_file_xprintf(outfp, "\"/>\n");
154 indentlevel--;
155 gth_indent(outfp, indentlevel);
156 gt_file_xprintf(outfp, "</MATCH_line>\n");
157 }
158
159 /*
160 The following function prints the "classic" GeneSeqer2 PGS line
161 */
162 static void xml_showpgsline(GthSA *sa, unsigned int indentlevel,
163 GtFile *outfp)
164 {
165 GtUword i, numofexons;
166 gt_assert(sa);
167 numofexons = gth_sa_num_of_exons(sa);
168 gth_indent(outfp, indentlevel);
169 gt_file_xprintf(outfp, "<PGS_line>\n");
170 indentlevel++;
171 gth_indent(outfp, indentlevel);
172 gt_file_xprintf(outfp, "<gDNA gen_id=\"%s\" gen_strand=\"%c\"/>\n",
173 gth_sa_gen_id(sa), gth_sa_gen_strand_char(sa));
174 gth_indent(outfp, indentlevel);
175 if (gth_sa_alphatype(sa) == DNA_ALPHA) {
176 gt_file_xprintf(outfp, "<rDNA rDNA_id=\"%s\" rDNA_strand=\"%c\"/>\n",
177 gth_sa_ref_id(sa), gth_sa_ref_strand_char(sa));
178 }
179 else {
180 gt_file_xprintf(outfp, "<rProt rProt_id=\"%s\"/>\n",
181 gth_sa_ref_id(sa));
182 }
183 gth_indent(outfp, indentlevel);
184 gt_file_xprintf(outfp, "<gDNA_exon_coordinates>\n");
185 indentlevel++;
186
187 for (i = 0; i < numofexons; i++) {
188 gth_indent(outfp, indentlevel);
189 gt_file_xprintf(outfp, "<exon e_start=\""GT_WU"\" e_stop=\""GT_WU"\"/>\n",
190 gth_sa_left_genomic_exon_border(sa, i),
191 gth_sa_right_genomic_exon_border(sa, i));
192 }
193
194 indentlevel--;
195 gth_indent(outfp, indentlevel);
196 gt_file_xprintf(outfp, "</gDNA_exon_coordinates>\n");
197 indentlevel--;
198 gth_indent(outfp, indentlevel);
199 gt_file_xprintf(outfp, "</PGS_line>\n");
200 }
201
202 static void xml_showalignmentheader(GthSA *sa,
203 GtUword minintronlength,
204 unsigned int indentlevel, GtFile *outfp)
205 {
206 GtUword i, leftreferenceexonborder, rightreferenceexonborder,
207 referenceexonlength;
208 GthDbl exonscore, donorsitescore, acceptorsitescore;
209 GthFlt donorsiteprobability, acceptorsiteprobability;
210 Exoninfo *exoninfo;
211 Introninfo *introninfo;
212
213 gth_indent(outfp, indentlevel);
214 gt_file_xprintf(outfp, "<predicted_gene_structure>\n");
215 indentlevel++;
216 gth_indent(outfp, indentlevel);
217 gt_file_xprintf(outfp, "<exon-intron_info>\n");
218 indentlevel++;
219
220 for (i = 0; i < gth_sa_num_of_exons(sa); i++) {
221 exoninfo = gth_sa_get_exon(sa, i);
222 leftreferenceexonborder = exoninfo->leftreferenceexonborder;
223 rightreferenceexonborder = exoninfo->rightreferenceexonborder;
224 referenceexonlength = rightreferenceexonborder
225 - leftreferenceexonborder + 1;
226 exonscore = exoninfo->exonscore;
227
228 if (i > 0) {
229 introninfo = gth_sa_get_intron(sa, i-1);
230 donorsiteprobability = introninfo->donorsiteprobability;
231 donorsitescore = introninfo->donorsitescore;
232 acceptorsiteprobability = introninfo->acceptorsiteprobability;
233 acceptorsitescore = introninfo->acceptorsitescore;
234
235 gth_indent(outfp, indentlevel);
236 gt_file_xprintf(outfp, "<intron i_serial=\""GT_WU"\">\n",
237 i - 1 + OUTPUTOFFSET);
238 indentlevel++;
239 gth_indent(outfp, indentlevel);
240 gt_file_xprintf(outfp,
241 "<gDNA_intron_boundary i_start=\"" GT_WU "\" i_stop=\""
242 GT_WU "\" i_length=\""GT_WU"\">\n",
243 gth_sa_left_intron_border(sa, i-1),
244 gth_sa_right_intron_border(sa, i-1),
245 gth_sa_intron_length(sa, i-1)); indentlevel++;
246 gth_indent(outfp, indentlevel);
247 gt_file_xprintf(outfp, "<donor d_prob=\"%.3f\"", donorsiteprobability);
248 if (gth_sa_alphatype(sa) == DNA_ALPHA)
249 gt_file_xprintf(outfp, " d_score=\"%.2f\"", donorsitescore);
250 gt_file_xprintf(outfp, "/>\n");
251 gth_indent(outfp, indentlevel);
252 gt_file_xprintf(outfp, "<acceptor a_prob=\"%.3f\"",
253 acceptorsiteprobability);
254 if (gth_sa_alphatype(sa) == DNA_ALPHA)
255 gt_file_xprintf(outfp, " a_score=\"%.2f\"", acceptorsitescore);
256 gt_file_xprintf(outfp, "/>\n");
257 indentlevel--;
258 gth_indent(outfp, indentlevel);
259 gt_file_xprintf(outfp, "</gDNA_intron_boundary>\n");
260
261 /* if the intron is shorter or equal than the minimal intron length an
262 additional tag is shown */
263 if (gth_sa_intron_length(sa, i-1) <= minintronlength) {
264 gth_indent(outfp, indentlevel);
265 gt_file_xprintf(outfp, "<shorter_than_min_intron_len/>\n");
266 }
267
268 indentlevel--;
269 gth_indent(outfp, indentlevel);
270 gt_file_xprintf(outfp, "</intron>\n");
271 }
272
273 gth_indent(outfp, indentlevel);
274 gt_file_xprintf(outfp, "<exon e_serial=\""GT_WU"\">\n", i + OUTPUTOFFSET);
275 indentlevel++;
276 gth_indent(outfp, indentlevel);
277 gt_file_xprintf(outfp, "<gDNA_exon_boundary g_start=\""GT_WU"\" g_stop="
278 "\""GT_WU"\" g_length=\""GT_WU"\"/>\n",
279 gth_sa_left_genomic_exon_border(sa, i),
280 gth_sa_right_genomic_exon_border(sa, i),
281 gth_sa_genomic_exon_length(sa, i));
282 gth_indent(outfp, indentlevel);
283 gt_file_xprintf(outfp,
284 "<reference_exon_boundary r_type=\"%s\" r_start=\"" GT_WU
285 "\" r_stop=\""GT_WU"\" r_length=\""GT_WU"\" "
286 "r_score=\"%5.3f\"/>\n", gth_sa_alphastring(sa),
287 leftreferenceexonborder + OUTPUTOFFSET ,
288 rightreferenceexonborder + OUTPUTOFFSET ,
289 referenceexonlength, exonscore);
290 indentlevel--;
291 gth_indent(outfp, indentlevel);
292 gt_file_xprintf(outfp, "</exon>\n");
293 }
294
295 indentlevel--;
296 gth_indent(outfp, indentlevel);
297 gt_file_xprintf(outfp, "</exon-intron_info>\n");
298
299 /* showing PPA line (if an poly-A tail was determined) */
300 if (gth_sa_alphatype(sa) == DNA_ALPHA)
301 xml_showppaline(sa, indentlevel, outfp);
302
303 /* showing MATCH line */
304 xml_showmatchline(sa, indentlevel, outfp);
305
306 /* showing PGS line */
307 xml_showpgsline(sa, indentlevel, outfp);
308 }
309
310 static void showconcreteline(const unsigned char *alignmentline,
311 GtUword cols, GtFile *outfp)
312 {
313 GtUword i;
314
315 for (i = 0; i < cols; i++) {
316 switch (alignmentline[i]) {
317 case ABSTRACTGAPSYMBOL:
318 gt_file_xfputc(CONCRETEGAPSYMBOL, outfp);
319 break;
320 case ABSTRACTINTRONSYMBOL:
321 gt_file_xfputc(CONCRETEINTRONSYMBOL, outfp);
322 break;
323 default:
324 gt_file_xfputc(alignmentline[i], outfp);
325 }
326 }
327 }
328
329 static void xml_final_show_spliced_alignment(GthSA *sa, GthInput *input,
330 GtUword minintronlength,
331 GtUword translationtable,
332 unsigned int indentlevel,
333 GtFile *outfp)
334 {
335 unsigned char *first_line, *second_line, *third_line;
336 GT_UNUSED bool reverse_subject_pos = false;
337 GtUword cols;
338
339 gt_assert(sa && input);
340
341 gth_indent(outfp, indentlevel);
342 gt_file_xprintf(outfp,
343 "<spliced_alignment xmlns=\"http://www.genomethreader.org/"
344 "GTH_output/alignment_module/spliced_alignment/\">\n");
345 indentlevel++;
346
347 /* If the reverse complement of the genomic DNA is considered, this
348 opition is needed for correct output of the genomic sequence positions
349 by the function showalignmentgeneric() */
350 if (!gth_sa_gen_strand_forward(sa))
351 reverse_subject_pos = true;
352
353 xml_showgthreferenceinformation(sa, input, indentlevel, outfp);
354
355 indentlevel++;
356 gth_indent(outfp, indentlevel);
357 gt_file_xprintf(outfp, "<seq>");
358 gth_sa_echo_reference_sequence(sa, input, false, outfp);
359 gt_file_xprintf(outfp, "</seq>\n");
360 indentlevel--;
361
362 gth_indent(outfp, indentlevel);
363 gt_file_xprintf(outfp, "</reference>\n");
364 xml_showgthgenomicinformation(sa, input, indentlevel, outfp);
365
366 xml_showalignmentheader(sa, minintronlength, indentlevel, outfp);
367
368 indentlevel++;
369 gth_indent(outfp, indentlevel);
370 gt_file_xprintf(outfp, "<alignment>\n");
371
372 /* compute the alignment lines */
373 cols = gth_sa_get_alignment_lines(sa, &first_line, &second_line, &third_line,
374 translationtable, input);
375
376 indentlevel++;
377 gth_indent(outfp, indentlevel);
378 gt_file_xprintf(outfp, "<genome_strand>");
379 showconcreteline(first_line, cols, outfp);
380 gt_file_xprintf(outfp, "</genome_strand>\n");
381 gth_indent(outfp, indentlevel);
382 switch (gth_sa_alphatype(sa)) {
383 case DNA_ALPHA:
384 gt_file_xprintf(outfp, "<mrna_strand>");
385 showconcreteline(second_line, cols, outfp);
386 gt_file_xprintf(outfp, "</mrna_strand>\n");
387 break;
388 case PROTEIN_ALPHA:
389 gt_file_xprintf(outfp, "<genomeProt>");
390 showconcreteline(second_line, cols, outfp);
391 gt_file_xprintf(outfp, "</genomeProt>\n");
392 gth_indent(outfp, indentlevel);
393 gt_file_xprintf(outfp, "<queryProt>");
394 showconcreteline(third_line, cols, outfp);
395 gt_file_xprintf(outfp, "</queryProt>\n");
396
397 break;
398 default: gt_assert(0);
399 }
400
401 indentlevel--;
402 gth_indent(outfp, indentlevel);
403 gt_file_xprintf(outfp, "</alignment>\n");
404 indentlevel--;
405 gth_indent(outfp, indentlevel);
406 gt_file_xprintf(outfp, "</predicted_gene_structure>\n");
407 indentlevel--;
408 gth_indent(outfp, indentlevel);
409 gt_file_xprintf(outfp, "</spliced_alignment>\n");
410
411 /* free */
412 gt_free(first_line);
413 gt_free(second_line);
414 gt_free(third_line);
415 }
416
417 static void xml_final_sa_visitor_preface(GthSAVisitor *sa_visitor)
418 {
419 GthXMLFinalSAVisitor *visitor = xml_final_sa_visitor_cast(sa_visitor);
420 gth_indent(visitor->outfp, visitor->indentlevel);
421 gt_file_xprintf(visitor->outfp, "<alignment_module>\n");
422 }
423
424 static void xml_final_sa_visitor_visit_sa(GthSAVisitor *sa_visitor,
425 GthSA *sa)
426 {
427 GthXMLFinalSAVisitor *visitor = xml_final_sa_visitor_cast(sa_visitor);
428 gt_assert(sa);
429 xml_final_show_spliced_alignment(sa, visitor->input, visitor->minintronlength,
430 visitor->translationtable,
431 visitor->indentlevel, visitor->outfp);
432 }
433
434 static void xml_final_sa_visitor_trailer(GthSAVisitor *sa_visitor,
435 GtUword num_of_sas)
436 {
437 GthXMLFinalSAVisitor *visitor = xml_final_sa_visitor_cast(sa_visitor);
438 visitor->indentlevel++;
439 gth_indent(visitor->outfp, visitor->indentlevel);
440 gt_file_xprintf(visitor->outfp, "<total_number_ESTs_reported>"GT_WU""
441 "</total_number_ESTs_reported>\n", num_of_sas);
442 gth_indent(visitor->outfp, visitor->indentlevel);
443 gt_file_xprintf(visitor->outfp, "</alignment_module>\n");
444 visitor->indentlevel--;
445 }
446
447 const GthSAVisitorClass* gth_xml_final_sa_visitor_class()
448 {
449 static const GthSAVisitorClass savc = { sizeof (GthXMLFinalSAVisitor),
450 NULL,
451 xml_final_sa_visitor_preface,
452 xml_final_sa_visitor_visit_sa,
453 xml_final_sa_visitor_trailer
454 };
455 return &savc;
456 }
457
458 GthSAVisitor* gth_xml_final_sa_visitor_new(GthInput *input,
459 GtUword minintronlength,
460 GtUword translationtable,
461 unsigned int indentlevel,
462 GtFile *outfp)
463 {
464 GthSAVisitor *sa_visitor =
465 gth_sa_visitor_create(gth_xml_final_sa_visitor_class());
466 GthXMLFinalSAVisitor *visitor = xml_final_sa_visitor_cast(sa_visitor);
467 visitor->input = input;
468 visitor->minintronlength = minintronlength;
469 visitor->translationtable = translationtable;
470 visitor->indentlevel = indentlevel;
471 visitor->outfp = outfp;
472 return sa_visitor;
473 }
+0
-36
src/gth/xml_final_sa_visitor.h less more
0 /*
1 Copyright (c) 2008-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef XML_FINAL_SA_VISITOR_H
18 #define XML_FINAL_SA_VISITOR_H
19
20 #include "gth/input.h"
21 #include "gth/sa_visitor.h"
22
23 /* implements the ``spliced alignment visitor'' interface */
24 typedef struct GthXMLFinalSAVisitor GthXMLFinalSAVisitor;
25
26 const GthSAVisitorClass* gth_xml_final_sa_visitor_class(void);
27 GthSAVisitor* gth_xml_final_sa_visitor_new(GthInput*,
28 GtUword
29 minintronlength,
30 GtUword
31 translationtable,
32 unsigned int indentlevel,
33 GtFile *outfp);
34
35 #endif
+0
-377
src/gth/xml_inter_sa_visitor.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "gth/indent.h"
18 #include "gth/showbool.h"
19 #include "gth/intermediate.h"
20 #include "gth/sa_visitor_rep.h"
21 #include "gth/xml_inter_sa_visitor.h"
22
23 #define PRECISION 16
24
25 struct GthXMLInterSAVisitor {
26 const GthSAVisitor parent_instance;
27 GthInput *input;
28 unsigned int indentlevel;
29 GtFile *outfp;
30 };
31
32 #define xml_inter_sa_visitor_cast(GV)\
33 gth_sa_visitor_cast(gth_xml_inter_sa_visitor_class(), GV)
34
35 static void showgenomicfilename(GthSA *sa, GthInput *input,
36 unsigned int indentlevel, GtFile *outfp)
37 {
38 gth_indent(outfp, indentlevel);
39 gt_file_xprintf(outfp, "<genomicfile>\n");
40 indentlevel++;
41
42 gth_indent(outfp, indentlevel);
43 gt_file_xprintf(outfp, "<genomicfilename>%s</genomicfilename>\n",
44 gth_input_get_genomic_filename(input,
45 gth_sa_gen_file_num(sa)));
46 gth_indent(outfp, indentlevel);
47 gt_file_xprintf(outfp, "<genomicfilehash>%s</genomicfilehash>\n",
48 GTH_UNDEFINED_HASH);
49
50 indentlevel--;
51 gth_indent(outfp, indentlevel);
52 gt_file_xprintf(outfp, "</genomicfile>\n");
53 }
54
55 static void showreferencefilename(GthSA *sa,
56 GthInput *input,
57 unsigned int indentlevel, GtFile *outfp)
58 {
59 gth_indent(outfp, indentlevel);
60 gt_file_xprintf(outfp, "<referencefile>\n");
61 indentlevel++;
62
63 gth_indent(outfp, indentlevel);
64 gt_file_xprintf(outfp, "<referencefilename>%s</referencefilename>\n",
65 gth_input_get_reference_filename(input,
66 gth_sa_ref_file_num(sa)));
67 gth_indent(outfp, indentlevel);
68 gt_file_xprintf(outfp, "<referencefilehash>%s</referencefilehash>\n",
69 GTH_UNDEFINED_HASH);
70
71 indentlevel--;
72 gth_indent(outfp, indentlevel);
73 gt_file_xprintf(outfp, "</referencefile>\n");
74 }
75
76 static void showalignmentcutoffs(GthSA *sa, unsigned int indentlevel,
77 GtFile *outfp)
78 {
79 gth_indent(outfp, indentlevel);
80 gt_file_xprintf(outfp, "<cutoffs>\n");
81 indentlevel++;
82 gth_indent(outfp, indentlevel);
83 gt_file_xprintf(outfp, "<cutoffsstart>\n");
84 indentlevel++;
85 gth_indent(outfp, indentlevel);
86 gt_file_xprintf(outfp, "<genomiccutoff>"GT_WU"</genomiccutoff>\n",
87 gth_sa_genomiccutoff_start(sa));
88 gth_indent(outfp, indentlevel);
89 gt_file_xprintf(outfp, "<referencecutoff>"GT_WU"</referencecutoff>\n",
90 gth_sa_referencecutoff_start(sa));
91 gth_indent(outfp, indentlevel);
92 gt_file_xprintf(outfp, "<eopcutoff>"GT_WU"</eopcutoff>\n",
93 gth_sa_eopcutoff_start(sa));
94 indentlevel--;
95 gth_indent(outfp, indentlevel);
96 gt_file_xprintf(outfp, "</cutoffsstart>\n");
97 gth_indent(outfp, indentlevel);
98 gt_file_xprintf(outfp, "<cutoffsend>\n");
99 indentlevel++;
100 gth_indent(outfp, indentlevel);
101 gt_file_xprintf(outfp, "<genomiccutoff>"GT_WU"</genomiccutoff>\n",
102 gth_sa_genomiccutoff_end(sa));
103 gth_indent(outfp, indentlevel);
104 gt_file_xprintf(outfp, "<referencecutoff>"GT_WU"</referencecutoff>\n",
105 gth_sa_referencecutoff_end(sa));
106 gth_indent(outfp, indentlevel);
107 gt_file_xprintf(outfp, "<eopcutoff>"GT_WU"</eopcutoff>\n",
108 gth_sa_eopcutoff_end(sa));
109 indentlevel--;
110 gth_indent(outfp, indentlevel);
111 gt_file_xprintf(outfp, "</cutoffsend>\n");
112 indentlevel--;
113 gth_indent(outfp, indentlevel);
114 gt_file_xprintf(outfp, "</cutoffs>\n");
115 }
116
117 static void showexons(GthSA *sa, unsigned int indentlevel,
118 GtFile *outfp)
119 {
120 Exoninfo *exoninfo;
121 GtUword i;
122
123 for (i = 0; i < gth_sa_num_of_exons(sa); i++) {
124 exoninfo = gth_sa_get_exon(sa, i);
125
126 gth_indent(outfp, indentlevel);
127 gt_file_xprintf(outfp, "<exoninfo>\n");
128 indentlevel++;
129
130 gth_indent(outfp, indentlevel);
131 gt_file_xprintf(outfp,
132 "<leftgenomicexonborder>"GT_WU"</leftgenomicexonborder>\n",
133 exoninfo->leftgenomicexonborder);
134 gth_indent(outfp, indentlevel);
135 gt_file_xprintf(outfp, "<rightgenomicexonborder>"GT_WU
136 "</rightgenomicexonborder>\n",
137 exoninfo->rightgenomicexonborder);
138 gth_indent(outfp, indentlevel);
139 gt_file_xprintf(outfp, "<leftreferenceexonborder>"GT_WU
140 "</leftreferenceexonborder>\n",
141 exoninfo->leftreferenceexonborder);
142 gth_indent(outfp, indentlevel);
143 gt_file_xprintf(outfp, "<rightreferenceexonborder>"GT_WU
144 "</rightreferenceexonborder>\n",
145 exoninfo->rightreferenceexonborder);
146 gth_indent(outfp, indentlevel);
147 gt_file_xprintf(outfp, "<exonscore>%.*f</exonscore>\n", PRECISION,
148 exoninfo->exonscore);
149
150 indentlevel--;
151 gth_indent(outfp, indentlevel);
152 gt_file_xprintf(outfp, "</exoninfo>\n");
153 }
154 }
155
156 static void showintrons(GthSA *sa, bool dnaalpha,
157 unsigned int indentlevel, GtFile *outfp)
158 {
159 Introninfo *introninfo;
160 GtUword i;
161
162 for (i = 0; i < gth_sa_num_of_introns(sa); i++) {
163 introninfo = gth_sa_get_intron(sa, i);
164
165 gth_indent(outfp, indentlevel);
166 gt_file_xprintf(outfp, "<introninfo>\n");
167 indentlevel++;
168
169 gth_indent(outfp, indentlevel);
170 gt_file_xprintf(outfp,
171 "<donorsiteprobability>%.*f</donorsiteprobability>\n",
172 PRECISION, introninfo->donorsiteprobability);
173
174 gth_indent(outfp, indentlevel);
175 gt_file_xprintf(outfp,
176 "<acceptorsiteprobability>%.*f</acceptorsiteprobability>\n",
177 PRECISION, introninfo->acceptorsiteprobability);
178
179 gth_indent(outfp, indentlevel);
180 gt_file_xprintf(outfp, "<donorsitescore>%.*f</donorsitescore>\n",
181 PRECISION,
182 dnaalpha ? introninfo->donorsitescore
183 : UNDEFINED_SPLICE_SITE_SCORE);
184
185 gth_indent(outfp, indentlevel);
186 gt_file_xprintf(outfp, "<acceptorsitescore>%.*f</acceptorsitescore>\n",
187 PRECISION,
188 dnaalpha ? introninfo->acceptorsitescore
189 : UNDEFINED_SPLICE_SITE_SCORE);
190
191 indentlevel--;
192 gth_indent(outfp, indentlevel);
193 gt_file_xprintf(outfp, "</introninfo>\n");
194 }
195 }
196
197 static void showpolyAtailpos(GthSA *sa, unsigned int indentlevel,
198 GtFile *outfp)
199 {
200 gth_indent(outfp, indentlevel);
201 gt_file_xprintf(outfp, "<polyAtailpos>\n");
202 indentlevel++;
203
204 gth_indent(outfp, indentlevel);
205 gt_file_xprintf(outfp, "<polyAstart>"GT_WU"</polyAstart>\n",
206 gth_sa_polyAtail_start(sa));
207 gth_indent(outfp, indentlevel);
208 gt_file_xprintf(outfp, "<polyAstop>"GT_WU"</polyAstop>\n",
209 gth_sa_polyAtail_stop(sa));
210
211 indentlevel--;
212 gth_indent(outfp, indentlevel);
213 gt_file_xprintf(outfp, "</polyAtailpos>\n");
214 }
215
216 static void xml_inter_show_spliced_alignment(GthSA *sa, GthInput *input,
217 unsigned int indentlevel,
218 GtFile *outfp)
219 {
220 bool dnaalpha = true;
221
222 gth_indent(outfp, indentlevel);
223 gt_file_xprintf(outfp,
224 "<spliced_alignment xmlns=\"http://www.GenomeThreader.org/"
225 "SplicedAlignment/spliced_alignment/\">\n");
226 indentlevel++;
227
228 gth_indent(outfp, indentlevel);
229 gt_file_xprintf(outfp, "<referencealphatype>");
230 switch (gth_sa_alphatype(sa)) {
231 case DNA_ALPHA:
232 gt_file_xprintf(outfp, "DNA_ALPHA");
233 break;
234 case PROTEIN_ALPHA:
235 gt_file_xprintf(outfp, "PROTEIN_ALPHA");
236 dnaalpha = false;
237 break;
238 default: gt_assert(0);
239 }
240 gt_file_xprintf(outfp, "</referencealphatype>\n");
241
242 gth_indent(outfp, indentlevel);
243 gt_file_xprintf(outfp, "<editoperations>\n");
244 indentlevel++;
245 gth_backtrace_path_show_complete(gth_sa_backtrace_path(sa), true, indentlevel,
246 outfp);
247 indentlevel--;
248 gth_indent(outfp, indentlevel);
249 gt_file_xprintf(outfp, "</editoperations>\n");
250
251 gth_indent(outfp, indentlevel);
252 gt_file_xprintf(outfp, "<indelcount>"GT_WU"</indelcount>\n",
253 gth_sa_indelcount(sa));
254
255 gth_indent(outfp, indentlevel);
256 gt_file_xprintf(outfp, "<genomiclengthDP>"GT_WU"</genomiclengthDP>\n",
257 gth_sa_gen_dp_length(sa));
258
259 gth_indent(outfp, indentlevel);
260 gt_file_xprintf(outfp, "<genomiclengthtotal>"GT_WU"</genomiclengthtotal>\n",
261 gth_sa_gen_total_length(sa));
262
263 gth_indent(outfp, indentlevel);
264 gt_file_xprintf(outfp, "<genomicoffset>"GT_WU"</genomicoffset>\n",
265 gth_sa_gen_offset(sa));
266
267 gth_indent(outfp, indentlevel);
268 gt_file_xprintf(outfp, "<referencelength>"GT_WU"</referencelength>\n",
269 gth_sa_ref_total_length(sa));
270
271 gth_indent(outfp, indentlevel);
272 gt_file_xprintf(outfp, "<dpstartpos>"GT_WU"</dpstartpos>\n",
273 gth_sa_gen_dp_start(sa));
274
275 gth_indent(outfp, indentlevel);
276 gt_file_xprintf(outfp, "<dpendpos>"GT_WU"</dpendpos>\n",
277 gth_sa_gen_dp_end(sa));
278
279 showgenomicfilename(sa, input, indentlevel, outfp);
280
281 gth_indent(outfp, indentlevel);
282 gt_file_xprintf(outfp, "<genomicseqnum>"GT_WU"</genomicseqnum>\n",
283 gth_sa_gen_seq_num(sa));
284
285 showreferencefilename(sa, input, indentlevel, outfp);
286
287 gth_indent(outfp, indentlevel);
288 gt_file_xprintf(outfp, "<referenceseqnum>"GT_WU"</referenceseqnum>\n",
289 gth_sa_ref_seq_num(sa));
290
291 gth_indent(outfp, indentlevel);
292 gt_file_xprintf(outfp, "<genomicid>%s</genomicid>\n", gth_sa_gen_id(sa));
293
294 gth_indent(outfp, indentlevel);
295 gt_file_xprintf(outfp, "<referenceid>%s</referenceid>\n",
296 gth_sa_ref_id(sa));
297
298 gth_indent(outfp, indentlevel);
299 gt_file_xprintf(outfp,
300 "<genomicstrandisforward>%s</genomicstrandisforward>\n",
301 GTH_SHOWBOOL(gth_sa_gen_strand_forward(sa)));
302
303 gth_indent(outfp, indentlevel);
304 gt_file_xprintf(outfp,
305 "<referencestrandisforward>%s</referencestrandisforward>\n",
306 GTH_SHOWBOOL(gth_sa_ref_strand_forward(sa)));
307
308 showalignmentcutoffs(sa, indentlevel, outfp);
309
310 showexons(sa, indentlevel, outfp);
311
312 showintrons(sa, dnaalpha, indentlevel, outfp);
313
314 showpolyAtailpos(sa, indentlevel, outfp);
315
316 gth_indent(outfp, indentlevel);
317 gt_file_xprintf(outfp, "<alignmentscore>%.*f</alignmentscore>\n",
318 PRECISION, gth_sa_score(sa));
319
320 gth_indent(outfp, indentlevel);
321 gt_file_xprintf(outfp, "<coverage>%.*f</coverage>\n", PRECISION,
322 gth_sa_coverage(sa));
323
324 gth_indent(outfp, indentlevel);
325 gt_file_xprintf(outfp, "<coverageofgenomicsegmentishighest>%s"
326 "</coverageofgenomicsegmentishighest>\n",
327 GTH_SHOWBOOL(gth_sa_genomic_cov_is_highest(sa)));
328
329 gth_indent(outfp, indentlevel);
330 gt_file_xprintf(outfp, "<cumulativelengthofscoredexons>"GT_WU""
331 "</cumulativelengthofscoredexons>\n",
332 gth_sa_cumlen_scored_exons(sa));
333
334 indentlevel--;
335 gth_indent(outfp, indentlevel);
336 gt_file_xprintf(outfp, "</spliced_alignment>\n");
337 }
338
339 static void xml_inter_sa_visitor_visit_sa(GthSAVisitor *sa_visitor,
340 GthSA *sa)
341 {
342 GthXMLInterSAVisitor *visitor = xml_inter_sa_visitor_cast(sa_visitor);
343 gt_assert(sa);
344 xml_inter_show_spliced_alignment(sa, visitor->input, visitor->indentlevel,
345 visitor->outfp);
346 }
347
348 const GthSAVisitorClass* gth_xml_inter_sa_visitor_class()
349 {
350 static const GthSAVisitorClass savc = { sizeof (GthXMLInterSAVisitor),
351 NULL,
352 NULL,
353 xml_inter_sa_visitor_visit_sa,
354 NULL };
355 return &savc;
356 }
357
358 GthSAVisitor* gth_xml_inter_sa_visitor_new(GthInput *input,
359 unsigned int indentlevel,
360 GtFile *outfp)
361 {
362 GthSAVisitor *sa_visitor =
363 gth_sa_visitor_create(gth_xml_inter_sa_visitor_class());
364 GthXMLInterSAVisitor *visitor = xml_inter_sa_visitor_cast(sa_visitor);
365 visitor->input = input;
366 visitor->indentlevel = indentlevel;
367 visitor->outfp = outfp;
368 return sa_visitor;
369 }
370
371 void gth_xml_inter_sa_visitor_set_outfp(GthSAVisitor *sa_visitor,
372 GtFile *outfp)
373 {
374 GthXMLInterSAVisitor *visitor = xml_inter_sa_visitor_cast(sa_visitor);
375 visitor->outfp = outfp;
376 }
+0
-33
src/gth/xml_inter_sa_visitor.h less more
0 /*
1 Copyright (c) 2008-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef XML_INTER_SA_VISITOR_H
18 #define XML_INTER_SA_VISITOR_H
19
20 #include "gth/sa_visitor.h"
21
22 /* implements the ``spliced alignment visitor'' interface */
23 typedef struct GthXMLInterSAVisitor GthXMLInterSAVisitor;
24
25 const GthSAVisitorClass* gth_xml_inter_sa_visitor_class(void);
26 GthSAVisitor* gth_xml_inter_sa_visitor_new(GthInput*,
27 unsigned int indentlevel,
28 GtFile *outfp);
29 void gth_xml_inter_sa_visitor_set_outfp(GthSAVisitor*,
30 GtFile*);
31
32 #endif
+0
-332
src/gth/xml_pgl_visitor.c less more
0 /*
1 Copyright (c) 2004-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2004-2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include "core/undef_api.h"
18 #include "core/unused_api.h"
19 #include "gth/indent.h"
20 #include "gth/gthtrans.h"
21 #include "gth/pgl_visitor_rep.h"
22 #include "gth/xml_pgl_visitor.h"
23
24 struct GthXMLPGLVisitor {
25 const GthPGLVisitor parent_instance;
26 GthInput *input;
27 GtUword translationtable;
28 unsigned int indentlevel;
29 GthOutput *out;
30 };
31
32 #define xml_pgl_visitor_cast(GV)\
33 gth_pgl_visitor_cast(gth_xml_pgl_visitor_class(), GV)
34
35 static void xml_outputAGSline(const GthAGS *ags, GtUword agsnum,
36 unsigned int indentlevel, GtFile *outfp)
37 {
38 GthExonAGS *exon;
39 GtUword i;
40
41 gth_indent(outfp, indentlevel);
42 gt_file_xprintf(outfp, "<AGS_line AGS_serial=\""GT_WU"\">\n",
43 agsnum + OUTPUTOFFSET);
44 indentlevel++;
45 gth_indent(outfp, indentlevel);
46 gt_file_xprintf(outfp, "<exon_coordinates>\n");
47 indentlevel++;
48
49 for (i = 0; i < gth_ags_num_of_exons(ags); i++) {
50 exon = gth_ags_get_exon(ags, i);
51 gth_indent(outfp, indentlevel);
52 gt_file_xprintf(outfp, "<exon e_start=\""GT_WU"\" e_stop=\""GT_WU"\"/>\n",
53 SHOWGENPOSAGS(exon->range.start),
54 SHOWGENPOSAGS(exon->range.end));
55 }
56
57 indentlevel--;
58 gth_indent(outfp, indentlevel);
59 gt_file_xprintf(outfp, "</exon_coordinates>\n");
60 indentlevel--;
61 gth_indent(outfp, indentlevel);
62 gt_file_xprintf(outfp, "</AGS_line>\n");
63 }
64
65 static void xml_outputSCRline(const GthAGS *ags, unsigned int indentlevel,
66 GtFile *outfp)
67 {
68 GthSpliceSiteProb *splicesiteprob;
69 GtUword i;
70
71 gth_indent(outfp, indentlevel);
72 gt_file_xprintf(outfp, "<SCR_line>\n");
73 indentlevel++;
74
75 for (i = 0; i < gt_array_size(ags->exons) - 1; i++) {
76 splicesiteprob = (GthSpliceSiteProb*) gt_array_get(ags->splicesiteprobs, i);
77 gth_indent(outfp, indentlevel);
78 gt_file_xprintf(outfp, "<exon-intron don_prob=\"%.3f\" "
79 "acc_prob=\"%.3f\" e_score=\"%.3f\"/>\n",
80 splicesiteprob->donorsiteprob,
81 splicesiteprob->acceptorsiteprob,
82 ((GthExonAGS*) gt_array_get(ags->exons, i))->score);
83 }
84
85 gth_indent(outfp, indentlevel);
86 gt_file_xprintf(outfp, "<exon-only e_score=\"%.3f\"/>\n",
87 ((GthExonAGS*) gt_array_get(ags->exons, i))->score);
88 indentlevel--;
89 gth_indent(outfp, indentlevel);
90 gt_file_xprintf(outfp, "</SCR_line>\n");
91 }
92
93 static void xml_output_exon_intron_lines(const GthAGS *ags,
94 unsigned int indentlevel,
95 GtFile *outfp)
96 {
97 GthSpliceSiteProb *splicesiteprob;
98 GthExonAGS *exon;
99 GtUword i, leftexonborder, rightexonborder, exonlength,
100 leftintronborder = GT_UNDEF_UWORD, rightintronborder,
101 intronlength;
102 GthDbl exonscore;
103 GthFlt donorsiteprob, acceptorsiteprob;
104
105 gth_indent(outfp, indentlevel);
106 gt_file_xprintf(outfp,
107 "<exon-intron_info xmlns=\"http://www.genomethreader.org/"
108 "GTH_output/PGL_module/predicted_gene_location/"
109 "AGS_information/exon-intron_info/\">\n");
110 indentlevel++;
111
112 for (i = 0; i < gt_array_size(ags->exons); i++) {
113 exon = (GthExonAGS*) gt_array_get(ags->exons, i);
114 leftexonborder = exon->range.start;
115 rightexonborder = exon->range.end;
116 exonlength = rightexonborder - leftexonborder + 1;
117 exonscore = exon->score;
118
119 if (i > 0) {
120 rightintronborder = leftexonborder - 1;
121 intronlength = rightintronborder - leftintronborder + 1;
122 splicesiteprob = (GthSpliceSiteProb*)
123 gt_array_get(ags->splicesiteprobs, i-1);
124 donorsiteprob = splicesiteprob->donorsiteprob;
125 acceptorsiteprob = splicesiteprob->acceptorsiteprob;
126
127 /* output intron */
128 gth_indent(outfp, indentlevel);
129 gt_file_xprintf(outfp, "<intron i_serial=\""GT_WU"\" don_prob=\"%.3f\" "
130 "acc_prob=\"%.3f\">\n", i - 1 + OUTPUTOFFSET,
131 donorsiteprob, acceptorsiteprob);
132 indentlevel++;
133 gth_indent(outfp, indentlevel);
134 gt_file_xprintf(outfp,
135 "<gDNA_intron_boundary i_start=\"" GT_WU "\" i_stop=\""
136 GT_WU "\" i_length=\""GT_WU"\"/>\n",
137 SHOWGENPOSAGS(leftintronborder),
138 SHOWGENPOSAGS(rightintronborder), intronlength);
139 indentlevel--;
140 gth_indent(outfp, indentlevel);
141 gt_file_xprintf(outfp, "</intron>\n");
142 }
143 leftintronborder = rightexonborder + 1;
144
145 /* output exon */
146 gth_indent(outfp, indentlevel);
147 gt_file_xprintf(outfp, "<exon e_serial=\""GT_WU"\" e_score=\"%.3f\">\n",
148 i + OUTPUTOFFSET, exonscore);
149 indentlevel++;
150 gth_indent(outfp, indentlevel);
151 gt_file_xprintf(outfp,
152 "<gDNA_exon_boundary e_start=\"" GT_WU "\" e_stop=\""
153 GT_WU "\" e_length=\"" GT_WU "\"/>\n",
154 SHOWGENPOSAGS(leftexonborder),
155 SHOWGENPOSAGS(rightexonborder), exonlength);
156 indentlevel--;
157 gth_indent(outfp, indentlevel);
158 gt_file_xprintf(outfp, "</exon>\n");
159 }
160
161 indentlevel--;
162 gth_indent(outfp, indentlevel);
163 gt_file_xprintf(outfp, "</exon-intron_info>\n");
164 }
165
166 static void xml_outputPGSlines(GtArray *alignments, unsigned int indentlevel,
167 GtFile *outfp)
168 {
169 GtUword i, j;
170 GthSA *sa;
171
172 gth_indent(outfp, indentlevel);
173 gt_file_xprintf(outfp, "<supporting_evidence xmlns=\""
174 "http://www.genomethreader.org/"
175 "GTH_output/PGL_module/predicted_gene_location/"
176 "AGS_information/supporting_evidence/\">\n");
177 indentlevel++;
178
179 for (i = 0; i < gt_array_size(alignments); i++) {
180 sa = *(GthSA**) gt_array_get(alignments, i);
181
182 gth_indent(outfp, indentlevel);
183 gt_file_xprintf(outfp, "<PGS_line>\n");
184 indentlevel++;
185 gth_indent(outfp, indentlevel);
186 gt_file_xprintf(outfp, "<gDNA_exon_coordinates>\n");
187 indentlevel++;
188
189 for (j = 0; j < gth_sa_num_of_exons(sa); j++) {
190 gth_indent(outfp, indentlevel);
191 gt_file_xprintf(outfp, "<exon start=\""GT_WU"\" stop=\""GT_WU"\"/>\n",
192 gth_sa_left_genomic_exon_border(sa, j),
193 gth_sa_right_genomic_exon_border(sa, j));
194 }
195 indentlevel--;
196 gth_indent(outfp, indentlevel);
197 gt_file_xprintf(outfp, "</gDNA_exon_coordinates>\n");
198 gth_indent(outfp, indentlevel);
199 if (gth_sa_alphatype(sa) == DNA_ALPHA) {
200 gt_file_xprintf(outfp, "<referenceDNA id=\"%s\" strand=\"%c\"/>\n",
201 gth_sa_ref_id(sa),
202 gth_sa_ref_strand_char(sa));
203 }
204 else {
205 gt_file_xprintf(outfp, "<referenceProtein id=\"%s\"/>\n",
206 gth_sa_ref_id(sa));
207 }
208 indentlevel--;
209 gth_indent(outfp, indentlevel);
210 gt_file_xprintf(outfp, "</PGS_line>\n");
211 }
212
213 indentlevel--;
214 gth_indent(outfp, indentlevel);
215 gt_file_xprintf(outfp, "</supporting_evidence>\n");
216 }
217
218 static void xml_show_ags(const GthAGS *ags, GtUword pglnum,
219 GtUword agsnum, GtUword translationtable,
220 GthInput *input, unsigned int indentlevel,
221 GthOutput *out)
222 {
223 gth_indent(out->outfp, indentlevel);
224 gt_file_xprintf(out->outfp, "<AGS_information>\n");
225 indentlevel++;
226
227 /* output AGS line */
228 xml_outputAGSline(ags, agsnum, indentlevel, out->outfp);
229
230 /* output SCR line */
231 xml_outputSCRline(ags, indentlevel, out->outfp);
232
233 /* output exon/intron lines */
234 xml_output_exon_intron_lines(ags, indentlevel, out->outfp);
235
236 /* output PGS lines */
237 xml_outputPGSlines(ags->alignments, indentlevel, out->outfp);
238
239 /* output 3-phase translation */
240 gt_outputtranslationandorf(pglnum, ags, agsnum, translationtable, input,
241 indentlevel, out);
242
243 indentlevel--;
244 gth_indent(out->outfp, indentlevel);
245 gt_file_xprintf(out->outfp, "</AGS_information>\n");
246 }
247
248 static void xml_show_pgl(GthPGL *pgl, GtUword pglnum,
249 GtUword translationtable, GthInput *input,
250 unsigned int indentlevel, GthOutput *out)
251 {
252 GtUword i;
253
254 gth_indent(out->outfp, indentlevel);
255 gt_file_xprintf(out->outfp, "<predicted_gene_location>\n");
256 indentlevel++;
257 gth_indent(out->outfp, indentlevel);
258 gt_file_xprintf(out->outfp,
259 "<PGL_line PGL_serial=\""GT_WU"\" PGL_strand=\"%c\" "
260 "PGL_start=\""GT_WU"\" PGL_stop=\""GT_WU"\"/>\n",
261 pglnum + OUTPUTOFFSET,
262 SHOWSTRAND(gth_pgl_is_forward(pgl)),
263 SHOWGENPOS(gth_pgl_is_forward(pgl),
264 gth_pgl_total_length(pgl),
265 gth_pgl_genomic_offset(pgl),
266 pgl->maxrange.start),
267 SHOWGENPOS(gth_pgl_is_forward(pgl),
268 gth_pgl_total_length(pgl),
269 gth_pgl_genomic_offset(pgl),
270 pgl->maxrange.end));
271
272 for (i = 0; i < gth_pgl_num_of_ags(pgl); i++) {
273 xml_show_ags(gth_pgl_get_ags(pgl, i), pglnum, i, translationtable, input,
274 indentlevel, out);
275 }
276
277 indentlevel--;
278 gth_indent(out->outfp, indentlevel);
279 gt_file_xprintf(out->outfp, "</predicted_gene_location>\n");
280 }
281
282 static void xml_pgl_visitor_preface(GthPGLVisitor *pgl_visitor,
283 GT_UNUSED GtUword num_of_pgls)
284 {
285 GthXMLPGLVisitor *visitor = xml_pgl_visitor_cast(pgl_visitor);
286 gth_indent(visitor->out->outfp, visitor->indentlevel);
287 gt_file_xprintf(visitor->out->outfp,
288 "<PGL_module xmlns=\"http://www.genomethreader."
289 "org/GTH_output/PGL_module/\">\n");
290 }
291
292 static void xml_pgl_visitor_visit_pgl(GthPGLVisitor *pgl_visitor,
293 GthPGL *pgl, GtUword pglnum)
294 {
295 GthXMLPGLVisitor *visitor = xml_pgl_visitor_cast(pgl_visitor);
296 gt_assert(pgl);
297 xml_show_pgl(pgl, pglnum, visitor->translationtable, visitor->input,
298 visitor->indentlevel, visitor->out);
299 }
300
301 static void xml_pgl_visitor_trailer(GthPGLVisitor *pgl_visitor)
302 {
303 GthXMLPGLVisitor *visitor = xml_pgl_visitor_cast(pgl_visitor);
304 gth_indent(visitor->out->outfp, visitor->indentlevel);
305 gt_file_xprintf(visitor->out->outfp, "</PGL_module>\n");
306 }
307
308 const GthPGLVisitorClass* gth_xml_pgl_visitor_class()
309 {
310 static const GthPGLVisitorClass pglvc = { sizeof (GthXMLPGLVisitor),
311 NULL,
312 xml_pgl_visitor_preface,
313 NULL,
314 xml_pgl_visitor_visit_pgl,
315 xml_pgl_visitor_trailer };
316 return &pglvc;
317 }
318
319 GthPGLVisitor* gth_xml_pgl_visitor_new(GthInput *input,
320 GtUword translationtable,
321 unsigned int indentlevel, GthOutput *out)
322 {
323 GthPGLVisitor *pgl_visitor =
324 gth_pgl_visitor_create(gth_xml_pgl_visitor_class());
325 GthXMLPGLVisitor *visitor = xml_pgl_visitor_cast(pgl_visitor);
326 visitor->input = input;
327 visitor->translationtable = translationtable;
328 visitor->indentlevel = indentlevel;
329 visitor->out = out;
330 return pgl_visitor;
331 }
+0
-34
src/gth/xml_pgl_visitor.h less more
0 /*
1 Copyright (c) 2008-2009 Gordon Gremme <gordon@gremme.org>
2 Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef XML_PGL_VISITOR_H
18 #define XML_PGL_VISITOR_H
19
20 #include "gth/input.h"
21 #include "gth/pgl_visitor.h"
22
23 /* implements the ``spliced alignment visitor'' interface */
24 typedef struct GthXMLPGLVisitor GthXMLPGLVisitor;
25
26 const GthPGLVisitorClass* gth_xml_pgl_visitor_class(void);
27 GthPGLVisitor* gth_xml_pgl_visitor_new(GthInput*,
28 GtUword
29 translationtable,
30 unsigned int indentlevel,
31 GthOutput*);
32
33 #endif
1616
1717 #include "lauxlib.h"
1818 #include "core/bittab.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "extended/luahelper.h"
2121 #include "gtlua/bittab_lua.h"
2222 #include "gtlua/gtcore_lua.h"
1919 #include "lauxlib.h"
2020 #include "annotationsketch/canvas_cairo_file.h"
2121 #include "annotationsketch/luastyle.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "extended/luahelper.h"
2424 #include "gtlua/canvas_lua.h"
2525 #include "gtlua/image_info_lua.h"
2121 #include "annotationsketch/diagram.h"
2222 #include "extended/feature_index.h"
2323 #include "annotationsketch/luastyle.h"
24 #include "core/error.h"
24 #include "core/error_api.h"
2525 #include "extended/luahelper.h"
2626 #include "gtlua/canvas_lua.h"
2727 #include "gtlua/diagram_lua.h"
1616
1717 #include <string.h>
1818 #include "lauxlib.h"
19 #include "core/error.h"
20 #include "core/ma.h"
19 #include "core/error_api.h"
20 #include "core/ma_api.h"
2121 #include "core/str_array.h"
2222 #include "core/unused_api.h"
2323 #include "extended/luahelper.h"
1616
1717 #include "lauxlib.h"
1818 #include "core/unused_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "extended/feature_index_api.h"
2121 #include "extended/feature_index_memory_api.h"
2222 #include "extended/feature_node.h"
1919 #include <string.h>
2020 #include "lauxlib.h"
2121 #include "core/assert_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/phase_api.h"
2424 #include "core/str_array_api.h"
2525 #include "core/symbol_api.h"
2121 #include "lauxlib.h"
2222 #include "annotationsketch/image_info.h"
2323 #include "annotationsketch/rec_map.h"
24 #include "core/error.h"
24 #include "core/error_api.h"
2525 #include "extended/luahelper.h"
2626 #include "gtlua/genome_node_lua.h"
2727 #include "gtlua/image_info_lua.h"
2020 #include "annotationsketch/diagram.h"
2121 #include "annotationsketch/layout.h"
2222 #include "annotationsketch/luastyle.h"
23 #include "core/error.h"
23 #include "core/error_api.h"
2424 #include "extended/luahelper.h"
2525 #include "gtlua/canvas_lua.h"
2626 #include "gtlua/diagram_lua.h"
1818 #define RANGE_LUA_H
1919
2020 #include "lua.h"
21 #include "core/range.h"
21 #include "core/range_api.h"
2222
2323 /* exports the Range class to Lua:
2424
1515 */
1616
1717 #include "lauxlib.h"
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "extended/luahelper.h"
2020 #include "extended/stream_evaluator.h"
2121 #include "gtlua/genome_stream_lua.h"
2626 #include "lua-lpeg.h"
2727 #include "md5.h"
2828 #include "ldes56.h"
29 #include "core/compat.h"
29 #include "core/compat_api.h"
3030 #include "core/cstr.h"
3131 #include "core/cstr_array.h"
32 #include "core/ensure.h"
33 #include "core/fa.h"
32 #include "core/ensure_api.h"
33 #include "core/fa_api.h"
3434 #include "core/fileutils_api.h"
3535 #include "core/gtdatapath.h"
3636 #include "core/log.h"
3737 #include "core/warning_api.h"
38 #include "core/ma.h"
38 #include "core/ma_api.h"
3939 #include "core/multithread_api.h"
4040 #include "core/option.h"
4141 #include "core/parseutils.h"
4343 #include "core/toolbox.h"
4444 #include "core/tool_iterator.h"
4545 #include "core/types_api.h"
46 #include "core/unit_testing.h"
46 #include "core/unit_testing_api.h"
4747 #include "core/versionfunc.h"
4848 #include "core/xansi_api.h"
4949 #include "core/xposix.h"
1919
2020 #include <stdio.h>
2121 #include "core/init_api.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/option_api.h"
2424
2525 /* The GenomeTools runtime (gtr) */
1818 #include "core/alphabet.h"
1919 #include "core/array.h"
2020 #include "core/array2dim_api.h"
21 #include "core/array2dim_sparse.h"
21 #include "core/array2dim_sparse_api.h"
2222 #include "core/array3dim.h"
2323 #include "core/basename_api.h"
2424 #include "core/bitpackarray.h"
3939 #include "core/dyn_bittab.h"
4040 #include "core/encseq.h"
4141 #include "core/grep_api.h"
42 #include "core/hashmap.h"
42 #include "core/hashmap_api.h"
4343 #include "core/hashtable.h"
4444 #include "core/interval_tree.h"
4545 #include "core/mathsupport.h"
1818 #define GTT_H
1919
2020 #include "core/fptr_api.h"
21 #include "core/hashmap.h"
21 #include "core/hashmap_api.h"
2222 #include "core/toolbox.h"
2323
2424 /* The GenomeTools toolbox (gtt) module */
2727 #include "lauxlib.h"
2828 #include "core/assert_api.h"
2929 #include "core/cstr_api.h"
30 #include "core/ma.h"
30 #include "core/ma_api.h"
3131 #include "core/unused_api.h"
3232
3333 static lua_State *globalL = NULL;
1515 */
1616
1717 #include "core/encseq.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/undef_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/fileutils_api.h"
2323 #include "core/log.h"
2424 #include "core/logger.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/option_api.h"
2727 #include "core/output_file_api.h"
28 #include "core/range.h"
29 #include "core/safearith.h"
28 #include "core/range_api.h"
29 #include "core/safearith_api.h"
3030 #include "core/unused_api.h"
3131 #include "core/warning_api.h"
3232 #include "extended/gff3_in_stream.h"
1616 */
1717
1818 #include <string.h>
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/option_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/output_file_api.h"
1818 #include "core/array.h"
1919 #include "core/bittab.h"
2020 #include "core/class_alloc_lock.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/cstr_api.h"
23 #include "core/hashmap.h"
23 #include "core/hashmap_api.h"
2424 #include "core/undef_api.h"
2525 #include "core/unused_api.h"
2626 #include "extended/feature_node.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
2121 #include "core/encseq_api.h"
22 #include "core/hashmap.h"
22 #include "core/hashmap_api.h"
2323 #include "core/log.h"
2424 #include "core/str_api.h"
2525 #include "core/str_array.h"
4242 GT_UNUSED const char *fnt, GtError *err)
4343 {
4444 char *buffer;
45 int had_err = 0;
45 int had_err = 0,
46 rval;
4647 GtUword seqnum,
4748 startpos;
4849
49 (void) sscanf(gt_str_get(seqid), "seq"GT_WU"", &seqnum);
50 if (seqnum >= gt_encseq_num_of_sequences(encseq)) {
50 rval = sscanf(gt_str_get(seqid), "seq"GT_WU"", &seqnum);
51 if (rval != 1) {
52 gt_error_set(err, "expected sequence ID of format 'seqX' but "
53 "encountered '%s'",gt_str_get(seqid));
54 had_err = -1;
55 }
56 if (!had_err && (seqnum >= gt_encseq_num_of_sequences(encseq))) {
5157 gt_error_set(err, "annotation encountered for sequence "GT_WU", but the "
5258 "supplied encoded sequence only contains sequences "
5359 "0-"GT_WU"", seqnum,
5864 if (!had_err) {
5965 buffer = gt_calloc((size_t) gt_range_length(&range) + 1, sizeof (char));
6066 startpos = gt_encseq_seqstartpos(encseq, seqnum);
61 gt_encseq_extract_decoded(encseq, buffer, startpos + range.start,
62 startpos + range.end);
67 gt_encseq_extract_decoded(encseq, buffer, startpos + range.start - 1,
68 startpos + range.end - 1);
6369 gt_encseq_builder_add_cstr(b, buffer, gt_range_length(&range), header);
6470 gt_free(buffer);
6571 }
100106 GtRange range;
101107 const char *attr;
102108 GtEncseqBuilder *eb;
103 char header[BUFSIZ];
109 char header[2*BUFSIZ];
104110 attr = gt_feature_node_get_attribute(curnode, "name");
105111 if (!attr)
106112 continue;
107113 range = gt_genome_node_get_range((GtGenomeNode*) curnode);
108 (void) snprintf(header, BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer, range.start,
114 (void) snprintf(header, 2*BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer, range.start,
109115 range.end);
110116 if (!gt_hashmap_get(lcv->encseq_builders, attr)) {
111117 eb = gt_encseq_builder_new(gt_encseq_alphabet(lcv->src_encseq));
122128 had_err = extract_feature_seq(eb, header, seqid, lcv->src_encseq, range,
123129 fnt, err);
124130 gt_file_delete(file);
125 } else if (strcmp(fnt, gt_ft_LTR_retrotransposon) == 0)
131 } else if (strcmp(fnt, gt_ft_LTR_retrotransposon) == 0) {
126132 continue;
127 else {
133 } else {
128134 char *tmp;
129135 GtRange range;
130136 GtEncseqBuilder *eb;
131 char header[BUFSIZ]; /* XXX: use GtStr for safety */
137 char header[2*BUFSIZ]; /* XXX: use GtStr for safety */
132138 if (strcmp(fnt, gt_ft_long_terminal_repeat) == 0) {
133139 if (first_ltr) {
134140 tmp = gt_cstr_dup("lLTR");
142148 gt_free(tmp);
143149 continue;
144150 }
145 (void) snprintf(header, BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer, range.start,
151 (void) snprintf(header, 2*BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer, range.start,
146152 range.end);
147153 if (!gt_hashmap_get(lcv->encseq_builders, tmp)) {
148154 eb = gt_encseq_builder_new(gt_encseq_alphabet(lcv->src_encseq));
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
2121 #include "core/encseq.h"
22 #include "core/hashmap.h"
22 #include "core/hashmap_api.h"
2323 #include "core/log.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/str_array.h"
2626 #include "core/undef_api.h"
2727 #include "core/unused_api.h"
320320 continue;
321321 fni = gt_feature_node_iterator_new((GtFeatureNode*) gn);
322322 while ((curnode = gt_feature_node_iterator_next(fni)) != NULL) {
323 char header[BUFSIZ];
323 char header[2*BUFSIZ];
324324 fnt = gt_feature_node_get_type(curnode);
325325 if (strcmp(fnt, gt_ft_repeat_region) == 0) {
326326 const char *rid;
340340 range = gt_genome_node_get_range((GtGenomeNode*) curnode);
341341 if ((range.end - range.start + 1) < 10UL)
342342 continue;
343 (void) snprintf(header, BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer,
343 (void) snprintf(header, 2*BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer,
344344 range.start, range.end);
345345 gt_hashmap_add(desc2node, (void*) gt_cstr_dup(header), (void*) curnode);
346346 } else if (strcmp(fnt, real_feature) == 0) {
348348 range = gt_genome_node_get_range((GtGenomeNode*) curnode);
349349 if ((range.end - range.start + 1) < 10UL)
350350 continue;
351 (void) snprintf(header, BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer,
351 (void) snprintf(header, 2*BUFSIZ, "%s_"GT_WU"_"GT_WU"", buffer,
352352 range.start, range.end);
353353 gt_hashmap_add(desc2node, (void*) gt_cstr_dup(header), (void*) curnode);
354354 }
496496 if (had_err) {
497497 gt_genome_node_delete(*gn);
498498 *gn = NULL;
499 break;
499 return had_err;
500500 }
501501 }
502502 lcs->feat_to_encseq =
1414 */
1515
1616 #include <string.h>
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/range_api.h"
1919 #include "core/str_api.h"
2020 #include "core/strand_api.h"
1818 #include "core/class_alloc_lock.h"
1919 #include "core/cstr_api.h"
2020 #include "core/encseq.h"
21 #include "core/fasta.h"
22 #include "core/hashmap.h"
23 #include "core/ma.h"
24 #include "core/str.h"
21 #include "core/fasta_api.h"
22 #include "core/hashmap_api.h"
23 #include "core/ma_api.h"
24 #include "core/str_api.h"
2525 #include "core/undef_api.h"
2626 #include "core/unused_api.h"
2727 #include "extended/extract_feature_sequence.h"
523523 rms->min_ali_len_perc = min_ali_len_perc;
524524
525525 return gs;
526 }
526 }
2121 #include <stdio.h>
2222 #include <string.h>
2323 #include "core/class_alloc_lock.h"
24 #include "core/compat.h"
24 #include "core/compat_api.h"
2525 #include "core/cstr_api.h"
26 #include "core/fasta.h"
27 #include "core/hashmap.h"
28 #include "core/ma.h"
29 #include "core/minmax.h"
30 #include "core/range.h"
31 #include "core/str.h"
26 #include "core/fasta_api.h"
27 #include "core/hashmap_api.h"
28 #include "core/ma_api.h"
29 #include "core/minmax_api.h"
30 #include "core/range_api.h"
31 #include "core/str_api.h"
3232 #include "core/symbol.h"
3333 #include "core/undef_api.h"
3434 #include "core/unused_api.h"
1616
1717 #include <string.h>
1818 #include "core/array_api.h"
19 #include "core/ensure.h"
20 #include "core/fa.h"
19 #include "core/ensure_api.h"
20 #include "core/fa_api.h"
2121 #include "core/fileutils_api.h"
2222 #include "core/log.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
25 #include "core/minmax.h"
25 #include "core/minmax_api.h"
2626 #include "core/range_api.h"
2727 #include "core/score_function.h"
2828 #include "core/str_api.h"
3232 #include "core/cstr_api.h"
3333 #include "core/cstr_array.h"
3434 #include "core/grep_api.h"
35 #include "core/hashmap.h"
35 #include "core/hashmap_api.h"
3636 #include "core/log.h"
37 #include "core/ma.h"
37 #include "core/ma_api.h"
3838 #include "core/mathsupport.h"
39 #include "core/range.h"
39 #include "core/range_api.h"
4040 #include "core/str_api.h"
4141 #include "core/strand_api.h"
4242 #include "core/symbol_api.h"
1919 #include <string.h>
2020 #include "core/array_api.h"
2121 #include "core/log.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/mathsupport.h"
24 #include "core/minmax.h"
24 #include "core/minmax_api.h"
2525 #include "core/range_api.h"
2626 #include "core/str_api.h"
2727 #include "core/strand_api.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/mathsupport.h"
2020 #include "core/strand_api.h"
2121 #include "core/unused_api.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
2121 #include "core/encseq_api.h"
22 #include "core/fasta.h"
23 #include "core/ma.h"
22 #include "core/fasta_api.h"
23 #include "core/ma_api.h"
2424 #include "core/parseutils.h"
25 #include "core/range.h"
25 #include "core/range_api.h"
2626 #include "core/str_api.h"
2727 #include "core/undef_api.h"
2828 #include "core/unused_api.h"
1818 #define LTRHARVEST_FASTA_OUT_VISITOR_H
1919
2020 #include "core/encseq_api.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222 #include "extended/node_visitor.h"
2323
2424 /* Implements the <GtNodeVisitor> interface. */
2727 #include "core/log.h"
2828 #include "core/mathsupport.h"
2929 #include "core/md5_seqid.h"
30 #include "core/minmax.h"
30 #include "core/minmax_api.h"
3131 #include "core/multithread_api.h"
3232 #include "core/qsort_r_api.h"
3333 #include "core/str_api.h"
1919 #include "core/class_alloc_lock.h"
2020 #include "core/cstr_api.h"
2121 #include "core/encseq_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/parseutils.h"
24 #include "core/range.h"
24 #include "core/range_api.h"
2525 #include "core/str_api.h"
2626 #include "core/unused_api.h"
2727 #include "extended/node_visitor_api.h"
1515 */
1616
1717 #include <stdlib.h>
18 #include <string.h>
1819 #include <unistd.h>
1920 #include <sys/types.h>
2021 #ifndef _WIN32
2122 #include <sys/wait.h>
2223 #endif
23 #include "core/compat.h"
24 #include "core/compat_api.h"
2425 #include "core/error_api.h"
2526 #include "core/fileutils_api.h"
26 #include "core/ma.h"
27 #include "core/ma_api.h"
2728 #include "core/md5_fingerprint_api.h"
2829 #include "core/str_array_api.h"
2930 #include "ltr/pdom_model_set.h"
9495 gt_free(pdom_model_set);
9596 return NULL;
9697 } else {
98 FILE *fp;
99 char line[BUFSIZ];
100 GtUword lineno = 0;
101 size_t len = 0;
102
103 fp = fopen(filename, "r");
104 if (fp == NULL) {
105 gt_error_set(err, "can't open HMM file: %s", filename);
106 gt_str_delete(concat_dbnames);
107 gt_free(pdom_model_set);
108 return NULL;
109 }
110
111 while (fgets(line, BUFSIZ, fp) != NULL) {
112 len = strlen(line);
113 lineno++;
114 if (len > 5 && strncmp(line, "ALPH", 4 * sizeof (char)) == 0) {
115 if (len > 9 && (strncmp(line, "ALPH Amino", 11 * sizeof (char)) == 0
116 || strncmp(line, "ALPH amino", 11 * sizeof (char)) == 0
117 || strncmp(line, "ALPH AMINO", 11 * sizeof (char)) == 0))
118 {
119 break;
120 } else {
121 gt_error_set(err, "invalid (non-protein) alphabet definition "
122 "in %s line "GT_WU, filename, lineno);
123 gt_str_delete(concat_dbnames);
124 gt_free(pdom_model_set);
125 fclose(fp);
126 return NULL;
127 }
128 }
129 }
130 fclose(fp);
97131 gt_str_append_cstr(concat_dbnames, filename);
98132 }
99133 }
1717 #ifndef ASQG_WRITER_H
1818 #define ASQG_WRITER_H
1919
20 #include "core/file.h"
20 #include "core/file_api.h"
2121 #include "core/encseq.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323
2424 /* The <GtAsqgWriter> class allows one to write string graph information in
2525 the ASQG format of SGA (Simpsons and Durbin, 2012). */
2121 #include <unistd.h>
2222
2323 #include "core/chardef.h"
24 #include "core/compat.h"
25 #include "core/error.h"
26 #include "core/fa.h"
24 #include "core/compat_api.h"
25 #include "core/error_api.h"
26 #include "core/fa_api.h"
2727 #include "core/format64.h"
2828 #include "core/mapspec.h"
2929 #include "core/mathsupport.h"
30 #include "core/minmax.h"
30 #include "core/minmax_api.h"
3131 #include "core/safecast-gen.h"
3232 #include "core/spacecalc.h"
33 #include "core/str.h"
33 #include "core/str_api.h"
3434 #include "core/types_api.h"
3535 #include "core/unused_api.h"
3636 #include "match/bcktab.h"
1818 #define BCKTAB_H
1919
2020 #include <limits.h>
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/intbits.h"
2323 #include "core/codetype.h"
2424 #include "core/logger_api.h"
1818 #define CGR_SPACEDSEED_H
1919
2020 #include <stdbool.h>
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/str_array_api.h"
2323 #include "core/error_api.h"
2424
1717 #include <stdbool.h>
1818 #include <string.h>
1919 #include "core/error_api.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/mathsupport.h" /* for gt_double_equals_double */
2222 #include "core/unused_api.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/arraydef.h"
2525 #include "core/logger.h"
2626 #include "extended/rbtree.h"
1616
1717 #include <stdbool.h>
1818
19 #include "core/fa.h"
19 #include "core/fa_api.h"
2020 #include "core/error_api.h"
2121 #include "core/types_api.h"
2222 #include "chain2dim.h"
1717 #define DATAALIGN_H
1818
1919 #include <stdlib.h>
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/types_api.h"
2222
2323 /*
0 /*
1 Copyright (c) 2017 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
2 Copyright (c) 2017 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #include <inttypes.h>
18 #include "core/ma_api.h"
19 #include "core/assert_api.h"
20 #include "core/codetype.h"
21 #include "match/dbs_spaced_seeds.h"
22
23 int gt_spaced_seed_span(GtCodetype spaced_seed)
24 {
25 int span = 0;
26
27 for (/* Nothing */; spaced_seed > 0; spaced_seed >>= 1)
28 {
29 span++;
30 }
31 return span;
32 }
33
34 int gt_spaced_seed_weight(GtCodetype spaced_seed)
35 {
36 int weight = 0;
37
38 for (/* Nothing */; spaced_seed > 0; spaced_seed >>= 1)
39 {
40 if (spaced_seed & (GtCodetype) 1)
41 {
42 weight++;
43 }
44 }
45 return weight;
46 }
47
48 static GtCodetype gt_spaced_seed_spec_tab[] = {
49 23075ULL /* 7, 15 */,
50 29331ULL /* 8 */,
51 27975ULL /* 9 */,
52 27823ULL /* 10 */,
53 30135ULL /* 11 */,
54 30575ULL /* 12 */,
55 32495ULL /* 13 */,
56 32511ULL /* 14 */,
57 39559ULL /* 8, 16 */,
58 54039ULL /* 9 */,
59 55511ULL /* 10 */,
60 59767ULL /* 11 */,
61 56687ULL /* 12 */,
62 63215ULL /* 13 */,
63 64479ULL /* 14 */,
64 65471ULL /* 15 */,
65 100891ULL /* 8, 17 */,
66 108075ULL /* 9 */,
67 111271ULL /* 10 */,
68 119415ULL /* 11 */,
69 125751ULL /* 12 */,
70 122287ULL /* 13 */,
71 128879ULL /* 14 */,
72 128959ULL /* 15 */,
73 130943ULL /* 16 */,
74 217383ULL /* 9, 18 */,
75 234071ULL /* 10 */,
76 238903ULL /* 11 */,
77 240951ULL /* 12 */,
78 251503ULL /* 13 */,
79 256887ULL /* 14 */,
80 259823ULL /* 15 */,
81 261087ULL /* 16 */,
82 262015ULL /* 17 */,
83 412715ULL /* 9, 19 */,
84 469271ULL /* 10 */,
85 469399ULL /* 11 */,
86 469615ULL /* 12 */,
87 486575ULL /* 13 */,
88 504751ULL /* 14 */,
89 513775ULL /* 15 */,
90 507359ULL /* 16 */,
91 520127ULL /* 17 */,
92 523263ULL /* 18 */,
93 860951ULL /* 10, 20 */,
94 893607ULL /* 11 */,
95 995927ULL /* 12 */,
96 963375ULL /* 13 */,
97 1009327ULL /* 14 */,
98 1029039ULL /* 15 */,
99 1027551ULL /* 16 */,
100 1031647ULL /* 17 */,
101 1040255ULL /* 18 */,
102 1048319ULL /* 19 */,
103 1902795ULL /* 10, 21 */,
104 1739175ULL /* 11 */,
105 1880663ULL /* 12 */,
106 1992015ULL /* 13 */,
107 1952559ULL /* 14 */,
108 1955487ULL /* 15 */,
109 2055031ULL /* 16 */,
110 2060015ULL /* 17 */,
111 2080223ULL /* 18 */,
112 2080511ULL /* 19 */,
113 2095103ULL /* 20 */,
114 3754263ULL /* 11, 22 */,
115 3969703ULL /* 12 */,
116 3970407ULL /* 13 */,
117 3847375ULL /* 14 */,
118 3905119ULL /* 15 */,
119 3909487ULL /* 16 */,
120 4110063ULL /* 17 */,
121 4126447ULL /* 18 */,
122 4176863ULL /* 19 */,
123 4177791ULL /* 20 */,
124 4193791ULL /* 21 */,
125 7508247ULL /* 11, 23 */,
126 7490215ULL /* 12 */,
127 7950951ULL /* 13 */,
128 7956055ULL /* 14 */,
129 7951983ULL /* 15 */,
130 8074607ULL /* 16 */,
131 8219887ULL /* 17 */,
132 8220399ULL /* 18 */,
133 8240607ULL /* 19 */,
134 8320991ULL /* 20 */,
135 8355583ULL /* 21 */,
136 8387583ULL /* 22 */,
137 14848567ULL /* 12, 24 */,
138 15280743ULL /* 13 */,
139 15911479ULL /* 14 */,
140 15912111ULL /* 15 */,
141 16149199ULL /* 16 */,
142 16174767ULL /* 17 */,
143 16469743ULL /* 18 */,
144 16217535ULL /* 19 */,
145 16629215ULL /* 20 */,
146 16644031ULL /* 21 */,
147 16760703ULL /* 22 */,
148 16776191ULL /* 23 */,
149 28387495ULL /* 12, 25 */,
150 31755435ULL /* 13 */,
151 30624311ULL /* 14 */,
152 31019727ULL /* 15 */,
153 30775663ULL /* 16 */,
154 32872879ULL /* 17 */,
155 32303839ULL /* 18 */,
156 32988063ULL /* 19 */,
157 33222127ULL /* 20 */,
158 32996319ULL /* 21 */,
159 33283967ULL /* 22 */,
160 33488639ULL /* 23 */,
161 33546239ULL /* 24 */,
162 61019287ULL /* 13, 26 */,
163 62007631ULL /* 14 */,
164 62178639ULL /* 15 */,
165 64578391ULL /* 16 */,
166 64330095ULL /* 17 */,
167 65755551ULL /* 18 */,
168 65756383ULL /* 19 */,
169 65894255ULL /* 20 */,
170 66022335ULL /* 21 */,
171 66026431ULL /* 22 */,
172 66576127ULL /* 23 */,
173 66977279ULL /* 24 */,
174 67092479ULL /* 25 */,
175 126495003ULL /* 13, 27 */,
176 122309719ULL /* 14 */,
177 124131927ULL /* 15 */,
178 124308175ULL /* 16 */,
179 124954271ULL /* 17 */,
180 129160607ULL /* 18 */,
181 128896367ULL /* 19 */,
182 131786479ULL /* 20 */,
183 131784159ULL /* 21 */,
184 131984863ULL /* 22 */,
185 133151711ULL /* 23 */,
186 133685183ULL /* 24 */,
187 133954559ULL /* 25 */,
188 134201343ULL /* 26 */,
189 244880463ULL /* 14, 28 */,
190 254945615ULL /* 15 */,
191 256519375ULL /* 16 */,
192 255145071ULL /* 17 */,
193 249914783ULL /* 18 */,
194 262878623ULL /* 19 */,
195 263615855ULL /* 20 */,
196 263579375ULL /* 21 */,
197 263634399ULL /* 22 */,
198 264092639ULL /* 23 */,
199 266303423ULL /* 24 */,
200 267378559ULL /* 25 */,
201 267909119ULL /* 26 */,
202 268402687ULL /* 27 */,
203 508768943ULL /* 17, 29 */,
204 513435311ULL /* 18 */,
205 499881567ULL /* 19 */,
206 525769951ULL /* 20 */,
207 527260911ULL /* 21 */,
208 527674815ULL /* 22 */,
209 527920095ULL /* 23 */,
210 532134879ULL /* 24 */,
211 534640575ULL /* 25 */,
212 534740735ULL /* 26 */,
213 536345599ULL /* 27 */,
214 1051087767ULL /* 18, 30 */,
215 1028869743ULL /* 19 */,
216 1047213423ULL /* 20 */,
217 1035629407ULL /* 21 */,
218 1054521823ULL /* 22 */,
219 1055717055ULL /* 23 */,
220 1055878079ULL /* 24 */,
221 1056373695ULL /* 25 */,
222 1065220031ULL /* 26 */,
223 1069514239ULL /* 27 */,
224 1073479167ULL /* 28 */,
225 2040932015ULL /* 18, 31 */,
226 2057774495ULL /* 19 */,
227 2067064495ULL /* 20 */,
228 2103078127ULL /* 21 */,
229 2071258815ULL /* 22 */,
230 2104348351ULL /* 23 */,
231 2111548911ULL /* 24 */,
232 2126216159ULL /* 25 */,
233 2130115519ULL /* 26 */,
234 2138828735ULL /* 27 */,
235 2143223551ULL /* 28 */,
236 2147220991ULL /* 29 */,
237 4207733599ULL /* 22, 32 */,
238 4208813935ULL /* 23 */,
239 4218133983ULL /* 24 */,
240 4225429215ULL /* 25 */,
241 4223523807ULL /* 26 */,
242 4226775999ULL /* 27 */,
243 4260872063ULL /* 28 */,
244 4286545663ULL /* 29 */,
245 4292868095ULL /* 30 */
246 };
247
248 static int gt_spaced_seed_span_start_tab[] = {
249 0, 8, 16, 25, 34, 44, 54, 65, 76, 88, 100, 113, 126, 140, 154, 165, 176, 188
250 };
251
252 static int gt_spaced_seed_first_weight_tab[] = {
253 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 17, 18, 18, 22
254 };
255
256 void gt_spaced_seed_weight_range(int *min_weight,int *max_weight, int span)
257 {
258 const int size_table = sizeof gt_spaced_seed_spec_tab/
259 sizeof gt_spaced_seed_spec_tab[0];
260 const int num_spans = sizeof gt_spaced_seed_span_start_tab/
261 sizeof gt_spaced_seed_span_start_tab[0];
262 int span_offset, end_of_span;
263
264 gt_assert(GT_SPACED_SEED_FIRST_SPAN <= span &&
265 span - GT_SPACED_SEED_FIRST_SPAN <= num_spans - 1);
266 *min_weight
267 = gt_spaced_seed_first_weight_tab[span - GT_SPACED_SEED_FIRST_SPAN];
268 if (span - GT_SPACED_SEED_FIRST_SPAN == num_spans - 1)
269 {
270 end_of_span = size_table;
271 } else
272 {
273 end_of_span
274 = gt_spaced_seed_span_start_tab[span + 1 - GT_SPACED_SEED_FIRST_SPAN];
275 }
276 span_offset = gt_spaced_seed_span_start_tab[span - GT_SPACED_SEED_FIRST_SPAN];
277 *max_weight = *min_weight + end_of_span - span_offset - 1;
278 }
279
280 typedef struct
281 {
282 GtCodetype extract;
283 int shiftright;
284 } GtSpacedSeedSpecValue;
285
286 struct GtSpacedSeedSpec
287 {
288 GtSpacedSeedSpecValue *spec_tab;
289 size_t num_specs;
290 };
291
292 GtSpacedSeedSpec *gt_spaced_seed_spec_new(GtCodetype spacedseed)
293 {
294 uint8_t blocks_length[32] = {0}, shiftleft = 0, shiftright = 0;
295 int span = 1, weight = 1;
296 GtCodetype ss_copy, last = (GtCodetype) 1, from_blocks = 0;
297 GtUword idx, block_num = 0, spec_counter = 0;
298 GtSpacedSeedSpec *seed_spec;
299
300 gt_assert(spacedseed & ((GtCodetype) 1));
301 blocks_length[0] = 1;
302 for (ss_copy = spacedseed >> 1; ss_copy > 0; ss_copy >>= 1)
303 {
304 GtCodetype current = ss_copy & (GtCodetype) 1;
305
306 if (current == (GtCodetype) 1)
307 {
308 weight++;
309 }
310 if (current != last)
311 {
312 block_num++;
313 last = current;
314 }
315 gt_assert(block_num < sizeof blocks_length/sizeof blocks_length[0]);
316 blocks_length[block_num]++;
317 span++;
318 }
319 block_num++;
320 gt_assert(block_num % 2 == 1);
321 seed_spec = gt_malloc(sizeof *seed_spec);
322 seed_spec->num_specs = 1 + block_num/2;
323 seed_spec->spec_tab = gt_malloc(seed_spec->num_specs *
324 sizeof *seed_spec->spec_tab);
325 gt_assert(seed_spec->spec_tab != NULL);
326 last = (GtCodetype) 1;
327 for (idx = 0; idx < block_num; idx++)
328 {
329 const uint8_t width = blocks_length[idx];
330 if (last == (GtCodetype) 1)
331 {
332 from_blocks |= (((((GtCodetype) 1) << width) - 1) << shiftleft);
333 last = 0;
334 gt_assert(spec_counter < seed_spec->num_specs);
335 seed_spec->spec_tab[spec_counter].extract
336 = ((((GtCodetype) 1) << (2 * width)) - 1) << (2 * shiftleft);
337 seed_spec->spec_tab[spec_counter++].shiftright = 2 * shiftright;
338 } else
339 {
340 last = (GtCodetype) 1;
341 shiftright += width;
342 }
343 shiftleft += width;
344 }
345 gt_assert(spec_counter == seed_spec->num_specs && from_blocks == spacedseed);
346 return seed_spec;
347 }
348
349 void gt_spaced_seed_spec_delete(GtSpacedSeedSpec *seed_spec)
350 {
351 if (seed_spec != NULL)
352 {
353 gt_free(seed_spec->spec_tab);
354 gt_free(seed_spec);
355 }
356 }
357
358 static int gt_spaced_seed_tab_num_extract(int weight,int span)
359 {
360 int first_weight, span_offset;
361
362 gt_assert(GT_SPACED_SEED_FIRST_SPAN <= span);
363 span_offset = gt_spaced_seed_span_start_tab[span - GT_SPACED_SEED_FIRST_SPAN];
364 first_weight
365 = gt_spaced_seed_first_weight_tab[span - GT_SPACED_SEED_FIRST_SPAN];
366 gt_assert(first_weight <= weight);
367 return span_offset + weight - first_weight;
368 }
369
370 GtSpacedSeedSpec *gt_spaced_seed_spec_new_from_ws(int weight,int span)
371 {
372 int min_weight, max_weight, seed_num;;
373
374 gt_spaced_seed_weight_range(&min_weight,&max_weight, span);
375 gt_assert(min_weight <= weight && weight <= max_weight);
376 seed_num = gt_spaced_seed_tab_num_extract(weight,span);
377 return gt_spaced_seed_spec_new(gt_spaced_seed_spec_tab[seed_num]);
378 }
379
380 GtCodetype gt_spaced_seed_extract_generic(const GtSpacedSeedSpec *seed_spec,
381 GtCodetype kmer)
382 {
383 GtCodetype ext = 0;
384 const GtSpacedSeedSpecValue *seed_spec_ptr;
385
386 gt_assert(seed_spec != NULL);
387 for (seed_spec_ptr = seed_spec->spec_tab;
388 seed_spec_ptr < seed_spec->spec_tab + seed_spec->num_specs;
389 seed_spec_ptr++)
390 {
391 ext |= ((kmer & seed_spec_ptr->extract) >> seed_spec_ptr->shiftright);
392 }
393 return ext;
394 }
0 /*
1 Copyright (c) 2017 Stefan Kurtz <kurtz@zbh.uni-hamburg.de>
2 Copyright (c) 2017 Center for Bioinformatics, University of Hamburg
3
4 Permission to use, copy, modify, and distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17 #ifndef DBS_SPACED_SEEDS_H
18 #define DBS_SPACED_SEEDS_H
19 #include "core/codetype.h"
20
21 #define GT_SPACED_SEED_FIRST_SPAN 15
22
23 int gt_spaced_seed_span(GtCodetype spaced_seed);
24
25 int gt_spaced_seed_weight(GtCodetype spaced_seed);
26
27 void gt_spaced_seed_weight_range(int *min_weight,int *max_weight, int span);
28
29 typedef struct GtSpacedSeedSpec GtSpacedSeedSpec;
30
31 GtSpacedSeedSpec *gt_spaced_seed_spec_new(GtCodetype spacedseed);
32
33 GtSpacedSeedSpec *gt_spaced_seed_spec_new_from_ws(int weight,int span);
34
35 void gt_spaced_seed_spec_delete(GtSpacedSeedSpec *seed_spec);
36
37 GtCodetype gt_spaced_seed_extract_generic(const GtSpacedSeedSpec *seed_spec,
38 GtCodetype kmer);
39
40 #endif
2121 #include <stdio.h>
2222 #include "core/unused_api.h"
2323
24 #define FILEBUFFERSIZE 4096
24 #define GT_FILEBUFFERSIZE 4096
2525
26 #define DECLAREBufferedfiletype(TYPE)\
26 #define GT_DECLAREBufferedfiletype(TYPE)\
2727 typedef struct\
2828 {\
2929 unsigned int nextfree,\
3232 FILE *fp;\
3333 } GtBufferedfile_ ## TYPE
3434
35 #define DECLAREREADFUNCTION(TYPE)\
35 #define GT_DECLAREREADFUNCTION(TYPE)\
3636 GT_UNUSED static int gt_readnextfromstream_ ## TYPE (TYPE *val,\
3737 GtBufferedfile_ ## TYPE *buf)\
3838 {\
4040 {\
4141 buf->nextfree = (unsigned int) fread(buf->bufferedfilespace,\
4242 sizeof (TYPE),\
43 (size_t) FILEBUFFERSIZE,\
43 (size_t) GT_FILEBUFFERSIZE,\
4444 buf->fp);\
4545 if (ferror(buf->fp))\
4646 {\
5757 return 1;\
5858 }
5959
60 GT_DECLAREBufferedfiletype(GtUword);
61 GT_DECLAREREADFUNCTION(GtUword);
62
6063 #endif
1919 #include "core/assert_api.h"
2020 #include "core/unused_api.h"
2121 #include "core/str_api.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323 #include "core/intbits.h"
2424 #include "match/diagband-struct.h"
2525
2121 #include <string.h>
2222 #include <sys/time.h>
2323 #include <float.h>
24 #include <math.h>
2425 #include "core/arraydef.h"
2526 #include "core/codetype.h"
2627 #include "core/complement.h"
2728 #include "core/cstr_api.h"
2829 #include "core/encseq.h"
29 #include "core/fa.h"
30 #include "core/fa_api.h"
3031 #include "core/fileutils_api.h"
3132 #include "core/ma_api.h"
32 #include "core/minmax.h"
33 #include "core/minmax_api.h"
3334 #include "core/radix_sort.h"
3435 #include "core/timer_api.h"
3536 #include "core/spacecalc.h"
3738 #include "core/xansi_api.h"
3839 #include "core/intbits.h"
3940 #include "core/qsort-ulong.h"
40 #include "core/radix_sort.h"
4141 #include "core/log_api.h"
4242 #include "core/bittab_api.h"
4343 #include "match/chain2dim.h"
5050 #include "match/sfx-suffixer.h"
5151 #include "match/rectangle-store.h"
5252 #include "match/diagband-struct.h"
53 #include "match/dbs_spaced_seeds.h"
5354 #include "match/diagbandseed.h"
5455
5556 #ifdef GT_THREADS_ENABLED
6768 GtDiagbandseedPosition endpos;
6869 } GtDiagbandseedKmerPos;
6970
70 GT_DECLAREARRAYSTRUCT(GtDiagbandseedKmerPos);
71 DECLAREBufferedfiletype(GtDiagbandseedKmerPos);
72 DECLAREREADFUNCTION(GtDiagbandseedKmerPos);
71 typedef struct
72 {
73 GtBitcount_type bits_kmerpos; /* sum of bits_code, bits_seqnum, bits_endpos */
74 GtUword first_seqnum;
75 GtCodetype mask_seqnum, mask_endpos;
76 int shift_code, shift_seqnum, shift_endpos;
77 } GtKmerPosListEncodeInfo;
78
79 typedef struct
80 {
81 GtDiagbandseedKmerPos *spaceGtDiagbandseedKmerPos;
82 GtUword *spaceGtUword;
83 GtUword allocated, nextfree, longest_code_run;
84 const GtKmerPosListEncodeInfo *encode_info;
85 } GtKmerPosList;
86
87 GT_DECLAREBufferedfiletype(GtDiagbandseedKmerPos);
88 GT_DECLAREREADFUNCTION(GtDiagbandseedKmerPos);
7389
7490 typedef struct
7591 { /* 4 + 4 + 4 + 4 bytes */
105121 GtUword maxfreq,
106122 memlimit,
107123 maxmat;
108 unsigned int seedweight,
124 unsigned int spacedseedweight,
109125 seedlength;
110 GtDiagbandseedPairlisttype splt;
126 GtSpacedSeedSpec *spaced_seed_spec;
127 GtDiagbandseedBaseListType splt,
128 kmplt;
111129 bool norev,
112130 nofwd,
113131 verify,
148166
149167 typedef struct
150168 {
151 GtArrayGtDiagbandseedKmerPos *list;
152 GtDiagbandseedSeqnum seqnum;
153 GtDiagbandseedPosition endpos;
169 GtKmerPosList *kmerpos_list_ref;
170 GtDiagbandseedSeqnum current_seqnum;
171 GtDiagbandseedPosition current_endpos;
154172 const GtEncseq *encseq;
155173 GtSpecialrangeiterator *sri;
156174 GtRange *specialrange;
157175 GtUword last_specialpos,
158176 prev_separator,
159177 next_separator;
160 unsigned int seedweight,
178 unsigned int spacedseedweight,
161179 seedlength;
180 const GtSpacedSeedSpec *spaced_seed_spec;
162181 GtReadmode readmode;
163182 } GtDiagbandseedProcKmerInfo;
164183
229248 bool norev,
230249 bool nofwd,
231250 const GtRange *seedpairdistance,
232 GtDiagbandseedPairlisttype splt,
251 GtDiagbandseedBaseListType splt,
252 GtDiagbandseedBaseListType kmplt,
233253 bool verify,
234254 bool verbose,
235255 bool debug_kmer,
244264 *extp)
245265 {
246266 GtDiagbandseedInfo *info = gt_malloc(sizeof *info);
267
247268 info->aencseq = aencseq;
248269 info->bencseq = bencseq;
249270 info->maxfreq = maxfreq;
250271 info->memlimit = memlimit;
251272 if (spacedseedweight > 0)
252273 {
253 info->seedweight = spacedseedweight;
274 info->spacedseedweight = spacedseedweight;
275 gt_assert(spacedseedweight < seedlength);
276 info->spaced_seed_spec
277 = gt_spaced_seed_spec_new_from_ws((int) info->spacedseedweight,
278 (int) seedlength);
254279 } else
255280 {
256 info->seedweight = seedlength;
281 info->spacedseedweight = seedlength;
282 info->spaced_seed_spec = NULL;
257283 }
258284 info->seedlength = seedlength;
259285 info->norev = norev;
260286 info->nofwd = nofwd;
261287 info->seedpairdistance = seedpairdistance;
262288 info->splt = splt;
289 info->kmplt = kmplt;
263290 info->verify = verify;
264291 info->verbose = verbose;
265292 info->debug_kmer = debug_kmer;
276303 void gt_diagbandseed_info_delete(GtDiagbandseedInfo *info)
277304 {
278305 if (info != NULL) {
306 gt_spaced_seed_spec_delete(info->spaced_seed_spec);
279307 gt_free(info);
280308 }
281309 }
354382 totalnumofpos = gt_encseq_total_length(encseq),
355383 firstpos = gt_encseq_seqstartpos(encseq, seqrange_start),
356384 numofseq = seqrange_end - seqrange_start + 1;
385
357386 lastpos = (seqrange_end + 1 == gt_encseq_num_of_sequences(encseq)
358387 ? totalnumofpos
359388 : gt_encseq_seqstartpos(encseq, seqrange_end + 1) - 1);
363392 subtract = MIN(seedlength - 1, gt_encseq_min_seq_length(encseq)) + 1;
364393 gt_assert(numofpos + 1 >= numofseq * subtract);
365394 ratioofspecial = MIN(totalnumofspecial * numofpos / totalnumofpos, numofpos);
395 gt_assert(numofpos >= ratioofspecial);
366396 return numofpos - MAX(numofseq * subtract - 1, ratioofspecial);
397 }
398
399 static GtKmerPosList *gt_kmerpos_list_new(GtUword init_size,
400 const GtKmerPosListEncodeInfo
401 *encode_info)
402 {
403 GtKmerPosList *kmerpos_list = gt_malloc(sizeof *kmerpos_list);
404
405 gt_assert(init_size > 0);
406 kmerpos_list->nextfree = 0;
407 kmerpos_list->allocated = init_size;
408 if (encode_info != NULL)
409 {
410 kmerpos_list->spaceGtDiagbandseedKmerPos = NULL;
411 kmerpos_list->spaceGtUword
412 = gt_malloc(sizeof *kmerpos_list->spaceGtUword * init_size);
413 } else
414 {
415 kmerpos_list->spaceGtUword = NULL;
416 kmerpos_list->spaceGtDiagbandseedKmerPos
417 = gt_malloc(sizeof *kmerpos_list->spaceGtDiagbandseedKmerPos *
418 init_size);
419 }
420 kmerpos_list->encode_info = encode_info;
421 return kmerpos_list;
422 }
423
424 static void gt_kmerpos_list_delete(GtKmerPosList *kmerpos_list)
425 {
426 if (kmerpos_list != NULL)
427 {
428 gt_free(kmerpos_list->spaceGtDiagbandseedKmerPos);
429 gt_free(kmerpos_list->spaceGtUword);
430 gt_free(kmerpos_list);
431 }
432 }
433
434 static GtCodetype gt_kmerpos_entry_code(
435 const GtKmerPosListEncodeInfo *encode_info,
436 GtUword value)
437 {
438 return value >> encode_info->shift_code;
439 }
440
441 static void gt_kmerpos_entry_decode(GtDiagbandseedKmerPos *dec,
442 const GtKmerPosListEncodeInfo *encode_info,
443 GtUword value)
444 {
445 gt_assert(dec != NULL && encode_info != NULL);
446 dec->code = gt_kmerpos_entry_code(encode_info,value);
447 dec->seqnum = encode_info->first_seqnum +
448 ((value >> encode_info->shift_seqnum) &
449 encode_info->mask_seqnum);
450 dec->endpos = (value >> encode_info->shift_endpos) & encode_info->mask_endpos;
451 }
452
453 static void gt_kmerpos_list_add(GtKmerPosList *kmerpos_list,
454 const GtDiagbandseedKmerPos *kmerpos_entry)
455 {
456 gt_assert(kmerpos_list != NULL);
457 if (kmerpos_list->nextfree >= kmerpos_list->allocated)
458 {
459 kmerpos_list->allocated = kmerpos_list->allocated * 1.2 + 256;
460 if (kmerpos_list->encode_info != NULL)
461 {
462 kmerpos_list->spaceGtUword
463 = gt_realloc(kmerpos_list->spaceGtUword,
464 sizeof *kmerpos_list->spaceGtUword *
465 kmerpos_list->allocated);
466 } else
467 {
468 kmerpos_list->spaceGtDiagbandseedKmerPos
469 = gt_realloc(kmerpos_list->spaceGtDiagbandseedKmerPos,
470 sizeof *kmerpos_list->spaceGtDiagbandseedKmerPos *
471 kmerpos_list->allocated);
472 }
473 }
474 if (kmerpos_list->encode_info != NULL)
475 {
476 GtUword seqnum;
477 const GtKmerPosListEncodeInfo *encode_info = kmerpos_list->encode_info;
478
479 gt_assert(encode_info->first_seqnum <= kmerpos_entry->seqnum);
480 seqnum = kmerpos_entry->seqnum - encode_info->first_seqnum;
481 kmerpos_list->spaceGtUword[kmerpos_list->nextfree++]
482 = (kmerpos_entry->code << encode_info->shift_code) |
483 (seqnum << encode_info->shift_seqnum) |
484 ((GtUword) kmerpos_entry->endpos << encode_info->shift_endpos);
485 } else
486 {
487 kmerpos_list->spaceGtDiagbandseedKmerPos[kmerpos_list->nextfree++]
488 = *kmerpos_entry;
489 }
490 }
491
492 static size_t gt_kmerpos_list_elem_size(const GtKmerPosList *kmerpos_list)
493 {
494 if (kmerpos_list->encode_info != NULL)
495 {
496 return sizeof *kmerpos_list->spaceGtUword;
497 }
498 return sizeof *kmerpos_list->spaceGtDiagbandseedKmerPos;
499 }
500
501 static void gt_kmerpos_list_reduce_size(GtKmerPosList *kmerpos_list)
502 {
503 gt_assert(kmerpos_list != NULL &&
504 kmerpos_list->nextfree <= kmerpos_list->allocated);
505 if (kmerpos_list->nextfree < kmerpos_list->allocated)
506 {
507 if (kmerpos_list->encode_info != NULL)
508 {
509 kmerpos_list->spaceGtUword
510 = gt_realloc(kmerpos_list->spaceGtUword,
511 kmerpos_list->nextfree *
512 sizeof *kmerpos_list->spaceGtUword);
513 } else
514 {
515 kmerpos_list->spaceGtDiagbandseedKmerPos
516 = gt_realloc(kmerpos_list->spaceGtDiagbandseedKmerPos,
517 kmerpos_list->nextfree *
518 sizeof *kmerpos_list->spaceGtDiagbandseedKmerPos);
519 }
520 kmerpos_list->allocated = kmerpos_list->nextfree;
521 }
522 }
523
524 static void gt_kmerpos_list_sort(GtKmerPosList *kmerpos_list)
525 {
526
527 if (kmerpos_list->encode_info != NULL)
528 {
529 gt_radixsort_inplace_ulong(kmerpos_list->spaceGtUword,
530 kmerpos_list->nextfree);
531 } else
532 {
533 gt_radixsort_inplace_GtUwordPair((GtUwordPair *)
534 kmerpos_list->spaceGtDiagbandseedKmerPos,
535 kmerpos_list->nextfree);
536 }
537 }
538
539 static void gt_kmerpos_list_show(FILE *stream,const GtKmerPosList *kmerpos_list)
540 {
541 GtUword idx;
542
543 for (idx = 0; idx < kmerpos_list->nextfree; idx++)
544 {
545 GtDiagbandseedKmerPos dec;
546
547 if (kmerpos_list->encode_info != NULL)
548 {
549 gt_kmerpos_entry_decode(&dec,kmerpos_list->encode_info,
550 kmerpos_list->spaceGtUword[idx]);
551 } else
552 {
553 dec = kmerpos_list->spaceGtDiagbandseedKmerPos[idx];
554 }
555 fprintf(stream, "# Kmer (" GT_LX ",%"PRIu32",%"PRIu32")\n",dec.code,
556 dec.endpos, dec.seqnum);
557 }
558 }
559
560 static GtUword gt_kmerpos_list_num_entries(const GtKmerPosList *kmerpos_list)
561 {
562 gt_assert(kmerpos_list != NULL);
563 return kmerpos_list->nextfree;
367564 }
368565
369566 /* Returns the position of the next separator following specialrange.start.
387584 return totallength;
388585 }
389586
390 static GtCodetype gt_extract_spaced_seed_rasb_se2(GtCodetype kmer)
391 {
392 gt_assert(kmer < 1152921504606846976);
393 /* 111110101101011100111011001111, weight 21, length 30 */
394 return ((kmer & ((GtCodetype) 1151795604700004352)) >> 18) |
395 ((kmer & ((GtCodetype) 211106232532992)) >> 16) |
396 ((kmer & ((GtCodetype) 16492674416640)) >> 14) |
397 ((kmer & ((GtCodetype) 206158430208)) >> 12) |
398 ((kmer & ((GtCodetype) 16911433728)) >> 10) |
399 ((kmer & ((GtCodetype) 16515072)) >> 6) |
400 ((kmer & ((GtCodetype) 61440)) >> 4) |
401 (kmer & ((GtCodetype) 255));
402 }
403
404587 /* Add given code and its seqnum and position to a kmer list. */
405588 static void gt_diagbandseed_processkmercode(void *prockmerinfo,
406589 bool firstinrange,
407590 GtUword startpos,
408591 GtCodetype code)
409592 {
410 const GtUword array_incr = 256;
411593 GtDiagbandseedProcKmerInfo *pkinfo;
412 GtDiagbandseedKmerPos *kmerposptr = NULL;
594 GtDiagbandseedKmerPos kmerpos_entry;
413595
414596 gt_assert(prockmerinfo != NULL);
415597 pkinfo = (GtDiagbandseedProcKmerInfo *) prockmerinfo;
416 GT_GETNEXTFREEINARRAY(kmerposptr,
417 pkinfo->list,
418 GtDiagbandseedKmerPos,
419 array_incr + 0.2 *
420 pkinfo->list->allocatedGtDiagbandseedKmerPos);
421
422598 /* check separator positions and determine next seqnum and endpos */
423 if (firstinrange) {
424 const GtUword endpos = startpos + pkinfo->seedlength - 1;
425 while (endpos >= pkinfo->next_separator) {
426 pkinfo->seqnum++;
599 if (firstinrange)
600 {
601 const GtUword current_endpos = startpos + pkinfo->seedlength - 1;
602
603 while (current_endpos >= pkinfo->next_separator)
604 {
605 pkinfo->current_seqnum++;
427606 pkinfo->prev_separator = pkinfo->next_separator + 1;
428607 pkinfo->next_separator
429608 = gt_diagbandseed_update_separatorpos(pkinfo->specialrange,
433612 pkinfo->readmode);
434613 gt_assert(pkinfo->next_separator >= pkinfo->prev_separator);
435614 }
436 gt_assert(endpos >= pkinfo->prev_separator &&
615 gt_assert(current_endpos >= pkinfo->prev_separator &&
437616 startpos < pkinfo->next_separator);
438 if (pkinfo->readmode == GT_READMODE_FORWARD) {
439 pkinfo->endpos = (GtDiagbandseedPosition) (endpos -
440 pkinfo->prev_separator);
441 } else {
442 pkinfo->endpos = (GtDiagbandseedPosition) (pkinfo->next_separator - 1 -
443 startpos);
617 if (pkinfo->readmode == GT_READMODE_FORWARD)
618 {
619 pkinfo->current_endpos = (GtDiagbandseedPosition)
620 (current_endpos - pkinfo->prev_separator);
621 } else
622 {
623 pkinfo->current_endpos = (GtDiagbandseedPosition)
624 (pkinfo->next_separator - 1 - startpos);
444625 }
445626 }
446627
447628 /* save k-mer code */
448 kmerposptr->code = pkinfo->readmode == GT_READMODE_FORWARD
449 ? code
450 : gt_kmercode_reverse(code, pkinfo->seedlength);
451 if (pkinfo->seedweight < pkinfo->seedlength)
452 {
453 kmerposptr->code = gt_extract_spaced_seed_rasb_se2(kmerposptr->code);
629 kmerpos_entry.code = (pkinfo->readmode == GT_READMODE_FORWARD)
630 ? code
631 : gt_kmercode_reverse(code, pkinfo->seedlength);
632 if (pkinfo->spaced_seed_spec != NULL)
633 {
634 kmerpos_entry.code
635 = gt_spaced_seed_extract_generic(pkinfo->spaced_seed_spec,
636 kmerpos_entry.code);
454637 }
455638 /* save endpos and seqnum */
456 gt_assert(pkinfo->endpos != UINT32_MAX);
457 kmerposptr->endpos = pkinfo->endpos;
458 pkinfo->endpos = (pkinfo->readmode == GT_READMODE_FORWARD
459 ? pkinfo->endpos + 1 : pkinfo->endpos - 1);
460 kmerposptr->seqnum = pkinfo->seqnum;
639 gt_assert(pkinfo->current_endpos != UINT32_MAX);
640 kmerpos_entry.endpos = pkinfo->current_endpos;
641 pkinfo->current_endpos = (pkinfo->readmode == GT_READMODE_FORWARD)
642 ? pkinfo->current_endpos + 1
643 : pkinfo->current_endpos - 1;
644 kmerpos_entry.seqnum = pkinfo->current_seqnum;
645 gt_kmerpos_list_add(pkinfo->kmerpos_list_ref,&kmerpos_entry);
461646 }
462647
463648 /* Uses GtKmercodeiterator for fetching the kmers. */
470655 bool firstinrange = true;
471656 GtKmercodeiterator *kc_iter = NULL;
472657 const GtUword maxpos = pkinfo->last_specialpos + 1 - pkinfo->seedlength;
473 GtUword position = gt_encseq_seqstartpos(pkinfo->encseq, pkinfo->seqnum);
658 GtUword position = gt_encseq_seqstartpos(pkinfo->encseq,
659 pkinfo->current_seqnum);
474660
475661 kc_iter = gt_kmercodeiterator_encseq_new(pkinfo->encseq,
476662 pkinfo->readmode,
496682 }
497683 }
498684
685 static GtKmerPosListEncodeInfo *gt_kmerpos_encode_info_new(
686 GtDiagbandseedBaseListType kmplt,
687 const GtEncseq *encseq,
688 GtUword spacedseedweight,
689 const GtSequencePartsInfo *seqranges,
690 GtUword idx)
691 {
692 if (kmplt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
693 {
694 return NULL;
695 } else
696 {
697 if (kmplt == GT_DIAGBANDSEED_BASE_LIST_ULONG ||
698 kmplt == GT_DIAGBANDSEED_BASE_LIST_UNDEFINED)
699 {
700 GtBitcount_type bits_code, bits_seqnum, bits_endpos;
701 const int allbits = sizeof (GtUword) * CHAR_BIT;
702 GtUword seqrange_start = gt_sequence_parts_info_start_get(seqranges,idx),
703 seqrange_end = gt_sequence_parts_info_end_get(seqranges,idx),
704 max_endpos = gt_sequence_parts_info_max_length_get(seqranges,idx),
705 numofsequences = seqrange_end - seqrange_start + 1;
706
707 if (spacedseedweight >= 32)
708 {
709 bits_code = 64;
710 } else
711 {
712 GtUword num_different_kmers
713 = ceil(pow((double) gt_encseq_alphabetnumofchars(encseq),
714 (double) spacedseedweight));
715 bits_code = (GtBitcount_type) gt_radixsort_bits(num_different_kmers);
716 }
717 bits_seqnum = (GtBitcount_type) gt_radixsort_bits(numofsequences);
718 bits_endpos = (GtBitcount_type) gt_radixsort_bits(max_endpos);
719 if (bits_code + bits_seqnum + bits_endpos <= 64)
720 {
721 GtKmerPosListEncodeInfo *encode_info = gt_malloc(sizeof *encode_info);
722
723 encode_info->bits_kmerpos = bits_code + bits_seqnum + bits_endpos;
724 encode_info->shift_code = allbits - bits_code;
725 encode_info->shift_seqnum = encode_info->shift_code - bits_seqnum;
726 encode_info->first_seqnum = seqrange_start;
727 encode_info->shift_endpos = encode_info->shift_seqnum - bits_endpos;
728 encode_info->mask_seqnum = (((GtCodetype) 1) << bits_seqnum) - 1;
729 encode_info->mask_endpos = (((GtCodetype) 1) << bits_endpos) - 1;
730 return encode_info;
731 }
732 return NULL;
733 } else
734 {
735 gt_assert(kmplt == GT_DIAGBANDSEED_BASE_LIST_BYTESTRING);
736 return NULL;
737 }
738 }
739 }
740
741 static void gt_kmerpos_encode_info_delete(GtKmerPosListEncodeInfo *encode_info)
742 {
743 if (encode_info != NULL)
744 {
745 gt_free(encode_info);
746 }
747 }
748
749 typedef GtUword GtLongestCodeRunType;
750
751 static GtUword gt_diagbandseed_longest_code_run(const GtKmerPosList
752 *kmerpos_list)
753 {
754 GtUword idx;
755 GtLongestCodeRunType longest_code_run = 1, current_code_run = 1;
756 GtCodetype previouscode;
757
758 gt_assert(kmerpos_list != NULL);
759 if (kmerpos_list->encode_info != NULL)
760 {
761 gt_assert(kmerpos_list->spaceGtUword != NULL);
762 previouscode = gt_kmerpos_entry_code(kmerpos_list->encode_info,
763 kmerpos_list->spaceGtUword[0]);
764 for (idx = 1; idx < kmerpos_list->nextfree; idx++)
765 {
766 const GtCodetype currentcode
767 = gt_kmerpos_entry_code(kmerpos_list->encode_info,
768 kmerpos_list->spaceGtUword[idx]);
769
770 if (previouscode == currentcode)
771 {
772 current_code_run++;
773 } else
774 {
775 if (current_code_run > longest_code_run)
776 {
777 longest_code_run = current_code_run;
778 }
779 current_code_run = 1;
780 previouscode = currentcode;
781 }
782 }
783 } else
784 {
785 gt_assert(kmerpos_list->spaceGtDiagbandseedKmerPos != NULL);
786 previouscode = kmerpos_list->spaceGtDiagbandseedKmerPos[0].code;
787 for (idx = 1; idx < kmerpos_list->nextfree; idx++)
788 {
789 const GtCodetype currentcode
790 = kmerpos_list->spaceGtDiagbandseedKmerPos[idx].code;
791
792 if (previouscode == currentcode)
793 {
794 current_code_run++;
795 } else
796 {
797 if (current_code_run > longest_code_run)
798 {
799 longest_code_run = current_code_run;
800 }
801 current_code_run = 1;
802 previouscode = currentcode;
803 }
804 }
805 }
806 if (current_code_run > longest_code_run)
807 {
808 longest_code_run = current_code_run;
809 }
810 return longest_code_run;
811 }
812
499813 /* Return a sorted list of k-mers of given seedlength from specified encseq.
500814 * Only sequences in seqrange will be taken into account.
501815 * The caller is responsible for freeing the result. */
502 static GtArrayGtDiagbandseedKmerPos gt_diagbandseed_get_kmers(
816 static GtKmerPosList *gt_diagbandseed_get_kmers(
503817 const GtEncseq *encseq,
504 unsigned int seedweight,
818 unsigned int spacedseedweight,
505819 unsigned int seedlength,
820 const GtSpacedSeedSpec *spaced_seed_spec,
506821 GtReadmode readmode,
507822 GtUword seqrange_start,
508823 GtUword seqrange_end,
824 const GtKmerPosListEncodeInfo *encode_info,
509825 bool debug_kmer,
510826 bool verbose,
511827 GtUword known_size,
512828 FILE *stream)
513829 {
514 GtArrayGtDiagbandseedKmerPos kmer_list;
830 GtKmerPosList *kmerpos_list;
515831 GtDiagbandseedProcKmerInfo pkinfo;
516832 GtRange specialrange;
517833 GtTimer *timer = NULL;
518 GtUword kmer_listlen = known_size;
519 const GtUword totallength = gt_encseq_total_length(encseq);
834 GtUword kmerpos_list_len, totallength;
520835
521836 gt_assert(encseq != NULL);
837 totallength = gt_encseq_total_length(encseq);
522838 if (known_size > 0)
523839 {
524 kmer_listlen = known_size;
840 kmerpos_list_len = known_size;
525841 } else
526842 {
527 kmer_listlen = gt_seed_extend_numofkmers(encseq, seedlength, seqrange_start,
528 seqrange_end);
529 }
843 kmerpos_list_len = gt_seed_extend_numofkmers(encseq, seedlength,
844 seqrange_start, seqrange_end);
845 gt_assert(kmerpos_list_len > 0);
846 }
847 kmerpos_list = gt_kmerpos_list_new(kmerpos_list_len,encode_info);
530848 if (verbose) {
849 GtBitcount_type bits_kmerpos;
850
851 if (encode_info != NULL)
852 {
853 bits_kmerpos = encode_info->bits_kmerpos;
854 } else
855 {
856 bits_kmerpos = sizeof (GtDiagbandseedKmerPos) * CHAR_BIT;
857 }
858 fprintf(stream, "# start fetching %u-mers (%hu bits/" GT_WU " bytes each, "
859 "expect " GT_WU ", allocate %.0f MB) ...\n",
860 seedlength,
861 bits_kmerpos,
862 (GtUword) gt_kmerpos_list_elem_size(kmerpos_list),
863 kmerpos_list_len,
864 GT_MEGABYTES(kmerpos_list_len *
865 gt_kmerpos_list_elem_size(kmerpos_list)));
531866 timer = gt_timer_new();
532 fprintf(stream, "# start fetching %u-mers (expect " GT_WU
533 ", allocate %.0f MB) ...\n",
534 seedlength, kmer_listlen,
535 GT_MEGABYTES(kmer_listlen *
536 sizeof (*kmer_list.spaceGtDiagbandseedKmerPos)));
537867 gt_timer_start(timer);
538868 }
539
540 GT_INITARRAY(&kmer_list, GtDiagbandseedKmerPos);
541 GT_CHECKARRAYSPACEMULTI(&kmer_list, GtDiagbandseedKmerPos, kmer_listlen);
542
543 pkinfo.list = &kmer_list;
544 pkinfo.seqnum = seqrange_start;
545 pkinfo.endpos = 0;
869 pkinfo.kmerpos_list_ref = kmerpos_list;
870 pkinfo.current_seqnum = seqrange_start;
871 pkinfo.current_endpos = 0;
546872 pkinfo.encseq = encseq;
547 pkinfo.seedweight = seedweight;
873 pkinfo.spacedseedweight = spacedseedweight;
548874 pkinfo.seedlength = seedlength;
875 pkinfo.spaced_seed_spec = spaced_seed_spec;
549876 pkinfo.readmode = readmode;
550 if (seqrange_end + 1 == gt_encseq_num_of_sequences(encseq)) {
877 if (seqrange_end + 1 == gt_encseq_num_of_sequences(encseq))
878 {
551879 pkinfo.last_specialpos = totallength;
552 } else {
880 } else
881 {
553882 /* start position of following sequence, minus separator position */
554883 pkinfo.last_specialpos
555884 = gt_encseq_seqstartpos(encseq, seqrange_end + 1) - 1;
577906 if (gt_encseq_has_twobitencoding(encseq) && gt_encseq_wildcards(encseq) == 0)
578907 {
579908 /* Use fast access to encseq, requires 2bit-enc and absence of wildcards. */
580 getencseqkmers_twobitencoding_slice(encseq,
581 readmode,
582 seedlength,
583 seedlength,
584 false,
585 gt_diagbandseed_processkmercode,
586 (void *) &pkinfo,
587 NULL,
588 NULL,
589 pkinfo.prev_separator,
590 pkinfo.last_specialpos);
909 gt_getencseqkmers_twobitencoding_slice(encseq,
910 readmode,
911 seedlength,
912 seedlength,
913 false,
914 gt_diagbandseed_processkmercode,
915 (void *) &pkinfo,
916 NULL,
917 NULL,
918 pkinfo.prev_separator,
919 pkinfo.last_specialpos);
591920 } else {
592921 /* Use GtKmercodeiterator for encseq access */
593922 gt_diagbandseed_get_kmers_kciter(&pkinfo);
595924 if (gt_encseq_has_specialranges(encseq)) {
596925 gt_specialrangeiterator_delete(pkinfo.sri);
597926 }
598 kmer_listlen = kmer_list.nextfreeGtDiagbandseedKmerPos;
599
600927 /* reduce size of array to number of entries */
601 kmer_list.allocatedGtDiagbandseedKmerPos = kmer_listlen;
602 if (kmer_listlen > 0)
603 {
604 kmer_list.spaceGtDiagbandseedKmerPos
605 = gt_realloc(kmer_list.spaceGtDiagbandseedKmerPos,
606 kmer_listlen * sizeof *kmer_list.spaceGtDiagbandseedKmerPos);
607 }
608 if (debug_kmer) {
609 const GtDiagbandseedKmerPos *idx = kmer_list.spaceGtDiagbandseedKmerPos;
610 const GtDiagbandseedKmerPos *end = idx + kmer_listlen;
611 while (idx < end) {
612 fprintf(stream, "# Kmer (" GT_LX ",%"PRIu32",%"PRIu32")\n",
613 idx->code, idx->endpos, idx->seqnum);
614 idx++;
615 }
616 }
617
618 if (verbose) {
619 fprintf(stream, "# ... collected " GT_WU " %u-mers ", kmer_listlen,
620 seedlength);
928 gt_kmerpos_list_reduce_size(kmerpos_list);
929 if (debug_kmer)
930 {
931 gt_kmerpos_list_show(stream,kmerpos_list);
932 }
933 if (verbose)
934 {
935 fprintf(stream, "# ... collected " GT_WU " %u-mers ",
936 gt_kmerpos_list_num_entries(kmerpos_list),seedlength);
621937 gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
622938 gt_timer_start(timer);
623939 }
624
625 gt_radixsort_inplace_GtUwordPair((GtUwordPair *)
626 kmer_list.spaceGtDiagbandseedKmerPos,
627 kmer_listlen);
940 gt_kmerpos_list_sort(kmerpos_list);
941 kmerpos_list->longest_code_run
942 = gt_diagbandseed_longest_code_run(kmerpos_list);
628943 if (verbose) {
629 fprintf(stream, "# ... sorted " GT_WU " %u-mers ",kmer_listlen, seedlength);
944 fprintf(stream, "# ... sorted " GT_WU " %u-mers ",
945 gt_kmerpos_list_num_entries(kmerpos_list),seedlength);
630946 gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
631947 gt_timer_delete(timer);
632948 }
633949
634 return kmer_list;
950 return kmerpos_list;
635951 }
636952
637953 /* * * * * SEEDPAIR LIST CREATION * * * * */
638954
639955 typedef struct {
640 GtArrayGtDiagbandseedKmerPos segment;
641 bool at_end;
956 /* common for list/file based iterator */
957 GtKmerPosList section;
958 bool at_list_end;
642959 /* for list based iterator */
643 const GtArrayGtDiagbandseedKmerPos *origin_list;
644 const GtDiagbandseedKmerPos *listend;
645 GtDiagbandseedKmerPos *listptr;
960 const GtKmerPosList *original;
961 const GtDiagbandseedKmerPos *listend_struct;
962 GtDiagbandseedKmerPos *listptr_struct;
963 const GtUword *listend_uword;
964 GtUword *listptr_uword;
646965 /* for file based iterator */
647 GtBufferedfile_GtDiagbandseedKmerPos kmerstream;
648 GtDiagbandseedKmerPos buffer;
966 GtBufferedfile_GtDiagbandseedKmerPos kmerstream_struct;
967 GtBufferedfile_GtUword kmerstream_uword;
968 GtUword buffer_uword;
649969 } GtDiagbandseedKmerIterator;
650970
651971 static void gt_diagbandseed_kmer_iter_reset(GtDiagbandseedKmerIterator *ki)
652972 {
653973 gt_assert(ki != NULL);
654 ki->at_end = false;
655 if (ki->origin_list != NULL) { /* list based */
656 ki->listptr = ki->origin_list->spaceGtDiagbandseedKmerPos;
657 ki->segment.spaceGtDiagbandseedKmerPos = ki->listptr;
658 if (ki->origin_list->nextfreeGtDiagbandseedKmerPos == 0) {
659 ki->at_end = true;
660 }
661 } else { /* file based */
662 int rval;
663 ki->kmerstream.nextread = ki->kmerstream.nextfree = 0;
664 rewind(ki->kmerstream.fp);
665 rval = gt_readnextfromstream_GtDiagbandseedKmerPos(&ki->buffer,
666 &ki->kmerstream);
667 if (rval != 1) {
668 ki->at_end = true;
974 ki->at_list_end = false;
975 if (ki->original != NULL) /* list based */
976 {
977 if (ki->section.encode_info != NULL)
978 {
979 ki->listptr_uword = ki->original->spaceGtUword;
980 ki->section.spaceGtUword = ki->original->spaceGtUword;
981 ki->listptr_struct = ki->section.spaceGtDiagbandseedKmerPos;
982 } else
983 {
984 ki->listptr_struct = ki->original->spaceGtDiagbandseedKmerPos;
985 ki->section.spaceGtDiagbandseedKmerPos
986 = ki->original->spaceGtDiagbandseedKmerPos;
987 }
988 if (gt_kmerpos_list_num_entries(ki->original) == 0)
989 {
990 ki->at_list_end = true;
991 }
992 } else /* file based */
993 {
994 if (ki->section.encode_info != NULL)
995 {
996 ki->kmerstream_uword.nextread = ki->kmerstream_uword.nextfree = 0;
997 fseek(ki->kmerstream_uword.fp,sizeof (GtLongestCodeRunType),SEEK_SET);
998 if (gt_readnextfromstream_GtUword(&ki->buffer_uword,
999 &ki->kmerstream_uword) != 1)
1000 {
1001 ki->at_list_end = true;
1002 }
1003 } else
1004 {
1005 ki->kmerstream_struct.nextread = ki->kmerstream_struct.nextfree = 0;
1006 fseek(ki->kmerstream_struct.fp,sizeof (GtLongestCodeRunType),SEEK_SET);
1007 if (gt_readnextfromstream_GtDiagbandseedKmerPos(ki->listptr_struct,
1008 &ki->kmerstream_struct)
1009 != 1)
1010 {
1011 ki->at_list_end = true;
1012 }
6691013 }
6701014 }
6711015 }
6721016
6731017 static GtDiagbandseedKmerIterator *gt_diagbandseed_kmer_iter_new_list(
674 const GtArrayGtDiagbandseedKmerPos *list)
1018 const GtKmerPosList *original)
6751019 {
6761020 GtDiagbandseedKmerIterator *ki = gt_malloc(sizeof *ki);
677 GT_INITARRAY(&ki->segment, GtDiagbandseedKmerPos);
678 gt_assert(list != NULL);
679 ki->origin_list = list;
680 ki->listend = list->spaceGtDiagbandseedKmerPos +
681 list->nextfreeGtDiagbandseedKmerPos;
1021
1022 gt_assert(original != NULL);
1023 ki->original = original;
1024 if (original->encode_info != NULL)
1025 {
1026 gt_assert(original->spaceGtUword != NULL);
1027 ki->listend_uword = original->spaceGtUword + original->nextfree;
1028 ki->section.spaceGtDiagbandseedKmerPos
1029 = gt_malloc(sizeof *ki->section.spaceGtDiagbandseedKmerPos
1030 * original->longest_code_run);
1031 ki->listend_struct = ki->section.spaceGtDiagbandseedKmerPos +
1032 original->longest_code_run;
1033 } else
1034 {
1035 gt_assert(original->spaceGtDiagbandseedKmerPos != NULL);
1036 ki->listend_uword = NULL;
1037 ki->listend_struct = original->spaceGtDiagbandseedKmerPos +
1038 original->nextfree;
1039 }
1040 ki->section.encode_info = original->encode_info;
6821041 gt_diagbandseed_kmer_iter_reset(ki);
6831042 return ki;
6841043 }
6851044
686 static GtDiagbandseedKmerIterator *gt_diagbandseed_kmer_iter_new_file(FILE *fp)
1045 static GtDiagbandseedKmerIterator *gt_diagbandseed_kmer_iter_new_file(FILE *fp,
1046 const GtKmerPosListEncodeInfo *encode_info)
6871047 {
6881048 GtDiagbandseedKmerIterator *ki = gt_malloc(sizeof *ki);
689 GT_INITARRAY(&ki->segment, GtDiagbandseedKmerPos);
690 ki->origin_list = NULL;
691 ki->listend = ki->listptr = NULL;
1049 GtLongestCodeRunType longest_code_run;
1050
1051 ki->original = NULL;
1052 ki->listend_uword = ki->listptr_uword = NULL;
6921053 gt_assert(fp != NULL);
693 ki->kmerstream.fp = fp;
694 ki->kmerstream.bufferedfilespace = gt_malloc(FILEBUFFERSIZE *
695 sizeof (GtDiagbandseedKmerPos));
1054 gt_xfread(&longest_code_run,sizeof longest_code_run,1,fp);
1055 if (encode_info != NULL)
1056 {
1057 ki->kmerstream_uword.fp = fp;
1058 ki->kmerstream_uword.bufferedfilespace
1059 = gt_malloc(GT_FILEBUFFERSIZE *
1060 sizeof *ki->kmerstream_uword.bufferedfilespace);
1061 ki->section.spaceGtUword = NULL;
1062 ki->section.allocated = longest_code_run;
1063 } else
1064 {
1065 ki->kmerstream_struct.fp = fp;
1066 ki->kmerstream_struct.bufferedfilespace
1067 = gt_malloc(GT_FILEBUFFERSIZE *
1068 sizeof *ki->kmerstream_struct.bufferedfilespace);
1069 ki->section.allocated = longest_code_run + 1; /* one larger for reading
1070 first of next run */
1071 }
1072 ki->section.spaceGtDiagbandseedKmerPos
1073 = gt_malloc(sizeof *ki->section.spaceGtDiagbandseedKmerPos *
1074 ki->section.allocated);
1075 ki->listptr_struct = ki->section.spaceGtDiagbandseedKmerPos;
1076 ki->listend_struct = ki->section.spaceGtDiagbandseedKmerPos +
1077 ki->section.allocated;
1078 ki->section.encode_info = encode_info;
6961079 gt_diagbandseed_kmer_iter_reset(ki);
6971080 return ki;
6981081 }
7001083 static void gt_diagbandseed_kmer_iter_delete(GtDiagbandseedKmerIterator *ki)
7011084 {
7021085 if (ki != NULL) {
703 if (ki->origin_list == NULL) { /* file based */
704 gt_free(ki->kmerstream.bufferedfilespace);
705 gt_fa_fclose(ki->kmerstream.fp);
706 GT_FREEARRAY(&ki->segment, GtDiagbandseedKmerPos);
1086 if (ki->original == NULL)
1087 { /* file based */
1088 if (ki->section.encode_info != NULL)
1089 {
1090 gt_free(ki->kmerstream_uword.bufferedfilespace);
1091 gt_fa_fclose(ki->kmerstream_uword.fp);
1092 gt_free(ki->section.spaceGtUword);
1093 } else
1094 {
1095 gt_free(ki->kmerstream_struct.bufferedfilespace);
1096 gt_fa_fclose(ki->kmerstream_struct.fp);
1097 }
1098 gt_free(ki->section.spaceGtDiagbandseedKmerPos);
1099 ki->section.allocated = 0;
1100 } else
1101 {
1102 if (ki->section.encode_info != NULL)
1103 {
1104 gt_free(ki->section.spaceGtDiagbandseedKmerPos);
1105 }
7071106 }
7081107 gt_free(ki);
7091108 }
7101109 }
7111110
712 static const GtArrayGtDiagbandseedKmerPos *gt_diagbandseed_kmer_iter_next(
1111 static const GtKmerPosList *gt_diagbandseed_kmer_iter_next(
7131112 GtDiagbandseedKmerIterator *ki)
7141113 {
7151114 GtCodetype code;
716 if (ki->at_end) {
1115
1116 if (ki->at_list_end)
1117 {
7171118 return NULL;
7181119 }
719 ki->segment.nextfreeGtDiagbandseedKmerPos = 0; /* reset segment list */
720
721 if (ki->origin_list != NULL) { /* list based */
722 code = ki->listptr->code;
723 ki->segment.spaceGtDiagbandseedKmerPos = ki->listptr;
724 /* add element to segment list until code differs */
725 do {
726 ki->listptr++;
727 } while (ki->listptr < ki->listend && code == ki->listptr->code);
728 ki->segment.nextfreeGtDiagbandseedKmerPos
729 += (GtUword) (ki->listptr - ki->segment.spaceGtDiagbandseedKmerPos);
730 if (ki->listptr >= ki->listend) {
731 ki->at_end = true;
732 }
733 } else { /* file based */
1120 /* reset section list */
1121 if (ki->original != NULL)
1122 { /* list based */
1123 if (ki->section.encode_info != NULL)
1124 {
1125 code = gt_kmerpos_entry_code(ki->section.encode_info,*ki->listptr_uword);
1126 ki->listptr_struct = ki->section.spaceGtDiagbandseedKmerPos;
1127 do
1128 {
1129 gt_assert(ki->listptr_struct < ki->listend_struct);
1130 gt_kmerpos_entry_decode(ki->listptr_struct++,
1131 ki->section.encode_info,*ki->listptr_uword);
1132 ki->listptr_uword++;
1133 } while (ki->listptr_uword < ki->listend_uword &&
1134 code == gt_kmerpos_entry_code(ki->section.encode_info,
1135 *ki->listptr_uword));
1136 if (ki->listptr_uword >= ki->listend_uword)
1137 {
1138 ki->at_list_end = true;
1139 }
1140 } else
1141 {
1142 code = ki->listptr_struct->code;
1143 ki->section.spaceGtDiagbandseedKmerPos = ki->listptr_struct;
1144 /* add element to section until code differs */
1145 do
1146 {
1147 ki->listptr_struct++;
1148 } while (ki->listptr_struct < ki->listend_struct &&
1149 code == ki->listptr_struct->code);
1150 if (ki->listptr_struct >= ki->listend_struct)
1151 {
1152 ki->at_list_end = true;
1153 }
1154 }
1155 } else
1156 { /* file based */
7341157 int rval;
735 code = ki->buffer.code;
736 /* fill segment list from file, stop when code changes */
737 do {
738 GT_STOREINARRAY(&ki->segment, GtDiagbandseedKmerPos,
739 ki->segment.allocatedGtDiagbandseedKmerPos * 0.2 + 128,
740 ki->buffer);
741 rval = gt_readnextfromstream_GtDiagbandseedKmerPos(&ki->buffer,
742 &ki->kmerstream);
743 } while (rval == 1 && code == ki->buffer.code);
744 if (rval != 1) {
745 ki->at_end = true;
746 }
747 }
748 return &ki->segment;
1158
1159 if (ki->section.encode_info != NULL)
1160 {
1161 ki->listptr_struct = ki->section.spaceGtDiagbandseedKmerPos;
1162 code = gt_kmerpos_entry_code(ki->section.encode_info,ki->buffer_uword);
1163 do
1164 {
1165 gt_assert(ki->listptr_struct < ki->listend_struct);
1166 gt_kmerpos_entry_decode(ki->listptr_struct++,
1167 ki->section.encode_info,ki->buffer_uword);
1168 rval = gt_readnextfromstream_GtUword(&ki->buffer_uword,
1169 &ki->kmerstream_uword);
1170 } while (rval == 1 &&
1171 code == gt_kmerpos_entry_code(ki->section.encode_info,
1172 ki->buffer_uword));
1173 } else
1174 {
1175 if (ki->section.spaceGtDiagbandseedKmerPos < ki->listptr_struct)
1176 {
1177 ki->section.spaceGtDiagbandseedKmerPos[0] = *ki->listptr_struct;
1178 ki->listptr_struct = ki->section.spaceGtDiagbandseedKmerPos;
1179 }
1180 code = ki->listptr_struct->code;
1181 do
1182 {
1183 ki->listptr_struct++;
1184 gt_assert(ki->listptr_struct < ki->listend_struct);
1185 rval = gt_readnextfromstream_GtDiagbandseedKmerPos(ki->listptr_struct,
1186 &ki->
1187 kmerstream_struct);
1188 } while (rval == 1 && code == ki->listptr_struct->code);
1189 }
1190 if (rval != 1)
1191 {
1192 ki->at_list_end = true;
1193 }
1194 }
1195 ki->section.nextfree = (GtUword) (ki->listptr_struct -
1196 ki->section.spaceGtDiagbandseedKmerPos);
1197 return &ki->section;
7491198 }
7501199
7511200 /* Evaluate the results of the seed count histogram */
8031252 "and ulong";
8041253 }
8051254
806 static const char *gt_splt_arguments[] = {"struct","ulong","bytestring",""};
807
808 GtDiagbandseedPairlisttype gt_diagbandseed_splt_get(const char *splt_string,
809 GtError *err)
1255 const char *gt_diagbandseed_kmplt_comment(void)
1256 {
1257 return "specify type of kmerpos, possible values are struct and ulong";
1258 }
1259
1260 static const char *gt_base_list_arguments[]
1261 = {"struct","ulong","bytestring",""};
1262
1263 GtDiagbandseedBaseListType gt_diagbandseed_base_list_get(
1264 bool with_splt,
1265 const char *base_list_string,GtError *err)
8101266 {
8111267 size_t idx;
812 for (idx = 0; idx < sizeof gt_splt_arguments/sizeof gt_splt_arguments[0];
813 idx++)
814 {
815 if (strcmp(splt_string,gt_splt_arguments[idx]) == 0)
816 {
817 return (GtDiagbandseedPairlisttype) idx;
818 }
819 }
820 gt_error_set(err,"illegal parameter for option -splt: %s",
821 gt_diagbandseed_splt_comment());
1268 for (idx = 0; idx < sizeof gt_base_list_arguments/
1269 sizeof gt_base_list_arguments[0]; idx++)
1270 {
1271 if (strcmp(base_list_string,gt_base_list_arguments[idx]) == 0)
1272 {
1273 return (GtDiagbandseedBaseListType) idx;
1274 }
1275 }
1276 gt_error_set(err,"illegal parameter for option -%s: %s",
1277 with_splt ? "splt" : "kmplt",
1278 with_splt ? gt_diagbandseed_splt_comment()
1279 : gt_diagbandseed_kmplt_comment());
8221280 return -1;
8231281 }
8241282
8311289 GtArrayGtDiagbandseedSeedPair *mlist_struct;
8321290 GtArrayGtUword *mlist_ulong;
8331291 GtArrayuint8_t *mlist_bytestring;
834 GtDiagbandseedPairlisttype splt;
1292 GtDiagbandseedBaseListType splt;
8351293 GtUword mask_tab[4], transfer_mask,
8361294 aseqrange_start, bseqrange_start,
8371295 aseqrange_end, bseqrange_end,
8651323 return maxmat == 1 ? true : false;
8661324 }
8671325
868 static GtSeedpairlist *gt_seedpairlist_new(GtDiagbandseedPairlisttype splt,
1326 static GtSeedpairlist *gt_seedpairlist_new(GtDiagbandseedBaseListType splt,
8691327 const GtSequencePartsInfo *aseqranges,
8701328 GtUword aidx,
8711329 const GtSequencePartsInfo *bseqranges,
9581416 seedpairlist->mlist_struct = NULL;
9591417 seedpairlist->mlist_ulong = NULL;
9601418 seedpairlist->mlist_bytestring = NULL;
961 if (splt == GT_DIAGBANDSEED_SPLT_UNDEFINED)
1419 if (splt == GT_DIAGBANDSEED_BASE_LIST_UNDEFINED)
9621420 {
9631421 if (seedpairlist->bytes_seedpair <= sizeof (GtUword))
9641422 {
965 splt = GT_DIAGBANDSEED_SPLT_ULONG;
1423 splt = GT_DIAGBANDSEED_BASE_LIST_ULONG;
9661424 } else
9671425 {
968 splt = GT_DIAGBANDSEED_SPLT_BYTESTRING;
969 }
970 }
971 if (splt == GT_DIAGBANDSEED_SPLT_ULONG)
1426 splt = GT_DIAGBANDSEED_BASE_LIST_BYTESTRING;
1427 }
1428 }
1429 if (splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
9721430 {
9731431 if (seedpairlist->bytes_seedpair > sizeof (GtUword))
9741432 {
975 splt = GT_DIAGBANDSEED_SPLT_BYTESTRING;
1433 splt = GT_DIAGBANDSEED_BASE_LIST_BYTESTRING;
9761434 }
9771435 } else
9781436 {
979 if (splt == GT_DIAGBANDSEED_SPLT_BYTESTRING &&
1437 if (splt == GT_DIAGBANDSEED_BASE_LIST_BYTESTRING &&
9801438 seedpairlist->bytes_seedpair <= sizeof (GtUword))
9811439 {
982 splt = GT_DIAGBANDSEED_SPLT_ULONG;
983 }
984 }
985 if (splt == GT_DIAGBANDSEED_SPLT_ULONG)
1440 splt = GT_DIAGBANDSEED_BASE_LIST_ULONG;
1441 }
1442 }
1443 if (splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
9861444 {
9871445 gt_assert(seedpairlist->bytes_seedpair <= sizeof (GtUword));
9881446 seedpairlist->mlist_ulong = gt_malloc(sizeof *seedpairlist->mlist_ulong);
9891447 GT_INITARRAY(seedpairlist->mlist_ulong, GtUword);
9901448 } else
9911449 {
992 if (splt == GT_DIAGBANDSEED_SPLT_BYTESTRING)
1450 if (splt == GT_DIAGBANDSEED_BASE_LIST_BYTESTRING)
9931451 {
9941452 gt_assert(seedpairlist->bytes_seedpair > sizeof (GtUword));
9951453 seedpairlist->mlist_bytestring
10261484 const GtSeedpairlist *seedpairlist)
10271485 {
10281486 fprintf(stream,"# splt=%s, bits_seedpair=%d, bytes_seedpair=%u with ",
1029 gt_splt_arguments[seedpairlist->splt],
1487 gt_base_list_arguments[seedpairlist->splt],
10301488 (int) seedpairlist->bits_seedpair,
10311489 (int) seedpairlist->bytes_seedpair);
10321490 fprintf(stream,"aseqnum=%hu bits, ",seedpairlist->bits_values[idx_aseqnum]);
10371495
10381496 static size_t gt_seedpairlist_sizeofunit(const GtSeedpairlist *seedpairlist)
10391497 {
1040 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
1498 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
10411499 {
10421500 return sizeof (GtDiagbandseedSeedPair);
10431501 } else
10441502 {
1045 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
1503 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
10461504 {
10471505 return sizeof (GtUword);
10481506 } else
10571515 {
10581516 if (known_size > 0) {
10591517 gt_assert(seedpairlist != NULL);
1060 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
1518 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
10611519 {
10621520 gt_assert(seedpairlist->mlist_struct != NULL);
10631521 GT_CHECKARRAYSPACEMULTI(seedpairlist->mlist_struct,
10641522 GtDiagbandseedSeedPair, known_size);
10651523 } else
10661524 {
1067 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
1525 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
10681526 {
10691527 gt_assert(seedpairlist->mlist_ulong != NULL);
10701528 GT_CHECKARRAYSPACEMULTI(seedpairlist->mlist_ulong,GtUword, known_size);
11041562 static GtUword gt_seedpairlist_length(const GtSeedpairlist *seedpairlist)
11051563 {
11061564 gt_assert(seedpairlist != NULL);
1107 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
1565 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
11081566 {
11091567 gt_assert(seedpairlist->mlist_struct != NULL);
11101568 return seedpairlist->mlist_struct->nextfreeGtDiagbandseedSeedPair;
11111569 } else
11121570 {
1113 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
1571 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
11141572 {
11151573 gt_assert(seedpairlist->mlist_ulong != NULL);
11161574 return seedpairlist->mlist_ulong->nextfreeGtUword;
11301588 const GtSeedpairlist *seedpairlist)
11311589 {
11321590 gt_assert(seedpairlist != NULL &&
1133 seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT &&
1591 seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT &&
11341592 seedpairlist->mlist_struct != NULL);
11351593 return seedpairlist->mlist_struct->spaceGtDiagbandseedSeedPair;
11361594 }
12051663 {
12061664 bpos = GT_DIAGBANDSEED_DIAGONAL(seedpairlist->amaxlen,apos,bpos);
12071665 }
1208 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
1666 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
12091667 {
12101668 GtDiagbandseedSeedPair *seedpair = NULL;
12111669 if (knownsize)
12281686 GT_DIAGBANDSEED_SETPOS(seedpair,apos,bpos); /* set splt struct */
12291687 } else
12301688 {
1231 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
1689 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
12321690 {
12331691 const GtUword encoding
12341692 = GT_DIAGBANDSEED_ENCODE_SEEDPAIR(aseqnum -
12891747
12901748 if (mlistlen > 0)
12911749 {
1292 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
1750 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
12931751 {
12941752 gt_assert(seedpairlist->mlist_struct != NULL);
12951753 gt_radixsort_inplace_Gtuint64keyPair(
12981756 mlistlen);
12991757 } else
13001758 {
1301 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
1759 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
13021760 {
13031761 gt_assert(seedpairlist->mlist_ulong != NULL);
13041762 gt_radixsort_inplace_ulong(seedpairlist->mlist_ulong->spaceGtUword,
13911849 const GtSeedpairlist *seedpairlist,
13921850 GtUword spidx)
13931851 {
1394 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
1852 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
13951853 {
13961854 *seedpair = seedpairlist->mlist_struct->spaceGtDiagbandseedSeedPair[spidx];
13971855 } else
13981856 {
1399 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
1857 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
14001858 {
14011859 GtDiagbandseedPosition apos, bpos;
14021860
15081966 const GtRange *seedpairdistance,
15091967 bool selfcomp)
15101968 {
1511 const GtArrayGtDiagbandseedKmerPos *alist, *blist;
1969 const GtKmerPosList *alist, *blist;
15121970 const bool count_cartesian = (histogram != NULL && !selfcomp) ? true : false;
15131971
15141972 gt_assert(aiter != NULL && biter != NULL &&
15161974 (histogram != NULL && seedpairlist == NULL)));
15171975 alist = gt_diagbandseed_kmer_iter_next(aiter);
15181976 blist = gt_diagbandseed_kmer_iter_next(biter);
1519 while (alist != NULL && blist != NULL) {
1977 while (alist != NULL && blist != NULL)
1978 {
15201979 const GtDiagbandseedKmerPos *asegment = alist->spaceGtDiagbandseedKmerPos,
15211980 *bsegment = blist->spaceGtDiagbandseedKmerPos;
1522 GtUword alen = alist->nextfreeGtDiagbandseedKmerPos,
1523 blen = blist->nextfreeGtDiagbandseedKmerPos;
1524 if (asegment->code < bsegment->code) {
1981 GtUword alen = alist->nextfree,
1982 blen = blist->nextfree;
1983 if (asegment->code < bsegment->code)
1984 {
15251985 alist = gt_diagbandseed_kmer_iter_next(aiter);
15261986 } else
15271987 {
15311991 } else
15321992 {
15331993 GtUword frequency = MAX(alen, blen);
1994
15341995 if (frequency <= maxfreq)
15351996 {
15361997 /* add all equal k-mers */
28943355 static void gt_diagbandseed_match_header(FILE *stream,
28953356 const GtDiagbandseedExtendParams *extp,
28963357 const void *processinfo,
3358 unsigned int spacedseedweight,
28973359 unsigned int seedlength,
28983360 GtUword num_diagbands,
28993361 GtUword minsegmentlen)
29003362 {
29013363 fprintf(stream,"# start processing of seeds ...\n");
2902 fprintf(stream,"# parameters for selecting seeds: seedlength=%u, "
2903 "diagonal bands=" GT_WU ", minimal segmentsize=" GT_WU
3364 fprintf(stream,"# parameters for selecting seeds: ");
3365 if (spacedseedweight < seedlength)
3366 {
3367 fprintf(stream,"weight=%u, span=%u for spaced seeds,",spacedseedweight,
3368 seedlength);
3369 } else
3370 {
3371 fprintf(stream,"seedlength=%u,",seedlength);
3372 }
3373 fprintf(stream," diagonal bands=" GT_WU ", minimal segmentsize=" GT_WU
29043374 ", minimal coverage=" GT_WU "\n",
2905 seedlength,num_diagbands,minsegmentlen,extp->mincoverage);
3375 num_diagbands,minsegmentlen,extp->mincoverage);
29063376 if (extp->extendgreedy)
29073377 {
29083378 const GtGreedyextendmatchinfo *ggemi
31173587 GtArrayGtDiagbandseedMaximalmatch
31183588 *memstore,
31193589 const GtChain2Dimmode *chainmode,
3590 unsigned int spacedseedweight,
31203591 unsigned int seedlength,
31213592 GtReadmode query_readmode,
31223593 bool verbose,
31643635 if (verbose)
31653636 {
31663637 gt_diagbandseed_match_header(stream,extp,processinfo,
3638 spacedseedweight,
31673639 seedlength,
31683640 gt_diagband_struct_num_diagbands(
31693641 seedpairlist->amaxlen,bmaxlen,
32093681 segment_proc_info = diagband_statistics;
32103682 }
32113683 }
3212 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
3684 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_STRUCT)
32133685 {
32143686 const GtDiagbandseedSeedPair
32153687 *mlist = gt_seedpairlist_mlist_struct(seedpairlist),
32773749 }
32783750 } else
32793751 {
3280 if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
3752 if (seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
32813753 {
32823754 const GtUword *mlist = gt_seedpairlist_mlist_ulong(seedpairlist),
32833755 *mlistend = mlist + mlistlen,
33683840 mlistlen_offset = mlistlen * seedpairlist->bytes_seedpair;
33693841 GtUword nextsegment_offset = 0, segment_length;
33703842
3371 gt_assert(seedpairlist->splt == GT_DIAGBANDSEED_SPLT_BYTESTRING);
3843 gt_assert(seedpairlist->splt == GT_DIAGBANDSEED_BASE_LIST_BYTESTRING);
33723844 /* iterate through segments of equal k-mers, segment has length > 0 */
33733845 gt_diagbandseed_decode_seedpair(&nextsegment,seedpairlist,0);
33743846 while (nextsegment_offset <= last_segment_offset)
34843956 /* * * * * ALGORITHM STEPS * * * * */
34853957
34863958 static char *gt_diagbandseed_kmer_filename(const GtEncseq *encseq,
3487 unsigned int seedweight,
3959 unsigned int spacedseedweight,
34883960 unsigned int seedlength,
34893961 bool forward,
34903962 unsigned int numparts,
3491 unsigned int partindex)
3963 unsigned int partindex,
3964 GtDiagbandseedBaseListType kmplt)
34923965 {
34933966 char *filename;
34943967 GtStr *str = gt_str_new_cstr(gt_encseq_indexname(encseq));
3495 if (seedweight < seedlength)
3968 if (spacedseedweight < seedlength)
34963969 {
34973970 gt_str_append_char(str, '.');
3498 gt_str_append_uint(str, seedweight);
3971 gt_str_append_uint(str, spacedseedweight);
34993972 }
35003973 gt_str_append_char(str, '.');
35013974 gt_str_append_uint(str, seedlength);
35033976 gt_str_append_uint(str, numparts);
35043977 gt_str_append_char(str, '-');
35053978 gt_str_append_uint(str, partindex + 1);
3979 if (kmplt == GT_DIAGBANDSEED_BASE_LIST_ULONG)
3980 {
3981 gt_str_append_char(str, 'U');
3982 } else
3983 {
3984 gt_assert(kmplt == GT_DIAGBANDSEED_BASE_LIST_STRUCT);
3985 }
35063986 gt_str_append_cstr(str, ".kmer");
35073987 filename = gt_cstr_dup(gt_str_get(str));
35083988 gt_str_delete(str);
35093989 return filename;
35103990 }
35113991
3992 static GtUword gt_numof_kmerpos_in_file(const char *filename,
3993 GtDiagbandseedBaseListType kmplt)
3994 {
3995 off_t file_size = gt_file_size(filename);
3996 size_t base_type_size = kmplt == GT_DIAGBANDSEED_BASE_LIST_STRUCT
3997 ? sizeof (GtDiagbandseedKmerPos)
3998 : sizeof (GtUword);
3999
4000 gt_assert(file_size >= sizeof (GtLongestCodeRunType) &&
4001 (file_size - sizeof (GtLongestCodeRunType)) % base_type_size == 0);
4002 return (GtUword) ((file_size - sizeof (GtLongestCodeRunType))/base_type_size);
4003 }
4004
4005 static GtDiagbandseedBaseListType gt_diagbandseed_kmplt(
4006 const GtKmerPosListEncodeInfo *encode_info)
4007 {
4008 return encode_info == NULL ? GT_DIAGBANDSEED_BASE_LIST_STRUCT
4009 : GT_DIAGBANDSEED_BASE_LIST_ULONG;
4010 }
4011
35124012 /* Go through the different steps of the seed and extend algorithm. */
35134013 static int gt_diagbandseed_algorithm(const GtDiagbandseedInfo *arg,
3514 const GtArrayGtDiagbandseedKmerPos *alist,
4014 const GtKmerPosList *alist,
35154015 FILE *stream,
35164016 const GtEncseq *aencseq,
35174017 const GtSequencePartsInfo *aseqranges,
35264026 GtFtTrimstat *trimstat,
35274027 GtError *err)
35284028 {
3529 GtArrayGtDiagbandseedKmerPos blist;
4029 GtKmerPosList *blist = NULL;
35304030 GtSeedpairlist *seedpairlist = NULL;
35314031 GtDiagbandseedKmerIterator *aiter = NULL, *biter = NULL;
35324032 GtUword alen = 0, blen = 0, mlistlen = 0, maxfreq, len_used;
3533 GtRange seedpairdistance = *arg->seedpairdistance;
4033 GtRange seedpairdistance;
35344034 char *blist_file = NULL;
35354035 int had_err = 0;
35364036 bool alist_blist_id, both_strands, selfcomp, equalranges, use_blist = false;
35464046 amaxlen = gt_encseq_max_seq_length(aencseq);
35474047 GtArrayGtDiagbandseedMaximalmatch *memstore = NULL;
35484048 GtChain2Dimmode *chainmode = NULL;
4049 GtKmerPosListEncodeInfo *aencode_info, *bencode_info;
35494050
35504051 gt_assert(arg != NULL);
4052 aencode_info = gt_kmerpos_encode_info_new(arg->kmplt,
4053 arg->aencseq,
4054 arg->spacedseedweight,
4055 aseqranges,
4056 aidx);
4057 if (arg->aencseq != arg->bencseq || aseqranges != bseqranges || aidx != bidx)
4058 {
4059 bencode_info = gt_kmerpos_encode_info_new(arg->kmplt,
4060 arg->bencseq,
4061 arg->spacedseedweight,
4062 bseqranges,
4063 bidx);
4064 } else
4065 {
4066 bencode_info = aencode_info;
4067 }
4068 seedpairdistance = *arg->seedpairdistance;
35514069 maxfreq = arg->maxfreq;
35524070 selfcomp = (arg->bencseq == arg->aencseq &&
35534071 gt_sequence_parts_info_overlap(aseqranges,aidx,bseqranges,bidx))
35814099
35824100 /* Create k-mer iterator for alist */
35834101 if (alist == NULL) {
3584 char *alist_file;
3585 alist_file = gt_diagbandseed_kmer_filename(arg->aencseq, arg->seedweight,
3586 arg->seedlength,
3587 true, anumseqranges,aidx);
4102 char *alist_file
4103 = gt_diagbandseed_kmer_filename(arg->aencseq,
4104 arg->spacedseedweight,
4105 arg->seedlength,
4106 true,
4107 anumseqranges,
4108 aidx,
4109 gt_diagbandseed_kmplt(aencode_info));
35884110 FILE *alist_fp = gt_fa_fopen(alist_file, "rb", err);
35894111 if (alist_fp == NULL) {
4112 gt_kmerpos_encode_info_delete(aencode_info);
4113 gt_kmerpos_encode_info_delete(bencode_info);
35904114 return -1;
35914115 }
3592 alen = (GtUword)(gt_file_size(alist_file) / sizeof (GtDiagbandseedKmerPos));
3593 aiter = gt_diagbandseed_kmer_iter_new_file(alist_fp);
4116 alen = gt_numof_kmerpos_in_file(alist_file,
4117 gt_diagbandseed_kmplt(aencode_info));
4118 aiter = gt_diagbandseed_kmer_iter_new_file(alist_fp,aencode_info);
35944119 gt_free(alist_file);
35954120 alist_file = NULL;
35964121 } else {
35974122 gt_assert(alist != NULL);
3598 alen = alist->nextfreeGtDiagbandseedKmerPos;
4123 alen = alist->nextfree;
35994124 aiter = gt_diagbandseed_kmer_iter_new_list(alist);
36004125 }
36014126
36044129 biter = gt_diagbandseed_kmer_iter_new_list(alist);
36054130 blen = alen;
36064131 } else if (arg->use_kmerfile) {
3607 blist_file = gt_diagbandseed_kmer_filename(arg->bencseq, arg->seedweight,
3608 arg->seedlength,
3609 !arg->nofwd, bnumseqranges,bidx);
4132 blist_file
4133 = gt_diagbandseed_kmer_filename(arg->bencseq,
4134 arg->spacedseedweight,
4135 arg->seedlength,
4136 !arg->nofwd,
4137 bnumseqranges,
4138 bidx,
4139 gt_diagbandseed_kmplt(bencode_info));
36104140 if (!gt_file_exists(blist_file)) {
36114141 gt_free(blist_file);
36124142 blist_file = NULL;
36174147 if (blist_fp == NULL) {
36184148 gt_free(blist_file);
36194149 gt_diagbandseed_kmer_iter_delete(aiter);
4150 aiter = NULL;
4151 gt_kmerpos_encode_info_delete(aencode_info);
4152 gt_kmerpos_encode_info_delete(bencode_info);
36204153 return -1;
36214154 }
3622 blen = (GtUword)(gt_file_size(blist_file) / sizeof (GtDiagbandseedKmerPos));
4155 blen = gt_numof_kmerpos_in_file(blist_file,
4156 gt_diagbandseed_kmplt(bencode_info));
36234157 gt_assert(biter == NULL);
3624 biter = gt_diagbandseed_kmer_iter_new_file(blist_fp);
4158 biter = gt_diagbandseed_kmer_iter_new_file(blist_fp,bencode_info);
36254159 gt_free(blist_file);
36264160 blist_file = NULL;
36274161 } else if (!alist_blist_id) {
36304164 const GtUword known_size = (selfcomp && equalranges) ? alen : 0;
36314165 blist = gt_diagbandseed_get_kmers(
36324166 arg->bencseq,
3633 arg->seedweight,
4167 arg->spacedseedweight,
36344168 arg->seedlength,
4169 arg->spaced_seed_spec,
36354170 readmode_kmerscan,
36364171 gt_sequence_parts_info_start_get(bseqranges,bidx),
36374172 gt_sequence_parts_info_end_get(bseqranges,bidx),
4173 bencode_info,
36384174 arg->debug_kmer,
36394175 arg->verbose,
36404176 known_size,
36414177 stream);
3642 blen = blist.nextfreeGtDiagbandseedKmerPos;
3643 biter = gt_diagbandseed_kmer_iter_new_list(&blist);
4178 blen = blist->nextfree;
4179 biter = gt_diagbandseed_kmer_iter_new_list(blist);
36444180 use_blist = true;
36454181 }
36464182
37234259 seedpairlist = NULL;
37244260 }
37254261 if (use_blist) {
3726 GT_FREEARRAY(&blist, GtDiagbandseedKmerPos);
4262 gt_kmerpos_list_delete(blist);
37274263 }
37284264 use_blist = false;
37294265 gt_diagbandseed_kmer_iter_delete(biter);
38084344 karlin_altschul_stat,
38094345 memstore,
38104346 chainmode,
4347 arg->spacedseedweight,
38114348 arg->seedlength,
38124349 arg->nofwd ? GT_READMODE_REVCOMPL
38134350 : GT_READMODE_FORWARD,
38234360 /* Third (reverse) k-mer list */
38244361 if (both_strands) {
38254362 GtUword mrevlen = 0;
3826 GtArrayGtDiagbandseedKmerPos clist;
4363 GtKmerPosList *clist = NULL;
38274364
38284365 gt_assert(blist_file == NULL && !use_blist);
38294366 seedpairdistance.start = 0UL;
38304367 if (arg->use_kmerfile) {
3831 blist_file = gt_diagbandseed_kmer_filename(arg->bencseq,
3832 arg->seedweight,
3833 arg->seedlength,
3834 false, bnumseqranges,
3835 bidx);
4368 blist_file
4369 = gt_diagbandseed_kmer_filename(arg->bencseq,
4370 arg->spacedseedweight,
4371 arg->seedlength,
4372 false,
4373 bnumseqranges,
4374 bidx,
4375 gt_diagbandseed_kmplt(bencode_info));
38364376 if (!gt_file_exists(blist_file)) {
38374377 gt_free(blist_file);
38384378 blist_file = NULL;
38434383 if (blist_fp == NULL) {
38444384 had_err = -1;
38454385 } else {
3846 biter = gt_diagbandseed_kmer_iter_new_file(blist_fp);
4386 biter = gt_diagbandseed_kmer_iter_new_file(blist_fp,bencode_info);
38474387 }
38484388 gt_free(blist_file);
38494389 } else {
38504390 const GtReadmode readmode_kmerscan = GT_READMODE_COMPL;
38514391 clist = gt_diagbandseed_get_kmers(
38524392 arg->bencseq,
3853 arg->seedweight,
4393 arg->spacedseedweight,
38544394 arg->seedlength,
4395 arg->spaced_seed_spec,
38554396 readmode_kmerscan,
38564397 gt_sequence_parts_info_start_get(bseqranges,bidx),
38574398 gt_sequence_parts_info_end_get(bseqranges,bidx),
4399 bencode_info,
38584400 arg->debug_kmer,
38594401 arg->verbose,
38604402 blen,
38614403 stream);
3862 biter = gt_diagbandseed_kmer_iter_new_list(&clist);
4404 biter = gt_diagbandseed_kmer_iter_new_list(clist);
38634405 use_blist = true;
38644406 }
38654407
39124454 }
39134455 }
39144456 if (use_blist) {
3915 GT_FREEARRAY(&clist, GtDiagbandseedKmerPos);
4457 gt_kmerpos_list_delete(clist);
39164458 }
39174459 gt_diagbandseed_kmer_iter_delete(biter);
4460 biter = NULL;
39184461 }
39194462 }
39204463 gt_diagbandseed_kmer_iter_delete(aiter);
4464 aiter = NULL;
39214465
39224466 /* Process second (reverse) mlist */
39234467 if (!had_err && both_strands) {
39304474 karlin_altschul_stat,
39314475 memstore,
39324476 chainmode,
4477 arg->spacedseedweight,
39334478 arg->seedlength,
39344479 GT_READMODE_REVCOMPL,
39354480 arg->verbose,
39664511 {
39674512 gt_segment_reject_info_delete(segment_reject_info);
39684513 }
4514 gt_kmerpos_encode_info_delete(aencode_info);
4515 if (aencode_info != bencode_info)
4516 {
4517 gt_kmerpos_encode_info_delete(bencode_info);
4518 }
39694519 return had_err;
39704520 }
39714521
39724522 #ifdef GT_THREADS_ENABLED
3973 typedef struct{
4523 typedef struct
4524 {
39744525 const GtDiagbandseedInfo *arg;
3975 const GtArrayGtDiagbandseedKmerPos *alist;
4526 const GtKmerPosList *alist;
39764527 FILE *stream;
39774528 const GtEncseq *aencseq, *bencseq;
39784529 const GtSequencePartsInfo *aseqranges,
39864537
39874538 static void gt_diagbandseed_thread_info_set(GtDiagbandseedThreadInfo *ti,
39884539 const GtDiagbandseedInfo *arg,
3989 const GtArrayGtDiagbandseedKmerPos *alist,
4540 const GtKmerPosList *alist,
39904541 FILE *stream,
39914542 const GtEncseq *aencseq,
39924543 const GtSequencePartsInfo *aseqranges,
40414592 }
40424593 #endif
40434594
4044 static int gt_diagbandseed_write_kmers(const GtArrayGtDiagbandseedKmerPos *list,
4595 static int gt_diagbandseed_write_kmers(const GtKmerPosList *kmerpos_list,
40454596 const char *path,
4046 unsigned int seedweight,
4597 unsigned int spacedseedweight,
40474598 unsigned int seedlength,
40484599 bool verbose,
40494600 GtError *err)
40504601 {
40514602 FILE *stream;
4603 GtUword longest_code_run;
40524604
40534605 if (verbose) {
4054 printf("# write " GT_WU " %u-mers ",
4055 list->nextfreeGtDiagbandseedKmerPos, seedlength);
4056 if (seedweight < seedlength)
4057 {
4058 printf("with weight %u ",seedweight);
4606 gt_assert(kmerpos_list != NULL);
4607 printf("# write " GT_WU " %u-mers ",kmerpos_list->nextfree, seedlength);
4608 if (spacedseedweight < seedlength)
4609 {
4610 printf("with weight %u ",spacedseedweight);
40594611 }
40604612 printf("to file %s\n",path);
40614613 }
40624614
40634615 stream = gt_fa_fopen(path, "wb", err);
4064 if (stream != NULL) {
4065 gt_xfwrite(list->spaceGtDiagbandseedKmerPos,
4066 sizeof *list->spaceGtDiagbandseedKmerPos,
4067 list->nextfreeGtDiagbandseedKmerPos, stream);
4068 gt_fa_fclose(stream);
4069 return 0;
4070 } else {
4616 if (stream == NULL)
4617 {
40714618 return -1;
40724619 }
4620 gt_xfwrite(&kmerpos_list->longest_code_run,sizeof longest_code_run,1,stream);
4621 if (kmerpos_list->encode_info != NULL)
4622 {
4623 gt_xfwrite(kmerpos_list->spaceGtUword,
4624 sizeof *kmerpos_list->spaceGtUword,
4625 kmerpos_list->nextfree, stream);
4626 } else
4627 {
4628 gt_xfwrite(kmerpos_list->spaceGtDiagbandseedKmerPos,
4629 sizeof *kmerpos_list->spaceGtDiagbandseedKmerPos,
4630 kmerpos_list->nextfree, stream);
4631 }
4632 gt_fa_fclose(stream);
4633 return 0;
40734634 }
40744635
40754636 static bool gt_create_or_update_file(const char *path,const GtEncseq *encseq)
40954656 const GtBittab *used_sequences)
40964657 {
40974658 GtUword seqnum, idx, numbits, max_seq_length;
4098 char *buffer;
4659 char *string_buffer;
40994660
41004661 gt_assert(encseq != NULL && used_sequences != NULL);
41014662 numbits = gt_bittab_count_set_bits(used_sequences);
41024663 max_seq_length = gt_encseq_max_seq_length(encseq);
4103 buffer = gt_malloc(sizeof *buffer * max_seq_length);
4664 string_buffer = gt_malloc(sizeof *string_buffer * max_seq_length);
41044665 for (idx = 0, seqnum = gt_bittab_get_first_bitnum(used_sequences);
41054666 idx < numbits;
41064667 idx++, seqnum = gt_bittab_get_next_bitnum(used_sequences,seqnum))
41074668 {
41084669 const GtUword seqstartpos = gt_encseq_seqstartpos(encseq,seqnum),
41094670 seqlength = gt_encseq_seqlength(encseq,seqnum);
4110 gt_encseq_extract_decoded(encseq,buffer,seqstartpos,
4671 gt_encseq_extract_decoded(encseq,string_buffer,seqstartpos,
41114672 seqstartpos + seqlength - 1);
41124673 printf("S\t%c" GT_WU "\t" GT_WU "\t",seqtype,seqnum,seqlength);
4113 fwrite(buffer,sizeof *buffer,seqlength,stdout);
4674 fwrite(string_buffer,sizeof *string_buffer,seqlength,stdout);
41144675 fputc('\n',stdout);
41154676 }
4116 gt_free(buffer);
4677 gt_free(string_buffer);
41174678 }
41184679
41194680 /* Run the algorithm by iterating over all combinations of sequence ranges. */
41264687 const bool self = arg->aencseq == arg->bencseq ? true : false;
41274688 const bool apick = pick->a != GT_UWORD_MAX ? true : false;
41284689 const bool bpick = pick->b != GT_UWORD_MAX ? true : false;
4129 GtArrayGtDiagbandseedKmerPos alist;
4690 GtKmerPosList *alist = NULL;
41304691 GtUword aidx, bidx;
41314692 int had_err = 0;
41324693 const GtUword anumseqranges = gt_sequence_parts_info_number(aseqranges),
41684729 unsigned int count;
41694730 for (count = 0; count < 2; count++) {
41704731 const bool fwd = count == 0 ? true : false;
4171 if (fwd && (self || arg->nofwd)) continue;
4172 if (!fwd && arg->norev) continue;
4173
4174 for (bidx = 0; !had_err && bidx < bnumseqranges; bidx++) {
4732
4733 if ((fwd && (self || arg->nofwd)) || (!fwd && arg->norev))
4734 {
4735 continue;
4736 }
4737 for (bidx = 0; !had_err && bidx < bnumseqranges; bidx++)
4738 {
41754739 char *path;
4176 if (bpick && pick->b != bidx) continue;
4177
4178 path = gt_diagbandseed_kmer_filename(arg->bencseq, arg->seedweight,
4179 arg->seedlength, fwd,
4180 bnumseqranges, bidx);
4740 GtKmerPosListEncodeInfo *bencode_info;
4741
4742 if (bpick && pick->b != bidx)
4743 {
4744 continue;
4745 }
4746 bencode_info = gt_kmerpos_encode_info_new(arg->kmplt,
4747 arg->bencseq,
4748 arg->spacedseedweight,
4749 bseqranges,
4750 bidx);
4751 path = gt_diagbandseed_kmer_filename(arg->bencseq,
4752 arg->spacedseedweight,
4753 arg->seedlength,
4754 fwd,
4755 bnumseqranges,
4756 bidx,
4757 gt_diagbandseed_kmplt(
4758 bencode_info));
41814759 if (gt_create_or_update_file(path,arg->bencseq))
41824760 {
4183 GtArrayGtDiagbandseedKmerPos blist;
4761 GtKmerPosList *blist;
41844762 GtReadmode readmode_kmerscan = fwd ? GT_READMODE_FORWARD
41854763 : GT_READMODE_COMPL;
4186
41874764 blist = gt_diagbandseed_get_kmers(
41884765 arg->bencseq,
4189 arg->seedweight,
4766 arg->spacedseedweight,
41904767 arg->seedlength,
4768 arg->spaced_seed_spec,
41914769 readmode_kmerscan,
41924770 gt_sequence_parts_info_start_get(bseqranges,bidx),
41934771 gt_sequence_parts_info_end_get(bseqranges,bidx),
4772 bencode_info,
41944773 arg->debug_kmer,
41954774 arg->verbose,
41964775 0,
41974776 stdout);
4198 had_err = gt_diagbandseed_write_kmers(&blist, path, arg->seedweight,
4777 had_err = gt_diagbandseed_write_kmers(blist, path,
4778 arg->spacedseedweight,
41994779 arg->seedlength,
42004780 arg->verbose, err);
4201 GT_FREEARRAY(&blist, GtDiagbandseedKmerPos);
4781 gt_kmerpos_list_delete(blist);
42024782 }
42034783 gt_free(path);
4784 gt_kmerpos_encode_info_delete(bencode_info);
42044785 }
42054786 }
42064787 }
42104791 }
42114792 if (gt_querymatch_evalue_display(arg->extp->out_display_flag) ||
42124793 gt_querymatch_bitscore_display(arg->extp->out_display_flag) ||
4213 arg->extp->evalue_threshold != DBL_MAX)
4794 arg->extp->evalue_threshold != DBL_MAX)
42144795 {
42154796 GtTimer *timer = NULL;
42164797
42354816 /* create alist here to prevent redundant calculations */
42364817 char *path = NULL;
42374818 bool use_alist = false;
4238 if (apick && pick->a != aidx) continue;
4239
4819 GtKmerPosListEncodeInfo *aencode_info;
4820
4821 if (apick && pick->a != aidx)
4822 {
4823 continue;
4824 }
4825 aencode_info = gt_kmerpos_encode_info_new(arg->kmplt,
4826 arg->aencseq,
4827 arg->spacedseedweight,
4828 aseqranges,
4829 aidx);
42404830 if (arg->use_kmerfile) {
4241 path = gt_diagbandseed_kmer_filename(arg->aencseq, arg->seedweight,
4242 arg->seedlength, true,
4243 anumseqranges, aidx);
4244 }
4245
4831 path = gt_diagbandseed_kmer_filename(arg->aencseq,
4832 arg->spacedseedweight,
4833 arg->seedlength,
4834 true,
4835 anumseqranges,
4836 aidx,
4837 gt_diagbandseed_kmplt(
4838 aencode_info));
4839 }
42464840 if (!arg->use_kmerfile || gt_create_or_update_file(path,arg->aencseq))
42474841 {
42484842 use_alist = true;
42494843 alist = gt_diagbandseed_get_kmers(
42504844 arg->aencseq,
4251 arg->seedweight,
4845 arg->spacedseedweight,
42524846 arg->seedlength,
4847 arg->spaced_seed_spec,
42534848 GT_READMODE_FORWARD,
42544849 gt_sequence_parts_info_start_get(aseqranges,aidx),
42554850 gt_sequence_parts_info_end_get(aseqranges,aidx),
4851 aencode_info,
42564852 arg->debug_kmer,
42574853 arg->verbose,
42584854 0,
42594855 stdout);
4260 if (arg->use_kmerfile) {
4261 had_err = gt_diagbandseed_write_kmers(&alist, path, arg->seedweight,
4856 if (arg->use_kmerfile)
4857 {
4858 had_err = gt_diagbandseed_write_kmers(alist, path,
4859 arg->spacedseedweight,
42624860 arg->seedlength,
42634861 arg->verbose, err);
42644862 }
42764874 /* start algorithm with chosen sequence ranges */
42774875 had_err = gt_diagbandseed_algorithm(
42784876 arg,
4279 use_alist ? &alist : NULL,
4877 use_alist ? alist : NULL,
42804878 stdout,
42814879 arg->aencseq,aseqranges,aidx,
42824880 arg->bencseq,bseqranges,bidx,
43124910 }
43134911 gt_diagbandseed_thread_info_set(tinfo + tidx,
43144912 arg,
4315 use_alist ? &alist : NULL,
4913 use_alist ? alist : NULL,
43164914 stream_tab[tidx],
43174915 arg->aencseq,
43184916 aseqranges,
43444942 }
43454943 gt_diagbandseed_thread_info_set(tinfo,
43464944 arg,
4347 use_alist ? &alist : NULL,
4945 use_alist ? alist : NULL,
43484946 stream_tab[0],
43494947 arg->aencseq,
43504948 aseqranges,
43724970 }
43734971 #endif
43744972 if (use_alist) {
4375 GT_FREEARRAY(&alist, GtDiagbandseedKmerPos);
4376 }
4973 gt_kmerpos_list_delete(alist);
4974 }
4975 gt_kmerpos_encode_info_delete(aencode_info);
43774976 }
43784977 #ifdef GT_THREADS_ENABLED
43794978 if (gt_jobs > 1 && arg->use_kmerfile) {
43844983 combinations[tidx] = gt_array_new(sizeof (GtUwordPair));
43854984 }
43864985 for (aidx = 0; aidx < anumseqranges; aidx++) {
4387 if (apick && pick->a != aidx) continue;
4986 if (apick && pick->a != aidx)
4987 {
4988 continue;
4989 }
43884990 for (bidx = self ? aidx : 0; bidx < bnumseqranges; bidx++) {
43894991 if (!bpick || pick->b == bidx) {
43904992 GtUwordPair comb = {aidx, bidx};
3131 typedef struct GtDiagbandseedExtendParams GtDiagbandseedExtendParams;
3232
3333 typedef enum
34 { /* keep the order consistent with gt_splt_arguments */
35 GT_DIAGBANDSEED_SPLT_STRUCT,
36 GT_DIAGBANDSEED_SPLT_ULONG,
37 GT_DIAGBANDSEED_SPLT_BYTESTRING,
38 GT_DIAGBANDSEED_SPLT_UNDEFINED
39 } GtDiagbandseedPairlisttype;
34 { /* keep the order consistent with gt_base_list_arguments */
35 GT_DIAGBANDSEED_BASE_LIST_STRUCT,
36 GT_DIAGBANDSEED_BASE_LIST_ULONG,
37 GT_DIAGBANDSEED_BASE_LIST_BYTESTRING,
38 GT_DIAGBANDSEED_BASE_LIST_UNDEFINED
39 } GtDiagbandseedBaseListType;
4040
4141 /* Run the whole algorithm. */
4242 int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
5555 bool norev,
5656 bool nofwd,
5757 const GtRange *seedpairdistance,
58 GtDiagbandseedPairlisttype splt,
58 GtDiagbandseedBaseListType splt,
59 GtDiagbandseedBaseListType kmplt,
5960 bool verify,
6061 bool verbose,
6162 bool debug_kmer,
7172
7273 const char *gt_diagbandseed_splt_comment(void);
7374
74 GtDiagbandseedPairlisttype gt_diagbandseed_splt_get(const char *splt_string,
75 GtError *err);
75 const char *gt_diagbandseed_kmplt_comment(void);
76
77 GtDiagbandseedBaseListType gt_diagbandseed_base_list_get(
78 bool with_splt,
79 const char *base_list_string,GtError *err);
7680
7781 typedef struct
7882 {
1717 #include "core/alphabet.h"
1818 #include "core/assert_api.h"
1919 #include "core/chardef.h"
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/seq_iterator_sequence_buffer_api.h"
2222 #include "core/encseq.h"
2323
3232 #include "core/assert_api.h"
3333 #include "core/bitpackstring.h"
3434 #include "match/dataalign.h"
35 #include "core/error.h"
36 #include "core/fa.h"
35 #include "core/error_api.h"
36 #include "core/fa_api.h"
3737 #include "core/log.h"
38 #include "core/minmax.h"
39 #include "core/str.h"
38 #include "core/minmax_api.h"
39 #include "core/str_api.h"
4040 #include "core/unused_api.h"
4141 #include "core/xansi_api.h"
4242 #include "eis-blockcomp-construct.h"
1818
1919 #include <limits.h>
2020
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/option_api.h"
2323
2424 /* #include "core/bitpackstring.h" Not necessary. Stefan */
2121
2222 #include "core/bitpackstring.h"
2323 #include "match/dataalign.h"
24 #include "core/fa.h"
25 #include "core/str.h"
24 #include "core/fa_api.h"
25 #include "core/str_api.h"
2626 #include "core/xansi_api.h"
2727
2828 #include "match/eis-bitpackseqpos.h"
286286 seqLen, mapIntervalLog2));
287287 mapName = gt_str_new_cstr(projectName);
288288 {
289 char buf[1 + 4 + 3 + 2];
289 char buf[1 + 4 + 3 + 3];
290290 snprintf(buf, sizeof (buf), ".%ucxm", (unsigned)mapIntervalLog2);
291291 gt_str_append_cstr(mapName, buf);
292292 if (createMapFile)
1717
1818 #include "core/chardef.h"
1919 #include "core/log.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/xansi_api.h"
2323 #include "match/eis-specialsrank.h"
1414 */
1515
1616 #include <limits.h>
17 #include "core/error.h"
17 #include "core/error_api.h"
1818 #include "core/option_api.h"
1919 #include "match/eis-bwtseq.h"
2020 #include "match/eis-bwtseq-param.h"
1616 #include <string.h>
1717 #include "core/assert_api.h"
1818 #include "match/dataalign.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "core/log.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/undef_api.h"
2323 #include "core/unused_api.h"
2424 #include "core/undef_api.h"
2323 * Representations of Sequences and Full-Text Indexes, 2006)
2424 */
2525
26 #include "core/error.h"
27 #include "core/str.h"
26 #include "core/error_api.h"
27 #include "core/str_api.h"
2828 #include "core/logger.h"
2929 #include "match/eis-encidxseq.h"
3030 #include "match/eis-mrangealphabet.h"
2323 * @author Thomas Jahns <Thomas.Jahns@gmx.net>
2424 */
2525
26 #include "core/error.h"
27 #include "core/str.h"
26 #include "core/error_api.h"
27 #include "core/str_api.h"
2828 #include "match/eis-encidxseq.h"
2929 #include "match/eis-suffixerator-interface.h"
3030 #include "match/eis-suffixarray-interface.h"
1515
1616 #include <stdlib.h>
1717 #include <string.h>
18 #include "core/compat.h"
18 #include "core/compat_api.h"
1919 #include "core/log_api.h"
2020 #include "core/yarandom.h"
2121 #include "match/eis-encidxseq.h"
2525 #include <inttypes.h>
2626
2727 #include "core/bitpackstring.h"
28 #include "core/error.h"
29 #include "core/str.h"
28 #include "core/error_api.h"
29 #include "core/str_api.h"
3030 #include "core/types_api.h"
3131
3232 #include "core/logger.h"
2222 #include "core/chardef.h"
2323 #include "match/dataalign.h"
2424 #include "core/ma_api.h"
25 #include "core/str.h"
25 #include "core/str_api.h"
2626 #include "core/types_api.h"
2727 #include "core/str_array.h"
2828 #include "match/eis-mrangealphabet.h"
2727 */
2828 #include <stdlib.h>
2929
30 #include "core/error.h"
30 #include "core/error_api.h"
3131
3232 #include "match/eis-mrangealphabet.h"
3333
2222 #include <stdlib.h>
2323 #include <string.h>
2424
25 #include "core/error.h"
25 #include "core/error_api.h"
2626 #include "sfx-suffixgetset.h"
2727
2828 /* sequential data source api */
1616 #include <string.h>
1717
1818 #include "core/bsearch.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "core/ma_api.h"
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/xansi_api.h"
2424
2929 */
3030 #include <stdlib.h>
3131
32 #include "core/error.h"
32 #include "core/error_api.h"
3333 #include "core/bitpackstring.h"
3434
3535 #include "match/eis-mrangealphabet.h"
2121 * data, where only one source and multiple consumers exist.
2222 */
2323 #include "core/assert_api.h"
24 #include "core/minmax.h"
24 #include "core/minmax_api.h"
2525 #include "match/eis-seqdatasrc.h"
2626
2727 /** every reader is identified by a unique scalar */
1919 #include "core/assert_api.h"
2020 #include "match/dataalign.h"
2121 #include "core/ma_api.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323
2424 #include "match/eis-specialsrank.h"
2525 #include "match/eis-specialsrank-priv.h"
1616 #include <stdlib.h>
1717
1818 #include "core/chardef.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "match/sarr-def.h"
2222 * eis-sa-common.h for suffix array class objects (type SASeqSrc).
2323 */
2424 #include <stdlib.h>
25 #include "core/error.h"
25 #include "core/error_api.h"
2626 #include "match/sarr-def.h"
2727
2828 #include "match/eis-mrangealphabet.h"
2020 #include <string.h>
2121
2222 #include "match/dataalign.h"
23 #include "core/fa.h"
23 #include "core/fa_api.h"
2424 #include "core/filelengthvalues.h"
2525 #include "core/logger.h"
26 #include "core/minmax.h"
26 #include "core/minmax_api.h"
2727 #include "core/seq_iterator_api.h"
28 #include "core/str.h"
28 #include "core/str_api.h"
2929 #include "core/str_array.h"
3030 #include "core/types_api.h"
3131 #include "core/unused_api.h"
2424 #ifndef EIS_SUFFIXERATOR_INTERFACE_H
2525 #define EIS_SUFFIXERATOR_INTERFACE_H
2626
27 #include "core/error.h"
27 #include "core/error_api.h"
2828 #include "match/sfx-suffixer.h"
2929 #include "match/eis-mrangealphabet.h"
3030 #include "match/eis-seqdatasrc.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/divmodmul.h"
17 #include "core/divmodmul_api.h"
1818 #include "core/encseq_metadata.h"
1919 #include "core/log_api.h"
2020 #include "eis-bwtseq-construct.h"
2424 */
2525
2626 #include <limits.h>
27 #include "core/ma.h"
27 #include "core/ma_api.h"
2828 #include "esa-seqread.h"
2929 /* no include for seqnumrelpos.h */
3030
2727 */
2828
2929 #include <limits.h>
30 #include "core/ma.h"
30 #include "core/ma_api.h"
3131 #include "esa-seqread.h"
3232 /* no include for seqnumrelpos.h */
3333
2525 */
2626
2727 #include <limits.h>
28 #include "core/ma.h"
28 #include "core/ma_api.h"
2929 #include "esa-seqread.h"
3030 /* no include for seqnumrelpos.h */
3131
2525 */
2626
2727 #include <limits.h>
28 #include "core/ma.h"
28 #include "core/ma_api.h"
2929 #include "esa-seqread.h"
3030 /* no include for seqnumrelpos.h */
3131
2929 */
3030
3131 #include <limits.h>
32 #include "core/ma.h"
32 #include "core/ma_api.h"
3333 #include "esa-seqread.h"
3434 /* no include for seqnumrelpos.h */
3535
2525 */
2626
2727 #include <limits.h>
28 #include "core/ma.h"
28 #include "core/ma_api.h"
2929 #include "esa-seqread.h"
3030 /* no include for seqnumrelpos.h */
3131
2323 */
2424
2525 #include <limits.h>
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "esa-seqread.h"
2828 #include "seqnumrelpos.h"
2929
2323 */
2424
2525 #include <limits.h>
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "esa-seqread.h"
2828 #include "seqnumrelpos.h"
2929
2222 */
2323
2424 #include <limits.h>
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "esa-seqread.h"
2727 #include "seqnumrelpos.h"
2828
1616 */
1717
1818 #include <limits.h>
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "esa-bottomup.h"
2121 #include "esa-seqread.h"
2222 #include "esa_visitor.h"
2020 #include <stdio.h>
2121 #include <string.h>
2222
23 #include "core/fa.h"
24 #include "core/fileutils.h"
23 #include "core/fa_api.h"
24 #include "core/fileutils_api.h"
2525 #include "core/array.h"
2626 #include "core/endianess_api.h"
27 #include "core/error.h"
27 #include "core/error_api.h"
2828 #include "core/ma_api.h"
2929 #include "core/format64.h"
3030 #include "core/codetype.h"
4747 (STREAM)->nextfree = 0;\
4848 (STREAM)->bufferedfilespace\
4949 = gt_malloc(sizeof *((STREAM)->bufferedfilespace)\
50 * (FILEBUFFERSIZE));\
50 * (GT_FILEBUFFERSIZE));\
5151 }
5252
5353 static int scanprjfileuintkeysviafileptr(Suffixarray *suffixarray,
1616
1717 #include "core/arraydef.h"
1818 #include "core/unused_api.h"
19 #include "core/minmax.h"
19 #include "core/minmax_api.h"
2020 #include "core/arraydef.h"
2121 #include "esa-seqread.h"
2222 #include "esa-lcpintervals.h"
1515 */
1616
1717 #include "core/chardef.h"
18 #include "core/divmodmul.h"
19 #include "core/minmax.h"
18 #include "core/divmodmul_api.h"
19 #include "core/minmax_api.h"
2020 #include "core/seq_iterator_sequence_buffer_api.h"
2121 #include "core/types_api.h"
2222 #include "core/timer_api.h"
1717 #include <stdio.h>
1818 #include <string.h>
1919 #include <inttypes.h>
20 #include "core/error.h"
21 #include "core/str.h"
22 #include "core/ma.h"
20 #include "core/error_api.h"
21 #include "core/str_api.h"
22 #include "core/ma_api.h"
2323 #include "core/array.h"
2424 #include "core/types_api.h"
2525 #include "core/logger.h"
1717 #ifndef ESA_SCANPRJ_H
1818 #define ESA_SCANPRJ_H
1919 #include "core/array.h"
20 #include "core/error.h"
21 #include "core/str.h"
20 #include "core/error_api.h"
21 #include "core/str_api.h"
2222 #include "core/logger.h"
2323
2424 #define GT_SCANNEDPRJKEY_ADD(VALNAME,VAL,FORCEREAD)\
1717 #ifndef ESA_SEQREAD_H
1818 #define ESA_SEQREAD_H
1919 #include <stdbool.h>
20 #include "core/str.h"
21 #include "core/error.h"
20 #include "core/str_api.h"
21 #include "core/error_api.h"
2222 #include "core/encseq.h"
2323 #include "sarr-def.h"
2424 #include "lcpoverflow.h"
5656 buf->nextfree\
5757 = (unsigned int) fread(buf->bufferedfilespace,\
5858 sizeof (*buf->bufferedfilespace),\
59 (size_t) FILEBUFFERSIZE,\
59 (size_t) GT_FILEBUFFERSIZE,\
6060 buf->fp);\
6161 if (ferror(buf->fp))\
6262 {\
1515 */
1616
1717 #include "core/chardef.h"
18 #include "core/divmodmul.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/types_api.h"
2020
2121 #include "esa-splititv.h"
1515 */
1616
1717 #include "core/chardef.h"
18 #include "core/divmodmul.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/types_api.h"
2020
2121 #include "esa-splititv.h"
1818 #include <stdlib.h>
1919 #include "core/assert_api.h"
2020 #include "core/class_alloc.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "match/esa_visitor_rep.h"
2424
1717 #include "core/intbits.h"
1818 #include "core/types_api.h"
1919 #include "core/codetype.h"
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/encseq.h"
2222 #include "core/log_api.h"
2323 #include "kmercodes.h"
1515 */
1616
1717 #include "core/arraydef.h"
18 #include "core/divmodmul.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/log_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/unused_api.h"
2222 #include "firstcodes-cache.h"
2323 #include "firstcodes-spacelog.h"
1717 #include "core/intbits.h"
1818 #include "core/types_api.h"
1919 #include "core/codetype.h"
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/encseq.h"
2222 #include "kmercodes.h"
2323 #include "firstcodes-buf.h"
1616
1717 #include <stdio.h>
1818
19 #include "core/fa.h"
19 #include "core/fa_api.h"
2020 #include "core/str_api.h"
2121 #include "core/xansi_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/log.h"
2424 #include "firstcodes-psbuf.h"
2525 #include "firstcodes-spacelog.h"
1717 #include "core/intbits.h"
1818 #include "core/types_api.h"
1919 #include "core/codetype.h"
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/encseq.h"
2222 #include "core/log_api.h"
2323 #include "kmercodes.h"
1616
1717 #include <string.h>
1818
19 #include "core/fa.h"
20 #include "core/ma.h"
19 #include "core/fa_api.h"
20 #include "core/ma_api.h"
2121 #include "core/log_api.h"
2222 #include "core/spacecalc.h"
2323 #include "core/spacepeak.h"
1515 */
1616
1717 #include "core/xansi_api.h"
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "core/assert_api.h"
20 #include "core/divmodmul.h"
21 #include "core/ma.h"
20 #include "core/divmodmul_api.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
2323 #ifdef SKDEBUG
2424 #include "core/disc_distri_api.h"
1515 */
1616
1717 #include <math.h>
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "core/arraydef.h"
2020 #include "core/codetype.h"
2121 #include "core/encseq.h"
2828 #include "core/spacepeak.h"
2929 #include "core/undef_api.h"
3030 #include "core/unused_api.h"
31 #include "core/minmax.h"
31 #include "core/minmax_api.h"
3232 #ifdef GT_THREADS_ENABLED
3333 #include "core/thread_api.h"
3434 #endif
1616
1717 #include <math.h>
1818 #include "core/chardef.h"
19 #include "core/divmodmul.h"
19 #include "core/divmodmul_api.h"
2020 #include "core/unused_api.h"
2121 #include "fmindex.h"
2222
1515 */
1616
1717 #include <math.h>
18 #include "core/divmodmul.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/mathsupport.h"
2020 #include "core/safecast-gen.h"
2121 #include "fmindex.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/divmodmul.h"
17 #include "core/divmodmul_api.h"
1818
1919 #include "fmindex.h"
2020 #include "fmi-locate.h"
1717 #include <stdio.h>
1818 #include <errno.h>
1919 #include <stdbool.h>
20 #include "core/error.h"
21 #include "core/fileutils.h"
22 #include "core/fa.h"
20 #include "core/error_api.h"
21 #include "core/fileutils_api.h"
22 #include "core/fa_api.h"
2323 #include "core/array.h"
24 #include "core/str.h"
24 #include "core/str_api.h"
2525 #include "core/alphabet.h"
2626 #include "core/logger.h"
2727 #include "esa-scanprj.h"
1515 */
1616
1717 #include "core/basename_api.h"
18 #include "core/divmodmul.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/option_api.h"
2020 #include "core/versionfunc.h"
2121 #include "core/logger.h"
1515 */
1616
1717 #include <math.h>
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "fmindex.h"
2020
2121 #include "fmi-mapspec.h"
1616
1717 #include <string.h>
1818 #include <inttypes.h>
19 #include "core/fa.h"
19 #include "core/fa_api.h"
2020 #include "core/alphabet.h"
2121 #include "core/chardef.h"
22 #include "core/divmodmul.h"
22 #include "core/divmodmul_api.h"
2323 #include "core/encseq_metadata.h"
24 #include "core/error.h"
25 #include "core/str.h"
24 #include "core/error_api.h"
25 #include "core/str_api.h"
2626 #include "core/xansi_api.h"
2727 #include "core/ma_api.h"
2828
55 #include <ctype.h>
66 #include "core/assert_api.h"
77 #include "core/arraydef.h"
8 #include "core/minmax.h"
8 #include "core/minmax_api.h"
99 #include "core/chardef.h"
10 #include "core/divmodmul.h"
10 #include "core/divmodmul_api.h"
1111 #include "core/readmode.h"
1212 #include "match/ft-polish.h"
1313 #include "match/ft-eoplist.h"
66 #include "distribution.h"
77 #endif
88 #include "core/assert_api.h"
9 #include "core/divmodmul.h"
9 #include "core/divmodmul_api.h"
1010 #include "core/ma_api.h"
1111 #include "core/unused_api.h"
1212 #include "match/ft-front-generation.h"
55 #include <limits.h>
66 #include "core/assert_api.h"
77 #include "core/unused_api.h"
8 #include "core/divmodmul.h"
8 #include "core/divmodmul_api.h"
99 #include "core/chardef.h"
10 #include "core/divmodmul.h"
10 #include "core/divmodmul_api.h"
1111 #include "core/intbits.h"
12 #include "core/minmax.h"
12 #include "core/minmax_api.h"
1313 #include "core/encseq.h"
1414 #include "core/bitpackstringsimpleop.h"
1515 #include "match/extend-offset.h"
33 #include <stdbool.h>
44 #include <limits.h>
55 #include "core/assert_api.h"
6 #include "core/minmax.h"
6 #include "core/minmax_api.h"
77 #include "core/types_api.h"
88 #include "core/ma_api.h"
99 #include "match/ft-polish.h"
00 #include "core/unused_api.h"
11 #include "core/assert_api.h"
22 #include "core/arraydef.h"
3 #include "core/minmax.h"
3 #include "core/minmax_api.h"
44 #include "match/ft-trimstat.h"
55
66 struct GtFtTrimstat
2020 #include <stdbool.h>
2121
2222 #include "core/encseq_options.h"
23 #include "core/error.h"
23 #include "core/error_api.h"
2424 #include "core/option_api.h"
2525 #include "core/str_array.h"
2626 #include "match/index_options.h"
1717 #ifndef GFA_WRITER_H
1818 #define GFA_WRITER_H
1919
20 #include "core/file.h"
20 #include "core/file_api.h"
2121 #include "core/encseq.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323
2424 /* The <GtGfaWriter> class allows one to write string graph information in
2525 the GFA format of SGA (Simpsons and Durbin, 2012). */
2020 #include <stdlib.h>
2121 #include <string.h>
2222
23 #include "core/fileutils.h"
24 #include "core/fa.h"
23 #include "core/fileutils_api.h"
24 #include "core/fa_api.h"
2525 #include "core/assert_api.h"
26 #include "core/divmodmul.h"
27 #include "core/error.h"
28 #include "core/fasta.h"
29 #include "core/fileutils.h"
26 #include "core/divmodmul_api.h"
27 #include "core/error_api.h"
28 #include "core/fasta_api.h"
29 #include "core/fileutils_api.h"
3030 #include "core/format64.h"
3131 #include "core/ma_api.h"
3232 #include "core/progressbar.h"
1919 #include <stdbool.h>
2020 #include "core/str_api.h"
2121 #include "core/fileutils_api.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/logger.h"
2424
2525 int gt_extractkeysfromfastafile(bool verbose,
1818 #include <stdio.h>
1919 #include "core/chardef.h"
2020 #include "core/ma_api.h"
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/types_api.h"
2323 #include "greedyedist.h"
2424
1818 #include <string.h>
1919 #include <stdbool.h>
2020 #include "core/alphabet.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/seq_iterator_sequence_buffer_api.h"
2323 #include "core/unused_api.h"
2424 #include "core/defined-types.h"
1919
2020 #include <stdbool.h>
2121 #include "core/alphabet.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/types_api.h"
2424 #include "core/str_array.h"
2525 #include "core/defined-types.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/versionfunc.h"
2020 #include "match/hlk-version.h"
2121
1616
1717 #include "core/intbits.h"
1818 #include "core/log_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/xansi_api.h"
2121 #include "match/hplstore.h"
2222
1616
1717 #include <string.h>
1818 #include "core/chardef.h"
19 #include "core/divmodmul.h"
19 #include "core/divmodmul_api.h"
2020 #include "core/types_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/defined-types.h"
2020
2121 #include <stdbool.h>
2222 #include "core/str_array.h"
23 #include "core/str.h"
23 #include "core/str_api.h"
2424 #include "core/option_api.h"
2525 #include "core/error_api.h"
2626
2222
2323 #include "core/basename_api.h"
2424 #include "core/encseq_options.h"
25 #include "core/error.h"
25 #include "core/error_api.h"
2626 #include "core/grep_api.h"
2727 #include "core/logger.h"
2828 #include "core/ma_api.h"
2929 #include "core/option_api.h"
3030 #include "core/spacecalc.h"
31 #include "core/str.h"
31 #include "core/str_api.h"
3232 #include "core/str_array.h"
3333 #include "core/unused_api.h"
3434 #include "core/versionfunc.h"
1717 #include <float.h>
1818 #include <math.h>
1919 #include "core/unused_api.h"
20 #include "core/ensure.h"
21 #include "core/error.h"
22 #include "core/ma.h"
23 #include "core/minmax.h"
20 #include "core/ensure_api.h"
21 #include "core/error_api.h"
22 #include "core/ma_api.h"
23 #include "core/minmax_api.h"
2424 #include "core/types_api.h"
2525 #include "core/encseq.h"
2626 #include "core/radix_sort.h"
1818 #define KMERCODES_H
1919 #include "core/intbits.h"
2020 #include "core/codetype.h"
21 #include "core/divmodmul.h"
21 #include "core/divmodmul_api.h"
2222
2323 static inline GtCodetype gt_kmercode_at_position(
2424 const GtTwobitencoding *twobitencoding,
1717 #include "core/assert_api.h"
1818 #include "core/arraydef.h"
1919 #include "core/chardef.h"
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/format64.h"
2222 #include "core/intbits.h"
2323 #include "core/encseq.h"
1818 #include <stdio.h>
1919
2020 #include "core/array2dim_api.h"
21 #include "core/divmodmul.h"
21 #include "core/divmodmul_api.h"
2222 #include "core/log_api.h"
2323 #include "core/logger.h"
2424 #include "core/stack-inlined.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
18 #include "core/divmodmul.h"
17 #include "core/fa_api.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/xansi_api.h"
2020 #include "core/fileutils_api.h"
2121 #include "core/chardef.h"
1717 #ifndef PCKBUCKET_H
1818 #define PCKBUCKET_H
1919
20 #include "core/str.h"
21 #include "core/error.h"
20 #include "core/str_api.h"
21 #include "core/error_api.h"
2222 #include "core/codetype.h"
2323 #include "eis-voiditf.h"
2424 #include "splititv.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/divmodmul.h"
17 #include "core/divmodmul_api.h"
1818 #include "eis-voiditf.h"
1919 #include "pckdfs.h"
2020
00 #include <stdbool.h>
1 #include "core/minmax.h"
2 #include "core/divmodmul.h"
1 #include "core/minmax_api.h"
2 #include "core/divmodmul_api.h"
33 #include "core/stack-inlined.h"
44
55 /*
00 #include <stdbool.h>
1 #include "core/minmax.h"
2 #include "core/divmodmul.h"
1 #include "core/minmax_api.h"
2 #include "core/divmodmul_api.h"
33 #include "core/stack-inlined.h"
44
55 /*
1717 #include <float.h>
1818 #include "core/ma_api.h"
1919 #include "core/types_api.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/encseq_metadata.h"
2222 #include "revcompl.h"
2323 #include "seed-extend.h"
2020 #include <stdio.h>
2121 #include <stdlib.h>
2222 #include "core/assert_api.h"
23 #include "core/divmodmul.h"
23 #include "core/divmodmul_api.h"
2424
2525 typedef struct
2626 {
1818 #include <limits.h>
1919 #include <string.h>
2020 #include "core/intbits.h"
21 #include "core/ma.h"
22 #include "core/minmax.h"
21 #include "core/ma_api.h"
22 #include "core/minmax_api.h"
2323 #include "core/stack-inlined.h"
2424 #include "core/qsort-ulong.h"
2525 #include "sfx-lcpvalues.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
17 #include "core/fa_api.h"
1818 #include "core/log_api.h"
1919 #include "core/xansi_api.h"
2020 #include "match/randomcodes-correct.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
17 #include "core/fa_api.h"
1818 #include "core/log_api.h"
1919 #include "core/xansi_api.h"
2020 #include "match/randomcodes-find-seldom.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
17 #include "core/fa_api.h"
1818 #include "core/log_api.h"
1919 #include "core/mathsupport.h"
2020 #include "core/xansi_api.h"
1818 #include "core/intbits.h"
1919 #include "core/types_api.h"
2020 #include "core/codetype.h"
21 #include "core/divmodmul.h"
21 #include "core/divmodmul_api.h"
2222 #include "core/encseq.h"
2323 #include "kmercodes.h"
2424 #include "firstcodes-buf.h"
1515 */
1616
1717 #include "core/xansi_api.h"
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "core/assert_api.h"
20 #include "core/divmodmul.h"
21 #include "core/ma.h"
20 #include "core/divmodmul_api.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
2323 #ifdef SKDEBUG
2424 #include "core/disc_distri_api.h"
1616 */
1717
1818 #include <math.h>
19 #include "core/fa.h"
19 #include "core/fa_api.h"
2020 #include "core/arraydef.h"
2121 #include "core/codetype.h"
2222 #include "core/encseq.h"
2929 #include "core/spacepeak.h"
3030 #include "core/undef_api.h"
3131 #include "core/unused_api.h"
32 #include "core/minmax.h"
32 #include "core/minmax_api.h"
3333 #ifdef GT_THREADS_ENABLED
3434 #include "core/thread_api.h"
3535 #endif
1616
1717 #include <stdio.h>
1818 #include <limits.h>
19 #include "core/fa.h"
20 #include "core/fileutils.h"
19 #include "core/fa_api.h"
20 #include "core/fileutils_api.h"
2121 #include "core/log.h"
2222 #include "core/xansi_api.h"
2323 #include "match/rdj-cntlist.h"
1818 #include <errno.h>
1919 #include <string.h>
2020
21 #include "core/fa.h"
21 #include "core/fa_api.h"
2222 #include "core/error_api.h"
2323 #include "core/compact_ulong_store.h"
2424 #include "core/encseq.h"
2525 #include "core/filelengthvalues.h"
26 #include "core/fileutils.h"
26 #include "core/fileutils_api.h"
2727 #include "core/intbits.h"
2828 #include "core/log.h"
29 #include "core/ma.h"
29 #include "core/ma_api.h"
3030 #include "core/mathsupport.h"
31 #include "core/minmax.h"
31 #include "core/minmax_api.h"
3232 #include "core/unused_api.h"
3333 #include "core/stack-inlined.h"
3434 #include "core/str_array_api.h"
1818 #define RDJ_CONTFINDER_H
1919
2020 #include <stdint.h>
21 #include "core/file.h"
21 #include "core/file_api.h"
2222 #include "match/reads2twobit.h"
2323
2424 typedef struct GtContfinder GtContfinder;
1515 */
1616
1717 #include "core/arraydef.h"
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "core/fasta_separator.h"
2020 #include "core/log_api.h"
2121 #include "core/xansi_api.h"
22 #include "core/str.h"
22 #include "core/str_api.h"
2323 #include "extended/assembly_stats_calculator.h"
2424 #include "match/rdj-contigs-writer.h"
2525 #include "match/rdj-filesuf-def.h"
1717 #ifndef RDJ_CONTIGPATHS_H
1818 #define RDJ_CONTIGPATHS_H
1919
20 #include "core/file.h"
20 #include "core/file_api.h"
2121 #include "core/encseq.h"
2222 #include "core/logger.h"
2323 #include "core/error_api.h"
1717 #include "core/array_api.h"
1818 #include "core/intbits.h"
1919 #include "core/log_api.h"
20 #include "core/ma.h"
21 #include "core/minmax.h"
20 #include "core/ma_api.h"
21 #include "core/minmax_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/undef_api.h"
2424 #include "core/xansi_api.h"
1515 */
1616
1717 #include "core/arraydef.h"
18 #include "core/fasta.h"
18 #include "core/fasta_api.h"
1919 #include "core/log_api.h"
20 #include "core/ma.h"
21 #include "core/str.h"
20 #include "core/ma_api.h"
21 #include "core/str_api.h"
2222 #include "core/xansi_api.h"
2323 #include "extended/assembly_stats_calculator.h"
2424 #include "match/rdj-contig-info.h"
1818 #define RDJ_CONTIGS_WRITER_H
1919
2020 #include "core/encseq.h"
21 #include "core/file.h"
21 #include "core/file_api.h"
2222 #include "core/logger.h"
2323
2424 typedef struct GtContigsWriter GtContigsWriter;
1818 #define RDJ_ENSURE_OUTPUT_H
1919
2020 #include <string.h>
21 #include "core/ensure.h"
22 #include "core/fa.h"
21 #include "core/ensure_api.h"
22 #include "core/fa_api.h"
2323 #include "core/xansi_api.h"
2424
2525 /* defines macros to make easier to test output to a temporary file */
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
17 #include "core/fa_api.h"
1818 #include "core/unused_api.h"
1919 #include "core/undef_api.h"
2020 #include "core/log.h"
1515 */
1616
1717 #include <string.h> /* memcmp */
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/assert_api.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "match/rdj-ovlfind-bf.h"
2222 /* for unit test: */
2323 #include "core/array_api.h"
24 #include "core/ensure.h"
24 #include "core/ensure_api.h"
2525
2626 static inline bool contfind_bf(const char *a, GtUword alen,
2727 const char *b, GtUword blen)
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
18 #include "core/minmax.h"
17 #include "core/ma_api.h"
18 #include "core/minmax_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/log.h"
2121 #include "match/rdj-ovlfind-dp.h"
2222 /* unit test: */
2323 #include <string.h>
24 #include "core/ensure.h"
24 #include "core/ensure_api.h"
2525 #include "core/array_api.h"
2626
2727 typedef struct
1919 #include "match/esa-seqread.h"
2020 #include "core/encseq.h"
2121 #include "core/progressbar.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/unused_api.h"
2424 #include "core/intbits.h"
2525 #include "match/esa-splititv.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
19 #include "core/minmax.h"
18 #include "core/ma_api.h"
19 #include "core/minmax_api.h"
2020 #include "core/assert_api.h"
2121 #include "match/rdj-ovlfind-kmp.h"
2222 /* for unit test: */
2323 #include "core/array_api.h"
24 #include "core/ensure.h"
24 #include "core/ensure_api.h"
2525
2626 gt_kmp_t* gt_kmp_preproc(const char *seq, GtUword seqlen)
2727 {
2929 */
3030
3131 #include <stdint.h>
32 #include "core/error.h"
32 #include "core/error_api.h"
3333
3434 typedef uint16_t gt_kmp_t;
3535 #define GT_KMP_MAX UINT16_MAX
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/encseq.h"
1919 #include "core/progressbar.h"
2020 #include "core/unused_api.h"
2626 #include "match/rdj-pairwise.h"
2727 /* unit test: */
2828 #include "match/rdj-ensure-output.h"
29 #include "core/fasta.h"
29 #include "core/fasta_api.h"
3030
3131 struct Read {
3232 char* seq;
1616
1717 #include "core/arraydef.h"
1818 #include "core/disc_distri_api.h"
19 #include "core/fa.h"
20 #include "core/ma.h"
19 #include "core/fa_api.h"
20 #include "core/ma_api.h"
2121 #include "core/intbits.h"
2222 #include "core/log_api.h"
2323 #include "core/spacecalc.h"
1818 #include <string.h>
1919 #include <stdint.h>
2020 #include <limits.h>
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/assert_api.h"
23 #include "core/file.h"
23 #include "core/file_api.h"
2424 #include "core/log_api.h"
2525 #include "core/parseutils.h"
2626 #include "core/splitter.h"
27 #include "core/ensure.h"
28 #include "core/minmax.h"
29 #include "core/ma.h"
27 #include "core/ensure_api.h"
28 #include "core/minmax_api.h"
29 #include "core/ma_api.h"
3030 #include "core/unused_api.h"
3131 #include "match/rdj-spmlist.h"
3232 /* unit test: */
1818 #include "match/rdj-spmproc.h"
1919 /* for unit test: */
2020 #include "core/unused_api.h"
21 #include "core/ensure.h"
21 #include "core/ensure_api.h"
2222
2323 void gt_spmproc_a_e(GtUword suffix_seqnum, GtUword prefix_seqnum,
2424 GtUword suffix_length, GT_UNUSED GtUword prefix_length,
104104 skipped = true;\
105105 d.out.e.proc = outproc;\
106106 d.out.e.data = &skipped;\
107 d.skipped_counter = 0;\
107108 gt_spmproc_skip((SN), (PN), 100UL, false, true, &d);\
108109 if (EXP) gt_ensure(skipped);\
109110 else gt_ensure(!skipped);\
5555 and calls the Spmproc outproc if the bit for both seqnums is not set.
5656 The void* data must be of type GtSpmprocSkipData.
5757 */
58
5958 typedef struct {
6059 GtBitsequence *to_skip;
6160 GtSpmprocXWithData out;
1919 #include "core/array_api.h"
2020 #include "core/arraydef.h"
2121 #include "core/disc_distri_api.h"
22 #include "core/ensure.h"
23 #include "core/fasta.h"
24 #include "core/fileutils.h"
22 #include "core/ensure_api.h"
23 #include "core/fasta_api.h"
24 #include "core/fileutils_api.h"
2525 #include "core/format64.h"
2626 #include "core/hashmap-generic.h"
2727 #include "core/log.h"
28 #include "core/ma.h"
28 #include "core/ma_api.h"
2929 #include "core/progressbar.h"
3030 #include "core/undef_api.h"
3131 #include "core/unused_api.h"
738738 skipdata.out.e.proc = gt_spmproc_strgraph_add;
739739 skipdata.to_skip = contained;
740740 skipdata.out.e.data = strgraph;
741 skipdata.skipped_counter = 0;
741742 }
742743 strgraph->load_self_spm = load_self_spm;
743744 for (i = 0; i < nspmfiles; i++)
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/fa.h"
18 #include "core/ma.h"
17 #include "core/fa_api.h"
18 #include "core/ma_api.h"
1919 #include "match/rdj-twobitenc-editor.h"
2020
2121 struct GtTwobitencEditor
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/versionfunc.h"
2020 #include "match/rdj-version.h"
2121
2121 #include "core/array.h"
2222 #include "core/basename_api.h"
2323 #include "core/encseq.h"
24 #include "core/fa.h"
25 #include "core/fileutils.h"
24 #include "core/fa_api.h"
25 #include "core/fileutils_api.h"
2626 #include "core/filelengthvalues.h"
2727 #include "core/intbits.h"
2828 #include "core/log_api.h"
29 #include "core/minmax.h"
29 #include "core/minmax_api.h"
3030 #include "core/parseutils_api.h"
3131 #include "core/qsort_r_api.h"
3232 #include "core/splitter_api.h"
1919
2020 #include "core/fptr_api.h"
2121 #include "core/intbits.h"
22 #include "core/str.h"
22 #include "core/str_api.h"
2323
2424 #define GT_READS2TWOBIT_LIBSPECSEP ':'
2525 #define GT_READS2TWOBIT_INSERTSEP ','
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
18 #include "core/file.h"
17 #include "core/ma_api.h"
18 #include "core/file_api.h"
1919 #include "core/undef_api.h"
2020 #include "core/xansi_api.h"
2121 #include "match/reads_libraries_table.h"
4444 SARR_DESTAB |\
4545 SARR_SSPTAB)
4646
47 DECLAREBufferedfiletype(GtUword);
48 DECLAREREADFUNCTION(GtUword);
49
5047 #if defined (_LP64) || defined (_WIN64)
51 DECLAREBufferedfiletype(uint32_t);
52 DECLAREREADFUNCTION(uint32_t);
48 GT_DECLAREBufferedfiletype(uint32_t);
49 GT_DECLAREREADFUNCTION(uint32_t);
5350 #endif
5451
55 DECLAREBufferedfiletype(GtUchar);
56 DECLAREREADFUNCTION(GtUchar);
52 GT_DECLAREBufferedfiletype(GtUchar);
53 GT_DECLAREREADFUNCTION(GtUchar);
5754
58 DECLAREBufferedfiletype(Largelcpvalue);
59 DECLAREREADFUNCTION(Largelcpvalue);
55 GT_DECLAREBufferedfiletype(Largelcpvalue);
56 GT_DECLAREREADFUNCTION(Largelcpvalue);
6057
6158 typedef GtUword ESASuffixptr;
6259
1515 */
1616
1717 #include <float.h>
18 #include "core/minmax.h"
18 #include "core/minmax_api.h"
1919 #include "match/querymatch.h"
2020 #include "match/xdrop.h"
2121 #include "match/ft-front-prune.h"
2121 #include "core/chardef.h"
2222 #include "core/encseq.h"
2323 #include "core/ma_api.h"
24 #include "core/minmax.h"
24 #include "core/minmax_api.h"
2525 #include "core/types_api.h"
2626 #include "match/seqabstract.h"
2727 #include "match/extend-offset.h"
1515 */
1616
1717 #include "core/encseq_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "seqnumrelpos.h"
2020
2121 struct GtSeqnumrelpos
1818 #include <stdio.h>
1919 #include <math.h>
2020 #include <inttypes.h>
21 #include "core/error.h"
22 #include "core/minmax.h"
21 #include "core/error_api.h"
22 #include "core/minmax_api.h"
2323 #include "core/codetype.h"
2424 #include "core/logger.h"
2525 #include "bcktab.h"
1818 #include <stdio.h>
1919 #include "core/assert_api.h"
2020 #include "core/chardef.h"
21 #include "core/divmodmul.h"
22 #include "core/minmax.h"
21 #include "core/divmodmul_api.h"
22 #include "core/minmax_api.h"
2323 #include "core/arraydef.h"
2424 #include "core/unused_api.h"
2525 #include "core/types_api.h"
1818 #define SFX_BENTSEDG_H
1919 #include <stdio.h>
2020 #include "core/error_api.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/codetype.h"
2323 #include "core/logger_api.h"
2424 #include "core/encseq.h"
1616
1717 #include "core/unused_api.h"
1818 #include "core/arraydef.h"
19 #include "core/divmodmul.h"
20 #include "core/minmax.h"
19 #include "core/divmodmul_api.h"
20 #include "core/minmax_api.h"
2121 #include "core/encseq.h"
2222 #include "core/arraydef.h"
2323
5757 #include "core/arraydef.h"
5858 #include "core/assert_api.h"
5959 #include "core/error_api.h"
60 #include "core/divmodmul.h"
60 #include "core/divmodmul_api.h"
6161 #include "core/ma_api.h"
62 #include "core/minmax.h"
62 #include "core/minmax_api.h"
6363 #include "core/mathsupport.h"
6464 #include "core/unused_api.h"
6565 #include "core/intbits.h"
1616
1717 #include "core/arraydef.h"
1818 #include "core/disc_distri_api.h"
19 #include "core/fa.h"
20 #include "core/minmax.h"
19 #include "core/fa_api.h"
20 #include "core/minmax_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/xansi_api.h"
2323 #include "extended/rmq.h"
1818 #include "core/chardef.h"
1919 #include "core/ma_api.h"
2020 #include "core/encseq.h"
21 #include "core/range.h"
21 #include "core/range_api.h"
2222 #include "core/mathsupport.h"
2323 #include "core/logger.h"
24 #include "core/minmax.h"
24 #include "core/minmax_api.h"
2525 #include "core/compact_ulong_store.h"
2626 #include "esa-seqread.h"
2727 #include "sarr-def.h"
2323 #include "core/alphabet.h"
2424 #include "core/assert_api.h"
2525 #include "core/chardef.h"
26 #include "core/divmodmul.h"
26 #include "core/divmodmul_api.h"
2727 #include "core/encseq.h"
2828 #include "core/error_api.h"
2929 #include "core/ma_api.h"
1717 #include <errno.h>
1818 #include <unistd.h>
1919
20 #include "core/compat.h"
20 #include "core/compat_api.h"
2121 #include "core/xposix.h"
2222 #include "core/xansi_api.h"
23 #include "core/fa.h"
23 #include "core/fa_api.h"
2424 #include "core/intbits.h"
2525 #include "core/log.h"
2626 #include "sfx-maprange.h"
1717 #ifndef SFX_NEXTCHAR_H
1818 #define SFX_NEXTCHAR_H
1919
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121
2222 #define ADDNEXTCHAR(CODE,CC,NUMOFCHARS)\
2323 if ((NUMOFCHARS) == GT_DNAALPHASIZE)\
1818 #include <string.h>
1919 #include <inttypes.h>
2020 #include "core/basename_api.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/logger.h"
2323 #include "core/ma_api.h"
2424 #include "core/option_api.h"
2525 #include "core/readmode.h"
2626 #include "core/spacecalc.h"
27 #include "core/str.h"
27 #include "core/str_api.h"
28 #include "core/thread_api.h"
2829 #include "core/unused_api.h"
2930 #include "core/versionfunc.h"
3031 #include "match/sfx-opt.h"
113114 basenameptr = gt_basename(gt_str_get(so->inputindex));
114115 gt_str_set(so->indexname, basenameptr);
115116 gt_free(basenameptr);
117 }
118
119 if (oprval == GT_OPTION_PARSER_OK &&
120 gt_jobs > 1 && gt_index_options_outlcptab_value(so->idxopts)) {
121 /* LCP table generation is not implemented in multithreaded
122 operation */
123 gt_error_set(err, "option -lcp cannot be used when using >1 threads");
124 oprval = GT_OPTION_PARSER_ERROR;
116125 }
117126
118127 gt_option_parser_delete(op);
1919 #include <stdbool.h>
2020 #include <limits.h>
2121 #include "core/endianess_api.h"
22 #include "core/fa.h"
22 #include "core/fa_api.h"
2323 #include "core/filelengthvalues.h"
2424 #include "core/str_array.h"
25 #include "core/str.h"
25 #include "core/str_api.h"
2626 #include "core/unused_api.h"
2727 #include "core/defined-types.h"
2828 #include "core/format64.h"
2424 #include "core/codetype.h"
2525 #include "core/encseq.h"
2626 #include "core/encseq_metadata.h"
27 #include "core/fa.h"
27 #include "core/fa_api.h"
2828 #include "core/logger.h"
2929 #include "core/readmode.h"
3030 #include "core/showtime.h"
1717 #ifndef SFX_RUN_H
1818 #define SFX_RUN_H
1919 #include <stdbool.h>
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/logger.h"
2222 #include "match/sfx-opt.h"
2323 #include "match/genomediff_opt.h"
1515 */
1616
1717 #include <limits.h>
18 #include "core/minmax.h"
18 #include "core/minmax_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/timer_api.h"
2121 #include "core/mathsupport.h"
1717 #include <stdint.h>
1818 #include "core/intbits.h"
1919 #include "core/stack-inlined.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/assert_api.h"
2222 #include "sfx-lcpvalues.h"
2323 #include "sfx-shortreadsort.h"
2929 #include "core/error_api.h"
3030 #include "core/unused_api.h"
3131 #include "core/progressbar.h"
32 #include "core/minmax.h"
33 #include "core/fa.h"
32 #include "core/minmax_api.h"
33 #include "core/fa_api.h"
3434 #include "core/timer_api.h"
3535 #include "core/encseq.h"
3636 #include "core/safecast-gen.h"
3737 #include "core/log_api.h"
3838 #include "core/mathsupport.h"
3939 #include "core/spacecalc.h"
40 #include "core/divmodmul.h"
40 #include "core/divmodmul_api.h"
4141 #include "core/format64.h"
42 #include "core/fileutils.h"
42 #include "core/fileutils_api.h"
4343 #ifdef GT_THREADS_ENABLED
4444 #include "core/thread_api.h"
4545 #endif
941941 }
942942 }
943943
944 void getencseqkmers_twobitencoding_slice(const GtEncseq *encseq,
944 void gt_getencseqkmers_twobitencoding_slice(const GtEncseq *encseq,
945945 GtReadmode readmode,
946946 unsigned int kmersize,
947947 unsigned int upperkmersize,
10531053 GtUword),
10541054 void *processkmerspecialinfo)
10551055 {
1056 getencseqkmers_twobitencoding_slice(encseq,
1057 readmode,
1058 kmersize,
1059 upperkmersize,
1060 onlyfirst,
1061 processkmercode,
1062 processkmercodeinfo,
1063 processkmerspecial,
1064 processkmerspecialinfo,
1065 0,
1066 gt_encseq_total_length(encseq));
1056 gt_getencseqkmers_twobitencoding_slice(encseq,
1057 readmode,
1058 kmersize,
1059 upperkmersize,
1060 onlyfirst,
1061 processkmercode,
1062 processkmercodeinfo,
1063 processkmerspecial,
1064 processkmerspecialinfo,
1065 0,
1066 gt_encseq_total_length(encseq));
10671067 }
10681068
10691069 static void gt_updateleftborderforkmer(Sfxiterator *sfi,
1818 #define SFX_SUFFIXER_H
1919
2020 #include "core/encseq_api.h"
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/logger.h"
2323 #include "core/readmode.h"
2424 #include "core/timer_api.h"
8989 GtUword),
9090 void *processkmerspecialinfo);
9191
92 void getencseqkmers_twobitencoding_slice(const GtEncseq *encseq,
92 void gt_getencseqkmers_twobitencoding_slice(const GtEncseq *encseq,
9393 GtReadmode readmode,
9494 unsigned int kmersize,
9595 unsigned int upperkmersize,
2222 #include "core/logger_api.h"
2323 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
25 #include "core/safearith.h"
25 #include "core/safearith_api.h"
2626 #include "core/unused_api.h"
2727 #include "core/xansi_api.h"
2828 #include "core/readmode.h"
1818 #include <stdlib.h>
1919 #include "core/unused_api.h"
2020 #include "core/chardef.h"
21 #include "core/minmax.h"
21 #include "core/minmax_api.h"
2222 #include "core/encseq.h"
2323 #include "sfx-suftaborder.h"
2424 #include "sfx-suffixgetset.h"
1919
2020 #include "core/array2dim_api.h"
2121 #include "core/chardef.h"
22 #include "core/divmodmul.h"
22 #include "core/divmodmul_api.h"
2323 #include "core/format64.h"
2424 #include "core/log_api.h"
2525 #include "core/logger.h"
26 #include "core/safearith.h"
26 #include "core/safearith_api.h"
2727 #include "core/stack-inlined.h"
2828 #include "core/unused_api.h"
2929
1717 #include <stdbool.h>
1818
1919 #include "core/alphabet_api.h"
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/encseq_api.h"
22 #include "core/ensure.h"
22 #include "core/ensure_api.h"
2323 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
25 #include "core/safearith.h"
25 #include "core/safearith_api.h"
2626 #include "core/unused_api.h"
2727
2828 #include "match/shu-encseq-gc.h"
2121 #include "core/format64.h"
2222 #include "core/log_api.h"
2323 #include "core/logger.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
26 #include "core/safearith.h"
26 #include "core/safearith_api.h"
2727 #include "match/eis-voiditf.h"
2828 #include "match/esa-seqread.h"
2929 #include "match/esa-shulen.h"
1717 #include <stdio.h>
1818 #include <string.h>
1919 #include "core/chardef.h"
20 #include "core/divmodmul.h"
20 #include "core/divmodmul_api.h"
2121 #include "core/encseq.h"
2222 #include "core/ma_api.h"
2323 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/mathsupport.h"
19 #include "core/minmax.h"
19 #include "core/minmax_api.h"
2020 #include "spmsuftab.h"
2121
2222 GtSpmsuftab *gt_spmsuftab_new(GtUword numofentries,
1717 #include <limits.h>
1818 #include "core/alphabet.h"
1919 #include "core/arraydef.h"
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/fileutils_api.h"
2222 #include "core/format64.h"
2323 #include "core/intbits.h"
1919
2020 #include <stdbool.h>
2121 #include "core/str_array.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/option_api.h"
2424 #include "match/optionargmode.h"
2525
1919 #include <stdbool.h>
2020 #include "core/arraydef.h"
2121 #include "core/chardef.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/unused_api.h"
2424 #include "core/encseq.h"
2525 #include "sfx-nextchar.h"
1818 #include "core/alphabet.h"
1919 #include "core/array.h"
2020 #include "core/arraydef.h"
21 #include "core/divmodmul.h"
21 #include "core/divmodmul_api.h"
2222 #include "core/encseq.h"
2323 #include "core/format64.h"
2424 #include "core/logger.h"
1717 #include <errno.h>
1818 #include <limits.h>
1919 #include <string.h>
20 #include "core/fa.h"
20 #include "core/fa_api.h"
2121 #include "core/logger.h"
2222 #include "core/unused_api.h"
2323 #include "core/xansi_api.h"
1717 #include <errno.h>
1818 #include <string.h>
1919 #include <stdbool.h>
20 #include "core/fa.h"
20 #include "core/fa_api.h"
2121 #include "core/types_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/ma_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "turnwheels.h"
1919
2020 #define MAXNUMOFWHEELS 18
1818 #define TYR_BASIC_H
1919
2020 #include "core/arraydef.h"
21 #include "core/divmodmul.h"
21 #include "core/divmodmul_api.h"
2222
2323 #define MERSUFFIX ".mer"
2424 #define COUNTSSUFFIX ".mct"
1515 */
1616
1717 #include "core/defined-types.h"
18 #include "core/divmodmul.h"
18 #include "core/divmodmul_api.h"
1919 #include "core/encseq.h"
20 #include "core/fa.h"
20 #include "core/fa_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/ma_api.h"
2323 #include "sfx-apfxlen.h"
1717 #include <math.h>
1818 #include <errno.h>
1919 #include "core/defined-types.h"
20 #include "core/divmodmul.h"
21 #include "core/fa.h"
20 #include "core/divmodmul_api.h"
21 #include "core/fa_api.h"
2222 #include "core/intbits.h"
2323 #include "core/mathsupport.h"
24 #include "core/minmax.h"
24 #include "core/minmax_api.h"
2525 #include "core/str_api.h"
2626 #include "core/types_api.h"
2727 #include "core/unused_api.h"
1616
1717 #include <errno.h>
1818 #include "core/alphabet.h"
19 #include "core/divmodmul.h"
20 #include "core/fa.h"
19 #include "core/divmodmul_api.h"
20 #include "core/fa_api.h"
2121 #include "core/format64.h"
2222 #include "core/logger.h"
2323 #include "core/spacecalc.h"
24 #include "core/str.h"
24 #include "core/str_api.h"
2525 #include "core/unused_api.h"
2626 #include "core/xansi_api.h"
2727 #include "core/ma_api.h"
1818 #define TYR_MKINDEX_H
1919
2020 #include <stdbool.h>
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/error_api.h"
2323 #include "core/logger.h"
2424
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/str.h"
17 #include "core/str_api.h"
1818 #include "core/unused_api.h"
1919 #include "core/logger.h"
2020 #include "core/ma_api.h"
1818 #define TYR_OCCRATIO_H
1919
2020 #include <stdbool.h>
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/error_api.h"
2323 #include "core/arraydef.h"
2424 #include "core/logger.h"
1515 */
1616
1717 #include "core/alphabet.h"
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/seq_iterator_sequence_buffer_api.h"
2121 #include "core/chardef.h"
1919 #include <string.h>
2020
2121 #include "core/chardef.h"
22 #include "core/divmodmul.h"
23 #include "core/ensure.h"
22 #include "core/divmodmul_api.h"
23 #include "core/ensure_api.h"
2424 #include "core/log_api.h"
2525 #include "core/mathsupport.h"
26 #include "core/minmax.h"
26 #include "core/minmax_api.h"
2727 #include "core/types_api.h"
2828 #include "core/unused_api.h"
2929 #include "extended/alignment.h"
1515 */
1616
1717 #include "core/fileutils_api.h"
18 #include "core/file.h"
18 #include "core/file_api.h"
1919 #include "core/hashmap-generic.h"
2020 #include "core/mathsupport.h"
2121 #include "core/unused_api.h"
2525 #include "core/array2dim_api.h"
2626 #include "core/bioseq.h"
2727 #include "core/dlist_api.h"
28 #include "core/error.h"
28 #include "core/error_api.h"
2929 #include "core/hashmap-generic.h"
30 #include "core/ma.h"
30 #include "core/ma_api.h"
3131 #include "core/option_api.h"
32 #include "core/str.h"
32 #include "core/str_api.h"
3333 #include "core/str_array.h"
3434 #include "core/versionfunc.h"
3535
1717
1818 #include "mg_outputwriter.h"
1919
20 #include "core/hashmap.h"
20 #include "core/hashmap_api.h"
2121 #include "core/unused_api.h"
2222
2323 /* Funktion, die nacheinander die erforderlichen Funktionen zur Erstellung
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/ma.h"
16 #include "core/ma_api.h"
1717 #include "core/option_api.h"
1818 #include "core/output_file_api.h"
1919 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/option_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/tool_api.h"
2121 #include "gt_chain2dim.h"
1919
2020 #include "core/alphabet_api.h"
2121 #include "core/basename_api.h"
22 #include "core/fa.h"
22 #include "core/fa_api.h"
2323 #include "core/fileutils_api.h"
24 #include "core/ma.h"
24 #include "core/ma_api.h"
2525 #include "core/mathsupport.h"
26 #include "core/safearith.h"
26 #include "core/safearith_api.h"
2727 #include "core/showtime.h"
2828 #include "core/splitter_api.h"
2929 #include "core/undef_api.h"
1919
2020 #include "core/alphabet_api.h"
2121 #include "core/basename_api.h"
22 #include "core/fa.h"
22 #include "core/fa_api.h"
2323 #include "core/fileutils_api.h"
2424 #include "core/log_api.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/mathsupport.h"
2727 #include "core/range_api.h"
2828 #include "core/showtime.h"
2020 #include "core/alphabet_api.h"
2121 #include "core/basename_api.h"
2222 #include "core/encseq_api.h"
23 #include "core/fa.h"
23 #include "core/fa_api.h"
2424 #include "core/fileutils_api.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/mathsupport.h"
2727 #include "core/range_api.h"
2828 #include "core/showtime.h"
1818 #include <string.h>
1919 #include "core/alphabet_api.h"
2020 #include "core/basename_api.h"
21 #include "core/fa.h"
21 #include "core/fa_api.h"
2222 #include "core/fileutils_api.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
2525 #include "core/range_api.h"
2626 #include "core/showtime.h"
1717 #include <limits.h>
1818 #include <stdio.h>
1919
20 #include "core/fa.h"
20 #include "core/fa_api.h"
2121 #include "core/intbits.h"
2222 #include "core/log_api.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
2525 #include "core/str_api.h"
2626 #include "core/str_api.h"
1515 */
1616
1717 #include "core/cstr_array.h"
18 #include "core/error.h"
19 #include "core/ma.h"
18 #include "core/error_api.h"
19 #include "core/ma_api.h"
2020 #include "core/toolbox_api.h"
2121 #include "core/unused_api.h"
2222 #include "tools/gt_condenseq.h"
2525
2626 #include "core/arraydef.h"
2727 #include "core/basename_api.h"
28 #include "core/divmodmul.h"
28 #include "core/divmodmul_api.h"
2929 #include "core/encseq_api.h"
30 #include "core/fa.h"
30 #include "core/fa_api.h"
3131 #include "core/fasta_api.h"
3232 #include "core/fasta_reader.h"
3333 #include "core/fasta_reader_rec.h"
3434 #include "core/fileutils_api.h"
3535 #include "core/log_api.h"
3636 #include "core/logger.h"
37 #include "core/ma.h"
37 #include "core/ma_api.h"
3838 #include "core/mathsupport.h"
3939 #include "core/output_file_api.h"
4040 #include "core/parseutils_api.h"
41 #include "core/range.h"
41 #include "core/range_api.h"
4242 #include "core/showtime.h"
4343 #include "core/undef_api.h"
4444 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/basename_api.h"
18 #include "core/fa.h"
18 #include "core/fa_api.h"
1919 #include "core/log_api.h"
2020 #include "core/logger.h"
2121 #include "core/logger_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/mathsupport.h"
24 #include "core/minmax.h"
25 #include "core/safearith.h"
24 #include "core/minmax_api.h"
25 #include "core/safearith_api.h"
2626 #include "core/undef_api.h"
2727 #include "core/unused_api.h"
2828 #include "extended/condenseq.h"
2020 #include "core/fasta_separator.h"
2121 #include "core/log_api.h"
2222 #include "core/logger.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/output_file_api.h"
2525 #include "core/showtime.h"
2626 #include "core/str_api.h"
2323
2424 #include "core/arraydef.h"
2525 #include "core/cstr_api.h"
26 #include "core/fa.h"
26 #include "core/fa_api.h"
2727 #include "core/fasta_api.h"
2828 #include "core/file_api.h"
2929 #include "core/log_api.h"
3030 #include "core/logger.h"
31 #include "core/ma.h"
31 #include "core/ma_api.h"
3232 #include "core/parseutils_api.h"
3333 #include "core/showtime.h"
3434 #include "core/splitter_api.h"
35 #include "core/str.h"
35 #include "core/str_api.h"
3636 #include "core/timer_api.h"
3737 #include "core/undef_api.h"
3838 #include "core/unused_api.h"
2525 #endif
2626
2727 #include "core/cstr_array.h"
28 #include "core/error.h"
28 #include "core/error_api.h"
2929 #include "core/ma_api.h"
3030 #include "core/toolbox_api.h"
3131 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/cstr_array.h"
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/logger.h"
2020 #include "core/ma_api.h"
2121 #include "core/option_api.h"
22 #include "core/str.h"
22 #include "core/str_api.h"
2323 #include "core/tool.h"
2424 #include "core/toolbox.h"
2525 #include "core/unused_api.h"
1919
2020 #include "core/fileutils_api.h"
2121 #include "core/filelengthvalues.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/option_api.h"
2424 #include "core/output_file_api.h"
2525 #include "core/sequence_buffer.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/unused_api.h"
1919 #include "core/tool.h"
2020 #include "core/toolbox.h"
2121 #include "core/versionfunc.h"
22 #include "gth/gt_gthbssmbuild.h"
23 #include "gth/gt_gthbssmfileinfo.h"
24 #include "gth/gt_gthbssmprint.h"
25 #include "gth/gt_gthbssmrmsd.h"
26 #include "gth/gt_gthbssmtrain.h"
27 #include "gth/gt_gthmkbssmfiles.h"
2822 #include "tools/gt_compressedbits.h"
2923 #include "tools/gt_consensus_sa.h"
3024 #include "tools/gt_extracttarget.h"
5751 GtToolbox *dev_toolbox = gt_toolbox_new();
5852 /* add development tools here with a function call like this:
5953 gt_toolbox_add(dev_toolbox, "devtool", gt_devtool); */
60 gt_toolbox_add(dev_toolbox, "gthbssmbuild", gt_gthbssmbuild);
61 gt_toolbox_add(dev_toolbox, "gthbssmfileinfo", gt_gthbssmfileinfo);
62 gt_toolbox_add(dev_toolbox, "gthbssmprint", gt_gthbssmprint);
63 gt_toolbox_add(dev_toolbox, "gthmkbssmfiles", gt_gthmkbssmfiles);
6454 gt_toolbox_add(dev_toolbox, "guessprot", gt_guessprot);
6555 gt_toolbox_add(dev_toolbox, "mergeesa", gt_mergeesa);
6656 gt_toolbox_add(dev_toolbox, "paircmp", gt_paircmp);
7161 gt_toolbox_add_tool(dev_toolbox, "consensus_sa", gt_consensus_sa_tool());
7262 gt_toolbox_add_tool(dev_toolbox, "extracttarget", gt_extracttarget());
7363 gt_toolbox_add_tool(dev_toolbox, "gdiffcalc", gt_gdiffcalc());
74 gt_toolbox_add_tool(dev_toolbox, "gthbssmrmsd", gt_gthbssmrmsd());
75 gt_toolbox_add_tool(dev_toolbox, "gthbssmtrain", gt_gthbssmtrain());
7664 gt_toolbox_add_tool(dev_toolbox, "idxlocali", gt_idxlocali());
7765 gt_toolbox_add_tool(dev_toolbox, "kmer_database", gt_kmer_database());
7866 gt_toolbox_add_tool(dev_toolbox, "linspace_align", gt_linspace_align());
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/unused_api.h"
1919 #include "extended/dot_visitor.h"
2020 #include "extended/gff3_in_stream.h"
1515 */
1616
1717 #include "core/cstr_array.h"
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/option_api.h"
2020 #include "core/tool.h"
2121 #include "core/toolbox_api.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/option_api.h"
2121 #include "core/encseq_api.h"
2222 #include "core/logger.h"
2323 #include "core/intbits.h"
24 #include "core/minmax.h"
24 #include "core/minmax_api.h"
2525 #include "core/showtime.h"
2626 #ifdef GT_THREADS_ENABLED
2727 #include "core/thread_api.h"
1515 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1616 */
1717
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/encseq.h"
2121 #include "core/encseq_metadata.h"
1515 */
1616
1717 #include "core/encseq.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/mathsupport.h"
2020 #include "core/parseutils_api.h"
2121 #include "core/readmode_api.h"
1515 */
1616
1717 #include "core/encseq.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "core/logger.h"
2121 #include "match/intcode-def.h" /* XXX */
1616 */
1717
1818 #include <string.h>
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/chardef.h"
2121 #include "core/encseq_api.h"
2222 #include "core/encseq_options.h"
1717
1818 #include "core/alphabet.h"
1919 #include "core/basename_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/encseq.h"
2222 #include "core/encseq_options.h"
23 #include "core/fileutils.h"
23 #include "core/fileutils_api.h"
2424 #include "core/logger_api.h"
2525 #include "core/str_array_api.h"
2626 #include "core/unused_api.h"
1717 #include <stdlib.h>
1818 #include "core/encseq.h"
1919 #include "core/encseq_metadata.h"
20 #include "core/ma.h"
21 #include "core/minmax.h"
20 #include "core/ma_api.h"
21 #include "core/minmax_api.h"
2222 #include "core/array_api.h"
2323 #include "core/output_file_api.h"
2424 #include "core/unused_api.h"
25 #include "core/divmodmul.h"
25 #include "core/divmodmul_api.h"
2626 #include "tools/gt_encseq_info.h"
2727
2828 typedef struct {
1515 */
1616
1717 #include "core/encseq.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/md5_fingerprint_api.h"
2020 #include "core/output_file_api.h"
2121 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/unused_api.h"
1919 #include "tools/gt_encseq_sample.h"
2020
2727 #include "core/undef_api.h"
2828 #include "core/warning_api.h"
2929 #include "core/xansi_api.h"
30 #include "core/minmax.h"
30 #include "core/minmax_api.h"
3131 #include "core/mathsupport.h"
3232 #include "core/bittab_api.h"
3333
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/str_array_api.h"
1616 */
1717
1818 #include "core/bioseq_iterator.h"
19 #include "core/fasta.h"
19 #include "core/fasta_api.h"
2020 #include "core/grep_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/option_api.h"
2323 #include "core/output_file_api.h"
2424 #include "core/unused_api.h"
1717 #include <string.h>
1818 #include "core/bioseq.h"
1919 #include "core/cstr_api.h"
20 #include "core/fasta.h"
21 #include "core/ma.h"
20 #include "core/fasta_api.h"
21 #include "core/ma_api.h"
2222 #include "core/option_api.h"
2323 #include "core/splitter.h"
2424 #include "core/unused_api.h"
2020 #include "core/bittab_api.h"
2121 #include "core/fasta_api.h"
2222 #include "core/fastq.h"
23 #include "core/ma.h"
23 #include "core/ma_api.h"
2424 #include "core/mathsupport.h"
2525 #include "core/seq_iterator_api.h"
2626 #include "core/seq_iterator_fastq_api.h"
1616
1717 #include <string.h>
1818 #include "core/fileutils_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/password_entry.h"
2121 #include "core/str_api.h"
2222 #include "core/unused_api.h"
1818 #include <string.h>
1919 #include "core/bioseq.h"
2020 #include "core/bioseq_col.h"
21 #include "core/fa.h"
22 #include "core/fasta.h"
23 #include "core/ma.h"
21 #include "core/fa_api.h"
22 #include "core/fasta_api.h"
23 #include "core/ma_api.h"
2424 #include "core/option_api.h"
2525 #include "core/output_file_api.h"
2626 #include "core/seq_info_cache.h"
2323 #include "core/cstr_api.h"
2424 #include "core/encseq.h"
2525 #include "core/encseq_options.h"
26 #include "core/fa.h"
26 #include "core/fa_api.h"
2727 #include "core/log_api.h"
2828 #include "core/logger.h"
2929 #include "core/ma_api.h"
2323 #include "core/cstr_api.h"
2424 #include "core/encseq.h"
2525 #include "core/encseq_options.h"
26 #include "core/fa.h"
26 #include "core/fa_api.h"
2727 #include "core/log_api.h"
2828 #include "core/logger.h"
2929 #include "core/ma_api.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/option_api.h"
2020 #include "core/output_file_api.h"
2121 #include "core/undef_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "extended/genome_node.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/str_api.h"
1919 #include "extended/genome_node.h"
2020 #include "extended/gff3_in_stream.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/basename_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/undef_api.h"
2020 #include "core/seq_iterator_fastq_api.h"
2121 #include "core/unused_api.h"
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/ma.h"
16 #include "core/ma_api.h"
1717 #include "core/option_api.h"
1818 #include "core/output_file_api.h"
1919 #include "core/unused_api.h"
1616 */
1717
1818 #include "core/option_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/str_array.h"
2121 #include "core/unused_api.h"
2222 #include "core/tool_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/output_file_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/gff3_in_stream.h"
1515 */
1616
1717 #include "core/file_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/node_stream_api.h"
2121 #include "extended/gff3_in_stream_api.h"
1818 #include "core/arraydef.h"
1919 #include "core/basename_api.h"
2020 #include "core/encseq_api.h"
21 #include "core/fa.h"
21 #include "core/fa_api.h"
2222 #include "core/hashmap_api.h"
2323 #include "core/logger.h"
2424 #include "core/logger_api.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/mathsupport.h"
2727 #include "core/str_api.h"
2828 #include "core/str_array_api.h"
1919 #include "core/alphabet.h"
2020 #include "core/chardef.h"
2121 #include "core/cstr_api.h"
22 #include "core/fa.h"
22 #include "core/fa_api.h"
2323 #include "core/fasta_api.h"
2424 #include "core/fasta_reader.h"
2525 #include "core/fasta_reader_rec.h"
26 #include "core/ma.h"
27 #include "core/minmax.h"
26 #include "core/ma_api.h"
27 #include "core/minmax_api.h"
2828 #include "core/spacecalc.h"
2929 #include "core/score_matrix.h"
30 #include "core/str.h"
30 #include "core/str_api.h"
3131 #include "core/str_api.h"
3232 #include "core/str_array.h"
3333 #include "core/timer_api.h"
6363 diagonal, /* call diagonalband algorithm */
6464 dna,
6565 protein,
66 has_costmatrix, /* special case of substituation matrix*/
66 has_costmatrix, /* special case of substitution matrix*/
6767 showscore,
6868 showsequences,
6969 scoreonly, /* dev option generate alignment, but do not show it*/
178178
179179 /* special case, if given matrix includes cost values in place of scores */
180180 optioncostmatrix = gt_option_new_bool("costmatrix", "describes type of "
181 "given substituation matrix",
181 "given substitution matrix",
182182 &arguments->has_costmatrix, false);
183183 gt_option_parser_add_option(op, optioncostmatrix);
184184
218218 optionlinearcosts = gt_option_new_string_array("l", "lineargapcosts, "
219219 "use match, mismatch and "
220220 "gapcost, alternatively "
221 "substituationmatrix and "
221 "substitution matrix and "
222222 "gapcost",
223223 arguments->linearcosts);
224224 gt_option_parser_add_option(op, optionlinearcosts);
226226 optionaffinecosts = gt_option_new_string_array("a", "affinegapcosts, "
227227 "use match, mismatch, gap_extension "
228228 "and gap_opening, alternatively "
229 "substituationmatrix, gap_extension "
229 "substitution matrix, gap_extension "
230230 "and gap_opening",
231231 arguments->affinecosts);
232232 gt_option_parser_add_option(op, optionaffinecosts);
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/ma.h"
16 #include "core/ma_api.h"
1717 #include "core/unused_api.h"
1818 #include "extended/check_boundaries_visitor_api.h"
1919 #include "extended/gff3_in_stream.h"
1616
1717 #include <string.h>
1818 #include "core/bioseq.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/option_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/gtdatahelp.h"
1616 */
1717
1818 #include <string.h>
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/undef_api.h"
2121 #include "core/unused_api.h"
2222 #include "extended/match.h"
1616 */
1717
1818 #include "core/defined-types.h"
19 #include "core/error.h"
20 #include "core/ma.h"
19 #include "core/error_api.h"
20 #include "core/ma_api.h"
2121 #include "core/option_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/versionfunc.h"
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/ma.h"
16 #include "core/ma_api.h"
1717 #include "core/option_api.h"
1818 #include "core/output_file_api.h"
1919 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/error.h"
17 #include "core/error_api.h"
1818 #include "core/logger.h"
1919 #include "core/option_api.h"
2020 #include "core/versionfunc.h"
1616
1717 #include <string.h>
1818 #include "core/fileutils_api.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/str_array_api.h"
2121 #include "core/unused_api.h"
2222 #include "core/xposix.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/error.h"
17 #include "core/error_api.h"
1818 #include "match/fmi-mkindex.h"
1919 #include "tools/gt_mkfmindex.h"
2020
1818 #ifndef _WIN32
1919 #include <sys/mman.h>
2020 #endif
21 #include "core/error.h"
21 #include "core/error_api.h"
2222 #include "core/option_api.h"
2323 #include "core/progressbar.h"
2424 #include "core/unused_api.h"
2020 #include "core/codon_iterator_encseq_api.h"
2121 #include "core/encseq.h"
2222 #include "core/fileutils_api.h"
23 #include "core/hashmap.h"
23 #include "core/hashmap_api.h"
2424 #include "core/log.h"
2525 #include "core/logger.h"
26 #include "core/ma.h"
26 #include "core/ma_api.h"
2727 #include "core/option_api.h"
2828 #include "core/str_array.h"
2929 #include "core/output_file_api.h"
30 #include "core/safearith.h"
30 #include "core/safearith_api.h"
3131 #include "core/str_array.h"
3232 #include "core/undef_api.h"
3333 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/cstr_array.h"
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/option_api.h"
20 #include "core/str.h"
20 #include "core/str_api.h"
2121 #include "core/tool.h"
2222 #include "core/toolbox.h"
2323 #include "core/versionfunc.h"
1919 */
2020
2121 #include "gt_packedindex_chk_integrity.h"
22 #include "core/error.h"
22 #include "core/error_api.h"
2323 #include "core/logger.h"
2424 #include "core/option_api.h"
2525 #include "core/versionfunc.h"
1515 #ifndef GT_PACKEDINDEX_CHK_INTEGRITY_H
1616 #define GT_PACKEDINDEX_CHK_INTEGRITY_H
1717
18 #include "core/error.h"
18 #include "core/error_api.h"
1919
2020 extern int
2121 gt_packedindex_chk_integrity(int argc, const char *argv[], GtError *err);
1515
1616 #include <stdio.h>
1717 #include <string.h>
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/logger.h"
20 #include "core/minmax.h"
20 #include "core/minmax_api.h"
2121 #include "core/option_api.h"
22 #include "core/str.h"
22 #include "core/str_api.h"
2323 #include "core/versionfunc.h"
2424 #include "match/eis-bwtseq.h"
2525 #include "match/eis-bwtseq-param.h"
1616 #ifndef GT_PACKEDINDEX_CHK_SEARCH_H
1717 #define GT_PACKEDINDEX_CHK_SEARCH_H
1818
19 #include "core/error.h"
19 #include "core/error_api.h"
2020
2121 extern int
2222 gt_packedindex_chk_search(int argc, const char *argv[], GtError *error);
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/error.h"
16 #include "core/error_api.h"
1717 #include "core/logger.h"
1818 #include "core/option_api.h"
19 #include "core/str.h"
19 #include "core/str_api.h"
2020 #include "core/versionfunc.h"
2121 #include "match/eis-bwtseq.h"
2222 #include "match/eis-bwtseq-construct.h"
1717 #ifndef GT_PACKEDINDEX_MKCTXMAP_H
1818 #define GT_PACKEDINDEX_MKCTXMAP_H
1919
20 #include "core/error.h"
20 #include "core/error_api.h"
2121
2222 extern int
2323 gt_packedindex_mkctxmap(int argc, const char *argv[], GtError *error);
1515
1616 #include <stdio.h>
1717 #include <string.h>
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/logger.h"
2020 #include "core/option_api.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/versionfunc.h"
2323 #include "match/eis-bwtseq.h"
2424 #include "core/encseq.h"
1616 #ifndef GT_PACKEDINDEX_TRSUFTAB_H
1717 #define GT_PACKEDINDEX_TRSUFTAB_H
1818
19 #include "core/error.h"
19 #include "core/error_api.h"
2020
2121 extern int
2222 gt_packedindex_trsuftab(int argc, const char *argv[], GtError *error);
1717
1818 #include <string.h>
1919 #include <inttypes.h>
20 #include "core/error.h"
20 #include "core/error_api.h"
2121 #include "core/fasta_reader.h"
2222 #include "core/fasta_reader_rec.h"
2323 #include "core/ma_api.h"
2424 #include "core/option_api.h"
25 #include "core/str.h"
25 #include "core/str_api.h"
2626 #include "core/str_array.h"
2727 #include "core/types_api.h"
2828 #include "core/versionfunc.h"
1313 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414 */
1515
16 #include "core/ma.h"
16 #include "core/ma_api.h"
1717 #include "core/unused_api.h"
1818 #include "extended/xrf_abbr_parse_tree.h"
1919 #include "extended/xrf_abbr_entry.h"
1616
1717 #include <inttypes.h>
1818 #include "core/encseq.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "core/option_api.h"
21 #include "core/str.h"
21 #include "core/str_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/versionfunc.h"
2424 #include "match/cutendpfx.h"
1717 #include <math.h>
1818 #include "core/alphabet_api.h"
1919 #include "core/encseq_metadata.h"
20 #include "core/ma.h"
21 #include "core/str.h"
20 #include "core/ma_api.h"
21 #include "core/str_api.h"
2222 #include "core/tool_api.h"
2323 #include "match/pckbucket.h"
2424 #include "match/eis-voiditf.h"
1717 #include "core/encseq.h"
1818 #include "core/log_api.h"
1919 #include "core/logger.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/showtime.h"
2424 #include "core/spacecalc.h"
147147 skipdata.to_skip = contained;
148148 skipdata.out.e.proc = proc;
149149 skipdata.out.e.data = procdata;
150 skipdata.skipped_counter = 0;
150151 }
151152 for (i = 0; i < nspmfiles; i++)
152153 {
1717 #include "core/encseq.h"
1818 #include "core/log_api.h"
1919 #include "core/logger.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/showtime.h"
2424 #include "core/spacecalc.h"
270270 skipdata.out.e.proc = gt_spmproc_strgraph_count;
271271 skipdata.to_skip = contained;
272272 skipdata.out.e.data = strgraph;
273 skipdata.skipped_counter = 0;
273274 }
274275 for (i = 0; i < nspmfiles; i++)
275276 {
1717 #include "core/encseq.h"
1818 #include "core/log_api.h"
1919 #include "core/logger.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/showtime.h"
2424 #include "core/spacecalc.h"
1616
1717 #include "core/encseq.h"
1818 #include "core/logger.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "match/esa-seqread.h"
2222 #include "match/rdj-contfind-bottomup.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/logger.h"
1919 #include "core/undef_api.h"
2020 #include "core/unused_api.h"
1717 #include "core/encseq.h"
1818 #include "core/log_api.h"
1919 #include "core/logger.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/showtime.h"
2424 #include "core/spacecalc.h"
154154 skipdata.to_skip = contained;
155155 skipdata.out.e.proc = proc;
156156 skipdata.out.e.data = procdata;
157 skipdata.skipped_counter = 0;
157158 }
158159 for (i = 0; i < nspmfiles; i++)
159160 {
1717 #include "core/encseq.h"
1818 #include "core/log_api.h"
1919 #include "core/logger.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/showtime.h"
2424 #include "core/spacecalc.h"
1616 */
1717
1818 #include <string.h>
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "core/option_api.h"
2222 #include "core/encseq.h"
2323 #include "core/intbits.h"
2424 #include "core/logger.h"
25 #include "core/minmax.h"
25 #include "core/minmax_api.h"
2626 #ifdef GT_THREADS_ENABLED
2727 #include "core/thread_api.h"
2828 #endif
1717 #include "core/log.h"
1818 #include "core/logger.h"
1919 #include "core/encseq.h"
20 #include "core/fa.h"
21 #include "core/ma.h"
20 #include "core/fa_api.h"
21 #include "core/ma_api.h"
2222 #include "core/output_file_api.h"
2323 #include "core/option_api.h"
2424 #include "core/unused_api.h"
1616
1717 #include "core/encseq.h"
1818 #include "core/logger.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "match/esa-seqread.h"
2222 #include "match/rdj-filesuf-def.h"
1717
1818 #include <string.h>
1919 #include "core/fileutils_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/progressbar.h"
2222 #include "core/quality.h"
2323 #include "core/seq_iterator_fastq_api.h"
2424 #include "core/str_array_api.h"
2525 #include "core/unused_api.h"
26 #include "core/fasta.h"
26 #include "core/fasta_api.h"
2727 #include "tools/gt_readreads.h"
2828
2929 #define SEQUENCE_CHAR_SEPARATOR '|'
2525 #include "core/tool_api.h"
2626 #include "core/unused_api.h"
2727 #include "core/versionfunc.h"
28 #include "core/minmax.h"
28 #include "core/minmax_api.h"
2929 #include "core/encseq.h"
3030 #include "core/showtime.h"
3131 #include "core/timer_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/unused_api.h"
19 #include "core/fa.h"
19 #include "core/fa_api.h"
2020 #include "core/timer_api.h"
2121 #include "core/showtime.h"
2222 #include "core/logger.h"
1515 */
1616
1717 #include "core/alphabet_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/unused_api.h"
2020 #include "extended/sam_alignment.h"
2121 #include "extended/samfile_iterator.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/unused_api.h"
1919 #include "extended/script_filter.h"
2020 #include "tools/gt_script_filter.h"
2626 #include "core/error_api.h"
2727 #include "core/ma_api.h"
2828 #include "core/mathsupport.h"
29 #include "core/minmax.h"
29 #include "core/minmax_api.h"
3030 #include "core/parseutils_api.h"
3131 #include "core/range_api.h"
3232 #include "core/showtime.h"
3737 #include "match/ft-polish.h"
3838 #include "match/initbasepower.h"
3939 #include "match/seed_extend_parts.h"
40 #include "match/dbs_spaced_seeds.h"
4041 #include "tools/gt_seed_extend.h"
4142 #ifdef GT_THREADS_ENABLED
4243 #include "core/thread_api.h"
4849 GtStr *dbs_queryname;
4950 unsigned int dbs_spacedseedweight;
5051 unsigned int dbs_seedlength;
51 bool spacedseed;
5252 GtUword dbs_logdiagbandwidth;
5353 GtUword dbs_mincoverage;
5454 GtUword dbs_maxfreq;
7474 GtUword se_historysize;
7575 GtUword se_maxalilendiff;
7676 GtUword se_perc_match_hist;
77 GtStr *char_access_mode, *splt_string;
77 GtStr *char_access_mode, *splt_string, *kmplt_string;
7878 bool bias_parameters;
7979 bool relax_polish;
8080 bool verify_alignment;
9595 bool use_apos, use_apos_track_all, compute_ani;
9696 GtUword maxmat;
9797 GtOption *se_ref_op_evalue,
98 *se_ref_op_spacedseed,
9899 *se_ref_op_maxmat,
99100 *ref_diagband_statistics,
100101 *se_ref_op_gre,
112113 arguments->dbs_memlimit_str = gt_str_new();
113114 arguments->char_access_mode = gt_str_new();
114115 arguments->splt_string = gt_str_new();
116 arguments->kmplt_string = gt_str_new();
115117 arguments->display_args = gt_str_array_new();
116118 return arguments;
117119 }
128130 gt_str_delete(arguments->dbs_memlimit_str);
129131 gt_str_delete(arguments->char_access_mode);
130132 gt_str_delete(arguments->splt_string);
133 gt_str_delete(arguments->kmplt_string);
131134 gt_option_delete(arguments->se_ref_op_gre);
135 gt_option_delete(arguments->se_ref_op_spacedseed);
132136 gt_option_delete(arguments->se_ref_op_xdr);
133137 gt_option_delete(arguments->se_ref_op_evalue);
134138 gt_option_delete(arguments->se_ref_op_maxmat);
142146 {
143147 GtSeedExtendArguments *arguments = tool_arguments;
144148 GtOptionParser *op;
145 GtOption *option, *op_gre, *op_xdr, *op_cam, *op_splt,
149 GtOption *option, *op_gre, *op_xdr, *op_cam, *op_splt, *op_kmplt,
146150 *op_his, *op_dif, *op_pmh,
147151 *op_seedlength, *op_spacedseed, *op_minlen, *op_minid, *op_evalue, *op_xbe,
148152 *op_sup, *op_frq,
194198 gt_option_parser_add_option(op, op_seedlength);
195199
196200 /* -spacedseed */
197 op_spacedseed = gt_option_new_bool("spacedseed",
198 "use spaced seed of length specified by "
199 "option -seedlength",
200 &arguments->spacedseed,
201 false);
201 op_spacedseed = gt_option_new_uint_min("spacedseed",
202 "use spaced seed of length "
203 "specified by option -seedlength\n"
204 "(optional argument specifies "
205 " weight of spaced seed)",
206 &arguments->dbs_spacedseedweight,
207 0,
208 1);
209 gt_option_argument_is_optional(op_spacedseed);
202210 gt_option_parser_add_option(op, op_spacedseed);
211 arguments->se_ref_op_spacedseed = gt_option_ref(op_spacedseed);
203212
204213 /* -diagbandwidth */
205214 op_diagbandwidth = gt_option_new_uword_min_max("diagbandwidth",
396405 gt_option_hide_default(op_splt);
397406 gt_option_is_development_option(op_splt);
398407 gt_option_parser_add_option(op, op_splt);
408
409 /* -kmplt */
410 op_kmplt = gt_option_new_string("kmplt",
411 gt_diagbandseed_kmplt_comment(),
412 arguments->kmplt_string,
413 "");
414 gt_option_hide_default(op_kmplt);
415 gt_option_is_development_option(op_kmplt);
416 gt_option_parser_add_option(op, op_kmplt);
399417
400418 /* -trimstat */
401419 op_trimstat = gt_option_new_bool("trimstat","show trimming statistics",
740758 GtTimer *seedextendtimer = NULL;
741759 GtExtendCharAccess cam_a = GT_EXTEND_CHAR_ACCESS_ANY,
742760 cam_b = GT_EXTEND_CHAR_ACCESS_ANY;
743 GtDiagbandseedPairlisttype splt = GT_DIAGBANDSEED_SPLT_UNDEFINED;
761 GtDiagbandseedBaseListType splt = GT_DIAGBANDSEED_BASE_LIST_UNDEFINED,
762 kmplt = GT_DIAGBANDSEED_BASE_LIST_UNDEFINED;
744763 GtUword errorpercentage = 0UL;
745764 double matchscore_bias = GT_DEFAULT_MATCHSCORE_BIAS;
746765 bool extendxdrop, extendgreedy = true;
751770 int had_err = 0;
752771 const GtSeedExtendDisplaySetMode setmode
753772 = GT_SEED_EXTEND_DISPLAY_SET_STANDARD;
754 const unsigned int spacedseedweight = 21, spacedseedlength = 30;
755773 GtAniAccumulate ani_accumulate[2];
756774
757775 gt_error_check(err);
831849 }
832850 if (!had_err)
833851 {
834 splt = gt_diagbandseed_splt_get(gt_str_get(arguments->splt_string),err);
852 splt = gt_diagbandseed_base_list_get(true,
853 gt_str_get(arguments->splt_string),
854 err);
835855 if ((int) splt == -1) {
856 had_err = -1;
857 }
858 }
859 if (!had_err)
860 {
861 kmplt = gt_diagbandseed_base_list_get(false,
862 gt_str_get(arguments->kmplt_string),
863 err);
864 if ((int) kmplt == -1) {
836865 had_err = -1;
837866 }
838867 }
924953 maxseqlength = MIN(gt_encseq_max_seq_length(aencseq),
925954 gt_encseq_max_seq_length(bencseq));
926955
927 arguments->dbs_spacedseedweight = 0;
928956 if (arguments->dbs_seedlength == UINT_MAX)
929957 {
930958 if (arguments->maxmat == 1)
932960 arguments->dbs_seedlength = MIN(maxseedlength, arguments->se_alignlength);
933961 } else
934962 {
935 if (arguments->spacedseed)
936 {
937 arguments->dbs_seedlength = spacedseedlength;
938 arguments->dbs_spacedseedweight = spacedseedweight;
939 } else
940 {
941 unsigned int local_seedlength, log_avg_totallength;
942 double avg_totallength = 0.5 * (gt_encseq_total_length(aencseq) +
943 gt_encseq_total_length(bencseq));
944 gt_assert(nchars > 0);
945 log_avg_totallength
946 = (unsigned int) gt_round_to_long(gt_log_base(avg_totallength,
947 (double) nchars));
948 local_seedlength = (unsigned int) MIN3(log_avg_totallength,
949 maxseqlength,maxseedlength);
950 arguments->dbs_seedlength = MAX(local_seedlength, 2);
951 }
952 }
953 }
954 if (!had_err && !arguments->spacedseed &&
955 arguments->dbs_seedlength > MIN(maxseedlength, maxseqlength))
963 unsigned int local_seedlength, log_avg_totallength;
964 double avg_totallength = 0.5 * (gt_encseq_total_length(aencseq) +
965 gt_encseq_total_length(bencseq));
966 gt_assert(nchars > 0);
967 log_avg_totallength
968 = (unsigned int) gt_round_to_long(gt_log_base(avg_totallength,
969 (double) nchars));
970 local_seedlength = (unsigned int) MIN3(log_avg_totallength,
971 maxseqlength,maxseedlength);
972 arguments->dbs_seedlength = MAX(local_seedlength, 2);
973 }
974 if (gt_option_is_set(arguments->se_ref_op_spacedseed))
975 {
976 arguments->dbs_seedlength = MIN(maxseedlength,
977 (arguments->dbs_seedlength * 3)/2);
978 arguments->dbs_seedlength = MAX(arguments->dbs_seedlength,
979 GT_SPACED_SEED_FIRST_SPAN);
980 }
981 }
982 if (!had_err && arguments->dbs_seedlength > MIN(maxseedlength, maxseqlength))
956983 {
957984 if (maxseedlength <= maxseqlength) {
958 gt_error_set(err, "maximum seedlength for alphabet of size %u is %u",
959 nchars, maxseedlength);
985 gt_error_set(err, "maximum seedlength for alphabet of size %u is %u "
986 "(if the sequences %scontain wildcards)",
987 nchars, maxseedlength,maxseqlength == 32 ?
988 "do not " : "");
960989 } else {
961990 gt_error_set(err, "argument to option \"-seedlength\" must be an integer "
962991 "<= " GT_WU " (length of longest sequence).", maxseqlength);
965994 }
966995 if (!had_err)
967996 {
968 if (arguments->spacedseed)
969 {
970 arguments->dbs_spacedseedweight = spacedseedweight;
971 if (arguments->dbs_seedlength != spacedseedlength)
997 if (gt_option_is_set(arguments->se_ref_op_spacedseed))
998 {
999 if (nchars != 4)
9721000 {
973 gt_error_set(err,"only spaced seeds of length %u supported",
974 spacedseedlength);
1001 gt_error_set(err,"spaced seeds only work for sequences over an "
1002 "alphabet of size 4");
9751003 had_err = -1;
9761004 } else
9771005 {
978 if (nchars != 4)
1006 if (arguments->dbs_seedlength > maxseedlength ||
1007 arguments->dbs_seedlength < GT_SPACED_SEED_FIRST_SPAN)
9791008 {
980 gt_error_set(err,"spaced seeds only work for sequences over an "
981 "alphabet of size 4");
1009 gt_error_set(err,"illegal seedlength %u: for this set of sequences "
1010 "can only handle spaced seeds of span between %d "
1011 "and %u",
1012 arguments->dbs_seedlength,
1013 GT_SPACED_SEED_FIRST_SPAN,
1014 maxseedlength);
9821015 had_err = -1;
1016 } else
1017 {
1018 int min_weight, max_weight;
1019
1020 gt_spaced_seed_weight_range(&min_weight,&max_weight,
1021 (int) arguments->dbs_seedlength);
1022 if (arguments->dbs_spacedseedweight == 0)
1023 {
1024 /* halfway between min and max */
1025 arguments->dbs_spacedseedweight = min_weight +
1026 (max_weight - min_weight + 1)/2;
1027 } else
1028 {
1029 if (arguments->dbs_spacedseedweight < (GtUword) min_weight ||
1030 arguments->dbs_spacedseedweight > (GtUword) max_weight)
1031 {
1032 gt_error_set(err,"illegal weight %u: for spaced seeds of span %u "
1033 "the weight must be in the range from %d to %d",
1034 arguments->dbs_spacedseedweight,
1035 arguments->dbs_seedlength,min_weight,max_weight);
1036 had_err = -1;
1037 }
1038 }
9831039 }
9841040 }
9851041 }
11581214 arguments->nofwd,
11591215 &arguments->seedpairdistance,
11601216 splt,
1217 kmplt,
11611218 arguments->dbs_verify,
11621219 arguments->verbose,
11631220 arguments->dbs_debug_kmer,
1515 */
1616
1717 #include <string.h>
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/option_api.h"
2020 #include "core/output_file_api.h"
2121 #include "core/undef_api.h"
1616
1717 #include <string.h>
1818 #include "core/bioseq.h"
19 #include "core/ma.h"
19 #include "core/ma_api.h"
2020 #include "core/option_api.h"
2121 #include "core/output_file_api.h"
2222 #include "core/undef_api.h"
1515 */
1616
1717 #include <string.h>
18 #include "core/fa.h"
19 #include "core/ma.h"
18 #include "core/fa_api.h"
19 #include "core/ma_api.h"
2020 #include "core/unused_api.h"
2121 #include "core/option_api.h"
2222 #include "core/encseq_api.h"
2323 #include "core/log_api.h"
2424 #include "core/logger.h"
2525 #include "core/intbits.h"
26 #include "core/minmax.h"
26 #include "core/minmax_api.h"
2727 #include "core/showtime.h"
2828 #include "core/undef_api.h"
2929 #ifdef GT_THREADS_ENABLED
1616
1717 #include <string.h>
1818 #include "core/bioseq_iterator.h"
19 #include "core/fasta.h"
20 #include "core/ma.h"
19 #include "core/fasta_api.h"
20 #include "core/ma_api.h"
2121 #include "core/mathsupport.h"
2222 #include "core/option_api.h"
2323 #include "core/output_file_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/str_array.h"
1919 #include "core/unused_api.h"
2020 #include "match/reads2twobit.h"
1515 */
1616
1717 #include "core/bioseq_iterator.h"
18 #include "core/fasta.h"
19 #include "core/ma.h"
18 #include "core/fasta_api.h"
19 #include "core/ma_api.h"
2020 #include "core/option_api.h"
2121 #include "core/output_file_api.h"
2222 #include "extended/gtdatahelp.h"
1717 #include "core/encseq.h"
1818 #include "core/fasta_separator.h"
1919 #include "core/qsort_r_api.h"
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/mathsupport.h"
22 #include "core/minmax.h"
22 #include "core/minmax_api.h"
2323 #include "core/parseutils.h"
2424 #include "core/unused_api.h"
2525 #include "core/warning_api.h"
2020 #include <string.h>
2121 #include <sys/types.h>
2222
23 #include "core/compat.h"
23 #include "core/compat_api.h"
2424 #include "core/fileutils_api.h"
2525 #include "core/xposix.h"
26 #include "core/fa.h"
27 #include "core/ma.h"
26 #include "core/fa_api.h"
27 #include "core/ma_api.h"
2828 #include "core/versionfunc.h"
2929 #include "core/seq_iterator_sequence_buffer_api.h"
3030 #include "core/seq_iterator_fastq_api.h"
1414 */
1515
1616 #include "core/bioseq_iterator.h"
17 #include "core/fasta.h"
18 #include "core/ma.h"
17 #include "core/fasta_api.h"
18 #include "core/ma_api.h"
1919 #include "core/option_api.h"
2020 #include "core/output_file_api.h"
2121 #include "core/trans_table.h"
1717 #include "core/codon_api.h"
1818 #include "core/codon_iterator_simple_api.h"
1919 #include "core/cstr_api.h"
20 #include "core/fasta.h"
21 #include "core/ma.h"
20 #include "core/fasta_api.h"
21 #include "core/ma_api.h"
2222 #include "core/output_file_api.h"
2323 #include "core/seq_iterator_sequence_buffer.h"
2424 #include "core/sequence_buffer.h"
1616 */
1717
1818 #include "core/bioseq.h"
19 #include "core/fasta.h"
19 #include "core/fasta_api.h"
2020 #include "core/fileutils_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/output_file_api.h"
2323 #include "core/option_api.h"
2424 #include "core/progressbar.h"
1515 */
1616
1717 #include "core/encseq_metadata.h"
18 #include "core/error.h"
18 #include "core/error_api.h"
1919 #include "core/logger.h"
2020 #include "core/option_api.h"
2121 #include "core/str_array_api.h"
2222 #include "core/unused_api.h"
2323 #include "core/format64.h"
24 #include "core/fa.h"
24 #include "core/fa_api.h"
2525 #include "core/mathsupport.h"
2626 #include "match/echoseq.h"
2727 #include "match/eis-voiditf.h"
2020 #include <string.h>
2121 #include <float.h>
2222 #include "core/ma_api.h"
23 #include "core/minmax.h"
23 #include "core/minmax_api.h"
2424 #include "core/str_api.h"
2525 #include "core/types_api.h"
2626 #include "core/unused_api.h"
1515 */
1616
1717 #include "core/bioseq_iterator.h"
18 #include "core/fasta.h"
18 #include "core/fasta_api.h"
1919 #include "core/option_api.h"
2020 #include "core/output_file_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/unused_api.h"
2323 #include "extended/gtdatahelp.h"
2424 #include "extended/shredder.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/str.h"
17 #include "core/str_api.h"
1818 #include "core/disc_distri_api.h"
1919 #include "core/encseq.h"
20 #include "core/fasta.h"
21 #include "core/fa.h"
20 #include "core/fasta_api.h"
21 #include "core/fa_api.h"
2222 #include "core/file_api.h"
23 #include "core/fileutils.h"
23 #include "core/fileutils_api.h"
2424 #include "core/logger.h"
25 #include "core/ma.h"
25 #include "core/ma_api.h"
2626 #include "core/mathsupport.h"
2727 #include "core/option_api.h"
2828 #include "core/output_file_api.h"
1818 #include <ctype.h>
1919 #include <string.h>
2020
21 #include "core/compat.h"
22 #include "core/fa.h"
23 #include "core/ma.h"
21 #include "core/compat_api.h"
22 #include "core/fa_api.h"
23 #include "core/ma_api.h"
2424 #include "core/option_api.h"
2525 #include "core/unused_api.h"
2626 #include "core/versionfunc.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/trans_table_api.h"
1919 #include <stdlib.h>
2020 #include <string.h>
2121 #include "core/assert_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/mathsupport.h"
2424 #include "core/qsort_r_api.h"
2525 #include "core/dual-pivot-qsort.h"
26 #include "core/str.h"
26 #include "core/str_api.h"
2727 #include "core/timer_api.h"
2828 #include "core/radix_sort.h"
2929 #include "core/unused_api.h"
1616
1717 #include <unistd.h>
1818 #include "core/cstr_api.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "core/fileutils_api.h"
2121 #include "core/gtdatapath.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/output_file_api.h"
2424 #include "core/timer_api.h"
2525 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "core/versionfunc.h"
1515 */
1616
1717 #include "core/bioseq.h"
18 #include "core/compat.h"
19 #include "core/fa.h"
20 #include "core/fasta.h"
18 #include "core/compat_api.h"
19 #include "core/fa_api.h"
20 #include "core/fasta_api.h"
2121 #include "core/fileutils_api.h"
22 #include "core/ma.h"
22 #include "core/ma_api.h"
2323 #include "core/option_api.h"
2424 #include "core/output_file.h"
2525 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/option_api.h"
1919 #include "core/output_file_api.h"
2020 #include "extended/add_introns_stream_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/error.h"
17 #include "core/error_api.h"
1818 #include "match/sfx-run.h"
1919 #include "tools/gt_suffixerator.h"
2020
1515 */
1616
1717 #include "core/option_api.h"
18 #include "core/ma.h"
18 #include "core/ma_api.h"
1919 #include "core/str_array.h"
2020 #include "core/unused_api.h"
2121 #include "core/tool_api.h"
1616
1717 #include "core/cstr_array.h"
1818 #include "core/defined-types.h"
19 #include "core/error.h"
19 #include "core/error_api.h"
2020 #include "core/format64.h"
2121 #include "core/intbits.h"
2222 #include "core/logger.h"
2323 #include "core/ma_api.h"
2424 #include "core/option_api.h"
25 #include "core/str.h"
25 #include "core/str_api.h"
2626 #include "core/tool.h"
2727 #include "core/toolbox.h"
2828 #include "core/unused_api.h"
2929 #include "core/versionfunc.h"
30 #include "core/minmax.h"
30 #include "core/minmax_api.h"
3131 #include "match/optionargmode.h"
3232 #include "match/tyr-mkindex.h"
3333 #include "match/tyr-show.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/ma.h"
17 #include "core/ma_api.h"
1818 #include "core/unused_api.h"
1919 #include "tools/gt_template.h"
2020
1717 */
1818
1919 #include <string.h>
20 #include "core/ma.h"
20 #include "core/ma_api.h"
2121 #include "core/str_array_api.h"
2222 #include "core/undef_api.h"
2323 #include "core/unused_api.h"
1414 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1515 */
1616
17 #include "core/error.h"
17 #include "core/error_api.h"
1818 #include "core/option_api.h"
1919 #include "core/versionfunc.h"
2020 #include "match/test-mtrieins.h"
1515 */
1616
1717 #include "core/cstr_array.h"
18 #include "core/error.h"
19 #include "core/ma.h"
18 #include "core/error_api.h"
19 #include "core/ma_api.h"
2020 #include "core/toolbox_api.h"
2121 #include "core/unused_api.h"
2222 #include "tools/gt_wtree.h"
1818
1919 #include "core/chardef.h"
2020 #include "core/encseq_api.h"
21 #include "core/ma.h"
21 #include "core/ma_api.h"
2222 #include "core/mathsupport.h"
2323 #include "core/timer_api.h"
2424 #include "core/unused_api.h"
0 HMMER3/f [3.1b2 | February 2015]
1 NAME MIR
2 ACC DF0000001.4
3 DESC MIR (Mammalian-wide Interspersed Repeat)
4 LENG 262
5 MAXL 426
6 ALPH DNA
7 RF yes
8 MM no
9 CONS yes
10 CS no
11 MAP yes
12 DATE Mon Aug 17 23:04:43 2015
13 NSEQ 2000
14 EFFN 18.549065
15 CKSUM 765031794
16 GA 32.13;
17 TC 32.13;
18 NC 32.13;
19 TH TaxId:9606; TaxName:Homo sapiens; GA:9.20; TC:32.13; NC:9.15; fdr:0.002;
20 TH TaxId:10090; TaxName:Mus musculus; GA:9.95; TC:31.90; NC:9.90; fdr:0.002;
21 BM hmmbuild --eentexp --ere 0.62 --hand --maxinsertlen 10 --dna --fragthresh 1HMM.ann SEED.ann
22 SM nhmmer -Z 2730 --dfamtblout mm10-full_hits -E 1000 --noali HMM.ann dfamseq
23 CT Type; Retrotransposon;
24 CT Class; SINE;
25 CT Superfamily; MIR;
26 MS TaxId:40674 TaxName:Mammalia
27 CC RepeatMasker Annotations:
28 CC Type: SINE
29 CC SubType: MIR
30 CC Species: Mammalia
31 CC SearchStages: 40,60,65
32 CC BufferStages:
33 STATS LOCAL MSV -10.5531 0.70202
34 STATS LOCAL VITERBI -11.4974 0.70202
35 STATS LOCAL FORWARD -4.5297 0.70202
36 HMM A C G T
37 m->m m->i m->d i->m i->i d->m d->d
38 COMPO 1.24875 1.66138 1.53211 1.18033
39 1.38629 1.38629 1.38629 1.38629
40 0.00054 8.21659 8.21659 1.46634 0.26236 0.00000 *
41 1 0.02228 5.13440 4.65519 5.01551 1 A x - -
42 1.38629 1.38629 1.38629 1.38629
43 0.01658 4.80123 4.80123 1.46634 0.26236 1.09861 0.40547
44 2 4.53771 0.10078 4.79318 2.56542 2 C x - -
45 1.38629 1.38629 1.38629 1.38629
46 0.01215 5.10984 5.10984 1.46634 0.26236 1.09861 0.40547
47 3 0.05707 4.17876 4.49080 3.54240 3 A x - -
48 1.38629 1.38629 1.38629 1.38629
49 0.01118 5.19204 5.19204 1.46634 0.26236 1.09861 0.40547
50 4 1.85849 3.38647 0.26555 3.13551 4 g x - -
51 1.40374 1.35347 1.38508 1.40374
52 0.01617 4.81653 4.83517 1.23589 0.34330 1.09861 0.40547
53 5 2.61846 1.94695 2.26838 0.38434 7 t x - -
54 1.40670 1.35479 1.40670 1.37794
55 0.01469 4.85546 4.99116 1.24610 0.33915 1.04247 0.43477
56 6 0.43434 2.54751 1.72432 2.34613 10 a x - -
57 1.34811 1.39036 1.39340 1.41448
58 0.01739 4.85382 4.66313 1.26786 0.33050 1.05772 0.42656
59 7 2.36891 1.76491 2.29258 0.45537 14 t x - -
60 1.43002 1.36875 1.40668 1.34203
61 0.02833 4.51005 4.07855 1.09138 0.40910 1.02924 0.44204
62 8 0.39905 2.67422 1.85406 2.26833 18 a x - -
63 1.35572 1.40355 1.42116 1.36616
64 0.02062 4.82116 4.39413 1.27753 0.32674 0.86530 0.54633
65 9 1.72424 3.31193 0.32107 2.81547 23 g x - -
66 1.31377 1.42900 1.40415 1.40213
67 0.03207 4.27282 4.03879 0.95129 0.48815 0.98289 0.46877
68 10 2.15267 0.78864 2.35581 1.09498 28 c x - -
69 1.41368 1.40615 1.37952 1.34719
70 0.03278 4.96056 3.67946 1.31452 0.31280 1.09579 0.40688
71 11 0.58108 2.28923 1.48482 2.18196 32 a x - -
72 1.39271 1.39297 1.34111 1.42003
73 0.02821 4.45389 4.12383 1.05914 0.42580 0.77482 0.61765
74 12 2.21244 1.46084 2.24537 0.59306 36 t x - -
75 1.43880 1.37086 1.34248 1.39552
76 0.03767 4.66997 3.58999 1.23840 0.34228 0.98891 0.46519
77 13 0.48042 2.57639 1.65983 2.16059 42 a x - -
78 1.38852 1.47208 1.39762 1.29490
79 0.03150 4.23150 4.10569 1.09215 0.40871 0.74082 0.64764
80 14 1.52350 2.66186 0.43324 2.75151 49 g x - -
81 1.32456 1.42462 1.46129 1.34116
82 0.03013 4.25151 4.17094 1.42349 0.27558 1.00423 0.45622
83 15 2.11884 1.89866 2.24255 0.47181 59 t x - -
84 1.41571 1.42666 1.41830 1.29095
85 0.02158 4.38949 4.71716 1.12861 0.39079 1.00656 0.45488
86 16 1.46694 3.01641 0.43655 2.60196 65 g x - -
87 1.23495 1.34980 1.44276 1.54373
88 0.05175 3.64276 3.71924 1.23949 0.34183 1.18678 0.36414
89 17 1.58919 2.75300 0.43961 2.43171 71 g x - -
90 1.35614 1.34917 1.45526 1.38808
91 0.02860 4.25356 4.27033 1.37864 0.29025 1.09612 0.40671
92 18 2.33287 1.76333 2.48576 0.43348 81 t x - -
93 1.33859 1.39880 1.35263 1.45958
94 0.03542 4.36691 3.81183 1.18790 0.36364 1.22268 0.34876
95 19 2.54448 2.36791 2.25925 0.32382 87 t x - -
96 1.39394 1.35423 1.42705 1.37144
97 0.02871 4.22984 4.28724 1.05545 0.42777 0.90516 0.51831
98 20 0.42555 2.38141 1.88316 2.28217 94 a x - -
99 1.49551 1.27909 1.41354 1.36926
100 0.03432 3.79636 4.48417 0.85516 0.55376 1.23850 0.34223
101 21 0.37994 2.73514 1.88972 2.30157 101 a x - -
102 1.34929 1.46923 1.44192 1.29463
103 0.03048 4.25396 4.14708 1.12144 0.39424 1.00053 0.45837
104 22 1.58021 2.67854 0.41461 2.73634 108 g x - -
105 1.35587 1.41800 1.49118 1.29109
106 0.06329 3.89316 3.19539 1.28323 0.32454 1.07070 0.41972
107 23 0.45973 2.32139 2.05067 1.95361 120 a x - -
108 1.20960 1.47240 1.49689 1.39237
109 0.05777 4.26524 3.16801 1.49227 0.25471 1.15789 0.37709
110 24 1.52993 2.63279 0.48571 2.34019 131 g x - -
111 1.33778 1.45755 1.38597 1.36773
112 0.03519 4.09542 4.02153 0.86676 0.54526 0.98068 0.47010
113 25 2.35648 0.61778 2.63656 1.22249 135 c x - -
114 1.44074 1.46130 1.39155 1.26365
115 0.06696 4.25467 2.98437 1.23898 0.34204 1.37184 0.29255
116 26 0.56610 2.17389 1.70217 1.99333 143 a x - -
117 1.32095 1.56511 1.29648 1.38406
118 0.05936 3.77927 3.35832 0.97300 0.47473 1.11569 0.39703
119 27 2.10926 1.13394 2.21895 0.80255 152 t x - -
120 1.41394 1.28740 1.52767 1.33260
121 0.03695 3.88484 4.15230 0.92844 0.50281 0.98588 0.46698
122 28 1.09351 2.91313 0.68966 2.21723 157 g x - -
123 1.39034 1.38293 1.45305 1.32309
124 0.03535 4.12891 3.98308 0.88434 0.53271 1.11625 0.39676
125 29 1.62894 2.92259 0.36316 2.90789 162 g x - -
126 1.39809 1.38399 1.39645 1.36696
127 0.04756 4.79859 3.26474 1.44370 0.26926 1.18651 0.36425
128 30 0.77730 2.40715 1.16632 1.97493 169 a x - -
129 1.30947 1.50251 1.32614 1.41896
130 0.03793 3.92960 4.04144 0.91871 0.50922 1.11350 0.39810
131 31 2.39022 0.54237 2.46575 1.41850 174 c x - -
132 1.31279 1.48561 1.44090 1.31732
133 0.03055 4.35731 4.05836 1.47094 0.26099 0.80946 0.58896
134 32 2.45063 2.07422 2.87997 0.31202 184 t x - -
135 1.50226 1.43203 1.25730 1.36991
136 0.09971 3.77014 2.63314 1.13262 0.38889 1.11430 0.39771
137 33 2.48707 0.56052 2.61006 1.30046 195 c x - -
138 1.27377 1.47061 1.45578 1.35782
139 0.04087 4.24399 3.66147 1.51542 0.24810 0.90221 0.52032
140 34 2.29881 2.27283 2.56652 0.32878 203 t x - -
141 1.41300 1.40713 1.42921 1.30106
142 0.02492 4.41189 4.38383 0.93383 0.49930 0.86801 0.54436
143 35 1.43060 2.94788 0.44710 2.67504 206 g x - -
144 1.40062 1.35458 1.53495 1.27284
145 0.04091 4.22950 3.66821 1.26587 0.33128 1.19891 0.35885
146 36 1.54075 2.92782 0.40527 2.72620 215 g x - -
147 1.42504 1.31935 1.43934 1.36608
148 0.04499 4.30552 3.48991 1.12140 0.39426 0.91793 0.50973
149 37 0.32152 2.86226 2.25423 2.18161 221 a x - -
150 1.36740 1.39413 1.42591 1.35910
151 0.03670 4.37851 3.75118 1.11201 0.39883 1.08217 0.41379
152 38 1.78719 3.01196 0.32706 2.77523 227 g x - -
153 1.25062 1.54682 1.31038 1.46521
154 0.03354 3.75586 4.64571 1.33716 0.30461 1.06366 0.42341
155 39 2.23456 0.81748 2.51352 0.99308 240 c x - -
156 1.28356 1.50667 1.38423 1.38315
157 0.06041 4.14848 3.15036 1.26790 0.33048 1.26773 0.33055
158 40 2.72537 0.44130 2.86314 1.45163 249 c x - -
159 1.40503 1.37947 1.38459 1.37634
160 0.03410 4.72565 3.70271 1.21330 0.35270 0.93919 0.49584
161 41 0.33514 2.61113 2.41791 2.10207 254 a x - -
162 1.29877 1.38858 1.48978 1.37721
163 0.05481 3.94521 3.38173 0.92193 0.50708 1.48138 0.25790
164 42 1.64182 2.58328 0.40122 2.79126 258 g x - -
165 1.36403 1.41792 1.34959 1.41549
166 0.06899 4.40422 2.91067 1.46742 0.26204 1.47683 0.25924
167 43 0.40670 2.40837 1.86741 2.41161 267 a x - -
168 1.27778 1.42447 1.39834 1.45371
169 0.07086 4.09717 2.96068 1.64267 0.21501 1.08003 0.41489
170 44 2.08194 0.62881 2.28108 1.42749 281 c x - -
171 1.14121 1.47948 1.51076 1.46072
172 0.06445 3.56721 3.37599 0.65910 0.72839 1.18460 0.36510
173 45 1.79717 2.10332 2.31089 0.48938 287 t x - -
174 1.35652 1.42573 1.43460 1.33218
175 0.05255 4.19864 3.31938 1.06759 0.42135 1.39652 0.28430
176 46 1.58040 2.64302 0.46713 2.34172 294 g x - -
177 1.05914 1.69382 1.68583 1.25829
178 0.09818 2.67785 3.69673 0.88969 0.52896 0.87449 0.53970
179 47 2.62696 0.46540 2.65494 1.47179 304 c x - -
180 1.18948 1.49400 1.41589 1.47649
181 0.07024 3.56723 3.22907 0.93868 0.49617 1.30724 0.31549
182 48 2.47496 0.46340 3.02567 1.43478 313 c x - -
183 1.26323 1.40078 1.40093 1.49394
184 0.03862 3.70282 4.32537 0.65107 0.73707 0.90539 0.51816
185 49 2.96341 2.41044 3.01991 0.21100 318 t x - -
186 1.41222 1.31441 1.47896 1.34748
187 0.02708 4.50307 4.15772 1.50308 0.25160 1.05436 0.42835
188 50 1.61859 3.13485 0.38545 2.54887 327 g x - -
189 1.14713 1.73643 1.80051 1.07560
190 0.03882 3.68837 4.33803 2.04454 0.13862 1.07783 0.41602
191 51 1.63376 3.22050 0.37052 2.59697 343 g x - -
192 1.40713 1.35553 1.42591 1.35847
193 0.05847 4.01926 3.24858 0.96708 0.47835 1.35323 0.29895
194 52 1.49222 2.53271 0.48874 2.49761 349 g x - -
195 1.20924 1.44377 1.53056 1.38980
196 0.04057 3.70788 4.18466 1.65756 0.21147 0.86054 0.54980
197 53 2.81347 1.97397 2.95273 0.28915 363 t x - -
198 1.24631 1.41068 1.42933 1.47408
199 0.04372 3.98390 3.72274 0.98233 0.46911 1.11841 0.39571
200 54 2.90777 2.31576 2.67028 0.25170 371 t x - -
201 1.31923 1.45237 1.42305 1.35610
202 0.03341 4.40234 3.88187 1.34373 0.30228 1.17784 0.36809
203 55 2.36712 0.84588 2.32796 0.96870 379 c x - -
204 1.37647 1.42993 1.43095 1.31259
205 0.03848 4.18988 3.78995 1.30229 0.31733 0.91125 0.51420
206 56 0.76756 2.37269 1.09936 2.21144 388 a x - -
207 1.12696 1.88267 1.90671 0.98021
208 0.07622 3.04428 3.65909 1.88084 0.16542 1.20026 0.35827
209 57 0.34907 2.47591 2.17714 2.33093 413 a x - -
210 1.40727 1.35709 1.44928 1.33544
211 0.03349 4.52916 3.80993 1.17038 0.37142 1.38455 0.28827
212 58 0.36024 2.72239 1.92568 2.39690 419 a x - -
213 1.12038 1.48787 1.50735 1.48504
214 0.02954 4.51997 4.00549 1.49279 0.25456 1.21321 0.35274
215 59 2.58544 1.99422 2.76717 0.32065 429 t x - -
216 1.51639 1.61925 1.03840 1.47652
217 0.05635 3.54134 3.65683 2.27472 0.10851 1.28694 0.32312
218 60 2.42228 0.50904 2.54338 1.46271 460 c x - -
219 1.27755 1.50771 1.40276 1.37063
220 0.02687 4.31515 4.33175 1.27526 0.32761 1.49370 0.25430
221 61 2.58714 0.46693 3.02251 1.38965 468 c x - -
222 1.25924 1.45949 1.48013 1.36192
223 0.05877 4.45206 3.09176 1.44100 0.27009 1.48990 0.25540
224 62 2.09921 0.91278 2.66655 0.90005 477 t x - -
225 1.45573 1.48165 1.52435 1.13400
226 0.05226 4.10489 3.36898 1.12731 0.39142 0.91012 0.51496
227 63 0.90331 2.67796 0.90244 2.11616 482 g x - -
228 1.30990 1.45648 1.46740 1.32211
229 0.03883 4.17921 3.78216 1.22378 0.34830 1.72646 0.19591
230 64 1.56426 2.67192 0.45050 2.47307 490 g x - -
231 1.17055 1.56333 1.55650 1.31122
232 0.04354 3.65399 4.09122 1.81036 0.17864 1.46232 0.26357
233 65 2.60256 0.46901 2.70895 1.45377 511 c x - -
234 1.30190 1.30289 1.46164 1.49439
235 0.02556 4.50208 4.25770 1.36467 0.29499 1.26640 0.33107
236 66 2.72835 2.46577 3.27039 0.20858 518 t x - -
237 1.22901 1.57731 1.37510 1.39403
238 0.05364 3.95156 3.41126 1.76433 0.18790 1.55615 0.23692
239 67 2.72217 0.44397 2.62218 1.51350 534 c x - -
240 1.22194 1.49169 1.46775 1.38667
241 0.04378 4.09410 3.64334 1.85295 0.17052 1.20909 0.35449
242 68 2.06770 1.54794 2.65255 0.52701 549 t x - -
243 1.24883 1.43690 1.47061 1.40360
244 0.04335 4.43004 3.48961 1.26448 0.33182 1.24839 0.33823
245 69 1.11901 2.56682 0.76985 2.01338 554 g x - -
246 1.15296 1.60171 1.41904 1.42378
247 0.03549 4.01806 4.08190 1.77438 0.18583 1.39161 0.28592
248 70 2.19291 0.57601 2.55038 1.39343 569 c x - -
249 1.25953 1.61043 1.31828 1.39104
250 0.04429 3.99247 3.69407 1.60440 0.22441 1.40668 0.28098
251 71 2.39661 0.49004 2.84886 1.43355 580 c x - -
252 1.43744 1.48298 1.43476 1.21291
253 0.05308 4.19578 3.30664 2.12890 0.12666 1.25401 0.33597
254 72 0.37957 2.40109 2.25915 2.11371 599 a x - -
255 1.30092 1.48498 1.38901 1.37877
256 0.05509 4.30844 3.21513 1.51062 0.24945 1.29196 0.32121
257 73 2.62433 0.50765 2.67577 1.35966 609 c x - -
258 1.32030 1.42938 1.35325 1.44779
259 0.03486 4.03841 4.09614 0.96597 0.47902 1.22517 0.34773
260 74 2.43390 1.93258 2.71414 0.35486 614 t x - -
261 1.40002 1.36636 1.38890 1.39020
262 0.05362 4.28858 3.25746 1.28426 0.32415 1.49081 0.25514
263 75 2.41912 2.04593 2.64574 0.34138 621 t x - -
264 1.49843 1.47442 1.28808 1.30266
265 0.07666 3.60567 3.06559 1.04162 0.43523 1.37870 0.29023
266 76 0.49572 2.17189 1.93205 2.02454 632 a x - -
267 1.35865 1.58803 1.31904 1.30462
268 0.05334 3.87714 3.46629 1.40636 0.28108 1.49638 0.25353
269 77 2.20294 0.61404 2.23232 1.42261 644 c x - -
270 1.19648 1.46857 1.54936 1.36607
271 0.05823 3.64577 3.49118 0.98555 0.46718 1.51251 0.24892
272 78 2.02236 1.81073 2.55611 0.46758 651 t x - -
273 1.20068 1.53987 1.49876 1.34249
274 0.06445 4.09725 3.08355 1.58982 0.22811 1.07185 0.41912
275 79 0.39039 2.69472 1.90846 2.23177 664 a x - -
276 1.26243 1.47075 1.58708 1.26316
277 0.05107 3.87980 3.53592 1.25504 0.33556 1.22837 0.34640
278 80 1.75461 2.77899 0.38521 2.46958 673 g x - -
279 1.37260 1.44473 1.32732 1.40423
280 0.03177 4.41424 3.95464 1.14066 0.38509 1.28460 0.32402
281 81 2.41695 0.43154 2.86555 1.58792 678 c x - -
282 1.29866 1.38502 1.57187 1.31257
283 0.03111 4.41634 3.98724 1.98811 0.14729 1.49782 0.25311
284 82 2.71459 2.13976 2.94284 0.27001 694 t x - -
285 1.42538 1.49931 1.41067 1.22991
286 0.05999 4.14682 3.16028 1.05763 0.42661 1.31146 0.31393
287 83 1.45155 2.44686 0.51945 2.47245 701 g x - -
288 1.21360 1.39262 1.51262 1.45192
289 0.05040 4.04074 3.45580 1.14709 0.38208 1.36745 0.29404
290 84 2.07826 2.09466 2.50328 0.40059 707 t x - -
291 1.26422 1.54971 1.46889 1.29080
292 0.03492 4.18314 3.95966 1.50407 0.25132 1.47095 0.26098
293 85 1.54200 3.19227 0.37532 2.84908 718 g x - -
294 1.24224 1.37210 1.53489 1.41795
295 0.07215 3.88401 3.01515 1.52308 0.24595 1.40671 0.28097
296 86 2.60677 2.50300 2.81473 0.24275 731 t x - -
297 1.36612 1.33633 1.44242 1.40347
298 0.03245 4.61340 3.81628 1.21744 0.35096 1.67552 0.20728
299 87 1.66789 2.91221 0.37340 2.67930 736 g x - -
300 1.51639 1.37406 1.26311 1.40793
301 0.02648 4.28199 4.39710 1.90180 0.16170 1.11439 0.39767
302 88 0.37328 2.54500 2.01667 2.30300 751 a x - -
303 1.16244 1.51486 1.68796 1.26392
304 0.03401 4.16139 4.02550 2.06258 0.13596 1.60234 0.22493
305 89 2.27689 0.50374 2.82772 1.45252 769 c x - -
306 1.20556 1.49320 1.50067 1.37499
307 0.04933 3.90136 3.57846 1.62380 0.21959 1.54612 0.23962
308 90 2.35325 0.55130 2.74303 1.33043 779 c x - -
309 1.39470 1.44715 1.23708 1.48448
310 0.02669 4.07393 4.67473 1.55377 0.23756 1.20931 0.35440
311 91 2.37411 2.06677 2.74709 0.33380 788 t x - -
312 1.27530 1.33636 1.49976 1.44958
313 0.04799 4.03649 3.53382 1.46133 0.26387 1.31484 0.31268
314 92 2.72430 2.31220 2.57949 0.27503 799 t x - -
315 1.34714 1.55764 1.45562 1.21696
316 0.04084 4.11595 3.74192 1.98729 0.14742 1.20065 0.35810
317 93 1.59319 3.10702 0.38038 2.68260 814 g x - -
318 1.26622 1.52321 1.48380 1.29711
319 0.03148 4.18833 4.14670 1.76072 0.18865 1.42295 0.27575
320 94 1.37264 3.08988 0.44656 2.79305 828 g x - -
321 1.43767 1.32179 1.49300 1.30503
322 0.04686 4.00869 3.58917 1.30945 0.31467 1.66490 0.20975
323 95 1.65898 2.90427 0.36544 2.79711 834 g x - -
324 1.42480 1.44245 1.26362 1.42516
325 0.03920 4.05475 3.85855 0.77299 0.61921 1.29348 0.32064
326 96 2.11898 0.49805 2.62402 1.61134 838 c x - -
327 1.40567 1.47069 1.42565 1.25639
328 0.04479 4.10959 3.59760 1.14860 0.38138 1.23608 0.34323
329 97 0.26201 2.54230 2.60541 2.55184 846 a x - -
330 1.40373 1.42393 1.39665 1.32376
331 0.03670 4.39682 3.74153 1.13948 0.38564 1.69469 0.20292
332 98 0.33390 2.57661 2.16693 2.37180 851 a x - -
333 1.41557 1.41043 1.50233 1.23594
334 0.03366 4.29096 3.94219 1.87780 0.16597 1.68412 0.20531
335 99 1.50844 2.89586 0.44486 2.49401 865 g x - -
336 1.49660 1.31743 1.37164 1.36808
337 0.04752 3.57846 3.99029 1.28326 0.32453 1.50390 0.25136
338 100 2.52460 1.91304 2.48869 0.37214 872 t x - -
339 1.40880 1.49950 1.18772 1.48102
340 0.05380 4.51346 3.18400 1.47579 0.25955 1.37728 0.29070
341 101 2.50038 1.79674 2.33223 0.42308 881 t x - -
342 1.49506 1.39973 1.36690 1.29388
343 0.05752 4.29123 3.16518 1.54414 0.24016 1.23940 0.34187
344 102 0.45624 2.34293 1.88516 2.13297 891 a x - -
345 1.12979 1.45794 1.58642 1.42909
346 0.06330 3.59373 3.38610 1.62011 0.22049 1.34203 0.30288
347 103 2.36177 0.58178 2.52765 1.32051 905 c x - -
348 1.25820 1.44166 1.38325 1.47606
349 0.03767 3.94507 4.03902 0.81973 0.58080 1.54984 0.23862
350 104 2.35983 2.15030 2.46238 0.35114 909 t x - -
351 1.31500 1.37683 1.43037 1.42742
352 0.03523 3.98266 4.13638 1.06507 0.42267 1.52873 0.24438
353 105 2.63019 1.94942 2.31242 0.37607 915 t x - -
354 1.48186 1.47392 1.46217 1.16467
355 0.05197 3.89125 3.49916 1.26610 0.33119 1.19578 0.36020
356 106 0.40798 2.23254 2.14209 2.20415 926 a x - -
357 1.84968 1.65489 1.42169 0.89088
358 0.06727 3.59966 3.27741 1.80848 0.17901 1.26256 0.33258
359 107 0.32837 2.51164 2.21630 2.41068 946 a x - -
360 1.29675 1.51129 1.50606 1.25817
361 0.04645 3.67771 3.90662 1.05127 0.43001 1.28670 0.32321
362 108 1.74912 0.67347 2.50934 1.44896 955 c x - -
363 1.23509 1.32534 1.51162 1.50091
364 0.04170 4.34788 3.57894 1.39943 0.28334 1.43130 0.27312
365 109 2.24206 0.60238 2.56828 1.31086 961 c x - -
366 1.36600 1.41428 1.37796 1.38757
367 0.02776 4.76065 3.97300 1.20169 0.35765 1.23808 0.34241
368 110 2.42963 2.50330 2.85009 0.25841 965 t x - -
369 1.34530 1.32100 1.48910 1.39799
370 0.04480 4.15511 3.57099 1.73717 0.19361 1.15603 0.37794
371 111 2.32461 0.51764 2.70740 1.42903 980 c x - -
372 1.35678 1.42704 1.46196 1.30670
373 0.03974 4.26222 3.69400 1.40011 0.28312 1.12049 0.39470
374 112 2.70540 2.20831 3.07737 0.25207 989 t x - -
375 1.41881 1.10511 1.49787 1.59348
376 0.07049 3.58428 3.21121 1.49567 0.25373 1.20843 0.35477
377 113 2.51414 0.43769 2.52007 1.64460 999 c x - -
378 1.31788 1.36084 1.48274 1.39095
379 0.02510 4.35667 4.42562 1.17509 0.36931 1.28744 0.32293
380 114 2.23161 2.23049 2.71424 0.33001 1005 t x - -
381 1.44481 1.46174 1.36636 1.28250
382 0.04649 4.57361 3.34936 1.39378 0.28520 1.04742 0.43208
383 115 1.40178 2.47378 0.53838 2.45481 1013 g x - -
384 1.39480 1.38910 1.34730 1.41520
385 0.05743 4.29499 3.16590 1.33765 0.30444 1.24440 0.33984
386 116 1.56145 2.33669 2.00900 0.58089 1020 t x - -
387 1.14169 1.54485 1.61130 1.31770
388 0.05931 3.66792 3.44021 1.28160 0.32517 1.08498 0.41235
389 117 1.64656 2.84776 0.41854 2.39352 1032 g x - -
390 1.57209 1.47021 1.29085 1.24662
391 0.03835 3.93067 4.01777 1.32414 0.30929 1.30829 0.31510
392 118 2.36969 0.41413 2.77231 1.69794 1038 c x - -
393 1.45937 1.44636 1.52873 1.15397
394 0.03717 3.96741 4.04159 1.44089 0.27013 1.33881 0.30402
395 119 2.67623 0.41261 3.70516 1.40789 1048 c x - -
396 1.13978 1.77995 1.49020 1.25129
397 0.04307 3.52371 4.36920 2.16744 0.12157 1.23182 0.34498
398 120 3.36280 2.52698 4.04689 0.14158 1076 t x - -
399 1.49194 1.38806 1.69457 1.07345
400 0.07704 3.60471 3.05868 1.98462 0.14784 1.19632 0.35997
401 121 2.96380 0.38683 3.12985 1.48967 1100 c x - -
402 1.38381 1.46888 1.41672 1.28488
403 0.03226 4.30906 4.00105 1.32559 0.30877 1.19431 0.36085
404 122 0.38461 2.35133 2.22323 2.15603 1109 a x - -
405 1.38396 1.47780 1.46042 1.24085
406 0.05309 4.30138 3.26608 1.34360 0.30233 0.91912 0.50894
407 123 1.65786 2.68890 0.42996 2.39732 1117 g x - -
408 1.27190 1.85563 1.31312 1.22294
409 0.02938 4.17163 4.30333 2.15860 0.12272 1.07293 0.41856
410 124 2.57479 2.32037 2.79095 0.26889 1137 t x - -
411 1.40393 1.35913 1.34677 1.43798
412 0.02259 4.48640 4.50262 1.04895 0.43125 1.32118 0.31036
413 125 2.89847 2.79152 2.50280 0.22101 1140 t x - -
414 1.27422 1.32362 1.47397 1.49091
415 0.04546 3.88814 3.73123 0.94740 0.49061 1.40119 0.28277
416 126 2.75330 2.39243 2.93764 0.23334 1145 t x - -
417 1.45870 1.45578 1.31609 1.32404
418 0.02815 4.17945 4.38606 1.02557 0.44409 1.09008 0.40976
419 127 2.50427 0.61564 2.50852 1.21544 1150 c x - -
420 1.58369 1.58876 1.42670 1.04838
421 0.03219 4.12453 4.16680 1.80969 0.17877 1.27061 0.32942
422 128 2.47764 0.44982 3.01414 1.47305 1166 c x - -
423 1.26279 1.41055 1.47620 1.40804
424 0.03252 4.56368 3.83646 1.33845 0.30415 1.23793 0.34247
425 129 2.69855 2.21063 2.93550 0.26141 1172 t x - -
426 1.35362 1.71231 1.49982 1.08448
427 0.06485 3.71245 3.26028 1.48660 0.25636 1.18064 0.36684
428 130 2.43025 0.51667 2.42993 1.48088 1184 c x - -
429 1.49343 1.43168 1.43394 1.21024
430 0.03834 4.34867 3.70151 1.27182 0.32895 0.89433 0.52574
431 131 0.35436 2.21127 2.38978 2.33134 1190 a x - -
432 1.15943 1.66595 1.66904 1.17475
433 0.04116 3.87186 3.93727 2.22458 0.11442 1.12035 0.39477
434 132 2.41167 1.86810 2.81537 0.36236 1233 t x - -
435 1.39356 1.44352 1.40466 1.30836
436 0.03234 4.27149 4.02536 1.01959 0.44745 1.06660 0.42186
437 133 2.34129 0.50103 2.50744 1.53056 1238 c x - -
438 1.12623 1.77396 1.56388 1.21482
439 0.02728 4.11649 4.54609 2.17469 0.12064 1.29674 0.31941
440 134 2.53002 2.60044 3.23686 0.21466 1266 t x - -
441 1.38578 1.34669 1.57186 1.26545
442 0.05085 3.88774 3.53735 1.29165 0.32133 1.08607 0.41179
443 135 1.31959 2.63417 0.54188 2.53421 1279 g x - -
444 1.12495 1.49400 1.50529 1.47445
445 0.03729 4.32405 3.75665 1.71579 0.19823 1.03910 0.43660
446 136 2.36060 1.97836 2.60181 0.36643 1289 t x - -
447 1.48699 1.25659 1.54767 1.28524
448 0.03049 4.06586 4.35221 1.31509 0.31259 1.19793 0.35928
449 137 0.38429 2.45206 2.01057 2.31224 1296 a x - -
450 1.38296 1.47483 1.40725 1.28905
451 0.02707 4.12480 4.55288 1.14180 0.38455 1.33282 0.30616
452 138 0.21262 2.75763 2.76192 2.73448 1304 a x - -
453 1.74330 1.14645 1.60857 1.18051
454 0.03335 3.86405 4.43821 2.00541 0.14457 1.33392 0.30577
455 139 0.26358 2.65227 2.39757 2.65532 1325 a x - -
456 1.45813 1.36385 1.40750 1.32089
457 0.05437 4.31464 3.23018 1.33477 0.30546 1.39047 0.28629
458 140 0.28718 2.86755 2.20596 2.49327 1334 a x - -
459 1.66711 1.99042 0.67325 1.80469
460 0.06411 3.31483 3.65918 2.05823 0.13660 1.03814 0.43713
461 141 2.79081 2.26035 2.64606 0.26999 1363 t x - -
462 1.37091 1.39302 1.40954 1.37222
463 0.02594 4.90643 4.00608 1.32400 0.30934 1.18823 0.36350
464 142 1.54441 3.48118 0.38095 2.62313 1367 g x - -
465 1.24130 1.58960 1.51049 1.25113
466 0.03873 3.79593 4.16544 1.51910 0.24706 1.27618 0.32726
467 143 1.36471 3.16131 0.46684 2.58768 1382 g x - -
468 1.39458 1.42098 1.38490 1.34615
469 0.04049 4.65010 3.50241 1.25606 0.33516 1.58629 0.22901
470 144 1.32119 2.84712 0.53186 2.43425 1388 g x - -
471 1.30593 1.48143 1.53846 1.24808
472 0.08269 3.69915 2.90742 1.30758 0.31536 1.68125 0.20597
473 145 1.36675 2.68718 0.53120 2.41807 1399 g x - -
474 1.35062 1.81104 1.21117 1.27443
475 0.04491 3.60312 4.09354 2.16415 0.12200 1.12321 0.39339
476 146 0.34951 2.51481 2.10621 2.38174 1423 a x - -
477 1.38662 1.62750 1.08162 1.53891
478 0.04193 3.74460 4.05050 1.25353 0.33617 1.47654 0.25932
479 147 2.36759 2.08651 2.61014 0.34439 1432 t x - -
480 1.20874 1.63811 1.44891 1.30102
481 0.05036 3.64460 3.77303 1.89564 0.16278 1.31276 0.31345
482 148 0.42313 2.68493 1.77747 2.22827 1450 a x - -
483 1.28808 1.60444 1.41641 1.27077
484 0.03882 4.01166 3.91326 1.70233 0.20121 1.57221 0.23267
485 149 0.37088 2.48933 1.95408 2.46259 1465 a x - -
486 1.25656 1.54926 1.42208 1.34036
487 0.06025 3.72376 3.37179 1.41193 0.27928 1.44442 0.26903
488 150 2.15933 2.08718 2.46687 0.39199 1477 t x - -
489 1.39330 1.40781 1.45767 1.29358
490 0.04172 3.82885 3.95641 1.48020 0.25824 1.45788 0.26492
491 151 0.39637 2.46600 1.96007 2.28801 1488 a x - -
492 1.06754 1.86533 1.67768 1.15679
493 0.09288 3.08009 3.15266 2.16460 0.12194 1.59976 0.22558
494 152 0.35321 2.73205 1.96144 2.38786 1514 a x - -
495 1.27928 1.60089 1.61483 1.13595
496 0.06937 3.45317 3.34170 1.77723 0.18525 1.35278 0.29911
497 153 2.81175 1.87546 2.39881 0.36271 1535 t x - -
498 1.06308 1.77953 1.94251 1.07134
499 0.06024 3.46973 3.59968 2.28025 0.10787 1.69381 0.20312
500 154 0.36813 2.66610 1.92838 2.37442 1573 a x - -
501 1.09936 1.81119 1.48470 1.28415
502 0.09298 3.10632 3.12305 2.10264 0.13026 0.98561 0.46715
503 155 1.48636 2.98913 0.45275 2.43502 1595 g x - -
504 1.19218 1.64859 1.29060 1.47397
505 0.06346 3.50441 3.46010 1.54322 0.24041 1.52459 0.24553
506 156 2.44269 1.79381 2.52514 0.40541 1608 t x - -
507 1.53343 1.34601 1.51151 1.19286
508 0.06948 3.36451 3.42534 0.86368 0.54751 1.38540 0.28798
509 157 0.43472 2.51148 1.91939 2.08175 1613 a x - -
510 1.03116 1.78089 1.52490 1.35760
511 0.05865 3.45523 3.67380 1.50877 0.24998 1.05321 0.42896
512 158 2.09366 0.63643 2.62779 1.28971 1629 c x - -
513 1.29795 1.62497 1.49479 1.18516
514 0.05520 3.73343 3.51341 1.50013 0.25245 1.26179 0.33288
515 159 2.21472 0.54960 2.67275 1.40824 1644 c x - -
516 1.18450 1.54157 1.47029 1.38550
517 0.04310 3.95940 3.76769 1.15219 0.37971 1.29678 0.31940
518 160 2.39575 1.98114 3.10822 0.31979 1650 t x - -
519 1.25973 1.46613 1.56755 1.28410
520 0.04797 3.89314 3.63238 2.06116 0.13617 1.27627 0.32722
521 161 0.43270 2.39183 1.92739 2.16930 1669 a x - -
522 1.42198 1.82600 1.96033 0.78330
523 0.03779 3.68845 4.41672 2.25268 0.11106 1.30842 0.31505
524 162 2.32990 0.58223 2.62295 1.30396 1697 c x - -
525 1.20884 1.76503 1.53232 1.15760
526 0.03908 4.18582 3.76736 2.15460 0.12324 1.49703 0.25334
527 163 2.31690 0.61219 2.61843 1.25058 1716 c x - -
528 1.27991 1.41217 1.41588 1.44558
529 0.02824 4.19522 4.35980 1.31846 0.31136 1.22745 0.34678
530 164 2.54399 2.25872 2.75807 0.28296 1726 t x - -
531 1.34769 1.52311 1.32991 1.35625
532 0.04157 4.10765 3.71835 1.55108 0.23828 1.29401 0.32044
533 165 2.35826 0.53178 2.48752 1.44926 1737 c x - -
534 1.47902 1.37594 1.55385 1.17732
535 0.04062 3.59620 4.39175 0.83363 0.56999 1.20541 0.35606
536 166 0.38888 2.36285 2.16095 2.18197 1745 a x - -
537 1.30649 1.52917 1.30788 1.41831
538 0.06700 3.73070 3.19842 1.23887 0.34208 1.14426 0.38340
539 167 2.11907 1.59286 2.39613 0.53539 1754 t x - -
540 1.48853 1.47294 1.37247 1.23249
541 0.05675 3.88037 3.36594 0.99727 0.46027 1.02723 0.44316
542 168 0.39707 2.70510 1.95519 2.12604 1762 a x - -
543 1.20289 1.45735 1.74074 1.23295
544 0.05278 3.37394 4.06524 1.47998 0.25831 1.07787 0.41600
545 169 1.49497 3.14586 0.42765 2.51737 1777 g x - -
546 1.28080 1.41112 1.58367 1.29795
547 0.04787 3.84367 3.67583 1.24777 0.33848 1.41778 0.27740
548 170 1.32293 2.63578 0.58094 2.27684 1788 g x - -
549 1.33379 1.40191 1.48038 1.33619
550 0.05586 4.39347 3.17072 1.41774 0.27742 1.50431 0.25125
551 171 1.31925 2.65969 0.58235 2.26231 1798 g x - -
552 1.20872 1.37877 1.65710 1.35153
553 0.04682 3.52515 4.11692 1.05235 0.42942 1.06019 0.42524
554 172 2.39800 1.84425 2.95134 0.35855 1808 t x - -
555 1.13915 1.60204 1.41531 1.44574
556 0.03465 4.07019 4.07582 1.81158 0.17840 1.09469 0.40743
557 173 2.39448 2.21569 2.31204 0.35576 1825 t x - -
558 1.23683 1.57563 1.52584 1.25393
559 0.03859 3.87278 4.07151 1.10269 0.40343 1.18337 0.36564
560 174 1.28919 2.65478 0.58302 2.34358 1830 g x - -
561 1.37147 1.33026 1.48728 1.36308
562 0.03604 4.11796 3.95713 1.35892 0.29698 1.14026 0.38527
563 175 2.62080 1.75998 2.74890 0.36931 1840 t x - -
564 1.18882 1.39929 1.49613 1.49320
565 0.08135 3.61816 2.97017 1.05501 0.42800 1.47672 0.25927
566 176 2.29923 2.24141 2.49511 0.34127 1847 t x - -
567 1.12833 1.63773 1.59937 1.27303
568 0.03968 3.90549 3.97549 1.61616 0.22147 1.35334 0.29891
569 177 1.38400 2.90432 0.51171 2.35208 1858 g x - -
570 1.27802 1.37812 1.46134 1.43787
571 0.05775 4.22580 3.18204 1.11001 0.39982 1.25504 0.33556
572 178 2.55691 2.27316 2.49166 0.30558 1864 t x - -
573 1.44839 1.49267 1.50668 1.14371
574 0.04334 3.53840 4.31577 0.83486 0.56905 0.81367 0.58560
575 179 1.41269 3.30913 0.40692 2.91387 1871 g x - -
576 1.41374 1.34817 1.41983 1.36533
577 0.02974 4.25310 4.19411 1.41491 0.27832 0.99332 0.46258
578 180 0.24915 2.89834 2.40011 2.59413 1880 a x - -
579 1.16827 1.52561 1.49766 1.39451
580 0.04720 3.79095 3.74941 0.81177 0.58712 1.28708 0.32307
581 181 1.35594 3.21574 0.45482 2.69403 1885 g x - -
582 1.29958 1.45521 1.53699 1.27663
583 0.04476 4.40886 3.45439 1.46823 0.26180 1.40308 0.28215
584 182 1.51663 2.73286 0.48737 2.28988 1894 g x - -
585 1.10917 1.86392 2.10344 0.93378
586 0.04452 3.48423 4.35322 2.28111 0.10778 0.91045 0.51474
587 183 0.27436 2.79227 2.35270 2.48234 1931 a x - -
588 1.12943 1.39811 1.54925 1.52642
589 0.02989 3.91894 4.64723 1.71478 0.19845 1.02410 0.44491
590 184 2.38539 2.13620 2.67078 0.32761 1947 t x - -
591 0.99828 1.86679 1.88292 1.12478
592 0.05333 3.69255 3.61108 2.08939 0.13212 1.17498 0.36936
593 185 2.27600 2.19211 2.42882 0.36028 1973 t x - -
594 1.63235 1.42304 1.32790 1.20893
595 0.04088 3.67894 4.21245 1.22861 0.34630 1.28118 0.32533
596 186 0.32090 2.25962 2.51866 2.41298 1979 a x - -
597 1.42507 1.49652 1.55992 1.12255
598 0.04094 3.84737 3.97490 1.70830 0.19988 1.33660 0.30481
599 187 0.26933 2.48631 2.63522 2.51096 1995 a x - -
600 1.42285 1.50997 1.44028 1.20000
601 0.04616 3.91348 3.68336 1.51741 0.24754 1.40067 0.28294
602 188 0.34580 2.48911 2.07017 2.48649 2006 a x - -
603 1.34549 1.37951 1.42445 1.39738
604 0.03613 4.04441 4.01957 1.15103 0.38025 1.14798 0.38167
605 189 2.74053 2.57864 2.78445 0.22587 2012 t x - -
606 1.32498 1.44279 1.56038 1.24526
607 0.06103 3.88204 3.25470 1.53627 0.24230 0.97109 0.47589
608 190 1.37487 2.82211 0.56363 2.13276 2025 g x - -
609 1.28485 1.54711 1.51100 1.23871
610 0.04774 3.69506 3.82725 1.41616 0.27792 1.36979 0.29324
611 191 0.28217 2.67450 2.33746 2.52150 2035 a x - -
612 1.05587 1.59309 1.56556 1.42777
613 0.08009 3.26891 3.24639 1.64250 0.21505 1.44006 0.27038
614 192 1.45546 3.03799 0.44753 2.53111 2054 g x - -
615 1.06723 1.58707 1.42667 1.55396
616 0.07144 3.53963 3.22071 1.69610 0.20260 1.27845 0.32638
617 193 1.48683 1.86547 2.25549 0.66501 2072 t x - -
618 1.31744 1.44111 1.52673 1.27917
619 0.07954 3.44778 3.10898 1.37148 0.29267 1.36287 0.29561
620 194 2.25149 1.97908 2.48412 0.39577 2084 t x - -
621 1.35415 1.42031 1.43285 1.34107
622 0.02984 4.23167 4.20851 1.30322 0.31698 0.98128 0.46973
623 195 0.31160 2.60900 2.32018 2.34485 2092 a x - -
624 1.32779 1.44529 1.55647 1.24348
625 0.06883 3.24359 3.59376 1.52294 0.24599 1.31554 0.31243
626 196 0.42706 2.21826 2.03160 2.22886 2110 a x - -
627 1.14023 1.52610 1.47192 1.45506
628 0.06669 3.47836 3.39167 1.67973 0.20632 1.13897 0.38588
629 197 2.52955 1.95607 2.81967 0.32952 2122 t x - -
630 1.20669 1.58689 1.56327 1.24896
631 0.06881 3.66993 3.19383 1.79691 0.18129 1.28789 0.32276
632 198 0.60562 2.16000 1.57678 2.02269 2142 a x - -
633 1.18208 1.46713 1.47149 1.45589
634 0.04255 4.10021 3.68524 1.41453 0.27844 1.15416 0.37881
635 199 2.26133 0.75159 2.61918 1.04608 2154 c x - -
636 1.38065 1.56287 1.50557 1.14835
637 0.04717 3.72929 3.81359 1.06093 0.42485 1.44218 0.26973
638 200 0.40308 2.48053 2.08375 2.09085 2161 a x - -
639 1.21043 1.61584 1.42718 1.33476
640 0.04594 4.13199 3.54572 1.56322 0.23504 1.02357 0.44521
641 201 2.32105 2.17984 2.49518 0.34773 2174 t x - -
642 1.07100 1.56268 1.59852 1.40420
643 0.05269 3.86521 3.49433 1.37447 0.29166 1.22005 0.34986
644 202 1.38637 2.94239 0.48810 2.48307 2183 g x - -
645 1.26068 1.38406 1.56967 1.35532
646 0.07650 3.63087 3.05433 1.41747 0.27750 1.30529 0.31621
647 203 2.38046 1.96816 2.46423 0.38169 2194 t x - -
648 1.15615 1.05226 1.89042 1.68659
649 0.03598 4.00119 4.07158 2.14376 0.12467 0.99125 0.46381
650 204 0.38737 2.54149 1.94939 2.30208 2216 a x - -
651 1.42036 1.60755 1.71210 0.97416
652 0.05792 3.37989 3.80642 1.48134 0.25791 1.38803 0.28711
653 205 0.33189 2.40165 2.38220 2.30739 2233 a x - -
654 1.39533 1.49555 1.48751 1.19670
655 0.05488 3.80924 3.46632 1.16556 0.37360 1.74106 0.19278
656 206 0.32769 2.63071 2.31665 2.21838 2244 a x - -
657 1.29323 1.61359 1.45250 1.22943
658 0.06509 3.57405 3.35321 1.14895 0.38122 1.27923 0.32608
659 207 1.55116 2.78785 0.44426 2.46340 2253 g x - -
660 1.30976 1.52246 1.27404 1.45999
661 0.05137 3.91815 3.49998 1.04005 0.43609 1.05056 0.43038
662 208 2.26324 0.97520 2.14563 0.91162 2262 t x - -
663 1.35343 1.43811 1.48989 1.27700
664 0.06911 4.13332 2.98084 1.15845 0.37684 1.60144 0.22515
665 209 0.85232 2.37548 1.06681 1.99141 2269 a x - -
666 1.39515 1.49194 1.40811 1.26349
667 0.03013 4.13477 4.29242 1.48272 0.25750 1.24268 0.34053
668 210 2.34233 0.57256 2.78366 1.28012 2278 c x - -
669 1.10794 1.60053 1.64835 1.28878
670 0.04056 3.59918 4.38984 1.51313 0.24874 1.27892 0.32620
671 211 2.44356 2.31557 2.83438 0.28013 2292 t x - -
672 1.11557 1.56652 1.51877 1.40845
673 0.06476 3.59755 3.34339 1.65955 0.21100 1.46656 0.26230
674 212 2.60285 2.02076 2.70404 0.31959 2311 t x - -
675 1.37474 1.23123 1.50975 1.45159
676 0.02905 4.49580 4.04684 1.45665 0.26529 1.31096 0.31411
677 213 0.35440 2.66033 2.05970 2.29277 2320 a x - -
678 1.42726 1.43836 1.47870 1.22151
679 0.05723 3.85126 3.37043 1.21073 0.35379 1.50487 0.25109
680 214 1.67860 2.76866 0.39328 2.57995 2327 g x - -
681 1.44585 1.39846 1.34031 1.36370
682 0.03485 3.88843 4.28484 0.85372 0.55482 1.28029 0.32567
683 215 0.56289 1.70917 2.12140 2.04361 2332 a x - -
684 1.32706 1.49254 1.47440 1.26930
685 0.05162 3.63311 3.73496 1.25584 0.33525 1.43816 0.27098
686 216 0.36710 2.47821 2.18817 2.19603 2342 a x - -
687 1.25157 1.55493 1.38240 1.37926
688 0.04705 3.79998 3.74691 1.01449 0.45034 1.18097 0.36670
689 217 1.98347 0.67708 2.28851 1.37479 2350 c x - -
690 1.44867 1.47116 1.48874 1.17182
691 0.04194 4.12600 3.69179 1.35315 0.29898 1.22733 0.34683
692 218 0.31844 2.48742 2.41442 2.30084 2358 a x - -
693 1.37893 1.65681 1.57903 1.04631
694 0.04822 3.86779 3.64298 1.54053 0.24114 1.34866 0.30055
695 219 1.55922 2.80363 0.42630 2.57457 2369 g x - -
696 1.38910 1.44129 1.30562 1.41438
697 0.04527 4.26378 3.50014 1.41791 0.27736 1.03172 0.44067
698 220 2.27824 2.23178 2.47570 0.34801 2379 t x - -
699 1.28192 1.46013 1.43505 1.37759
700 0.03676 4.27219 3.81030 1.44757 0.26807 1.03607 0.43827
701 221 1.60541 3.27454 0.38965 2.47622 2390 g x - -
702 1.28835 1.56388 1.52622 1.21202
703 0.03812 4.03569 3.92551 1.32672 0.30836 1.27625 0.32723
704 222 2.28298 0.54985 2.45019 1.44941 2400 c x - -
705 1.33854 1.44817 1.40462 1.35747
706 0.04354 4.56357 3.43640 1.37782 0.29052 0.97422 0.47399
707 223 2.59366 0.41344 2.97332 1.54765 2407 c x - -
708 1.20950 1.46681 1.54377 1.35705
709 0.05189 3.68137 3.67390 1.00753 0.45432 1.07276 0.41864
710 224 2.32948 2.52127 2.58629 0.29169 2414 t x - -
711 1.39779 1.33810 1.47772 1.33805
712 0.03274 4.33201 3.95953 1.56321 0.23504 0.96514 0.47954
713 225 1.54966 3.22108 0.37444 2.81190 2424 g x - -
714 1.15610 1.55525 1.55759 1.33366
715 0.05861 3.56636 3.55203 1.17780 0.36810 1.32580 0.30869
716 226 1.59156 2.71757 0.42847 2.54019 2435 g x - -
717 1.15619 1.61729 1.42898 1.39705
718 0.03583 4.30181 3.83277 1.70821 0.19990 0.96968 0.47675
719 227 2.21184 0.56764 2.79915 1.33645 2446 c x - -
720 1.38016 1.37224 1.47440 1.32424
721 0.03376 4.12337 4.07418 1.37171 0.29259 0.88411 0.53287
722 228 0.37570 2.35612 2.31692 2.12170 2455 a x - -
723 1.07202 1.60869 1.64069 1.33298
724 0.05148 3.52055 3.88283 2.10579 0.12982 1.22041 0.34971
725 229 2.50520 0.52548 2.84219 1.31389 2481 c x - -
726 1.38330 1.47875 1.46188 1.23950
727 0.04937 4.04726 3.48359 1.45776 0.26495 1.28670 0.32321
728 230 0.38132 2.51345 2.10921 2.16529 2493 a x - -
729 1.26879 1.39840 1.54218 1.35509
730 0.03799 3.73571 4.31086 1.53368 0.24302 0.96624 0.47886
731 231 2.24640 1.90144 2.18443 0.45835 2506 t x - -
732 1.26112 1.58365 1.52286 1.22639
733 0.04520 3.97785 3.67025 1.85242 0.17062 1.10128 0.40413
734 232 0.43553 2.70271 1.75695 2.17611 2518 a x - -
735 1.38443 1.37755 1.40819 1.37535
736 0.04663 4.53758 3.35643 1.37584 0.29119 0.96978 0.47669
737 233 1.71430 2.83191 0.39307 2.45305 2526 g x - -
738 1.38360 1.41964 1.35052 1.39265
739 0.04901 4.13732 3.44618 1.17985 0.36719 0.98837 0.46551
740 234 2.14334 1.95663 2.23102 0.45573 2533 t x - -
741 1.50429 1.49375 1.43793 1.15240
742 0.04081 3.90919 3.91543 1.19724 0.35958 1.13395 0.38825
743 235 0.24875 2.81774 2.39035 2.67523 2542 a x - -
744 1.48012 1.46566 1.35867 1.25716
745 0.03916 3.98110 3.92519 1.85885 0.16943 1.23780 0.34252
746 236 0.30219 2.85514 2.08447 2.53986 2560 a x - -
747 1.28214 1.46998 1.44904 1.35545
748 0.03866 4.30978 3.70952 1.16462 0.37403 1.39106 0.28610
749 237 1.47694 2.88429 0.43404 2.68997 2567 g x - -
750 1.33744 1.42939 1.42939 1.35258
751 0.02880 4.59706 4.00030 1.10459 0.40249 1.33505 0.30536
752 238 2.14388 1.09728 2.37724 0.78478 2570 t x - -
753 1.49562 1.42608 1.55761 1.12392
754 0.04786 4.24529 3.42954 1.39845 0.28366 1.23454 0.34386
755 239 0.97508 2.35798 0.90827 2.07938 2581 g x - -
756 1.25094 1.49529 1.52602 1.30129
757 0.02905 4.24918 4.24355 1.45336 0.26629 1.31885 0.31121
758 240 2.46501 0.45177 2.91250 1.49543 2592 c x - -
759 1.32080 1.35083 1.43903 1.44013
760 0.03667 4.23606 3.83763 1.17162 0.37087 0.78970 0.60510
761 241 2.54342 1.84757 2.79891 0.35253 2599 t x - -
762 1.30167 1.51592 1.35841 1.38132
763 0.08478 4.18400 2.71737 1.46060 0.26409 1.13990 0.38544
764 242 1.79256 0.67239 2.38973 1.46394 2610 c x - -
765 1.39412 1.48908 1.50695 1.18815
766 0.02969 3.80614 4.95946 1.03142 0.44083 0.89816 0.52310
767 243 0.46386 2.14629 2.35705 1.83551 2617 a x - -
768 1.34757 1.43257 1.50189 1.27753
769 0.05842 3.70954 3.43411 1.06029 0.42519 0.90395 0.51914
770 244 0.50075 2.49182 1.54019 2.33483 2626 a x - -
771 1.30208 1.39783 1.44099 1.40974
772 0.04273 4.05266 3.71110 1.31078 0.31418 0.79516 0.60058
773 245 2.45142 2.12604 2.65057 0.32309 2634 t x - -
774 1.44617 1.37290 1.36633 1.36212
775 0.02616 4.40155 4.30077 1.07251 0.41878 1.13181 0.38927
776 246 0.30440 2.51599 2.24034 2.58722 2638 a x - -
777 1.51783 1.43949 1.44278 1.17930
778 0.03925 3.98234 3.91959 1.10822 0.40069 1.21826 0.35062
779 247 0.28884 2.34993 2.61402 2.49798 2646 a x - -
780 1.35075 1.40966 1.43892 1.34883
781 0.04406 4.45168 3.45949 1.26863 0.33019 1.21720 0.35106
782 248 0.47294 2.66595 1.53862 2.37920 2654 a x - -
783 1.22148 1.45229 1.38308 1.51246
784 0.05408 3.63086 3.64403 1.02242 0.44585 0.82548 0.57630
785 249 2.69557 2.39402 2.65220 0.26041 2661 t x - -
786 1.37454 1.41435 1.43021 1.32916
787 0.02628 4.27913 4.41631 1.13401 0.38822 0.78285 0.61083
788 250 1.23791 3.08131 0.53594 2.53842 2667 g x - -
789 1.32252 1.38663 1.41962 1.41959
790 0.01968 4.43021 4.88276 1.13889 0.38592 1.08776 0.41094
791 251 2.35823 2.08410 2.25484 0.39141 2672 t x - -
792 1.31004 1.43528 1.41511 1.38932
793 0.03611 4.24871 3.85451 1.39569 0.28457 1.02355 0.44522
794 252 2.59540 2.18646 2.99130 0.27070 2682 t x - -
795 1.28474 1.44491 1.47158 1.35501
796 0.02695 4.28805 4.35357 1.32097 0.31044 0.93155 0.50078
797 253 0.60586 2.54399 1.47134 1.92259 2691 a x - -
798 1.42573 1.39929 1.55648 1.19727
799 0.06295 3.59448 3.39531 0.94850 0.48991 0.92676 0.50391
800 254 1.72128 3.31852 0.32189 2.81045 2697 g x - -
801 1.35106 1.42080 1.32832 1.44991
802 0.02738 3.80861 5.33253 1.28063 0.32554 0.58242 0.81768
803 255 2.38560 0.83224 2.57869 0.92377 2704 c x - -
804 1.40063 1.34334 1.39274 1.40980
805 0.02046 4.40424 4.82452 1.12336 0.39332 1.09861 0.40546
806 256 2.97840 2.21685 3.30377 0.21887 2710 t x - -
807 1.50695 1.36706 1.40394 1.28038
808 0.02843 3.93997 4.75776 0.99387 0.46226 1.00346 0.45667
809 257 0.38203 2.46563 1.96468 2.38196 2715 a x - -
810 1.37625 1.38499 1.39513 1.38889
811 0.01169 4.99225 5.33303 1.26781 0.33052 1.00178 0.45764
812 258 3.04462 2.08886 3.44243 0.22744 2718 t x - -
813 1.37969 1.38529 1.38963 1.39060
814 0.01150 5.03934 5.30793 1.32290 0.30974 1.09861 0.40547
815 259 3.35082 2.09793 3.60205 0.20461 2721 t x - -
816 1.38629 1.38629 1.38629 1.38629
817 0.01054 5.25060 5.25060 1.46634 0.26236 1.09861 0.40547
818 260 0.21098 3.21901 2.50866 2.67604 2722 a x - -
819 1.38629 1.38629 1.38629 1.38629
820 0.01144 5.16947 5.16947 1.46634 0.26236 1.09861 0.40547
821 261 4.58660 2.30222 4.82391 0.12586 2723 t x - -
822 1.38629 1.38629 1.38629 1.38629
823 0.01317 5.02968 5.02968 1.46634 0.26236 1.09861 0.40547
824 262 4.88089 4.43347 5.01549 0.02644 2724 T x - -
825 1.38629 1.38629 1.38629 1.38629
826 0.00577 5.15720 * 1.46634 0.26236 0.00000 *
827 //
293293 grep(last_stderr, /invalid HMMER format encountered/)
294294 end
295295
296 Name "gt ltrdigest DNA pHMM given"
297 Keywords "gt_ltrdigest"
298 Test do
299 run_test "#{$bin}gt suffixerator -lossless -dna -des -ssp -tis -v -db #{$gttestdata}ltrharvest/d_mel/4_genomic_dmel_RELEASE3-1.FASTA.gz"
300 run_test "#{$bin}gt ltrdigest -encseq 4_genomic_dmel_RELEASE3-1.FASTA.gz -hmms #{$testdata}/dna_hmmer.hmm -- #{$gttestdata}ltrdigest/dmel_md5_4.gff3", :retval => 1
301 grep(last_stderr, /invalid \(non-protein\) alphabet definition/)
302 end
303
296304 Name "gt ltrdigest pHMM implied options"
297305 Keywords "gt_ltrdigest"
298306 Test do
2626 255642063275935424280602245704332672807]
2727
2828 $SPLT_LIST = ["-splt struct","-splt ulong"]
29 $KMPLT_LIST = ["struct","ulong"]
2930 $CAM_LIST = ["encseq", "encseq_reader","bytes"]
3031 $OUTFMT_ARGS = ["alignment","cigar","cigarX","polinfo","fstperquery","seed.len",
3132 "seed.s","seed.q","seed_in_algn","s.seqlen",
191192 Test do
192193 run_test build_encseq("at1MB", "#{$testdata}at1MB")
193194 run_test build_encseq("foo", "#{$testdata}foo.fas")
195 run_test "#{$bin}gt seed_extend -splt xx -ii foo", :retval => 1
196 grep last_stderr, /illegal parameter for option -splt/
197 run_test "#{$bin}gt seed_extend -kmplt yy -ii foo", :retval => 1
198 grep last_stderr, /illegal parameter for option -kmplt/
194199 run_test "#{$bin}gt seed_extend -seedlength 10 -ii foo", :retval => 1
195200 grep last_stderr, /integer <= 8 \(length of longest sequence\)/
196201 run_test "#{$bin}gt seed_extend -maxfreq 1 -ii at1MB", :retval => 1
237242 run_test "#{$bin}gt seed_extend -ii at1MB -outfmt gfa2 identity dtrace", :retval => 1
238243 run_test "#{$bin}gt seed_extend -ii at1MB -outfmt cigar"
239244 run_test "#{$bin}gt dev show_seedext -f #{last_stdout} -outfmt cigarX",:retval => 1
245 run_test "#{$bin}gt seed_extend -spacedseed 16 -seedlength 30 -ii at1MB", :retval => 1
246 grep last_stderr, /illegal weight 16: for spaced seeds of span 30 the weight must be in the range from 18 to 28/
247 run_test build_encseq("sw100K1", "#{$testdata}sw100K1.fsa")
248 run_test "#{$bin}gt seed_extend -spacedseed 7 -seedlength 10 -ii sw100K1", :retval => 1
249 grep last_stderr, /spaced seeds only work for sequences over an alphabet of size 4/
250 run_test "#{$bin}gt seed_extend -spacedseed -seedlength 14 -ii at1MB", :retval => 1
251 grep last_stderr, /illegal seedlength 14: for this set of sequences can only handle spaced seeds of span between 15 and 30/
252 run_test "#{$bin}gt seed_extend -spacedseed 13 -seedlength 28 -ii at1MB", :retval => 1
253 grep last_stderr, /illegal weight 13: for spaced seeds of span 28 the weight must be in the range from 14 to 27/
254 end
255
256 Name "gt seedext spaced seeds"
257 Keywords "gt_seed_extend gt_seed_extend_spaced_seeds"
258 Test do
259 run_test build_encseq("at1MB", "#{$testdata}at1MB")
260 run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
261 [" "," -qii U89959_genomic "].each do |qidx|
262 run_test "#{$bin}gt seed_extend -spacedseed 22 -seedlength 30 -ii at1MB#{qidx}"
263 run_test "#{$bin}gt seed_extend -spacedseed -seedlength 30 -ii at1MB#{qidx}"
264 run_test "#{$bin}gt seed_extend -spacedseed -ii at1MB#{qidx}"
265 end
240266 end
241267
242268 Name "gt dev show_seedext without alignment"
280306 Test do
281307 run_test build_encseq("at1MB", "#{$testdata}at1MB")
282308 $SPLT_LIST.each do |splt|
283 $CAM_LIST.each do |a_cam|
284 $CAM_LIST.each do |b_cam|
285 run_test "#{$bin}gt seed_extend -extendgreedy " +
286 "-cam #{a_cam},#{b_cam} -ii at1MB #{splt}", :retval => 0
287 run "grep -v '^#' #{last_stdout}"
288 run "sort #{last_stdout}"
289 run "mv #{last_stdout} see-ext-at1MB-#{a_cam}-#{b_cam}.matches"
290 run "diff -I '^#' see-ext-at1MB-#{a_cam}-#{b_cam}.matches #{$testdata}see-ext-at1MB.matches"
309 $KMPLT_LIST.each do |kmplt|
310 $CAM_LIST.each do |a_cam|
311 $CAM_LIST.each do |b_cam|
312 run_test "#{$bin}gt seed_extend -extendgreedy " +
313 "-cam #{a_cam},#{b_cam} -ii at1MB #{splt} -kmplt #{kmplt}",
314 :retval => 0
315 run "grep -v '^#' #{last_stdout}"
316 run "sort #{last_stdout}"
317 run "mv #{last_stdout} see-ext-at1MB-#{a_cam}-#{b_cam}.matches"
318 run "diff -I '^#' see-ext-at1MB-#{a_cam}-#{b_cam}.matches #{$testdata}see-ext-at1MB.matches"
319 end
291320 end
292321 end
293322 end
310339
311340 # Threading
312341 Name "gt seed_extend: threading"
313 Keywords "gt_seed_extend thread"
342 Keywords "gt_seed_extend thread gt_seed_extend_thread"
314343 Test do
315344 run_test build_encseq("at1MB", "#{$testdata}at1MB")
316345 run_test build_encseq("fastq_long", "#{$testdata}fastq_long.fastq")
369398 Keywords "gt_seed_extend extendgreedy extendxdrop small_poly"
370399 Test do
371400 run_test build_encseq("small_poly", "#{$testdata}small_poly.fas")
372 for splt in $SPLT_LIST do
373 run_test "#{$bin}gt seed_extend -extendxdrop 97 " +
374 "-l 10 -ii small_poly -verify-alignment #{splt}"
375 run "diff -I '^#' #{last_stdout} #{$testdata}seedextend3.out"
376 run_test "#{$bin}gt seed_extend -extendgreedy 97 " +
377 "-l 10 -ii small_poly -verify-alignment #{splt}"
378 run "diff -I '^#' #{last_stdout} #{$testdata}seedextend3.out"
401 for kmplt in $KMPLT_LIST do
402 for splt in $SPLT_LIST do
403 run_test "#{$bin}gt seed_extend -extendxdrop 97 " +
404 "-l 10 -ii small_poly -verify-alignment #{splt} -kmplt #{kmplt}"
405 run "diff -I '^#' #{last_stdout} #{$testdata}seedextend3.out"
406 run_test "#{$bin}gt seed_extend -extendgreedy 97 " +
407 "-l 10 -ii small_poly -verify-alignment #{splt} -kmplt #{kmplt}"
408 run "diff -I '^#' #{last_stdout} #{$testdata}seedextend3.out"
409 end
379410 end
380411 end
381412
400431
401432 # Filter options
402433 Name "gt seed_extend: diagbandwidth, mincoverage, seedlength"
403 Keywords "gt_seed_extend filter diagbandwidth mincoverage memlimit"
434 Keywords "gt_seed_extend filter diagbandwidth mincoverage"
404435 Test do
405436 run_test build_encseq("gt_bioseq_succ_3", "#{$testdata}gt_bioseq_succ_3.fas")
406437 for diagbandwidth in [0, 1, 5, 10] do
600600 run "#{$bin}/gt dev sfxmap -enumlcpitvtree -esa sfx > noBU.txt"
601601 run "diff withBU.txt noBU.txt"
602602 end
603
604 Name "gt suffixerator multithreaded -lcp"
605 Keywords "gt_suffixerator multithreaded"
606 Test do
607 run "#{$bin}/gt -j 3 suffixerator -db #{$testdata}/at1MB -indexname foo " + \
608 "-lcp -suf", :retval => 1
609 grep(last_stderr, /cannot be used when/)
610 end