mspire 0.4.9 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +27 -17
- data/changelog.txt +31 -62
- data/lib/ms/calc.rb +32 -0
- data/lib/ms/data/interleaved.rb +60 -0
- data/lib/ms/data/lazy_io.rb +73 -0
- data/lib/ms/data/lazy_string.rb +15 -0
- data/lib/ms/data/simple.rb +59 -0
- data/lib/ms/data/transposed.rb +41 -0
- data/lib/ms/data.rb +57 -0
- data/lib/ms/format/format_error.rb +12 -0
- data/lib/ms/spectrum.rb +25 -384
- data/lib/ms/support/binary_search.rb +126 -0
- data/lib/ms.rb +10 -10
- metadata +38 -350
- data/INSTALL +0 -58
- data/README.rdoc +0 -18
- data/Rakefile +0 -330
- data/bin/aafreqs.rb +0 -23
- data/bin/bioworks2excel.rb +0 -14
- data/bin/bioworks_to_pepxml.rb +0 -148
- data/bin/bioworks_to_pepxml_gui.rb +0 -225
- data/bin/fasta_shaker.rb +0 -5
- data/bin/filter_and_validate.rb +0 -5
- data/bin/gi2annot.rb +0 -14
- data/bin/id_class_anal.rb +0 -112
- data/bin/id_precision.rb +0 -172
- data/bin/ms_to_lmat.rb +0 -67
- data/bin/pepproph_filter.rb +0 -16
- data/bin/prob_validate.rb +0 -6
- data/bin/protein_summary.rb +0 -6
- data/bin/protxml2prots_peps.rb +0 -32
- data/bin/raw_to_mzXML.rb +0 -55
- data/bin/run_percolator.rb +0 -122
- data/bin/sqt_group.rb +0 -26
- data/bin/srf_group.rb +0 -27
- data/bin/srf_to_sqt.rb +0 -40
- data/lib/align/chams.rb +0 -78
- data/lib/align.rb +0 -154
- data/lib/archive/targz.rb +0 -94
- data/lib/bsearch.rb +0 -120
- data/lib/core_extensions.rb +0 -16
- data/lib/fasta.rb +0 -626
- data/lib/gi.rb +0 -124
- data/lib/group_by.rb +0 -10
- data/lib/index_by.rb +0 -11
- data/lib/merge_deep.rb +0 -21
- data/lib/ms/converter/mzxml.rb +0 -77
- data/lib/ms/gradient_program.rb +0 -170
- data/lib/ms/msrun.rb +0 -244
- data/lib/ms/msrun_index.rb +0 -108
- data/lib/ms/parser/mzdata/axml.rb +0 -67
- data/lib/ms/parser/mzdata/dom.rb +0 -175
- data/lib/ms/parser/mzdata/libxml.rb +0 -7
- data/lib/ms/parser/mzdata.rb +0 -31
- data/lib/ms/parser/mzxml/axml.rb +0 -70
- data/lib/ms/parser/mzxml/dom.rb +0 -182
- data/lib/ms/parser/mzxml/hpricot.rb +0 -253
- data/lib/ms/parser/mzxml/libxml.rb +0 -19
- data/lib/ms/parser/mzxml/regexp.rb +0 -122
- data/lib/ms/parser/mzxml/rexml.rb +0 -72
- data/lib/ms/parser/mzxml/xmlparser.rb +0 -248
- data/lib/ms/parser/mzxml.rb +0 -282
- data/lib/ms/parser.rb +0 -108
- data/lib/ms/precursor.rb +0 -25
- data/lib/ms/scan.rb +0 -81
- data/lib/mspire.rb +0 -4
- data/lib/pi_zero.rb +0 -244
- data/lib/qvalue.rb +0 -161
- data/lib/roc.rb +0 -187
- data/lib/sample_enzyme.rb +0 -160
- data/lib/scan_i.rb +0 -21
- data/lib/spec_id/aa_freqs.rb +0 -170
- data/lib/spec_id/bioworks.rb +0 -497
- data/lib/spec_id/digestor.rb +0 -138
- data/lib/spec_id/mass.rb +0 -179
- data/lib/spec_id/parser/proph.rb +0 -335
- data/lib/spec_id/precision/filter/cmdline.rb +0 -218
- data/lib/spec_id/precision/filter/interactive.rb +0 -134
- data/lib/spec_id/precision/filter/output.rb +0 -148
- data/lib/spec_id/precision/filter.rb +0 -637
- data/lib/spec_id/precision/output.rb +0 -60
- data/lib/spec_id/precision/prob/cmdline.rb +0 -160
- data/lib/spec_id/precision/prob/output.rb +0 -94
- data/lib/spec_id/precision/prob.rb +0 -249
- data/lib/spec_id/proph/pep_summary.rb +0 -104
- data/lib/spec_id/proph/prot_summary.rb +0 -484
- data/lib/spec_id/proph.rb +0 -4
- data/lib/spec_id/protein_summary.rb +0 -489
- data/lib/spec_id/sequest/params.rb +0 -316
- data/lib/spec_id/sequest/pepxml.rb +0 -1458
- data/lib/spec_id/sequest.rb +0 -33
- data/lib/spec_id/sqt.rb +0 -349
- data/lib/spec_id/srf.rb +0 -973
- data/lib/spec_id.rb +0 -778
- data/lib/spec_id_xml.rb +0 -99
- data/lib/transmem/phobius.rb +0 -147
- data/lib/transmem/toppred.rb +0 -368
- data/lib/transmem.rb +0 -157
- data/lib/validator/aa.rb +0 -48
- data/lib/validator/aa_est.rb +0 -112
- data/lib/validator/background.rb +0 -77
- data/lib/validator/bias.rb +0 -95
- data/lib/validator/cmdline.rb +0 -431
- data/lib/validator/decoy.rb +0 -107
- data/lib/validator/digestion_based.rb +0 -70
- data/lib/validator/probability.rb +0 -51
- data/lib/validator/prot_from_pep.rb +0 -234
- data/lib/validator/q_value.rb +0 -32
- data/lib/validator/transmem.rb +0 -272
- data/lib/validator/true_pos.rb +0 -46
- data/lib/validator.rb +0 -197
- data/lib/xml.rb +0 -38
- data/lib/xml_style_parser.rb +0 -119
- data/lib/xmlparser_wrapper.rb +0 -19
- data/release_notes.txt +0 -2
- data/script/compile_and_plot_smriti_final.rb +0 -97
- data/script/create_little_pepxml.rb +0 -61
- data/script/degenerate_peptides.rb +0 -47
- data/script/estimate_fpr_by_cysteine.rb +0 -226
- data/script/extract_gradient_programs.rb +0 -56
- data/script/find_cysteine_background.rb +0 -137
- data/script/genuine_tps_and_probs.rb +0 -136
- data/script/get_apex_values_rexml.rb +0 -44
- data/script/histogram_probs.rb +0 -61
- data/script/mascot_fix_pepxml.rb +0 -123
- data/script/msvis.rb +0 -42
- data/script/mzXML2timeIndex.rb +0 -25
- data/script/peps_per_bin.rb +0 -67
- data/script/prep_dir.rb +0 -121
- data/script/simple_protein_digestion.rb +0 -27
- data/script/smriti_final_analysis.rb +0 -103
- data/script/sqt_to_meta.rb +0 -24
- data/script/top_hit_per_scan.rb +0 -67
- data/script/toppred_to_yaml.rb +0 -47
- data/script/tpp_installer.rb +0 -249
- data/specs/align_spec.rb +0 -79
- data/specs/bin/bioworks_to_pepxml_spec.rb +0 -79
- data/specs/bin/fasta_shaker_spec.rb +0 -259
- data/specs/bin/filter_and_validate__multiple_vals_helper.yaml +0 -199
- data/specs/bin/filter_and_validate_spec.rb +0 -180
- data/specs/bin/ms_to_lmat_spec.rb +0 -34
- data/specs/bin/prob_validate_spec.rb +0 -86
- data/specs/bin/protein_summary_spec.rb +0 -14
- data/specs/fasta_spec.rb +0 -354
- data/specs/gi_spec.rb +0 -22
- data/specs/load_bin_path.rb +0 -7
- data/specs/merge_deep_spec.rb +0 -13
- data/specs/ms/gradient_program_spec.rb +0 -77
- data/specs/ms/msrun_spec.rb +0 -498
- data/specs/ms/parser_spec.rb +0 -92
- data/specs/ms/spectrum_spec.rb +0 -87
- data/specs/pi_zero_spec.rb +0 -115
- data/specs/qvalue_spec.rb +0 -39
- data/specs/roc_spec.rb +0 -251
- data/specs/rspec_autotest.rb +0 -149
- data/specs/sample_enzyme_spec.rb +0 -126
- data/specs/spec_helper.rb +0 -135
- data/specs/spec_id/aa_freqs_spec.rb +0 -52
- data/specs/spec_id/bioworks_spec.rb +0 -148
- data/specs/spec_id/digestor_spec.rb +0 -75
- data/specs/spec_id/precision/filter/cmdline_spec.rb +0 -20
- data/specs/spec_id/precision/filter/output_spec.rb +0 -31
- data/specs/spec_id/precision/filter_spec.rb +0 -246
- data/specs/spec_id/precision/prob_spec.rb +0 -44
- data/specs/spec_id/precision/prob_spec_helper.rb +0 -0
- data/specs/spec_id/proph/pep_summary_spec.rb +0 -98
- data/specs/spec_id/proph/prot_summary_spec.rb +0 -128
- data/specs/spec_id/protein_summary_spec.rb +0 -189
- data/specs/spec_id/sequest/params_spec.rb +0 -68
- data/specs/spec_id/sequest/pepxml_spec.rb +0 -374
- data/specs/spec_id/sequest_spec.rb +0 -38
- data/specs/spec_id/sqt_spec.rb +0 -246
- data/specs/spec_id/srf_spec.rb +0 -172
- data/specs/spec_id/srf_spec_helper.rb +0 -139
- data/specs/spec_id_helper.rb +0 -33
- data/specs/spec_id_spec.rb +0 -366
- data/specs/spec_id_xml_spec.rb +0 -33
- data/specs/transmem/phobius_spec.rb +0 -425
- data/specs/transmem/toppred_spec.rb +0 -298
- data/specs/transmem_spec.rb +0 -60
- data/specs/transmem_spec_shared.rb +0 -64
- data/specs/validator/aa_est_spec.rb +0 -66
- data/specs/validator/aa_spec.rb +0 -40
- data/specs/validator/background_spec.rb +0 -67
- data/specs/validator/bias_spec.rb +0 -122
- data/specs/validator/decoy_spec.rb +0 -51
- data/specs/validator/fasta_helper.rb +0 -26
- data/specs/validator/prot_from_pep_spec.rb +0 -141
- data/specs/validator/transmem_spec.rb +0 -146
- data/specs/validator/true_pos_spec.rb +0 -58
- data/specs/validator_helper.rb +0 -33
- data/specs/xml_spec.rb +0 -12
- data/test_files/000_pepxml18_small.xml +0 -206
- data/test_files/020a.mzXML.timeIndex +0 -4710
- data/test_files/4-03-03_mzXML/000.mzXML.timeIndex +0 -3973
- data/test_files/4-03-03_mzXML/020.mzXML.timeIndex +0 -3872
- data/test_files/4-03-03_small-prot.xml +0 -321
- data/test_files/4-03-03_small.xml +0 -3876
- data/test_files/7MIX_STD_110802_1.sequest_params_fragment.srf +0 -0
- data/test_files/bioworks-3.3_10prots.xml +0 -5999
- data/test_files/bioworks31.params +0 -77
- data/test_files/bioworks32.params +0 -62
- data/test_files/bioworks33.params +0 -63
- data/test_files/bioworks_single_run_small.xml +0 -7237
- data/test_files/bioworks_small.fasta +0 -212
- data/test_files/bioworks_small.params +0 -63
- data/test_files/bioworks_small.phobius +0 -109
- data/test_files/bioworks_small.toppred.out +0 -2847
- data/test_files/bioworks_small.xml +0 -5610
- data/test_files/bioworks_with_INV_small.xml +0 -3753
- data/test_files/bioworks_with_SHUFF_small.xml +0 -2503
- 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 +0 -304
- data/test_files/messups.fasta +0 -297
- data/test_files/opd1/000.my_answer.100lines.xml +0 -101
- data/test_files/opd1/000.tpp_1.2.3.first10.xml +0 -115
- data/test_files/opd1/000.tpp_2.9.2.first10.xml +0 -126
- data/test_files/opd1/000.v2.1.mzXML.timeIndex +0 -3748
- data/test_files/opd1/000_020-prot.png +0 -0
- data/test_files/opd1/000_020_3prots-prot.mod_initprob.xml +0 -62
- data/test_files/opd1/000_020_3prots-prot.xml +0 -62
- data/test_files/opd1/opd1_cat_inv_small-prot.xml +0 -139
- data/test_files/opd1/sequest.3.1.params +0 -77
- data/test_files/opd1/sequest.3.2.params +0 -62
- data/test_files/opd1/twenty_scans.mzXML +0 -418
- data/test_files/opd1/twenty_scans.v2.1.mzXML +0 -382
- data/test_files/opd1/twenty_scans_answ.lmat +0 -0
- data/test_files/opd1/twenty_scans_answ.lmata +0 -9
- data/test_files/opd1_020_beginning.RAW +0 -0
- data/test_files/opd1_2runs_2mods/data/020.mzData.xml +0 -683
- data/test_files/opd1_2runs_2mods/data/020.readw.mzXML +0 -382
- data/test_files/opd1_2runs_2mods/data/040.mzData.xml +0 -683
- data/test_files/opd1_2runs_2mods/data/040.readw.mzXML +0 -382
- data/test_files/opd1_2runs_2mods/data/README.txt +0 -6
- data/test_files/opd1_2runs_2mods/interact-opd1_mods__small.xml +0 -753
- data/test_files/orbitrap_mzData/000_cut.xml +0 -1920
- data/test_files/pepproph_small.xml +0 -4691
- data/test_files/phobius.small.noheader.txt +0 -50
- data/test_files/phobius.small.small.txt +0 -53
- data/test_files/s01_anC1_ld020mM.key.txt +0 -25
- data/test_files/s01_anC1_ld020mM.meth +0 -0
- data/test_files/small.fasta +0 -297
- data/test_files/small.sqt +0 -87
- data/test_files/smallraw.RAW +0 -0
- data/test_files/tf_bioworks2excel.bioXML +0 -14340
- data/test_files/tf_bioworks2excel.txt.actual +0 -1035
- data/test_files/toppred.small.out +0 -416
- data/test_files/toppred.xml.out +0 -318
- data/test_files/validator_hits_separate/bias_bioworks_small_HS.fasta +0 -7
- data/test_files/validator_hits_separate/bioworks_small_HS.xml +0 -5651
- data/test_files/yeast_gly_small-prot.xml +0 -265
- data/test_files/yeast_gly_small.1.0_1.0_1.0.parentTimes +0 -6
- data/test_files/yeast_gly_small.xml +0 -3807
- data/test_files/yeast_gly_small2.parentTimes +0 -6
data/Rakefile
DELETED
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
require 'rake'
|
|
2
|
-
require 'rubygems'
|
|
3
|
-
require 'rake/rdoctask'
|
|
4
|
-
require 'rake/gempackagetask'
|
|
5
|
-
require 'rake/clean'
|
|
6
|
-
require 'fileutils'
|
|
7
|
-
require 'spec/rake/spectask'
|
|
8
|
-
|
|
9
|
-
###############################################
|
|
10
|
-
# GLOBAL
|
|
11
|
-
###############################################
|
|
12
|
-
FL = FileList
|
|
13
|
-
|
|
14
|
-
NAME = "mspire"
|
|
15
|
-
|
|
16
|
-
$dependencies = %w(libjtp)
|
|
17
|
-
$tfiles_large = 'test_files_large'
|
|
18
|
-
changelog = "changelog.txt"
|
|
19
|
-
|
|
20
|
-
core_files = FL["INSTALL", "README", "README.rdoc", "Rakefile", "LICENSE", changelog, "release_notes.txt", "{lib,bin,script,specs,tutorial,test_files}/**/*"]
|
|
21
|
-
big_dist_files = core_files + FL["test_files_large/**/*"]
|
|
22
|
-
|
|
23
|
-
dist_files = core_files
|
|
24
|
-
# dist_files = big_dist_files
|
|
25
|
-
|
|
26
|
-
###############################################
|
|
27
|
-
# ENVIRONMENT
|
|
28
|
-
###############################################
|
|
29
|
-
|
|
30
|
-
ENV["OS"] == "Windows_NT" ? WIN32 = true : WIN32 = false
|
|
31
|
-
$gemcmd = "gem"
|
|
32
|
-
if WIN32
|
|
33
|
-
unless ENV["TERM"] == "cygwin"
|
|
34
|
-
$gemcmd << ".cmd"
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
###############################################
|
|
39
|
-
# DOC
|
|
40
|
-
###############################################
|
|
41
|
-
|
|
42
|
-
def move_and_add_webgen_header(file, newfile, src_dir, heading)
|
|
43
|
-
string = IO.read file
|
|
44
|
-
with_header = heading + string
|
|
45
|
-
File.open(newfile, 'w') {|v| v.print with_header }
|
|
46
|
-
FileUtils.mv newfile, src_dir, :force => true
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
desc "copy top level files into doc/src"
|
|
50
|
-
task :cp_top_level_docs do
|
|
51
|
-
string = "---
|
|
52
|
-
title: TITLE
|
|
53
|
-
inMenu: true
|
|
54
|
-
directoryName: mspire
|
|
55
|
-
---\n"
|
|
56
|
-
src = "doc/src"
|
|
57
|
-
move_and_add_webgen_header('README', 'index.page', src, string.sub('TITLE', 'Home'))
|
|
58
|
-
move_and_add_webgen_header('INSTALL', 'index.page', src + '/install', string.sub('TITLE', 'Install').sub('mspire', 'Install').sub("inMenu: true\n", ''))
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
desc "upload docs (doc/output) to server"
|
|
62
|
-
task :upload_docs do
|
|
63
|
-
sh "scp -i ~/.ssh/rubyforge_key -r doc/output/* jtprince@rubyforge.org:/var/www/gforge-projects/mspire/"
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# best to use webgen 0.3.8 right now
|
|
67
|
-
# to get working (may not require all these steps):
|
|
68
|
-
# gem install RedCloth
|
|
69
|
-
# gem install BlueCloth
|
|
70
|
-
# soft link the bluecloth binary into path
|
|
71
|
-
desc "creates docs in doc/html"
|
|
72
|
-
task :html_docs => [:cp_top_level_docs] do
|
|
73
|
-
FileUtils.cd 'doc' do
|
|
74
|
-
sh "webgen"
|
|
75
|
-
end
|
|
76
|
-
FileUtils.cp 'doc/src/archive/t2x', 'doc/output/archive/t2x'
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
desc "does html_docs and rdoc and puts rdoc inside html_docs"
|
|
80
|
-
task :all_docs => [:html_docs, :rdoc] do
|
|
81
|
-
FileUtils.mv 'html', 'doc/output/rdoc'
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
#rdoc_options = ['--main', 'README', '--title', NAME]
|
|
85
|
-
rdoc_options = ['--main', 'README.rdoc', '--title', NAME]
|
|
86
|
-
#rdoc_extra_includes = ["README", "INSTALL", "LICENSE"]
|
|
87
|
-
rdoc_extra_includes = ['README.rdoc']
|
|
88
|
-
|
|
89
|
-
Rake::RDocTask.new do |rd|
|
|
90
|
-
rd.main = "README.rdoc"
|
|
91
|
-
rd.rdoc_files.include("lib/**/*.rb", *rdoc_extra_includes )
|
|
92
|
-
rd.options.push( *rdoc_options )
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
###############################################
|
|
96
|
-
# TESTS
|
|
97
|
-
###############################################
|
|
98
|
-
|
|
99
|
-
namespace :spec do
|
|
100
|
-
task :autotest do
|
|
101
|
-
require './specs/rspec_autotest'
|
|
102
|
-
RspecAutotest.run
|
|
103
|
-
end
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
task :ensure_dependencies do
|
|
108
|
-
$dependencies.each do |dep|
|
|
109
|
-
unless `#{$gemcmd} list -l #{dep}`.include?(dep)
|
|
110
|
-
abort "ABORTING: install #{dep} before testing!"
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
task :ensure_large_testfiles do
|
|
116
|
-
if !File.exist?($tfiles_large) and !ENV['SPEC_LARGE'].nil?
|
|
117
|
-
warn "Not running with large files since #{$tfiles_large} does not exist!"
|
|
118
|
-
warn "Removing SPEC_LARGE from ENV!"
|
|
119
|
-
ENV.delete('SPEC_LARGE')
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
task :ensure_gem_is_uninstalled do
|
|
124
|
-
reply = `#{$gemcmd} list -l #{NAME}`
|
|
125
|
-
if reply.include? NAME + " ("
|
|
126
|
-
puts "GOING to uninstall gem '#{NAME}' for testing"
|
|
127
|
-
if WIN32
|
|
128
|
-
%x( #{$gemcmd} uninstall -x #{NAME} )
|
|
129
|
-
else
|
|
130
|
-
%x( sudo #{$gemcmd} uninstall -x #{NAME} )
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
desc "Run all specs"
|
|
136
|
-
Spec::Rake::SpecTask.new('spec') do |t|
|
|
137
|
-
Rake::Task[:ensure_gem_is_uninstalled].invoke
|
|
138
|
-
Rake::Task[:ensure_dependencies].invoke
|
|
139
|
-
Rake::Task[:ensure_large_testfiles].invoke
|
|
140
|
-
t.libs =
|
|
141
|
-
if !ENV['LIB'].nil?
|
|
142
|
-
[ENV['LIB']]
|
|
143
|
-
else
|
|
144
|
-
['lib']
|
|
145
|
-
end
|
|
146
|
-
#t.ruby_opts = ['-I', 'lib']
|
|
147
|
-
t.spec_files = FileList['specs/**/*_spec.rb']
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
desc "Run all specs"
|
|
151
|
-
Spec::Rake::SpecTask.new('specl') do |t|
|
|
152
|
-
Rake::Task[:ensure_gem_is_uninstalled].invoke
|
|
153
|
-
Rake::Task[:ensure_dependencies].invoke
|
|
154
|
-
Rake::Task[:ensure_large_testfiles].invoke
|
|
155
|
-
t.spec_files = FileList['specs/**/*_spec.rb']
|
|
156
|
-
t.libs =
|
|
157
|
-
if !ENV['LIB'].nil?
|
|
158
|
-
[ENV['LIB']]
|
|
159
|
-
else
|
|
160
|
-
['lib']
|
|
161
|
-
end
|
|
162
|
-
#t.libs = ['lib']
|
|
163
|
-
#t.ruby_opts = ['-I', 'lib']
|
|
164
|
-
t.spec_opts = ['--format', 'specdoc' ]
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
desc "Run all specs with RCov"
|
|
168
|
-
Spec::Rake::SpecTask.new('rcov') do |t|
|
|
169
|
-
Rake::Task[:ensure_gem_is_uninstalled].invoke
|
|
170
|
-
Rake::Task[:ensure_dependencies].invoke
|
|
171
|
-
Rake::Task[:ensure_large_testfiles].invoke
|
|
172
|
-
t.spec_files = FileList['specs/**/*_spec.rb']
|
|
173
|
-
t.rcov = true
|
|
174
|
-
t.libs =
|
|
175
|
-
if !ENV['LIB'].nil?
|
|
176
|
-
[ENV['LIB']]
|
|
177
|
-
else
|
|
178
|
-
['lib']
|
|
179
|
-
end
|
|
180
|
-
#t.ruby_opts = ['-I', 'lib']
|
|
181
|
-
t.rcov_opts = ['--exclude', 'specs']
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
task :speci => [:ensure_gem_is_uninstalled, :ensure_dependencies, :ensure_large_testfiles] do
|
|
185
|
-
# files that match a key word
|
|
186
|
-
files_to_run = ENV['SPEC'] || FileList['specs/**/*_spec.rb']
|
|
187
|
-
if ENV['SPECM']
|
|
188
|
-
files_to_run = files_to_run.select do |file|
|
|
189
|
-
file.include?(ENV['SPECM'])
|
|
190
|
-
end
|
|
191
|
-
end
|
|
192
|
-
lib =
|
|
193
|
-
if !ENV['LIB'].nil?
|
|
194
|
-
ENV['LIB']
|
|
195
|
-
else
|
|
196
|
-
'lib'
|
|
197
|
-
end
|
|
198
|
-
files_to_run.each do |spc|
|
|
199
|
-
puts "------ SPEC=#{spc} ------"
|
|
200
|
-
system "ruby -I #{lib} -S spec #{spc} --format specdoc"
|
|
201
|
-
end
|
|
202
|
-
end
|
|
203
|
-
|
|
204
|
-
#Spec::Rake::SpecTask.new(:spec) do |t|
|
|
205
|
-
# uninstall_gem
|
|
206
|
-
# t.spec_files = FileList['spec/**/spec_*.rb']
|
|
207
|
-
# t.libs = FileList['lib']
|
|
208
|
-
# t.spec_opts = ['--format', 'specdoc']
|
|
209
|
-
#end
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
#desc "Run unit tests."
|
|
213
|
-
#Rake::TestTask.new do |t|
|
|
214
|
-
# uninstall_gem
|
|
215
|
-
# # t.libs << "lib" ## done by default
|
|
216
|
-
# t.test_files = FL["test/tc_*.rb"]
|
|
217
|
-
# #t.verbose = true
|
|
218
|
-
#end
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
#desc "Run unit tests individual on each test"
|
|
223
|
-
#task :test_ind do |t|
|
|
224
|
-
# reply = `#{$gemcmd} list -l #{NAME}`
|
|
225
|
-
# if reply.include? NAME + " ("
|
|
226
|
-
# %x( sudo #{$gemcmd} uninstall -x #{NAME} )
|
|
227
|
-
# end
|
|
228
|
-
#
|
|
229
|
-
# # t.libs << "lib" ## done by default
|
|
230
|
-
# test_files = FL["test/tc_*.rb"]
|
|
231
|
-
# test_files.each do |file|
|
|
232
|
-
# puts "TESTING: #{file.sub(/test\//,'')}"
|
|
233
|
-
# puts `ruby -I lib #{file}`
|
|
234
|
-
# end
|
|
235
|
-
# #t.verbose = true
|
|
236
|
-
#end
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
#desc "Run all tests"
|
|
243
|
-
#task :test_indiv do
|
|
244
|
-
# sys.cd "test" do
|
|
245
|
-
# sys["tc_*.rb"].each do |file|
|
|
246
|
-
# sys "ruby #{file}"
|
|
247
|
-
# end
|
|
248
|
-
# end
|
|
249
|
-
#end
|
|
250
|
-
|
|
251
|
-
###############################################
|
|
252
|
-
# PACKAGE / INSTALL / UNINSTALL
|
|
253
|
-
###############################################
|
|
254
|
-
|
|
255
|
-
## To release a package on rubyforge:
|
|
256
|
-
## Login to rubyforge and go the 'Files' tab
|
|
257
|
-
## then "To create a new release click here"
|
|
258
|
-
|
|
259
|
-
tm = Time.now
|
|
260
|
-
spec = Gem::Specification.new do |s|
|
|
261
|
-
s.platform = Gem::Platform::RUBY
|
|
262
|
-
s.name = NAME
|
|
263
|
-
s.version = IO.readlines(changelog).grep(/##.*version/).pop.split(/\s+/).last.chomp
|
|
264
|
-
s.summary = "Mass Spectrometry Proteomics Objects, Scripts, and Executables"
|
|
265
|
-
s.date = "#{tm.year}-#{tm.month}-#{tm.day}"
|
|
266
|
-
s.email = "jprince@icmb.utexas.edu"
|
|
267
|
-
s.homepage = "http://mspire.rubyforge.org"
|
|
268
|
-
s.rubyforge_project = "mspire"
|
|
269
|
-
s.description = "mspire is for working with mass spectrometry proteomics data"
|
|
270
|
-
s.has_rdoc = true
|
|
271
|
-
s.authors = ["John Prince"]
|
|
272
|
-
s.files = dist_files
|
|
273
|
-
s.rdoc_options = rdoc_options
|
|
274
|
-
s.extra_rdoc_files = rdoc_extra_includes
|
|
275
|
-
s.executables = FL["bin/*"].map {|file| File.basename(file) }
|
|
276
|
-
s.add_dependency('libjtp', '~> 0.2.14')
|
|
277
|
-
s.add_dependency('axml', '~> 0.0.0')
|
|
278
|
-
s.add_dependency('arrayclass', '~> 0.1.0')
|
|
279
|
-
s.requirements << '"libxml" is the prefered xml parser right now. libxml, xmlparser, REXML and regular expressions are used as fallback in some routines.'
|
|
280
|
-
s.requirements << 'some plotting functions will not be available without the "gnuplot" gem (and underlying gnuplot binary)'
|
|
281
|
-
s.requirements << 'the "t2x" binary (in archive) or readw.exe is required to convert .RAW files to mzXML in some applications'
|
|
282
|
-
s.requirements << '"rake" is useful for development'
|
|
283
|
-
s.requirements << '"webgen (with gems redcloth and bluecloth) is necessary to build web pages'
|
|
284
|
-
#s.test_files = FL["test/tc_*.rb"]
|
|
285
|
-
s.test_files = FL["specs/**/*_spec.rb"]
|
|
286
|
-
end
|
|
287
|
-
|
|
288
|
-
desc "Create packages."
|
|
289
|
-
Rake::GemPackageTask.new(spec) do |pkg|
|
|
290
|
-
pkg.need_zip = true
|
|
291
|
-
pkg.need_tar = true
|
|
292
|
-
end
|
|
293
|
-
|
|
294
|
-
#desc "Create packages."
|
|
295
|
-
#gen RubyPackage, NAME do |t|
|
|
296
|
-
# t.version = "0.1.4"
|
|
297
|
-
# t.summary = "Mass Spectrometry Proteomics Objects, Scripts, and Executables"
|
|
298
|
-
# t.files = dist_files
|
|
299
|
-
# t.bindir = "bin"
|
|
300
|
-
# t.executable = sys["bin/*"].collect {|file| File.basename(file) }
|
|
301
|
-
# t.test_files = sys["test/tc_*.rb"]
|
|
302
|
-
# t.gem_add_dependency('libjtp', '= 0.1.1')
|
|
303
|
-
# t.package_task
|
|
304
|
-
#end
|
|
305
|
-
|
|
306
|
-
task :remove_pkg do
|
|
307
|
-
FileUtils.rm_rf "pkg"
|
|
308
|
-
end
|
|
309
|
-
|
|
310
|
-
task :install => [:reinstall]
|
|
311
|
-
|
|
312
|
-
desc "uninstalls the package, packages a fresh one, and installs"
|
|
313
|
-
task :reinstall => [:remove_pkg, :clean, :package] do
|
|
314
|
-
reply = `#{$gemcmd} list -l #{NAME}`
|
|
315
|
-
if reply.include?(NAME + " (")
|
|
316
|
-
%x( #{$gemcmd} uninstall -x #{NAME} )
|
|
317
|
-
end
|
|
318
|
-
FileUtils.cd("pkg") do
|
|
319
|
-
%x( #{$gemcmd} install #{NAME}*.gem )
|
|
320
|
-
end
|
|
321
|
-
|
|
322
|
-
end
|
|
323
|
-
|
|
324
|
-
###############################################
|
|
325
|
-
# CLEANUP
|
|
326
|
-
###############################################
|
|
327
|
-
|
|
328
|
-
#desc "Remove autogenerated and backup files."
|
|
329
|
-
#gen Clean
|
|
330
|
-
#var[:clean].include "pkg", "*~", tutorial_files
|
data/bin/aafreqs.rb
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/ruby -w
|
|
2
|
-
|
|
3
|
-
require 'fasta'
|
|
4
|
-
require 'spec_id/aa_freqs'
|
|
5
|
-
|
|
6
|
-
if ARGV.size < 1
|
|
7
|
-
puts "usage: #{File.basename(__FILE__)} <file>.fasta ..."
|
|
8
|
-
puts "prints the amino acid frequencies of every amino acid in each fasta file"
|
|
9
|
-
exit
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
ARGV.each do |file|
|
|
13
|
-
obj = SpecID::AAFreqs.new(Fasta.new(file))
|
|
14
|
-
puts file
|
|
15
|
-
obj.aafreqs.sort_by{|v| v.to_s }.each do |k,v|
|
|
16
|
-
puts "#{k}: #{v}"
|
|
17
|
-
end
|
|
18
|
-
puts ""
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
data/bin/bioworks2excel.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/ruby -w
|
|
2
|
-
|
|
3
|
-
require 'spec_id/bioworks'
|
|
4
|
-
|
|
5
|
-
if ARGV.size < 1
|
|
6
|
-
puts "usage: #{File.basename(__FILE__)} bioworks.xml ..."
|
|
7
|
-
exit
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
ARGV.each do |file|
|
|
11
|
-
newfile = file.gsub(".xml", ".txt")
|
|
12
|
-
obj = Bioworks.new(file)
|
|
13
|
-
obj.to_excel(newfile)
|
|
14
|
-
end
|
data/bin/bioworks_to_pepxml.rb
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/ruby -w
|
|
2
|
-
|
|
3
|
-
##############################################################
|
|
4
|
-
# GLOBAL CONSTANTS
|
|
5
|
-
|
|
6
|
-
DEFAULT_DATABASE_PATH = "/project/marcotte/marcotte/ms/database"
|
|
7
|
-
DEFAULT_MZ_PATH = "."
|
|
8
|
-
DEFAULT_OUTDIR = "pepxml"
|
|
9
|
-
DEFAULT_PARAMS_GLOB = "*.params"
|
|
10
|
-
DEFAULT_PARAMS_FILE = Dir[DEFAULT_PARAMS_GLOB].first
|
|
11
|
-
DEFAULT_MS_MODEL = 'LCQ'
|
|
12
|
-
DEFAULT_MASS_ANALYZER = 'Ion Trap'
|
|
13
|
-
##############################################################
|
|
14
|
-
|
|
15
|
-
#require 'spec_id/sequest/pepxml' # dies of this guy is called (why???)
|
|
16
|
-
require 'spec_id/proph/pep_summary' # <- he requests the above...hmmm
|
|
17
|
-
require 'spec_id'
|
|
18
|
-
require 'optparse'
|
|
19
|
-
require 'ostruct'
|
|
20
|
-
require 'fileutils'
|
|
21
|
-
require 'spec_id/srf'
|
|
22
|
-
|
|
23
|
-
# establish the default database path after examining env vars
|
|
24
|
-
def_dbpath = nil
|
|
25
|
-
db_env_var = ENV["BIOWORKS_DBPATH"]
|
|
26
|
-
if db_env_var
|
|
27
|
-
def_dbpath = db_env_var
|
|
28
|
-
else
|
|
29
|
-
def_dbpath = DEFAULT_DATABASE_PATH
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
opt = OpenStruct.new
|
|
33
|
-
|
|
34
|
-
opt_obj = OptionParser.new do |op|
|
|
35
|
-
progname = File.basename(__FILE__)
|
|
36
|
-
op.banner = "\nusage: #{progname} [options] <file>.srf ..."
|
|
37
|
-
op.separator "usage: #{progname} [options] <bioworks>.srg"
|
|
38
|
-
op.separator "usage: #{progname} [options] <bioworks>.xml"
|
|
39
|
-
op.separator ""
|
|
40
|
-
op.separator "Takes srf files or the xml exported output of Bioworks multi-consensus view"
|
|
41
|
-
op.separator "(no filtering) and outputs pepXML files (to feed the trans-proteomic pipeline)."
|
|
42
|
-
op.separator "Additionally, will group .srf files into an .srg file (like 'srf_group.rb')"
|
|
43
|
-
op.separator ""
|
|
44
|
-
op.separator "Options:"
|
|
45
|
-
op.on('-h', '--help', "display this and more notes and exit") {|v| opt.help = v }
|
|
46
|
-
op.on('-o', '--outdir path', "output directory d: '#{DEFAULT_OUTDIR}'") {|v| opt.outdir = v }
|
|
47
|
-
op.on('--sample_enzyme <type>', "For digested samples run with no enzymatic",
|
|
48
|
-
"search constraint, the enzyme used for",
|
|
49
|
-
"digestion, options: 'Trypsin_KR_P'") {|v|
|
|
50
|
-
case v
|
|
51
|
-
when 'Trypsin_KR_P'
|
|
52
|
-
opt.sample_enzyme = SampleEnzyme.new("trypsin")
|
|
53
|
-
else
|
|
54
|
-
raise ArgumentError, "Don't recognize enzyme: #{v}"
|
|
55
|
-
end
|
|
56
|
-
}
|
|
57
|
-
op.on('-a', '--all_hits', "includes all hits, not just top xcorr") {|v| opt.all_hits = v }
|
|
58
|
-
op.on('--deltacn_orig', "top hit deltacn = 0.0, (no deltacnstar att)") {|v| opt.deltacn_orig = v }
|
|
59
|
-
op.on('-m', '--mspath path', "path to MS files d: '#{DEFAULT_MZ_PATH}'") {|v| opt.mspath = v }
|
|
60
|
-
op.on('--copy_mzxml', "copies mzXML files to outdir path"){|v| opt.copy_mzxml = v }
|
|
61
|
-
|
|
62
|
-
op.separator ""
|
|
63
|
-
op.separator "bioworks.xml files may require additional options:"
|
|
64
|
-
op.separator ""
|
|
65
|
-
op.on('-p', '--params file', "sequest params file d: '#{DEFAULT_PARAMS_FILE}'") {|v| opt.params = v }
|
|
66
|
-
op.on('-d', '--dbpath path', "path to databases d: '#{DEFAULT_DATABASE_PATH}'") {|v| opt.dbpath = v }
|
|
67
|
-
op.on('--model <LCQ|Orbi|string>', "MS model (xml) d: '#{DEFAULT_MS_MODEL}'") {|v| opt.model = v }
|
|
68
|
-
op.on('--mass_analyzer <string>', "Mass Analyzer (xml) d: '#{DEFAULT_MASS_ANALYZER}'") {|v| opt.mass_analyzer = v }
|
|
69
|
-
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
more_notes = "
|
|
73
|
-
Notes:
|
|
74
|
-
|
|
75
|
-
mspath: Directory to RAW or mzXML files.
|
|
76
|
-
This option is needed to view Pep3D files
|
|
77
|
-
and is critical with Bioworks 3.2 xml export files
|
|
78
|
-
outdir: Path will be created if it does not already exist.
|
|
79
|
-
(xml) : only bioworks.xml files need to include this information
|
|
80
|
-
model : LCQ -> 'LCQ Deca XP Plus'
|
|
81
|
-
: Orbi -> 'LTQ Orbitrap'
|
|
82
|
-
: other string -> That's the string that will be used.
|
|
83
|
-
|
|
84
|
-
options with spaces should be quoted: e.g., \"Time of Flight\"
|
|
85
|
-
|
|
86
|
-
Database Path:
|
|
87
|
-
|
|
88
|
-
If the database path in the sequest.params file is valid, that will be used.
|
|
89
|
-
Otherwise, will try (in order):
|
|
90
|
-
1. --dbpath or -d option
|
|
91
|
-
1. environmental variable BIOWORKS_DBPATH (currently: '#{db_env_var}')
|
|
92
|
-
2. constant at top of this script (currently: '#{DEFAULT_DATABASE_PATH}')
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
opt_obj.parse!
|
|
98
|
-
|
|
99
|
-
# intercept before argv count
|
|
100
|
-
if opt.help
|
|
101
|
-
puts opt_obj
|
|
102
|
-
puts more_notes
|
|
103
|
-
exit
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
if ARGV.size < 1
|
|
107
|
-
puts opt_obj
|
|
108
|
-
exit
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
opt.outdir ||= DEFAULT_OUTDIR
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
files = ARGV.to_a
|
|
117
|
-
bioworks_file = files[0]
|
|
118
|
-
if files[0] =~ /\.srf/i
|
|
119
|
-
srg_file = 'bioworks.srg'
|
|
120
|
-
if File.exist? srg_file
|
|
121
|
-
srg_file = 'bioworks.tmp.srg'
|
|
122
|
-
end
|
|
123
|
-
srg = SRFGroup.new(files)
|
|
124
|
-
srg.to_srg(srg_file)
|
|
125
|
-
unless File.exist? srg_file
|
|
126
|
-
abort "couldn't create #{srg_file} from: #{files.join(', ')}"
|
|
127
|
-
end
|
|
128
|
-
bioworks_file = srg_file
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
case opt.model
|
|
133
|
-
when "LCQ"
|
|
134
|
-
model = 'LCQ Deca XP Plus'
|
|
135
|
-
when "Orbi"
|
|
136
|
-
model = 'LTQ Orbitrap'
|
|
137
|
-
else
|
|
138
|
-
model = opt.model
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
opt.dbpath ||= def_dbpath
|
|
142
|
-
opt.mspath ||= DEFAULT_MZ_PATH
|
|
143
|
-
opt.params ||= DEFAULT_PARAMS_FILE
|
|
144
|
-
opt.mass_analyzer ||= DEFAULT_MASS_ANALYZER
|
|
145
|
-
opt.model ||= DEFAULT_MS_MODEL
|
|
146
|
-
|
|
147
|
-
xml_objs = Sequest::PepXML.set_from_bioworks(bioworks_file, {:params => opt.params, :ms_data => opt.mspath, :out_path => opt.outdir, :model => model, :backup_db_path => opt.dbpath, :copy_mzxml => opt.copy_mzxml, :ms_mass_analyzer => opt.mass_analyzer, :print => true, :all_hits => opt.all_hits, :deltacn_orig => opt.deltacn_orig, :sample_enzyme => opt.sample_enzyme})
|
|
148
|
-
|