How to run the publisher tool for sample request updates - mskcc/smile-server GitHub Wiki

1. How to run the publisher tool

  • Instructions on how to use the publisher tool can be found here
  • Java command that you would use to run with json file reading mode:
java -jar <path-to-jar> -j <json-filename.json> -t <publishing-topic>

2. Publishing to the sample update topic

  • Expected schema can be found here and will be shown below.
  • Published data should reflect exactly what the sample metadata should be in the database (i.e., provide all fields/properties including data that isn't going to be updated for a sample. SMILE will persist exactly what's provided in the message published which means that fields would also be dropped if they are not provided in the message)
  • Published messages should contain all the necessary fields not just the ones that are being updated. This message should be a complete sample json.

Sample Metadata:

    {
      "baitSet": "string",
      "cfDNA2dBarcode": "string",
      "cmoInfoIgoId": "string",
      "cmoPatientId": "string",
      "cmoSampleIdFields": {},
      "cmoSampleName": "string",
      "collectionYear": "string",
      "datasource": "string",
      "genePanel": "string",
      "importDate": "string",
      "investigatorSampleId": "string",
      "libraries": [
        {
          "barcodeId": "string",
          "barcodeIndex": "string",
          "captureConcentrationNm": "string",
          "captureInputNg": "string",
          "captureName": "string",
          "dnaInputNg": 0,
          "libraryConcentrationNgul": 0,
          "libraryIgoId": "string",
          "libraryVolume": 0,
          "numFastQs": 0,
          "runs": [
            {
              "fastqs": [
                "string"
              ],
              "flowCellId": "string",
              "flowCellLanes": [
                0
              ],
              "readLength": "string",
              "runDate": "string",
              "runId": "string",
              "runMode": "string"
            }
          ]
        }
      ],
      "smilePatientId": "string",
      "smileSampleId": "string",
      "oncotreeCode": "string",
      "patientAliases": [
        {
          "namespace": "string",
          "value": "string"
        }
      ],
      "preservation": "string",
      "primaryId": "string",
      "qcReports": [
        {
          "IGORecommendation": "string",
          "comments": "string",
          "investigatorDecision": "string",
          "qcReportType": "DNA"
        }
      ],
      "sampleAliases": [
        {
          "namespace": "string",
          "value": "string"
        }
      ],
      "sampleClass": "string",
      "sampleName": "string",
      "sampleOrigin": "string",
      "sampleType": "string",
      "sex": "string",
      "species": "string",
      "tissueLocation": "string",
      "tubeId": "string",
      "tumorOrNormal": "string"
    }

3. Publishing to the request update topic

  • Expected schema can be found here and is shown below.
  • Published data should reflect exactly what the request metadata should be in the database (i.e., provide all fields/properties including data that isn't going to be updated for a sample. SMILE will persist exactly what's provided in the message published which means that fields would also be dropped if they are not provided in the message)
  • Published messages should contain all the necessary fields not just the ones that are being updated. This message should be a complete request json.

Request Metadata:

{
  "bicAnalysis": true,
  "dataAccessEmails": "string",
  "dataAnalystEmail": "string",
  "dataAnalystName": "string",
  "genePanel": "string",
  "igoProjectId": "string",
  "igoRequestId": "string",
  "investigatorEmail": "string",
  "investigatorName": "string",
  "isCmoRequest": true,
  "labHeadEmail": "string",
  "labHeadName": "string",
  "libraryType": "string",
  "smileRequestId": "string",
  "otherContactEmails": "string",
  "piEmail": "string",
  "pooledNormals": [
    "string"
  ],
  "projectManagerName": "string",
  "qcAccessEmails": "string",
  "strand": "string"
}

3. Pulling updates for a request from IGO LIMS

Options to use when running the publisher tool for this scenario.

java -jar <path-to-jar> -c -r [comma-delimited list of request ids]

Example:

java -jar <path-to-jar> -c -r 12345_A,45678_G

4. Publishing a request as it is in SMILE to Voyager (and other consumers)

Options to use when running the publisher tool for this scenario.

java -jar <path-to-jar> -m -r [comma-delimited list of request ids]

Example:

java -jar <path-to-jar> -m -r 12345_A,45678_G