Changeset 3626


Ignore:
Timestamp:
Aug 3, 2007, 11:38:16 AM (14 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #486: Import raw data from the Illumina platform

Location:
trunk
Files:
5 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/config/dist/raw-data-types.xml

    r3623 r3626  
    31693169    </intensity-formula>
    31703170  </raw-data-type>
     3171  <raw-data-type
     3172    id="illumina"
     3173    channels="1"
     3174    name="Illumina"
     3175    table="RawDataIllumina">
     3176    <property
     3177      name="MIN_Signal"
     3178      title="MIN_Signal"
     3179      description="Minimum intensity of the gene in the group."
     3180      column="minSignal"
     3181      type="float"     
     3182    />
     3183    <property
     3184      name="AVG_Signal"
     3185      title="AVG_Signal"
     3186      description="Average intensity of the gene in the group."
     3187      column="avgSignal"
     3188      type="float"     
     3189    />
     3190    <property
     3191      name="MAX_Signal"
     3192      title="MAX_Signal"
     3193      description="Maximum intensity of the gene in the group."
     3194      column="maxSignal"
     3195      type="float"     
     3196    />
     3197    <property
     3198      name="NARRAYS"
     3199      title="NARRAYS"
     3200      description="Number of arrays in the group."
     3201      column="narrays"
     3202      type="int"     
     3203    />
     3204    <property
     3205      name="ARRAY_STDEV"
     3206      title="ARRAY_STDEV"
     3207      description="Standard deviation associated with array-to-array variability within the group (undefined when the group contains a single array)."
     3208      column="arrayStdDev"
     3209      type="float"     
     3210    />
     3211    <property
     3212      name="BEAD_STDEV"
     3213      title="BEAD_STDEV"
     3214      description="Average standard deviation associated with bead-to-bead variability for the arrays in the group."
     3215      column="beadStdDev"
     3216      type="float"     
     3217    />
     3218    <property
     3219      name="Avg_NBEADS"
     3220      title="Avg_NBEADS"
     3221      description="Average number of beads per bead type representing probes for the gene."
     3222      column="avgNBeads"
     3223      type="int"     
     3224    />
     3225    <property
     3226      name="Detection"
     3227      title="Detection"
     3228      description="p-value computed from the background model characterizing chance that the target sequence signal was distinguishable from the negative controls."
     3229      column="detection"
     3230      type="float"     
     3231    />
     3232    <intensity-formula
     3233      name="avgSignal"
     3234      title="Average signal"
     3235      description="Average signal as determined by BeadStudio software."
     3236      >
     3237      <formula
     3238        channel="1"
     3239        expression="raw('AVG_Signal')"
     3240      />
     3241    </intensity-formula>
     3242  </raw-data-type>
    31713243</raw-data-types>
    31723244
  • trunk/src/core/net/sf/basedb/core/Install.java

    r3625 r3626  
    152152    required for BASE to work properly. Items that already exists
    153153    will not be modified.
    154 
     154 
    155155    @param progress An object implementing the {@link ProgressReporter}
    156156      interface
     
    167167      Application.start(false, false, false);
    168168      session = HibernateUtil.newSession();
    169 
     169 
    170170      // SchemaVersion
    171171      schemaVersion = createSchemaVersion(update ? 1 : NEW_SCHEMA_VERSION);
    172 
     172 
    173173      // QuotaTypes
    174174      if (progress != null) progress.display((int)(1*progress_factor), "--Creating quota types...");
     
    177177      createQuotaType(QuotaType.RAW_DATA, "Raw data", "Quota for raw data", false);
    178178      createQuotaType(QuotaType.EXPERIMENT, "Experiment", "Quota for experiment", false);
    179 
     179 
    180180      // Quota
    181181      if (progress != null) progress.display((int)(2*progress_factor), "--Creating quota...");
     
    187187      QuotaData quota1000 = createQuota(null, "1 GB total", "1 GB total quota.", 1024*1024*1024);
    188188      QuotaData quota0 = createQuota(null, "No quota", "May not consume any disk space at all", 0);
    189 
     189 
    190190      // Roles
    191191      if (progress != null) progress.display((int)(3*progress_factor), "--Creating roles...");
     
    196196      RoleData roleGuest = createRole(Role.GUEST, "Guest", false, "For users wanting to have a peek at BASE. Has very limited access to create new things.");
    197197      RoleData roleJobAgent = createRole(Role.JOBAGENT, "Job agent", false, "This role is given to job agents and allows them to read and execute jobs.");
    198 
     198 
    199199      // Users
    200200      if (progress != null) progress.display((int)(4*progress_factor), "--Creating users...");
     
    208208      // createUser(0, "demo", "demo", "Demo", "This account can be used for demonstration purposes.", Role.GUEST);
    209209      // createUser(0, "power", "power", "Power user", "This account has power user privileges.", Role.POWER_USER);
    210 
     210 
    211211      // Now that we have a root user let's create a session
    212212      sessionControl = Application.newSessionControl( null, null, null );
    213213      sessionControl.login(rootLogin, rootPassword, "InitDBSessionId", false);
    214 
     214 
    215215      if (progress != null) progress.display((int)(5*progress_factor), "--Creating groups...");
    216216      GroupData groupEveryone = createGroup(Group.EVERYONE, "Everyone", false, "Everyone are members of this group.");
    217 
     217 
    218218      if (progress != null) progress.display((int)(6*progress_factor), "--Creating keys...");
    219219      int PERMISSION_ALL = Permission.grant(Permission.READ, Permission.USE, Permission.WRITE,
     
    229229      administrators_all.put(roleAdmin, PERMISSION_ALL);
    230230      administrators_all.put(roleSuper, PERMISSION_READ);
    231 
     231 
    232232      // Administrators -> WRITE
    233233      HashMap<RoleData, Integer> administrators_write = new HashMap<RoleData, Integer>();
    234234      administrators_write.put(roleAdmin, PERMISSION_WRITE);
    235235      administrators_write.put(roleSuper, PERMISSION_READ);
    236 
     236 
    237237      // Administrators -> READ
    238238      HashMap<RoleData, Integer> administrators_read = new HashMap<RoleData, Integer>();
    239239      administrators_read.put(roleAdmin, PERMISSION_READ);
    240240      administrators_read.put(roleSuper, PERMISSION_READ);
    241 
     241 
    242242      // Power users -> CREATE; Administrators -> ALL
    243243      HashMap<RoleData, Integer> power_users_create = new HashMap<RoleData, Integer>();
     
    245245      power_users_create.put(rolePower, PERMISSION_CREATE);
    246246      power_users_create.put(roleSuper, PERMISSION_READ);
    247 
     247 
    248248      // Power users & Users -> CREATE; Administrators -> ALL
    249249      HashMap<RoleData, Integer> users_create = new HashMap<RoleData, Integer>();
     
    252252      users_create.put(roleUser, PERMISSION_CREATE);
    253253      users_create.put(roleSuper, PERMISSION_READ);
    254 
     254 
    255255      // Power users & Users & Guests -> CREATE; Administrators -> ALL
    256256      HashMap<RoleData, Integer> guests_create = new HashMap<RoleData, Integer>();
     
    260260      guests_create.put(roleGuest, PERMISSION_CREATE);
    261261      guests_create.put(roleSuper, PERMISSION_READ);
    262 
     262 
    263263      // All -> CREATE; Administrators -> ALL
    264264      HashMap<RoleData, Integer> all_create = new HashMap<RoleData, Integer>();
     
    276276      all_use_administrators_write.put(roleGuest, PERMISSION_USE);
    277277      all_use_administrators_write.put(roleSuper, PERMISSION_USE);
    278 
     278 
    279279      // Users & Guests & Powers users -> USE; Administrators -> ALL
    280280      HashMap<RoleData, Integer> guests_use_administrators_all = new HashMap<RoleData, Integer>();
     
    284284      guests_use_administrators_all.put(roleGuest, PERMISSION_USE);
    285285      guests_use_administrators_all.put(roleSuper, PERMISSION_READ);
    286 
     286 
    287287      // Users & Guests -> USE; Powers users & Administrators -> ALL
    288288      HashMap<RoleData, Integer> guests_use_power_users_all = new HashMap<RoleData, Integer>();
     
    305305      createRoleKey(Item.USER, "Users", "Gives access to users.", administrators_all);
    306306      createRoleKey(Item.PROJECT, "Projects", "Gives access to projects.", users_create);
    307 
     307 
    308308      // Files, directories and quota
    309309      createRoleKey(Item.DIRECTORY, "Directories", "Gives access to directories", guests_create);
     
    313313      createRoleKey(Item.QUOTA, "Quota", "Gives access to quota", administrators_all);
    314314      createRoleKey(Item.DISKUSAGE, "Disc usage", "Gives access disc usage", administrators_read);
    315 
     315 
    316316      // Protocols, hardware, software
    317317      createRoleKey(Item.PROTOCOLTYPE, "Protocol types", "Gives access to protocol types", guests_use_power_users_all);
     
    321321      createRoleKey(Item.SOFTWARETYPE, "Software types", "Gives access to software types", all_use_administrators_write);
    322322      createRoleKey(Item.SOFTWARE, "Software", "Gives access to software", power_users_create);
    323 
     323 
    324324      // Annotations
    325325      createRoleKey(Item.ANNOTATIONTYPE, "Annotation types", "Gives access to annotation types", power_users_create);
     
    332332      createRoleKey(Item.EXTRACT, "Extracts", "Gives access to extracts", users_create);
    333333      createRoleKey(Item.LABELEDEXTRACT, "Labeled extracts", "Gives access to labeled extracts", users_create);
    334 
     334 
    335335      // Reporters
    336336      createRoleKey(Item.REPORTERTYPE, "Reporter types", "Gives access to reporter types", guests_use_power_users_all);
    337337      createRoleKey(Item.REPORTER, "Reporters", "Gives access to reporter", guests_use_power_users_all);
    338338      createRoleKey(Item.REPORTERLIST, "Reporter lists", "Gives access to reporter lists", users_create);
    339 
     339 
    340340      // Array LIMS - plates
    341341      createRoleKey(Item.PLATEGEOMETRY, "Plate geometries", "Gives access to plate geometries", guests_use_administrators_all);
     
    343343      createRoleKey(Item.PLATE, "Plates", "Gives access to plates", power_users_create);
    344344      createRoleKey(Item.PLATEMAPPING, "Plate mappings", "Gives access to plate mappings", power_users_create);
    345 
     345 
    346346      // Array LIMS - arrays
    347347      createRoleKey(Item.ARRAYDESIGN, "Array design", "Gives access to array designs", power_users_create);
    348348      createRoleKey(Item.ARRAYBATCH, "Array batches", "Gives access to array batches", power_users_create);
    349349      createRoleKey(Item.ARRAYSLIDE, "Array slides", "Gives access to array slides", power_users_create);
    350 
     350 
    351351      // Hybridization, raw data and experiments
    352352      createRoleKey(Item.HYBRIDIZATION, "Hybridizations", "Gives access to hybridizations", users_create);
     
    356356      createRoleKey(Item.FORMULA, "Formulas", "Gives access to formulas", users_create);
    357357      createRoleKey(Item.EXTRAVALUETYPE, "Extra value types", "Gives access to extra value types", guests_use_power_users_all);
    358 
     358 
    359359      // Plugins, jobs
    360360      createRoleKey(Item.PLUGINTYPE, "Plugin types", "Gives access to plugin types", administrators_all);
     
    363363      createRoleKey(Item.JOB, "Jobs", "Gives access to jobs", guests_create);
    364364      createRoleKey(Item.JOBAGENT, "Job agents", "Gives access to job agents", administrators_all);
    365 
     365 
    366366      // Misc.
    367367      createRoleKey(Item.CLIENT, "Client applications", "Gives access to client applications", administrators_all);
     
    371371      createRoleKey(Item.SETTING, "Settings", "Gives access to settings", administrators_all);
    372372      createRoleKey(Item.MESSAGE, "Messages", "Gives access to messages", users_create);
    373 
     373 
    374374      // Permissions for job agents are only added for new installations and
    375375      // updates below schema version 13
     
    396396      ItemKeyData keyEveryoneUse = createItemKey("EVERYONE=USE", null, everyoneUse);
    397397      ItemKeyData keyJobAgentUse = createItemKey("JOBAGENT=USE", jobAgentUse, null);
    398 
     398 
    399399      // ProtocolTypes
    400400      if (progress != null) progress.display((int)(7*progress_factor), "--Creating protocol types...");
     
    407407      createProtocolType(ProtocolType.SCANNING, "Scanning", "Protocols used for scanning microarray images.");
    408408      createProtocolType(ProtocolType.FEATURE_EXTRACTION, "Feature extraction", "Protocols used for extracting features from microarray images.");
    409 
     409 
    410410      // HardwareTypes
    411411      if (progress != null) progress.display((int)(8*progress_factor), "--Creating hardware types...");
     
    413413      HardwareTypeData robot = createHardwareType(HardwareType.PRINT_ROBOT, "Print robot", "Spot the probe on the array.");
    414414      HardwareTypeData hybStation = createHardwareType(HardwareType.HYBRIDIZATION_STATION, "Hybridization station", "Automate the hybridization of microarrays on slides.");
    415 
     415 
    416416      // Hardware
    417417      if (progress != null) progress.display((int)(9*progress_factor), "--Creating hardware...");
     
    426426      createHardware("OmniGrid", "100", "", robot, rootUser, keyEveryoneUse);
    427427      createHardware("Qarray", "Max", "", robot, rootUser, keyEveryoneUse);
    428 
     428 
    429429      // SoftwareTypes
    430430      if (progress != null) progress.display((int)(10*progress_factor), "--Creating software types...");
    431431      SoftwareTypeData feature = createSoftwareType(SoftwareType.FEATURE_EXTRACTION, "Feature extraction", "Extracts features from microarray images.");
    432 
     432 
    433433      // Software
    434434      if (progress != null) progress.display((int)(11*progress_factor), "--Creating software...");
     
    443443      createSoftware("ScanArray", null, null, feature, rootUser, keyEveryoneUse);
    444444      createSoftware("Affymetrix GeneChip Software", "1.2", null, feature, rootUser, keyEveryoneUse);
    445 
     445      createSoftware("Illumina BeadStudio", null, null, feature, rootUser, keyEveryoneUse);
     446 
    446447      // Directory
    447448      if (progress != null) progress.display((int)(12*progress_factor), "--Creating directories...");
     
    452453      createDirectory(rootUser, templateDirectory, null, "raw data", "Place your raw data files here", null);
    453454      createDirectory(rootUser, templateDirectory, null, "projects", "Create a subdirectory for project-related files in this directory.", null);
    454 
     455 
    455456      // FileTypes
    456457      if (progress != null) progress.display((int)(13*progress_factor), "--Creating file types...");
     
    464465      FileTypeData imageType = createFileType(FileType.IMAGE, "Image", "Image files");
    465466      createFileType(FileType.SPOT_IMAGES, "Spot images", "A zip file containing generated spot images in png format.");
    466 
     467 
    467468      // MimeTypes
    468469      if (progress != null) progress.display((int)(14*progress_factor), "--Creating MIME types...");
     
    506507      createMimeType("application/x-gtar", "Gzipped archive", "gtar", null);
    507508      createMimeType("application/x-gzip", "Gzip compressed file", "gz", null);
    508 
     509 
    509510      // Microarray/BASE-specific mime types
    510511      createMimeType("text/plain", "GenePix Results file", "gpr", rawDataType);
     
    518519      createMimeType("text/plain", "Biorobotics TAM format", "tam", printMapType);
    519520      createMimeType("text/plain", "Molecularware MWBR format", "mvbr", printMapType);
    520 
     521 
    521522      // Plate geometries
    522523      if (progress != null) progress.display((int)(15*progress_factor), "--Creating plate geometries...");
     
    524525      PlateGeometryData plate384 = createPlateGeometry("384-well (16 x 24)", "384-wells, 16 rows, 24 columns", 16, 24);
    525526      PlateGeometryData plate1536 = createPlateGeometry("1536-well (32 x 48)", "1536-wells, 32 rows, 48 columns", 32, 48);
    526 
     527 
    527528      // Plate mappings
    528529      if (progress != null) progress.display((int)(16*progress_factor), "--Creating plate mappings...");
     
    537538      createPlateMapping("1536 --> 1536", "Maps 1:1 between 1536-well (16 x 24) plates",
    538539        plate1536, 1, plate1536, 1, null, rootUser, keyEveryoneUse);
    539 
    540 
     540 
     541 
    541542      // Labels
    542543      if (progress != null) progress.display((int)(17*progress_factor), "--Creating labels...");
     
    557558      createAnnotationType("Comment", "", Type.STRING, 1, null,
    558559        wells, null, false, false, rootUser, keyEveryoneUse );
    559 
     560 
    560561      // Clients
    561562      if (progress != null) progress.display((int)(19*progress_factor), "--Creating clients...");
     
    563564      createClient(rootUser, "net.sf.basedb.clients.migration", "Migration tool", "This client is used to migrate BASE 1.2.x data to BASE 2", null);
    564565      createClient(rootUser, "net.sf.basedb.clients.jobagent", "Job agent client", "This client is used by all job agents", keyJobAgentUse);
    565 
     566 
    566567      // News
    567568      if (progress != null) progress.display((int)(20*progress_factor), "--Creating news...");
    568569      createNews("BASE 2 Server installed", "Welcome to your new BASE 2 server.");
    569 
     570 
    570571      // Plugins
    571572      if (progress != null) progress.display((int)(21*progress_factor), "--Creating plugin definitions...");
     
    612613      createPluginDefinition("net.sf.basedb.plugins.PackedFileExporter", null, keyEveryoneUse, true, null, true);
    613614      createPluginDefinition("net.sf.basedb.plugins.AnnotationFlatFileImporter", null, keyEveryoneUse, true, null, false);
     615      createPluginDefinition("net.sf.basedb.plugins.IlluminaRawDataImporter", null, keyEveryoneUse, true, null, false);
    614616     
    615617      // Plugin configurations
    616618      if (progress != null) progress.display((int)(22*progress_factor), "--Creating example plugin configurations...");
    617619      createPluginConfigurations("/plugin_configfile.xml", update);
    618      
    619 
     620      createPluginConfigurations("/illumina.configurations.xml", update);
     621     
     622 
    620623      // Formulas
    621624      ColoringData NO_COLORING = new ColoringData(false, false, null, null, null);
     
    634637        "Swap channel 1 and 2", "Swaps the intensities in channel 1 and 2", null, 2,
    635638        new String[] { "ch(2)", "ch(1)" }, NO_COLORING, rootUser, keyEveryoneUse);
    636 
     639 
    637640      // Intensity expression formulas defined by raw data types
    638641      int maxChannels = 0;
     
    659662          null, channel, new String[] { expression }, NO_COLORING, rootUser, keyEveryoneUse);
    660663      }
    661 
     664 
    662665      if (progress != null) progress.display((int)(24*progress_factor), "--Creating job agents...");
    663666      // TODO
  • trunk/src/plugins/core/net/sf/basedb/plugins/AbstractFlatFileImporter.java

    r3616 r3626  
    980980    is returned.
    981981    @param parameterName The name of the error parameter
    982     @return The error option or null if no option has been set
     982    @return The error option or <code>fail</code> if no option has been set
    983983    @since 2.4
    984984  */
     
    988988    option = job.getValue(parameterName);
    989989    if (option == null) option = job.getValue("defaultError");
    990     return option == null ? null : option.toString();
     990    return option == null ? "fail" : option.toString();
    991991  }
    992992 
  • trunk/src/test/TestAll.java

    r3586 r3626  
    137137    results.put("TestPrintMapFlatFileImporter", TestPrintMapFlatFileImporter.test_all());
    138138    results.put("TestDirty", TestDirty.test_all());
     139    results.put("TestIlluminaImporter", TestIlluminaImporter.test_all());
    139140   
    140141    // Experiments
  • trunk/src/test/TestArrayDesign.java

    r2992 r3626  
    7272
    7373    TestReporter.test_import_from_file("data/test.reportermap.import.txt",
    74       "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"ID\"\\t\"Name\".*", 3, 4);
     74      "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"ID\"\\t\"Name\".*", "\\t", 3, 4);
    7575    test_import_from_file(id2, "data/test.reportermap.import.txt",
    7676      "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"ID\"\\t\"Name\".*", 0, 2, 1, 3);
     
    8383    // Create arraydesign with wells
    8484    TestReporter.test_import_from_file("data/test.plate96.import.txt",
    85       "Plate\\tRow\\tColumn\\tCluster ID\\tClone ID\\tGene Symbol\\tBarcode", 4, 5);
     85      "Plate\\tRow\\tColumn\\tCluster ID\\tClone ID\\tGene Symbol\\tBarcode", "\\t", 4, 5);
    8686    int plateGeometry = TestPlateGeometry.test_create(8, 12, false);
    8787    int plateType = TestPlateType.test_create(plateGeometry, false);
  • trunk/src/test/TestDirty.java

    r3472 r3626  
    4848   
    4949    // Tests for checking case sensitivity and white space truncation
    50     TestReporter.test_import_from_file("data/test.import.dirty.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     50    TestReporter.test_import_from_file("data/test.import.dirty.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    5151
    5252    // If DB is case sensitive the two reporters should be different
  • trunk/src/test/TestExperiment.java

    r3619 r3626  
    7373    // Import reporters
    7474    TestReporter.test_import_from_file("data/test.rawdata.import.txt",
    75       "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     75      "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    7676   
    7777    int arrayDesignId = TestArrayDesign.test_create(false, false);
  • trunk/src/test/TestPlateFlatFileImporter.java

    r2959 r3626  
    5656    // Test 96 well plate
    5757    // Create upload file and platetype
    58     TestReporter.test_import_from_file("data/test.plate96.import.txt", "Plate\\tRow\\tColumn\\tCluster ID\\tClone ID\\tGene Symbol\\tBarcode", 4, 5);
     58    TestReporter.test_import_from_file("data/test.plate96.import.txt", "Plate\\tRow\\tColumn\\tCluster ID\\tClone ID\\tGene Symbol\\tBarcode", "\\t", 4, 5);
    5959    int fileId = TestFile.test_create("data/test.plate96.import.txt", false);
    6060    int plateGeometry = TestPlateGeometry.test_create(8, 12, false);
  • trunk/src/test/TestPluginDefinition.java

    r2817 r3626  
    214214        PluginDefinition pd = pluginDefinitions.get(0);
    215215        pluginDefinitionId = pd.getId();
    216         write("--Get plugin definitions "+className+" OK");
     216        write("--Get plugin definition "+className+" OK");
    217217      }
    218218      else
    219219      {
    220         write("--Get plugin definitions "+className+" FAILED");
    221       }
    222     }
    223     catch (Throwable ex)
    224     {
    225       write("--Get plugin definitions FAILED");
     220        write("--Get plugin definition "+className+" NOT FOUND");
     221      }
     222    }
     223    catch (Throwable ex)
     224    {
     225      write("--Get plugin definition FAILED");
    226226      ex.printStackTrace();
    227227      ok = false;
  • trunk/src/test/TestRawBioAssay.java

    r3471 r3626  
    5353    int arrayDesignId = TestArrayDesign.test_create(false, false);
    5454    TestReporter.test_import_from_file("data/test.rawdata.import.txt",
    55       "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     55      "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    5656    TestArrayDesign.test_import_from_file(arrayDesignId, "data/test.rawdata.import.txt",
    5757      "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 0, 2, 1, 4);
  • trunk/src/test/TestRawDataFlatFileImporter.java

    r3472 r3626  
    4141    write("++Testing rawdata import using plugin");
    4242    // Test import rawdata without lims connection
    43     TestReporter.test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     43    TestReporter.test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    4444    int fileId = TestFile.test_create("data/test.rawdata.import.txt", false);
    4545    int arrayDesignId = TestArrayDesign.test_create(false, false);
  • trunk/src/test/TestReporter.java

    r3468 r3626  
    5353    test_externalId("Batchtest0");
    5454   
    55     test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     55    test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    5656   
    5757    if (TestUtil.waitBeforeDelete()) TestUtil.waitForEnter();
     
    237237  }
    238238 
    239   static void test_import_from_file(String filename, String headerRegexp, int idCol, int nameCol)
     239  static void test_import_from_file(String filename, String headerRegexp, String splitterRegexp, int idCol, int nameCol)
    240240  {
    241241    if (!TestUtil.hasPermission(Permission.CREATE, Item.REPORTER)) return;
     
    250250      FlatFileParser ffp = new FlatFileParser();
    251251      ffp.setDataHeaderRegexp(Pattern.compile(headerRegexp));
    252       ffp.setDataSplitterRegexp(Pattern.compile("\\t"));
     252      ffp.setDataSplitterRegexp(Pattern.compile(splitterRegexp));
    253253      ffp.setInputStream(FileUtil.getInputStream(new java.io.File(filename)), "ISO-8859-1");
    254254      ffp.parseHeaders();
  • trunk/src/test/TestReporterList.java

    r2959 r3626  
    4949    test_list(-1);
    5050
    51     TestReporter.test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     51    TestReporter.test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    5252
    5353    test_add_reporters(id, 50);
  • trunk/src/test/TestSpotImages.java

    r2959 r3626  
    6060   
    6161    int rawBioAssayId = TestRawBioAssay.test_create("genepix", 0, 0, 0, 0, false);
    62     TestReporter.test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", 4, 3);
     62    TestReporter.test_import_from_file("data/test.rawdata.import.txt", "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3);
    6363    TestRawBioAssay.test_import_from_file(rawBioAssayId, "data/test.rawdata.import.txt");
    6464   
Note: See TracChangeset for help on using the changeset viewer.