ДНК Лігаційний Калькулятор - Розрахунок Співвідношення Вставки до Вектора для Молекулярного Клонування
Безкоштовний калькулятор лігації ДНК для молекулярного клонування. Розрахуйте оптимальні об'єми вставки та вектора, молярні співвідношення та кількість буферу для успішних реакцій T4 лігази за лічені секунди.
Калькулятор лігування ДНК
Вхідні параметри
Результати лігування
Формула розрахунку
Кількість ДНК вставки розраховується за допомогою:
ng insert = (ng vector × kb insert / kb vector) × molar ratio
= (50 × 1.00 / 3.00) × 3
= 50 ng
Розрахунок об'єму: 50 ng ÷ 25 ng/μL = 2 μL
Документація
Вступ
Правильне встановлення молярного співвідношення в лігації ДНК може бути визначальним між успішними клонами та frustratingними невдачами. Якщо ви колись витрачали дні на налагодження реакції лігації, лише щоб усвідомити, що співвідношення вставки до вектора було неправильним, ви знаєте, наскільки критичними є ці розрахунки.
Цей Калькулятор Лігації ДНК визначає оптимальні кількості векторної та вставної ДНК, необхідні для експериментів з молекулярного клонування. Основний принцип простий: досягнення правильного молярного співвідношення між плазмідним вектором та вставкою ДНК. Менш очевидним є те, що рівні маси не означають рівну кількість молекул — вставка 1 kb важить набагато менше, ніж вектор 5 kb, тому потрібно коригувати кількості залежно від розмірів фрагментів.
Ось що зазвичай працює на практиці: молярне співвідношення вставки до вектора від 3:1 до 5:1 дає надійні результати для більшості стандартних застосувань клонування. Однак, лігації з тупими кінцями часто мають перевагу при вищих співвідношеннях, а великі вставки (>10 kb) можуть вимагати нижчих співвідношень. Це не довільні числа — вони відображають десятиліття емпіричної оптимізації молекулярними біологами по всьому світу, задокументовані в ресурсах, як-от посібник з молекулярного клонування Cold Spring Harbor та протоколи від New England Biolabs.
Незалежно від того, чи створюєте ви експресійні вектори, бібліотеки генів або усуваєте проблеми з впертим субклонуванням, точні розрахунки заощаджують як час, так і дорогі реактиви. Поширеною помилкою є забування врахування варіацій концентрації ДНК після гель-очищення — ваше показання нанодропу має значення більше, ніж ви могли б подумати.
Формула та розрахунок лігування ДНК
Розрахунок лігування ДНК простіший, ніж здається на перший погляд. По суті, ви розв'язуєте задачу молекулярної біології: як отримати правильну кількість молекул вставки відносно молекул вектора, коли вони мають різні розміри?
Формула враховує розміри фрагментів та концентрації для досягнення цільового молярного співвідношення. Розуміння цього розрахунку допомагає вам усувати несправності — якщо лігування не працює, ви можете швидко перевірити, чи є проблема в кількості ДНК.
Розрахунок кількості вставки
Необхідна кількість ДНК вставки (у нанограмах) розраховується за наступною формулою:
Де:
- нг вектора = кількість ДНК вектора, що використовується в реакції (зазвичай 50-100 нг)
- розмір вставки (кб) = довжина фрагмента ДНК вставки в кілобазах (кб)
- розмір вектора (кб) = довжина ДНК вектора в кілобазах (кб)
- молярне співвідношення = бажане співвідношення молекул вставки до молекул вектора (зазвичай 3:1 до 5:1)
Розрахунки об'ємів
Після визначення необхідної кількості ДНК вставки розраховуються об'єми, необхідні для реакції:
Приклад розрахунку: клонування гена 1 кб у стандартну плазміду
Розглянемо реальний сценарій — клонування гена 1 кб у типовий експресійний вектор:
Ваші зразки ДНК:
- Концентрація вектора: 50 нг/мкл (щойно розщеплена pET28a)
- Довжина вектора: 3000 п.н. (3 кб)
- Концентрація вставки: 25 нг/мкл (ваш ПЛР-амплійований ген, очищений гелем)
- Довжина вставки: 1000 п.н. (1 кб)
- Цільове молярне співвідношення: 3:1 (вставка:вектор)
- Загальний об'єм реакції: 20 мкл
- Кількість вектора: 50 нг (стандартна початкова кількість)
Крок 1: Розрахунок необхідної кількості вставки
Зверніть увагу, що вставка в три рази менша за вектор, тому потрібно менше маси для досягнення більшої кількості молекул.
Крок 2: Розрахунок необхідних об'ємів
Що це означає на практиці: Ви змішаєте 1 мкл вектора, 2 мкл вставки, додасте Т4 ДНК лігазу (зазвичай 1 мкл) і доведете загальний об'єм до 20 мкл лігаційним буфером. Це забезпечує три молекули вставки на кожну молекулу вектора — достатньо, щоб спрямувати реакцію вперед, не перевантажуючи систему.
Як використовувати калькулятор лігування ДНК
Використання цього калькулятора займає близько 30 секунд після вимірювання концентрацій ДНК. Ось послідовність дій:
1. Введіть деталі вектора
- Концентрація в нг/мкл (перевірте показання Nanodrop або Qubit)
- Довжина в парах основ — перевірте карту плазміди або дані секвенування
- Кількість, яку ви хочете використати (50-100 нг підходить для більшості застосувань)
2. Додайте інформацію про вставку
- Концентрація в нг/мкл (виміряйте після гель-очищення для найкращої точності)
- Довжина фрагмента в парах основ
3. Встановіть параметри реакції
- Молярне співвідношення: почніть з 3:1 для липких кінців, 5:1 для тупих кінців
- Загальний об'єм: 10-20 мкл є стандартним (менші об'єми економлять реактиви, більші об'єми легше точно піпетувати)
4. Перегляньте розраховані об'єми Калькулятор миттєво показує вам:
- Точні об'єми вектора та вставки для піпетування
- Скільки буферу для лігування або води додати
- Загальні кількості ДНК у реакції
Якщо калькулятор попереджає, що об'єми не підходять, ваша ДНК занадто розведена або загальний об'єм занадто малий. Типове вирішення: концентруйте зразки ДНК або збільшіть об'єм реакції.
Професійна порада: Скопіюйте результати безпосередньо до лабораторного журналу. Майбутній ви буде вдячний за документацію цих розрахунків при усуненні несправностей або оптимізації протоколу.
Реальні застосування та варіанти використання
Стандартне молекулярне клонування
Більшість дослідників використовують цей калькулятор для рутинної клонувальної роботи — вставлення генів у експресійні вектори, субклонування між плазмідами або створення репортерних аналізів. Розрахунки з часом стають звичними, але їх перевірка запобігає моментам розгубленості, коли лігація несподівано не спрацьовує через використання рівних мас замість рівних молей.
Оптимізація експресії білків
Коли ви налаштовуєте системи експресії білків, правильна лігація з першої спроби має значення. Висококопійні вектори, такі як похідні pUC, мають перевагу при трохи нижчих співвідношеннях вставки (2:1 або 3:1), щоб уникнути перевантаження реакції лігації. Цей калькулятор допомагає налаштувати ці співвідношення на основі розміру вашого вектора.
Конструювання CRISPR-векторів
Клонування напрямних РНК у CRISPR-вектори має унікальні виклики — часто доводиться працювати з дуже маленькими вставками (20-100 пар основ). Калькулятор впорається з цими сценаріями, коли інтуїція підводить. Вставка 60 пар основ gRNA у вектор розміром 9 кб вимагає ретельних розрахунків співвідношень, і саме тут точна математика рятує від невдалих експериментів.
Синтетична біологія та багатофрагментна збірка
Хоча методи Gibson Assembly та Golden Gate мають інші вимоги, ніж традиційна лігація, розуміння молярних співвідношень залишається crucial. Цей калькулятор допомагає продумати стехіометрію фрагментів, навіть якщо ви використовуєте альтернативні методи збірки. Багато синтетичних біологів використовують його як відправну точку перед налаштуванням під конкретний протокол.
Усунення проблем з важкими лігаціями
Деякі лігації особливо складні:
- Великі вставки (>5 кб): Використовуйте нижчі співвідношення (1:1 або 2:1), щоб уникнути стеричних проблем
- Крихітні фрагменти (<100 пар основ): Збільшіть співвідношення до 10:1 або вище, щоб компенсувати неефективність кінцевого відновлення
- Тупокінцеві лігації: Мають нижчу ефективність; почніть з співвідношень 5:1 і додайте PEG до реакції
- AT-багаті або GC-багаті послідовності: Можуть вимагати оптимізації співвідношень — калькулятор дозволяє експериментувати систематично
Те, що часто упускається з уваги: після гель-очищення концентрації ДНК можуть значно відрізнятися від вихідного матеріалу. Завжди вимірюйте повторно перед розрахунком об'ємів лігації.
Коли розглянути альтернативні методи клонування
Традиційна лігація добре працює для більшості застосувань, але існують інші методи для специфічних сценаріїв:
Gibson Assembly став провідним методом збирання декількох фрагментів в одній реакції. Все ще потрібно думати про співвідношення фрагментів — зазвичай працюють еквімолярні кількості, але математика подібна. Особливо корисний, коли ви створюєте складні конструкції з 3+ фрагментів. Згідно з оригінальним протоколом Gibson Assembly, підтримання приблизно рівних молярних кількостей усіх фрагментів дає найкращі результати.
Golden Gate Assembly особливо ефективний для повторюваних клонувальних проектів або при створенні комбінаторних бібліотек. Рестриктази типу IIS створюють спрямовані, без шрамів з'єднання. Головна перевага перед традиційною лігацією — здатність збирати декілька фрагментів у визначеному порядку без залишення шрамів. Розрахунки простіші — просто прагніть до еквімолярних концентрацій усіх частин.
In-Fusion та подібні комплекти для безшовного клонування добре працюють, коли ви хочете уникнути рестрикційних ферментів. Вони використовують короткі (15 пар основ) ділянки гомології та власні ферментні суміші. Ці комерційні системи спрощують розрахунки, але додають вартість за реакцію — підходить для невеликих проектів, дорого для рутинної роботи.
Gateway клонування має сенс, якщо ви переміщуєте гени між багатьма різними векторами, особливо у високопродуктивних налаштуваннях. Початкова настройка вимагає спеціальних векторів, але подальші переноси прості. Багато лабораторій використовують це для скринінгу експресії в різних системах.
Емпірична оптимізація залишається актуальною при роботі з особливо впертими конструкціями. Налаштуйте паралельні лігації зі співвідношеннями 1:1, 3:1, 5:1 та 10:1, потім подивіться, що спрацює найкраще. Цей систематичний підхід часто розкриває, що ваша специфічна комбінація вектор-вставка має незвичайні переваги. Документуйте те, що працює — ця інформація заощадить час для майбутніх подібних проектів.
Коротка історія розрахунків лігування ДНК
Історія розрахунків лігування пов'язана з народженням самої технології рекомбінантної ДНК. Коли Пол Берг, Герберт Бойєр та Стенлі Коен створили перші рекомбінантні молекули ДНК на початку 1970-х років, ніхто не розраховував молярні співвідношення — вчені використовували метод спроб і помилок, щоб зрозуміти, що працює. Т4 ДНК-лігаза з бактеріофага, інфікованого E. coli, стала провідним ферментом, здатним з'єднувати як тупі, так і липкі кінці.
Протягом 1980-х та 1990-х років, коли клонування стало звичайною, а не революційною процедурою, почали вимальовуватися певні закономірності. Лабораторії помітили, що надлишок вставної ДНК покращує показники успіху. Настанова щодо молярного співвідношення 3:1 до 5:1 виникла з колективного досвіду, що поширювався через протоколи, посібники Cold Spring Harbor та незліченні лабораторні наради. Математична формула сама по собі проста — просто врахування відмінностей молекулярної маси — але її систематичне застосування відбувалося поступово, оскільки кращі практики поширювалися серед спільноти молекулярних біологів.
Справжній перелом стався у 2000-х роках, коли обчислювальні інструменти зробили розрахунки доступними поза межами ментальної математики чи дослідників з калькуляторами. Онлайн-калькулятори демократизували точність, особливо корисні для складних сценаріїв, таких як клонування великих вставок або крихітних фрагментів, де інтуїція не спрацьовує. Цікаво, що навіть з появою новіших методів, як Gibson Assembly, основний принцип контролю молекулярних співвідношень залишався фундаментальним — просто застосовується по-різному залежно від задіяної хімії.
Сьогоднішні розрахунки лігування базуються на тій самій базовій математиці, розробленій десятиліття тому, яка була вдосконалена мільйонами успішних (і невдалих) експериментів з клонування в дослідницьких лабораторіях по всьому світу.
Приклади коду
Ось реалізації калькулятора лігації ДНК різними мовами програмування:
1' Функція Excel VBA для калькулятора лігації ДНК
2Function CalculateInsertAmount(vectorAmount As Double, vectorLength As Double, insertLength As Double, molarRatio As Double) As Double
3 ' Розрахунок необхідної кількості вставки в нг
4 CalculateInsertAmount = vectorAmount * (insertLength / vectorLength) * molarRatio
5End Function
6
7Function CalculateVectorVolume(vectorAmount As Double, vectorConcentration As Double) As Double
8 ' Розрахунок об'єму вектора в мкл
9 CalculateVectorVolume = vectorAmount / vectorConcentration
10End Function
11
12Function CalculateInsertVolume(insertAmount As Double, insertConcentration As Double) As Double
13 ' Розрахунок об'єму вставки в мкл
14 CalculateInsertVolume = insertAmount / insertConcentration
15End Function
16
17Function CalculateBufferVolume(totalVolume As Double, vectorVolume As Double, insertVolume As Double) As Double
18 ' Розрахунок об'єму буфера/води в мкл
19 CalculateBufferVolume = totalVolume - vectorVolume - insertVolume
20End Function
21
22' Приклад використання в комірці:
23' =CalculateInsertAmount(50, 3000, 1000, 3)
241def calculate_ligation_volumes(vector_concentration, vector_length, insert_concentration,
2 insert_length, molar_ratio, total_volume, vector_amount=50):
3 """
4 Розрахунок об'ємів для реакції лігації ДНК.
5
6 Параметри:
7 vector_concentration (float): Концентрація ДНК вектора в нг/мкл
8 vector_length (float): Довжина ДНК вектора в парах основ
9 insert_concentration (float): Концентрація ДНК вставки в нг/мкл
10 insert_length (float): Довжина ДНК вставки в парах основ
11 molar_ratio (float): Бажане молярне співвідношення вставки:вектора
12 total_volume (float): Загальний об'єм реакції в мкл
13 vector_amount (float): Кількість ДНК вектора для використання в нг (за замовчуванням: 50)
14
15 Повертає:
16 dict: Словник з розрахованими об'ємами та кількостями
17 """
18 # Розрахунок об'єму вектора
19 vector_volume = vector_amount / vector_concentration
20
21 # Розрахунок необхідної кількості вставки
22 vector_length_kb = vector_length / 1000
23 insert_length_kb = insert_length / 1000
24 insert_amount = (vector_amount * insert_length_kb / vector_length_kb) * molar_ratio
25
26 # Розрахунок об'єму вставки
27 insert_volume = insert_amount / insert_concentration
28
29 # Розрахунок об'єму буфера/води
30 buffer_volume = total_volume - vector_volume - insert_volume
31
32 return {
33 "vector_volume": round(vector_volume, 2),
34 "insert_volume": round(insert_volume, 2),
35 "buffer_volume": round(buffer_volume, 2),
36 "insert_amount": round(insert_amount, 2),
37 "vector_amount": vector_amount
38 }
39
40# Приклад використання
41result = calculate_ligation_volumes(
42 vector_concentration=50,
43 vector_length=3000,
44 insert_concentration=25,
45 insert_length=1000,
46 molar_ratio=3,
47 total_volume=20
48)
49
50print(f"Вектор: {result['vector_volume']} мкл ({result['vector_amount']} нг)")
51print(f"Вставка: {result['insert_volume']} мкл ({result['insert_amount']} нг)")
52print(f"Буфер: {result['buffer_volume']} мкл")
53print(f"Всього: 20 мкл")
541function calculateLigationVolumes(vectorConcentration, vectorLength, insertConcentration,
2 insertLength, molarRatio, totalVolume, vectorAmount = 50) {
3 // Перетворення довжин на кб для розрахунку
4 const vectorLengthKb = vectorLength / 1000;
5 const insertLengthKb = insertLength / 1000;
6
7 // Розрахунок необхідної кількості вставки
8 const insertAmount = (vectorAmount * insertLengthKb / vectorLengthKb) * molarRatio;
9
10 // Розрахунок об'ємів
11 const vectorVolume = vectorAmount / vectorConcentration;
12 const insertVolume = insertAmount / insertConcentration;
13 const bufferVolume = totalVolume - vectorVolume - insertVolume;
14
15 return {
16 vectorVolume: parseFloat(vectorVolume.toFixed(2)),
17 insertVolume: parseFloat(insertVolume.toFixed(2)),
18 bufferVolume: parseFloat(bufferVolume.toFixed(2)),
19 insertAmount: parseFloat(insertAmount.toFixed(2)),
20 vectorAmount: vectorAmount
21 };
22}
23
24// Приклад використання
25const result = calculateLigationVolumes(50, 3000, 25, 1000, 3, 20);
26console.log(`Вектор: ${result.vectorVolume} мкл (${result.vectorAmount} нг)`);
27console.log(`Вставка: ${result.insertVolume} мкл (${result.insertAmount} нг)`);
28console.log(`Буфер: ${result.bufferVolume} мкл`);
29console.log(`Всього: 20 мкл`);
301public class DNALigationCalculator {
2 public static class LigationResult {
3 public final double vectorVolume;
4 public final double insertVolume;
5 public final double bufferVolume;
6 public final double insertAmount;
7 public final double vectorAmount;
8
9 public LigationResult(double vectorVolume, double insertVolume, double bufferVolume,
10 double insertAmount, double vectorAmount) {
11 this.vectorVolume = vectorVolume;
12 this.insertVolume = insertVolume;
13 this.bufferVolume = bufferVolume;
14 this.insertAmount = insertAmount;
15 this.vectorAmount = vectorAmount;
16 }
17 }
18
19 public static LigationResult calculateLigationVolumes(
20 double vectorConcentration, double vectorLength,
21 double insertConcentration, double insertLength,
22 double molarRatio, double totalVolume, double vectorAmount) {
23
24 // Перетворення довжин на кб
25 double vectorLengthKb = vectorLength / 1000.0;
26 double insertLengthKb = insertLength / 1000.0;
27
28 // Розрахунок необхідної кількості вставки
29 double insertAmount = (vectorAmount * insertLengthKb / vectorLengthKb) * molarRatio;
30
31 // Розрахунок об'ємів
32 double vectorVolume = vectorAmount / vectorConcentration;
33 double insertVolume = insertAmount / insertConcentration;
34 double bufferVolume = totalVolume - vectorVolume - insertVolume;
35
36 // Округлення до 2 знаків після коми
37 vectorVolume = Math.round(vectorVolume * 100.0) / 100.0;
38 insertVolume = Math.round(insertVolume * 100.0) / 100.0;
39 bufferVolume = Math.round(bufferVolume * 100.0) / 100.0;
40 insertAmount = Math.round(insertAmount * 100.0) / 100.0;
41
42 return new LigationResult(vectorVolume, insertVolume, bufferVolume, insertAmount, vectorAmount);
43 }
44
45 public static void main(String[] args) {
46 LigationResult result = calculateLigationVolumes(50, 3000, 25, 1000, 3, 20, 50);
47
48 System.out.printf("Вектор: %.2f мкл (%.2f нг)%n", result.vectorVolume, result.vectorAmount);
49 System.out.printf("Вставка: %.2f мкл (%.2f нг)%n", result.insertVolume, result.insertAmount);
50 System.out.printf("Буфер: %.2f мкл%n", result.bufferVolume);
51 System.out.printf("Всього: 20 мкл%n");
52 }
53}
541#include <iostream>
2#include <cmath>
3#include <iomanip>
4
5struct LigationResult {
6 double vectorVolume;
7 double insertVolume;
8 double bufferVolume;
9 double insertAmount;
10 double vectorAmount;
11};
12
13LigationResult calculateLigationVolumes(
14 double vectorConcentration, double vectorLength,
15 double insertConcentration, double insertLength,
16 double molarRatio, double totalVolume, double vectorAmount = 50.0) {
17
18 // Перетворення довжин на кб
19 double vectorLengthKb = vectorLength / 1000.0;
20 double insertLengthKb = insertLength / 1000.0;
21
22 // Розрахунок необхідної кількості вставки
23 double insertAmount = (vectorAmount * insertLengthKb / vectorLengthKb) * molarRatio;
24
25 // Розрахунок об'ємів
26 double vectorVolume = vectorAmount / vectorConcentration;
27 double insertVolume = insertAmount / insertConcentration;
28 double bufferVolume = totalVolume - vectorVolume - insertVolume;
29
30 // Округлення до 2 знаків після коми
31 vectorVolume = std::round(vectorVolume * 100.0) / 100.0;
32 insertVolume = std::round(insertVolume * 100.0) / 100.0;
33 bufferVolume = std::round(bufferVolume * 100.0) / 100.0;
34 insertAmount = std::round(insertAmount * 100.0) / 100.0;
35
36 return {vectorVolume, insertVolume, bufferVolume, insertAmount, vectorAmount};
37}
38
39int main() {
40 LigationResult result = calculateLigationVolumes(50, 3000, 25, 1000, 3, 20);
41
42 std::cout << std::fixed << std::setprecision(2);
43 std::cout << "Вектор: " << result.vectorVolume << " мкл (" << result.vectorAmount << " нг)" << std::endl;
44 std::cout << "Вставка: " << result.insertVolume << " мкл (" << result.insertAmount << " нг)" << std::endl;
45 std::cout << "Буфер: " << result.bufferVolume << " мкл" << std::endl;
46 std::cout << "Всього: 20 мкл" << std::endl;
47
48 return 0;
49}
50Часто запитувані питання
Який оптимальний молярний співвідношення для лігації ДНК?
Почніть з 3:1 (вставка:вектор) для лігацій з липкими кінцями — це співвідношення надійно працює для більшості стандартних клонувальних проектів. Лігації з тупими кінцями мають нижчу ефективність, тому збільшіть співвідношення до 5:1 або навіть вище.
Ось що працює на практиці:
- Лігації з липкими кінцями: 1:1 до 3:1 (почніть з 3:1)
- Лігації з тупими кінцями: 5:1 до 10:1
- Великі вставки (>10 кб): 1:1 до 2:1 (стеричні перешкоди стають фактором)
- Малі вставки (<500 пн): 5:1 до 10:1 (компенсує можливе пошкодження кінців)
- Збірка з кількох фрагментів: 3:1 для кожної вставки відносно вектора
Якщо сумніваєтесь, проведіть паралельні реакції з різними співвідношеннями. Це займе додаткову годину підготовки, але заощадить дні на усунення несправностей.
[Решта тексту продовжується аналогічним чином...]
Посилання
-
Sambrook J, Russell DW. (2001). Молекулярне клонування: Лабораторний посібник (3-тє видання). Cold Spring Harbor Laboratory Press.
-
Green MR, Sambrook J. (2012). Молекулярне клонування: Лабораторний посібник (4-те видання). Cold Spring Harbor Laboratory Press.
-
Engler C, Kandzia R, Marillonnet S. (2008). Метод точного клонування за один крок з високою пропускною здатністю. PLoS ONE, 3(11), e3647. https://doi.org/10.1371/journal.pone.0003647
-
Gibson DG, Young L, Chuang RY, Venter JC, Hutchison CA, Smith HO. (2009). Ферментативна збірка ДНК-молекул до кількох сотень кілобаз. Nature Methods, 6(5), 343-345. https://doi.org/10.1038/nmeth.1318
-
Aslanidis C, de Jong PJ. (1990). Лігаційно-незалежне клонування ПЛР-продуктів (LIC-PCR). Nucleic Acids Research, 18(20), 6069-6074. https://doi.org/10.1093/nar/18.20.6069
-
Zimmerman SB, Pheiffer BH. (1983). Макромолекулярне ущільнення дозволяє тупокінцеву лігацію за допомогою ДНК-лігаз з печінки щура або Escherichia coli. Proceedings of the National Academy of Sciences, 80(19), 5852-5856. https://doi.org/10.1073/pnas.80.19.5852
-
Addgene - Молекулярно-біологічний довідник. https://www.addgene.org/mol-bio-reference/
-
New England Biolabs (NEB) - Протокол лігації ДНК. https://www.neb.com/protocols/0001/01/01/dna-ligation-protocol-with-t4-dna-ligase-m0202
-
Thermo Fisher Scientific - Технічний довідник з молекулярного клонування. https://www.thermofisher.com/us/en/home/life-science/cloning/cloning-learning-center.html
-
Promega - Технічний посібник з клонування. https://www.promega.com/resources/product-guides-and-selectors/protocols-and-applications-guide/cloning/