Skip to content
Snippets Groups Projects
Commit a89e650c authored by felmer's avatar felmer
Browse files

SE-140 Result database model changed. Allow registration of data sets directly at experiments.

SVN: 12718
parent b6e3c2d4
No related branches found
No related tags found
No related merge requests found
# Unique code of this Data Store Server. Not more than 40 characters.
testtt# Unique code of this Data Store Server. Not more than 40 characters.
data-store-server-code = DSS1
# The root directory of the data store
......@@ -111,6 +111,7 @@ main-thread.data-set-info-extractor = ch.systemsx.cisd.etlserver.DefaultDataSetI
main-thread.data-set-info-extractor.strip-file-extension = true
main-thread.data-set-info-extractor.entity-separator = ${data-set-file-name-entity-separator}
main-thread.data-set-info-extractor.group-code = TEST
main-thread.data-set-info-extractor.index-of-experiment-identifier = 0
# Location of file containing data set properties
#main-thread.data-set-info-extractor.data-set-properties-file-name = data-set.properties
......
......@@ -46,6 +46,7 @@ import ch.systemsx.cisd.openbis.etlserver.phosphonetx.dto.ProteinSummaryDataFilt
import ch.systemsx.cisd.openbis.etlserver.phosphonetx.dto.Sample;
import ch.systemsx.cisd.openbis.etlserver.phosphonetx.dto.Sequence;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.GroupIdentifier;
/**
......@@ -82,16 +83,30 @@ class ResultDataSetUploader extends AbstractHandler
Experiment experiment = getOrCreateExperiment(dataSetInfo.tryToGetExperiment().getPermId());
ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample dataSetInfoSample =
dataSetInfo.tryToGetSample();
if (dataSetInfoSample == null)
Sample sample = null;
GroupIdentifier groupIdentifier = null;
if (dataSetInfoSample != null)
{
throw new UserFailureException("Missing sample in " + dataSetInfo);
sample = getOrCreateSample(experiment, dataSetInfoSample.getPermId());
Group group = dataSetInfoSample.getGroup();
groupIdentifier = new GroupIdentifier(group.getInstance().getCode(), group.getCode());
} else
{
ExperimentIdentifier experimentIdentifier = dataSetInfo.getExperimentIdentifier();
if (experimentIdentifier == null)
{
throw new UserFailureException(
"Neither sample nor experiment identifier specified: " + dataSetInfo);
}
groupIdentifier =
new GroupIdentifier(experimentIdentifier.getDatabaseInstanceCode(),
experimentIdentifier.getGroupCode());
}
Sample sample = getOrCreateSample(experiment, dataSetInfoSample.getPermId());
String referenceDatabase = summary.getSummaryHeader().getReferenceDatabase();
Database database = getOrGreateDatabase(referenceDatabase);
DataSet ds =
getOrCreateDataSet(experiment, sample, database, dataSetInfo.getDataSetCode());
addToDatabase(ds, experiment, dataSetInfoSample.getGroup(), summary);
addToDatabase(ds, experiment, groupIdentifier, summary);
if (errorMessages.length() == 0)
{
connection.commit();
......@@ -136,7 +151,7 @@ class ResultDataSetUploader extends AbstractHandler
return database;
}
private DataSet getOrCreateDataSet(Experiment experiment, Sample sample, Database database,
private DataSet getOrCreateDataSet(Experiment experiment, Sample sampleOrNull, Database database,
String dataSetPermID)
{
DataSet dataSet = dao.tryToGetDataSetByPermID(dataSetPermID);
......@@ -146,8 +161,12 @@ class ResultDataSetUploader extends AbstractHandler
dataSet.setPermID(dataSetPermID);
long experimentID = experiment.getId();
dataSet.setExperimentID(experimentID);
long sampleID = sample.getId();
dataSet.setSampleID(sampleID);
Long sampleID = null;
if (sampleOrNull != null)
{
sampleID = sampleOrNull.getId();
dataSet.setSampleID(sampleID);
}
long databaseID = database.getId();
dataSet.setDatabaseID(databaseID);
dataSet.setId(dao.createDataSet(experimentID, sampleID, dataSetPermID, databaseID));
......@@ -167,13 +186,11 @@ class ResultDataSetUploader extends AbstractHandler
return experiment;
}
private void addToDatabase(DataSet dataSet, Experiment experiment, Group group,
private void addToDatabase(DataSet dataSet, Experiment experiment, GroupIdentifier groupIdentifier,
ProteinSummary summary)
{
long dataSetID = dataSet.getId();
Long databaseID = dataSet.getDatabaseID();
GroupIdentifier groupIdentifier =
new GroupIdentifier(group.getInstance().getCode(), group.getCode());
AbundanceHandler abundanceHandler =
new AbundanceHandler(openbisService, dao, groupIdentifier, experiment);
createProbabilityToFDRMapping(dataSetID, summary);
......@@ -339,5 +356,5 @@ class ResultDataSetUploader extends AbstractHandler
}
throw new UserFailureException("Missing Protein Prophet details.");
}
}
This diff is collapsed.
rtd_phosphonetx/source/sql/postgresql/001/schema-001.png

110 KiB | W: | H:

rtd_phosphonetx/source/sql/postgresql/001/schema-001.png

194 KiB | W: | H:

rtd_phosphonetx/source/sql/postgresql/001/schema-001.png
rtd_phosphonetx/source/sql/postgresql/001/schema-001.png
rtd_phosphonetx/source/sql/postgresql/001/schema-001.png
rtd_phosphonetx/source/sql/postgresql/001/schema-001.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -5,8 +5,8 @@
/* Project name: */
/* Author: */
/* Script type: Database creation script */
/* Created on: 2009-08-27 11:01 */
/* Model version: Version 2009-08-27 */
/* Created on: 2009-09-28 08:43 */
/* Model version: Version 2009-09-28 */
/* ---------------------------------------------------------------------- */
......@@ -34,6 +34,8 @@ CREATE DOMAIN SHORT_SEQUENCE AS CHARACTER VARYING(1000);
CREATE DOMAIN ACCESSION_NUMBER AS CHARACTER VARYING(256);
CREATE DOMAIN SPECTRUM_REFERENCE AS CHARACTER VARYING(100);
/* ---------------------------------------------------------------------- */
/* Tables */
/* ---------------------------------------------------------------------- */
......@@ -56,7 +58,7 @@ CREATE TABLE EXPERIMENTS (
CREATE TABLE DATA_SETS (
ID BIGSERIAL NOT NULL,
EXPE_ID TECH_ID NOT NULL,
SAMP_ID TECH_ID NOT NULL,
SAMP_ID TECH_ID,
DB_ID TECH_ID NOT NULL,
PERM_ID CODE NOT NULL,
CONSTRAINT PK_DATA_SETS PRIMARY KEY (ID),
......@@ -203,6 +205,29 @@ CREATE TABLE MODIFIED_PEPTIDES (
CONSTRAINT PK_MODIFIED_PEPTIDES PRIMARY KEY (ID)
);
/* ---------------------------------------------------------------------- */
/* Add table "SPECTRUM_REFERENCES" */
/* ---------------------------------------------------------------------- */
CREATE TABLE SPECTRUM_REFERENCES (
ID BIGSERIAL NOT NULL,
PEPT_ID TECH_ID NOT NULL,
REFERENCE SPECTRUM_REFERENCE NOT NULL,
CONSTRAINT PK_SPECTRUM_REFERENCES PRIMARY KEY (ID)
);
/* ---------------------------------------------------------------------- */
/* Add table "MODIFICATION_FRACTIONS" */
/* ---------------------------------------------------------------------- */
CREATE TABLE MODIFICATION_FRACTIONS (
ID BIGSERIAL NOT NULL,
MODI_ID TECH_ID NOT NULL,
SAMP_ID TECH_ID,
FRACTION REAL_NUMBER NOT NULL,
CONSTRAINT PK_MODIFICATION_FRACTIONS PRIMARY KEY (ID)
);
/* ---------------------------------------------------------------------- */
/* Foreign key constraints */
/* ---------------------------------------------------------------------- */
......@@ -248,3 +273,12 @@ ALTER TABLE PROBABILITY_FDR_MAPPINGS ADD CONSTRAINT DATA_SETS_PROBABILITY_FDR_MA
ALTER TABLE MODIFIED_PEPTIDES ADD CONSTRAINT PEPTIDES_MODIFIED_PEPTIDES
FOREIGN KEY (PEPT_ID) REFERENCES PEPTIDES (ID);
ALTER TABLE SPECTRUM_REFERENCES ADD CONSTRAINT PEPTIDES_SPECTRUM_REFERENCES
FOREIGN KEY (PEPT_ID) REFERENCES PEPTIDES (ID);
ALTER TABLE MODIFICATION_FRACTIONS ADD CONSTRAINT MODIFICATIONS_MODIFICATION_FRACTIONS
FOREIGN KEY (MODI_ID) REFERENCES MODIFICATIONS (ID);
ALTER TABLE MODIFICATION_FRACTIONS ADD CONSTRAINT SAMPLES_MODIFICATION_FRACTIONS
FOREIGN KEY (SAMP_ID) REFERENCES SAMPLES (ID);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment