mspire 0.2.4 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/INSTALL +1 -0
- data/README +25 -0
- data/Rakefile +129 -40
- data/bin/{find_aa_freq.rb → aafreqs.rb} +2 -2
- data/bin/bioworks_to_pepxml.rb +1 -0
- data/bin/fasta_shaker.rb +1 -96
- data/bin/filter_and_validate.rb +5 -0
- data/bin/{mzxml_to_lmat.rb → ms_to_lmat.rb} +8 -7
- data/bin/prob_validate.rb +6 -0
- data/bin/raw_to_mzXML.rb +2 -2
- data/bin/srf_group.rb +1 -0
- data/bin/srf_to_sqt.rb +40 -0
- data/changelog.txt +68 -0
- data/lib/align/chams.rb +6 -6
- data/lib/align.rb +4 -3
- data/lib/bsearch.rb +120 -0
- data/lib/fasta.rb +318 -86
- data/lib/group_by.rb +10 -0
- data/lib/index_by.rb +11 -0
- data/lib/merge_deep.rb +21 -0
- data/lib/{spec → ms/converter}/mzxml.rb +77 -109
- data/lib/ms/gradient_program.rb +171 -0
- data/lib/ms/msrun.rb +209 -0
- data/lib/{spec/msrun.rb → ms/msrun_index.rb} +7 -40
- data/lib/ms/parser/mzdata/axml.rb +12 -0
- data/lib/ms/parser/mzdata/dom.rb +160 -0
- data/lib/ms/parser/mzdata/libxml.rb +7 -0
- data/lib/ms/parser/mzdata.rb +25 -0
- data/lib/ms/parser/mzxml/axml.rb +11 -0
- data/lib/ms/parser/mzxml/dom.rb +159 -0
- data/lib/ms/parser/mzxml/hpricot.rb +253 -0
- data/lib/ms/parser/mzxml/libxml.rb +15 -0
- data/lib/ms/parser/mzxml/regexp.rb +122 -0
- data/lib/ms/parser/mzxml/rexml.rb +72 -0
- data/lib/ms/parser/mzxml/xmlparser.rb +248 -0
- data/lib/ms/parser/mzxml.rb +175 -0
- data/lib/ms/parser.rb +108 -0
- data/lib/ms/precursor.rb +10 -0
- data/lib/ms/scan.rb +81 -0
- data/lib/ms/spectrum.rb +193 -0
- data/lib/ms.rb +10 -0
- data/lib/mspire.rb +4 -0
- data/lib/roc.rb +61 -1
- data/lib/sample_enzyme.rb +31 -8
- data/lib/scan_i.rb +21 -0
- data/lib/spec_id/aa_freqs.rb +7 -3
- data/lib/spec_id/bioworks.rb +20 -14
- data/lib/spec_id/digestor.rb +139 -0
- data/lib/spec_id/mass.rb +116 -0
- data/lib/spec_id/parser/proph.rb +236 -0
- data/lib/spec_id/precision/filter/cmdline.rb +209 -0
- data/lib/spec_id/precision/filter/interactive.rb +134 -0
- data/lib/spec_id/precision/filter/output.rb +147 -0
- data/lib/spec_id/precision/filter.rb +623 -0
- data/lib/spec_id/precision/output.rb +60 -0
- data/lib/spec_id/precision/prob/cmdline.rb +139 -0
- data/lib/spec_id/precision/prob/output.rb +88 -0
- data/lib/spec_id/precision/prob.rb +171 -0
- data/lib/spec_id/proph/pep_summary.rb +92 -0
- data/lib/spec_id/proph/prot_summary.rb +484 -0
- data/lib/spec_id/proph.rb +2 -466
- data/lib/spec_id/protein_summary.rb +2 -2
- data/lib/spec_id/sequest/params.rb +316 -0
- data/lib/spec_id/sequest/pepxml.rb +1513 -0
- data/lib/spec_id/sequest.rb +2 -1672
- data/lib/spec_id/srf.rb +445 -177
- data/lib/spec_id.rb +183 -95
- data/lib/spec_id_xml.rb +8 -10
- data/lib/transmem/phobius.rb +147 -0
- data/lib/transmem/toppred.rb +368 -0
- data/lib/transmem.rb +157 -0
- data/lib/validator/aa.rb +135 -0
- data/lib/validator/background.rb +73 -0
- data/lib/validator/bias.rb +95 -0
- data/lib/validator/cmdline.rb +260 -0
- data/lib/validator/decoy.rb +94 -0
- data/lib/validator/digestion_based.rb +69 -0
- data/lib/validator/probability.rb +48 -0
- data/lib/validator/prot_from_pep.rb +234 -0
- data/lib/validator/transmem.rb +272 -0
- data/lib/validator/true_pos.rb +46 -0
- data/lib/validator.rb +214 -0
- data/lib/xml.rb +38 -0
- data/lib/xml_style_parser.rb +105 -0
- data/lib/xmlparser_wrapper.rb +19 -0
- data/script/compile_and_plot_smriti_final.rb +97 -0
- data/script/extract_gradient_programs.rb +56 -0
- data/script/get_apex_values_rexml.rb +44 -0
- data/script/mzXML2timeIndex.rb +1 -1
- data/script/smriti_final_analysis.rb +103 -0
- data/script/toppred_to_yaml.rb +47 -0
- data/script/tpp_installer.rb +1 -1
- data/{test/tc_align.rb → specs/align_spec.rb} +21 -27
- data/{test/tc_bioworks_to_pepxml.rb → specs/bin/bioworks_to_pepxml_spec.rb} +25 -41
- data/specs/bin/fasta_shaker_spec.rb +259 -0
- data/specs/bin/filter_and_validate__multiple_vals_helper.yaml +202 -0
- data/specs/bin/filter_and_validate_spec.rb +124 -0
- data/specs/bin/ms_to_lmat_spec.rb +34 -0
- data/specs/bin/prob_validate_spec.rb +62 -0
- data/specs/bin/protein_summary_spec.rb +10 -0
- data/{test/tc_fasta.rb → specs/fasta_spec.rb} +354 -310
- data/specs/gi_spec.rb +22 -0
- data/specs/load_bin_path.rb +7 -0
- data/specs/merge_deep_spec.rb +13 -0
- data/specs/ms/gradient_program_spec.rb +77 -0
- data/specs/ms/msrun_spec.rb +455 -0
- data/specs/ms/parser_spec.rb +92 -0
- data/specs/ms/spectrum_spec.rb +89 -0
- data/specs/roc_spec.rb +251 -0
- data/specs/rspec_autotest.rb +149 -0
- data/specs/sample_enzyme_spec.rb +41 -0
- data/specs/spec_helper.rb +133 -0
- data/specs/spec_id/aa_freqs_spec.rb +52 -0
- data/{test/tc_bioworks.rb → specs/spec_id/bioworks_spec.rb} +56 -71
- data/specs/spec_id/digestor_spec.rb +75 -0
- data/specs/spec_id/precision/filter/cmdline_spec.rb +20 -0
- data/specs/spec_id/precision/filter/output_spec.rb +31 -0
- data/specs/spec_id/precision/filter_spec.rb +243 -0
- data/specs/spec_id/precision/prob_spec.rb +111 -0
- data/specs/spec_id/precision/prob_spec_helper.rb +0 -0
- data/specs/spec_id/proph/pep_summary_spec.rb +143 -0
- data/{test/tc_proph.rb → specs/spec_id/proph/prot_summary_spec.rb} +52 -32
- data/{test/tc_protein_summary.rb → specs/spec_id/protein_summary_spec.rb} +85 -0
- data/specs/spec_id/sequest/params_spec.rb +68 -0
- data/specs/spec_id/sequest/pepxml_spec.rb +452 -0
- data/specs/spec_id/sqt_spec.rb +138 -0
- data/specs/spec_id/srf_spec.rb +209 -0
- data/specs/spec_id/srf_spec_helper.rb +302 -0
- data/specs/spec_id_helper.rb +33 -0
- data/specs/spec_id_spec.rb +361 -0
- data/specs/spec_id_xml_spec.rb +33 -0
- data/specs/transmem/phobius_spec.rb +423 -0
- data/specs/transmem/toppred_spec.rb +297 -0
- data/specs/transmem_spec.rb +60 -0
- data/specs/transmem_spec_shared.rb +64 -0
- data/specs/validator/aa_spec.rb +107 -0
- data/specs/validator/background_spec.rb +51 -0
- data/specs/validator/bias_spec.rb +146 -0
- data/specs/validator/decoy_spec.rb +51 -0
- data/specs/validator/fasta_helper.rb +26 -0
- data/specs/validator/prot_from_pep_spec.rb +141 -0
- data/specs/validator/transmem_spec.rb +145 -0
- data/specs/validator/true_pos_spec.rb +58 -0
- data/specs/validator_helper.rb +33 -0
- data/specs/xml_spec.rb +12 -0
- data/test_files/000_pepxml18_small.xml +206 -0
- data/test_files/020a.mzXML.timeIndex +4710 -0
- data/test_files/4-03-03_mzXML/000.mzXML.timeIndex +3973 -0
- data/test_files/4-03-03_mzXML/020.mzXML.timeIndex +3872 -0
- data/test_files/4-03-03_small-prot.xml +321 -0
- data/test_files/4-03-03_small.xml +3876 -0
- data/test_files/7MIX_STD_110802_1.sequest_params_fragment.srf +0 -0
- data/test_files/bioworks-3.3_10prots.xml +5999 -0
- data/test_files/bioworks31.params +77 -0
- data/test_files/bioworks32.params +62 -0
- data/test_files/bioworks33.params +63 -0
- data/test_files/bioworks_single_run_small.xml +7237 -0
- data/test_files/bioworks_small.fasta +212 -0
- data/test_files/bioworks_small.params +63 -0
- data/test_files/bioworks_small.phobius +109 -0
- data/test_files/bioworks_small.toppred.out +2847 -0
- data/test_files/bioworks_small.xml +5610 -0
- data/test_files/bioworks_with_INV_small.xml +3753 -0
- data/test_files/bioworks_with_SHUFF_small.xml +2503 -0
- data/test_files/corrupted_900.srf +0 -0
- data/test_files/head_of_7MIX.srf +0 -0
- data/test_files/interact-opd1_mods_small-prot.xml +304 -0
- data/test_files/messups.fasta +297 -0
- data/test_files/opd1/000.my_answer.100lines.xml +101 -0
- data/test_files/opd1/000.tpp_1.2.3.first10.xml +115 -0
- data/test_files/opd1/000.tpp_2.9.2.first10.xml +126 -0
- data/test_files/opd1/000.v2.1.mzXML.timeIndex +3748 -0
- data/test_files/opd1/000_020-prot.png +0 -0
- data/test_files/opd1/000_020_3prots-prot.mod_initprob.xml +62 -0
- data/test_files/opd1/000_020_3prots-prot.xml +62 -0
- data/test_files/opd1/opd1_cat_inv_small-prot.xml +139 -0
- data/test_files/opd1/sequest.3.1.params +77 -0
- data/test_files/opd1/sequest.3.2.params +62 -0
- data/test_files/opd1/twenty_scans.mzXML +418 -0
- data/test_files/opd1/twenty_scans.v2.1.mzXML +382 -0
- data/test_files/opd1/twenty_scans_answ.lmat +0 -0
- data/test_files/opd1/twenty_scans_answ.lmata +9 -0
- data/test_files/opd1_020_beginning.RAW +0 -0
- data/test_files/opd1_2runs_2mods/interact-opd1_mods__small.xml +753 -0
- data/test_files/orbitrap_mzData/000_cut.xml +1920 -0
- data/test_files/pepproph_small.xml +4691 -0
- data/test_files/phobius.small.noheader.txt +50 -0
- data/test_files/phobius.small.small.txt +53 -0
- data/test_files/s01_anC1_ld020mM.key.txt +25 -0
- data/test_files/s01_anC1_ld020mM.meth +0 -0
- data/test_files/small.fasta +297 -0
- data/test_files/smallraw.RAW +0 -0
- data/test_files/tf_bioworks2excel.bioXML +14340 -0
- data/test_files/tf_bioworks2excel.txt.actual +1035 -0
- data/test_files/toppred.small.out +416 -0
- data/test_files/toppred.xml.out +318 -0
- data/test_files/validator_hits_separate/bias_bioworks_small_HS.fasta +7 -0
- data/test_files/validator_hits_separate/bioworks_small_HS.xml +5651 -0
- data/test_files/yeast_gly_small-prot.xml +265 -0
- data/test_files/yeast_gly_small.1.0_1.0_1.0.parentTimes +6 -0
- data/test_files/yeast_gly_small.xml +3807 -0
- data/test_files/yeast_gly_small2.parentTimes +6 -0
- metadata +273 -57
- data/bin/filter.rb +0 -6
- data/bin/precision.rb +0 -5
- data/lib/spec/mzdata/parser.rb +0 -108
- data/lib/spec/mzdata.rb +0 -48
- data/lib/spec/mzxml/parser.rb +0 -449
- data/lib/spec/scan.rb +0 -55
- data/lib/spec_id/filter.rb +0 -797
- data/lib/spec_id/precision.rb +0 -421
- data/lib/toppred.rb +0 -18
- data/script/filter-peps.rb +0 -164
- data/test/tc_aa_freqs.rb +0 -59
- data/test/tc_fasta_shaker.rb +0 -149
- data/test/tc_filter.rb +0 -203
- data/test/tc_filter_peps.rb +0 -46
- data/test/tc_gi.rb +0 -17
- data/test/tc_id_class_anal.rb +0 -70
- data/test/tc_id_precision.rb +0 -89
- data/test/tc_msrun.rb +0 -88
- data/test/tc_mzxml.rb +0 -88
- data/test/tc_mzxml_to_lmat.rb +0 -36
- data/test/tc_peptide_parent_times.rb +0 -27
- data/test/tc_precision.rb +0 -60
- data/test/tc_roc.rb +0 -166
- data/test/tc_sample_enzyme.rb +0 -32
- data/test/tc_scan.rb +0 -26
- data/test/tc_sequest.rb +0 -336
- data/test/tc_spec.rb +0 -78
- data/test/tc_spec_id.rb +0 -201
- data/test/tc_spec_id_xml.rb +0 -36
- data/test/tc_srf.rb +0 -262
@@ -0,0 +1,297 @@
|
|
1
|
+
require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
|
2
|
+
|
3
|
+
# contains shared behavior that we need.
|
4
|
+
require File.expand_path( File.dirname(__FILE__) + '/../transmem_spec_shared' )
|
5
|
+
|
6
|
+
require 'transmem/toppred'
|
7
|
+
|
8
|
+
describe TopPred::Index do
|
9
|
+
before(:all) do
|
10
|
+
@toppred_file = Tfiles + '/toppred.small.out'
|
11
|
+
@obj = TopPred::Index.new(@toppred_file)
|
12
|
+
@test_hash = {"YAL001C"=>0, "YAL011W"=>0, "YAL009W"=>2, "YAL010C"=>1, "YAL008W"=>3, "YAL007C"=>2, "YAL004W"=>0, "YAL005C"=>1, "YAL003W"=>0, "YAL002W"=>3, "YAL013W"=>0, "YAL014C"=>1, "YAL012W"=>1}
|
13
|
+
@ref_to_key= { 'gi|16127905|ref|NP_414542.1| thr operon leader peptide [Escherichia coli K12]' => 'gi_16127905_ref_NP_414542_1_',
|
14
|
+
'SWN:PWP1_HUMAN PERIODIC TRYPTOPHAN PROTEIN 1 HOMOLOG' => 'SWN_PWP1_HUMAN',
|
15
|
+
'MY:B|/-"[super]"duper!@#$%^&*(wil) and other stuff' => 'MY_B_____super__duper_________wil_' }
|
16
|
+
end
|
17
|
+
it_should_behave_like 'a transmem index'
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "a toppred parser", :shared => true do
|
21
|
+
it 'parses a toppred file into a hash structure' do
|
22
|
+
@file_to_hash.should exist
|
23
|
+
hash = @class.default_index(@file_to_hash)
|
24
|
+
hash.should == @structure_to_create
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "TopPred parsing a text file" do
|
29
|
+
before(:all) do
|
30
|
+
@class = TopPred
|
31
|
+
@file_to_hash = Tfiles + '/toppred.small.out'
|
32
|
+
@structure_to_create = YAML.load(TopPredSupportingFile::MY_YAML1)
|
33
|
+
@structure_to_create.each {|id,hash| string_to_symbol(hash) }
|
34
|
+
end
|
35
|
+
it_should_behave_like 'a toppred parser'
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "TopPred parsing an xml file" do
|
39
|
+
before(:all) do
|
40
|
+
@class = TopPred
|
41
|
+
@file_to_hash = Tfiles + '/toppred.xml.out'
|
42
|
+
@structure_to_create = YAML.load(TopPredSupportingFile::MY_YAML2)
|
43
|
+
@structure_to_create.each {|id,hash| string_to_symbol(hash) }
|
44
|
+
end
|
45
|
+
it_should_behave_like 'a toppred parser'
|
46
|
+
end
|
47
|
+
|
48
|
+
describe TopPred::Index do
|
49
|
+
before(:all) do
|
50
|
+
toppred_file = Tfiles + '/toppred.xml.out'
|
51
|
+
@obj = TopPred::Index.new(toppred_file)
|
52
|
+
@tm_test = {
|
53
|
+
:mykey => 'SWN_K1CL_HUMAN',
|
54
|
+
:seqs => %w(GFG VGSGYGGSAFGFG GGGSL),
|
55
|
+
:exps =>
|
56
|
+
{
|
57
|
+
:number => [2.0, 7.0, 3.0],
|
58
|
+
:fraction => [2.0/3, 7.0/13, 3.0/5 ],
|
59
|
+
}
|
60
|
+
}
|
61
|
+
end
|
62
|
+
it_should_behave_like "a calculator of transmembrane overlap"
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
module TopPredSupportingFile
|
67
|
+
MY_YAML1 = <<END
|
68
|
+
---
|
69
|
+
YAL011W:
|
70
|
+
aaseq: MPAVLRTRSKESSIEQKPASRTRTRSRRGKRGRDDDDDDDDEESDDAYDEVGNDYDEYASRAKLATNRPFEIVAGLPASVELPNYNSSLTHPQSIKNSGVLYDSLVSSRRTWVQGEMFELYWRRPKKIVSESTPAATESPTSGTIPLIRDKMQKMCDCVMSGGPHTFKVRLFILKNDKIEQKWQDEQELKKKEKELKRKNDAEAKRLRMEERKRQQMQKKIAKEQKLQLQKENKAKQKLEQEALKLKRKEEMKKLKEQNKNKQGSPSSSMHDPRMIMNLNLMAQEDPKLNTLMETVAKGLANNSQLEEFKKFIEIAKKRSLEENPVNKRPSVTTTRPAPPSKAKDVAEDHRLNSITLVKSSKTAATEPEPKKADDENAEKQQSKEAKTTAESTQVDVKKEEEDVKEKGVKSEDTQKKEDNQVVPKRKRRKNAIKEDKDMQLTAFQQKYVQGAEIILEYLEFTHSRYYLPKKSVVEFLEDTDEIIISWIVIHNSKEIEKFKTKKIKAKLKADQKLNKEDAKPGSDVEKEVSFNPLFEADCPTPLYTPMTMKLSGIHKRFNQIIRNSVSPMEEVVKEMEKILQIGTRLSGYNLWYQLDGYDDEALSESLRFELNEWEHAMRSRRHKR
|
71
|
+
num_found: 0
|
72
|
+
YAL001C:
|
73
|
+
aaseq: MVLTIYPDELVQIVSDKIASNKGKITLNQLWDISGKYFDLSDKKVKQFVLSCVILKKDIEVYCDGAITTKNVTDIIGDANHSYSVGITEDSLWTLLTGYTKKESTIGNSAFELLLEVAKSGEKGINTMDLAQVTGQDPRSVTGRIKKINHLLTSSQLIYKGHVVKQLKLKKFSHDGVDSNPYINIRDHLATIVEVVKRSKNGIRQIIDLKRELKFDKEKRLSKAFIAAIAWLDEKEYLKKVLVVSPKNPAIKIRCVKYVKDIPDSKGSPSFEYDSNSADEDSVSDSKAAFEDEDLVEGLDNFNATDLLQNQGLVMEEKEDAVKNEVLLNRFYPLQNQTYDIADKSGLKGISTMDVVNRITGKEFQRAFTKSSEYYLESVDKQKENTGGYRLFRIYDFEGKKKFFRLFTAQNFQKLTNAEDEISVPKGFDELGKSRTDLKTLNEDNFVALNNTVRFTTDSDGQDIFFWHGELKIPPNSKKTPNKNKRKRQVKNSTNASVAGNISNPKRIKLEQHVSTAQEPKSAEDSPSSNGGTVVKGKVVNFGGFSARSLRSLQRQRAILKVMNTIGGVAYLREQFYESVSKYMGSTTTLDKKTVRGDVDLMVESEKLGARTEPVSGRKIIFLPTVGEDAIQRYILKEKDSKKATFTDVIHDTEIYFFDQTEKNRFHRGKKSVERIRKFQNRQKNAKIKASDDAISKKSTSVNVSDGKIKRRDKKVSAGRTTVVVENTKEDKTVYHAGTKDGVQALIRAVVVTKSIKNEIMWDKITKLFPNNSLDNLKKKWTARRVRMGHSGWRAYVDKWKKMLVLAIKSEKISLRDVEELDLIKLLDIWTSFDEKEIKRPLFLYKNYEENRKKFTLVRDDTLTHSGNDLAMSSMIQREISSLKKTYTRKISASTKDLSKSQSDDYIRTVIRSILIESPSTTRNEIEALKNVGNESIDNVIMDMAKEKQIYLHGSKLECTDTLPDILENRGNYKDFGVAFQYRCKVNELLEAGNAIVINQEPSDISSWVLIDLISGELLNMDVIPMVRNVRPLTYTSRRFEIRTLTPPLIIYANSQTKLNTARKSAVKVPLGKPFSRLWVNGSGSIRPNIWKQVVTMVVNEIIFHPGITLSRLQSRCREVLSLHEISEICKWLLERQVLITTDFDGYWVNHNWYSIYEST
|
74
|
+
num_found: 0
|
75
|
+
YAL010C:
|
76
|
+
num_putative_transmembrane_segments: 1
|
77
|
+
aaseq: MLPYMDQVLRAFYQSTHWSTQNSYEDITATSRTLLDFRIPSAIHLQISNKSTPNTFNSLDFSTRSRINGSLSYLYSDAQQLEKFMRNSTDIPLQDATETYRQLQPNLNFSVSSANTLSSDNTTVDNDKKLLHDSKFVKKSLYYGRMYYPSSDLEAMIIKRLSPQTQFMLKGVSSFKESLNVLTCYFQRDSHRNLQEWIFSTSDLLCGYRVLHNFLTTPSKFNTSLYNNSSLSLGAEFWLGLVSLSPGCSTTLRYYTHSTNTGRPLTLTLSWQPLFGHISSTYSAKTGTNSTFCAKYDFNLYSIESNLSFGCEFWQKKHHLLETNKNNNDKLEPISDELVDINPNSRATKLLHENVPDLNSAVNDIPSTLDIPVHKQKLLNDLTYAFSSSLRKIDEERSTIEKFDNKINSSIFTSVWKLSTSLRDKTLKLLWEGKWRGFLISAGTELVFTRGFQESLSDDEKNDNAISISATDTENGNIPVFPAKFGIQFQYST
|
78
|
+
best_structure_probability: 1.0
|
79
|
+
transmembrane_segments:
|
80
|
+
- aaseq: SLGAEFWLGLVSLSPGCSTTL
|
81
|
+
stop: 252
|
82
|
+
start: 232
|
83
|
+
probability: 1.0
|
84
|
+
num_certain_transmembrane_segments: 1
|
85
|
+
num_found: 2
|
86
|
+
YAL009W:
|
87
|
+
num_putative_transmembrane_segments: 0
|
88
|
+
aaseq: MEPESIGDVGNHAQDDSASIVSGPRRRSTSKTSSAKNIRNSSNISPASMIFRNLLILEDDLRRQAHEQKILKWQFTLFLASMAGVGAFTFYELYFTSDYVKGLHRVILQFTLSFISITVVLFHISGQYRRTIVIPRRFFTSTNKGIRQFNVKLVKVQSTWDEKYTDSVRFVSRTIAYCNIYCLKKFLWLKDDNAIVKFWKSVTIQSQPRIGAVDVKLVLNPRAFSAEIREGWEIYRDEFWAREGARRRKQAHELRPKSE
|
89
|
+
best_structure_probability: 1.0
|
90
|
+
transmembrane_segments:
|
91
|
+
- aaseq: WQFTLFLASMAGVGAFTFYEL
|
92
|
+
stop: 93
|
93
|
+
start: 73
|
94
|
+
probability: 1.0
|
95
|
+
- aaseq: VILQFTLSFISITVVLFHISG
|
96
|
+
stop: 126
|
97
|
+
start: 106
|
98
|
+
probability: 1.0
|
99
|
+
num_certain_transmembrane_segments: 2
|
100
|
+
num_found: 2
|
101
|
+
YAL008W:
|
102
|
+
num_putative_transmembrane_segments: 0
|
103
|
+
aaseq: MTLAFNMQRLVFRNLNVGKRMFKNVPLWRFNVANKLGKPLTRSVGLGGAGIVAGGFYLMNRQPSKLIFNDSLGAAVKQQGPLEPTVGNSTAITEERRNKISSHKQMFLGSLFGVVLGVTVAKISILFMYVGITSMLLCEWLRYKGWIRINLKNIKSVIVLKDVDLKKLLIDGLLGTEYMGFKVFFTLSFVLASLNANK
|
104
|
+
best_structure_probability: 1.0
|
105
|
+
transmembrane_segments:
|
106
|
+
- aaseq: LTRSVGLGGAGIVAGGFYLMN
|
107
|
+
stop: 60
|
108
|
+
start: 40
|
109
|
+
probability: 1.0
|
110
|
+
- aaseq: AKISILFMYVGITSMLLCEWL
|
111
|
+
stop: 141
|
112
|
+
start: 121
|
113
|
+
probability: 1.0
|
114
|
+
- aaseq: TEYMGFKVFFTLSFVLASLNA
|
115
|
+
stop: 196
|
116
|
+
start: 176
|
117
|
+
probability: 1.0
|
118
|
+
num_certain_transmembrane_segments: 3
|
119
|
+
num_found: 3
|
120
|
+
YAL007C:
|
121
|
+
num_putative_transmembrane_segments: 0
|
122
|
+
aaseq: MIKSTIALPSFFIVLILALVNSVAASSSYAPVAISLPAFSKECLYYDMVTEDDSLAVGYQVLTGGNFEIDFDITAPDGSVITSEKQKKYSDFLLKSFGVGKYTFCFSNNYGTALKKVEITLEKEKTLTDEHEADVNNDDIIANNAVEEIDRNLNKITKTLNYLRAREWRNMSTVNSTESRLTWLSILIIIIIAVISIAQVLLIQFLFTGRQKNYV
|
123
|
+
best_structure_probability: 1.0
|
124
|
+
transmembrane_segments:
|
125
|
+
- aaseq: STIALPSFFIVLILALVNSVA
|
126
|
+
stop: 24
|
127
|
+
start: 4
|
128
|
+
probability: 1.0
|
129
|
+
- aaseq: LTWLSILIIIIIAVISIAQVL
|
130
|
+
stop: 201
|
131
|
+
start: 181
|
132
|
+
probability: 1.0
|
133
|
+
num_certain_transmembrane_segments: 2
|
134
|
+
num_found: 2
|
135
|
+
YAL005C:
|
136
|
+
num_putative_transmembrane_segments: 1
|
137
|
+
aaseq: MSKAVGIDLGTTYSCVAHFANDRVDIIANDQGNRTTPSFVAFTDTERLIGDAAKNQAAMNPSNTVFDAKRLIGRNFNDPEVQADMKHFPFKLIDVDGKPQIQVEFKGETKNFTPEQISSMVLGKMKETAESYLGAKVNDAVVTVPAYFNDSQRQATKDAGTIAGLNVLRIINEPTAAAIAYGLDKKGKEEHVLIFDLGGGTFDVSLLFIEDGIFEVKATAGDTHLGGEDFDNRLVNHFIQEFKRKNKKDLSTNQRALRRLRTACERAKRTLSSSAQTSVEIDSLFEGIDFYTSITRARFEELCADLFRSTLDPVEKVLRDAKLDKSQVDEIVLVGGSTRIPKVQKLVTDYFNGKEPNRSINPDEAVAYGAAVQAAILTGDESSKTQDLLLLDVAPLSLGIETAGGVMTKLIPRNSTISTKKFEIFSTYADNQPGVLIQVFEGERAKTKDNNLLGKFELSGIPPAPRGVPQIEVTFDVDSNGILNVSAVEKGTGKSNKITITNDKGRLSKEDIEKMVAEAEKFKEEDEKESQRIASKNQLESIAYSLKNTISEAGDKLEQADKDTVTKKAEETISWLDSNTTASKEEFDDKLKELQDIANPIMSKLYQAGGAPGGAAGGAPGGFPGGAPPAPEAEGPTVEEVD
|
138
|
+
best_structure_probability: 1.0
|
139
|
+
transmembrane_segments:
|
140
|
+
- aaseq: AGGAPGGAAGGAPGGFPGGAP
|
141
|
+
stop: 628
|
142
|
+
start: 608
|
143
|
+
probability: 1.0
|
144
|
+
num_certain_transmembrane_segments: 1
|
145
|
+
num_found: 2
|
146
|
+
YAL004W:
|
147
|
+
num_putative_transmembrane_segments: 1
|
148
|
+
aaseq: MGVTSGGLNFKDTVFNEQQRDIESTTTQVENQDVFFLTLLVQTVSNGSGGRFVNNTQDIQTSNGTSILGSLSLRIVEVSWDSDDSVIDLGSQVRFGSFLHLTQDHGGDLFWGKVLGFTLKFNLNLRLTVNIDQLEWEVLHVSLHFWVVEVSTDQTLSVENGIRRIHSSLILSSITNQSFSVSESDKRWSGSVTLIVGNNVHTIISKVSNTRVCCT
|
149
|
+
best_structure_probability: 0.06
|
150
|
+
transmembrane_segments:
|
151
|
+
- aaseq: QDVFFLTLLVQTVSNGSGGRF
|
152
|
+
stop: 52
|
153
|
+
start: 32
|
154
|
+
probability: 0.06
|
155
|
+
num_certain_transmembrane_segments: 0
|
156
|
+
num_found: 1
|
157
|
+
YAL003W:
|
158
|
+
aaseq: MASTDFSKIETLKQLNASLADKSYIEGTAVSQADVTVFKAFQSAYPEFSRWFNHIASKADEFDSFPAASAAAAEEEEDDDVDLFGSDDEEADAEAEKLKAERIAAYNAKKAAKPAKPAAKSIVTLDVKPWDDETNLEEMVANVKAIEMEGLTWGAHQFIPIGFGIKKLQINCVVEDDKVSLDDLQQSIEEDEDHVQSTDIAAMQKL
|
159
|
+
num_found: 0
|
160
|
+
YAL014C:
|
161
|
+
num_putative_transmembrane_segments: 0
|
162
|
+
aaseq: MDVLKLGYELDQLSDLVEERTRLVSVLKLAPTSNDNVTLKRQLGSILELLQKCAPNDELISRYNTILDKIPDTAVDKELYRFQQQVARNTDEVSKESLKKVRFKNDDELTVMYKDDDEQDEESPLPSTHTPYKDEPLQSQLQSQSQPQPPQPMVSNQELFINQQQQLLEQDSHLGALSQSIGRTHDISLDLNNEIVSQNDSLLVDLENLIDNNGRNLNRASRSMHGFNNSRFKDNGNCVIILVLIVVLLLLLLVL
|
163
|
+
best_structure_probability: 1.0
|
164
|
+
transmembrane_segments:
|
165
|
+
- aaseq: NGNCVIILVLIVVLLLLLLVL
|
166
|
+
stop: 255
|
167
|
+
start: 235
|
168
|
+
probability: 1.0
|
169
|
+
num_certain_transmembrane_segments: 1
|
170
|
+
num_found: 1
|
171
|
+
YAL013W:
|
172
|
+
num_putative_transmembrane_segments: 1
|
173
|
+
aaseq: MSQQTPQESEQTTAKEQDLDQESVLSNIDFNTDLNHNLNLSEYCISSDAGTEKMDSDEEKSLANLPELKYAPKLSSLVKQETLTESLKRPHEDEKEAIDEAKKMKVPGENEDESKEEEKSQELEEAIDSKEKSTDARDEQGDEGDNEEENNEEDNENENEHTAPPALVMPSPIEMEEQRMTALKEITDIEYKFAQLRQKLYDNQLVRLQTELQMCLEGSHPELQVYYSKIAAIRDYKLHRAYQRQKYELSCINTETIATRTFIHQDFHKKVTDLRARLLNRTTQTWYDINKERRDMDIVIPDVNYHVPIKLDNKTLSCITGYASAAQLCYPGEPVAEDLACESIEYRYRANPVDKLEVIVDRMRLNNEISDLEGLRKYFHSFPGAPELNPLRDSEINDDFHQWAQCDRHTGPHTTSFCYS
|
174
|
+
best_structure_probability: 0.08
|
175
|
+
transmembrane_segments:
|
176
|
+
- aaseq: KTLSCITGYASAAQLCYPGEP
|
177
|
+
stop: 334
|
178
|
+
start: 314
|
179
|
+
probability: 0.08
|
180
|
+
num_certain_transmembrane_segments: 0
|
181
|
+
num_found: 1
|
182
|
+
YAL002W:
|
183
|
+
num_putative_transmembrane_segments: 2
|
184
|
+
aaseq: MEQNGLDHDSRSSIDTTINDTQKTFLEFRSYTQLSEKLASSSSYTAPPLNEDGPKGVASAVSQGSESVVSWTTLTHVYSILGAYGGPTCLYPTATYFLMGTSKGCVLIFNYNEHLQTILVPTLSEDPSIHSIRSPVKSIVICSDGTHVAASYETGNICIWNLNVGYRVKPTSEPTNGMTPTPALPAVLHIDDHVNKEITGLDFFGARHTALIVSDRTGKVSLYNGYRRGFWQLVYNSKKILDVNSSKEKLIRSKLSPLISREKISTNLLSVLTTTHFALILLSPHVSLMFQETVEPSVQNSLVVNSSISWTQNCSRVAYSVNNKISVISISSSDFNVQSASHSPEFAESILSIQWIDQLLLGVLTISHQFLVLHPQHDFKILLRLDFLIHDLMIPPNKYFVISRRSFYLLTNYSFKIGKFVSWSDITLRHILKGDYLGALEFIESLLQPYCPLANLLKLDNNTEERTKQLMEPFYNLSLAALRFLIKKDNADYNRVYQLLMVVVRVLQQSSKKLDSIPSLDVFLEQGLEFFELKDNAVYFEVVANIVAQGSVTSISPVLFRSIIDYYAKEENLKVIEDLIIMLNPTTLDVDLAVKLCQKYNLFDLLIYIWNKIFDDYQTPVVDLIYRISNQSEKCVIFNGPQVPPETTIFDYVTYILTGRQYPQNLSISPSDKCSKIQRELSAFIFSGFSIKWPSNSNHKLYICENPEEEPAFPYFHLLLKSNPSRFLAMLNEVFEASLFNDDNDMVASVGEAELVSRQYVIDLLLDAMKDTGNSDNIRVLVAIFIATSISKYPQFIKVSNQALDCVVNTICSSRVQGIYEISQIALESLLPYYHSRTTENFILELKEKNFNKVLFHIYKSENKYASALSLILETKDIEKEYNTDIVSITDYILKKCPPGSLECGKVTEVIETNFDLLLSRIGIEKCVTIFSDFDYNLHQEILEVKNEETQQKYLDKLFSTPNINNKVDKRLRNLHIELNCKYKSKREMILWLNGTVLSNAESLQILDLLNQDSNFEAAAIIHERLESFNLAVRDLLSFIEQCLNEGKTNISTLLESLRRAFDDCNSAGTEKKSCWILLITFLITLYGKYPSHDERKDLCNKLLQEAFLGLVRSKSSSQKDSGGEFWEIMSSVLEHQDVILMKVQDLKQLLLNVFNTYKLERSLSELIQKIIEDSSQDLVQQYRKFLSEGWSIHTDDCEICGKKIWGAGLDPLLFLAWENVQRHQDMISVDLKTPLVIFKCHHGFHQTCLENLAQKPDEYSCLICQTESNPKIV
|
185
|
+
best_structure_probability: 1.0
|
186
|
+
transmembrane_segments:
|
187
|
+
- aaseq: GAYGGPTCLYPTATYFLMGTS
|
188
|
+
stop: 102
|
189
|
+
start: 82
|
190
|
+
probability: 1.0
|
191
|
+
- aaseq: TNLLSVLTTTHFALILLSPHV
|
192
|
+
stop: 286
|
193
|
+
start: 266
|
194
|
+
probability: 1.0
|
195
|
+
- aaseq: KKSCWILLITFLITLYGKYPS
|
196
|
+
stop: 1092
|
197
|
+
start: 1072
|
198
|
+
probability: 1.0
|
199
|
+
num_certain_transmembrane_segments: 3
|
200
|
+
num_found: 5
|
201
|
+
YAL012W:
|
202
|
+
num_putative_transmembrane_segments: 0
|
203
|
+
aaseq: MTLQESDKFATKAIHAGEHVDVHGSVIEPISLSTTFKQSSPANPIGTYEYSRSQNPNRENLERAVAALENAQYGLAFSSGSATTATILQSLPQGSHAVSIGDVYGGTHRYFTKVANAHGVETSFTNDLLNDLPQLIKENTKLVWIETPTNPTLKVTDIQKVADLIKKHAAGQDVILVVDNTFLSPYISNPLNFGADIVVHSATKYINGHSDVVLGVLATNNKPLYERLQFLQNAIGAIPSPFDAWLTHRGLKTLHLRVRQAALSANKIAEFLAADKENVVAVNYPGLKTHPNYDVVLKQHRDALGGGMISFRIKGGAEAASKFASSTRLFTLAESLGGIESLLEVPAVMTHGGIPKEAREASGVFDDLVRISVGIEDTDDLLEDIKQALKQATN
|
204
|
+
best_structure_probability: 1.0
|
205
|
+
transmembrane_segments:
|
206
|
+
- aaseq: QYGLAFSSGSATTATILQSLP
|
207
|
+
stop: 92
|
208
|
+
start: 72
|
209
|
+
probability: 1.0
|
210
|
+
num_certain_transmembrane_segments: 1
|
211
|
+
num_found: 1
|
212
|
+
END
|
213
|
+
|
214
|
+
MY_YAML2 = <<END_YAML2
|
215
|
+
---
|
216
|
+
SWN_SM33_HUMAN:
|
217
|
+
aaseq: MSDQEAKPSTEDLGDKKEGEYIKLKVIGQDSSEIHFKVKMTTHLKKLKESYCQRQGVPMNSLRFLFEGQRIADNHTPKELGMEEEDVIEVYQEQTGGHSTV
|
218
|
+
num_found: 0
|
219
|
+
SWN_UBP3_HUMAN:
|
220
|
+
num_putative_transmembrane_segments: 1
|
221
|
+
transmembrane_segments:
|
222
|
+
- aaseq: TMPGYGGAASAGASVFGASGL
|
223
|
+
stop: 724
|
224
|
+
start: 704
|
225
|
+
probability: 21.0
|
226
|
+
- aaseq: YELFAFISHMGTSTMSGHYIC
|
227
|
+
stop: 826
|
228
|
+
start: 806
|
229
|
+
probability: 21.0
|
230
|
+
aaseq: MQRRGALFGMPGGSGGRKMAAGDIGELLVPHMPTIRVPRSGDRVYKNECAFSYDSPNSEGGLYVCMNTFLAFGREHVERHFRKTGQSVYMHLKRHAREKVRGASGGALPKRRNSKIFLDLDTDDDLNSDDYEYEDEAKLVIFPDHYEIALPNIEELPALVTIACDAVLSSKSPYRKQDPDTWENELPVSKYANNLTQLDNGVRIPPSGWKCARCDLRENLWLNLTDGSVLCGKWFFDSSGGNGHALEHYRDMGYPLAVKLGTITPDGADVYSFQEEEPVLDPHLAKHLAHFGIDMLHMHGTENGLQDNDIKLRVSEWEVIQESGTKLKPMYGPGYTGLKNLGNSCYLSSVMQAIFSIPEFQRAYVGNLPRIFDYSPLDPTQDFNTQMTKLGHGLLSGQYSKPPVKSELIEQVMKEEHKPQQNGISPRMFKAFVSKSHPEFSSNRQQDAQEFFLHLVNLVERNRIGSENPSDVFRFLVEERIQCCQTRKVRYTERVDYLMQLPVAMEAATNKDELIAYELTRREAEANRRPLPELVRAKIPFSACLQAFSEPENVDDFWSSALQAKSAGVKTSRFASFPEYLVVQIKKFTFGLDWVPKKFDVSIDMPDLLDINHLRARGLQPGEEELPDISPPIVIPDDSKDRLMNQLIDPSDIDESSVMQLAEMGFPLEACRKAVYFTGNMGAEVAFNWIIVHMEEPDFAEPLTMPGYGGAASAGASVFGASGLDNQPPEEIVAIITSMGFQRNQAIQALRATNNNLERALDWIFSHPEFEEDSDFVIEMENNANANIISEAKPEGPRVKDGSGTYELFAFISHMGTSTMSGHYICHIKKEGRWVIYNDHKVCASERPPKDLGYMYFYRRIPS
|
231
|
+
num_certain_transmembrane_segments: 2
|
232
|
+
num_found: 3
|
233
|
+
SWN_UBPN_HUMAN:
|
234
|
+
num_putative_transmembrane_segments: 3
|
235
|
+
transmembrane_segments:
|
236
|
+
- aaseq: PSSTSSASALYGQPLLLSVPK
|
237
|
+
stop: 556
|
238
|
+
start: 536
|
239
|
+
probability: 21.0
|
240
|
+
aaseq: MYNVGEHNLFPGPIDNSGLFSDPESQTLKEHLIDELDYVLVPTEAWNKLLNWYGCVEGQQPIVRKVVEHGLFVKHCKVEVYLLELKLCENSDPTNVLSCHFSKADTIATIEKEMRKLFNIPAERETRLWNKYMSNTYEQLSKLDNTVQDAGLYQGQVLVIEPQNEDGTWPRQTLQSKSSTAPSRNFTTSPKSSASPYSSVSASLIANGDSTSTCGMHSSGVSRGGSGFSASYNCQEPPSSHIQPGLCGLGNLGNTCFMNSALQCLSNTHPLTDYFLKDEYEAEINRDNPLGMKGEIAEAYAELIKQMWSGRDAHVAPWMFKTQVGRFAPQFSGYQQQDSQELLAFPSRWIHEDLNRVKKKPYLELKDANGRPDAVVAKEAWENHRLRNDSVIVDTFHGLFKSTLVCPECAKVSVTFDPFCYLTLPLPLKKDRVMEVFLVPADPHCRPTQYRVTVPLMGAVSDLCEALSRLSGIAAENMVVADVYNHRFHKIFQMDEGLNHIMPRDDIFVYEVCSTSVDGSECVTLPVYFRERKSRPSSTSSASALYGQPLLLSVPKHKLTLESLYQAVCDRISRYVKQPLPDEFGSSPLEPGACNGSRNSCEGEDEEEMEHQEEGKEQLSETEGSGEDEPGNDPSETTQKKIKGQPCPKRLFTFSLVNSYGTADINSLAADGKLLKLNSRSTLAMDWDRETRRLYYDEQESEAYEKHVSMLQPQKKKKTTVALRDCIELFTTMETLGEHDPWYCPNCKKHQQATKKFDLWSLPKILVVHLKRFSYNRYWRDKLDTVVEFPIRGLNMSEFVCNLSARPYVYDLIAVSNHYGAMGVGHYTAYAKNKLNGKWYYFDDSNVSWPLRIR
|
241
|
+
num_certain_transmembrane_segments: 0
|
242
|
+
num_found: 3
|
243
|
+
SWN_PWP1_HUMAN:
|
244
|
+
num_putative_transmembrane_segments: 0
|
245
|
+
transmembrane_segments:
|
246
|
+
- aaseq: MGVLFCSSCCPDLPFIYAFGG
|
247
|
+
stop: 450
|
248
|
+
start: 430
|
249
|
+
probability: 21.0
|
250
|
+
aaseq: MNRSRQVTCVAWVRCGVAKETPDKVELSKEEVKRLIAEAKEKLQEEGGGSDEEETGSPSEDGMQSARTQARPREPLEDGDPEDDRTLDDDELAEYDLDKYDEEGDPDAETLGESLLGLTVYGSNDQDPYVTLKDTEQYEREDFLIKPSDNLIVCGRAEQDQCNLEVHVYNQEEDSFYVHHDILLSAYPLSVEWLNFDPSPDDSTGNYIAVGNMTPVIEVWDLDIVDSLEPVFTLGSKLSKKKKKKGKKSSSAEGHTDAVLDLSWNKLIRNVLASASADNTVILWDMSLGKPAASLAVHTDKVQTLQFHPFEAQTLISGSYDKSVALYDCRSPDESHRMWRFSGQIERVTWNHFSPCHFLASTDDGFVYNLDARSDKPIFTLNAHNDEISGLDLSSQIKGCLVTASADKYVKIWDILGDRPSLVHSRDMKMGVLFCSSCCPDLPFIYAFGGQKEGLRVWDISTVSSVNEAFGRRERLVLGSARNSSISGPFGSRSSDTPMES
|
251
|
+
num_certain_transmembrane_segments: 1
|
252
|
+
num_found: 1
|
253
|
+
SW_FGF7_HUMAN:
|
254
|
+
num_putative_transmembrane_segments: 0
|
255
|
+
transmembrane_segments:
|
256
|
+
- aaseq: RSCFHIICLVGTISLACNDMT
|
257
|
+
stop: 36
|
258
|
+
start: 16
|
259
|
+
probability: 21.0
|
260
|
+
aaseq: MHKWILTWILPTLLYRSCFHIICLVGTISLACNDMTPEQMATNVNCSSPERHTRSYDYMEGGDIRVRRLFCRTQWYLRIDKRGKVKGTQEMKNNYNIMEIRTVAVGIVAIKGVESEFYLAMNKEGKLYAKKECNEDCNFKELILENHYNTYASAKWTHNGGEMFVALNQKGIPVRGKKTKKEQKTAHFLPMAIT
|
261
|
+
num_certain_transmembrane_segments: 1
|
262
|
+
num_found: 1
|
263
|
+
SWN_SM31_HUMAN:
|
264
|
+
aaseq: MSEEKPKEGVKTENDHINLKVAGQDGSVVQFKIKRHTSLSKLMKAYCERQGLSMRQIRFRFDGQPINETDTPAQLRMEDEDTIDVFQQQTGGVPESSLAGHSF
|
265
|
+
num_found: 0
|
266
|
+
SWN_UFD1_HUMAN:
|
267
|
+
aaseq: MFSFNMFDHPIPRVFQNRFSTQYRCFSVSMLAWPNDRSDVEKGGKIIMPPSALDQLSRLNITYPMLFKLTNKNSDRMTHCGVLEFVADEGICYLPHWMMQNLLLEEDGLVQLETVNLQVATYSKSKFCYLPHWMMQNLLLEEGGLVQVESVNLQVATYSKFQPQSADFLDITNPKAVLENALRNFACLTTGDVIAINYNEKIYELRVMETKPDKAVSIHECDMNVDFDAPLGYKEPERQVQHEESTEGEADHSGYAGELGFRAFSGSGNRLDGKKKGVEPSPSPIKPGDIKRGIPNYEFKLGKITFIRNSRPLVKKVEEDEAGGRFVAFSGEGQSLRKKGRKP
|
268
|
+
num_found: 0
|
269
|
+
SWN_UBCE_HUMAN:
|
270
|
+
aaseq: MNSNVENLPPHIIRLVYKEVTTLTADPPDGIKVFPNEEDLTDLQVTIEGPEGTPYAGGLFRMKLLLGKDFPASPPKGYFLTKIFHPNVGANGEICVNVLKRDWTAELGIRHVLLTIKCLLIHPNPESALNEEAGRLLLENYEEYAARARLLTEIHGGAGGPSGRAEAGRALASGTEASSTDPGAPGGPGGAEGPMAKKHAGERDKKLAAKKKTDKKRALRALRRL
|
271
|
+
num_found: 0
|
272
|
+
SWN_K1CL_HUMAN:
|
273
|
+
num_putative_transmembrane_segments: 0
|
274
|
+
transmembrane_segments:
|
275
|
+
- aaseq: GSAFGFGASCGGGFSAASMFG
|
276
|
+
stop: 64
|
277
|
+
start: 44
|
278
|
+
probability: 21.0
|
279
|
+
- aaseq: ALGGGSFGGLGMGFGGSPGGG
|
280
|
+
stop: 108
|
281
|
+
start: 88
|
282
|
+
probability: 21.0
|
283
|
+
aaseq: MDLSNNTMSLSVRTPGLSRRLSSQSVIGRPRGMSASSVGSGYGGSAFGFGASCGGGFSAASMFGSSSGFGGGSGSSMAGGLGAGYGRALGGGSFGGLGMGFGGSPGGGSLGILSGNDGGLLSGSEKETMQNLNDRLASYLDKVRALEEANTELENKIREWYETRGTGTADASQSDYSKYYPLIEDLRNKIISASIGNAQLLLQIDNARLAAEDFRMKYENELALRQGVEADINGLRRVLDELTLTRTDLEMQIESLNEELAYMKKNHEDELQSFRVGGPGEVSVEMDAAPGVDLTRLLNDMRAQYETIAEQNRKDAEAWFIEKSGELRKEISTNTEQLQSSKSEVTDLRRAFQNLEIELQSQLAMKKSLEDSLAEAEGDYCAQLSQVQQLISNLEAQLLQVRADAERQNVDHQRLLNVKARLELEIETYRRLLDGEAQGDGLEESLFVTDSKSQAQSTDSSKDPTKTRKIKTVVQEMVNGEVVSSQVQEIEELM
|
284
|
+
num_certain_transmembrane_segments: 2
|
285
|
+
num_found: 2
|
286
|
+
SWN_UBCC_HUMAN:
|
287
|
+
aaseq: MAGLPRRIIKETQRLLAEPVPGIKAEPDESNARYFHVVIAGPQDSPFEGGTFKLELFLPEEYPMAAPKVRFMTKIYHPNVDKLGRICLDILKDKWSPALQIRTVLLSIQALLSAPNPDDPLANDVAEQWKTNEAQAIETARAWTRLYAMNNI
|
288
|
+
num_found: 0
|
289
|
+
SWN_SM32_HUMAN:
|
290
|
+
aaseq: MADEKPKEGVKTENNDHINLKVAGQDGSVVQFKIKRHTPLSKLMKAYCERQGLSMRQIRFRFDGQPINETDTPAQLEMEDEDTIDVFQQQTGGVY
|
291
|
+
num_found: 0
|
292
|
+
END_YAML2
|
293
|
+
|
294
|
+
end
|
295
|
+
|
296
|
+
|
297
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require File.expand_path( File.dirname(__FILE__) + '/spec_helper' )
|
2
|
+
require File.expand_path( File.dirname(__FILE__) + '/transmem_spec_shared' )
|
3
|
+
require 'transmem'
|
4
|
+
|
5
|
+
# turns all string keys into symbol keys
|
6
|
+
def string_to_symbol(hash)
|
7
|
+
if hash.is_a? Hash
|
8
|
+
hash.each do |k,v|
|
9
|
+
hash[k.to_sym] = hash.delete(k)
|
10
|
+
if v.is_a? Hash
|
11
|
+
string_to_symbol(v)
|
12
|
+
elsif v.is_a? Array
|
13
|
+
v.each do |armemb|
|
14
|
+
string_to_symbol(armemb)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe TransmemIndex, "determining filetypes" do
|
22
|
+
before(:each) do
|
23
|
+
@files = %w(toppred.small.out toppred.xml.out phobius.small.small.txt phobius.small.noheader.txt).map {|f| Tfiles + '/' + f }
|
24
|
+
@types = %w(toppred toppred phobius phobius).map {|v| v.to_sym }
|
25
|
+
@classes = %w(TopPred TopPred Phobius Phobius).map {|v| v.to_sym }
|
26
|
+
end
|
27
|
+
it 'figures out the filetype' do
|
28
|
+
@files.zip(@types) do |file,tp|
|
29
|
+
TransmemIndex.filetype(file).should == tp
|
30
|
+
end
|
31
|
+
end
|
32
|
+
it 'given a file to initalize, returns the right object' do
|
33
|
+
objects = @files.zip(@classes) do |file,base_klass|
|
34
|
+
obj = TransmemIndex.new(file)
|
35
|
+
base = Kernel.const_get(base_klass)
|
36
|
+
klass = base.const_get(:Index)
|
37
|
+
obj.class.should == klass
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
describe TransmemIndex, "methods" do
|
45
|
+
it 'calculates the num of overlapping chars in start/stop seqs' do
|
46
|
+
##########0 1 2 3 4 5 6
|
47
|
+
##########01234567890123456789012345678901234567890123456789012345678901
|
48
|
+
########## **** **** ** ***
|
49
|
+
string = 'ABCDEFG ABCDEFG ABCDEFG CATTITY ABCD EFG CD BCDEFGTTITY BCDEFG'
|
50
|
+
########## ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^
|
51
|
+
#
|
52
|
+
substring = 'BCDEFG'
|
53
|
+
ranges = [(3..6), (16..19), (43..44), (48..50)]
|
54
|
+
expected = [4, 0, 3, 3, 0]
|
55
|
+
class TMshell ; include TransmemIndex ; end
|
56
|
+
TMshell.new.num_overlapping_chars(string, ranges, substring).should == expected
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
|
@@ -0,0 +1,64 @@
|
|
1
|
+
|
2
|
+
# turns all string keys into symbol keys
|
3
|
+
def string_to_symbol(hash)
|
4
|
+
if hash.is_a? Hash
|
5
|
+
hash.each do |k,v|
|
6
|
+
hash[k.to_sym] = hash.delete(k)
|
7
|
+
if v.is_a? Hash
|
8
|
+
string_to_symbol(v)
|
9
|
+
elsif v.is_a? Array
|
10
|
+
v.each do |armemb|
|
11
|
+
string_to_symbol(armemb)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
describe "a transmem index", :shared => true do
|
21
|
+
before(:all) do
|
22
|
+
# expects an transmem object, @obj
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'is a hash' do
|
26
|
+
@obj.is_a?(Hash).should be_true
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'responds to reference_to_key' do
|
30
|
+
@obj.respond_to?(:reference_to_key).should be_true
|
31
|
+
end
|
32
|
+
|
33
|
+
it "correctly transforms headers or refs into id's" do
|
34
|
+
@ref_to_key.each do |k,v|
|
35
|
+
@obj.reference_to_key(k).should == v
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "creates a num_certain_index that gives correct values given keys" do
|
40
|
+
ind = @obj.num_certain_index
|
41
|
+
@test_hash.each do |k,v|
|
42
|
+
ind[@obj.reference_to_key(k)].should == v
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
describe "a calculator of transmembrane overlap", :shared => true do
|
49
|
+
# require definition of @tm_test and @obj
|
50
|
+
|
51
|
+
it "can give average overlap given a sequence (fraction)" do
|
52
|
+
[:number, :fraction].each do |tp|
|
53
|
+
#[:fraction, :number].each do |tp|
|
54
|
+
hash = @tm_test
|
55
|
+
key = hash[:mykey]
|
56
|
+
hash[:seqs].zip(hash[:exps][tp]) do |seq,exp|
|
57
|
+
@obj.avg_overlap(key, seq, tp).should == exp
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
|
@@ -0,0 +1,107 @@
|
|
1
|
+
require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
|
2
|
+
require File.expand_path( File.dirname(__FILE__) + '/../validator_helper' )
|
3
|
+
|
4
|
+
|
5
|
+
require 'validator/aa'
|
6
|
+
require 'spec_id'
|
7
|
+
require 'spec_id/digestor'
|
8
|
+
|
9
|
+
klass = Validator::AA
|
10
|
+
|
11
|
+
class MyAA < Validator::AA ; def initialize ; end ; end
|
12
|
+
|
13
|
+
describe klass, "using frequency estimates" do
|
14
|
+
before(:each) do
|
15
|
+
@small_fasta = Tfiles + '/small.fasta'
|
16
|
+
@sequest_params = Tfiles + '/bioworks32.params'
|
17
|
+
# C/D C/D J (7)
|
18
|
+
@seqs = %w(ABCDEFGC CCDCCC JJJJJ XYZ WXXXYZ TXXXXXYZ ZZXIIPTYZ ZZXTYZZ ZZZZ YYYYYTL)
|
19
|
+
@peps = @seqs.map {|n| v = SpecID::GenericPep.new; v.aaseq = n ; v }
|
20
|
+
val = klass.new('C')
|
21
|
+
val.frequency = 0.11
|
22
|
+
@validator = val
|
23
|
+
end
|
24
|
+
#C: 0.0157714433456144
|
25
|
+
#D: 0.0526145691939758
|
26
|
+
|
27
|
+
it_should_behave_like 'a validator'
|
28
|
+
|
29
|
+
it 'calculates precision from actual and expected correctly' do
|
30
|
+
MyAA.new.pephit_precision_from_actual_and_expected(5, 10, 100).should == 0.5
|
31
|
+
(0..10).each do |actual|
|
32
|
+
precision = MyAA.new.pephit_precision_from_actual_and_expected(actual, 10, 100)
|
33
|
+
answer = 1.0 - (actual.to_f/10.0)
|
34
|
+
precision.should be_close(answer, 0.00000001)
|
35
|
+
#0 -> 1
|
36
|
+
#1 -> 0.9
|
37
|
+
#2 -> 0.8
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'calculates precision (with background) reasonably and consistently' do
|
42
|
+
(0..10).each do |bkg|
|
43
|
+
precision = MyAA.new.pephit_precision_from_actual_and_expected(5, 10, 100, bkg.to_f/100)
|
44
|
+
answer = 0.5 + bkg.to_f/10
|
45
|
+
answer = 1.0 if answer > 1.0
|
46
|
+
precision.should == answer
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'calculates at_least_one correctly' do
|
51
|
+
aa = 'C'
|
52
|
+
freq = 0.0157714433456144 ## from @small_fasta
|
53
|
+
(actual, expected) = MyAA.new.at_least_one(aa, freq, @seqs)
|
54
|
+
actual.should == 2
|
55
|
+
expected.should be_close(0.949318337979434, 0.0001) # freeze for consistency
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'gives consistent precision of peptides given fastafile and aa (even negative)' do
|
59
|
+
aa = 'C'
|
60
|
+
val = klass.new(aa).set_frequency(Fasta.new(@small_fasta))
|
61
|
+
# I checked this answer out by hand and it is correct
|
62
|
+
val.pephit_precision(@peps).should be_close(-1.10677, 0.001)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe klass, "using empirical digestion data" do
|
67
|
+
|
68
|
+
before(:each) do
|
69
|
+
@small_fasta = Tfiles + '/small.fasta'
|
70
|
+
@sequest_params = Tfiles + '/bioworks32.params'
|
71
|
+
# C/D C/D J (7)
|
72
|
+
@seqs = %w(ABCDEFGC CCDCCC JJJJJ XYZ WXXXYZ TXXXXXYZ ZZXIIPTYZ ZZXTYZZ ZZZZ YYYYYTL)
|
73
|
+
@peps = @seqs.map {|n| v = SpecID::GenericPep.new; v.aaseq = n ; v }
|
74
|
+
|
75
|
+
val = klass.new('C')
|
76
|
+
val.false_to_total_ratio = 0.22 # arbitrary
|
77
|
+
@validator = val
|
78
|
+
end
|
79
|
+
|
80
|
+
it_should_behave_like 'a validator'
|
81
|
+
|
82
|
+
it 'gives correct false to total ratio' do
|
83
|
+
aa = 'C'
|
84
|
+
val = klass.new(aa)
|
85
|
+
peptides = Digestor.digest( Fasta.new(@small_fasta), Sequest::Params.new(@sequest_params))
|
86
|
+
val.set_false_to_total_ratio( peptides )
|
87
|
+
# frozen (but I checked the peptides by hand to make sure they were
|
88
|
+
# correct)
|
89
|
+
val.false_to_total_ratio.should be_close(0.177629264861062, 0.0000000000001)
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'can validate with theoretical digestion or frequency estimate' do
|
93
|
+
aa = 'C'
|
94
|
+
val = klass.new(aa)
|
95
|
+
val.false_to_total_ratio = 0.177629264861062
|
96
|
+
answ = val.pephit_precision(@peps)
|
97
|
+
# frozen
|
98
|
+
answ.should be_close(-0.125940594059407, 0.0000000001)
|
99
|
+
|
100
|
+
val.frequency = 0.0157714433456144 ## from @small_fasta
|
101
|
+
val.false_to_total_ratio = nil
|
102
|
+
answ = val.pephit_precision(@peps)
|
103
|
+
answ.should be_close(-1.10677485094924, 0.0000000001)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
|
2
|
+
|
3
|
+
require 'validator/background'
|
4
|
+
|
5
|
+
describe Validator::Background do
|
6
|
+
|
7
|
+
before(:all) do
|
8
|
+
@expected = YAML.load("badAA: 45
|
9
|
+
tpred-1: 36
|
10
|
+
tpred-1-0.8: 36
|
11
|
+
tpred-2: 36
|
12
|
+
tpred-2-0.8: 36
|
13
|
+
phob-1: 38
|
14
|
+
phob-2: 37
|
15
|
+
phob-1-0.8: 38
|
16
|
+
phob-2-0.8: 37
|
17
|
+
bias-mrna: 29
|
18
|
+
bias-prot: 37
|
19
|
+
")
|
20
|
+
@data =
|
21
|
+
{
|
22
|
+
'badAA' => [0.158873276514528, 0.15968405463222, 0.159870678279229, 0.159635650410558, 0.156543159883917, 0.152783096042051, 0.150294985250737, 0.145335608646189, 0.134808758575322, 0.125552050473186, 0.112790697674419, 0.0960860693748841, 0.076310861423221, 0.0560216123986919, 0.0388044914134742, 0.0250922509225092, 0.0187774670395525, 0.0111182381868719, 0.00934787447139996, 0.00583022388059702, 0.00460382844681367, 0.00348518795120737, 0.00284164298630845, 0.0021488047273704, 0.00167177486765116, 0.00175080245112343, 0.00182926829268293, 0.00191570881226054, 0.0016767270288397, 0.00177116542685087, 0.00186219739292365, 0.00198491464867011, 0.00211864406779661, 0.00136986301369863, 0.00146412884333821, 0.00107642626480086, 0.00120336943441637, 0.000672494956287828, 0.000764525993883792, 0.000887311446317658, 0.00103734439834025, 0.00123609394313968, 0.00151975683890578, 0.00179856115107914, 0.00215982721382289, 0.00266666666666667, 0.0, 0.0, 0.0, 0.0, 0.0/0.0],
|
23
|
+
'tpred-1-0.8' => [0.432087342709104, 0.430464886251236, 0.432952622673435, 0.430709911544568, 0.431700713758307, 0.426344086021505, 0.42326139088729, 0.412998624484182, 0.405773857257418, 0.395963479096588, 0.379389752446747, 0.375838926174497, 0.371165644171779, 0.366496598639456, 0.351903435468895, 0.337611056268509, 0.334031413612565, 0.332236842105263, 0.335585585585586, 0.334894613583138, 0.33133971291866, 0.334558823529412, 0.331658291457286, 0.328998699609883, 0.330175913396482, 0.334745762711864, 0.332844574780059, 0.327188940092166, 0.317152103559871, 0.320689655172414, 0.323583180987203, 0.324271844660194, 0.322245322245322, 0.317180616740088, 0.324644549763033, 0.323834196891192, 0.32183908045977, 0.327044025157233, 0.316363636363636, 0.311203319502075, 0.314553990610329, 0.318918918918919, 0.306122448979592, 0.307086614173228, 0.295238095238095, 0.255555555555556, 0.246753246753247, 0.254237288135593, 0.290322580645161, 0.3, 0.0/0.0],
|
24
|
+
'tpred-2-0.8' => [0.193930421909697, 0.194460929772502, 0.193104906937394, 0.188931730551145, 0.187792271720404, 0.181989247311828, 0.176558752997602, 0.172627235213205, 0.168003207698476, 0.157135992311389, 0.145653425446172, 0.136241610738255, 0.125766871165644, 0.122448979591837, 0.115134633240483, 0.107601184600197, 0.103664921465969, 0.103070175438596, 0.102477477477477, 0.101873536299766, 0.101674641148325, 0.10171568627451, 0.101758793969849, 0.0988296488946684, 0.0987821380243572, 0.100282485875706, 0.095307917888563, 0.0921658986175115, 0.0809061488673139, 0.0793103448275862, 0.0822669104204753, 0.0757281553398058, 0.079002079002079, 0.0814977973568282, 0.0853080568720379, 0.0803108808290155, 0.0718390804597701, 0.0786163522012579, 0.0836363636363636, 0.0746887966804979, 0.07981220657277, 0.0756756756756757, 0.0748299319727891, 0.062992125984252, 0.0666666666666667, 0.0555555555555556, 0.025974025974026, 0.0338983050847458, 0.032258064516129, 0.0, 0.0/0.0],
|
25
|
+
'tpred-1' => [0.43492586490939, 0.434656516222585, 0.437751004016064, 0.439366015481017, 0.435423665546846, 0.432272813869308, 0.432531593966572, 0.422057502246181, 0.419948186528497, 0.413091136861885, 0.395751376868607, 0.39067055393586, 0.379793061472915, 0.378066378066378, 0.366721854304636, 0.348222424794895, 0.34251968503937, 0.339958158995816, 0.343073593073593, 0.343502824858757, 0.337587006960557, 0.33969010727056, 0.336196319018405, 0.332909783989835, 0.334656084656085, 0.339779005524862, 0.339055793991416, 0.331831831831832, 0.323343848580442, 0.326050420168067, 0.329181494661922, 0.330170777988615, 0.325865580448065, 0.321814254859611, 0.326340326340326, 0.322250639386189, 0.320113314447592, 0.325077399380805, 0.314285714285714, 0.308943089430894, 0.311926605504587, 0.317460317460317, 0.304635761589404, 0.305343511450382, 0.293577981651376, 0.258064516129032, 0.253164556962025, 0.262295081967213, 0.303030303030303, 0.333333333333333, 0.0/0.0],
|
26
|
+
'tpred-2' => [0.197144426139484, 0.197571143737539, 0.197699890470975, 0.195355694802801, 0.192422545726017, 0.191465040960183, 0.188544639217285, 0.185085354896676, 0.184974093264249, 0.176636392107736, 0.164044059795437, 0.154518950437318, 0.143639683505782, 0.137085137085137, 0.129966887417219, 0.113035551504102, 0.108267716535433, 0.105648535564854, 0.103896103896104, 0.105084745762712, 0.103248259860789, 0.103694874851013, 0.101840490797546, 0.0991105463786531, 0.0992063492063492, 0.100828729281768, 0.0958512160228898, 0.0930930930930931, 0.082018927444795, 0.0789915966386555, 0.0818505338078292, 0.0759013282732448, 0.0794297352342159, 0.08207343412527, 0.0839160839160839, 0.0792838874680307, 0.0708215297450425, 0.0773993808049536, 0.0821428571428571, 0.0731707317073171, 0.0779816513761468, 0.0740740740740741, 0.0728476821192053, 0.0610687022900763, 0.0642201834862385, 0.0537634408602151, 0.0253164556962025, 0.0327868852459016, 0.0303030303030303, 0.0, 0.0/0.0],
|
27
|
+
'phob-1-0.8' => [0.185672175669857, 0.18433572392246, 0.181897765767137, 0.178760843645932, 0.176211849192101, 0.17261698440208, 0.168649249583102, 0.164665082525207, 0.158626390141268, 0.149688712442479, 0.140255798829395, 0.127386902473408, 0.116115516983391, 0.106017191977077, 0.0974025974025974, 0.0923076923076923, 0.0875342754693103, 0.0849369608493696, 0.0839240795792362, 0.0830359267190102, 0.0802955665024631, 0.0777188998233661, 0.0760188087774295, 0.0748373101952278, 0.0739595050618673, 0.0732568402471315, 0.0716041794714198, 0.070096463022508, 0.0682432432432432, 0.0678329168154231, 0.0672174239579422, 0.0656262505002001, 0.0652173913043478, 0.0629306384933395, 0.0637567435017165, 0.0637837837837838, 0.0609903381642512, 0.0594193112761648, 0.0598618572524942, 0.0587711487088157, 0.059375, 0.0619578686493185, 0.0609756097560976, 0.0576576576576577, 0.0497835497835498, 0.0427807486631016, 0.043010752688172, 0.0396039603960396, 0.0504201680672269, 0.075, 0.0/0.0],
|
28
|
+
'phob-2-0.8' => [0.10336833040771, 0.10306752822552, 0.102234232862635, 0.099946552645644, 0.0978007181328546, 0.0957662787818767, 0.0927181767648694, 0.0913878363624687, 0.0879921851517884, 0.0834611567265181, 0.0773899848254932, 0.0688196847366398, 0.0604518928624869, 0.0551154559244901, 0.050834879406308, 0.0477522477522478, 0.0438726007171483, 0.0433532404335324, 0.042305053738852, 0.0418748512966928, 0.0399014778325123, 0.0386071158213475, 0.0378787878787879, 0.0366052060737527, 0.0357142857142857, 0.0344218887908208, 0.0331899200983405, 0.0327974276527331, 0.0307432432432432, 0.0307033202427704, 0.0311678558017274, 0.0300120048019208, 0.0294117647058824, 0.0257234726688103, 0.0264835703776361, 0.0264864864864865, 0.0241545893719807, 0.0229574611748818, 0.0230237912509593, 0.0231522707034728, 0.025, 0.0285006195786865, 0.0274390243902439, 0.0234234234234234, 0.0238095238095238, 0.018716577540107, 0.021505376344086, 0.0247524752475248, 0.0336134453781513, 0.05, 0.0/0.0],
|
29
|
+
'phob-1' => [0.189416875082269, 0.188798733425688, 0.187119003445534, 0.186618069952518, 0.184998809969059, 0.183175272216368, 0.18173689504862, 0.178471651602301, 0.173068705189687, 0.166212849776954, 0.156364435330306, 0.146373298526944, 0.134995296331138, 0.119743406985032, 0.107213765718068, 0.0987060998151571, 0.0901459124525285, 0.0851336898395722, 0.0844097995545657, 0.083527764815679, 0.0809500727096461, 0.077191235059761, 0.0762076982691811, 0.075208165457964, 0.0743939816104765, 0.0735337029471841, 0.0719512195121951, 0.070242656449553, 0.06841046277666, 0.0680127523910733, 0.0674115456238361, 0.0658991663358476, 0.0656779661016949, 0.0634703196347032, 0.063933626159102, 0.0640473627556512, 0.0613718411552347, 0.0598520511096167, 0.0603975535168196, 0.059449866903283, 0.0601659751037344, 0.0618046971569839, 0.060790273556231, 0.0575539568345324, 0.0496760259179266, 0.0426666666666667, 0.0428571428571429, 0.0396039603960396, 0.0504201680672269, 0.075, 0.0/0.0],
|
30
|
+
'phob-2' => [0.106884296432802, 0.106174549772412, 0.105618870924993, 0.10492877683408, 0.103770698038149, 0.102774850720056, 0.101225736746023, 0.0991783073130649, 0.0961967617871896, 0.0911882277967673, 0.0851765050534642, 0.0778482192802536, 0.0702022577610536, 0.06143977191732, 0.0559232296492389, 0.0495378927911275, 0.0439736158305017, 0.0434224598930481, 0.0427616926503341, 0.042230517965469, 0.0399903053805138, 0.0383466135458167, 0.0379746835443038, 0.0367982809562181, 0.0359431596544999, 0.0347242486139481, 0.0335365853658537, 0.0328863346104725, 0.0308517773306506, 0.0308182784272051, 0.0312849162011173, 0.0301707026597856, 0.0296610169491525, 0.026027397260274, 0.0263543191800878, 0.0263724434876211, 0.0240673886883273, 0.0228648285137861, 0.0229357798165138, 0.0230700976042591, 0.024896265560166, 0.0284301606922126, 0.027355623100304, 0.0233812949640288, 0.0237580993520518, 0.0186666666666667, 0.0214285714285714, 0.0247524752475248, 0.0336134453781513, 0.05, 0.0/0.0],
|
31
|
+
'bias-mrna' => [0.433808285892922, 0.433569195326641, 0.433953549749274, 0.43349622685416, 0.433556050482554, 0.434016778640304, 0.42787610619469, 0.416422883146433, 0.400291326003195, 0.376082592486378, 0.340843023255814, 0.300129846039696, 0.250117041198502, 0.202474050902886, 0.159676354029062, 0.122878228782288, 0.0966839792249301, 0.077613855035279, 0.069441353216114, 0.0608675373134328, 0.0576690089653501, 0.0560119492158327, 0.0539912167398605, 0.0523771152296535, 0.0512677626079688, 0.0507732710825795, 0.0509146341463415, 0.0507662835249042, 0.0489604292421194, 0.0474672334396033, 0.0491620111731844, 0.0504168320762207, 0.0508474576271186, 0.0506849315068493, 0.0502684236212787, 0.0522066738428418, 0.0523465703971119, 0.0537995965030262, 0.0512232415902141, 0.0488021295474712, 0.0508298755186722, 0.0531520395550062, 0.0547112462006079, 0.0593525179856115, 0.060475161987041, 0.064, 0.0678571428571429, 0.0693069306930693, 0.0756302521008403, 0.05, 0.0/0.0],
|
32
|
+
'bias-prot' => [0.689591628549804, 0.689122922494652, 0.688836104513064, 0.68950500315814, 0.688229736113923, 0.685348278622898, 0.680862831858407, 0.669226393629124, 0.652805187482379, 0.628563234872383, 0.591351744186047, 0.547857540345019, 0.497542134831461, 0.441916678515569, 0.394319682959049, 0.359409594095941, 0.333799440671195, 0.316655976053025, 0.308479857556199, 0.297574626865672, 0.290041192149261, 0.284789644012945, 0.282097649186257, 0.279881815739995, 0.277514628030092, 0.278085789320105, 0.277743902439024, 0.278416347381865, 0.276659959758551, 0.275593340417995, 0.274115456238361, 0.268757443429933, 0.26864406779661, 0.265753424657534, 0.267935578330893, 0.263724434876211, 0.260529482551143, 0.255548083389375, 0.258409785932722, 0.266193433895297, 0.266597510373444, 0.279357231149567, 0.276595744680851, 0.26978417266187, 0.285097192224622, 0.272, 0.271428571428571, 0.262376237623762, 0.252100840336134, 0.3, 0.0/0.0],
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
it 'finds the minimum of the plateu region of a stringency plot' do
|
39
|
+
#data = [10,11,12,10,9,8,7,6,5,4.5,4,3.4, 3.2, 3.3, 3.1, 3.0,2.9,2.8,2.8, 2.8, 2.9, 3.4, 2.2, 1.1,0.0,0.0/0.0]
|
40
|
+
#data = [10,11,12,10,9,8,7,6,5,4.5,4,3.4, 3.2, 3.3, 3.1, 3.0,2.9,2.8,2.8, 2.8, 2.9, 3.4, 2.2, 1.1,0.0]
|
41
|
+
@data.each do |k,v|
|
42
|
+
exp = @expected[k]
|
43
|
+
bkg = Validator::Background.new(v)
|
44
|
+
start_i = 25
|
45
|
+
stop_i = 38
|
46
|
+
ans = bkg.min_mesa(start_i, stop_i)
|
47
|
+
ans.should be_close(v[exp], 0.01)
|
48
|
+
# expecting were my best judgement (erring on the min side)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|