Número de copia BLAST local por acierto

Generé una serie de bases de datos BLAST locales usando makeblastdb de datos metagenómicos y estoy buscando la presencia de un gen en particular. Si bien puedo hacer el análisis BLAST normal observando valores electrónicos, % de identidad, etc. No he podido descubrir cómo determinar cuántas veces existe una secuencia determinada en la base de datos.

Entonces: dada una base de datos BLAST de datos metagenómicos donde un gen en particular puede existir varias veces, ¿cómo determino el número de copias de un éxito BLAST dado?

Gracias por adelantado.

Eso depende de cómo definas un golpe. ¿Estamos hablando de genes homólogos de diferentes especies? ¿Múltiples copias ligeramente diferentes del mismo gen en un solo genoma? ¿Múltiples copias idénticas de un solo gen que se repite en la base de datos?
Estoy definiendo un éxito basado en los resultados de BLAST: exploté seq1 contra la base de datos y devolvió seq2... seqn. Dependiendo de los cortes que use para las puntuaciones de bits/puntuaciones de identidad, etc., podría tener tres "hits": seq2, seq3 y seq4. Quiero saber cuántas veces apareció seq2 en los datos metagenómicos.

Respuestas (2)

  • Defina un "golpe" (basado en algún valor de corte, puntuación, etc.)
  • Obtener resultados en formato tabular
  • Cuente el número de aciertos por consulta: generalmente se proporciona en el encabezado; si desea buscar algunos resultados seleccionados (en función de algún límite, puede analizar el archivo y averiguarlo)

Archivo de ejemplo (encabezado):

# BLASTN 2.2.27+
# Query: TCONS_00036712 gene=XLOC_017996
# Database: ../nt_db/nt
# Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
# 1014 hits found

Si desea analizar el encabezado para buscar el número de visitas, puede ejecutar este comando en la terminal (si tiene awk, existe de manera predeterminada en Linux y otros sistemas basados ​​​​en Unix. Para Windows, instale gnuwin32).

awk -v OFS="\t" '/^# Query/{q=$3 FS $4} /^# .* hits found/{h[q]=$2} END{for(i in h){print i,h[i]}}' blastoutput.txt

Para obtener el número de aciertos para un criterio determinado (por ejemplo, acabo de definir el puntaje de bits [columna 12] para que sea> 400)

awk -F "\t" '!/^#/ && $12>400{a[$1]++} END{for(i in a){print i,a[i]}}' blastoutput.txt
Genial, pero ya lo tengo. Sé cuántos "éxitos", es decir, secuencias únicas, hay. Lo que quiero saber es cuántas veces la secuencia de hits dada está presente en mi conjunto de datos metagenómicos ensamblados.
@ user2030378 ¿Quieres buscar secuencias redundantes?

BLAST no es el programa correcto para usar en análisis metagenómicos para determinar la cantidad de lecturas que se asignan a una determinada región del genoma, ya que está optimizado para resultados únicos en lugar de una gran cantidad de resultados diferentes.

Es probable que la gran cantidad de aciertos dentro de una base de datos de metagenómica (que contiene una gran cantidad de datos redundantes) provoque un escalado ineficiente y un alto uso de memoria cuando se requiere la detección de todos los posibles aciertos.

Si el número de visitas requeridas es bajo, es posible que devuelva esas visitas, pero si busca más de 1000 visitas, probablemente se recomiende utilizar un programa de mapeo como BWA o Bowtie . Están diseñados con el propósito expreso de mapear lecturas (como las de un experimento RNASeq) en genomas.