Hi Bob, The Fusion SDK can be downloaded from Affymetrix:
http://www.affymetrix.com/support/developer/fusion/index.affx Robin On Oct 11, 2007, at 1:05 PM, Bob MacCallum wrote: > > Thanks Nicklas for the help with boolean queries. Now I'm confused by > something else also affy-related. > > I'm trying to write code to lookup which ArrayDesigns a Reporter is > on. > For non-Affy arrays this is easy (join via arrayDesignBlocks, > features and > reporter). > > For Affy arrays it looks like we have to use the CDF file through > the Affy API > - get all the reporter ids (e.g. ProbeSetNames) and put them in a > hash for > reverse lookup later. > > Here's a code snippet to do some of that (see last email for the > definition of > affyQuery). A lot of the code is taken directly from > net/sf/basedb/core/Affymetrix.java, which is used by the > "Affymetrix CDF > probeset importer" plugin for Affy array design (see the "verify > reporters" > link on any Affy ArrayDesign page). When I run this plugin as the > same user > who runs the code below, it works fine. However I get a > NullPointerException > with my code... > > > Hashtable affyProbeLookup = new Hashtable(); > > ItemResultList<ArrayDesign> affyList = affyQuery.list(dc); > for (ArrayDesign ad : affyList) { > int adId = ad.getId(); > FusionCDFData cdf = Affymetrix.loadCdfFile > (Affymetrix.getCdfFile(ad)); > if (cdf == null) continue; > int numProbesets = cdf.getHeader().getNumProbeSets(); > int index = 0; > while (index < numProbesets) { > String probesetId = cdf.getProbeSetName(index); // Line 96 > affyProbeLookup.put(probesetId, adId); > index++; > } > } > > Exception in thread "main" java.lang.NullPointerException > at affymetrix.gcos.cdf.CDFFileData.getProbeSetName(Unknown > Source) > at affymetrix.fusion.cdf.FusionCDFData.getProbeSetName > (Unknown Source) > at base_api_test.run_test(base_api_test.java:96) > at base_api_test.main(base_api_test.java:216) > > > note: the cdf object seems OK (numProbesets is set properly). > > > If anyone can point me in the right direction, it would be > appreciated. > It's a bit difficult not having the Affy source and line numbers > (is that available?) > > cheers, > Bob. > > > > > Nicklas Nordborg writes: >> Bob MacCallum wrote: >>> Hi all, >>> >>> The following works as expected: >>> >>> ItemQuery<ArrayDesign> affyQuery = ArrayDesign.getQuery(); >>> affyQuery.include(Include.SHARED); >>> affyQuery.restrict( >>> Restrictions.eq(Hql.property("affyChip"), >>> Expressions.integer(1) >>> ) >>> ); >> >> I think this may depend on the database that is used. I am sure it >> works >> for MySQL since it uses a "bit"-column which can be either 0 or 1. I >> don't know how Postgres handles it or if maybe Hibernate is smart >> enough >> to fix any potential problems. I remember that our predefined queries >> that filtered on boolean columns had to come in two versions, one for >> MySQL and one for Postgres (see >> http://base.thep.lu.se/browser/trunk/config/dist/mysql- >> queries.xml). I >> think this has been fixed in Hibernate (or maybe in MySQL) some time >> ago, since it now works with true/false values instead of 1/0. >> >> Another possibility is to replace Expressions.integer(1) with >> Expressions.parameter("isAffy", true, Type.BOOLEAN). This should >> be safe >> with any database. >> >>> but I'm a bit puzzled why there is no "Expressions.boolean(true)" >>> in the API. >> >> Well, a lot of things get added when they are needed. I guess the >> reason >> is that we have not had any explicit need to filter on a boolean >> value >> before. >> >>> Not urgent! >> >> Ok. Considering potential database issues, I think it maybe is >> better to >> go for the Expresssion.parameter() in any case. >> >> /Nicklas >> >> --------------------------------------------------------------------- >> ---- >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a >> browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> basedb-devel mailing list >> basedb-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/basedb-devel > > -- > Bob MacCallum | VectorBase Developer | Kafatos/Christophides Groups | > Division of Cell and Molecular Biology | Imperial College London | > Phone +442075941945 | Email [EMAIL PROTECTED] > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a > browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > basedb-devel mailing list > basedb-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/basedb-devel --- Robin Andersson, PhD student Linnaeus Centre for Bioinformatics Uppsala University BMC, Box 598, SE-751 24 Uppsala, Sweden phone: +46 18 471 66 86 (admin: 66 90) fax: +46 18 471 66 98 office: BMC, C6:315a email: [EMAIL PROTECTED] http://www.lcb.uu.se/~robina/ ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ basedb-devel mailing list basedb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/basedb-devel