bio-affy 0.1.0.alpha.1 → 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.
@@ -25,6 +25,22 @@ Next run the tool with
25
25
 
26
26
  bio-affy --help
27
27
 
28
+ This module was written with
29
+
30
+ ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
31
+ Using rake (0.9.2.2)
32
+ Using bundler (1.0.21)
33
+ Using diff-lcs (1.1.3)
34
+ Using ffi (1.0.11)
35
+ Using git (1.2.5)
36
+ Using jeweler (1.6.4)
37
+ Using mkrf (0.2.3)
38
+ Using rcov (0.9.11)
39
+ Using rspec-core (2.7.1)
40
+ Using rspec-expectations (2.7.0)
41
+ Using rspec-mocks (2.7.0)
42
+ Using rspec (2.7.0)
43
+
28
44
  == Copyright
29
45
 
30
46
  Copyright (C) 2011 Pjotr Prins <pjotr.prins@thebird.nl>
data/Rakefile CHANGED
@@ -27,6 +27,7 @@ Jeweler::Tasks.new do |gem|
27
27
  gem.authors = ["Pjotr Prins"]
28
28
  gem.extensions = "ext/src/mkrf_conf.rb"
29
29
  gem.files += Dir['lib/**/*'] + Dir['ext/**/*']
30
+ gem.files.reject! { | n | n =~ /\.(o|so|gz|CDF|R|Rd|log)$/ }
30
31
  gem.rubyforge_project = "nowarning"
31
32
 
32
33
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0.alpha.1
1
+ 0.5.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bio-affy"
8
- s.version = "0.1.0.alpha.1"
8
+ s.version = "0.5.0"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Pjotr Prins"]
12
- s.date = "2011-12-03"
12
+ s.date = "2011-12-05"
13
13
  s.description = "Affymetrix microarray file format parser\n (CEL/CDF) for Ruby. FFI binding to Biolib port of R/Affyio by Benjamin Milo Bolstad"
14
14
  s.email = "pjotr.public01@thebird.nl"
15
15
  s.executables = ["bio-affy"]
@@ -33,63 +33,40 @@ Gem::Specification.new do |s|
33
33
  "ext/HISTORY",
34
34
  "ext/LICENSE",
35
35
  "ext/NAMESPACE",
36
- "ext/R/check.cdf.type.R",
37
- "ext/R/read.cdffile.list.R",
38
- "ext/R/read.celfile.R",
39
- "ext/R/read.celfile.header.R",
40
- "ext/R/read.probematrices.R",
41
36
  "ext/README_BIOLIB",
42
37
  "ext/aclocal.m4",
43
38
  "ext/configure",
44
39
  "ext/configure.in",
45
- "ext/man/check.cdf.type.Rd",
46
- "ext/man/read.cdffile.list.Rd",
47
- "ext/man/read.celfile.Rd",
48
- "ext/man/read.celfile.header.Rd",
49
- "ext/man/read.celfile.probeintensity.matrices.Rd",
50
40
  "ext/src/CMakeLists.txt",
51
41
  "ext/src/Makevars.in",
52
42
  "ext/src/Makevars.win",
53
43
  "ext/src/Rakefile",
44
+ "ext/src/biolib_R_map.c",
45
+ "ext/src/biolib_R_map.h",
54
46
  "ext/src/biolib_affyio.c",
55
47
  "ext/src/biolib_affyio.h",
56
- "ext/src/biolib_affyio.o",
48
+ "ext/src/biolib_error.c",
49
+ "ext/src/biolib_error.h",
57
50
  "ext/src/fread_functions.c",
58
51
  "ext/src/fread_functions.h",
59
- "ext/src/fread_functions.o",
60
- "ext/src/libaffyext.so",
61
- "ext/src/mkrf.log",
62
52
  "ext/src/mkrf_conf.rb",
63
53
  "ext/src/read_abatch.c",
64
54
  "ext/src/read_abatch.h",
65
- "ext/src/read_abatch.o",
66
55
  "ext/src/read_bpmap.c",
67
- "ext/src/read_bpmap.o",
68
56
  "ext/src/read_cdf.h",
69
57
  "ext/src/read_cdf_xda.c",
70
- "ext/src/read_cdf_xda.o",
71
58
  "ext/src/read_cdffile2.c",
72
- "ext/src/read_cdffile2.o",
73
59
  "ext/src/read_celfile_generic.c",
74
60
  "ext/src/read_celfile_generic.h",
75
- "ext/src/read_celfile_generic.o",
76
61
  "ext/src/read_clf.c",
77
- "ext/src/read_clf.o",
78
62
  "ext/src/read_generic.c",
79
63
  "ext/src/read_generic.h",
80
- "ext/src/read_generic.o",
81
64
  "ext/src/read_pgf.c",
82
- "ext/src/read_pgf.o",
83
65
  "lib/bio-affy.rb",
84
66
  "lib/bio/affy.rb",
85
67
  "lib/bio/affyext.rb",
86
- "lib/bio/libaffyext.so",
87
68
  "spec/bio-affy_spec.rb",
88
- "spec/spec_helper.rb",
89
- "test/data/affy/GSM103328.CEL.gz",
90
- "test/data/affy/GSM103329.CEL.gz",
91
- "test/data/affy/GSM103330.CEL.gz",
92
- "test/data/affy/MG_U74Av2.CDF.gz"
69
+ "spec/spec_helper.rb"
93
70
  ]
94
71
  s.homepage = "http://github.com/pjotrp/bioruby-affy"
95
72
  s.licenses = ["MIT"]
@@ -18,7 +18,7 @@ INCLUDES = "-I/home/wrk/.rvm/rubies/ruby-1.9.3-p0/include/ruby-1.9.1 -I/home/wrk
18
18
 
19
19
  LIBS = "-lpthread -lrt -ldl -lcrypt -lm"
20
20
 
21
- CFLAGS = "-fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=implicit-function-declaration -fPIC -I/usr/share/R/include "
21
+ CFLAGS = "-fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -fPIC -I/usr/share/R/include "
22
22
 
23
23
  RUBYARCHDIR = "#{ENV["RUBYARCHDIR"]}"
24
24
  LIBRUBYARG_SHARED = "-Wl,-R -Wl,/home/wrk/.rvm/rubies/ruby-1.9.3-p0/lib -L/home/wrk/.rvm/rubies/ruby-1.9.3-p0/lib -lruby"
@@ -0,0 +1,37 @@
1
+
2
+ // #include <stdio.h>
3
+ #include <stdlib.h>
4
+ #include <stdbool.h>
5
+ #include <biolib_error.h>
6
+ #include <biolib_R_map.h>
7
+
8
+ int R_running = false;
9
+
10
+ /*
11
+ * Initialize the R environment so we can use Rlib.so.
12
+ * FIXME: R_HOME is hard coded here.
13
+ */
14
+
15
+ void BioLib_R_Init() {
16
+ char *argv[] = {"BiolibEmbeddedR", "--gui=none", "--silent", "--no-environ" };
17
+ int argc = sizeof(argv)/sizeof(argv[0]);
18
+
19
+ if (!R_running) {
20
+ biolib_log(LOG_INFO,"Initialize embedded R (library)");
21
+ setenv("R_HOME","/usr/lib/R",1);
22
+ Rf_initEmbeddedR(argc, argv);
23
+ R_running = true;
24
+ }
25
+ }
26
+
27
+ /*
28
+ * Close down R environment
29
+ */
30
+
31
+ void BioLib_R_Close() {
32
+ if (R_running) {
33
+ Rf_endEmbeddedR(0);
34
+ R_running = false;
35
+ }
36
+ }
37
+
@@ -0,0 +1,13 @@
1
+ // Mapping R functions to biolib - used for porting R modules into
2
+ // biolib.
3
+ //
4
+
5
+ #ifdef BIOLIB
6
+
7
+ #include <biolib_error.h>
8
+
9
+ // Redefine the R error function
10
+ #undef error
11
+ #define error(args...) biolib_fatal(args)
12
+
13
+ #endif // BIOLIB
@@ -0,0 +1,61 @@
1
+ /* Error and logger functions */
2
+
3
+ #include <stdio.h>
4
+ #include <stdarg.h>
5
+ #include <biolib_error.h>
6
+
7
+ static int loglevel = LOG_WARNING;
8
+ static FILE *stdlog = NULL;
9
+ static char *lognames[] = {
10
+ "LOG_EMERG",
11
+ "LOG_ALERT",
12
+ "LOG_CRIT",
13
+ "LOG_ERR",
14
+ "LOG_WARNING",
15
+ "LOG_NOTICE",
16
+ "LOG_INFO",
17
+ "LOG_DEBUG" };
18
+
19
+
20
+ void biolib_fatal(const char *template, ...)
21
+ {
22
+
23
+ va_list ap;
24
+ fprintf (stderr, "BIOLIB FATAL ERROR: ");
25
+ va_start (ap, template);
26
+ vfprintf (stderr, template, ap);
27
+ va_end (ap);
28
+ fprintf (stderr,"\n");
29
+
30
+ exit(4);
31
+ }
32
+
33
+ /*
34
+ * Set the loglevel (defined in biolib_error.h) for the simple logger
35
+ */
36
+
37
+ void biolib_setloglevel(int level)
38
+ {
39
+ loglevel = level;
40
+ char buf[256];
41
+ sprintf(buf,"Setting log level to %d",level);
42
+ biolib_log(LOG_ALERT,buf);
43
+ }
44
+
45
+ /*
46
+ * Simple logger for biolib
47
+ */
48
+
49
+ void biolib_log(int level, const char *s)
50
+ {
51
+ if (level <= loglevel) {
52
+ if (stdlog==NULL)
53
+ stdlog = stderr;
54
+ fprintf(stdlog,"biolib_log (level %d): ",level);
55
+ fprintf(stdlog,lognames[level]);
56
+ fprintf(stdlog,": ");
57
+ fprintf(stdlog,s);
58
+ fprintf(stdlog,"\n");
59
+ }
60
+ }
61
+
@@ -0,0 +1,22 @@
1
+
2
+ #ifdef __cplusplus
3
+ extern "C" {
4
+ #endif
5
+
6
+ #define LOG_EMERG 1
7
+ #define LOG_ALERT 2
8
+ #define LOG_CRIT 3
9
+ #define LOG_ERR 4
10
+ #define LOG_WARNING 5
11
+ #define LOG_NOTICE 6
12
+ #define LOG_INFO 7
13
+ #define LOG_DEBUG 8
14
+
15
+ void biolib_fatal(const char *e_template, ...);
16
+ void biolib_setloglevel(int level);
17
+ void biolib_log(int level, const char *s);
18
+
19
+ #ifdef __cplusplus
20
+ }
21
+ #endif
22
+
@@ -1,6 +1,8 @@
1
1
  require 'mkrf'
2
2
  Mkrf::Generator.new('libaffyext') do | mkrf |
3
3
  mkrf.cflags << `R CMD config --cppflags`.strip
4
+ # disable these chechs for Ruby 1.9.3
4
5
  mkrf.cflags.gsub!(/-Werror=declaration-after-statement/,'')
6
+ mkrf.cflags.gsub!(/-Werror=implicit-function-declaration/,'')
5
7
  mkrf.ldshared << `R CMD config --ldflags`.strip
6
8
  end
@@ -3,6 +3,15 @@ module Bio
3
3
 
4
4
  module Affy
5
5
 
6
+ class CDFProbeSet < FFI::Struct
7
+ layout :isQC, :int,
8
+ :pm_num, :int,
9
+ :mm_num, :int,
10
+ :pm, :pointer,
11
+ :mm, :pointer,
12
+ :name, [:uint8, 64]
13
+ end
14
+
6
15
  module Ext
7
16
 
8
17
  extend FFI::Library
@@ -12,10 +21,14 @@ module Bio
12
21
  ffi_convention :stdcall
13
22
 
14
23
  attach_function :has_affyext, [ :int ], :int
15
- # attach_function :open_cdffile, [ :string ], :pointer
16
- def open_cdffile s
17
- end
18
-
24
+ attach_function :BioLib_R_Init, [], :void
25
+ attach_function :BioLib_R_Close, [], :void
26
+ attach_function :open_cdffile, [ :string ], :pointer
27
+ attach_function :open_celfile, [ :string ], :pointer
28
+ attach_function :cel_intensity, [ :pointer, :int ], :double
29
+ attach_function :cel_num_intensities, [ :pointer ], :uint64
30
+ attach_function :cdf_num_probesets, [ :pointer ], :uint64
31
+ attach_function :cdf_probeset_info, [ :pointer, :int ], :pointer
19
32
  end
20
33
 
21
34
  end
@@ -1,22 +1,44 @@
1
- ROOT = File.dirname(__FILE__)
2
- $: << File.join([ROOT, "..","lib"])
1
+ ROOT = File.dirname(File.dirname(__FILE__))
2
+ $: << File.join([ROOT, "lib"])
3
3
  # ENV['LD_LIBRARY_PATH'] = File.join([ROOT, "..","lib"])
4
4
 
5
5
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
6
6
  require 'bio-affy'
7
7
 
8
- DATADIR = ROOT + File.join('test','data','affy')
9
- CDF = DATADIR+"MG_U74Av2.CDF.gz"
10
- CEL1 = DATADIR+"GSM103328.CEL.gz"
8
+ DATADIR = File.join([ROOT,'test','data','affy'])
9
+ CDF = File.join(DATADIR,"MG_U74Av2.CDF")
10
+ CDF2 = File.join(DATADIR,"ATH1-121501.CDF")
11
+ CEL1 = File.join(DATADIR,"GSM103328.CEL.gz")
11
12
 
12
13
  describe "BioAffy" do
13
14
  it "should find the shared library" do
14
15
  Bio::Affy::Ext.has_affyext(5).should == 60
15
16
  end
16
17
  it "should open a CDF file" do
17
- @cdf = Bio::Affy::Ext.open_cdffile(CDF)
18
+ Bio::Affy::Ext.BioLib_R_Init()
19
+ cdf = Bio::Affy::Ext.open_cdffile(CDF)
20
+ cdf.null?.should == false
21
+ num_probesets = Bio::Affy::Ext.cdf_num_probesets(cdf)
22
+ num_probesets.should == 12501
23
+ end
24
+ it "should open a CEL file" do
25
+ cel1 = Bio::Affy::Ext.open_celfile(CEL1)
26
+ num = Bio::Affy::Ext.cel_num_intensities(cel1)
27
+ num.should == 409600
28
+ end
29
+ it "should find the probe value for 1511" do
30
+ cel = Bio::Affy::Ext.open_celfile(CEL1)
31
+ probe_value = Bio::Affy::Ext.cel_intensity(cel,1510)
32
+ probe_value.should == 10850.8
33
+ end
34
+ it "should name the probes for 1511" do
35
+ cdf = Bio::Affy::Ext.open_cdffile(CDF)
36
+ # memptr = MemoryPointer.new :pointer
37
+ probeset_ptr = Bio::Affy::Ext.cdf_probeset_info(cdf,1510)
38
+ probeset = Bio::Affy::CDFProbeSet.new(probeset_ptr)
39
+ probeset[:isQC].should == 0
40
+ probeset[:pm_num].should == 16
41
+ probeset[:mm_num].should == 16
42
+ probeset[:name].to_ptr.read_string.should == "98910_at"
18
43
  end
19
- it "should open a CEL file"
20
- it "should find the probe values"
21
- it "should name the probes"
22
44
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-affy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha.1
5
- prerelease: 6
4
+ version: 0.5.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Pjotr Prins
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-03 00:00:00.000000000 Z
12
+ date: 2011-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &18461260 !ruby/object:Gem::Requirement
16
+ requirement: &21542960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.7.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *18461260
24
+ version_requirements: *21542960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &18460160 !ruby/object:Gem::Requirement
27
+ requirement: &21541680 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.12
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *18460160
35
+ version_requirements: *21541680
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &18459540 !ruby/object:Gem::Requirement
38
+ requirement: &21557520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *18459540
46
+ version_requirements: *21557520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rcov
49
- requirement: &18458800 !ruby/object:Gem::Requirement
49
+ requirement: &21557000 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *18458800
57
+ version_requirements: *21557000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: ffi
60
- requirement: &18458220 !ruby/object:Gem::Requirement
60
+ requirement: &21556440 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.11
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *18458220
68
+ version_requirements: *21556440
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mkrf
71
- requirement: &18457560 !ruby/object:Gem::Requirement
71
+ requirement: &21555820 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 0.2.3
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *18457560
79
+ version_requirements: *21555820
80
80
  description: ! "Affymetrix microarray file format parser\n (CEL/CDF) for Ruby. FFI
81
81
  binding to Biolib port of R/Affyio by Benjamin Milo Bolstad"
82
82
  email: pjotr.public01@thebird.nl
@@ -102,63 +102,40 @@ files:
102
102
  - ext/HISTORY
103
103
  - ext/LICENSE
104
104
  - ext/NAMESPACE
105
- - ext/R/check.cdf.type.R
106
- - ext/R/read.cdffile.list.R
107
- - ext/R/read.celfile.R
108
- - ext/R/read.celfile.header.R
109
- - ext/R/read.probematrices.R
110
105
  - ext/README_BIOLIB
111
106
  - ext/aclocal.m4
112
107
  - ext/configure
113
108
  - ext/configure.in
114
- - ext/man/check.cdf.type.Rd
115
- - ext/man/read.cdffile.list.Rd
116
- - ext/man/read.celfile.Rd
117
- - ext/man/read.celfile.header.Rd
118
- - ext/man/read.celfile.probeintensity.matrices.Rd
119
109
  - ext/src/CMakeLists.txt
120
110
  - ext/src/Makevars.in
121
111
  - ext/src/Makevars.win
122
112
  - ext/src/Rakefile
113
+ - ext/src/biolib_R_map.c
114
+ - ext/src/biolib_R_map.h
123
115
  - ext/src/biolib_affyio.c
124
116
  - ext/src/biolib_affyio.h
125
- - ext/src/biolib_affyio.o
117
+ - ext/src/biolib_error.c
118
+ - ext/src/biolib_error.h
126
119
  - ext/src/fread_functions.c
127
120
  - ext/src/fread_functions.h
128
- - ext/src/fread_functions.o
129
- - ext/src/libaffyext.so
130
- - ext/src/mkrf.log
131
121
  - ext/src/mkrf_conf.rb
132
122
  - ext/src/read_abatch.c
133
123
  - ext/src/read_abatch.h
134
- - ext/src/read_abatch.o
135
124
  - ext/src/read_bpmap.c
136
- - ext/src/read_bpmap.o
137
125
  - ext/src/read_cdf.h
138
126
  - ext/src/read_cdf_xda.c
139
- - ext/src/read_cdf_xda.o
140
127
  - ext/src/read_cdffile2.c
141
- - ext/src/read_cdffile2.o
142
128
  - ext/src/read_celfile_generic.c
143
129
  - ext/src/read_celfile_generic.h
144
- - ext/src/read_celfile_generic.o
145
130
  - ext/src/read_clf.c
146
- - ext/src/read_clf.o
147
131
  - ext/src/read_generic.c
148
132
  - ext/src/read_generic.h
149
- - ext/src/read_generic.o
150
133
  - ext/src/read_pgf.c
151
- - ext/src/read_pgf.o
152
134
  - lib/bio-affy.rb
153
135
  - lib/bio/affy.rb
154
136
  - lib/bio/affyext.rb
155
- - lib/bio/libaffyext.so
156
137
  - spec/bio-affy_spec.rb
157
138
  - spec/spec_helper.rb
158
- - test/data/affy/GSM103328.CEL.gz
159
- - test/data/affy/GSM103329.CEL.gz
160
- - test/data/affy/GSM103330.CEL.gz
161
- - test/data/affy/MG_U74Av2.CDF.gz
162
139
  homepage: http://github.com/pjotrp/bioruby-affy
163
140
  licenses:
164
141
  - MIT
@@ -174,13 +151,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
174
151
  version: '0'
175
152
  segments:
176
153
  - 0
177
- hash: 4468183158933499689
154
+ hash: -420869817303685437
178
155
  required_rubygems_version: !ruby/object:Gem::Requirement
179
156
  none: false
180
157
  requirements:
181
- - - ! '>'
158
+ - - ! '>='
182
159
  - !ruby/object:Gem::Version
183
- version: 1.3.1
160
+ version: '0'
184
161
  requirements: []
185
162
  rubyforge_project: nowarning
186
163
  rubygems_version: 1.8.10
@@ -1,18 +0,0 @@
1
- ###
2
- ### File: check.cdf.type.R
3
- ###
4
- ### Aim: return a string giving the file format. Either text, xda or unknown
5
- ### in the case that file format is not known.
6
- ###
7
-
8
-
9
- check.cdf.type <- function(filename){
10
-
11
- if (.Call("CheckCDFtext",filename,PACKAGE="affyio")){
12
- return("text")
13
- } else if (.Call("CheckCDFXDA",filename,PACKAGE="affyio")){
14
- return("xda")
15
- } else {
16
- return("unknown")
17
- }
18
- }
@@ -1,23 +0,0 @@
1
- ###
2
- ### File: read.cdffile.list.R
3
- ###
4
- ### Aim: reads full CDF file into R list structure.
5
- ###
6
- ### History
7
- ### Dec 1, 2005 - Initial version
8
- ###
9
-
10
-
11
- read.cdffile.list <- function (filename, cdf.path = getwd()){
12
-
13
- cdf.type <- check.cdf.type(file.path(path.expand(cdf.path),filename))
14
- if (cdf.type == "xda"){
15
- .Call("ReadCDFFileIntoRList", file.path(path.expand(cdf.path),
16
- filename), TRUE, PACKAGE = "affyio")
17
- } else if (cdf.type =="text"){
18
- .Call("ReadtextCDFFileIntoRList", file.path(path.expand(cdf.path),
19
- filename), TRUE, PACKAGE = "affyio")
20
- } else {
21
- stop(paste("File format for",filename,"not recognized."))
22
- }
23
- }
@@ -1,11 +0,0 @@
1
- ###
2
- ### File: read.celfile.R
3
- ###
4
- ### Aim: read entire contents of a single given specified CEL file into
5
- ### an R data structure.
6
- ###
7
-
8
-
9
- read.celfile <- function(filename,intensity.means.only=FALSE){
10
- return(.Call("R_read_cel_file",filename,intensity.means.only,PACKAGE="affyio"))
11
- }
@@ -1,37 +0,0 @@
1
- ###
2
- ### File: read.celfile.header.R
3
- ###
4
- ### Aim: read header contents of a given specified CEL file into
5
- ### an R data structure.
6
- ###
7
-
8
-
9
- read.celfile.header <- function(filename,info=c("basic","full"),verbose=FALSE){
10
- compress <- FALSE
11
-
12
- info <- match.arg(info)
13
-
14
- if (info == "basic"){
15
- if (verbose)
16
- cat("Reading", filename, "to get header information.\n")
17
- headdetails <- .Call("ReadHeader", filename, PACKAGE="affyio")
18
- names(headdetails) <- c("cdfName","CEL dimensions")
19
- } else {
20
- if (verbose)
21
- cat("Reading", filename, "to get full header information.\n")
22
- ### full returns greater detailed information from the header. Exact details differ depending on the file format.
23
- headdetails <- try(.Call("ReadHeaderDetailed", filename, PACKAGE="affyio"))
24
- if (is(headdetails, "try-error"))
25
- stop("Failed to get full header information for ", filename)
26
- names(headdetails) <- c("cdfName","CEL dimensions","GridCornerUL","GridCornerUR","GridCornerLR","GridCornerLL","DatHeader","Algorithm","AlgorithmParameters","ScanDate")
27
-
28
- if (nchar(headdetails$ScanDate) == 0){
29
- # try to extract it from the DatHeader
30
- DatHeaderSplit <- strsplit(headdetails$DatHeader," ")
31
- Which.Date <- grep("[0-9]*/[0-9]*/[0-9]*",DatHeaderSplit[[1]])
32
- Which.Time <- grep("[0-9]*:[0-9]*:[0-9]*",DatHeaderSplit[[1]])
33
- headdetails$ScanDate <- paste(DatHeaderSplit[[1]][Which.Date],DatHeaderSplit[[1]][Which.Time])
34
- }
35
- }
36
- return(headdetails)
37
- }
@@ -1,29 +0,0 @@
1
- ###
2
- ### File: read.probematrices.R
3
- ###
4
- ### Aim: read in PM or MM or both probe intensities into a list of
5
- ### of matrices where the probes for particular probesets are
6
- ### contiguous in the returned matrix
7
- ### Each Matrix has probes in rows and arrays in columns
8
- ###
9
- ### Copyright (C) 2005 B. M. Bolstad
10
- ###
11
- ### History
12
- ### Nov 30, 2005 - Initial version
13
- ###
14
-
15
-
16
- read.celfile.probeintensity.matrices <- function(filenames, cdfInfo, rm.mask=FALSE, rm.outliers=FALSE, rm.extra=FALSE, verbose=FALSE, which= c("pm","mm","both")){
17
- which <- match.arg(which)
18
-
19
- filenames <- as.character(filenames)
20
- if (verbose)
21
- cat("Reading", filenames[1], "to get header information.\n")
22
- headdetails <- .Call("ReadHeader", filenames[1], PACKAGE="affyio")
23
- dim.intensity <- headdetails[[2]]
24
- ref.cdfName <- headdetails[[1]]
25
-
26
- .Call("read_probeintensities", filenames,
27
- rm.mask, rm.outliers, rm.extra, ref.cdfName,
28
- dim.intensity, verbose, cdfInfo,which, PACKAGE="affyio")
29
- }
@@ -1,22 +0,0 @@
1
- \name{check.cdf.type}
2
- \alias{check.cdf.type}
3
- \title{CDF file format function}
4
- \description{This function returns a text string giving the file format
5
- for the supplied filename
6
- }
7
- \usage{check.cdf.type(filename)
8
- }
9
- \arguments{
10
- \item{filename}{fullpath to a cdf file}
11
- }
12
- \value{Returns a string which is currently one of:
13
-
14
- \item{text}{the cdf file is of the text format}
15
- \item{xda}{the cdf file is of the binary format used in GCOS}
16
- \item{unknown}{the parser can not handle this format or does not
17
- recognize this file as a CDF file}
18
-
19
- }
20
-
21
- \author{B. M. Bolstad <bmb@bmbolstad.com>}
22
- \keyword{IO}
@@ -1,20 +0,0 @@
1
- \name{read.cdffile.list}
2
- \alias{read.cdffile.list}
3
- \title{Read CDF file into an R list}
4
- \description{This function reads the entire contents of a cdf file into
5
- an R list structure
6
- }
7
- \usage{read.cdffile.list(filename, cdf.path = getwd())
8
- }
9
- \arguments{
10
- \item{filename}{name of CDF file}
11
- \item{cdf.path}{path to cdf file}
12
- }
13
- \value{returns a \code{list} structure. The exact contents may vary
14
- depending on the file format of the cdf file (see \code{\link{check.cdf.type}})
15
- }
16
- \details{
17
- Note that this function can be very memory intensive with large CDF files.
18
- }
19
- \author{B. M. Bolstad <bmb@bmbolstad.com>}
20
- \keyword{IO}
@@ -1,23 +0,0 @@
1
- \name{read.celfile}
2
- \alias{read.celfile}
3
- \title{Read a CEL file into an R list}
4
- \description{This function reads the entire contents of a CEL file into
5
- an R list structure
6
- }
7
- \usage{read.celfile(filename,intensity.means.only=FALSE)
8
- }
9
- \arguments{
10
- \item{filename}{name of CEL file}
11
- \item{intensity.means.only}{If \code{TRUE} then read on only the MEAN section in INTENSITY}
12
- }
13
- \value{returns a \code{list} structure. The exact contents may vary
14
- depending on the file format of the CEL file
15
- }
16
- \details{
17
- The list has four main items. HEADER, INTENSITY, MASKS, OUTLIERS. Note
18
- that INTENSITY is a list of three vectors MEAN, STDEV, NPIXELS. HEADER
19
- is also a list. Both of MASKS and OUTLIERS are matrices.
20
-
21
- }
22
- \author{B. M. Bolstad <bmb@bmbolstad.com>}
23
- \keyword{IO}
@@ -1,22 +0,0 @@
1
- \name{read.celfile.header}
2
- \alias{read.celfile.header}
3
- \title{Read header information from cel file}
4
- \description{
5
- This function reads some of the header information (appears before probe
6
- intensity data) from the supplied cel file.
7
- }
8
- \usage{read.celfile.header(filename,info=c("basic","full"),verbose=FALSE)
9
- }
10
- \arguments{
11
- \item{filename}{name of CEL file. May be fully pathed}
12
- \item{info}{A string. \code{basic} returns the dimensions of the chip
13
- and the name of the CDF file used when the CEL file was
14
- produced. \code{full} returns more information in greater detail.}
15
- \item{verbose}{a \code{\link{logical}}. When true the parsing routine
16
- prints more information, typically useful for debugging.}
17
- }
18
- \value{
19
- A \code{list} data structure.
20
- }
21
- \author{B. M. Bolstad <bmb@bmbolstad.com>}
22
- \keyword{IO}
@@ -1,31 +0,0 @@
1
- \name{read.celfile.probeintensity.matrices}
2
- \alias{read.celfile.probeintensity.matrices}
3
- \title{Read PM or MM from CEL file into matrices}
4
- \description{This function reads PM, MM or both types of intensities
5
- into matrices. These matrices have all the probes for a probeset in
6
- adjacent rows
7
- }
8
- \usage{read.celfile.probeintensity.matrices(filenames, cdfInfo, rm.mask=FALSE, rm.outliers=FALSE, rm.extra=FALSE, verbose=FALSE, which= c("pm","mm","both"))
9
- }
10
- \arguments{
11
- \item{filenames}{a character vector of filenames}
12
- \item{cdfInfo}{a list with items giving PM and MM locations for
13
- desired probesets. In same structure as returned by \code{\link[makecdfenv]{make.cdf.package}}}
14
- \item{rm.mask}{a \code{\link{logical}}. Return these probes as NA if
15
- there are in the [MASK] section of the CEL file}
16
- \item{rm.outliers}{a \code{\link{logical}}. Return these probes as NA if
17
- there are in the [OUTLIERS] section of the CEL file}.
18
- \item{rm.extra}{a \code{\link{logical}}. Return these probes as NA if
19
- there are in the [OUTLIERS] section of the CEL file}.
20
- \item{verbose}{a \code{\link{logical}}. When true the parsing routine
21
- prints more information, typically useful for debugging.}
22
-
23
- \item{which}{a string specifing which probe type to return}
24
-
25
- }
26
- \value{returns a \code{\link{list}} of \code{\link{matrix}} items. One
27
- matrix contains PM probe intensities, with probes in rows and arrays
28
- in columns
29
- }
30
- \author{B. M. Bolstad <bmb@bmbolstad.com>}
31
- \keyword{IO}
Binary file
Binary file
Binary file
@@ -1,11 +0,0 @@
1
- # Logfile created on 2011-12-03 11:33:02 +0100 by logger.rb/31641
2
- I, [2011-12-03T11:33:02.903130 #3787] INFO -- : Rakefile written
3
- I, [2011-12-03T11:34:13.165687 #3885] INFO -- : Rakefile written
4
- I, [2011-12-03T11:34:52.961635 #3934] INFO -- : Rakefile written
5
- I, [2011-12-03T11:35:50.664883 #3983] INFO -- : Rakefile written
6
- I, [2011-12-03T11:36:17.924126 #4032] INFO -- : Rakefile written
7
- I, [2011-12-03T11:37:44.903101 #4091] INFO -- : Rakefile written
8
- I, [2011-12-03T11:37:56.891896 #4140] INFO -- : Rakefile written
9
- I, [2011-12-03T11:42:01.780667 #4246] INFO -- : Rakefile written
10
- I, [2011-12-03T11:43:22.916832 #4374] INFO -- : Rakefile written
11
- I, [2011-12-03T12:17:14.892390 #24167] INFO -- : Rakefile written
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file