Как мне создать объект AnnData из матрицы подсчета фреймов данных pandas?
Я пытаюсь использовать пакет Scanpy Python для анализа некоторых данных одной ячейки. Я прочитал матрицу подсчета (файл.tsv) как фрейм данных Pandas, в котором гены являются столбцами, а строки - разными ячейками. Каждая строка содержит количество различных генов для одной клетки. Я хотел бы создать объект AnnData из фрейма данных Pandas... кто-нибудь знает, как я могу это сделать? К сожалению, я не могу предоставить набор данных.
3 ответа
Вы можете преобразовать свой DataFrame
df
в AnnData
adata
Сюда:
adata = anndata.AnnData(X: df.iloc[1:,1:],
obs: df.iloc[:,0:1],
var: df.iloc[0:1,:])
Но на самом деле этого делать не нужно. Вместо этого прочтите файл tsv напрямую в объект AnnData:
with open("your_tsv_file.tsv") as your_data:
adata = anndata.read_csv(your_data, delimiter='\t')
Вот мой ответ, который работает сscanpy 1.9.1
adata = sc.AnnData(df,
df.index.to_frame(),
df.columns.to_frame())
Вторая запись — имена клеток, третья запись — имена генов.