Changeset 1237


Ignore:
Timestamp:
Sep 6, 2010, 12:44:42 PM (13 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #274: Upgrading the Illumina package does not update the validator path fo BGX files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/base2/net.sf.basedb.illumina/trunk/src/net/sf/basedb/illumina/install/Install.java

    r941 r1237  
    491491    }
    492492   
    493     DataFileType snpManifestType = createDataFileType(dc,
    494         Illumina.SNP_MANIFEST_FILE_ID, "SNP manifest file", "Manifest file for Illumina SNP",
    495         Item.ARRAYDESIGN, SNP_MF_FILETYPE_EXTENSION, reporterMapType,
    496         Illumina.SNP_MANIFEST_VALIDATOR_METADATAREADER, Illumina.SNP_MANIFEST_VALIDATOR_METADATAREADER,
    497         jarPath, ignoreExistingItems);
    498     DataFileType snpSplitDataType = createDataFileType(dc,
    499         Illumina.SNP_SPLITDATA_FILE_ID, "SNP split data file", "Data file for Illumina SNP. Contains data for only one sample",
    500         Item.RAWBIOASSAY, SNP_SPLITDATA_FILETYPE_EXTENSION, rawDataType,
    501         null, null, null, ignoreExistingItems);
    502     DataFileType snpDataType = createDataFileType(dc,
    503         Illumina.SNP_DATA_FILE_ID, "SNP original data file", "The original data file exported from Illumina BeadStudio",
    504         Item.RAWBIOASSAY, null, rawDataType,
    505         null, null, null, ignoreExistingItems);
    506493   
    507494    //Platform and variants
     
    533520    if (installSNP)
    534521    {
     522      DataFileType snpManifestType = createDataFileType(dc,
     523          Illumina.SNP_MANIFEST_FILE_ID, "SNP manifest file", "Manifest file for Illumina SNP",
     524          Item.ARRAYDESIGN, SNP_MF_FILETYPE_EXTENSION, reporterMapType,
     525          Illumina.SNP_MANIFEST_VALIDATOR_METADATAREADER, Illumina.SNP_MANIFEST_VALIDATOR_METADATAREADER,
     526          jarPath, ignoreExistingItems);
     527      DataFileType snpSplitDataType = createDataFileType(dc,
     528          Illumina.SNP_SPLITDATA_FILE_ID, "SNP split data file", "Data file for Illumina SNP. Contains data for only one sample",
     529          Item.RAWBIOASSAY, SNP_SPLITDATA_FILETYPE_EXTENSION, rawDataType,
     530          null, null, null, ignoreExistingItems);
     531      DataFileType snpDataType = createDataFileType(dc,
     532          Illumina.SNP_DATA_FILE_ID, "SNP original data file", "The original data file exported from Illumina BeadStudio",
     533          Item.RAWBIOASSAY, null, rawDataType,
     534          null, null, null, ignoreExistingItems);
     535
    535536      PlatformVariant pfv = createPlatformVariant(dc, Illumina.SNP_VARIANT_ID,
    536537          "SNP", illuminaPlatform, 3, ignoreExistingItems);
     
    550551    if (configureJob == null)
    551552    {
    552       boolean firstTimeInstallation = isFirstTimeInstallation();
    553       String[] options = {YES_OPTION, NO_OPTION};
    554       StringParameterType installOptionType = new StringParameterType
    555       (
    556         255,
    557         firstTimeInstallation ? YES_OPTION : NO_OPTION,
    558         true,
    559         1, 0, 0,
    560         Arrays.asList(options)
    561       );
    562      
    563       installExp1VariantParameter = new PluginParameter<String>
    564       (
    565           "installExp1",
    566           "Create Expression 1",
    567           "Select '" + YES_OPTION + "' to create an Illumina expression variant with one strip/array.",
     553      DbControl dc = null;
     554      try
     555      {
     556        dc = sc.newDbControl();
     557        boolean firstTimeInstallation = isFirstTimeInstallation(dc);
     558        String[] options = {YES_OPTION, NO_OPTION};
     559        StringParameterType installOptionType = new StringParameterType
     560        (
     561          255,
     562          firstTimeInstallation ? YES_OPTION : NO_OPTION,
     563          true,
     564          1, 0, 0,
     565          Arrays.asList(options)
     566        );
     567       
     568        installExp1VariantParameter = new PluginParameter<String>
     569        (
     570            "installExp1",
     571            "Create Expression 1",
     572            "Select '" + YES_OPTION + "' to create an Illumina expression variant with one strip/array.",
     573            firstTimeInstallation || variantExists(dc, "illumina.exp1") ? YES_OPTION : NO_OPTION,
     574            installOptionType
     575          ); 
     576       
     577        installExp2VariantParameter = new PluginParameter<String>
     578        (
     579            "installExp2",
     580            "Create Expression 2",
     581            "Select '" + YES_OPTION + "' to create an Illumina expression variant with two strips/array.",
     582            firstTimeInstallation || variantExists(dc, "illumina.exp2") ? YES_OPTION : NO_OPTION,
     583            installOptionType
     584          );
     585       
     586        installSnpVariantParameter = new PluginParameter<String>
     587        (
     588          "installSnp",
     589          "Create SNP",
     590          "Select '" + YES_OPTION + "' to create an Illumina SNP variant.",
     591          firstTimeInstallation || variantExists(dc, "illumina.exp2") ? YES_OPTION : NO_OPTION,
    568592          installOptionType
    569         ); 
    570      
    571       installExp2VariantParameter = new PluginParameter<String>
    572       (
    573           "installExp2",
    574           "Create Expression 2",
    575           "Select '" + YES_OPTION + "' to create an Illumina expression variant with two strips/array.",
     593        );
     594       
     595        installDetectionPValueParameter = new PluginParameter<String>
     596        (
     597          "installDetectionPValue",
     598          "Create " + Illumina.DETECTION_PVALUE_ID,
     599          "Select '"+YES_OPTION+"' to create an "+Illumina.DETECTION_PVALUE_ID+" ExtraValueType.",
    576600          installOptionType
    577601        );
    578      
    579       installSnpVariantParameter = new PluginParameter<String>
    580       (
    581         "installSnp",
    582         "Create SNP",
    583         "Select '" + YES_OPTION + "' to create an Illumina SNP variant.",
    584         installOptionType
    585       );
    586      
    587       installDetectionPValueParameter = new PluginParameter<String>
    588       (
    589         "installDetectionPValue",
    590         "Create " + Illumina.DETECTION_PVALUE_ID,
    591         "Select '"+YES_OPTION+"' to create an "+Illumina.DETECTION_PVALUE_ID+" ExtraValueType.",
    592         installOptionType
    593       );
    594      
    595       installScannerParameter = new PluginParameter<String>
    596       (
    597         "installScanner",
    598         "Create scanner",
    599         "Choose '" + YES_OPTION + "' to create a scanner entry in BASE, or '" + NO_OPTION + "' otherwise",
    600         installOptionType
    601       );
    602       scannerNameParameter = new PluginParameter<String>
    603       (
    604         "scannerName",
    605         "Scanner name",
    606         "A name to assign to the scanner if this should be created. " +
    607         "This could only be left empty if 'Install scanner' is set to '"+NO_OPTION+"'",
    608         new StringParameterType
    609         (
    610           255,
    611           firstTimeInstallation ? "Illumina BeadArray Reader" : null,
    612           false,
    613           1,0,0         
    614         )
    615       );
    616       scannerVersionParameter = new PluginParameter<String>
    617       (
    618         "scannerVersion",
    619         "Scanner version",
    620         "Version of the scanner to create. This has no effect if 'Install scanner' is set to '" + NO_OPTION + "'",
    621         new StringParameterType
    622         (
    623           255,
    624           null,
    625           false,
    626           1,0,0
    627         )
    628       );
    629       scannerDescriptionParameter = new PluginParameter<String>
    630       (
    631         "scannerDescription",
    632         "Scanner description",
    633         "An optional description of the scanner.",
    634         new StringParameterType
    635         (
    636           65535,
    637           "The Illumina BeadArray Reader is a " +
    638           "scanner that can read arrays including Illumina Sentrix BeadChips and " +
    639           "Sentrix Array Matrices (SAMs).",
    640           false,
    641           1,0,0
    642         )
    643       );
    644       installSoftwareParameter = new PluginParameter<String>
    645       (
    646         "installSoftware",
    647         "Create software",
    648         "Choose '" + YES_OPTION + "' to create a software entry in BASE, or '" + NO_OPTION + "' otherwise",
    649         installOptionType
    650       );
    651       softwareNameParameter = new PluginParameter<String>
    652       (
    653         "softwareName",
    654         "Software name",
    655         "The name of the sofware if this should be created. " +
    656         "This could only be left empty if 'Install software' is set to '"+NO_OPTION+"'",
    657         new StringParameterType
    658         (
    659           255,
    660           firstTimeInstallation ? "Illumina BeadScan" : null,
    661           false,
    662           1,0,0         
    663         )
    664       );
    665       softwareVersionParameter = new PluginParameter<String>
    666       (
    667         "softwareVersion",
    668         "Software version",
    669         "Version of the software to create. This has no effect if 'Install software' is set to '" + NO_OPTION + "'",
    670         new StringParameterType
    671         (
    672           255,
    673           null,
    674           false,
    675           1,0,0
    676         )
    677       );
    678       softwareDescriptionParameter = new PluginParameter<String>
    679       (
    680         "softwareDescription",
    681         "Software description",
    682         "An optional description of the software.",
    683         new StringParameterType
    684         (
    685           65535,
    686           "The Illumina BeadScan software operates the BeadArray Reader and " +
    687           "outputs data files resulting from analysis of the scanner images.",
    688           false,
    689           1,0,0
    690         )
    691       );
    692      
    693       List<PluginParameter<?>> parameters = new ArrayList<PluginParameter<?>>();
    694      
    695       parameters.add(variantSection);
    696       parameters.add(installExp1VariantParameter);
    697       parameters.add(installExp2VariantParameter);
    698       parameters.add(installSnpVariantParameter);
    699      
    700       parameters.add(extraValueTypeSection);
    701       parameters.add(installDetectionPValueParameter);
    702 
    703       parameters.add(hardwareSection);
    704       parameters.add(installScannerParameter);
    705       parameters.add(scannerNameParameter);
    706       parameters.add(scannerVersionParameter);
    707       parameters.add(scannerDescriptionParameter);
    708       parameters.add(installSoftwareParameter);
    709       parameters.add(softwareNameParameter);
    710       parameters.add(softwareVersionParameter);
    711       parameters.add(softwareDescriptionParameter);
    712      
    713      
    714       parameters.add(errorSection);
    715       parameters.add(alreadyInstalledErrorParameter);
    716      
    717       configureJob = new RequestInformation
    718         (
    719           Request.COMMAND_CONFIGURE_JOB,
    720           "Select installation options",
    721           "Set which parts to install and " +
    722           "how to act if items already exists.",
    723           parameters
    724         );
     602       
     603        installScannerParameter = new PluginParameter<String>
     604        (
     605          "installScanner",
     606          "Create scanner",
     607          "Choose '" + YES_OPTION + "' to create a scanner entry in BASE, or '" + NO_OPTION + "' otherwise",
     608          installOptionType
     609        );
     610        scannerNameParameter = new PluginParameter<String>
     611        (
     612          "scannerName",
     613          "Scanner name",
     614          "A name to assign to the scanner if this should be created. " +
     615          "This could only be left empty if 'Install scanner' is set to '"+NO_OPTION+"'",
     616          new StringParameterType
     617          (
     618            255,
     619            firstTimeInstallation ? "Illumina BeadArray Reader" : null,
     620            false,
     621            1,0,0         
     622          )
     623        );
     624        scannerVersionParameter = new PluginParameter<String>
     625        (
     626          "scannerVersion",
     627          "Scanner version",
     628          "Version of the scanner to create. This has no effect if 'Install scanner' is set to '" + NO_OPTION + "'",
     629          new StringParameterType
     630          (
     631            255,
     632            null,
     633            false,
     634            1,0,0
     635          )
     636        );
     637        scannerDescriptionParameter = new PluginParameter<String>
     638        (
     639          "scannerDescription",
     640          "Scanner description",
     641          "An optional description of the scanner.",
     642          new StringParameterType
     643          (
     644            65535,
     645            "The Illumina BeadArray Reader is a " +
     646            "scanner that can read arrays including Illumina Sentrix BeadChips and " +
     647            "Sentrix Array Matrices (SAMs).",
     648            false,
     649            1,0,0
     650          )
     651        );
     652        installSoftwareParameter = new PluginParameter<String>
     653        (
     654          "installSoftware",
     655          "Create software",
     656          "Choose '" + YES_OPTION + "' to create a software entry in BASE, or '" + NO_OPTION + "' otherwise",
     657          installOptionType
     658        );
     659        softwareNameParameter = new PluginParameter<String>
     660        (
     661          "softwareName",
     662          "Software name",
     663          "The name of the sofware if this should be created. " +
     664          "This could only be left empty if 'Install software' is set to '"+NO_OPTION+"'",
     665          new StringParameterType
     666          (
     667            255,
     668            firstTimeInstallation ? "Illumina BeadScan" : null,
     669            false,
     670            1,0,0         
     671          )
     672        );
     673        softwareVersionParameter = new PluginParameter<String>
     674        (
     675          "softwareVersion",
     676          "Software version",
     677          "Version of the software to create. This has no effect if 'Install software' is set to '" + NO_OPTION + "'",
     678          new StringParameterType
     679          (
     680            255,
     681            null,
     682            false,
     683            1,0,0
     684          )
     685        );
     686        softwareDescriptionParameter = new PluginParameter<String>
     687        (
     688          "softwareDescription",
     689          "Software description",
     690          "An optional description of the software.",
     691          new StringParameterType
     692          (
     693            65535,
     694            "The Illumina BeadScan software operates the BeadArray Reader and " +
     695            "outputs data files resulting from analysis of the scanner images.",
     696            false,
     697            1,0,0
     698          )
     699        );
     700       
     701        List<PluginParameter<?>> parameters = new ArrayList<PluginParameter<?>>();
     702       
     703        parameters.add(variantSection);
     704        parameters.add(installExp1VariantParameter);
     705        parameters.add(installExp2VariantParameter);
     706        parameters.add(installSnpVariantParameter);
     707       
     708        parameters.add(extraValueTypeSection);
     709        parameters.add(installDetectionPValueParameter);
     710 
     711        parameters.add(hardwareSection);
     712        parameters.add(installScannerParameter);
     713        parameters.add(scannerNameParameter);
     714        parameters.add(scannerVersionParameter);
     715        parameters.add(scannerDescriptionParameter);
     716        parameters.add(installSoftwareParameter);
     717        parameters.add(softwareNameParameter);
     718        parameters.add(softwareVersionParameter);
     719        parameters.add(softwareDescriptionParameter);
     720       
     721       
     722        parameters.add(errorSection);
     723        parameters.add(alreadyInstalledErrorParameter);
     724        dc.commit();
     725        configureJob = new RequestInformation
     726          (
     727            Request.COMMAND_CONFIGURE_JOB,
     728            "Select installation options",
     729            "Set which parts to install and " +
     730            "how to act if items already exists.",
     731            parameters
     732          );
     733      }
     734      finally
     735      {
     736        if (dc != null) dc.close();
     737      }
    725738    }
    726739    return configureJob;
    727740  }
    728741 
    729   private boolean isFirstTimeInstallation()
    730   {
    731     DbControl dc = null;
     742  private boolean isFirstTimeInstallation(DbControl dc)
     743  {
     744    Platform illuminaPlatform = null;
    732745    try
    733746    {
    734       dc = sc.newDbControl();
    735       Platform illuminaPlatform = Platform.getByExternalId(dc, Illumina.PLATFORM_ID);
    736       return illuminaPlatform == null;
     747      illuminaPlatform = Platform.getByExternalId(dc, Illumina.PLATFORM_ID);
    737748    }
    738749    catch (ItemNotFoundException infex)
    739     {
    740       return true;
    741     }
    742     finally
    743     {
    744       if (dc != null) dc.close();
    745     }
     750    {}
     751    return illuminaPlatform == null;
     752  }
     753 
     754  private boolean variantExists(DbControl dc, String variantId)
     755  {
     756    PlatformVariant variant = null;
     757    try
     758    {
     759      variant = PlatformVariant.getByExternalId(dc, variantId);
     760    }
     761    catch (ItemNotFoundException infex)
     762    {}
     763    return variant != null;
    746764  }
    747765 
Note: See TracChangeset for help on using the changeset viewer.