Модернизация локальной вычислительной сети ООО "Комсэл"

 

Московский государственный университет им. М.В. Ломоносова

Филиал МГУ в г.Севастополе

Факультет ВМиК












Курсовая работа

МОДЕРНИЗАЦИЯ БАЗЫ ДАННЫХ ОБ АНАЛИЗАХ НА ДНК МИКРОЧИПАХ



Выполнил: Терзи Иван,

Научный руководитель: Сальников А.Н., к.ф.-м.н.






г. Москва 2012 год.



Содержание


ВВЕДЕНИЕ

. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

.ДНК-микрочипы. Экспрессия гена. Способы хранения и обработки информации, полученной с помощью ДНК-анализов

.СMSDrupal: архитектура и особенности

.Сравнение Drupal с другими CMS

. ПОСТРОЕНИЕ МОДУЛЯ КОНТРОЛЯ И ДОСТУПА К БД ДНК-МИКРОЧИПОВ

.Описание инструментов и средств разработки

.Структура БД DNA Microarrays Access Control Interface

3.Структура модуля DNA Microarrays Access Control Interface

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ



ВВЕДЕНИЕ


Появление во 2-й половине 90-х годов ДНК-чипов стало новой биотехнологической революцией, стоящей по значимости в одном ряду с расшифровкой структуры ДНК в 50-х, исследованием фундаментальных закономерностей молекулярной генетики. Учитывая огромную значимость этого новейшего направления для развития современной фундаментальной и прикладной медико-биологической науки представляется актуальным разработка программного обеспечения для обработки больших массивов информационных данных. В текущий момент большую популярность приобретает метод диагностики заболеваний на основе изучения процесса экспрессии генов. На сегодняшний день в мире существует несколько публично доступных баз данных значений экспрессии генов, которые хранятся как файлы изображений полученных с соответствующих приборов. К таким базам можно отнести ArrayExpress, ExpressDB, GEO, SMD, LAD,GENEVESTIGATOR, ArrayTrack, CIBEX.

Институт эпидемиологии и микробиологии имени Н.Ф. Гамалеи, выбранный автором курсовой работы для сотрудничества, занимается исследованиями в области раковых заболеваний с использованием анализов экспрессии генов ДНК-микрочипов. На нынешний момент институт обладает примерно 10 000 проб с некоторыми данными об этих пробах. Это обуславливает актуальность и необходимость разработки удобного программного обеспечения, интерфейса администрирования и доступа к базам данных ДНК-микрочипов пользователями интернет-ресурсов и сотрудниками института.

Для решения этой задачи оптимальным на взгляд автора курсовой работы является средство для разработки веб-интерфейсов, система управления (CMS) Drupal. Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира, а так же является одним из наиболее популярных программных продуктов. Архитектура Drupal позволяет применять его для построения различных типов сайтов - от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющийся по умолчанию функциональность можно увеличивать подключением дополнительных расширений - «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal:

·единая категоризация всех видов содержимого (таксономия) - от форумных сообщений до блогов и новостных статей

·широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории

·вложенность категорий любой глубины

·поиск по содержимому сайта, в том числе поиск по таксономии и пользователям

·разграничение доступа пользователей к материалам (ролевая модель)

·динамическое построение меню

·поддержка XML-форматов:

·вывод документов в RDF/RSS

·агрегация материалов с других сайтов

·BlogAPI для публикации материалов с помощью внешних приложений

·авторизация через OpenID

·символьные осмысленные URL (иначе «человеко-понятные» - ЧПУ)

·переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента

·возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)

·раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта.

·уведомления о выходящих обновлениях модулей

На данный момент существует более 15 000опубликованных модулей, написанных на Drupal. Модуль, разрабатываемый автором данной работы,позволит обычным пользователям создавать, удалять, редактировать наборы ДНК-проб, проверять соответствие набора проб чипу, удобно управлять метаданными пациента, а так же выбирать пациентов по списку имеющихся проб.

Цель работы - Создание модуля Drupal для хранения информации с результатами экспериментов по анализу экспрессии генов и её администрирования (в рамках задачи разработки ПОдля БД анализов ДНК-микрочипов, предложенной институтом эпидемиологии и микробиологии имени Н.Ф. Гамалеи).

Задачи работы:

1.Ознакомиться с теоретическими и эмпирическим аспектами, а так же историей создания ДНК-микрочипов;

.Изучить структуры баз данных по пробам ДНК микрочипов (GEO, Array Express а так же БД института Гамалеи Microarrays(cluster.gamaleya.org));

.Изучитьуже существующее программное обеспечение для работы с данными полученными из ДНК микрочипов;

.Изучить язык PHP;

.Изучить синтаксис MySQL запросов;

.Изучить строение и структуру написания модуля на Drupal (Изучить систему управления сайтом Drupal; Охарактеризовать её основные возможности; Изучить методы разработки модулей на Drupal; Сравнить Drupalс другими CMS);

.Написать модуль для управления наборами пациентов и проб с помощью Drupal-6, с помощью которого можно:а)создавать, удалять, редактировать наборы проб, б)удобно управлять метаданными пациента, в)выбирать пациентов по списку имеющихся проб.



1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ


1.ДНК-микрочипы. Экспрессия гена. Способы хранения и обработки информации, полученной с помощью ДНК-анализов


В текущий момент большую популярность приобретает метод диагностики заболеваний на основе изучения процесса экспрессии генов [2]. Массовая диагностика на основе экспрессии генов в медицинских лабораториях становится возможной благодаря появлению технологии создания так называемых ДНК-микрочипов.

ДНК-микрочипы - технология, когда на подложку, из стекла или кремния в определённые заранее позиции подложки наносится слой коротких от (20 до 60 нуклеотидов) одноцепочечных молекул ДНК. Последовательность нуклеотидов каждой из молекул известна заранее. Эта последовательность чаще всего соответствует одному из фрагментов исследуемого гена или одному из фрагментов известного геномного повтора. Все подложки помещаются в специальный раствор, в котором содержатся исследуемые окрашенные фрагменты молекул ДНК, которые связываются с фрагментами на подложке по принципу комплиментарности.

В целом технология получения сведений с ДНК-микрочипа выглядит следующим образом:

.Выделяются или выращиваются биологические образцы, которые необходимо сравнить. Они могут соответствовать одним и тем же индивидуумам до и после какого-либо лечения (случай парных сравнений), либо различным группам индивидуумов, например, больным и здоровым, и т. д.

2.Из образца выделяется очищенная нуклеиновая кислота, являющаяся объектом исследования: это может быть РНК <#"justify">Таким образом, анализа степени экспрессии гена организмом сводится к задаче обработки изображений. В текущий момент один микрочип у фирмы Affymetrix содержит до 250000x100 фрагментов. На рисунке 1 приведён пример изображения полученного с ДНК-микрочипа, пиксели изображения собраны в группы и соответствуют различным генам.



Рисунок 1: Пример изображения с ДНК-микрочипа


В текущий момент в мире существует несколько публично доступных баз данных значений экспрессии генов, которые хранятся как файлы изображений полученных с соответствующих приборов. К таким базам можно отнести:

1.ArrayExpress - база данных европейского биоинформатического института. В этой базе хранятся данные об экспериментах с функциональной частью генома. В частности об экспериментах с экспрессией генов. Данные в базе данных хранятся в форматах MIAME и MINSEQE. Данные о экспрессии генов собраны в отдельную подбазу Atlas [4], которая дополнительно курируется экспертами.

2.ExpressDB - база данных экспрессии генов бактерии кишечная палочка (E.Coli). В этой базе данные заняться в собственном формате похожем на формат MIAME. Используются ДНК-микрочипы компании Affymetrix первого поколения [5].

3.GEO (GeneExpressionOmnibus) - база данных является публичным репозиторием для хранения данных полученных с микрочипов. Здесь хранятся как данные о экспрессии генов, так и данные полученные с помощью современных технологий секвенирования генома, которые основаны на технологии микрочипов. Научному сообществу предоставляется возможность добавлять свои данные об экспериментах, однако процесс добавления записей строго формализован и тщательно курируется экспертами (подобно базе Atlas). Данные хранятся в MIAME формате. База данных поддерживается Национальным Центром Информации о Биотехнологии (NCBI) США. Информацию о базе данных GEO можно найти в статьях [6], [7]. На момент 22 июля 2010 года в базе данных содержится 457879 записей. В текущий момент это крупнейшая база данных результатов экспериментов с ДНК-микрочипами и РНК-микрочипами.

4.SMD - Стенфордская база данных [8]. В отличии от описанных выше баз данных содержит дополнительно закрытые данные коммерческих компаний. Предоставляет набор программных средств для анализа и поиска информации в микрочипах.

5.LAD (LonghornArrayDatabase) - клон Стенфордской базы данных, но без данных коммерческих компаний. Эта база данных поддерживает формат записей MIAME, построена на открытых технологиях (используется Linux и PostgreSQL ). Информация о данной базе была опубликована в статье [9].

6.GENEVESTIGATOR - коммерческая база данных по экспрессии генов. Обладает большим объёмом данных, однако за доступ к базе данных необходимо платить деньги. Поддерживается двумя лабораториями в Швейцарии [10].

7.ArrayTrack - специализированная база данных содержит данные о экспрессии генов для задач фармакологии и для анализа токсичности тех или иных продуктов питания или других живых объектов. Данная база данных поддерживает MIAME формат. Для того, чтобы ей воспользоваться необходимо устанавливать дополнительное программное обеспечение. [11] Данная база поддерживается (Национальным центром токсикологических исследований) министерством питания и здравоохранения США.

8.CIBEX - база данных ДНК-микрочипов. Находится на территории Японии строго поддерживает MIAME формат.

Очевидно, что на текущий момент наиболее популярным способом хранения данных ДНК-микрочипов является способ хранения в формате MIAME. Спецификация формата носит название MAGE-ТAB и была опубликована в журнале BMC Bioinformatics в 2006 году [12]. Формат позволяет описывать эксперимент как ориентированный ациклический граф, где вершина - одно действие эксперимента, действие может быть выраженно как матрица с данными, а может соответствовать пустому множеству сохранённых данных, а ребро - способ получения очередной матрицы с данными. Пример такой концепции отображён на рисунке 2.


Рисунок 2. Шаги эксперимента (рисунок взят из статьи


На рисунке 2 в качестве источника выступают материалы взятые из разных тканей человека, затем с ними производилась процедура гибридизации, то есть образования химической связи между комплиментарными нуклеотидами, которые «пришиты» к микрочипу, после чего мы видим файлы с результатами, которые будут выражены матрицами значений, и затем среди этих файлов производится нормализация, в результате чего получается конечный файл, который называется «FGDM.txt». Весь процесс описывается в виде MAGE-TAB спецификации и состоит из нескольких файлов.

Формат специфицирует несколько типов файлов:

IDF - файл, описывающий само исследование проводимое экспериментатором. Содержит информацию в виде текстовых описаний в достаточно вольной форме.

SDRF - файл, который задаёт привязку матриц, получающихся в ходе эксперимента к их описанию. То есть по сути это описание шагов приводящегося эксперимента.

ADF - файл, с описаниями конкретных позиций микрочипа. Например, какая в определённой позиции подложки «пришита» последовательность ДНК и что она означает. В целом этот тип файлов обычно предоставляется производителями ДНК-микрочипов.

Raw - файл с данными. Это может быть текстовый или бинарный файл. Файл может быть в формате предоставляемом производителем микрочипа. Однако представлен также текстовый формат со значениями разделёнными символами табуляции.

В файлах IDF, SDRF, ADF - значения разделяются символами табуляции, текстовые поля должны быть заключены в двойные кавычки. В этих файлах допустимы комментарии в виде строк начинающихся с символа '#'.

В IDF - файле должно присутствовать большое число полей. Опишем некоторые из них:

InvestigationTitle - название исследования.

ExperimentalDesign - тип эксперимента по классификации MGED

Experimental Design Term Accession Number - идентификатортипаэксперимента

ExperimentalFactorName - описание фактора который исследуется в данном эксперименте. Используется в дальнейшем как идентификатор в SDRF файле.

ExperimentalFactorType - тип исследуемого фактора по классификации MGED

Experimental Factor Type Accession Number - идентификатортипаисследуемогофактора.

PersonLastName, PersonFirstName, PersonMidInitials - поля описывающие имя человека имеющего отношение к представленным данным о проводимом эксперименте.

PersonEmail, PersonPhone, PersonFax, PersonAddress, PersonAffiliation - адрес электронной почты для связи, телефон для связи, факс, почтовый адрес, место работы соответственно.

PersonRoles - описание роли человека в подготовке описываемых форматом данных.

QualityControlType - тип контроля за качеством получаемых в эксперименте данных (по классификации MGED)

ReplicateType - тип используемой репликации молекул по классификации MGED. Обычно одна из разновидностей Полимеразной Цепной Реакции (ПЦР).

NormalizationType - тип нормализации результатов эксперимента по классификации MGED.

DateofExperiment - дата проведения эксперимента.

PublicReleaseDate - это поле заполняется обычно администраторами баз данных. Здесь указывается дата опубликования описываемых форматом данных.

PubMed ID, Publication DOI - идентификаторы статьи об эксперименте в базах данных публикаций.

Publication Author List, Publication Title, Publication Status - информацияопубликации.

ExperimentDescription - развёрнутое описание исследования которое проводится в данном эксперименте.

ProtocolName - название правила, по которому одни данные будут преобразованы в другие. Это поле задаёт ребро в ациклическом графе описывающем эксперимент. В дальнейшем значение будет использовано как идентификатор в других типах файлов описываемых форматом.

ProtocolType - тип правила преобразования данных (по классификации MGED).

ProtocolDescription - описание правила в свободной форме.

ProtocolParameters - список параметров которые используются правилом для выполнения действия. Параметры перечисляются через точку с запятой. В дальнейшем каждый параметр будет использован как идентификатор.

ProtocolHardware - описание оборудования, которое используется для выполнения шага эксперимента при обработке данных с помощью правила преобразования данных.

ProtocolSoftware - описание программного обеспечения, которое необходимо применить для выполнения шага эксперимента (например для нормализации данных).

SDRF File - список SDRF файлов связанных с данным IDF файлом.

TermSourceName - список имён входных данных в дальнейшем используются как идентификаторы.

TermSourceFile - файл, где исходные данные записаны или это может быть интернет ссылка (URL) на данные.

Comment[<имя определяемое экспериментатором>] - это поле используется вбазами данных для отображения прочей информации задаваемой экспериментатором.

В IDF файле каждое поле пишется с новой строки. Сперва идёт имя поля, затем табуляция и значение поля. В случае, если поле имеет несколько значений, то значения должны быть разделены символом табуляции. ПоляInvestigation Title, Date of Experiment, Public Release Date, Experiment Description должныиметьтолькооднозначение.

SDRF файл устроен как таблица значений: строка в таблице это последовательность шагов эксперимента над одним источником данных. Столбцы в таблице - действия, которые производятся над данными.. Причём считается, что строки упорядочены по времени. То есть если источники данных обрабатываются в определённом порядке, то строки в файле должны быть расположены именно в этом порядке. Первая строка в файле - строка заголовок, остальные - строки значения. Значения в столбце должны соответствовать заголовку. В заголовке поля группируются в секции. Секция состоит из главного поля секции, после чего идёт несколько подчинённых полей. Некоторые поля могут соответствовать параметрам, которые были определены в IDF файле. В этом случае пишется имя поля с параметром и имя параметра в квадратных скобках, например так: «Characteristics [occupancy]» Приведём далее описание некоторых секций.

SampleName - идентификатор материала с которым ведётся эксперимент. Например «пробирка номер 234»

?Characteristics [<название характеристики>] - поле с аргументом. Какая-то характеристика материала, характеристик может быть много или они могут отсутствовать вовсе.

?Materialtype - указание типа материала с которым ведётся эксперимент. Если это было РНК выделенное из всех клеток какого-либо организма, то в значение нужно написать «whole_organism». В целом это поле должно быть заполнено по классификации MGED.

?Description - вольное описание материала.

?Comment [<имя комментария>] - комментарий к материалу, с дополнительным указанием имени комментария.

HybridizationName - название способа, которым производится присоединение фрагментов молекул ДНК или РНК к молекулам пришитым на подложку микрочипа. В целом это поле может быть например именем технологии, например «Affymetrix» или «Illumina».

?ArrayDesign REF - внешнее имя микрочипа, который применялся.

?Comment [<имя комментария>] - комментарий к микрочипу и химическому процессу.

Protocol REF - ссылка на описание протокола в IDF файле.

?ParameterValue[<имя параметра>] - список параметров был указан в IDF файле. В SDRF файле хранятся значения.

?Performer - имя человека, который производил действие определяемое протоколом.

?Date - дата проведения шага эксперимента.

?TermSource REF - ссылка на внешнее описание протокола.

?Comment [<имя комментария>] - типизированный комментарий.

ArrayDataFile, DerivedArrayDataFile, ImageFile - в значениях этих полей должны быть написаны имена файлов. Файлы соответственно указанному порядку это: необработанные данные с микрочипа, обработанные данные с микрочипа, само изображение, которое было получено при фотографировании микрочипа. Одной строчке в SDRF файле соответствует один файл.

?Comment [<имя комментария>] - типизированный комментарий.

ArrayDataMatrixFile, DerivedArrayDataMatrixFile - имя файла, где могут храниться данные с более чем одного микрочипа. Также как и в предыдущем случае один файл на одну строчку SDRF файла.

?Comment [<имя комментария>] - типизированный комментарий.

Обратимся теперь к той части формата, которая описывает данные самих микрочипов. Форматов хранения данных микрочипов существует достаточно много: Generic, Affymetrix, GenePix, Agilent, ScanAlyze, ScanArray, QuantArray, Arrayvision, Spotfinder, BlueFuse, UCSF Spot, NimbleScan, AppliedBiosystems, CodeLink, Illumina, Imagene, CSIRO Spot. Рассмотрим только некоторые из них:

Generic - это текстовый файл, где поля разделены символами табуляции. В файле присутствуют поля MetaColumn, MetaRow, Column, Row - эти поля задают координаты в получающемся после фотографирования подложки изображении. Одинаковые значения полей MetaColumn и MetaRow чаще всего соответствуют одному гену. Столбцы с координатами идут в начале, далее идут столбцы со значениями уровня светимости микрочипа и другими характеристиками.

GenePix - это формат схожий с Generic форматом, но здесь присутствует добавочное поле Block. Блок содержит фрагменты подложки принадлежащие одному гену.

ImaGene - формат схожий с Generic, но в строке явно присутствует GeneID.

Существуют программы, которые облегчают импорт MAME файлов в базы данных. Например tab2mage (#"justify">микрочип программный модернизация ген

2.СMSDrupal: архитектура и особенности

(друпал) - система управления содержимым (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие[3]). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

Архитектура Drupal позволяет применять его для построения различных типов сайтов - от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющийся по умолчанию функциональность можно увеличивать подключением дополнительных расширений - «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:

·единая категоризация всех видов содержимого (таксономия) - от форумных сообщений до блогов и новостных статей

·широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории

·вложенность категорий любой глубины

·поиск по содержимому сайта, в том числе поиск по таксономии и пользователям

·разграничение доступа пользователей к материалам (ролевая модель)

·динамическое построение меню

·поддержка XML-форматов:

·вывод документов в RDF/RSS

·агрегация материалов с других сайтов

·BlogAPI для публикации материалов с помощью внешних приложений

·авторизация через OpenID

·символьные осмысленные URL (иначе «человеко-понятные» - ЧПУ)

·переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента

·возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)

·раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта. Это предоставляет возможность на одной установке системы (на одном аккаунте хостинга, на одной базе данных) получить несколько сайтов, причем у разных сайтов может быть как общий, так и независимый набор таблиц, благодаря чему можно, например, создать несколько сайтов с единой базой пользователей, но независимыми базами контента.

·уведомления о выходящих обновлениях модулей

·интеграция с движками шаблонов (templateengines), позволяющими отделить логику приложения от данных и их представления.

Система поддерживает локализацию интерфейса на более чем 100 языках (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).построен по модульному принципу: компактный набор служебных функций (ядро), отвечающих за работу с СУБД, авторизацию, кэширование и пр. дополняется модулями, реализующими основную функциональность. Они обеспечивают обработку системных событий (авторизация пользователя, запись данных в БД, просмотр документа, поиск и т. д.), взаимодействие между модулями выполняется при помощи хуков (hooks) - определенным образом именованных функций. Описав хук в модуле, можно перехватить любое событие (например, сохранение записи) и запрограммировать свою логику его обработки. Благодаря такой системе программист может расширить возможности любого существующего модуля, не вмешиваясь в его исходный текст, а также создать свои собственные типы событий.

В ядре Drupal реализован набор функций (API) для работы со всеми необходимыми компонентами: СУБД, формами, кэшем, пользователями и их правами. Для взаимодействия с СУБД используется абстрактный интерфейс DB API, ядро Drupal оперирует ANSI-совместимым SQL для работы с БД, а структуры (таблицы) для БД определяются программистом в массивах специального вида. При этом преобразование определений таблиц и запросов под особенности конкретной СУБД (официально система Drupal совместима с MySQL и PostgreSQL) выполняется специальной библиотекой, и разработчику не приходится заботиться об особенностях работы СУБД. Определив собственную библиотеку функций, можно подключить другие СУБД, - например, существуют библиотеки для IBM DB2, Oracle и MSSQL.

Не менее важная часть Drupal - интерфейс обработки экранных форм (Forms API). С точки зрения разработчика, форма Drupal - это определенным образом подготовленный массив данных, содержащий информацию об элементах формы и их параметрах. На основе этого массива системные функции генерируют HTML-код. Такой подход позволяет модулям модифицировать одну и ту же форму, а также с помощью функций темизации менять оформление отдельных элементов. Разработчики модулей могут добавлять дополнительные поля (например, защиту от автоматических публикаций - CAPTCHA) или заменять существующие (заменить текстовое поле WYSIWYG-редактором).

По умолчанию Drupal предоставляет пользователю базовый тип материала с минимумом стандартных полей и атрибутов: заголовок, текст, автор и ряд служебных полей. Программный интерфейс Node API позволяет дополнять базовый тип новыми полями: ссылками, картинками, файлами, списками и др.

Для управления правами доступа к материалам и службам сайта в Drupal реализованы два механизма. Первый обеспечивает проверку доступа к отдельным сервисам сайта - каждый модуль через специальный хук объявляет свои разрешения на использование тех или иных своих функций, затем администратор сайта может разрешить или запретить различным группам пользователей доступ к тому или иному функционалу. Второй механизм - права доступа к отдельным документам на создание, просмотр, изменение и удаление. Модули реализуют собственные интерфейсы проверки прав, основываясь на данном механизме. Например, есть модули, разграничивающие доступ пользовательских ролей к отдельным рубрикам сайта либо задающие права доступа непосредственно для отдельных пользователей, отдельных документов и даже отдельных полей документа.

Еще один важный элемент архитектуры Drupal - система темизации, позволяющая, во-первых, отделить логику работы программных модулей от представления данных; во-вторых, гибко настроить внешний вид каждого выводимого на экран элемента. Чтобы изменить внешний вид сайта, необходимо или скачать готовую, или разработать собственную тему оформления - набор особым образом сформированных HTML-шаблонов, в которые интегрированы PHP-переменные с данными.

Важно отметить, что подсистема темизации Drupal не принуждает разработчика применять один тип шаблонов. Drupal позволяет задействовать различные «движки» шаблонов, на базе которых строятся темы оформления. Стандартом де-факто для тем оформления в Drupal стал механизм PHPtemplate, но можно также использовать Smarty, PHPTAL, EasyTemplateSystem и др.

Темы оформления позволяют создать каркас сайта, который будет наполнен данными, генерируемыми модулями. При разработке модулей программисты, придерживающиеся принятых в Drupal стандартов кодирования, выносят весь код, связанный с выводом данных на экран, в отдельные, именованные специальным образом функции. Такие функции - функции темизации, обычно не реализуют никакой логики, а лишь принимают набор данных и возвращают HTML-код. Эти функции могут быть переопределены в теме оформления: таким образом, не изменяя код исходного модуля, разработчик может настроить внешний вид для задач конкретного сайта.

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

В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия - механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.

Другая парадигма появилась с созданием в Drupal расширения ContentConstructionKit (CCK). CCK позволяет дополнять документы новыми полями различных типов - от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (напримерNodereference) можно организовать связи между документами, не используя механизм таксономии.имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули.Drupal - по-настоящему модульная система. Функциональные возможности системы реализуются с помощью модулей, использование которых можно разрешить или заблокировать. Новые возможности могут быть реализованы на веб-сайте, использующем технологию Drupal, засчет установки уже имеющихся модулей, установки модулей, написанных членами сообщества Drupal, или благодаря разработке новых модулей.

Наиболее популярные модули:- модуль с интерфейсом для создания различных списков- предоставляет возможность разбивать содержимое страницы на регионы (более продвинутое использование стандартных регионов Drupal)- создание собственных веб-сервисов, например XMLRPC или REST- модуль для работы с wysiwyg редакторами, позволяет одновременно использовать несколько редакторов (ckeditor, tinymce, whyzziwyg)- интеграция с поисковиком Apache SOLR- предоставляет возможность использовать главную панель для всего сайта, с последующей вставкой в неё других панелей- позволяет сливать определенные данные из базы в код в виде модулей для последующего переноса (например с сервера разработки на препродакшен сервер)(BAM) - возможность дампа и восстановления базы полностью или частично- групповые операции над объектами в списках- набор средств и функций для быстрой разработки- Drupalshell, пакет для работы с друпалом и модулями через консоль (также доступен в репозитории последних версий ubuntu)- интеграция с сервером memcached- система электронной коммерции- позволяет собирать содержание с новостных лент других сайтов и публиковать полученные данные. Поддерживаются ленты форматов RSS, RDF и Atom.позволяет пользователям вести свои блоги. Блог каждого пользователя состоит из отдельных записей. По умолчанию, записи в блогах выводятся на первую страницу сайта, их можно комментировать и они упорядочены в обратном хронологическом порядке.API (API блогов) позволяет добавлять на сайт содержание используя внешние программы. Этот модуль также позволяет администраторам настраивать для каких типов документов можно использовать внешние программы.- являются удобным способом организации документации, справочников или сборников ответов на вопросы. На страницах, которые включены в книгу, показывается дополнительные элементы навигации: ссылки для перехода на предыдущую и следующую страницы и ссылка, для перехода к той главе, в которую входит текущая страница. Для книг можно отдельно назначить права для создания, правки и удаления страниц; создания документов в книгах и создание новых книг.позволяет пользователям с правом «Управление конфигурацией сайта» легком и быстро изменять цветовые схемы тем, которые совместимы с этим модулем.позволяет пользователям добавлять комментарии к документам, отвечать на комментарии других пользователей и вести обсуждения. Также, как и документам, комментариям могут быть добавлены новые поля разных типов и они может быть настроен их вывод. У комментариев относящихся к разным типам документов могут быть разные наборы полей.позволяет посетителям сайта отправлять сообщения администрации, пользуясь контактной формой сайта, или другим пользователям, пользуясь персональными контактными формами пользователей. Форма отправки сообщения содержит поля для ввода заголовка, содержания и отметку для отправки копии на свой почтовый ящик.позволяет переводить документы сайта на разные языки. Работая вместе с модулем Locale, модуль Contenttranslation является ключевым для создания и управления переведёнными на другие языки документами.позволяет создать на сайте форум и вести на нём обсуждения различных вопросов. Форумы полезны тем, что они позволяют участникам сообщества обсуждать различные темы с другими участниками и использовать эти беседы в дальнейшем для ссылок на них. Форумы могут иметь вложенную иерархию, позволяя группировать обсуждения по темам.позволяет создавать справочные страницы, а также показывать контекстную справку на страницах управления сайтом. Это краткая версия сетевого руководства, которая включена в систему.позволяет использовать на сайте интерфейс на различных языках, которые отличаются от английского. Модуль работает управляя переводами строк интерфейса в базе данных, проверяя наличие перевода каждой нужной строки перед её выводом на монитор.позволяет создавать навигационные блоки. Меню является иерархическим сборником ссылок, которые могут вести как на внутренние адреса сайта, так и на внешние и используются для навигации по сайту. Для каждого меню генерируется свой блок, который может быть размещён в регионах темы со страницы блоков. Просмотр и настройка меню выполняется на странице меню.позволяет пользователям входить в свои аккаунты используя технологию OpenID. Технология OpenID является безопасным способом посещения аккаунтов наразных сайтов с использованием одного логина и пароля. Использование на сайте OpenID не требует установки дополнительного программного обеспечения, провайдер OpenID не обменивается паролями с посещаемыми пользователями сайтами.позволяет добавить любому системному пути на сайте альтернативный путь. В дополнение к тому, что альтернативные адреса более читаемы чем системны, они также позволяют поисковым системам лучше индексировать содержание. Для каждого системного адреса может использоваться неограниченное количество альтернативных адресов. Для автоматизации процесса добавления альтернативных адресов, можно поставить модуль Pathauto.Filter добавляет на сайт фильтр PHP filter, который может использоваться в форматах ввода. Этот фильтр добавляет возможность выполнения введённого PHP-кода в тех полях, в которых он обрабатывает содержание. PHP filter позволяет пользователям с соответствующими правами включать PHP-код в содержание, который будет выполнен при открытии страницы.позволяет создавать вопросники и проводить исследования с выводом общего итога голосований. Опросы являются хорошим способом узнать мнения пользователей сайта и получить отзывы.

Пользователи могут добавлять опросы на странице добавления документов. При добавлении опроса нужно ввести заголовок опроса и варианты ответов, для каждого из которых будет подсчитываться количество голосов.является удобным средством для оповещения заинтересованных сайтов об изменениях на вашем. Он автоматически посылает сообщения (называемые пингами) в службуPing-O-Matic, чтобы сообщить об изменениях на вашем сайте. Через эту службу работают такие сервисы как weblogs.com, Tehnorati, blo.gs, BlogRolling, Feedster.com, Moreover и другие. Этот модуль требует запуска cron.позволяет вашим пользователям указывать информацию о себе. С помощью этого модуля, вы можете создать формы, которые будут доступны для заполнения на странице Мой аккаунт ? Правка.

Когда вы добавляете формы доступные для заполнения пользователями, вы можете определить в них поля (например имя, возраст, город и т.д.). Вы можете использовать любые поля неограниченное количество раз. Если вы включите модуль Profile (Профиль), то вы можете вывести список всех пользователей вашего сайта. Для этого добавьте в меню ссылку которая будет вести на страницу /profile.позволяет выставить параметры, которые используются в форме расширенного поиска. Модуль Searchconfig позволяет разрешить или запретить показ определённых полей, используемые при поиске термины и типы документов. Также возможно установить вкладку, на которую будет перенаправляться пользователь при выполнении поиска из блока поиска.позволяет собирать информацию о количестве просмотров документов, просматривавшем страницу пользователи, страницу с которой пользователь перешёл на страницу документа и время, когда документ просматривался. Эта информация может быть полезна для выяснения того, какие документы пользователи предпочитают просматривать и как они перемещаются по сайту. Модуль статистики позволяет учитывать просмотр каждой страницы. Для включения этой возможности отметьте поле «Счётчик просмотров» на странице статистики. Количество просмотров может показываться на странице документа пользователям с правом «Просмотр счётчика просмотра документов».позволяет классифицировать содержание сайта. Для этого нужно определить словари, которые будут содержать термины. Термины можно связывать с различными объектами содержания.

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

Системные требования:

·Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.

·Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)

·Веб-сервер: Apache, Nginx, Lighttpd, IIS Versions 6, 7 (через Fast CGI) (теоретически любой веб-сервер, допускающий исполнение PHP-кода)

·СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2)

·PHP версии 4.3.3 и выше (для совместимости со всеми сторонними модулями рекомендуется применять PHP 5, вместо PHP 4). Drupal 7 требует PHP 5.2.4 и выше

Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющихся в PHP возможностей ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде. В Drupal 7 однако присутствует ряд нововведений задействующих объектные возможности PHP 5.

К несомненным достоинствам Drupal следует отнести весьма полную документацию по различным аспектам системы (документация преимущественно на английском языке).

К недостаткам (но одновременно и к достоинствам) Drupal можно отнести отсутствие обратной совместимости API. В каждом новом мажорном релизе происходят большие изменения API, когда наряду с добавлением новых функций убираются некоторые старые или изменяются параметры вызова существующих. Это приводит к необходимости разработчикам сторонних модулей адаптировать их для работы с новыми версиями Drupal. Однако изменения API и процедура адаптации модулей к новым версиям описываются в документации для каждого релиза, также всегда предлагается механизм автоматизированного апгрейда ядра системы на новую версию. Плюс данной схемы разработки - нет необходимости тянуть из версии в версию программный слой совместимости со старыми API, что облегчает текущий код системы.

Система управления содержимым Drupal сохраняет свое содержимое в базе данных. В самой базе данных содержимое хранится в виде узлов (nodes) и других объектов высокого уровня, таких как пользователи и комментарии. Существует много различных, предопределенных типов узлов, включая тексты (stories), блоги (blogs) и голосования (polls).

Важной концепцией в Drupal является то, что все содержимое хранится в виде узлов. Они являются базовыми функциональными блоками для системы и формируют фундамент, который можно расширить содержимым, хранящимся в Drupal. Создание новых модулей узлов позволяет разработчикам определять и сохранять дополнительные поля в базе данных, которые являются специфичными для конкретного сайта. Узлы классифицируются согласно их типу. Каждый тип узла может обрабатываться и визуализироваться по-разному на основе варианта его использования. Вот несколько стандартных типов узлов:

Страницы (Pages)-простые узлы для отображения содержимого (используя PHP, содержимое можно обновлять динамически; любая часть содержимого может быть динамической при использовании PHP).

Запись в блоге (Blogentry)- узел для обслуживания Web-журнала.

Форумы (Forums)- набор узлов и их комментариев (эти узлы группируются путем назначения элемента таксономии).

Текст (Story)- стандартные страницы, срок действия которых истекает после определенной даты (они аналогичны нормальным страницам, но могут быть оформлены по-другому).

Комментарий (Comment)-специальный тип содержимого, который позволяет пользователям делать комментарии к содержимому, определяемому другими узлами (комментарии не являются типом узла и хранятся в отдельной таблице базы данных).

В базу данных записывается базовый набор информации по узлу, включая заголовок, тизер (или краткий обзор) и тело. Записывается также информация об авторе, времени создания и о состоянии. Обычно для любой дополнительной информации, которая необходима для вашего приложения, вы должны создать новый тип узла, который выполняет запись в таблицы базы данных, специально определенные для этого типа узла.

В Drupal реализована система управления редакциями (revision) для отслеживания изменений содержимого узлов. Это позволяет разработчику модуля выделить новую запись базы данных для каждого узла в таблице, специально выделенной для редакций узла.

Модули являются основным механизмом расширения Drupal. Они реализуют четко определенный интерфейс, позволяющий новым модулям взаимодействовать с системой и системе взаимодействовать с модулем. Drupal вызывает функции в этих интерфейсных ловушках. Ловушки Drupal сгруппированы в три категории; они используются в модулях, которые:

обеспечивают дополнительные механизмы аутентификации пользователя.

должны реагировать и взаимодействовать с кодом ядра Drupal.

обеспечивают новый тип узла в системе.

Установка Drupal

Скачиваем с сайта Drupal.org инсталлятор версии 6.22.

Распаковываем скачанную версию в корень сайта.

Начинаем пошагово устанавливать Drupal:

В каталоге « root\sites\default » - копируем файл default.settings.php как settings.php (проверяем права, запись должна быть для Apache);

Создаем Базу данных в MySQL;

В браузере набираем имя сайта и начинаем установку;

Русифицируем, скачивая с сайта перевод (русский язык);качиваем Drupal 6 формат пакета;

Нажимаем кнопку Экспорт;

Распаковываем полученный архив в корень сайта;

На странице /admin/build/modules включаем (если он ещё не включен) модуль Locale;

Заходим на /admin/settings/language и жмем Add Language.Далее устанавливаем его как default. И опять сохраняем конфигурацию;установлен успешно.


3.Сравнение Drupal с другими CMS


Очень популярная в рунете и мире CMS, особенно среди новичков. Wordpress позволяет создавать сайты различного типа, информационные, новостные и т. п., но всё же, когда говорят о Wordpress, подразумевают, что это, в первую очередь, движок для блогов. В классе блогодвижков Wordpress является безусловным лидером. Таким образом, если вы хотите легко и быстро создать свой блог, либо, что практически то же самое, несложный сайт информационного типа, на который будете периодически добавлять новые статьи и позволять пользователям их комментировать, то именно Wordpress - неплохой выбор.хорошо русифицирован, для него написано множество дополнительных модулей и сделано множество шаблонов. Конечно, вы и сами можете внести изменения в дизайн.

Минусы Wordpress типичны для популярных CMS - не слишком быстрая работа сайта, возможность сбоев при высокой посещаемости и периодическое обнаружение тех или иных дыр в скрипте. Поэтому некоторые пользователи даже при создании блогов отдают предпочтение всё же более простым и лёгким движкам. Также, очевидно, Wordpress вряд ли подойдёт для сложного сайта с большой функциональностью, портала, интернет-магазина и т. п. - для них нужно обратить внимание на более универсальные CMS.

Ещё одна популярная CMS, на ней часто делают сайты. Несколько сложнее в освоении, чем Joomla, но имеет и большую сферу применения. Для Joomla разработано огромное число модулей, включая форумы, чаты, блоги, интернет-магазины и т. д., поэтому на ней можно смело пытаться делать сложный многофункциональный сайт. Вообще, на Joomla можно делать самые различные сайты, как простые, так и сложные, это универсальная CMS. Также для Joomla существует огромное число шаблонов, и в возможности создания или выбора дизайна для сайта вебмастер практически не ограничен.

Увы, так же, как и Wordpress, Joomla не обошли стороной проблемы с глюками, дырами и торможением сайта при большой посещаемости. Впрочем, это не мешает множеству поклонников Joomla считать эту CMS лучшим выбором для своих сайтов.

Эта CMS подойдёт для создания форумов, блогов (в т. ч. многопользовательских), онлайн-энциклопедий, сайтов сообществ. Однако вряд ли данную систему можно назвать универсальной.

Сравнивая Drupal с Joomla и Wordpress можно однозначно сказать следующее - эта CMS не для тех, кто хочет создать сайт легко и быстро, установив и сразу же получив готовое. Drupal удобнее для тех, кто готов сидеть и тщательно выстраивать структуру сайта, чтобы получить то, что ему нужно, но не для привыкших к простым решениям новичков. Эта особенность отпугивает от Друпала тех, кто не хочет заморачиваться со всей этой сложностью, но привлекает тех, кто любит гибкость и любит поэкспериментировать.

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

Другие бесплатные CMS

Как уже было сказано, различных CMS очень много, и приведённые выше наиболее популярны. Ещё о нескольких бесплатных CMS:nuke - одна из наиболее старых CMS, которая ранее была весьма популярной, но прославилась также и своей дырявостью и уязвимостью к взломам. Основное назначение - создание порталов, несложна в установке и управлении для новичков.fusion - также cms для создания порталов, немало модулей и шаблонов, сравнительно несложна в установке.- универсальная cms для построения различных сайтов, много шаблонов и модулей. Однако некоторые пользователи указывают на наличие различных недоработок и тормознутость сайтов под её управлением.- эта cms предшественник дужмлы, и до сих пор неспешно развивается как отдельный проект. Попроще джумлы, но для кого-то это может быть и преимуществом.- cms-монстр, на ней работают многие большие сайты, включая сайты известных корпораций и госучреждений, рассматривается многими как бесплатный конкурент сложных коммерческих cms. Велика по размеру и довольно сложна в освоении, но обилие возможностей может побудить в некоторых случаях сделать выбор в её пользу.- по большей части применяется как движок для блогов, но, так же, как и вордпресс, может использоваться для создания несложных информационных сайтов. Если вордпресс вам чем-то не нравится, можно рассмотреть данную cms как альтернативу ему.

В соответствии с вышесказанным, закономерно сделать вывод, что для достижения поставленной в работе цели эффективнее всего использовать ПО Drupal, поскольку это мощная и быстро развивающаяся система, не требующая больших трудозатрат при администрировании, для добавления какой-либо новой функции в большинстве случаев достаточно просто подключить новый модуль, и лишь изредка появляется необходимость немного изменить программный код модуля. Дает качественную защиту, как сайта, так и базы. Имеет огромное число готовых модулей, которые можно использовать для нужд необходимых в данной информационной системе.



2. ПОСТРОЕНИЕ МОДУЛЯ КОНТРОЛЯ И ДОСТУПА К БД ДНК-МИКРОЧИПОВ


1.Описание инструментов и средств разработки


В данной курсовой работе я использовал такие инструменты как язык программирования PHP, язык разметки HTML, сервер Apache и систему управления базами данных MySQL. Ниже я рассмотрю подробнее каждое из них.

PHP

PHP (HypertextPreprocessor - Препроцессор Гипертекста)- это широко используемый язык сценариев общего назначения с открытым исходным кодом.

PHP - язык программирования, специально разработанный для написания web-приложений, исполняющихся на Web-сервере. Огромным плюсом PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.

Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.

PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов - JPEG, GIF, PNG, файлы PDF и FLASH.PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.

PHP - кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, MicrosoftWindows, MacOS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet InformationServer (IIS), MicrosoftPersonalWebServer и других.

Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.

PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.

Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL - оптимальный вариант для создания интернет-сайтов различной сложности.

Apache

Самый популярный и распространенный в Интернете веб-сервер, по крайней мере в среде UNIX - сервер Apache. Это программа, которая осуществляет прием запросов по протоколу http, их обработку и передачу посетителю сервера ответа в виде запрошенных им html-документов, картинок и файлов.

Apache настраивается через файл конфигурации (httpd.conf), в который администратор помещает инструкции, управляющие функционированием веб-сервера.

В Apache есть великолепная возможность децентрализованного управления конфигурацией с помощью использования специальных файлов, которые помещаются на диске прямо в веб-пространстве виртуального сервера. Эти файлы называются .htaccess (обязательно первый символ в названии файла - точка). Администратор сервера может менять имя таких файлов по своему желанию с помощью директивы AccessFileName в главном файле конфигурации, но это как правило не делается.



2.Структура БД DNA Microarrays Access Control Interface



3.Структура модуля DNA Microarrays Access Control Interface


При написании модуля автором использовалось огромное количество функций. Приводим наиболее значимые из них:

Function dnamicro arraysinter faceinstall()- функция создания базы данных, создания ролей;

Function dnamicro arraysinter faceuninstall()- функция удаления базы данных и использованных таблиц;

Function dnamicro arraysinter faceschema()-функция создания структуры БД;

Function dnamicro arraysinter facemenu()-функция создания меню; addition menu()- функция создания заголовков меню;

Function create new characteristic()- функция создания новых характеристик; dnamicro arraysinter face form()- функция создания форм заполнения и занесения в БД.

Так же использовались уже имеющиеся функции Drupal такие, как:

функция запросов к БД;

функция создания таблиц и др.



ЗАКЛЮЧЕНИЕ


В ходе данной курсовой работы были решены все поставленные задачи. Были изучены теоретические и практические аспекты построения БД ДНК-микрочипов, а так же рассмотрены существующие БД GEO, ArrayExpress и т.д. Была подробно изучена система управления контентом Drupal, рассмотрены все её главные составляющие, охарактеризованы основные возможности. Было проведено сравнение данной системы с другими подобными CMS, выявлены их достоинства и недостатки. Также были изучены методы создания модуля с помощью CMS Drupal, описана структура этого модуля.

Таким образом, была достигнута цель настоящей курсовой работы - разработан интерфейс контроля и доступа к БД ДНК-микрочипов с помощью CMS Drupal. Для достижения этой цели использовались следующие средства разработки :

язык программирования PHP

сервер Apache

система управления базами данных MySQL

Каждое из этих средств также было подробно рассмотрено.

В итоге была создан уникальный модуль для решения таких задач, как:

а) создание, удаление, редактирование наборов проб;

б) удобное управление метаданными пациента;

в) выборка пациентов по списку имеющихся проб.

Кроме того данная работа представляет возможность дальнейшей разработки программного обеспечения в рамках БД института эпидемиологии и микробиологии имени Н.Ф. Гамалеи. А именно:

1.Написать модуль для получения на кластер данных о наборах пациентов группами

.Модернизировать имеющийся модуль для управления наборами пациентов и проб, а именно:

1)Проверять соответствие набора проб чипу

)Строить множество чипов, содержащих данный набор проб

)Выбирать пациентов гибким поиском по метаданным, генерировать по таким выборкам наборы пациентов

.Написать модуль для визуализации полученных данных в результате работы и показывать их в веб-интерфейсе:.Гистограммы распределений значений пробы в рамках набора пациентов.Ссылки для скачивания соответствующих табличек

.Разработать интерфейс управления бинарными алгоритмами.Просмотр/редактирование алгоритмов из веб-интерфейса.Применение алгоритма к пациенту/пациентам из базы.Применение алгоритма к загруженным через форму пациенту/пациентам

.Всем работающим скриптам проверять авторизованность пользователя в друпале



СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ


1.Т. В. Наседкина «Использование биологических микрочипов в онкогематологии» // Онкогематология, N1-2, стр. 25-37. 2006 г.

.И.К. Гоголевская «Преимплантационная генетическая диагностика: современное состояние и последние научные открытия» Материалы II международного конгресса по преимплантационной генетике (18-24 сентября 1997г., Чикаго, США) // журнал проблемы репродукции, N1, 1999 г. стр. 19-26.

.Айвазян С.Р., Грановский И.Э., Филиппова В.В., Воронцова Н.И., Малов В.А., Белецкий И.П. Современная лабораторная диагностика острых кишечных инфекций. // Молекулярная медицина. - 2009.-№3.- с.3-8.

4.MishaKapushesky, Ibrahim Emam, Ele Holloway, PavelKurnosov, AndreyZorin, James Malone, Gabriella Rustici, Eleanor Williams, Helen Parkinson and AlvisBrazma «Gene Expression Atlas at the European Bioinformatics Institute» // Nucleic Acids Research, 2010, Vol. 38, Database issue: pp. D690-D698.

5.Aach, J., Rindone, W., Church, G.M. (2000) Systematic management and analysis of yeast gene expression data <#"justify">9.Patrick J Killion, Gavin Sherlock and Vishwanath R Iyer The Longhorn Array Database (LAD): An Open-Source, MIAME compliant implementation of the Stanford Microarray Database (SMD) // BMC Bioinformatics 2003, 4:32

.Tomas Hruz, Oliver Laule, Gabor Szabo, et al., Genevestigator V3: A Reference Expression Database for the Meta-Analysis of Transcriptomes, Advances in Bioinformatics, vol. 2008, Article ID 420747, 5 pages, 2008.

.Davis, A.P., Murphy, C.G., Saraceni-Richards, C.A., Rosentstein, M.C., Wiegers, T.C., Mattingly, C.J. Comparative Tosicogenomics Database: a knowledgebase and discovery tool for chemical-gene-disease networks. NucleicAcidsRes2009, 37(Databaseissue): pp. D786-D792.

12.Tim F Rayner, Philippe Rocca-Serra, Paul T Spellman, Helen C Causton, Anna Farne, Ele Holloway, Rafael A Irizarry, Junmin Liu, Donald S Maier, Michael Miller, Kjell Petersen, John Quackenbush, Gavin Sherlock, Christian J StoeckertJr, Joseph White, Patricia L Whetzel, Farrell Wymore, Helen Parkinson, UgisSarkans, Catherine A Ball and AlvisBrazma A simple spreadsheet-based, MIAME-supportive format for microarray data: MAGE-TAB //BMC Bioinformatics 2006, 7:489

.Ash A. Alizadeh, Michael B. Eisen, R. Eric Davis, Chi Ma, Izidore S. Lossos, Andreas Rosenwald, Jennifer C. Boldrick, HajeerSabet, Truc Tran, Xin Yu, John I. Powell, Liming Yang, Gerald E. Marti, Troy Moore, James Hudson, Jr, Lisheng Lu, David B. Lewis, Robert Tibshirani, Gavin Sherlock, Wing C. Chan, Timothy C. Greiner, Dennis D. Weisenburger, James O. Armitage, Roger Warnke, Ronald Levy, Wyndham Wilson, Michael R. Grever, John C. Byrd, David Botstein, Patrick O. Brown and Louis M. StaudtDistinct types of diffuse large B-cell lymphoma identified by gene expression profiling // Nature 403, 2000, pp. 503-511.


Московский государственный университет им. М.В. Ломоносова Филиал МГУ в г.Севастополе Факультет ВМиК Курсов

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ