AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-22434294

sjri's questions

Martin Hope
nicholaspooran
Asked: 2025-04-07 16:19:04 +0800 CST

Como deslocar os rótulos da direita para a esquerda? [duplicado]

  • 6
Esta pergunta já tem uma resposta aqui :
Alternar os ticks do eixo y em coordenadas invertidas com facetas (1 resposta)
Fechado ontem .

Estou usando ggplot2 em R para criar um gráfico de pontos onde o eixo x é o nome da variável e o eixo y é o ID da linhagem celular. O gráfico é facetado por uma variável de grupo ("Formação de focos", "Ágar mole", "Crescimento de Matrigel 3D").

Quero girar ou inverter todo o gráfico horizontalmente, para que:

O que atualmente está à esquerda se torna à direita (e vice-versa).

Os rótulos das facetas (atualmente à esquerda) são movidos para o lado direito.

As etiquetas de identificação (atualmente à direita) são movidas para o lado esquerdo.

Resumindo, quero uma imagem espelhada do gráfico atual no eixo vertical, como uma rotação de 180 graus ao longo do eixo y.

Aqui está o código e os dados que estou usando:

library(dplyr)
library(tidyverse)
library(ggplot2)

df1 <- structure(list(ID = c("OVCAR3", "OVCR", "AFC", "OVCAR3", "OVCR", "AFC", 
                             "OVCAR3", "OVCR", "AFC"), 
                     V = c(1.467, 1.402, 1.445, 1.48, 1.313, 1.418, 1.5, 1.456, 1.489), 
                     N = c(0.823, 0.762, 0.34, 0.738, 0.739, 0.533, 0.891, 0.904, 0.412), 
                     A = c(0.734, 0.771, 1.098, 0.793, 0.799, 0.938, 1.12, 0.853, 1.076), 
                     `N+A` = c(-1.075, -0.577, -0.832, -1.025, -0.633, -0.977, -1.21, -0.517, -1.032), 
                     C = c(-0.239, 0.342, 0.33, -0.314, 0.341, 0.202, -0.324, 0.303, 0.207), 
                     `N+C` = c(-1.403, -1.002, -1.162, -1.5, -1.106, -1.22, -1.329, -1.043, -1.164), 
                     T = c(0.113, 0.487, 0.393, -0.105, 0.336, 0.366, 0.089, 0.329, 0.275), 
                     `N+T` = c(-1.25, -1.045, -1.066, -1.206, -0.981, -0.928, -1.321, -1.12, -1.032), 
                     Group = c("Foci formation", "Foci formation", "Foci formation", 
                               "Soft agar", "Soft agar", "Soft agar", 
                               "3D Matrigel growth", "3D Matrigel growth", "3D Matrigel growth")),
                class = "data.frame", row.names = c(NA, -9L))

# Convert to long format
df_long <- df1 %>% 
  pivot_longer(cols = V:`N+T`, names_to = "Variable", values_to = "Z_score")

# Create dot plot
ggplot(df_long, aes(x = Variable, y = ID, color = Z_score, size = abs(Z_score))) +
  geom_point() +
  facet_grid(rows = vars(Group), scales = "free_y", space = "free_y") +
  scale_color_gradient2(low = "blue", mid = "white", high = "red", midpoint = 0) +
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    strip.text.y = element_text(angle = 0)
  ) +
  labs(x = "Variables", y = "Cell Line", color = "Z-Score", size = "Magnitude")

saída:

saída

  • 2 respostas
  • 38 Views
Martin Hope
nicholaspooran
Asked: 2025-03-28 14:11:14 +0800 CST

Como obter frequência de alelos baseada na população para variantes em um gene usando API?

  • 6

Estou tentando buscar detalhes de variantes, incluindo frequência de alelos populacionais ( af) , do banco de dados gnomAD usando a API GraphQL. No entanto, a consulta não retorna frequência de alelos para populações. Quando adiciono afunder populations, recebo o seguinte erro:

GraphQLError: Cannot query field 'af' on type 'VariantPopulation'. Did you mean 'ac' or 'an'?

GraphQL request:10:9
 9 |         populations {
10 |         af
   |         ^
11 |         id

Minha pergunta:

from gql import gql, Client
from gql.transport.aiohttp import AIOHTTPTransport

# GraphQL query to fetch variant details
query = gql(
"""
query VariantsInGene {
    gene(gene_symbol: "PTH", reference_genome: GRCh38) {
        variants(dataset: gnomad_r4) {
            variant_id
            pos
            exome {
                af
                populations {
                    id
                    af
                }
            }
        }
    }
}
"""
)

res = await client.execute_async(query)

O que eu tentei:

  • Buscando frequência de alelo ( af) no nível do exoma (funciona bem).
  • Adicionar afdentro populations(causa o erro).
  • Verificando campos disponíveis para VariantPopulation(sugere ace an, mas não af).

Pergunta:

Como posso recuperar a frequência do alelo ( af) por população no gnomAD GraphQL? Se eu remover af da consulta, ele executa, mas nenhum af é recuperado para populações:

graphql
  • 1 respostas
  • 21 Views
Martin Hope
nicholaspooran
Asked: 2024-08-03 13:53:26 +0800 CST

Rótulos em ggplot2 estão colocando pontos errados ao adicionar rótulos de texto

  • 7

Estou tentando adicionar rótulos de texto a pontos em um gráfico de dispersão usando ggplot2 em R. No entanto, depois de adicionar os rótulos de texto, os pontos associados a esses rótulos estão sendo perdidos. Aqui está uma versão simplificada do meu código:

library(ggplot2)
library(ggrepel)
library(dplyr)

df = data.frame(structure(list(FC = c(4.712, 4.8264, 0.078026, 0.098754, 11.612, 
0.21181, 6.1715, 0.15113, 0.19936, 0.23572, 0.23564, 6.9851, 
5.2465, 12.641, 4.4164, 0.24834, 7.4598, 5.1384, 0.18861, 0.24986
), log2FC = c(2.2363, 2.271, -3.6799, -3.34, 3.5375, -2.2391, 
2.6256, -2.7261, -2.3266, -2.0849, -2.0853, 2.8043, 2.3914, 3.6601, 
2.1429, -2.0096, 2.8991, 2.3613, -2.4065, -2.0008), Identifier = 1:20), row.names = c("3-Indoleacetic acid", 
"4-Hydroxyphenylpyruvic acid", "Adenine", "Adenosine", "alpha-Ketoglutaric acid", 
"C10", "C18:1OH", "Deoxyadenosine", "Deoxycytidine", "Deoxyguanosine", 
"Histamine", "Homocitrulline", "Indolelactic acid", "Kynurenine", 
"Leucine", "LysoPC a C20:4", "N-Acetylputrescine", "Phenylalanine", 
"Phenylethylamine", "Spermidine"), class = "data.frame"))


show.names = c("Kynurenine", "alpha-Ketoglutaric acid", "N-Acetylputrescine", "Homocitrulline", "C18:1OH", "Deoxycytidine", "Phenylethylamine", "Deoxyadenosine", "Adenosine", "Adenine")

p1 = ggplot(df, aes(x = Identifier, y = log2FC)) +
     geom_point(aes(color = log2FC >= 0)) +
     scale_color_manual(name = "Group", values = c("red", "blue"), labels = c("Down", "Up")) +
     geom_text_repel(data = df[rownames(df) %in% show.names,], aes(label = show.names)) +
     geom_hline(yintercept = 0, linetype = "solid") +
     labs(x = "Compounds", y = "Log2 Fold Change") + theme_minimal()
p1

saída

No gráfico resultante, os pontos não estão alinhados corretamente com seus rótulos. Por exemplo, "Quinurenina" tem valores positivos (3,6601), mas são exibidos na área de valor negativo (próximo de -4) do gráfico

Alguém poderia me ajudar a entender por que os pontos ficam perdidos quando adiciono rótulos de texto e como posso corrigir esse problema?

  • 1 respostas
  • 19 Views
Martin Hope
nicholaspooran
Asked: 2023-12-14 13:15:05 +0800 CST

Como combinar vários gráficos em R?

  • 7

Quero organizar o enredo em uma ordem específica.

library(ggpubr)
data("ToothGrowth")
data("mtcars")
mtcars$name <- rownames(mtcars)
mtcars$cyl <- as.factor(mtcars$cyl)

# create boxplot
bxp <- ggboxplot(ToothGrowth, x = "dose", y = "len", color = "dose", palette = "jco")
# create dotplot
dp <- ggdotplot(ToothGrowth, x = "dose", y = "len", color = "dose", palette = "jco", binwidth = 1)

# create scatterplot
sp = ggscatter(mtcars, x = "wt", y = "mpg", add = "reg.line", conf.int = TRUE, color = "cyl", palette = "jco", shape = "cyl")+
  stat_cor(aes(color = cyl), label.x = 3)
# arrange the plots
ggarrange(sp,                                                 # First row with scatter plot
          ggarrange(bxp, dp, ncol = 2, labels = c("B", "C")), # Second row with box and dot plots
          nrow = 2, 
          labels = "A")                                       # Labels of the scatter plot

Organizar os gráficos dessa maneira me deu o resultado.

saída

Mas quero que a saída de outra maneira, como o gráfico de dispersão, esteja no painel inferior e bx e bp no painel superior. tentei

ggarrange(bxp, dp, ggarrange(sp, labels = c("C"), nrow = 1),
         nrow = 2, ncol = 2, labels=c("A", "B"))

Mas me deu o seguinte:

saída2

O gráfico de dispersão não é preenchido no painel inferior. Está em um canto do painel

  • 1 respostas
  • 31 Views
Martin Hope
sjri
Asked: 2023-09-02 00:43:03 +0800 CST

Como clonar linhas com uma condição específica?

  • 6

Eu tenho alguns hiperlinks em um arquivo de texto. Quero comparar o link da primeira linha com a próxima linha adjacente e criar links conforme o número? Por exemplo,

Considere os links adjacentes abaixo

https://gp.to/ab/394/las69-02-09-2020/
https://gp.to/ab/394/las69-02-09-2020/4/

Aqui o arquivo de saída será:

https://gp.to/ab/394/las69-02-09-2020/
https://gp.to/ab/394/las69-02-09-2020/2/
https://gp.to/ab/394/las69-02-09-2020/3/
https://gp.to/ab/394/las69-02-09-2020/4/

Da mesma forma, preciso fazer para outras linhas....

Exemplo de entrada:

https://gp.to/ab/394/las69-02-09-2020/
https://gp.to/ab/394/las69-02-09-2020/4/
https://gp.to/ab/563/dimp-02-07-2023/
https://gp.to/ab/39443/omegs-02-07-2023/
https://gp.to/ab/39443/omegs-02-07-2023/3/
https://gp.to/ab/39443/lis-22-04-2018/
https://gp.to/ab/39443/lis-22-04-2018/2/
https://gp.to/ab/39443/madi-22-04-2018/
https://gp.to/ab/39443/madi-22-04-2018/5/

Exemplo de saída:

https://gp.to/ab/394/las69-02-09-2020/
https://gp.to/ab/394/las69-02-09-2020/2/
https://gp.to/ab/394/las69-02-09-2020/3/
https://gp.to/ab/394/las69-02-09-2020/4/
https://gp.to/ab/563/dimp-02-07-2023/
https://gp.to/ab/39443/omegs-02-07-2023/
https://gp.to/ab/39443/omegs-02-07-2023/2/
https://gp.to/ab/39443/omegs-02-07-2023/3/
https://gp.to/ab/39443/lis-22-04-2018/
https://gp.to/ab/39443/lis-22-04-2018/2/
https://gp.to/ab/39443/madi-22-04-2018/
https://gp.to/ab/39443/madi-22-04-2018/2/
https://gp.to/ab/39443/madi-22-04-2018/3/
https://gp.to/ab/39443/madi-22-04-2018/4/
https://gp.to/ab/39443/madi-22-04-2018/5/

Tentei..

# Function to extract the number from a URL
def extract_number(url):
    parts = url.split('/')
    for part in parts[::-1]:
        if part.isdigit():
            return int(part)
    return None

# Read the input file
with open('input.txt', 'r') as input_file:
    lines = input_file.readlines()

output_lines = []

# Iterate through the input lines and generate output lines
for i in range(len(lines)):
    current_url = lines[i].strip()
    output_lines.append(current_url)

    if i + 1 < len(lines):
        next_url = lines[i + 1].strip()
        current_number = extract_number(current_url)
        next_number = extract_number(next_url)

        if current_number is not None and next_number is not None:
            for num in range(current_number + 1, next_number):
                new_url = current_url.rsplit('/', 1)[0] + '/' + str(num) + '/'
                output_lines.append(new_url)

# Write the output to a file
with open('output.txt', 'w') as output_file:
    output_file.writelines(output_lines)

Mas não obtive o resultado desejado.

  • 2 respostas
  • 28 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve