Tengo un archivo 23andMe que enumera los SNP en el formulario:
rsid chromosome position genotype rsXXXXX 1 PPPPPP CT rsXXXXX 1 PPPPPP GG
Los campos están separados por TAB y cada línea corresponde a un solo SNP. Para cada SNP, se proporcionan cuatro campos de datos.
El genoma de referencia es la compilación de ensamblaje humano 37 (también conocida como Annotation Release 104).
¿Cómo fusiono los SNP en el genoma de referencia?
Por ejemplo, tome la primera línea en mi archivo SNP:
rsXXXXX 1 PPPPPP CT
Puedo ver que necesito reemplazar el nucleótido en la posición PPPPPP en el cromosoma 1 del genoma de referencia con un nucleótido del campo del genotipo, pero ¿qué nucleótido se supone que debo usar? ¿C o T? ¿Y por qué?
¿Desde dónde se supone que debo empezar a contar con el genoma de referencia? Mirando el cromosoma 1 de la compilación 37 del ensamblaje humano, los primeros ~10,000 caracteres (excluyendo la descripción de la primera línea) son N
. ¿Es el primer N número 1? p.ej. Si PPPPPP fuera 100 000, ¿reemplazaría el carácter número 100 000 en el genoma de referencia con el nucleótido correcto de la Parte 1 de esta pregunta? ¿O debería comenzar a contar desde el primer carácter que no sea N en el archivo fasta?
Primero, necesita saber a qué secuencia del genoma se refiere el archivo SNP. Deben haber mencionado la secuencia de referencia que usaron.
Como otros mencionaron, el caso de CT
es heterocigosidad. Si solo desea marcar los cambios, deseche el residuo que ya está presente en el genoma de referencia y use el otro alelo. Sin embargo, si desea realizar un seguimiento del haplotipo, debe asegurarse de que un conjunto de SNP provenga de la misma cromátida. Esto es difícil: es posible que aún pueda saberlo para los SNP que están lo suficientemente cerca como para ser mapeados por una sola lectura, pero es casi imposible para los SNP que están lo suficientemente separados.
Como dijo Endre, hay que empezar desde el primer nucleótido. Sin embargo, parece dudoso que esté recibiendo en el comienzo del cromosoma 1. Los cromosomas ensamblados completos no tienen tales tramos. A continuación se muestran las primeras 10 líneas del archivo fasta del cromosoma 1. Ver por ti mismo.
>gi|568815364|ref|NT_077402.3| Homo sapiens chromosome 1 genomic scaffold, GRCh38 Primary Assembly HSCHR1_CTG1
TAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAAC
CCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCAACCCTAACCCTAACCCTAACCCTAACCCTAA
CCCTAACCCCTAACCCTAACCCTAACCCTAACCCTAACCTAACCCTAACCCTAACCCTAACCCTAACCCT
AACCCTAACCCTAACCCTAACCCCTAACCCTAACCCTAAACCCTAAACCCTAACCCTAACCCTAACCCTA
ACCCTAACCCCAACCCCAACCCCAACCCCAACCCCAACCCCAACCCTAACCCCTAACCCTAACCCTAACC
CTACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCCTAACCCCTAACCCTAACCCTAACCCTA
ACCCTAACCCTAACCCTAACCCCTAACCCTAACCCTAACCCTAACCCTCGCGGTACCCTCAGCCGGCCCG
CCCGCCCGGGTCTGACCTGAGGAGAACTGTGCTCCGCCTTCAGAGTACCACCGAAATCTGTGCAGAGGAC
AACGCAGCTCCGCCCTCGCGGTGCTCTCCGGGTCTGTGCTGAGGAGAACGCAACTCCGCCGTTGCAAAGG
como reemplazar residuo es una tarea bastante sencilla. Pero esa es una cuestión de programación y no el alcance de este foro. Suponiendo que ha resuelto el problema de la parte 1 y tiene un archivo ordenado separado por tabulaciones como este:
chromosome position residue
1 79989 G
1 100232 T
3 341342 A
Es posible que este script no sea el mejor, pero funcionaría en una terminal linux/*nix/Cygwin, para reemplazar los residuos (asegúrese de tener gawk version >=4.0
):
gawk -F "\t" '(FNR==1){x++} (x==1){a[$1][$2]=$3;next} (x==2){if($0~/>/){h=$0;sub(/^.*chromosome /,"",h);sub(/ .*/,"",h)} else{seq[h]=seq[h]$0}} END{for(i in a){s=0; for(j in a[i]){m=m substr(seq[i],s,j-1) a[i][j];s=j+1} m=m substr(seq[i],s); print ">Chr"i"\n"m}}' SNP_file Genome.fa | fold -w 60
Genética 101, tienes 2 copias de todo tu ADN en cada posición, una copia de tu madre, una de tu padre. Entonces, para el "CT", tiene una copia con una C y otra con una T.
Y sí, es normal que los primeros miles o millones de letras sean N. El genoma es repetitivo y asqueroso allí, pero de todos modos se cuenta con fines de numeración.
Honestamente, no haría esto con un archivo de texto gigante del genoma. Simplemente busque su SNP en ensembl.org usando el número rs, y obtendrá el SNP, y alguna secuencia de acompañamiento, y algo de contexto. Búscalo en PubMed si quieres ver si alguna vez aparece en alguna publicación.
Parte 1:
Según Lior Pachter , los datos de 23andme no están escalonados. Lo que significa que para cada entrada en el campo de genotipo, no sabe de qué copia del cromosoma proviene. Esto sucede porque las modernas plataformas de microarrays no pueden decir de cuál de las dos copias de un cromosoma proviene un snp.
Puede resolver este problema para la mayoría de los snps comparando sus alelos con el genoma de referencia, pero esto requeriría algunas habilidades de programación. Podría usar https://github.com/endrebak/qc_gwas como ejemplo, que hace lo mismo, pero para archivos plink.
Parte 2:
Supongo que le gustaría hacer esto programáticamente, y no copiando y pegando los snps en el genoma de referencia.
La respuesta corta es que la primera N es el primer nucleótido. Pero, debería usar un paquete como Biopython para hacer el conteo por usted, podría ser más complicado de lo que piensa (necesita ajustar los finales de línea en el archivo fasta, por ejemplo).
WYSIWYG
swbarnes2
WYSIWYG