Широкоформатный скрининг для знакомств

Дисклемйер: Данный текст составлен как проверочно-описательный текст в рамках широкоформатного скрининга.


Применяемый в скрининге метод основан на "поиске в группах по интересам" и, в общем, аналогичен известным прецендентам http://on.ted.com/AmyWebb и http://habrahabr.ru/post/210198/. Техническая сторона инструментария будет публиковаться отдельно, она основана на обработке результатов поиска пользователей vk.com. Целью скрининга является найти такую, с которой можно сформировать отношения, которые можно назвать "долговременным партнёрством" - общая деятельность по интересом, в дальнейшем совместное проживание и быт, совместная финансовая ответственность. Техническая часть описана здесь и отчётные данные будут иногда публиковаться в журнале.

На данный момент я являюсь аспирантом ХФ МГУ (тема - молекулярная биология) с ожидаемым окончанием аспирантуры к 2016г, фактически иногородний (Нижний Новгород), потому проживю в условиях общежития. Цели в средней и дальней перспективе представляют собой то, что можно называть "научной карьерой", которая является основной деятельностью и источником дохода (а вовсе не формальное получение научной степени кандидата наук, что не редко сейчас), цель покинуть страну отсутствует (исключая резкие изменения условий и возможностей). Специфика лаборатории позволяет заниматься вполне реальной и серьёзной наукой (что затрагивает биоинформатику, системную биологию, синтетическую биологию и высокопроизводительные методы) и за какие-то деньги, но значительные трудовые и временнЫе затраты тому плата, не говоря о необходимости освоения навыков вне специальности (анализ данных, статистическое программирование и машинное обучение). Соответственно, с таким режимом деятельности работа в классичеком понимании (систематическая конвертация собственного труда в финансы) мне пока что малодоступна, но такая ситуация временная, поскольку получение научной степени сопряжено с получением ставки. Также я являюсь участником прогрессивной общественной организации РТД и сторонником соответствующей идеологии , что определяет многие цели и предпочтения. Жилищная ситуация к моменту окончания аспирантуры такова, что желательна более-менее синхронная необходимость в съёмном жилье к этому сроку (поскольку групповая аренда жилья значительно понижает финансовую нагрузку на арендующих). Последнее также накладывает ограничения на место постоянного жительства, потому что ситуация типа "этот мальчик будет жить с нами" является очень проблемной и социально неприемлемой (в подавляющем большинстве случаев совершенно оправданно), хотя с моей стороны Нижний Новгород является "базой", привычным местом с гарантиями быть хоть где-то без существенных затрат и расматривается как перевалочный пункт и путь отступления в случае "аварийных" ситуаций.

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

p.s. Текст не случайно выглядит формалистично и похож на брачный контракт, поскольку в нём отражены, в основном, не самые интересные моменты, а самые фактически значимые.

Update: для повышения эффективности проверки следует описать ряд требований более чётко, к тому-же топовый список содержал результаты, столкнуться с которыми вовсе я не ожидал. Жёстким требованием является женский пол (пол генетический, кариотипический, фенотипический и социальный), гетеросексуальная ориентация, возраст от 20 21 года (возможен люфт в исключительных случаях) и до 25 (менее строго, потолок люфта 30 лет). Категорически недопустимо наличие юридически оформленных близких отношений с третьей стороной (в случае намеренного сокрытия этого ответом будет сливание на сторону всего, что было). Недопустимо траперство. Идеологические разногласия крайне нежелательны, а аргументация против ТГ с использованием термина "перенаселение" приведёт к немедленной отправке в чёрные списки.

Update2: после завершения разработки инструмента для WSS появилась возможность количественной оценки идеологичности и ТГ-активизма, она вносят основной вклад в рейтинг. За фотоальбомы, забитые гламурными фотографиями, следует отправка в чёрный список.

Исходные коды инструмента широкоформатного скрининга для знакомств

Дисклеймер: это самодельный инструмент использования BASH, открытого API и анализа данных в R.

Подробная постановка задачи была описана здесь, потому не буду расписывать её. Принцип скрининга заключается в наборе сырых данных из базовых сведений пользователей сети Vk, принадлежащих каким-либо группам, последовательной фильтрации пользователей по ряду параметров и получению дополнительной информации уже для отсеянных пользователей.
Блок набора данных: bash скрипт, выполняющий собственно скачивание сырых данных с серверов Vk, для работы нужен список названий целевых групп и токен (как получить токен и вообще как пользоваться API Vk я не буду расписывать), скрипт работает в связке с блоком анализа, исходный код приведён ниже


#!/bin/bash

targets=$1
outPrefix='vkDB-'
token=$2 ###

for group in $targets
do
 echo ' Group: ' $group
 wget 'https://api.vk.com/method/groups.getById.xml?group_id='$group'&fields=members_count' -O ~/$group.txt -o /dev/null
 string=`grep -P -o 'members_count>\d+' ~/$group.txt`
 string=${string/members_count>/}
 echo ' members: ' $string
 rm ~/$group.txt
 step=`echo $string' / 1000 ' | bc`
 echo $step
 for count in `seq 0 $step`
 do
  wget 'https://api.vk.com/method/groups.getMembers.xml?group_id='$group'&offset='$count'000&fields=sex,bdate,city,country,education,last_seen,relation,photo_max_orig&access_token='$token -O $outPrefix$count-$group'.txt'
 done
done




Блок анализа данных: R-скрипт с парсингом XML, последовательной фильтрацией, дополнительными запросами и выводом итоговых данных, через него ведётся управление блоком набора данных. Исходный код с примером использования приведён ниже


# набор целевых групп - возьмём тех, кто слушает Dream Theater и смотрит "Doctor Who"
# Нет, это не значит что это мои интересы, это взято только для примера
target <- c('dreamtheater', 'bbcdoctorwho')
targets <- paste0(target, collapse = ' ')
token <- 'не_покажу_свой_токен'
 
# Запуск!
system(paste0('bash vkAutoSearch.bash \'', targets, '\' ', token))
 
# выбор режима - "все группы вместе" или "любая группа"
mode <- 'AND' # может быть 'AND' или 'OR'
 
# парсинг сырых XML-данных
usersdata <- list()
for (group in target) {
  usersdata[[group]] <- data.frame()
  print(paste('parsing group:', group))
  for (filename in list.files(pattern = paste0('*-', group, '.txt'))) {
    xmldata <- xmlParse(filename)
    print(paste("  parsing", filename))
    tmp <- xmlToDataFrame(nodes = xmlChildren(xmlRoot(xmldata)[['users']]))
    usersdata[[group]] <- merge(usersdata[[group]], tmp, all=T)
  }
}
# сколько из какой группы получилось? - dreamtheater 12220, bbcdoctorwho 152115
sapply(usersdata, nrow)
 
# слияние данных по группам и классификация
vkdata <- data.frame()
for (group in names(usersdata)) {
  category <- as.vector(rep(group, nrow(usersdata[[group]])))
  if (nrow(vkdata) == 0) {
    vkdata <- cbind(usersdata[[group]], category)
  } else {
    vkdata <- rbind(vkdata, cbind(usersdata[[group]], category))
  }
}
 
Как выглядят данные? А вот так:
          uid first_name   last_name sex      bdate    city country                                        photo_max_orig   last_seen university_name
52   10136310     Kirill    Podlesny   2       18.9       2       1 http://cs410425.vk.me/v410425310/7cee/dDNssSWFLR0.jpg 14042973657            <NA>
171  10382020        Yar       Gusev   2 18.11.1992     154       1 http://cs617131.vk.me/v617131020/ec80/Ay-CsrF72c0.jpg 14043273917           ЮГУ\n
311 107027838    Bozhena Vintskovska   1       <NA> 1951986      65 http://cs410220.vk.me/v410220838/8dbe/VXu7axMWZUE.jpg 14043270837            <NA>
                                                            faculty_name graduation relation relation_partner deactivated
52                                                                  <NA>       <NA>     <NA>             <NA>        <NA>
171 Институт (НОЦ) управления и информационных технологий (бывш. ИПМИиУ)          0        1             <NA>        <NA>
311                                                                 <NA>       <NA>     <NA>             <NA>        <NA>

# применение выбранного режима отбора по принадлежности к группам
if (mode == 'AND') {
  targetUID <- names(table(vkdata$uid)[table(vkdata$uid) == length(levels(vkdata$category))])
  if (length(targetUID) == 0) {
    print('ALARM! empty groups intersection!')
  } else {
    # удаление дубликатов UID
    vkdata <- vkdata[!duplicated(vkdata$uid),]
    # выбрать именно повторяющиеся UID
    vkdata <-  vkdata[vkdata$uid %in% targetUID,]
    # удалить бесполезную при таком методе колонку "category"
    vkdata <-  vkdata[,!colnames(vkdata) == 'category']
  }
}
# сколько осталось? - 205
nrow(vkdata)
 
# удалить бесполезные колонки: type, university, faculty, education_form, education_status
vkdata <- vkdata[,!(colnames(vkdata) %in% c('type', 'university', 'faculty', 'education_form', 'education_status'))]
 
# первичная фильтрация
selected <- vkdata[vkdata$sex == 1,] # оставить только женский пол
selected <- selected[,!colnames(selected) == 'sex'] # убрать ненужную уже колонку про пол
selected <- selected[is.na(selected$deactivated),] # выбрать не забаненных и не заблокированных
selected <- selected[,!colnames(selected) == 'deactivated'] # удалить колонку 'deactivated'
 
# выбрать "single", "actively searching" и "it's complicated"* по статусу отношений
# 1 – single
# 2 – in a relationship
# 3 – engaged
# 4 – married
# 5 – it's complicated
# 6 – actively searching
# 7 – in love
# удалить тип 2, 3, 4, 7
selected <- selected[!selected$relation %in% c(2,3,4,7),]
selected <- selected[is.na(selected$relation_partner),] # удалить тех, у кого есть тот, с кем сложно
selected <- selected[,!colnames(selected) == 'relation_partner'] # удалить колонку 'relation_partner'
# удаление неактивных пользователей
removeLast <- function(x) { substr(x, 1, nchar(x)-1) } # создать функциб для отрезания номера платформы от даты last_seen
selected$last_seen <- removeLast(selected$last_seen) # удалить номер платформы от last_seen
selected$last_seen <- as.numeric(selected$last_seen) # преобразовать last_seen UNIX-time в число
selected <- selected[difftime(Sys.time(), as.POSIXct(selected$last_seen, origin='1970-01-01'), units='d') < 10,] # удалить неактивных в течении 10 дней
# отсечение по возрасту
selected$bdate <- as.character(as.Date(selected[,'bdate'], format='%d.%m.%Y')) # преобразование содержимого поля в даты
subselected <- selected[!is.na(selected$bdate),] # разбить по определённой величине bdate
selected <- selected[is.na(selected$bdate),] # ...и неопределённой
subselected <- subselected[difftime(Sys.Date(), as.Date(subselected[,'bdate'], format='%Y-%m-%d'), units='d')/365 > 20,] # удалить моложе чем 20 лет если возраст не NA
subselected <- subselected[difftime(Sys.Date(), as.Date(subselected[,'bdate'], format='%Y-%m-%d'), units='d')/365 < 25,] # удалить старше чем 25 лет если возраст не NA
selected <- rbind(subselected, selected) # склеить обратно в целый датафрейм
# итого - 43
nrow(selected)
 
# получение стран из базы данных Vk
countries <- levels(as.factor(selected$country))
download.file(paste0('https://api.vk.com/method/database.getCountriesById.xml?country_ids=', paste(countries, collapse=',')), destfile='db/countries.txt', method='wget')
xmldata <- xmlParse('db/countries.txt')
countidb <- xmlToDataFrame(nodes = xmlChildren(xmlRoot(xmldata)))
# замещение индексных номеров стран на нормальные названия
for (country in levels(countidb$cid) ) {
  selected[selected$country == country, 'country'] <- rep(x=as.character(countidb[countidb$cid == country, 'name']), times=length(selected[selected$country == country, 'country']))
}
 
# получение городов из базы данных Vk
citydb <- data.frame()
cities <- levels(as.factor(selected$city))
for (k in 1:ceiling(length(cities)/500)) {
  tmp <- cities[(1 + (k-1) * 500):(k * 500)]
  download.file(paste0('https://api.vk.com/method/database.getCitiesById.xml?city_ids=', paste(tmp, collapse=',')), destfile=paste0('db/cities-', k, '-.txt'), method='wget')
  xmldata <- xmlParse(paste0('db/cities-', k, '-.txt'))
  tmp <- xmlToDataFrame(nodes = xmlChildren(xmlRoot(xmldata)))
  if (nrow(citydb) == 0) {
    citydb <- tmp
  } else {
    citydb <- rbind(citydb, tmp)
  }
}
# замена идентификаторов городов на нормальные названия
for (city in levels(citydb$cid) ) {
  selected[selected$city == city, 'city'] <- rep(x=as.character(citydb[citydb$cid == city, 'name']), times=length(selected[selected$city == city, 'city']))
}
 
# удалить символ "\n" из имён университетов и факультетов
selected$university_name <- gsub(pattern='\n', replacement='', selected$university_name, perl=T)
selected$faculty_name <- gsub(pattern='\n', replacement='', selected$faculty_name, perl=T)
 
### пакетная загрузка фотографий
# удалить тех, кто без фото
selected <- selected[!(selected$photo_max_orig == 'http://vk.com/images/camera_a.gif'),]
# последовательная загрузка фотографии типа 'photo_max_orig'
for (n in 1:nrow(selected)) {
    download.file(url=selected[n,'photo_max_orig'], destfile=paste0('~/INPUT/Photos/', selected[n,'uid'], '_', selected[n,'first_name'], '-', selected[n,'last_name'], '.jpg'), method='curl')
}
# вывод конечных результатов в табличный файл
write.table(file='HTS.tab', x=selected, sep='\t', row.names=F, col.names=T, quote=F)

Created by Pretty R at inside-R.org

Инструмент всё ещё в черновом состоянии, удобство не доработано и не все запланированные функции реализованы, но работоспособность полная. Важно то, что здесь почти нет отказа работать с разреженными данными - поскольку это реальные данные с кучей пропусков, неполноты и вранья, всегда присутствующими являются только два парамера: принадлежность пользователя к группе и последнее время активности, потому по остальным параметрам (кроме пола) фильтрация "либо нужное значение, либо NA". Также принцип отбора по интересам применим для поиска людей практически с любой целью, хотя степень автоматизации всё ещё невысока.

Закончено прослушивание курса Computational Neuroscience

Дисклеймер: замечание основано на личном опыте и выражает только субъективное мнение.


Закончен просмотр кура видеолекций Coursera Computational Neuroscience. Из-за большого количества математической статистики в непростых приложениях с подразумеваемыми навыками машинного обучения и ещё чёрти-чего этот курс - ещё тот вынос мозга. Польза от курса и вынесенный материал находятся под некоторым вопросом.

Отчёт на кафедре

Дисклеймер: презентация и текст кафедрального отчёта как аспиранта 2 г.о.


1) Глубокоуважаемые коллеги! Данная работа посвящена изучению функциональной роли модификаций рибосомной РНК организма Escherichia coli. [слайд-заголовок]
2) В рибосоме E. coli известно 36 модифицированных нуклеотидов - 11 в малой субчастице и 25 в большой, в большинстве это нуклеотиды, метилированные по азотистому основанию и содержащие в качестве азотистого основания псевдоуридин. На иллюстрации показаны красным цветом метилированные основания, синим - псевдоуридины, зелёным - модификации других типов. Важно расположение модифицированных нуклеотидов - они все расположены вблизи функциональных центров рибосомы. [картинка рибосомы]
3) В данной работе была поставлена цель выяснить функциональную значимость вышеупомянутых модификаций РНК и вообще то, как последовательность мРНК определяет способность к трансляции. Основными рабочими объектами являются нокауты штамма BW-25113 по генам, кодирующим ферменты, вносящие соответствующие модификации в РНК. Нокауты взяты из коллекции нокаутных штаммов Keio, в которой присутствуют практически все целевые штаммы. [таблица генов, вносимых модификаций и что есть в Keio]
4) Поскольку изменения в модификациях, следовательно, в структуре (и в функционировании) рибосомы непосредственно затрагивают аппарат биосинтеза белка - в качестве основного метода изучения была выбрана гель-протеомика: двумерный дифференциальный гель-электрофорез (2D-DIGE). Также для определения изменений в работе рибосомы на конкретных типах матриц и клеточных ответах используются наборы тестовых флуоресцентных репортёрных конструкций. Другими задачами являются поиск фенотипов с помощью измерений кривых роста в разных условиях и количественное измерение экспрессии мРНК генов соответствующих РНК модифицирующих ферментов. [слайд со списком задач и методов]
5) 2D-DIGE основан на последовательном разделении смеси белков (опыта и контроля, меченых красителями с возможностью независимой детекции) сначала по изоэлектрическим точкам в градиенте pH в акриламидной трубке, затем по массам, как в классическом денатурирующем электрофорезе, после выполняется сканирование флуоресценции, визуализация белковых пятен крашением и идентификация различающихся по флуоресценции пятен с помощью масс-спектрометрии. Технически в нашем случае опытом является нокаутный штамм, контролем - дикий тип BW-25113, оба дорощены до одинаковой клеточной плотности, для статистически достоверных оценок эффектов выполняется 3 реплики (1 с инвертированием красителей), крашение выполняется серебром, в качестве метода идентификации используется MALDI после трипсионолиза. [схема двумерки]
6) На данный момент методом 2D-DIGE проанализирована большая часть нокаутных по РНК метилазам штаммов, предварительно сформированы несколько паттернов изменений протеомы, представители из каждой группы приведены на слайде. Идентифицированные на данный момент белки (в большинстве метаболические) пока не позволяют строить предположения о причинах наблюдаемых эффектов. [несколько двумерок с разным паттернами изменений]
7) Флуоресцентные двухрепортёрные конструкции, ранее разработанные в нашей лаборатории, представляют собой плазмиды с двумя генами флуоресцентных белков (CER и RFP), где RFP под неуправляемым промотером и фиксированным 5'-UTRом используется как внутренный контроль, а для аналогичного блока CER заменён либо UTR, либо промотер, либо кодирующая область. Измерение наблюдаемого эффекта вычисляется как соотношение отношения флуоресценций CER к RFP конструкции для изучаемого штамма к соотношению флуоресценции контрольной конструкции (где промотеры и UTRы CER и RFP одинаковые), отклонение в эффекте определяется как отношение вышеописанного отношения к аналогичному отношению, применённому к дикому типу. [схема конструкции и схема расчёта эффектов]
8) Сформирован набор тестовых конструкций на проверку изменений инициирующей способности: разные варианты последовательности Шайна-Дальгарно, серия конструкций на реинициацию и с богатой вторичной структурой в 5'-UTR. В тестовые конструкции включена серия природных UTRов для детекции эффектов специфической регуляции трансляции, природных промотеров для детекции специфических транскрипционных регуляторных сигналов и ряд конструкций с фрагментом кодирующей области из других генов для детектирования отклонения эффектов от кодирующей области. [список типов конструкций]
9) Технически методика полуавтоматизированной трансформации и высевания с измерением флуоресценции ещё в стадии доработки, поскольку ранний вариант дал не надёжные результаты, но принцип состит в следующем: компетентные клетки нокаутного штамма трансформируются набором плазмид в плашечном формате, после фенотипической эксперссии клетки переносятся на агар, после получения колоний выполняется инокуляция малого объёма среды с 4 репликами, после инкубации выполняется плашечное измерение флуоресценции. [схема методики]
10) В нашей лаборатории в рамках других проектов нами были отработаны способы получения флуоресцентных конструкций с рандомизированными и мутированными элементами - 5'-UTR и кодирующей областью. Такие библиотеки служат мощным источником как новых тестовых конструкций для определения роли модификаций рРНК в трансляции, так и данных по трансляционным способностям - что даёт возможность строить предикативную модель силы инициации трансляции. На слайде приведены созданные на данный момент библиотеки [слайд со схемами конструкций].
11) Клетки после трансформации библиотекой таких плазмид инкубировались и подвергались клеточной сортировке на 6-8 фракций по разным соотношениям интенсивностей CER к RFP, после чего выполнялась амлификация рандомизированного участка плазмиды и ампликоны отправлялись на полупроводниковое секвенирование [схема нашего упрощенного FlowSeq с картинкой с сортера].
12) Из данных глубокого секвенирования мы с помощью собственных алгоритмических инструментов получали информацию о частоте встречаемости каждого обнаруженного варианта рандомизированного фрагмента в каждой фракции, из которой в приближении о гауссовом распределении по фракциям можно вычислять относительное, в рамках одного эксперимента, значение трансляционной способности для каждого варианта [схема с ходом обработки ридов и вычисления InAb].
13) Статистика результатов обработки данных приведена на слайде. Примечательно что нам удалось полностью охватить все возможные варианты в случае рандомизации 4 нуклеотидов [таблица-саммари с числами о ридах и вариантах каждой фракции].
14) Поскольку на данный момент нет готового инструментария подробного анализа таких наборов данных, ведётся активная его разработка. Общие оценки эффектов согласуются с классическими представлениями об факторах, определяющих инициацию трансляции. Примечательно что удалось обнаружить случаи высокоэффективной инициации трансляции для UTR, не содержащих Шайна-Дальгарно [слайд со статистическими корреляциями эффектов на InAb].
15) Таким образом, используя в данной работе подходы "сверху вниз" - от белков к РНК, в случае гель-протеомики и "снизу вверх" - от РНК к белкам, в случае репортёрных конструкций, мы выясняем функциональную роль модификаций рибосомной РНК и строим предсказательную модель для инициации трансляции [слайд-картинка с вышеназванным].
16) На данный момент по теме работы опубликована одна статья, две другие работы за пределами этого проекта ещё находятся в печати [заголовок статьи в NAR, будущие 2 мелкие статьи не по теме серым].
17) Проект предикативной модели для 5'-UTR был представлен на 1 международной и 1 российской конференции.
18) Также выполнена 1 курсовая, 2 за этот год в работе, ещё 1 за следующий и также в процессе 1 дипломная работа. Спасибо за внимание, какие вопросы? [список курсовых]

Этическая проблема сохранения

Дисклеймер: содержание данного текста не выходит за рамки личного мнения.

В пограничных кругах сторонников крионики (и других, более редких методов) совсем не редка ситуация сопротивления, неприятия сохранения со стороны их родственников: когда близкий криониста отказывается от сохранения, по множеству причин (в основной массе состоящих из "стандартных" аргументов против крионики и идеологическом непринятии борьбы со смертью). Это иногда называют проблемой сопротивляющихся родственников - грубо говоря, в ней и состоит этическая дилемма: с одной стороны умирающего родственника нужно спасать, с другой нарушается его воля и желание; с одной стороны он плохой крионист, раз не убедил близкого, а с другой близкий человек сам сделал свой выбор.
Конечно, реальная ситуация включает в себя и экономическую составляющую: крионические организации экономически заинтересованы в криоконтрактах, крионирующие заинтересованы в крионировании, хотя и не заинтересованы в криоконтракте (из-за малого масштаба крионической технической базы удельная стоимость крионирования, точнее - хранения, весьма высока), но на это согласие или несогласие крионируемого тут почти ничего не меняет, т.к. крионирование в обход сопротивления сложнее больше организационно, чем финансово.
Следует рассмотреть этическую проблему подробнее:
Близкий хочет уйти, крионист хочет не дать ему уйти;
Аргумент близкого: "я был ознакомлен со всем, что ты описал - иммортализм, ТГ, крио- и т.д. я не хочу/я вам не верю/я сделал свой выбор/это всё не сработает/будет война/всё пропадёт, оставьте меня".
Контраргумент состоит только в том, что близкий явно не воспринял, что нет никаких внятных обоснований того, что лучше умирать.
Аргумент близкого: "...я вижу... я сделал свой выбор, оставьте меня, <любой аргумент о ненадобности продолжения жизни>!"
Контраргумент состоит в том, что сопротивление и аргументы о пресыщении происходят от угасания личности по причине старения мозга.
Дальнейшие барьеры для понимания ещё более сложны для обхода в стареющем мозге, вспоминается Хейвортс со словами "они умерли не от инфаркта и инсульта, они были убиты собственными предрассудками и суеверями".
Так что-же? Человек активно сопротивляется, даже будучи поставленным перед всеми фактами - "да, я всё это вижу, просто оставьте меня с моими предрассудками и всё." И понятно что для очень многих цена криосохранения является неприемлемой, особенно для людей с доходом 8000р/мес, участвующих в содержании семьи, экономящих на спичках и горячей воде. Такие люди готовы пожертвовать собой ради того, чтобы на них просто столько не спускали, даже будучи ещё во вполне трезвом уме.
Так, всё-таки, что-же? Почему не правильно "пусть все, кто хочет жить - будут жить, а кто не хочет жить - не будет жить, каждый получит то, что хочет и все будут счастливы"? А насколько правильно осчастливливать насильно (не переходя к "крысе с электродом") ? Почему нужно сопротивляться обоснованному конечному отказу, особенно когда все участники понимают о его экономической стороне?
добавлю о себя здесь ещё только то, что если уж экономить - то по-крупному, даже на обрядовой части. Но вы увеличиваете число и сложность моих задач.

Переходим к Machine Learning и Text Mining

Дисклемер: это лишь исполнение начальных рекомендаций от IT-сообщества по началу освоения практических методов Machine Learning (необходимых для решения задачи по системной биологии) и Text Mining (нужных для работы с научной литературой и ЦБ).

Самое первое, конечно-же, Coursera, базовая литература "An Introduction to Information Retrieval" от Christopher D. Manning, Prabhakar Raghavan и Hinrich Schütze, также для дублирования один из переводов "Введение в информационный поиск" 11г. Из практики система Octave и R с пакетами RTextTools и tm.

fMOST - презентация и доклад



1) Получение полной карты нервных клеток и их связей друг между другом в мозге млекопитающих является одной из самых важных целей для современных нейронаук. Я расскажу о высокопроизводительном оптико-микроскопическом методе определения структуры нервной ткани, названным фМОСТ на примере применения его к мозгу мыши. С помощью фМОСТ команде китайских нейробиологов удалось считать структуру целого мозга мыши с разрешением порядка микрометра, что позволяет различить отдельные нейроны и их связи с другими нейронами, и также показали возможность трассировки отдельных синапсов в масштабе всего мозга.
2) Данный доклад основнан на серии статей, посвящённой разработке метода МОСТ, отработке метода для объектов, экспрессирующих флуоресцентные белки и собственно применению метода фМОСТ.
3) Разработка метода МОСТ: они сконструировали систему из микротома, сервоприводов для перемещения образца, светлопольного оптического микроскопа и оптического детектора.
4) Микротом с алмазным ножом под слоем жидкости делал 1-микронные срезы образца шириной 450 мкм, система перемещения образца обеспечивала движение в 3 измерениях на получения ленточных срезов, считывание изображения выполнялось на лезвии ножа с помощью линейки ПЗС (это было выбрано для увеличения стабильности системы ради стабильности автоматического сканирования).
5) Мозг мыши предварительно прошёл пробоподготовку, заключавшуюся в крашении по Гольджи-Коксу (классический метод крашения тканей для нейробиологических исследований), которое представляет собой выдерживании в растворе растворимых хроматов и сулемы. Приблизительный результат представлен на слайде.
6) Затем была выполнена дегитратация с помощью градиента спирта и ацетона, после чего мозг был пропитан и заполимеризован в материале типа эпоксидной смолы. Заполимеризованный образец изображён на слайде.
7) Ход процесса показан в данном видео.
8) Следующей стадией являлась коррекция получаемых изображений: подавление периодического шума из-за типа лампы, нормализация интенсивности из-за неоднородностей освещения и регулярная калибровка по лезвию ножа. На слайде представлены первые 2 шага.
9) <зачитать статистику>
10) Пример виртуального среза в псевдоцвете
11) Пример ручной трассировки нескольких нейронов
12) fMOST - модификация метода MOST: авторы отказались от очень длительной процедуры крашения всего мозга, также и от последовательного крашения каждого среза в пользу мощного способа селективного мечения клеток с помощью флуоресцентных белков методами генетической инженерии. Им пришлось решать проблемы отсутствия методик фиксации массивных флуоресцентно-меченых образцов и потери интенсивнотсти при фиксации в полимере. Были выбраны мыши, экспрессирующие eYFP-H под контролем промотора Thy-1, считается нейрон-специфичным.
13) Были выбраны 4 широко используемых для микроскопии полимера: на основе гидроксиметилметакрилата, гидроксипропилметакрилата, гидрокси-бисфенол-метакрилата и метакрилата. Целью было уменьшить падение флуоресценции после полимеризации и ускорить пропитку мозга.
14) Измерение падения флуоресценции измерялось на флуоресцентном микроскопе для фиксированного тонкого среза, было показано что в флуоресценция снижается в 2-3 раза, но для HPMA возрастает и это коррелировало с pH. Полноту пропитки оценивали по отсутствию незафиксированных областей в целых мозгах с помощью MOST, все полимеры, кроме HPMA, пропитывали ткани за 2-3 дня. Оптимальным материалом был признан GMA.
15) Дальнейшая оптимизация GMA состояла в понижении температуры полимеризации на 5 градусов, удаление ингибитора полимеризации (работает как тушитель) и защелачивание. На слайде приведено сравнение флуоресцентных изображений группы нейронов до фиксации, после и их наложение - что демонстриует высокую сходимость интенсивностей и пространственного расположения.
16) fMOST – применение метода: они модифицировали микроскоп, добавив лазерную подсветку и переведя его в режим лазерного сканирующего (по оси Y) микроскопа, установив акустико-оптический дефлектор. Также был заменён оптический детектор. Программная часть была немного скорректирована для лучшей работы с другой технологией съёма изображения.
17) Были выбраны объекты <зачитать>, параметры процедуры для GFP и 14дневного YFP: ширина среза 300 мкм, конечный размер вокселя <зачитать>, для YFP 150 мкм, воксель <зачитать>. Общее время сканирования для взрослой YFP 450 часов. Для трассировки аксонов был выбран мозг мыши 14 дн. После рождения.
18) Пример реконструированных срезов для взрослых GFP и YFP показан на слайде.
19) Для трассировки аксонов необходима аннотация структур мозга, поскольку аннотации для 14 дневных мышей нет, они пересчитали аннотацию с помощью комбинирования данных атласа FPMA, MRI 14 дневной, MRI взрослой и собственно данных fMOST. Трассировка выполнялась полуавтоматически, пример для нескольких нейронов приведён на изображении.
20) Всего они отследили 40 нейронов в мозге 14 дневной, на изображении они выделены цветом, масштаб 1мм, показаны контуры областей мозга на основе пересчитанной аннотации.

МОСТ - Микро-Оптическая Секционная Томография

Дисклеймер: этот пост является очень сжатым обзором для кафедрального Journal Club серии статей китайского коллектива нейробиологов.

Micro-Optical Sectioning Tomography to Obtain a High-Resolution Atlas of the Mouse Brain

Абстракт:
The neuroanatomical architecture is considered to be the basis for understanding brain function and dysfunction. However, existing imaging tools have limitations for brainwide mapping of neural circuits at a mesoscale level. We developed a micro-optical sectioning tomography (MOST) system that can provide micrometer-scale tomography of a centimeter-sized whole mouse brain. Using MOST, we obtained a three-dimensional structural data set of a Golgi-stained whole mouse brain at the neurite level. The morphology and spatial locations of neurons and traces of neurites could be clearly distinguished.

Цитата из начала статьи:
One of the most important aims in neuroscience is to obtain an interconnection diagram of the whole brain. In mammals, individual neurons are considered the basic units of the brain, but the complex functions of the brain depend more on the fine anatomical architecture of a very large number of neurons and their connections. Although modern neuroscience has made great progress in brain studies at both the system and cellular levels, our empirical knowledge of neuroanatomical connectivity remains inadequate, limiting the progress of brain studies. Thus, it is necessary to gain new insights into the morphology, localization, and interconnectivity of neural circuits throughout the whole brain at an appropriate resolution. Individual synapses are the finest functional element in circuits, but it is currently not technologically feasible to study the brainwide connectivity of complex vertebrate organisms (e.g., mice) at the synaptic level. In contrast, mesoscale techniques are currently more feasible and applicable for understanding specific neural functions.

Background (не по статье):
Оптические методы являются пороговыми по разрешающей способности для определения структуры нервной ткани - различения отдельных нейронов и связей между ними, хотя высокая производительность для микроскопических методов технически сложна, поскольку "поле зрения" исчисляется микрометрами. Значительно более высокопроизводительные методы нейроимаджинга (MRI и CT), способные за минуты считать структуру всего мозга, обладают значительно меньшим разрешением, не способным ещё различать даже отдельные клетки. Значительно более высокоразрешающая электронная микроскопия, способная в деталях показать структуру органоидов клеток, обладает существенно меньшей производительностью (уменьшенное "поле зрения" по сравнению с оптикой), а техническая специфика пробоподготовки, поддержания электронного микроскопа и его стоимости ещё больше осложняет высокопроизводительное электронно-микроскопическое считывание структуры. Повышение производительности (требуется модификация методики проведения процессов и распараллеливание) проще повышения разрешающей способности (требуется собственно модификация технологии), а производительность оптических микроскопических методов выше, чем электронных - потому была выбрана именно оптическая микроскопия.

По сути:
Оптика способна хорошо работать только с тонкими образцами, гистологические срезы используются уже очень давно, много работ уже было сделано по автоматизации секционной микроскопии. В работе был разработан автоматизированный процесс микро-оптической секционной томографии крашенного и зафиксированного в полимере мозга. Мозг был предварительно окрашен по методу Golgi-Cox (прокрас хроматом ртути - очень длительный протокол), обезвожен и зафиксирован в Spurr resin. Блок полимера с зафиксированным мозгом нарезался на тонкие (1 мкм) узкие (450 мкм) ленты микротомом, ленты на ноже микротома немедленно "считывались" с помощью светлопольного микроскопа с линейным датчиком. Процессинг изображения включал в себя удаление периодического шума, регулярную рекалибровку, нормализацию интенсивности и последующую реконструкцию из срезов. Суммарно процесс занял ~250 часов работы МОСТ-машины, объём сырых данных оценивался в 8 терабайт и результирующий размер вокселя составил 0,33 x 0,33 x 1.0 мкм. Метод считался применимым и для флуоресцентной микроскопии. Далее картинка в псевдоцвете:
MouseBrain-scan

Modified Golgi-Cox method for micrometer scale sectioning of the whole mouse brain

Абстракт:
One of the major challenges of connectomics is obtaining a physical map of the neurons that comprise a circuit and the sites within the whole mouse brain. However, there is no report that addresses the preparation of whole mouse brain tissue for microsectioning. In this paper, such tissue is prepared by a modified Golgi-Cox method in which the staining time is prolonged to half a year, the darkening solution is changed to 1% LiOH, and the brain is embedded in resin. Projections of several coronal sections are reconstructed by serial 1-um sectioning and simultaneous imaging of the specimen. This approach ensures that the stained neurons are present throughout the whole mouse brain from superficial to deep layers and that the neuronal soma and traces of the processes can be distinguished in local magnification.

По сути:
Далее они отработали методику крашения и фиксации для увеличения качества считывания. Это было необходимо, поскольку метод крашения по Golgi-Cox вообще нормально не использовался ранее для массивных образцов (только срезы), к тому-же он имеет ограничения. Изменив стадии фиксации, крашения, осушения и встраивания в полимер они существенно улучшили метод, сделав адаптированную для MOST его версию.

Continuously tracing brain-wide long-distance axonal projections in mice at a one-micron voxel resolution

Абстракт:
Revealing neural circuit mechanisms is critical for understanding brain functions. Significant progress in dissecting neural connections has been made using optical imaging with fluorescence labels, especially in dissecting local connections. However, acquiring and tracing brain-wide, long-distance neural circuits at the neurite level remains a substantial challenge. Here, we describe a whole-brain approach to systematically obtaining continuous neuronal pathways in a fluorescent protein transgenic mouse at a one-micron voxel resolution. This goal is achieved by combining a novel resin-embedding method for maintaining fluorescence, an automated fluorescence micro-optical sectioning tomography system for long-term stable imaging, and a digital reconstruction-registration-annotation pipeline for tracing the axonal pathways in the mouse brain. With the unprecedented ability to image a whole mouse brain at a one-micron voxel resolution, the long-distance pathways were traced minutely and without interruption for the first time. With advancing labeling techniques, our method is believed to open an avenue to exploring both local and long-distance neural circuits that are related to brain functions and brain diseases down to the neurite level.

По сути:
Флуоресцентная микроскопия может дать большее разрешение по сравнению с классической микроскопией на основе рассеяния направленного света, на этом созданы мощные микроскопические методы для изучения биологических объектов, в которых изучаемые компоненты связаны с флуоресцентными белками (получается с помощью методов генетической инженерии). Это даёт бОльшую разрешающую способность, меньший шум и селективную "подсветку". Именно такое для трассировки нейронов в целом мозгу лучше, чем используемые ранее методы химического крашения по Гольджи. Для создания нового метода fMOST - fluorescence micro-optical sectioning tomography (фМОСТ - флуоресцентная микрооптическая секционная томография) они использовали конфокальный флуоресцентный микроскоп с оптико-акустическим дефлектором и детектором на фотоумножителях, получая многоцекционное сканирование в пределах одного среза. Мозги мышей с YFP и GFP фиксировали в полимере по оптимизированному для флуоресцентных белков протоколу, подвергали описанному ранее секционному сканированию (но с другим микроскопом), пре-процессинг, нормализация и сбора выполнялись по сходным с MOST алгоритмам. Для трассировки нейронов использовался набор данных на MRI и FPMA (Franklin and Paxinos Mouse Atlas). Картинка трассировки:
MouseBrain-FluorScan

Automated and Accurate Detection of Soma Location and Surface Morphology in Large-Scale 3D Neuron Images

Абстракт:
Automated and accurate localization and morphometry of somas in 3D neuron images is essential for quantitative studies of neural networks in the brain. However, previous methods are limited in obtaining the location and surface morphology of somas with variable size and uneven staining in large-scale 3D neuron images. In this work, we proposed a method for automated soma locating in large-scale 3D neuron images that contain relatively sparse soma distributions. This method involves three steps: (i) deblocking the image with overlap between adjacent sub-stacks; (ii) locating the somas in each small sub-stack using multi-scale morphological close and adaptive thresholds; and (iii) fusion of the repeatedly located somas in all sub-stacks. We also describe a new method for the accurate detection of the surface morphology of somas containing hollowness; this was achieved by improving the classical Rayburst Sampling with a new gradient-based criteria. Three 3D neuron image stacks of different sizes were used to quantitatively validate our methods. For the soma localization algorithm, the average recall and precision were greater than 93% and 96%, respectively. For the soma surface detection algorithm, the overlap of the volumes created by automatic detection of soma surfaces and manually segmenting soma volumes was more than 84% for 89% of all correctly detected somas. Our method for locating somas can reveal the soma distributions in large-scale neural networks more efficiently. The method for soma surface detection will serve as a valuable tool for systematic studies of neuron types based on neuron structure.

По сути:
В исследованиях структур больших объектов неизбежно всплывает задача автоматизации определения элементов структуры, в данном случае был разработан способ компьютерного распознавания тел нейронов в данных MOST. Технически конвейер детекции тел нейронов на изображениях сложен, он базируется на размывании, усилении контраста и сравнении результатов в суб-блоках, не имеет особого смысла излагать технические детали. Картинка результата процесса:
MouseBrain-SomasDetect

Development of a Plastic Embedding Method for Large-Volume and Fluorescent-Protein-Expressing Tissues

Абстракт:
Fluorescent proteins serve as important biomarkers for visualizing both subcellular organelles in living cells and structural and functional details in large-volume tissues or organs. However, current techniques for plastic embedding are limited in their ability to preserve fluorescence while remaining suitable for micro-optical sectioning tomography of large-volume samples. In this study, we quantitatively evaluated the fluorescence preservation and penetration time of several commonly used resins in a Thy1-eYFP-H transgenic whole mouse brain, including glycol methacrylate (GMA), LR White, hydroxypropyl methacrylate (HPMA) and Unicryl. We found that HMPA embedding doubled the eYFP fluorescence intensity but required long durations of incubation for whole brain penetration. GMA, Unicryl and LR White each penetrated the brain rapidly but also led to variable quenching of eYFP fluorescence. Among the fast-penetrating resins, GMA preserved fluorescence better than LR White and Unicryl. We found that we could optimize the GMA formulation by reducing the polymerization temperature, removing 4-methoxyphenol and adjusting the pH of the resin solution to be alkaline. By optimizing the GMA formulation, we increased percentage of eYFP fluorescence preservation in GMA-embedded brains nearly two-fold. These results suggest that modified GMA is suitable for embedding large-volume tissues such as whole mouse brain and provide a novel approach for visualizing brain-wide networks.

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