Сведение таблицы SNP, преобразование CSV-файла в JSON с помощью Bash
Я работаю с данными GWAS. Нужна помощь.
Мои данные выглядят так:
IID,rs098083,kgp794789,rs09848309,kgp8300747,.....
63,CC,AG,GA,AA,.....
54,AT,CT,TT,AG,.....
12,TT,GA,AG,AA,.....
.
.
.
Как и выше, у меня всего 512 строк и 2 миллиона столбцов.
Желаемый результат:
SNP,Genotyping
rs098083,{
"CC" : [ 1, 63, 6, 18, 33, ...],
"CT" : [ 2, 54, 6, 7, 8, ...],
"TT" : [ 4, 9, 12, 13, ...],
"AA" : [86, 124, 4, 19, ...],
"AT" : [8, 98, 34, 74, ....],
.
.
.
}
kgp794789,{
"CC" : [ 1, 63, 6, 18, 33, ...],
"CT" : [ 2, 5, 6, 7, 8, ...],
"TT" : [ 4, 9, 12, 13, ...],
"AA" : [86, 124, 4, 19, ...],
"AT" : [8, 98, 34, 74, ....],
.
.
.
}
rs09848309,{
"CC" : [ 1, 63, 6, 18, 3, ...],
"CT" : [ 2, 5, 6, 7, 8, ...],
"TT" : [ 4, 9, 24 13, ...],
"AA" : [86, 134, 4, 19, ...],
"AT" : [8, 48, 34, 44, ....],
.
.
.
Как и выше, после поворота у меня должен быть файл JSON из 2 миллионов строк и 2 столбцов. В
SNP
столбец строки содержит идентификатор SNP. В
genotyping
столбец будет содержать JSON BLOB. Этот BLOB будет набором пар ключ-значение. Ключ представляет собой конкретный генотип (например, CC, CT, TT, ....), а значение представляет собой список IID с генотипом, соответствующим ключу.
Выходной формат будет «CSV со встроенным JSON».