gene_assembler 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/.gitignore +22 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +2 -0
  6. data/bin/GeneAssembler +233 -0
  7. data/bin/phytozome_scan +60 -0
  8. data/gene_assembler.gemspec +25 -0
  9. data/lib/gene_assembler.rb +5 -0
  10. data/lib/gene_assembler/blast_type_parser.rb +41 -0
  11. data/lib/gene_assembler/contig.rb +643 -0
  12. data/lib/gene_assembler/dataset.rb +532 -0
  13. data/lib/gene_assembler/exonerate_result.rb +230 -0
  14. data/lib/gene_assembler/gff_contig.rb +67 -0
  15. data/lib/gene_assembler/gff_dataset.rb +152 -0
  16. data/lib/gene_assembler/gff_feature.rb +175 -0
  17. data/lib/gene_assembler/gff_frameshift.rb +6 -0
  18. data/lib/gene_assembler/gff_go.rb +13 -0
  19. data/lib/gene_assembler/gff_hit.rb +53 -0
  20. data/lib/gene_assembler/gff_hsp.rb +6 -0
  21. data/lib/gene_assembler/gff_localization.rb +6 -0
  22. data/lib/gene_assembler/gff_master_feature.rb +5 -0
  23. data/lib/gene_assembler/gff_parser.rb +35 -0
  24. data/lib/gene_assembler/gff_snp.rb +21 -0
  25. data/lib/gene_assembler/gff_stop.rb +6 -0
  26. data/lib/gene_assembler/go.rb +13 -0
  27. data/lib/gene_assembler/hit.rb +191 -0
  28. data/lib/gene_assembler/hsp.rb +100 -0
  29. data/lib/gene_assembler/other_functions.rb +228 -0
  30. data/lib/gene_assembler/parser.rb +25 -0
  31. data/lib/gene_assembler/parser_blast.rb +12 -0
  32. data/lib/gene_assembler/parser_exonerate.rb +16 -0
  33. data/lib/gene_assembler/rebuild.rb +975 -0
  34. data/lib/gene_assembler/report.rb +13 -0
  35. data/lib/gene_assembler/report_gff.rb +30 -0
  36. data/lib/gene_assembler/snp.rb +13 -0
  37. data/lib/gene_assembler/version.rb +3 -0
  38. metadata +149 -0
@@ -0,0 +1,13 @@
1
+ class Report
2
+ def initialize(dataset,path,name_mode)
3
+ @dataset=dataset #Almacena los datos de los que se va a hacer un report, se transforman al formato deseado y se guardan en @content_file
4
+ @path=path #Contiene la direccion donde se ha de poner el archivo report
5
+ @content_file=[] #Almacena los datos que se imprimiran en el archivo de salida
6
+ @name_mode=name_mode #Especifica como se quiere mostrar los nombres, si solo el identificador externo o identificador+ tipo de objeto
7
+ end
8
+
9
+ #Escribe el archivo de report
10
+ def create #Cada clase hija se le especifica opciones de escritura aqui
11
+ #Operaciones de Conversion y escritura para cada tipo de formato report
12
+ end
13
+ end
@@ -0,0 +1,30 @@
1
+ require 'report'
2
+ require 'gff_contig'
3
+
4
+ class ReportGff < Report
5
+ def create(output_file_mode,parent=nil) #output_file_mode se pone a 'w' si los contig presentes en el dataset son independientes entre si, x lo q no se especifica el parent. En caso de que tengamos contigs dependientes, se ha de escribir primero el contig principal especificando el modo 'a'. Luego se escriben los contigs dependientes especificando el modo 'a' y el nombre del parent (que sera el contig principal que se ha escrito antes)
6
+
7
+ #Escribir cabecero del gff3
8
+ if parent.nil? && !File.exists?(@path) || !File.exists?(@path)
9
+ @content_file << '##gff-version 3'
10
+ end
11
+
12
+ #Conversion de datos de dataset a content_file
13
+ gff_contig=GffContig.new
14
+ @dataset.each_contig{|contig|
15
+ if contig.has_hit?
16
+ @content_file << gff_contig.report(contig,contig.name,parent,@name_mode)
17
+ end
18
+ }
19
+ @content_file.flatten!
20
+
21
+ #Write content_file
22
+ gff=File.open(@path,output_file_mode)
23
+ @content_file.each do |line|
24
+ gff.puts line
25
+ end
26
+ gff.close
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,13 @@
1
+ class SNP
2
+ attr_accessor :position, :ref, :var, :source, :depth, :zygosity, :mapping_qual, :strand_bias
3
+ def initialize(position)
4
+ @position=position
5
+ @ref=nil
6
+ @var=nil
7
+ @source=nil
8
+ @depth=nil
9
+ @zygosity=nil
10
+ @mapping_qual=nil
11
+ @strand_bias=nil
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module GeneAssembler
2
+ VERSION = "0.0.9"
3
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gene_assembler
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.9
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Pedro Seoane
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-04-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: scbi_blast
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.0.43
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.0.43
30
+ - !ruby/object:Gem::Dependency
31
+ name: scbi_fasta
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.1.9
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.9
46
+ - !ruby/object:Gem::Dependency
47
+ name: bundler
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '1.6'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.6'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: Use this siftware with techniques like genecapture
79
+ email:
80
+ - seoanezonjic@hotmail.es
81
+ executables:
82
+ - GeneAssembler
83
+ - phytozome_scan
84
+ extensions: []
85
+ extra_rdoc_files: []
86
+ files:
87
+ - .gitignore
88
+ - Gemfile
89
+ - LICENSE.txt
90
+ - README.md
91
+ - Rakefile
92
+ - bin/GeneAssembler
93
+ - bin/phytozome_scan
94
+ - gene_assembler.gemspec
95
+ - lib/gene_assembler.rb
96
+ - lib/gene_assembler/blast_type_parser.rb
97
+ - lib/gene_assembler/contig.rb
98
+ - lib/gene_assembler/dataset.rb
99
+ - lib/gene_assembler/exonerate_result.rb
100
+ - lib/gene_assembler/gff_contig.rb
101
+ - lib/gene_assembler/gff_dataset.rb
102
+ - lib/gene_assembler/gff_feature.rb
103
+ - lib/gene_assembler/gff_frameshift.rb
104
+ - lib/gene_assembler/gff_go.rb
105
+ - lib/gene_assembler/gff_hit.rb
106
+ - lib/gene_assembler/gff_hsp.rb
107
+ - lib/gene_assembler/gff_localization.rb
108
+ - lib/gene_assembler/gff_master_feature.rb
109
+ - lib/gene_assembler/gff_parser.rb
110
+ - lib/gene_assembler/gff_snp.rb
111
+ - lib/gene_assembler/gff_stop.rb
112
+ - lib/gene_assembler/go.rb
113
+ - lib/gene_assembler/hit.rb
114
+ - lib/gene_assembler/hsp.rb
115
+ - lib/gene_assembler/other_functions.rb
116
+ - lib/gene_assembler/parser.rb
117
+ - lib/gene_assembler/parser_blast.rb
118
+ - lib/gene_assembler/parser_exonerate.rb
119
+ - lib/gene_assembler/rebuild.rb
120
+ - lib/gene_assembler/report.rb
121
+ - lib/gene_assembler/report_gff.rb
122
+ - lib/gene_assembler/snp.rb
123
+ - lib/gene_assembler/version.rb
124
+ homepage: ''
125
+ licenses:
126
+ - MIT
127
+ post_install_message:
128
+ rdoc_options: []
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubyforge_project:
145
+ rubygems_version: 1.8.23
146
+ signing_key:
147
+ specification_version: 3
148
+ summary: This gem builds gene models using fragmented genome information.
149
+ test_files: []