Closed lucavd closed 1 year ago
non mi risulta, infatti il test
test_that("get_proteingroups_filepath works", {
# setup
prot_22 <- compose_pxds(c(1, 4, 22, 44))
# eval
res <- pull_pxd_listfile(prot_22) |>
extract_with_proteins() |>
get_proteingroups_filepath() |>
suppressMessages()
# test
expect_character(res, pattern = "proteinGroups\\.txt$", len = 2)
purrr::walk(res, expect_file_exists)
})
mostra proprio quello.
Riesci a mandarmi un reprex? (o a scrivere direttamente un test che fallisca?)
questa fallisce
test_that("get_proteingroups_filepath works", {
# setup
prot_22 <- compose_pxds(c(22, NA))
# eval
res <- pull_pxd_listfile(prot_22) |>
extract_with_proteins() |>
get_proteingroups_filepath() |>
read_proteingroups()
# test
expect_tibble(res)
})
Il problems è in extract_with_proteins()
perché se non trova il PXD, restituisce un NA che se passato a get_proteingroups_filepath()
dà errore come sopra. Bisognerebbe "pulire" il vettore di caratteri che esce da extract_with_proteins()
ed eliminare tutti gli NA
prima di passarlo a get_proteingroups_filepath()
.
ok, ma non capisco perché richiedere
compose_pxds(c(22, NA))
hai un esempio "realistico"? In ogni caso ok, per check and fix. 👍
Un esempio realistico è:
pxds <- compose_pxds(1:40) #scan per i primi 40 entries nella repo
pxd_list <- pull_pxd_listfile(pxds) #lista dei file per ogni pxd (i primi 40)
have_prot_gropus <- extract_with_proteins(pxd_list) #retrieve di quelli che hanno "proteinGroups.txt"
> have_prot_gropus
[1] NA NA NA NA "PXD000022"
[6] NA NA NA NA NA
Che è giusto: dei primi 40 repo solo 10 sono veri (gli altri sono skippati) e solo 1 ha il file che cerchiamo
Il problema è che pull_pxd_listfile()
ha NA per alcuni PXD, ovvero non hanno proprio alcun file...
ora, bisogna decidere se eliminarli da quel risultato o gestire gli NA in input a extract_with_proteins()
Non ci interessano gli NA. Sono repo inesistenti. Possiamo eliminarli
On Wed, Mar 8, 2023, 21:04 Corrado Lanera @.***> wrote:
Il problema è che pull_pxd_listfile() ha NA per alcuni PXD, ovvero non hanno proprio alcun file... ora, bisogna decidere se eliminarli da quel risultato o gestire gli NA in input a extract_with_proteins()
— Reply to this email directly, view it on GitHub https://github.com/UBESP-DCTV/simulomicsr/issues/7#issuecomment-1460791833, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4JXGCQN3KASSKKNODGWBDW3DQ5BANCNFSM6AAAAAAVRK4Q64 . You are receiving this because you authored the thread.Message ID: @.***>
La funzione
extract_with_proteins
restituisce un vettore di caratteri conNA
quando non è presente il file "proteinGroups.txt".Quindi
get_proteingroups_filepath
cerca nel database online un PXD di nome "NA" che ovviamente non esiste.I test passano perché tutti i PXD nei test sono veri, senza NA.
Forse nella funzione
extract_with_proteins
ci va unpurrr::discard(is.na)
o una cosa simile per levare tutti gli NA. Ho provato ma mi dà altri errori quindi forse non lo uso correttamente