pepkit / pepdbagent

Database for storing sample metadata
BSD 2-Clause "Simplified" License
2 stars 1 forks source link

pepdbagent should support reading and writing PEP components as strings #54

Closed nleroy917 closed 1 year ago

nleroy917 commented 1 year ago

To support the file editing on pephub, we need pepdbagent to do two things: 1) Produce a PEP component as a string 2) consume a PEP as a string

khoroshevskyi commented 1 year ago

Function get_raw_project will return json with 6 components:

0.1 --> namespace 0.2 --> name 0.3 --> tag

1) Config (yaml file)

    "looper": {
      "output_dir": "$HOME/hello_looper_results",
      "pipeline_interfaces": [
        "../pipeline/pipeline_interface.yaml"
      ]
    },
    "pep_version": "2.0.0",
    "sample_table": "../pephub/examples/demo/subtable4/sample_table.csv",
    "subsample_table": "../pephub/examples/demo/subtable4/subsample_table.csv"
  }

2) sample (csv file)

"protocol": {
      "frog_1": "anySampleType",
      "frog_2": "anySampleType",
      "frog_3": "anySampleType",
      "frog_4": "anySampleType"
    },
    "sample_name": {
      "frog_1": "frog_1",
      "frog_2": "frog_2",
      "frog_3": "frog_3",
      "frog_4": "frog_4"
    }
  }

3) subsample list

[
    {
      "read1": {
        "0": "frog1a_data.txt",
        "1": "frog1b_data.txt",
        "2": "frog1c_data.txt"
      },
      "read2": {
        "0": "frog1a_data2.txt",
        "1": "frog1b_data2.txt",
        "2": "frog1b_data2.txt"
      },
      "sample_name": {
        "0": "frog_1",
        "1": "frog_1",
        "2": "frog_1"
      }
    }
  ]