Changeset 1139


Ignore:
Timestamp:
Aug 26, 2005, 2:23:06 PM (18 years ago)
Author:
Nicklas Nordborg
Message:

Added SpotImages? and test program to create spot images

Location:
trunk
Files:
7 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/build.xml

    r1094 r1139  
    369369      <fileset dir="${lib}/compile">
    370370        <include name="**/*.jar"/>
    371         <exclude name="**/jai*.jar" />
     371        <exclude name="**/*jai*.jar" />
    372372        <exclude name="**/servlet-api.jar" />
    373373        <exclude name="**/jsp-api.jar" />
     
    382382    <copy todir="${dist.classes}" file="${src}/hibernate.properties" />
    383383    <copy todir="${dist.classes}" file="${src}/log4j.properties" />
    384 <!--
    385     <copy todir="${dist.classes}" file="${src}/extended-properties.xml" />
    386     <copy todir="${dist.classes}" file="${src}/raw-data-types.xml" />
    387     <copy todir="${dist.classes}" file="${src}/mysql-queries.xml" />
    388     <copy todir="${dist.classes}" file="${src}/sqlserver-queries.xml" />
    389 -->
    390384  </target>
    391385
  • trunk/src/core/net/sf/basedb/core/Item.java

    r1121 r1139  
    304304  RAWBIOASSAY(264, "Raw bioassay", "rba", RawBioAssay.class, RawBioAssayData.class, DefinedPermissions.shareable),
    305305  /**
    306     The item is a {@link RawBioAssay}.
    307   */
    308   RAWDATA(265, "Raw data", "rdt", null, RawData.class, null),
     306    The item is a {@link SpotImages}.
     307  */
     308  SPOTIMAGES(265, "Spot images", "spi", SpotImages.class, SpotImagesData.class, null),
     309  /**
     310    The item is a {@link RawData} spot.
     311  */
     312  RAWDATA(266, "Raw data", "rdt", null, RawData.class, null),
    309313
    310314  /**
  • trunk/src/core/net/sf/basedb/core/RawBioAssay.java

    r1136 r1139  
    2727import net.sf.basedb.core.data.RawBioAssayData;
    2828import net.sf.basedb.core.data.RawData;
     29import net.sf.basedb.core.data.SpotImagesData;
    2930
    3031import net.sf.basedb.core.query.Restrictions;
     
    355356  }
    356357 
     358  /**
     359    Get the {@link SpotImages} item used to generate spot images
     360    for this raw bio assay. If no <code>SpotImages</code> exists
     361    a new one is created, and it must be saved to the database before it can
     362    be used.
     363
     364    @return The <code>SpotImages</code> item
     365  */
     366  public SpotImages getSpotImages()
     367    throws PermissionDeniedException, BaseException
     368  {
     369    SpotImagesData spi = getData().getSpotImages();
     370    if (spi == null)
     371    {
     372      return SpotImages.getNew(getDbControl(), this);
     373    }
     374    else
     375    {
     376      return getDbControl().getItem(SpotImages.class, spi);
     377    }
     378  }
     379
     380 
    357381  public RawDataBatcher getRawDataBatcher()
    358382    throws PermissionDeniedException, BaseException
  • trunk/src/core/net/sf/basedb/core/ReporterBatcher.java

    r1135 r1139  
    178178  }
    179179 
     180  public ReporterData getByExternalId(String externalId)
     181    throws BaseException
     182  {
     183    if (findReporter == null)
     184    {
     185      findReporter = HibernateUtil.getPredefinedQuery(getDbControl().getHibernateSession(), "GET_REPORTER_FOR_EXTERNAL_ID");
     186    }
     187    findReporter.setString("externalId", externalId);
     188    ReporterData r = HibernateUtil.loadData(ReporterData.class, findReporter);
     189    if (r == null) throw new ItemNotFoundException("Reporter[externalId="+externalId+"]");
     190    return r;
     191  }
     192 
    180193}
  • trunk/src/test/TestAll.java

    r1121 r1139  
    112112//    results.put("TestRawData", TestRawData.test_all());
    113113//    results.put("TestRawDataImport", TestRawDataImport.test_all());
    114 //    results.put("TestSpotImages", TestSpotImages.test_all());
     114    results.put("TestSpotImages", TestSpotImages.test_all());
    115115
    116116    // Experiments
  • trunk/src/test/TestFile.java

    r977 r1139  
    8888      }
    8989      dc.saveItem(file);
    90       in = new FileInputStream(filename);
    91       file.upload(in, true);
     90      if (new java.io.File(filename).exists())
     91      {
     92        in = new FileInputStream(filename);
     93        file.upload(in, true);
     94      }
    9295      dc.commit();
    9396      id = file.getId();
  • trunk/src/test/TestRawBioAssay.java

    r1134 r1139  
    2525import net.sf.basedb.core.*;
    2626import net.sf.basedb.core.data.RawData;
     27import net.sf.basedb.util.FlatFileParser;
     28import net.sf.basedb.util.FileUtil;
    2729import java.util.Date;
    2830import java.util.List;
    2931import java.util.Map;
     32import java.util.regex.Pattern;
    3033
    3134public class TestRawBioAssay
     
    5861    test_load(id);
    5962   
     63    // Test adding raw data
    6064    test_add_rawdata(id, 50);
     65    TestReporter.test_import_from_file("test.rawdata.import.txt");
     66    test_import_from_file(id2, "test.rawdata.import.txt");
     67   
    6168    test_list(-1);
    62    
    6369    test_list_raw_data(id, -1);
    6470
     
    6672    test_delete(id);
    6773    test_delete(id2);
    68    
     74    TestReporter.test_delete();
     75
    6976    TestScan.test_delete(scanId);
    7077    TestHybridization.test_delete(hybridizationId);
     
    343350    }
    344351  }
     352 
     353  static void test_import_from_file(int rawBioAssayId, String filename)
     354  {
     355    if (rawBioAssayId == 0) return;
     356    write("--Start import raw data from file (" + filename + ")");
     357    DbControl dc = null;
     358    long time;
     359    int i = 0;
     360    try
     361    {
     362      dc = TestUtil.getDbControl();
     363      RawBioAssay rba = RawBioAssay.getById(dc, rawBioAssayId);
     364      RawDataBatcher rawDataBatcher = rba.getRawDataBatcher();
     365      ReporterBatcher reporterBatcher = ReporterBatcher.getNew(dc);
     366   
     367      FlatFileParser parser = new FlatFileParser();
     368      parser.setDataHeaderRegexp(Pattern.compile("\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*"));
     369      parser.setDataSplitterRegexp(Pattern.compile("\"?\\t\"?"));
     370      parser.setInputStream(FileUtil.getInputStream(filename));
     371      parser.parseHeaders();
     372     
     373      time = System.currentTimeMillis();
     374      while (parser.hasMoreData())
     375      {
     376        FlatFileParser.Data parsedData = parser.nextData();
     377        RawData rawData = rawDataBatcher.newRawData();
     378        rawData.setBlock(Integer.valueOf(parsedData.get(0)));
     379        rawData.setRow(Integer.valueOf(parsedData.get(2)));
     380        rawData.setColumn(Integer.valueOf(parsedData.get(1)));
     381        rawData.setX(Integer.valueOf(parsedData.get(5)));
     382        rawData.setY(Integer.valueOf(parsedData.get(6)));
     383        rawData.setReporter(reporterBatcher.getByExternalId(parsedData.get(4)));
     384       
     385        Map<String, Object> extraData = rawData.getAllExtended();
     386        extraData.put("diameter", Float.valueOf(parsedData.get(7)));
     387        extraData.put("ch1FgMedian", Float.valueOf(parsedData.get(8)));
     388        extraData.put("ch1FgMean", Float.valueOf(parsedData.get(9)));
     389        extraData.put("ch1FgSd", Float.valueOf(parsedData.get(10)));
     390        extraData.put("ch1BgMedian", Float.valueOf(parsedData.get(11)));
     391        extraData.put("ch1BgMean", Float.valueOf(parsedData.get(12)));
     392        extraData.put("ch1BgSd", Float.valueOf(parsedData.get(13)));
     393        extraData.put("ch1PercSd1", Integer.valueOf(parsedData.get(14)));
     394        extraData.put("ch1PercSd2", Integer.valueOf(parsedData.get(15)));
     395        extraData.put("ch1PercSat", Integer.valueOf(parsedData.get(16)));
     396        extraData.put("ch2FgMedian", Float.valueOf(parsedData.get(17)));
     397        extraData.put("ch2FgMean", Float.valueOf(parsedData.get(18)));
     398        extraData.put("ch2FgSd", Float.valueOf(parsedData.get(19)));
     399        extraData.put("ch2BgMedian", Float.valueOf(parsedData.get(20)));
     400        extraData.put("ch2BgMean", Float.valueOf(parsedData.get(21)));
     401        extraData.put("ch2BgSd", Float.valueOf(parsedData.get(22)));
     402        extraData.put("ch2PercSd1", Integer.valueOf(parsedData.get(23)));
     403        extraData.put("ch2PercSd2", Integer.valueOf(parsedData.get(24)));
     404        extraData.put("ch2PercSat", Integer.valueOf(parsedData.get(25)));
     405
     406        rawDataBatcher.insert(rawData);
     407        i++;
     408      }
     409      dc.commit();
     410      time = System.currentTimeMillis()-time;
     411
     412      write("--Import raw data from file OK ("+i+", time="+time+" ms)");
     413    }
     414    catch (Throwable ex)
     415    {
     416      write("--Import raw data from file FAILED ("+i+")");
     417      ex.printStackTrace();
     418      ok = false;
     419    }
     420    finally
     421    {
     422      if (dc != null) dc.close();
     423    }
     424  }
     425
    345426}
Note: See TracChangeset for help on using the changeset viewer.