IlyaLab / ISB-LSDF

ISB CGC Webapp
Apache License 2.0
0 stars 0 forks source link

Should meta/attr_list include user columns that extend other data as duplicates #90

Open LoveAndCoding opened 8 years ago

LoveAndCoding commented 8 years ago

More documentation for discussion than something that needs a particular answer at the moment.

User data will occasionally be defined by data dictionary values which we map currently to other studies (only TCGA right now). This will create a response that may include something like the following

[
  {
    "attribute": "SampleTypeCode",
    "code": "C",
    "key": "tcga:SampleTypeCode",
    "spec": "SAMP"
  },
  {
    "attribute": "sample_type_code",
    "code": "C",
    "key": "tcga:SampleTypeCode",
    "spec": "USER"
  }
]

The user value sample_type_code may be in several different studies so that may be duplicated multiple times. Do we want to show that information? Or is there more information we want to include with these attributes to distinguish these features better? For data that is not extending TCGA features, the key looks something like "study:39:sample_type_code". We include the study id so it can be uniquely identified.

The key is used for querying other APIs and allows you to add filter rules that can be both specific to a specific user feature as well as more general filters that may be cross study. It is only currently applied to TCGA, but in theory could be used to extend user data columns as well.

phyllers commented 8 years ago

Is the above example showing the TCGA value and the user defined value that's linked to the TCGA value? I think if the user has multiple attributes called "sample_type_code" that's defined in different studies, then it would be useful to show that information. Otherwise would it would just look like the this, correct?

[
  {
    "attribute": "SampleTypeCode",
    "code": "C",
    "key": "tcga:SampleTypeCode",
    "spec": "SAMP"
  },
  {
    "attribute": "sample_type_code",
    "code": "C",
    "key": "tcga:SampleTypeCode",
    "spec": "USER"
  },
  {
    "attribute": "sample_type_code",
    "code": "C",
    "key": "tcga:SampleTypeCode",
    "spec": "USER"
  },
]

Is it possible that users will want to see this information? If this is strictly used by the app, and it understands what everything means, then we may not need to add that information. One quick fix I can see is to add another attribute to the dictionary that is "study".

rgbohner commented 8 years ago

@ktsashes Can you elaborate on this issue?