From sanges at biogem.it Mon May 17 00:36:35 2004 From: sanges at biogem.it (Remo Sanges) Date: Mon May 17 00:40:24 2004 Subject: [Bioperl-microarray] bioperl-microarray install In-Reply-To: <8A7350C73265A54587D23E30D15D938004174560@nihexchange13.nih.gov> References: <8A7350C73265A54587D23E30D15D938004174560@nihexchange13.nih.gov> Message-ID: Hi Wei, I'm not yet using bioperl microarray in my microarray analysis... but however I'm using it for other stuff... I gave a look to your problem and it seems to me that you need to install bioperl-live version in order to get the module Bio::Expression::FeatureSet that is not present in last stable version 1.4... Remo On Mar 3, 2004, at 7:35 PM, Lu, Wei (NIH/NCI/NCICB) wrote: > Hi, > This is Wei, system engineer, from LPG, NCI/NIH. I am trying to install > bio-microarray over the bioperl, but after successfully "make" the > module, I > got errors on "make test", which showing there is some modules missing > as > the following. Is there any way I can find these modules? > > Thanks for your help in advance, > Wei Lu > > > > > PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" > "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > t/affy_u133a_cel............Can't locate Bio/Expression/FeatureSet.pm > in > @INC (@INC contains: t . /opt/progs/bioperl-microarray/blib/lib > /opt/progs/bioperl-microarray/blib/arch > /usr/local/lib/perl5/5.8.2/sun4-solaris-thread-multi > /usr/local/lib/perl5/5.8.2 > /usr/local/lib/perl5/site_perl/5.8.2/sun4-solaris-thread-multi > /usr/local/lib/perl5/site_perl/5.8.2 /usr/local/lib/perl5/site_perl) at > Bio/Expression/Microarray/Affymetrix/Array.pm line 57. > BEGIN failed--compilation aborted at > Bio/Expression/Microarray/Affymetrix/Array.pm line 57. > Compilation failed in require at t/affy_u133a_cel.t line 32. > BEGIN failed--compilation aborted at t/affy_u133a_cel.t line 32. > t/affy_u133a_cel............dubious > > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 1-39 > Failed 39/39 tests, 0.00% okay > t/affy_u133a_stream.........Can't locate Bio/Expression/FeatureSet.pm > in > @INC (@INC contains: t . /opt/progs/bioperl-microarray/blib/lib > /opt/progs/bioperl-microarray/blib/arch > /usr/local/lib/perl5/5.8.2/sun4-solaris-thread-multi > /usr/local/lib/perl5/5.8.2 > /usr/local/lib/perl5/site_perl/5.8.2/sun4-solaris-thread-multi > /usr/local/lib/perl5/site_perl/5.8.2 /usr/local/lib/perl5/site_perl) at > Bio/Expression/Microarray/Affymetrix/Array.pm line 57. > BEGIN failed--compilation aborted at > Bio/Expression/Microarray/Affymetrix/Array.pm line 57. > Compilation failed in require at t/affy_u133a_stream.t line 32. > _______________________________________________ > bioperl-microarray mailing list > bioperl-microarray@bioperl.org > http://portal.open-bio.org/mailman/listinfo/bioperl-microarray From tex at biosysadmin.com Fri May 28 02:24:30 2004 From: tex at biosysadmin.com (James Thompson) Date: Fri May 28 02:28:00 2004 Subject: [Bioperl-microarray] GEO SOFT Parser? Message-ID: Hello Bioperl-ers, I'm beginning a project that involves work on GEO SOFT format files. I can't find anything in the main or microarray trees that parses these files, so I thought that I'd ask. If there's nothing available, I'm open to suggestions on where to start designing a set of modules that could be useful in parsing these files. Here's a link on the GEO SOFT format for anyone interested: http://www.ncbi.nlm.nih.gov/geo/info/soft2.html Also, I've never written a Bioperl module before, so if I do need to roll my own solution I'd appreciate a bit of help. Cheers, Tex Thompson RIT Bioinformatics From allenday at ucla.edu Mon May 31 00:39:02 2004 From: allenday at ucla.edu (Allen Day) Date: Mon May 31 00:42:26 2004 Subject: [Bioperl-microarray] Re: [Bioperl-l] GEO SOFT Parser? In-Reply-To: References: Message-ID: Hi, I don't think it would be difficult to roll some pieces of this into a MicroarrayIO format handler. The difficult bits will be the institution/submitter/experiment information. I intentionally left out support for these sorts of details in the Bioperl modules and focused instead on IO for the raw data itself. IMO you're better off to look to a standard like MAGE-ML (as opposed to SOFT) if you want to work with data other than expression levels. Regarding SOFT in general, why do you want to process this data type? Last I looked it was very poor at representing how the expression measurements were quantitated from the experiment and transformed. Furthermore, the details of how the data was transformed vary from experiment to experiment in GEO. IMO you're better off to Affymetrix CEL files or their platform-specific equivalent and DIY. You also might want to have a look at Bioconductor (http://www.bioconductor.org), there may be SOFT support already; I'm not sure. -Allen On Mon, 31 May 2004, Gong Wuming wrote: > Hi Tex. > I asked the same question here some days before but got no responce. It is > a bit surprising because I thought it should be relatively common problem. > At first I planned to roll a module for parsing soft format in > Bio::Expression::MicroarrayIO::, but then I found it is a difficult for me > because many important base classes in Bioperl-Microarray were not > implemented yet especially on the feature of expression data. So, I wrote a > simple perl script for reading information in soft file into a data > strucuture. below is the code. > > ----------------------------------- > #! /usr/bin/perl > use strict; > use warnings; > my $hash = {}; > my $DATA = (); > my ($last_domain, $this_domain, $last_mark, $this_mark); > > # Reading file line by line. > while (<>){ > chomp; > > $this_mark = substr($_, 0, 1); # Get line marker: '^', '!' or '#' > > if ($this_mark =~ /\^|\!/){ # If the line is headed by '^' or '!'. > my @attr; > > # Extract the key-value pair ("key = value") > my ($key, $value) = split (/\s+=\s+/, substr($_, 1)); > ($this_domain, @attr) = split ("_", $key); > my $attribute = join ('_', @attr) || 'id'; > > if ($this_mark eq '^' and $last_domain) { > my %attribute = %$hash; > push (@{$DATA->{$last_domain}}, \%attribute); > $hash = {}; > } > $hash->{$attribute} = $value; > }elsif ($this_mark eq '#'){ > my ($field, $desc) = /^#(.+?)\s+=\s+(.+)$/; > my ($description, $src) = (split (/;*\s+.+?:\s+/, $desc))[1, 2]; > push (@{$DATA->{'data'}}, {'field'=>$field, > 'description'=>$description, 'src'=>$src, 'value'=>[]}); > }else{ # Data field. > next if /^ID_REF/; > my $i = 0; > map {push (@{$DATA->{'data'}->[$i++]->{'value'}}, $_)} split (/\t/); > } > $last_domain = $this_domain; > $last_mark = $this_mark; > } > ------------------------------------------------------------- > The results were stored in such a data structrure: > > $DATA{ > 'database'=>{ > 'name'=> > 'institute'=> > 'web_link'=> > 'email'=> > 'ref'=> > } > 'dataset'=>{ > 'id'=> > 'completeness'=> > 'description'=> > 'experiment_type'=> > 'maximum_probes'=> > 'order'=> > 'organism'=> > 'platform'=> > 'reference_series'=> > 'title'=> > 'total_samples'=> > 'update_date'=> > 'value_type'=> > } > 'subset'=>[ > { > 'id'=> > 'description'=> > 'type'=> > 'sample=>[] > } > ] > 'data'=>[ > { > field => > description=> > src=> > value=>[] > } > ] > } > Wuming Gong >