Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@
* limitations under the License.
*/

/* elispotlk-15.10-15.20.sql */

CREATE SCHEMA elispotlk;
-- Until 21.11.5, the elispotassay module did not claim ownership of the "elispotantigen" schema. So, deleting that
-- module and its schema would leave "elispotantigen" behind and any subsequent bootstrap would fail. See #44610.
SELECT core.fn_dropIfExists('*', 'elispotantigen', 'SCHEMA', NULL);
CREATE SCHEMA elispotantigen;

CREATE TABLE elispotlk.rundata
Expand Down Expand Up @@ -51,33 +46,5 @@ CREATE TABLE elispotlk.rundata

CREATE INDEX idx_elispotrundata_runid ON elispotlk.rundata(RunId);

INSERT INTO elispotlk.rundata (RunId, Specimenlsid, SpotCount, WellgroupName, WellgroupLocation, NormalizedSpotCount, AntigenWellgroupName, ObjectUri, ObjectId)
SELECT
RunId,SpecimenLSID, SpotCount, WellGroupName, WellgroupLocation, NormalizedSpotCount,
CASE WHEN AntigenWellgroupNameTemp IS NULL THEN AntigenName ELSE AntigenWellgroupNameTemp END AS AntigenWellgroupName,
ObjectURI, ObjectId
FROM (
SELECT
(SELECT RunId FROM exp.Data d, exp.Object parent WHERE d.LSID = parent.ObjectURI and parent.ObjectId = o.OwnerObjectId) AS RunId,

(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:SpecimenLsid' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS SpecimenLSID,
(SELECT FloatValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:SpotCount' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS SpotCount,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:WellgroupName' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS WellGroupName,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:WellgroupLocation' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS WellgroupLocation,
(SELECT FloatValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:NormalizedSpotCount' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS NormalizedSpotCount,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:AntigenWellgroupName' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS AntigenWellgroupNameTemp,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:AntigenName' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS AntigenName,
ObjectURI,
ObjectId
FROM exp.Object o WHERE ObjectURI LIKE '%ElispotAssayDataRow%') x
WHERE specimenlsid IS NOT NULL AND RunID IS NOT NULL;

ALTER TABLE elispotlk.rundata ADD COLUMN Cytokine VARCHAR(4000);
ALTER TABLE elispotlk.rundata ADD COLUMN SpotSize REAL;
ALTER TABLE elispotlk.rundata ADD COLUMN SpotSize REAL;
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright (c) 2015-2018 LabKey Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

-- Drop unused column
ALTER TABLE elispotlk.rundata DROP COLUMN ObjectId;
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,8 @@
* limitations under the License.
*/

/* elispotlk-15.10-15.20.sql */

CREATE SCHEMA elispotlk;
GO
-- Until 21.11.5, the elispotassay module did not claim ownership of the "elispotantigen" schema. So, deleting that
-- module and its schema would leave "elispotantigen" behind and any subsequent bootstrap would fail. See #44610.
EXEC core.fn_dropIfExists '*', 'elispotantigen', 'SCHEMA';
GO
CREATE SCHEMA elispotantigen;
GO

Expand Down Expand Up @@ -54,33 +48,5 @@ CREATE TABLE elispotlk.rundata

CREATE INDEX idx_elispotrundata_runid ON elispotlk.rundata(RunId);

INSERT INTO elispotlk.rundata (RunId, Specimenlsid, SpotCount, WellgroupName, WellgroupLocation, NormalizedSpotCount, AntigenWellgroupName, ObjectUri, ObjectId)
SELECT
RunId,SpecimenLSID, SpotCount, WellGroupName, WellgroupLocation, NormalizedSpotCount,
CASE WHEN AntigenWellgroupNameTemp IS NULL THEN AntigenName ELSE AntigenWellgroupNameTemp END AS AntigenWellgroupName,
ObjectURI, ObjectId
FROM (
SELECT
(SELECT RunId FROM exp.Data d, exp.Object parent WHERE d.LSID = parent.ObjectURI and parent.ObjectId = o.OwnerObjectId) AS RunId,

(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:SpecimenLsid' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS SpecimenLSID,
(SELECT FloatValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:SpotCount' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS SpotCount,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:WellgroupName' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS WellGroupName,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:WellgroupLocation' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS WellgroupLocation,
(SELECT FloatValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:NormalizedSpotCount' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS NormalizedSpotCount,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:AntigenWellgroupName' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS AntigenWellgroupNameTemp,
(SELECT StringValue FROM exp.ObjectProperty op, exp.PropertyDescriptor pd
WHERE pd.PropertyURI LIKE '%:AntigenName' AND op.PropertyId = pd.PropertyId AND op.ObjectId = o.ObjectId) AS AntigenName,
ObjectURI,
ObjectId
FROM exp.Object o WHERE ObjectURI LIKE '%ElispotAssayDataRow%') x
WHERE specimenlsid IS NOT NULL AND RunID IS NOT NULL;

ALTER TABLE elispotlk.rundata ADD Cytokine NVARCHAR(4000);
ALTER TABLE elispotlk.rundata ADD SpotSize REAL;
ALTER TABLE elispotlk.rundata ADD SpotSize REAL;
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright (c) 2015-2018 LabKey Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

-- Drop unused column
ALTER TABLE elispotlk.rundata DROP COLUMN ObjectId;
1 change: 0 additions & 1 deletion elispotassay/resources/schemas/elispotlk.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
<column columnName="Activity"/>
<column columnName="Intensity"/>
<column columnName="ObjectUri"/>
<column columnName="ObjectId"/>
</columns>
</table>
<table tableName="Antigen" tableDbType="NOT_IN_DB">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ protected void importData(ExpRun run, DataIteratorBuilder dataRows) throws Exper
String dataRowLsid = ElispotDataHandler.getDataRowLsid(runData.get(0).getLSID(), rowPos, colPos).toString();

Map<String, Object> runDataFields = new HashMap<>();
runDataFields.put("ObjectId", 0);
runDataFields.put("ObjectUri", dataRowLsid);
runDataFields.put("RunId", run.getRowId());
runDataFields.put(ELISPOT_INPUT_MATERIAL_DATA_PROPERTY, row.get(ELISPOT_INPUT_MATERIAL_DATA_PROPERTY));
Expand Down
2 changes: 1 addition & 1 deletion elispotassay/src/org/labkey/elispot/ElispotModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public String getName()
@Override
public @Nullable Double getSchemaVersion()
{
return 25.000;
return 25.001;
}

@Override
Expand Down
11 changes: 0 additions & 11 deletions elispotassay/src/org/labkey/elispot/RunDataRow.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ public class RunDataRow
private Double _activity;
private Double _intensity;
private String _objectUri;
private int _objectId; // TODO: remove when we remove use of exp.Object

private Map<String, Object> _antigenRow = null;

Expand Down Expand Up @@ -194,16 +193,6 @@ public void setObjectUri(String objectUri)
_objectUri = objectUri;
}

public int getObjectId()
{
return _objectId;
}

public void setObjectId(int objectId)
{
_objectId = objectId;
}

public String getAntigenLsid()
{
return _antigenLsid;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,22 @@
*/
package org.labkey.elispot.query;

import org.labkey.api.assay.AssayProvider;
import org.labkey.api.assay.AssaySchema;
import org.labkey.api.data.ColumnInfo;
import org.labkey.api.data.ContainerFilter;
import org.labkey.api.data.JdbcType;
import org.labkey.api.data.SQLFragment;
import org.labkey.api.data.TableInfo;
import org.labkey.api.exp.api.ExpProtocol;
import org.labkey.api.exp.api.StorageProvisioner;
import org.labkey.api.exp.property.Domain;
import org.labkey.api.query.ExprColumn;
import org.labkey.api.query.FieldKey;
import org.labkey.api.query.LookupForeignKey;
import org.labkey.api.assay.AbstractAssayProvider;
import org.labkey.api.assay.AssayProvider;
import org.labkey.api.assay.AssaySchema;
import org.labkey.elispot.ElispotAssayProvider;
import org.labkey.elispot.ElispotDataHandler;

import java.util.ArrayList;
import java.util.List;

/**
* User: klum
* Date: Jan 27, 2011
* Time: 1:45:11 PM
*/
public class ElispotRunAntigenTable extends PlateBasedAssayRunDataTable
{
public ElispotRunAntigenTable(final AssaySchema schema, ContainerFilter cf, final Domain domain, ExpProtocol protocol)
Expand Down Expand Up @@ -74,34 +65,6 @@ public List<FieldKey> getDefaultVisibleColumns()
return fieldKeys;
}

@Override
protected ColumnInfo resolveColumn(String name)
{
ColumnInfo result = super.resolveColumn(name);

if ("Properties".equalsIgnoreCase(name))
{
// Hook up a column that joins back to this table so that the columns formerly under the Properties
// node can still be queried there.
var wrapped = wrapColumn("Properties", getRealTable().getColumn("ObjectId"));
wrapped.setIsUnselectable(true);
LookupForeignKey fk = new LookupForeignKey(getContainerFilter(), "ObjectId", null)
{
@Override
public TableInfo getLookupTableInfo()
{
Domain domain = AbstractAssayProvider.getDomainByPrefix(_protocol, ElispotAssayProvider.ASSAY_DOMAIN_ANTIGEN_WELLGROUP, false);
return new ElispotRunAntigenTable(_userSchema, getLookupContainerFilter(), domain, _protocol);
}
};
fk.setPrefixColumnCaption(false);
wrapped.setFk(fk);
result = wrapped;
}

return result;
}

@Override
protected void addPropertyColumns(final AssaySchema schema, final ExpProtocol protocol, final AssayProvider provider, List<FieldKey> visibleColumns)
{
Expand Down
44 changes: 5 additions & 39 deletions elispotassay/src/org/labkey/elispot/query/ElispotRunDataTable.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@
package org.labkey.elispot.query;

import org.jetbrains.annotations.NotNull;
import org.labkey.api.assay.AbstractAssayProvider;
import org.labkey.api.assay.AssayProvider;
import org.labkey.api.assay.AssaySchema;
import org.labkey.api.assay.AssayService;
import org.labkey.api.assay.plate.AbstractPlateBasedAssayProvider;
import org.labkey.api.assay.plate.PlateReader;
import org.labkey.api.data.ColumnInfo;
import org.labkey.api.data.ContainerFilter;
import org.labkey.api.data.DataColumn;
import org.labkey.api.data.DisplayColumn;
import org.labkey.api.data.DisplayColumnFactory;
import org.labkey.api.data.RenderContext;
import org.labkey.api.data.TableInfo;
import org.labkey.api.exp.api.ExpProtocol;
Expand All @@ -31,12 +34,6 @@
import org.labkey.api.exp.property.DomainProperty;
import org.labkey.api.exp.query.ExpMaterialTable;
import org.labkey.api.query.FieldKey;
import org.labkey.api.query.LookupForeignKey;
import org.labkey.api.assay.AbstractAssayProvider;
import org.labkey.api.assay.AssayProvider;
import org.labkey.api.assay.AssaySchema;
import org.labkey.api.assay.AssayService;
import org.labkey.api.assay.plate.PlateReader;
import org.labkey.api.query.QueryForeignKey;
import org.labkey.api.util.HtmlString;
import org.labkey.elispot.ElispotAssayProvider;
Expand All @@ -47,10 +44,6 @@
import java.util.ArrayList;
import java.util.List;

/**
* User: Karl Lum
* Date: Jan 21, 2008
*/
public class ElispotRunDataTable extends PlateBasedAssayRunDataTable
{
public ElispotRunDataTable(final AssaySchema schema, ContainerFilter cf, final ExpProtocol protocol)
Expand Down Expand Up @@ -111,33 +104,6 @@ protected void addPropertyColumns(final AssaySchema schema, final ExpProtocol pr
antigenLsidColumn.setFk(QueryForeignKey.from(getUserSchema(), getContainerFilter()).to(ElispotProtocolSchema.ANTIGEN_TABLE_NAME, "AntigenLsid", null));
}

@Override
protected ColumnInfo resolveColumn(String name)
{
ColumnInfo result = super.resolveColumn(name);

if ("Properties".equalsIgnoreCase(name))
{
// Hook up a column that joins back to this table so that the columns formerly under the Properties
// node can still be queried there.
var wrapped = wrapColumn("Properties", getRealTable().getColumn("ObjectId"));
wrapped.setIsUnselectable(true);
LookupForeignKey fk = new LookupForeignKey(getContainerFilter(), "ObjectId", null)
{
@Override
public TableInfo getLookupTableInfo()
{
return new ElispotRunDataTable(_userSchema, getLookupContainerFilter(), _protocol);
}
};
fk.setPrefixColumnCaption(false);
wrapped.setFk(fk);
result = wrapped;
}

return result;
}

@Override
public List<FieldKey> getDefaultVisibleColumns()
{
Expand Down