FranciscoAscue / Rgenomics

Genomics with R
https://franciscoascue.github.io/Rgenomics/
1 stars 0 forks source link

Rgenomics/modulo7 #4

Open utterances-bot opened 8 months ago

utterances-bot commented 8 months ago

Genomics web - Fundamentos de NGS

https://franciscoascue.github.io/Rgenomics/modulo7.html

FranciscoAscue commented 8 months ago

Descarga de reads con R


## Descargar el Genoma
download.file("ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_1.fastq.gz", "SRR15616380_1.fastq.gz")
download.file("ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_2.fastq.gz", "SRR15616380_2.fastq.gz")

## Instalar R.util

install.packages("R.utils")
library(R.utils)

## Descomprimir nuestras secuencias

gunzip("SRR15616380_1.fastq.gz")
gunzip("SRR15616380_2.fastq.gz")

Conteo de Kmeros con R

Instalación de Jellyfish

# sudo apt update
sudo apt install jellyfish

Conteo de kmeros

jellyfish count -t 8 -C -m 19 -s 1G -o 19mer_out --min-qual-char=? SRR15616380_1.fastq ## Solo un read
jellyfish histo -o 19mer_out.histo 19mer_out
### Con ambos reads
jellyfish count -t 8 -C -m 19 -s 1G -o 19mer_out --min-qual-char=? *.fastq

Estimación del tamaño de Genoma en R


## Cargar el histograma

dataframe19 <- read.table("19mer_out.histo")

## Plot de profundidad vs Frecuencia

plot(dataframe19[2:200,], type="l")

## Plot con puntos y linea

plot(dataframe19[2:200,], type="l") # traza el gráfico de línea
points(dataframe19[2:200,]) # traza los puntos de datos del 2 al 100

## Determinar el pico inspeccionado la region

dataframe19[40:80,] ## detectamos la profundidad en 60

## Calculas el tama;o del genoma

sum(as.numeric(dataframe19[2:200,1]*dataframe19[2:200,2]))/60
## ~ 669 kb
FranciscoAscue commented 7 months ago

Desafio Grupo 2

Realizar el conteo de k-mers considerando tamaños diferentes de K-mers usando las secuencias proporcionadas para este modulo 7 :

download.file("ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_1.fastq.gz", "SRR15616380_1.fastq.gz")
download.file("ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_2.fastq.gz", "SRR15616380_2.fastq.gz")

Para ello debe utilizar la terminal de WSL (Windows Subsystem Linux) instalando el programa Jellyfish:

sudo apt update 
sudo apt install jellyfish

Finalmente deben proporcionar un plot de distribucion de tamaños de kmeros y el tamaño promedio de genoma que calcularon entre los diferentes tamaños de kmers:

Ejemplo plot: plotbasico

Tamaño de genoma promedio : 653 kb

Ejemplo ggplot2: kmersggplot

Tamaño de genoma promedio : 670 kb

IVANmt7 commented 7 months ago

Hola Fransisco,

para correr el perfil de cameros y visualizar el histograma, porque no se usa el output de trim_galore, con el fastq trimado? Te pregunto porque con el pipeline sin el archivo trimado mi histograma es diferente.

FranciscoAscue commented 7 months ago

@IVANmt7 Hola Ivan en ese programa el tamaño de los kmers considerado son mas pequeños, con jellyfish puedes ampliar el tamaño de k-mers y esta optimizado para este análisis. Si te preocupa la forma del histograma , recuerda que la distribucion solo es un paso para calcular la profundidad media y al momento de realizar la división con la area bajo de curva se estandariza el calculo del tamaño de genoma. Entonces si haces el trimado o no, puedes ver que las frecuencias bajas que corresponde a los errores estan en 1X de profundidad y esa parte no se utiliza para el cálculo de tamaño de genoma.

cre12-21 commented 7 months ago

Tarea

Tamaño de genoma promedio : 660 kb

Luis Alberto Allccahuaman Huauya

vhacha commented 7 months ago

!(https://drive.google.com/file/d/1K2AN9rlKc5dpfO-eVFprsWjbnOTGgLnT/view?usp=sharing)

juan-uaslp commented 7 months ago

https://1drv.ms/b/s!AijcEQDIGC0cg9A5RpnzWE-4EPGUKA?e=rud7An

Jose Juan Torres

IVANmt7 commented 7 months ago

Tamaño del genoma: 671 y 658 KB

IVANmt7 commented 7 months ago

https://photos.onedrive.com/share/5F0A26C8F615C442!3505?cid=5F0A26C8F615C442&resId=5F0A26C8F615C442!3505&authkey=!AO1UwAC3w_9-Skw&ithint=photo&e=t8HnZw

JuanFaya commented 7 months ago

Trabajo solicitado K-mers

ClaudiaHuancaParedes commented 7 months ago

Desafío conteo de K-mers

https://1drv.ms/b/s!AltedpelGx7EgzEh3sgEuzRH-WpX

RodriGranados commented 7 months ago

Imagen2

CarolaMP commented 7 months ago

Trabajo presentado por Ada Carola Mamani Pereyra https://drive.google.com/file/d/1sYxzBx4rXSkJ2vnVvJYQEDsHXXQHDFgt/view?usp=sharing

1996DOUGLAS commented 7 months ago

Tarea de Douglas Sánchez Zárate https://drive.google.com/file/d/1P587DsC1XBVfuC4GEOXvaPLeEIbdHcuA/view?usp=drive_link

1996DOUGLAS commented 7 months ago

Tarea de Douglas Sánchez (con acceso) https://drive.google.com/file/d/1P587DsC1XBVfuC4GEOXvaPLeEIbdHcuA/view?usp=sharing

1996DOUGLAS commented 7 months ago

Tarea de Luz Fernanda Dominguez Mendoza: https://drive.google.com/file/d/1Zcj8htB8nre3-1pKWevqYRvdF5Pn63pv/view?usp=sharing

carlos-770 commented 7 months ago

Carlos Toro k-mer

juancinhohub commented 7 months ago

Juan López Villafuerte Tarea_Kmer.docx

Giraldo82 commented 7 months ago

5f14354a-f460-40ef-a4e8-360e92aa520a

Para el análisis se utilizó ambos fastq.

Tamaño promedio del genoma con K-mers de 21: 638 kb Tamaño promedio del genoma con K-mers de 23: 631 kb

Jorge Amílcar Giraldo Chávez

camilac09 commented 7 months ago

Tarea de Camila Cubas Céspedes Conteo de K-mers.docx

evelynlesoleil1423 commented 7 months ago

Captura desde 2023-11-20 02-58-17

evelynlesoleil1423 commented 7 months ago

Se considero ambos reads para el conteo de K-mers en el codigo de jellyfish

Baslavi commented 7 months ago

Desafio - Integrantes: Báslavi Marisbel Cóndor Luján y Juan Carlos Francia Quiroz Desafio_Grupo2-K-mers_BMCóndorLuján-JCFranciaQuiroz

FranciscoAscue commented 6 months ago

GRUPO 3

gmoreno993 commented 6 months ago

Integrantes:

Gerald Moreno Morales

Grecia Pavia Melgar

Milagros Leiva Galarza

Genoma elegido: bacteriaPasteurella multocida aislada de hisopado oral de perro

tamaño de genoma según referencias : 2.5 - 2.7 Mb

paquetes

library(R.utils)

tarea grupal

paquetes

library(R.utils)

tarea grupal

setwd("~/Documentos/flytek/R")

genoma de Pasteurella multocida de canino

gunzip("SRR6715631.fastq.gz")

conteo con jellyfich en la terminal

Kmer=21

jellyfish count -t 8 -C -m 21 -s 1G -o 21mer_out --min-qual-char=? SRR6715631.fastq

jellyfish histo -o 21mer_out.histo 21mer_out

el archivo obtenido es 21mer_out

data21 <- read.table("21mer_out.histo")

plot(data21[1:400,], type="l") plot(data21[2:400,], type="l")

plot(data21[5:200,],type="l", main = "Kmer = 21")

graficando histograma de kmers

points(data21[5:200,]) # traza los puntos de datos del 5 al 200 summary(data21[30:50,2]) data21[30:50,] profundidadk21 <- 36

profundidad = 36X

nùmero de kmeros en la distribución

sum(as.numeric(data21[2:200,1]data21[2:200,2])) sum(as.numeric(data21[2:200,1]data21[2:200,2]))/36

tamaño del genoma = 2503858 pb o 2,5 Mb

conteo con jellyfich en la terminal

Kmer=23

jellyfish count -t 4 -C -m 23 -s 1G -o 23mer_out --min-qual-char=? SRR6715631.fastq

jellyfish histo -o 23mer_out.histo 23mer_out

el archivo obtenido es 23mer_out

data23 <- read.table("23mer_out.histo")

plot(data23[1:400,], type="l") plot(data23[2:400,], type="l")

plot(data23[5:200,],type="l", main = "Kmer = 23")

plot(data23[5:200,], type="l")

graficando histograma de kmers

points(data23[5:200,]) # traza los puntos de datos del 5 al 200 summary(data23[30:50,2]) data21[30:50,] profundidadk23 <- 36

profundidad = 36X

nùmero de kmeros en la distribución

sum(as.numeric(data23[2:200,1]data23[2:200,2])) sum(as.numeric(data23[2:200,1]data23[2:200,2]))/36

tamaño del genoma = 2458927 pb o 2,5 Mb

Rplot02 Rplot03

JuanMayeda commented 6 months ago

Integrantes: Juan Diego Mayeda Rodríguez

Descargar el Genoma

download.file("ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_1.fastq.gz", "SRR15616380_1.fastq.gz")

Instalar paquetes

install.packages("R.utils") library(R.utils)

Descomprimir nuestras secuencias

gunzip("SRR15616380_1.fastq.gz")

Ejecutar en Jellyfish

K-mere 18

jellyfish count -t 8 -C -m 18 -s 1G -o 18mer_out --min-qual-char=? SRR15616380_1.fastq

jellyfish histo -o 18mer_out.histo 18mer_out

K-mere 19

jellyfish count -t 8 -C -m 19 -s 1G -o 19mer_out --min-qual-char=? SRR15616380_1.fastq

jellyfish histo -o 19mer_out.histo 19mer_out

K-mere 20

jellyfish count -t 8 -C -m 20 -s 1G -o 20mer_out --min-qual-char=? SRR15616380_1.fastq

jellyfish histo -o 20mer_out.histo 20mer_out

Cargar histogramas

dataframe18 <- read.table("18mer_out.histo")

dataframe19 <- read.table("19mer_out.histo")

dataframe20 <- read.table("20mer_out.histo")

Determinar el pico inspeccionado la region

dataframe18[40:80,] ## detectamos la profundidad en 61 summary(dataframe18[40:80,2])

dataframe19[40:80,] ## detectamos la profundidad en 60 summary(dataframe19[40:80,2])

dataframe20[40:80,] ## detectamos la profundidad en 59 summary(dataframe20[40:80,2])

Calcular el tamano del genoma

sum(as.numeric(dataframe18[2:200,1]*dataframe19[2:200,2]))/61

~ 658.3 kb

sum(as.numeric(dataframe19[2:200,1]*dataframe19[2:200,2]))/60

~ 669.3 kb

sum(as.numeric(dataframe20[2:200,1]*dataframe19[2:200,2]))/59

~ 680.6 kb

Presentación de plots por separado

par(mfrow=c(1,3))

plot(dataframe18[2:200,], type="l",col = "red") # traza el gráfico de línea points(dataframe18[2:200,],col = "red") # traza los puntos de datos del 2 al 100 abline(v=61,col = "red") title("K-mere = 18 - Genome = 658.3 kb")

plot(dataframe19[2:200,], type="l", col = "blue") # traza el gráfico de línea points(dataframe19[2:200,], col = "blue") # traza los puntos de datos del 2 al 100 abline(v=60, col = "blue") title("K-mere = 19 - Genome = 669.3 kb")

plot(dataframe20[2:200,], type="l", col = "black") # traza el gráfico de línea points(dataframe20[2:200,], col = "black") # traza los puntos de datos del 2 al 100 abline(v=59, col = "black") title("K-mere = 20 - Genome = 680.6 kb")

Imagen del gráfico

https://drive.google.com/file/d/1OlXBI0tQI0AYBGt4cg8GwSX63WeBjKfF/view?usp=sharing

Presentación de plots en un solo gráfico

par(mfrow=c(1,1)) plot(dataframe18[2:200,], type="l", col = "red") abline(v=61,col = "red") lines(dataframe19[2:200,], type="l", col = "blue") abline(v=60, col = "blue") lines(dataframe20[2:200,], type="l", col = "black") abline(v=59, col = "black") legend(95,20000, legend = c("K-mere = 18 - Genome = 658.3 kb","K-mere = 19 - Genome = 669.3 kb","K-mere = 20 - Genome = 680.6 kb"),col = c("red","blue","black"),lty=1,cex = 1)

Imagen del gráfico

https://drive.google.com/file/d/14xwZXjj9kHXJ4qXfDq6tVjgOoOKmBh1p/view?usp=sharing

CynthiaSJC commented 6 months ago

Integrantes:

Cynthia Julcapoma Aiko Vigo Angelica Delgado

Código aplicado

##EJECUTARLO EN LA TERMINAL CONSIDERANDO SOLO 4 NUCLEOS -- 22
# jellyfish count -t 4 -C -m 22 -s 1G -o 22mer_out --min-qual-char=? SRR15616380_1.fastq
## CREAR EL HISTOGRAMA
# jellyfish histo -o 22mer_out.histo 22mer_out

##Creacion del histograma - 22 kmers
dataframe22 <- read.table("22mer_out.histo")
plot(dataframe22[2:200,], type="l", main="22-mers - 704.5 kb", xlab="depth", ylab="Frecuency")
dataframe22[40:80,]
abline(v=57,col = "red")

##Tamaño de genoma
sum(as.numeric(dataframe19[2:200,1]*dataframe19[2:200,2]))/57
# 704481.1 

##EJECUTARLO EN LA TERMINAL CONSIDERANDO SOLO 4 NUCLEOS -- 26
# jellyfish count -t 4 -C -m 26 -s 1G -o 26mer_out --min-qual-char=? SRR15616380_1.fastq
## CREAR EL HISTOGRAMA
# jellyfish histo -o 26mer_out.histo 26mer_out

##Creacion del histograma - 26 kmers
dataframe26 <- read.table("26mer_out.histo")
plot(dataframe26[2:200,], type="l", main="26-mers - 772.2 kb", xlab="depth", ylab="Frecuency")
dataframe26[40:80,]
abline(v=52,col = "red")

##Tamaño de genoma
sum(as.numeric(dataframe19[2:200,1]*dataframe19[2:200,2]))/52
# 772219.7 

Enlaces

22-mers 26-mers

BioinfoMD commented 6 months ago

##Trabajo conteo de K-mers (Módulo 7) ##Integrantes: Joan Villamil, David Machuca, Shirlay Valeriano

Descargamos uno de los dos archivos para poder hacer el conteo de kmers.

download.file("ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_1.fastq.gz", "SRR15616380_1.fastq.gz")

Luego, activamos la herramiento R.utils para poder descomprimir este archivo.

library(R.utils)

Ejecutamos gunzip para descomprimir el archivo.

gunzip("SRR15616380_1.fastq.gz")

Ahora desde la terminal, en este caso nosotros usamos Linux Ubuntu, ejecutamos el comando para el conteo de K-mers:

jellyfish count -t 10 -C -m 23 -s 1G -o 23mer_out --min-qual-char=? SRR15616380_1.fastq

Posteriormente, desde la terminal ejecutamos el siguiente comando para crear la grafica (histograma):

jellyfish histo -o 23mer_out.histo 23mer_out

Luego cargamos el conteo de K-mers en nuestro R.

data.frame23 <- read.table("23mer_out.histo")

Realizamos un plot colocandole un título y subtítulo específico, además, de una linea punteada de color rojo que atraviesa verticalemente y por la mitad:

plot(data.frame23[2:200,], type="l", xlab="Profundidad", ylab="Frecuencia") title(main = "K-mer=23") mtext("Tamaño del genoma ~ 674 Kb", side = 3, line = 1, adj = 0.5) indice_maximo <- which.max(data.frame23[2:200, "V2"]) abline(v = indice_maximo, col = "red", lty = 2)

Vamos a buscar cual es el conteo de k-mers mas alto para conocer cual es su profundidad:

summary(data.frame23[40:80,2])

Al revisar el dataframe encontramos que el valor mas alto de K-mers es de 27393 con una profundidad de 56.

profundidad <- 56

Finalmente usamos el siguiente código para concoer el tamaño aproximado del genoma.

sum(as.numeric(data.frame23[2:200,1]*data.frame23[2:200,2]))/profundidad

[1] 674623.1 ## Tamaño aprox del genoma: ~ 674 Kb

Rplot_KmersCount

chalcogonzalez commented 6 months ago

Integrantes: ADRIÁN CHALCO

Desafío 1

Obtención de datos

datos <- read.csv("https://raw.githubusercontent.com/FranciscoAscue/Rgenomics/master/data.csv")

Activación de paquetes requeridos

library(dplyr) library(ggplot2)

Filtrado de los datos para obtener sólo los del index5

data<-datos%>%filter(Index==5)

Creación del boxplot para la altura

ggplot(data=data, aes(x=Genero, y=Altura, fill=Genero))+ labs(title= "Distribución de la altura de acuerdo al género", x="Género", y="Altura", fill="Leyenda")+ geom_boxplot(alpha=0.7) + theme_gray() + geom_jitter() + facet_wrap(~Genero, scales="free")

Creación del boxplot para el peso

ggplot(data=data, aes(x=Genero, y=Peso, fill=Genero))+ labs(title= "Distribución del peso de acuerdo al género", x="Género", y="Peso", fill="Leyenda")+ geom_boxplot(alpha=0.7) + theme_gray() + geom_jitter() + facet_grid(~Genero, scales="free", space = "free") Altura Peso

albertino127 commented 6 months ago

Parte 2 Grafico con ggplot

albertino127 commented 6 months ago

Parte 1 Seleccion subconjunto de datos con Index 5

albertino127 commented 6 months ago

Grupo Integrado por:

1.- PRIMERA PARTE: SELECCIÓN DE SUBCONJUNTO DE DATOS CON Index 5 install.packages("dplyr") library(dplyr)

install.packages("BiocManager") library(BiocManager)

BiocManager::install("ggplot2") library(ggplot2)

FILTRAR DATOS

datos <- read.csv("https://raw.githubusercontent.com/FranciscoAscue/Rgenomics/master/data.csv") datos <- read.csv("https://raw.githubusercontent.com/FranciscoAscue/Rgenomics/master/data.csv")

Filtrar filas con Index 5

datos <- read.csv("https://raw.githubusercontent.com/FranciscoAscue/Rgenomics/master/data.csv")

filaIndex5 <- datos %>% filter(Index == 5)

2.- SEGUNDA PARTE: GRÁFICO CON ggplot library(ggplot2)

ggplot(data = datos, aes(x=Genero, y=Peso, fill=Genero)) + geom_boxplot() + labs(title = "Diagrama de Cajas y Bigotes de Femeninos y Masculinos")

Ricardocalle23 commented 6 months ago

Desafío tamaño genoma Kmers Ricardo Aldahir Calle Cordova https://drive.google.com/file/d/1-MebWQUqNmqM2XlMUk2HS0rxkiVro_iK/view?usp=sharing

Ricardocalle23 commented 6 months ago

Desafío Index 5 Ricardo Aldahir Calle Cordova

Script library(ggplot2)

data <- read.csv("https://raw.githubusercontent.com/FranciscoAscue/Rgenomics/master/data.csv")

grupofilaindex5 <- data %>% filter(Index == 5)

ggplot(data = data, aes(x=Genero, y=Peso, fill=Genero)) + geom_boxplot() + labs(title = "Plot para grupos Femeninos y Masculinos en Index 5")

Resultado plot: https://drive.google.com/file/d/1rgeijsbbdodTvqB_EIMvlZoprX_zNyXN/view?usp=sharing

Scrip R: https://drive.google.com/file/d/1k8GIszP1lgUGLni-ItWpLx6Z4VCCHSYq/view?usp=sharing

Francis-mc commented 6 months ago

Tarea del módulo 7: Conteo de Kmeros Conteo de Kmeros

gmoreno993 commented 6 months ago

Buenas noches, en caso de que no haya visto mi tarea la comparto por este correo grupal. Integrantes: Gerald Moreno Grecia Pavia Milagros Leiva https://github.com/FranciscoAscue/Rgenomics/issues/4#issuecomment-1865503326

Obtener Outlook para Androidhttps://aka.ms/AAb9ysg


From: Francis-mc @.> Sent: Sunday, December 31, 2023 11:20:06 PM To: FranciscoAscue/Rgenomics @.> Cc: gmoreno993 @.>; Comment @.> Subject: Re: [FranciscoAscue/Rgenomics] Rgenomics/modulo7 (Issue #4)

Tarea del módulo 7: Conteo de Kmeros Conteo.de.Kmeros.png (view on web)https://github.com/FranciscoAscue/Rgenomics/assets/52510911/12011761-4f16-4307-b491-4f8d8375a904

— Reply to this email directly, view it on GitHubhttps://github.com/FranciscoAscue/Rgenomics/issues/4#issuecomment-1873144814, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BEXZU7JV3UEHQQOETU7LDGLYMI2PNAVCNFSM6AAAAAA6UQWEZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZTGE2DIOBRGQ. You are receiving this because you commented.Message ID: @.***>

FranciscoAscue commented 4 months ago

https://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_2.fastq.gz

FranciscoAscue commented 4 months ago

https://ftp.sra.ebi.ac.uk/vol1/fastq/SRR156/080/SRR15616380/SRR15616380_1.fastq.gz

srm78d commented 4 months ago

Hola he utilizado esto comandos para instalar fastqc.

Paso 1 sudo apt-get update -y

Paso 2 sudo apt-get install -y fastqc