Changeset 1386


Ignore:
Timestamp:
Sep 6, 2011, 8:59:39 AM (10 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #311: Updates required for BASE 3 support

BGX and SNP manifest file validation seems to be working. Updated readme and installation instructions.

Location:
plugins/base2/net.sf.basedb.illumina/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • plugins/base2/net.sf.basedb.illumina/trunk/COMPILE

    r1293 r1386  
    12122. Java 1.6
    1313
    14 3. BASE 2.17.0
     143. BASE 3.0.0
    1515
    1616---------
     
    20201. Type `ant download-lib` to automatically download the BASE core JAR file that
    2121   are neeed for compilation. You can also do this manually by copying the
    22    BASE2Core.jar, BASE2CorePlugins.jar, BASE2Webclient.jar and BASE2WSClient.jar files from the
    23    BASE installation directory (<basedir>/www/WEB-INF/lib/) to the ./lib/compile
     22   base-core-3.x.jar, base-coreplugins-3.x.jar, base-webclient-3.x.jar and base-webservices-client-3.x.jar
     23   files from the BASE installation directory (<basedir>/www/WEB-INF/lib/) to the ./lib/compile
    2424   directory.
    2525
     
    4242   
    4343
    44 2. Enabled the plug-in autoreload functionality in BASE by adding the following
     442. Enabled the plug-in auto reload functionality in BASE by adding the following
    4545   configuration option to your base.config file:
    4646   
     
    5050   
    5151
    52 3. Change the JAR path of the Illumina plug-ins to point to the JAR file in:
     523. Create a symbolic link from the BASE plug-ins directory to the JAR file in:
    5353
    5454   ./dist/illumina-plugins.jar
    5555
    56    NOTE! You must of course enter the absolute path or BASE will not find the
    57    plug-in.
    58    
    5956
    60574. Now, when you change the code and re-compile it, BASE will
    6158   automatically detect the change and reload the new code the next
    6259   time you run the plug-in. There is no need to restart Tomcat or to
    63    manually unload the old plug-in code.
     60   manually unload the old plug-in code. Note! The auto reload only works
     61   for plug-ins. Extensions must be updated with the regular installation
     62   procedure at Administrate -> Plug-ins & extensions -> Overview.
     63   
     64
     65   
  • plugins/base2/net.sf.basedb.illumina/trunk/INSTALL

    r1293 r1386  
    44== Requirements ==
    55
    6  1. BASE 2.17.0 or later.
     6 1. BASE 3.0 or later.
    77
    88
     
    1111 1. Unpack the tar.gz file to a directory of your choice.
    1212 2. Stop your Tomcat server that is running BASE and all job agents, if any.
    13  3. Copy the illumina-plugins.jar to <basedir>''/www/WEB-INF/extensions/''.[[BR]]   
     13 3. Copy the illumina-plugins.jar to your BASE plug-ins directory. Look in your
     14    'base.config' file if you don't know where this is.[[BR]]   
    1415    If you have job agents that are running from another location, you must also
    15     copy the jar file to a location the job agents has access to.   
     16    copy the jar file to the plug-in directory that the job agents use (if that is
     17    different).   
    1618 4. From the ''config'' directory, copy ('''Notice: If you have job
    1719    agents running from another location, copy the configuration files
     
    2123 5. Update the database with Illumina-specific tables and columns by running the
    2224    ''updatedb.sh'' script, located in the <basedir>''/bin'' directory.
    23  6. Restart the Tomcat server.   
    24  7. Log in to BASE as an administrator and run the plug-in auto-installation wizard by going
    25     to ''Administrate -> Plugins -> Definitions'' and click on the 'New' button.   
    26  8. Select the 'Automatically' option.
    27  9. The auto-detection should find the plug-ins listed below. You should
    28     change the 'Install' value to 'yes' or 'plugin+configurations' for all of them.
    29    * Illumina plug-in package installer
    30    * Illumina Bead Summary importer
    31    * Illumina BGX reporter importer
    32    * Illumina BGX feature importer
    33    * Illumina detection P-value calculation
    34    * Illumina expression background correction
    35    * Illumina SNP raw data importer
    36    * Illumina SNP reporter importer
    37    * Illumina SNP root bioassayset creator
    38  10. Find the 'Illumina plug-in package installer' in the list of plug-ins and click on it.
    39  11. Click on the 'Run plugin' button.
    40  12. Decide which Illumina variants to install and if you want the installation
    41     program to create a scanner and/or software entry.
    42  13. Finish the job registration and wait for the plug-in to finish.
    43  14. If the extension auto-installation is disabled a manual scan is
    44     necessary to detect/register the new illumina-extensions; Click on
    45     menu: ''Extensions -> Manual scan...''
    46  15. Done. The Illumina plug-ins are now installed. You can now restart any job
    47     agents as well.
     25 6. Restart the Tomcat server.
     26 7. Go to 'Administrate->Plug-ins & Extensions->Overview' page.
     27 8. Run the installation wizard and select to install 'illumina-plugins.jar'.
     28 9. Find the 'Illumina plug-in package installer' in the list of plug-ins and click on it.
     29 10. Click on the 'Run plugin' button.
     30 11. Decide which Illumina variants to install and if you want the installation
     31     program to create a scanner and/or software entry.
     32 12. Finish the job registration and wait for the plug-in to finish.
     33 13. Done. The Illumina plug-ins and extensions are now installed. You can
     34     now restart any job agents as well.
    4835 16. Optionally, if not already done, disable use of the 'Illumina'
    4936    raw data type provided by a standard BASE installation; Simply
     
    7360    copied.'' Copying the new files will overwrite the existing
    7461    files.
    75  3. Do step 5-6 as described.
    76  4. Step 7-9 are optional and only needed if the new release contains plugins or changed/new plugin configurations
    77     that you want to install. [[BR]]
    78     '''Notice 1:''' Already installed plugins do not need to be
    79     re-installed(unless the jar-path has been changed), but updated
    80     configurations do.[[BR]]
    81     '''Notice 2:''' If the existing configuration is not first removed
    82     you will end up with two configurations with the same name. [[br]]
    83     '''Notice 3:''' Upgrading from 1.3.x or less require you to run
    84     the installation wizard even for the installed plugins to update
    85     their jar-path.
    86  5. Step 10-13 are also optional and only necessary when the release comes with new Illumina variants that you want to create.
    87  6. Do step 14 to update the extensions.
    88  7. Done. The Illumina package is now updated. You can restart any job-agents as well.
     62 3. Do step 5-8 as described.
     63 4. Step 9-12 is optional and only needed if the release comes with new Illumina variants that you want to create.
     64 5. Done. The Illumina package is now updated. You can restart any job-agents as well.
    8965
    9066----------------------------------------------------------------------
  • plugins/base2/net.sf.basedb.illumina/trunk/META-INF/extensions.xml

    r1385 r1386  
    2727  <about>
    2828    <name>Illumina extensions</name>
    29     <version>1.7pre</version>
     29    <version>1.7-dev</version>
    3030    <copyright>BASE development team</copyright>
    3131    <email>basedb-users@lists.sourceforge.net</email>
    3232    <url>http://baseplugins.thep.lu.se/wiki/net.sf.basedb.illumina</url> 
    33     <minbaserversion>3.0</minbaserversion> 
     33    <description>
     34      This package contains plug-ins and extensions for the Illumina platform.
     35    </description>
     36    <min-base-version>3.0.0</min-base-version>
    3437  </about>
    3538  <plugin-definition id="Installer">
     
    5154        This plug-in will remove a per-slide global background from all
    5255        spots. The background is calculated from a set of negative control
    53         spots on the array.\n\n
     56        spots on the array.
    5457        Each assay is treated separately, i.e., no samples are combined
    5558        together. All calculations are made on the current bioassay data
    5659        implying that this plug-in should be used early in analysis and before
    57         background spots are removed.\n\n
     60        background spots are removed.
    5861        A spot is considered to be a negative control spot if it has an
    59         ''Control group name'' exactly matching the string ''negative''.\n\n
     62        ''Control group name'' exactly matching the string ''negative''.
    6063        There is one parameter to set that specifies how background
    6164        intensities should be calculated. Allowed values are median or mean,
    6265        i.e. the background is either the median or the mean of the negative
    63         control spots on the array.\n\n
     66        control spots on the array.
    6467        The expression of the background probes is optionally saved to a
    6568        file. The default is not to save the expression matrix but this can be
     
    8689        Both compressed(gzip) and uncompressed files are supported.
    8790        None of the mappings for the [Controls] section are configurable.
    88         These are set like follows:\n
    89         Identify features by->FEATURE_ID\nReporter ID->\\Probe_Id\\\nFeature ID->\\Array_Address_Id\\\n
     91        These are set like follows:
     92        Identify features by->FEATURE_IDReporter ID->\\Probe_Id\\Feature ID->\\Array_Address_Id\\
    9093        Reg exp for data header is preconfigured to 'Probe_Id\\tArray_Address_Id.*'
    9194      </description>
     
    114117      <description>
    115118        This plug-in implements BeadStudio like detection P-value calculations
    116         for Illumina expression data.\n\n
     119        for Illumina expression data.
    117120        The plug-in will _always_ base the detection P-value calculation on
    118121        raw data values, i.e., the mean raw intensity for the different
     
    120123        available in the root bioassay set for the current analysis
    121124        branch. The user may change this to only use negative controls in the
    122         current bioassay set.\n\n
     125        current bioassay set.
    123126        The detection P-value plug-in does not filter the assays, it provides
    124127        the detection P-values usable in a filter step after running this
    125         plug-in.\n\n
    126         Parameters\n
     128        plug-in.
     129        Parameters
    127130        - The plug-in requires input of array type since detection P-value are
    128         calculated differently depending on array type.\n
     131        calculated differently depending on array type.
    129132        - Users may select to use negative controls in the current bioassay set
    130133        only. The default behaviour is to use all negative controls in the
    131         root bioassay set for the current bioassay set.\n
     134        root bioassay set for the current bioassay set.
    132135        - A cut off parameter is available to exclude outliers within
    133136        the negative controls. The `cutoff` defines the acceptable negative
    134137        control signal range
    135138        $median-MAD*cutoff &lt; I &lt; median+MAD*cutoff$
    136         where $MAD$ is the median absolute deviation.\n\n
    137         Implementation details\n\n
     139        where $MAD$ is the median absolute deviation.
     140        Implementation details
    138141        Each assay is treated separately, i.e., no samples are combined
    139142        together. All calculations are made on the raw bead-type level data,
    140143        i.e., on the average expression value for each bead type and raw data
    141144        is always used irrespective when in analysis the detection P-value is
    142         calculated.\n\n
    143         Pvalue calculation for whole genome arrays:\n
     145        calculated.
     146        Pvalue calculation for whole genome arrays:
    144147        For all signals $i$ calculate the detection P-value as
    145148        $Pvalue = 1-R/N$ where $R$ is the rank of the signal $i$ relative to the
    146         negative controls and $N$ is the number of negative controls.\n\n
     149        negative controls and $N$ is the number of negative controls.
    147150        Pvalue calculation for others array types (DASL, miRNA, VeraCode DASL,
    148         and Focused Arrays):\n
     151        and Focused Arrays):
    149152        For all signals $i$ calculate the detection P-value as
    150153        $Pvalue = 1/2 - 1/2 * erf( [i-AvgControl]/StdControl/sqrt(2) )$ where
     
    155158        for arguments within the range (-4,4). To save CPU cycles, the function
    156159        value for arguments outside this range is set to -1 and 1,
    157         respectively.\n\n
     160        respectively.
    158161        More details about this plug-in is found at the URL
    159         \n\n Please send feedback to the email-address
     162        Please send feedback to the email-address
    160163      </description>
    161164    </about>   
     
    169172        only if all raw bioassays has the same array design and SNP split data files
    170173        are present. The root bioassayset is created by copying values from the data files
    171         as follows:\n
    172          * Channel 1 = GType (AA = 1.0, AB = 0.0, BB = -1.0, NC = null\n
    173          * Channel 2 = Log R Ratio\n
     174        as follows:
     175         * Channel 1 = GType (AA = 1.0, AB = 0.0, BB = -1.0, NC = null)
     176         * Channel 2 = Log R Ratio
    174177         * Channel 3 = B Allele Freq
    175178      </description>
     
    215218    </action-factory>
    216219  </extension>
     220  <extension
     221    id="net.sf.basedb.illumina.extensions.bgxvalidator"
     222    extends="net.sf.basedb.core.filehandler.validator"
     223    >
     224    <about>
     225      <name>BGX file validator</name>
     226      <description>
     227        Validator and metadata extractor implementation for Illumina BGX files.
     228        It will parse the start of the file until the [Probes] section is found
     229        and then extract the number of probes + controls and set that as the
     230        number of features on the array design.
     231      </description>
     232    </about>
     233    <index>1</index>
     234    <action-factory>
     235      <factory-class>net.sf.basedb.illumina.filehandler.BgxValidationFactory</factory-class>
     236    </action-factory>
     237  </extension>
     238  <extension
     239    id="net.sf.basedb.illumina.extensions.snpvalidator"
     240    extends="net.sf.basedb.core.filehandler.validator"
     241    >
     242    <about>
     243      <name>SNP manifest validator</name>
     244      <description>
     245        Validator and metadata extractor implementation for Illumina SNP manifest files.
     246        It will parse the start of the file until the [Assay] section is found
     247        and then extract the SNP Count value and set that as the number of features
     248        on the array design.
     249      </description>
     250    </about>
     251    <index>1</index>
     252    <action-factory>
     253      <factory-class>net.sf.basedb.illumina.filehandler.SnpCvsValidationFactory</factory-class>
     254    </action-factory>
     255  </extension>
     256 
    217257</extensions>
  • plugins/base2/net.sf.basedb.illumina/trunk/README

    r1293 r1386  
    2525== Requirements ==
    2626
    27  1. BASE 2.17.0 or later.
     27 1. BASE 3.0 or later.
    2828 
    2929For expression experiments:
  • plugins/base2/net.sf.basedb.illumina/trunk/RELEASE

    r1238 r1386  
    1515    In build.xml:
    1616      <property name="version" value="A.B" />
    17       <property name="minbaseversion" value="X.Y" />
     17      <property name="depend.base-version" value="X.Y.Z" />
    1818     
    1919    Run `ant update-version`. This should put the version
    20     numbers in a lot of files, including, Illumina.java,
    21     META-INF/extensions.xml and META-INF/base-plugins.xml.
     20    numbers in a lot of files, including, Illumina.java
     21    and META-INF/extensions.xml.
    2222   
    2323    Check (and update if needed) the README and INSTALL
     
    686812. Update the version numbers.
    6969 
    70     In build.xml: <property name="version" value="A.(B+1)pre" />
     70    In build.xml: <property name="version" value="A.(B+1)-dev" />
    7171    Run `ant update-version` and commit the changes to
    7272    subversion:
  • plugins/base2/net.sf.basedb.illumina/trunk/build.xml

    r1385 r1386  
    1414  <!-- variables used -->
    1515  <property name="name" value="illumina-plugins" />
    16   <property name="version" value="1.7pre" />
    17   <property name="minbaseversion" value="3.0"
    18     description="Minimal BASE version required by the plug-ins" />
     16  <property name="version" value="1.7-dev" />
    1917  <property name="src" location="src" description="Location of source files" />
    2018  <property name="build" location="build" description="Location of compiled files" />
     
    2523  <property name="javac.target" value="1.6" />
    2624  <property name="javac.encoding" value="UTF-8" />
     25  <property name="depend.base-version"
     26    value="3.0.0"
     27    description="The BASE version that this project depends on."
     28  />
    2729  <property name="depend.jars"
    28     value="http://base2.thep.lu.se/base/jars/"
    29     description="The location of the BASE core JARs that we depend on"
     30    value="http://base2.thep.lu.se/base/jars/${depend.base-version}"
     31    description="The location of the BASE core JARs that this project depends on."
    3032  />
    3133
     
    104106      destdir="${build}"
    105107      debug="true"
     108      deprecation="true"
    106109      classpathref="classpath"
    107110      source="${javac.source}"
     
    139142      encoding="UTF-8"
    140143    />
    141        
     144    <replaceregexp
     145      file="META-INF/extensions.xml"
     146      match="&lt;min-base-version&gt;.*&lt;/min-base-version&gt;"
     147      replace="&lt;min-base-version&gt;${depend.base-version}&lt;/min-base-version&gt;"
     148      encoding="UTF-8"
     149    />
    142150    <echo>Don't forget to commit the changes to the subversion repository!</echo>
    143151  </target>
     
    145153  <target
    146154    name="checkjar"
    147     description="Checks that the base-core-3.0.0.jar, base-webclient-3.0.0.jar, base-coreplugins-3.0.0.jar and base-webclient-3.0.0.jar exists."
     155    description="Checks that the base-core-${depend.base-version}.jar, base-webclient-${depend.base-version}.jar, base-coreplugins-${depend.base-version}.jar and base-wsclient-${depend.base-version}.jar exists."
    148156    >
    149157    <available classname="net.sf.basedb.core.Application"
    150       classpathref="classpath" property="base3core" />
     158      classpathref="classpath" property="base-core" />
    151159    <available classname="net.sf.basedb.plugins.ReporterFlatFileImporter"
    152       classpathref="classpath" property="base3coreplugins" />
     160      classpathref="classpath" property="base-coreplugins" />
    153161    <available classname="net.sf.basedb.ws.client.SessionClient"
    154       classpathref="classpath" property="base3wsclient" />
     162      classpathref="classpath" property="base-webservices-client" />
    155163    <available classname="net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory"
    156       classpathref="classpath" property="base3web" />
    157     <fail unless="base3core" message="Can't find base-core-3.0.0.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
    158     <fail unless="base3coreplugins" message="Can't find base-coreplugins-3.0.0.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
    159     <fail unless="base3wsclient" message="Can't find base-webservices-client-3.0.0.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
    160     <fail unless="base3web" message="Can't find base-webclient-3.0.0.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
    161     <echo>Found base-core-3.0.0.jar, base-coreplugins-3.0.0.jar, base-webservices-client-3.0.0.jar and base-webclient-3.0.0.jar.</echo>
    162   </target>
    163 
    164     <target
     164      classpathref="classpath" property="base-webclient" />
     165    <fail unless="base-core" message="Can't find base-core-${depend.base-version}.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
     166    <fail unless="base-coreplugins" message="Can't find base-coreplugins-${depend.base-version}.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
     167    <fail unless="base-webservices-client" message="Can't find base-webservices-client-${depend.base-version}.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
     168    <fail unless="base-webclient" message="Can't find base-webclient-${depend.base-version}.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
     169    <echo>
     170Found base-core-${depend.base-version}.jar,
     171      base-coreplugins-${depend.base-version}.jar,
     172      base-webservices-client-${depend.base-version}.jar and
     173      base-webclient-${depend.base-version}.jar.</echo>
     174  </target>
     175
     176  <target
    165177    name="download-lib"
    166     description="Download base-webclient-3.0.0.jar, base-core-3.0.0.jar, base-coreplugins-3.0.0.jar and base-webservices-client-3.0.0.jar"
     178    description="Download BASE JAR files that are needed for compilation"
    167179    >
    168180    <echo>
     
    173185-------------------------------------------------------
    174186    </echo>
    175     <download-lib file="base-core-3.0.0.jar" />
    176     <download-lib file="base-coreplugins-3.0.0.jar" />
    177     <download-lib file="base-webservices-client-3.0.0.jar" />
    178     <download-lib file="base-webclient-3.0.0.jar" />
     187    <download-lib file="base-core-${depend.base-version}.jar" />
     188    <download-lib file="base-coreplugins-${depend.base-version}.jar" />
     189    <download-lib file="base-webservices-client-${depend.base-version}.jar" />
     190    <download-lib file="base-webclient-${depend.base-version}.jar" />
    179191  </target>
    180192 
  • plugins/base2/net.sf.basedb.illumina/trunk/src/net/sf/basedb/illumina/Illumina.java

    r1385 r1386  
    3333public class Illumina
    3434{
     35  /**
     36    The current version of this package.
     37  */
     38  public static final String VERSION = "1.7-dev";
     39 
    3540
    3641  /**
     
    7782 
    7883  /**
    79     Class name of the SNP manifest validator and meta data extractor
    80    */
    81   public static final String SNP_MANIFEST_VALIDATOR_METADATAREADER = "net.sf.basedb.illumina.filehandler.SnpCvsFileHandler";
    82  
    83   /**
    8484    The ID of the raw data type used to hold Illumina Bead Summary raw data.
    8585    Use {@link #getBeadSummaryType()} to get the raw data type object.
     
    9393  */
    9494  public static final String BGX_FILE_ID = "illumina.bgx";
    95 
    96   /**
    97     Class name of the BGX validator and meta data extractor
    98    */
    99   public static final String BGX_VALIDATOR_METADATAREADER = "net.sf.basedb.illumina.filehandler.BgxFileHandler";
    10095
    10196  /**
  • plugins/base2/net.sf.basedb.illumina/trunk/src/net/sf/basedb/illumina/filehandler/SnpCvsValidationAction.java

    r1385 r1386  
    2424import net.sf.basedb.core.ArrayDesign;
    2525import net.sf.basedb.core.DbControl;
     26import net.sf.basedb.core.FileSetMember;
    2627import net.sf.basedb.core.InvalidDataException;
    2728import net.sf.basedb.core.InvalidRelationException;
     
    6263    throws InvalidDataException, InvalidRelationException
    6364  {
    64     // TODO Auto-generated method stub
    65    
     65    FileSetMember member = getAcceptedFile();
     66    validator.copyMetaData(member.getFile(), design);
    6667  }
    6768
  • plugins/base2/net.sf.basedb.illumina/trunk/src/net/sf/basedb/illumina/filehandler/SnpCvsValidationFactory.java

    r1385 r1386  
    4242    {
    4343      DataFileType fileType = (DataFileType)item;
    44       isInContext = Illumina.SNP_DATA_FILE_ID.equals(fileType.getExternalId());
     44      isInContext = Illumina.SNP_MANIFEST_FILE_ID.equals(fileType.getExternalId());
    4545    }   
    4646    return isInContext;
  • plugins/base2/net.sf.basedb.illumina/trunk/src/net/sf/basedb/illumina/install/Install.java

    r1385 r1386  
    5151import net.sf.basedb.core.Permission;
    5252import net.sf.basedb.core.Platform;
     53import net.sf.basedb.core.PlatformFileType;
    5354import net.sf.basedb.core.PlatformVariant;
    5455import net.sf.basedb.core.PluginDefinition;
     
    221222    return false;
    222223  }
     224  @Override
    223225  public Plugin.MainType getMainType()
    224226  {
    225227    return Plugin.MainType.OTHER;
    226228  }
     229  @Override
    227230  public void run(Request request, Response response, ProgressReporter progress)
    228231  {
     
    305308    -------------------------------------------
    306309  */
     310  @Override
    307311  public Set<GuiContext> getGuiContexts()
    308312  {
    309313    return guiContexts;
    310314  }
     315  @Override
    311316  public String isInContext(GuiContext context, Object item)
    312317  {
     
    334339  }
    335340
     341  @Override
    336342  public void configure(GuiContext context, Request request, Response response)
    337343  {
     
    393399  }
    394400
     401  @Override
    395402  public RequestInformation getRequestInformation(GuiContext context, String command)
    396403    throws BaseException
     
    456463        Illumina.BGX_FILE_ID, "BGX file", "Illumina Sentrix Array binary manifest file",
    457464        Item.ARRAYDESIGN, BGX_FILEYTPE_EXTENSION, reporterMapType,
    458         Illumina.BGX_VALIDATOR_METADATAREADER, Illumina.BGX_VALIDATOR_METADATAREADER,
    459         jarPath, ignoreExistingItems);
     465        ignoreExistingItems);
    460466    }
    461467    for (int i = 1; i <= largestNumOfStrips; i++ )
     
    466472        "Illumina Bead Summary file for strip #" + i + " in an array.",
    467473        Item.RAWBIOASSAY, BEAD_SUMMARY_FILETYPE_EXTENSION, rawDataType,
    468         null, null, null, ignoreExistingItems);
     474        ignoreExistingItems);
    469475      dataFileTypes.put(dft.getExternalId(), dft);
    470476    }
     
    488494        pfv.setDescription("Platform variant to use with Illumina expression containing " + type + " strip(s)/array");
    489495      }
    490       pfv.addFileType(bgx, true);
     496      PlatformFileType pft = illuminaPlatform.getFileType(bgx, pfv, true);
     497      pft.setRequired(true);
    491498      for (int i = 1; i <= type; i++)
    492499      {
    493         pfv.addFileType(dataFileTypes.get(beadSummaryTypePrefix+i), true);
     500        pft = illuminaPlatform.getFileType(dataFileTypes.get(beadSummaryTypePrefix+i), pfv, true);
     501        pft.setRequired(true);
    494502      }
    495503      platformVariants.add(pfv);       
     
    502510          Illumina.SNP_MANIFEST_FILE_ID, "SNP manifest file", "Manifest file for Illumina SNP",
    503511          Item.ARRAYDESIGN, SNP_MF_FILETYPE_EXTENSION, reporterMapType,
    504           Illumina.SNP_MANIFEST_VALIDATOR_METADATAREADER, Illumina.SNP_MANIFEST_VALIDATOR_METADATAREADER,
    505           jarPath, ignoreExistingItems);
     512          ignoreExistingItems);
    506513      DataFileType snpSplitDataType = createDataFileType(dc,
    507514          Illumina.SNP_SPLITDATA_FILE_ID, "SNP split data file", "Data file for Illumina SNP. Contains data for only one sample",
    508515          Item.RAWBIOASSAY, SNP_SPLITDATA_FILETYPE_EXTENSION, rawDataType,
    509           null, null, null, ignoreExistingItems);
     516          ignoreExistingItems);
    510517      DataFileType snpDataType = createDataFileType(dc,
    511518          Illumina.SNP_DATA_FILE_ID, "SNP original data file", "The original data file exported from Illumina BeadStudio",
    512519          Item.RAWBIOASSAY, null, rawDataType,
    513           null, null, null, ignoreExistingItems);
     520          ignoreExistingItems);
    514521
    515522      PlatformVariant pfv = createPlatformVariant(dc, Illumina.SNP_VARIANT_ID,
     
    519526        pfv.setDescription("Platform variant to use with Illumina SNP data.");
    520527      }
    521       pfv.addFileType(snpManifestType, true);
    522       pfv.addFileType(snpSplitDataType, true);
    523       pfv.addFileType(snpDataType, false);
     528      illuminaPlatform.getFileType(snpManifestType, pfv, true).setRequired(true);
     529      illuminaPlatform.getFileType(snpSplitDataType, pfv, true).setRequired(true);
     530      illuminaPlatform.getFileType(snpDataType, pfv, true);
    524531      platformVariants.add(pfv);       
    525532    }
     
    750757  */
    751758  private DataFileType createDataFileType(DbControl dc, String externalId, String name,
    752       String description, Item itemType, String extension, ItemSubtype genericType, 
    753       String validatorClass, String metadataReaderClass, String jarPath,  boolean ignoreExistingItem)
     759      String description, Item itemType, String extension, ItemSubtype genericType,
     760      boolean ignoreExistingItem)
    754761    throws ItemAlreadyExistsException
    755762  {   
     
    765772      if (extension != null && !extension.equals(dft.getExtension())) message += dft.getName() + " has invalid extension.\n";
    766773      if (!itemType.equals(dft.getItemType())) message += dft.getName() + " has invalid item type.\n";
    767 //      if (validatorClass != null && !validatorClass.equals(dft.getValidatorClass())) message += "Validator class used: " + dft.getValidatorClass() + ", expected: " + validatorClass;
    768 //      if (metadataReaderClass != null && !metadataReaderClass.equals(dft.getMetadataReaderClass())) message += "Metadata class used: " + dft.getMetadataReaderClass() + ", expected: " + metadataReaderClass;
    769774     
    770775      if (message != null) throw new ItemAlreadyExistsException(message + " The existing datafiletype, '" + dft.getName() + "' can not be used.");
    771      
    772       // Update the jar path of the data file type's meta-data reader and validator
    773       if (jarPath != null)
    774       {
    775 //        dft.setMetadataReaderJarPath(jarPath);
    776 //        dft.setValidatorJarPath(jarPath);
    777       }
    778776    }
    779777    catch (ItemNotFoundException infe)
     
    785783      dft.setDescription(description);
    786784      dft.setGenericType(genericType);
    787 //      dft.setValidatorClass(validatorClass);
    788 //      dft.setValidatorJarPath(jarPath);
    789 //      dft.setMetadataReaderClass(metadataReaderClass);
    790 //      dft.setMetadataReaderJarPath(jarPath);
    791785    }
    792786    return dft;
Note: See TracChangeset for help on using the changeset viewer.