[go: up one dir, main page]

ES2730951T3 - Secuenciación inmune de alto rendimiento - Google Patents

Secuenciación inmune de alto rendimiento Download PDF

Info

Publication number
ES2730951T3
ES2730951T3 ES11831760T ES11831760T ES2730951T3 ES 2730951 T3 ES2730951 T3 ES 2730951T3 ES 11831760 T ES11831760 T ES 11831760T ES 11831760 T ES11831760 T ES 11831760T ES 2730951 T3 ES2730951 T3 ES 2730951T3
Authority
ES
Spain
Prior art keywords
seq
vdj
clones
cells
pcr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11831760T
Other languages
English (en)
Inventor
George M Church
Francois Vigneault
Uri Laserson
Ido Bachelet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harvard University
Original Assignee
Harvard University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harvard University filed Critical Harvard University
Application granted granted Critical
Publication of ES2730951T3 publication Critical patent/ES2730951T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6869Methods for sequencing
    • CCHEMISTRY; METALLURGY
    • C40COMBINATORIAL TECHNOLOGY
    • C40BCOMBINATORIAL CHEMISTRY; LIBRARIES, e.g. CHEMICAL LIBRARIES
    • C40B10/00Directed molecular evolution of macromolecules, e.g. RNA, DNA or proteins
    • CCHEMISTRY; METALLURGY
    • C07ORGANIC CHEMISTRY
    • C07KPEPTIDES
    • C07K16/00Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12NMICROORGANISMS OR ENZYMES; COMPOSITIONS THEREOF; PROPAGATING, PRESERVING, OR MAINTAINING MICROORGANISMS; MUTATION OR GENETIC ENGINEERING; CULTURE MEDIA
    • C12N15/00Mutation or genetic engineering; DNA or RNA concerning genetic engineering, vectors, e.g. plasmids, or their isolation, preparation or purification; Use of hosts therefor
    • C12N15/09Recombinant DNA-technology
    • C12N15/10Processes for the isolation, preparation or purification of DNA or RNA
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6806Preparing nucleic acids for analysis, e.g. for polymerase chain reaction [PCR] assay
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6876Nucleic acid products used in the analysis of nucleic acids, e.g. primers or probes
    • C12Q1/6881Nucleic acid products used in the analysis of nucleic acids, e.g. primers or probes for tissue or cell typing, e.g. human leukocyte antigen [HLA] probes
    • CCHEMISTRY; METALLURGY
    • C40COMBINATORIAL TECHNOLOGY
    • C40BCOMBINATORIAL CHEMISTRY; LIBRARIES, e.g. CHEMICAL LIBRARIES
    • C40B30/00Methods of screening libraries
    • C40B30/04Methods of screening libraries by measuring the ability to specifically bind a target molecule, e.g. antibody-antigen binding, receptor-ligand binding
    • CCHEMISTRY; METALLURGY
    • C40COMBINATORIAL TECHNOLOGY
    • C40BCOMBINATORIAL CHEMISTRY; LIBRARIES, e.g. CHEMICAL LIBRARIES
    • C40B40/00Libraries per se, e.g. arrays, mixtures
    • C40B40/04Libraries containing only organic compounds
    • C40B40/06Libraries containing nucleotides or polynucleotides, or derivatives thereof
    • C40B40/08Libraries containing RNA or DNA which encodes proteins, e.g. gene libraries
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • CCHEMISTRY; METALLURGY
    • C07ORGANIC CHEMISTRY
    • C07KPEPTIDES
    • C07K16/00Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies
    • C07K16/06Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies from serum
    • C07K16/065Purification, fragmentation
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6869Methods for sequencing
    • C12Q1/6874Methods for sequencing involving nucleic acid arrays, e.g. sequencing by hybridisation
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6876Nucleic acid products used in the analysis of nucleic acids, e.g. primers or probes
    • C12Q1/6883Nucleic acid products used in the analysis of nucleic acids, e.g. primers or probes for diseases caused by alterations of genetic material
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q2535/00Reactions characterised by the assay type for determining the identity of a nucleotide base or a sequence of oligonucleotides
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q2535/00Reactions characterised by the assay type for determining the identity of a nucleotide base or a sequence of oligonucleotides
    • C12Q2535/122Massive parallel sequencing
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q2600/00Oligonucleotides characterized by their use
    • C12Q2600/112Disease subtyping, staging or classification
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q2600/00Oligonucleotides characterized by their use
    • C12Q2600/158Expression markers

Landscapes

  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Organic Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Genetics & Genomics (AREA)
  • Zoology (AREA)
  • Wood Science & Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Physics & Mathematics (AREA)
  • Biotechnology (AREA)
  • Biophysics (AREA)
  • Immunology (AREA)
  • General Engineering & Computer Science (AREA)
  • Microbiology (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Medicinal Chemistry (AREA)
  • General Chemical & Material Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Cell Biology (AREA)
  • Pathology (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Plant Pathology (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Peptides Or Proteins (AREA)

Abstract

Un método para identificar un anticuerpo útil en métodos diagnósticos o terapéuticos, que comprende: (a) acoplar las secuencias de polinucleótidos de la región variable de la cadena pesada (VH) y de la región variable de la cadena liviana (VL) de una sola célula de una pluralidad de células de una muestra biológica de un sujeto humano en un primer punto en el tiempo para formar secuencias acopladas, en donde el sujeto humano tiene una enfermedad o trastorno o se le ha administrado un agente para estimular un desafío inmunitario; (b) realizar una secuenciación de alto rendimiento de polinucleótidos amplificados a partir de las secuencias acopladas; (c) reagrupar las lecturas de secuenciación de acuerdo con al menos su segmento V y usar del segmento J para formar clones VDJ y determinar la frecuencia de clonación de los clones VDJ; (d) comparar la frecuencia de clones de un clon de VDJ con (i) la frecuencia de clones de clones de VDJ de una muestra biológica del sujeto humano en un segundo punto en el tiempo, o (ii) la frecuencia de clones de clones de VDJ de una muestra biológica de un negativo sujeto de control humano sin la enfermedad o trastorno o un sujeto humano al que no se ha administrado el agente para estimular un desafío inmunitario; y (e) identificar un anticuerpo útil en métodos de diagnóstico o terapéuticos con base en (d).

Description

DESCRIPCIÓN
Secuenciación inmune de alto rendimiento
Datos de solicitud relacionados
Esta solicitud reivindica prioridad a la Solicitud de Patente Provisional de los Estados Unidos No. 61/391,337, presentada el 8 de octubre de 2010.
Campo
La presente invención se refiere a métodos y composiciones para diagnósticos y terapéuticos.
Antecedentes
La función del sistema inmunitario adaptativo está mediada en gran medida por linfocitos (células B y T) que expresan un repertorio diverso de receptores inmunitarios contra prácticamente cualquier sustancia extraña (Abbas et al., Cellular and Molecular Immunology, Ed. 6th. (Saunders Elsevier, Filadelfia; 2007); Murphy et al., Janeway's Immunobiology, Ed. 7 (Garland Science, Nueva York; 2008); Paul, Fundamental Immunology, Ed. 6 (Wolters Kluwer/Lippincott Williams & Wilkins, Filadelfia; 2008)). Con el fin de generar el repertorio de anticuerpos necesarios para el reconocimiento de antígenos, cada linfocito construye independientemente un receptor único a través del proceso de recombinación VDJ. Id. Cada célula selecciona aleatoriamente un solo segmento de gen V, D y J mediante recombinación genética, introduciendo nucleótidos adicionales no codificados en la línea germinal en las uniones (Figura 1). Este proceso crea diversidad de anticuerpos, la mayoría de los cuales está codificada en la región 3 determinante de la complementariedad de la cadena pesada (CDR3) (Rock et al. (1994) J. Exp. Med. 179: 323; Xu and Davis (2000) Immunity 13: 37). La complejidad y la dinámica de un solo repertorio inmune humano aún no se han investigado profundamente, y la capacidad de rastrear el repertorio dinámicamente no se ha demostrado en ningún organismo.
Resumen
La caracterización de la diversidad y la dinámica del repertorio inmune o "VDJ-oma" tiene implicaciones significativas en la comprensión del sistema inmune, particularmente en el contexto de diagnósticos personalizados y descubrimiento terapéutico. Por consiguiente, la presente invención está dirigida en parte a métodos y composiciones que permiten diagnósticos clínicos y terapéuticos personalizados utilizando la información única de secuencia de ácidos nucleicos contenida en un sistema inmune individual. Con este objetivo, se proporcionan métodos y composiciones de alto rendimiento y alta resolución para perfilar el repertorio de anticuerpos de un solo individuo. Por ejemplo, las realizaciones de la presente invención incluyen el uso de tecnología de secuenciación de alto rendimiento para rastrear dinámicamente la naturaleza y el alcance de los anticuerpos producidos por un individuo como resultado de una reacción inmune, para clonar anticuerpos completos de cadenas livianas y pesadas emparejadas de millones de células individuales en paralelo, y para seleccionar anticuerpos de alta afinidad contra múltiples antígenos en una sola reacción.
En ciertas realizaciones de ejemplo, se proporcionan métodos para determinar un estado inmune de un individuo. Los métodos incluyen los pasos para obtener secuencias de ácidos nucleicos que codifican receptores de linfocitos de la muestra biológica y realizar una secuenciación de alto rendimiento de las secuencias de ácidos nucleicos amplificadas para determinar una pluralidad de secuencias que representan el estado inmune de la muestra biológica. En ciertos aspectos, la muestra biológica se selecciona del grupo que consiste en sangre, saliva, líquido sinovial, células cultivadas, una sección de tejido y una biopsia. En ciertos aspectos, la muestra biológica se obtiene de un individuo. En otros aspectos, se determina un estado inmune del individuo. En aún otros aspectos, los métodos incluyen además la etapa de amplificar las secuencias de ácidos nucleicos que codifican receptores de linfocitos antes de la etapa de secuenciación de alto rendimiento, usando opcionalmente cebadores específicos para secuencias de ácidos nucleicos de cadena pesada o cadena liviana. En otros aspectos, los métodos incluyen la etapa de obtención de linfocitos (por ejemplo, células T, células B o una combinación de las mismas) de la muestra biológica antes de la etapa de purificación. De acuerdo con un aspecto, el uso del receptor de células T de un individuo se correlaciona con el tipo MHC del individuo para diagnosticar ciertas enfermedades o afecciones. En ciertos aspectos, las secuencias de ácidos nucleicos codifican una o más de las regiones V (cadena pesada o cadena liviana), regiones D (cadena pesada o cadena liviana), regiones J (cadena pesada o cadena liviana) y combinaciones de las mismas. En otros aspectos, las secuencias de ácidos nucleicos son ADN (por ejemplo, ADN genómico) o ARN (por ejemplo, ARNm). En otros aspectos, los métodos incluyen la etapa de comparar el estado inmune del individuo con una muestra de control para diagnosticar una enfermedad o un trastorno tal como, por ejemplo, una infección, un trastorno autoinmune, un trastorno proliferativo celular y cualquier combinación de los mismos. En otros aspectos, la pluralidad de secuencias incluye al menos una secuencia de ácidos nucleicos común.
En ciertas realizaciones de ejemplo, se proporcionan métodos para controlar el efecto de un agente en un estado inmune de una muestra biológica. Los métodos incluyen los pasos de aislar linfocitos de la primera muestra biológica, purificar un primer conjunto de secuencias de ácidos nucleicos que codifican receptores de linfocitos, realizar una secuenciación de alto rendimiento del primer conjunto purificado de secuencias de ácidos nucleicos para proporcionar una primera biblioteca de referencia, en contacto con un segundo muestra biológica con un agente, aislando linfocitos de la segunda muestra biológica, purificando un segundo conjunto de secuencias de ácidos nucleicos que codifican receptores de linfocitos, realizando una secuenciación de alto rendimiento del segundo conjunto purificado de secuencias de ácidos nucleicos para proporcionar una segunda biblioteca de referencia y comparando secuencias de la primera biblioteca de referencia y la segunda biblioteca de referencia para monitorizar el efecto de un agente en un estado inmune de la muestra biológica. En ciertos aspectos, el agente se selecciona del grupo que consiste en un antígeno, una vacuna, un fármaco, una molécula pequeña, un agente biológico y cualquier combinación de los mismos. En otros aspectos, la muestra biológica se selecciona del grupo que consiste en sangre, saliva, líquido sinovial, células cultivadas, una sección de tejido y una biopsia. En otros aspectos, la muestra biológica se obtiene de un individuo. En otros aspectos, se determina un estado inmune del individuo. En otros aspectos, el individuo padece una enfermedad o trastorno seleccionado del grupo que consiste en una infección, un trastorno autoinmune, un trastorno proliferativo celular y cualquier combinación de los mismos. En ciertos aspectos, se determina la eficacia del agente para tratar una enfermedad o un trastorno. En otros aspectos, se determina un pronóstico para tratar una enfermedad o un trastorno. En otros aspectos, los pasos de secuenciación se realizan simultáneamente o en momentos separados. En ciertos aspectos, se obtienen múltiples muestras a lo largo de un curso de tiempo y, opcionalmente, se realizan los pasos de aislamiento, purificación y ejecución de secuenciación de alto rendimiento para cada una de las múltiples muestras obtenidas a lo largo del curso de tiempo.
En ciertas realizaciones de ejemplo, se proporcionan métodos para controlar una respuesta inmune de una muestra biológica. Los métodos incluyen los pasos de obtener una primera muestra biológica en un primer momento, aislar linfocitos de la primera muestra biológica, purificar un primer conjunto de secuencias de ácidos nucleicos que codifican receptores de linfocitos, realizar una secuenciación de alto rendimiento del primer conjunto purificado de secuencias de ácidos nucleicos para proporcionar una primera biblioteca de referencia, obteniendo una segunda muestra biológica en un segundo punto de tiempo, aislando linfocitos de la segunda muestra biológica, purificando un segundo conjunto de secuencias de ácidos nucleicos que codifican receptores de linfocitos, realizando una secuenciación de alto rendimiento del segundo conjunto purificado de secuencias de ácidos nucleicos para proporcionar una segunda biblioteca de referencia, y comparar las secuencias de la primera biblioteca de referencia y la segunda biblioteca de referencia para rastrear una respuesta inmune en una muestra biológica. En ciertos aspectos, la respuesta inmune es contra un agente seleccionado del grupo que consiste en un antígeno, una vacuna, un fármaco, una molécula pequeña, un agente biológico y cualquier combinación de los mismos. En otros aspectos, los pasos de secuenciación se realizan simultáneamente o en momentos separados. En otros aspectos, se obtienen múltiples muestras a lo largo de un curso de tiempo y, opcionalmente, se realizan los pasos de aislamiento, purificación y ejecución de secuenciación de alto rendimiento para cada una de las múltiples muestras obtenidas a lo largo del curso de tiempo. En otros aspectos, se determina un diagnóstico de enfermedad o trastorno. En otros aspectos, la muestra biológica se selecciona del grupo que consiste en sangre, saliva, líquido sinovial, células cultivadas, una sección de tejido y una biopsia. En otros aspectos, la muestra biológica se obtiene de un individuo. En otros aspectos, se determina el estado inmune del individuo.
Otras características y ventajas de ciertas realizaciones de la presente invención se harán más evidentes en la siguiente descripción de las realizaciones y dibujos de las mismas, y a partir de las reivindicaciones.
Breve descripción de los dibujos
El archivo de patente o solicitud contiene al menos un dibujo ejecutado en color. La Oficina proporcionará copias de esta publicación de patente o solicitud de patente con dibujos en color, previa solicitud y pago de la tasa necesaria. Las anteriores y otras características y ventajas de la presente invención se entenderán más completamente a partir de la siguiente descripción detallada de las realizaciones ilustrativas tomadas junto con los dibujos adjuntos, en los que:
La Figura 1 representa una visión general de la recombinación VDJ y el diseño experimental. Un anticuerpo contiene una cadena pesada y una cadena liviana, donde en un segmento único V, D y J se unen a partir de un conjunto de genes codificados en la línea germinal.
Las Figuras 2A-2E representan la reproducibilidad técnica y la diversidad inmune de ciertos métodos descritos en este documento. (A) El número de clones únicos (arriba) y las lecturas correspondientes (abajo) compartidas entre dos ejecuciones de repetición de secuencia (SR1 y SR2) y una ejecución de replicación técnica independiente (TR1). Un pequeño número de clones únicos compartidos representaron la mayoría de las lecturas. (B) El gráfico de dispersión del día 1 de SR1 frente a TR1 de las frecuencias de los clones demostró una fuerte correlación y reproducibilidad de la metodología de muestreo descrita aquí. (C) Para los tamaños de muestra múltiples, se tomaron muestras de las distribuciones iniciadas mediante el cálculo de la correlación de Pearson entre 50 pares de muestras extraídas independientemente. Esto demostró que 105 lecturas eran suficientes para lograr altas correlaciones entre muestras independientes. (D) Las distribuciones de abundancia de frecuencias de clones de replicado de diversidad 1 (DR1) y todos los puntos de tiempo de SR1+SR2+TR1. Las frecuencias de clonación abarcaban múltiples órdenes de magnitud y se distribuían mediante ley de potencia con una escala de cuadrados aproximadamente inversa. (E) Se observaron secuencias únicas y se realizaron estimaciones de la diversidad de la cadena pesada humana expresada en muestras de sangre de 1 mL utilizando los estimadores no paramétricos Chao1 y ACE. Los números se calcularon utilizando recuentos de clones (posterior al agrupamiento, corrección de errores), así como secuencias de unión CDR3 únicas (sin procesar, sin agolpamiento) (arriba). Estimaciones de la diversidad total de la cadena pesada humana expresada en sangre utilizando múltiples estimadores no paramétricos y el método de Arstila (Arstila et al. (1999) Science 286: 958) (abajo).
Las figuras 3A-3C representan el análisis del repertorio estático. (A) La distribución de todos los segmentos funcionales V y J observados en ejecuciones repetidas en todos los puntos de tiempo muestra un uso altamente no uniforme de los segmentos genéticos. Los tamaños de los círculos son proporcionales a los recuentos de lectura. (B) La distribución de la longitud de la unión CDR3 de todas las lecturas en SR1+SR2+TR1 (luz) y todas las uniones de cadena pesada de Ig en IMGT/LIGM (oscuro) mostraron una gran variabilidad en el tamaño del bucle de CDR3. El patrón de diente de sierra reflejaba uniones en el marco. (C) Ejemplos representativos de tipos de pseudoespectros de CDR3 para varias combinaciones V-J en múltiples puntos de tiempo. El pico de 16 aminoácidos se anotó en todos los tipos de espectros. Los números anotados mostraron expansiones de clones identificados en la Figura 4B, lo que confirmó la utilidad del método de tipos de espectros para identificar candidatos de interés.
Las figuras 4A-4D representan un análisis dinámico del repertorio. (A) La serie de tiempos de todos los clones en SR1+SR2+TR1 reveló fluctuaciones significativas del repertorio a través del tiempo. Un puñado de clones mostró una expresión significativamente mayor, mientras que la magnitud de las fluctuaciones se muestra en una escala logarítmica (recuadro). La aparición de muchos clones en aumento gradual desde el día -14 hasta el día 0 se debió a la falta de resolución de muestreo entre estos puntos temporales. (B) Agrupación de mapas de organización automática (SOM) de series de tiempo de clonación, donde cada agrupación se ubicó en una posición de mapa constante, y los colores representan niveles de expresión de clonación. Se seleccionaron grupos de grupos con comportamiento dinámico similar y los clones correspondientes se representaron como series de tiempo. Las series temporales se colorearon según el isotipo más común observado en el momento de la expresión máxima. Las anotaciones se refieren a clones específicos de interés correspondientes a picos de tipos de espectros específicos en la Figura 3C. (C) La dinámica de la distribución global de isotipos indicó un cambio de clase potencial. Las líneas gruesas representan la media de 6 ejecuciones repetidas (mostradas como líneas finas) con una desviación estándar. (D) Distribuciones de isotipos específicos para clones anotados seleccionados; los gráficos de barras apilados representan la distribución de isotipos en un punto de tiempo determinado, mientras que la línea negra representa la serie de tiempos de la frecuencia de clonación. Números referidos a la frecuencia máxima de clonación, con el número correspondiente de lecturas. El esquema de color del isotipo es consistente entre los paneles B, C y D.
La Figura 5 muestra esquemáticamente la secuenciación inmune de alto rendimiento y el análisis del repertorio inmune y de anticuerpos.
Las Figuras 6A-6C representan gráficamente el análisis de clasificación FACS de las secuencias seleccionadas de la Figura 4.
Las Figuras 7A-7C representan gráficamente el análisis por microbalanza de cristal de cuarzo (QCM).
La Figura 8 muestra un gráfico que muestra curvas ROC para el algoritmo de alineación VDJ descrito aquí utilizando los resultados de IMGT/V-QUESt como referencia. Como era de esperar, las alineaciones de la región V fueron las más confiables, seguidas de J, seguidas de D.
La Figura 9 muestra diagramas de dispersión que muestran la correlación de los niveles de expresión entre las réplicas SRI, SR2, TR1 y OR3. Los puntos en rojo tienen valor cero. El código de barras 1 (-14 d) se perdió significativamente en la preparación de la réplica TR1. Tenga en cuenta que OR3 mostró consistentemente peor correlación. Como se produjo con un conjunto de cebadores recién mezclados, sin pretender vincularse a la teoría científica, esto indicó que el protocolo descrito en el presente documento era altamente sensible a las concentraciones de cebadores.
La Figura 10 muestra gráficamente los coeficientes de variación (CV) calculados para diversas comparaciones repetidas. Las frecuencias de clones más altas mostraron un CV más pequeño, consistente con la mayor reproducibilidad de los clones de alta expresión. Los valores de CV de 0.5 se alcanzaron en frecuencias de 10'4 a 10' 3, lo que indica límites a la capacidad de cuantificar con precisión la frecuencia de clonación antes de la aparición del ruido de Poisson.
La Figura 11 muestra gráficamente la acumulación de rangos de frecuencia de clones para la replicación de DR1 y los diversos puntos de tiempo de SR1+SR2+TR1.
Las Figuras 12A-12D representan curvas de rarefacción utilizando muestreo sin reemplazo. Los valores finales (calculados sobre los conjuntos de datos completos) se resumen aquí. (A) Chao 1, eje lineal y logarítmico. (B) ACE, eje lineal y logarítmico. (C) Número de secuencias únicas descubiertas, ejes lineales y logarítmicos. (D) Valor del estimador frente al número de lecturas. La falta de correlación positiva indica que los valores del estimador son independientes de los tamaños de la muestra y, por lo tanto, se muestrean lo suficiente.
Las Figuras 13A-13B representan pseudotipos de espectros de CDR3 para varias combinaciones de V-J en múltiples puntos de tiempo para todos los clones seleccionados de la Figura 4B.
La Figura 14 muestra diagramas replicados de series de tiempo de clones seleccionados al azar. Cada panel contiene 10 clones seleccionados al azar, trazados utilizando datos de SRI, SR2 y TR1, por separado. Los clones únicos se trazan en el mismo color. Los clones se rastrearon cualitativamente entre réplicas separadas, mostrando una alta reproducibilidad de series de tiempo entre réplicas.
Las Figuras 15A-15B representan medias k de agolpamiento de series de tiempo de clonación. (A) Agrupación de todos los clones en 100 agrupamientos utilizando la métrica de distancia euclidiana. (B) La agrupación similar de todos los clones observados en al menos dos puntos de tiempo. Las curvas representan medias de grupo; su grosor es proporcional al tamaño del agrupamiento.
Las Figuras 16A-16C representan distribuciones de isotipos de los clones más altamente expresados en los días 1 (A), 7 (B) y 21 (C). Los gráficos de barras apiladas representan la distribución de isotipos en un punto de tiempo determinado, mientras que la línea negra representa la serie temporal de frecuencia de clonación. Los números se refieren a la frecuencia máxima de clonación, con el número correspondiente de lecturas. IgA; verde, IgG; rojo, IgM; azul.
Las Figuras 17A-17B muestran la representación Collier de Perles (Ruiz and Lefranc (2002) Immunogenetics 53:857) de la entrada IMGT/LIGM anti-digoxina (AR161172; arriba) y de la lectura de la secuencia correspondiente encontrada en un sujeto (FXQ8H8O01CY52L; inferior).
La Figura 18 muestra gráficamente la distribución de longitud de lectura en bruto de alta calidad de una única ejecución de secuenciación 454 GS FLX. El pico más significativo ocurrió en el tamaño esperado de 420 pb.
Las Figuras 19A-19B representan (A) la distribución de distancias de cofenéticas para agrupamiento jerárquico de enlaces simples y completos en secuencias de una combinación V-J con un pequeño número de lecturas; y (B) el número de agrupaciones obtenidas en función de la distancia a la que se cortó el árbol de enlace. Ambas gráficas muestran descensos rápidos a 4.5 ediciones, seguidas de hombros. Esto indica 4.5 ediciones como la distancia adecuada para recortar el árbol de enlaces para definir los clones.
Las Figuras 20A-20B representan (A) la distribución de log (cambio de múltiplo) para cada transición en series de tiempo que fueron positivas en los 8 puntos de tiempo; y (B) correlación entre la desviación estándar del log (cambio de múltiplo) y la duración de la transición.
La Figura 21 muestra un primer ejemplo de alineación para la hepatitis. Consulta: FXQ8H8O01DXEUI rango=0514859 x=1493.0 y=2520.0 longitud=408; objetivo: 155621 | antígeno de superficie anti-virus de hepatitis B (VHB) (HBsAg) (humano); Modelo: afín:local:dna2dna; Puntaje bruto: 1740; Rango de consulta: 8 -> 398; Rango objetivo: 27 -> 423; aln_resumen: FXQ8H8O01DXEUI 4088398 155621 42327423 174039037295.38.
La figura 22 representa un segundo ejemplo de alineación para la hepatitis. Consulta: FX4D8HT02FMIIW rango=0345098 x=2189.0 y=2486.0 longitud=408; Objetivo: 155621 | antígeno de superficie anti-virus de hepatitis B (VHB) (HBsAg) (humano); Modelo: afín:local:dna2dna; Puntaje bruto: 1743; Rango de consulta: 5 -> 404; Rango objetivo: 24 -> 423; aln_resumen: FX4D8HT02FMIIW 4085404 155621 42324423 1743399371 92.
La Figura 23 representa una alineación de solo unión. Consulta: FXQ8H8O01CY52L [traducir(1)]; Objetivo: AR161172 | anti-digoxina; Modelo: protein2dna: local; Puntaje bruto: 58; Rango de consulta: 0 -> 9; Rango objetivo: 237 -> 264; aln_resumen: FXQ8H8O01CY52L 909. AR161172282237264 5899100.00.
La Figura 24 muestra una alineación de lectura completa. Consulta: FXQ8H8O01CY52L; Objetivo: AR161172 | antidigoxina; Modelo: coding2coding; Puntaje bruto: 512; Rango de consulta: 73 -> 355; Rango objetivo: 0 -> 282; aln_resumen: FXQ8H8O01CY52L 39073355 AR1611722820282 512949398.94.
La Figura 25 representa una vista general de un diseño experimental de acuerdo con ciertos aspectos de la invención. El ARN total de linfocitos se extrajo de muestras de sangre recolectadas en múltiples puntos de tiempo después de la vacunación de un individuo humano. Se utilizó un conjunto multiplex de cebadores específicos de genes para amplificar la cadena pesada de inmunoglobulina del ARN de células B y se procesó en bibliotecas de secuenciación compatibles con 454. Las secuencias fueron alineadas y agrupadas para el análisis del repertorio.
La Figura 26 muestra una tabla que representa la distribución y el análisis de la secuencia de lectura.
La Figura 27 representa esquemáticamente métodos de ejemplo de acoplamiento de cadena.
La Figura 28 muestra esquemáticamente métodos de ejemplo de aislamiento de células.
La figura 29 muestra esquemáticamente métodos de ejemplo para acoplar cadenas pesadas y livianas.
La Figura 30 muestra esquemáticamente métodos de ejemplo para selecciones de afinidad multiplex.
La Figura 31 representa una célula inmune que presenta un anticuerpo que contiene una cadena pesada y una cadena liviana.
La Figura 32 muestra esquemáticamente un método para optimizar la PCR de entrecruzamiento.
La Figura 33 muestra esquemáticamente un método para optimizar el aislamiento de la celda.
La Figura 34 muestra esquemáticamente un método para caracterizar la contaminación cruzada.
La Figura 35 muestra esquemáticamente un método para caracterizar la contaminación cruzada utilizando un ensayo TaqMan.
La Figura 36 representa esquemáticamente la generación de una tabla de búsqueda de antígeno-anticuerpo para el virus de la influenza.
La Figura 37 representa esquemáticamente anticuerpos acoplados a antígenos.
La Figura 38 representa esquemáticamente una comparación de bibliotecas con bibliotecas para la selección combinatoria de pares de antígeno-anticuerpo replicantes (Bowley et al. (2009) Proc. Natl. Acad. Sci. USA 106(5): 1380).
La Figura 39 representa esquemáticamente métodos de captura de emulsión de perlas a modo de ejemplo.
La Figura 40 representa esquemáticamente la transfección de oligonucleótidos pequeños de células individuales. La Figura 41 muestra esquemáticamente SOE-PCR.
La Figura 42 muestra esquemáticamente la ligación de SOE-PCR USER.
La Figura 43 representa esquemáticamente la ligación de restricción de la SOE-PCR.
La Figura 44 muestra esquemáticamente 3x SOE-PCR.
La Figura 45 representa gráficamente las distribuciones de cadenas pesadas y livianas.
La figura 46 muestra histogramas de longitudes de lectura de cadenas livianas.
La figura 47 muestra la distribución de uniones.
La figura 48 representa una serie de tiempos de clonación.
La Figura 49 muestra una serie de tiempos para cadenas pesadas y livianas que usan uniones únicas.
La Figura 50 muestra una nueva serie temporal de uniones de cadenas pesadas y livianas altamente expresadas. La Figura 51 muestra un gel que muestra la ligación del adaptador Y.
La Figura 52 representa un gel de diagnóstico que muestra la eficiencia de la PCR.
La Figura 53 muestra un gel que muestra una preparación de prueba de Pippin con la muestra de control número 8. La Figura 54 muestra muestras ejecutadas en una preparación Pippin.
La Figura 55 representa datos de imágenes que muestran la capacidad de clonación de las perlas. Los tres ensayos demostraron la capacidad de clonación, por lo que la emulsión de una biblioteca genómica humana funcionó bien, incluso cuando se utiliza un hidrociclador (que es una gran solución de ahorro de tiempo y técnicamente fácil). Fila superior: luz blanca 20x, zoom 200%. Fila central: 20x, Cy5, Cy3, Alineación de colores FITC. Fila inferior: 20x, zoom 200%, Cy5, Cy3, alineación de colores FITC.
La Figura 56 muestra los datos de imágenes de una única lisis celular y PCR con perlas de captura VDJ.
La Figura 57 representa datos de imágenes de PCR con perlas de captura VDJ.
La Figura 58 representa un gel que muestra las pruebas de cebador individual. Carriles de izquierda a derecha: escalera de 1.100 pb; 2, lleno; 3, lleno-2; 4, J1; 5, J2; 6, J3; 7, V30; 8, V29; 9, V28; 10, V27.
La Figura 59 representa geles que muestran pruebas de cebador individual.
La Figura 60 muestra un gel que muestra la prueba combinada de solapamiento de cebador Illumina.
La figura 61 representa un gel que muestra un conjunto.
La Figura 62 representa un gel que muestra ADNc y ADN de Coriel.
La figura 63 representa un gel de SDS PAGE. 200 voltios, corrido durante 45 minutos.
La figura 64 representa un gel de SDS PAGE. 200 voltios, corrido durante 30 minutos.
La figura 65 muestra un gel de SDS PAGE. Corrido durante 35 minutos, tinción azul.
La figura 66 muestra ensayos de neutralización.
La figura 67 representa gráficamente los resultados de neutralización.
La Figura 68 muestra un gel de diagnóstico utilizado para confirmar la eficacia de la PCR.
La Figura 69 muestra un gel de diagnóstico utilizado para confirmar la eficacia de las perlas de bloqueo y AMPure.
La Figura 70 muestra un gel de diagnóstico utilizado para confirmar la eficiencia de AMPure.
La Figura 71 representa un gel de diagnóstico utilizado para confirmar la eficiencia de reacción combinada.
La Figura 72 muestra un gel de diagnóstico utilizado para confirmar la eficiencia de la PCR utilizando cebadores que amplifican el producto final.
La Figura 73 muestra los geles de extracción pre-Pippin (panel izquierdo) y la extracción post-Pippin (panel derecho).
La Figura 74 muestra un gel de diagnóstico utilizado para confirmar la eficacia de la PCR.
La Figura 75 muestra un gel de diagnóstico utilizado para confirmar la eficiencia de la ligación.
La figura 76 muestra geles de prueba de Pippin.
Descripción detallada
El alcance de la invención se define en las reivindicaciones adjuntas. En ciertas realizaciones de ejemplo, se proporciona un conjunto de tecnologías y herramientas analíticas para inspeccionar de manera eficiente la información registrada en el sistema inmune, permitiendo así diagnósticos clínicos y/o terapéuticos personalizados. Ciertos aspectos de la invención utilizan la secuenciación de la próxima generación para rastrear grandes cantidades de secuencias codificadoras de anticuerpos de millones de células individuales en una única reacción, en contraste con una célula por ensayos de pozos que se realizan típicamente en la técnica. Ciertos aspectos de la invención se dirigen a la secuenciación e identificación de porciones de secuencias codificadoras de anticuerpos. Otros aspectos de la invención se dirigen a métodos para expresar bibliotecas de anticuerpos complejos, por ejemplo, para uso con pantallas funcionales y/o análisis de evolución contra una biblioteca de antígenos o proteínas. En ciertos aspectos, los métodos y composiciones descritos en el presente documento se pueden usar para la identificación de biomarcadores para el desarrollo de ensayos de diagnóstico o detección frente a enfermedades infecciosas, trastornos celulares proliferativos tales como cáncer, alergias y/o trastornos autoinmunes. En otros aspectos, los métodos y composiciones descritos en el presente documento pueden usarse para el descubrimiento y desarrollo de agentes terapéuticos, utilizando, por ejemplo, monoclonales, monoclonales de múltiples agrupaciones, policlonales, fragmentos, secuencias de anticuerpos completas y/o parciales.
Ciertas realizaciones de ejemplo adicionales utilizan la caracterización de la diversidad y dinámica del repertorio inmune de acuerdo con los métodos descritos en este documento para identificar dianas de vacuna y anticuerpos neutralizantes. Dicha caracterización a nivel individual es útil en métodos de diagnóstico y/o pronóstico de autoinmunidad y/o enfermedades alérgicas. Los métodos de caracterización descritos en el presente documento son además útiles para crear bases de datos de afinidades antígeno/anticuerpo que son útiles para predecir la especificidad del anticuerpo a partir de la secuencia y para el diagnóstico de enfermedades o afecciones caracterizadas por ciertas afinidades antígeno/anticuerpo. Los métodos de caracterización descritos en el presente documento son aún más útiles en los métodos para determinar el rechazo de trasplantes y la histoiincompatibilidad basados en el análisis de los componentes del repertorio inmune de un individuo en un solo punto en el tiempo o en varios puntos en el tiempo. Los anticuerpos caracterizados de acuerdo con los métodos descritos en el presente documento son útiles en métodos para extraer e identificar ciertos efectores inmunes y antígenos de una muestra o sujeto.
En ciertas realizaciones de ejemplo, se proporcionan métodos para determinar el estado genético de una pluralidad de células inmunes individuales (por ejemplo, linfocitos) en un momento dado (por ejemplo, una "instantánea" de una colección de células inmunes individuales). En ciertos aspectos, la identidad de las cadenas pesadas y/o livianas (es decir, una secuencia de ácidos nucleicos del receptor inmune) para cada uno de una pluralidad de receptores se determinará en uno o más puntos dados en el tiempo. Una colección de identidades de células inmunitarias también se denomina aquí como un "repertorio inmune" o un "VDJ-oma".
Las realizaciones de los métodos de caracterización descritos en este documento permiten la identificación, creación y/o uso de anticuerpos de respuesta rápida en métodos de diagnóstico, terapéuticos o de investigación. Dichos anticuerpos de respuesta rápida se expresan rápidamente, normalmente en cuestión de horas, como resultado de un desafío inmunitario. De acuerdo con los aspectos de la presente invención, los anticuerpos de respuesta rápida se pueden caracterizar por su amplitud de afinidad contra objetivos o antígenos y su capacidad para estimular otras funciones inmunitarias del huésped requeridas. Los anticuerpos de respuesta rápida identificados por los métodos descritos en este documento se pueden usar como un principio agente terapéutico para ayudar rápidamente al sistema inmunológico a responder a una enfermedad u otra condición mientras el sistema inmunitario desarrolla anticuerpos adicionales.
Las realizaciones de la presente invención incluyen además el uso de secuencias derivadas de IGHV3-23 humanas o secuencias derivadas de IGHV1-69 humanas identificadas usando secuenciación de alto rendimiento en anticuerpos funcionalmente usados. Para los fines de la presente invención, las secuencias derivadas incluyen la secuencia misma, así como cualquier fragmento o mutante de la misma.
Los factores principales en el fracaso del desarrollo de anticuerpos monoclonales han sido la falta de transición del modelo animal al humano, así como la capacidad limitada de seleccionar una cantidad suficiente de candidatos de anticuerpos para permitir el descubrimiento eficaz de productos terapéuticos. Los métodos y composiciones descritos en el presente documento resuelven estos problemas al permitir la selección del repertorio inmune o la respuesta inmune directamente de uno o más humanos, por lo que producen candidatos de anticuerpos que son completamente humanos (es decir, no son anticuerpos humanizados), evitando así los riesgos de inmunogenicidad. En ciertos aspectos, los métodos y composiciones descritos en el presente documento no están limitados en su rendimiento, lo que permite la detección simultánea de una cantidad ilimitada de secuencias codificadoras de anticuerpos, lo que no sería posible utilizando métodos inmunológicos clásicos.
Como los métodos y las composiciones descritas en el presente documento permiten la selección de una gran cantidad de secuencias por muestra, se puede realizar una investigación eficiente de la reacción inmune en un individuo. Por ejemplo, la presencia de una o más reacciones inmunes naturales o secuencias de anticuerpos específicas creadas por el paciente se pueden usar como una pantalla de diagnóstico en un sujeto, por ejemplo, un paciente con una infección actual o previa. Los métodos y composiciones descritos en el presente documento permiten la determinación instantánea de secuencias de anticuerpos en un individuo en cualquier momento (por ejemplo, porque el ARN y/o el ADN que codifican la proteína del anticuerpo están secuenciados), en lugar de tener que conducir complejos y no complejos y determinación de secuencias de proteínas no multiplexables. En la Figura 5 se muestra una descripción general de ciertos métodos descritos en el presente documento. En la Figura 25 se muestra una aplicación de los métodos de acuerdo con ciertos aspectos de la divulgación.
De acuerdo con ciertos aspectos, los métodos de caracterización de componentes de una respuesta inmune en un individuo que usa métodos de secuenciación de alto rendimiento descritos en el presente documento permiten la selección de secuencias de anticuerpos específicas, incluidos los anticuerpos de isotipo IgA, útiles para diagnosticar una enfermedad o afección, o tratar terapéuticamente una enfermedad o condición. Los métodos descritos en el presente documento permiten métodos para comparar componentes de la reacción inmunitaria en un individuo en diferentes puntos en el tiempo (información de series de tiempo) que es más útil en la asignación de funciones a los anticuerpos identificados. Dichos métodos incluyen la identificación de anticuerpos útiles en métodos diagnósticos o terapéuticos, e incluyen la identificación de anticuerpos de dominio único (nanocuerpos) derivados de humanos que son útiles como reactivos de afinidad, por ejemplo, como biomarcadores de diagnóstico o terapéuticos. Los métodos descritos en el presente documento también permiten la identificación de secuencias derivadas de seres humanos utilizando una secuenciación de alto rendimiento que luego puede formatearse en diferentes moléculas de afinidad, como diacuerpos, nanocuerpos, dobles scFv y otros componentes definidos a continuación como un anticuerpo.
De acuerdo con aspectos alternativos, una vez que los métodos descritos en este documento se usan para identificar los componentes en un individuo que resulta de una respuesta inmune (referida aquí como un repertorio inmune), los componentes pueden clonarse y expresarse para crear bibliotecas de anticuerpos usando cualquiera sistema de expresión sin células o clonación en vectores de expresión para la expresión en la célula. Los anticuerpos pueden luego probarse o cribarse para determinar su capacidad para unirse a los antígenos, su afinidad y/o capacidad de neutralización. Además, una vez que los métodos descritos en el presente documento se usan para identificar los componentes en un individuo que resulta de una respuesta inmune, los componentes pueden clonarse seguidos de la síntesis de genes de anticuerpos seleccionados en función de la información funcional y luego expresarse para crear bibliotecas de anticuerpos usando cualquiera sistema de expresión libre o clonación en vectores de expresión para la expresión en la célula. Los anticuerpos pueden luego probarse o cribarse para determinar su capacidad para unirse a los antígenos, su afinidad y/o capacidad de neutralización. De acuerdo con ciertos aspectos, los anticuerpos resultantes de la respuesta inmune que se identifican mediante los métodos descritos en el presente documento se pueden sintetizar utilizando un preparación de síntesis paralelo a partir de oligonucleótidos o la química de la síntesis de oligonucleótidos estándar derivada de fragmentos de genes, a partir de la síntesis de impresión de chips, o cualquier otro método conocido por los expertos en la materia.
De acuerdo con un aspecto adicional, los anticuerpos identificados por los métodos de alto rendimiento descritos en el presente documento se clonan directamente en tecnologías de visualización de superficie que incluyen levadura, fago, bacteriano, mamífero, ribosomal, presentación de ARNm y similares y luego se analizan para determinar la especificidad o afinidad funcional o capacidad de neutralización. Un aspecto adicional de esta realización incluye los anticuerpos que se clonan directamente en tecnologías de visualización de superficie y luego evolucionan mediante enfoques de evolución dirigida conocidos por los expertos en la técnica y, opcionalmente, caracterizan los enfoques de evolución dirigida en varios puntos en el tiempo, en cualquier paso o cualquier ciclo que utilice secuenciación de alto rendimiento para identificar el estado de enriquecimiento, nivel de diversidad, etc. Tales métodos de evolución dirigida pueden realizarse con un antígeno único, antígenos múltiples o una gran biblioteca de antígenos en una sola reacción.
Como se usa en el presente documento, los términos "sujeto", "individuo" y "huésped" pretenden incluir organismos vivos tales como mamíferos. Ejemplos de sujetos y hospedadores incluyen, pero no se limitan a, caballos, vacas, camellos, ovejas, cerdos, cabras, perros, gatos, conejos, cobayas, ratas, ratones (por ejemplo, ratones humanizados), jerbos, primates no humanos (por ejemplo, macacos), humanos y similares, no mamíferos, incluidos, por ejemplo, vertebrados no mamíferos, como aves (por ejemplo, pollos o patos) peces (por ejemplo, tiburones) o ranas (por ejemplo, Xenopus), e invertebrados no mamíferos, así como las especies transgénicas de los mismos.
En ciertos aspectos, un sujeto se refiere a un solo organismo (por ejemplo, humano). En ciertos aspectos, o un grupo de individuos que componen una pequeña cohorte que tiene un factor inmune común para estudiar y/o enfermedad, y/o una cohorte de individuos sin la enfermedad (por ejemplo, control negativo/normal) se proporcionan. Un sujeto del que se obtienen muestras puede ser infligido con una enfermedad y/o trastorno (por ejemplo, una o más alergias, infecciones, cánceres o trastornos autoinmunes o similares) o ser inyectado con un agente (por ejemplo, uno o más de vacuna, un antígeno de interés, un fármaco, una molécula pequeña, un agente biológico o similar para estimular un desafío inmunológico, y compararse con un sujeto de control negativo que no está afectado por la enfermedad y/o no está en contacto con el agente.
En ciertos aspectos, una o más muestras biológicas se aíslan de uno o más sujetos. Como se usa en este documento, una "muestra biológica" puede ser una célula única o muchas células. Una muestra biológica puede comprender un solo tipo de célula o una combinación de dos o más tipos de células. Una muestra biológica incluye además una colección de células que realizan una función similar, como las que se encuentran, por ejemplo, en un tejido. Como se usa en este documento, un tejido incluye, pero no se limita a, tejido epitelial (por ejemplo, piel, el revestimiento de glándulas, intestino, piel y órganos como el hígado, pulmón, riñón), endotelio (por ejemplo, el revestimiento de sangre y vasos linfáticos), mesotelio (por ejemplo, el revestimiento de los espacios pleural, peritoneal y pericárdico), mesénquima (por ejemplo, células que llenan los espacios entre los órganos, incluidas las células de grasa, músculo, hueso, cartílago y tendón), células sanguíneas (por ejemplo, células rojas) y glóbulos blancos), neuronas, células germinales (por ejemplo, espermatozoides, ovocitos), células de líquido amniótico, placenta, células madre y similares. Una muestra de tejido incluye muestras microscópicas, así como muestras macroscópicas. En ciertos aspectos, una muestra biológica es sangre periférica. En otros aspectos, una muestra biológica es un fluido como la saliva, el fluido sinovial o similares. En otros aspectos, una muestra biológica es de uno o más cultivos celulares, secciones de tejido y/o biopsias.
En ciertas realizaciones de ejemplo, una fracción de célula inmunitaria (por ejemplo, un linfocito) se aísla de una muestra biológica utilizando cualquier técnica conocida por un experto en la técnica. En ciertos aspectos, una fracción de linfocitos se aísla mediante centrifugación Ficoll. En otros aspectos, una fracción de linfocitos se inmoviliza sobre un sustrato o un soporte (por ejemplo, un sustrato que se une a una o más de las células B y/o células T). El soporte puede ser simples rejillas cuadradas, cuadrículas de ajedrez (por ejemplo, compensadas), matrices hexagonales y similares. Los soportes adecuados incluyen, entre otros, diapositivas, perlas, astillas, partículas, hebras, geles, láminas, tubos, esferas, recipientes, capilares, almohadillas, rodajas, películas, placas de cultivo, placas (por ejemplo, 96 pozos, 48 pozos, 24 pozos, 12 pozos, ocho pozos, seis pozos, cuatro pozos, pozo individual y similares), superficies celulares (por ejemplo, células de S. aureus) y similares. En diversas realizaciones, un soporte sólido puede ser biológico, no biológico, orgánico, inorgánico o cualquier combinación de los mismos.
En ciertos ejemplos de realización, se proporcionan perlas y matrices basadas en perlas. Como se usa en el presente documento, el término "perla" se refiere a una partícula discreta que puede ser esférica (por ejemplo, microesferas) o que tiene una forma irregular. Las perlas pueden ser tan pequeñas como de aproximadamente 0.1 pm de diámetro o tan grandes como de aproximadamente varios milímetros de diámetro. Las perlas pueden comprender una variedad de materiales que incluyen, entre otros, materiales paramagnéticos, cerámica, plástico, vidrio, poliestireno, metilestireno, polímeros acrílicos, titanio, látex, sefarosa, celulosa, nylon y similares.
De acuerdo con ciertos ejemplos, un soporte (por ejemplo, una perla) puede tener grupos funcionales unidos a su superficie que pueden usarse para unir uno o más reactivos descritos en el presente documento a la perla. Se pueden unir uno o más reactivos a un soporte (por ejemplo, una perla) por hibridación, unión covalente, unión magnética, unión por afinidad y similares. Por ejemplo, un soporte (por ejemplo, una perla) se puede recubrir con un anticuerpo secundario para usar con un anticuerpo primario. En otro ejemplo, un soporte (por ejemplo, una perla) puede recubrirse con grupos reactivos de glicidil éter (epoxi) y/o grupos reactivos de p-toluensulfonilo (tosilo) para usar con un anticuerpo primario. Las perlas recubiertas con una variedad de sustratos están disponibles comercialmente (Dynabeads, Invitrogen). Los soportes (por ejemplo, perlas) también pueden funcionalizarse usando, por ejemplo, químicas en fase sólida conocidas en la técnica (véase, por ejemplo, Patente de los Estados Unidos No. 5,919,523).
Como se usa en el presente documento, el término "unir" se refiere tanto a interacciones covalentes como a interacciones no covalentes. Una interacción covalente es un enlace químico entre dos átomos o radicales formados por el intercambio de un par de electrones (es decir, un enlace simple), dos pares de electrones (es decir, un doble enlace) o tres pares de electrones (es decir, un triple enlace). Las interacciones covalentes también son conocidas en la técnica como interacciones de pares de electrones o enlaces de pares de electrones. Las interacciones no covalentes incluyen, pero no se limitan a, interacciones de van der Waals, enlaces de hidrógeno, enlaces químicos débiles (es decir, a través de fuerzas no covalentes de corto alcance), interacciones hidrófobas, enlaces iónicos y similares. Una revisión de las interacciones no covalentes se puede encontrar en Alberts et al., en Molecular Biology of the Cell, 3d edition, Garland Publishing, 1994.
En ciertas realizaciones de ejemplo, las secuencias de ácidos nucleicos (por ejemplo, ADN y/o ARN) se extraen de células inmunes (por ejemplo, linfocitos, por ejemplo, células B y/o células T). En ciertos aspectos, las secuencias de ácidos nucleicos (por ejemplo, ADN y/o ARN) se extraen de una o más células inmunes de fracciones enriquecidas (por ejemplo, linfocitos, por ejemplo, células B y/o células T). En otros aspectos, las secuencias de ácidos nucleicos (por ejemplo, ADN y/o ARN) se extraen de muestras que no han sido enriquecidas para células inmunes. En ciertos aspectos, los subconjuntos específicos de poblaciones de células se enriquecen preliminarmente, por ejemplo, utilizando FACS o perlas paramagnéticas, lo que permite el enriquecimiento de una célula de memoria B frente a la fracción de células plasmáticas, que puede ser útil para aumentar la calidad de los datos para su uso posterior, por ejemplo, para uso en pronóstico, diagnóstico y similares. En ciertos aspectos, se extraen al menos 25, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1,000, 2,000, 3,000, 4,000, 5,000, 6,000, 7,000, 8,000, 9,000, 10,000, 15,000, 20.000, 25,000, 30,000, 35,000, 40,000, 45,000, 50,000, 55,000, 60,000, 65,000, 70,000, 75,000, 80,000, 85,000, 90.000, 95,000, 100,000, 150,000, 200,000, 250,000, 300,000, 450,000, 500,000, 550,000, 600,000, 650,000, 700.000, 750,000, 800,000, 850,000, 900,000, 950,000, 1,000,000, 1,500,000, 2,000,000, 2,500,000, 3,000,000, 3.500.000, 4,000,000, 4,500,000, 5,000,000, 5,500,000, 6,000,000, 6,500,000, 7,000,000, 7,500,000, 8,000,000, 8.500.000, 9,000,000, 9,500,000, 10,000,000, 20,000,000, 30,000,000, 40,000,000, 50,000,000, 60,000,000, 70.000. 000, 80,000,000, 90,000,000, 100,000,000, 200,000,000, 300,000,000, 400,000,000, 500,000,000, 600.000. 000, 700,000,000, 800,000,000, 900,000,000, 1,000,000,000, 2,000,000,000, 3,000,000,000, 4,000,000,000, 5.000. 000.000, 6,000,000,000, 7,000,000,000, 8,000,000,000, 9,000,000,000, 10,000,000,000, 15,000,000,000, 20.000. 000.000, 30,000,000,000, 40,000,000,000, 50,000,000,000, 60,000,000,000, 70,000,000,000, 80,000,000,000, 90.000.000.000, 100,000,000,000, 200,000,000,000, 300,000,000,000, 400,000,000,000, 500,000,000,000, 600.000. 000.000, 700,000,000,000, 800,000,000,000, 900,000,000,000, 1,000,000,000,000, 2,000,000,000,000, 3.000.000.000.000, 4,000,000,000,000, 5,000,000,000,000, 6,000,000,000,000, 7,000,000,000,000, 8.000. 000.000.000, 9,000,000,000,000, 10,000,000,000,000 o más secuencias de ácidos nucleicos diferentes (por ejemplo, ADN (por ejemplo, genómico) y/o ARN (por ejemplo, ARNm)) o cualquier valor entre y/o rango(s) definido por los números anteriores o intervalos entre o superposición de las células inmunes.
En ciertas realizaciones de ejemplo, se utilizan cebadores no específicos, cebadores degenerados o cebadores específicos (por ejemplo, cebadores que se hibridan con las regiones J y/o C para las cadenas pesadas y/o livianas de las células B o T) para amplificar secuencias de ácido nucleico (por ejemplo, ADN y/o ARN). En ciertos aspectos, el ADNc (si se usa ARNm) o el ADN (si se usa ADN genómico) se amplifica mediante PCR utilizando conjuntos de cebadores que hibridan con el gen codificador de anticuerpos de las cadenas pesada y liviana de las células B y/o células T. En ciertos aspectos, un conjunto de cebadores se hibrida con las regiones V y otro conjunto de cebadores se hibrida con las regiones C. En otros aspectos, ciertos conjuntos de cebadores se hibridan con otras ubicaciones en la región V o en sentido ascendente en la región líder (lo que es favorable para la muestra de ARN, lo que permite la amplificación del ADNc convertido en ARN y no del ADN), mientras que otros conjuntos de cebadores se hibridan en sentido descendente de la región C, y/o a la región J.
En ciertos aspectos, un segmento que abarca la región CDR3 se amplifica utilizando cebadores que se hibridan a cada lado de la región CDR3. Cuanto más separados estén los cebadores en los segmentos VDJ, más secuencia de anticuerpos se recuperará y secuenciará, agregando así información adicional sobre el estado inmune (por ejemplo, información sobre las regiones CDR1, CDR2 y CDR3 y/o hipermutación a través de los segmentos de codificación del anticuerpo). Debido a que hay muchas regiones V, D, J y C, se pueden diseñar cebadores degenerados que hibridan con muchos segmentos, o se puede usarse una sola secuencia de cebador para cada uno de estos segmentos con el fin de amplificar representativamente el repertorio del sujeto (por ejemplo, vía multiplex PCR). En otros aspectos, la amplificación de un conjunto único muy específico de combinación de VDJ se realiza utilizando un conjunto de cebadores. En ciertos aspectos, los ensayos de extracción pueden utilizarse para enriquecer las secuencias de ácidos nucleicos de las células inmunitarias (por ejemplo, ARN y/o ADN). En ciertos aspectos, se realiza un ensayo desplegable que usa una sonda de ARN o de ADN complementaria a alguna parte de los segmentos de interés de VDJ. En ciertos aspectos, los marcadores se usan para enriquecer las secuencias de ácidos nucleicos de células inmunitarias (por ejemplo, ARN y/o ADN) (por ejemplo, fluoróforos para la clasificación de FACS, biotina con estreptavidina, perlas recubiertas de forma covalente y similares). También se pueden utilizar estrategias de enriquecimiento dirigidas, como el uso de sondas de inversión molecular o el uso de hibridación en matriz.
Como se usa en el presente documento, el término "hibridación" se refiere al proceso en donde dos polinucleótidos de cadena simple se unen de manera no covalente para formar un polinucleótido de cadena doble estable. El término "hibridación" también puede referirse a la hibridación de cadena triple. El polinucleótido de doble cadena resultante (generalmente) es un "híbrido" o "dúplex". Las "condiciones de hibridación" normalmente incluirán concentraciones de sal de menos de aproximadamente 1 M, más generalmente de menos de aproximadamente 500 mM e incluso más generalmente de menos de aproximadamente 200 mM. Las temperaturas de hibridación pueden ser tan bajas como 5°C, pero típicamente son mayores que 22°C, más típicamente mayores que aproximadamente 30°C, y con frecuencia en exceso de aproximadamente 37°C. Las hibridaciones se realizan generalmente en condiciones de restricción, es decir, condiciones en las que una sonda hibridará con su subsecuencia objetivo. Las condiciones de restricción dependen de la secuencia y son diferentes en diferentes circunstancias. Los fragmentos más largos pueden requerir temperaturas de hibridación más altas para una hibridación específica. Como otros factores pueden afectar la rigurosidad de la hibridación, incluida la composición de la base y la longitud de las cadenas complementarias, la presencia de disolventes orgánicos y el grado de emparejamiento incorrecto de la base, la combinación de parámetros es más importante que la medida absoluta de uno solo. En general, las condiciones de restricción se seleccionan para que sean aproximadamente 5°C más bajas que la Tm para la secuencia específica a una fuerza iónica y pH definidos. Las condiciones de restricción de ejemplo incluyen una concentración de sal de al menos 0.01 M a no más de 1 M de concentración de ion Na (u otras sales) a un pH de 7.0 a 8.3 y una temperatura de al menos 25°C. Por ejemplo, las condiciones de 5XSSPE (NaCl 750 mM, fosfato de Na 50 mM, EDTA 5 mM, pH 7.4) y una temperatura de 25-30°C son adecuadas para hibridaciones de sondas específicas de alelos. Para condiciones de restricción, véase, por ejemplo, Sambrook, Fritsche and Maniatis, Molecular Cloning A Laboratory Manual, 2nd Ed. Cold Spring Harbor Press (1989) y Anderson Nucleic Acid Hybridization, 1 st edition, BIOS Scientific Publishers Limited (1999). "Hibridación específica a" o "específicamente hibridación a" o expresiones similares se refieren a la unión, dúplex o hibridación de una molécula sustancialmente a o solo a una secuencia de nucleótidos particular o secuencias en condiciones de restricción cuando esa secuencia está presente en una mezcla compleja (por ejemplo, total celular) ADN o ARN.
En ciertas realizaciones de ejemplo, se proporcionan métodos para amplificar secuencias de ácidos nucleicos. Los métodos de ejemplo para amplificar ácidos nucleicos incluyen la reacción en cadena de la polimerasa (PCR) (véase, por ejemplo, Mullis et al. (1986) Cold Spring Harb. Symp. Quant. Biol. 51 Pt 1: 263 and Cleary et al. (2004) Nature Methods 1:241 y Patentes de los Estados Unidos Nos. 4,683,195 y 4,683,202), PCR de anclaje, RACE Pc R, reacción en cadena de la ligación (LCR) (véase, por ejemplo, Landegran et al. (1988) Science 241: 1077-1080; y Nakazawa et al. (1994) Proc. Natl. Acad. Sci. U.S.A. 91: 360-364), replicación de secuencia autosostenida (Guatelli et al. (1990) Proc. Natl. Acad. Sci. U.S.A. 87: 1874), sistema de amplificación transcripcional (Kwoh et al. (1989) Proc. Natl. Acad. Sci. U.S.A. 86: 1173), Q-Beta Replicasa (Lizardi et al. (1988) BioTechnology 6: 1197), Pc R recursiva (Jaffe et al. (2000) J. Biol. Chem. 275: 2619 and Williams et al. (2002) J. Biol. Chem. 277: 7790), los métodos de amplificación descritos en las Patentes de los Estados Unidos Nos. 6,391,544, 6,365,375, 6,294,323, 6,261,797, 6,124,090 y 5,612,199, amplificación isotérmica (por ejemplo, amplificador de círculo rodante (RCA), amplificación de círculo rodante hiperramificado (HRCA), amplificación por desplazamiento de cadena (SDA), amplificación dependiente de helicasa (HDA), PWGA) o cualquier otro método de amplificación de ácido nucleico utilizando técnicas bien conocidas por los expertos en la técnica.
"Reacción en cadena de la polimerasa" o "PCR", se refiere a una reacción para la amplificación in vitro de secuencias de ADN específicas mediante la extensión simultánea del cebador de cadenas complementarias de ADN. En otras palabras, la PCR es una reacción para realizar múltiples copias o réplicas de un ácido nucleico objetivo flanqueado por sitios de unión del cebador, dicha reacción comprende una o más repeticiones de los siguientes pasos: (i) desnaturalizar el ácido nucleico objetivo, (ii) fusión de cebadores a los sitios de unión del cebador, y (iii) extensión de los cebadores por una polimerasa de ácido nucleico en presencia de nucleósidos trifosfatos. Normalmente, la reacción se realiza en ciclos a diferentes temperaturas optimizadas para cada paso en un instrumento termociclador. Las temperaturas particulares, las duraciones en cada paso y las ratas de cambio entre los pasos dependen de muchos factores bien conocidos por los expertos en la técnica, por ejemplo, ejemplificados por las referencias: McPherson et al., Editores, PCR: A Practical Approach and PCR2: A Practical Approach ( iRl Press, Oxford, 1991 y 1995, respectivamente). Por ejemplo, en una PCR convencional que utiliza Taq ADN polimerasa, un ácido nucleico diana bicatenario se puede desnaturalizar a una temperatura superior a 90°C, los cebadores se fusionan a una temperatura en el rango de 50-75°C y los cebadores se extienden a una temperatura en el rango de 72-78°C.
El término "PCR" abarca formas derivadas de la reacción, que incluyen, pero no se limitan a, RT-PCR, PCR en tiempo real, PCR anidada, PCR cuantitativa, PCR multiplexada, p Cr de preparación y similares. Los volúmenes de reacción varían desde unos pocos cientos de nanolitros, por ejemplo, 200 nL, hasta unos pocos cientos de microlitros, por ejemplo, 200 microlitros. "PCR de transcripción reversa" o "RT-PCR" significa una PCR que está precedida por una reacción de transcripción reversa que convierte un ARN objetivo en un ADN monocatenario complementario, que luego se amplifica, por ejemplo, Tecott et al., Patente de los Estados Unidos No. 5,168,038. "PCR en tiempo real" significa una PCR para la cual se monitoriza la cantidad de producto de reacción, es decir, un amplicón, a medida que avanza la reacción. Hay muchas formas de PCR en tiempo real que difieren principalmente en las químicas de detección utilizadas para monitorizar el producto de reacción, por ejemplo, Gelfand et al., Patente de los Estados Unidos No.
5,210,015 ("Taqman"); Wittwer et al., Patentes de los Estados Unidos Nos. 6,174,670 y 6,569,627 (colorantes intercalantes); Tyagi et al., Patente de los Estados Unidos No. 5,925,517 (balizas moleculares). Las químicas de detección para la PCR en tiempo real se revisan en Mackay et al., Nucleic Acids Research, 30: 1292-1305 (2002). "PCR anidada" significa una PCR de dos etapas en donde el amplicón de una primera PCR se convierte en la muestra para una segunda PCR utilizando un nuevo conjunto de cebadores, al menos uno de los cuales se une a una ubicación interior del primer amplicón. Como se usa en este documento, "cebadores iniciales" en referencia a una reacción de amplificación anidada significa los cebadores utilizados para generar un primer amplicón, y "cebadores secundarios" significa el uno o más cebadores utilizados para generar un segundo amplicón, o anidado. "PCR multiplexada" significa una PCR en la que múltiples secuencias diana (o una única secuencia diana y una o más secuencias de referencia) se llevan a cabo simultáneamente en la misma mezcla de reacción, por ejemplo, Bernard et al. (1999) Anal. Biochem., 273: 221-228 (PCR en tiempo real de dos colores). Normalmente, se emplean distintos conjuntos de cebadores para cada secuencia que se amplifica. "PCR cuantitativa" significa una PCR diseñada para medir la abundancia de una o más secuencias diana específicas en una muestra o muestra. Las técnicas para la PCR cuantitativa son bien conocidas por los expertos en la técnica, como se ejemplifica en las siguientes referencias: Freeman et al., Biotechniques, 26: 112-126 (1999); Becker-Andre et al., Nucleic Acids Research, 17: 9437-9447 (1989); Zimmerman et al., Biotechniques, 21: 268-279 (1996); Diviacco et al., Gene, 122: 3013-3020 (1992); Becker-Andre et al., Nucleic Acids Research, 17: 9437-9446 (1989); y similares.
En ciertas realizaciones de ejemplo, se proporcionan métodos para determinar las identidades de secuencia de secuencias de ácidos nucleicos. La determinación de la secuencia de una secuencia de ácidos nucleicos de interés (por ejemplo, secuencias de ácidos nucleicos de células inmunitarias) se puede realizar utilizando una variedad de métodos de secuenciación conocidos en la técnica que incluyen, pero no se limitan a, secuenciación por hibridación (SBH), secuenciación por ligación (SBL), secuenciación cuantitativa de adición de nucleótidos fluorescentes incrementales (QIFNAS), ligación y escisión escalonadas, transferencia de energía de resonancia de fluorescencia (FRET), balizas moleculares, digestión de la sonda reportera TaqMan, pirosecuenciación, secuenciación in situ fluorescente (FISSEQ), perlas FISSEQ (Patente de los Estados Unidos No. 7,425,431), secuenciación por bamboleo (PCT/US05/27695), secuenciación multiplex (número de serie de los Estados Unidos 12/027,039, presentada el 6 de febrero de 2008; Porreca et al (2007) Nat. Methods 4: 931), colonia polimerizada (POLONY) secuenciación (Patentes de los Estados Unidos Nos. 6,432,360, 6,485,944 y 6,511,803, y PCT/US05/06425); secuenciación de círculo rodante de nanogrid (ROLONY) (número de serie 12/120,541 de los Estados Unidos, presentada el 14 de mayo de 2008), ensayos de ligamiento de oligo específicos de alelo (por ejemplo, ensayo de ligamiento de oligo (OLA), OLA de molécula de plantilla única que utiliza una sonda lineal ligada y una lectura de amplificación de círculo rodante (RCA), sondas de candado ligadas y/o molécula de plantilla única OLA utilizando una sonda de candado circular ligada y una lectura de amplificación de círculo rodante (RCA) y similares. También se pueden utilizar métodos de secuenciación de alto rendimiento, por ejemplo, en secuenciación de matriz cíclica que utiliza plataformas como las plataformas Roche 454, Illumina Solexa, ABI-SOLiD, ION Torrents, Genómica completa, Pacific Bioscience, Helicos, Polonator (Sitio web mundial: Polonator.org), y similares. Los métodos de secuenciación de alto rendimiento se describen en el número de serie de los Estados Unidos 61/162,913, presentada el 24 de marzo de 2009. En la técnica se conocen diversas tecnologías de secuenciación basadas en la luz (Landegren et al. (1998) Genome Res. 8: 769-76; Kwok (2000) Pharmocogenomics 1:95-100; y Shi (2001) Clin. Chem. 47: 164-172).
En ciertas realizaciones de ejemplo, los segmentos VDJ enriquecidos se transforman para que puedan ser compatibles con las tecnologías de secuenciación de alto rendimiento de próxima generación. En ciertos aspectos, los adaptadores de secuenciación compatibles se ligan o se agregan mediante PCR y cebadores con saliente en los segmentos VDJ. En otros aspectos, el adaptador tiene un código de barras para que muchas muestras se puedan agrupar y secuenciar en un solo instrumento. Según un aspecto, las muestras que pertenecen al mismo estudio de investigación se procesan lo más posible de la misma manera al mismo tiempo para lograr un alto grado de correlación y maximizar la calidad de los datos obtenidos. Idealmente, la longitud de lectura debería ser suficiente para permitir la identificación de cada segmento V, D y J, originado de cada molécula única. El uso del código de barras también se puede utilizar para lograr la reasignación de segmentos cortos a su molécula inicial original (PMID: 20081835).
En ciertas realizaciones de ejemplo, los datos de secuenciación se alinean contra los segmentos V, D y J conocidos o esperados utilizando una base de datos personal, bases de datos NCBI, bases de datos IMGT o similares para ayudar en la identificación de los segmentos V, D y J. De esta manera, los segmentos V y J pueden identificarse, lo que permite la extracción de la región de unión central de la V con D y los segmentos D con J, que componen la región CDR3. Todas las lecturas de secuenciación (por ejemplo, millones), se pueden agrupar de acuerdo con su uso de V y J, y agruparse para su CDR3 único utilizando varios algoritmos de agrupación descritos en este documento. Esto permitirá agrupar segmentos VDJ altamente similares en clones VDJ, que probablemente codifican para el mismo anticuerpo o un anticuerpo muy similar. Luego, cada lectura (o segmentos VDJ únicos secuenciados) y/o cada clon VDJ (o segmentos VDJ altamente similares de un mismo grupo de grupos) pueden analizarse para determinar la relevancia biológica (por ejemplo, para una enfermedad, trastorno y/o respuesta inmune).
La frecuencia de los clones se puede representar para examinar la reproducibilidad entre experimentos y/o para identificar clones de VDJ únicos o relevantes de diferentes expresiones en diferentes muestras o cohortes. En el caso de un estudio de curso de tiempo, la frecuencia de clones puede representarse en una gráfica de curso de tiempo para identificar la dinámica de expresión del anticuerpo expresado en el sujeto (Figura 4A). Esto permite la zonificación de posibles secuencias de anticuerpos que forman parte de la respuesta inmune contra el desafío inmune que representa posibles biomarcadores terapéuticos o relevantes contra el desafío inmune (Figura 4B). En el caso de la investigación de análisis estático para una enfermedad (por ejemplo, varias muestras de una cohorte que tiene una enfermedad contra una cohorte que no tiene la enfermedad), el agrupamiento comparativo de qué secuencia se realizó y con qué frecuencia en una cohorte contra otra puede revelar terapias o biomarcadores candidatos. El estudio adicional de la divergencia de una secuencia de anticuerpos (como la acumulación de hipermutación somática) de lecturas de VDJ o clones también se puede usarse para revelar posibles candidatos de interés, así como otra información biológica que se puede derivar de los datos, como la distribución de isotipos de los anticuerpos (como IgA, IgD, IgE, IgG e IgM), que se pueden usar para centrarse en un tipo específico de anticuerpo o pseudoespectrotipificación, por ejemplo.
En ciertas realizaciones de ejemplo, se proporcionan métodos para determinar y/o analizar un estado inmune de un individuo que incluyen la etapa de obtención de células inmunes de una muestra biológica. Tal como se usa en el presente documento, el término "célula inmune" pretende incluir, pero no se limita a, una célula que es de origen hematopoyético y que desempeña un papel en la respuesta inmune. Las células inmunes incluyen, pero no se limitan a, linfocitos, tales como células B y células T; células asesinas naturales; y células mieloides, tales como monocitos, macrófagos, eosinófilos, mastocitos, basófilos y granulocitos.
El término "célula presentadora de antígeno" incluye células presentadoras de antígenos profesionales (por ejemplo, linfocitos B, monocitos, células dendríticas y células de Langerhans) así como otras células presentadoras de antígeno (por ejemplo, queratinocitos, células endoteliales, astrocitos, fibroblastos y oligodendrocitos).
Como se usa en el presente documento, el término "respuesta inmune" incluye, pero no se limita a, respuestas inmunes mediadas por células T y/o células B que están influenciadas por la modulación de la estimulación de células T. Las respuestas inmunes de ejemplo incluyen respuestas de células B (por ejemplo, producción de anticuerpos), respuestas de células T (por ejemplo, producción de citoquinas y citotoxicidad celular) y activación de células sensibles a citoquinas, por ejemplo, macrófagos. Como se usa en el presente documento, el término " modulación descendente " con referencia a la respuesta inmune incluye una disminución en una o más respuestas inmunes, mientras que el término " modulación ascendente " con referencia a la respuesta inmune incluye un aumento en una o más respuestas inmunes. Se entenderá que la modulación ascendente de un tipo de respuesta inmunitaria puede conducir a una modulación descendente correspondiente en otro tipo de respuesta inmunitaria. Por ejemplo, la modulación ascendente de la producción de ciertas citoquinas (por ejemplo, IL-10) puede conducir a una modulación descendente de las respuestas inmunes celulares.
Como se usa en el presente documento, el término "anticuerpo" se refiere a moléculas de inmunoglobulina y porciones inmunológicamente activas de moléculas de inmunoglobulina, es decir, moléculas que contienen un sitio de unión a antígeno que se une específicamente (inmunorreacciona con) un antígeno. Se entiende que el término "anticuerpo" en su término general completo incluye componentes en la cadena inmune que incluyen un anticuerpo, inmunoglobulina, receptor de células B, cadena pesada de anticuerpo, cadena liviana de anticuerpo, receptor de células T (TCR), cadena alfa de TCR, cadena beta TCR, cadena gamma TCR, cadena delta TCR o cualquier variación o modificación de las cadenas de anticuerpos y además incluye scFV, Fab, Fab2, Fab3, Bis-scFv, minicuerpo, triacuerpo, diacuerpo, tetracuerpo, nanocuerpo y cualquiera y todas las variantes de isotipo de anticuerpos. Incluyendo IgG, IgA, IgD, IgM e IgE. Ejemplos de porciones inmunológicamente activas de moléculas de inmunoglobulina incluyen fragmentos F(ab) y F(ab')2 que pueden generarse tratando el anticuerpo con una enzima tal como pepsina. En ciertas realizaciones de ejemplo, se proporcionan anticuerpos policlonales y monoclonales que se unen a uno o más antígenos de células inmunitarias. Los términos "anticuerpo monoclonal" y "composición de anticuerpo monoclonal", como se usan en este documento, se refieren a una población de moléculas de anticuerpo que contiene solo una especie de un sitio de unión a antígeno capaz de inmunorreaccionar con un epítopo particular de un antígeno de células inmunitarias. Por lo tanto, una composición de anticuerpo monoclonal típicamente muestra una afinidad de unión única para un antígeno de célula inmune particular con el que inmunorreacciona.
En ciertas realizaciones de ejemplo, se proporcionan ensayos de selección para identificar moduladores del sistema inmune, es decir, compuestos o agentes candidatos o de prueba (por ejemplo, anticuerpos, péptidos, péptidos cíclicos, peptidomiméticos, moléculas pequeñas, moléculas orgánicas pequeñas u otros fármacos). Los compuestos de ensayo descritos en el presente documento pueden obtenerse utilizando cualquiera de los numerosos enfoques en métodos de biblioteca combinatoria conocidos en la técnica, que incluyen: bibliotecas biológicas; bibliotecas de fase sólida o de fase en solución paralelas espacialmente direccionables; métodos de biblioteca sintética que requieren la desconvolución; el método de la biblioteca "una perla, un compuesto"; y métodos de biblioteca sintética que utilizan la selección por cromatografía de afinidad. El enfoque de la biblioteca biológica se limita a las bibliotecas de péptidos, mientras que los otros cuatro enfoques son aplicables a las bibliotecas de compuestos de péptidos, oligómeros no peptídicos o moléculas pequeñas (Lam, K. S. (1997) Anticancer Drug Des. 12:145).
En ciertas realizaciones de ejemplo, uno o más agentes o sales farmacéuticamente aceptables de los mismos descritos en el presente documento se proporcionan en un vehículo farmacéuticamente aceptable. Tal como se usa en el presente documento, el lenguaje "vehículo farmacéuticamente aceptable" pretende incluir todos y cada uno de los disolventes, medios de dispersión, recubrimientos, agentes antibacterianos y antifúngicos, agentes isotónicos y de retardo de la absorción, y similares, compatibles con la administración farmacéutica. El uso de tales medios y agentes para sustancias farmacéuticamente activas es bien conocido en la técnica. Excepto en la medida en que cualquier medio o agente convencional sea incompatible con el compuesto activo, se contempla su uso en las composiciones. Los compuestos activos suplementarios también pueden incorporarse en las composiciones. Los vehículos farmacéuticamente aceptables y sus formulaciones son conocidos por los expertos en la técnica y se describen, por ejemplo, en Remington's Pharmaceutical Sciences, (19a edition), ed. A. Gennaro, 1995, Mack Publishing Company, Easton, PA.
En ciertas realizaciones de ejemplo, las formulaciones farmacéuticas de uno o más agentes descritos en el presente documento o sus sales farmacéuticamente aceptables, se administran mediante inyección intravenosa, inyección intraperitoneal, administración oral o por otras vías parenterales (por ejemplo, administración intradérmica, subcutánea, oral (por ejemplo, inhalación), transdérmica (tópica), transmucosa y rectal), o mediante inyecciones intratecales e intraventriculares en el SNC, en una mezcla con un vehículo farmacéuticamente aceptable adaptado para la vía de administración.
Las soluciones o suspensiones utilizadas para la aplicación parenteral, intradérmica, subcutánea o del sistema nervioso central pueden incluir los siguientes componentes: un diluyente estéril como agua para inyección, solución salina, aceites fijos, polietilenglicoles, glicerina, propilenglicol u otros disolventes sintéticos; agentes antibacterianos tales como alcohol bencílico o metilparabenos; antioxidantes tales como ácido ascórbico o bisulfito de sodio; agentes quelantes tales como ácido etilendiaminotetraacético; reguladores tales como acetatos, citratos o fosfatos y agentes para el ajuste de la tonicidad como el cloruro de sodio o la dextrosa. El pH se puede ajustar con ácidos o bases, como ácido clorhídrico o hidróxido de sodio. La preparación parenteral se puede incluir en ampollas, jeringas desechables o viales de dosis múltiples de vidrio o plástico.
Métodos bien conocidos en la técnica para hacer formulaciones se encuentran, por ejemplo, en Remington's Pharmaceutical Sciences (19a edition), ed. A. Gennaro, 1995, Mack Publishing Company, Easton, PA. Las composiciones destinadas al uso oral pueden prepararse en forma sólida o líquida de acuerdo con cualquier método conocido en la técnica para la fabricación de composiciones farmacéuticas. Las composiciones pueden contener opcionalmente agentes edulcorantes, aromatizantes, colorantes, perfumantes y/o conservantes con el fin de proporcionar una preparación más sabrosa. Las formas de dosificación sólidas para administración oral incluyen cápsulas, tabletas, píldoras, polvos y gránulos. En tales formas sólidas, el compuesto activo se mezcla con al menos un vehículo o excipiente farmacéuticamente aceptable. Estos pueden incluir, por ejemplo, diluyentes inertes, tales como carbonato de calcio, carbonato de sodio, lactosa, sacarosa, almidón, fosfato de calcio, fosfato de sodio o caolín. También se pueden usar agentes aglutinantes, agentes reguladores y/o agentes lubricantes (por ejemplo, estearato de magnesio). Los comprimidos y las píldoras también se pueden preparar con recubrimientos entéricos.
Las composiciones farmacéuticas adecuadas para uso inyectable incluyen soluciones acuosas estériles (cuando son solubles en agua) o dispersiones y polvos estériles para la preparación extemporánea de soluciones o dispersiones estériles inyectables. Para la administración intravenosa, los vehículos adecuados incluyen solución salina fisiológica, agua bacteriostática, CREMOPHOR EL™ (BASF, Parsippany, NJ) o solución salina regulada con fosfato (PBS). En todos los casos, la composición debe ser estéril y debe ser fluida en la medida en que exista una fácil aplicación con jeringa. Debe ser estable en las condiciones de fabricación y almacenamiento y debe conservarse contra la acción contaminante de microorganismos como bacterias y hongos. El vehículo puede ser un disolvente o medio de dispersión que contenga, por ejemplo, agua, etanol, poliol (por ejemplo, glicerol, propilenglicol y polietilenglicol líquido, y similares), y mezclas adecuadas de los mismos. La fluidez adecuada se puede mantener, por ejemplo, mediante el uso de un recubrimiento como la lecitina, mediante el mantenimiento del tamaño de partícula requerido en el caso de la dispersión y mediante el uso de surfactantes. La prevención de la acción de los microorganismos se puede lograr mediante diversos agentes antibacterianos y antifúngicos, por ejemplo, parabenos, clorobutanol, fenol, ácido ascórbico, timerosal y similares. En ciertas realizaciones de ejemplo, agentes isotónicos, por ejemplo, azúcares, polialcoholes tales como manitol, sorbitol y/o cloruro de sodio, se incluirán en la composición. La absorción prolongada de las composiciones inyectables se puede lograr incluyendo en la composición un agente que retrasa la absorción, por ejemplo, monoestearato de aluminio y gelatina.
Las soluciones inyectables estériles pueden prepararse incorporando agentes descritos en el presente documento o sus sales farmacéuticamente aceptables en la cantidad requerida en un disolvente apropiado con uno o una combinación de ingredientes enumerados anteriormente, según se requiera, seguido de esterilización por filtración. En general, las dispersiones se preparan incorporando el compuesto activo en un vehículo estéril que contiene un medio de dispersión básico y los otros ingredientes requeridos de los enumerados anteriormente. En el caso de polvos estériles para la preparación de soluciones inyectables estériles, los métodos de preparación a modo de ejemplo son el secado al vacío y el secado por congelación, que produce un polvo del ingrediente activo más cualquier ingrediente deseado adicional de una solución del mismo filtrada previamente estéril.
Las composiciones orales generalmente incluyen un diluyente inerte o un vehículo comestible. Pueden incluirse en cápsulas de gelatina o comprimirse en tabletas. Para el propósito de la administración terapéutica oral, el compuesto activo puede incorporarse con excipientes y usarse en forma de comprimidos, trociscos o cápsulas. Las composiciones orales también pueden prepararse usando un vehículo fluido para usar como un enjuague bucal, en donde el compuesto en el vehículo fluido se aplica oralmente y se agita y expectora o traga. Agentes de unión farmacéuticamente compatibles y/o materiales adyuvantes pueden incluirse como parte de la composición. Los comprimidos, píldoras, cápsulas, trociscos y similares pueden contener cualquiera de los siguientes ingredientes o compuestos de naturaleza similar: un aglutinante como celulosa microcristalina, goma de tragacanto o gelatina; un excipiente tal como almidón o lactosa, un agente desintegrante tal como algínico, ácido, primogel o almidón de maíz; un lubricante tal como estearato de magnesio o esteroides; un deslizante: tal como dióxido de silicio coloidal; un agente edulcorante tal como sacarosa o sacarina; o un agente saborizante tal como menta, salicilato de metilo o saborizante de naranja.
En una realización, uno o más agentes descritos en el presente documento o sus sales farmacéuticamente aceptables se preparan con vehículos que protegerán el compuesto contra la eliminación rápida del cuerpo, tal como una formulación de liberación controlada, que incluye implantes y sistemas de administración microencapsulados. Se pueden usar polímeros biodegradables y biocompatibles, como etilenvinilacetato, polianhídridos, ácido poliglicólico, colágeno, poliortoésteres y ácido poliláctico. Los métodos para la preparación de tales formulaciones serán evidentes para los expertos en la técnica. Los materiales también pueden obtenerse comercialmente de Alza Corporation y Nova Pharmaceuticals, Inc. Las suspensiones liposomales (que incluyen liposomas dirigidos a células infectadas con anticuerpos monoclonales contra antígenos virales) también pueden usarse como vehículos farmacéuticamente aceptables. Estos pueden prepararse de acuerdo con métodos conocidos por los expertos en la técnica, por ejemplo, como se describe en la Patente de los Estados Unidos No. 4,522,811.
Las composiciones nasales generalmente incluyen aerosoles nasales e inhalantes. Los aerosoles e inhalantes nasales pueden contener uno o más componentes activos y excipientes tales como conservantes, modificadores de la viscosidad, emulsionantes, agentes reguladores y similares. Los aerosoles nasales se pueden aplicar a la cavidad nasal para uso local y/o sistémico. Los aerosoles nasales se pueden dispensar en un dispensador no presurizado adecuado para el suministro de una dosis medida del componente activo. Los inhalantes nasales están diseñados para ser administrados a los pulmones por inhalación oral para uso local y/o sistémico. Los inhalantes nasales se pueden dispensar mediante un sistema de envase cerrado para administrar una dosis medida de uno o más componentes activos.
En una realización, los inhalantes nasales se usan con un aerosol. Esto se logra preparando un aerosol acuoso, una preparación liposomal o partículas sólidas que contienen el compuesto. Se podría usar una suspensión no acuosa (por ejemplo, propelente de fluorocarbono). Se pueden usar nebulizadores sónicos para minimizar la exposición del agente al corte, lo que puede resultar en la degradación del compuesto.
En general, se hace un aerosol acuoso formulando una solución o suspensión acuosa del agente junto con vehículos y estabilizantes farmacéuticamente aceptables convencionales. Los vehículos y estabilizadores varían con los requisitos del compuesto en particular, pero típicamente incluyen surfactantes no iónicos (Tweens, Pluronics o polietilenglicol), proteínas inocuas como la albúmina sérica, ésteres de sorbitán, ácido oleico, lecitina, aminoácidos tales como glicina, reguladores, sales, azúcares o alcoholes de azúcar. Los aerosoles generalmente se preparan a partir de soluciones isotónicas.
La administración sistémica también puede ser por medios transmucosas o transdérmicos. Para la administración transmucosa o transdérmica, en la formulación se usan penetrantes apropiados para la barrera a permear. Dichos penetrantes son generalmente conocidos en la técnica e incluyen, por ejemplo, para administración transmucosa, detergentes, sales biliares y derivados de ácido fusídico. La administración transmucosa se puede lograr mediante el uso de aerosoles nasales o supositorios. Para la administración transdérmica, los compuestos activos se formulan en ungüentos, pomadas, geles o cremas como se conoce generalmente en la técnica.
Uno o más agentes descritos en el presente documento o sus sales farmacéuticamente aceptables también pueden prepararse en forma de supositorios (por ejemplo, con bases de supositorio convencionales tales como manteca de cacao y otros glicéridos) o enemas de retención para administración rectal.
En una realización, uno o más agentes descritos en el presente documento o sus sales farmacéuticamente aceptables se preparan con vehículos que los protegerán contra la eliminación rápida del cuerpo, tal como una formulación de liberación controlada, que incluye implantes y sistemas de administración microencapsulados. Se pueden usar polímeros biodegradables y biocompatibles, como etilenvinilacetato, polianhídridos, ácido poliglicólico, colágeno, poliortoésteres y ácido poliláctico. Los métodos para la preparación de tales formulaciones serán evidentes para los expertos en la técnica. Los materiales también pueden obtenerse comercialmente de Alza Corporation y Nova Pharmaceuticals, Inc. Las suspensiones liposomales (que incluyen liposomas dirigidos a células infectadas con anticuerpos monoclonales contra antígenos virales) también pueden usarse como vehículos farmacéuticamente aceptables. Estos pueden prepararse de acuerdo con los métodos conocidos por los expertos en la técnica, por ejemplo, como se describe en la Patente de los Estados Unidos No. 4,522,811.
Es especialmente ventajoso formular composiciones orales, parenterales o de administración directa en el SNC en forma de unidades de dosificación para facilitar la administración y la uniformidad de la dosificación. La forma de unidad de dosificación como se usa en este documento se refiere a unidades físicamente discretas adecuadas como dosificaciones unitarias para el sujeto a tratar; cada unidad contiene una cantidad predeterminada de compuesto activo calculada para producir el efecto terapéutico deseado en asociación con el vehículo farmacéutico requerido. La especificación para las formas unitarias de dosificación de la invención está dictada por y depende directamente de las características únicas del compuesto activo y el efecto terapéutico particular que se va a lograr, y las limitaciones inherentes a la técnica de composición de dicho compuesto activo para el tratamiento de individuos.
La toxicidad y la eficacia terapéutica de uno o más agentes descritos en el presente documento o sus sales farmacéuticamente aceptables pueden determinarse mediante procedimientos farmacéuticos estándar en cultivos celulares, animales experimentales o en un individuo, por ejemplo, en un ser humano. La relación de dosis entre los efectos tóxicos y terapéuticos es el índice terapéutico y puede expresarse como la relación LD50/ED50. Se prefieren los compuestos que exhiben grandes índices terapéuticos. Si bien se pueden usar compuestos que exhiben efectos secundarios tóxicos, se debe tener cuidado al diseñar un sistema de administración que dirija dichos compuestos al sitio del tejido afectado para minimizar el daño potencial a las células no infectadas y, por lo tanto, reducir los efectos secundarios.
Los datos obtenidos de la monitorización del estado inmune de un individuo pueden usarse para formular un rango de dosis para uso en el individuo (por ejemplo, medicina personalizada). La dosis generalmente estará dentro de un rango de concentraciones circulantes que incluyen el ED50 con poca o ninguna toxicidad. La dosis puede variar dentro de este rango dependiendo de la forma de dosificación empleada y de la vía de administración utilizada. Para cualquier compuesto usado en el método de la invención, la dosis terapéuticamente efectiva puede estimarse inicialmente a partir de ensayos de cultivos celulares. Se puede formular una dosis en modelos animales para lograr un rango de concentración circulante en plasma que incluya la IC50 (es decir, la concentración del compuesto de prueba que logra una inhibición de los síntomas a mitad del máximo) determinada en el cultivo celular. Dicha información se puede utilizar para determinar con mayor precisión las dosis útiles en los seres humanos. Los niveles en plasma se pueden medir, por ejemplo, mediante cromatografía líquida de alto rendimiento.
La monitorización de la influencia de una composición farmacéutica sobre la respuesta inmune de un individuo se puede aplicar no solo en la selección de fármacos básicos, sino también en ensayos clínicos. Por ejemplo, la efectividad de una composición farmacéutica determinada por un ensayo de detección tal como se describe en el presente documento para alterar la respuesta inmune de un sujeto puede controlarse en ensayos clínicos.
En ciertas realizaciones de ejemplo, se proporciona un método para controlar la eficacia del tratamiento de un sujeto con un agente descrito en el presente documento que incluye las etapas de (i) obtener una muestra previa a la administración de un sujeto antes de la administración del agente; (ii) detectar el nivel de expresión de una o más secuencias de ácidos nucleicos del sistema inmunitario en la muestra previa a la administración; (iii) obtener una o más muestras posteriores a la administración del sujeto; (iv) detectar el nivel de una o más secuencias de ácidos nucleicos del sistema inmunitario en las muestras posteriores a la administración; (v) comparar el nivel de expresión de una o más secuencias de ácidos nucleicos del sistema inmunitario en la muestra previa a la administración con el nivel de expresión de una o más secuencias de ácidos nucleicos del sistema inmunitario en la muestra o muestras posteriores a la administración; y (vi) la alterar de la administración del agente al sujeto en consecuencia. De acuerdo con una realización de este tipo, los niveles de expresión alterados de una o más secuencias de ácidos nucleicos del sistema inmune pueden usarse como un indicador de la eficacia de un agente, incluso en ausencia de una respuesta fenotípica observable.
En ciertas realizaciones de ejemplo, se proporciona un método para diagnosticar, pronosticar, monitorizar, tratar, mejorar y/o prevenir en un sujeto una enfermedad, trastorno, síntoma y/o afección. Los sujetos en riesgo de una enfermedad y/o trastorno descritos en el presente documento pueden identificarse, por ejemplo, mediante cualquiera o una combinación de ensayos de diagnóstico o pronóstico como se describe en el presente documento. La administración de un agente profiláctico puede ocurrir antes de la manifestación de los síntomas característicos de una enfermedad o trastorno, de tal manera que se prevenga la enfermedad o trastorno o, alternativamente, se retrase su progresión. Dependiendo del tipo de enfermedad o trastorno, uno o más agentes o sales farmacéuticamente aceptables de los mismos pueden usarse para tratar al sujeto. El agente apropiado puede determinarse basándose en los ensayos de selección descritos en el presente documento.
En ciertas realizaciones de ejemplo, se proporcionan métodos de pronóstico, diagnóstico y/o control de uno o más trastornos o enfermedades asociadas con un agente infeccioso. Los agentes infecciosos incluyen, pero no se limitan a, virus, bacterias, hongos, parásitos, proteínas infecciosas y similares.
Los virus incluyen, pero no se limitan a, virus animales de ADN o ARN. Como se usa en el presente documento, los virus de ARN incluyen, pero no se limitan a, familias de virus como Picornaviridae (por ejemplo, poliovirus), Reoviridae (por ejemplo, rotavirus), Togaviridae (por ejemplo, virus de la encefalitis, virus de la fiebre amarilla, virus de la rubéola), Orthomyxoviridae (por ejemplo, virus de la influenza), Paramyxoviridae (por ejemplo, virus sincicial respiratorio, virus del sarampión, virus de las paperas, virus de la parainfluenza), Rhabdoviridae (por ejemplo, el virus de la rabia), Coronaviridae, Bunyaviridae, Flaviviridae, Filoviridae, Arenaviridae, Bunyaviridae y Retroviridae (por ejemplo, virus linfotrópicos de células T humanas (HTLV), virus de inmunodeficiencia humana (VIH)). Como se usa en este documento, los virus de ADN incluyen, pero no se limitan a, familias de virus tales como Papovaviridae (por ejemplo, virus de papiloma), Adenoviridae (por ejemplo, adenovirus), Herpesviridae (por ejemplo, virus de herpes simple) y Poxviridae (por ejemplo, virus de viruela).
Las bacterias incluyen, pero no se limitan a, bacterias gram positivas, bacterias gram negativas, bacterias ácidas y similares.
Como se usa en este documento, las bacterias gram positivas incluyen, pero no se limitan a, Actinomedurae, Actinomyces israelii, Bacillus anthracis, Bacillus cereus, Clostridium botulinum, Clostridium difficile, Clostridium perfringens, Clostridium tetani, Corynebacterium, Enterococcus faecalis, Listeria monocytogenes, Nocardia, Propionibacterium acnes, Staphylococcus aureus, Staphylococcus epiderm, Streptococcus mutans, Streptococcus pneumoniae y similares.Como se usa en este documento, las bacterias gramnegativas incluyen, pero no se limitan a, Afipia felis, Bacteriodes, Bartonella bacilliformis, Bortadella pertussis, Borrelia burgdorferi, Borrelia recurrentis, Brucella, Calymmatobacterium granulomatis, Campylobacter, Escherichia coli, Francisella tularensis, Gardnerella vaginalis, Haemophilius aegyptius, Haemophilius ducreyi, Haemophilius influenziae, Heliobacter pylori, Legionella pneumophila, Leptospira interrogans, Neisseria meningitidia, Porphyromonas gingivalis, Providencia sturti, Pseudomonas aeruginosa, Salmonella enteridis, Salmonella typhi, Serratia marcescens, Shigella boydii, Streptobacillus moniliformis, Streptococcus pyogenes, Treponema pallidum, Vibrio cholerae, Yersinia enterocolitica, Yersinia pestis y similares.
Como se usa en el presente documento, las bacterias ácido-rápidas incluyen, pero no se limitan a, Myobacterium avium, Myobacterium leprae, Myobacterium tuberculosis y similares.
Como se usa en este documento, otras bacterias que no entran en las otras tres categorías incluyen, pero no se limitan a, Bartonella henseiae, Chlamydiapsittaci, Chlamydia trachomatis, Coxiella burnetii, Mycoplasma pneumoniae, Rickettsia akari, Rickettsia prowazekii, Rickettsia rickettsii, Rickettsia tsutsugamushi, Rickettsia typhi, Ureaplasma urealyticum, Diplococcus pneumoniae, Ehrlichia chafensis, Enterococcus faecium, Meningococci y similares.
Como se usa en este documento, los hongos incluyen, pero no se limitan a, Aspergilli, Candidae, Candida albicans, Coccidioides immitis, Cryptococci, y combinaciones de los mismos.
Como se usa en este documento, los microbios parásitos incluyen, pero no se limitan a, Balantidium coli, Cryptosporidium parvum, Cyclospora cayatanensis, Encephalitozoa, Entamoeba histolytica, Enterocytozoon bieneusi, Giardia lamblia, Leishmaniae, Plasmodii, Toxoplasma gondii, Trypanosomae, trapezoidal amoeba y similares.
Como se usa en el presente documento, los parásitos incluyen gusanos (por ejemplo, helmintos), particularmente gusanos parasitarios que incluyen, pero no se limitan a, Nematoda (gusanos redondos, por ejemplo, gusanos de látigo, gusanos del gancho, lombrices, ascárides, filáridos y similares), Cestoda (por ejemplo, tenias).
Como se usa en el presente documento, las proteínas infecciosas incluyen priones. Los trastornos causados por priones incluyen, entre otros, trastornos humanos como la enfermedad de Creutzfeldt-Jakob (ECJ) (que incluye, por ejemplo, la enfermedad iatrogénica de Creutzfeldt-Jakob (ICJD), la variante de la enfermedad de Creutzfeldt-Jakob (vCJD), la enfermedad de Creutzfeldt-Jakob familiar (fCJD), y enfermedad de Creutzfeldt-Jakob esporádica (sCJD), síndrome de Gerstmann-Straussler-Scheinker (GSS), insomnio familiar fatal (FFI), insomnio fatal esporádico (SFI), kuru y similares, así como trastornos en animales como la tembladera (ovejas y cabras), encefalopatía espongiforme bovina (EEB) (ganado bovino), encefalopatía de visón transmisible (TME), enfermedad de desgaste crónico (CWD) (alce, ciervo mula), encefalopatía espongiforme felina (gatos), encefalopatía de ungulados exótica (EUE) (nyala, oryx, kudu mayor), encefalopatía espongiforme del avestruz y similares.
En ciertas realizaciones de ejemplo, se proporcionan métodos de pronóstico, diagnóstico y/o control de uno o más trastornos de proliferación celular. Los trastornos de proliferación celular pretenden incluir trastornos asociados con la rápida proliferación. Como se usa en el presente documento, el término "trastorno proliferativo celular" incluye trastornos caracterizados por una proliferación indeseable o inapropiada de uno o más subconjuntos de células en un organismo multicelular. El término "cáncer" se refiere a varios tipos de neoplasias malignas, la mayoría de las cuales pueden invadir los tejidos circundantes, y pueden metastatizar a diferentes sitios (véase, por ejemplo, PDR Medical Dictionary 1st edition (1995), incorporado aquí como referencia en su totalidad para todos los fines). Los términos "neoplasia" y "tumor" se refieren a un tejido anormal que crece por proliferación celular más rápidamente de lo normal. Id. Dicho tejido anormal muestra una falta parcial o completa de organización estructural y coordinación funcional con el tejido normal que puede ser benigno (es decir, tumor benigno) o maligno (es decir, tumor maligno).
La expresión "tratamiento de trastornos proliferativos celulares" pretende incluir la prevención de la inducción, el inicio, el establecimiento o el crecimiento de neoplasmas en un sujeto o una reducción en el crecimiento de neoplasmas preexistentes en un sujeto. El lenguaje también puede describir la inhibición de la invasión de células neoplásicas en tejidos vecinos o la metástasis de una neoplasia de un sitio a otro. Ejemplos de los tipos de neoplasmas que pretenden abarcar la presente invención incluyen, entre otros, los neoplasmas asociados con cánceres de mama, piel, huesos, próstata, ovarios, útero, cuello uterino, hígado, pulmón, cerebro, laringe, vesícula biliar, páncreas, recto, paratiroides, tiroides, glándulas suprarrenales, sistema inmunológico, tejido neural, cabeza y cuello, colon, estómago, bronquios y/o riñones.
Los trastornos proliferativos celulares pueden incluir además trastornos asociados con la hiperproliferación de células del músculo liso vascular tales como trastornos cardiovasculares proliferativos, por ejemplo, aterosclerosis y restenosis. Los trastornos de la proliferación celular también pueden incluir trastornos tales como trastornos proliferativos de la piel, por ejemplo, ictiosis ligada al X, psoriasis, dermatitis atópica, dermatitis alérgica de contacto, hiperqueratosis epidermolítica y dermatitis seborreica. Los trastornos de proliferación celular pueden incluir además trastornos tales como enfermedad poliquística renal autosómica dominante (ADPKD), mastocistosis y trastornos de proliferación celular causados por agentes infecciosos tales como virus.
En ciertas realizaciones de ejemplo, se proporcionan métodos de pronóstico, diagnóstico y/o control de uno o más trastornos autoinmunes. Como se usa en el presente documento, el término "trastorno autoinmune" es una enfermedad o trastorno causado por un sujeto que produce una respuesta inmune inadecuada contra sus propios tejidos. Como se usa en este documento, un trastorno autoinmune incluye, pero no se limita a, trastornos como la enfermedad de Addison, alopecia areata, espondilitis anquilosante, síndrome de antifosfolípido, anemia hemolítica autoinmune, hepatitis autoinmune, enfermedad autoinmune del oído interno (EAED), síndrome linfoproliferativo autoinmune (ALPS), púrpura trombocitopénica autoinmune (ATP), enfermedad de Balo, enfermedad de Bechet, cardiomiopatía penfigoide bullosa, enfermedad celíaca, dermatitis herpetiforme, síndrome de disfunción inmune por fatiga crónica (CFIDS), polineuropatía desmielinizante inflamatoria crónica, penfigoide cicatricial, aglutinina fría, síndrome CREST, enfermedad de Crohn, enfermedad de Degos, dermatomiositis, dermatomiositis juvenil, lupus discoide, crioglobulinemia mixta esencial, fibromialgia-fibromiositis, enfermedad de Graves, Guillain-Barrera, tiroiditis de Hashimoto, fibrosis pulmonar idiopática, trombocitopenia púrpura idiopática (PTI), nefropatía por IgA, diabetes insulino-dependiente, artritis juvenil, liquen plano, lupus, enfermedad de Méniére, enfermedad mixta del tejido conectivo, esclerosis múltiple, miastemia grave, pénfigo vulgaris, anemia perniciosa, poliarteritis nodosa, policondritis, síndromes poliglandulares, polimialgia reumática, polimiositis y dermatomiositis, agammaglobulinemia primaria, cirrosis biliar primaria, psoriasis, fenómeno de Raynaud, síndrome de Reiter, fiebre reumática, artritis reumatoide, sarcoidosis, esclerodermia, síndrome de Sjogren, síndrome de la persona rígida, artritis de Takayasu, arteritis temporal/arteritis de células gigantes, colitis ulcerosa, vasculitis, vitiligo, granulomatosis de Wegener y similares (Consulte el sitio web de la American Autoimmune Related Diseases Association, Inc.: aarda.org).
En ciertas realizaciones de ejemplo, la naturaleza y las características de los síntomas, afecciones, enfermedades y/o trastornos se reducen por los métodos de la presente invención en comparación con la naturaleza y características de los síntomas, afecciones, enfermedades y/o trastornos observados en un paciente o muestra (por ejemplo, una muestra de prueba o una muestra tomada de un sujeto antes, durante o después del tratamiento). En ciertos aspectos, la naturaleza y las características de los síntomas, afecciones y enfermedades y/o trastornos de los fenotipos se reducen en aproximadamente un 5%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45%, 50%, 55%, 60%, 65%, 70%, 75%, 80%, 85%, 90%, 91%, 92%, 93%, 94%, 95%, 96%, 97%, 98%, 99%, 99.9% o más, o cualquier rango(s) entre ellos.
En ciertas realizaciones de ejemplo, un método para modular, mejorar, prevenir y/o tratar enfermedades, síntomas y/o trastornos como se describe en el presente documento incluye la etapa de administrar una cantidad terapéuticamente eficaz de un agente a un sujeto. Como se define aquí, una cantidad terapéuticamente eficaz de agente (es decir, una dosis efectiva) varía de aproximadamente 0.0001 a 30 mg/kg de peso corporal, de aproximadamente 0.001 a 25 mg/kg de peso corporal, de aproximadamente 0.01 a 20 mg/kg de peso corporal, de aproximadamente 0.1 a 15 mg/kg de peso corporal, o de aproximadamente 1 a 10 mg/kg, de 2 a 9 mg/kg, de 3 a 8 mg/kg, de 4 a 7 mg/kg, o de 5 a 6 mg/kg peso corporal. El experto en la materia apreciará que ciertos factores pueden influir en la dosis requerida para tratar eficazmente a un sujeto, incluidos, entre otros, la gravedad de la enfermedad o trastorno, los tratamientos anteriores, la salud general y/o la edad del sujeto y otras enfermedades presentes. Además, el tratamiento de un sujeto con una cantidad terapéuticamente eficaz de uno o agentes o sales farmacéuticamente aceptables del mismo puede incluir un solo tratamiento o, en ciertas realizaciones de ejemplo, puede incluir una serie de tratamientos. También se apreciará que la dosis efectiva del agente utilizado para el tratamiento puede aumentar o disminuir en el transcurso de un tratamiento particular. Los cambios en la dosis pueden resultar de los resultados de los ensayos de diagnóstico como se describe en el presente documento. Las composiciones farmacéuticas pueden incluirse en un envase, envase o dispensador junto con instrucciones para la administración.
Las realizaciones de la presente invención se dirigen adicionalmente a métodos de emparejamiento de cadenas pesadas y livianas haciendo coincidir sus frecuencias de clon relativa o haciendo coincidir sus series de tiempo similares. Otras realizaciones incluyen el emparejamiento de cadenas pesadas y livianas en el nivel de una sola célula simultáneamente en muchas células en paralelo en un solo medio de reacción. Dichos métodos incluyen la secuenciación de alto rendimiento de los componentes resultantes de una reacción inmune que utiliza métodos para aislar células, incluida la bioquímica en células formadas con formaldehído entrecruzado/permeabilizado, células encapsuladas en emulsión, células encapsuladas en perlas de agarosa, transfección de liposomas de células individuales, pequeñas transfección con oligonucleótidos de células individuales, incluidos ácidos nucleicos bloqueados o sondas fluorescentes, y similares. Tales métodos reducen la contaminación cruzada y los emparejamientos incorrectos. Los métodos de emparejamiento de cadenas pesadas y livianas descritos en este documento utilizan métodos enzimáticos que incluyen SOE-PCR que puede dar lugar a la incorporación de secuencias de forro de scFv, ligación directa que puede dar como resultado la incorporación de secuencia de engarce de scFv y también puede incluir ligaciones bimoleculares o trimoleculares, clonación de USER, captura de perlas tal como por amplificación en perlas o hibridación en perlas o captura por oligonucleótidos pre-fusionados con secuencias complementarias específicas de la cadena inmune.
Las realizaciones de la presente invención están aún más dirigidas a métodos para obtener moléculas de cadena inmune completa mediante hibridación usando información de CDR3. Dicha realización incluye el uso de tecnologías de secuenciación de lectura corta para seleccionar secuencias de CDR3 y usar estas secuencias de CDR3 para hibridar con una molécula de cadena inmunitaria completa usando oligonucleótidos complementarios.
Las realizaciones de la presente invención incluyen además métodos para reducir la contaminación cruzada o el emparejamiento incorrecto de cadenas pesadas y livianas mediante exonucleasas unidas a perlas y métodos para controlar la contaminación cruzada o el emparejamiento incorrecto de cadenas pesadas y livianas mediante PCR en tiempo real. Los mismos métodos o similares para el emparejamiento de cadenas pesadas y livianas descritos en el presente documento también pueden extenderse a la selección de bibliotecas de anticuerpos frente a bibliotecas de antígenos. De acuerdo con un aspecto, las bibliotecas grandes y complejas de reactivos de afinidad, tales como anticuerpos, nanocuerpos y similares, se analizan frente a bibliotecas grandes y complejas de dianas antigénicas en una única reacción, seguido de un acoplamiento de ADN que codifica la secuencia del anticuerpo al ADN que codifica la secuencia antigénica.
Las realizaciones de la invención incluyen el uso de software informático para automatizar el diseño y/o análisis de secuencias de ácidos nucleicos. Dicho software se puede utilizar junto con individuos que realizan la síntesis de polinucleótidos manual o de forma semiautomática o combinados con un sistema de síntesis automatizado. En al menos algunas realizaciones, el software de diseño/análisis de genes/oligonucleótidos se implementa en un programa escrito en el lenguaje de programación JAVA. El programa se puede compilar en un ejecutable que luego puede ejecutarse desde un indicador de comandos en el sistema operativo WINDOWS XP. El código de software ejemplar se establece como Apéndice D. A menos que se establezca específicamente en las reivindicaciones, la invención no se limita a implementaciones que utilizan los mismos algoritmos, estructura organizativa u otras características específicas del código de software ejemplar. La invención tampoco se limita a la implementación utilizando un lenguaje de programación específico, un entorno de sistema operativo o una plataforma de hardware.
Debe entenderse que las realizaciones de la presente invención que se han descrito son meramente ilustrativas de algunas de las aplicaciones de los principios de la presente invención.
Los siguientes ejemplos se exponen como representativos de la presente invención. Estos ejemplos no deben interpretarse como limitantes del alcance de la invención, ya que estas y otras realizaciones equivalentes serán evidentes a la vista de la presente divulgación, tablas, figuras, apéndices y reivindicaciones adjuntas.
Ejemplo I
Seguimiento de la dinámica de la respuesta inmune humana a través de la secuenciación VDJ
Se extrajeron muestras de sangre periférica de un sujeto a -14 días antes de la vacunación, aproximadamente una hora después de la vacunación (día 0), y 1, 3, 7, 14, 21 y 28 días después de la vacunación. Para cada muestra, se extrajo el ARN total de los leucocitos de sangre periférica, a partir de los cuales se generaron las bibliotecas de secuenciación de ADNc y código de barras 454 utilizando cebadores específicos para la región Vh completa (Figura 1B). El ARNm de células B se analizó para evitar el cebado cruzado del ADN de la línea germinal, para evitar reordenamientos de receptores no funcionales, para beneficiarse de la posible expansión clonal de células específicas de antígeno, y para aprovechar los mayores números de copias de ARNm en células que expresan anticuerpos. Se utilizó la plataforma de secuenciación Roche 454, ya que proporcionaba longitudes de lectura lo suficientemente largas para cubrir la región Vh completa.
A lo largo del curso de 7 ejecuciones de la secuenciación de 454 GS FLX, se obtuvieron aproximadamente 5.5 millones de lecturas de tamaño filtrado que posteriormente se alinearon con la base de datos de referencia de IMGT (Sitio web mundial: imgt.cines.fr/) (Lefranc et al. (2009) Nucleic Acids Res. 37: D1006). Para ello, se identificaron las regiones V, luego J y finalmente D, ya que su longitud decreciente permitió la identificación más confiable. El nuevo algoritmo descrito aquí seleccionó las pocas mejores coincidencias al comparar las frecuencias de palabras y las puntuó utilizando la alineación de programación dinámica (Durbin, R., Eddy, S.R., Krogh, A. and Mitchison, G. Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids (Cambridge Univ. Press, Cambridge; 1998)). Para definir clones, el algoritmo luego sometió a partición las lecturas de acuerdo con su uso de V-J y agrupó sus uniones CDR3 usando agrupamiento jerárquico aglomerado con distancia de edición como la métrica (Gan, G., Ma, C., and Wu, J. Data Agrupación: Theory, Algorithms, and Applications. (SIAM American Statistical Association, Filadelfia, PA, Alexandria, VA; 2007)). Si bien las coincidencias de las regiones V y J generalmente no fueron ambiguas, las identificaciones de la región D no se enfocaron ya que los algoritmos a menudo produjeron alineaciones ambiguas debido a la corta longitud de las regiones D junto con la naturaleza altamente mutada de la CDR3 (Figura 8). Un total de 4.027.253 lecturas pasaron exitosamente este proceso (incluida la identificación con código de barras), a partir del cual se identificó el isotipo de inmunoglobulina buscando las secuencias de cebadores correspondientes en el extremo de la región constante de la lectura (Figura 26).
Dado que se estima que la diversidad potencial del repertorio humano es bastante significativa (hasta 1014 según algunas estimaciones) (Davis et al. (1988) Nature 334:395), la factibilidad técnica y la reproducibilidad de los métodos descritos en este documento se establecen de la siguiente manera. Se secuenció una biblioteca de todos los puntos de tiempo dos veces (secuenciación de réplicas SRI y SR2), y una tercera biblioteca completamente independiente preparada a partir de las mismas muestras de ARN se secuenció una vez (réplica técnica TR1). Entre estas tres ejecuciones de secuenciación, se identificaron 477.118 clones únicos donde solo el 3% se compartió entre las tres corridas y el 14% se observó en al menos dos corridas (Figura 2A). Sin embargo, esos clones compartidos representaron el 59% y el 71% de todas las lecturas, respectivamente, lo que indica que los clones altamente expresados en realidad se muestrean significativamente entre ejecuciones duplicadas. Esto se validó adicionalmente mediante una fuerte correlación entre muestras técnicas replicadas, lo que confirma la reproducibilidad técnica del enfoque descrito aquí (Figuras 2B y 9). Además, el remuestreo de los datos mostró que 105 lecturas eran suficientes para obtener altas correlaciones entre réplicas (Figura 2C). Al calcular los coeficientes de variación (CV), se determinó que se podía obtener una cuantificación confiable de frecuencias de clones tan bajas como 10-4, aunque este número dependía de la profundidad de secuenciación de una muestra dada (Figura 10).
Existen métodos desarrollados para evaluar estructuras de poblaciones ecológicas. (Magurran, A.E. Measuring Biological Diversity. (Blackwell Pub., Malden, Ma.; 2004)). Las gráficas de distribución de tamaño de clonación y abundancia de rangos mostraron que la estructura clonal sigue una distribución de ley de potencia con un exponente de 1.97 en >2 décadas (Figuras 2D y 11). Sin pretender estar limitados por la teoría científica, esto podría reflejar las presiones de selección evolutiva experimentadas por las células durante los procesos de diferenciación y maduración de la afinidad (Caldarelli et al. (2002) Phys. Rev. Lett. 89: 258702; Bianconi and Barabasi (2001) Europhysics Letters 54: 436). Para estimar la diversidad del repertorio Vh total en una muestra de sangre típica de 1 mL, se utilizaron los estimadores de riqueza de especies no paramétricas de Chao1 y ACE (Magurran, Supra). Una ejecución de secuenciación completa también se comprometió a un solo punto de tiempo (ejecución DR1; día -14) para obtener una estimación más confiable. Se observaron puntos de inflexión y convexidad en casi todas las curvas de estimador re-muestreadas, lo que indica que las muestras fueron suficientes para realizar estimaciones confiables (Figuras 12A-12D). Se determinó que una muestra de sangre de 1 mL contenía aproximadamente 100.000-500.000 clones de cadena pesada únicos, dependiendo de la muestra de sangre y el estimador utilizado (Figura 2E). Finalmente, dado que solo se consideraron las cadenas pesadas de inmunoglobulina, y sin la intención de limitarse a la teoría científica, se espera que la diversidad real sea al menos un orden de magnitud mayor cuando se empareja con cadenas livianas. Estos datos demuestran que se puede lograr un muestreo adecuado de la diversidad del repertorio humano en una sola extracción de sangre de 1 mL, lo que indica la utilidad potencial de este enfoque como una herramienta de diagnóstico clínico personalizada para identificar la exposición actual o previa a patógenos (Lerner et al. (1991)) Proc. Natl. Acad. Sci. u Sa 88: 9705). Se generará una gran base de datos de secuencias de anticuerpos anotadas de especificidad.
A continuación, se evaluaron las características del repertorio inmune estático. En general, el uso de V y J fue altamente no uniforme (Figura 3A). Los segmentos V observados con mayor frecuencia fueron IGHV3-23 (11.4% de todas las lecturas), IGHV4-59 (8.5%), IGHV3-30-3 (7.3%) mientras que los segmentos J más frecuentes fueron IGHJ4 (35.1%) e IGHJ6 (18.9%), de acuerdo con estudios anteriores (Boyd, Supra; Brezinschek et al. (1995) J. Immunol.
155: 190; Glanville et al. (2009) Proc. Natl. Acad. Sci. USA (106: 20216). Luego se analizó la distribución de las longitudes de unión de CDR3 (Figura 3B). El percentil 95 de dos lados de las longitudes de CDR3 observadas fue de 33 nucleótidos (nt) a 75 nt, con una longitud media de 54 nt (con la unión más larga observada a 146 nt), que muestra una similitud con la distribución del tamaño del receptor CDR3 de las células T (Freeman et al., Supra) y los datos de IMGT/LIGM (Lefranc, Supra). En un intento de comparación con los métodos tradicionales de baja resolución para analizar los repertorios inmunes, seudo también se generaron gráficos de tipos de espectros en los que se utiliza la diversidad de longitud del receptor como un sustituto de la diversidad general (Figura 3C y Figuras 13A-13B) (Pannetier et al. (1993) Proc. Na. tl Acad Sci. USA 90: 4319). Finalmente, se analizó la distribución de isotipos de inmunoglobulina y se observó que los anticuerpos IgM eran los más abundantes (37% de todas las lecturas), seguidos de IgA (36%), IgG (23%), IgD (4%) e IgE (0.01%). Aunque se midieron los niveles de ARNm expresados en las células B circulantes, estos números aún eran consistentes con la edad del sujeto y los títulos de proteína plasmática esperados (Lefranc, M.-P. & Lefranc, G.E. The Immunoglobulin Factsbook. (Academic Press, San Diego; 2001). En conjunto, estos resultados muestran el primer perfil en profundidad del repertorio de la cadena pesada de inmunoglobulina expresada en un humano individual.
Si bien los análisis anteriores se centraron en establecer la reproducibilidad y la creación de perfiles de la VDJ-oma estática, fue de gran interés examinar las fluctuaciones dinámicas del repertorio inmunológico. Con la esperanza de capturar al menos un evento inmunológico, se indujeron respuestas a múltiples problemas inmunes al vacunar al sujeto contra tres patógenos para los cuales su historial médico sugiere que debería tener memoria inmune: influenza (3 cepas), hepatitis A y hepatitis B. Las frecuencias de clones se rastrearon a través del tiempo para producir casi 500.000 series de tiempo en los ocho puntos de tiempo, revelando la alta complejidad de la dinámica del repertorio (Figura 4A). Mediante la selección aleatoria de clones a través de ejecuciones técnicas repetidas, se observaron correlaciones sólidas cualitativamente a diferentes niveles de expresión, lo que confirmó aún más la reproducibilidad del enfoque descrito aquí (Figura 14). El agrupamiento inicial de la serie de tiempos utilizando un algoritmo de k-medias mostró que los grupos más poblados eran de clones efímeros de varios niveles de expresión observados en cada punto de tiempo individual. Sin embargo, después de eliminar estos clones de punto de tiempo único, los grupos resultantes exhibieron una amplia gama de comportamientos dinámicos (Figuras 15A-15B).
Tradicionalmente, los intentos de caracterizar las respuestas a los desafíos inmunes se realizan mediante la clasificación de las células con ciertos marcadores de superficie, lo que permite la generación de anticuerpos específicos de antígeno mediante el análisis de las cadenas pesadas y livianas de las células individuales (Paul, Supra; Wrammert et al. (2008) Nature 453: 667). En contraste con este enfoque, se realizó un intento de identificar linfocitos específicos de antígeno sin conocimiento previo de antígenos específicos o estados de activación celular y sin utilizar ensayos funcionales. En un intento por identificar clones específicos para los desafíos inmunes, se utilizó un método de agrupamiento de mapas autoorganizados (SOM) (Kohonen, T. Self-Organizing Maps, Ed.2 (Springer, Berlín; Nueva York; 1997); Eichler et al. (2003) Bioinformatics 19: 2321). Esto reveló grupos de clones en los días 7 y 21 que exhibieron los patrones de activación típicamente esperados de células secretoras de anticuerpos (ASC) y células de memoria B (Figura 4B) (Abbas et al., Supra; Murphy et al., Supra; Wrammert et al. al., supra). Estos clones también se correspondían con los picos principales observados en los pseudotipos de espectros tipográficos (identificados por los números asociados con cada pico en la Figura 3C). Sorprendentemente, los clones más dinámicos y altamente expresados (en órdenes de magnitud) se observaron el día 0 (aproximadamente 1 hora después de la vacunación) y el día 1, con una caída significativa en el día 3 (Figura 4A). Si bien no se puede excluir la posibilidad de que el sujeto experimentara inadvertidamente una respuesta inmune no relacionada con las vacunas, se cree que se observó una respuesta de memoria inducida por la vacunación. Si bien se sabe que las respuestas de memoria generan títulos altos de anticuerpos rápidamente, se espera que alcancen un máximo de 3-5 días después de la exposición (Abbas et al., Supra; Murphy et al., Supra; Paul, Supra). Mientras que los títulos séricos más altos inducidos por la exposición pueden ocurrir en los días 3-5, los niveles más altos de expresión de ARNm de las células correspondientes se observaron el día 1, lo que sugiere que los estudios funcionales basados en la clonación de muestras de ADNc recolectados en los días 3-5 probablemente perderían a los candidatos de interés. Sin embargo, es importante tener en cuenta que se tomaron muestras de los ARNm de las células B circulantes, que preceden a la acumulación de proteínas de anticuerpos reales. En contraste con las respuestas de los días 7 y 21, el inicio rápido y la mayor magnitud de la respuesta de memoria del día 1 indican que estos clones pueden haberse pasado por alto en estudios funcionales de descubrimiento de anticuerpos monoclonales terapéuticos (Wrammert et al., Supra; Lanzavecchia et al. (2006) Immunol. Rev. 211: 303; Jin et al. (2009) Nat. Med. 15: 1088).
A continuación, se observaron fluctuaciones globales en la distribución de isotipos en el transcurso del experimento. Curiosamente, se observó un pequeño aumento de IgG en el día 7, mientras que en el día 21, se observó un aumento simultáneo de IgA y una disminución de IgM, lo que indica un posible cambio de clase en los clones inducidos por la vacuna (Figura 4C) (Cerutti (2008) Nat. Rev. Immunol. 8: 421). Para obtener una vista más detallada de la dinámica de isotipos, se analizaron las distribuciones de isotipos de los clones seleccionados por SOM (Figura 4D y Figura 16). Los clones del día 7 estaban compuestos principalmente del isotipo IgM e IgG, mientras que los clones del día 21 estaban compuestos principalmente de IgM e IgA. Lo más interesante es que los clones del día 1 estuvieron dominados por IgA, lo que refleja un papel importante para este isotipo en la defensa antiviral (Cerutti, Supra; Qiao et al. (2006) Nat. Immunol. 7: 302). Dicha respuesta de memoria IgA es característica de la reexposición a antígenos de la gripe (Cox et al. (2006) Vaccine 24: 6577; Wright et al. (1983) Infect. Immun. 40: 1092). Si bien los anticuerpos IgA son en gran parte responsables de la defensa en las secreciones de la mucosa (Cerutti, Supra; Stavnezer (1996) Adv. Immunol. 61:79), se informa que la vacunación contra la influenza (tanto nasal como intramuscular) provoca una respuesta sistémica rápida, fuerte y de corta duración de ASC IgA específica de influenza en sangre periférica (Cox et al., Supra). Sin embargo, la magnitud de la respuesta observada en las horas posteriores a la vacunación indica un nuevo papel efector para la IgA plasmática en la memoria antiviral, y destaca la IgA como una posible inmunoterapia no tradicional en enfermedades virales.
La Figura 6 representa el análisis de clasificación por FACS de algunas de las secuencias seleccionadas de la Figura 4, donde el antígeno de hemaglutinina (Brisbane 10 o Brisbane 59) se recubrió en perlas y los candidatos de anticuerpos se marcaron de manera fluorescente de manera que la interacción correcta entre el antígeno y el anticuerpo daría lugar a un cambio de los picos durante el análisis FACS. El análisis adicional de microbalanza de cristal de cuarzo (QCM) en la Figura 7 demuestra además la afinidad de unión (con el cálculo de kD) del anticuerpo recién descubierto, lo que demuestra el potencial de los métodos y composiciones descritos en el presente documento para identificar de manera eficiente los candidatos de anticuerpos.
De acuerdo con el aspecto de que la invención es una herramienta de diagnóstico personalizada, las lecturas se alinearon con el subconjunto de secuencias de anticuerpos en la base de datos IMGT/LIGM para las cuales existen especificidades de antígeno conocidas (Lefranc et al., Supra). Los CDR se intentaron hacer coincidir perfectamente. Como el conjunto de datos IMGT/LIGM anotado en la especificidad era bastante pequeño (menos de 9.000 secuencias), no se esperaba que se encontraran coincidencias casi perfectas. Sorprendentemente, sin embargo, un solo clon de secuencias logró igualar un anticuerpo anti-digoxina con una única mutación de aminoácido en la periferia de CDR1 (Figura 17). Como el sujeto experimentó dos episodios cardíacos en 1989 y 1994, no se pudo descartar que se le administró digoxina y desarrolló sensibilidad a ella. En cuanto a los candidatos seleccionados de SOM de los días 1, 7 y 21, se encontraron múltiples coincidencias con varios niveles de identidad de secuencia, algunos de los cuales coincidían con anticuerpos específicos de influenza o de hepatitis.
Se describe aquí el análisis de secuenciación de alto rendimiento del repertorio de cadenas pesadas de anticuerpos de células B humanas en respuesta a una vacuna en un experimento de curso temporal. Se ha demostrado aquí que, sin conocimiento previo de antígenos o estados de activación celular, muestras de sangre de un mililitro fueron suficientes para rastrear de manera reproducible la dinámica del sistema inmunológico, a pesar de la gran diversidad y las rápidas fluctuaciones de su repertorio. Debido a esta impresionante diversidad y la influencia del historial de exposición, la respuesta obtenida durante la vacunación humana es un componente importante de la medicina personalizada y la caracterización requerida a nivel individual. Por lo tanto, en el contexto de la medicina personalizada, el enfoque descrito aquí se ha demostrado con éxito para el diagnóstico clínico y el descubrimiento terapéutico.
Referencias
Freeman et al. (2009) Genome Res. 19:1817
Weinstein wt al. (2009) Science 324:807
Boyd et al. (2009) Sci. Transl. Med. 1:12ra23
Allison (2008) Nat. Biotechnol. 26:509
Wrammert et al. (2008) Nature 453:667
Draenert et al. (2006) J. Exp. Med. 203:529
Pereyra et al. (2008) J. Infect. Dis. 197:563
Weinstein et al. (2009) Science 324:807
Freeman et al. (2009) Genome Res. 19:1817
Glanville et al. (2009) Proc. Natl. Acad. Sci. USA 106:20216
Kenneth et al. (2008) Janeway's Immunobiology. Garland Science, New York, 7th ed.
Lefranc and Lefranc (2001) The Immunoglobulin Factsbook. Academic Press, San Diego
Moore and Clayton (2003) Nature 426 :725
Lerner et al. (1001) Proc. Natl. Acad. Sci. USA 88:9705
Brezinschek et al. (1998) J. Immunol. 160:4762
Brezinschek et al. (1995) J. Immunol. 155:190
Pannetier et al. (1995) Immunol. Today 16:176
Pannetier et al. (1993) Proc. Natl. Acad. Sci. USA (1993) 90:4319
Marasco and Sui (2007) Nat. Biotechnol. 25:1421
Ejemplo II
Repertorio de clonación de cadenas pareadas pesadas y livianas
Para confirmar rigurosamente que ciertos clones están implicados en las respuestas inmunes o para descubrir nuevos anticuerpos contra antígenos de interés, es deseable capturar con éxito las cadenas pesadas y livianas de los anticuerpos individuales. Debido a la falta de métodos para capturar cadenas VH y VL pareadas en alto rendimiento, los protocolos conocidos en la técnica implican la clasificación de células individuales en pozos individuales y la realización de PCR para las cadenas pesadas y livianas en serie (por ejemplo, Meijer et al. (2006) J. Mol. Biol. 358: 764). Sin embargo, incluso con robots de manejo de líquidos automatizados, los rendimientos típicos están prácticamente limitados a 106 (a un gran coste). Otra solución popular es capturar repertorios de cadenas pesadas y livianas por separado y asociarlos aleatoriamente entre sí en vectores de expresión (Wright et al. (2009) Proc. Natl. Acad. Sci. USA 106: 19078). Sin embargo, el emparejamiento de cadenas pesadas y livianas probablemente está lejos de ser distribuido al azar. En consecuencia, estos métodos no proporcionan representaciones precisas de los repertorios subyacentes.
Este ejemplo describe un método general para capturar cadenas pesadas y livianas emparejadas en millones de células individuales en un formato de reacción única. Se proporcionan múltiples métodos que permiten la manipulación simultánea de millones de células en paralelo, mientras que las mantienen aisladas entre sí para mantener el emparejamiento de la cadena natural.
Métodos para el acoplamiento unicelular de cadenas.
Se proporcionan múltiples métodos para acoplar las cadenas pesadas y livianas de celdas individuales. Los métodos generales se dividen en dos partes: la bioquímica de enlace de cadena y el método de aislamiento celular. Las soluciones para cada parte se eligen principalmente de forma independiente y se exploran múltiples combinaciones. Algunos de los métodos bioquímicos se basan en la PCR. La elección entre la amplificación de las cadenas diana del ADN genómico o la realización de RT-PCR se realiza en función de la naturaleza de los ARNm expresados. El primero no requiere un paso de transcripción reversa, pero tiene el riesgo de amplificar los receptores no funcionales, mientras que el último puede beneficiarse de un mayor número de copias y solo debería capturar receptores expresos y funcionales. El entrecruzamiento físico se produce opcionalmente a través de múltiples mecanismos. El primero es la PCR estándar de empalme por solapamiento (SOE-PCR) (o PCR de fusión o PCR cruzada), donde dos de los cebadores de PCR tienen secuencias complementarias para que los dos amplicones funcionen como cebadores y se fusionen entre sí (Heckman and Pease (2007) Nat. Protocol. 2:924). Una ventaja de este método es que la secuencia de superposición puede diseñarse de manera que la construcción fusionada se encuentre inmediatamente en un formato scFv utilizable. El siguiente mecanismo es similar al SOE-PCR en donde las etiquetas se incorporan en los cebadores de PCR. En este caso, las etiquetas contienen sitios loxP, de modo que la fusión se producirá en la recombinación mediada por Cre (Albert et al. (1995) Plant J. 7:649; Chapal et al. (1997) Biotechniques 23:518). Finalmente, en el caso de los métodos de emulsión, otra opción bioquímica es amplificar tanto las cadenas pesadas como las livianas en perlas (Diehl et al. (2006) Nat. Methods 3: 551; Shendure et al. (2005) Science 309:1728). Una ventaja es que las perlas se pueden procesar inmediatamente para la secuenciación en sistemas de secuenciación de próxima generación basados en perlas. Sin embargo, esto también puede ser una desventaja, ya que puede limitar el rango de opciones después del acoplamiento de la cadena. Un método alternativo basado en perlas es amplificar ambas cadenas en perlas y luego acoplar las cadenas en las perlas. Esto aumenta la especificidad de todo el proceso, aunque a mayor complejidad del protocolo. Cada uno de estos métodos se resumen en la Figura 27.
Los métodos de aislamiento celular se dividen en dos categorías principales: métodos in-cell y métodos de emulsión. Para los métodos dentro de la célula (Embleton et al. (1992) Nucleic Acids Res. 20:3831), las células se fijan en formalina y se permeabilizan para permitir la difusión de reactivos bioquímicos en la célula. La membrana celular funciona como la barrera que evita la contaminación cruzada de cadenas pesadas y livianas entre las células. Las ventajas de este enfoque general son la relativa simplicidad de fijar las células y también la capacidad de aplicar en serie conjuntos de reactivos a todas las células en paralelo. Sin embargo, sin la intención de limitarse a la teoría científica, la permeabilización puede aumentar potencialmente la posibilidad de que las cadenas de Ig se escapen de las células y provoquen una contaminación cruzada.
Para los métodos basados en emulsión, las células individuales se colocan en compartimentos individuales de una emulsión de agua en aceite (Clausell-Tormos et al. (2008) Chem. Biol. 15:427; Leamon et al. (2006) Nat. Métodos 3:541). Una ventaja de este tipo de enfoque es que la separación de los compartimientos a base de aceite puede proporcionar un aislamiento casi absoluto de la contaminación cruzada de la cadena. Pero mientras que los compartimentos separados por aceite pueden detener cualquier intercambio de material entre compartimientos, un problema común de las emulsiones de ciclos térmicos es que los compartimentos se fusionan entre sí, lo que lleva a la no capacidad de clonación. Además, es considerablemente más difícil manipular las emulsiones. Las emulsiones generalmente se forman utilizando métodos físicos (por ejemplo, vórtice) que dependen de las estadísticas de Poisson para lograr la capacidad de clonación (Nakano et al. (2005) J. Biosci. Bioeng. 99:293; Williams et al. (2006) Nat. Methods 3:545). Sin embargo, esto tiende a conducir a una pequeña fracción de compartimientos no clonales, y también conduce a un gran número de compartimentos desocupados. Para combatir estos problemas, las emulsiones se generan utilizando tecnología de microfluidos (Clausell-Tormos et al., Supra). Una desventaja de usar métodos de emulsión es que una vez que se forma una emulsión, es difícil intercambiar material adicional con los compartimentos de una manera controlada. Sin embargo, se utiliza una tecnología para fusionar gotitas de emulsión de una manera controlada (Tewhey et al. (2009) Nat. Biotechnol. 27:1025; Meyers and Gelfand (1991) Biochemistry 30:7661) para abordar esta desventaja. Finalmente, la PCR en emulsión se realiza opcionalmente usando condiciones que están lejos de los protocolos estandarizados. Los métodos de aislamiento celular se resumen en la Figura 28.
Con estas consideraciones generales, se han identificado al menos seis estrategias para lograr un acoplamiento robusto de cadenas pesadas y livianas. Estas estrategias se representan en la Figura 29 e incluyen, pero no se limitan a: 1) PCR en emulsión a partir de ADNg; 2) RT en célula y SOE-PCR o acoplamiento Cre-Lox; 3) RT-PCR en emulsión mediada por Tth; 4) RT-PCR en la célula encapsulada con acrilamida; 5) PCR en emulsión sobre perlas; y 6) emulsión RT-PCR con fusión de gotitas.
PCR en emulsión a partir de ADNg
Este es el enfoque más simple basado en emulsión. Las células se colocan en la emulsión junto con los reactivos para una reacción de PCR tradicional. SOE-PCR luego se realiza utilizando el ADNg como plantilla.
RT en la celda y SOE-PCR o acoplamiento Cre-Lox
Esto implica fijar células en formalina y permeabilizarlas usando uno de varios métodos (por ejemplo, proteinasa K) (Chapal et al., Supra; Embleton et al., Supra). Debido a que todas las células están en solución, se realiza una reacción de RT-PCR tradicional aplicando las enzimas relevantes en serie.
RT-PCR en emulsión mediada por Tth
Es deseable capturar las cadenas de Ig de la secuencia del ARNm, ya que esto evita cualquier reorganización del receptor no funcional y también se beneficia de los números de copia potencialmente más altos de las células expresadas. Sin embargo, la PCR en emulsión solo permite la adición de reactivos bioquímicos una vez. Por lo tanto, se usa la Tth polimerasa, que es capaz de realizar tanto RT como PCR (Myers and Gelfand, supra). El rendimiento de la polimerasa se caracteriza y se utiliza en el contexto de las emulsiones.
RT-PCR en la célula encapsulada con acrilamida
Esta técnica es similar a la RT-PCR en la célula, pero implica el paso adicional de encapsular células individuales en geles de poliacrilamida (Yokoyama et al. (1990) Jinrui Idengaku Zasshi 35:131), que agrega una capa adicional de Protección contra la contaminación cruzada.
PCR en emulsión en perlas
Como alternativa a SOE-PCR para entrecruzar las cadenas pesadas y livianas, las dos cadenas se capturan mediante PCR convencional en perlas (Diehl et al., Supra). Cada compartimento de emulsión pretende tener una sola célula y una única cuenta. Las perlas están recubiertas con dos cebadores diferentes: uno para la cadena pesada y otro para la cadena liviana. Después de romper la emulsión, las perlas se manipulan opcionalmente de varias maneras. Un método, que puede aumentar la especificidad de la técnica, es entrecruzar las dos cadenas en las perlas utilizando un sistema Cre-Lox modificado.
Emulsión RT-PCR con fusión de gotitas
Como alternativa al uso de la polimerasa Tth, las gotitas de emulsión se fusionan de manera controlada. De esta manera, las "bolsas" de enzimas se pueden fusionar en serie con los compartimentos de emulsión para realizar pasos bioquímicos separados, como RT seguido de PCR. Este enfoque permite el uso de enzimas robustas y bien caracterizadas para realizar por separado RT y PCR.
Diseño de cebadores y vectores para acoplamiento múltiple de cadenas
Los cebadores están diseñados para los diversos protocolos de RT y PCR descritos en este documento. Los cebadores incluyen, pero no se limitan a: cebadores RT; multiplex PCR cebadores para los segmentos V y J para ADNc (los cebadores V son específicos para ADNc ya que abarcarán el límite del exón L1-L2 para la secuencia líder); cebadores de PCR multiplex para los segmentos V y J para ADNg (estos se utilizan durante la PCR en emulsión); cebadores de PCR que son inmovilizados en perlas; cebadores de PCR que contienen etiquetas complementarias para la PCR de solapamiento (es importante que la superposición sea adecuada como secuencia de enlace para una cadena scFv y coloque las cadenas pesada y liviana en el marco); cebadores de PCR que contienen sitios LoxP para entrecruzar cadenas pesadas y livianas (Chapal et al., supra); y cebadores que incorporan secuencias comunes en cebadores para adaptar fácilmente las secuencias a la secuenciación de la próxima generación y para clonar fácilmente secuencias en varios vectores de expresión (es decir, para varias tecnologías de visualización de proteínas). Además, los vectores están diseñados para ser adecuados para una variedad de tecnologías de visualización, utilizando vectores estándar mediante el uso de protocolos de clonación de Gateway.
Optimización de las condiciones de PCR para el entrecruzamiento de PCR
Las condiciones de reacción de PCR se optimizan en varias etapas. El primer ADNg o ARNm preparado a partir de poblaciones clonales de células se utiliza para asegurar que las cadenas pesada y liviana estén reticuladas en un entorno idealizado. Una vez que se logran condiciones de PCR sólidas, las cadenas de Ig (de células enteras) se entrecruzan en soluciones utilizando SOE-PCR o recombinación de Cre-Lox. La tecnología de microfluidos se utiliza para colocar células individuales en compartimentos de emulsión de 100 pm de diámetro (aproximadamente 0.5 nL) (Clausell-Tormos et al., Supra). En ciertas realizaciones, el tamaño del compartimiento se reduce para asegurar que la emulsión no se rompa durante el ciclo térmico. Se puede usarse una concentración celular equivalente a compartimientos de emulsión de 20 pm, que corresponderían a aproximadamente 1.5 x 106 células en una reacción típica de 50 pL.
Optimización del protocolo de aislamiento celular
Las cadenas pesadas y livianas están reticuladas en celdas individuales. Usando una única línea celular monoclonal, se realizan múltiples métodos para aislar células individuales y realizar PCR. Después de la fijación celular con formalina, se realiza la permeabilización de la célula (los detergentes como Nonidet P40 (Embleton et al., Supra) pueden ser demasiado agresivos para tal uso). Las digestiones de proteinasa K se pueden usar para permeabilizar las células al masticar proteínas de membrana y poros (Bagasra (2007) Nat. Protocol. 2:2782). Las etiquetas superpuestas se utilizan para entrecruzar los dos amplicones durante la PCR. Un método alternativo implica la incorporación de sitios LoxP en los dos cebadores internos y el entrecruzamiento de las dos cadenas mediante recombinación de Cre (Chapal et al., Supra).
Caracterización de la contaminación cruzada en el entrecruzamiento de cadenas.
Tras el exitoso entrecruzamiento de cadenas pesadas y livianas en células individuales, se mide el nivel de contaminación cruzada. El estudio de Embleton et al. encontró que al mezclar dos líneas celulares de hibridoma conocidas en proporciones 1:1 y 9:1, no observaron amplicones mal pareados (Embleton et al., supra). Sin embargo, estas relaciones son demasiado indulgentes en comparación con las relaciones reales efectivas de mezclas complejas. En consecuencia, se caracteriza el nivel de emparejamiento erróneo utilizando dos líneas celulares en proporciones de hasta 106:1. Además, el método utilizado en Embleton et al. se basó en la captura de clones de la línea celular "rara" utilizando métodos de detección tradicionales. Estos métodos no son prácticos cuando se intentan en proporciones de células más estrictas, ya que el tipo de célula rara nunca se puede observar. Para abordar esto, se proporcionan métodos basados en PCR que son mucho más sensibles que el método utilizado en Embleton et al.
Ensayo de contaminación cruzada basado en PCR
Se usa un ensayo TaqMan para cuantificar el nivel de contaminación cruzada. Sin pretender estar limitados por la teoría científica, después de realizar la PCR de entrecruzamiento unicelular, se esperan cuatro especies en la mezcla combinada: A-a, A-b, B-a, B-b (donde A y B son los dos clones y A contra a es cadena pesada versus liviana). Como la secuencia del enlazador scFv que conecta las cadenas pesada y liviana es la misma para todas las especies, se utiliza una sonda TaqMan con fluoróforo X para hibridar con esta porción común. Por separado, se utilizan cuatro construcciones de la misma longitud que se amplifican solo por una de las cuatro combinaciones de cebadores, que contienen una secuencia única común que se híbrida con una segunda sonda TaqMan con fluoróforo Y. Las construcciones sintéticas se ajustan a concentraciones conocidas. Se utiliza una reacción de PCR en tiempo real en la que la mezcla experimental de cuatro construcciones se divide en cuatro tubos separados. Cada tubo se amplifica luego con una de las cuatro combinaciones de cebadores junto con la plantilla sintética correspondiente a una concentración conocida. Cada tubo también se amplifica en presencia de ambas sondas TaqMan. La fluorescencia se mide en ambas longitudes de onda en cada ciclo. En última instancia, las mediciones de fluorescencia de Y se utilizan como estándar para comparar las concentraciones relativas de las diversas especies en la mezcla de partida.
Cuantificación de la contaminación cruzada.
Después de un emparejamiento incorrecto basado en PCR, se miden los niveles de contaminación cruzada en diferentes proporciones de las dos líneas celulares. Para los métodos de PCR en la célula, una fuente de contaminación cruzada es el ARNm/ADNc que se filtró en la solución sobrenadante. Para combatir este problema, se analizan diferentes parámetros de permeabilización, por ejemplo, como la modificación de la digestión con proteinasa K.
Para los métodos basados en emulsión, una fuente de contaminación cruzada es la existencia de compartimentos no clonales. Esto puede ocurrir durante la formación de la emulsión cuando se colocan múltiples células en un solo compartimento, así como durante el ciclo térmico de la emulsión, donde diferentes compartimentos de emulsión se pueden fusionar. Para evitar la no capacidad de clonación en la etapa de formación de la emulsión, se proporcionan plataformas de microfluidos para determinar los métodos de formación de la emulsión que son más fáciles de controlar. Se proporciona una variedad de diferentes aceites de emulsión y/o surfactantes y/o compartimentos de emulsión de tamaño reducido para evitar la fusión de gotitas durante el ciclo térmico.
El nivel de contaminación cruzada se obtiene utilizando mezclas de dos líneas celulares conocidas (A y B) en relaciones A:B que varían de 1:1 a 106:1. A medida que aumenta la concentración de A en relación con B, aumenta la probabilidad de que una cadena B se empareje mal con una cadena A, lo que lleva a una mayor cantidad relativa de cadenas B mal apareadas. Dada una compleja mezcla de linfocitos obtenidos de la sangre, se determina el nivel de frecuencia más bajo para el cual se determina el emparejamiento de cadenas pesadas y livianas.
Creación de bibliotecas scFv a partir de muestras complejas.
Las muestras de linfocitos derivadas de sangre complejas se utilizan para generar nuevas bibliotecas de secuenciación 454. Algunas de las muestras de vacunación recogidas se secuencian para confirmar la reproducibilidad.
Análisis de las propiedades del emparejamiento de cadenas, incluidas las estimaciones de diversidad total
Los datos scFv completos recién generados se ejecutan a través de una canalización informática para determinar el uso de VDJ y dividir los datos en clones únicos. Estos datos proporcionan las estimaciones más precisas hasta la fecha de las diversidades de anticuerpos expresadas. Además, muchos estudios suponen que el emparejamiento de cadenas pesadas y livianas es independiente y aleatorio. Sin embargo, sin pretender estar limitado por la teoría científica, se cree que la generación de cadenas pesadas y livianas emparejadas reales mostrará que la distribución está lejos de ser aleatoria y proporciona métodos novedosos para caracterizarla.
Caracterización de múltiples soluciones a la infección por influenza H1N1
Se proporciona un nuevo protocolo para recolectar muestras de sangre de voluntarios que serán inmunizados contra la cepa de influenza H1N1 ("gripe porcina"). El protocolo selecciona voluntarios que no han estado expuestos a la gripe porcina y también voluntarios que contrajeron la enfermedad y la combatieron con éxito. Las respuestas inmunes de las personas que han estado expuestas al virus pueden compararse con las personas inmunes a aquellas que no han estado expuestas al virus (aunque probablemente hayan contraído alguna otra cepa de influenza en algún momento de su historia).
Además, cada muestra obtenida de un sujeto que combatió con éxito la infección por H1N1 contiene una solución inmunológica única para combatir el virus. Se obtienen preparaciones de proteínas disponibles comercialmente de hemaglutinina H1N1 glicosilada y neuraminidasa, y las bibliotecas de scFv expresadas de cada individuo se clonan utilizando un sistema de visualización in vitro (por ejemplo, presentación de fagos). Los anticuerpos contra la gripe se enriquecen funcionalmente utilizando técnicas de exploración estándar, y los grupos de scFv enriquecidos resultantes se secuencian utilizando una tecnología de secuenciación de próxima generación. Esto permite la observación directa de cómo los diferentes individuos combaten el H1N1, y también confirma los resultados obtenidos al secuenciar el repertorio sin tener que desplazarse contra el antígeno.
Además, las muestras se guardan para expresar los supuestos anticuerpos de respuesta y caracterizar su interacción contra bibliotecas de antígenos más grandes.
Ejemplo III
Caracterización de alto rendimiento y selección de repertorios de anticuerpos contra bibliotecas de patógenos
Se utiliza un enfoque similar al descrito anteriormente para caracterizar las interacciones antígeno-anticuerpo en el alto rendimiento. Las tecnologías actuales requieren la selección de nuevos anticuerpos contra un solo antígeno a la vez (Carter (2006) Nat. Rev. Immunol. 6:343). Un experimento típico consiste en purificar e inmovilizar un antígeno de interés y exponerlo a algún tipo de tecnología de visualización de proteínas que codifica una biblioteca de secuencias de anticuerpos candidatos (normalmente en formato scFv). Después de varias rondas de selección, lavado y amplificación, se secuencia una pequeña cantidad de clones y se lleva a cabo para su posterior análisis. Alternativamente, un animal se inmuniza con el antígeno de interés para generar una respuesta policlonal. Luego se recolectan linfocitos específicos de antígeno (para obtener la respuesta policlonal) y se analizan para obtener anticuerpos monoclonales de alta afinidad. Id. Se proporcionan métodos que permiten la selección de nuevos anticuerpos contra múltiples antígenos en paralelo.
Dos cadenas de ácidos nucleicos se acoplan entre sí. Los anticuerpos pueden codificarse en un formato de presentación de proteínas (por ejemplo, Fagos (Clackson et al. (1991) Nature 352:624; McCafferty et al. (1990) Nature 348:552), levadura (Boder and Wittrup (1997) Nat. Biotechnol 15:553; Boder et al. (2000) Proc. Natl. Acad. Sci. USA 97:10701; Chao et al. (2006) Nat. Protoc. 1:755), o presentación de ribosomas (Zahnd et al. (2007) Nat. Methods 4:269)) y los antígenos se empaquetan con su información de codificación (por ejemplo, Bibliotecas de péptidos en formato de visualización o partículas de virus completas). Se permite que las dos bibliotecas interactúen y se seleccionan complejos interactivos (Bowley et al. (2009) Proc. Natl. Acad. Sci. USA 106:1380). Las cadenas de codificación del antígeno y el anticuerpo que interactúan se acoplan físicamente utilizando métodos similares a los descritos en este documento. Esto permitirá la caracterización de anticuerpos específicos de antígeno para múltiples antígenos en paralelo. En última instancia, este tipo de enfoque se ampliará para analizar bibliotecas de antígenos muy grandes contra bibliotecas de antígenos muy grandes (por ejemplo, proteoma humano completo, todas las proteínas virales conocidas y similares).
Un aspecto único de los métodos descritos en este documento es que los protocolos para capturar anticuerpos completos ya habrán formateado los repertorios capturados en un formato scFv, permitiendo una expresión fácil usando una de las tecnologías de visualización de proteínas. En comparación con muchos estudios previos que generan bibliotecas de anticuerpos al azar, cada anticuerpo en las bibliotecas descritas en este documento se genera por un sistema inmune natural que funciona. De esta manera, se pueden usar millones de años de evolución para proporcionar bibliotecas de anticuerpos eficientes que permitirán a un experto en la técnica la capacidad de descubrir rápidamente nuevos anticuerpos funcionales.
Métodos para selecciones de afinidad multiplex
Un enfoque para capturar las interacciones antígeno-anticuerpo (Ag-Ab) implica colocar complejos de Ag-Ab individuales en compartimientos de emulsión individuales. Con el fin de mostrar correctamente los anticuerpos y antígenos, varias opciones son adecuadas, entre ellas, la presentación de fagos, levaduras o ribosomas, partículas virales completas (en el caso de antígenos virales). La visualización de ribosomas ofrece las mayores bibliotecas potenciales y está completamente in vitro. La visualización de fagos es el método más antiguo y proporciona bibliotecas de gran tamaño. La visualización de levadura ofrece los tamaños de biblioteca más pequeños, pero es particularmente adecuada para bibliotecas de antígenos, ya que puede transportar cargas útiles más grandes y tiene maquinaria de glicosilación (Hoogenboom (2005) Nat. Biotechnol. 23:1105). El uso de partículas de virus completas proporciona acceso a los antígenos más realistas, pero tiene un genoma potencialmente grande y otras preocupaciones de seguridad adicionales para el trabajo de laboratorio. Es importante tener en cuenta que debido a que los repertorios expresados naturalmente se clonan, se espera que el tamaño máximo de biblioteca de todas estas tecnologías sea suficiente para capturar la diversidad de secuencias en cualquier muestra de sangre práctica o conjuntos de antígenos. Phage-Ab contra levadura-Ag es un enfoque general prometedor para las selecciones de biblioteca contra biblioteca (Bowley et al., Supra). La levadura es adecuada para fragmentos de proteínas más grandes, los dos sistemas pueden replicarse de manera independiente. Además, el ribosoma-Ab contra el ribosoma-Ag también se utiliza, ya que este sistema es totalmente in vitro. Esto permitirá métodos de acoplamiento que no dependen de las emulsiones. Finalmente, estos métodos también se usan contra partículas virales enteras.
Para los sistemas basados en fagos, se utiliza un método basado en emulsión para capturar anticuerpos y antígenos que interactúan. Después de varias o más rondas de selección de afinidad, los dúplex de fago-levadura-Ag se purifican dos veces usando clasificación magnética o FACS para eliminar las partículas que no interactúan. Id. Estos dúplex se colocan luego en compartimientos de emulsión individuales donde una reacción de PCR de entrecruzamiento asociará físicamente la secuencia codificadora de Ag y Ab. Estas especies reticuladas se preparan para la secuenciación de la próxima generación y las interacciones se detectan mediante el análisis de los datos de secuenciación. Cuando el Ag utilizado es partículas virales completas, la secuencia del genoma puede ser relativamente grande. Sin embargo, como se analiza un número relativamente pequeño de virus únicos, el método es suficiente para encontrar un código de barras único para identificar la cepa específica del virus.
Para el sistema de visualización de ribosomas completamente in vitro, además de intentar el protocolo basado en emulsión, se utilizan métodos de no emulsión. Se utiliza un ensayo de ligamiento de proximidad (Soderberg et al.
(2006) Nat. Methods 3:995) para capturar etiquetas únicas en las bibliotecas de Ag y Ab. Estas etiquetas proporcionarán suficiente información para obtener las secuencias correspondientes completas.
Ensayo de un control positivo para la interacción Ab-Ag
Un solo par de Ag-Ab que se sabe que interactúa con alta afinidad y especificidad está reticulado. Un fragmento scFv se crea en un formato de presentación de fagos a partir de una secuencia que se sabe que se une a la neuraminidasa de la gripe, junto con el fragmento de antígeno correspondiente en un formato de presentación de levadura. Se permite que las preparaciones de las dos especies interactúen en solución, y los métodos descritos aquí se usan para entrecruzar las dos cadenas de codificación.
En un primer método, solo el anticuerpo de la gripe y el antígeno de la gripe pueden interactuar en la solución, y la PCR se utiliza para entrecruzar las dos cadenas codificadoras. Los cebadores se ensayan para el entrecruzamiento mediante PCR solapada y/o recombinación Cre/lox. Del mismo modo, los mismos pares de control positivo Ab y Ag se colocan en un sistema de visualización de ribosomas comercial en donde se permite que el par interactúe. La transcripción reversa y la PCR de entrecruzamiento se realizan utilizando los métodos descritos en este documento para analizar la fusión exitosa de las cadenas codificadoras de Ab y Ag.
Cuantificación del enriquecimiento de doble purificación para la interacción de pares Ab-Ag
Además del control positivo par Ab-Ag, se elige un segundo par ortogonal Ab-Ag, junto con un fago-Ab que no es específico para ningún antígeno usado y un levadura-Ag que no es específico para ninguno de los anticuerpos. Después de permitir que la mezcla interactúe, los complejos de Ab-Ag afines se purifican mediante citometría de flujo de células de levadura utilizando un anticuerpo anti-fago fluorescente, como se describe en (Bowley et al., Supra). A partir de las células clasificadas, se realizan el entrecruzamiento y la PCR y se mide la cantidad de ADN contaminante del fago y la levadura que se espera que no muestre afinidad de unión. Con el fin de reducir la cantidad de fondo, se realiza una purificación doble seguida de la amplificación de las bibliotecas de fagos y levaduras por separado. Id. Para el sistema de visualización de ribosomas, dos etiquetas de afinidad diferentes se codifican en la biblioteca Ag y la biblioteca Ab (por ejemplo, las etiquetas His y flag). Luego se realiza la purificación de la etiqueta de His seguido de la purificación de la etiqueta de bandera para obtener partículas que interactúan.
Cuantificación del aislamiento de complejos Ab-Ag en emulsiones.
Después de realizar la selección para partículas que interactúan, los complejos Ab-Ag se colocan en emulsiones usando los métodos descritos en este documento. En paralelo, se ensayan progresivamente las relaciones más extremas de los dos pares de control positivo ortogonal para determinar la cantidad de contaminación cruzada durante la fusión de la cadena de codificación. En la Figura 30 se presenta un resumen.
Controles iniciales para la ligación de proximidad del ribosoma
Una ventaja de los métodos de presentación de ribosomas descritos en este documento es que todo el sistema está in vitro y las secuencias de codificación son expuestas a una solución. Usando solo uno de los pares Ab-Ag de control positivo, se ensaya el sistema de ligamiento de proximidad basado en círculo rodante (Soderberg et al., Supra). Las dos bibliotecas contienen secuencias únicas que funcionan como códigos_barras. Se añaden sondas adicionales a la reacción que forman círculos cerrados cuando las dos cadenas de los ARNm de Ab y Ag están muy cerca entre sí.
El mismo ensayo se realiza luego con dos controles positivos después de la doble purificación para complejos que interactúan. Esto aclarará si el ensayo de ligamiento de proximidad es específico solo para los pares Ab-Ag que realmente interactúan, o si los círculos pueden cerrarse de forma promiscua.
Creación de una tabla de búsqueda Ab-Ag utilizando bibliotecas de visualización virales
Después de vincular con éxito las cadenas de codificación de pares Ab-Ag interactivos de un pequeño número de controles, el método se aplica a bibliotecas complejas. Se crean bibliotecas de presentación de fagos y visualización de ribosomas de scFv expresados naturalmente que se clonaron como se describe en este documento. Para las muestras de vacunación, se genera una pequeña biblioteca de proteínas virales que corresponden a las mismas cepas a las que los sujetos fueron expuestos. Estas bibliotecas se utilizan para caracterizar qué anticuerpos se unen a qué proteínas. Los resultados obtenidos se correlacionan con los clones de anticuerpos que se identificaron para reaccionar a las vacunas administradas en los pacientes.
Además de generar bibliotecas de proteínas virales artificialmente, se utiliza un método similar con partículas virales completas. Los virus son un sistema conveniente para esta estrategia, ya que funcionan como sus propias partículas de exhibición de proteínas. Además, dado que solo se necesita un pequeño número de cepas virales, es suficiente para identificar qué cepa ha sido capturada mediante el entrecruzamiento con una o más secuencias genómicas de códigos barras únicas.
Ejemplo IV
Materiales y métodos
Muestras biológicas e inmunización
Se extrajeron muestras de sangre periférica en tubos de 9 mL de K3-EDTA de un solo individuo 14 días antes y 0, 1, 3, 7, 14, 21 y 28 días después de la vacunación. Las vacunas administradas fueron las siguientes: Hepatitis A+B (Twinrix) y vacuna contra la influenza de temporada, incluidas las cepas A/Brisbane/59/2007 (similar a H1N1), A/Brisbane/10/2007 (similar a H3N2) y B/Florida/4/2006.Extracción de ARN
Las muestras de sangre se procesaron inmediatamente a través de una unidad de filtrado para aislar la fracción de leucocitos (LeukoLOCK™, Ambion, Austin, TX) y luego se almacenaron a -80°C hasta que se obtuvieron todas las muestras. El ARN total se extrajo posteriormente de acuerdo con el protocolo del fabricante. La integridad y la concentración de ARN se evaluaron utilizando un espectrofotómetro Nanodrop (Thermo Scientific, Wilmington, DE) y un Bionanalizador 2100 (Agilent, Foster City, CA).
Síntesis de ADNc y PCR
Para cada muestra, 2 x 1 |jg de ARN total se transcribieron de manera inversa en 2 reacciones independientes de 20 |jL utilizando la transcriptasa inversa SuperScript™ III (Invitrogen, Carlsbad, CA) a 55°C durante 60 minutos en presencia de 5 pmoles del gen de la región C mezcla de cebadores específicos (IGHC-RT) (Tabla 1), seguida de inactivación enzimática y digestión con RNasa H (Epicenter Biotechnologies, Madison, WI) de acuerdo con los protocolos de Invitrogen. Cada reacción de ADNc de 20 jL se dividió luego en 4 reacciones de PCR de 50 jL cada una, para un total de 8 reacciones de PCR independientes por muestra originaria. La PCR se realizó en presencia de dNTP 200 nM (Enzymatics, Beverly, MA), 25 pmoles de la mezcla de cebadores específicos del gen de la región V (IGHV-PCR), 25 pmoles de la mezcla de cebadores específicos del gen de la región C (IGHC-PCR), y 1 U de ADN de polimerasa de inicio de alta fidelidad Phusion™ (New England Biolabs, Ipswich, MA) y termociclado de la siguiente manera: 98°C durante 1 min, 16 ciclos de 98°C durante 10 segundos, 62°C durante 20 segundos, 72°C durante 20 segundos, seguido de 72°C durante 5 minutos y luego se enfrió a 4°C. Después de la PCR, todas las reacciones que se originaron en la misma muestra se combinaron en una mezcla de 400 jL a la que se agregaron 160 U de exonucleasa I (Epicenter Biotechnologies, Madison, WI) y se incubaron a 37°C durante 45 min. Las muestras se purificaron luego utilizando el kit de purificación de PCR QIAquick (Qiagen, Valencia, CA) y se eluyeron en 36 j l de regulador EB de acuerdo con el protocolo del fabricante.
Tabla 1
Oligonucleótidos de transcripción reversa
Mezcla de cebadores específicos de gen de la región C-(IGHC-RT)
VDJ-20080707-IGHG AGGGYGCCAGGGGGAAGA (SEQ ID NO:133)
VDJ-20080707-IGHM GGAGACGAGGGGGAAAAGG (SEQ ID NO:134)
VDJ-20080707-IGHA CAGCGGGAAGACCTTGGG (SEQ ID NO:135)
VDJ-20080707-IGHD CACATCCGGAGCCTTGGT (SEQ ID NO:136)
VDJ-20080707-IGHE TCAAGGGGAAGACGGATGG (SEQ ID NO:137)
Oligonucleótidos de PCR
Cebadores específicos del gen de la región C (IGHC-PCR)
VDJ-20080924-IGHG-1 CCGATGGGCCCTTGGTGG (SEQ ID NO:138)
VDJ-20080924-IGHG-2 CGGATGGGCCCTTGGTGG (SEQ ID NO:139)
VDJ-20080924-IGHM GGGTTGGGGCGGATGCAC (SEQ ID NO:140)
VDJ-20080924-IGHA CCTTGGGGCTGGTCGGGG (SEQ ID NO:141)
VDJ-20080924-IGHD CATCCGGAGCCTTGGTGG (SEQ ID NO:142)
Oligonucleótidos de transcripción reversa
Mezcla de cebadores específicos de gen de la región C-(IGHC-RT)
VDJ-20080924-IGHE CGGATGGGCTCTGTGTGG (SEQ ID NO:143) Cebadores específicos del gen de la región V-(IGHV-PCR)
VDJ-20080924-IGHV1-1 GAGCAGCGACAGGTGCCC (SEQ ID NO:144) VDJ-20080924-IGHV1-2 CAGCAGCCACAGGTGCCC (SEQ ID NO:145) VDJ-20080924-IGHV1-3 GCAGCAGCTACAGGTGTCC (SEQ ID NO:146) VDJ-20080924-IGHV1-4 CTGTAGCACCAGGTGCCC (SEQ ID NO:147) VDJ-20080924-IGHV1-5 GCTGTAGCTCCAGGTGCTC (SEQ ID NO:148) VDJ-20080924-IGHV1-6 CAGCACCAACAGGTGCCC (SEQ ID NO:149) VDJ-20080924-IGHV1-7 CAGCAGCCACAGNTGCCT (SEQ ID NO:150) VDJ-20080924-IGHV1-8 CAGCAGCTACAAGTGCCC (SEQ ID NO:151) VDJ-20080924-IGHV1-9 CAGCAGCCACAGGAGCCC (SEQ ID NO:152) VDJ-20080924-IGHV1-10 CAGCAGCCACAGGTGTCC (SEQ ID NO:153) VDJ-20080924-IGHV1-11 CAGCAGCTACAGGCACCC (SEQ ID NO:154) VDJ-20080924-IGHV1-12 CCTGTTTTTGGTGCCC (SEQ ID NO:155)
VDJ-20080924-IGHV1-13 TGGCAGCACCAGGCGCCC (SEQ ID NO:156) VDJ-20080924-IGHV1-14 TCATAGCTGCAGGTGCCC (SEQ ID NO:157) VDJ-20080924-IGHV2-1 CTGTCCCGTCCTGGGTCT (SEQ ID NO:158) VDJ-20080924-IGHV2-2 ACCATCCCTTCATGGGTCT (SEQ ID NO:159) VDJ-20080924-IGHV2-3 CCACCCCTTCCTGGGTCT (SEQ ID NO:160) VDJ-20080924-IGHV3-1 TTCTGTGCTATATTAAAGCTGTCC (SEQ ID NO:161) VDJ-20080924-IGHV3-2 TTGTTGCTATTTTAAAAGGTGTCC (SEQ ID NO:162) VDJ-20080924-IGHV3-3 CGTTGCTCTTTTAAGAGGTGTCC (SEQ ID NO:163) VDJ-20080924-IGHV3-4 TTGTTGCTATTTTTAAAGGTGTCC (SEQ ID NO:164) VDJ-20080924-IGHV3-5 TTGTTGCTATATTAGAAGGTGTCC (SEQ ID NO:165) VDJ-20080924-IGHV3-6 GCTATTTTAAAAGGTGTCC (SEQ ID NO:166) VDJ-20080924-IGHV3-7 TTGTTGCTATTTTAGAAGGTGTCC (SEQ ID NO:167)
VDJ-20080924-IGHV3-8 TTGTGGCTATTTTAAAAGGTGTCC (SEQ ID NO:168)
VDJ-20080924-IGHV3-9 TTGTTGTTATTTTACAAGGTGTCC (SEQ ID NO:169)
VDJ-20080924-IGHV3-10 TTCCTGCTATTTTAAAAGGTGTCC (SEQ ID NO:170)
VDJ-20080924-IGHV3-11 TTGCTGCTATTTTAAAAGGTGTCC (SEQ ID NO:171)
VDJ-20080924-IGHV3-12 TTTTGGCTATTTTAAAAGGTGTCC (SEQ ID NO:172)
VDJ-20080924-IGHV3-13 TTGTGGCTAAAATAAAAGGTGTCC (SEQ ID NO:173)
VDJ-20080924-IGHV3-14 TTGTTGCTATAATAAAAGGTGTCC (SEQ ID NO:174)
VDJ-20080924-IGHV3-15 TTGCTGGTATTTTAAAAGGTGTCC (SEQ ID NO:175)
VDJ-20080924-IGHV3-16 TTGTTGGTATTTTAAAAGGTGTCC (SEQ ID NO:176)
VDJ-20080924-IGHV4-1 CAGCTCCCAGATGGGTCC (SEQ ID NO:177)
VDJ-20080924-IGHV4-2 CGGCTCCCAGATGGGTCC (SEQ ID NO:178)
VDJ-20080924-IGHV4-3 GCTCCCAGATGTGGGTCC (SEQ ID NO:179)
VDJ-20080924-IGHV5-1 GGCTGTTCTCCAAGGAGTCT (SEQ ID NO:180)
VDJ-20080924-IGHV5-2 CCTCCACAGTGAGTGAGTCT (SEQ ID NO:181)
VDJ-20080924-IGHV5-3 CCTAGCTATTCTCCAAGGAGTCT (SEQ ID NO:182)
VDJ-20080924-IGHV6-1 GCCTCCCATGGGGTGTCC (SEQ ID NO:183)
VDJ-20080924-IGHV6-2 GGGCCTCCATGGGTGTCC (SEQ ID NO:184)
VDJ-20080924-IGHV7-1 CAGCAGCAACAGGTGCCC (SEQ ID NO:185)
VDJ-20080924-IGHV7-2 GCAGCAGCAACAGGTACCT (SEQ ID NO:186)
454 bibliotecas de construcción de oligonucleótidos
Adaptador A de oligonucleótidos
Adaptador 454 A1_MID1 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGACGAGT*G*C*G*
T (SEQ ID NO:187)
Adaptador 454 A2_MID2 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGACGCTC*G*A*C*A (SEQ ID NO:188)
Adaptador 454 A3_MID3 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGAGACGC*A*C*T*C (SEQ ID
NO:189)
Adaptador 454 A4_MID4 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGAGCACT*G*T*A*G (SEQ ID NO:190)
Adaptador 454 A5_MID5 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGATCAGA*C*A*C*G (SEQ ID NO:191)
Adaptador 454 A6_MID6 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGATATCG*C*G*A*G (SEQ ID NO:192)
Adaptador 454 A8_MID8 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGCTCGCG*T*G*T*C (SEQ ID NO:193)
Adaptador 454 A9_MID9 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGTAGTAT*C*A*G*C (SEQ ID NO:194)
Adaptador 454 A10_MID10 C*C*A*T*CTCATCCCTGCGTGTCTCCGACTCAGTCTCTA*T*G*C*G (SEQ ID NO:195)
Adaptador 454 A*C*G*C*ACTCGTCTGAGTCG*G*A*G*A (SEQ ID NO:196)
Aprime1_MID1
Adaptador 454 T*G*T*C*GAGCGTCTGAGTCG*G*A*G*A (SEQ ID NO:197)
Aprime2_MID2
Adaptador 454 G*A*G*T*GCGTCTCTGAGTCG*G*A*G*A (SEQ ID NO:198)
Aprime3_MID3
Adaptador 454 c *T*A*C*AGTGCTCTGAGTCG*G*A*G*A (SEQ ID NO:199)
Aprime4_MID4
Adaptador 454 C*G*T*G*TCTGATCTGAGTCG*G*A*G*A (SEQ ID NO:200)
Aprime5_MID5
Adaptador 454 C*T*C*G*CGATATCTGAGTCG*G*A*G*A (SEQ ID NO:201)
Aprime6_MID6
Adaptador 454 G*A*C*A*CGCGAGCTGAGTCG*G*A*G*A (SEQ ID NO:202)
Aprime8_MID8
Adaptador 454 G*C*T*G*ATACTACTGAGTCG*G*A*G*A (SEQ ID NO:203)
Aprime9_MID9
Adaptador 454 Aprimel C*G*C*A*TAGAGACTGAGTCG*G*A*G*A (SEQ ID NO:204)
0 MID10
Adaptador B de oligonudeótidos
Adaptador B 454 /5BioTEG/C*C*T*A*TCCCCTGTGTGCCTTGGCAGTC*T*C*A*G (SEQ ID NO:205) Adaptador B 454 prime C*T*G*A*GACT*G*C*C*A (SEQ ID NO:206)
Construcción y secuenciación de biblioteca 454 GS FLX
Las muestras de PCR de inmunoglobulina VH se procesaron siguiendo el protocolo de Preparación de la Biblioteca General Titanium 454 GS FLX. En resumen, las muestras se bloquearon de forma romaa y se fosforilaron en 5' utilizando el kit End-It™ DNA End-Repair (Epicenter Biotechnologies, Madison, WI) en reacciones de 50 pL de acuerdo con las instrucciones del fabricante, seguidas de QIAquick PCR Purification (Qiagen, Valencia, CA) en la presencia de 5 |jL de NaOAc 3M, pH 5.5. Los adaptadores de ADN compatibles con Roche 454 que contenían un código de barras de identificador molecular único (MID) para cada muestra se ligaron en un volumen de reacción de 100 j L en presencia de 30 pmoles de ambos, adaptador A (incluido MID 1 a 8) y adaptador B (idéntico para todas las muestras) y 1200 U de ADN ligasa T4 rápida (Enzymatics, Beverly, MA) a 22°C durante 30 min. Para eliminar los adaptadores no ligados, las muestras se purificaron utilizando una relación 1:1 de perlas AMPure XP (Agencourt Bioscience Corporation, Beverly MA) y se eluyeron en 50 j l de Tris-HCL 10 mM. Los extremos de los fragmentos ligados de los adaptadores de biblioteca se rellenaron en reacciones de 100 j L utilizando 32 U de ADN polimerasa Bst (NEB, Ipswich, MA) en presencia de dNTP 625 j M y regulador de reacción ThermoPol 1X. Las reacciones se purificaron utilizando el kit de purificación por PCR MinElute (Qiagen, Valencia, CA) y se eluyeron en 15 j l de regulador EB. Las muestras se separaron en Novex® TBE Gels al 6% (Invitrogen, Carlsbad, CA) a 200 voltios durante 26 minutos, de los cuales se extrajo la banda adecuada (aproximadamente 450 pb) a 50°C durante 1 hora y se resuspendieron en 20 j L de 10 Tris-HCL mM como se detalla anteriormente (Vigneault et al. (2008) Nat. Methods 5:777). Se encontró que todas las etapas relacionadas con el aislamiento de la biblioteca de ADN monocatenario (ADNsst) de la plantilla no eran necesarias para la posterior PCR en emulsión y la secuenciación 454. Las concentraciones de la biblioteca se determinaron utilizando un Bionanalyzer 2100 (Agilent, Foster City, CA), luego se diluyeron a concentraciones equivalentes. Las 8 muestras de sangre, cada una representando un punto temporal único y caracterizadas por un código de barras MID único, se agruparon a una concentración equimolar. La PCR en emulsión, el enriquecimiento de las perlas y la secuenciación de 454 GS FLX se realizaron en las instalaciones de 454 Life Sciences de acuerdo con el protocolo estándar del fabricante. Este proceso completo (incluida la síntesis de ADNc y la PCR) se repitió de forma independiente varias veces, o específicamente en una sola muestra, con el fin de generar repeticiones técnicas completas para los diversos análisis del estudio.
Flujo informático
Los datos de secuenciación sin procesar se analizaron con la tubería de 454 amplicones para producir lecturas de calidad recortada. Las lecturas se filtraron por tamaño para el tamaño de amplicón apropiado (350-500 pb) y se convirtieron en cadenas de codificación comparando las composiciones de k-mero de las lecturas de consulta con el IMGT/GENE-DB (Giudicelli et al. 2005 Nucleic Acids Res. 33:D256) base de datos y su complemento inverso. Luego, las lecturas se alinearon con la base de datos de referencia IMGT/GENE-DB para determinar el uso de V, D y J, y extraer la región de unión CDR3. En resumen, las composiciones k-mero de secuencias de consulta se compararon con los segmentos de referencia para encontrar las mejores coincidencias, y la mejor coincidencia se eligió utilizando la alineación de programación dinámica tradicional. Luego, las lecturas se dividieron mediante el uso de V-J, y sus uniones CDR3 se agruparon utilizando un agrupamiento jerárquico aglomerado de enlace simple o de enlace completo con la distancia de edición de Levenshtein como métrica. Los clones se definieron cortando el árbol de enlace en 4.5 ediciones. Al dividir las lecturas en los puntos de tiempo separados (identificando su código de barras MID), se definió una serie de tiempos para cada clon. Las series de tiempo se agruparon utilizando la agrupación k-medias con k=100 y la métrica de distancia euclidiana. Para eliminar los clones triviales que aparecieron en puntos de tiempo únicos, se filtraron los clones que mostraban recuentos positivos en al menos dos puntos de tiempo. Las series de tiempo también se agruparon usando mapas autoorganizados (SOM) implementados en el paquete de software GEDI. El software de análisis descrito en este documento está disponible para su descarga como un módulo de Python (Sitio web mundial: arep.med.harvard.edu/vdj).
Diseño de cebador
Todos los oligonucleótidos se adquirieron de Integrated DNA Technologies (IDT, Coralville, IA). Para el diseño de los oligonucleótidos de la región variable corriente arriba (IGHV-PCR), las secuencias L-PART1 y L-PART2 se extrajeron de todos los segmentos de referencia IMGT/GENE-DB3 anotados como "funcionales" u "ORF". Estos dos segmentos se unen in vivo para formar la secuencia líder. La secuencia del cebador se colocó para cruzar el límite exón-exón para asegurar la amplificación de ADNc en lugar de ADNg. Los cebadores se dispusieron para tener 6 nucleótidos 3' del límite del exón, y variaron de 18-24 nucleótidos en longitud para apuntar sus temperaturas de fusión predichas a 60°C. Todas las secuencias duplicadas fueron eliminadas. Para el diseño de los oligonucleótidos de la región constante en sentido descendente (IGHC-RT e IGHC-PCR), los primeros 100 nucleótidos del exón CH1 se extrajeron de la IMGT/GENE-DB3. Los oligonucleótidos se seleccionaron lo más cerca posible del extremo 5' de la región C (cerca de la región variable del receptor), comenzando con 3 nt desde el extremo. Estos se seleccionaron a mano tanto para IGHC-RT como para IGHC-PCR para aprovechar la conservación de la secuencia entre diferentes variantes y para asegurar que los isotipos fueran distinguibles. Todas las secuencias de oligonucleótidos se muestran en la Tabla 1.
Biblioteca de control
Con el fin de evaluar el sesgo de PCR y la eficiencia de amplificación, se extrajo el ARN total de múltiples individuos, se agruparon y se transcribieron de forma inversa como se describe en el Resumen de métodos. Se llevaron a cabo reacciones de PCR independientes para cada cebador específico de gen de la región C (IGHC-PCR) durante 25 ciclos, de los cuales se extrajo en gel la banda apropiada de interés como se describió anteriormente (Vigneault et al., Supra). Para monitorizar la eficiencia de amplificación de los cebadores de la región constante, los amplicones de PCR individuales se cuantificaron utilizando el Bionanalyzer 2100 (Agilent, Foster City, CA), seguido de una PCR en tiempo real realizada por triplicado utilizando el kit Ka Pa SYBR® FAST qPCR (Kapa Biosystems, Woburn, MA) en un instrumento de PCR en tiempo real Bio-Rad CFX96 (Bio-Rad, Hercules, CA). Tanto la PCR de regresión lineal (LinRegPCR) (Ramakers et al. (2003) Neurosci. Lett. 339: 62) como el análisis de la curva de dilución estándar se utilizaron para determinar y comparar las eficiencias de amplificación (Tabla 2).
Tabla 2.
Cebador Eficacia media de LinRegPCR Eficacia media de Eficacia media de Eficiencia individual/reacción en concentración de plantilla LinRegPCR en series de la curva STD media uniforme (triplicado de 1/125) curvas de ETS (series de (series de dilución dilución 1/5) 1/10)
VDJ-20080924- 1.774 1.650 1.803 1.742 IGHG-1
VDJ-20080924- 1.784 1.740 1.824 1.783 IGHG-2
VDJ-20080924- 1.729 1.757 1.766 1.751 IGHM
VDJ-20080924- 1.777 1.731 1.782 1.763 IGHA
VDJ-20080924- 1.779 1.726 1.755 1.753 IGHD
VDJ-20080924- 1.607 1.541 1.831 1.660 IGHE
Identificación de la hebra positiva de 454 lecturas de secuenciación
Después de filtración por tamaño de las lecturas para el tamaño Vh esperado (Figura 18), se identificaron cadenas codificadoras, ya que era importante para la tubería de alineación posterior. Para ello, los k-meros se calcularon previamente utilizando el peine Positive Strand (Tabla 3) para toda la base de datos del segmento de referencia y por separado para su complemento inverso. Luego se calcularon los mismos k-meros para la lectura de la consulta, y la cadena de codificación se determinó calculando el número de k-meros compartidos de la versión positiva frente a la versión negativa de la base de datos.
Tabla 3.
Peine Patrón
Hebra positiva 111111111111
Alineación A 111011001011010111
Alineación B 1111000100010011010111
Alineación C 111111111111
Alineación D 110100001100010101111
Alineación E 1110111010001111
Mini-Alineación A 111011
Peine Patrón
Mini-Alineación B 110111
Resumen de alineación VDJ
La alineación de VDJ permite la identificación de qué segmentos V, D y J se usan en una lectura de secuencia dada. Para cada segmento, se empleó un método heurístico mediante el cálculo de los recuentos de k-mero utilizando múltiples semillas (Tabla 3). Los segmentos candidatos se clasificaron según la cantidad de superposición en sus distribuciones k-mero. Luego se realizó una alineación de programación dinámica completa en los candidatos con mayor puntuación para determinar la mejor coincidencia.
Proceso de alineación VDJ
Para maximizar el número de nucleótidos distintivos, la alineación se realizó en orden decreciente de la longitud del segmento (V, luego J y luego D). Para minimizar la cantidad de secuencia fuera del objetivo (especialmente para los recuentos de k-mero), la región V o J alineada previamente se eliminó antes de intentar la alineación del siguiente segmento. Para alinear los segmentos V y J, se calcularon las semillas 11-mero o 12-mero utilizando los peines listados en la Tabla 3. Los conteos k-mero también se calcularon previamente en todos los segmentos de referencia. Los 5 segmentos de referencia V principales y los 2 segmentos de referencia J superiores fueron elegidos para la alineación y puntuación de la programación dinámica. Como se sabía que los segmentos V y J deben residir en los extremos de las lecturas, se utilizó un método similar al algoritmo de Needleman-Wunsch (Needleman and Wunsch (1970) J. Mol. Biol. 48:443). En contraste con el algoritmo canónico, se utilizaron cero condiciones iniciales para permitir que el inicio de la alineación se produjera en cualquier lugar sin penalización. Luego, la alineación se reconstruyó y se anotó comenzando con el valor máximo de la matriz de puntuación a lo largo de la última fila o última columna, y retrocediendo. Finalmente, los segmentos V o J identificados se eliminaron antes de proceder a la alineación J o D, respectivamente.
Alineación de la región D
Las alineaciones D se realizaron de manera similar. Sin embargo, las dos semillas Mini-Alineación 5-mero enumeradas en la Tabla 3 se utilizaron para seleccionar los 10 segmentos D de referencia principales para llevar a cabo la alineación de la programación dinámica. En este caso, se realizó el algoritmo de alineamiento local canónico de Smith-Waterman (Smith and Waterman (1981) J. Mol. Biol. 147:195), ya que no se disponía de información previa sobre dónde debía residir el segmento D.
Extracción de CDR3
Los segmentos V y J se podaron de acuerdo con las anotaciones de IMGT para la región de unión CDR3: del segundo residuo de cisteína conservado en la región V a través del triptófano o fenilalanina conservado en la región J. Este segmento se almacenó como la región de unión de la región variable correspondiente.
Rendimiento de alineación VDJ
Como actualmente no había una gran base de datos de secuencias de inmunoglobulina de cadena pesada humana para validar el rendimiento del algoritmo, el alineador se calibró utilizando el algoritmo V-QUEST proporcionado como parte de la base de datos IMGT. 66.497 lecturas de tres ejecuciones de secuenciación diferentes se alinearon utilizando el software de alineación V-QUEST. Para cada lectura, las puntuaciones de alineación de programación dinámica para las regiones V, D y J se calcularon por separado para cada segmento de referencia posible, además del segmento correcto producido con el alineador V-QUEST. Las curvas ROC mostraron que la alineación de la región V era la más confiable, seguida de J, seguida de D, como se esperaba (Figura 8). La región D mostró la alineación más ambigua, que se esperaba debido a su corta longitud y alta naturaleza mutada. Por lo tanto, las alineaciones de la región D se ignoraron en los análisis posteriores, y las alineaciones V y J se centraron, junto con la correspondiente región de unión CDR3. Las curvas ROC se utilizaron para elegir los umbrales de puntuación para mantener el número de alineaciones falsamente emparejadas a aproximadamente el 10% o menos.
Agrupación de secuencias
La agrupación de secuencias se realizó para agrupar las secuencias (lecturas) en clones únicos. Este proceso se usó principalmente para asociar secuencias que se originaron a partir de la misma célula/clon, mientras que permite variaciones menores atribuibles a errores de secuenciación. El agrupamiento jerárquico aglomerado de enlace simple o completo se usó con la distancia de edición de Levenshtein como la métrica. Para hacer que el proceso de agrupación sea más manejable, las lecturas se dividieron en función de la identidad V-J. Dentro de cada partición, la agrupación de secuencias se realizó utilizando solo la secuencia de unión CDR3. Además, todas las uniones idénticas se colapsaron antes de la agrupación para mejorar el rendimiento. Debido a que las distancias del clúster solo dependían de los miembros únicos del clúster, esto no afectó los resultados finales del clúster (aunque esto no es cierto para los métodos de clúster de vinculación promedio). Como se describe aquí, los tamaños de los grupos variaron en varios órdenes de magnitud. A continuación, se muestran varias alineaciones (utilizando CLUSTALW) de varias agrupaciones más pequeños como ilustraciones. La mayoría de las diferencias entre las secuencias estuvieron cerca de los homopolímeros, que son el tipo de mutación más común para la secuenciación 454.
Ejemplo de agrupación 1:
1 TGTGCGAGAGAGGGCTACGGTGACTACCGTTACTACTACGGTATGGACGTCTGG 54 (SEQ ID NO:1)
2 TGTGCGAGAGAGGGCTACGGTGACTACCGTTACTACTACGGTATGGACGTCTGG 54 {SEQ ID NO:2)
5 TGTGCGAGAGAGGGCTACGGTGACTACCGTTACTACTACGGTATGGACGTCTGG 54 (SEQ ID NO:3)
6 TGTGCGAGAGAGGGCTACGGTGACTACCGTTACTACTACGGTATGGACGTCTGG 54 (SEQ ID NO:4)
3 TGTGCGAGAGAGGACTACGGTGACTAC-GT— CTACTACGGTATGGACGTCTGG 51
( S E Q I D N O : 5)
4 TGTGCGAGAGGGTACTACGGTGACTACGG---- CCACTACGGTATGGACGTCTGG 51
Figure imgf000035_0001
Ejemplo de agrupación 2:
1 TGTGCGGCAGTTCCCCCCCCT-NAGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 57 (SEQ ID N O :7)
3 TGTGCGGCAGTTCCCCCCCCT-NAGGGAACGACATTTT-GGGGTGCTTTTTGAGATCTGG 58 {SEQ ID N O :8)
9 TGTGCGGCAGTTCCCGCCCCT-CAGGGAACGACATTTTTGGGGTGCTTTTTGAGATCTGG 59 ¡SEQ ID N O :9)
22 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTTTGAGATCTGG 58 (SEQ ID N O :10)
5 CGCGCGGCAGTTCCCCCCCCCTCAGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 58 (SEQ ID N O :11)
24 TGTGCGGCAGDTCCCCCCCTC-----AGGAACGACATTT-----GGGTGCTTTT-GAGATCTGG 53 (SEQ ID N O :12}
6 TGTGCGGCAGDTCCCCCCCTC— AGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 56 (SEQ ID N O :13}
10 TGTGCGGCAGDTCCCCCCCTC— AGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 56 {SEQ ID NO :14)
11 TGTGCGGCAGTTCCCCCCCTC— AGGGAACGACATTDT-GGGGTGCTTTT-GAGATCTGG 56 (SEQ ID NO :15)
13 TGTGCGGCAGTTCCCCCCCTC— AGGGAACGACATTCT-GGGGTGCTTTT-~GAGATCTGG 56 (SEQ ID NO :16)
19 TGTGCGGCAGTTCCCCCCCTC— AGGGAACGACATTDT-GGGGTGCTTDT-GAGATCTGG 56 (SEQ ID NO :17)
21 TGTGCGGCAGTTCCCCCCCTC— AGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 56 (SEQ ID NO :18)
4 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 57 (SEQ ID NO :19)
17 TGTGCGGCAGTDCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCCTTT-GAGATCTGG 57 (SEQ ID NO:20)
8 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTT-GAGñTCTGG 57 (SEQ ID NO:21)
18 TGTGCGGCAGTTCCCCC— CT-CAGGGAACGACATTTT-GGGGTGCTTTT-GAGADCTGG 55 (SEQ ID NO:22)
23 TGTGCGGCAGTDCCCCCCCCT-CAGGGAACGACATDTT-GGGGTGCTTTD-GAGATCTGG 57 (SEQ ID NO:23)
12 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTTTGGGGTGCTTTTTGAGATCTGG 59 (SEQ ID NO :24)
14 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTTTGAGATCIGG 58 (SEQ ID NO :25)
16 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTT-GAGATCTGG 57 (SEQ ID NO:26)
0 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGIGCTTTT-GAGATCTGG 57 (SEQ ID NO:27)
7 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTTTGAGATCTGG 58 (SEQ ID NO:28)
2 TGTGCGGCAGTTCCCCCCCCT-CAGGGAACGACATTTT-GGGGTGCTTTTTGAGATCTGG 58 (SEQ ID NO:2 9)
20 TGTGCGGCAGTTCCCCCCTCA---- GGGAACGACATTT— GGGGTGCTTT--GAGATCTGG 53 (SEQ ID NC:7)
15 TGTGCGGCAGTTCCCCCCCCTCCAGGGAACGACATTT— GGGGTGCTTTT-GAGATCTGG 57 (SEQ ID NO:30)
Ejemplo de agrupación 3:
TGTGCGACGG-TGGGA-GTTCCCC-ACCGGTTTT-GATATCTGG 40 (SEQ ID NO:31)
9 TGTGCGACGG-TGGGACGTTCCCCTACCGGTTTT-GATATCTGG 42 (SEQ ID NO:32)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :33)
6 TGTGCGACGG-TGGGA-GTTCCC— AC-GGTTTT-GATATCTGG 38 (SEQ ID N O :34)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :35)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :36)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :37)
I TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:38)
0 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:39)
7 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:40)
2 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:41)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:42)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :43)
9 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :44)
5 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :45)
9 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO : 46)
4 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :47)
9 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :48)
4 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :49)
2 TGTGCGACGG-TGGGA-GTTCTC— ACCGGTTTTTGATATCTGG 40 (SEQ ID NO:50)
7 TGTGCGACGG-TGGGA-GTTC-C— ACCGGTTTT-GATATCTGG 38 (SEQ ID N O :51)
0 TGTGCGACGG-TGGGA-ATTC-C— ACCGGTTTT-GATATCTGG 38 (SEQ ID N O :52)
0 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTTGATATCTGG 40 (SEQ ID NO:53)
4 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTTGATATCTGG 40 (SEQ ID N O :54)
4 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTTGATATCTGG 40 (SEQ I D NO:55)
4 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTTGATATCTGG 40 (SEQ ID NO :56)
7 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTTTGATATCTGG 40 (SEQ ID NO:57)
5 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTTGATATCTGG 40 (SEQ ID NO :58)
7 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTTGATATCTGG 40 (SEQ I D NO:59)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :60)
5 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :61)
2 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :62)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ I D N O :63)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :64)
9 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :65)
5 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :66)
0 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ I D N O :67)
6 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :68)
1 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO: 59)
5 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ I D NO:70)
1 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:71)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :72)
3 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:73)
9 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:74)
2 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:75)
5 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO: 76)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :77)
01 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :78)
3 TGTGCGACGG-TGG-A-GTTCCC— ACCGGTTTT-GATATCTGG 38 (SEQ ID NO:79)
1 TGTGCGACGG-TGG-A-GTTCCC— ACCGGTTTT-GATATCTGG 38 (SEQ ID NO:80)
0 TGTGCGACGG-TGG-A-GTTCCC— ACCGGTTTT-GATATCTGG 38 (SEQ I D NO:81)
7 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :82)
5 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :83)
0 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:84)
5 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:85)
0 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO: 86)
6 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:87)
2 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:88)
7 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:89)
2 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :90)
6 .TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ I D NO:91)
2 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:92)
1 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :93)
4 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :94)
0 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ I D NO:95)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO: 96)
6 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :97)
9 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 ( S E Q I D N O : 9 8 )
00 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :99)
7 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:100)
4 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :101)
1 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :102)
6 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:103)
2 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:104)
7 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:105)
5 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :106)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :107)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :108)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:109)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :110)
3 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:111)
8 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :112)
1 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:113)
7 TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :114)
1 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:115)
6 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:116)
9 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :117)
TGTGCGACGG-TGGGA-GTTCCC--ACCGGTTTT-GATATCTGG 39 (SEQ ID NO :118)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID NO:119)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :120)
TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTT-GATATCTGG 39 (SEQ ID N O :121)
4 TGTGCGACGG-TGGGA-GTTCCC-TACCGGTTTT-GATATCTGG 40 (SEQ ID NO :122)
21 TGTGCGACGG-TGGGA-GTTCCC-TACCGGTTTT-GATATCTGG 40
(SEQ ID N O :123)
42 TGTGCGACGG-TGGGA-GTTCCC-TACCGGTTTT-GATATCTGG 40
(SEQ ID N O :124)
102 TGTGCGACGG-TGGGA-GTTCCC-TACCGGTTTT-GATATCTGG 40
(SEQ ID N O :125)
18 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTT— GATATCTGG 38
(SEQ ID N O :126)
54 TGTGCGACGG-TGGGA-GTTCCCCTACCGGTTTT-GATATCTGG 41
(SEQ ID NO:127 )
60 TGTGCGACGG-TGGGA-GTTCCCCTACCGGTTTT-GATATCTGG 41
(SEQ ID N O :128)
76 TGTGCGACGGGTGGGACGTTCCCCTACCGGTTTT-GATATCTGG 43
(SEQ ID NO:12 9)
88 TGTGCGACGG-TGGGA-CTTCCC— ACCGCTTTT-GATTTCTGG 39
(SEQ ID N O :130)
29 TGTGCGACGG-TGGGA-GTTCCC— ACCGGTTTTGATTATCGTG 40
(SEQ ID N O :131)
36 TGTGCGACGG-TGGGACGTTCCCCTACCGGTTTTGAT-ATCGTG 42
(SEQ ID N O :132)
k k k k kk k k k k k k k k k k k k k k k k kk k k k
Luego se examinó la distribución de las distancias de cofenética observadas en el árbol de enlace para determinar la distancia óptima para cortar el árbol. Se esperaba que se observara un gran número de eventos de vinculación que se producen a una baja distancia de copenética que representan errores de secuencia. De hecho, se observó una caída rápida en la distribución hasta una distancia de 4-5 ediciones, después de lo cual la distribución mostró un hombro y un descenso más lento (Figura 19A). Esto fue consistente con la relación observada entre el corte de distancia y el número de agolpamientos obtenidos (Figura 19B), ya que también hubo una caída rápida a corta distancia seguida de un hombro y una marcada desaceleración.
Agrupación de series de tiempo: k-medias
Aunque la agrupación de secuencias descrita anteriormente se realizó en datos combinados para los ocho puntos de tiempo, cada identificador de clon único se dividió en los 8 puntos de tiempo identificando los 454 códigos_barras MID. Por lo tanto, cada clon definió una serie de tiempos donde el número de lecturas era un proxy para el nivel de expresión. Como análisis inicial, la agrupación de k-medias se realizó en todas las series temporales utilizando datos combinados de las ejecuciones SR1, SR2 y TR1. El algoritmo de k-medias se realizó en frecuencias de clones (recuentos de lectura en un punto de tiempo determinado normalizado por el número de lecturas) utilizando la métrica de distancia euclidiana con 100 agrupamientos (elegidos arbitrariamente). Los grupos más grandes contenían clones que aparecieron por un solo punto de tiempo y desaparecieron. Esto se observó en una variedad de niveles de expresión y en todos los puntos de tiempo (Figura 15A). Cuando estos agrupamientos se filtraron y se realizó nuevamente el agrupamiento de kmedias, se observó una gran variedad de comportamiento dinámico. Sin embargo, algunos de los grupos más grandes aún eran clones que aumentaron y disminuyeron rápidamente en frecuencia (Figura 15B).
Agrupación de series de tiempo: mapas autoorganizables (SOM)
Debido a la selección arbitraria en el número de clones para el agrupamiento de k-medias y la gran diversidad de comportamiento dinámico, las series de tiempo se agruparon utilizando un método SOM implementado en el paquete de software GEDI (Eichler et al. (2003) Bioinformatics 19:2321). Cada mosaico dentro de un mosaico representa un minigrupo de clones que tienen patrones de expresión muy similares en todos los puntos de tiempo analizados. Al definir una topología en los mosaicos, se agrupan grupos similares, lo que permite una determinación simple del número adecuado de grupos de grupos. Los mismos clones están obligados a la misma posición de mosaico para todos los mapas SOM, lo que permite la comparación directa de los clones en función del patrón de mosaico general. El color de las cuadrículas indica el valor centroide del nivel de expresión génica para cada minigrupo. El agrupamiento de SOM se realizó en una cuadrícula rectangular de 50x49 usando una inicialización aleatoria. Se definió una distancia euclidiana en las series de tiempo y se realizaron dos fases de iteración de entrenamiento (20 y 80). Después de la agrupación, los grupos de interés se identificaron manualmente para su posterior análisis.
Reproducibilidad, requisitos de muestreo y límites de cuantificación
Se realizaron múltiples análisis para determinar si el VDJ-oma se tomaba una muestra lo suficientemente profunda y a qué nivel la dinámica podía cuantificarse de manera confiable (es decir, el límite de cuantificación (Currie (1968) Analytical Chemistry 40:586)). La serie de tiempos replicada de clones elegidos al azar se trazó (de las ejecuciones SR1, SR2 y TR1) para obtener una vista cualitativa de la replicación (Figura 15). Los diagramas de dispersión de las ejecuciones duplicadas mostraron altos niveles de correlación (Figura 9, se muestran las correlaciones de Pearson). Para determinar las características de muestreo de las muestras, se dibujaron pares de submuestras de los datos de diferentes tamaños y se calcularon los coeficientes de correlación (Figura 2C). Los coeficientes de correlación se aproximaron a la unidad a un nivel de muestreo de 105. Para determinar los límites de cuantificación, se generaron diagramas de dispersión para cada punto de tiempo de una réplica dada contra otra. Los datos se agruparon en un eje y la media y la desviación estándar se calcularon en el otro eje. Usando estos valores, se calculó el coeficiente de variación (CV) como una función del nivel de expresión (Figura 10). Se esperaba que los niveles de expresión más altos tuvieran variaciones relativas más bajas y, por lo tanto, deberían haber resultado en CV más pequeños. El ruido en el medio de las curvas fue un artefacto del esquema de muestreo ponderado utilizado, y también se observó ruido en niveles de expresión altos debido a un muestreo deficiente. Un límite inferior de CV de aproximadamente 0.5 ocurrió en frecuencias de clon de <10_4-10-3, dependiendo de las muestras. El muestreo de clones de baja frecuencia se acercó rápidamente al régimen de ruido de Poisson (CV de 1). Diferentes números de lecturas en diferentes puntos de tiempo/réplicas causaron la aparición del ruido de Poisson en diferentes frecuencias.
Estimaciones de la diversidad
Se utilizaron múltiples métodos para estimar la diversidad de anticuerpos. Para estimar las diversidades típicas de pequeñas muestras de sangre de 1 mL, se utilizaron los estimadores basados en la abundancia de Chao1 y ACE (Magurran, A.E. Measuring Biological Diversity (Blackwell Pub., Malden, MA; 2004)). En resumen, Chao1 y ACE se derivaron como estimadores no paramétricos basados en la abundancia para la diversidad. Siguiendo a Magurran, si Sobs era el número de especies observadas en la muestra, F1 era el número de especies observadas una vez (singletons) y F2 era el número de especies observadas dos veces (dobletes), entonces el estimador Chao1 se definió como
Figure imgf000043_0001
Si Sraro fue el número de especies raras (especies con menos o igual a 10 observaciones), Sabundante fue el número de especies abundantes (especies con más de 10 observaciones), Nraro fue el número de individuos en especies raras, Fi fue el número de especies con i observaciones, Cace = 1 - F1/Nraro, y
Figure imgf000043_0002
entonces
Figure imgf000043_0003
Sin embargo, las muestras utilizadas no fueron homogéneas, ya que se extrajeron en diferentes puntos de tiempo después de un ataque inmunitario, lo que puede afectar la distribución de anticuerpos, en comparación con las muestras homogéneas. Se esperaba que tales efectos fueran pequeños, por lo que los estimadores aún se aplicaban. Más significativamente, el nivel de cobertura acaba de pasar un punto de inflexión (lo que indica el inicio de la convergencia hacia una asíntota). En tales casos, las diversidades reales tendieron a ser más altas que los valores estimados, y los estimadores funcionaron como límites inferiores de la diversidad. Las versiones remuestreadas de estos estimadores se muestran en las Figuras 12A-12D. Se observaron puntos de inflexión en casi todas las curvas, lo que indica un acercamiento hacia una asíntota.
De manera similar, los estimadores análogos basados en la incidencia Chao2, ICE, Jack1, Jack2 (Magurran, Supra) se utilizaron para estimar la diversidad sanguínea total, utilizando las múltiples muestras de sangre de manera análoga a los cuadrantes múltiples en ecología. Las mismas consideraciones estadísticas aplicadas a estos conjuntos de estimadores. Los resultados se muestran en la Figura 2E. El método de estimación de diversidad de Arstila et al. (Arstila et al. (1999) Science 286:958) también se simuló utilizando todas las combinaciones posibles de V-J y todos los picos posibles de pseudotipos de espectros. Este método no tuvo en cuenta las consideraciones estadísticas, se esperaba una gran variedad de posibles estimaciones de diversidad. De hecho, se obtuvo una distribución muy amplia de valores, aunque el valor medio todavía estaba cerca del rango de 106 (Figura 2E).
Distribución de las fluctuaciones
Para caracterizar la dinámica de los clones de anticuerpos, se analizó la distribución de sus fluctuaciones típicas. Para las series de tiempo que fueron positivas en todos los puntos de tiempo, el cambio de veces logarítmico de un punto de tiempo se calculó sobre el punto de tiempo anterior. Las distribuciones se muestran en las Figuras 20A-20B. Parecían estar log-distribuidos normalmente y centrados en cero. La distribución del punto temporal de -14 d fue descentrada debido a un artefacto de muestreo. También se esperaba que la varianza de la distribución se correlacionara con la duración del intervalo de tiempo (es decir, las duraciones más largas conducen a mayores fluctuaciones). De hecho, las Figuras 20A-20B muestran una fuerte correlación, con un coeficiente de correlación de Pearson de 0.91.
Generación de tipos de pseudoespectros
Para cada punto de tiempo, los datos de recuento se dividieron por el uso de V-J y luego por la longitud de la unión CDR3. Para cada longitud de trama posible (múltiplo de 3), se calculó el número de lecturas en trama frente a las lecturas fuera de trama que fueron una base demasiado larga o demasiado corta, y se ajustaron estos datos a una distribución Gaussiana. Para cada combinación V-J, todos los gaussianos se superponen y la curva se renormaliza al número total de lecturas. En la Figura 13 se muestran los tipos de pseudoespectros completos. El uso de los gaussianos fue solo para fines de visualización.
Alineación a la base de datos IMGT/LIGM anotada en especificidad
La base de datos IMGT/LIGM (Giudicelli et al. (2006) Nucleic Acids Res. 34:D781) contiene aproximadamente 9000 secuencias con especificidades anotadas, 14 de las cuales son específicas para la hemaglutinina de la influenza, 6 para la hepatitis A y 85 para la hepatitis B. Aunque esto representa una muestra muy pequeña, las lecturas de secuenciación a este conjunto de secuencias anotadas de especificidad se alinearon para buscar secuencias altamente idénticas. Para realizar las alineaciones, se utilizó el paquete de software exonerado (Slater and Birney (2005) BMC Bioinformatics 6:31), que permite la alineación utilizando varios modelos de alineación. Las alineaciones se realizaron utilizando la lectura completa o solo la unión CDR3, y utilizando versiones traducidas y/o versiones de nucleótidos de las secuencias. Debido a que se esperaban muchas coincidencias de fondo (en el caso de alineación de lectura completa), y debido a la sensibilidad de la afinidad de unión a la secuencia exacta de aminoácidos, las alineaciones se clasificaron por identidad de secuenciación, y solo se analizaron las coincidencias que eran casi completamente idénticas mano. Se realizaron ejemplos de coincidencias con anticuerpos específicos de influenza o de hepatitis (Figuras 21 y 22) utilizando la alineación completa de secuencias de nucleótidos. Se observó una alineación deficiente en la región de unión CDR3, que es la forma más común de desalineación. La mejor alineación coincidente se encontró alineando solo las regiones de unión traducidas. Un anticuerpo anti-digoxina fue emparejado con éxito. Se muestran la alineación solo de unión (Figura 23) y la alineación de lectura completa (Figura 24).
Herramientas de software y disponibilidad de datos
El paquete de software de análisis utilizado para los experimentos descritos en este documento se puede descargar en el sitio web de Worldwide: arep.med.harvard.edu/vdj, o la versión más reciente se puede extraer como un repositorio git de GitHub en el Worldwide Web Site: github.com/laserson/vdj. El software se implementó principalmente en python con algún código C utilizado para aumentar el rendimiento. Los paquetes NumPy (el Worldwide Web Site: numpy.scipy.org/) y SciPy (el Worldwide Web Site: scipy.org/) también se confiaron en gran medida en los cálculos numéricos, y el matplotlib (el Worldwide Web Site: matplotlib.sourceforge.net/) se confió en el paquete para la visualización de datos. Los datos de secuenciación están disponibles para descargar en formato FASTA en el Worldwide Web Site: arep.med.harvard.edu/vdj junto con las versiones procesadas en formato XML. Los datos de secuenciación se enviarán al Archivo de Lectura Corta del NCBI y a la base de datos internacional ImMunoGeneTics (IMGT) para su incorporación al Laboratoire d'ImmunoGénétique Moléculaire (LIGM).
Ejemplo V
Captura de cadena pesada y liviana de una célula única
Se proporcionan métodos para capturar tanto las cadenas pesadas como las livianas de un anticuerpo que se origina en una sola, permitiendo la captura simultánea de millones de células a la vez (en lugar de las técnicas anteriores de clasificación de una célula por pozo en una placa).
Pequeña oligotransfección de células individuales
Dos oligos, cada uno de los cuales presenta una secuencia complementaria a la cadena pesada y liviana respectivamente, están fusionados parcialmente entre sí a través de una secuencia universal. Este enlace de fusionado parcial se mantiene en la etapa posterior y el uso de ácido nucleico bloqueado (LNA) puede ser útil para este propósito. Los oligos también pueden albergar fosforotioatos para proteger al oligo de las nucleasas. Además, se puede incluir una biotina interna o distal en uno o ambos de los oligos, que se usarán en la recuperación o en las moléculas corriente abajo. Este oligo enlazador luego se transfecta en muestras de linfocitos utilizando tecnologías de transfección comunes, como el reactivo de transfección TransIT®-Oligo (Mirus Bio LLC), por ejemplo. El componente de transfección también puede incluir un inhibidor de la ARNasa como precaución. Luego, las células se incuban a una temperatura más alta, de modo que se realiza el fusionado del ARN celular que se captura (también se puede hacer con ADN). Idealmente, la temperatura se eleva lo suficiente para favorecer la fusión de la estructura secundaria del ARN objetivo y para lograr un fusionado específico al enlazador de oligo haciendo coincidir la temperatura de fusión lo más cerca posible (generalmente cerca de 65°C), mientras que el fusionado parcial de los dos oligos se mantiene debido al diseño de secuencia inherente (particularmente con el uso de cebadores de LNA, donde la unión de fusionado puede diseñarse para alcanzar una temperatura superior a 90°C). Tras el fusionado de incubación de los ARN dirigidos, las células pueden lisarse químicamente y la molécula de ARN diana de enlace oligo puede recuperarse a través de su biotina utilizando una perla magnética recubierta con estreptavidina (como Dynabead M280 de Invitrogen, u otro equivalente). También se podría usar cualquier otro sustrato sólido recubierto con estreptavidina. El extremo 3' del enlazador oligo se puede usarse directamente para la transcripción reversa (utilizando el superíndice III, Invitrogen u otra transcriptasa inversa equivalente) de las cadenas pesada y liviana, seguida de la síntesis de ADNc de la segunda cadena. La molécula final se amplifica de las perlas magnéticas utilizando un cebador distal con los resultados en la recuperación de un ScFv completo compuesto por las cadenas pesadas y livianas que se originan en una sola célula, y esto se logró en millones de células a la vez en la misma muestra de reacción.
Captura en perlas
En ciertas realizaciones de ejemplo, una perla magnética se acopla con una mezcla de oligos complementarios a las cadenas pesadas y livianas, pero también aloja una secuencia universal corriente arriba (una perla no magnética funcionará, sin embargo, las perlas magnéticas facilitan los lavados y recuperaciones corriente abajo). En ciertos aspectos, la química de acoplamiento covalente o los enlaces estreptavidina-biotina (por ejemplo, si se agrega una biotina a los oligos durante la fabricación) se utilizan para producir oligoperlas. La oligoperla luego se transfecta en células individuales utilizando tecnologías de transfección comunes, o los enfoques de transfección basados en liposomas (siempre que la perla sea lo suficientemente pequeña para ser transfectada), o la perla (o algunas perlas), se encapsula dentro de una emulsión en presencia de un solo linfocito. La célula se somete a lisis luego mediante desnaturalización térmica o ciclos de congelación y descongelación. En ciertos aspectos, los inhibidores de la ARNasa se agregan durante la etapa de emulsificación. Las emulsiones luego se amplifican por PCR (asumiendo que la PCR y el cebador también se introdujeron durante la emulsificación), o se incubaron a una temperatura óptima de hibridación de oligo y/o concentración de sal, de modo que tanto las cadenas pesadas como las livianas se unirán a su secuencia complementaria en la perla. Las emulsiones se rompen y las perlas se recuperan. Los componentes celulares no unidos y el ADN o ARN no específico se eliminan por lavado y el ARN de perla resultante se somete a transcripción reversa (para ARN) o extensión de cebador (para ADN), de modo que la perla ahora alberga la secuencia completa de cadenas pesada y liviana de una celda individual. Estas perlas se pueden someter luego a cualquiera de las técnicas descritas para unir ambas cadenas entre sí antes de la secuenciación, como la PCR superpuesta (SOE-PCR), o mediante el uso de la recombinación CRE-LOW de ambas cadenas en emulsión o en una reacción superdiluida. La unión Cre-lox de las cadenas livianas y pesadas de una sola célula se ha demostrado previamente en los linfocitos reticulados con formaldehído, pero con una eficiencia muy baja (Chapal et al. (1992) Biotechniques, PMID: 9298226), mientras que los métodos proporcionados en este documento tienen acoplamiento cruzado al proceso de secuenciación de alto rendimiento, lo que permite a un experto en la técnica la capacidad de examinar un gran repertorio inmune.
Variación SOE-PCR
SOE-PCR nunca se ha acoplado a los métodos de secuenciación y análisis de alto rendimiento de un gran repertorio inmune, sino que, en cambio, perpetuo se ha limitado al estudio de un número limitado de células (como las que realiza Symphogen en su tecnología Symplex (Worldwide Web: symphogen.com/web/guest/symplex) descrita por Meijer (2006) J. Mol. Biol., PMID: 16563430, por ejemplo). En consecuencia, se proporcionan múltiples métodos de SOE-PCR que mejoran la eficiencia. Estos métodos se utilizan en SOE-PCR de células individuales ya sea capturando células individuales en emulsión o reticulando células en formaldehído como se describe más adelante en este documento. Esto permite la generación de ScFv de una sola célula de millones de células individuales en un solo volumen de reacción, de modo que se pueda acoplar con la secuenciación de alto rendimiento y el análisis de repertorios inmunes.
Ejemplo VI
La expresión y el ensayo funcional del anticuerpo y nanocuerpo seleccionaron candidatos del análisis de secuenciación de alto rendimiento de un repertorio inmune humano
Expresión in vitro del anticuerpo de dominio único.
1. Una colonia aleatoria de cada clon se levantó con un palillo y se inoculó en 5 mL de LB/Amp, y las bacterias se incubaron durante la noche a 37°C con agitación a 225 rpm.
2. Las bacterias se centrifugaron a 4.700 g durante 10 min, se desechó el sobrenadante y los gránulos se usaron para miniprep (utilizando un kit de miniprep Qiagen).
3. Las reacciones de transcripción se establecieron: agua libre de nucleasas 8 pL; Regulador de transcripción 5X 4 |jL; mezcla NTP 4 pL; plantilla de ADN (~0.5 pg/mL) 2 pL; T7 ARN polimerasa 2 pL; TOTAL 20 pL.
4. La reacción se incubó durante 120 minutos a 32°C. Las soluciones se volvieron turbias después de este tiempo, lo que indica una transcripción eficiente (precipitados de calcio).
5. Las reacciones de traducción se establecieron directamente: Lisado para la expresión de proteínas 12.5 pL; Proteínas accesorias 2.5 pL; Agua libre de nucleasas 3.75 pL; Solución salina A 1 pL; Aminoácidos -Met 0.5 pL; Aminoácidos -Leu 0.5 pL; Inhibidor de la ARNasa 1 pL; Mezcla de energía 1.25 pL; Plantilla de ARN de la reacción de transcripción 2 pL; TOTAL 25 pL.
6. Las reacciones de traducción se incubaron a 32°C durante 2 horas, luego se agregaron 2 pL de la reacción de transcripción.
7. La reacción se incubó durante 2 horas más a 32°C, luego se enriqueció nuevamente con 1 pL de la reacción de transcripción y se incubó durante 2 horas más.
Las proteínas se purificaron de la siguiente manera
1. La reacción se diluyó con 28 pl de regulador de unión a His 2X (fosfato 40 mM, NaCl 1 M, imidazol 40 mM, pH 7.4).
2. Las muestras se limpiaron en columnas Vivaspin de 0.2 pm para eliminar todos los residuos y complejos grandes.
3. La resina de sefarosa Ni-NTA (Amersham) se agitó suavemente durante 5 minutos hasta que toda la suspensión fue homogénea, luego se transfirió una cantidad total de (50 pL x (# muestras 1)) a un tubo de 1.5 mL.
4. La resina se lavó 3 veces con 1X de regulador de unión a His (fosfato 20 mM, NaCl 0.5 M, imidazol 20 mM, pH 7.4) para eliminar el etanol y equilibrar la resina.
5. Se agregaron 50 pl de la resina a cada muestra.
6. Las muestras se voltearon durante la noche a 4°C.
7. Las muestras se lavaron 3 veces con 150 pL de regulador de unión a His.
8. Las proteínas se eluyeron de la resina en 100 pL de regulador de elución de His (fosfato 20 mM, NaCl 0.5 M, imidazol 0.5 M, pH 7.4) con un volteo a temperatura ambiente durante 1 hora.
9. La resina se retiró y las muestras se desalaron utilizando Vivaspin 5K de la siguiente manera: a. Las columnas Vivaspin 5K se equilibraron con 0.4 mL de PBS. b. Se agregaron 100 pL de muestra a la columna. c. Las columnas se colocaron en una centrífuga con el filtro mirando hacia afuera, luego se centrifugaron (15.000 g, 15 min). d. El flujo se descartó y la muestra se resuspendió en 0.4 mL de PBS y se centrifugó nuevamente. e. El paso d se repitió dos veces más. f. Los retenidos (-50 pL promedio) se transfirieron a tubos nuevos, se añadió solución de azida de sodio a una concentración final de 0.02% y las muestras se almacenaron a 4°C. La concentración de proteínas y/o la pureza se evaluaron utilizando Nanodrop.
Síntesis de genes y protocolo de clonación.
La PCR amplifica la síntesis del gen IDT utilizando el cebador directo e inverso M13
Preparar de una reacción de la siguiente manera (1 tubo/13 tubos): -50 ng/pl Síntesis de genes (1 pl/-); dH2O (34.6 pl/449.8 pl); 5x Regulador HF (10 pl/130 pl); 15 pM de cebador 1* (1.7 pl/22.1 pl); 15 pM de cebador 2* (1.7 pl/22.1 pl); DNTP 25 mM (0.5 pl/6.5 pl); Phusion Hotstart (0.5 pl/6.5 pl); (49 pl/tubo). Ciclo térmico como sigue: 9 a 12 ciclos.
1- 98°C durante 30 segundo
2- 98°C durante 10 segundos
3- 50°C durante 20 segundos
4- 72°C durante 20 segundos para el paso 2, 25x
5- 72°C durante 5 minutos
6- 4°C pausa
Purificar con Qiagen, resuspender en 30 pl.
Doble digestión con EcoRI-HF y Notl-HF
Preparar la reacción como sigue
1 tubo 13 tubos
H2O 10.5 (a 50 pl) 136.5
ADN 30 pl -
10xNEB regulador 4 5 pl 65
100x BSA 0.5 pl 6.5
NotI-HF 2 pl 26
EcorI-HF 2 pl 26
Incubar a 37°C durante 15 min (20 pl/tubos). Inactivar por calor a 65°C durante 20 min.
Purificación por Qiagen, elución en 42 (cargará 20 un gel); Nanodrop unos pocos ~50 ng/pl. Extraer utilizando geles selectivos por tamaño: purificar por Qiagen, eluir en 30 pl; Nanodrop: ~9 ng/pl.
Ligación en vector de termoexpresión
Se usaron insertos de relación 3:1 al vector. Reacción preparada de la siguiente manera (1 tubo/14 tubos): H2O (4 pl/56 pl); regulador 2x Ligasa (10 pl/140 pl); Vector 50 ng/pl (2 pl (0.04 pmol)/28 pl); Inserciones de ~350 pb (9 ng/pl) (3pl (0.12 pmol=30 ng/-pl); Ligasa rápida (1 pl/14 pl); (17 pl/tubos). Incubar a 22°C durante 30 min. Se realizó la clonación con células X10. En placas de 200 pl usando perlas, esta placa de la mañana tuvo resultados completos y satisfactorios. Reclonada en n Eb Shuffle T7 compiten E. coli (en C3026H). Se utilizó miniprep Ido, se diluyó 3 veces, se usó 1 pl (~80 ng) en 25 pl de E. coli. Se generaron lotes medios de clones seleccionados.
Se escogió una colonia en 50 ml de LB 1x ampicilina, creció durante la noche a 30°C
Figure imgf000047_0001
Figure imgf000048_0001
Reclón
Se reclonó en T7 aleatoria E. coli: 3, 6, 7, 8, 10, 12. Utiliza 2 |jl de 13 dilución en 20 |jl de E. coli T7 Shuttle (NEB C3026H). Se sembraron 200 j l en una placa supergrande (exceso de clon, intentar con 100 ul la siguiente vez). Se produjo una colonia en 5 ml de LB a 30°C durante la noche. Utilizado este un cultivo iniciador 500 j l para 50 ml de LB 1000x ampi (50 mg/ml de uso en IX). Creció durante 3-4 horas, se verificó OD. Nanodrop. Cubeta: 0.3. Pedestal: 0.08 (Nanodrop dice que debería ser 10 veces más bajo que el OD600 normal). Se mantuvo un poco de lisado de 10 células para la prueba directa de SPR.
Q8: ¿Cómo debo expresar mi proteína de interés en Shuffle? A8: Para las condiciones iniciales, recomendamos el uso de medios enriquecidos a 30°C. De lo contrario, durante la noche a 16°C es posible. A 30°C o 16°C, inocule 1% de cultivo durante la noche y haga crecer las células a 30°C durante 3 horas hasta OD600 ~0.8 y luego induzca la expresión de proteína durante al menos 5 horas a 30°C o durante la noche a 16°C. Si usa 37°C, inocule 1% de cultivo durante la noche y haga crecer las células durante 2 horas a 37°C hasta OD600 ~0.8 y luego induzca la expresión de proteína durante al menos 6 horas a 37°C.
Protocolo
Plásmido de expresión transformado en la cepa T7 Express. Se colocan en placas de selección de antibióticos y se incuban durante la noche a 37°C. Se resuspendió una sola colonia en 10 ml de cultivo líquido con antibiótico. Se incubó a 37°C hasta OD600 alcanzó 0.4-0,6. Inducido con 40 |jl de un patrón de 100 mM de IPTG (concentración final de 0.4 mM) y fue inducido durante 2 horas a 37°C. Se verificó la expresión mediante gel de proteína teñido con Coomassie, inmunoprecipitación Western o ensayo de actividad. Expresión controlada tanto en el extracto celular total (soluble insoluble) como en la fracción soluble sola. Para gran escala, se inocularon 1 L de medio líquido (con antibiótico) con una colonia recién cultivada o 10 ml de cultivo recién cultivado. Se incubó a 37°C hasta que OD600 alcanzó 0.4-0.6. Se agregó IPTG a 0.4 mM. Se indujo por 2 horas a 37°C o 15°C durante la noche.
Inducción de IPTG
Los cultivos se cultivaron durante un total de 4 horas. IPTG estaba a 800 mM, por lo que se añadieron 25 j l a cada matraz de cultivo de 50 ml. Se incubó durante 6 horas a 30°C (por lo tanto, no se detiene antes de las 8h30). La células bacterianas fueron convertidas en gránulos por centrifugación a 5.000 * g durante 10 minutos, (ultracentrífuga). Se eliminó el sobrenadante y se almacenó a -80°C.
Procedimiento para extraer proteínas de las bacterias (protocolo B-PER de Thermo)
Opcional: Agregar 2 j l de lisozima y 2 j l de DNasa I por 1 ml de Reactivo B-PER. Se añaden inhibidores de proteasa sin EDTA. Se añaden 4 ml de reactivo B-PER por gramo de sedimento celular. Se obtuvieron 0.5 g, se añadieron 2 ml. Se pipetea la suspensión hacia arriba y hacia abajo hasta que quede homogénea. Se incubó 10-15 minutos a temperatura ambiente. Lisado centrifugado a 15.000 * g durante 5 minutos para separar las proteínas solubles de las proteínas insolubles. Nota: Si un gran porcentaje de proteína sobreexpresada permanece en el sedimento, la proteína de interés podría expresarse en cuerpos de inclusión. Se usa el Reactivo de solubilización de cuerpos de inclusión (Producto No. 78115) o alteran las condiciones de expresión para minimizar la formación de cuerpos de inclusión.
Purificación de His-tag utilizando resina Ni-NTA.
Para condiciones nativas, se prepararon los siguientes reguladores: Regulador de equilibrio: fosfato de sodio 20 mM, cloruro de sodio (PBS) 300 mM con imidazol 10 mM; pH 7.4; Regulador de lavado: PBS con imidazol 25 mM; pH 7.4; Regulador de elución: PBS con imidazol 250 mM; pH 7.4.
Procedimiento para la purificación de proteínas marcadas con His mediante un método por lotes
La resina HisPur Ni-NTA permite la personalización de la estrategia de purificación. Las condiciones de purificación se pueden escalar según sea necesario. El procedimiento puede realizarse a temperatura ambiente o a 4°C. Se agregó una cantidad apropiada de resina de Ni-NTA a un tubo. El tubo se centrifuga durante 2 minutos a 700 * g y se retira y desecha con cuidado el sobrenadante. Se agregan dos volúmenes de lecho de resina de regulador de equilibrio y se mezcla hasta que la resina esté completamente suspendida. El tubo se centrifuga durante 2 minutos a 700 * g y se retira con cuidado y se desecha el regulador. Se preparó la muestra mezclando extracto de proteína con el regulador de equilibrio, de modo que el volumen total sea igual a dos volúmenes de lecho de resina (en su lugar, se agrega todo el componente del regulador de equilibrio a la muestra de manera que la muestra esté a 1x, luego se agrega 1 volumen de lecho a la resina, luego se agregan 650 j l de suspensión de resina a la muestra).
Se añadió el extracto de proteína preparado al tubo y se mezcló en un rotador de extremo a extremo durante 60 minutos. Se centrifugó el tubo durante 2 minutos a 700 * g. Si se desea, se guarda el sobrenadante para el análisis posterior. Se lavó la resina con dos volúmenes de lecho de resina de regulador de lavado. Se centrifugó el tubo durante 2 minutos a 700 * g. Si se desea, se guarda el sobrenadante para el análisis posterior. Repetir el paso de lavado y controlar el sobrenadante midiendo su absorbancia a 280 nm hasta alcanzar la línea de base. Proteínas unidas a His unidas eluidas usando un volumen de lecho de resina de regulador de elución. El tubo se centrifuga durante 2 minutos a 700 * g. Retirar con cuidado y guardar el sobrenadante. Se repite este paso dos veces, guardando cada fracción de sobrenadante en un tubo separado. Se monitorizó la elución de la proteína midiendo la absorbancia de las fracciones a 280 nm o mediante el reactivo de ensayo Coomassie Plus (Bradford) (producto No. 23238) o el ensayo proteico Pierce® a 660 nm (producto No. 22660). La proteína eluida se pudo analizar directamente mediante SDS-PAGE. Nota: Para eliminar el imidazol para aplicaciones posteriores, se usó filtración por gel (por ejemplo, columnas de desalinización Thermo Scientific Zeba Spin) o diálisis (por ejemplo, casetes de diálisis Thermo Scientific Slide-A-Lyzer). Las muestras que contienen guanidina 6 M^HCl deben dializarse frente a un regulador que contiene urea 8 M antes del análisis SDS-PAGE. El kit de preparación de muestras SDS-PAGE de Thermo Scientific Pierce (producto No. 89888) también se puede usarse para eliminar la guanidina.
Nanodrop fase A280
Figure imgf000049_0001
Figure imgf000050_0002
Limpieza con Vivaspin y concentrar. Los tubos se centrifugaron (15.000 g, 5 min) y el sobrenadante se desaló corriendo en columnas Vivaspin 5K (15.000 g, 15 min), después de que se descartó cada flujo de lavado y se reconstituyó el retenido a 0.5 mL con PBS, se repitió 4 veces. El volumen promedio de retenido después de cada lavado fue de ~100 mL. Las proteínas fueron examinadas en Nanodrop. A280
Nanodrop fase A280
Figure imgf000050_0001
Figure imgf000051_0001
MOPS, 200 voltios 45 minutos (Figuras 63, 64)
SDS toma 2
Se ejecutó el primer lote de proteínas, también se cargó el clon de la proteína de muestra 3 después de la segunda purificación de la etiqueta de miltenyi his. MOPS, 200 voltios, 30 minutos (debería haber hecho 45 minutos) (Figura 95). La proteína estaba en BSA al 0.5% y glicerol al 10%. Los materiales grandes eran BSA. 1, escalera NEB; 2, clon 6 Ni-NTA; 3, clon 2 post myltenyi; 4-11, Mi-NTA (+BSA)
Se vuelve a limpiar y se concentra el ADN del clon 393 (el neutralizador potencial)
Se extrajeron 3 pozos, se purificaron con AMPure, se resuspendieron en 15 pl de H2O. Nanodrop: 500 ng/ul Traducción in vitro (kit de expresión Thermo Human in vitro)
Transcripción
Se harán 600 pl de kit de proteína final (20x 25 pkit), por lo tanto, se necesitarán 40 pl de reacción de transcripción (s0 2 valor de reacción).
1 tubo 8 tubos
Agua sin Nucleasa 8 16
Regulador de transcripción 5X 4 8
Mezcla NTP 4 8
ADN clonado (500 ng/pl) 2 4
ARN polimerasa de T7 2 4
Total 20 40
Mezclar suavemente los tubos e incubar durante 60-75 minutos a 32°C.
Traducción
Se agregaron los reactivos en el orden indicado en un tubo sin ARNasa/ADNasa de 1.5 o 0.5 ml. Para obtener los mejores resultados, se incubó el lisado con las proteínas accesorias durante 5 minutos antes de agregar los componentes posteriores.
1 tubo 20 tubos (en un 1.5 ml)
Lisado para la expresión de proteínas 12.5 250
Proteínas accesorias 2.5 50
Agua libre de nucleasas 3.75 75
Solución salina A 1 20
Aminoácidos menos Met 0.5 10
Aminoácidos menos Leu 0.5 10
Inhibidor de ARNasa (opcional) 1 20
Mezcla de energía 1.25 25
Mezcla de transcripción 2 40
Total 25 500
D
ividir en 5 tubos de 100 pl. Se incubó a 30°C en PCR durante 4 horas, luego a 4°C durante la noche
Prueba de purificación
División en 5 tubos de 95 pl: 1, lisado; 2, Mylteniy (se usan 50 pl de perlas en 500 pl de regulador de lisis); 3, Invitrogen; 4, Cobalt Thermo; 5, Ni (Tabla 17).
4.5
Figure imgf000052_0001
Tabla 17.
SDS PAGE.Regulador MES, se ejecuta durante 35 minutos, simplemente tinción azul (Figura 65). La clonación puede haber puesto la etiqueta His fuera del marco, pero la proteína está en el marco.
Protocolos de ensayo funcionales
Preparación de ensayo FACS
1. La mitad de las muestras de proteínas se etiquetaron con FITC de la siguiente manera: a. Se transfirieron ~20 pL de la muestra de proteína a un tubo de 0.2 mL y el volumen se reconstituyó a 100 pL con PBS (la concentración final de proteína se estimó en 0.01 mg/mL); b. Se disolvieron ~1 mg de FITC (Pierce) en 1.5 mL de DMF; c. Se añadió 1 pL de la solución de FITC/DMF a la muestra y los tubos se incubaron en la oscuridad a temperatura ambiente durante 30 minutos; d. Las proteínas se limpiaron del exceso de FITC mediante columnas Vivaspin 5K y se lavaron 2 veces con 0.4 mL de PBS; e. Se añadió azida de sodio a una concentración final de 0.02% y las muestras (~20 pL) se almacenaron a 4°C hasta su uso.
2. Las proteínas HA (Bris59, Bris10 y Flor04, adquiridas de Sino Biologicals, China) se biotinilaron utilizando EZ-Link-NHS-Biotina (Pierce) mediante incubación en hielo durante 1 hora y luego se limpiaron en columnas Vivaspin 10K, con 2 lavados con 0.4 mL de PBS.
3. Las proteínas HA biotiniladas se usaron para recubrir las perlas magnéticas recubiertas con estreptavidina de Dynal mediante incubación en PBS (10 pL de perlas, 5 pL de proteína biotinilada, en 100 pL de volumen total de PBS), con volteo, a temperatura ambiente durante 1 hora.
4. Las perlas se lavaron 3 veces con 100 pL de regulador de ensayo de perlas (BSA al 0.1%, glicerol al 10%, azida de sodio al 0.02% en PBS, pH 7.4) usando un imán.
5. Las perlas terminadas se almacenaron en 100 pL de regulador de ensayo a 4°C hasta su uso.
Ensayo FACS
1. Se mezclaron 1 pL de suspensión de perlas (agitada en vórtice poco antes del uso) con 5 pL de solución de anticuerpo y 19 pL de regulador FX (BSA al 0.1%, azida de sodio al 0.02% en HBSS, pH 7.4) 30 min en hielo (final concentración de anticuerpos ~10 pg/mL).
2. Las muestras se reconstituyeron con 25 pL de regulador FX frío y se analizaron con un citómetro de flujo Accuri C6. Mediciones de QCM de unión de anticuerpo/antígeno
Los cristales se recubrieron con anticuerpo un día antes del experimento de la siguiente manera:
1. Los cristales de oro QCM (adquiridos en Qsense) se recubrieron con HS-PEG-NH2 (de Nanocs) incubando con 100 uL de una solución de 5 mg/mL de HS-PEG-NH2 en agua ultrapura en una cámara húmeda, 1 hora a temperatura ambiente.
2. Los cristales se lavaron suavemente con 0.5 mL de PBS.
3. Se mezclaron 30 pL de solución de anticuerpo (~1.5 pg de proteína total) con 70 pL de PBS que contenía 200 pmol de EDC y 200 pmol de sulfo-NHS (ambos de Pierce, sulfo-NHS no pesa, mezclado con 22 pL de agua ultrapura antes de mezclar), se incuba a temperatura ambiente durante 1 minuto, luego se aplica sobre la superficie del cristal y se incuba a temperatura ambiente durante 1 hora en una cámara húmeda.
4. Se añadió 1 pL de una solución de BSA de 10 mg/mL y la fase líquida se mezcló suavemente.
5. La cámara húmeda se movió a 4°C para su almacenamiento durante la noche sin eliminar el anticuerpo.
Las mediciones de QCM se realizaron en un instrumento Qsense E4 de la siguiente manera
1. PBS se hizo fluir a través de las celdas a 0.1 mL/min hasta que los cristales se equilibraron (~30 minutos).
2. Se hicieron fluir 2.2 mL de soluciones de proteína HA (1 y 10 pg/mL) a través de las células cambiando de nuevo a PBS una vez que se terminó la muestra.
3. Los cristales se lavaron con NaOH 0.1 M entre diferentes concentraciones.
Purificación de nanocuerpos expresados en E. coli
1. Los sedimentos celulares (el sobrenadante se eliminó completamente, los sedimentos congelados a -20°C) se resuspendieron en 1 mL de regulador de lisis (Tris-HCl 10 mM, pH 7.5, EDTA 1 mM, Triton X-100 al 0.05%, 5 pg/mL DNasa I, cóctel inhibidor de proteasa 1X de Pierce).
2. Las suspensiones se transfirieron a tubos cónicos de 15 mL y se sometieron a sonicación con un sonicador de sonda estándar, mientras se mantenían en hielo. Parámetros de sonicación: [10 seg encendido 5 seg apagado] x 4 pulsos, 100% de salida.
3. Los ultrasonidos se centrifugaron (4.800 g, 10 min, 4°C) y los sobrenadantes se transfirieron a tubos de 1.5 mL.
4. 4 mL (8 muestras x 0.5 mL/muestra) de resina de sefarosa Ni-NTA (Amersham) se lavaron en un tubo de 15 mL para eliminar el regulador de almacenamiento (contiene 20% de etanol), mediante 3 centrifugaciones repetidas (500 g, 1 min) y lavados con 10 mL de regulador de unión a His (fosfato 20 mM, NaCl 0.5 M, imidazol 20 mM, pH 7.4), después del último lavado, el sedimento de resina se reconstituyó con 4 mL de regulador de unión a His 2X.
5. Se agregaron 0.5 mL de resina a cada muestra y los tubos se rotaron a 4°C durante la noche.
6. La resina se lavó dos veces con 1.5 mL de regulador de unión a His (30 min cada lavado, centrifugación 1000 g, 1 min).
7. Después del lavado final, el lecho de resina se dejó húmedo (~0.6 mL) y se almacenó durante la noche a 4°C. 8. Se añadieron 0.5 mL de regulador de elución de His (fosfato 20 mM, NaCl 0.5 M, imidazol 0.5 M, pH 7.4) y los tubos se rotaron durante la noche a 4°C.
9. Los tubos se centrifugaron (15.000 g, 5 min) y el sobrenadante se desalinizó corriendo en columnas Vivaspin 5K (15.000 g, 15 min, después de que se descartó el flujo de cada lavado y se reconstituyó el retenido a 0.5 mL con PBS, repetido 4 veces. El volumen promedio de retenido después de cada lavado fue de ~100 j L).
10. Las proteínas fueron examinadas en Nanodrop.
11. Se tomaron muestras de 50 j L para el etiquetado.
Etiquetado de nanocuerpos
1. 50 j L (~35 jg según Nanodrop) de cada muestra se mezclaron con 450 j L de regulador de borato 50 mM pH 8.5.
2. Las muestras se limpiaron en columnas Vivaspin 5K (15.000 g, 15 min, retenido ~20 j L). La concentración de proteína calculada (promedio en las muestras) después de este paso fue de ~1.5 mg/mL.
3. Se disolvió DyLight-649 (1 mg) en 100 j L de DMF y se agregó 1 j L a cada muestra.
4. Los tubos se incubaron en la oscuridad durante 1 hora a temperatura ambiente.
5. Las proteínas marcadas se limpiaron del exceso de colorante mediante columnas Vivaspin 5K, con 3 lavados con 470 j L de PBS y un lavado en 470 j L de regulador Tris 10 mM, pH 7.5, para inactivar el colorante residual.
6. La concentración se calculó en el retenido (-20-25 j L cada uno): 1.3-1.5 mg/mL.
Ensayo de neutralización
Cepas de gripe - crecimiento en células A549 y titulación inmune
1. Las células utilizadas fueron células epiteliales de pulmón humano A549 (carcinoma). Las células se cultivaron en placas de 48 pozos en 0.4 mL de medio (medio ATCC # F-12K FBS al 10% Pen/Strep). Las células se transfirieron a la placa después de colocar en placa A549 desde un matraz de cultivo T75 [confluencia > medio aspirado > 1.3 mL de TrypLE o tripsina-EDTA > 3-5 min a 37°C > completado a 6 mL con medio > se toman 50 j L por pozo en una placa de 48 pozos que contiene 0.35-0.4 mL de medio].
2. Al 80% de confluencia, las células infectadas con el virus, al agregar 10 j L de virus a la dilución deseada, mezclar bien con una pipeta.
3. Se incubó a 37°C durante 24-48 h.
4. Medio aspirado, aplicar 100 j L de TrypLE, incubar 5 min a 37°C.
5. Mezclado bien con una pipeta, tome 200 j L de células en una placa de 96 pozos nueva en forma de u.
6. Fijado con formaldehído, concentración final del 2.5%. En hielo durante al menos 10 min.
7. Lavado (centrifugado 3000 rpm, 3 min, 4°C), resuspendido en 100 j L de metanol al 100% congelado. Se mezcla bien.
8. Se incubó en hielo durante 10 min.
9. Se agregaron 100 j L de regulador FX frío, se giró nuevamente como en 7. Se resuspende en 100 j L de regulador FX frío.
10. Se agregó 1 j L de nucleoproteína A anti-Influenza A conjugada con FITC (de Millipore) por pozo, se mezcló bien y se incubó en hielo durante 60 min.
11. Se centrifugó como en 7, se resuspendió en 200 pL de FX frío y se centrifugó nuevamente.
12. Se resuspendió en 200 pL de FX frío, analizado por FACS.
13. Título determinado de la siguiente manera: Título (UIF/pL) = D50 * C/(2 * V). D50: la concentración de virus en la que se infectan el 50% de las células (FITC+) C, número inicial de células en el pozo (consulte el Worldwide Web Site: invitrogen.com/etc/medialib/en/filelibrary/pdf.Par).4786.File.dat/Useful_Numbers_Y1447 2_Useful_Nmbrs.pdf para obtener detalles útiles); V, Volumen de virus (en pL) usado para infectar el pozo.
Ensayo de neutralización
1. Se incubaron células A549 en confluencia al 75% a 0.4 ml de medio en una placa de 48 pozos. Se agregaron nanocuerpos a diversas concentraciones (50, 5, 0.5, 0.05 pg/mL, diluidos en medio A549).
2. Inmediatamente después, las células se infectaron con la cepa Bris10 a una MOI de ~33% (0.33) a un volumen de 10 pL.
3. Las células se incubaron durante 24 h.
4. Se aspiró el medio (y se blanqueó). Las células se lavaron una vez con 0.5 mL de HBSS.
5. Se agregaron 100 pL de TrypLE y la placa se incubó a 37 grados durante 5 min.
6. Las células se aspiraron en una placa de 96 pozos y se fijaron inmediatamente con formaldehído como en el paso 6 en la sección anterior.
7. El protocolo continuó desde el paso 6 en la sección anterior.
Resultados de neutralización, Figuras 66 y 67.
Ejemplo VII
Correlación de cadena pesada y liviana
Análisis inicial de la cadena liviana
Los datos de la cadena liviana se obtuvieron de bibliotecas creadas a partir de unos pocos puntos de tiempo de un experimento. Los histogramas de las longitudes de lectura se exponen en la Figura 46. Hubo un pico en 380 (esperado), y una agregación más pequeña alrededor de 325. Se alinearon aleatoriamente 10 lecturas de cada pico.
7/10 del pico 380 eran cadenas livianas (todos kappa). Ninguno de los 325 picos fueron cadenas livianas o cadenas inmunes. Eran proteínas aleatorias que debían de haberse amplificado. Los valores de corte para la selección del tamaño fueron 365-405.
Alineación VDJ/clasificación y agrupamiento de datos de la cadena liviana
Los datos de la cadena liviana se tomaron a través de una tubería inicial. El contenido del archivo README se detalla en la Tabla 4 a continuación. El trabajo se realizó en orquesta. Los enlaces simbólicos se colocaron en el directorio de datos estables con los resultados.
Tabla 4
Figure imgf000055_0002
Figure imgf000055_0001
Figure imgf000056_0002
Figure imgf000056_0001
Series temporales y distribución clónica de datos de cadenas livianas
Las series de tiempo y los histogramas de frecuencia de clonación se generaron a partir de los datos de la cadena liviana. Solo había unos 5000 clones. Sin pretender estar limitados por la teoría científica, es posible que el valor de corte para definir clones deba recalibrarse para las cadenas livianas. Sin pretender estar limitados por la teoría científica, se puede esperar una menor diversidad ya que no existe una región D. Ver Figuras 47 y 48.
Series de tiempo de cadenas livianas que utilizan uniones únicas en lugar de clones
Debido a la preocupación de que las definiciones de agrupamiento para cadenas pesadas no se traduzcan en cadenas livianas, se generaron cifras de series de tiempo para cadenas pesadas y livianas utilizando solo uniones únicas. En la Figura 49 se muestra una gráfica de los dos (NOTA: cadenas pesadas en la parte superior, cadenas livianas en la parte inferior).
Las secuencias de unión superiores se establecen en la Tabla 5 a continuación.
¡uniones de cadena pesada:na
I TOTOCGC^mACCGATAGCRCC AACTTAGACTACTí iC ?AüdCOGAATO03 CGTCTOG
! TSTG CW^<>QG<3aAQATTGTGG TGCTTG CTA^Tr3CCCCCATTTAJ3ACrACTACTBCTA03G TATGGACGTCTGG
; TG C G C GAGASG G AC QG GG G GA CC CTAC GGT Gíl C7T A TTAT G ü IOGTQC TTTT t ACG T C T G-j
i ’iG'.GCGCAAACCGATAGCACCAACTriAGACTTCTIñCTTCTACGÍ-TTTÍiGACGÍLCTQ:-I TGTGCCAGATCÍHCtKñTAGrtGGAG'rCCTCCACAA^TTtSAC^TCTGG
■ TjrGCGCAAAC’CGArA(SCAGCCACA,.-AC-ATTTCTAC?AC':AT&;TATGfSACGAC?í3(S
; TGT<JC<2(7IT cajtóATTGTACTACrJUrCTCCTC CTATC CTGCGA-3 TTCCTACTftCT'ACTATjyiCATGGSCtJT CTG3
; TGTÍJCGGTT CAAGATTGTAGTACTAC CACCTOTTATC CTG CGACTTCCTACTACTACTnCAACATggGCG T CTGG
i XGTG CGCAAACCGAT9U3CSOCC ACATAGAOTTCTACTACTAOTOTaTOaACOACTaG
I TGTGCGAGATCGGGLÍGATAGTTSSAGCCC1-CiCACAArTTGACTrCllSG 7d
i TGTGCGCñAACCG ATAGCMCAACTTAGACIACTACTACCACGGWIT«3G308TCTG<3
¡ TGTttCG AGAGATGATCCATATTACGGC AGTATTO3ITATCGTATTGACTCCTOa
' TGTQCGAflAATCCCCGClAAGArCOAeTGGGACGCCTACTACTACTACaGTATGGACC- TCTGG TOracgHGAQACCTThCCTGGAlGA‘TAC?T7GAíC7CCrQG
' TtfrOC GAGAGTGTTCTC7AOTAGTQG'rTRj TACTACTAG ‘i ■_-i lSATTAC TGG
' TGTCCAAGAT CCCTCATTCTATATAOTCACTAC&TTG<XriTLCTm3
■ TOTGCQMSCAGTCfiíJ<TrAACCGft3QM,TC<JGTGAC1-CTTACTC C7TACTATTAC7ITCATCGACG TCTTK
í TGCGCGAGAACTTTGTATT CT CTOJTAAAG TAT AGT ACTGGCTG^ ACTA(TITQACrA£rP3a
: TGTGC G jUQMC j’lAA Tíi Í7TT TTQTO3C TQG
¡ TOT<STAAOAG71AAGOOTGGCATAGCA7?CAG{~P3(3TACCACTQCGGGGTACrTCQATCTCrGa £ ld
; TX^OCíIAGACTACGGGGATATTGTWITQOTSGTJÍCTGC TACTJTGACT ACTGí }
¡ TGTGCGAGAGAGAOí^CATTAÜT^GÜACGTAGTAL^ACJ'CI^GGATACTGG
! TOTGCGAQAGGCA13GGCTTCAACC 7TTZ4AAJG TVI?U7TATCACTACAT<5C ACGt CTGG
■ TGTGCG*c;AC,ATATrtí:GGGG“ Q>3AGCCC?j,AOTCAAACTC-CTTTTGATGTCTGG
; TGTGCGAGACATATGCGGGCTGGGAGTCCaAGTCRAACIWl'i'TT'WTOT C7TGQ
raMCOAGACATATGCOG<3<3T<3GGAG TC CTJ^TCAAACTGCITTTGATGT C7TGG
; TGTGTGAAAGCGGTrT CGGCGTCGAACTACA TCTTTOACTACTGÍfif
: tgtgcgagaggccgagt^ ggaüctaí^ gaucc^ ccgtttactactttgaccactc-g
: TOTOCGAAAAT rnTQAGGCGAATTTGGAAAA CTA CTGC TATGGTTTOG ACGTCTGG
j T<TrñCGA^CACCAGTATAACGTT\KTAACTCCTGGGCTTTI{iAT.ATCTGG Cliain jU í lC t ions : Id
; lOTCAAflñGSC^AACAGrrrCCOGCTCACTTTC TGTCAATCACCAGACAJGCAGTGGTACTAATÍjlAj&TtTTC
¡ K7TCAATCACC ag ac aíx?a g t g g t ac t t a t o a a o t c t t c
: TGCGGAACATGGGATACCAGCCTOGGTAC1AATTGGGTGTTC
I TGCGGAACA“ ÍS(^ 7ACCAGCCTGAGAATTAATT&GGTG,i-l'¡: 'i GTCAACW3TTTACTAATTTCCCGCTCACTTTC
: TGCCAAC AC-TACGOlAGT'TCATGG CGCACTTTT TtíTCAGGCarGGCACAGCAQCACTGTGGTATTC
! TGC^AAtATGGGATACCAGCCTGAGGATTAATT&GGTGTTC
! -LGCTCAGtATGGGACAGCAGCCTCAGTGC^T&jGTGTTC 7d TGTCA£<^GTt»7ACAGCAfiCACTGTGG7*TTC TGCTGCTCATA'iGCAGGCAACTCTTñTGTCTTC TOTCAATCACCAGACAGCAGTGG1ACTAATGAAGTCTTC
TGTCAGCAC-TA7ÍWTAGCTCACC7CGGACG1TC TGTOtCX^TA'IXiGTAaCTCACCGACGTTC TCTMCTCCCGGGACAGCAGTOaTAACCATSTOTiaTrc T£lCA<KJUÍtGTAGCAC<7lGGCCTOOGACme
Ta T CA3GTOTGGGATAGTAGTAOTGATCATGTGG TATTC
TGTCAAT CAGCAGACAG CAaTQGTACCCATGTGGTArTC
TGCGGAGCGTGGSATAGCAGCCTQAGTGErrGTGGTCCCC 21 d TC-rCAGGOOTaGGACAflCñí] CACTGTGGTAT7C TGTCAACAACATGGTAAC' i' CA CCÜGTCACr: *TC TGCTTCCTC1AC :■ irGA7GGTCC7ATA077TTC
TGTCAGCATTA 7 C ATA£ t C CACC G TACACTTTT tg CCAACAOrA7aaTAC C CGGTGGA-C AT 7 C
TG T T7ACTCTA77ATAATGGTGTCAGG137GTT C rGTAACTCCCGGGACAGCAGTGGTAACCA T3T gG TATT C
TC CTGCTCAT.ATG 7AGGTAG7AGCACT777G1 V 77 T7 TGTCAJlTCAflCAGACAGCAG T L-GTACTTATL-T&S7A.T7C
TG CTCAC CATC-GCACAG CAGCCTCAGTCCTTGGGTGT"7
Tabla 5
Las secuencias correspondientes a las uniones expresadas más altas de la cadena liviana y las series de tiempo de la cadena pesada se exponen en la Tabla 6 a continuación. La secuencia de comandos fue ecxtraer_secuencias.py y la salida se colocó manualmente en secuencias_uniones_altamente_expresadas.fasta.
>pesada_ld| FWMETYS01DQGF4'2
TT GTGGCTATTTTAAAAGGTGTCCAGTGTGACGTGCAGC TGGTGGAGTCTGGG GGAGGCTTGGTACAG C C TGGGAAGT CCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCT-TTAGCAACTATGCCATGTCCTGGGTCCGCCAGGCTCCAGGGA AGGGCCTGGAGTGGGTCTCAGGTATTAGTGGTñGTGGTGCTGCCACATACTACGCAGACTCCGTGAñGGGCCGGTTCA CCATCTCCAGAGTCAATTCCAGGAACACGCTCCTTCTGCAAATGAACAGCCTGAGAGCCGAGGACACGGCCCTATATT ACTGTGCGCAAACCGATAGCAGCAACTTAGACTACTACTACCACGGAATGGGCGTCTGGGGCCAAGGGACCACGGTCA CCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada_ld FWMETYS01A182M 2 TTGTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCAGCTCTTGGAGTCTGGGGGAGGCTTGGCACAGCCTGGGGGGT CCCTGAGACTCTCCTGTGGAGCCTCTGGATTCACCTTTAGTAACTATGGCATGACCTGGGTCCGCCAGGCTCCAGGGñ AGGGGCTGGAGTGGGTCTCAGGTATTAGTGGTAGTGGTGCTAGTACATTCTACGCAGACTCCGTGAAGGGCCGGTTCA
Cc a t c TCCAGAGACAATTCCAAGAACACGCTGTATCTGCAAATGGACAGCCTGAGAGCCGAGGACACGGCCGTCTATT ACTGTGCGAAAGGGGGAGATTGTGGTGGTGCTAGTTGCCCCCATTTAGACTACTACTACTACGGTATGGACGTCTGGG GCCAAGGGACCACGGTCACCGTCTCCTCAGCATCCGCGACCAGOCCCAAGG >pesada_l¿ FWMETYS01ESRCQ¡2 CGGCTCCCAGATGGGTCCTGTCCCAGCTGCAGTTGCñGGAGTCGGGCCCAGGAGTGGTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCACTGTCTCTGGTGGCTCCATCAGCACTAGCAGTTATTACTGGGGCTGGATCCGCCAGCCCCCAGGGA AGGGGCTGGAGTGGATTGGGACTATCTATTCTAGTGGGGGCTCCTACTACAACCCGTCCCTCAAGAGTCAAGTCGCCA TATCCGTTGACATGTCCAAGAATCAATTCTCCCTGAAGGTGAACTCTATAATCGCCGCAGACACGGCTGTGTATTACT GCGCGAGAGGGACGGGGGGACCCTACGGTGACTATTATGGTGGTGCTTTTGATGTCTGGGGCCAAGGGAAAAGGGTCG CCGTCTCTTCAGCATCCCCGACCAGCCCCAAGG >pesada_ld ; FWMETYS01ALGIE i 2 TTGTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCGGCTGTTGGAGTCTGGGGGAGGCTTAGTGCAGCCTGGGGGGT CCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTTAGCAACTATGCCATGAGCTGGGTCCGGCAGGCTCCAGGGC AGGGGCTGGAGTGGGTCTCAGGAATTAGTGGTAGTGGTGCAAGCACATACTACGAAGACTCCGTGAAGGGCCGGTTCA CCATCTCCAGACAGAATTCCAAGAACACGCTGTATCTGCAAATGAATAGCCTGAGAGCCGAGGACACGGCCGTATACT ACTGTGCGCAAACCGATAGCACCAACTTAGACTTCTACTTCTACGGTTTGGACGACTGGGGCCAAGGGACCACGGTCA CCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada_ld | FWMETYS01EMQ99 | 2 CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCAAAGTTTCTATTGGCTCCGTCAGGAATTATTACTGGAGCTGGATCCGGCAGTCCCCCGGGAAGGGAC TGGAGTGGATTGCATATATCTTTCCCAATGGGAGGACCAGCCGCAATCCCTCCCTCCAGAGTCGAGTCACCATATCAA TTGACACACCCAAAAATCAGTTCTCCATGTTGCTGAGCTCTGCGACCGCCGCAGACACGGCCGTCTATTACTGTGCGA GATCGGGGGATAGTTGGAGTCCTCCACAATTTGACTTCTGGGGCCAGGGAATCCTAGTCACCGTCTCCTCAGCATCCC CGACCAGCCCCAAGG >pesada _ l d | FWMETYSO1A36YN 2 TTGTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCAGCTGTTGGAGTCTGGGGGAGGCTTGGTGCAGCCTGGGGGGT CCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACGTTCAGCAACTATGCOATGAGCTGGGTCCGCCAGGCTCCAGGGA AGGGGCTGGAGTGGGTCTCAGGAATGAGTGGTAGTGGTGCTAGCACATACTACGAAGACTCCGTGAAGGGCCGGTTCA CCATCTCCAGAGACAATTCCAAGAACACGCTGTATCTGCAAATGAATAGCCTGAGAGCCGAGGACACGGCCGTATATT ACTGTGCGCAAACCGATAGCAGCCACATAGATTTCTACTACTATGGTATGGACGACTGGGGCCAAGGGACCACGGTCA CCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada_ld|FWMETYSO1A3SAI|O GCAGCAGCTACAGGTGTCCAGTCCCAGGTGCAGTTGGTGCAGTCTGGGGCTGAGGTGAAGAGGCCTGGGTCCTCGGTG AAGGTCTCCTGCAAGGCTTCTGGAGGCACCTTCAGCAACTATGCAATCAGCTGGGTGCGACAGGCCCCTGGACAAGGG CTTGAGTGGATGGGAGGGATCATCCCTACTTTTGGGACACCGACGTACGCACAGAAGTTCCAGGCCAGAGTCACGATT
a c c g c g g a c g a a t c t a c g a g c a c a g c c t a c a t g g a g c t g a g c a g c c t g a g a t c t g a g g a c a c g g c c g t c t a t t g g t g t g c g g t t c a a g a t t g t a g t a c t a c c a c c t g c t a t c c t g c g a g t t c c t a c t a c t a c t a t a a c a t g g g c g t c t g g g g c a a a GGGACCACGGTCACCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada _ld|FWMETYSO1BAHLT:2 CAGCAGCTACAGGTGTCCAGTCCCAGGTGCAGCTGGTGCAGTCTGGGGCTGAGGTGAAGAGGCCTGGGTCCTCGGTGA AGGTCTCCTGCCAGGCTTCTGGAGGCACCTTCAGCAACTATGCTATCAGCTGGGTGCGACAGGCCCCTGGACAAGGGC TTGAGTGGATGGGAGGGATCATCCCTATGTTTGGTACACCAAAGTACGCACAGCAGTTCCTGGACAGAGTCACGATAA CCGCGGACGAATCCACGAGTACAGCCTACATGGAGCTGAGCAGCCTGAGATCTGCGGACATGGCCGTTTATTGGTGTG CGGTTCAAGATTGTAGTACTACCACCTGTTATCCTGCGAGTTCCTACTACTACTACAACATGGGCGTCTGGGGCAAAG GGACCACGGTCACCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada_Id FWMETYSOICOGNO|O GTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCAGCTGTTGGAGTCTGGGGGAGGCTTGGTGCAGCCTGGGGGGTCC CTGAGACTCTCCTGTGTAGCCTCTGGATTCACCTTTAGCAACTATGCCATGAGCTGGGTCCGCCAGGCTCCAGGGAAG GGGCTGGAGTGGGTCTCAGGAATTAGTGGTAGTGGTGCTAGCACATACTACGAAGACTCCGTGAAGGGCCGGTTCACC ATCTCCAGAGACAATTCCAAGAACACGCTGTATCTGGACATGAATAGCCTGAGAGCCGAGGACACGGCCGTATATTAC TGTGCGCAAACCGATAGCAGCCACATAGACTTCTACTACTACGGTATGGACGACTGGGGCCAAGGGACCACGGTCACC GTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada _ld|FWMETYSO1B1GQ7|2 CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACCCTGT CCCTCACTTGCACTGTTTCTAGTGGCTCCATCAGGAATTACTACTGGAGCTGGATCCGGCAGACCCCAGGGAAGGGAC TGGAGTGGATTGGATATATCTTTTCCAATGGGAGGATCAAGTACAATTCCTCCCTCCAAGGTCGACTCACCATGTCAC TAAACACGCCCGAGAATCAGTTCTCCCTGTGGCTGAGCTCTGTGACCGCCGCAGACACGGCCGTCTATTACTGTGCGA GATCGGGGGATAGTTGGAGCCCTCCACAATTTGACTTCTGGGGCCAGGGAATCCTGGTCACCGTCTCCTCAGCATCCC CGACCAGCCCCAAGG >pesada _21d | FWMETYS01ENDE7 | 2 TTGTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCAGTTGTTGGAGTCTGGGGGAGGCTTGGTACAGCCTGGGGGGT CCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTTAACAACTATGCCACAAGCTGGGTCCGCCAGGCTCCAGGGA AGGGGCTGGAGTGGGTCTCAACTATTAGTGGTGTTGGTGATACCACATACTACGCAAATTCCGTGAAGGGCCGGTTCA CCATCTCCAGAGACACTTCCAAGAACACCCTGTATCTGCAAATGAACAGCCTGAGAGCCGAGGACACGGCCGAATATT ACTGTGCGAGAGTACGGGGATATTGTAATGGTGGTAGCTGCTACTTTGACTACTGGGGCCAGGGAACCCCGGTCACCG TCTCCTCAGGGAGTGCATCCGCCCC >pesada _ 2 Id FWMETYSO1BT6DS¡2 CAGCAGCCACAGGAGCCCACTCCCAGGTGCAACTGGTGCAGTCTGGGGCTGAGGTGAAGAGGCCTGGGGCCTCAGTGA AGGTCTCCTGCAAGGCCTCTGGATACACCTTCACCGGCTACTATGTACACTGGGTGCGACAGGCCCCTGGACAAGGTC TTGAGTGGATGGGATGGATCAACCCTAACAGTGGTGTCACAAACTACGCACAGAACTTTCAGGACAGGGTCACCATGA CCAGGGACACGTCCATCAGCACAGCCTACATGGAGCTGACCAGGCTGAGATCTGACGACACGGCCCTATATTACTGTG CGAGAGAGAGGGCATTAGTGGGAGGTAGTACGACTCTCGGATACTGGGGCCAGGGAACCCTGGTCACCGTCTCCTCAG GGAGTGCATCCGCCCCAACCC ; >pesada _21d | FWMETYS01ASJFG | 2
CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGTTACAGCAGTGGGGCGCAGGACTGTTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCGTTGTCTATGGTGGGTCTTTCAGTCCTTATTACTGGAGCTGGATCCGCCAGACCCCAGGGAAGGGGC ¡ TGGAGTGGATTGGGGAAATCAATCATAGTGGAAGCACCAACTACAACCCGTCCCTCAAGAGTCGAGTCTCCATATCAC | TAGACACGTCCAAGAATGAGTTCTCCCTGAGGCTGAACTCTCTGACCGCCGCGGACACGGCTGTGTATTACTGTGCGA I GAGGCAGGGCTTCAACCTTTAAAGTCTACTATCACTACATGGACGTCTGGGGCAATGGGACCACGGTCACCGTCTCCT | CAGCATCCCCGACCAGOCCCAAGG >pesada_21d FWMETYS 01EEVTL ' 2 ¡ CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTGCGGAGACCCTGT ! CCCTCACCTGCAATGTCTCTGGTGGCTCCATGAGTAGTTACTACTGGAGCTGGATCCGGCAGCCCCCAGGGAAGGGAC ¡ TGGAGTGGATCGGGTACATCCACTACAGGGGGACCACCAAATACAATCCCTCCCTCAAGAGTCGCGTCACCATATCAA ¡ TAGACCTGTCCAAGAACCAGTTCTCCCTGAAACTGAGCTCTATGACCGCCGCAGATACGGCCAGATATTACTGTGCGA ! GACATATGCGGGGTGGGAGCCCTAGTCAAACTGCTTTTGATGTCTGGGGCCAAGGGACAATGGTCACCGTCTCTTCAG ! CATCCCCGACCAGCCCCAAGG >pesada_2Id|FWMETYS01BGHT7|2 ; CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACCCTGT \ CCCTCACCTGCAATGTCTCTGGTGGCTCCATCAGTAGTTACTACTGGAGCTGGATCCGGCAGCCCCCAGGGAAGGCAC ! TGGAGTGGATCGGGTATATCCACTACAGGGGGACTACCAAATACAATCCCTCCCTCAAGAGTCGCGTCACCATATCAG ¡ TAGACATGTCCAAGAACCAGTTCTCCCTGAAGCTGAGCTCTATGACCGCCGCAGATACGGCCATCTATTACTGTGCGA ; GACATATGCGGGCTGGGAGTCCTAGTCAAACTGCTTTTGATGTCTGGGGCCAAGGGACAATGGTCACCGTCTCTTCAG \ CATCCCCGACCAGCCCCAAGG >pesada_2 Id | FWMETYS01DUYF3 ¡ 2 ■ CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGGGACCCTGT ; CCCTCACCTGCAATGTCTCTGGTGGCCCCATCAGTAGTTACTACTGGAGCTGGATCCGGCAGCCCCCAGGGAAGGGAC : TGGAGTGGATCGGCTATATCTATTACAGGGGGACTACCAAATACAATCCCTCCCTCAAGAGTCGCGTCACCATATCAG TAGACATGTCCAAGAACCAGTTCTCCCTGAACCTGAGCTCTATGACCGCCGCAGATACGGCCATGTACTACTGTGCGA | GACATATGCGGGGTGGGAGTCCTAGTCAAACTGCTTTTGATGTCTGGGGCCAAGGGACAATGGTCACCGTCTCTTCAG CATCCCCGACCAGCCCCAAGG >pesada_2Id [ FWMETYS01DI6TJ3 2 TTGTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCAGCTGTTGGAGTCTGGGGGAGGCTTGATACAGCCTGGGGGGT CCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTTAGCAAGTATGCCATGACCTGGGTCCGCCAGGCTCCAGGGA AGGGCCTGGAGTGGGTCTCGACTATTAGTGGTAGTGCTACTGCCACATACTACGCAGACTCCGTGAAGGGCCGCTTCA CCATCTCCAGAGACAATTCGAAGAACACGCTGTATCTGCAAATGAACAGCCTGAGAGCCGCGGACACGGCCGTTTATT ACTGTGTGAAAGCGGTTTCGGGGTCGAACTACATCTTTGACTACTGGGGCCAGGGAACCCAGGTCACCGTCTCCTCAG CATCCCCGACCAGCCCCAAGG >pesada 21d FWMETYS01D3L49 2 TTGTGGCTATTTTAAAAGGTGTCCAATGTGAGGTGCAACTGTTAGAATATGGGGGAGGCTTGGTACAGCCGGGGGGGT CCCTGAGACTCTCCTGTGAAGCCTCTGGAATCCCCTTTAACAACTATGCCATGAGCTGGGTCCGCCAGGCTCCAGGGA AGGGGCTGGAGTGGGTCTCAAGTATCAGTGGTAGTGGTAGTGGCACATATTACGGAGACTCCGTGAAGGGCCGGTTCA CCATCTCCAGAGACAATTCCAAGAACACACTGTATCTGCAAATGAATAGCCTGAGAGCCGAGGACACGGCCGTATATT ATTGTGCGAGAGGCCGAGTGGGAGCTAAAGAGCCGACCGTTTACTACTTTGACCACTGGGGCCAGGGAACCCTGGTCA CCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada_2Id|FWMETYS01EOI8H|0 GTGGCTATTTTAAAAGGTGTCCAGTGTGAGGTGCAGCTGTTGGAGTCTGGGGGAGGCTTGGTACAGCCTGGGGGGTCC TTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTCAGCAGCTATGCCATGAACTGGGTCCGCCTGCCTCCAGGGATG GGGATGGAGAGCATCTCATCCATTAGTCGTAGTGGTGATAGAACATACTACGCAGACTCCGTGAAGGGCCGGTTCACC ATCTCCAGAGACAATTCCAAGAACACGATGTATCTGGAAATGAACAGCCTGAGAGCCGAAGACACGGCCGTATATTAC TGTGCGAAAATTTTTGAGGCGAATTTGGAAAACTACTGGTATGGTTTGGACGTCTGGGGCCAAGGGACCACGGTCACC GTCTCCTCAGGGAGTGCATCCGCCCCAACCC >pesada_2 Id | FWMETYS01BIG98 ¡ 2 CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCGCTGTCTCTGGTGCCTCCATTAGAAGTTACTATTGGAGCTGGATCCGGCTGCCCCCAGGGAAGGGAC TGGAGTGGATTGGGCATGTGTATCACAGTGGGAGCACCAGTTACAATCCCTCCCTCAAGAGTCGAGTCACCATATCAG TGGACACGTCCAAGATGCAGATCTCCCTGAGGCTGAACTCTGCGACTGCTGCGGACACGGCCGTGTATTACTGTGCGA GACATCAGTATAATGTTGGTAACTCCTGGGCTTTTGATATCTGGGGCCAAGGGACAGTGGTCACCGTCTCTTCAGCAT CCCCGACCAGCCCCAAGG >pesada_7d | FWMETYS01DQGF4 | 2
t t g t g g c t a t t t t a a a a g g t g t c c a g t g t g a c g t g c a g c t g g t g g a g t c t g g g g g a g g c t t g g t a c a g c c t g g g a a g t CCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTTAGCAACTATGCCATGTCCTGGGTCCGCCAGGCTCCAGGGA AGGGCCTGGAGTGGGTCTCAGGTATTAGTGGTAGTGGTGCTGCCACATACTACGCAGACTCCGTGAAGGGCCGGTTCA CCATCTCCAGAGTCAATTCCAGGAACACGCTCCTTCTGCAAATGAACAGCCTGAGAGCCGAGGACACGGCCCTATATT ACTGTGCGCAAACCGATAGCAGCAACTTAGACTACTACTACCACGGAATGGGCGTCTGGGGCCAAGGGACCACGGTCA CCGTCTCCTCAGCATCCCCGACCAGCCCCAAGG >pesada_7d FWMETYSO1EC8GA|2
CAGCAGCAACAGGTGCCCACTCCCAGGTTCAACTGGTGCAATCTGGAGCTGAGGTGAAGAGGCCTGGGGCCTCAGTAA AGGTCTCCTGCACGGCTTCTGGTTACACGTTTGACACTTATGGAGTCAGCTGGTTGCGACAGGCCCCTGGACAAGGGC TTGAGTGGATGGGCTGGATCAGCGGTGACAGTAGTCATACCAGATATGCAATGAGACTCCAGGGCAGAGTCACCATGA CCACAGACTCATCCACGAGCACAGCCTACATGGAACTGAGGAGCCTGAGATCTGACGACACGGCCGTCTATTACTGTG CGAGAGATGATCCATATTACGGCAGTATTGGTTATCGTATTGACTCCTGGGGCCAGGGAACCCTGGTCACCGTCTCCT CAGCATCCCCGACCAGCCCCAAGG >pesada_7d FW M ETYS02GPFII[2
CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAACTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCACTGTCTCTGGTGGCTCCATCAGTAGTTACTACTTGAGCTGGATCCGGCAGCCCCCAGGGAAGGGGC TGGAGTGGATTGGGTATATCTATTACAGTGGGAGCACCAACTACAACCCCTCCCTCAAGAGTCGAGTCACCATATCAG TAGACACGTCCAAGAACCAGTTCTCCCTGAGGCTGAGCTCTGTGACCGCTGCGGACACGGCCGTGTATTACTGTGCGA GAATCCCCGCTAAGATCGAGTGGGACGCCTACTACTACTACGGTATGGACGTCTGGGGCCAAGGGACCACGGTCACCG TCTCCTCAGGGAGTGCATCCGCCCC >pesada__7d | FWMETYS G1D3 CAE | 2
TTGTTGCTATTTTAGAAGGTGTCCAGTGTGAGGTGCAGTTGGTGGAGTCTGGGGGAGGCTTGGTACAGCCTGGGGGGT
c c c t g a g a c t c t c c t g t g c a g c c t c t g g a t t c a o t t t c a g t g g o t a t a g c a t g g a c t g g g t c c g c c a g g c t c c g g g g a AGGGGCTGGAGTGGGTTTCATTCATAAGTGATAATACTGGCAGTCACATATACTACGCAGACTCTGTGAAGGGCCGAT TCACCATCTCTAGAGACAATGCCGAGAACTCACTGTATCTACAAATGAACAGCCTGAGAGACGAGGACACGGCTGTGT ATTACTGTGCGAGAGACCTTACCTGGAGATACTTTGACTCCTGGGGCCATGGAGTCCTGGTCACCGTCTCCTCACGGA GTGCATCCGCCCC >pesada_'’d I FWMETYS01ASETU | 2
TTGTTGCTATTTTAAñAGGTGTCCAGTGTGAGGTGCAGCTGGTGGAGTCTGGAGGAGGCCTGATCCAGCCTGGGGGGT c c c t g a g a c t c t c c t g t g c a g c c t c t g g g t t c a c c g t c a g t a g c a g c t a c a t g a c c t g g g t c c g c c a g g c t c c a g g g a AGGGGCTGGAGTGGGTCTCAGTTATTTATAGTGGTGGTACCACATACTACGCAGACTCCGTGAAGGGCCGATTCACCA TCTCCAGAGACAATTCCAAGAACACGCTGTATCTTCAAATGAACAGCCTGAGAGCCGAGGACACGGCCGTGTATTACT GTGCGAGAGTGTTCTCTAGTAGTGGTTATTACTACTACTTTGATTACTGGGGCCAGGGAACCCTGGTCACCGTCTCCT CAGGGAGTGCATCCGCCCC >peSada_7d I FWMETYS01EL10A|2
CGGCTCCCAGATGGGTCCTGTCCCAü GTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCACTGTCTCTGGTGGCTCCATTAGTAGTTACTCCTGGAGCTGGATCCGGCAGTCCCCAGGGAAGGGAC TGGAG TGGATTGGGT CTAC C TATTACAGTGGGAGCAC CAACTACAC CAACTfiCAACC CCTCCCT CAAGAGT CGAGTCA CCACATCAGTAGACACGTCCAAGAACCAGTTGTCCCTGGGGCTGAACTCTGTGACCGCAGCGGACACGGCCATTTATT ACTGTGCAAGATCCCTCATTCTATATAGTGACTACATTGCCTACTGGGGCCAGGGAACCCTGGTCACCGTCTCCTCAG CATCCCCGACCAGCCCCAAGG >pesada„7d|FWMETYS01CU1FY|2
CAGCAGCAACAGGTGCCCGCTCCCAGGTTCAACTGATGCAGTCTGGAGCTGAAGTGAGGAAGCCTGGGGCCTCAGTGA CGGTCTCCTGCAAGACTTCTGGTTACACCTTTACCTACTATGGTATCAGTTGGGTGCGACAGGCCCCTGGACAAGGCC TTGAGTGGATGGGAT GGTTCAGCGCTTACAATGGTAAGACAAAATATGCACAGAATC TCCAGGACAGAGTCACCATGA CAATTGACACATCCACGAGGACAGCCTACATGGAGCTGAGGAGCCTGAGATCTGACGACACGGCCGTATATTACTGTG CGAGGCAGTCAGGTAACCGAGGATTCGGTGACTCTTACTCCTACTATTACTTCATGGACGTCTGGGGCAAAGGGACCA CGGTCACCGTCGCCTCAGCATCCCCGACCAGCCCCAAGG >pesada _ 7 d \ FWMETYS01DFT1H|2
CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTACAGCAGTGGGGCGCAGGACTGTTGAAGCCTTCGGAGACCCTGT CCCTCACCTGCGCTGTTTATGGTGAGTCCTTCCGTGGTTACTCCTGGAGCTGGATCCGGCAGCCCCCAGGGAAGGGGC TGGAGTGGATTGGTGAAATCAATCTTACTGGAAGCACCAACTACAACCCGTCCCTCAAGAGTCGGATCACCGTATCAA ; TTGACCCGTCCAAGACTCAGTTCTCCCTGAAGCTGACCTCTGTGACCGCCGCOGACACGGCTGTATATTACTGCGCGA g a a c t t t g t a t t c t c t g g t a a a g t a t a g t a c t g g c t g g t a c t a c t t t g a c t a c t g g g g c c a g g g a a t c c t g g t c a c c g TCTCCTCAGCCTCCACCAACGGCCCATCCG >pesada_7d| FWMETYS01DEO8R | 2
CGGCTCCCAGATGGGTCCTGTCCCAGGTGCAGCTGCAGGAGTCGGGCCCAGGACTGGTGAAGCCTTCGGAGACTCTGT
CCCTCACCTGCAGTGTCTCTGGTGACTCCATTAGTAGTGACTATTGGAGCTGGATCCGGCAGTCCCCAGGGAAGGGAC
TGGAGTGGATTGGGTTTATTCAGTATACTGGGAGATCCCACTCCAACCCCTCCCTCCAGAGTCGAGTCACCATATCAC
> TA.GACACG': CCAAGAACAACTTCTCCCTGAGGCTGACCTCTGTGACCGCTGCGGACACGGCCGTGTATTATTGTGCGA ; GAACAAATGCTTTTCATATCTGGGGCCAAGGGACAATGGTCACCGTCTCTTCAGGGAGTGCATCCGCCCC
I >pesada_7d| F W H E T Y S 01 B L J 3 E | 0
GTTGCTATATTñGAAGGTGTCCAGTGTGAGGTGCAGCTGGTGGAATCTGGGGGAGGCTTAGTACAACCTGGGGGTTCG
CTGAGACTCTCCTGTGCAGCCTCTGGATTCACTTTCAGTGATTACGACATGCACTGGGTCCGCCAAGCTACAGGAAAA
g g t c t g g a g t g g g t c t c a g c t a t a g g a a c t c t t g a t g a c a c a t a c t a t c c a g g c t c c g t g g a g g g c c g a t t c a c c g t c t c c a g a g a c a a t g c c a g g g a t t c c t t g t a t c t t c a a a t g a a g a g c c t c a g a g t c g c g g a c a c g g c t g t a t a t t a c t g t ' g t a a g a g t t a a g g g t g g c a t a g c a g c a g c t g g t a c c a c t g c g g g g t a c t t c g a t c t c t g g g g c c g t g g c a c c c t g g t c ; ACTGTCTCCTCAGGGAGTGCATCCGCCCCAACCC >ligera_ld | 012171_024C _C412 |2
TCTGGTTCCCAGGTTCCAGATGCGACATCCAGATGACCCAGTCTCCGTCTTCCGTGTCTGCATCTGTGGGGGACAGAG
i TCACCATCACTTGCCGGGCGAGTCAGAGTCTTAGCGGCTTTTTAGCCTGGTATCAGCAGAAACCAGGGAAAGCCCCTA
AGTTCCTGATCGATACTACCTCCATTTTGCAAAGTGGGGTCCCATCTAGATTCAGTGGCAGTGGATCTGGGACATTTT
TCACTCTCACCATCAGCAGCCTCCAGCCTGAAGATTTTGCAACTTACTATTGTCAACAGGCTAACAGTTTCCCGCTCA
! CTTTCGGCGGAGGGACCAAGGTGGAGAGGAAACGAACTGTGGCTGCACCATCTG
; >ligera_ld| 026324 Q2C2__C719 I 2
¡ CTCACTGCACAGGCTCTGAGGCCTCCTATGAGCTGACACAGCCACCCTCGGTGTCAGTGTCCCCAGGACAGACGGCCA ■ GGATCACCTGCTCTGGAGATGCATTGCCAAAGCACTTTGCTTATTGGTACCAGCAGAAGCCAGGCCAGGCCCCTGTAC
T GGTGATAT AT AAAGACACTG AGAGG C C CTCACGGATCCCTG AGCGAT TCTCTGGCTCCAGC TCAGGGA.C AACAG T C A
'I CGTTGACCATCAGTGGAGTCCAGGCAGAAGACGAGGCTGACTATTACTGTCAATCACCAGACAGCAGTGGTACTAATG AAGTCTTCGGAACTGGGACCAAGGTCACCGTCCTAAGTCAGCCCAAGGCCAACCCCACGGT
! >ligera._ld I 025 990..0147 08 76 I 2
> CTCACTGCACAGGCTCTGAGGCCTCCTATGAGCTGACACAGCCACCCTCGGTGTCAGTGTCCCCAGGACAGACGGCCA ¡ GGATCACCTGCTCTGGAGATGCATTGCCAAAGCACTATGCTTATTGGTACCAGCAGAAGCCAGGCCAGGCCCCTGTGT ¡ TGGTGATATATAAAGACAGTGAGAGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAGCTCAGGGACAACAGTCA CGTTGACCATCAGTGGAGTCCAGGCAGAAGACGAGGCTGACTATTACTGTCAATCACCAGACAGCAGTGGTACTTATG AAGTCTTCGGAACTGGGACCAGGGTCACCGTCCTAGGTCAGCCCAAGGCCAACCCCACTGT
; >ligera_ld ¡ 001721 _022 6 _C 129 ¡2 CTCACTGCACAGGGTCCTGGGCCCAGTCTGTGTTGACGCAGCCGCCCTCAGTGTCTGCGGCCCCAGGACAGAAGGTCA
' CCATCTCCTGCTCTGGAAGCAGCTCCAACATTGGCAAAAATTATGTATCCTGGTACCAGCATCTCCCAGGAACAGCCC ; CCAAACTCCTCATCTATGAAAATGATGAGCGACCCTCAGGGATTCCTGACCGATTCTCTGGCTCCAAGTATGGCACGT i CAGCCACCCTGGGCATCACCGGACTCCAGACTGGGGACGAGGCCACTTATTTCTGCGGAACATGGGATACCAGCCTGG ; GTACTAATTGGGTGTTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT i >ligera_ld 035774 0389_0427 2
! CTCACTGCACAGGGTCCTGGGCCCAGTCTGTGTTGACGCAGCCGCCCTCAGTGTCTGCGGCCCCAGGACAGAAGGTCA
CCATCTCCTGCTCTGGAAGCAGCTCCAACATTGGGAGTAATCGTGTATCCTGGTACCAGCAGCTCCCAGGAACAGCCC
' CCAAACTCCTCATCTATGAAAATAATGAGCGACCCTCAGGGATTCCTGACCGATTCTCTGCCTCCAAGTCTGGCACGT | CAGCCACC CTGGTCAT CACCGGACTC CAGAC TGGGGACGAGG C CGATTAT TATTGCGGAACATGGGATACCAGCCTGA ¡ GAATTAATTGGGTGTTCGGCGGAGGCACCAACCTGACCGTCCTAGGTCAGCCCAAGCCTGCCCCCTCGGT
; >ligera_!d | 00782 3 _0201 _0454 | 2
: TCTGGCTCCCAGGTGCCAGATGTGACATCCTGTTGACCCAGTCTCCATCCTTCCTGTCTGCAGCTGTAGGAAACAGAA TCACCATTACTTGCCGGGCCAGTCAGGGCATTAGTAGTTATTTAGCCTGGTTTCAGGAAAAACCAGGGAAAGCCCCTA AACTCCTGATTTATGGTGCATCCATTTTGCAAAGTGGGGTCCCATCAAGGTTCAGCGGCAGTGGATCTGGGACAGAGT TCACTCTCACAATCAGGAGCCTGCAGCCTGAAGATTTTGCAACTTATTACTGTCAACAGTTTACTAATTTCCCGCTCA CTTTCGGCGGAGGGACCAAGGTGGAGATCAAACGAACTGTGGCTGCACCATCTG
>ligera __ ld 00803 S _ 0083 _ 0336 | 1 ACTCTGGCTCACAGATACCACCGGAGAAATTGTGTTGACGCAGTCTCCAGGCACCCTGTCTTTGTCTCCAGGGGAAAG AGCCACCCTCTCCTGCAGGGCCAGTCAGAGAGTTAGCAGCAACTACTTAGCCTGGTACCAGCAGAAATCAGGCCAGGC TCCCAGGCTCCTCATCTATAGTGCATCCCGCAGGGCCACTGGCATCCCAGACAGGTTCAGTGGCAGTGGGTCTGGGAC AGACTTCACTCTCACCATCAGCAGACTGGAGCCTGAAGATTTTGCCGTGTATCACTGTCAACAGTATGGTAGTTCATG GCGCACTTTTGGCCAGGGGACCAAGGTGGAGATCAGACGAACTGTGGCTGCACCATCTG
■ >IÍgerB_ld| 004730_0220_0168 | 2 CTTACTGCACAGGATCCGTGGCCTCCTATGAGCTGACTCAGCCACCCTCAGTGTCCGTGTCCCCAGGACAGACAGGCA GCATCACCTGCTCTGGAGATAAATTGGGGGATAAATATGCTTGCTGGTATCAGCAGAAGCCAGGCCAGTCCCCTGTGC TGGTCATCTATCAAGATAGCAAGCGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAACTCTGGGAACACAGCCA CTCTGACCATCAGCGGGACCCAGGCTATGGATGAGGCTGACTATTACTGTCAGGCGTGGGACAGCAGCACTGTGGTAT TCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT
>ligera-_ld| 013024_0239_055S |2 CTCACTGCACAGGGTCCTGGGCCCAGTCTGTGTTGACGCAGCCGCCCTCAGTGTCTGCGGCCTCAGGACAGGAGGTCA CCATCTCCTGCTCTGGAAGCAGCTCCAACATTGGGAGTTATCGTGTATCCTGGTATCAGCACCTCCCAGGAACAGCCC CCAAACTCCTCATCTATGAAAATGATCAGCGACCCTCAGGGATTCCTGACCGATTCTCTGGCTCCAAGTCTGGCACGT CAGCCACCCTGGTCATCACCGGACTCCTGACTGCGGACGAGGCCGATTATTACTGCGGAACATGGGATACCAGCCTGA GGATTAATTGGGTGTTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT
>ligera_ld [ 003754..0225 0116 |l CACTCACTCTGCAGTGTCAGTGGTCCAGGCAGGACTGACTCAGCCACCCTCGGTGTCCAAGGACTTGAGACAGACCGC CACACTCACCTGCACTGGGAACAGCAACAATGTTGGCAACCTAGGAGCAGCTTGGCTGCAGCAGCACCAGGGCCACCC TCCCACACTCCTATCCTACAGGGATAACAACCGGCCCTCAGGGATCTCAGAGAGATTCTCTGCATCCAGGTCAGGAAA TACAGCCTCCCTGTCCATTACTGGACTCCAGCCTGACGACGAGGCTGACTATTACTGCTCAGCATGGGACAGCAGCCT CAGTGCTTGGGTGTTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT
■ >l igera_21d ] 00473 C 0220 0168 I 2 CTTACTGCACAGGATCCGTGGCCTCCTATGAGCTGACTCAGCCACCCTCAGTGTCCGTGTCCCCAGGACAGACAGCCA GCATCACCTGCTCTGGAGATAAATTGGGGGATAAATATGCTTGCTGGTATCAGCAGAAGCCAGGCCAGTCCCCTGTGC TGGTCATCTATCAAGATAGCAAGCGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAACTCTGGGAACACAGCCA CTCTGACCATCAGCGGGACCCAGGCTATGGATGAGGCTGACTATTACTGTCAGGCGTGGGACAGCAGCACTGTGGTAT
t c g g c g g a g g g a c c a a g c tg a c c g t c c ta g g t c a g c c c a a g g c tg c c c c c tc g g t
>ligera:_ 21d 1010947_0053_0325 | 1 ACTCTGGCTCACAGATACCACCGGAGAGATTGTGTTGACGCAGTCTCCAAGCACCCTGTCTTTCTCTCCAGGAGAAAG AGCCACCCTCTCCTGCAGGGCCAGTCAGATTATTACCAGCAGCTACTTAGCCTGGTACCAGCAGAAACCTGGCCAGGC TCCCAGGCTCCTCATCTATGGTGGATCCAGCAGGGCCACTGGCATCCCAAACAGGTTTAGTGGCAGTGGGGCTGGGAC AGACTTCACGCTCACCATCAGCAGACTGGAGCCTGAAGATTTTGCAGTGTATTACTGTCAACAACATGGTAACTCACC GGTCACTTTCGGCGGAGGGACCAAGGTGGAGATCAAAGGAACTGTGGCTGCACCATCTG
>ligera_2 Id| 016345 0101 0575 | 2 CTTGCTGCCCAGGGTCCAATTCCCAGGCTGTGGTGACTCAGGAGCCCTCACTGACTGTGTCCCCAGGAGGGACAGTCA CTCTCACCTGTGGCTCCAGCACTGGAGCTGTCACCAGTGGTCATTATCCCTACTGGTTCCAGCAGAAGCCTGGCCAAG CCCCCAGGACACTGATTTCTGATACAAGCAACAAATGTTCTTGGACCCCTGGCCGGTTCTCAGGCTCCCTCCTTGGGG GCAAAGCTGCCCTGACCCTTTCGGGTGCGCAGCCTGAGGATGAGGCTGACTATTATTGCTTCCTCTACTTTGATGGTC CTATAGTTTTCGGCGGAGGGACCAAGCTGACCGTCCTAAGTCAGCCCAAGGCTGCCCCCTCGGT
>ligera_2 I d ] 016683 _ 0138 _ 0575 O :
CTCTGGATCTCTGGTGCCTACGGGGACATCGTGATGACCCAGTCTCCAGATTCCCTGGCTGTGTCTCTGGGCGAGAGG ¡ GCCACCATCAACTGCAAGTCCAGCCAGAGTG1TTTGTGGGGCC C CAACAATAAGAACTACTTAGCTTGGTACCAGCAG i AAACCAGGACAGTCTCCTAAGTTGCTCATTTACTGGGGATCTACCCGGAAATCCGGGGTCCCTGACCGATTCAGTGGC ¡ AGCGGGTCTGGGACAGATTTCACTCTCACCATCAGCAGCCTGCAGGCTGAAGATGTGGCAGTTTATTACTGTCAGCAT ¡ TATCATACTCCACCGTACACTTTTGGCCAGGGGACCAAGCTGGAGATCAAACGAAOTGTGGCTGCACCATCTG \ > l igera_21d| 014243 _ 0165 _ 0 £ 9 S 2 | TCTGGGTCCCAGGTGCCAAATGTGTCGTCCAGATGACCCAGTCTCCTTCCACCCTGTCTGCATCTGTAGGAGACAGAG ¡ TCACCATCACTTGCCGGGCCAGTGAGACTGTTGGAACGTGGTTGGCCTGGTATCGGCAGAAACCAGGGAAAGCCCCTA ¡ ACCTCCTGATCTATGAGGCCTCTATTTTAGAAAGTGGGGTCCCATCGAGGTTCAGCGGCAGTGGATCTGGGACAGAGT ! TCACTCTCACCATCAGCAGCCTGCAGCCTGATGATTTTGCAACTTATTACTGCCAACAGTATAATACCTGGTGGACAT TCGGCCAAGGGACCAAGGTGGAAATCAAGCGAACTGTGGCTGCACCATCTG
>ligera _ 2 I d | 007238 _ 0089 _ 0294 I 2
c t t g c t g c c c a g g g t c c a a t tc c c a g g c tg tg g tg a c tc a g g a g c c c t c a c tg a c t g tg tc c c c a g g a g g g a c a g t c a CTCTCACCTGrGGCTCCAGCACTGGAGCTGTCACCAGTGGTCATTATCCCTACTGGTTTCAGCAGAAGGCTGGCCAAG [ CCCCCAGGACACTGATGTATGATATAAGCATCAAACTGTCCTGGACCCCTGCCCGGTTCTCAGGCGCCCTCCTTGGGG 1 GCAAAGCTGCCCTGACCCTTTCGGGTGCGCAGCCTGAGGATGAGGCTGAATATTATTGTTTACTCTATTATAATGGTG ! TCAGGGTGTTCGGCGGAGGGACCAAACTGACAGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT ;
> l igera_21d 015152 0165 07 15 11 ! CCTCACTCTTTGCATAGGTTCTGTGGTTTCTTCTGAGCTGACTCAGGACCCTGCTGTGTCTGTGGCCTTGGGACAGAC ! AGTCAGGATCACATGCCAAGGAGACAGCCTCAGAAGCTATTATGCAAGCTGGTACCAGCAGAAGCCAGGACAGGCCCC ; TGTACTTGTCATCTATGGTAAAAACAACCGGCCCTCAGGGATCCCAGACCGATTCTCTGGCTCCAGCTCAGGAAACAC AGCTTCCTTGACCATCACTGGGGCTCAGGCGGAAGATGAGGCTGACTATTACTGTAACTCCCGGGACAGCAGTGGTAA I CCATGTGGTATTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT | >ligera_21d 00356 5 012 1..0193 | 2 ;
CTCGGGACACAGGGTCCTGGGCCCAGTCTGCCCTGACTCAGCCTGCCTCCGTGTCTGGGTCTCCTGGACAGTCGATCA | CCATCTCCTGCACTGGAACCAGCAGTGATGTTGGGAGATATAACCTTGTCTCCTGGTACCAACAACACCCAGGCAAAG CCCCCAAATTCTTGATTTATGAGGTCAGTAAGGGGOCCTCAGGGGTTTCTAATCGCTTCTCTGGCTCCAAGTCTGGCA ACACGGCCTCCCTGACAATCTCTGGGCTCCAGGCTGAGGACGAGGCAGATTATTACTGCTGCTCATATGCAGGTAGTA GCACTTTTGTCTTCGGAACTGGGACCACGGTCACCGTCCTAGGTCAGCCCAAGGCCAACCCCACGGT
Figure imgf000064_0001
GGATCACCTGCTCTGGAGATGCATTGCCAAAGCAATATGCTTATTGGTACCAGCAGAAGCCAGGCCAGGCCCCTGTGC TGGTGATATATAAAGACAGTGAGAGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAGCTCAGGGACAACAGTCA ! CGTTGACCATCAGTGGAGTCCAGGCAGAAGACGAGGCTGACTATTACTGTCAATCAGCAGACAGCAGTGGTACTTATG ; TGGTATTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCC CAAGGCTGCCCC CTCGGT | > l ig e ra _ 2 ld | 003754 _ 0225 0116 11 i CACTCACTCTGCAGTGTCAGTGGTCCAGGCAGGACTGACTCAGCCACCCTCGGTGTCCAAGGACTTGAGACAGACCGC ¡ CACACTCACCTGCACTGGGAACAGCAACAATGTTGGCAACCTAGGAGCAGCTTGGCTGCAGCAGCACCAGGGCCACCC | TCCCACACTCCTATCCTACAGGGATAACAACCGGCCCTCAGGGATCTCAGAGAGATTCTCTGCATCCAGGTCAGGAAA ¡ TACAGCCTCCCTGTCCATTACTGGACTCCAGCCTGACGACGAGGCTGACTATTACTGCTCAGCATGGGACAGCAGCCT i CAGTGCTTGGGTGTTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT ¡ >ligera_7d| 004730 02 20 _ 0163 2 CTTACTGCACAGGATCCGTGGCCTCCTATGAGCTGACTCAGCCACCCTCAGTGTCCGTGTCCCCAGGACAGACAGCCA ! GCATCACCTGCTCTGGAGATAAATTGGGGGATAAATATGCTTGCTGGTATCAGCAGAAGCCAGGCCAGTCCCCTGTGC ¡ TGGTCATCTATCAAGATAGCAAGCGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAACTCTGGGAACACAGCCA | CTCTGACCATCAGCGGGACCCAGGCTATGGATGAGGCTGACTATTACTGTCAGGCGTGGGACAGCAGCACTGTGGTAT TCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT
>ligera_V¿¡ 01651 3_01 60_07Q2 I 2
CTCAGGGCACAGGGTCCTGGGCTCAGTCTGCCCTGACTCAGCCTCGCTCAGTGTCCGGGTCTCCTGGACAGTCAGTCA CCATCTCCTGCACTGGAACCAGCAGTGATGTTGGTAGTTATAACTATGTCTCCTGGTACCAACAGCACCCAGGCAAAG CCCCCACACTCATGATTTATGATGTCACTAAGCGGCCCTCAGGGGTCCCTGATCGCTTCTCTGGTTCCAAGTCTGGCA ACACGGCCTCCCTGACCATCTCTGGGCTCCAGGCTGAGGATGAGGCTGATTATTACTGCTGCTCATATGCAGGCAACT
C 'I' TñTGTC TGCGGAAC TGGGACCAAGGTC AC CGTC C TAGGTCAGC C CAAGGC CAAC C C CAC GGT
>ligera_7d| 016324 _0202 _0719 2
CTCACTGCACAGGCTCTGAGGCCTCCTATGAGCTGACACfiGCCACCCTCGGTGTCAGTGTCCCCAGGACAGACGGCCA GGATCACCTGCTCTGGAGATGCATTGCCAAAGCACTTTGCTTATTGGTACCAGCAGAAGCCAGGCCAGGCCCCTGTAC TGGTGATATATAAAGACACTGAGñGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAGCTCAGGGACAACAGTCA CGTTGACCATCAGTGGAGTCCAGGCAGAAGACGAGGC TGACTAT'I 'AC' 2GTCAATCACCAGACAGCAGTGGTACTAATG AAGTCTTCGGAACTGGGACCAAGGTCACCGTCCTAAGTCAGCCCAAGGCCAACCCCACGGT
>ligera_7d 076796_053C_Q7QQ 1
ACTCTGGCTCACAGATACCACCGGAGAAATTGTGTTGACGCAGTCTCCAGGCACCCTGTCTTTGTCTCCAGGGGAAAG
a g c c a c c c t c t c c t g c a g g g c c a g t c a g a g t g t t a g c a g c a g c t a c t t a g c c t g g t a c g a g c a g a a a c c t g g c c a g g c TCCCAGGCTCCTCATCTATGGTGCATCCAGCAGGGCCACTGGCATCCCAGACAGGTTCAGTGGCAGTGGGTCTGGGAC AGACTTCACTCTCACCATCAGCAGACTGGAGCCTGAAGATTTTGCAGTGTATTACTGTCAGCAGTATGGTAGCTCACC TTGGACGTTCGGCCAAGGGACCAAGGTGGAAATCAAACGAACTGTGGCTGCACCATCTG
>ligera_7d| 006092_01 91_0398 | 1
ACTCTGGCTCACAGATACCACCGGAGAAATTGTGTTGACGCAGTCTCCAGGCACCCTGTCTTTGTCTCCAGGGGAAAG AGCCTTCCTCTCCTGCAGGGCCAGTCAGACTGTTCCCAGCAGCTACTTAGCCTGGTACCAGCAGAGACCTGGCCAAGT TCCCAGGCTCCTCATCTATGATGCATCCAGCAGGGCCACTGGCATCTCAGACAGGTTTAGTGGCAGTGGGTCTGGGAC AGACTTCACTCTCACCATCAACACACTGGAGCCTGAAGATTCTGCTGTGTATTACTGTCAGCAATATGGTAGCTCACC GACGTTCGGCCAAGGGACCAAGGTGGAAATCAAACGAACTGTGGCTGCACCATCTG
Figure imgf000065_0001
AGCCACCCTCTCCTGCAGGGCCAGTCAGAGTGTTAGCACCTACTTAGCCTGGTACCAACAGAAACCTGGCCAGCCTCC CAGACTCCTCATCTATGATGCATCCAACAGGGCCACTGGCATCCCAGCCAGGTTCAGTGGCAGTGGGTCTGGGACAGA CTTCACTCTCACCATCAGCAGCCTAGAGCCTGAAGATTCTGCAGTTTATTACTGTCAGCAGCGTAGCACCTGGCCTGC GACTTTCGGCCCTGGGACCAAAGTGGATATCAAACGAACTGTGGCTGCACCATCTG
>ligera_7d| 059023_0412_0963 | 2
CTCACTGCACAGGCTCTGTGACCTCCTATGTGCTGACTCAGCCACCCTCGGTGTCAGTGGCCCCAGGAAAGACGGCCA GGATTACCTGTGGGGGAAACAACATTGGAAGTAAAAGTGTGCACTGGTACCAGCAGAAGCCAGGCCAGGCCCCTGTGC TGGTCGTCTATGATGATAGCGACCGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAACTCTGGGAACACGGCCA CCCTGACCATCAGCAGGGTCGAAGCCGGGGATGAGGCCGACTATTACTGTCAGGTGTGGGATAGTAGTAGTGATCATG TGGTATTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT
>ligera_7 d | 010775_0076_0480 | 2
CTCACTGCACAGGCTCTGAGGCCTCCTATGAGCTGACACAGCCACCCTCGGTGTCAGTGTCCCCAGGACAGACGGCCA
GGATCACCTGCTCTGGAGATGCATTGCCAAAGCAATATGCTTATTGGTACCAGCAGAAGCCAGGCCAGGCCCCTGTGC
TGGTGATATATAAAGACAGTGAGAGGCCCTCAGGGATCCCTGAGCGATTCTCTGGCTCCAGCTCAGGGACAACAGTCA CGTTGACCATCAGTGGAGTCCAGGCAGAAGACGAGGCTGACTATTACTGTCAATCAGCAGACAGCAGTGGTACTTATG TGGTATTCGGCGGAGGGACCAAGCTGACCGTCCTAGGTCAGCCCAAGGCTGCCCCCTCGGT
>ligera_7d | 030140_0479_0232 | 2
CTCACTGCACAGGGTCCTGGGCCCAGTCTGTATTGACGCAGC CGCC CTCAGTGTCTGCAGC C C CAGGACAGAAGGTCA
CCATCTCCTGCTCTGGAAGCACCTCCAACATAGTTCATAATTTTGTATCGTGGTTCCAGCATCTCCCAGGAACAGCCC
CCAAACTTCTCATATATGACAATAAGAGGCGGCCCTCAGGGATTCCTGACCGATTCTCTGGCTCCAAGTCTGGCGCGT CAGCCACCCTGGACATCACTGGACTCCAGACTGGGGACGAGGCCGATTATTACTGCGGAGCGTGGGATAGCAGCCTGA
GTGCTGTGGTCTTCGGCGGAGGGACCAAGCTGACCGTCCTGGGTCAGCCCAAGGCTGCCCCCTCGGT
Tabla 6
Los clones más altamente expresados se combinaron manualmente con los clones originales. Dos de ellos no coinciden perfectamente. Los nombres de las secuencias incluyen el marco de lectura (último campo; 0, 1 o 2) Para hacer coincidir las cadenas pesadas sintetizadas originales identificadas utilizando clones altamente expresados con las nuevas cadenas pesadas identificadas mediante uniones altamente expresadas, ambos conjuntos de secuencias y se analizaron con alineación de secuencias múltiples (CLUSTAL) para determinar cómo se emparejaron. En su mayor parte, tenían pares de secuencias idénticos, lo que fue una verificación consistente de que los dos métodos produjeron las mismas cadenas pesadas. En la Figura 50 se presenta una nueva trama de series de tiempo altamente expresadas para uniones de cadenas pesadas y livianas.
Ejemplo VIII
Secuenciación inmune de cadena pesada
Las muestras se concentraron usando el kit RNeasy de Qiagen, se eluyó en 2x 30 pl y se extrajo con Nanodrop (consulte la Tabla 7 a continuación)
Tabla 7
Figure imgf000066_0001
Figure imgf000067_0001
Figure imgf000068_0001
Vacunación y extracción de sangre
Información de la vacuna: Gripe estacional 2010. Se extrajeron muestras de 9 mL de sangre de un solo individuo en diversos puntos de tiempo y se procesaron con el kit Leucolock (protocolo alternativo). El flujo de sangre se centrifugó y el plasma se guardó y almacenó a -80°C. La fracción de glóbulos rojos se guardó y se entrecruzó en formaldehído y se almacenó a 4°C.
Extracción de ARN
Se extrajo el ARN utilizando el protocolo alternativo de Leucolock (trizol) con las siguientes modificaciones: Se llevó a cabo el protocolo de extracción de ARN total que incluía ARN pequeños. Solo se aspira el primer paso de unión, para cada lavado, centrifugado a un máximo de 10.000 x G. Se eluye con 250 pl de dH2 O a 85°C, centrifugado a la velocidad máxima. Se transfiere el ARN en solución sin la pella blanca (probablemente parte del filtro). El ARN se sometió a Nanodrop, y se almacenó a -80°C.
Figure imgf000068_0002
Patrón de ARN protegido (llevar a Tris 10 mM, EDTA 0.1 mM). A los 250 pl de ARN, se agregó lo siguiente:
1 tubo 50 tubos
1M Tris-HCl 2.5 pl 125 pl
50 mM EDTA 0.5 pl 25 pl
(3 pl/tubos)
Digerir 8 pg con DNasa y concentrado
Digestión con DNasa ejecutada utilizando Ambion TURBO libre de ADN (AM1907) con la siguiente modificación. Se añadió 0.1 mL (15 pl) de regulador de ADNasa TURBO 10X y 1 pL de ADNasa TURBO al ARN, y se mezcló suavemente. Se incubó a 37°C durante 20-30 min. Se agregó reactivo de desactivación de la ADNasa resuspendido (típicamente 0.1 volumen) (15 |jl) y se mezcló bien. Se incubó por 5 min a temperatura ambiente, mezclando ocasionalmente. Se centrifugó a 10.000 x g durante 5 min y se transfirió el ARN a un tubo nuevo. Realización de fenol ácido y extracción con CHCh, seguido de precipitación con etanol (EtOH) con NaOAc y Glicoblue. Se eluyó en 50 ul de Tris 10 mM EDTA 0.1 mM, QC y se almacenó a -80°C. Esto se repitió con 5 jg para las muestras 5 y 22 porque el ARN era demasiado bajo (resuspender en 25 jl).
ARN tratado con QC DNasa. Cuantificación con Nanodrop (véase tabla 8 a continuación)
Tabla 8
Figure imgf000069_0001
Figure imgf000070_0002
Mezcla de cebador (véase tabla 9 a continuación).
Tabla 9.
Figure imgf000070_0001
Transcripción reversa
Se preparó una reacción de RT de la siguiente manera:
1 tubo 35 tubos *• • H2 O (DEPC) 0 |jl(a 12 |jl) -• 2 jM de cebador específico de gen (mezcla IGHC antigua) 5 j l (5 pmol)
• Total ARN 7 j l (750 ng) -
Se calentó a 95°C durante 1 min. seguido de 65°C durante 5 min e hielo durante 1 min.
Se centrifugó y añadió lo siguiente:
1 tubo 35 tubos
• 5x regulador de 4 j l 140
primera hebra
• mezcla dNTP 10 mM 1 j l 35
• 0.1 M DTT 1 j l 35
• RNasalnh (Enzy) 1 j l 35
• Superscript III 1 j l 35
Se incubó a 55°C (8 jl/tubos)
durante 60 min
Enzima inactivada por calentamiento a 70°C durante 15 min. Se eliminó el híbrido ARN/ADN agregando 1 |jl de E. coli RNasaH. Se incubó a 37°C durante 20 min, luego hielo.
Se hizo una mezcla maestra global, luego se dividió en todas las muestras (3x 10 veces el punto de 200 jl), luego se dividió cada muestra en 4 x. Se utilizó la mitad para la PCR y mantuvo la otra mitad como respaldo. Se preparó una reacción de prueba de PCR de la siguiente manera:
1t 2x35t
• dH2O 21.6 j l (a 50 j l) 756
• cADN 5 j l -• 5xRegulador HF 10 j l 350
• dNTP(25 mM) 0.4 j l 14
cebador alto (IGHV nuevo-corto) (4 jM ) 6.25 j l (25 pmol) 218.75
• cebador bajo (IGHC nuevo-corto) (4 jM ) 6.25 j l (25 pmol) 218.75
• Phusion 0.5 j l 17.5
Se agregó 90 mezcla de PCR a 10 j l de ADNc, se dividieron las reacciones de PCR en 2 tubos de 50, para cada muestra.
Realización de ciclos térmicos de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 62°C durante 20 segundos
4- 72°C durante 20 segundos para ir a la etapa 2, 20x
5- 72°C durante 5 min
6- 4°C pausa
Se reagruparon cada 2 reacciones en 1. Se agregaron 2 |jl de exonucleasa I (20 U/|jl) a cada tubo y se incubaron a 37°C durante 20 minutos. AMPure XP relación purificada de 1.8:1. Resuspender en 4o jl.
Se llevó a cabo la purificación SPRI de la siguiente manera:
• Agregar la cantidad requerida de perlas AMPure XP (relación 1.8:1) a la muestra de ADN en el regulador EB. • Vórtice para mezclar
• Incubar durante 5 minutos a temperatura ambiente.
• Imán (MPC) durante 5 minutos. Dejar el tubo de perlas en el MPC durante todos los pasos de lavado
• Se retira el sobrenadante (se mantiene en caso de falla) y se lavan las perlas dos veces con 500 j l de etanol al 70%, incubando durante 30 segundos cada vez.
• Se retira todo el sobrenadante, se centrifuga rápidamente, se retira la última gota y se deja que las perlas AMPure se sequen al aire por completo (2 min).
• Se retira el tubo del MPC, se agregan 40 j l de Tris-HCl 10 mM, EDTA 0.1 mM, pH 8.0 (o Qiagen Regulador EB), y se agita durante 30 segundos para volver a suspender las perlas, se deja reposar durante 3 minutos el imán durante 2 minutos y se transfiere el sobrenadante a un nuevo tubo.
Se corrió un gel de diagnóstico para verificar la eficacia de la PCR. Se corrieron 2 j l en un 2% de Egel-X durante 12 min.
Finalizar biblioteca
El siguiente paso fue escrito para finalizar toda la biblioteca restante. La placa se ordenó como se establece en la Tabla 10 a continuación.
Tabla 10
Figure imgf000072_0001
Se realiza la reacción de bloquear utilizando el kit de reparación Enzymatics End de la siguiente manera:
1t 60
• H2 O 0 jl(a 25 j l) 0
• Post PCR Purificado de ADN 19 j l
1t 60
Regulador de reparación End 10 * 2.5 ul 150
• Mezcla dNTP 1mM 2.5 pl (0.1 m M)150
Mezcla de enzimas (HC). 1 pl 60
Se incubó a una temperatura de 25°C durante 30 min. (19/t). Se inactivó con calor a 75°C durante 20 min.
Relave en A agregando lo siguiente directamente a la mezcla:
1t 60t
H2 O 20 pl (a 50pl) 1200
Bloquear muestra de ADN 25 pl -
regulador Klenow 10X 2.5 pl 150
dATP 10 mM 0.5 pl 30
Klenow exo HC(3' a 5' exo menos) 2 pl 120
La reacción total fue ahora de 50 ul (25/t)
Se incubó a 37°C durante 30 min. Se inactivó con calor a 75°C durante 20 min. Se prepararon 454 adaptadores en Y.
10 pl de cada cebador A y B 100 pM 30 pl de (Tris 10 mM, EDTA 0.1 mM, NaCl 50 mM)) (cada adaptador está a 20 pM final). Se incubó a 95°C durante 3 minutos, descender a 15 perpetua a 0.1°C/seg.
Para la ligación del adaptador Y, se añadió directamente a la reacción lo siguiente:
1t 2x30t
• H2 O 0 (agregar pl a 100 pl) -
• ADN con relave en A 50 ul -
• regulador de ligasa rápida 2x 46 pl 1380
• Adaptador 20 pM 2 pl -
• T4 ADN ligasa (rápida) 2 pl 60
Incubar la PCR a 22°C durante 15 min. (48/t). La reacción total fue entonces de 100 pl.
Se usó AMPure y el sustrato se eluyó en 40 pl (usando el liquidador). El QC de la biblioteca para la combinación se probó en una muestra de VIH. Solo se analizaron las 5 primeras muestras (progresivas) (Figura 51).
Ejemplo IX
VIH VDJ
Las muestras se exponen en la Tabla 11 a continuación.
Tabla 11
Figure imgf000074_0001
Figure imgf000075_0001
Adquisición de muestras
Se obtuvo una muestra nueva. Se prepararon 2 tubos de EDTA para cada agente de avance, controlador de élite y muestra VIH negativa. Las muestras fueron procesadas inmediatamente después de la recepción (Ficoll, recuento de células). El aislamiento de células B se realizó de la siguiente manera:
1. Suspensión celular centrifugada a 300 x G durante 10 minutos, sobrenadante aspirado.
2. Pellas de células resuspendidas en 80 pL de regulador frío por 107 células.
3. El regulador era una dilución 1:20 de la solución madre de MACS BSA con la solución de enjuague autoMACS. Desgasificado antes de su uso.
4. Se agregaron 20 pL de microperlas CD19 por 107 células.
5. Se incubó durante 15 minutos en el refrigerador (2-8°C).
6. Lavar las células mediante la adición de 1-2 mL de regulador frío por 107 células y centrifugar a 300 x G durante 10 minutos de sobrenadante de aspirado.
7. Resuspender hasta 108 células en 500 pL de regulador frío
8. Colocar la columna MS en un campo magnético y enjuague la columna con 500 pL de regulador desgasificado.
9. Suspensión celular añadida.
10. Recolectar células sin marcar que pasaron y se lavaron tres veces con 500 pL de regulador.
11. Se retiró la columna y se colocó en un nuevo tubo de recogida.
12. Se agregó 1 mL de regulador y se sumergieron las células marcadas magnéticamente con el émbolo.
13. Contar células.
14. En una centrífuga pequeña, centrifugar las células CD19+ durante 10 minutos a 9.000 x G.
15. Se aspiró el sobrenadante y añadió 300 pL de regulador de lisis. Se congeló y se almacenó a -80°C.
Extracción de ARN
Se usó Mirvana según el protocolo del fabricante, se eluyó en 150 (doble fenol, la fase fue menor en la segunda ejecución). Nanodrop QC, demasiado bajo, por lo que EtOH precipitó con Gglicoblue, se eluye en 20 ul, Nanodrop. Diluir el número 41:2. Véase la Tabla 12 a continuación.
Tabla 12. Se usó mezcla extra para hacer 5x FV1 (180 ng/u l... 1.67 ul de ARN 5.33 ul de H2 O) para cadenas livianas y 5 para cadenas pesadas.
Figure imgf000075_0002
Figure imgf000076_0001
La muestra 8 se concentró mediante precipitación con etanol, se volvió a suspender en 20 pl, Nanodrop = 134.0. Estos eran solo ARN de células B, por lo que no había necesidad de la misma cantidad de ARN inicial para la investigación de VDJ. Teóricamente, los linfocitos representan el 30% de las PBMC, para las cuales las células B representan el 10%, por lo tanto, 15 ng deberían ser suficientes. Se usaron 150 ng.
Una reacción de transcripción reversa (RT) se montó de la siguiente manera:
2x 1 tubo
• H2 O(DEPC) 0 pl(a 12 pl)
• Cebador específico del gen (pesado o ligero) 2 pM 5 pl (5 pmol)
• Total ARN 7 pl (150 ng)
Se calienta a 95°C durante 1 minuto seguido de 65°C durante 5 minutos, luego hielo durante 1 minuto.
Se centrifugó y se añadió lo siguiente: 1 tubo 30 tubos
• 5x regulador de primera hebra 4 pl 120
• Mezcla dNTP 10 mM 1pl 30
• DTT 0.1M 1pl 30
Se centrifugó y se añadió lo siguiente: 1 tubo 30 tubos
• Inhibidor Rnasa Enzymatics 1 jl 30
• Superíndice III 1 jl 30
Se incubó a 55°C durante 60 min (8 jl/tubos)
Enzima inactivada por calentamiento a 70°C durante 15 min. Se eliminó el híbrido ARN/ADN agregando 1 |jl de E. coli RNasaH (Enzy). Se incubó a 37°C durante 20 min., luego hielo. Véase la Tabla 13 a continuación.
Tabla 13.
Figure imgf000077_0001
Se prepara una reacción de prueba de PCR de la siguiente manera:
1x x 2 por muestra x 15 muestras (45 t) (cadena liviana de 12 t) dH2O 2 1 jl (a 50 jl) 945 (1084.46) 252 (259.
ADNc 5 j l - -5x Regulador HF 10 j l 450 120
dNTP(10 mM) (25 mM) 1 j l (0.4) 45 (18) 12 (4.8) Cebador alto (IGHV nuevo-corto) (4jM ) 6.25 j l (25 pmol) 281.25 (225) 75
Cebador bajo (IGHC nuevo-corto)(4jM) 6.25 j l (25 pmol) 281.25 (224) 75
Fusión 0.5 j l 22.5 6
Se agregó mezcla de 90 PCR a 10 j l de ADNc, se dividió la reacción de PCR en 2 tubos de 50, para cada muestra. Era cebados bajo, por lo que se usaron valores reforzados
Ciclo térmico de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 62°C durante 20 segundos
4- 72°C durante 20 segundos, va al paso 2, 23x
5- 72°C durante 5 min
6- 4°C pausa
Se reagruparon cada 2 reacciones en 1. Se agregaron 2 |jl de exonucleasa I (20 U/|jl) a cada tubo y se incubaron a 37°C durante 20 minutos. Relación de purificación AMPure XP de 1.8:1. Resuspender en 40 jl.
Se ejecutó purificación por SPRI: Se agregó la cantidad requerida de perlas AMPure XP (relación de 1.8:1) a la muestra de ADN en el regulador EB. Se sometió a vórtice para mezclar. Se incubó durante 5 minutos a temperatura ambiente. Imán (MPC) durante 5 minutos. Se dejó el tubo de perlas en el MPC durante todos los pasos de lavado. Se eliminó el sobrenadante (se mantuvo en caso de falla) y se lavaron las perlas dos veces con 500 j l de etanol al 70%, incubando durante 30 segundos cada vez. Se eliminó todo el sobrenadante, se centrifugó rápidamente, se eliminó la última gota y se dejaron secar al aire las perlas de AMPure completamente (2 min). Se extrajo el tubo del MPC, se agregaron 40 j l de Tris-HCl 10 mM, EDTA 0.1 mM, pH 8.0 (o Regulador EB de Qiagen), y se agitó en vórtice durante 30 segundos para volver a suspender las perlas, dejar reposar durante 3 min., imán durante 2 min. y se transfirió el sobrenadante a un nuevo tubo.
Se corrió un gel de diagnóstico para verificar la eficacia de la PCR (Figura 52). Se corrió 2 j l en un 2% de Egel-X durante 12 min.
Finalizar biblioteca
El siguiente método fue desarrollado para finalizar la biblioteca restante.
La placa se ordenó de la siguiente manera en la Tabla 14 a continuación.
Tabla 14.
Figure imgf000078_0001
Se realizó la reacción de bloqueo utilizando el kit de reparación Enzymatics End de la siguiente manera:
1t 60
• H2O 0 jl(a 25 j l) 0
• Post PCR Purificado de ADN 19 j l -
• 10* Regulador de reparación End 2.5 j l 150
1t 60
• Mezcla dNTP 1mM 2.5 pl (0.1 m M)150
• Mezcla de enzimas (HC) 1 pl 60 Se incubó a una temperatura de 25°C durante 30 min. (19/t)
Se inactivó con calor a 75°C durante 20 min.
Relave en A agregando lo siguiente directamente a la mezcla:
1t 60t
• H2 O 20 pl(to 50 pl) 1200
Muestra de ADN bloqueado 25 pl -• 10X regulador Klenow 2.5 pl 150
• dATP 10 mM 0.5 pl 30
• Klenow exo HC(3' a 5' exo menos) 2 pl 120
Total rx es ahora 50 ul (25/t)
Se incubó a 37°C durante 30 min. Se inactivó con calor a 75°C durante 20 min.
Se prepararon 454 adaptadores Y: 10 pl de cada cebador A y B 100 pM 30 pl de (Tris 0.1 10 mM, EDTA mM a NaCl 50 mM)) (cada adaptador está a 20 pM final). Se incubó a 95°C durante 3 minutos, descendió hasta 15°C a 0.1°C/seg. La ligación del adaptador Y, se añade directamente a la reacción de la siguiente manera;
1t 2x30t
• H2 O 0 (añadir pl a 100 pl)
• ADN relave en A 50 pl
• 2x regulador de ligasa rápida 46 pl 1380
• Adaptador 20 pM 2 pl -• T4 ADN ligasa (rápida) 2 pl 60
Incubado en PCR a 22°C durante 15 min (48/t). La reacción total era ahora de 100 pl.
AMPure, se eluye en 40 ul (se utiliza el liquidador)
Biblioteca de QC para el conjunto
Prueba en muestra de VIH, prueba solo las primeras 5 muestras (progresor). Muestra en progreso Nanodrop.
Diluir a 5 ng/ul. Nanodrop:
1 36.8
2 31.7
3 24.8
4 33.5
5 31.3
Diluido a 1 ng/pl utilizando tris 10 mM, Tween 20 al 0.05%. Diluido a 0.01 ng/pl (en 200 |jl) en tris 10 mM, Tween 20 al 0.05%.
Se preparó una mezcla rápida de SYBR de preaviso suficiente para una ejecución por triplicado. Se utilizaron 18 pl de mezcla y se le agregaron 2 pl de plantilla.
1t 20
• H2 O 7.2 ul (a 20 ul) 144
• 2x SYBR rápido 10 ul 200
• 10 pm Cebador alto 0.4 ul 8
• 10 pm Cebador abajo 0.4 ul 8
• 0.01 ng/ul ADN plantilla 2 ul -Ciclo:
95 1 min
95 5 seg
60 20 seg
72 15 seg repetir 40 veces
Se preparó la mezcla rápida de SYBR lo suficiente para una ejecución por triplicado
Se hicieron 2 corridas, una serie de la muestra de 0.01 ng y una de la muestra inicial de 5 ng/ul
Se usaron 15 ul de mezcla, y se agregaron 5 ul de plantilla. Para muestra de 0.01 ng, se usa de la siguiente manera:
Figure imgf000080_0001
Figure imgf000081_0002
Para la muestra de ~5 ng, la siguiente dilución se realizó hasta un nivel real de 1 ng/pl y se diluyó 1/100 hasta un valor real de 0.01 ng/pl. Utilizado 5 pl.
Figure imgf000081_0003
1t 20
H2O 4.2 ul (a 20 ul) 84
2x SYBR rápido 10 ul 200
10 pm cebador alto 0.4 ul 8
10 pm cebador bajo 0.4 ul 8
0.01 o 5 ng/ul plantilla de ADN 5 ul
Lector de placa
La muestra fue diluida como sigue. Volumen de H2O agregado a un volumen de 25 ul de la muestra para lograr la misma concentración de 250 nM.
Figure imgf000081_0001
GMC1, se mezclaron 25 pl de cada muestra para un total de 30*10=300 pl. IDO1, se mezclaron 30 pl. FV1, se mezclaron 30 pl. RA, se mezclaron los primeros 4 a 35 pl y los últimos 4 a 35 pl por separado, se precipitó y se cargó en un gel para decidir cómo mezclarlos. VIH, proporción igual de agrupamiento de cada uno (40 pl), pero no se mezclaron muestras de élites con el combo neg+prog, se ejecutarán con una junta (por lo tanto, se leerá el total para la élite).
La preparación de Qiagen 5 j l de NaOAc (lavado de 2 minutos), se eluyó en 30 j l de Nanodrop.
Figure imgf000082_0002
Preparación probada de Pippin con muestra de control número 8; 475-525, 475-550, 500-575 (Figura 53)Se corrieron todas las muestras en Pippin preparativa. División VIH1 en 2 corridas, Extracto 475-550. 1, GMC; 2, IDO; 3, FV; 4, VIH1/2 (Figura 54).
Biblioteca Qubit HS ADNds
Se reunieron ambas muestras de RA juntas se aplicó AMPure porque RA2 no tiene nada.
no ID/Qubit HS ADNds/diluido a 5 ng/jl, tomar X jl/agregar Y H2O/volumen total
1 GMC 8.44 3 2.064 5.064
2 IDO 7.99 3 1.794 4.794
Figure imgf000082_0001
6.59 3 0.954 3.954
4 RA1 6.59 3 0.954 3.954
5 RA2 reunir con RA1
6 VIH1 49.8 3 26.88 29.88
7 VIH2 25.2 3 12.12 15.12
Diluido 1/100 a 0.05 ng/ul. Cargar 1 ul en e GEL de cada muestra.
Corrida en tiempo real
Se preparó una mezcla rápida de SYBR lo suficiente para una corrida por triplicado. Usar 18 ul de mezcla y agregar 2 ul de plantilla.
1t 20
• H2 O 7.2 j l (a 20 j l) 144 • 2x SYBR rápido 10 j l 200 • 10 jm cebador alto 0.4 j l 8 • 10 jm Cebador bajo 0.4 j l 8 • 0.05 ng/ul plantilla de ADNA 2 j l -Ciclo
95 1 min
95 5 seg
60 20 seg
72 15 seg repetir 40 veces
Diluido todo a 5 ng/jl usando 13.5 j l de muestra. Se agregó H2 O a 13.5 j l de muestra
1 9.45
2 8.073
3 4.293
4 4.293
5 120.96
6 54.54
Enviados 15 |jl a 454.
Ejemplo X
PCR en emulsión de célula única y perla
Figure imgf000083_0002
Figure imgf000083_0001
Figure imgf000083_0003
Figure imgf000084_0001
Carga de perla con cebador de anclaje en emulsión
Perlas magnetizadas o centrifugadas durante todos los pasos de acuerdo con la tabla de configuración del ensayo. Las perlas se agitaron en vórtice para resuspender y se transfirieron 100 j l a 1.5 ml de tubo de silicona Ambion. Se lavó dos veces con 200 j l de 2x de regulador de unión y lavado (2xB&W). Perlas resuspendidas en 100 j l de 2xB&W, agregar cebador de anclaje premezclado; 1 mM PR1-F4-2Bio (2 jl); H2O (98 jl). Se incubó en rotador durante 20 min. Se lava dos veces con 200 j l de 1xB&W. Se lava una vez con 200 j l de TE. Resuspender las perlas en 100 j l de TE y almacenarlas en el rotador en un recinto frío hasta que se usen.
PCR en emulsión
Mezcla acuosa preparada como sigue: 1 tubo
• dH2O 316.4 j l (a 800 j l)
• 10x regulador de PCR (Enzymatics) 96 j l
• MgCl250 mM 242 j l
• Mezcla dNTP 25 mM 135 j l
• PR1R-S2 mM 6 j l
• 30% (p/v) BSA (Sigma) 1.6 j l
• Plantilla de biblioteca* 3 j l
Se somete a vórtice bien para mezclar. *para la plantilla de biblioteca, se utilizó una dilución 1:20 de una biblioteca genómica humana de 280 pb1 nM.
Mezcla de aceite preparado: 1 tubo 4 tubos (prep. todo en un Falcon de 509 ml) • Tegosoft DEC 4.4 ml 17.6 ml
• aceite mineral 1.2 ml 4.8 ml
• ABIL WE09 425 j l 1.7 ml
Se agitó en vórtice, se dejó desgasificar. Se dividieron en alícuotas 5.5 ml en tubos de Falcon de aluminio recubiertos de teflón de 50 ml.
Crear emulsión. A la mezcla de PCR de 800 jl, se agregaron 100 j l de Enzymatics Taq (5 U/jl), se agitaron rápidamente y se centrifugaron. Se añadieron inmediatamente 60 j l de perlas de PR1F4, se agitaron rápidamente y se centrifugaron. El total de 960 j l se transfirió inmediatamente a un tubo de aceite y se agitó en vórtice durante 2.25 min a 2200 rpm. El tubo se colocó en la rejilla del hidrociclador y se inició el programa de PCR para el ciclo nocturno. Ciclo como sigue:
1- 94°C durante 5 min
2- 94°C durante 15 segundos
3- 58°C durante 30 segundos (1 grado por encima para compensar el ajuste del hidrociclador)
4- 70°C durante 75 segundos
5- Se llevó 2 para 119x
6- 72°C durante 2 min
7- Tanque delantero frío (~10°C perpetua)
Ruptura de emulsión
Se añadieron 22 ml de isopropanol a cada tubo de Falcon de aluminio, y los tubos se agitaron durante 50 segundos a 3000 rpm. Los contenidos se transfirieron a un nuevo tubo de Falcon de polipropileno de 50 ml y se centrifugaron (toque a 4000 rpm y se detuvieron). Los sobrenadantes se vertieron (el sedimento se pegó bien al fondo). Se agregaron 30 ml de isopropanol y los tubos se agitaron durante 40 segundos a 3000 rpm, se centrifugaron (toque 4000 rpm y se detuvo), y el sobrenadante se vertió (la pella se pegó bien al fondo) .
Se añadieron 30 ml de regulador NXS (tris-HCl 10 mM, pH 8.0, NaCl 100 mM, Triton X-100 al 1% (v/v), SDS al 1% (v/v)) y los tubos se agitaron con vórtice durante 1.5 mín. a 3000 rpm (agitar más el vórtice si la pella todavía estaba atascada en la parte inferior), se centrifuga (se mantiene a 4000 rpm durante 15 segundos y se detiene), y se pipeteó el sobrenadante (cuidadosamente ya que la pella no se pegó muy bien al fondo esta vez). Se añadieron 100 pl de TE y el sedimento se resuspendió mediante pipeteo. La solución se transfirió a un tubo Eppendorf siliconado 1.5, se lavó 1x con 200 pl de NXS, se lavó 2x con 200 pl de TE, se incubó durante 5 minutos en 100 pl de NaOH 100 mM a temperatura ambiente, se lavó 1x con 120 pl de NaOH 100 mM, se lavó 2x con 150 pl de TE, se resuspendió en 30 pl de Te y se transfirió a un nuevo tubo siliconado para su almacenamiento.
Secuenciación por diagnóstico de ligación de perlas
La secuenciación por ligación de la posición menos uno se realizó usando métodos conocidos en la técnica.
Captura de perlas en dispositivo de acrilamida para SBL
Se preparó un portaobjetos de silano unido a acrilamida de la siguiente manera:
Perlas en TE 7 pl
• 40% Acrílico 19:1 1.25 pl
• 5% TEMED 0.5 pl
• 0.5% APS 0.75 pl
Esto se colocó en un portaobjetos por medio de la absorción bajo el cubreobjetos y deslizando un cubreobjetos en la parte superior y el portaobjetos se colocó boca abajo. El portaobjetos polimerizó (~30 min, máx. 2 h) y se formó un círculo seco (preparar el lavado 1 durante este tiempo). Se quitó el cubreobjetos y se puso el portaobjetos en un tubo cónico con TE (agitar durante 10 minutos)
Lavado preparado 1:
• 1M Tri-HCl pH 7.5 10 ml
• 2M KCl 25 ml
• 0.5M EDTA 4 ml
• 10% Triton X 1 ml
Mezcla de cebador preparada:
• 6X SSPE con 0.01% Tritón X-100 100 pl
• cebador de anclaje 1 mM 1pl
Se retiró el portaobjetos del tubo cónico, se secó la superficie de teflón blanca con Kimwipe, se agregaron 100 pl de la mezcla de cebador de anclaje, se incubó a 56°C durante 1 minuto, se colocó en el tubo cónico con el Lavado 1, se cambió inmediatamente a un nuevo Lavado 1, se incubó a temperatura ambiente durante 5 min en el lavado 1 con agitación suave.
Mezcla de ligación preparada como sigue;
• H2 O 41 pl
• regulador de T4 ADN ligasa 10x 5 pl
• Mezcla fluorescente de nonámero 4 pl
• T4 ADN ligasa (2KU/pl) 1 pl
Se retiró el portaobjetos del tubo cónico, se secó la superficie de teflón blanca con Kimwipe, se agregaron 50 pl de mezcla de ligación, se incubaron a 35°C durante 5 minutos, se colocaron en el tubo cónico con el Lavado 1, se cambiaron inmediatamente a un nuevo Lavado 1, se incubaron a temperatura ambiente durante 5 minutos en el Lavado 1 con agitación suave, se cambió el Lavado 1 para TE, y se incubó con agitación suave durante 10 minutos a 2 horas. Se tomaron imágenes al microscopio y se analizaron los datos de las imágenes (consulte las Figuras 55-57).
Ejemplo XI
Illumina VDJ
Objetivo
Para desarrollar una muestra, Illumina emparejó el protocolo de secuenciación final para el ADN de inmunoglobulina. Oligonucleótidos
Se ordenaron cebadores que tenían una placa de cocción, desalinización estándar, una segunda sección compatible con el ADN plano del primer lote, con la extensión primaria adecuada del adaptador Illumina (no agrupamiento) (Tabla 15). Las placas se almacenaron a 200 pM.
Table 15.
Figure imgf000086_0001
Figure imgf000087_0001
Figure imgf000088_0001
Figure imgf000089_0001
Figure imgf000090_0001
Extraer ADN genómico
Sangre extraída. Extracción de PBMC (ficoll), se congeló una parte en DMOS para un posible arrastre en vivo. Se utilizaron reservas de células congeladas (3 viales, una para el día 0, día 7 y día 21 de células totales, 5.5 millones, 70% de viables). ADN extraído (kit Agencourt; mezcla de lisis usada 10x 50 pl de cóctel de RNasa; unión de perlas usadas al 50% en volumen, es decir, 300 pl de perlas para 600 pl de solución). Nanodrop: 62.2 ng/pl (260/180 1.90, 280/2302.0) total -18 |jg.
Configuración de cebador
Se hizo una placa diluida a 5 pM cada una; 2 pl de cada 78 pl de H2O, pero también a tubos agrupados a 5 pM una vez agrupados. V; 3 pl de cada (=90 pl en total) 30 pl de h 2o = 120 pl a 5 pM. J; 2 pl de cada (=6 pl total) 74 pl de H2O = 80 |jl a 5 pM
Prueba de cebador individual
Se probaron todos los cebadores uno por uno (solapamiento no Illumina solamente): cada V contra un conjunto de los 3 J, (30 reacción de PCR); cada J contra un conjunto de todos los V (3 reacción de PCR).
Se preparó una reacción de la siguiente manera:
1 tubo 5t 35t
dH2O 9.8 j l (a 20 j l) 49 343
62.2 ng/jl ADN 1.60 j l 100 ng 8 56
5x Regulador HF 4 j l 1X 20 140
dNTP 10 mM 0.4 j l 0.2 jM 2 14
cebador V 5 uM 2 j l 0.5 jM 10 -cebador J 5 uM 2 j l 0.5 jM - 70
Phusion Hot Start 0.2 j l 0.02 U /jl 1 7
(18 j l /tubos)
Ciclo térmico de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 55°C durante 30 segundos
4- 72°C durante 30 segundos, se pasa a la etapa 2, 30x
5- 72°C durante 5 min
6- 4°C pausa
Se agregaron 5 j l de 5X regulador Novex y se cargaron 6 j l en geles de agarosa (no se pudo ver nada). Se corrieron 15 j l en 6% de TBE, se tiñe con SYBR oro 12 min (Figura 58)
Configuración de cebador parte 2
La placa (VDJ_ADNg_Apri102_10) se diluyó a 400 jM . Las placas diluidas se hicieron a 5 jM cada una: 2 j l para cada V y J 158 j l de H2O = 160 jl, pero también a tubos agrupados a 5 jM una vez agrupados. V; 2 j l de cada (=90 j l en total) 70 j l de H2O = 160 j l a 5 jM (pozo F1). J; 2 j l de cada (=6 j l en total) 154 j l de H2O = 160 j l a 5 jM (pozo F2).
Prueba de cebador individual
Se probó cada cebador uno por uno (solapamiento no Illumina solamente): cada V contra un conjunto de los 3 J, (45 reacción de PCR); cada J contra un conjunto de todos los V (3 reacción de PCR); y todos los V y J en una reacción (1 reacción de PCR) (Figura 59).
Se preparó una reacción de la siguiente manera: 1 tubo 5t (J y todo) 50t
• dH2O 9.8 j l (a 20 j l ) 49 490
Se preparó una reacción de la siguiente manera: 1 tubo 5t (J y todo) 50t • 62.2 ng/pl ADN 1.60 pl 100 ng 8 80 • 5x Regulador HF 4 pl 1X 20 140 • dNTP 10 mM 0.4 pl 0.2 pM 2 20 • cebador V 5 uM 2 pl 0.5 pM 10 -• 5 uM cebador J 2 pl 0.5 pM -(10 todos) 100 Phusion Hot Start 0.2 pl 0.02 U/pl 1 10
(18 pl/tubos)
El ciclo térmico fue el siguiente:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 58°C durante 20 segundos
4- 72°C durante 30 segundos, se pasa a la etapa 2, 30x
5- 72°C durante 5 min
6- 4°C pausa
Con saliente Illumina (Tabla 16).
Tabla 16.
Figure imgf000092_0001
Figure imgf000093_0001
Figure imgf000094_0001
Figure imgf000095_0001
Figure imgf000096_0001
Figure imgf000097_0001
Configuración de cebador parte 2
La placa (VDJ_ADNg_April23_10_iNumina) se diluyó a 400 pM. Las placas se suministraron a 10 nM, resuspender todos los oligos en 25 pl cada uno. No se probaron uno por uno, en su lugar se probó la intensidad de la banda en general, y también se combinaron los tubos a 5 pM una vez agrupados. V; 2 pl de cada (=90 pl en total) 70 pl de H2 O = 160 pl a 5 pM (pozo F1). J; 2 pl de cada (=6 pl en total) 154 pl H2O = 160 pl a 5 pM (pozo F2 ) pruebas combinadas de superposición de cebadores de Illumina
Se prepara una reacción de la siguiente manera:
1 tubo 4 tubos
• dH2O 14.42 pl (a 25 pl) 57.68
• 180 ng/pl ADN 0.83 pl 150 ng 3.33
• 5x Regulador HF 5 pl 1X 20
• dNTP 10 mM 0.5 pl 0.2 pM 2
• cebador V5 uM 2 pl 0.5 pM 8
• cebador J 5 uM 2 pl 0.5 pM 8
Phusion Hot Start 0.02 U/pl 1
(25 pl/tubos)
El ciclo térmico se realizó de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 58°C durante 20 segundos
4- 72°C durante 20 segundos vaya a la etapa 2, 30x
5- 72°C durante 5 min
3- 4°C pausa
Qiagen purificado, eluido en 30 pl. Nanodrop
1 70 ng/pl sin saliente
2 128 ng/pl Saliente de Illumina
3 90 ng/pl Saliente Illumina, Veraseq
A 6 pl, se agregaron 6 pl de Blue juice 2X y se cargaron 6 pl. Se corrió con 2x 6 pl en 6% de TBE (20 min), se tiñó la mitad con bromuro de etidio (EtBR) y SYBr oro 12 min. Carga inversa (de modo que el número 3 es Phusion con cebador sin saliente) (Figura 60).
Se armó una reacción de la siguiente manera:
1 tubo 5t
• dH2O 10.85 pl (a 20 pl) 54.
• 180 ng/pl ADN 100 ng -• 5x Regulador HF 4 pl 1X 20
• dNTP 10 mM 0.4 pl 0.2 pM 2
• cebador V 5 pM 2 pl 0.5 pM -• 5 pM cebador J 2 pl 0.5 pM -Phusion Hot Start 0.2 pl 0.02 U/pl 1
(15.45 pl/tubos)
El ciclo térmico se realiza de la siguiente manera (Figura 61):
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 55°C durante 30 segundos
4- 55°C durante 30 segundos
5- 72°C durante 30 segundos vaya a la etapa 2, 30x
6- 4°C pausa
Repetido con ADNc de 62 ng/pl y ADN CorieN(diluido 1:5). Se probó a partir de ADNc de FV1 (RT-PCR realizado como en la secuenciación de la cadena pesada 454).
Se prepara una reacción como sigue:
1 tubo
• dH2O 6.4 pl (a 20 pl)
• ADNc 5 pl 100 ng
• 5x Regulador HF 4 pl 1X
• dNTP 10 mM 0.4 pl 0.2 pM
• cebador V 5 pM 2 pl 0.5 pM
• cebador J 5 uM 2 pl 0.5 pM
Phusion Hot Start 0.2 pl 0.02 U/pl
(18 pl/tubos)
Ciclo térmico se realizó de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 58°C durante 20 segundos
4- 72°C durante 20 segundos vaya a la etapa 2, 25x
5- 72°C durante 5 min
6- 4°C pausa
Se cargaron 5 pl en gel de TBE al 6%, se corrieron 25 minutos, se tiñeron con 10 pl de EtBr 15 minutos (Figura 62). Ejemplo XII
Secuenciación inmune de la artritis reumatoide
La información de la muestra se expone en la Tabla 17.
Figure imgf000100_0001
Tabla 17
Extracción de ARN
Se utilizó mirvana según el protocolo del fabricante. Nanodrop QC. Diluido todo a 250 ng/pl (Tabla 18).
Tabla 18
Figure imgf000100_0002
La muestra concentrada 8 por precipitación con EtOH, se volvió a suspender en 20 ml, Nanodrop = 134.0. Transcripción reversa. Se procedió de la siguiente manera para RT-PCR:
2x 1 tubo
• H2 O (DEPC) 0 |jl (a 12 pl)
• 2 jM de cebador específico del gen (IGHC K y L) 5 (5 pmol)
• Total ARN 7 j l (500 ng)
Se calienta a 95°C durante 1 min seguido de 65°C durante 5 min, y luego en hielo durante 1 min. Se centrifugó y añadió lo siguiente:
1 tubo 10 tubos
5x regulador de primera hebra 4 j l 40
Mezcla dNTP 10 mM 1 j l 10
0.1 MDTT 1 j l 10
Inhibidor de la RNasa-Enzy. 1 j l 10
Superíndice III 1 j l 10
Incubación a 55°C durante 60 min. (8 jl/tubos). Enzima inactivada por calentamiento a 70°C durante 15 min. Se eliminó el híbrido ARN/ADN agregando 1 j l de RNasaH de E. coli. Se incubó a 37°C durante 20 min., luego hielo. La reacción de PCR se prepara de la siguiente manera (se utiliza la mitad para la PCR, se mantiene la otra mitad como respaldo)
1x x 2 por muestra x 12 muestras (16t)
dH2O 21 jl (a 50 jl) 420
cADN 5 j l -5x Regulador HF 10 j l 240
dNTP(10 mM) 1 j l 24
cebador alto (IGHV nuevo-corto) (4 jM ) 6.25 j l (25 pmol) 150
cebador bajo (IGHC nuevo-corto)(4 jM ) 6.25 j l (25 pmol) 150
Phusion 0.5 j l 12
Se agregaron 45 ml a 5 j l dos veces para cada muestra de ADNc. Ciclo térmico de la siguiente manera:
1- 98°C durante 1 min.
2- 98°C durante 10 segundos
3- 62°C durante 20 segundos
4- 72°C durante 20 segundos se pasa a la etapa 2, 23x
5- 72°C durante 5 min.
6- 4°C pausa
Se reunieron los tubos (total 100 |jl). Se agregaron 2 |jl de exonucleasa I (20 U/|jl) a cada tubo de 100 |jl y se incubaron a 37°C durante 20 min. Se purificó con AMPure XP, relación 1.8:1. Se resuspendió en 40 jil, se transfirió a la tira de PCR. Se realizó la purificación SPRI de la siguiente manera:
• Se agregó la cantidad requerida de perlas AMPure XP (relación 1.8:1) a la muestra de ADN en el regulador EB. • Se somete a vórtice para mezclar.
• Incubar durante 5 minutos a temperatura ambiente.
• Imán (MPC) durante 5 minutos. Se dejó el tubo de perlas en el MPC durante todos los pasos de lavado.
• Se eliminó el sobrenadante (se mantuvo en caso de falla) y se lavaron las perlas dos veces con 500 jil de etanol al 70%, se incubaron durante 30 segundos cada vez.
• Se eliminó todo el sobrenadante, se centrifugó rápidamente, se eliminó la última gota y se dejó que las perlas de AMPure se secaran al aire por completo (2 min.).
• Se retiró el tubo del MPC, se agregaron 40 j l de Tris-HCl 10 mM, EDTA 0.1 mM, pH 8.0 (o Regulador EB de Qiagen) y se agitó en vórtice durante 30 segundos. Para resuspender las perlas, dejar reposar durante 3 min. Aplicar imán por 2 min y transferir el sobrenadante a un nuevo tubo.
Se usó un gel de diagnóstico para verificar la eficacia de la PCR. Se realizaron 2 j l en un 2% de Egel-X durante 12 min. (Figura 68). Las reacciones de bloqueo se realizaron utilizando el kit de reparación Enzymatics End de la siguiente manera:
1t 12t
H2O 0 jl(a 50 jl) 0
ADN purificado 38 j l -
10 x Regulador de reparación End 5 j l 60
mezcla dNTP 1 mM 5 j l 60
Mezcla de enzimas. 5 j l 60
Se incubó a una temperatura de 25°C durante 30 min. Se inactivó con calor a 75°C durante 20 min. Se purificó con AMPure XP, relación 1.8:1. Se resuspendió en 37 j l (se mantuvo como volumen de respaldo sin vinculación). Se guardaron 2 j l de cada muestra para diagnóstico de gel. Se corrió un gel de diagnóstico para verificar la eficiencia del bloqueo y las perlas AMPure. Se corrieron 2 j l de muestra en un 2% de Egel-X durante 12 min. (Figura 69). Se purificó con AMPure XP para eliminar todo el dNTP, se eluyó en 44 jl. E Gel diagnóstico 2 j l. Se probaron los siguientes pasos solo en una muestra: (muestra 10 FV1, la que tiene la banda adicional a 275 pb).
Relave en A - solo muestra FV1
Relave Klenow en exo- "A" y "T". Se preparó la siguiente mezcla de reacción:
• H2 O 42 j l (a 50 j l)
• Muestra de ADN 41 |jl
• 10X regulador Klenow 5 j l
• dATP 10 mM 1 j l
• Klenow exo (3' a 5' exo menos) 3 j l
Incubado durante 30 minutos a 37°C. Purificado con AMPure, eluido en 26 jl. Corrido en gel de diagnóstico (Figura 70). Ln1 post A-tail, ln2, segunda ronda de AMPure de sobrenadante postenlace no finaliza. Todo se veía bien. Sin pretender estar limitados por la teoría científica, las bandas de gel anteriores de FV1 (muestras 9 y 10) probablemente se disiparon debido a una mala carga del gel.
Ligación con adaptador Y
Autofusión de oligo 454 en adaptadores A y B juntos. Se siguió el protocolo 454 (10 j l de cada cebador 100 jM 30 j l de (Tris 10 mM, EDTA 0.1 mM a NaCl 50 mM)) (cada adaptador estaba a 20 jM final), 95°C durante 3 minutos, rampa a 15°C perpetua a 0.1°C/seg.
Ligación del adaptador rápido de 454 Y de la siguiente manera (se mantuvieron 2 j l de ADN en el lado para la comparación del gel):
1 tubo
• H2 O 0 j l (a 50 j l)
• 2x regulador de ligasa rápida 25 j l
• VDJ ADN 23 j l
• Adaptador de 20 jM 1 j l
• T4 ADN ligasa (rápida) 2 j l
Incubado en PCR a 22°C durante 15 min. Se purificó con AMPure XP, relación 1.8:1. Resuspendido en 25 jl. Se corrió la muestra en un gel de diagnóstico.
Se probaron todas las reacciones combinadas, como en el protocolo rápido 454. Se usó la muestra 9 (FV1 para esto), todavía no se había ejecutado Endit (por causa de la necesidad de un regulador en la mezcla). Se realizó una reacción de bloqueo con el kit de reparación Enzymatics End de la siguiente manera (Endit y relave en A simultáneos):
1 tubo
• H2 O 0 jl(a 50 jl)
• ADN purificado 40 j l
• 10 x regulador de reparación End 5 j l
• Mezcla dNTP 1 mM 5 j l
• Mezcla de enzimas. 2 j l (T4 pol PNK)
• TAQ polimerasa 2 j l
Se incuba a una temperatura de 25°C durante 20 minutos, luego a 72°C durante 20 minutos, luego se mantiene a 4°C. La ligación del adaptador en Y, se agrega directamente a la reacción de la siguiente manera:
ADN relavado en A Endit 50 j l
2x regulador de ligasa rápida 50 j l Adpatador de 20 jM 1 j l
T4 ADN ligasa (rápida) 2 j l
Incubado en PCR a 22°C durante 15 min. (el volumen total fue de 107 jl), por lo que 1.8 AMPure = 193 jl. Se purificó con AMPure XP, relación 1.8:1. Resuspendido en 25 jl. Se realizó un diagnóstico de gel en la muestra (Figura 71), 2% de E-gel, corrió 16 min. Carril 1, marcador; carril 2, control de preligación; carril 3, relave Klenow A; carril 4, relave Taq A.
Las bandas adicionales en el carril 2 fueron las bandas no específicas de la ARNasa H que se ligaron. Ahora la pregunta era saber si la ligación mostraría un adaptador Y frente a 2 adaptadores Y. Cebador A 41 nt, cebador B 43 nt = total 84. Sin pretender estar vinculado por la teoría científica, esto significaría que la primera banda sería una ligación adecuada y la otra anterior sería algo diferente porque el producto final es de 100 pb o más, a menos que la FAM esté causando este patrón de migración. Pero, idealmente, un conjunto de cebadores fo-fo, seguido en la PCR por un ciclo de TAQ, probablemente sería el camino a seguir ... pero la fusión competiría por un relave de taq. Pruebe la ligación del adaptador en Y en la escalera eterna y pruebe algunos tamaños. (No hay una preocupación de relave aquí). Luego, prueba Taq A de relave secuencial vs. mezclado con el final bloqueado.
Prueba de PCR
Se utilizaron cebadores (Tabla 19) que amplificaban el producto final, por lo que solo la ligación de doble adaptador debería amplificarse exponencialmente. Comenzó con una dilución 1/10, realizó una PCR de 15 ciclos y se vio qué sucedía en el gel.
Tabla 19.
Figure imgf000104_0001
Se prepara una reacción de prueba de PCR de la siguiente manera:
1x 5x dH2O 15.75 j l (a 25 j l) 78.75 Dilución 1/10 de ADN. 1 j l -5x Regulador HF 5 j l 25 dNTP(10 mM) 0.5 j l 2.5 cebador alto 10 jM 1.25 6.25 cebador bajo 10 jM 1.25 6.25 1x 5x
• Phusion 0.25 |jl 1.25
Ciclo térmico de la siguiente manera:
1- 98°C durante 1 min.
2- 98°C durante 10 segundos
3- 65°C durante 20 segundos
4- 72°C durante 20 segundos se pasa a la etapa 2, 15x
5- 72°C durante 5 min.
6- 4°C pausa
Se cargaron muestras de 2 j l y 20 j l en un 2% de gel ex y se corrieron durante 16 minutos. (Figura 72). Muestra 1, control de preligación; muestra 2, relave Klenow A; muestra 3, relave Taq A; muestra 4, sin plantilla de control de PCR. Sin la intención de limitarse por la teoría científica, parecía que la banda superior era la correcta, la ausencia de FAM allí la haría migrar ligeramente más abajo. Una extracción lo confirmaría de una vez por todas, pero el enriquecimiento resultante se veía muy bien. (Se reordenó el cebador con un 5' FAM en el cebador superior y ambos purificados por HPLC).
Se realizó una prueba de extracción de preparación de Pippin. El patrón de extracción de la banda fue el siguiente: 1 475 450-500
2 500 475-525 muy bien hecho
3 538 500-575
4 500 460-540 Escalera de 100 pb (7 j l Pippin) extracto de 500 pb
Se cargaron 20 j l de la cámara de elución resultante (60-80 jl) en un 2% de Exgel (Figura 73. Panel anterior izquierdo, panel derecho, posterior del canal. Carril 1, control FV-jl de VDJ, HC purificado. Extracción por PCR validada. 1. control negativo FV-jl (usado 1 jl). 2. 475-525 (hipo: solo un adaptador Y). 3. 500-550 (hipo: adaptador 2 Y).
Se preparó una reacción de prueba de PCR como sigue
1x 4
dH2O 11.75 jl (a 25 j l) 47 Dilución de la elución en Pippin del ADN 5 j l -5x Regulador HF 5 j l 20 dNTP(10 mM) 0.5 j l 2 cebador alto 10 jM 1.25 5 1x 4 cabdor bajo 10 pM 1.25 5 Phusion 0.25 pl 1
Ciclo térmico de la siguiente manera (20 pl/tubo):
1- 98°C durante 1 min.
2- 98°C durante 10 segundos
3- 65°C durante 20 segundos
4- 72°C durante 20 segundos se pasa a la etapa 2, 15x
5- 72°C durante 5 min.
6- 4°C pausa
Se cargaron muestras de 2 pl y 20 pl en un Ex-gel, se corrió 16 min. (Figura 74).
Optimizar un relave en A
Se intentó agregar Klenow o Taq justo después de la finalización (sin limpieza), con un exceso de dATP y regulador nuevo. Luego se combina con o sin limpieza de ligación previa. Muestra de postligación usada para pruebas iniciales. Se obtuvieron dos bandas de buen tamaño para evaluar la eficiencia: 1, klenow-lig; 2, klenow- limpieza lig; 3, Taq lig; 4, Taq limpieza lig; 5, bst largefrag lig; 6, bst largefrag limpieza lig.
Se utilizó un FV1 de cadena pesada, posterior a la PCR, posterior a la limpieza. Reacción de división en 6 para la prueba. Se realiza la reacción de bloqueo utilizando el kit de reparación Enzymatics End de la siguiente manera (¿puede usarse solo la mitad del producto de PCR?):
1t 8 H2 O 0 pl(a 25 pl) 104 ADN purificado 19 pl (6 DNA 13 agua) -10 x Regulador de reparación End 2.5 pl 20 Mezcla dNTP 1 mM 2.5 pl (0.1 mM) 20 Mezcla de enzimas (HC) 1 pl 8
Se incubó a una temperatura de 25°C durante 30 min. (19/t). Se inactivó con calor a 75°C durante 20 min. Relave en A agregando lo siguiente directamente a la mezcla (también se hizo con TAQ y BST con los reguladors adecuados):
1t 2t H2 O 20 pl (agregar 25 a 50 pl) 40 Muestra de ADN bloqueado 25 pl 50 i t 2t
10X regulador Klenow 2.5 pl 5
dATP 10 mM 0.5 pl 1
Klenow exo HC (3' a 5' exo menos) 2 pl 4
La reacción total fue ahora de 50 pl. Klenow, se incubó a 37°C durante 30 min, inactivado por calor a 75°C durante 20 min. Taq, se incubó a 72°C durante 30 min. BST, se incubó a 65°C durante 30 min, inactivado por calor a 80°C durante 10 min. Se divide cada reacción en 2 tubos de 50. Se purificó por AMPure la mitad de cada reacción, se eluyó en 50 ul. La otra mitad se corrió directamente en la ligación.
Ligación del adaptador Y. Los siguientes se añadieron directamente a la reacción:
1t 7t
• H2 O 0 (agregar pl a 100 pl)
ADN con relave en A 50 pl -
• 2x regulador de ligasa rápida 46 pl 322
• Adaptador 20 pM 2 pl 14
• T4 ADN ligasa (rápido) 2 pl 14
Incubado en PCR a 22°C durante 15 min. La reacción total fue entonces de 100 pl. AMPure, relación 1.8. Eluido en 25 pl (Figura 75).
Prueba de preparación Pippin 2 (cantidad de carga)
Se agruparon todas las muestras. Nanodrop: la relación de 25 ng/pl era muy alta (¿FAM?). Carga en la preparación Pippin en diferentes cantidades. Se conservó una parte para correr como control negativo. Extracto del rango 475 a 550. Cargado en Pippin Nanodrop post-Pippin. Muestra 1, 2.5 pl; muestra 2, 5; muestra 3, 10; muestra 4, 20; muestra 5, ref. AMPure XP, eluido en 20 pl. Nanodrop a todos 0. Se cargaron 5 pl en 2% de E-gel Ex (Figura 76). No parecía que se había extraído el tamaño correcto. Sin pretender estar sujetos a la teoría científica, esto puede deberse al hecho de que se usó 475-550 en lugar de 475-525.
Finalizar biblioteca
El siguiente protocolo fue diseñado para finalizar la biblioteca restante. La placa se configuró de la siguiente manera (Tabla 20):
Tabla 20
Figure imgf000107_0001
Figure imgf000108_0001
Se realiza la reacción de bloqueo utilizando el kit de reparación Enzymatics End de la siguiente manera (usar solo la mitad del producto de PCR):
1t 60 • H2 O 0 |jl (a 25 |jl) 0
• ADN purificado post-PCR 19 j l -• 10 x Regulador de reparación End 2.5 j l 150 • Mezcla dNTP 1mM 2.5 jl (0.1 mM) 150 • Mezcla enzimática (HC) 1 j l 60
Se incubó a una temperatura de 25°C durante 30 min. (19/t). Se inactivó con calor a 75°C durante 20 min. Prelave en A agregando lo siguiente directamente a la mezcla:
1t 60t
• H2 O 20 jl(a 50 jl) 1200 • Muestra de ADN bloqueado 25 jl -• 10X regulador Klenow 2.5 j l 150
• dATP 10 mM 0.5 j l 30
• Klenow exo HC (3' a 5' exo menos) 2 j l 120
La reacción total fue entonces de 50 jl (25/t). Se incubó a 37°C durante 30 min. Se inactivó con calor a 75°C durante 20 min.
Preparados 454 adaptadores en Y. 10 j l de de cada cebador A y B 100 jM 30 j l de (Tris 10 mM, EDTA 0.1 mM a NaCl 50 mM) (cada adaptador estaba en 20 jM final). Se incubó a 95°C durante 3 minutos, descienda hasta 15°C perpetua a 0.1°C/seg.
Ligación del adaptador Y. Se añadió lo siguiente directamente a la reacción:
1t 2x30t • H2 O 0 (agregar j l a 100 j l)
ADN prelave en A 50 j l -2x regulador de ligasa rápida 46 j l 1380 1t 2x30t
Adaptador de 20 pM 2 pl -
T4 ADN ligasa (rápida) 2 pl 60
Incubado en PCR a 22°C durante 15 min. (48/t). La reacción total fue entonces de 100 pl. Se aplicó AMPure, se eluyó en 40 pl (utilizado el liquidador). Biblioteca de QC para la agrupación. Probado en muestras de VIH, probó solo las primeras 5 muestras (progresor).
El apéndice A presenta cebadores ScFv. El apéndice B establece los métodos de generación de SOE-PCR y ScFV a partir de células individuales. El apéndice C establece los métodos de análisis de VDJome.
Cebadores ScFv
Del cuaderno de notas
Figure imgf000109_0001
Figure imgf000110_0001
(para estrategia de PCR anidada)
Información Estos son los mismos cebadores utilizados para el proyecto VDJ-oma original ■ Ver VDJ-oma_Cebadores para más detalles sobre su diseño
Placas
Estos cebadores se ordenan en dos palcas, dispuestas como:
Figure imgf000110_0002
Figure imgf000111_0001
■ Los archivos excel para IDT son:
Figure imgf000111_0002
■ NOTA: Esta placa solo tiene 16 cebadores, por lo que IDT no me permite ordenarla. Lo ordené en tubos separados en su lugar.
Mezcla
■ Las placas se ordenan a 200 pM.
■ Los tubos individuales se ordenan a LabReady a 100 pM
■ Para las placas: Para hacer 2.5 pM de cada cebador, agregar 1 pL de patrón a 80 pL de volumen total de cada cebador
■ Para los tubos: Para hacer 2.5 pM de cada cebador, agregar2 pL de patrón a 80 pL de volumen total de cada cebador ■ Nota, IGHV, IGK/LV. IGHC. IHK/LC son cuatro mezclas de cebadores diferentes. Bly
attB (clonación de la puerta de enlace)
Información
■ El diseño de cebador está activado.
■ Estos son los cebadores "externos" de las etiquetas attB agregadas para la clonación de la puerta.Secuencias ■ Las secuencias del cebador attB son:
Figure imgf000112_0001
_ _ _
¡ggggacaagtttg taeaaaaaagcaggcttcG A G G TG C A G C TG G TA G A G TC TG G G
> 20100505_IG H V l e f t _ a t t B l _ 41
J9999a o a a g't , t t 9 t a caaaaaagcaggcttcCAGGrCCAGCTTGTGCAGTCTGGG
[>20103505 I G H V l e f t _ a t t B l _ 42
¡ggggacaagtttg tacaaaaaagcaggc ttcG A G G TG C A G C TG TT G C A G T C T G C -> 2010050 5 _ IG H V _ le f t _ a t t31 _ 43
iggggacaagtttgtacaaaaaagcaggcttcG A G G TA C AA C TG G TG G AG TCTG G G G G
> 2010050 S _ IG H V _ le f t _ a t t B l_ 44
iggggacaag tttg tacaaaaaagcaggc ttcC A G A T C A C C TT G A A G G A G rC TG G T C C
t>20100505 _ IG H V _ le f t _ a t t B l _ 45
[ggggacaag 'tttg tacaaaaaagcaggcttcC A G G TA C A G C TG A TG C A G rC TG G C G
i
¡> 20100505 _ IG K J _ r ig h t_ _ a t tB 2__1
Iggggaccac-tttg taeaagaaagctgggtcTTTG A TC TC C A C C TTG G TC C C TC C G C
¿2010050 5 _ IG K J _ r i g h t a t t B 2_2
I g g g g a c c a c t t t g t a c a a g a a a g c t gggtcTTTGATCTCCAGCTTGGTCCCCrGG
>20100505 _ IG K J _ r i g h t _ a t t B 2_3
Iggggaccactttg tacaagaaagc tggg tC TT TG A rA T C C A C TTT G G TC C C A G G G C
> 20100505 _ IG K J _ r ig h t_ a t tB 2 _ 4
[gggga ccac tttg taga aga aa gc tggg tcT T T G A T T T C C A C C rT G G T C C C T T G G C
>20100505 _ IG K J _ r ig h t _ a t t B 2_5
Iggggaocactttg tacaagaaagctgggtcT T T A A T C T C C A G T C G T G T C C C T T G G C
> 201005 Q 5 _ IG L J _ r ig h t _ a t t B 2 _ l
¡ggggaacactttgtaeaagaaagetggg teG A G G A C G G TC A C C T TG G TG C C A
> 20100505 _ IG L J _ r ig b t _ a t t B 2 _ 2
[g gggaccac tttg tacaagaaagctggg tcTA G G A C G G T C A G C TT G G TC C C T C C
>2010050 5 _ IG L J _ r i g h t ^ a t tB 2_3
¡ggggaccae tttg tacaagaaagc tgggtcG A G G A C G G TC A G C T G G G TG C C
>2010050 5 _ IG L J _ r i g h t _ a t t B 24
«jg ggacca c tttg ta ca aga aa gc tggg tcT A A A A T G A T C A G C T G G G T T C C T C C A C
>2010050 5 _ IG I .J _ r i g h t _ a t t B 2_5
¡ggggaccac tttg tacaagaaagc tggg tcTA G G A C G G T G A C C TT G G T C C C A G T
>2010050 5 _ IG L J _ r 1g h t _ a t t B 2_6
Iggggaccactttg tacaagaaogctggg tcT A G G A C G G TC A G C T C G G T C C C C
■ Los cebadores de enlace solamente (obsérvese el truncamiento de uno de ellos para que coincida con Tm):
> a t t B l _ l e f t (TUS 61.7 )
¡GGGGACAAGTrTGTACAAAAAAGCAGGCTTC
¡> a t t B 2 _ r i g h t (Tunt 62 ,6 )
■GGGGACCACTTTGTACAAGAAAGCTGGG
Información de pedido
■ La placa está dispuesta de la siguiente manera:
Figure imgf000113_0001
■ El archivo de Excel para ordenar está aquí:
Figure imgf000114_0002
Información de mezcla
■ Todos los cebadores se ordenan a 200 pM. Hacemos mezclas a 2.5 pM para cada cebador.
■ Por cada 80 pL de mezcla, agregar pL de patrón de cada cebador (diluido en Tris-HCl)
scFv USUARIO Y USUARIO
Información
■ Diseño de cebador.
■ Estos cebadores incorporan uracilos para la posterior escisión por el USUARIO.Secuencias
■ scPv USUARIO
Figure imgf000114_0001
■ USUARIO
Figure imgf000115_0001
Información de pedido
■ Las porciones del enlazador scFv se ordenan en tubos individuales,
■ El resto de los cebadores se ordenan en una placa como se indica a continuación:
Figure imgf000115_0002
■ NOTA: para ordenar desoxiuridina, el código IDT es: /ideoxyU/
Figure imgf000116_0001
■ La placa está aquí:
Figure imgf000116_0002
Información de mezcla
■Las secuencias del enlazador scFv se ordenan a LabReady como 100 |jM en pH 8 TE
■ Los cebadores en la placa están a 200 j M, por lo que deben mezclarse y diluirse.
■ Hacer una mezcla de 2.5 j M en cada cebador. Dado que son 200 j M, debemos dividir por 80.
■ Por 80 j L en total, poner 1 j L de cada cebador.
■ Poner los cebadores K y L juntos.
■ Hacer primero tubos con Tris-HCl:
Figure imgf000116_0003
SOE PEDS 11 405 LLA4
Información
■ Cebadores basados en diseño de
■ El enlazador es:
j>PEDS_l 1_405_LIiA4
C■CTAACAGCGCGAGCCACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCC
■ La superposición es:
¡VL ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAATTGTGTTGACGCAGTCl! ¡VH CTGGTGCCAGt GGCAGAGGaGt GGATTGTCGCGCTCGGTGTCACCAAGaCGAGGCt TATGaXC !
Figure imgf000117_0001
Secuencias
Figure imgf000118_0001
> 20100 S 05 _ IG H V _ le ft_ 40
¡GAGGTGCAGCTGGTAGAGTCTGGG
¡> 20100505 _ IG H V _ le ft_41
CAGGTCCAGCTTGTGCAGTCTGGG
> 20100505 _ IG H V _ le ft_ 42
¡GAGGTGCAGCTGTTGCAGTCTGC
> 2010050 5 _ IG H V _ le ft_ 43
¡GAGGTACAACTGGTGGAGTCTGGGGG
>20100505 IG H V _ le f t_ 44
¡CAGATCACCTTGAAGGAGTCTGGTCC
¡>20100505_IGHV_1 e f t _ 4 5
¡CAGGTACAGCTGATGCAGTCTGGGG
¡>20100505_IG H J _ r i gh t_ l_S O E _P E D S _ l 1_405_LLA4 ¡CTAGTATTCGGAGCAGAACCACTGTGGCTCGCGCTGTTAGGTGAGGAGACGGTGACCGTGGIC ¡>20100505_IG H J _ r lg t lt_2 _S O E _P E D S _ l 1 405 LLA4 ¡CTAGTAITCGGAGCAGAACCACTGTGGCTCGCGCTGTTAGGTGAGGAGACAGTGACCAGGGIGCC >2 010O 5O 5_IG H J_rig f> t_3_SO E _FE D S_ll_4O 5_I.LA 4 |CTAGTATTCGGAGCAGAACCACTGTGGCTCGCGCTGTTAGGTGATGTGGCPGCGGTCTCAGGG >2 0100505 _ IG H J _r igh t_4 _S O E _F E IJ S _ ll_405 _ I.L A 4 ¡CTAGTATTCGGAGCAGAACCÁCTGTGGCTCGCGCTGTTAGGTGAGGAGACGGTGACCAGGGTTCC ¡>20100505_X G H J_rÍgh t_5_S O E _PE D S _ll_405_I.LA 4 ¡CTAGTATTCGGAGCAGAACCACTGTGGCTCGCGCTGTTAGGGACCCCTCAGAAGCCAGACCACC ¡>20100505_IG H J _ r í gh t_6_S O E _PE D S _l 1_405_LLA4 ¡CTAGTATTCGGAGCAGAACCACTGTGGC TCGCGCTGTTAGGTGAGGAGACGGTGACCAGGGTGC > 20100505 _ IG H J _r igh t_7 _S O E _P B D S _ ll_405 _L L A 4 "CTAGTATTCGGAGCAGAACCACTGTGGCTCGCGCTGTTAGGGACGTTCCCAGGGAGACGGTGT >2010050 S I G H J _ r i gh t_B_SO E_PE D S_11_405_LLA4 ¡CTAGTATTCGGAGCAGAACCACTGTGGCTCGCGCTGTTAGGTGAAGAGACGGTGACCATTGTCCCTT >2010 050 5 _ IG K V _ le ft_ l_S O E __P E D S _U _4 05__LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAATTGTGTTGACGCAGTCTCCAGC ¡> 20100 S 05 _ IG K V _ le f t_2 _S O E _P E D S _ ll_4 05_LLA4 •ACAGTGGTTCrGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAATTGTGTTGACGCAGTCTCCAGG > 20100505 _ IG K V _ le ft_3 _S O E _P E D S _ ll_405 _L L A 4 ¡ACAGTGGTTCTGCTCCGAATACTAGWCTGCTCCGGGÁTCCGCCATCCAGMGACCCAGTCTCCA > 20100505 _ IG X V _ le ft_4 „S O E _F E D S _ l1 _4 05_ELA4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a c a t c c a g a t g a c t c a g c c t c c a t c > 20100505 _ IG K V _ lB ft_5 _S O E _P E D S _ l 1_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAACGACACTCACGCAGTCTCCAGC >20100505 _ IG K V _ le f t_6 _S O E _PE D S _l 140 5_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGACATCCAGATGACCCAGTCTCCATC ¡>20100505 _ IG X V _L e f t_7 _S 0 E _P E D S _ l 1_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGACATCCAGGTGACCCAGTCTCCATC ¡>2Q 100505 _IG X V _le£ t^B _S O E _PE D E _ll„405_LLA 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g Át c c g a c a t t g t g a t g a c c c a g a c t c c a c t ¡>20100505 _ IG K V _ le ft_ 9 _ E O E _ P E D S _ ll_ 40 5_LLA4
'Ac a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a c a t c g t g a t g a c c c a g t c t c c a g a > 20100505 _ IG K V _ le ft_10 _S O E _P E D S _ ll_405 _L L A 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g c c a t c c g g a t g a c c c a g t c t c c > 20100505 _ IG K V _ le ft _ ll_ £ O E _ P E D S _ ll_ 405 _ L L A 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a t g t t g t g a t g a c a c a g t c t c c a g c > 2010 O 505 _ IG X V _ le f t_ 12 _S O E _P E D S _ ll_4 O 5_LLA4 ¡ACAG’PGGTTCTGCÍCCGAATACTAGTTCTGCTCCGGGATCCGATATTGTGATGACCCAGCATCTGCI >20100 505 _ IG X V _ le ft_ 13 _ S O E _ P E D S _ ll_ 4 05_I.LA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAATAGIGATGACGCAGTCTCCAGC ¡>2O10O505_IGKV_1 e ft_l4_S0E_PEDS_11_405_LLA4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a t a t t g t g a t g a c c c a g a c t c c a c c > 2010 O 505 _ IG K V _ le £ t _ 15_S0E_PEDS_11_4 O 5_LLA4
Ia c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a c a t c c a g a t g a t c c a g t c t c c a t c >20100 505 _ IG X V _ ls ft_16 _S O E _P E I> S _ ll_ 4 05_LLA4
Ia c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a a a t t g t g t t g a c a c a g t c t c c a g c > 2010050 S I G X V l e f t _ 17 _S0E_PE D S_114 O 5_LLA 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c g a t a t t g t g a t g a c t c a g t c t c c a c t > 20100505 _ IG K V _ le ft_18 _S O E _P E D S _ ll_405 _L L A 4 ¡ACAGTGGTICTGCTCCGAATACTAGTTCTGCTCCGGGATCCGCCATCCGKATGACCCAGTCTCC >2010050 5_IGKV_1 Bft_19_S0E_FEDS_11_4O5_I>L A4 ¡ACAGTGGTTCrGC'PCCGAATACTAGTTCTGCTCCGGGATCCAACATCCAGATGACCCAGTCTCCATC <>20100505_IGKV_left 2 O SOEmPEDS_l1405_LEA4
¡a c a g t g g t t c t g c t c c g a a t a c ia g t t c t g c t c c g g g a t c c g a a a t t g t a a t g a c a c a g t c t c c a g c > 20100505_IG KV l e f t 21_SOE PEDS_11_4O5_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAATTGTAATGACACAGTCTCCACC >2010050 5_IGXV_left_22_SOE_PE0B_11_4O5_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGATGTTGTGATGACTCAGTCTCCACT > 20100505 _ IG K V _ lB ft_23 _S O E _P E D S _ ll_405 _L L A 4
¡ACAGTGGTTC-tGCTCCGAATACTAGTTCTGCTCCGGGATCCGACATTGÍGCTGACCCAGTCTCCAGC > 20100505 _ IG K V _ le ft_24 _S O E _P E D S _ ll_405 _L L A 4 ¡ACAGTGGTTCrGCTCCGAATACTAGTTCirGCTCCGGGATCCGACATCCAGATGACCCAGTCTCCTTC > 20100505_IG KV_lef t 25 SOE_£EDS_11 4 O5_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAAATTGTGCTGACTCAGTCTCCAGA >2010050 S_IG K V _1b f t _ 2 6 _ S 0 Z P E D S_ 11_4 O S_L1A4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGAGATTGTGATGACCCAGACTCCACT > 20100505_IGXV_left_27_SOE_PEDS_l1_40S^LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGCCATCCAGATGACCCAGTCTCCATC >20100S 05_IG K V le ft_2 B „S 0 E _P E D S _11 _4 O 5 _L L A 4
~ r i a ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGACATCCAGTTGACCCAGTCTCCATC >2010050 5 _ IG X V _ le f t _ 2 3S O S_PE O S_11_405_LL A4 ¡RCAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCGATATrGTGATGACCCAGACTCCACr >2 Q100505 _ IG K V _ le£ t _ 3 0_5QE_PE3S_11„405_LLA4 lACAGTGGTTCrGCTCCGAATACTAGTTCTGCTCCGGGATCCGTCAÍCTGGATGACCCAGTCTCCATC > 20100505 _ IG K V _ le ft_31 _S O E _P E O S _ ll_4 D 5 _L L A 4 ¡ACAGTGGTÍCTGCTCCGAATACTAGTÍCTGCTCCGGGATCCGAC&TCCAGA'rGACCCAGCCTCCATC >2010050 5_IG KV_1 e f t _ 3 2_SO E_PED S_l1_4 O 5_LLA4
¡ACAGTGGTTCTGC1-CCGAATACTAGTTCTGCTCCGGGATCCGAAATTGTGTIGACACAGTCTCCAGG ¡>20100505 IG K J _ r lg h t _ l
¡TTTGATCTCC ACCTTGGTCCCTC CGC
>2010050 5_IGKJ_ri.ght_2
'TTTGATCTCC AGCTTGGTCCCCTGG
>2010050 5_IG K J _ r ig h t _ 3
^TTGATATCCACTTTGGTCCCAGGGC
> 2010050 5 _ IG K J _ r ig h t_4
¡TTTGATTTCCACCTTGGTCCCTTGGC
¡> 201005051 GKJ_r i g h t S
¡It t t a a t c t c c a g t c g t g t c c c t t g g c
>2 01 O Q 5 Q 5 _ IG L V _ l«£ t_ l_S O E _F E B S _ ll_4 O 5 _L L A 4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGTCTGCCCTGATTCAGCCTCCC > 201005 05 _ IG L V _ le ft_2 _S O E _P E D S _ ll_4 05_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCTGCCTGTGCTGACTCAGCCCC ¡>2010050 5 _ IG L V _ le ft_3 _S O E _P E D S _ ll_4 05_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGCCTGTGCTGACTCAGCCAC >2 01O O SO S_IG LV_left_4_SO E _E E D S__ll_4O 5_LLA 4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCTTCTGAGCTGACTCAGGACCCTGC >20100505_IGLV_left_5_SOE_PEDS_ll_405_LLA4
¡ACAGTGGTTCTGCTCCGAAT ACTAGTTCTGCTCCGGGATCCCAATCTGCCCTGACTCAGCCTCCT > 2010050 S _ lG L V _ le£ t_ t_S O E _P E D S _ ll_40 S _L L A 4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGACACAGCCACCC ¡>20100505 _ lG L V _ le f t _ 7 _ £ OB_PEt>S_l 1_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCGGCCCGTGCTGACTCAGC
> 20100505 _ I GLV_ 1 e f t _ 8 _ S OE_P EDS _3 1_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGCCTGTGCTGACTCAATCATCCTC >20100505 _ IG L V _ le f t_ »_S O B _P E D S _ l 1_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTCTGAGCrGAGTCAGGAGCCT ¡>20100505 _ IG L V _ le f t_10 _S 0 E _P E D G _ ll_4 05 LLA4
¡ACAGTGGTTCTGC1-CCGAATACTAGTTCTGCTCCGGGATCCCAGTCTGCCCTGACTCAGCCTCC >2010050 5 _ IG L V _ le f t _U _S O E _F E D S _ l 1_405_LLA4
¡acagt ggt t ct gct ccg aat act agt t ct gc t ccggga tc ccagt c tgt gt t gac gcagc cgc >20100505_IGIV_left_12_SOE_PEDS_ll_405_LLA4
[ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGGCAGGCCTGiCTCAGCCA >2010050 5 _ IG L V _ la ft_ 13 _ S O E _ P E D 3 _ ll_ 4 05_LI>A4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGTCTGTGTrGACGCAGCCGC >20100505_IG LV _1 e f t_14_S O E _PE D S_l 1_405 LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGTCTGTGCTGACTCAGCCACCC >20100505 IG L V _ le f- t_15 _S O E _P E D S _ ll_4 05_LLA4 jACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGACTCAGCCACTCTC >20 1005 05 _ IG L V _ le í t _ l í_ S 0 E _ P E O S „ l l_ 4 05_LllA4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c c a g c c t g t g c t g a c t c a g c c a a c ¡>20100505_IGLV_left_17_SOE_FEDS_ll_405_LLA4
¡ACAGTGGTTC TGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGACACAGCCAGCC ¡>20100505 _ IG L V _ le ft _ lB _ S 0 E _ P E O S _ ll_ 4 05_I.LA4
«ACAGTGGTTC TGCTCCGAATACTAGTTCTGCTCCGGGArCCTCCTATGAGCTGACACAGCCATCCTC >201 00505 _ IG L V _ le ft_19 _S O E _P E D S _ ll_405 _L L A 4 ¡ACAGTGGTTCTGCTCCGAArACTAGTTCTGCTCCGGGArCCCAGCCTGTGCTGACTCAGCCAAC > 2010050 S _ IG L V _ la ft_20 _S O E _P E D S _ ll_405 _L L A 4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTCCTCCGGGATCCTCCTATGAGCTGACACAGCTACCCTC ¡>2010050S_IGLV_laft_21_SOE_PIDS_ll_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTICTGCTCCGlieATCCCAGCCTGTGCTGACTCAGCCATCT ¡>20100 S 05 _ IG L V _ le ft _ 2 2_S O E _PE D S _ll_405_LLA 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c t c c t c t g g g c c a a c t c a g g t g c > 20100505 _ lG L V _ le f t _ 2 3 _S O E _PE D S _ll_405_LLA4 jACAGTGGTTCTGCTCCGAArACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGACTCAGCCACCCT ¡>20100505_IG LV _le ft_24_S O E _E E D S mll_ 405 _ L L A 4 ¡ACAGTGGTTCTGCTCCGAArACTAGTTCTGCTCCGGGATCCCAGACTGTGGTGACCCAGGAGCC > 20100505 _ IG L V _ le ft_25 _S O E _P E D S _ ll_405 _ IiL A 4 '¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGTCTGCCCTGACTCAGCCrGC > 20100505 _ IG L V _ le ft_26 _S O E _P E D S _U _405 _L L A 4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCAATTTTATGCTGACTCAGCCCCACTC >29100505_IGLV_left 27_SOE_PEDS_11_405_LLA4 ¡ACAGTGGTTCTGCTCCGAAÍACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGATGCAGCCACCC ¡>2010050 5 _ IG L V _ la ft_ 2 B_SOE_PEDS_l 1_405__IXA4
¡a c a g t g c t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c c a g g c t g t g g t g a c t c a g g a g c c > 20100505 _ IG L U _ le ft_29 _S O E _P E D S _ ll_405 LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGCTTGTGCTGACTCAATCGCCC > 20100505 _ IG L V _ le ft_30 _S O B _P E D S _ ll_405 _L L A 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c c a g a c t g t g g t g a c t c a g g a g c c c > 20100505 IG L V _ le ft_31 _S O E _P E O S _ ll_405 _L L A 4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c t c c t a t g a g c t g a c t c a g c c a c a c t c > 20100505 _ IG L V _ le f t_32_S O B _P E D S _l1 _405_LLA4
¡ACAGTGGTTCTCCTCCCAATACTAGTTCTGCTCCGGGATCCCAGGCTGTGCTGACTCAGCCG
Figure imgf000121_0001
Información de la placa
■ Ordenada a IDT:
Figure imgf000121_0002
Información de mezcla
■ Hacer una mezcla de 2.5 |j M en cada cebador. Como son 200 |j M, debemos dividir por 80.
■ Por el total de 80 j L, poner 1 j L de cada cebador.
■ Hacer primero tubos con Tris-HCl:
Figure imgf000121_0003
■ Luego, utilizando un canal múltiple, pipetee 1 j L por cada 80 columnas en los tubos. ■ Luego combine los tubos A+B, C, D+E+F, G
20100505
Información
■ Ver diseño
■ La Tm fue diseñada para 62°C.
Figure imgf000122_0001
Secuencias
Figure imgf000123_0001
¡ »20100505 _ IG H V _ le f t_2S
)C AGGTCCAAC TGG TGTAGTCTGGAGC ¡>20100505 _ IG H V _ la£ t_2 6 iGAGG T GC AGC TGGTGCAGTCTG j> 20100505_ IG B V _ le f t_ 2 7 ¡GAGGTGCAGCTGGTGGAGTCTCG <>2010D 505_IG B V _le f t_28 ¡GAGCTTCAGCTGGTGCAGTCTGGG ¡>20100505 _ IG H V _ le ft_29 ¡CAGGTGCAGCTGGTGCAGTCTG ¡>20100505 _ IG H V _ le ft_ 30 ÍGAAGTGCAGCTGGTGCAGTCTGG
i>20100505 _IG H V _le ffc_31 jGAGGTGGAGCTGATAGAGTCCAIAGA J>20100505 _ IG H V _ le r t_32 ¡ACAGTGCAGCrGGTGGAGTCTGG ¡>20 L 00505 _ IG B V _ le ít_ 33 ¡GAGGTGCAGCTGGAGGAGTCTGG ¡>20100505 _ IG H V _ le ft_ 34
¡g a g g t a c a g c t g g t g g a g t c t g a a g a j>20100505 _ IG H V _ le ft _ 3 5 ¡CAGGTGCAGCTGC AGGAGTCG ¡>2D100505 _ IG lT V _ le ft_ 3 € ¡GAGGTGCAGCTGTTGGAGTCTGGG j>20100505 _ IG H V _ le ft _ 37 CAGGTGCAGCTGGGGCAGTC
¡>20100S05 _ IG B V _ le f t „ 38 ÍCAGCTGCAGCTGC AGGAGTCG
¡> 2 D 100505 _IG H V _le ft_39 ¡CAGGTTCAGCTGGTGCAGTCTGGA ¡>20100505 _ IG H V _ le ft _ 40 Ig a g g t g c a g c t g g t a g a g t c t g g g ¡>20100505_IGHV_laft_41 jcAGGTCCAGCTTGTGCAGTCTGGG p 20100505 _ IG H V _ le ft_ 42 ¡GAGGTGCAGCTGTTGCAGTCTGC ¡>20100505 _ IG H V _ le ft _ 43 ¡GAGGTACAACTGGTGGAGTCTGGGGG ¡> 2 Q 100505 _ IG a v _ le ft_44 jCAGATCAC CTTGAAGGAGTCTGGTCC <>20100505 _ IG B V _ la f t _ 4 5 ¡CAGGTACAGCTGATGCAGTCTGGGG ¡>20100505 JLGH J _ r i g h t _ l ¡TGAGGAGACGGTGACCGTGGTC 120100505_IGHJ_Jrigbt_2 ¡TGAGGAGACAGTGACCAGGGTGCC p2Q10D505_IGHJ_right_3 frGATGTGGCTGCGGTCTCAGGG ¡> 20100505 _ IG H J_righ t_4 •TGAGGAGACGGTGACCAGGGTTCC í»20100 505 _ IG H J _ r ig h t_5 «g a c c c c t c a g a a g c c a g a c c a c c ó 20100505 IG H J _ r ig h t S fTGAGGAGACGGTGACCAGGGTGC f> 20100505 _ IG H J _r igh t_7 ¡GACGTTCCCAGGGAGACGGTGr ¡> 2010 Q505__IGH J _ r i g h t _ B ¡TGAAGAGACGGTGACCATTGTCCCTT ¿>2010050 b _ I G K V _ le f t _ l ¡GAAATTGTGTTGACGCAGTCTCCAGC f>201DO5O5 IGKV l e f t 2 ¡GAAATTGTGTTGACGCAGTCTCCAGG ¡>20100505_IGKV l e f t „ 3 ¡GCCATCCAGTTGACCCAGrCTCCA ¡> 2010 D 505 _ IG K V _ le ft_4 ¡GACATCCAGATGACTCAGCCTCCATC <>20100505 _ IG K V _ le ft_5 ¡GAAACGACACTCACGCAGTCTCCAGC f> 20100505 IG K T l e f - t 6 J3ACATCCAGATGACCCAGTCTCCATC ¡> 20100505 _ lG K V _ lB ft_7 fcACATCCAGGTGACCCAGTCTCCATC !»2010050S_IG X V _left_8 ¡GACATTGTGÁTGACCCAGACTCCACr <>20100505 _ IG K V _ le ít _ 9 ¡GACATCGTOATG ACCCAGTC TCCAGA ¡>20100505 _ IG K V _ le f t _ 10 ¡GCCATCCGGATGACCCAGTCTCC fc-2D100505 _ I G K V _ l s f t _ l l ■GATGTTGTGATGACACACTCTCCAGC <>20100505_IGKV_le£t_l2 ¡GATATTGTGATGACCCAGCATCTGCT ¡>20100505_lGKV_left_13 ¡GAAATAGTGATGACGCAGTCTCCAGC >2010Q505_lGKV_left_14 Igatattgtgatgacccagactccacc ¡>2010050S_IGKV_left„15 ¡GACATCCAGATGATCCAGTCTCCATC j>20l00505_IGKV_left_16 JGAAATTGTGTTGACACAGTCTCCAGC
>20100505_IGKV_le£t_17 feATATTGTGATGACTCAGTCTCCACT ¡>20100505_IGKV_left_lB ÍGCCATCCGGATGACCCAGTCTCC
J>20100505_IGKV_left_19 ]AACATCCAGATGACCCAGTCTCCATC }?201005G5_IGKV_left_20 £AAATTGTAATGACACAGTCTCCAGC >2Ü1005Q5_IGKV_left_21 ÜAAATTGTAATGACACAGTCTCCACC
>201ÜQ505_lGXV_left_22 ¡GATGTTGTGArGACTCAGTCTCCACT p»20l00505_IGKV_laít_23 JGACATTGTGCTGACCCAGTCTCCAGC
¡>20100505_^IGKV_left_24 ¡gacatccagatgacccagtctccttc >20100505_IGKV_Left_25 ¡GAAATTGTGCTGACTCAGTCTCCAGA >20100505_IGKV_left_26 ¡GAGATTGTGATGACCCAGACTCCACT ¡>20100505JtGKV_left_27 ¡GCCATCCAGATGACCCAGTCTCCATC >20100505_IGKV_1bft_29 ¡GACATCCAGTTGACCCAGTCTCCATC >2010050S_IGKV_left_29 ¡GATATTGTGATGACCCAGACTCCACT ¡>2Q100505_IGKV_left_3Q ¡GTCATCTGGATGACCCAGTCTCCATC >20100505_IGXV_left_31 ¡GACATCCAGATGACCCAGCCTCCATC >20100505 IGKV_left_32 Igaaattgtgttgacacagtctccagg j>20100505_IGLV_le£t_l JCAGTCTGCCCTGATTCAGCCTCCC
¡>20100505_IGLV_left_2 JCTGCCTGTGCTGACTCAGCCCC
>20100505_IGIiV_left_3 ¡CAGOCTGTGCTGACTCAGCCAC >2D100505_lGLV_left_4 ¡tcttctgagctgactcaggaccctgc }>2D100505_IGLV_left_5 JCAATCTGCCCTGACTCAGCCTCCT
>20100505_IGLV_left_6 ¡TCCTATGAGCTGACACAGCCACCC >20100505_IGLV_lett__7 CGGCCCGTGCTGACTCAGC
j>20100505_IGLV_left_8 ¡CAGCCTGTGCTGACTCAATCATCCTC >20100505__IGLV__left_9 JTCCTCTGAGCTGAGTCAGGAGCCT
>20100505_IGLV_left_10 ÍCAGTCTGCCCTGACTCAGCCTCC
p-20100505_IGLV_lsft_ll ¡CAGTCTGTGTTGACGCAGCCGC J>20100505_IGLV_left_12 JCAGGCAGGGCTGACTCAGCCA
>201fl0505_IGLV_left_13 ¡CAGTCTGTGTTGACGCAGCCGC >20100505_IGLV_left_i4 cagtctgtgctgactcagccaccc j>20100505_IGLV_left_15 ¡TCCTATGAGCTGACTCAGCCACTCTC >20100505_IGLV left_lS ¡CAGCCTGTGCTGACTCAGCCAAC >2010050S_IGLV_left_17 JrCCTATGAGCTGACACAGC cACCC >20100505_IGLV_left_lB ¡TCCTATGAGCTGACACAGCCATCCTC ¡>201Ü0505_IGLV_left_19 ¡CAGCCTGTGCTGACTCAGCCAAC >20100505_IGLV_left_2Q ¡tcctatgagctgacacagctaccctc
Figure imgf000125_0001
>20100505_IGLV_left 21
¡CAGCCTGTGCTGACTCAGCCATCT *| ¡>2010050S_IGLV_lcft_22 ; p’CCTCTGGGCCAACTCAGGTGC ¡ [>20100505_IGLV_left_23 ■ [ [TCCTATGAGCTGACTCAGCCACCCT [ 20100505 IGLV_left_24 ¡ ICAGACTGTGGTGACCCAGGAGCC ¡ ¡>2010050S_IGLV_left_25 ' ¡CAGTCTGCCCTGACTCAGCCTGC ¡ ¡>20100505_IGLV_le£t_26 ¡ ¡AATTTTATGCTGACTCAGCCCCACTC J J>2010D5Q5_IGLV_left_27 1 [tcctatgagctgatgcagccaccc í i>20100505_IGLV_left_29 ¡ ICAGGCTGTGGTGACTCAGGAGCC ¡ C*20100505 IGLV_le£t_29 [ ¡CAGCTTGTGCTGACTCAATCGCCC J [>20100505„IGLV_Lcft_30 1 ¡CAGACrGTGGTGAC1-CAGGAGCCC ! ¡>20100505_IGLV_léft_31 ! frcCTATGAGCTGACTCAGCCACACTC | i>20l00505_IGLV_le£t_32 ¡ Jcaggctgtgcxgactcagccg ; J>20100505_IGLV_left_33 \ ¡TCCTATGTGCTGACTCAGCCACCC ¡ >20100505_IGLV_left_34 ¡ ÍCAGTCTGCCCTGACTCAGCCTCG ! i>2Q100505_IGLV_left_35 | ¡CAGTCTGTTCTGACTCAGCCTCGCT J c*-20100505_IGIiV_left_36 ♦ JCAGTCTGTGCTGACGCAGCCG ¡ >201Q0505_IGKJ_right_l [ ÍTTTGATCTCCACCTTGGTCCCTCCGC » k*20100E05_IGKJ_right_2 | Jtttgatctccagcttggtcccctgg J >20100505_IGXJ_right_3 ¡ ¡ittgatatccactttggtcccagggc [ [>2Ü100505_IGKJ rigbt__4 ! fTTTGATTTCCACCTTGGTCCCTTGGC ! ¿20100505_IGKJ_right_5 ¡ ¡TTTAATCTCCAGTCGTGTCCCTTGGC J ¡>20100505_IGLJ_right_l ¡ ¡GAGGACGGTCACCTTGGTGCCA ¡ ¡>20100505 _ IG L J _ r ig h t J2 ! fTAGGACGGTCAGCTTGGTCCCTCC ¡ ^20100E05_IGLJ_right_3 I Igaggacggtcagctgggtgcc I ¡>20100505_IGLJ_right_4 ¡ ¡TAAAATGATCAGCTGGGTTCCTCCAC J ’^ZOIOO5Q5_IGI.J_right_5 ¡ JTAGGACGGTGACCTTGGTCCCAGT ! >20100505_IGLJ_right_6 ! frAGGACGGTCAGCTCGGTCCCC ! i L ................- ........................................................................................................................................................................................................................................ ....................................................... - J 1
Información de la placa
■ Ordenado a IDT:
Figure imgf000126_0001
Información de mezcla
■ Hacer una mezcla de 2.5 j M en cada cebador. Como son 200 j M, debemos dividir por 80.
■ Por cada 80 j L total, poner 1 j L de cada cebador.
■ Hacer primero tubos con Tris-HCl:
Figure imgf000127_0002
■ Luego, utilizando un canal múltiple, pipetee 1 j L por cada 80 columnas en los tubos.
■ Luego combine los tubos A+B, C, D+E+F, G
_SOE_PEDS_11_405_LLA4
Información
■ Utilice cebadores con una nueva secuencia de enlazador.
■El enlazador es;
Figure imgf000127_0001
■ La superposición de ejemplo es:
¡VL ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAG'TCTGTGTTGACGCAGCtí ¡vh cctggtgccagtggcagacgagtggattgtcgcgctcggtgtcaccaagacgaggcttatgatc ;
Figure imgf000127_0003
Secuencias
Figure imgf000128_0001
ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGTGTGTCCTGACGCAGCCGCC
C>20100329_VLlback|Z_SOE_PEDS_l1_405_LLA4
Íacagtg q ttc tg c tc c g a ata c ta g ttc tg c tc c g g g atc c c a g tc tg tc g tg ac g c ag c c g c c
¡>20100329_V L lb ack 13_SOE PEES_11_405 LLA4
¡ac ag tg g ttc tg c tc c g a ata c ta g ttc tg c tc c g g g atc c c a g tc tg tc ttg ac g c ag c c g c c
¡> 20100329_VL lb a c k | 4_S 0E_PED3_11 405_LLA4
ÍACAGTGGTTCTGCÍCCGAATACTAGTTCTGCTCCGGGATCCCAGrCTGTGCTGACGCAGCCGCC ¡>20100329_VLlback|5_SOE_PEDS_l1_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGrCTGTGGTGACGCAGCCGCC >20100329_VL lback | 6_SOE_PEDS_l 1_405_LLA4
Iacagtggttctgctccgaatactagttctgctccgggatcccagtctgtgitgacgcagccgcc i> 20100329_V13 back I 1_S0E_FEDS_11_405_LLA4
¡acagtggttctgctccgaatactagttctgctccgggatcctcctatgagctgacacagccac ¡>20100329_VL3back|2_SOE_FEDS_l1_405_LGA4
¡acagtggttctgctccgaatactagttctgctccgggatcctcctatgagctgacpcagccac >20100329_VL3back|3_S0B_PEDS_11_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACPAGTTCTGCTCCGGGATCCTCCTAírGTGCTGACACAGCCAC >20100329_VL3back ¡ 4_S0E_PEDB_11 405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTATGTGCTGACTCAGCCAC >20100329 VL36back 11_S0E PEDS_11_405_I.IA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGACACAGCCACC >20100329_VL3Oback | 2_SOE_PED5_l L_405_LLA4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g b g a t c c t c c t a t g a g c t g a c a c a g c t a c c >20100329_VL38back ¡3_S0E_PEDS_11_405_LLA4
¡acagtggttctgctccgaatactagttctgctccgggatcctcctatgagctgacgcagccacc >20100329_VL3Bback|4_S0E_PEDS_11_405_LLA4 ■ACAGTGGTTCÍGCTCCGAATACtAGTTCTGCTCCGGGATCCTCCTATGAGCTGACGCAGCTACC >20100329_VL3Bback|5_SOE_PEDS_l3_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCC1-CCTATGAGCTGATACAGCCACC > 20100329 V LSBback|6 SOE P E D S l 1 4 05 L L A 4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTATGAGCTGATACAGCTACC >20100329_VL3Bback|1_BOE_PEDS_11_40S_I.LA4
acagtggttctgctccgaatactagttctgctccgggatcctcctatgagctgatgcagccacc ¡>20100329_VL38back|9_S0E_PEDS_1140S_LLA4
¡acagtggttctgctccgaatactagttctgctccgggatcctcctatgagctgatgcagctacc >20100329_VMback| 1 S0E_ÍEDS_11 405ELA4
¡a c a g t g g t t c t g c t c c g a a t a c t a g t t c t g c t c c g g g a t c c c a g c c t g t g c t g a c t c a a c c >20100329_VL4back| 2_SOE_PEDS_11_405_LLA4 ¡ACAGTGGTTCTSCTCCGAATACTAGTTCTGCTCCGGGATCCCAGCCTGTGCTGACTCAATC !>Z0100329_VL4back|3_SOE_PEDS_11_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGCCTGTGCTGACTCAGCC >20100329_VL4back|4_SOE_PEDS_11_405_L1A4 ¡ACAGTGGTTCTGCTCCGAATACTAGÍTCTGCTCCGGGATCCCAGCCTGTGCTGACTCAGTC >20100329_VL7/8back|l_SOE_PEDS_l1_405_LLA4 lACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGACTGTGGTGACCCAGGAGCC ¡>20100329_VL7/Bback|2_S0E_PEDB_1l_405_LIA4 lACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGACTGTGGTGACTCAGGAGCC ¡>20100329_VL7 t Bback|3_SOE_PED5_l1405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCrGCTCCGGGArCCCAGGCTGTGGTGACCCAGGAGCC >20100329_VL7/Bback|4_SOE_PEDS_11_40S_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGAICCCAGGCTGTGGTGACTCAGGAGCC >20100329_VIí7/9back|5S0EPEDS11_40S_LLA4 ¡ACAGTGGTTCTGCTCCGAArACTAGTTCTGCTCCGGGATCCCAGTCTGTGGTGACCCAGGAGCC ¡>20100329_VL7/8back|6_SOE_PEDS_11_405_LLA4 ¡ACACTGGTTCTGCTCCCAATACTAGTTCTGCTCCGGCArCCCAGTCTGTGGTGACTCAGGAGCC >20100329__VL9back11_SOE_PEDS_11_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGCCAGGGCTGACTCAGCCACC >20100329mVL9back|2 SOE_PEDS_11_405_LLA4
^cagtggttctgctccgaatactagttctgctccgggapcccagccagggctgactcagccccc >20100329_VL9back|3_SOE_PEDS_11_405_LLA4
¡acagtggttctgctccgaat'actagttctgctccgggatcccagccagtgctgactcagccacc ¡>20100329_VL9back|4_S0E_PEDS_11 405_LLA4
¡acagtggttctgctccgaatactagttctgctccgggapcccagccagtgctGactcagccccc >20100329_VL9back|5_SOE_PEDS_11_405_LLA4
¡acagtggttctgctccgaatactagttctgctccgggatcccagcctgggctgactcagccacc >20100329_VG9back | 6_SOE_PEDS_11^405_1LA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGCCTGGGCTGACTCAGCCCCC ¡>2C100329_VL9back| 7_SCE_PEDS_11_40S_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGATCCCAGCCTGTGCTGACTCAGCC ACC ¡>20100329_VL9back | 8 S 0 E PEDS_11_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGCCTGTGCTGACTCAGCCCCC >20100329_V L1lb a c k | 1_SOE_PE DS_11_405_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCTCCTCTGAGCTGACTCAGGACCC >20100329_V L llb eck| 2_SOE_PEDS_U_40S_LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCTCCTCTGAGCTGACTCAGGAGCC ¡>20100329 Vt,l lb a ck | 3 SO E_PEO S_ll„405_LbA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCTCCTCTGAGCTGAGTCAGGACCC >2DI00329_VL1lback|4_SOE_PEDS_11_405_ELA4 ¡ACAGTGGTrcTGCTCCGAATACTAGTTCTGCTCCGGGATCCTCCTCTGAGCTGAGTCAGGAGCC >20100329_VL13back | 1_SOE_PEDS_11_405__LLA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGTCTGCCCTGACTCAGCCT ¡»2010D329_VL13b*ck| 2_SOE_PEDS_11_405„I-GA4 ¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGTCTGCCCTGATTCAGCCT ¡>20100329_VL13baek I 3__SOE__PEDS_ll_405_LLA4 ¡ACAGTGGTTCTGCTCCGAArACTAGTTCTGCTCCGGGATCCCAGTCrGC FCTGACTCAGCCT >20100329_V L l3back|4 SOEPEDS 11 405_LLA4
¡A C A G TG G TTC TG C TC C G AATAC TAG TTC TG C rC C G G G ArC C C AG TC TG C 1-C TG ATTC AG C C T >20100329_VL13back | 5 5 OE_PEDS_ 11_405_LL.A4
¡ACAGTGGTTCTGCTCCGAATACTAGTTCTGCTCCGGGArCCCAGTCTQTCCTGACTCAGCCT
Figure imgf000130_0001
Información de la placa
■ Los cebadores se ordenaron de IDT en IDTE pH 8 a una concentración de 200 pM.
Figure imgf000131_0001
Información de mezcla
■ Hacer una mezcla de 2.5 j M en cada cebador. Como son 200 j M, debemos dividir por 80.
■ Por el total de 80 j L, poner 1 j L de cada cebador.
■ Hacer primero tubos con Tris-HCl:
Figure imgf000131_0002
■ Luego, utilizando un canal múltiple, pipetee 1 j L por cada 80 columnas en los tubos.
■ Luego combine los tubos A,B, C+D+E+F, G+H
SOE PNAS 85 5879 G4S3
■ secuencia del enlazador scFv:
r----- --- - ---------------- .......---...-------- --- ....................-------------- .....--- ........---------- ,
1 I
{>|G_4S)_3gcFvlinkerfromHu3tonetai, PNAS35;5879 ¡ Íg g tg g c g g tg g c tc g g g c g g tg g tg g g tc g g g tg g c g g c g g a tc t I
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _______ . . . . . . . . . . ________. . . . . . . ___________________
■ Los conteos son:
Figure imgf000131_0003
■ Los cebadores están debajo, "b a c k ' son los cebadores 5' (a la izquierda) y " fo t" son los cebadores 3' (a la derecha).
Figure imgf000132_0001
La placa IDT está dispuesta de la siguiente manera:
Figure imgf000133_0001
Figure imgf000134_0001
También ordené "cebadores de enlace" que son solo complementarios al enlace.
¡5 ‘ c g g g c g g tg g tg g g tc g g g tg g c g g c g g a tc tc a g tc tg tsb tg a c g c a g c c g c c ¡3 ’ TTGGGACCAGTGGCAGAGGAGTCCACCGCCACCGAGCCCGCCACCACCCAGCCC
í> V H fo r_S O E _ lin k e r
JCCCGACCCACCACCGCCCG
¡> V I.b ack _S O E _ lin k er
JCGGGCGGTGGTGGGTCGGG
> 201003 29_VH 1 / 2 f o r
ítg a g g a g a c r g tg a c c a g g g tg
¡>2010032 9_VH 4 / 5 f O r
¡TGAGGAGACGGTGACCAGGGt t
£*2010032 9_VH3 f o r
¡TGAAGAGACGGTGACCATTGT
¡>2010032 9_VH6 f o r
¡tg a g g a g a c g g tg a c c g tg g t c c
> 201 Ó 0329 _ V L l b a c k
¡c a g t c t g t s b t g a c g c a g c c g c c
¡ > 201 D 0329 jV L 3 b a c k
¡TCCTATGWGCTGAGWCAGCCAC
>20100329_V L 39back
¡TCCTATCAGCTGAYRCAGCYACC
> 2010 0329 _V L4 b a e k
¡CAGCCTGTGCTGACTCABYC
¡> 201003 29J/L7/8back
CAGDCTGTGGTGACYCAGGAGCC
¡>2010032 9_VL 9 b a ek
¡CAGO CWGKGCTGACT CAGO CHCC
> 20100329 _ V L l l b a c k
¡TCCTCTGAGCTGASTCAGGASCC
¡> 20100329 _ V L 13 b a c k
¡CAGTCTGYYCTGAYTCAGCCT
¡>2010032 9 _ V L l 5 b a c k
¡AATTTTATGCTGACTCAGCCCC
> 2010032 9 _ V E l b a c k
¡GACATCCBGDTGACCCAGTCTCC
¡>2010 0329 _ V K 2 b a c k t B
¡G AAATTGT RWTG AC RCAG TCT C C
£>2010 0329 _ V K 9 b a e k
¡g a t a t t g t g m t g a c b c a g w c t c c
>2030032 9mV K 12back
}G AAACGAC AC T C AC GC AGTCTC
Estos se disponen en la placa de la siguiente manera:
Figure imgf000135_0001
Figure imgf000136_0001
Apéndice B
Generación SOE_PCR y ScFV en celdas individuales.
SOE VDJ (emparejamiento de cadenas pesadas y livianas)
Use una mezcla extra para hacer 5x FV1 (180 ng/ul ... 1.67ulRNA+5.33ulH2O) para cadenas livianas y 5 para cadenas pesadas
1. Transcripción reversa; Proceda de la siguiente manera para RT-PCR
Se hicieron 5 tubos para cadena pesada y 5 tubos para cadena liviana (la mezcla que se muestra aquí fue porque esto se hizo al mismo tiempo que el VIH VDJ
1.1 Preparar una reacción de RT como sigue; 2x 1tubo
• H2O(DEPC) 0 |jl(a 12 |jl)
• cebador específico del gen 2 jM (pesado o ligero) 5 ul (5 pmol)
• Total ARN 7 ul (150 ng) Calentar a 95°C durante 1 minuto seguido de 65°C durante 5 min luego en hielo durante 1 min
Centrifugar y agregar lo siguiente: 1 tubo 30 tubos
• 5x regulador de primera hebra 4 jl 120
• Mezcla dNTP 10 mM 1 jl 30
• DTT 0.1M 1 jl 30
• Inhibidor de la ARNasa-enzimática 1 jl 30
• Superíndice III 1 jl 30
Incubar a 55°C durante 60 min (8 jl/tubos)
1.2 Inactivar la enzima calentando a 70°C durante 15 min
1.3 Eliminar el híbrido ARN/ADN agregando 1 |jl de RNasaH de E.coli (Enzy)
Incubar a 37°C durante 20 min, luego hielo.
2. Preparar la reacción de PCR de la siguiente manera:
Usar la mitad para PCR mantener la otra mitad como respaldo ... cantidad adicional realizada porque se realiza en paralelo con el proyecto VIH_VDJ
2.1 Preparar una reacción de prueba de PCR como sigue
1 muestra x2 por x 15 muestras (45t) (cadena liviana de 12t)
dH2O 21 j l (a 50 j l) 945(1084.46) 252(259.2)
ADNc 5 j l - -
5x Regulador HF 10 j l 450 120
dNTP(10 mM) (25 mM) 1 j l (0.4) 45 (18) 12(4.8)
cebador alto (IGHV nuevo-corto) (4 jM ) 6.25 j l (25 pmol) 281.25(225) 75
cebador bajo (IGHC nuevo-corto)(4 jM ) 6.25 j l (25 pmol) 281.25(224) 75
Phusion 0.5 j l 22.5 6
Agregar 90 pcr de mezcla a 10 ul de cADN, divida la PCR rx en 2 tubos de 50, para cada muestra. Era bajo en cebador, así que dio números rojos
2.2 Ciclo térmico de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3 -62°C durante 20 segundos
4- 72°C durante 20 segundos, pasar a etapa 2, 23x
5- 72°C durante 5 min
6- 4°C pausa
2.3 Reunir cada reacción 2 en 1
2.4 Agregar 2 |jl de Exonucleasal (20 U/|jl) a cada tubo e incubar a 37°C durante 20 min
2.5 AMPure XP 1.8:1. Resuspendido en 40 ul (menos si es posible)
Se realiza la purificación SPRI de la siguiente manera:
• Agregar la cantidad requerida de perlas AMPure XP (relación 1.8:1) a la muestra de ADN en el regulador EB. • Vórtice para mezclar
• Incubar durante 5 minutos a temperatura ambiente.
• Imán (MPC) durante 5 minutos. Dejar el tubo de perlas en el MPC durante todos los pasos de lavado
• Se retira el sobrenadante (manténgalo en caso de fallo) y lavar las perlas dos veces con 500 j l de etanol al 70%, incubando durante 30 segundos cada vez.
• Se retira todo el sobrenadante, centrifugar rápidamente, se retira la última gota y dejar que las perlas AMPure se sequen al aire por completo (2 min).
• Se retira el tubo del MPC, agregar 40 j l de Tris-HCl 10 mM, EDTA 0.1 mM, pH 8.0 (o Regulador EB de Qiagen), y agitar durante 30 segundos para volver a suspender las perlas, dejar reposar durante 3 minutos el imán durante 2 minutos y transferir el sobrenadante a un nuevo tubo.
3. Gel de diagnóstico (comprobar la eficacia de la PCR)
Correr 2 ul en un 2% de Egel-X durante 12 minutos
VH = 410 pb
VL = 360 pb
Agrupar los 5 tubos. Y Se vuelve a concertar con AMPure hasta 60 ul para que pueda cargarse en 2 carriles en la preparación de Pippin.
3.1.1 PCR de Phusion de los cebadores SOE LLA4 a partir de ADNc
Plan
Reacciones
■ Hacer una mezcla maestra de los siguientes componentes.
Figure imgf000138_0001
■ Alícuotas de 19.6 jL en 4 tubos de PCR. Agregar 0.2 jL de cada cebador apropiado, como sigue (8 mezclas de cebadores diferentes en total):
1. Cebadores VH
2. Cebadores LLA4 SOE VH
3. Cebadores VL
4. Cebadores LLA4 SOE VL
Ciclos
1. 98°C, 30 s
2. 98°C, 10 s
3. 65°C, 30 s
4. 72°C, 30 s
5. Ir a 2, 29x
6. 72°C, 5 min
7. 4°C, perpetuo
Resultados
■ El gel está abajo. 2% de E-gel EX ejecutado durante 10 min.
Figure imgf000139_0001
3.1.2 Gradiente PCR de LLA4 cebadores con Phusion a partir de ADNc Reacciones
■ Mezclar lo siguiente. Hay dos mezclas maestras.
Figure imgf000140_0001
■ Alícuotas 20 pL de cada mezcla en 4 tubos de una tira de PCR, utilizando los tubos 1, 3, 5, 7.
■ Las tiras se colocarán en las posiciones 3 a 10 del bloque de gradiente.
■ Las temperaturas de gradiente son:
1. 64.9°C
2. 66.9°C
3. 70.0°C
4. 72.5°C
Ciclo
1. 98°C, 30 s
2. 98°C, 10 s
3. 3. Graduación 64°C-74°C (ajuste de la máquina), 30 s4. 72°C, 30 s
5. Ir a 2, 24x
6. 4°C, perpetuo
Resultados
■ El gel está debajo: 2% de E-gel EX ejecutado durante 10 minutos
Figure imgf000140_0002
Figure imgf000141_0001
3.1.3 Kapa 2G Robust PCR con LLA4 a partir de ADNc
Plan
■ Probaré la enzima Kapa 2G Robust para ver si funciona mejor usando el mismo conjunto de cebadores que Phusion ■ También creo que Kapa no tiene actividad exo, y creo que la banda de dímero de cebador puede requerir exo para formarse de manera sólida, por lo que quizás esto ayude a evitarlo.
Reacciones
■ Mezclar lo siguiente en tubos de PCR separados
Figure imgf000141_0002
Ciclo
1. 95°C, 1 min
2. 95°C, 20 s
3. 65°C, 20 s
4. 72°C, 30 s
5. Ir a 2, 24x
6. 4°C, perpetuo
Resultados
■ El gel está debajo (e-gel ex 2%)
Figure imgf000142_0001
3.1.4 Correspondencia de clones de cadena pesada/liviana
■ Combinamos manualmente algunas posibles cadenas pesadas y livianas para nuestra síntesis. La información está en la hoja de cálculo.
3.1.5 Fusión por PCR utilizando diferentes números de ciclos.
Plan
■ Ver si reducir la cantidad de ciclos más ayudará a los PCR
Reacciones
Figure imgf000142_0002
Figure imgf000143_0002
Figure imgf000143_0001
Ciclo
■ Prueba de diferentes cantidades de ciclos: 9, 13, 17, 21, 25 ciclos.
■ Después de 9 ciclos, sacamos uno de los tubos para VH y VL, y luego sacamos un tubo cada 4 ciclos hasta que el último tubo haga 25 ciclos.
El programa es:
1. 98°C, 30 s
2. 98°C, 10 s
4. Ir a 2, 8x
perpetuo (retirar tubo)
6. 98°C, 10 s
7. 72°C, 30 s
8. Ir a 6, 3x
9. Ir a 5, 3x
10.4°C, perpetuo
Resultados
■ El gel está debajo (e-gel ex 2% 10 min)
Figure imgf000143_0003
Figure imgf000144_0001
3.1.6 Síntesis de ADNc utilizando SuperScript III
■ Usé el ARN de PBMC etiquetado con ARN que me dio Frangois. Terminé todo el tubo (por lo que usé un poco menos de ARN que en la síntesis de ADNc anterior)
Reacciones
■ Mezclar lo siguiente:
Figure imgf000144_0002
■ NOTA: La mezcla real está demasiado diluida porque en lugar de agregar 16.5 pL de agua como debería haberlo hecho, en realidad se agregaron 22.5 por alguna extraña razón.
■ Tomé alícuotas de 10 pL de esta mezcla en 16 tubos de PCR
■Incubar a 65°C durante 5 min.
■ Incubar a 4°C durante >1 min.
■ Mientras tanto, haga la siguiente mezcla:
Figure imgf000144_0003
■ Alícuotas 10 pL en cada tubo
■Incubar a 25°C, 10 min.
■ Incubar a 50°C, 50 min.
■ Incubar a 85°C, 5 min.
■ Enfriar en hielo
■ Combiné las 16 reacciones en un solo Eppy.
■ Añadí 16 pL de RNasa H e incubé a 37°C durante 20 minutos
3.1.7 Gradiente de concentración del cebador para la PCR de Phusion a partir de ADNc
Plan
■ Una de las optimizaciones finales que quiero realizar antes de pasar al entrecruzamiento es verificar las concentraciones óptimas del cebador
■ Haré un gradiente de concentración de cebadores para verificar si hay productos secundarios y eficiencia.
Reacciones
■ Hacer la siguiente mezcla maestra. (Puedo hacer VH y VL juntos porque los cebadores se agregarán por separado).
Figure imgf000145_0001
■ Alícuotas de 8.8 pL en cada uno de los 16 tubos de PCR (8 VH, 8 VL)
■ Los cebadores se agregarán de la siguiente manera:
Figure imgf000145_0002
■ Tenga en cuenta que las cantidades agregadas son para cada mezcla de cebador, de modo que cada tubo individual requiere 4 pasos de pipeteo (cebador derecha agua, cebador izquierda agua).
Ciclo
2. 98°C, 10 s
3. 72°C, 30 s
4. Ir a 2, 24x
5. 4°C, perpetuo
Resultados
■ Los geles están por debajo (E-gel EX 2% ):
Figure imgf000146_0001
Análisis
■ El VH PCR muestra un claro máximo de producto producido. Es un poco difícil ver productos secundarios (probablemente debido a la cantidad ligeramente reducida de ciclos), pero parece que la cantidad óptima es probablemente 40-70 nM de cada cebador (0.32-0.56 pL de mezcla de cebadores a 2.5 pM de cada cebador).
3.1.8 PCR para la purificación en gel de cadenas VH y VL
Plan
■ Se realiza la PCR utilizando cebadores SOE y cebadores USER para extraer en gel el material
Reacciones
■ Preparar las siguientes reacciones:
Figure imgf000147_0001
Figure imgf000147_0002
Ciclo
■ LLA4 SOE
1. 98°C,
2. 98°C, 10 s 3.
4. 72°C, 30 s 5. Vaya a 2, 24x 6. 4°C, perpetuo
■ Usuario
1. 95°C, 1 min
2. 95°C, 10 s
3.
4. 72°C, 15 s
5. Ir a 2, 4x
6. 95°C, 10 s
7.
8. 72°C, 15 s
9. Ir a 6, 19x
10. 4°C, perpetuo
Extracción
■ Las bandas de ~450 pb se cortan y purifican utilizando el kit Qiagen MinElute.
■ El ADN se eluye utilizando 10 pL de regulador EB, y luego agrego 9 pL de Tris-HCl a cada tubo. Resultados
■ E-gel EX 2% 10 min
Figure imgf000148_0001
3.1.9 Preparación de VH/VL enlazadas a partir de cadenas inmunes seleccionadas por tamaño a través de SOE-PCR o USUARIO/T4 ligasa
3.1.9.1 Montaje SOE-PCR
Reacciones- Mezclar lo siguiente.
■ NOTA: NO AGREGAR LOS CEBADORES. Se añadirán después de los primeros 5 ciclos de PCR.
- NOTA: Los amplicones VH aquí son los amplicones cebados con SOE de LLA4
Figure imgf000149_0001
Ciclo
1. 98°C, 30 s
2. 98°C, 10 s
3. 67°C, 30 s
4. 72°C, 30 s
5. Ir a 2, 4x
6. 16°C, perpetuo (AGREGAR el cebador aquí)
7. 98°C, 10 s
8. 67°C, 30 s
9. 72°C, 30 s
10. Ir a 7, 24x
11.4°C, perpetuo
3.1.9.2 USUARIO/T4 ligasa
Protocolo
■ NOTA: Los amplicones aquí son los amplicones cebados 0827 para la digestión por el USUARIO (sin scFv) Digestión USUARIO
■ Combina lo siguiente:
■ Amplicón VH de 3 pL
■ Amplicón VL de 3 pL
■ 4 pL de dH2O
■ 0.5 pL de UDG (Enzymatics)
■ 0.5 pL Endo VIII (Enzymatics)
■Incubar a 37°C, 30 min.
Reacción de ligación
■ A la reacción de digestión, agregar lo siguiente:
■ 7 pL de dH2O
■ 1 pL de regulador de ligasa T4 10x
■I pL de ligasa T4 (NEB)
■ Incubar a 16°C, 30 min.
■ Incubar a 65°C, 10 min.
Amplificación por PCR del producto enlazado. ■ Hacer la siguiente mezcla de PCR:
Figure imgf000150_0001
■ Ciclo de la siguiente manera:
1. 95°C, 1 min
2. 95°C, 10 s
3.
4. 72°C, 15 s
5. Ir a 2, 4x
6. 95°C, 10 s
7.
8. 72°C, 15 s . Ir a 6, 19x
0. 4°C, perpetuo
.1.9.3 Resultados
E-gel EX 2% 10 min
Figure imgf000151_0001
1.10 PCR multipaso de VH y VL
Intentar obtener scFvs usando reacciones de PCR en serie con diferentes conjuntos de cebadores .1.10.1 Control PCR con cebadores originales
Mezcle lo siguiente (nota, cebadores separados para las cadenas Kappa y Lambda)
Figure imgf000151_0002
Ciclo:
. 98°C, 1 min
. 98°C, 10 s
4. 72°C, 20 s
5. 2, 24x
6. 4°C, perpetuo
3.1.10.2 PCR multipaso
PCR A
■ Primera PCR usando los cebadores externos de PCR originales
■ Mezclar lo siguiente. Las cadenas pesada y liviana se amplifican juntas.
Figure imgf000152_0001
Ciclo:
1. 98°C, 1 min
2. 98°C, 10 s
3. 62°C,
4. 72°C,
5. Ir a 2, 9x
6. 4°C, perpetuo
■ Agregar 1 pL de Exo I e incube para:
■ 37°C, 30 min.
■ 80°C, 20 min.
PCR B & C
■ PCR anidada interna utilizando los cebadores originales. Intentando con las versiones no SOE y SOE solo para probar las reacciones de PCR.
■ Mezclar lo siguiente
Figure imgf000153_0001
Ciclo:
1. 98°C,
2. 98°C, 10 s
3. 30 s
4. 72°C, 30 s
5. Ir a 2, 9x
6. 4°C, perpetuo
■ Agregar 1 pL de Exo I e incube para:
■ 37°C, 30 min
■ 80°C, 20 min
PCR D
■ Ahora estamos agregando las etiquetas SOE LLA4 a PCR B ■ Mezclar lo siguiente
Figure imgf000153_0002
Figure imgf000154_0001
Ciclo:
1. 98°C,
2. 98°C, 10 s
3. 30 s
4. 72°C, 30 s
5. Ir a 2, 9x
6. 4°C, perpetuo
■ Agregar 1 pL de Exo I e incube para:
■ 37°C, 30 min.
■ 80°C, 20 min.
■ NOTA: El resto se realizó otro día.
Ciclo de extensión de superposición ■
Este es un ciclo sin cebador para obtener fragmentos scFv de SOE. ■ Para las reacciones de PCR C y D, agregar lo siguiente:
Figure imgf000154_0002
Ciclo:
1. 98°C, 30 s
2. 98°C, 10 s
3. 67°C, 30 s
4. 72°C, 30 s
5. Ir a 2, 9x
6. 4°C, perpetuo
PCR externa final
■ Este es el PCR final para amplificar el scFv. Aquí hacemos 25 ciclos.
■ A las reacciones cíclicas anteriores, ahora agregar lo siguiente. Nota, solo estamos agregando los "cebadores externos":
Figure imgf000155_0001
Ciclo:
1. 98°C,
2. 98°C, 10 s
3. 30 s
4. 72°C, 30 s
6. 4°C, perpetuo
■ Los resultados están en el gel a continuación (2% de EX-E-gel, 10 min)
Figure imgf000155_0002
4.
5. Canalización completa de ADNc-> scFv con ciclos reducidos
6. PCR a partir de ADNc con cebadores.
PCR A
Mezclar lo siguiente. Los cebadores son los cebadores:
Figure imgf000156_0002
Ciclo:
. 98°C, 30 s
. 98°C, 10 s
Figure imgf000156_0001
. Ir a 2, 14x
. 10°C, perpetuo
Agregar 1 pL de Exo I e incube para:
37°C, 30 min
80°C, 20 min
. PCR de PCR A utilizando cebadores SOE attB PCR B Mezclar lo siguiente. Los cebadores no son los cebadores SOE-attB.
Figure imgf000156_0003
Figure imgf000157_0001
■ Ciclo:
2. 98°C, 10 s
3.
4. 72°C, 30 s
5. Ir a 2, 14x
6. 10°C, perpetuo
■ Agregar 1 pL de Exo I e incube para:
■ 37°C, 30 min.
■ 80°C, 20 min.
NOTA: El resto del experimento se terminará mañana.
8. PCR de PCR B utilizando cebadores universales attB
PCRC
■ NOTA: Las reacciones individuales VH y VL ahora deben combinarse para obtener scFvs. Esta reacción combinada se etiquetará como "VH/VL sep".
■ Mezclar lo siguiente:
Figure imgf000157_0002
■ Agregar 1 pL de cada 10 pM de cebadores attB universales en el punto de pausa
■ Ciclo:
1. 98°C, 30 s
Figure imgf000158_0001
11. Ir a 8, 21x
12. 10°C, perpetuo
■ Correr en E-gel EX 2% durante 10 min
Figure imgf000158_0002
Apéndice C
VDJome/Immune-seq/solo cadena liviana
Realizar la preparación de la biblioteca de cadenas livianas solo en las muestras de los días 1, 7 y 21.
1. ID de muestra
La muestra se extrajo de 9 mL de sangre de un solo individuo en varios puntos de tiempo y se procesó con el kit de extracción Leukolock de Ambion:
Luego, las muestras se concentraron utilizando el kit RNeasy de Qiagen, se eluyó en 2x 30 pl y se utilizó Nanodrop.
3. Cadena liviana, el trato real.
Muestra original usada O segundo lote ID para 500 ng Agua a 7 para 500 ng Agua a 7 3 90.57 ng/ul 5.52 1.48 2.0 5 5 84.74 ng/ul 5.9 1.1 2.16 4.84 7 71.89 ng/ul 6.96 0 2.7 4.3 FV1 180 ng/ul 2.78 4.22
Figure imgf000159_0001
Luego, las muestras se concentraron utilizando el kit RNeasy de Qiagen, se eluyó en 2x 30 |jl y Nanodrop
Figure imgf000159_0002
Figure imgf000160_0001
Tubo ID notas
1 viejo-3
2 viejo-5
3 viejo-7 Apenas nada, 1 ul tal vez
4 FV1
5 rneasy-3
6 rneasy-5
7 rneasy-7
3. Transcripción reversa; Proceda de la siguiente manera para RT-PCR
3.1 Preparar una reacción de RT como sigue; 2x 1 tubo • H2O(DEPC) 0 pl(a 12pl) • cebador específico del gen 2pM (IGHC K y L) 5 (5 pmol) • Total ARN 7 pl (500 ng)
Calentar a 95°C durante 1 minuto seguido de 65°C durante 5 minutos luego en hielo durante 1 minuto Centrifugar y agregar lo siguiente: 1 tubo 9 tubos
• 5x regulador de primera hebra 4pl 36
• mezcla dNTP 10 mM 1 pl 9
• DTT 0.1M 1 pl 9
• Inhibidor de la ARNasa-enzima 1 pl 9
• Superíndice III 1 pl 9 Incubar a 55 ° C durante 60 min (8 pl/tubos)
3.2 Inactivar la enzima calentando a 70°C durante 15 min
3.3 Elimine el híbrido de ARN/ADN agregando 1 |jl de RNasaH de E.coli (Enzy)
Incubar a 37°C durante 20 min, luego hielo.
4. Preparar la reacción de PCR de la siguiente manera:
Use la mitad para PCR, mantenga la otra mitad como respaldo
4.1 Preparar una reacción de prueba de PCR como sigue
1x x2 por muestra x 7 muestras (16t)
dH2O 21 j l (a 50 j l) 336
ADNc 5 j l -
5x Regulador HF 10 j l 160
dNTP(10 mM) 1 j l 16
cebador alto (IGHV nuevo-corto) (4 jM ) 6.25 j l (25 pmol) 100 (50 de cada h K y L)
cebador bajo (IGHC nuevo-corto)(4jM) 6.25 j l (25 p mol) 100
Phusion 0.5 j l 8
Agregar 90 pcr de mezcla a 10 ul de ADNc, luego divídalo en 2 tubos de 50 para cada muestra
4.2 Ciclo térmico de la siguiente manera:
1- 98°C durante 1 min
2- 98°C durante 10 segundos
3- 62°C durante 20 segundos
4- 72°C durante 20 segundos ir al paso 2, 23x
5- 72°C durante 5 min
6- 4°C pausa
Muestra de Feeze
5. Gel de diagnóstico (comprobar la eficacia de la PCR).
Correr 2 ul en un 2% de Egel-X durante 12 minutos (hizo 11 minutos)
5.1 Agregar 2 j l de Exonucleasal (20 U /jl) a cada tubo e incube a 37°C durante 45 minutos (hizo 20 minutos) 5.2 AMPure XP relación de purificación de 1.8:1. Resuspender en 40 ul (mantenga el volumen no vinculante como respaldo). Se guardan 2 ul de cada muestra para el diagnóstico de gel
Se realiza la purificación SPRI de la siguiente manera:
• Agregar la cantidad requerida de perlas AMPure XP (relación 1.8:1) a la muestra de ADN en el regulador EB. • Vórtice para mezclar
• Incubar durante 5 minutos a temperatura ambiente.
• Imán (MPC) durante 5 minutos. Dejar el tubo de perlas en el MPC durante todos los pasos de lavado • Se retira el sobrenadante (manténgalo en caso de fallo) y lavar las perlas dos veces con 500 j l de etanol al 70%, incubando durante 30 segundos cada vez.
• Se retira todo el sobrenadante, centrifugar rápidamente, se retira la última gota y dejar que las perlas AMPure se sequen al aire por completo (2 min).
• Se retira el tubo del MPC, agregar 40 j l de Tris-HCl 10 mM, EDTA 0.1 mM, pH 8.0 (o Regulador EB de Qiagen), y agitar durante 30 segundos para volver a suspender las perlas, dejar reposar durante 3 minutos el imán durante 2 minutos y transferir el sobrenadante a un nuevo tubo.
5.3 Gel de diagnóstico (solo para comprobar la eficacia de perlas de AMPure
Correr 2 ul en un 2% de Egel-X durante 12 minutos
Primeros 4 carriles
Se ve bien
6. Extremos bloqueados
6.1 Se realiza la reacción de bloqueo utilizando el kit de reparación Enzymatics End de la siguiente manera:
1t
• H2O 0 jl(a 50jl)
• ADN purificado 38 j l
• 10 x End regulador de reparación 5 ul
• mezcla dNTP 1 mM 5 j l
• Mezcla de enzimas 5 j l
Incubar a una temperatura de 25°C durante 30 min.
El calor se inactiva a 75°C durante 20 min.
6.2 AMPure XP relación de purificación de 1.8:1. Resuspender en 37 ul (mantener el volumen sin enlace como copia de seguridad)
Ahorre 2 ul de cada muestra para diagnóstico de gel.
Figure imgf000162_0001
6.3 Gel de diagnóstico (verifique la eficiencia del bloqueo y perlas de AMPure)
Correr 2 ul en un 2% de Egel-X durante 12 minutos
Últimos 4 carriles
Se ve bien
7. Ligación del adaptador (25x de exceso)
7.1 Autofusión oligo 454 en el adaptador A y B juntos
Siga el protocolo 454 (10 j l de cada cebador 100 jM 30 j l de (Tris 10 mM EDTA 0.1 mM a NaCl 50 mM) (cada adaptador está en 20 jM final), 95 durante 3 min, rampa a 15 perpetua a 0.1°C/seg.
Preparar el adaptador A MID 3-5-8 y el adaptador B solamente.
7.2 Ligación del adaptador 454-A y 454-B (454 usa una proporción de 15:1 de adaptador ADN)
1t
• H2O 10 j l (to 100 j l)
• 2x regulador de ligasa rápida 50 j l
• VDJ DNA 35 j l (-1.25 pmol a 400 pb)
• 20 jM 454-A 1.5 j l (-30 pmol)
• 20 jM 454-B 1.5 j l (-30 pmol)
• T4 ADN ligasa (rápido) 2 j l
Incubar en PCR a 22°C durante 30 min.
7.3 AMPure XP relación de purificación de 1.8:1. Resuspender en 37 ul
7.4 Gel de diagnóstico (prueba)
Correr 2 ul en un 2% de Egel-X durante 12 minutos
Escalera de 100 pb
1 -FV1 pre ligación
2-5 postligación, postpurificación
8. Reacción de relleno
*Si usa BST, tenga en cuenta la presencia de un relave en A en los extremos 3'
8.1 En un tubo de microcentrífuga, agregar los siguientes reactivos, en el orden indicado, y mezcle:
1t 5t
H2O 5.5 (a 50jl) 27.5
ADN 35 -
10* regulador Thermopol 2.5 jl 12.5
10x regulador Phi29 2.5 12.5
100x BSA (10 mg/ml) 0.5 2.5
1t 5t
dNTP 10mM Mezcla 1 j l (0.2mM) 5
Bst Polimerasa (8 U /jl) 2 jl 10
Phi29 1ul 5
Incubar a 30°C durante 10 min, luego a 60°C durante 15 min (termociclador) Inactivar por calor a 80°C durante 15 min 8.2 AMPure XP relación de purificación de 1.8:1. Resuspender en 30 ul
9. Extracción en gel de biblioteca ligada de cadena pesada
9.1 Capacidad de carga de prueba con muestra FV1 solo, carga 10 ul 5 ul y 2.5 ul (espacio entre cada carril) Correr en un e-gel ex 2% , correr 15 min
9.2 Cargar otra muestra a través de 3 carriles (10 ul/carriles)
9.3 Usar el kit de extracción de gel Qiagen regulador (fundir banda a temperatura ambiente en termomezclador)Eluir en 17 ul (usar columna Mini-elute)
10. QC y agrupación
10.1 Nanodrop: el número es extraño (230 es muy alto)
10.2 Agregar 34 ul de TE, AMPure XP purifique la relación 1.8:1. Resuspender en 20 ul (remagnetización manual en tubo de PCR)
10.3 Nanodrop Qubit ADNds HS densidad de área
ID ng/ul
FV1 6.4 9.84
24 hora 7.6 16.6 18.0=15.6
7 días 7.9 13.8 15.9=13.8
21 días 9.1 16.0 18.7=16.23
10.4 Gel de diagnóstico (2% e gel ex 11 min, 2 ul cada muestra)
(escalera Sage, escalera de 100 bp, escalera de 25 bp, muestras VDJ)
Diluir todas las muestras a la misma concentración más baja en ng/ul;
Muestra Volumen Agua Qbit gel en agua
24 hora 12 ul 2.43 1.56
7 días 12 ul 0 0
21 días 12 ul 1.91 2.11
10.5 Mezclar 12 ul de cada muestra juntos. Almecenar a -20
Adjunto D
importar tipos
importar xml.eárbol.cElementoÁrbol como ElementoÁrbol importar número como np
importar
Bio.SeqIO
importar seqherramientas
# importar refseg
# importar segutils
# importar alineamiento
# importar
agrupación
# importar LSF
# importar params
# importar análisis
# = DATOS
ESTRUCTURAS =
clase cadenainmune(objeto):
“““Estructura de datos a
representa una cadena inmune.’””’
d ef__i n iti__(auto; ** kw):
...Inicializar
Cadenainmune
seq es 5’ -> 3’
def kw_init(atrib):
si kw.tienejlave(atrib):
auto._establecerattr_(atrib,kw[atrib]) kw in it(seq ’)
kw init(descri’)
kw_init(‘locus’)
kw_init(‘v’)
Figure imgf000165_0001
si kw.tienejlave('etiquetas’)
etiquetas = kw[‘etiquetas’]
si
esinstancia(etiquetas,tipos.TiposdeCuerdas): etiquetas = [etiquetas]
auto.etiquetas = establecer(etiquetas)
de otro modo:
auto.etiquetas = establecer^])
def obtener_cdr3(auto):
regreso
len(auto.unión)
def establecer_cdr3(auto, valor):
pasar
cdr3=
propiedad(fobtener=obtener_cdr3,festablecer=establecer_cdr3)
def añadir_etiquetas(auto,estableceretiquetas):
si
esinstancia(estableceretiquetas,tipos.TiposdeCuerdas): estableceretiquetas = [estableceretiquetas] auto.etiquetas = actualizar(estableceretiquetas)
def añadir_etiqueta(auto,etiqueta):
auto.añadir_etiquetas(etiqueta)
def
retirar_etiquetas(auto,estableceretiqueta):
si esinstancia(estableceretiquetas,tipos.TiposdeCuerdas): estableceretiquetas = [estableceretiquetas] para etiqueta en establecer etiquetas: auto.etiquetas.retirar(etiqueta)
def
retirar_etiqueta(auto,etiqueta):
auto.retirar_etiquetas(etiqueta)
def tiene_etiqueta(auto,etiqueta):
si etiqueta en auto.etiquetas:
regreso Verdadero
de otro modo:
regreso Falso
def_len__(auto)
regreso len(auto.seq)
def_str__(auto):
regreso
auto.__repr__(auto):
regreso auto.obtener_XML()
obtener_XML(auto):
formato_xml = atrib lambda,valor:
“\t<%(atr¡b)s>%(valor)s</%(atrib)s>\n” % {‘atr¡b':atrib,’valor':valor}
xmlcuerda
= ‘<Cadenalnmune>\n’
para (atrib,valor) en auto.__dict__iterarticulos():
si
atrib == 'etiquetas':
para etiqueta en auto.etlquetas:
xmlcuerda =
formato_xml(‘etiqueta’, etiqueta)
de otro modo:
xmlcuerda =
formato_xml(atrib, valor)
xmlcuerda = ‘<Cadenalnmune>\n’
regreso
xmlcuerda
# ==================
# = ENTRADA/SALIDA =
clase
AnalizadorVDJXML(objeto):
“““Analizador para VDJXML”””
def_init__(auto)
auto.cadena
= Ninguno
def ¡nic¡o_manejador(auto,elem):
si elem.etiqueta == ‘Cadenalnmune’:
auto.cadena = Cadenalnmune()
def fin_manejador(auto,elem):
si elem.etiqueta ==
etiqueta’:
auto.cadena.añadir_etiquetas(elem.texto)
ellf elem.etiqueta == ‘v_fln_idx’ o
elem.etiqueta. == ‘j_inicio_idx’:
auto.cadena.__estableceratrib__(elem.etiqueta,int(elem.texto)) de otro modo:
auto.cadena.__estableceratrib__(elem.etiqueta.elem.texto) anál¡s¡s(auto,ingresararch¡vo):
para evento, elem en ElementoÁrbol.¡teranál¡s¡s(¡ngresararch¡vo,eventos=(‘¡nic¡o’,’fin’)):
si evento == ‘inicio’:
auto.inicio_manejador(elem)
elif evento ==’fin’:
si
elem.etiqueta == ‘Cadenalnmune’:
rendimiento auto.cadena
de otro modo:
auto.fin_manejador(elem)
clase AnalizadordePredicadoVDJXML (AnalizadorVDJXML):
.. 'VDJXML Analizador que toma una función de predicado...
def__init__(auto,predicado):
AnalizadorVDJXML.__init__(auto)
auto.predicado = predicado
def
análisis(auto,ingresararchivo):
para evento, elemento en
ElementoÁrbol. ¡teranál¡sis(¡ngresararch¡vo,eventos=(inic¡o’,’f¡n’)):
si evento == 'inicio':
auto.inicio_manejador(elem)
elif evento = ‘fin’:
si
elem.etiqueta == ‘Cadenalnmune’:
si auto.predlcado(auto.cadena) == Verdadero: rendimiento auto.cadena
de otro modo
auto.fln_manejador(elem)
def análisis_VDJXML(ingresararchlvo):
vdjxmlanalizador = AnalizadorVDJXML()
regreso vdjxmlanalizador. anállsis(ingresararch¡vo)
def filtro_ análisls_VDJXML(ingresararchlvo,predicado): vdjxmlanalizador = Anal¡zadordePred¡cadoVDJXML(predicado)
regreso vdjxmlanal¡zador.anál¡sis(¡ngresararch¡vo)
#
# = Contando =
#============
def recuentos_VJ(ingresararchivo)
si
esinstancia(ingresararchivo,tipos.TiposdeCuerdas):
ip = abrir(ingresararchivo,’r’)
elif
esinstancia(ingresararchivo,archivo):
ip = ingresararchivo
recuentos = np.ceros(
(len(refseq.lGHV_lista),len(refseq.lGHJ_lista)))
para cadena en análisisVDJXML(ip): recuentos[refseq.lGHV_idx[cadena.v],refseq.lGHJ_idx[cadena.j]] = 1
si
esinstancia(ingresararchivo,tipos.TiposdeCuerdas):
ip.cerrar()
regreso a recuentos
def
recuentos_VDJ(rep)_
en = np.ceros(
(len(refseq.lGHVJista), len(refseq.lGHD_lista),len(refseq.lGHJ_lista)))
para cadena en
rep.cadenas: cn[refseq.lGHV_idx[cadena.v],refseq.lGHDJdx[cadena.d],refseq.lGHJ_idx[cadena.j]] = 1 regreso en
def remodelar_recuentos_VDJ_2D(recuentos):
regreso
recuentos.remodelar(len(refseq.lGHV_lista), len(refseq.lGHD_lista),#len(refseq.lGHJ_lista)) def
recuento_dict_clon_idxs(clon_idxs,referencia_clones=Ninguno):
“””Toma un diccionario
de nombres de dúster mapeados para una secuencia de índices en una lista de Cadenalnmune Regresa una
matriz np de la misma longitud que los referencia_clones con los recuentos de cada clúster en los
referencia_clones.
La necesidad de referencia_clones se debe al hecho de que dividir un
repertorio dado
puede resultar en que algunas partes no observe ninguno de un clon dado, por lo que debe haber una forma común
de comparar dos conjuntos de clones.
Si los clones de referencia se
omiten, se utilizará el establecer clones presentes en donjdxs.
si
referenclaclones == Ninguno
referencia_clones = clonJdxs.llaves()
recuentos =
np.ceros(len(referencia_clones))
para (¡.nombre) en enumerar(referencia_clones):
recuentos^] = len(don_idxs.obtener(nombre,[ ]))
regresar recuentos
def
recuento_dict_clon_recuentos(clon_recuentos,referenc¡a_clones=Ninguno):
si referencia_clones ==
Ninguno:
referencia_clones = clon_recuentos. llaves. ()
recuentos =
np.ceros(len(referencia_clones))
para (i,nombre) en enumerar(referencia_clones):
recuentos[i] = clon_recuentos.obtener(nombre,0)
regresar recuentos
#
# = Recuperando etiquetas y filtrando
#
def obtener_etiqueta_con_prefijo(cadena,prefijo):
para etiqueta en
cadena.etiquetas:
si etiquea.iniciacon(prefijo):
regresar etiqueta
aumento del ErrorValor,
“Etiqueta que inicia con” prefijo “no encontrada.”
def obtener_clon(cadena):
regresar
obtener_etiqueta_con_prefijo(cadena,’clon’)
def obtener_códigos de barras(cadena)
tratar:
regresar
obtener_etiqueta_con_prefijo(cadena,'códigos de barras’?
excepto ErrorValor:
regresar ‘ ‘
def
filtro_etiquetas_y(etiquetas, enmanejo, fuerademanejo):
si esinstancia(etiquetas,tipos.TiposdeCuerda): etiquetas = [etiquetas]
etiquetas = establecer(etiquetas)
para cadena en análisis_VDJXML(enmanejo):
si etiquetas <=
cadena.todas_etiquetas: # prueba que todo en las etiquetas es en todas_etiquetas imprimir
»fuerademanejo, cadena
def filtro_etiquetas_o(etiquetas, enmanejo,fuerademanejo):
si
esinstancia(etiquetas,t¡pos.T¡posdeCuerda): etiquetas = [etiquetas]
etiquetas = establecer(etiquetas)
vacío_establecer =
establecer()
para cadena en análisis_VDJXML(enmanejo):
si etiquetas & cadena.todas_etiquetas !=
vacío_establecer:# prueba que todas las etiquetas y todas_etiquetas comparten algo imprimir »fuerademanejo,
cadena
def es_completo_VJ(cadena):
si (cadena.v en refseq.lGHV_seqs.llaves()) y (cadena.j en
refseq,IGHJ_seqs.llaves()):
regreso Verdadero
de otro modo:
regreso Falso
def
obtener_clon_¡dxs(enmanejo):
clústeres = { }
¡ = 0
para cadena en
anál¡s¡s_VDJXML(enmanejo):
tratar: clústeres[obtener_clon(cadena)] = [I]
excepto
ErrordeLlave: clústeres[obtener_clon(cadena)] = [i]
I = 1
regresar clústeres
def
obtener_clon_recuentos(enmanejo):
clústeres = { }
para cadena en análisis_VDJXML(enmanejo):
tratar: clústeres[obtener_clon(cadena)] = 1
excepto ErrordeLlave: clústeres[obtener_clon(cadena)]
regresar clústeres
# =================
# = Funciones en canal
def vdjxml2fasta(enmanejo,fuerademanejo):
para cadena en
anál¡s¡s_VDJXML(enmanejo):
imprimir »fuerademanejo, '>’ cadena.descr
imprimir
»fuerademanejo, cadena.seq
# para generar ¡dentlflcadores a partir de combos VJ
def
vjjd(v_seg,j_seg):
regresar seqherram¡entas.l¡mpiar_¡d(v_seg)+’_ ’+seqherramientas.limpiar_ld(j_seg)
def dlvld¡r_vdjxml_dentro_VJ_partes(enmanejo,fueradenombre):
partes = [ ]
v j jd s = [ ]
fuerademanejos = { }
# abrir los archivos de salida para todos los combos VJ i = 0
para v_seg en
refseq.lGHV_seqs.llaves():
para j_seg en refseq.lGHJ_seqs.llaves():
curr_fueradenombre = fueradenombre str(i)
curr_vj_id = vj_id(v_seg,j_seg)
partes.append(curr_fueradenombre)
vj_ids.append(curr_vj_id)
fuerademanejos[curr_vj_¡d] = abrir(curr_fueradenombre, W ) i =1
para cadena en
análisis_VDJXML(enmanejo):
curr_vj_id = vj_id(cadena.v,cadena.j)
»fuerademanejos[curr_vj_¡d], cadena
para manejo en desodenados.valoresinter()_
manejo.cerrar()
regresar (partes,vjjds)
def análisis_VDJXML_partes(partes)
para parte
en partes:
para cadena en análisis_VDJXML(parte):
rendiemiento de cadena
def
esperar_para_subproceso(proceso_l¡sta,¡ntervalo=30):
terminado = Falso
mientras no
terminado:
terminado = Verdadero
tiempo.dormir(intervalo)
para p en
proceso Jista:
si p.poll() == Ninguno:
terminado = Falso
romper
adeventencias de importación
importar copia
importar número como np
importar seqherramientas
importar vdj
importar
refseq
importar sequtils
importar núcelodealineación
advertencias.filtrosimple(‘siempre’)
clase
vdj_alineador(objeto):
def__init__(auto,**kw):
auto.numCrudoVCandidatos = 5
auto.numCrudoVCandidatos = 10 auto.numCrudoVCandidatos = 2
# Definir patrones de semilla
patrónA= ‘111011001011010111’
patrónB='1111000100010011010111'
patrónC-111111111111’
patrónD=’110100001100010101111’ patrónE=’1110111010001111 ’
auto.patronesdesemilla =
[patrónA, patrónB, patrónC, patrónD, patrónE]
auto.patronesdesemillamini =
[‘111011’,’110111]
auto.patrónPos = ‘111111111111’
auto.puntajeminV
= 100 # derivado de datosde calibración 20090710
auto.puntajemlnD = 4
auto.puntajeminJ = 13
# establecer sequencias de referencia (locus) y generar picadillos de datos de ref
auto.locus = kw[‘locus’]
auto.refv_seqs =
refseq.__obteneratributo__(auto.locus+’V_seqs’)
auto.Vseqlistallaves =
vdj_alineador.seqd¡ct2kmers( auto.refV_seqs, auto.patronesdesemilla)
auto.refJ_seqs = refseq.__obteneratributo__ (auto.locus+’J_seqs’)
auto.Jseqlistallaves =
vdj_alineador.seqdict2kmers( auto.refJ_seqs, auto.patronesdesemilla) tratar: #
este locus puede no tener segmentos D
auto.refD_seqs = refseq.__obteneratributo__(auto.locus+'D_seqs’)
auto.Dseqlistallavesmini =
vdj_alineador.seqdict2kmers( auto.refD_seqs, auto.patronesdesemillamini) excepto
ErrordeAtributo:
pasar
auto.refV_compensar = refseq.__obteneratributo__(auto.locus+’V_compensar’)
auto.refJ_compensar = refseq.__obteneratributo__(auto.locus+’J_compensar’)
# Generar datos de referencia
para secuencia ID positiva
posVseqllstallaves = vdj_alineador.seqdict2kmers ( auto.refV_seqs, [auto.patrónPos] )
posJseqlistallaves = vdj_alineador.seqdict2kmers ( auto.refJ_seqs, [auto.patrónPos] )
negVseqlistallaves = vdj_allneador.seqdlct2kmers ( vdj_allneador.seqdlct2revcompseqdict(auto.refV_seqs). [auto.patrónPos] ) negVseqlistallaves = vdj_allneador.seqdlct2kmers( vdj_allneador.seqd¡ct2revcompseqd¡ct(auto.refJ_seqs), [auto.patrónPos] )
#
recoger llaves posibles
posestablecer = establecer ([ ])
para llave en posVseqlistallaves.llaves(): posestablecer.actualizar(posVseql¡stallaves[llave][auto. patrón Pos]) para llave en
posJseqlistallaves. llavesQ:
posestablecer.actual¡zar(posJseql¡stallaves[llave][auto.patrónPos]) negestablecer = establecer ([ ])
para llave en negVseqllstallaves.llaves(): negestablecer.actual¡zar(negVseqlistallaves[llave][auto.patrónPos])
para llave en
negJseqllstallaves.llaves():
negestablecer.actuallzar(negJseqllstallaves[llave][auto.patrónPos])
# obtener únicas llaves para versiones positivas o negativas del establecer referencia posestablecernuevo = posestablecer - negestablecer
negestablecernuevo = negestablecer - posestablecer
auto.posestablecer
= posestablecernuevo
auto.negestablecer = negestablecernuevo
def
Valign_cadenas(auto, cadena,verboso=Falso):
pregunta = cadena.seq
# calcular
picadillos de seq pregunta
preguntallaves = vdj_alineador.seqd¡ct2kmers(pregunta,auto.patronesdesem¡lla)
# para cada segmento de referencia V y cada patrón, ¿cuántos k-mers compartidos hay ahí?
puntajesV_picadlllo = vdj_al¡neador.puntajeplcad¡llo(auto.Vseql¡stallaves,preguntallaves)
# obtener puntajes más altos de numCrudoVCandidatos en puntajesJ y almacenar sus nombres en orden
descendente
buenoVseglIsta = ordenado(auto.refV_seqs.llaves(),llave=lambda k: puntajesV_plcadlllo[k],¡nverso=Verdadero) [0:auto. numCrudoVCandidatos]
buenoVsegdlct =
dlct([(seg,auto.refV_seqs[seg]) para seg en buenoVseglIsta])
#
Needleman-Wunsch de segmento V (mejorVseg,mejorpuntajeV,mejorcuadrodemandoV,mejorVtrazamat) = vdj_alineador.mejoral¡gnNW(buenVsegd¡ct, pregunta,auto.puntajeVmin)
# si exitoso
alineamiento
si mejorVseg no es Ninguno:
cadena.V = mejorVseg
# encontrar el limite de CDR3
# alineamiento del constructo Valnref,Valnrefcoords,Valnpregunta,Valnpreguntacoords = vdj_alineador.constructo_alineamiento ( auto.refV_seqs[mejorVseg], pregunta, mejorcuadrodemandoV.mejorVtrazamat )
#
encontrar el límite de CDR3
cadena.v_fin_idx = vdj_alineador.reducirVregión( Valnref,
Valnref, Valnpregunta.Valnrefcoords, auto.retV_compensar[mejorVseg] )
regresar mejorVpuntaje
def Jalign_cadena(auto,cadena, verboso=Falso):
# tratar
poda región V para alineamiento J
tratar:
pregunta =
cadena.seq[cadena.v_fin_idx:]
excepto ErrordeAtributo:
pregunta = cadena.seq
# cáculo de picadillo de seq pregunta
preguntallaves =
vdj_alineador.seq2kmers(pregunta,auto.patronesdesemilla)
# para cada referencia J
segmento y cada patrón, ¿cuántos k-mers compartidos hay ahí?
puntajeJ_picadillo = vdj_alineador.puntajepicadillo(auto.Jseqlistallaves,preguntallaves)
# obtener
puntajes más altos de numCrudoJCandidatos en puntajesJ y almacenar sus nombres en orden descendente
buenoJseglista = ordenado(auto.refJ_seqs.llaves(),llave=lambda k: puntajesJ_picadlllo[k],¡nverso=Verdadero) [0:auto. numCrudoJCandldatos] buenoJsegdict =
d¡ct([(seg,auto.refV_seqs[seg]) para seg en buenoJseglista])
#
Needleman-Wunsch de segmento J (mejorJseg,mejorpuntajeJ,mejorcuadrodemandoJ,mejorJtrazamat) = vdj_al¡neador.mejoral¡gnNW(buenJsegd¡ct, pregunta, auto. puntajeJmin)
# si exitoso
alineamiento
si mejorJseg no es Ninguno:
cadena.J = mejorJseg
# encontrar el limite de CDR3
# alineamiento del constructo Jalnref,Jalnrefcoords,Jalnpregunta,Jalnpreguntacoords = vdj_alineador.constructo_allneamiento ( auto.refJ_seqs[mejorJseg], pregunta, mejorcuadrodemandoJ.mejorJtrazamat )
#
encontrar el límite de CDR3
j_inicio_compensar = vdj_alineador.reducirJregión( Jalnref,
Jalnref, Jalnpregunta, Jalnpreguntacoords.Jalnrefcoords, auto.refJ_compensar[mejorJseg] ) # tratar
ca de na .jjn ic io jdx = cadena.v_fin_idx j_inicio_compensar
excepto
ErrordeAtributo:
cade na .jjn ic io jdx = jJnicio_compensar
regresar
mejorpuntajeJ
def Dallgn_cadena(auto,cadena,verboso=Falso):
# podar V
y regiones J para alineamiento de D
# no deberíamos estar Intentando el alineamiento de D a menos que
tengamos
# un CD3 bien definido
pregunta = cadena.unión
# cálculo
picadillos de seq pregunta
preguntallaves =
vdj_al¡neador.seq2kmers(pregunta,auto.patronesdesem¡llam¡n¡)
# para cada referencia D
segmento y cada patrón, ¿cuántos k-mers compartidos hay ahi?
puntajeD_picadillo = vdj_alineador.puntajepicadillo(auto.Dseqlistallavesmini,preguntallaves)
# obtener
puntajes más altos de numCrudoJCandidatos en puntajesJ y almacenar sus nombres en orden descendente
buenoDseglista = ordenado(auto.refD_seqs.llaves(),llave=lambda k: puntajesD_p¡cadillo[k],¡nverso=Verdadero) [0:auto. numCrudoDCandldatos] buenoDsegdict =
dict([(seg,auto.refD_seqs[seg]) para seg en buenoDseglista])
#
Needleman-Wunsch de segmento J (mejorDseg,mejorpuntajeD,mejorcuadrodemandoD,mejorDtrazamat) = vdj_alineador.mejoralignNW(buenDsegdict,pregunta,auto.puntajeDmin)
# si exitoso
alineamiento
si mejorDseg no es Ninguno:
cadena.d = mejorDseg
regresar mejorpuntajeD
def align_cadena(auto,cadena,verboso=Falso):
si no cadena.tiene_etiqueta(‘positiva’) y no cadena.tiene_etiqueta(codificación’): advertencias.advertir(‘%s de la cadena pueden no ser la cadena correcta de % de cadena.descr)
puntajes = { }
puntajes[‘v’] = auto.Valign_cadena(cadena,verboso)
puntajes[‘j ’] = auto.Jalign_cadena(cadena,verboso)
# solo proceso de unión si V
y J exitosamente
si tieneattr(cadena, Y ) y tieneattr(cadena,]’):
cadena.unión = cadena.seq[cadena.v.fin_idx:cadena.j_inicio_idx]
solo align D si yo estoy en un locus que tiene cadenas D
si auto.locus en
['IGH’.’TRBVTRD']:
puntajes[‘d’] = auto.Dalign_cadena(cadena.verboso)
regresar puntajes
def align_seq(auto,seq,verboso=Falso):
cadena =
vdj.Cadenalnmune(descr=’secuencia?,seq=seq)
auto.align_cadena(cadena, verboso)
regresar cadena
def codificación_cadena(auto,cadena,verboso=Falso):
hebra=
auto.seq2codificación(cadena.seq)
si hebra == -1:
cadena.seq =
seqherramientas.inverso_complemento)cadena.seq)
cadena.añadir_etiqueta('revcomp)
cadena.añadir_etiqueta(‘codificación’)
def seq2codificación(auto,seq):
seqllaves =
vdj_alineador.seq2kmers(seq, [auto.patrónPos])
seqpalabras = seqllaves[auto.patrónPos]
hebraid = 1
si len(auto.negestablecer & seqpalabras) > len(auto.posestablecer & seqpalabras): hebraid = -1
regresar hebraid
@métodoestático
def
seq2kmers(seq,patrones):
.... Secuencia dada y patrones, para cada patrón, calcular
todos los k-mersque corresponden de la secuencia.
El resultado es
sequnno[patrón] [llave] = [pos1,pos2,...,posN] en seq seqllaves[patrón] =
establecer([kmers])
seqllaves = { }
patlente = []
para
patrón en patrones:
patlente.append(len(patrón))
seqllaves[patrón]=
establecer()
máxpatlente = máx(patlente)
para i en rangox(len(seq)):
palabra = seq[¡:¡+ máxpatlen]
para patrón en patrones:
patlen = len(patrón)
si len(palabra) >= patlen:
llave= ‘ ‘
para j en rangox(patlen):
si patrón[j] == ‘1’:
llave = palabra[¡] seqllaves[patrón].adlclonar(llave)
regresar seqllaves
@métodoestát¡co
def seqdict2kmers(seqdlct,patrones):
seqlistallaves = { }
para seq en seqdict.iterartículosQ:
seqllstallaves[seq[0]] = vdj_al¡neador.seq2kmers(seq[1 ],patrones)
regresar seqlistallaves
@métodoestátlco
def puntajeplcadlllo(refllaves,preguntallaves):
“““Calcular el número de
llaves comunes para cada secuencia de referencia.
preguntallaves es dlct de establecers, donde dlct
llaves son patrones
llaves de referencia es dict de ref seqs, donde cada elt es un dict de patrones con establecers como valores, los patrones deben ser los mismos
puntajes = { }
para seg en regllaves.lterllaver():
puntaje = 0
para
patrón en preguntallaves.iterllaves():
puntaje = len( refllaves[seg] [patrón] & preguntallaves[patrón] )
puntajes[seg]) puntaje
regresar puntajes
@métodoestátlco
def mejoralignNW(candldatodlct,pregunta,puntajemin):
mejorseg = Ninguno
mejorpuntaje = puntajemin
mejorcuadrodemando = Ninguno
mejortrazamat = Ninguno
seq2 = pregunta
para (seg,seq1) en candidatodict.iterartículos():
# C
implementadón:
# extraer la memoria
# tenga en cuenta que estamos usando cero condiciones iniciales, entonces las matrices son también ¡nlclallzadas # notación es como Durbln
p.29
puntajes = np.ceros( [Ien(seq1)+1, Ien(seq2)+1] ) Ix = np.ceros(
[Ien(seq1)+1. Ien(seq2)+1] )
ly=np.ceros( [Ien(seq1)+1, Ien(seq2)+1] )
traza = np.ceros( [Ien(seq1)+1, Ien(seq2)+1] ), dtlpo=np.int) al¡neamientonúcleo.allgnNW( puntajes, Ix, ly, traza, seq1, seq2 )
currpuntaje =
vdj_allneador.puntajeVJalign(puntajes)
si currpuntaje > mejorpuntaje:
mejorpuntaje = currpuntaje
mejorseg = seg
mejorcuadrodemando = puntajes
mejortrazamat = traza
regresar
(mejorseg,mejorpuntaje,mejorcuadrodemando,mejortrazamat)
@métodoestát¡co
def
mejoral¡gnSW(cand¡datod¡ct,pregunta,puntajemin):
mejorseg = Ninguno
mejorpuntaje =
puntajemin
mejorcuadrodemando = Ninguno
mejortrazamat = Ninguno
seq2 =
pregunta
para (seg.seql) en candidatodict.iterartículos():
# C implementación:
# extraer la memoria
# tenga en cuenta que estamos usando cero condiciones iniciales,
entonces las matrices son también inicializadas
# notación es como Durbin p.29
puntajes = np.ceros( [Ien(seq1)+1, Ien(seq2)+1] )
traza = np.ceros( [Ien(seq1 )+1,
Ien(seq2)+1] dtipo=np.int)
alineamientonúcleo.alignSW( puntajes, traza, seq1, seq2 )
currpuntaje = vdj_alineador.puntajeDJalign(puntajes)
si currpuntaje
> mejorpuntaje:
mejorpuntaje = currpuntaje
mejorseg = seg
mejorcuadrodemando = puntajes
mejortrazamat = traza
regresar
(mejorseg,mejorpuntaje,mejorcuadrodemando,mejortrazamat)
@métodoestático
def
reducirVreg¡ón( alnref, alnrefcoords, alnpregunta, alnpreguntacoors, compensar ): ...Reducir V
región fuera de secuencia pregunta basada en alineamiento.
Ref dada y pregunta
alineamientos de región V, refID, y de la secuencia
pregunta original, regresar a secuencia
con la región V cortada, dejando
el 2nd-CYS. También necesita las coords de alineamiento de pregunta.
# FR3fin = auto.refV_compensar[reflD] - alnrefcoords[0] #
posición del primer candidato
FR3fin = compensar - alnrefcoords[0] # posición
primer candidato
refdiferencias = alnref[:FR3fin].recuento(‘-‘) # contar diferencias hasta
CYS putativo pos
dlferenclasvlstas = refdiferencias
FR3fin = refdiferencias #
ajustar si para diferencias en alineamiento ref
refdiferencias = alnref[:FR3fln].recuento(‘-‘) -dlferenciasvistas # ¿cualquier diferencia adicional’!?
preguntadlferenclas = alnpregunta[:FR3fin].recuento(‘- ‘)
# v_fln_idx = idx de inicio de aln de pregunta distancia dentro aln - # de diferencias v_fin_idx = alnpreguntacoords[0] FR3fin - preguntadiferencias
regresar v_fin_idx
@métodoestático
def reducirJregiónj alnref, alnrefcoords, alnpregunta, alnpreguntacoors, compensar ):
Reducir reglón J fuera de secuencia pregunta basada en alineamiento.
Ref dada y alineamientos de pregunta de región J, refID, y de la secuencia
pregunta
original, regresar a secuencia con la región J cortada, dejando
el J-TRP. También
necesita las coords de alineamiento de pregunta.
# FR4lnicio =
auto.refJ_compensar[reflD] - alnrefcoords[0] # posición del primer candidato de J-TRP inicio FR4inicio = compensar - alnrefcoordsjO] # posición del primer candidato de J-TRP inicio refdiferencias = alnref[:FR4inicio].recuento(‘-‘). # contar diferencias hasta TRP putativo pos diferenciasvistas
= 0
mientras refdiferencias >0: # iterativamente encuentra todas las diferencias hasta el TRP diferenciasvistalas = refdiferencias
F4inicio = refdiferencias # ajustar para diferencias en alineamiento ref refdiferencias = alnref[:FR4inicio].recuento('-') - diferenciasvistas # ¿cualquier diferencia adicional’!?
preguntadiferencias = alnpregunta[:FR4inicio].recuento(‘-‘)
# j_inicio_compensar = idx de
inicio de aln de pregunta distancia dentro aln - # de diferencias
# nota: j_inicio_compensar es de
la seq pregunta posada
jjn ic io jd x = alnpreguntacoordsjO] F4inicio - preguntadiferencias
regresar j_inicio_compensar
@métodoestático
def
constructo_alineamiento(seq1,seq2,cuadro de mando,trazamat):
...Alineamiento del constructo de ref
segmento para preguta del puntaje y matrices de traza.”””
nfilas,ncols = cuadro de mando.forma
# hacer alguna comprobación de errores
si Ien(seq1)+1 != nfilas o Ien(seq2)+1 !=
ncols:
aumento Excepción, “nfilas y ncols deben ser igual a Ien(seq1)+1 y
Ien(seq2)+1”
# traducir trazas enteras a coords
deltas = {
0 : ( 1 , 1 )
1 : (1,0),
2 : (0,1),
3 :(0,0)
}
# calcular col donde debe comenzar alineamiento
si nfilas <= ncols:
col = np.argmáx( cuadro de mando[nfllas-1,: ] )
fila = nflla - 1
de otro modo:
col = ncols - 1
fila = np.argmáx( cuadro de mando[ncols-1,: ] )
# si
fila es coord en matriz, fila - 1 es coord en seq (b/c de condiciones ¡nlt)
aln1
= seq1 [fila-1 ]
aln2 = seq2[col-1]
alnlfin = fila
aln2fin =
col
mientras (fila-1 > 0) y (col-1 >0):
# calcular la dirección de
movimientos
fllacambio.colcambio = deltas [trazamat[fila,col] ]
# emitir símbolos apropiados
si filacambio == 1:
fila -= 1
aln1 = seq1 [fila-1] aln1
ellf filacambio == 0:
aln 1 =
+aln1
de otro modo:
aumento Excepción, “Salto contenido en matriz de traza de más de una fila/col.”
si colcambio == 1:
col
-= 1
aln2 = seq2[col-1] aln2
elif colcambio == 0:
aln2 = aln2
de otro modo:
aumento Excepción, “Salto contenido
en matriz de traza de más de una fila/col.”
aln 1 inicio = fila-1
aln2inicio = col - 1
# las coords se refieren a coords en la secuencia (pitónico) regresar aln1, (aln1 inicio,alnlfin), aln2, (aln1 inicio,aln2fin)
@métodoestático
def puntajeVJalign(puntajematríx):
“Puntaje de cómputo de alineamiento de V
dada la matriz de puntaje de Needleman-Wunsch
ASUME núm. de filas < núm. de cois, es decir,
reqseq V seg es en el eje vertical
nfilas,ncols =
puntajematríz.forma
si nfilas <= ncols:
regresar np.máx(
puntajematríz[nfilas-1, :] )
de otro modo:
regresar np.máx( puntajematriz[:,ncols-1, :] )
@métodoestático
def puntajeDalign(puntajematrix):
“Puntaje de cómputo de alineamiento
de D dada la matriz de puntaje de Smith-Waterman
regresar np.máx(
puntajematriz )
@métodoestático
def seqdict2revcompseqd¡ct(seqd¡ct):
revcompdict = { }
para artículo en seqdlct.iterartículos ()
revcompdíct[artículo[0] ] = sequtlls.reversa_complemento(artículo[1])
regresa revcompdict
clase
vdj_allneador_combinado(objeto):
“““vdj allneador para cadenas ‘livianas’
esta clase
realizará alineamiento para ambos loci, por ejemplo, IGK e IGL
y elige uno con el mejor puntaje
def__inlt__(auto,**kw):
auto.loci = kw[‘loci]
auto.alineadores = [vdj_allneador(locus=locus) para locus en auto.loci]
auto.patronesPos = ‘111111111111’
auto.posestablecer = establecer()
auto.negestablecer = establecer^)
para aliñador en auto.alineadores:
auto.posestablecer.actuallzar(alineador.posestablecer)
auto.negestablecer.actuallzar(alineador.negestablecer)
def align_cadena(auto,cadena,verboso=Falso):
alineamientos = [ ’]
para alineador en auto.alineadores:
curr_cadena =
copia.coplaprofunda(cadena)
curr_puntaje = alineador.align_cadena(curr_cadena) alineamientos.append( (curr cadena.curr puntaje))
alineamientos = ordenado(filtro(lamba a:
t¡eneattr(a[0], ‘v’)alineamientos),llave=lambda a: a[1] [‘v ’],reversa=Verdadero) len(alineamlentos) > 0:
mejorcadena = alineamientos [0] [0]
si
t¡eneattr(mejorcadena,V)
cadena.v = mejorcadena.v
cadena.v_fin_idx = mejorcadena.v_fin_¡dx
si tieneattr(mejorcadena,’j ’):
cadena.j = mejorcadena.j
cadena.jjn icio jdx = mejorcadena.jjniciojdx
si tieneattr(mejorcadena,'unión’):
cadena.unión= mejorcadena.unión
si tieneattr(mejorcadena,’d’):
cadena. d= mejorcadena.d
regresar
alineamientosjO] [1], # NOTA: solo regreso los puntajes al éxito aln
align_seq(auto,seq,verboso=Falso):
cadena =
vdj.Cadenalnmunejdescr-sequenc¡a’,seq=seq)
auto.align_cadena(cadena, verboso)
regresar cadena
def codificando_cadena(auto,cadena):
hebra =
auto.seq2codificando(auto,cadena):
si hebra == -1:
cadena.seq =
seqherram¡entas.reversa_complemento(cadena.seq)
cadena. añadir_etiqueta(‘revcomp’)
cadena.añadir_etiqueta(‘codificando’)
def seq2codificando(auto,seq):
seqllaves =
vdj_alineador.seq2kmers(seq, [auto.patrónPos])
seqpalabras = seqllavesjauto.patrónPos]
hebraid = 1
si lenjauto.negestablecer & seqpalabras) > lenjauto.posestablecer & seqpalabras) hebraid = -1
regresar hebraid
def igh_alineador():
regresar
vdj_al¡neador('locus=IGH’)
def ¡gk_al¡neador():
regresar vdj_al¡neador(locus=’IGK’)
def
igl_al¡neador():
regresar vdj_al¡neador(locus=’IGL’)
def ¡gkl_al¡neador():
regresar
vdj_alineador_comb¡nado(loc¡=['IGK’,’IGL'])
def trb_al¡neador():
regresar
vdj_alineador(locus=TRB)
def tra_alineador():
regresar vdj_alineador(locus-TRA’)
def
trd_alineador():
regresar vdj_alineador(locus=’TRS’)
def trg_alineador():
regresar
vdj_al¡neador(locus=’TRG')
importar número como np
de número importar ma
importar scipy como sp
importar
scipu.estadísticas
importar scipy.especial
importar matplotlib como mpl
importar matplotlib.pygráfica como plt
importar vdj
def códigos de barras_clon_recuentos(enmanejo):
“““Regresar recuento dict de archivo vdjxml
con recuentos[códigos de barras] [clon]”””
recuentos = dict()
para cadena en
vdj.análisis_VDJXML(enmanejo):
tratar: # cadena puede no tener códigos de barras
recuentos_códigos de barras[cadena.clon] = recuentos_códigos de barras.obtener(cadena.clon,0) 1 regresar recuentos
def códigos de barras_unión_recuentos(enmanejo):
“““Regresar recuento dict de
archivo vdjxml con recuentos[códigos de barras] [unión]"””
recuentos = dict()
para cadena en
vdj.análisis_VDJXML(enmanejo):
tratar: # cadena puede no tener códigos de barras
recuentos_códigos de barras= recuentos_establecerpredeterminado(cadena.códigos de barras, dict()) excepto ErrordeAtributo:
continuar
recuentos_códigos de barras[cadena.unión] =
recuentos_códigos de barras.obtener(cadena.unión,0) 1
códigos de barras_clon_recuentos2matriz(recuentos,códigos de barras=Ninguno,clones=Ninguno) ...Genera matriz de
recuento dict...
si códigos de barras == Ninguno:
códigos de barras = recuentos.Ilaves()
si clones ==
Ninguno:
clones = lista( reducir( lambda x,y: xly, [establecerte.llavesQ) para c en recuentos.valoresiter()] ) )
matriz = np.ceros ( (len(clones), len(códigos de barras):
para
(col,códigos de barras) en enumerar(clones):
matríz[fila,col] = recuentos.obtener(códigos de barras,dict() ).obtener(clon,0)
regresar
(clones, códigos de barras, matriz)
códigos de barras_unión_recuentos2matríz = códigos de barras_clon_recuentos2matríz
# = VIEJO VIEJO VIEJO VIEJO VIEJO
VIEJO VIEJO VIEJO VIEJO VIEJO VIEJO VIEJO VIEJO VIEJO VIEJO VIEJO
#
#==============
# =
Series de tiempo =
# ==============
def clon_t¡empodeseries(enmanejo, códigos de barras, referencia_clones=Nlnguno):
# generar datos de recuento
para cadena en
vdj.análisis_VDJXML(enmanejo):
recuentos
def
clon_tiempodeseries(enmanejo, tiempo_etiquetas, referencia_clones=Ninguno) # obtener datos de recuento
tiempoetiquetasestablecer = establecer(tiempo_etiquetas) clon_recuentos = { }
para etiqueta en tiempo_etiquetas:
clon recuentos [etiqueta] = { }
para cadena en vdj.análisls_VDJXML(enmanejo):
tratar:
curr_tiempo_etiqueta = (cadena.etiquetas&tiempo_etiquetas_establecer).pop() excepto ErrordeLlave:
continuar
tratar:
clon_recuentos[curr_tiempo_etiqueta] [vdj.obtener_clon(cadena)] = 1 excepto ErrordeLlave:
clon_recuentos[curr_tiempo_etiqueta] [vdj.obtener_clon(cadena)] = 1
# establecer clones de referencia
si referencia_clones == Ninguno:
referencia_clones = establecer ()
para recuentos en
clon_recuentos.valoreslter():
referencia_clones.actualizar(recuentos.llaves()) referencia_clones = lista(referencla_clones)
# construir matriz seriesdetiempo
núm clones
= len(referenciaclones)
núm tiem pos = len(tiempo_etiquetas)
datosderecuento =
np.ceros( (núm_clones,núm_tiempos))
para (¡.etiqueta) en enumerar(tiempo_etiquetas):
datosderecuento[:, i] = vdj.recuento_d¡ct_clon_recuentos(clon_recuentos[etiqueta],referenc¡a_clones)
regresar a datosderecuento, referenc¡a_clones
def seriesdet¡empo2d¡mens¡ones(datosderecuento,freq=Verdadero,log=Verdadero,pseudorrecuento=1e-1) núm_tiempo_ser¡es,
núm tiem pos = datosderecuento.forma
númtransiciones = núm_tiempos - 1
si pseudorrecuento ! = 0:
dimensiones = np.ceros( (núm_tiempo_series,núm_transiciones)) datosderecuento_pseudo =
datosderecuento np.flotarjpseudorrecuento)
si freq = Verdadero
datosderecuento_pseudo =
datosderecuento_pseudo / datosderecuento_pseudo.sum(eje=0)
para i en rango(núm_transiciones):
dimensiones [ :, i] = datosderecuento_pseudo[:, i+1] / datosderecuento_pseudo[:, i] de otro modo: #
solo mirar a las series de tiempo que no son cero en todo el camino
idxs =
np.sum(recuentodedatos>0,eje=1)==núm_tiempos
dimensiones =
np.ceros( (np.sum(idxs),númJransiciones))
si freq == Verdadero
datosderecuento_modificado = np.flotar_(datosderecuento) / datosderecuento.sum(eje=0=
de otro modo:
datosderecuento_modificado = np.flotar_(datosderecuento)
para i en rango(núm_transiciones):
dimensiones [:, i] = datosderecuento_modificado[idxs, i+1] / datosderecuento_modificado[idxs , i]
log==Verdadero
regresar a np.loglO(dimensiones)
de otro modo:
regresar a dimensiones
def
seriesdetiempo2autocorrelación(seriesdetiempo):
ac = [1.]
[sp.estadísticas.pearsonr(seriesdetiempo[:-i],seriesdetiempo[i:]) [0] para i en
rango(1 ,len(seriesdetiempo)-2) ]
regresar a ac
# = Tipos de espectro
# ================
def
cdr3s2tipodeespectro(cdr3s):
mín_crudo_cdr3 = np.mín(cdr3s)
máx_crudo_cdr3 = np.máx(cdr3s)
mfn_cdr3 = np.int(np.hacertecho( mín_crudo_cdr3 / 3.) *3) # será un múlt de 3 diferente a cero máx_cdr3 = np.int(np.piso(máx_crudo_cdr3 / 3.) *3) # será un múlt de 3
# contener las
longitudes de CDR3. El primer elt es rep cero len(y debe ser cero)
# y el último bin
siempre representa uno mayor que el múlt más grande de 3
cdr3scontenidos=
np.histograma(cdr3s,contenedores=np.unrango(0,máx_cdr3+2)) [0] # el 2+ se debe a la pecul. de
np.hist.
gausianos = [ ]
para cdr3len en np.unrango(mín_cdr3,máx_crudo_cdr3,3):
totalcdr3s = np.sum(cdr3scontenidos[cdr3len-1:cdr3len+2])
buencdr3s =
cdr3scontenidos[cdr3len]
si totalcdr3s == 0 :
continuar
mu = cdr3len
x = cdr3len-0.5
cola = (1-(np.flotar(buencdr3s)/totalcdr3s)) / 2.
sigma = (x-mu) / (np.sqrt(2.)*sp.especial.erfinv(2*cola-1))
rv =
sp.estad[sitcas.norm(loc=mu,escala=sigma)
gaus¡anos.append( (totalcdr3s,rv) )
t =
np.l¡nespac¡o(0,máx_cdr3+1,1000)
y = np.ceros(len(t))
para (s,rv) en gausianos:
y = s*rv.pdf(t)
regresar a (t,y)
def tipodeespectro_curvas(enmanejo):
# NOTA: requiere
cadenas con V y J alns
# estructura de datos init
cdr3s = { }
para v_seg en
vdj.refseq,IGHV.seqs.llaves():
para j_seg en vdj.refseq,IGHJ.seqs.llaves(): cdr3s[vdj.vk_id(v_seg,j_seg) ] = [ ]
# datos de carga
para cadena en
análisis_VDJXML(enmanejo):
si cadena.v == “ o cadena.j == ' ‘ o cadena.unión ==
continuar
cdr3s[vdj.vj_id(cadena.v,cadena.j)] append(cadena.cdr3)
espectros = { }
para v_seg en vdj.refseq.IGHV.seqs.llavesj):
para j_seg en
vdj.refseq.lGHJ.seqs.llaves():
si Ien(cdr3s[vdj.vj_id(v_seg,j_seg)] )== 0
# combo VJ vacío:
espectros[vdj.vj_id(v_seg,j_seg)] = (np.arreglo([0,150],np.arreglo([0,0]))
de otro modo:
espectros[vdj.vj_id(v_seg,j_seg)] = cdr3s2tipodeespectro(cdr3s[vdj.vj_id(v_seg,j_seg) ] ): regresar a espectros
# =====================
# = Estimación de diversidad
#
def est¡mador_chao1 (recuentos):
“ “ “ Sesgo corregido. Ver
Estimaciones doc(Colwell)......
s = len(recuentos)
F1 =
np.flotar_(np.sum(np.int_(recuentos)==1) )
F2 = np.flotar_(np.sum(np.int_(recuentos)==2))
chaol = Sobs F1*(F1-1)/(2*F2+1))
regresar a chaol
def
estimador_chao1_varianza(recuentos):
F1 = np.flotar_(np.sum(np.int_(recuentos)==1))
F2 =
np.flotar_(np.sum(np.int_(recuentos)==2))
si F1 > 0 y F2 > 0:
chao1_var =
(F l* (F l- l) / (2 * (F 2 l) ) ) (F1*(2*F1-1)*(2*F1-1)/(4*(F2+1)*(F2+1))) (F1*F1*F2*(F1-1)*Cf 1-1)/(4*(F2+1)*(F2+1)*(F2+1)*(F2+1)))
elif F1 > 0 y F2 == 0:
Schaol = estimador_chao1 (recuentos)
chao1_var= (F1*(F1-1)/2)+
(F1*(2*F1-1)*(2*f1-1)/4) - (F1*F1*F1*F1/(4*Scaho1))
elif F1 == 0:
N =
np.flotar_(np.sum(recuentos))
Sobs = np.flotar_(len(recuentos))
chao1_var =
Sobs*np-exp(-1*N* Sobs) * (1-np.exp(-1*N* S obs))
regresar a chao1_vat
def
estimador_ace(recuentos,raro_cortar=10 ):
Sobs = np.flotar_(len(recuentos))
Sraro =
np.flotar_(np.sum(np.int_(recuentos)<=raro_cortar))
Sabund = Sobs - Sraro
F1 =
np.flotar_(np.sum(np.int_(recuentos)==1) )
F =lambda i :
np.flotar_(np.sum(np.¡nt_(recuentos)==¡))
Nraro = np.flotar_(np.sum([ ¡*F(¡) para ¡ en rango(1,raro_cortar+1)]) )
#Nraro = np.flotar_(np.sum(recuentos[np.int_(recuentos)<=raro_cortar]) ) si Nraro == F1: # de acuerdo
con Estimaciones
regresar a est¡mador_chao1 (recuentos)
Cace = 1 - (F1/Nraro)
gama_alcuadrado = Sraro*np.sum( [ ¡*(¡-1)*F(¡) para i en
rango(1 ,raro_cortar+1) ] ) / (Cace*Nraro*(Nraro-1) )
si gama_alcuadrado < 0:
gam aalcuadrado = 0
Sace = Sabund (Sraro/Cace) (F1/Cace)*gama_alcuadrado regresar a
Sace
def acumulación_curva(muestra,muestreo_n¡veles):
pasar
# = Utilidades estáticas
recuentos2muestra(recuentos):
..... Calcula una muestra consistente de un vector de recuentos Toma un vector de recuentos y devuelve un vector de Indices x tal que len(x) = sum(c)
y cada elt de x es el índice de
un elt correspondiente en c
x =
np.unos(np.sum(recuentos),dtipo=np.int_)
in ic io jd x = 0
f¡n_idx = 0
para i en
rangox(lent(recuentos)):
¡niciojdx = fínjdx
finjdx = finjdx recuentos[¡]
x[¡nic¡o_¡dx:f¡nJdx] = x[in¡c¡o_¡dx:f¡nJdx] * ¡
regresar a x
def
muestra2recuentos(muestra):
.... Vector de recuento de regreso de las lista de muestras
El
etc ordenamiento es Ignorado; solo la unicidad
de los objetos es considerada.
núm_categorlas = len(establecer(muestra))
recuento_dict = { }
para elt en muestra:
tratar:
recuento_dict[elt] = 1
excpeto ErrordeLlave: recuento_dlct[elt] = 1
regresar
recuento_díct.valores()
# def muestra2recuentos(muestra, categorias=0):
# “ “ “ Vector de recuento
de regreso de las lista de muestras.
#
# Tomar el vector de muestras y regresar al vector de
recuentos. Los etls
# se refieren a índices en algo que en última Instancia se asignaría a la
# ' '
categoría de origen (como de un multlnomlal). Por lo tanto, si
# hay,
por ejemplo, 8 categorías, los valores válidos en la muestra deben ser 0-7.
# Si no se dan
categorías, entonces lo calculo a partir del valor más alto
# presente en la muestra (+1).
# “ “ “
#
recuentos = np.contenerrecuento(muestra)
# sl(categorías > 0) y (categorías > len(recuentos)) :
#
recuentos = np.append( recuentos, np.ceros(categorías-len(recuentos)) ) # regresar
recuentos
def puntajeenpercentil(valores,rango):
regresar
sp.estadísticas.puntajeenpercentil(valores,rango)
def percentildelpuntaje(valores,rango):
valores. clasificarQ
regresar a valores.búsquedaclasificada(puntaje) / np.flotar_(len(valores))
arranque(x, nbota, theta, *args):
' ‘ ‘regresar a repllcaclones de arranque n de teta desde
x’ ’ ’
N = len(x)
th_estrella = np.ceros(nbota)
para I en rangox(nbota):
th_estrella [i] = theta ( x[ np.aleatorio.randint(0,N,N) ], *args ) # repl de arranque desde x
regresar a th_estrella
def submuestra(x, núm_muestras, muestra_tamaño, theta, ’args)
“ “ “ regresar
evaluaciones de núm_muestras de theta estadística
en submuestras de muestra tamaño de tamaño” ” ”
N = len(x)
th_estrella = np.ceros(núm_muestras)
para i en rangox(núm_muestras):
th_estrella [i] = theta ( x[ np.aleatorio.randint(0,N,muestra_tamaño) ], *args ) # submuestra desde
desde x
regresar a th_estrella
def rand¡nt_sin_reemplazo(bajo,alto=Nlnguno,tamaño=N¡nguno)
si alto == Ninguno :
alto = bajo
bajo = 0
si tamaño == Ninguno:
tamaño = 1
urn = rango(bajo,alto)
N = len(urn)
dar vuelta = Falso
si tamaño > N/2:
dar vuelta =
Verdadero
tamaño = N - tamaño
muestra = [ ]
para i en rangox(tamaño):
dibujar =
np.aleatorio.rad¡nt(0,N-l)
muestra.append(urn.pop(dibujar))
si no se voltea:
regresar a np.asarreglo(muestra)
de otro modo:
regresar np.asarreglo(urn)
def
submuestra_sin_reemplazo(x, núm_muestras, muestra_tamaño, theta, *args)
“ “ “ regresar
evaluaciones de núm_muestras de theta estadística
en submuestras de muestra tamaño de tamaño" ” ”
N = len(x)
th_estrella = np.ceros(núm_muestras)
para I en rangox(núm_muestras):
th_estrella [i] = theta ( x[ radint_s¡n_reemplazo(0,N,muestra_tamaño) ], ’ args ) #
submuestra desde desde x
regresar a th_estrella
# =================
# = Visuallzación =
#
clase ConstAnchoRectángulo(mpl.parches.Parche)
d e f__init__(auto,
x, y1,y2, w, **kwargs):
auto.x = x
auto.yl = y1
auto.y2 = y2
auto.w = w
mpl.parches.Parche.__¡nit__(auto,**kwargs)
def
obtener_cam¡no(auto):
regresar a mpl.camino.Camino.un¡dad_rectángulo()
def
obtener_transformar(auto):
caja = np.arreglo( [ [ auto.x,auto.y1],
[ auto.x,auto.y2] ] )
caja = auto.ejes.Datosdetrans.transformar(caja)
w =
auto.w * auto.ejes.cajab.ancho / 2.0
caja[0,0] -= w
caja[1,0] = w
regresar a mpl.transforma.TransformarCajaBA(mpl.transforma.CajaB(caja)) clase
ConstAnchoLlnea(mpl.llneas.Llnea2D):
de f__¡nit__(auto, x, y, w, **kwargs):
auto.x
auto.y = y
auto.y = y
mpl.lineas.Línea2D.__¡nit__(auto, [0,1], [0,0], **kwargs) # ¡nit a la linea de unidad
obtener_transformar(auto):
# definir transformar que toma la línea del horiz de la unidad seg
# y
colóquela en la posición correcta utilizando las coords de
# vlsuallzaclón
caja =
np.arreglo( [ [ auto.x,auto.y],
[ auto.x,auto.y+1] ] )
caja =
auto. ejes. Datosdetrans.transformar(caja)
w = auto.w * auto.ejes.cajab.ancho / 2.0
caja[0,0] -= w
caja[1,0] = w
#xd¡sp,yd¡sp =
auto. ejes. Datosdetrans.transformar_punto([auto.x, auto, y])
#xd¡sp -= w
#xizquierda =
xdisp - w
#xderecha = xdisp w
regresar mpl.transforma.TransformarCajaBA(mpl.transforma.CajaB(caja))
# regresar
mpl.transforma.Afln2D().escala(w,1).traducir(xdisp,ydisp)
def
dibujar(auto,renderizador):
# el ÚNICO propósito de redefinir esta función es forzar al
objeto
# de Linea2D a ejecutar recaché(). De lo contrario, ciertos cambios en la escala # no invalidan el objeto de Línea2D, y la transarreglo no se
# volverá a calcular
(y, por lo tanto, las coords de los Ejes que se calcularon antes serán obsoletos) auto.recaché()
regresar a mpl.líneas.Línea2D.dlbujar(auto,render¡zador)
clase
ConstAlturaRectángulo(mpl.parches.Parche):
de f__init__(auto, x1, x2, y, h,
**kwargs):
auto.xl = x1
auto.x2 = x2
auto.y = y
auto.h =
mpl.parches.Parche.__¡nit__(auto, **kwargs)
def obtener_camlno(auto):
regresar a mpl.camlno.Camlno.un¡dad_rectángulo()
def obtener_transformar(auto):
caja =
np.arreglo( [ [auto.x,auto.y],
[auto.x2,auto.y] ] )
caja =
auto. ejes. Datosdetrans.transformar( caja)
h = auto.h * auto.ejes.cajab.altura /
2.0
caja[0,1 ] -= h
caja[1,1] = h
regresar mpl.transforma.TransformarCajaBA(mpl.transforma.CajaB(caja))
clase
ConstAlturaLínea(mpl. lineas. Línea2D):
def__init__(auto.x,y,h,**kwargs):
auto.x = x
auto.y = y
auto.h = h
mpl.líneas.Línea2D.__Init__(auto, [0,0], [0,1], **kwargs) # ¡nit a la línea de unidad #
auto.x = x
# auto.y = y
# auto.w = w
#
mpl.líneas.Línea2D.__¡nit__(auto, [0,1], [0,0], **kwargs) # ¡nit a la línea de unidad
obtener transformar(auto):
# definir transformar que toma la línea del horlz de la unidad seg
# y
colóquela en la posición correcta utilizando las coords de
# visuallzaclón
caja =
np.arreglo( [ [ auto.x.auto.y],
[ auto.x+1,auto.y] ] )
caja =
auto.ejes. Datosdetrans.transformar( caja)
h = auto.h * auto.ejes.cajab.altura /
2.0
caja[0,0] -= h
caja[1,1] = h
#xdisp,yd¡sp = auto.ejes.Datosdetrans.transformar_punto([auto.x,auto.y])
#xdisp -= w
#x¡zquierda =
xdisp - w
#xderecha = xdisp w
regresar mpl.transforma.TransformarCajaBA(mpl.transforma.CajaB(caja))
# regresar
mpl.transforma.Afín2D().escala(w,1).traducir(xdisp,ydisp)
def
dibujar(auto,renderizador):
# el ÚNICO propósito de redeflnir esta función es forzar al
objeto
# de Línea2D a ejecutar recaché(). De lo contrario, ciertos cambios en la escala # no Invalidan el objeto de Línea2D, y la transarreglo no se
# volverá a calcular
(y, por lo tanto, las coords de los Ejes que se calcularon antes serán obsoletos) auto.recaché()
regresar a mpl.lineas.Línea2D.dibujar(auto,renderlzador)
def cajagráfica(ax, x, posiclones=N¡nguna,
anchos=Ninguna, vert=1):
# adaptado desde Matplotlib
# convertir x a la lista de
vectores
si tleneattr(x, forma'):
si len(x.forma) == 1:
si
t¡eneattr(x[0], ‘forma’)
x = lista(x)
de otro modo:
x =
[x,]
elif len(x.forma) == 2:
nr, nc = x.forma
si nr == 1:
x = [x]
elif nc == 1:
x = [x.desvariar () ]
de otro modo:
x = [x[:,¡] para i en rangox(nc)]
de otro modo:
levantar
ErrorValor, “x de entrada no puede tener más de tan 2 dimensiones”
si no tieneattr(x[0],
‘__len__’):
x = [x]
col = len(x)
# obtener alguna info de gráfica
si posiciones
es Ninguna:
posiciones = rango(1, col+1)
si anchos es Ninguno:
anchos =
min(0.3/len(posiciones),0.05)
si esinstancia(anchos,flotar) p esinstancia(anchos, in t) :
anchos = np.unos( ( col,), flotar) * anchos
# dar vuelta a columnas, sumando
a gráfica
para i, pos en enumerar(posiciones):
d = np.complicaclón(x[i])
fila =
len(d)
si fila==0:
# sin datos, omitir esta posición
continuar
# obtener info de distrib
q1, med, q3 = mpl.mlab.prctile(d,[25,50,75])
dmáx =
np.máx(d)
dmín = np.mín(d)
línea_color = #074687'
cara_color = ‘#96B7EC’
si vert == 1:
medlínea = ConstAnchoLlnea(pos,med,anchos[i],color=linea_color,zorden=3)
caja = ConstAnchoRectángulo(pos,q1,q3,anchos[i],colordecara=cara_color,colordelborde=línea_color,zo rden=2)
vertlínea=
mpl.líneas.Linea2D([pos,pos], [dmln.dmáx], color=línea_color,zorden=1)
de otro modo:
medlínea = ConstAlturaLínea(med,pos,anchos[i],color=línea_color,zorden=3) caja = ConstAlturaRectángulo(q1,q3,pos,anchos[¡],colordecara=cara_color,colordelborde=línea_color,z orden=2)
vertlínea=
mpl.líneas.Línea2D([dmín,dmáx], [pos,pos], color=línea_color,zorden=1)
ax.adic¡onar_línea(vertlínea)
ax.adic¡onar_parche(caja)
ax.ad¡cionar_línea(medlínea)
Figure imgf000206_0001
def
rep2tipodeespectro(rep):
“ “ “ Calcular curvas de tipodeespectro para el objeto de Repertorio.
cdr3s = np.fomación([c.cdr3 para c en rep si c-unlón != ‘ '])
mín_crudo_cdr3 =
np.mín(cdr3s)
máx_crudo_cdr3 = np.máx(cdr3s)
m(n_cdr3 = np.int(np.hacertecho( mín_crudo_cdr3 /
3.) *3) # será un múlt de 3 diferente a cero
máx_cdr3 = np.int(np.piso(máx_crudo_cdr3 / 3.) *
3) # será un múlt de 3
# contener las longitudes de CDR3. El primer elt es rep cero len
(y debe ser cero)
# y el último bln siempre representa uno mayor que el
múlt más grande de 3
cdr3scontenldos= np.hlstograma(cdr3s,contenedores=np.unrango(0,máx_cdr3+2)) [0] # el 2+ se debe a la pecul. de np.hlst.
gausianos = [ ]
para cdr3len en
np.unrango(mín_cdr3,máx_crudo_cdr3,3):
totalcdr3s =
np.sum(cdr3scontenidos[cdr3len-1 :cdr3len+2])
buencdr3s = cdr3sconten¡dos[cdr3len]
si totalcdr3s == 0 :
continuar
mu = cdr3len
x = cdr3len-0.5
cola = (1-(np.flotar(buencdr3s)/totalcdr3s)) / 2.
sigma = (x-mu) /
(np.sqrt(2.)*sp.especial.erfinv(2*cola-1))
rv = sp.estadísitcas.norm(loc=muk,escala=sigma)
gausianos.append( (totalcdr3s,rv) )
t = np.linespacio(0,máx_cdr3+1,1000)
y =
np.ceros(len(t))
para (s,rv) en gausianos:
y = s*rv.pdf(t)
regresar
(t.y)
def
dispersión_repertorios_ontología(reps,info=’VJCDR2’,datosbuenos=Falso,medición=’proporci ones’):
“ “ “Crear una cuadrícula de gráficas de dispersión que muestre correlaciones entre todos los pares de repertorios.
reps -- lista de objetos de Repertorios
númreps = len(reps)
listadedatos = [ ]
para rep en reps:
listadedatos.append(
vdj.recuentos_ontología_1 D(rep,info,datosbuenos) )
si medición == proporciones’:
para i en rangox(len(listadedatos)) :
listadedatosji] = np.flotar_(listadedatos[i]) /
np.sum(listadedatos[¡])
mln_nocero = np.mín([np.mín(datos[datos>0] para datos en
listadedatos])
máx_nocero = np.máx([np.máx(datos[datos>0] para datos en listadedatos])
ejelo
= 10**np.piso( np.frexp(mín nocero) [1] * np.log10(2) )
ejehi = 10**np.hacertecho (
np.frexp(máx_nocero) [1] * np.log10(2) )
fig = plt.figura ()
hist_axs = [ ]
para fila en rangox(númreps):
col = fila
gráficanúm = númreps*fila col 1
ax = fig.ad¡clonar_subgráflca(númreps,númreps,gráficanúm)
ax.hlst(listadedatos[flla], contenedores=100,log=Verdadero,colordecara=’k’) hlst_axs.append(ax)
dispersión_axs = [ ]
para fila en rangox(númreps-l):
para col en
rangox(flla+1.númreps)
gráficanúm = númreps'fila col 1
ax =
fig. adlclonar_subgráflca(númreps, númreps, gráficanúm) ax.dlspers¡ón(llstadedatos[fila],l¡stadedatos[col],c=’k',marcador='o’,s=2,coloresdelborde=N¡guno) ax.establecer_escalax('log’)
ax.establecer_escalay('log’)
ax.eje([ejelo,ejehi,ejelo,ejehi])
dispersión_axs.append(ax)
regresar
fig
def dispersión_repertor¡os_clústeres(reps,refclústeres,medición-proporciones’):
“ “ “Crear una cuadrícula de gráficas de dispersión que muestre correlaciones entre todos los pares de repertorios.
reps -- lista de objetos de Repertorios
númreps = len(reps)
listadedatos = [ ]
para rep en reps:
clústeres = vdj.obtenerClústeres(rep)
listadedatos.append( vdj.recuentosClústeres(clústeres,refclústeres) )
si medición ==
‘proporciones’:
para i en rangox(len(listadedatos)) :
listadedatosji] =
np.flotar_(listadedatos[¡]) / np.sum(listadedatos[i])
mín_n ocero =
np.mín([np.min(datos[datos>0] para datos en listadedatos]) máx_nocero =
np.máx([np.máx(datos[datos>0] para datos en listadedatos])
ejelo = 10**np.piso(
np.frexp(m(n_nocero) [1] * np.log10(2) )
ejehi = 10**np.hacertecho ( np.frexp(máx_nocero) [1]
* np.logl0(2) )
fig = plt.figura ()
hlst_axs = [ ]
para fila en
rangox(númreps):
col = fila
gráficanúm = númreps*fila col 1
ax =
fig.adicionar_subgráfica(númreps, númreps,gráficanúm)
ax.hist(llstadedatos[flla], contenedores=100,log=Verdadero,colordecara=’k’) hist_axs.append(ax)
dispersión axs = [ ]
para fila en rangox(númreps-l):
para col en
rangox(fila+1.númreps)
gráficanúm = númreps*fila col 1
ax =
fig.adicionar_subgráfica(númreps, númreps,gráficanúm) ax.disperslón(l¡stadedatos[f¡la],l¡stadedatos[col],c-k’,marcador='o',s=0.5,coloresdelborde=Niguno)
ax.establecer_escalax(‘log’)
ax.establecer_escalay(‘log’)
ax.eje([ejelo,ejehi,ejelo,ejeh¡])
d¡spersión_axs.append(ax)
regresar
f¡g
def reps2ser¡esdet¡empo(reps,refclústeres):
“ “ “Regresar a matriz de series de tiempo de lista u
objs de Repertorio en orden cron.
reps es lista de objetos de Repetorio
refclústeres
es la lista maestra de clústeres de referencia
númreps = len(reps)
númclústeres =
len(refcl ásteres)
datosderecuento = np.ceros( (númclústeres,númreps))
para (i.rep) en
enumerar(reps):
clústeres = vdj.objetenerClústeres(rep)
datosderecuento[:, i] =
vdj.recuentosClústeres(clústeres,refclústeres)
regresar a datosderecuento
def seriesdetiempo_repertorios(tiempos,reps,refclústeres,idxsbool=Ninguno,todopositivo=Falso): “ “ “ Crear unas series de tiempo de clústeres diferente en refclústeres.
Si todopositivo es
Verdad, entonces se limitará el mismo a dibujar seriesdetiempo
solo para aquellos clústeres que son
no cero en todos los puntosdetiempo.
ax = plt.gca()
númreps = len(reps)
númclústeres = len(refclústeres)
datosderecuento = np.ceros( (númclústeres.númreps))
para
(¡,rep) en enumerar(reps):
clústeres = vdj.objetenerClústeres(rep)
datosderecuento[: , i] =
vdj.recuentosClústeres(clústeres,refclústeres)
sumas = datosderecuento.suma(O)
proporciones =
np.flotar_(datosderecuento) / sumas
si idxsbool == Ninguno:
si todospositivo == Verdadero:
idxsbool = np.suma(proporciones,eje=1) > 0
de otro modo:
idxsbool =
np.arreglo([Verdadero]*proporc¡ones.forma[0])
ax.gráfica(tiempos,datosderecuento[idxsbool, :].transponer(),’k-‘,anchodelínea=0.2)
plt.dibujar_si_interativo()
regresar a ax
def rep2tipodeespectro(rep):
.....Calcular
curvas de tipodeespectro para el objeto de Repertorio......
cdr3s = np.fomación([c.cdr3 para c en rep
si c-unión != '])
min_crudo_cdr3 = np.mín(cdr3s)
máx_crudo_cdr3 = np.máx(cdr3s)
mín_cdr3 = np.int(np.hacertecho( mín_crudo_cdr3 / 3.) *3) # será un múlt de 3 diferente a cero máx_cdr3 = np.int(np.piso(máx_crudo_cdr3 / 3.) * 3) # será un múlt de 3
# contener las
longitudes de CDR3. El primer elt es rep cero len (y debe ser cero)
# y el último bin
siempre representa uno mayor que el múlt más grande de 3
cdr3scontenidos=
np.histograma(cdr3s,contenedores=np.unrango(0,máx_cdr3+2)) [0] # el 2+ se debe a la pecul
np.hist
gausianos = [ ]
para cdr3len en np.unrango(m!n_cdr3,máx_crudo_cdr3,3)
totalcdr3s = np.sum(cdr3sconten¡dos[cdr3len-1:cdr3len+2])
buencdr3s =
cdr3sconten¡dos[cdr3len]
si totalcdr3s == 0 :
continuar
mu = cdr3len
x = cdr3len-0.5
cola = (1 -(np.flotar(buencdr3s)/totalcdr3s)) / 2.
sigma = (x-mu) / (np.sqrt(2.)*sp.especial.erfinv(2*cola-1))
rv =
sp.estadísticas.norm(loc=mu,escala=sigma)
gausianos.append( (totalcdr3s,rv) )
t =
np.linespacio(0,máx_cdr3+1,1000)
y = np.ceros(len(t))
para (s,rv) en gausianos:
y = s*rv.pdf(t)
regresar a (t,y)
def
mapac¡rcularVJ( ax,recuentos,etiquetasdefil=N¡nguno,escala=’l¡near) númV =
recuentos.forma[0]
númJ = recuentos.forma[1]
X, Y = np.rejillademalla(rango(númJ),rango(númV))
# enmascarar las posiciones cero
X,Y = ma.arreglo(X), ma.arreglo(Y)
C = ma.arreglo(recuentos)
máscaracero = (recuentos == 0)
X. máscara = máscaracero
Y. máscara = máscaracero
C.máscara =
máscaracero
# etls nocero complicación (eliminar posiciones cero)
x = ma.comprimido(X)
y = ma.comprlmldo(Y)
c = ma.comprimido(C)
# log de recuentos normalizados si es solicitado
si escala = log':
c = ma.log10(c)
si escala == 'lineal' o escala ==
‘log’:
# recuentos normalizados para rango de tamaño deseado
máx_recuentos = ma.máx(c)
mín_recuentos = ma.mín(c)
recuentos_rango = máx_recuentos - min_recuentos
máx_tamaño = 100
mín_tamaño = 5
tamaño_rango = máx_tamaño - mín_tamaño
tamaños = (np.flotar(tamaño_rango) / recuentos_rango) * (c - mín_recuentos) mín_tamaño
escala == ‘personalizar’ :
trans_recuentos = 1000
lineal_poslclones = c >= trans_recuentos
log_posiciones = c < trans_recuentos
mín_tamaño = 3
trans_tamaño =
40 # 30
máx_tamaño = 200 # 150
log_tamaño_rango = trans_tamaño - min_tamaño
lineal_tamaño_rango = máx_tamaño - trans_tamaño
lineal máx recuentos =
ma.máx(c[llneal_posiclones])
lineal_mín_recuentos = ma.min(c[lineal_poslclones])
lineal_recuentos_rango = llneal_máx_recuentos - llneal_mín_recuentos
log_máx_recuentos =
ma.máx(c[log_posiciones])
log_mín_recuentos = ma.mín(c[log_poslclones])
log_recuentos_rango = np.log10(log_máx_recuentos) - np.log10(log_mín_recuentos)
tamaños = np.ceros(len(c))
tamaños[l¡neal_pos¡c¡ones] = (np.flotar(lineal_tamaño_rango) /
lineal_recuentos_rango) * (c[lineal_posiciones] - lineal_mín_recuentos) trans_tamaño tamaños[log_posiciones] = (np.flotar(log_tamaño_rango) / log_recuentos_rango) * (ma.log10[log_posiciones] - ma.log10(log_mín_recuentos)) mín_tamaño
colección =
mpl.colecciones.C(rciloColecc¡ón(
tamaños,
compensaciones = zip(x,y),
transCompensar = ax.transDatos, # es posible que necesite establecer explícitamente la inarreglo xlim y ylim para que
funcione correctamente
coloresdecara = ‘#1873C1’,
anchosdelínea = 0.25,
acortar_en = Falso)
ax.adicionar_colección(colección)
ax.establecer_aspecto(‘igual’)
ax.autoescala_ver()
ax.ejex.establecer_mayor_localizador(mpl.ticker.LocalizadorFijo(rango(recuentos.forma[1]))) ax.ejey.establecer_mayor_localizador(mpl.ticker.LocaiizadorFijo(rango(recuentos.forma[0])))
si
etiquetasdefila! = Ninguna: ax.ejex.establecer_mayor_formateador(mpl.ticker.FormateadoeFijo(etiquetasdecol))
si etiquetasdecol !=
Ninguno:
ax.ejey.establecer_mayor_formateador(mpl.ticker.FormateadoeFijo(etiquetasdefila))
para etiquetatick en ax.ejex.obtener_etiquetastick(): etiquetatick.establecet_alineamientohor¡zontal(‘izquierda’)
etiquetat¡ck.establecer_rotación(-45)
et¡quetat¡ck.establecer_tamaño(8)
para etiquetatick en ax.ejey.obtener_et¡quetast¡ck():
et¡quetat¡ck.establecer_tamaño(8)
si escala == 'lineal' o escalsa == ‘log’:
regresar
(mín_recuentos,máx_recuentos), (m¡n_tamaño,máx_tamaño)
de otro modo:
regresar
(llneal_mín_recuentos,trans_recuentos,log_máx_recuentos), (mln_tamaño,trans_tamaño,máx_tamaño) # definir
mapadecolor para -1 a 1 (verde-negro-rojo) como expresión de gen
rojoverdedict = { Tojo’ : [(0.0,
(0.5, 0.0, 0.0),
(1.0,
1.0, 0.0)],
‘verde’: [(0.0, 0.0, 1.0),
(0.5, 0.0, 0.0),
(1.0, 0.0, 0.0)]
‘azul’: [(0.0, 0.0, 0.0),
(0.5, 0.0, 0.0),
(1.0, 0.0 0.0)]}
rojoverde =
mpl.colores.mapadeColorSegmentadoLlneal(‘rojoverde’, rojoverdedlct,256) rojoverde.establecer_malo(color=’w’)
Importar número como np
Importar sclpy como sp
importar scipy.clúster
Importar vdj
Importar núcleodeagrupaclón
def pdlst(X,métrico):
m = len(X)
dm = np.cero((m *
* (m -1) / 2,), dtlpo=np.doble)
k = 0
para i en rangox(0, m -1):
para j en
rangox(¡+1, m)
dm[k] = métrico(X[¡], X[j])
k = 1
regresar a dm
def clústeres_seqs(seqs,cortar=4.5,enlace=’único):
# revisar casos triviales
si
len(seqs) == 0
regresar (np.arreglo[ ]), { })
# levantar Excepción, “ cadenas no tienen
nada"
# colapsar seqs idénticas entre si
único_seqs =
lista(establecer(seqs))
seq jdxs = dict ( [(j,¡) para (¡,j) en enumerar(único_seqs)])
# revisar caso trivial
si len(único_seqs) == 1:
T = np.arreglo([1]*len(seqs))
regresar (T,seqjdxs)
# calcular la matriz de distancia
Y = pdist ( único_seqs,
núcleodeagrupación.levenshtein )
# calcular el enlace
Z =
sp.clúster.jerarquia.enlace(Y,método=enlace)
# determinar los clústeres al nivel de
corte
T = sp.clúster.jerarquía.fclúster(Z, cortar, criterio-distancia’)
regresar
(T,seqjdxs)
importar tipos
importar vdj
# def análisis_VDJXML(archivodeentrada):
# ..... Generador para
regresar a objetos de la Cadenalnmune de un archivo vdjxml.
#
# Utiliza bibliotecas XML python.
#
# #NOTA: esto probablemente se puede hacer más elegante si se implementa # # como una
clase de
# # variables de estado global
# cadena = Ninguno
# daros_regulador = Ninguno
# " '
# def ¡nlclo_manejador(nombre,atributos):
# si nombre = ‘Cadenalnmune’:
#
cadena = Cadenalnmune()
# de otro modo:
# datos_regulador = ‘ '
# '
# def
fln_manejador(nombre):
# si nombre == ‘Cadenalnmune’ :
# cadena de rendimiento
#
nombre de elif == ‘etiqueta’:
# cadena.adlcionar_etlquetas(datos_regulador)
# de otro modo:
#
cadena.__establecerattr__(nombre,datos_regulador)
# '
# def datos_manejador(datos).
#
datos_amortiguador = datos
#
# anallzadordexml = xml.anallzadores.expat.CrearunAnalizador() #
analizadordexml.ManejadordeElementodelnicio = iniciojnanejador
# anallzadordexml.ManejadordeDatosdeCarácter = datos_manejador #
# si no
tleneatr(archivodenetrada,’leer’):
# archivodelntrada = abrir(archlvodeentrada, ‘r’)
#
#
Analizadordexml.ArchivodeAnálisis(archivodeentrada)
#
# = INICIO DE DESAPROBADO
#
def
análisis_VDJXML_ant¡guo(archivodeentrada):
.....Cargar unos datos del archivo VDJXML como un Repertorio o lista de Cadenaslnmunes
NOTA: este fn NO utiliza las bibliotecas XML; este implementa un analizador de manual
que toma la linea de entrada por linea.
ESTO ASUME QUE CADA ELEMENTO XML TOMA UNA Y SOLO UNA LINEA
si
esinstanc¡a(archivodeentrada,tipos.TiposdeCuerda)
ip = abrir(archivodeentrada,’r’)
ellf
esinstancia(archivodeentrada,archivo):
ip = archivodeentrada
númCadenas = 0
posible_elementos =[
‘descr’,
seq’,
V,
‘d’
‘j ’.
ighc’,
cdr3',
‘unión’,
fuñe’,
etiqueta’
]
para linea en ¡p:
linea = linea.cuerda()
elementosfinalespos = línea. encontrar(‘>’) 1
elementoxml = llnea[0:elementosf¡nalespos]
elemento = elementoxml[1:-1]
si elementoxml == ‘<Cadenalnmune>’:
cadena = vdj.Cadenalnmune()
elif
elementoxml == ‘<Cadenalnmune>’:
númCadenas = 1
cadena de rendimiento
elemento ellf en poslble_elementos:
si elemento == ‘etiqueta’:
datosdeetlqueta
= línea[elementosfinalespos:-1 *( elementosfinalespos+1 )].división(T)
si datosdeetlqueta[0] ==
experimento’:
cadena.__establecerattr__(‘experimento’, T.unión(datosdeetiqueta[1:]))
elif datosdeetiequeta[0] == ‘clon’:
cadena.__establecerattr__(‘clon’, T.unión(datosdeetiqueta[1:]))
elif datosdeetiequeta[0] ==
‘códigos de barras’:
cadena.__establecerattr__(‘códigos de barras, T.unión(datosdeetiqueta[1:]))
elif datosdeet¡equeta[0] == ‘v_fin_idx’
cadena.__establecerattr__(‘v_fln_ldx’, T.unión(datosdeetlqueta[1:]))
elif datosdeetiequeta[0] ==
‘jjn lc io jd x ’:
cadena.__establecerattr__(‘jjn lc io jd x ’, T.unlón(datosdeetlqueta[1:]))
de otro modo:
cadena.ad¡cionar_etlquetas(línea[elementosfinalespos:-1*( elementosfinalespos+1)])
elemento elif ==
ighc’:
datoselt = línea[elementosfinalespos:-1*( elementosfinalespos+1)] si datoselt != '':
cadena.c = datoselt
de otro modo:
pasar
elementos ellf == ‘fuñe’:
pasar
de otro modo:
datoselt = línea[elementosfinalespos:-1*( elementosfinalespos+1)]
si datoselt !=
cadena.__establecerattr__(elemento,datoselt)
de otro modo:
pasar
si es¡nstancia(archivodeentrada,t¡pos.T¡posdeCuerda)
ip = cerrar()
#
# = FIN DE DESAPROBADO
#
# def
flltrar_análls¡s_VDJXML(arch¡vodeentrada,predicado):
# “ “ “ Cargar unos datos del archivo VDJXML como un
Repertorio o lista de Cadenaslnmunes
#
# predicar es una función que toma una cadena
y la regresa Verdadera o Falsa. Cosas
# que regresan falso son omitidas.
#
# NOTA:
este fn NO utiliza las bibliotecas XML; este implementa un analizador de manual # que toma la
linea de entrada por línea.
#
# ESTO ASUME QUE CADA ELEMENTO XML TOMA UNA Y SOLO UNA
LINEA
#
# .....
#
# si esinstancla(archivodeentrada,tipos.TiposdeCuerda):
¡P
= abrir(archlvodeentrada,’r’)
# elif esinstancia(arch¡vodeentrada,archivo):
# ip = archivodeentrada
#
# númCadenas = 0
#
# posible_elementos =[
# ‘descr’,
#
‘seq1,
# V ,
# ‘d'
# T.
#
¡ghc',
# cdr3\
# ‘unión’,
#
‘fuñe’,
# ‘etiqueta’
# ]
# para línea en ip:
#
línea = línea.cuerda()
# elementosfinalespos = línea.encontrar(‘>’) 1
# elementoxml =
línea[0:elementosf¡nalespos]
# elemento = elementoxml[1 :-1]
#
# si
elementoxml == ‘<Cadenalnmune>’:
# cadena = Cadenalnmune()
# ellf elementoxml
== ‘<Cadenalnmune>’:
# númCadenas = 1
# si predlcado(cadena) ==
Verdadero:
# cadena de rendimiento
# de otro modo:
# pasar
#
elemento elif en posible_elementos:
# si elemento == ‘cdr3’:
#
cadena.cdr3 = eval(línea[elementosfinalespos:-1 *(elementosfinalespos+1)]
# elemento elif ==
‘etiqueta’:
# cadena.adlcionar_etiquetas(línea[elementosflnalespos:-1*( elementosfinalespos+1)]) # ' ' de otro modo:
#
cadena._establecerattr__(elemento,línea[elementosflnalespos:-1 *( elementosfínalespos+1)])
#
# sí
siesinstancia(archivodeentrada,tipos.TiposdeCuerda):
# ip = cerrar()
” ” ” params.py
Definir
nombres de directorio y archivo que deben ser modificados manualmente al punto a ciertos recursos
# PIRATEAR. Averlgual mejor manera para referióse a este directorio vdj_dir =
‘/Usuarios/laserson/buscar/iglesia/código/lib/vdj’
# dir de datos empaquetados
d a tosd ir = datos’
IGHV_fasta = ‘IGHV.fasta’
IGHDJasta = IGHD.fasta'
IGHJ_fasta = IGHJ.fasta’
IGKVJasta =
IGKV.fasta’
IGKJ _fasta = ‘IGKJ.fasta’
IGLV fasta = ‘IGLV.fasta’
IGLJ fasta = ‘IGLJ.fasta’
TRBV _fasta = TRBV.fasta'
TRBD_fasta = TRBD.fasta’
TRBJ_fasta = ’TRBJ.fasta’
TRAV_fasta =
‘TRAV.fasta’
TRAJ fasta = 'TRAJ .fasta’
TRDVfasta = TRDV.fasta'
TRDD_fasta = ‘TRDD.fasta’
TRDJ_fasta = ‘TRDJ.fasta’
TRGV_fasta = ‘TRGV.fasta’
TRGJ_fasta = TRGJ. fasta’
# El
siguiente directorio y archivos no se empaquetarán con vdj
# pero se calcularán la primera
vez refseq es Importado. Después
# de eso, no se volverá a calcular a menos que sea un directorio
#
de datos persistentes forzados
Pickle_dir = Pickle’
# Registros de LIGM relevantes en formato de Pickle
# a menos que sea forzado
IGHV_Pickle =
IGHV.Pickle’
IGHD_Pickle = IGHD.Pickle’
IGHJPickle = ‘IGHJ.Pickle’
IGKV_Plckle =
IGKV.Pickle’
IGKJ_Pickle = ’IGKJ.Pickle'
IGLV Pickle = ‘IGLV.PIckle’
IGLJ _Pickle =
IGLJ.Pickle’
TRBV _Pickle = TRBV.Pickle'
TRBD_P¡ckle = TRBD.Pickle’
TRBJ_Pickle =
TRBJ.Pickle’
TRAVPickle = ‘TRAV.Pickle’
TRAJ_P¡ckle = ‘TRAJ.Pickle’
TRDV_P¡ckle =
‘TRDV.Pickle’
TRDD_Pickle = TRDD.Pickle'
TRDJ_P¡ckle = TRDJ.Pickle’
TRGV_Pickle =
TRGV.Pickle'
TRGJ_Pickle = TRGJ.Pickle’
# # directorio de la base de datos de archivosplanos de IMGT completo # imgt_dir =
‘/Usuarios/laserson/buscar/iglesiaArdj-ome/ref-datos/IMGT
# l¡gm_nombredelarchivo = 1mgt.dat’
#
refdatosdir = ‘/Usuarios/laserson/buscar/iglesia/vdj-ome/ref-datos/IMGT’ # imgtdat =
‘¡mgt.dat’
# imgtfasta = ‘imgt.fasta’
# imgtvseq = ‘vdj_ref.fasta’
# imgtrefseqfasta =
‘imgtspec.vdjxmr
# imgtrefseqFR3fincoords = ‘imgtrefseqFR3fincoords.dat’
#
imgtrefseqJTRPiniciocoords = ‘imgtrefseqJTRPiniciocoords.dat’
# funciones para canal
operaciones
importar vdj
importar vdj.agrupación
importar seqherramientas
def
iterador2partes(iterador,nombrebase,tamañodelpaquete,prefijo=’ ‘.sufijo- '):
.....Datos de división de
iterador dentro archivos múltiples.....
partes = [ ]
núm_procesado = 0
archivo núm = 1
currjiombredesalida = nombrebase+’.+str(archivo_núm)
para obj en iterador:
si
núm_procesado == 0:
op = abrir(curr_nombredesalida,’w’)
imprimir » op , prefijo partes.append(curr_nombredesalida)
imprimir »op , cadena
núm_procesado =1
si núm_procesado == tamañodepaquete:
imprimir » o p , sufijo
op.cerrarO
númprocesaro =
archivo_núm =1
curr_nombredesalida
= nombrebase+’.+str(archivo_núm)
si no op.cerrado:
imprimir » o p , sufijo
op.cerrar()
regresar a partes
def carga_códigos de barrasjcódigos de barras_archivo)
bcip =
abrir(códigos de barras_archivo,’r’)
códigos de barras = { }
para (descr.seq) en
seqherramientas.Fastalnterador(bcip):
códigos de barras[seq.superior()j = descr
bcip.cerrar()
# verificar que los códigos de barras cumplan con los criterios necesarios códigos de barrasjen = lenjcódigos de barras.llaves()[0])
para be en códigos de barras.llaves ():
si len(bc) != códigos de barrasjen:
levantar Excepción
“ ERROR: Todas las longitudes de los códigos de barras deben ser iguales regresar a códigos de barras
def
¡d_cód¡gos de barras(cadena,códigos de barras):
# se supone que los códigos de barras son de una sola longitud códigos de barrasjen =
len(códigos de barras.llaves ()[0])
tratar:
curr_códigos de barras =
códigos de barras[cadena.seq[:códigos de barras len].superior()] excepto ErrordeLlave: # códigos de barras no encontrados; cadena sin cambio
regresar # cadena mantiene sin cambio
cadena.seq =
cadena.seq[códigos de barrasjen:] # reducir código de barras de seq cadena.códigos de barras = curr_códigos de barras
def
cargarJsotipos(isotipo_archivo):
ighcip = abrir(isotipo_archivo):
isotipos = { }
para
(descr.seq) en seqherramientas.Fastalterador(ighcip):
lsotipos[seq.superior()] = descr
ighcip.cerrar()
regresar a isotipos
def idJdotipo(cadena,isotipos):
si no
cadena.tiene_etiqueta(‘positivo’) y no cadena.tiene_etiqueta(‘codificac¡ón’):
advertencias.advertir(‘cadenas’ %s
pueden no ser la hebra corecta’ % cadena.descr)
para iso en isotipos.iterartículos():
si iso[0] en cadena.seq[-50:]: # corte arbitrario del final 3’
iso[1]
def gato_vdjxml(archivos,fuerademanejo):
imprimir »fuerademanejo, “<raíz>"
para f en
archivos:
enmanejo = abrir(f,’r’)
para cadena en vdj.análisis_VDXML(enmanejo):
imprimir »fuerademanejo,cadena
imprimir »fuerademanejo, “</ra[z>"
def
div¡sión_VJ(enmanejo,nombrebase):
# ignora los números de alelos
def
vj_id_no_alelo(cadena):
regresar seqherramientas.limpiar_id(cadena.v.división(‘*’)[0])
seqherramientas.limpiarJd(cadena.j.divis¡ón('*’)[0])
def nombredesalida(nombrebase,vj_ld):
regresar a “%s.%s.vdjxml” % (nombrebase,vj_id)
fuerademanejo = { }
para cadena en
vdj.análisis_VDJXML(enmanejo):
curr_vj_id = vj_id_no_alelo(cadena)
tratar:
imprimir »fuerademanejos[curr_vj_id], cadena
excepto ErrordeLlave:
fuerademanejos[curr_vj_id] = abrir( nombredesalida(nombrebase,curr_vj_id), ‘w’ ) imprimir
»fuerademanejos[curr_vj_id], “<raíz>”
imprimir »fuerademanejos[curr_vj_id], cadena
para fuerademanejo en fuerademanejos.itervalores():
imprimir »fuerademanejos, “</ra(z>”
regresar [nombredesalida(nombrebase,vj_id) para v j jd en fuerademanejo.iterllaves()] # ==============
# =
Matplotlib =
#==============
# algunas herramientas para automatizar las manipulaciones MPL que realizoimportan
os
importar sis
importar tipos
importar cPickle como Pickle
importar params
importar refsequtils
#
# = Inicializaciones por primera vez
#
# ¿existe el directorio de Pickle?
si no os.camino.existe(
os.camino.unir(params.vdj_dir,params.Pickle_dir) ):
od.mkdir (
os.camino.unir(params.vdj_dir,params.encertido_dir) )
# prueba para cada archivo de Pickle tipo gen
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHV_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaV,.os.camino. unir(params. vdj_dir, params.datos_dir,params.lGHV_fasta),os.camino.unir(params.vdj_dir,params.Pickle_dir, par ams.IGHV
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHD_Pickle)): refsequtils.proceso_IMGT_referencias( refsequtils.EntradadeReferencia,os.camino.unir(params.vdj_dir,params.datos_dir,params.lGHD_f asta),os
.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHD_Pickle), verboso=Verdadero) si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHJ_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaJ,os.camino.unir(params. vdj_dir, params.datos_dir,params.lGHJ_fasta),os.camino.unir(params.vdj_dir,params.Pickle_dir,par ams.IGHJ
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params,IGKV_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaV,os.camino.unir(params. vdj_dir,
params.datos_dir,params,IGKV_fasta),os.camino. unir(params.vdj_dir,params.Pickle_dir, par ams.lGKV
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGKJ_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaJ,os.camino.unir(params. vdj_dir,
params.datos_d¡r,params.lGKJ_fasta), os. camino. unir(params.vdj_d¡r,params.P¡ckle_d¡r, par ams.lGKJ
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGLV_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaV,os.camino.unir(params. vdj_dir, params.datos_dir.params,IGLV_fasta),os.camino.unir(params.vdj_dir,params.Pickle_dir,par ams.IGLV
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params,IGLJ_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaJ,os.camino.unir(params. vdj_dir,
params.datos_dir,params.lGLJ_fasta),os.camino. unir(params.vdj_dir,params.Pickle_dir,par ams.IGLJ
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBV_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaV,os.camino.unir(params. vdj_dir, params.datos_dir,params.TRBV_fasta),os.camino.unir(params.vdj_dir,params.Pickle_dir,par ams.TRBV
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBD_Pickle)): refsequtils.proceso_IMGT_referencias(
refsequtils.EntradadeReferencia,os.camino. unir(params.vdj_dir,params.datos_dir,params.TRBD_f asta),os
.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBD_Pickle), verboso=Verdadero) si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBJ_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaJ,os.camino.unir(params. vdj_dir,
params.datos_dir,params.TRBJ_fasta), os. camino. unir(params.vdj_dir,params.Pickle_dir, par ams.TRBJ
_Pickle), verboso=Verdadero)
si no
os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRAV_Pickle)): refsequt¡ls.proceso_IMGT_referencias(refsequt¡ls.EntradadeReferenc¡aV,os.camino.unir(params. vdj_dir,
params.datos_dir,params.TRAV_fasta), os. camino. unir(params.vdj_dir,params.Pickle_dir, par ams.TRAV
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRAJ_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaJ,os.camino.unir(params. vdj_dir,
params.datos_dir,params.TRAJ_fasta),os.camino. unir(params.vdj_dir,params.Pickle_dir,par ams.TRAJ
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDV_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaV,os.camino.unir(params. vdj_dir, params.datos_dir,params.TRDV_fasta),os.camino.unir(params.vdj_dir,params.Pickle_dir,par ams.TRDV
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDD_Pickle)): refsequtils.proceso_IMGT_referencias(
refsequtils.EntradadeReferencia,os.camino. unir(params.vdj_d¡r,params.datos_d¡r,params.TRDD_f asta),os
.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDD_Pickle), verboso=Verdadero) si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDJ_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaJ,os.camino.unir(params. vdj_dir,
params.datos_d¡r,params.TRDJ_fasta), os. camino. unir(params.vdj_dir,params.Pickle_dir, par ams.TRDJ
_Pickle), verboso=Verdadero)
si no os.camino.existe(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRGV_Pickle)): refsequtils.proceso_IMGT_referencias(refsequtils.EntradadeReferenciaV,os.camino.unir(params. vdj_dir, params.datos_dir,params.TRGV_fasta),os.camino.unir(params.vdj_dir,params.Pickle_dir,par ams.TRGV
_Pickle), verboso=Verdadero)
si no
os.camino.existe(os.camino.un¡r(params.vdj_d¡r,params.Pickle_dir,params.TRGJ_P¡ckle)): refsequtils.proceso_IMGT_referenc¡as(refsequt¡ls.EntradadeReferenc¡aJ, os. camino. un¡r(params. vdj_d¡r,
params.datos_d¡r,params.TRGJ_fasta),os.camino. un¡r(params.vdj_d¡r,params.P¡ckle_dir,par ams.TRGJ
_Pickle), verboso=Verdadero)
# en este punto, debe haber archivos de Pickle con procesado completamente
genes de referencia
# (incluyendo las partes dependientes de LIGM)
# ===============
# = Cargar
datos de referencia =
# ===============
IGHV = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHV_Pickle))) IGHD = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHD_Pickle)) ) IGHJ = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGHJ_Pickle))) IGKV = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGKV_Pickle))) IGKJ = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGKJ_Pickle))) IGLV = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGLV_Pickle))) IGLJ = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.lGLJ_Pickle))) # TRBV '
Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBV_Pickle))) # '
TRBD = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBD_Pickle))) # TRBJ
Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRBJ_Pickle))) # '
TRAV = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRAV_Pickle))) # TRAJ
P¡ckle.cargar(abr¡r(os.camino.un¡r(params.vdj_d¡r,params.Pickle_dir,params.TRAJ_P¡ckle)) ) #
TRDV = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDD_Pickle))) # TRDD
Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDD_Pickle))) # '
TRDJ = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRDJ_Pickle))) # TRGV
Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRGV_Pickle))) # '
TRGJ = Pickle.cargar(abrir(os.camino.unir(params.vdj_dir,params.Pickle_dir,params.TRGJ_Pickle))) #
# = Definir estructuras datos para
compatibilidad con alineador = #=====================================================
#
IGHnJista — lista de los identificadores de refseq (por ejemplo, IGHJ1, IGHV6-1, etc.) # IGHn_seqs -- dict
donde las llaves son IDs de refseq y los valores son las secuencias actuales
# de
refseq.
# IGHnJdx - dict donde las llaves son IDs de refseq y valores son los índices dentro la
#
lista de IGHnJista.
# IGHV_compensar
def legado_datos(ref_datos):
“ “ “ Generar estructura de datos usados por herramientas aln etc......
locusjlsta = [elt.alelo para elt en
ref_datos]
locus_seqs = dlct( [ (elt.alelo,elt.seq) para elt en ref_datos])
locusjdx =
dlct( [ (g,¡) para i,g en enumerar(locusjlsta) ] )
tratar:
locus_compensar =
d¡ct( [ (elt.alelo,elt.cdr3Jím¡te-elt.adhes¡ón_coords[0]) para elt en ref_datos])
regresar (locusJ¡sta,locus_seqs,locus_¡dx,locus_compensar)
excepto ErrordeAtributo:
regresar (locus_l¡sta,locus_seqs,locus_idx)
(IGHVJista, IGHV_seqs, IGHVJdx, IGHV_compensar) =
legado_datos (IGHV)
(IGHDJista, IGHD_seqs, IGHDJdx) ; legado_datos (IGHD) (IGHJJista, IGHJ_seqs, IGHJJdx, IGHJ_compensar) : legado_datos (IGHJ) (IGKVJista, IGKV_seqs, IGKVJdx, IGKV_compensar) : legado_datos (IGKV) (IGKJJista, IGKJ_seqs, IGKJJdx, IGKJ_compensar) ; legado_datos (IGKJ) (IGLVJista, IGLV_seqs, IGLVJdx, IGLV_compensar) : legado_datos (IGLV) (IGLJJista, IGLJ_seqs, IGLJJdx, IGLJ_compensar) : legado_datos (IGLJ) #
(TRBV_lista, TRBV_seqs, TRBVJdx, TRBV_compensar) = legado_datos (TRBV) #
(TRBDJista, TRBD_seqs, TRBDJdx) = legado_datos (TRBD) #
(TRBJJista, TRBJ_seqs, TRBJJdx, TRBJ_compensar) = legado_datos (TRBJ) #
(TRAVJista, TRAV_seqs, TRAVJdx, TRAV_compensar) = legado_datos (TRAV) #
(TRAJJista, TRAJ_seqs, TRAJJdx, TRAJ_compensar) = legado_datos (TRAJ) #
(TRDVJista, TRDV_seqs, TRDVJdx, TRDV_compensar) = legado_datos (TRDV) #
(TRDDJista, TRDD_seqs, TRDDJdx) = legado_datos (TRDD) #
(TRDJJista, TRDJ_seqs, TRDJJdx, TRDJ_compensar) = legado_datos (TRDJ) #
(TRGVJista, TRGV_seqs, TRGVJdx, TRGV_compensar) = legado_datos (TRGV) #
(TRGJJista, TRGJ_seqs, TRGJJdx, TRGJ_compensar) = legado_datos (TRGJ)
## refseq.py
#
#
....Contiene datos y funciones para tratar con datos de referencia IMGT.
#
# refdatosdir debe establecerse
en el directorio donde la liberación del archivo plano IMGT
# está presente. Esto debe incluir
imgt.dat, imgt.fasta, e imgtrefseq.fasta.
# ' '
# IGHnJista -- lista de los ¡dentiflcadores de refseq
(por ejemplo, IGHJ1, IGHV6-1, etc.)
# IGHn_acc - dict donde las llaves son IDs de refseq y los valores son los
números de adhesión de IMGT
# IGHn_coords -- dlct donde las llaves son IDs de refseq y los valores son pares
de coords que son
# extraídos de la base de datos de refseq. Estos números son
coords de seq
# no modificadas del elemento de referencia dentro de la entrada LIGM #
IGHn_seqs -- dlct donde las llaves son IDs de refseq y los valores son las secuencias actuales
#
de refseq.
# IGHnJdx -- dlct donde las llaves son IDs de refseq y los valores
son los índices dentro de la
# lista de IGHnJista.
# IGHV_FR3_IMGT_fin_coord - dict
donde las llaves son IDs de refseq y los valores son la coord del
#
fin de FR3-IMGT (incl el 2do-CYS) no modificado
# IGHJ_J_TRPJniclo_coord - dlct donde las
llaves son IDs de refseq y los valores son la
# coord del
Inicio del sitio J-TRP no modificado
#
# “ “ “
#
# importar os
# importar cPIckle
#
# de Blo
importar SeqIO
#
# importar vdj
# Importar params
# importar sequtlls
#
##
# # FNs UTILIDAD para análisis de base de datos
de referencia =
# #===================================
#
# def
obtener_refseq_elementos(locus, alelos, fuñe, especies, obtenercoords, refdatadir,imgtrefseqfasta) #
“ “ “ Extraer todos los ¡dentificadores que cumplen ciertos criterios de IMGT/GEN-DB (refseq). #
#
locus -- identificador como ‘IGH’, ‘TBV’, etc
# alelos -- pueden ser cualquiera de los dos ‘01 ’ o
‘todos’
# fuñe — lista de IDs de fuñe, por ejemplo, [‘F’, ‘ORF’, ‘P’]. SI vacío, incluye
todas
# especies -- especies de animal (por ejemplo, ‘Homo+sapiens’)
# obtenercoords -determina si procesar y regresar coords (boolean)
# '
# refdatosdir -­
directorio donde reside IMGT
# imgtrefseqfasta -- nombredelarchivo del archivo ingtrefseqfasta
#
# .....
#
# reflDs = [ ]
# reface = { }
# refseqs = { }
# si
obtenercoords:
# refeoords = { }
# todasrefseqs = sequtils.cargar_fasta( os.camino.unir(refdatosdir,imgtrefseqfasta) )
# '
# si fuñe == [ ]:
# fuñe =
[‘F, ‘ORF’, ‘P’]
#
# para seq en todasrefseqs:
# # obtener info en seq curr
#
currdescr = seq.descripción
# currlocus = currdescr.división(‘ , ’)[0].división(‘ * )[0] # . . . .
curralelo = currdescr.división(‘ , ’)[0].división(‘ * ‘)[1]
# currespecies =
currdescr.división(‘ , ’)[1]
# currfun = currdescr.división(‘ , ’)[2].división( )[-1].banda(‘
( ) ' )
# currID = currdescr.divisiónf , ’)[0].lbanda(‘ > ‘)
# curracc =
currdescr.divis¡ón(‘ , ’) [3]
# si obtenercoords:
# tratar:
#
currcoords = ( eval (currdescr.división(‘ , ’)[4].división(‘ . ‘)[0 ]),
eval (currdescr.división(‘ , ’)[4].división(‘ . ‘)[2 ]))
# excepto:
# #imprimir
“Coordenadas para”, currlocus, curracc, “no son interpretables” # pasar
#
# # realizar pruebas para excluir seq actuales
# si locus no en currlocus:
#
continuar
#
# si alelos != ‘todos’ :
# si curralelo !=
alelos
# continuar
#
# si currespecies != especies:
#
continuar
#
# si currfunc no en fuñe:
# continuar
#
# # verificar para “parcial”
# si len(currdescr.d¡visón(7)) > 5 y
‘parcial’ en ‘ ’.unir(currdescr.divisón(‘,’) [5 :]) :
# continuar
#
reflDs.append( currID )
# reface [currID] = curracc
# refseqs [currID] =
seq.seq.encadenar().superior()
# si obtenercoords:
# refeoords [currID] =
currcoords
#
# reflDs.append( ‘ ’ )
# refIDs.clasificar ()
#
# si no
obtenercoords:
# regresar a reflDs,reface,refseqs
# regresar a
reflDs, reface,refseqs, refeords
#
#
#
# # ===============================
## =
Definición de datos de referencia =
# # ===============================
#
# LOCI =
[’IGH’, IGK’, IGL’, ‘TRA’, 'TRB', ‘TRD’, TRG ]
#
# IGHV_lista,IGHV_acc,IGHV_seqs,IGHV_coords = obtener_refseq_elementos(locus=‘IGHV’,alelos=’01’,func=[F’, ‘ORF’],especies=’Homo+sapiens .obtenercoo rds=Verdadero,refdatosdir=params.refdatosdir,imgtrefseqfasta=params.imgtrefseqfasta) # '
IGHD_lista,IGHD_acc,IGHD_seqs =
obtener_refseq_elementos(locus=‘IGHD’,alelos-01’,func=[F’, ‘ORF’],especies=’Homo+sapiens .obtenercoo rds=Falso,refdatosdir=params.refdatosdir,imgtrefseqfasta=params.imgtrefseqfasta) #
IGFIJ_lista,IGHJ_acc,IGFIJ_seqs,IGHJ_coords =
obtener_refseq_elementos(locus= IGHJ’,alelos=’01’,func=[F', 'ORF'],especies=’Flomo+sapiens .obtenercoo rds=Verdadero,refdatosdir=params.refdatosdir,imgtrefseqfasta=params.imgtrefseqfasta) #
# IGHVJdx
= dict( [ (g,i) para i,g en enumerar(IGHVJista) ] )
# IGHDJdx = dict( [ (g,i) para i,g en
enumerar(IGHDJista) ] )
# IGHJ_idx= dict( [ (g,¡) para i,g en enumerar(IGFIJJista) ] )
#
#
IGHCJista = [
# : ‘
# ‘IGHA1',
# ‘IGHA2’,
#
‘IGHD’,
# ‘IGHE’,
# ‘IGHG1 ’,
# ‘IGHG2’,
#
IGHG3',
# ‘IGHG4’,
# ‘IGHM’,
# ]
# IGHCJdx =
d¡ct( [ (g,¡) para i,g en enumerar(IGHCJista) ] )
#
# TODOSJDs = lista(establecer(IGHV_lista IGHDJista
+ IGHJ lista IGHC lista))
# TODOSJDs.clasificar ()
#
#
#
# # ====================
## =
Datos de especificidad =
# # ====================
#
# def
obtener_LIGM_con_especificidades(refdatosdir,imgtdat,¡mgtfasta.fastadesalida,vdjxmldesalida) #
# Tomar los archivos planos de IMGT LIGM y fasta, y regresar un fasta con solo esas seqs
#
que tienen una especificidad asociada con ellos en un archivo fasta. El encabezado contiene
#
la accesión y la especificidad.
#
#
vdj.refseq. obtener_LIGM_con_especificidades(“imgt.dat”,“imgt.fasta,“imgt.especificidades.f asta",“i
mgt.especificidades, vdjxml”)
# especificidades = {} # lista de 2- tupias
(ACCESIÓN,especificidad)
# LIGMplano = abrir(os.camino.unir(refdatosdir,imgtdat), ‘r’)
#
LIGMfasta = abrir(os.camino.unir(refdatosdir,imgtdat), ‘r’)
# opEspecificidadfasta =
abrir(os.camino.unir(refdatosdir,fastadesalida), ‘w’)
#
# númRegistro = 0
#
númArchivoconSpec =
#
# ID =’ ‘
# DE = "
# para línea en LIGMplano:
#
llneadedivisión = línea.división ( )
#
# si lineadedivisión[0] == ‘ID’:
#
enRegistro = Verdadero
# ID = lineadedivisión[1]
# númRegistros = 1
# elif '
lineadedivisión[0] == ‘DE’:
# enRegistro:
# DE = ‘
unir(lineadedivisión[1:]) ‘ ‘
# elif líneadedivislón[0] == ‘XX’ :
# si DE == “ :
# si no ha almacenado la descripción todavía
# continúe
# de otro modo:
# registro finalizado
# si ‘especificidad’ en DE :
# specldx =
#
DE.rencontrar(especlficidad’)
# spec =
DE[sepecidx+len('especific¡dad'): ] ,banda().rbanda (‘ . ’) # si
spec.iniciacon(‘anti'):
# especiflcIdadesID] = spec # '
númReglstroconSpec =1
# ID = "
# DE = ”
#
enRegistro = Falso
# ’
# imprimir “Número de lecturas del registro de LIGM:’’
str(númReglstrosconSpec)
#
# númFatsa = 0
#
# para seq en
SeqlO,anál¡sls(LIGMfasta, ‘fasta’) :
# spec = especificidades.obtener(seq.id, ‘ ’)
# si
spec == ‘ ’:
# continuar
# de otro modo:
# imprimir »opEspecificidadfasta,
“>” seq.id “ I “ spec
# imprimir »opEspecificidadfasta,
seq.seq.abanda().superior()
# númFasta = 1
#
# imprimir “Número de registros
Fasta con especificidades encontradas e impresas: “ str(númFasta)
#
#
LIGMplano.cerrar()
# LIGMfasta.cerrar()
# opEspecificidadfasta.cerrar()
#
# #
VDJXML y alineamiento
# rep =
vdj.inicial_importar( [os.camino.unir(refdatosdir,fastadesalida) ], os.camino.unir(refdatosdir,vd jxmldesali
da),etiquetasmeta=[‘especificidad_referencia : ‘+vdj.tiempostamp() ] )
# rep =
vdj.positivo_banda(rep)
# rep = vdj.align_rep(rep)
#
# #repfiltrada =
rep.obtener_cadenas_VJcompleta()
# repfiltrada = rep
# para cadena en repfiltrada:
#
spec = especificidades.obtener(cadena.descr, ‘ ‘)
# si spec == “ :
# imprimir
“Cadena de referencia tiene especificidad vacía: “ cadena.descr
# continuar
#
de otro modo:
# cadena.adicionar_etiquetas( 'especificidad!’ spec )
#
#
vdj.escribirVDJ(repfiltrada,os.camino.unir(refdatosdir,vdjxmldesalida))
#
# regresar
# '
#
#
si no os.camino.existe(os.camino.unir(params.refdatosdir,params.imgtspecfasta )) o no os.camino.existe(os.camino.unir(params.refdatosdir,params.imgtspecvdjxml))
#
obtener_LIGM_con_espec¡f¡c¡dades(params.refdatosd¡r,params.¡mgtdat,params.¡mgtfasta,params .¡mgtspe
cfasta.paramsvdjxml):
#
#
# si
os.camino.existe(os.camino.unir(params.refdatosdir,params.imgtspecfasta )) y os.camino.existe(os.camino.unir(params.refdatosdir,params.imgtspecvdjxml)):
# ¡pspectfasta =
abrir(os.camino.unir(params.refdatosdir,params.imgtspecfasta), Y )
#
# SPECJista =
establecer()
# para línea en ipsepcfasta :
# si línea[0] ==
# currspec =
‘ I '.unir(línea.división(T)[1:].banda()
# SPECTJista.adicionar(currspec)
#
ipspecfasta.cerar()
# SPECTJista.adicionare ‘)
# SPECJista = lista(SPECJista)
#
SPECJista.clasificar()
importar sis
importar banda
de cBandalO importar BandalO
importar cPickle como
Pickle
importar urllib2
importar advertencias # esto es porque IMGT tiene muchos errores
importar
FormulariodeCliente
de Bio importar SeqIO
importar seqherramientas
importar params
identidad =
banda.hacetrans(“,”)
# ====================
# = Estructuras de datos =
#
clase de EntradadeReferencia(objeto):
“ “ “ Estructura de datos para mantener una secuencia de
de referencia de IMGT/GEN-DB o
IMGT/V-BÚSQUEDA.
Algunos de los atributos son
computados, y algunos son tomados de IMGT.
acceslón_coordss utiliza numeración de python
convertida
diferenciada_seq incluye las diferencias de IMGT que proporcionan marcos de usos de coords python:
0 significa ya en el marco.
1 significa omitir un nt
2 significa omitir dos nts
parciales tomará valores de "parcial en 5'", “parcial
en 3’ ", o “parcial en 5’ y 3' ”
dependiendo donde esté la del.
def
__init__(auto,**kw):
def kwjnit(attrib):
si kw.tlenejlave(attrib): auto.__establecerattr__(attrlb,kw[attrlb])
kw jn it(‘accesión’)
kwjnlt('seq’)
kw jn it(‘d¡ferenc¡ada_seq’)
kwjnit('descripclón’)
kw_ln¡t(‘locus’)
kw_in¡t(‘gen’)
kw_init(‘alelo’)
kw jn lt(‘espec¡es)
kwjmt('funcionar)
kwjnit('imgt_etlqueta’)
kwJnit(‘accesión_coords’)
kwjnit('longitud’)
kwjmt('marco’)
kw jnltfparcial’)
def ¡nlt_de_¡mgt(auto,fasta_encabezado,seq):
“ “ “Inlclallzar
objeto del encabezado fasta IMGT y seq” ” ”
auto.descripción = datos[1]
auto.locus = auto.descrpción[0:4]
auto.gen =
auto.descripción.división(‘*’)[0]
auto.alelo = auto.descripción
auto.especied =
datos[2]
auto.funcional = datos[3]
auto.imgt_etiqueta = datos [4]
auto.longitud = len(auto.seq)
si auto.longitud ¡= int(datos[5].divisón( )[0]):
levantar ErrorValor, “Longitudes son inconsistentes: %s” % fasta_encabezado auto.marco =
¡nt(datos[7]) - 1 # notar cambio a numeración python (0-basado)
auto.parcial =
datos[13]
def PULL_LIGM_registro(auto):
“ “ “Obtener objeto de SeqRegistro para LIGM
registro del servidor IMGT.....
#NOTA: esto puede potencialmente
simplificarse significativamente al acceder al URL
# interface a LIGM, a través de:
#
h t tp : // i m gt. c i n es . f r / c g i-b i n/iMGT1e c t . jv?query=5+numacc
# donde númacc es el
número de accesión
solicitud =
urllib2.Solicitudf' http: //"* mgt.c in e s .fr/cgi -bi n/XMGT 1 ect. jv?livret= 0‘ )
# página LIGM
respuesta = urllib2.urlabrir(solicitud)
formas = FormulariodeCliente.RespuestadeAnálisis(respuesta,
forma_analizado_clase=FormulariodeCliente.XHTMLAnlizadordeFormaCompatible,
hacia atrás_compat= Falso)
forma = formas[1]
forma['l01p01c02'] =
auto.accesión
solicitud2 = forma.hacer clic()
# página del formato de datos
respuesta2
= urllib2.urlabrir(solicitud2)
formas2 = FormulariodeCliente.RespuestadeAnálisis(respuesta2, forma_analizado_clase=FormulariodeCliente.XFITMLAnlizadordeFormaCompatible, hacia atrás_compat=Falso)
forma = formas2[0]
afirmar( forma2.controla[8].attrs[‘valor’] == ‘archivo plano de 2 IMGT’ )
forma2.controla[8].id = ‘archivoplano’
solicitud3 = forma2. hacer clic(id='archivoplano’)
#
resultados del registro de LIGM
respuesta3 = urllib2.urlabrir(solicitud3)
# gueto
análisis de los resultados, el texto del registro de LIGM está en <pre>...</pre> etiquetas
datosl crudos = respuesta3.lectura()
datos2crudos =
datosl crudos.dlvlsón(‘<pre>’) [1].dlvls¡ón(‘</pre>') [0].lbanda()
datos3crudos =
BandalO(datos2crudos)
auto.registro = Seql0.lectura(datos3crudos, ‘Imgt’)
clase
EntradadeRefereclaV(Entradadereferencla):
def_¡nit__(auto,**kw):
EntradadeReferencia.__¡nit__(auto,**kw)
def establecer_CDR3_límite(auto): # Fin de FR3
.....Obtener coord del fin de FR3 de la base de datos de IMGT LIGM......
# algunos registros pueden tener
referencias múltiples en ellos
objetlvo_alelo = auto.alelo
característlcajter =
auto. registro.característlcas. ¡ter ()
v_gen =
seqherramientas.avanzar_a_caracterist¡cas(característica_¡ter, [‘V-REGIÓN’, ‘V-GEN’])
mientras
v gen.calificadores.obtener( ‘alelo’, [‘ ']) [0] != objetivo_alelo: # avanzar al gen
objetivo
v_gen = seqherram¡entas.avanzar_a_caracteristlcas(caracteristica_¡ter, [‘V-REGIÓN’, ‘V-GEN’]) conservado_cys = seqherramientas.avanzar_a_característ¡cas(característ¡ca_iter, ‘2do-CYS’)
# nota:
características blopython ya utilizan ¡ndexaclón de python
auto.cdr3 límite =
conservado_cys.localización.inicio.posición
clase EntradadeRefereclaJ(Entradadereferencia):
def
_init__(auto,**kw):
EntradadeReferencia._inlt__(auto,**kw)
def
establecer_CDR3_límite(auto): # Inicio de FR4
.....Obtener coord del inicio de FR4 de la base de datos
de IMGT LIGM.” " ”
# algunos registros pueden tener referencias múltiples en ellos
objetlvo_alelo = auto.alelo
característlcajter = auto.registro.características._¡ter__()
j_gen = seqherramlentas.avanzar_a_característlcas(característ¡cajter, [‘J-REGION’, J-GEN’]) mientras
j_gen.calificadores.obtener] ‘alelo’, [‘ “]) [0] != objetlvo_alelo: # avanzar al gen
objetivo
j_gen = seqherram¡entas.avanzar_a_característ¡cas(característ¡ca_¡ter, [‘J-REGIÓN’, ‘J-GEN’]) #
nota, pude haber un TRP o PHE conservado
conservado_trp =
seqherram¡entas.avanzar_a_características(caracter(st¡caJter,[‘J-TRP’, ‘J-PHE’])
# nota:
características biopython ya utilizan indexación de python
auto.cdr3_límite =
conservado_trp.localización.inicio.posición
#================
# = Analizando IMGT =
#
# importar pdb
def proceso_IMGT_referencias(ref_entrada_cls,fasta_ennombredearchivo,Pickle_fueradenombredearchivo,verbos o=Falso):
....Referencias de carga de las refs del archivo fasta de IMGTA/-BÚSQUEDA
por ejemplo, IGHV.fasta, perente
en el directorio de datos
ref_entrada_cls es el objeto de clase para el tipo de referencia,
por ejemplo, ReferenciadeEntradaV.ReferenciadeEntradaJ, etc.
# pdb.establecer_traza()
referencias = [ ]
ip = abrir(fasta_ennombredearchivo, ‘r’)
para registro en
SeqIO.análisisjip, ‘fasta’)
curr_refeencia = ref_entrada_cls()
curr_encabezado =
registro.descripción
curr_seq = registro.seq.abandaj)
# Problemas
potenciales con encabezados FASTA
tratar:
curr_referencia.init_de_imgt(curr_encabezado,curr_seq)
expecto ErrorValor:
advertencias.advertir(‘Encabezado inválido: %s” % curr_encabezado)
continuar
# No
quiero lidiar con las seqs parciales en este momento
si ‘parcial’ en
curr_referencia.parcial:
continuar
curr_referencia.PULL_LIGM_registro()
# Problemas potenciales para encontrar el límite de CDR3
anotado
tratar:
curr_referencia-establecer_CDR3_llmite()
excepto
ErrordeAtributo:
# EntradadeReferencia no tiene establecer_CDR3_límite. Usado para pasar
segmentos D
excepto ErrorValor, e:
advertencias.advertirfno se pudo encontrar el
limite de CDR3 en %s. Omitiendo... “ % curr_referencia.alelo)
continuar
referencias.append(curr_referencia)
si verboso: imprimir “Procesamiento acabado %s” %
cu rr_referencia.alelo
sis.stdafuera.color()
ip.cerrar()
op =
abrir(Pickle_fueradenombredearchivo, ‘w’) Pickle.basura(referencias,op,protocolo=2)
op.cerrar()
regresar a referencias
# configuración.py
de configuración de importación de número.distutils.núcleo, Extensión
de
número.distutils.miscjjtil importar obtener_número_incluir_dirs
núcleodealineamientoext = Extensión(
“núcleodealineamiento”,
[“núcleodealineamiento.c”],
¡nclu¡r_d¡rs = obtener_número_¡ncluye_d¡rs()
) ' '
núcleodeagrupamientoext = Extens¡ón(
“núcleodeagrupamiento",
[“núcleodeagrupamiento.c”],
inclu¡r_dirs = obtener_número_¡ncluye_d¡rs()
)
conf¡gurac¡ón( nombre = “vdj"
versión = “0.1”,
ext_módulos =
[núcleodealineamientoext, núcleodeagrupamientoext]
)
Un montón de guiones para realizar operaciones vdj.
fasta2vdjxml.py Convertir archivo fasta a vdjxml. Toma primero espacios en blanco delim
campo para descr
tamaño seleccionar.py Lecturas de selección de tamaño
vdjxml2partes.py
División del archivo vdjxml en partes
código de barrasjd.py Anotar código de barras en secuencias codificación_hebra.py Convertir cadenas a secuencia de codificación
isotipojd.py
Anotar isotipos
Align vdj.py Realizar clasificación de vdj
cat_vdjxml.py
operación cat en archivos vdjxml (maneja el elemento de raíz)
filtro_VJ.py
Seleccionar solo cadenas con alineamientos V y J
clúster_cdr3.py Realiza jerarquía
agrupamiento de Cadenaslnmunes utilizando sus uniones
partíción_VJ.py Divisiones
vdjxml en archivos por combo VJ
actualizar_vdjxml.py Actualizar vdjxml de la versión anterior
a una versión más reciente
Generación anterior:
clúster_divisón_VJ.py
clúster_divisón_VJ_LSF.py
filtro_etiquetas_y.py
filtro_etiquetas_no.py
filtro_etiquetas_o.py
división_en_etiquetas.py
etiqueta_cadenas.py
vdj_co m pl eto_can a l_LS F. py
vdjxml2clon_recuentos.py
vdjxml2fasta.py
#! /usr/bin/env python
importar sis
importar optanálisis
importar vdj
importar vdj.alineamiento
analizador =
optanálisis.AnalizadordeOpción()
analizador.adicionar_opción(‘-L’, ‘--locus’, acción= ‘append’,dest= ‘loci’) (opciones, args) = analizador.análisis_args()
si len(args) == 2:
enmanejo = abrir(args[0],
Figure imgf000248_0001
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fuerademanejo =
sis.stafuera
de otro modo:
levantar Excepción, “Número equivocado de argumentos.”
alineador =
vdj.alineamiento.vdj_alineador_combinado(loci=opciones.loci)
imprimir »fuerademanejo, “<ralz>”
para cadena
en vdj.análisis_VDJXML(enmanejo):
alineador.align_cadena(cadena)
imprimir »fuerademanejo, cadena
imprimir »fuerademanejo, “<raíz>”
#! /usr/bin/env Python
importar sis
importar optanálisis
importar
seqherramientas
importar vdj
importar vdj.canal
analizador = optanálisis.AnalizadordeOpción()
analizador.adicionar_opción(‘-b’, ‘--códigos de barras’,dest= ‘códigos de barras_fasta’) (opciones, args) =
analizador.análisis_args()
si len(args) == 2:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo =
abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo =
sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fuerademanejo =sis.stafuera
# NOTA
todos los códigos de barras deben ser la misma longitud
códigos de barras =
vdj.canal.cargar_códigos de barras(opciones.códigos de barras_fasta) # iterar a través de cadenas
imprimir
»fuerademanejo, “<raíz>”
para cadena en vdj.análisis_VDJXML(enmanejo): vdj.canal.id_códigos de barras(cadena,códigos de barras)
imprimir »fuerademanejo, cadena
imprimir »fuerademanejo,
“<raíz>”
#! /usr/bin/env python
importar sis
importar optanálisis
importar glob
importar
vdj.canal
analizador = optanálisis.AnalizadordeOpciónj)
(opciones, args) = analizador.análisis_args ()
archivos
para arg en args:
archivos.extender(glob.glop(arg)) vdj.canal.cat_vdjxml(archivos,sis.stdafuera)
#! /usr/bin/env python
importar sis
importar
optanálisis
importar vdj
importar vdj.agruamiento
analizador = opanalizador.AnalizadordeOpdón ()
anal¡zador.adic¡onar_opción(‘-c’, ‘--cortar, t¡po= ‘flotar’, defecto=4.5) analizador.adicionar_opción(‘-t’, ‘--etiqueta’, defecto= ‘ ')
analizador.adicionar_opc¡ón(‘-r, ‘-enlace, tipo= ‘elección’, elecciones=[‘único', ‘completo’] defe cto=único’)
(opciones, args) = anallzador.análls¡s_args()
si len(args) == 2:
enmanejo =
abr¡r(args[0], r’)
fuerademanejo = abrir(args[1], ‘w’)
ellf len(args) == 1:
enmanejo =
abr¡r(args[0], ‘r’)
fuerademanejo = sls.stdafuera
ellf len(args) == 0:
enmanejo = sls.stdadentro
fuerademanejo =s¡s.stafuera
# NOTA: este guión requiere que haya una secuencia de unión
#
bien definida. Se levanta una excepción si no es así. Por lo tanto, seqs
# deben ser
pre-filtradas para tener uniones legítimas
# NOTA: esta guión debe contener todas las cadenas en la memoria
para poder
# realizar el agrupamlento y asignar los nombres de clúster
# datos de carga
cadenas = []
uniones = [ ]
para cadena en vdj.análisis_VDJXML(en manejo):
# comprobar la presencia
de V, J y unión no trivial
si no tieneattr(cadena,’v’) o no tieneattr(cadena,’j ’) o
no tieneattr(cadena, ‘unión’) :
levantar ErrorValor, “% de cadena no tiene unión de V-J
aln.” % de cadehan.descr
cadenas, append(cadena)
unlones.append(cadena.unión)
# realizar
el agrupamiento de secuencia
(T.seqjdxs) =
vdj.agrapamiento.clúster_seqs(uniones,opciones.cortar,opciones.enlace)
# cadenas de etiqueta con
IDs de clúster únicos
si opciones.etiqueta == ‘ ’:
etiqueta = ‘ ’
de otro modo:
etiqueta = opciones.etiqueta+ T
imprimir
»fuerademanejo, “<ra(z>”
para (i,cadena), en enumerar(cadenas):
clon ID = ‘%s%s’ %
(etiqueta,T[seq_idxs[cadena.unión] ] )
cadena.clon = clonID
imprimir »fuerademanejo, “<rafz>”
#! /usr/bin/env python
importar sis
importar optanálisis
importar
subproceso
importar tiempo
importar vdj
analizador = optanál¡sis.AnalizadordeOpción()
analizador.adicionar_opción(‘-c’, ‘--cortar, defecto=4.5, tipo= ‘flotar1)
(opciones, args) =
analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0], ‘r’)
fueradenombre =
args[0]
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo =
abrir(args[0], ‘r’)
fueradenombre = args[0]
fuerademanejo = sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fueradenombre = ‘VJ_partes.vdjxmr
fuerademanejo =sis.stafuera
imprimir
»sis.stderr, “NOTA: las cadenas deben ser filtradas para un VJ aln y uniones válidas ANTES del agolpamiento.”
(VJ_partes,VJ_IDs) = vdj.división_vdjxml_dentro_VJ_partes(enmanejo,fueradenombre) VJ_partes_agrupadas = [ ]
procesos = [ ]
para (vj_archivo,vj_id) en zip(VJ_partes,VJ_IDs):
vj_archivo_agrupado = vj_archivo ‘.agrupado’
VJ_partes_agrupadas.append(vj_archivo_agrupado)
params = { 'cortar’:opc¡ones.cortar,
etiqueta': vjjd
'archivodeentrada': vj_archivo
‘fueradearchivo’: vj_archivo_agrupado}
clúster_cdm = r’python
clúster_cdr3 -cortar %(cortar)f-etiqueta %(etiqueta)s %(archivodeentrada)s %(fueradearchivo)s' % params P =
subproceso.Pabrir(clúster_cdm,Shell =Verdadero
procesos.append(p)
# realizar en serie:
# vdj.clúster_cadenas(opciones.cortar, vjjd, vj_archivo, vj_archivo_agrupado) vdj.esperar_para_subprocesos(procesos)
para cadena en
vdj.análisis_VDJXML_partes(VJ_partes_agrupado):
imprimir »fuerademanejo, cadena #! /usr/bin/env
python
importar sis
importar optanálisis
importar subproceso
importar os
importar archivodetiempo
importar
vdj
analizador = optanálisis.AnalizadordeOpción()
analizador.adicionar_opción(‘-c’, ‘-cortar, defecto=4.5, tipo= ‘flotar’)
analizador.adicionar_opción(‘-r, ‘-enlace, tipo= ‘elección’, elecciones=[‘único', ‘completo’] defe cto=úni
co')
analizador.adicionar_opción(‘-q', '-cola)
analizador.adicionar_opción(‘-o’, '-LSFsalida')
(opciones, args)
= analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0],
Figure imgf000252_0001
fueradenombre =
args[0]
tempdirnombre = args[1]
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fueradenombre = args[0]
tempdirnombre = fueradenombre
fuerademanejo =
sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fueradenombre = ‘VJ_partes.vdjxml’
tempdirnombre = fueradenombre
fuerademanejo =sis.stafuera
imprimir »sis.stderr, “NOTA: las cadenas deben ser
filtradas para un VJ aln y uniones válidas ANTES del agrupamiento.”
# directorio temporal para deshacerse de
archivos intermedios
tempdir =
temparchivo.mkdtemp(prefijo=tempdirnombre+ ‘.intermedio.’, dir = “.’)
(VJ_partes,VJ_IDs) = vdj.división_vdjxml_dentro_VJ_partes(enmanejo,os.camino.unir(tempdir,fueradenombre) VJ_partes_agrupadas =
[]
trabajos = [ ]
para (vj_archivo,vj_id) en zip(VJ_partes,VJ_IDs):
vj_archivo_agrupado =
vj_archivo ‘.agrupado’ # NOTA: vj_archivo ya tiene prefijo de directorio VJ_partes_agrupadas.append(vj_archivo_agrupado)
params = { 'cortar’:opciones.cortar,
‘enalce':opciones.enlace,
etiqueta’ : v jjd
‘archivodeentrada’ : vj_archivo
‘fueradearchivo’: vj_archivo_agrupado}
clúster_cdm =
r’clúster_cdr3.py --cortar %(cortar)f -etiqueta %(etiqueta)s -enalce %(enlace)s %(archivodeentrada)s %(fueradearchivo)s’ % params
si os.statjvj archivo).st_tamaño < 8e6:
trabajolD =
vdj.LSF.enviar_a_LSF(opciones.cola,opciones. LSFsalida,clúster_cdm)
de otro modo:
trabajolD =
vdj.LSF.env¡ar_a_LSF(opc¡ones.cola,opciones. LSFsal¡da,clúster_cdm,mem_uso=4096) trabajos.append(trabajolD)
vdj.esperar_para_LSF_trabajos(trabajos)
para cadena en
vdj.análisis_VDJXML_partes(VJ_partes_agrupado):
imprimir »fuerademanejo, cadena
#! /usr/bin/env
python
importar sis
importar optanálisis
importar vdj
importar vdj.alineamiento
analizador =
optanálisis.AnalizadordeOpción()
anallzador.adicionar_opción(‘-L', ‘--locus',acc¡ón= ‘append’,dest= ‘loci’) (opciones, args) = anallzador.análls¡s_args ()
si len(args) == 2:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = sis.stdafuera
elif len(args) == 0:
enmanejo = sls.stdadentro
fuerademanejo =
sis.stafuera
alineador = vdj. al¡neam¡ento.vdj_al¡neador_comb¡nado(loci=opdones. loci) imprimir
»fuerademanejo, “<ralz>”
para cadena en vdj.análisis_VDJXML(enmanejo): alineador.codificando_cadena(cadena)
imprimir »fuerademanejo, cadena
imprimir »fuerademanejo, “<raíz>”
#!
/usr/bin/env python
importar sis
importar optanálisis
importar seqherramientas
importar vdj
analizador = optanálisis.AnalizadordeOpción()
(opciones, args) = analizador.análisis_args ( ) si len(args) == 2:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = sis.stdafuera
elif len(args) == 0:
enmanejo =
sis.stdadentro
fuerademanejo =sis.stafuera
vdj. canal.fasta2vdjxml(enmanejo, fuerademanejo) #!
/usr/bin/env python
importar sis
importar optanálisis
importar vdj
analizador = optanálisis.AnalizadordeOpción()
(opciones, args) = analizador.análisis_args ( ) si len(args) == 2:
enmanejo = abrir(args[0], r’)
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = sis.stdafuera
elif len(args) == 0:
enmanejo =
sis.stdadentro
fuerademanejo =sis.stafuera
imprimir »fuerademanejo, ‘<raíz>’
para cadena en vdj.análisis_VDJXML(enmanejo):
si tieneattr(cadena, ‘V’) y tieneattr(cadena, j ’):
imprimir
»fuerademanejo, cadena
imprimir »fuerademanejo, ‘</ralz>’
#! /usr/bin/env python
importar sis
importar
optanálisis
importar vdj
analizador = optanálisis.AnalizadordeOpción() analizador.adicionar_opción(‘-t’, ‘-etiqueta',acción= append’,dest= ‘etiquetas’) (opciones, args) =
analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0], r’)
fuerademanejo =
abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], r’)
fuerademanejo =
sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fuerademanejo = sis.stafuera
pregunta_etiquetas = establecer(opciones.etiquetas)
para cadena en vdj.anális¡s_VDJXML(enmanejo):
si pregunta_etiquetas <=
cadena.todas_et¡quetas:
imprimir »fuerademanejo, cadena
#! /usr/bin/env python
importar sis
importar
optanálisis
importar vdj
analizador = optanálisis.AnalizadordeOpción() analizador.adicionar_opción(‘-t’, ‘-etiqueta1,acción= append’,dest= etiquetas’) (opciones, args) =
analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo =
abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0j. r’)
fuerademanejo =
sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fuerademanejo = sis.stafuera
vacío_establecer = establecer ( )
pregunta_etiquetas = establecer(opciones.etiquetas)
para cadena en vdj.anális¡s_VDJXML(enmanejo):
si pregunta_etiquetas & cadena.todas_etiquetas == vacío_establecer:
imprimir »fuerademanejo, cadena
#!
/usr/bin/env python
importar sis
importar
optanálisis
importar vdj
analizador =
optanálisis.AnalizadordeOpción()
analizador.adicionar_opción(‘-t’, ‘-etiqueta',acción= append’,dest= ‘etiquetas’) (opciones, args) = analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0], r’)
fuerademanejo = abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo = sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fuerademanejo =
sis.stafuera
vacío_establecer = establecer ( )
pregunta_etiquetas = establecer(opciones.etiquetas)
para cadena en
vdj.análisis_VDJXML(enmanejo):
si pregunta_etiquetas & cadena.todas_etiquetas != vacío_establecer:
imprimir
»fuerademanejo, cadena
#! /usr/bin/env python
importar sis
importar advertencias
importar optanálisis
importar seqherramientas
importar vdj
importar vdj.canal
analizador = optanálisis.AnalizadordeOpción() analizador.adicionar_opción(‘-i’, ‘—IGHC’,dest= ighc,fasta’)
(opciones, args) = analizador.análisis_args ()
si
len(args) == 2:
enmanejo = abr¡r(args[0], ‘r’)
fuerademanejo = abr¡r(args[1], ‘w’)
elif
len(args) == 1:
enmanejo = abr¡r(args[0], ‘r’)
fuerademanejo = sis.stdafuera
elif len(args)
== 0:
enmanejo = sis.stdadentro
fuerademanejo = sis.stafuera
# ¡sotipos de carga
isotipos = vdj.canal.carga_isotipos(opciones.ighc_fasta)
para cadena en vdj.análisis_VDJXML(enmanejo): vdj.canal.id_isotipo(cadena,isotipos)
imprimir »fuerademanejo, cadena
#! /usr/bin/env
python
importar sis
importar optanálisis
importar seqherramientas
importar vdj
analizador =
optanálisis.AnalizadordeOpciónj) analizador.adicionar_opción(‘-b’, ‘— nombrebase’)) (opciones, args) =
analizador.análisis_args ()
si len(args) == 1:
enmanejo = abrir(args[0],
Figure imgf000258_0001
elif len(args) ==
0:
enmanejo = sis.stdadentro
# NOTA: este guión ignora los números de alelos vdj.canal.partic¡ón_VJ(enmanejo,opciones.nombrebase) # nombre de base para todos los archivos de datos nombrebase
# archivos de entrada (caminos completos) entrada_fasta # los datos fasta iniciales
códigos de barras_fasta
# identificadores de códigos de barras
isotipo_fasta # identificadores de isotipo
# directorios de trabajo
análisis_dir # camino completo; directorio base para todo
# parámetros de análisis
mín_tamaño
máx_tamaño
paquete_tamaño
loci
#! /usr/bin/env python
importar sis
importar optanálisls
importar
vdj
analizador = optanálisis.AnalizadordeOpción() analizador.adicionar_opción(‘-m’, ‘-m in ', ‘tipo= ‘int’, defecto=0) analizador.adlcionar_opclón(‘-M \ ‘-máx', tipo= ‘int’, defecto=flotar(‘inf)) (opciones, args) =
analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo =
abrir(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], ‘r’)
fuerademanejo =
sis.stdafuera
elif len(args) == 0;
enmanejo = sis.stdadentro
fuerademanejo = sis.stafuera
imprimir
»fuerademanejo, “<raíz>”
para cadena en vdj.análisls_VDJXML(enmanejo);
si len(cadena) >=
opciones.min y len(cadena) <= opciones.máx:
imprimir »fuerademanejo, cadena
imprimir
»fuerademanejo, “<raíz>”
#! /usr/bin/env python
importar sis
importar optanálisis
Importar os
Importar
vdj
analizador = optanálisis.AnalizadordeOpción() analizador.adicionar_opción(‘-t', -etiqueta’ ,acción= ‘append’ ,dest= ‘etiquetas’) (opciones, args) =
analizador.análisis_args ()
si len(args) == 1:
ennombre == args[0]
enmanejo =
abrir(args[0], ‘r’)
de otro modo:
levantar Excepción, “Necesita un archivo de entrada único.”
(nombre de base,ext)=
os.camino.dlvisiónext(ennombre)
nombre de base = os.camino.nombre de base(nombre de base)
fuerademanejos = { }
para etiqueta en
opciones.etiquetas:
fueradenombre = nombre de base+ ’.’ vdj.sequtils.limpiar_id(etiqueta)+ext
fuerademanejos[etiqueta] = abrir(fueradenombre, ‘w’)
pregunta_etiquetas = establecer(opciones.etiquetas)
para cadena en
vdj.análisis_VDJXML(enmanejo):
tratar:
etiqueta = (pregunta_etiquetas & cadena.todas.etiquetas).pop()
imprimir »fuerademanejos[etiqueta], cadena
excepto ErrordeLlave:
continuar
para manejo en
fuerademanejos. valoresiter():
manejo.cerrar()
#! /usr/bin/env python
importar sis
importar
optanálisis
importar vdj
analizador = optanálisis.AnallzadordeOpción() analizador.adicionar_opción('-t', -etiqueta’ ,acción= ‘append’ ,dest= ‘etiquetas’) (opciones, args) =
analizador.análisis_args ()
si len(args) == 2:
enmanejo = abrir(args[0], r )
fuerademanejo =
abr¡r(args[1], ‘w’)
elif len(args) == 1:
enmanejo = abrir(args[0], r’)
fuerademanejo =
sis.stdafuera
elif len(args) == 0:
enmanejo = sis.stdadentro
fuerademanejo = sls.stafuera
para
cadena en vdj.anális¡s_VDJXML(enmanejo):
cadena.ad¡cionar_et¡quetas(opc¡ones.etiquetas) imprimir »fuerademanejo,
cadena
#! /usr/bin/env python
importar sis
importar vdj
importar vdj.legado
si len(sis.argv) ==
3:
enmanejo = abrir(sis.argv[1], ‘r’) fuerademanejo = abrir(sis.argv[2], ‘w’)
elif
len(sis.argv) == 2:
enmanejo = abrir(sis.args[1], ‘r’) fuerademanejo = sis.stdafuera
elif
len(sis.argv) == 1:
enmanejo = sis.stdadentro
fuerademanejo = sis.stafuera
para cadena en vdj.legado.análisis_VDJXML_antiguo(enmanejo): imprimir »fuerademanejo, cadena
#! /usr/bin/env
python
importar Isf
importar seqherramientas
importar vdj
importar vdj.canal
unir =
os.camino.unir
# DEFINICIÓN DE PARÁMETRO
# procesar el archlvodetrabajo para parámetros de entrada
# define las
siguientes variables:
# nombre de base # identificador de base única para datos #
entrada_fasta # los datos fasta iniciales
# códigos de barras_fasta # identificador de códigos de barras #
isotipo_fasta # identificadores de isotipo
# análisis_dir # camino completo: directorio base para todo
# mín_tamaño
# máx_tamaño
selección
# paquete_tam
# loci
loci para usar para VDJ aln
# directorios de trabajo
partes_dir = ‘partes’
lo g d ir = logs’
partición_dir = ‘particiones’
# archivos de salida
crudo_vdjxml = nombrebase+ ‘.alineado.vdjxml’
vj_filtrado_archivo =
nombrebase+ ‘.VJ_filtrado.vdjxml’
tamaño_seleccionado_archivo = nombrebase ‘.tamaño%¡-%¡’ % (mín_tamaño,máx_tamaño) ‘.vdjxml’
locus_opciones = 1 ‘.unir([‘ --locus %s’ locus para locus
en loci.división()])
# CANAL COMIENZA AQUÍ
# 0. CONVERSIÓN A VDJXML
#1. TAMAÑO
SELECCIÓN
enmanejo = abrir(entrada_fasta, ‘r’)
fuerademanejo =
abrir(unir(análisis_dir,tamaño_seleccionado_archivo), ‘w’)
# iterar a través de entradas fasta
para
(descri.seq) en seqherramientas.Fastalterador(enmanejo, lambda d: d.d¡v¡s¡ón() [0]):
# convertir a
Cadenalnmune
cadena = vdj.Cadenalnmune(descr=descr,seq=seq)
# selección de tamaño
si
len(cadena) < opciones.mín o len(cadena) > opciones.máx:
continuar
imprimir
»fuerademanejo, cadena
enmanejo.cerrar()
fuerademanejo.cerrar()
#2. DIVISIÓN EN PARTES
enmanejo =
abrir(unir(análisis_dir,tamaño_seleccionado_archivo), ‘r’)
partes = vdj.canal.iterador2partes(
vdj.análisis_VDJXML(enmanejo),
unlr(anál¡s¡s_d¡r,tamaño_selecc¡onado_arch¡vo),
tamañodepaquete,
prefijo= ‘<ralz>’,
sufijo = ‘</raíz>’)
cdm = códigos de barrasjd -códigos de barras %s ’ % códigos de barras_archivo # 3
CÓDIGOS DE BARRAS, IDENTIFICACIÓN
cdm = ' | codificación_hebra’ locus_opciones #4. CODIFICACIÓN HEBRA
si IGH’ en loci: # 5. ID DE ISOTIPO
(solo cadena pesada)
cdm = ‘ | isotipojd -IGHC %s ’ % isotipo_archivo
cdm = ' | align_vdj
locus_opciones # 6. CLASIFICACIÓN DE VDJ
# enviar cdm a LSF para cada parte
trabajolDs = [ ]
logarchivos = []
fueradenombres = [ ]
para parte en partes
parteID =parte.división() [-1]
partefueradenombre = nombrebase+ .prealign.vdjxml.’ partelD
fueradenombres.append(partefueradenombre)
cdm = 'cat %s | ‘ cdm ‘ > %s’
cdm = cdm (parte,partedefueradenombre)
logarchivo =
unir(anál¡sis_dir,log_d¡r,’preal¡gn.log’)+partelD
trabajolD =
lsf.enviar_a_LSF('compart¡do_2h’,arch¡volog,cdm)
logarchivos.append(logarchivo)
trabajolDs.appen(trabajolD)
lsf.esperar_para_LSF_trabajo(tranajolDs,logarchivos)
# 7. PARTES CONCAT
fuerademanejo =
abrir(unir(análisis_d¡r,alineado _arch¡vo), ‘w’)
vdj. canal. cat_vdjxml(fueradenombres, fuerademanejo)
fuerademanejo.cerrar()
#8. FILTRAR VJ
enmanejo= abr¡r(un¡r(anál¡sis_d¡r,alineado _archivo), ‘r’)
fuerademanejo = vdj. canal. cat_vdjxml(fueradenombres, fuerademanejo)
imprimir »fuerademanejo, “<raiz>”
para
cadena en vdj.anállsls_VDJXML(enmanejo):
si tieneattr(cadena, V ) y tieneattr(cadena, j ):
imprimir »fuerademanejo, cadena
imprimir »fuerademanejo, “<raiz>”
enmanejo.cerrar()
fuerademanejo.cerrar()
########################################################################
########################################################################
######################################################################## M ## # ## ** # # # * # # ## # # M ## *# ## * # ** # * # § # * # * # * # # # * # # # # # * # # # * # * # * # * # * # M # * # * # * # # # * # * # # # # ## * # 4 # im ## # ## # # * # m ## # # # # # ## # # * # ** # # ## # # * # ** # * # # # # ## # # * # im ##
# * # # * # # * # * # * * # # # # # # # # § # # # # # # § * * # # # # # # # # * * * # # # # # # # # # # # # # # # # # # # # * * * # # # # # # #
i########################################################################
########################################################################
# * m * # # * * * * * * M * * * * M M n * * * * M * m * * * M * * * n M M # # * * * * * * * M * * * * * * * M # # * *
########################################################################
########################################################################
########################################################################
########################################################################
########################################################################
########################################################################
###############################################################*########
########################################################################
###########################################################*############
######################################################################## ######################«#####«########################################### ########################################################################
Este es un análisis
de 454 datos generados a partir del segundo experimento de vacunación
del segundo individuo. Creo
que estos datos vienen de Ido.
Los datos crudos están localizados en
vdj-ome/crudo-seq-datos/454/crudo_20100927_flu2/
con los archivos relevantes
RD_análisis/*GAC*.fna
Estoy concatenando estos archivos en un solo archivo FASTA ubicado aqui
vdj-ome/estable-datos/crudo_ flu2_20100927/
usando este comando:
cat *GAC*.fna >
'/investigación/iglesia/vdj-ome/estable-datos/crudo_flu2_20100927/pesada_cadenas.flu2.20100927.f asta
del directorio
vdj-ome/crudo-seq-datos/454/crudo_20100927_flu2/RD_análisis
Este archivo es
llamado:
pesada_cadenas.flu2.20100927.fasta
Los histogramas de longitud de lectura inicial son
generados en este guión:
ejecuciónestadfsticas.py
La salida es:
Número de lecturas: 912388
Lectura más corta: 40 pb
Lectura más larga: 600 pb
junto con dos figuras que muestran un
pico muy apretado en '455 pb.
La figura sugiere cortes de tamaño de 395 pb a 520 pb.
1.
fasta2vdjxml.py
2. tamaño_seleccionar.py
Primero convierto el archivo fasta en vdjxml, y,
tamaño seleccionar las lecturas basadas en el hist de lectural, 395-520
(de
/¡n¡c¡o/ul2/vdj-ome/estable-datos/crudo_flu2_20100927):
python ~/códlgo/vdj/bln/fasta2vdjxml.py
pesada_cadenas.flu2.20100927.fasta | python '/códlgo/vdj/bln/tamaño_selecc¡onar.py --mín 395 -máx 520
> pesada_cadenas.flu2.20100927.tamaño395-520.vdjxml
Hay 902805 cadenas del tamaño
seleccionado en el archivo.
3. vdjxml2partes.py
Dividir vdjxml en trozos pequeños y colocarlos en
el directorio de trabajo
mkdlr '/vdj-ome/anállsls/flu2_seq_canal/datos
'/código/vdj/bln/vdjxml2partes.py -tamañodepaquete 10000 --nombrebase
'/vdj-ome/anállsls/flu2_seq_canal/datos/pesada_cadenas.flu2.20100927.tamaño395-520.vdj xml
pesada_cadenas.flu2.20100927.tamaño395-520.vdjxml
Cambio de directorio a todas las partes:
cd
'/vdj-ome/anállsls/flu2_seq_canal/datos
4. códigos de barrasjd.py
5. codlflcaclón_hebra.py
Identificar códigos de barras para cada lectura, y
Determinar donde tenemos la hebra correcta o
no
Asegúrese que el archivo fasta de código de barras esté correctamente referenclado.
para ARCHIVO en
pesada_cadenas.flu2.20100927.tamaño395-520.vdjxml.*; hacer NOMBRE=${ARCHIVO%.tamaño*}” preal¡gn.vdjxml.”${ARCHIVO*.vdjxml.*}
# eco SNOMBRE
bsub
-qcompartldo_2h -o -pre-allneamlento.log “python ~/códlgo/vdj/bln/cód¡go de barrasjd.py --código de barras '/vdj-ome/estable-datos/código de barras/IDT.454.rápido.MIDs.fasta SARCHIVO | python ~/códlgo/vdj/b¡n/cod¡f¡cac¡ón_hebra.py --locus IGH > SNOMBRE”
hecho
# python
~/cód¡go/vdj/b¡n/cód¡go de barrasjd.py -código de barras
-/vdj-ome/estable-datos/código de barras/IDT.454.rápido.MIDs.fasta # python
~/código/vdj/bin/codificación_hebra.py -locus IGH
Algunas ESTADÍSTICAS:
# Núm de cadenas
cat
’ prealign* | grep “<Cadenalnmune>” | wc -1
902805
# Núm con código de barras
cat
’ prealign* | grep “<código de barras>” | wc -1
882978
# Núm que fueron
complementados en reversa
cat ’ prealign* | grep “<revcomp>” | wc -1
434034
#
Desglose de código de barras
para NÚM en 13 1415161718 192021 22; hacer
cat *prealign* |
grep “<código de barras>RL0$NÚM” | wc -1
hecho
RL013 18255 2.1%
RL014 96568
10.9%
RL01S 88732 10.0%
RL016 80088 9.1%
RL017 79637
9.0%
RL018 97962 11.1%
RL019 223744 25.3%
RL020 60479
6.8%
RL021 73613 8.3%
RL022 63900 7.2%
6. a l i g n _ v d j . py
para
ARCHIVO en pesada_cadenas.flu2.20100927.prealign.vdjxml.*; hacer

Claims (15)

REIVINDICACIONES
1. Un método para identificar un anticuerpo útil en métodos diagnósticos o terapéuticos, que comprende:
(a) acoplar las secuencias de polinucleótidos de la región variable de la cadena pesada (Vh) y de la región variable de la cadena liviana (Vl) de una sola célula de una pluralidad de células de una muestra biológica de un sujeto humano en un primer punto en el tiempo para formar secuencias acopladas, en donde el sujeto humano tiene una enfermedad o trastorno o se le ha administrado un agente para estimular un desafío inmunitario;
(b) realizar una secuenciación de alto rendimiento de polinucleótidos amplificados a partir de las secuencias acopladas;
(c) reagrupar las lecturas de secuenciación de acuerdo con al menos su segmento V y usar del segmento J para formar clones VDJ y determinar la frecuencia de clonación de los clones VDJ;
(d) comparar la frecuencia de clones de un clon de VDJ con (i) la frecuencia de clones de clones de VDJ de una muestra biológica del sujeto humano en un segundo punto en el tiempo, o (ii) la frecuencia de clones de clones de VDJ de una muestra biológica de un negativo sujeto de control humano sin la enfermedad o trastorno o un sujeto humano al que no se ha administrado el agente para estimular un desafío inmunitario; y
(e) identificar un anticuerpo útil en métodos de diagnóstico o terapéuticos con base en (d).
2. El método de la reivindicación 1, que comprende además seleccionar el anticuerpo para determinar la especificidad funcional, la afinidad y/o el anticuerpo en cuanto a la capacidad de neutralización, que además comprende preferiblemente la identificación de un antígeno que interactúa con el anticuerpo como un biomarcador para una enfermedad.
3. El método de la reivindicación 1 o 2, que comprende además clonar el anticuerpo directamente en tecnología de visualización de superficie.
4. El método de una cualquiera de las reivindicaciones 1-3, en donde el anticuerpo es un anticuerpo neutralizante o un anticuerpo de respuesta rápida.
5. El método de una cualquiera de las reivindicaciones 1-4, que comprende además determinar un isotipo del anticuerpo.
6. El método de las reivindicaciones 1-5, que comprende amplificar polinucleótidos mediante PCR con cebadores no específicos, cebadores degenerados o cebadores específicos.
7. El método de la reivindicación 6, en donde los polinucleótidos amplificados se amplifican por PCR con conjuntos de cebadores específicos que se hibridan con las cadenas pesadas y livianas de las células B, células T o células B y células T.
8. El método de la reivindicación 6 o 7, en donde los polinucleótidos amplificados se amplifican por PCR con dos conjuntos de cebadores, en donde el primer conjunto de cebadores se hibrida a las regiones V y el segundo conjunto de cebadores se hibrida a las regiones C.
9. El método de una cualquiera de las reivindicaciones 1-8, que además comprende generar una base de datos de secuencias Vh y Vl pareadas, preferiblemente en donde la identificación comprende alinear los datos de secuencia de la base de datos contra los segmentos V, D y J conocidos o esperados en una base de datos personal, una base de datos NCBI, o una base de datos IMGT.
10. El método de una cualquiera de las reivindicaciones 6-9, en donde los polinucleótidos amplificados comprenden adaptadores de secuencia compatibles con la secuenciación de alto rendimiento de próxima generación.
11. El método de una cualquiera de las reivindicaciones 1-10, en donde las secuencias de polinucleótidos enlazadas que codifican un Vh y un Vl están codificadas con barras, en donde se puede usar la codificación de barras para lograr la reasignación de los polinucleótidos amplificados a sus moléculas de partida originales.
12. El método de una cualquiera de las reivindicaciones 1-11, en donde se produce un coeficiente de variación para comparaciones replicadas de aproximadamente 0.5 en frecuencias de clonación VDJ de <10-4-10-3.
13. El método de las reivindicaciones 1-12, en donde (c) comprende alinear las lecturas de secuencia con los segmentos V, D y J conocidos o esperados.
14. El método de cualquiera de las reivindicaciones 1-13, en donde (d) comprende alinear las lecturas de secuenciación de (c) a (i) lecturas de secuencia obtenidas de la muestra biológica del sujeto humano en un segundo punto en el tiempo, o ii) lecturas de secuencia obtenidas de la muestra biológica de un sujeto humano sin la enfermedad o trastorno o lecturas de secuencia obtenidas de la muestra biológica de un sujeto humano al que no se le ha administrado el agente para estimular un desafío inmune.
15. El método de una cualquiera de las reivindicaciones 1-14, en donde (c) comprende lecturas de secuencia de agolpamiento para su CDR3 único para formar los clones VDJ.
ES11831760T 2010-10-08 2011-10-11 Secuenciación inmune de alto rendimiento Active ES2730951T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39133710P 2010-10-08 2010-10-08
PCT/US2011/055801 WO2012048340A2 (en) 2010-10-08 2011-10-11 High-throughput immune sequencing

Publications (1)

Publication Number Publication Date
ES2730951T3 true ES2730951T3 (es) 2019-11-13

Family

ID=45928499

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11831760T Active ES2730951T3 (es) 2010-10-08 2011-10-11 Secuenciación inmune de alto rendimiento

Country Status (7)

Country Link
US (2) US10392726B2 (es)
EP (2) EP3561073A1 (es)
CA (1) CA2814047C (es)
DK (1) DK2625295T3 (es)
ES (1) ES2730951T3 (es)
GB (1) GB2498163B (es)
WO (1) WO2012048340A2 (es)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7622296B2 (en) 2004-05-28 2009-11-24 Wafergen, Inc. Apparatus and method for multiplex analysis
US7968287B2 (en) 2004-10-08 2011-06-28 Medical Research Council Harvard University In vitro evolution in microfluidic systems
AU2006335290A1 (en) 2006-01-11 2007-07-19 Raindance Technologies, Inc. Microfluidic devices and methods of use in the formation and control of nanoreactors
EP2021113A2 (en) 2006-05-11 2009-02-11 Raindance Technologies, Inc. Microfluidic devices
US9562837B2 (en) 2006-05-11 2017-02-07 Raindance Technologies, Inc. Systems for handling microfludic droplets
US8772046B2 (en) 2007-02-06 2014-07-08 Brandeis University Manipulation of fluids and reactions in microfluidic systems
US8592221B2 (en) 2007-04-19 2013-11-26 Brandeis University Manipulation of fluids, fluid components and reactions in microfluidic systems
US12038438B2 (en) 2008-07-18 2024-07-16 Bio-Rad Laboratories, Inc. Enzyme quantification
WO2010009365A1 (en) 2008-07-18 2010-01-21 Raindance Technologies, Inc. Droplet libraries
US8691510B2 (en) 2008-11-07 2014-04-08 Sequenta, Inc. Sequence analysis of complex amplicons
US8748103B2 (en) 2008-11-07 2014-06-10 Sequenta, Inc. Monitoring health and disease status using clonotype profiles
CA2742380C (en) 2008-11-07 2018-05-29 Sequenta, Inc. Methods of monitoring conditions by sequence analysis
US9506119B2 (en) 2008-11-07 2016-11-29 Adaptive Biotechnologies Corp. Method of sequence determination using sequence tags
US9365901B2 (en) 2008-11-07 2016-06-14 Adaptive Biotechnologies Corp. Monitoring immunoglobulin heavy chain evolution in B-cell acute lymphoblastic leukemia
US9528160B2 (en) 2008-11-07 2016-12-27 Adaptive Biotechnolgies Corp. Rare clonotypes and uses thereof
US8628927B2 (en) 2008-11-07 2014-01-14 Sequenta, Inc. Monitoring health and disease status using clonotype profiles
ES2568509T3 (es) 2009-01-15 2016-04-29 Adaptive Biotechnologies Corporation Perfilado de la inmunidad adaptativa y métodos para la generación de anticuerpos monoclonales
EP2411148B1 (en) 2009-03-23 2018-02-21 Raindance Technologies, Inc. Manipulation of microfluidic droplets
EP2446052B1 (en) 2009-06-25 2018-08-08 Fred Hutchinson Cancer Research Center Method of measuring adaptive immunity
US9043160B1 (en) 2009-11-09 2015-05-26 Sequenta, Inc. Method of determining clonotypes and clonotype profiles
EP3392349A1 (en) 2010-02-12 2018-10-24 Raindance Technologies, Inc. Digital analyte analysis
US9399797B2 (en) 2010-02-12 2016-07-26 Raindance Technologies, Inc. Digital analyte analysis
US9562897B2 (en) 2010-09-30 2017-02-07 Raindance Technologies, Inc. Sandwich assays in droplets
ES2730951T3 (es) 2010-10-08 2019-11-13 Harvard College Secuenciación inmune de alto rendimiento
DK2652155T3 (en) 2010-12-16 2017-02-13 Gigagen Inc Methods for Massive Parallel Analysis of Nucleic Acids in Single Cells
US9364803B2 (en) 2011-02-11 2016-06-14 Raindance Technologies, Inc. Methods for forming mixed droplets
US9150852B2 (en) 2011-02-18 2015-10-06 Raindance Technologies, Inc. Compositions and methods for molecular labeling
US9556470B2 (en) 2011-06-02 2017-01-31 Raindance Technologies, Inc. Enzyme quantification
US8658430B2 (en) 2011-07-20 2014-02-25 Raindance Technologies, Inc. Manipulating droplet size
US10385475B2 (en) 2011-09-12 2019-08-20 Adaptive Biotechnologies Corp. Random array sequencing of low-complexity libraries
US9279159B2 (en) 2011-10-21 2016-03-08 Adaptive Biotechnologies Corporation Quantification of adaptive immune cell genomes in a complex mixture of cells
CA2858070C (en) 2011-12-09 2018-07-10 Adaptive Biotechnologies Corporation Diagnosis of lymphoid malignancies and minimal residual disease detection
US9499865B2 (en) 2011-12-13 2016-11-22 Adaptive Biotechnologies Corp. Detection and measurement of tissue-infiltrating lymphocytes
GB201203720D0 (en) * 2012-03-02 2012-04-18 Babraham Inst Method of identifying VDJ recombination products
EP2823064B1 (en) 2012-03-05 2019-02-06 President and Fellows of Harvard College Methods for epigenetic sequencing
WO2013134162A2 (en) 2012-03-05 2013-09-12 Sequenta, Inc. Determining paired immune receptor chains from frequency matched subunits
PT2831276T (pt) 2012-05-08 2016-07-26 Adaptive Biotechnologies Corp Composições e método para medição e calibração do viés de amplificação em reações pcr multiplex
US9701998B2 (en) 2012-12-14 2017-07-11 10X Genomics, Inc. Methods and systems for processing polynucleotides
US11591637B2 (en) 2012-08-14 2023-02-28 10X Genomics, Inc. Compositions and methods for sample processing
US10273541B2 (en) 2012-08-14 2019-04-30 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10752949B2 (en) 2012-08-14 2020-08-25 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10584381B2 (en) 2012-08-14 2020-03-10 10X Genomics, Inc. Methods and systems for processing polynucleotides
US9951386B2 (en) 2014-06-26 2018-04-24 10X Genomics, Inc. Methods and systems for processing polynucleotides
CA2881685C (en) 2012-08-14 2023-12-05 10X Genomics, Inc. Microcapsule compositions and methods
US10323279B2 (en) 2012-08-14 2019-06-18 10X Genomics, Inc. Methods and systems for processing polynucleotides
EP2904111B1 (en) 2012-10-01 2017-12-06 Adaptive Biotechnologies Corporation Immunocompetence assessment by adaptive immune receptor diversity and clonality characterization
US10533221B2 (en) 2012-12-14 2020-01-14 10X Genomics, Inc. Methods and systems for processing polynucleotides
EP2931919B1 (en) 2012-12-14 2019-02-20 10X Genomics, Inc. Methods and systems for processing polynucleotides
CN105190656B (zh) 2013-01-17 2018-01-16 佩索纳里斯公司 用于遗传分析的方法和系统
JP2016511243A (ja) 2013-02-08 2016-04-14 テンエックス・ジェノミクス・インコーポレイテッド ポリヌクレオチドバーコード生成
EP2970961B1 (en) 2013-03-15 2019-04-24 Theranos IP Company, LLC Nucleic acid amplification
US10450595B2 (en) 2013-03-15 2019-10-22 Theranos Ip Company, Llc Nucleic acid amplification
KR20150132481A (ko) * 2013-03-15 2015-11-25 테라노스, 인코포레이티드 핵산 증폭
ES2729637T3 (es) 2013-03-15 2019-11-05 Theranos Ip Co Llc Amplificación de ácidos nucleicos
GB2525568B (en) * 2013-03-15 2020-10-14 Abvitro Llc Single cell barcoding for antibody discovery
WO2014189768A1 (en) * 2013-05-19 2014-11-27 The Board Of Trustees Of The Leland Devices and methods for display of encoded peptides, polypeptides, and proteins on dna
US9708657B2 (en) 2013-07-01 2017-07-18 Adaptive Biotechnologies Corp. Method for generating clonotype profiles using sequence tags
EP3965111B8 (en) 2013-08-30 2025-06-11 Personalis, Inc. Methods for genomic analysis
MX356055B (es) 2013-09-06 2018-05-11 Theranos Ip Co Llc Sistemas y métodos para detectar enfermedades infecciosas.
WO2015051275A1 (en) 2013-10-03 2015-04-09 Personalis, Inc. Methods for analyzing genotypes
US11901041B2 (en) 2013-10-04 2024-02-13 Bio-Rad Laboratories, Inc. Digital analysis of nucleic acid modification
US9944977B2 (en) 2013-12-12 2018-04-17 Raindance Technologies, Inc. Distinguishing rare variations in a nucleic acid sequence from a sample
KR20220119751A (ko) 2013-12-30 2022-08-30 아트레카, 인크. 핵산 바코드를 이용하는 단일 세포와 관련된 핵산의 분석
US20170292149A1 (en) 2014-03-05 2017-10-12 Adaptive Biotechnologies Corporation Methods using randomer-containing synthetic molecules
US11390921B2 (en) 2014-04-01 2022-07-19 Adaptive Biotechnologies Corporation Determining WT-1 specific T cells and WT-1 specific T cell receptors (TCRs)
US10066265B2 (en) 2014-04-01 2018-09-04 Adaptive Biotechnologies Corp. Determining antigen-specific t-cells
CA2943624A1 (en) 2014-04-10 2015-10-15 10X Genomics, Inc. Fluidic devices, systems, and methods for encapsulating and partitioning reagents, and applications of same
EP3132059B1 (en) 2014-04-17 2020-01-08 Adaptive Biotechnologies Corporation Quantification of adaptive immune cell genomes in a complex mixture of cells
US20150298091A1 (en) 2014-04-21 2015-10-22 President And Fellows Of Harvard College Systems and methods for barcoding nucleic acids
EP3161162A4 (en) 2014-06-26 2018-01-10 10X Genomics, Inc. Analysis of nucleic acid sequences
WO2015200893A2 (en) 2014-06-26 2015-12-30 10X Genomics, Inc. Methods of analyzing nucleic acids from individual cells or cell populations
US12312640B2 (en) 2014-06-26 2025-05-27 10X Genomics, Inc. Analysis of nucleic acid sequences
JP6672310B2 (ja) * 2014-09-15 2020-03-25 アブビトロ, エルエルシー ハイスループットヌクレオチドライブラリーシークエンシング
EP3715455A1 (en) 2014-10-29 2020-09-30 Adaptive Biotechnologies Corp. Highly-multiplexed simultaneous detection of nucleic acids encoding paired adaptive immune receptor heterodimers from many samples
EP3212808B1 (en) 2014-10-30 2022-03-02 Personalis, Inc. Methods for using mosaicism in nucleic acids sampled distal to their origin
US9975122B2 (en) 2014-11-05 2018-05-22 10X Genomics, Inc. Instrument systems for integrated sample processing
US10246701B2 (en) 2014-11-14 2019-04-02 Adaptive Biotechnologies Corp. Multiplexed digital quantitation of rearranged lymphoid receptors in a complex mixture
US11066705B2 (en) 2014-11-25 2021-07-20 Adaptive Biotechnologies Corporation Characterization of adaptive immune response to vaccination or infection using immune repertoire sequencing
EP3244992B1 (en) 2015-01-12 2023-03-08 10X Genomics, Inc. Processes for barcoding nucleic acids
JP6620160B2 (ja) 2015-02-20 2019-12-11 タカラ バイオ ユーエスエー, インコーポレイテッド 単一細胞の迅速かつ正確な分注、視覚化及び解析のための方法
US11274343B2 (en) 2015-02-24 2022-03-15 10X Genomics, Inc. Methods and compositions for targeted nucleic acid sequence coverage
US11047008B2 (en) 2015-02-24 2021-06-29 Adaptive Biotechnologies Corporation Methods for diagnosing infectious disease and determining HLA status using immune repertoire sequencing
EP3262407B1 (en) 2015-02-24 2023-08-30 10X Genomics, Inc. Partition processing methods and systems
CA2979726A1 (en) 2015-04-01 2016-10-06 Adaptive Biotechnologies Corp. Method of identifying human compatible t cell receptors specific for an antigenic target
JP2018511341A (ja) 2015-04-17 2018-04-26 プレジデント アンド フェローズ オブ ハーバード カレッジ 遺伝子配列決定および他の適用のためのバーコード化システムおよび方法
US9422547B1 (en) 2015-06-09 2016-08-23 Gigagen, Inc. Recombinant fusion proteins and libraries from immune cell repertoires
EP3933047A1 (en) * 2015-09-24 2022-01-05 AbVitro LLC Affinity-oligonucleotide conjugates and uses thereof
RU2757135C2 (ru) 2015-09-24 2021-10-11 АБВИТРО ЭлЭлСи Композиции антител к вич и способы их применения
EP3882357B1 (en) 2015-12-04 2022-08-10 10X Genomics, Inc. Methods and compositions for nucleic acid analysis
KR102039189B1 (ko) 2016-03-23 2019-11-01 서울대학교산학협력단 중증열성혈소판감소증후군 바이러스의 외막 당단백질에 결합하는 항체 및 이의 용도
WO2017197343A2 (en) 2016-05-12 2017-11-16 10X Genomics, Inc. Microfluidic on-chip filters
WO2017197338A1 (en) 2016-05-13 2017-11-16 10X Genomics, Inc. Microfluidic systems and methods of use
US11299783B2 (en) 2016-05-27 2022-04-12 Personalis, Inc. Methods and systems for genetic analysis
US11098360B2 (en) 2016-06-01 2021-08-24 Roche Sequencing Solutions, Inc. Immuno-PETE
CN106047857B (zh) * 2016-06-01 2020-04-03 苏州金唯智生物科技有限公司 一种发掘特异性功能抗体的方法
GB201612242D0 (en) * 2016-07-14 2016-08-31 Genome Res Ltd And Cambridge Entpr Ltd Novel kit
JP7075394B2 (ja) 2016-07-21 2022-05-25 タカラ バイオ ユーエスエー, インコーポレイテッド マルチウェルデバイスを用いたマルチz撮像及び分注
US10428325B1 (en) 2016-09-21 2019-10-01 Adaptive Biotechnologies Corporation Identification of antigen-specific B cell receptors
MA46354A (fr) 2016-10-03 2019-08-07 Juno Therapeutics Inc Molécules se liant spécifiquement au vph
US10815525B2 (en) 2016-12-22 2020-10-27 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10550429B2 (en) 2016-12-22 2020-02-04 10X Genomics, Inc. Methods and systems for processing polynucleotides
EP4310183B1 (en) 2017-01-30 2025-07-09 10X Genomics, Inc. Methods and systems for droplet-based single cell barcoding
US12264411B2 (en) 2017-01-30 2025-04-01 10X Genomics, Inc. Methods and systems for analysis
EP4230746A3 (en) 2017-05-26 2023-11-01 10X Genomics, Inc. Single cell analysis of transposase accessible chromatin
US10844372B2 (en) 2017-05-26 2020-11-24 10X Genomics, Inc. Single cell analysis of transposase accessible chromatin
MA49352A (fr) 2017-05-26 2020-04-08 Abvitro Llc Séquençage de bibliothèque de polynucléotides à haut rendement et analyse de transcriptome
EP3664835B1 (en) 2017-08-09 2024-10-23 Juno Therapeutics, Inc. Methods and compositions for preparing genetically engineered cells
MA50079A (fr) 2017-09-07 2020-07-15 Juno Therapeutics Inc Procédés d'identification de caractéristiques cellulaires relatives à des réponses associées à une thérapie cellulaire
EP3692063A1 (en) 2017-10-03 2020-08-12 Juno Therapeutics, Inc. Hpv-specific binding molecules
WO2019099751A1 (en) 2017-11-15 2019-05-23 10X Genomics, Inc. Functionalized gel beads
US10829815B2 (en) 2017-11-17 2020-11-10 10X Genomics, Inc. Methods and systems for associating physical and genetic properties of biological particles
US11254980B1 (en) 2017-11-29 2022-02-22 Adaptive Biotechnologies Corporation Methods of profiling targeted polynucleotides while mitigating sequencing depth requirements
KR20200110745A (ko) 2017-12-15 2020-09-25 주노 쎄러퓨티크스 인코퍼레이티드 항 - cct5 결합 분자 및 이의 사용 방법
CN112005115A (zh) 2018-02-12 2020-11-27 10X基因组学有限公司 表征来自单个细胞或细胞群体的多种分析物的方法
MX2020010460A (es) 2018-04-05 2021-01-29 Juno Therapeutics Inc Receptores de células t, y células diseñadas que expresan los mismos.
CN112262218B (zh) 2018-04-06 2024-11-08 10X基因组学有限公司 用于单细胞处理中的质量控制的系统和方法
WO2019199945A1 (en) * 2018-04-10 2019-10-17 Board Of Regents, The University Of Texas System Dna-barcoded antigen multimers and methods of use thereof
WO2019217758A1 (en) 2018-05-10 2019-11-14 10X Genomics, Inc. Methods and systems for molecular library generation
US11814750B2 (en) 2018-05-31 2023-11-14 Personalis, Inc. Compositions, methods and systems for processing or analyzing multi-species nucleic acid samples
US10801064B2 (en) 2018-05-31 2020-10-13 Personalis, Inc. Compositions, methods and systems for processing or analyzing multi-species nucleic acid samples
US11174479B2 (en) 2018-08-13 2021-11-16 The Board Of Trustees Of The Leland Stanford Junior University Devices and methods for display of encoded peptides, PolyPeptides, and proteins on DNA
CN113195735B (zh) 2018-10-19 2025-03-04 阿科亚生物科学股份有限公司 共存的受体编码核酸区段的检测
MA54863A (fr) 2019-01-29 2021-12-08 Juno Therapeutics Inc Anticorps et récepteurs antigéniques chimériques spécifiques du récepteur orphelin-1 de type récepteur à tyrosine kinase (ror1)
EP3941491A4 (en) 2019-03-21 2023-03-29 Gigamune, Inc. ENGINEERED CELLS EXPRESSING ANTIVIRAL T-CELL RECEPTORS AND METHODS OF USE
JP2022533656A (ja) * 2019-05-17 2022-07-25 アイレパートリー インコーポレイテッド 免疫レパートリー健康評価システムおよび方法
CA3147297A1 (en) * 2019-07-16 2021-01-21 Meliolabs Inc. Methods and devices for single-cell based digital high resolution melt
JP7470787B2 (ja) 2019-11-05 2024-04-18 パーソナリス,インコーポレイティド 単一試料からの腫瘍純度の推定
US11155858B2 (en) 2019-12-31 2021-10-26 Singular Genomics Systems, Inc. Polynucleotide barcodes for long read sequencing
US12449419B1 (en) 2020-02-12 2025-10-21 10X Genomics, Inc. Methods for detecting binding of peptide-MHC monomers to T cells
JP7647736B2 (ja) * 2020-02-14 2025-03-18 ソニーグループ株式会社 分析方法、分析システム、及び分析用表面
US20230178239A1 (en) 2020-05-13 2023-06-08 Juno Therapeutics, Inc. Methods of identifying features associated with clinical response and uses thereof
WO2022032195A2 (en) 2020-08-06 2022-02-10 Singular Genomics Systems, Inc. Spatial sequencing
EP4334706A4 (en) 2021-05-05 2025-08-06 Singular Genomics Systems Inc MULTIOMICS ANALYSIS DEVICE AND METHODS OF USE THEREOF
US12297508B2 (en) 2021-10-05 2025-05-13 Personalis, Inc. Customized assays for personalized cancer monitoring
WO2023091970A1 (en) * 2021-11-16 2023-05-25 The General Hospital Corporation Live-cell label-free prediction of single-cell omics profiles by microscopy
CN120344261A (zh) * 2022-11-02 2025-07-18 浙江纳米抗体技术中心有限公司 通过纵向谱系追踪发现抗体
WO2024192051A1 (en) 2023-03-13 2024-09-19 Turnstone Biologics Corp. Composition of selected tumor infiltrating lymphocytes and related methods of producing and using the same
WO2024249961A1 (en) 2023-06-01 2024-12-05 Singular Genomics Systems, Inc. Methods and probes for detecting polynucleotide sequences in cells and tissues
WO2025080865A1 (en) 2023-10-11 2025-04-17 Turnstone Biologics Corp. Combination of tumor infiltrating lymphocytes (til) and low dose radiation
WO2025090532A1 (en) * 2023-10-23 2025-05-01 Ctrl Therapeutics Usa, Inc. Platforms, cartridges, and methods for isolation and enrichment of target cells
WO2025096638A2 (en) 2023-10-30 2025-05-08 Turnstone Biologics Corp. Genetically modified tumor infilitrating lymphocytes and methods of producing and using the same

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2703908A (en) 1954-05-12 1955-03-15 Joseph J Stracker Heat deflector for pot handle
US4522811A (en) 1982-07-08 1985-06-11 Syntex (U.S.A.) Inc. Serial injection of muramyldipeptides and liposomes enhances the anti-infective activity of muramyldipeptides
US4683202A (en) 1985-03-28 1987-07-28 Cetus Corporation Process for amplifying nucleic acid sequences
US4683195A (en) 1986-01-30 1987-07-28 Cetus Corporation Process for amplifying, detecting, and/or-cloning nucleic acid sequences
US5168038A (en) 1988-06-17 1992-12-01 The Board Of Trustees Of The Leland Stanford Junior University In situ transcription in cells and tissues
EP0379369B1 (en) 1989-01-19 1996-09-04 BEHRINGWERKE Aktiengesellschaft Nucleic acid amplification using single primer
US5210015A (en) 1990-08-06 1993-05-11 Hoffman-La Roche Inc. Homogeneous assay system using the nuclease activity of a nucleic acid polymerase
US5612199A (en) 1991-10-11 1997-03-18 Behringwerke Ag Method for producing a polynucleotide for use in single primer amplification
US6294323B1 (en) 1993-04-14 2001-09-25 Behringwerke Ag Self initiating single primer amplification of nucleic acids
US5925517A (en) 1993-11-12 1999-07-20 The Public Health Research Institute Of The City Of New York, Inc. Detectably labeled dual conformation oligonucleotide probes, assays and kits
US5624711A (en) 1995-04-27 1997-04-29 Affymax Technologies, N.V. Derivatization of solid supports and methods for oligomer synthesis
US6261797B1 (en) 1996-01-29 2001-07-17 Stratagene Primer-mediated polynucleotide synthesis and manipulation techniques
NZ502323A (en) 1996-06-04 2001-09-28 Univ Utah Res Found Monitoring a fluorescence energy transfer pair during hybridization of first probe labelled with fluorescein to second probe labelled with Cy5 or Cy5.5
EP1028970A1 (en) 1997-10-10 2000-08-23 President And Fellows Of Harvard College Replica amplification of nucleic acid arrays
US6511803B1 (en) 1997-10-10 2003-01-28 President And Fellows Of Harvard College Replica amplification of nucleic acid arrays
US6485944B1 (en) 1997-10-10 2002-11-26 President And Fellows Of Harvard College Replica amplification of nucleic acid arrays
DE19813317A1 (de) 1998-03-26 1999-09-30 Roche Diagnostics Gmbh Verbessertes Verfahren zur Primer Extension Präamplifikations-PCR
US6391544B1 (en) 1998-05-15 2002-05-21 Abbott Laboratories Method for using unequal primer concentrations for generating nucleic acid amplification products
TWI333977B (en) * 2003-09-18 2010-12-01 Symphogen As Method for linking sequences of interest
WO2005082098A2 (en) 2004-02-27 2005-09-09 President And Fellows Of Harvard College Polony fluorescent in situ sequencing beads
US20070161001A1 (en) * 2004-03-04 2007-07-12 Dena Leshkowitz Quantifying and profiling antibody and t cell receptor gene expression
WO2006073504A2 (en) 2004-08-04 2006-07-13 President And Fellows Of Harvard College Wobble sequencing
WO2007120208A2 (en) 2005-11-14 2007-10-25 President And Fellows Of Harvard College Nanogrid rolling circle dna sequencing
WO2007065433A2 (en) 2005-12-05 2007-06-14 Symphogen A/S Anti-orthopoxvirus recombinant polyclonal antibody
JP2009528828A (ja) * 2006-03-06 2009-08-13 シムフォゲン・アクティーゼルスカブ 消化器多核体ウイルス感染症の治療のための組み換えポリクローナル抗体
US20080269068A1 (en) 2007-02-06 2008-10-30 President And Fellows Of Harvard College Multiplex decoding of sequence tags in barcodes
MX2009008908A (es) * 2007-03-01 2009-08-28 Symphogen As Metodo para clonacion de anticuerpos analogos.
WO2008106980A2 (en) 2007-03-06 2008-09-12 Symphogen A/S Recombinant antibodies for treatment of respiratory syncytial virus infections
CA2742380C (en) * 2008-11-07 2018-05-29 Sequenta, Inc. Methods of monitoring conditions by sequence analysis
EP2572203B1 (en) * 2010-05-17 2017-10-25 The Board of Regents of The University of Texas System Determination of antigen-specific antibody sequences in blood circulation
ES2730951T3 (es) 2010-10-08 2019-11-13 Harvard College Secuenciación inmune de alto rendimiento
DE102018221710A1 (de) 2018-12-13 2020-06-18 Volkswagen Aktiengesellschaft Dachkonsole für ein Fahrzeug

Also Published As

Publication number Publication date
US10392726B2 (en) 2019-08-27
EP2625295A2 (en) 2013-08-14
EP2625295A4 (en) 2014-04-23
EP2625295B1 (en) 2019-03-13
GB2498163A (en) 2013-07-03
CA2814047A1 (en) 2012-04-12
WO2012048340A2 (en) 2012-04-12
CA2814047C (en) 2017-11-14
US20130296535A1 (en) 2013-11-07
EP3561073A1 (en) 2019-10-30
GB201308243D0 (en) 2013-06-12
US12012670B2 (en) 2024-06-18
GB2498163B (en) 2015-07-01
US20200095704A1 (en) 2020-03-26
WO2012048340A3 (en) 2012-06-21
DK2625295T3 (da) 2019-06-11

Similar Documents

Publication Publication Date Title
ES2730951T3 (es) Secuenciación inmune de alto rendimiento
ES2926722T3 (es) Secuenciación de alto rendimiento de biblioteca de polinucleótidos y análisis de transcriptoma
US20240076732A1 (en) High-throughput nucleotide library sequencing
US20220065856A1 (en) Affinity-oligonucleotide conjugates and uses thereof
ES2861595T3 (es) Identificación de polinucleótidos asociados a una muestra
KR20230016184A (ko) 코로나바이러스에 대한 변이체 핵산 라이브러리
JP6929354B2 (ja) 親和性−オリゴヌクレオチドコンジュゲートおよびその使用
WO2022182662A1 (en) Compositions and methods for mapping antigen-binding molecule affinity to antigen regions of interest
HK40010110A (en) High-throughput immune sequencing
Georgiou et al. Rapid isolation of monoclonal antibodies from animals
HK40026019A (en) High-throughput polynucleotide library sequencing and transcriptome analysis
HK40026019B (en) High-throughput polynucleotide library sequencing and transcriptome analysis
HK1257814B (en) Identification of polynucleotides associated with a sample
HK1257815B (en) Identification of polynucleotides associated with a sample