Re: [aroma.affymetrix] Re: MOUSEDIVm520650 and CRMAv2

2010-12-07 Thread Henrik Bengtsson
Hi,

it looks like the patch wasn't applied.  I've actually committed the
bug fix to CRAN where aroma.core v1.8.1 is now available.  If you do

source(http://aroma-project.org/hbLite.R;);
hbInstall(aroma.affymetrix);

that one should install (and any patches will be dropped).

Let me know if you still have problems

/Henrik

On Mon, Dec 6, 2010 at 4:54 AM, Hans-Ulrich
hans-ulrich.kl...@uni-muenster.de wrote:
 Hi Hendrik,

 I installed the patches and removed the report and the cbs folder.
 Then, I run the segmentation and the chromosome explorer again. I got
 the same/similar error message (see below). The error occured when
 processing the second sample so the first one seems to run without
 problems.
 Can I run the chromosome explorer and exclude chromosome 25?

 Regards,
 Hans-Ulrich

 20101206 12:53:52|  Plotting S2 for chromosome 24 [NAMB]...done
 20101206 12:53:52| Calling onFit.CopyNumberSegmentationModel()
 hooks...done
 20101206 12:53:52|Array #2 ('S2') of 4 on chromosome 24...done
 20101206 12:53:52|Array #2 ('S2') of 4 on chromosome 25...
 20101206 12:53:52| Loading results from file...
 20101206 12:53:52|  Pathname: cbsData/Koschmieder,ACC,ra,-XY,BPN,-
 XY,RMA,A+B,FLN,-XY,paired/MOUSEDIVm520650/
 S2,chr25,9012c8079b8a75fe8fc388ca02bfb65e.xdr
 20101206 12:53:52|  Fit object: DNAcopy
 20101206 12:53:52| Loading results from file...done
 20101206 12:53:52| Calling onFit.CopyNumberSegmentationModel()
 hooks...
 ERROR caught in onFit.CopyNumberSegmentationModel():
 [2010-12-06 12:53:53] Exception: Cannot infer number of bases in
 chromosome. No such chromosome: 25
  at throw(Exception(...))
  at throw.default(Cannot infer number of bases in chromosome. No
 such chromoso
  at throw(Cannot infer number of bases in chromosome. No such
 chromosome: , c
  at getChromosomeLength(chromosome)
  at doTryCatch(return(expr), name, parentenv, handler)
  at tryCatchOne(expr, names, parentenv, handlers[[1]])
  at tryCatchList(expr, classes, parentenv, handlers)
  at tryCatch({
  at fcn(...)
  at doTryCatch(return(expr), name, parentenv, handler)
  at tryCatchOne(expr, names, parentenv, handlers[[1]])
  at tryCatchList(expr, classes, parentenv, handlers)
  at tryCatch({
  at callHooks.list(hooks, ...)
  at callHooks(hooks, ...)
  at callHooks.default(hookName, fit = fit, chromosome = chr, fullname
 = fullnam
  at callHooks(hookName, fit = fit, chromosome = chr, fullname =
 fullname)
  at fit.CopyNumberSegmentationModel(this, ..., .retResults = FALSE,
 verbose = v
  at fit(this, ..., .retResults = FALSE, verbose = verbose)
  at plot.CopyNumberSegmentationModel(model, path = path, imageFormat
 = png, p
  at plot(model, path = path, imageFormat = png, plotband =
 plotband, arrays =
  at writeGraphs.ChromosomeExplorer(this, arrays = arrays, chromosomes
 = chromos
  at writeGraphs(this, arrays = arrays, chromosomes = chromosomes,
 zooms = zooms
  at process.ChromosomeExplorer(ce, verbose = verbose)
  at process(ce, verbose = verbose)
            used (Mb) gc trigger  (Mb) max used   (Mb)
  Ncells 1178686   63    4079505 217.9 26615696 1421.5
  Vcells 1568318   12    4818496  36.8 41974408  320.3
 20101206 12:53:53| Calling onFit.CopyNumberSegmentationModel()
 hooks...done
 20101206 12:53:53|Calling onFit.CopyNumberSegmentationModel()
 hooks...done
 Error in list(`process(ce, verbose = verbose)` = environment,
 `process.ChromosomeExplorer(ce, verbose = verbose)` =
 environment,  :

 [2010-12-06 12:53:53] Exception: Cannot exit(): Argument 'indent'
 makes 'indentPos' negative: -1
  at throw(Exception(...))
  at throw.default(Cannot exit(): Argument 'indent' makes 'indentPos'
 negative:
  at throw(Cannot exit(): Argument 'indent' makes 'indentPos'
 negative: , this
  at exit.Verbose(verbose)
  at exit(verbose)
  at fit.CopyNumberSegmentationModel(this, ..., .retResults = FALSE,
 verbose = v
  at fit(this, ..., .retResults = FALSE, verbose = verbose)
  at plot.CopyNumberSegmentationModel(model, path = path, imageFormat
 = png, p
  at plot(model, path = path, imageFormat = png, plotband =
 plotband, arrays =
  at writeGraphs.ChromosomeExplorer(this, arrays = arrays, chromosomes
 = chromos
  at writeGraphs(this, arrays = arrays, chromosomes = chromosomes,
 zooms = zooms
  at process.ChromosomeExplorer(ce, verbose = verbose)
  at process(ce, verbose = verbose)
 Error in list(`process(ce, verbose = verbose)` = environment,
 `process.ChromosomeExplorer(ce, verbose = verbose)` =
 environment,  :

 [2010-12-06 12:53:53] Exception: Cannot exit(): Argument 'indent'
 makes 'indentPos' negative: -1
  at throw(Exception(...))
  at throw.default(Cannot exit(): Argument 'indent' makes 'indentPos'
 negative:
  at throw(Cannot exit(): Argument 'indent' makes 'indentPos'
 negative: , this
  at exit.Verbose(this)
  at exit(this)
  at popState.Verbose(verbose)
  at popState(verbose)
  at throw.Exception(Exception(...))
  at throw(Exception(...))
  at throw.default(Cannot exit(): Argument 'indent' makes 'indentPos'
 negative:
  at 

Re: [aroma.affymetrix] Re: MOUSEDIVm520650 and CRMAv2

2010-12-01 Thread Henrik Bengtsson
Hi,

before anything else, are you running the latest aroma.affymetrix
(v1.8.0), i.e. what's your sessionInfo()?

/Henrik

On Wed, Dec 1, 2010 at 9:32 AM, Hans-Ulrich
hans-ulrich.kl...@uni-muenster.de wrote:
 Hi Hendrik,

 I created a file for the mouse genome. However, I still get an error
 message:

 cbs = CbsModel(cesNSamples, cesNControls, genome=Mouse)
 df - getGenomeData(cbs, verbose=verbose)
 20101201 14:44:53|Reading genome chromosome annotation file...
 20101201 14:44:53| Searching for the file...
 20101201 14:44:54| Searching for the file...done
 20101201 14:44:54| Reading data file...
 20101201 14:44:54|  Pathname: annotationData/genomes/Mouse/
 Mouse,chromosomes.txt
 20101201 14:44:54| Reading data file...done
 20101201 14:44:54| Translating chromosome names...
 20101201 14:44:54| Translating chromosome names...done
 20101201 14:44:54|Reading genome chromosome annotation file...done
 df
   nbrOfBases nbrOfGenes
 1   197195432       1237
 2   181748087       1779
 3   159599783       1046
 4   155630120       1286
 5   152537259       1285
 6   149517037       1158
 7   152524553       1975
 8   131738871       1082
 9   124076172       1260
 10  129993255       1036
 11  121843856       1606
 12  121257530        712
 13  120284312        850
 14  125194864        860
 15  103494974        823
 16   98319150        679
 17   95272651       1075
 18   90772031        522
 19   61342430        739
 23  166650296        800
 24   15902555         12
 M       16299         13
 fit(cbs, min.width=5, verbose=verbose)
 ce = ChromosomeExplorer(cbs)
 process(ce, verbose=verbose)
 [...]
 ERROR caught in onFit.CopyNumberSegmentationModel():
 [2010-12-01 18:18:04] Exception: Cannot infer number of bases in
 chromosome. No such chromosome: 25
  at throw(Exception(...))
  at throw.default(Cannot infer number of bases in chromosome. No
 such chromoso
  at throw(Cannot infer number of bases in chromosome. No such
 chromosome: , c
  at getChromosomeLength(chromosome)
  at doTryCatch(return(expr), name, parentenv, handler)
  at tryCatchOne(expr, names, parentenv, handlers[[1]])
  at tryCatchList(expr, classes, parentenv, handlers)
 [...]

 Do I have to rename chromosome M to 25?


 Best wishes,
 Hans-Ulrich


 On Nov 9, 10:20 pm, Henrik Bengtsson henrik.bengts...@aroma-
 project.org wrote:
 More below...

 On Tue, Nov 9, 2010 at 1:16 PM, Henrik Bengtsson



 henrik.bengts...@aroma-project.org wrote:
  Hi.

  On Tue, Nov 9, 2010 at 3:37 AM, Hans-Ulrich
  hans-ulrich.kl...@uni-muenster.de wrote:
  Hi Henrik,

  thank you very much for your help! I tried your code and it seemed
  that I got reasonable results. I will compare the results to the
  results from the Affymetrix software later, but it looks well at a
  first glance.

  I have two other questions/remarks:
  1) The data.frames returned by getRegions() on the segmented copy
  numbers contains links to the human genome and not to the mouse
  genome.

  That's unfortunately still hardwired and has to be manually edited 
  afterwards.

  2) The ChromosomeExplorer() method does not work and it looks as if
  the methods tries to generate plots for the human genome.

  Does the and mean because here or are there two different problems?

  Both issues are not serious and I could fix 1) quickly using the gsub
  command. However, can I pass the mouse genome as parameter or are
  these functions implemented for the human genome only?

  It is possible to specify which genome the segmentation method should
  use and hence ChromosomeExplorer.  For this to work you need to
  provide correctly formatted genome annotation data under
  annotationData/genomes/GenomeName/.  For an example of such a file,
  see

  path - system.file(annotationData/genomes/Human, package=aroma.core);
  filename - Human,chromosomes.txt;
  pathname - file.path(path, filename);
  file.show(pathname);

  Also, have a look at thread 'Custom Canine SNP (DogSty06m520431);
  problem with chr24-39 Options' started on August 23, 2010:

   https://groups.google.com/group/aroma-affymetrix/browse_thread/thread...

 BTW, a good test to make sure it works for your genome, verify that
 something like this works:

  db - AromaGenomeTextFile$byGenome(Human);
  print(db);

 AromaGenomeTextFile:
 Name: Human
 Tags: chromosomes
 Full name: Human,chromosomes
 Pathname: annotationData/genomes/Human/Human,chromosomes.txt
 File size: 477 bytes
 RAM: 0.01 MB
 Number of data rows: 25
 Columns [3]: 'chromosome', 'nbrOfBases', 'nbrOfGenes'
 Number of text lines: 26 data - readDataFrame(db);
  print(data);

    chromosome nbrOfBases nbrOfGenes
 1           1  245203898       2968
 2           2  243315028       2288
 3           3  199411731       2032
 4           4  191610523       1297
 5           5  180967295       1643
 6           6  170740541       1963
 7           7  158431299       1443
 8           8  145908738       1127
 9           9  134505819       1299
 10         10  135480874       1440
 11         11  

Re: [aroma.affymetrix] Re: MOUSEDIVm520650 and CRMAv2

2010-11-09 Thread Henrik Bengtsson
Hi.

On Tue, Nov 9, 2010 at 3:37 AM, Hans-Ulrich
hans-ulrich.kl...@uni-muenster.de wrote:
 Hi Henrik,

 thank you very much for your help! I tried your code and it seemed
 that I got reasonable results. I will compare the results to the
 results from the Affymetrix software later, but it looks well at a
 first glance.

 I have two other questions/remarks:
 1) The data.frames returned by getRegions() on the segmented copy
 numbers contains links to the human genome and not to the mouse
 genome.

That's unfortunately still hardwired and has to be manually edited afterwards.

 2) The ChromosomeExplorer() method does not work and it looks as if
 the methods tries to generate plots for the human genome.

Does the and mean because here or are there two different problems?


 Both issues are not serious and I could fix 1) quickly using the gsub
 command. However, can I pass the mouse genome as parameter or are
 these functions implemented for the human genome only?

It is possible to specify which genome the segmentation method should
use and hence ChromosomeExplorer.  For this to work you need to
provide correctly formatted genome annotation data under
annotationData/genomes/GenomeName/.  For an example of such a file,
see

path - system.file(annotationData/genomes/Human, package=aroma.core);
filename - Human,chromosomes.txt;
pathname - file.path(path, filename);
file.show(pathname);

Also, have a look at thread 'Custom Canine SNP (DogSty06m520431);
problem with chr24-39 Options' started on August 23, 2010:

  
https://groups.google.com/group/aroma-affymetrix/browse_thread/thread/9593afed0d424450/d4e9de835c224db8

Hope this helps

Henrik


 Best wishes,
 Hans-Ulrich


 On Nov 5, 11:20 pm, Henrik Bengtsson henrik.bengts...@aroma-
 project.org wrote:
 Hi.

 On Fri, Nov 5, 2010 at 9:09 AM, Hans-Ulrich



 hans-ulrich.kl...@uni-muenster.de wrote:
  Hi all,

  I am using the Affymetrix MOUSEDIVm520650 chip. During the the
  normalization step for fragment length, the aroma software complains
  that no probes for enzyme 1 only exist (the same for enzyme 2). I
  found
  this discussion:
 http://groups.google.com/group/aroma-affymetrix/browse_thread/thread/...

  In the NetAffx annotation files, all probes have fragment length for
  both enzymes, although they are sometimes quite large. The affymetrix
  protocol says that the PCR works well for fragments between 200 and
  1100bps. The annotation files for the Genome Wide SNP 6.0 arrays
  annotate fragments up to 2000bps.

  To use the aroma software, I want to modify the ufl file and set all
  fragment length entries  45 or  2000 to NA. Unfortunately, I have
  no
  plan how to do this. Can someone point me to appropriate
  documentation?

 The how-to page 'Create a Unit Fragment Length (UFL) file' at

  http://aroma-project.org/howtos/CreateAUnitFragmentLengthFile

 should be useful.  Make sure to not update the original UFL file, but
 instead a renamed copy of it.

 Bah, it's easier if I just write it:

 # Get the UFL file
 chipType - MOUSEDIVm520650;
 ufl - AromaUflFile$byChipType(chipType);

 # Get the pathname of the source file
 pathname - getPathname(ufl);

 # Create pathname of new file
 path - getPath(ufl);
 tags - getTags(ufl);
 tags - grep(HB, tags, value=TRUE, invert=TRUE); # Drop HB2010 tag
 tags - c(tags, filter45-2000, HB20101105);
 fullname - paste(c(chipType, tags), collapse=,);
 filename - sprintf(%s.ufl, fullname);
 pathnameD - file.path(path, filename);
 copyFile(pathname, pathnameD);

 # Filter values
 uflD - AromaUflFile$byChipType(chipType, tags=tags);
 for (cc in nbrOfColumns(uflD)) {
   fl - ufl[,cc];
   idxs - which(fl  450 | fl  2000);
   uflD[idxs,cc] - NA;

 } # for (cc ...)

 # Update file footer
 ftr - readFooter(uflD);
 srcFile - list(filename=getFilename(ufl), filesize=getFileSize(ufl),
 checksum=getChecksum(ufl));
 ftr$srcFiles - list(srcFile=srcFile));
 writeFooter(uflD, ftr);

 That should be it.

 /Henrik



  Best,
  Hans-Ulrich

  --
  When reporting problems on aroma.affymetrix, make sure 1) to run the 
  latest version of the package, 2) to report the output of sessionInfo() 
  and traceback(), and 3) to post a complete code example.

  You received this message because you are subscribed to the Google Groups 
  aroma.affymetrix group with websitehttp://www.aroma-project.org/.
  To post to this group, send email to aroma-affymetrix@googlegroups.com
  To unsubscribe and other options, go tohttp://www.aroma-project.org/forum/

 --
 When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
 version of the package, 2) to report the output of sessionInfo() and 
 traceback(), and 3) to post a complete code example.


 You received this message because you are subscribed to the Google Groups 
 aroma.affymetrix group with website http://www.aroma-project.org/.
 To post to this group, send email to aroma-affymetrix@googlegroups.com
 To unsubscribe and other options, go to http://www.aroma-project.org/forum/


-- 

Re: [aroma.affymetrix] Re: MOUSEDIVm520650 and CRMAv2

2010-11-09 Thread Henrik Bengtsson
More below...

On Tue, Nov 9, 2010 at 1:16 PM, Henrik Bengtsson
henrik.bengts...@aroma-project.org wrote:
 Hi.

 On Tue, Nov 9, 2010 at 3:37 AM, Hans-Ulrich
 hans-ulrich.kl...@uni-muenster.de wrote:
 Hi Henrik,

 thank you very much for your help! I tried your code and it seemed
 that I got reasonable results. I will compare the results to the
 results from the Affymetrix software later, but it looks well at a
 first glance.

 I have two other questions/remarks:
 1) The data.frames returned by getRegions() on the segmented copy
 numbers contains links to the human genome and not to the mouse
 genome.

 That's unfortunately still hardwired and has to be manually edited afterwards.

 2) The ChromosomeExplorer() method does not work and it looks as if
 the methods tries to generate plots for the human genome.

 Does the and mean because here or are there two different problems?


 Both issues are not serious and I could fix 1) quickly using the gsub
 command. However, can I pass the mouse genome as parameter or are
 these functions implemented for the human genome only?

 It is possible to specify which genome the segmentation method should
 use and hence ChromosomeExplorer.  For this to work you need to
 provide correctly formatted genome annotation data under
 annotationData/genomes/GenomeName/.  For an example of such a file,
 see

 path - system.file(annotationData/genomes/Human, package=aroma.core);
 filename - Human,chromosomes.txt;
 pathname - file.path(path, filename);
 file.show(pathname);

 Also, have a look at thread 'Custom Canine SNP (DogSty06m520431);
 problem with chr24-39 Options' started on August 23, 2010:

  https://groups.google.com/group/aroma-affymetrix/browse_thread/thread/9593afed0d424450/d4e9de835c224db8

BTW, a good test to make sure it works for your genome, verify that
something like this works:

 db - AromaGenomeTextFile$byGenome(Human);
 print(db);
AromaGenomeTextFile:
Name: Human
Tags: chromosomes
Full name: Human,chromosomes
Pathname: annotationData/genomes/Human/Human,chromosomes.txt
File size: 477 bytes
RAM: 0.01 MB
Number of data rows: 25
Columns [3]: 'chromosome', 'nbrOfBases', 'nbrOfGenes'
Number of text lines: 26
 data - readDataFrame(db);
 print(data);
   chromosome nbrOfBases nbrOfGenes
1   1  245203898   2968
2   2  243315028   2288
3   3  199411731   2032
4   4  191610523   1297
5   5  180967295   1643
6   6  170740541   1963
7   7  158431299   1443
8   8  145908738   1127
9   9  134505819   1299
10 10  135480874   1440
11 11  134978784   2093
12 12  133464434   1652
13 13  114151656748
14 14  105311216   1098
15 15  100114055   1122
16 16   89995999   1098
17 17   81691216   1576
18 18   77753510766
19 19   63790860   1454
20 20   63644868927
21 21   46976537303
22 22   49476972288
23  X  152634166   1184
24  Y   50961097231
25  M  16569 37

/Henrik

 Hope this helps

 Henrik


 Best wishes,
 Hans-Ulrich


 On Nov 5, 11:20 pm, Henrik Bengtsson henrik.bengts...@aroma-
 project.org wrote:
 Hi.

 On Fri, Nov 5, 2010 at 9:09 AM, Hans-Ulrich



 hans-ulrich.kl...@uni-muenster.de wrote:
  Hi all,

  I am using the Affymetrix MOUSEDIVm520650 chip. During the the
  normalization step for fragment length, the aroma software complains
  that no probes for enzyme 1 only exist (the same for enzyme 2). I
  found
  this discussion:
 http://groups.google.com/group/aroma-affymetrix/browse_thread/thread/...

  In the NetAffx annotation files, all probes have fragment length for
  both enzymes, although they are sometimes quite large. The affymetrix
  protocol says that the PCR works well for fragments between 200 and
  1100bps. The annotation files for the Genome Wide SNP 6.0 arrays
  annotate fragments up to 2000bps.

  To use the aroma software, I want to modify the ufl file and set all
  fragment length entries  45 or  2000 to NA. Unfortunately, I have
  no
  plan how to do this. Can someone point me to appropriate
  documentation?

 The how-to page 'Create a Unit Fragment Length (UFL) file' at

  http://aroma-project.org/howtos/CreateAUnitFragmentLengthFile

 should be useful.  Make sure to not update the original UFL file, but
 instead a renamed copy of it.

 Bah, it's easier if I just write it:

 # Get the UFL file
 chipType - MOUSEDIVm520650;
 ufl - AromaUflFile$byChipType(chipType);

 # Get the pathname of the source file
 pathname - getPathname(ufl);

 # Create pathname of new file
 path - getPath(ufl);
 tags - getTags(ufl);
 tags - grep(HB, tags, value=TRUE, invert=TRUE); # Drop HB2010 tag
 tags - c(tags, filter45-2000, HB20101105);
 fullname - paste(c(chipType, tags), collapse=,);
 filename - sprintf(%s.ufl, fullname);
 pathnameD -