Если у меня есть град генетической таблицы, подобной этой, на моем ноутбуке Jupyter Python: < /p>
variant_qc
gq_stats info
locus alleles filters a_index was_split mean stdev min max call_rate n_called p_value_excess_het AC AF AN homozygote_count ...
locus array set int32 bool float64 float64 float64 float64 float64 int64 int64 int64 int64 int64 float64 float64 float64 array array int32 array
chr1:7756105 ["A","C"] {} 1 False 4.08e+01 3.98e+00 3.00e+00 9.90e+01 1.00e+00 414672 0 158 41333 42840 1.01e-01 1.79e-21 1.00e+00 [44347] [5.35e-02] 829344 [371832,1507]
chr1:8618725 ["C","G"] {} 1 True 8.29e+01 2.31e+01 1.00e+00 9.90e+01 1.00e+00 414829 0 1 2 2 4.82e-06 5.00e-01 5.00e-01 [2] [2.41e-06] 829658 [414827,0]
chr1:8618725 ["C","T"] {} 2 True 8.29e+01 2.31e+01 1.00e+00 9.90e+01 1.00e+00 414829 0 1 100530 403020 2.54e-01 1.05e-196 1.00e+00 [705510] [8.50e-01] 829658 [11809,302490]
< /code>
Если я заинтересован в столбце локуса и аллелей, вы можете увидеть некоторые варианты в первом столбце, называемом Locus, его повторяется, но с разными аллелями (2 -й столбец). Теперь, если у меня есть второй файл .txt, который я хочу использовать фильтр Приведенный выше таблицу: < /p>
CHR POS REF ALT A1 BETA
chr1 7756105 A C C -0.155523
chr1 8618725 C T C -0.13646
< /code>
Я хочу отфильтровать строки в первой таблице, которые не соответствуют текстовому файлу, например, Chr1: 8618725 ["c", "g"] пойдет из первой таблицы. < /p>
Ожидаемый выход: < /p>
variant_qc
gq_stats info
locus alleles filters a_index was_split mean stdev min max call_rate n_called p_value_excess_het AC AF AN homozygote_count ...
locus array set int32 bool float64 float64 float64 float64 float64 int64 int64 int64 int64 int64 float64 float64 float64 array array int32 array
chr1:7756105 ["A","C"] {} 1 False 4.08e+01 3.98e+00 3.00e+00 9.90e+01 1.00e+00 414672 0 158 41333 42840 1.01e-01 1.79e-21 1.00e+00 [44347] [5.35e-02] 829344 [371832,1507]
chr1:8618725 ["C","T"] {} 2 True 8.29e+01 2.31e+01 1.00e+00 9.90e+01 1.00e+00 414829 0 1 100530 403020 2.54e-01 1.05e-196 1.00e+00 [705510] [8.50e-01] 829658 [11809,302490]
< /code>
Код, который я пробовал: < /p>
# Load the filter file as a Pandas DataFrame
filter_df = pd.read_csv("list_uc_snp_list_sep.txt", sep="\t", dtype=str)
# Convert the filter file into a Hail Table
filter_ht = hl.Table.parallelize(
hl.literal(filter_df.to_dict(orient="records")),
hl.tstruct(CHR=hl.tstr, POS=hl.tstr, REF=hl.tstr, ALT=hl.tstr, A1=hl.tstr, BETA=hl.tstr)
)
# Create 'locus' and 'alleles' fields to match the Hail table
filter_ht = filter_ht.annotate(
locus=hl.locus(filter_ht.CHR, hl.int32(filter_ht.POS), reference_genome="GRCh38"),
alleles=[filter_ht.REF, filter_ht.ALT]
)
# Filter WGS_split_mt_full_list_ofSNPs by keeping only matching rows
filtered_mt = WGS_split_mt_full_list_ofSNPs.filter_rows(
hl.is_defined(filter_ht.key_by("locus", "alleles")[WGS_split_mt_full_list_ofSNPs.locus,
WGS_split_mt_full_list_ofSNPs.alleles])
)
< /code>
Но это не работает ... Я получаю ошибку при выполнении первого шага. Я никогда раньше не использовал Python, поэтому не знаю, как я смогу это сделать. Я свободно владею р. Есть ли способ преобразовать таблицу града в R, или, если нет, как я могу использовать Python ...
Подробнее здесь: https://stackoverflow.com/questions/794 ... orrect-row
Как отфильтровать генетическую таблицу града на основе файла A .txt с правильными строками? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Неверный максимальный размер кучи -Xmx0m при инициализации града в Python
Anonymous » » в форуме JAVA - 0 Ответы
- 57 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проверьте генетическую коллекцию с помощью SetValidator в Fluentvalidation.
Anonymous » » в форуме C# - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-