Учебники

Биопайтон — фенотип микрочипа

Фенотип определяется как наблюдаемый характер или признак, проявляемый организмом в отношении определенного химического вещества или окружающей среды. Фенотип микрочипа одновременно измеряет реакцию организма на большее количество химических веществ и окружающей среды и анализирует данные, чтобы понять генную мутацию, генные признаки и т. Д.

Biopython предоставляет отличный модуль Bio.Phenotype для анализа фенотипических данных. Давайте узнаем, как анализировать, интерполировать, извлекать и анализировать данные микрочипов фенотипа в этой главе.

анализ

Данные микрочипа фенотипа могут быть в двух форматах: CSV и JSON. Biopython поддерживает оба формата. Анализатор Biopython анализирует данные микрочипа фенотипа и возвращает их в виде коллекции объектов PlateRecord. Каждый объект PlateRecord содержит коллекцию объектов WellRecord. Каждый объект WellRecord содержит данные в формате 8 строк и 12 столбцов. Восемь строк представлены от A до H, а 12 столбцов представлены от 01 до 12. Например, 4- й ряд и 6- й столбец представлены D06.

Давайте разберемся с форматом и концепцией разбора на следующем примере:

Шаг 1 — Загрузите файл Plates.csv, предоставленный командой Biopython — https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/Plates.csv

Шаг 2 — Загрузите модуль фенотипа, как показано ниже —

>>> from Bio import phenotype

Шаг 3 — Вызвать метод phenotype.parse, передав файл данных и опцию формата («pm-csv»). Он возвращает итеративный PlateRecord, как показано ниже,

>>> plates = list(phenotype.parse('Plates.csv', "pm-csv")) 
>>> plates 
[PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ..., WellRecord['H12']'), 
PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ..., WellRecord['H12']'), 
PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ..., WellRecord['H12']'), 
PlateRecord('WellRecord['A01'], WellRecord['A02'],WellRecord['A03'], ..., WellRecord['H12']')] 
>>>

Шаг 4 — Доступ к первой табличке из списка, как показано ниже —

>>> plate = plates[0] 
>>> plate 
PlateRecord('WellRecord['A01'], WellRecord['A02'], WellRecord['A03'], ...,
WellRecord['H12']')
>>>

Шаг 5 — Как обсуждалось ранее, пластина содержит 8 рядов, каждый из которых содержит 12 предметов. Доступ к WellRecord можно получить двумя способами, как указано ниже:

>>> well = plate["A04"] 
>>> well = plate[0, 4] 
>>> well WellRecord('(0.0, 0.0), (0.25, 0.0), (0.5, 0.0), (0.75, 0.0), 
   (1.0, 0.0), ..., (71.75, 388.0)')
>>>

Шаг 6 — Каждая скважина будет иметь серии измерений в разные моменты времени, и к ней можно получить доступ, используя цикл for, как указано ниже —

>>> for v1, v2 in well: 
... print(v1, v2) 
... 
0.0 0.0 
0.25 0.0 
0.5 0.0 
0.75 0.0 
1.0 0.0 
... 
71.25 388.0 
71.5 388.0 
71.75 388.0
>>>

интерполирование

Интерполяция дает более глубокое понимание данных. Biopython предоставляет методы для интерполяции данных WellRecord для получения информации о промежуточных временных точках. Синтаксис похож на индексирование списка и поэтому прост в изучении.

Чтобы получить данные за 20,1 часа, просто передайте в качестве значений индекса, как указано ниже —

>>> well[20.10] 
69.40000000000003
>>>

Мы можем передать начальный и конечный момент времени, как указано ниже —

>>> well[20:30] 
[67.0, 84.0, 102.0, 119.0, 135.0, 147.0, 158.0, 168.0, 179.0, 186.0]
>>>

Приведенная выше команда интерполирует данные от 20 часов до 30 часов с интервалом в 1 час. По умолчанию интервал составляет 1 час, и мы можем изменить его на любое значение. Например, давайте дадим интервал 15 минут (0,25 часа), как указано ниже —

>>> well[20:21:0.25] 
[67.0, 73.0, 75.0, 81.0]
>>>

Анализировать и извлекать

Biopython предоставляет метод, пригодный для анализа данных WellRecord с использованием сигмоидальных функций Gompertz, Logistic и Richards. По умолчанию метод fit использует функцию Gompertz. Нам нужно вызвать метод fit объекта WellRecord, чтобы выполнить задачу. Кодировка выглядит следующим образом —

>>> well.fit() 
Traceback (most recent call last): 
... 
Bio.MissingPythonDependencyError: Install scipy to extract curve parameters. 
>>> well.model 
>>> getattr(well, 'min') 0.0 
>>> getattr(well, 'max') 388.0 
>>> getattr(well, 'average_height') 
205.42708333333334
>>>

Biopython зависит от модуля scipy, чтобы выполнить расширенный анализ. Он будет вычислять минимальные, максимальные и средние значения высоты без использования модуля scipy.