msf 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +24 -0
  4. data/Gemfile.lock +67 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.md +45 -0
  7. data/Rakefile +43 -0
  8. data/VERSION +1 -0
  9. data/bin/ibspectra +43 -0
  10. data/erd/config.png +0 -0
  11. data/erd/empty.png +0 -0
  12. data/erd/erd.png +0 -0
  13. data/erd/msf.xcdatamodeld/.xccurrentversion +8 -0
  14. data/erd/msf.xcdatamodeld/msf.xcdatamodel/contents +330 -0
  15. data/erd/schema.txt +666 -0
  16. data/lib/msf.rb +2 -0
  17. data/lib/msf/models.rb +4 -0
  18. data/lib/msf/models/amino_acid.rb +50 -0
  19. data/lib/msf/models/amino_acid_modification.rb +55 -0
  20. data/lib/msf/models/amino_acid_modification_neutral_loss.rb +31 -0
  21. data/lib/msf/models/amino_acid_modifications_amino_acid_nls.rb +23 -0
  22. data/lib/msf/models/amino_acid_modifications_amino_acids.rb +27 -0
  23. data/lib/msf/models/annotation_data_version.rb +20 -0
  24. data/lib/msf/models/annotation_dataset.rb +29 -0
  25. data/lib/msf/models/annotation_group.rb +38 -0
  26. data/lib/msf/models/annotation_type.rb +23 -0
  27. data/lib/msf/models/chromatogram.rb +26 -0
  28. data/lib/msf/models/custom_data_field.rb +56 -0
  29. data/lib/msf/models/custom_data_peptide.rb +25 -0
  30. data/lib/msf/models/custom_data_processing_node.rb +25 -0
  31. data/lib/msf/models/custom_data_protein.rb +25 -0
  32. data/lib/msf/models/custom_data_spectrum.rb +25 -0
  33. data/lib/msf/models/enzyme.rb +32 -0
  34. data/lib/msf/models/fasta_file.rb +50 -0
  35. data/lib/msf/models/file_info.rb +41 -0
  36. data/lib/msf/models/mass_peak.rb +36 -0
  37. data/lib/msf/models/peptide.rb +118 -0
  38. data/lib/msf/models/peptide_score.rb +34 -0
  39. data/lib/msf/models/peptide_score_decoy.rb +34 -0
  40. data/lib/msf/models/peptide_terminal_modification.rb +29 -0
  41. data/lib/msf/models/peptides_amino_acid_modifications.rb +32 -0
  42. data/lib/msf/models/peptides_proteins.rb +27 -0
  43. data/lib/msf/models/processing_node.rb +65 -0
  44. data/lib/msf/models/processing_node_score.rb +45 -0
  45. data/lib/msf/models/protein.rb +38 -0
  46. data/lib/msf/models/protein_annotation.rb +35 -0
  47. data/lib/msf/models/protein_identification_group.rb +19 -0
  48. data/lib/msf/models/protein_score.rb +34 -0
  49. data/lib/msf/models/reporter_ion_quan_result.rb +31 -0
  50. data/lib/msf/models/reporter_ion_quan_result_search_spectrum.rb +29 -0
  51. data/lib/msf/models/scan_event.rb +37 -0
  52. data/lib/msf/models/schema_info.rb +29 -0
  53. data/lib/msf/models/spectrum.rb +34 -0
  54. data/lib/msf/models/spectrum_header.rb +63 -0
  55. data/lib/msf/models/spectrum_score.rb +24 -0
  56. data/lib/msf/models/taxonomy_name.rb +26 -0
  57. data/lib/msf/models/workflow_info.rb +46 -0
  58. data/lib/msf/models/workflow_message.rb +31 -0
  59. data/lib/msf/msf.rb +32 -0
  60. data/lib/msf/sql/enzyme_cleavage_specificity.rb +16 -0
  61. data/lib/msf/sql/false_discovery_rate.rb +24 -0
  62. data/lib/msf/sql/fasta_file_protein_annotation.rb +17 -0
  63. data/lib/msf/sql/mass_peak_relation.rb +17 -0
  64. data/lib/msf/sql/peptide_amino_acid_modification_decoy.rb +23 -0
  65. data/lib/msf/sql/peptide_decoy.rb +32 -0
  66. data/lib/msf/sql/peptide_terminal_modification_decoy.rb +20 -0
  67. data/lib/msf/sql/precursor_ion_quan_result.rb +29 -0
  68. data/lib/msf/sql/precursor_ion_quan_result_event_spectrum.rb +17 -0
  69. data/lib/msf/sql/precursor_ion_quan_result_search_spectrum.rb +20 -0
  70. data/lib/msf/sql/processing_node_filter_parameter.rb +29 -0
  71. data/lib/msf/sql/processing_node_interface.rb +19 -0
  72. data/lib/msf/sql/processing_node_parameter.rb +46 -0
  73. data/lib/msf/sql/processing_node_spectrum.rb +16 -0
  74. data/lib/msf/sql/quan_result.rb +40 -0
  75. data/lib/msf/sql/result_filter_set.rb +12 -0
  76. data/lib/msf/sql/taxonomy_node.rb +26 -0
  77. data/msf.gemspec +143 -0
  78. data/spec/msf_spec.rb +7 -0
  79. data/spec/spec_helper.rb +14 -0
  80. metadata +275 -0
@@ -0,0 +1,2 @@
1
+ require 'msf/msf'
2
+ require 'msf/models'
@@ -0,0 +1,4 @@
1
+ # Load all of the MSF models
2
+ MSF_ROOT = File.expand_path(File.dirname(__FILE__))
3
+ Dir.glob("#{MSF_ROOT}/models/*.rb").each do |r| require r end
4
+ Dir.glob("#{MSF_ROOT}/models/*/*.rb").each do |r| require r end
@@ -0,0 +1,50 @@
1
+ # ActiveRecord model of MSF AminoAcid
2
+ #
3
+ # Example:
4
+ #
5
+ # AminoAcid.find(1)
6
+ # AminoAcid.first.monoisotopic_mass
7
+ # AminoAcid.first.amino_acid_modifications.first.modification_name
8
+ class AminoAcid < ActiveRecord::Base
9
+ def self.masses
10
+ if @masses.nil?
11
+ @masses = {}
12
+ AminoAcid.select("OneLetterCode,MonoisotopicMass").where("OneLetterCode != ' '").map {|aa| @masses[aa.one_letter_code] = aa.monoisotopic_mass}
13
+ end
14
+ @masses
15
+ end
16
+ def self.mass_for_one_letter_code(aa)
17
+ self.masses[aa]
18
+ end
19
+ def self.table_name
20
+ :AminoAcids
21
+ end
22
+ def self.primary_key
23
+ :AminoAcidID
24
+ end
25
+ def amino_acid_id
26
+ self.AminoAcidID
27
+ end
28
+ def amino_acid_name
29
+ self.AminoAcidName
30
+ end
31
+ def one_letter_code
32
+ self.OneLetterCode
33
+ end
34
+ def three_letter_code
35
+ self.ThreeLetterCode
36
+ end
37
+ def monoisotopic_mass
38
+ self.MonoisotopicMass
39
+ end
40
+ def average_mass
41
+ self.AverageMass
42
+ end
43
+ def sum_formula
44
+ self.SumFormula
45
+ end
46
+ # associations
47
+ has_many :amino_acid_modifications,
48
+ :class_name => 'AminoAcidModificationsAminoAcids',
49
+ :foreign_key => "AminoAcidID"
50
+ end
@@ -0,0 +1,55 @@
1
+ # ActiveRecord model of MSF AminoAcidModification
2
+ #
3
+ # Example:
4
+ #
5
+ # AminoAcidModification.find(1)
6
+ # AminoAcidModification.first.modification_name
7
+ # AminoAcidModification.first.amino_acids.first.amino_acid_name
8
+ class AminoAcidModification < ActiveRecord::Base
9
+ def self.table_name
10
+ :AminoAcidModifications
11
+ end
12
+ def self.primary_key
13
+ :AminoAcidModificationID
14
+ end
15
+ def amino_acid_modification_id
16
+ self.AminoAcidModificationID
17
+ end
18
+ def modification_name
19
+ self.ModificationName
20
+ end
21
+ def delta_mass
22
+ self.DeltaMass
23
+ end
24
+ def substitution
25
+ self.Substitution
26
+ end
27
+ def leaving_group
28
+ self.LeavingGroup
29
+ end
30
+ def abbreviation
31
+ self.Abbreviation
32
+ end
33
+ def position_type
34
+ self.PositionType
35
+ end
36
+ def is_active
37
+ self.IsActive
38
+ end
39
+ def delta_average_mass
40
+ self.DeltaAverageMass
41
+ end
42
+ def unimod_accession
43
+ self.UnimodAccession
44
+ end
45
+ def is_substitution
46
+ self.IsSubstitution
47
+ end
48
+ # associations
49
+ # join table for amino_acid
50
+ has_one :amino_acid_modification_amino_acid,
51
+ :class_name => 'AminoAcidModificationsAminoAcids',
52
+ :foreign_key => "AminoAcidModificationID"
53
+ has_one :amino_acid, :through => :amino_acid_modification_amino_acid
54
+
55
+ end
@@ -0,0 +1,31 @@
1
+ # ActiveRecord model of MSF AminoAcidModificationsNeutralLoss
2
+ #
3
+ # Example:
4
+ #
5
+ # AminoAcidModificationNeutralLoss.find(1)
6
+ # AminoAcidModificationNeutralLoss.first
7
+ # AminoAcidModificationNeutralLoss.first.amino_acids.first.monoisotopic_mass
8
+ class AminoAcidModificationNeutralLoss < ActiveRecord::Base
9
+ def self.table_name
10
+ :AminoAcidModificationsNeutralLosses
11
+ end
12
+ def self.primary_key
13
+ :NeutralLossID
14
+ end
15
+ def neutral_loss_id
16
+ self.NeutralLossID
17
+ end
18
+ def name
19
+ self.Name
20
+ end
21
+ def monoisotopic_mass
22
+ self.MonoisotopicMass
23
+ end
24
+ def average_mass
25
+ self.AverageMass
26
+ end
27
+ has_and_belongs_to_many :amino_acids,
28
+ :join_table => "AminoAcidModificationsAminoAcidsNL",
29
+ :foreign_key => "NeutralLossID",
30
+ :association_foreign_key => "AminoAcidID"
31
+ end
@@ -0,0 +1,23 @@
1
+ # ActiveRecord model of MSF AminoAcidModificationsAminoAcidNLs
2
+ # Join table for AminoAcid and AminoAcidModificationsNeutralLosses HABTM
3
+ #
4
+ # Example:
5
+ #
6
+ # AminoAcidModificationsAminoAcidNLs.first
7
+ class AminoAcidModificationsAminoAcidNLs < ActiveRecord::Base
8
+ def self.table_name
9
+ :AminoAcidModificationsAminoAcidsNL
10
+ end
11
+ def self.primary_key
12
+ [:AminoAcidModificationID, :AminoAcidID, :NeutralLossID]
13
+ end
14
+ def amino_acid_modification_id
15
+ self.AminoAcidModificationID
16
+ end
17
+ def amino_acid_id
18
+ self.AminoAcidID
19
+ end
20
+ def neutral_loss_id
21
+ self.NeutralLossID
22
+ end
23
+ end
@@ -0,0 +1,27 @@
1
+ # ActiveRecord model of MSF AminoAcidModificationsAminoAcids
2
+ # Join table for AminoAcid and AminoAcidModification HABTM
3
+ #
4
+ # Example:
5
+ #
6
+ # AminoAcidModificationsAminoAcids.first.classification
7
+ class AminoAcidModificationsAminoAcids < ActiveRecord::Base
8
+ def self.table_name
9
+ :AminoAcidModificationsAminoAcids
10
+ end
11
+ def self.primary_key
12
+ [:AminoAcidModificationID, :AminoAcidID]
13
+ end
14
+ def amino_acid_modification_id
15
+ self.AminoAcidModificationID
16
+ end
17
+ def amino_acid_id
18
+ self.AminoAcidID
19
+ end
20
+ def classification
21
+ self.Classification
22
+ end
23
+ belongs_to :amino_acid,
24
+ :foreign_key => "AminoAcidID"
25
+ belongs_to :amino_acid_modification,
26
+ :foreign_key => "AminoAcidModificationID"
27
+ end
@@ -0,0 +1,20 @@
1
+ # ActiveRecord model of MSF AnnotationDataVersion
2
+ #
3
+ # Example:
4
+ #
5
+ # AnnotationDataVersion.find(1)
6
+ # AnnotationDataVersion.first.name
7
+ class AnnotationDataVersion < ActiveRecord::Base
8
+ def self.table_name
9
+ :AnnotationDataVersion
10
+ end
11
+ def self.primary_key
12
+ :PcDataVersion
13
+ end
14
+ def pc_data_version
15
+ self.PcDataVersion
16
+ end
17
+ def pc_data_release
18
+ self.PcDataRelease
19
+ end
20
+ end
@@ -0,0 +1,29 @@
1
+ # ActiveRecord model of MSF AnnotationDataset
2
+ #
3
+ # Example:
4
+ #
5
+ # AnnotationDataset.find(1)
6
+ # AnnotationDataset.first.name
7
+ class AnnotationDataset < ActiveRecord::Base
8
+ def self.table_name
9
+ :AnnotationDataset
10
+ end
11
+ def self.primary_key
12
+ :DatasetId
13
+ end
14
+ def dataset_id
15
+ self.DatasetId
16
+ end
17
+ def name
18
+ self.Name
19
+ end
20
+ def display_name
21
+ self.DisplayName
22
+ end
23
+ def guid
24
+ self.Guid
25
+ end
26
+ def description
27
+ self.Description
28
+ end
29
+ end
@@ -0,0 +1,38 @@
1
+ # ActiveRecord model of MSF AnnotationGroup
2
+ #
3
+ # Example:
4
+ #
5
+ # AnnotationGroup.find(1)
6
+ # AnnotationGroup.first.name
7
+ class AnnotationGroup < ActiveRecord::Base
8
+ def self.table_name
9
+ :AnnotationGroups
10
+ end
11
+ def self.primary_key
12
+ [:AnnotationGroupId, :DatasetId]
13
+ end
14
+ def annotation_group_id
15
+ self.AnnotationGroupId
16
+ end
17
+ def dataset_id
18
+ self.DatasetId
19
+ end
20
+ def description
21
+ self.Description
22
+ end
23
+ def position
24
+ self.Position
25
+ end
26
+ def color_r
27
+ self.ColorR
28
+ end
29
+ def color_g
30
+ self.ColorG
31
+ end
32
+ def color_b
33
+ self.ColorB
34
+ end
35
+ def group_definition
36
+ self.GroupDefinition
37
+ end
38
+ end
@@ -0,0 +1,23 @@
1
+ # ActiveRecord model of MSF AnnotationType
2
+ #
3
+ # Example:
4
+ #
5
+ # AnnotationType.find(1)
6
+ # AnnotationType.first.name
7
+ class AnnotationType < ActiveRecord::Base
8
+ def self.table_name
9
+ :AnnotationTypes
10
+ end
11
+ def self.primary_key
12
+ :AnnotationTypeId
13
+ end
14
+ def annotation_type_id
15
+ self.AnnotationTypeId
16
+ end
17
+ def name
18
+ self.Name
19
+ end
20
+ def description
21
+ self.Description
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ # ActiveRecord model of MSF Chromatogram
2
+ #
3
+ # Example:
4
+ #
5
+ # Chromatogram.find(1)
6
+ # Chromatogram.all.first.trace_type
7
+ # Chromatogram.first.file_infos.file_name
8
+ class Chromatogram < ActiveRecord::Base
9
+ def self.table_name
10
+ :Chromatograms
11
+ end
12
+ def self.primary_key
13
+ [:FileID, :TraceType]
14
+ end
15
+ def file_id
16
+ self.FileID
17
+ end
18
+ def trace_type
19
+ self.TraceType
20
+ end
21
+ def chromatogram
22
+ self.Chromatogram
23
+ end
24
+ belongs_to :file_info,
25
+ :foreign_key => "FileID"
26
+ end
@@ -0,0 +1,56 @@
1
+ # ActiveRecord model of MSF CustomDataField
2
+ #
3
+ # Example:
4
+ #
5
+ # CustomDataField.find(1)
6
+ # CustomDataField.first.display_name
7
+ class CustomDataField < ActiveRecord::Base
8
+ def self.table_name
9
+ :CustomDataFields
10
+ end
11
+ def self.primary_key
12
+ :FieldID
13
+ end
14
+ def field_id
15
+ self.FieldID
16
+ end
17
+ def guid
18
+ self.Guid
19
+ end
20
+ def display_name
21
+ self.DisplayName
22
+ end
23
+ def source_node_number
24
+ self.SourceNodeNumber
25
+ end
26
+ def target_node_number
27
+ self.TargetNodeNumber
28
+ end
29
+ def data_type
30
+ self.DataType
31
+ end
32
+ def data_target
33
+ self.DataTarget
34
+ end
35
+ def version
36
+ self.Version
37
+ end
38
+ def access_mode
39
+ self.AccessMode
40
+ end
41
+ def visibility
42
+ self.Visibility
43
+ end
44
+ def group_visibility
45
+ self.GroupVisibility
46
+ end
47
+ def format
48
+ self.Format
49
+ end
50
+ def plot_type
51
+ self.PlotType
52
+ end
53
+ def data_purpose
54
+ self.DataPurpose
55
+ end
56
+ end
@@ -0,0 +1,25 @@
1
+ # ActiveRecord model of MSF CustomDataPeptide
2
+ #
3
+ # Example:
4
+ #
5
+ # CustomDataPeptide.find(1)
6
+ # CustomDataPeptide.first.field_value
7
+ class CustomDataPeptide < ActiveRecord::Base
8
+ def self.table_name
9
+ :CustomDataPeptides
10
+ end
11
+ def self.primary_key
12
+ [:FieldID, :PeptideID]
13
+ end
14
+ def field_id
15
+ self.FieldID
16
+ end
17
+ def peptide_id
18
+ self.PeptideID
19
+ end
20
+ def field_value
21
+ self.FieldValue
22
+ end
23
+ belongs_to :custom_data_field,
24
+ :foreign_key => "FieldID"
25
+ end
@@ -0,0 +1,25 @@
1
+ # ActiveRecord model of MSF CustomDataProcessingNode
2
+ #
3
+ # Example:
4
+ #
5
+ # CustomDataProcessingNode.find(1)
6
+ # CustomDataProcessingNode.first.field_value
7
+ class CustomDataProcessingNode < ActiveRecord::Base
8
+ def self.table_name
9
+ :CustomDataProcessingNodes
10
+ end
11
+ def self.primary_key
12
+ [:FieldID, :ProcessingNodeNumber]
13
+ end
14
+ def field_id
15
+ self.FieldID
16
+ end
17
+ def processing_node_number
18
+ self.ProcessingNodeNumber
19
+ end
20
+ def field_value
21
+ self.FieldValue
22
+ end
23
+ belongs_to :custom_data_field,
24
+ :foreign_key => "FieldID"
25
+ end