@Test public void testFindGSE469() throws Exception { GeoFamilyParser parser = new GeoFamilyParser(); try (InputStream is = new GZIPInputStream( this.getClass().getResourceAsStream( "/data/loader/expression/geo/GSE469Short/GDS233.soft.gz" ) )) { parser.parse( is ); } try (InputStream is = new GZIPInputStream( this.getClass() .getResourceAsStream( "/data/loader/expression/geo/GSE469Short/GSE469_family.soft.gz" ) )) { parser.parse( is ); } try (InputStream is = new GZIPInputStream( this.getClass().getResourceAsStream( "/data/loader/expression/geo/GSE469Short/GDS234.soft.gz" ) )) { parser.parse( is ); } GeoParseResult parseResult = ( ( GeoParseResult ) parser.getResults().iterator().next() ); gds = parseResult.getDatasets().values(); assertEquals( 2, gds.size() ); DatasetCombiner datasetCombiner = new DatasetCombiner(); GeoSampleCorrespondence result = datasetCombiner.findGSECorrespondence( gds ); DatasetCombinerTest.log.debug( result ); Iterator<Set<String>> it = result.iterator(); int numBioMaterials = 0; while ( it.hasNext() ) { Collection<String> c = it.next(); assertTrue( c.size() == 1 || c.size() == 2 ); numBioMaterials++; } assertEquals( 54, numBioMaterials ); assertEquals( 1, result.getCorrespondingSamples( "GSM4301" ).size() ); }
public GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ) { if ( dataSets == null ) return null; if ( dataSets.size() == 0 ) { throw new IllegalArgumentException( "No datasets!" ); } this.checkPlatformsMatchSeries( dataSets ); this.fillAccessionMaps( dataSets ); int numDatasets = dataSets.size(); return this.findCorrespondence( numDatasets ); }
DatasetCombiner { public GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ) { if ( dataSets == null ) return null; if ( dataSets.size() == 0 ) { throw new IllegalArgumentException( "No datasets!" ); } this.checkPlatformsMatchSeries( dataSets ); this.fillAccessionMaps( dataSets ); int numDatasets = dataSets.size(); return this.findCorrespondence( numDatasets ); } }
DatasetCombiner { public GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ) { if ( dataSets == null ) return null; if ( dataSets.size() == 0 ) { throw new IllegalArgumentException( "No datasets!" ); } this.checkPlatformsMatchSeries( dataSets ); this.fillAccessionMaps( dataSets ); int numDatasets = dataSets.size(); return this.findCorrespondence( numDatasets ); } DatasetCombiner();  DatasetCombiner( boolean doSampleMatching ); }
DatasetCombiner { public GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ) { if ( dataSets == null ) return null; if ( dataSets.size() == 0 ) { throw new IllegalArgumentException( "No datasets!" ); } this.checkPlatformsMatchSeries( dataSets ); this.fillAccessionMaps( dataSets ); int numDatasets = dataSets.size(); return this.findCorrespondence( numDatasets ); } DatasetCombiner();  DatasetCombiner( boolean doSampleMatching ); static Collection<String> findGDSforGSE( Collection<String> seriesAccessions ); static Collection<String> findGDSforGSE( String seriesAccession ); static Collection<String> findGSEforGDS( String datasetAccession ); static Map<GeoPlatform, List<GeoSample>> getPlatformSampleMap( GeoSeries geoSeries ); Collection<String> findGDSforGDS( String datasetAccession ); GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ); GeoSampleCorrespondence findGSECorrespondence( GeoSeries series ); }
DatasetCombiner { public GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ) { if ( dataSets == null ) return null; if ( dataSets.size() == 0 ) { throw new IllegalArgumentException( "No datasets!" ); } this.checkPlatformsMatchSeries( dataSets ); this.fillAccessionMaps( dataSets ); int numDatasets = dataSets.size(); return this.findCorrespondence( numDatasets ); } DatasetCombiner();  DatasetCombiner( boolean doSampleMatching ); static Collection<String> findGDSforGSE( Collection<String> seriesAccessions ); static Collection<String> findGDSforGSE( String seriesAccession ); static Collection<String> findGSEforGDS( String datasetAccession ); static Map<GeoPlatform, List<GeoSample>> getPlatformSampleMap( GeoSeries geoSeries ); Collection<String> findGDSforGDS( String datasetAccession ); GeoSampleCorrespondence findGSECorrespondence( Collection<GeoDataset> dataSets ); GeoSampleCorrespondence findGSECorrespondence( GeoSeries series );  }